IP Library Granted Patent US 9,973,339
Granted Patent B1
US 9,973,339 · App. 15/047,219 · Granted May 15, 2018

Anonymous cloud data storage and anonymizing non-anonymous storage

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,973,339
App. No.
15/047,219
Granted
May 15, 2018
Kind
B1
Abstract

A process of writing to a non-anonymous cloud storage is provided. On a client side, a write request to block X is received. A block key for the block numbers X is calculates as a function, which uses an Anonymous Key and X as its arguments. A hash function value of the block key is calculated. The content and the hash value are transferred to a Virtual Cloud Service. Then, on the Virtual Cloud Service, public cloud accounts are selected based on part of the hash value. A file name is generated from the calculated hash value. The content of block X is stored to the file with the generated name within the selected cloud account. Thus, there is no data reflecting the ownership of the user files on the cloud storage that is revealed.

Claims (30)

1. A method for writing into an anonymous storage, the method comprising:

receiving, at a client device, a request to write user data to block X, wherein X is a block number in virtual storage;

generating an anonymous block key for block X using a function operating on an anonymous key associated with the client device and X as its arguments;

calculating a function value based on the anonymous block key;

generating a file name as a textual representation of the function value; and

storing, on a storage hosted at a server, the user data associated with block X in a file with the generated file name, wherein the user data does not indicate user ownership of block X.

2. The method of claim 1 , further comprising encrypting the data block X.

3. The method of claim 1 , further comprising calculating the function value of the block key as a hash function value of the block key.

4. The method of claim 1 , further comprising calculating the anonymous block key as a sum of the anonymous key and a block number (X).

5. A method for writing into a non-anonymous storage:

instantiating a service as an intermediary between a client and a storage;

receiving, at the service, a data block and a function value of a block key, wherein the data block and the function value are received from the client and wherein X is a block number in virtual storage;

selecting an account based on a part of the function value, wherein a size of the part is proportional to a number of users using the service;

generating a file name as a textual representation of the function value; and

storing content of the data block into a file with the generated file name within the selected account on a storage hosted on a server,

wherein a number of bits from the function value used to determine the account is proportional to the number of user accounts and wherein the user data does not indicate user ownership of block X.

6. The method of claim 5 , further comprising encrypting the data block.

7. The method of claim 5 , further comprising calculating the function value of the block key as a hash function value of the block key.

8. The method of claim 5 , wherein the file name for the data block equals to a text representation of the function value.

9. The method of claim 5 , wherein the Service writes to the data block into the file within in the selected account on the storage using registered user credentials for accessing the account.

10. The method of claim 5 , wherein the storage is a public cloud storage, and accounts are public cloud accounts.

11. A system for writing into an anonymous storage, the system comprising:

a processor, and a memory coupled to the processor, the memory storing computer code for executing on the processor for performing the following steps:

receiving, at a client device, a request to write user data to block X, wherein X is a block number in virtual storage;

generating an anonymous block key for block X using a function operating on an anonymous key associated with the client device and X as its arguments;

calculating a function value based on the anonymous block key;

generating a file name as a textual representation of the function value; and

storing, on a storage hosted at a server, the user data associated with block X in a file with the generated file name, wherein the user data does not indicate user ownership of block X.

12. The system of claim 11 , further comprising encrypting the data block.

13. The system of claim 11 , further comprising calculating the function value of the block key as a hash function value of the block key.

Assignments (5)
REAFFIRMATION AGREEMENT Recorded Aug 28, 2022
From: ACRONIS AG; ACRONIS INTERNATIONAL GMBH; ACRONIS SCS, INC.; ACRONIS, INC.; GROUPLOGIC, INC.; NSCALED INC.; ACRONIS MANAGEMENT LLC; 5NINE SOFTWARE, INC.; ACRONIS GERMANY GMBH; ACRONIS NETHERLANDS B.V.; ACRONIS BULGARIA EOOD; DEVICELOCK, INC.; DEVLOCKCORP LTD; ACRONIS INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 061330/0818 →
SECURITY INTEREST Recorded Dec 19, 2019
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 051418/0119 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2019
From: OBSIDIAN AGENCY SERVICES, INC.
To: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
Reel/Frame 050783/0893 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: LYADVINSKY, MAX
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 043683/0789 →
SECURITY INTEREST Recorded Jul 26, 2017
From: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
To: OBSIDIAN AGENCY SERVICES, INC., AS COLLATERAL AGENT
Reel/Frame 043350/0186 →