Mobile Gateway Architecture for Service Providers
The Synchronica Mobile Gateway provides push email and synchronization services for the mass market ranging from business users to professional consumers, even reaching into the consumer segment. For business users, it acts as an operator-hosted gateway synchronizing Microsoft Exchange or Lotus Notes accounts with their mobile phone. For consumers, the Mobile Gateway provides mobile (push) email services for their MSN, Yahoo or IMAP / POP3 mailboxes. For professional consumers, the Mobile Gateway can be integrated with hosted personal information management (PIM) systems, e.g. Sun Java System Communications Suite, driving value and acceptance rate.
The Mobile Gateway supports synchronization of email, contacts, calendar, notes, and tasks between SyncML-/Push IMAP-enabled mobile phones and corporate or ISP mailboxes. It is based on the winning combination of the two dominant industry standards SyncML (OMA DS) and Push IMAP (LEMONADE). While SyncML is ideal for synchronization of calendar and contacts, Push IMAP is the ideal choice for delivering push email to mass market devices.
Thanks to its industry standard approach, the Mobile Gateway does not require additional client software to be installed on the device. While other solutions are limited to the small segment of smartphones, the Mobile Gateway is compatible with hundreds of SyncML-/IMAP-enabled devices from all leading manufacturers. Further expanding its reach, Synchronica supplies clients for non-SyncML devices and platforms including Windows Mobile, Palm OS, Outlook, Outlook Express, Mac OS address book, and Lotus Notes client.
The architecture of the Synchronica Mobile Gateway is based entirely on open industry standards and is designed to operate a highly scalable, fault tolerant environment tightly integrated with the existing infrastructure. It includes support for automatic failover and load balancing providing near linear scalability and has been proven in carrier-grade deployments.

Figure 1 - Synchronica Mobile Gateway architectural overview
Universal Data Connector (UDC)
On the backend side, the Mobile Gateway is based on a flexible plug-in architecture UDC (Universal Data Connector). Synchronica provides out-of-the-box plug-ins for Microsoft Exchange, IBM Lotus Domino and Sun Java System Communications Suite. Synchronica provides UDC as an open source component enabling easy integration of any 3rd party personal information management system without modification of the core Mobile Gateway.

Figure 2 - Mobile Gateway UDC schematic
The UDC layer in the Mobile Gateway supports both WebDAV and Web Services interfaces to UDC adapters providing access to any data store. Synchronica has chosen WebDAV, given that it is a well defined protocol and provides generic methods for accessing hierarchical and structured data. There are several current endeavours to further standardized access to specific data stores, in particular CardDAV and CalDAV, which are intergrated into the UDC adapters and UDC layer to provide the greatest interopterbility. In addition, UDC includes support for accessing adapters using Web Services which can be better suited for integration with custom databases and ERP systems. Both protocols can be used independently and simultaneously with no particular preference.
UDA adapters are dynamically loaded by the Mobile Gateway at run time and do not need to be linked into the application. Providing additional scalability, the UDC adapters can even run on a separate server and may be load balanced for horizontal scalability and failover on the data access layer.
Item Serializers and Dynamic Device Configuration (DDC)
Serializers and deserializers convert a device item's byte array into a Java object (usually a Java Bean) and back again. The deserializer converts the byte array received from the client to a Java object for sending to the backend server, and the serializer converts the Java object back to a byte array when sending the item on to the backend server.
Most of the native clients follow the SyncML standard, with only a few device specific deviations. However, the content of data items, such as an iCalendar event or a vCard contact, differ sometimes substantially between manufacturers and models (e.g. field lengths may differ, the event may use GMT or local time only). To handle these differences, the serializers and deserializers must be device specific.
The Synchronica Mobile Gateway addresses the issue of device-specific variations of the SyncML protocol and data items with device specific configurations for the serializers and deserializers according to the phone manufacturer and model. Synchronica's Dynamic Device Configuration (DDC) enables the Mobile Gateway (via a live update mechanism) to stay constantly up to date with changes to these configurations.
Zero Footprint Architecture
The Synchronica Mobile Gateway features a unique zero footprint architecture which results in a faster take-up rate for mobile email and synchronization than competing solutions. Like a WAP gateway, which provides wireless access to WAP sites on the public internet, the Mobile Gateway provides synchronization services for personal information systems. Unlike other solutions, the Mobile Gateway requires no installation of adapters or behind the corporate firewall - users simply register at a web site and instantly synchronize their corporate data with mobile devices.

