IP Library Granted Patent US 9,053,130
Granted Patent B2
US 9,053,130 · App. 13/802,244 · Granted Jun 9, 2015

Binary data store

Inventor: Thomas Garrard (Chesham, GB)
Assignee: STEALTH Software IP S.á.r.l.
G06F17/30289G06F21/60G06F21/6218H04L9/08H04L9/0897H04L9/14H04L2209/60G06F17/30318
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 9,053,130
App. No.
13/802,244
Granted
Jun 9, 2015
Kind
B2
Abstract

A method for storing binary data, preferably in the form of Binary Large Objects (BLOBs), in more than one location. The method includes the steps of producing a processing thread corresponding to each location where the data is to be stored and verifying whether each thread has completed successfully after a predetermined time period. Information relating to the storage of the binary data is stored in an access token.

Claims (29)

1. A method for storing binary data to at least two data stores, the method comprising the steps of:

at a storage interface, receiving, from a collaboration system, a store request and binary data that is to be stored;

at a storage interface, creating a first processing thread and a second processing thread;

at a storage interface, configuring the first processing thread for writing a backup of said binary data to a first data store;

at a storage interface, configuring the second processing thread for writing a backup of said binary data to a second data store separate from the first data store;

at a storage interface, concurrently executing the first processing thread and the second processing thread;

at a storage interface, checking for successful termination of said processing threads after a timeout delay;

at a storage interface, for each thread that has not successfully terminated after said timeout delay, creating an entry in a Control Log; and

at a storage interface, creating an access token for said binary data, and sending said access token to said collaboration system.

2. The method according to claim 1 , wherein said timeout delay for said processing threads is computed as a factor of a running time of a first successfully terminating thread.

3. The method according to claim 1 , wherein the Control Log is a database.

4. The method according to claim 1 , wherein the method further comprises the step of computing a hash value for the binary data and wherein said access token comprises said hash value.

5. The method according to claim 1 , wherein said Control Log entry comprises information on a data store in which the binary data was not successfully written.

6. The method according to claim 5 , wherein the method further comprises the steps of:

creating a processing thread for each Control Log entry that indicates an unsuccessful storage operation of said binary data to a data store;

configuring each created processing thread for storing said binary data in one of said data stores; and

in case one of said processing threads succeeds in storing said binary data in said data store, updating the corresponding Control Log entry by providing the new storage location for said binary data.

7. The method according to claim 1 , wherein the method further comprises the steps of:

at a storage interface, providing a first encryption key;

at a storage interface, generating a second encryption key;

at a storage interface, encrypting said binary data using said first and second encryption keys and an encryption algorithm;

at a storage interface, storing said encrypted binary data in at least one data store; and

at a storage interface, creating an access token to said stored binary data, including said second encryption key and returning it to said collaboration system.

8. The method according to claim 7 , wherein the method further comprises the step of computing a hash value for said binary data, and wherein said access token comprises said hash value.

9. The method according to claim 7 , wherein the encryption algorithm is a block cipher and the second encryption key is an Initialization Vector that is generated by the storage interface and used to randomize the binary data prior to encryption.

10. The method according to claim 9 , wherein said access token comprises said Initialization Vector.

11. The method according to claim 1 , wherein said collaboration system is a Microsoft SharePoint™ collaboration system.

12. The method according to claim 1 , wherein the binary data is a Binary Large Object (BLOB).

13. A device comprising a processor and memory, the memory being configured with stored instructions that, in response to being processed by the processor, cause the device to carry out the method according to claim 1 .

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2025
From: STEALTH SOFTWARE HOLDING B.V.
To: STEALTH SOFTWARE, L.L.C.
Reel/Frame 072976/0781 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2016
From: STEALTH SOFTWARE IP S.À R.L.
To: STEALTH SOFTWARE HOLDING B.V.
Reel/Frame 040471/0783 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2013
From: GARRARD, THOMAS
To: STEALTH SOFTWARE IP S.A.R.L
Reel/Frame 030046/0289 →
Priority Claims (1)
LU 91968 · Apr 2, 2012 · national
Continuity (1)
Related Publication 20130262875A1 · Oct 3, 2013