G06F16/2322

Windowed writes

Systems and methods are provided for synchronizing data. The systems and methods include operations for: storing a synchronization entry for a messaging application feature, the synchronization entry comprising a last update timestamp associated with a first update to content of the messaging application feature received from a first source; receiving a second update to the content of the messaging application feature from the first source; determining that the second update was received within a write window of the last update timestamp; in response to determining that the second update was received within the write window of the last update timestamp, preventing updating the last update timestamp; and sending the first update and the second update to a client device in response to receiving a synchronization request from the client device based on the last update timestamp.

In-place garbage collection for state machine replication

Garbage collection processing in a distributed shared log system includes a client identifying obsoleted log entries for a shared data object. The client sends information associated with the identified obsoleted log entries to a shared log server. The shared log server receives information associated with obsoleted log entries from all clients in the distributed shared log system and uses the information to delete the obsoleted log entries. The shared log server can update a snapshot mark to indicate the earliest time that a snapshot of the shared log can be taken. The snapshot mark can be updated based on the information associated with obsoleted log entries.

Efficient filename storage and retrieval
11704336 · 2023-07-18 · ·

The disclosed technology relates to a system configured to detect a modification to a node in a tree data structure. The node is associated with a content item managed by a content management service as well as a filename. The system may append the filename and a separator to a filename array, determine a location of the filename in the filename array, and store the location of the filename in the node.

Multi-master data replication in a distributed multi-tenant system
11698894 · 2023-07-11 · ·

A multi-master replication system is disclosed. The multi-master replication system allows a large set of peer instances to collaboratively replicate data to each other. According to an example, a change detection thread running on a first server associated with a first instance of multiple instances of a replicated database monitors for changes to any of multiple records within one or more shared tables of the replicated database. Responsive to detection of a change to a record, an item is stored by the change detection thread onto a queue containing information regarding the change. Groups of changes are packaged into multiple chunks, in which each chunk (i) corresponds to a discrete unit of progress for both change detection and transport; (ii) is associated with multiple changed records; (iii) contains metadata about the multiple changed records; and (iv) does not contain data from the one or more shared tables.

Techniques for Tiered Cache in NoSQL Multiple Shard Stores
20230214387 · 2023-07-06 ·

Computer technology for: (i) performing prefetching based on shard workload in NoSQL; and/or (ii) perform distribution of stored data over the various tiers of a cache memory based on shard workload in NoSQL. This can help achieve better load balance among and between the shards of a database and the respectively associated nodes on which the shards are stored.

Unique ID generation for sensors

Systems, methods, and computer-readable media are provided for generating a unique ID for a sensor in a network. Once the sensor is installed on a component of the network, the sensor can send attributes of the sensor to a control server of the network. The attributes of the sensor can include at least one unique identifier of the sensor or the host component of the sensor. The control server can determine a hash value using a one-way hash function and a secret key, send the hash value to the sensor, and designate the hash value as a sensor ID of the sensor. In response to receiving the sensor ID, the sensor can incorporate the sensor ID in subsequent communication messages. Other components of the network can verify the validity of the sensor using a hash of the at least one unique identifier of the sensor and the secret key.

Assignment of quora values to nodes based on importance of the nodes

Embodiments described herein are generally directed to techniques for avoiding or mitigating shared-state damage during a split-brain condition in a distributed network of compute nodes. According to an example, a number, N, of nodes within the distributed computing system is determined. During normal operation of the distributed computing system, a unified state is maintained by synchronizing shared state information. The nodes are ordered by increasing importance to an application from 1 to N. A quora value, q.sub.n, is assigned to each of the nodes in accordance with the ordering, where q.sub.1=1 and each subsequent quora value, q.sub.n+1, is a sum of all prior quora values, q.sub.1 to q.sub.n, plus either 1 or a current value of n. These quora values may then be used to determine membership in the dominant or a yielding set to facilitate recovery from the split-brain condition by performing pessimistic or optimistic mitigation actions.

Optimized content object storage service for large scale content

Provided are techniques for optimized content object storage service for large scale content. A content object file is created. An index entry for the content object file is created with a content object key and a content object location. The content object file is appended to an aggregated file on a storage node. In response to a request to retrieve the content object file from the aggregated file, the content object key is used to access the content object location that describes the storage node, a name of the aggregated file, an offset into the aggregated file, and a size of the content object file to retrieve the content object file.

Methods and apparatus for event management

Apparatus and methods are provided for enabling a sensor device to receive and transmit updates effectively via one or more rules applied to a plurality of event records for transmission by an event management server. In one exemplary embodiment, the event management server manages the plurality of event records (such as records of deletions or updates to a user's profile or goals), via an event suppression application. The event suppression application ensures that event records are not redundantly provided to the sensor device and/or irrelevant records (such as those which no longer contain the most up-to-date information) are not provided to the sensor device. Hence, only the most relevant event records are provided and that those which are not relevant are ignored (not transmitted). In this manner, the sensor device may operate more efficiently to receive only the most relevant transmissions.

Analysis of streaming data using deltas and snapshots

Implementations described herein relate to methods, systems, and computer-readable media to obtain snapshots used for analysis of streaming data. In some implementations, a computer-implemented method includes receiving initial data that includes a plurality of identifiers and corresponding timestamps, generating and storing a snapshot based on the initial data, wherein the snapshot includes the identifiers and a corresponding status, receiving a data stream that includes a subset of the identifiers, activity information for each identifier in the subset, and corresponding timestamps. The method further includes periodically analyzing the data stream to obtain a delta that includes an updated status for each identifier in the subset, storing the delta separate from the snapshot. The method further includes receiving a request for identifiers that are active in a particular time period, and based on the particular time period, retrieving active identifiers from the data stream, the delta, or the snapshot.