Conflict-free two-way synchronization for distributed version control
    1.
    发明授权
    Conflict-free two-way synchronization for distributed version control 有权
    用于分布式版本控制的无冲突双向同步

    公开(公告)号:US09535969B1

    公开(公告)日:2017-01-03

    申请号:US14457803

    申请日:2014-08-12

    Applicant: GOOGLE INC.

    CPC classification number: G06F17/30575

    Abstract: A system and method for conflict-free two-way synchronization between a primary repository and a secondary repository, which may be a mirror of the primary repository, are disclosed. An example method includes receiving a child revision associated with a parent revision in a secondary repository. The parent revision may be pointed to by a second user-visible reference in the secondary repository. The hidden reference to the child revision may be stored in a temporary storage area in the secondary repository that is hidden from view of user operations. A first user-visible reference in the primary repository that corresponds to the second user-visible reference in the secondary repository may be identified. This first-user-visible reference may point to a revision in the primary repository. Then, the revision to which the first user-visible reference in the primary repository points may be compared with the revision to which the second user-visible reference in the secondary repository points. If the revision to which the second user-visible reference points in the secondary repository is a copy of the revision to which the first user-visible reference points in the primary repository, the child revision may be pushed from the secondary repository to the primary repository so that the primary repository includes a copy of the child revision from the secondary repository. The first user-visible reference in the primary repository may be updated to point to the copy of the child revision in the primary repository.

    Abstract translation: 公开了主存储库和次存储库之间的无冲突双向同步的系统和方法,其可以是主存储库的镜像。 示例性方法包括接收与辅助存储库中的父版本相关联的子修订。 辅助存储库中的第二个用户可见参考可能指向父版本。 对子修订版的隐藏引用可能存储在辅助存储库中的临时存储区域中,这些存储区域隐藏于用户操作的视图中。 可以识别主存储库中对应于辅助存储库中的第二用户可见引用的第一个用户可见引用。 此第一个用户可见的引用可能指向主存储库中的修订版本。 然后,可以将主存储库中的第一个用户可见引用的修订版本与辅助存储库中的第二个用户可见引用的指针进行比较。 如果辅助存储库中的第二个用户可见参考点的修订版本是主存储库中第一个用户可见引用指向的修订版本的副本,则子修订版可能会从辅助存储库推送到主存储库 以便主存储库包括辅助存储库中的子版本的副本。 可以将主存储库中的第一个用户可见引用更新为指向主存储库中子修订版本的副本。

    Storing and Moving Data in a Distributed Storage System
    4.
    发明申请
    Storing and Moving Data in a Distributed Storage System 有权
    在分布式存储系统中存储和移动数据

    公开(公告)号:US20130346540A1

    公开(公告)日:2013-12-26

    申请号:US13899495

    申请日:2013-05-21

    Applicant: Google Inc.

    CPC classification number: H04L67/1097

    Abstract: A system, computer-readable storage medium storing at least one program, and a computer-implemented method for identifying a storage group in a distributed storage system into which data is to be stored is presented. A data structure including information relating to storage groups in a distributed storage system is maintained, where a respective entry in the data structure for a respective storage group includes placement metrics for the respective storage group. A request to identify a storage group into which data is to be stored is received from a computer system. The data structure is used to determine an identifier for a storage group whose placement metrics satisfy a selection criterion. The identifier for the storage group whose placement metrics satisfy the selection criterion is returned to the computer system.

    Abstract translation: 呈现存储至少一个程序的系统,计算机可读存储介质和用于识别要存储数据的分布式存储系统中的存储组的计算机实现的方法。 维护包括与分布式存储系统中的存储组有关的信息的数据结构,其中相应存储组的数据结构中的相应条目包括各个存储组的布局度量。 从计算机系统接收到识别要存储数据的存储组的请求。 数据结构用于确定其布局度量满足选择标准的存储组的标识符。 其位置指标满足选择标准的存储组的标识符返回给计算机系统。

    Ensuring globally consistent transactions
    5.
    发明授权
    Ensuring globally consistent transactions 有权
    确保全球一致的交易

    公开(公告)号:US09569253B1

    公开(公告)日:2017-02-14

    申请号:US13905637

    申请日:2013-05-30

    Applicant: Google Inc.

    CPC classification number: G06F17/30377 G06F9/466 G06F17/30551

    Abstract: The present technology proposes techniques for ensuring globally consistent transactions. This technology may allow distributed systems to ensure the causal order of read and write transactions across different partitions of a distributed database. By assigning causally generated timestamps to the transactions based on one or more globally coherent time services, the timestamps can be used to preserve and represent the causal order of the transactions in the distributed system. In this regard, certain transactions may wait for a period of time after choosing a timestamp in order to delay the start of any second transaction that might depend on it. The wait may ensure that the effects of the first transaction are not made visible until its timestamp is guaranteed to be in the past. This may ensure that a consistent snapshot of the distributed database can be determined for any past timestamp.

    Abstract translation: 本技术提出了确保全球一致交易的技术。 该技术可能允许分布式系统确保分布式数据库的不同分区之间的读写事务的因果顺序。 通过基于一个或多个全局一致的时间服务将事件生成的时间戳分配给事务,可以使用时间戳来保留和表示分布式系统中的事务的因果顺序。 在这方面,某些交易可能会在选择时间戳之后等待一段时间,以便延迟可能依赖于它的任何第二个交易的开始。 等待可以确保第一个事务的效果在其时间戳保证为过去之前不可见。 这可以确保可以为任何过去的时间戳确定分布式数据库的一致快照。

    Time reservations for ensuring consistent reads in a distributed database without logging

    公开(公告)号:US10783133B1

    公开(公告)日:2020-09-22

    申请号:US15631646

    申请日:2017-06-23

    Applicant: Google Inc.

    Abstract: The subject matter described herein provides techniques to ensure that queries of a distributed database observe a consistent read of the database without locking or logging. In this regard, next-write timestamps uniquely identify a set of write transactions whose updates can be observed by reads. By publishing the next-write timestamps from within an extendable time lease and tracking a “safe timestamp,” the database queries can be executed without logging read operations or blocking future write transactions, and clients issuing the queries at the “safe timestamp” observe a consistent view of the database as it exists on or before that timestamp. Aspects of this disclosure also provide for extensions, done cheaply and without the need for logging, to the range of timestamps at which read transactions can be executed.

Patent Agency Ranking