JP6131907B2 - 分散データベース、データ共有方法、プログラム、装置 - Google Patents
分散データベース、データ共有方法、プログラム、装置 Download PDFInfo
- Publication number
- JP6131907B2 JP6131907B2 JP2014089700A JP2014089700A JP6131907B2 JP 6131907 B2 JP6131907 B2 JP 6131907B2 JP 2014089700 A JP2014089700 A JP 2014089700A JP 2014089700 A JP2014089700 A JP 2014089700A JP 6131907 B2 JP6131907 B2 JP 6131907B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- nodes
- information
- group
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1059—Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/40—Aspects of automatic or semi-automatic exchanges related to call centers
- H04M2203/402—Agent or workforce management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/55—Aspects of automatic or semi-automatic exchanges related to network data storage and management
- H04M2203/558—Databases
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
Description
ノード間での情報共有の手法として、ゴシッププロトコルが使われているものがある(例えば、特許文献2参照)。
また、ピアツーピア型のネットワークシステム内において、グループ内の複数のピア(ノード)が他のピアに問い合わせ、登録されているピアのメンバシップ・リストを記憶し情報を共通する技術を開示しているものがある(例えば、特許文献3参照)。
図5と図6は対応している。図6(a)において、ノードが4つと仮定し、ノード(N1)から他のノード(N2〜N4)への情報への問合せR1、R2、R3は、順序はランダムで定期的に実行する。他のノード(N2〜N4)からも同様に実行される。
図5において、図5(f)に凡例として示すように、マーク■は未取得、不明状態、マーク○は取得済み、マーク□は取得予定(リクエスト)、マーク◇は取得予定(被リクエスト)を示す。図5において、各ノード間の問い合わせ状態、情報取得状態を示したリスト10をノード状態リストという。
図5(b)、図6(b)は、次の状態を示し、ノード(N1)はノード(N2)に問い合わせ(所得予定(リクエスト))、ノード(N2)はノード(N4)に問い合わせ、ノード(N3)はノード(N1)に問い合わせ、ノード(N4)はノード(N3)に問い合わせる状態を示す。
図5(c)、図6(c)は、更に次の状態を示し、ノード(N1)はノード(N3)に問い合わせ、ノード(N2)はノード(N1)に問い合わせ、ノード(N3)はノード(N4)に問い合わせ、ノード(N4)はノード(N2)に問い合わせる状態を示す。
図5(d)、図6(d)は、更に次の状態を示し、ノード(N1)はノード(N4)に問い合わせ、ノード(N2)はノード(N3)に問い合わせ、ノード(N3)はノード(N2)に問い合わせ、ノード(N4)はノード(N1)に問い合わせる状態を示す。
図5(e)は、ノード(N1〜N4)がすべてのノードの情報を取得し、安定状態になったことを示す。
複数のノードでグループが構成されるピアツーピア型の分散データベースにおいて、前記各ノードはノード状態リストを有し、 個々のノードが他ノードの前記ノード状態リストの所定の情報を問い合わせて取得して共有する共有手段と、
決まったルートで前記情報を伝播させていく伝搬手段と、
ノードのグループ登録時に登録された順序で前記ノード状態リストを更新し、前記順序
で最後にあたるノードは前記順序の先頭から前記所定の情報を取得してノードをリング状に接続する手段と、
ノード数が上限値Mになったとき、ノード[1]からノード[M/2]を第1グループ、ノード[M/2+1]からノード[M]を第2グループとして分割し、ノード[M/2]はノード[1]と接続し、ノード[M]はノード[M/2+1]と接続することによって前記グループを分割する分割手段と、
各グループのノードがグループ内で情報共有したら、別グループのノードに接続先を変更する手段と、
を有することを特徴とする分散データベース。
を、提供するものである。
<構成>
図4は本発明の一実施の形態であるネットワーク接続構成の概要についてのブロック図である。図4のA1〜A4、Bは、ネットワーク100上に接続されたPC(パーソナルコンピュータ)あるいはサーバであり、以降はノード(Node)と称呼する。ノードA1からA4は、同じグループ(グループA)を構成するノードを意味する。ノードBは、グループAに所属しないノードを意味する。
本実施の形態の動作についてはフローチャートを用いて後述するが、はじめに概略説明をする。
(0)ノードの登録は既にグループに登録されているノードから行う。
(1)ノードをグループに登録する。全ノード数をNとして登録する際に、グループ内で識別するための識別番号を指定する。
(例:Node[1]、Node[2]、Node[3]、…、Node[N]、…、Node[M])
(2)各ノードは全ノードの情報(ノードの死活状態)を保存するリストを持つ。ノードのグループ登録時にリストを作成する。
ノードと接続し情報を取得するのは、Node[N]→Node[N+1]のように順序を決める。
順序で最後にあたるノードは順序の先頭から取得する(Node[N]→Node[1])、としてリング状にする。
(3)新たなノード状態リストをすべてのノードに配信する。
(4)Node[N]は、Node[N+1]の情報を取得するリクエストを送信する。その際、Node[N]の持つリストも合わせて送信する。
(5)Node[N+1]は、Node[N]から取得したリストに、Node[N+1]の持つリストの情報を追記してレスポンスとして返信する。
(6)Node[N]は、Node[N+1]から取得した情報を自分のリストに追記する。
(7)Node[N]は、Node[N−1]から同様にリクエストされるので、上記(5)に該当する部分を行い、レスポンスを返信する。
(8)(4)に戻って繰り返す。
(9) ノード数Nは、ノードを追加していき、ノード数の上限値Mになったとき、Node[1]からNode[M/2]をAグループ、Node[M/2+1]からNode[M]をBグループとして2つのグループに分割する。
(10)Node[M/2]はNode[1]と接続し、Node[M]はNode[M/2+1]と接続することでリングを2つに分割する。情報共有は分割する前と同様に行う。
(11)一定期間(各グループのノードが情報共有できたぐらい、上記の例ならばM/2回以上)したら、別グループのノードに接続先を変更する。例えば、AグループのNode[N]は、BグループのNode[N+M/2]に接続する。
(12)K回以上レスポンスが返ってこないNode[x]は、停止したとみなして次の順序のノードに変更(Node[x−1]→Node[x+1])して、リクエストを行う。
(13)同様にK回以上、正常ではないレスポンスが返ってきた場合のNode[x]は、データ保存できない状態とみなして次の順序のノードに変更(Node[x−1]→Node[x+1])して、リクエストを行う。
(14)停止ノードNode[x]には、別途接続を試行して、復活した場合は変更する。
図5、6の一般的なプロトコルの情報問い合わせ動作と対比しやすいように、図7〜10により本実施の形態における情報問い合わせ動作について説明する。
図7(a)は4つのノード(N1〜N4)が、まだどのノードとも情報を共有していない最初の状態を示す。
図7(b)、図8(b)は、次の状態を示し、ノード(N1)はノード(N2)に問い合わせ(所得予定(リクエスト))、ノード(N2)はノード(N3)に問い合わせ、ノード(N3)はノード(N4)に問い合わせ、ノード(N1)はノード(N3)に問い合わせる状態を示す。同時にノード(N1)はノード(N4)から被リクエストを受け、ノード(N2)はノード(N1)から被リクエストを受け、ノード(N3)はノード(N2)から被リクエストを受け、ノード(N4)はノード(N3)から被リクエストを受けている。
図7(d)は、ノード(N1〜N4)がすべてのノードの情報を取得し、安定状態になったことを示す。問い合わせ(リクエスト)、被リクエストの関係は、図8(b)(c)(d)に示されるように、すべて同じになる。
ノード(N1)にノード(N4)のード情報が入ってくるときは、ノード(N2)とノード(N3)経由で入ってくる。各ノードはNTPで同期が取られており、基本的に同時期に取得したものが入ってくる。一般的には、ノード状態リスト10に取得したときの時刻も合わせて記録しておき、複数のノード情報が入ってきて状態が異なる場合は、取得時刻の新しい方を採用する。
図9(a)は、ノード数が分割前の状態を表す。8つのノード(N1〜N8)が、まだどのノードとも情報を共有していない最初の状態を示す。ノード状態リスト10が、ノード数がN1〜N8に対応して8個に増えている。
図9(b2)は、グループ内で一通りノード状態を共有した状態を表す。図9(b1)の状態から図9(b2)の状態へ移行する途中の過程は、ノード(N1〜N4)については図7(a)から図7(d)と同じである。ノード(N5〜N8)についても図7(a)から図7(d)をN1→N5、N2→N6、N3→N7、N4→N8と読み替えれば同様とみなせる。ノード状態リスト10は、領域200を更新した結果が領域210となり、領域300を更新した結果が領域310となる。
図9(c1)は、問合せる前の状態を表しており、ノード(N1)はノード(N5)に、ノード(N6)はノード(N2)に問合せていることを表す。ノード(N2)とノード(N6)、ノード(N3)とノード(N7)、ノード(N4)とノード(N8)も同様である。
これにより、すべてのノードはすべてのノード状態を取得したことになる。以降は、図9(b1)に戻って繰り返していく。
図1はノードの登録についてのフローチャートである。
続くステップS103は、変更されたノード状態リストをグループに所属するノードに配信して、すべてのノードで共有する。すべてのノードでノード状態リストを共有したら終了(ステップS104)となる。
以上がノードの登録となる。
続くステップS202は、自ノード(Node[N])からリクエスト先ノード(Node[N+1])にリクエストを送信する。
続くステップS203は、リクエスト先からのレスポンスを待ち、レスポンスが返ってきたらステップS204へ、レスポンスが返ってこなければステップS212へそれぞれ進む。
ステップS204は、レスポンスが返ってきた際の結果が、OKならばステップS205へ、NGならばステップS207へ、それぞれ進む。
ステップS206は、受信したレスポンスのノード状態リストのデータで更新された部分のデータを自分のノード状態リストに上書き保存して終了する(ステップS215)。
ステップS208は、受信したレスポンスのノード状態リストのデータでリクエスト先ノードの部分をNGとし、他のデータのノード状態リストには更新しない。そしてステップS209へ進む。
ステップS209は、連続して失敗した回数のカウンターEを更新して、ステップS210へ進む。
ステップS210は、連続して失敗した回数のカウンター値Eが、連続して失敗した回数の上限値K以上の場合はステップS211へ、より小さい場合は次の処理(ステップS215)へ、それぞれ進む。
ステップS213は、レスポンスが受信できないのでリクエスト先ノードの部分を停止とし、他のデータのノード状態リストには更新しない。
続くステップS214は、連続して失敗した回数のカウンターを更新する。そしてステップS210へ進む。
以上がノードの情報共有処理(リクエスト送信)となる。
ステップS302は、リクエストに付加されたノード状態リスト情報を取得する。
続くステップS303は、自ノードのチェックをして状態取得する。
続くステップS304は、ステップS302、ステップS303で取得したノード状態リスト情報並びに自ノードの状態についてのエラーチェックを行い、問題なければOKとしてステップS305へ進み、問題があればNGとしてステップS306へ進む。
ステップS305は、チェック結果がOKであることをノード状態リストへ書き込み、ステップS306はチェック結果がNGであることをノード状態リストへ書き込む。
続くステップS308は、ステップS307で作成したレスポンスを送信する。
続くステップS309は、ステップS302で取得したノード状態リスト情報のデータで更新された部分のデータを自分のノード状態リストに上書き保存して終了する(ステップS310)。
以上がノードの情報共有処理(リクエスト受信)となる。
本実施の形態によれば、決まったルートで情報を伝播させていくことにより、ノード数が増加してもネットワークの負荷を増やさないことと、ノード数が増えた場合はグループを分割することで一定の時間内に情報共有をすることができる。
また、特定のルートで情報交換を行うことで一部のノードに負荷がかからない。あるいは、すべてのノードに対して一定間隔で情報を共有できる。
更に、リクエストの際リクエスト側からもノード情報を送ることで双方向の情報収集ができて、かつそれぞれの蓄積した情報を共有できる。
以下に、本願出願時の特許請求の範囲を付記する。
<付記>
複数のノードでグループが構成されるピアツーピア型の分散データベースにおいて、
個々のノードが他ノードの所定の情報を問い合わせて取得して共有する共有手段と、
決まったルートで前記情報を伝播させていく伝搬手段と、
ノード数が所定以上増えた場合は前記グループを分割する分割手段と
を有することを特徴とする分散データベース。
[請求項2]
前記分割手段は、前記グループ内で前記情報が伝搬したら、別のグループのノードに前記情報を問い合わせることを特徴とする請求項1記載の分散データベース。
[請求項3]
前記共有手段が問い合わせる前記情報は、ノードの死活情報であることを特徴とする請求項1又は2記載の分散データベース。
[請求項4]
前記共有手段がノードの死活情報問い合わせた結果、不活ノードと判定されたノードは前記グループから排除することを特徴とする請求項3記載の分散データベース。
[請求項5]
前記共有手段が問い合わせる前記情報は、ノードのメモリ残量情報又はノードのパフォーマンス情報であることを特徴とする請求項1又は2記載の分散データベース。
[請求項6]
複数のノードで構成されるピアツーピア型の分散データベースのデータ共有方法であって、
複数のノードをグループに登録する第1工程と、
個々のノードが他ノードの情報を取得して前記グループで共有するために前記グループ内で決まったルートで情報を伝播させていく第2工程と、
ノード数が所定以上増えた場合は前記グループを分割する第3工程と
を実行することを特徴とする方法。
[請求項7]
前記第1工程は、以下の工程を含むことを特徴とする請求項6記載の方法。
(1)ノードを前記グループに登録する工程であって、全ノード数をNとして登録する際に、グループ内で識別するための識別番号を指定する工程、
(2)各ノードは全ノードの所定の情報を保存するリストを持ち、ノードのグループ登録時に登録された順序でリストを更新し、前記順序で最後にあたるノードは前記順序の先頭から前記所定の情報を取得してリング状にする工程。
(3)前記更新されたリストをすべてのノードに配信する工程。
[請求項8]
前記第2工程は、以下の工程を含むことを特徴とする請求項6記載の方法。
(4)ノード[N]は、ノード[N+1]の情報を取得するリクエストを送信し、該ノード[N]の持つリストも合わせて送信する工程、
(5)ノード[N+1]は、ノード[N]から取得したリストに、ノード[N+1]の持つリストの情報を追記してレスポンスとして返信する工程、
(6)ノード[N]は、ノード[N+1]から取得した情報を自分のリストに追記する工程、
(7)ノード[N]は、ノード[N−1]からのリクエストに応じ、前記工程(5)を実行しレスポンスを返信する工程、
(8)前記工程(4)に戻って繰り返す工程。
[請求項9]
前記第3工程は、以下の工程を含むことを特徴とする請求項6記載の方法。
(9) ノード数Nは、ノードを追加していき、ノード数の上限値Mになったとき、ノード[1]からノード[M/2]を第1グループ、ノード[M/2+1]からノード[M]を第2グループとして分割する工程、
(10)ノード[M/2]はノード[1]と接続し、ノード[M]はノード[M/2+1]と接続する工程、
(11)各グループのノードが情報共有できたら、別グループのノードに接続先を変更する工程。
[請求項10]
前記第2工程は、以下の工程を含むことを特徴とする請求項6記載の方法。
(12)K回以上レスポンスが返ってこないか、正常ではないレスポンスが返ってきた場合のノード[x]は、次の順序のノードに変更して、リクエストを行う工程。
[請求項11]
複数のノードで構成されるピアツーピア型の分散データベースの情報を共有するためのプログラムであって、
ノード[N]のコンピュータに、
複数のノードをグループに登録する登録工程と、
ノード[N+1]の情報を取得するリクエストを送信し、該ノード[N]の持つノードの状態を示すリストも合わせて送信する送信工程と、
ノード[N+1]から、ノード[N]から取得したリストに、ノード[N+1]の持つリストの情報を追記したレスポンスを受信する受信工程と、
ノード[N+1]から取得した情報を自分のリストに追記する追記工程と、
ノード[N−1]からのリクエストに応じ、ノード[N−1]から取得したリストに、当該ノード[N]の持つリストの情報を追記してレスポンスとしてノード[N−1]に返信する返信工程と、
ノード数が所定以上増えた場合は前記グループを分割する分割工程と
を実行させることを特徴とするプログラム。
[請求項12]
複数のノードでグループが構成されるピアツーピア型の分散データベースにおいて、
請求項11記載のプログラムを実行するコンピュータを備えることを特徴とする装置。
21、22、23、34 リクエスト送信用ノード情報処理プログラム
31、32、33、34 リクエスト受信用ノード情報処理プログラム
41、42、43、44 CPU
51、52、53、54 データメモリ
100 ネットワーク
A1〜A4 サーバ
N1〜N8 ノード
A、B グループ
Claims (10)
- 複数のノードでグループが構成されるピアツーピア型の分散データベースにおいて、
前記各ノードはノード状態リストを有し、
個々のノードが他ノードの前記ノード状態リストの所定の情報を問い合わせて取得して共有する共有手段と、
決まったルートで前記情報を伝播させていく伝搬手段と、
ノードのグループ登録時に登録された順序で前記ノード状態リストを更新し、前記順序で最後にあたるノードは前記順序の先頭から前記所定の情報を取得してノードをリング状に接続する手段と、
ノード数が上限値Mになったとき、ノード[1]からノード[M/2]を第1グループ、ノード[M/2+1]からノード[M]を第2グループとして分割し、ノード[M/2]はノード[1]と接続し、ノード[M]はノード[M/2+1]と接続することによって前記グループを分割する分割手段と、
各グループのノードがグループ内で情報共有したら、別グループのノードに接続先を変更する手段と、
を有することを特徴とする分散データベース。 - 前記共有手段が問い合わせる前記情報は、ノードの死活情報であることを特徴とする請求項1記載の分散データベース。
- 前記共有手段がノードの死活情報問い合わせた結果、不活ノードと判定されたノードは前記グループから排除することを特徴とする請求項2記載の分散データベース。
- 前記共有手段が問い合わせる前記情報は、ノードのメモリ残量情報又はノードのパフォーマンス情報であることを特徴とする請求項1記載の分散データベース。
- ノード状態リストを有する複数のノードで構成されるピアツーピア型の分散データベースのデータ共有方法であって、前記ノードのCPUが、
複数のノードをグループに登録する第1工程と、
個々のノードが前記他ノードのノード状態リストから所定の情報を取得して前記グループで共有するために、前記グループ内で決まったルートで情報を伝播させていく第2工程と、
ノード数が所定以上増えた場合は前記グループを分割する第3工程と、
を含み、
前記第3工程は、
(9)ノード数が上限値Mになったとき、ノード[1]からノード[M/2]を第1グループ、ノード[M/2+1]からノード[M]を第2グループとして分割する工程、
(10)ノード[M/2]はノード[1]と接続し、ノード[M]はノード[M/2+1]と接続する工程、
(11)各グループのノードがグループ内で情報共有したら、別グループのノードに接続先を変更する工程、
を実行することを特徴とする方法。 - 前記第1工程は、以下の工程を含むことを特徴とする請求項5記載の方法。
(1)ノードを前記グループに登録する工程であって、全ノード数をNとして登録する際に、グループ内で識別するための識別番号を指定する工程、
(2)各ノードの前記ノード状態リストは全ノードの所定の情報を保存し、ノードのグループ登録時に登録された順序で前記リストを更新し、前記順序で最後にあたるノードは前記順序の先頭から前記所定の情報を取得して複数のノードを前記ノードのグループ登録時に登録された順序で前記ノードをリング状に接続する工程、
(3)前記更新されたリストをすべてのノードに配信する工程。 - 前記第2工程は、以下の工程を含むことを特徴とする請求項5記載の方法。
(4)ノード[N]は、ノード[N+1]の情報を取得するリクエストを送信し、該ノード[N]の持つリストも合わせて送信する工程、
(5)ノード[N+1]は、ノード[N]から取得したリストに、ノード[N+1]の持つリストの情報を追記してレスポンスとして返信する工程、
(6)ノード[N]は、ノード[N+1]から取得した情報を自分のリストに追記する工程、
(7)ノード[N]は、ノード[N−1]からのリクエストに応じ、ノード[N−1]から取得したリストに、ノード[N]の持つリストの情報を追記してレスポンスとして返信する工程、
(8)前記工程(4)に戻って繰り返す工程。 - 前記第2工程は、以下の工程を含むことを特徴とする請求項5記載の方法。
(12)ノード[x]からK回以上レスポンスが返ってこないか、正常ではないレスポンスが返ってきた場合は、ノード[x−1]は、次の順序のノード[x+1]へリクエストを行う工程。 - 複数のノードで構成されるピアツーピア型の分散データベースの情報を共有するためのプログラムであって、
ノード[N]のCPUに、
複数のノードをグループに登録する登録工程と、
ノード[N+1]の情報を取得するリクエストを送信し、該ノード[N]の持つノードの状態を示すリストも合わせて送信する送信工程と、
ノード[N+1]から、ノード[N]から取得したリストに、ノード[N+1]の持つリストの情報を追記したレスポンスを受信する受信工程と、
ノード[N+1]から取得した情報を自分のリストに追記する追記工程と、
ノード[N−1]からのリクエストに応じ、ノード[N−1]から取得したリストに、当該ノード[N]の持つリストの情報を追記してレスポンスとしてノード[N−1]に返信する返信工程と、
ノード数が上限値Mになったとき、ノード[1]からノード[M/2]を第1グループ、ノード[M/2+1]からノード[M]を第2グループとして分割する工程と、
各グループのノードがグループ内で情報共有したら、別グループのノードに接続先を変更する工程と、
を実行させることを特徴とするプログラム。 - 複数のノードでグループが構成されるピアツーピア型の分散データベースにおいて、
請求項9記載のプログラムを実行するコンピュータを備えることを特徴とする装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014089700A JP6131907B2 (ja) | 2014-04-24 | 2014-04-24 | 分散データベース、データ共有方法、プログラム、装置 |
US14/633,233 US9936011B2 (en) | 2014-04-24 | 2015-02-27 | Distributed database, method of sharing data, program storing medium, and apparatus for a distributed database |
CN201510119438.6A CN105049463B (zh) | 2014-04-24 | 2015-03-18 | 分散数据库、数据共享方法、用于分散数据库的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014089700A JP6131907B2 (ja) | 2014-04-24 | 2014-04-24 | 分散データベース、データ共有方法、プログラム、装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015210550A JP2015210550A (ja) | 2015-11-24 |
JP2015210550A5 JP2015210550A5 (ja) | 2016-01-07 |
JP6131907B2 true JP6131907B2 (ja) | 2017-05-24 |
Family
ID=54335907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014089700A Active JP6131907B2 (ja) | 2014-04-24 | 2014-04-24 | 分散データベース、データ共有方法、プログラム、装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9936011B2 (ja) |
JP (1) | JP6131907B2 (ja) |
CN (1) | CN105049463B (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105872003A (zh) * | 2015-12-21 | 2016-08-17 | 乐视云计算有限公司 | 基于p2p网络的数据处理方法、装置及系统 |
JP6816072B2 (ja) * | 2018-08-27 | 2021-01-20 | 株式会社日立製作所 | 分散データベースシステム、分散データベース管理方法、及び分散データベース管理プログラム |
US11163551B1 (en) | 2020-10-13 | 2021-11-02 | Argo AI, LLC | Systems and methods for improved smart infrastructure data transfer |
US11537383B2 (en) | 2020-10-13 | 2022-12-27 | Argo AI, LLC | Systems and methods for improved smart infrastructure data transfer |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0895931A (ja) * | 1994-09-26 | 1996-04-12 | Mitsubishi Electric Corp | 分散計算機システムの故障検出方法 |
US7792982B2 (en) * | 2003-01-07 | 2010-09-07 | Microsoft Corporation | System and method for distributing streaming content through cooperative networking |
US7593333B2 (en) * | 2004-07-07 | 2009-09-22 | Microsoft Corporation | Efficient one-to-many content distribution in a peer-to-peer computer network |
US8250230B2 (en) | 2004-09-30 | 2012-08-21 | Microsoft Corporation | Optimizing communication using scalable peer groups |
US7801912B2 (en) | 2005-12-29 | 2010-09-21 | Amazon Technologies, Inc. | Method and apparatus for a searchable data service |
WO2007121611A1 (fr) * | 2006-04-21 | 2007-11-01 | Yongmin Zhang | Procédé et dispositif de transmission de contenu dans un réseau poste à poste |
JP5228369B2 (ja) * | 2007-04-27 | 2013-07-03 | 日本電気株式会社 | 通信システム、通信方法、及び通信プログラム |
US10084856B2 (en) * | 2009-12-17 | 2018-09-25 | Wsou Investments, Llc | Method and apparatus for locating services within peer-to-peer networks |
US8832281B2 (en) | 2010-01-08 | 2014-09-09 | Tangome, Inc. | Utilizing resources of a peer-to-peer computer environment |
JP2011221625A (ja) * | 2010-04-06 | 2011-11-04 | Mitsubishi Electric Corp | 通信装置及び共用情報更新方法及びプログラム |
JP2013005270A (ja) * | 2011-06-17 | 2013-01-07 | Casio Comput Co Ltd | データ転送システム、発信元端末、受信端末、およびデータ転送方法 |
US9900432B2 (en) * | 2012-11-08 | 2018-02-20 | Genesys Telecommunications Laboratories, Inc. | Scalable approach to agent-group state maintenance in a contact center |
-
2014
- 2014-04-24 JP JP2014089700A patent/JP6131907B2/ja active Active
-
2015
- 2015-02-27 US US14/633,233 patent/US9936011B2/en active Active
- 2015-03-18 CN CN201510119438.6A patent/CN105049463B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20150312334A1 (en) | 2015-10-29 |
US9936011B2 (en) | 2018-04-03 |
CN105049463A (zh) | 2015-11-11 |
CN105049463B (zh) | 2018-10-16 |
JP2015210550A (ja) | 2015-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6131907B2 (ja) | 分散データベース、データ共有方法、プログラム、装置 | |
US9367261B2 (en) | Computer system, data management method and data management program | |
US8176200B2 (en) | Distributed aggregation on an overlay network | |
JP5599943B2 (ja) | サーバクラスター | |
US10754843B2 (en) | Method and apparatus for information management | |
JP2010074604A (ja) | データアクセスシステム、データアクセス方法およびデータアクセス用プログラム | |
Xu et al. | A cloud computing platform based on p2p | |
JP3944176B2 (ja) | 探索要求送信装置およびプログラム | |
JP5845877B2 (ja) | 情報処理装置、データ制御方法およびデータ制御プログラム | |
US10817512B2 (en) | Standing queries in memory | |
Biswas et al. | A novel leader election algorithm based on resources for ring networks | |
US20170011078A1 (en) | Reconciler for a Distributed Storage System | |
JP5526780B2 (ja) | 負荷分散システム、サービス処理サーバ、負荷分散方法及び負荷分散プログラム | |
US20170286540A1 (en) | Local and remote execution of standing queries | |
US10749957B2 (en) | Method and apparatus for information management | |
JP5783008B2 (ja) | ストレージ装置、ストレージシステム、データ更新方法およびデータ管理プログラム | |
JP2013114623A (ja) | ストレージ装置、ストレージ制御プログラムおよびストレージ制御方法 | |
JP6203963B2 (ja) | 経路解決システム及び経路解決方法 | |
JP5690296B2 (ja) | 負荷分散プログラムおよび負荷分散装置 | |
US20170286490A1 (en) | Implicit subscriptions in the connection protocol of a network switch | |
US10284673B2 (en) | Interface for a client of a network device | |
JP4228193B2 (ja) | 情報共有方法、ネットワークシステム及びノード装置 | |
US10783144B2 (en) | Use of null rows to indicate the end of a one-shot query in network switch | |
US10860568B2 (en) | External data source linking to queries in memory | |
US20170286500A1 (en) | Non-materialized tables with standing queries |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151002 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151002 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160323 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160517 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170130 |
|
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: 20170321 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170403 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6131907 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |