Methods and systems for referencing data
By decomposing and vectorizing data for reference-based storage, the method addresses data center size and security issues, enabling efficient data reuse and reduced physical expansion while enhancing security.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-25
- Publication Date
- 2026-03-17
AI Technical Summary
Current data center systems face challenges with expanding size and increasing maintenance costs due to uncontrollable data storage demands, and are vulnerable to cyberattacks, necessitating methods to efficiently reuse data and enhance security.
A method involving data decomposition into bytes, vectorization, and reference-based storage/retrieval, allowing existing data to be reused and referenced rather than duplicated, thereby maintaining a nearly fixed data center size and improving security.
This approach reduces data center size growth and enhances security by reusing existing data, minimizing physical expansion and storage needs while ensuring data integrity and security.
Smart Images

Figure 2026509246000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to the field of data science, and more particularly, to methods for accessing data locally or remotely, and systems capable of performing such methods.
Background Art
[0002] Data centers are commonly used for storing and sharing applications and data. A data center is designed based on a computer network and storage resources that enable the transfer of shared applications and data. A data center may be composed of servers, data storage systems, network devices such as routers and switches, and security systems such as firewalls and encryption systems.
[0003] The scale of data centers has been continuously expanding with the increasing uncontrollable demand for storing more information. For example, data and applications are stored in data centers. The servers in a data center are computer hardware and / or software programs that provide services to other programs or devices such as clients. Servers are usually categorized according to their purposes. Examples of such server categories include web servers, application servers, proxy servers, virtual servers, file servers, database servers, printer servers, etc. For example, the purpose of a database server is to host one or more databases. A client application may execute database queries to retrieve data from or write data to a database hosted by a server. Another example is a file server. This is a server responsible for storing and managing data files (such as text, images, audio, photos, videos, etc.) so that computers on the same network can access them when needed.
[0004] Designing file servers is complicated by conflicting requirements such as storage capacity, access speed, recoverability, security, and budget. Furthermore, the ever-changing environment complicates matters, with new hardware and technologies rapidly obsoleting older equipment. Server storage capacity is quickly filled by the endless generation of new data, requiring more servers to store new and modified data. This, in turn, necessitates infrastructure expansion, resulting in additional costs, space, and power consumption.
[0005] Furthermore, the security of data stored and shared within data centers is always a critical issue.
[0006] A drawback of current methods and / or systems for storing / sharing data or files in data centers is that, as the amount of files and data shared or stored over the internet increases, data centers expand indefinitely over time. As a result, both the size and maintenance costs of data centers constantly increase.
[0007] Another drawback of current methods and / or systems for storing / sharing data or files in data centers is cyberattacks. When a data center is attacked by hackers, the risk of data breaches that users do not anticipate, whether intentional or not, increases. [Overview of the project]
[0008] Therefore, it is beneficial to implement methods and systems that overcome, or at least mitigate, the above-mentioned drawbacks. In particular, it is desirable to reuse data already stored in a data center and to ensure the security of data stored in a data center. To better address one or more of these concerns, methods, systems, and non-temporary computer-readable storage media storing computer programs having the features defined in the method claims are provided. Preferred embodiments are defined in the dependent claims.
[0009] Therefore, according to the first aspect, a method for referencing data is provided, which is performed by a processor operably connected to one or more data centers in a network. Each of the one or more data centers is configured to store files and vectors corresponding to these files. The method includes the steps of receiving a request containing data to be stored, and disassembling the data to be stored into a plurality of bytes, byte by byte. Each byte of the data is represented by a key value. The method further includes the step of vectorizing the disassembled data to obtain a first vector of the data to be stored. The first vector contains at least one pair of values. Each pair of values contains a first value and a second value. The first value represents one or more bytes having a unique key value in the disassembled data. The second value indicates an instance of one or more bytes having a unique key value that exists in the disassembled data. The method further includes the steps of determining whether the vectorized data exists in one or more data centers, and, based on the result of the determining step, returning a reference for the data to be stored.
[0010] An advantage related to the present invention is that this method enables the efficient recycling of already available data that may reside in locally located storage devices or shared devices on the internet. This allows the data center to remain nearly fixed in size, even if the amount of data intended to be shared or stored constantly increases. A nearly fixed-size data center means that even if the amount of data intended to be shared or stored constantly increases—that is, even if the amount of information stored in the data center constantly increases—the physical size of the data center will not increase as it would in a conventional data center due to the recycling of data already stored within the data center. In other words, this method significantly reduces the rate at which the physical size of the data center increases compared to the amount of data that is to be added to the data center.
[0011] The term "file" refers to all types of data files, including text, images, audio, photographs, and videos. A data file may consist of a sequence of bytes. Each byte sequence may contain one or more bytes.
[0012] The term "key value" is used to represent a byte in data. Every byte in data can be represented by a corresponding key value. Data can be represented using various number systems, such as decimal, binary, octal, or hexadecimal. For example, if data is represented in hexadecimal, each byte of data is represented by a hexadecimal value. This hexadecimal value is the key value of the byte in the data.
[0013] The term vector is used to represent data using only the unique key values of the data. A vector contains at least one pair of values. Each pair of values consists of a first value and a second value. The first value represents one or more bytes that have a unique key value in the data, and the second value indicates an instance of one or more bytes that have a unique key value that exists in the data. A vector containing at least one pair of values may include all the unique key values that may exist in the data as the first value of at least one pair of values. For example, data may be represented as hexadecimal values. In such a case, each pair of values in the vector may include a first value that has a unique hexadecimal value that exists in the hexadecimal data, and a second value that indicates an instance of one or more bytes that have a unique hexadecimal value that exists in the hexadecimal data. A vector containing at least one pair of values may include all the unique hexadecimal values that may exist in the hexadecimal data as the first value.
[0014] The phrase "one or more data centers" is used to refer to data centers capable of storing files and their vectors.
[0015] According to some embodiments of the present invention, the steps of determining whether vectorized data exists in one or more data centers, and returning a reference for data to be saved based on the result of the determination step, may further include the step of comparing a first vector with a vector in one or more data centers. If the first vector exists in one or more data centers, it is determined whether the data to be saved is a copy of a first file that already exists in one or more data centers. The first file corresponds to a vector having the same pairs of values as the first vector. If the data to be saved is a copy of a first file that already exists in one or more data centers, a reference is returned to the user. The reference is a reference ID of a first file that already exists in one or more data centers.
[0016] According to some embodiments of the present invention, the step of determining whether vectorized data exists in one or more data centers may further include the step of comparing a first vector with vectors in one or more data centers. If the first vector does not exist in any of the one or more data centers, or if the data to be saved is not a copy of a first file already existing in one or more data centers, a vector with the highest similarity value compared to the first vector is selected in one or more data centers. The step of determining whether vectorized data exists in one or more data centers may further include the step of determining one or more overlapping byte sequences in both the data to be saved and a second file corresponding to the vector selected in one or more data centers, wherein the length of the overlapping byte sequences is less than or equal to a first threshold. The step of returning a reference for the data to be saved may further include the step of returning a first reference, the first reference comprising one or more subreferences, each subreference corresponding to one of the overlapping byte sequences, and each subreference comprising the index and range of the overlapping byte sequence in the second file.
[0017] According to some embodiments of the present invention, the method may further include the step of inserting one or more byte sequences not found in a second file, wherein the length of the unfound byte sequences is less than a second threshold.
[0018] According to some embodiments of the present invention, the method may further include the step of vectorizing each byte sequence not found in a second file in order to obtain each second vector, wherein the length of each byte sequence not found in the second file is greater than or equal to a second threshold. For each byte sequence, the following steps are performed: (i) determining whether the second vector exists in one or more data centers; (ii) if the second vector exists in one or more data centers, determining whether the byte sequence has a copy in a third file already existing in one or more data centers, wherein the third file corresponds to a vector having the same pairs of values as the second vector; (iii) if the byte sequence has a copy in a third file, returning a second reference, which is either a reference ID for the third file or includes an index and range of the duplicate bytes in the third file; (iv) if the second vector exists in one or more data centers or the byte sequence does not have a copy in a third file, adding the byte sequence to one or more data centers and returning a third reference. The third reference is the reference ID of a byte sequence that does not have a copy within the third file.
[0019] According to some embodiments of the present invention, the reference for the data to be returned and stored may include at least one of a first reference, an inserted byte sequence, one or more second references, and one or more third references.
[0020] According to some embodiments of the present invention, the method may further include the step of reconstructing data to be saved based on references.
[0021] According to some embodiments of the present invention, the step of decomposing the data to be saved into bytes may include the step of representing each byte in hexadecimal format.
[0022] According to a second aspect, the system for accessing data comprises a processor and memory in which instructions are stored. When an instruction is executed by the processor, the processor executes this method.
[0023] According to the third aspect, the instruction is stored in a non-temporary, computer-readable storage medium. Once the instruction is executed by the computer, the computer performs the method of the first aspect.
[0024] This method and system benefit from the idea of returning a reference to the data rather than the complete data to be saved or shared when data should be saved or shared. Therefore, only a reference to the data, not the complete data, is stored on the user's terminal, and the complete data can be retrieved through the reference. This reduces the storage size of the user's data storage. Furthermore, because all data stored within the data center can be reused and combined with different data, it is no longer necessary to save the complete data every time data is added to the data center, allowing the data center size to be controlled to a nearly fixed size.
[0025] This method and system can also benefit from the idea that all data stored within the data center can be reused and combined with different data, thus significantly improving the security of the data stored there. [Brief explanation of the drawing]
[0026] These and other aspects will be described in more detail while referring to the accompanying drawings that illustrate embodiments. [Figure 1] FIG. 1 shows an exemplary flowchart of a method for referencing data, executed by a processor operably connected to one or more data centers within a network. [Figure 1a] FIG. 1a shows an exemplary flowchart of an additional / alternative method for referencing data, executed by a processor operably connected to one or more data centers within a network. [Figure 2] FIG. 2 schematically shows a system for referencing data.
[0027] All the figures are schematic diagrams, not necessarily to scale, generally showing only the parts necessary to explain the embodiments, and the other parts may be omitted or merely suggested. Throughout the specification, like reference numerals refer to like elements. Detailed Description
[0028] Hereinafter, aspects of the present invention will be described in more detail while referring to the accompanying drawings that illustrate presently preferred embodiments. However, these aspects can be realized in various forms and should not be construed as being limited to the embodiments described herein. Rather, these embodiments are provided for the purpose of thoroughness and completeness to enable those skilled in the art to fully understand the scope of the present invention.
[0029] Referring to Figure 1, a flowchart of method 100 for retrieving data is shown, which is executed by a processor operably connected to one or more data centers in a network. Each of the one or more data centers is configured to store files and vectors corresponding to these files. Method 100 includes a step 102 of receiving a request containing data to be saved. The request for saving data may be received from a user, for example, via an application on a mobile device or software on a computer. In some embodiments, the data to be saved can be any appropriate type of data, such as text, images, audio, photographs, videos, or any combination thereof. For example, the data to be saved may be the text message "Hello world". Furthermore, the method includes a step 104 of decomposing the data to be saved into multiple bytes, byte by byte. In some embodiments, the step of decomposing the data to be saved into bytes can further be represented using various notations, such as decimal, binary, octal, or hexadecimal. Each byte of the decomposed data is represented by a corresponding key value. For example, if the decomposed data is represented in hexadecimal, each byte of the data is represented by a hexadecimal value. This hexadecimal value becomes the key value for each byte in the data. Let's take the text message "Hello world" as an example. When this is broken down, the bytes can be represented as hexadecimal values [48,65,6C,6C,6F,20,77,6F,72,6C,64], where the "H" in the text message "Hello world" is represented by the corresponding hexadecimal value "48" in the broken-down data [48,65,6C,6C,6F,20,77,6F,72,6C,64]. Similarly, the text message "Hello world" contains three instances of "l", and each instance of "l" in the broken-down data [48,65,6C,6C,6F,20,77,6F,72,6C,64] is represented by the corresponding hexadecimal value "6C". In step 106, the broken-down data is vectorized to obtain the first vector of data to be saved.The first vector contains at least one pair of values. Each pair of values contains a first value and a second value. The first value represents one or more bytes that have a unique key value in the decomposed data. The second value indicates an instance of one or more bytes that have a unique key value that exists in the decomposed data. Consider the example of the text message "Hello world". Vectorizing the decomposed data yields the first vector {48=1,65=1,6C=3,6F=2,…}. The first vector {48=1,65=1,6C=3,6F=2,…} contains, for example, the first pair of values "48=1". Here, in the first pair of values "48=1", "48" is the first value and "1" is the second value. The first value "48" in the first pair of values "48=1" represents one or more bytes in the decomposed hexadecimal representation data [48,65,6C,6C,6F,20,77,6F,72,6C,64] that have a unique hexadecimal value "48". The second value "1" in the first pair of values "48=1" represents the single instance of one or more bytes in the decomposed hexadecimal representation data [48,65,6C,6C,6F,20,77,6F,72,6C,64] that have a unique hexadecimal value "48", i.e., H. Similarly, the second value "3" of the third pair of values "6C=3" in the first vector {48=1,65=1,6C=3,6F=2,…} represents three instances of one or more bytes having the unique hexadecimal value "6C", i.e., "l", present in the decomposed hexadecimal representation data [48,65,6C,6C,6F,20,77,6F,72,6C,64]. The method further includes a step 108 that determines whether the vectorized data exists in one or more data centers. The determination step may include a step of checking for copies of the vectorized data in one or more data centers. Different subsequent steps may be performed based on this determination result.In some embodiments, this step may be carried out by, for example, determining whether all pairs of values in the first vector exist in the vector of a file stored in one or more data centers, and if so, determining whether there is a copy of the data to be stored in one or more data centers (described in detail with reference to Figure 1a of this application). For example, other embodiments in which it is determined that there is no copy of the data to be stored in one or more data centers are described below with reference to Figure 1a of this application. Finally, in step 110, a reference for the data to be stored is returned based on the result of step 108 to be determined. In some embodiments, the step of returning a reference may include returning a reference to the file in the determined one or more data centers. In some embodiments, the file in the determined one or more data centers contains all pairs of values in the first vector, and the determined file is a copy of the data to be stored. The reference may include, for example, a reference ID. The reference may be returned to the same or different user, or to software on a computer, etc. This process is described in detail below.
[0030] Referring to Figure 1a, a flowchart of method 100 for retrieving data is shown, which is performed additionally / alternatively by a processor operablely connected to one or more data centers in the network. Figure 1a further illustrates another scenario that may occur when retrieving data. Steps 102 to 108 are performed as described in relation to Figure 1. In step 108, the method determines whether the vectorized data exists in one or more data centers. The determination step may further include step 109, i.e., the step of comparing a first vector with vectors in one or more data centers, and step 111, i.e., if it is determined in step 109 that the first vector exists in one or more data centers, the step of determining whether the data to be saved is a copy of a first file that already exists in one or more data centers. The first file corresponds to a vector having the same pairs of values as the first vector. Consider the example of the text message "Hello world". In an exemplary case, it is determined whether all pairs of values in the first vector {48=1, 65=1, 6C=3, 6F=2, ...} exist in a vector of files stored in one or more data centers. If it is determined that all pairs of values in the first vector exist in a vector of files stored in one or more data centers, step 111, i.e., the step of determining a copy, can be performed using any suitable method. According to some embodiments, a copy may be determined by checking the order of bytes in the data to be saved. In other words, the data to be saved is compared byte by byte with the first file to determine whether the byte sequence in the data to be saved is the same as the byte sequence in the first file. According to some other embodiments, a copy is determined using a hash. If the sequences are the same, the data corresponding to the first vector is a copy of the first file that already exists in one or more data centers. If the data to be saved is a copy of the first file that already exists in one or more data centers, a reference is returned to the user in step 110.The reference may be a reference ID of a first file already stored in one or more data centers. According to the present invention, only the reference is returned and stored on the user's side without the user's knowledge. The method may further include step 122 of reconstructing the data to be stored based on the reference. The reconstruction step may include a step of restoring the data to be stored based on a reference to a first file already stored in one or more data centers. According to some embodiments, without the user's knowledge, the user can use the reference to retrieve the first file via an application on a mobile device or software on a computer.
[0031] Returning to step 108, we further describe other different scenarios for referencing data. Step 109 is the step of comparing the first vector with vectors in one or more data centers. If the comparison finds that the first vector does not exist in any of the one or more data centers, or if the determination in step 111 finds that the data to be saved is not a copy of the first file, then step 112 is performed, which is the step of selecting a vector from one or more data centers that has the highest similarity value compared to the first vector. According to some embodiments, the similarity value between the first vector and the selected vector in one or more data centers may be calculated using cosine similarity. The following description is based on similarity values calculated using cosine similarity. After calculation, a scalar value between 0 and 1 representing the similarity value is returned. If the returned similarity value is 1, it indicates that the file corresponding to the selected vector in one or more data centers is likely to be a copy of the first vector. Various other suitable methods may be used to calculate the similarity value. Therefore, the present invention is not limited to cases where the similarity value is calculated based on cosine similarity. Step 113 determines one or more overlapping byte sequences in both the data to be saved and the second file in one or more data centers corresponding to the vector selected in Step 112. The length of the overlapping byte sequences is less than or equal to a first threshold, which can be any number, for example. The second file corresponding to the selected vector may be different from or the same as the first file in one or more data centers. The second file is the file in one or more data centers corresponding to the selected vector with the highest similarity. Step 114 returns a first reference to the second file, which contains one or more subreferences, each subreference corresponding to one of the overlapping byte sequences, and each subreference contains the index and range of the overlapping byte sequence in the second file.The index may be a file ID, for example, the file ID of the second file, and may be represented as FileID=i02. The range may be defined using the starting byte number in the file corresponding to the selected vector (e.g., the second file) and the length of the number of bytes in the file corresponding to the selected vector in one or more data centers (e.g., the second file) which is one copy of one or more overlapping byte sequences in the second file. Each subreference may have the following syntax: FileID_StartByte_length. Furthermore, if the length of the undiscovered byte sequence is less than the second threshold, step 121 is performed by inserting one or more byte sequences not found in the second file. The insertion step may be performed by inserting a byte or byte sequence when returning the reference in step 110. Typically, the second threshold is smaller than the first threshold. For example, if the data is represented in hexadecimal, the insertion step may be performed by inserting a hexadecimal value for each byte of one or more byte sequences not found in the second file. However, if the length of each byte sequence not found in the second file is greater than or equal to the second threshold, step 115 is performed by vectorizing each of the byte sequences not found in the second file in order to obtain each second vector. Steps 116 to 120 below may be performed for each byte sequence. Step 116 determines whether the second vector exists in one or more data centers. The determination in step 116 may further include the step of comparing the second vector with a vector in one or more data centers. If the second vector exists in one or more data centers, step 117 is performed, which determines whether the byte sequence has a copy in a third file that already exists in one or more data centers, where the third file corresponds to a vector having the same pairs of values as the second vector. The comparison step and the copy verification step are performed in the same manner as described above.If the byte sequence has a copy in the third file, step 118, i.e., the step of returning a second reference, is performed. The second reference may be a reference ID in the third file, or it may contain the index and range of the duplicated bytes in the third file. Specifically, if the byte sequence is a copy of the entire third file, the second reference may be a reference ID in the third file. If the byte sequence is a copy of a part of the third file, the second reference may contain the index and range of the duplicated bytes in the third file. However, if the second vector does not exist in one or more data centers, or if the byte sequence does not have a copy in the third file, step 119, i.e., the step of adding the byte sequence to one or more data centers, is performed. Then, in step 120, a third reference to the added byte sequence is returned to one or more data centers. The third reference may be a reference ID of a byte sequence that does not have a copy in the third file. The reference 110 for the data to be saved that is returned may include at least one of the first reference, the inserted byte sequence, one or more second references, and one or more third references. Method 100 may further include step 122, namely, the step of reconstructing the data to be saved based on references. The reconstruction step may include the step of restoring the data to be saved based on references already saved in one or more data centers.
[0032] Referring to Figure 2, according to one embodiment of the present invention, a system 200 for accessing data comprises a processor 202 and a memory 204. The processor 202 of system 200 is operably connected to one or more data centers 206a, 206b, 206c, 206d in a network. One or more data centers such as 206a, 206b may be located on a remote network, such as a network connected via the Internet or a cloud network. One or more data centers such as 206c, 206d may also be located on a local network. Each of the one or more data centers 206a, 206b, 206c, 206d is configured to store files and vectors corresponding to these files. Instructions are stored in the memory 204. When an instruction is executed by the processor 202, the processor 202 performs the method 100 for accessing data as described in relation to the previous drawing. The memory 204 is shown to be independently connected to the processor 202. However, those skilled in the art will see that the memory can be integrated into the processor 202 or configured to be located outside the system 200.
[0033] Memory 204 may be a non-temporary computer-readable storage medium on which instructions are stored. Once these instructions are executed by the computer, the computer performs method 100 for accessing the data, as described in relation to either or a combination thereof of Figures 1 and 1a.
[0034] Those skilled in the art will understand that the present invention is not in any way limited to the preferred embodiments described above. On the contrary, many modifications and variations are possible within the scope of the appended claims. For example, although the processor that performs the data referencing method is shown as a single processor, it could also be provided as a group of processors jointly performing parts of the method. Thus, the embodiments presented in this disclosure are illustrative and should not be construed as limiting the scope of the present invention.
Claims
1. A method (100) for accessing data, which is executed by a processor operably connected to one or more data centers (206a, 206b, 206c, 206d) in a network, each of which is configured to store a file and a vector corresponding to the file. The steps include receiving a request that includes data to be saved (102), Step (104) of decomposing the data to be saved into multiple bytes, byte by byte, wherein each byte of the data is represented by a key value, Step (106) of vectorizing the decomposed data in order to obtain a first vector of the data to be saved, wherein the first vector includes at least one pair of values, each pair of values includes a first value and a second value, the first value represents one or more bytes having a unique key value in the decomposed data, and the second value represents an instance of the one or more bytes having the unique key value present in the decomposed data, Step (108) of determining whether the vectorized data exists in one or more data centers, A step (110) returns a reference for the data to be saved based on the result of the determination step, Method (100), including the method (100).
2. The determination step of determining whether the vectorized data exists in one or more data centers, and the reply step of returning a reference for the data to be saved based on the result of the determination step, The steps (109) include comparing the first vector with a vector in one or more data centers, If the first vector exists in one or more data centers, the step (111) of determining whether the data to be saved is a copy of a first file already existing in one or more data centers, wherein the first file corresponds to a vector having the same pair of values as the first vector, If the data to be saved is a copy of a first file already existing in one or more data centers, the steps include sending back to the user a reference that is the reference ID of the first file already existing in one or more data centers, The method according to claim 1, further comprising:
3. The determination step of determining whether the vectorized data exists in one or more data centers, and the reply step of returning a reference for the data to be saved based on the result of the determination step, The steps (109) include comparing the first vector with a vector in one or more data centers, If the first vector does not exist in any of the one or more data centers, or if the data to be saved is not a copy of the first file already existing in one or more data centers, the step (112) of selecting the vector having the highest similarity value compared to the first vector in one or more data centers, Step (113) of determining one or more overlapping byte sequences in both the data to be saved and the second file corresponding to the vector selected in one or more data centers, wherein the length of the overlapping byte sequences is less than or equal to a first threshold, A step (114) of returning a first reference, wherein the first reference includes one or more subreferences, each of which corresponds to one of the overlapping byte sequences, and each of which includes the index and range of the overlapping byte sequence in the second file, The method according to claim 1, further comprising:
4. Step (121) of inserting one or more byte sequences not found in the second file, wherein the length of the unfound byte sequences is less than a second threshold, The method according to claim 3, further comprising:
5. Step (115) to obtain each second vector, wherein each byte sequence not found in the second file is vectorized, the length of each byte sequence not found in the second file is greater than or equal to the second threshold, and each of the byte sequences is performed in the following steps (i) to (iv): (i) A step (116) to determine whether the second vector is located in one or more data centers, (ii) If the second vector exists in one or more data centers, a step (117) to determine whether the byte sequence has a copy in a third file already existing in one or more data centers, wherein the third file corresponds to a vector having the same pair of values as the second vector, (iii) If the byte sequence has a copy in the third file, step (118) to return a second reference, wherein the second reference is a reference ID of the third file or includes an index and range of the duplicated bytes in the third file. (iv) If the second vector does not exist in the one or more data centers or the byte sequence does not have a copy in the third file, the steps of adding the byte sequence to the one or more data centers (119) and returning a third reference (120), wherein the third reference is a reference ID of the byte sequence that does not have a copy in the third file, The vectorization step (115) is performed. The method according to claim 4, further comprising:
6. The method according to claim 5, wherein the reference for the data to be saved that is returned includes at least one of the first reference, the inserted byte sequence, one or more second references, and one or more third references.
7. The method according to any one of claims 1 to 6, further comprising the step (122) of reconstructing the data to be saved based on the aforementioned reference.
8. The method according to any one of claims 1 to 7, wherein the step of decomposing the data to be saved into bytes includes the step of representing each byte in hexadecimal format.
9. A system (200) for referencing data, comprising a processor (202) and a memory (204) in which instructions are stored, wherein when an instruction is executed by the processor, the processor performs the method according to any one of claims 1 to 8.
10. A non-temporary, computer-readable storage medium on which instructions are stored, wherein when the instructions are performed by a computer, the computer performs the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Storage system
JP2013514558A
Data processing apparatus, data processing system, data processing method, and data processing program
JP2017142664A
Storage device, and program
JP2018045305A
System and method for dividing data into predominantly fixed-sized chunks so that duplicate data chunks may be identified
US20050091234A1
System and method for segmenting a data stream
US20100205163A1