IP Library › Granted Patent US 10,552,381
Granted Patent B2
US 10,552,381 · App. 15/381,692 · Granted Feb 4, 2020

Shared document editing in the blockchain

Inventors: Paul R. Bastide (Boxford, MA); Jonathan Dunne (Waterford, IE); Liam Harpur (Dublin, IE); Robert E. Loredo (Miami, FL)
Assignee: International Business Machines Corporation
G06F16/176G06F16/13G06F17/24
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 10,552,381
App. No.
15/381,692
Filed
Dec 16, 2016
Granted
Feb 4, 2020
Kind
B2
Art Unit
2156
USPC
707/609
Abstract

A blockchain of transactions may be referenced for various purposes and may be later accessed by interested parties for ledger verification. One example operation may comprise one or more of identifying determining a shared file is being edited by one or more entities, identifying one or more changes to the shared file while the shared file is being edited, signing the one or more changes with one or more public keys, and adding the one or more changes to a blockchain.

Claims (59)

1. A computer-implemented method, comprising:

determining, by a computing system, that a shared file is being edited by one or more entities;

identifying, by the computing system, one or more changes to the shared file while the shared file is being edited;

signing the one or more changes with one or more public keys, by the computing system;

adding the one or more changes to a blockchain, by the computing system; and

determining, by the computing system, an amount of time needed to validate the one or more changes in the blockchain.

2. The computer-implemented method of claim 1 , further comprising:

creating a genesis block of the blockchain based on the shared file, by the computing system.

3. The computer-implemented method of claim 1 , further comprising:

updating one or more privileged portions of the shared file, by the computing system; and

storing the one or more changes in the blockchain, by the computing system, based on the updates to the privileged portions of the shared file.

4. The computer-implemented method of claim 1 , further comprising:

updating one or more non-privileged portions of the shared file, by the computing system; and

storing the one or more changes in the blockchain, by the computing system, based on the updates to the non-privileged portions of the shared file.

5. The computer-implemented method of claim 1 , further comprising:

comparing, by the computing system, the amount of time needed to validate the one or more changes to a threshold amount of time; and

determining, by the computing system, whether the amount of time needed exceeds the threshold amount of time.

6. The computer-implemented method of claim 5 , further comprising:

responsive to identifying the threshold amount of time has been exceeded, creating a new genesis block based on the changes to the shared file, by the computing system; and

creating a new version of the shared file, by the computing system.

7. An apparatus, comprising:

a processor configured to:

determine that a shared file is being edited by one or more entities,

identify one or more changes to the shared file while the shared file is being edited;

sign the one or more changes with one or more public keys,

add the one or more changes to a blockchain, and

determine an amount of time needed to validate the one or more changes in the blockchain.

8. The apparatus of claim 7 , wherein the processor is further configured to create a genesis block of the blockchain based on the shared file.

9. The apparatus of claim 7 , wherein

the processor is further configured to update one or more privileged portions of the shared file, and

the apparatus further comprises a memory configured to store the one or more changes in the blockchain based on the updates to the privileged portions of the shared file.

10. The apparatus of claim 7 , wherein the processor is further configured to:

update one or more non-privileged portions of the shared file; and

store the one or more changes in the blockchain based on the updates to the non-privileged portions of the shared file.

11. The apparatus of claim 7 , wherein the processor is further configured to:

compare the amount of time needed to validate the one or more changes to a threshold amount of time;

determine whether the amount of time needed exceeds the threshold amount of time;

responsive to the threshold amount of time being exceeded, create a new genesis block based on the changes to the shared file; and

create a new version of the shared file.

12. A non-transitory computer readable storage medium storing instructions that, when executed, cause a processor to perform:

determining that a shared file is being edited by one or more entities;

identifying one or more changes to the shared file while the shared file is being edited;

signing the one or more changes with one or more public keys;

adding the one or more changes to a blockchain; and

determining an amount of time needed to validate the one or more changes stored in the blockchain.

13. The non-transitory computer readable storage medium of claim 12 , wherein the instructions are further configured to cause the processor to perform;

creating a genesis block of the blockchain based on the shared file.

14. The non-transitory computer readable storage medium of claim 12 , wherein the instructions are further configured to cause the processor to perform:

updating one or more privileged portions of the shared file; and

storing the one or more changes in the blockchain based on the updates to the privileged portions of the shared file.

15. The non-transitory computer readable storage medium of claim 12 , wherein the instructions are further configured to cause the processor to perform:

updating one or more non-privileged portions of the shared file; and

storing the one or more changes in the blockchain based on the updates to the non-privileged portions of the shared file.

16. The non-transitory computer readable storage medium of claim 12 , wherein the instructions are further configured to cause the processor to perform:

comparing the amount of time needed to validate the one or more changes to a threshold amount of time; and

determining whether the amount of time needed exceeds the threshold amount of time.

17. The non-transitory computer readable storage medium of claim 16 , wherein the instructions are further configured to cause the processor to perform:

responsive to identifying the threshold amount of time has been exceeded, creating a new genesis block based on the changes to the shared file; and

creating a new version of the shared file.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2016
From: BASTIDE, PAUL R.; DUNNE, JONATHAN; HARPUR, LIAM; LOREDO, ROBERT E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040644/0167 →
Continuity (1)
Related Publication 20180173719A1 · Jun 21, 2018
Cited By (1)
US 12,254,435