説明

制御装置、アクセス制御方法、及びストレージノード

【課題】ネットワーク階層構造による地域性を考慮したファイル共有を実現する。
【解決手段】複数の情報格納装置と、各情報格納装置に格納される情報資源へのアクセスを制御する制御装置と、各制御装置を接続するネットワークと、を備える計算機システムに備わる制御装置であって、制御装置は、ネットワークに接続されるインタフェースと、インタフェースに接続されるプロセッサと、プロセッサに接続される記憶部と、を備え、記憶部は、情報資源へのアクセスを許可するか否かを示す属性情報を保持し、プロセッサは、ネットワークに接続されたクライアント装置から情報資源の書き込み要求を受け付け、保持された属性情報、及び各制御装置が設置された場所の情報に基づいて、各制御装置が前記要求された書き込みを許可するか否かを判定し、書き込みを許可すると判定された制御装置によって制御される情報格納装置に情報資源を書き込む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アクセス制御に関し、特に、ネットワークで接続されたコンピュータシステム群にて情報資源の保管許可場所及びアクセス許可場所に基づいた情報資源管理及びアクセス制御に関する。
【背景技術】
【0002】
近年、コンピュータシステムの高性能化及びに低価格化によって、様々な業種や用途においてコンピュータシステムの利用が広がっている。これに伴い、従来は紙媒体等で扱っていた情報資源が電子化され、コンピュータシステムで情報資源が電子的に保存されるようになってきている。
【0003】
さらに、複数のコンピュータシステムをネットワークで接続した形態も急速に進んでいる。これによって情報資源の分散管理及び分散処理が実現できるため、一つのコンピュータシステムで保管するだけでは実現することが難しかった可用性、信頼性及び性能を実現することが可能になっている。
【0004】
複数のコンピュータシステムをネットワークで接続した形態において、情報資源が効率よく管理される技術及びアクセスが制御される技術を提供することは、コンピュータシステムの利用者の利便性を高める上でも、重要性を増してきている。
【0005】
また、近年では、複数のコンピュータシステムを接続する物理的なネットワーク構造を隠蔽し、論理的なネットワーク構造を構築して提供するオーバーレイネットワーク技術が利用されてきている。オーバーレイネットワーク技術は、利用するコンピュータシステムの設置場所を気にすることなく、透過的にコンピュータシステムにアクセスすることが可能になる。
【0006】
オーバーレイネットワーク技術を利用することによって、例えば、オーバーレイネットワークを構築するコンピュータシステム上に、共有ファイルを冗長に分散格納するピアツーピア形式のファイル共有サービスが実現可能になる。
【0007】
ファイル共有サービスにおいて、利用者は、取得したい共有ファイルの識別情報に基づいてファイル取得要求を行うことによって、共有ファイルがどのコンピュータシステムに存在するのかを知ることが可能である。共有ファイルの存在場所を把握した後、各利用者は、該当する任意のコンピュータシステムにアクセスすることによって、共有ファイルを取得することができる。
【0008】
任意のコンピュータシステムにアクセスする際、利用者は、アクセスするコンピュータシステムが実際にどこに存在しているのかを知る必要はなく、オーバーレイネットワークにおいて、アクセスするコンピュータシステムの識別情報のみ知っていればよい。利用者は、識別情報によって、共有ファイルが存在するコンピュータシステムにオーバーレイネットワークを介してアクセスできる。
【0009】
従来、オーバーレイネットワークを構築するためには、参加するコンピュータシステムの識別情報と、実際のネットワークでアクセスするために必要となるネットワーク上の識別情報とが必要となる。例えば、前者はコンピュータシステムのホスト名が相当し、後者は、コンピュータシステムに割り当てられるIPアドレスが相当する。
【0010】
オーバーレイネットワークに参加するコンピュータシステムは、これらの識別情報を管理し、必要に応じて、オーバーレイネットワークに参加する他のコンピュータシステムとの間で識別情報を交換し内容を更新する必要がある。
【0011】
このような更新を適宜行うことによって、コンピュータシステムが必要に応じてオーバーレイネットワークに動的な参加及び脱退が可能になり、オーバーレイネットワークにおいて参加するコンピュータシステムの管理を簡単に行うことができる。
【0012】
オーバーレイネットワークに参加するコンピュータシステムを管理する際、各コンピュータシステムにおいて、参加する全てのコンピュータシステムの情報を管理する方式と、一部のコンピュータシステムの情報のみを管理する方式との二つの方式がある。前者の方式は、各コンピュータシステムがオーバーレイネットワークに参加している全てのコンピュータシステム把握することが可能になるため、実際に共有ファイルにアクセスする際に、共有ファイルが格納されているノードを探索し、共有ファイルにアクセスする際の効率がよいという特長がある。一方、オーバーレイネットワークに対するコンピュータシステムの参加及び脱退が起こる度に、参加する全てのコンピュータシステムに、その更新情報を反映させる必要があるため、参加するコンピュータシステムを管理する効率が悪くなるという課題がある。
【0013】
その点、後者の方式は、各コンピュータシステムが、オーバーレイネットワークに参加しているコンピュータシステムのうち、一部のコンピュータシステムの情報を管理する。これによって、オーバーレイネットワークに対するコンピュータシステムの参加及び脱退が起こる度に各コンピュータシステムで管理される情報の更新を極小化することができるようになり、その影響を小さくすることができる。後者の方式の場合、実際に共有ファイルにアクセスする際に、オーバーレイネットワークに参加している他コンピュータシステムに問い合わせることによって、参加及び脱退したコンピュータシステムの情報を取得可能である。この際、コンピュータシステムの情報を問い合わせることによってオーバーヘッドが生じるが、これは、オーバーレイネットワークに参加するコンピュータシステムの管理情報を更新する時のオーバーヘッドと比べると十分小さい。特に、大規模のオーバーレイネットワークを運用している場合は、これが顕著に現れる。
【0014】
後者の方式に基づいたものとして、特許文献1には、参加するコンピュータシステムの地域性を考慮したオーバーレイネットワークを構築し、実際のネットワークの負荷を軽減する技術が記載されている。特許文献1に記載されている技術は、オーバーレイネットワークに参加するコンピュータシステムがオーバーネットワークへ参加の要求情報を送信する際に、送信する要求情報の到達可能な範囲を表す情報を設定する。これによって、参加の要求情報の伝播先を局所的に制限することが可能になり、コンピュータシステムがオーバーレイネットワークに参加する際に各コンピュータシステムの管理情報の更新を局所的に抑えることができる。
【特許文献1】特開2007−28400号公報
【発明の開示】
【発明が解決しようとする課題】
【0015】
しかし、特許文献1に記載された技術では、オーバーレイネットワークを利用したファイル共有サービスを提供する場合、共有ファイルの保管先となるコンピュータシステムの場所を指定又は制御することができない。例えば、著作権等の問題で、配布及び共有可能な国及び地域が制限されている共有ファイルを、特許文献1に記載されたファイル共有サービスで共有する場合、配布及び共有が許されない国及び地域に設置されているコンピュータシステムに、共有ファイルが格納されることが起こりうる。コンピュータシステムで利用できないファイルが管理されることによって、コンピュータシステムのストレージ利用効率が低下する。さらに、共有ファイルにアクセスするアクセス要求者が存在する場所(国及び地域等)をアクセスを制御する時に識別していないため、アクセスが許可されない場所にいるユーザにアクセスを禁止する制御が困難である問題も生じる。例えば、アクセス要求者がどこにいるのか判別されないため、日本でアクセス許可されているユーザに、米国からのアクセスが禁止されているコンテンツへのアクセスを米国滞在時に禁止できない。
【0016】
また、特許文献1記載の技術では、オーバーレイネットワークにおけるコンピュータシステム間及びネットワーク接続サービスを提供するインターネットサービスプロバイダ(ISP:Internet Service Provider)間の通信料金を考慮に入れていない。このため、ネットワーク負荷を軽減できても、通信料金が余分に必要になる可能性がある。この通信料金の増加は、ISPの負担を増加し、結果的にISPによるネットワークサービスの品質を低下する可能性がある。
【0017】
前者の課題は、オーバーレイネットワークにおける地域性を考慮せずに、共有ファイル格納場所の制御と共有ファイルへのアクセス制御とを行っていることである。今後、ネットワーク経由で共有及び配布される情報が増加することが予測され、その中に著作権に関する権利が発生する情報も含まれることが予測される。このため、オーバーレイネットワークを利用したファイル共有サービスを提供する場合は、この課題を解決するための技術が必要となる。
【0018】
また、後者の課題は、ネットワークの実際の通信料金を考慮せずに、ネットワークを利用していることである。今後、インターネットに代表されるネットワークの利用がさらに広がり、情報流通量も増加すると予測される。その際に、ネットワーク接続サービスを提供するISPが適切なネットワークサービス品質を持続的に提供できるようにするためには、ISPの負担が増加とするようなネットワーク利用を極力抑止できるような技術が必要となる。
【課題を解決するための手段】
【0019】
本発明の代表的な一例を示せば以下の通りである。すなわち、情報資源の複製を分散して格納する複数の情報格納装置と、前記各情報格納装置に格納される情報資源へのアクセスを制御する制御装置と、前記各制御装置を接続するネットワークと、を備える計算機システムに備わる制御装置であって、前記制御装置は、前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続される記憶部と、を備え、前記記憶部は、前記情報資源へのアクセスを許可するか否かを示す属性情報を保持し、前記プロセッサは、前記ネットワークに接続されたクライアント装置から前記情報資源の書き込み要求を受け付け、前記保持された属性情報、及び前記各制御装置が設置された場所の情報に基づいて、前記各制御装置が前記要求された書き込みを許可するか否かを判定し、前記書き込みを許可すると判定された制御装置によって制御される情報格納装置に前記情報資源を書き込む。
【発明の効果】
【0020】
本発明の一実施形態によれば、共有する情報資源の格納先制御装置の設置場所及びアクセスが許可される場所を情報資源毎に指定することによって、アクセスが許可されていない場所からのアクセスを禁止することができる。さらに、共有する情報資源の保管が許可されていない場所に設置されている制御装置に情報資源を格納することを抑止することによって、不要な通信を削除し、無駄なストレージの利用を抑止することができる。
【0021】
また、情報資源にアクセスする時に、通信料金が最小となる制御装置の情報資源に優先的にアクセスするように制御することによって、ファイル共有サービスに要する通信料金を削除することができる。通信料金の削減によって、ネットワーク接続サービスを提供するISPの負担を軽減することが可能になり、ISPは、持続可能で適度な品質のネットワークサービスを提供することができる。
【発明を実施するための最良の形態】
【0022】
以下、本発明の実施の形態について図面を参照しながら説明する。
【0023】
<第1の実施の形態>
まず、本発明の第1の実施の形態のシステムについて説明する。
【0024】
図1は、本発明の第1の実施の形態のシステムの構成図である。
【0025】
システムは、ISP1、ISP2、ISP3、ISP4及びISP5によって構成される。インターネット10のネットワークを介して、ISP1、ISP2、ISP3、ISP4及びISP5が互いに接続されている。また、インターネット10のネットワークには認証サーバ3000が接続されている。
【0026】
ISP1には、ストレージノードA1100、クライアントノード2000及びクライアントノード2100が接続されている。また、ISP2には、ストレージノードB1200、クライアントノード2200及びクライアントノード2300が接続されている。また、ISP3には、ストレージノードC1300、クライアントノード2400及びクライアントノード2500が接続されている。また、ISP4には、ストレージノードD1400、クライアントノード2600及びクライアントノード2700が接続されている。また、ISP5には、ストレージノードE1500、クライアントノード2800及びクライアントノード2900が接続されている。
【0027】
ストレージノードA1100は、インターネット10のネットワークを介して他のストレージノード(例えば、ストレージノードB1200)と連携することによってオーバーレイネットワークを構築し、ファイル共有サービスを提供する。ストレージノードB1200、ストレージノードC1300、ストレージノードD1400及びストレージノードE1500は、ストレージノードAと同様の構成である。
【0028】
クライアントノード2000は、ファイル共有サービスを利用する利用者の機器である。クライアントノード2100、2200、2300、2400、2500、2600、2700、2800及び2900は、クライアントノード2000と同様の構成である。
【0029】
ISP2、ISP3、ISP4及びISP5は、ISP1と同様の構成である。また、ISP1、ISP2及びISP3は、Area11に含まれる。また、ISP4及びISP5は、Area12に含まれる。Area11及びArea12は、それぞれ同一の場所(例えば、国又は地域)を示す。
【0030】
認証サーバ3000は、アクセスを要求するクライアント(例えば、クライアントノード2000)の存在場所を認証する。
【0031】
なお、図1にはISPが五つ示されているが、いくつあってもよい。また、各ISPが接続されるネットワーク構造は図1で示される形態に限らず、任意のネットワーク構造(例えば、リング型及びスター型等)によって構成されてもよい。
【0032】
また、図1に示される例では、各ISPにストレージノードが一つ接続されているが、いくつ接続されてもよい。また、各ISPにクライアントノードが二つ接続されているが、いくつ接続されてもよい。
【0033】
図2は、本発明の第1の実施の形態のストレージノードA1100のハードウェア構成図である。
【0034】
ストレージノードA1100は、プロセッサ1110、メモリ1120、外部記憶装置I/F1140及びネットワークI/F1150を備える。各構成は、バス1160によって接続される。ストレージノードA1100は、外部記憶装置I/F1140を介して外部記憶装置1170と接続する。
【0035】
プロセッサ1110は、メモリ1120に格納されるプログラムを実行し、ストレージノードA1100全体を制御する。
【0036】
メモリ1120は、プロセッサ1110によって実行されるプログラム及び/又はデータを一時的に格納する。メモリ1120は、例えば、RAMのような半導体メモリで構成するとよい。
【0037】
メモリ1120は、外部記憶装置I/F制御プログラム1121、ネットワークI/F制御プログラム1122、ローカルファイルシステム制御プログラム1123、分散ファイルシステム制御プログラム1125、ノード管理表4000、ノード設置ロケーション情報管理表4100、共有ファイルメタデータ管理表4200及びキャッシュメモリ1130を格納する。
【0038】
外部記憶装置I/F制御プログラム1121は、外部記憶装置I/F1140を制御する。ネットワークI/F制御プログラム1122は、ネットワークI/F1150を制御する。
【0039】
ローカルファイルシステム制御プログラム1123は、キャッシュメモリ制御サブプログラム1124を含む。ローカルファイルシステム制御プログラム1123は、ストレージノードA1100で提供されるファイルシステムを制御する。キャッシュメモリ制御サブプログラム1124は、キャッシュメモリ1130を制御する。
【0040】
分散ファイルシステム制御プログラム1125は、問合せ要求制御サブプログラム1126、問合せ応答制御サブプログラム1127、基本制御サブプログラム1131、ファイル登録サブプログラム1132、ファイル複製・移動サブプログラム1133及びファイルアクセスサブプログラム1134を含む。
【0041】
分散ファイルシステム制御プログラム1125は、オーバーレイネットワークを利用したファイル共有サービスを制御する。
【0042】
問合せ要求制御サブプログラム1126は、オーバーレイネットワークを構成する他のストレージノードに送信する問い合わせ要求を制御する。問い合わせ要求とは、他のストレージノードから情報(例えば、オーバーレイネットワークを構成する他のストレージノードの識別情報)を取得したい場合に送信される要求である。
【0043】
問合せ応答制御サブプログラム1127は、オーバーレイネットワークを構成する他のストレージノードからの問い合わせ要求を受信し、要求された情報を取得する処理を実行し、処理された結果の返答を制御する。
【0044】
基本制御サブプログラム1131は、ストレージノードA1100の情報を管理する。例えば、基本制御サブプログラム1131は、ストレージノードA1100に関する情報(識別情報)をノード管理表4000に登録する。
【0045】
ファイル登録サブプログラム1132は、共有ファイルをオーバーレイネットワークに登録する。
【0046】
ファイル複製・移動サブプログラム1133は、オーバーレイネットワークに登録されている共有ファイルを複製又は移動する。
【0047】
ファイルアクセスサブプログラム134は、オーバーレイネットワークに登録されている共有ファイルにクライアント(例えば、クライアントノード2100)から要求があったアクセスを制御する。
【0048】
ノード管理表4000は、オーバーレイネットワークに存在するストレージノードの識別情報を保持する。ノード管理表4000は、図4を用いて後述する。
【0049】
ノード設置ロケーション情報管理表4100は、ストレージノードが存在する場所に関する情報を保持する。ノード設置ロケーション情報管理表4100は、図5を用いて後述する。
【0050】
共有ファイルメタデータ管理表4200は、ストレージノードで保管している共有ファイルに登録されているメタデータを保持する。共有ファイルメタデータ管理表4200は、図6を用いて後述する。
【0051】
キャッシュメモリ1130は、ローカルファイルシステム制御プログラム2023が、ファイルシステムによって管理されているファイルにアクセスする場合に、アクセスのレスポンスタイムを短縮するために利用される。
【0052】
外部記憶装置I/F1140は、外部記憶装置1170にアクセスするためのインタフェースである。ネットワークI/F1150は、ネットワークを介して接続された他の装置にアクセスするインタフェースである。
【0053】
外部記憶装置1170は、共有ファイルを保管する。外部記憶装置1170は、例えば、ハードディスクドライブ(HDD)で構成するとよい。また、フラッシュメモリのような半導体記憶装置で構成してもよい。
【0054】
図3は、本発明の第1の形態のクライアントノード2000のハードウェア構成図である。
【0055】
クライアントノード2000は、プロセッサ2010、メモリ2020、外部記憶装置I/F2040、ネットワークI/F2050を備える。各構成はバス2060によって接続される。クライアントノード2000は、外部記憶装置I/F2040を介して外部記憶装置2070と接続する。
【0056】
プロセッサ2010は、メモリ2020に格納されるプログラムを実行し、クライアントノード2000全体を制御する。
【0057】
メモリ2020は、プロセッサ2010によって実行されるプログラム及び/又はデータを一時的に格納する。メモリ2020は、例えば、RAMのような半導体メモリで構成するとよい。
【0058】
メモリ2020は、外部記憶装置I/F制御プログラム2021、ネットワークI/F制御プログラム2022、ローカルファイルシステム制御プログラム2023、分散ファイルシステムクライアント制御プログラム2025、ノード管理表4000及びキャッシュメモリ2030を格納する。
【0059】
外部記憶装置I/F制御プログラム2021は、外部記憶装置I/F2040を制御する。ネットワークI/F制御プログラム2022は、ネットワークI/F2050を制御する。
【0060】
ローカルファイルシステム制御プログラム2023は、キャッシュメモリ制御サブプログラム2024を含む。ローカルファイルシステム制御プログラム2023は、クライアントノード2000で提供されるファイルシステムを制御する。キャッシュメモリ制御サブプログラム2024は、キャッシュメモリ2030を制御する。
【0061】
分散ファイルシステムクライアント制御プログラム2025は、問合せ要求制御サブプログラム2026及び基本制御サブプログラム2031を含む。
【0062】
分散ファイルシステムクライアント制御プログラム2025は、オーバーレイネットワークを利用したファイル共有サービスを制御する。
【0063】
問合せ要求制御サブプログラム2026は、オーバーレイネットワークを利用したファイル共有サービスを提供するストレージノードに問合せ要求、ファイルの登録要求及び共有ファイルへのアクセス要求等を送信する。
【0064】
基本制御サブプログラム2031は、クライアントノード2000の情報を管理する。例えば、基本制御サブプログラム2031は、クライアントノード2000がアクセスするストレージノードに関する情報(識別情報)をノード管理表4000に登録する。
【0065】
ノード管理表4000は、クライアントノード2000から最初に直接アクセスするストレージノードに関する情報のみを保持する。なお、クライアントノード2000のノード管理表4000とストレージノードA1100のノード管理表4000とは、同期させて同じ情報を保持してもよい。同じ情報を保持する場合、クライアントノード2000のノード管理表4000には、ストレージノードA1100が保持するノード管理表4000と同じ情報が保持される。
【0066】
キャッシュメモリ2030は、ローカルファイルシステム制御プログラム2023が、ファイルシステムによって管理されているファイルにアクセスする場合に、アクセスのレスポンスタイムを短縮するために利用される。
【0067】
外部記憶装置I/F2040は、外部記憶装置2070にアクセスするためのインタフェースである。ネットワークI/F2050は、ネットワークを介して接続された他の装置にアクセスするためのインタフェースである。
【0068】
外部記憶装置2070は、プログラム又はユーザデータ等を記憶する。外部記憶装置2070は、例えば、ハードディスクドライブ(HDD)で構成するとよい。また、フラッシュメモリのような半導体記憶装置で構成してもよい。
【0069】
図4は、本発明の第1の形態のノード管理表4000の構成を示す。
【0070】
ノード管理表4000は、オーバーレイネットワークにおいて存在が認識されているストレージノードの識別情報を保持する。
【0071】
ノード管理表4000は、ノード名4010及び識別情報4020を含む。
【0072】
ノード名4010は、ストレージノードをオーバーレイネットワーク上で識別するための情報である。なお、図4に示されるノード名4010は、文字列の情報が格納されているが、例えば、ノードIDのような数値の情報が格納されてもよい。
【0073】
識別情報4020は、通常のネットワークで識別されるストレージノードの識別情報である。識別情報4020は、ネットワークを介してストレージノードにアクセスする場合に、アクセス先を指定するために用いられる。なお、図4に示される識別情報4020は、IPアドレスが格納されているが、例えば、ストレージノードを特定するID情報が格納されてもよい。また、文字列の情報が格納されてもよい。
【0074】
図4に示す例では、ストレージノードの情報が五つ格納されている。また、ノード管理表4000の第1行のノード名4010及び識別情報4020には、それぞれ「ストレージノードA」及び「10.20.30.40」が格納されている。これは、オーバーレイネットワークに参加している「ストレージノードA」という名前のストレージノードが存在し、「ストレージノードA」には、あて先「10.20.30.40」という情報でアクセスできることを示している。
【0075】
図5は、本発明の第1の実施の形態のノード設置ロケーション情報管理表4100の構成を示す。
【0076】
ノード設置ロケーション情報管理表4100は、ストレージノードが存在する場所に関する情報を管理する。
【0077】
ノード設置ロケーション情報管理表4100は、ノード設置ロケーション情報4110を含む。ノード設置ロケーション情報4110は、ストレージノードが設置されている場所を識別する情報である。
【0078】
なお、図5に示されるノード設置ロケーション情報4100は、実際の住所に相当する情報の一部又は全てに関する情報が格納されているが、例えば、階層的に識別情報(IPアドレス)が格納されてもよい。また、場所を特定するID情報が格納されてもよい。
【0079】
図5に示す例では、ストレージノードの設置場所に関する情報が二つ格納されている。また、ノード設置ロケーション情報管理表4100のノード設置ロケーション情報4110には、「日本」及び「東京」が格納されている。これは、ストレージノードA1100は、「日本」の「東京」という場所に設置されていることを示している。
【0080】
図6は、本発明の第1の実施の形態の共有ファイルメタデータ管理表4200の構成を示す。
【0081】
共有ファイルメタデータ管理表4200は、ストレージノードA1100に接続される外部記憶装置1170で保管されている共有ファイルに登録されるメタデータを共有ファイル毎に管理する。
【0082】
共有ファイルメタデータ管理表4200は、既存のメタデータ(例えば、保管年月日及びキーワード等)に加えて、保管許可ロケーション情報4210、保管拒否ロケーション情報4220、アクセス許可ロケーション情報4230及びアクセス拒否ロケーション情報を含む。
【0083】
保管許可ロケーション情報4210は、共有ファイルを格納することができる場所を指定する情報である。具体的には、クライアント(例えば、クライアントノード2000)は、保管許可ロケーション情報4210によって指定された場所に設置されたストレージノードに接続される外部記憶装置のみに、共有ファイルを格納することができる。
【0084】
保管拒否ロケーション情報4220は、保管許可ロケーション情報4210の逆で、共有ファイルを格納することができない場所を指定する情報である。具体的には、クライアント(例えば、クライアントノード2000)は、保管拒否ロケーション情報4220によって指定された場所に設置されたストレージノードに接続される外部記憶装置に、共有ファイルを格納することができない。
【0085】
アクセス許可ロケーション情報4230は、共有ファイルにアクセスの要求があった場合に、アクセスすることができる場所を指定する情報である。具体的には、アクセス許可ロケーション情報4230によって指定された場所に存在すると判別されたアクセス要求者(例えば、クライアントノード2000)のみが、共有ファイルにアクセスすることができる。ここで、共有ファイルにアクセスするとは、共有ファイルを読み出す、共有ファイルに書き込む、共有ファイルを複製する、及び、共有ファイルを移動することである。
【0086】
アクセス拒否ロケーション情報4240は、アクセス許可ロケーション情報4230の逆で、共有ファイルにアクセスの要求があった場合に、アクセスすることができない場所を指定する情報である。具体的には、アクセス拒否ロケーション情報4240によって指定された場所に存在すると判別されたアクセス要求者は、共有ファイルにアクセスすることができない。
【0087】
なお、図6に示す例では、それぞれ情報が一つずつ格納されているが、必要に応じて複数の情報が格納されてもよい。
【0088】
保管許可ロケーション情報4210及び保管拒否ロケーション情報4220に同じ場所の情報が格納されている場合には、保管拒否ロケーション情報4220に格納されている内容が優先して用いられる。また、アクセス許可ロケーション情報4230及びアクセス拒否ロケーション情報4240に同じ場所の情報が格納されている場合には、アクセス拒否ロケーション情報4240に格納されている内容が優先して用いられる。
【0089】
また、図6に示されているように、値が格納されない場合には、「Null」が格納される。「Null」が格納されている場合は、指定される場所が存在しないことを示す。
【0090】
図6に示す例では、共有ファイルメタデータ管理表4200に保管許可ロケーション情報4210、保管拒否ロケーション情報4220、アクセス許可ロケーション情報4230及びアクセス拒否ロケーション情報4240が格納されている。
【0091】
また、共有ファイルメタデータ管理表4200の第1行の保管許可ロケーション情報4210、保管拒否ロケーション情報4220、アクセス許可ロケーション情報4230及びアクセス拒否ロケーション情報4240には、「日本」、「Null」、「Null」及び「アメリカ」が格納されている。これは、共有ファイルが、「日本」という場所に設置されているストレージノードに保管することが可能であり、かつ、「アメリカ」という場所に存在するアクセス要求者からのアクセスが拒否されることを示している。
【0092】
図7は、本発明の第1の実施の形態のシステム構成において、共有ファイルがどのストレージノードに格納されているかを模式的に示した図である。
【0093】
図7に示される例では、共有ファイルとして、「A」、「B」、「C」及び「D」が各外部記憶装置に保管されている。この場合、共有ファイル「A」は、ストレージノードA1100に接続される外部記憶装置1170、及び、ストレージノードC1300に接続される外部記憶装置1370の2ヶ所に分散して格納されている。また、共有ファイル「B」は、ストレージノードA1100に接続される外部記憶装置1170、及び、ストレージノードE1500に接続される外部記憶装置1570に分散して格納されている。また、共有ファイル「C」は、ストレージノードB1200に接続される外部記憶装置1270、ストレージノードC1300に接続される外部記憶装置1370、及び、ストレージノードD1400に接続される外部記憶装置1470に分散して格納されている。また、共有ファイル「D」は、ストレージノードD1400に接続される外部記憶装置1470、及び、ストレージノードE1500に接続される外部記憶装置1570に分散して格納されている。
【0094】
ここで、共有ファイル「A」について、共有ファイルメタデータ管理表4200の保管許可ロケーション情報4210に「Area11」という情報が格納されているとする。このとき、共有ファイル「A」をファイル共有サービスに登録する場合には、「Area11」に含まれるストレージノードA1100、ストレージノードB1200及びストレージノードC1300の中から共有ファイルの格納先となるストレージノードが選択される。
【0095】
図8は、本発明の第1の実施の形態のノード登録処理のフローチャートであり、基本制御サブプログラム1131及び問合せ要求制御サブプログラム1126によって実行される。
【0096】
ノード登録処理は、オーバーレイネットワークに、新規にストレージノードを参加する場合に、参加するストレージノード(ここでは、ストレージノードA1100として説明する)で実行される。
【0097】
まず、ストレージノードA1100の基本制御サブプログラム1131は、ノード管理表4000にストレージノードA1100の情報を格納する領域を確保し、確保された領域を初期化する(S101)。
【0098】
次に、ストレージノードA1100の基本制御サブプログラム1131は、これから参加するオーバーレイネットワークについて、ストレージノードA1100のノード情報(例えば、ノード名及び識別情報)を登録する他のストレージノードが存在するか否かを判定する(S102)。つまり、ステップ102では、ストレージノードA1100が、オーバーレイネットワークに参加する最初のストレージノードであるか否かが判定される。
【0099】
ノード情報を登録する他のストレージノードが存在しない場合、ストレージノードA1100は、オーバーレイネットワークに参加する最初のストレージノードであるため、ストレージノードA1100のノード情報を他のストレージノードに登録する必要がない。この場合、処理はステップ108に進む。
【0100】
一方、ノード情報を登録する他のストレージノードが存在する場合、すでに他のストレージノードがオーバーレイネットワークに参加しているため、ストレージノードA1100は、自身のノード情報をオーバーレイネットワークに参加している他のストレージノードに登録する必要がある。この場合、処理はステップ103に進む。なお、他のストレージノードがオーバーレイネットワークに参加しているか否かを判定するためには、オーバーレイネットワークに参加する際に、他のストレージノードに関する識別情報(例えば、IPアドレス)を保持しているか否かによって判定することができる。
【0101】
次に、ストレージノードA1100の問合せ要求制御サブプログラム1126は、オーバーレイネットワークに参加している他のストレージノードに、ストレージノードA1100に関する情報とともに、オーバーレイネットワークへのノード登録を要求する(S103)。
【0102】
オーバーレイネットワークに参加するときに事前に知らされるノード情報を指定して、ノード登録を要求するストレージノード(以降、対象ノードとして説明する)に送信する。ノード登録の要求とともに送信されるノード情報は、ストレージノードA1100のノード名、及び、ネットワークにおける識別情報(例えば、IPアドレス)を含む情報である。
【0103】
ノード登録が要求されると、基本制御サブプログラム1131及び問合せ応答制御サブプログラム1127によって、ノード登録処理が実行される。
【0104】
まず、対象ノードの問合せ応答制御サブプログラム1127は、ノード登録の要求を受信する(S104)。
【0105】
次に、対象ノードの基本制御サブプログラム1131は、ノード登録を要求したストレージノードA1100の情報を、対象ノードのノード管理表4000に格納する(S105)。
【0106】
次に、対象ノードの問合せ応答制御サブプログラム1127は、ノード管理表4000に格納されているノード情報を、ストレージノードA1100に送信する(S106)。具体的には、対象ノードの基本制御サブプログラム1131がノード管理表4000に格納されているノード情報(例えば、ノード名4010及び識別情報4020)を読み込み、対象ノードの問合せ応答制御サブプログラム1127が、ノード登録の成功という応答とともに、読み込まれたノード情報をストレージノードA1100に送信する。
【0107】
次に、ストレージノードA1100の基本制御サブプログラム1131は、対象ノードから送信されたノード情報を、ストレージノードA1100のノード管理表4000に格納する(S107)。具体的には、ストレージノードA1100の問合せ要求サブプログラム1126は、対象ノードからノード登録の応答を受信し、ノード登録の成功という応答である場合には、ストレージノードA1100の基本制御サブプログラム1131が、ノード登録の応答とともに送信されたノード情報を、ストレージノードA1100のノード管理表4000に格納する。そして、処理は終了する。
【0108】
ステップ108で、ストレージノードA1100の基本制御サブプログラム1131は、ストレージノードA1100のノード情報をノード管理表4000に格納する(S108)。そして、処理は終了する。
【0109】
図9は、本発明の第1の実施の形態のノード探索処理のフローチャートであり、基本制御サブプログラム1131及び問合せ要求制御サブプログラム1126によって実行される。
【0110】
ノード探索処理は、オーバーレイネットワークに参加しているストレージノード(ここではストレージノードA1100として説明する)が、他に参加しているストレージノードを探索する場合に実行される。
【0111】
まず、ストレージノードA1100の基本制御サブプログラム1131は、ノード管理表4000に登録されているストレージノードの一覧から、任意のストレージノードを必要数分選択する(S111)。
【0112】
ここで、ストレージノードが必要数分選択されるのは、ノード管理表4000に登録されているストレージノード全てにノード探索を要求すると、オーバーレイネットワーク全体のノード情報を取得できる可能性がある反面、ストレージノードの探索及びノード管理表4000の更新にかかる処理の負荷が大きくなってしまう問題があるためである。そのため、ここでは、ノードが必要数分のみ選択され、選択されたストレージノードにノード探索を要求する。なお、ストレージノードを選択する方法は、例えば、ノード管理表4000からランダムに選択する方法がある。また、必要数は、管理者によって柔軟に設定変更できるようにする。
【0113】
次に、ストレージノードA1100の問合せ要求制御サブプログラム1126は、ステップ111で選択されたストレージノード(以降、対象ノードとして説明する)に、ストレージノードA1100で保持しているノード管理表4000の内容を送信し、ノード情報(例えば、ノード名及び識別情報)の取得を要求する(S112)。
【0114】
送信するノード管理表4000の内容には、全てのデータ(例えば、ノード名及び識別情報)が含まれる。また、一部のデータのみ(例えば、識別情報のみ)が含まれてもよい。
【0115】
ノード情報の取得が要求されると、基本制御サブプログラム1132及び問合せ応答制御サブプログラム1127によって、ノード探索処理が実行される。
【0116】
まず、対象ノードの問合せ応答制御サブプログラム1127は、ステップ112で送信されたノード情報の取得の要求を受信する(S113)。
【0117】
次に、対象ノードの基本制御サブプログラム1131は、ノード情報の取得を要求したストレージノードA1100から送信されたノード情報を、対象ノードのノード管理表4000に格納する(S114)。
【0118】
次に、対象ノードの問合せ応答制御サブプログラム1127は、ノード管理表4000に格納されているノード情報を、ストレージノードA1100に送信する(S115)。具体的には、対象ノードの基本制御サブプログラム1131がノード管理表4000に格納されているノード情報を読み込み、対象ノードの問合せ応答制御サブプログラム1127が、読み込まれたノード情報を、ノード情報の取得の要求に対する応答とともにノード情報の取得の要求元(ストレージノードA1100)に送信する。
【0119】
送信するノード情報の内容には、ステップ112と同様に、全てのデータ(例えば、ノード名4010及び識別情報4020)が含まれる。また、一部のデータのみ(例えば、識別情報4020のみ)が含まれてもよい。
【0120】
次に、ストレージノードA1100の基本制御サブプログラム1131は、ステップ115で対象ノードから送信されたノード情報を、ストレージノードA1100のノード管理表4000に格納する(S116)。具体的には、ストレージノードA1100の問合せ要求サブプログラム1126は、対象ノードからノード情報の取得の要求に対する応答を受信し、ストレージノードA1100の基本制御サブプログラム1131が、応答とともに送信されたノード情報を、ストレージノードA1100のノード管理表4000に格納する。そして、処理は終了する。
【0121】
ノード探索処理は、例えば、定期的に情報を更新するために実行される。また、ノード登録が要求された場合に、他のストレージノードにノード登録を要求したストレージノードの情報を即座に伝播させるために、ノード探索処理が実行されてもよい。
【0122】
また、ノード探索処理は、オーバーレイネットワークへのノード登録又はストレージノードの離脱が発生する度に実行されてもよい。
【0123】
また、ノード離脱処理について、ここでは、図を用いて説明せず、概略のみ説明する。ノード離脱処理は、例えば、ノード探索処理を実行した場合に、対象ノードが離脱したストレージノードにアクセスを試みたとき、所定の時間内に応答がなかったストレージノードを離脱ノードとして、自身のノード管理表4000から応答がなかったストレージノードの情報を削除する。
【0124】
図10は、本発明の第1の実施の形態のファイル登録処理のフローチャートであり、ファイル登録サブプログラム1132によって実行される。
【0125】
ファイル登録処理は、オーバーレイネットワークに新規に共有ファイルを登録する場合に、共有ファイルの登録を要求するストレージノード(ここではストレージノードA1100として説明する)が実行する。
【0126】
まず、ファイル登録サブプログラム1132は、新規に登録する共有ファイル(以降、対象ファイルとして説明する)の冗長格納数を取得し、一時変数「S」に格納する(S121)。冗長格納数は、対象ファイルを分散して格納するために、対象ファイルを複製する数である。冗長格納数は、例えば、対象ファイルのメタデータとして指定されている値が利用される。また、システム全体で規定されている値が利用されてもよい。
【0127】
次に、ファイル登録サブプログラム1132は、ノード管理表4000からノード一覧情報を取得し、一時領域にノード一覧情報を格納する(S122)。ノード一覧情報には、例えば、ノード名及び識別情報が含まれる。
【0128】
次に、ファイル登録サブプログラム1132は、ステップ122で格納されたノード一覧情報に登録されている全てのストレージノードについて、ステップ124以降の処理を終了したか否かを判定する(S123)。
【0129】
全てのストレージノードについて、ステップ124以降の処理を終了した場合、対象ファイルの格納先となるストレージノードが必要数(冗長格納数)分確保されないため、処理はステップ133に進む。
【0130】
一方、全てのストレージノードについて、ステップ124以降の処理を終了していない場合、ファイル登録サブプログラム1132は、対象ファイルの格納先となるストレージノードを必要数分確保する必要がある。この場合、処理はステップ124に進む。
【0131】
次に、ファイル登録サブプログラム1132は、ステップ122で取得したノード一覧情報から格納先ノード候補を選択し、格納先ノード候補一覧を作成する(S124)。ここで、格納先ノード候補を選択する方法は、例えば、ノード一覧情報に登録されている順序でストレージノードの候補が選択される方法がある。また、ランダムにストレージノードの候補が選択される方法でもよい。また、ノード名のハッシュ値を用いて均等に格納先のストレージノードがばらけるように選択される方法でもよい。
【0132】
次に、ファイル登録サブプログラム1132は、ステップ124で作成された格納先ノード候補一覧に登録されている全てのストレージノードについて、ステップ127以降の処理を終了したか否かを判定する(S125)。
【0133】
全てのストレージノードについて、ステップ127以降の処理を終了している場合、処理はステップ126に進む。
【0134】
一方、全てのストレージノードについて、ステップ127以降の処理を終了していない場合、ファイル登録サブプログラム1132は、対象ファイルの格納先となるストレージノードを必要数分確保する必要がある。この場合、処理はステップ127に進む。
【0135】
次に、ファイル登録サブプログラム1132は、格納先ノード候補一覧からステップ128以降の処理を実行していないストレージノードを一つ選択する(S127)。ストレージノードを一つ選択する方法は、格納先ノード候補一覧の中からランダムに選択される方法がある。
【0136】
次に、ファイル登録サブプログラム1132は、対象ファイルの保管拒否ロケーション情報4220が選択されたストレージノードのロケーション情報を包含するか否かを判定する(S128)。具体的には、ファイル登録サブプログラム1132は、対象ファイルのメタデータとして共有ファイルメタデータ管理表4200に格納されている保管拒否ロケーション情報4220を参照し、保管拒否ロケーション情報4220に示される場所が、ステップ127で選択されたストレージノードのノード設置ロケーション情報管理表4100に格納されているノード設置ロケーション情報4110を含むか否かを判定する。
【0137】
選択されたストレージノードのロケーション情報を包含する場合、ファイル登録サブプログラム1132は、選択されたストレージノードに対象ファイルを格納することができないと判断する。この場合、処理はステップ125に戻る。
【0138】
一方、選択されたストレージノードのロケーション情報を包含しない場合、処理はステップ129に進む。
【0139】
次に、ファイル登録サブプログラム1132は、対象ファイルの保管許可ロケーション情報4210が選択されたストレージノードのロケーション情報を包含するか否かを判定する(S129)。具体的には、ファイル登録サブプログラム1132は、対象ファイルのメタデータとして共有ファイルメタデータ管理表4200に格納されている保管許可ロケーション情報4210を参照し、保管許可ロケーション情報4210に示される場所が、ステップ127で選択されたストレージノードのノード設置ロケーション情報管理表4100に格納されているノード設置ロケーション情報4110を含むか否かを判定する。
【0140】
選択されたストレージノードのロケーション情報を包含しない場合、ファイル登録サブプログラム1132は、選択されたストレージノードに対象ファイルを格納することができないと判断する。この場合、処理はステップ125に戻る。
【0141】
一方、選択されたストレージノードのロケーション情報を包含する場合、処理はステップ130に進む。
【0142】
次に、ファイル登録サブプログラム1132は、選択されたストレージノードを格納先ノードとして決定し、一時変数「S」をデクリメントする(S130)。
【0143】
次に、ファイル登録サブプログラム1132は、一時変数「S」が「0」であるか否かを判定する(S131)。
【0144】
一時変数「S」が「0」でない場合、対象ファイルを格納する必要数分のストレージノードが確保されていないと判断する。この場合、処理はステップ125に戻る。
【0145】
一方、一時変数「S」が「0」になっている場合、対象ファイルを格納する必要数分のストレージノードが確保されていると判断する。この場合、処理はステップ132に進む。
【0146】
次に、ファイル登録サブプログラム1132は、前記冗長格納数と同じ数だけ対象ファイルを複製し、ステップ130で決定された格納先ノードに対象ファイルを格納する(S132)。ここで、格納先ノードが他のストレージノード(対象ノード)である場合には、問合せ要求制御プログラム1126が、対象ノードに対象ファイルの格納を要求する。対象ファイルの格納を要求されたストレージノードの問合せ応答制御プログラム1127は、対象ファイルの格納の要求を受信し、対象ファイルを格納する。そして、対象ファイルの格納を要求した要求元に格納された結果を送信する。
【0147】
ステップ126で、ファイル登録サブプログラム1132は、格納先ノード候補一覧に登録されているストレージノードのノード情報を、一時領域に格納したノード一覧情報から削除する(S126)。そして、処理はステップ123に戻る。
【0148】
ステップ133で、ファイル登録サブプログラム1132は、格納先ノードを必要分発見できないため、エラーとなる。この場合、処理は終了する(S133)。
【0149】
図11は、本発明の第1の実施の形態のファイル移動・複製処理のフローチャートであり、ファイル複製・移動サブプログラム1133によって実行される。
【0150】
ファイル複製・移動処理は、オーバーレイネットワークに登録されている共有ファイル(以降、対象ファイルとして説明する)を、ストレージノードにまたがって複製又は移動する場合に、複製又は移動を要求するストレージノード(ここではストレージノードA1100として説明する)によって実行される。
【0151】
ファイル複製・移動処理は、共有ファイルの複製数を増減させることによって、ファイルアクセスの応答性能の調整を可能にするとともに、停止予定のストレージノードに格納されている共有ファイルを、事前に別のストレージノードに移動させることによって、共有ファイルへのアクセス可用性の維持を可能にする。
【0152】
まず、ファイル複製・移動サブプログラム1133は、ノード管理表4000からノード一覧情報を取得し、一時領域にノード一覧情報を格納する(S141)。ノード一覧情報には、例えば、ノード名及び識別情報が含まれる。
【0153】
次に、ファイル複製・移動サブプログラム1133は、ステップ141で格納されたノード一覧情報に登録されている全てのストレージノードについて、ステップ143以降の処理を終了したか否かを判定する(S142)。
【0154】
全てのストレージノードについて、ステップ143以降の処理を終了した場合、格納先となるストレージノードが確保されないため、処理はステップ150に進む。
【0155】
一方、全てのストレージノードについて、ステップ143以降の処理を終了していない場合、ファイル複製・移動サブプログラム1133は、対象ファイルの格納先となるストレージノードを確保する必要がある。この場合、処理はステップ143に進む。
【0156】
次に、ファイル複製・移動サブプログラム1133は、ステップ141で取得したノード一覧情報の中から格納先ノード候補を選択して格納先ノード候補一覧を作成する(S143)。ここで、格納先ノードを選択する方法は、例えば、ノード一覧情報に登録されている順序でストレージノードの候補が選択される方法がある。また、ランダムにストレージノードの候補が選択される方法でもよい。また、ノード名のハッシュ値を用いて均等に格納先のストレージノードがばらけるように選択される方法でもよい。
【0157】
次に、ファイル複製・移動サブプログラム1133は、ステップ143で作成された格納先ノード候補一覧に登録されている全てのストレージノードについて、ステップ146以降の処理を終了したか否かを判定する(S144)。
【0158】
全てのストレージノードについて、ステップ146以降の処理を終了していた場合、処理はステップ145に進む。
【0159】
一方、全てのストレージノードについて、ステップ146以降の処理を終了していない場合、ファイル複製・移動サブプログラム1133は、対象ファイルの格納先となるストレージノードを確保する必要がある。この場合、処理はステップ146に進む。
【0160】
次に、ファイル複製・移動サブプログラム1133は、格納先ノード候補一覧からステップ147以降の処理を終了していないストレージノードを一つ選択する(S146)。ストレージノードを一つ選択する方法は、格納先ノード候補一覧の中からランダムに選択される方法がある。
【0161】
次に、ファイル複製・移動サブプログラム1133は、対象ファイルの保管拒否ロケーション情報4220が選択されたストレージノードのロケーション情報を包含するか否かを判定する(S147)。具体的には、ファイル複製・移動サブプログラム1133は、対象ファイルのメタデータとして共有ファイルメタデータ管理表4200に格納されている保管拒否ロケーション情報4220を参照し、保管拒否ロケーション情報4220に示される場所が、ステップ146で選択されたストレージノードのノード設置ロケーション情報管理表4100に格納されているノード設置ロケーション情報4110を含むか否かを判定する。
【0162】
選択されたストレージノードのロケーション情報を包含する場合、ファイル複製・移動サブプログラム1133は、選択されたストレージノードに対象ファイルを複製又は移動することができないと判断する。この場合、処理はステップ144に戻る。
【0163】
一方、選択されたストレージノードのロケーション情報を包含しない場合、処理はステップ148に進む。
【0164】
次に、ファイル複製・移動サブプログラム1133は、対象ファイルの保管許可ロケーション情報4210が選択されたストレージノードのロケーション情報を包含するか否かを判定する(S148)。具体的には、ファイル複製・移動サブプログラム1133は、対象ファイルのメタデータとして共有ファイルメタデータ管理表4200に格納されている保管許可ロケーション情報4210を参照し、保管許可ロケーション情報4210に示される場所が、ステップ146で選択されたストレージノードのノード設置ロケーション情報管理表4100に格納されているノード設置ロケーション情報4110を含むか否かを判定する。
【0165】
選択されたストレージノードのロケーション情報を包含しない場合、ファイル複製・移動サブプログラム1133は、選択されたストレージノードに対象ファイルを複製又は移動することができないと判断する。この場合、処理はステップ144に戻る。
【0166】
一方、選択されたストレージノードのロケーション情報を包含する場合、処理はステップ149に進む。
【0167】
次に、ファイル複製・移動サブプログラム1133は、ステップ148でロケーション情報を包含すると判定されたストレージノード(格納先ノード)に対象ファイルを複製・移動する(S149)。ここで、格納先ノードが他のストレージノード(対象ノード)である場合には、問合せ要求制御プログラム1126が、対象ノードに対象ファイルの複製又は移動を要求する。対象ファイルの複製又は移動を要求されたストレージノードの問合せ応答制御プログラム1127は、対象ファイルの複製又は移動の要求を受信し、複製又は移動された対象ファイルを格納する。そして、対象ノードは、対象ファイルの複製又は移動を要求したストレージノードA1100に複製又は移動された結果を送信する。
【0168】
ステップ145で、ファイル複製・移動サブプログラム1133は、格納先ノード候補一覧に登録されているストレージノードのノード情報を、一時領域に格納したノード一覧情報から削除する(S145)。そして、処理はステップ142に戻る。
【0169】
ステップ150で、ファイル複製・移動サブプログラム1133は、格納先ノードを発見できないため、エラーとする。この場合、処理は終了する(S150)。
【0170】
図12は、本発明の第1の実施の形態のファイルアクセス処理のフローチャートであり、ファイルアクセスサブプログラム1134によって実行される。
【0171】
ファイルアクセス処理は、オーバーレイネットワークに登録されている共有ファイル(以降、対象ファイルとして説明する)にアクセス要求があった場合に、アクセスを要求するストレージノード(ここでは、ストレージノードA1100として説明する)が実行する。
【0172】
まず、ファイルアクセスサブプログラム1134は、アクセスを要求する対象ファイルを探索し、対象ファイルが存在するノード一覧表を作成する(S161)。ここで、対象ファイルの探索は、問合せ要求制御サブプログラム1126が、ノード管理表4000から任意の複数のストレージノードを選択し、選択された複数のストレージノードに対象ファイルが存在するか否かを問い合わせる。ストレージノードを選択する方法は、例えば、ランダムに複数のストレージノードを選択する方法がある。
【0173】
ステップ161で選択されたストレージノード(対象ノード)の問合せ応答制御サブプログラム1127は、問い合わせの要求を受け付け、対象ファイルが存在するか否かを確認し、その結果を応答としてストレージノードA1100に送信。対象ファイルが存在する場合には、対象ノードの問合せ応答制御サブプログラム1127は、対象ファイルが持つメタデータの情報とともにストレージノードA1100に応答を送信する。
【0174】
次に、ファイルアクセスサブプログラム1134は、ステップ161で対象ノードから受信した応答に基づいて、対象ファイルが見つかったか否かを判定する(S162)。
【0175】
対象ファイルが見つからなかった場合には、ファイルアクセスサブプログラム1134は、アクセスを要求する対象ファイルを発見することができなかったと判断する。この場合、処理はステップ169に進む。
【0176】
一方、対象ファイルが見つかった場合には、ファイルアクセスサブプログラム1134は、対象ファイルにアクセスを要求することができるか否かを判断する必要がある。この場合、処理はステップ163に進む。
【0177】
次に、ファイルアクセスサブプログラム1134は、対象ファイルのアクセス許可/拒否ロケーション情報を取得する(S163)。具体的には、ファイルアクセスサブプログラム1134は、対象ファイルの共有ファイルメタデータ管理表4200を参照し、アクセス許可ロケーション情報4230及びアクセス拒否ロケーション情報4240を取得する。
【0178】
次に、ファイルアクセスサブプログラム1134は、対象ファイルへのアクセス要求者が存在する場所(例えば、クライアントノード2000が設置される場所)の情報(存在ロケーション情報)を取得する(S164)。
【0179】
ここで、アクセス要求者の存在する場所の情報を取得する方法は、例えば、アクセス要求者からのアクセス要求を最初に受け付けた制御装置(例えば、ストレージノードA1100)の場所情報を利用する方法である。また、制御装置がアクセス要求者の存在場所の情報に、GPSによって取得された位置情報が利用される方法であってもよい。また、アクセス要求者のアクセス要求時点における存在場所を第三者機関(例えば、認証サーバ3000)が認証し、認証された結果が利用される方法であってもよい。
【0180】
次に、ファイルアクセスサブプログラム1134は、対象ファイルのアクセス拒否ロケーション情報4240がアクセス要求者の存在ロケーション情報を包含するか否かを判定する(S165)。具体的には、ファイルアクセスサブプログラム1134は、対象ファイルのメタデータとして共有ファイルメタデータ管理表4200に登録されているアクセス拒否ロケーション情報4240を参照し、アクセス拒否ロケーション情報4240に示される場所が、ステップ164で取得したアクセス要求者の存在ロケーション情報を含むか否かを判定する。
【0181】
アクセス要求者の存在ロケーション情報を包含する場合、ファイルアクセスサブプログラム1134は、アクセス要求者の対象ファイルへのアクセスが許可されていないと判断する。この場合、処理はステップ168に進む。
【0182】
一方、アクセス要求者の存在ロケーション情報を包含しない場合、処理はステップ166に進む。
【0183】
次に、ファイルアクセスサブプログラム1134は、対象ファイルのアクセス許可ロケーション情報4230がアクセス要求者の存在ロケーション情報を包含するか否かを判定する(S166)。具体的には、ファイルアクセスサブプログラム1134は、対象ファイルのメタデータとして共有ファイルメタデータ管理表4200に登録されているアクセス許可ロケーション情報4230を参照し、アクセス許可ロケーション情報4230に示される場所が、ステップ164で取得したアクセス要求者の存在ロケーション情報を含むか否かを判定する。
【0184】
アクセス要求者の存在ロケーション情報を包含しない場合、ファイルアクセスサブプログラム1134は、アクセス要求者の対象ファイルへのアクセスが許可されていないと判断する。この場合、処理はステップ168に進む。
【0185】
一方、アクセス要求者の存在ロケーション情報を包含する場合、ファイルアクセスサブプログラム1134は、アクセス要求者の対象ファイルへのアクセスが許可されていると判断する。この場合、処理はステップ167に進む。
【0186】
次に、ファイルアクセスサブプログラム1134は、ステップ161で作成されたノード一覧表から、任意のストレージノードを選択し、選択されたストレージノードの情報をアクセス要求者に提供する。そして、アクセス要求者は、情報が提供されたストレージノードにアクセスする(S167)。
【0187】
ここで、任意のストレージノードを選択する方法は、例えば、ステップ161で作成されたノード一覧表から、ランダムに選択される方法がある。また、ノード一覧表から、アクセス要求者に最も近いストレージノードが選択される方法であってもよい。また、ノード一覧表から、アクセス時間が最も短いストレージノードが選択される方法であってもよい。
【0188】
ステップ168で、ファイルアクセスサブプログラム1134は、対象ファイルへのアクセスが許可されていないと判断するため、アクセス要求者に対象ファイルへアクセスさせずにエラーとする(S168)。この場合、処理は終了する。
【0189】
ステップ169で、ファイルアクセスサブプログラム1134は、対象ファイルを発見することができないため、エラーとして処理を終了する(S169)。
【0190】
本発明の第1の実施の形態では、共有ファイルを格納するシステムについて説明したが、ファイル以外にも、例えば、データ、ブロック単位の情報、固定長のデータ及びレコード等を共有して格納するシステムであってもよい。
【0191】
本発明の第1の実施の形態では、共有ファイルを格納するストレージノードを共有ファイル毎に指定することが可能となるため、共有ファイルの格納が許可されない場所に設置されているストレージノードへの共有ファイルの格納を抑止することによって、不要な通信を削除するとともに、無駄なストレージ利用を抑止することができる。また、共有ファイルにアクセスする場所を、共有ファイル毎に指定することが可能となるため、アクセスが許可されていない場所からのアクセスを禁止することができる。
【0192】
また、本発明の第1の実施の形態は、ストレージノード(制御装置)で構成するように説明したが、その他に、制御システム又は制御方法として構成することもできる。第1の実施の形態は、前述したストレージノード(制御装置)を実現するコンピュータプログラム、プログラムを記録した記録媒体、及び、プログラムを含み搬送波内に具現化されたデータ信号等、種々の態様で実現することが可能である。
【0193】
なお、本発明の実施の形態をコンピュータプログラム又はプログラムを記録した記録媒体として構成する場合には、制御装置又は制御装置を制御するプログラム全体として構成することができる。また、第1の実施の形態の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体として、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、パンチカード、バーコード等の符号が印刷された印刷物、及び、コンピュータの内部記憶装置及び外部記憶装置が読み取り可能な種々の揮発性記憶媒体及び不揮発性記憶媒体を利用することができる。
【0194】
<第2の実施の形態>
第1の実施の形態では、図1に示されるシステム構成に基づいて、共有ファイルの格納先ノードと、アクセス要求者の存在場所とに基づいて共有ファイルへのアクセスを制御するものであった。第2の実施の形態では、ネットワークの通信料金を最適にするための制御について説明する。第2の実施の形態のうち、第1の実施の形態と同様の部分については説明を省略する。
【0195】
図13は、本発明の第2の実施の形態のシステムの構成図である。
【0196】
第1の実施の形態と異なるのは、各ISPに管理サーバ3100、3200、3300、3400及び3500が接続される点である。
【0197】
管理サーバ3100は、ISPによって提供されるネットワークサービスに関する情報、及び、通信料金に関する情報を提供する。管理サーバ3200、3300、3400及び3500は、管理サーバ3100と同様の構成である。なお、図13に示されるシステムでは、各ISPに一つの管理サーバが接続されているが、複数の管理サーバが接続されてもよい。
【0198】
図14は、本発明の第2の実施の形態の管理サーバ3100のハードウェア構成図である。
【0199】
管理サーバ3100は、プロセッサ3110、メモリ3120、外部記憶装置I/F3140及びネットワークI/F3150を備える。各構成は、バス3160によって接続される。管理サーバ3100は、外部記憶装置I/F3140を介して外部記憶装置3170と接続する。
【0200】
プロセッサ3110は、メモリ3120に格納されるプログラムを実行し、管理サーバ3100全体を制御する。
【0201】
メモリ3120は、プロセッサ3110によって実行されるプログラム及び/又はデータを一時的に格納する。メモリ3120は、例えば、RAMのような半導体メモリで構成するとよい。
【0202】
メモリ3120は、外部記憶装置I/F制御プログラム3121、ネットワークI/F制御プログラム3122、ローカルファイルシステム制御プログラム3123、分散ファイルシステム管理プログラム3125、ISP情報管理表4300及びキャッシュメモリ3130を格納する。
【0203】
外部記憶装置I/F制御プログラム3121は、外部記憶装置I/F3140を制御する。ネットワークI/F制御プログラム3122は、ネットワークI/F3150を制御する。
【0204】
ローカルファイルシステム制御プログラム3123は、キャッシュメモリ制御サブプログラム3124を含む。ローカルファイルシステム制御プログラム3123は、管理サーバ3100で提供されるファイルシステムを制御する。キャッシュメモリ制御サブプログラム3124は、キャッシュメモリ3130を制御する。
【0205】
分散ファイルシステム管理プログラム3125は、問合せ要求制御サブプログラム3126、問合せ応答制御サブプログラム3127、基本制御サブプログラム3131、ファイル登録サブプログラム3132を含む。
【0206】
分散ファイルシステム管理プログラム3125は、ISPで提供されるネットワークサービスに関する情報、及び、通信料金に関する情報を管理する。
【0207】
問合せ要求制御サブプログラム3126は、オーバーレイネットワークを構成する他の管理サーバに送信する問い合わせ要求を制御する。
【0208】
問合せ応答制御サブプログラム3127は、オーバーレイネットワークを構成する他の管理サーバからの問い合わせ要求を受信し、要求された処理を実行し、処理された結果の返答を制御する。
【0209】
基本制御サブプログラム3131は、管理サーバ3100の情報を管理する。例えば、基本制御サブプログラム3131は、管理サーバ3100に関する情報(識別情報)をISP情報管理表4300に格納する。
【0210】
ISP情報管理表4300は、管理サーバ3100が認識しているISP、認識されているISPに存在する管理サーバの識別情報、及び、認識しているISPに到達するためのネットワークの通信料金に関する情報を保持する。ISP情報管理表4300については、図15を用いて後述する。
【0211】
キャッシュメモリ3130は、ファイルシステムによって管理されているファイルにアクセスする場合に、アクセスのレスポンスタイムを短縮するために利用される。
【0212】
外部記憶装置I/F3140は、外部記憶装置3170にアクセスするためのインタフェースである。ネットワークI/F3150は、ネットワークを介して接続された他の装置にアクセスするためのインタフェースである。
【0213】
外部記憶装置3170は、プログラム又はユーザデータ等を記憶する。外部記憶装置3170は、例えば、ハードディスクドライブ(HDD)で構成するとよい。また、フラッシュメモリのような半導体記憶装置で構成してもよい。
【0214】
図15は、本発明の第2の実施の形態のISP情報管理表4300の構成を示す。
【0215】
ISP情報管理表4300は、管理サーバ3100が認識しているISP、認識されているISPに存在する管理サーバの識別情報、及び、認識しているISPに到達するためのネットワークの通信料金に関する情報を保持する。
【0216】
ISP情報管理表4300は、ISP名4310、ISPの管理サーバ識別情報4320及び通信料金4330を含む。
【0217】
ISP名4310は、ISPをネットワーク上で識別する情報である。図15に示されるISPの管理サーバ識別情報4320は、文字列の情報が格納されているが、例えば、ISPを識別するIDのような数値の情報が格納されてもよい。
【0218】
ISPの管理サーバ識別情報4320は、通常のネットワークに接続されるISPの管理サーバの識別情報である。ISPの管理サーバ識別情報4320は、ネットワークを介して管理サーバにアクセスする場合に、アクセス先を指定するために用いられる。なお、図15に示されるISPの管理サーバ識別情報4320は、IPアドレスが格納されているが、例えば、管理サーバを特定するID情報が格納されてもよい。また、文字列の情報が格納されてもよい。
【0219】
通信料金4330は、管理サーバ3100自身が接続されるISPネットワークから、通信の対象となる管理サーバが接続されるISPのネットワークまでの通信料金である。通信料金4330は、一方のISPがもう一方のISPに支払う金額が用いられる。また、設備及び運用上、誰かが負担しなければならない金額が用いられてもよい。
【0220】
図15に示す例では、ISPの情報が五つ格納されている。また、ISP情報管理表4300の第1行のISP名4310、ISPの管理サーバ識別情報4320及び通信料金4330として、それぞれ「ISP1」、「10.20.30.200」及び「30」が格納されている。これは、ネットワーク上に「ISP1」という名前の管理サーバが存在し、「ISP1」には、あて先「10.20.30.200」という情報でアクセスでき、「ISP1」にアクセスするためには、通信料金が「30」で示される金額を支払う必要があることを示している。
【0221】
このISP情報管理表4300の内容は、管理サーバが定期的に情報を交換し合うことによって内容を更新する。内容を更新する方法は、図9に示されるノード探索処理のフローチャートと同様に、他の管理サーバにISP情報管理表4300の内容を問い合わせることによって更新される。
【0222】
図16は、本発明の第2の実施の形態のノード管理表4000の構成を示す。
【0223】
第1の実施の形態と異なるのは、ノード管理表4000がノード通信料金4030を含む点である。
【0224】
ノード通信料金4030は、対象となるストレージノードと通信する時にかかる通信料金である。ノード通信料金4030は、ノード管理表4000の内容を更新するときを契機として更新する。通信料金に関する情報は、後述する図17で説明するノード設置ロケーション情報管理表4100の管理サーバ識別情報4140に対応する管理サーバに問い合わせることによって取得される。通信料金に関する情報を取得する方法は、図9に示されるノード探索処理のフローチャートと同様に、他の管理サーバに通信料金に関する情報を問い合わせることによって取得される。
【0225】
図16に示す例では、ノード管理表4000の第1行のノード名4010、識別情報4020及びノード通信料金4030として、それぞれストレージノードA」、「10.20.30.40」及び「30」が格納されている。これは、オーバーレイネットワークに参加している「ストレージノードA」という名前のストレージノードが存在し、「ストレージノードA」には、あて先「10.20.30.40」という情報でアクセスでき、「ストレージノードA」にアクセスするためには、通信料金が「30」で示される金額を支払う必要があることを示している。
【0226】
図17は、本発明の第2の実施の形態のノード設置ロケーション情報管理表4100の構成を示す。
【0227】
第1の実施の形態と異なるのは、ノード設置ロケーション情報管理表4100が利用ISP情報4130及び利用ISPの管理サーバ識別情報4140を含む点である。
【0228】
利用ISP情報4130は、ストレージノードが接続しているネットワークサービスを提供するISPを識別する情報である。なお、ストレージノードが複数のISPを利用する場合には、ISPを識別する情報が複数格納される。
【0229】
利用ISPの管理サーバ識別情報4140は、利用ISP情報4130に示されるISPに接続される管理サーバのネットワーク上の識別情報である。
【0230】
利用ISP情報4130及び利用ISPの管理サーバ識別情報4140は、ノード設置ロケーション情報4110を格納するときに同様に格納する。
【0231】
図17に示す例では、ノード設置ロケーション情報管理表4100の利用ISP情報及び利用ISPの管理サーバ識別情報4140として、それぞれ「ISP2」及び「10.100.30.200」が格納されている。これは、ストレージノードが利用するネットワークサービスを提供するISPは、「ISP2」という名前であり、「ISP2」に属している管理サーバの識別情報は、「10.100.30.200」であることを示している。
【0232】
図18は、本発明の第2の実施の形態のノード探索処理のフローチャートである。
【0233】
第1の実施の形態と異なるのは、図9のステップ114及びステップ115の間にステップ117が追加され、図9のステップ116の次にステップ118が追加される点である。
【0234】
ステップ117で、対象ノードの問合せ応答制御サブプログラム1127は、ノード設置ロケーション情報管理表4100の管理サーバ識別情報4140に基づいて、各ISPの管理サーバに通信料金を問い合わせ、ノード管理表4000に反映する(S117)。
【0235】
もし、問い合わせ先の管理サーバのみでは必要な情報が取得できない場合には、問い合わせ先の管理サーバが、自身のサーバに格納されているISP情報管理表4300に登録されている他の管理サーバに順次問い合わせることによって、情報を取得する。
【0236】
ステップ118で、ストレージノードA1100の問合せ要求制御サブプログラム1126は、各ISPの管理サーバに通信料金を問い合わせ、ストレージノードA1100の基本制御サブプログラム1131は、各ISPの管理サーバから取得した通信料金をノード管理表4000に反映する(S118)。そして、処理は終了する。
【0237】
図19は、本発明の第2の実施の形態のファイルアクセス処理のフローチャートである。
【0238】
第1の実施の形態と異なるのは、図12のステップ167の代わりにステップ170の処理を実行する点である。
【0239】
ステップ170で、ファイルアクセスサブプログラム1134は、テップ161で作成されたノード一覧表から、ノード通信料金が最も安いノードを選択し、選択されたストレージノードの情報をアクセス要求者に提供する。そして、アクセス要求者は、情報が提供されたストレージノードにアクセスする(S170)。
【0240】
第1の実施の形態では、対象ファイルのアクセス先を任意で決めていたが、第2の実施の形態では、通信料金が安いストレージノードを選択することが可能になる。したがって、通信料金が最小となるストレージノードの共有ファイルに優先的にアクセスするように制御することによって、ファイル共有サービスに要する通信料金を削減することができる。
【図面の簡単な説明】
【0241】
【図1】本発明の第1の実施の形態のシステムの構成図である。
【図2】本発明の第1の実施の形態のストレージノードのハードウェア構成図である。
【図3】本発明の第1の形態のクライアントノードのハードウェア構成図である。
【図4】本発明の第1の形態のノード管理表の構成を示す。
【図5】本発明の第1の実施の形態のノード設置ロケーション情報管理表の構成を示す。
【図6】本発明の第1の実施の形態の共有ファイルメタデータ管理表の構成を示す。
【図7】本発明の第1の実施の形態のシステム構成において、共有ファイルがどのストレージノードに格納されているかを模式的に示した図である。
【図8】本発明の第1の実施の形態のノード登録処理のフローチャートである。
【図9】本発明の第1の実施の形態のノード探索処理のフローチャートである。
【図10】本発明の第1の実施の形態のファイル登録処理のフローチャートである。
【図11】本発明の第1の実施の形態のファイル移動・複製処理のフローチャートである。
【図12】本発明の第1の実施の形態のファイルアクセス処理のフローチャートである。
【図13】本発明の第2の実施の形態のシステムの構成図である。
【図14】本発明の第2の実施の形態の管理サーバのハードウェア構成図である。
【図15】本発明の第2の実施の形態のISP情報管理表の構成を示す。
【図16】本発明の第2の実施の形態のノード管理表の構成を示す。
【図17】本発明の第2の実施の形態のノード設置ロケーション情報管理表の構成を示す。
【図18】本発明の第2の実施の形態のノード探索処理のフローチャートである。
【図19】本発明の第2の実施の形態のファイルアクセス処理のフローチャートである。
【符号の説明】
【0242】
1、2、3、4、5 ISP
10 インターネット
11、12 Area
1100、1200、1300、1400、1500 ストレージノード
2000、2100、2900 クライアントノード
1110、2010、3110 プロセッサ
1120、2020、3120 メモリ
1121、2021、3121 外部記憶装置I/F制御プログラム
1122、2022、3122 ネットワークI/F制御プログラム
1123、2023、3123 ローカルファイルシステム制御プログラム
1124、2024、3124 キャッシュメモリ制御サブプログラム
1125 分散ファイルシステム制御プログラム
1126、2026、3126 問い合わせ要求制御サブプログラム
1127、3127 問い合わせ応答制御サブプログラム
1130、2030、3130 キャッシュメモリ
1140、2040、3140 外部記憶装置I/F
1150、2050、3150 ネットワークI/F
1160、2060、3160 バス
1170、2070、3170 外部記憶装置
4000 ノード管理表
4010 ノード名
4020 識別情報
4030 ノード通信料金
4100 ノード設置ロケーション情報管理表
4110、4120 ノード設置ロケーション情報
4130 利用ISP情報
4140 利用ISPの管理サーバの識別情報
4200 共有ファイルメタデータ管理表
4210 保管許可ロケーション情報
4220 保管拒否ロケーション情報
4230 アクセス許可ロケーション情報
4240 アクセス拒否ロケーション情報
4300 ISP情報管理表
4310 ISP名
4320 管理サーバの識別情報
4330 通信料金

【特許請求の範囲】
【請求項1】
情報資源の複製を分散して格納する複数の情報格納装置と、前記各情報格納装置に格納される情報資源へのアクセスを制御する制御装置と、前記各制御装置を接続するネットワークと、を備える計算機システムに備わる制御装置であって、
前記制御装置は、前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続される記憶部と、を備え、
前記記憶部は、前記情報資源へのアクセスを許可するか否かを示す属性情報を保持し、
前記プロセッサは、
前記ネットワークに接続されたクライアント装置から前記情報資源の書き込み要求を受け付け、
前記保持された属性情報、及び前記各制御装置が設置された場所の情報に基づいて、前記各制御装置が前記要求された書き込みを許可するか否かを判定し、
前記書き込みを許可すると判定された制御装置によって制御される情報格納装置に前記情報資源を書き込むことを特徴とする制御装置。
【請求項2】
前記属性情報は、前記情報資源の書き込みが許可される情報格納装置を制御する制御装置の設置場所の情報、及び、前記情報資源の書き込みが許可されない情報格納装置を制御する制御装置の設置場所の情報を含み、
前記プロセッサは、前記情報格納装置への書き込みが許可された情報資源を複製し、前記書き込みを許可すると判定された制御装置によって制御される情報格納装置に、前記複製された情報資源を格納することを特徴とする請求項1に記載の制御装置。
【請求項3】
前記記憶部は、当該制御装置の設置場所の情報を保持することを特徴とする請求項1に記載の制御装置。
【請求項4】
前記属性情報は、前記情報資源へのアクセスが許可されるクライアント装置が設置された場所の情報、及び、前記情報資源へのアクセスが許可されないクライアント装置が設置された場所の情報を含むことを特徴とする請求項1に記載の制御装置。
【請求項5】
前記記憶部は、前記情報資源のアクセスが許可される情報格納装置を制御する制御装置の設置場所の情報、及び、前記情報資源へのアクセスが許可されるクライアント装置が設置された場所の情報を、前記各情報資源に対応して保持することを特徴とする請求項1に記載の制御装置。
【請求項6】
前記プロセッサは、
前記ネットワークに接続されたクライアント装置から前記情報資源の読み出し要求を受け付け、
前記情報資源へのアクセスを要求するクライアント装置が設置された場所の情報を取得し、
前記保持された属性情報、及び前記取得されたクライアント装置の設置場所の情報に基づいて、前記各制御装置が前記要求された情報資源の読み出しを許可するか否かを判定し、
前記読み出しを許可すると判定された制御装置によって制御される情報格納装置から前記情報資源を読み出すことを特徴とする請求項1に記載の制御装置。
【請求項7】
前記計算機システムは、前記ネットワークを介して前記制御装置に接続された認証装置をさらに備え、
前記認証装置は、前記クライアント装置が設置された場所を認証し、
前記取得されるクライアント装置の設置場所の情報は、前記クライアント装置からのアクセス要求を他の制御装置を介さないで受け付けた制御装置の設置場所の情報、前記クライアント装置によって保持される前記クライアント装置の設置場所の情報、又は、前記認証装置によって認証された前記クライアント装置の設置場所の情報のいずれかであることを特徴とする請求項6に記載の制御装置。
【請求項8】
前記記憶部は、他の前記制御装置へのアクセスに必要な通信料金の情報を保持し、
前記プロセッサは、前記アクセス要求が前記情報資源の読み出し要求である場合、前記読み出しを許可すると判定された制御装置のうち、前記保持された通信料金の情報に基づいて、最も安い通信料金でアクセス可能な制御装置を選択し、前記選択された制御装置によって制御される情報格納装置から前記情報資源を読み出すことを特徴とする請求項1に記載の制御装置。
【請求項9】
前記計算機システムは、前記ネットワークを介して前記制御装置に接続された管理装置をさらに備え、
前記プロセッサは、前記管理装置に前記通信料金の情報を問い合わせ、前記問い合わせによって取得した通信料金の情報を前記記憶部に格納することを特徴とする請求項8に記載の制御装置。
【請求項10】
情報資源の複製を分散して格納する複数の情報格納装置と、前記各情報格納装置に格納される情報資源へのアクセスを制御する制御装置と、前記各制御装置を接続するネットワークと、を備える計算機システムにおける、前記情報資源へのアクセス制御方法であって、
前記制御装置は、前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続される記憶部と、を備え、
前記記憶部は、前記情報資源へのアクセスを許可するか否かを示す属性情報を保持し、
前記アクセス制御方法は、
前記制御装置が、前記ネットワークに接続されたクライアント装置から前記情報資源の書き込み要求を受け付けるステップと、
前記制御装置が、前記保持された属性情報、及び前記各制御装置が設置された場所の情報に基づいて、前記各制御装置が前記要求された書き込みを許可するか否かを判定するステップと、
前記制御装置が、前記書き込みを許可すると判定された制御装置によって制御される情報格納装置に前記情報資源を書き込むステップと、を含むことを特徴とするアクセス制御方法。
【請求項11】
前記属性情報は、前記情報資源の書き込みが許可される情報格納装置を制御する制御装置の設置場所の情報、及び、前記情報資源の書き込みが許可されない情報格納装置を制御する制御装置の設置場所の情報を含み、
前記情報資源を書き込むステップでは、前記制御装置は、前記情報格納装置への書き込みが許可された情報資源を複製し、前記書き込みを許可すると判定された制御装置によって制御される情報格納装置に、前記複製された情報資源を格納することを特徴とする請求項10に記載のアクセス制御方法。
【請求項12】
前記記憶部は、当該制御装置の設置場所の情報を保持することを特徴とする請求項10に記載のアクセス制御方法。
【請求項13】
前記属性情報は、前記情報資源へのアクセスが許可されるクライアント装置が設置された場所の情報、及び、前記情報資源へのアクセスが許可されないクライアント装置が設置された場所の情報を含むことを特徴とする請求項10に記載のアクセス制御方法。
【請求項14】
前記記憶部は、前記情報資源のアクセスが許可される情報格納装置を制御する制御装置の設置場所の情報、及び、前記情報資源へのアクセスが許可されるクライアント装置が設置された場所の情報を、前記各情報資源に対応して保持することを特徴とする請求項10に記載のアクセス制御方法。
【請求項15】
前記アクセス制御方法は、さらに、
前記制御装置が、前記ネットワークに接続されたクライアント装置から前記情報資源の読み出し要求を受け付けるステップと、
前記制御装置が、前記情報資源へのアクセスを要求するクライアント装置が設置された場所の情報を取得するステップと、
前記制御装置が、前記保持された属性情報、及び前記取得されたクライアント装置の設置場所の情報に基づいて、前記各制御装置が前記要求された情報資源の読み出しを許可するか否かを判定するステップと、
前記制御装置が、前記読み出しを許可すると判定された制御装置によって制御される情報格納装置から前記情報資源を読み出すステップと、を含むことを特徴とする請求項10に記載のアクセス制御方法。
【請求項16】
前記計算機システムは、前記ネットワークを介して前記制御装置に接続された認証装置をさらに備え、
前記アクセス制御方法は、さらに、
前記認証装置が、前記クライアント装置が設置された場所を認証するステップを含み、
前記クライアント装置の設置場所の情報を取得するステップでは、前記制御装置は、前記クライアント装置からのアクセス要求を他の制御装置を介さないで受け付けた制御装置の設置場所の情報、前記クライアント装置によって保持される前記クライアント装置の設置場所の情報、又は、前記認証装置によって認証された前記クライアント装置の設置場所の情報のいずれかを取得することを特徴とする請求項15に記載のアクセス制御方法。
【請求項17】
前記記憶部は、他の前記制御装置へのアクセスに必要な通信料金の情報を保持し、
前記情報資源を読み出すステップでは、前記制御装置は、前記読み出しを許可すると判定された制御装置のうち、前記保持された通信料金の情報に基づいて、最も安い通信料金でアクセス可能な制御装置を選択し、前記選択された制御装置によって制御される情報格納装置から前記情報資源を読み出すことを特徴とする請求項10に記載のアクセス制御方法。
【請求項18】
前記計算機システムは、前記ネットワークを介して前記制御装置に接続された管理装置をさらに備え、
前記アクセス制御方法は、さらに、
前記制御装置が、前記管理装置に前記通信料金の情報を問い合わせるステップと、
前記制御装置が、前記問い合わせによって取得した通信料金の情報を前記記憶部に格納するステップと、を含むことを特徴とする請求項17に記載のアクセス制御方法。
【請求項19】
ファイルの複製を分散して格納する複数のストレージサブシステムと、前記各ストレージサブシステムに格納されるファイルへのアクセスを制御するストレージノードと、を備え、前記格納されたファイルをクライアント装置に提供する計算機システムであって、
前記ストレージノードは、前記ネットワークに接続される第1インタフェースと、前記ストレージサブシステムに接続される第2インタフェースと、前記第1及び第2インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記ストレージノードは、
前記ストレージノードに関する情報を保持するノード管理情報と、
前記ファイルへのアクセスを許可するか否かを示す属性情報と、を保持し、
前記ストレージノードは、
前記ネットワークを介して接続された他のストレージノードに前記属性情報を要求する問合せ要求制御部と、
前記ネットワークを介して接続された他のストレージノードから、前記属性情報の要求を受け付け、前記要求された属性情報を前記ノード管理情報から取得し、前記取得された属性情報を前記属性情報を要求したストレージノードに送信する問合せ応答制御部と、
前記ストレージノードに関する情報を前記ノード管理情報に格納する基本制御部と、
前記クライアント装置から前記ネットワークを介して前記ファイルの書き込み要求を受け付け、前記ノード管理情報に保持された属性情報、及び前記各ストレージノードが設置された場所の情報に基づいて、前記受け付けた書き込み要求を許可するか否かを判定し、前記書き込み要求が許可されたファイルを複製し、前記書き込み要求を許可すると判定されたストレージノードに制御されるストレージサブシステムに前記複製されたファイルを格納するファイル登録部と、
前記クライアント装置から前記ネットワークを介して前記ファイルの複製要求を受け付け、前記複製されるファイルの属性情報、及び前記ストレージノードが設置された場所の情報に基づいて、前記受け付けた複製要求を許可するか否かを判定し、前記複製要求が許可されたファイルを複製し、前記複製要求を許可すると判定されたストレージノードに制御されるストレージサブシステムに前記複製されたファイルを格納するファイル複製部と、
前記クライアント装置から前記ネットワークを介して前記ファイルの読み出し要求を受け付け、前記ファイルの読み出しを要求したクライアント装置が設置された場所の情報を取得し、前記ノード管理情報に保持された属性情報、及び前記取得されたクライアント装置の設置場所の情報に基づいて、前記ファイルの読み出し要求を許可するか否かを判定し、前記読み出しを許可すると判定されたストレージノードに制御されるストレージサブシステムから前記ファイルを読み出すファイルアクセス部とが、前記プロセッサが所定のプログラムを実行することによって備わることを特徴とするストレージノード。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2009−80674(P2009−80674A)
【公開日】平成21年4月16日(2009.4.16)
【国際特許分類】
【出願番号】特願2007−249835(P2007−249835)
【出願日】平成19年9月26日(2007.9.26)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】