Can We Talk Now? Technology Selection for an Intelligent Status Tracking System 5 th June 2009...

Preview:

Citation preview

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)sidney.shek@students.mq.edu.auSupervisor: Dr Rolf Schwitter

AgendaAgendaProject IntroductionRelated WorkRequirements and System

AnalysisRule Engine EvaluationTechnologies for client and

server partsFuture WorkConclusion

2

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

him?

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

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

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

AgendaAgendaProject IntroductionRelated WorkRequirements and System

AnalysisRule Engine EvaluationTechnologies for client and

server partsFuture WorkConclusion

6

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

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

AgendaAgendaProject IntroductionRelated WorkRequirements and System

AnalysisRule Engine EvaluationTechnologies for client and

server partsFuture WorkConclusion

9

Application Data StructuresApplication Data Structures

10

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

AgendaAgendaProject IntroductionRelated WorkRequirements and System

AnalysisRule Engine EvaluationTechnologies for client and

server partsFuture WorkConclusion

12

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

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

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

AgendaAgendaProject IntroductionRelated WorkRequirements and System

AnalysisRule Engine EvaluationTechnologies for client and

server partsFuture WorkConclusion

16

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

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

AgendaAgendaProject IntroductionRelated WorkRequirements and System

AnalysisRule Engine EvaluationTechnologies for client and

server partsFuture WorkConclusion

19

Future Work – Next PhaseFuture Work – Next Phase

20

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

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

Thank youThank youQuestions?

23

Recommended