JP7047651B2 - Information processing equipment, distributed processing systems, and distributed processing programs - Google Patents

Information processing equipment, distributed processing systems, and distributed processing programs Download PDF

Info

Publication number
JP7047651B2
JP7047651B2 JP2018142937A JP2018142937A JP7047651B2 JP 7047651 B2 JP7047651 B2 JP 7047651B2 JP 2018142937 A JP2018142937 A JP 2018142937A JP 2018142937 A JP2018142937 A JP 2018142937A JP 7047651 B2 JP7047651 B2 JP 7047651B2
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.)
Active
Application number
JP2018142937A
Other languages
Japanese (ja)
Other versions
JP2020021177A (en
Inventor
一仁 松田
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

Description

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

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

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

特開平11-238073号公報Japanese Unexamined Patent Publication No. 11-238073 特開平8-314957号公報Japanese Unexamined Patent Publication No. 8-314957

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

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

1つの実施態様によれば、全符号化対象データが共通して有する第1項目を有するデータを取得し、前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する情報処理装置、分散処理システム、および分散処理プログラムが提案される。 According to one embodiment, the data having the first item common to all the coded target data is acquired, and the item data of the first item is associated with the code assigned to the item data. With reference to the first dictionary to be represented, 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. The first item data is assigned a code that does not overlap with the code assigned to the other item data of the first item, and the item data of the second item different from the first item and the item data are the same. The code assigned to the second item data of the second item and the code assigned to the first item data included in the acquired data with reference to the second dictionary corresponding to the code assigned to. A code that does not overlap with the code assigned to the other item data of the second item is assigned to the second item data so that the difference between the data and the second item data is small, and the acquired data is compressed or compressed based on the allocation result. 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 the first apparatus to be decompressed are proposed.

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

図1は、実施の形態にかかる分散処理方法の一実施例を示す説明図である。FIG. 1 is an explanatory diagram showing an embodiment of a distributed processing method according to an embodiment. 図2は、分散処理システム200の一例を示す説明図である。FIG. 2 is an explanatory diagram showing an example of the distributed processing system 200. 図3は、末端処理装置201のハードウェア構成例を示すブロック図である。FIG. 3 is a block diagram showing a hardware configuration example of the end 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 coded metadata 500. 図6は、バージョン情報600の記憶内容の一例を示す説明図である。FIG. 6 is an explanatory diagram showing an example of the stored contents of the version information 600. 図7は、固定値符号表700の記憶内容の一例を示す説明図である。FIG. 7 is an explanatory diagram showing an example of the stored 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 stored contents of the correspondence table 900. 図10は、同期待ち符号リスト1000の記憶内容の一例を示す説明図である。FIG. 10 is an explanatory diagram showing an example of the stored 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 stored contents of the cumulative difference list 1200. 図13は、中央処理装置203のハードウェア構成例を示すブロック図である。FIG. 13 is a block diagram showing a hardware configuration example of the central processing unit 203. 図14は、分散処理システム200の機能的構成例を示すブロック図である。FIG. 14 is a block diagram showing a functional configuration example of the distributed processing system 200. 図15は、分散処理システム200の動作例を示す説明図(その1)である。FIG. 15 is an explanatory diagram (No. 1) showing an operation example of the distributed processing system 200. 図16は、分散処理システム200の動作例を示す説明図(その2)である。FIG. 16 is an explanatory diagram (No. 2) showing an operation example of the distributed processing system 200. 図17は、分散処理システム200の動作例を示す説明図(その3)である。FIG. 17 is an explanatory diagram (No. 3) showing an operation example of the distributed processing system 200. 図18は、分散処理システム200の動作例を示す説明図(その4)である。FIG. 18 is an explanatory diagram (No. 4) showing an operation example of the distributed processing system 200. 図19は、登録処理手順の一例を示すフローチャートである。FIG. 19 is a flowchart showing an example of the registration processing procedure. 図20は、第1払出処理手順の一例を示すフローチャートである。FIG. 20 is a flowchart showing an example of the first payout processing procedure. 図21は、第2払出処理手順の一例を示すフローチャートである。FIG. 21 is a flowchart showing an example of the second payout processing procedure. 図22は、圧縮呼び出し処理手順の一例を示すフローチャートである。FIG. 22 is a flowchart showing an example of the compression call processing procedure. 図23は、圧縮処理手順の一例を示すフローチャートである。FIG. 23 is a flowchart showing an example of the compression processing procedure. 図24は、同期呼び出し処理手順の一例を示すフローチャートである。FIG. 24 is a flowchart showing an example of the synchronous call processing procedure. 図25は、同期処理手順の一例を示すフローチャートである。FIG. 25 is a flowchart showing an example of the synchronization processing procedure. 図26は、更新処理手順の一例を示すフローチャートである。FIG. 26 is a flowchart showing an example of the update processing procedure. 図27は、第1符号調整呼び出し処理手順の一例を示すフローチャートである。FIG. 27 is a flowchart showing an example of the first code adjustment call processing procedure. 図28は、第1符号調整処理手順の一例を示すフローチャートである。FIG. 28 is a flowchart showing an example of the first code adjustment processing procedure. 図29は、第2符号調整呼び出し処理手順の一例を示すフローチャートである。FIG. 29 is a flowchart showing an example of the second code adjustment call processing procedure. 図30は、第2符号調整処理手順の一例を示すフローチャートである。FIG. 30 is a flowchart showing an example of the second code adjustment processing procedure.

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

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

分散処理システムは、例えば、IoTデバイスと、エッジコンピュータと、データセンターとを含む。分散処理システムでは、例えば、エッジコンピュータが、IoTデバイスからデータを収集し、収集したデータをデータセンターに送信することにより、データセンターにデータを集約し、データセンターでデータを利用可能にすることがある。 Distributed processing systems include, for example, IoT devices, edge computers, and data centers. In a distributed processing system, for example, an edge computer may collect data from an IoT device and send the collected data to a data center to aggregate the data in the data center and make the data available in the data center. be.

ここで、IoTデバイスが生成するデータのすべてが、データセンターで利用されるとは限らず、通信コストをかけてデータセンターに送信したデータが、データセンターで利用されないことがある。通信コストは、消費電力および帯域負荷などである。このため、エッジコンピュータが、IoTデバイスから収集したデータについてのメタデータをデータセンターに送信することにより、データセンターにメタデータを集約するようにすることが考えられる。 Here, not all the data generated by the IoT device is used in the data center, and the 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. Therefore, it is conceivable that the edge computer aggregates the metadata in the data center by transmitting the metadata about the data collected from the IoT device to the data center.

また、エッジコンピュータとデータセンターとの間の通信帯域が狭いほど、エッジコンピュータとデータセンターとで大量のデータをやり取りすることが困難になる。例えば、通信帯域は、1.5Mbpsである。このため、エッジコンピュータとデータセンターとの間の一度の通信量を低減化することが好ましい。具体的には、エッジコンピュータが、メタデータをデータセンターに送信する際には、メタデータを圧縮することが好ましい。また、具体的には、エッジコンピュータが、データセンターに一度に送信するメタデータの量を少なくすることが好ましい。 Further, the narrower the communication band between the edge computer and the data center, the more difficult it becomes to exchange a large amount of data between the edge computer and the data center. For example, the communication band is 1.5 Mbps. Therefore, it is preferable to reduce the amount of communication between the edge computer and the data center at one time. Specifically, when the edge computer sends the metadata to the data center, it is preferable to compress the metadata. Specifically, it is preferable that the edge computer reduces the amount of metadata transmitted 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 the amount of communication between the edge computer and the data center at one time. For example, when an edge computer uses a compression technique called Deflate, which is based on dictionary coding and Huffman coding, the smaller the amount of metadata transmitted at one time, the lower the efficiency of metadata compression. It tends to end up. In addition, dictionary information for decompression is added to the compressed metadata. Therefore, it is difficult to reduce the amount of communication between the edge computer and the data center at one time.

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

そこで、本実施の形態では、装置間で辞書を同期した状況で、一方の装置がデータを効率よく圧縮し、他方の装置に送信することが可能になるように、データに含まれる各種項目の項目データに符号を割り当てることができる分散処理方法について説明する。 Therefore, in the present embodiment, in the situation where the dictionaries are synchronized between the devices, various items included in the data can be efficiently compressed by one device and transmitted to the other device. A distributed processing method that can assign a code 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 apparatus 100 can communicate with the first apparatus 110. The information processing apparatus 100 stores the first dictionary and the second dictionary in the storage unit 101. Similarly, the first device 110 stores the first dictionary and the second dictionary in the storage unit 111. The stored contents of the storage unit 101 and the stored contents of the storage unit 111 are synchronized by the information processing apparatus 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 and the code assigned to the item data in association with each other. The first item is an item that all coded data have in common. The first item is, for example, an item in which the identification information of the device that generates the coded data is set. The sign is, for example, an integer. Further, the second dictionary is correspondence information representing the item data of the second item different from the first item and the code assigned to the item data in association with each other. The second item is, for example, an item in which the sensor information acquired by the device that generates the coded 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 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 a code has been 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 code 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 allocates 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, 142 are, for example, item data included in the data 130, 140 acquired in the past, and are item data to which a code has been assigned. At this time, the information processing apparatus 100 assigns a code to the second item data 122 so 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 allocation result. The information processing apparatus 100 transmits, for example, the allocation result to the first apparatus 110. The first device 110 reflects the allocation result in the storage unit 111, and updates the first dictionary and the second dictionary in the storage unit 111. Further, the information processing apparatus 100 reflects the allocation result in the storage unit 101, and updates the first dictionary and the second dictionary in the storage unit 101.

これにより、情報処理装置100は、第1項目についての複数の項目データを符号化し、第1項目についての符号列に対して整数列圧縮を実施する場合に、整数列圧縮の効率化が図られるように、第1項目についての項目データに符号を割り当てることができる。 As a result, when the information processing apparatus 100 encodes a plurality of item data for the first item and performs integer string compression on the code string for the first item, the efficiency of integer string compression can be improved. As such, 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 for the first item having the same contents tends to be generated from the IoT device at predetermined intervals.

このため、同時期の、第1項目についての複数の項目データに、互いに差分が小さい符号を割り当てた場合、以降のある時期の、第1項目についての複数の項目データを符号化する際に、互いに差分が小さい符号に置き換えることができると考えられる。結果として、情報処理装置100は、第1装置110との間で、第1辞書および第2辞書の内容について同期した以降、第1項目についての複数の項目データを、互いに差分が小さい符号に置き換えることができ、整数列圧縮を効率化することができる。 Therefore, when a code having a small difference is assigned to a plurality of item data for the first item at the same time, when encoding the plurality of item data for the first item at a certain time thereafter, It is considered that it can be replaced with a code 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 apparatus 100 replaces the plurality of item data for the first item with codes having a small difference from each other. It is possible to improve the efficiency of integer sequence compression.

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

例えば、第1項目についての複数の項目データを、互いに差分が小さい符号に置き換えた場合、置き換えた符号との差分が小さい符号が割り当てられた第2項目についての複数の項目データも、互いに差分が小さい符号に置き換えることができると考えられる。結果として、情報処理装置100は、第1装置110との間で、第1辞書および第2辞書の内容について同期した以降、第2項目についての複数の項目データを、互いに差分が小さい符号に置き換えることができ、整数列圧縮を効率化することができる。 For example, when a plurality of item data for the first item is replaced with a code having a small difference from each other, a plurality of item data for 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 apparatus 100 replaces a plurality of item data for the second item with a code having a small difference from each other. It is possible to improve the efficiency of integer sequence compression.

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

(分散処理システム200の一例)
次に、図2を用いて、図1に示した情報処理装置100を適用した、分散処理システム200の一例について説明する。
(Example of distributed processing system 200)
Next, an example of the distributed processing system 200 to which the information processing apparatus 100 shown 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 showing an example of the distributed processing system 200. In FIG. 2, the distributed processing system 200 includes a terminal processing device 201, an IoT device 202, and a central processing unit 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. Further, in the distributed processing system 200, the terminal processing device 201 and the central processing unit 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), the Internet, or the like.

図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. 1 is applied to the end processing apparatus 201. The end processing device 201 is a computer that collects data from the IoT device 202. The end processing apparatus 201 has various databases described later in FIGS. 6 to 12. The terminal processing apparatus 201 manages, for example, the fixed value code table 700 described later in FIG. 7 and the variable value code table 800 described later in FIG. 8 by the version information 600 described later in FIG.

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

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

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

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

IoTデバイス202は、データを生成して末端処理装置201に送信するコンピュータである。IoTデバイス202は、例えば、所定の場所に設けられ、所定の場所の周囲の環境を示すデータを、末端処理装置201に送信する。IoTデバイス202は、例えば、所定の物体に装着され、所定の物体の状態を示すデータを、末端処理装置201に送信してもよい。IoTデバイス202は、例えば、人間に所持され、人間の状態を示すデータを、末端処理装置201に送信してもよい。 The IoT device 202 is a computer that generates data and transmits it to the end processing device 201. The IoT device 202 is provided at a predetermined location, for example, and transmits data indicating the 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 may transmit data indicating the state of the predetermined object to the terminal processing device 201. The IoT device 202 may, for example, be possessed by a human and transmit data indicating the human condition to the terminal processing apparatus 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. Similar to the terminal processing device 201, the central processing unit 203 has a fixed value code table 700, a variable value code table 800, and a correspondence table 900. 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 apparatus 100 shown in FIG. 1 is applied to the terminal processing apparatus 201 has been described, but the present invention is not limited to this. For example, the information processing device 100 shown in FIG. 1 may be applied to the central processing unit 203. In this case, the central processing device 203 assigns a code to the fixed value field or the variable value field of the metadata based on the decompressed metadata to generate the synchronization waiting code list 1000, and the synchronization waiting code list 1000 is the terminal processing device. It will be transmitted to 201.

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

ここでは、末端処理装置201が1つの装置である場合について説明したが、これに限らない。例えば、末端処理装置201が、協働する複数の装置を含むシステムであってもよい。また、中央処理装置203が1つの装置である場合について説明したが、これに限らない。例えば、中央処理装置203が、協働する複数の装置を含むシステムであってもよい。 Here, the case where the end treatment device 201 is one device has been described, but the present invention is not limited to this. For example, the end 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のハードウェア構成例について説明する。
(Hardware configuration example of end processing device 201)
Next, a hardware configuration example of the end processing apparatus 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 showing a hardware configuration example of the end processing device 201. In FIG. 3, the terminal processing device 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. Further, 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 controls the entire terminal processing device 201. The memory 302 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 ROM stores various programs, and RAM is used as a work area of CPU 301. The program stored in the memory 302 is loaded into the CPU 301 to cause the CPU 301 to execute the coded process.

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

記録媒体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 read / write of data to the recording medium 305 according to 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 detachable from the end processing device 201.

末端処理装置201は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、末端処理装置201は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、末端処理装置201は、記録媒体I/F304や記録媒体305を有していなくてもよい。 The end 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 above-mentioned components. Further, the terminal processing device 201 may have a plurality of recording media I / F 304 and recording media 305. Further, the end processing device 201 does not have to 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 a memory 302 or a recording medium 305 of the terminal processing apparatus 201 shown 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. Data that identifies the IoT device 202 that generated the metadata 400 is set in the source_id field. In the location field, data indicating the location of the IoT device 202 that generated the metadata 400 is set. The data acquired by the IoT device 202 that generated the metadata 400 is set in the key field.

メタデータ400は、keyのフィールドを有さない場合があってもよい。以下の説明では、例えば、source_idと、locationとのフィールドが、併せて、固定値フィールドとして扱われる。また、例えば、keyのフィールドが、変動値フィールドとして扱われる。 The metadata 400 may not have a key field. In the following description, for example, the fields of source_id and location are collectively treated as fixed value fields. Further, for example, a 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 coded metadata 500 will be described with reference to FIG. The encoded metadata 500 is stored in, for example, a storage area such as a memory 302 or a recording medium 305 of the terminal processing apparatus 201 shown in FIG.

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

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

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

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

(変動値符号表800の記憶内容)
次に、図8を用いて、変動値符号表800の記憶内容の一例について説明する。変動値符号表800は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Stored 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 variable value code table 800 is realized, for example, by a storage area such as a memory 302 or a recording medium 305 of the terminal processing apparatus 201 shown 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 for a hash value, a code, and an allocation number. In the variable value code table 800, the variable value code information is stored as a record by setting information in each field for each hash value of the data in the variable value field.

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

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

図9は、対応関係テーブル900の記憶内容の一例を示す説明図である。図9に示すように、対応関係テーブル900は、ハッシュ値と、データとのフィールドを有する。対応関係テーブル900は、データごとに各フィールドに情報を設定することにより、対応情報がレコードとして記憶される。 FIG. 9 is an explanatory diagram showing an example of the stored contents of the correspondence table 900. As shown in FIG. 9, the correspondence table 900 has fields for hash values and data. In the correspondence table 900, the 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 the data of the fixed value field or the data of the variable value field included in the metadata is set. The data field is set to the data of the fixed value field or the data of the variable value field included in the metadata.

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

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

データ/ハッシュ値のフィールドには、データまたはハッシュ値が設定される。データ/ハッシュ値のフィールドには、例えば、固定値符号表700または変動値符号表800に対して、データと符号との組み合わせを追加しようとする場合には、データが設定される。データ/ハッシュ値のフィールドには、例えば、固定値符号表700または変動値符号表800から、ハッシュ値と符号との組み合わせを削除しようとする場合には、ハッシュ値が設定される。 A data or hash value is set in the data / hash value field. Data is set in the data / hash value field, for example, 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. In the data / hash value field, for example, a hash value is set 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.

