SoftwarePractice.org: Home | Courseware | Wiki | Archive

Team 10: Cybertone System

From SoftwarePractice.org

Contents

Group Members


Mohammad Laalaa02058966
Kamal Mikhail00057253
Jeremy Zhou10045932

System overview

“Cybertone Systems” is set to become the market leader in “ubiquitous targeted advertising”. This system cadenamed “market IQ” will use the internally developed “Universal Targeted eXperience” (UTX) to deliver personalized targeted messages to users within the “market IQ” environment. These messages will be in audio and video form with a possible future expansion into holgramatic, tactile, and scent based delivery.

In its current form, users of “market IQ” will carry a credit card sized wireless device that will identify them to the scanners and the “market IQ” system. The system will then output to the user messages in both audio and video form based on their profile, location, time and nature of the message.


Stakeholders needs and expectations

Internal Stakeholders (Cybertone Affiliates)

Bill Menot, Cybertone CEO

Bill and the rest of the Cybertone management team are quite excited about this project, they have invested much time and resources to make sure the technology is solid and that legal issues are ironed out prior to project commencement. They see this system as their sling-shot to the market leader position in the targeted advertising market.

Bill is in his hate 50s and looking towards retirement. He has been driving the shift in focus for cybertone systems which has seen it make the investment in UTX. Bill has incentives and bonuses tied up in making sure this project is a success for the company.

Jane baisell, Cybertone Shareholder

Like all Cybertone shareholders, Jane has been informed of this venture and has been made aware of progress with regards to legal and technological factors. She is confident of these aspects but is sceptical of the promises made regarding architecture and implementation. She knows that should this project succeed then she is guaranteed very positive share value growth and bigger dividends on her investment but is weary of the possibility that technical complexities and implementation difficulties could eventually amount to a net loss if not done right the first time.

Con Currency, CyberTone's Chief Technical Officer

Con and his project teams are excited to be involved in this technological breakthrough, they have been working hard to perfect the core algorithm and now have the challenge of architecture and development ahead of them. They are loyal to the company and believe in the potential gains that this technology will provide to the company as well as to them in terms of experience and remunerated bonuses as well.

Con has personally given his assurances to Bill regarding the smooth running and on-time delivery of this project, he has for a while been building a good working relationship with Bill and sees this project as his chance to prove to bill that he is ready to move into a general manager or director's role.

Mary Sella, director of WatchThisSpace Advertising Agency

Many advertising agencies have expressed interest in adopting Cybertone Systems' technology and Mary has been the most enthusiastic of them all. She has built her advertising empire on the idea of differentiation and sees this as an opportunity to provide more exposure to her advertising clients and hence gain an advantageous edge over other more conventional means of advertising. This advantage can then be used to attract more advertisers to advertise with them.

Phil Smith, Marketing manager of “Goods R Us” Department stores

Phil has been loosely monitoring the progress of this technology via media reports and word of mouth, he is excited about the opportunity to target his company’s advertising at the people more likely to shop at “Goods R Us” and hence generate a return on their advertising investment, however he is also weary of potential consumer backlash against “Goods R Us” and their products for being associated with such a technology if it is seen an being too invasive or if it is not implemented correctly.

External Stakeholders (Non-Affiliated groups)

Joe Blo, Subscriber

Joe is always keen on trying out the latest technologies, he is not too fussed about privacy and can see the potential convenience that this technology can add to his shopping habits. Market studies have shown that subscribers like Joe are at this stage split into three groups:
1. Those who are interested in the technology and are willing to try it to their benefit.
2. Those who are neither interested or disinterested in the technology.
3. Those who oppose the implementation of such a technology.

Fortunately, studies have shown that the first two groups make up over 80% of the consumer market with the first group making up 20% on their own.

LeaveUSAlone, Privacy Advocacy Group

Citing a study conducted by George Roussos of the University of London in 2003 to judge people's reactions to a supermarket run entirely with RFID tags, “LeaveUSAlone” privacy advocacy group are sending strong warnings to all stakeholders about potential negative implications for all involved. They see any automated persona identification as an invasion to privacy and when combined with historical data mining they regard this as a form of spying. Such groups do not acknowledge that this system is based on an opt-in process whereby subscribers data are only stored if they opt-in to the technology and subscribe to it.

Department of Fair Advertising - Media Regulation Watchdog

Based on lobbying by various Privacy Advocacy Groups as well as some members of the media and local civil libertarians, the department of fair advertising has conveyed to Cybertone Systems its concerns regarding the ethical, moral and privacy implications of ”market IQ”. The department has given Cybertone Systems the go-ahead to proceed with the creation of the system based on the intial response provided by Cybertone on the limitations and security of the system and the opt-in model.

Usage Narratives


Customers


Narrative 1 - John

John is an avid computer gamer who spends hours playing games online after work. He is a firm believer in having the latest and best input peripherals to achieve higher scores in games and therefore makes regular investments in keyboards and mice. John walks into the shopping centre for a new keyboard and mouse, he sees new products from both Microsoft and Logitech, with similar specifications and he doesn’t know which one is the better choice. The advertising screens changes to display the product reviews from respected gaming websites with ratings. John is relieved to have received the information and makes a decision to purchase.

Narrative 2 - Sam

Sam is an office clerk who works hard and likes to help people. He enjoys shopping and likes to try out new things. Sam walks into the shopping mall and sees a new style of pants has just arrived. He examines the pants and decides to buy one, only to be advised from the advertising screen that there is no size to fit his above average body size and was recommended for some weight loss pills. He was offended and embarrassed and promptly leaves the shop.

Narrative 3 - Patricia

Patricia is an English teacher who teaches at a primary school. She enjoys shopping with her husband and kids in the weekends. Patricia follows her kids into a toy store in the shopping centre. The kids became restless and run around wild upon seeing mountains of toys; Patricia has trouble keeping up with them. After leaving the store Patricia discovers that she has lost her mobile phone, but she is clueless about how it might have been lost. Patricia reports the incident to the shopping mall management, who contacts the police for fetching data recordings of her in the shopping mall and finds that she has lost her phone in the toy store. Patricia goes back to the toy store and recovers her mobile phone 2 weeks later.


Operators - Rob

Rob is the system operator at the shopping centre for 5 years. He loves to have control over things and gets immense satisfaction out of controlling things that help other people. Rob comes into work and finds several targeted ads are expired because the goods are no longer been produced or been replaced by newer ones. He immediately deletes the expired ads off the system and notifies clients. He receives new ads content from clients shortly after and adds them to the system.

Technicians - George

George is a seasoned system engineer who is responsible for maintenance of the UTX system. When the maintenance day is due he comes into the server room, issues his login details to gain administrative privilege on the system, and puts the system in sleep mode. The advertising screens display a fixed ad like a poster on a wall. George performs his maintenance and switches the system back up. Advertising screens return to targeted commercials.

Key Contextual Factors

Technology

The strength of CyberTone Systems is in its algorithm which adapts image display and audio in response to physical movement information. The algorithm is developed with a pedigree of research and has become an enabler in the system’s architecture. However, the algorithm is dependent on sensors which send physical movement data to it in order to be functional. Presumably the sensors involve video cameras in order to record physical movement information, so it is questionable whether the algorithm can produce accurate results based on the sensor input. The algorithm is only as good as what the sensors can record and the sensors are a technical constraint to the architecture.

A centralized identity bank is involved to identify users. The identity bank puts the system at risk due to the amount of sensitive data it stores online. A technical challenge exists to fully secure the identity bank against any unlawful attempts to compromise it.

The system does not include an interface to receive input from its most targeted users other than sensing their physical movement. This technical constraint may cause the whole system to become obsolete quickly because the system cannot learn what users really want. The one way communication of the system takes away control from its most intended users and forces them to be reactive.

Ethical

The operations of CyberTone Systems might raise concerns over privacy. Many would feel uncomfortable that they are been “watched” and identified, their private information exposed through advertising. It is a large risk to adopt this technology without seeking the general public’s opinion. CyberTone Systems thinks that people will eventually opt in; it would be ethical to let users opt out easily when they want to.

Business

New technology in advertising such as digital signage is gaining momentum, LCD screens playing commercials are been installed into shops and shopping centres. They are enablers if CyberTone Systems seize the opportunity to leverage the use of display screens for video/audio feedback for users. It can also be argued that the display screens are posing risks to the system. If CyberTone Systems cannot make deals to use the display screens the architecture would face large changes to the way it interfaces with users.

Companies that produce the same type of product may battle to prioritise the display of their ads by paying more for advertising than its competitors. Large and powerful companies may therefore dominate the use of the system. This would reduce the effectiveness of targeted advertising and poses a risk to damage CyberTone Systems’ public image and reputation.



Quality Narratives

Usability

Patricia Walks into a shoe store to see the latest products. The system greets her upon her entering the store and offers help. Patricia says no to the system because she does not need any help yet.

Patricia decides on a pair of shoes she wants to buy but she’s thinking whether to buy it now or later when she gets paid. The system starts to display ads of different shoes which Patricia ignores because they are now irrelevant (system fails to determine what Patricia wants). Patricia became annoyed at the ads and decides to come back later.

Users must be able to use the system effectively. As a result, all users will have a chance to provide feedback on their satisfaction with the usuability of the system which must be atleast 75%.

Performance

On a typical shopping day Patricia goes into the shopping centre for some food. She asks the system for special offerings from stores but the system does not respond at first. Patricia thinks the system is broken and walks away.

The system must be able to respond to customer's first request atleast 90% of the time.


Reliability

The system must be operational during atleast 95% of "use hours" which are opening hours for the location of use. Scheduled maintenance is allowed but only given atleast a 1 week notice.

Accuracy

Mistakes in recognition of customers can have an adverse negative effect on the reputation of the client as well as raising privacy concerns with customer's information. The system must have an accuracy of altleast 98% when recognising cutsomers walking through the sensor field.


Secuirty and privacy

Customer's privacy is very important to cybertone systems. the wireless devices that interact with the CyberTone system must be encrypted in such a way that they cannot be read by other 3rd party sensors or be able to be replicated by any copying device. Also, the data warehouses that hold customer's information must be secured with firewalls to prevent unauthorised access to customer's data.

Initial Conceptual Architecture

Image:Initial_Concenptual_architecture.jpg

Elaborated Conceptual Architecture

Elaborated Conceptual Architecture without use cases

Image:Elaborated Conceptial Architecture V3.0.png

Elaborated Conceptual Architecture With Use Cases

Image:Elaborated_Conceptial_Architecture_Showing_use_cases_V3.0.png

Execution Architecture

Key Runtime Events

General System

1. Customer detection – Via sensor
2. Calculation of Algorithm – “What”, “Where” (of customer)
3. Detect customer identity number – Via wireless device
4. Query user personal information/ Query Advertisements suiting customer
5. Advertisement submission and approval
6. User reviews and updates personal details
7. Advert is displayed to customer

Concurrency

Multiple Instances Every component in the concurrency view has been drawn to indicate that it is possible to have multiple instances running simultaneously. This has been justified by the deployment view that has been provided. However, the main reason for this design is that the system will be deployed into multiple server and client nodes. Thus, at any given time during system execution there will exist multiple instances of the same concurrent component.
Physical Movement Analyser The physical movement analyser is stereotyped as an active component for the reason that once the analyser starts analysing the subscriber’s movements it continually does so until the subscriber is out of range.


Image:Conculaalaa.jpg

Component Description


Physical Movement Analyser

Continually monitors and quantifies the physical information for all identified subscribers in the targeted zone. Determines information by distinctions into where the person is, what the person is doing, where the person is looking and what gestures they are making. Calls Subscriber Expressions Analyser for further determination.

1. Active

 

2. Real Time

Identify Subscriber

Identifies a subscriber by comparing the identity device information to that located in the secure centralised identity database.

1. Service

2. Real Time

Subscriber Expression Analyser

Draws conclusions into the physical and emotional state from the combined physical movement information. Passes this information to the Response Algorithm. Records the subscriber reaction (physical information) to the response and stores this in the Central Identity database

1. Service

2. Real Time

Audio/Visual Display

Controls the hardware devices responsible for Visual and 3D audio experience. It accesses the Advertising database and signals the subscriber expression analyser to flag the recording of a subscriber reaction to a response.

1. Real Time

Gather Subscriber Information

Gathers relevant information about an identified subscriber from a number of sources. Passes this information to the Response Algorithm.

1. Service

2. Real Time

Response Algorithm

Chooses the best response for a subscriber using the criteria in Central Identity database

1. Service

2. Real Time

Subscriber

Interface

Allows the subscriber to register for service, personalise response choice and upload personalised responses (such as calendar).

1. User Initiated

Client

Interface

Allows the client to view statistics on the success of their paid responses. Create a new Advertising Application, Upload Advertising Content Attachments (Audio, Video, Text), Submit Application for Admin Review

1. User Initiated

Maintenance

Interface

Configure users of system(Add/Remove)

Sleep System, Wake System

1. User Initiated

Admin

Interface

Allows Admin Officer to

Review Advertising Application
Approve/Refuse Advertising Application, Add/Remove Content and Monitor Advertisments (i.e number of hits)

1. User Initiated

 

Deployment

Software deployment is a complex endeavor. A system such as Market IQ, in its complex nature will be executed using seperate computer systems networked together.

It was decided to deploy the Universal Targeted eXperience over four (4) main physical nodes. Justification for each node is detailed below.


Site Node
It was decided that each client site would have its own physical hardware (fat clients). This is required due to the infeasibility of a central server responding to each client’s real-time requirements. In order to meet these real-time requirements, the site node will gather the sensor information and analyse it to produce the subscriber’s identity and responses. Furthermore, it will be responsible for displaying both the Audio and Visual display elements of the response to the subscriber. This design eliminates some of the load on the central node/server allowing for a cheaper implementation and safer operating levels catering for growth in customer base and extending the services of the system as requested by CyberTone.
Central Node
The central node’s main role is to analyse the information provided by the site nodes (and external databases) by Gathering the subscriber information. All the information gets fed into the Response Algorithm and the appropriate response is outputted back to the subscriber via the site node. The reason for keeping these responsibilities centralised is because the response algorithm will take a large amount of processing power and the node will be required to handle multiple response calculations simultaneously. This cannot be done at the site node, because this may cause delays in sensor readings and movement detection thus not having the real-time response the system requires. Furthermore, the response algorithm is provided by CyberTone. This is maintained by CyberTone at all times. It will require changes to be made as the algorithm is optimised, as well as services added. Hence, it is easier to maintain if it resides on a set amount of central location rather than redistributing client software every time.
Application Server
The application server will hold the interfaces to the system. These include the Subscriber, Admin/Maintenance and Client interfaces. The Subscriber and Client interfaces require access to the external Internet. Thus, it was required that an Application Server host the interfaces, securing the rest of the system from external security risks by being the only point of entrance from the Internet.

The Customer, Client and Admin/maintenance interfaces have been separated as each user will have different needs from the system and thus should have separate more personalised interfaces to make their interaction easier and more enjoyable. The Admin/maintenance interface is a direct interface to the system


Data Server
It was decided that the databases should all reside on a separate server. The server will be dedicated to data storage and retrieval. The main reason for this is to improve overall system performance. Delays from processing I/O requests would slow the central node or site nodes significantly and thus reducing the overall performance of the system. Hence, dedicated data servers will be deployed to handle multiple simultaneous data requests.
Firewall
As the system interfaces with the Internet over HTTP, it was decided for improved security, that a firewall be placed between the Application Server and the HTTP interface. This will provide security from unauthorised access and Internet security attacks which could compromise the privacy of the stakeholder’s information.


Image:Deploymlaala.jpg

Implementation Architecture

Implementation Architecture shows a high level technical view of how various modules that make up the UTX system willl be used to structure the system. Maintanance staff will be in charge of adding subscribers and clients to the system.

The structure of the implementation view above illustrates:

1. Administrators and maintenance staff can access their details, or system administration console (depending on the type of user) via a direct interface to the system. External users of the system such as the Clients or subscriber can access their details via a HTTP interface from the Internet

2. The Http server will then make a call over a network connection. This will redirect the user to the Universal Targeted eXperience Public Home Page where users can choose to login or register with the service.

3. From here a subscriber can access his/her private page to view or update the details or unsubscribe to the service.

4. Clients can also login to their profile. They can check their details, access reports, change their service, request additional services or upload advertisements etc.

5. In scenario 3, 4 all login attempts will require authentication with the Identity library by communicating over the network to the database socket. Once the user has been authenticated, then the user will be redirected to the respective private page. Basic web templates such as default pages and web components are also used to help display the web interface.

6. The databases are all contained within a HSQLDB framework. Both the Application Components (JAVA) and the Web Interfaces (HTML) access the databases by connecting to the socket on the HSQL framework.

7. The application components have been divided into two sets of binary packages.
a. - The Client Application Components are compiled and built to run on nodes at the client sites. These components include the Physical Movement Analyser, etc. (see section for Deployment View for further details).
b. - The Server Application Components contain the software components that will reside on a number of Central Nodes. Components include the Response Algorithm. (see section for Deployment View for further details).
c. - Communication between server and client components will be via a network connection.

8. The image and audio display, physical movement sensor and identity device sensor will be directly interfaced with the client components. This is to reduce the load on the centralised nodes and to ensure a real-time response to the interfaces.

9. The consumer demographics and transaction history are interfaced directly with the server application components as this will entail a great deal of data that would be infeasible for transfer over each client connection.


Image:Implementat-laalaa3.jpg

Anticipated Issues for Milestone 2


Issues

Suggested Plan

Team Related

Loss of Resource/s (i.e Team member leaves subject or has unforseen family circumstance/sickness)

Re-allocate tasks based on the remaining two team members’ skills and abilities and inform lecturer of circumstance.

Team member not completing allocated tasks

Speak to team member and see if there is a reason. If not then the other two team members decide what needs to be done

Team member cannot attend meetings

Attempt to schedule meeting at most convenient time, otherwise hold the meeting anyway and inform missing team member of the outcomes via email.

Technology Related

Total loss of data

Make incremental backups of the wiki and SVN files on different media

Two of the three team members need to brush up on java coding

Schedule meeting with the more experienced team member to refresh java coding… also attend support coding sessions.

Implementation related

Group members have a different interpretation of the architecture document and hence commence coding differently.

Hold regular meetings to align coding directions and regularly review each other’s code

Works Cited

Web Based

NewScientistTech acrticle on targetted advertising
Article on RFID privacy implications

Other works

Roussos, George and Theano Moussouri. “Consumer Perceptions of Privacy, Security and Trust in Ubiquitous Commerce” Personal and Ubiquitous Computing Vol 8, Issue 6 (2004): 416-429.

Instructor comments

Good to see you have put some work up! What you have written so far regarding contextual factors and some usage narratives shows a fair degree of understanding of the potential system. But you need to list your stakeholders and capture their concerns in short narratives (besides usage narratives). How is your conceptual architecture going? Lian 18th April

Milestone 1 Feedback
Your architectural analysis work is strong in some areas, but the design work needs much improvement. Here are some specific comments:

  • Good set of contextual factors and recognition of conflicting needs and risks to the system
  • Reasonable set of stakeholders and concerns, but you should write these using a persona so that the narrative is much more specific. Good to see you have referenced some interesting and relevant articles.
  • In usage narratives, interesting use of system for locating lost item. Make sure this is reflected in your architecture - show a Use Case Map for this narrative. Nice choice of maintenance technician, but could give more details of the kind of maintenance work and displays showing status of various elements.
  • Quality narratives are not well done. You need to state desired, measurable requirements for the quality attributes of usability and performance.
  • Conceptual architecture - this diagram is not the correct form. It looks like some hybrid deployment/physical architecture diagram. What you have for the Execution Architecture components is more like what you should have as your Conceptual Architecture diagram.
  • Use Case Maps?? Run-time events should be extracted from usage narratives. The text explaining the behaviour (under the heading Concurrency) should be presented with UCMs on the Conceptual Architecture.
  • Execution Architecture: The process view is reasonable, but you have not explained why you have each concurrent component and the choice of stereotypes. Some stereotypes are questionable, eg. Service on Subscriber Expression Analyzer component. You need to re-examine this diagram and explain the choice of components and connectors, and relate it back to performance and usability.
  • Deployment diagram is fairly good. I like the split of nodes. Question why Audio Visual is on the same site node - wouldn't it require its own computer node as it is performing audio/visual playback and may be connected to a large number of output devices. You only have web interfaces. Perhaps the Maintenance component could be on non-web console, as it may require a rich visual presentation display that monitors the health of equipment, etc.
  • Implementation Architecture is poor. Have not used the textbook notation.

Lian 28th April

essay writers

Personal tools