-
11.
公开(公告)号:US20200301729A1
公开(公告)日:2020-09-24
申请号:US16895132
申请日:2020-06-08
Applicant: Google LLC
Inventor: Brian Frank Cooper , Alexander Lloyd , Sebastian Kanthak , Andrew Fikes , Christopher Taylor
Abstract: In a distributed system where a client's call to commit a transaction occurs outside the transaction's lock-hold interval, computation of timestamp information for the transaction is moved to a client library, while ensuring that no conflicting reads or writes are performed between a time of the computation and acquiring all locks for the transaction. The transaction is committed in phases, with each phase being initiated by the client library. Timestamp information is added to the locks to ensure that timestamps are generated during lock-hold intervals. An increased number of network messages is thereby overlapped with a commit wait period in which a write in a distributed database is delayed in time to ensure concurrency in the database.
-
公开(公告)号:US20190266176A1
公开(公告)日:2019-08-29
申请号:US16241598
申请日:2019-01-07
Applicant: Google LLC
Inventor: Wilson Cheng-Yi Hsieh , Alexander Lloyd
Abstract: Paxos transactions are pipelined in a distributed database formed by a plurality of replica servers. A leader server is selected by consensus of the replicas, and receives a lock on leadership for an epoch. The leader gets Paxos log numbers for the current epoch, which are greater than the numbers allocated in previous epochs. The leader receives database write requests, and assigns a Paxos number to each request. The leader constructs a proposed transaction for each request, which includes the assigned Paxos number and incorporates the request. The leader transmits the proposed transactions to the replicas. Two or more write requests that access distinct objects in the database can proceed simultaneously. The leader commits a proposed transaction to the database after receiving a plurality of confirmations for the proposed transaction from the replicas. After all the Paxos numbers have been assigned, inter-epoch tasks are performed before beginning a subsequent epoch.
-
13.
公开(公告)号:US10037346B1
公开(公告)日:2018-07-31
申请号:US13661913
申请日:2012-10-26
Applicant: Google LLC
CPC classification number: G06F16/20 , G06F16/27 , G06F16/273 , G06F16/951 , H04L29/0604
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.
-
公开(公告)号:US11831711B2
公开(公告)日:2023-11-28
申请号:US17980268
申请日:2022-11-03
Applicant: Google LLC
Inventor: Iulian Moraru , Brian Frank Cooper , Sebastian Kanthak , Alexander Lloyd , Mert Akdere
IPC: H04L67/1074 , H04L69/324 , H04W28/06 , H04L67/133 , H04L67/60 , H04L69/28
CPC classification number: H04L67/108 , H04L67/133 , H04L67/60 , H04L69/324 , H04W28/065 , H04L69/28
Abstract: Systems and methods are provided for sending and receiving remote procedure calls (RPCs). Based on a message in a first RPC, a second set of RPCs are created by one or more computing devices, where each of the second set of RPCs includes a portion of the message in the first RPC. The message in the first RPC is replaced with a reference to each RPC of the second set of RPCs. The one or more computing devices send the first RPC with the references, and also send the second set of RPCs.
-
公开(公告)号:US11789938B1
公开(公告)日:2023-10-17
申请号:US17875780
申请日:2022-07-28
Applicant: Google LLC
Inventor: Wilson Cheng-Yi Hsieh , Alexander Lloyd , Peter Hochschild , Michael James Boyer Epstein , Sean Quinlan
IPC: G06F16/23 , G06F16/14 , G06F9/46 , G06F16/2458
CPC classification number: G06F16/2379 , G06F9/466 , G06F16/148 , G06F16/2322 , G06F16/2477
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.
-
公开(公告)号:US20230052324A1
公开(公告)日:2023-02-16
申请号:US17980268
申请日:2022-11-03
Applicant: Google LLC
Inventor: Iulian Moraru , Brian Frank Cooper , Sebastian Kanthak , Alexander Lloyd , Mert Akdere
IPC: H04L67/133 , H04L67/60 , H04L67/1074 , H04L69/324 , H04W28/06 , H04L69/28
Abstract: Systems and methods are provided for sending and receiving remote procedure calls (RPCs). Based on a message in a first RPC, a second set of RPCs are created by one or more computing devices, where each of the second set of RPCs includes a portion of the message in the first RPC. The message in the first RPC is replaced with a reference to each RPC of the second set of RPCs. The one or more computing devices send the first RPC with the references, and also send the second set of RPCs.
-
17.
公开(公告)号:US11520753B1
公开(公告)日:2022-12-06
申请号:US16992602
申请日:2020-08-13
Applicant: Google LLC
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.
-
公开(公告)号:US11353917B1
公开(公告)日:2022-06-07
申请号:US16992673
申请日:2020-08-13
Applicant: Google LLC
Inventor: Peter Hochschild , Alexander Lloyd , Wilson Cheng-Yi Hsieh , Robert Edman Felderman , Michael James Boyer Epstein
Abstract: The present technology proposes techniques for generating globally coherent timestamps. This technology may allow distributed systems to causally order transactions without incurring various types of communication delays inherent in explicit synchronization. By globally deploying a number of time masters that are based on various types of time references, the time masters may serve as primary time references. Through an interactive interface, the techniques may track, calculate and record data relative to each time master thus providing the distributed systems with causal timestamps.
-
公开(公告)号:US12061625B2
公开(公告)日:2024-08-13
申请号:US17485905
申请日:2021-09-27
Applicant: Google LLC
Inventor: Wilson Cheng-Yi Hsieh , Alexander Lloyd
IPC: G06F16/27 , G06F16/23 , H04L67/10 , H04L67/1095
CPC classification number: G06F16/273 , G06F16/2343 , G06F16/2379 , G06F16/27 , H04L67/1095
Abstract: Paxos transactions are pipelined in a distributed database formed by a plurality of replica servers. A leader server is selected by consensus of the replicas, and receives a lock on leadership for an epoch. The leader gets Paxos log numbers for the current epoch, which are greater than the numbers allocated in previous epochs. The leader receives database write requests, and assigns a Paxos number to each request. The leader constructs a proposed transaction for each request, which includes the assigned Paxos number and incorporates the request. The leader transmits the proposed transactions to the replicas. Two or more write requests that access distinct objects in the database can proceed simultaneously. The leader commits a proposed transaction to the database after receiving a plurality of confirmations for the proposed transaction from the replicas. After all the Paxos numbers have been assigned, inter-epoch tasks are performed before beginning a subsequent epoch.
-
20.
公开(公告)号:US12007956B1
公开(公告)日:2024-06-11
申请号:US17965212
申请日:2022-10-13
Applicant: Google LLC
CPC classification number: G06F16/20 , G06F16/2322 , G06F16/2343 , G06F16/27 , G06F16/273 , G06F16/951 , H04L69/04
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.
-
-
-
-
-
-
-
-
-