Method and system for asynchronous transmission, backup, distribution of data and file sharing
First Claim
Patent Images
1. A system for storing, backing-up and transmitting data comprising:
- a. at least one originating node adapted for sending and receiving data as an insert or snapshot thereof;
b. at least one server database node adapted to receive, store and send data;
c. at least one requesting node adapted to retrieve data from a database node;
d. a means adapted to request data from said database node, and a means for a user to operatively communicate with said database node to input, receive, store, and transmit local data to and from said database node;
e. a means for a user to insert data from said originating node to said database node;
f. a means responsive to a request for data effective to distribute the data to at least one other user and storing said data locally;
0 Assignments
0 Petitions
Accused Products
Abstract
The instant invention provides for a system and method for asynchronously sharing, backing up, and distributing data based on immutable entries. The system which is layered upon an existing operating system automatically stores, queues and distributes requested data among users.
-
Citations
33 Claims
-
1. A system for storing, backing-up and transmitting data comprising:
-
a. at least one originating node adapted for sending and receiving data as an insert or snapshot thereof;
b. at least one server database node adapted to receive, store and send data;
c. at least one requesting node adapted to retrieve data from a database node;
d. a means adapted to request data from said database node, and a means for a user to operatively communicate with said database node to input, receive, store, and transmit local data to and from said database node;
e. a means for a user to insert data from said originating node to said database node;
f. a means responsive to a request for data effective to distribute the data to at least one other user and storing said data locally;
- View Dependent Claims (2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
4. A system for storing, backing-up and transmitting data comprising:
-
a. an operating system;
b. a file system to house data effective to form an export folder and a caching and queuing system;
c. a graphical interface;
d. a utilities library;
e. an encryption library;
f. a networking library; and
g. a database system of at least one single host key value.
-
-
20. A system for storing data in a database of immutable entries comprising:
-
a. an immutable data entry generated by a user;
b. a means to send data from said user to a database server under a key;
c. a means for a database server to check a database for existence of said key;
d. data stored under said key in said database;
e. a user and communication means to request said data under said key; and
f. a means to send said data under said key to said user. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A system for creating an immutable database comprising:
-
a. at least a plurality of equal nodes adapted for sending and receiving data as an insert or snapshot thereof;
b. at least a user and node effective for transmitting and receiving data from said plurality of others and a means operable to input, receive, store and transmit local data to and from said primary node;
c. a voting means to decide whether data from said equal node exists and if not whether said data must be inserted and distributed;
d. a means for said equal node users to receive data from said other equal node;
e. a means for transmitting the data to at least one other node and storing said data locally; and
f. a means for a user to remotely request said data. - View Dependent Claims (26)
-
-
27. A method for creating a queue for inserting entries:
-
a. choosing and naming a queue folder and a cache folder;
b. evolving at least a data entry and storing said entry in said queue folder;
c. directing a queuing means to send said entry to a database in chronological order once connection to said database is achieved; and
d. moving said entry from said queue folder to said cache folder.
-
-
28. A method for storing, backing up and distributing data comprising the steps of:
-
a. evolving data on a user level;
b. saving said data to a designated file;
c. assigning said data an identification and version number;
d. sending said data to a database and storing said data as an immutable entry; and
e. distributing said data as a most recent version to all users pursuant to a user request for said data. - View Dependent Claims (29)
-
-
30. A method for inserting data into a database comprising the steps of:
-
a. installing the system on a node;
b. creating an export folder and scheduling a backup;
c. generating a namespace and encryption key;
d. creating an authentication proxy adapted to retain and store keys;
e. operating system in communication with said node where system has been installed;
f. creating data to be inserted;
g. attempting to insert data from the export folder to the database node;
h. checking for the existence of the data in the local cache;
i. determining whether data exists, so that if data exists the operation terminates, if data does not exist the data is sent to the authentication server and authenticated therein;
j. determining whether authenticated and if namespace exists;
k. determining if namespace exists and the user is authorized, the program determines whether the data has been previously cached by the proxy server, if it has been cached the program will fail, if it hasn'"'"'t been cached, the program will connect to the database;
l. upon connecting, the program will insert the data in the database; and
m. the database checks if this entry exists in the database, if it does there is failure, if it doesn'"'"'t exist, the entry succeeds, if the entry succeeds, the proxy caches the data and the program caches the data. - View Dependent Claims (31, 32)
-
-
33. A method for requesting data from a database comprising the steps of:
-
a. installing the system on a node;
b. requesting an entry under a key from a database;
c. checking for the existence of the data in the local cache;
d. terminating the operation if data exists in the cache, or requesting data if the data is requested from said authentication proxy;
j. authenticating a user and determining if namespace exists in said database;
k. determining whether the data has been previously cached by the proxy by determining if a namespace exists, and the user is authorized;
l. if it has been cached in the proxy the program will succeed;
m. connecting to said database if said data has not been cached;
n. connecting to said database requesting said data in said database; and
o. checking said database to ascertain if this entry exists in said database, if entry does exist in said database, said entry is retrieved and sent to a requester, if said entry does not exist in said database, said request fails, if said request succeeds, the proxy caches the data and the program caches the data.
-
Specification