Abstract:
Techniques for message deduplication are described. In one embodiment, an apparatus may comprise a client front-end component operative to receive an incoming message at a messaging system from a messaging client on a client device; extract a deduplication token from the incoming message; store the incoming message in a message queue where examining the deduplication token determines that the incoming message does not duplicate any existing message of the messaging system; and discard the incoming message where examining the deduplication token determines that the incoming message does duplicate an existing message; and a message deduplication component operative to examine the deduplication token to determine whether the incoming message duplicates any existing message of the messaging system. Other embodiments are described and claimed.
Abstract:
Techniques for intelligent messaging for message syncing are described. An apparatus may comprise a recipient inbound messaging component, a recipient queue management component, a recipient update customization component, and a recipient outbound messaging component. The recipient inbound messaging component may be operative to receive an incoming update at a recipient update queue, the recipient update queue associated with a recipient of the incoming update. The recipient queue management component may be operative to add the incoming update to the recipient update queue and determine a recipient messaging endpoint to receive the incoming update. The recipient update customization component may be operative to retrieve one or more recipient messaging endpoint parameters associated with the recipient messaging endpoint and generate a customized incoming update from the incoming update according to the one or more recipient messaging endpoint parameters. The recipient outbound messaging component may be operative to transmit the customized incoming update to the recipient messaging endpoint. Other embodiments are described and claimed.
Abstract:
Techniques for directive-based messaging synchronization are described. In one embodiment, an apparatus may comprise a local network component operative to receive a directive package at a messaging client on a client device; and a local database synchronization component operative to execute the directive package with a messaging-sync virtual machine to modify a local messaging database of the messaging client; and refresh a user interface component of the messaging client in response to modifying the local messaging database of the messaging client. Other embodiments are described and claimed.
Abstract:
Techniques for a sequential message reader for message syncing are described. An apparatus may comprise a network component and an inbox management component. The network component may be operative to receiving an incoming update at a messaging endpoint from a recipient update queue, the incoming update comprising an incoming recipient sequence number. The inbox management component may be operative to add the incoming update to a message inbox on the messaging endpoint, the incoming update added to the message inbox in an order determined by the incoming recipient sequence number and determine based on the incoming recipient sequence number whether one or more additional updates are missing from the message inbox on the messaging endpoint. Other embodiments are described and claimed.
Abstract:
Techniques for a database-driven messaging user interface are described. In one embodiment, an apparatus may comprise a database access component operative to determine that a local messaging database of a messaging client on a client device has been updated; and examine the local messaging database to determine a set of database queries to rerun for a plurality of local user interface components; and the local user interface components operative to refresh based on running the set of database queries against the local messaging database. Other embodiments are described and claimed.
Abstract:
Techniques for backend-specific cursor tracking are described. In one embodiment, an apparatus may comprise a local database synchronization component operative to initiate a client update at a messaging client on a client device, the client update associated with a specific backend service for a messaging system; retrieve an opaque backend-specific update cursor for the specific backend service; and store an updated opaque backend-specific update cursor for the messaging client; and a local network component operative to send the opaque backend-specific update cursor to the messaging system in association with a client update request; and receive an update package at the messaging client on the client device, the update package comprising the updated opaque backend-specific update cursor. Other embodiments are described and claimed.
Abstract:
The disclosure is directed to moving an application, e.g., a messenger service in a social networking application, to various locations in a distributed computing system, e.g., to improve an efficiency of the application. For example, the application can be moved to a data center that is closer to a location of a user to decrease a latency associated with accessing the application. In another example, the application can be moved to a data center that is closer to a location of a storage system that stores data associated with the application to improve a throughput of the application, e.g., a rate at which data is read and/or written.
Abstract:
Techniques for directive-based messaging synchronization are described. In one embodiment, an apparatus may comprise a local network component operative to receive a directive package at a messaging client on a client device; and a local database synchronization component operative to execute the directive package with a messaging-sync virtual machine to modify a local messaging database of the messaging client; and refresh a user interface component of the messaging client in response to modifying the local messaging database of the messaging client. Other embodiments are described and claimed.
Abstract:
Techniques for consistent writes in a split message store are described. In one embodiment, an apparatus may comprise a client front-end component of a messaging system operative to receive a message, the message comprising message metadata and a message body; and store the message in a message queue; and the message queue operative to initiate a storing of the message metadata in a metadata store; delay a storing of the message body in a message store until a metadata storage success indication is received from the metadata store; receive the metadata storage success indication from the metadata store; and store the message body in the message store in response to receiving the metadata storage success indication from the metadata store. Other embodiments are described and claimed.
Abstract:
The disclosure is directed to a failover mechanism for failing over an application service, e.g., a messaging service, from servers in a first region to servers in a second region. Data is stored as shards in which each shard contains data associated with a subset of the users. Data access requests are served by a primary region of the shard. A global shard manager manages failing over the application service from a current primary region of a shard to a secondary region of the shard. The current primary determines whether a criterion for failing over, e.g., a replication lag between the primary and the secondary regions is within a threshold, and if it is within the threshold, the failover process waits until the lag is zero. After the replication lag is zero, the application service is failed over to the second region, which then becomes the primary for the shard.