SynQL

Project Overview


SynQL logo

SynQL aims to do the same for data sharing and synchronisation for developers as Dropbox does for file sharing. The Project objective is to take the problem of database synchronisation and to build a solution to this problem for applications (apps) running on mobile devices.

The resulting technology will be a utility for app developers, delivered through the cloud which will allow them to develop apps with powerful app data synchronisation and collaboration features without having to solve the sync problem.

A key element of most apps is the use of varying types of database which reside on the device itself and which allow the app to store and retrieve data which is persistent. In the case of an app which connects to the web, this process allows the app to function even when there is no web connection.

The consumer device market is highly fragmented [figure], and in order to compete in this market the app developer must be able deliver a product to multiple platforms. The end-user of the app expects to be able to access their apps on multiple devices, with the most up-to-date data appearing on the screen, and with the ability to continuously process or consume information.

From a developer point of view, there is an increased complexity in building compelling apps to cater for a plurality of device platforms, allow users to access their data on multiple devices and share and connect information with other users. While synchronisation is the key to enabling this level of interconnectivity there are significant hurdles to be overcome in developing a robust solution. These include the need to cater for multiple platforms, to optimise data transmission and to work with mobile and intermittent connections

The aim of this project is to develop an easy-to-use sync technology for mobile devices that makes the task of building connected apps more affordable and accessible to developers.

Project Implementation


The SynQL system consists of a number of separate software agents, some of which can take multiple roles. The primary relationship is between the client role and the server role, whereby the client synchronizes data with the server. Typically clients are mobile devices or individual machines, whereas the server is a large scale hosted platform. However, from the client role perspective, the server role is simply an API for data synchronization, and the scale of the server role is not apparent.

This enables a secondary relationship: client peering. In this relationship, clients can mutually synchronize without reference to a server. The mechanism is for each client to treat the other as a server, and proceed as if synchronizing with a server. When a client plays the server role, this is distinguished by assigning it a “peer” role. Thus all clients can also play peer roles, where they offer the server API to other clients.

The directory role provides the tertiary relationship. In order for clients and servers to register themselves and be discoverable, a core set of directories are used to provide routing information. Software agents in this case take the “directory” role. Note that most deployments will combine the server and directory roles in one physical (or virtual) configuration.

Project Achievements


The technology is currently under trial license to nearForm ltd., an Enterprise Ireland HPSU client.
Further, nearForm ltd intends to license and commercialise the technology during 2013.
It is anticipated that this will form the primary commercialisation approach for this project.

Funding


Enterprise Ireland.

Contact


For further information contact:

pdowling@tssg.org