Abstract:
Receiving a notification message by a mobile subscriber can include establishing a session with a notification service; maintaining a persistent communication connection with the notification service after the session is established; subscribing to a node hosted by the notification service, wherein the node is pre-provisioned for use by a mobile subscriber; and receiving from the notification service a notification message corresponding to the subscribed node. Further, a message can be transmitted over the communication connection to the notification service at a predetermined interval and it can be determined whether the communication connection is viable. Additionally, it can be determined that the communication connection is no longer viable if no response is received from the notification service, the period of the predetermined interval can be decreased, and another session with the notification service can be established.
Abstract:
Among other things, techniques and systems are disclosed for providing trickle syncing. In one aspect, a system includes a data repository to store one or more data records and a server in communication with the data repository. The server is designed to access the data repository in response to a user request to perform at least one of the following: access the one or more data records, add a data record, and modify the one or more data records. The system also includes a client application in communication with the server. The client application is designed to receive the user request through a client process; encapsulate a protocol that provides communications between the client process and the server; and forward the received user request to the server using the encapsulated protocol.
Abstract:
Among other things, techniques and systems are disclosed for providing sync server process. Processing data sync sessions includes processing a request to initiate a sync session from one or more clients to update one or more data records that include one or more data items. The one or more clients are selectively identified as one of a trusted client and an untrusted client based on one or more properties of the sync session, wherein the trusted client is configured to support all dataclasses defined by the server. The one or more clients are detected as being configured to support field level differencing that sends changed data items only for the one or data records or record level differencing that sends all of the data items included in the one or more data records.
Abstract:
Receiving a notification message by a mobile subscriber can include establishing a session with a notification service; maintaining a persistent communication connection with the notification service after the session is established; subscribing to a node hosted by the notification service, wherein the node is pre-provisioned for use by a mobile subscriber; and receiving from the notification service a notification message corresponding to the subscribed node. Further, a message can be transmitted over the communication connection to the notification service at a predetermined interval and it can be determined whether the communication connection is viable. Additionally, it can be determined that the communication connection is no longer viable if no response is received from the notification service, the period of the predetermined interval can be decreased, and another session with the notification service can be established.
Abstract:
Among other things, techniques and systems are disclosed for providing sync server process. Processing data sync sessions includes processing a request to initiate a sync session from one or more clients to update one or more data records that include one or more data items. The one or more clients are selectively identified as one of a trusted client and an untrusted client based on one or more properties of the sync session, wherein the trusted client is configured to support all dataclasses defined by the server. The one or more clients are detected as being configured to support field level differencing that sends changed data items only for the one or data records or record level differencing that sends all of the data items included in the one or more data records.
Abstract:
Synchronization architectures, methods, systems, and computer readable media are described. A synchronization session is initiated between a first data processing system and a second data processing system. A first data, representing changes, is transmitted from the first data processing system to the second data processing system prior to completing a negotiation of a synchronization mode in the synchronization session for synchronizing data between the first data processing system and the second data processing system.
Abstract:
Receiving a notification message by a mobile subscriber can include establishing a session with a notification service; maintaining a persistent communication connection with the notification service after the session is established; subscribing to a node hosted by the notification service, wherein the node is pre-provisioned for use by a mobile subscriber; and receiving from the notification service a notification message corresponding to the subscribed node. Further, a message can be transmitted over the communication connection to the notification service at a predetermined interval and it can be determined whether the communication connection is viable. Additionally, it can be determined that the communication connection is no longer viable if no response is received from the notification service, the period of the predetermined interval can be decreased, and another session with the notification service can be established.
Abstract:
Methods, systems, and apparatus are presented for processing a remote command message. In one aspect, a method includes accessing a subscribed topic hosted on a notification service, the subscribed topic corresponding to a mobile device, retrieving a remote command message included in the subscribed topic that identifies a command to be executed by the mobile device, determining whether the command can be executed by the mobile device, publishing a result message associated with the command, and executing, by the mobile device, the command based on the determining. Publishing the result message further can include identifying in the remote command message a result topic corresponding to the notification service and publishing the result message to the identified result topic. Additionally, the subscribed topic can be uniquely associated with the mobile device.
Abstract:
Methods and systems are presented for remotely commanding a mobile device. In one aspect, a method includes receiving input identifying a mobile device, presenting to a user one or more remote commands corresponding to the mobile device, receiving user input selecting a remote command from the one or more presented remote commands, generating a remote command message instructing the mobile device to execute the selected remote command, and transmitting the remote command message to a server for publication in a message topic. Further, a selectable list of mobile devices associated with a remote management account can be presented to the user, the selectable list including information uniquely identifying each mobile device. Additionally, the selectable list of mobile devices can include an indication of whether an included mobile device is online.
Abstract:
Synchronization architectures, methods, systems, and computer readable media are described. In one embodiment, a synchronization session is initiated between a first data processing system and a second data processing system. The synchronization session includes at least a first portion and a second portion. The first data processing system performs the first portion of the synchronization session. The first data processing system receives a sync anchor checkpoint. The sync anchor checkpoint indicates to the second data processing system that the first portion of the synchronization session is complete before the second portion is complete. In one embodiment, the first data processing system determines that the synchronization session is in a failure state. The first data processing system transmits the sync anchor checkpoint to the second data processing system. The second portion of the synchronization session is performed.