Delta Set Information Management Device and System
20210182242 · 2021-06-17
Inventors
Cpc classification
G06F16/1734
PHYSICS
G06F16/1873
PHYSICS
International classification
Abstract
A delta set information management device (delta device) stores full versions of files and updates such files based upon delta information. The delta device can be a web server running delta software. It can store original files as either seed files or node files in a tree structure and store modifications to seed files and node files based upon the time and identity of the entity (e.g., user or computer) that requested or made such modifications.
Claims
1. A file control device including: a processor; memory; and software; wherein the file control device is configured to be connected to a network and wherein the software is configured to: establish a connection with one or more users over the network; share files or file information with the one or more users; receive from the one or more users (1) instructions relating to changes to be made to one or more files and (2) at least two criteria related to the changes; and store the instructions as change information in at least two nodes of a tree structure that arranges the at least two nodes based upon the at least two criteria.
2. The file control device of claim 1 further configured to allow a user to modify a file stored at the file control device whereby the user (1) modifies a file stored locally with the user that is substantially similar to the file stored at the file control device and (2) creates instructions relating to the user changes and whereby the filed control device (1) receives such instructions from the user and (2) stores the instructions as change information in a tree structure, specifically in a node that is connected, directly or indirectly, to a node corresponding to the file stored at the file control device.
3. The file control device of claim 2 further configured to receive the instructions in the form of a blockchain, or a portion of a blockchain, that contains one or more transactions and that stores one or more sets of change information as transactions.
4. The file control device of claim 1 wherein the criteria include at least a temporal criterion and a criterion related to the identity of a user that provided the change information.
5. The file control device of claim 1 further configured to modify files stored in memory of the file control device based upon the received change information.
6. The file control device of claim 1 further configured to allow a user to request the combination of two or more sets of change information stored in two or more nodes in the tree structure to create a new node.
7. The file control device of claim 1 further configured to control modifications to the tree structure based upon the identity of a user that submitted change information.
8. The file control device of claim 7 further configured to provide to a user a graphical user interface by which the user can control access to one or more nodes to other users using a drag and drop interface.
9. The file control device of claim 1 further configured to (1) store files as nodes in the tree structure and (2) convert nodes into node files by applying at least one set of change information to a file.
10. A method of controlling changes to files based upon change data using a centralized server connected to a network, the method including establishing a connection with one or more users over the network; sharing files or file information with the one or more users; receiving from the one or more users (1) instructions relating to changes to be made to one or more files and (2) at least two criteria related to the changes; and storing the instructions as change information in at least two nodes of a tree structure that arranges the at least two nodes based upon the at least two criteria.
11. The method of claim 10 further including the step of allowing a user to modify a file stored at the file control device by (1) receiving the instructions from the user and (2) storing the instructions as change information in a tree structure, specifically in a node that is connected, directly or indirectly, to a node corresponding to the file stored at the file control device.
12. The method of claim 11 further including receiving the instructions in the form of a blockchain, or a portion of a blockchain, that contains one or more transactions and that stores one or more sets of change information as transactions.
13. The method of claim 10 wherein the receiving step includes receiving at least a temporal criterion and a criterion related to the identity of a user that provided the instructions.
14. The method of claim 10 further including the step of modifying files stored in memory based upon the received instructions.
15. The method of claim 10 further including the step of receiving instructions from a user to combine two or more sets of change information stored in two or more nodes in the tree structure to create a new node.
16. The method of claim 10 further including the step of controlling modifications to the tree structure based upon the identity of a user that submitted the instructions.
17. The method of claim 16 further including the step of providing to a user a graphical user interface by which the user controls access to one or more nodes to other users using a drag and drop interface.
18. The method of claim 10 further including the steps of (a) storing complete files as nodes in the tree structure and (b) converting nodes into node files by applying at least one set of change information to a file.
19. A delta device that is capable of: storing at least one a seed file as a seed node in a tree structure; storing delta information in another node of the tree structure, wherein the delta information is received from one or more users; and converting a node containing delta information into a node file using delta information stored in a seed node.
20. The delta device of claim 19 that is further capable of transferring seed files to one or more users and storing, in the nodes of the tree structure, changes received from one or more users without requiring that the users transfer the seed file or any modified version of the seed file to the delta device.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
DETAILED DESCRIPTION OF THE INVENTION
[0022]
[0023]
[0024]
[0025] In one embodiment, the GUI of
[0026]
[0027]
[0028]
[0029] At step 700, a file is received. Optionally, the file is duplicated so that an original is stored along with the to-be-presented version. At step 702, the file is paginated. Often user files will already have some sort of pagination demarcated (e.g., pages in a word processing document or PDF, sheets or pages in a spreadsheet workbook, layers or views in a drawing file, distinct files in a larger set of files, rows or columns or sets of rows or columns in a database, different messages in a thread in e-mail, different channels in an electronic communication program, or any other split or partition in a file). The file is paginated using either extant splits or partitions in the file or in some other manner, which may be defined by a user or administrator. In a preferred embodiment, the pagination is determined based upon the amount of information that can be displayed, at a readable resolution, to a user. In some instances, the pagination will vary based upon the device (e.g., display screen size) of the user's device.
[0030] At step 704, text in the file is scraped by a known method, such as, for example, optical character recognition (OCR), type matching, correlation with a data file, or any other method of converting visual characters to known text. Optionally, images are also scraped. This can be done, for example, by replacing raster images with vector image equivalents, which are more easily edited by a user. Additionally, optionally, format or settings can be scraped by reading information related to objects in a file into memory. It should be understood that step 704 can encompass any method of converting portions of files that a user cannot easily modify or manipulate into a form that a user can modify or manipulate it (e.g., converting image text into text in a text box, converting an image of a circle into a drawing object, or converting an object that has a placement on the screen to an object and a separate memory or variable containing information about its place on the screen).
[0031] At step 706, one or more of the text, images, and/or objects are removed from the file. If any of the foregoing are were in image form before being scraped, they can be removed using known means of image editing, including blending, blurring, interpolating, among other processes.
[0032] At step 708, the pages are turned into discrete images, preferably but not necessarily, single layer images. For example, if the file is a word processor file, it can be formatted into single-page TIFFs.
[0033] At step 710, the images are reduced using known methods; e.g., decimated, down-sampled, or other process.
[0034] At step 712, one or more of the text, images, and/or objects are overlaid in approximately the same place they appeared, before being scraped, on the one or more paginated images.
[0035] At step 714, the images and overlaid information is presented to a user-preferably a remote user-who can edit at least the scraped information while viewing such information overlaid on, or near, the images.
[0036] At step 716, change input is received from a user. This can be via direct manipulation of the scraped information or other means such as, for example, tracking user keyboard and/or mouse inputs or any other means of a user conveying instructions regarding modification of the information being displayed.