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 syncing data between a client device and a server. Synchronizing data includes initiating a sync session by negotiating a sync mode between a client device and a server for each of one or more dataclasses. A status code is generated based on a result of the negotiating. Based on the generated status code, the client device and the server exchange one or more data items to be updated for the one or more dataclasses using the negotiated sync mode for each dataclass. The exchanged one or more data items are updated at the client device or the server. The updated one or more data items are committed at the client or the server.
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:
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:
System and method for rendering dynamic three-dimensional appearing imagery on a two-dimensional user interface screen of a portable computing device in dependence on a user's view-point of the screen. The method includes processing, on a portable computing device, data defining a plurality of user view-points of a user interface screen of the portable computing device. The method next includes rendering a first image of a constructed scene on the user interface screen based on a first determined user's view-point of the user interface screen of the portable computing device. The method then includes rendering a different image of the constructed scene on the user interface screen based on a subsequently determined user's view-point of the user interface screen and thereby presenting the illusion of a three-dimensional image of the constructed scene on the user interface screen.
Abstract:
Methods, systems, and apparatus are presented for processing a remote lock command message. In one aspect, a method includes receiving, by a mobile device, a remote lock command message comprising a lock command and specifying a passcode to be set by the mobile device, locking the mobile device in response to the received remote lock command message, setting an unlock passcode associated with the mobile device to the specified passcode, and generating an acknowledgement message in response to the remote lock command message. Further, receiving the remote lock command message can include accessing a subscribed topic hosted on a notification service, the subscribed topic being associated with a lock command, and retrieving the remote lock command message from the subscribed topic. Additionally, locking the mobile device can include locking a display such that access to information stored on the mobile device and device functionality are blocked.
Abstract:
Processing data synchronization sessions includes processing a request to initiate a synchronization 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 synchronization session, wherein the trusted client is configured to support all data classes 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:
Among other things, techniques and systems are disclosed for syncing data between a client device and a server. Synchronizing data includes initiating a sync session by negotiating a sync mode between a client device and a server for each of one or more dataclasses. A status code is generated based on a result of the negotiating. Based on the generated status code, the client device and the server exchange one or more data items to be updated for the one or more dataclasses using the negotiated sync mode for each dataclass. The exchanged one or more data items are updated at the client device or the server. The updated one or more data items are committed at the client or the server.
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.