(57)【要約】【課題】ネットワーク上で希望するデータを検索するためのトラヒックを削減する。【解決手段】ネットワークに接続される通信装置においてプロセッサにより実行される通信方法は、データの属性情報およびアクセス情報を含むメタデータを受信し、メタデータを第１の記憶部に保存し、メタデータに含まれる属性情報からキーワードを抽出し、属性情報から抽出したキーワードとメタデータを識別する情報とを対応づけたインデックス情報を第２の記憶部に保存し、第２の記憶部に保存されるインデックス情報の量が所定の閾値以上であるときに、メタデータの送信の停止を要求する停止要求をネットワーク上の参加ノードに送信する。【選択図】図３
2020095434.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続される通信装置において、
データの属性情報および前記データのアクセス情報を含むメタデータを受信し、
前記メタデータを第１の記憶部に保存し、
前記メタデータに含まれる属性情報からキーワードを抽出し、
前記属性情報から抽出したキーワードと前記メタデータを識別する情報とを対応づけたインデックス情報を第２の記憶部に保存し、
前記第２の記憶部に保存されるインデックス情報の量が所定の閾値以上であるときに、メタデータの送信の停止を要求する停止要求を前記ネットワーク上の参加ノードに送信する
処理をプロセッサに実行させる通信プログラム。
【請求項２】
前記停止要求は、メタデータの送信の停止を要求すると共に、前記停止要求が前記参加ノードに送信された後に前記参加ノードにおいて前記ネットワークに提供されたデータの数を表すデータ数情報の送信を要求する
ことを特徴とする請求項１に記載の通信プログラム。
【請求項３】
前記停止要求が前記参加ノードに送信された後に前記参加ノードにおいて前記ネットワークに提供されたデータの数を表すデータ数情報を、前記参加ノードから受信したときに、前記参加ノードを識別する情報に対応づけて前記データ数情報を記録し、
ユーザにより入力された検索キーワードが前記第２の記憶部に保存されているインデックス情報に含まれているときは、前記第１の記憶部から前記検索キーワードに対応するメタデータを取得して前記ユーザに提供し、
前記検索キーワードが前記第２の記憶部に保存されているインデックス情報に含まれていないときは、前記データ数情報に基づいて特定される参加ノードに前記検索キーワードの検索を依頼する
処理を前記プロセッサにさらに実行させる請求項１に記載の通信プログラム。
【請求項４】
前記検索キーワードが前記第２の記憶部に保存されているインデックス情報に含まれていないときは、前記データ数情報を参照し、前記停止要求が前記参加ノードに送信された後に提供されたデータの数が最も多い参加ノードに前記検索キーワードの検索を依頼する
ことを特徴とする請求項３に記載の通信プログラム。
【請求項５】
ネットワークに接続される通信装置であって、
データの属性情報および前記データのアクセス情報を含むメタデータを受信する受信部と、
前記受信部により受信されたメタデータを保存する記憶部と、
前記メタデータに含まれる属性情報からキーワードを抽出し、前記キーワードと前記メタデータを識別する情報とを対応づけたインデックス情報を前記記憶部に保存するインデックス作成部と、
前記記憶部に保存されるインデックス情報の量が所定の閾値以上であるときに、メタデータの送信の停止を要求する停止要求を前記ネットワーク上の参加ノードに送信する停止要求部と、
を備える通信装置。
【請求項６】
ネットワークを介して接続される第１の通信装置および第２の通信装置を含む通信システムにおいて使用される通信方法であって、
前記第１の通信装置は、
データの属性情報および前記データのアクセス情報を含むメタデータを受信し、
前記メタデータを第１の記憶部に保存し、
前記メタデータに含まれる属性情報からキーワードを抽出し、
前記属性情報から抽出したキーワードと前記メタデータを識別する情報とを対応づけたインデックス情報を第２の記憶部に保存し、
前記第２の記憶部に保存されるインデックス情報の量が所定の閾値以上であるときに、メタデータの送信の停止を要求する停止要求を前記第２の通信装置および前記ネットワーク上の各参加ノードに送信し、
前記第２の通信装置は、
前記第１の通信装置から前記停止要求を受信する前は、前記第２の通信装置を介して前記ネットワークに提供されるデータのメタデータを前記第１の通信装置に送信し、
前記第１の通信装置から前記停止要求を受信した後は、前記第１の通信装置へのメタデータの送信を停止すると共に、前記停止要求を受信した後に前記第２の通信装置を介して前記ネットワークに提供されたデータの数を表すデータ数情報を前記第１の通信装置に送信し、
前記第１の通信装置は、
前記データ数情報を前記第２の通信装置を識別する情報に対応づけて記録し、
ユーザにより入力された検索キーワードが前記第２の記憶部に保存されているインデックス情報に含まれているときは、前記第１の記憶部から前記検索キーワードに対応するメタデータを取得して前記ユーザに提供し、
前記検索キーワードが前記第２の記憶部に保存されているインデックス情報に含まれていないときは、前記データ数情報に基づいて特定される参加ノードに前記検索キーワードの検索を依頼する
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法、および通信プログラムに係わる。
【背景技術】
【０００２】
近年、データ流通サービスが普及し始めている。データ流通サービスにおいては、データ提供者は、自分が所有するデータをデータ流通ネットワークに提供することができる。また、データ利用者は、データ流通ネットワークに提供されているデータを利用することができる。
【０００３】
データ流通ネットワークの規模が大きくなると、希望するデータが格納されているサーバを検索することが難しくなる。このため、データ流通ネットワークに提供されるデータに対してメタデータが作成される。メタデータは、提供されるデータのアクセス情報および属性情報を含む。そして、メタデータは、１または複数のゲートウェイに配布される。なお、ゲートウェイは、例えば、各企業が運用する企業ネットワークにそれぞれ実装される。
【０００４】
ゲートウェイは、データ利用者から希望するデータに係わる検索リクエストを受け付けたときは、そのリクエストに対応するメタデータをデータ利用者に提供する。ただし、ゲートウェイは、データ利用者から受け付けたリクエストに対応するメタデータを保持していないときは、他のゲートウェイから対応するメタデータを取得してデータ利用者に提供する。このとき、ゲートウェイは、例えば、データ流通ネットワークに接続する全ゲートウェイに検索リクエストをブロードキャストする。
【０００５】
データ利用者は、取得したメタデータに含まれる属性情報に基づいて、データが有用であるか否かを判定する。そして、データ利用者は、データが有用であると判定すると、アクセス情報を利用してそのデータが保存されているサイトにアクセスする。これにより、データ利用者は、希望するデータを利用できる。
【０００６】
なお、他拠点のサーバコンピュータが停止していても、自部門のサーバコンピュータを介してデータベースが使用可能な分散型データベース装置が提案されている（例えば、特許文献１）。分散型データベース管理システムにおいて、特定サイトのサーバに対するアクセス集中による負荷の増大を回避する技術が提案されている（例えば、特許文献２）。大容量ストレージが不要であり、かつ、データ検索を非常に高速に実行する技術が提案されている（例えば、特許文献３）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−０５５３０１号公報
【特許文献２】特開平１０−１１６２９３号公報
【特許文献３】特開２００６−２９３４４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したデータ流通ネットワークにおいては、提供されるデータのメタデータが１または複数のゲートウェイに配布される。この場合、メタデータは、例えば、ブロックチェーン等の分散台帳により管理される。分散台帳においては、複数のコンピュータがネットワーク上のトランザクションを検証し、合意が形成されたトランザクションのみが記録される。このため、ネットワーク全体を管理するサーバを設けることなく、信頼性の高いシステムが構築される。
【０００９】
ところが、メタデータが分散して管理される構成では、希望するデータのメタデータがどのノードに保持されているのかを特定することは困難である。このため、データ流通ネットワークの規模が大きくなると、全参加ノードにブロードキャストされる検索リクエストに係わるトラヒックが増大する。
【００１０】
この問題は、例えば、各参加ノード（すなわち、各ゲートウェイ）が保持するメタデータの量を増やせば解決し得る。しかし、ゲートウェイの管理者によっては、メタデータを保持するためのメモリ容量を大きくしたくないことがある。このため、一部のゲートウェイが大量のメタデータを保持しても、他のゲートウェイが少量のメタデータしか保持しなければ、検索リクエストのブロードキャストに起因するトラヒック量はさほど削減されない。
【００１１】
本発明の１つの側面に係わる目的は、ネットワーク上で希望するデータを検索するためのトラヒックを削減することである。
【課題を解決するための手段】
【００１２】
本発明の１つの態様の通信方法は、ネットワークに接続される通信装置においてプロセッサにより実行される。通信方法は、データの属性情報および前記データのアクセス情報を含むメタデータを受信し、前記メタデータを第１の記憶部に保存し、前記メタデータに含まれる属性情報からキーワードを抽出し、前記属性情報から抽出したキーワードと前記メタデータを識別する情報とを対応づけたインデックス情報を第２の記憶部に保存し、前記第２の記憶部に保存されるインデックス情報の量が所定の閾値以上であるときに、メタデータの送信の停止を要求する停止要求を前記ネットワーク上の参加ノードに送信する。
【発明の効果】
【００１３】
上述の態様によれば、ネットワーク上で希望するデータを検索するためのトラヒックが削減される。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係わる通信システムの一例を示す図である。
【図２】メタデータの一例を示す図である。
【図３】ゲートウェイ装置の構成の一例を示す図である。
【図４】メタデータテーブルの一例を示す図である。
【図５】データ流通ネットワークにおいてメタデータが送信されるシーケンスの一例を示す図である。
【図６】メタデータを受信したゲートウェイ装置の処理の一例を示すフローチャートである。
【図７】データ提供者からメタデータの登録要求を受信したゲートウェイ装置の処理の一例を示すフローチャートである。
【図８】データ利用者から検索要求を受信したゲートウェイ装置の処理の一例を示すフローチャートである。
【図９】他の参加ノードから検索依頼を受信したゲートウェイ装置の処理の一例を示すフローチャートである。
【図１０】ゲートウェイ装置として動作するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１５】
図１は、本発明の実施形態に係わる通信システムの一例を示す。本発明の実施形態に係わる通信システム１００は、複数のゲートウェイ装置１（１ａ〜１ｄ）を含む。そして、各ゲートウェイ装置１は、データ流通ネットワーク２に接続される。データ流通ネットワーク２は、例えば、複数のルータにより構成されてもよい。また、データ流通ネットワーク２は、データ流通サービスに係わるデータおよび情報を転送する仮想的なネットワークであってもよい。
【００１６】
各ゲートウェイ装置１は、企業ネットワーク３とデータ流通ネットワーク２との間に実装される。なお、企業ネットワーク３ａ〜３ｄは、それぞれ企業Ａ〜Ｄにより使用される私設ネットワーク（例えば、ＬＡＮ及び／又はＷＡＮ）である。また、ゲートウェイ装置１ａ〜１ｄは、それぞれ企業Ａ〜Ｄにより管理されてもよい。
【００１７】
各企業ネットワーク３には、１または複数の端末装置４が接続される。端末装置４は、例えば、企業内のユーザが使用するコンピュータである。或いは、端末装置４は、企業内で管理されるサーバコンピュータであってもよい。図１に示す例では、企業ネットワーク３ａにおいて、端末装置４ａがゲートウェイ装置１ａに接続されている。また、企業ネットワーク３ｂにおいて、端末装置４ｂがゲートウェイ装置１ｂに接続されている。
【００１８】
各ユーザは、自分が所有するデータをデータ流通ネットワーク２に提供できる。すなわち、各ユーザは、データ流通ネットワーク２を利用して、自分が所有するデータを他のユーザに提供できる。また、各ユーザは、データ流通ネットワーク２を利用して、他のユーザから提供されるデータを取得できる。
【００１９】
この実施例では、企業Ａに属するユーザ（以下、データ提供者）がデータ流通ネットワーク２にデータＤ１を提供するものとする。端末装置４ａは、データ提供者が使用するコンピュータである。また、企業Ｂに属するユーザ（以下、データ利用者）がデータ流通ネットワーク２を利用してデータＤ１を利用するものとする。なお、端末装置４ｂは、データ利用者が使用するコンピュータである。
【００２０】
データ提供者は、データＤ１の公開先を指定できる。すなわち、データ提供者は、データＤ１を利用できるユーザを指定できる。この実施例では、データ提供者は、企業Ｂおよび企業Ｃのユーザに対してデータＤ１の利用を許可するものとする。
【００２１】
また、データ提供者は、データＤ１をデータ流通ネットワーク２に提供するときに、データＤ１のメタデータ（以下、メタデータＭＤ１）を作成する。メタデータＭＤ１は、データＤ１のアクセス情報および属性情報を含む。アクセス情報は、データＤ１にアクセスするための情報を表す。よって、メタデータＭＤ１のアクセス情報は、例えば、データＤ１が格納されている記憶領域のアドレスまたはＵＲＬ等を表す。属性情報は、データＤ１の概要を説明する情報を含む。具体的には、メタデータＭＤ１の属性情報は、例えば、データＤ１がどのような情報を含むのかを記述する。
【００２２】
図２は、メタデータの一例を示す。この実施例では、メタデータＭＤ１は、データ提供者ＩＤ、アクセス情報、公開先ノード、説明（description）を含む。データ提供者ＩＤは、データＤ１を提供するユーザのＩＤを表す。アクセス情報は、データＤ１が格納されているサイトの情報（例えば、ＵＲＬ）を表す。公開先ノードは、データＤ１を利用可能なユーザを表し、データ提供者により指定される。説明は、データＤ１の内容を簡潔に記述している。
【００２３】
データ提供者は、データＤ１をデータ流通ネットワーク２に提供するときに、データＤ１について作成したメタデータＭＤ１をゲートウェイ装置１ａに送信する。そうすると、ゲートウェイ装置１ａは、データ提供者から受信したメタデータＭＤ１を、ゲートウェイ装置１ａ内の所定のメモリ領域に登録する。すなわち、メタデータＭＤ１がゲートウェイ装置１ａに登録される。また、ゲートウェイ装置１ａは、メタデータＭＤ１において公開先ノードとして指定されている各参加ノードにメタデータＭＤ１を送信する。図２に示す例では、公開先ノードとして企業Ｂおよび企業Ｃが指定されている。この場合、ゲートウェイ装置１ａは、ゲートウェイ装置１ｂおよびゲートウェイ装置１ｃにメタデータＭＤ１を送信する。このとき、ゲートウェイ装置１ａは、ゲートウェイ装置１ｄにはメタデータＭＤ１を送信しない。なお、「参加ノード」は、データ流通ネットワーク２が提供するデータ流通サービスに参加するユーザが実装されるノードを表す。
【００２４】
各ゲートウェイ装置１は、他のノードからメタデータＭＤ１を受信すると、メタデータの登録処理を実行する。以下の記載では、ゲートウェイ装置１ｂがゲートウェイ装置１ａからメタデータＭＤ１を受信したときの登録処理について記載する。
【００２５】
図３は、ゲートウェイ装置１の構成の一例を示す。ゲートウェイ装置１は、図３に示すように、受信部１１、送信部１２、制御部１３、記憶部１４、インタフェース１５を備える。なお、ゲートウェイ装置１は、図３に示してない他の回路または機能を備えていてもよい。
【００２６】
受信部１１は、他の参加ノード（ここでは、ゲートウェイ装置１ａ、１ｃ、１ｄ）から送信されるデータおよび／または情報を、データ流通ネットワーク２を介して受信する。送信部１２は、データ流通ネットワーク２を介して、他の参加ノードにデータおよび／または情報を送信する。インタフェース１５は、企業ネットワーク３に接続される。
【００２７】
制御部１３は、ゲートウェイ装置１の動作を制御する。また、制御部１３は、後述するインデックス作成部２１、停止要求作成部２２、検索部２３を備える。なお、制御部１３は、図３に示してない他の機能を備えていてもよい。記憶部１４は、メタデータ記憶部３１を含む。また、記憶部１４には、メタデータテーブル３２およびデータ数テーブル３３が保存される。
【００２８】
上記構成のゲートウェイ装置１ｂにおいて、ゲートウェイ装置１ａから送信されたメタデータＭＤ１は、受信部１１により受信される。受信部１１は、受信したメタデータＭＤ１を制御部１３に渡す。
【００２９】
制御部１３は、受信したメタデータＭＤ１をメタデータ記憶部３１に保存する。なお、メタデータ記憶部３１には、ゲートウェイ装置１ｂが他の参加ノードが受信したメタデータが保存される。また、制御部１３は、ゲートウェイ装置１ｂの配下のユーザ（即ち、企業ネットワーク３ｂに接続するユーザ）から受信するメタデータもメタデータ記憶部３１に保存する。
【００３０】
インデックス作成部２１は、受信したメタデータのインデックス情報を作成する。具体的には、インデックス作成部２１は、メタデータＭＤ１の属性情報からキーワードを抽出する。そして、インデックス作成部２１は、属性情報から抽出したキーワードとメタデータを識別する情報とを対応づけたインデックス情報を生成する。インデックス作成部２１により作成されたインデックス情報は、メタデータテーブル３２に登録される。
【００３１】
例えば、ゲートウェイ装置１ｂが図２に示すメタデータＭＤ１を受信したときは、インデックス作成部２１は、属性情報中の「説明」からキーワードを抽出する。なお、与えられた文から重要と考えられる単語を抽出する方法は、特に限定されるものではなく、任意の公知の技術により実現され得る。この例では、抽出処理により、「顧客」「年齢」「性別」「コンビニエンスストア」「購入履歴」が抽出されるものとする。この場合、インデックス作成部２１は、図４に示すように、メタデータＭＤ１に係わるインデックス情報をメタデータテーブル３２に登録する。尚、メタデータテーブル３２に記録される「ＩＤ」は、メタデータを識別する情報に代わりに、メタデータにより記述されるデータを識別する情報であってもよい。
【００３２】
上述の登録処理は、メタデータを受信した各ゲートウェイ装置１により実行される。例えば、メタデータＭＤ１は、ゲートウェイ装置１ａからゲートウェイ装置１ｂおよびゲートウェイ装置１ｃに送信される。したがって、ゲートウェイ装置１ｃにおいても同様の登録処理が実行される。
【００３３】
各企業ネットワーク３のユーザ（ここでは、データ利用者）は、自ノードのゲートウェイ装置１に配布されているメタデータを利用して所望のデータを探すことができる。このとき、データ利用者は、例えば、データ流通ネットワーク２から提供されるデータ検索アプリケーションを利用してキーワードを入力する。そうすると、このキーワードは、ゲートウェイ装置１により受信される。例えば、企業ネットワーク３ｂに接続されるデータ利用者が入力したキーワードは、ゲートウェイ装置１ｂにより受信される。
【００３４】
ゲートウェイ装置１ｂにおいて、検索部２３は、データ利用者から受信したキーワードでメタデータテーブル３２を検索する。このとき、検索部２３は、データ利用者から受信したキーワードを含むインデックス情報がメタデータテーブル３２に登録されているか否かを判定する。そして、このキーワードがヒットしたときは、検索部２３は、このキーワードに対応するメタデータを特定し、特定したメタデータをメタデータ記憶部３１から取得する。この後、検索部２３は、キーワードに基づいてメタデータ記憶部３１から取得したメタデータをデータ利用者に送信する。
【００３５】
例えば、図３に示す端末装置（データ利用者）４ｂにおいて、「キーワード：コンビニエンスストア ＡＮＤ 購入履歴」が入力されたときは、検索部２３は、図４に示すメタデータテーブル３２を検索することでメタデータＭＤ１を特定する。そうすると、検索部２３は、メタデータ記憶部３１からメタデータＭＤ１を取得して端末装置４ｂに送信する。
【００３６】
データ利用者は、上述のようにして、入力したキーワードに対応するメタデータを取得する。ここで、メタデータは、図２に示すように、メタデータにより記述されるデータのアクセス情報を含んでいる。したがって、データ利用者は、このアクセス情報を利用してデータを利用することができる。
【００３７】
ところが、記憶部１４のサイズは有限であり、メタデータ記憶部３１および／またはメタデータテーブル３２のサイズを小さくすることが要求されることがある。そこで、本発明の実施形態に係わるゲートウェイ装置１においては、メタデータテーブル３２のサイズの上限が設定される。なお、メタデータテーブル３２のサイズの上限が設定されると、結果的に、メタデータ記憶部３１に保存されるメタデータの量も制限される。
【００３８】
メタデータテーブル３２のサイズは、停止要求部３２によりモニタされる。すなわち、停止要求部３２は、メタデータテーブル３２にインデックス情報が追加されるごとに、メタデータテーブル３２に登録されたインデックス情報の量が所定の閾値以上であるか否かを判定する。このとき、停止要求部３２は、メタデータテーブル３２にインデックス情報が登録されたレコードの数が所定の閾値以上であるか否かを判定してもよい。
【００３９】
メタデータテーブル３２に登録されたインデックス情報の量が所定の閾値以上であるときは、停止要求部３２は、メタデータの送信の停止を要求する停止要求を生成する。そして、この停止要求は、データ流通ネットワーク２上の各参加ノードに送信される。たとえば、図１または図３に示すゲートウェイ装置１ｂにおいて停止要求が生成されたときは、ゲートウェイ装置１ｂの送信部１２は、ゲートウェイ装置１ａ、１ｃ、１ｄに停止要求を送信する。
【００４０】
各ゲートウェイ装置１は、停止要求を受信すると、その停止要求の送信元ノードへのメタデータの送信を停止する。例えば、ゲートウェイ装置１ａがゲートウェイ装置１ｂから停止要求を受信したときは、ゲートウェイ装置１ａは、ゲートウェイ装置１ｂへのメタデータの送信を停止する。ただし、ゲートウェイ装置１ａは、ゲートウェイ装置１ｂ以外のゲートウェイ装置１へのメタデータの送信は停止しない。
【００４１】
また、停止要求を受信したゲートウェイ装置１は、データ数情報を生成する。データ数情報は、ゲートウェイ装置１が停止要求を受信した後にそのゲートウェイ装置１の配下のユーザからデータ流通ネットワーク２に提供されたデータの数を表す。そして、停止要求を受信したゲートウェイ装置１は、生成したノード数情報を、停止要求の送信元ノードへ送信する。例えば、ゲートウェイ装置１ａがゲートウェイ装置１ｂから停止要求を受信したときは、ゲートウェイ装置１ａは、データ数情報を生成してゲートウェイ装置１ｂに送信する。このとき、ゲートウェイ装置１ａは、データ流通ネットワーク２に新たに提供されたデータのうち、ゲートウェイ装置１ｂに公開されるデータの数を表すデータ数情報を生成してもよい。この場合、データ数情報は、データ流通ネットワーク２に新たに提供されたデータのうち、停止要求の送信元ノードに公開されるデータの数を表す。
【００４２】
データ数情報は、例えば、ゲートウェイ装置１がユーザから新たなデータに対応するメタデータを受信するごとに生成または更新される。この場合、ゲートウェイ装置１は、データ数情報が生成または更新されるごとに、最新のデータ数情報を停止要求の送信元ノードへ送信してもよい。或いは、ゲートウェイ装置１は、定期的に、最新のデータ数情報を停止要求の送信元ノードへ送信してもよい。この場合、データ数情報は、例えば、１時間ごとに生成され送信される。
【００４３】
図５は、データ流通ネットワーク２においてメタデータが送信されるシーケンスの一例を示す。この例では、企業Ａに属するユーザ（データ提供者）からデータ流通ネットワーク２にデータが提供されるものとする。この場合、各データに対応するメタデータは、データ提供者からゲートウェイ装置１ａに送信される。なお、各データは、企業Ｂおよび企業Ｃに公開されるものとする。
【００４４】
この場合、ゲートウェイ装置１ａは、各データに対応するメタデータをゲートウェイ装置１ｂ、１ｃに送信する。そうすると、各ゲートウェイ装置１ｂ、１ｃは、受信したメタデータをメタデータ記憶部３１に保存すると共に、受信したメタデータのインデックス情報を作成してメタデータテーブル３２に登録する。なお、ゲートウェイ装置１ａも、メタデータをメタデータ記憶部３１に保存すると共に、そのメタデータのインデックス情報を作成してメタデータテーブル３２に登録する。
【００４５】
ゲートウェイ装置１ｂにおいて、メタデータテーブル３２に保存されるインデックス情報の量が閾値以上になったものとする。そうすると、ゲートウェイ装置１ｂは、各参加ノード（図５では、ゲートウェイ装置１ａ、１ｃ）に停止要求を送信する。
【００４６】
ゲートウェイ装置１ａは、ゲートウェイ装置１ｂから停止要求を受信した後は、ゲートウェイ装置１ｂへのメタデータに送信を停止する。例えば、企業Ｂおよび企業Ｃに公開されるデータに対応するメタデータをデータ提供者から受信したときは、ゲートウェイ装置１ａは、そのメタデータをゲートウェイ装置１ｃに送信するが、ゲートウェイ装置１ｂには送信しない。図５に示す例では、ゲートウェイ装置１ａは、メタデータＭＤ２、ＭＤ３をゲートウェイ装置１ｃのみに送信している。
【００４７】
ゲートウェイ装置１ａは、ゲートウェイ装置１ｂから停止要求を受信した後にデータ提供者からデータ流通ネットワーク２に提供されるデータの数をカウントする。そして、ゲートウェイ装置１ａは、このカウント結果を表すデータ数情報を生成し、停止要求の送信元ノード（すなわち、ゲートウェイ装置１ｂ）に送信する。
【００４８】
図５に示す例では、ゲートウェイ装置１ａが停止要求を受信した後にデータ提供者により最初に提供されたデータに対してメタデータＭＤ２が登録される。この場合、ゲートウェイ装置１ａは、停止要求後に１個のデータがデータ流通ネットワーク２に提供されたことを表すデータ数情報（図５では、「データ数情報（１）」）をゲートウェイ装置１ｂに送信する。続いて、ゲートウェイ装置１ａが停止要求を受信した後にデータ提供者により２番目に提供されたデータに対してメタデータＭＤ３が登録される。この場合、ゲートウェイ装置１ａは、停止要求後に２個のデータがデータ流通ネットワーク２に提供されたことを表すデータ数情報（図５では、「データ数情報（２）」）をゲートウェイ装置１ｂに送信する。
【００４９】
ゲートウェイ装置１は、他の参加ノードからデータ数情報を受信すると、データ数テーブル３３を更新する。データ数テーブル３３は、図３に示すように、ノードＩＤおよびデータ数を対応づけて記録する。ノードＩＤは、データ数情報の送信元ノードを表す。データ数は、データ数情報により通知されるデータ数を表す。
【００５０】
このように、あるゲートウェイ装置１（以下、対象ゲートウェイ装置）においてメタデータテーブル３２に保存されるインデックス情報の量が閾値以上になると、対象ゲートウェイ装置は、各参加ノードに停止要求を送信する。そうすると、以降、対象ゲートウェイ装置は、各参加ノードからメタデータを受信しなくなる。すなわち、参加ノードにおいて対象ゲートウェイ装置宛てのメタデータが存在しても、そのメタデータは対象ゲートウェイ装置には送信されない。このとき、参加ノードのゲートウェイ装置は、停止要求が無ければ対象ゲートウェイ装置に送信するはずだったメタデータの数を表すデータ数情報を対象ゲートウェイ装置に送信する。したがって、対象ゲートウェイ装置のデータ数テーブル３３に記録されるデータ数は、参加ノードごとに、本来であれば対象ゲートウェイ装置に送信されたはずであるにもかかわらず、対象ゲートウェイ装置に送信されることなく参加ノードに保存されているメタデータの数を表す。
【００５１】
データ数テーブル３３は、ゲートウェイ装置１がデータ利用者からデータ検索のためのキーワードを受信したときに参照されることがある。すなわち、ゲートウェイ装置１がデータ利用者からキーワードを受信すると、検索部２３は、そのキーワードでメタデータテーブル３２を検索する。そして、このキーワードがヒットしたときは、検索部２３は、このキーワードに対応するメタデータをメタデータ記憶部３１から取得してデータ利用者に送信する。一方、キーワードがヒットしなかったときは、検索部２３は、データ数テーブル３３を参照して、検索を依頼すべき参加ノードを特定する。そして、検索部２３は、特定した参加ノードにデータ検索を依頼する。
【００５２】
一例としては、検索部２３は、データ数テーブル３３において、データ数の最も多い参加ノードを特定する。そして、検索部２３は、特定した参加ノードにデータ検索を依頼する。図３に示す例では、ノードＣが特定される。ここで、データ数テーブル３３に記録されるデータ数は、本来であればゲートウェイ装置１ｂに送信されたはずであるにもかかわらず、ゲートウェイ装置１ｂに送信されることなく参加ノードに保存されているメタデータの数を表す。すなわち、データ数の多い参加ノードは、キーワードに対応するメタデータを保持している可能性が高い。したがって、検索部２３は、ノードＣ（すなわち、ゲートウェイ装置１ｃ）にデータ検索を依頼する。ゲートウェイ装置１ｂから検索依頼を受けたゲートウェイ１ｃは、自ノード内のメタデータテーブル３２を利用して検索を実行し、検索結果をゲートウェイ装置１ｂに送信する。
【００５３】
このように、メタデータテーブル３２に保存されるインデックス情報の量が閾値以上になった後は、ゲートウェイ装置１は、他の参加ノードからメタデータを受信しない。しかし、ゲートウェイ装置１は、データ数テーブル３３を参照することにより、ユーザが希望するデータに対応するメタデータが保存されている可能性の高い参加ノードを特定することができる。この場合、検索依頼を全ノードにブロードキャストすることなく、ユーザが希望するデータに対応するメタデータを取得できる可能性が高くなる。よって、記憶部１４に保存される情報量を抑制しながら、メタデータの検索のためのトラヒック量も抑制される。
【００５４】
図６は、メタデータを受信したゲートウェイ装置１の処理の一例を示すフローチャートである。なお、ゲートウェイ装置１は、他の参加ノードまたは自ノード内のユーザからメタデータを受信することがある。
【００５５】
Ｓ１において、制御部１３は、メタデータを待ち受ける。なお、他の参加ノードから送信されるメタデータは受信部１１により受信され、自ノード内のユーザから送信されるメタデータはインタフェース１５により受信される。そして、メタデータを受信すると、制御部１３は、Ｓ２〜Ｓ８の処理を実行する。
【００５６】
Ｓ２において、制御部１３は、受信したメタデータをメタデータ記憶部３１に保存する。Ｓ３において、インデックス作成部２１は、受信したメタデータのインデックス情報を作成する。インデックス情報は、メタデータから抽出されるキーワードとそのメタデータを識別する情報を含む。作成されたインデックス情報は、Ｓ４において、メタデータテーブル３２に保存される。
【００５７】
Ｓ５において、停止要求部２２は、メタデータテーブル３２に保存されるインデックス情報の量が閾値以上であるか判定する。そして、インデックス情報の量が閾値以上であるときは、停止要求部２２は、Ｓ６において、各参加ノードに停止要求を送信する。停止要求は、メタデータの送信の停止を要求する。なお、停止要求は、メタデータの送信の停止を要求する情報に加えて、停止要求が参加ノードに送信された後に参加ノードにおいてデータ提供ネットワーク２に提供されたデータの数を表すデータ数情報の送信を要求する情報を含んでもよい。
【００５８】
停止要求を受信したゲートウェイ装置１は、以降、メタデータの送信を停止するとともに、停止要求の送信元ノードにデータ数情報を送信する。データ数情報は、停止要求を受信した後にデータ流通ネットワーク２に提供されたデータの数（或いは、停止要求を受信した後にデータ流通ネットワーク２に提供されたデータに対応するメタデータの数）を表す。
【００５９】
Ｓ７において、制御部１３は、他の参加ノードから送信されるデータ数情報を待ち受ける。そして、データ数情報を受信すると、制御部１３は、Ｓ８において、受信したデータ数情報に応じてデータ数テーブル３３を更新する。データ数テーブル３３に記録されるデータ数は、参加ノードごとに、データ数情報により通知される最新のデータ数を表す。
【００６０】
図７は、データ提供者からメタデータの登録要求を受信したゲートウェイ装置１の処理の一例を示すフローチャートである。なお、データ提供者は、自分が所有するデータをデータ流通ネットワーク２に提供するときに、そのデータのメタデータを作成してゲートウェイ装置１に登録する。
【００６１】
Ｓ１１において、制御部１３は、データ提供者によるメタデータの登録要求を待ち受ける。そして、メタデータの登録要求を受信すると、制御部１３は、Ｓ１２〜Ｓ１７の処理を実行する。
【００６２】
Ｓ１２において、制御部１３は、登録処理を実行する。この登録処理は、図６に示すＳ２〜Ｓ４の処理と実質的に同じである。すなわち、制御部１３は、自ノードのメタデータをメタデータ記憶部３１に保存し、そのメタデータのインデックス情報をメタデータテーブル３２に保存する。
【００６３】
Ｓ１３において、制御部１３は、他の参加ノードから停止要求を受信しているか否かを判定する。停止要求を受信していなければ、制御部１３は、Ｓ１４において、メタデータに対応するデータの公開先ノードに、そのメタデータを送信する。なお、データの公開先は、テータ提供者により指定され、図２に示すようにメタデータに記載されている。
【００６４】
停止要求を受信しているときは、制御部１３は、Ｓ１５において、停止要求の送信元ノード以外の公開先ノードにメタデータを送信する。Ｓ１６において、制御部１３は、ノード数情報をインクリメントする。なお、この実施例では、最新のノード数情報が記憶部１４内の所定の領域の記録されているものとする。この場合、データ数情報は、停止要求後にデータ流通ネットワーク２に提供されたデータの数の合計を表す。
【００６５】
Ｓ１７において、制御部１３は、停止要求の送信元ノードにノード数情報を送信する。ただし、制御部１３は、データ提供者からメタデータを受信する毎にデータ数情報を送信しなくてもよい。例えば、制御部１３は、メタデータの受信にかかわらず、定期的にデータ数情報を送信してもよい。また、テータ提供者からメタデータを受信する毎にノード数情報を送信するケースでは、ノード数情報は、停止要求後にデータ流通ネットワーク２に提供されたデータの数の「合計」を表すのではなく、「新たにデータが提供された」ことを表してもよい。この場合、ノード数情報により表される値は「１」である。
【００６６】
図８は、データ利用者から検索要求を受信したゲートウェイ装置１の処理の一例を示すフローチャートである。尚、データ利用者は、データ検索アプリケーションを利用して、希望するデータに係わるキーワードを入力する。そうすると、この検索キーワードは、端末装置４からゲートウェイ装置１に送信される。
【００６７】
Ｓ２１において、検索部２３は、データ利用者により入力される検索キーワードを待ち受ける。そして、検索キーワードを受信すると、検索部２３は、Ｓ２２〜Ｓ３０の処理を実行する。
【００６８】
Ｓ２２〜Ｓ２３において、検索部２３は、データ利用者により入力されるキーワードで自ノード内のメタデータテーブル３２を検索する。この検索がヒットすれば、検索部２３は、Ｓ２４において、検索キーワードに対応するメタデータをメタデータ記憶部３１から取得する。そして、検索部２３は、取得したメタデータをデータ利用者に送信する。
【００６９】
上記検索がヒットしなかったときは、検索部２３は、Ｓ２５において、停止要求部２２により停止要求が他の参加ノードに送信されているか否かを判定する。停止要求が送信されているときは、検索部２３は、Ｓ２６において、データ数テーブル３３に記録されているデータ数に応じて検索先ノードを特定する。一例としては、検索先ノードとして、データ数テーブル３３に記録されているデータ数が最も多い参加ノードを特定する。そして、検索部２３は、特定した検索先ノードに検索を依頼する。このとき、検索部２３は、データ利用者により入力された検索キーワードを検索先ノードに送信する。
【００７０】
なお、検索依頼を受信したゲートウェイ装置１は、与えられたキーワードに対応するメタデータを検索する。そして、この検索結果は、検索依頼の送信元ノードに送信される。
【００７１】
Ｓ２７において、検索部２３は、検索先ノードのゲートウェイ装置１から検索結果を受信する。Ｓ２８において、検索部２３は、受信した検索結果がメタデータを含むか否かをチェックする。そして、受信した検索結果がメタデータを含むときは、検索部２３は、Ｓ２９において、取得したメタデータをデータ利用者に送信する。
【００７２】
受信した検索結果がメタデータを含まないときは、検索部２３は、Ｓ３０において関連処理を実行してもよい。関連処理として、検索部２３は、例えば、データ数テーブル３３においてデータ数が２番目に多い参加ノードを特定し、その参加ノードに検索を依頼してもよい。この場合、検索部２３は、メタデータが得られるまで、データ数が多い順に参加ノードにアクセスしてもよい。或いは、検索部２３は、全参加ノードに検索を依頼してもよい。これらのケースでは、関連処理の後、検索部２３の処理はＳ２７に戻る。
【００７３】
自ノード内の検索がヒットせず（Ｓ２３：Ｎｏ）、且つ、停止要求が送信されてないとき（Ｓ２５：Ｎｏ）は、検索部２３は、検索キーワードに対応するメタデータが見つからなかった旨を表すメッセージをデータ利用者に提示する。また、自ノード内の検索がヒットせず、且つ、他の参加ノードからメタデータを受信できなかったときも、同様のメッセージがデータ利用者に提示される。
【００７４】
図９は、他の参加ノードから検索依頼を受信したゲートウェイ装置１の処理の一例を示すフローチャートである。尚、検索依頼は、例えば、図８のＳ２６において送信される。また、この検索依頼は、データ利用者により入力された検索キーワードを含んでいる。
【００７５】
Ｓ３１において、制御部１３は、他の参加ノードから送信される検索依頼を待ち受ける。そして、検索依頼を受信すると、制御部１３は、Ｓ３２〜Ｓ３７の処理を実行する。
【００７６】
Ｓ３２〜Ｓ３４の処理は、図８のＳ２２〜Ｓ２４とほぼ同じである。すなわち、検索部２３は、検索キーワードで自ノード内のメタデータテーブル３２を検索する。そして、この検索がヒットすれば、検索部２３は、検索キーワードに対応するメタデータをメタデータ記憶部３１から取得する。
【００７７】
Ｓ３５において、検索部２３は、取得したメタデータに対応するデータが、検索依頼の送信元ノードに公開されているか否かをチェックする。なお、データ流通ネットワーク２に提供されるデータの公開先ノードは、図２に示すように、対応するメタデータに記載されている。そして、取得したメタデータに対応するデータが検索依頼の送信元ノードに公開されているときは、検索部２３は、Ｓ３６において、そのメタデータを検索依頼の送信元ノードに送信する。一方、取得したメタデータに対応するデータが検索依頼の送信元ノードに公開されていないときは、検索部２３は、Ｓ３７において、検索キーワードに対応するメタデータが見つからなかったことを表すメッセージを検索依頼の送信元ノードに送信する。また、Ｓ３３の検索がヒットしなかったときも、Ｓ３７において、メタデータが見つからなかったことを表すメッセージが検索依頼の送信元ノードに送信される。
【００７８】
なお、データ提供者は、データ流通ネットワーク２に提供したデータを削除できる。そして、データ提供者によりデータが削除されたときは、削除されたデータを識別する情報が各参加ノードに通知される。各参加ノードは、この通知を受信すると、対応するメタデータをメタデータ記憶部３１から削除し、そのメタデータから生成されたインデックス情報をメタデータテーブル３２から削除する。この結果、メタデータテーブル３２に保存されているインデックス情報の量が閾値より少なくなれば、停止要求部２２は、先に送信した停止要求を無効化する無効化要求を各参加ノードに送信する。無効化要求を受信した参加ノードのゲートウェイ装置１は、以降、無効化要求の送信元ノードへのメタデータの送信を再開する。
【００７９】
＜他の実施形態＞
メタデータテーブル３２に保存されているインデックス情報の量が閾値以上となったときに、制御部１３は、メタデータテーブル３２に登録されているキーワードのリストを作成し、そのリストを各参加ノードに送信してもよい。この場合、キーワードリストを受信したゲートウェイ装置１は、そのキーワードリストに含まれるキーワードに関連するメタデータを自ノード内の記憶部１４から取得し、取得したメタデータをキーワードリストの送信元ノードに送信する。この実施形態においては、データ利用者により入力されたキーワードに係わる検索は、データ利用者のノード内で実行される。
【００８０】
メタデータテーブル３２に保存されているインデックス情報の量が閾値以上となったときに、制御部１３は、他の参加ノードに停止要求を送信しなくてもよい。この場合、ゲートウェイ装置１は、他の参加ノードからメタデータを受信し続ける。そこで、ゲートウェイ装置１は、メタデータテーブル３２に保存されているインデックス情報の量が閾値以上となったときは、予め決められたルールに従って、記憶部１４に保存されている１または複数のメタデータおよびインデックス情報を廃棄してもよい。この場合、例えば、不人気データ（すなわち、検索される回数の少ないデータ）に対応するメタデータおよびインデックス情報が廃棄される。
【００８１】
図１０は、ゲートウェイ装置１として動作するコンピュータのハードウェア構成の一例を示す。コンピュータ２００は、プロセッサ２０１、メモリ２０２、記憶装置２０３、Ｉ／Ｏデバイス２０４、記録媒体デバイス２０５、通信インタフェース２０６を備える。
【００８２】
プロセッサ２０１は、記憶装置２０３に格納されている通信プログラムを実行することにより、ゲートウェイ装置１の機能を提供することができる。すなわち、プロセッサ２０１は、図６〜図９に示すフローチャートの処理を記述した通信プログラムを実行することにより、メタデータを登録する機能、メタデータにアクセスする機能などを提供する。なお、図３に示す制御部１３は、プロセッサ２０１により実現される。
【００８３】
メモリ２０２は、例えば半導体メモリであり、プロセッサ２０１の作業領域として使用される。記憶装置２０３は、コンピュータ２００内に実装されていてもよいし、コンピュータ２００に接続されていてもよい。なお、図３に示す記憶部１４は、メモリ２０２および／または記憶装置２０３により実現される。Ｉ／Ｏデバイス２０４は、ユーザまたはネットワーク管理者の指示を受け付ける。また、Ｉ／Ｏデバイス２０４は、プロセッサ２０１による処理結果を出力する。記録媒体デバイス２０５は、可搬型記録媒体２０７に記録されている信号を読み取る。なお、上述した通信プログラムは、可搬型記録媒体２０７に記録されていてもよい。通信インタフェース２０６は、ネットワークとの間のインタフェースを提供する。図３に示す受信部１１、送信部１２、インタフェース１５は、通信インタフェース２０６に相当する。
【符号の説明】
【００８４】
１（１ａ〜１ｄ）  ゲートウェイ装置
２  データ流通ネットワーク
３（３ａ〜３ｄ）  企業ネットワーク
４（４ａ、４ｂ）  端末装置
１１  受信部
１２  送信部
１３  制御部
１４  記憶部
１５  インタフェース
２１  インデックス作成部
２２  停止要求部
２３  検索部
３１  メタデータ記憶部
３２  メタデータテーブル
３３  データ数テーブル
１００  通信システム
２０１  プロセッサ
【図１】
2020095434.tif 000003
【図２】
2020095434.tif 000004
【図３】
2020095434.tif 000005
【図４】
2020095434.tif 000006
【図５】
2020095434.tif 000007
【図６】
2020095434.tif 000008
【図７】
2020095434.tif 000009
【図８】
2020095434.tif 000010
【図９】
2020095434.tif 000011
【図１０】
2020095434.tif 000012