固定値/変動値のフィールドには、固定値符号表700および変動値符号表800のいずれを処理対象にするかを示すフラグ情報が設定される。フラグ情報が固定値であれば、固定値符号表700を処理対象とすることを示し、フラグ情報が変動値であれば、変動値符号表800を処理対象とすることを示す。符号のフィールドには、処理対象に対して追加または削除される符号が設定される。追加/削除のフィールドには、処理種別として追加または削除が設定される。 In the fixed value / variable value field, flag information indicating whether the fixed value code table 700 or 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 variable value, it indicates that the variable value code table 800 is to be processed. In the code field, a code to be added or deleted with respect to the processing target is set. In the add / delete field, add or delete is set as the processing type.

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

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

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

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

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

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

センサ装置は、例えば、IoTデバイス202の状態を検出する。IoTデバイス202の状態は、例えば、IoTデバイス202の位置、動き、および向きのうち少なくともいずれかである。センサ装置は、具体的には、加速度センサ、地磁気センサ、振動センサ、または、GPS受信機などのいずれかを含んでもよい。 The sensor device detects, for example, the state of the IoT device 202. The state of the IoT device 202 is, for example, at least one of the position, movement, and orientation of the IoT device 202. Specifically, the sensor device may 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 the environment around the IoT device 202, for example. The environment is, for example, sound or light. Specifically, the sensor device may include either an optical sensor, a sound sensor, or the like. Further, the sensor device may detect biometric information, for example. The biometric information is, for example, pulse, heart rate, body temperature, or amount of exercise.

(中央処理装置203のハードウェア構成例)
次に、図13を用いて、中央処理装置203のハードウェア構成例について説明する。
(Hardware configuration example of central processing unit 203)
Next, a hardware configuration example 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 showing a hardware configuration example of the central processing unit 203. In FIG. 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. Further, each component is 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 the entire 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 ROM stores various programs, and RAM is used as a work area of CPU 1301. The program stored in the memory 1302 is loaded into the CPU 1301 to cause the CPU 1301 to execute the coded process. 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 through a communication line, and is connected to another computer via the network 210. Then, the network I / F 1303 controls the internal interface with the network 210 and controls the input / output of data from another computer. The network I / F 1303 is, for example, a modem, a LAN adapter, or the like.

記録媒体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 data read / write to the recording medium 1305 according to 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 above-mentioned components. Further, the central processing unit 203 may have a plurality of recording media I / F 1304 and recording media 1305. Further, the central processing unit 203 does not have to 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, a functional configuration example of the distributed processing system 200 will be described with reference to FIG. Specifically, a functional configuration example of the information processing device 100 included in the distributed processing system 200 and a functional configuration example of the first device 110 capable of communicating 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 showing a functional configuration example of the distributed processing system 200. In the example of FIG. 14, a case where the terminal processing device 201 shown in FIG. 2 corresponds to the information processing device 100 and the central processing unit 203 shown in FIG. 2 corresponds to the first device 110 will be described.

図14において、情報処理装置100は、記憶部1400と、取得部1401と、割当部1402と、同期部1403と、圧縮部1404と、出力部1405とを含む。また、第1装置110は、記憶部1410と、更新部1411と、伸長部1412とを含む。 In FIG. 14, the information processing apparatus 100 includes a storage unit 1400, an acquisition unit 1401, an allocation unit 1402, a synchronization unit 1403, a compression unit 1404, and an output unit 1405. Further, the first device 110 includes a storage unit 1410, an update unit 1411, and an extension 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 or the recording medium 305 shown in FIG. Hereinafter, the case where the storage unit 1400 is included in the information processing apparatus 100 will be described, but the present invention is not limited to this. For example, the storage unit 1400 may be included in a device different from the information processing device 100, and the stored contents of the storage unit 1400 may be visible 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 the control unit. Specifically, the acquisition unit 1401 to the output unit 1405 may cause the CPU 301 to execute a program stored in a storage area such as the memory 302 or the recording medium 305 shown in FIG. 3, or the network I / F 303. To realize the function. The processing result of each functional unit of the information processing apparatus 100 is stored in a storage area such as the memory 302 or the recording medium 305 shown in FIG. 3, for example.

記憶部1400は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部1400は、例えば、第1辞書および第2辞書を記憶する。第1辞書は、第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す対応情報である。第1項目は、全符号化対象データが共通して有する項目である。第1項目は、複数の項目を含んでもよい。第1項目は、例えば、固定値フィールドである。符号は、例えば、整数である。また、第2辞書は、第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す対応情報である。第2項目は、例えば、変動値フィールドである。記憶部1400は、具体的には、図6~図12に示した各種データベースを記憶する。 The storage unit 1400 stores various information 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 and the code assigned to the item data in association with each other. The first item is an item that all coded data have in common. 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. Further, the second dictionary is correspondence information representing the item data of the second item different from the first item and the code assigned to the item data in association with each other. The second item is, for example, a variable value field. Specifically, the storage unit 1400 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 acquisition unit 1401 stores various acquired information in the storage unit 1400 or outputs it to each function unit. Further, the acquisition unit 1401 may output various information stored in the storage unit 1400 to each function unit. The acquisition unit 1401 acquires various information based on, for example, the operation input of the user. The acquisition unit 1401 may receive various information from a device different from the information processing device 100, for example.

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

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

割当部1402は、例えば、第1辞書を参照して、取得したデータに含まれる第1項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第1項目の項目データに符号を割り当てる。また、割当部1402は、例えば、第1辞書を参照して、取得したデータに含まれる第1項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第1項目の項目データに符号を割り当てなくてもよい。 For example, the allocation unit 1402 refers to the first dictionary, and if there is no code assigned to the item data of the first item included in the acquired data, the allocation unit 1402 encodes the item data of the first item included in the acquired data. To assign. Further, the allocation unit 1402 refers to, for example, the first dictionary, and if there is a 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. It is not necessary to assign a code to.

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

これにより、割当部1402は、第1項目についての複数の項目データを符号化し、第1項目についての符号列に対して整数列圧縮を実施する場合に、整数列圧縮の効率化が図られるように、第1項目についての項目データに符号を割り当てることができる。 As a result, the allocation unit 1402 encodes a plurality of item data for the first item, and when the integer string compression is performed on the code string for the first item, the efficiency of the integer string compression can be improved. Can be assigned a code to the item data for the first item.

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

割当部1402は、例えば、第2辞書を参照して、取得したデータに含まれる第2項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第2項目の項目データに符号を割り当てる。また、割当部1402は、例えば、第2辞書を参照して、取得したデータに含まれる第2項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第2項目の項目データに符号を割り当てなくてもよい。 For example, the allocation unit 1402 refers to the second dictionary, and if there is no code assigned to the item data of the second item included in the acquired data, the allocation unit 1402 encodes the item data of the second item included in the acquired data. To assign. Further, the allocation unit 1402 refers to, for example, the second dictionary, and if there is a code assigned to the item data of the second item included in the acquired data, the item data of the second item included in the acquired data. It is not necessary to assign a code to.

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

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

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

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

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

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

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

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

割当部1402は、第1項目を有するデータを取得する都度、取得したデータに含まれる第1項目の項目データと置き換えられた符号と、取得したデータに含まれる第2項目の項目データと置き換えられた符号との差分を算出する。そして、割当部1402は、第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定以上であれば、いずれかの項目データに割り当て可能な符号の数を増加させる。 Each time the allocation unit 1402 acquires the data having the first item, it is replaced with 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. Calculate the difference from the sign. Then, the allocation unit 1402 increases the number of codes that can be assigned to any of the item data if the magnitude of the total value of the differences calculated for any of the item data of the second item is equal to or more than a certain value.

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

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

例えば、割当部1402は、第1項目の項目データと置き換えられた符号と、第2項目の項目データと置き換えられた符号との差分を小さくすることが、整数列圧縮の効率化に寄与するという性質を利用している。このため、累積差分が大きい場合、現状で第2項目の項目データと置き換えている符号は、整数列圧縮の効率化に寄与しにくいと考えられる。これに対し、割当部1402は、第2項目についての項目データに、新たに符号を割り当て可能にし、さらに整数列圧縮の効率化が図られるようにすることができる。 For example, the allocation 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 sequence compression. Utilizing the nature. Therefore, 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 integer sequence compression. On the other hand, the allocation unit 1402 can newly assign a code to the item data for the second item, and can further improve the efficiency of integer sequence compression.

割当部1402は、第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定未満であれば、第2辞書から、いずれかの項目データに割り当てられた符号を削除する。割当部1402は、具体的には、メタデータを符号化する都度、符号化したメタデータに含まれる固定値フィールドの符号と変動値フィールドの符号との差分を算出する。次に、割当部1402は、算出した差分に基づいて、累積差分リスト1200のうち、変動値フィールドの符号に対応するハッシュ値に対応付けられた累積差分を更新する。 If the magnitude of the total value of the differences calculated for any of the item data of the second item is less than a certain value, the allocation unit 1402 deletes the code assigned to any of the item data from the second dictionary. Specifically, the allocation unit 1402 calculates the difference between the code of the fixed value field and the code of the variable value field included in the encoded metadata each time the metadata is encoded. Next, the allocation unit 1402 updates the cumulative difference associated with the hash value corresponding to the code 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 cumulative difference is less than a certain value, the allocation unit 1402 deletes the code associated with the hash value corresponding to the code of the variable value field in the variable value code table 800. The allocation unit 1402 saves the deletion result in the synchronization waiting code list 1000. Here, the allocation unit 1402 may not save the deletion result in the synchronization waiting code list 1000, but may reflect it in the variable value code table 800. Further, the allocation unit 1402 reduces the number of assignable codes associated with the hash values corresponding to the codes of the variation value fields in the variation value code table 800. As a result, the allocation unit 1402 can delete the code having a relatively small number of uses and increase the number of available 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 allocation result. The synchronization unit 1403 transmits, for example, the allocation result to the first device 110. Further, the synchronization unit 1403 updates the contents of the first dictionary and the second dictionary stored in the storage unit 1400 based on the allocation result. Specifically, the synchronization unit 1403 transmits the synchronization waiting code list 1000 to the central processing unit 203. Further, the synchronization unit 1403 updates the fixed value code table 700 and the variable value code table 800 based on the synchronization waiting code list 1000.

これにより、同期部1403は、第1装置110が記憶する第1辞書および第2辞書の内容を、情報処理装置100が記憶する第1辞書および第2辞書と同じ内容になるように、第1装置110に更新させることができる。このため、同期部1403は、第1辞書および第2辞書に基づいてデータを、第1装置110が圧縮可能または伸長可能にすることができる。結果として、同期部1403は、データを効率よく圧縮可能にすることができ、第1装置110との間の通信量の低減化を図ることができる。 As a result, the synchronization unit 1403 makes the contents of the first dictionary and the second dictionary stored in the first device 110 the same as the contents of the first dictionary and the second dictionary stored in the information processing device 100. The device 110 can be updated. Therefore, the synchronization unit 1403 can make the data compressible or decompressable by the first apparatus 110 based on the first dictionary and the second dictionary. As a result, the synchronization unit 1403 can efficiently compress the 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 allocation result 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. 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 allocation result.

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

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

圧縮部1404は、例えば、取得したデータに含まれる第1項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第1項目の項目データを、当該符号に置き換える。また、圧縮部1404は、例えば、取得したデータに含まれる第1項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第1項目の項目データを、所定符号に置き換える。 For example, if the compression unit 1404 has a 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 replaced with the code. Further, for example, if the compression unit 1404 does not have 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 a predetermined code.

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

そして、圧縮部1404は、蓄積した複数の置換後のデータを纏めて圧縮する。圧縮部1404は、例えば、蓄積した複数の置換後のデータのそれぞれの置換後のデータに含まれる第1項目の項目データと置き換えられた符号を並べた符号列を圧縮する。また、圧縮部1404は、例えば、蓄積した複数の置換後のデータのそれぞれの置換後のデータに含まれる第2項目の項目データと置き換えられた符号を並べた符号列を圧縮する。これにより、圧縮部1404は、データを効率よく圧縮することができる。 Then, the compression unit 1404 collectively compresses the accumulated data after replacement. The compression unit 1404 compresses, for example, a code string in which the replacement code and the item data of the first item included in the replacement data of the accumulated plurality of replacement data are arranged. Further, the compression unit 1404 compresses, for example, a code string in which the replacement code is arranged with the item data of the second item included in the replacement data of each of the plurality of replacement data accumulated. As a result, the compression unit 1404 can efficiently compress the 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. It is transmitted to the device 203. As a result, 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 or the recording medium 1305 shown in FIG. Hereinafter, the case where the storage unit 1410 is included in the first device 110 will be described, 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 stored contents of the storage unit 1410 may be visible from the first device 110.

更新部1411および伸長部1412は、具体的には、例えば、メモリ1302や記録媒体1305などの記憶領域に記憶されたプログラムをCPU1301に実行させることにより、または、ネットワークI/F1303により、その機能を実現する。第1装置110の各機能部の処理結果は、例えば、図13に示したメモリ1302や記録媒体1305などの記憶領域に記憶される。 Specifically, the update unit 1411 and the extension unit 1412 perform their functions by causing the CPU 1301 to execute a program stored in a storage area such as a memory 1302 or a recording medium 1305, or by using a 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 shown in FIG. 13, for example.

記憶部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 in the same manner as the storage unit 1400. The stored contents of the storage unit 1400 and the stored contents of the storage unit 1410 are synchronized with each other. For example, the first dictionary and the second dictionary stored in the storage unit 1400 and the first dictionary and the second dictionary stored in the storage unit 1410 are synchronized so as to have the same contents. Specifically, the storage unit 1410 stores the fixed value code table 700 and the variable value code table 800. Further, 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 update unit 1411 updates the first dictionary and the second dictionary stored in the storage unit 1410 based on the allocation result of the allocation 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. As a result, the update unit 1411 can synchronize the information processing device 100 and the first device 110 so that they have the first dictionary and the second dictionary having the same contents.

伸長部1412は、第1辞書および第2辞書に基づいて、圧縮されたデータを伸長する。伸長部1412は、具体的には、圧縮に利用した固定値符号表700のバージョン番号、および、圧縮に利用した変動値符号表800のバージョン番号と共に、圧縮された複数のメタデータを受信する。そして、伸長部1412は、固定値符号表700、変動値符号表800、および、バージョン情報600に基づいて、圧縮された複数のメタデータを伸長する。これにより、伸長部1412は、圧縮されたデータを利用可能にすることができる。 The decompression unit 1412 decompresses the compressed data based on the first dictionary and the second dictionary. Specifically, the decompression unit 1412 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 a plurality of compressed metadata based on the fixed value code table 700, the variable value code table 800, and the version information 600. As a result, the decompressed portion 1412 can make the compressed data available.

ここでは、図2に示した分散処理システム200において、末端処理装置201が情報処理装置100に対応し、中央処理装置203が第1装置110に対応する場合について説明したが、これに限らない。例えば、末端処理装置201が第1装置110に対応し、中央処理装置203が情報処理装置100に対応する場合があってもよい。 Here, in the distributed processing system 200 shown in FIG. 2, the case where the terminal processing device 201 corresponds to the information processing device 100 and the central processing unit 203 corresponds to the first device 110 has been described, 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 unit 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 end 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 apparatus 100 may be interchanged with the expansion unit 1412 of the first apparatus 110.

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

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

末端処理装置201は、固定値符号表700に、メタデータ1501の固定値フィールドのデータに対応する符号があるか否かを判定し、符号があれば、メタデータ1501の固定値フィールドのデータを符号化する。末端処理装置201は、符号がなければ、メタデータ1501の固定値フィールドのデータに符号を割り当てて、同期待ち符号リスト1000に保存する。 The terminal processing apparatus 201 determines whether or not the fixed value code table 700 has a code corresponding to the data in the fixed value field of the metadata 1501, and if there is a code, the data in the fixed value field of the metadata 1501 is used. Encode. If there is no code, the end processing device 201 assigns a code to the data in 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 apparatus 201 has a hash value “abcddefg” of the data ““ source_id ”:“ 001 ”,“ location ”: {“lat ”: xx,“ ng ”: yy}” in the fixed value field. Is calculated. The terminal processing apparatus 201 determines that the fixed value code table 700 has the code "1" corresponding to the hash value "abcdeffg". Therefore, the terminal processing apparatus 201 replaces the data "" source_id ":" 001 "," location ": {" lat ": xx," lng ": yy}" in the fixed value field with the code "1".

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

また、末端処理装置201は、変動値符号表800に、メタデータ1501の変動値フィールドのデータに対応する符号があるか否かを判定し、符号があれば、メタデータ1501の変動値フィールドのデータを符号化する。末端処理装置201は、符号がなければ、メタデータ1501の変動値フィールドのデータに符号を割り当てて、同期待ち符号リスト1000に保存する。また、末端処理装置201は、符号があっても、割り当て済みの符号の数が、割り当て可能な符号の数未満であれば、メタデータ1501の変動値フィールドのデータに符号を割り当てて、同期待ち符号リスト1000に保存してもよい。 Further, the end processing apparatus 201 determines whether or not the variable value code table 800 has a code corresponding to the data in the variable value field of the metadata 1501, and if there is a code, the variable value field of the metadata 1501. Encode the data. If there is no code, the end 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, the end processing apparatus 201 assigns a code to the data in the variable value field of the metadata 1501 and waits for synchronization if the number of assigned codes is less than the number of assignable codes even if there is a code. 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 apparatus 201 calculates the hash value “nopqrst” of the data ““ hoge”: “fuga” “of the first variable value field. Since the terminal processing apparatus 201 has the code "1" corresponding to the hash value "nopqrst" in the variation value code table 800, the data in the first variation value field "" hoge ":" fuga "" is coded ". Replace with "1". The code to be replaced with the data in the fixed value field and the code to be replaced with 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 have to replace the data in the second and subsequent variable value fields with a code. Therefore, the end processing device 201 leaves the data ““foo”: “bar” ”of the second variable value field as it is. Further, the end processing device 201 may also replace the data in the second and subsequent variable value fields with a code. The end processing device 201 stores the encoded metadata 1502 in the transmission waiting buffer. The transmit wait buffer is, for example, a FIFO queue.

また、末端処理装置201は、固定値フィールドのデータと置き換えた符号と、変動値フィールドのデータと置き換えた符号との差分を算出し、累積差分リスト1200を更新する。末端処理装置201は、例えば、変動値フィールドのデータと置き換えた符号を、変動値フィールドのデータに割り当て可能な符号の最大数で除算した商+1を算出する。最大数は、例えば、3である。 Further, the end processing apparatus 201 calculates the 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 apparatus 201 calculates, for example, the 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, 3.

また、末端処理装置201は、固定値フィールドのデータと置き換えた符号を、変動値フィールドのデータに割り当て可能な符号の最大数で除算した商を算出する。そして、末端処理装置201は、変動値フィールドについて算出した商+1から、固定値フィールドについて算出した商を減算した差分を算出し、累積差分リスト1200の累積差分に加算する。 Further, the terminal processing apparatus 201 calculates a quotient obtained by dividing a 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 apparatus 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の説明に移行する。 As a result, the terminal processing apparatus 201 increases the cumulative difference as the contribution to the efficiency of integer sequence compression of the code decreases, and the cumulative difference decreases as the number of times the code is used decreases. Can be memorized. Then, the terminal processing apparatus 201 can make the assignment of the code in the variable value code table 800 adjustable so that the efficiency of integer sequence compression can be improved based on the cumulative difference. Next, the description proceeds to FIG.

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

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

次に、末端処理装置201は、エントリごとに符号の数を合わせるためにパディングを実施する。末端処理装置201は、具体的には、エントリ「5,{“piyo”:“baz”}」にパディングを実施し、エントリ「5,0,{“piyo”:“baz”}」とする。 Next, the terminal processing apparatus 201 performs padding in order to match the number of codes for each entry. Specifically, the terminal processing apparatus 201 performs padding on the entry “5, {“piyo ”:“ bas ”}”, 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 apparatus 201 arranges a code or a character string for each column of the entry and writes it in the file 1601. Specifically, the terminal processing apparatus 201 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 entered in file 1601. Further, the terminal processing device 201 arranges the character strings in the character string field as “[{“foo ”:“ bar ”}, {“ hoge ”:“ fuga ”}, {“ piyo ”:“ baz ”}, nil] ”is entered in 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 apparatus 201 performs integer sequence compression in column units for the file 1601. 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 as an integer sequence, and the code string “1” in which the codes in the variable value field are arranged. , 3, 0, 7 ”is compressed into an integer sequence. Further, the terminal processing device 201 performs compression other than integer sequence 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 unit 203. The central processing unit 203 executes the reverse processing of the terminal processing device 201, and decompresses the file 1600 from the binary data 1602. As a result, the end processing device 201 can efficiently compress the encoded metadata, and the amount of communication with the central processing unit 203 can be reduced.

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

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

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

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

図17において、末端処理装置201は、一定時間ごとに、固定値符号表700および変動値符号表800についての同期要求を中央処理装置203に送信する。同期要求は、例えば、固定値符号表700および変動値符号表800をどのように更新するかを示す同期待ち符号リスト1000が付与される。また、同期要求は、バージョン情報600に基づいて、固定値符号表700のバージョン番号、および、変動値符号表800のバージョン番号が付与される。 In FIG. 17, the terminal processing device 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 time intervals. The synchronization request is provided with, for example, a synchronization waiting code list 1000 showing how to update the fixed value code table 700 and the variable value code table 800. Further, the synchronization request is given a version number of the fixed value code table 700 and a 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 assigned to the synchronization request in the fixed value code table 700 and the variable value code table 800 stored in the own device. The central processing unit 203, for example, adds or adds a correspondence between a hash value and a code to the fixed value code table 700 and the variable value code table 800 in the processing type of the field for adding / deleting the synchronization waiting code list 1000. delete. The central processing unit 203 overwrites the version information 1700 stored in the own device 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 by the own device, the central processing unit 203 may leave the fixed value code table 700 before the reflection. Similarly, when the central processing unit 203 reflects the synchronization waiting code list 1000 in the variable value code table 800 stored by the own device, the central processing unit 203 may leave the variable value code table 800 before the reflection. The central processing unit 203 reflects the synchronization waiting code list 1000 assigned 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 unit 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 the own device. Then, the terminal processing apparatus 201 initializes the synchronization waiting code list 1000. Thereby, 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 those of the central processing unit 203. Therefore, the terminal processing device 201 can allow the central processing unit 203 to decompress the compressed metadata. Next, the description proceeds to FIG.

図18において、末端処理装置201は、累積差分リスト1200を参照し、累積差分の大小に基づいて、変動値フィールドのデータに割り当て可能な符号の数を増減させる。ここで、累積差分は、値が大きいほど、符号の整数列圧縮の効率化への寄与が少ないことを示し、かつ、値が小さいほど、符号の利用回数が少ないことを示している。 In FIG. 18, the end processing apparatus 201 refers to the cumulative difference list 1200 and increases or decreases the number of codes that can be assigned to the data in the variable value field based on the magnitude of the cumulative difference. Here, the cumulative difference indicates that the larger the value, the smaller the contribution to the efficiency of the integer sequence compression of the code, 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を初期化する。 Therefore, the terminal processing apparatus 201 generates a distribution 1800 of cumulative differences for each hash value. The end processing device 201 increases the number of assignable codes for the data corresponding to the hash value whose cumulative difference exceeds the threshold value 1801. The threshold value 1801 is, for example, 30. Further, the end processing device 201 deletes the code assigned to the data corresponding to the hash value whose cumulative difference is less than the threshold value 1802. The threshold value 1802 is, for example, 3. Then, the end 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 assigns the number of codes that can be assigned to the data corresponding to the hash value “nopqrst”, which is 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 apparatus 201 initializes the cumulative difference corresponding to the hash value “nopqrst”, which is the cumulative difference “40”, to “0”. Further, the terminal processing apparatus 201 deletes the record corresponding to the hash value "cdeffhi" which is the cumulative difference "1" from the variable value code table 800 and the cumulative difference list 1200.

例えば、末端処理装置201は、同じメタデータについての固定値フィールドにある符号と変動値フィールドにある符号との差分を小さくすることが、変動値フィールドにある符号を並べた符号列に対する整数列圧縮の効率化に寄与するという性質を利用している。このため、累積差分が大きい場合、現状で変動値フィールドにあるデータと置き換えている符号は、整数列圧縮の効率化に寄与しにくいと考えられる。これに対し、末端処理装置201は、データに新たに符号を割り当て可能にし、さらに整数列圧縮の効率化が図られるようにすることができる。 For example, the end processing device 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, thereby compressing the integer sequence for the code string in which the codes in the variable value field are arranged. It utilizes the property of contributing to the efficiency of. Therefore, when the cumulative 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 integer sequence compression. On the other hand, the terminal processing device 201 can newly assign a code to the data and can further improve the efficiency of integer sequence compression.

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

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

図19は、登録処理手順の一例を示すフローチャートである。図19において、末端処理装置201は、IoTデバイス202からデータを受信して保存する(ステップS1901)。そして、末端処理装置201は、受信したデータの格納場所と対応付けて受信したデータについてのメタデータを保存する(ステップS1902)。 FIG. 19 is a flowchart showing an example of the registration processing procedure. In FIG. 19, the end processing device 201 receives data from the IoT device 202 and stores it (step S1901). Then, the end processing device 201 saves the metadata about 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 apparatus 201 executes the first payout process described later in FIG. 20 and encodes the metadata (step S1903). Then, the terminal processing apparatus 201 executes the second payout process described later in FIG. 21 to encode the metadata (step S1904).