Figure 3 - Synchronica's Zero Footprint Architecture
Security
Synchronica makes every effort to ensure secure operation of the Synchronica Mobile Gateway, and it was designed with security in mind. For authentication and encryption, Synchronica Mobile Gateway conforms to the industry standards as defined by OMA DS and IMAP standards and supports SSL for data encryption and MD5 for encrypted authentication.
All traffic flowing through the public internet is encrypted with SSL (HTTPS) ensuring user data is at no time exposed to prying eyes. For security reasons, it does not duplicate the user's data to a local database, but stores only meta data required during the synchronization process. In addition, the Synchronica Mobile Gateway creates a separate backend connection for every user with the user's credentials, thus operating under the permissions assigned to that user.
Microsoft Exchange Integration
The Mobile Gateway establishes a secure HTTPS connection to the user's Exchange server and authenticates using the user's credentials. Since the Mobile Gateway uses a secure HTTPS connection, it does not require installation of plug-ins or adapters at the corporate.
To the Exchange server, the connection appears to be an external Outlook Web Access (OWA) connection, a standard feature of Microsoft Exchange 2000 and 2003 which is enabled by default. As a result of this architecture, the Mobile Gateway can synchronize any Microsoft Exchange server which is accessible from the public internet through OWA.
Sun Java System Communications Suite Integration
The Synchronica Mobile Gateway uses LDAP in order to authenticate the user pursuant to his credentials in Sun Java System Communications Suite. A special IMAP connector is then used to access the inbox on the Sun Java System Communications Suite server in order to retrieve new emails. Emails sent from the mobile device are synchronized back to Sun Java System Communications Suite via a configured SMTP host. Calendar items and tasks are synchronized by way of the WCAP adapter, and synchronization of contacts is performed via LDAP. Enhanced security is provided by the usage of the Web Calendar Access Protocol Secure (WCAPS), Simple Mail Transport Protocol Secure (SMTPS), Internet Message Access Protocol Secure (IMAPS), and Lightweight Directory Access Protocol Secure (LDAPS).
IBM Lotus Domino Integration
The Mobile Gateway establishes a CORBA connection to the user's IBM Lotus Domino server and authenticates using the user's credentials. No additional software installation is required behind the corporate firewall.
Network Elements
To provide flexibility, scalability, and high availability, the system architecture is based on a two-tier architecture separating the system into an application server tier (Mobile Gateway) and a database server tier.
Application Server
The application server tier consists of one or many application servers running the Mobile Gateway server application. The application server runs the SyncML, IMAP and SMTP gateway applications, as well as the user registration page and preferences portal.
Synchronica Mobile Gateway can be deployed on JBoss and Sun application servers, as well as any Java 2 Platform Enterprise Edition (J2EE) complaint application server on Linux, Windows or Solaris operating systems.
Database Server
The database server stores log records created during SyncML sessions, as well as user records mapping the user's email address to the corresponding mailbox server URL. Note that the database server does not store a replication of the actual user data, such as calendar, contacts, or email. However, the database does store some meta data required for synchronization, such as sync item IDs and the time of last synchronization per device. It serves as a central repository and can be deployed as a standard Structured Query Language (SQL) database, such as PostgreSQL, MySQL, Hypersonic, or Oracle, running on Linux, Windows, or Solaris.
Scalability and Resilience
The Synchronica Mobile Gateway has been designed to meet carrier-grade requirements for performance, scalability and stability. It has demonstrated to support thousands of concurrent sessions per server CPU and provides near linear scalability in a load balanced environment. Support for clustered deployments and automatic failover ensures continuous operation of the system in case of a hardware or software failure.
SyncML Synchronization Engine
There are two ways to initiate the synchronization process: the user can trigger it manually by selecting the appropriate menu item in the device's SyncML client, or the server can initiate the process (push). As defined by the Open Mobile Alliance (OMA), for SyncML push, the server sends a notification message to the device causing the client to connect back to the server which then transmits the changes to the device. To the user, this process is completely transparent and can hardly be distinguished from a direct push where the notification itself contains the data.
During the synchronization session, the Mobile Gateway receives either an XML byte array, or the compressed format WAP Binary XML (WBXML) which it then converts to XML. The XML or WBXML document is interpreted as a SyncML request that is part of the SyncML session. The sync core takes the SyncML requests and sends the client modifications to the backend via the Universal Data Connector (UDC) and collects any server modifications. After matching all the modifications (the main activity of synchronization), the server modifications are sent back to the client.

Figure 4 - Mobile Gateway Sync Engine
Once the synchronization process has started, there are two types of synchronization: Fast sync is the normal type; the synchronization only updates items modified since the previous synchronization. Slow sync is when all items are sent; this is normally only required for the initial synchronization session.
Client Mapping / Conflict Resolution (Slow Sync)
During a slow sync the client sends all its data to the Synchronica Mobile Gateway, and the server sends all its data to the device. The server maintains a client mapping database associating each client data entry with its corresponding server entry.

Figure 5 - Slow Sync schematic
Client Mapping / Conflict Resolution (Fast Sync)
Fast sync relies on the client / server mapping in the database which contains the client and server keys. Only the modifications are compared and synchronized between server and client resulting in short synchronization sessions. A conflict is detected, when the same item is modified on the client and the server side. In automatic conflict resolution mode, the server modification wins and is sent to the client overriding the client changes.

Figure 6 - Fast Sync schematic
IMAP and SMTP
As described above, the Synchronica Mobile Gateway server fully supports email synchronization with SyncML devices. However, most SyncML devices are limited to synchronization of calendar and contacts, and only few support email synchronization via SyncML. However, most of these devices do include email clients supporting IMAP for receiving and SMTP for sending emails. More recent devices also support the Push IMAP (IMAP IDLE) of the IMAP standard defined by the LEMONADE working group.
To maximize the number of supported devices, the Synchronica Mobile Gateway also includes IMAP and SMTP gateways to provide a path for IMAP and SMTP capable email devices. This brings mobile email synchronization capabilities to entry-level and mid range devices enabling service providers to offer mobile email for the mass market.

Figure 7 - Schematic of how the Mobile Gateway utilizes IMAP, SMTP and
SyncML protocols
IMAP Gateway
Towards the mobile device, the IMAP Gateway appears to be a fully functional IMAP server. When an IMAP connection arrives, the IMAP Gateway performs the necessary authentication, Secure Sockets Layer (SSL) negotiation. It then translates the folder and message operations into the appropriate UDC commands which, using the appropriate connector, allows the mobile device to retrieve and exchange messages with their configured backend email store.
Synchronica Mobile Gateway also supports IMAP IDLE (push) as defined by the LEMONADE (License to Enhanced Mobile Oriented and Diverse Endpoints) working group. IMAP IDLE is an extension of the IMAP protocol enabling the server to notify the client of a new message. Unlike SyncML push, IMAP push does not require SMS notification; it is basically an endless session between the client and server where the server can notify the client. The IDLE command deals with the situation when the client has no more requests to make. The server responds to the IDLE command when there is a new message to indicate to the client that there is new data available. The basic network use of the IDLE command is very small, and so it makes very efficient use of bandwidth.
SMTP Gateway
While the IMAP gateway enables users to receive emails on their phone, the SMTP gateway enables them to send emails from their devices via the Synchronica Mobile Gateway. Towards the device, the SMTP gateway is completely transparent and appears to be a standard RFC 2821 SMTP Server.
When an SMTP connection arrives, the SMTP gateway performs the authentication and SSL negotiation, followed by the necessary operations to allow the connected client (SMTP originator) to transmit new messages for delivery. Next, the SMTP gateway passes these new messages to the UDC layer which relays the messages to the configured backend messaging server.
After sending, the message appears in the sent items folder on the user's messaging server, as if it was sent from the user's desktop PC.
Synchronica SyncML Clients
While a large percentage of mobile devices are shipping with built-in clients, not all manufacturers have committed to SyncML support. Synchronica offers a complete and homogenized end-to-end solution by providing support for the most important devices platforms that are not shipping with a built-in SyncML client: Palm OS and Microsoft Windows Mobile, as well as the Windows (Outlook and Outlook Express) and Mac OS desktop platforms.

