JP2020021177A - Information processing apparatus, decentralized processing system and decentralized processing program - Google Patents

Information processing apparatus, decentralized processing system and decentralized processing program Download PDF

Info

Publication number
JP2020021177A
JP2020021177A JP2018142937A JP2018142937A JP2020021177A JP 2020021177 A JP2020021177 A JP 2020021177A JP 2018142937 A JP2018142937 A JP 2018142937A JP 2018142937 A JP2018142937 A JP 2018142937A JP 2020021177 A JP2020021177 A JP 2020021177A
Authority
JP
Japan
Prior art keywords
item
data
code
dictionary
assigned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018142937A
Other languages
Japanese (ja)
Other versions
JP7047651B2 (en
Inventor
一仁 松田
Kazuhito Matsuda
一仁 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018142937A priority Critical patent/JP7047651B2/en
Publication of JP2020021177A publication Critical patent/JP2020021177A/en
Application granted granted Critical
Publication of JP7047651B2 publication Critical patent/JP7047651B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

To improve compression efficiency of data.SOLUTION: An information processing apparatus 100 stores a first dictionary and a second dictionary. The information processing apparatus 100 acquires data 120 having a first item. The information processing apparatus 100 refers to the first dictionary, and allocates codes to first item data 121 of the first item included in the data 120 so that differences between a code allocated to the first item data 121 and codes allocated to other item data 131 and 141 of the first item become small. The information processing apparatus 100 refers to the second dictionary, and allocates codes to second item data 122 of the second item included in the data 120 so that differences between the codes allocated to the second item data 122 and the code allocated to the first item data 121 become small. The information processing apparatus 100 synchronizes contents of the first dictionary and the second dictionary with a first device 110 on the basis of the allocation results.SELECTED DRAWING: Figure 1

Description

本発明は、情報処理装置、分散処理システム、および分散処理プログラムに関する。   The present invention relates to an information processing device, a distributed processing system, and a distributed processing program.

従来、エッジコンピュータが、IoT(Internet of Things)デバイスからデータを収集し、収集したデータのメタデータを圧縮してからデータセンターに送信することにより、データセンターにメタデータを集約するシステムがある。   2. Description of the Related Art Conventionally, there is a system in which an edge computer collects data from an Internet of Things (IoT) device, compresses the metadata of the collected data, and transmits the compressed data to a data center, thereby collecting the metadata in the data center.

先行技術としては、例えば、一般RDB(Relational DataBase)に記録された各属性の型の情報に加えて、属性の属性値の種類の数を調査し、型および種類数によって、一般RDBの各属性を分類することにより、圧縮を施すかどうかを判断するものがある。また、例えば、受信したレコードをカラムごとに圧縮してカラム位置情報と共にデータベースに登録し、一致検索の場合に検索キーデータを圧縮して検索対象となる圧縮されたままのカラムデータと比較する技術がある。   As prior art, for example, in addition to information on the type of each attribute recorded in a general RDB (Relational DataBase), the number of types of attribute values of the attribute is checked, and each attribute of the general RDB is determined based on the type and the number of types. Are classified to determine whether to apply compression. Also, for example, a technique of compressing a received record for each column, registering it in a database together with column position information, and compressing the search key data in the case of a match search and comparing it with compressed column data as a search target There is.

特開平11−238073号公報JP-A-11-238073 特開平8−314957号公報JP-A-8-314957

しかしながら、従来技術では、メタデータの圧縮効率が低下してしまうことがある。例えば、エッジコンピュータが一度に送信するメタデータの量が少ないほど、メタデータの圧縮効率が低下してしまう傾向がある。   However, in the related art, the compression efficiency of metadata may be reduced. For example, the smaller the amount of metadata transmitted by the edge computer at one time, the lower the metadata compression efficiency tends to be.

1つの側面では、本発明は、データの圧縮効率の向上を図ることを目的とする。   In one aspect, an object of the present invention is to improve data compression efficiency.

1つの実施態様によれば、全符号化対象データが共通して有する第1項目を有するデータを取得し、前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する情報処理装置、分散処理システム、および分散処理プログラムが提案される。   According to one embodiment, data having a first item shared by all data to be encoded is obtained, and the item data of the first item is associated with a code assigned to the item data. The difference between the code assigned to the first item data of the first item included in the acquired data and the code assigned to the other item data of the first item is small with reference to the first dictionary to be represented. A code that does not overlap with a code assigned to another item data of the first item is assigned to the first item data, and the item data of a second item different from the first item is assigned to the first item data. A code assigned to the second item data of the second item included in the acquired data and a code assigned to the first item data are referred to by referring to a second dictionary representing the code assigned to the first item data in association with the first item data. The second item data is assigned a code that does not overlap with the code assigned to the other item data of the second item, so that the difference from the assigned code is reduced. An information processing apparatus, a distributed processing system, and a distributed processing program that synchronize the contents of the first dictionary and the second dictionary with a first apparatus that compresses or decompresses a file are proposed.

一態様によれば、データの圧縮効率の向上を図ることが可能になる。   According to an aspect, it is possible to improve data compression efficiency.

図1は、実施の形態にかかる分散処理方法の一実施例を示す説明図である。FIG. 1 is an explanatory diagram of an example of the distributed processing method according to the embodiment. 図2は、分散処理システム200の一例を示す説明図である。FIG. 2 is an explanatory diagram illustrating an example of the distributed processing system 200. 図3は、末端処理装置201のハードウェア構成例を示すブロック図である。FIG. 3 is a block diagram illustrating an example of a hardware configuration of the terminal processing device 201. 図4は、メタデータ400の具体例を示す説明図である。FIG. 4 is an explanatory diagram showing a specific example of the metadata 400. 図5は、符号化したメタデータ500の具体例を示す説明図である。FIG. 5 is an explanatory diagram showing a specific example of the encoded metadata 500. 図6は、バージョン情報600の記憶内容の一例を示す説明図である。FIG. 6 is an explanatory diagram showing an example of the storage contents of the version information 600. 図7は、固定値符号表700の記憶内容の一例を示す説明図である。FIG. 7 is an explanatory diagram showing an example of the storage contents of the fixed-value code table 700. 図8は、変動値符号表800の記憶内容の一例を示す説明図である。FIG. 8 is an explanatory diagram showing an example of the stored contents of the variable value code table 800. 図9は、対応関係テーブル900の記憶内容の一例を示す説明図である。FIG. 9 is an explanatory diagram showing an example of the storage contents of the correspondence table 900. 図10は、同期待ち符号リスト1000の記憶内容の一例を示す説明図である。FIG. 10 is an explanatory diagram showing an example of the storage contents of the synchronization waiting code list 1000. 図11は、共起確率リスト1100の記憶内容の一例を示す説明図である。FIG. 11 is an explanatory diagram showing an example of the stored contents of the co-occurrence probability list 1100. 図12は、累積差分リスト1200の記憶内容の一例を示す説明図である。FIG. 12 is an explanatory diagram showing an example of the storage contents of the cumulative difference list 1200. 図13は、中央処理装置203のハードウェア構成例を示すブロック図である。FIG. 13 is a block diagram illustrating a hardware configuration example of the central processing unit 203. 図14は、分散処理システム200の機能的構成例を示すブロック図である。FIG. 14 is a block diagram illustrating a functional configuration example of the distributed processing system 200. 図15は、分散処理システム200の動作例を示す説明図(その1)である。FIG. 15 is an explanatory diagram (part 1) illustrating an operation example of the distributed processing system 200. 図16は、分散処理システム200の動作例を示す説明図(その2)である。FIG. 16 is an explanatory diagram (part 2) illustrating an operation example of the distributed processing system 200. 図17は、分散処理システム200の動作例を示す説明図(その3)である。FIG. 17 is an explanatory diagram (part 3) illustrating an operation example of the distributed processing system 200. 図18は、分散処理システム200の動作例を示す説明図(その4)である。FIG. 18 is an explanatory diagram (part 4) illustrating an operation example of the distributed processing system 200. 図19は、登録処理手順の一例を示すフローチャートである。FIG. 19 is a flowchart illustrating an example of a registration processing procedure. 図20は、第1払出処理手順の一例を示すフローチャートである。FIG. 20 is a flowchart illustrating an example of the first payout processing procedure. 図21は、第2払出処理手順の一例を示すフローチャートである。FIG. 21 is a flowchart illustrating an example of the second payout processing procedure. 図22は、圧縮呼び出し処理手順の一例を示すフローチャートである。FIG. 22 is a flowchart illustrating an example of a compression call processing procedure. 図23は、圧縮処理手順の一例を示すフローチャートである。FIG. 23 is a flowchart illustrating an example of a compression processing procedure. 図24は、同期呼び出し処理手順の一例を示すフローチャートである。FIG. 24 is a flowchart illustrating an example of a synchronous call processing procedure. 図25は、同期処理手順の一例を示すフローチャートである。FIG. 25 is a flowchart illustrating an example of the synchronization processing procedure. 図26は、更新処理手順の一例を示すフローチャートである。FIG. 26 is a flowchart illustrating an example of the update processing procedure. 図27は、第1符号調整呼び出し処理手順の一例を示すフローチャートである。FIG. 27 is a flowchart illustrating an example of a first code adjustment calling process procedure. 図28は、第1符号調整処理手順の一例を示すフローチャートである。FIG. 28 is a flowchart illustrating an example of a first code adjustment processing procedure. 図29は、第2符号調整呼び出し処理手順の一例を示すフローチャートである。FIG. 29 is a flowchart illustrating an example of the procedure of the second code adjustment calling process. 図30は、第2符号調整処理手順の一例を示すフローチャートである。FIG. 30 is a flowchart illustrating an example of the second code adjustment processing procedure.

以下に、図面を参照して、本発明にかかる情報処理装置、分散処理システム、および分散処理プログラムの実施の形態を詳細に説明する。   Hereinafter, embodiments of an information processing apparatus, a distributed processing system, and a distributed processing program according to the present invention will be described in detail with reference to the drawings.

(実施の形態にかかる分散処理方法の一実施例)
図1は、実施の形態にかかる分散処理方法の一実施例を示す説明図である。図1において、情報処理装置100は、分散処理システムに用いられるコンピュータである。
(One Example of Distributed Processing Method According to Embodiment)
FIG. 1 is an explanatory diagram of an example of the distributed processing method according to the embodiment. In FIG. 1, an information processing apparatus 100 is a computer used in a distributed processing system.

分散処理システムは、例えば、IoTデバイスと、エッジコンピュータと、データセンターとを含む。分散処理システムでは、例えば、エッジコンピュータが、IoTデバイスからデータを収集し、収集したデータをデータセンターに送信することにより、データセンターにデータを集約し、データセンターでデータを利用可能にすることがある。   The distributed processing system includes, for example, an IoT device, an edge computer, and a data center. In a distributed processing system, for example, an edge computer collects data from an IoT device, transmits the collected data to a data center, aggregates the data in the data center, and makes the data available in the data center. is there.

ここで、IoTデバイスが生成するデータのすべてが、データセンターで利用されるとは限らず、通信コストをかけてデータセンターに送信したデータが、データセンターで利用されないことがある。通信コストは、消費電力および帯域負荷などである。このため、エッジコンピュータが、IoTデバイスから収集したデータについてのメタデータをデータセンターに送信することにより、データセンターにメタデータを集約するようにすることが考えられる。   Here, not all data generated by the IoT device is used in the data center, and data transmitted to the data center at a communication cost may not be used in the data center. Communication costs include power consumption and bandwidth load. For this reason, it is conceivable that the edge computer transmits the metadata about the data collected from the IoT device to the data center, so that the metadata is aggregated in the data center.

また、エッジコンピュータとデータセンターとの間の通信帯域が狭いほど、エッジコンピュータとデータセンターとで大量のデータをやり取りすることが困難になる。例えば、通信帯域は、1.5Mbpsである。このため、エッジコンピュータとデータセンターとの間の一度の通信量を低減化することが好ましい。具体的には、エッジコンピュータが、メタデータをデータセンターに送信する際には、メタデータを圧縮することが好ましい。また、具体的には、エッジコンピュータが、データセンターに一度に送信するメタデータの量を少なくすることが好ましい。   Further, as the communication band between the edge computer and the data center becomes narrower, it becomes more difficult to exchange a large amount of data between the edge computer and the data center. For example, the communication band is 1.5 Mbps. For this reason, it is preferable to reduce the amount of communication between the edge computer and the data center at one time. Specifically, when transmitting the metadata to the data center, the edge computer preferably compresses the metadata. More specifically, it is preferable to reduce the amount of metadata transmitted by the edge computer to the data center at one time.

しかしながら、かかる状況では、メタデータを効率よく圧縮することが難しく、エッジコンピュータとデータセンターとの間の一度の通信量を低減することが難しい。例えば、エッジコンピュータが、辞書式符号化とハフマン符号化とをベースとしたDeflateと呼ばれる圧縮技術を利用する場合、一度に送信するメタデータの量が少ないほど、メタデータの圧縮効率が低下してしまう傾向がある。また、圧縮したメタデータに、伸長のための辞書情報を付与することになる。このため、エッジコンピュータとデータセンターとの間の一度の通信量を低減することは難しい。   However, in such a situation, it is difficult to efficiently compress the metadata, and it is difficult to reduce a single communication amount between the edge computer and the data center. For example, when the edge computer uses a compression technique called Deflate based on lexicographic coding and Huffman coding, the smaller the amount of metadata transmitted at a time, the lower the compression efficiency of metadata. There is a tendency. Also, dictionary information for decompression is added to the compressed metadata. For this reason, it is difficult to reduce the amount of communication at one time between the edge computer and the data center.

これに対し、エッジコンピュータとデータセンターとで、定期的に辞書情報を同期し、エッジコンピュータが、同期した辞書情報を利用してメタデータを圧縮するようにする場合が考えられる。この場合でも、メタデータを効率よく圧縮することが難しく、エッジコンピュータとデータセンターとの間の一度の通信量を低減することが難しい。例えば、メタデータが有する項目ごとに項目データを符号化し、同じ項目についての符号を並べた符号列に対して整数列圧縮を実施することになるが、符号列の隣り合う符号の差分が小さくなるとは限らず、圧縮効率が低下してしまうことがある。   On the other hand, there is a case where dictionary information is periodically synchronized between the edge computer and the data center, and the edge computer compresses metadata using the synchronized dictionary information. Even in this case, it is difficult to efficiently compress the metadata, and it is difficult to reduce the amount of communication at one time between the edge computer and the data center. For example, item data is encoded for each item included in metadata, and integer sequence compression is performed on a code sequence in which codes for the same item are arranged, but when the difference between adjacent codes in the code sequence is reduced. However, the compression efficiency may be reduced.

そこで、本実施の形態では、装置間で辞書を同期した状況で、一方の装置がデータを効率よく圧縮し、他方の装置に送信することが可能になるように、データに含まれる各種項目の項目データに符号を割り当てることができる分散処理方法について説明する。   Therefore, in this embodiment, in a situation where the dictionaries are synchronized between the devices, various items included in the data are compressed so that one device can efficiently compress the data and transmit the data to the other device. A distributed processing method capable of assigning codes to item data will be described.

図1の例では、情報処理装置100は、第1装置110と通信可能である。情報処理装置100は、第1辞書および第2辞書を、記憶部101に記憶する。第1装置110は、同様に、第1辞書および第2辞書を、記憶部111に記憶する。記憶部101の記憶内容と、記憶部111の記憶内容とは、情報処理装置100により同期される。第1装置110は、データを圧縮または伸長する装置である。   In the example of FIG. 1, the information processing device 100 can communicate with the first device 110. The information processing device 100 stores the first dictionary and the second dictionary in the storage unit 101. The first device 110 similarly stores the first dictionary and the second dictionary in the storage unit 111. The content stored in the storage unit 101 and the content stored in the storage unit 111 are synchronized by the information processing device 100. The first device 110 is a device that compresses or decompresses data.

第1辞書は、第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す対応情報である。第1項目は、全符号化対象データが共通して有する項目である。第1項目は、例えば、符号化対象データの生成元装置の識別情報が設定される項目である。符号は、例えば、整数である。また、第2辞書は、第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す対応情報である。第2項目は、例えば、符号化対象データの生成元装置が取得したセンサ情報が設定される項目である。   The first dictionary is correspondence information representing the item data of the first item in association with the code assigned to the item data. The first item is an item common to all data to be encoded. The first item is, for example, an item in which identification information of a device that generates the data to be encoded is set. The sign is, for example, an integer. In addition, the second dictionary is correspondence information representing the item data of the second item different from the first item in association with the code assigned to the item data. The second item is, for example, an item in which sensor information acquired by the source device of the encoding target data is set.

(1−1)情報処理装置100は、第1項目を有するデータ120を取得する。情報処理装置100は、例えば、自装置がIoTデバイスと通信可能な場合、IoTデバイスから第1項目を有するデータ120を受信する。   (1-1) The information processing apparatus 100 acquires the data 120 having the first item. For example, when the information processing apparatus 100 can communicate with the IoT device, the information processing apparatus 100 receives the data 120 having the first item from the IoT device.

(1−2)情報処理装置100は、第1辞書を参照して、取得したデータ120に含まれる第1項目の第1項目データ121に、第1項目の他の項目データ131,141に割り当てられた符号と重複しない符号を割り当てる。他の項目データ131,141は、例えば、過去に取得したデータ130,140に含まれる項目データであり、符号を割り当て済みの項目データである。この際、情報処理装置100は、第1項目データ121に割り当てられる符号と、他の項目データ131,141に割り当てられた符号との差分が小さくなるように、第1項目データ121に符号を割り当てる。   (1-2) The information processing apparatus 100 refers to the first dictionary and allocates the first item data 121 of the first item included in the acquired data 120 to the other item data 131 and 141 of the first item. Assign a code that does not overlap with the assigned code. The other item data 131 and 141 are, for example, item data included in the data 130 and 140 acquired in the past, and are item data to which codes are assigned. At this time, the information processing apparatus 100 assigns a code to the first item data 121 so that the difference between the code assigned to the first item data 121 and the codes assigned to the other item data 131 and 141 becomes small. .

(1−3)情報処理装置100は、第2辞書を参照して、取得したデータ120に含まれる第2項目の第2項目データ122に、第2項目の他の項目データ132,142に割り当てられた符号と重複しない符号を割り当てる。他の項目データ132,142は、例えば、過去に取得したデータ130,140に含まれる項目データであり、符号を割り当て済みの項目データである。この際、情報処理装置100は、第2項目データ122に割り当てられる符号と、第1項目データ121に割り当てた符号との差分が小さくなるように、第2項目データ122に符号を割り当てる。   (1-3) The information processing apparatus 100 refers to the second dictionary and assigns the second item data 122 of the second item included in the acquired data 120 to the other item data 132 and 142 of the second item. Assign a code that does not overlap with the assigned code. The other item data 132 and 142 are, for example, item data included in the data 130 and 140 acquired in the past, and are item data to which codes are assigned. At this time, the information processing apparatus 100 assigns a code to the second item data 122 such that the difference between the code assigned to the second item data 122 and the code assigned to the first item data 121 becomes small.

(1−4)情報処理装置100は、割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期する。情報処理装置100は、例えば、割り当て結果を第1装置110に送信する。第1装置110は、割り当て結果を記憶部111に反映し、記憶部111にある第1辞書および第2辞書を更新する。また、情報処理装置100は、割り当て結果を記憶部101に反映し、記憶部101にある第1辞書および第2辞書を更新する。   (1-4) The information processing apparatus 100 synchronizes the contents of the first dictionary and the second dictionary with the first apparatus 110 based on the assignment result. The information processing device 100 transmits the assignment result to the first device 110, for example. The first device 110 reflects the assignment result in the storage unit 111 and updates the first dictionary and the second dictionary in the storage unit 111. The information processing apparatus 100 reflects the assignment result in the storage unit 101 and updates the first dictionary and the second dictionary in the storage unit 101.

これにより、情報処理装置100は、第1項目についての複数の項目データを符号化し、第1項目についての符号列に対して整数列圧縮を実施する場合に、整数列圧縮の効率化が図られるように、第1項目についての項目データに符号を割り当てることができる。   Thereby, when the information processing apparatus 100 encodes a plurality of item data of the first item and performs the integer sequence compression on the code sequence of the first item, the efficiency of the integer sequence compression is improved. Thus, a code can be assigned to the item data for the first item.

例えば、IoTデバイスは、所定間隔でデータを生成する傾向があり、第1項目についての項目データは、IoTデバイスごとに固定的である傾向がある。換言すれば、内容が同一である第1項目についての項目データを含むデータが、IoTデバイスから所定間隔で生成される傾向があると考えられる。   For example, IoT devices tend to generate data at predetermined intervals, and item data for the first item tends to be fixed for each IoT device. In other words, it is considered that data including item data of the first item having the same content tends to be generated at predetermined intervals from the IoT device.

このため、同時期の、第1項目についての複数の項目データに、互いに差分が小さい符号を割り当てた場合、以降のある時期の、第1項目についての複数の項目データを符号化する際に、互いに差分が小さい符号に置き換えることができると考えられる。結果として、情報処理装置100は、第1装置110との間で、第1辞書および第2辞書の内容について同期した以降、第1項目についての複数の項目データを、互いに差分が小さい符号に置き換えることができ、整数列圧縮を効率化することができる。   For this reason, when codes having small differences are assigned to a plurality of item data of the first item at the same time, when a plurality of item data of the first item at a certain time thereafter is encoded, It is considered that the codes can be replaced with codes having a small difference from each other. As a result, after synchronizing the contents of the first dictionary and the second dictionary with the first device 110, the information processing device 100 replaces a plurality of item data of the first item with codes having a small difference from each other. Thus, the efficiency of integer string compression can be improved.

また、情報処理装置100は、第2項目についての複数の項目データを符号化し、第2項目についての符号列に対して整数列圧縮を実施した場合に、整数列圧縮の効率化が図られるように、第2項目についての項目データに符号を割り当てることができる。   In addition, when the information processing apparatus 100 encodes a plurality of item data of the second item and performs integer sequence compression on the code sequence of the second item, the efficiency of the integer sequence compression can be improved. In addition, a code can be assigned to the item data for the second item.

例えば、第1項目についての複数の項目データを、互いに差分が小さい符号に置き換えた場合、置き換えた符号との差分が小さい符号が割り当てられた第2項目についての複数の項目データも、互いに差分が小さい符号に置き換えることができると考えられる。結果として、情報処理装置100は、第1装置110との間で、第1辞書および第2辞書の内容について同期した以降、第2項目についての複数の項目データを、互いに差分が小さい符号に置き換えることができ、整数列圧縮を効率化することができる。   For example, when a plurality of item data of the first item are replaced with codes having a small difference from each other, a plurality of item data of the second item to which a code having a small difference from the replaced code is assigned also has a difference from each other. It is thought that it can be replaced with a smaller code. As a result, after synchronizing the contents of the first dictionary and the second dictionary with the first device 110, the information processing device 100 replaces a plurality of item data of the second item with codes having a small difference from each other. Thus, the efficiency of integer string compression can be improved.

また、情報処理装置100は、記憶部101の記憶内容と、記憶部111の記憶内容とを同期することができ、第1装置110が第1辞書および第2辞書に基づいてデータを圧縮可能または伸長可能にすることができる。結果として、情報処理装置100は、データを効率よく圧縮可能にすることができ、第1装置110との間の通信量の低減化を図ることができる。   Further, the information processing device 100 can synchronize the storage content of the storage unit 101 with the storage content of the storage unit 111, and the first device 110 can compress data based on the first dictionary and the second dictionary. It can be extensible. As a result, the information processing apparatus 100 can efficiently compress data, and can reduce the amount of communication with the first apparatus 110.

(分散処理システム200の一例)
次に、図2を用いて、図1に示した情報処理装置100を適用した、分散処理システム200の一例について説明する。
(Example of distributed processing system 200)
Next, an example of a distributed processing system 200 to which the information processing apparatus 100 illustrated in FIG. 1 is applied will be described with reference to FIG.

図2は、分散処理システム200の一例を示す説明図である。図2において、分散処理システム200は、末端処理装置201と、IoTデバイス202と、中央処理装置203とを含む。   FIG. 2 is an explanatory diagram illustrating an example of the distributed processing system 200. 2, the distributed processing system 200 includes a terminal processing device 201, an IoT device 202, and a central processing device 203.

分散処理システム200において、IoTデバイス202と末端処理装置201とは、有線または無線により接続される。また、分散処理システム200において、末端処理装置201と中央処理装置203とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。   In the distributed processing system 200, the IoT device 202 and the terminal processing device 201 are connected by wire or wirelessly. In the distributed processing system 200, the terminal processing device 201 and the central processing device 203 are connected via a wired or wireless network 210. The network 210 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet.

図2の例では、末端処理装置201に、図1に示した情報処理装置100が適用される。末端処理装置201は、IoTデバイス202からデータを収集するコンピュータである。末端処理装置201は、図6〜図12に後述する各種データベースを有する。末端処理装置201は、例えば、図6に後述するバージョン情報600により、図7に後述する固定値符号表700、および、図8に後述する変動値符号表800を管理する。   In the example of FIG. 2, the information processing apparatus 100 shown in FIG. The terminal processing device 201 is a computer that collects data from the IoT device 202. The terminal processing device 201 has various databases described later with reference to FIGS. The terminal processing device 201 manages, for example, a fixed value code table 700 described later in FIG. 7 and a variable value code table 800 described later in FIG. 8 based on version information 600 described later in FIG.

固定値符号表700は、メタデータの固定値フィールドのデータに割り振られた符号を示す情報である。固定値フィールドは、全メタデータが共通して有するフィールドである。固定値符号表700は、例えば、メタデータの固定値フィールドのデータのハッシュ値と、メタデータの固定値フィールドのデータに割り当てられた符号とを対応付けた対応情報である。ここで、データと、データのハッシュ値との対応関係は、図9に後述する対応関係テーブル900に記憶される。固定値符号表700は、具体的には、図1に示した第1辞書に対応する。   The fixed value code table 700 is information indicating codes assigned to the data of the fixed value field of the metadata. The fixed value field is a field that all metadata has in common. The fixed value code table 700 is, for example, correspondence information in which a hash value of data of a fixed value field of metadata is associated with a code assigned to data of the fixed value field of metadata. Here, the correspondence between the data and the hash value of the data is stored in a correspondence table 900 described later with reference to FIG. The fixed-value code table 700 specifically corresponds to the first dictionary shown in FIG.

変動値符号表800は、メタデータの変動値フィールドのデータに割り振られた符号を示す情報である。変動値フィールドは、固定値フィールド以外のフィールドである。変動値符号表800は、例えば、メタデータの変動値フィールドのデータのハッシュ値と、メタデータの変動値フィールドのデータに割り当てられた符号とを対応付けた対応情報である。ここで、データと、データのハッシュ値との対応関係は、図9に後述する対応関係テーブル900に記憶される。変動値符号表800は、具体的には、図1に示した第2辞書に対応する。   The variable value code table 800 is information indicating codes allocated to the data of the variable value field of the metadata. The variable value field is a field other than the fixed value field. The variable value code table 800 is, for example, correspondence information in which a hash value of data in a variable value field of metadata is associated with a code assigned to data in the variable value field of metadata. Here, the correspondence between the data and the hash value of the data is stored in a correspondence table 900 described later with reference to FIG. The variation value code table 800 specifically corresponds to the second dictionary shown in FIG.

また、末端処理装置201は、固定値符号表700、および、変動値符号表800を参照して、収集したデータについてのメタデータを符号化して蓄積し、符号化したメタデータを複数纏めて圧縮し、中央処理装置203に送信する。メタデータの具体例については、図4を用いて後述する。符号化したメタデータの具体例については、図5を用いて後述する。   Further, the terminal processing apparatus 201 refers to the fixed value code table 700 and the variable value code table 800, encodes and accumulates metadata about collected data, and collectively compresses a plurality of encoded metadata. Then, the data is transmitted to the central processing unit 203. A specific example of the metadata will be described later with reference to FIG. A specific example of the encoded metadata will be described later with reference to FIG.

また、末端処理装置201は、メタデータの固定値フィールドのデータ、および、変動値フィールドのデータに新たな符号を割り振り、図10に後述する同期待ち符号リスト1000に保存する。また、末端処理装置201は、図11に後述する共起確率リスト1100を利用し、メタデータの固定値フィールドのデータに符号を割り振り直し、同期待ち符号リスト1000に保存してもよい。また、末端処理装置201は、図12に後述する累積差分リスト1200を利用し、変動値フィールドのデータに割り当て可能な符号の数を調整する。   Further, the terminal processing device 201 allocates a new code to the data of the fixed value field and the data of the variable value field of the metadata, and stores the new code in the synchronization waiting code list 1000 described later with reference to FIG. Alternatively, the terminal processing device 201 may use the co-occurrence probability list 1100 described later with reference to FIG. 11 to reassign codes to the data in the fixed value field of the metadata, and store the data in the synchronization waiting code list 1000. Further, the terminal processing device 201 adjusts the number of codes that can be assigned to the data of the variation value field by using a cumulative difference list 1200 described later with reference to FIG.

また、末端処理装置201は、同期待ち符号リスト1000を中央処理装置203に送信すると共に、同期待ち符号リスト1000を固定値符号表700、および、変動値符号表800に反映する。末端処理装置201は、例えば、サーバやPC(Personal Computer)などである。   Further, the terminal processing device 201 transmits the synchronization waiting code list 1000 to the central processing unit 203, and reflects the synchronization waiting code list 1000 in the fixed value code table 700 and the variable value code table 800. The terminal processing device 201 is, for example, a server or a PC (Personal Computer).

IoTデバイス202は、データを生成して末端処理装置201に送信するコンピュータである。IoTデバイス202は、例えば、所定の場所に設けられ、所定の場所の周囲の環境を示すデータを、末端処理装置201に送信する。IoTデバイス202は、例えば、所定の物体に装着され、所定の物体の状態を示すデータを、末端処理装置201に送信してもよい。IoTデバイス202は、例えば、人間に所持され、人間の状態を示すデータを、末端処理装置201に送信してもよい。   The IoT device 202 is a computer that generates data and transmits the data to the terminal processing device 201. The IoT device 202 is provided, for example, at a predetermined location, and transmits data indicating an environment around the predetermined location to the terminal processing device 201. The IoT device 202 may be attached to a predetermined object, for example, and transmit data indicating the state of the predetermined object to the terminal processing device 201. For example, the IoT device 202 may be carried by a human and transmit data indicating the state of the human to the terminal processing device 201.

中央処理装置203は、圧縮されたメタデータを受信し、圧縮されたメタデータを伸長するコンピュータである。中央処理装置203は、末端処理装置201と同様に、固定値符号表700、変動値符号表800、および、対応関係テーブル900を有する。中央処理装置203は、同期待ち符号リスト1000を受信し、同期待ち符号リスト1000を、固定値符号表700、および、変動値符号表800に反映する。中央処理装置203は、例えば、サーバやPCなどである。   The central processing unit 203 is a computer that receives the compressed metadata and decompresses the compressed metadata. The central processing unit 203 has a fixed value code table 700, a variable value code table 800, and a correspondence table 900, similarly to the terminal processing apparatus 201. The central processing unit 203 receives the synchronization waiting code list 1000 and reflects the synchronization waiting code list 1000 in the fixed value code table 700 and the variable value code table 800. The central processing unit 203 is, for example, a server or a PC.

ここでは、末端処理装置201に図1に示した情報処理装置100が適用される場合について説明したが、これに限らない。例えば、中央処理装置203に図1に示した情報処理装置100が適用される場合があってもよい。この場合、中央処理装置203が、伸長したメタデータに基づいて、メタデータの固定値フィールドや変動値フィールドに符号を割り当てて同期待ち符号リスト1000を生成し、同期待ち符号リスト1000を末端処理装置201に送信することになる。   Here, the case where the information processing device 100 shown in FIG. 1 is applied to the terminal processing device 201 has been described, but the present invention is not limited to this. For example, the information processing apparatus 100 shown in FIG. 1 may be applied to the central processing unit 203 in some cases. In this case, based on the decompressed metadata, the central processing unit 203 assigns codes to the fixed value field and the variable value field of the metadata to generate the synchronization waiting code list 1000, and stores the synchronization waiting code list 1000 in the end processing device. 201.

また、例えば、末端処理装置201や中央処理装置203とは異なる装置に図1に示した情報処理装置100が適用される場合があってもよい。この場合、末端処理装置201や中央処理装置203とは異なる装置が、末端処理装置201または中央処理装置203からメタデータを収集することになる。そして、末端処理装置201や中央処理装置203とは異なる装置が、メタデータの固定値フィールドや変動値フィールドに符号を割り当てて同期待ち符号リスト1000を生成する。そして、末端処理装置201や中央処理装置203とは異なる装置が、同期待ち符号リスト1000を末端処理装置201や中央処理装置203に送信する。   Further, for example, the information processing apparatus 100 illustrated in FIG. 1 may be applied to a device different from the terminal processing device 201 or the central processing device 203. In this case, a device different from the terminal processing device 201 or the central processing device 203 collects metadata from the terminal processing device 201 or the central processing device 203. Then, a device different from the terminal processing device 201 and the central processing device 203 generates a synchronization waiting code list 1000 by allocating codes to the fixed value field and the variable value field of the metadata. Then, a device different from the terminal processing device 201 or the central processing device 203 transmits the synchronization waiting code list 1000 to the terminal processing device 201 or the central processing device 203.

ここでは、末端処理装置201が1つの装置である場合について説明したが、これに限らない。例えば、末端処理装置201が、協働する複数の装置を含むシステムであってもよい。また、中央処理装置203が1つの装置である場合について説明したが、これに限らない。例えば、中央処理装置203が、協働する複数の装置を含むシステムであってもよい。   Here, the case where the terminal processing device 201 is one device has been described, but the present invention is not limited to this. For example, the terminal processing device 201 may be a system including a plurality of cooperating devices. Further, the case where the central processing unit 203 is one device has been described, but the present invention is not limited to this. For example, the central processing unit 203 may be a system including a plurality of cooperating devices.

(末端処理装置201のハードウェア構成例)
次に、図3を用いて、末端処理装置201のハードウェア構成例について説明する。
(Example of hardware configuration of terminal processing device 201)
Next, an example of a hardware configuration of the terminal processing device 201 will be described with reference to FIG.

図3は、末端処理装置201のハードウェア構成例を示すブロック図である。図3において、末端処理装置201は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。   FIG. 3 is a block diagram illustrating an example of a hardware configuration of the terminal processing device 201. 3, the terminal processing apparatus 201 includes a CPU (Central Processing Unit) 301, a memory 302, a network I / F (Interface) 303, a recording medium I / F 304, and a recording medium 305. Each component is connected by a bus 300.

ここで、CPU301は、末端処理装置201の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。   Here, the CPU 301 manages the overall control of the terminal processing device 201. The memory 302 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), and a flash ROM. Specifically, for example, a flash ROM or a ROM stores various programs, and a RAM is used as a work area of the CPU 301. The program stored in the memory 302 is loaded into the CPU 301 to cause the CPU 301 to execute a coded process.

ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。   The network I / F 303 is connected to the network 210 via a communication line, and is connected to another computer via the network 210. The network I / F 303 manages an internal interface with the network 210, and controls input / output of data from / to another computer. The network I / F 303 is, for example, a modem or a LAN adapter.

記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、末端処理装置201から着脱可能であってもよい。   The recording medium I / F 304 controls reading / writing of data from / to the recording medium 305 under the control of the CPU 301. The recording medium I / F 304 is, for example, a disk drive, an SSD (Solid State Drive), a USB (Universal Serial Bus) port, or the like. The recording medium 305 is a non-volatile memory that stores data written under the control of the recording medium I / F 304. The recording medium 305 is, for example, a disk, a semiconductor memory, a USB memory, or the like. The recording medium 305 may be removable from the terminal processing device 201.

末端処理装置201は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、末端処理装置201は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、末端処理装置201は、記録媒体I/F304や記録媒体305を有していなくてもよい。   The terminal processing device 201 may include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, and the like, in addition to the components described above. Further, the terminal processing device 201 may include a plurality of recording medium I / Fs 304 and a plurality of recording media 305. Further, the terminal processing device 201 may not have the recording medium I / F 304 or the recording medium 305.

(メタデータ400の具体例)
次に、図4を用いて、メタデータ400の具体例について説明する。メタデータ400は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域に記憶される。
(Specific example of metadata 400)
Next, a specific example of the metadata 400 will be described with reference to FIG. The metadata 400 is stored in, for example, a storage area such as the memory 302 or the recording medium 305 of the terminal processing device 201 illustrated in FIG.

図4は、メタデータ400の具体例を示す説明図である。図4に示すように、メタデータ400は、source_idと、locationと、1以上のkeyとのフィールドを有する。source_idのフィールドには、メタデータ400を生成したIoTデバイス202を識別するデータが設定される。locationのフィールドには、メタデータ400を生成したIoTデバイス202がある場所を示すデータが設定される。keyのフィールドには、メタデータ400を生成したIoTデバイス202で取得したデータが設定される。   FIG. 4 is an explanatory diagram showing a specific example of the metadata 400. As shown in FIG. 4, the metadata 400 has fields of source_id, location, and one or more keys. In the field of source_id, data for identifying the IoT device 202 that generated the metadata 400 is set. In the location field, data indicating the location of the IoT device 202 that has generated the metadata 400 is set. In the key field, data acquired by the IoT device 202 that generated the metadata 400 is set.

メタデータ400は、keyのフィールドを有さない場合があってもよい。以下の説明では、例えば、source_idと、locationとのフィールドが、併せて、固定値フィールドとして扱われる。また、例えば、keyのフィールドが、変動値フィールドとして扱われる。   Metadata 400 may not have a key field. In the following description, for example, the fields of source_id and location are treated together as fixed value fields. Also, for example, the key field is treated as a variable value field.

(符号化したメタデータ500の具体例)
次に、図5を用いて、符号化したメタデータ500の具体例について説明する。符号化したメタデータ500は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域に記憶される。
(Specific Example of Encoded Metadata 500)
Next, a specific example of the encoded metadata 500 will be described with reference to FIG. The encoded metadata 500 is stored in, for example, a storage area such as the memory 302 or the recording medium 305 of the terminal processing device 201 illustrated in FIG.

図5は、符号化したメタデータ500の具体例を示す説明図である。図5に示すように、符号化したメタデータ500は、固定値と、変動値と、文字列とのフィールドを有する。固定値のフィールドには、固定値フィールドのデータと置き換えられた符号が設定される。変動値のフィールドには、変動値フィールドのデータと置き換えられた符号が設定される。文字列のフィールドには、符号と置き換えられなかったデータが設定される。   FIG. 5 is an explanatory diagram showing a specific example of the encoded metadata 500. As shown in FIG. 5, the encoded metadata 500 has fields of a fixed value, a variable value, and a character string. In the fixed value field, a code replaced with the data of the fixed value field is set. In the variable value field, a code replaced with the data of the variable value field is set. In the character string field, data that has not been replaced with a code is set.

(バージョン情報600の記憶内容)
次に、図6を用いて、バージョン情報600の記憶内容の一例について説明する。バージョン情報600は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage contents of version information 600)
Next, an example of the storage contents of the version information 600 will be described with reference to FIG. The version information 600 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 of the terminal processing device 201 illustrated in FIG.

図6は、バージョン情報600の記憶内容の一例を示す説明図である。図6に示すように、バージョン情報600は、固定値符号表700のVerと、変動値符号表800のVerとのフィールドを有する。固定値符号表700のVerのフィールドには、固定値符号表700が何回更新されたかを示すバージョン番号が設定される。変動値符号表800のVerのフィールドには、変動値符号表800が何回更新されたかを示すバージョン番号が設定される。   FIG. 6 is an explanatory diagram showing an example of the storage contents of the version information 600. As shown in FIG. 6, the version information 600 has fields of Ver of the fixed value code table 700 and Ver of the variable value code table 800. In the Ver field of the fixed value code table 700, a version number indicating how many times the fixed value code table 700 has been updated is set. In the Ver field of the variable value code table 800, a version number indicating how many times the variable value code table 800 has been updated is set.

(固定値符号表700の記憶内容)
次に、図7を用いて、固定値符号表700の記憶内容の一例について説明する。固定値符号表700は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage Contents of Fixed Value Code Table 700)
Next, an example of the storage contents of the fixed-value code table 700 will be described with reference to FIG. The fixed value code table 700 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 of the terminal processing device 201 illustrated in FIG.

図7は、固定値符号表700の記憶内容の一例を示す説明図である。図7に示すように、固定値符号表700は、ハッシュ値と、符号とのフィールドを有する。固定値符号表700は、固定値フィールドのデータのハッシュ値ごとに各フィールドに情報を設定することにより、固定値符号情報がレコードとして記憶される。   FIG. 7 is an explanatory diagram showing an example of the storage contents of the fixed-value code table 700. As shown in FIG. 7, the fixed-value code table 700 has fields of a hash value and a code. In the fixed-value code table 700, fixed-value code information is stored as a record by setting information in each field for each hash value of data in the fixed-value field.

ハッシュ値のフィールドには、固定値フィールドのデータのハッシュ値が設定される。符号のフィールドには、固定値フィールドのデータに割り当てられた符号が設定される。   In the hash value field, a hash value of data in the fixed value field is set. In the code field, a code assigned to the data in the fixed value field is set.

(変動値符号表800の記憶内容)
次に、図8を用いて、変動値符号表800の記憶内容の一例について説明する。変動値符号表800は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage Contents of Fluctuation Value Code Table 800)
Next, an example of the storage contents of the variable value code table 800 will be described with reference to FIG. The variation value code table 800 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 of the terminal processing device 201 illustrated in FIG.

図8は、変動値符号表800の記憶内容の一例を示す説明図である。図8に示すように、変動値符号表800は、ハッシュ値と、符号と、割当数とのフィールドを有する。変動値符号表800は、変動値フィールドのデータのハッシュ値ごとに各フィールドに情報を設定することにより、変動値符号情報がレコードとして記憶される。   FIG. 8 is an explanatory diagram showing an example of the stored contents of the variable value code table 800. As shown in FIG. 8, the variable value code table 800 has fields of a hash value, a code, and an assigned number. In the variable value code table 800, variable value code information is stored as a record by setting information in each field for each hash value of data in the variable value field.

ハッシュ値のフィールドには、変動値フィールドのデータのハッシュ値が設定される。符号のフィールドには、変動値フィールドのデータに割り当てられた符号が設定される。符号のフィールドには、符号が複数設定されてもよい。割当数のフィールドには、変動値フィールドのデータに割り当て可能な符号の数が設定される。   In the hash value field, a hash value of the data in the variable value field is set. In the code field, a code assigned to the data of the variation value field is set. A plurality of codes may be set in the code field. The number of codes that can be allocated to the data of the variable value field is set in the field of the number of allocations.

(対応関係テーブル900の記憶内容)
次に、図9を用いて、対応関係テーブル900の記憶内容の一例について説明する。対応関係テーブル900は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage contents of correspondence table 900)
Next, an example of the contents of the correspondence table 900 will be described with reference to FIG. The correspondence table 900 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 of the terminal processing device 201 illustrated in FIG.

図9は、対応関係テーブル900の記憶内容の一例を示す説明図である。図9に示すように、対応関係テーブル900は、ハッシュ値と、データとのフィールドを有する。対応関係テーブル900は、データごとに各フィールドに情報を設定することにより、対応情報がレコードとして記憶される。   FIG. 9 is an explanatory diagram showing an example of the storage contents of the correspondence table 900. As shown in FIG. 9, the correspondence table 900 has fields of a hash value and data. In the correspondence table 900, correspondence information is stored as a record by setting information in each field for each data.

ハッシュ値のフィールドには、メタデータに含まれる固定値フィールドのデータまたは変動値フィールドのデータから算出されたハッシュ値が設定される。データのフィールドには、メタデータに含まれる固定値フィールドのデータまたは変動値フィールドのデータが設定される。   In the hash value field, a hash value calculated from fixed value field data or variable value field data included in the metadata is set. In the data field, data of a fixed value field or data of a variable value field included in the metadata is set.

(同期待ち符号リスト1000の記憶内容)
次に、図10を用いて、同期待ち符号リスト1000の記憶内容の一例について説明する。同期待ち符号リスト1000は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage contents of synchronization waiting code list 1000)
Next, an example of the storage contents of the synchronization waiting code list 1000 will be described with reference to FIG. The synchronization waiting code list 1000 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 of the terminal processing device 201 illustrated in FIG.

図10は、同期待ち符号リスト1000の記憶内容の一例を示す説明図である。図10に示すように、同期待ち符号リスト1000は、データ/ハッシュ値と、固定値/変動値と、符号と、追加/削除とのフィールドを有する。同期待ち符号リスト1000は、データまたはハッシュ値ごとに各フィールドに情報を設定することにより、同期待ち符号情報がレコードとして記憶される。   FIG. 10 is an explanatory diagram showing an example of the storage contents of the synchronization waiting code list 1000. As shown in FIG. 10, the synchronization waiting code list 1000 has fields of data / hash value, fixed value / variable value, code, and addition / deletion. In the synchronization waiting code list 1000, synchronization waiting code information is stored as a record by setting information in each field for each data or hash value.

データ/ハッシュ値のフィールドには、データまたはハッシュ値が設定される。データ/ハッシュ値のフィールドには、例えば、固定値符号表700または変動値符号表800に対して、データと符号との組み合わせを追加しようとする場合には、データが設定される。データ/ハッシュ値のフィールドには、例えば、固定値符号表700または変動値符号表800から、ハッシュ値と符号との組み合わせを削除しようとする場合には、ハッシュ値が設定される。   Data or hash value is set in the data / hash value field. In the data / hash value field, data is set when a combination of data and code is to be added to the fixed value code table 700 or the variable value code table 800, for example. In the data / hash value field, for example, when a combination of a hash value and a code is to be deleted from the fixed value code table 700 or the variable value code table 800, a hash value is set.

固定値/変動値のフィールドには、固定値符号表700および変動値符号表800のいずれを処理対象にするかを示すフラグ情報が設定される。フラグ情報が固定値であれば、固定値符号表700を処理対象とすることを示し、フラグ情報が変動値であれば、変動値符号表800を処理対象とすることを示す。符号のフィールドには、処理対象に対して追加または削除される符号が設定される。追加/削除のフィールドには、処理種別として追加または削除が設定される。   In the fixed value / variation value field, flag information indicating which of the fixed value code table 700 and the variable value code table 800 is to be processed is set. If the flag information is a fixed value, it indicates that the fixed value code table 700 is to be processed, and if the flag information is a fluctuating value, it indicates that the fluctuating value code table 800 is to be processed. In the code field, a code added or deleted from the processing target is set. In the addition / deletion field, addition or deletion is set as the processing type.

(共起確率リスト1100の記憶内容)
次に、図11を用いて、共起確率リスト1100の記憶内容の一例について説明する。共起確率リスト1100は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage contents of the co-occurrence probability list 1100)
Next, an example of the storage content of the co-occurrence probability list 1100 will be described with reference to FIG. The co-occurrence probability list 1100 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 of the terminal processing device 201 illustrated in FIG.

図11は、共起確率リスト1100の記憶内容の一例を示す説明図である。図11に示すように、共起確率リスト1100は、ハッシュ値ペアと、共起確率とのフィールドを有する。共起確率リスト1100は、ハッシュ値のペアごとに各フィールドに情報を設定することにより、共起確率情報がレコードとして記憶される。   FIG. 11 is an explanatory diagram showing an example of the stored contents of the co-occurrence probability list 1100. As shown in FIG. 11, the co-occurrence probability list 1100 has fields of a hash value pair and a co-occurrence probability. The co-occurrence probability list 1100 stores co-occurrence probability information as a record by setting information in each field for each pair of hash values.

ハッシュ値ペアのフィールドには、固定値フィールドについての互いに異なる2つのデータのそれぞれのデータから算出されたハッシュ値のペアが設定される。共起確率のフィールドには、固定値フィールドについての互いに異なる2つのデータが、単位時間あたりに取得される確率である共起確率が設定される。   In the field of the hash value pair, a pair of hash values calculated from respective data of two different data in the fixed value field is set. In the co-occurrence probability field, a co-occurrence probability is set, which is a probability that two different data items for the fixed value field are acquired per unit time.

(累積差分リスト1200の記憶内容)
次に、図12を用いて、累積差分リスト1200の記憶内容の一例について説明する。累積差分リスト1200は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage Content of Cumulative Difference List 1200)
Next, an example of the storage contents of the accumulated difference list 1200 will be described with reference to FIG. The cumulative difference list 1200 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 of the terminal processing device 201 illustrated in FIG.

図12は、累積差分リスト1200の記憶内容の一例を示す説明図である。図12に示すように、累積差分リスト1200は、ハッシュ値と、累積差分と、割当数とのフィールドを有する。累積差分リスト1200は、ハッシュ値ごとに各フィールドに情報を設定することにより、累積差分情報がレコードとして記憶される。   FIG. 12 is an explanatory diagram showing an example of the storage contents of the cumulative difference list 1200. As shown in FIG. 12, the cumulative difference list 1200 has fields of a hash value, a cumulative difference, and an assigned number. In the cumulative difference list 1200, by setting information in each field for each hash value, the cumulative difference information is stored as a record.

ハッシュ値のフィールドには、変動値フィールドについてのデータから算出されたハッシュ値が設定される。累積差分のフィールドには、メタデータに含まれる変動値フィールドについてのデータと置き換えられた符号と、同じメタデータに含まれる固定値フィールドについてのデータと置き換えられた符号との差分を累積した結果が設定される。割当数のフィールドには、変動値フィールドについてのデータに対して割り当て可能な符号の数が設定される。   In the hash value field, a hash value calculated from data on the variable value field is set. The cumulative difference field contains the result of accumulating the difference between the sign replaced with the data for the variable value field included in the metadata and the sign replaced with the data for the fixed value field included in the same metadata. Is set. The number of codes that can be allocated to the data of the variable value field is set in the field of the number of allocations.

(IoTデバイス202のハードウェア構成例)
IoTデバイス202のハードウェア構成例は、図3に示した末端処理装置201のハードウェア構成例と同様であるが、IoTデバイス202は、記録媒体I/Fや記録媒体を有していなくてもよい。また、IoTデバイス202は、例えば、センサ装置を有していてもよい。
(Example of hardware configuration of IoT device 202)
The example of the hardware configuration of the IoT device 202 is the same as the example of the hardware configuration of the terminal processing apparatus 201 shown in FIG. 3, but the IoT device 202 does not have the recording medium I / F or the recording medium. Good. Further, the IoT device 202 may include, for example, a sensor device.

センサ装置は、例えば、IoTデバイス202の状態を検出する。IoTデバイス202の状態は、例えば、IoTデバイス202の位置、動き、および向きのうち少なくともいずれかである。センサ装置は、具体的には、加速度センサ、地磁気センサ、振動センサ、または、GPS受信機などのいずれかを含んでもよい。   The sensor device detects a state of the IoT device 202, for example. The state of the IoT device 202 is, for example, at least one of the position, movement, and orientation of the IoT device 202. The sensor device may specifically include any of an acceleration sensor, a geomagnetic sensor, a vibration sensor, a GPS receiver, and the like.

また、センサ装置は、例えば、IoTデバイス202の周辺の環境を検出してもよい。環境は、例えば、音や光などである。センサ装置は、具体的には、光センサ、または、音センサなどのいずれかを含んでもよい。また、センサ装置は、例えば、生体情報を検出してもよい。生体情報は、例えば、脈拍、心拍、体温、または、運動量などである。   Further, the sensor device may detect, for example, an environment around the IoT device 202. The environment is, for example, sound or light. Specifically, the sensor device may include any of an optical sensor, a sound sensor, and the like. The sensor device may detect, for example, biological information. The biological information is, for example, a pulse, a heart rate, a body temperature, or an amount of exercise.

(中央処理装置203のハードウェア構成例)
次に、図13を用いて、中央処理装置203のハードウェア構成例について説明する。
(Example of hardware configuration of central processing unit 203)
Next, an example of a hardware configuration of the central processing unit 203 will be described with reference to FIG.

図13は、中央処理装置203のハードウェア構成例を示すブロック図である。図13において、中央処理装置203は、CPU(Central Processing Unit)1301と、メモリ1302と、ネットワークI/F(Interface)1303と、記録媒体I/F1304と、記録媒体1305とを有する。また、各構成部は、バス1300によってそれぞれ接続される。   FIG. 13 is a block diagram illustrating a hardware configuration example of the central processing unit 203. 13, the central processing unit 203 includes a CPU (Central Processing Unit) 1301, a memory 1302, a network I / F (Interface) 1303, a recording medium I / F 1304, and a recording medium 1305. The components are connected by a bus 1300.

ここで、CPU1301は、中央処理装置203の全体の制御を司る。メモリ1302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU1301のワークエリアとして使用される。メモリ1302に記憶されるプログラムは、CPU1301にロードされることで、コーディングされている処理をCPU1301に実行させる。メモリ1302は、固定値符号表700、変動値符号表800、および、対応関係テーブル900などを記憶する。   Here, the CPU 1301 controls overall control of the central processing unit 203. The memory 1302 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash ROM, and the like. Specifically, for example, a flash ROM or a ROM stores various programs, and a RAM is used as a work area of the CPU 1301. The program stored in the memory 1302 is loaded into the CPU 1301 to cause the CPU 1301 to execute coded processing. The memory 1302 stores a fixed value code table 700, a variable value code table 800, a correspondence table 900, and the like.

ネットワークI/F1303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F1303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F1303は、例えば、モデムやLANアダプタなどである。   The network I / F 1303 is connected to the network 210 via a communication line, and is connected to another computer via the network 210. The network I / F 1303 controls an internal interface with the network 210, and controls input / output of data from / to another computer. The network I / F 1303 is, for example, a modem or a LAN adapter.

記録媒体I/F1304は、CPU1301の制御に従って記録媒体1305に対するデータのリード/ライトを制御する。記録媒体I/F1304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体1305は、記録媒体I/F1304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体1305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体1305は、中央処理装置203から着脱可能であってもよい。   The recording medium I / F 1304 controls reading / writing of data from / to the recording medium 1305 under the control of the CPU 1301. The recording medium I / F 1304 is, for example, a disk drive, an SSD (Solid State Drive), a USB (Universal Serial Bus) port, or the like. The recording medium 1305 is a non-volatile memory that stores data written under the control of the recording medium I / F 1304. The recording medium 1305 is, for example, a disk, a semiconductor memory, a USB memory, or the like. The recording medium 1305 may be detachable from the central processing unit 203.

中央処理装置203は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、中央処理装置203は、記録媒体I/F1304や記録媒体1305を複数有していてもよい。また、中央処理装置203は、記録媒体I/F1304や記録媒体1305を有していなくてもよい。   The central processing unit 203 may include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, and the like, in addition to the components described above. Further, the central processing unit 203 may include a plurality of recording medium I / Fs 1304 and a plurality of recording media 1305. Further, the central processing unit 203 may not have the recording medium I / F 1304 or the recording medium 1305.

(分散処理システム200の機能的構成例)
次に、図14を用いて、分散処理システム200の機能的構成例について説明する。具体的には、分散処理システム200に含まれる情報処理装置100の機能的構成例と、情報処理装置100と通信可能な第1装置110の機能的構成例とについて説明する。
(Example of Functional Configuration of Distributed Processing System 200)
Next, an example of a functional configuration of the distributed processing system 200 will be described with reference to FIG. Specifically, an example of a functional configuration of the information processing device 100 included in the distributed processing system 200 and an example of a functional configuration of the first device 110 that can communicate with the information processing device 100 will be described.

図14は、分散処理システム200の機能的構成例を示すブロック図である。図14の例では、主として、図2に示した末端処理装置201が情報処理装置100に対応し、図2に示した中央処理装置203が第1装置110に対応する場合について説明する。   FIG. 14 is a block diagram illustrating a functional configuration example of the distributed processing system 200. In the example of FIG. 14, a case will be mainly described where the terminal processing device 201 illustrated in FIG. 2 corresponds to the information processing device 100 and the central processing device 203 illustrated in FIG. 2 corresponds to the first device 110.

図14において、情報処理装置100は、記憶部1400と、取得部1401と、割当部1402と、同期部1403と、圧縮部1404と、出力部1405とを含む。また、第1装置110は、記憶部1410と、更新部1411と、伸長部1412とを含む。   14, the information processing apparatus 100 includes a storage unit 1400, an acquisition unit 1401, an assignment unit 1402, a synchronization unit 1403, a compression unit 1404, and an output unit 1405. In addition, the first device 110 includes a storage unit 1410, an update unit 1411, and a decompression unit 1412.

記憶部1400は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部1400が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部1400が、情報処理装置100とは異なる装置に含まれ、記憶部1400の記憶内容が情報処理装置100から参照可能である場合があってもよい。   The storage unit 1400 is realized by, for example, a storage area such as the memory 302 and the recording medium 305 illustrated in FIG. Hereinafter, a case will be described in which the storage unit 1400 is included in the information processing apparatus 100, but is not limited thereto. For example, the storage unit 1400 may be included in a device different from the information processing device 100, and the storage content of the storage unit 1400 may be referred to from the information processing device 100.

取得部1401〜出力部1405は、制御部の一例として機能する。取得部1401〜出力部1405は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。情報処理装置100の各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。   The acquisition unit 1401 to the output unit 1405 function as an example of a control unit. More specifically, the acquisition unit 1401 to the output unit 1405 cause the CPU 301 to execute a program stored in a storage area such as the memory 302 or the recording medium 305 illustrated in FIG. Implements that function. The processing result of each functional unit of the information processing apparatus 100 is stored in, for example, a storage area such as the memory 302 or the recording medium 305 illustrated in FIG.

記憶部1400は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部1400は、例えば、第1辞書および第2辞書を記憶する。第1辞書は、第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す対応情報である。第1項目は、全符号化対象データが共通して有する項目である。第1項目は、複数の項目を含んでもよい。第1項目は、例えば、固定値フィールドである。符号は、例えば、整数である。また、第2辞書は、第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す対応情報である。第2項目は、例えば、変動値フィールドである。記憶部1400は、具体的には、図6〜図12に示した各種データベースを記憶する。   The storage unit 1400 stores various information that is referred to or updated in the processing of each functional unit. The storage unit 1400 stores, for example, a first dictionary and a second dictionary. The first dictionary is correspondence information representing the item data of the first item in association with the code assigned to the item data. The first item is an item common to all data to be encoded. The first item may include a plurality of items. The first item is, for example, a fixed value field. The sign is, for example, an integer. In addition, the second dictionary is correspondence information representing the item data of the second item different from the first item in association with the code assigned to the item data. The second item is, for example, a variable value field. The storage unit 1400 specifically stores various databases shown in FIGS. 6 to 12.

取得部1401は、各機能部の処理に用いられる各種情報を取得する。取得部1401は、取得した各種情報を、記憶部1400に記憶し、または、各機能部に出力する。また、取得部1401は、記憶部1400に記憶しておいた各種情報を、各機能部に出力してもよい。取得部1401は、例えば、利用者の操作入力に基づき、各種情報を取得する。取得部1401は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。   The acquisition unit 1401 acquires various information used for processing of each functional unit. The acquiring unit 1401 stores the acquired various information in the storage unit 1400 or outputs the acquired information to each functional unit. Further, the acquisition unit 1401 may output various information stored in the storage unit 1400 to each functional unit. The acquisition unit 1401 acquires various information based on, for example, a user's operation input. The acquisition unit 1401 may receive various types of information from a device different from the information processing device 100, for example.

取得部1401は、具体的には、第1項目を有するデータを取得する。データは、1以上の項目を有し、1以上の項目のそれぞれの項目の項目データを含む。項目データは、項目名を含んでもよい。データは、例えば、メタデータである。データは、メタデータではなくてもよい。取得部1401は、より具体的には、IoTデバイス202から、メタデータを受信する。これにより、取得部1401は、各機能部がメタデータを参照可能にすることができる。   The acquisition unit 1401 specifically acquires data having the first item. The data has one or more items and includes item data of each of the one or more items. The item data may include an item name. The data is, for example, metadata. The data need not be metadata. More specifically, the acquisition unit 1401 receives metadata from the IoT device 202. Thereby, the acquisition unit 1401 can enable each functional unit to refer to the metadata.

割当部1402は、第1辞書を参照して、取得したデータに含まれる第1項目の第1項目データに、第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当てる。他の項目データは、例えば、過去に取得したデータに含まれる項目データであり、符号を割り当て済みの項目データである。この際、割当部1402は、第1項目データに割り当てられる符号と、他の項目データに割り当てられた符号との差分が小さくなるように、第1項目データに符号を割り当てる。差分が小さくなるようにすることは、例えば、差分を0に近づけることである。差分が小さくなるようにすることは、例えば、差分が一定以上小さくなるようにすることであってもよい。   The allocating unit 1402 refers to the first dictionary and allocates, to the first item data of the first item included in the acquired data, a code that does not overlap with the code allocated to the other item data of the first item. The other item data is, for example, item data included in data acquired in the past, and is item data to which a code has been assigned. At this time, the allocating unit 1402 allocates the code to the first item data such that the difference between the code allocated to the first item data and the code allocated to the other item data becomes small. To make the difference small, for example, to make the difference close to zero. Making the difference smaller may be, for example, making the difference smaller than a certain value.

割当部1402は、例えば、第1辞書を参照して、取得したデータに含まれる第1項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第1項目の項目データに符号を割り当てる。また、割当部1402は、例えば、第1辞書を参照して、取得したデータに含まれる第1項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第1項目の項目データに符号を割り当てなくてもよい。   For example, referring to the first dictionary, if there is no code assigned to the item data of the first item included in the acquired data, the allocating unit 1402 assigns the code to the item data of the first item included in the acquired data. Assign. In addition, for example, with reference to the first dictionary, if there is a code assigned to the item data of the first item included in the acquired data, the allocating unit 1402 may determine the item data of the first item included in the acquired data. Need not be assigned a code.

割当部1402は、具体的には、メタデータに含まれる固定値フィールドのデータのハッシュ値を算出する。次に、割当部1402は、ハッシュ値をキーに固定値符号表700を検索し、ハッシュ値に対応する符号があるか否かを判定する。そして、割当部1402は、符号がなければ、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存する。ここで、割当部1402は、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存せず、固定値符号表700に追加する場合があってもよい。   Specifically, the allocating unit 1402 calculates a hash value of the data of the fixed value field included in the metadata. Next, allocating section 1402 searches fixed value code table 700 using the hash value as a key, and determines whether or not there is a code corresponding to the hash value. Then, if there is no code, the allocating unit 1402 associates the hash value with the new code and stores it in the synchronization waiting code list 1000. Here, the allocating unit 1402 may associate the hash value with the new code and add the hash value to the fixed-value code table 700 without storing the hash value in the synchronization waiting code list 1000.

これにより、割当部1402は、第1項目についての複数の項目データを符号化し、第1項目についての符号列に対して整数列圧縮を実施する場合に、整数列圧縮の効率化が図られるように、第1項目についての項目データに符号を割り当てることができる。   By this means, when allocating a plurality of item data for the first item and performing integer sequence compression on the code sequence for the first item, allocation section 1402 can improve the efficiency of integer sequence compression. In addition, a code can be assigned to the item data for the first item.

割当部1402は、第2辞書を参照して、取得したデータに含まれる第2項目の第2項目データに、第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当てる。他の項目データは、例えば、過去に取得したデータに含まれる項目データであり、符号を割り当て済みの項目データである。この際、割当部1402は、第2項目データに割り当てられる符号と、第1項目データに割り当てた符号との差分が小さくなるように、第2項目データに符号を割り当てる。   The allocating unit 1402 refers to the second dictionary and allocates, to the second item data of the second item included in the acquired data, a code that does not overlap with the code assigned to the other item data of the second item. The other item data is, for example, item data included in data acquired in the past, and is item data to which a code has been assigned. At this time, the allocating unit 1402 allocates the code to the second item data such that the difference between the code allocated to the second item data and the code allocated to the first item data becomes small.

割当部1402は、例えば、第2辞書を参照して、取得したデータに含まれる第2項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第2項目の項目データに符号を割り当てる。また、割当部1402は、例えば、第2辞書を参照して、取得したデータに含まれる第2項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第2項目の項目データに符号を割り当てなくてもよい。   For example, referring to the second dictionary, if there is no code assigned to the item data of the second item included in the acquired data, the allocating unit 1402 assigns a code to the item data of the second item included in the acquired data. Assign. Further, for example, with reference to the second dictionary, if there is a code assigned to the item data of the second item included in the acquired data, the allocating unit 1402 may refer to the item data of the second item included in the acquired data. Need not be assigned a code.

割当部1402は、具体的には、メタデータに含まれる変動値フィールドのデータのハッシュ値を算出する。次に、割当部1402は、ハッシュ値をキーに変動値符号表800を検索し、ハッシュ値に対応する符号があるか否かを判定する。そして、割当部1402は、符号がなければ、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存する。ここで、割当部1402は、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存せず、変動値符号表800に追加する場合があってもよい。   Specifically, the allocating unit 1402 calculates a hash value of the data of the variable value field included in the metadata. Next, allocating section 1402 searches variable value code table 800 using the hash value as a key, and determines whether or not there is a code corresponding to the hash value. Then, if there is no code, the allocating unit 1402 associates the hash value with the new code and stores it in the synchronization waiting code list 1000. Here, the allocating unit 1402 may add the hash value and the new code to the variable value code table 800 without storing the hash value and the new code in the synchronization wait code list 1000.

また、割当部1402は、例えば、第2辞書を参照して、取得したデータに含まれる第2項目の項目データに割り当てられた符号の数が、取得したデータに含まれる第2項目の項目データに割り当て可能な符号の数未満であるか否かを判定してもよい。そして、割当部1402は、割り当て可能な符号の数未満であれば、取得したデータに含まれる第2項目の項目データに符号を割り当てる。また、割当部1402は、割り当て可能な符号の数以上であれば、取得したデータに含まれる第2項目の項目データに符号を割り当てなくてもよい。   Further, the allocating unit 1402 refers to, for example, the second dictionary, and determines the number of codes assigned to the item data of the second item included in the acquired data, by using the item data of the second item included in the acquired data. It may be determined whether or not the number is less than the number of codes that can be assigned to. If the number of codes that can be allocated is less than the number of codes that can be allocated, the allocation unit 1402 allocates codes to the item data of the second item included in the acquired data. In addition, if the number of codes that can be allocated is equal to or more than the number of codes that can be allocated, the allocation unit 1402 may not allocate codes to the item data of the second item included in the acquired data.

割当部1402は、具体的には、メタデータに含まれる変動値フィールドのデータのハッシュ値を算出する。次に、割当部1402は、ハッシュ値をキーに変動値符号表800を検索し、ハッシュ値に対応する符号があるか否かを判定する。そして、割当部1402は、符号がなければ、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存する。ここで、割当部1402は、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存せず、変動値符号表800に追加する場合があってもよい。   Specifically, the allocating unit 1402 calculates a hash value of the data of the variable value field included in the metadata. Next, allocating section 1402 searches variable value code table 800 using the hash value as a key, and determines whether or not there is a code corresponding to the hash value. If there is no code, the allocating unit 1402 associates the hash value with the new code and saves the hash value in the synchronization waiting code list 1000. Here, the allocating unit 1402 may add the hash value and the new code to the variable value code table 800 without storing the hash value and the new code in the synchronization wait code list 1000.

また、割当部1402は、ハッシュ値に対応する符号があれば、ハッシュ値に対応する符号の数が、割り当て可能な符号の数未満であるか否かを判定する。そして、割当部1402は、割り当て可能な符号の数未満であれば、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存する。ここで、割当部1402は、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存せず、変動値符号表800に追加する場合があってもよい。   If there is a code corresponding to the hash value, the allocating unit 1402 determines whether the number of codes corresponding to the hash value is less than the number of codes that can be allocated. If the number of codes that can be allocated is less than the number of codes that can be allocated, the allocating unit 1402 associates the hash value with the new code and stores it in the synchronization waiting code list 1000. Here, the allocating unit 1402 may add the hash value and the new code to the variable value code table 800 without storing the hash value and the new code in the synchronization wait code list 1000.

これにより、割当部1402は、第2項目についての複数の項目データを符号化し、第2項目についての符号列に対して整数列圧縮を実施した場合に、整数列圧縮の効率化が図られるように、第2項目についての項目データに符号を割り当てることができる。   With this, the allocating unit 1402 encodes a plurality of item data of the second item, and performs integer sequence compression on the code sequence of the second item so that the efficiency of the integer sequence compression is improved. In addition, a code can be assigned to the item data for the second item.

割当部1402は、第1項目についての互いに異なる2つの項目データのうち、一方の項目データを含むデータと、他方の項目データを含むデータとが共に、単位時間あたりに取得される確率を算出する。確率は、共起確率である。そして、割当部1402は、算出した確率が高いほど、2つの項目データのそれぞれの項目データに割り当てられる符号の差分が小さくなるように、それぞれの項目データに符号を割り当てる。   The allocating unit 1402 calculates the probability that both of the data including one item data and the data including the other item data among two different item data of the first item are acquired per unit time. . The probability is a co-occurrence probability. Then, the allocating unit 1402 allocates a code to each item data such that the difference between the codes allocated to the respective item data of the two item data becomes smaller as the calculated probability becomes higher.

割当部1402は、具体的には、単位時間ごとのメタデータ群における固定値フィールド群の中に2種のデータが同時に現れた回数を基に、2種のデータについて共起確率を算出する。次に、割当部1402は、算出した共起確率を、2種のデータのハッシュ値を組み合わせたハッシュ値のペアに対応付けて、共起確率リスト1100に追加する。そして、割当部1402は、共起確率が高い順に、ハッシュ値のペアに対応する符号の差分が小さくなるように、ハッシュ値のペアに符号を割り当てる。   More specifically, the allocating unit 1402 calculates the co-occurrence probability of the two types of data based on the number of times that two types of data simultaneously appear in the fixed value field group in the metadata group per unit time. Next, the allocating unit 1402 adds the calculated co-occurrence probability to the co-occurrence probability list 1100 in association with a pair of hash values obtained by combining the hash values of the two types of data. Then, the allocating unit 1402 allocates codes to the hash value pairs such that the difference between the codes corresponding to the hash value pairs decreases in the order of higher co-occurrence probabilities.

割当部1402は、割り当て結果を、同期待ち符号リスト1000に保存する。ここで、割当部1402は、割り当て結果を、同期待ち符号リスト1000に保存せず、固定値符号表700に反映する場合があってもよい。これにより、割当部1402は、さらに整数列圧縮の効率化が図られるように、第1項目についての項目データに符号を割り当て直すことができる。   The allocating unit 1402 stores the allocation result in the synchronization waiting code list 1000. Here, the allocating unit 1402 may reflect the allocation result in the fixed-value code table 700 without storing it in the synchronization wait code list 1000. Thus, the allocating unit 1402 can re-allocate the code to the item data of the first item so as to further improve the efficiency of the integer string compression.

割当部1402は、第1項目を有するデータを取得する都度、取得したデータに含まれる第1項目の項目データと置き換えられた符号と、取得したデータに含まれる第2項目の項目データと置き換えられた符号との差分を算出する。そして、割当部1402は、第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定以上であれば、いずれかの項目データに割り当て可能な符号の数を増加させる。   Each time data having the first item is acquired, the allocating unit 1402 replaces the code replaced with the item data of the first item included in the acquired data and the item data of the second item included in the acquired data. Then, the difference from the calculated code is calculated. Then, the assigning unit 1402 increases the number of codes that can be assigned to any one of the item data if the sum of the differences calculated for any one of the second item data is equal to or greater than a certain value.

割当部1402は、具体的には、メタデータを符号化する都度、符号化したメタデータに含まれる固定値フィールドの符号と変動値フィールドの符号との差分を算出する。次に、割当部1402は、算出した差分に基づいて、累積差分リスト1200のうち、変動値フィールドの符号に対応するハッシュ値に対応付けられた累積差分を更新する。累積差分は、変動値フィールドの符号に対応するハッシュ値に対応付けられた符号の数に基づいて正規化されてもよい。   More specifically, each time the metadata is encoded, the allocating unit 1402 calculates the difference between the sign of the fixed value field and the sign of the variable value field included in the encoded metadata. Next, the allocating unit 1402 updates the cumulative difference associated with the hash value corresponding to the sign of the variable value field in the cumulative difference list 1200 based on the calculated difference. The cumulative difference may be normalized based on the number of codes associated with the hash value corresponding to the code in the variable value field.

そして、割当部1402は、累積差分が一定以上であれば、変動値符号表800のうち、変動値フィールドの符号に対応するハッシュ値に対応付けられた割り当て可能な符号の数を増加させる。これにより、割当部1402は、さらに整数列圧縮の効率化が図られるように、第2項目についての項目データに、新たに符号を割り当て可能にすることができる。   If the cumulative difference is equal to or more than a certain value, the allocating unit 1402 increases the number of codes that can be allocated in the variable value code table 800 that are associated with the hash value corresponding to the code in the variable value field. Accordingly, the allocating unit 1402 can newly allocate a code to the item data of the second item so as to further improve the efficiency of integer string compression.

例えば、割当部1402は、第1項目の項目データと置き換えられた符号と、第2項目の項目データと置き換えられた符号との差分を小さくすることが、整数列圧縮の効率化に寄与するという性質を利用している。このため、累積差分が大きい場合、現状で第2項目の項目データと置き換えている符号は、整数列圧縮の効率化に寄与しにくいと考えられる。これに対し、割当部1402は、第2項目についての項目データに、新たに符号を割り当て可能にし、さらに整数列圧縮の効率化が図られるようにすることができる。   For example, the allocating unit 1402 says that reducing the difference between the code replaced with the item data of the first item and the code replaced with the item data of the second item contributes to the efficiency of integer string compression. Utilizing the nature. For this reason, when the cumulative difference is large, it is considered that the code currently replaced with the item data of the second item is unlikely to contribute to the efficiency of the integer string compression. On the other hand, the allocating unit 1402 can newly allocate a code to the item data of the second item, and can further improve the efficiency of integer string compression.

割当部1402は、第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定未満であれば、第2辞書から、いずれかの項目データに割り当てられた符号を削除する。割当部1402は、具体的には、メタデータを符号化する都度、符号化したメタデータに含まれる固定値フィールドの符号と変動値フィールドの符号との差分を算出する。次に、割当部1402は、算出した差分に基づいて、累積差分リスト1200のうち、変動値フィールドの符号に対応するハッシュ値に対応付けられた累積差分を更新する。   If the magnitude of the sum of the differences calculated for any of the item data of the second items is less than a certain value, the allocating unit 1402 deletes the code assigned to any of the item data from the second dictionary. Specifically, each time the metadata is encoded, the allocating unit 1402 calculates the difference between the sign of the fixed value field and the sign of the variable value field included in the encoded metadata. Next, the allocating unit 1402 updates the cumulative difference associated with the hash value corresponding to the sign of the variable value field in the cumulative difference list 1200 based on the calculated difference.

そして、割当部1402は、累積差分が一定未満であれば、変動値符号表800のうち、変動値フィールドの符号に対応するハッシュ値に対応付けられた符号を削除する。割当部1402は、削除結果を、同期待ち符号リスト1000に保存する。ここで、割当部1402は、削除結果を、同期待ち符号リスト1000に保存せず、変動値符号表800に反映する場合があってもよい。また、割当部1402は、変動値符号表800のうち、変動値フィールドの符号に対応するハッシュ値に対応付けられた割り当て可能な符号の数を減少させる。これにより、割当部1402は、利用回数の比較的少ない符号を削除し、利用可能な符号の数を増加させることができる。   Then, if the accumulated difference is less than a certain value, the allocating unit 1402 deletes the code associated with the hash value corresponding to the code in the variable value field from the variable value code table 800. The allocating unit 1402 stores the deletion result in the synchronization waiting code list 1000. Here, the allocating unit 1402 may reflect the deletion result in the variable value code table 800 without storing it in the synchronization wait code list 1000. In addition, the allocating unit 1402 reduces the number of codes that can be allocated in the variable value code table 800 that are associated with the hash value corresponding to the code in the variable value field. Thus, allocating section 1402 can delete codes that are relatively infrequently used and increase the number of usable codes.

同期部1403は、割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期する。同期部1403は、例えば、割り当て結果を第1装置110に送信する。また、同期部1403は、割り当て結果に基づいて、記憶部1400が記憶する第1辞書および第2辞書の内容を更新する。同期部1403は、具体的には、同期待ち符号リスト1000を、中央処理装置203に送信する。また、同期部1403は、同期待ち符号リスト1000に基づいて、固定値符号表700および変動値符号表800を更新する。   The synchronization unit 1403 synchronizes the contents of the first dictionary and the second dictionary with the first device 110 based on the assignment result. The synchronization unit 1403 transmits the assignment result to the first device 110, for example. The synchronization unit 1403 updates the contents of the first dictionary and the second dictionary stored in the storage unit 1400 based on the assignment result. Specifically, the synchronization unit 1403 transmits the synchronization waiting code list 1000 to the central processing unit 203. Further, synchronization section 1403 updates fixed value code table 700 and variable value code table 800 based on synchronization wait code list 1000.

これにより、同期部1403は、第1装置110が記憶する第1辞書および第2辞書の内容を、情報処理装置100が記憶する第1辞書および第2辞書と同じ内容になるように、第1装置110に更新させることができる。このため、同期部1403は、第1辞書および第2辞書に基づいてデータを、第1装置110が圧縮可能または伸長可能にすることができる。結果として、同期部1403は、データを効率よく圧縮可能にすることができ、第1装置110との間の通信量の低減化を図ることができる。   Accordingly, the synchronization unit 1403 sets the first dictionary and the second dictionary stored in the first device 110 to have the same contents as the first dictionary and the second dictionary stored in the information processing device 100, The device 110 can be updated. For this reason, the synchronization unit 1403 can enable the first device 110 to compress or expand data based on the first dictionary and the second dictionary. As a result, the synchronization unit 1403 can efficiently compress data, and can reduce the amount of communication with the first device 110.

同期部1403は、第1項目の項目データに符号を割り当てたこと、または、第2項目の項目データに符号を割り当てたことに応じて、割り当て結果を蓄積してもよい。そして、同期部1403は、蓄積した割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期する。   The synchronization unit 1403 may accumulate the assignment result in accordance with the assignment of the code to the item data of the first item or the assignment of the code to the item data of the second item. Then, the synchronization unit 1403 synchronizes the contents of the first dictionary and the second dictionary with the first device 110 based on the accumulated assignment result.

同期部1403は、例えば、一定数以上のデータを取得するまでに蓄積した割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期する。同期部1403は、一定時間のうちで蓄積した割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期する。これにより、同期部1403は、同期にかかる通信量の低減化を図ることができる。   For example, the synchronization unit 1403 synchronizes the contents of the first dictionary and the second dictionary with the first device 110 based on the allocation results accumulated until a certain number or more of data is acquired. The synchronization unit 1403 synchronizes the contents of the first dictionary and the second dictionary with the first device 110 based on the allocation results accumulated within a certain period of time. Accordingly, the synchronization unit 1403 can reduce the amount of communication related to synchronization.

圧縮部1404は、第1項目を有するデータを取得する都度、第1装置110との間で同期した第1辞書および第2辞書に基づいて、取得したデータに含まれる第1項目の項目データおよび第2項目の項目データを符号に置き換えて、置換後のデータを蓄積する。   Each time the compression unit 1404 acquires the data having the first item, based on the first dictionary and the second dictionary synchronized with the first device 110, the item data of the first item included in the acquired data and The item data of the second item is replaced with a code, and the replaced data is stored.

圧縮部1404は、例えば、取得したデータに含まれる第1項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第1項目の項目データを、当該符号に置き換える。また、圧縮部1404は、例えば、取得したデータに含まれる第1項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第1項目の項目データを、所定符号に置き換える。   For example, if there is a code assigned to the item data of the first item included in the acquired data, the compression unit 1404 replaces the item data of the first item included in the acquired data with the code. Further, for example, if there is no code assigned to the item data of the first item included in the acquired data, the compression unit 1404 replaces the item data of the first item included in the acquired data with a predetermined code.

圧縮部1404は、例えば、取得したデータに含まれる第2項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第2項目の項目データを、当該符号に置き換える。また、圧縮部1404は、例えば、取得したデータに含まれる第2項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第2項目の項目データを、所定符号に置き換える。   For example, if there is a code assigned to the item data of the second item included in the acquired data, the compression unit 1404 replaces the item data of the second item included in the acquired data with the code. Further, for example, if there is no code assigned to the second item data included in the acquired data, the compression unit 1404 replaces the second item data included in the acquired data with a predetermined code.

そして、圧縮部1404は、蓄積した複数の置換後のデータを纏めて圧縮する。圧縮部1404は、例えば、蓄積した複数の置換後のデータのそれぞれの置換後のデータに含まれる第1項目の項目データと置き換えられた符号を並べた符号列を圧縮する。また、圧縮部1404は、例えば、蓄積した複数の置換後のデータのそれぞれの置換後のデータに含まれる第2項目の項目データと置き換えられた符号を並べた符号列を圧縮する。これにより、圧縮部1404は、データを効率よく圧縮することができる。   Then, the compression unit 1404 collectively compresses the stored plurality of data after replacement. The compression unit 1404 compresses, for example, a code string in which the replaced data and the replaced code are arranged in the first replaced item data included in each of the stored plurality of replaced data. Further, the compression unit 1404 compresses, for example, a code string in which the replaced codes are arranged with the item data of the second item included in the replaced data of each of the stored plurality of replaced data. Accordingly, the compression unit 1404 can efficiently compress data.

出力部1405は、圧縮結果を、第1装置110に送信する。出力部1405は、具体的には、圧縮された複数のメタデータを、圧縮に利用した固定値符号表700のバージョン番号、および、圧縮に利用した変動値符号表800のバージョン番号と共に、中央処理装置203に送信する。これにより、出力部1405は、第1装置110との間の通信量の低減化を図ることができる。   The output unit 1405 transmits the compression result to the first device 110. Specifically, the output unit 1405 centrally processes the plurality of compressed metadata together with the version number of the fixed-value code table 700 used for compression and the version number of the variable-value code table 800 used for compression. Transmit to the device 203. Thus, the output unit 1405 can reduce the amount of communication with the first device 110.

記憶部1410は、例えば、図13に示したメモリ1302や記録媒体1305などの記憶領域によって実現される。以下では、記憶部1410が、第1装置110に含まれる場合について説明するが、これに限らない。例えば、記憶部1410が、第1装置110とは異なる装置に含まれ、記憶部1410の記憶内容が第1装置110から参照可能である場合があってもよい。   The storage unit 1410 is realized by, for example, a storage area such as the memory 1302 and the recording medium 1305 illustrated in FIG. Hereinafter, a case will be described where the storage unit 1410 is included in the first device 110, but the present invention is not limited to this. For example, the storage unit 1410 may be included in a device different from the first device 110, and the storage content of the storage unit 1410 may be referred to from the first device 110.

更新部1411および伸長部1412は、具体的には、例えば、メモリ1302や記録媒体1305などの記憶領域に記憶されたプログラムをCPU1301に実行させることにより、または、ネットワークI/F1303により、その機能を実現する。第1装置110の各機能部の処理結果は、例えば、図13に示したメモリ1302や記録媒体1305などの記憶領域に記憶される。   The updating unit 1411 and the decompressing unit 1412 have their functions, for example, by causing the CPU 1301 to execute a program stored in a storage area such as the memory 1302 or the recording medium 1305, or by the network I / F 1303. Realize. The processing result of each functional unit of the first device 110 is stored in a storage area such as the memory 1302 or the recording medium 1305 illustrated in FIG.

記憶部1410は、記憶部1400と同様に、第1辞書および第2辞書を記憶する。記憶部1400の記憶内容と、記憶部1410の記憶内容とは、同期される。例えば、記憶部1400が記憶する第1辞書および第2辞書と、記憶部1410が記憶する第1辞書および第2辞書とは、同一内容になるように同期される。記憶部1410は、具体的には、固定値符号表700および変動値符号表800を記憶する。また、記憶部1410は、バージョン情報600を記憶してもよい。   The storage unit 1410 stores the first dictionary and the second dictionary, similarly to the storage unit 1400. The storage contents of the storage unit 1400 and the storage contents of the storage unit 1410 are synchronized. For example, the first dictionary and the second dictionary stored in the storage unit 1400 are synchronized with the first dictionary and the second dictionary stored in the storage unit 1410 so that they have the same contents. The storage unit 1410 specifically stores the fixed value code table 700 and the variable value code table 800. The storage unit 1410 may store the version information 600.

更新部1411は、割当部1402の割り当て結果に基づいて、記憶部1410に記憶された第1辞書および第2辞書を更新する。更新部1411は、具体的には、同期待ち符号リスト1000を受信し、同期待ち符号リスト1000に基づいて、記憶部1410に記憶された固定値符号表700および変動値符号表800を更新する。これにより、更新部1411は、情報処理装置100と第1装置110とが同じ内容の第1辞書および第2辞書を有するように同期することができる。   The updating unit 1411 updates the first dictionary and the second dictionary stored in the storage unit 1410 based on the assignment result of the assigning unit 1402. Specifically, the updating unit 1411 receives the synchronization waiting code list 1000, and updates the fixed value code table 700 and the variable value code table 800 stored in the storage unit 1410 based on the synchronization waiting code list 1000. Accordingly, the updating unit 1411 can synchronize the information processing apparatus 100 and the first apparatus 110 such that the information processing apparatus 100 and the first apparatus 110 have the first dictionary and the second dictionary having the same contents.

伸長部1412は、第1辞書および第2辞書に基づいて、圧縮されたデータを伸長する。伸長部1412は、具体的には、圧縮に利用した固定値符号表700のバージョン番号、および、圧縮に利用した変動値符号表800のバージョン番号と共に、圧縮された複数のメタデータを受信する。そして、伸長部1412は、固定値符号表700、変動値符号表800、および、バージョン情報600に基づいて、圧縮された複数のメタデータを伸長する。これにより、伸長部1412は、圧縮されたデータを利用可能にすることができる。   The expansion unit 1412 expands the compressed data based on the first dictionary and the second dictionary. The decompression unit 1412 specifically receives a plurality of compressed metadata together with the version number of the fixed value code table 700 used for compression and the version number of the variable value code table 800 used for compression. Then, the decompression unit 1412 decompresses the plurality of compressed metadata based on the fixed value code table 700, the variable value code table 800, and the version information 600. Accordingly, the decompression unit 1412 can use the compressed data.

ここでは、図2に示した分散処理システム200において、末端処理装置201が情報処理装置100に対応し、中央処理装置203が第1装置110に対応する場合について説明したが、これに限らない。例えば、末端処理装置201が第1装置110に対応し、中央処理装置203が情報処理装置100に対応する場合があってもよい。   Here, in the distributed processing system 200 illustrated in FIG. 2, a case has been described where the terminal processing device 201 corresponds to the information processing device 100 and the central processing device 203 corresponds to the first device 110, but the present invention is not limited to this. For example, the terminal processing device 201 may correspond to the first device 110 and the central processing device 203 may correspond to the information processing device 100.

例えば、この場合、取得部1401は、末端処理装置201から、圧縮されたメタデータを受信し、圧縮されたメタデータを伸長してもよい。また、例えば、同期部1403は、同期待ち符号リスト1000を、末端処理装置201に送信してもよい。また、例えば、情報処理装置100の圧縮部1404および出力部1405と、第1装置110の伸長部1412とが入れ替わってもよい。   For example, in this case, the acquisition unit 1401 may receive the compressed metadata from the terminal processing device 201 and decompress the compressed metadata. Further, for example, the synchronization unit 1403 may transmit the synchronization waiting code list 1000 to the terminal processing device 201. Further, for example, the compression unit 1404 and the output unit 1405 of the information processing device 100 may be replaced with the decompression unit 1412 of the first device 110.

(分散処理システム200の動作例)
次に、図15〜図18を用いて、図2に示した分散処理システム200の動作例について説明する。
(Operation Example of Distributed Processing System 200)
Next, an operation example of the distributed processing system 200 illustrated in FIG. 2 will be described with reference to FIGS.

図15〜図18は、分散処理システム200の動作例を示す説明図である。図15において、末端処理装置201は、IoTデバイス202から、メタデータ1501を受信する。ここで、メタデータ1501のうち、固定値フィールドは、source_idのフィールドと、locationのフィールドとの組み合わせである。また、変動値フィールドは、hogeのフィールドと、fooのフィールドとのそれぞれのフィールドである。   15 to 18 are explanatory diagrams illustrating an operation example of the distributed processing system 200. In FIG. 15, the terminal processing apparatus 201 receives metadata 1501 from the IoT device 202. Here, in the metadata 1501, the fixed value field is a combination of a source_id field and a location field. The variable value fields are a hedge field and a foo field.

末端処理装置201は、固定値符号表700に、メタデータ1501の固定値フィールドのデータに対応する符号があるか否かを判定し、符号があれば、メタデータ1501の固定値フィールドのデータを符号化する。末端処理装置201は、符号がなければ、メタデータ1501の固定値フィールドのデータに符号を割り当てて、同期待ち符号リスト1000に保存する。   The terminal processing device 201 determines whether or not there is a code corresponding to the data of the fixed value field of the metadata 1501 in the fixed value code table 700, and if there is a code, the data of the fixed value field of the metadata 1501 is determined. Encode. If there is no code, the terminal processing device 201 assigns a code to the data of the fixed value field of the metadata 1501 and stores it in the synchronization waiting code list 1000.

図15の例では、末端処理装置201は、固定値フィールドのデータ「“source_id”:“001”,“location”:{“lat”:xx,“lng”:yy}」のハッシュ値「abcdefg」を算出する。末端処理装置201は、固定値符号表700に、ハッシュ値「abcdefg」に対応する符号「1」があると判定する。このため、末端処理装置201は、固定値フィールドのデータ「“source_id”:“001”,“location”:{“lat”:xx,“lng”:yy}」を符号「1」に置き換える。   In the example of FIG. 15, the terminal processing device 201 determines the hash value “abcdefg” of the data “source_id”: “001”, “location”: {“lat”: xx, “lng”: yy} in the fixed value field. Is calculated. The terminal processing device 201 determines that there is a code “1” corresponding to the hash value “abcdefg” in the fixed value code table 700. For this reason, the terminal processing device 201 replaces the data ““ source_id ”:“ 001 ”,“ location ”: {“ lat ”: xx,“ lng ”: yy}” of the fixed value field with the code “1”.

ここで、末端処理装置201は、データに符号を割り当てる際、固定値フィールドについての互いに異なる2つのデータに割り当てられる符号が連続せず、少なくとも一定以上離れるようにしてもよい。これにより、末端処理装置201は、固定値フィールドのデータに割り当てられた符号の周囲に余分範囲を設け、当該符号との差分が小さい符号を、変動値フィールドのデータに割り当てやすくしておくことができる。   Here, when assigning codes to the data, the terminal processing device 201 may make the codes assigned to the two different data in the fixed value field not continuous but at least a predetermined distance apart. Thereby, the terminal processing device 201 provides an extra range around the code assigned to the data in the fixed value field, and makes it easy to assign a code having a small difference from the code to the data in the variable value field. it can.

また、末端処理装置201は、変動値符号表800に、メタデータ1501の変動値フィールドのデータに対応する符号があるか否かを判定し、符号があれば、メタデータ1501の変動値フィールドのデータを符号化する。末端処理装置201は、符号がなければ、メタデータ1501の変動値フィールドのデータに符号を割り当てて、同期待ち符号リスト1000に保存する。また、末端処理装置201は、符号があっても、割り当て済みの符号の数が、割り当て可能な符号の数未満であれば、メタデータ1501の変動値フィールドのデータに符号を割り当てて、同期待ち符号リスト1000に保存してもよい。   Also, the terminal processing device 201 determines whether or not the variable value code table 800 includes a code corresponding to the data of the variable value field of the metadata 1501. Encode the data. If there is no code, the terminal processing device 201 assigns a code to the data in the variable value field of the metadata 1501 and stores it in the synchronization waiting code list 1000. Further, even if there is a code, if the number of allocated codes is less than the number of codes that can be allocated, the terminal processing device 201 allocates a code to the data of the variable value field of the metadata 1501 and waits for synchronization. It may be stored in the code list 1000.

図15の例では、末端処理装置201は、1つ目の変動値フィールドのデータ「“hoge”:“fuga”」のハッシュ値「nopqrst」を算出する。末端処理装置201は、変動値符号表800に、ハッシュ値「nopqrst」に対応する符号「1」があるため、1つ目の変動値フィールド「“hoge”:“fuga”」のデータを符号「1」に置き換える。固定値フィールドのデータと置き換える符号と、変動値フィールドのデータと置き換える符号とは、同値であってもよい。   In the example of FIG. 15, the terminal processing device 201 calculates a hash value “nopqrst” of the data ““ hoge ”:“ fuga ”” in the first variable value field. Since the variable value code table 800 includes the code “1” corresponding to the hash value “nopqrst”, the terminal processing apparatus 201 converts the data of the first variable value field “hoge”: “fuga” into the code “1”. Replace with "1". The code that replaces the data in the fixed value field and the code that replaces the data in the variable value field may have the same value.

ここで、末端処理装置201は、2つ目以降の変動値フィールドのデータについては符号に置き換えなくてもよい。このため、末端処理装置201は、2つ目の変動値フィールドのデータ「“foo”:“bar”」を、そのままにする。また、末端処理装置201が、2つ目以降の変動値フィールドのデータについても符号に置き換える場合があってもよい。末端処理装置201は、符号化したメタデータ1502を、送信待ちバッファに蓄積する。送信待ちバッファは、例えば、FIFOキューである。   Here, the terminal processing device 201 does not need to replace the data of the second and subsequent variable value fields with the code. For this reason, the terminal processing device 201 leaves the data ““ foo ”:“ bar ”” in the second variable value field as it is. In addition, the terminal processing apparatus 201 may replace the data of the second and subsequent variable value fields with codes. The terminal processing device 201 stores the encoded metadata 1502 in a transmission waiting buffer. The transmission waiting buffer is, for example, a FIFO queue.

また、末端処理装置201は、固定値フィールドのデータと置き換えた符号と、変動値フィールドのデータと置き換えた符号との差分を算出し、累積差分リスト1200を更新する。末端処理装置201は、例えば、変動値フィールドのデータと置き換えた符号を、変動値フィールドのデータに割り当て可能な符号の最大数で除算した商+1を算出する。最大数は、例えば、3である。   Further, the terminal processing device 201 calculates a difference between the code replaced with the data in the fixed value field and the code replaced with the data in the variable value field, and updates the cumulative difference list 1200. The terminal processing device 201 calculates, for example, a quotient + 1 obtained by dividing the code replaced with the data in the variable value field by the maximum number of codes that can be assigned to the data in the variable value field. The maximum number is, for example, three.

また、末端処理装置201は、固定値フィールドのデータと置き換えた符号を、変動値フィールドのデータに割り当て可能な符号の最大数で除算した商を算出する。そして、末端処理装置201は、変動値フィールドについて算出した商+1から、固定値フィールドについて算出した商を減算した差分を算出し、累積差分リスト1200の累積差分に加算する。   The terminal processing device 201 calculates a quotient obtained by dividing the code replaced with the data in the fixed value field by the maximum number of codes that can be assigned to the data in the variable value field. Then, the terminal processing device 201 calculates a difference obtained by subtracting the quotient calculated for the fixed value field from the quotient +1 calculated for the variable value field, and adds the difference to the cumulative difference in the cumulative difference list 1200.

これにより、末端処理装置201は、符号の整数列圧縮の効率化への寄与が少ないほど累積差分が大きくなるように、かつ、符号の利用回数が少ないほど累積差分が小さくなるように、累積差分を記憶することができる。そして、末端処理装置201は、累積差分に基づいて、整数列圧縮の効率化が図られるように、変動値符号表800における符号の割り当てを調整可能にすることができる。次に、図16の説明に移行する。   By this means, the terminal processing apparatus 201 determines the cumulative difference such that the smaller the contribution to the efficiency of the integer sequence compression of the code is, the larger the cumulative difference becomes, and the smaller the number of times the code is used becomes, the smaller the cumulative difference becomes. Can be stored. Then, the terminal processing device 201 can adjust the assignment of codes in the variable-value code table 800 based on the accumulated difference so that the efficiency of the integer sequence compression is improved. Next, the description moves to the description of FIG.

図16において、末端処理装置201は、送信待ちバッファに蓄積した符号化されたメタデータの量が一定以上になるか、または、一定時間が経過すると、蓄積した符号化されたメタデータを複数纏めて圧縮する。   In FIG. 16, when the amount of encoded metadata stored in the transmission waiting buffer becomes equal to or more than a predetermined value, or when a predetermined time elapses, the terminal processing device 201 collects a plurality of the stored encoded metadata. Compress.

図16の例では、末端処理装置201は、固定値フィールドにある符号の順に、符号化されたメタデータをソートして、固定値符号表700のバージョン番号や変動値符号表800のバージョン番号を付与したファイル1600のエントリとして記入する。   In the example of FIG. 16, the terminal processing device 201 sorts the encoded metadata in the order of the codes in the fixed value field, and determines the version number of the fixed value code table 700 and the version number of the variable value code table 800. This is entered as an entry of the file 1600 provided.

次に、末端処理装置201は、エントリごとに符号の数を合わせるためにパディングを実施する。末端処理装置201は、具体的には、エントリ「5,{“piyo”:“baz”}」にパディングを実施し、エントリ「5,0,{“piyo”:“baz”}」とする。   Next, the terminal processing device 201 performs padding to match the number of codes for each entry. Specifically, the terminal processing device 201 performs padding on the entry “5, {“ piyo ”:“ baz ”}”, and makes the entry “5, 0, {“ piyo ”:“ baz ”}”.

そして、末端処理装置201は、エントリのカラムごとに、符号または文字列を並べて、ファイル1601に記入する。末端処理装置201は、具体的には、固定値フィールドにある符号を並べた「1,3,5,7」、および、変動値フィールドにある符号を並べた「1,3,0,7」を、ファイル1601に記入する。また、末端処理装置201は、文字列フィールドにある文字列を並べた「[{“foo”:“bar”},{“hoge”:“fuga”},{“piyo”:“baz”},nil]」を、ファイル1601に記入する。nilは、文字列がないことを示す。   Then, the terminal processing device 201 arranges codes or character strings for each column of the entry, and writes the codes or files in the file 1601. The terminal processing device 201 specifically has “1,3,5,7” in which the codes in the fixed value field are arranged, and “1,3,0,7” in which the codes in the variable value field are arranged. Is written in the file 1601. In addition, the terminal processing device 201 arranges the character strings in the character string field into “[{foo”: “bar”}, {“hoge”: “fuga”}, {“piyo”: “baz”}, [nil] ”in the file 1601. Nil indicates that there is no character string.

そして、末端処理装置201は、ファイル1601に対して、カラム単位での整数列圧縮を実施する。末端処理装置201は、具体的には、固定値フィールドにある符号を並べた符号列「1,3,5,7」を整数列圧縮し、変動値フィールドにある符号を並べた符号列「1,3,0,7」を整数列圧縮する。また、末端処理装置201は、文字列フィールドにある文字列を並べた文字列群に対しては、整数列圧縮以外の圧縮を実施する。   Then, the terminal processing device 201 performs integer column compression on the file 1601 in column units. Specifically, the terminal processing apparatus 201 compresses the code string “1, 3, 5, 7” in which the codes in the fixed value field are arranged in an integer sequence, and encodes the code string “1” in which the codes in the variable value field are arranged. , 3,0,7 "is compressed into an integer sequence. In addition, the terminal processing device 201 performs compression other than the integer string compression on the character string group in which the character strings in the character string field are arranged.

そして、末端処理装置201は、圧縮結果であるバイナリデータ1602を、中央処理装置203に送信する。中央処理装置203は、末端処理装置201とは逆の処理を実行し、バイナリデータ1602から、ファイル1600を伸長する。これにより、末端処理装置201は、符号化されたメタデータを効率よく圧縮することができ、中央処理装置203との間の通信量の低減化を図ることができる。   Then, the terminal processing device 201 transmits the binary data 1602, which is the compression result, to the central processing device 203. The central processing unit 203 executes a process opposite to that of the terminal processing unit 201, and decompresses the file 1600 from the binary data 1602. Accordingly, the terminal processing device 201 can efficiently compress the encoded metadata, and can reduce the amount of communication with the central processing device 203.

ここで、末端処理装置201は、送信待ちバッファに蓄積した符号化されたメタデータに基づいて、固定値フィールドのデータと置き換えられた符号のペアに対応するハッシュ値のペアについて、共起確率リスト1100の共起確率を更新してもよい。そして、末端処理装置201は、共起確率リスト1100を参照し、ハッシュ値のペアの共起確率が高いほど、ハッシュ値のペアのそれぞれのハッシュ値に割り当てられる符号の差分が小さくなるように、それぞれのハッシュ値に符号を割り当て直す。末端処理装置201は、ハッシュ値と、ハッシュ値に割り当て直した符号と、処理種別として追加とを対応付けて、同期待ち符号リスト1000に追加する。   Here, based on the encoded metadata stored in the transmission waiting buffer, the terminal processing device 201 determines a co-occurrence probability list for a pair of hash values corresponding to the pair of codes replaced with the data of the fixed value field. The co-occurrence probability of 1100 may be updated. Then, the terminal processing device 201 refers to the co-occurrence probability list 1100, and as the co-occurrence probability of the hash value pair is higher, the difference between the codes assigned to the respective hash values of the hash value pair is smaller. Reassign the sign to each hash value. The terminal processing device 201 associates the hash value, the code reassigned to the hash value, and the addition as the process type, and adds the hash value to the synchronization waiting code list 1000.

例えば、末端処理装置201は、符号化されたメタデータに含まれる固定値フィールドの符号を並べた符号列における符号同士の差分を小さくすることが、符号列に対する整数列圧縮の効率化に寄与するという性質を利用している。また、ハッシュ値のペアの共起確率が高いことは、ハッシュ値のペアに対応する固定値フィールドのデータのペアが、同じタイミングで符号化されやすいことを示している。   For example, the terminal processing device 201 reduces the difference between codes in a code string in which codes of fixed value fields included in encoded metadata are arranged, which contributes to the efficiency of integer string compression for the code string. It uses the property of. A high co-occurrence probability of a hash value pair indicates that data pairs in the fixed value field corresponding to the hash value pair are likely to be encoded at the same timing.

このため、共起確率が高いハッシュ値のペアに対応する固定値フィールドのデータのペアを、差分が小さい符号に置き換えられれば、整数列圧縮の対象となる符号列に、差分が小さい符号が含まれる可能性を向上することができると考えられる。これに対し、末端処理装置201は、共起確率が高いハッシュ値のペアのそれぞれのハッシュ値に、符号を割り当て直すことで、さらに整数列圧縮の効率化を図ることができる。   For this reason, if the data pair of the fixed value field corresponding to the hash value pair having a high co-occurrence probability is replaced with a code having a small difference, the code string to be subjected to integer sequence compression includes a code having a small difference. It is thought that it is possible to improve the possibility of being performed. On the other hand, the terminal processing device 201 can further improve the efficiency of integer string compression by reassigning a code to each hash value of a pair of hash values having a high co-occurrence probability.

ここでは、末端処理装置201が、データに一旦符号を割り当てた後、共起確率に基づいてデータに符号を割り当て直す場合について説明したが、これに限らない。例えば、末端処理装置201は、データに一旦符号を割り当てることなく、共起確率に基づいて、データに符号を割り当てるようにする場合があってもよい。次に、図17の説明に移行する。   Here, a case has been described where the terminal processing device 201 once assigns a code to data and then reassigns a code to data based on the co-occurrence probability. However, the present invention is not limited to this. For example, the terminal processing device 201 may assign a code to data based on a co-occurrence probability without assigning a code to data once. Next, the description moves to the description of FIG.

図17において、末端処理装置201は、一定時間ごとに、固定値符号表700および変動値符号表800についての同期要求を中央処理装置203に送信する。同期要求は、例えば、固定値符号表700および変動値符号表800をどのように更新するかを示す同期待ち符号リスト1000が付与される。また、同期要求は、バージョン情報600に基づいて、固定値符号表700のバージョン番号、および、変動値符号表800のバージョン番号が付与される。   In FIG. 17, the terminal processing unit 201 transmits a synchronization request for the fixed value code table 700 and the variable value code table 800 to the central processing unit 203 at regular intervals. The synchronization request is provided with, for example, a synchronization waiting code list 1000 indicating how to update the fixed value code table 700 and the variable value code table 800. Further, the synchronization request is provided with the version number of the fixed value code table 700 and the version number of the variable value code table 800 based on the version information 600.

中央処理装置203は、同期要求を受信する。中央処理装置203は、同期要求に付与された同期待ち符号リスト1000を、自装置が記憶する固定値符号表700および変動値符号表800に反映する。中央処理装置203は、例えば、同期待ち符号リスト1000の追加/削除のフィールドの処理種別で、固定値符号表700および変動値符号表800に対して、ハッシュ値と符号との対応関係を追加または削除する。中央処理装置203は、自装置が記憶するバージョン情報1700を、同期待ち符号リスト1000に付与された固定値符号表700のバージョン番号と変動値符号表800のバージョン番号とで上書きする。   The central processing unit 203 receives the synchronization request. The central processing unit 203 reflects the synchronization waiting code list 1000 given to the synchronization request in the fixed value code table 700 and the variable value code table 800 stored in the own device. For example, the central processing unit 203 adds or deletes the correspondence between the hash value and the code to the fixed value code table 700 and the variable value code table 800 by the processing type of the addition / deletion field of the synchronization wait code list 1000. delete. The central processing unit 203 overwrites the version information 1700 stored in the central processing unit 203 with the version number of the fixed value code table 700 and the version number of the variable value code table 800 assigned to the synchronization waiting code list 1000.

ここで、中央処理装置203は、同期待ち符号リスト1000を自装置が記憶する固定値符号表700に反映する際、反映前の固定値符号表700を残しておいてもよい。同様に、中央処理装置203は、同期待ち符号リスト1000を自装置が記憶する変動値符号表800に反映する際、反映前の変動値符号表800を残しておいてもよい。中央処理装置203は、同期要求に付与された同期待ち符号リスト1000を、自装置が記憶する固定値符号表700および変動値符号表800に反映した後、更新完了応答を、末端処理装置201に送信する。   Here, when the central processing unit 203 reflects the synchronization waiting code list 1000 in the fixed value code table 700 stored in the own device, the central processing unit 203 may leave the fixed value code table 700 before reflection. Similarly, when the central processing unit 203 reflects the synchronization waiting code list 1000 in the variable value code table 800 stored in the own device, the central processing unit 203 may leave the variable value code table 800 before reflection. The central processing unit 203 reflects the synchronization wait code list 1000 given to the synchronization request in the fixed value code table 700 and the variable value code table 800 stored in the own device, and then sends an update completion response to the terminal processing device 201. Send.

末端処理装置201は、更新完了応答を受信すると、同期待ち符号リスト1000を、自装置が記憶する固定値符号表700および変動値符号表800に反映する。そして、末端処理装置201は、同期待ち符号リスト1000を初期化する。これにより、末端処理装置201は、中央処理装置203との間で、同一の内容の固定値符号表700および変動値符号表800を有するようにすることができる。このため、末端処理装置201は、中央処理装置203が、圧縮されたメタデータを伸長可能にすることができる。次に、図18の説明に移行する。   Upon receiving the update completion response, the terminal processing device 201 reflects the synchronization waiting code list 1000 in the fixed value code table 700 and the variable value code table 800 stored in its own device. Then, the terminal processing device 201 initializes the synchronization waiting code list 1000. As a result, the terminal processing device 201 can have the fixed value code table 700 and the variable value code table 800 having the same contents as the central processing device 203. Therefore, the terminal processing device 201 can enable the central processing device 203 to decompress the compressed metadata. Next, the description moves to the description of FIG.

図18において、末端処理装置201は、累積差分リスト1200を参照し、累積差分の大小に基づいて、変動値フィールドのデータに割り当て可能な符号の数を増減させる。ここで、累積差分は、値が大きいほど、符号の整数列圧縮の効率化への寄与が少ないことを示し、かつ、値が小さいほど、符号の利用回数が少ないことを示している。   In FIG. 18, the terminal processing device 201 refers to the accumulated difference list 1200 and increases or decreases the number of codes that can be assigned to the data of the variable value field based on the magnitude of the accumulated difference. Here, the cumulative difference indicates that the larger the value, the smaller the contribution of the code to the efficiency of the integer sequence compression, and the smaller the value, the smaller the number of times the code is used.

このため、末端処理装置201は、ハッシュ値ごとの累積差分の分布1800を生成する。末端処理装置201は、累積差分が閾値1801を超えるハッシュ値に対応するデータについては、割り当て可能な符号の数を増加させる。閾値1801は、例えば、30である。また、末端処理装置201は、累積差分が閾値1802を下回るハッシュ値に対応するデータに割り当てられた符号を削除する。閾値1802は、例えば、3である。そして、末端処理装置201は、累積差分リスト1200を初期化する。   For this reason, the terminal processing device 201 generates a distribution 1800 of the accumulated difference for each hash value. The terminal processing device 201 increases the number of codes that can be assigned to data corresponding to a hash value whose cumulative difference exceeds the threshold value 1801. The threshold value 1801 is, for example, 30. Further, the terminal processing device 201 deletes the code assigned to the data corresponding to the hash value whose accumulated difference is smaller than the threshold value 1802. The threshold value 1802 is 3, for example. Then, the terminal processing device 201 initializes the cumulative difference list 1200.

図18の例では、末端処理装置201は、変動値符号表800および累積差分リスト1200において、累積差分「40」であるハッシュ値「nopqrst」に対応するデータに割り当て可能な符号の数を「1」から「2」に増加させる。また、末端処理装置201は、累積差分「40」であるハッシュ値「nopqrst」に対応する累積差分を「0」に初期化する。また、末端処理装置201は、変動値符号表800および累積差分リスト1200から、累積差分「1」であるハッシュ値「cdefghi」に対応するレコードを削除する。   In the example of FIG. 18, the terminal processing apparatus 201 sets the number of codes that can be assigned to the data corresponding to the hash value “nopqrst” having the cumulative difference “40” in the variable value code table 800 and the cumulative difference list 1200 to “1”. "To" 2 ". Further, the terminal processing device 201 initializes the cumulative difference corresponding to the hash value “nopqrst” that is the cumulative difference “40” to “0”. Further, the terminal processing device 201 deletes the record corresponding to the hash value “cdefghi” that is the cumulative difference “1” from the variation value code table 800 and the cumulative difference list 1200.

例えば、末端処理装置201は、同じメタデータについての固定値フィールドにある符号と変動値フィールドにある符号との差分を小さくすることが、変動値フィールドにある符号を並べた符号列に対する整数列圧縮の効率化に寄与するという性質を利用している。このため、累積差分が大きい場合、現状で変動値フィールドにあるデータと置き換えている符号は、整数列圧縮の効率化に寄与しにくいと考えられる。これに対し、末端処理装置201は、データに新たに符号を割り当て可能にし、さらに整数列圧縮の効率化が図られるようにすることができる。   For example, the terminal processing apparatus 201 can reduce the difference between the code in the fixed value field and the code in the variable value field for the same metadata by compressing the integer string of the code string in which the codes in the variable value field are arranged. Utilizing the property of contributing to the efficiency improvement. For this reason, when the accumulated difference is large, it is considered that the code that is currently replaced with the data in the variable value field is unlikely to contribute to the efficiency of the integer string compression. On the other hand, the terminal processing device 201 can newly assign a code to data, and can further improve the efficiency of integer string compression.

また、符号は、符号化における利用回数が多いほど、変動値符号表800を用いた辞書式圧縮の効率化に寄与することができると考えられる。また、現状、いずれかのデータに割り当てられた圧縮の効率化に寄与しない符号は、他のデータに割り当てられた場合には、辞書式圧縮の効率化、または、整数列圧縮の効率化に寄与することができる可能性がある。これに対し、末端処理装置201は、データに割り当てた符号を削除し、符号を利用可能にすることができ、辞書式圧縮の効率化、または、整数列圧縮の効率化が図られるようにすることができる。   Also, it is considered that the more the number of uses of the code in the coding, the more the code can contribute to the efficiency of the lexical compression using the variable value code table 800. Also, at present, codes that do not contribute to the efficiency of compression assigned to any data contribute to the efficiency of lexicographic compression or the efficiency of integer string compression when they are assigned to other data. Could be possible. On the other hand, the terminal processing device 201 can delete the code assigned to the data and make the code usable, so that the efficiency of lexicographic compression or the efficiency of integer string compression can be improved. be able to.

(登録処理手順)
次に、図19を用いて、末端処理装置201が実行する、登録処理手順の一例について説明する。登録処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Registration procedure)
Next, an example of a registration processing procedure executed by the terminal processing device 201 will be described with reference to FIG. The registration process is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.

図19は、登録処理手順の一例を示すフローチャートである。図19において、末端処理装置201は、IoTデバイス202からデータを受信して保存する(ステップS1901)。そして、末端処理装置201は、受信したデータの格納場所と対応付けて受信したデータについてのメタデータを保存する(ステップS1902)。   FIG. 19 is a flowchart illustrating an example of a registration processing procedure. In FIG. 19, the terminal processing device 201 receives and stores data from the IoT device 202 (step S1901). Then, the terminal processing device 201 stores the metadata of the received data in association with the storage location of the received data (step S1902).

次に、末端処理装置201は、図20に後述する第1払出処理を実行し、メタデータを符号化する(ステップS1903)。そして、末端処理装置201は、図21に後述する第2払出処理を実行し、メタデータを符号化する(ステップS1904)。   Next, the terminal processing device 201 executes a first payout process described later with reference to FIG. 20, and encodes metadata (step S1903). Then, the terminal processing device 201 executes a second payout process described later with reference to FIG. 21 and encodes the metadata (step S1904).

次に、末端処理装置201は、符号化したメタデータを送信待ちバッファに保存する(ステップS1905)。そして、末端処理装置201は、登録処理を終了する。   Next, the terminal processing device 201 stores the encoded metadata in the transmission waiting buffer (step S1905). Then, the terminal processing device 201 ends the registration process.

(第1払出処理手順)
次に、図20を用いて、末端処理装置201が実行する、第1払出処理手順の一例について説明する。第1払出処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(First payment processing procedure)
Next, an example of a first payout processing procedure executed by the terminal processing device 201 will be described with reference to FIG. The first payout process is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 or the recording medium 305, and the network I / F 303.

図20は、第1払出処理手順の一例を示すフローチャートである。図20において、末端処理装置201は、メタデータに含まれる固定値フィールドのデータ全体のハッシュ値を算出する(ステップS2001)。   FIG. 20 is a flowchart illustrating an example of the first payout processing procedure. In FIG. 20, the terminal processing device 201 calculates a hash value of the entire data of the fixed value field included in the metadata (step S2001).

次に、末端処理装置201は、固定値符号表700を参照し、算出したハッシュ値に対応する符号が存在するか否かを判定する(ステップS2002)。ここで、ハッシュ値に対応する符号が存在しない場合(ステップS2002:No)、末端処理装置201は、ステップS2004の処理に移行する。一方で、ハッシュ値に対応する符号が存在する場合(ステップS2002:Yes)、末端処理装置201は、ステップS2003の処理に移行する。   Next, the terminal processing device 201 refers to the fixed value code table 700 and determines whether or not a code corresponding to the calculated hash value exists (step S2002). Here, when the code corresponding to the hash value does not exist (Step S2002: No), the terminal processing device 201 proceeds to the process of Step S2004. On the other hand, when the code corresponding to the hash value exists (Step S2002: Yes), the terminal processing device 201 proceeds to the process of Step S2003.

ステップS2003では、末端処理装置201は、固定値符号表700を参照し、メタデータに含まれる固定値フィールドのデータを、算出したハッシュ値に対応する符号に置換する(ステップS2003)。そして、末端処理装置201は、第1払出処理を終了する。   In step S2003, the terminal processing device 201 refers to the fixed value code table 700 and replaces the data of the fixed value field included in the metadata with the code corresponding to the calculated hash value (step S2003). Then, the terminal processing device 201 ends the first payout process.

ステップS2004では、末端処理装置201は、メタデータに含まれる固定値フィールドのデータに対して新たな符号を割り当てる。末端処理装置201は、固定値フィールドのデータと、新たな符号と、処理種別として追加とを対応付けて、同期待ち符号リスト1000に追加する(ステップS2004)。   In step S2004, the terminal processing device 201 assigns a new code to the data of the fixed value field included in the metadata. The terminal processing device 201 associates the data of the fixed value field, the new code, and the addition as the process type, and adds the data to the synchronization waiting code list 1000 (step S2004).

次に、末端処理装置201は、メタデータに含まれる固定値フィールドのデータを0に置換し、メタデータに含まれる固定値フィールドのデータを、メタデータに含まれる文字列フィールドに移動する(ステップS2005)。そして、末端処理装置201は、第1払出処理を終了する。   Next, the terminal processing device 201 replaces the data of the fixed value field included in the metadata with 0, and moves the data of the fixed value field included in the metadata to the character string field included in the metadata (step). S2005). Then, the terminal processing device 201 ends the first payout process.

(第2払出処理手順)
次に、図21を用いて、末端処理装置201が実行する、第2払出処理手順の一例について説明する。第2払出処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Second payout processing procedure)
Next, an example of a second payout processing procedure executed by the terminal processing device 201 will be described with reference to FIG. The second payout process is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.

図21は、第2払出処理手順の一例を示すフローチャートである。図21において、末端処理装置201は、メタデータに含まれる変動値フィールドのデータ全体のハッシュ値を算出する(ステップS2101)。   FIG. 21 is a flowchart illustrating an example of the second payout processing procedure. In FIG. 21, the terminal processing device 201 calculates a hash value of the entire data of the variable value field included in the metadata (step S2101).

次に、末端処理装置201は、変動値符号表800を参照し、算出したハッシュ値に対応する符号が存在するか否かを判定する(ステップS2102)。ここで、ハッシュ値に対応する符号が存在しない場合(ステップS2102:No)、末端処理装置201は、ステップS2109の処理に移行する。一方で、ハッシュ値に対応する符号が存在する場合(ステップS2102:Yes)、末端処理装置201は、ステップS2103の処理に移行する。   Next, the terminal processing device 201 refers to the variable value code table 800 and determines whether or not a code corresponding to the calculated hash value exists (step S2102). Here, when the code corresponding to the hash value does not exist (Step S2102: No), the terminal processing device 201 proceeds to the process of Step S2109. On the other hand, when the code corresponding to the hash value exists (step S2102: Yes), the terminal processing device 201 proceeds to the process of step S2103.

ステップS2103では、末端処理装置201は、変動値符号表800を参照し、算出したハッシュ値に対応する符号の数が、算出したハッシュ値に対応する割り当て可能な符号の数未満であるか否かを判定する(ステップS2103)。ここで、割り当て可能な符号の数未満である場合(ステップS2103:Yes)、末端処理装置201は、ステップS2106の処理に移行する。一方で、割り当て可能な符号の数以上である場合(ステップS2103:No)、末端処理装置201は、ステップS2104の処理に移行する。   In step S2103, the terminal processing device 201 refers to the variable value code table 800 and determines whether the number of codes corresponding to the calculated hash value is less than the number of assignable codes corresponding to the calculated hash value. Is determined (step S2103). Here, if the number is less than the number of codes that can be allocated (step S2103: Yes), the terminal processing device 201 proceeds to the process of step S2106. On the other hand, when the number is equal to or more than the number of codes that can be assigned (step S2103: No), the terminal processing device 201 proceeds to the process of step S2104.

ステップS2104では、末端処理装置201は、変動値符号表800を参照し、メタデータに含まれる変動値フィールドのデータを、算出したハッシュ値に対応する符号に置換する(ステップS2104)。次に、末端処理装置201は、変動値フィールドにある符号と、固定値フィールドにある符号との差分を算出し、累積差分リスト1200のうち、算出したハッシュ値に対応する累積差分を更新する(ステップS2105)。そして、末端処理装置201は、ステップS2112の処理に移行する。   In step S2104, the terminal processing device 201 refers to the variable value code table 800 and replaces the data of the variable value field included in the metadata with a code corresponding to the calculated hash value (step S2104). Next, the terminal processing device 201 calculates the difference between the code in the variable value field and the code in the fixed value field, and updates the cumulative difference corresponding to the calculated hash value in the cumulative difference list 1200 ( Step S2105). Then, the terminal processing device 201 proceeds to the process of step S2112.

ステップS2106では、末端処理装置201は、固定値フィールドにある符号に対応する余分範囲に、変動値フィールドのデータに割り当て可能な符号が存在するか否かを判定する(ステップS2106)。ここで、割り当て可能な符号が存在しない場合(ステップS2106:No)、末端処理装置201は、ステップS2108の処理に移行する。一方で、割り当て可能な符号が存在する場合(ステップS2106:Yes)、末端処理装置201は、ステップS2107の処理に移行する。   In step S2106, the terminal processing device 201 determines whether or not there is a code that can be assigned to the data in the variable value field in the extra range corresponding to the code in the fixed value field (step S2106). Here, when there is no code that can be assigned (step S2106: No), the terminal processing device 201 proceeds to the process of step S2108. On the other hand, if there is a code that can be assigned (step S2106: Yes), the terminal processing device 201 proceeds to the process of step S2107.

ステップS2107では、末端処理装置201は、メタデータに含まれる変動値フィールドのデータに対して新たな符号を割り当てる。末端処理装置201は、変動値フィールドのデータと、新たな符号と、処理種別として追加とを対応付けて、同期待ち符号リスト1000に追加する(ステップS2107)。そして、末端処理装置201は、ステップS2108の処理に移行する。   In step S2107, the terminal processing device 201 assigns a new code to the data of the variable value field included in the metadata. The terminal processing device 201 associates the data of the variation value field, the new code, and the addition as the process type, and adds the data to the synchronization waiting code list 1000 (step S2107). Then, the terminal processing device 201 proceeds to the process of step S2108.

ステップS2108では、末端処理装置201は、メタデータに含まれる変動値フィールドのデータを、算出したハッシュ値に対応する符号に置換する(ステップS2108)。そして、末端処理装置201は、ステップS2112の処理に移行する。   In step S2108, the terminal processing device 201 replaces the data of the variable value field included in the metadata with a code corresponding to the calculated hash value (step S2108). Then, the terminal processing device 201 proceeds to the process of step S2112.

ステップS2109では、末端処理装置201は、固定値フィールドにある符号に対応する余分範囲に、変動値フィールドのデータに割り当て可能な符号が存在するか否かを判定する(ステップS2109)。ここで、割り当て可能な符号が存在しない場合(ステップS2109:No)、末端処理装置201は、ステップS2111の処理に移行する。一方で、割り当て可能な符号が存在する場合(ステップS2109:Yes)、末端処理装置201は、ステップS2110の処理に移行する。   In step S2109, the terminal processing device 201 determines whether or not there is a code that can be assigned to the data in the variable value field in an extra range corresponding to the code in the fixed value field (step S2109). Here, when there is no code that can be assigned (Step S2109: No), the terminal processing device 201 proceeds to the process of Step S2111. On the other hand, when there is a code that can be assigned (step S2109: Yes), the terminal processing device 201 proceeds to the process of step S2110.

ステップS2110では、末端処理装置201は、メタデータに含まれる変動値フィールドのデータに対して新たな符号を割り当てる。末端処理装置201は、変動値フィールドのデータと、新たな符号と、処理種別として追加とを対応付けて、同期待ち符号リスト1000に追加する(ステップS2110)。そして、末端処理装置201は、ステップS2111の処理に移行する。   In step S2110, the terminal processing device 201 assigns a new code to the data of the variable value field included in the metadata. The terminal processing device 201 associates the data of the variable value field, the new code, and the addition as the process type, and adds the data to the synchronization waiting code list 1000 (step S2110). Then, the terminal processing device 201 proceeds to the process of step S2111.

ステップS2111では、末端処理装置201は、メタデータに含まれる変動値フィールドのデータを0に置換し、メタデータに含まれる変動値フィールドのデータを、メタデータに含まれる文字列フィールドに移動する(ステップS2111)。そして、末端処理装置201は、ステップS2112の処理に移行する。   In step S2111, the terminal processing device 201 replaces the data in the variable value field included in the metadata with 0, and moves the data in the variable value field included in the metadata to the character string field included in the metadata ( Step S2111). Then, the terminal processing device 201 proceeds to the process of step S2112.

ステップS2112では、末端処理装置201は、メタデータに含まれるすべての変動値フィールドのデータを処理したか否かを判定する(ステップS2112)。ここで、未処理の変動値フィールドのデータがある場合(ステップS2112:No)、末端処理装置201は、ステップS2101の処理に戻る。一方で、すべての変動値フィールドのデータを処理している場合(ステップS2112:Yes)、末端処理装置201は、第2払出処理を終了する。   In step S2112, the terminal processing device 201 determines whether data of all the variable value fields included in the metadata have been processed (step S2112). Here, when there is data of the unprocessed variable value field (step S2112: No), the terminal processing device 201 returns to the process of step S2101. On the other hand, when the data of all the variable value fields have been processed (step S2112: Yes), the terminal processing device 201 ends the second payout process.

(圧縮呼び出し処理手順)
次に、図22を用いて、末端処理装置201が実行する、圧縮呼び出し処理手順の一例について説明する。圧縮呼び出し処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Compression call processing procedure)
Next, an example of a compression call processing procedure executed by the terminal processing device 201 will be described with reference to FIG. The compression call processing is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.

図22は、圧縮呼び出し処理手順の一例を示すフローチャートである。図22において、末端処理装置201は、デーモンから定期的に発行される開始指示を受信したか否かを判定する(ステップS2201)。ここで、開始指示を受信している場合(ステップS2201:Yes)、末端処理装置201は、ステップS2203の処理に移行する。一方で、開始指示を受信していない場合(ステップS2201:No)、末端処理装置201は、ステップS2202の処理に移行する。   FIG. 22 is a flowchart illustrating an example of a compression call processing procedure. In FIG. 22, the terminal processing device 201 determines whether a start instruction issued periodically from the daemon has been received (step S2201). Here, when the start instruction has been received (step S2201: Yes), the terminal processing device 201 proceeds to the process of step S2203. On the other hand, when the start instruction has not been received (step S2201: No), the terminal processing device 201 proceeds to the process of step S2202.

ステップS2202では、末端処理装置201は、送信待ちバッファに蓄積されたメタデータの量が一定以上であるか否かを判定する(ステップS2202)。ここで、メタデータの量が一定未満である場合(ステップS2202:No)、末端処理装置201は、ステップS2201の処理に戻る。一方で、メタデータの量が一定以上である場合(ステップS2202:Yes)、末端処理装置201は、ステップS2203の処理に移行する。   In step S2202, the terminal processing device 201 determines whether the amount of metadata stored in the transmission waiting buffer is equal to or more than a certain value (step S2202). Here, if the amount of metadata is less than a certain value (step S2202: No), the terminal processing device 201 returns to the processing of step S2201. On the other hand, when the amount of metadata is equal to or more than a certain value (step S2202: Yes), the terminal processing device 201 proceeds to the process of step S2203.

ステップS2203では、末端処理装置201は、図23に後述する圧縮処理を実行する(ステップS2203)。そして、末端処理装置201は、圧縮呼び出し処理を終了する。   In step S2203, the terminal processing device 201 executes a compression process described later with reference to FIG. 23 (step S2203). Then, the terminal processing device 201 ends the compression calling process.

(圧縮処理手順)
次に、図23を用いて、末端処理装置201が実行する、圧縮処理手順の一例について説明する。圧縮処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Compression procedure)
Next, an example of a compression processing procedure executed by the terminal processing device 201 will be described with reference to FIG. The compression processing is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.

図23は、圧縮処理手順の一例を示すフローチャートである。図23において、末端処理装置201は、共起確率リスト1100のうち、送信待ちバッファに蓄積されたメタデータに含まれる固定値フィールドにある符号のペアに対応するハッシュ値のペアごとの共起確率を更新する(ステップS2301)。   FIG. 23 is a flowchart illustrating an example of a compression processing procedure. In FIG. 23, the terminal processing apparatus 201 determines the co-occurrence probability of each hash value pair corresponding to the code pair in the fixed value field included in the metadata stored in the transmission waiting buffer in the co-occurrence probability list 1100. Is updated (step S2301).

次に、末端処理装置201は、固定値フィールドにある符号を基準にして、送信待ちバッファに蓄積されたメタデータをソートする(ステップS2302)。そして、末端処理装置201は、ソートしたメタデータに含まれる固定値フィールドにある符号を並べた符号列に対して整数列圧縮を実施する(ステップS2303)。   Next, the terminal processing device 201 sorts the metadata stored in the transmission waiting buffer based on the code in the fixed value field (step S2302). Then, the terminal processing device 201 performs integer string compression on the code string in which the codes in the fixed value field included in the sorted metadata are arranged (step S2303).

次に、末端処理装置201は、送信待ちバッファに蓄積されたメタデータのうち、変動値フィールドの数がn以上含まれるメタデータの数がth_vを超えるようになるnを算出する(ステップS2304)。そして、末端処理装置201は、ソートしたメタデータに含まれるn番目までの変動値フィールドのそれぞれの変動値フィールドにある符号を並べた符号列に対して整数列圧縮を実施する(ステップS2305)。   Next, the terminal processing device 201 calculates n that the number of pieces of metadata including the variable value field of n or more among the pieces of metadata stored in the transmission waiting buffer exceeds th_v (step S2304). . Then, the terminal processing device 201 performs integer string compression on a code string in which codes in the respective variable value fields of the n-th variable value fields included in the sorted metadata are arranged (step S2305).

次に、末端処理装置201は、ソートしたメタデータに含まれる文字列フィールドにあるデータに対して順序を維持したまま文字列圧縮を実施する(ステップS2306)。そして、末端処理装置201は、圧縮したメタデータを、中央処理装置203に送信する(ステップS2307)。そして、末端処理装置201は、圧縮処理を終了する。   Next, the terminal processing device 201 performs character string compression on the data in the character string field included in the sorted metadata while maintaining the order (step S2306). Then, the terminal processing device 201 transmits the compressed metadata to the central processing device 203 (step S2307). Then, the terminal processing device 201 ends the compression process.

(同期呼び出し処理手順)
次に、図24を用いて、末端処理装置201が実行する、同期呼び出し処理手順の一例について説明する。同期呼び出し処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Synchronous call processing procedure)
Next, an example of a synchronous call processing procedure executed by the terminal processing device 201 will be described with reference to FIG. The synchronous calling process is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.

図24は、同期呼び出し処理手順の一例を示すフローチャートである。図24において、末端処理装置201は、デーモンから定期的に発行される開始指示を受信したか否かを判定する(ステップS2401)。ここで、開始指示を受信していない場合(ステップS2401:No)、末端処理装置201は、ステップS2401の処理に戻る。一方で、開始指示を受信している場合(ステップS2401:Yes)、末端処理装置201は、ステップS2402の処理に移行する。   FIG. 24 is a flowchart illustrating an example of a synchronous call processing procedure. In FIG. 24, the terminal processing device 201 determines whether a start instruction issued periodically from the daemon has been received (step S2401). Here, when the start instruction has not been received (step S2401: No), the terminal processing device 201 returns to the processing of step S2401. On the other hand, when the start instruction has been received (Step S2401: Yes), the terminal processing device 201 proceeds to the process of Step S2402.

ステップS2402では、末端処理装置201は、図25に後述する同期処理を実行する(ステップS2402)。そして、末端処理装置201は、同期呼び出し処理を終了する。   In step S2402, the terminal processing device 201 executes a synchronization process described later with reference to FIG. 25 (step S2402). Then, the terminal processing device 201 ends the synchronous calling process.

(同期処理手順)
次に、図25を用いて、末端処理装置201が実行する、同期処理手順の一例について説明する。同期処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Synchronous processing procedure)
Next, an example of a synchronization processing procedure executed by the terminal processing device 201 will be described with reference to FIG. The synchronization processing is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.

図25は、同期処理手順の一例を示すフローチャートである。図25において、末端処理装置201は、バージョン番号をインクリメントし、バージョン番号と対応付けた同期待ち符号リスト1000を、中央処理装置203に送信する(ステップS2501)。   FIG. 25 is a flowchart illustrating an example of the synchronization processing procedure. In FIG. 25, the terminal processing device 201 increments the version number and transmits a synchronization wait code list 1000 associated with the version number to the central processing device 203 (step S2501).

次に、末端処理装置201は、中央処理装置203から更新完了応答を受信したか否かを判定する(ステップS2502)。ここで、更新完了応答を受信していない場合(ステップS2502:No)、末端処理装置201は、ステップS2502の処理に戻る。一方で、更新完了応答を受信している場合(ステップS2502:Yes)、末端処理装置201は、ステップS2503の処理に移行する。   Next, the terminal processing device 201 determines whether an update completion response has been received from the central processing device 203 (step S2502). Here, when the update completion response has not been received (Step S2502: No), the terminal processing device 201 returns to the processing of Step S2502. On the other hand, when the update completion response has been received (step S2502: YES), the terminal processing device 201 proceeds to the process of step S2503.

ステップS2503では、末端処理装置201は、同期待ち符号リスト1000を固定値符号表700および変動値符号表800に反映した後、同期待ち符号リスト1000を初期化する(ステップS2503)。そして、末端処理装置201は、同期処理を終了する。   In step S2503, the terminal processor 201 reflects the synchronization wait code list 1000 in the fixed value code table 700 and the variable value code table 800, and then initializes the synchronization wait code list 1000 (step S2503). Then, the terminal processing device 201 ends the synchronization process.

(更新処理手順)
次に、図26を用いて、中央処理装置203が実行する、更新処理手順の一例について説明する。更新処理は、例えば、図13に示したCPU1301と、メモリ1302や記録媒体1305などの記憶領域と、ネットワークI/F1303とによって実現される。
(Update procedure)
Next, an example of an update processing procedure executed by the central processing unit 203 will be described with reference to FIG. The update process is realized by, for example, the CPU 1301 illustrated in FIG. 13, a storage area such as the memory 1302 and the recording medium 1305, and the network I / F 1303.

図26は、更新処理手順の一例を示すフローチャートである。図26において、中央処理装置203は、バージョン番号と対応付けた同期待ち符号リスト1000を受信する(ステップS2601)。   FIG. 26 is a flowchart illustrating an example of the update processing procedure. In FIG. 26, the central processing unit 203 receives the synchronization waiting code list 1000 associated with the version number (step S2601).

次に、中央処理装置203は、受信したバージョン番号を記録し、送信元の末端処理装置201に対応する固定値符号表700および変動値符号表800に、受信した同期待ち符号リスト1000を反映する(ステップS2602)。そして、中央処理装置203は、更新完了応答を、送信元の末端処理装置201に送信する(ステップS2603)。そして、中央処理装置203は、更新処理を終了する。   Next, the central processing unit 203 records the received version number, and reflects the received synchronization waiting code list 1000 in the fixed value code table 700 and the variable value code table 800 corresponding to the end processing device 201 of the transmission source. (Step S2602). Then, the central processing unit 203 transmits an update completion response to the terminal processing unit 201 of the transmission source (step S2603). Then, the central processing unit 203 ends the update processing.

(第1符号調整呼び出し処理手順)
次に、図27を用いて、末端処理装置201が実行する、第1符号調整呼び出し処理手順の一例について説明する。第1符号調整呼び出し処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(First sign adjustment call processing procedure)
Next, an example of a first code adjustment call processing procedure executed by the terminal processing device 201 will be described with reference to FIG. The first code adjustment calling process is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.

図27は、第1符号調整呼び出し処理手順の一例を示すフローチャートである。図27において、末端処理装置201は、デーモンから定期的に発行される開始指示を受信したか否かを判定する(ステップS2701)。ここで、開始指示を受信していない場合(ステップS2701:No)、末端処理装置201は、ステップS2701の処理に戻る。一方で、開始指示を受信している場合(ステップS2701:Yes)、末端処理装置201は、ステップS2702の処理に移行する。   FIG. 27 is a flowchart illustrating an example of a first code adjustment calling process procedure. In FIG. 27, the terminal processing device 201 determines whether a start instruction issued periodically from the daemon has been received (step S2701). If the start instruction has not been received (step S2701: NO), the terminal processing device 201 returns to the process of step S2701. On the other hand, when the start instruction has been received (step S2701: Yes), the terminal processing device 201 proceeds to the process of step S2702.

ステップS2702では、末端処理装置201は、図28に後述する第1符号調整処理を実行する(ステップS2702)。そして、末端処理装置201は、第1符号調整呼び出し処理を終了する。   In step S2702, the terminal processing device 201 executes a first code adjustment process described later with reference to FIG. 28 (step S2702). Then, the terminal processing device 201 ends the first code adjustment calling process.

(第1符号調整処理手順)
次に、図28を用いて、末端処理装置201が実行する、第1符号調整処理手順の一例について説明する。第1符号調整処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(First sign adjustment processing procedure)
Next, an example of a first code adjustment processing procedure executed by the terminal processing device 201 will be described with reference to FIG. The first code adjustment processing is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.

図28は、第1符号調整処理手順の一例を示すフローチャートである。図28において、末端処理装置201は、共起確率リスト1100を参照する。末端処理装置201は、ハッシュ値のペアの共起確率が高いほど、ハッシュ値のペアのそれぞれのハッシュ値に割り当てられる符号の差分が小さくなるように、それぞれのハッシュ値に符号を割り当て直す(ステップS2801)。   FIG. 28 is a flowchart illustrating an example of a first code adjustment processing procedure. In FIG. 28, the terminal processing device 201 refers to the co-occurrence probability list 1100. The terminal processing device 201 reassigns a code to each hash value such that the higher the co-occurrence probability of the pair of hash values is, the smaller the difference between the codes assigned to each hash value of the pair of hash values is. S2801).

次に、末端処理装置201は、ハッシュ値と、ハッシュ値に割り当て直した符号と、処理種別として追加とを対応付けて、同期待ち符号リスト1000に追加する(ステップS2802)。そして、末端処理装置201は、第1符号調整処理を終了する。   Next, the terminal processing device 201 associates the hash value, the code reassigned to the hash value, and the addition as the process type, and adds the hash value to the synchronization waiting code list 1000 (step S2802). Then, the terminal processing device 201 ends the first code adjustment processing.

(第2符号調整呼び出し処理手順)
次に、図29を用いて、末端処理装置201が実行する、第2符号調整呼び出し処理手順の一例について説明する。第2符号調整呼び出し処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Second code adjustment call processing procedure)
Next, an example of a second code adjustment call processing procedure executed by the terminal processing device 201 will be described with reference to FIG. The second code adjustment calling process is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.

図29は、第2符号調整呼び出し処理手順の一例を示すフローチャートである。図29において、末端処理装置201は、デーモンから定期的に発行される開始指示を受信したか否かを判定する(ステップS2901)。ここで、開始指示を受信していない場合(ステップS2901:No)、末端処理装置201は、ステップS2901の処理に戻る。一方で、開始指示を受信している場合(ステップS2901:Yes)、末端処理装置201は、ステップS2902の処理に移行する。   FIG. 29 is a flowchart illustrating an example of the procedure of the second code adjustment calling process. In FIG. 29, the terminal processing device 201 determines whether a start instruction issued periodically from the daemon has been received (step S2901). If the start instruction has not been received (step S2901: No), the terminal processing device 201 returns to the process of step S2901. On the other hand, when the start instruction has been received (step S2901: Yes), the terminal processing device 201 proceeds to the process of step S2902.

ステップS2902では、末端処理装置201は、図30に後述する第2符号調整処理を実行する(ステップS2902)。そして、末端処理装置201は、第2符号調整呼び出し処理を終了する。   In step S2902, the terminal processing device 201 executes a second code adjustment process described later with reference to FIG. 30 (step S2902). Then, the terminal processing device 201 ends the second code adjustment calling process.

(第2符号調整処理手順)
次に、図30を用いて、末端処理装置201が実行する、第2符号調整処理手順の一例について説明する。第2符号調整処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Second code adjustment processing procedure)
Next, an example of a second code adjustment processing procedure executed by the terminal processing device 201 will be described with reference to FIG. The second code adjustment processing is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.

図30は、第2符号調整処理手順の一例を示すフローチャートである。図30において、末端処理装置201は、累積差分リスト1200を参照し、変動値符号表800にあるハッシュ値ごとに割り当てられた符号の数により正規化した、変動値符号表800にあるハッシュ値ごとの累積差分の分布を生成する(ステップS3001)。   FIG. 30 is a flowchart illustrating an example of the second code adjustment processing procedure. In FIG. 30, the terminal processing device 201 refers to the cumulative difference list 1200 and normalizes by the number of codes assigned for each hash value in the variable value code table 800, and for each hash value in the variable value code table 800. Is generated (step S3001).

次に、末端処理装置201は、分布に基づいて、変動値符号表800において累積差分が一定以下であるハッシュ値に割り当てられた符号を削除する(ステップS3002)。そして、末端処理装置201は、累積差分が一定以下であるハッシュ値と、削除した符号と、処理種別として削除とを対応付けて、同期待ち符号リスト1000に追加する(ステップS3003)。   Next, the terminal processing device 201 deletes, based on the distribution, the code assigned to the hash value whose accumulated difference is equal to or less than a certain value in the variable value code table 800 (step S3002). Then, the terminal processing device 201 associates the hash value with the accumulated difference that is equal to or less than a certain value, the deleted code, and the deletion as the processing type, and adds the hash value to the synchronization waiting code list 1000 (step S3003).

次に、末端処理装置201は、累積差分が一定以下であるハッシュ値に割り当て可能な符号の数を一定数減少させる(ステップS3004)。そして、末端処理装置201は、分布に基づいて、変動値符号表800において累積差分が一定以上であるハッシュ値に割り当て可能な符号の数を増加させる(ステップS3005)。   Next, the terminal processing device 201 reduces the number of codes that can be assigned to the hash value whose accumulated difference is equal to or smaller than a certain number by a certain number (step S3004). Then, based on the distribution, the terminal processing device 201 increases the number of codes that can be assigned to the hash value whose accumulated difference is equal to or more than a certain value in the variable value code table 800 (step S3005).

次に、末端処理装置201は、累積差分リスト1200を初期化する(ステップS3006)。そして、末端処理装置201は、第2符号調整処理を終了する。   Next, the terminal processing device 201 initializes the cumulative difference list 1200 (step S3006). Then, the terminal processing device 201 ends the second code adjustment process.

ここで、図19〜図30のそれぞれのフローチャートにおいて、一部ステップの処理の順序が入れ替えられてもよい。また、図19〜図30のそれぞれのフローチャートにおいて、一部ステップの処理が省略されてもよい。   Here, in each of the flowcharts of FIGS. 19 to 30, the order of the processing of some steps may be changed. In each of the flowcharts of FIGS. 19 to 30, the processing of some steps may be omitted.

以上説明したように、情報処理装置100によれば、全符号化対象データが共通して有する第1項目を有するデータを取得することができる。情報処理装置100によれば、第1辞書を参照して、取得したデータに含まれる第1項目の第1項目データに割り当てられる符号と、第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、第1項目データに符号を割り当てることができる。情報処理装置100によれば、第2辞書を参照して、取得したデータに含まれる第2項目の第2項目データに割り当てられる符号と、第1項目データに割り当てた符号との差分が小さくなるように、第2項目データに符号を割り当てることができる。情報処理装置100によれば、割り当て結果に基づいて、取得したデータを圧縮または伸長する第1装置110との間で、第1辞書および第2辞書の内容について同期することができる。   As described above, according to the information processing apparatus 100, it is possible to acquire data having the first item that all the encoding target data has in common. According to the information processing apparatus 100, referring to the first dictionary, the code assigned to the first item data of the first item included in the acquired data and the code assigned to the other item data of the first item Can be assigned to the first item data so that the difference of According to the information processing apparatus 100, the difference between the code assigned to the second item data of the second item included in the acquired data and the code assigned to the first item data is reduced with reference to the second dictionary. Thus, a code can be assigned to the second item data. According to the information processing apparatus 100, the contents of the first dictionary and the second dictionary can be synchronized with the first apparatus 110 that compresses or expands the acquired data based on the assignment result.

これにより、情報処理装置100は、第1項目についての複数の項目データを符号化し、第1項目についての符号列に対して整数列圧縮を実施する場合に、整数列圧縮の効率化が図られるように、第1項目についての項目データに符号を割り当てることができる。また、情報処理装置100は、第2項目についての複数の項目データを符号化し、第2項目についての符号列に対して整数列圧縮を実施した場合に、整数列圧縮の効率化が図られるように、第2項目についての項目データに符号を割り当てることができる。そして、情報処理装置100は、第1装置110が第1辞書および第2辞書に基づいてデータを圧縮可能または伸長可能にすることができる。結果として、情報処理装置100は、データを効率よく圧縮可能になり、第1装置110との間の通信量の低減化を図ることができる。   Thereby, when the information processing apparatus 100 encodes a plurality of item data of the first item and performs the integer sequence compression on the code sequence of the first item, the efficiency of the integer sequence compression is improved. Thus, a code can be assigned to the item data for the first item. In addition, when the information processing apparatus 100 encodes a plurality of item data of the second item and performs integer sequence compression on the code sequence of the second item, the efficiency of the integer sequence compression can be improved. In addition, a code can be assigned to the item data for the second item. Then, the information processing apparatus 100 can enable the first device 110 to compress or expand data based on the first dictionary and the second dictionary. As a result, the information processing apparatus 100 can efficiently compress data, and can reduce the amount of communication with the first apparatus 110.

情報処理装置100によれば、第1項目を有するデータを取得する都度、第1装置110との間で同期した第1辞書および第2辞書に基づいて、取得したデータに含まれる第1項目の項目データおよび第2項目の項目データを符号に置き換えることができる。情報処理装置100によれば、置換後のデータを蓄積し、蓄積した複数の置換後のデータを纏めて圧縮して第1装置110に送信することができる。これにより、情報処理装置100は、データを効率よく圧縮することができる。   According to the information processing apparatus 100, each time data having the first item is acquired, the first item included in the acquired data is determined based on the first dictionary and the second dictionary synchronized with the first apparatus 110. The item data and the item data of the second item can be replaced with codes. According to the information processing apparatus 100, the replaced data can be accumulated, and the stored plurality of replaced data can be collectively compressed and transmitted to the first device 110. Thereby, the information processing apparatus 100 can efficiently compress the data.

情報処理装置100によれば、第1装置110との間で同期した第1辞書を参照して、取得したデータに含まれる第1項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第1項目の項目データを、当該符号に置き換えることができる。情報処理装置100によれば、取得したデータに含まれる第1項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第1項目の項目データを、所定符号に置き換えることができる。これにより、情報処理装置100は、第1項目の項目データに割り当てられた符号がなくても、第1項目についての複数の項目データを符号化し、第1項目についての符号列に対して整数列圧縮を実施可能にすることができる。   According to the information processing apparatus 100, by referring to the first dictionary synchronized with the first apparatus 110, if there is a code assigned to the item data of the first item included in the acquired data, the acquired data Can be replaced with the code. According to the information processing apparatus 100, if there is no code assigned to the item data of the first item included in the obtained data, the item data of the first item included in the obtained data can be replaced with a predetermined code. . Thereby, the information processing apparatus 100 encodes a plurality of item data of the first item even if there is no code assigned to the item data of the first item, and converts the code string of the first item into an integer string. Compression can be made feasible.

情報処理装置100によれば、第1装置110との間で同期した第2辞書を参照して、取得したデータに含まれる第2項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第2項目の項目データを、当該符号に置き換えることができる。情報処理装置100によれば、取得したデータに含まれる第2項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第2項目の項目データを、所定符号に置き換えることができる。これにより、情報処理装置100は、第2項目の項目データに割り当てられた符号がなくても、第2項目についての複数の項目データを符号化し、第2項目についての符号列に対して整数列圧縮を実施可能にすることができる。   According to the information processing apparatus 100, by referring to the second dictionary synchronized with the first apparatus 110, if there is a code assigned to the item data of the second item included in the acquired data, the acquired data Can be replaced with the code. According to the information processing apparatus 100, if there is no code assigned to the item data of the second item included in the obtained data, the item data of the second item included in the obtained data can be replaced with a predetermined code. . As a result, the information processing apparatus 100 encodes a plurality of item data of the second item even if there is no code assigned to the item data of the second item, and converts the code string of the second item into an integer string. Compression can be made feasible.

情報処理装置100によれば、蓄積した複数の置換後のデータのそれぞれの置換後のデータに含まれる第1項目の項目データと置き換えられた符号を並べた符号列を圧縮することができる。情報処理装置100によれば、蓄積した複数の置換後のデータのそれぞれの置換後のデータに含まれる第2項目の項目データと置き換えられた符号を並べた符号列を圧縮することができる。これにより、情報処理装置100は、データを効率よく圧縮することができる。   According to the information processing apparatus 100, it is possible to compress a code string in which the first item data included in each of the plurality of replaced data and the replaced codes are stored. According to the information processing apparatus 100, it is possible to compress a code string in which the replaced codes and the replaced codes are arranged in each of the stored replaced data of the plurality of replaced data. Thereby, the information processing apparatus 100 can efficiently compress the data.

情報処理装置100によれば、第1項目についての互いに異なる2つの項目データのうち、一方の項目データを含むデータと、他方の項目データを含むデータとが共に、単位時間あたりに取得される確率を算出することができる。情報処理装置100によれば、算出した確率が高いほど、2つの項目データのそれぞれの項目データに割り当てられる符号の差分が小さくなるように、それぞれの項目データに符号を割り当てることができる。情報処理装置100によれば、それぞれの項目データに符号を割り当てた結果に基づいて、第1装置110との間で、第1辞書の内容について同期することができる。これにより、情報処理装置100は、さらに整数列圧縮の効率化が図られるように、第1項目についての項目データに符号を割り当て直すことができる。   According to the information processing apparatus 100, the probability that both of the data including one item data and the data including the other item data among the two different item data of the first item are obtained per unit time Can be calculated. According to the information processing apparatus 100, a code can be assigned to each item data such that the difference between the codes assigned to the respective item data of the two item data becomes smaller as the calculated probability becomes higher. According to the information processing device 100, the contents of the first dictionary can be synchronized with the first device 110 based on the result of assigning the code to each item data. Thereby, the information processing apparatus 100 can reassign codes to the item data of the first item so that the efficiency of the integer string compression is further improved.

情報処理装置100によれば、第1辞書を参照して、取得したデータに含まれる第1項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第1項目の項目データに符号を割り当てることができる。情報処理装置100によれば、第2辞書を参照して、取得したデータに含まれる第2項目の項目データに割り当てられた符号の数が、取得したデータに含まれる第2項目の項目データに割り当て可能な符号の数未満か否かを判定することができる。情報処理装置100によれば、割り当て可能な符号の数未満であれば、取得したデータに含まれる第2項目の項目データに符号を割り当てることができる。これにより、情報処理装置100は、同じ項目データに割り当てられる符号の数を抑制することができる。   According to the information processing apparatus 100, referring to the first dictionary, if there is no code assigned to the item data of the first item included in the acquired data, the item data of the first item included in the acquired data is A code can be assigned. According to the information processing apparatus 100, the number of codes assigned to the item data of the second item included in the acquired data is added to the item data of the second item included in the acquired data with reference to the second dictionary. It can be determined whether the number is less than the number of codes that can be assigned. According to the information processing apparatus 100, if the number of codes is less than the number of codes that can be allocated, a code can be allocated to the item data of the second item included in the acquired data. Thereby, the information processing apparatus 100 can reduce the number of codes assigned to the same item data.

情報処理装置100によれば、第1項目を有するデータを取得する都度、取得したデータに含まれる第1項目の項目データと置き換えられた符号と、取得したデータに含まれる第2項目の項目データと置き換えられた符号との差分を算出することができる。情報処理装置100によれば、第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定以上であれば、いずれかの項目データに割り当て可能な符号の数を増加させることができる。これにより、情報処理装置100は、さらに整数列圧縮の効率化が図られるように、第2項目についての項目データに、新たに符号を割り当て可能にすることができる。   According to the information processing apparatus 100, each time data having the first item is acquired, the code replaced with the item data of the first item included in the acquired data, and the item data of the second item included in the acquired data And the difference between the code and the replaced code can be calculated. According to the information processing apparatus 100, if the sum of the differences calculated for any one of the second item data is equal to or more than a certain value, the number of codes that can be assigned to any one of the item data is increased. Can be. Accordingly, the information processing apparatus 100 can newly assign a code to the item data of the second item so that the efficiency of the integer string compression is further improved.

情報処理装置100によれば、第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定未満であれば、第2辞書から、いずれかの項目データに割り当てられた符号を削除することができる。これにより、情報処理装置100は、利用回数の比較的少ない符号を削除し、利用可能な符号の数を増加させることができる。   According to the information processing device 100, if the magnitude of the sum of the differences calculated for any of the item data of the second item is less than a certain value, the code assigned to any of the item data is read from the second dictionary. Can be deleted. Thereby, the information processing apparatus 100 can delete the code having a relatively small number of uses and increase the number of usable codes.

情報処理装置100によれば、第1項目の項目データに符号を割り当てたこと、または、第2項目の項目データに符号を割り当てたことに応じて、割り当て結果を蓄積することができる。情報処理装置100によれば、蓄積した割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期することができる。これにより、情報処理装置100は、同期にかかる通信量の低減化を図ることができる。   According to the information processing apparatus 100, the assignment result can be accumulated according to the assignment of the code to the item data of the first item or the assignment of the code to the item data of the second item. According to the information processing apparatus 100, the contents of the first dictionary and the second dictionary can be synchronized with the first apparatus 110 based on the accumulated assignment results. Thereby, the information processing apparatus 100 can reduce the amount of communication for synchronization.

情報処理装置100によれば、一定数以上のデータを取得するまでに蓄積した割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期することができる。これにより、情報処理装置100は、同期にかかる通信量の低減化を図ることができる。   According to the information processing apparatus 100, the contents of the first dictionary and the second dictionary can be synchronized with the first apparatus 110 based on the allocation results accumulated until a predetermined number or more of data is acquired. . Thereby, the information processing apparatus 100 can reduce the amount of communication for synchronization.

情報処理装置100によれば、一定時間のうちで蓄積した割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期することができる。これにより、情報処理装置100は、同期にかかる通信量の低減化を図ることができる。   According to the information processing apparatus 100, the contents of the first dictionary and the second dictionary can be synchronized with the first apparatus 110 based on the allocation results accumulated within a certain period of time. Thereby, the information processing apparatus 100 can reduce the amount of communication for synchronization.

情報処理装置100によれば、第1項目が、複数の項目を含むようにすることができる。これにより、情報処理装置100は、複数の項目の項目データを纏めて符号化することができる。   According to the information processing device 100, the first item can include a plurality of items. Thereby, the information processing apparatus 100 can collectively encode the item data of a plurality of items.

情報処理装置100によれば、取得するデータとして、メタデータを利用することができる。これにより、情報処理装置100は、メタデータの通信に適用することができる。   According to the information processing apparatus 100, metadata can be used as data to be acquired. Thereby, the information processing apparatus 100 can be applied to communication of metadata.

情報処理装置100によれば、符号として、整数を利用することができる。これにより、情報処理装置100は、整数列圧縮を実施可能にすることができる。   According to the information processing apparatus 100, an integer can be used as a code. Thus, the information processing apparatus 100 can perform the integer sequence compression.

なお、本実施の形態で説明した分散処理システムは、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した分散処理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した分散処理プログラムは、インターネット等のネットワークを介して配布してもよい。   The distributed processing system described in the present embodiment can be realized by executing a prepared program on a computer such as a personal computer or a workstation. The distributed processing program described in the present embodiment is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. Further, the distributed processing program described in the present embodiment may be distributed via a network such as the Internet.

上述した実施の形態に関し、さらに以下の付記を開示する。   Regarding the above-described embodiment, the following supplementary notes are further disclosed.

(付記1)全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、
制御部を有することを特徴とする情報処理装置。
(Supplementary Note 1) Acquire data having a first item that all encoding target data has in common,
The first item data of the first item included in the obtained data is assigned with reference to a first dictionary that associates the item data of the first item with the code assigned to the item data. The first item data does not overlap with the code assigned to the other item data of the first item so that the difference between the code and the code assigned to the other item data of the first item is small. Assign a sign,
With reference to a second dictionary that associates item data of a second item different from the first item with a code assigned to the item data, a second item of the second item included in the acquired data is referred to. The second item data overlaps with the code assigned to the other item data of the second item so that the difference between the code assigned to the two item data and the code assigned to the first item data becomes small. Not assign sign
Synchronizing the contents of the first dictionary and the second dictionary with a first device that compresses or decompresses the acquired data based on the assignment result.
An information processing device comprising a control unit.

(付記2)前記制御部は、前記第1項目を有するデータを取得する都度、前記第1装置との間で同期した前記第1辞書および前記第2辞書に基づいて、取得した前記データに含まれる前記第1項目の項目データおよび前記第2項目の項目データを符号に置き換えて、置換後のデータを蓄積し、
蓄積した複数の前記置換後のデータを纏めて圧縮して前記第1装置に送信する、ことを特徴とする付記1に記載の情報処理装置。
(Supplementary Note 2) Each time the control unit acquires the data having the first item, the control unit includes the data included in the acquired data based on the first dictionary and the second dictionary synchronized with the first device. The item data of the first item and the item data of the second item are replaced with signs, and the replaced data is stored.
2. The information processing apparatus according to claim 1, wherein the plurality of accumulated data after the replacement are collectively compressed and transmitted to the first apparatus.

(付記3)前記制御部は、前記第1項目を有するデータを取得する都度、前記第1装置との間で同期した前記第1辞書を参照して、取得した前記データに含まれる前記第1項目の項目データに割り当てられた符号があれば、取得した前記データに含まれる前記第1項目の項目データを、当該符号に置き換え、取得した前記データに含まれる前記第1項目の項目データに割り当てられた符号がなければ、取得した前記データに含まれる前記第1項目の項目データを、所定符号に置き換える、ことを特徴とする付記2に記載の情報処理装置。 (Supplementary Note 3) Each time the control unit acquires the data having the first item, the control unit refers to the first dictionary synchronized with the first device and refers to the first dictionary included in the acquired data. If there is a code assigned to the item data of the item, the item data of the first item included in the obtained data is replaced with the code and assigned to the item data of the first item included in the obtained data. 3. The information processing apparatus according to claim 2, wherein if there is no given code, the item data of the first item included in the acquired data is replaced with a predetermined code.

(付記4)前記制御部は、前記第1項目を有するデータを取得する都度、前記第1装置との間で同期した前記第2辞書を参照して、取得した前記データに含まれる前記第2項目の項目データに割り当てられた符号があれば、取得した前記データに含まれる前記第2項目の項目データを、当該符号に置き換え、取得した前記データに含まれる前記第2項目の項目データに割り当てられた符号がなければ、取得した前記データに含まれる前記第2項目の項目データを、所定符号に置き換える、ことを特徴とする付記2または3に記載の情報処理装置。 (Supplementary Note 4) Each time the control unit acquires the data having the first item, the control unit refers to the second dictionary synchronized with the first device and refers to the second dictionary included in the acquired data. If there is a code assigned to the item data of the item, the item data of the second item included in the obtained data is replaced with the code and assigned to the item data of the second item included in the obtained data. 4. The information processing apparatus according to claim 2 or 3, wherein if there is no given code, the item data of the second item included in the acquired data is replaced with a predetermined code.

(付記5)前記制御部は、蓄積した複数の前記置換後のデータのそれぞれの前記置換後のデータに含まれる前記第1項目の項目データと置き換えられた符号を並べた符号列を圧縮し、蓄積した複数の前記置換後のデータのそれぞれの前記置換後のデータに含まれる前記第2項目の項目データと置き換えられた符号を並べた符号列を圧縮する、ことを特徴とする付記2〜4のいずれか一つに記載の情報処理装置。 (Supplementary Note 5) The control unit compresses a code string in which codes replaced with the item data of the first item included in the replaced data of each of the accumulated plurality of replaced data are arranged, Supplementary notes 2 to 4, wherein a code string obtained by arranging the code replaced with the item data of the second item included in the replaced data of each of the stored plurality of replaced data is compressed. An information processing device according to any one of the above.

(付記6)前記制御部は、前記第1項目についての互いに異なる2つの項目データのうち、一方の項目データを含むデータと、他方の項目データを含むデータとが共に、単位時間あたりに取得される確率が高いほど、前記2つの項目データのそれぞれの項目データに割り当てられる符号の差分が小さくなるように、前記それぞれの項目データに符号を割り当て、
前記それぞれの項目データに符号を割り当てた結果に基づいて、前記第1装置との間で、前記第1辞書の内容について同期する、ことを特徴とする付記2〜5のいずれか一つに記載の情報処理装置。
(Supplementary Note 6) The control unit may be configured such that, of the two different item data of the first item, data including one item data and data including the other item data are both acquired per unit time. Assigning a code to each item data so that the difference between codes assigned to the respective item data of the two item data becomes smaller as the probability of the item data becomes higher.
The content of the first dictionary is synchronized with the first device based on a result of assigning a code to each of the item data, wherein the content of the first dictionary is synchronized. Information processing device.

(付記7)前記制御部は、前記第1項目を有するデータを取得する都度、前記第1辞書を参照して、取得した前記データに含まれる前記第1項目の項目データに割り当てられた符号がなければ、取得した前記データに含まれる前記第1項目の項目データに符号を割り当て、
前記第1項目を有するデータを取得する都度、前記第2辞書を参照して、取得した前記データに含まれる前記第2項目の項目データに割り当てられた符号の数が、取得した前記データに含まれる前記第2項目の項目データに割り当て可能な符号の数未満であれば、取得した前記データに含まれる前記第2項目の項目データに符号を割り当てる、ことを特徴とする付記2〜6のいずれか一つに記載の情報処理装置。
(Supplementary Note 7) Each time the control unit acquires the data having the first item, the control unit refers to the first dictionary and assigns a code assigned to the item data of the first item included in the acquired data. If not, assign a code to the item data of the first item included in the obtained data,
Each time the data having the first item is obtained, the number of codes assigned to the item data of the second item included in the obtained data is included in the obtained data by referring to the second dictionary. Wherein the code is assigned to the item data of the second item included in the acquired data if the number is smaller than the number of codes that can be assigned to the item data of the second item. The information processing device according to any one of the above.

(付記8)前記制御部は、前記第1項目を有するデータを取得する都度、取得した前記データに含まれる第1項目の項目データと置き換えられた符号と、取得した前記データに含まれる前記第2項目の項目データと置き換えられた符号との差分を算出し、
前記第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定以上であれば、前記いずれかの項目データに割り当て可能な符号の数を増加させる、ことを特徴とする付記7に記載の情報処理装置。
(Supplementary Note 8) Each time the control unit acquires the data having the first item, the control unit may replace the item data of the first item included in the acquired data with the code included in the acquired data. Calculate the difference between the two item data and the replaced code,
If the magnitude of the sum of the differences calculated for any one of the item data of the second items is equal to or greater than a certain value, the number of codes that can be assigned to any of the item data is increased. 8. The information processing device according to 7.

(付記9)前記制御部は、前記第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定未満であれば、前記第2辞書から、前記いずれかの項目データに割り当てられた符号を削除する、ことを特徴とする付記8に記載の情報処理装置。 (Supplementary Note 9) If the magnitude of the sum of the differences calculated for any of the item data of the second item is less than a certain value, the control unit assigns the item to the item data from the second dictionary. 9. The information processing apparatus according to claim 8, wherein the assigned code is deleted.

(付記10)前記制御部は、前記第1項目の項目データに符号を割り当てたこと、または、前記第2項目の項目データに符号を割り当てたことに応じて、割り当て結果を蓄積し、
蓄積した割り当て結果に基づいて、前記第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、ことを特徴とする付記7〜9のいずれか一つに記載の情報処理装置。
(Supplementary Note 10) The control unit accumulates an assignment result in accordance with assigning a code to the item data of the first item or assigning a code to the item data of the second item.
The information according to any one of supplementary notes 7 to 9, wherein the contents of the first dictionary and the second dictionary are synchronized with the first device based on the accumulated assignment result. Processing equipment.

(付記11)前記制御部は、一定数以上のデータを取得するまでに蓄積した割り当て結果に基づいて、前記第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、ことを特徴とする付記10に記載の情報処理装置。 (Supplementary Note 11) The control unit synchronizes the contents of the first dictionary and the second dictionary with the first device based on an allocation result accumulated until a predetermined number or more of data is acquired. An information processing apparatus according to claim 10, wherein:

(付記12)前記制御部は、一定時間のうちで蓄積した割り当て結果に基づいて、前記第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、ことを特徴とする付記10または11に記載の情報処理装置。 (Supplementary Note 12) The control unit synchronizes the contents of the first dictionary and the second dictionary with the first device based on an allocation result accumulated within a certain period of time. 12. The information processing device according to supplementary note 10 or 11.

(付記13)前記第1項目は、複数の項目を含む、ことを特徴とする付記1〜12のいずれか一つに記載の情報処理装置。 (Supplementary Note 13) The information processing apparatus according to any one of Supplementary Notes 1 to 12, wherein the first item includes a plurality of items.

(付記14)前記データは、メタデータである、ことを特徴とする付記1〜13のいずれか一つに記載の情報処理装置。 (Supplementary note 14) The information processing apparatus according to any one of Supplementary notes 1 to 13, wherein the data is metadata.

(付記15)前記符号は、整数である、ことを特徴とする付記1〜14のいずれか一つに記載の情報処理装置。 (Supplementary note 15) The information processing apparatus according to any one of Supplementary notes 1 to 14, wherein the reference numeral is an integer.

(付記16)情報処理装置と、前記情報処理装置と通信可能な第1装置とを含む分散処理システムであって、
前記情報処理装置は、
全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、前記第1装置との間で、前記第1辞書および前記第2辞書の内容について同期し、
前記第1装置は、
前記情報処理装置との間で同期した前記第1辞書および前記第2辞書の内容を記憶する、
ことを特徴とする分散処理システム。
(Supplementary Note 16) A distributed processing system including an information processing device and a first device capable of communicating with the information processing device,
The information processing device,
Acquiring data having a first item that all the encoding target data has in common;
The first item data of the first item included in the obtained data is assigned with reference to a first dictionary that associates the item data of the first item with the code assigned to the item data. The first item data does not overlap with the code assigned to the other item data of the first item so that the difference between the code and the code assigned to the other item data of the first item is small. Assign a sign,
With reference to a second dictionary that associates item data of a second item different from the first item with a code assigned to the item data, a second item of the second item included in the acquired data is referred to. The second item data overlaps with the code assigned to the other item data of the second item so that the difference between the code assigned to the two item data and the code assigned to the first item data becomes small. Not assign sign
Synchronizing the contents of the first dictionary and the second dictionary with the first device based on the assignment result,
The first device comprises:
Storing the contents of the first dictionary and the second dictionary synchronized with the information processing device;
A distributed processing system, characterized in that:

(付記17)コンピュータに、
全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、
処理を実行させることを特徴とする分散処理プログラム。
(Appendix 17)
Acquiring data having a first item that all the encoding target data has in common;
The first item data of the first item included in the obtained data is assigned with reference to a first dictionary that associates the item data of the first item with the code assigned to the item data. The first item data does not overlap with the code assigned to the other item data of the first item so that the difference between the code and the code assigned to the other item data of the first item is small. Assign a sign,
With reference to a second dictionary that associates item data of a second item different from the first item with a code assigned to the item data, a second item of the second item included in the acquired data is referred to. The second item data overlaps with the code assigned to the other item data of the second item so that the difference between the code assigned to the two item data and the code assigned to the first item data becomes small. Not assign sign
Synchronizing the contents of the first dictionary and the second dictionary with a first device that compresses or decompresses the acquired data based on the assignment result.
A distributed processing program for executing a process.

100 情報処理装置
101,111,1400,1410 記憶部
110 第1装置
120,130,140 データ
121 第1項目データ
122 第2項目データ
131,132,141,142 項目データ
200 分散処理システム
201 末端処理装置
202 IoTデバイス
203 中央処理装置
210 ネットワーク
300,1300 バス
301,1301 CPU
302,1302 メモリ
303,1303 ネットワークI/F
304,1304 記録媒体I/F
305,1305 記録媒体
400,500,1501,1502 メタデータ
600 バージョン情報
700 固定値符号表
800 変動値符号表
900 対応関係テーブル
1000 同期待ち符号リスト
1100 共起確率リスト
1200 累積差分リスト
1401 取得部
1402 割当部
1403 同期部
1404 圧縮部
1405 出力部
1411 更新部
1412 伸長部
1600,1601 ファイル
1602 バイナリデータ
1800 分布
1801,1802 閾値
REFERENCE SIGNS LIST 100 information processing device 101, 111, 1400, 1410 storage unit 110 first device 120, 130, 140 data 121 first item data 122 second item data 131, 132, 141, 142 item data 200 distributed processing system 201 terminal processing device 202 IoT device 203 Central processing unit 210 Network 300, 1300 Bus 301, 1301 CPU
302, 1302 Memory 303, 1303 Network I / F
304, 1304 Recording medium I / F
305, 1305 Recording media 400, 500, 1501, 1502 Metadata 600 Version information 700 Fixed value code table 800 Variable value code table 900 Correspondence table 1000 Synchronization wait code list 1100 Co-occurrence probability list 1200 Cumulative difference list 1401 Acquisition unit 1402 Allocation Unit 1403 synchronization unit 1404 compression unit 1405 output unit 1411 update unit 1412 decompression unit 1600, 1601 file 1602 binary data 1800 distribution 1801, 1802 threshold

Claims (8)

全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、
制御部を有することを特徴とする情報処理装置。
Acquiring data having a first item that all the encoding target data has in common;
The first item data of the first item included in the obtained data is assigned with reference to a first dictionary that associates the item data of the first item with the code assigned to the item data. The first item data does not overlap with the code assigned to the other item data of the first item so that the difference between the code and the code assigned to the other item data of the first item is small. Assign a sign,
With reference to a second dictionary that associates item data of a second item different from the first item with a code assigned to the item data, a second item of the second item included in the acquired data is referred to. The second item data overlaps with the code assigned to the other item data of the second item so that the difference between the code assigned to the two item data and the code assigned to the first item data becomes small. Not assign sign
Synchronizing the contents of the first dictionary and the second dictionary with a first device that compresses or decompresses the acquired data based on the assignment result.
An information processing device comprising a control unit.
前記制御部は、前記第1項目を有するデータを取得する都度、前記第1装置との間で同期した前記第1辞書および前記第2辞書に基づいて、取得した前記データに含まれる前記第1項目の項目データおよび前記第2項目の項目データを符号に置き換えて、置換後のデータを蓄積し、
蓄積した複数の前記置換後のデータを纏めて圧縮して前記第1装置に送信する、ことを特徴とする請求項1に記載の情報処理装置。
The control unit is configured such that each time the data having the first item is obtained, the first unit included in the obtained data is based on the first dictionary and the second dictionary synchronized with the first device. The item data of the item and the item data of the second item are replaced with signs, and the replaced data is stored.
The information processing apparatus according to claim 1, wherein the stored plurality of replaced data are collectively compressed and transmitted to the first device.
前記制御部は、前記第1項目についての互いに異なる2つの項目データのうち、一方の項目データを含むデータと、他方の項目データを含むデータとが共に、単位時間あたりに取得される確率が高いほど、前記2つの項目データのそれぞれの項目データに割り当てられる符号の差分が小さくなるように、前記それぞれの項目データに符号を割り当て、
前記それぞれの項目データに符号を割り当てた結果に基づいて、前記第1装置との間で、前記第1辞書の内容について同期する、ことを特徴とする請求項2に記載の情報処理装置。
The control unit has a high probability that both of the data including one item data and the data including the other item data among the two different item data of the first item are obtained per unit time. A code is assigned to each item data so that a difference between codes assigned to each item data of the two item data becomes smaller.
The information processing apparatus according to claim 2, wherein contents of the first dictionary are synchronized with the first apparatus based on a result of assigning a code to each item data.
前記制御部は、前記第1項目を有するデータを取得する都度、前記第1辞書を参照して、取得した前記データに含まれる前記第1項目の項目データに割り当てられた符号がなければ、取得した前記データに含まれる前記第1項目の項目データに符号を割り当て、
前記第1項目を有するデータを取得する都度、前記第2辞書を参照して、取得した前記データに含まれる前記第2項目の項目データに割り当てられた符号の数が、取得した前記データに含まれる前記第2項目の項目データに割り当て可能な符号の数未満であれば、取得した前記データに含まれる前記第2項目の項目データに符号を割り当てる、ことを特徴とする請求項2または3に記載の情報処理装置。
The control unit refers to the first dictionary each time the data having the first item is obtained, and obtains the code if the code assigned to the item data of the first item included in the obtained data does not exist. Assigning a code to the item data of the first item included in the data,
Each time the data having the first item is obtained, the number of codes assigned to the item data of the second item included in the obtained data is included in the obtained data by referring to the second dictionary. 4. A code is assigned to the item data of the second item included in the acquired data if the number is smaller than the number of codes that can be assigned to the item data of the second item. An information processing apparatus according to claim 1.
前記制御部は、前記第1項目を有するデータを取得する都度、取得した前記データに含まれる第1項目の項目データと置き換えられた符号と、取得した前記データに含まれる前記第2項目の項目データと置き換えられた符号との差分を算出し、
前記第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定以上であれば、前記いずれかの項目データに割り当て可能な符号の数を増加させる、ことを特徴とする請求項4に記載の情報処理装置。
The control unit is configured such that each time the data having the first item is obtained, a code replaced with the item data of the first item included in the obtained data, and the item of the second item included in the obtained data Calculate the difference between the data and the replaced code,
If the magnitude of the total value of the differences calculated for any one of the item data of the second items is equal to or greater than a certain value, the number of codes that can be assigned to any of the item data is increased. Item 5. The information processing device according to item 4.
前記制御部は、前記第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定未満であれば、前記第2辞書から、前記いずれかの項目データに割り当てられた符号を削除する、ことを特徴とする請求項5に記載の情報処理装置。   If the magnitude of the total value of the differences calculated for any of the item data of the second items is less than a certain value, the control unit may change the code assigned to the any of the item data from the second dictionary. The information processing apparatus according to claim 5, wherein the information processing apparatus deletes the information. 情報処理装置と、前記情報処理装置と通信可能な第1装置とを含む分散処理システムであって、
前記情報処理装置は、
全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、前記第1装置との間で、前記第1辞書および前記第2辞書の内容について同期し、
前記第1装置は、
前記情報処理装置との間で同期した前記第1辞書および前記第2辞書の内容を記憶する、
ことを特徴とする分散処理システム。
A distributed processing system including an information processing device and a first device capable of communicating with the information processing device,
The information processing device,
Acquiring data having a first item that all the encoding target data has in common;
The first item data of the first item included in the obtained data is assigned with reference to a first dictionary that associates the item data of the first item with the code assigned to the item data. The first item data does not overlap with the code assigned to the other item data of the first item so that the difference between the code and the code assigned to the other item data of the first item is small. Assign a sign,
With reference to a second dictionary that associates item data of a second item different from the first item with a code assigned to the item data, a second item of the second item included in the acquired data is referred to. The second item data overlaps with the code assigned to the other item data of the second item so that the difference between the code assigned to the two item data and the code assigned to the first item data becomes small. Not assign sign
Synchronizing the contents of the first dictionary and the second dictionary with the first device based on the assignment result,
The first device comprises:
Storing the contents of the first dictionary and the second dictionary synchronized with the information processing device;
A distributed processing system, characterized in that:
コンピュータに、
全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、
処理を実行させることを特徴とする分散処理プログラム。
On the computer,
Acquiring data having a first item that all the encoding target data has in common;
The first item data of the first item included in the obtained data is assigned with reference to a first dictionary that associates the item data of the first item with the code assigned to the item data. The first item data does not overlap with the code assigned to the other item data of the first item so that the difference between the code and the code assigned to the other item data of the first item is small. Assign a sign,
With reference to a second dictionary that associates item data of a second item different from the first item with a code assigned to the item data, a second item of the second item included in the acquired data is referred to. The second item data overlaps with the code assigned to the other item data of the second item so that the difference between the code assigned to the two item data and the code assigned to the first item data becomes small. Not assign sign
Synchronizing the contents of the first dictionary and the second dictionary with a first device that compresses or decompresses the acquired data based on the assignment result.
A distributed processing program for executing a process.
JP2018142937A 2018-07-30 2018-07-30 Information processing equipment, distributed processing systems, and distributed processing programs Active JP7047651B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018142937A JP7047651B2 (en) 2018-07-30 2018-07-30 Information processing equipment, distributed processing systems, and distributed processing programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018142937A JP7047651B2 (en) 2018-07-30 2018-07-30 Information processing equipment, distributed processing systems, and distributed processing programs

Publications (2)

Publication Number Publication Date
JP2020021177A true JP2020021177A (en) 2020-02-06
JP7047651B2 JP7047651B2 (en) 2022-04-05

Family

ID=69588511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018142937A Active JP7047651B2 (en) 2018-07-30 2018-07-30 Information processing equipment, distributed processing systems, and distributed processing programs

Country Status (1)

Country Link
JP (1) JP7047651B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282600A (en) * 2000-03-30 2001-10-12 Nec Corp Information management system
JP2009237934A (en) * 2008-03-27 2009-10-15 Nec Corp File converting device, and file converting method and program
US20110222596A1 (en) * 2010-03-15 2011-09-15 Zhigang Huang Compression dictionary synchronization method and device
JP2011530234A (en) * 2008-07-31 2011-12-15 マイクロソフト コーポレーション Efficient column-based data encoding for large-scale data storage
WO2015186205A1 (en) * 2014-06-04 2015-12-10 株式会社日立製作所 Medical care data search system
WO2018021094A1 (en) * 2016-07-25 2018-02-01 株式会社高速屋 Data compression coding method, decoding method, device therefor, and program therefor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282600A (en) * 2000-03-30 2001-10-12 Nec Corp Information management system
JP2009237934A (en) * 2008-03-27 2009-10-15 Nec Corp File converting device, and file converting method and program
JP2011530234A (en) * 2008-07-31 2011-12-15 マイクロソフト コーポレーション Efficient column-based data encoding for large-scale data storage
US20110222596A1 (en) * 2010-03-15 2011-09-15 Zhigang Huang Compression dictionary synchronization method and device
WO2015186205A1 (en) * 2014-06-04 2015-12-10 株式会社日立製作所 Medical care data search system
WO2018021094A1 (en) * 2016-07-25 2018-02-01 株式会社高速屋 Data compression coding method, decoding method, device therefor, and program therefor

Also Published As

Publication number Publication date
JP7047651B2 (en) 2022-04-05

Similar Documents

Publication Publication Date Title
CN1684464B (en) Method and system for updating object between local device and remote device
CN105190573B (en) The reduction redundancy of storing data
JP4961126B2 (en) An efficient algorithm for finding candidate objects for remote differential compression
US8799291B2 (en) Forensic index method and apparatus by distributed processing
AU2012282870B2 (en) Managing storage of data for range-based searching
AU2009246432B2 (en) Managing storage of individually accessible data units
CN102576321B (en) Performance storage system in fast photographic system for capacity optimizing memory system performance improvement
US20160006456A1 (en) Compression device, compression method, dictionary generation device, dictionary generation method, decompression device, decompression method, information processing system, and recording medium
US8189912B2 (en) Efficient histogram storage
JP6527462B2 (en) Compression device, compression method, recording medium and decompression device
US9600578B1 (en) Inverted index and inverted list process for storing and retrieving information
JP6467937B2 (en) Document processing program, information processing apparatus, and document processing method
CN112559462A (en) Data compression method and device, computer equipment and storage medium
WO2016194401A1 (en) Computer, database processing method, and integrated circuit
KR101842420B1 (en) Information processing apparatus, and data management method
JP7047651B2 (en) Information processing equipment, distributed processing systems, and distributed processing programs
JP6931442B2 (en) Coding program, index generator, search program, coding device, index generator, search device, coding method, index generation method and search method
Dong et al. Record-aware compression for big textual data analysis acceleration
KR102195239B1 (en) Method for data compression transmission considering bandwidth in hadoop cluster, recording medium and device for performing the method
CN113641769A (en) Data processing method and device
WO2017027226A1 (en) On the fly statistical delta differencing engine
CN116069788B (en) Data processing method, database system, computer device, and storage medium
JP6512294B2 (en) Compression program, compression method and compression apparatus
US20240168929A1 (en) Optimizing storage of data in row-oriented data storages
US10367523B2 (en) Data processing method and data processing apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210408

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220307

R150 Certificate of patent or registration of utility model

Ref document number: 7047651

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150