JP6729283B2 - Data generation method, data generation system, and data generation program - Google Patents
Data generation method, data generation system, and data generation program Download PDFInfo
- Publication number
- JP6729283B2 JP6729283B2 JP2016204731A JP2016204731A JP6729283B2 JP 6729283 B2 JP6729283 B2 JP 6729283B2 JP 2016204731 A JP2016204731 A JP 2016204731A JP 2016204731 A JP2016204731 A JP 2016204731A JP 6729283 B2 JP6729283 B2 JP 6729283B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- data
- candidate
- candidate values
- values
- 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
Links
Images
Description
本発明は、データ生成方法、データ生成システム、およびデータ生成プログラムに関する。 The present invention relates to a data generation method, a data generation system, and a data generation program.
従来、共通鍵や公開鍵といった暗号鍵を用いた暗号化方式を用いて、送信元が有する元データを暗号化した暗号化データを、受信先に送信する技術がある。関連する先行技術として、例えば、原稿の読み取りが開始されたことに応答して、リアルタイムクロックから秒数nを読み取り、上記原稿の先頭からnビット目の原画データを白黒反転させ、圧縮符号化および暗号処理を施した暗号化データを送出するものがある。また、デジタルコンテンツを所定の分割方法に基づき分割ファイルに分割し、それぞれ異なる格納場所に格納し、指示された格納場所から各分割ファイルを無認証でダウンロードし、所定の分割方法に基づく復元処理を行い、デジタルコンテンツを得る技術がある。また、通信を行う場合、まず平文のデータに対して自己相関性を低減させる処理を行い、その結果得られたデータである二次データに対して暗号化処理を行い、暗号化によって生成された暗号文を送信する技術がある。 Conventionally, there is a technique of transmitting encrypted data obtained by encrypting original data of a transmission source to a reception destination by using an encryption method using an encryption key such as a common key or a public key. As a related prior art, for example, in response to the start of reading an original, the number of seconds n is read from the real-time clock, the original image data of the n-th bit from the beginning of the original is black-white inverted, and compression encoding and Some send encrypted data that has been encrypted. In addition, the digital content is divided into divided files based on a predetermined dividing method, stored in different storage locations, each divided file is downloaded from the designated storage location without authentication, and restoration processing based on the predetermined dividing method is performed. There is a technology to do and obtain digital contents. When communicating, the plaintext data is first processed to reduce the autocorrelation, the resulting secondary data is encrypted, and the data generated is encrypted. There is a technology to send ciphertext.
しかしながら、従来技術によれば、共通鍵や公開鍵といった暗号鍵を用いた暗号化方式を用いて、送信元が有する元データを暗号化した暗号化データを受信先に送信すると、その元データが漏洩することがある。例えば、復号鍵を知らない第三者であっても、解析に時間をかければ復号鍵を得ることができるため、得られた復号鍵によって暗号化データを復号し、元データを得ることができてしまう。 However, according to the conventional technique, when the encrypted data obtained by encrypting the original data of the transmission source is transmitted to the reception destination by using the encryption method using the encryption key such as the common key or the public key, the original data is May be leaked. For example, even a third party who does not know the decryption key can obtain the decryption key if analysis takes time, so the encrypted data can be decrypted with the obtained decryption key to obtain the original data. Will end up.
1つの側面では、本発明は、送信元が有する元データが漏洩することを抑制することができるデータ生成方法、データ生成システム、およびデータ生成プログラムを提供することを目的とする。 In one aspect, the present invention aims to provide a data generation method, a data generation system, and a data generation program capable of suppressing leakage of original data of a transmission source.
本発明の一側面によれば、元データを有する送信装置と、送信装置と接続する受信装置とを有するデータ生成システムであって、送信装置が、元データが示す値となり得る送信元の候補値の集合を参照して送信元の候補値の集合に含まれるいずれかの値を生成する所定のルールに基づいて、第1の値を生成し、生成した第1の値と元データが示す値との差分の大きさを示す差分情報を生成して、生成した差分情報を受信装置に送信し、第1の値と、生成した差分情報とに基づいて、送信元の候補値の集合を更新し、送信元の候補値の集合に含まれる候補値が1つに特定可能となるまで送信する処理を繰り返す、処理を実行し、受信装置が、差分情報を、送信装置から受信し、受信先の候補値の集合を参照して、所定のルールに基づいて、第1の値を生成し、生成した当該第1の値と、受信した差分情報とに基づいて、受信先の候補値の集合を更新し、受信先の候補値の集合に含まれる候補値が1つに特定可能となるまで受信先の候補値の集合を更新する処理を繰り返し、受信先の候補値の集合に含まれる候補値によって示されるデータを生成するデータ生成方法、データ生成システム、およびデータ生成プログラムが提案される。 According to one aspect of the present invention, there is provided a data generation system having a transmitting device having original data and a receiving device connected to the transmitting device, wherein the transmitting device can be a candidate value of a transmission source that can be a value indicated by the original data. Value is generated based on a predetermined rule for generating any value included in the set of transmission source candidate values with reference to the set of Difference information indicating the magnitude of the difference between the first and second values is transmitted to the reception device, and the set of candidate values of the transmission source is updated based on the first value and the generated difference information. Then, the process of transmitting is repeated until one candidate value included in the set of candidate values of the transmission source can be specified, the process is executed, and the reception device receives the difference information from the transmission device and the reception destination. A set of candidate values of the receiving end based on the generated first value and the received difference information with reference to the set of candidate values of Is repeated, and the process of updating the set of candidate values of the receiver is repeated until one candidate value included in the set of candidate values of the receiver can be specified, and the candidates included in the set of candidate value of the receiver are repeated. A data generation method, a data generation system, and a data generation program for generating data indicated by a value are proposed.
本発明の一態様によれば、送信元が有する元データが漏洩することを抑制することができるという効果を奏する。 According to one aspect of the present invention, it is possible to suppress the leakage of the original data of the transmission source.
以下に図面を参照して、開示のデータ生成方法、データ生成システム、およびデータ生成プログラムの実施の形態を詳細に説明する。 Embodiments of the disclosed data generation method, data generation system, and data generation program will be described in detail below with reference to the drawings.
図1は、本実施の形態にかかるデータ生成システム100の動作例を示す説明図である。データ生成システム100は、送信元が有するデータを、受信先が生成するシステムである。送信元や受信先は、PC(Personal Computer)、サーバ、携帯端末等のコンピュータである。
FIG. 1 is an explanatory diagram showing an operation example of the
ここで、送信元から受信先へデータを送信する機会としては、送信元の物理メモリの内容全てをダンプデータとして出力し、受信先として製品サポートサービスに、ダンプデータを送信することがある。この場合、送信元に重大な障害が発生した場合、障害の原因を解析する目的で、ダンプファイルが送信されている。このダンプファイルには、送信元が物理メモリに保持していた全てのデータを含むため、パスワードや個人情報などの機密情報が含まれる。このため、送信中の情報漏洩を防ぐために、ダンプファイルの暗号化が行われる。暗号化の方法には、例えば、共通鍵や公開鍵等の鍵を用いた暗号化方式が挙げられる。 Here, as an opportunity to transmit data from the transmission source to the reception destination, there is a case where all the contents of the physical memory of the transmission source are output as dump data and the dump data is transmitted to the product support service as the reception destination. In this case, when a serious failure occurs in the transmission source, the dump file is sent for the purpose of analyzing the cause of the failure. Since this dump file includes all the data held in the physical memory by the sender, it contains confidential information such as passwords and personal information. Therefore, the dump file is encrypted in order to prevent information leakage during transmission. Examples of the encryption method include an encryption method using a key such as a common key or a public key.
しかしながら、共通鍵や公開鍵といった暗号鍵を用いた暗号化方式を用いて、送信元が有する元データを暗号化した暗号化データを受信先に送信すると、その元データが漏洩することがある。例えば、復号鍵を知らない第三者であっても、解析に時間をかければ復号鍵を得ることができるため、得られた復号鍵によって暗号化データを復号し、元データを得ることができてしまう。また、コンピュータの計算処理能力の向上によって、復号鍵の解析にかかる時間が短縮することにもなる。また、暗号化方法は、日々研究されているため、ある日その暗号化方法に対する解読方法が発見された結果、その暗号化方法の暗号強度が低下する恐れもある。 However, when the encrypted data obtained by encrypting the original data of the transmission source is transmitted to the reception destination by using the encryption method using the encryption key such as the common key or the public key, the original data may be leaked. For example, even a third party who does not know the decryption key can obtain the decryption key if analysis takes time, so the encrypted data can be decrypted with the obtained decryption key to obtain the original data. Will end up. In addition, the improvement of the calculation processing capability of the computer also shortens the time taken to analyze the decryption key. Further, since the encryption method is being researched every day, there is a possibility that the encryption strength of the encryption method will decrease as a result of the discovery of a decryption method for the encryption method one day.
また、過去データの特性に基づいて、受信先でデータを予測する方法も考えられるが、受信先で、送信元の現在のダンプデータを100%の精度で予測することは前述の方法ではできないことである。従って、障害の原因を解析する目的に対しては、前述の方法を採用することは不適当である。 A method of predicting the data at the receiver based on the characteristics of the past data is also conceivable, but it is not possible for the receiver to predict the current dump data of the sender with 100% accuracy. Is. Therefore, it is inappropriate to adopt the above method for the purpose of analyzing the cause of the failure.
そこで、本実施の形態では、受信先が、元データを持つ送信元と共通のルールから同一の推測値を生成し、送信元から得た推測値の正誤情報から元データを推測することを繰り返して元データを生成することについて説明する。 Therefore, in the present embodiment, the receiving destination repeatedly generates the same estimated value from the same rule as the transmission source having the original data and estimates the original data from the correctness information of the estimated value obtained from the transmission source. Generation of original data will be described.
図1を用いて、データ生成システム100の動作例について説明する。データ生成システム100は、送信元となる送信装置101と、受信先となる受信装置102とを有する。図1の例では、ダンプファイルの一部となる元データとして、1バイトのデータが示す値:36を送信することとする。ここで、元データが示す値は、元データを形成するビット列によって表現できる数値である。
An operation example of the
一連の処理を説明すると、送信装置101は、受信装置102と共通のルールとなる所定のルールに基づいて生成された第1の値と元データが示す値との差分の大きさを示す差分情報を、受信装置102に送信する。ここで、所定のルールは、元データが示す値となり得る候補値の集合を参照して候補値の集合に含まれるいずれかの値を生成するルールである。一方、受信装置102は、差分情報を受信し、候補値の集合を参照して、所定のルールに基づいて、第1の値を生成する。次に、受信装置102は、生成した第1の値と、受信した差分情報とに基づいて、候補値の集合を更新する。そして、受信装置102は、候補値の集合に含まれる値が1つに特定可能となるまで候補値の集合を更新する処理を繰り返し、候補値の集合に含まれる第2の値によって示されるデータを生成する。
A series of processes will be described. The transmitting
ここで、候補値の集合の初期状態は、元データが示す値が取り得る値の集合である。また、候補値の集合は、送信装置101と受信装置102とがそれぞれで管理するものであり、送信装置101と受信装置102とは、同一内容の更新を、自身が管理する候補値の集合に対して行う。
Here, the initial state of the set of candidate values is a set of possible values for the values indicated by the original data. Further, the set of candidate values is managed by the transmitting
例えば、元データが1バイトのデータであれば、候補値の集合の初期状態は、0から255までの値の集合となる。この候補値の集合の初期状態は、送信装置101と受信装置102とで同一になる。また、元データが2バイトのデータであれば、候補値の集合の初期状態は、0から65535までの値の集合となる。また、元データが2バイト以上のデータについて、送信装置101と受信装置102とは、2バイト以上のデータの各バイトに対して、図1で示す処理を行ってもよい。
For example, if the original data is 1-byte data, the initial state of the set of candidate values is a set of values from 0 to 255. The initial state of the set of candidate values is the same in the transmitting
また、候補値の集合の管理方法としては、例えば、元データが示す値が取り得る値ごとに、その値が正解候補となるのか、または、誤りであると確定したかを管理してもよい。以下の例では、元データが示す値が取り得る値ごとの管理情報を、候補リストkouhoと称する。候補リストkouhoは、送信装置101と受信装置102とがそれぞれ有するが、図1では、受信装置102が有する候補リストkouhoを示す。
Further, as a method of managing the set of candidate values, for example, for each value that can be taken by the value represented by the original data, it may be managed whether the value becomes a correct answer candidate or is determined to be an error. .. In the following example, the management information for each value that the value represented by the original data can take is referred to as a candidate list kouho. Although the candidate list kouho is included in each of the
所定のルールは、送信装置101と受信装置102とで共有する、候補値の集合に含まれる第1の値を生成するルールである。送信装置101と受信装置102とは、候補値の集合が同一であれば、所定のルールに基づいて、同一の値となる第1の値を生成することになる。そして、所定のルールは、元の値を推測するために用いるルールであり、生成される第1の値は、推測結果となる値である。以下、第1の値を「推測値」と呼称する。
The predetermined rule is a rule that is shared by the
また、所定のルールは、1つでもよいし、複数あってもよいし、その複数の所定のルールのうち使用するルールを動的に変更してもよい。例えば、送信装置101は、複数の所定のルールのうちのいずれかの所定のルールを選択して推測値を生成し、生成した推測値から差分情報を生成し、差分情報と選択したいずれかの所定のルールを示す識別情報とを、受信装置102に送信してもよい。この場合、受信装置102は、受信した識別情報が示すいずれかの所定のルールに基づいて、推測値を生成する。また、送信装置101と受信装置102とは、推測値を生成する処理を何度か繰り返すことがあるが、繰り返しのたびに異なる所定のルールを選択してもよい。
Further, the predetermined rule may be one or plural, and the rule to be used among the plural predetermined rules may be dynamically changed. For example, the
また、所定のルールは、元データの特性によるものでもよい。例えば、送信装置101と受信装置102とが、送信装置101の過去のダンプデータを記憶するとする。この場合、所定のルールは、過去のダンプデータに基づく値が候補値の集合に含まれる場合、ダンプデータの特性として、その過去のダンプデータに基づく値を推測値として出力してもよい。過去のダンプデータに基づく値は、過去のダンプデータの値そのものでもよいし、過去のダンプデータの値が複数あるならば、過去のダンプデータの値の平均値、最小値、最大値等でもよい。また、過去のダンプデータの値が候補値の集合に含まれない場合、所定のルールは、候補値の集合に含まれるいずれかの値を推測値として出力する。
Further, the predetermined rule may be based on the characteristics of the original data. For example, it is assumed that the
差分情報は、推測値と元データが示す値との差分の大きさを示す。例えば、差分情報は、差分がないことを示す第1の識別情報、または、差分があることを示す第2の識別情報でもよい。または、差分情報は、第1の識別情報、または、推測値を基準として候補値の集合を複数の部分に分割した複数の部分集合のうちの元データが示す値が含まれる部分集合を示す識別情報でもよい。ここで、差分がないということは、推測値が正解だったことを意味し、差分があるということは、推測値が誤りだったことを意味する。従って、以降の説明では、差分情報を、「正誤情報」と称する。また、候補値の集合は、正解候補となる値の集合となる。図1の説明では、正誤情報は、正解を示す第1の識別情報として「0」、または、誤りを示す第2の識別情報として「1」の1ビットの情報であるとする。 The difference information indicates the magnitude of the difference between the estimated value and the value indicated by the original data. For example, the difference information may be the first identification information indicating that there is no difference or the second identification information indicating that there is a difference. Alternatively, the difference information is the identification information indicating the first identification information or the subset including the value indicated by the original data in the plurality of subsets obtained by dividing the set of candidate values into a plurality of portions based on the estimated value. It may be information. Here, the fact that there is no difference means that the guess value was correct, and the fact that there is a difference means that the guess value was incorrect. Therefore, in the following description, the difference information will be referred to as “correctness information”. The set of candidate values is a set of values that are correct candidates. In the description of FIG. 1, it is assumed that the correctness information is 1-bit information of “0” as the first identification information indicating the correct answer or “1” as the second identification information indicating the error.
図1の上部に示したデータ生成システム100では、送信装置101は、候補値の集合を参照して、所定のルールに基づいて推測値:10を生成する。図1の上部の状態では、候補値の集合は、初期状態であり、0〜255である。この推測値:10は誤りであるため、送信装置101は、「1」を有する正誤情報111を受信装置102に送信する。
In the
そして、受信装置102は、図1の(1−1)で示すように、正誤情報111を送信装置101から受信する。また、受信装置102は、図1の(1−2)で示すように、候補値の集合を参照して、所定のルールに基づいて推測値:10を生成する。このように、本実施の形態では、1回以上推測値を生成し、元データが示す値を予測する。以下の記載では、推測値を生成した回数を用いて説明することがある。図1の上部に示したデータ生成システム100は、1回目の推測の状態を示す。
Then, the receiving
そして、受信装置102は、図1の(1−3)で示すように、生成した推測値:10と、受信した正誤情報111とに基づいて、候補値の集合を更新する。図1の上段の例では、正誤情報111は、誤りを示す情報であるため、推測値:10が誤りであることを示す。従って、受信装置102は、図1の上段で示すように、候補値の集合を、推測値:10が含まれないように更新する。具体的には、受信装置102は、値:10を正解候補から除外するため、候補リストkouhoの値:10を、誤りであることを示す値に更新する。図1では、墨塗りにより正解候補から落としたことを模式的に表現する。なお、図1では図示していないが、送信装置101も、自身の候補リストkouhoの値:10を、誤りであることを示す値に更新する。
Then, as illustrated in (1-3) of FIG. 1, the receiving
図1の(1−3)の状態では、候補値の集合に含まれる値が1つに特定可能となっていないため、送信装置101と、受信装置102とは、再び推測値を生成し、候補値の集合を更新することになる。具体的には、図1の中段において、送信装置101は、更新された候補値の集合を参照して、所定のルールに基づいて、推測値:38を生成し、誤りを示す「1」を正誤情報112として受信装置102に送信する。
In the state (1-3) of FIG. 1, since the value included in the set of candidate values cannot be specified as one, the transmitting
一方、受信装置102は、図1の(2−1)で示すように、正誤情報112を受信する。また、受信装置102は、図1の(2−2)で示すように、更新された候補値の集合を参照して、所定のルールに基づいて、推測値:38を生成する。そして、受信装置102は、図1の(2−3)で示すように、生成した推測値:38と、受信した正誤情報112とに基づいて、候補値の集合を更新する。図1の中段の例では、正誤情報112は、誤りを示す情報であるため、推測値:38が誤りであることを示す。従って、受信装置102は、図1の中段で示すように、候補値の集合を、推測値:38が含まれないように更新する。
On the other hand, the receiving
図1の(1−3)の状態では、候補値の集合に含まれる値が1つに特定可能となっていないため、送信装置101と、受信装置102とは、再び推測値を生成し、候補値の集合を更新することになる。具体的には、図1の下段において、送信装置101は、更新された候補値の集合を参照して、所定のルールに基づいて、推測値:36を生成し、正解を示す「0」を正誤情報113として受信装置102に送信する。
In the state (1-3) of FIG. 1, since the value included in the set of candidate values cannot be specified as one, the transmitting
一方、受信装置102は、図1の(3−1)で示すように、正誤情報113を受信する。また、受信装置102は、図1の(3−2)で示すように、更新された候補値の集合を参照して、所定のルールに基づいて、推測値:36を生成する。そして、受信装置102は、生成した推測値:36と、受信した正誤情報113とに基づいて、候補値の集合を更新する。図1の下段の例では、正誤情報112は、正解を示す情報であるため、推測値:36が正解であることを示す。従って、受信装置102は、図1の(3−3)で示すように、推測値:36が正解であるとして、推測値:36によって示されるデータを、元データと一致するデータとして生成する。また、正誤情報として、正解を示す「0」を受信した場合、受信装置102は、正解となる値が判明するため、候補リストkouhoを更新しなくてもよい。
On the other hand, the receiving
また、図1では示していないが、誤りを示す「1」となる正誤情報を255回受信した場合、候補値の集合に含まれる候補値が1つに特定可能となる。この場合、受信装置102は、候補リストkouhoに含まれるただ1つの候補値によって示されるデータを、元データと一致するデータとして生成する。このように、データ生成システム100は、元データを送信しないため、通信傍受等による元データの漏洩を防ぐことができる。
Further, although not shown in FIG. 1, when correctness information indicating “1” indicating an error is received 255 times, it is possible to specify only one candidate value included in the set of candidate values. In this case, the receiving
また、図1の説明では、本実施の形態は、メモリをダンプしたダンプデータに適用することを説明したが、これに限られない。例えば、本実施の形態は、サーバをバックアップする際のバックアップデータを元データとすることもできるし、仮想マシンのマイグレーションを行う際のマイグレーションデータを元データとすることもできる。 Further, in the description of FIG. 1, the present embodiment has been described as being applied to the dump data obtained by dumping the memory, but the present invention is not limited to this. For example, in this embodiment, the backup data used when backing up the server can be used as the original data, and the migration data used when migrating the virtual machine can also be used as the original data.
次に、送信装置101と、受信装置102とのハードウェアについて、図2で説明する。
Next, the hardware of the
図2は、送信装置101と受信装置102とのハードウェア構成例を示す説明図である。また、図2で示すように、送信装置101と受信装置102とは、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等のネットワーク200で接続される。
FIG. 2 is an explanatory diagram showing a hardware configuration example of the
送信装置101は、CPU(Central Processing Unit)201と、メモリ202と、ディスクドライブ203と、ディスク204と、通信装置205と、入力装置206と、出力装置207とを有する。また、CPU201〜ディスクドライブ203、通信装置205〜出力装置207は、バス210によってそれぞれ接続される。
The
CPU201は、送信装置101の全体の制御を司る演算処理装置である。CPU201は、複数のコアを有するマルチコアプロセッサでもよい。メモリ202は、CPU201のワークエリアとして使用される揮発性メモリや、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。揮発性メモリは、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等がある。不揮発メモリには、例えば、NOR型のフラッシュメモリ等がある。
The
ディスクドライブ203は、CPU201の制御に従って、ディスク204に対するデータのリード/ライトを制御する制御装置である。例えば、ディスク204が、磁気ディスクであれば、磁気ディスクドライブである。また、ディスクドライブ203がソリッドステートドライブである場合、ディスク204には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
The
通信装置205は、ネットワーク200を介して受信装置102等の他の装置に接続される。そして、通信装置205は、ネットワーク200と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。通信装置205には、例えばモデムやLANアダプタなどを採用することができる。
The
入力装置206は、送信装置101に情報を入力する入力装置である。例えば、入力装置206は、マウスやキーボード等である。マウスは、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う装置である。キーボードは、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う装置である。
The
出力装置207は、送信装置101から情報を出力する入力装置である。例えば、出力装置207は、ディスプレイ等である。ディスプレイは、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する装置である。ディスプレイには、例えば、CRT(Cathode Ray Tube)、TFT(Thin Film Transistor)液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
The
受信装置102は、CPU251と、メモリ252と、ディスクドライブ253と、ディスク254と、通信装置255と、入力装置256と、出力装置257とを有する。また、CPU251〜ディスクドライブ253、通信装置255〜出力装置257は、バス260によってそれぞれ接続される。CPU251〜出力装置257については、CPU201〜出力装置207の説明において、送信装置101から受信装置102に置き換えるだけであるため、説明を省略する。
The receiving
(送信装置101の機能構成例)
図3は、送信装置101の機能構成例を示す説明図である。送信装置101の機能構成例を示すブロック図である。送信装置101は、制御部300を有する。制御部300は、推測値生成部301と、正誤情報生成部302と、送信部303と、更新部304と、を含む。制御部300は、記憶装置に記憶されたプログラムをCPU201が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図2に示したメモリ202、ディスク204などである。また、各部の処理結果は、メモリ202や、CPU201のレジスタ、CPU201のキャッシュメモリ等に格納される。
(Example of functional configuration of transmitting device 101)
FIG. 3 is an explanatory diagram illustrating a functional configuration example of the
また、送信装置101は、対象データsource、候補リストkouhoにアクセス可能である。送信装置101が有する候補リストkouhoは、送信元の候補値の集合を管理する。また、送信装置101は、対象データsource、候補リストkouho以外のデータも記憶する。送信装置101のより具体的な記憶内容の一例については、図10で説明する。
Further, the
推測値生成部301は、送信装置101が有する候補リストkouhoを参照して送信元の候補値の集合に含まれるいずれかの値を生成する所定のルールに基づいて、推測値を生成する。
The estimated
正誤情報生成部302は、推測値生成部301が生成した推測値と元データが示す値とに基づいて、正誤情報を生成する。正誤情報は、図1で示したように、正解を示す第1の識別情報、または、誤りを示す第2の識別情報であってもよい。または、正誤情報は、第1の識別情報、または、推測値を基準として候補値の集合を複数の部分に分割した複数の部分集合のうちの元データが示す値が含まれる部分集合を示す識別情報でもよい。候補値の集合の分割の仕方については、均等に分割してもよいし、不均等に分割してもよいが、均等に分割することが好ましい。また、分割する数は、2以上の整数ならばどのような値でもよい。ただし、正誤情報を表現するビット数を考慮すると、正誤情報を表現するビット数がxであれば、2^x−1分割することが好ましい。例えば、x=2であれば、3分割することが好ましい。また、推測値を基準とするとは、例えば、推測値を基点として候補値の集合を複数の部分集合に分割することである。例えば、1つ目の部分集合の先頭が、推測値+1となるようにしてもよい。
The correct/incorrect
また、正誤情報を表現するビット数は可変でもよい。例えば、1回目の推測では、正誤情報を表現するビット数が3ビットであり、候補値の集合を2^3−1=7分割し、2回目の推測では、正誤情報を表現するビット数が2ビットであり、候補値の集合を3分割するとしてもよい。正誤情報となる識別情報が何を示すか、また、候補値の集合の分割の仕方についても、候補値の集合、および所定のルールと同様に、送信装置101と受信装置102とで同一の方法を用いる。
Further, the number of bits expressing the correctness information may be variable. For example, in the first guess, the number of bits expressing correctness information is 3 bits, the set of candidate values is divided into 2^3-1=7, and in the second guess, the number of bits expressing correctness information is It may be 2 bits and the set of candidate values may be divided into three. As for what the identification information serving as the correctness information indicates and how to divide the set of candidate values, the same method is used for the transmitting
ここで、部分集合を示す識別情報についての具体例について説明する。例えば、候補値の集合が0〜255であり、推測値が10であり、複数の部分集合は、候補値の集合を3つに均等に分割するとする。従って、元データが示す値が10である場合、正誤情報は、第1の識別情報となる。また、元データが示す値が0〜9、11〜255のいずれかである場合、次に示す3つの部分集合のうちのいずれかの部分集合を示す識別情報となる。そして、正誤情報が、1つ目の部分集合を示す識別情報となる場合とは、元データが示す値が、10+1から10+255/3=10+85=95までのいずれかの値となる場合である。また、2つ目の部分集合は、元データが示す値が、10+85+1=96から10+255×2/3=10+170までのいずれかの値となる場合である。また、3つ目の部分集合は、元データが示す値が、10+170+1=181から10+255=265までのいずれかの値となるが、265は候補値の集合の最大値255を超えている。このように、部分集合の最大値が候補値の集合を超えた場合、候補値の集合の最小値から、超えた数分までの数を、その部分集合に含めればよい。従って、3つ目の部分集合は、元データが示す値が、181から255まで、または0から9までのいずれかの値となる場合である。
Here, a specific example of the identification information indicating the subset will be described. For example, it is assumed that the set of candidate values is 0 to 255, the estimated value is 10, and the plurality of subsets equally divides the set of candidate values into three. Therefore, when the value indicated by the original data is 10, the correctness information is the first identification information. When the value indicated by the original data is any of 0 to 9 and 11 to 255, the identification information indicates any one of the following three subsets. The case where the correctness information is the identification information indicating the first subset is the case where the value indicated by the original data is any value from 10+1 to 10+255/3=10+85=95. The second subset is a case where the value indicated by the original data is any value from 10+85+1=96 to 10+255×2/3=10+170. In the third subset, the value indicated by the original data is any value from 10+170+1=181 to 10+255=265, but 265 exceeds the
送信部303は、正誤情報生成部302が生成した正誤情報を受信装置102に送信する。
The transmitting
更新部304は、推測値生成部301が生成した推測値と、正誤情報生成部302が生成した差分情報とに基づいて、送信装置101が有する候補リストkouhoを更新する。候補リストkouhoの更新例については、図4〜図9等で説明する。
The
制御部300は、送信装置101が有する候補リストkouhoに含まれる候補値が1つに特定可能となるまで、送信部303による正誤情報を送信する処理を繰り返す。
The
(受信装置102の機能構成例)
図4は、受信装置102の機能構成例を示す説明図である。受信装置102の機能構成例を示すブロック図である。受信装置102は、制御部400を有する。制御部400は、受信部401と、推測値生成部402と、更新部403と、元データ生成部404と、を含む。制御部400は、記憶装置に記憶されたプログラムをCPU251が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図2に示したメモリ252、ディスク254などである。また、各部の処理結果は、メモリ252や、CPU251のレジスタ、CPU251のキャッシュメモリ等に格納される。
(Example of functional configuration of receiving device 102)
FIG. 4 is an explanatory diagram illustrating a functional configuration example of the receiving
また、受信装置102は、候補リストkouhoにアクセス可能である。受信装置102が有する候補リストkouhoは、受信先の候補値の集合を管理する。また、受信装置102は、候補リストkouho以外のデータも記憶する。受信装置102のより具体的な記憶内容の一例については、図11で説明する。
In addition, the receiving
受信部401は、正誤情報を送信装置101から受信する。
The
推測値生成部402は、受信装置102が有する候補リストkouhoを参照して送信元の候補値の集合に含まれるいずれかの値を生成する所定のルールに基づいて、推測値を生成する。
The estimated
更新部403は、推測値生成部402が生成した推測値と、受信部401が受信した差分情報とに基づいて、受信装置102が有する候補リストkouhoを更新する。また、更新部403は、受信装置102が有する候補リストkouhoに含まれる候補値が1つに特定可能となるまで、受信装置102が有する候補リストkouhoを更新する処理を繰り返す。
The updating
例えば、正誤情報が誤りであることを示す第2の識別情報である場合、更新部403は、推測値が候補値の集合に含まれないように、受信装置102が有する候補リストkouhoを更新する。
For example, when the correctness information is the second identification information indicating an error, the updating
また、正誤情報が、送信装置101の候補値の集合を、推測値を基準として複数の部分に分割した複数の部分集合のいずれかの部分集合を示す識別情報であるとする。この場合、更新部403は、受信装置102の候補値の集合を、推測値を基準として複数の部分に分割した複数の部分集合のうち、正誤情報が示すいずれかの部分集合に対応する部分集合を、候補値の集合として更新する。ここで、送信装置101の複数の部分集合の各部分集合の識別情報と、受信装置102の複数の部分集合の各部分集合の識別情報とは、同一の値になるとする。従って、正誤情報が示すいずれかの部分集合に対応する部分集合は、同一の識別情報で示される部分集合となる。
Further, it is assumed that the correctness information is identification information indicating any one of a plurality of subsets obtained by dividing the set of candidate values of the transmitting
例えば、図3で説明した、候補値の集合が0〜255であり、推測値が10であり、1つ目の部分集合が11から95までとなり、2つ目の部分集合が96から170までとなり、3つ目の部分集合が171から255、0から9までとなるとする。そして、第1の識別情報が「0」、1つ目〜3つ目のそれぞれの部分集合を示す識別情報が、「1]〜「3」であるとする。ここで、正誤情報が「1」である場合、更新部403は、候補値の集合が、11から95までとなるように、受信装置102が有する候補リストkouhoを更新する。
For example, the set of candidate values described in FIG. 3 is 0 to 255, the estimated value is 10, the first subset is 11 to 95, and the second subset is 96 to 170. Then, the third subset is 171 to 255 and 0 to 9. Then, it is assumed that the first identification information is "0", and the identification information indicating each of the first to third subsets is "1" to "3". Here, when the correctness information is “1”, the updating
元データ生成部404は、受信装置102が有する候補リストkouhoに含まれる候補値によって示されるデータを生成する。生成されるデータは、元データと同一のデータとなる。例えば、正誤情報が正解であることを示す第1の識別情報である場合、更新部403による更新を行わず、元データ生成部404が、推測値によって示されるデータを生成してもよい。また、正誤情報が正解であることを示す第1の識別情報である場合に、更新部403は、受信装置102が有する候補リストkouhoの更新を行ってもよい。
The original
(実施例1)
実施例1では、正誤情報として正解を示す「0」、または誤りを示す「1」を取り得る1ビットの情報を送信する方法である。実施例1における元データ生成の一例について、図5〜図7を用いて説明する。図5〜図7で示すデータ生成システム100は、1バイト分のデータの推測を繰り返して、元データと同一のデータを生成する。ここで、図5〜図7における元データは、値:36であるとする。また、データサイズがnバイトの場合、図5〜図7の処理と同様の処理をn回繰り返せばよい。
(Example 1)
The first embodiment is a method of transmitting 1-bit information that can take “0” indicating a correct answer or “1” indicating an error as the correctness information. An example of the original data generation in the first embodiment will be described with reference to FIGS. The
図5は、実施例1における元データ生成例を示す説明図(その1)である。1回目の推測として、送信装置101は、図5の(S1−1)で示すように、推測関数によるデータ生成処理を実行し、推測値:10を得る。推測値:10は誤りであるため、送信装置101は、図5の(S1−2)で示すように、正誤情報として「1」を受信装置102に送信する。一方、受信装置102は、図5の(D1)で示すように、推測関数によるデータ生成処理を実行し、推測値:10を得る。そして、受信装置102は、送信装置101から正誤情報として「1」を受け取り、推測値:10が誤りであると判断する。
FIG. 5 is an explanatory diagram (part 1) illustrating an example of generating original data according to the first embodiment. As the first guess, the transmitting
送信装置101と受信装置102とは、推測値:10が誤りであったため、候補リストkouhoから、推測値:10を正解候補から除外する。図5〜図9では、墨塗りにより正解候補から落としたことを模式的に表現する。
Since the estimated value :10 was incorrect in the transmitting
そして、2回目の推測として、送信装置101は、図5の(S2−1)で示すように、推測関数によるデータ生成処理を実行し、推測値:38を得る。推測値:38は誤りであるため、送信装置101は、図5の(S2−2)で示すように、正誤情報として「1」を受信装置102に送信する。一方、受信装置102は、図5の(D2)で示すように、推測関数によるデータ生成処理を実行し、推測値:38を得る。そして、受信装置102は、送信装置101から正誤情報として「1」を受け取り、推測値:38が誤りであると判断する。
Then, as the second estimation, the
送信装置101と受信装置102とは、推測値:38が誤りであったため、候補リストkouhoから、推測値:38を正解候補から除外する。
Since the estimated value: 38 is incorrect in the transmitting
以下、3回目の推測も2回目の推測と同様に、送信装置101は、図5の(S3−1)で示すように、推測関数によるデータ生成処理を実行し、推測値:3を得る。そして、推測値:3は誤りであるため、送信装置101は、図5の(S3−2)で示すように、正誤情報として「1」を受信装置102に送信する。一方、受信装置102は、図5の(D3)で示すように、推測関数によるデータ生成処理を実行し、推測値:3を得る。そして、受信装置102は、送信装置101から正誤情報として「1」を受け取り、推測値:3が誤りであると判断する。
Similarly to the second guess, the transmitting
図6は、実施例1における元データ生成例を示す説明図(その2−1)である。図6では、9回の推測を繰り返し、10回目の推測で正解する例を示す。送信装置101は、図6の(S10−1)で示すように、推測関数によるデータ生成処理を実行し、推測値:36を得る。そして、推測値:36は正解であるため、送信装置101は、図6の(S10−2)で示すように、正誤情報として「0」を受信装置102に送信する。一方、受信装置102は、図6の(D10)で示すように、推測関数によるデータ生成処理を実行し、推測値:36を得る。そして、受信装置102は、送信装置101から正誤情報として「0」を受け取り、推測値:36が正解であると判断する。これにより、受信装置102は、元データが値:36であることを特定することができる。
FIG. 6 is an explanatory diagram (part 2-1) showing an example of generating original data according to the first embodiment. FIG. 6 shows an example in which the guess is repeated nine times and the correct answer is made in the tenth guess. The
図7は、実施例1における元データ生成例を示す説明図(その2−2)である。図7では、255回の推測を繰り返し、全て誤りとなる例を示す。送信装置101は、図7の(S255−1)で示すように、推測関数によるデータ生成処理を実行し、推測値:8を得る。そして、推測値:8は誤りであるため、送信装置101は、図7の(S255−2)で示すように、正誤情報として「1」を受信装置102に送信する。一方、受信装置102は、図7の(D255)で示すように、推測関数によるデータ生成処理を実行し、推測値:8を得る。そして、受信装置102は、送信装置101から正誤情報として「1」を受け取り、推測値:8が誤りであると判断する。この時点で、候補リストkouhoを参照すると、正解か誤りかが明らかとなっていない値が36だけであることが特定できるため、受信装置102は、残っている推測値:36が正解であると判断する。このように、受信装置102は、元データが推測値:36であることを特定することができる。
FIG. 7 is an explanatory diagram (part 2-2) showing an example of generating original data according to the first embodiment. FIG. 7 shows an example in which the estimation is repeated 255 times and all are incorrect. The
(実施例2)
実施例2では、正誤情報として正解を示す「0」、または正解が候補値の集合内にあることを示す「1」〜「3」を取り得る2ビットの情報を送信する方法である。ここで、「1」〜「3」のそれぞれにおける候補値の集合は、1回目の推測では、候補値の集合全体を3分割したそれぞれの部分集合である。そして、2以上の整数となるi回目の推測では、「1」〜「3」のそれぞれにおける候補値の集合は、i−1回目の推測で候補値の集合を3分割したそれぞれの部分集合である。また、実施例2では、多くとも5回の推測で正解の値を得ることができる。
(Example 2)
The second embodiment is a method of transmitting 2-bit information that can take “0” indicating a correct answer as correctness information or “1” to “3” indicating that the correct answer is within the set of candidate values. Here, the set of candidate values in each of “1” to “3” is each subset obtained by dividing the entire set of candidate values into three in the first estimation. Then, in the i-th estimation that is an integer of 2 or more, the set of candidate values in each of “1” to “3” is a subset obtained by dividing the set of candidate values into three in the i−1-th estimation. is there. In the second embodiment, the correct value can be obtained by guessing at most 5 times.
実施例2における元データ生成の一例について、図8、図9を用いて説明する。図8、図9で示すデータ生成システム100は、1バイト分のデータの推測を繰り返して、元データと同一のデータを生成する。ここで、図8、図9における元データは、値:36であるとする。また、データサイズがnバイトの場合、図8、図9の処理と同様の処理をn回繰り返せばよい。
An example of original data generation in the second embodiment will be described with reference to FIGS. 8 and 9. The
図8は、実施例2における元データ生成例を示す説明図(その1)である。1回目の推測として、送信装置101は、図8の(S1−1)で示すように、推測関数によるデータ生成処理を実行し、推測値:10を得る。推測値:10は誤りであるため、送信装置101は、図8の(S1−2)で示すように、候補値の集合のうち、誤りである推測値:10を除いた10+1〜10+255を3分割し、分割したそれぞれの部分集合を正誤情報の「1」〜「3」に割り当てる。ここで、10+255は、候補値の集合の最大値である255を超えるが、この場合、超えた分の数10を、候補値の集合の最小値である0から数えると、9となる。
FIG. 8 is an explanatory diagram (part 1) illustrating an example of generating original data according to the second embodiment. As the first guess, the
従って、1回目の推測において、正誤情報の「1」は、10+1〜10+85に正解があることを示し、正誤情報の「2」は、10+86〜10+170に正解があることを示し、正誤情報の「3」は、10+171〜10+255に正解があることを示す。ここで、10+171〜10+255の実際の候補値の集合は、181〜255、0〜9となる。 Therefore, in the first guess, “1” of the correctness information indicates that there is a correct answer in 10+1 to 10+85, “2” of the correctness information indicates that there is a correct answer in 10+86 to 10+170, and the correctness information “ “3” indicates that there is a correct answer at 10+171 to 10+255. Here, the set of actual candidate values of 10+171 to 10+255 is 181 to 255 and 0 to 9.
そして、送信装置101は、図8の(S1−2)で示すように、正誤情報の「1」の候補値の集合内に正解があることを特定し、図8の(S1−3)で示すように、正誤情報として「1」を受信装置102に送信する。
Then, as illustrated in (S1-2) of FIG. 8, the
一方、受信装置102は、図8の(D1)で示すように、推測関数によるデータ生成処理を実行し、推測値:10を得る。そして、受信装置102は、送信装置101から正誤情報として「1」を受け取り、推測値:10が誤りであると判断する。さらに、受信装置102は、正誤情報の「1」〜「3」に割り当てられた候補値の集合を、送信装置101と同様に判定し、正解が10+1〜10+85という候補値の集合内にあると判断する。
On the other hand, the receiving
そして、送信装置101と受信装置102とは、推測値:10が誤りであったため、候補リストkouhoから、推測値:10を正解候補から除外する。さらに、正誤情報の「2」、「3」に割り当てられた部分集合にも正解がないことが特定できるため、送信装置101と受信装置102とは、正誤情報の「2」、「3」に割り当てられた10+86〜10+170、181〜255、0〜9を正解候補から除外する。
Then, the transmitting
2回目の推測として、送信装置101は、図8の(S2−1)で示すように、推測関数によるデータ生成処理を実行し、推測値:38を得る。推測値:38は誤りであるため、送信装置101は、候補値の集合10+1〜10+85のうち、誤りである推測値:38を除いた38+1〜38+84を3分割し、分割したそれぞれの部分集合を正誤情報の「1」〜「3」に割り当てる。ここで、38+84は、候補値の集合の最大値10+85=95を超えるが、この場合、超えた分の数38+84−95=27を、候補値の集合の最小値11から数えると、37となる。従って、2回目の推測において、正誤情報の「1」は、38+1〜38+28に正解があることを示し、正誤情報の「2」は、38+29〜38+56に正解があることを示し、正誤情報の「3」は、38+57〜38+84に正解があることを示す。ここで、38+57〜38+84の実際の候補値の集合は、95、11〜37となる。
As the second estimation, the
そして、送信装置101は、図8の(S2−2)で示すように、正誤情報の「3」の候補値の集合内に正解があることを特定し、図8の(S2−3)で示すように、正誤情報として「3」を受信装置102に送信する。
Then, as illustrated in (S2-2) of FIG. 8, the
一方、受信装置102は、図8の(D2)で示すように、推測関数によるデータ生成処理を実行し、推測値:38を得る。そして、受信装置102は、送信装置101から正誤情報として「3」を受け取り、推測値:10が誤りであると判断する。さらに、受信装置102は、正誤情報の「1」〜「3」に割り当てられた候補値の集合を、送信装置101と同様に判定し、正解が95、11〜37という候補値の集合内にあると判断する。
On the other hand, the receiving
そして、送信装置101と受信装置102とは、推測値:38が誤りであったため、候補リストkouhoから、推測値:38を正解候補から除外する。さらに、正誤情報の「1」、「2」に割り当てられた候補値の集合内にも正解がないことが特定できるため、送信装置101と受信装置102とは、正誤情報の「1」、「2」に割り当てられた38+1〜38+28、38+29〜38+56を正解候補から除外する。
Then, since the estimated value: 38 is incorrect in the transmitting
以下、3回目の推測も2回目の推測と同様に、送信装置101は、図8の(S3−1)で示すように、推測関数によるデータ生成処理を実行し、推測値:13を得る。推測値:13は誤りであるため、送信装置101は、候補値の集合95、11〜37のうち、誤りである推測値:13を除いた13+1〜13+27を3分割し、分割したそれぞれの部分集合を正誤情報の「1」〜「3」に割り当てる。ここで、13+27=40となり、正解がある95、11〜37の範囲の外であり、具体的には37から3超えている。従って、37から3つ分次の値は、37の次の95、95の次の11、11の次の12となり、12となる。従って、3回目の推測において、正誤情報の「1」は、13+1〜13+9に正解があることを示し、正誤情報の「2」は、13+10〜13+18に正解があることを示し、正誤情報の「3」は、13+19〜13+27に正解があることを示す。ここで、13+19〜13+27の実際の候補値の集合は、32〜37、95、11、12となる。
Similarly to the second guess, the
そして、送信装置101は、図8の(S3−2)で示すように、正誤情報の「3」の候補値の集合内に正解があることを特定し、図8の(S3−3)で示すように、正誤情報として「3」を受信装置102に送信する。
Then, as illustrated in (S3-2) of FIG. 8, the
一方、受信装置102は、図8の(D3)で示すように、推測関数によるデータ生成処理を実行し、推測値:13を得る。そして、受信装置102は、送信装置101から正誤情報として「3」を受け取り、推測値:13が誤りであると判断する。さらに、受信装置102は、正誤情報の「1」〜「3」に割り当てられた候補値の集合を、送信装置101と同様に判定し、正解が32〜37、95、11、12という候補値の集合内にあると判断する。
On the other hand, the receiving
図9は、実施例2における元データ生成例を示す説明図(その2)である。図9では、図8で示した3回目の推測を終えた後の状態である。3回目の推測によって、送信装置101と受信装置102とは、推測値:13が誤りであったため、候補リストkouhoから、推測値:13を正解候補から除外する。さらに、正誤情報の「1」、「2」に割り当てられた候補値の集合にも正解がないことが特定できるため、送信装置101と受信装置102とは、正誤情報の「1」、「2」に割り当てられた13+1〜13+9、13+10〜13+18を正解候補から除外する。
FIG. 9 is an explanatory diagram (part 2) of an example of generating original data according to the second embodiment. FIG. 9 shows a state after the third guess shown in FIG. 8 is completed. As a result of the third guess, the
4回目の推測として、送信装置101は、図9の(S4−1)で示すように、推測関数によるデータ生成処理を実行し、推測値:33を得る。推測値:33は誤りであるため、送信装置101は、候補値の集合32〜37、95、11、12のうち、誤りである推測値:33を除いた33+1〜33+8を3分割し、分割したそれぞれの部分集合を正誤情報の「1」〜「3」に割り当てる。ここで、33+8=41となり、正解がある32〜37、95、11、12という候補値の集合の外であり、具体的には37から4超えている。従って、37から4つ分次の値は、37の次の95、95の次の11、11の次の12、12の次の32となり、32となる。従って、4回目の推測において、正誤情報の「1」は、33+1〜33+3に正解があることを示し、正誤情報の「2」は、33+4〜33+6に正解があることを示し、正誤情報の「3」は、33+7〜33+8に正解があることを示す。ここで、33+4〜33+6の実際の候補値の集合は、37、95、11となり、33+7〜33+8の実際の候補値の集合は、12、32となる。
As the fourth guess, the
そして、送信装置101は、図8の(S4−2)で示すように、正誤情報の「1」の候補値の集合内に正解があることを特定し、図8の(S4−3)で示すように、正誤情報として「1」を受信装置102に送信する。
Then, as illustrated in (S4-2) of FIG. 8, the
一方、受信装置102は、図8の(D4)で示すように、推測関数によるデータ生成処理を実行し、推測値:33を得る。そして、受信装置102は、送信装置101から正誤情報として「1」を受け取り、推測値:33が誤りであると判断する。さらに、受信装置102は、正誤情報の「1」〜「3」に割り当てられた候補値の集合を、送信装置101と同様に判定し、正解が33+1〜33+3という候補値の集合内にあると判断する。
On the other hand, the receiving
そして、送信装置101と受信装置102とは、推測値:33が誤りであったため、候補リストkouhoから、推測値:33を正解候補から除外する。さらに、正誤情報の「2」、「3」に割り当てられた候補値の集合にも正解がないことが特定できるため、送信装置101と受信装置102とは、正誤情報の「2」、「3」に割り当てられた37、95、11、12、32を正解候補から除外する。
Then, since the estimated value: 33 is incorrect in the transmitting
5回目の推測として、送信装置101は、図9の(S5−1)で示すように、推測関数によるデータ生成処理を実行し、推測値:35を得る。推測値:35は誤りであるため、送信装置101は、候補値の集合33+1〜33+3のうち、誤りである推測値:35を除いた35+1〜35+2を3分割しようとする。しかしながら、35+1〜35+2は、2つの値しかないため、送信装置101は、35+1を正誤情報の「1」に割り当て、35+2を正誤情報の「2」に割り当てる。ここで、35+2は、正解がある33+1〜33+3の範囲の外であり、具体的には36から1超えている。従って、36から1つ分次の値は、37の次の34となる。
As the fifth estimation, the
そして、送信装置101は、図9の(S5−2)で示すように、正誤情報の「1」の候補値の集合に正解があることを特定し、図9の(S5−3)で示すように、正誤情報として「1」を受信装置102に送信する。
Then, as shown in (S5-2) of FIG. 9, the
一方、受信装置102は、図9の(D5)で示すように、推測関数によるデータ生成処理を実行し、推測値:35を得る。そして、受信装置102は、送信装置101から正誤情報として「1」を受け取り、推測値:35が誤りであると判断する。さらに、受信装置102は、正誤情報の「1」〜「3」に割り当てられた候補値の集合を、送信装置101と同様に判定し、正解が36であると判断する。これにより、受信装置102は、元データが値:36であることを特定することができる。
On the other hand, as shown in (D5) of FIG. 9, the receiving
次に、本実施の形態で用いる情報の一例について、送信装置101が記憶する情報を図10で示し、受信装置102が記憶する情報を図11で示す。
Next, regarding an example of the information used in this embodiment, the information stored in the transmitting
図10は、送信装置101が記憶する情報の一例を示す説明図である。ディスク204には、過去のダンプファイルデータ1001と、送信データ1002とを保持する。過去のダンプファイルデータ1001の記憶内容の一例は、図12で示す。また、送信データ1002の記憶内容の一例は、図13で示す。
FIG. 10 is an explanatory diagram showing an example of information stored in the
また、送信装置101は、メモリ202内に、次に示す11個のデータを保持するデータを保持するための領域を確保する。また、送信装置101は、メモリ202内に、ループカウンタi、j、mと、汎用一時変数k、c、pとを保持するための領域を確保する。
In addition, the
保持するデータの1番目は、対象データのサイズdatasizeである。保持するデータの2番目は、コンピュータ名computernameである。保持するデータの3番目は、ダンプ出力日時dumpdateである。図10では、対象データのサイズdatasize、コンピュータ名computername、ダンプ出力日時dumpdateの具体的な記憶内容の一例を示す。 The first data held is the size datasize of the target data. The second piece of data held is the computer name computername. The third data held is the dump output date/time dumpdate. FIG. 10 shows an example of specific storage contents of the size datasize of the target data, the computer name computername, and the dump output date and time dumpdate.
保持するデータの4番目は、受信装置102で生成させる対象となる対象データsourceである。対象データsourceの記憶内容の一例は、図15で示す。保持するデータの5番目は、結果インデックス変換情報kekka2valueである。結果インデックス変換情報kekka2valueの記憶内容の一例は、図16で示す。
The fourth piece of data to be held is target data source to be generated by the receiving
保持するデータの6番目は、候補リストkouhoである。候補リストkouhoの記憶内容の一例は、図17で示す。保持するデータの7番目は、推測結果suisokuである。推測結果suisokuの記憶内容の一例は、図18で示す。保持するデータの8番目は、正誤情報kekkaである。正誤情報kekkaの記憶内容の一例は、図19で示す。保持するデータの9番目は、過去データ抽出サンプルsampleである。過去データ抽出サンプルsampleの記憶内容の一例は、図20で示す。 The sixth of the data held is the candidate list kouho. An example of the stored contents of the candidate list kouho is shown in FIG. The seventh piece of data to be held is the estimation result suisoku. FIG. 18 shows an example of the stored contents of the estimation result suisoku. The eighth piece of data to be held is the correct/wrong information kekka. An example of the stored contents of the correctness information kekka is shown in FIG. The ninth data to be held is a past data extraction sample sample. An example of the stored contents of the past data extraction sample sample is shown in FIG.
保持するデータの10番目は、開始インデックス情報value2startindexである。開始インデックス情報value2startindexの記憶内容の一例は、図21で示す。保持するデータの11番目は、終了インデックス情報value2endindexである。終了インデックス情報value2endindexの記憶内容の一例は、図22で示す。 The 10th piece of data to be held is start index information value2startindex. An example of the stored contents of the start index information value2startindex is shown in FIG. The eleventh piece of data held is the end index information value2endindex. An example of the storage contents of the end index information value2endindex is shown in FIG.
図11は、受信装置102が記憶する情報の一例を示す説明図である。ディスク254には、過去のダンプファイルデータ1001と、受信データ1101とを保持する。また、送信データ1002の記憶内容の一例は、図14で示す。
FIG. 11 is an explanatory diagram showing an example of information stored in the receiving
また、受信装置102は、メモリ252内に、10個のデータを保持するデータを保持するための領域を確保する。ここで、10個のデータは、送信装置101のメモリ202内に保持した11個のデータのうち、対象データsource以外のデータであるため、説明を省略する。また、受信装置102は、メモリ252内に、ループカウンタi、j、mと、汎用一時変数k、c、pとを保持するための領域を確保する。
In addition, the receiving
図10、図11で示した情報の一例について、図12〜図22を用いて説明する。ここで、図12〜図22で示した情報は、実施例2の場合の情報である。また、以下の説明において、「データに付与した符号名[x]」という記載を行う場合があるが、これは、そのデータが配列変数であり、配列変数のx番目のデータを示す。また、「データに付与した符号名[x][y]」という記載を行う場合があるが、これは、そのデータが2次元の配列変数であり、2次元配列変数のx行目のy番目のデータを示す。 An example of the information shown in FIGS. 10 and 11 will be described with reference to FIGS. Here, the information shown in FIGS. 12 to 22 is information in the case of the second embodiment. Further, in the following description, there is a case where a description is given as “code name [x] given to data”, but this indicates that the data is an array variable and the xth data of the array variable. In addition, there is a case where a description is given as “code name [x][y] assigned to data”, but this means that the data is a two-dimensional array variable and the y-th line of the x-th row of the two-dimensional array variable. Shows the data of.
図12は、過去のダンプファイルデータ1001の記憶内容の一例を示す説明図である。図12に示す過去のダンプファイルデータ1001は、レコード1201−0〜3を有する。図12に示す過去のダンプファイルデータ1001の値は、一例であって、他の値となることもある。
FIG. 12 is an explanatory diagram showing an example of the stored contents of the past
過去のダンプファイルデータ1001は、コンピュータ名と、採取日時と、ダンプファイルデータというフィールドを含む。コンピュータ名フィールドには、ダンプファイルを有していたコンピュータ名が格納される。採取日時フィールドには、ダンプファイルを採取した日時を示す文字列が格納される。ダンプファイルデータフィールドには、nバイトのダンプデータがバイトごとに格納される。
The past
図13は、送信データ1002の記憶内容の一例を示す説明図である。図13に示す送信データ1002は、レコード1301−0を有する。送信データ1002は、元データとなるnバイトのデータをバイトごとに記憶する。図13に示す送信データ1002の値は、一例であって、他の値となってもよい。
FIG. 13 is an explanatory diagram showing an example of stored contents of the
図14は、受信データ1101の記憶内容の一例を示す説明図である。図14に示す受信データ1101は、レコード1401−0を有する。受信データ1101は、推測により生成したnバイトのデータをバイトごとに記憶する。図14に示す受信データ1101の値は、一例である。
FIG. 14 is an explanatory diagram showing an example of stored contents of the received
図15は、対象データsourceの記憶内容の一例を示す説明図である。図15に示す対象データsourceは、レコード1501−0を有する。対象データsourceは、ディスク204内に保持されている送信データ1002から読み出して、メモリ202に保持したデータである。従って、対象データsourceの値は、送信データ1002の値と同一の値を有する。
FIG. 15 is an explanatory diagram showing an example of the stored contents of the target data source. The target data source shown in FIG. 15 has a record 1501-0. The target data source is data read from the
図16は、結果インデックス変換情報kekka2valueの記憶内容の一例を示す説明図である。図16に示す結果インデックス変換情報kekka2valueは、レコード1601−0〜5を有する。結果インデックス変換情報kekka2valueは、実施例2が採用される際には、図16で示す固定の値となる。 FIG. 16 is an explanatory diagram showing an example of the stored contents of the result index conversion information kekka2value. The result index conversion information kekka2value shown in FIG. 16 has records 1601-0 to 5160. The result index conversion information kekka2value has a fixed value shown in FIG. 16 when the second embodiment is adopted.
結果インデックス変換情報kekka2valueの各レコードは、各回数の推測で用いる。例えば、レコード1601−0は、1回目の推測で用いるレコードである。そして、kekka2value[0][1]〜kekka2value[0][86]が、図8の1回目の推測で示した、候補値の集合を3分割したうちの正誤情報の「1」に割り当てた部分集合に一致する。同様に、kekka2value[0][87]〜kekka2value[0][170]が、図8の1回目の推測で示した、候補値の集合を3分割したうちの正誤情報の「2」に割り当てた集合に一致する。このように、kekka2value[x][y]の値は、x+1番目の推測で用いられる値であって、推測関数によるデータ生成処理により得られた値+yの値が、正誤情報の「0」〜[3]のいずれであるかを示す。 Each record of the result index conversion information kekka2value is used to estimate each number of times. For example, the record 1601-0 is a record used in the first guess. Then, the portion where kekkka2value[0][1] to kekka2value[0][86] is assigned to “1” of the correctness information among the three divided values of the set of candidate values shown in the first guess in FIG. Match the set. Similarly, kekka2value[0][87] to kekka2value[0][170] assigned to the correctness information “2” of the three sets of candidate value sets shown in the first guess in FIG. Match the set. As described above, the value of kekka2value[x][y] is a value used in the (x+1)th guess, and the value +y obtained by the data generation process using the guess function is “0” to the correctness information. It shows which is [3].
図17は、候補リストkouhoの記憶内容の一例を示す説明図である。図17に示す候補リストkouhoは、レコード1701−0を有する。図17に示す候補リストkouhoの値は、一例である。 FIG. 17 is an explanatory diagram showing an example of the stored contents of the candidate list kouho. The candidate list kouho shown in FIG. 17 has a record 1701-0. The value of the candidate list kouho shown in FIG. 17 is an example.
図17に候補リストkouhoは、5回目の推測を終えた状態を示す。そして、kouho[x]の値yは、y番目の推測によって推測値:xが正解候補から除外されたことを示す。ただし、yが現在の推測回数より1大きい場合、推測値:xは、正解候補として残っている状態である。kouho[x]の値を、「候補除外推測回数」と呼称する。例えば、図17の状態では、推測回数が5回であるとし、kouho[0]、[254]、[255]、すなわち値:0、254、255は、1回目の推測によって正解候補から除外したことを示す。同様に、図17の状態では、値:1〜10は、2回目の推測によって正解候補から除外したことを示す。従って、図17に示す候補リストkouhoは、5回目の推測を終えて、候補除外推測回数が現在の推測回数である5より1大きい6となったkouho[14]、すなわち値:14が正解であることを示す。また、kouho[x]=6となるxは、ただ1つとなる。 FIG. 17 shows a state in which the candidate list kouho has finished the fifth guess. Then, the value y of kouho[x] indicates that the estimated value: x is excluded from the correct answer candidates by the y-th estimation. However, when y is larger than the current number of guesses by 1, the guess value: x is a state that remains as a correct answer candidate. The value of kouho[x] is referred to as the “candidate exclusion presumption frequency”. For example, in the state of FIG. 17, it is assumed that the number of guesses is 5, and kouho[0], [254], [255], that is, the values: 0, 254, 255 are excluded from correct answer candidates by the first guess. Indicates that. Similarly, in the state of FIG. 17, the values of 1 to 10 indicate that they are excluded from the correct answer candidates by the second guess. Therefore, in the candidate list kouho shown in FIG. 17, after the fifth guess, the candidate exclusion guess count is kouho[14], which is 1 larger than the current guess count of 5, that is, the value: 14 is the correct answer. Indicates that there is. Further, there is only one x for which kouho[x]=6.
図18は、推測結果suisokuの記憶内容の一例を示す説明図である。図18に示す推測結果suisokuは、レコード1801−0〜5を有する。図18に示す推測結果suisokuの値は、一例である。ここで、レコード1801−5を有するのは、受信装置102だけであり、送信装置101はレコード1801−5を有さない。
FIG. 18 is an explanatory diagram showing an example of stored contents of the estimation result suisoku. The estimation result suisoku shown in FIG. 18 has records 1801-0 to 180-1. The value of the estimation result suisoku shown in FIG. 18 is an example. Here, only the receiving
推測結果suisokuの各レコードは、0バイト目からn−1バイト目までのnバイトに対する各回数の推測結果が格納される。例えば、レコード1801−0は、1回目の推測結果が格納される。従って、レコード1801−5が、正解となる値が格納される。 Each record of the estimation result suisoku stores the estimation result of each count for the n bytes from the 0th byte to the (n-1)th byte. For example, the record 1801-0 stores the first estimation result. Therefore, the record 1801-5 stores the value that is the correct answer.
図19は、正誤情報kekkaの記憶内容の一例を示す説明図である。図19に示す正誤情報kekkaは、レコード1901−0〜4を有する。図19に示す正誤情報kekkaは、一例である。 FIG. 19 is an explanatory diagram showing an example of the stored contents of the correctness information kekka. The correct/wrong information kekka shown in FIG. 19 has records 1901-0 to 190-1-4. The correctness information kekka shown in FIG. 19 is an example.
正誤情報kekkaの各レコードは、0バイト目からn−1バイト目までのnバイトに対する各回数の推測に対する正誤情報が格納される。例えば、レコード1901−0は、1回目の推測に対する正誤情報が格納される。 Each record of the correct/wrong information kekka stores the correct/wrong information with respect to the estimation of the number of times for the nth byte from the 0th byte to the (n-1)th byte. For example, the record 1901-0 stores correctness information for the first guess.
図20は、過去データ抽出サンプルsampleの記憶内容の一例を示す説明図である。図20に示す過去データ抽出サンプルsampleは、レコード2001−0〜4を有する。図20に示す過去データ抽出サンプルsampleの値は、一例である。 FIG. 20 is an explanatory diagram showing an example of the stored contents of the past data extraction sample sample. The past data extraction sample sample shown in FIG. 20 has records 2001-0 to 2001-4. The value of the past data extraction sample sample shown in FIG. 20 is an example.
過去データ抽出サンプルsampleは、推測関数によるデータ生成処理で用いられるデータである。送信装置101と受信装置102とは、過去データ抽出サンプルsampleが有するレコード分の過去のメモリダンプファイルを、サンプルデータとして採用する。従って、図20の例では、過去データ抽出サンプルsampleは、過去5回分のメモリダンプファイルを有する。
The past data extraction sample sample is data used in the data generation process by the inference function. The
図21は、開始インデックス情報value2startindexの記憶内容の一例を示す説明図である。図21に示す開始インデックス情報value2startindexは、レコード2101−0〜5を有する。開始インデックス情報value2startindexの値は、実施例2が採用される際には、図16で示す固定の値となる。 FIG. 21 is an explanatory diagram showing an example of the stored contents of the start index information value2startindex. The start index information value2startindex shown in FIG. 21 has records 2101-0 to 5101. The value of the start index information value2startindex is a fixed value shown in FIG. 16 when the second embodiment is adopted.
開始インデックス情報value2startindexの各レコードは、各回数の推測における正誤情報「0」〜「3」のそれぞれに割り当てる候補値の集合の先頭の値を求めるために用いる値を示す。x+1回目の推測の正誤情報の「y」に割り当てられる候補値の集合の先頭の値は、x回目の推測により正解があると特定された候補値の集合のうち、推測関数によるデータ生成処理により得る値から数えて、value2startindex[x][y]番目にある値となる。 Each record of the start index information value2startindex indicates a value used for obtaining the leading value of the set of candidate values to be assigned to each of the correctness information “0” to “3” in the estimation of each number of times. The leading value of the set of candidate values assigned to “y” of the correctness information of the (x+1)th guess is determined by the data generation process using the guess function among the set of candidate values that are identified as having the correct answer by the (x)th guess. Counting from the obtained values, the value is the value2startindex[x][y]th value.
図22は、終了インデックス情報value2endindexの記憶内容の一例を示す説明図である。図22に示す終了インデックス情報value2endindexは、レコード2201−0〜5を有する。終了インデックス情報value2endindexの値は、実施例2が採用される際には、図16で示す固定の値となる。 FIG. 22 is an explanatory diagram showing an example of the stored contents of the end index information value2endindex. The end index information value2endindex shown in FIG. 22 has records 2201-0 to 220-5. The value of the end index information value2endindex is a fixed value shown in FIG. 16 when the second embodiment is adopted.
終了インデックス情報value2endindexの各レコードは、各回数の推測における正誤情報「0」〜「3」のそれぞれに割り当てる候補値の集合の末尾の値を求めるために用いる値を示す。x+1回目の推測の正誤情報の「y」に割り当てられる候補値の集合の末尾の値は、x回目の推測により正解があると特定された候補値の集合のうち、推測関数によるデータ生成処理により得る値から数えて、value2endindex[x][y]番目にある値となる。 Each record of the end index information value2endindex indicates a value used for obtaining the end value of the set of candidate values assigned to each of the correct/incorrect information “0” to “3” in the estimation of each number of times. The value at the end of the set of candidate values assigned to “y” of the correctness information of the (x+1)th guess is determined by the data generation process using the guess function from the set of candidate values identified as having a correct answer by the (x)th guess. The value is the value2endendx[x][y]th value counted from the obtained value.
次に、送信装置101と受信装置102とが実行する元データ生成処理について、図23〜図30、図32〜図37を用いて説明する。元データ生成処理は、図23で示す同期式で行うこともできるし、図25で示す非同期式で行うこともできる。また、図23〜図30、図32〜図37の各ステップの処理は、表示の都合上、具体的なプログラムコードで記載することがある。
Next, the original data generation process executed by the
図23は、同期式における元データ生成処理手順の一例を示すフローチャートである。同期式における元データ生成処理では、送信装置101と受信装置102とが同期して元データ生成処理を行う。同期をとる方法は、例えば、送信装置101と受信装置102とは、タイマーにより同時に起動する方法がある。または、送信装置101の操作者と、受信装置102の操作者とが電話等で連絡を取り、同時に処理を開始するようにして同期をとってもよい。また、送信装置101と受信装置102とが何らかデータの送受信を行う際には、図24で示すデータ送受信処理に従って、データを送受信する。
FIG. 23 is a flowchart showing an example of the original data generation processing procedure in the synchronous method. In the synchronous original data generation process, the
送信装置101は、対象データ読込み処理を実行する(ステップS2301)。対象データ読込み処理は、図26で示す。次に、送信装置101は、データ特性抽出処理を実行する(ステップS2302)。データ特性抽出処理は、図27で示す。そして、送信装置101は、データ特性送信処理を実行し(ステップS2303)、データ特性を受信装置102に送信する。データ特性を受信した受信装置102は、データ特性受信処理を実行する(ステップS2351)。データ特性送信処理とデータ特性受信処理とは、図28で示す。
The transmitting
ステップS2303の処理終了後、送信装置101は、実施例2では推測を多くとも5回行うため、ループカウンタiに0を代入する(ステップS2304)。次に、送信装置101は、推測関数によるデータ生成処理を実行する(ステップS2305)。推測関数によるデータ生成処理は、図29で示す。そして、送信装置101は、正誤判定処理を実行する(ステップS2306)。正誤判定処理は、図33で示す。次に、送信装置101は、正誤結果送信処理を実行し(ステップS2307)、正誤結果を受信装置102に送信する。正誤結果送信処理は、図34で示す。
After the processing of step S2303 ends, the transmitting
一方、受信装置102は、ステップS2351の終了後、実施例2では推測を多くとも5回行うため、ループカウンタiに0を代入する(ステップS2352)。次に、受信装置102は、推測関数によるデータ生成処理を実行する(ステップS2353)。そして、受信装置102は、送信装置101から正誤結果を受け付けて、正誤結果受信処理を実行する(ステップS2354)。正誤結果受信処理は、図35で示す。
On the other hand, the receiving
ステップS2307の処理終了後、送信装置101は、ループカウンタiに1加算し(ステップS2308)、繰り返し判定として、ループカウンタiが5未満か否かを判断する(ステップS2309)。ループカウンタiが5未満である場合(ステップS2309:True)、送信装置101は、ステップS2305の処理に移行する。一方、ループカウンタiが5以上である場合(ステップS2309:False)、送信装置101は、送信元におけるデータ蓄積処理を実行する(ステップS2310)。送信元におけるデータ蓄積処理は、図37で示す。ステップS2310の処理終了後、送信装置101は、同期式における元データ生成処理を終了する。
After the processing of step S2307 ends, the transmitting
一方、受信装置102は、ステップS2354の処理終了後、ループカウンタiに1加算し(ステップS2355)、繰り返し判定として、ループカウンタiが5未満か否かを判断する(ステップS2356)。ループカウンタiが5未満である場合(ステップS2356:True)、受信装置102は、ステップS2353の処理に移行する。一方、ループカウンタiが5以上である場合(ステップS2356:False)、受信装置102は、生成データ保存処理を実行する(ステップS2357)。次に、受信装置102は、受信先におけるデータ蓄積処理を実行する(ステップS2358)。受信先におけるデータ蓄積処理は、送信元におけるデータ蓄積処理とほぼ同様の処理であるため、図示を省略する。送信元におけるデータ蓄積処理に対する受信先におけるデータ蓄積処理の差異の説明については、図37の説明と併せて行う。
On the other hand, after the processing of step S2354 is completed, the receiving
ステップS2358の処理終了後、受信装置102は、同期式における元データ生成処理を終了する。
After the processing of step S2358 ends, the
図24は、データ送受信処理手順の一例を示すフローチャートである。送信装置101は、接続依頼を受信装置102に送信する(ステップS2401)。接続依頼を送信した後、送信装置101は、送信した接続依頼の応答を待ち受ける。
FIG. 24 is a flowchart showing an example of a data transmission/reception processing procedure. The
一方、受信装置102は、接続待ちを開始し(ステップS2451)、接続依頼があったか否かを判断する(ステップS2452)。一方、接続依頼がない場合(ステップS2452:接続無し)、受信装置102は、ステップS2451の処理に移行する。接続依頼があった場合(ステップS2452:接続有り)、受信装置102は、接続を受付け(ステップS2453)、接続依頼の応答を送信装置101に送信し、接続を確立する(ステップS2454)。
On the other hand, the receiving
送信装置101は、接続依頼の応答があったか否かを判断する(ステップS2402)。接続依頼の応答がない場合(ステップS2402:応答無し)、送信装置101は、ステップS2401の処理に移行する。接続依頼の応答があった場合(ステップS2402:応答有り)、送信装置101は、接続を確立する(ステップS2403)。そして、送信装置101は、データを受信装置102に送信する(ステップS2404)。データを送信後、送信装置101は、データ送受信処理を終了する。
The
一方、ステップS2454の処理終了後、受信装置102は、送信装置101からデータを受信する(ステップS2455)。データを受信後、受信装置102は、データ送受信処理を終了する。
On the other hand, after the processing of step S2454 ends, the receiving
図25は、非同期式における元データ生成処理手順の一例を示すフローチャートである。同期式における元データ生成処理では、送信装置101と受信装置102とが同期せずに元データ生成処理を行う。従って、受信装置102は、送信装置101の処理が終了してから元データ生成処理を行う。
FIG. 25 is a flowchart showing an example of an original data generation processing procedure in the asynchronous method. In the synchronous original data generation process, the
送信装置101は、対象データ読込み処理を実行する(ステップS2501)。次に、送信装置101は、データ特性抽出処理を実行する(ステップS2502)。そして、送信装置101は、データ特性ファイル出力処理を実行する(ステップS2503)。データ特性ファイル出力処理は、データ特性送信処理とほぼ同様の処理であるため、図示を省略する。データ特性送信処理に対するデータ特性ファイル出力処理の差異の説明については、図28で説明する。
The
ステップS2503の処理終了後、送信装置101は、ループカウンタiに0を代入する(ステップS2504)。次に、送信装置101は、推測関数によるデータ生成処理を実行する(ステップS2505)。そして、送信装置101は、正誤判定処理を実行する(ステップS2506)。次に、送信装置101は、正誤結果ファイル出力処理を実行する(ステップS2507)。正誤結果ファイル出力処理は、正誤結果送信処理とほぼ同様の処理であるため、図示を省略する。正誤結果送信処理に対する正誤結果ファイル出力処理の差異の説明については、図34の説明と併せて行う。
After the processing of step S2503 is completed, the
そして、送信装置101は、ループカウンタiに1加算し(ステップS2508)、繰り返し判定として、ループカウンタiが5未満か否かを判断する(ステップS2509)。ループカウンタiが5未満である場合(ステップS2509:True)、送信装置101は、ステップS2505の処理に移行する。一方、ループカウンタiが5以上である場合(ステップS2509:False)、送信装置101は、送信元におけるデータ蓄積処理を実行する(ステップS2510)。そして、送信装置101は、ステップS2503、S2507の各処理で出力したデータファイルを受信装置102に送信する(ステップS2511)。ステップS2511の処理終了後、送信装置101は、非同期式における元データ生成処理を終了する。
Then, the transmitting
ここで、データファイルの送信について、送信装置101と受信装置102とは、電子メールや、FTP(File Transfer Protocol)によるファイル転送を利用してもよい。また、データファイルは、一般的な圧縮アルゴリズムによって圧縮されたデータでもよい。
Here, for transmission of the data file, the
一方、受信装置102は、送信装置101からデータファイルを受信する(ステップS2551)。次に、受信装置102は、データ特性読込み処理を実行する(ステップS2552)。データ特性読込み処理は、データ特性受信処理とほぼ同様の処理であるため、図示を省略する。データ特性受信処理に対するデータ特性読込み処理の差異の説明については、図28の説明と併せて行う。
On the other hand, the receiving
そして、受信装置102は、ステップS2351の終了後、ループカウンタiに0を代入する(ステップS2553)。次に、受信装置102は、推測関数によるデータ生成処理を実行する(ステップS2554)。そして、受信装置102は、正誤結果読込み処理を実行する(ステップS2555)。正誤結果読込み処理は、正誤結果受信処理とほぼ同様の処理であるため、図示を省略する。正誤結果受信処理に対する正誤結果読込み処理の差異の説明については、図35の説明と併せて行う。
After the end of step S2351, the receiving
次に、受信装置102は、ループカウンタiに1加算し(ステップS2556)、繰り返し判定として、ループカウンタiが5未満か否かを判断する(ステップS2557)。ループカウンタiが5未満である場合(ステップS2557:True)、受信装置102は、ステップS2554の処理に移行する。一方、ループカウンタiが5以上である場合(ステップS2557:False)、受信装置102は、生成データ保存処理を実行する(ステップS2558)。次に、受信装置102は、受信先におけるデータ蓄積処理を実行する(ステップS2559)。ステップS2559の処理終了後、受信装置102は、非同期式における元データ生成処理を終了する。
Next, the receiving
図26は、対象データ読込み処理手順の一例を示すフローチャートである。送信装置101は、ディスク204に保存されている送信データ1002をメモリ202内の配列変数sourceに読込む(ステップS2601)。次に、送信装置101は、読込んだ送信データ1002のサイズnを、変数datasizeに代入する(ステップS2602)。ステップS2602の処理終了後、送信装置101は、対象データ読込み処理を終了する。
FIG. 26 is a flowchart showing an example of a target data reading processing procedure. The
図27は、データ特性抽出処理手順の一例を示すフローチャートである。送信装置101は、配列変数sourceから、コンピュータ名とダンプ出力日時とを抽出する(ステップS2701)。
FIG. 27 is a flowchart showing an example of the data characteristic extraction processing procedure. The
次に、送信装置101は、抽出したコンピュータ名とダンプ出力日時とを、変数computername、dumpdateにそれぞれ代入する(ステップS2702)。ステップS2702の処理について、図27では、データ特性がコンピュータ名とダンプ出力日時としているが、これに限らない。また、データ特性を配列変数から抽出することについても、これに限らない。例えば、送信装置101は、配列変数source以外のデータからデータ特性を抽出してもよいし、送信装置101の操作者によって入力されたデータをデータ特性として設定してもよい。ステップS2702の処理終了後、送信装置101は、データ特性抽出処理を終了する。
Next, the
図28は、データ特性送信処理手順とデータ特性受信処理手順との一例を示すフローチャートである。データ特性送信処理として、送信装置101は、変数datasizeの値と、変数computernameの値と、変数dumpdateの値とを受信装置102に送信する(ステップS2801)。ステップS2801の処理終了後、送信装置101は、データ特性送信処理を終了する。また、データ特性ファイル出力処理では、送信装置101は、変数datasizeの値と、変数computernameの値と、変数dumpdateの値とをデータファイルに出力する。
FIG. 28 is a flowchart showing an example of a data characteristic transmission processing procedure and a data characteristic reception processing procedure. As the data characteristic transmission process, the
一方、データ特性受信処理として、受信装置102は、受信した値を変数datasizeと、変数computername、dumpdateにそれぞれ代入する(ステップS2851)。ステップS2851の処理終了後、受信装置102は、データ特性受信処理を終了する。また、データ特性読込み処理では、受信装置102は、データファイルに記載された値を変数datasizeと、変数computername、dumpdateにそれぞれ代入する。
On the other hand, as the data characteristic reception processing, the
図29は、推測関数によるデータ生成処理手順の一例を示すフローチャートである。推測関数によるデータ生成処理は、送信装置101と受信装置102とが行う処理である。図29では、送信装置101が推測関数によるデータ生成処理を実行する例を用いて説明を行う。
FIG. 29 is a flowchart showing an example of the data generation processing procedure by the estimation function. The data generation process using the estimation function is a process performed by the
送信装置101は、変数datasize分繰り返すため、ループカウンタjに0を代入する(ステップS2901)。次に、現在が1回目の推測か否かを判断する(ステップS2902)。1回目の推測か否かについては、具体的なプログラムコードで記載すると、「if i=0」の処理結果で判断することができる。
The
現在が1回目の推測である場合(ステップS2902:True)、送信装置101は、候補リストkouhoの全てに1を代入する(ステップS2903)。ステップS2903の処理は、具体的なプログラムコードで記載すると、「kouho[0]:=1,…,kouho[255]:=1」となる。ステップS2903の時点では、まだ推測が1度も行われていない。従って、kouho[0]〜[255]の値、すなわち、候補除外推測回数を1に設定することにより、値:0〜255の全てが正解候補として設定された状態となる。
When the present is the first guess (step S2902: True), the transmitting
一方、現在が1回目の推測でない、すなわち2回目以上の推測である場合(ステップS2902:False)、送信装置101は、前回の推測が正解だったか否かを判断する(ステップS2904)。前回の推測が正解だったか否かについては、具体的なプログラムコードで記載すると、「if kekka[i−1][j]=0」の処理結果で判断することができる。
On the other hand, if the present is not the first guess, that is, the second or more guesses (step S2902: False), the transmitting
前回の推測が正解だった場合(ステップS2904:True)、送信装置101は、前回の推測を、今回の推測結果に代入する(ステップS2905)。ステップS2905の処理は、具体的なプログラムコードで記載すると、「suisoku[i][j]:=suisoku[i−1][j]」となる。
If the previous guess was correct (step S2904: True), the transmitting
一方、前回の推測が誤りだった場合(ステップS2904:False)、送信装置101は、候補リスト作成処理を実行する(ステップS2906)。候補リスト作成処理は、図30で説明する。ステップS2903、S2906の処理終了後、送信装置101は、データ推測処理を実行する(ステップS2907)。データ推測処理は、図32で示す。ステップS2905、S2907の処理終了後、送信装置101は、ループカウンタjに1加算し(ステップS2908)、ループカウンタjが変数datasize未満か否かを判断する(ステップS2909)。ループカウンタjが変数datasize未満である場合(ステップS2909:True)、送信装置101は、ステップS2902の処理に移行する。一方、ループカウンタjが変数datasize以上である場合(ステップS2909:False)、送信装置101は、推測関数によるデータ生成処理を終了する。
On the other hand, if the previous estimation was incorrect (step S2904: False), the transmitting
図30は、候補リスト作成処理手順の一例を示すフローチャートである。候補リスト作成処理は、送信装置101と受信装置102とが行う処理である。図30では、送信装置101が候補リスト作成処理を実行する例を用いて説明を行う。
FIG. 30 is a flowchart showing an example of a candidate list creation processing procedure. The candidate list creation process is a process performed by the
送信装置101は、候補リストkouhoの全てに1を代入する(ステップS3001)。ステップS3001の処理は、具体的なプログラムコードで記載すると、「kouho[0]:=1,…,kouho[255]:=1」となる。次に、送信装置101は、i+1回繰り返すため、ループカウンタmに0を代入する(ステップS3002)。
The
そして、送信装置101は、変数kにm+1回目の推測結果の値を代入し、また、カウンタ変数cに0を代入する(ステップS3003)。ステップS3003の処理は、具体的なプログラムコードで記載すると、「k := suisoku[m][j]、 c := 0」となる。このように、m+1回目の推測結果は、suisoku[m]、言い換えれば、レコード1801−mに格納されている。
Then, the
次に、送信装置101は、候補リストkouhoのkの値、すなわち候補除外推測回数がm+1ならば、カウント変数cに1加算する(ステップS3004)。ステップS3004の処理は、具体的なプログラムコードで記載すると、「if (kouho[k]=m+1) then c:= c+1」となる。
Next, the
そして、送信装置101は、変数kに1加算し、加算した結果kが256以上になった場合、kに0を代入する(ステップS3005)。ステップS3005の処理は、具体的なプログラムコードで記載すると、「k:= k+1、 if (k>=256) then k:= 0」となる。
Then, the
次に、送信装置101は、カウンタ変数cが、推測関数によるデータ生成処理により得られた値からm+1回目の推測結果で正解が含まれる候補値の集合の先頭の値までの数より小さいか否かを判断する(ステップS3006)。ここで、推測関数によるデータ生成処理により得られた値からm+1回目の推測結果で正解が含まれる候補値の集合の先頭の値までの数は、value2startindex[m]で得ることができる。さらに、m+1回目の推測結果は、kekka[m][j]で得ることができる。従って、カウンタ変数cが前述した数より小さいかは、具体的なプログラムコードで記載すると、「if c < value2startindex[m][kekka[m][j]]」の処理結果で判断することができる。ステップS3006の処理において処理結果が真となる場合(ステップS3006:True)、送信装置101は、ステップS3004の処理に移行する。
Next, the
ステップS3006の処理において処理結果が偽となる場合(ステップS3006:False)、送信装置101は、候補リストkouhoのkの値、すなわち候補除外推測回数がm+1ならば、候補リストkouhoのkの値に1加算し、さらに、カウント変数cに1加算する(ステップS3007)。ステップS3007の処理は、具体的なプログラムコードで記載すると、「if (kouho[k]=m+1) then { kouho[k]:= kouho[k] +1; c:= c+1 }」となる。
When the processing result is false in the process of step S3006 (step S3006: False), the transmitting
次に、送信装置101は、変数kに1加算し、加算した結果kが256以上になった場合、kに0を代入する(ステップS3008)。ステップS3008の処理は、具体的なプログラムコードで記載すると、「k:= k+1、if (k>=256) then k:= 0」となる。
Next, the
そして、送信装置101は、カウンタ変数cが、推測関数によるデータ生成処理により得られた値からm+1回目の推測結果で正解が含まれる候補値の集合の末尾の値までの数より小さいか否かを判断する(ステップS3009)。ここで、推測関数によるデータ生成処理により得られた値からm+1回目の推測結果で正解が含まれる候補値の集合の末尾の値までの数は、value2endindex[m]で得ることができる。従って、カウンタ変数cが前述した数より小さいかは、具体的なプログラムコードで記載すると、「if c < value2endindex[m][kekka[m][j]]」の処理結果で判断することができる。ステップS3006の処理において処理結果が真となる場合(ステップS3009:True)、送信装置101は、ステップS3007の処理に移行する。
Then, the
ステップS3009の処理において処理結果が偽となる場合(ステップS3009:False)、送信装置101は、ループカウンタmに1を加算する(ステップS3010)。そして、送信装置101は、mがiより小さいか否かを判断する(ステップS3011)。mがiより小さい場合(ステップS3011:True)、送信装置101は、ステップS3003の処理に移行する。一方、mがi以上である場合(ステップS3011:False)、送信装置101は、候補リスト作成処理を終了する。次に、候補リスト作成処理中における候補リストkouhoの記憶内容の変化の一例を、図31を用いて説明する。
When the processing result is false in the process of step S3009 (step S3009: False), the
図31は、候補リストkouhoの記憶内容の変化の一例を示す説明図である。図31では、i=4とする。また、図31で示す例は、図8、図9で示した例と同一である。従って、1回目の推測、言い換えれば、m=0の際には、suisoku[m][j]=10、kekka[m][j]=1とする。この場合、suisoku[m][j]+value2startindex[m][kekka[m][j]]は、推測値:11となる。また、suisoku[m][j]+value2endindex[m][kekka[m][j]]は、推測値:95となる。 FIG. 31 is an explanatory diagram showing an example of changes in the storage contents of the candidate list kouho. In FIG. 31, i=4. The example shown in FIG. 31 is the same as the example shown in FIGS. 8 and 9. Therefore, in the first guess, in other words, when m=0, suisoku[m][j]=10 and kekka[m][j]=1. In this case, suisoku[m][j]+value2startindex[m][kekka[m][j]] is an estimated value: 11. Also, suisoku[m][j]+value2endindex[m][kekka[m][j]] is an estimated value: 95.
また、候補リストkouhoの候補除外推測回数が2とならなかった箇所、すなわち、1のままの箇所が、図8、図9での1回目の推測で説明した、1回目の推測によって正解候補から除外した値となる。図31の最も上部に示した候補リストkouhoでは、1回目の推測によって正解候補から除外した値を、墨塗りで示す。 In addition, a portion where the number of candidate exclusion estimations in the candidate list kouho does not reach 2, that is, a portion where it is 1 remains as a correct answer candidate by the first estimation described in the first estimation in FIGS. 8 and 9. The value is excluded. In the candidate list kouho shown at the top of FIG. 31, the values excluded from the correct answer candidates by the first guess are shown in red.
同様に、2回目の推測、言い換えれば、m=1の際には、suisoku[m][j]=38、kekka[m][j]=3とする。この場合、suisoku[m][j]+value2startindex[m][kekka[m][j]]は、値:95となる。また、suisoku[m][j]+value2endindex[m][kekka[m][j]]は、値:37となる。 Similarly, in the second estimation, in other words, when m=1, suisoku[m][j]=38 and kekka[m][j]=3. In this case, suisoku[m][j]+value2startindex[m][kekka[m][j]] has a value of 95. The value of suisoku[m][j]+value2endindex[m][kekka[m][j]] is 37.
また、候補リストkouhoの候補除外推測回数が3とならなかった箇所、すなわち、1または2の箇所が、図8、図9での2回目の推測で説明した正解候補から除外した値となる。図31の上から2番目に示した候補リストkouhoでは、2回目の推測によって正解候補から除外した値を、墨塗りで示す。 Further, a portion where the number of estimations of candidate exclusion in the candidate list kouho does not reach 3, that is, a portion of 1 or 2 becomes a value excluded from the correct answer candidates explained in the second estimation in FIGS. 8 and 9. In the candidate list kouho shown second from the top in FIG. 31, the values excluded from the correct answer candidates by the second guess are shown in red.
同様に、3回目の推測、言い換えれば、m=2の際には、suisoku[m][j]=13、kekka[m][j]=3とする。この場合、suisoku[m][j]+value2startindex[m][kekka[m][j]]は、値:32となる。また、suisoku[m][j]+value2endindex[m][kekka[m][j]]は、値:12となる。 Similarly, in the case of the third guess, in other words, when m=2, suisoku[m][j]=13 and kekka[m][j]=3. In this case, suisoku[m][j]+value2startindex[m][kekka[m][j]] has a value of 32. The value of suisoku[m][j]+value2endindex[m][kekka[m][j]] is 12
また、候補リストkouhoの候補除外推測回数が4とならなかった箇所、すなわち、1〜3のいずれかの箇所が、図8、図9での3回目の推測で説明した正解候補から除外した値となる。図31の上から3番目に示した候補リストkouhoでは、3回目の推測によって正解候補から除外した値を、墨塗りで示す。 In addition, a part where the number of candidate exclusion estimations in the candidate list kouho does not reach 4, that is, any one of 1 to 3 is a value excluded from the correct answer candidates explained in the third guess in FIGS. 8 and 9. Becomes In the candidate list kouho shown third from the top in FIG. 31, the values excluded from the correct answer candidates by the third guess are shown in red.
同様に、4回目の推測、言い換えれば、m=3の際には、suisoku[m][j]=33、kekka[m][j]=1とする。この場合、suisoku[m][j]+value2startindex[m][kekka[m][j]]は、値:34となる。また、suisoku[m][j]+value2endindex[m][kekka[m][j]]は、値:36となる。 Similarly, in the fourth guess, in other words, when m=3, suisoku[m][j]=33 and kekka[m][j]=1. In this case, suisoku[m][j]+value2startindex[m][kekka[m][j]] has a value of 34. The value of suisoku[m][j]+value2endindex[m][kekka[m][j]] is 36.
また、候補リストkouhoの候補除外推測回数が5とならなかった箇所、すなわち、1〜4のいずれかの箇所が、図8、図9での4回目の推測で説明した正解候補から除外した値となる。図31の一番下に示した候補リストkouhoでは、4回目の推測によって正解候補から除外した値を、墨塗りで示す。 In addition, a part of the candidate list kouho where the number of candidate exclusion estimations does not reach 5, that is, any one of 1 to 4 is a value excluded from the correct candidate explained in the fourth guess in FIGS. 8 and 9. Becomes In the candidate list kouho shown at the bottom of FIG. 31, the values excluded from the correct answer candidates by the fourth guess are shown in red.
図32は、データ推測処理手順の一例を示すフローチャートである。図32で示すデータ推測処理は、バイト単位に前回の値、前々回の値、…を推測結果として出力する。そして、データ推測処理は、送信装置101と受信装置102とが行う処理である。図32では、送信装置101が、データ推測処理を実行する例を用いて説明する。
FIG. 32 is a flowchart showing an example of the data estimation processing procedure. The data estimation process shown in FIG. 32 outputs the previous value, the value of the previous two times,... As the estimation result in byte units. Then, the data estimation process is a process performed by the
送信装置101は、過去のダンプファイルデータ1001から、コンピュータ名がcomputernameと一致する、採取日時の新しい方から5回分のデータを抽出し、過去データ抽出サンプルsampleに代入する(ステップS3201)。また、過去データがない場合、送信装置101は、過去データ抽出サンプルsampleを0埋めする。
The
次に、多くとも5回繰り返すため、送信装置101は、ループカウンタmに0を代入する(ステップS3202)。そして、送信装置101は、sample[m][j]の値をkに代入する(ステップS3203)。そして、送信装置101は、候補リストkouhoのkが正解候補として残っているか否かを判断する(ステップS3204)。候補リストkouhoのkが正解候補に残っているかは、図17で説明したように、候補リストkouhoのkの候補除外推測回数が、現在の推測回数より1大きければよい。そして、現在の推測回数は、iで示される。従って、候補リストkouhoのkが正解候補として残っているかは、具体的なプログラムコードで記載すると、「if kouho[k] = i+1」の処理結果で判断することができる。
Next, since it repeats at most 5 times, the transmitting
kが正解候補として残っている場合(ステップS3204:True)、送信装置101は、kの値を推測結果として代入する(ステップS3205)。ステップS3205の処理は、具体的なプログラムコードで記載すると、「suisoku[i][j]:= k」となる。ステップS3205の処理終了後、送信装置101は、データ推測処理を終了する。
When k remains as a correct answer candidate (step S3204: True), the transmitting
一方、kが正解候補として残っていない場合(ステップS3204:False)、送信装置101は、変数mに1加算する(ステップS3206)。次に、送信装置101は、mが5未満か否かを判断する(ステップS3207)。mが5未満である場合(ステップS3207:True)、送信装置101は、ステップS3203の処理に移行する。一方、mが5以上である場合(ステップS3207:False)、送信装置101は、候補リストkouhoの各値の中で候補除外推測回数がi+1となる最小の値を、推測結果に代入する(ステップS3208)。ステップS3208の処理終了後、送信装置101は、データ推測処理を終了する。
On the other hand, when k does not remain as a correct answer candidate (step S3204: False), the
また、データ推測処理は、図32で示す処理に限られない。例えば、送信装置101や受信装置102は、バイト単位に過去データの出現回数の多い値を、推測結果として出力してもよい。また、送信装置101や受信装置102は、データ特性に応じて、データ推測方法を切り替えてもよい。
The data estimation process is not limited to the process shown in FIG. 32. For example, the
図33は、正誤判定処理手順の一例を示すフローチャートである。正誤判定処理は、送信装置101が実行する処理である。送信装置101は、datasize回繰り返すため、ループカウンタjに0を代入する(ステップS3301)。次に、送信装置101は、推測結果が正しいかを判断する(ステップS3302)。ここで、推測結果が正しいかは、具体的なプログラムコードで記載すると、「if source[j] = suisoku[i][j]」の処理結果で判断することができる。
FIG. 33 is a flowchart showing an example of the correctness determination processing procedure. The correctness determination process is a process executed by the
推測結果が誤りである場合(ステップS3302:False)、正誤情報の「1」〜「3」のそれぞれに割り当てられた候補値の集合のうちのどれに正解が含まれるかを判断するため、送信装置101は、現在が1回目の推測か否かを判断する(ステップS3303)。現在が1回目の推測か否かについては、具体的なプログラムコードで記述すると、「if i = 0」の処理結果で判断することができる。
If the estimation result is incorrect (step S3302: False), the transmission is performed to determine which of the set of candidate values assigned to each of the correctness information “1” to “3” contains the correct answer. The
現在が1回目の推測である場合(ステップS3303:True)、送信装置101は、候補リストkouhoの全てに1を代入する(ステップS3304)。ステップS3304の処理は、具体的なプログラムコードで記載すると、「kouho[0]:=1,…,kouho[255]:=1」となる。一方、1回目の推測でない場合(ステップS3303:False)、送信装置101は、候補リスト作成処理を実行する(ステップS3305)。
When the present is the first guess (step S3303: True), the
ステップS3304、またはS3305の処理終了後、対象データの値から推測結果までを繰り返すため、送信装置101は、変数kに対象データの値を代入し、また、カウンタ変数cに0を代入する(ステップS3306)。ステップS3306の処理は、具体的なプログラムコードで記載すると、「k:= source[j]、c:= 0」となる。
After the processing of step S3304 or S3305 is completed, since the value of the target data and the estimation result are repeated, the transmitting
次に、送信装置101は、候補リストkouhoのkの候補除外推測回数がi+1ならば、カウント変数cに1加算する(ステップS3307)。ステップS3307の処理は、具体的なプログラムコードで記載すると、「if (kouho[k] = i+1) then c:= c+1」となる。
Next, the
そして、送信装置101は、変数kに1加算し、加算した結果kが256以上になった場合、kに0を代入する(ステップS3308)。ステップS3308の処理は、具体的なプログラムコードで記載すると、「k:= k+1、 if (k>=256) then k:= 0」となる。
Then, the
次に、送信装置101は、変数kが推測結果に到達したか否かを判断する(ステップS3309)。変数kが推測結果に到達したか否かについては、具体的なプログラムコードで記載すると、「if k = suisoku[i][j]」の処理結果で判断することができる。変数kが推測結果に到達していない場合(ステップS3309:False)、送信装置101は、ステップS3307の処理に移行する。
Next, the
一方、変数kが推測結果に到達した場合(ステップS3309:True)、送信装置101は、カウント変数cの値を結果インデックス変換情報kekka2valueのi+1番目の推測で用いるレコードにより変換した値を、正誤情報kekkaに代入する(ステップS3310)。ステップS3310の処理は、具体的なプログラムコードで記載すると、「kekka[i][j]:= kekka2value[i][c]」となる。
On the other hand, when the variable k reaches the estimation result (step S3309: True), the
推測結果が正しい場合(ステップS3302:True)、送信装置101は、正解を意味する「0」を正誤情報kekkaに代入する(ステップS3311)。
When the estimation result is correct (step S3302: True), the
ステップS3310、またはS3311の処理終了後、送信装置101は、ループカウンタjに1を加算する(ステップS3312)。そして、送信装置101は、jが変数datasizeより小さいか否かを判断する(ステップS3313)。jが変数datasizeより小さい場合(ステップS3313:True)、送信装置101は、ステップS3302の処理に移行する。一方、jが変数datasize以上である場合(ステップS3313:False)、送信装置101は、正誤判定処理を終了する。
After the processing of step S3310 or S3311, the transmitting
図34は、正誤結果送信処理手順の一例を示すフローチャートである。正誤結果送信処理は、送信装置101が実行する処理である。送信装置101は、datasize回繰り返すため、変数jに0を代入し、また、変数pとカウンタ変数cに、0を代入する(ステップS3401)。
FIG. 34 is a flowchart showing an example of the procedure of the correct/wrong result transmission process. The correct/incorrect result transmission process is a process executed by the
次に、送信装置101は、現在が1回目の推測か否かを判断する(ステップS3402)。1回目の推測か否かについては、具体的なプログラムコードで記載すると、「if i=0」の処理結果で判断することができる。
Next, the
現在が1回目の推測でない場合(ステップS3402:False)、送信装置101は、前回の推測が正解だったか否かを判断する(ステップS3403)。前回の推測が正解だったか否かについては、具体的なプログラムコードで記載すると、「if kekka[i−1][j] = 0」の処理結果で判断することができる。
If the present is not the first guess (step S3402: False), the transmitting
前回の推測が正解でない場合(ステップS3403:False)、または、現在が1回目の推測である場合(ステップS3402:True)、送信装置101は、変数pを2ビット分左シフトした値と、今回の推測結果を、変数pに代入し、カウンタ変数cに1加算する(ステップS3404)。ステップS3404の処理は、具体的なプログラムコードで記載すると、「p:= p*4 + kekka[i][j]、 c:= c+1」となる。
If the previous guess is not the correct answer (step S3403: False), or if the present is the first guess (step S3402: True), the transmitting
そして、送信装置101は、4回分の正誤情報を変数pに代入したか否かを判断する(ステップS3405)。4回分の正誤情報を変数pに代入したか否かについては、具体的なプログラムコードで記載すると、「if c=4」の処理結果で判断することができる。4回分の正誤情報を変数pに代入した場合(ステップS3405:True)、送信装置101は、変数pの値を受信装置102に送信する(ステップS3406)。そして、受信装置102は、変数pとカウンタ変数cに0を代入する(ステップS3407)。
Then, the
ステップS3407の処理終了後、または、前回の推測が正解だった場合(ステップS3403:True)、4回分の正誤情報を変数pに代入していない場合(ステップS3405:False)、送信装置101は、jに1加算する(ステップS3408)。そして、送信装置101は、jが変数datasize未満か否かを判断する(ステップS3409)。jが変数datasize未満である場合(ステップS3409:True)、送信装置101は、ステップS3402の処理に移行する。一方、jが変数datasize以上である場合(ステップS3409:False)、送信装置101は、正誤結果送信処理を終了する。
After the processing of step S3407 is completed, or when the previous guess is correct (step S3403: True), if correctness information for four times is not substituted for the variable p (step S3405: False), the
ここで、ステップS3409:Falseとなった場合に、カウンタ変数cが0でない場合、未送信の正誤情報があることになるため、送信装置101は、変数pの値に、4^(4−c)を乗じた値を、受信装置102に送信する。
Here, in the case of Step S3409: False, if the counter variable c is not 0, it means that there is untransmitted correct/wrong information. Therefore, the transmitting
また、正誤結果送信処理に対する正誤結果ファイル出力処理の差異は、送信装置101が、ステップS3406の処理において、変数pの値をファイルに書き込むことである。
Further, the difference between the correct/wrong result transmission process and the correct/wrong result file output process is that the
図35は、正誤結果受信処理手順の一例を示すフローチャートである。正誤結果受信処理は、受信装置102が実行する処理である。受信装置102は、datasize回繰り返すため、変数jに0を代入し、また、カウンタ変数cに、0を代入する(ステップS3501)。
FIG. 35 is a flowchart showing an example of the procedure of the correct/wrong result reception process. The correct/wrong result receiving process is a process executed by the receiving
次に、受信装置102は、送信装置101から受信した値を変数pに代入する(ステップS3502)。そして、受信装置102は、現在が1回目の推測か否かを判断する(ステップS3503)。1回目の推測か否かについては、具体的なプログラムコードで記載すると、「if i=0」の処理結果で判断することができる。
Next, the receiving
現在が1回目の推測でない場合(ステップS3503:False)、受信装置102は、前回の推測が正解だったか否かを判断する(ステップS3504)。前回の推測が正解だったか否かについては、具体的なプログラムコードで記載すると、「if kekka[i−1][j] = 0」の処理結果で判断することができる。
If the present is not the first guess (step S3503: False), the receiving
前回の推測が正解である場合(ステップS3504:True)、受信装置102は、kekka[i][j]に0を代入し(ステップS3505)、jに1加算する(ステップS3506)。
If the previous guess is correct (step S3504: True), the receiving
一方、現在が1回目の推測である場合(ステップS3503:True)、または、前回の推測が正解でない場合(ステップS3504:False)、受信装置102は、変数pの値から1回分の正誤情報を抽出する(ステップS3507)。ステップS3507の処理は、具体的なプログラムコードで記載すると、「kekka[i][j]:= { p ÷ 4^(3−c) } mod 4」となる。そして、受信装置102は、ループカウンタjとカウンタ変数cとに1加算する(ステップS3508)。
On the other hand, when the present is the first guess (step S3503: True) or when the previous guess is not the correct answer (step S3504: False), the receiving
ステップS3506、またはステップS3508の処理終了後、受信装置102は、ループカウンタjが変数datasize未満か否かを判断する(ステップS3509)。ループカウンタjが変数datasize未満である場合(ステップS3509:True)、受信装置102は、4回分の正誤情報を処理したか否かを判断する(ステップS3510)。4回分の正誤情報を処理したか否かについては、具体的なプログラムコードで記載すると、「if c = 4」の処理結果で判断することができる。
After the processing of step S3506 or step S3508 ends, the receiving
4回分の正誤情報を処理していない場合(ステップS3510:False)、受信装置102は、ステップS3503の処理に移行する。一方、4回分の正誤情報を処理した場合(ステップS3510:True)、受信装置102は、カウンタ変数cに0を代入し(ステップS3511)、ステップS3502の処理に移行する。一方、ループカウンタjが変数datasize以上である場合(ステップS3509:False)、受信装置102は、正誤結果受信処理を終了する。
If the correctness information for four times has not been processed (step S3510: False), the
また、正誤結果受信処理に対する正誤結果読込み処理の差異は、ステップS3502において、受信装置102は、ファイルに出力された値を、変数pに代入することである。
The difference between the correct/wrong result receiving process and the correct/wrong result reading process is that the receiving
図36は、生成データ保存処理手順の一例を示すフローチャートである。生成データ保存処理は、受信装置102が実行する処理である。受信装置102は、datasize回繰り返すため、ループカウンタjに0を代入する(ステップS3601)。次に、受信装置102は、5回目の推測が正解だったか否かを判断する(ステップS3602)。5回目の推測が正解だったか否かについては、具体的なプログラムコードで記載すると、「if kekka[4][j]=0」の処理結果で判断することができる。
FIG. 36 is a flowchart showing an example of the generated data storage processing procedure. The generated data storage process is a process executed by the
前回の推測が正解だった場合(ステップS3602:True)、受信装置102は、5回目の推測を、推測結果として代入する(ステップS3603)。本実施の形態では、suisoku[5]を推測結果として利用する。従って、ステップS3603の処理は、具体的なプログラムコードで記載すると、「suisoku[5][j]:= suisoku[4][j]」となる。
If the previous guess was the correct answer (step S3602: True), the receiving
一方、前回の推測が誤りだった場合(ステップS3602:False)、受信装置102は、候補リスト作成処理を実行する(ステップS3604)。次に、受信装置102は、候補リストkouhoのうち、候補除外推測回数が6となる値を推測結果に代入する(ステップS3605)。
On the other hand, if the previous estimation was incorrect (step S3602: False), the receiving
ステップS3603、またはS3605の処理終了後、受信装置102は、ループカウンタjに1加算する(ステップS3606)。そして、受信装置102は、ループカウンタjが変数datasize未満か否かを判断する(ステップS3607)。ループカウンタjが変数datasize未満である場合(ステップS3607:True)、受信装置102は、ステップS3602の処理に移行する。
After the processing of step S3603 or S3605 ends, the receiving
一方、ループカウンタjが変数datasize以上である場合(ステップS3607:False)、受信装置102は、6回目の推測結果suisoku[5]をファイルに保存する(ステップS3608)。ステップS3608の処理終了後、受信装置102は、生成データ保存処理を終了する。
On the other hand, when the loop counter j is equal to or larger than the variable datasize (step S3607: False), the
図37は、送信元におけるデータ蓄積処理手順の一例を示すフローチャートである。送信元におけるデータ蓄積処理は、送信装置101が実行する処理である。送信装置101は、ディスク204の過去のダンプファイルデータ1001に行を挿入する(ステップS3701)。次に、送信装置101は、追加した行に、変数computername、dumpdate、sourceを記録する(ステップS3702)。ステップS3702の処理終了後、送信装置101は、送信元におけるデータ蓄積処理を終了する。
FIG. 37 is a flowchart showing an example of a data storage processing procedure at the transmission source. The data storage process at the transmission source is a process executed by the
また、送信元におけるデータ蓄積処理に対する受信先におけるデータ蓄積処理の差異は、ステップS3701、S3702の実行主体が受信装置102になることと、ステップS3702のsourceがsuisoku[5]になることである。
Further, the difference between the data storage processing at the transmission source and the data storage processing at the reception destination is that the execution apparatus of steps S3701 and S3702 is the receiving
以上説明したように、受信装置102は、元データを持つ送信装置101と共通の所定のルールから同一の推測値を生成し、送信装置101から受信した推測値の正誤情報から元データを推測することを繰り返して元データを生成する。このように、送信装置101が元データを送信せずに、受信装置102は、元データを生成するため、元データの漏洩を抑制することができる。
As described above, the receiving
また、受信装置102は、実施例1で示したように、正誤情報として正解を示す「0」、または誤りを示す「1」を取り得る1ビットの情報を受信し、元データと同一のデータを生成してもよい。これにより、受信装置102は、通信傍受等による元データの漏洩を抑制しつつ、実施例2に比べて簡便な処理で、元データと同一のデータを生成することができる。
Also, as described in the first embodiment, the receiving
また、受信装置102は、正誤情報として正解を示す第1の識別情報、または正解が候補値の集合を、推測値を基準として複数の部分に分割した部分集合を示す識別情報を受信し、元データと同一のデータを生成してもよい。これにより、受信装置102は、通信傍受等による元データの漏洩を抑制しつつ、実施例1に比べて推測回数を少なくすることができる。
Further, the receiving
受信装置102は、実施例2で示したように、正誤情報として正解を示す「0」、または正解がそれぞれの候補値の集合内にあることを示す「1」〜「3」を取り得る2ビットの情報を受信し、元データと同一のデータを生成してもよい。これにより、受信装置102は、正誤情報のデータ量を抑えて、通信傍受等による元データの漏洩を抑制しつつ、実施例1に比べて推測回数を少なくすることができる。具体的には、実施例1では、最多で255回の推測を行う可能性があるが、実施例2では多くても5回の推測で元データと同一のデータを生成することができる。
As described in the second embodiment, the receiving
また、送信装置101と受信装置102とは、過去のダンプデータに基づく値が候補値の集合に含まれる場合、その値を推測値としてもよい。これにより、ダンプデータが似たような値を取るのであれば、受信装置102は、推測結果を正解にし易くすることができる。そして、推測結果が正解になれば、以降の推測を行わなくてよいため、受信装置102は、実施例1、2のどちらにおいても、元データと同一のデータを生成することにかかる負荷を抑えることができる。
Further, when the values based on the past dump data are included in the set of candidate values, the transmitting
また、送信装置101と受信装置102は、候補リストkouhoが示す候補値の集合の初期状態を、元データが示す値が取り得る値の集合としてもよい。これにより、送信装置101と受信装置102とは、どのような元データに対しても対応することができる。また、元データのデータフォーマットが予め判明しており、データフォーマットによってあるバイトに設定される値がある程度限定されるとする。この場合、送信装置101と受信装置102とは、候補リストkouhoが示す候補値の集合の初期状態を、その限定される値の集合としてもよい。これにより、送信装置101と受信装置102は、推測する回数をより少なくすることができる。
Further, the transmitting
なお、本実施の形態で説明したデータ生成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本データ生成プログラムは、ハードディスク、フレキシブルディスク、CD−ROM(Compact Disc−Read Only Memory)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本データ生成プログラムは、インターネット等のネットワークを介して配布してもよい。 The data generation method described in the present embodiment can be realized by executing a prepared program on a computer such as a personal computer or a workstation. This data generation program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM (Compact Disc-Read Only Memory), a DVD (Digital Versatile Disk), and can be read from the recording medium by the computer. Executed by The data generation program may be distributed via a network such as the Internet.
上述した実施の形態に関し、さらに以下の付記を開示する。 The following supplementary notes will be disclosed regarding the above-described embodiment.
(付記1)元データを有する送信装置と、前記送信装置と接続する受信装置とを有するデータ生成システムのデータ生成方法であって、
前記送信装置が、
前記元データが示す値となり得る送信元の候補値の集合を参照して前記送信元の候補値の集合に含まれるいずれかの値を生成する所定のルールに基づいて、第1の値を生成し、
生成した前記第1の値と前記元データが示す値との差分の大きさを示す差分情報を生成して、生成した前記差分情報を前記受信装置に送信し、
前記第1の値と、生成した前記差分情報とに基づいて、前記送信元の候補値の集合を更新し、
前記送信元の候補値の集合に含まれる候補値が1つに特定可能となるまで前記送信する処理を繰り返す、
処理を実行し、
前記受信装置が、
前記差分情報を、前記送信装置から受信し、
受信先の候補値の集合を参照して、前記所定のルールに基づいて、第1の値を生成し、
生成した当該第1の値と、受信した前記差分情報とに基づいて、前記受信先の候補値の集合を更新し、
前記受信先の候補値の集合に含まれる候補値が1つに特定可能となるまで前記受信先の候補値の集合を更新する処理を繰り返し、前記受信先の候補値の集合に含まれる候補値によって示されるデータを生成する、
処理を実行することを特徴とするデータ生成方法。
(Supplementary Note 1) A data generating method of a data generating system having a transmitting device having original data and a receiving device connected to the transmitting device,
The transmitter is
Generate a first value based on a predetermined rule that refers to a set of transmission source candidate values that can be values indicated by the original data and generates any value included in the transmission source candidate value set Then
Generating difference information indicating the magnitude of the difference between the generated first value and the value indicated by the original data, and transmitting the generated difference information to the receiving device,
Updating the set of candidate values of the transmission source based on the first value and the generated difference information,
The process of transmitting is repeated until one candidate value included in the set of candidate values of the transmission source can be specified,
Perform processing,
The receiving device,
Receiving the difference information from the transmitting device,
Generate a first value based on the predetermined rule with reference to a set of candidate values of the receiver,
Updating the set of candidate values of the receiving destination based on the generated first value and the received difference information,
The process of updating the set of candidate values of the receiving destination is repeated until one candidate value included in the set of candidate values of the receiving destination can be specified, and the candidate value included in the set of candidate value of the receiving destination is repeated. Generate the data indicated by,
A data generation method characterized by executing processing.
(付記2)前記差分情報は、
前記所定のルールに基づいて生成された値と前記元データが示す値との差分がないことを示す第1の識別情報、または、前記生成された値と前記元データが示す値との差分があることを示す第2の識別情報であって、
前記受信装置が、
前記差分情報が前記第1の識別情報である場合、当該第1の値によって示されるデータを生成し、
前記差分情報が前記第2の識別情報である場合、当該第1の値が前記受信先の候補値の集合に含まれないように前記受信先の候補値の集合を更新する、
ことを特徴とする付記1に記載のデータ生成方法。
(Supplementary Note 2) The difference information is
The first identification information indicating that there is no difference between the value generated based on the predetermined rule and the value indicated by the original data, or the difference between the generated value and the value indicated by the original data is Second identification information indicating that there is
The receiving device,
When the difference information is the first identification information, the data indicated by the first value is generated,
If the difference information is the second identification information, the set of candidate values for the recipient is updated such that the first value is not included in the set of candidate values for the recipient.
The data generation method according to
(付記3)前記差分情報は、
前記所定のルールに基づいて生成された値と前記元データが示す値との差分がないことを示す第1の識別情報、または、前記送信元の候補値の集合を前記生成された値を基準として複数の部分に分割した複数の部分集合のうちの前記元データが示す値が含まれる部分集合を示す識別情報であって、
前記受信装置が、
前記差分情報が前記第1の識別情報である場合、当該第1の値によって示されるデータを生成し、
前記差分情報が前記複数の部分集合のいずれかの部分集合を示す識別情報である場合、前記受信先の候補値の集合を当該第1の値を基準として複数の部分に分割した複数の部分集合のうちの前記いずれかの部分集合に対応する部分集合を、前記受信先の候補値の集合として更新する、
ことを特徴とする付記1に記載のデータ生成方法。
(Supplementary Note 3) The difference information is
First identification information indicating that there is no difference between a value generated based on the predetermined rule and a value indicated by the original data, or a set of candidate values of the transmission source is used as a reference for the generated value. As identification information indicating a subset including a value represented by the original data among a plurality of subsets divided into a plurality of parts,
The receiving device,
When the difference information is the first identification information, the data indicated by the first value is generated,
When the difference information is identification information indicating any subset of the plurality of subsets, a plurality of subsets obtained by dividing the set of candidate values of the receiving destination into a plurality of portions based on the first value. Updating a subset corresponding to any one of the subsets as a set of candidate values of the recipient,
The data generation method according to
(付記4)前記差分情報は、
前記第1の識別情報と、前記生成された値を基準として前記送信元の候補値の集合を均等に3分割した複数の部分集合の各部分集合を示す各識別情報とをそれぞれ識別可能な2ビットの情報であることを特徴とする付記3に記載のデータ生成方法。
(Supplementary note 4) The difference information is
It is possible to identify the first identification information and the identification information indicating each subset of a plurality of subsets obtained by equally dividing the set of candidate values of the transmission source into three based on the generated value. 4. The data generation method according to
(付記5)前記元データは、前記送信装置のメモリをダンプしたダンプデータであって、
前記受信装置が、前記元データより過去に採取された過去のダンプデータを記憶し、
前記所定のルールは、
前記過去のダンプデータに基づく値が前記送信元または前記受信先の候補値の集合に含まれる場合、当該値を第1の値として出力し、
前記過去のダンプデータに基づく値が前記送信元または前記受信先の候補値の集合に含まれない場合、前記送信元または前記受信先の候補値の集合に含まれるいずれかの値を第1の値として出力する、
ことを特徴とする付記1〜4のいずれか一つに記載のデータ生成方法。
(Supplementary Note 5) The original data is dump data obtained by dumping the memory of the transmission device,
The receiving device stores past dump data collected in the past from the original data,
The predetermined rule is
When the value based on the past dump data is included in the set of candidate values of the transmission source or the reception destination, the value is output as the first value,
When a value based on the past dump data is not included in the set of candidate values of the transmission source or the reception destination, a value included in the set of candidate values of the transmission source or the reception destination is set to the first value. Output as a value,
The data generation method according to any one of
(付記6)前記送信元の候補値の集合および前記受信先の候補値の集合の初期状態は、前記元データが示す値が取り得る値の集合であることを特徴とする付記1〜5のいずれか一つに記載のデータ生成方法。 (Supplementary Note 6) The initial state of the set of candidate values of the transmission source and the set of candidate values of the reception destination is a set of possible values of the values indicated by the original data. The data generation method described in any one.
(付記7)元データを有する送信装置と、前記送信装置と接続する受信装置とを有するデータ生成システムであって、
前記送信装置は、
前記元データが示す値となり得る送信元の候補値の集合を参照して前記送信元の候補値の集合に含まれるいずれかの値を生成する所定のルールに基づいて、第1の値を生成し、
生成した前記第1の値と前記元データが示す値との差分の大きさを示す差分情報を生成して、生成した前記差分情報を前記受信装置に送信し、
前記第1の値と、生成した前記差分情報とに基づいて、前記送信元の候補値の集合を更新し、
前記送信元の候補値の集合に含まれる候補値が1つに特定可能となるまで前記送信する処理を繰り返し、
前記受信装置は、
前記差分情報を、前記送信装置から受信し、
受信先の候補値の集合を参照して、前記所定のルールに基づいて、第1の値を生成し、
生成した当該第1の値と、受信した前記差分情報とに基づいて、前記受信先の候補値の集合を更新し、
前記受信先の候補値の集合に含まれる候補値が1つに特定可能となるまで前記受信先の候補値の集合を更新する処理を繰り返し、前記受信先の候補値の集合に含まれる候補値によって示されるデータを生成する、
処理を実行することを特徴とするデータ生成システム。
(Supplementary Note 7) A data generation system comprising: a transmitter having original data; and a receiver connected to the transmitter,
The transmitter is
Generate a first value based on a predetermined rule that refers to a set of transmission source candidate values that can be values indicated by the original data and generates any value included in the transmission source candidate value set Then
Generating difference information indicating the magnitude of the difference between the generated first value and the value indicated by the original data, and transmitting the generated difference information to the receiving device,
Updating the set of candidate values of the transmission source based on the first value and the generated difference information,
The process of transmitting is repeated until one candidate value included in the set of candidate values of the transmission source can be specified,
The receiving device,
Receiving the difference information from the transmitting device,
Generate a first value based on the predetermined rule with reference to a set of candidate values of the receiver,
Updating the set of candidate values of the receiving destination based on the generated first value and the received difference information,
The process of updating the set of candidate values of the receiving destination is repeated until one candidate value included in the set of candidate values of the receiving destination can be specified, and the candidate value included in the set of candidate value of the receiving destination is repeated. Generate the data indicated by,
A data generation system characterized by executing processing.
(付記8)コンピュータに、
元データが示す値となり得る候補値の集合を参照して前記候補値の集合に含まれるいずれかの値を生成する所定のルールに基づいて生成された第1の値と前記元データが示す値との差分の大きさを示す差分情報を、前記元データを有する送信元から受信し、
前記候補値の集合を参照して、前記所定のルールに基づいて、第1の値を生成し、
生成した前記第1の値と、受信した前記差分情報とに基づいて、前記候補値の集合を更新し、
前記候補値の集合に含まれる候補値が1つに特定可能となるまで前記候補値の集合を更新する処理を繰り返し、前記候補値の集合に含まれる候補値によって示されるデータを生成する、
処理を実行させることを特徴とするデータ生成プログラム。
(Appendix 8)
A value indicated by the original data and a first value generated based on a predetermined rule for generating any value included in the set of candidate values with reference to a set of candidate values that can be values indicated by the original data The difference information indicating the magnitude of the difference with is received from the transmission source having the original data,
Generating a first value based on the predetermined rule with reference to the set of candidate values;
Updating the set of candidate values based on the generated first value and the received difference information,
Repeating the process of updating the set of candidate values until one candidate value included in the set of candidate values can be specified, and generating data indicated by the candidate value included in the set of candidate values.
A data generation program characterized by executing processing.
100 データ生成システム
101 送信装置
102 受信装置
111〜113 正誤情報
300、400 制御部
301、402 推測値生成部
302 正誤情報生成部
303 送信部
304、403 更新部
401 受信部
404 元データ生成部
100
Claims (7)
前記送信装置が、
前記元データが示す値となり得る送信元の候補値の集合を参照して前記送信元の候補値の集合に含まれるいずれかの値を生成する所定のルールに基づいて、第1の値を生成し、
生成した前記第1の値と前記元データが示す値との差分の大きさを示す差分情報を生成して、生成した前記差分情報を前記受信装置に送信し、
前記第1の値と、生成した前記差分情報とに基づいて、前記送信元の候補値の集合を更新し、
前記送信元の候補値の集合に含まれる候補値が1つに特定可能となるまで前記送信する処理を繰り返す、
処理を実行し、
前記受信装置が、
前記差分情報を、前記送信装置から受信し、
受信先の候補値の集合を参照して、前記所定のルールに基づいて、第1の値を生成し、
生成した当該第1の値と、受信した前記差分情報とに基づいて、前記受信先の候補値の集合を更新し、
前記受信先の候補値の集合に含まれる候補値が1つに特定可能となるまで前記受信先の候補値の集合を更新する処理を繰り返し、前記受信先の候補値の集合に含まれる候補値によって示されるデータを生成する、
処理を実行することを特徴とするデータ生成方法。 A data generation method of a data generation system, comprising: a transmitter having original data; and a receiver connected to the transmitter,
The transmitter is
Generate a first value based on a predetermined rule that refers to a set of transmission source candidate values that can be values indicated by the original data and generates any value included in the transmission source candidate value set Then
Generating difference information indicating the magnitude of the difference between the generated first value and the value indicated by the original data, and transmitting the generated difference information to the receiving device,
Updating the set of candidate values of the transmission source based on the first value and the generated difference information,
The process of transmitting is repeated until one candidate value included in the set of candidate values of the transmission source can be specified,
Perform processing,
The receiving device,
Receiving the difference information from the transmitting device,
Generate a first value based on the predetermined rule with reference to a set of candidate values of the receiver,
Updating the set of candidate values of the receiving destination based on the generated first value and the received difference information,
The process of updating the set of candidate values of the receiving destination is repeated until one candidate value included in the set of candidate values of the receiving destination can be specified, and the candidate value included in the set of candidate value of the receiving destination is repeated. Generate the data indicated by,
A data generation method characterized by executing processing.
前記所定のルールに基づいて生成された値と前記元データが示す値との差分がないことを示す第1の識別情報、または、前記生成された値と前記元データが示す値との差分があることを示す第2の識別情報であって、
前記受信装置が、
前記差分情報が前記第1の識別情報である場合、当該第1の値によって示されるデータを生成し、
前記差分情報が前記第2の識別情報である場合、当該第1の値が前記受信先の候補値の集合に含まれないように前記受信先の候補値の集合を更新する、
ことを特徴とする請求項1に記載のデータ生成方法。 The difference information is
The first identification information indicating that there is no difference between the value generated based on the predetermined rule and the value indicated by the original data, or the difference between the generated value and the value indicated by the original data is Second identification information indicating that there is
The receiving device,
When the difference information is the first identification information, the data indicated by the first value is generated,
If the difference information is the second identification information, the set of candidate values for the recipient is updated such that the first value is not included in the set of candidate values for the recipient.
The data generation method according to claim 1, wherein:
前記所定のルールに基づいて生成された値と前記元データが示す値との差分がないことを示す第1の識別情報、または、前記送信元の候補値の集合を前記生成された値を基準として複数の部分に分割した複数の部分集合のうちの前記元データが示す値が含まれる部分集合を示す識別情報であって、
前記受信装置が、
前記差分情報が前記第1の識別情報である場合、当該第1の値によって示されるデータを生成し、
前記差分情報が前記複数の部分集合のいずれかの部分集合を示す識別情報である場合、前記受信先の候補値の集合を当該第1の値を基準として複数の部分に分割した複数の部分集合のうちの前記いずれかの部分集合に対応する部分集合を、前記受信先の候補値の集合として更新する、
ことを特徴とする請求項1に記載のデータ生成方法。 The difference information is
First identification information indicating that there is no difference between a value generated based on the predetermined rule and a value indicated by the original data, or a set of candidate values of the transmission source is used as a reference for the generated value. As identification information indicating a subset including a value represented by the original data among a plurality of subsets divided into a plurality of parts,
The receiving device,
When the difference information is the first identification information, the data indicated by the first value is generated,
When the difference information is identification information indicating any subset of the plurality of subsets, a plurality of subsets obtained by dividing the set of candidate values of the receiving destination into a plurality of portions based on the first value. Updating a subset corresponding to any one of the subsets as a set of candidate values of the recipient,
The data generation method according to claim 1, wherein:
前記第1の識別情報と、前記生成された値を基準として前記送信元の候補値の集合を均等に3分割した複数の部分集合の各部分集合を示す各識別情報とをそれぞれ識別可能な2ビットの情報であることを特徴とする請求項3に記載のデータ生成方法。 The difference information is
It is possible to identify the first identification information and the identification information indicating each subset of a plurality of subsets obtained by equally dividing the set of candidate values of the transmission source into three based on the generated value. The data generating method according to claim 3, wherein the data generating method is bit information.
前記受信装置が、前記元データより過去に採取された過去のダンプデータを記憶し、
前記所定のルールは、
前記過去のダンプデータに基づく値が前記送信元または前記受信先の候補値の集合に含まれる場合、当該値を第1の値として出力し、
前記過去のダンプデータに基づく値が前記送信元または前記受信先の候補値の集合に含まれない場合、前記送信元または前記受信先の候補値の集合に含まれるいずれかの値を第1の値として出力する、
ことを特徴とする請求項1〜4のいずれか一つに記載のデータ生成方法。 The original data is dump data obtained by dumping the memory of the transmission device,
The receiving device stores past dump data collected in the past from the original data,
The predetermined rule is
When the value based on the past dump data is included in the set of candidate values of the transmission source or the reception destination, the value is output as the first value,
When a value based on the past dump data is not included in the set of candidate values of the transmission source or the reception destination, a value included in the set of candidate values of the transmission source or the reception destination is set to the first value. Output as a value,
The data generation method according to any one of claims 1 to 4, characterized in that.
前記送信装置は、
前記元データが示す値となり得る送信元の候補値の集合を参照して前記送信元の候補値の集合に含まれるいずれかの値を生成する所定のルールに基づいて、第1の値を生成し、
生成した前記第1の値と前記元データが示す値との差分の大きさを示す差分情報を生成して、生成した前記差分情報を前記受信装置に送信し、
前記第1の値と、生成した前記差分情報とに基づいて、前記送信元の候補値の集合を更新し、
前記送信元の候補値の集合に含まれる候補値が1つに特定可能となるまで前記送信する処理を繰り返し、
前記受信装置は、
前記差分情報を、前記送信装置から受信し、
受信先の候補値の集合を参照して、前記所定のルールに基づいて、第1の値を生成し、
生成した当該第1の値と、受信した前記差分情報とに基づいて、前記受信先の候補値の集合を更新し、
前記受信先の候補値の集合に含まれる候補値が1つに特定可能となるまで前記受信先の候補値の集合を更新する処理を繰り返し、前記受信先の候補値の集合に含まれる候補値によって示されるデータを生成する、
処理を実行することを特徴とするデータ生成システム。 A data generation system having a transmitting device having original data and a receiving device connected to the transmitting device,
The transmitter is
Generate a first value based on a predetermined rule that refers to a set of transmission source candidate values that can be values indicated by the original data and generates any value included in the transmission source candidate value set Then
Generating difference information indicating the magnitude of the difference between the generated first value and the value indicated by the original data, and transmitting the generated difference information to the receiving device,
Updating the set of candidate values of the transmission source based on the first value and the generated difference information,
The process of transmitting is repeated until one candidate value included in the set of candidate values of the transmission source can be specified,
The receiving device,
Receiving the difference information from the transmitting device,
Generate a first value based on the predetermined rule with reference to a set of candidate values of the receiver,
Updating the set of candidate values of the receiving destination based on the generated first value and the received difference information,
The process of updating the set of candidate values of the receiving destination is repeated until one candidate value included in the set of candidate values of the receiving destination can be specified, and the candidate value included in the set of candidate value of the receiving destination is repeated. Generate the data indicated by,
A data generation system characterized by executing processing.
元データが示す値となり得る候補値の集合を参照して前記候補値の集合に含まれるいずれかの値を生成する所定のルールに基づいて生成された第1の値と前記元データが示す値との差分の大きさを示す差分情報を、前記元データを有する送信元から受信し、
前記候補値の集合を参照して、前記所定のルールに基づいて、第1の値を生成し、
生成した前記第1の値と、受信した前記差分情報とに基づいて、前記候補値の集合を更新し、
前記候補値の集合に含まれる候補値が1つに特定可能となるまで前記候補値の集合を更新する処理を繰り返し、前記候補値の集合に含まれる候補値によって示されるデータを生成する、
処理を実行させることを特徴とするデータ生成プログラム。 On the computer,
A value indicated by the original data and a first value generated based on a predetermined rule for generating any value included in the set of candidate values with reference to a set of candidate values that can be values indicated by the original data The difference information indicating the magnitude of the difference with is received from the transmission source having the original data,
Generating a first value based on the predetermined rule with reference to the set of candidate values;
Updating the set of candidate values based on the generated first value and the received difference information,
Repeating the process of updating the set of candidate values until one candidate value included in the set of candidate values can be specified, and generating data indicated by the candidate value included in the set of candidate values.
A data generation program characterized by executing processing.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016204731A JP6729283B2 (en) | 2016-10-18 | 2016-10-18 | Data generation method, data generation system, and data generation program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016204731A JP6729283B2 (en) | 2016-10-18 | 2016-10-18 | Data generation method, data generation system, and data generation program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018066827A JP2018066827A (en) | 2018-04-26 |
| JP6729283B2 true JP6729283B2 (en) | 2020-07-22 |
Family
ID=62087003
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016204731A Active JP6729283B2 (en) | 2016-10-18 | 2016-10-18 | Data generation method, data generation system, and data generation program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6729283B2 (en) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1117673A (en) * | 1997-06-25 | 1999-01-22 | Canon Inc | Common key encryption communication method and communication network thereof |
| JP2003186749A (en) * | 2001-12-19 | 2003-07-04 | Fujitsu Ltd | Computer, memory dump method and memory dump program |
| JP5208717B2 (en) * | 2008-12-24 | 2013-06-12 | 中国電力株式会社 | Integer encryption and decryption methods |
-
2016
- 2016-10-18 JP JP2016204731A patent/JP6729283B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018066827A (en) | 2018-04-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113591119B (en) | Method and system for data privacy protection and secure sharing of cross-domain identification resolution nodes | |
| CN116547941B (en) | Secure re-encryption of homomorphically encrypted data | |
| CN116015983B (en) | Network security vulnerability analysis method and system based on digital twin | |
| CN111782620B (en) | A credit link automatic tracking platform and method | |
| CN111711611B (en) | Data processing method, device, medium, equipment and application based on block chain | |
| US20170134156A1 (en) | Homomorphic Encryption with Optimized Parameter Selection | |
| CN110309587B (en) | Decision model construction method, decision method and decision model | |
| CN112804348B (en) | Method for judging repeatability of reported data of edge computing node by cloud monitoring center | |
| CN113032357A (en) | File storage method and device and server | |
| CN113111951B (en) | Data processing method and device | |
| CN108881454B (en) | File transmission method, mobile terminal and storage medium | |
| TW201610747A (en) | System and method for dynamic data storage | |
| CN114840861A (en) | Data processing method, device, equipment and storage medium | |
| CN114401132A (en) | Data encryption method, device, device and storage medium | |
| JP2021077307A (en) | Test data creation system and test data creation method | |
| US20140365786A1 (en) | Communication device, communication method, computer program product, and communication system | |
| Chiadighikaobi et al. | A scoping study on lightweight cryptography reviews in IoT | |
| JP6729283B2 (en) | Data generation method, data generation system, and data generation program | |
| CN102546185A (en) | Data encrypting method and encrypted data transmitting device | |
| CN120597779A (en) | A digital twin modeling system and method for oil reservoirs based on trusted computing | |
| CN117938492B (en) | Mixed block hash encryption method, device, equipment and medium | |
| CN113556333A (en) | Computer network data secure transmission method and device | |
| US9485363B1 (en) | Testing computerized analysis of communication data | |
| Skračić et al. | A Big Data solution for troubleshooting mobile network performance problems | |
| Sabonchi et al. | Ensuring Information Security in Smart Door Lock Systems Using the Cuckoo Search Algorithm. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190709 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200518 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200602 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200615 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6729283 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |