23
Can We Talk Now? Can We Talk Now? Technology Selection Technology Selection for an Intelligent for an Intelligent Status Tracking System Status Tracking System 5 th June 2009 Sidney Shek (41419979) [email protected] Supervisor: Dr Rolf Schwitter

Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) [email protected] Supervisor:

Embed Size (px)

Citation preview

Page 1: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Can We Talk Now?Can We Talk Now?Technology Selection for an Technology Selection for an Intelligent Status Tracking Intelligent Status Tracking SystemSystem

5th June 2009Sidney Shek (41419979)[email protected]: Dr Rolf Schwitter

Page 2: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

AgendaAgendaProject IntroductionRelated WorkRequirements and System

AnalysisRule Engine EvaluationTechnologies for client and

server partsFuture WorkConclusion

2

Page 3: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

The ProblemThe ProblemWhere is ‘John’ and how should I contact

him?

What happens if I call during a meeting with the CEO?

Page 4: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Project AimsProject AimsTo develop a low-cost prototype intelligent

status tracking system (Can We Talk Now?)

◦ Based on Social Networking principles

◦ Populate user’s status information based on

calendar, location, etc.

◦ Use logic to determine ‘best’ means of

communication between two users

◦ To integrate with mobile devices (Apple iPhone)

4

Page 5: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Project Phases Project Phases Project split into two phases:

1. Feasibility study and technology selection: Rule engine Client-server communications Server platform

2. Prototype system development

5

Page 6: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

AgendaAgendaProject IntroductionRelated WorkRequirements and System

AnalysisRule Engine EvaluationTechnologies for client and

server partsFuture WorkConclusion

6

Page 7: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Related WorkRelated WorkMany public and private Social

Networking Services (SNS) store status information◦ Not automatically populated◦ No logic rules applied to extract information

Dinoff et al. 2007 reports a similar system to CWTN for service providers or carriers (Intuitive Network Applications)◦ CWTN is low-cost ‘add-on’ system for

individual enterprises

7

Page 8: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Learnings from other SNSsLearnings from other SNSsNeed for flexibility in data and functionality

Need to integrate with SNS as mini-application rather than reinventing wheel

Need to address enterprise deployment issues:◦ Security◦ Cultural hindrance◦ Privacy◦ Scale and critical mass

8

Page 9: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

AgendaAgendaProject IntroductionRelated WorkRequirements and System

AnalysisRule Engine EvaluationTechnologies for client and

server partsFuture WorkConclusion

9

Page 10: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Application Data StructuresApplication Data Structures

10

Page 11: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Application LogicApplication Logic1. Populating Activity facts based on:

◦ GPS, calendar information, etc.

2. Determining available means of communication based on:

◦ Matching location◦ ‘Free to talk’ status:

Current activity (e.g. meeting versus idle) Relative importance of people Relative urgency of question

3. Prioritising means of communication11

Page 12: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

AgendaAgendaProject IntroductionRelated WorkRequirements and System

AnalysisRule Engine EvaluationTechnologies for client and

server partsFuture WorkConclusion

12

Page 13: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Rule Engine EvaluationRule Engine EvaluationEvaluated rule engines: SWI-Prolog,

Prova, Drools, JESS

Criteria included:◦ Support for application logic◦ Integration with Java (for server platform)◦ Enterprise based criteria (robustness,

development environment, support, licence fees)

◦ Future proofing (RuleML, Semantic Web support)

13

Page 14: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Comparison of Rule Comparison of Rule EnginesEngines

SWI-Prolog

Prova Drools JESS

1. Support for rules 2. Integration with Java

3. Suitability for enterprise

~ ~

4. IDE Available ~ 5. Licence cost ~6. Future proofing

14

Page 15: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Rule Engine Evaluation Rule Engine Evaluation ResultsResultsNo rule engine ideally suited

◦ Backward chaining like Prolog or Prova good for problem, but lacked in other areas

◦ Drools has good support, but is forward chaining

◦ Use Drools for now, with architecture to support simple replacement

15

Page 16: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

AgendaAgendaProject IntroductionRelated WorkRequirements and System

AnalysisRule Engine EvaluationTechnologies for client and

server partsFuture WorkConclusion

16

Page 17: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Client-Server Client-Server communicationscommunicationsMobile device restrictions:

◦ Limited battery◦ Limited CPU◦ Limited libraries

Use REST (RESTlet framework)◦ Fits into SOA◦ Easier to process than Web Services

Use JSON instead of XML◦ Lightweight and less bandwidth

17

Page 18: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Server platformServer platformMobile devices need Internet-facing

server◦ Difficult to get for a prototype system!

Deploy prototype to Google App Engine◦ Internet accessible and free JEE server◦ Consider integration with enterprise later

Enterprise hosted server Trusted connection to Google App Engine cloud

18

Page 19: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

AgendaAgendaProject IntroductionRelated WorkRequirements and System

AnalysisRule Engine EvaluationTechnologies for client and

server partsFuture WorkConclusion

19

Page 20: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Future Work – Next PhaseFuture Work – Next Phase

20

Page 21: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Future Work – Post-Future Work – Post-PrototypePrototypeEnterprise deployment:

◦Implement integration with SNSs

Research testbed:◦Use of Semantic Web technology for

data storage and reasoning

21

Page 22: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

ConclusionConclusionAim of project is to develop a low-cost

intelligent status tracking systemInitial feasibility study and technology

selection completed◦ Rule engine, server platform, client-server

communicationsDevelopment iterations scopedNext steps – Design and develop

prototype

22

Page 23: Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009 Sidney Shek (41419979) sidney.shek@students.mq.edu.au Supervisor:

Thank youThank youQuestions?

23