IP Library Granted Patent US 11,210,426
Granted Patent B2
US 11,210,426 · App. 16/331,868 · Granted Dec 28, 2021

Tracing objects across different parties

Inventors: Ying Yan (Beijing, CN); Yang Chen (Beijing, CN); Thomas Moscibroda (Beijing, CN); Eric Chang (Beijing, CN); Jinglei Ren (Beijing, CN); Liang Chen (Beijing, CN); Yanjie Gao (Beijing, CN)
Assignee: Microsoft Technology Licensing, LLC
G06F21/645G06F16/219G06F16/2474G06F21/604H04L9/3239H04L9/3247H04L2209/38
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,210,426
App. No.
16/331,868
Granted
Dec 28, 2021
Kind
B2
Abstract

In implementations of the subject matter described herein, a new approach for controlling and tracing an object across a plurality of parties is proposed. A rule set may be enabled by the confirmation of a plurality of parties. The rule set may define constraints on operations related to the object. Upon receipt of a request for an operation related to the object, the requested operation may be verified based on the rule set agreed by the plurality of parties. In response to verifying that requested operation is valid, the requested operation may be performed, and a record for the operation may be created and stored in a blockchain database accessible to the plurality of parties.

Claims (96)

1. A method comprising:

receiving, from a first party among a plurality of parties, a request for an operation related to an object;

verifying the requested operation based on a rule set agreed by the plurality of parties, the verifying comprising broadcasting a notification related to the operation to the plurality of parties, the rule set defining one or more constraints on one or more operations related to the object, the rule set being set by:

receiving, from at least one of the plurality of parties, a request for setting the rule set; P 2 broadcasting the rule set to the plurality of parties; and

in response to receiving confirmation of the rule set from one or more of the plurality of parties, enabling the rule set by creating a record for the confirmation and storing the record in a blockchain database; and

in response to verifying that requested operation is valid:

causing the operation to be performed;

creating a record for the operation, the record being specific to the rule set; and

storing the record in the blockchain database, wherein the stored record enables the object to be traced.

2. The method of claim 1 , further comprising:

receiving, from a party among the plurality of parties, a request for tracing the object;

in response to receiving the request for tracing the object, retrieving one or more records for operations related to the object from the blockchain data base; and

providing the retrieved records to the party.

3. The method of claim 1 , wherein the verifying the requested operation further comprises:

extracting, from the request, a reference to the rule set; and

addressing the rule set based on the reference for the verifying.

4. The method of claim 1 , wherein the rule set includes executable code, and wherein the verifying the requested operation further comprises:

verifying the requested operation by causing the code to be executed.

5. The method of claim 1 , wherein the record further includes at least one of the following:

an event identification (ID) specific to the rule set,

a reference to the rule set,

an ID for the operation,

a description of the operation,

a signature of the first party,

a public key for decrypting the signature of the first party, and

a timestamp indicating a time point when the request is sent.

6. The method of claim 1 , further comprising:

receiving an inquiry fora state of the operation, the state indicating whether the operation is performed successfully;

m response to the inquiry, determining the number of subsequent records appended to the record for the operation in the blockchain database; and

determining the state of the operation based on the number of subsequent records.

7. A device comprising:

a processing unit; and

a memory coupled to the processing unit and storing instructions for execution by the processing unit, the instructions, when executed by the processing unit, causing the device to perform acts comprising:

receiving, from a first party among a plurality of parties, a request for an operation related to an object;

verifying the requested operation based on a rule set agreed by the plurality of parties, the verifying comprising broadcasting a notification related to the operation to the plurality of parties, the rule set defining one or more constraints on one or more operations related to the object, the rule set being set by:

receiving, from at least one of the plurality of parties, a request for setting the rule set;

broadcasting the rule set to the plurality of parties; and

in response to receiving confirmation of the rule set from one or more of the plurality of parties, enabling the rule set by creating a record for the confirmation and storing the record in a blockchain database; and

in response to verifying that requested operation is valid:

causing the operation to be performed;

creating a record for the operation, the record being specific to the rule set; and

