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 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:
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:
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.