Figure 8 - Overview of the Synchronica SyncML Clients
Palm OS - Synchronica offers a SyncML client for Palm OS-based PDAs and smartphones, enabling synchronization of emails, contacts, appointments and tasks via Synchronica Mobile Gateway.
Windows Mobile - Synchronica offers a SyncML client for Windows Pocket PC and Windows smartphones to enable wireless synchronization of emails, contacts, appointments and tasks including support for Windows Mobile 2003 and 2005.
Outlook and Outlook Express - Synchronica offers a PC desktop client that enables synchronization of emails, contacts, appointments, and tasks between Outlook or Outlook Express and backend systems via Synchronica Mobile Gateway. This is particularly relevant, if the backend system does not support Outlook or Outlook Express directly (e.g. a proprietary web mail system or online address book).
Lotus Notes - Synchronica provides a PC desktop client for SyncML synchronization of Lotus Notes desktop clients with backend systems via the Mobile Gateway. This can be used to populate and synchronize proprietary webmail and address book systems.
Mac OS - Synchronica provides a SyncML client for Mac OS address book and Apple iCal. Like with the Lotus Notes client, the Mac OS client is useful when using the Mobile Gateway in combination with a hosted webmail or address book.
J2ME - Synchronica is currently developing a Java 2 Platform, Micro Edition (J2ME) SyncML client to enable SyncML synchronization on mobile devices including feature phones that do not have a SyncML client built in by the device manufacturer. This is particularly attractive for synchronization of non-standard data using the UDC, with third party backend systems, such as Enterprise Resource Planning (ERP) systems.
Transport Layer
The transport layer for data synchronization between server and client can be SyncML over HTTP or HTTPS or IMAP / SMTP. Towards other network elements, Synchronica Mobile Gateway uses several industry standard transport protocols:
| Transport Protocol | Usage |
|---|---|
| CORBA | Between Mobile Gateway and IBM Lotus Domino |
| OMA DS (SyncML) over HTTP(S) | Between Mobile Gateway and mobile device |
| WAP Push | Between Push Proxy Gateway (PPG) and device for SyncML push and device provisioning |
| SMPP or UCP | Between Mobile Gateway and PPG for SyncML push and device provisioning |
| OMA CP / OTA 7.0 | Between Mobile Gateway and device (via PPG) for device provisioning of SyncML and IMAP settings |
| IMAP(S) | Between Mobile Gateway and mobile device |
| IMAP IDLE (IMAP Push) | Between Mobile Gateway and mobile device |
| JDBC / SQL | Between Mobile Gateway and the database |
| LDAP(S) | Between Mobile Gateway and Sun Java System Communications Suite directory |
| SMTP(S) | Between application server and device |
| WCAP(S) | Between Mobile Gateway and Sun Java System Communications Suite calendar |
| WebDAV | Between Mobile Gateway and Microsoft Exchange. Also used in UDC to connect to third party plug-ins |