storing the record in the blockchain database, wherein the stored record enables the object to be traced.

8. The device of claim 7 , the acts further comprising:

receiving, from a party among the plurality of parties, a request for tracing the object;

in response to receiving the request for tracing the object, retrieving one or more records for operations related to the object from the blockchain data base; and

providing the retrieved records to the party.

9. The device of claim 7 , wherein the verifying the requested operation further comprises:

extracting, from the request, a reference to the rule set; and

addressing the rule set based on the reference for the verifying.

10. The device of claim 7 , wherein the rule set includes executable code, and wherein the verifying the requested operation further comprises:

verifying the requested operation by causing the code to be executed.

11. The device of claim 7 , wherein the record further includes at least one of the following:

an event ID specific to the rule set,

a reference to the rule set,

an ID for the operation,

a description of the operation,

a signature of the first party,

a public key for decrypting the signature of the first party, and

a timestamp indicating a time point when the request is sent.

12. The device of claim 7 , the acts further comprising:

receiving an inquiry fora state of the operation, the state indicating whether the operation is performed successfully;

in response to the inquiry, determining the number of subsequent records appended to the record for the operation in the blockchain database; and

determining the state of the operation based on the number of subsequent records.

13. A computer program product being tangibly stored on a non-transient machine-readable medium and comprising machine-executable instructions, the instructions, when executed on a device, causing the device to:

receive, from a first party among a plurality of parties, a request for an operation related to an object;

verify the requested operation based on a rule set agreed by the plurality of parties, the verifying comprising broadcasting a notification related to the operation to the plurality of parties, the rule set defining one or more constraints on one or more operations related to the object, the rule set being set by:

receive, from at least one of the plurality of parties, a request for setting the rule set;

broadcast the rule set to the plurality of parties; and

in response to receiving confirmation of the rule set from one or more of the plurality of parties, enable the rule set by creating a record for the confirmation and storing the record in a blockchain database; and

in response to verifying that requested operation is valid;

cause the operation to be performed;

create a record for the operation, the record being specific to the rule set; and

store the record in the blockchain database, wherein the stored record enables the object to be traced.

14. The computer program product of claim 13 , wherein the instructions, when executed on the device, further cause the device to set the rule set for the plurality of parties by:

receiving, from a party among the plurality of parties, a request for tracing the object;

in response to receiving the request for tracing the object, retrieving one or more records for operations related to the object from the blockchain data base; and

providing the retrieved records to the party.

15. The computer program product of claim 14 , wherein the request for tracing the object comprises an event ID, the event ID being used to retrieve the object from the blockchain database.

16. The computer program product of claim 13 , wherein the verifying the requested operation comprises:

extracting, from the request, a reference to the rule set; and

addressing the rule set based on the reference for the verifying.

17. The computer program product of claim 16 , wherein the reference is implemented as a pointer or a uniform resource indicator (URI).

18. The computer program product of claim 13 , wherein the rule set includes executable code, and wherein the verifying the requested operation comprises:

verifying the requested operation by causing the code to be executed.

19. The computer program product of claim 13 , wherein the record further includes at least one of the following:

an event identification (ID) specific to the rule set,

a reference to the rule set,

an ID for the operation,

a description of the operation,

a signature of the first party,

a public key for decrypting the signature of the first party, and

a timestamp indicating a time point when the request is sent.

20. The computer program product of claim 13 , wherein the instructions, when executed on the device, further cause the device to:

receive an inquiry fora state of the operation, the state indicating whether the operation is performed successfully;

in response to the inquiry, determine the number of subsequent records appended to the record for the operation in the blockchain database; and

determine the state of the operation based on the number of subsequent records.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2019
From: YAN, YING; CHEN, YANG; MOSCIBRODA, THOMAS; CHANG, ERIC; REN, JINGLEI; CHEN, LIANG; GAO, YANJIE
To: MICROSOFT TECHNOLOGY LICENSING,
Reel/Frame 048772/0095 →
Continuity (1)
Related Publication 20210182433A1 · Jun 17, 2021
Cited By (1)
US 12,212,685