JP5544963B2 - Data processing apparatus, data distributed processing system, data processing program, and data processing method - Google Patents

Data processing apparatus, data distributed processing system, data processing program, and data processing method Download PDF

Info

Publication number
JP5544963B2
JP5544963B2 JP2010065707A JP2010065707A JP5544963B2 JP 5544963 B2 JP5544963 B2 JP 5544963B2 JP 2010065707 A JP2010065707 A JP 2010065707A JP 2010065707 A JP2010065707 A JP 2010065707A JP 5544963 B2 JP5544963 B2 JP 5544963B2
Authority
JP
Japan
Prior art keywords
data
range
processing
key
assigned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010065707A
Other languages
Japanese (ja)
Other versions
JP2011198199A (en
Inventor
正 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010065707A priority Critical patent/JP5544963B2/en
Publication of JP2011198199A publication Critical patent/JP2011198199A/en
Application granted granted Critical
Publication of JP5544963B2 publication Critical patent/JP5544963B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ処理装置、データ分散処理システム、データ処理プログラム、及び、データ処理方法に関する。   The present invention relates to a data processing device, a data distribution processing system, a data processing program, and a data processing method.

特許文献1は、方向が決められたリングトポロジに配列された複数のノードからなるシステムの分散ディレクトリのコンテンツを検索するための方法を開示する。この方法は、分散ハッシュ関数によってコンテンツの格納ノードを特定する。また、バックアップのため、コンテンツが前方ノードで複製される。   Patent Document 1 discloses a method for searching the contents of a distributed directory of a system composed of a plurality of nodes arranged in a ring topology with a determined direction. In this method, a storage node of content is specified by a distributed hash function. Also, the content is duplicated at the front node for backup.

特許文献2は、ネットワークに接続された複数のピアを開示する。各ピアは、複数属性のデータを一次元の値に変換して論理識別子を生成し、各ピアに対する論理識別子の割り当てにもとづいて、生成した論理識別子を管理する他のピアを特定し、特定した他のピアにデータを登録する。   Patent Document 2 discloses a plurality of peers connected to a network. Each peer generates a logical identifier by converting multi-attribute data into a one-dimensional value, and identifies and identifies other peers that manage the generated logical identifier based on the assignment of the logical identifier to each peer. Register data with other peers.

特許文献3は、データから生成されたハッシュ値と近いハッシュ値を持つノードに、データの実体の保存場所情報を登録する技術を開示する。   Patent Document 3 discloses a technique for registering data storage location information in a node having a hash value close to a hash value generated from data.

非特許文献1は、キーを割り当てられた複数のノードから成るシステムを開示する。当該システムは、オブジェクトの識別子の少なくとも先頭iビットがキーと一致するノードに当該オブジェクトを配置する。ビット数iはオブジェクトの人気等によって算出される。当該システムにおいて、各ノードが開始した或るオブジェクトの検索は高々iホップで終了する。   Non-Patent Document 1 discloses a system composed of a plurality of nodes assigned keys. The system places the object at a node where at least the first i bits of the object identifier match the key. The bit number i is calculated based on the popularity of the object. In the system, the search for an object started by each node is completed at most i hops.

非特許文献2は、自装置に割り当てられたキー対応のデータを格納する複数のノードから成るシステムにおけるデータ検索プロトコル(Chord)を開示する。   Non-Patent Document 2 discloses a data search protocol (Chord) in a system composed of a plurality of nodes that store key-corresponding data assigned to its own device.

特表2009−543237号公報Special table 2009-543237 特開2008−234563号公報JP 2008-234563 A 特許第4306740号公報Japanese Patent No. 4306740

V. Ramasubramanian and E. G. Sirer, “Beehive: Exploiting powerlaw query distributions for O(1) lookup performance in peer to peer overlays,” in Proceedings of the 1st USENIX Symposium on Networked Systems Design and Implementation, 2004V. Ramasubramanian and E. G. Sirer, “Beehive: Exploiting powerlaw query distributions for O (1) lookup performance in peer to peer overlays,” in Proceedings of the 1st USENIX Symposium on Networked Systems Design and Implementation, 2004 Ion Stoica , Robert Morris , David Karger , M. Frans Kaashoek ,Hari Balakrishnan, Chord: A scalable peer-to-peer lookup service for internet applications, Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications, p.149-160, August 2001, San Diego, California, United States.Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan, Chord: A scalable peer-to-peer lookup service for internet applications, Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications, p.149-160, August 2001, San Diego, California, United States.

複数のノードからなるシステムが、適切な多重度の複製データ・代替可能装置を有することが出来ない。   A system composed of a plurality of nodes cannot have an appropriate multiplicity of replicated data / substitutable devices.

特許文献1及び非特許文献1に記載された技術は、複製データの多重度を制御できない。他の文献に記載された技術は、複製データ・代替可能装置の保持を可能にしない。本発明の目的は、上記課題を解決するための技術を提供することにある。   The techniques described in Patent Document 1 and Non-Patent Document 1 cannot control the multiplicity of replicated data. Techniques described in other documents do not allow retention of replicated data and replaceable devices. The objective of this invention is providing the technique for solving the said subject.

本発明の一実施形態のデータ処理装置は、m桁の連続数値である管理キーの値の範囲が複数区間に分割されたときの各分割区間の内、自装置に割り当てられた区間の範囲(自範囲)以外の各区間を割り当てられた各々の他のデータ処理装置(他装置)と接続され、前記自範囲を記憶する管理キー保持手段と、m桁の数値である基準キーに関連付けられた処理データを受信して、前記処理データの基準キーが前記自範囲内であれば、前記処理データを所定処理の対象とし、前記自範囲外であれば、前記処理データを前記処理データの基準キーと下位j(<m)桁が一致する数値の管理キーを含む範囲が割り当てられた正常動作中の他の装置のいずれかに転送する処理データ転送手段を備える。   The data processing apparatus according to an embodiment of the present invention includes a range of sections allocated to the own apparatus among the divided sections when the management key value range, which is an m-digit continuous numerical value, is divided into a plurality of sections ( It is connected to each other data processing device (other device) to which each section other than its own range) is assigned, and is associated with a management key holding means for storing the own range and a reference key which is an m-digit numerical value. When processing data is received, if the reference key of the processing data is within the own range, the processing data is a target of the predetermined processing, and if outside the own range, the processing data is set as the reference key of the processing data. And processing data transfer means for transferring to one of other devices in normal operation to which a range including a numerical management key whose lower-order j (<m) digits match is assigned.

本発明の一実施形態のデータ処理プログラムは、m桁の連続数値である管理キーの値の範囲が複数区間に分割されたときの各分割区間の内、自装置に割り当てられた区間の範囲(自範囲)以外の各区間を割り当てられた各々の他のコンピュータ(他装置)と接続されたコンピュータに、自装置が備える管理キー保持手段に前記自範囲を記憶する管理キー保持処理と、m桁の数値である基準キーに関連付けられた処理データを受信して、前記処理データの基準キーが前記自範囲内であれば、前記処理データを所定処理の対象とし、前記自範囲外であれば、前記処理データを前記処理データの基準キーと下位j(<m)桁が一致する数値の管理キーを含む範囲が割り当てられた正常動作中の他のコンピュータのいずれかに転送する処理データ転送処理を実行させる。   The data processing program according to an embodiment of the present invention provides a range of sections assigned to its own device (within a divided range when the management key value range, which is an m-digit continuous numerical value, is divided into a plurality of sections ( A management key holding process for storing the own range in a management key holding means included in the own device in a computer connected to each other computer (other device) to which each section other than the own range is assigned, and m digits Processing data associated with a reference key that is a numerical value of the processing data, if the reference key of the processing data is within the own range, the processing data is subject to a predetermined process, and if outside the own range, Processing data transfer for transferring the processing data to any other computer in normal operation to which a range including a management key having a numerical value whose lower-order j (<m) digit matches the reference key of the processing data To perform the management.

本発明の一実施形態のデータ処理方法は、m桁の連続数値である管理キーの値の範囲が複数区間に分割されたときの各分割区間の内、自装置に割り当てられた区間の範囲(自範囲)以外の各区間を割り当てられた各々の他のデータ処理装置(他装置)と接続されたデータ処理装置が、自装置が備える管理キー保持手段に前記自範囲を記憶し、m桁の数値である基準キーに関連付けられた処理データを受信して、前記処理データの基準キーが前記自範囲内であれば、前記処理データを所定処理の対象とし、前記自範囲外であれば、前記処理データを前記処理データの基準キーと下位j(<m)桁が一致する数値の管理キーを含む範囲が割り当てられた正常動作中の他の装置のいずれかに転送する。   In the data processing method according to an embodiment of the present invention, the range of the management key value, which is an m-digit continuous numerical value, is divided into a plurality of sections. A data processing device connected to each other data processing device (other device) to which each section other than its own range) is assigned stores the own range in the management key holding means provided in the own device, and has m digits. When processing data associated with a reference key that is a numerical value is received, if the reference key of the processing data is within the own range, the processing data is subject to predetermined processing, and if the processing data is outside the own range, The processing data is transferred to one of the other devices in normal operation to which the range including the management key of the numerical value whose lower-order j (<m) digit matches the reference key of the processing data.

本発明は、複数のノードからなるシステムにおいて、要求される信頼度、システム内のノードの台数応じて、適切な多重度の複製データ・代替可能な装置を有することを可能とする。   The present invention makes it possible to have a suitable multiplicity of replicated data / substitutable apparatus in a system composed of a plurality of nodes according to the required reliability and the number of nodes in the system.

図1は、第1の実施の形態に係るデータ分散処理システム10の全体構成を示す。FIG. 1 shows the overall configuration of a data distribution processing system 10 according to the first embodiment. 図2は、図1のデータ分散処理システム10のデータの格納動作例を示す。FIG. 2 shows an example of data storage operation of the data distribution processing system 10 of FIG. 図3は、キー生成部24がシードから生成キーを算出する過程の例を示す。FIG. 3 shows an example of a process in which the key generation unit 24 calculates a generated key from the seed. 図4は、図1のデータ分散処理システム10のデータの処理動作例を示す。FIG. 4 shows an example of data processing operation of the data distribution processing system 10 of FIG. 図5はデータ処理装置20の構成を示す。FIG. 5 shows the configuration of the data processing device 20. 図6は、管理キー保持部25に格納されるデータを示す。FIG. 6 shows data stored in the management key holding unit 25. 図7は、処理データ転送部22の動作フローチャートである。FIG. 7 is an operation flowchart of the processing data transfer unit 22. 図8は、処理データ転送部22の距離d算出のフローチャートである。FIG. 8 is a flowchart for calculating the distance d of the processing data transfer unit 22. 図9は、キー生成部24の動作フローチャートである。FIG. 9 is an operation flowchart of the key generation unit 24. 図10は、格納データ転送部21の動作フローチャートである。FIG. 10 is an operation flowchart of the stored data transfer unit 21. 図11は、処理部23の動作フローチャートである。FIG. 11 is an operation flowchart of the processing unit 23. 図12は、第2の実施形態に係るデータ処理装置20の構成を示す。FIG. 12 shows the configuration of the data processing apparatus 20 according to the second embodiment.

図1は、第1の実施の形態に係るデータ分散処理システム10の全体構成を示す。データ分散処理システム10は、主ネットワーク11に接続された複数のデータ処理装置20を包含する。図1に於いて、円で囲まれたa乃至pの各々はデータ処理装置20である。以降、図中aで表されるデータ処理装置20は、データ処理装置20aと表記される。b以降も同様である。   FIG. 1 shows the overall configuration of a data distribution processing system 10 according to the first embodiment. The data distribution processing system 10 includes a plurality of data processing devices 20 connected to the main network 11. In FIG. 1, each of a to p surrounded by a circle is a data processing device 20. Hereinafter, the data processing device 20 represented by a in the drawing is referred to as a data processing device 20a. The same applies to b and thereafter.

データ分散処理システム10においては、任意の2つのデータ処理装置20が、主ネットワーク11経由で直接通信可能でなくても良い。2つのデータ処理装置20が、他のデータ処理装置20を経由して互いに通信可能であってもよい。   In the data distribution processing system 10, any two data processing devices 20 may not be able to communicate directly via the main network 11. Two data processing devices 20 may be able to communicate with each other via another data processing device 20.

データ分散処理システム10の管理者等は、各データ処理装置20に管理キーの範囲を割り当てる。管理キーはmビットの連続2進数値である。管理キーの基数は他の値であっても良い。基数は、データ分散処理システム10で一意に決まっている。   An administrator of the data distribution processing system 10 assigns a range of management keys to each data processing device 20. The management key is an m-bit continuous binary value. The radix of the management key may be another value. The radix is uniquely determined by the data distribution processing system 10.

データ分散処理システム10の管理者等は、管理キーの値の範囲を複数の連続区間に分割し、各区間を各データ処理装置20に順次、例えば、データ処理装置20aを起点に時計回り方向に割り当てる。データ分散処理システム10の管理者等は、各区間を各データ処理装置20に、他のデータ処理装置20を起点に反時計回りに割り当てても良い。   The administrator of the data distribution processing system 10 divides the range of the management key value into a plurality of continuous sections, and each section is sequentially assigned to each data processing device 20, for example, clockwise from the data processing device 20a. assign. An administrator of the data distribution processing system 10 may assign each section to each data processing device 20 and another data processing device 20 as a starting point in a counterclockwise direction.

図1に於いて、データ処理装置20aは、値がsaからeaの範囲の管理キーが割り当てられている。データ処理装置20bは、値がsbからebの範囲の管理キーが割り当てられている。他のデータ処理装置20も同様に管理キーの範囲が割り当てられている。   In FIG. 1, the data processing apparatus 20a is assigned a management key whose value ranges from sa to ea. The data processing device 20b is assigned a management key having a value ranging from sb to eb. Other data processing devices 20 are similarly assigned management key ranges.

ここで、saは管理キーの最小値、eqは最大値であり、sa<ea<sb<eb....<eqの関係にある。1つのデータ処理装置20、例えばデータ処理装置20aが、管理キーの最小値と、最大値を含む区間を割り当てられていても良い。この場合、データ処理装置20aに割り当てられた区間は、saから管理キーの最大値までの区間と最小値からeb(<sa)までの区間を併せたものとなる。   Here, sa is the minimum value of the management key, eq is the maximum value, and sa <ea <sb <eb. . . . <Equal to eq. One data processing device 20, for example, the data processing device 20a, may be assigned a section including the minimum value and the maximum value of the management key. In this case, the section allocated to the data processing device 20a is a combination of the section from sa to the maximum value of the management key and the section from the minimum value to eb (<sa).

なお、各データ処理装置20が割り当てられる管理キーの範囲の大きさは、同じであっても良いし、異なっていても良い。各範囲が包含する管理キーは1つでも複数でも良い。   The size of the management key range to which each data processing device 20 is assigned may be the same or different. One or more management keys may be included in each range.

データ処理装置20のうち、少なくとも1台、例えばデータ処理装置20jは、副ネットワーク12等を経由して、処理データ入力装置13、または、格納データ入力装置14と接続している。なお、副ネットワーク12と主ネットワーク11は、同一のネットワークであっても良い。   At least one of the data processing devices 20, for example, the data processing device 20 j, is connected to the processing data input device 13 or the stored data input device 14 via the secondary network 12 or the like. Note that the sub network 12 and the main network 11 may be the same network.

図2は、図1のデータ分散処理システム10のデータの格納動作例を示す。図2において、主ネットワーク11等の記載は省略されている。データ分散処理システム10の管理者等は、各データ処理装置20に、例えば、当該装置を示す記号付近にカギ括弧で囲まれた範囲の管理キーを割り当てている。例えば、データ処理装置20aは、値が0から13の範囲の管理キーが割り当てられている。データ処理装置20bは、値が14から30の範囲の管理キーが割り当てられている。他のデータ処理装置20も同様に管理キーの範囲が割り当てられている。   FIG. 2 shows an example of data storage operation of the data distribution processing system 10 of FIG. In FIG. 2, descriptions of the main network 11 and the like are omitted. An administrator of the data distribution processing system 10 assigns, for example, a management key in a range surrounded by square brackets to each data processing device 20 in the vicinity of a symbol indicating the device. For example, the data processing device 20a is assigned a management key having a value ranging from 0 to 13. The data processing device 20b is assigned a management key having a value in the range of 14 to 30. Other data processing devices 20 are similarly assigned management key ranges.

図2のデータ分散処理システム10において、例えば、データ処理装置20jは、格納データ入力装置14から格納データを受信し、当該格納データをデータ処理装置20c、h、p、mに転送する。データ処理装置20c、h、p、mは、格納データを受信して記憶する。   In the data distribution processing system 10 of FIG. 2, for example, the data processing device 20j receives stored data from the stored data input device 14, and transfers the stored data to the data processing devices 20c, h, p, m. The data processing devices 20c, h, p, m receive and store the stored data.

このときデータ処理装置20jは、図3に示すような過程を経て転送先のデータ処理装置20を決定する。   At this time, the data processing device 20j determines the transfer destination data processing device 20 through the process shown in FIG.

先ず、データ処理装置20jは、格納データに関連付けられた基準キーを得る。格納データに関連付けられた基準キーは、例えば、格納データに含まれるシードから算出されるハッシュ値である。シードは、ハッシュ値算出の基となるデータである。基準キーは、格納データとは別に受信されるシードのハッシュ値であっても良いし、格納データ、または格納データと別に受信されるデータの一部の値であっても良い。   First, the data processing device 20j obtains a reference key associated with stored data. The reference key associated with the stored data is, for example, a hash value calculated from a seed included in the stored data. The seed is data serving as a basis for calculating the hash value. The reference key may be a hash value of a seed received separately from the stored data, or may be a value of a part of the data received separately from the stored data or the stored data.

図3に於ける基準キーは、シード”田町駅”から算出されるハッシュ値である。当該基準キーは、2進数で”10101010”、即ち10進数で”170”である。   The reference key in FIG. 3 is a hash value calculated from the seed “Tamachi Station”. The reference key is “10101010” in binary, that is, “170” in decimal.

次に、データ処理装置20jは、基準キーの上位n桁を、n桁がとりうる値全ての値で置換して、複数のキー(生成キー)を算出する。   Next, the data processing device 20j calculates a plurality of keys (generated keys) by replacing the upper n digits of the reference key with all the values that the n digits can take.

図3に於ける生成キーは、ハッシュ値”10101010”の上位2ビットを、{00,01,10,11}のそれぞれに置き換えた4個の値である。生成キーは、10進数でそれぞれ、”42”、”106”、”170”、”234”となる。   The generated keys in FIG. 3 are four values obtained by replacing the upper 2 bits of the hash value “10101010” with {00, 01, 10, 11}, respectively. The generated keys are decimal numbers “42”, “106”, “170”, and “234”, respectively.

データ処理装置20jは、割り当てられた管理キーの範囲内に各生成キーを包含する4台のデータ処理装置20c、h、p、mに格納データを転送する。   The data processing device 20j transfers the stored data to the four data processing devices 20c, h, p, m that include each generated key within the range of the assigned management key.

図4は、図1のデータ分散処理システム10のデータの処理動作例を示す。図4において、主ネットワーク11等の記載は省略されている。図4のデータ分散処理システム10の管理者等は、各データ処理装置20に、例えば、図3と同じ範囲の管理キーを割り当てている。   FIG. 4 shows an example of data processing operation of the data distribution processing system 10 of FIG. In FIG. 4, descriptions of the main network 11 and the like are omitted. The administrator of the data distribution processing system 10 in FIG. 4 assigns, for example, management keys in the same range as in FIG. 3 to each data processing device 20.

図4のデータ分散処理システム10において、例えば、データ処理装置20jは、処理データ入力装置13から処理データを受信し、当該処理データをデータ処理装置20mに転送する。データ処理装置20mは、処理データを受信して、当該データに対して所定の処理を実行する。   In the data distribution processing system 10 of FIG. 4, for example, the data processing device 20j receives the processing data from the processing data input device 13, and transfers the processing data to the data processing device 20m. The data processing device 20m receives the processing data and executes predetermined processing on the data.

処理データを受信したデータ処理装置20jは、処理データに関連付けられた基準キーから生成キーを算出する。この算出は、格納データを受信したデータ処理装置20jが行った生成キーの算出と同様である。   The data processing device 20j that has received the processing data calculates a generation key from the reference key associated with the processing data. This calculation is similar to the generation key calculation performed by the data processing device 20j that has received the stored data.

例えば、処理データに含まれるシードが”田町駅”である場合、図3に示すように、生成キーは、10進数でそれぞれ、”42”、”106”、”170”、”234”となる。   For example, when the seed included in the processing data is “Tamachi Station”, as shown in FIG. 3, the generation keys are “42”, “106”, “170”, and “234” in decimal numbers, respectively. .

データ処理装置20jは、割り当てられた管理キーの範囲内に、自装置に割り当てられた管理キーの範囲(127乃至139)との距離(図8等を参照)が最も近い生成キー”170”を包含するデータ処理装置20mに処理データを転送する。   The data processing device 20j includes the generated key “170” having the closest distance (see FIG. 8 etc.) with the management key range (127 to 139) assigned to the own device within the assigned management key range. The processing data is transferred to the data processing device 20m to be included.

処理データは、データ処理装置20jからデータ処理装置20mへホップ・バイ・ホップで転送される。当該処理データは、データ処理装置20mに到達するまでにデータ処理装置20kやデータ処理装置20l等の、他のデータ処理装置20を経由するかもしれない。どのデータ処理装置20を経由するかは、データ分散処理システム10に適用するルーティングプロトコルに依存する。   The processing data is transferred hop-by-hop from the data processing device 20j to the data processing device 20m. The processing data may pass through another data processing device 20 such as the data processing device 20k or the data processing device 20l before reaching the data processing device 20m. Which data processing device 20 is routed depends on the routing protocol applied to the data distribution processing system 10.

但し、本実施形態のデータ分散処理システム10は、割り当てられた管理キーの距離が近いデータ処理装置20間のポップ数が、割り当てられた管理キーの距離が遠いデータ処理装置20間のポップ数以下になるようなルーティングプロトコルを使用する。このようなプロトコルの例は、非特許文献2に記載されている。   However, in the data distribution processing system 10 according to the present embodiment, the number of pops between the data processing devices 20 with the assigned management key distance is less than the number of pops between the data processing devices 20 with the assigned management key distance far. Use a routing protocol such that An example of such a protocol is described in Non-Patent Document 2.

データ処理装置20mで実行される所定の処理は、データ分散処理システム10に対応して決まっている。   Predetermined processing executed by the data processing device 20m is determined corresponding to the data distribution processing system 10.

データ処理装置20jが受信した処理データをデータ処理装置20mに転送する理由は、例えば、所定の処理が、図2で説明した格納データを要求するからである。或いは、例えば、所定の処理が、データ処理装置20c、h、p、mだけが備える高性能プロセッサ、画像処理エンジン等の装置を必要とするからである。   The reason why the processing data received by the data processing device 20j is transferred to the data processing device 20m is, for example, that the predetermined processing requests the storage data described in FIG. Alternatively, for example, the predetermined processing requires a device such as a high-performance processor or an image processing engine provided only in the data processing devices 20c, h, p, and m.

なお、データ処理装置20mが正常に動作していないような場合、処理データは、例えば、データ処理装置20pに転送される。その理由は、データ処理装置20pは、図2が示すようにデータ処理装置20mと同じ格納データの複製を有する、或いはデータ処理装置20mが備える装置と代替可能な装置を備えるからである。   If the data processing device 20m does not operate normally, the processing data is transferred to the data processing device 20p, for example. The reason is that the data processing device 20p has a copy of the same stored data as the data processing device 20m as shown in FIG. 2, or a device that can replace the device provided in the data processing device 20m.

本実施形態のデータ分散処理システム10は、例えば、publish/subscribe(pub/sub)型のシステムとして動作する。このシステムに於いて、格納データ入力装置14等で実行されるアプリケーションプログラムは、あらかじめサブスクリプションを格納データとして何れかのデータ処理装置20、例えば、データ処理装置20jに入力する。サブスクリプションは、何れかのデータ処理装置20、例えば、データ処理装置20m等に格納される。   The data distribution processing system 10 of this embodiment operates as a publish / subscribe (pub / sub) type system, for example. In this system, an application program executed by the stored data input device 14 or the like inputs a subscription as stored data in advance to any data processing device 20, for example, the data processing device 20j. The subscription is stored in any data processing device 20, for example, the data processing device 20m.

サブスクリプションは、イベントの条件と当該条件を満足するイベントが入力されたときに通知する外部システムのアドレスから構成される。   The subscription is composed of an event condition and an address of an external system that is notified when an event that satisfies the condition is input.

あるデータ処理装置20が、処理データ入力装置13から処理データとしてイベントを入力した場合、当該データ処理装置20は、当該イベントを、サブスクリプションを格納しているデータ処理装置20に転送する。例えば、データ処理装置20jが、処理データ入力装置13から処理データとしてイベントを入力し、当該イベントを、サブスクリプションを格納しているデータ処理装置20mに転送する。   When a certain data processing device 20 inputs an event as processing data from the processing data input device 13, the data processing device 20 transfers the event to the data processing device 20 that stores the subscription. For example, the data processing device 20j inputs an event as processing data from the processing data input device 13, and transfers the event to the data processing device 20m that stores the subscription.

サブスクリプションを格納しているデータ処理装置20は、転送されたイベントと登録されているサブスクリプションのイベント条件を照合し、合致すれば当該イベントをサブスクリプションで指定された外部システムに通知する。   The data processing device 20 that stores the subscription collates the transferred event with the event condition of the registered subscription, and if it matches, notifies the external system designated by the subscription of the event.

この場合、入力されたイベントと登録されているイベント条件の照合、外部システムへの通知が、上述した所定の処理に該当する。   In this case, the collation of the input event with the registered event condition and the notification to the external system correspond to the predetermined processing described above.

なお、イベントは1つ以上のデータ項目からなる処理データである。各データ項目は、属性名と属性値から構成される。例えば、処理データ入力装置13が、センサが観測した20℃の温度、60%の湿度を基にイベントを生成する場合、イベントは、属性名が“温度”で属性値が20℃であるデータ項目と、属性名が“湿度”で属性値が60%であるデータ項目から構成される。   An event is processing data composed of one or more data items. Each data item is composed of an attribute name and an attribute value. For example, when the processing data input device 13 generates an event based on the temperature of 20 ° C. and the humidity of 60% observed by the sensor, the event is a data item whose attribute name is “temperature” and whose attribute value is 20 ° C. And an attribute name “humidity” and an attribute value of 60%.

本システムのデータ処理装置20は、サブスクリプション、及びイベントの属性値をシードとして、生成キーを算出する。   The data processing apparatus 20 of this system calculates a generation key using the subscription and event attribute values as seeds.

また、本実施形態のデータ分散処理システム10は、オブジェクトデータを分散して格納するストレージとしても機能出来る。この場合、各オブジェクトデータは、各データ処理装置20が分担して格納する格納データである。   The data distribution processing system 10 of this embodiment can also function as a storage that stores object data in a distributed manner. In this case, each object data is stored data that each data processing device 20 shares and stores.

オブジェクトデータを要求する処理データ入力装置13がデータの条件(クエリ)を処理データとしてデータ分散処理システム10に入力する。クエリを入力したデータ処理装置20、例えばデータ処理装置20jは、上述と同様にオブジェクトデータを格納するデータ処理装置20、例えばデータ処理装置20mを特定する。   A processing data input device 13 that requests object data inputs a data condition (query) to the data distribution processing system 10 as processing data. The data processing device 20, for example, the data processing device 20j, to which the query is input, specifies the data processing device 20, for example, the data processing device 20m, that stores the object data in the same manner as described above.

データ処理装置20jは、データ処理装置20mからクエリ実行結果としての当該オブジェクトデータを受信して、処理データ入力装置13に応答する。この場合、クエリを実行して要求されたオブジェクトデータを得ることが、データ処理装置20が実行する所定の処理となる。   The data processing device 20j receives the object data as a query execution result from the data processing device 20m, and responds to the processing data input device 13. In this case, executing the query to obtain the requested object data is a predetermined process executed by the data processing device 20.

図5は、本実施の形態のデータ処理装置20の構成を示す。データ処理装置20は、処理データ転送部22、管理キー保持部25を包含する。データ処理装置20は、格納データ転送部21、処理部23、キー生成部24、通信部27、格納データ保持部26を包含していても良い。   FIG. 5 shows the configuration of the data processing apparatus 20 of the present embodiment. The data processing device 20 includes a processing data transfer unit 22 and a management key holding unit 25. The data processing device 20 may include a stored data transfer unit 21, a processing unit 23, a key generation unit 24, a communication unit 27, and a stored data holding unit 26.

格納データ転送部21は、格納データ入力装置14から格納データを受信して、他のデータ処理装置20に転送等する(図2を参照)。処理データ転送部22は、処理データ入力装置13から処理データを受信して、他のデータ処理装置20に転送等する(図4を参照)。キー生成部24は、シードから生成キーを算出する(図3を参照)。   The stored data transfer unit 21 receives the stored data from the stored data input device 14 and transfers it to another data processing device 20 (see FIG. 2). The processing data transfer unit 22 receives the processing data from the processing data input device 13 and transfers it to another data processing device 20 (see FIG. 4). The key generation unit 24 calculates a generation key from the seed (see FIG. 3).

処理部23は、処理データを入力して所定の処理を実行する等の機能を有する。通信部27は、他のデータ処理装置20との通信を行う。通信部27は、ルーティングプロトコル処理を実行しても良い。   The processing unit 23 has functions such as inputting processing data and executing predetermined processing. The communication unit 27 communicates with other data processing devices 20. The communication unit 27 may execute routing protocol processing.

格納データ転送部21および処理データ転送部22は、キー生成部24の機能を包含しても良い。格納データ転送部21、処理データ転送部22および処理部23は、通信部27の機能を包含しても良い。更に、処理部23、格納データ保持部26は、データ処理装置20に接続される他の装置、例えばデータベースサーバに存在しても良い。   The stored data transfer unit 21 and the processing data transfer unit 22 may include the function of the key generation unit 24. The stored data transfer unit 21, the processing data transfer unit 22, and the processing unit 23 may include the function of the communication unit 27. Furthermore, the processing unit 23 and the stored data holding unit 26 may exist in another device connected to the data processing device 20, for example, a database server.

格納データ転送部21、処理データ転送部22および処理部23は、専用のハードウェアで実現される。格納データ転送部21、処理データ転送部22および処理部23の全部または一部は、データ処理装置20の図示されないプロセッサが、データ処理プログラム28を実行することで実現されても良い。   The stored data transfer unit 21, the processing data transfer unit 22, and the processing unit 23 are realized by dedicated hardware. All or part of the stored data transfer unit 21, the processing data transfer unit 22, and the processing unit 23 may be realized by executing a data processing program 28 by a processor (not shown) of the data processing device 20.

管理キー保持部25、格納データ保持部26は、ディスク装置、半導体メモリ等の記憶装置である。格納データ保持部26は、上述したサブスクリプション、オブジェクトデータ等である格納データを格納する。格納データが具体的にどのようなデータであるかは、データ分散処理システム10に依存する。   The management key holding unit 25 and the stored data holding unit 26 are storage devices such as a disk device and a semiconductor memory. The stored data holding unit 26 stores stored data such as the above-described subscription and object data. The specific data stored data depends on the data distribution processing system 10.

図6は、管理キー保持部25に格納されるデータを示す。データ分散処理システム10の管理者等は、管理キー保持部25に、自範囲30、キー長31、複製桁数32に値を設定する。   FIG. 6 shows data stored in the management key holding unit 25. An administrator of the data distribution processing system 10 sets values in the management key holding unit 25 for the own range 30, the key length 31, and the number of duplicate digits 32.

自範囲30は、自装置に割り当てられた管理キーの範囲の最小値と最大値を保持する。例えば、図2、図3におけるデータ処理装置20jにおいて、kminが127、kmaxが139である。格納データ保持部26が保持する格納データは、そのシードから算出された生成キーkが、自範囲30の範囲内であるものである。   The own range 30 holds the minimum value and the maximum value of the management key range assigned to the own device. For example, in the data processing device 20j shown in FIGS. 2 and 3, kmin is 127 and kmax is 139. The stored data held by the stored data holding unit 26 is such that the generated key k calculated from the seed is within the range of the own range 30.

キー長31は、管理キー、基準キー、生成キーの桁数m(正の整数)を保持する。図3の例に於いて、mは8ビットである。キー生成部24は、キー長31で指定された長さのキーを生成する。   The key length 31 holds the number m (positive integer) of the management key, the reference key, and the generated key. In the example of FIG. 3, m is 8 bits. The key generation unit 24 generates a key having a length specified by the key length 31.

複製桁数32は、格納データの複製を格納するデータ処理装置20の数(複製多重度)の上限を、基準キー、生成キーの上位桁数nという形式で保持する。複製多重度の上限は基準キー、生成キーの基数のn乗である。図3の例に於いてnは2ビットであり、複製多重度の上限は2の2乗で4となる。   The number of duplicate digits 32 holds the upper limit of the number of data processing devices 20 (duplication multiplicity) for storing duplicates of stored data in the form of the number n of upper digits of the reference key and the generated key. The upper limit of the multiplicity of replication is the nth power of the base of the reference key and the generated key. In the example of FIG. 3, n is 2 bits, and the upper limit of the replication multiplicity is 2 squared to 4.

なお、本発明に於いては、m桁の基準キー、生成キーの上位n桁と下位j(=m−n)桁に分けて扱う場合がある。   In the present invention, there are cases where the m-digit reference key and the generated key are divided into upper n digits and lower j (= mn) digits.

なお、データ分散処理システム10の格納データの複製多重度が、上限より小さくなる場合がある。格納データ転送部21は、上限数の分散された値の生成キーを算出し、複製を、各生成キーを自範囲30内に含むデータ処理装置20に作成しようとする。しかし、算出された複数の生成キーが、一台のデータ処理装置20の自範囲30内に含まれてしまう場合があり、この場合、複製多重度が上限より小さくなる。   Note that the replication multiplicity of stored data in the data distribution processing system 10 may be smaller than the upper limit. The stored data transfer unit 21 calculates a generation key having an upper limit number of distributed values, and tries to create a copy in the data processing apparatus 20 including each generation key in its own range 30. However, a plurality of calculated generated keys may be included in the own range 30 of one data processing apparatus 20, and in this case, the replication multiplicity is smaller than the upper limit.

図7は、処理データ転送部22の動作フローチャートである。処理データ転送部22は、処理データ入力装置13から処理データを受信する(S1)と、処理データのシードをキー生成部24に入力して、キー生成部24から1以上の生成キーを取得する(S2)。   FIG. 7 is an operation flowchart of the processing data transfer unit 22. When the process data transfer unit 22 receives the process data from the process data input device 13 (S1), the process data transfer unit 22 inputs a seed of the process data to the key generation unit 24 and acquires one or more generation keys from the key generation unit 24. (S2).

次に、処理データ転送部22は、自装置に割り当てられている管理キーの範囲と、各生成キーとの距離のうち、最小の距離dminと当該dminを与える生成キーである転送ターゲットキーを求める。   Next, the processing data transfer unit 22 obtains a minimum distance dmin and a transfer target key that is a generated key that gives the dmin out of the range of the management key assigned to the own device and each generated key. .

先ず、処理データ転送部22は、dminをMAXとして初期化する(S3)。MAXは生成キーがとり得る最大値である。キー長31がmである場合、生成キーの最大値は、(基数のm乗−1)である。   First, the processing data transfer unit 22 initializes dmin as MAX (S3). MAX is the maximum value that the generated key can take. When the key length 31 is m, the maximum value of the generated key is (radix m-1).

次に、処理データ転送部22は、各生成キーkに対して、ステップS4乃至S6の処理を繰り返し実行する。   Next, the process data transfer unit 22 repeatedly executes the processes of steps S4 to S6 for each generated key k.

処理データ転送部22は、後述する図8に示される処理を実行して自範囲30とkとの距離dを求める(S4)。dmin>dならば(S5でY)、処理データ転送部22は、新たにdをdminとし、kを転送ターゲットキーとする(S6)。   The process data transfer unit 22 executes the process shown in FIG. 8 to be described later to obtain the distance d between the own range 30 and k (S4). If dmin> d (Y in S5), the process data transfer unit 22 newly sets d as dmin and k as a transfer target key (S6).

各生成キーkについて上述の処理完了後、dmin=0でなければ(S7でN)、処理データ転送部22は、転送ターゲットキーを割り当てられたデータ処理装置20に処理データを転送する(S8)。   If dmin = 0 is not satisfied after completion of the above-described processing for each generated key k (N in S7), the processing data transfer unit 22 transfers the processing data to the data processing device 20 to which the transfer target key is assigned (S8). .

正常に転送が完了すれば(S9でY)、処理データ転送部22は処理を終了する。正常に転送が完了しない場合(S9でN)、処理データ転送部22は現在の転送ターゲットキーであるところの生成キーを削除して(SA)、S3から繰り返し実行する。   If the transfer is completed normally (Y in S9), the process data transfer unit 22 ends the process. If the transfer is not completed normally (N in S9), the process data transfer unit 22 deletes the generated key that is the current transfer target key (SA) and repeats the process from S3.

正常に転送が完了しない場合(S9でN)、処理データ転送部22は、現在の転送ターゲットキーで示される転送先のデータ処理装置20に障害が発生していると判断して上記処理を行う。 なお、ステップSAで削除された生成キーは、ステップS4乃至S6の処理対象にならない。   If the transfer is not completed normally (N in S9), the processing data transfer unit 22 determines that a failure has occurred in the data processing device 20 that is the transfer destination indicated by the current transfer target key and performs the above processing. . Note that the generated key deleted in step SA is not a processing target in steps S4 to S6.

dmin=0であれば(S7でY)、処理データ転送部22は、自装置の処理部23に処理データを送信して(SB)、処理を終了する。   If dmin = 0 (Y in S7), the processing data transfer unit 22 transmits the processing data to the processing unit 23 of its own device (SB) and ends the processing.

図8は、処理データ転送部22の距離d算出のフローチャートである。本図は、図2または図3於ける各データ処理装置20が、処理データを時計回り方向に転送することを前提としたときの距離(時計回り距離)算出のフローチャートである。例えば、非特許文献2に記載のプロトコルを用いると、各データ処理装置20は処理データを時計回り方向に転送する。   FIG. 8 is a flowchart for calculating the distance d of the processing data transfer unit 22. This figure is a flowchart for calculating a distance (clockwise distance) on the assumption that each data processing device 20 in FIG. 2 or 3 transfers the processing data in the clockwise direction. For example, when the protocol described in Non-Patent Document 2 is used, each data processing device 20 transfers the processing data in the clockwise direction.

生成キーkについて、kmin<k<kmaxが成り立つ場合(S11でY)、処理データ転送部22は距離dを0とする(S12)。kminとkmaxは自範囲30が保持する値である。   When kmin <k <kmax holds for the generated key k (Y in S11), the processing data transfer unit 22 sets the distance d to 0 (S12). kmin and kmax are values held by the own range 30.

kmin<k<kmaxでなく(S11でN)、かつk>kmaxである場合(S14でY)、処理データ転送部22は距離dをk−kmaxとする(S13)。kmin<k<kmaxでなく(S11でN)、かつk>kmaxでない場合(S14でN)、処理データ転送部22は距離dをMAX−kmax+k+1とする(S15)。   When kmin <k <kmax is not satisfied (N in S11) and k> kmax is satisfied (Y in S14), the processing data transfer unit 22 sets the distance d to k−kmax (S13). If kmin <k <kmax is not satisfied (N in S11) and k> kmax is not satisfied (N in S14), the processing data transfer unit 22 sets the distance d to MAX−kmax + k + 1 (S15).

なお、非特許文献2に記載のプロトコルを用いる場合、各データ処理装置20は、時計回り距離で、自装置に割り当てられた管理キーの最大値から、2の(i−1)乗だけ離れた管理キーを割り当てられたデータ処理装置20のアドレスを保持する。これにより、データ分散処理システム10に於ける処理データのホップ数は、log(データ処理装置数/2のn乗)のオーダとなる。   When the protocol described in Non-Patent Document 2 is used, each data processing device 20 is separated by a power of 2 (i−1) from the maximum value of the management key assigned to the data processing device 20 at a clockwise distance. The address of the data processing device 20 to which the management key is assigned is held. As a result, the hop count of the processing data in the data distribution processing system 10 is on the order of log (number of data processing devices / 2 to the nth power).

各データ処理装置20は、処理データを受信すると、処理データの基準キーに最も近い管理キーが割り当てられたデータ処理装置20を転送先とする。前記転送データは、ホップ・バイ・ホップで、前記キーを管理するデータ処理装置20に到達する。   When each data processing device 20 receives the processing data, each data processing device 20 uses the data processing device 20 assigned the management key closest to the reference key of the processing data as the transfer destination. The transfer data reaches the data processing device 20 that manages the key on a hop-by-hop basis.

なお、キー間の距離は時計回り距離に限られない。例えば、処理データ転送部22は、キー間の距離として、逆時計回り距離を用いてもよい。この場合、距離dは、図8のS14でk>kmin、S13でMAX−k+kmin+1、S15でKmin−kとなる。更に、処理データ転送部22は、キー間の距離として、時計回り距離と逆時計回り距離のうち、より小さい値を距離としてもよい。   The distance between the keys is not limited to the clockwise distance. For example, the processing data transfer unit 22 may use a counterclockwise distance as the distance between the keys. In this case, the distance d is k> kmin in S14 of FIG. 8, MAX−k + kmin + 1 in S13, and Kmin−k in S15. Further, the processing data transfer unit 22 may set the distance between keys to a smaller value between the clockwise distance and the counterclockwise distance.

データ分散処理システム10の管理者等は、システムが実行するルーティングアルゴリズムに応じて、キー間の距離が近いデータ処理装置20間のポップ数が、距離が遠いデータ処理装置20間のポップ数以下になるように距離を定義する。処理データ転送部22は、当該定義に応じて距離を算出する。   The administrator of the data distribution processing system 10 or the like, the number of pops between the data processing devices 20 with a short distance between keys is equal to or less than the number of pops between the data processing devices 20 with a long distance according to a routing algorithm executed by the system. Define the distance to be The processing data transfer unit 22 calculates the distance according to the definition.

また、処理データ転送部22は、転送先の選択に際し、上記の距離に加えて優先度を加味しても良い。データ分散処理システム10が複数備える代替可能な装置が全く同等でない場合等に有効である。この場合、処理データ転送部22は、例えば、上述の距離と優先度を重み付け加算し、加算値の最小値を与えるデータ処理装置20を転送先とする。   Further, the processing data transfer unit 22 may consider the priority in addition to the above distance when selecting the transfer destination. This is effective when, for example, a plurality of replaceable devices included in the data distribution processing system 10 are not equivalent. In this case, for example, the processing data transfer unit 22 weights and adds the above-described distance and priority, and sets the data processing device 20 that gives the minimum value of the addition value as the transfer destination.

図9は、キー生成部24の動作フローチャートである。キー生成部24は、シードを受信する(S21)と、まず、シードをハッシュ関数に入力しハッシュ値を得る(S22)。次に、キー生成部24は、複製桁数32からビット数nを取得し(S23)、ハッシュ値の上位nビットを当該nビットの取り得る全ての組み合わせのそれぞれに置き換えて生成キーとする(S24)。前述したように、図3は、キー生成部24の生成キー算出例を示す。   FIG. 9 is an operation flowchart of the key generation unit 24. When receiving the seed (S21), the key generation unit 24 first inputs the seed into a hash function to obtain a hash value (S22). Next, the key generation unit 24 acquires the number of bits n from the number of duplicate digits 32 (S23), and replaces the upper n bits of the hash value with all possible combinations of the n bits to generate keys ( S24). As described above, FIG. 3 shows a generation key calculation example of the key generation unit 24.

図10は、格納データ転送部21の動作フローチャートである。格納データ転送部21は、格納データ入力装置14から格納データと要求タイプを受信する(S31)と、格納データのシードをキー生成部24に入力し、1以上の生成キーを取得する(S32)。   FIG. 10 is an operation flowchart of the stored data transfer unit 21. When the storage data transfer unit 21 receives the storage data and the request type from the storage data input device 14 (S31), the storage data transfer unit 21 inputs the seed of the storage data to the key generation unit 24 and acquires one or more generation keys (S32). .

次に、格納データ転送部21は、各生成キーkについてステップS33乃至S35の処理を繰り返し実行する。   Next, the stored data transfer unit 21 repeatedly executes the processes of steps S33 to S35 for each generated key k.

生成キーkについてkmin<k<kmaxが成り立たない場合(S33でN)、格納データ転送部21は、生成キーkを割り当てられたデータ処理装置20に、格納データ、要求タイプを転送する(S34)。kminとkmaxは自範囲30が保持する値である。   When kmin <k <kmax does not hold for the generated key k (N in S33), the stored data transfer unit 21 transfers the stored data and the request type to the data processing device 20 to which the generated key k is assigned (S34). . kmin and kmax are values held by the own range 30.

kmin<k<kmaxが成り立つ場合(S33でY)、格納データ転送部21は、自装置の処理部23に格納データ、要求タイプを送信する(S35)。   When kmin <k <kmax is satisfied (Y in S33), the stored data transfer unit 21 transmits the stored data and the request type to the processing unit 23 of the own apparatus (S35).

なお、要求タイプとは、格納データを登録するか、削除するかを識別するための識別子であり、“登録”、“削除”のいずれかの値を持つ。   The request type is an identifier for identifying whether stored data is registered or deleted, and has a value of “registration” or “deletion”.

図11は、処理部23の動作フローチャートである。処理部23は、他のデータ処理装置20または自装置の、格納データ転送部21から格納データを受信する。処理部23は、他のデータ処理装置20または自装置の、処理データ転送部22から処理データを受信する。   FIG. 11 is an operation flowchart of the processing unit 23. The processing unit 23 receives stored data from the stored data transfer unit 21 of another data processing device 20 or its own device. The processing unit 23 receives processing data from the processing data transfer unit 22 of another data processing device 20 or its own device.

受信データが処理データである場合(S41でY)、処理部23は当該処理データを対象に所定の処理を実行して(S44)動作を終了する。受信データが格納データである場合(S41でN)、処理部23は、要求タイプに応じた処理を実行して動作を終了する。   If the received data is processed data (Y in S41), the processing unit 23 executes a predetermined process on the processed data (S44) and ends the operation. If the received data is stored data (N in S41), the processing unit 23 executes processing according to the request type and ends the operation.

要求タイプが”登録”の場合(S42でY)、処理部23は受信した格納データを格納データ保持部26に格納する(S43)。要求タイプが”削除”の場合(S42でN)、処理部23は受信した格納データと一致するデータを格納データ保持部26から削除する(S45)。   When the request type is “registration” (Y in S42), the processing unit 23 stores the received storage data in the storage data holding unit 26 (S43). When the request type is “delete” (N in S42), the processing unit 23 deletes data that matches the received stored data from the stored data holding unit 26 (S45).

本実施形態のデータ分散処理システム10は、複数のデータ処理装置20からなるシステムである。本実施形態のデータ処理装置20は、データ分散処理システム10が、要求される信頼度、システム内のデータ処理装置20の台数応じて、適切な多重度の複製データ・代替可能な装置を有することを可能とする。   The data distribution processing system 10 according to the present embodiment is a system including a plurality of data processing devices 20. In the data processing apparatus 20 of the present embodiment, the data distribution processing system 10 has appropriate multiplicity of replicated data / substitutable apparatuses according to the required reliability and the number of data processing apparatuses 20 in the system. Is possible.

その理由は、処理データ転送部22が、処理データを、当該処理データの基準キーと下位j桁が一致する管理キーを含む範囲が割り当てられた正常動作中のいずれかの他装置に転送するからである。   The reason is that the processing data transfer unit 22 transfers the processing data to any other device in normal operation to which a range including a management key whose lower-order j digit matches the reference key of the processing data is assigned. It is.

データ分散処理システム10の管理者等は、望ましい多重度に応じて格納データや代替可能な装置等を配置した上で、適切な自範囲30、複製桁数32を設定出来る。   An administrator or the like of the data distribution processing system 10 can set an appropriate own range 30 and duplication digit number 32 after arranging stored data and replaceable devices according to a desired multiplicity.

本実施形態のデータ処理装置20は、更に、データ分散処理システム10が、要求される信頼度、システム内のデータ処理装置20の台数応じて、適切な多重度の複製データを、装置を作成することを可能とする。   In the data processing apparatus 20 according to the present embodiment, the data distribution processing system 10 further creates a copy data with appropriate multiplicity according to the required reliability and the number of data processing apparatuses 20 in the system. Make it possible.

その理由は、格納データ転送部21が、格納データを、当該処理データの基準キーと下位j桁が一致する管理キーを含む範囲が割り当てられた正常動作中の複数の他装置に転送するからである。   The reason is that the stored data transfer unit 21 transfers the stored data to a plurality of other devices in normal operation to which a range including a management key whose lower-order j digit matches the reference key of the processing data is assigned. is there.

データ分散処理システム10の管理者等は、望ましい多重度に応じて適切な複製桁数32を設定出来る。   An administrator of the data distribution processing system 10 can set an appropriate number of duplication digits 32 according to the desired multiplicity.

図12は、本発明の第2の実施形態に係るデータ処理装置20の構成を示す。データ処理装置20は、m桁の連続数値である管理キーの値の範囲が複数区間に分割されたときの各分割区間の内、自装置に割り当てられた区間の範囲(自範囲30)以外の各区間を割り当てられた各々の他のデータ処理装置20(他装置)と接続されている。   FIG. 12 shows the configuration of the data processing apparatus 20 according to the second embodiment of the present invention. The data processing device 20 has a range other than the range (own range 30) allocated to the own device among the divided sections when the management key value range, which is an m-digit continuous numerical value, is divided into a plurality of sections. Each section is connected to each other data processing apparatus 20 (other apparatus) to which each section is assigned.

データ処理装置20は、自範囲30を記憶する管理キー保持部25と処理データ転送部22を備える。   The data processing device 20 includes a management key holding unit 25 that stores its own range 30 and a processing data transfer unit 22.

処理データ転送部22は、m桁の数値である基準キーに関連付けられた処理データを受信して、処理データの基準キーが自範囲30内であれば、処理データを所定処理の対象とする。更に、処理データ転送部22は、処理データの基準キーが自範囲30外であれば、処理データを処理データの基準キーと下位j(<m)桁が一致する数値の管理キーを含む範囲が割り当てられた正常動作中の他の装置のいずれかに転送する。   The processing data transfer unit 22 receives the processing data associated with the reference key that is an m-digit numerical value, and if the processing data reference key is within its own range 30, the processing data is subject to predetermined processing. Further, if the reference key of the processing data is outside the range 30, the processing data transfer unit 22 has a range that includes the management key with a numerical value that matches the processing data reference key and the lower j (<m) digits. Transfer to one of the other assigned devices in normal operation.

本実施形態のデータ処理装置20は、データ分散処理システム10が、要求される信頼度、システム内のデータ処理装置20の台数応じて、適切な多重度の複製データ・代替可能な装置を有することを可能とする。   In the data processing apparatus 20 of the present embodiment, the data distribution processing system 10 has appropriate multiplicity of replicated data / substitutable apparatuses according to the required reliability and the number of data processing apparatuses 20 in the system. Is possible.

その理由は、処理データ転送部22が、処理データを、当該処理データの基準キーと下位j桁が一致する管理キーを含む範囲が割り当てられた正常動作中のいずれかの他装置に転送するからである。   The reason is that the processing data transfer unit 22 transfers the processing data to any other device in normal operation to which a range including a management key whose lower-order j digit matches the reference key of the processing data is assigned. It is.

10 データ分散処理システム
11 主ネットワーク
12 副ネットワーク
13 処理データ入力装置
14 格納データ入力装置
20 データ処理装置
21 格納データ転送部
22 処理データ転送部
23 処理部
24 キー生成部
25 管理キー保持部
26 格納データ保持部
27 通信部
28 データ処理プログラム
30 自範囲
31 キー長
32 複製桁数
DESCRIPTION OF SYMBOLS 10 Data distributed processing system 11 Main network 12 Sub network 13 Process data input device 14 Stored data input device 20 Data processor 21 Stored data transfer part 22 Process data transfer part 23 Process part 24 Key generation part 25 Management key holding part 26 Stored data Holding unit 27 Communication unit 28 Data processing program 30 Own range 31 Key length 32 Number of replicated digits

Claims (8)

m桁の連続数値である管理キーの値の範囲が複数区間に分割されたときの各分割区間の内、自装置に割り当てられた区間の範囲(自範囲)以外の各区間を割り当てられた各々の他のデータ処理装置(他装置)と接続され、
前記自範囲を記憶する管理キー保持手段と、
m桁の数値である基準キーに関連付けられた処理データを受信して、
前記処理データの基準キーが前記自範囲外であれば、前記処理データを、
(a)前記処理データの基準キーと下位j(<m)桁が一致する、前記自範囲より大きな数値の管理キーを含む範囲が割り当てられた正常動作中の他装置の中で、最小の管理キーの範囲を割り当てられた他装置(上位装置)、または、
(b)前記処理データの基準キーと下位j(<m)桁が一致する、前記自範囲より小さな数値の管理キーを含む範囲が割り当てられた正常動作中の他装置の中で、最大の管理キーの範囲を割り当てられた他装置(下位装置)、
の一方に転送する処理データ転送手段を備えるデータ処理装置。
Each assigned to each section other than the section range (own range) assigned to the own device among the divided sections when the range of the management key value, which is an m-digit continuous value, is divided into a plurality of sections. Connected to other data processing devices (other devices)
Management key holding means for storing the own range;
Receive processing data associated with the reference key, which is an m-digit number,
If the reference key of the processing data is outside the range, the processing data is
(A) The smallest management among other devices in normal operation to which a range including a management key having a numerical value larger than the own range, in which the lower-order j (<m) digit matches the reference key of the processing data. Other device (high-order device) assigned a key range, or
(B) The maximum management among other devices in normal operation to which a range including a management key with a numerical value smaller than the own range, in which the reference key of the processing data matches the lower j (<m) digits, is assigned. Other device (subordinate device) assigned key range,
Data processing apparatus comprising a processing data transfer means for transferring the one of.
前記処理データ転送手段は、前記処理データを、前記上位装置と前記下位装置の内、定められた一方に転送する、または、
自範囲と前記上位装置に割り当てられた管理キーの範囲距離と自範囲と前記下位装置に割り当てられた管理キーの範囲距離とを比較して、距離が小さな一方に転送する、請求項のデータ処理装置。
It said processing data transfer means, the processing data, among the upper device and said lower device, and transfers the one constant order was, or,
The distance between the own range and the range of the management key assigned to the higher-level device is compared with the distance between the own range and the range of the management key assigned to the lower-level device, and the distance is transferred to the smaller one. Data processing equipment.
格納データ保持手段と、
前記格納データ保持手段内の格納データを用いて所定の処理を実行する処理手段と、
基準キーに関連付けられた格納データを受信して、前記格納データの基準キーと下位j(<m)桁が一致するキーが前記自範囲内であれば、前記処理データを前記格納データ保持手段に格納し、
前記自範囲外であれば、前記格納データを前記格納データの基準キーと下位n桁が一致する管理キーを含む範囲が割り当てられた複数の他装置に転送する格納データ転送手段を備える請求項1乃至の何れかのデータ処理装置。
Stored data holding means;
Processing means for executing the given processing using data stored in the storage data holding means,
If the stored data associated with the reference key is received, and the key whose lower j (<m) digit matches the reference key of the stored data is within the own range, the processed data is stored in the stored data holding means. Store and
2. A stored data transfer means for transferring the stored data to a plurality of other devices to which a range including a management key whose lower n digits match the reference key of the stored data is assigned if it is outside the range. The data processing device according to any one of 1 to 2 .
請求項1乃至の何れかのデータ処理装置と、
前記自範囲以外の各区間を割り当てられた各々の他装置と、
前記データ処理装置に接続され、前記データ処理装置に処理データを送信する処理データ入力装置を包含するデータ分散処理システム。
A data processing device according to any one of claims 1 to 3 ,
Each other device assigned each section other than the own range;
A data distribution processing system including a processing data input device connected to the data processing device and transmitting processing data to the data processing device.
m桁の連続数値である管理キーの値の範囲が複数区間に分割されたときの各分割区間の内、自装置に割り当てられた区間の範囲(自範囲)以外の各区間を割り当てられた各々の他のコンピュータ(他装置)と接続されたコンピュータに、
自装置が備える管理キー保持手段に前記自範囲を記憶する管理キー保持処理と、
m桁の数値である基準キーに関連付けられた処理データを受信して、
前記処理データの基準キーが前記自範囲外であれば、前記処理データを、
(a)前記処理データの基準キーと下位j(<m)桁が一致する、前記自範囲より大きな数値の管理キーを含む範囲が割り当てられた正常動作中の他装置の中で、最小の管理キーの範囲を割り当てられた他装置(上位装置)、または、
(b)前記処理データの基準キーと下位j(<m)桁が一致する、前記自範囲より小さな数値の管理キーを含む範囲が割り当てられた正常動作中の他装置の中で、最大の管理キーの範囲を割り当てられた他装置(下位装置)、
の一方に転送する前記処理データ転送処理を実行させるデータ処理プログラム。
Each assigned to each section other than the section range (own range) assigned to the own device among the divided sections when the range of the management key value, which is an m-digit continuous value, is divided into a plurality of sections. To computers connected to other computers (other devices)
A management key holding process for storing the own range in a management key holding means provided in the own device;
Receive processing data associated with the reference key, which is an m-digit number,
If the reference key of the processed data is outside the own range, the pre-Symbol processing data,
(A) The smallest management among other devices in normal operation to which a range including a management key having a numerical value larger than the own range, in which the lower-order j (<m) digit matches the reference key of the processing data. Other device (high-order device) assigned a key range, or
(B) The maximum management among other devices in normal operation to which a range including a management key with a numerical value smaller than the own range, in which the reference key of the processing data matches the lower j (<m) digits, is assigned. Other device (subordinate device) assigned key range,
It said processing Lud over data processing program to execute the data transfer process of transferring the one of.
前記コンピュータに、
前記処理データを、前記上位装置と前記下位装置の内、定められた一方に転送する、または、
自範囲と前記上位装置に割り当てられた管理キーの範囲距離と自範囲と前記下位装置に割り当てられた管理キーの範囲距離とを比較して、距離が小さな一方に転送する前記処理データ転送処理を実行させる、請求項のデータ処理プログラム。
In the computer,
Said process data, among the upper device and said lower device, and transfers one was constant because, or,
The processing data transfer in which the distance between the own range and the range of the management key assigned to the higher-level device and the distance between the own range and the range of the management key assigned to the lower-level device are compared and transferred to one having a smaller distance The data processing program according to claim 5 , wherein the processing is executed.
前記コンピュータに、
前記コンピュータが備える格納データ保持手段内の格納データを用いて所定の処理を実行する処理実行処理と、
基準キーに関連付けられた格納データを受信して、前記格納データの基準キーと下位j(<m)桁が一致するキーが前記自範囲内であれば、前記処理データを前記格納データ保持手段に格納し、
前記自範囲外であれば、前記格納データを前記格納データの基準キーと下位n桁が一致する管理キーを含む範囲が割り当てられた複数の他装置に転送する格納データ転送処理を実行させる請求項5乃至6の何れかのデータ処理プログラム。
In the computer,
And processing execution processing for executing the given process using the stored data in the storage data holding means included in the computer,
If the stored data associated with the reference key is received, and the key whose lower j (<m) digit matches the reference key of the stored data is within the own range, the processed data is stored in the stored data holding means. Store and
A storage data transfer process is executed for transferring the stored data to a plurality of other devices to which a range including a management key whose lower-order n digits match the reference key of the stored data is outside the own range. A data processing program according to any one of 5 to 6 .
m桁の連続数値である管理キーの値の範囲が複数区間に分割されたときの各分割区間の内、自装置に割り当てられた区間の範囲(自範囲)以外の各区間を割り当てられた各々の他のデータ処理装置(他装置)と接続されたデータ処理装置が、
自装置が備える管理キー保持手段に前記自範囲を記憶し、
m桁の数値である基準キーに関連付けられた処理データを受信して、
前記処理データの基準キーが前記自範囲外であれば、前記処理データを
(a)前記処理データの基準キーと下位j(<m)桁が一致する、前記自範囲より大きな数値の管理キーを含む範囲が割り当てられた正常動作中の他装置の中で、最小の管理キーの範囲を割り当てられた他装置(上位装置)、または、
(b)前記処理データの基準キーと下位j(<m)桁が一致する、前記自範囲より小さな数値の管理キーを含む範囲が割り当てられた正常動作中の他装置の中で、最大の管理キーの範囲を割り当てられた他装置(下位装置)、
の一方に転送するデータ処理方法。
Each assigned to each section other than the section range (own range) assigned to the own device among the divided sections when the range of the management key value, which is an m-digit continuous value, is divided into a plurality of sections. A data processing device connected to another data processing device (other device)
The own range is stored in the management key holding means provided in the own device,
Receive processing data associated with the reference key, which is an m-digit number,
If the reference key of the processed data is outside the own range, the process data
(A) The smallest management among other devices in normal operation to which a range including a management key having a numerical value larger than the own range, in which the lower-order j (<m) digit matches the reference key of the processing data. Other device (high-order device) assigned a key range, or
(B) The maximum management among other devices in normal operation to which a range including a management key with a numerical value smaller than the own range, in which the reference key of the processing data matches the lower j (<m) digits, is assigned. Other device (subordinate device) assigned key range,
Data processing method to transfer to one of the.
JP2010065707A 2010-03-23 2010-03-23 Data processing apparatus, data distributed processing system, data processing program, and data processing method Expired - Fee Related JP5544963B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010065707A JP5544963B2 (en) 2010-03-23 2010-03-23 Data processing apparatus, data distributed processing system, data processing program, and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010065707A JP5544963B2 (en) 2010-03-23 2010-03-23 Data processing apparatus, data distributed processing system, data processing program, and data processing method

Publications (2)

Publication Number Publication Date
JP2011198199A JP2011198199A (en) 2011-10-06
JP5544963B2 true JP5544963B2 (en) 2014-07-09

Family

ID=44876277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010065707A Expired - Fee Related JP5544963B2 (en) 2010-03-23 2010-03-23 Data processing apparatus, data distributed processing system, data processing program, and data processing method

Country Status (1)

Country Link
JP (1) JP5544963B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6697158B2 (en) 2016-06-10 2020-05-20 富士通株式会社 Information management program, information management method, and information management device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007006214A (en) * 2005-06-24 2007-01-11 Nippon Telegr & Teleph Corp <Ntt> Resource information retrieving system, resolver, and program
JP2008234563A (en) * 2007-03-23 2008-10-02 Nec Corp Overlay management device, overlay management system, overlay management method, and program for managing overlay

Also Published As

Publication number Publication date
JP2011198199A (en) 2011-10-06

Similar Documents

Publication Publication Date Title
US9489827B2 (en) System and method for distributing content in a video surveillance network
JP5016063B2 (en) Consistent fault-tolerant distributed hash table (DHT) overlay network
US8051205B2 (en) Peer-to-peer distributed storage
US8005982B2 (en) Data storage method and system
US20150215405A1 (en) Methods of managing and storing distributed files based on information-centric network
Zhang et al. Distributed hash table: Theory, platforms and applications
US7177867B2 (en) Method and apparatus for providing scalable resource discovery
Kan et al. MTFS: Merkle-tree-based file system
WO2010111887A1 (en) Data node apparatus, opposite terminal information acquisition method and system
JP2008102795A (en) File management device, system, and program
Kryukov et al. Decentralized data storages: Technologies of construction
Kothari et al. A distributed peer-to-peer storage network
Hassanzadeh-Nazarabadi et al. Laras: Locality aware replication algorithm for the skip graph
JP5544963B2 (en) Data processing apparatus, data distributed processing system, data processing program, and data processing method
Manku Dipsea: a modular distributed hash table
Abdallah et al. Ftree-CDN: Hybrid CDN and P2P architecture for efficient content distribution
Masood et al. Dht-pdp: A distributed hash table based provable data possession mechanism in cloud storage
Nallakannu et al. PSO‐based optimal peer selection approach for highly secure and trusted P2P system
JP2007156700A (en) Information retrieval method, information registration method and network service information retrieval system
WO2013027784A1 (en) Data processing device, data distribution processing system, data processing method, and program storage medium
US11463261B1 (en) Nested ledger
Kurokawa et al. Study on the distributed data sharing mechanism with a mutual authentication and meta database technology
Li et al. A multidimensional index for range queries over Cayley‐based DHT
Ma et al. Data resource discovery model based on hybrid architecture in data grid environment
JP6036302B2 (en) Information processing apparatus, information processing system, information processing method, and information processing program

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110707

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140217

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: 20140415

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140428

R150 Certificate of patent or registration of utility model

Ref document number: 5544963

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees