JP2013182287A - データアクセス制御装置、データアクセス制御方法およびプログラム - Google Patents

データアクセス制御装置、データアクセス制御方法およびプログラム Download PDF

Info

Publication number
JP2013182287A
JP2013182287A JP2012043629A JP2012043629A JP2013182287A JP 2013182287 A JP2013182287 A JP 2013182287A JP 2012043629 A JP2012043629 A JP 2012043629A JP 2012043629 A JP2012043629 A JP 2012043629A JP 2013182287 A JP2013182287 A JP 2013182287A
Authority
JP
Japan
Prior art keywords
data
storage
received
storage node
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012043629A
Other languages
English (en)
Other versions
JP5867161B2 (ja
Inventor
Masaaki Takase
正明 高瀬
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012043629A priority Critical patent/JP5867161B2/ja
Priority to US13/735,157 priority patent/US9348847B2/en
Publication of JP2013182287A publication Critical patent/JP2013182287A/ja
Application granted granted Critical
Publication of JP5867161B2 publication Critical patent/JP5867161B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複数のストレージノードとの間のデータ転送量を抑制する。
【解決手段】管理情報テーブル23には、参照要求の送信を抑止するように指定されたストレージノードの識別情報と参照条件とが対応付けられている。送信処理部21は、参照条件と参照要求とを受信すると、管理情報テーブル23において受信した参照条件に対応付けられたストレージノードを除くストレージノードに対して、受信した参照条件と参照要求とを送信する。登録処理部22は、参照要求の送信先の各ストレージノードからの応答に基づいて、受信した参照条件に合致するデータが格納されていないストレージノードを判別し、判別されたストレージノードの識別情報を受信した参照条件と対応付けて管理情報テーブル23に登録する。
【選択図】図1

Description

データアクセス制御装置、データアクセス制御方法およびプログラムに関する。
近年、複数のストレージノードにデータを分散して格納するようにしたストレージシステムが知られている。このようなストレージシステムは、例えば、複数のストレージノードに対するアクセス要求を一括して受け付けるデータアクセス制御装置を備える。データアクセス制御装置は、データの格納要求を受けると、所定の論理に従ってデータの格納先のストレージノードを決定し、決定したストレージノードに対してデータを送信して、送信したデータの格納を要求する。また、データアクセス制御装置は、データの参照要求を受けると、要求されたデータが格納されているストレージノードに対して参照要求を送信し、その要求に応じて返信されたデータを参照要求元の装置に送信する。
データを分散して格納するシステムに関する技術の例として、要素データベースから検索されたデータを一時的に保存し、保存開始から一定時間内に同じデータの検索が要求された場合に、要素データベースからデータを取得せずに、保存しておいたデータを検索結果として出力するようにしたデータ検索装置がある。
また、他の例として、データ検索時にデータの属性にデータの所在情報を追加することで、検索後のデータ参照の際に、データの所在情報を問い合わせずにデータに直接アクセスできるようにしたデータアクセス装置がある。
特開2004−252789号公報 特開2007−200342号公報
上記のデータアクセス制御装置は、データの格納要求を受けたとき、所定の論理に従ってデータの格納先を振り分ける。例えば、データアクセス制御装置は、データのタイムスタンプや、データの格納を要求したユーザのユーザIDなどをキーとし、キーに基づいてデータの格納先を決定する。
データアクセス制御装置は、データの参照を要求する参照側装置から参照条件として上記のキーが指定された場合には、参照が要求されたデータが格納されているストレージノードを判別できる。しかしながら、データアクセス制御装置は、参照側装置から上記のキー以外の参照条件が指定された場合には、データが格納されているストレージノードを判別できない。この場合、データアクセス制御装置は、すべてのストレージノードに対して、指定された参照条件に合致するデータの参照を要求する。このような処理では、参照条件に合致するデータが格納されていないストレージノードにもデータの参照要求が送信されることになり、データアクセス制御装置と各ストレージノードとの間で無駄なトラフィックが発生するという問題がある。
1つの側面では、本発明は、複数のストレージノードとの間のデータ転送量を抑制することが可能なデータアクセス制御装置、データアクセス制御方法およびデータアクセス制御プログラムを提供することを目的とする。
1つの案では、複数のストレージノードに格納されたデータに対するアクセスを制御するデータアクセス制御装置が提供される。このデータアクセス制御装置は、次のような送信処理部および登録処理部を有する。送信処理部は、参照するデータを特定するための参照条件と参照要求とを受信すると、参照要求の送信を抑止するように指定されたストレージノードの識別情報と参照条件とが対応付けられた管理情報テーブルを格納する記憶手段を参照し、複数のストレージノードのうち、管理情報テーブルにおいて、受信した参照条件に対応付けられたストレージノードを除くストレージノードに対して、受信した参照条件と参照要求とを送信する。登録処理部は、送信処理部からの参照要求の送信先の各ストレージノードからの応答に基づいて、受信した参照条件に合致するデータが格納されていないストレージノードを判別し、判別されたストレージノードの識別情報を受信した参照条件と対応付けて管理情報テーブルに登録する。
また、1つの案では、上記のデータアクセス制御装置と同様の処理が実行されるデータアクセス制御方法およびデータアクセス制御プログラムが提供される。
1態様によれば、データアクセス制御装置、データアクセス制御方法およびデータアクセス制御プログラムにおいて、複数のストレージノードとの間のデータ転送量を抑制することができる。
第1の実施の形態に係るストレージシステムの構成例および処理例を示す図である。 第2の実施の形態に係るストレージシステムの全体構成例を示す図である。 データ中継装置のハードウェア構成例を示す図である。 コンテンツが格納される際のメッセージの例およびその転送の流れを示す図である。 コンテンツが参照される際のメッセージの例およびその転送の流れを示す第1の図である。 コンテンツが参照される際のメッセージの例およびその転送の流れを示す第2の図である。 第2の実施の形態におけるデータ中継装置が備える機能の構成例を示すブロック図である。 状態管理テーブルに登録される情報の例を示す図である。 属性値に合致するコンテンツの参照処理例を示す第1のシーケンス図である。 属性値に合致するコンテンツの参照処理例を示す第2のシーケンス図である。 コンテンツの格納処理例を示す第1のシーケンス図である。 コンテンツの格納処理例を示す第2のシーケンス図である。 データ中継装置の処理例を示すフローチャートである。 データ中継装置の処理例を示すフローチャートである。 第3の実施の形態におけるデータ中継装置が備える機能の構成例を示すブロック図である。 コンテンツ管理テーブルに登録される情報の例を示す図である。 第3の実施の形態において状態管理テーブルに登録される情報の例を示す図である。 コンテンツの格納処理例を示す第3のシーケンス図である。 コンテンツの格納処理例を示す第4のシーケンス図である。 属性値に合致するコンテンツの参照処理例を示す第3のシーケンス図である。 コンテンツの削除処理例を示すシーケンス図である。 データ中継装置の処理例を示すフローチャートである。 データ中継装置の処理例を示すフローチャートである。
以下、実施の形態について図面を参照して詳細に説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るストレージシステムの構成例および処理例を示す図である。図1に示すストレージシステムは、それぞれデータを格納することが可能な複数のストレージノード11〜13と、データアクセス制御装置20とを含む。
ストレージノード11〜13のそれぞれは、データアクセス制御装置20からの要求に応じて、自装置の管理下の記憶領域に格納されたデータの読み出しや、自装置の管理下の記憶領域に対するデータの格納を行う。ストレージノード11〜13のそれぞれは、例えば、データ格納サーバとして実現される。なお、本実施の形態では、ストレージノード11,12,13には、識別情報(ノードID)としてそれぞれ「N1」,「N2」,「N3」が付与されているものとする。
また、ストレージノード11〜13のそれぞれは、自装置の管理下の記憶領域に格納されたデータから、データアクセス制御装置20から通知された参照条件に合致するデータを検索して、データアクセス制御装置20に送信することができる。参照条件とは、参照するデータを特定するための情報である。参照条件の例としては、参照するデータの属性などがある。
データアクセス制御装置20は、ストレージノード11〜13に格納されたデータへのアクセスを一括して制御する装置である。例えば、データアクセス制御装置20は、参照側装置30からデータの参照要求を受信すると、参照を要求されたデータが格納されたストレージノードに対して、参照要求を送信する。データアクセス制御装置20は、参照要求の送信先のストレージノードから送信されたデータを、参照側装置30に送信する。
なお、データアクセス制御装置20に接続されるストレージノードの数および参照側装置の数は、任意である。
データアクセス制御装置20は、送信処理部21と登録処理部22とを有する。送信処理部21および登録処理部22は、管理情報テーブル23を参照または更新可能になっている。管理情報テーブル23は、例えば、データアクセス制御装置20の内部の記憶装置に格納される。
管理情報テーブル23には、参照要求の送信を抑止するように指定されたストレージノードの識別情報(ノードID)と参照条件とが、対応付けて登録される。
ここで、管理情報テーブル23に登録される参照条件は、データアクセス制御装置20がデータの格納場所を判別する処理に関係のない条件である。換言すると、データアクセス制御装置20は、参照側装置30から、管理情報テーブル23に登録された参照条件とともに参照要求を受信した場合、参照を要求されたデータが格納されているストレージノードを判別することはできない。
送信処理部21は、参照側装置30から参照要求および参照条件を受信すると、管理情報テーブル23を参照し、受信した参照条件が管理情報テーブル23に登録されているかを判定する。送信処理部21は、受信した参照条件が管理情報テーブル23に登録されている場合、ストレージノード11〜13のうち、管理情報テーブル23において受信した参照条件に対応付けられているストレージノードを除くストレージノードに対して、受信した参照条件と参照要求とを送信する。
登録処理部22は、送信処理部21からの参照要求の送信先の各ストレージノードからの応答に基づいて、送信処理部21が受信した参照条件に合致するデータが格納されていないストレージノードを判別する。登録処理部22は、判別されたストレージノードの識別情報を、送信処理部21が受信した参照条件と対応付けて管理情報テーブル23に登録する。
以下、送信処理部21および登録処理部22の処理例について、順を追って説明する。
参照側装置30は、データアクセス制御装置20に対して、参照条件「C1」と参照要求とを送信する(ステップS1)。送信処理部21は、受信した参照条件「C1」が管理情報テーブル23に登録されているかを判定する(ステップS2)。ここでは管理情報テーブル23に参照条件「C1」が登録されていなかったものとすると、送信処理部21は、ストレージノード11〜13のすべてに対して、参照条件「C1」と参照要求とを送信する(ステップS3)。
参照要求を受信したストレージノード11〜13のそれぞれは、参照条件「C1」に合致するデータを検索する。ここで、参照条件「C1」に合致するデータは、ストレージノード13には格納されているものの、ストレージノード11,12には格納されていないものとする。この場合、ストレージノード13は、参照要求に対する応答として、参照条件「C1」に合致するデータAをデータアクセス制御装置20に返信する(ステップS4)。なお、ストレージノード11,12は、例えば、受信した参照条件に合致するデータを含めていない応答情報をデータアクセス制御装置20に返信する。
データアクセス制御装置20の登録処理部22は、送信した参照条件「C1」に合致するデータがストレージノード13のみから返信されたことから、参照条件「C1」に合致するデータがストレージノード11,12には格納されていないことを認識することができる。登録処理部22は、ストレージノード11,12のそれぞれのノードIDを、参照条件「C1」に対応付けて管理情報テーブル23に登録する(ステップS5)。これとともに、登録処理部22は、ストレージノード13から受信したデータAを、参照側装置30に送信する(ステップS6)。
この状態から、例として、参照側装置30がデータアクセス制御装置20に対して、参照条件「C1」と参照要求とを送信したとする(ステップS11)。なお、参照要求元の装置は参照側装置30以外の他の装置であってもよい。
送信処理部21は、受信した参照条件「C1」が管理情報テーブル23に登録されているかを判定する(ステップS12)。このとき、管理情報テーブル23には参照条件「C1」が登録されている。このことから、送信処理部21は、管理情報テーブル23において参照条件「C1」に対応付けられているノードID「N1」,「N2」にそれぞれ対応するストレージノード11,12には参照要求を送信せず、残りのストレージノード13に対してのみ、参照条件「C1」と参照要求とを送信する(ステップS13)。
参照要求を受信したストレージノード11は、参照要求に対する応答として、参照条件「C1」に合致するデータAをデータアクセス制御装置20に返信する(ステップS14)。データアクセス制御装置20の登録処理部22は、ストレージノード13から受信したデータAを、参照側装置30に送信する(ステップS15)。
以上の処理では、送信処理部21は、参照条件と参照要求とを受信したとき、管理情報テーブル23を参照し、受信した参照条件に対応付けられたノードIDに対応するストレージノードに対する参照要求の送信を抑止する。これにより送信処理部21は、受信した参照要求に合致するデータが格納されていないストレージノードに対して参照要求を送信しなくなるので、データアクセス制御装置20とストレージノード11〜13との間のデータ転送量を抑制することができる。また、送信処理部21からの参照要求の送信数が抑制されるので、送信処理部21は、データアクセス制御装置20の処理負荷を軽減することもできる。
さらに、データアクセス制御装置20から受信した参照条件に合致するデータが格納されていないストレージノードが、そのデータを含めていない応答情報をデータアクセス制御装置20に応答するように構成された場合には、ストレージノードからデータアクセス制御装置20に返信される応答情報の数も抑制される。このため、データアクセス制御装置20とストレージノード11〜13との間のデータ転送量をさらに抑制することができる。
〔第2の実施の形態〕
図2は、第2の実施の形態に係るストレージシステムの全体構成例を示す図である。
図2に示すストレージシステムは、データ中継装置100と複数のデータ格納サーバ200a〜200cとを備える。このストレージシステムは、複数のストレージノードにデータが分散して格納される分散型のストレージシステムであり、データ格納サーバ200a〜200cは、それぞれストレージノードの一例である。なお、図2では例として3台のデータ格納サーバ200a〜200cを示すが、データ格納サーバの台数は任意である。
データ格納サーバ200a,200b,200cには、それぞれ記憶装置201a,201b,201cが接続されている。データ格納サーバ200aは、データ中継装置100からの要求に応じて、記憶装置201aに対するデータの書き込みや、記憶装置201aからのデータの読み出しを行う。データ格納サーバ200b,200cも、データ格納サーバ200aと同様の機能を備える。
データ中継装置100は、データ格納サーバ200a〜200cに対するアクセス要求を一括して受け付ける装置である。データ中継装置100は、データ発生装置からのデータの格納要求に応じて、データ格納サーバ200a〜200cのいずれかに対してデータの格納を要求する。また、データ中継装置100は、データ参照装置からの参照要求に応じて、データ格納サーバ200a〜200cのいずれかからデータを取得し、データ参照装置に送信する。
データ発生装置300a,300bは、例えば、データの格納を要求するユーザが操作する端末装置である。図2では例として2台のデータ発生装置300a,300bを示すが、データ発生装置の台数は任意である。
データ参照装置400a,400bは、例えば、データの参照を要求するユーザが操作する端末装置である。図2では例として2台のデータ参照装置400a,400bを示すが、データ参照装置の台数は任意である。
なお、データ発生装置とデータ参照装置は、例えば1台の装置として構成されてもよい。例えば、データの格納および参照のサービスが提供される場合、データ中継装置100およびデータ格納サーバ200a〜200cがサービス提供者側の装置となり、データ発生装置とデータ参照装置は、サービスの提供を受けるユーザが使用する端末装置となる。この場合、データ発生装置とデータ参照装置は共通の端末装置として実現されてもよい。
逆に、データの参照サービスが提供される場合、データ中継装置100、データ格納サーバ200a〜200cおよびデータ発生装置がサービス提供者側の装置となり、データ参照装置は、サービスの提供を受けるユーザが使用する端末装置となる。この場合、データ発生装置とデータ参照装置とは、個別の装置として実現される。
なお、図2の例では、データ中継装置100は、ネットワーク501を通じてデータ格納サーバ200a〜200cに接続されている。また、データ中継装置100は、ネットワーク502を通じてデータ発生装置300a,300bと接続されている。さらに、データ中継装置100は、ネットワーク503を通じてデータ参照装置400a,400bと接続されている。ただし、ネットワーク501〜503のうちの2つあるいはすべては、共通化されていてもよい。
図3は、データ中継装置のハードウェア構成例を示す図である。
データ中継装置100は、図3に示すようなコンピュータとして実現することができる。データ中継装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス108を介して、RAM(Random Access Memory)102と複数の周辺機器が接続されている。
RAM102は、データ中継装置100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
バス108に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106および通信インタフェース107がある。
HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、データ中継装置100の二次記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの他の種類の不揮発性記憶装置を使用することもできる。
グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aに表示させる。なお、モニタ104aは、例えば、液晶ディスプレイである。
入力インタフェース105には、キーボード105a、マウス105bなどの入力装置が接続されている。入力インタフェース105は、入力装置からの出力信号をCPU101に送信する。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク106aに記録されたデータの読み取りを行う。光ディスク106aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク106aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(Rewritable)などがある。
通信インタフェース107は、ネットワーク501〜503を通じて、他の装置との間でデータを送受信する。
以上のハードウェア構成により、本実施の形態のデータ中継装置100が実現される。なお、データ格納サーバ200a〜200c、データ発生装置300a,300bおよびデータ参照装置400a,400bについても、図3に示したようなコンピュータとして実現することができる。
次に、データ中継装置100が送受信するメッセージの例を示すとともに、データ中継装置100の基本的な動作について説明する。
図4は、コンテンツが格納される際のメッセージの例およびその転送の流れを示す図である。
データ格納サーバ200a〜200cは、データの実体である「データ値」を、「データ識別子」とともに記憶装置に格納する。データ識別子は、データに対して任意に設定されるラベルであり、例えば、ユーザID、タイムスタンプなどが用いられる。さらに、データ値には所定の属性値が付与されている。以下、データ識別子、データ値およびその属性値の組み合わせを「コンテンツ」と呼ぶ。
データ中継装置100は、データ発生装置からデータ値とともに送信されたデータ識別子に基づいて、コンテンツの格納先とするデータ格納サーバを振り分ける。コンテンツの格納先の振り分け方法としては、例えば、データ識別子を基にハッシュ値の算出などの所定の計算によって振り分ける方法や、データ格納量に余裕のあるデータ格納サーバをコンテンツの格納先と決定するとともに、格納先とデータ識別子とをテーブルなどを用いて管理する方法などがある。
図4において、例えばデータ発生装置300aがデータの格納を要求する場合、データ発生装置300aは、データ中継装置100に対して格納要求メッセージM1を送信する。格納要求メッセージM1には、「メッセージ種別」と「コンテンツ」の各項目が設けられ、メッセージ種別の項目には「格納要求」が設定される。コンテンツの項目には、コンテンツの内容、すなわち、データ識別子、データ値およびその属性値が設定される。図4の例では、データ識別値は「key1」であり、データ値は「value1」であり、属性値は「xxx」である。
データ中継装置100は、受信した格納要求メッセージM1からデータ識別子「key1」を抽出し、抽出したデータ識別子「key1」に基づいて、データ値「value1」の格納先を決定する。格納先がデータ格納サーバ200aと決定されたものとすると、データ中継装置100は、受信した格納要求メッセージM1のメッセージ種別およびコンテンツの各項目に設定されていた情報を含む格納要求メッセージM2を、データ格納サーバ200aに送信する。
格納要求メッセージM2を受信したデータ格納サーバ200aは、データ識別子「key1」とデータ値「value1」とのペアを記憶装置201aに格納した後、格納応答メッセージM3を返信する。格納応答メッセージM3には、「メッセージ種別」と「ステータス」の各項目が設けられ、メッセージ種別の項目には「格納応答」が設定される。ステータスの項目には、コンテンツの格納が正常に完了した場合には「OK」が設定され、コンテンツの格納が正常に完了しなかった場合には「NG」が設定される。
データ中継装置100は、受信した格納応答メッセージM3のメッセージ種別およびステータスの各項目に設定されていた情報を含む格納応答メッセージM4を、データ発生装置300aに送信する。
なお、図示しないが、コンテンツの削除が要求される場合は、次のような動作が行われる。
データ発生装置300aは、コンテンツの削除を要求する場合、削除要求メッセージをデータ中継装置100に送信する。削除要求メッセージには、メッセージ種別の項目に「削除要求」が設定され、コンテンツの項目にデータ識別子のみが設定される。データ中継装置100は、削除要求メッセージに設定されたデータ識別子から、コンテンツが格納されているデータ格納サーバを判別する。データ中継装置100は、判別したデータ格納サーバに対して、受信した削除要求メッセージのメッセージ種別およびコンテンツの各項目に設定されていた情報を含む削除要求メッセージを送信する。
データ格納サーバは、自装置に接続された記憶装置から、受信した削除要求メッセージに設定されているデータ識別子を含むコンテンツを削除する。データ格納サーバは、メッセージ種別の項目に「削除応答」と設定した削除応答メッセージをデータ中継装置100に送信する。この削除応答メッセージには「ステータス」の項目が設けられ、ステータスの項目には、コンテンツの削除が正常に完了した場合には「OK」が設定され、コンテンツの削除が正常に完了しなかった場合には「NG」が設定される。データ中継装置100は、受信した削除応答メッセージメッセージ種別およびステータスの各項目に設定されていた情報を含む削除応答メッセージを、データ発生装置300aに送信する。
図5は、コンテンツが参照される際のメッセージの例およびその転送の流れを示す第1の図である。データ中継装置100は、データ参照装置から、参照条件としてデータ識別子の指定を受けることで、指定されたデータ識別子に対応するデータ値がどのデータ格納サーバに格納されているかを判別することができる。
図5において、例えばデータ参照装置400aがデータ識別子「key1」を指定してデータの参照を要求する場合、データ参照装置400aは、データ中継装置100に対して参照要求メッセージM11を送信する。参照要求メッセージM11には、「メッセージ種別」と「参照条件」の各項目が設けられ、メッセージ種別の項目には「参照要求」が設定される。また、この例では、参照条件の項目にはデータ識別子「key1」が設定される。
データ中継装置100は、受信した参照要求メッセージM11からデータ識別子「key1」を抽出し、抽出したデータ識別子「key1」に基づいて、参照が要求されたデータ値が格納されているデータ格納サーバを特定する。データ値がデータ格納サーバ200aに格納されていると特定されたものとすると、データ中継装置100は、受信した参照要求メッセージM11のメッセージ種別および参照条件の各項目に設定されていた情報を含む参照要求メッセージM12を、データ格納サーバ200aに送信する。
参照要求メッセージM12を受信したデータ格納サーバ200aは、データ識別子「key1」に対応付けられたデータ値「value1」を記憶装置201aから読み出し、参照応答メッセージM13を返信する。参照応答メッセージM13には、「メッセージ種別」と「コンテンツ」の各項目が設けられ、メッセージ種別の項目には「参照応答」が設定される。コンテンツの項目には、指定されたデータ識別子「key1」とともに、記憶装置201aから読み出したデータ値「value1」が設定される。
データ中継装置100は、受信した参照応答メッセージM13のメッセージ種別およびコンテンツの各項目に設定されていた情報を含む参照応答メッセージM14を、データ参照装置400aに送信する。
なお、参照応答メッセージM13,M14には、コンテンツの項目にデータ値の属性値が付与されていてもよい。
以上のように、データ中継装置100は、データ参照装置から、参照条件としてデータ識別子の指定を受けることで、参照を要求されたデータが格納されている場所を判別できる。しかしながら、データ中継装置100は、常にデータ識別子が指定された参照要求を受け付ける訳ではない。例えば、データ格納場所を判別可能にするデータ識別子はすべてのデータ参照装置が認識している訳ではないので、データ識別子を認識していないデータ参照装置は、データ識別子以外の参照条件を指定した参照要求を送信することがある。
以下、データ識別子以外の参照条件として、データ値の属性が指定された場合のデータ参照処理について、図6を用いて説明する。図6は、コンテンツが参照される際のメッセージの例およびその転送の流れを示す第2の図である。
参照条件としてデータ値の属性を指定して参照を要求する場合、データ参照装置400aは、参照要求メッセージM21をデータ中継装置100に送信する。参照要求メッセージM21では、メッセージ種別の項目に「参照要求」が設定されるが、参照条件の項目には、データ識別子の代わりに、参照を要求するデータ値の属性値が設定される。図6の例では、参照要求メッセージM21には参照条件として属性値「xxx」が設定されている。
参照要求メッセージM21を受信したデータ中継装置100は、参照を要求されたデータ値の格納場所を特定できないことから、すべてのデータ格納サーバ200a〜200cに対して参照要求メッセージM22a〜M22cを送信する。参照要求メッセージM22a〜M22cには、参照要求メッセージM21のメッセージ種別および参照条件の各項目に設定されていた情報が設定される。
データ格納サーバ200a〜200cのそれぞれは、参照条件として属性値が指定された場合に、自装置に接続されている記憶装置から、指定された属性値に合致するコンテンツを検索する機能を備える。
図6の例では、参照要求メッセージM22aを受信したデータ格納サーバ200aは、指定された属性値「xxx」に合致するコンテンツとして、データ識別子「key1」およびデータ値「value1」を含むコンテンツと、データ識別子「key2」およびデータ値「value2」を含むコンテンツとを、記憶装置201aから読み出す。データ格納サーバ200aは、データ識別子「key1」およびデータ値「value1」を含むコンテンツと、データ識別子「key2」およびデータ値「value2」を含むコンテンツとを設定した参照応答メッセージM23aを、データ中継装置100に返信する。
また、図6の例では、参照要求メッセージM22bを受信したデータ格納サーバ200bは、指定された属性値「xxx」に合致するコンテンツとして、データ識別子「key3」およびデータ値「value3」を含むコンテンツを、記憶装置201bから読み出す。データ格納サーバ200bは、データ識別子「key3」およびデータ値「value3」を含むコンテンツを設定した参照応答メッセージM23bを、データ中継装置100に返信する。
一方、図6の例では、データ格納サーバ200cに接続された記憶装置201cには、指定された属性値「xxx」に合致するコンテンツが格納されていないものとする。この場合、データ格納サーバ200cは、コンテンツの項目に、コンテンツがないことを示す「null」を設定した参照応答メッセージM23cを、データ中継装置100に返信する。本実施の形態では、「null」はすべての値が「0」であるものとする。
データ中継装置100は、受信した参照応答メッセージM23a〜M23cに基づき、読み出されたコンテンツをマージした参照応答メッセージM24を生成して、データ参照装置400aに送信する。参照応答メッセージM24には、データ識別子「key1」およびデータ値「value1」を含むコンテンツと、データ識別子「key2」およびデータ値「value2」を含むコンテンツと、データ識別子「key3」およびデータ値「value3」を含むコンテンツとが設定される。
ところで、上記の図6で説明したように、参照条件として属性値が指定された場合、データ中継装置100は、参照が要求されたコンテンツの格納場所がわからないため、データ格納サーバ200a〜200cのすべてに対して参照要求メッセージを送信する。この処理では、該当するコンテンツが格納されていないデータ格納サーバ200cに対しても参照要求メッセージが送信されてしまうので、ネットワーク501に余計なトラフィックが発生することになる。さらに、データ格納サーバ200cは、コンテンツが設定されていない参照応答メッセージを送信するので、ネットワーク501にはさらに余計なトラフィックが発生することになる。
本実施の形態のデータ中継装置100は、上記のような無駄なメッセージの送受信ができるだけ実行されないようにする機能を備える。これにより、データ中継装置100は、参照条件として属性値が指定されたデータ参照が要求された場合のネットワーク501上のデータ転送量を抑制する。
図7は、第2の実施の形態におけるデータ中継装置が備える機能の構成例を示すブロック図である。
データ中継装置100は、インタフェース処理部111、格納処理部112、参照処理部113、応答処理部114および状態管理部115を備える。インタフェース処理部111、格納処理部112、参照処理部113、応答処理部114および状態管理部115の各処理は、例えば、データ中継装置100が備えるCPUが所定のプログラムを実行することで実現される。また、データ中継装置100の記憶装置(例えばRAM102)には、状態管理テーブル121が記録される。
インタフェース処理部111は、他の装置(すなわち、データ格納サーバ200a〜200c、データ発生装置300a,300bおよびデータ参照装置400a,400b)との間で、メッセージを送受信する。インタフェース処理部111は、例えば、他の装置から受信したメッセージを、格納処理部112、参照処理部113または応答処理部114に振り分ける。また、インタフェース処理部111は、格納処理部112、参照処理部113または応答処理部114からの指示に応じて、他の装置にメッセージを送信する。
格納処理部112は、データ発生装置からの格納要求に応じて、データ格納サーバにコンテンツの格納を要求するための処理を実行する。また、格納処理部112は、データ発生装置からの削除要求に応じて、データ格納サーバに格納されているコンテンツの削除を要求するための処理を実行する。
参照処理部113は、データ参照装置からの参照要求に応じて、データ格納サーバに格納されたコンテンツを参照するための処理を実行する。
応答処理部114は、データ格納サーバから送信された応答メッセージに応じた処理を実行する。
状態管理部115は、状態管理テーブル121への情報の登録、および状態管理テーブル121からの情報の読み出しを行う。格納処理部112、参照処理部113および応答処理部114は、状態管理部115を通じて、状態管理テーブル121への情報登録や、状態管理テーブル121からの情報の読み出しを行うことができる。
図8は、状態管理テーブルに登録される情報の例を示す図である。
状態管理テーブル121には、「サーバアドレス」および「参照条件」の各項目を有するレコードが登録される。サーバアドレスの項目には、データ格納サーバの位置を識別するための値が登録される。参照条件の項目には、データ参照装置から参照条件として指定された属性値が登録される。
この状態管理テーブル121は、参照要求の送信を抑止するデータ格納サーバを、参照条件と対応付けて管理するためのテーブル情報である。状態管理テーブル121の1つのレコードに登録されたサーバアドレスと参照条件との組み合わせは、参照要求の送信を抑止する制御状態に設定されている。データ中継装置100の参照処理部113は、参照条件として属性値が指定されたとき、指定された属性値が状態管理テーブル121に登録されていた場合には、その属性値に対応付けられているデータ格納サーバに対する参照要求の送信を抑止する。
以下、参照要求の送信を抑止する制御状態を「抑止状態」と呼ぶ。一方、状態管理テーブル121に登録されていないサーバアドレスと参照条件との組み合わせについての制御状態を「非抑止状態」と呼ぶ。
次に、本実施の形態に係るストレージシステムの処理例について、シーケンス図を用いて説明する。なお、以下の各シーケンス図では、説明を簡単にするために、データ中継装置100には2台のデータ格納サーバ200a,200bが接続されているものとする。
図9は、属性値に合致するコンテンツの参照処理例を示す第1のシーケンス図である。この図9は、抑止状態に設定されたデータ格納サーバがない場合の処理例を示す。
まず、データ参照装置400aは、参照条件として例えば属性値「xxx」を指定した参照要求メッセージをデータ中継装置100に送信する(ステップS31)。データ中継装置100は、状態管理テーブル121を参照し、制御状態をチェックする(ステップS32)。具体的には、データ中継装置100は、指定された属性値「xxx」が状態管理テーブル121に登録されているか否かを判定する。
ここでは、属性値「xxx」が状態管理テーブル121に登録されておらず、データ格納サーバ200a,200bのいずれも非抑止状態であるものとする。この場合、データデータ中継装置100は、データ格納サーバ200a,200bのそれぞれに対して、参照条件として属性値「xxx」を指定した参照要求メッセージを送信する(ステップS33)。すなわち、データ中継装置100は、データ参照装置400aから指定された属性値「xxx」に合致するコンテンツの格納場所を判別できないことから、接続されたすべてのデータ格納サーバに対して参照要求メッセージを送信する。
ここで、属性値「xxx」に合致するコンテンツは、データ格納サーバ200aに接続された記憶装置201aには格納されているものの、データ格納サーバ200bに接続された記憶装置201bには格納されていないものとする。
この場合、データ格納サーバ200aは、記憶装置201aを参照して、属性値「xxx」に合致するコンテンツを検索する(ステップS34)。データ格納サーバ200aは、属性値「xxx」に合致するコンテンツを記憶装置201aから読み出し、読み出したコンテンツを含めた参照応答メッセージをデータ中継装置100に送信する(ステップS35)。
データ中継装置100は、データ格納サーバ200aから受信した参照応答メッセージにおけるコンテンツの項目のデータサイズをチェックする(ステップS36)。ここでは、データ中継装置100は、コンテンツの項目のデータサイズが0より大きく、この項目にコンテンツが格納されていると判定する。この場合、データ中継装置100は、状態管理テーブル121に対する登録処理を何ら行わない。
一方、データ格納サーバ200bも、記憶装置201aを参照して、属性値「xxx」に合致するコンテンツを検索する(ステップS37)。しかし、データ格納サーバ200bは、属性値「xxx」に合致するコンテンツを記憶装置201bから読み出すことができず、コンテンツを含まない参照応答メッセージをデータ中継装置100に送信する(ステップS38)。
データ中継装置100は、データ格納サーバ200bから受信した参照応答メッセージにおけるコンテンツの項目のデータサイズをチェックする(ステップS39)。ここでは、データ中継装置100は、コンテンツの項目のデータサイズが0であり、この項目にコンテンツが格納されていないと判定する。
この場合、データ中継装置100は、データ格納サーバ200bと属性値「xxx」との組み合わせを抑止状態に変更する(ステップS40)。具体的には、データ中継装置100は、図8に示した状態管理テーブル121における上から2番目のレコードのように、データ格納サーバ200bのサーバアドレスを示す「サーバ2」と、参照条件としての属性値「xxx」とを対応付けたレコードを、状態管理テーブル121に登録する。
なお、データ格納サーバ200a,200bのそれぞれによる応答処理は、並行して実行される。このため、図9におけるステップS34〜S36の処理と、ステップS37〜S40の処理は、並列に実行される。
データ中継装置100は、受信したコンテンツをマージして、参照応答メッセージを作成する(ステップS41)。この例では、データ中継装置100は、データ格納サーバ200aから受信したコンテンツを含めた参照応答メッセージを作成し、作成した応答メッセージをデータ参照装置400aに送信する(ステップS42)。
次に、図10は、属性値に合致するコンテンツの参照処理例を示す第2のシーケンス図である。この図10は、上記の図9の処理が実行された後に、データ参照装置400aから再度、同じ属性値「xxx」を指定した参照要求が送信された場合の処理例を示す。
データ参照装置400aは、参照条件として属性値「xxx」を指定した参照要求メッセージをデータ中継装置100に送信する(ステップS51)。データ中継装置100は、状態管理テーブル121を参照し、制御状態をチェックする(ステップS52)。この例では、データ中継装置100は、状態管理テーブル121から、属性値「xxx」とデータ格納サーバ200bのサーバアドレス「サーバ2」とを含むレコードを抽出し、データ格納サーバ200bが抑止状態であると判定する。
データ中継装置100は、抑止状態のデータ格納サーバ200bを除く他のデータ格納サーバ(すなわち、データ格納サーバ200a)に対して、参照条件として属性値「xxx」を指定した参照要求を送信する(ステップS53)。このとき、抑止状態のデータ格納サーバ200bに対しては、参照要求が送信されない。
データ格納サーバ200aは、記憶装置201aを参照して、属性値「xxx」に合致するコンテンツを検索し(ステップS54)、属性値「xxx」に合致するコンテンツを記憶装置201aから読み出す。データ格納サーバ200aは、読み出したコンテンツを含めた参照応答メッセージをデータ中継装置100に送信する(ステップS55)。
データ中継装置100は、データ格納サーバ200aから受信した参照応答メッセージにおけるコンテンツの項目のデータサイズをチェックする(ステップS56)。ここでは、データ中継装置100は、コンテンツの項目のデータサイズが0より大きく、この項目にコンテンツが格納されていると判定するので、状態管理テーブル121に対する登録処理を何ら行わない。
データ中継装置100は、データ格納サーバ200aから受信したコンテンツを含めた参照応答メッセージを作成し(ステップS57)、作成した参照応答メッセージをデータ参照装置400aに送信する(ステップS58)。
以上の図10の処理によれば、データ中継装置100は、図9の場合とは異なり、属性値「xxx」に合致するコンテンツが格納されていないデータ格納サーバ200bに対しては、参照要求を送信しない。このため、データ格納サーバ200bから、コンテンツを含まない無駄な参照応答メッセージが送信されることもない。従って、ネットワーク501におけるデータ転送量を抑制することができる。
次に、図11は、コンテンツの格納処理例を示す第1のシーケンス図である。この図11は、コンテンツの格納先が非抑止状態である場合の処理例を示す。
まず、データ発生装置300aは、例えば、データ識別子「key2」、データ値「value2」および属性値「xxx」を設定した格納要求メッセージをデータ中継装置100に送信する(ステップS61)。データ中継装置100は、データ識別子「key2」に基づいて、コンテンツの格納先を決定する(ステップS62)。ここでは、データ中継装置100は、コンテンツの格納先をデータ格納サーバ200bと決定したものとする。
データ中継装置100は、状態管理テーブル121を参照し、制御状態をチェックする(ステップS63)。具体的には、データ中継装置100は、格納先に決定したデータ格納サーバ200bのサーバアドレスが、状態管理テーブル121に登録されているか否かを判定する。
ここでは、データ格納サーバ200bのサーバアドレスが状態管理テーブル121に登録されておらず、データ格納サーバ200bは非抑止状態であるものとする。この場合、データ中継装置100は、データ格納サーバ200bに対して、データ識別子「key2」、データ値「value2」および属性値「xxx」を設定した格納要求メッセージを送信する(ステップS64)。
格納要求メッセージを受信したデータ格納サーバ200bは、データ識別子「key2」、データ値「value2」および属性値「xxx」を含むコンテンツを、記憶装置201bの所定領域に格納する(ステップS65)。データ格納サーバ200bは、格納処理が正常に完了したことを示す格納応答メッセージをデータ中継装置100に送信する(ステップS66)。データ中継装置100は、格納処理が正常に完了したことを示す格納応答メッセージをデータ発生装置300aに送信する(ステップS67)。
図12は、コンテンツの格納処理例を示す第2のシーケンス図である。この図12は、コンテンツの格納先が抑止状態である場合の処理例を示す。
データ発生装置300aは、データ識別子「key2」、データ値「value2」および属性値「xxx」を設定した格納要求メッセージをデータ中継装置100に送信する(ステップS71)。データ中継装置100は、データ識別子「key2」に基づいて、コンテンツの格納先を例えばデータ格納サーバ200bと決定する(ステップS72)。
データ中継装置100は、状態管理テーブル121を参照し、制御状態をチェックする(ステップS73)。具体的には、データ中継装置100は、格納先に決定したデータ格納サーバ200bのサーバアドレスが、状態管理テーブル121に登録されているか否かを判定する。
ここでは、データ格納サーバ200bのサーバアドレスが状態管理テーブル121に登録されており、データ格納サーバ200bは抑止状態であるものとする。この場合、データ中継装置100は、データ格納サーバ200bの制御状態を非抑止状態に変更する(ステップS74)。
具体的には、データ中継装置100は、状態管理テーブル121から、データ格納サーバ200bのサーバアドレスを含むすべてのレコードを消去する。例えば、図8の例のように、状態管理テーブル121に、データ格納サーバ200bを示す「サーバ2」を含むレコードが3つ登録されていた場合、データ中継装置100は、これらの3つのレコードを消去する。
このステップS74では、データ中継装置100は、状態管理テーブル121における「サーバ2」を含むレコードのうち、受信した格納要求メッセージに含まれるデータ値の属性値を含むレコードのみを消去してもよい。ただし、この場合には、データ中継装置100は、消去すべきレコードを判定するために、格納要求メッセージから属性値を取得し、取得した属性値をキーとして状態管理テーブル121を検索する必要がある。
これに対して、「サーバ2」を含むすべてのレコードを消去することで、データ中継装置100は、消去すべきレコードを判定するために格納先を決定するだけでよくなり、属性値の取得や、取得した属性値をキーとした検索を行う必要がない。従って、データ中継装置100の処理負荷を軽減することができる。
この後、データ中継装置100は、データ格納サーバ200bに対して、データ識別子「key2」、データ値「value2」および属性値「xxx」を設定した格納要求メッセージを送信する(ステップS75)。格納要求メッセージを受信したデータ格納サーバ200bは、データ識別子「key2」、データ値「value2」および属性値「xxx」を含むコンテンツを、記憶装置201bの所定領域に格納する(ステップS76)。
データ格納サーバ200bは、格納処理が正常に完了したことを示す格納応答メッセージをデータ中継装置100に送信する(ステップS77)。データ中継装置100は、格納処理が正常に完了したことを示す格納応答メッセージをデータ発生装置300aに送信する(ステップS78)。
なお、データ発生装置300aからデータ識別子「key2」に該当するコンテンツの削除が要求された場合には、図11および図12の処理が次のように変形される。ステップS61,S64,S71,S75では、格納要求メッセージの代わりに、データ識別子「key2」が指定された削除要求メッセージが送信される。ステップS65,S76では、データ格納サーバ200bは、指定されたデータ識別子「key2」を含むコンテンツを記憶装置201bから削除する。ステップS66,S67,S77,S78では、格納応答メッセージの代わりに削除応答メッセージが送信される。
次に、図13,図14は、データ中継装置の処理例を示すフローチャートである。図13,図14の処理は、インタフェース処理部111がメッセージを受信するたびに実行される。なお、図13,図14では、参照条件としてデータ識別子が指定された場合の参照処理については省略する。
[ステップS91]データ中継装置100は、メッセージを受信する。インタフェース処理部111は、受信したメッセージのメッセージ種別を判別する。
[ステップS92]受信したメッセージが参照要求メッセージである場合、インタフェース処理部111は、受信したメッセージを参照処理部113に出力する。この後、ステップS93の処理が実行される。一方、受信したメッセージが参照要求メッセージでない場合には、ステップS95の処理が実行される。
[ステップS93]参照処理部113は、状態管理部115に対してデータ格納サーバごとの制御状態を問い合わせ、非抑止状態のデータ格納サーバがあるかを判定する。非抑止状態のデータ格納サーバが1台以上ある場合は、ステップS94の処理が実行される。一方、非抑止状態のデータ格納サーバがない場合には、処理が終了される。
具体的には、参照処理部113は、受信した参照要求メッセージで参照条件として指定された属性値を、状態管理部115に通知する。状態管理部115は、状態管理テーブル121から、通知された属性値を含むレコードを抽出する。状態管理部115は、抽出したレコードに含まれるサーバアドレスに対応するデータ格納サーバを、抑止状態のデータ格納サーバとして参照処理部113に通知する。
[ステップS94]参照処理部113は、インタフェース処理部111に対して、参照条件として属性値を指定した参照要求メッセージを、非抑止状態であると判定したデータ格納サーバへ送信するように指示する。インタフェース処理部111は、指示に応じて、非抑止状態であると判定されたデータ格納サーバに参照要求メッセージを送信する。
[ステップS95]受信したメッセージが格納要求メッセージである場合、インタフェース処理部111は、受信したメッセージを格納処理部112に出力する。この後、ステップS96の処理が実行される。一方、受信したメッセージが参照要求メッセージでも格納要求メッセージでもない場合には、図14のステップS100の処理が実行される。
[ステップS96]格納処理部112は、受信された格納要求メッセージからデータ識別子を取得し、取得したデータ識別子に基づいて、コンテンツの格納先とするデータ格納サーバ(以下、「格納先サーバ」と呼ぶ)を特定する。
[ステップS97]格納処理部112は、格納先サーバの制御状態を状態管理部115に問い合わせ、制御状態が抑止状態か否かを判定する。このとき、状態管理部115は、格納先サーバのサーバアドレスを含むレコードが状態管理テーブル121に登録されている場合、格納先サーバが抑止状態であると格納処理部112に通知する。一方、状態管理部115は、格納先サーバのサーバアドレスを含むレコードが状態管理テーブル121に登録されていない場合、格納先サーバが非抑止状態であると格納処理部112に通知する。
格納先サーバが抑止状態である場合には、ステップS98の処理が実行される。一方、格納先サーバが非抑止状態である場合には、ステップS99の処理が実行される。
[ステップS98]格納処理部112は、状態管理部115に対して、格納先サーバを非抑止状態に変更するように指示する。状態管理部115は、状態管理テーブル121から、格納先サーバを含むレコードをすべて消去する。
[ステップS99]格納処理部112は、インタフェース処理部111に対して、格納要求メッセージを格納先サーバへ送信するように指示する。インタフェース処理部111は、指示に応じて、格納先サーバに対して格納要求メッセージを送信する。
[ステップS100]受信したメッセージが削除要求メッセージである場合、インタフェース処理部111は、受信したメッセージを格納処理部112に出力する。この後、ステップS101の処理が実行される。一方、受信したメッセージが参照要求メッセージ、格納要求メッセージおよび削除要求メッセージのいずれでもない場合には、ステップS104の処理が実行される。
[ステップS101]格納処理部112は、受信された削除要求メッセージからデータ識別子を取得し、取得したデータ識別子に基づいて、削除が要求されたコンテンツが格納されているデータ格納サーバ(以下、「格納サーバ」と呼ぶ)を特定する。
[ステップS102]格納処理部112は、格納サーバの制御状態を非抑止状態に変更するように状態管理部115に指示する。この時点では、状態管理テーブル121には、格納サーバのサーバアドレスを含むレコードが登録されている場合と、登録されていない場合とがあり得る。状態管理部115は、状態管理テーブル121に格納サーバのサーバアドレスを含むレコードが登録されている場合、これらのレコードを消去する。
[ステップS103]格納処理部112は、インタフェース処理部111に対して、削除要求メッセージを格納サーバへ送信するように指示する。インタフェース処理部111は、指示に応じて、格納サーバに対して削除要求メッセージを送信する。
[ステップS104]ステップS100で「No」と判定された場合、データ中継装置100が受信したメッセージは応答メッセージとなり、インタフェース処理部111は、受信したメッセージを応答処理部114に出力する。受信したメッセージが参照応答メッセージである場合、ステップS105の処理が実行される。一方、受信したメッセージが格納応答メッセージまたは削除応答メッセージである場合、ステップS109の処理が実行される。
[ステップS105]応答処理部114は、受信した参照応答メッセージにおけるコンテンツの項目のデータサイズに基づいて、参照応答メッセージにコンテンツが含まれているかを判定する。コンテンツが含まれている場合には、ステップS107の処理が実行される。一方、コンテンツが含まれていない場合には、ステップS106の処理が実行される。
[ステップS106]応答処理部114は、参照応答メッセージを送信したデータ格納サーバの制御状態を抑止状態に変更するように、状態管理部115に指示する。このとき、応答処理部114は、参照応答メッセージを送信したデータ格納サーバのサーバアドレスと、参照応答メッセージに対応する参照要求メッセージに参照条件として指定されていた属性値とを、状態管理部115に通知する。状態管理部115は、通知されたサーバアドレスと属性値とを含むレコードを状態管理テーブル121に登録する。
[ステップS107]応答処理部114は、参照要求メッセージを送信したすべてのデータ格納サーバから参照応答メッセージを受信したかを判定する。参照要求メッセージを送信したすべてのデータ格納サーバから参照応答メッセージを受信した場合、ステップS108の処理が実行される。一方、参照要求メッセージを送信したデータ格納サーバの中に、参照応答メッセージを受信していないデータ格納サーバがある場合には、処理が終了される。
[ステップS108]応答処理部114は、参照要求メッセージを送信したデータ格納サーバから受信したコンテンツをマージして、参照応答メッセージを生成し、生成した参照応答メッセージを参照要求元のデータ参照装置に送信する。
[ステップS109]応答処理部114は、受信したメッセージが格納応答メッセージの場合は、格納応答メッセージを格納要求元のデータ発生装置に送信する。また、応答処理部114は、受信したメッセージが削除応答メッセージの場合は、削除応答メッセージを削除要求元のデータ発生装置に送信する。
〔第3の実施の形態〕
第3の実施の形態におけるデータ中継装置は、第2の実施の形態におけるデータ中継装置100に、データ格納サーバへの格納が要求されたコンテンツの一部をキャッシュする機能を付加したものである。データ中継装置100は、参照条件として属性値が指定された参照要求を受信したとき、指定された属性値に合致するコンテンツがキャッシュされている場合には、キャッシュされているコンテンツを参照要求元に送信することで、データ格納サーバへ送信する参照要求の数を抑制する。
図15は、第3の実施の形態におけるデータ中継装置が備える機能の構成例を示すブロック図である。なお、図15では、図7に対応する構成要素には同じ符号を付して示す。
図15に示すデータ中継装置100aは、インタフェース処理部111、格納処理部112、参照処理部113、応答処理部114および状態管理部115に加えて、コンテンツ蓄積処理部116を備える。コンテンツ蓄積処理部116の処理は、例えば、データ中継装置100aが備えるCPUが所定のプログラムを実行することで実現される。また、データ中継装置100aの記憶装置(例えば、HDD)には、コンテンツ管理テーブル122が記録される。コンテンツ管理テーブル122は、コンテンツが一時的に蓄積されるキャッシュ部として機能する。
コンテンツ蓄積処理部116は、コンテンツ管理テーブル122に対するコンテンツの登録や、コンテンツ管理テーブル122からのコンテンツの読み出し、および、コンテンツ管理テーブル122に登録されたコンテンツの消去を行う。
図16は、コンテンツ管理テーブルに登録される情報の例を示す図である。
コンテンツ管理テーブル122の各レコードには、データ識別子、データ値およびその属性値を含むコンテンツに対して、蓄積時刻が対応付けて登録される。蓄積時刻は、コンテンツがコンテンツ管理テーブル122に蓄積された時刻を示す。
図17は、第3の実施の形態において状態管理テーブルに登録される情報の例を示す図である。
第3の実施の形態において、状態管理テーブル121には、「サーバアドレス」および「参照条件」の各項目に加えて、「制御状態」および「状態変更時刻」の各項目をさらに有するレコードが登録される。制御状態の項目には、前述の「抑止状態」、または、コンテンツが蓄積されている状態を示す「蓄積状態」のいずれかが登録される。
第3の実施の形態において、格納処理部112は、データ発生装置からコンテンツの格納が要求されたとき、状態管理テーブル121を参照する。格納処理部112は、コンテンツの格納先のデータ格納サーバを示すサーバアドレスを含むレコードが抑止状態に設定されている場合には、これらのレコードの制御状態を蓄積状態に変更するとともに、コンテンツをコンテンツ管理テーブル122に蓄積する。
状態変更時刻の項目には、該当レコードの制御状態が抑止状態から蓄積状態に変更された時刻が登録される。
次に、本実施の形態に係るストレージシステムの処理例について、シーケンス図を用いて説明する。
まず、データ中継装置100aが、データ参照装置400aから参照条件として属性値「xxx」が指定された参照要求を受信し、属性値「xxx」を含むレコードが状態管理テーブル121に登録されていない場合(すなわち、すべてのデータ格納サーバが非抑止状態である場合)の処理は、図9と同様である。ただし、ステップS40では、データ中継装置100aは、コンテンツを送信しなかったデータ格納サーバ200bのサーバアドレスを示す「サーバ2」を含むレコードを状態管理テーブル121に生成する。このとき、データ中継装置100aは、生成したレコードの参照条件の項目に属性値「xxx」を、制御状態の項目に抑止状態を、それぞれ登録する。なお、制御状態の項目に抑止状態と登録されている場合、状態変更時刻の項目には何も登録されない。
また、図9の処理後に、データ中継装置100aが、データ参照装置400aから再度、参照条件として属性値「xxx」が指定された参照要求を受けた場合の処理は、図10と同様である。この場合、図10のステップS52では、データ中継装置100aは、状態管理テーブル121から、サーバアドレスの項目にデータ格納サーバ200bを示す「サーバ2」が、参照条件の項目に属性値「xxx」が、制御状態の項目に抑止状態がそれぞれ登録されたレコードを抽出し、データ格納サーバ200bが抑止状態であると判定する。
なお、状態管理テーブル121において、指定された属性値「xxx」に対応付けられたサーバアドレスの制御状態が蓄積状態である場合の参照処理手順については、後の図20で説明する。
次に、データ発生装置300aが、データ識別子「key2」、データ値「value2」および属性値「xxx」を設定した格納要求メッセージをデータ中継装置100aに送信した場合の処理は、次のようになる。
データ識別子「key2」に基づく格納先サーバが非抑止状態である場合の処理は、図11と同様である。一方、データ識別子「key2」に基づく格納先サーバが抑止状態である場合には、次の図18に示すような処理が実行される。
図18は、コンテンツの格納処理例を示す第3のシーケンス図である。
データ発生装置300aは、データ識別子「key2」、データ値「value2」および属性値「xxx」を設定した格納要求メッセージをデータ中継装置100aに送信する(ステップS121)。データ中継装置100aは、データ識別子「key2」に基づいて、コンテンツの格納先を例えばデータ格納サーバ200bと決定する(ステップS122)。
データ中継装置100aは、状態管理テーブル121を参照し、制御状態をチェックする(ステップS123)。具体的には、データ中継装置100aは、格納先に決定したデータ格納サーバ200bのサーバアドレスを含むレコードを状態管理テーブル121から抽出し、抽出したレコードが抑止状態に設定されているかを判定する。
ここでは、データ格納サーバ200bのサーバアドレスを含むレコードが状態管理テーブル121に登録され、それらのレコードが抑止状態に設定されているものとする。この場合、データ中継装置100aは、受信した格納要求メッセージ内のコンテンツ、すなわちデータ識別子「key2」、データ値「value2」および属性値「xxx」を含むコンテンツを、コンテンツ管理テーブル122に蓄積する(ステップS124)。このとき、データ中継装置100aは、蓄積したコンテンツに対応付ける蓄積時刻の項目に、現在の時刻を登録する。
さらに、データ中継装置100aは、状態管理テーブル121のレコードのうち、データ格納サーバ200bのサーバアドレスを含むすべてのレコードの制御状態を蓄積状態に変更する(ステップS125)。このとき、データ中継装置100aは、データ格納サーバ200bのサーバアドレス「サーバ2」を含む各レコードの状態変更時刻の項目に、現在の時刻を登録する。
このステップS125では、データ中継装置100aは、状態管理テーブル121における「サーバ2」を含むレコードのうち、受信した格納要求メッセージに含まれる属性値を含むレコードのみを消去してもよい。しかしながら、データ中継装置100aは、ステップS125において、「サーバ2」を含むすべてのレコードの制御状態を蓄積状態に変更することで、受信した格納要求メッセージから属性値を取得する必要がなくなり、処理負荷を軽減することができる。
この後、データ中継装置100aは、データ格納サーバ200bに対して、データ識別子「key2」、データ値「value2」および属性値「xxx」を設定した格納要求メッセージを送信する(ステップS126)。データ格納サーバ200bは、受信した格納要求メッセージに含まれるコンテンツを記憶装置201bの所定領域に格納する(ステップS127)。
データ格納サーバ200bは、格納処理が正常に完了したことを示す格納応答メッセージをデータ中継装置100aに送信する(ステップS128)。データ中継装置100aは、格納処理が正常に完了したことを示す格納応答メッセージをデータ発生装置300aに送信する(ステップS129)。
以上の図18の処理によれば、データ中継装置100aは、コンテンツの格納先が抑止状態に設定されているという限定的な条件が成立している場合のみ、格納するコンテンツをコンテンツ管理テーブル122にキャッシュする。これにより、コンテンツをキャッシュするための記憶領域を小さくすることができる。
図19は、コンテンツの格納処理例を示す第4のシーケンス図である。この図19は、コンテンツの格納先が蓄積状態に設定されている場合の処理例である。
データ発生装置300aは、例えば、データ識別子「key2」、データ値「value4」および属性値「xxx」を設定した格納要求メッセージをデータ中継装置100aに送信する(ステップS131)。データ中継装置100aは、データ識別子「key2」に基づいて、コンテンツの格納先をデータ格納サーバ200bと決定する(ステップS132)。
データ中継装置100aは、状態管理テーブル121を参照し、制御状態をチェックする(ステップS133)。具体的には、データ中継装置100aは、格納先に決定したデータ格納サーバ200bのサーバアドレスを含むレコードを状態管理テーブル121から抽出し、抽出したレコードが抑止状態に設定されているかを判定する。
ここでは、データ格納サーバ200bのサーバアドレスを含むレコードが状態管理テーブル121に登録され、それらのレコードが蓄積状態に設定されているものとする。この場合、データ中継装置100aは、受信した格納要求メッセージ内のコンテンツ、すなわちデータ識別子「key2」、データ値「value4」および属性値「xxx」を含むコンテンツを、コンテンツ管理テーブル122に蓄積する(ステップS134)。このとき、データ中継装置100aは、蓄積したコンテンツに対応付ける蓄積時刻の項目に、現在の時刻を登録する。
なお、データ中継装置100aは、ステップS134において、データ識別子「key2」および属性値「xxx」を含むコンテンツがコンテンツ管理テーブル122にすでに蓄積されている場合には、蓄積されているコンテンツに新たに受信したコンテンツを上書きする。例えば、図18の処理後に図19の処理が実行された場合、コンテンツ管理テーブル122には、データ識別子「key2」、データ値「value2」および属性値「xxx」を含むコンテンツがすでに登録されている。この場合、データ中継装置100aは、コンテンツ管理テーブル122に登録されたデータ識別子「key2」、データ値「value2」および属性値「xxx」を含むコンテンツを、データ識別子「key2」、データ値「value4」および属性値「xxx」を含むコンテンツに更新する。
この後、データ中継装置100aは、データ格納サーバ200bに対して、データ識別子「key2」、データ値「value4」および属性値「xxx」を設定した格納要求メッセージを送信する(ステップS135)。データ格納サーバ200bは、受信した格納要求メッセージに含まれるコンテンツを記憶装置201bの所定領域に格納する(ステップS136)。
データ格納サーバ200bは、格納処理が正常に完了したことを示す格納応答メッセージをデータ中継装置100aに送信する(ステップS137)。データ中継装置100aは、格納処理が正常に完了したことを示す格納応答メッセージをデータ発生装置300aに送信する(ステップS138)。
次に、状態管理テーブル121において、指定された属性値「xxx」に対応付けられたサーバアドレスの制御状態が蓄積状態である場合の参照処理手順について、図20を用いて説明する。図20は、属性値に合致するコンテンツの参照処理例を示す第3のシーケンス図である。
データ参照装置400aは、参照条件として例えば属性値「xxx」を指定した参照要求メッセージをデータ中継装置100aに送信する(ステップS141)。データ中継装置100aは、状態管理テーブル121を参照し、制御状態をチェックする(ステップS142)。この例では、データ中継装置100aは、状態管理テーブル121から、属性値「xxx」とデータ格納サーバ200bのサーバアドレス「サーバ2」とを含むレコードを抽出し、データ格納サーバ200bが蓄積状態であると判定する。
データ中継装置100aは、蓄積状態のデータ格納サーバ200bを除く他のデータ格納サーバ(すなわち、データ格納サーバ200a)に対して、参照条件として属性値「xxx」を指定した参照要求を送信する(ステップS143)。このとき、蓄積状態のデータ格納サーバ200bに対しては、参照要求が送信されない。
なお、ステップS142では、状態管理テーブル121における属性値「xxx」を含むレコードの中には、データ格納サーバ200b以外のサーバを示すアドレスが設定され、かつ抑止状態に設定されたレコードが存在する場合もある。この場合、データ中継装置100aは、ステップS143において、属性値「xxx」を含み、かつ抑止状態に設定されたレコードに登録されたデータ格納サーバに対しても、参照要求を送信しない。
データ格納サーバ200aは、記憶装置201aを参照して、属性値「xxx」に合致するコンテンツを検索し(ステップS144)、属性値「xxx」に合致するコンテンツを記憶装置201aから読み出す。データ格納サーバ200aは、読み出したコンテンツを含めた参照応答メッセージをデータ中継装置100aに送信する(ステップS145)。
データ中継装置100aは、データ格納サーバ200aから受信した参照応答メッセージにおけるコンテンツの項目のデータサイズをチェックする(ステップS146)。ここでは、データ中継装置100aは、コンテンツの項目のデータサイズが0より大きく、この項目にコンテンツが格納されていると判定するので、状態管理テーブル121に対する登録処理を何ら行わない。
また、データ中継装置100aは、コンテンツ管理テーブル122に蓄積されたコンテンツを参照し(ステップS147)、参照対象のコンテンツが蓄積されているかを判定する(ステップS148)。
データ中継装置100aは、コンテンツ管理テーブル122の各レコードに登録されたデータ識別子を基に、ステップS142で蓄積状態であると判定したデータ格納サーバに格納されているコンテンツを含むレコードを判別する。例えば、コンテンツに付与されたデータ識別子が「key2」であれば、そのコンテンツの格納先はデータ格納サーバ200bである、というコンテンツ格納先の決定方法が採られる場合、データ中継装置100aはステップS148において、データ識別子「key2」を含むレコードを判別する。
さらに、データ中継装置100aは、判別したレコードから、参照要求メッセージで指定された属性値「xxx」を含むレコードを抽出する。
以上の手順でレコードが抽出できた場合、データ中継装置100aは、抽出したレコードからコンテンツを読み出すとともに、そのレコードをコンテンツ管理テーブル122から消去する。さらに、データ中継装置100aは、状態管理テーブル121から、ステップS142で抽出された、属性値「xxx」とデータ格納サーバ200bのサーバアドレス「サーバ2」とを含むレコードを削除し、データ格納サーバ200bの制御状態を非抑止状態に変更する。
一方、上記の手順でレコードが抽出できなかった場合、データ中継装置100aは、ステップS142で抽出された、属性値「xxx」とデータ格納サーバ200bのサーバアドレス「サーバ2」とを含むレコードの制御状態を、抑止状態に変更する。
なお、ステップS144〜S146の処理と、ステップS147,S148の処理は、並列に実行される。
この後、データ中継装置100aは、ステップS145でデータ格納サーバ200aから受信したコンテンツと、ステップS148でコンテンツ管理テーブル122から読み出したコンテンツとをマージして、参照応答メッセージを作成する(ステップS149)。データ中継装置100aは、作成した参照応答メッセージをデータ参照装置400aに送信する(ステップS150)。
以上の図20におけるステップS142,S143の処理では、データ中継装置100aは、指定された属性値に合致するコンテンツが格納されていないデータ格納サーバだけでなく、指定された属性値に合致するコンテンツが格納されているデータ格納サーバのうち、蓄積状態に設定されているデータ格納サーバに対しても、参照要求を送信しない。このため、ネットワーク501に転送されるデータ量をさらに抑制することができる。
また、データ中継装置100aは、あるコンテンツを格納するデータ格納サーバの制御状態を蓄積状態に変更してから、参照対象が同じコンテンツであると推定される参照要求を最初に受信するまでの期間のみ、そのコンテンツをコンテンツ管理テーブル122にキャッシュする。データ中継装置100aは、このような限定的な期間のみコンテンツをキャッシュするようにしたことで、コンテンツのキャッシュ領域の容量を小さくすることができる。
次に、コンテンツの削除処理について説明する。削除対象のコンテンツが格納されているデータ格納サーバの制御状態が非抑止状態および抑止状態である場合の処理は、第2の実施の形態と同様である。また、削除対象のコンテンツが格納されているデータ格納サーバの制御状態が蓄積状態である場合の処理は、次の図21のようになる。
図21は、コンテンツの削除処理例を示すシーケンス図である。
データ発生装置300aは、例えば、データ識別子「key2」を指定した削除要求メッセージをデータ中継装置100aに送信する(ステップS161)。データ中継装置100aは、データ識別子「key2」に基づいて、コンテンツの格納場所をデータ格納サーバ200bと特定する(ステップS162)。
データ中継装置100aは、状態管理テーブル121を参照し、制御状態をチェックする(ステップS163)。具体的には、データ中継装置100aは、コンテンツが格納されているデータ格納サーバ200bのサーバアドレスを含むレコードを状態管理テーブル121から抽出し、抽出したレコードが蓄積状態に設定されているかを判定する。
ここでは、データ格納サーバ200bのサーバアドレスを含むレコードが状態管理テーブル121に登録され、それらのレコードが蓄積状態に設定されているものとする。この場合、データ中継装置100aは、状態管理テーブル121から、データ格納サーバ200bのサーバアドレスを含むすべてのレコードを消去して、データ格納サーバ200bの制御状態を非抑止状態に変更する(ステップS164)。これとともに、データ中継装置100aは、コンテンツ管理テーブル122から、データ識別子「key2」を含むすべてのコンテンツを消去する(ステップS165)。
この後、データ中継装置100aは、データ格納サーバ200bに対して、データ識別子「key2」を指定した削除要求メッセージを送信する(ステップS166)。データ格納サーバ200bは、データ識別子「key2」を含むコンテンツを記憶装置201bから削除する(ステップS167)。
データ格納サーバ200bは、削除処理が正常に完了したことを示す削除応答メッセージをデータ中継装置100aに送信する(ステップS168)。データ中継装置100aは、削除処理が正常に完了したことを示す削除応答メッセージをデータ発生装置300aに送信する(ステップS169)。
次に、図22,図23は、データ中継装置の処理例を示すフローチャートである。図22,図23の処理は、インタフェース処理部111がメッセージを受信するたびに実行される。
なお、図22,図23では、図13,図14と同じ処理が実行される処理ステップには、同じ符号を付して示している。以下、図13,図14とは異なる処理についてのみ説明する。また、図13,図14と同様に、図22,図23では、参照条件としてデータ識別子が指定された場合の参照処理については省略する。
図13のステップS92で、受信したメッセージが参照要求メッセージであると判定されると、図13のステップS93,S94の代わりに、次のステップS181〜S187が実行される。
[ステップS181]参照処理部113は、状態管理部115に対してデータ格納サーバごとの制御状態を問い合わせ、非抑止状態のデータ格納サーバがあるかを判定する。
具体的には、参照処理部113は、受信した参照要求メッセージで参照条件として指定された属性値を、状態管理部115に通知する。状態管理部115は、状態管理テーブル121から、通知された属性値を含むレコードを抽出する。状態管理部115は、抽出したレコードに含まれるサーバアドレスおよび制御状態の組み合わせを、参照処理部113に通知する。
参照処理部113は、状態管理部115から通知されなかったサーバアドレスに対応するデータ格納サーバを、非抑止状態のデータ格納サーバと判定する。非抑止状態のデータ格納サーバが1台以上ある場合は、ステップS182の処理が実行される。一方、非抑止状態のデータ格納サーバがない場合には、ステップS183の処理が実行される。
[ステップS182]参照処理部113は、インタフェース処理部111に対して、参照条件として属性値を指定した参照要求メッセージを、非抑止状態であると判定したデータ格納サーバへ送信するように指示する。インタフェース処理部111は、指示に応じて、非抑止状態であると判定されたデータ格納サーバに参照要求メッセージを送信する。
[ステップS183]参照処理部113は、蓄積状態のデータ格納サーバがあるかを判定する。参照処理部113は、ステップS181において、状態管理部115から蓄積状態に設定されたサーバアドレスが通知された場合、通知されたサーバアドレスに対応するデータ格納サーバを、蓄積状態のデータ格納サーバと判定する。なお、このとき、参照処理部113は、コンテンツ管理テーブル122において通知されたサーバアドレスに対応付けられていた状態変更時刻を、コンテンツ蓄積処理部116から取得する。
蓄積状態のデータ格納サーバが1台以上ある場合は、ステップS184の処理が実行される。一方、蓄積状態のデータ格納サーバがない場合には、処理が終了される。
[ステップS184]参照処理部113は、蓄積状態のデータ格納サーバのサーバアドレスと、参照条件として指定された属性値とをコンテンツ蓄積処理部116に通知し、通知した情報に対応するコンテンツがコンテンツ管理テーブル122に蓄積されているかを問い合わせる。このとき、参照処理部113は、ステップS183でコンテンツ蓄積処理部116を通じて取得した状態変更時刻も、状態管理部115に通知する。
コンテンツ蓄積処理部116は、まず、コンテンツ管理テーブル122から、参照処理部113から通知された状態変更時刻以後の蓄積時刻が登録されたレコードを抽出する。これにより、内容を精査する対象のレコードを、制御状態が蓄積状態に遷移したタイミング以降に登録または更新されたレコードに絞ることができ、コンテンツ蓄積処理部116の処理負荷が軽減される。
次に、コンテンツ蓄積処理部116は、コンテンツ管理テーブル122の各レコードに登録されたデータ識別子を基に、参照処理部113から通知されたサーバアドレスに対応するデータ格納サーバに格納されているコンテンツを含むレコードを、抽出したレコードの中から判別する。さらに、コンテンツ蓄積処理部116は、判別したレコードから、参照処理部113から通知された属性値を含むレコードを抽出する。
以上の手順でレコードが抽出された場合、抽出されたレコードには参照処理部113が通知した情報に対応するコンテンツが含まれている。この場合、ステップS185の処理が実行される。一方、上記の手順でレコードが抽出されなかった場合、ステップS187の処理が実行される。
[ステップS185]コンテンツ蓄積処理部116は、ステップS184で抽出したレコードからコンテンツを読み出し、所定の記憶領域(例えばRAM)に一時的に保存する。このとき保存されるコンテンツは、後のステップS211において参照処理部113によって読み出される。
また、参照処理部113は、抽出されたレコードを消去するようにコンテンツ蓄積処理部116に指示する。コンテンツ蓄積処理部116は、ステップS184で抽出したレコードをコンテンツ管理テーブル122から消去する。
[ステップS186]参照処理部113は、ステップS183で蓄積状態と判定されたデータ格納サーバのサーバアドレスと、指定された属性値とを状態管理部115に通知し、通知したサーバアドレスと属性値との組み合わせについての制御状態を非抑止状態に変更するように指示する。状態管理部115は、状態管理テーブル121から、通知されたサーバアドレスおよび属性値を含むレコードを消去する。
以上のステップS185,S186の処理により、コンテンツ管理テーブル122に蓄積されたコンテンツは、1度読み出された時点でコンテンツ管理テーブル122から消去される。これにより、コンテンツ管理テーブル122の容量が増大する事態を回避することができる。
[ステップS187]参照処理部113は、ステップS183で蓄積状態と判定されたデータ格納サーバのサーバアドレスと、指定された属性値とを状態管理部115に通知し、通知したサーバアドレスと属性値との組み合わせについての制御状態を抑止状態に変更するように指示する。状態管理部115は、状態管理テーブル121のレコードのうち、通知されたサーバアドレスおよび属性値を含むレコードの制御情報を、抑止状態に更新する。
また、図13のステップS96の処理が実行された後、図13のステップS97,S98の代わりに、次のステップS191〜S195の処理が実行される。
[ステップS191]格納処理部112は、格納先サーバの制御状態を状態管理部115に問い合わせ、制御状態が抑止状態か否かを判定する。このとき、状態管理部115は、格納先サーバのサーバアドレスを含むレコードが状態管理テーブル121に登録されており、そのレコードに制御状態として抑止状態が設定されている場合に、格納先サーバが抑止状態であると格納処理部112に通知する。
格納先サーバが抑止状態である場合には、ステップS192の処理が実行される。一方、格納先サーバが抑止状態以外の制御状態である場合には、ステップS194の処理が実行される。
[ステップS192]格納処理部112は、コンテンツ蓄積処理部116に対して、受信した格納要求メッセージに含まれているコンテンツを、現在の時刻とともにコンテンツ管理テーブル122に蓄積するように指示する。コンテンツ蓄積処理部116は、コンテンツ管理テーブル122にレコードを生成し、そのレコード内にコンテンツを格納するとともに、そのレコードの蓄積時刻の項目に現在の時刻を登録する。
[ステップS193]格納処理部112は、状態管理部115に対して、格納先サーバの制御状態を蓄積状態に変更するように指示する。状態管理部115は、状態管理テーブル121のレコードのうち、格納先サーバを含むすべてのレコードにおける制御状態の項目を、蓄積状態に変更するとともに、これらのレコードにおける蓄積時刻の項目に、現在の時刻を登録する。
[ステップS194]格納処理部112は、格納先サーバの制御状態が蓄積状態かを判定する。上記のステップS191において、参照処理部113からの問い合わせを受けた状態管理部115は、格納先サーバのサーバアドレスを含むレコードが状態管理テーブル121に登録されており、そのレコードに制御状態として蓄積状態が設定されている場合に、格納先サーバが蓄積状態であると格納処理部112に通知する。
格納先サーバが蓄積状態である場合には、ステップS195の処理が実行される。一方、格納先サーバが蓄積状態以外の制御状態、すなわち非抑止状態である場合には、ステップS99の処理が実行される。
[ステップS195]格納処理部112は、コンテンツ蓄積処理部116に対して、受信した格納要求メッセージに含まれているコンテンツを、現在の時刻とともにコンテンツ管理テーブル122に蓄積するように指示する。コンテンツ蓄積処理部116は、コンテンツ管理テーブル122にレコードを生成し、そのレコード内にコンテンツを格納するとともに、そのレコードの蓄積時刻の項目に現在の時刻を登録する。なお、コンテンツ蓄積処理部116は、コンテンツ管理テーブル122に、蓄積を指示したコンテンツにおけるデータ識別子および属性値を含むレコードが登録されている場合には、そのレコードにおけるデータ値および蓄積時刻のみを更新する。
また、図14のステップS101とステップS102との間に、次のステップS201,S202の処理が実行される。
[ステップS201]格納処理部112は、状態管理部115に対して、ステップS101で特定された格納サーバの制御状態を問い合わせ、格納サーバが蓄積状態かを判定する。状態管理部115は、格納サーバのサーバアドレスを含むレコードを状態管理テーブル121から抽出し、抽出したレコードの制御状態を格納処理部112に通知する。なお、格納サーバのサーバアドレスを含むレコードが状態管理テーブル121に登録されていない場合もある。この場合、格納サーバは非抑止状態になっている。
格納サーバが蓄積状態である場合、ステップS202の処理が実行される。一方、格納サーバが蓄積状態以外の制御状態である場合、ステップS102の処理が実行される。
[ステップS202]格納処理部112は、コンテンツ蓄積処理部116に対して、受信した削除要求メッセージで指定されたデータ識別子を含むすべてのレコードをコンテンツ管理テーブル122から消去するように指示する。コンテンツ蓄積処理部116は、コンテンツ管理テーブル122から、指定されたデータ識別子を含むすべてのレコードを消去する。これにより、指定されたデータ識別子を含むすべてのコンテンツが、コンテンツ管理テーブル122から消去される。
また、図14のステップS108の代わりに、次のステップS211が実行される。
[ステップS211]応答処理部114は、参照要求メッセージを送信したデータ格納サーバから受信したコンテンツと、ステップS185で所定の記憶領域に一時的に保存しておいた、コンテンツ管理テーブル122から読み出したコンテンツとをマージして、参照応答メッセージを生成する。応答処理部114は、生成した参照応答メッセージを参照要求元のデータ発生装置に送信する。
なお、上記の各実施の形態に示したデータアクセス制御装置、データ中継装置、データ格納サーバ、データ発生装置およびデータ参照装置のそれぞれの処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM、CD−R/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
以上の各実施の形態に関し、さらに以下の付記を開示する。
(付記1) 複数のストレージノードに格納されたデータに対するアクセスを制御するデータアクセス制御装置において、
参照するデータを特定するための参照条件と参照要求とを受信すると、参照要求の送信を抑止するように指定されたストレージノードの識別情報と参照条件とが対応付けられた管理情報テーブルを格納する記憶手段を参照し、前記複数のストレージノードのうち、前記管理情報テーブルにおいて、受信した前記参照条件に対応付けられたストレージノードを除くストレージノードに対して、受信した前記参照条件と前記参照要求とを送信する送信処理部と、
前記送信処理部からの参照要求の送信先の各ストレージノードからの応答に基づいて、受信した前記参照条件に合致するデータが格納されていないストレージノードを判別し、判別されたストレージノードの識別情報を受信した前記参照条件と対応付けて前記管理情報テーブルに登録する登録処理部と、
を有することを特徴とするデータアクセス制御装置。
(付記2) 前記送信処理部は、データの格納要求を受信すると、当該データを格納するストレージノードを決定し、決定したストレージノードの識別番号が前記管理情報テーブルに登録されている場合には、決定した前記ストレージノードについて参照要求の送信を抑止する状態を解除することを特徴とする付記1記載のデータアクセス制御装置。
(付記3) 前記送信処理部は、
データの格納要求を受信したとき、当該データを格納するストレージノードを決定して、決定した前記ストレージノードに対して当該データの格納要求を送信するとともに、決定した前記ストレージノードの識別番号が前記管理情報テーブルに登録されているかを判定し、登録されている場合には、当該データを記憶装置に一時的に格納するとともに、決定した前記ストレージノードの識別番号と参照条件との組み合わせをキャッシュ状態に設定し、
参照条件と参照要求とを受信したとき、受信した当該参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、前記記憶装置に格納されたデータを読み出して参照要求の送信元装置に送信する、
ことを特徴とする付記1記載のデータアクセス制御装置。
(付記4) 前記送信処理部は、参照条件と参照要求とを受信したとき、受信した当該参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、前記記憶装置に格納されたデータを読み出して参照要求の送信元装置に送信するとともに、抽出した前記組み合わせについて参照要求の送信を抑止する状態を解除することを特徴とする付記3記載のデータアクセス制御装置。
(付記5) 前記送信処理部は、参照条件と参照要求とを受信したとき、受信した当該参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、前記記憶装置に格納されたデータを読み出して参照要求の送信元装置に送信するとともに、当該データを前記記憶装置から消去することを特徴とする付記4記載のデータアクセス制御装置。
(付記6) 前記送信処理部は、参照条件と参照要求とを受信したとき、受信した前記参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、抽出した前記組み合わせが前記キャッシュ状態に設定された時刻以後に格納されたデータを前記記憶装置から選択し、選択したデータのいずれかを参照要求の送信元装置に送信することを特徴とする付記4または5記載のデータアクセス制御装置。
(付記7) 前記登録処理部は、前記送信処理部からの参照要求の送信先の各ストレージノードから受信した応答情報のうち、受信した前記参照条件に合致するデータが所定領域に格納されていない応答情報を判別し、判別した応答情報の送信元のストレージノードの識別情報を受信した前記参照条件と対応付けて前記管理情報テーブルに登録することを特徴とする付記1〜6のいずれか1つに記載のデータアクセス制御装置。
(付記8) 複数のストレージノードに格納されたデータに対するアクセスを制御するデータアクセス制御方法において、
コンピュータが、
参照するデータを特定するための参照条件と参照要求とを受信すると、参照要求の送信を抑止するように指定されたストレージノードの識別情報と参照条件とが対応付けられた管理情報が登録されている管理情報テーブルを参照し、前記複数のストレージノードのうち、前記管理情報テーブルにおいて、受信した前記参照条件に対応付けられたストレージノードを除くストレージノードに対して、受信した前記参照条件と前記参照要求とを送信し、
参照要求の送信先の各ストレージノードからの応答に基づいて、受信した前記参照条件に合致するデータが格納されていないストレージノードを判別し、判別されたストレージノードの識別情報を受信した前記参照条件と対応付けて前記管理情報テーブルに登録する、
ことを特徴とするデータアクセス制御方法。
(付記9) データの格納要求を受信すると、当該データを格納するストレージノードを決定し、決定したストレージノードの識別番号が前記管理情報テーブルに登録されている場合には、前記決定したストレージノードについて参照要求の送信を抑止する状態を解除する、
処理をさらに含むことを特徴とする付記8記載のデータアクセス制御方法。
(付記10) データの格納要求を受信したとき、当該データを格納するストレージノードを決定して、決定した前記ストレージノードに対して当該データの格納要求を送信するとともに、決定した前記ストレージノードの識別番号と参照条件との組み合わせが前記管理情報テーブルに登録されているかを判定し、登録されている場合には、当該データを記憶装置に一時的に格納するとともに、決定した前記ストレージノードの識別番号と参照条件との組み合わせをキャッシュ状態に設定し、
参照条件と参照要求とを受信したとき、受信した前記参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、前記記憶装置に格納されたデータを読み出して参照要求の送信元装置に送信する、
処理をさらに含むことを特徴とする付記8記載のデータアクセス制御方法。
(付記11) 前記送信元装置にデータを送信する処理では、
参照条件と参照要求とを受信したとき、受信した前記参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、前記記憶装置に格納されたデータを読み出して参照要求の送信元装置に送信するとともに、抽出した前記組み合わせについて参照要求の送信を抑止する状態を解除する、
ことを特徴とする付記10記載のデータアクセス制御方法。
(付記12) 前記送信元装置にデータを送信する処理では、
参照条件と参照要求とを受信したとき、受信した前記参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、前記記憶装置に格納されたデータを読み出して参照要求の送信元装置に送信するとともに、当該データを前記記憶装置から消去する、
ことを特徴とする付記11記載のデータアクセス制御方法。
(付記13) 前記送信元装置にデータを送信する処理では、
参照条件と参照要求とを受信したとき、受信した前記参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、抽出した前記組み合わせが前記キャッシュ状態に設定された時刻以後に格納されたデータを前記記憶装置から選択し、選択したデータのいずれかを参照要求の送信元装置に送信する、
ことを特徴とする付記11または12記載のデータアクセス制御方法。
(付記14) 前記管理情報テーブルに登録する処理では、
参照要求の送信先の各ストレージノードから受信した応答情報のうち、受信した前記参照条件に合致するデータが所定領域に格納されていない応答情報を判別し、判別した応答情報の送信元のストレージノードの識別情報を受信した前記参照条件と対応付けて前記管理情報テーブルに登録する、
ことを特徴とする付記8〜13のいずれか1つに記載のデータアクセス制御方法。
(付記15) 複数のストレージノードに格納されたデータに対するアクセスを制御するためのデータアクセス制御プログラムにおいて、
コンピュータに、
参照するデータを特定するための参照条件と参照要求とを受信すると、参照要求の送信を抑止するように指定されたストレージノードの識別情報と参照条件とが対応付けられた管理情報が登録されている管理情報テーブルを参照し、前記複数のストレージノードのうち、前記管理情報テーブルにおいて、受信した前記参照条件に対応付けられたストレージノードを除くストレージノードに対して、受信した前記参照条件と前記参照要求とを送信し、
参照要求の送信先の各ストレージノードからの応答に基づいて、受信した前記参照条件に合致するデータが格納されていないストレージノードを判別し、判別されたストレージノードの識別情報を受信した前記参照条件と対応付けて前記管理情報テーブルに登録する、
処理を実行させることを特徴とするデータアクセス制御プログラム。
(付記16) データの格納要求を受信すると、当該データを格納するストレージノードを決定し、決定したストレージノードの識別番号が前記管理情報テーブルに登録されている場合には、前記決定したストレージノードについて参照要求の送信を抑止する状態を解除する、
処理を前記コンピュータにさらに実行させることを特徴とする付記15記載のデータアクセス制御プログラム。
(付記17) データの格納要求を受信したとき、当該データを格納するストレージノードを決定して、決定した前記ストレージノードに対して当該データの格納要求を送信するとともに、決定した前記ストレージノードの識別番号と参照条件との組み合わせが前記管理情報テーブルに登録されているかを判定し、登録されている場合には、当該データを記憶装置に一時的に格納するとともに、決定した前記ストレージノードの識別番号と参照条件との組み合わせをキャッシュ状態に設定し、
参照条件と参照要求とを受信したとき、受信した前記参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、前記記憶装置に格納されたデータを読み出して参照要求の送信元装置に送信する、
処理を前記コンピュータにさらに実行させることを特徴とする付記15記載のデータアクセス制御プログラム。
(付記18) 前記送信元装置にデータを送信する処理では、
参照条件と参照要求とを受信したとき、受信した前記参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、前記記憶装置に格納されたデータを読み出して参照要求の送信元装置に送信するとともに、抽出した前記組み合わせについて参照要求の送信を抑止する状態を解除する、
ことを特徴とする付記17記載のデータアクセス制御プログラム。
(付記19) 前記送信元装置にデータを送信する処理では、
参照条件と参照要求とを受信したとき、受信した前記参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、前記記憶装置に格納されたデータを読み出して参照要求の送信元装置に送信するとともに、当該データを前記記憶装置から消去する、
ことを特徴とする付記18記載のデータアクセス制御プログラム。
(付記20) 前記管理情報テーブルに登録する処理では、
参照要求の送信先の各ストレージノードから受信した応答情報のうち、受信した前記参照条件に合致するデータが所定領域に格納されていない応答情報を判別し、判別した応答情報の送信元のストレージノードの識別情報を受信した前記参照条件と対応付けて前記管理情報テーブルに登録する、
ことを特徴とする付記15〜19のいずれか1つに記載のデータアクセス制御プログラム。
11〜13 ストレージノード
20 データアクセス制御装置
21 送信処理部
22 登録処理部
23 管理情報テーブル
30 参照側装置

Claims (9)

  1. 複数のストレージノードに格納されたデータに対するアクセスを制御するデータアクセス制御装置において、
    参照するデータを特定するための参照条件と参照要求とを受信すると、参照要求の送信を抑止するように指定されたストレージノードの識別情報と参照条件とが対応付けられた管理情報テーブルを格納する記憶手段を参照し、前記複数のストレージノードのうち、前記管理情報テーブルにおいて、受信した前記参照条件に対応付けられたストレージノードを除くストレージノードに対して、受信した前記参照条件と前記参照要求とを送信する送信処理部と、
    前記送信処理部からの参照要求の送信先の各ストレージノードからの応答に基づいて、受信した前記参照条件に合致するデータが格納されていないストレージノードを判別し、判別されたストレージノードの識別情報を受信した前記参照条件と対応付けて前記管理情報テーブルに登録する登録処理部と、
    を有することを特徴とするデータアクセス制御装置。
  2. 前記送信処理部は、データの格納要求を受信すると、当該データを格納するストレージノードを決定し、決定したストレージノードの識別番号が前記管理情報テーブルに登録されている場合には、決定した前記ストレージノードについて参照要求の送信を抑止する状態を解除することを特徴とする請求項1記載のデータアクセス制御装置。
  3. 前記送信処理部は、
    データの格納要求を受信したとき、当該データを格納するストレージノードを決定して、決定した前記ストレージノードに対して当該データの格納要求を送信するとともに、決定した前記ストレージノードの識別番号が前記管理情報テーブルに登録されているかを判定し、登録されている場合には、当該データを記憶装置に一時的に格納するとともに、決定した前記ストレージノードの識別番号と参照条件との組み合わせをキャッシュ状態に設定し、
    参照条件と参照要求とを受信したとき、受信した当該参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、前記記憶装置に格納されたデータを読み出して参照要求の送信元装置に送信する、
    ことを特徴とする請求項1記載のデータアクセス制御装置。
  4. 前記送信処理部は、参照条件と参照要求とを受信したとき、受信した当該参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、前記記憶装置に格納されたデータを読み出して参照要求の送信元装置に送信するとともに、抽出した前記組み合わせについて参照要求の送信を抑止する状態を解除することを特徴とする請求項3記載のデータアクセス制御装置。
  5. 前記送信処理部は、参照条件と参照要求とを受信したとき、受信した当該参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、前記記憶装置に格納されたデータを読み出して参照要求の送信元装置に送信するとともに、当該データを前記記憶装置から消去することを特徴とする請求項4記載のデータアクセス制御装置。
  6. 前記送信処理部は、参照条件と参照要求とを受信したとき、受信した前記参照条件とストレージノードの識別番号との組み合わせを前記管理情報テーブルから抽出し、抽出した組み合わせが前記キャッシュ状態に設定されている場合には、抽出した前記組み合わせが前記キャッシュ状態に設定された時刻以後に格納されたデータを前記記憶装置から選択し、選択したデータのいずれかを参照要求の送信元装置に送信することを特徴とする請求項4または5記載のデータアクセス制御装置。
  7. 前記登録処理部は、前記送信処理部からの参照要求の送信先の各ストレージノードから受信した応答情報のうち、受信した前記参照条件に合致するデータが所定領域に格納されていない応答情報を判別し、判別した応答情報の送信元のストレージノードの識別情報を受信した前記参照条件と対応付けて前記管理情報テーブルに登録することを特徴とする請求項1〜6のいずれか1項に記載のデータアクセス制御装置。
  8. 複数のストレージノードに格納されたデータに対するアクセスを制御するデータアクセス制御方法において、
    コンピュータが、
    参照するデータを特定するための参照条件と参照要求とを受信すると、参照要求の送信を抑止するように指定されたストレージノードの識別情報と参照条件とが対応付けられた管理情報が登録されている管理情報テーブルを参照し、前記複数のストレージノードのうち、前記管理情報テーブルにおいて、受信した前記参照条件に対応付けられたストレージノードを除くストレージノードに対して、受信した前記参照条件と前記参照要求とを送信し、
    参照要求の送信先の各ストレージノードからの応答に基づいて、受信した前記参照条件に合致するデータが格納されていないストレージノードを判別し、判別されたストレージノードの識別情報を受信した前記参照条件と対応付けて前記管理情報テーブルに登録する、
    ことを特徴とするデータアクセス制御方法。
  9. 複数のストレージノードに格納されたデータに対するアクセスを制御するためのデータアクセス制御プログラムにおいて、
    コンピュータに、
    参照するデータを特定するための参照条件と参照要求とを受信すると、参照要求の送信を抑止するように指定されたストレージノードの識別情報と参照条件とが対応付けられた管理情報が登録されている管理情報テーブルを参照し、前記複数のストレージノードのうち、前記管理情報テーブルにおいて、受信した前記参照条件に対応付けられたストレージノードを除くストレージノードに対して、受信した前記参照条件と前記参照要求とを送信し、
    参照要求の送信先の各ストレージノードからの応答に基づいて、受信した前記参照条件に合致するデータが格納されていないストレージノードを判別し、判別されたストレージノードの識別情報を受信した前記参照条件と対応付けて前記管理情報テーブルに登録する、
    処理を実行させることを特徴とするデータアクセス制御プログラム。
JP2012043629A 2012-02-29 2012-02-29 データアクセス制御装置、データアクセス制御方法およびプログラム Expired - Fee Related JP5867161B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012043629A JP5867161B2 (ja) 2012-02-29 2012-02-29 データアクセス制御装置、データアクセス制御方法およびプログラム
US13/735,157 US9348847B2 (en) 2012-02-29 2013-01-07 Data access control apparatus and data access control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012043629A JP5867161B2 (ja) 2012-02-29 2012-02-29 データアクセス制御装置、データアクセス制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2013182287A true JP2013182287A (ja) 2013-09-12
JP5867161B2 JP5867161B2 (ja) 2016-02-24

Family

ID=49004447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012043629A Expired - Fee Related JP5867161B2 (ja) 2012-02-29 2012-02-29 データアクセス制御装置、データアクセス制御方法およびプログラム

Country Status (2)

Country Link
US (1) US9348847B2 (ja)
JP (1) JP5867161B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015102995A (ja) * 2013-11-25 2015-06-04 富士ゼロックス株式会社 中継装置及びプログラム
CN111630500A (zh) * 2017-11-06 2020-09-04 日本电信电话株式会社 信息分布式存储系统、方法及程序
CN111630500B (zh) * 2017-11-06 2024-06-07 日本电信电话株式会社 信息分布式存储系统、方法及程序

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10397029B2 (en) * 2015-07-08 2019-08-27 Toshiba Memory Corporation Relay apparatus
US10339338B2 (en) 2016-02-18 2019-07-02 Workiva Inc. System and methods for providing query-based permissions to data

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147201A (ja) * 1994-11-18 1996-06-07 Nippon Telegr & Teleph Corp <Ntt> トラヒックデータキャッシュ方法
JP2000235514A (ja) * 1999-02-12 2000-08-29 Seiko Epson Corp 情報検索方法及び情報検索システム並びに情報検索処理プログラムを記録した記録媒体
US20070016589A1 (en) * 2005-07-12 2007-01-18 Norihiro Hara Method and system for data processing with parallel database systems
JP2008065840A (ja) * 2007-09-28 2008-03-21 Fujitsu Ltd 全文検索システム
JP2010176319A (ja) * 2009-01-28 2010-08-12 Toshiba Corp 構造化文書検索システム、装置、及び方法
JP2011134262A (ja) * 2009-12-25 2011-07-07 Dainippon Printing Co Ltd 検索仲介システム
US8250063B2 (en) * 2001-09-13 2012-08-21 International Business Machines Corporation Restricting a fan-out search in a peer-to-peer network based on accessibility of nodes

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088803A (en) * 1997-12-30 2000-07-11 Intel Corporation System for virus-checking network data during download to a client device
US6653933B2 (en) * 2000-08-18 2003-11-25 Emware, Inc. Autonomous local area distributed network
US20030088693A1 (en) * 2001-11-05 2003-05-08 Cheung Nancy C. System and method for routing email messages to appropriate ones of geographically distributed email servers
US8041735B1 (en) * 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
JP2004252789A (ja) 2003-02-21 2004-09-09 Nippon Telegr & Teleph Corp <Ntt> 情報検索装置、情報検索方法、情報検索プログラム及びそのプログラムを記録した記録媒体
US7849507B1 (en) * 2006-04-29 2010-12-07 Ironport Systems, Inc. Apparatus for filtering server responses
US20080082662A1 (en) * 2006-05-19 2008-04-03 Richard Dandliker Method and apparatus for controlling access to network resources based on reputation
JP4225354B2 (ja) 2007-03-12 2009-02-18 株式会社日立製作所 分散データベースのデータアクセス方法及び装置
US8863286B1 (en) * 2007-06-05 2014-10-14 Sonicwall, Inc. Notification for reassembly-free file scanning
WO2009032710A2 (en) * 2007-08-29 2009-03-12 Nirvanix, Inc. Filing system and method for data files stored in a distributed communications network
US8661055B2 (en) * 2011-03-22 2014-02-25 Hitachi, Ltd. File server system and storage control method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147201A (ja) * 1994-11-18 1996-06-07 Nippon Telegr & Teleph Corp <Ntt> トラヒックデータキャッシュ方法
JP2000235514A (ja) * 1999-02-12 2000-08-29 Seiko Epson Corp 情報検索方法及び情報検索システム並びに情報検索処理プログラムを記録した記録媒体
US8250063B2 (en) * 2001-09-13 2012-08-21 International Business Machines Corporation Restricting a fan-out search in a peer-to-peer network based on accessibility of nodes
US20070016589A1 (en) * 2005-07-12 2007-01-18 Norihiro Hara Method and system for data processing with parallel database systems
JP2008065840A (ja) * 2007-09-28 2008-03-21 Fujitsu Ltd 全文検索システム
JP2010176319A (ja) * 2009-01-28 2010-08-12 Toshiba Corp 構造化文書検索システム、装置、及び方法
JP2011134262A (ja) * 2009-12-25 2011-07-07 Dainippon Printing Co Ltd 検索仲介システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015102995A (ja) * 2013-11-25 2015-06-04 富士ゼロックス株式会社 中継装置及びプログラム
CN111630500A (zh) * 2017-11-06 2020-09-04 日本电信电话株式会社 信息分布式存储系统、方法及程序
CN111630500B (zh) * 2017-11-06 2024-06-07 日本电信电话株式会社 信息分布式存储系统、方法及程序

Also Published As

Publication number Publication date
US20130226969A1 (en) 2013-08-29
JP5867161B2 (ja) 2016-02-24
US9348847B2 (en) 2016-05-24

Similar Documents

Publication Publication Date Title
US8909668B2 (en) Method of distributing contents and system
CN101093497B (zh) 文档管理服务器、文档管理方法及管理文档使用的系统
US20100198888A1 (en) System for managing distributed assets and medadata
EP1868104A1 (en) Information processing device, information processing method, and information processing program
JP2013045379A (ja) ストレージ制御方法、情報処理装置およびプログラム
US20100070366A1 (en) System and method for providing naming service in a distributed processing system
CN109600410A (zh) 数据存储系统以及方法
US7529196B2 (en) Routing a service query in an overlay network
CN109328331A (zh) 用于异步存储服务的自组织存储系统
JP5867161B2 (ja) データアクセス制御装置、データアクセス制御方法およびプログラム
KR20150052538A (ko) Opc ua 노드 관리 장치 및 그 방법
CN109407975A (zh) 写数据方法与计算节点以及分布式存储系统
WO2007011164A1 (en) Virtual storage system and method for managementing virtual storage based on ad-hoc network
JP4779733B2 (ja) 配信システム及び配信システム制御方法、蓄積装置及び蓄積装置用プログラム並びにノード装置及びノード装置用プログラム
EP2802108B1 (en) Data-centric communications system and data forwarding method
KR100801217B1 (ko) 애드혹 네트워크를 기반으로 한 가상 스토리지 시스템 및가상 스토리지 관리 방법
CN101640641B (zh) 通信节点、通信方法和计算机程序
KR100717059B1 (ko) 홈 네트워크에서 하나의 컨텐츠를 복수의 디바이스에분할하여 저장하기 위한 방법 및 장치
JP3983036B2 (ja) ファイルサーバプログラム
JPWO2008126838A1 (ja) 情報・サービス提供システム、情報共有システムおよびこれらの方法
KR20070050577A (ko) 네트워크 상에서 데이터 전송 효율을 제어하는 인덱싱서버의 동작 방법, 상기 데이터를 수신하는 클라이언트단말기의 동작 방법 및 상기 방법을 채용한 인덱싱 서버
JP5979223B2 (ja) 分散処理におけるサービス検索方法、プログラム、およびサーバ装置
JP2009265743A (ja) ウェブアプリケーション管理システム、ウェブアプリケーション管理方法およびプログラム
US20150100573A1 (en) Method for processing data
KR100795835B1 (ko) 네트워크 상에서 데이터 전송 효율을 제어하는 인덱싱서버의 동작 방법, 상기 데이터를 수신하는 클라이언트단말기의 동작 방법 및 상기 방법을 채용한 인덱싱 서버

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151013

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: 20151208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151221

R150 Certificate of patent or registration of utility model

Ref document number: 5867161

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees