can we talk now? technology selection for an intelligent status tracking system 5 th june 2009...
TRANSCRIPT
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
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