a Mobile XML-aware File System - Helsinki Institute for Information

Fuego Core
Middleware for Mobile
Wireless Internet
02.06.2004
Sasu Tarkoma, Jaakko Kangasharju, Miika Komu, Mika
Kousa, Tancred Lindholm, Mikko Mäkelä, Marko
Saaresto, Kristian Slavov, Thalainayar Ramya, Kimmo
Raatikainen
Presentation Outline
• Fuego Core
– Overview
– Architecture
– Research topics
• Publications
• Theses
Background
• Middleware is a set of generic services above the
operating system and the transport stack
• Mobile and wireless environments have different
requirements than desktop systems
– User mobility, terminal mobility, connectivity, device
characteristics, dynamic environments
• Vision: A service application is distributed among
various application servers, network elements and
terminals
• Three year Tekes project (2002-2004)
– Industrial partners: Nokia, TeliaSonera, Elisa,
Ericsson, Creanor
– Open source software
Fuego Core in Nutshell
• to specify the set of fundamental
Synchronization
Presence
Distributed Events
enabling middleware services for
XML Protocol
mobile applications on future
Host Identity Protocol
mobile environments
• to implement two research prototypes
• to participate in relevant standardizing forums
– W3C, IETF, OMG, OMA
• Work areas:
–
–
–
–
Adaptive Applications,
Mobile Distributed Information Base,
Reconfigurable Services,
Mobility, Multi-homing, and Cryptographic Host Identification
Achievements
• three state-of-the-art reports
• two status reports of middleware standardization
• coherent architecture
• specification and implementation of
– mobile distributed event service
– efficient SOAP/XML messaging over wireless
– mobile file system with intelligent synchronization
– mobile presence service
• Open Source Implementation of Host Identity Protocol
• Initial studies on SIP
• Standardization efforts
– W3C (XML Binary Characterization Working Group)
– IETF (Host Identity Protocol)
• 10 publications, 3 M.Sc. Thesis completed
Activities in 2004
• Demonstration of the first service set was held for
partners on 10.10.2003
• A public demonstration will be held during November
2004
• Currently specifying the second service set
– Implementation and experimentation during the Fall
Resources
• Project leader: Professor Kimmo Raatikainen
• Project manager: Sasu Tarkoma (Events)
• 8 researchers and M.Sc/Ph.D students
–
–
–
–
–
–
–
–
Jaakko Kangasharju (SOAP)
Miika Komu (HIP)
Mika Kousa (HIP)
Tancred Lindholm (Synchronization)
Mikko Mäkelä (context)
Marko Saaresto (Presence)
Kristian Slavov (HIP)
Ramya Thalainayar (SIP events)
Ubiquitous and Pervasive software
Mobile Services
Mobile Applications
Presence Service
Sync. File
System
Presence Client
Event Service
Filter Service
Sync.File system
Event Bus
Filter Service
Jetty
Wireless SOAP
HTTP 1.1
BEEP
Servlets
Apache Axis
Jetty
Wireless SOAP/SOAP
HTTP 1.1
BEEP
TCP
Host Identity Protocol (HIP)
IP
Mobile Clients
Distributed Servers
Event-based Systems
• Event-based systems are a good candidate for mobile
and wireless environments
– asynchronous, anonymous one-to-many
communication
– expressive semantics with filters (content-based
routing)
• Filters define what information is produced
(advertised), and required (subscribed)
• Research challenges and solutions
– How to cope with mobile users?
• Sessions, event channels, handover protocol
– How to manage large numbers of filters?
• Covering relations, filter merging
– How to support context-aware operation?
• Fast subscriptions, expressive last-hop pull/push
Architecture
1. Access server
handover
AC
Event Domain A
AC
Ch
1
L&LB
AC
2. Handover
between
domains
Ch
1
G
W
Ch
1
AC
G
W
Ch
2
Event Domain B
AC
L&LB
AC
Federation protocol
L&LB
AC
AC
G
W
AC
Event Domain C
AC
AC
AC
3. Access server
handover
SOAP: Efficient XML Serialization
• How can XML Protocol (SOAP) be used in wireless
communication?
– Main problems with SOAP:
• XML verbose so bandwidth-heavy,
• HTTP and underlying TCP bad in high-latency networks
• Use binary tokens instead of strings to improve both
document size and processing time
• Discover tokenizable strings dynamically from a
message stream (possible also to pre-define tokens)
• Encode primitive data in binary instead of stringified
form
• Strip out items deducible from a syntax description (e.g.
XML Schema)
SOAP Protocol Binding
• Protocol for one-way full-duplex messaging; message
correlation at a higher level
• Bundling of multiple logical connections to a single
physical connection, and multiple application messages
to a single protocol message
• Persistent connections, even across terminal mobility
• Measurement of and application access to connection
characteristics (e.g. round-trip time)
Syxaw: a Mobile XML-aware File
System
• Main principle: disconnected operation (like CODA)
• Designed for limited bandwidth and high latency
• Simple HTTP GET/POST synchronization protocol
• Special support for XML files
– Automatic reconciliation of XML documents
– Optimized storage of XML
• Ad-hoc file sharing: any device may share files to any
other device
• Implementation integrates with existing file system in a
non-disruptive manner (NFS prototype, XFS in 2004)
• Current status: it actually works!
Syxaw Plans for 2004
• Migrate from NFS prototype to a “real” file system =
integrate with SGI’s XFS.
• Optimize usage of wireless link.
– Valuable lessons from 2003
• Optimized usage of XML
– Tags for referencing subtrees across documents
– APIs for diff and merge of XML with tree references
– Xebu binary encoding
• Integration with HIP
• Scale up from 100s of files to 10000s
Presence: The field in general
• Call for standard interoperable technologies
– Promising standardization work in IETF
– SIP/SIMPLE for augmented telecommunication
services, media-streams, content based filtering
– Jabber/XMPP for service integrators, stand-alone
IM&P services, P2P applications
• Seen in research prototypes and discussion
– Wider conception of 'presence', treading into user
context: dissemination of environment information,
recognizing context
– Context and presence awareness in applications
– Richer messaging: audio, graphics, translation
Presence: Fuego Core service set II
• Enhance and evolve the capabilities of the first prototype
– Redesigned API and J2ME implementation
– Less stateful operation without a dedicated server
– Many-to-many multicast of presence state changes
helps avoid bottlenecks
• Introducing a messaging service
– No dedicated server
– View messages once on multiple terminals
– Threaded chat sessions
– Mobility with session transfer and buffering
• Demonstration midlet will use both services
HIP in a Nutshell
• HIP introduces a new cryptographic namespace and a
new procotol layer between transport and network
layers
• HIP provides...
– End-to-end authentication of hosts
– Encryption of network traffic using IPsec
– Mobility and multihoming support
• The protocol is designed to...
– Add DoS resilience by forcing the initiator do heavy
calculation first
– Use cryptographic endpoint identifiers to simplify
address ownership issues.
Location of HIP layer
HIP for Linux Implemenation
• History
– Started as a student project at HUT
– Continued in HIIT/Fuego-Core
• Current developers: Mika Kousa, Kristian Slavov and
Miika Komu
• The implementation
– Based on Linux 2.4 and 2.6 kernel
– Runs entirely in the kernelspace
– Userspace socket library for C and Java
– Can establish HIP connections and handle limited
mobility/multihoming
HIP Standardization
• Participation in the last five IETF meetings and mailing
list discussions
– Interoperability testing with Ericsson, Boeing,
IndraNet and SUN
• Our implementation works against all the others
– Providing feedback and ideas for standardization
effort
• A socket API draft coming in the end of this year
– Based on Miika Komu's master's thesis
Other Topics in 2004
• SIP
– Interworking between Fuego Events and SIP
Events
• Specification and implementation of a gateway
– SIP and SOAP
– SIP for wireless mobile terminals
• Context Modeling
– feasibility studies of CC/PP, UAProf, RDF, RDF
Schema and OWL (OWL Lite, in particular)
– Initial models of end-user systems, user
preferences, and applications
Publications 1/2
• Sasu Tarkoma, Mikko Laukkanen. Supporting Software Agents on Small
Devices. Proceedings of the First International Joint Conference on
Autonomous Agents and Multi-Agent Systems (AAMAS-2002), July 2002.
Presented as Poster. Available at ACM Digital Library.
• Sasu Tarkoma, Mikko Laukkanen. Facilitating Agent Messaging on PDAs.
Fourth International Workshop on Mobile Agents for Telecommunication
Applications (MATA-2002). Lecture Notes in Computer Science (LNCS)
2521.
• Sasu Tarkoma, Mikko Laukkanen, Kimmo Raatikainen. Software Agents
for Ubiquitous Computing. Book Chapter. Accepted for publication in
"Learning, Coordination and Communication in Multi-Agent Systems",
World Scientific.
• Catharina Candolin, Janne Lundberg, Miika Komu, Mika Kousa. An
Implementation of HIP for Linux. Linux Symposium 2003, Ottawa, Canada.
Available at: Linux Symposium 2003
• Sasu Tarkoma. Distributed Event Dissemination for Ubiquitous Agents.
Proceedings of the 10th ISPE International Conference on Concurrent
Engineering (CE-2003), Madeira, Portugal. Pages 105-110.
Publications 2/2
• Sasu Tarkoma, Jaakko Kangasharju, Kimmo Raatikainen. Client Mobility
in Rendezvous-Notify. International Workshop for Distributed Event-Based
Systems (DEBS03), in conjunction with the ACM SIGMOD/PODS
Conference, San Diego. Available at ACM Digital Library.
• Jaakko Kangasharju, Sasu Tarkoma, Kimmo Raatikainen. Comparing
SOAP Performance for Various Encodings, Protocols, and Connections.
IFIP-TC6 8th International Conference, Personal Wireless
Communications (PWC 2003), Venice, Italy, September 23-25, 2003.
Lecture Notes in Computer Science, Vol. 2775.
• Sasu Tarkoma, Mikko Laukkanen. Adaptive Agent-based Service
Composition for Wireless Terminals. Seventh International Workshop on
Cooperative Information Agents (CIA-2003). Lecture Notes in Artificial
Intelligence , Vol. 2782, pages 16-29.
• Tancred Lindholm. XML Three-way Merge as a Reconciliation Engine for
Mobile Data. Third International ACM Workshop on Data Engineering for
Wireless and Mobile Access, September 19, 2003, San Diego, California
(in conjunction with MobiCom 2003). Available at ACM Digital Library.
• Sasu Tarkoma. Event Dissemination Service for Pervasive Computing.
Accepted for presentation and publication in Pervasive 2004 Doctoral
Colloquium, 18-19.4. Linz/Vienna, Austria.
Theses
• Koponen, Teemu, 2002. Service Discovery Solutions'
Federation: A Service Broker Approach. Master of
Science thesis, Helsinki University of Technology,
Department of Computer Science and Engineering.
• Rantanen, Matti J., 2002. A Presence Service for
Ubiquitous Computing. Master of Science thesis,
Helsinki University of Technology, Department of
Industrial Engineering and Management.
• Slavov, Kristian, 2004. Implementing HIP Algorithms in
Linux Kernel. Master of Science thesis, Helsinki
University of Technology, Department of Computer
Science and Engineering.