次に、末端処理装置201は、符号化したメタデータを送信待ちバッファに保存する(ステップS1905)。そして、末端処理装置201は、登録処理を終了する。 Next, the terminal processing apparatus 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とによって実現される。
(1st payout processing procedure)
Next, an example of the first payout processing procedure executed by the terminal processing apparatus 201 will be described with reference to FIG. The first payout process is realized, for example, by the CPU 301 shown in FIG. 3, a storage area such as a memory 302 or a recording medium 305, and a network I / F 303.

図20は、第1払出処理手順の一例を示すフローチャートである。図20において、末端処理装置201は、メタデータに含まれる固定値フィールドのデータ全体のハッシュ値を算出する(ステップS2001)。 FIG. 20 is a flowchart showing an example of the first payout processing procedure. In FIG. 20, the end processing apparatus 201 calculates the 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 apparatus 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 apparatus 201 shifts to the processing of step S2004. On the other hand, when the code corresponding to the hash value exists (step S2002: Yes), the terminal processing apparatus 201 shifts to the processing of step S2003.

ステップS2003では、末端処理装置201は、固定値符号表700を参照し、メタデータに含まれる固定値フィールドのデータを、算出したハッシュ値に対応する符号に置換する(ステップS2003)。そして、末端処理装置201は、第1払出処理を終了する。 In step S2003, the end processing apparatus 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 end processing device 201 ends the first payout process.

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

次に、末端処理装置201は、メタデータに含まれる固定値フィールドのデータを0に置換し、メタデータに含まれる固定値フィールドのデータを、メタデータに含まれる文字列フィールドに移動する(ステップS2005)。そして、末端処理装置201は、第1払出処理を終了する。 Next, the end 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 end 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 the second payout processing procedure executed by the terminal processing apparatus 201 will be described with reference to FIG. 21. The second payout process is realized, for example, by the CPU 301 shown in FIG. 3, a storage area such as a memory 302 or a recording medium 305, and a network I / F 303.

図21は、第2払出処理手順の一例を示すフローチャートである。図21において、末端処理装置201は、メタデータに含まれる変動値フィールドのデータ全体のハッシュ値を算出する(ステップS2101)。 FIG. 21 is a flowchart showing an example of the second payout processing procedure. In FIG. 21, the end processing apparatus 201 calculates the 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 apparatus 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 apparatus 201 shifts to the processing of step S2109. On the other hand, when the code corresponding to the hash value exists (step S2102: Yes), the terminal processing apparatus 201 shifts to the processing of step S2103.

ステップS2103では、末端処理装置201は、変動値符号表800を参照し、算出したハッシュ値に対応する符号の数が、算出したハッシュ値に対応する割り当て可能な符号の数未満であるか否かを判定する(ステップS2103)。ここで、割り当て可能な符号の数未満である場合(ステップS2103:Yes)、末端処理装置201は、ステップS2106の処理に移行する。一方で、割り当て可能な符号の数以上である場合(ステップS2103:No)、末端処理装置201は、ステップS2104の処理に移行する。 In step S2103, the terminal processing apparatus 201 refers to the variable value code table 800, and whether or not 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 assignable codes (step S2103: Yes), the terminal processing apparatus 201 shifts to the processing of step S2106. On the other hand, when the number is equal to or greater than the number of assignable codes (step S2103: No), the terminal processing apparatus 201 shifts to the processing of step S2104.

ステップS2104では、末端処理装置201は、変動値符号表800を参照し、メタデータに含まれる変動値フィールドのデータを、算出したハッシュ値に対応する符号に置換する(ステップS2104)。次に、末端処理装置201は、変動値フィールドにある符号と、固定値フィールドにある符号との差分を算出し、累積差分リスト1200のうち、算出したハッシュ値に対応する累積差分を更新する(ステップS2105)。そして、末端処理装置201は、ステップS2112の処理に移行する。 In step S2104, the end processing apparatus 201 refers to the variation value code table 800 and replaces the data of the variation value field included in the metadata with the code corresponding to the calculated hash value (step S2104). Next, the end 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 apparatus 201 shifts to the processing of step S2112.

ステップS2106では、末端処理装置201は、固定値フィールドにある符号に対応する余分範囲に、変動値フィールドのデータに割り当て可能な符号が存在するか否かを判定する(ステップS2106)。ここで、割り当て可能な符号が存在しない場合(ステップS2106:No)、末端処理装置201は、ステップS2108の処理に移行する。一方で、割り当て可能な符号が存在する場合(ステップS2106:Yes)、末端処理装置201は、ステップS2107の処理に移行する。 In step S2106, the end processing apparatus 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, if there is no assignable code (step S2106: No), the terminal processing apparatus 201 shifts to the processing of step S2108. On the other hand, when the assignable code exists (step S2106: Yes), the terminal processing apparatus 201 shifts to the processing of step S2107.

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

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

ステップS2109では、末端処理装置201は、固定値フィールドにある符号に対応する余分範囲に、変動値フィールドのデータに割り当て可能な符号が存在するか否かを判定する(ステップS2109)。ここで、割り当て可能な符号が存在しない場合(ステップS2109:No)、末端処理装置201は、ステップS2111の処理に移行する。一方で、割り当て可能な符号が存在する場合(ステップS2109:Yes)、末端処理装置201は、ステップS2110の処理に移行する。 In step S2109, the end processing apparatus 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 S2109). Here, if there is no assignable code (step S2109: No), the terminal processing apparatus 201 shifts to the processing of step S2111. On the other hand, when the assignable code exists (step S2109: Yes), the terminal processing apparatus 201 shifts to the processing of step S2110.

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

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

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

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

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

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

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

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

図23は、圧縮処理手順の一例を示すフローチャートである。図23において、末端処理装置201は、共起確率リスト1100のうち、送信待ちバッファに蓄積されたメタデータに含まれる固定値フィールドにある符号のペアに対応するハッシュ値のペアごとの共起確率を更新する(ステップS2301)。 FIG. 23 is a flowchart showing an example of the compression processing procedure. In FIG. 23, the end processing device 201 indicates the co-occurrence probability for each pair of hash values corresponding to the pair of codes 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 apparatus 201 sorts the metadata stored in the transmission waiting buffer with reference to the code in the fixed value field (step S2302). Then, the end processing device 201 performs integer sequence 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 apparatus 201 calculates n of the metadata stored in the transmission waiting buffer so that the number of metadata including n or more variable value fields exceeds th_v (step S2304). .. Then, the end processing apparatus 201 performs integer sequence compression on the code string in which the codes in each of the variable value fields up to the nth variable value field included in the sorted metadata are arranged (step S2305).

次に、末端処理装置201は、ソートしたメタデータに含まれる文字列フィールドにあるデータに対して順序を維持したまま文字列圧縮を実施する(ステップS2306)。そして、末端処理装置201は、圧縮したメタデータを、中央処理装置203に送信する(ステップS2307)。そして、末端処理装置201は、圧縮処理を終了する。 Next, the end 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 unit 203 (step S2307). Then, the end processing device 201 ends the compression processing.

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

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

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

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

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

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

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

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

図26は、更新処理手順の一例を示すフローチャートである。図26において、中央処理装置203は、バージョン番号と対応付けた同期待ち符号リスト1000を受信する(ステップS2601)。 FIG. 26 is a flowchart showing 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 the update completion response to the end processing device 201 of the transmission source (step S2603). Then, the central processing unit 203 ends the update process.

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

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

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

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

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

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

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

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

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

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

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

次に、末端処理装置201は、分布に基づいて、変動値符号表800において累積差分が一定以下であるハッシュ値に割り当てられた符号を削除する(ステップS3002)。そして、末端処理装置201は、累積差分が一定以下であるハッシュ値と、削除した符号と、処理種別として削除とを対応付けて、同期待ち符号リスト1000に追加する(ステップS3003)。 Next, the terminal processing apparatus 201 deletes the code assigned to the hash value in which the cumulative difference is equal to or less than a certain value in the variable value code table 800 based on the distribution (step S3002). Then, the terminal processing apparatus 201 associates the hash value whose cumulative difference 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 apparatus 201 reduces the number of codes that can be assigned to the hash values whose cumulative difference is equal to or less than a certain number (step S3004). Then, the terminal processing apparatus 201 increases the number of codes that can be assigned to the hash values whose cumulative difference is equal to or greater than a certain value in the variable value code table 800 based on the distribution (step S3005).

次に、末端処理装置201は、累積差分リスト1200を初期化する(ステップS3006)。そして、末端処理装置201は、第2符号調整処理を終了する。 Next, the terminal processing apparatus 201 initializes the cumulative difference list 1200 (step S3006). Then, the end 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 processing of some steps may be changed. Further, 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 the data having the first item common to all the coded data. According to the information processing apparatus 100, 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 by referring to the first dictionary. A code can be assigned to the first item data so that the difference between the two is small. According to the information processing apparatus 100, with reference to the second dictionary, 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 becomes smaller. As described above, 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 decompresses the acquired data based on the allocation result.

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

情報処理装置100によれば、第1項目を有するデータを取得する都度、第1装置110との間で同期した第1辞書および第2辞書に基づいて、取得したデータに含まれる第1項目の項目データおよび第2項目の項目データを符号に置き換えることができる。情報処理装置100によれば、置換後のデータを蓄積し、蓄積した複数の置換後のデータを纏めて圧縮して第1装置110に送信することができる。これにより、情報処理装置100は、データを効率よく圧縮することができる。 According to the information processing apparatus 100, each time the data having the first item is acquired, the first item included in the acquired data is 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 a code. According to the information processing apparatus 100, the replaced data can be accumulated, and the accumulated plurality of replaced data can be collectively compressed and transmitted to the first apparatus 110. As a result, 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, 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. The item data of the first item included in the above can be replaced with the reference numeral. According to the information processing apparatus 100, 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 can be replaced with a predetermined code. .. As a result, the information processing apparatus 100 encodes a plurality of item data for the first item even if there is no code assigned to the item data for the first item, and is an integer string for the code string for the first item. 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, 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. The item data of the second item included in the above can be replaced with the reference numeral. According to the information processing apparatus 100, if there is no code assigned to the item data of the second item included in the acquired data, the item data of the second item included in the acquired data can be replaced with a predetermined code. .. As a result, the information processing apparatus 100 encodes a plurality of item data for the second item even if there is no code assigned to the item data for the second item, and is an integer string for the code string for the second item. 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 item data of the first item and the replaced code included in the replaced data of the plurality of stored data after replacement are arranged. According to the information processing apparatus 100, it is possible to compress a code string in which the replacement code and the item data of the second item included in the respective replacement data of the accumulated plurality of replacement data are arranged. As a result, 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, of the two different item data for the first item, the probability that both the data including one item data and the data including the other item data are acquired per unit time. Can be calculated. According to the information processing apparatus 100, a code can be assigned to each item data so that the higher the calculated probability, the smaller the difference between the codes assigned to the respective item data of the two item data. According to the information processing apparatus 100, the contents of the first dictionary can be synchronized with the first apparatus 110 based on the result of assigning a code to each item data. As a result, the information processing apparatus 100 can reassign the code to the item data for the first item so that the efficiency of integer sequence compression can be further improved.

情報処理装置100によれば、第1辞書を参照して、取得したデータに含まれる第1項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第1項目の項目データに符号を割り当てることができる。情報処理装置100によれば、第2辞書を参照して、取得したデータに含まれる第2項目の項目データに割り当てられた符号の数が、取得したデータに含まれる第2項目の項目データに割り当て可能な符号の数未満か否かを判定することができる。情報処理装置100によれば、割り当て可能な符号の数未満であれば、取得したデータに含まれる第2項目の項目データに符号を割り当てることができる。これにより、情報処理装置100は、同じ項目データに割り当てられる符号の数を抑制することができる。 According to the information processing apparatus 100, if there is no code assigned to the item data of the first item included in the acquired data by referring to the first dictionary, the item data of the first item included in the acquired data A code can be assigned. According to the information processing apparatus 100, referring to the second dictionary, the number of codes assigned to the item data of the second item included in the acquired data is the item data of the second item included in the acquired data. It can be determined whether or not the number of codes can be assigned. According to the information processing apparatus 100, if the number is less than the number of assignable codes, the codes can be assigned to the item data of the second item included in the acquired data. As a result, the information processing apparatus 100 can suppress 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 the 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. The difference between the code and the replaced code can be calculated. According to the information processing apparatus 100, if the magnitude of the total value of the differences calculated for any of the item data of the second item is equal to or more than a certain value, the number of codes that can be assigned to any of the item data is increased. Can be done. As a result, the information processing apparatus 100 can newly assign a code to the item data for the second item so that the efficiency of integer sequence compression can be further improved.

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

情報処理装置100によれば、第1項目の項目データに符号を割り当てたこと、または、第2項目の項目データに符号を割り当てたことに応じて、割り当て結果を蓄積することができる。情報処理装置100によれば、蓄積した割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期することができる。これにより、情報処理装置100は、同期にかかる通信量の低減化を図ることができる。 According to the information processing apparatus 100, the allocation 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 allocation result. As a result, the information processing apparatus 100 can reduce the amount of communication required 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 result accumulated until a certain number or more of data are acquired. .. As a result, the information processing apparatus 100 can reduce the amount of communication required 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 result accumulated within a certain period of time. As a result, the information processing apparatus 100 can reduce the amount of communication required for synchronization.

情報処理装置100によれば、第1項目が、複数の項目を含むようにすることができる。これにより、情報処理装置100は、複数の項目の項目データを纏めて符号化することができる。 According to the information processing apparatus 100, the first item can include a plurality of items. As a result, 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 the data to be acquired. Thereby, the information processing apparatus 100 can be applied to the communication of metadata.

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

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

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

(付記1)全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、
制御部を有することを特徴とする情報処理装置。
(Appendix 1) Acquire the data having the first item common to all the coded data, and obtain the data.
It is assigned to the first item data of the first item included in the acquired data by referring to the first dictionary representing the item data of the first item and the code assigned to the item data in association with each other. 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 becomes small. Assign a sign,
The second item of the second item included in the acquired data with reference to the second dictionary representing the item data of the second item different from the first item and the code assigned to the item data in association with each other. The code assigned to the other item data of the second item 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. Assign a code that does not
Synchronize the contents of the first dictionary and the second dictionary with the first device that compresses or decompresses the acquired data based on the allocation result.
An information processing device characterized by having a control unit.

(付記2)前記制御部は、前記第1項目を有するデータを取得する都度、前記第1装置との間で同期した前記第1辞書および前記第2辞書に基づいて、取得した前記データに含まれる前記第1項目の項目データおよび前記第2項目の項目データを符号に置き換えて、置換後のデータを蓄積し、
蓄積した複数の前記置換後のデータを纏めて圧縮して前記第1装置に送信する、ことを特徴とする付記1に記載の情報処理装置。
(Appendix 2) Each time the control unit acquires the data having the first item, the control unit includes the acquired data based on the first dictionary and the second dictionary synchronized with the first apparatus. The item data of the first item and the item data of the second item are replaced with codes, and the data after the replacement is accumulated.
The information processing apparatus according to Appendix 1, wherein a 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に記載の情報処理装置。 (Appendix 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 apparatus and includes the first data 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 acquired data is replaced with the code and assigned to the item data of the first item included in the acquired data. The information processing apparatus according to Appendix 2, wherein if there is no designated 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に記載の情報処理装置。 (Appendix 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 apparatus and includes the second data 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 acquired data is replaced with the code and assigned to the item data of the second item included in the acquired data. The information processing apparatus according to Appendix 2 or 3, wherein if there is no designated code, the item data of the second item included in the acquired data is replaced with a predetermined code.

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

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

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

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

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

(付記10)前記制御部は、前記第1項目の項目データに符号を割り当てたこと、または、前記第2項目の項目データに符号を割り当てたことに応じて、割り当て結果を蓄積し、
蓄積した割り当て結果に基づいて、前記第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、ことを特徴とする付記7~9のいずれか一つに記載の情報処理装置。
(Appendix 10) The control unit accumulates the allocation result 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.
The information according to any one of Supplementary note 7 to 9, wherein the contents of the first dictionary and the second dictionary are synchronized with the first apparatus based on the accumulated allocation result. Processing equipment.

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

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

(付記13)前記第1項目は、複数の項目を含む、ことを特徴とする付記1~12のいずれか一つに記載の情報処理装置。 (Supplementary Note 13) The information processing apparatus according to any one of Supplementary note 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 note 1 to 13, wherein the data is metadata.

(付記15)前記符号は、整数である、ことを特徴とする付記1~14のいずれか一つに記載の情報処理装置。 (Supplementary Note 15) The information processing apparatus according to any one of Supplementary note 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辞書の内容を記憶する、
ことを特徴とする分散処理システム。
(Appendix 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 is
Acquire the data having the first item that all the coded data have in common,
It is assigned to the first item data of the first item included in the acquired data by referring to the first dictionary representing the item data of the first item and the code assigned to the item data in association with each other. 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 becomes small. Assign a sign,
The second item of the second item included in the acquired data with reference to the second dictionary representing the item data of the second item different from the first item and the code assigned to the item data in association with each other. The code assigned to the other item data of the second item 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. Assign a code that does not
Based on the allocation result, the contents of the first dictionary and the second dictionary are synchronized with the first device.
The first device is
Stores the contents of the first dictionary and the second dictionary synchronized with the information processing device.
A distributed processing system characterized by that.

(付記17)コンピュータに、
全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、
処理を実行させることを特徴とする分散処理プログラム。
(Appendix 17) To the computer
Acquire the data having the first item that all the coded data have in common,
It is assigned to the first item data of the first item included in the acquired data by referring to the first dictionary representing the item data of the first item and the code assigned to the item data in association with each other. 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 becomes small. Assign a sign,
The second item of the second item included in the acquired data with reference to the second dictionary representing the item data of the second item different from the first item and the code assigned to the item data in association with each other. The code assigned to the other item data of the second item 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. Assign a code that does not
Synchronize the contents of the first dictionary and the second dictionary with the first device that compresses or decompresses the acquired data based on the allocation result.
A distributed processing program characterized by executing processing.

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 閾値
100 Information processing unit 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 medium 400,500,1501,1502 Metadata 600 Version information 700 Fixed value code table 800 Variable value code table 900 Correspondence relationship table 1000 Synchronized waiting code list 1100 Co-occurrence probability list 1200 Cumulative difference list 1401 Acquisition unit 1402 Allocation Part 1403 Synchronization part 1404 Compression part 1405 Output part 1411 Update part 1412 Extension part 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辞書の内容について同期する、
制御部を有することを特徴とする情報処理装置。
Acquire the data having the first item that all the coded data have in common,
It is assigned to the first item data of the first item included in the acquired data by referring to the first dictionary representing the item data of the first item and the code assigned to the item data in association with each other. 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 becomes small. Assign a sign,
The second item of the second item included in the acquired data with reference to the second dictionary representing the item data of the second item different from the first item and the code assigned to the item data in association with each other. The code assigned to the other item data of the second item 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. Assign a code that does not
Synchronize the contents of the first dictionary and the second dictionary with the first device that compresses or decompresses the acquired data based on the allocation result.
An information processing device characterized by having a control unit.
前記制御部は、前記第1項目を有するデータを取得する都度、前記第1装置との間で同期した前記第1辞書および前記第2辞書に基づいて、取得した前記データに含まれる前記第1項目の項目データおよび前記第2項目の項目データを符号に置き換えて、置換後のデータを蓄積し、
蓄積した複数の前記置換後のデータを纏めて圧縮して前記第1装置に送信する、ことを特徴とする請求項1に記載の情報処理装置。
The control unit includes the first data included in the acquired data based on the first dictionary and the second dictionary synchronized with the first apparatus each time the data having the first item is acquired. The item data of the item and the item data of the second item are replaced with a code, and the data after the replacement is accumulated.
The information processing apparatus according to claim 1, wherein a plurality of accumulated data after the replacement are collectively compressed and transmitted to the first apparatus.
前記制御部は、前記第1項目についての互いに異なる2つの項目データのうち、一方の項目データを含むデータと、他方の項目データを含むデータとが共に、単位時間あたりに取得される確率が高いほど、前記2つの項目データのそれぞれの項目データに割り当てられる符号の差分が小さくなるように、前記それぞれの項目データに符号を割り当て、
前記それぞれの項目データに符号を割り当てた結果に基づいて、前記第1装置との間で、前記第1辞書の内容について同期する、ことを特徴とする請求項2に記載の情報処理装置。
Of the two different item data for the first item, the control unit has a high probability that both the data including one item data and the data including the other item data are acquired per unit time. The code is assigned to each item data so that the difference between the codes assigned to each item data of the two item data becomes smaller.
The information processing apparatus according to claim 2, wherein the contents of the first dictionary are synchronized with the first apparatus based on the result of assigning a code to each of the item data.
前記制御部は、前記第1項目を有するデータを取得する都度、前記第1辞書を参照して、取得した前記データに含まれる前記第1項目の項目データに割り当てられた符号がなければ、取得した前記データに含まれる前記第1項目の項目データに符号を割り当て、
前記第1項目を有するデータを取得する都度、前記第2辞書を参照して、取得した前記データに含まれる前記第2項目の項目データに割り当てられた符号の数が、取得した前記データに含まれる前記第2項目の項目データに割り当て可能な符号の数未満であれば、取得した前記データに含まれる前記第2項目の項目データに符号を割り当てる、ことを特徴とする請求項2または3に記載の情報処理装置。
Each time the control unit acquires the data having the first item, the control unit refers to the first dictionary and acquires the data if there is no code assigned to the item data of the first item included in the acquired data. A code is assigned to the item data of the first item included in the data.
Each time the data having the first item is acquired, the number of codes assigned to the item data of the second item included in the acquired data is included in the acquired data by referring to the second dictionary. 2. The information processing device described.
前記制御部は、前記第1項目を有するデータを取得する都度、取得した前記データに含まれる第1項目の項目データと置き換えられた符号と、取得した前記データに含まれる前記第2項目の項目データと置き換えられた符号との差分を算出し、
前記第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定以上であれば、前記いずれかの項目データに割り当て可能な符号の数を増加させる、ことを特徴とする請求項4に記載の情報処理装置。
Each time the control unit acquires the data having the first item, the code replaced with the item data of the first item included in the acquired data and the item of the second item included in the acquired data. Calculate the difference between the data and the replaced code,
A claim characterized in that the number of codes that can be assigned to any of the item data is increased if the magnitude of the total value of the differences calculated for the item data of any of the second items is a certain value or more. Item 4. The information processing apparatus according to item 4.
前記制御部は、前記第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定未満であれば、前記第2辞書から、前記いずれかの項目データに割り当てられた符号を削除する、ことを特徴とする請求項5に記載の情報処理装置。 If the magnitude of the total value of the differences calculated for the item data of any of the second items is less than a certain value, the control unit uses the code assigned to the item data of any of the items from the second dictionary. The information processing apparatus according to claim 5, wherein the information processing device is deleted. 情報処理装置と、前記情報処理装置と通信可能な第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 is
Acquire the data having the first item that all the coded data have in common,
It is assigned to the first item data of the first item included in the acquired data by referring to the first dictionary representing the item data of the first item and the code assigned to the item data in association with each other. 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 becomes small. Assign a sign,
The second item of the second item included in the acquired data with reference to the second dictionary representing the item data of the second item different from the first item and the code assigned to the item data in association with each other. The code assigned to the other item data of the second item 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. Assign a code that does not
Based on the allocation result, the contents of the first dictionary and the second dictionary are synchronized with the first device.
The first device is
Stores the contents of the first dictionary and the second dictionary synchronized with the information processing device.
A distributed processing system characterized by that.
コンピュータに、
全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、
処理を実行させることを特徴とする分散処理プログラム。
On the computer
Acquire the data having the first item that all the coded data have in common,
It is assigned to the first item data of the first item included in the acquired data by referring to the first dictionary representing the item data of the first item and the code assigned to the item data in association with each other. 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 becomes small. Assign a sign,
The second item of the second item included in the acquired data with reference to the second dictionary representing the item data of the second item different from the first item and the code assigned to the item data in association with each other. The code assigned to the other item data of the second item 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. Assign a code that does not
Synchronize the contents of the first dictionary and the second dictionary with the first device that compresses or decompresses the acquired data based on the allocation result.
A distributed processing program characterized by executing processing.
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 JP2020021177A (en) 2020-02-06
JP7047651B2 true 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
JP2020021177A (en) 2020-02-06

Similar Documents

Publication Publication Date Title
Ottaviano et al. Partitioned elias-fano indexes
EP2951703B1 (en) Reduced redundancy in stored data
CN102246137B (en) Delta compression after the deletion of identity copy
US8799291B2 (en) Forensic index method and apparatus by distributed processing
CN102170455A (en) Method and system for updating objects between a local device and a remote device
US20120089579A1 (en) Compression pipeline for storing data in a storage cloud
US20140223118A1 (en) Bit Markers and Frequency Converters
CN104871155A (en) Optimizing data block size for deduplication
KR20130095194A (en) Optimization of storage and transmission of data
EP3376393A1 (en) Data storage method and apparatus
US9509333B2 (en) Compression device, compression method, decompression device, decompression method, information processing system, and recording medium
TWI720086B (en) Reduction of audio data and data stored on a block processing storage system
US9600578B1 (en) Inverted index and inverted list process for storing and retrieving information
US20200228138A1 (en) Memory Compression Method and Apparatus
JP7047651B2 (en) Information processing equipment, distributed processing systems, and distributed processing programs
JP6467937B2 (en) Document processing program, information processing apparatus, and document processing method
US20140214775A1 (en) Scalable data deduplication
JP2020098593A (en) Non-uniform pagination of columnar data
Zhang et al. Leveraging context-free grammar for efficient inverted index compression
KR20180014124A (en) Information processing apparatus, and data management method
CN112559462A (en) Data compression method and device, computer equipment and storage medium
Mallia et al. Fast disjunctive candidate generation using live block filtering
KR20210113297A (en) Systems, methods, and apparatus for eliminating duplication and value redundancy in computer memory
US20170048303A1 (en) On the fly statistical delta differencing engine
KR20150134718A (en) Apparatus and method for managing data-source using method of compression

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