JP2007316696A - データ管理装置 - Google Patents

データ管理装置 Download PDF

Info

Publication number
JP2007316696A
JP2007316696A JP2006142403A JP2006142403A JP2007316696A JP 2007316696 A JP2007316696 A JP 2007316696A JP 2006142403 A JP2006142403 A JP 2006142403A JP 2006142403 A JP2006142403 A JP 2006142403A JP 2007316696 A JP2007316696 A JP 2007316696A
Authority
JP
Japan
Prior art keywords
data
data management
message
identifier
information
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.)
Pending
Application number
JP2006142403A
Other languages
English (en)
Inventor
Akira Agata
亮 縣
Yutaka Kaneko
金子  豊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
KDDI Corp
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Hoso Kyokai NHK, KDDI Corp, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2006142403A priority Critical patent/JP2007316696A/ja
Publication of JP2007316696A publication Critical patent/JP2007316696A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】同一内容を有する複数のデータのうち、一部が利用不可能になった場合でも、代替データを容易に利用することを可能とするデータ管理装置を提供する。
【解決手段】コンピュータネットワーク上に分散して存在し、識別子が付与されているデータのうち、所定の数値範囲内の識別子が付与されたデータをデータ管理装置1は管理する。メッセージ処理部110は、処理対象のデータの情報を含むメッセージの内容に従った処理を実行する。データ管理表記憶部13は所定の数値範囲内の識別子が付与されたデータの情報をデータ管理表として記憶する。同一内容のデータに対して同一の識別子を付与することによって、同一内容のデータが同一のデータ管理装置1によって管理されるので、同一内容を有する複数のデータのうち、一部が利用不可能になった場合でも、代替データを容易に利用することが可能となる。
【選択図】図1

Description

本発明は、コンピュータネットワーク上に分散して存在し、識別子が付与されているデータのうち、所定の数値範囲内の識別子が付与されたデータを管理するデータ管理装置に関する。
特定のサーバによらず、継続的あるいは一時的にネットワークに接続した計算機群によって構成される分散型のデータ管理システムがある。このシステムを利用して、例えばユーザ側ではデータの名前は分かっているが、そのデータのネットワーク上の存在場所が分からない場合に、そのデータを所持している計算機の情報を、ユーザからの要求に応じてユーザに通知するというデータの名前解決サービスを提供することができる。分散型データ管理システムとして、分散ハッシュ表技術を応用したシステムが知られている。分散型データ管理システムに適用する分散ハッシュ表技術として、米国MIT大学のThe Chord Projectが良く知られている(非特許文献1参照)。
Chordでは、データ、およびそれを管理するデータ管理装置には、それぞれ160bitのユニークな識別子が付与されている。各々の識別子は、循環するハッシュ空間を構成する(図16参照)。データの管理は、ハッシュ空間上で当該データの識別子から正の方向(図16中の矢印Aの方向)に見て、次に現れる識別子を持つデータ管理装置が担当することになる。
例として、p台のデータ管理装置でq個のデータを管理するシステムを想定する。データ管理装置の識別子を IDs1,IDs2,・・・,IDsp、データの識別子を IDd1,IDd2,・・・,IDdqとすると、識別子IDs1を持つデータ管理装置は、IDsp < x ≦ 2160-1および0 ≦ x < IDs1の範囲の識別子を有するデータを管理する。また、識別子IDs2を持つデータ管理装置は、IDs1 < x < IDs2の範囲の識別子を有するデータを管理する。このように、各データ管理装置の管理範囲を示す識別子の数値範囲はデータ管理装置毎に異なっており、各数値範囲が重ならないようになっている。以下、このデータ管理に係る情報を「データ管理表」と呼ぶ。
次に、従来の分散型データ管理システムにおける名前解決動作を、非特許文献1の内容に基づいて説明する。システムを構成する各データ管理装置は、ハッシュ空間上で自身の識別子から正の方向(図16中の矢印Aの方向)に見て、次に現れる識別子を持つデータ管理装置を、自らのSUCCESSORとして認識している。「認識している」とは、SUCCESSORのIPアドレスとポート番号とを保持しており、SUCCESSORとの間でメッセージを送受信可能であることを表す。同様に、各データ管理装置は、ハッシュ空間上で自身の識別子から負の方向(図16中の矢印Bの方向)に見て、次に現れる識別子を持つデータ管理装置を、自らのPREDECESSORとして認識している。また、各データ管理装置は、ハッシュ空間上で自身の識別子から見て正の方向に現れるr台のデータ管理装置の情報を、SUCCESSOR ListまたはFinger Tableとして保有している。
「SUCCESSOR List」は、自身の識別子から正の方向に見て最初に現れるr台のデータ管理装置のリストである。これに対して、「Finger Table」は、自身の識別子をXとしたときに、(X+2i)mod2160の識別子のデータを担当するr台(0≦i<r)のデータ管理装置のリストである。これら「SUCCESSOR List」または「Finger Table」と呼ばれる部分、およびSUCCESSOR/PREDECESSORを管理する2つのエントリをあわせて、経路表と呼ぶ。
Chordにおける名前解決動作は、以下のように行われる。ユーザ端末または他のデータ管理装置から、ある識別子のデータに対する名前解決を要求されたデータ管理装置は、当該識別子が当該データ管理装置の管理する範囲内であれば、データ管理表を参照し名前解決を行う。また、当該識別子が当該データ管理装置の管理する範囲外であれば、当該データ管理装置は経路表を参照し、当該識別子を管理する可能性のあるデータ管理装置を選んでリクエストを転送し、名前解決を依頼する。Chordシステムを構成するデータ管理装置の台数をNとした場合、経路表として「SUCCESSOR List」を使用すると、名前解決までにO(N) 回の転送動作が行われるのに対して、「Finger Table」を使用した場合、O(log N) 回の転送で済むことが知られている。
Chordシステムで用いられる160bitの識別子として、SHA-1(Secure Hash Algorithm 1)(非特許文献2参照)と呼ばれるハッシュ関数の出力値(ハッシュ値)が一般的に用いられている。例えば、Chordシステムを構成するデータ管理装置の識別子として、当該データ管理装置のIPアドレスをもとにSHA-1で計算されたハッシュ値が用いられる。また、個々のデータの識別子としては、データが保存されているサーバのIPアドレスまたはドメイン名とデータ名との組み合わせをもとに計算されたハッシュ値が用いられる。
分散ハッシュ表技術とは別の、関連する従来の名前解決の技術として、同一内容のオブジェクト(データや処理機能)に同一の識別子を付与し、ユーザがオブジェクトを利用する際に、存在する複数の候補の中から、利用可能なオブジェクトの接続先を通知する技術(特許文献1参照)がある。また、特許文献1に記載された技術を広域なネットワークでの名前解決の技術に応用したものとして、非特許文献3に記載された技術がある。
特開2005−267484号公報 I. Stoica,et. al.,"Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications",Proceedings of the 2001 ACM SIGCOMM Conference,2001 FIPS 180-1,"Secure Hash Standard",U.S. Department of Commerce/NIST,National Technical Information Service,Springfield,VA,Apr. (1995) 竹内 他,"分散処理のためのネットワーク間オブジェクト発見手法の検討",電子情報通信学会ソサエティ大会 B-6-18,(2005)
分散ハッシュ表技術を用いた従来のChordシステムでは、ネットワーク上に同一内容のデータが複数存在する場合、個々のデータに対応する識別子が異なるため、各データは、基本的にそれぞれ別のデータ管理装置によって管理される。このため、同一内容を有する複数のデータのうち一部が何らかの理由により利用不可能になった場合、利用可能な代替データがネットワーク上に存在するにもかかわらず、その存在を予め知らない限り当該代替データを利用できない状況が発生するという問題があった。また、同一内容を有する複数のデータに対するアクセス状況を把握するためには、当該内容を有する複数のデータそれぞれを管理するデータ管理装置の全てに問い合わせを行う必要があり、アクセス状況の把握が困難であるという問題があった。
上記の問題を具体例により説明する。例えば、“data1”という名称の同一内容のデータファイルが、address_A,address_B,address_Cの3箇所に存在する場合、それぞれのデータファイルの識別子(Hash(data1@address_X)、X=A,B,C)が異なるため、各データファイルがそれぞれ異なるデータ管理装置で管理されることがある。このため、ユーザが指定したデータ(例えば“data1@address_A”)が何らかの理由で利用できなかったときに、代替データ(例えば“data1@address_B”)の存在を当該ユーザが知らない場合、たとえ当該代替データが利用可能であっても当該ユーザはそれを利用できない。
また、“data1” という名称を有するデータファイルに対するアクセス状況を把握するためには、それぞれの識別子(Hash(data1@address_X)、X=A,B,C)に対応する3台のデータ管理装置に対して、個別に問い合わせを行う必要がある。つまり、同一内容のデータがネットワーク上に多数存在するほど、当該データのアクセス状況の把握が困難になる。
一方、特許文献1および非特許文献3に記載された方法では、ネットワークの規模が大きくなるほど、Chordと比較して名前解決が困難であるという問題がある。また、同一内容のデータファイルが異なるサブネットに存在する場合、それらのデータファイルが異なる名前解決サーバに登録・管理されるため、同一内容のデータがネットワーク上に多数存在するほど、代替データの利用が困難になると共に、データのアクセス状況の把握が困難になるという同様の問題があった。
本発明は、上述した問題点に鑑みてなされたものであって、同一内容を有する複数のデータのうち、一部が利用不可能になった場合でも、代替データを容易に利用することを可能とするデータ管理装置を提供することを第1の目的とする。また、本発明は、第1の目的を達成しつつ、アクセス状況の管理を容易とするデータ管理装置を提供することを第2の目的とする。
本発明は、上記の課題を解決するためになされたもので、コンピュータネットワーク上に分散して存在し、識別子が付与されているデータのうち、所定の数値範囲内の識別子が付与されたデータを管理するデータ管理装置において、処理対象のデータの情報を含むメッセージを受信し、前記メッセージの内容に従った処理を実行するメッセージ処理手段(図1、図12の通信処理部10、メッセージ処理部110に対応)と、前記所定の数値範囲内の識別子が付与されたデータの情報を記憶するデータ管理情報記憶手段(図1、図12のデータ管理表記憶部13に対応)とを備えており、同一内容のデータに対して同一の識別子が付与されていることを特徴とするデータ管理装置である。
また、本発明のデータ管理装置において、受信した前記メッセージがデータの登録要求を示しており、前記メッセージが示す登録対象のデータの識別子が前記所定の数値範囲に含まれる場合には、前記メッセージ処理手段は前記登録対象のデータの情報を前記データ管理情報記憶手段に格納することを特徴とする。
また、本発明のデータ管理装置において、受信した前記メッセージがデータの情報要求を示しており、前記メッセージが示す情報要求対象のデータの識別子が前記所定の数値範囲に含まれる場合には、前記メッセージ処理手段は、前記情報要求対象のデータの情報を前記データ管理情報記憶手段から読み出し、前記メッセージの発信元へ送信することを特徴とする。
また、本発明のデータ管理装置は、前記所定の数値範囲内の識別子が付与されたデータの状態確認を、当該データを記憶するデータ記憶装置(図1、図12のデータファイル蓄積装置3に対応)に要求するための状態確認メッセージを前記データ記憶装置へ送信し、前記状態確認メッセージに対する前記データ記憶装置からの返答メッセージを受信し、前記返答メッセージの内容に基づいて、前記データ管理情報記憶手段によって記憶されている情報を更新するデータ管理情報更新手段(図1、図12の通信処理部10、データ管理表更新処理部111に対応)をさらに備えたことを特徴とする。
また、本発明のデータ管理装置は、前記データ管理情報記憶手段によって記憶されている情報の変更履歴を示す履歴情報を記憶する履歴情報記憶手段(図12の履歴情報記憶部14に対応)と、前記データ管理情報更新手段によって情報が更新された場合に、前記履歴情報記憶手段によって記憶されている前記履歴情報を更新する履歴情報更新手段(図12の履歴情報更新処理部112に対応)とをさらに備えたことを特徴とする。
また、本発明のデータ管理装置において、受信した前記メッセージがデータの履歴要求を示しており、前記メッセージが示す履歴要求対象のデータの識別子が前記所定の数値範囲に含まれる場合には、前記メッセージ処理手段は前記履歴要求対象のデータの前記履歴情報を前記履歴情報記憶手段から読み出し、前記メッセージの発信元へ送信することを特徴とする。
また、本発明のデータ管理装置において、受信した前記メッセージが示す登録対象のデータの識別子が前記所定の数値範囲に含まれない場合には、前記メッセージ処理手段は前記メッセージを他のデータ管理装置へ転送することを特徴とする。
上記において、括弧で括った部分の記述は、後述する本発明の実施形態と本発明の構成要素とを便宜的に対応付けるためのものであり、この記述によって本発明の内容が限定されるわけではない。
本発明によれば、データ管理装置毎に異なる所定の数値範囲内の識別子が付与されたデータを各データ管理装置が管理するシステムにおいて、同一内容のデータに対して同一の識別子を付与することによって、同一内容のデータが同一のデータ管理装置によって管理されるので、同一内容を有する複数のデータのうち、一部が利用不可能になった場合でも、代替データを容易に利用することが可能となるという効果が得られる。
また、本発明によれば、同一内容のデータが同一のデータ管理装置によって管理され、それらのデータの履歴情報も同一のデータ管理装置によって管理されるので、データのアクセス状況の管理が容易となるという効果が得られる。
以下、図面を参照し、本発明の実施形態を説明する。以下の実施形態では、同一内容のデータがネットワーク上に複数存在する場合でも、それらのデータが常に1台のデータ管理装置で管理されるような識別子がデータに付与されるものとする。具体的には、データの作成時に一意な名前(ID)がデータに付与され、キャッシュデータの作成時などのようにデータの複製が作成され、データ記憶装置に保存される場合、複製データの名称として、元となったデータの名称と同じものが使用されるものとする。また、データの識別子として、データのIDから計算されたハッシュ値が用いられるものとする。これにより、同一内容のデータに対して同一の識別子が付与され、当該識別子に対応する特定のデータ管理装置により、同一内容の複数のデータが一元的に管理される。データの作成時に付与される名前(ID)の例として、UUID(Universally Unique Identifier)や、T-Engineフォーラムで標準化が行われているユビキタスID(ucode)などがある。
また、ユーザからの指示に基づいて動作するユーザ端末は、名前解決などをシステムに要求する際のデータの指定をデータの識別子で行う。ユーザ端末からの要求を受けたデータ管理装置は、データ管理表に登録されている同一内容のデータに関する複数のエントリのうち一部が利用できない場合、別の代替エントリに対する名前解決動作を行う。これによりユーザは、自身が指定するデータについて、ネットワーク上に代替データがいくつ存在するのか、代替データの保存先はどこか等を意識することなく、ネットワーク上の所望のデータを利用することが可能となる。
図1は、本発明の第1の実施形態によるデータ管理システムの構成を示している。図1において、複数のデータ管理装置1、ユーザ端末2、データファイル蓄積装置3が、通信ネットワーク400を介して互いに通信を行うことが可能なように接続されている。データ管理装置1、ユーザ端末2、およびデータファイル蓄積装置3は共にコンピュータである。各々のデータ管理装置1、ユーザ端末2、およびデータファイル蓄積装置3では、データの加工や演算を行う処理装置、データを保存するための記憶装置、ユーザがコンピュータへの指示を入力するための入力装置、および処理結果を出力する出力装置等のハードウェアと、コンピュータを制御する手順や命令をまとめたソフトウェア(プログラム)とが協働して動作することによって、所望の機能が実現される。
データ管理装置1において、通信処理部10は、他のデータ管理装置1やユーザ端末2、データファイル蓄積装置3との通信を制御し、各種メッセージの送信や受信を行う。処理部11は、データ管理に係る様々な処理を実行する。経路表記憶部12は経路表を記憶し、データ管理表記憶部13はデータ管理表を記憶する。経路表記憶部12とデータ管理表記憶部13は異なる記録媒体で構成されていてもよいし、同一の記録媒体内の異なる記録領域で構成されていてもよい。処理部11において、メッセージ処理部110は、他のデータ管理装置1やユーザ端末2、データファイル蓄積装置3から受信されたメッセージに基づいて処理を実行する。データ管理表更新処理部111は、データファイル蓄積装置3に対するデータの状態確認に係る処理を行い、データファイル蓄積装置3から通知された情報に基づいて、データ管理表記憶部13に格納されているデータ管理表の内容を更新する。
データファイル蓄積装置3において、通信処理部30はデータ管理装置1やユーザ端末2との通信を制御し、各種メッセージの送信や受信を行う。処理部31は、データファイル蓄積部32に蓄積されるデータに係る様々な処理を実行する。
ユーザ端末2は、新たなデータを生成した場合、そのデータが生成された時間や、ユーザ端末2のネットワークインタフェースに付与されたMACアドレスの情報等に基づいて、一意なIDをデータに付与した上で、データをいずれかのデータファイル蓄積装置3へ送信する。データファイル蓄積装置3において、通信処理部30はそのデータを受信し、処理部31へ出力する。
処理部31は、そのデータに付与されたIDに基づいて、ハッシュ関数(例えばSHA-1)によって識別子を生成する。処理部31は、データをデータファイル蓄積部32に蓄積し、上記のようにして生成された識別子と、自身のデータファイル蓄積装置3のIPアドレスおよびポート番号等とが記録されたメッセージを生成し、データ管理装置1へ送信する。これによって、データ管理装置1に対して新たなデータの登録が要求される。
データ管理装置1の経路表記憶部12が記憶する経路表には、他のデータ管理装置1との通信に必要な情報(例えばIPアドレスおよびポート番号)が含まれている。図2は経路表の一例を示している。経路表は、前述した「SUCCESSOR List」または「Finger Table」と呼ばれる部分と、SUCCESSORおよびPREDECESSORを管理する2つのエントリとから成る。「SUCCESSOR List」または「Finger Table」には、他の複数のデータ管理装置1の識別子(装置識別子)と、それらのデータ管理装置1のIPアドレスおよびポート番号とが含まれている。
SUCCESSORを管理するエントリには、SUCCESSORとなる他のデータ管理装置1の識別子(装置識別子)と、そのデータ管理装置1のIPアドレスおよびポート番号とが含まれている。PREDECESSORを管理するエントリには、PREDECESSORとなる他のデータ管理装置1の識別子(装置識別子)と、そのデータ管理装置1のIPアドレスおよびポート番号とが含まれている。処理部11は、通信処理部10を介して他のデータ管理装置1と通信を行い、通信結果に基づいて経路表を作成し、経路表記憶部12に予め格納しているものとする。
データ管理装置1のデータ管理表記憶部13が記憶するデータ管理表には、自身が管理するデータ、すなわち自身が管理する所定の数値範囲内の識別子が付与されたデータについての情報が含まれている。図3はデータ管理表の一例を示している。図3が示すようにデータ管理表には、個々のデータについて、各データに付与されている識別子(データ識別子)、各データが保存されているデータファイル蓄積装置3のIPアドレスとポート番号、およびデータの使用可否を示す情報が含まれている。データの使用可否は、例えばデータに対するアクセスが行われているか否か、データに問題があるか否か等によって変わる。
図3の例では、「データA」という内容のデータがネットワーク上の3箇所に保存されており、IPアドレス 1.1.1.1のデータファイル蓄積装置3 に保存されているデータが現在使用不可能である。データ管理表の内容は、定期的に実行されるデータ管理表更新処理により、最新の情報に更新される。この詳細は後述する。
ユーザ端末2は、ユーザからの指示に基づいてデータの存在場所を探索する際に、自身が知っているデータ管理装置1に対して、そのデータの情報を要求するためのメッセージを送信する。また、データ管理装置1は、ユーザ端末2からメッセージを受信した場合に、必要に応じて、他のデータ管理装置1へそのメッセージを転送する。また、データファイル蓄積装置3は、新たなデータをデータファイル蓄積部32に保存した場合、データの情報の登録を要求するためのメッセージをデータ管理装置1へ送信する。
図4は上記のメッセージの一例を示している。「宛先IPアドレス」および「宛先ポート番号」はそれぞれ、メッセージの宛先であるデータ管理装置1のIPアドレスおよびポート番号を示している。「送信元IPアドレス」および「送信元ポート番号」はそれぞれ、メッセージの送信元であるデータ管理装置1、ユーザ端末2、またはデータファイル蓄積装置3のIPアドレスおよびポート番号を示している。
「処理対象識別子」は、データ管理装置1による処理対象となるデータの識別子を示している。「コマンド」は、処理対象識別子で識別されるデータに対してデータ管理装置1が行うべき処理内容を示している。この処理内容とは、例えばデータ管理表上で処理対象識別子に対応するIPアドレス、ポート番号、使用可否の情報等を送信元に返信するということや、データ管理表に対してエントリを登録する/削除するということを示している。また、メッセージには、そのメッセージを作成し、発信したユーザ端末2またはデータファイル蓄積装置3を特定するための発信元IPアドレスおよび発信元ポート番号も含まれている。
次に、本実施形態によるデータ管理システムの動作を説明する。まず、図5を参照し、他の装置からメッセージを受信する場合のデータ管理装置1の動作を説明する。通信処理部10は、メッセージの宛先IPアドレスおよび宛先ポート番号が自身を指すメッセージのみ受信し、メッセージ処理部110へメッセージを出力する(ステップS100 )。メッセージ処理部110はメッセージ内の処理対象識別子を確認し、その処理対象識別子が、自身の担当する範囲内の識別子であるか否かを判定する(ステップS101)。
処理対象識別子が、自身の担当する範囲内の識別子でなかった場合、メッセージ処理部110は経路表記憶部12から経路表を読み出し(ステップS102)、経路表内のデータ管理装置1の識別子と処理対象識別子を比較して、メッセージの転送先となるデータ管理装置1を決定する(ステップS103)。続いて、メッセージ処理部110はメッセージの宛先IPアドレスおよび宛先ポート番号を転送先のデータ管理装置1のIPアドレスおよびポート番号に書き換えると共に、送信元IPアドレスおよび送信元ポート番号を自身のIPアドレスおよびポート番号に書き換え、通信処理部10を介してメッセージを転送する(ステップS104)。メッセージの転送先となるデータ管理装置1は1台でも複数台でもよい。
一方、ステップS101での判定の結果、処理対象識別子が、自身の担当する範囲内の識別子であった場合、メッセージ処理部110はメッセージ内のコマンドを参照し、その内容を判断する(ステップS105)。この判断結果に応じて、ステップS106〜S109のいずれかの処理が行われる。メッセージ内のコマンドの内容が名前解決であった場合には、処理A(名前解決処理)が行われ(ステップS106)、メッセージ内のコマンドの内容が状態確認であった場合には、処理B(状態確認処理)が行われ(ステップS107)、メッセージ内のコマンドの内容が登録であった場合には、処理C(登録処理)が行われ(ステップS108)メッセージ内のコマンドの内容がその他であった場合には、処理D(その他の処理)が行われる(ステップS109)。処理AおよびBは、データに関する情報を要求する情報要求に対する処理の一種ととらえられる。
次に、ステップS106〜S109の処理の詳細を説明する。図6は処理A(名前解決処理)の内容を示している。発信元からデータの名前解決が要求されている場合、メッセージ処理部110はデータ管理表記憶部13内のデータ管理表を参照し、メッセージ内の処理対象識別子と同一の識別子がデータ管理表に存在するか否かを判定する(ステップS200)。処理対象識別子と同一の識別子がデータ管理表に存在しなかった場合、メッセージ処理部110は、メッセージの発信元(メッセージを発信したユーザ端末2)に対して、処理対象識別子と同一の識別子を有するデータが存在しないことを通知するためのメッセージを生成し、通信処理部10を介してメッセージを発信元に送信する(ステップS201)。
また、処理対象識別子と同一の識別子がデータ管理表に存在した場合、メッセージ処理部110は、処理対象識別子に対応する全てのエントリの使用可否を確認した上で、使用可否が「可」であるエントリが少なくとも1つ存在するか否かを判定する(ステップS202)。使用可否が「可」であるエントリが1つも存在しない場合、メッセージ処理部110は、処理対象識別子に対応するデータの全てが現在使用不可能であることを発信元に通知するためのメッセージを生成し、通信処理部10を介してメッセージを発信元に送信する(ステップS203)。また、使用可否が「可」であるエントリが少なくとも1つ存在する場合、メッセージ処理部110は、使用可否が「可」であるエントリの中から1つを選択し、そのエントリに含まれるIPアドレスおよびポート番号を発信元に通知するためのメッセージを生成し、通信処理部10を介してメッセージを発信元に送信する(ステップS204)。
図7は処理B(状態確認処理)の内容を示している。発信元からデータの状態確認が要求されている場合、メッセージ処理部110はデータ管理表記憶部13内のデータ管理表を参照し、メッセージ内の処理対象識別子と同一の識別子がデータ管理表に存在するか否かを判定する(ステップS300)。処理対象識別子と同一の識別子がデータ管理表に存在しなかった場合、メッセージ処理部110は、メッセージの発信元(メッセージを発信したユーザ端末2)に対して、処理対象識別子と同一の識別子を有するデータが存在しないことを通知するためのメッセージを生成し、通信処理部10を介してメッセージを発信元に送信する(ステップS301)。
また、処理対象識別子と同一の識別子がデータ管理表に存在した場合、メッセージ処理部110は、データ管理表に含まれる情報の中から、処理対象識別子に対応するエントリの情報(処理対象識別子に対応するデータの使用可否の情報を少なくとも含む情報)を抽出する。メッセージ処理部110は、データ管理表から抽出した情報を含むメッセージを生成し、通信処理部10を介してメッセージを発信元に送信する(ステップS302)。
図8は処理C(登録処理)の内容を示している。発信元から新たなデータの情報の登録が要求されている場合、メッセージ処理部110は、メッセージ内の処理対象識別子を識別子とするエントリをデータ管理表に追加し、発信元IPアドレスおよび発信元ポート番号の情報をそれぞれ当該エントリのIPアドレスおよびポート番号の情報とし、また、使用可否を初期状態として「可」とし、データに関するこれらの情報をデータ管理表内の当該エントリに格納する(ステップS400)。
本実施形態によるデータ管理システムでは、データの識別子として、データの名称をもとに特定のプロトコル(例えばハッシュ関数SHA-1など)で得られた値が使用される。このため、同一内容のデータのコピーがネットワーク上に複数存在する場合、これらのデータの識別子は全て同一となる。図16が示すように、同一の識別子が付与されたデータを異なるデータ管理装置1が管理することはないため、同一内容のデータは同一のデータ管理装置のデータ管理表に登録され、管理される。
図9は処理D(その他の処理)の内容を示している。メッセージ内のコマンドの内容がデータの名前解決でも状態確認でも登録でもない場合、メッセージ処理部110は、無効なコマンドであることを発信元に通知するためのメッセージを生成し、通信処理部10を介してメッセージを発信元に送信する(ステップS500)。
次に、図10および図11を参照し、定期的に行われるデータ管理表の更新に係る動作を説明する。図10はデータ管理装置1の動作を示している。データ管理表更新処理部111は、内部に保持する変数を初期化し(ステップS600)、データ管理表に含まれるエントリの中の1つに対応するデータの状態確認を行うための状態確認メッセージを生成し、通信処理部10を介して、そのデータを記憶しているデータファイル蓄積装置3へ状態確認メッセージを送信する(ステップS601)。
状態確認メッセージの送信後、データ管理表更新処理部111は送信先のデータファイル蓄積装置3からの応答に備えて待機し、応答の有無を判定する(ステップS602)。状態確認メッセージが送信されてから所定時間内に返答があった場合(データファイル蓄積装置3からの返答メッセージが所定時間内に受信された場合)、データ管理表更新処理部111はデータファイル蓄積装置3からの返答メッセージを参照し、その内容に基づいて、状態確認の対象となっているデータがデータファイル蓄積装置3に存在しているか否かを判定する(ステップS603)。
状態確認の対象となっているデータがデータファイル蓄積装置3に存在している場合、データ管理表更新処理部111は、返答メッセージの内容に基づいて、データ管理表記憶部13内のデータ管理表内のデータの情報を更新する(ステップS604)。例えば、IPアドレス、ポート番号、使用可否について、返答メッセージの内容とデータ管理表の内容とを比較し、両者が異なっていた場合には、データ管理表の内容を返答メッセージの内容に書き換える処理が行われる。また、両者が同じであった場合には、データ管理表の内容はそのままとなる。
一方、データファイル蓄積装置3へ状態確認メッセージを送信した後、所定時間内に返答がなかった場合(データファイル蓄積装置3からの返答メッセージが所定時間内に受信されなかった場合)(ステップS602でNOの場合)、および状態確認の対象となっているデータがデータファイル蓄積装置3に存在しない場合(ステップS603でNOの場合)、データ管理表更新処理部111は、状態確認の対象となっているデータのエントリをデータ管理表から削除する(ステップS605)。ステップS604またはS605におけるデータ管理表に対する操作を行った後、データ管理表更新処理部111は、内部に保持している変数の値を参照し、その値が現在のエントリの最大数(n-1)と同じ値であるか否かを判定する(ステップS606)。
内部に保持している変数の値がエントリの最大数と同じ値であった場合には、データ管理表の更新処理が終了する。また、内部に保持している変数の値がエントリの最大数と同じ値でなかった場合には、データ管理表更新処理部111は、内部に保持している変数の値を1だけ増加させ(ステップS607)、次のエントリについて、再びステップS601からの処理を行う。以上の動作によって、データ管理表内の1つ1つのエントリについて順番に情報の更新処理が行われる。
図11は、図10に対応してデータファイル蓄積装置3が行う動作を示している。通信処理部30は、データ管理装置1からの状態確認メッセージを受信し、処理部31へ出力する(ステップS700)。処理部31は、状態確認メッセージを参照し、状態確認を要求されているデータがデータファイル蓄積部32に格納されているか否かを確認する(ステップS701)。状態確認を要求されているデータがデータファイル蓄積部32に格納されていない場合、処理部31は、その旨をデータ管理装置1に通知するための返答メッセージを生成し、通信処理部30を介して返答メッセージをデータ管理装置1へ送信する(ステップS702)。また、状態確認を要求されているデータがデータファイル蓄積部32に格納されている場合、処理部31は、状態確認を要求されているデータの現在の情報(IPアドレス、ポート番号、使用可否)を含む返答メッセージを生成し、通信処理部30を介して返答メッセージをデータ管理装置1へ送信する(ステップS703)。
上述したように、データ管理装置1毎に異なる所定の数値範囲内の識別子が付与されたデータを各データ管理装置1が管理するシステムにおいて、本実施形態では同一内容のデータに対して同一の識別子を付与している。これによって、同一内容のデータが同一のデータ管理装置1によって管理されるので、同一内容を有する複数のデータのうち、一部が利用不可能になった場合でも、代替データを容易に利用することが可能となる。
また、本実施形態では、データの名前解決、状態確認、データの登録要求等を示すメッセージ内の処理対象識別子が、自らの担当する所定の数値範囲に含まれていなかった場合に、データ管理装置1がメッセージを他のデータ管理装置1へ転送するようにしている。この転送が繰り返された後、自らの担当する所定の数値範囲にメッセージ内の処理対象識別子を含むデータ管理装置1がメッセージを受信した場合、そのデータ管理装置1によって、メッセージの内容に従った処理が行われる。これによって、正常なデータ管理サービスを滞りなく行うことができる。
次に、本発明の第2の実施形態を説明する。図12は、本実施形態によるデータ管理システムの構成を示している。本実施形態では、データ管理装置1において、履歴情報記憶部14および履歴情報更新処理部112が設けられている。履歴情報記憶部14は、データ管理表記憶部13によって記憶されているデータ管理表内のデータの情報の変更履歴を示す履歴情報を記憶する。履歴情報には、使用可否の情報の変更履歴や、同一の識別子を有するエントリ数の変動履歴等が含まれる。履歴情報更新処理部112は、データ管理表更新処理部111によってデータ管理表内のデータの情報が更新された場合に、履歴情報記憶部14によって記憶されている履歴情報を更新する処理を行う。
図13は、他のデータ管理装置1等からメッセージを受信する場合のデータ管理装置1の動作を示している。図13において、図5と同一の符号が付与されたステップにおける処理は前述した通りであるので、説明を省略する。ステップS105において、メッセージ内のコマンドの内容を判断した結果、コマンドの内容が履歴確認であった場合には、処理E(履歴確認処理)が行われる(ステップS110)。
図14は処理E(履歴確認処理)の内容を示している。発信元から履歴確認が要求されている場合、メッセージ処理部110はデータ管理表記憶部13内のデータ管理表を参照し、メッセージ内の処理対象識別子と同一の識別子がデータ管理表に存在するか否かを判定する(ステップS800)。処理対象識別子と同一の識別子がデータ管理表に存在しなかった場合、メッセージ処理部110は、メッセージの発信元(メッセージを発信したユーザ端末2)に対して、処理対象識別子と同一の識別子を有するデータが存在しないことを通知するためのメッセージを生成し、通信処理部10を介してメッセージを発信元に送信する(ステップS801)。
また、処理対象識別子と同一の識別子がデータ管理表に存在した場合、メッセージ処理部110は、履歴情報記憶部14に格納されている履歴情報の中から、処理対象識別子に対応するエントリの履歴情報を抽出する。メッセージ処理部110は、抽出した履歴情報を含むメッセージを生成し、通信処理部10を介してメッセージを発信元に送信する(ステップS802)。
図15は、履歴情報の更新に係るデータ管理装置1の動作を示している。履歴情報の更新はデータ管理表更新処理と共に行われる。図15において、図10と同一の符号が付与されたステップにおける処理は前述した通りであるので、説明を省略する。ステップS604またはS605においてデータ管理表の内容(データ管理表に含まれるデータの情報)が変更された場合に、履歴情報更新処理部112は、データ管理表更新処理部111からデータ管理表の変更内容の通知を受け、履歴情報記憶部14によって記憶されている履歴情報の内容を更新する(ステップS608)。データ管理表の内容が変更されていない場合には、履歴情報の更新は行われない。
上述したように、本実施形態では、データ管理表に含まれる情報の変更履歴が履歴情報として記録される。履歴情報から、データに対するアクセスの頻度等を知ることができるので、例えばアクセスの頻度の高いデータについては、ネットワーク上にそのデータの複製データをより多く用意することによって、より効率的なデータ管理サービスを提供することが可能となる。
また、同一内容のデータが同一のデータ管理装置によって管理され、それらのデータに対するアクセス状況(履歴情報)も同一のデータ管理装置によって管理されるので、ネットワーク上に存在する同一内容のデータの数に関係なく、アクセス状況が一元的に管理され、管理が容易となる。
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
本発明の第1の実施形態によるデータ管理システムの構成を示すブロック図である。 本発明の第1の実施形態における経路表の内容を示す参考図である。 本発明の第1の実施形態におけるデータ管理表の内容を示す参考図である。 本発明の第1の実施形態におけるメッセージの構造を示す参考図である。 本発明の第1の実施形態によるデータ管理装置の動作の手順を示すフローチャートである。 本発明の第1の実施形態によるデータ管理装置の動作(名前解決処理)の手順を示すフローチャートである。 本発明の第1の実施形態によるデータ管理装置の動作(状態確認処理)の手順を示すフローチャートである。 本発明の第1の実施形態によるデータ管理装置の動作(登録処理)の手順を示すフローチャートである。 本発明の第1の実施形態によるデータ管理装置の動作(その他の処理)の手順を示すフローチャートである。 本発明の第1の実施形態によるデータ管理装置の動作(データ管理表更新処理)の手順を示すフローチャートである。 本発明の第1の実施形態によるデータファイル蓄積装置の動作の手順を示すフローチャートである。 本発明の第2の実施形態によるデータ管理システムの構成を示すブロック図である。 本発明の第2の実施形態によるデータ管理装置の動作の手順を示すフローチャートである。 本発明の第2の実施形態によるデータ管理装置の動作の手順(履歴確認処理)を示すフローチャートである。 本発明の第2の実施形態によるデータ管理装置の動作の手順(データ管理表更新処理)を示すフローチャートである。 循環するハッシュ空間における識別子の配置の様子を示す参考図である。
符号の説明
1・・・データ管理装置、2・・・ユーザ端末、3・・・データファイル蓄積装置、10,30・・・通信処理部、11,31・・・処理部、12・・・経路表記憶部、13・・・データ管理表記憶部、14・・・履歴情報記憶部、32・・・データファイル蓄積部、110・・・メッセージ処理部、111・・・データ管理表更新処理部、112・・・履歴情報更新処理部、400・・・通信ネットワーク

Claims (7)

  1. コンピュータネットワーク上に分散して存在し、識別子が付与されているデータのうち、所定の数値範囲内の識別子が付与されたデータを管理するデータ管理装置において、
    処理対象のデータの情報を含むメッセージを受信し、前記メッセージの内容に従った処理を実行するメッセージ処理手段と、
    前記所定の数値範囲内の識別子が付与されたデータの情報を記憶するデータ管理情報記憶手段と、
    を備えており、同一内容のデータに対して同一の識別子が付与されていることを特徴とするデータ管理装置。
  2. 受信した前記メッセージがデータの登録要求を示しており、前記メッセージが示す登録対象のデータの識別子が前記所定の数値範囲に含まれる場合には、前記メッセージ処理手段は前記登録対象のデータの情報を前記データ管理情報記憶手段に格納することを特徴とする請求項1に記載のデータ管理装置。
  3. 受信した前記メッセージがデータの情報要求を示しており、前記メッセージが示す情報要求対象のデータの識別子が前記所定の数値範囲に含まれる場合には、前記メッセージ処理手段は、前記情報要求対象のデータの情報を前記データ管理情報記憶手段から読み出し、前記メッセージの発信元へ送信することを特徴とする請求項1または請求項2に記載のデータ管理装置。
  4. 前記所定の数値範囲内の識別子が付与されたデータの状態確認を、当該データを記憶するデータ記憶装置に要求するための状態確認メッセージを前記データ記憶装置へ送信し、前記状態確認メッセージに対する前記データ記憶装置からの返答メッセージを受信し、前記返答メッセージの内容に基づいて、前記データ管理情報記憶手段によって記憶されている情報を更新するデータ管理情報更新手段をさらに備えたことを特徴とする請求項1〜請求項3のいずれかに記載のデータ管理装置。
  5. 前記データ管理情報記憶手段によって記憶されている情報の変更履歴を示す履歴情報を記憶する履歴情報記憶手段と、
    前記データ管理情報更新手段によって情報が更新された場合に、前記履歴情報記憶手段によって記憶されている前記履歴情報を更新する履歴情報更新手段と、
    をさらに備えたことを特徴とする請求項4に記載のデータ管理装置。
  6. 受信した前記メッセージがデータの履歴要求を示しており、前記メッセージが示す履歴要求対象のデータの識別子が前記所定の数値範囲に含まれる場合には、前記メッセージ処理手段は前記履歴要求対象のデータの前記履歴情報を前記履歴情報記憶手段から読み出し、前記メッセージの発信元へ送信することを特徴とする請求項5に記載のデータ管理装置。
  7. 受信した前記メッセージが示す登録対象のデータの識別子が前記所定の数値範囲に含まれない場合には、前記メッセージ処理手段は前記メッセージを他のデータ管理装置へ転送することを特徴とする請求項2、請求項3、請求項6のいずれかに記載のデータ管理装置。

JP2006142403A 2006-05-23 2006-05-23 データ管理装置 Pending JP2007316696A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006142403A JP2007316696A (ja) 2006-05-23 2006-05-23 データ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006142403A JP2007316696A (ja) 2006-05-23 2006-05-23 データ管理装置

Publications (1)

Publication Number Publication Date
JP2007316696A true JP2007316696A (ja) 2007-12-06

Family

ID=38850529

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006142403A Pending JP2007316696A (ja) 2006-05-23 2006-05-23 データ管理装置

Country Status (1)

Country Link
JP (1) JP2007316696A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368230A (zh) * 2020-02-19 2020-07-03 北京邮电大学 一种基于区块链的工业互联网标识的处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005071115A (ja) * 2003-08-25 2005-03-17 Japan Science & Technology Agency P2p環境におけるオブジェクトの登録検索方法及びプログラム
JP2005252986A (ja) * 2004-03-08 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> 動的なネットワークにおけるサービス選択方法およびサービス選択システム
JP2005267484A (ja) * 2004-03-22 2005-09-29 Nippon Hoso Kyokai <Nhk> オブジェクト接続先通知装置、オブジェクト接続要求端末、ならびに、オブジェクト接続先通知プログラム、オブジェクト接続要求プログラム
JP2005354364A (ja) * 2004-06-10 2005-12-22 Nippon Telegr & Teleph Corp <Ntt> 分散型データ処理/管理装置及びその方法
JP2006059133A (ja) * 2004-08-20 2006-03-02 Brother Ind Ltd 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等
JP2007233488A (ja) * 2006-02-27 2007-09-13 Brother Ind Ltd 登録装置、登録方法及び登録処理プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005071115A (ja) * 2003-08-25 2005-03-17 Japan Science & Technology Agency P2p環境におけるオブジェクトの登録検索方法及びプログラム
JP2005252986A (ja) * 2004-03-08 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> 動的なネットワークにおけるサービス選択方法およびサービス選択システム
JP2005267484A (ja) * 2004-03-22 2005-09-29 Nippon Hoso Kyokai <Nhk> オブジェクト接続先通知装置、オブジェクト接続要求端末、ならびに、オブジェクト接続先通知プログラム、オブジェクト接続要求プログラム
JP2005354364A (ja) * 2004-06-10 2005-12-22 Nippon Telegr & Teleph Corp <Ntt> 分散型データ処理/管理装置及びその方法
JP2006059133A (ja) * 2004-08-20 2006-03-02 Brother Ind Ltd 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等
JP2007233488A (ja) * 2006-02-27 2007-09-13 Brother Ind Ltd 登録装置、登録方法及び登録処理プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368230A (zh) * 2020-02-19 2020-07-03 北京邮电大学 一种基于区块链的工业互联网标识的处理方法及装置
CN111368230B (zh) * 2020-02-19 2024-05-10 北京邮电大学 一种基于区块链的工业互联网标识的处理方法及装置

Similar Documents

Publication Publication Date Title
JP4274231B2 (ja) 中継サーバおよび中継通信システム
US8032583B2 (en) Apparatus and method for providing peer-to-peer proxy services in peer-to-peer communications
US8195764B2 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
JP4661774B2 (ja) 中継サーバ
JP5125087B2 (ja) 中継サーバ
JP2008148046A (ja) 中継サーバおよび中継通信システム
JP5847185B2 (ja) コンテンツ中心のネットワーク環境でグループ変更に関する情報を用いるコンテンツ共有方法及び装置
JPH11224219A (ja) 分散キャッシュ制御方法及び分散制御装置及び分散キャッシュシステム及び分散キャッシュ制御プログラムを格納した記憶媒体
JP2008533879A (ja) 身元情報とディレクトリ管理とを備える通信方法及びシステム
EP2070261A2 (en) Internetworking nodes based on connections, membership, and location
US20080133776A1 (en) Discovery apparatus and method
JP2011211543A (ja) 情報通信システム、情報処理装置、情報処理方法、及び情報処理プログラム
JP5526780B2 (ja) 負荷分散システム、サービス処理サーバ、負荷分散方法及び負荷分散プログラム
JP2007316696A (ja) データ管理装置
JP4272105B2 (ja) ストレージグループ設定方法および装置
JP5117739B2 (ja) 情報管理装置
CN108011991B (zh) 数据流转发方法、主控板、接口板、引擎板及分布式防火墙
JP4633680B2 (ja) データ管理装置
JP2007249913A (ja) データ管理装置、データ管理プログラム、および記録媒体
WO2012133211A1 (ja) データ転送装置及びデータ転送方法
JP2007148882A (ja) コンテンツ配信システム
JP2008176376A (ja) データ管理システムおよびデータ管理装置
JP4455209B2 (ja) 情報処理装置
JP4282644B2 (ja) 電話交換機主装置、電話交換機システム及び電話帳データ管理方法
JP2007334638A (ja) データ管理装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070905

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110712

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110912

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120221