摘要:
A sync community may include a group of synchronization endpoints. When two synchronization endpoints of the sync community synchronize with one another, a synchronization data conflict may be detected when the two synchronization endpoints make a change to a same particular data item and the two synchronization endpoints were unaware of the changes to the same particular data item made by the other respective synchronization endpoint at the time the changes were made. Resolution of the detected synchronization data conflict may be delayed and data indicative of the detected synchronization data conflict may be propagated to other synchronization endpoints during a synchronization operation.
摘要:
Synchronization of a web syndication item over a Really Simple Syndication (RSS) format between a publisher and a subscriber. The publisher creates the web syndication item by including a media content associated therewith. The synchronization metadata is defined to include a first virtual clock value associated with the created web syndication item. The first virtual clock value indicates when the web syndication item was last updated. A request for subscribing the published web syndication item is received from the subscriber. In response to the received request, the published web syndication item is transmitted to a location remote from the publisher and accessible by the subscriber. The first virtual clock value is provided to the subscriber for use by the subscriber to modify the first virtual clock value when the subscriber modifies the media content associated with the web syndication item.
摘要:
Tombstones can be removed from a data store without data corruption. Tombstones placed into a forgotten knowledge list can be compared against each other and/or items in a tombstone table, and deleted when tombstones representing subsequently deleted items are extant. Also, creation database version information can be kept along with database items, and databases can record database version information when they synchronize. If a synchronizing database discovers an item that it does not have, but the creation database version information associated with the item reflects that the synchronizing database “should” have the item, then it can be inferred that the item was subsequently deleted, and item resurrection can be prevented.
摘要:
An event-handling system identifies multiple policies to be combined together in a merged policy set. The system determines whether any conflicts exist between the multiple policies. Any non-conflicting policies are included in the merged policy set. The system resolves conflicting policies by selecting a preferred policy and including the preferred policy in the merged policy set. The preferred policy is selected by arranging conflicting policy templates in order from global policies to local policies and determining the intersection of the conflicting policy templates. The preferred policy template is selected based on the policy template closest to the local policies and within the intersection of the conflicting policy templates.
摘要:
Several embodiments of the present invention comprise a storage platform that provides a synchronization service that (i) allows multiple instances of the storage platform (each with its own data store) to synchronize parts of their content according to a flexible set of rules, and (ii) provides an infrastructure for third parties to synchronize the data store of the storage platform of the present invention with with other data sources that implement proprietary protocols. However, it is possible that a conflict might arise in a number of synchronization scenarios. For example, A1 and B2 may have been changes made to the same change unit, or A1 might be a deletion to the same change unit that B2 was modifying. While some of these conflicts can be resolved using the conflict resolution options discussed ealier herein, certain conflicts provide particularly difficult challenges, and these challenges and their solutions are discussed herein.
摘要:
A protocol for replicating replicas in a sync community. Each replica maintains a knowledge that represents changes that the replica is aware of. Each replica does not typically maintain knowledge about other replicas. The protocol includes messages that include knowledge about changes on the various replicas. Using the knowledge, the replicas can enumerate changes and send the changes using asynchronous messages that do not need to be received in any particular order. The protocol enables filters to ensure that a valid replication is possible using a minimum knowledge argument. The protocol also enables replicas to partially replicate using filtered knowledge.
摘要:
Systems and methods for reporting the occurrence of events in a computer system to event subscriber software are disclosed. Events arc detected within a computer system or computer system environment by event detection components. An Event provider receives notification of the occurrence of each event. Instead of the event provider then forwarding each of the events to a single, centralized location for filtering, embodiments of the present invention perform the filtering of events at the location of the event provider. This is accomplished by custom forward marshaling a proxy to each event provider. Also marshaled is at least one event-filtering definition that specifics which events should be reported by that event provider to the subscriber software. The event-filtering definitions are written in a structured query language, which can be used to precisely select which events are to be reported. In this way, instead of reporting each event received by it, an event provider, by virtue of the proxy procedure, will only report those events that have been requested by an event subscriber. Non requested events are discarded, thereby reducing the use of processing resources that would otherwise be used if all events were sent to a single, centralized filter.
摘要:
A data custodian and curation system may store data from a data supplier in encrypted form and may allow users to consume the data when the consumers obtain access to the data through an agreement. The curation system may manage access to the data, even allowing a consumer to use the data as if it were their own, but may track each usage of the data to implement a payment scheme or various usage restrictions. The curation system may encrypt downstream uses of the data and operate as a digital rights management system for the data. The custodian and curation system may operate as a cloud service that may contain encrypted data from many data providers but where the data providers may individually control access to their data in a managed system at any granular level.
摘要:
Embodiments are directed to efficiently routing data requests from a plurality of tenants and to using smart routing to limit service denials. In an embodiment, a gateway node receives data requests from a tenant subscriber requesting data for an indicated service. The gateway node determines which server node the received data requests are to be routed to. The determination evaluates various criteria associated with the data request. The gateway node queries the determined server node to determine the health of the server nodes and receives a reply from the determined server node indicating the server node's current operating status. The gateway node also, based on the determined server node's reply, routes the received data requests to the determined server node, according to the evaluated criteria.
摘要:
An efficient way and general mechanism is provided to represent and exchange knowledge and/or partial knowledge across nodes when synchronizing between any two nodes including custom or move filters where set membership can change over time at a device as data items come in and out of filter scope. A first node sends a second node its knowledge and/or partial knowledge, including objects and versions of those objects. The second node compares its knowledge and/or partial knowledge with the knowledge and/or partial knowledge of the first node, and then sends the first node any latest versions of objects of which the first node is unaware. In addition, the second node sends its knowledge and/or partial knowledge to the first node. The first node then performs a similar object-by-object version comparison to determine any conflicts due to independent evolution of objects and any changes that can be sent to the second node in order to bring the objects of the second node up to date with the knowledge and/or partial knowledge of the first node. Replicas can track filters to efficiently support synchronizing with filtered replicas. Filter forgotten knowledge is also used to represent how recently a replica can guarantee to know which items have been in the filter. Ghosts can be used to represent items that have been in the filter recently but have currently moved out. Filter forgotten knowledge concept allows both new filters to be tracked when they are introduced into the community, as well as periodically cleaning up of tombstones and ghosts.