IP Library Granted Patent US 11,836,721
Granted Patent B2
US 11,836,721 · App. 16/024,676 · Granted Dec 5, 2023

Protection of information in an information exchange

Inventors: Ned M. Smith (Beaverton, OR); Rajesh Poornachandran (Portland, OR); Michael Nolan (Maynooth, IE); Simon N. Peffers (Action, ME)
Assignee: Intel Corporation
G06Q20/401G06F16/2379G06Q20/223G06Q20/389G06Q20/4016H04L9/0637H04L9/0643H04L9/3239H04L9/3297H04W56/001G06Q2220/00H04L9/50H04L2209/56H04L2209/805
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,836,721
App. No.
16/024,676
Filed
Jun 29, 2018
Granted
Dec 5, 2023
Kind
B2
Art Unit
3685
USPC
705/75
Abstract

In some examples, an apparatus uses a blockchain to agree on a time in an information exchange network. A first node includes a processor communicatively coupled to a storage device including instructions. When executed by the processor, the instructions cause the processor to verify a time estimate from each of one or more other node, to determine a time match of a time estimate of the first node with the time estimates from the one or more other node, and if the time match is determined, to commit to the blockchain a transaction that includes a time stamp.

Claims (68)

1. An apparatus for using a blockchain to agree on a time in an information exchange network, comprising:

a first node of the blockchain having a processor communicatively coupled to a storage device including instructions that when executed by the processor, cause the processor to:

determine whether a threshold number of one or more other node in the blockchain is synchronized with a current time estimate from the one or more other node, wherein the determination is performed by comparing intersection intervals of clocks broadcast from the one or more other node;

determine a time match of a time estimate of the first node with the current time estimate from the one or more other node, wherein the determination is performed by comparing intersection intervals of clocks broadcast from the one or more other node and the time estimate of the first node, and wherein the time estimate of the first node is to be recorded in a first transaction;

determine whether the first node is on a permit list;

if the time match is determined based on the comparing and the first node is on the permit list, then commit to the blockchain the first transaction that includes a time stamp of the time estimate of the first node and a hash of a previous block that uses the time stamp as part of a hash algorithm used to compute the hash; and

if the time match is not determined based on the comparing and the first node is on the permit list:

obtain a time stamp value from the blockchain;

obtain a current time from a clock at the first node;

compare the time stamp value from the blockchain with the current time to obtain a result;

modify the clock of the first node with a modified time estimate based, at least in part, on the result;

commit to the blockchain a second transaction that captures the modified time estimate as part of the second transaction for time synchronization recordkeeping; and

retry the first transaction.

2. The apparatus of claim 1 , wherein the time match is determined if the time estimate of the first node matches with a majority of the time estimates from the one or more other node.

3. The apparatus of claim 1 , wherein the time match is determined if the time estimate of the first node is within a time tolerance of the time estimate of the one or more other node.

4. The apparatus of claim 1 , the storage device including instructions that when executed by the processor, cause the processor to:

compute a block hash using an intersection of time intervals; and

commit a transaction to the blockchain in response to the computed block hash.

5. The apparatus of claim 4 , wherein the time intervals include time intervals from the one or more other node.

6. The apparatus of claim 1 , the storage device including instructions that when executed by the processor, cause the processor to:

perform a trusted delete on the blockchain when a period of time has expired for content in the blockchain.

7. The apparatus of claim 1 , wherein the blockchain includes a number of copies of content, the storage device including instructions that when executed by the processor, cause the processor to:

count and track the number of copies of content in the blockchain.

8. The apparatus of claim 1 , wherein the one or more other node is from a blockchain mining group.

9. At least one non-transitory computer readable storage medium having instructions stored thereon for using a blockchain to agree on a time in a blockchain network, the instructions when executed on a first node in the blockchain network, cause the first node to:

determine whether a threshold number of one or more other node in the blockchain is synchronized with a current time estimate from the one or more other node, wherein the determination is performed by comparing intersection intervals of clocks broadcast from the one or more other node;

determine a time match of a time estimate of the first node with the current time estimate from the one or more other node, wherein the determination is performed by comparing intersection intervals of clocks broadcast from the one or more other node and the time estimate of the first node, and wherein the time estimate of the first node is to be recorded in a first transaction;

determine whether the first node is on a permit list;

if the time match is determined based on the comparing and the first node is on the permit list, then commit to the blockchain the first transaction that includes a time stamp of the time estimate of the first node and a hash of a previous block that uses the time stamp as part of a hash algorithm used to compute the hash; and

if the time match is not determined based on the comparing and the first node is on the permit list:

obtain a time stamp value from the blockchain;

obtain a current time from a clock at the first node;

compare the time stamp value from the blockchain with the current time to obtain a result;

modify the clock of the first node with a modified time estimate based, at least in part, on the result;

commit to the blockchain a second transaction that captures the modified time estimate as part of the second transaction for time synchronization recordkeeping; and

retry the first transaction.

10. The at least one non-transitory computer readable medium of claim 9 , wherein the time match is determined if the time estimate of the first node matches with a majority of the time estimates from the one or more other node.

11. The at least one non-transitory computer readable medium of claim 9 , wherein the time match is determined if the time estimate of the first node is within a time tolerance of the time estimate of the one or more other node.

12. The at least one non-transitory computer readable medium of claim 9 , the instructions when executed on the first node, cause the first node to:

compute a block hash using an intersection of time intervals; and

commit a transaction to the blockchain in response to the computed block hash.

13. The at least one non-transitory computer readable medium of claim 12 , wherein the time intervals include time intervals from the one or more other node.

14. The at least one non-transitory computer readable medium of claim 9 , the instructions when executed on the first node, cause the first node to:

perform a trusted delete on the blockchain when a period of time has expired for content in the blockchain.

15. The at least one non-transitory computer readable medium of claim 9 , wherein the blockchain includes a number of copies of content, the instructions when executed on the first node, cause the first node to:

count and track the number of copies of content in the blockchain.

16. A computer implemented method for using a blockchain to agree on a time in an information exchange network, comprising:

determining whether a threshold number of one or more other node in the blockchain is synchronized with a current time estimate from the one or more other node, wherein the determination is performed by comparing intersection intervals of clocks broadcast from the one or more other node;

determining whether a first node is on a permit list;

determining a time match of a time estimate of the first node with the current time estimate from the one or more other node, wherein the determination is performed by comparing intersection intervals of clocks broadcast from the one or more other node and the time estimate of the first node, and wherein the time estimate of the first node is to be recorded in a first transaction;

if the time match is determined based on the comparing and the first node is on the permit list, then committing to the blockchain the first transaction that includes a time stamp of the time estimate of the first node and a hash of a previous block that uses the time stamp as part of a hash algorithm used to compute the hash; and

if the time match is not determined based on the comparing and the first node is on the permit list:

obtaining a time stamp value from the blockchain;

obtaining a current time from a clock at the first node;

comparing the time stamp value from the blockchain with the current time to obtain a result;

modifying the clock of the first node with a modified time estimate based, at least in part, on the result;

committing to the blockchain a second transaction that captures the modified time estimate as part of the second transaction for time synchronization recordkeeping; and

retrying the first transaction.

17. The method of claim 16 , comprising determining the time match if the time estimate of the first node matches with a majority of the time estimates from the one or more other node.

18. The method of claim 16 , comprising determining the time match if the time estimate of the first node is within a time tolerance of the time estimate of the one or more other node.

19. The method of claim 16 , comprising:

computing a block hash using an intersection of time intervals; and

committing a transaction to the blockchain in response to the computed block hash.

20. The method of claim 16 , wherein the time intervals include time intervals from the one or more other node.

21. The method of claim 16 , comprising:

performing a trusted delete on the blockchain when a period of time has expired for content in the blockchain.

22. The method of claim 16 , wherein the blockchain includes a number of copies of content, the method comprising:

counting and tracking the number of copies of content in the blockchain.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2018
From: SMITH, NED M.; POORNACHANDRAN, RAJESH; NOLAN, MICHAEL; PEFFERS, SIMON N.
To: INTEL CORPORATION
Reel/Frame 046248/0332 →
Continuity (1)
Related Publication 20190043050A1 · Feb 7, 2019