IP Library Granted Patent US 11,531,684
Granted Patent B2
US 11,531,684 · App. 17/180,732 · Granted Dec 20, 2022

Session-level read your writes consistency among digital data versions in a distributed network

Inventor: Nitzan Shaked (Herzeliya, IL)
Assignee: Meta Platforms, Inc.
G06F16/27G06F16/2379
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,531,684
App. No.
17/180,732
Granted
Dec 20, 2022
Kind
B2
Abstract

The present disclosure relates to systems, non-transitory computer-readable media, and methods for consistently providing accurate versions of digital data within a distributed server network utilizing session-level user tokens. For example, in one or more embodiments, the disclosed systems generate a session-level user token that is specific to a client computing device participating in a session and in response to receiving a write request from the client computing device. As the client computing device initiates additional requests to read and write digital data from the distributed server network during the session, the disclosed systems maintain current version information within the session-level user token, and utilize this version information to verify that data provided to the client computing device from the distributed server network is accurate at the session-level.

Claims (81)

1. A computer-implemented method comprising:

receiving, at a first server from a client computing device participating in a session, a write request to modify digital data;

generating a session-level user token comprising a write-data version corresponding to the session;

receiving during the session, at a second server via the client computing device participating in the session, a request to utilize the modified digital data, the request comprising the session-level user token;

utilizing the write-data version of the session-level user token to verify that a digital data repository of the second server reflects the modified digital data;

providing a response to the client computing device during the session utilizing the modified digital data; and

expiring the session-level user token in response to determining that the session has ended or detecting satisfaction of a threshold update status of the digital data across a plurality of servers during the session.

2. The computer-implemented method as recited in claim 1 , wherein utilizing the write-data version of the session-level user token to verify that the digital data repository of the second server reflects the modified digital data comprises, during the session, comparing the write-data version of the session-level user token with a version identifier of the digital data repository of the second server.

3. The computer-implemented method as recited in claim 2 , wherein utilizing the write-data version of the session-level user token to verify that the digital data repository of the second server reflects the modified digital data comprises:

determining, at a first time within the session based on comparing the write-data version of the session-level user token with a version identifier of the digital data repository, that the digital data repository of the second server does not reflect the modified digital data;

updating the digital data repository and identifying an updated version identifier of the digital data repository; and

determining, at a second time within the session based on comparing the write-data version of the session-level user token to the updated version identifier, that the digital data repository reflects the modified digital data.

4. The computer-implemented method as recited in claim 3 , further comprising:

in response to generating the session-level user token, providing the session-level user token to the client computing device; and

receiving, at the second server during the session, the session-level user token with the request from the client computing device.

5. The computer-implemented method as recited in claim 1 , further comprising:

in response to generating the session-level user token, providing the session-level user token to a request routing server; and

receiving, at the second server via the client computing device during the session, the request for the modified digital data by:

receiving, at the request routing server, the request for the modified digital data from the client computing device;

combining, at the request routing server, the request and the session-level user token; and

routing the request with the session-level user token from the request routing server to the second server.

6. The computer-implemented method as recited in claim 1 , further comprising:

receiving, at an additional server from the client computing device participating in the session, an additional write request to modify additional digital data; and

updating the session-level user token with an updated write-data version corresponding to the session.

7. The computer-implemented method as recited in claim 6 , further comprising:

receiving, at one or more servers via the client computing device participating in the session, a second request for the modified additional digital data; and

utilizing the updated write-data version of the updated session-level user token to verify that a digital data repository of the one or more servers reflects the modified additional digital data.

8. The computer-implemented method as recited in claim 1 , further comprising:

determining that an amount of time since receiving the write request satisfies expiration criteria; and

removing the write-data version from the session-level user token based on determining that the write-data version has expired.

9. The computer-implemented method as recited in claim 1 , further comprising: receiving, at a server from the client computing device participating in a second session, a second write request to modify digital data; and

generating a second session-level user token corresponding to the second session of the client computing device.

10. The computer-implemented method as recited in claim 1 ,

wherein the write request comprises a digital asset transaction request for a distributed digital ledger maintained by a distributed digital ledger network; and

further comprising:

transmitting the digital asset transaction request to the distributed digital ledger to generate the modified digital data; and

providing the response to the client computing device during the session utilizing the modified digital data reflecting the digital asset transaction request for the distributed digital ledger to the client computing device.

11. A system comprising:

at least one processor; and

at least one non-transitory computer-readable storage medium storing instructions thereon that, when executed by the at least one processor, cause the system to:

receive, at a first server from a client computing device participating in a session, a write request to modify digital data;

generate a session-level user token comprising a write-data version corresponding to the session;

receive, during the session and at a second server via the client computing device participating in the session, a request to utilize the modified digital data, the request comprising the session-level user token;

utilize the write-data version of the session-level user token to verify that a digital data repository of the second server reflects the modified digital data;

provide a response to the client computing device during the session utilizing the modified digital data; and

expire the session-level user token in response to determining that the session has ended or detecting satisfaction of a threshold update status of the digital data across a plurality of servers during the session.

12. The system as recited in claim 11 , further storing instructions thereon that, when executed by the at least one processor, cause the system to utilize the write-data version of the session-level user token to verify that the digital data repository of the second server reflects the modified digital data by comparing, during the session, the write-data version of the session-level user token with a version identifier of the digital data repository of the second server.

13. The system as recited in claim 12 , further storing instructions thereon that, when executed by the at least one processor, cause the system to utilize the write-data version of the session-level user token to verify that the digital data repository of the second server reflects the modified digital data by:

determining, at a first time within the session based on comparing the write-data version of the session-level user token with a version identifier of the digital data repository, that the digital data repository of the second server does not reflect the modified digital data;

updating the digital data repository and identifying an updated version identifier of the digital data repository; and

determining, at a second time within the session based on comparing the write-data version of the session-level user token to the updated version identifier, that the digital data repository reflects the modified digital data.

14. The system as recited in claim 13 , further storing instructions thereon that, when executed by the at least one processor, cause the system to:

in response to generating the session-level user token, provide the session-level user token to the client computing device; and

receive, at the second server during the session, the session-level user token with the request from the client computing device.

15. The system as recited in claim 11 , further storing instructions thereon that, when executed by the at least one processor, cause the system to:

in response to generating the session-level user token, provide the session-level user token to a request routing server; and

receive, at the second server via the client computing device during the session, the request for the modified digital data by:

receiving, at the request routing server, the request for the modified digital data from the client computing device;

combining, at the request routing server, the request and the session-level user token; and

routing the request with the session-level user token from the request routing server to the second server.

16. The system as recited in claim 11 , further storing instructions thereon that, when executed by the at least one processor, cause the system to:

receive, at an additional server from the client computing device participating in the session, an additional write request to modify additional digital data; and

update the session-level user token with an updated write-data version corresponding to the session.

17. The system as recited in claim 16 , further storing instructions thereon that, when executed by the at least one processor, cause the system to:

receive, at one or more servers via the client computing device participating in the session, a second request for the modified additional digital data; and

utilize the updated write-data version of the updated session-level user token to verify that a digital data repository of the one or more servers reflects the modified digital data.

18. The system as recited in claim 11 , further storing instructions thereon that, when executed by the at least one processor, cause the system to:

determine that an amount of time since receiving the write request satisfies expiration criteria; and

remove the write-data version from the session-level user token based on determining that the write-data version has expired.

19. A non-transitory computer-readable medium comprising instructions that, when executed by at least one processor, cause a computing device to:

receive, at a first server from a client computing device participating in a session, a write request to modify digital data;

generate a session-level user token comprising a write-data version corresponding to the session;

receive, during the session and at a second server via the client computing device participating in the session, a request to utilize the modified digital data, the request comprising the session-level user token;

utilize the write-data version of the session-level user token to verify that a digital data repository of the second server reflects the modified digital data;

provide a response to the client computing device during the session utilizing the modified digital data; and

expire the session-level user token in response to determining that the session has ended or detecting satisfaction of a threshold update status of the digital data across a plurality of servers during the session.

20. The non-transitory computer-readable medium as recited in claim 19 ,

wherein the write request comprises a digital asset transaction request for a distributed digital ledger maintained by a distributed digital ledger network; and

further comprising instructions that, when executed by the at least one processor, cause the computing device to:

transmit the digital asset transaction request to the distributed digital ledger to generate the modified digital data; and

provide the response to the client computing device during the session utilizing the modified digital data reflecting the digital asset transaction request for the distributed digital ledger to the client computing device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2024
From: META PLATFORMS INC.
To: STARBUCKS CORPORATION
Reel/Frame 066225/0669 →
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2021
From: SHAKED, NITZAN
To: FACEBOOK, INC.
Reel/Frame 055374/0462 →