Home Documents Awards FAQs Glossary Newsletter Contact Site Map
Architecture of the
Synchronica Mobile Gateway

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.

Synchronica Mobile Gateway architecture

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.

Synchronica Mobile Gateway universal data connector
Figure 2 - Mobile Gateway UDC schematic


The UDC layer in the Mobile Gateway supports both WebDAV and Web Services interfaces to UDC adaptors 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 adaptors and UDC layer to provide the greatest interopterbility. In addition, UDC includes support for accessing adaptors 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 adaptors 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 adaptors 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.

Synchronica Mobile Gateway zero footprint architecture

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 adaptors 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 Postgres, 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.

Synchronica SyncML synchronization engine

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.

Synchronica Mobile Gateway request and response (slow sync)

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.

Synchronica Mobile Gateway request and response (fast sync)

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.

Synchronica Mobile Gateway IMAP and SMTP components

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.

Synchronica Mobile Gateway SyncML clients
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



Device Manufacturers

Newsletter Newsletter


Guarantee