JP2013097441A - Distribution id management method and distribution id management system - Google Patents
Distribution id management method and distribution id management system Download PDFInfo
- Publication number
- JP2013097441A JP2013097441A JP2011237385A JP2011237385A JP2013097441A JP 2013097441 A JP2013097441 A JP 2013097441A JP 2011237385 A JP2011237385 A JP 2011237385A JP 2011237385 A JP2011237385 A JP 2011237385A JP 2013097441 A JP2013097441 A JP 2013097441A
- Authority
- JP
- Japan
- Prior art keywords
- request message
- update
- index
- registration
- data management
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、分散ID管理方法および分散ID管理システムに関する。 The present invention relates to a distributed ID management method and a distributed ID management system.
情報システムにおいて物品や人またはそれらに関わるデータを管理する際、管理対象を一意に特定可能な符号、すなわちID(Identification:識別子)を用いることで、管理の自動化や効率化が図られることが多い。例えば、図書にはISBN(International Standard Book Number:国際標準図書番号)と呼ばれる世界共通の番号が振られており、当該番号を用いれば、全世界でただ一つの書籍を特定することが可能となっている。また、一部の国・地域では、当該国・地域内の個人に納税者番号や住民番号等と呼ばれる識別子を割り当てることで、各個人に紐付くデータと当該個人との関係を一意に識別可能とし、税務や社会保障制度の効率的な運営を図っている。 When managing articles, people, or data related to them in an information system, management is often automated and efficient by using a code that can uniquely identify a management target, that is, an ID (Identification). . For example, books have a universal number called ISBN (International Standard Book Number), and using that number makes it possible to specify only one book in the world. ing. Also, in some countries / regions, by assigning identifiers such as taxpayer IDs or resident numbers to individuals in the country / region, the relationship between the data associated with each individual and the individual can be uniquely identified. And the efficient operation of tax and social security systems.
一般に、管理対象(物品若しくは人等)に対して割り当てられている識別子は、利用される範囲(以下、「ドメイン」と呼ぶ)および時間によって異なる値を取り得る。例えば、ある管理対象に対して、2009年3月の時点では、A工場で"0"という識別子で管理されていた管理対象が、2010年6月の時点では、B工場で"a"という識別子で管理されている状況が存在し得る。この場合、両識別子が同一の管理対象を指しているものであることを把握し、必要に応じて両識別子を相互に変換可能であると、時間やドメインをまたがった効率的な管理が可能となる。また、管理体系の一貫性を保つためには、識別子の更新(例えばA工場での識別子が2011年9月以降"9"に更新される等)についても把握し、相互変換の際に反映できることが望ましい。 In general, an identifier assigned to a management target (article or person) can take a different value depending on a range to be used (hereinafter referred to as “domain”) and time. For example, for a certain management object, the management object managed with the identifier “0” at the factory A as of March 2009 is changed to the identifier “a” at the factory B as of June 2010. There may be situations managed by In this case, if it is understood that both identifiers point to the same management target and both identifiers can be converted to each other as necessary, efficient management across time and domains is possible. Become. In order to maintain the consistency of the management system, the identifier update (for example, the identifier at the factory A is updated to “9” after September 2011) can be grasped and reflected in the mutual conversion. Is desirable.
上記のような、相互変換、更新処理を実現するに当たっては、(管理対象、ドメイン、時間)の三次元空間の各点に値(識別子)を対応付けたデータベースを構築し、データ登録・変換・更新のインタフェースを備えることが必要となる。当該データベースは、管理対象の数、ドメインの数、識別子の更新頻度が前もって分かっている場合にはリレーショナルデータベースを用いて実現することが比較的容易であるが、そうでない場合、設計段階でテーブルのサイズやハードウェアの性能要件を定めにくいために、リレーショナルデータベースの利用が必ずしも最適でない可能性がある。このような状況下では、サービス開始後に同装置を一台ないし複数台追加するだけで、要求される容量や性能要件を満足できること(スケールアウト)を可能とする分散データ管理システムが利用されることが多い。 In order to realize the mutual conversion and update processing as described above, a database in which values (identifiers) are associated with each point in the three-dimensional space (managed object, domain, time) is constructed, and data registration / conversion / It is necessary to provide an update interface. This database is relatively easy to implement using a relational database if the number of managed objects, the number of domains, and the update frequency of identifiers are known in advance. Using a relational database may not always be optimal because it is difficult to determine size and hardware performance requirements. Under these circumstances, a distributed data management system that can satisfy the required capacity and performance requirements (scaling out) simply by adding one or more devices after the service is started is used. There are many.
スケールアウト可能な分散データ管理システムの例としては、Consistent Hashingと呼ばれる手法(コンシステントハッシュ法)を応用した方式が知られている(例えば、特許文献1参照)。 As an example of a distributed data management system that can be scaled out, a method that applies a method called consistent hashing (consistent hash method) is known (see, for example, Patent Document 1).
しかしながら、特許文献1に記載された技術では、データ名(キー)に基づいてデータの分散管理が実現されるものの、分散したデータを当該データが含む情報(日時・ドメイン・識別子等)に基づいて効率良く特定する機能を備えていない。例えば前述したように、ある管理対象(物品若しくは人等)に対して、2009年3月時点では、A工場で"0"という識別子で管理されていた管理対象が、2010年6月時点では、B工場で"a"という識別子で管理されているような状況において、変換元の識別子(例えば、"0")と、変換元のドメイン(例えば、A工場)と、変換元の日時(例えば、2009年3月)と、変換先のドメイン(例えば、B工場)と、変換先の日時(例えば、2010年6月)と、を指定して、変換先の識別子(ここでは、"a")を得るような処理を実現する場合、"変換元ID,変換元ドメイン,変換元日時,変換先ドメイン,変換先日時" をデータ名(キー)として、データ内に変換先IDを格納するという方法を用いることにより可能ではある。しかし、このような構成をとった場合には、データ管理システムで保存すべきデータの量や、IDの更新時の書き換えが必要になるデータの量が多くなるという問題がある。また、日時の間隔が広い場合、例えば、月単位や日単位等の場合、上記のようなデータ名を構成することは比較的容易であるが、間隔が細かい場合、例えば、分単位や秒単位等の場合には、管理すべきデータの量が膨大になってしまうという問題がある。
However, in the technique described in
このような背景に鑑みて本発明がなされたのであり、本発明は、同一の管理対象に紐付くものの、日時やドメインによって異なる値を取り得る識別子間の相互変換を可能とし、かつ、管理すべきデータ量を抑えた上で、スケールアウトを可能とする、分散ID管理方法および分散ID管理システムを提供することを課題とする。 The present invention has been made in view of such a background, and the present invention enables and manages mutual conversion between identifiers that are associated with the same management target but can take different values depending on the date and domain. It is an object of the present invention to provide a distributed ID management method and a distributed ID management system that can be scaled out while suppressing the amount of data to be processed.
本発明の分散ID管理システムにおけるデータ管理装置は、識別子、ドメイン、日時を含むデータを、インデックスキー(識別子とドメインの組)およびサブルートキー(ルートキーとドメインの組)の2種類のキーを用いて管理する。そして、クライアント装置からID変換要求を受け付けると、ゲートウェイ装置が、インデックスキーを用いてルートキーを保持するデータ管理装置を複数のデータ管理装置の中から決定する。そして、そのデータ管理装置は、サブルートキーを用いて、変換先の識別子を保持する他のデータ管理装置を決定し、他のデータ管理装置から変換先の識別子を取得して、ゲートウェイ装置を介して、クライアント装置に、その変換先の識別子を含むメッセージを送信する。 The data management apparatus in the distributed ID management system of the present invention uses two types of keys, an index key (a set of identifier and domain) and a sub-root key (a set of root key and domain), for data including an identifier, a domain, and a date and time. Manage. Then, when receiving the ID conversion request from the client device, the gateway device uses the index key to determine the data management device that holds the route key from among the plurality of data management devices. Then, the data management device uses the sub-root key to determine another data management device that holds the conversion destination identifier, acquires the conversion destination identifier from the other data management device, and passes through the gateway device. Then, a message including the identifier of the conversion destination is transmitted to the client device.
本発明によれば、同一の管理対象に紐付くものの、日時やドメインによって異なる値を取り得る識別子間の相互変換を可能とし、かつ、管理すべきデータ量を抑えた上で、スケールアウトを可能とする、分散ID管理方法および分散ID管理システムを提供することができる。 According to the present invention, although it is associated with the same management target, it is possible to perform mutual conversion between identifiers that can take different values depending on the date and time and domain, and it is possible to scale out while suppressing the amount of data to be managed A distributed ID management method and a distributed ID management system can be provided.
まず、本実施形態に係る分散ID管理システム5の構成について説明する。
図1は、本実施形態に係る分散ID管理システム5の全体の構成例を説明するための図である。
First, the configuration of the distributed
FIG. 1 is a diagram for explaining an example of the overall configuration of a distributed
図1に示すように、本実施形態に係る分散ID管理システム5は、クライアント装置1と接続されたゲートウェイ装置2と、そのゲートウェイ装置2と通信ネットワーク4を介して接続された複数のデータ管理装置3(3A,3B,3C,3D,3E,…)とを含んで構成される。このデータ管理装置3は、図1に示したように5つに限定されず、複数のデータ管理装置3であればよい。また各データ管理装置3(3A,3B,3C,3D,3E,…)それぞれは、通信ネットワーク4を介して通信可能に接続されている。
As shown in FIG. 1, a distributed
クライアント装置1は、分散ID管理システム5(ゲートウェイ装置2)に対して、後記するID登録要求メッセージ10(図8(a)参照)、ID変換要求メッセージ40(図17(a)参照)、ID更新要求メッセージ60(図22(a)参照)を送信し、その結果を受信する装置である。また、ゲートウェイ装置2は、クライアント装置1から上記の各メッセージを受信し、そのメッセージを担当するデータ管理装置3に振り分けて送信し、データ管理装置3からの処理結果を、クライアント装置1へ返信する装置である。データ管理装置3は、ゲートウェイ装置2から取得したメッセージに従い、データの登録、変換、更新等を行う装置である。次に、各装置の詳細な構成について説明する。
The
≪クライアント装置≫
図2は、本実施形態に係るクライアント装置1の構成例を示す機能ブロック図である。図2に示すように、クライアント装置1は、制御部110と、入出力部130と、送受信部140と、記憶部150とを含んで構成される。
≪Client device≫
FIG. 2 is a functional block diagram illustrating a configuration example of the
また、制御部110は、ID登録要求部111と、ID変換要求部112と、ID更新要求部113とを備えている。
The
ID登録要求部111は、後記するID登録要求メッセージ10(図8(a)参照)を生成し、そのID登録要求メッセージ10を、送受信部140を介して、ゲートウェイ装置2に送信する。また、ID登録要求部111は、ID登録応答メッセージ11(図8(b)参照)を、送受信部140を介して受信する。
The ID
ID変換要求部112は、後記するID変換要求メッセージ40(図17(a)参照)を生成し、そのID変換要求メッセージ40を、送受信部140を介して、ゲートウェイ装置2に送信する。また、ID変換要求部112は、ID変換応答メッセージ41(図17(b)参照)を、送受信部140を介して受信する。
The ID
ID更新要求部113は、後記するID更新要求メッセージ60(図22(a)参照)を生成し、そのID更新要求メッセージ60を、送受信部140を介して、ゲートウェイ装置2に送信する。また、ID更新要求部113は、ID更新応答メッセージ61(図22(b)参照)を、送受信部140を介して受信する。
The ID
入出力部130は、不図示のキーボードやマウス等の入力手段や、モニタ等の出力手段と接続され、利用者から入力手段を介して入力情報を受け付け、その入力情報や処理結果をモニタ等の出力手段に出力する処理を行う。
The input /
送受信部140は、TCP/IP(Transmission Control Protocol/Internet Protocol)通信を可能とするプロトコルスタックや、プロセス間通信を可能とするモジュール等のように、ネットワークや通信路を介して送受信する情報の制御を行う。
The transmission /
記憶部150は、ゲートウェイ情報記憶領域100を含んで構成される。ゲートウェイ情報記憶領域100は、ID登録要求メッセージ10、ID変換要求メッセージ40、ID更新要求メッセージ60の送信先となるゲートウェイ装置2の接続情報(例えば、IPアドレスとポート番号の組)を記憶する領域である。この接続情報は、前もって静的に登録するようにしてもよいし、ゲートウェイ装置2や他の装置からの情報に基づいて動的に接続先を決定し記憶するようにしてもよい。
The
≪ゲートウェイ装置≫
図3は、本実施形態に係るゲートウェイ装置2の構成例を示す機能ブロック図である。図3に示すように、ゲートウェイ装置2は、制御部210と、入出力部230と、送受信部240と、記憶部250とを含んで構成される。
≪Gateway device≫
FIG. 3 is a functional block diagram illustrating a configuration example of the
また、制御部210は、ノード管理部211と、ノード決定部212と、ID登録転送部213と、ID変換転送部214と、ID更新転送部215とを備えている。
The
ノード管理部211は、データ管理装置3の後記するノード管理部311と相互通信し、後記するノード情報記憶領域200内のノードの接続情報(例えば、IPアドレスとポート番号の組)を同期する処理を行う。具体的には、ノード管理部211は、新たにデータ管理装置3が追加された場合には、その接続情報をノード情報記憶領域200内に追加し、あるデータ管理装置3が削除された場合には、そのデータ管理装置3の接続情報を削除する。
The
ノード決定部212は、他の処理部から検索キーを取得した場合に、ノード情報記憶領域200に格納されたノード情報に基づいて、検索キーが担当するノード(データ管理装置3)を決定し、そのノードの接続情報を、要求のあった処理部に返す処理を行う。以下、具体的にノード決定部212が行う処理を説明する。
When the node determination unit 212 obtains a search key from another processing unit, the node determination unit 212 determines a node (data management device 3) that the search key is responsible for based on the node information stored in the node
図4(a)は、本実施形態に係るノード情報記憶領域200に格納されるノード情報のデータ構成の一例を示す図である。また、図4(b)は、本実施形態に係るノード決定部212による、データの振り分け先の決定処理を説明するための図である。
FIG. 4A is a diagram illustrating an example of a data configuration of node information stored in the node
図4(a)に示すように、ノード情報記憶領域200のノード情報には、各データ管理装置3について、ノードIDと、ノード名と、接続情報(例えば、IPアドレスとポート番号の組)とが記憶されている。このノードIDは、ノード決定部212が、例えば、接続情報を所定のハッシュ関数に導入することにより得られたハッシュ値であり、図4(b)に示すリング(閉じたハッシュ空間)400上の値に対応付けられる。なお、このノード情報記憶領域200内のノード情報は、ゲートウェイ装置2のノード管理部211およびデータ管理装置3のノード管理部311により、ゲートウェイ装置2とすべてのデータ管理装置3との間で定期的に同期をとることで、同じノード情報が共有されている。
As shown in FIG. 4A, the node information in the node
ノード決定部212は、図4(b)に示すように、例えば、検索キーとして"0@D0"を取得すると、その検索キーをハッシュ関数Hに導入しハッシュ値を計算する。そして、ノード決定部212は、その計算したハッシュ値(図4(b)では、「2133」)の値より大きく、最も近いノードID(ハッシュ値)である「3050」のデータ管理装置Aを、その検索キーのデータの振り分け先のノードとして決定する。
なお、このとき、ノード決定部212は、振り分け先として決定したノードの次に値が近いノードID(ハッシュ値)を持つノード(ここでは、例えば、ノードIDが「5988」のデータ管理装置3B)をさらに選択(さらに、次に値の近いノードIDを含むようにして、1つ以上選択するようにしてもよい)することで、後記する各メッセージの送信先を冗長化し、システムの信頼性を高めることも可能である。
As illustrated in FIG. 4B, for example, when “0 @ D0” is acquired as a search key, the node determination unit 212 introduces the search key into the hash function H and calculates a hash value. Then, the node determination unit 212 determines the data management device A having “3050”, which is the closest node ID (hash value), larger than the calculated hash value (“2133” in FIG. 4B). It is determined as a node to which the search key data is distributed.
At this time, the node determination unit 212 has a node having a node ID (hash value) having a value next to the node determined as the distribution destination (in this case, for example, the
図3に戻り、ID登録転送部213は、受信したID登録要求メッセージ10(図8(a)参照)の先頭の識別子(例えば、"0")とドメイン(例えば、"D0")を結合した値としてインデックスキー(例えば、"0@D0")を生成し、ノード決定部212に出力する。そして、ID登録転送部213は、ノード決定部212が決定した担当ノードとなるデータ管理装置3に、送受信部240を介してID登録要求メッセージ10を送信する。ここで、担当ノードとは、ID登録要求メッセージ10の先頭の識別子とドメインを結合したインデックスキーをkeyとする後記するインデックスを保存するノード(データ管理装置3)のことをいう。また、ID登録転送部213は、送受信部240を介して、担当ノードからID登録応答メッセージ11(図8(b)参照)を受信し、クライアント装置1に送信する。
Returning to FIG. 3, the ID registration transfer unit 213 combines the identifier (for example, “0”) and the domain (for example, “D0”) of the received ID registration request message 10 (see FIG. 8A). An index key (for example, “0 @ D0”) is generated as a value and output to the node determination unit 212. Then, the ID registration transfer unit 213 transmits the ID
ID変換転送部214は、受信したID変換要求メッセージ40(図17(a)参照)の変換元識別子(例えば、"0")と変換元ドメイン(例えば、"D0")を結合した値としてインデックスキー(例えば、"0@D0")を生成し、ノード決定部212に出力する。そして、ID変換転送部214は、ノード決定部212が決定したインデックスノード(インデックスを保存するノードであり、詳細は後記する)となるデータ管理装置3に、送受信部240を介して、ID変換要求メッセージ40を送信する。また、ID変換転送部214は、送受信部240を介して、インデックスノードからID変換応答メッセージ41(図17(b)参照)を受信し、クライアント装置1に送信する。
The ID conversion transfer unit 214 indexes the conversion source identifier (for example, “0”) of the received ID conversion request message 40 (see FIG. 17A) and the conversion source domain (for example, “D0”) as a combined value. A key (for example, “0 @ D0”) is generated and output to the node determination unit 212. Then, the ID conversion / transfer unit 214 sends an ID conversion request to the
ID更新転送部215は、受信したID更新要求メッセージ60(図22(a)参照)の更新対象識別子(例えば、"0")と更新対象ドメイン(例えば、"D0")を結合した値としてインデックスキー(例えば、"0@D0")を生成し、ノード決定部212に出力する。そして、ID更新転送部215は、ノード決定部212が決定したインデックスノードとなるデータ管理装置3に、送受信部240を介して、ID更新要求メッセージ60を送信する。また、ID更新転送部215は、送受信部240を介して、インデックスノードからID更新応答メッセージ61(図22(b)参照)を受信し、クライアント装置1に送信する。
The ID update transfer unit 215 indexes the update target identifier (for example, “0”) and the update target domain (for example, “D0”) of the received ID update request message 60 (see FIG. 22A) as an index. A key (for example, “0 @ D0”) is generated and output to the node determination unit 212. Then, the ID update transfer unit 215 transmits the ID
入出力部230は、不図示のキーボードやマウス等の入力手段や、モニタ等の出力手段と接続され、利用者から入力手段を介して入力情報を受け付け、その入力情報や処理結果をモニタ等の出力手段に出力する処理を行う。
The input /
送受信部240は、TCP/IP通信を可能とするプロトコルスタックや、プロセス間通信を可能とするモジュール等のように、ネットワークや通信路を介して送受信する情報の制御を行う。
The transmission /
記憶部250は、前記したノード情報記憶領域200(図4(a)参照)を含んで構成される。
The
なお、本実施形態ではゲートウェイ装置2をクライアント装置1やデータ管理装置3とは独立した装置として扱っているが、本発明はこのような態様に限定されない。ゲートウェイ装置2を構成する各機能をクライアント装置1またはデータ管理装置3の中に実装することで、ゲートウェイ装置2を排した分散ID管理システム5を実現することも可能である。
In the present embodiment, the
≪データ管理装置≫
図5は、本実施形態に係るデータ管理装置3の構成例を示す機能ブロック図である。
図5に示すように、データ管理装置3は、制御部310と、入出力部330と、送受信部340と、記憶部350とを含んで構成される。
≪Data management device≫
FIG. 5 is a functional block diagram illustrating a configuration example of the
As shown in FIG. 5, the
また、制御部310は、ノード管理部311と、ノード決定部312と、ルートキー生成部313と、ID登録処理部314と、ID変換処理部315と、ID更新処理部316と、ID取得処理部317と、インデックス登録処理部318と、ルート情報登録処理部319と、ルート情報更新処理部320と、データ管理部321とを備えている。
In addition, the
ノード管理部311およびノード決定部312の処理は、ゲートウェイ装置2のノード管理部211およびノード決定部212と同様であるので、説明を省略する。
Since the processes of the node management unit 311 and the node determination unit 312 are the same as those of the
ルートキー生成部313は、擬似乱数生成器等を利用して、ルートキー(例えば、"R0")を生成する。ここでルートキーとは、分散ID管理システム5内で管理対象を一意に特定するための識別子を指すものである。
The root
ID登録処理部314は、ID登録処理の全般を制御する。以下、具体的に説明する。
ID登録処理部314は、識別子とドメインとを結合した値(例えば、"0@D0")をインデックスキーとして生成し、ノード決定部312に出力する。そして、ID登録処理部314は、ノード決定部312が決定したインデックスノードとなるデータ管理装置3に、送受信部340を介して、インデックス登録要求メッセージ30(後記する図8(e)参照)を送信する。
また、ID登録処理部314は、ルートキー(例えば、"R0")とドメイン(例えば、、"D0")とを結合した値(例えば、"R0@D0")をサブルートキーとして生成し、ノード決定部312に出力する。そして、ID登録処理部314は、ノード決定部312が決定したルートノードとなるデータ管理装置3に、送受信部340を介して、ルート情報登録要求メッセージ20(後記する図8(c)参照)を送信する。ここでルートノードとは、サブルートキーをkeyとする後記するルート情報を保存するノード(データ管理装置3)のことをいう。そして、ID登録処理部314は、ルートノードからルート情報登録応答メッセージ21(後記する図8(d)参照)を受信すると、ID登録応答メッセージ11(後記する図8(b)参照)を生成し、ゲートウェイ装置2へ送信する。
The ID
The ID
Further, the ID
ID変換処理部315は、ID変換処理の全般を制御する。以下、具体的に説明する。
ID変換処理部315は、ID変換要求メッセージ40(図17(a)参照)から、変換元識別子(例えば、"0")と変換元ドメイン(例えば、"D0")とを結合した値(例えば、"0@D0")としてインデックスキーを生成する。そして、ID変換処理部315は、生成したインデックスキー("0@D0")と、変換元日時(例えば、"T1")とを、データ管理部321に出力することにより、データ記憶領域330内のインデックスから、ルートキー(例えば、"R0")を取得する。
ID変換処理部315は、取得したルートキー("R0")と変換先ドメイン(例えば、"D1")を結合した値(例えば、"R0@D1")としてサブルートキーを生成し、ノード決定部312が決定したルートノードとなるデータ管理装置3に、ID取得要求メッセージ50(後記する図17(c)参照)を送信する。
また、ID変換処理部315は、ルートノードから、送受信部340を介して、ID取得応答メッセージ51(後記する図17(d)参照)を受信する。そして、ID変換処理部315は、ID取得応答メッセージ51から取得したID(識別子)を含む、ID変換応答メッセージ41(図17(b)参照)を生成し、送受信部340を介して、ゲートウェイ装置2に送信する。
The ID
The ID
The ID
Further, the ID
ID更新処理部316は、ID更新処理の全般を制御する。以下、具体的に説明する。
ID更新処理部316は、ID更新要求メッセージ60(図22(a)参照)から、更新対象識別子(例えば、"0")と更新対象ドメイン(例えば、"D0")とを結合した値(例えば、"0@D0")としてインデックスキーを生成する。そして、ID更新処理部316は、生成したインデックスキー("0@D0")と、更新対象日時(例えば、"T1")とを、データ管理部321に出力することにより、ルートキー(例えば、"R0")を取得する。
また、ID更新処理部316は、データ管理部321を介して、当該行の失効日時("∞")を更新日時(例えば、"T2")に更新する。
次に、ID更新処理部316は、ルートキー("R0")と更新対象ドメイン("D0")とを結合した値(例えば、"R0@D0")としてサブルートキーを生成し、ノード決定部312が決定したルートノードとなるデータ管理装置3に、ルート情報更新要求メッセージ70(後記する図22(c)参照)を送信する。
ID更新処理部316は、ルートノードから、送受信部340を介して、ルート情報更新応答メッセージ71(後記する図22(d)参照)を受信する。
また、ID更新処理部316は、更新後識別子(例えば、"9")と更新対象ドメイン("D0")とを結合した値(例えば、"9@D0")としてインデックスキーを生成し、ノード決定部312が決定したインデックスノードとなるデータ管理装置3に、インデックス登録要求メッセージ30(図22(e)参照)を送信する。
そして、ID更新処理部316は、インデックスノードから、送受信部340を介して、インデックス登録応答メッセージ31(図22(f)参照)を受信する。続いて、ID更新処理部316は、ID更新応答メッセージ61(図22(b)参照)を生成し、送受信部340を介して、ゲートウェイ装置2に送信する。
The ID update processing unit 316 controls the overall ID update processing. This will be specifically described below.
The ID update processing unit 316 combines the update target identifier (for example, “0”) and the update target domain (for example, “D0”) from the ID update request message 60 (see FIG. 22A) (for example, , “0 @ D0”), an index key is generated. Then, the ID update processing unit 316 outputs the generated index key (“0 @ D0”) and the update target date (for example, “T1”) to the
Further, the ID update processing unit 316 updates the revocation date / time (“∞”) of the row to the update date / time (for example, “T2”) via the
Next, the ID update processing unit 316 generates a sub-root key as a value (for example, “R0 @ D0”) obtained by combining the root key (“R0”) and the update target domain (“D0”), and the node determination unit A route information update request message 70 (see FIG. 22C described later) is transmitted to the
The ID update processing unit 316 receives a route information update response message 71 (see FIG. 22D described later) from the route node via the transmission /
Further, the ID update processing unit 316 generates an index key as a value (for example, “9 @ D0”) obtained by combining the post-update identifier (for example, “9”) and the update target domain (“D0”), and the node The index registration request message 30 (see FIG. 22 (e)) is transmitted to the
Then, the ID update processing unit 316 receives the index registration response message 31 (see FIG. 22F) from the index node via the transmission /
ID取得処理部317は、ID取得要求メッセージ50(図17(c)参照)から、サブルートキー(例えば、"R0@D1")と、変換先日時(例えば、"T1")とを取得し、データ管理部321に出力することにより、変換先となる識別子(例えば、"a")を取得する。そして、ID取得処理部317は、変換先となる識別子("a")を含むID取得応答メッセージ51(図17(d)参照)を生成し、送受信部340を介して、要求元のデータ管理装置3に送信する。
The ID
インデックス登録処理部318は、受信したインデックス登録要求メッセージ30(図8(e)参照)に基づいて、インデックス登録処理を行い、当該処理結果(例えば、"success")を含むインデックス登録応答メッセージ31(図8(f)参照)を生成し、送受信部340を介して、要求元のデータ管理装置3に送信する。
The index
ルート情報登録処理部319は、受信したルート情報登録要求メッセージ20(例えば、図8(c)参照)に基づいて、ルート情報登録処理を行い、当該処理結果(例えば、"success")を含むルート情報登録応答メッセージ21(図8(d)参照)を生成し、送受信部340を介して、要求元のデータ管理装置3に送信する。
The route information
ルート情報更新処理部320は、受信したルート情報更新要求メッセージ70(図22(c)参照)に基づいて、ルート情報更新処理を行い、当該処理結果(例えば、"success")を含むルート情報更新応答メッセージ71(図22(d)参照)を生成し、送受信部340を介して、要求元のデータ管理装置3に送信する。
The route information
データ管理部321は、他の処理部からの要求を受けて、データ記憶領域300内のデータの作成、検索、更新、削除等を行う。
In response to a request from another processing unit, the
入出力部330は、不図示のキーボードやマウス等の入力手段や、モニタ等の出力手段と接続され、利用者から入力手段を介して入力情報を受け付け、その入力情報や処理結果をモニタ等の出力手段に出力する処理を行う。
The input /
送受信部340は、TCP/IP通信を可能とするプロトコルスタックや、プロセス間通信を可能とするモジュール等のように、ネットワークや通信路を介して送受信する情報の制御を行う。
The transmission /
記憶部350は、前記したノード情報記憶領域200(図4(a)参照)と、データ記憶領域300とを含んで構成される。
このデータ記憶領域300は、key、登録日時、失効日時、valueの4つの組のデータが、インデックス若しくはルート情報として記憶される領域である。詳細は後記において説明する。
The
The
≪ハードウェア構成≫
図6は、本実施形態に係る各装置(クライアント装置1、ゲートウェイ装置2、データ管理装置3)のハードウェア構成図である。
≪Hardware configuration≫
FIG. 6 is a hardware configuration diagram of each device (
図6に示すように、本実施形態に係る各装置は、一般的なコンピュータ1000により実現される。
コンピュータ1000は、CPU1001と、メモリ1002と、ハードディスク等の外部記憶装置1003と、通信ネットワークに接続するためのNIC(Network Interface Card)等の送受信装置1004と、モニタ等の出力装置1005と、キーボードやマウス等の入力装置1006と、CD-ROMやDVD-ROM等の可搬性を有する記憶媒体1008から情報を読み取る読取装置1007とを含んで構成される。
As shown in FIG. 6, each device according to the present embodiment is realized by a
The
そして、各装置の記憶部内の記憶領域は、CPU1001がメモリ1002または外部記憶装置1003を利用することにより実現可能となる。また、各制御部は、外部記憶装置1003に記憶されている所定のプログラムをメモリ1002にロードすることによりCPU1001で実現可能となる。この所定のプログラムは、読取装置1007を介して記憶媒体1008から取得してもよいし、送受信装置1004を介してネットワークから外部記憶装置1003にダウンロードされ、メモリ1002にロードされてCPU1001により実行されるようにしてもよい。また、読取装置1007を介して記憶媒体1008から、あるいは、送受信装置1004を介してネットワークから、メモリ1002に直接ロードされ、CPU1001により実行されるようにしてもよい。
The storage area in the storage unit of each device can be realized by the
≪分散ID管理方法≫
次に、本実施形態に係る分散ID管理システム5による分散ID管理方法について説明する。具体的には、分散ID管理システム5による、(1)ID登録処理、(2)ID変換処理、(3)ID更新処理について説明する。
(1)ID登録処理は、クライアント装置1から取得したID登録要求メッセージ10(図8(a)参照)に含まれる「識別子」「ドメイン」「登録日時」を含む登録情報を、ゲートウェイ装置2を介して、インデックスおよびルート情報という保存形式により、分散させてデータ管理装置3に保存する処理である。
(2)ID変換処理は、クライアント装置1から取得したID変換要求メッセージ40(図17(a)参照)に含まれる「変換元識別子」「変換元ドメイン」「変換元日時」「変換先ドメイン」「変換先日時」のパラメータを用いて、「変換元識別子」を「変換先識別子」に変換する、つまり、「変換先識別子」を検索する処理である。
(3)ID更新処理は、クライアント装置1から取得したID更新要求メッセージ60(図22(a)参照)に基づき、ある「更新対象ドメイン」における「更新日時」以降の識別子を、それまで登録されていた「更新対象識別子」から新たな識別子である「更新後識別子」に更新する処理である。
以下、各処理について詳細に説明する。
≪Distributed ID management method≫
Next, a distributed ID management method by the distributed
(1) In the ID registration process, registration information including “identifier”, “domain”, and “registration date / time” included in the ID registration request message 10 (see FIG. 8A) acquired from the
(2) The ID conversion process includes “conversion source identifier”, “conversion source domain”, “conversion source date / time”, and “conversion destination domain” included in the ID conversion request message 40 (see FIG. 17A) acquired from the
(3) In the ID update process, based on the ID update request message 60 (see FIG. 22A) acquired from the
Hereinafter, each process will be described in detail.
<ID登録処理>
まず、図7〜図15を参照して、クライアント装置1がゲートウェイ装置2に対してIDの登録を要求(ID登録要求)した際に、ゲートウェイ装置2およびデータ管理装置3が実行するID登録処理について説明する。
<ID registration process>
First, referring to FIG. 7 to FIG. 15, when the
ここでは、クライアント装置1が要求するID登録処理の例として、ドメイン"D0"の日時"T0"における識別子"0"と、ドメイン"D1"の日時"T0"における識別子"a"が、同じ管理対象を示す識別子であることを分散ID管理システム5に登録する処理を例に説明する。
Here, as an example of the ID registration process requested by the
(ID登録処理の全体の流れ)
図7は、本実施形態に係る分散ID管理システム5が行うID登録処理の全体の流れを示すシーケンス図である。
(Overall flow of ID registration process)
FIG. 7 is a sequence diagram showing the overall flow of ID registration processing performed by the distributed
まず、クライアント装置1は、ID登録要求メッセージ10をゲートウェイ装置2へ送信する(ステップS101)。
First, the
図8(a)は、ID登録要求メッセージ10を例示する図である。図8(a)に示すように、ID登録要求メッセージ10は、「識別子」,「ドメイン」,「登録日時」の3つのパラメータで1つの登録情報を示し、符号10−1は、当該ID登録要求が、ドメイン"D0"の登録日時"T0"における識別子"0"を含むことを示し、符号10−2は、当該ID登録要求が、ドメイン"D1"の登録日時"T0"における識別子"a"を含むことを示す。そして、このID登録要求メッセージ10が要求するID登録処理では、ドメイン"D0"の登録日時"T0"における識別子"0"と、ドメイン"D1"の登録日時"T0"における識別子"a"が、同じ管理対象を示す識別子であることを登録する処理を行う。
なお、本例では、「識別子」,「ドメイン」,「登録日時」の組となる登録情報について、2組の例を説明するが、2組に限定されるものではなく、3組以上の登録情報を同時に登録するようにしてもよい。
また、図7以下に示す図において、例えば、日時"T0"におけるドメイン"D0"の識別子"0"の情報を、[0@D0:T0]のように表記するものとする。
FIG. 8A is a diagram illustrating an ID
In this example, two examples of registration information that is a set of “identifier”, “domain”, and “registration date” will be described. However, the registration information is not limited to two sets, and three or more sets of registration information are registered. Information may be registered at the same time.
Further, in the diagrams shown in FIG. 7 and subsequent figures, for example, the information of the identifier “0” of the domain “D0” in the date and time “T0” is expressed as [0 @ D0: T0].
図7に戻り、次に、ゲートウェイ装置2は、担当ノードの決定処理を行う(ステップS102)。ここで、担当ノードとは、受信したID登録要求メッセージ10の先頭のインデックスキー(ここでは、先頭の識別子"0"とドメイン"D0"とを結合した値として"0@D0")をkeyとする後記するインデックスを保存するノード(データ管理装置3)を指す。ゲートウェイ装置2のノード決定部212は、インデックスキー"0@D0"をキーとして、コンシステントハッシュ法により、担当ノードを決定する。ここでは、ノード決定部212が、データ管理装置3Aを担当ノードとして決定したものとする。
Returning to FIG. 7, next, the
続いて、ゲートウェイ装置2は、ID登録要求メッセージ10を、担当ノードとして決定したデータ管理装置3Aに送信する(ステップS103)。
Subsequently, the
データ管理装置3Aは、ID登録要求メッセージ10を受信すると、ルートキーの生成処理を行う(ステップS104)。ルートキーは、例えば、ドメイン"D0"の日時"T0"における識別子"0"と、ドメイン"D1"の日時"T0"における識別子"a"とが指し示す同一の管理対象を、分散ID管理システム5内で一意に特定するための識別子を指すものである。ここでは、例えば、データ管理装置3Aのルートキー生成部313が、擬似乱数生成器等を用いてルートキーとして"R0"を生成する。
Upon receiving the ID
次に、データ管理装置3Aは、インデックスの保存(登録)処理を行う(ステップS105)。ここで、インデックスとは、インデックスキー(識別子とドメインの結合値。例えば、"0@D0")と、登録日時(例えば、"T0")と、ルートキー(例えば、"R0")とを含む情報を指すものである(例えば、後記する図9(a)参照)。
具体的には、まず、データ管理装置3Aは、識別子"0"、ドメイン"D0"に関するインデックスを保存するインデックスノード(データ管理装置3)を決定する。インデックスノードの決定処理は、インデックスキー("0@D0")を検索キーとして、担当ノードの決定処理と同様にノード決定部312により実行される。そして、ノード決定部312は、コンシステントハッシュ法を用いて、データ管理装置3A自身をインデックスノードとして決定する。そして、データ管理装置3Aは、自身のデータ記憶領域300A(300)に対して、インデックスの保存処理を行う。
Next, the
Specifically, first, the
図9(a)は、インデックスが保存(登録)されたデータ管理装置3Aのデータ記憶領域300Aの例を示す。このデータ記憶領域300Aに保存されたインデックスには、keyとしてのインデックスキー"0@D0"、登録日時としての"T0"、失効日時として("0@D0"がまだ失効されていないことを示す)"∞"、valueとしてのルートキー"R0"がそれぞれ格納される。
FIG. 9A shows an example of the data storage area 300A of the
図7に戻り、次に、データ管理装置3Aは、ドメイン"D0"に関するルートノードの決定処理を行う(ステップS106)。ここでルートノードとは、サブルートキー(ルートキーとドメインの結合値。例えば、"R0@D0")をkeyとする後記するルート情報を保存すべきノード(データ管理装置3)を指す。このルートノード決定処理は、サブルートキーを検索キーとして、ノード決定部312が、コンシステントハッシュ法により、ルートノードを決定する。ここでは、例えば、サブルートキー"R0@D0"に対応するノードとしてデータ管理装置3Bが、ルートノードして決定されたものとする。
Returning to FIG. 7, next, the
続いて、データ管理装置3Aは、ルート情報登録要求メッセージ20a(20)を、ルートノードとして決定したデータ管理装置3Bに送信する(ステップS107)。
Subsequently, the
図8(c)は、ルート情報登録要求メッセージ20を例示する図である。図8(c)に示すように、ルート情報登録要求メッセージ20は、「サブルートキー」,「識別子」,「登録日時」のパラメータを含んで構成される。図8(c)に例示するルート情報登録要求メッセージ20a(20)は、ルートキー"R0"と、ドメイン"D0"の登録日時"T0"における識別子"0"とを対応付けて管理するように要求するものである。
FIG. 8C is a diagram illustrating a route information
図7に戻り、ルート情報登録要求メッセージ20a(20)を受信したデータ管理装置3Bは、ルート情報の保存(登録)処理を行う(ステップS108)。ここで、ルート情報とは、サブルートキー(ルートキーとドメインの結合値。例えば、"R0@D0")と、登録日時(例えば、"T0")と、識別子(例えば、"0")とを含む情報を指すものである。
Returning to FIG. 7, the
図9(b)は、ルート情報が保存(登録)されたデータ管理装置3Bのデータ記憶領域300Bの例を示す。このデータ記憶領域300Bに保存されたルート情報には、keyとしてのサブルートキー"R0@D0"、登録日時としての"T0"、失効日時として("R0@D0"がまだ失効されていないことを示す)"∞"、valueとしての識別子"0"がそれぞれ格納される。
FIG. 9B shows an example of the data storage area 300B of the
図7に戻り、データ管理装置3Bは、ルート情報登録応答メッセージ21a(21)を、データ管理装置3Aに送信する(ステップS109)。図8(d)に示すように、ルート情報登録応答メッセージ21は、処理結果を示すパラメータで構成される。ここでは、ルート情報登録応答メッセージ21aとして、ルート情報の登録処理が成功したことを示す"success"が付されるものとする。
Returning to FIG. 7, the
次に、データ管理装置3Aは、識別子"a"、ドメイン"D1"に関するインデックスノードの決定処理を行う(ステップS110)。ここでは、例えば、インデックスキー"a@D1"に対応するノードであるデータ管理装置3Cが、ノード決定部312によりインデックスノードとして決定される。
Next, the
続いて、データ管理装置3Aは、インデックス登録要求メッセージ30a(30)を、インデックスノードとして決定したデータ管理装置3Cに送信する(ステップS111)。
Subsequently, the
図8(e)は、インデックス登録要求メッセージ30を例示する図である。図8(e)に示すように、インデックス登録要求メッセージ30は、「インデックスキー」,「ルートキー」,「登録日時」のパラメータを含んで構成される。図8(e)に例示するインデックス登録要求メッセージ30a(30)は、ルートキー"R0"と、ドメイン"D1"の登録日時"T0"における識別子"a"とを対応付けて管理するように要求するものである。
FIG. 8E illustrates the index
図7に戻り、インデックス登録要求メッセージ30a(30)を受信したデータ管理装置3Cは、インデックスの保存(登録)処理を行う(ステップS112)。
Returning to FIG. 7, the
図9(c)は、インデックスが保存(登録)されたデータ管理装置3Cのデータ記憶領域300Cの例を示す。このデータ記憶領域300Cに保存されたインデックスには、keyとしてのインデックスキー"a@D1"、登録日時としての"T0"、失効日時として("a@D1"がまだ失効されていないことを示す)"∞"、valueとしてのルートキー"R0"がそれぞれ格納される。
FIG. 9C shows an example of the data storage area 300C of the
図7に戻り、データ管理装置3Cは、インデックス登録応答メッセージ31a(31)を、データ管理装置3Aに送信する(ステップS113)。図8(f)に示すように、インデックス登録応答メッセージ31は、処理結果を示すパラメータで構成される。ここでは、インデックス登録応答メッセージ31a(31)として、インデックスの登録処理が成功したことを示す"success"が付されるものとする。
Returning to FIG. 7, the
図7に戻り、データ管理装置3Aは、ドメイン"D1"に関するルートノードの決定処理を行う(ステップS114)。ここでは、ノード決定部312が、サブルートキー"R0@D1"に対応するノードとして、データ管理装置3Dをルートノードとして決定したものとする。
Returning to FIG. 7, the
続いて、データ管理装置3Aは、ルート情報登録要求メッセージ20b(20)を、ルートノードとして決定したデータ管理装置3Dに送信する(ステップS115)。
Subsequently, the
ルート情報登録要求メッセージ20bは、図8(g)に示すように、サブルートキー"R0@D1"と、識別子"a"と、登録日時"T0"とを含んで構成される。そして、このルート情報登録要求メッセージ20bは、ルートキー"R0"と、ドメイン"D1"の登録日時"T0"における識別子"a"とを対応付けて管理するように要求するものである。
As shown in FIG. 8G, the route information
図7に戻り、ルート情報登録要求メッセージ20b(20)を受信したデータ管理装置3Dは、ルート情報の保存(登録)処理を行う(ステップS116)。
Returning to FIG. 7, the
図9(d)は、ルート情報が保存(登録)されたデータ管理装置3Dのデータ記憶領域300Dの例を示す。このデータ記憶領域300Dに保存されたルート情報には、keyとしてサブルートキー"R0@D1"、登録日時としての"T0"、失効日時として("R0@D1"がまだ失効されていないことを示す)"∞"、valueとしての識別子"a"がそれぞれ格納される。
FIG. 9D shows an example of the data storage area 300D of the
図7に戻り、データ管理装置3Dは、ルート情報登録応答メッセージ21b(21)を、データ管理装置3Aに送信する(ステップS117)。図8(h)に示すように、ルート情報登録応答メッセージ21bには、ルート情報の登録処理が成功したことを示す"success"が付される。
Returning to FIG. 7, the
図7に戻り、ルート情報登録応答メッセージ21b(21)を受信したデータ管理装置3Aは、ID登録応答メッセージ11をゲートウェイ装置2に送信する(ステップS118)。図8(b)に示すように、ID登録応答メッセージ11には、ID登録処理が成功したことを示す"success"が付される。
Returning to FIG. 7, the
図7に戻り、ゲートウェイ装置2は、ID登録応答メッセージ11をクライアント装置1に送信し(ステップS119)、処理を終える。
Returning to FIG. 7, the
このID登録処理により、各データ管理装置3のデータ記憶領域300には、図9(a)〜(d)に示すようなインデックスおよびルート情報が格納される。これらの情報は、図9(e)に示すような日時"T0"における変換テーブルを仮想的に表現したものとみなすことができる。例えば、図9(e)の一行目のデータは、ドメイン"D0"の列に識別子"0"が格納され、ドメイン"D1"の列に識別子"a"が格納されているが、これは、日時"T0"において、ある管理対象が、ドメイン"D0"では識別子"0"であることを示し、ドメイン"D1"では識別子"a"であることを示す。
By this ID registration processing, indexes and route information as shown in FIGS. 9A to 9D are stored in the
次に、このID登録処理におけるゲートウェイ装置2およびデータ管理装置3が行う処理についてさらに詳細に説明する。
Next, processing performed by the
(ID登録処理におけるゲートウェイ装置の処理)
最初に、図7のID登録処理における、ゲートウェイ装置2の処理を詳細に説明する。図10は、本実施形態に係るID登録処理におけるゲートウェイ装置2の処理の流れを示すフローチャートである。
(Processing of gateway device in ID registration processing)
First, the processing of the
まず、ゲートウェイ装置2の送受信部240が、ID登録要求メッセージ10(図8(a)参照)をクライアント装置1から受信し、受信したID登録要求メッセージ10をID登録転送部213に出力する(ステップS121)。
First, the transmission /
ID登録転送部213は、受信したID登録要求メッセージ10の先頭の識別子("0")とドメイン("D0")を結合した値としてインデックスキー"0@D0"を生成し、ノード決定部212に出力する(ステップS122)。
The ID registration transfer unit 213 generates an index key “0 @ D0” as a value obtained by combining the first identifier (“0”) and the domain (“D0”) of the received ID
ノード決定部212が、コンシステントハッシュ法により担当ノードを決定し、決定した担当ノードの接続情報を、記憶部250内のノード情報記憶領域200から取得して、ID登録転送部213に出力する(ステップS123)。
The node determination unit 212 determines a responsible node by the consistent hash method, acquires connection information of the determined responsible node from the node
ID登録転送部213が、送受信部240を介してID登録要求メッセージ10(図8(a)参照)を担当ノードに送信する(ステップS124)。 The ID registration transfer unit 213 transmits the ID registration request message 10 (see FIG. 8A) to the responsible node via the transmission / reception unit 240 (step S124).
そして、ID登録転送部213が、送受信部240を介して、担当ノードからID登録応答メッセージ11(図8(b)参照)を受信する(ステップS125)。 Then, the ID registration transfer unit 213 receives the ID registration response message 11 (see FIG. 8B) from the responsible node via the transmission / reception unit 240 (step S125).
続いて、ID登録転送部213は、送受信部240を介して、ID登録応答メッセージ11を、クライアント装置1に送信して処理を終える(ステップS126)。
Subsequently, the ID registration transfer unit 213 transmits the ID
(ノード決定部によるノード決定処理)
次に、ノード決定部212,312によるノード決定処理について説明する(適宜図4参照)。図11は、本実施形態に係るノード決定処理の流れを示すフローチャートである。なお、このノード決定部212,312は、ゲートウェイ装置2およびデータ管理装置3の双方の存在し、同様の処理を行うものである。また、ノード決定部212,312が参照するノード情報記憶領域200も同じ情報がゲートウェイ装置2およびデータ管理装置3の双方に記憶される。
(Node decision processing by the node decision unit)
Next, node determination processing by the node determination units 212 and 312 will be described (see FIG. 4 as appropriate). FIG. 11 is a flowchart showing the flow of the node determination process according to the present embodiment. The node determination units 212 and 312 exist in both the
まず、ノード決定部212,312が、検索キー(ここでは、「q」とする)を入力として呼び出される(ステップS131)。 First, the node determination units 212 and 312 are called with a search key (here, “q”) as an input (step S131).
次に、ノード決定部212,312が、ハッシュ関数Hに基づき、検索キーqのハッシュ値H(q)を計算する(ステップS132)。 Next, the node determination units 212 and 312 calculate the hash value H (q) of the search key q based on the hash function H (step S132).
続いて、ノード決定部212,312は、ノード情報記憶領域200のノード情報に基づくリング(図4(b)の閉じたハッシュ空間)400を参照し、ハッシュ値H(q)より大きい値で最も近いハッシュ値(ノードID)のノードを、その検索キーqに関するデータの振り分け先のノードとして決定する(ステップS133)。
Subsequently, the node determination units 212 and 312 refer to the ring (closed hash space in FIG. 4B) 400 based on the node information in the node
そして、ノード決定部212,312は、決定したノードの接続情報を、ノード情報記憶領域200を参照して取得し、呼出し元に出力し処理を終える(ステップS134)。
Then, the node determination units 212 and 312 acquire the connection information of the determined nodes with reference to the node
(ID登録処理における担当ノードの処理)
次に、図7のID登録処理における、担当ノードであるデータ管理装置3Aの処理を詳細に説明する。図12および図13は、本実施形態に係るID登録処理における担当ノード(データ管理装置3A)の処理の流れを示すフローチャートである。
(Process of responsible node in ID registration process)
Next, the processing of the
図12に示すように、まず、担当ノードであるデータ管理装置3(ここでは、データ管理装置3A)の送受信部340が、ゲートウェイ装置2からID登録要求メッセージ10(図8(a)参照)を受信し、受信したID登録要求メッセージ10をID登録処理部314に出力する(ステップS141)。
As shown in FIG. 12, first, the transmission /
次に、ルートキー生成部313が、ルートキー(ここでは、「r」とする)を生成する(ステップS142)。例えば、図7のステップS104のように、データ管理装置3Aのルートキー生成部313が、擬似乱数生成器等を用いてルートキーrとして"R0"を生成する。
Next, the root
続いて、ID登録処理部314は、ID登録要求メッセージ10内に、識別子,ドメイン,登録日時の組が存在するか否かを判定する(ステップS143)。そして、ID登録処理部314は、識別子,ドメイン,登録日時の組が存在しない場合には(ステップS143→No)、図13のステップS152に進む。一方、識別子,ドメイン,登録日時の組が存在する場合には(ステップS143→Yes)、識別子,ドメイン,登録日時の組のうちの1つを選択し、次のステップS144に進む。
Subsequently, the ID
ステップS144において、ID登録処理部314は、選択した1組の情報について、識別子とドメインとを結合した値(例えば、"0@D0")をインデックスキーとして生成し、ノード決定部312に出力する。
In step S144, the ID
次に、ノード決定部312は、コンシステントハッシュ法によりインデックスノードとなるノードを決定し、決定したインデックスノードの接続情報を、記憶部350内のノード情報記憶領域200から取得して、ID登録処理部314に出力する(ステップS145)。
Next, the node determination unit 312 determines a node to be an index node by a consistent hash method, acquires connection information of the determined index node from the node
そして、ID登録処理部314は、インデックスキー、ルートキー、登録日時のパラメータを含んだインデックス登録要求メッセージ30(図8(e)参照)を、送受信部340を介して、インデックスノードに送信する(ステップS146)。
Then, the ID
続いて、ID登録処理部314は、インデックスノードからインデックス登録応答メッセージ31(図8(f)参照)を受信する(ステップS147)。
Subsequently, the ID
図13に移り、ID登録処理部314は、ルートキーとドメインとを結合した値(例えば、"R0@D0")をサブルートキーとして生成し、ノード決定部312に出力する(ステップS148)。
Moving to FIG. 13, the ID
次に、ノード決定部312は、コンシステントハッシュ法によりルートノードを決定し、決定したルートノードの接続情報を、記憶部350内のノード情報記憶領域200から取得して、ID登録処理部314に出力する(ステップS149)。
Next, the node determination unit 312 determines a root node by a consistent hash method, acquires connection information of the determined root node from the node
続いて、ID登録処理部314は、サブルートキー、識別子、登録日時のパラメータを含んだルート情報登録要求メッセージ20(図8(c)(g)参照)を、送受信部340を介して、ルートノードに送信する(ステップS150)。
Subsequently, the ID
そして、ID登録処理部314は、ルートノードからルート情報登録応答メッセージ21(図8(d)(h)参照)を受信する(ステップS151)。
Then, the ID
図12のステップS143に戻り、ID登録処理部314は、識別子,ドメイン,登録日時の組が存在しない場合に(ステップS143→No)、図13のステップS152に進む。そして、ID登録処理部314は、全ての処理が成功したか否かを判定する(ステップS152)。この判定は、例えば、ID登録処理部314が、所定時間以内に、要求メッセージに対する正しい応答がなされたか否かで判定する。そして、ID登録処理部314は、全ての処理が成功した場合には(ステップS152→Yes)、送受信部340を介して、ゲートウェイ装置2へID登録応答メッセージ11(図8(b)参照)を送信して処理を終了する(ステップS153)。一方、全ての処理が成功した場合でないときは(ステップS152→No)、ID登録処理部314は、送受信部340を介して、ゲートウェイ装置2にエラーメッセージを送信して処理を終了する(ステップS154)。
Returning to step S143 in FIG. 12, the ID
(インデックス保存処理)
次に、図7のID登録処理のステップS112で行われる、データ管理装置3(ここでは、データ管理装置3C)のインデックスの保存(登録)処理を詳細に説明する。図14は、本実施形態に係るインデックス保存処理におけるデータ管理装置3の処理の流れを示すフローチャートである。
(Index saving process)
Next, an index storage (registration) process of the data management apparatus 3 (here, the
まず、送受信部340が、他のデータ管理装置3からインデックス登録要求メッセージ30を受信すると、その受信したインデックス登録要求メッセージ30(図8(e)参照)をインデックス登録処理部318に出力する(ステップS161)。
First, when the transmission /
次に、インデックス登録処理部318は、インデックス登録要求メッセージ30から、インデックスキー(ここでは"k"とする),ルートキー(ここでは"r"とする),登録日時(ここでは"t"とする)を取得し、データ管理部321に出力する(ステップS162)。
Next, the index
データ管理部321は、自身のデータ記憶領域300のインデックスに、keyとしてインデックスキー"k"、登録日時"t"、失効日時として"∞"、valueとしてルートキー"r"となる行と追加する(ステップS163)。
The
そして、インデックス登録処理部318は、インデックスが保存されたことを示す"success"を含むインデックス登録応答メッセージ31(図8(f)参照)を生成し、送受信部340を介して、要求元のデータ管理装置3に送信して処理を終える(ステップS164)。
Then, the index
(ルート情報保存処理)
次に、図7のID登録処理のステップS108,S116で行われる、データ管理装置3(ここでは、データ管理装置3B,3D)のルート情報の保存(登録)処理を詳細に説明する。図15は、本実施形態に係るルート情報保存処理におけるデータ管理装置3の処理の流れを示すフローチャートである。
(Route information saving process)
Next, the route information storage (registration) processing of the data management device 3 (here, the
まず、送受信部340が、他のデータ管理装置3からルート情報登録要求メッセージ20(図8(c)(g)参照)を受信すると、その受信したルート情報登録要求メッセージ20をルート情報登録処理部319に出力する(ステップS171)。
First, when the transmission /
次に、ルート情報登録処理部319は、ルート情報登録要求メッセージ20から、サブルートキー(ここでは"s"とする),識別子(ここでは"i"とする),登録日時(ここでは"t"とする)を取得し、データ管理部321に出力する(ステップS172)。
Next, the route information
データ管理部321は、自身のデータ記憶領域300のルート情報に、keyとしてサブルートキー"s"、登録日時"t"、失効日時として"∞"、valueとして識別子"i"となる行を追加する(ステップS173)。
The
そして、ルート情報登録処理部319は、ルート情報が保存されたことを示すルート情報登録応答メッセージ21(図8(d)(h)参照)を生成し、送受信部340を介して、要求元のデータ管理装置3に送信して処理を終える(ステップS174)。
Then, the route information
このようにすることで、本実施形態に係る分散ID管理システム5は、クライアント装置1から取得したID登録要求メッセージ10(図8(a)参照)に含まれる登録情報を、ゲートウェイ装置2を介して、インデックスおよびルート情報という保存形式により、分散させてデータ管理装置3に保存することができる。
In this way, the distributed
なお、本例では、「識別子」,「ドメイン」,「登録日時」の組となる登録情報について、図8(a)に示すように、第1の登録情報(符号10−1)と第2の登録情報(符号10−2)の2組を登録する場合を例に説明した。しかし、本発明は、登録情報について2組に限定されるものではなく、2組以上であれば、例えば、第3の登録情報、第4の登録情報、第5の登録情報のように、第i(i番目)の登録情報までを含めて本実施形態に係るID登録処理で、各データ管理装置3に登録することもできる。
In this example, as shown in FIG. 8A, the registration information that is a set of “identifier”, “domain”, and “registration date” is the first registration information (reference numeral 10-1) and the second registration information. The case where two sets of registration information (reference numeral 10-2) are registered has been described as an example. However, the present invention is not limited to two sets of registration information. If there are two or more sets, for example, the third registration information, the fourth registration information, and the fifth registration information are used. It is also possible to register in each
その場合、ゲートウェイ装置2から、i個の登録情報が含まれるID登録要求メッセージ10を受信した第1のデータ管理装置3(3A)のノード決定部312は、第i(i番目:iは1以上の整数)の登録情報についてID登録処理部314が生成した第iインデックスキーにハッシュ関数を適用してハッシュ値を算出し、ノード情報のノードIDを参照して決定したデータ管理装置3として、第iインデックスの登録先を、(2×i−1)番目のデータ管理装置3に決定することができる。また、第1のデータ管理装置3(3A)のノード決定部312は、第i(i番目)の登録情報についてID登録処理部314が生成した第i(i番目)サブルートキーにハッシュ関数を適用してハッシュ値を算出し、ノード情報のノードIDを参照して決定したデータ管理装置3として、第iルート情報の登録先を、(2×i)番目のデータ管理装置3に決定することができる。
つまり、本実施形態に係る分散ID管理システム5は、i個の登録情報が含まれるID登録要求メッセージ10を受信した場合であっても、i個の登録情報を、インデックスおよびルート情報という形式で分散して複数のデータ管理装置3に保存することができる。
In this case, the node determination unit 312 of the first data management device 3 (3A) that has received the ID
That is, even if the distributed
<ID変換処理>
次に、図16〜図20を参照して、図7に示したID登録処理が行われた後に、クライアント装置1がゲートウェイ装置2に対して、IDの変換を要求(ID変換要求)した際に、ゲートウェイ装置2とデータ管理装置3が実行するID変換処理について説明する。
<ID conversion process>
Next, referring to FIGS. 16 to 20, when the
ここでは、クライアント装置1が要求するID変換処理の例として、ドメイン"D0"の日時"T1"における識別子"0"を、ドメイン"D1"の同日時"T1"における識別子へ変換する処理(つまり、ドメイン"D0"の日時"T1"における識別子"0"に対応する、ドメイン"D1"の同日時"T1"における識別子を検索する処理)、について説明する。ここで、"T1"は、"T0"よりも未来の日時を示すものとする。
Here, as an example of the ID conversion process requested by the
(ID変換処理の全体の流れ)
図16は、本実施形態に係る分散ID管理システム5が行うID変換処理の全体の流れを示すシーケンス図である。
(Overall flow of ID conversion process)
FIG. 16 is a sequence diagram showing the overall flow of ID conversion processing performed by the distributed
まず、クライアント装置1は、ID変換要求メッセージ40a(40)をゲートウェイ装置2に送信する(ステップS201)。
First, the
図17(a)は、ID変換要求メッセージ40を例示する図である。図17(a)に示すように、ID変換要求メッセージ40は、「変換元識別子」,「変換元ドメイン」,「変換元日時」,「変換先ドメイン」,「変換先日時」のパラメータを含んで構成される。図17(a)に例示するID変換要求メッセージ40a(40)は、変換元であるドメイン(変換元ドメイン)"D0"の日時(変換元日時)"T1"における識別子(変換元識別子)"0"を、ドメイン(変換先ドメイン)"D1"の同日時(変換先日時)"T1"における識別子へ変換する(変換先となる識別子を検索する)処理を要求するものである。
FIG. 17A is a diagram illustrating an ID
図16に戻り、ID変換要求メッセージ40a(40)を受信したゲートウェイ装置2は、インデックスノードの決定処理を行う(ステップS202)。このインデックスノードの決定処理は、インデックスキーを検索キーとして、ノード決定部212がコンシステントハッシュ法により決定する。ここでは、例えば、インデックスキー"0@D0"に対応するノードであるデータ管理装置3Aが、インデックスノードとして決定される。
Returning to FIG. 16, the
続いて、ゲートウェイ装置2は、ID変換要求メッセージ40a(40)を、インデックスノードとして決定したデータ管理装置3Aに送信する(ステップS203)。
Subsequently, the
ID変換要求メッセージ40a(40)を受信したデータ管理装置3Aは、ルートキーの取得処理を行う(ステップS204)。ルートキーの取得は、インデックスキー("0@D0")をキーとして、データ格納領域300A内のインデックス(図9(a)参照)を検索し、変換元日時T1が登録日時と失効日時の間に含まれる行から行われる。ここでは、図9(a)に示すインデックスから、ルートキーとして"R0"が取得される。
The
次に、データ管理装置3Aは、ルートノードの決定処理を行う(ステップS205)。ここでは、サブルートキー"R0@D1"に対応するノードとして、データ管理装置3Dが、ルートノードとして決定される。
Next, the
続いて、データ管理装置3Aは、ID取得要求メッセージ50a(50)を、ルートノードとして決定したデータ管理装置3Dに送信する(ステップS206)。
Subsequently, the
図17(c)は、ID取得要求メッセージ50を例示する図である。図17(c)に示すように、ID取得要求メッセージ50は、「サブルートキー」,「変換先日時」のパラメータを含んで構成される。図17(c)に例示するID取得要求メッセージ50a(50)は、サブルートキー"R0@D1"に紐付く識別子の内、変換先日時"T1"で有効なものの取得を要求するものであることを示す。
FIG. 17C is a diagram illustrating an ID
図16に戻り、ID取得要求メッセージ50a(50)を受信したデータ管理装置3Dは、ID(識別子)の取得処理を行う(ステップS207)。ID(識別子)の取得は、サブルートキー"R0@D1"をキーとして、データ格納領域300D内のルート情報(図9(d)参照)を検索し、変換先日時T1が、登録日時と失効日時の間に含まれるような行から行われる。ここでは、図9(d)に示すルート情報から、識別子として"a"が取得される。
Returning to FIG. 16, the
次に、データ管理装置3Dは、ID取得応答メッセージ51a(51)を生成し、データ管理装置3Aに送信する(ステップS208)。図17(d)に示すように、ID取得応答メッセージ51aには、ID変換処理の結果取得された識別子(変換先識別子)"a"が含まれる。
Next, the
続いて、データ管理装置3Aは、ID変換応答メッセージ41a(41)を生成し、ゲートウェイ装置2に送信する(ステップS209)。図17(b)に示すように、ID変換応答メッセージ41aには、ID変換処理の結果取得された識別子(変換先識別子)"a"が含まれる。
Subsequently, the
そして、ゲートウェイ装置2は、ID変換応答メッセージ41a(41)をクライアント装置1に送信し、処理を終える(ステップS210)。
Then, the
次に、このID変換処理におけるゲートウェイ装置2およびデータ管理装置3が行う処理についてさらに詳細に説明する。
Next, processing performed by the
(ID変換処理におけるゲートウェイ装置の処理)
最初に、図16のID変換処理における、ゲートウェイ装置2の処理の詳細を説明する。図18は、本実施形態に係るID変換処理におけるゲートウェイ装置2の処理の流れを示すフローチャートである。
(Processing of gateway device in ID conversion processing)
First, details of the processing of the
まず、ゲートウェイ装置2の送受信部240が、ID変換要求メッセージ40(図17(a)参照)をクライアント装置1から受信し、受信したID変換要求メッセージ40をID変換転送部214に出力する(ステップS221)。
First, the transmission /
ID変換転送部214は、受信したID変換要求メッセージ40の変換元識別子"0"と変換元ドメイン"D0"を結合した値としてインデックスキー"0@D0"を生成し、ノード決定部212に出力する(ステップS222)。
The ID conversion transfer unit 214 generates an index key “0 @ D0” as a value obtained by combining the conversion source identifier “0” and the conversion source domain “D0” of the received ID
ノード決定部212は、コンシステントハッシュ法によりインデックスノードとなるノードを決定し、決定したインデックスノードの接続情報を、記憶部250内のノード情報記憶領域200から取得して、ID変換転送部214に出力する(ステップS223)。
The node determination unit 212 determines a node to be an index node by a consistent hash method, acquires connection information of the determined index node from the node
ID変換転送部214は、送受信部240を介して、ID変換要求メッセージ40を、決定したインデックスノードに送信する(ステップS224)。
The ID conversion transfer unit 214 transmits the ID
そして、ID変換転送部214は、送受信部240を介して、インデックスノードからID変換応答メッセージ41(図17(b)参照)を受信する(ステップS225)。 Then, the ID conversion transfer unit 214 receives the ID conversion response message 41 (see FIG. 17B) from the index node via the transmission / reception unit 240 (step S225).
続いて、ID変換転送部214は、送受信部240を介して、ID変換応答メッセージ41を、クライアント装置1に送信して処理を終える(ステップS226)。
Subsequently, the ID conversion transfer unit 214 transmits the ID
(ID変換処理におけるデータ管理装置の処理)
次に、図16のID変換処理における、データ管理装置3(ここでは、データ管理装置3A)の処理を詳細に説明する。図19は、本実施形態に係るID変換処理におけるデータ管理装置3(3A)の処理の流れを示すフローチャートである。
(Processing of data management device in ID conversion processing)
Next, the processing of the data management device 3 (here, the
まず、データ管理装置3(ここでは、データ管理装置3A)の送受信部340が、ゲートウェイ装置2からID変換要求メッセージ40(図17(a)参照)を受信し、ID変換処理部315に出力する(ステップS231)。
First, the transmission /
次に、ID変換処理部315は、ID変換要求メッセージ40に含まれる、変換元識別子(ここでは、「i」とする),変換元ドメイン(ここでは、「d」とする),変換元日時(ここでは、「t」とする),変換先ドメイン(ここでは、「d'」とする),変換先日時(ここでは「t'」とする)を取得する。ID変換処理部315は、変換元識別子iと変換元ドメインdとを結合した値(i@d)としてインデックスキーを生成する。具体的には、ID変換処理部315は、インデックスキー"0@D0"を生成する。そして、ID変換処理部315は、生成したインデックスキー(i@d)と、変換元日時tとを、データ管理部321に出力する(ステップS232)。
Next, the ID
続いて、データ管理部321は、データ記憶領域300(ここでは、図9(a)のデータ記憶領域300A)に記憶されたインデックスから、条件[key=i@d かつ 登録日時≦t<失効日時]を満たす行を検索する(ステップS233)。
Subsequently, the
そして、データ管理部321は、条件を満たす行が存在するか否かを判定し(ステップS234)、条件を満たす行が存在しない場合には(ステップS234→No)、ステップS242に進む。一方、データ管理部321は、条件を満たす行が存在する場合には(ステップS234→Yes)、次のステップS235へ進む。
Then, the
ステップS235において、データ管理部321は、条件を満たす行のvalueの値からルートキー(「r」)を取得し、ID変換処理部315に出力する。ここでは、データ管理部321が、図9(a)に示すインデックスから、ルートキーとして"R0"を取得し、ID変換処理部315に出力する。
In step S <b> 235, the
次に、ID変換処理部315は、ルートキーrと変換先ドメインd'を結合した値(r@d')としてサブルートキーを生成する。ここでは、ID変換処理部315は、サブルートキー"R0@D1"を生成する。そして、ID変換処理部315は、生成したサブルートキー(r@d')をノード決定部312に出力する(ステップS236)。
Next, the ID
続いて、ノード決定部312が、コンシステントハッシュ法によりルートノードとなるノードを決定し、決定したルートノードの接続情報を、記憶部350内のノード情報記憶領域200から取得して、ID変換処理部315に出力する(ステップS237)。
Subsequently, the node determination unit 312 determines a node to be a root node by the consistent hash method, acquires connection information of the determined root node from the node
ID変換処理部315は、サブルートキー(r@d')と変換先日時t'とを含むID取得要求メッセージ50(図17(c)参照)を生成し、送受信部340を介して、ルートノードに送信する(ステップS238)。
The ID
そして、ID変換処理部315は、ルートノードから、送受信部340を介して、変換先のID(識別子)を含むID取得応答メッセージ51(図17(d)参照)を受信する(ステップS239)。
Then, the ID
ID変換処理部315は、ID(識別子)の取得に成功したか否かを判定し(ステップS240)、成功していない場合には(ステップS240→No)、ステップS242に進む。一方、ID変換処理部315は、ID(識別子)の取得に成功した場合には(ステップS240→Yes)、次のステップS241へ進む。
The ID
ステップS241において、ID変換処理部315は、ID取得応答メッセージ51から取得したID(識別子)を含む、ID変換応答メッセージ41(図17(b)参照)を生成し、送受信部340を介して、ゲートウェイ装置2に送信し、処理を終える。
In step S241, the ID
また、ステップS234において条件を満たす行がない場合(ステップS234→No)、または、ステップS240においてID(識別子)の取得に成功していない場合(ステップS240→No)には、ID変換処理部315が、エラーメッセージを生成し、送受信部340を介して、ゲートウェイ装置2に送信し、処理を終える(ステップS242)。
If there is no row that satisfies the condition in step S234 (step S234 → No), or if ID (identifier) acquisition has not been successful in step S240 (step S240 → No), the ID
(ID取得処理)
次に、図16のID変換処理のステップS207で行われる、ID取得処理を詳細に説明する。図20は、本実施形態に係るID取得処理におけるデータ管理装置3(ここでは、データ管理装置3D)の処理の流れを示すフローチャートである。
(ID acquisition process)
Next, the ID acquisition process performed in step S207 of the ID conversion process in FIG. 16 will be described in detail. FIG. 20 is a flowchart showing a processing flow of the data management device 3 (here, the
まず、送受信部340が、他のデータ管理装置3からID取得要求メッセージ50(図17(c)参照)を受信すると、その受信したID取得要求メッセージ50をID取得処理部317に出力する(ステップS251)。
First, when the transmission /
次に、ID取得処理部317は、ID取得要求メッセージ50から、サブルートキー(r@d)と、変換先日時t'とを取得し、データ管理部321に出力する(ステップS252)。
Next, the ID
続いて、データ管理部321は、データ記憶領域300(ここでは、データ記憶領域300D)に記憶されたルート情報から、条件[key=r@d かつ 登録日時≦t'<失効日時]を満たす行を検索する(ステップS253)。
Subsequently, the
そして、データ管理部321は、条件を満たす行が存在するか否かを判定し(ステップS254)、条件を満たす行が存在しない場合には(ステップS254→No)、ステップS257に進む。一方、データ管理部321は、条件を満たす行が存在する場合には(ステップS254→Yes)、次のステップS255へ進む。
Then, the
ステップS255において、データ管理部321は、条件を満たす行のvalueの値から識別子iを取得し、ID取得処理部317に出力する。ここでは、データ管理部321が、図9(d)に示すルート情報から、変換先の識別子(変換先識別子)iとして"a"を取得し、ID取得処理部317に出力する。
In step S <b> 255, the
次に、ID取得処理部317は、変換先の識別子i(ここでは"a")を含むID取得応答メッセージ51(図17(d)参照)を生成し、送受信部340を介して、要求元のデータ管理装置3に送信して処理を終える(ステップS256)。
Next, the ID
また、ステップS254において、条件を満たす行が存在しない場合には(ステップS254→No)、ID取得処理部317は、エラーメッセージを生成し、送受信部340を介して、要求元のデータ管理装置3に送信して処理を終える(ステップS257)。
In step S254, when there is no row that satisfies the condition (step S254 → No), the ID
このようにすることで、本実施形態に係る分散ID管理システム5は、クライアント装置1から取得したID変換要求メッセージ40(図17(a)参照)に含まれる「変換元識別子」「変換元ドメイン」「変換元日時」「変換先ドメイン」「変換先日時」のパラメータを用いて、「変換元識別子」を「変換先識別子」に変換する、つまり、「変換先識別子」を検索することができる。
By doing in this way, the distributed
<ID更新処理>
次に、図21〜図27を参照して、図7に示したID登録処理が行われた後に、クライアント装置1がゲートウェイ装置2に対して、IDの更新を要求(ID更新要求)した際に、ゲートウェイ装置2とデータ管理装置3が実行するID更新処理について説明する。
<ID update processing>
Next, referring to FIG. 21 to FIG. 27, when the
ここでは、クライアント装置1が要求するID更新処理の例として、ドメイン(更新対象ドメイン)"D0"の日時(更新対象日時)"T1"における識別子(更新対象識別子)"0"を、日時(更新日時)"T2"以降は識別子(更新後識別子)"9"に置き換える(更新する)処理について説明する。ここで、"T2"は"T1"よりも未来の日時を示すものとする。
Here, as an example of ID update processing requested by the
(ID更新処理の全体の流れ)
図21は、本実施形態に係る分散ID管理システム5が行うID更新処理の全体の流れを示すシーケンス図である。
(Overall flow of ID update processing)
FIG. 21 is a sequence diagram showing an overall flow of ID update processing performed by the distributed
まず、クライアント装置1は、ID更新要求メッセージ60をゲートウェイ装置2に送信する(ステップS301)。
First, the
図22(a)は、ID更新要求メッセージ60を例示する図である。図22(a)に示すように、ID更新要求メッセージ60は、「更新対象識別子」,「更新対象ドメイン」,「更新対象日時」,「更新後識別子」,「更新日時」のパラメータを含んで構成される。図22(a)に例示するID更新要求メッセージ60は、ドメイン(更新対象ドメイン)"D0"の日時(更新対象日時)"T1"における識別子(更新対象識別子)"0"を更新元として、日時(更新日時)"T2"以降は識別子(更新後識別子)"9"に置き換える(更新する)処理を要求するものである。
FIG. 22A is a diagram illustrating an ID
図21に戻り、ID更新要求メッセージ60を受信したゲートウェイ装置2は、インデックスノードの決定処理を行う(ステップS302)。このインデックスノードの決定処理は、インデックスキーを検索キーとして、ノード決定部212がコンシステントハッシュ法により決定する。ここでは、例えば、インデックスキー"0@D0"に対応するノードであるデータ管理装置3Aが、インデックスノードとして決定される。
Returning to FIG. 21, the
続いて、ゲートウェイ装置2は、ID更新要求メッセージ60を、インデックスノードとして決定したデータ管理装置3Aに送信する(ステップS303)。
Subsequently, the
ID更新要求メッセージ60を受信したデータ管理装置3Aは、ルートキーの取得処理を行う(ステップS304)。ルートキーの取得は、インデックスキー("0@D0")をキーとして、データ格納領域300A内のインデックス(図9(a)参照)を検索し、更新対象日時"T1"が登録日時と失効日時の間に含まれる行から行われる。ここでは、図9(a)に示すインデックスから、ルートキーとして"R0"が取得される。
The
次に、データ管理装置3Aは、インデックスの失効処理を行う(ステップS305)。このインデックスの失効処理は、ステップS304において、インデックスから、ルートキー"R0"を取得した行の失効日時を更新日時で更新することにより行う。
Next, the
図23(a)に、インデックスの失効処理後のデータ管理装置3Aのデータ記憶領域300Aの例を示す。ここでは、インデックス"0@D0"に対応する行において、失効日時が"∞"から"T2"に更新されている。
FIG. 23A shows an example of the data storage area 300A of the
図21に戻り、次に、データ管理装置3Aは、更新対象のルートノードの決定処理を行う(ステップS306)。ここでは、ノード決定部312が、サブルートキー"R0@D0"に対応するノードとして、データ管理装置3Bを、ルートノードとして決定する。
Returning to FIG. 21, next, the
続いて、データ管理装置3Aは、ルート情報更新要求メッセージ70を、ルートノードとして決定したデータ管理装置3Bに送信する(ステップS307)。
Subsequently, the
図22(c)は、ルート情報更新要求メッセージ70を例示する図である。図22(c)に示すように、ルート情報更新要求メッセージ70は、「サブルートキー」,「更新後識別子」,「更新日時」のパラメータを含んで構成される。図22(c)に示すルート情報更新要求メッセージ70は、日時(更新日時)"T2"以降、サブルートキー"R0@D0"に紐付く識別子(更新後識別子)として"9"を用いるように更新することを要求するものである。
FIG. 22C is a diagram illustrating a route information
図21に戻り、ルート情報更新要求メッセージ70を受信したデータ管理装置3Bは、ルート情報の更新処理を行う(ステップS308)。
Returning to FIG. 21, the
図23(b)に、ルート情報更新後のデータ管理装置3Bのデータ記憶領域300Bの例を示す。ここでは、サブルートキー"R0@D0"に対応する行において、登録日時"T0"の行では、失効日時が"∞"から更新日時である"T2"に更新されている。また、サブルートキー"R0@D0"の新たな行が追加され、keyとしてサブルートキー"R0@D0"、登録日時として更新後日時"T2"、失効日時として"∞"、valueとして識別子(更新後識別子)"9"が、それぞれ格納される。
FIG. 23B shows an example of the data storage area 300B of the
図21に戻り、データ管理装置3Bは、ルート情報更新応答メッセージ71(図22(d)参照)を、データ管理装置3Aに送信する(ステップS309)。図22(d)に示すように、ルート情報更新応答メッセージ71には、ルート情報の更新処理が成功したことを示す"success"が付される。
Returning to FIG. 21, the
次に、データ管理装置3Aは、インデックスノードの決定処理を行う(ステップS310)。ここでは、例えば、インデックスキー"9@D0"に対応するノードであるデータ管理装置3Eが、インデックスノードとして決定される。
Next, the
続いて、データ管理装置3Aは、インデックス登録要求メッセージ30b(30)を、インデックスノードとして決定したデータ管理装置3Eに送信する(ステップS311)。
Subsequently, the
図22(e)は、インデックス登録要求メッセージ30を例示する図である。図22(e)に例示するインデックス登録要求メッセージ30bは、ルートキー"R0"と、ドメイン"D0"の登録日時"T2"における識別子"9"とを対応付けて管理するように要求するものである。
FIG. 22 (e) is a diagram illustrating an index
図21に戻り、インデックス登録要求メッセージ30bを受信したデータ管理装置3Eは、インデックスの保存処理を行う(ステップS312)。
Returning to FIG. 21, the
図23(e)は、インデックスが保存されたデータ管理装置3Eのデータ記憶領域300Eの例を示す。このデータ記憶領域300Eに保存されたインデックスには、keyとしてのインデックスキー"9@D0"、登録日時としての"T2"、失効日時として("9@D0"がまだ失効されていないことを示す)"∞"、valueとしてのルートキー"R0"がそれぞれ格納される。
FIG. 23 (e) shows an example of the data storage area 300E of the
図21に戻り、データ管理装置3Eは、インデックス登録応答メッセージ31b(31)を生成し、データ管理装置3Aに送信する(ステップS313)。図22(f)に示すように、インデックス登録応答メッセージ31bは、インデックスの登録処理が成功したことを示す"success"が付される。
Returning to FIG. 21, the
インデックス登録応答メッセージ31bを受信したデータ管理装置3Aは、ID更新応答メッセージ61を生成し、ゲートウェイ装置2に送信する(ステップS314)。図22(b)に示すように、ID更新応答メッセージ61には、ID更新処理が成功したことを示す"success"が付される。
The
そして、ゲートウェイ装置2は、ID更新応答メッセージ61をクライアント装置1に送信し(ステップS315)、処理を終える。
Then, the
このID更新処理により、各データ管理装置3のデータ記憶領域300には、図23(a)〜(e)に示すような値が格納される。これらの値は、図23(f)に示すような日時"T2"における変換テーブルを仮想的に実現したものとみなすことができる。例えば、図23(f)の一行目のデータは、ドメイン"D0"の列に識別子"9"が格納され、ドメイン"D1"の列に識別子"a"が格納されているが、これは、日時"T2"において、ある管理対象が、ドメイン"D0"では識別子"9"を持ち、ドメイン"D1"では識別子"a"を持つことを示す。
By this ID update processing, values as shown in FIGS. 23A to 23E are stored in the
次に、このID更新処理におけるゲートウェイ装置2およびデータ管理装置3が行う処理についてさらに詳細に説明する。
Next, processing performed by the
(ID更新処理におけるゲートウェイ装置の処理)
次に、図21のID更新処理における、ゲートウェイ装置2の処理の詳細を説明する。
図24は、本実施形態に係るID更新処理におけるゲートウェイ装置2の処理の流れを示すフローチャートである。
(Processing of gateway device in ID update processing)
Next, details of the processing of the
FIG. 24 is a flowchart showing a process flow of the
まず、ゲートウェイ装置2の送受信部240が、ID更新要求メッセージ60(図22(a)参照)をクライアント装置1から受信し、受信したID更新要求メッセージ60をID更新転送部215に出力する(ステップS321)。
First, the transmission /
ID更新転送部215は、受信したID更新要求メッセージ60の更新対象識別子"0"と更新対象ドメイン"D0"を結合した値としてインデックスキー"0@D0"を生成し、ノード決定部212に出力する(ステップS322)。
The ID update transfer unit 215 generates an index key “0 @ D0” as a value obtained by combining the update target identifier “0” and the update target domain “D0” of the received ID
ノード決定部212は、コンシステントハッシュ法によりインデックスノードとなるノードを決定し、決定したインデックスノードの接続情報を、記憶部250内のノード情報記憶領域200から取得して、ID更新転送部215に出力する(ステップS323)。
The node determination unit 212 determines a node to be an index node by a consistent hash method, acquires connection information of the determined index node from the node
ID更新転送部215は、送受信部240を介して、ID更新要求メッセージ60を、決定したインデックスノードに送信する(ステップS324)。
The ID update transfer unit 215 transmits the ID
そして、ID更新転送部215は、送受信部240を介して、インデックスノードから、ID更新応答メッセージ61(図22(b)参照)を受信する(ステップS325)。 Then, the ID update transfer unit 215 receives the ID update response message 61 (see FIG. 22B) from the index node via the transmission / reception unit 240 (step S325).
続いて、ID更新転送部215は、送受信部240を介して、ID更新応答メッセージ61を、クライアント装置1に送信して処理を終える(ステップS326)。
Subsequently, the ID update transfer unit 215 transmits the ID
(ID更新処理におけるデータ管理装置の処理)
次に、図21のID更新処理における、データ管理装置3(ここでは、データ管理装置3A)の処理の詳細に説明する。図25および図26は、本実施形態に係るID更新処理におけるデータ管理装置3(3A)の処理の流れを示すフローチャートである。
(Process of data management device in ID update process)
Next, details of the processing of the data management device 3 (here, the
図25において、まず、データ管理装置3(ここでは、データ管理装置3A)の送受信部340が、ゲートウェイ装置2からID更新要求メッセージ60(図22(a)参照)を受信し、ID更新処理部316に出力する(ステップS331)。
In FIG. 25, first, the transmission /
次に、ID更新処理部316は、ID更新要求メッセージ60に含まれる、更新対象識別子(ここでは、「i」とする),更新対象ドメイン(ここでは、「d」とする),更新対象日時(ここでは、「t」とする),更新後識別子(ここでは、「i'」とする),更新日時(ここでは、「t'」とする)を取得する。ID更新処理部316は、更新対象識別子iと更新対象ドメインdとを結合した値(i@d)としてインデックスキーを生成する。ここでは、ID更新処理部316は、インデックスキー"0@D0"を生成する。そして、ID更新処理部316は、生成したインデックスキー(i@d)と、更新対象日時tとを、データ管理部321に出力する(ステップS332)。
Next, the ID update processing unit 316 includes an update target identifier (here, “i”), an update target domain (here, “d”), and update target date / time included in the ID
続いて、データ管理部321は、データ記憶領域300(ここでは、データ記憶領域300A)に記憶されたインデックスから、条件[key=i@d かつ 登録日時≦t<失効日時]を満たす行を検索する(ステップS333)。
Subsequently, the
そして、データ管理部321は、条件を満たす行が存在するか否かを判定し(ステップS334)、条件を満たす行が存在しない場合には(ステップS334→No)、図26のステップS347に進む。一方、データ管理部321は、条件を満たす行が存在する場合には(ステップS334→Yes)、次のステップS335へ進む。
Then, the
ステップS335において、データ管理部321は、条件を満たす行のvalueの値からルートキー(「r」)を取得し、ID更新処理部316に出力する。ここでは、データ管理部321が、図9(a)に示すインデックスから、ルートキーとして"R0"を取得し、ID更新処理部316に出力する。
In step S335, the
次に、ID更新処理部316は、データ管理部321を介して、当該行の失効日時を"∞"から更新日時t'に更新する(ステップS336)。 Next, the ID update processing unit 316 updates the invalidation date / time of the row from “∞” to the update date / time t ′ via the data management unit 321 (step S336).
続いて、ID更新処理部316は、ルートキーrと更新対象ドメインdとを結合した値(r@d)としてサブルートキーを生成する。ここでは、ID更新処理部316は、サブルートキー"R0@D0"を生成する。そして、ID更新処理部316は、生成したサブルートキー(r@d)をノード決定部312に出力する(ステップS337)。 Subsequently, the ID update processing unit 316 generates a sub-root key as a value (r @ d) obtained by combining the root key r and the update target domain d. Here, the ID update processing unit 316 generates a sub-root key “R0 @ D0”. Then, the ID update processing unit 316 outputs the generated sub-root key (r @ d) to the node determination unit 312 (step S337).
そして、ノード決定部312は、コンシステントハッシュ法によりルートノードとなるノードを決定し、決定したルートノードの接続情報を、記憶部350内のノード情報記憶領域200から取得して、ID更新処理部316に出力する(ステップS338)。
Then, the node determination unit 312 determines a node to be a root node by a consistent hash method, acquires connection information of the determined root node from the node
ID更新処理部316は、サブルートキー(r@d)、更新後識別子i'、更新日時t'を含むルート情報更新要求メッセージ70(図22(c)参照)を生成し、送受信部340を介して、ルートノードに送信する(ステップS339)。 The ID update processing unit 316 generates a route information update request message 70 (see FIG. 22C) including the sub-root key (r @ d), the post-update identifier i ′, and the update date and time t ′. To the root node (step S339).
そして、ID更新処理部316は、ルートノードから、送受信部340を介して、ルート情報更新応答メッセージ71(図22(d)参照)を受信する(ステップS340)。 Then, the ID update processing unit 316 receives the route information update response message 71 (see FIG. 22D) from the route node via the transmission / reception unit 340 (step S340).
図26に移り、ID更新処理部316は、更新後識別子i'と更新対象ドメインdとを結合した値(i'@d)としてインデックスキーを生成する。ここでは、ID更新処理部316は、インデックスキー"9@D0"を生成する。そして、ID更新処理部316は、生成したインデックスキー"9@D0"をノード決定部312に出力する(ステップS341)。 Moving to FIG. 26, the ID update processing unit 316 generates an index key as a value (i ′ @ d) obtained by combining the post-update identifier i ′ and the update target domain d. Here, the ID update processing unit 316 generates the index key “9 @ D0”. Then, the ID update processing unit 316 outputs the generated index key “9 @ D0” to the node determination unit 312 (step S341).
次に、ノード決定部312は、コンシステントハッシュ法によりインデックスノードとなるノードを決定し、決定したインデックスノードの接続情報を、記憶部350内のノード情報記憶領域200から取得して、ID更新処理部316に出力する(ステップS342)。
Next, the node determination unit 312 determines a node to be an index node by a consistent hash method, acquires connection information of the determined index node from the node
そして、ID更新処理部316は、インデックス登録処理部318を介して、インデックス登録要求メッセージ30b(図22(e)参照)を生成し、インデックスノードへ送信する(ステップS343)。このインデックス登録要求メッセージ30bには、インデックスキー"9@D0"、ルートキー"R0"、登録日時"T2"の情報が含まれる。
Then, the ID update processing unit 316 generates an index
続いて、ID更新処理部316は、インデックスノードから、受信部340を介して、インデックス登録応答メッセージ31b(図22(f)参照)を受信する(ステップS344)。
Subsequently, the ID update processing unit 316 receives the index
次に、ID更新処理部316は、ID更新処理に関する全ての処理が成功したが否かを判定し(ステップS345)、1つでも成功していない処理がある場合には(ステップS345→No)、ステップS347に進む。一方、ID更新処理部316は、全ての処理が成功した場合には(ステップS345→Yes)、次のステップS346に進む。 Next, the ID update processing unit 316 determines whether or not all the processes related to the ID update process have succeeded (step S345), and if there is any process that has not succeeded (step S345 → No). The process proceeds to step S347. On the other hand, when all the processes are successful (step S345 → Yes), the ID update processing unit 316 proceeds to the next step S346.
ステップS346において、ID更新処理部316は、送受信部340を介して、ゲートウェイ装置2へID更新応答メッセージ61(図22(b)参照)を送信して、処理を終了する。
In step S346, the ID update processing unit 316 transmits the ID update response message 61 (see FIG. 22B) to the
また、図25のステップS334において条件を満たす行が存在しない場合(ステップS334→No)、または、図26のステップS345において1つでも成功していない処理がある場合(ステップS345→No)には、ID更新処理部316は、ゲートウェイ装置2へエラーメッセージを送信して、処理を終了する(ステップS347)。
In addition, when there is no row that satisfies the condition in step S334 in FIG. 25 (step S334 → No), or there is a process that has not succeeded in step S345 in FIG. 26 (step S345 → No). The ID update processing unit 316 transmits an error message to the
(ルート情報更新処理)
次に、図21のID更新処理のステップS308で行われる、データ管理装置3(ここでは、データ管理装置3B)のルート情報更新処理を詳細に説明する。図27は、本実施形態に係るID更新処理におけるデータ管理装置3(3B)のルート情報更新処理の流れを示すフローチャートである。
(Route information update process)
Next, the route information update processing of the data management device 3 (here, the
まず、送受信部340が、他のデータ管理装置3からルート情報更新要求メッセージ70(図22(c)参照)を受信すると、その受信したルート情報更新要求メッセージ70をルート情報更新処理部320に出力する(ステップS351)。
First, when the transmission /
次に、ルート情報更新処理部320は、ルート情報更新要求メッセージ70から、サブルートキー(r@d)と、更新後識別子(i')と、更新日時(t')とを取得し、データ管理部321に出力する(ステップS352)。
Next, the route information
続いて、データ管理部321は、データ記憶領域300(ここでは、データ記憶領域300B)に記憶されたルート情報から、条件[key=r@d かつ 登録日時≦t'<失効日時]を満たす行を検索する(ステップS353)。
Subsequently, the
そして、データ管理部321は、条件を満たす行が存在するか否かを判定し(ステップS354)、条件を満たす行が存在しない場合には(ステップS354→No)、ステップS358に進む。一方、データ管理部321は、条件を満たす行が存在する場合には(ステップS354→Yes)、次のステップS355へ進む。
Then, the
ステップS355において、ルート情報更新処理部320は、データ管理部321を介して、条件を満たす行の失効日時を"∞"から更新日時t'に更新する。
In step S355, the route information
次に、データ管理部321は、データ記憶領域300のルート情報に、keyとしてサブルートキー(r@d)、登録日時として更新日時(t')、失効日時として"∞"、valueとして更新後識別子(i')となる行と追加する(ステップS356)。
Next, the
そして、ルート情報更新処理部320は、ルート情報が更新されたことを示すルート情報更新応答メッセージ71(図22(d)参照)を生成し、送受信部340を介して、要求元のデータ管理装置3に送信して処理を終える(ステップS357)。
Then, the route information
また、ステップS354において、条件を満たす行がない場合には(ステップS354→No)、ルート情報更新処理部320は、エラーメッセージを生成し、送受信部340を介して、要求元のデータ管理装置3に送信して処理を終える(ステップS358)。
In step S354, if there is no row satisfying the condition (step S354 → No), the route information
このようにすることで、本実施形態に係る分散ID管理システム5は、クライアント装置1から取得したID更新要求メッセージ60(図22(a)参照)に基づき、ある「更新対象ドメイン」における「更新日時」以降の識別子を、それまで登録されていた「更新対象識別子」から新たな識別子である「更新後識別子」に更新することができる。
By doing in this way, the distributed
≪ID更新処理後のID変換処理の具体例≫
次に、本実施形態に係る分散ID管理システム5において、図21で示したID更新処理が行われた後における、ID変換処理を3例説明する。1例目と2例目は、ID更新処理後のID変換処理が正常に行われる例を示し、3例目は、不正なID変換処理の要求を受けたため、ID変換処理が失敗する例を示す。これらは、ID更新処理後においても、正常にID変換処理が実行できることを説明するための例である。
≪Specific example of ID conversion process after ID update process≫
Next, in the distributed
<ID更新処理後のID変換処理(1)>
まず、図28,図29を参照して、ID更新処理が行われた後に、クライアント装置1がゲートウェイ装置2に対して、IDの変換を要求(ID変換要求)した際に、ゲートウェイ装置2とデータ管理装置3が実行するID変換処理(1)について説明する。
<ID conversion processing after ID update processing (1)>
First, referring to FIG. 28 and FIG. 29, when the
ここでは、クライアント装置1が要求するID変換処理の例として、ドメイン(変換元ドメイン)"D0"の日時(変換元日時)"T3"における識別子(変換元識別子)"9"を、ドメイン(変換先ドメイン)"D1"の同日時(変換先日時)"T3"における識別子(変換先識別子)へ変換する処理(つまり、ドメイン"D0"の日時"T3"における識別子"9"に対応する、ドメイン"D1"の同日時"T3"における識別子を検索する処理)、について説明する。ここで、"T3"は"T2"よりも未来の日時を示すものとする。
Here, as an example of the ID conversion process requested by the
(ID変換処理の全体の流れ)
図28は、本実施形態に係る分散ID管理システム5が行うID更新処理後のID変換処理(1)の全体の流れを示すシーケンス図である。ここでは、前記した図21に示すID更新処理がすでに行われ、各データ管理装置3(3A,3B,3C,3D,3E)のデータ記憶領域300には、図23に示すデータが記憶されているものとして説明する。
(Overall flow of ID conversion process)
FIG. 28 is a sequence diagram showing the overall flow of the ID conversion process (1) after the ID update process performed by the distributed
まず、クライアント装置1は、ID変換要求メッセージ40b(40)をゲートウェイ装置2に送信する(ステップS401)。
First, the
図29(a)は、ID変換要求メッセージ40b(40)を例示する図である。図29(a)に示すID変換要求メッセージ40b(40)は、変換元であるドメイン(変換元ドメイン)"D0"の日時(変換元日時)"T3"における識別子(変換元識別子)"9"を、ドメイン(変換後ドメイン)"D1"の同日時(変換先日時)"T3"における識別子(変換先識別子)へ変換する処理を要求するものである。
FIG. 29A is a diagram illustrating an ID
図28に戻り、ID変換要求メッセージ40bを受信したゲートウェイ装置2は、インデックスノードの決定処理を行う(ステップS402)。このインデックスノードの決定処理は、インデックスキーを検索キーとして、ノード決定部212がコンシステントハッシュ法により決定する。ここでは、例えば、インデックスキー"9@D0"に対応するノードであるデータ管理装置3Eが、インデックスノードとして決定される。
Returning to FIG. 28, the
続いて、ゲートウェイ装置2は、ID変換要求メッセージ40b(40)を、インデックスノードとして決定したデータ管理装置3Eに送信する(ステップS403)。
Subsequently, the
ID変換要求メッセージ40b(40)を受信したデータ管理装置3Eは、ルートキーの取得処理を行う(ステップS404)。ルートキーの取得は、インデックスキー"9@D0"をキーとして、データ格納領域300E(図23(e)参照)内を検索し、変換元日時"T3"が登録日時と失効日時の間に含まれる行から行われる。ここでは、図23(e)に示すインデックスから、ルートキーとして"R0"が取得される。
The
次に、データ管理装置3Eは、ルートノードの決定処理を行う(ステップS405)。ここでは、サブルートキー"R0@D1"に対応するノードとして、データ管理装置3Dが、ルートノードとして決定される。
Next, the
続いて、データ管理装置3Eは、ID取得要求メッセージ50b(50)を、ルートノードとして決定したデータ管理装置3Dに送信する(ステップS406)。
Subsequently, the
図29(c)は、ID取得要求メッセージ50b(50)を例示する図である。図29(c)に示すように、ID取得要求メッセージ50b(50)は、サブルートキー"R0@D1"に紐付く識別子の内、変換先日時"T3"で有効なものの取得を要求するものであることを示す。
FIG. 29C is a diagram illustrating an ID
図28に戻り、ID取得要求メッセージ50b(50)を受信したデータ管理装置3Dは、ID(識別子)の取得処理を行う(ステップS407)。ID(識別子)の取得は、サブルートキー"R0@D1"をキーとして、データ格納領域300D(図23(d)参照)内を検索し、変換先日時"T3"が、登録日時と失効日時の間に含まれるような行から行われる。ここでは、図23(d)に示すルート情報から、識別子(変換先識別子)として"a"が取得される。
Returning to FIG. 28, the
次に、データ管理装置3Dは、ID取得応答メッセージ51b(51)を、データ管理装置3Eに送信する(ステップS408)。図29(d)に示すように、ID取得応答メッセージ51bには、ID変換処理の結果取得された識別子(変換先識別子)"a"が含まれる。
Next, the
続いて、データ管理装置3Eは、ID変換応答メッセージ41b(41)を、ゲートウェイ装置2に送信する(ステップS409)。図29(b)に示すように、ID変換応答メッセージ41b(41)には、ID変換処理の結果取得された識別子(変換先識別子)"a"が含まれる。
Subsequently, the
そして、ゲートウェイ装置2は、ID変換応答メッセージ41b(41)をクライアント装置1に送信し、処理を終える(ステップS410)。
Then, the
このようにして、ID更新処理が行われた後に、クライアント装置1がゲートウェイ装置2に対して、ID変換要求した際に、ID更新処理の結果を反映した、正しい変換結果として変換先識別子を得ることができる。
In this way, after the ID update process is performed, when the
<ID更新処理後のID変換処理(2)>
次に、図30,図31を参照して、ID更新処理が行われた後に、クライアント装置1がゲートウェイ装置2に対して、IDの変換を要求(ID変換要求)した際に、ゲートウェイ装置2とデータ管理装置3が実行するID変換処理(2)について説明する。
<ID conversion process after ID update process (2)>
Next, referring to FIG. 30 and FIG. 31, when the
ここでは、クライアント装置1が要求するID変換処理の例として、ドメイン(変換元ドメイン)"D1"の日時(変換元日時)"T3"における識別子(変換元識別子)"a"を、ドメイン(変換先ドメイン)"D0"の同日時(変換先日時)"T3"における識別子(変換先識別子)へ変換する処理(つまり、ドメイン"D1"の日時"T3"における識別子"a"に対応する、ドメイン"D0"の同日時"T3"における識別子を検索する処理)、について説明する。ここで、"T3"は"T2"よりも未来の日時を示すものとする。
Here, as an example of the ID conversion process requested by the
(ID変換処理の全体の流れ)
図30は、本実施形態に係る分散ID管理システム5が行うID更新処理後のID変換処理の全体の流れ(2)を示すシーケンス図である。ここでは、前記した図21に示すID更新処理がすでに行われ、各データ管理装置3(3A,3B,3C,3D,3E)のデータ記憶領域300には、図23に示すデータが記憶されているものとして説明する。
(Overall flow of ID conversion process)
FIG. 30 is a sequence diagram showing an overall flow (2) of the ID conversion process after the ID update process performed by the distributed
まず、クライアント装置1は、ID変換要求メッセージ40c(40)をゲートウェイ装置2に送信する(ステップS501)。
First, the
図31(a)は、ID変換要求メッセージ40c(40)を例示する図である。図31(a)に示すID変換要求メッセージ40c(40)は、変換元であるドメイン(変換元ドメイン)"D1"の日時(変換元日時)"T3"における識別子(変換元識別子)"a"を、ドメイン(変換後ドメイン)"D0"の同日時(変換先日時)"T3"における識別子(変換先識別子)へ変換する処理を要求するものである。
FIG. 31A is a diagram illustrating an ID
図30に戻り、ID変換要求メッセージ40c(40)を受信したゲートウェイ装置2は、インデックスノードの決定処理を行う(ステップS502)。このインデックスノードの決定処理は、インデックスキーを検索キーとして、ノード決定部212がコンシステントハッシュ法により決定する。ここでは、例えば、インデックスキー"a@D1"に対応するノードであるデータ管理装置3Cが、インデックスノードとして決定される。
Referring back to FIG. 30, the
続いて、ゲートウェイ装置2は、ID変換要求メッセージ40c(40)を、インデックスノードとして決定したデータ管理装置3Cに送信する(ステップS503)。
Subsequently, the
ID変換要求メッセージ40c(40)を受信したデータ管理装置3Cは、ルートキーの取得処理を行う(ステップS504)。ルートキーの取得は、インデックスキー"a@D1"をキーとして、データ格納領域300C(図23(c)参照)内を検索し、変換元日時"T3"が登録日時と失効日時の間に含まれる行から行われる。ここでは、図23(c)に示すインデックスから、ルートキーとして"R0"が取得される。
The
次に、データ管理装置3Cは、ルートノードの決定処理を行う(ステップS505)。ここでは、サブルートキー"R0@D0"に対応するノードとして、データ管理装置3Bが、ルートノードとして決定される。
Next, the
続いて、データ管理装置3Cは、ID取得要求メッセージ50c(50)を、ルートノードとして決定したデータ管理装置3Bに送信する(ステップS506)。
Subsequently, the
図31(c)は、ID取得要求メッセージ50c(50)を例示する図である。図31(c)に示すように、ID取得要求メッセージ50c(50)は、サブルートキー"R0@D0"に紐付く識別子の内、変換先日時"T3"で有効なものの取得を要求するものであることを示す。
FIG. 31C illustrates an ID
図30に戻り、ID取得要求メッセージ50c(50)を受信したデータ管理装置3Bは、ID(識別子)の取得処理を行う(ステップS507)。ID(識別子)の取得は、サブルートキー"R0@D0"をキーとして、データ格納領域300B(図23(b)参照)内を検索し、変換先日時"T3"が、登録日時と失効日時の間に含まれるような行から行われる。ここでは、図23(b)に示すルート情報から、識別子(変換先識別子)として"9"が取得される。
Returning to FIG. 30, the
次に、データ管理装置3Bは、ID取得応答メッセージ51c(51)を、データ管理装置3Cに送信する(ステップS508)。図31(d)に示すように、ID取得応答メッセージ51c(51)には、ID変換処理の結果取得された識別子(変換先識別子)"9"が含まれる。
Next, the
続いて、データ管理装置3Cは、ID変換応答メッセージ41c(41)を、ゲートウェイ装置2に送信する(ステップS509)。図31(b)に示すように、ID変換応答メッセージ41c(41)には、ID変換処理の結果取得された識別子(変換先識別子)"9"が含まれる。
Subsequently, the
そして、ゲートウェイ装置2は、ID変換応答メッセージ41cをクライアント装置1に送信し、処理を終える(ステップS510)。
Then, the
このようにして、ID更新処理が行われた後に、クライアント装置1がゲートウェイ装置2に対して、ID変換要求した際に、ID更新処理の結果を反映した、正しい変換結果として変換先識別子を得ることができる。
In this way, after the ID update process is performed, when the
<ID更新処理後のID変換処理(失敗例)>
次に、図32,図33を参照して、ID更新処理が行われた後に、クライアント装置1がゲートウェイ装置2に対して、IDの変換を要求(ID変換要求)した際に、ゲートウェイ装置2とデータ管理装置3が実行するID変換処理(失敗例)について説明する。
<ID conversion processing after ID update processing (failure example)>
Next, referring to FIG. 32 and FIG. 33, when the
ここでは、クライアント装置1が要求するID変換処理の例として、ドメイン(変換元ドメイン)"D0"の日時(変換元日時)"T3"における識別子(変換元識別子)"0"を、ドメイン(変換先ドメイン)"D1"の同日時(変換先日時)"T3"における識別子(変換先識別子)に変換する処理(つまり、ドメイン"D0"の日時"T3"における識別子"0"に対応する、ドメイン"D1"の同日時"T3"における識別子を検索する処理)、について説明する。ここで、"T3"は"T2"よりも未来の日時を示すものとする。
Here, as an example of the ID conversion process requested by the
また、ここでは、前記した図21に示すID更新処理がすでに行われ、各データ管理装置3(3A,3B,3C,3D,3E)のデータ記憶領域300には、図23に示すデータが記憶されていることを前提とするが、このID更新処理が行われた結果、ドメイン"D0"の日時"T3"における識別子は"0"ではなく、更新され"9"になっているため、当該ID変換処理は、失敗する。その場合の処理例を示すものである。
Further, here, the ID update process shown in FIG. 21 has already been performed, and the data shown in FIG. 23 is stored in the
(ID変換処理(失敗例)の全体の流れ)
図32は、本実施形態に係る分散ID管理システム5が行うID更新処理後のID変換処理(失敗例)の全体の流れを示すシーケンス図である。
(Overall flow of ID conversion processing (failure example))
FIG. 32 is a sequence diagram showing the overall flow of the ID conversion process (failure example) after the ID update process performed by the distributed
まず、クライアント装置1は、ID変換要求メッセージ40d(40)をゲートウェイ装置2に送信する(ステップS601)。
First, the
図33(a)は、ID変換要求メッセージ40d(40)を例示する図である。図33(a)に示すID変換要求メッセージ40dは、変換元であるドメイン(変換元ドメイン)"D0"の日時(変換元日時)"T3"における識別子(変換元識別子)"0"を、ドメイン(変換後ドメイン)"D1"の同日時(変換先日時)"T3"における識別子(変換先識別子)へ変換する処理を要求するものである。
FIG. 33A is a diagram illustrating an ID
図32に戻り、ID変換要求メッセージ40d(40)を受信したゲートウェイ装置2は、インデックスノードの決定処理を行う(ステップS602)。このインデックスノードの決定処理は、インデックスキーを検索キーとして、ノード決定部212がコンシステントハッシュ法により決定する。ここでは、例えば、インデックスキー"0@D0"に対応するノードであるデータ管理装置3Aが、インデックスノードとして決定される。
Returning to FIG. 32, the
続いて、ゲートウェイ装置2は、ID変換要求メッセージ40d(40)を、インデックスノードとして決定したデータ管理装置3Aに送信する(ステップS603)。
Subsequently, the
ID変換要求メッセージ40d(40)を受信したデータ管理装置3Aは、ルートキーの取得処理を行う(ステップS604)。ルートキーの取得は、インデックスキー("0@D0")をキーとして、データ格納領域300A(図23(a)参照)内を検索し、変換元日時"T3"が登録日時と失効日時の間に含まれる行から行われる。ここでは、図23(a)に示すインデックスに基づき、変換元日時T3が登録日時T0と失効日時T2の間に含まれるような行が存在しないため、ルートキーの取得に失敗する。
The
次に、データ管理装置3Aは、ID変換応答メッセージ41d(41)を、ゲートウェイ装置2に送信する(ステップS605)。図33(b)に示すように、ID変換応答メッセージ41d(41)には、ID変換処理の結果が存在しないことを示す"null"が含まれる。なお、当該メッセージには、"null"だけでなく、より詳細なエラー内容を含めるようにしてもよい。
Next, the
そして、ゲートウェイ装置2は、ID変換応答メッセージ41d(41)をクライアント装置1に送信し、処理を終える(ステップS606)。
Then, the
このようにして、ID更新処理が行われた後に、クライアント装置1がゲートウェイ装置2に対して、IDの変換を要求した際に、存在しない識別子を用いた変換処理に対しては、エラーが返されることが示された。
In this way, when the
以上説明したように、本実施形態に係る分散ID管理方法および分散ID管理システムによれば、管理対象に紐付く識別子であって、かつ、ドメインや日時ごとに変化し得るような識別子を管理するシステムにおいて、識別子を各データ管理装置3に分散配置し、ドメイン、日時を指定した識別子の変換処理や更新処理が可能となる。また、同一機能を備えたデータ管理装置3を複数配置し、インデックスおよびルート情報を各データ管理装置3に分散することで、管理すべきデータ量を抑えた上で、容易にスケールアウトを可能とすることができる。
As described above, according to the distributed ID management method and the distributed ID management system according to the present embodiment, identifiers that are associated with management targets and that can be changed for each domain or date / time are managed. In the system, identifiers are distributed and arranged in each
1 クライアント装置
2 ゲートウェイ装置
3 データ管理装置
4 通信ネットワーク
5 分散ID管理システム
10 ID登録要求メッセージ
11 ID登録応答メッセージ
20 ルート情報登録要求メッセージ
21 ルート情報登録応答メッセージ
30 インデックス登録要求メッセージ
31 インデックス登録応答メッセージ
40 ID変換要求メッセージ
41 ID変換応答メッセージ
50 ID取得要求メッセージ
51 ID取得応答メッセージ
60 ID更新要求メッセージ
61 ID更新応答メッセージ
70 ルート情報更新要求メッセージ
71 ルート情報更新応答メッセージ
100 ゲートウェイ情報記憶領域
110,210,310 制御部
111 ID登録要求部
112 ID変換要求部
113 ID更新要求部
130,230,330 入出力部
140,240,340 送受信部
150,250,350 記憶部
200 ノード情報記憶領域
211,311 ノード管理部
212,312 ノード決定部
213 ID登録転送部
214 ID変換転送部
215 ID更新転送部
300 データ記憶領域
313 ルートキー生成部
314 ID登録処理部
315 ID変換処理部
316 ID更新処理部
317 ID取得処理部
318 インデックス登録処理部
319 ルート情報登録処理部
320 ルート情報更新処理部
321 データ管理部
DESCRIPTION OF
Claims (12)
前記ゲートウェイ装置は、
前記データ管理装置それぞれのアドレスを示す接続情報が記憶される記憶部を備えており、
前記要求メッセージとして、管理対象を識別するための識別子、前記識別子が利用される範囲を示すドメインおよび登録日時を示す登録情報の保存を要求するID登録要求メッセージを受信し、
前記ID登録要求メッセージに含まれる前記識別子と前記ドメインとを結合したインデックスキーを生成し、前記登録情報としてのインデックスを保存する第1のデータ管理装置を、当該生成したインデックスキーに基づき、前記複数のデータ管理装置の中から決定し、
前記決定した第1のデータ管理装置へ、前記接続情報を参照して、前記ID登録要求メッセージを送信し、
前記第1のデータ管理装置は、
前記管理対象を前記分散ID管理システムにおいて一意に特定するための識別子であるルートキーを生成し、
前記ID登録要求メッセージに含まれる前記識別子と前記ドメインとを結合した前記インデックスキーを生成し、当該生成したインデックスキーおよび前記登録日時を、前記ルートキーに対応付けた情報を前記インデックスとして、自身の記憶部に保存し、
前記ID登録要求メッセージに含まれる前記ドメインと前記ルートキーとを結合したサブルートキーを生成し、前記登録情報としてのルート情報を保存する第2のデータ管理装置を、当該生成したサブルートキーに基づき、前記複数のデータ管理装置の中から決定し、
前記決定した第2のデータ管理装置へ、前記サブルートキーと、前記登録日時と、前記識別子とを含むルート情報登録要求メッセージを送信し、
前記第2のデータ管理装置は、
前記ルート情報登録要求メッセージに含まれる前記サブルートキーおよび前記登録日時を、前記識別子に対応付けた情報を前記ルート情報として、自身の記憶部に保存すること
を特徴とする分散ID管理方法。 A gateway device that receives a request message from a client device and distributes the received request message to one of a plurality of data management devices; receives the distributed request message; and performs processing indicated in the request message A distributed ID management method of a distributed ID management system comprising the plurality of data management devices to be executed,
The gateway device is
A storage unit for storing connection information indicating addresses of the data management devices;
As the request message, an identifier for identifying a management target, a domain indicating a range in which the identifier is used, and an ID registration request message for requesting storage of registration information indicating a registration date and time are received,
A first data management device that generates an index key that combines the identifier and the domain included in the ID registration request message and stores an index as the registration information is configured based on the generated index key. Determined from the data management device
Sending the ID registration request message to the determined first data management device with reference to the connection information,
The first data management device includes:
Generating a root key that is an identifier for uniquely identifying the management target in the distributed ID management system;
The index key combining the identifier and the domain included in the ID registration request message is generated, and the generated index key and the registration date and time are associated with the root key as the index. Save it in the memory,
Based on the generated sub-root key, a second data management device that generates a sub-root key obtained by combining the domain and the root key included in the ID registration request message and stores route information as the registration information. Determined from the plurality of data management devices;
A route information registration request message including the sub-root key, the registration date and time, and the identifier is transmitted to the determined second data management device;
The second data management device includes:
The distributed ID management method, wherein the sub-root key and the registration date / time included in the route information registration request message are stored in its own storage unit as information corresponding to the identifier as the route information.
前記ゲートウェイ装置は、
前記要求メッセージとして、(1)変換元識別子、変換元ドメイン、変換元日時、および、(2)変換先ドメイン、変換先日時、を含み、変換先となる前記識別子の検索を要求するID変換要求メッセージを受信し、
前記ID変換要求メッセージの前記変換元識別子と前記変換元ドメインとを結合した前記インデックスキーを生成し、当該生成したインデックスキーに基づき、前記インデックスを保存する前記第1のデータ管理装置を決定し、
前記ID変換要求メッセージを、前記接続情報を参照して、前記第1のデータ管理装置に送信し、
前記第1のデータ管理装置は、
前記ID変換要求メッセージに含まれる前記変換元識別子と前記変換元ドメインとを結合した前記インデックスキーを生成し、当該生成したインデックスキーおよび前記変換元日時をキーとして、前記インデックスを参照し、前記ルートキーを取得し、
前記ID変換要求メッセージに含まれる前記変換先ドメインと前記ルートキーとを結合した前記サブルートキーを生成し、当該生成したサブルートキーに基づき、前記ルート情報を保存する前記第2のデータ管理装置を決定し、
前記決定した第2のデータ管理装置へ、前記サブルートキーと、前記変換先日時とを含むID取得要求メッセージを送信し、
前記第2のデータ管理装置は、
前記ID取得要求メッセージに含まれる前記サブルートキーおよび前記変換先日時をキーとして、前記ルート情報を参照し、前記変換先となる前記識別子を取得すること
を特徴とする請求項1に記載の分散ID管理方法。 After the distributed ID management system completes registration of the index and the route information based on the ID registration request message,
The gateway device is
The request message includes (1) a conversion source identifier, a conversion source domain, a conversion source date and time, and (2) a conversion destination domain and a conversion destination date and time, and an ID conversion request that requests a search for the identifier that is the conversion destination Receive the message,
Generating the index key obtained by combining the conversion source identifier of the ID conversion request message and the conversion source domain, and determining the first data management device that stores the index based on the generated index key;
Sending the ID conversion request message to the first data management device with reference to the connection information;
The first data management device includes:
Generating the index key obtained by combining the conversion source identifier and the conversion source domain included in the ID conversion request message, referring to the index using the generated index key and the conversion source date and time as a key, and the route Get the key
The sub-root key obtained by combining the conversion destination domain and the root key included in the ID conversion request message is generated, and the second data management device that stores the route information is determined based on the generated sub-root key. And
An ID acquisition request message including the sub-root key and the conversion destination date and time is transmitted to the determined second data management device;
The second data management device includes:
2. The distributed ID according to claim 1, wherein the identifier that is the conversion destination is acquired by referring to the route information using the sub-root key and the conversion destination date and time included in the ID acquisition request message as keys. Management method.
前記ゲートウェイ装置は、
前記要求メッセージとして、(1)更新対象識別子、更新対象ドメイン、更新対象日時、および、(2)更新後識別子、更新日時、を含み、前記更新対象ドメインの前記更新対象日時における前記識別子である前記更新対象識別子を、前記更新日時以降は前記更新後識別子に更新することを要求するID更新要求メッセージを受信し、
前記ID更新要求メッセージの前記更新対象識別子と前記更新対象ドメインとを結合した前記インデックスキーを生成し、当該生成したインデックスキーに基づき、前記インデックスを保存する前記第1のデータ管理装置を決定し、
前記ID更新要求メッセージを、前記接続情報を参照して、前記第1のデータ管理装置に送信し、
前記第1のデータ管理装置は、
前記ID更新要求メッセージに含まれる前記更新対象識別子と前記更新対象ドメインとを結合した前記インデックスキーを生成し、当該生成したインデックスキーおよび前記更新対象日時をキーとして、自身の記憶部から前記インデックスを抽出して、前記ルートキーを取得し、前記抽出したインデックスの失効日時として前記更新日時を当該インデックスに登録し、
前記ID更新要求メッセージに含まれる前記更新対象ドメインと前記ルートキーとを結合した前記サブルートキーを生成し、当該生成したサブルートキーに基づき、前記ルート情報を保存する前記第2のデータ管理装置を決定し、
前記決定した第2のデータ管理装置へ、前記サブルートキーと、前記更新日時と、前記更新後識別子とを含むルート情報更新要求メッセージを送信し、
前記ID更新要求メッセージに含まれる前記更新後識別子と前記更新対象ドメインとを結合した新たな前記インデックスキーを生成し、当該生成した新たなインデックスキーに基づき、新たな前記インデックスを保存する第3の前記データ管理装置を決定し、
前記決定した第3のデータ管理装置へ、前記新たなインデックスキーと、前記更新日時と、前記取得したルートキーとを含むインデックス登録要求メッセージを送信し、
前記第2のデータ管理装置は、
前記ルート情報更新要求メッセージに含まれる前記サブルートキーおよび前記更新日時をキーとして、自身の記憶部から前記ルート情報を抽出し、前記抽出したルート情報の失効日時として前記更新日時を登録し、
前記ルート情報更新要求メッセージに含まれる前記サブルートキーおよび前記更新日時を、前記更新後識別子に対応付けた情報を新たな前記ルート情報として、自身の記憶部に保存し、
前記第3のデータ管理装置は、
前記インデックス登録要求メッセージに含まれる前記新たなインデックスキーおよび前記更新日時を、前記ルートキーに対応付けた情報を前記新たなインデックスとして、自身の記憶部に保存すること
を特徴とする請求項1に記載の分散ID管理方法。 After the distributed ID management system completes registration of the index and the route information based on the ID registration request message,
The gateway device is
The request message includes (1) an update target identifier, an update target domain, an update target date and time, and (2) an after-update identifier and an update date and time, and is the identifier at the update target date and time of the update target domain Receiving an ID update request message requesting to update the update target identifier to the post-update identifier after the update date and time;
Generating the index key obtained by combining the update target identifier of the ID update request message and the update target domain, and determining the first data management device that stores the index based on the generated index key;
Sending the ID update request message to the first data management device with reference to the connection information;
The first data management device includes:
Generate the index key that combines the update target identifier and the update target domain included in the ID update request message, and use the generated index key and the update target date and time as a key to retrieve the index from its storage unit Extract, obtain the root key, register the update date and time as the expiration date of the extracted index,
The sub-root key obtained by combining the update target domain included in the ID update request message and the root key is generated, and the second data management device that stores the route information is determined based on the generated sub-root key. And
A route information update request message including the sub-root key, the update date and time, and the post-update identifier is transmitted to the determined second data management device;
Generating a new index key obtained by combining the post-update identifier and the update target domain included in the ID update request message, and storing the new index based on the generated new index key Determining the data management device;
An index registration request message including the new index key, the update date and time, and the acquired root key is transmitted to the determined third data management device;
The second data management device includes:
Using the sub-root key and the update date / time included in the route information update request message as keys, extract the route information from its own storage unit, and register the update date / time as the expiration date / time of the extracted route information,
The sub-root key and the update date / time included in the route information update request message are stored in its own storage unit as new route information that is associated with the updated identifier,
The third data management device includes:
The new index key and the update date / time included in the index registration request message are stored in its own storage unit with the information associated with the root key as the new index. The distributed ID management method described.
前記複数のデータ管理装置それぞれは、通信可能に接続され、
前記ゲートウェイ装置および前記複数のデータ管理装置は、前記データ管理装置それぞれのアドレスを示す接続情報と、前記データ管理装置それぞれに対応したハッシュ値を示すノードIDとが格納されるノード情報が記憶される記憶部をそれぞれ備えており、
前記ゲートウェイ装置は、
前記要求メッセージとして、(1)管理対象を識別するための第1(i=1)の識別子、前記第1の識別子が利用される範囲を示す第1(i=1)のドメイン、および登録日時を示す第1(i=1)の登録情報と、(2)前記第1の識別子に示される管理対象と同一の管理対象を示す他の識別子である第2(i=2)の識別子、前記第2の識別子が利用される範囲を示す第2(i=2)のドメイン、および登録日時を示す第2(i=2)の登録情報と、を少なくとも含み、(i)前記第1の識別子に示される管理対象と同一の管理対象を示す識別子である第i(当該iは3以上の整数)の識別子、当該第iの識別子が利用される範囲を示す第i(当該iは3以上の整数)のドメイン、および登録日時を示す第i(当該iは3以上の整数)の登録情報と、を含むことができる情報の登録処理を要求するID登録要求メッセージを受信するステップと、
前記ID登録要求メッセージの先頭の識別子である前記第1の識別子と前記第1のドメインとを結合したインデックスキーを生成するステップと、
当該生成したインデックスキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、振り分け先となる第1の前記データ管理装置を決定するステップと、
前記決定した第1のデータ管理装置に、前記ノード情報の前記接続情報を参照して、前記ID登録要求メッセージを送信するステップと、を実行し、
前記第1のデータ管理装置は、
前記ID登録要求メッセージを受信するステップと、
前記管理対象を前記分散ID管理システムにおいて一意に特定するための識別子であるルートキーを生成するステップと、
前記ID登録要求メッセージに基づき、第i(i=1以上の整数)の識別子と第i(i=1以上の整数)のドメインとを結合した第i(i=1以上の整数)インデックスキーを生成するステップと、
当該生成した第iインデックスキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、前記第iインデックスキーを含むインデックスである第iインデックスの登録先を第(2×i−1)の前記データ管理装置に決定するステップと、
前記第iインデックスキー、前記登録日時および前記ルートキーを含むインデックス登録要求メッセージを生成し、前記第(2×i−1)のデータ管理装置に送信するステップと、
前記第iのドメインと前記ルートキーとを結合した第iサブルートキーを生成するステップと、
当該生成した第iサブルートキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、前記第iサブルートキーを含むルート情報である第iルート情報の登録先を第(2×i)の前記データ管理装置に決定するステップと、
前記第iサブルートキー、前記登録日時および前記第iの識別子を含むルート情報登録要求メッセージを生成し、前記第(2×i)のデータ管理装置に送信するステップと、を実行し、
前記第(2×i−1)のデータ管理装置は、
前記インデックス登録要求メッセージを受信するステップと、
前記インデックス登録要求メッセージに基づき、前記第iインデックスキーおよび登録日時を前記ルートキーに対応付けた情報である前記第iインデックスを、自身の記憶部に登録するステップと、を実行し、
前記第(2×i)のデータ管理装置は、
前記ルート情報登録要求メッセージを受信するステップと、
前記ルート情報登録要求メッセージに基づき、前記第iサブルートキーおよび登録日時を前記第iの識別子に対応付けた情報である前記第iルート情報を、自身の記憶部に登録するステップと、を実行すること
を特徴とする分散ID管理方法。 A gateway device that receives a request message from a client device and distributes the received request message to one of a plurality of data management devices; receives the distributed request message; and performs processing indicated in the request message A distributed ID management method of a distributed ID management system comprising the plurality of data management devices to be executed,
Each of the plurality of data management devices is communicably connected,
The gateway device and the plurality of data management devices store node information in which connection information indicating addresses of the data management devices and node IDs indicating hash values corresponding to the data management devices are stored. Each has a storage unit,
The gateway device is
As the request message, (1) a first (i = 1) identifier for identifying a management target, a first (i = 1) domain indicating a range in which the first identifier is used, and a registration date and time (2) a second (i = 2) identifier that is another identifier indicating the same management target as the management target indicated by the first identifier, At least a second (i = 2) domain indicating a range in which the second identifier is used, and second (i = 2) registration information indicating a registration date and time, and (i) the first identifier The i th (where i is an integer of 3 or more) identifier indicating the same management target as the management target shown in FIG. 1, the i th (where i is 3 or more) indicating the range in which the i th identifier is used (Integer) domain and the i-th registration (where i is an integer of 3 or more) indicating the registration date and time. Receiving an ID registration request message requesting the information, the registration processing of information which can include,
Generating an index key that combines the first identifier, which is the first identifier of the ID registration request message, and the first domain;
Calculating a hash value by applying a hash function to the generated index key, referring to the node ID of the node information, and determining a first data management device as a distribution destination;
Transmitting the ID registration request message to the determined first data management device with reference to the connection information of the node information; and
The first data management device includes:
Receiving the ID registration request message;
Generating a root key that is an identifier for uniquely identifying the management target in the distributed ID management system;
Based on the ID registration request message, an i-th (i = 1 or greater integer) index key combining an i-th (i = 1 or greater integer) identifier and an i-th (i = 1 or greater integer) domain is Generating step;
A hash function is calculated by applying a hash function to the generated i-th index key, and a registration destination of an i-th index that is an index including the i-th index key is referred to by referring to the node ID of the node information. Determining (2 × i−1) as the data management device;
Generating an index registration request message including the i-th index key, the registration date and time, and the root key, and sending the index registration request message to the (2 × i−1) data management device;
Generating an i-th sub-root key that combines the i-th domain and the root key;
A hash value is calculated by applying a hash function to the generated i-th sub-root key, and a registration destination of i-th route information that is route information including the i-th sub-root key with reference to the node ID of the node information Determining the (2 × i) th data management device;
Generating a route information registration request message including the i-th sub-root key, the registration date and time and the i-th identifier, and transmitting the route information registration request message to the (2 × i) data management device,
The (2 × i−1) th data management device is:
Receiving the index registration request message;
Registering the i-th index, which is information in which the i-th index key and registration date and time are associated with the root key, in the storage unit based on the index registration request message;
The (2 × i) data management device is:
Receiving the route information registration request message;
Performing, based on the route information registration request message, registering the i-th route information, which is information in which the i-th sub-root key and registration date and time are associated with the i-th identifier, in its storage unit. A distributed ID management method characterized by the above.
前記ゲートウェイ装置は、
前記要求メッセージとして、(1)変換元となる第1の識別子、変換元となる第1のドメイン、変換元の日時である変換元日時、および、(2)変換先となる第2のドメイン、変換先の日時である変換先日時、を含み、変換先となる第2の識別子の検索を要求するID変換要求メッセージを受信するステップと、
前記ID変換要求メッセージの前記第1の識別子と前記第1のドメインとを結合した前記インデックスキーを生成するステップと、
当該生成したインデックスキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、前記インデックスの登録先である前記データ管理装置を決定するステップと、
前記ID変換要求メッセージを、前記ノード情報の前記接続情報を参照して、当該決定したデータ管理装置に送信するステップと、を実行し、
前記インデックスの登録先であるデータ管理装置は、
前記ID変換要求メッセージを受信するステップと、
前記ID変換要求メッセージに基づき、前記第1の識別子と前記第1のドメインとを結合した前記インデックスキーを生成し、自身の記憶部に登録された前記インデックスを参照し、当該生成したインデックスキーおよび前記変換元日時をキーとして、前記ルートキーを取得するステップと、
前記取得したルートキーと、前記ID変換要求メッセージに含まれる前記第2のドメインとを結合した前記サブルートキーを生成するステップと、
当該生成したサブルートキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、前記ルート情報の登録先である前記データ管理装置を決定するステップと、
前記サブルートキーおよび前記ID変換要求メッセージに含まれる前記変換先日時を含むID取得要求メッセージを生成し、当該決定したデータ管理装置に送信するステップと、を実行し、
前記ルート情報の登録先であるデータ管理装置は、
前記ID取得要求メッセージを受信するステップと、
自身の記憶部に登録されたルート情報を参照し、前記ID取得要求メッセージに含まれる前記サブルートキーおよび前記変換先日時をキーとして、前記変換先となる第2の識別子を取得するステップと、
前記変換先となる第2の識別子を含むID取得応答メッセージを生成し、前記インデックスの登録先であるデータ管理装置に送信するステップと、を実行し、
前記インデックスの登録先であるデータ管理装置は、
前記変換先となる第2の識別子を含むID取得応答メッセージを受信するステップと、
前記変換先となる第2の識別子を含むID変換応答メッセージを生成し、前記ゲートウェイ装置を介して、前記クライアントに送信するステップと、を実行すること
を特徴とする請求項4に記載の分散ID管理方法。 After the distributed ID management system completes registration of the index and the route information based on the ID registration request message,
The gateway device is
As the request message, (1) a first identifier as a conversion source, a first domain as a conversion source, a conversion source date and time as a conversion source date and time, and (2) a second domain as a conversion destination, Receiving an ID conversion request message that includes a conversion destination date and time that is a conversion destination date and that requests a search for a second identifier that is a conversion destination;
Generating the index key obtained by combining the first identifier of the ID conversion request message and the first domain;
Calculating a hash value by applying a hash function to the generated index key, referring to the node ID of the node information, and determining the data management device that is the registration destination of the index;
Transmitting the ID conversion request message to the determined data management device with reference to the connection information of the node information; and
The data management device that is the registration destination of the index is:
Receiving the ID conversion request message;
Based on the ID conversion request message, generates the index key that combines the first identifier and the first domain, refers to the index registered in its storage unit, and generates the index key and Obtaining the root key using the conversion source date and time as a key;
Generating the sub-root key obtained by combining the acquired root key and the second domain included in the ID conversion request message;
Calculating a hash value by applying a hash function to the generated sub-root key, referring to the node ID of the node information, and determining the data management device that is a registration destination of the route information;
Generating an ID acquisition request message including the conversion destination date and time contained in the sub-root key and the ID conversion request message, and transmitting to the determined data management device,
The data management device that is the registration destination of the route information is:
Receiving the ID acquisition request message;
Referring to the route information registered in its own storage unit, obtaining the second identifier as the conversion destination using the sub-root key and the conversion date and time included in the ID acquisition request message as keys,
Generating an ID acquisition response message including the second identifier to be the conversion destination, and transmitting the ID acquisition response message to the data management device that is the registration destination of the index, and
The data management device that is the registration destination of the index is:
Receiving an ID acquisition response message including the second identifier as the conversion destination;
The distributed ID according to claim 4, wherein an ID conversion response message including the second identifier as the conversion destination is generated and transmitted to the client via the gateway device. Management method.
前記ゲートウェイ装置は、
前記要求メッセージとして、(1)更新対象識別子、更新対象ドメイン、更新対象日時、および、(2)更新後識別子、更新日時、を含み、前記更新対象ドメインの前記更新対象日時における前記識別子である前記更新対象識別子を、前記更新日時以降は前記更新後識別子に更新することを要求するID更新要求メッセージを受信するステップと、
前記ID更新要求メッセージの前記更新対象識別子と前記更新対象ドメインとを結合した前記インデックスキーを生成するステップと、
当該生成したインデックスキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、前記インデックスの登録先である前記データ管理装置を決定するステップと、
前記ID更新要求メッセージを、前記接続情報を参照して、当該決定したデータ管理装置に送信するステップと、を実行し、
前記インデックスの登録先であるデータ管理装置は、
前記ID更新要求メッセージを受信するステップと、
前記ID更新要求メッセージに含まれる前記更新対象識別子と前記更新対象ドメインとを結合した前記インデックスキーを生成し、当該生成したインデックスキーおよび前記更新対象日時をキーとして、自身の記憶部から前記インデックスを抽出して、前記ルートキーを取得し、前記抽出したインデックスの失効日時として前記更新日時を当該インデックスに登録するステップと、
前記ID更新要求メッセージに含まれる前記更新対象ドメインと前記ルートキーとを結合した前記サブルートキーを生成するステップと、
当該生成したサブルートキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、前記ルート情報の登録先である前記データ管理装置を決定するステップと、
当該決定したデータ管理装置へ、前記サブルートキーと、前記更新日時と、前記更新後識別子とを含むルート情報更新要求メッセージを送信するステップと、
前記ID更新要求メッセージに含まれる前記更新後識別子と前記更新対象ドメインとを結合した新たな前記インデックスキーを生成するステップと、
当該生成した新たなインデックスキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、新たな前記インデックスの登録先であるデータ管理装置を決定するステップと、
当該決定したデータ管理装置へ、前記新たなインデックスキーと、前記更新日時と、前記取得したルートキーとを含む第2のインデックス登録要求メッセージを送信するステップと、を実行し、
前記ルート情報の登録先であるデータ管理装置は、
前記ルート情報更新要求メッセージを受信するステップと、
前記ルート情報更新要求メッセージに含まれる前記サブルートキーおよび前記更新日時をキーとして、自身の記憶部から前記ルート情報を抽出し、前記抽出したルート情報の失効日時として前記更新日時を登録するステップと、
前記ルート情報更新要求メッセージに含まれる前記サブルートキーおよび前記更新日時を、前記更新後識別子に対応付けた情報を新たな前記ルート情報として、自身の記憶部に登録するステップと、を実行し、
前記新たなインデックスの登録先であるデータ管理装置は、
前記第2のインデックス登録要求メッセージを受信するステップと、
前記第2のインデックス登録要求メッセージに含まれる前記新たなインデックスキーおよび前記更新日時を、前記ルートキーに対応付けた情報を前記新たなインデックスとして、自身の記憶部に登録するステップと、を実行すること
を特徴とする請求項4に記載の分散ID管理方法。 After the distributed ID management system completes registration of the index and the route information based on the ID registration request message,
The gateway device is
The request message includes (1) an update target identifier, an update target domain, an update target date and time, and (2) an after-update identifier and an update date and time, and is the identifier at the update target date and time of the update target domain Receiving an ID update request message for requesting an update target identifier to be updated to the post-update identifier after the update date and time;
Generating the index key that combines the update target identifier of the ID update request message and the update target domain;
Calculating a hash value by applying a hash function to the generated index key, referring to the node ID of the node information, and determining the data management device that is the registration destination of the index;
Transmitting the ID update request message with reference to the connection information to the determined data management device, and
The data management device that is the registration destination of the index is:
Receiving the ID update request message;
Generate the index key that combines the update target identifier and the update target domain included in the ID update request message, and use the generated index key and the update target date and time as a key to retrieve the index from its storage unit Extracting, obtaining the root key, and registering the update date and time as an expiration date and time of the extracted index;
Generating the sub-root key obtained by combining the update target domain and the root key included in the ID update request message;
Calculating a hash value by applying a hash function to the generated sub-root key, referring to the node ID of the node information, and determining the data management device that is a registration destination of the route information;
Transmitting a route information update request message including the sub route key, the update date and time, and the updated identifier to the determined data management device;
Generating a new index key that combines the post-update identifier and the update target domain included in the ID update request message;
Calculating a hash value by applying a hash function to the generated new index key, referring to the node ID of the node information, and determining a data management apparatus that is a registration destination of the new index;
Transmitting the second index registration request message including the new index key, the update date and time, and the acquired root key to the determined data management device;
The data management device that is the registration destination of the route information is:
Receiving the route information update request message;
Extracting the route information from its own storage unit using the sub-root key and the update date / time included in the route information update request message as keys, and registering the update date / time as an expiration date / time of the extracted route information;
Registering the sub-root key and the update date / time included in the route information update request message with the information associated with the post-update identifier as new route information in its own storage unit, and
The data management device that is the registration destination of the new index is:
Receiving the second index registration request message;
Registering the new index key and the update date / time included in the second index registration request message in its own storage unit with the information associated with the root key as the new index. The distributed ID management method according to claim 4, wherein:
前記ゲートウェイ装置は、
前記データ管理装置それぞれのアドレスを示す接続情報が記憶される記憶部と、
前記要求メッセージとして、管理対象を識別するための識別子、前記識別子が利用される範囲を示すドメインおよび登録日時を示す登録情報の保存を要求するID登録要求メッセージを受信する送受信部と、
前記ID登録要求メッセージに含まれる前記識別子と前記ドメインとを結合したインデックスキーを生成し、前記登録情報としてのインデックスを保存する第1のデータ管理装置へ、前記接続情報を参照して、前記ID登録要求メッセージを送信するID登録転送部と、
前記第1のデータ管理装置を、前記ID登録転送部が生成した前記インデックスキーに基づき、前記複数のデータ管理装置の中から決定するノード決定部と、を備え、
前記第1のデータ管理装置は、
前記管理対象を前記分散ID管理システムにおいて一意に特定するための識別子であるルートキーを生成するルートキー生成部と、
前記ID登録要求メッセージに含まれる前記識別子と前記ドメインとを結合した前記インデックスキーを生成し、当該生成したインデックスキーおよび前記登録日時を、前記ルートキーに対応付けた情報を前記インデックスとして、自身の記憶部に保存し、
前記ID登録要求メッセージに含まれる前記ドメインと前記ルートキーとを結合したサブルートキーを生成し、前記登録情報としてのルート情報を保存する第2のデータ管理装置へ、前記サブルートキーと、前記登録日時と、前記識別子とを含むルート情報登録要求メッセージを送信するID登録処理部と、
前記第2のデータ管理装置を、前記ID登録処理部が生成した前記サブルートキーに基づき、前記複数のデータ管理装置の中から決定するノード決定部と、を備え、
前記第2のデータ管理装置は、
前記ルート情報登録要求メッセージに含まれる前記サブルートキーおよび前記登録日時を、前記識別子に対応付けた情報を前記ルート情報として、自身の記憶部に保存するルート情報登録処理部と、を備えること
を特徴とする分散ID管理システム。 A gateway device that receives a request message from a client device and distributes the received request message to one of a plurality of data management devices; receives the distributed request message; and performs processing indicated in the request message A distributed ID management system comprising the plurality of data management devices to be executed,
The gateway device is
A storage unit for storing connection information indicating addresses of the data management devices;
As the request message, an identifier for identifying a management target, a transmission / reception unit that receives an ID registration request message for requesting storage of registration information indicating a domain and a registration date and time indicating a range in which the identifier is used;
An index key that combines the identifier and the domain included in the ID registration request message is generated, and the first data management device that stores the index as the registration information is referred to the connection information, and the ID An ID registration transfer unit that transmits a registration request message;
A node determination unit that determines the first data management device from the plurality of data management devices based on the index key generated by the ID registration transfer unit;
The first data management device includes:
A root key generation unit that generates a root key that is an identifier for uniquely identifying the management target in the distributed ID management system;
The index key combining the identifier and the domain included in the ID registration request message is generated, and the generated index key and the registration date and time are associated with the root key as the index. Save it in the memory,
A sub-root key obtained by combining the domain and the root key included in the ID registration request message is generated, and the sub-root key and the registration date and time are stored in a second data management device that stores route information as the registration information. An ID registration processing unit that transmits a route information registration request message including the identifier;
A node determination unit that determines the second data management device from the plurality of data management devices based on the sub-root key generated by the ID registration processing unit;
The second data management device includes:
A route information registration processing unit that stores the sub-root key and the registration date / time included in the route information registration request message in the storage unit as information corresponding to the identifier as the route information. A distributed ID management system.
前記ゲートウェイ装置の前記送受信部が、
前記要求メッセージとして、(1)変換元識別子、変換元ドメイン、変換元日時、および、(2)変換先ドメイン、変換先日時、を含み、変換先となる前記識別子の検索を要求するID変換要求メッセージを受信し、
前記ID変換転送部が、
前記ID変換要求メッセージの前記変換元識別子と前記変換元ドメインとを結合した前記インデックスキーを生成し、前記インデックスを保存する前記第1のデータ管理装置を、当該生成したインデックスキーに基づき、前記ノード決定部を介して決定し、
前記ID変換要求メッセージを、前記接続情報を参照して、前記決定した第1のデータ管理装置に送信し、
前記第1のデータ管理装置は、さらに、ID変換処理部を備えており、
前記ID変換処理部が、
前記ID変換要求メッセージに含まれる前記変換元識別子と前記変換元ドメインとを結合した前記インデックスキーを生成し、当該生成したインデックスキーおよび前記変換元日時をキーとして、前記インデックスを参照し、前記ルートキーを取得し、
前記ID変換要求メッセージに含まれる前記変換先ドメインと前記ルートキーとを結合した前記サブルートキーを生成し、前記ルート情報を保存する前記第2のデータ管理装置を、当該生成したサブルートキーに基づき、前記ノード決定部を介して決定し、
前記サブルートキーと、前記変換先日時とを含むID取得要求メッセージを、前記決定した第2のデータ管理装置に送信し、
前記第2のデータ管理装置は、さらに、ID取得処理部を備えており、
前記ID取得処理部が、
前記ID取得要求メッセージに含まれる前記サブルートキーおよび前記変換先日時をキーとして、前記ルート情報を参照し、前記変換先となる識別子を取得すること
を特徴とする請求項7に記載の分散ID管理システム。 The gateway device further includes an ID conversion transfer unit,
The transmission / reception unit of the gateway device includes:
The request message includes (1) a conversion source identifier, a conversion source domain, a conversion source date and time, and (2) a conversion destination domain and a conversion destination date and time, and an ID conversion request that requests a search for the identifier that is the conversion destination Receive the message,
The ID conversion transfer unit
The first data management device that generates the index key obtained by combining the conversion source identifier and the conversion source domain of the ID conversion request message and stores the index is based on the generated index key. Through the decision part
Sending the ID conversion request message to the determined first data management device with reference to the connection information;
The first data management device further includes an ID conversion processing unit,
The ID conversion processing unit
Generating the index key obtained by combining the conversion source identifier and the conversion source domain included in the ID conversion request message, referring to the index using the generated index key and the conversion source date and time as a key, and the route Get the key
Based on the generated sub-root key, the second data management device that generates the sub-root key that combines the conversion-target domain included in the ID conversion request message and the root key, and stores the route information. Determined through the node determination unit,
An ID acquisition request message including the sub-root key and the conversion destination date and time is transmitted to the determined second data management device;
The second data management device further includes an ID acquisition processing unit,
The ID acquisition processing unit
The distributed ID management according to claim 7, wherein the identifier to be the conversion destination is acquired by referring to the route information using the sub-root key and the conversion destination date and time included in the ID acquisition request message as keys. system.
前記ゲートウェイ装置の前記送受信部が、
前記要求メッセージとして、(1)更新対象識別子、更新対象ドメイン、更新対象日時、および、(2)更新後識別子、更新日時、を含み、前記更新対象ドメインの前記更新対象日時における前記識別子である前記更新対象識別子を、前記更新日時以降は前記更新後識別子に更新することを要求するID更新要求メッセージを受信し、
前記ID更新転送部が、
前記ID更新要求メッセージの前記更新対象識別子と前記更新対象ドメインとを結合した前記インデックスキーを生成し、当該生成したインデックスキーに基づき、前記インデックスを保存する前記第1のデータ管理装置を決定し、
前記ID更新要求メッセージを、前記接続情報を参照して、前記第1のデータ管理装置に送信し、
前記第1のデータ管理装置は、さらに、ID更新処理部を備えており、
前記ID更新処理部が、
前記ID更新要求メッセージに含まれる前記更新対象識別子と前記更新対象ドメインとを結合した前記インデックスキーを生成し、当該生成したインデックスキーおよび前記更新対象日時をキーとして、自身の記憶部から前記インデックスを抽出して、前記ルートキーを取得し、前記抽出したインデックスの失効日時として前記更新日時を当該インデックスに登録し、
前記ID更新要求メッセージに含まれる前記更新対象ドメインと前記ルートキーとを結合した前記サブルートキーを生成し、当該生成したサブルートキーに基づき、前記ルート情報を保存する前記第2のデータ管理装置を決定し、
前記決定した第2のデータ管理装置へ、前記サブルートキーと、前記更新日時と、前記更新後識別子とを含むルート情報更新要求メッセージを送信し、
前記ID更新要求メッセージに含まれる前記更新後識別子と前記更新対象ドメインとを結合した新たな前記インデックスキーを生成し、当該生成した新たなインデックスキーに基づき、新たな前記インデックスを保存する第3の前記データ管理装置を決定し、
前記決定した第3のデータ管理装置へ、前記新たなインデックスキーと、前記更新日時と、前記取得したルートキーとを含むインデックス登録要求メッセージを送信し、
前記第2のデータ管理装置は、さらに、ルート情報更新処理部を備えており、
前記ルート情報更新処理部が、
前記ルート情報更新要求メッセージに含まれる前記サブルートキーおよび前記更新日時をキーとして、自身の記憶部から前記ルート情報を抽出し、前記抽出したルート情報の失効日時として前記更新日時を登録し、
前記ルート情報更新要求メッセージに含まれる前記サブルートキーおよび前記更新日時を、前記更新後識別子に対応付けた情報を新たな前記ルート情報として、自身の記憶部に保存し、
前記第3のデータ管理装置は、インデックス登録処理部を備えており、
前記インデックス登録処理部が、
前記インデックス登録要求メッセージに含まれる前記新たなインデックスキーおよび前記更新日時を、前記ルートキーに対応付けた情報を前記新たなインデックスとして、自身の記憶部に保存すること
を特徴とする請求項7に記載の分散ID管理システム。 The gateway device further includes an ID update transfer unit,
The transmission / reception unit of the gateway device includes:
The request message includes (1) an update target identifier, an update target domain, an update target date and time, and (2) an after-update identifier and an update date and time, and is the identifier at the update target date and time of the update target domain Receiving an ID update request message requesting to update the update target identifier to the post-update identifier after the update date and time;
The ID update transfer unit
Generating the index key obtained by combining the update target identifier of the ID update request message and the update target domain, and determining the first data management device that stores the index based on the generated index key;
Sending the ID update request message to the first data management device with reference to the connection information;
The first data management device further includes an ID update processing unit,
The ID update processing unit
Generate the index key that combines the update target identifier and the update target domain included in the ID update request message, and use the generated index key and the update target date and time as a key to retrieve the index from its storage unit Extract, obtain the root key, register the update date and time as the expiration date of the extracted index,
The sub-root key obtained by combining the update target domain included in the ID update request message and the root key is generated, and the second data management device that stores the route information is determined based on the generated sub-root key. And
A route information update request message including the sub-root key, the update date and time, and the post-update identifier is transmitted to the determined second data management device;
Generating a new index key obtained by combining the post-update identifier and the update target domain included in the ID update request message, and storing the new index based on the generated new index key Determining the data management device;
An index registration request message including the new index key, the update date and time, and the acquired root key is transmitted to the determined third data management device;
The second data management device further includes a route information update processing unit,
The route information update processing unit
Using the sub-root key and the update date / time included in the route information update request message as keys, extract the route information from its own storage unit, and register the update date / time as the expiration date / time of the extracted route information,
The sub-root key and the update date / time included in the route information update request message are stored in its own storage unit as new route information that is associated with the updated identifier,
The third data management device includes an index registration processing unit,
The index registration processing unit
8. The new index key and the update date / time included in the index registration request message are stored in its own storage unit with the information associated with the root key as the new index. The distributed ID management system described.
前記複数のデータ管理装置それぞれは、通信可能に接続され、
前記ゲートウェイ装置および前記複数のデータ管理装置は、前記データ管理装置それぞれのアドレスを示す接続情報と、前記データ管理装置それぞれに対応したハッシュ値を示すノードIDとが格納されるノード情報が記憶される記憶部をそれぞれ備えており、
前記ゲートウェイ装置は、
前記要求メッセージとして、(1)管理対象を識別するための第1(i=1)の識別子、前記第1の識別子が利用される範囲を示す第1(i=1)のドメイン、および登録日時を示す第1(i=1)の登録情報と、(2)前記第1の識別子に示される管理対象と同一の管理対象を示す他の識別子である第2(i=2)の識別子、前記第2の識別子が利用される範囲を示す第2(i=2)のドメイン、および登録日時を示す第2(i=2)の登録情報と、を少なくとも含み、(i)前記第1の識別子に示される管理対象と同一の管理対象を示す識別子である第i(当該iは3以上の整数)の識別子、当該第iの識別子が利用される範囲を示す第i(当該iは3以上の整数)のドメイン、および登録日時を示す第i(当該iは3以上の整数)の登録情報と、を含むことができる情報の登録処理を要求するID登録要求メッセージを受信する送受信部と、
前記ID登録要求メッセージの先頭の識別子である前記第1の識別子と前記第1のドメインとを結合したインデックスキーを生成し、前記ゲートウェイ装置のノード決定部が決定した振り分け先となる第1のデータ管理装置に、前記ノード情報の前記接続情報を参照して、前記ID登録要求メッセージを送信するID登録転送部と、
前記第1のデータ管理装置を、前記ID登録転送部が生成したインデックスキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、前記振り分け先となる前記第1の前記データ管理装置を決定する前記ノード決定部と、
前記第1のデータ管理装置は、
前記ID登録要求メッセージを受信する送受信部と、
前記管理対象を前記分散ID管理システムにおいて一意に特定するための識別子であるルートキーを生成するルートキー生成部と、
前記ID登録要求メッセージに基づき、第i(i=1以上の整数)の識別子と第i(i=1以上の整数)のドメインとを結合した第i(i=1以上の整数)インデックスキーを生成し、
前記第iインデックスキー、前記登録日時および前記ルートキーを含むインデックス登録要求メッセージを生成し、前記第iインデックスキーを含むインデックスである第iインデックスの登録先である第(2×i−1)のデータ管理装置に送信し、
前記第iのドメインと前記ルートキーとを結合した第iサブルートキーを生成し、
前記第iサブルートキー、前記登録日時および前記第iの識別子を含むルート情報登録要求メッセージを生成し、前記第iサブルートキーを含むルート情報である第iルート情報の登録先である第(2×i)のデータ管理装置に送信するID登録処理部と、
前記ID登録処理部が生成した前記第iインデックスキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、前記第iインデックスの登録先を前記第(2×i−1)のデータ管理装置に決定し、
前記ID登録処理部が生成した前記第iサブルートキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、前記第iルート情報の登録先を前記第(2×i)のデータ管理装置に決定するノード決定部と、を備え、
前記第(2×i−1)のデータ管理装置は、
前記インデックス登録要求メッセージを受信する送受信部と、
前記インデックス登録要求メッセージに基づき、前記第iインデックスキーおよび登録日時を前記ルートキーに対応付けた情報である前記第iインデックスを、自身の記憶部に登録するインデックス登録処理部と、を備え、
前記第(2×i)のデータ管理装置は、
前記ルート情報登録要求メッセージを受信する送受信部と、
前記ルート情報登録要求メッセージに基づき、前記第iサブルートキーおよび登録日時を前記第iの識別子に対応付けた情報である前記第iルート情報を、自身の記憶部に登録するルート情報登録処理部と、を備えること
を特徴とする分散ID管理システム。 A gateway device that receives a request message from a client device and distributes the received request message to one of a plurality of data management devices; receives the distributed request message; and performs processing indicated in the request message A distributed ID management system comprising the plurality of data management devices to be executed,
Each of the plurality of data management devices is communicably connected,
The gateway device and the plurality of data management devices store node information in which connection information indicating addresses of the data management devices and node IDs indicating hash values corresponding to the data management devices are stored. Each has a storage unit,
The gateway device is
As the request message, (1) a first (i = 1) identifier for identifying a management target, a first (i = 1) domain indicating a range in which the first identifier is used, and a registration date and time (2) a second (i = 2) identifier that is another identifier indicating the same management target as the management target indicated by the first identifier, At least a second (i = 2) domain indicating a range in which the second identifier is used, and second (i = 2) registration information indicating a registration date and time, and (i) the first identifier The i th (where i is an integer of 3 or more) identifier indicating the same management target as the management target shown in FIG. 1, the i th (where i is 3 or more) indicating the range in which the i th identifier is used (Integer) domain and the i-th registration (where i is an integer of 3 or more) indicating the registration date and time. A transceiver for receiving an ID registration request message for requesting information and the registration processing of information, which may include,
First data that generates an index key that combines the first identifier that is the first identifier of the ID registration request message and the first domain, and that is a distribution destination determined by the node determination unit of the gateway device An ID registration transfer unit that sends the ID registration request message to the management device with reference to the connection information of the node information;
The first data management device calculates a hash value by applying a hash function to the index key generated by the ID registration transfer unit, refers to the node ID of the node information, and becomes the distribution destination The node determination unit for determining the first data management device;
The first data management device includes:
A transmission / reception unit for receiving the ID registration request message;
A root key generation unit that generates a root key that is an identifier for uniquely identifying the management target in the distributed ID management system;
Based on the ID registration request message, an i-th (i = 1 or greater integer) index key combining an i-th (i = 1 or greater integer) identifier and an i-th (i = 1 or greater integer) domain is Generate and
An index registration request message including the i-th index key, the registration date and time, and the root key is generated, and the (2 × i−1) -th registration destination of the i-th index that is the index including the i-th index key. To the data management device,
Generating an i-th sub-root key obtained by combining the i-th domain and the root key;
A route information registration request message including the i-th sub-root key, the registration date and time, and the i-th identifier is generated, and the registration destination of the i-th route information that is the route information including the i-th sub-root key is (2 × an ID registration processing unit to be transmitted to the data management device of i);
A hash function is calculated by applying a hash function to the i-th index key generated by the ID registration processing unit, and the registration destination of the i-th index is referred to as the second (2) with reference to the node ID of the node information. Xi-1) is determined as the data management device,
The hash value is calculated by applying a hash function to the i-th sub-root key generated by the ID registration processing unit, and the registration destination of the i-th route information is referred to by referring to the node ID of the node information. A node determining unit that determines the data management device of 2 × i),
The (2 × i−1) th data management device is:
A transmission / reception unit for receiving the index registration request message;
An index registration processing unit that registers the i-th index, which is information in which the i-th index key and registration date and time are associated with the root key, based on the index registration request message in its own storage unit;
The (2 × i) data management device is:
A transmission / reception unit for receiving the route information registration request message;
A route information registration processing unit for registering the i-th route information, which is information in which the i-th sub-root key and registration date and time are associated with the i-th identifier, based on the route information registration request message; A distributed ID management system comprising:
前記ゲートウェイ装置の送受信部が、
前記要求メッセージとして、(1)変換元となる第1の識別子、変換元となる第1のドメイン、変換元の日時である変換元日時、および、(2)変換先となる第2のドメイン、変換先の日時である変換先日時、を含み、変換先となる第2の識別子の検索を要求するID変換要求メッセージを受信し、
前記ID変換転送部が、
前記ID変換要求メッセージの前記第1の識別子と前記第1のドメインとを結合した前記インデックスキーを生成し、
前記ノード決定部を介して、当該生成したインデックスキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、前記インデックスの登録先である前記データ管理装置を決定し、
前記ID変換要求メッセージを、前記ノード情報の前記接続情報を参照して、前記決定したインデックスの登録先である前記データ管理装置に送信し、
前記インデックスの登録先であるデータ管理装置は、さらに、ID変換処理部を備えており、
前記ID変換処理部が、
受信した前記ID変換要求メッセージに基づき、前記第1の識別子と前記第1のドメインとを結合した前記インデックスキーを生成し、自身の記憶部に登録された前記インデックスを参照し、当該生成したインデックスキーおよび前記変換元日時をキーとして、前記ルートキーを取得し、
前記取得したルートキーと、前記ID変換要求メッセージに含まれる前記第2のドメインとを結合した前記サブルートキーを生成し、
前記ノード決定部を介して、当該生成したサブルートキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、前記ルート情報の登録先である前記データ管理装置を決定し、
前記サブルートキーおよび前記ID変換要求メッセージに含まれる前記変換先日時を含むID取得要求メッセージを生成し、前記決定したルート情報の登録先である前記データ管理装置に送信し、
前記ルート情報の登録先であるデータ管理装置は、さらに、ID取得処理部を備えており、
前記ID取得処理部が、
自身の記憶部に登録されたルート情報を参照し、受信した前記ID取得要求メッセージに含まれる前記サブルートキーおよび前記変換先日時をキーとして、前記変換先となる第2の識別子を取得し、
前記変換先となる第2の識別子を含むID取得応答メッセージを生成し、前記インデックスの登録先であるデータ管理装置に送信し、
前記インデックスの登録先であるデータ管理装置の前記ID変換処理部は、
受信した前記ID取得応答メッセージに基づき、前記変換先となる第2の識別子を含むID変換応答メッセージを生成し、前記ゲートウェイ装置を介して、前記クライアントに送信すること
を特徴とする請求項10に記載の分散ID管理システム。 The gateway device further includes an ID conversion transfer unit,
The transmission / reception unit of the gateway device,
As the request message, (1) a first identifier as a conversion source, a first domain as a conversion source, a conversion source date and time as a conversion source date and time, and (2) a second domain as a conversion destination, An ID conversion request message that includes a conversion destination date and time that is a conversion destination date and that requests a search for a second identifier that is a conversion destination;
The ID conversion transfer unit
Generating the index key obtained by combining the first identifier of the ID conversion request message and the first domain;
A hash value is calculated by applying a hash function to the generated index key via the node determination unit, and the data management apparatus that is the registration destination of the index is referred to by referring to the node ID of the node information Decide
Sending the ID conversion request message to the data management device, which is the registration destination of the determined index, with reference to the connection information of the node information;
The data management device that is the registration destination of the index further includes an ID conversion processing unit,
The ID conversion processing unit
Based on the received ID conversion request message, generates the index key that combines the first identifier and the first domain, refers to the index registered in its storage unit, and generates the index Using the key and the conversion source date and time as a key, obtain the root key,
Generating the sub-root key obtained by combining the acquired root key and the second domain included in the ID conversion request message;
The data management device which is a registration destination of the route information by calculating a hash value by applying a hash function to the generated sub-root key via the node determination unit and referring to the node ID of the node information Decide
Generate an ID acquisition request message including the conversion destination date and time included in the sub-root key and the ID conversion request message, and transmit the ID acquisition request message to the data management device that is the registration destination of the determined route information.
The data management device that is the registration destination of the route information further includes an ID acquisition processing unit,
The ID acquisition processing unit
With reference to the route information registered in its own storage unit, using the sub-root key and the conversion destination date and time included in the received ID acquisition request message as a key, the second identifier as the conversion destination is acquired,
Generating an ID acquisition response message including the second identifier as the conversion destination, and transmitting the ID acquisition response message to the data management device as the registration destination of the index;
The ID conversion processing unit of the data management device, which is the registration destination of the index,
The ID conversion response message including the second identifier serving as the conversion destination is generated based on the received ID acquisition response message, and is transmitted to the client via the gateway device. The distributed ID management system described.
前記ゲートウェイ装置の送受信部が、
前記要求メッセージとして、(1)更新対象識別子、更新対象ドメイン、更新対象日時、および、(2)更新後識別子、更新日時、を含み、前記更新対象ドメインの前記更新対象日時における前記識別子である前記更新対象識別子を、前記更新日時以降は前記更新後識別子に更新することを要求するID更新要求メッセージを受信し、
前記ID更新転送部が、
前記ID更新要求メッセージの前記更新対象識別子と前記更新対象ドメインとを結合した前記インデックスキーを生成し、
前記ノード決定部を介して、当該生成したインデックスキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、前記インデックスの登録先である前記データ管理装置を決定し、
前記ID更新要求メッセージを、前記接続情報を参照して、当該決定したデータ管理装置に送信し、
前記インデックスの登録先であるデータ管理装置は、さらに、ID更新処理部を備えており、
前記ID更新処理部が、
前記ID更新要求メッセージに含まれる前記更新対象識別子と前記更新対象ドメインとを結合した前記インデックスキーを生成し、当該生成したインデックスキーおよび前記更新対象日時をキーとして、自身の記憶部から前記インデックスを抽出して、前記ルートキーを取得し、前記抽出したインデックスの失効日時として前記更新日時を当該インデックスに登録し、
前記ID更新要求メッセージに含まれる前記更新対象ドメインと前記ルートキーとを結合した前記サブルートキーを生成し、
当該生成したサブルートキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、前記ルート情報の登録先である前記データ管理装置を決定し、
当該決定したデータ管理装置へ、前記サブルートキーと、前記更新日時と、前記更新後識別子とを含むルート情報更新要求メッセージを送信し、
前記ID更新要求メッセージに含まれる前記更新後識別子と前記更新対象ドメインとを結合した新たな前記インデックスキーを生成し、
当該生成した新たなインデックスキーにハッシュ関数を適用してハッシュ値を算出し、前記ノード情報の前記ノードIDを参照して、新たな前記インデックスの登録先であるデータ管理装置を決定し、
当該決定したデータ管理装置へ、前記新たなインデックスキーと、前記更新日時と、前記取得したルートキーとを含む第2のインデックス登録要求メッセージを送信し、
前記ルート情報の登録先であるデータ管理装置は、さらに、ルート情報更新処理部を備えており、
前記ルート情報更新処理部が、
前記ルート情報更新要求メッセージに含まれる前記サブルートキーおよび前記更新日時をキーとして、自身の記憶部から前記ルート情報を抽出し、前記抽出したルート情報の失効日時として前記更新日時を登録し、
前記ルート情報更新要求メッセージに含まれる前記サブルートキーおよび前記更新日時を、前記更新後識別子に対応付けた情報を新たな前記ルート情報として、自身の記憶部に登録し、
前記新たなインデックスの登録先であるデータ管理装置は、インデックス登録処理部を備えており、
前記インデックス登録処理部は、
前記第2のインデックス登録要求メッセージに含まれる前記新たなインデックスキーおよび前記更新日時を、前記ルートキーに対応付けた情報を前記新たなインデックスとして、自身の記憶部に登録すること
を特徴とする請求項10に記載の分散ID管理システム。 The gateway device further includes an ID update transfer unit,
The transmission / reception unit of the gateway device,
The request message includes (1) an update target identifier, an update target domain, an update target date and time, and (2) an after-update identifier and an update date and time, and is the identifier at the update target date and time of the update target domain Receiving an ID update request message requesting to update the update target identifier to the post-update identifier after the update date and time;
The ID update transfer unit
Generating the index key that combines the update target identifier of the ID update request message and the update target domain;
A hash value is calculated by applying a hash function to the generated index key via the node determination unit, and the data management apparatus that is the registration destination of the index is referred to by referring to the node ID of the node information Decide
Sending the ID update request message to the determined data management device with reference to the connection information;
The data management device that is the registration destination of the index further includes an ID update processing unit,
The ID update processing unit
Generate the index key that combines the update target identifier and the update target domain included in the ID update request message, and use the generated index key and the update target date and time as a key to retrieve the index from its storage unit Extract, obtain the root key, register the update date and time as the expiration date of the extracted index,
Generating the sub-root key that combines the update target domain and the root key included in the ID update request message;
Apply a hash function to the generated sub-root key to calculate a hash value, refer to the node ID of the node information, determine the data management device that is the registration destination of the route information,
A route information update request message including the sub route key, the update date and time, and the updated identifier is transmitted to the determined data management device;
Generating a new index key that combines the post-update identifier and the update target domain included in the ID update request message;
Apply a hash function to the generated new index key to calculate a hash value, refer to the node ID of the node information, determine a data management device that is a new index registration destination,
A second index registration request message including the new index key, the update date and time, and the acquired root key is transmitted to the determined data management device;
The data management device that is the registration destination of the route information further includes a route information update processing unit,
The route information update processing unit
Using the sub-root key and the update date / time included in the route information update request message as keys, extract the route information from its own storage unit, and register the update date / time as the expiration date / time of the extracted route information,
Registering the sub-root key and the update date / time included in the route information update request message as information on the updated identifier in the storage unit thereof as new route information,
The data management device that is the registration destination of the new index includes an index registration processing unit,
The index registration processing unit
The new index key and the update date / time included in the second index registration request message are registered in its own storage unit with information associated with the root key as the new index. Item 11. The distributed ID management system according to Item 10.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011237385A JP5651093B2 (en) | 2011-10-28 | 2011-10-28 | Distributed ID management method and distributed ID management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011237385A JP5651093B2 (en) | 2011-10-28 | 2011-10-28 | Distributed ID management method and distributed ID management system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013097441A true JP2013097441A (en) | 2013-05-20 |
JP5651093B2 JP5651093B2 (en) | 2015-01-07 |
Family
ID=48619350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011237385A Active JP5651093B2 (en) | 2011-10-28 | 2011-10-28 | Distributed ID management method and distributed ID management system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5651093B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8022A (en) * | 1851-04-08 | Sawing-machine | ||
JPH06195253A (en) * | 1992-12-24 | 1994-07-15 | Nippon Telegr & Teleph Corp <Ntt> | File management device |
JP2011060180A (en) * | 2009-09-14 | 2011-03-24 | Fujitsu Ltd | Method for controlling database system, index server and program |
JP2012514278A (en) * | 2010-03-26 | 2012-06-21 | エヌイーシー(チャイナ)カンパニー, リミテッド | Index server and method |
-
2011
- 2011-10-28 JP JP2011237385A patent/JP5651093B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8022A (en) * | 1851-04-08 | Sawing-machine | ||
JPH06195253A (en) * | 1992-12-24 | 1994-07-15 | Nippon Telegr & Teleph Corp <Ntt> | File management device |
JP2011060180A (en) * | 2009-09-14 | 2011-03-24 | Fujitsu Ltd | Method for controlling database system, index server and program |
JP2012514278A (en) * | 2010-03-26 | 2012-06-21 | エヌイーシー(チャイナ)カンパニー, リミテッド | Index server and method |
Also Published As
Publication number | Publication date |
---|---|
JP5651093B2 (en) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113379066B (en) | Federal learning method based on fog calculation | |
US10942930B2 (en) | Methods and systems for graph-based publication-subscription | |
EP2875653B1 (en) | Method for generating a dataset structure for location-based services | |
CN110428056A (en) | Use the system and method for the distributing machine learning of block chain | |
Hassanzadeh-Nazarabadi et al. | Decentralized and locality aware replication method for DHT-based P2P storage systems | |
CN101925899A (en) | Distributed indexing of file content | |
US9501509B2 (en) | Throwaway spatial index structure for dynamic point data | |
CN108986872B (en) | Multi-granularity attribute weight Spark method for big data electronic medical record reduction | |
JP2007034630A (en) | Information distribution system, registration device, information processor, registration program and information processing program | |
US12118007B2 (en) | Incremental data retrieval based on structural metadata | |
JP2004157870A (en) | Molecular information providing system, device and method, method for controlling information processor as molecular information providing device, program for making information processor execute the method, mechanically-readable storage medium recording the program and grid computing support device for molecular orbital claculation | |
CN103902705B (en) | Metadata-based cross-mechanism cloud digital content integration system and metadata-based cross-mechanism cloud digital content integration method | |
CN105357247A (en) | Multi-dimensional cloud resource interval finding method based on hierarchical cloud peer-to-peer network | |
TW202303412A (en) | 3d object management data, computer program, and method for distributed management of 3d object | |
US20060209717A1 (en) | Distributed storing of network position information for nodes | |
El Kaed et al. | Forte: A federated ontology and timeseries query engine | |
JP5651093B2 (en) | Distributed ID management method and distributed ID management system | |
CN112702390B (en) | Block chain-based networking method and device for intelligent contract resources | |
Bonfitto et al. | On the bulk ingestion of iot devices from heterogeneous iot brokers | |
JP2001318942A (en) | Information providing system and mediator | |
CN103064872A (en) | Processing search queries in a network of interconnected nodes | |
Sangaiah et al. | Cost-effective resources for computing approximation queries in mobile cloud computing infrastructure | |
JP5765253B2 (en) | Area search method, area search program, and information processing apparatus | |
CN102880629B (en) | Accelerating query method of probabilistic database | |
JP4494901B2 (en) | Resource search method and resource search system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140122 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140819 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141006 |
|
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: 20141028 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141114 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5651093 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |