JP2005354364A - Distributed data processing and managing device, and its method - Google Patents
Distributed data processing and managing device, and its method Download PDFInfo
- Publication number
- JP2005354364A JP2005354364A JP2004172488A JP2004172488A JP2005354364A JP 2005354364 A JP2005354364 A JP 2005354364A JP 2004172488 A JP2004172488 A JP 2004172488A JP 2004172488 A JP2004172488 A JP 2004172488A JP 2005354364 A JP2005354364 A JP 2005354364A
- Authority
- JP
- Japan
- Prior art keywords
- identifier
- routing table
- data processing
- distributed data
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、分散ハッシュ表技術を応用した分散型データ処理システムに係わり、特にシステムの応答の高速化を図った経路表の構成を特徴とする分散型データ処理/管理装置及びその方法に関する。 The present invention relates to a distributed data processing system to which a distributed hash table technique is applied, and more particularly, to a distributed data processing / management apparatus and a method therefor characterized by a configuration of a routing table designed to speed up the response of the system.
特定のサーバによらずに、ネットワークに継続的あるいは一時的に接続した計算機群によって構成される、分散型データ処理および管理システムとして、分散ハッシュ表技術を応用したシステムが知られている。
このようなシステムにおいて、ネットワークに継続的あるいは一時的に接続した計算機群は、ハッシュ関数を適用することにより得られる識別子を基準にして、お互いにアプリケーションレイヤネットワークを用いて接続している。
A system using a distributed hash table technique is known as a distributed data processing and management system configured by a group of computers connected continuously or temporarily to a network without depending on a specific server.
In such a system, a group of computers connected continuously or temporarily to a network are connected to each other using an application layer network on the basis of an identifier obtained by applying a hash function.
処理あるいは管理対象のデータは、ハッシュ関数を適用することにより得られる識別子によりアプリケーションレイヤネットワーク上を転送され、転送先計算機上で処理あるいは管理される。
このようなシステムの応答を高速化するためには、アプリケーションレイヤネットワーク上の転送にかかる時間を短縮することが望ましい。
Data to be processed or managed is transferred on the application layer network by an identifier obtained by applying a hash function, and is processed or managed on the transfer destination computer.
In order to speed up the response of such a system, it is desirable to reduce the time required for transfer on the application layer network.
ここで、分散型データ処理および管理システムに適用する分散ハッシュ表技術として、米国MIT大学のThe Chord Projectが良く知られている(非特許文献1及び2参照)。
上記Chordシステムにおいては、ハッシュ関数としてSHA-1を採用しており、160ビットのハッシュ空間を構成する。
処理あるいは管理対象のデータは、ハッシュ関数SHA-1により160ビットの識別子が割り当てられる。
Here, The Chord Project of MIT University in the United States is well known as a distributed hash table technique applied to a distributed data processing and management system (see Non-Patent
The Chord system employs SHA-1 as a hash function and constitutes a 160-bit hash space.
The data to be processed or managed is assigned a 160-bit identifier by the hash function SHA-1.
また、システムを構成する計算機についても、ネットワーク識別子、具体的には、IPアドレスとポート番号の組に対して、ハッシュ関数SHA-1を適用した160ビットの識別子により認識される。
ここで、上記160ビットのハッシュ空間は、図9に示すように、循環しているものとされる。
すなわち、2160−1識別子から見て、正の方向(矢印A)に1つ進んだ識別子は0であり、一方、識別子0から見て負の方向(矢印B)に1つ進んだ識別子は2160−1である。
Computers constituting the system are also recognized by a network identifier, specifically, a 160-bit identifier to which a hash function SHA-1 is applied to a set of an IP address and a port number.
Here, the 160-bit hash space is assumed to circulate as shown in FIG.
That is, when viewed from the 2 160 -1 identifier, the identifier advanced by 1 in the positive direction (arrow A) is 0, while the identifier advanced by 1 in the negative direction (arrow B) when viewed from the
処理あるいは管理対象のデータは、割り当てられた識別子に基づき、システムを構成する計算機のいずれかが担当する。
また、上記データを処理あるいは管理するとき、ちょうど該当する識別子を持つ計算機がない場合は、データの識別子から見て正の方向において、次に現れる識別子を持つ計算機が担当することになる。
そして、システムを構成する計算機は、アプリケーションネットワークを構成することによってお互いに通信を行う。
Data to be processed or managed is handled by one of the computers constituting the system based on the assigned identifier.
Further, when processing or managing the data, if there is no computer having the corresponding identifier, the computer having the next appearing identifier in charge in the positive direction as viewed from the data identifier is in charge.
And the computer which comprises a system communicates with each other by comprising an application network.
このときのアプリケーションネットワークは、以下のように構成される。
システムを構成する計算機は、自身の識別子から見て正の方向について次に現れる識別子を持つ計算機を、自らのSUCCESSORとして認識している。
この場合認識しているとは、SUCCESSORのIPアドレスとポート番号とを知っており(保持しており)、SUCCESSORに対してメッセージを送信可能であることをあらわしている。
システムを構成する計算機は、同様に、自身の識別子から見て負の方向について次に現れる識別子を持つ計算機を、自らのPREDECESSORとして認識している。
この場合認識しているとは、PREDECESSORのIPアドレスとポート番号とを知っており(保持しており)、PREDECESSORへのメッセージの送信可能が明確であることをあらわしている。
The application network at this time is configured as follows.
A computer constituting the system recognizes a computer having an identifier that appears next in the positive direction as viewed from its own identifier as its own SUCCESSOR.
Recognizing in this case indicates that the IP address and port number of SUCCESSOR are known (held) and that a message can be transmitted to SUCCESSOR.
Similarly, a computer constituting the system recognizes a computer having an identifier that appears next in a negative direction as viewed from its own identifier as its own PREDECESSOR.
Recognizing in this case means that the IP address and port number of the PREDECESSOR are known (held), and it is clear that the message can be sent to the PREDECESSOR.
以上のようにして構成されたアプリケーションネットワーク上において、識別子Xを持つ計算機がYを識別子とするデータを担当する計算機にメッセージを送信する際、SUCCESSORに対して転送を繰り返すことでメッセージの送信が完了することは自明である。
ただし、システムを構成する計算機の数がNであるとき、メッセージの転送回数は平均してN/2となり、Nが大きな数の場合に時間がかかりすぎるという問題が生じる。
このため、Chordシステムは上記問題に対して、FINGERと呼ばれる経路表(経路テーブル)を採用している。
On the application network configured as described above, when a computer with identifier X sends a message to a computer in charge of data with identifier Y, the message transmission is completed by repeating the transfer to SUCCESSOR. It is obvious to do.
However, when the number of computers constituting the system is N, the number of message transfers is N / 2 on average, and there is a problem that it takes too much time when N is a large number.
For this reason, the Chord system employs a routing table (route table) called FINGER for the above problem.
システムを構成する計算機(ノード)は、エントリ0からエントリ159までの160エントリからなる経路表を有している。
ここで、識別子Xを持つ計算機について、エントリi(0≦i≦159)としてのノードは、X+2imod2160の識別子のデータを担当する計算機(すなわち、ちょうどX+2imod2160の識別子を持つ計算機か、そのような計算機がない場合は、X+2imod2160の識別子から見て正の方向において次に現れる識別子を持つ計算機)となる。
A computer (node) constituting the system has a route table composed of 160 entries from
Here, the computer having an identifier X, node as the entry i (0 ≦ i ≦ 159) , X + 2 i
このとき、エントリiの経路表には、該当する計算機の識別子と、ネットワーク識別子、すなわち、IPアドレス及びポート番号が格納される。
このように構成された経路表を各計算機が有する場合、それらの計算機から構成されるアプリケーションネットワーク上において、識別子Xを有する計算機が、Yを識別子とするデータを担当する計算機にメッセージを送信するプロセスは以下の通りである。
まず、エントリiは、自身の経路表を検索して、Yを正の方向で越えない識別子のうち最もYに近づく識別子を含むエントリを抽出し、その識別子を持つ計算機にメッセージを転送する。
At this time, the identifier of the corresponding computer and the network identifier, that is, the IP address and the port number are stored in the route table of entry i.
When each computer has a routing table configured in this way, a process in which a computer having an identifier X transmits a message to a computer in charge of data having an identifier Y on an application network composed of these computers Is as follows.
First, the entry i searches its routing table, extracts an entry including an identifier that is closest to Y among identifiers that do not exceed Y in the positive direction, and transfers the message to a computer having that identifier.
転送先の計算機においても、同様に、自身の経路表を検索して、Yを正の方向で越えない識別子のうち最もYに近づく識別子を含むエントリを抽出し、その識別子を持つ計算機にメッセージを転送する。
以降の計算機においても、同様の処理を繰り返すことにより、識別子Yを持つ計算機にメッセージが到達することは自明である。
そして、経路表の構成から、転送を行う毎にハッシュ空間上での距離が半分になるため、FINGERを採用したシステムにおいては、システムを構成する計算機の数がNの時、メッセージは最大log(N)回の転送を行うことで目的地に到達する。
Similarly, the transfer destination computer also searches its routing table, extracts an entry including an identifier that approaches Y most among identifiers that do not exceed Y in the positive direction, and sends a message to the computer having that identifier. Forward.
In subsequent computers, it is obvious that the message reaches the computer having the identifier Y by repeating the same processing.
Since the distance in the hash space is halved every time transfer is performed due to the configuration of the routing table, in a system employing FINGER, when the number of computers constituting the system is N, the message is the maximum log ( N) The destination is reached by performing the transfer.
経路表自体も、上記の特性を利用することにより効率的に構成することができる。
エントリiは、i=0からi=159までの順番で帰納的に構成される。
そして、i=0のとき、X+20mod2160=X+1mod2160であり、エントリ0はSUCCESSOR(Xから見て正の方向において次に現れる識別子を持つ計算機)となる。
ここで、エントリi−1までが既に求められているとして、エントリiを求めるには、識別子X+2imod2160のデータを担当する計算機(X+2imod2160ちょうどか、そのような識別子を持つ計算機が存在しない場合は、X+2imod2160計算機から見て正の方向において次に現れる識別子の計算機)宛にメッセージを送信することになる。
The routing table itself can also be efficiently constructed by using the above characteristics.
The entry i is constructed recursively in the order from i = 0 to i = 159.
When i = 0, X + 2 0 mod2 160 = X + 1 mod2 160 , and
Here, assuming that entry i-1 has already been obtained, to obtain entry i, a computer in charge of the data of identifier X + 2 i mod2 160 (X + 2 i mod2 160 just or a computer having such an identifier is used. If it does not exist, the message is transmitted to the computer of the identifier that appears next in the positive direction as seen from the X + 2 i mod2 160 computer.
しかしながら、このとき、既に求められているエントリ0からエントリi−1までのうちで識別子X+2imod2160を、正の方向において越えない識別子のなかから、最も識別子X+2imod2160の計算機に近づくエントリ、すなわち、エントリi−1の計算機に対してメッセージを転送すればよい。
上述した転送により、ハッシュ空間上での距離は半分になる。
そして、転送先の計算機で経路表が適切に構成されていれば、転送先からも転送ごとに距離が半分になる。
However, at this time, the entry closest to the computer of the identifier X + 2 i mod2 160 from the identifiers that do not exceed the identifier X + 2 i mod2 160 in the positive direction among the
By the transfer described above, the distance on the hash space is halved.
If the routing table is appropriately configured in the transfer destination computer, the distance is also halved for each transfer from the transfer destination.
このため、最大i回の転送で目的地である識別子X+2imod2160のデータを担当する計算機(X+2imod2160ちょうどか、そのような識別子を持つ計算機が存在しない場合は、X+2imod2160から見て正の方向において次に現れる識別子の計算機)にメッセージは到達する。
このようにしてエントリiは求められる。以上の処理により、エントリ0からエントリ159は効率的に構成されうる。
以上で述べた方法をシステムを構成する各計算機で定期的に繰り返し行うことで、各計算機のFINGERによる経路表は適切に保たれる。
In this way, entry i is obtained. Through the above processing,
By periodically repeating the method described above on each computer that constitutes the system, the routing table of each computer using FINGER is maintained appropriately.
上述したように、特許文献1及び2に示すChordシステムは、FINGERによる経路表構成法の採用により、システムを構成する計算機の数がNのとき、アプリケーションネットワーク上で最大1og(N)回、平均してlog(N)/2回の転送を繰り返すことにより、任意の2計算機の間でメッセージを送信することができる。
しかしながら、Chordシステムをインターネットに適用したとして、システムを構成する計算機の数が100万台程度であるとした場合、log(106)≒20であることから、平均して10回の転送がアプリケーションネットワーク上で必要となる。
As described above, the Chord system shown in
However, assuming that the Chord system is applied to the Internet and the number of computers constituting the system is about 1 million, log (10 6 ) ≈20. Required on the network.
これはアプリケーションネットワーク上での転送回数であり、経由するルータの数で考えた場合、更に大きな転送回数となる。
したがって、Chordシステムは、理論上効率的なシステムであるとはいえ、実動作環境への適用を考える場合、応答時間の制約から、この転送回数は可能な限り少なくすべきものである。
また、ChordシステムのFINGERによる経路表構成法には、以下に示すように、大きな無駄が存在する。
This is the number of transfers on the application network, and when considering the number of routers that pass through, this is a larger number of transfers.
Therefore, although the Chord system is a theoretically efficient system, when considering application to an actual operating environment, the number of times of transfer should be as small as possible due to response time constraints.
In addition, as shown below, the Chord system's FINGER routing table construction method has a large waste.
システムを構成する計算機が100万(≒220)台程度であるとき、ハッシュ関数SHA-1によって、それぞれの識別子は、160ビットのハッシュ空間上に均一に散らばることが期待される。
このとき、隣接する二つの識別子は、平均して2140離れた位置に存在していることになる。
すなわち、識別子Xを有するある計算機にとって、そのSUCCESSORは、およそX+2140mod2160という識別子を待つことになる。
When the number of computers constituting the system is about 1 million (≈2 20 ), it is expected that the respective identifiers are uniformly scattered on the 160-bit hash space by the hash function SHA-1.
In this case, two adjacent identifier will be present in an average of 2 140 away.
That is, for a computer having the identifier X, the SUCCESSOR waits for an identifier of approximately X + 2 140 mod2 160 .
この場合、FINGERによる経路表構成法においては、エントリ0からエントリ140近傍までが、すべて同じエントリを待つことを意味する。
このため、経路表には160エントリが保持されているが、その大半が無駄に使われていることになる。
FINGERは一回の転送ごとに目的地へのハッシュ空間上の距離を半分にすることができたが、無駄に使われているエントリを工夫することにより、一回の転送ごとにFINGERよりも効率よく目的地へのハッシュ空間上の距離をつめることが可能である。
In this case, in the routing table construction method by FINGER, this means that all entries from
For this reason, 160 entries are stored in the routing table, but most of them are wasted.
FINGER was able to halve the hash space distance to the destination for each transfer, but it was more efficient than FINGER for each transfer by devising a wasteful entry. It is possible to narrow the distance in the hash space to the destination well.
本発明は、このような事情に鑑みてなされたもので、FINGERとは異なる経路表構成法を採用することにより、経路表の無駄を省き、100万台程度の計算機から構成されるインターネットワイドなシステムの場合、Chordシステムよりも少ない転送回数を実現し、システムの応答時間を改善する分散型データ処理/管理装置及びその方法を提供するものである。 The present invention has been made in view of such circumstances. By adopting a routing table configuration method different from FINGER, the routing table is not wasted, and the Internet-wide configuration including about 1 million computers. In the case of a system, the present invention provides a distributed data processing / management apparatus and method that realizes a smaller number of transfers than the Chord system and improves the response time of the system.
本発明の分散型データ処理/管理装置は、分散ハッシュ表技術を用いた160ビットのハッシュ空間を有するChordシステムと同様のメッセージ転送機能を有する分散型データ処理/管理装置であって、通信ネットワークと接続され、他の分散型データ処理/管理装置とメッセージの送受信を行う通信処理部と、該通信処理部において受信したメッセージが自身の担当するデータでないことを検出した場合、該メッセージを転送すべき他の分散型データ処理/管理装置を決定するため、経路表を再構成する経路表処理部とを有し、Chordシステムの経路表構成法が、i番目のエントリについて、自身の識別子から2iだけ離れた識別子を基準とするのに対し、前記経路表処理部が、自身の識別子から、unit×baseiだけ離れた識別子を基準として、i番目のエントリに対する経路表の再構成を行うことを特徴とする。
unit=(自身の識別子から正方向において次に出現する装置の識別子)−(自身の識別子)
base=2×unit(−1/160)
A distributed data processing / management apparatus according to the present invention is a distributed data processing / management apparatus having a message transfer function similar to that of a Chord system having a 160-bit hash space using a distributed hash table technology, A communication processing unit that is connected and transmits / receives a message to / from another distributed data processing / management device, and if it detects that the message received by the communication processing unit is not data that it is responsible for, should transfer the message to determine the other distributed data processing / management unit, and a routing table processor for reconstructing the routing table, the routing table configuration method Chord system, for the i-th entry, 2 i from its own identifier The routing table processing unit uses the identifier separated by unit × base i from the identifier as a reference. The routing table is reconfigured with respect to the entries.
unit = (identifier of the next device that appears in the forward direction from its own identifier)-(own identifier)
base = 2 × unit (-1/160)
本発明の分散型データ処理/管理装置は、メッセージの送信経路を示す前記経路表が格納された経路表管理部を有し、前記経路表処理部が一定周期毎に該経路表管理部における経路表の再構成を行うことを特徴とする。 The distributed data processing / management apparatus of the present invention includes a routing table management unit in which the routing table indicating a message transmission route is stored, and the routing table processing unit performs routing in the routing table management unit at regular intervals. The table is reconfigured.
本発明の分散型データ処理/管理方法は、分散ハッシュ表技術を用いた160ビットのハッシュ空間を有するChordシステムと同様のメッセージ転送過程を有する分散型データ処理方法であって、通信ネットワークと接続され、他の分散型データ処理/管理装置とメッセージの送受信を行う通信処理過程と、該通信処理過程において受信したメッセージが自身の担当するデータでないことを検出した場合、該メッセージを転送すべき他の分散型データ処理/管理装置を決定するため経路表を再構成する経路表処理過程とを有し、Chordシステムの経路表構成法が、i番目のエントリについて、自身の識別子から2iだけ離れた識別子を基準とするのに対し、前記経路表処理過程において、自身の識別子から、unit×baseiだけ離れた識別子を基準として、i番目のエントリに対する経路表の再構成を行うことを特徴とする。
unit=(自身の識別子から正方向において次に出現する装置の識別子)−(自身の識別子)
base=2×unit(−1/160)
A distributed data processing / management method of the present invention is a distributed data processing method having a message transfer process similar to that of a Chord system having a 160-bit hash space using a distributed hash table technique, and is connected to a communication network. A communication process for transmitting / receiving a message to / from another distributed data processing / management apparatus, and when it is detected that the message received in the communication process is not the data handled by itself, A routing table processing process for reconfiguring a routing table to determine a distributed data processing / management device, and the Chord system routing table configuration method is 2 i away from its own identifier for the i-th entry In contrast to an identifier as a reference, in the routing table processing process, an identifier separated by unit × base i from its own identifier as a reference, The routing table is reconfigured for the i-th entry.
unit = (identifier of the next device that appears in the forward direction from its own identifier)-(own identifier)
base = 2 × unit (-1/160)
本発明の分散型データ処理/管理方法は、メッセージの送信経路を示す前記経路表が格納された経路表管理部を有し、前記経路表処理過程が一定周期毎に行われ、該経路表管理部における経路表の再構成を行うことを特徴とする。 The distributed data processing / management method of the present invention includes a routing table management unit in which the routing table indicating a message transmission route is stored, and the routing table processing process is performed at regular intervals, and the routing table management is performed. The route table is reconstructed in the section.
Chordシステムにおいては、識別子Xを持つある計算機の経路表の構成を、エントリiについて、識別子「X+2imod2160」を持つデータを担当する計算機の識別子としていた。
一方、本発明においては、経路表のエントリ数について、ChordシステムのFINGERによるものと同様に、160エントリとするが、エントリiについて、以下の(1)式から求められる値の識別子を有するデータを担当する計算機の識別子とする。
エントリiの識別子=X+unit×baseimod2160 …(1)
ただし、
unit=(XのSUCCESSORの識別子)−X
base=2×unit(−1/160)
とする。
In the Chord system, the configuration of the routing table of a computer having the identifier X is the identifier of the computer in charge of data having the identifier “X + 2 i mod2 160 ” for the entry i.
On the other hand, in the present invention, the number of entries in the routing table is 160 entries as in the Chord system FINGER, but for the entry i, data having an identifier with a value obtained from the following equation (1) is used. Use the identifier of the computer in charge.
Identifier of entry i = X + unit × base i mod2 160 (1)
However,
unit = (identifier of X SUCCESSOR) −X
base = 2 × unit (-1/160)
And
本実施例においては、160ビットのハッシュ空間を160回同じbaseなる数で割り算した場合、最終的に「(XのSUCCESSORの識別子)−X」が得られるように、baseの値を選択している。
上述のようにbaseを選ぶことにより、i=0の場合、上記(1)式は、SUCCESSORの識別子となり、エントリ0はSUCCESSORとなる。
また、i=1の場合、baseは1以上であるため、エントリ1はSUCCESSORの識別子より正の方向で越えた識別子となることがわかる。すなわちエントリ0とエントリ1は異なることがわかる。
In this embodiment, when the 160-bit hash space is divided 160 times by the same base number, the base value is selected so that “(X SUCCESSOR identifier) −X” is finally obtained. Yes.
By selecting base as described above, when i = 0, the above equation (1) becomes the identifier of SUCCESSOR, and
Further, when i = 1, since base is 1 or more, it can be seen that
ChordシステムのFINGERの場合は、unitを1とし、baseを2とした構成となっているため、大半のエントリにおいて同じ識別子を持つ装置となったが、本発明においては同じ識別子を有する装置となることをを避けることが可能となる。
ここで、各エントリの対象が異なるだけで、他の構成はChordシステムにおけるFINGERによる経路表(もしくは経路テーブル)構成法と同様のプロセスとなり、また、メッセージの転送についても同様である。
In the case of FINGER of the Chord system, the unit is set to 1 and the base is set to 2. Therefore, the apparatus has the same identifier in most entries, but in the present invention, the apparatus has the same identifier. It becomes possible to avoid that.
Here, only the target of each entry is different, and the other configuration is the same process as the route table (or route table) configuration method by FINGER in the Chord system, and the message transfer is also the same.
以上説明したように、本願発明の分散型データ処理/管理装置によれば、経路表の構成法を工夫することにより、シミュレーションの結果から、100万台程度の計算機から構成されるインターネットワイドなシステムに対して、従来のChordシステムと同程度の手間で、Chordシステムと比べて約半分の転送回数を実現し、システムの応答時間を改善し、かつ、Chordシステムと比べて経路表の無駄なエントリを省くことができ、経路表を有効に活用することを可能とした。 As described above, according to the distributed data processing / management apparatus of the present invention, by devising the configuration method of the routing table, the Internet-wide system composed of about 1 million computers from the simulation results On the other hand, with the same amount of work as the conventional Chord system, the number of transfers is approximately half that of the Chord system, improving the response time of the system, and wasteful entry in the routing table compared to the Chord system. This makes it possible to effectively use the route table.
以下、本発明の一実施形態による装置を図面を参照して説明する。図1は同実施形態による分散型データ処理/管理装置の構成例を示すブロック図である。また、この図1は複数の分散型データ処理/管理装置が通信ネットワークTにより、相互に接続している形態を示している。
この図において、本実施形態の分散型データ処理/管理装置は1、通信ネットワークTと接続され、他の分散型データ処理/管理装置とメッセージの送受信を行うため、または自身が担当するデータを含むか否かを検出するための通信処理部2と、通信処理部2において受信したメッセージが自身が担当するデータを含む場合にその処理を行うためのデータ処理部3と、データ処理部3において処理するデータを読み出しあるいは書き込みするためのデータ管理部4と、通信処理部2において受信したメッセージが自身が担当するデータでない場合にメッセージを転送すべき他の分散型データ処理/管理装置を決定するため、また、経路表を適切に保つために定期的に経路表管理部5の再構成を行うための経路表処理部6と、経路表処理部6によって定期的に再構成される経路表を格納するための経路表管理部5と、を有している。
上述したように、分散型データ処理/管理装置は、通信処理部2を介して、通信ネットワークTと接続され、通信ネットワークTの提供するメッセージ配信機能を利用して、他の分散型データ処理/管理装置相互間のメッセージの送受信を行う。
Hereinafter, an apparatus according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of a distributed data processing / management apparatus according to the embodiment. FIG. 1 shows a form in which a plurality of distributed data processing / management apparatuses are connected to each other via a communication network T.
In this figure, a distributed data processing / management apparatus according to the present embodiment is connected to a communication network T, and includes data to be transmitted / received to / from other distributed data processing / management apparatuses. A
As described above, the distributed data processing / management apparatus is connected to the communication network T via the
次に、図2を参照して、経路表管理部6に格納される経路表の説明を行う。図2は、経路表管理部6に格納される経路表のデータ構造の一例を示したものである。
経路表は、エントリ0からエントリ159までの160エントリで構成される。
ここで、各エントリは、エントリ番号と、分散型データ処理/管理装置の識別子と、分散型データ処理/管理装置のIPアドレスと、分散型データ処理/管理装置のポート番号とからなる。
そして、経路表は、更にSUCCESSORとPREDECESSORとを管理する二つの特別なエントリを有しており、これらのエントリの構成も同様である。
Next, the routing table stored in the routing
The routing table is composed of 160 entries from
Each entry includes an entry number, an identifier of the distributed data processing / management apparatus, an IP address of the distributed data processing / management apparatus, and a port number of the distributed data processing / management apparatus.
The routing table further has two special entries for managing SUCCESSOR and PREDECESSOR, and the configuration of these entries is the same.
次に、図3を参照して、分散型データ処理/管理装置間で送受信されるメッセージの説明を行う。図3は、上記メッセージのフォーマットの一例を示したものである。
メッセージは、図3に示すように、メッセージの送信先を示す送信先識別子と、メッセージによって運ばれるデータの処理方法を示すコマンドと、送信するデータと、送信元装置のIPアドレスと、送信元装置のポート番号との各項目を有している。
Next, with reference to FIG. 3, a message transmitted / received between the distributed data processing / management apparatuses will be described. FIG. 3 shows an example of the format of the message.
As shown in FIG. 3, the message includes a transmission destination identifier indicating a transmission destination of the message, a command indicating a processing method of data carried by the message, data to be transmitted, an IP address of the transmission source device, and a transmission source device. Each item has a port number.
次に、図1及び図4を参照して、本実施例の分散型データ処理/管理装置1のデータ受信処理の動作を説明する。図4は、本実施例の分散型データ処理/管理装置1のデータ受信処理の流れを示すフローチャートである。
通信処理部2は、通信ネットワークTに接続後、他の分散型データ処理/管理装置からのメッセージを受信する(ステップS1)。
そして、通信処理部2は、受信したメッセージの送信先識別子を見て、自身が担当するデータを含むか否かを検出、すなわち自身が担当すべきデータであるか否かを判断する。
Next, with reference to FIG. 1 and FIG. 4, the operation of the data reception process of the distributed data processing /
After connecting to the communication network T, the
Then, the
すなわち、通信処理部2は、メッセージの送信先識別子がPREDECESSORの識別子から見て正の方向にあり、かつ、自身の識別子から見て負の方向にあるときは自身が担当すべきデータであることを検出し、上述したいずれかの条件が満たされない場合、自身が担当すべきデータではないことを検出する(ステップS2)。
そして、通信処理部2は、自身が担当すべきデータであると判断した場合、このメッセージをデータ処理部3へ出力する。
That is, the
The
これにより、データ処理部3は、メッセージに示されているコマンドに従い、含まれるデータに対してデータ処理を行う。
その際、データ処理部3は、必要に応じてデータ管理部4へのデータの書き込み、あるいは、データの読み出しを行う。
また、データ処理部3は、必要に応じて、データ処理の結果を、メッセージの送信元IPアドレス及び送信元ポート番号を用い、送信元の分散型データ処理/管理装置に応答する(ステップS3)。
As a result, the
At that time, the
Further, the
一方、通信処理部2は、受信したメッセージの送信先識別子から、このメッセージが自身が担当すべきデータを含んでいないことを検出した場合、このメッセージを他の分散型データ処理/管理装置への転送を試みる。
このとき、通信処理部2は、経路表処理部3を介して、経路表管理部6に格納されている経路表から、メッセージの送信先識別子を正の方向において越えないものの中から、最もメッセージに含まれる送信先識別子に近づく識別子を持つエントリを検索する(ステップS4)。
On the other hand, when the
At this time, the
そして、経路表処理部4は、上記経路表から抽出したエントリから、転送すべき分散型データ処理/管理装置のIPアドレス及びポート番号を読み取り、メッセージの転送先の分散型データ処理/管理装置を決定する(ステップS5)。
これにより、通信処理部2は、得られたIPアドレス及びポート番号の示す分散型データ処理/管理装置に対して、メッセージの転送を行う(ステップS6)。
Then, the routing
As a result, the
次に、図1及び図5を参照して、本実施例の分散型データ処理/管理装置1のデータ送信処理の動作を説明する。図5は、本実施例の分散型データ処理/管理装置1のデータ送信処理の流れを示すフローチャートである。
通信処理部2は、データ処理あるいは管理のため、他の分散型データ処理/管理装置に対して、メッセージを送信する必要が生じた場合、ハッシュ関数SHA-1を適用して所定の数値として得られる送信先識別子と、データの処理方法を現すコマンドと、データと、送信元である自身のIPアドレスと、自身のポート番号とを有する、図3に示すメッセージを生成する(ステップS11)。
Next, the operation of the data transmission process of the distributed data processing /
The
次に、経路表処理部5は、経路表管理部6に格納されている経路表を検索して、メッセージの送信先識別子を正の方向において越えないものの中から、最も送信先識別子に近づく識別子を持つエントリを抽出する(ステップS12)。
そして、経路表処理部5は、抽出したエントリから、転送すべき分散型データ処理/管理装置のIPアドレス及びポート番号を読み取り、送信先の分散型データ処理/管理装置を決定する(ステップS14)。
これにより、通信処理部2は、上述のように得られたIPアドレス及びポート番号の示す分散型データ処理/管理装置に対して、メッセージの送信を行う(ステップS14)。
Next, the routing
Then, the routing
Thereby, the
次に、図1及び図6を参照して、本実施例の分散型データ処理/管理装置1の経路表の再構成処理の動作を説明する。図6は、本実施例の分散型データ処理/管理装置1の経路表の再構成処理の流れを示すフローチャートである。
経路表処理部5は、エントリiに設定すべき他の分散型データ処理/管理装置の識別子を求めるためのターゲット識別子Iを0に設定して、初期化を行う(ステップS21)。
次に、経路表処理部5は、上記ターゲット識別子Iを計算する。
Next, with reference to FIG. 1 and FIG. 6, the operation of the routing table reconfiguration process of the distributed data processing /
The routing
Next, the routing
すなわち、具体的には、以下の式を用いターゲット識別子を計算する。
ターゲット識別子 = X+unit×baseimod2160
ただし、X=自身の識別子
Unit=SUCCESSORの識別子−X
Base=2×unit(−1/160)
である。
Specifically, the target identifier is calculated using the following equation.
Target identifier = X + unit x base i mod 2 160
Where X = own identifier
Unit = SUCCESSOR identifier-X
Base = 2 × unit (−1/160)
It is.
また、プログラム処理系によっては、2100をこえるような巨大な数に対するべき乗の計算が困難である場合がある。
たとえば、Java(登録商標)言語が上記場合にあたり、このような場合、上記baseの計算には下記の変形式を用いる。
Base=2×unit(−1/160) = 2×2(−log(unit)/160)
ここで、log(unit)はおおよそunitのビット長であるとしてよい。
Also, depending on the program processing system, the power of calculation for huge number such more than 2 100 can be difficult.
For example, when the Java (registered trademark) language is the above, in such a case, the following modified expression is used for the calculation of the base.
Base = 2 × unit (−1/160) = 2 × 2 ( −log (unit) / 160)
Here, log (unit) may be approximately the bit length of unit.
そこで、
Base=2×2(−(unitのビット長)/160)
となる。
そして、Java(登録商標)言語であれば、unitがBigIntegerであるとして、
Base=2×Math.pow(2,−(unit.bitLength())/160)
により計算可能となる。
経路表処理部5は、上述したのような演算処理により、ターゲット識別子Iを求める(ステップS22)。
there,
Base = 2 × 2 (-(unit bit length) / 160)
It becomes.
And if it is Java (registered trademark) language, unit is BigInteger,
Base = 2 × Math.pow (2, − (unit.bitLength ()) / 160)
It becomes possible to calculate.
The route
次に、経路表処理部5は、得られたターゲット識別子から、エントリiに格納すべき分散型データ処理/管理装置の情報が既知であるか否かの判定を行う。
このとき、経路表処理部5は、I=0であるとき、常に既知であると判定し、一方、I≧1であるとき、エントリi−1の識別子を正の方向において越えない場合に既知であると判定し、超える場合に既知ではないことを判定する(ステップS23)。
そして、経路表管理部5は、ターゲット識別子に関わる分散型データ処理/管理装置の情報が既知でない場合、判定結果を通信処理部2に対して通知する。
これにより、通信処理部2は、送信先識別子として得られたターゲット識別子と、担当する分散型データ処理/管理装置からの応答を促すコマンドと、データとしてヌルデータと、自身のIPアドレスと、自身のポート番号とを有するメッセージの生成を行う(ステップS24)。
Next, the routing
At this time, the routing
Then, the routing
As a result, the
次に、通信処理部2は、エントリi−1の分散型データ処理/管理装置のIPアドレスとポート番号あてに、作成したメッセージの送信を行う。
これにより、送信先の分散型データ処理/管理装置においては、すでに説明したメッセージ受信処理と同様に、自身が担当するものであると判断する分散型データ処理/管理装置まで、メッセージの転送を繰り返し行う。
そして、メッセージが最終的に到連した分散型データ処理/管理装置においては、自身についての情報、すなわち、識別子、IPアドレス、及びポート番号の応答を、メッセージの送信元に対して行う(ステップS25)。
Next, the
As a result, in the distributed data processing / management apparatus of the transmission destination, the message transfer is repeated to the distributed data processing / management apparatus that determines that it is in charge as in the message reception process described above. Do.
Then, in the distributed data processing / management apparatus to which the message finally arrives, information about itself, that is, the response of the identifier, the IP address, and the port number is sent to the message transmission source (step S25). ).
次に、通信処理部2(送信元の分散型データ処理/管理装置)は、メッセージが最終的に到連した分散型データ処理/管理装置端末からの応答を受信する(ステップS26)。
そして、通信処理部2は、ターゲット識別子に関わる分散型データ処理/管理装置が既知であると判定した場合、また、応答を受信した場合、経路表処理部2に対して経路表の再構成を指示する。
これにより、経路表処理部5は、ターゲット識別子に関わる分散型データ処理/管理装置が既知でないと判定され、かつ、応答を受信した場合、経路表管理部6に格納される経路表のエントリiの更新を行う(再構成を行う)。
Next, the communication processing unit 2 (distributed data processing / management apparatus of the transmission source) receives a response from the distributed data processing / management apparatus terminal to which the message finally arrives (step S26).
When the
As a result, the routing
このとき、経路表処理部5は、応答を受信した場合、応答のメッセージから取り出した識別子、IPアドレス、及びポート番号によりエントリiの更新を行う。
一方、経路表処理部5は、ターゲット識別子に関わる分散型データ処理/管理装置が既知であると判定されている場合、エントリi−1と同じ識別子、IPアドレス、及びポート番号によりエントリiを更新する(ステップS27)。
そして、経路表処理部5は、iが160以上になったか否かを検出し、iが160以上となったことを検出した場合、経路表の再構成の処理を終了し、iが160未満であることを検出した場合、処理をステップS9へ進める(ステップS28)。
At this time, when receiving a response, the routing
On the other hand, when it is determined that the distributed data processing / management apparatus related to the target identifier is known, the routing
Then, the routing
次に、経路表処理部5は、iを1だけ増加させて、処理をステップS22へ戻す(ステップS29)。
上述した処理が、経路表再構成の一連の手続きである。
また、分散型データ処理/管理装置1は、一定の周期において、定期的に(例:1分ごと)、上述した経路表再構成処理を繰り返すし、常に、経路表を適切に保たせる。
Next, the route
The above-described processing is a series of procedures for reconfiguring the routing table.
Further, the distributed data processing /
次に、図7及び図8を参照して、本実施例のシミュレーション結果の説明を行う。図7及び図8は、100万台の装置からなるシステムについてのシミュレーション結果を示した表及びグラフである。
図7に示す表における列は、それぞれシミュレーションに用いた装置数、装置数に対応したChordを用いた場合の平均転送回数、装置数に対応した本発明での平均転送回数、装置数に対応した本発明の平均転送回数をChordでの平均転送回数で割ったものである。
Next, simulation results of the present embodiment will be described with reference to FIGS. 7 and 8 are tables and graphs showing simulation results for a system composed of 1 million devices.
The columns in the table shown in FIG. 7 correspond to the number of devices used in the simulation, the average number of transfers using Chord corresponding to the number of devices, the average number of transfers in the present invention corresponding to the number of devices, and the number of devices, respectively. The average number of transfers in the present invention is divided by the average number of transfers in Chord.
また、図8は、Chordでの平均転送回数と本発明での平均転送回数とをグラフにプロットしたものであり、横軸がシミュレーションに用いた装置数であり、縦軸が平均点総回数を示している。
図7及び図8から明らかなように、シミュレーション結果は、本発明がChordシステムに比べて約半分の転送回数を実現しており、転送回数を削減することが可能であることを示している。
FIG. 8 is a graph plotting the average number of transfers in Chord and the average number of transfers in the present invention, the horizontal axis is the number of devices used in the simulation, and the vertical axis is the total number of average points. Show.
As is clear from FIGS. 7 and 8, the simulation results show that the present invention realizes about half the number of transfers compared to the Chord system, and the number of transfers can be reduced.
なお、図1における分散型データ処理/管理装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりメッセージの送受信における分散型データ処理/管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。 The program for realizing the functions of the distributed data processing / management apparatus in FIG. 1 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed. Thus, distributed data processing / management in message transmission / reception may be performed. The “computer system” here includes an OS and hardware such as peripheral devices. The “computer system” includes a WWW system provided with a homepage providing environment (or display environment). The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。 The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
1…分散型データ処理/管理装置
2…通信処理部
3…データ処理部
4…データ管理部
5…経路表処理部
6…経路表管理部
T…通信ネットワーク
DESCRIPTION OF
Claims (4)
通信ネットワークと接続され、他の分散型データ処理/管理装置とメッセージの送受信を行う通信処理部と、
該通信処理部において受信したメッセージが自身の担当するデータでないことを検出した場合、該メッセージを転送すべき他の分散型データ処理/管理装置を決定するため、経路表を再構成する経路表処理部と
を有し、
Chordシステムの経路表構成法が、i番目のエントリについて、自身の識別子から2iだけ離れた識別子を基準とするのに対し、
前記経路表処理部が、自身の識別子から、unit×baseiだけ離れた識別子を基準として、i番目のエントリに対する経路表の再構成を行うことを特徴とする分散型データ処理/管理装置。
unit=(自身の識別子から正方向において次に出現する装置の識別子)−(自身の識別子)
base=2×unit(−1/160) A distributed data processing / management apparatus having a message transfer function similar to that of a Chord system having a 160-bit hash space using a distributed hash table technique,
A communication processing unit connected to a communication network and transmitting / receiving messages to / from other distributed data processing / management devices;
When the communication processing unit detects that the received message is not its own data, a routing table process for reconfiguring the routing table to determine another distributed data processing / management device to which the message is to be transferred And
Whereas the Chord system routing table construction method is based on an identifier that is 2 i away from its own identifier for the i-th entry,
The distributed data processing / management apparatus, wherein the routing table processing unit reconfigures a routing table for the i-th entry with reference to an identifier separated by unit × base i from its own identifier.
unit = (identifier of the next device that appears in the forward direction from its own identifier)-(own identifier)
base = 2 × unit (-1/160)
前記経路表処理部が一定周期毎に該経路表管理部における経路表の再構成を行うことを特徴とする請求項1記載の分散型データ処理/管理装置。 A routing table management unit in which the routing table indicating the transmission route of the message is stored;
2. The distributed data processing / management apparatus according to claim 1, wherein the routing table processing unit reconfigures the routing table in the routing table management unit at regular intervals.
通信ネットワークと接続され、他の分散型データ処理/管理装置とメッセージの送受信を行う通信処理過程と、
該通信処理過程において受信したメッセージが自身の担当するデータでないことを検出した場合、該メッセージを転送すべき他の分散型データ処理/管理装置を決定するため経路表を再構成する経路表処理過程と
を有し、
Chordシステムの経路表構成法が、i番目のエントリについて、自身の識別子から2iだけ離れた識別子を基準とするのに対し、
前記経路表処理過程において、自身の識別子から、unit×baseiだけ離れた識別子を基準として、i番目のエントリに対する経路表の再構成を行うことを特徴とする分散型データ処理/管理方法。
unit=(自身の識別子から正方向において次に出現する装置の識別子)−(自身の識別子)
base=2×unit(−1/160) A distributed data processing / management method having a message transfer process similar to that of a Chord system having a 160-bit hash space using a distributed hash table technique,
A communication process connected to a communication network and transmitting / receiving messages to / from other distributed data processing / management devices;
A route table processing step for reconfiguring a route table to determine another distributed data processing / management device to which the message is to be transferred when it is detected that the received message is not the data handled by the communication processing step. And
Whereas the Chord system routing table construction method is based on an identifier that is 2 i away from its own identifier for the i-th entry,
A distributed data processing / management method characterized in that in the routing table processing step, a routing table is reconfigured for an i-th entry with reference to an identifier separated by unit × base i from its own identifier.
unit = (identifier of the next device that appears in the forward direction from its own identifier)-(own identifier)
base = 2 × unit (-1/160)
前記経路表処理過程が一定周期毎に行われ、該経路表管理部における経路表の再構成を行うことを特徴とする請求項3記載の分散型データ処理/管理方法。
A routing table management unit in which the routing table indicating the transmission route of the message is stored;
4. The distributed data processing / management method according to claim 3, wherein the routing table processing step is performed at regular intervals, and the routing table is reconfigured in the routing table management unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004172488A JP4271620B2 (en) | 2004-06-10 | 2004-06-10 | Distributed data processing / management apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004172488A JP4271620B2 (en) | 2004-06-10 | 2004-06-10 | Distributed data processing / management apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005354364A true JP2005354364A (en) | 2005-12-22 |
JP4271620B2 JP4271620B2 (en) | 2009-06-03 |
Family
ID=35588440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004172488A Expired - Fee Related JP4271620B2 (en) | 2004-06-10 | 2004-06-10 | Distributed data processing / management apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4271620B2 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007316696A (en) * | 2006-05-23 | 2007-12-06 | Kddi Corp | Data management device |
JP2008011330A (en) * | 2006-06-30 | 2008-01-17 | Kddi Corp | Data management apparatus |
JP2008011331A (en) * | 2006-06-30 | 2008-01-17 | Kddi Corp | Data management apparatus |
JP2008176376A (en) * | 2007-01-16 | 2008-07-31 | Kddi Corp | Data management system and data management device |
JP2008191904A (en) * | 2007-02-05 | 2008-08-21 | Nec Corp | Distributed data management system and method |
JP2009247015A (en) * | 2009-07-27 | 2009-10-22 | Brother Ind Ltd | Information communication system, information communication method, node device included in the information communication system, information processing program and program for the node device |
WO2012124448A1 (en) * | 2011-03-17 | 2012-09-20 | 日本電気株式会社 | Routing table generation device, distributed processing device, distributed processing system, routing table generation method, and storage medium |
JP2016151846A (en) * | 2015-02-17 | 2016-08-22 | 三菱電機株式会社 | Server device, client device, grouping method, and grouping program |
JP7413477B2 (en) | 2017-06-20 | 2024-01-15 | エヌチェーン ライセンシング アーゲー | Methods and special network nodes for fast propagation in blockchain networks |
-
2004
- 2004-06-10 JP JP2004172488A patent/JP4271620B2/en not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007316696A (en) * | 2006-05-23 | 2007-12-06 | Kddi Corp | Data management device |
JP2008011330A (en) * | 2006-06-30 | 2008-01-17 | Kddi Corp | Data management apparatus |
JP2008011331A (en) * | 2006-06-30 | 2008-01-17 | Kddi Corp | Data management apparatus |
JP4624314B2 (en) * | 2006-06-30 | 2011-02-02 | Kddi株式会社 | Data management device |
JP4633680B2 (en) * | 2006-06-30 | 2011-02-16 | Kddi株式会社 | Data management device |
JP2008176376A (en) * | 2007-01-16 | 2008-07-31 | Kddi Corp | Data management system and data management device |
JP2008191904A (en) * | 2007-02-05 | 2008-08-21 | Nec Corp | Distributed data management system and method |
JP2009247015A (en) * | 2009-07-27 | 2009-10-22 | Brother Ind Ltd | Information communication system, information communication method, node device included in the information communication system, information processing program and program for the node device |
WO2012124448A1 (en) * | 2011-03-17 | 2012-09-20 | 日本電気株式会社 | Routing table generation device, distributed processing device, distributed processing system, routing table generation method, and storage medium |
JP2016151846A (en) * | 2015-02-17 | 2016-08-22 | 三菱電機株式会社 | Server device, client device, grouping method, and grouping program |
JP7413477B2 (en) | 2017-06-20 | 2024-01-15 | エヌチェーン ライセンシング アーゲー | Methods and special network nodes for fast propagation in blockchain networks |
Also Published As
Publication number | Publication date |
---|---|
JP4271620B2 (en) | 2009-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4913128B2 (en) | System and method for distributed and decentralized data storage and retrieval | |
US7490140B2 (en) | Peer data transfer orchestration | |
Serjantov | Anonymizing censorship resistant systems | |
JP2005323346A (en) | Routing in peer-to-peer network | |
Woungang et al. | MR-Chord: Improved chord lookup performance in structured mobile P2P networks | |
KR20110034669A (en) | Multi-homed data forwarding storage | |
EP2856355B1 (en) | Service-aware distributed hash table routing | |
JP4271620B2 (en) | Distributed data processing / management apparatus and method | |
CN103957269A (en) | P2P network node selection method and P2P redirect server | |
EP2918051A1 (en) | Local partitioning in a distributed communication system | |
Dimakopoulos et al. | A peer-to-peer approach to resource discovery in multi-agent systems | |
CN106302641A (en) | A kind of methods, devices and systems of upper transmitting file | |
Tracey et al. | Using a DHT in a peer to peer architecture for the internet of things | |
JP4554564B2 (en) | Distributed data management method and management system | |
Shukla et al. | Towards software defined low maintenance structured peer-to-peer overlays | |
US9860171B2 (en) | Large scale message routing in a distributed network | |
Haque et al. | An architecture for client virtualization: A case study | |
JP5487420B2 (en) | File duplication necessity determination method, communication apparatus, computer program, and peer-to-peer communication system | |
JP5690296B2 (en) | Load balancing program and load balancing apparatus | |
Sugumar et al. | Performance Analysis of Fragmentation and Replicating Data Over Multi-clouds with Security | |
Loganathan et al. | Distributed resource management scheme using enhanced artificial bee-colony in P2P | |
JP5060927B2 (en) | Information search method, information search device, information search response device, and computer program | |
Lin et al. | Robust super-peer-based P2P file-sharing systems | |
JP2008011330A (en) | Data management apparatus | |
Lebre et al. | AS-cast: Lock Down the Traffic of Decentralized Content Indexing at the Edge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060714 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080801 |
|
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: 20090217 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090225 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120306 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120306 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130306 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |