JP2004054607A - スイッチ装置、分散オブジェクト管理方法およびプログラム - Google Patents
スイッチ装置、分散オブジェクト管理方法およびプログラム Download PDFInfo
- Publication number
- JP2004054607A JP2004054607A JP2002211382A JP2002211382A JP2004054607A JP 2004054607 A JP2004054607 A JP 2004054607A JP 2002211382 A JP2002211382 A JP 2002211382A JP 2002211382 A JP2002211382 A JP 2002211382A JP 2004054607 A JP2004054607 A JP 2004054607A
- Authority
- JP
- Japan
- Prior art keywords
- location information
- request
- switch device
- server
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
【解決手段】擬似ファイルシステム130は、サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理する。インターセプト判断手段110は、クライアントから受信した要求がオブジェクトを指定した照会要求であれば、それをサーバに転送せずインターセプトして照会要求解決手段120に送る。照会要求解決手段120は、インターセプト判断手段110から照会要求を受けると、照会要求により指定されたオブジェクトのロケーション情報を擬似ファイルシステム130に問い合わせる。そして、照会要求解決手段120は、擬似フィアルシステム130から取得したロケーション情報に基づいて作成した照会応答をクライアントに返送する。
【選択図】 図2
Description
【発明の属する技術分野】
本発明は、クライアントとサーバとの間に論理的に配置されるスイッチ装置に関し、特に、オブジェクトに関する処理を取り扱うクライアント・サーバ・システムに設けられ、各サーバのソフトウェアをアップグレードすることなく、システムに新しい機能を追加することを可能にするスイッチ装置に関する。
【0002】
【従来の技術】
ネットワークに接続された複数のクライアントからのファイルアクセスを容易にするために、分散ファイルシステムが広く利用されている。分散ファイルシステムでは、ファイルやディレクトリなどオブジェクトは、例えば複数のサーバに分散して配置されている。そして、クライアントのアプリケーションは、オブジェクトの存在する位置をシステムに指示することなく所望のオブジェクトにアクセスすることができる。このようなシステムを、位置透過性を持ったシステムという。位置透過性を持ったシステムでは、クライアントのアプリケーションは、オブジェクトの位置、例えばローカルに存在するのか、それともリモートに存在するのかについて全く意識する必要が無い。
【0003】
位置透過性を持ったシステムにおいて、ネットワーク上に分散されたファイルサーバの位置を突きとめて、そこにアクセス要求を送るのは、分散ファイルシステムに組み込まれたリダイレクタの役目である。リダイレクタは、アプリケーションと共にクライアントに備えられている。クライアントのアプリケーションがオブジェクト識別子を付加したアクセス要求をリダイレクタに送ると、リダイレクタはオブジェクトを管理しているファイルサーバにアクセス要求を振り分ける。ここでオブジェクト識別子とは、オブジェクトを特定するための名前のことであり、オブジェクト識別子としては、パスのようなシンボリック名、ビット列のようなシステム内部で取り扱われるバイナリ名、またはそれらの組み合わせなどが用いられる。
【0004】
具体的には、リダイレクタは、アプリケーションからのアクセス要求に含まれるオブジェクト識別子を、オブジェクトを管理しているファイルサーバのポート情報とファイルサーバ向けのオブジェクト識別子とに変換する。そして、リダイレクタは、ファイルサーバ向けのオブジェクト識別子が付加されたアクセス要求をファイルサーバのポートに対して送る。ここで、ファイルサーバのポート情報とはファイルサーバの位置を示す情報であり、ファイルサーバのドメイン名やIPアドレス、あるいはサーバ上でファイルサービスを提供しているTCPポート番号などのことである。また、ファイルサーバ向けのオブジェクト識別子とは、ファイルサーバがオブジェクトを特定するための名前のことである。ファイルサーバ向けのオブジェクト識別子は、アプリケーションが用いるオブジェクト識別子とは別個のものである。ファイルサーバのポート情報によりファイルサーバが特定され、ファイルサーバ向けのオブジェクト識別子によりそのファイルサーバ内のオブジェクトが特定される。したがって、アプリケーションはオブジェクト識別子を指定するだけで、ファイルサーバの位置を意識せずオブジェクトにアクセスすることができる。
【0005】
以下、説明の都合上、オブジェクトを管理しているファイルサーバのポート情報とファイルサーバ向けのオブジェクト識別子を合わせてオブジェクトのロケーション情報と呼ぶことにする。また、オブジェクトのロケーション情報により識別される、オブジェクトの存在する位置をオブジェクトのロケーションと呼ぶことにする。
【0006】
幾つかの分散ファイルシステムでは、リダイレクタは、オブジェクト識別子に対応するロケーション情報をファイルサーバに問い合わせて入手することができる。この機能は照会と呼ばれる。クライアントがロケーション情報を入手するためにファイルサーバに送る要求を照会要求と呼ぶ。照会要求として、例えば、CIFS(Common Internet File System)では「Get DFS Referral」が挙げられ、NFS(Network File System)では「fs_location属性のGETATTR」が挙げられる。
リダイレクタが、オブジェクト識別子を付加した照会要求をファイルサーバに送ると、ファイルサーバはそのオブジェクト識別子に対応するロケーション情報を照会応答としてリダイレクタに返す。
【0007】
照会応答として、CIFSでは、ファイルサーバは、サーバ名、共有パス、パスの未解決のコンポーネントなどを含むロケーション情報をクライアントに返す。また、照会応答として、NFSでは「fs_location属性の応答」が挙げられ、その中にロケーション情報が含まれる。
【0008】
このようにして、リダイレクタは、オブジェクト識別子とロケーション情報との対応の情報を取得する。そして、リダイレクタは、オブジェクト識別子とロケーション情報の対応の情報を一度、取得すると、それをキャッシュに一定時間だけ記録しておく。そのキャッシュが有効な間、リダイレクタは、照会要求をファイルサーバに送らず、キャッシュに記録した情報を用いてオブジェクト識別子をロケーション情報に変換する。
【0009】
以上説明したような照会機能を用いることにより、分散ファイルシステムは単一名前空間機能および移動透過性を持つことが可能となる。以下、単一間名前空間機能および移動透過性のそれぞれについて説明する。
【0010】
単一名前空間機能について以下に説明する。
【0011】
単一名前空間機能とは、各ファイルサーバが管理しているツリー構造の名前空間をシームレスに繋ぎ合わせ、それらの名前空間をあたかも1つの名前空間(単一名前空間)のようにアプリケーションに提供する機能を指す。この場合、各ファイルサーバは、自身が管理する名前空間と、他のファイルサーバが管理する名前空間とを繋ぎ合わせるために、そのつなぎ目に関する情報を持っている。以下、このつなぎ目のことを共有のつなぎ目と呼ぶことにする。共有のつなぎ目は、自身が管理するオブジェクト群と他のファイルサーバが管理するオブジェクト群との境界を示しているとも言える。なお、共有とは、複数のサーバの名前空間を統合して、仮想的な単一名前空間を構成し、これをクライアントに提示する際に、各サーバが単一名前空間の構成要素として提供する共有フォルダやエキスポートなどのことである。
【0012】
ファイルサーバは、クライアントから受信したアクセス要求(以下、要求▲1▼と称す)が共有のつなぎ目をまたいで他のファイルサーバが管理する名前空間の領域にあるオブジェクトを指定している場合、クライアントにオブジェクトのロケーション情報の照会要求を促すエラーコードを含む応答のメッセージを返す。照会要求を促すエラーメッセージとして、例えば、CIFSでは「Path_not_covered」が挙げられ、NFSでは「NFS4ERR_MOVED」が挙げられる。
【0013】
クライアントのリダイレクタは、照会要求を促すエラーコードをファイルサーバから受けると、オブジェクト識別子を付加した照会要求をファイルサーバに送る。ファイルサーバは照会要求を受けると、照会要求に示されたオブジェクトのロケーション情報を照会応答としてクライアントに返す。クライアントのリダイレクタは照会応答を受けると、照会応答に示されたロケーションに要求▲1▼を送り直す。この際、要求▲1▼の送り先のロケーションによっては、要求▲1▼を送り直す前に、新たなTCPコネクションの設定、共有フォルダへの接続などの処理が必要に応じて行われる。このように、クライアントがエラーコードを受けてから、要求▲1▼を送り直して応答を受けるまで、一連の処理はアプリケーションから独立して行われる。そのため、複数のファイルサーバにより提供される複数の名前空間は、アプリケーションからは、あたかも巨大な1つの名前空間のように見える。例えば、CIFSではこのようなことが行われている。
【0014】
CIFSにおけるファイルアクセスの概略の処理を示す。
【0015】
クライアントから受信したOPEN要求が、共有のつなぎ目をまたぐパス名を含むものであれば、CIFSサーバはクライアントにエラーを返す。エラーを受けると、クライアントは「GET_DFS_REFERRAL」という照会要求をCIFSサーバに送る。照会要求を受けると、CIFSサーバはサーバの名前、共有パス、パスの未解決のコンポーネントなどを含むロケーション情報をクライアントに返す。ロケーション情報を受けると、クライアントは、それに示されたロケーションにOPEN要求を送り直す。CIFSの処理および動作の詳細については、NFSバイブル、アスキー、ISBN:4756139019、もしくは、SNIA CIFS Technical Reference 1.0、http://www.snia.org/English/Collaterals/Work_Group_Docs/NAS/CIFS/CIFS_Technical_Reference.pdfを参照されたい。
【0016】
移動透過性について以下に説明する。
【0017】
移動透過性を持ったシステムとは、管理者がクライアントに無断でオブジェクトを移動させても、オブジェクト識別子を変更なしでクライアントのアプリケーションがオブジェクトにアクセスできるシステムである。管理者がオブジェクトを移動させるとロケーション情報が変わる。移動透過性を持ったシステムでは、ロケーション情報が変わっても、オブジェクト識別子の組み込まれたアプリケーションは影響を受けず、そのまま動作する。リダイレクタは、アクセスすべきオブジェクトが管理者により移動された旨の情報を受けた場合や、アクセスの度重なる失敗などによりオブジェクトが移動されたと判断した場合、ファイルサーバに新しいロケーション情報を照会し、新しいロケーションへアクセスする。こうすることによりクライアントのアプリケーションは、内部に組み込まれたオブジェクト識別子を変えなくとも、移動後のオブジェクトにアクセスできる。
【0018】
図55は、従来のクライアント・サーバ・システムの一構成例を示すブロック図である。図55に示すように、従来のクライアント・サーバ・システムでは、少なくとも1つのクライアント11と、少なくとも1つのサーバ14とがネットワーク2に接続されている。
【0019】
ネットワーク2は、例えばLAN(Local Area Network)またはインターネット等である。
【0020】
クライアント11は、アプリケーション11aおよびリダイレクタ11bを有している。
【0021】
アプリケーション11aは、クライアント11上で動作するアプリケーションプログラムである。アプリケーション11aは、サーバ14によって管理されているオブジェクトに、リダイレクタ11bを介してアクセスする。リダイレクタ11bは、アプリケーション11aからオブジェクトへのアクセスを制御する。
【0022】
サーバ14は、クライアント11によってアクセスされるオブジェクトを管理し、各クライアント11にファイルサービスを提供する。ファイルサービスの例としては、NFS、CIFSなどが挙げられる。
【0023】
サーバ14は照会要求解決手段14aを有している。照会要求解決手段14aは、オブジェクトのロケーション情報の照会要求をクライアント11から受けると、照会要求に示されたオブジェクト識別子に対応するロケーション情報を照会応答として返す。
【0024】
図56は、従来のクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。図56を参照すると、まず、クライアント11のアプリケーション11aは、オブジェクト識別子を付加してリダイレクタ11bにアクセス要求を送る(ステップSA1)。アプリケーション11aからアクセス要求を受けたリダイレクタ11bは、アプリケーション11aにより付加されたオブジェクト識別子をロケーション情報に変換する(ステップSA2)。そして、リダイレクタ11bは、ファイルサーバ向けのオブジェクト識別子をアクセス要求に付加し、そのアクセス要求をファイルサーバのポートに対して送る(ステップSA3)。
【0025】
サーバ14は、アクセス要求を受けると、ファイルサーバ向けのオブジェクト識別子から、クライアント11がアクセスしたいオブジェクトを識別する(ステップSA4)。次に、サーバ14は、自身がそのオブジェクトを保持しているか否かを判定する(ステップSA5)。上述した単一名前空間機能の提供を例にとると、ここでの判定は、オブジェクトが共有のつなぎ目をまたいだ先にあるか否か判定することに等しい。
【0026】
自身がオブジェクトを保持している場合、サーバ14は、アクセス要求を自身で処理する(ステップSA6)。
【0027】
自身がオブジェクトを保有していない場合、サーバ14はクライアント11にオブジェクトの新しいロケーション情報を知らせる必要がある。そのため、サーバ14は、照会要求の発行を促すエラーコードを含む応答をクライアント11に返す(ステップSA7)。
【0028】
クライアント11のリダイレクタ11bは、そのエラーコードを受けると、サーバ14向けのオブジェクト識別子を付加した、照会要求をサーバ14に送る(ステップSA8)。サーバ14は、クライアント11から照会要求を受けると、オブジェクト識別子に対応するロケーション情報を照会応答としてクライアント11に返す(ステップSA9)。
【0029】
照会応答を受けると、クライアント11のリダイレクタ11bは、照会応答に示されたロケーションにアクセス要求を送り直す(ステップSA10)。このアクセス要求は、アクセスされるべきオブジェクトを保持しているサーバ14に送られる。アクセスされるべきオブジェクトを保持しているサーバ14は、アクセス要求を受けると、それを処理する(ステップSA11)。なお、リダイレクタ11bがアクセス要求を送り直すとき、その送り先のロケーションによっては、リダイレクタ11bは新たなTCPコネクションを設定したり、共有フォルダに新たに接続したりする処理が必要となる。これらの処理は必要に応じて行われる。
【0030】
特開2001−117808号公報には、従来のクライアント・サーバ・システムにおけるファイルアクセス方法の一例が示されている。特開2001−117808号公報によれば、複数のサーバがディレクトリ構造の文書を分散管理している。そして、各サーバは、サーバの管理カテゴリのつなぎ目部分で、他のサーバへのロケーション情報をクライアントに渡す。クライアントは、そのロケーション情報に従ってアクセス先を変更(リダイレクト)する。
【0031】
ここに示された方法は、複数のサーバにより管理されているツリー構造の複数の名前空間をシームレスに繋ぎ合せ、あたかも1つの名前空間であるかのように、クライアントのアプリケーションに提供する単一名前空間機能を実現している点で上述した従来方法(図56参照)と類似している。ただし、ここに示された方法では、照会要求の促進および照会要求の解決というステップについて触れていない。照会要求の促進とは、エラー応答により照会要求を促す処理のことである。照会要求の解決とは、サーバが照会要求を受けて照会応答を返す処理のことである。
【0032】
特表2002−503001号公報には、従来のクライアント・サーバ・システムにおけるファイルアクセス方法の他の例が示されている。特表2002−503001号公報によれば、クライアント・サーバ・システムは、クライアントとサーバの間で要求をインターセプトすることにより、プロキシサーバの負荷分散を図っている。ここに示された方法は、クライアントと基点サーバの間で、クライアントからの要求をインターセプトし、その要求に基づいてクライアントのリダイレクタに他のロケーション情報を示すというものである。
【0033】
まず、クライアントから送られたリソースへの要求を、リフレクタ機構と呼ばれるプロキシサーバがインターセプトする。そして、そのプロキシサーバは、その要求を、リピータと呼ばれる他のプロキシサーバに反射する。これにより、基点サーバのCPU負荷の軽減(オフロード)、およびプロキシサーバ間の負荷分散が実現される。
【0034】
特許第3184802号の明細書または図面には、従来のクライアント・サーバ・システムにおけるファイルアクセス方法の、さらに他の例が示されている。特許第3184802号によれば、多様なクライアント装置に応じるために、ウェブサーバはリソースをクライアント毎にカスタマイズする。
【0035】
まず、クライアントからウェブサーバへの、ファイルを求める要求をインターセプトする。次に、その要求を解析してクライアントに関する表示機能情報を検出する。表示機能情報が検出されると、その表示機能情報に対応したユニフォーム・リソース・ロケータ(URL)に要求をリダイレクトする。これにより、クライアントは、自身の表示機能に合ったリソースを取得できる。
【0036】
【発明が解決しようとする課題】
上述された従来の全てのファイルアクセス方法は、サーバに所定の機能が設けられていることを前提としており、そのサーバの機能(例えば照会要求解決手段14a)に司られている。
【0037】
このような従来のクライアント・サーバ・システムのファイルアクセス方法は以下に示すような問題を有している。
【0038】
第1の問題は、照会要求を解決する手段に新しい機能を追加しにくいことである。照会要求解決手段に新たな機能を追加する場合、従来の構成では、全てのサーバのプログラムをアップグレードする必要がある。そのため、サーバ数の多いシステムでは、機能追加は費用および工数面で影響の大きい大規模プロジェクトになる。例えば、同じオブジェクト識別子を含む、各クライアントからの照会要求に対して、クライアント毎もしくはユーザ毎に異なるロケーション情報を応答する機能を追加することを考えてみる。そのためには全てのサーバの照会要求解決手段にその機能を追加すればよいが、全てのサーバの照会要求解決手段に機能を追加することが現実的には困難な場合がある。
【0039】
第2の問題は、全てのサーバが所定の照会要求解決手段および照会要求促進手段を有する必要があることである。例えば、クライアントのリダイレクタと、サーバの照会要求解決手段および照会要求促進手段とにより、クライアント・サーバ・システムに移動透過性を持たせるには、全てのサーバが共通して、これら2つの手段を有する必要がある。
【0040】
一般にサーバはクライアントに比べて高価であるため、長く使い続けられることが多く、システム内の全てのサーバが同じ機能をサポートするのは困難である。そのため、新しい機種のサーバと、古い機種のサーバとでサポートされる機能が異なることがある。
【0041】
また、サーバのプログラムは、クライアントのプログラムに比べて種類が多く、仕様にバラツキがある。そのため、新しいサーバ同士でも同じ機能をサポートしないものがある。また、各機能がオプションとして扱われており、標準的に備えられていないことがある。
【0042】
これらのことから、システム内の全てのサーバが、共通して所定の照会要求解決手段および照会要求促進手段を有するという状況を作るのは、現実的には困難な場合が多い。
【0043】
従来技術の問題を解決するために、本発明は以下に示すような目的を有している。
【0044】
本発明の第1の目的は、各サーバのソフトウェアをアップグレードすることなく、クライアント・サーバ・システムに新たな機能を容易に追加する手段を提供することである。この手段は、例えば、同じオブジェクト識別子を含む、各クライアントからの照会要求に対して、クライアント毎もしくはユーザ毎に異なるロケーション情報を応答する機能を容易に追加できる手段である。
【0045】
本発明の第2の目的は、各サーバが照会要求解決手段および照会要求促進手段を有するか否かに関わらず、クライアント・サーバ・システムに移動透過性および統一名前空間機能を持たせる手段を提供することにある。
【0046】
本発明の第3の目的は、通信のボトルネックを生じさせることなく、第1および第2の目的を達成することにある。
【0047】
【課題を解決するための手段】
上記目的を達成するために、本発明のスイッチ装置は、少なくとも1つのクライアントと、少なくとも1つのオブジェクトを管理する少なくとも1つのサーバとの間に論理的に配置され、クライアントからの要求を必要に応じてサーバに転送するスイッチ装置であって、
サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理する擬似ファイルシステムと、
クライアントからの要求を受信し、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトして照会要求解決手段に送るインターセプト判断手段と、
該インターセプト判断手段から前記照会要求を受けると、該照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせ、該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する照会要求解決手段とを有している。
【0048】
したがって、本発明によれば、クライアントとサーバの間に論理的に配置されたスイッチ装置が、サーバに代わって照会要求を解決するので、スイッチ装置の機能だけをアップグレードすれば新しい照会要求解決の機能を実現でき、各サーバのソフトウェアをアップグレードすることなく、システムに新しい機能を追加することができる。
【0049】
例えば、クライアント毎もしくはユーザ毎に異なる名前空間を提供する機能を、サーバのソフトウェアをアップグレードすることなくシステムに追加することができる。
【0050】
また、本発明によれば、インターセプト判断手段は、照会要求をインターセプトして解決するか否かを、オブジェクト識別子によってではなく要求の種類によって判断するため、スイッチ装置にとって非常に処理負荷が軽く、スイッチ装置の処理が通信のボトルネックとなりにくい。
【0051】
オブジェクト識別子によって判断を行う場合、文字列を何らかのルールに従って処理していくことが求められるため重い処理となりがちである。これに対して、要求の種類は1〜2バイト程度のビット列から単純に判断できる。
【0052】
また、本発明のスイッチ装置において、前記擬似ファイルシステムは、クライアントまたはユーザ毎に、前記オブジェクトのロケーション情報を管理しており、
前記照会要求解決手段は、前記照会要求の送信元のクライアントまたはユーザを前記擬似ファイルシステムに通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムから取得することとしてもよい。
【0053】
また、本発明のスイッチ装置において、前記擬似ファイルシステムは、さらに、前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきオブジェクトか否かを管理しており、
前記インターセプト判断手段は、クライアントからの要求がオブジェクトを指定した照会要求であれば、該照会要求をインターセプトする前に、該照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムに問い合わせ、前記オブジェクトが照会応答すべきものであるとき、前記照会要求をインターセプトし前記照会要求解決手段に送ることとしてもよい。
【0054】
したがって、クライアントとサーバの間に論理的に配置されたスイッチが、照会要求に含まれるオブジェクトが照会応答対象かどうかを判断し、照会要求が照会応答対象であった場合だけ、その照会要求を解決するので、スイッチ装置の機能だけで、オブジェクト毎に照会解決をするか否か判断する機能を実現できる。
【0055】
スイッチ装置で解決されなかった照会要求は、サーバにて解決されることになるので、例えば、照会要求解決手段を持たないサーバに送られる照会要求だけをスイッチで応答することができる。また、セキュリティ的に問題のあるオブジェクトに対する照会要求だけスイッチ装置でユーザ毎に照会応答を解決したり、といったようなことができる。
【0056】
また、本発明のスイッチ装置において、前記擬似ファイルシステムは、クライアントまたはユーザ毎に、前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきものか否かを管理しており、
前記インターセプト判断手段は、前記照会要求の送信元のクライアントまたはユーザを前記擬似ファイルシステムに通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムから取得することとしてもよい。
【0057】
また、本発明のスイッチ装置において、前記インターセプト判断手段から要求を受けると、該要求の送信元であるクライアントに、照会要求の送信を促す応答を返送する照会要求促進手段をさらに有し、
前記擬似ファイルシステムは、クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か管理しており、
前記インターセプト判断手段は、クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものか否か前記擬似ファイルシステムに問い合わせ、照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトして前記照会要求促進手段に送ることとしてもよい。
【0058】
したがって、クライアントとサーバの間に論理的に配置されたスイッチ装置が、要求が照会要求促進対象か否かを判断し、その要求が照会要求促進対象であった場合だけ、その要求をサーバに転送せず、クライアントに照会要求の発行を促すので、各サーバが照会要求解決手段および照会要求促進手段を持っているか否かにかかわらず、システムに移動透過性および統一名前空間機能を持たせることができる。
【0059】
また、本発明のスイッチ装置において、前記擬似ファイルシステムは、クライアントまたはユーザ毎に、前記要求により指定されるオブジェクトが、該要求の送信元であるクライアントに照会要求の送信を促すべきものであるか否か管理しており、
前記インターセプト判断手段は、前記要求の送信元のクライアントまたはユーザを前記擬似ファイルシステムに通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記要求により指定された前記オブジェクトが、照会要求の送信を促すべきものか否か前記擬似ファイルシステムから取得することとしてもよい。
【0060】
また、本発明のスイッチ装置において、共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係を管理するロケーション情報仮想化手段と、
サーバに転送する要求を前記インターセプト判断手段から受信し、該要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する仮想転送先選別手段をさらに有し、
前記擬似ファイルシステムは、前記照会要求解決手段からの問い合わせを受けると、前記照会要求により指定された前記オブジェクトのロケーション情報に対応した仮想的なロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、該仮想的なロケーション情報を前記照会要求解決手段に通知することとしてもよい。
【0061】
したがって、クライアントとサーバの間に論理的に配置されたスイッチ装置が、仮想的なロケーション情報をクライアントに提供し、仮想的なロケーション情報を用いた、クライアントからの要求を実際のサーバのロケーションに転送するので、クライアントに対してサーバの実際のロケーション情報を隠すことができ、かつスイッチ装置を配置する位置の自由度が高い。
【0062】
例えば、クライアントは、常にスイッチ装置のIPアドレスに対して要求を送るようになるので、スイッチ装置の物理的な位置を自由に選択できる。具体的には、クライアントからサーバへの要求が必ずスイッチ装置を通るようにするために、クライアントに対してスイッチ装置をプロキシとして指定したり、パケットのルーティング規則を設定する必要がない。
【0063】
また、本発明のスイッチ装置において、前記ロケーション情報仮想化手段は、クライアントまたはユーザ毎に、前記仮想的なロケーション情報と前記実際のロケーション情報の対応関係を管理しており、
前記仮想転送先選別手段は、前記インターセプト判断手段から受信した前記要求の送信元のクライアントまたはユーザを前記ロケーション情報仮想化手段に通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記要求の仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段から取得し、
前記擬似ファイルシステムは、前記照会要求の送信元であるクライアントまたはユーザを前記ロケーション情報仮想化手段に通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトのローション情報に対応した仮想的なロケーション情報を前記ロケーション情報仮想化手段から取得することとしてもよい。
【0064】
また、本発明のスイッチ装置において、前記ロケーション情報仮想化手段は、前記オブジェクトのロケーション情報に対応した前記仮想的なロケーション情報として自スイッチ装置のロケーション情報を記憶しており、
前記インターセプト判断手段は、前記クライアントからの要求の宛先が前記自スイッチ装置のロケーション情報であれば、該要求を前記仮想転送先選別手段に送ることとしてもよい。
【0065】
また、本発明のスイッチ装置において、自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が該自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第2の共有のつなぎ目の情報を管理しているとしてもよい。
【0066】
したがって、本発明のスイッチ装置は他スイッチ装置と共に単一名前空間を構成し、自スイッチ装置に管理されているサーバ間の共有のつなぎ目を管理するだけでなく、他スイッチ装置に管理されているサーバとの共有のつなぎ目の情報を相互に管理するので、スイッチ装置を複数用いて単一名前空間をスイッチ装置毎のドメインに区切り、ドメイン間の共有のつなぎ目を相互に管理して、複数のスイッチ装置が連携動作することができるので、1台のスイッチ装置だけではボトルネックとなる性能を向上させることができる。
【0067】
また、本発明のスイッチ装置において、前記第2の共有のつなぎ目の情報に変更があると、該第2の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知する変更情報通知手段と、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させる変更情報反映手段とを有するとしてもよい。
【0068】
したがって、スイッチ装置は、共有のつなぎ目に関する情報のみを擬似ファイルシステムおよびロケーション情報仮想化手段にて管理し、他の部分に関する情報についてはサーバにある情報を利用することで、名前解決の処理を極力サーバに委譲し、擬似ファイルシステムおよびロケーション情報仮想化手段が記憶する情報を最小限にとどめているので、複数のスイッチ装置間での変更情報の通知および反映が容易であり、統一された単一名前空間の変更を高速に行うことができる。
【0069】
また、本発明のスイッチ装置において、自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が前記自スイッチ装置と共に存在しており、
前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか1つのスイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか2つのスイッチ装置にそれぞれ管理されているサーバ間の第2の共有のつなぎ目の情報を管理しているとしてもよい。
【0070】
また、本発明のスイッチ装置において、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させる情報収集共有手段をさらに有するとしてもよい。
【0071】
また、本発明の予備用のスイッチ装置は、自スイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから他スイッチ装置に管理されているサーバへの第2の共有のつなぎ目の情報を管理している少なくとも1つの現用のスイッチ装置がある場合に、少なくとも1つの前記現用のスイッチ装置に対するフェイルオーバーのために備えられる予備用のスイッチ装置であって、
全てのフェイルオーバー対象の現用のスイッチ装置が管理している前記第1および第2の共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理しており、照会要求解決手段からの問い合わせを受けると、照会要求により指定されたオブジェクトのロケーション情報に対応した仮想的なロケーション情報をロケーション情報仮想化手段に問い合わせ、該仮想的なロケーション情報を前記照会要求解決手段に通知する擬似ファイルシステムと、
前記第1および第2の共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係を管理するロケーション情報仮想化手段と、
前記フェイルオーバー対象の現用のスイッチ装置から前記第1または第2の共有のつなぎ目に関する変更情報を通知されると、該変更情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させるフェイルオーバー用変更情報反映手段と、
前記フェイルオーバー対象の現用のスイッチ装置の故障を検出するモニタ手段と、
前記フェイルオーバー対象の現用のスイッチ装置の故障が前記モニタ手段により検出されると、故障したスイッチ装置の代わりに動作するように、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段を書き換えるフェイルオーバー手段と、
前記故障したスイッチ装置の代わりに動作するとき、クライアントからの要求を受信し、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトして照会要求解決手段に送るインターセプト判断手段と、
該インターセプト判断手段から前記照会要求を受けると、該照会要求により指定されたオブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせ、該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する照会要求解決手段と、
サーバに転送する要求を前記インターセプト判断手段から受信し、該要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する仮想転送先選別手段とを有している。
【0072】
したがって、本発明による予備用のスイッチ装置は、擬似ファイルシステムとロケーション情報仮想化手段の情報に基づいてスタンバイ機(予備)として機能するための冗長フェイルオーバー手段を有しているため、現用のスイッチ装置の故障などに対するシステムの信頼性を向上できる。
【0073】
また、本発明のスイッチ装置において、前記自スイッチ装置および前記他スイッチ装置が互いに所定の順位のフェイルオーバー用の予備をも兼ねている場合、該他スイッチ装置の故障を検出するモニタ手段と、
前記自スイッチ装置の代わりに動作するスイッチ装置と前記他スイッチ装置の代わりに動作するスイッチ装置とこらら代わりに動作するスイッチ装置の順位を予め記憶している代替順位記憶手段と、
前記照会要求解決手段から前記クライアントに前記照会応答が送られるとき、該照会応答に含まれるロケーション情報に含まれるスイッチ装置に対するフェイルオーバーの予備のスイッチ装置および該予備のスイッチ装置の順位を前記代替順位記憶手段から取得し、前記照会応答に含まれるロケーション情報に含まれるスイッチ装置が故障したときの代替ロケーション情報として、前記予備のスイッチ装置および該予備のスイッチ装置の順位を含むロケーション情報を前記照会応答に付加する代替リダイレクト先通知手段と、
前記他スイッチ装置の故障が前記モニタ手段により検出され、かつ前記自スイッチ装置が該他スイッチ装置の代替として動作すべき順位にある場合、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段の情報を書き換えて、前記自スイッチ装置を前記他スイッチ装置の代替として動作させる非冗長フェイルオーバー手段とをさらに有するとしてもよい。
【0074】
したがって、本発明の各スイッチ装置は自身の代替順位を管理して他のスイッチ装置の代替機として機能する非冗長フェイルオーバー手段を有するため、故障などに対する信頼性を安価に向上させることができる。
【0075】
また、本発明のスイッチ装置において、前記自スイッチ装置が管理している少なくとも1つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出する故障検出手段と、
前記サーバの故障が前記故障検出手段に検出されると、故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新することにより、前記仮想転送先選別手段による前記要求の転送先を変更するサーバフェイルオーバー手段とをさらに有するとしてもよい。
【0076】
したがって、本発明のスイッチ装置は、サーバの故障時に、クライアントからの要求の宛先であるリダイレクト先(仮想ロケーション情報)を変更することなく、故障したサーバへのリンク情報となっていた実際のロケーション情報を代替サーバのロケーション情報に変更することによりサーバのフェイルオーバーを実行するサーバフェイルオーバー手段を有するので、クライアントからの要求の送り先をクライアント透過に変更して、要求を代替サーバに送ることができる。また、そのためクライアントがフェイルオーバーに対応する機能を持っていなくてもよい。
【0077】
また、本発明のスイッチ装置において、前記照会要求促進手段は、前記第1および第2の共有のつなぎ目において前記クライアントに照会要求を促し、
前記照会要求解決手段は、前記第2の共有のつなぎ目を超える照会要求を受けると、前記他スイッチ装置に管理されているオブジェクトの情報を含む照会応答を前記クライアントに送るとしてもよい。
【0078】
また、本発明のスイッチ装置において、共有のつなぎ目の先頭でないオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成し、前記移動先のサーバへつながる共有のつなぎ目の情報を前記擬似フィアルシステムおよび前記ロケーション情報仮想化手段に作成し、作成された前記共有のつなぎ目を超える要求を送ったクライアントに対して照会要求の送信を促すように擬似ファイルシステムを更新する透過移動手段をさらに有するとしてもよい。
【0079】
また、本発明のスイッチ装置において、共有のつなぎ目の先頭にあるオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成し、前記共有のつなぎ目の実際のロケーション情報を前記複製の実際のロケーション情報に変更し、前記共有のつなぎ目を超える要求を送ったクライアントに対して照会要求の送信を促すように擬似ファイルシステムを更新する透過移動手段をさらに有するとしてもよい。
【0080】
したがって、本発明によるスイッチは、単一名前空間に変更を生じさせずに、再配置後のリソースのロケーションを仮想化するように擬似ファイルシステムおよびロケーション情報仮想化手段の情報を更新する透過移動手段を有するので、管理者が、単一名前空間をそのままに、かつクライアントを再設定したりリブートすることなく、負荷や容量を分散させる目的で、オブジェクト等のリソースをサーバに再配置できる。
【0081】
また、本発明のスイッチ装置において、任意範囲内にあるオブジェクトを一括して移動させることがいずれかのクライアントから要求されたとき、該範囲内に共有のつなぎ目がある場合、該共有のつなぎ目以下のオブジェクトを移動せず、該共有のつなぎ目より上のオブジェクトのみを該要求に従って移動し、移動されたオブジェクトと移動されなかったオブジェクトがつながる様に前記擬似ファイルシステムの情報を更新するリンク張替え高速移動手段をさらに有するとしてもよい。
【0082】
したがって、本発明によるスイッチ装置は、サーバ上の実体を移動することなく、そのリンク先のみを移動先へとつなぐように擬似ファイルシステムおよびロケーション情報仮想化手段の情報を更新するリンク張替え高速移動手段を有するので、クライアントからのオブジェクト等のリソース移動の要求を高速に実行できる。
【0083】
また、本発明のスイッチ装置において、前記擬似ファイルシステムは、オブジェクトに少なくとも1つの複製がある場合、共有のつなぎ目において接続先となる前記オブジェクトのロケーション情報に加えて、前記共有のつなぎ目において前記オブジェクトのロケーション情報と同様に接続先となりうる前記複製のロケーション情報をも管理可能であり、
前記スイッチ装置は、オブジェクトの実体の複製を作成することが要求されると、前記オブジェクトの複製を作成し、前記複製のロケーション情報を前記擬似ファイルシステムに追加し、前記照会要求解決手段が前記擬似ファイルシステムに前記オブジェクトのロケーション情報を問い合わせたとき、前記オブジェクトのロケーション情報または前記複製のロケーション情報のうちいずれか1つに基づいて照会応答を作成するように前記照会要求解決手段に指示する複製作成および選択手段をさらに有するとしてもよい。
【0084】
また、本発明のスイッチ装置において、オブジェクトおよび該オブジェクトの複製に対するアクセスに関する統計情報を取得しており、該統計情報に基づき、前記オブジェクトおよび前記複製から選択すべき1つを決定して前記複製作成および選択手段に通知する負荷分散手段をさらに有するとしてもよい。
【0085】
したがって、本発明のスイッチ装置は、負荷分散先として指定されるリソース(複製)を複数のサーバ上に作成し、そのロケーションを擬似ファイルシステムおよびロケーション情報仮想化手段の情報として一貫して管理する複製作成および選択手段と、オリジナルおよび複製への負荷の分散を行う負荷分散手段を有するので、集中するアクセスを複数のサーバに振り分けて負荷分散する機能を容易に実装できる。
【0086】
また、本発明のスイッチ装置において、前記オブジェクトと、該オブジェクトの複製とは互いに同一の内容に維持されているとしてもよい。
【0087】
また、本発明のスイッチ装置において、前記インターセプト判断手段は、クライアントからの要求を受信すると始めに該要求のプロトコルを識別し、該要求が所定のプロトコルでなければ、該要求をそのままサーバに転送するとしてもよい。
【0088】
本発明の分散オブジェクト管理方法は、少なくとも1つのクライアントと、少なくとも1つのオブジェクトを管理する少なくとも1つのサーバとの間に論理的に配置され、クライアントからの要求を必要に応じてサーバに転送するスイッチ装置において前記オブジェクトを管理する分散オブジェクト管理方法であって、サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を擬似ファイルシステムにて管理しておくステップと、
クライアントからの要求を受信したとき、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトするステップと、
インターセプトした前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせるステップと、
前記擬似ファイルシステムから得られた該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送するステップを有している。
【0089】
本発明の分散オブジェクト管理方法において、前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきオブジェクトか否かを前記擬似ファイルシステムにて管理しておくステップと、
クライアントからの要求がオブジェクトを指定した照会要求であれば、該照会要求をインターセプトする前に、該照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムに問い合わせるステップと、
前記オブジェクトが照会応答すべきものであるときのみ、前記照会要求をインターセプトするステップをさらに有するとしてもよい。
【0090】
また、本発明の分散オブジェクト管理方法において、クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か前記擬似ファイルシステムにて管理しておくステップと、
クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものであるか否か前記擬似ファイルシステムに問い合わせるステップと、
前記オブジェクトが照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトするステップと、
インターセプトした前記要求の送信元である前記クライアントに、照会要求の送信を促す応答を返送するステップをさらに有するとしてもよい。
【0091】
また、本発明の分散オブジェクト管理方法において、共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係をロケーション情報仮想化手段にて管理しておくステップと、
サーバに転送する要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせるステップと、
宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送するステップをさらに有し、
前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせたときに、前記擬似ファイルシステムから得られるロケーション情報は、実際のロケーション情報に対応して前記ロケーション情報仮想化手段にて管理されている仮想的なロケーション情報であるとしてもよい。
【0092】
また、本発明の分散オブジェクト管理方法において、自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が該自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第2の共有のつなぎ目の情報を管理しており、
前記第2の共有のつなぎ目の情報に変更があると、該第2の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知するステップと、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させるステップとをさらに有するとしてもよい。
【0093】
また、本発明の分散オブジェクト管理方法において、自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が前記自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか1つのスイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか2つのスイッチ装置にそれぞれ管理されているサーバ間の第2の共有のつなぎ目の情報を管理しており、
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させるステップをさらに有するとしてもよい。
【0094】
また、本発明の分散オブジェクト管理方法において、自スイッチ装置が管理している少なくとも1つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出するステップと、故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新するステップをさらに有するとしてもよい。
【0095】
また、本発明の分散オブジェクト管理方法において、共有のつなぎ目の先頭でないオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成するステップと、
前記移動先のサーバへつながる共有のつなぎ目の情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に作成するステップと、
作成された前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促すステップをさらに有するとしてもよい。
【0096】
また、本発明の分散オブジェクト管理方法において、共有のつなぎ目の先頭にあるオブジェクト実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成するステップと、
前記共有のつなぎ目の実際のロケーション情報を前記複製の実際のロケーション情報に変更するステップと、
前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促すステップをさらに有するとしてもよい。
【0097】
また、本発明の分散オブジェクト管理方法において、任意範囲内にあるオブジェクトを一括して移動させることがいずれかのクライアントから要求されたとき、該範囲内に共有のつなぎ目がある場合、該共有のつなぎ目以下のオブジェクトを移動せず、該共有のつなぎ目より上のオブジェクトのみを該要求に従って移動するステップと、
移動されたオブジェクトと移動されなかったオブジェクトがつながる様に前記擬似ファイルシステムの情報を更新するステップをさらに有するとしてもよい。
【0098】
また、本発明の分散オブジェクト管理方法において、前記擬似ファイルシステムは、オブジェクトに少なくとも1つの複製がある場合、共有のつなぎ目において接続先となる前記オブジェクトのロケーション情報に加えて、前記共有のつなぎ目において前記オブジェクトのロケーション情報と同様に接続先となりうる前記複製のロケーション情報をも管理可能であり、
オブジェクトの実体の複製を作成することが要求されると、前記オブジェクトの複製を作成するステップと、
前記複製のロケーション情報を前記擬似ファイルシステムに追加するステップと、
前記擬似ファイルシステムから前記オブジェクトのロケーション情報と前記複製のロケーション情報とが得られたとき、それらのうちいずれに基づいて照会応答を作成するか決定するステップをさらに有するとしてもよい。
【0099】
また、本発明の分散オブジェクト管理方法において、クライアントからの要求を受信すると始めに該要求のプロトコルを識別するステップと、
該要求が所定のプロトコルでなければ、該要求をそのままサーバに転送するステップをさらに有するとしてもよい。
【0100】
本発明の分散オブジェクト管理プログラムは、少なくとも1つのクライアントと、少なくとも1つのオブジェクトを管理する少なくとも1つのサーバとの間に論理的に配置されたコンピュータに、前記オブジェクトを管理させ、クライアントからの要求を必要に応じてサーバに転送させる分散オブジェクト管理プログラムであって、
サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を擬似ファイルシステムにて管理しておく処理と、
クライアントからの要求を受信したとき、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトする処理と、
インターセプトした前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせる処理と、
前記擬似ファイルシステムから得られた該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する処理を有している。
【0101】
また、本発明の分散オブジェクト管理プログラムにおいて、前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきオブジェクトか否かを前記擬似ファイルシステムにて管理しておく処理と、
クライアントからの要求がオブジェクトを指定した照会要求であれば、該照会要求をインターセプトする前に、該照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムに問い合わせる処理と、
前記オブジェクトが照会応答すべきものであるときのみ、前記照会要求をインターセプトする処理をさらに有する、請求項47記載の分散オブジェクト管理プログラム。
【0102】
また、本発明の分散オブジェクト管理プログラムにおいて、クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か前記擬似ファイルシステムにて管理しておく処理と、クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものであるか否か前記擬似ファイルシステムに問い合わせる処理と、
前記オブジェクトが照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトする処理と、
インターセプトした前記要求の送信元である前記クライアントに、照会要求の送信を促す応答を返送する処理をさらに有するとしてもよい。
【0103】
また、本発明の分散オブジェクト管理プログラムにおいて、共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係をロケーション情報仮想化手段にて管理しておく処理と、
サーバに転送する要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせる処理と、
宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する処理をさらに有し、
前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせたときに、前記擬似ファイルシステムから得られるロケーション情報は、実際のロケーション情報に対応して前記ロケーション情報仮想化手段にて管理されている仮想的なロケーション情報であるとしてもよい。
【0104】
また、本発明の分散オブジェクト管理プログラムにおいて、自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が該自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第2の共有のつなぎ目の情報を管理しており、前記第2の共有のつなぎ目の情報に変更があると、該第2の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知する処理と、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させる処理とをさらに有するとしてもよい。
【0105】
また、本発明の分散オブジェクト管理プログラムにおいて、自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が前記自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか1つのスイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか2つのスイッチ装置にそれぞれ管理されているサーバ間の第2の共有のつなぎ目の情報を管理しており、
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させる処理をさらに有するとしてもよい。
【0106】
また、本発明の分散オブジェクト管理プログラムにおいて、自スイッチ装置が管理している少なくとも1つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出する処理と、
故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新する処理をさらに有するとしてもよい。
【0107】
また、本発明の分散オブジェクト管理プログラムにおいて、共有のつなぎ目の先頭でないオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成する処理と、
前記移動先のサーバへつながる共有のつなぎ目の情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に作成する処理と、
作成された前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促す処理をさらに有するとしてもよい。
【0108】
また、本発明の分散オブジェクト管理プログラムにおいて、共有のつなぎ目の先頭にあるオブジェクト実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成する処理と、
前記共有のつなぎ目の実際のロケーション情報を前記複製の実際のロケーション情報に変更する処理と、
前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促す処理をさらに有するとしてもよい。
【0109】
また、本発明の分散オブジェクト管理プログラムにおいて、任意範囲内にあるオブジェクトを一括して移動させることがいずれかのクライアントから要求されたとき、該範囲内に共有のつなぎ目がある場合、該共有のつなぎ目以下のオブジェクトを移動せず、該共有のつなぎ目より上のオブジェクトのみを該要求に従って移動する処理と、
移動されたオブジェクトと移動されなかったオブジェクトがつながる様に前記擬似ファイルシステムの情報を更新する処理をさらに有するとしてもよい。
【0110】
また、本発明の分散オブジェクト管理プログラムにおいて、前記擬似ファイルシステムは、オブジェクトに少なくとも1つの複製がある場合、共有のつなぎ目において接続先となる前記オブジェクトのロケーション情報に加えて、前記共有のつなぎ目において前記オブジェクトのロケーション情報と同様に接続先となりうる前記複製のロケーション情報をも管理可能であり、
オブジェクトの実体の複製を作成することが要求されると、前記オブジェクトの複製を作成する処理と、
前記複製のロケーション情報を前記擬似ファイルシステムに追加する処理と、前記擬似ファイルシステムから前記オブジェクトのロケーション情報と前記複製のロケーション情報とが得られたとき、それらのうちいずれに基づいて照会応答を作成するか決定する処理をさらに有するとしてもよい。
【0111】
また、本発明の分散オブジェクト管理プログラムにおいて、クライアントからの要求を受信すると始めに該要求のプロトコルを識別する処理と、
該要求が所定のプロトコルでなければ、該要求をそのままサーバに転送する処理をさらに有するとしてもよい。
【0112】
【発明の実施の形態】
本発明の様々な実施形態について図面を参照して詳細に説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態によるクライアント・サーバ・システムの構成を示すブロック図である。図1に示すように、第1の実施形態のクライアント・サーバ・システムは、少なくとも1つ(図1では2つ)のクライアント11と、少なくとも1つ(図1では2つ)のサーバ14と、スイッチ100とを有している。クライアント11、サーバ14およびスイッチ100は、それぞれコンピュータで構成され、ネットワーク2に接続されている。ネットワーク2は、LAN(Local Area Network)あるいはインターネット等である。
【0113】
クライアント11は、アプリケーション11aおよびリダイレクタ11bを有している。
【0114】
アプリケーション11aは、クライアント11上で動作するアプリケーションプログラムである。アプリケーション11aは、サーバ14に記憶されているオブジェクトにリダイレクタ11bを介してアクセスする。リダイレクタ11bはそのアクセスをリダイレクトする。
【0115】
サーバ14は、クライアント11によってアクセスされるオブジェクトを記憶し、管理し、各クライアント11にファイルサービスを提供する。ファイルサービスの例としては、NFS、CIFSなどが挙げられる。
【0116】
スイッチ100は、クライアント11からサーバ14へ何らかの処理を要求するメッセージ信号である要求が通るように配置される。一例として、スイッチ100は、物理的にクライアント11とサーバ14の間に位置すればよい。また、図1では、スイッチ100は物理的にはクライアント11とサーバ14との間に位置していないが、論理的にはクライアント11とサーバ14の間に置かれている。つまり、クライアント11からサーバ14へ全ての要求はスイッチ100を経由する。このように、クライアント11からサーバ14への全ての要求が経由するスイッチ100は、具体的には、例えばプロキシサーバ、ゲートウェイ、リバースプロキシサーバ、ロードバランサーなどである。
【0117】
図1のような構成では、クライアント11からサーバ14への要求をスイッチ100に送るために、各クライアント11に対してスイッチ100をプロキシとして設定するか、クライアント11からサーバ14へのパケットが必ずスイッチ100を通るようにルーティング規則を設定すればよい。
【0118】
スイッチ100は、照会要求をクライアント11から受けると、照会要求に示されたオブジェクト識別子に対応するロケーション情報を照会応答としてクライアント11に返す。照会要求は、クライアントからサーバにオブジェクトのロケーションを問い合わせるためのメッセージ信号であるが、スイッチ100は照会要求をインターセプトし、サーバに代わって処理する。照会要求以外の要求については、スイッチ100は、それを処理せずサーバに転送する。
【0119】
図2は、本発明の第1の実施形態のスイッチ100の構成を示すブロック図である。図2を参照すると、本実施形態のスイッチ100は、インターセプト判断手段110、照会要求解決手段120および擬似ファイルシステム130を有している。
【0120】
インターセプト判断手段110は、スイッチ100を通過するクライアント11からの要求が、インターセプトすべきものであるか否か判定し、振り分ける。すなわち、インターセプト判断手段110は、クライアント11からの要求が照会要求か否かを判定する。照会要求か否かの判定は、要求の中に含まれる種類を示す情報を調べることによって行われる。例えば、要求の種類を示すコマンド番号やコマンド名を調べる。
【0121】
スイッチ100を通過する要求が照会要求でなければ、インターセプト判断手段110は、その要求をサーバ14に転送する。
【0122】
スイッチ100を通過する要求が照会要求であれば、インターセプト判断手段100は、その照会要求をサーバ14に転送せず、照会要求解決手段120に送る。
【0123】
また、インターセプト判断手段110は、照会要求であるか否か判断する前に、その要求のプロトコルを識別し、プロトコル毎に異なる処理を実行してもよい。例えば、インターセプト判断手段110は、その要求が所定のプロトコルでなければサーバ14に転送し、所定のプロトコルであればその要求が照会要求であるか否か判断する。そして、インターセプト判断手段110は、その要求が照会要求でなければサーバ14に転送し、照会要求であれば照会要求解決手段120に送る。
【0124】
例えば、スイッチ100がプロキシサーバやゲートウェイである場合、特定のファイルサービスプロトコル以外のプロトコルの要求がスイッチ100を通過することが考えられる。その場合、スイッチ100は、特定のファイルサービスプロトコルの照会要求のみを照会要求解決手段120に送ることが好ましい。
【0125】
また、クライアント・サーバ・システムでは、クライアント11とサーバ14とでサポートするプロトコルのバージョンが異なる場合がある。その場合、インターセプト判断手段110は、スイッチ100を通過する要求をサーバ14に転送する前に、その要求をサーバ14のサポートするバージョンに修正してもよい。例えば、クライアント11が、クライアント11と異なるバージョンのプロトコルをサポートするサーバ14へアクセスすることを可能にするためにブリッジが設けられているシステムにおいて、そのブリッジが本実施形態のスイッチ100として動作すればよい。
【0126】
照会要求解決手段120は、インターセプト判断手段110から照会要求を受けると、その照会要求に含まれるオブジェクト識別子を用いて、そのオブジェクト識別子で示されるオブジェクトのロケーション情報を擬似ファイルシステム130に問い合わせる。照会要求解決手段120は、擬似ファイルシステム130からロケーション情報を入手すると、その情報を照会応答としてクライアント11に送る。
【0127】
擬似ファイルシステム130は、オブジェクト識別子とロケーション情報との対応を管理している。擬似ファイルシステム130は、照会要求解決手段120から、オブジェクト識別子に対応するロケーション情報について問い合わせを受けると、オブジェクト識別子に対応する少なくとも1つのロケーション情報を返す。
【0128】
擬似ファイルシステム130は、オブジェクト識別子とロケーション情報との対応関係を、クライアント11毎またはユーザ毎に管理してもよい。その場合、照会要求解決手段120は、照会要求に含まれるオブジェクト識別子とクライアント識別子またはユーザ識別子とを用いて、擬似ファイルシステム130にオブジェクトのロケーション情報を問い合わせることとなる。擬似ファイルシステム130は、照会要求解決手段120から、ロケーション情報の問い合わせを受けると、そのクライアント11もしくはユーザについて、そのオブジェクト識別子に対応するロケーション情報を返す。
【0129】
図3は、本発明の第1の実施形態によるクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。図3を参照すると、まず、クライアント11はオブジェクト識別子を付加してサーバ14−1にアクセス要求を送る(ステップSB1)。
【0130】
スイッチ100のインターセプト判断手段110は、スイッチ100を通過する各要求が、オブジェクトを指定した照会要求か否か判定する(ステップSB2)。その要求が、オブジェクトを指定した照会要求でなければ、インターセプト判断手段110は、その要求をサーバ14−1に転送する(ステップSB3)。サーバ14−1はその要求を処理する(ステップSB4)。インターセプト判断手段110は、スイッチ100を通過する要求がオブジェクトを指定した照会要求であれば、その照会要求をサーバ14−1に転送せず、照会要求解決手段120に送る。
【0131】
照会要求解決手段120は、インターセプト判断手段110から照会要求を受けると、照会要求に含まれるオブジェクト識別子を用いて、擬似ファイルシステム130にオブジェクトのロケーション情報を問い合わせる(ステップSB5)。擬似ファイルシステム130からロケーション情報を入手すると、照会要求解決手段120は、そのロケーション情報を含む照会応答をクライアント11に送る(ステップSB6)。クライアント11は、そのロケーション情報をスイッチ100から受ける(ステップSB7)。
【0132】
以上説明したように、本実施形態によれば、照会要求解決手段120が各クライアント11および各サーバ14に共通に用いられるスイッチ100に設けられているので、スイッチ100内の照会要求解決手段120の処理をアップグレードすることにより、全てのサーバ14をアップグレードすることなく、クライアント・サーバ・システムに新しい機能を追加できる。
【0133】
例えば、各クライアントからの同じオブジェクト識別子を含む照会要求に対して、クライアント毎またはユーザ毎に異なるロケーション情報を返す機能を、サーバのソフトウェアをアップグレードすることなくシステムに追加できる。この機能を追加することにより、ファイルのツリー構造をクライアント毎またはユーザ毎にカスタマイズでき、また負荷分散を図ることができる。
【0134】
また、本実施形態によれば、インターセプト判断手段110は、スイッチ100を通過する要求を照会要求解決手段120に送るか否か(すなわち照会要求として解決するか否か)を、処理負荷の重いオブジェクト識別子ではなく、処理負荷の軽い、要求の種類を見ることによって判定するため、スイッチ100にかかる負荷を軽くすることができる。
【0135】
スイッチ100を通過する要求を照会要求解決手段120に送るか否かオブジェクト識別子によって判定するためには、文字列を所定のルールに従って処理することが必要なため処理が重く、スイッチ100における処理がクライアント11とサーバ14の間の通信のボトルネックになる恐れがある。これに対して、要求の種類は、1〜2バイト程度のビット列で示されているため容易に判定でき、通信のボトルネックにならない。
(第2の実施形態)
第2の実施形態によるクライアント・サーバ・システムは図1に示した第1の実施形態と同様の構成である。
【0136】
図4は、本発明の第2の実施形態のスイッチ101の構成を示すブロック図である。図4を参照すると、本実施形態のスイッチ101は、インターセプト判断手段111、照会要求解決手段120および擬似ファイルシステム131を有している。
【0137】
照会要求解決手段120は第1の実施形態と同じであり、インターセプト判断手段111および擬似ファイルシステム131は第1の実施形態と異なる。
【0138】
インターセプト判断手段111は、スイッチ101を通過するクライアント11からの各要求がオブジェクトを指定した照会要求か否か判定する。スイッチ101を通過する要求がオブジェクトを指定した照会要求でなければ、インターセプト判断手段111は、その要求をサーバ14に転送する。また、インターセプト判断手段111は、スイッチ101を通過する要求がオブジェクトを指定した照会要求であれば、その照会要求に含まれるオブジェクト識別子を用いて、擬似ファイルシステム131に、照会要求により指定されたオブジェクトが、照会応答対象か否かを問い合わせる。照会応答対象とは、照会要求により指定されたオブジェクトが、その照会要求を送ったクライアント11に対してサーバ14に代わってスイッチ101が照会応答すべきオブジェクトであることをいう。
【0139】
その照会要求が照会応答対象でなければ、インターセプト判断手段111は、その照会要求をサーバ14に転送する。その照会要求が照会応答対象であれば、インターセプト判断手段111は、その照会要求をサーバ14に転送せず、照会要求解決手段121に送る。
【0140】
擬似ファイルシステム131は、オブジェクト識別子とロケーション情報との対応だけでなく、照会要求により指定されるオブジェクトが照会応答対象か否かを管理している。すなわち、擬似ファイルシステム131は、照会要求により指定されたオブジェクトを、オブジェクト識別子毎に、照会応答対象か否か管理している。あるいは、擬似ファイルシステム131は、照会応答対象のオブジェクトのオブジェクト識別子と、そのオブジェクト識別子に対応するロケーション情報とを管理していてもよい。擬似ファイルシステム131は、インターセプト判断手段111から、オブジェクト識別子を用いて照会要求が照会応答対象か否かの問い合わせを受けると、オブジェクト識別子から照会要求が照会応答対象か否かを判断し、その結果をインターセプト判断手段111に返す。
【0141】
なお、擬似ファイルシステム131は、どのオブジェクト識別子に対する照会要求が照会応答対象かをクライアント11毎またはユーザ毎に管理してもよい。その場合、インターセプト判断手段111は照会要求に含まれるオブジェクト識別子とクライアント識別子またはユーザ識別子とを用いて、擬似ファイルシステム131に照会要求が照会応答対象か否かを問い合わせる。擬似ファイルシステム131は、照会応答対象か否かの問い合わせを受けると、照会要求が照会応答対象か否か判断し、判断結果をインターセプト判断手段111に返す。
【0142】
図5は、本発明の第2の実施形態によるクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。図5を参照すると、まず、クライアント11はオブジェクト識別子を付加したアクセス要求をサーバ14−1に送る(ステップSB1)。
【0143】
スイッチ101のインターセプト判断手段111は、スイッチ101を通過する各要求がオブジェクトを指定した照会要求か否か判定する(ステップSB2)。その要求がオブジェクトを指定した照会要求でなければ、インターセプト判断手段111は、その要求をサーバに転送する(ステップSB3)。サーバ14はその要求を処理する(ステップSB4)。
【0144】
インターセプト判断手段111は、スイッチ101を通過する要求がオブジェクトを指定した照会要求であれば、その照会要求に含まれるオブジェクト識別子を用いて、照会要求が照会応答対象か否か擬似ファイルシステム131に問い合わせる(ステップSC1)。擬似ファイルシステム131から得られた結果から、インターセプト判断手段111は、照会要求が照会応答対象か否か判定する(ステップSC2)。
【0145】
照会要求が照会応答対象でなければ、インターセプト判断手段111は、照会要求をサーバ14に転送する(SC3)。サーバ14は、その照会要求を処理する(ステップSC4)。
【0146】
照会要求が照会応答対象であれば、インターセプト判断手段111は、照会要求をサーバ14に転送せず、照会要求解決手段120に送る。
【0147】
その後の動作は、図3に示した第1の実施形態と同じである(ステップSB5〜SB7)。
【0148】
以上説明したように、本実施形態によれば、照会要求をスイッチ101の照会要求解決手段120にて解決するか否かをインターセプト判断手段111によってオブジェクト毎に選択できるので、スイッチ101にて解決するか否かをオブジェクト毎に区別することにより、様々なサーバやオブジェクトが混在する既存のシステムに本発明を容易に適合させることができる。例えば、セキュリティ性の要求されるオブジェクトに対する照会要求をスイッチ101でユーザ毎に解決することにより、不明なユーザからのアクセスを排除することができる。また、例えば、照会要求解決手段を有するサーバとそれを有しないサーバとが混在するシステムにおいて、照会要求解決手段を有しないサーバへの照会要求のみをスイッチ101で解決することができる。これにより、クライアントは全てのサーバに対して照会要求を送ることが可能となる。
(第3の実施形態)
第3の実施形態によるクライアント・サーバ・システムは図1に示した第1の実施形態と同様の構成である。
【0149】
図6は、本発明の第3の実施形態のスイッチ102の構成を示すブロック図である。図6を参照すると、本実施形態のスイッチ102は、インターセプト判断手段112、照会要求解決手段120、擬似ファイルシステム132および照会要求促進手段140を有している。
【0150】
照会要求解決手段120は第1の実施形態と同じであり、インターセプト判断手段112および擬似ファイルシステム132は第1の実施形態と異なる。また、第3の実施形態のスイッチ102は第1の実施形態に無い照会要求促進手段140を有する。
【0151】
インターセプト判断手段112は、スイッチ102を通過するクライアント11からの各要求がオブジェクトを指定した照会要求か否か判定する。スイッチ102を通過する要求が照会要求でなければ、インターセプト判断手段112は、その要求により指定されたオブジェクトが照会要求促進対象か否か、擬似ファイルシステム132に問い合わせる。そのオブジェクトが照会要求促進対象でなければ、インターセプト判断手段112は、その要求をサーバ14に転送する。そのオブジェクトが照会要求促進対象であれば、インターセプト判断手段112は、その要求をサーバ14に転送せず、照会要求促進手段140に送る。照会要求促進対象とは、要求により指定されたオブジェクトが、クライアントに照会要求を行うことを促すべきオブジェクトであることをいう。具体的には、要求の送信先のサーバにそのオブジェクトが存在しない場合が考えられる。
【0152】
擬似ファイルシステム132は、オブジェクト識別子とロケーション情報との対応だけでなく、どのオブジェクト識別子に対する要求が照会要求促進対象かを管理している。インターセプト判断手段112から、オブジェクト識別子を用いた照会要求促進対象か否かの問い合わせを受けると、擬似ファイルシステム132は、オブジェクト識別子に対する要求が照会要求促進対象か否か判定し、判定結果をインターセプト判断手段112に返す。
【0153】
照会要求促進手段140は、インターセプト判断手段112から要求を受けると、クライアント11に照会要求の発行を促すエラーコードを送る。このエラーコードを受信したクライアント11は、要求に指定していたオブジェクトを指定して照会要求をサーバに向けて送る。
【0154】
擬似ファイルシステム132は、どのオブジェクト識別子に対する要求が照会要求促進対象かをクライアント11毎またはユーザ毎に管理してもよい。その場合、インターセプト判断手段112は、オブジェクト識別子とクライアント識別子またはユーザ識別子とを用いて、要求が照会要求促進対象か否かを擬似ファイルシステム132に問い合わせる。擬似ファイルシステム132は、その要求が照会要求促進対象か否かの問い合わせを受けると、照会要求促進対象か否か判断し、判断結果をインターセプト判断手段112に返す。
【0155】
図7は、本発明の第3の実施形態によるクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。図7を参照すると、まず、クライアント11はオブジェクト識別子を付加してサーバ14−1にアクセス要求を送る(ステップSB1)。
【0156】
スイッチ102のインターセプト判断手段112は、スイッチ102を通過する各要求が照会要求か否か判定する(ステップSB2)。その要求が照会要求でなければ、その要求に含まれるオブジェクト識別子を用いて、その要求が照会要求促進対象か否か擬似ファイルシステム132に問い合わせる(ステップSD1)。
【0157】
擬似ファイルシステム132から得られた結果から、インターセプト判断手段112は、その要求が照会促進対象か否か判断する(ステップSD2)。
【0158】
その要求が照会要求促進対象でなければ、その要求をサーバ14−1に転送する(ステップSD3)。サーバ14−1は、その要求を処理する(ステップSD4)。ステップSD2の判定で、要求が照会要求促進対象であれば、インターセプト判断手段112は、その要求を照会要求促進手段140に送る。
【0159】
照会要求促進手段140は、インターセプト判断手段112から要求を受けると、クライアント11に照会要求の発行を促すエラーコードを送る(ステップSD5)。クライアント11は、そのエラーコードを受け取る(ステップSD6)。これにより、クライアント11は照会要求を行うべきであることを知る。
【0160】
ステップSB2の判定で、要求が照会要求であれば、その後の動作は、図3に示した第1の実施形態と同じである(ステップSB5〜SB7)。
【0161】
以上説明したように、本実施形態によれば、インターセプト判断手段112がクライアントからの要求が照会要求促進対象か否か判定し、照会要求促進対象であれば、照会要求促進手段140が照会要求の発行を促すエラーコードをクライアントに送るので、各サーバが照会要求促進手段を持っていなくとも、クライアント・サーバ・システムに移動透過性および単一名前空間機能を持たせることができる。
(第4の実施形態)
第4の実施形態によるクライアント・サーバ・システムは図1に示した第1の実施形態と同様の構成であってもよいが、それに限定されない。第4の実施形態のクライアント・サーバ・システムでは、クライアントは、全てのサーバに対する要求を、スイッチを宛先として送信するので、スイッチはどこに配置されてもよく、接続される位置に制限がない。
【0162】
図8は、本発明の第4の実施形態のスイッチ103の構成を示すブロック図である。図8を参照すると、本実施形態のスイッチ103は、インターセプト判断手段113、照会要求解決手段120、擬似ファイルシステム133および仮想転送先選別手段150を有している。
【0163】
照会要求解決手段120は第1の実施形態と同じであり、インターセプト判断手段113および擬似ファイルシステム133は第1の実施形態と異なる。擬似ファイルシステム133は、ロケーション情報仮想化手段135を有している。また、第4の実施形態のスイッチ103は第1の実施形態に無い仮想転送先選別手段150を有している。
【0164】
第4の実施形態では、クライアント11は常にスイッチ103のIPアドレスに対して要求を送るので、上述したように第1の実施形態と比べてスイッチ103の配置の自由度が高い。また、第4の実施形態では、クライアント11に対してスイッチ103をプロキシとして設定したり、クライアント11からサーバ14への要求が必ずスイッチ103を通過するようにパケットのルーティング規則を設定する必要も無い。
【0165】
インターセプト判断手段113は、クライアント11からスイッチ103に宛てられた各要求が、オブジェクトを指定した照会要求か否か判定する。照会要求か否かの判定は、要求の種類を調べることによって行われる。例えば、要求の種類を示すコマンド番号やコマンド名を調べればよい。
【0166】
スイッチ103に届いた要求が照会要求でなければ、インターセプト判断手段113は、その要求を仮想転送先選別手段150に送る。また、その要求が照会要求であれば、インターセプト判断手段113は、その照会要求を照会要求解決手段120に送る。
【0167】
ロケーション情報仮想化手段135は、ロケーション情報と仮想ロケーション情報との対応を管理している。ここで、仮想ロケーション情報とは、第1の実施形態において用いられた実際のロケーション情報(以下、実ロケーション情報と称す)ではなく、実ロケーション情報をクライアントに開示しないために、その代わりに用いる仮想的なロケーション情報である。したがって、仮想ロケーション情報と実ロケーション情報とは対応している。仮想ロケーション情報は、スイッチ103がクライアント11に対して提供する仮想的なポート情報と仮想的なオブジェクト識別子とから構成される。スイッチ103のIPアドレスおよびポート番号を仮想的なポート情報として仮想ロケーション情報に含めれば、全てのサーバに対する要求がスイッチ103に届くようになる。なお、ここでは、ロケーション情報仮想化手段135が擬似ファイルシステム133に含まれている構成を例示しているが、本発明はこの構成に限定されるものではない。ロケーション情報仮想化手段135が擬似ファイルシステム133の外部にあってもよい。
【0168】
擬似ファイルシステム133から実ロケーション情報を用いた仮想ロケーション情報の問い合わせを受けると、ロケーション情報仮想化手段135は、擬似ファイルシステム133に仮想ロケーション情報を返す。また、擬似ファイルシステム133から仮想ロケーション情報を用いた実ロケーション情報の問い合わせを受けると、ロケーション情報仮想化手段135は、擬似ファイルシステム130に実ロケーション情報を返す。
【0169】
擬似ファイルシステム133は、オブジェクト識別子と実ロケーション情報との対応を管理する。また、擬似ファイルシステム133は、ロケーション情報仮想化手段135に問い合わせることにより、実ロケーション情報と仮想ロケーション情報の相互変換を行う。
【0170】
照会要求解決手段120から、オブジェクト識別子によるロケーション情報の問い合わせを受けると、擬似ファイルシステム133は、オブジェクト識別子に対応する少なくとも1つの実ロケーション情報を求め、その実ロケーション情報に対応する仮想ロケーション情報をロケーション情報仮想化手段135に問い合わせる。ロケーション情報仮想化手段135から仮想ロケーション情報を入手すると、擬似ファイルシステム133は、その仮想ロケーション情報を含む応答を照会要求解決手段120に返す。
【0171】
また、擬似ファイルシステム133は、仮想転送先選別手段150から、仮想ロケーション情報に対応する実ロケーション情報の問い合わせを受けると、ロケーション情報仮想化手段135に仮想ロケーション情報に対応する実ロケーション情報を問い合わせる。ロケーション情報仮想化手段135から実ロケーション情報を入手すると、その情報を含む応答を仮想転送先選別手段150に返す。
【0172】
仮想転送先選別手段150は、インターセプト判断手段110から要求を受けると、まず、その要求の宛先であるロケーション情報が仮想ロケーション情報であるか否か判定する。ロケーション情報が仮想ロケーション情報であれば、仮想転送先選別手段150は、その仮想ロケーション情報に対応する実ロケーション情報を擬似ファイルシステム133に問い合わせる。擬似ファイルシステム133から実ロケーション情報を入手すると、要求に含まれるロケーション情報を実ロケーション情報に書き換えて、その実ロケーション情報を宛先として要求を転送する。ロケーション情報が仮想的でなければ、つまり実ロケーション情報であれば、そのまま要求を転送する。なお、ここでは、ロケーション情報仮想化手段135が擬似ファイルシステム133含まれた構成を前提としているため、仮想転送先選別手段150が擬似ファイルシステム133を介してロケーション情報仮想化手段135へ問い合わせを行う例を示した。しかし、本発明はこれに限定されず、仮想転送先選別手段150がロケーション情報仮想化手段に直接問い合わせを行うこととしてもよい。
【0173】
図9は、本発明の第4の実施形態のクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。図9を参照すると、まず、クライアント11はオブジェクト識別子を付加してサーバ14−1にアクセス要求を送る(ステップSB1)。
【0174】
スイッチ103のインターセプト判断手段113は、スイッチ103に届いた各要求がサーバ14−1に対する、オブジェクトを指定した照会要求か否か判定する(ステップSB2)。その要求が照会要求でなければ、インターセプト判断手段113は、その要求を仮想転送先選別手段150に送る。
【0175】
仮想転送先選別手段150は、インターセプト判断手段113から要求を受けると、その要求の宛先が仮想ロケーション情報によって示されているか否か判定する(ステップSE1)。宛先が仮想ロケーション情報であれば、仮想転送先選別手段150は、仮想ロケーション情報を用いて、擬似ファイルシステム133に実ロケーション情報を問い合わせる(ステップSE2)。そして、仮想転送先選別手段150は、その要求に宛先として含まれるロケーション情報(すなわち、仮想ロケーション情報であり、仮想的なオブジェクト識別子を含む)を、擬似ファイルシステム133から得られた実ロケーション情報に書き換える(ステップSE3)。次に、仮想転送先選別手段150は、そのロケーションに要求を転送する(ステップSE4)。要求を受けたサーバ14は、その要求を処理する(ステップSE5)。
【0176】
ステップSB2の判定で、要求が照会要求であれば、その後の動作は、図3に示した第1の実施形態と同様である(ステップSB5〜SB7)。ただし、擬似ファイルシステム135はロケーション情報仮想化手段135を有するので、照会要求解決手段120からクライアント11に通知されるロケーション情報は仮想ロケーション情報である。
【0177】
以上説明したように、本実施形態によれば、スイッチ103とクライアント11の間で仮想ロケーション情報を用い、ロケーション情報仮想化手段135にてロケーション情報と仮想ロケーション情報の変換をするので、オブジェクトの実際のロケーションをクライアント11に隠すことができ、本実施形態のクライアント・サーバ・システムはセキュリティ性が高い。
【0178】
また、本実施形態によれば、クライアント11は常にスイッチ103のIPアドレスに対して要求を送るので、第1の実施形態に比べて、スイッチ103の配置の自由度が高い。第4の実施形態では、クライアント11においてスイッチ103をプロキシとして指定したり、クライアント11とサーバ14の間で必ずスイッチ103を通過するようにパケットのルーティング規則を設定する必要が無い。
【0179】
なお、第4の実施形態では、オブジェクト識別子と実ロケーション情報の対応関係が擬似ファイルシステム133に管理されている例を示したが、その代わりにオブジェクト識別子と仮想ロケーション情報との対応関係が管理されていてもよい。仮想ロケーション情報と実ロケーション情報の対応関係はロケーション情報仮想化手段135に記録されているので、擬似ファイルシステム133はそれらを相互に変換可能である。
(第5の実施形態)
図10は、本発明の第5の実施形態による複数のスイッチを連携動作させた場合のネットワークの物理的構成の一例である。専用線200はスイッチ間の通信に用いられる専用線である。スイッチ間の情報を専用線で転送することにより、情報共有などの処理は高速化されることができる。ただし、処理速度の要求がそれほど高くなければ、専用線200に代えて例えばLANを用いてもよい。
【0180】
また、第4の実施形態と同様に、各スイッチ104−1〜104−nは、論理的にはクライアント11−1〜11−kとサーバ14−1〜14−mの間に存在し、クライアント11−1〜11−kからサーバ14−1〜14−mへの全てのパケットはスイッチ104−1〜104−nのいずれかに宛てて送られる。
【0181】
図11は、本発明の第5の実施形態による複数のスイッチを連携動作させた場合の物理的なネットワーク構成の他の例である。ここでは、スイッチ104−1〜104−nとクライアント11−1〜11−kとの通信用のネットワーク201と、スイッチ104−1〜104−nとサーバ14−1〜14−mとの通信用のネットワーク202が物理的に分離されている。
【0182】
図12〜14は、本発明の第5の実施形態により提供される分散ファイルシステムのディレクトリツリーの構成例を説明するための図である。図12は、分散ファイルシステムにおける各サーバのファイル構成を示す図である。図13は、分散ファイルシステムによる単一名前空間のファイル構成を示す図である。図14は、擬似ファイルシステムおよびロケーション情報仮想化手段に登録され、管理されている情報の内容を示す表である。この情報により、擬似ファイルシステムは、共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理する。
【0183】
図14に示された表の横方向の情報のセットをエントリと呼ぶ。また、「スイッチ番号」の欄は、スイッチに付された符号の「−」の後の番号(1〜n)を示す。
【0184】
「共有のつなぎ目」の欄は、共有のつなぎ目にあたるオブジェクトのオブジェクト識別子を示す。
【0185】
「ドメイン間」の欄は、共有のつなぎ目がドメイン間をまたいでいるか否かを示す。「○」は、ドメイン間をまたいでいるものを示し接続元のスイッチに管理される。無印はドメイン間をまたがないものを示している。
【0186】
ドメインは1つのスイッチが転送の責任を負うサーバや共有の範囲のことを指す。ドメインの範囲はスイッチ毎に定められており、同一スイッチ配下のオブジェクトは、異なるサーバに存在していたとしても同一ドメインに属する。1つのサーバが2つスイッチのドメインに重複して属することもある。また、ドメインは共有を最小単位とするので、1つのサーバ内の互いに異なる共有が、互いに異なる2つのスイッチのドメインに属することもある。つまり、1つのサーバが2つのドメインに分割されることもある。
【0187】
「ドメイン間」の欄の「従」は、ドメイン間にまたがる共有のつなぎ目(「○」)に従属しており、そのつなぎ目の接続先のサーバの属するスイッチに管理される情報である。
【0188】
「リダイレクト先」の欄は、仮想ロケーション情報を示す。「実ロケーション」は、実ロケーション情報を示す。
【0189】
第4の実施形態では、擬似ファイルシステムは、オブジェクト識別子と実ロケーション情報との対応を管理していた。しかし、本実施形態では、擬似ファイルシステムは、共有のつなぎ目の欄に示されたオブジェクト識別子と、リダイレクト先の欄に示された仮想ロケーション情報との対応関係を管理している。つまり、本実施形態では、オブジェクト識別子と仮想ロケーション情報との対応を管理している点で、第4の実施形態と異なる。
【0190】
図12に示したように、ここでは、5つのサーバ14−1〜14−5がある場合を例示する。サーバ14−1は共有「A」を提供している。サーバ14−2は共有「F」を提供している。サーバ14−3は共有「H」を提供している。サーバ14−4は共有「K」と「N」を提供している。サーバ14−5は共有「R」を提供している。共有「F’」は、第8の実施形態に後述されるフェイルオーバー用の代替の共有であり、ここでは無視してよい。なお、サーバ14−3のLocall配下の共有「H」は、サーバに提供される共有が必ずしもディレクトリ「EXP」など特定の位置になくてもよいことを例示している。
【0191】
また、図12に示したように、ここでは3つのスイッチ104−1〜104−3がある場合を例示する。そして、3つのスイッチ104−1〜104−3が連携動作し、各サーバ14−1〜14−5にある共有を組み合わせて、図13に示したような単一名前空間をクライアント11−1〜11−kに提供している。その際に、各スイッチ104−1〜104−3は図14に示された情報を用いる。
【0192】
各スイッチが共有のつなぎ目の情報をどこまで保持するかにより、分散ファイルシステムは部分共有型と全共有型の2つの形態をとりうる。部分共有型では、各スイッチが自身の管理する情報のみを保持する。全共有型では、各スイッチが全てのスイッチの管理する情報を保持する。図15は、本発明の第5の実施形態において部分共有型の場合のスイッチの構成を示すブロック図である。図16は、本発明の第5の実施形態において全共有型の場合のスイッチの構成を示すブロック図である。
【0193】
図15を参照すると、部分共有型のスイッチ104Aは、インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134A、照会要求促進手段140、仮想転送先選別手段150、変更情報通知手段203および変更情報反映手段204を有している。
【0194】
照会要求解決手段120、照会要求促進手段140および仮想転送先選別手段150は、それぞれ前述されたものと同じものである。また、インターセプタ判断手段114は、クライアントからの要求を照会要求解決手段120、照会要求促進手段140および仮想転送先選別手段150に振り分ける。
【0195】
変更情報通知手段203は、ドメイン間にまたがる共有のつなぎ目に変更があれば、その変更情報を関連する他のスイッチに通知する。変更情報反映手段204は、他のスイッチからの変更情報を擬似ファイルシステム134Aおよびロケーション情報仮想化手段135Aに反映させる。
【0196】
なお、部分共有型の各スイッチが擬似ファイルシステム134Aおよびロケーション情報仮想化手段135Aにて記憶している情報は、図14に示された情報のうち、自身のスイッチ番号と一致する部分のみである。
【0197】
図16は、本発明の第5の実施形態において全共有型の場合のスイッチの構成を示すブロック図である。図16を参照すると、全共有型のスイッチ104Bは、インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134B、照会要求促進手段140、仮想転送先選別手段150および情報収集共有手段205を有している。
【0198】
インターセプタ判断手段114、照会要求解決手段120、照会要求促進手段140および仮想転送先選別手段150は部分共有型のスイッチ104Aと同じものである。
【0199】
情報収集共有手段205は、擬似ファイルシステム134Bおよびロケーション情報仮想化手段135Bの管理する情報を各スイッチ間で同期をとって共有する。
【0200】
なお、全共有型の各スイッチが擬似ファイルシステム134Bおよびロケーション情報仮想化手段135Bにて記憶している情報は図14に示された全ての情報である。
【0201】
第5の実施形態の動作について説明する。
【0202】
クライアントが、図13に示された単一名前空間のディレクトリを参照し、オブジェクトにアクセスするときのスイッチの動作について説明する。
【0203】
ここで、クライアントはスイッチ104−1にアクセスし、ディレクトリ「A」から順にツリーをたどるとする。例えば、クライアントからの名前解決要求のパス名が「A/C/E/F」であれば、インターセプト判断手段114はこの要求を照会要求促進手段140へ送る。「A/C/E/F」は共有のつなぎ目を超えるので、照会要求を促すメッセージが照会要求促進手段140からクライアントへ送られる。照会要求を促すメッセージを受けると、クライアントは照会要求をスイッチ104−1に送る。
【0204】
クライアントから照会要求を受けると、インターセプト判断手段114は、この照会要求を照会要求解決手段120に送る。照会要求を受けると、照会要求解決手段120は擬似ファイルシステム134に仮想ロケーション情報を問い合わせる。そして、照会要求解決手段120は、擬似ファイルシステム134から取得した仮想ロケーション情報「//SW1/F」をリダイレクト先としてクライアントに通知する。
【0205】
リダイレクト先を通知されると、クライアントは、そのリダイレクト先「//SW1/F」に名前解決要求を送リ直す。
【0206】
スイッチ104−1のインターセプト判断手段114は、この要求を仮想転送先選別手段150に送る。仮想転送先選別手段150は、ロケーション情報仮想化手段135に実ロケーション情報を問い合わせ、実ロケーション情報「//SERVER2/EXP/F」を取得する。そして、仮想転送先選別手段150は、名前解決要求を「//SERVER2/EXP/F」に転送する。これにより、サーバ14−1にあるディレクトリ「E」から共有のつなぎ目「F」にシームレスに、すなわち単一名前空間通りに移行できる。
【0207】
次に、クライアント11が、「A/C/K/L」以下のディレクトリを「A/B/D/L」以下へ移動させるときのスイッチの動作について説明する。
【0208】
このとき、スイッチは、サーバの有するファイル移動機能を利用して、サーバ14−4にあるディレクトリ「L」を「//SERVER4/EXP/K」の下から、「//SERVER1/EXP/A/B/D」の下へ移動させる。次に、同様にして、スイッチは、「R」以下のディレクトリをサーバ14−5からサーバ14−1へ移動させる。この移動結果の情報が各スイッチ14−1〜14−5の擬似ファイルシステム134およびロケーション情報仮想化手段135に反映されると移動が完了する。
【0209】
しかし、移動結果の情報を擬似ファイルシステム134およびロケーション情報仮想化手段135に反映させるときの動作は、部分共有型のスイッチと、全共有型のスイッチとで異なる。そこで、それぞれの動作について別個に説明する。
【0210】
まず、図15の部分共有型のスイッチの動作について説明する。
【0211】
部分共有型のスイッチでは、図14に示された各エントリの情報は、各スイッチ番号のスイッチにのみ保持されている。あるスイッチに管理されている情報のリダイレクト先が他のスイッチとなっている場合、その情報(図14の表において「ドメイン間」に○が示されているもの)に変更があれば、変更情報をリダイレクト先のスイッチに通知し、反映させる必要がある。
【0212】
そこで、変更情報通知手段203は、自身の擬似ファイルシステム134Aおよびロケーション情報仮想化手段135Bに保持されている情報のうち、ドメイン間にまたがる共有のつなぎ目の情報が変化した場合、そのエントリの「リダイレクト先」のスイッチに変更情報を通知する。なお、このとき、後述されるスタンバイ用スイッチが登録されていれば、ドメイン間のエントリ以外の情報も通知する。この例では、スイッチ14−2の変更情報通知手段203は、ディレクトリ「A/C/K/L/R」のエントリがなくなった旨の変更情報をスイッチ14−3へ通知する。変更情報は、図11に示されたクライアント側のネットワーク201、サーバ側のネットワーク202、またはスイッチ間専用線200のいずれにより通知されてもよい。
【0213】
次に、スイッチ14−3の変更情報反映手段204は、受信した変更情報を自身の擬似ファイルシステム134Aおよびロケーション情報仮想化手段135Aに反映させる。すなわち、ここでは、スイッチ14−3はディレクトリ「A/C/K/L/R」のエントリを削除する。以上で移動動作が完了する。移動動作が完了した結果、擬似ファイルシステム134Aおよびロケーション情報仮想化手段135Aに管理されている情報は図19に示すようになる。また、各サーバ14−1〜14−5のファイル構成は図17に示されたようになる。また、単一名前空間のファイル構成は図18に示すようになる。
【0214】
次に、図16の全共有型のスイッチの動作について説明する。
【0215】
全共有型のスイッチでは、図14に示された全ての情報が各スイッチ14−1〜14−3に保持されている。そのため、各スイッチ14−1〜14−3の情報収集共有手段205は、自身のスイッチ番号が付与されたエントリのうち、「ドメイン間」の欄が「○」または無印のエントリに変更があれば、他の全てのスイッチに変更情報と自身のドメイン名を通知する。なお、「ドメイン間」の欄に「従」と示されたエントリ(従属エントリ)は、変更があっても通知されない。従属エントリは、「ドメイン間」の欄が「○」のエントリに従属し、「○」のエントリの変更情報が通知されたときに、その通知を受けたスイッチによって擬似ファイルシステム134Bおよびロケーション情報仮想化手段135Bに追加され、また更新されるものである。
【0216】
この例では、スイッチ104−2の情報共有収集手段205が、ディレクトリ「A/C/K/L/R」のエントリがなくなった旨の変更情報をスイッチ104−1およびスイッチ104−3へ通知する。変更情報は、クライアント側のネットワーク201、サーバ側のネットワーク202、またはスイッチ間専用線200のいずれにより通知されてもよい。
【0217】
次に、スイッチ104−1およびスイッチ104−3の情報収集共有手段205は、通知された変更情報を自身の擬似ファイルシステム134Bおよびロケーション情報仮想化手段135Bに反映させる。これにより、スイッチ104−1およびスイッチ104−3の擬似ファイルシステム134Bおよびロケーション情報仮想化手段135Bから、「A/C/K/L/R」のエントリが削除されて移動動作が完了する。
【0218】
以上で移動動作が完了し、その結果、各スイッチ104−1〜104−3の擬似ファイルシステム134Bおよびロケーション情報仮想化手段135Bに管理されている情報は図19に示されたようになる。
【0219】
以上説明したように、本実施形態によれば、複数のスイッチ104−1〜104−nは、互いに他のスイッチをリダイレクタ先として指定でき、かつ、単一名前空間を構成するための情報を矛盾なく共有できるので、複数のスイッチ104−1〜104−nを連携動作させることができ、システムに要求される性能に合わせてスイッチの台数を選択することにより、容易に最適なシステムを構成でき、スイッチの性能がシステムのボトルネックにならないようにすることができる。
(第6の実施形態)
本発明の第6の実施形態のネットワーク構成は図10、11に示した第5の実施形態と同様である。また、初期のディレクトリツリーは図12〜14に示したものと同じであるとする。第6の実施形態は、部分共有型のスイッチのフェイルオーバー技術に関するものである。フェイルオーバーとは障害時の切り替え処理のことである。したがって、第6の実施形態ではスタンバイのスイッチが設けられる。スタンバイのスイッチは、現用のスイッチと同じ機能および構成を有しているが、現用のスイッチに対する予備であり、フェイルオーバー対象とされた現用のスイッチが故障したときや停止したとき代わりに動作する。予備用のスイッチは、現用の全てのスイッチをフェイルオーバー対象としてもよく、また一部のスイッチをフェイルオーバー対象としてもよい。
【0220】
本発明の第6の実施形態によるスイッチは、他のスイッチが故障した場合にそのスイッチの代わりに動作する、スタンバイのスイッチとして機能することができる。
【0221】
図20は、本発明の第6の実施形態のスイッチの構成を示すブロック図である。図20を参照すると、スイッチ105は、インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134A、照会要求促進手段140、仮想転送先選別手段150、変更情報通知手段203、変更情報反映手段204、モニタ手段206および冗長フェイルオーバー手段207を有している。
【0222】
インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134A、照会要求促進手段140、仮想転送先選別手段150、変更情報通知手段203および変更情報反映手段204は第5の実施形態と同じものである。
【0223】
モニタ手段206は、クライアント側のネットワーク201、サーバ側のネットワーク202またはスイッチ間専用線200のいずれかを通して、フェイルオーバー対象のスイッチが正常に稼動しているか否かをモニタする。
【0224】
スタンバイ状態にあるスイッチの変更情報反映手段203には、フェイルオーバー対象のスイッチのIPアドレスなど全ての属性が予め登録されている。そして、変更情報反映手段203は、フェイルオーバー対象のスイッチへ送られる全ての変更情報を受信し、自身の擬似ファイルシステム134Aおよびロケーション情報仮想化手段135Aへ反映させている。スタンバイのスイッチがフェイルオーバー対象のスイッチへの変更情報を受信するために、例えば、スタンバイのスイッチに実際にIPアドレスの他に、フェイルオーバー対象のサーバのIPアドレスを仮想IPアドレスとして設定し、変更情報のパケットを拾い読みしてもよい。また、フェイルオーバー対象のスイッチの変更情報の通知先に、スタンバイのスイッチを加えてもよい。
【0225】
例えば、図21に示すように、スイッチ105−2が故障したとき、スタンバイのスイッチ105−4のモニタ手段206は、これを検出し、冗長フェイルオーバー手段207に通知する。冗長フェイルオーバー手段207は、擬似ファイルシステム134Aおよびロケーション情報仮想化手段135Aにおいて、スイッチ105−2に管理されていた部分を自身の管理下に置き、それ以降、自身の管理する情報に変更があれば、変更情報通知手段203より変更情報を他のスイッチに通知する。
【0226】
また、冗長フェイルオーバー手段207は、ネットワークインタフェース(不図示)にスイッチ105−2のIPアドレスやMACアドレスなどの情報を引き継がせて、フェイルオーバーを実行する。したがって、分散ファイルシステムの単一名前空間のファイル構成は図22に示すように維持される。また、擬似ファイルシステムおよびロケーション情報仮想化手段にて管理されている情報は、図23に示すように維持される。図23では、スイッチ105−2にて管理されていた情報がスタンバイのスイッチ105−4に引き継がれている。
【0227】
以上説明したように、本実施形態によれば、スタンバイのスイッチを設けることにより対象のスイッチに冗長性を持たせることができるので、複数のスイッチからなる連携システム全体の信頼性を向上させることができる。
(第7の実施形態)
本発明の第7の実施形態のネットワーク構成は図10、11に示したと第5の実施形態と同様である。また、初期のディレクトリツリーは図12〜14に示したものと同じであるとする。第7の実施形態では、スイッチが故障したときの予備としてフェイルオーバー用のスイッチが設けられておらず、各スイッチが互いにフェイルオーバー対象となっており、あるスイッチが故障したときには他のいずれかのスイッチが本来の自身の機能に加えて故障したスイッチの機能を果たす。なお、第7の実施形態は、全共有型のスイッチのフェイルオーバー技術に関するものである。したがって、第7の実施形態では、各スイッチは擬似ファイルシステムおよびロケーション情報仮想化手段の全ての情報を保持している。
【0228】
図24は、本発明の第7の実施形態のスイッチの構成を示すブロック図である。図24を参照すると、スイッチ106は、インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134B、照会要求促進手段140、仮想転送先選別手段150、情報収集共有手段205、モニタ手段206、非冗長フェイルオーバー手段208、代替順位記憶手段209および代替リダイレクト先通知手段210を有している。
【0229】
インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134B、照会要求促進手段140、仮想転送先選別手段150、情報収集共有手段205およびモニタ手段206は前述したものと同じものである。
【0230】
モニタ手段206はフェイルオーバー対象のスイッチをモニタしており故障を検出すると、それを非冗長フェイルオーバー手段208に通知する。
【0231】
フェイルオーバー対象のスイッチの故障を通知されると、非冗長フェイルオーバー手段208は、代替順位記憶手段209に代替順位を問い合わせる。代替順位とは、フェイルオーバー対象のスイッチの代わりに動作する順位である。あるスイッチが故障したときに代わりに機能することができるスイッチは1つに限られず複数でもよい。このように同じスイッチをフェイルオーバー対象とするスイッチには代替順位が付与されている。フェイルオーバー対象のスイッチが故障したとき、自身も故障していたりなど代替して動作できない状態にあることもある。故障したスイッチをフェイルオーバー対象とするスイッチであり、その時点で代替動作できる状態にあるものの中で、最も代替順の高いものがフェイルオーバー対象のスイッチを代替することになる。
【0232】
非冗長フェイルオーバー手段208は、代替順位記憶手段209より取得した代替順位から、フェイルオーバー対象のスイッチの代わりに動作するべきスイッチを知る。そして、非冗長フェイルオーバー手段208は、故障したスイッチがリダイレクト先として登録されていたエントリのリダイレクト先を、故障したスイッチを代替するスイッチに変更する。また、故障したスイッチを代替するスイッチはそれ以降、故障したスイッチの代わりに動作する。
【0233】
代替順位記憶手段209は、各スイッチに対してフェイルオーバーを行う代替順位の情報を記憶している。そして、代替順位記憶手段209は、非冗長フェイルオーバー手段208からの問い合わせに応じて順位情報を応答する。
【0234】
この例では、スイッチ106−1は、スイッチ106−3を第1順位で代替し、スイッチ106−2に対して第2順位で代替するとされている。また、スイッチ106−2は、スイッチ106−1に対して第1順位で代替し、スイッチ106−3に対して第2順位で代替するとされている。また、スイッチ106−3は、スイッチ106−2に対して第1順位で代替し、スイッチ106−1に対して第2順位で代替するとされている。
【0235】
したがって、例えばスイッチ106−2が故障すると、まず第1順位のスイッチ106−3がスイッチ106−2を代替する。このとき、もしスイッチ106−3も故障していれば、第2順位のスイッチ106−1がスイッチ106−2をを代替する。なお、この例では、スイッチが3つなので、スイッチ106−1は最終的にスイッチ106−2、106−3の両方を代替することになる。
【0236】
代替リダイレクト先通知手段210は、代替順位記憶手段209に記憶されている情報に基づいて、照会要求解決手段120からクライアントへのロケーション情報(リダイレクト先)に加えて、代替リダイレクト先をクライアントに予め通知する。例えば、初期状態として擬似ファイルシステム134Bおよびロケーション情報仮想化手段に135Bに図14のような情報が記録されていれば、スイッチ106−2のロケーション情報(リダイレクト先)「//SW2/K」に加えて、代替のリダイレクト先「//SW3/K」および「//SW1/K」がこの代替順位でクライアントに予め通知される。
【0237】
例えば、代替リダイレクト先を通知するメッセージとして、例えばNFSv4のfs_locations属性が挙げられる。NFSv4のfs_locations属性は、複数のリソースの位置を併記できる構成になっており、その一要素として代替リダイレクト先を通知することができる。
【0238】
本発明の第7の実施形態の動作について説明する。
【0239】
ここでは、図25に示すようにスイッチ106−2が故障したとする。スイッチ106−1、106−3のモニタ手段206はその故障を検出し、それぞれ非冗長フェイルオーバー手段208に通知する。
【0240】
非冗長フェイルオーバー手段208は、代替順位記憶手段209に代替順位を問い合わせる。その結果、スイッチ106−2に対する第1順位はスイッチ106−3であることが分かる。すなわち、単一名前空間は図26に示すようになるべきであることが分かる。スイッチ106−1およびスイッチ106−3の非冗長フェイルオーバー手段208は、リダイレクト先として登録されていた全ての「//SW2/*」を「//SW3/*」に書き換え、図27のように擬似ファイルシステム134Bおよびロケーション情報仮想化手段135Bの情報をそれぞれ更新する。なお、上の「*」はワイルドカードであり、ここに何があっても書き換えの対象であることを示している。これでスイッチ側のフェイルオーバーは完了する。
【0241】
一般に、クライアントのリダイレクタは、最初に通知されたリダイレクト先からの応答がなければ、代替リダイレクト先に要求の送信先を変更する機能を有している。例えば、CIFSやNFSv4のクライアントなどはこの機能を有している。そのため、クライアントは、スイッチ106−2から応答がなければ、代替ダイレクト先通知手段210から予め通知されていた代替リダイレクト先に要求の送信先を変更する。これにより、クライアントの動作を含めた、スイッチ106−2に対するフェイルオーバーが完了する。
【0242】
以上説明したように、本実施形態によれば、複数のスイッチを連携動作させるとき、いずれかのスイッチが故障しても、他のいずれかのスイッチが故障したスイッチの動作を代替するので、予備のスイッチを別個に設けなくとも信頼性を確保することができる。ただし、第7の実施形態では、第6の実施形態と異なり、故障したスイッチを代替するスイッチは、本来の機能に加えて、故障したスイッチの機能を代替するので、その処理負荷が高くなり、システムの性能が低下する可能性がある。
(第8の実施形態)
本発明の第8の実施形態のネットワーク構成は図10、11に示した第5の実施形態と同様である。また、初期のディレクトリツリーは図12〜14に示したものと同じであるとする。ここではスイッチが部分共有型か全共有型かによらず、本質的な動作は変わらない。更新された擬似ファイルシステムとロケーション情報仮想化手段の情報の共有方法が異なるだけである。そこで、ここでは全共有型の場合を例に説明する。
【0243】
図28は、本発明の第8の実施形態のスイッチの構成を示すブロック図である。図28を参照すると、スイッチ107は、インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134B、照会要求促進手段140、仮想転送先選別手段150、情報収集共有手段205、故障検出手段211およびサーバフェイルオーバー手段212を有している。
【0244】
インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134B、照会要求促進手段140、仮想転送先選別手段150および情報収集共有手段205は前述したものと同じものである。
【0245】
故障検出手段211は、サーバの稼動状態をモニタしており故障を検出すると、それをサーバフェイルオーバー手段212に通知する。
【0246】
サーバフェイルオーバー手段212は、故障検出手段211からサーバの故障を通知されたとき、その故障したサーバの共有の複製が他のサーバに存在していれば、サーバフェイルオーバーを実行する。複製とは、オリジナルのオブジェクト、ファイルまたは共有などと同一内容のオブジェクト、ファイルまたは共有などのことである。オリジナルのオブジェクト、ファイルまたは共有とその複製とは、常に同一内容に維持されている(同期が取られている)ことが好ましい。例えば、オリジナルのファイルに対して変更が加えられると、複製にも同じ変更が適用されることが好ましい。サーバフェイルオーバーとは、サーバの故障時に他のサーバへ切り替える処理である。サーバフェイルオーバー手段212は、故障したサーバへのアクセスが、そのサーバに存在する共有の複製が存在するサーバにリダイレクトされるように、ロケーション情報仮想化手段135Bの情報を更新する。すなわち、サーバフェイルオーバー手段212は、故障したサーバの共有をリダイレクト先としているエントリの実ロケーション情報を、その共有の複製の実ロケーション情報に変更する。このとき、リダイレクト先(仮想ロケーション情報)は変更されない。
【0247】
本発明の第8の実施形態の動作について説明する。
【0248】
ここでは、図29に示すようにサーバ14−2が故障したとする。ここでは、サーバ14−2の故障検出はスイッチ107−1が担当しているとする。
【0249】
スイッチ107−1の故障検出手段211は、サーバ14−2の故障を検出すると、その故障をサーバフェイルオーバー手段212に通知する。サーバフェイルオーバー手段212には、サーバ14−2の共有ディレクトリ「F」以下の複製がサーバ14−5に共有ディレクトリ「F’」として存在することが予め登録されている。したがって、サーバフェイルオーバー手段212は、図30の単一名前空間の「F」以下のディレクトリを維持するために、ロケーション情報仮想化手段135Bの情報を図31のように変更する。ここで注目すべきは、クライアントに見せるリダイレクト先(仮想ロケーション情報)の「//SW1/F」は変更されず、そのまま有効であるという点である。すなわち、クライアントはサーバ14−2の故障を全く意識する必要が無いことになる。
【0250】
以上説明したように、本実施形態によれば、スイッチがサーバの故障を検出すると、ロケーション情報仮想化手段134Bにおける仮想ロケーション情報を変更せず、実ロケーション情報のみを変更するので、クライアントに意識させること無く、故障したサーバを複製の存在するサーバに切り替えることができる。
(第9の実施形態)
本発明の第9の実施形態のネットワーク構成は図10、11に示した第5の実施形態と同様である。また、初期のディレクトリツリーは図12〜14に示したものと同じであるとする。ここではスイッチが部分共有型か全共有型かによらず、本質的な動作は変わらない。更新された擬似ファイルシステムとロケーション情報仮想化手段の情報の共有方法が異なるだけである。そこで、ここでは全共有型の場合を例に説明する。
【0251】
本発明の第9の実施形態は、共有ディレクトリの透過移動を可能とするものである。
【0252】
透過移動とは、管理者が行うオブジェクト(すなわち共有ディレクトリ)の移動であり、単一名前空間の構成を変更することなく、オブジェクトの実体の位置を移動させることである。透過移動には2つのレベルがある。一方のレベルは、クライアント(あるいはクライアントマシンのリダイレクタ)およびユーザ(あるいはクライアントマシンのアプリケーション)にオブジェクトの移動を意識させない(クライアント透過な)ものである。他方のレベルは、リダイレクタにはオブジェクトの移動を意識させるが、ユーザには意識させない(ユーザ透過な)ものである。これらのような透過移動は、負荷分散や旧サーバの廃棄などを目的として行われる。
【0253】
図32は、本発明の第9の実施形態のスイッチの構成を示すブロック図である。図32を参照すると、スイッチ108は、インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134B、照会要求促進手段140、仮想転送先選別手段150、情報収集共有手段205および透過移動手段213を有している。
【0254】
インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134B、照会要求促進手段140、仮想転送先選別手段150および情報収集共有手段205は前述したものと同じものである。
【0255】
透過移動手段213は、管理者からの指示に従って共有ディレクトリをサーバ間で移動させ、それに伴って擬似ファイルシステム134Bの情報を更新する。
【0256】
本発明の第9の実施形態の動作について説明する。
【0257】
まず、移動元の先頭ディレクトリが単一名前空間の共有のつなぎ目の先頭ディレクトリでない場合の動作について説明する。この場合、クライアントのリダイレクタのリダイレクト先が変更されるので、クライアントに対する透過性は実現できず、ユーザに対する透過性のみ実現できる。つまり、ユーザ透過な透過移動が行われる。
【0258】
ここでは、サーバ14−4が過負荷の状態、あるいは残りの記憶容量が少ない状態であるとする。管理者は、サーバ14−4の過負荷状態あるいは残り記憶容量のひっ迫を緩和するため、サーバ14−4に存在する共有ディレクトリ「//SERVER4/EXP/N/O」をサーバ14−3の「//SERVER3/EXP/O」に移動させる。その際、管理者は、単一名前空間の構成を変更させることなく、共有ディレクトリをサーバ間で移動させる。
【0259】
管理者から透過移動要求を受けたスイッチ108−2の透過移動手段213は、サーバの有するファイル移動機能を利用して、図33に示すように「//SERVER4/EXP/N/O」以下のディレクトリを「//SERVER3/EXP/O」へ移動させる。
【0260】
また、単一名前空間は図34に示すように維持される必要がある。
【0261】
移動前のディレクトリ「O」は共有のつなぎ目の先頭でなかったが、移動後には共有のつなぎ目になる。そのため、透過移動手段213は、スイッチ108−2に共有のつなぎ目「A/C/E/F/G/N/O」を新たに作成する。このとき、透過移動手段213は、共有のつなぎ目が「A/C/E/F/G/N/O」で、リダイレクト先が「//SW2/O」のエントリを追加し、擬似ファイル134Bの情報を図35に示すように更新する。
【0262】
さらに、透過移動手段213は、リダイレクト先(すなわち仮想ロケーション情報)「//SW2/O」と実ロケーション情報「//SERVER3/EXP/O」とを対応付けたエントリを追加し、ロケーション情報仮想化手段135Bの情報を図35に示したように更新する。この例では、追加されたエントリがドメイン間にまたがる共有のつなぎ目とならない。全共有型のスイッチ108−2は変更情報を他の全てのスイッチに通知する。なお、スイッチ108−2が部分共有型のスイッチであれば、スタンバイ用のスイッチがある場合のみ、そのスタンバイ用のスイッチにのみ変更情報を通知する。
【0263】
このような動作によれば、新たな共有のつなぎ目が作られ、リダイレクト先が変わるので、リダイレクタは共有ディレクトリの移動を意識する。つまり、ユーザ透過な透過移動がなされたことになる。
【0264】
次に、移動元の先頭ディレクトリが単一名前空間の共有のつなぎ目の先頭ディレクトリである場合の動作について説明する。
【0265】
この場合、クライアントのリダイレクタのリダイレクト先(すなわち仮想ロケーション情報)が変更されないので、完全にクライアント透過な透過移動が実現できる。
【0266】
ここでは、管理者がサーバ14−2を廃棄するため、単一名前空間の構成を変更することなく、サーバ14−2に存在する共有ディレクトリ「//SERVER2/EXP/F」をサーバ14−3の「//SERVER3/EXP/F」へ移動させる場合を例示する。
【0267】
管理者から透過移動要求を受けたスイッチ108−1の透過移動手段213は、サーバの有するファイル移動機能を利用して、図36に示すように、「//SERVER2/EXP/F」以下のディレクトリを「//SERVER3/EXP/F」以下へ移動させる。
【0268】
透過移動では単一名前空間が図37に示すように維持される必要がある。ここで、透過移動手段213は、移動前のディレクトリ「F」がつなぎ目の先頭なので、図38に示すように、共有のつなぎ目「A/C/E/F」の既存のエントリの実ロケーション情報を「//SERER3/EXP/F」に変更する。
【0269】
この例では、更新されたエントリがドメイン間にまたがる共有のつなぎ目でない。全共有型のスイッチ108−2は変更情報を他の全てのスイッチに通知する。なお、スイッチ108−2が部分共有型のスイッチであれば、スタンバイ用のスイッチがある場合のみ、そのスタンバイ用のスイッチに変更情報を通知する。
【0270】
このような動作によれば、新たな実ロケーション情報のみが変わり、リダイレクト先が変わらないので、リダイレクタは共有ディレクトリの移動を意識しない。つまり、クライアント透過な透過移動がなされたことになる。
【0271】
クライアント透過な透過移動では、クライアント自体がファイルの移動に全く気づかないので、NFSv4ではクライアントが移動前の古いファイルハンドルを利用することがある。この場合、スイッチが「NFS4ERR_FHEXPIRED」の応答メッセージをクライアントに返すことにより、再Loolupを実施させることができる。
【0272】
以上説明したように、管理者は、特定サーバへのアクセスの集中により生じる過負荷や、特定サーバの残り記憶容量のひっ迫を緩和するため、あるいは古くなったサーバを廃棄するためなどを目的として、オブジェクト(共有ディレクトリ)をサーバ間で移動させることがある。本実施形態によれば、オブジェクトをサーバ間で移動させるとき、単一名前空間の構成を維持することができるので、ユーザ透過、あるいはクライアント透過にオブジェクトの実体を移動させることができる。
(第10の実施形態)
本発明の第10の実施形態のネットワーク構成は図10、11に示した第5の実施形態と同様である。また、初期のディレクトリツリーは図12〜14に示したものと同じであるとする。ここではスイッチが部分共有型か全共有型かによらず、本質的な動作は変わらない。擬似ファイルシステムおよびロケーション情報仮想化手段の情報の共有方法が異なるだけである。そこで、ここでは全共有型の場合を例に説明する。
【0273】
図39は、本発明の第10の実施形態のスイッチの構成を示すブロック図である。図39を参照すると、スイッチ109は、インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134B、照会要求促進手段140、仮想転送先選別手段150、情報収集共有手段205およびリンク張替え高速移動手段214を有している。
【0274】
インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134B、照会要求促進手段140、仮想転送先選別手段150および情報収集共有手段205は前述したものと同じものである。
【0275】
リンク張替え高速移動手段214は、クライアントからオブジェクト移動要求があったとき、その移動対象範囲内に共有のつなぎ目が含まれていたら、共有のつなぎ目以下のオブジェクトを実体的に移動させず、その代わりにリダイレクト先(仮想ロケーション情報)のみを変更する。
【0276】
本発明の第10の実施形態の動作について説明する。
【0277】
ここでは、図40および図41に示すように、クライアントが「A/C/K/L」以下のオブジェクトを「A/B/D/L」以下へ移動する場合について説明する。
【0278】
この場合、ディレクトリ「L」については第5の実施形態と同様に実体的に移動させるが、その下は共有のつなぎ目となっているのでリダイレクト先の変更が行われる。
【0279】
すなわち、スイッチ109−1のリンク張替え高速移動手段214は、まず、「L」配下のディレクトリ「R」が共有のつなぎ目の先頭であることを認識する。次に、リンク張替え高速移動手段214は、図42に示すように、擬似ファイルシステム134Bおよびロケーション情報仮想化手段135Bに、「共有のつなぎ目」が「A/B/D/L/R」で「ドメイン間」が「○」のエントリと、「共有のつなぎ目」が「A/B/D/L/R」で「ドメイン間」が「従」のエントリとを作成する。次に、リンク張替え高速移動手段214は、「ドメイン間」が「○」のエントリを作成した旨の変更情報を、他の各スイッチ109−2,109−3に通知する。スイッチ109−2,109−3は、この変更情報を自身に反映させる。
【0280】
一方、スイッチ109−2のリンク張替え高速移動手段214も、「L」配下のディレクトリ「R」が共有のつなぎ目の先頭であることを認識する。リンク張替え高速移動手段214は、図42に示すように、「共有のつなぎ目」が「A/C/K/L/R」のエントリを削除する。そして、リンク張替え高速移動手段214は、この変更情報を他の各スイッチ109−1,109−3に通知する。スイッチ109−1,109−3は、この変更情報を自身にそれぞれ反映させる。
【0281】
以上により、ディレクトリ「R」以下のオブジェクトは、実体を移動させることなく、クライアントに対する単一名前空間上のディレクトリ「A/B/D/L/R」に移動したこととなる。
【0282】
以上説明したように、本実施形態によれば、クライアントからディレクトリの移動要求があったとき、共有のつなぎ目以下のディレクトリについては実体を移動させずに、リダイレクト先を変更することにより、クライアントに対して単一名前空間の構成を変更するので、サイズが大きく移動に時間がかかるようなファイルの移動要求があっても、実体的なファイル移動が少なくて済むので処理を高速で行うことができる。
【0283】
また、均等に負荷分散された複数のサーバの負荷が偏るような移動要求があっても負荷の偏りを抑えることができる。
(第11の実施形態)
本発明の第11の実施形態のネットワーク構成は図10、11に示した第5の実施形態と同様である。また、初期のディレクトリツリーは図12〜14に示したものと同じであるとする。ここではスイッチが部分共有型か全共有型かによらず、本質的な動作は変わらない。擬似ファイルシステムおよびロケーション情報仮想化手段の情報の共有方法が異なるだけである。そこで、ここでは全共有型の場合を例に説明する。
【0284】
第11の実施形態のスイッチは、共有の複製を作成し、負荷を複数のサーバに分散させる機能を有している。また、第11の実施形態では、擬似ファイルシステムに複製情報の欄が設けられている。複製情報とは、そのエントリに共有の複製が存在することや、そのエントリが共有の複製であることを示す情報である。
【0285】
図43は、本発明の第11の実施形態のスイッチの構成を示すブロック図である。図43を参照すると、スイッチ1010は、インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134B、照会要求促進手段140、仮想転送先選別手段150、情報収集共有手段205、複製作成および選択手段215および負荷分散手段216を有している。
【0286】
インターセプト判断手段114、照会要求解決手段120、擬似ファイルシステム134B、照会要求促進手段140、仮想転送先選別手段150および情報収集共有手段205は前述したものと同じものである。
【0287】
複製作成および選択手段215は、管理者の指示に基づいて、ファイルの複製を作成し、そのファイルへのアクセスをそのファイルおよび複製に振り分ける。この複製はオリジナルのファイルと同一内容のファイルである。オリジナルのファイルと複製のファイルとは同期が取られているものとする。
【0288】
負荷分散手段216は、複製を有する共有が存在するサーバと、その共有の複製が存在する各サーバとに負荷が均等に分散されるように、選択すべき共有のオリジナルまたは複製を決定する。そして、負荷分散手段216は、その決定された結果を複製作成および選択手段215からの問い合わせに対して応答する。
【0289】
本発明の第11の実施形態の動作について説明する。
【0290】
ここでは、実ロケーション「//SERVER2/EXP/F」以下の共有ディレクトリの複製を「//SERVER3/EXP/F」に作成し、負荷を分散させる場合を例示する。
【0291】
まず、管理者が、スイッチ1010−1の複製作成および選択手段215に、「//SERVER2/EXP/F」以下の共有ディレクトリの複製を「//SERVER3/EXP/F」に作成することを要求したとする。スイッチ1010−1の複製作成および選択手段215は、サーバの有するファイル複製機能を利用して複製を作成する。
【0292】
次に、複製作成および選択手段215は擬似ファイルシステム134Bおよびロケーション情報仮想化手段135Bの情報を変更する。
【0293】
まず、複製作成および選択手段215は、擬似ファイルシステム134Bに、「共有のつなぎ目」が「A/C/E/F」で、「リダイレクト先」が「//SW2/F」で、「ドメイン間」が「○」および「従」の2つのエントリを作成する。次に、複製作成および選択手段215は、それら2つのエントリの「複製情報」に「F−2」のマークをつける。次に、複製作成および選択手段215は、「共有のつなぎ目」が同じ「A/C/E/F」で、「リダイレクト先」が「//SW1/F」の既存のエントリの「複製情報」に「F−1」のマークをつける。F−1は、複製を有するオブジェクト「F」のオリジナルのオブジェクトであることを示している。F−2は、オブジェクト「F」の複製であることを示している。さらに複製がある場合には、F−3、F−4・・・とマークが付けられる。
【0294】
また、複製作成および選択手段215は、ロケーション情報仮想化手段135Bに、「リダイレクト先」が「//SW2/F」で、「実ロケーション」が「//SERVER3/EXP/F」のエントリを作成する。
【0295】
そして、複製作成および選択手段215は、これらの擬似ファイルシステム134Bおよびロケーション情報仮想化手段135Bに対する変更に関する変更情報をスイッチ1010−2,1010−3に通知する。
【0296】
スイッチ1010−2,1010−3は、この変更情報を自身の擬似ファイルシステム134Bおよびロケーション情報仮想化手段135Bに反映させる。
【0297】
その後、クライアントからの照会要求があれば、照会要求解決手段120は、リダイレクト先を擬似ファイルシステム134Bに問い合わせる際、対象となるエントリに複製のマークがあれば、同時に複製作成および選択手段215に、いずれのオブジェクトを選択するか問い合わせる。
【0298】
照会要求解決手段120から問い合わせを受けると、複製作成および選択手段215は、どの複製を選択するか負荷分散手段216に問い合わせて、得られた結果を紹介要求解決手段120に通知する。
【0299】
負荷分散手段216は、例えば、各サーバが接続されたネットワークに接続し、各サーバのCPU使用率などの統計情報を取得している。そして、複製作成および選択手段215から問い合わせを受けると、負荷分散手段216は、統計情報から各サーバに負荷が分散されるように、いずれかの複製を選択し、複製作成および選択手段215に通知する。
【0300】
そして、照会要求解決手段120は、擬似ファイルシステム134Bから通知されたリダイレクト先のうち、複製作成および選択手段215から通知された方をのリダイレクト先をクライアントに通知する。
【0301】
なお、上述の例の他に、複製作成および選択手段215は、負荷分散手段216に問い合わせることなく、自身の簡単なポリシーに従って共有または複製を選択してもよい。その場合、負荷分散手段216は無くてもよい。
【0302】
ここではオリジナルの他に複製が1つ存在するので、クライアントより「A/C/E/F」について照会要求があると、複製作成および選択手段215は、例えばクライアントのIPアドレスのmod2を計算し、その結果が「0」ならば「複製情報」が「F−1」のオリジナルを選択し、結果が「1」ならば「複製情報」が「F−2」の複製を選択すればよい。
【0303】
以上説明したように、本実施形態によれば、クライアントからのアクセスをリダイレクト先がオリジナルおよび複製に振り分けられ、負荷が複数のサーバに分散される。
【0304】
以上、本発明の第1〜第11の実施形態について説明したが、より具体的な様々な実施例について以下に説明する。
【0305】
ここでは、WindowsNTやWindows2000に搭載されているMicrosoftネットワークで使用されているCIFSに関する実施例を説明する。
(第1の実施例)
図47は、第1の実施例におけるクライアント・サーバ・システムの構成を示すブロック図である。図47を参照すると、第1の実施例のクライアント・サーバ・システムは、クライアント11、m個のサーバ14−1〜14−mおよびスイッチ13とからなる。
【0306】
クライアント11はアプリケーション11aとCIFSクライアント11bとを有している。クライアント11とスイッチ13はLAN201に接続されている。また、スイッチ13とサーバ14−1〜14−mはLAN202に接続されている。
【0307】
図47において、IPcは、LAN201内でのクライアント11のIPアドレスを示している。また、IPv,IP1,IP2,・・・,IPmはLAN201内でのスイッチ13のIPアドレスを示している。IPxは、LAN202内でのスイッチ13のIPアドレスを示している。IPx1,IPx2,・・・,IPxmは、LAN202内でのサーバ14−1〜14−mのIPアドレスを示している。これらのIPアドレスは各装置に予め登録されている。
【0308】
また、スイッチ13上のCv,C1,C2,・・・,Cmは、スイッチ13の各IPアドレスIPv,IP1,IP2,・・・,IPmに対応するLAN201内でのコンピュータ名をそれぞれ示している。また、Cvは、スイッチ13のIPxに対応するLAN202内でのコンピュータ名を示している。サーバ14−1,14−2,・・・,14−m上のC1,C2,・・・,Cmは、IPx1,IPx2,・・・,IPxmのかくIPアドレスを有するサーバ14−1,14−2,・・・,14−mのLAN202内でのコンピュータ名を示している。これらのコンピュータ名も予め各装置に登録されている。
【0309】
クライアント11からLAN201を介してIPv,IP1,IP2,・・・,IPmの各IPアドレスに対してTCPのコネクション接続要求を受けたスイッチ13は、RFC1001に規定されたNetBIOS(Network Basic Input Output System)の名前解決方法に従って、各IPアドレスに対応するコンピュータ名から、それに対応するLAN202内のIPアドレスを取得する。そして、スイッチ13は、取得したIPアドレスに対して、TCPのコネクション接続要求を送信する。
【0310】
なお、NetBIOSの名前解決には、ブロードキャストやWINS(Windows Internet Name Service)、DNS(Domain Name System)等がある。LAN201内の名前解決にWINSやDNSを使用する場合、LAN201内にWINSサーバまたはDNSサーバが必要となる。同様に、LAN202内の名前解決にWINSやDNSを使用する場合、LAN202内にWINSサーバまたはDNSサーバが必要となる。
【0311】
図48は、第1の実施例による仮想サーバ内の共有ディレクトリのツリー構造を例示した図である。仮想サーバとは、m個のサーバ14−1〜14−mに分散された共有が1ヶ所に存在するように、クライアント11に見せるための仮想的なサーバである。Cvはその仮想サーバのコンピュータ名である。
【0312】
図48において、Svは、クライアント11が仮想サーバCvに接続するための共有名である。Svの配下にはディレクトリが存在する。
【0313】
d1、d11、d2、・・・、dp(pは自然数)はSvの配下に存在するディレクトリのディレクトリ名である。ここではd1とdpはSvの直下に存在する。d11はd1の直下に存在する。d2はd11の直下に存在する。
【0314】
図49は、スイッチ13に設定され、または記憶される情報の一例を示している。スイッチ13に、設定され、または記憶される情報は、コネクション管理情報、Tid管理情報およびロケーション情報管理情報である。
【0315】
コネクション管理情報について説明する。
【0316】
コネクション管理情報は、クライアントのIPアドレスおよびポート番号と、スイッチのポート番号と、サーバのIPアドレスとからなる。クライアントのIPアドレスおよびポート番号により、LAN201内でスイッチ13とクライアントの間に接続されたTCPコネクションが示される。スイッチのポート番号およびサーバのIPアドレスにより、LAN202内でスイッチ13とサーバの間に接続されたTCPコネクションが示される。
【0317】
コネクション管理情報は、LAN201内でクライアントとの間に接続されたTCPのコネクションと、LAN202内でサーバとの間に接続されたTCPのコネクションとを対応付けている。
【0318】
スイッチ13は、クライアント11からTCPコネクションの接続を受けると、コネクション管理情報に、クライアント11のIPアドレスおよびポート番号を登録する。スイッチ13は、サーバ14との間にTCPコネクションを接続すると、スイッチ13のポート番号と、サーバのIPアドレスをコネクション管理情報に登録する。
【0319】
図49には、TCPコネクションが設定されていない初期状態から、各LAN201,202にそれぞれ2つのTCPコネクションが設定されるまでの状態遷移が示されている。
【0320】
図49において、31aは、初期状態におけるコネクション管理情報を示している。31bは、クライアントからのTCPコネクション接続に応じて、スイッチ13がサーバ14−1とTCPコネクションを接続した状態のコネクション管理情報を示している。31cは、さらにクライアントからのTCPコネクション接続に応じて、スイッチ13がサーバ14−2ともTCPコネクションを接続した状態のコネクション管理情報を示している。31aから31bを経て31cへと状態が遷移する。
【0321】
31b,31cにおける、IPcはクライアント11のIPアドレスを示している。また、Pc1,Pc2は、クライアント11における、各TCPコネクションの要求元のポート番号を示している。PSw1,PSw2は、スイッチ13における、LAN202内の各TCPコネクションの要求元のポート番号を示している。IPx1,IPx2は、サーバ14−1,サーバ14−2のIPアドレスを示している。
【0322】
Tid(Tree ID)管理情報について説明する。
【0323】
図49において、S1,S2,・・・,Smは、コンピュータ名がC1,C2,・・・,Cmの各サーバに存在する共有である。
【0324】
Tid管理情報は、Tid領域と共有名からなる。クライアント11は、TCPコネクション上で、CIFSプロトコルを使って、サーバに存在する共有にアクセスする。このとき、サーバ(またはスイッチ)からクライアントにTid値(Tid領域)が与えられる。Tid管理情報は、このTid値と共有名とを対応付けている。
【0325】
スイッチ13は、クライアント11から、TCPのコネクション上で、CIFSプロトコルによって共有へのアクセス要求を受けると、共有名を登録する。また、スイッチ13は、クライアントに与えたTid値をTid領域に登録する。
【0326】
Tid管理情報は、コネクション管理情報に対応付けて記録される。図49において、32aは、コネクション管理情報が31bの状態のときのTid管理情報を示している。32b,32は、コネクション管理情報が31cの状態のときのTid管理情報を示している。
【0327】
32a,32b上のTid1はサーバ14−1から与えられたTid値である。32c上のTid2はサーバ14−2から与えられたTid値である。
【0328】
ロケーション情報管理情報について説明する。
【0329】
ロケーション情報管理情報とは、ロケーション情報を管理するための情報である。ロケーション情報管理情報には、仮想サーバCvにある共有Sv配下のオブジェクトの仮想的なディレクトリツリー内でのロケーション情報と、その共有の実際のロケーション情報との対応関係が示されている。仮想的なディレクトリツリー内でのロケーションが「:」の前に示され、実際のロケーションが「:」の後に示されている。ここでロケーション情報とは、サーバを特定するために用いられるコンピュータ名やIPアドレスと、サーバ上でファイルを特定するために用いられる共有名やファイル名のことである。
【0330】
図49において、¥¥から次の¥までの文字列がコンピュータ名である。¥¥の次の¥から、その次の¥まで(¥がない場合は最後まで)の文字列が共有名である。それ以降はディレクトリ名(オブジェクト名)である。
【0331】
ロケーション情報管理情報33の第1行目は、仮想サーバCvにある共有Sv配下のディレクトリd1が、実際にはサーバ14−1の共有S1にリダイレクトされることを示している。同様に、最終行は、ディレクトリd2がサーバ14−2の共有S2にリダイレクトされることを示している。また、ディレクトリdmはサーバ14−mの共有Smにリダイレクトされる。
【0332】
図50は、CIFSプロトコルのメッセージのヘッダ情報を示している。図50において、’S、’M、’Bは各キャラクタのASCIIコードである。これにより、本メッセージがSMBファイルアクセスのメッセージであること、すなわちCIFSプロトコルによることが示されている。
【0333】
Command領域41は、本メッセージのコマンドの種類を示している。Command領域41は、インターセプト判断手段がインターセプトべきメッセージであるか否か判断するのに使用される。なお、インターセプト判断手段は、Command領域41を識別する前に本メッセージのプロトコルを識別し、プロトコルによってインターセプトすべきメッセージであるか否か判定してもよい。
【0334】
Error領域42は、クライアント11からの要求が正常終了したか、異常終了したかを、スイッチまたはサーバからクライアントに応答するのに用いられる。Error領域42には、クライアント11からの要求が異常終了したときに、異常終了の要因を示すエラーコードが挿入され、スイッチまたはサーバからクライアントに通知される。なお、「←」はError領域の続きであることを示している。
【0335】
「―」は、その領域には有意な情報が定義されているが、本発明と直接関係しないので省略された領域である。
【0336】
Tid領域43は、サーバにて生成され、共有名を識別するために使用される。
【0337】
パラメータ領域45は可変長の領域であり、コマンドの種類によって異なるパラメータが入る。パラメータ領域45の隣りのワードカウント領域はパラメータ領域45の長さを示す。メッセージの先頭からパラメータ領域45までがヘッダである。
【0338】
Buffer領域44は可変長の領域であり、コマンド種類により異なるデータが入る。例えば、ライトコマンドであれば、書き込まれるデータが入る。Buffer領域44の隣りのバイトカウント領域はBuffer領域44の長さを示す。
【0339】
第1の実施例の動作について説明する。
【0340】
まず、クライアント11はスイッチ13のIPvに対してTCPコネクションを接続する。次に、クライアント11は、そのTCPのコネクション上でCIFSプロトコルを使用して、仮想サーバCvにある共有Svに接続する。この接続の過程で、スイッチ13はクライアント11に対してTid値を与える。このTid値は、図49に示したTid管理情報に記録される。これ以後、仮想サーバCvにある共有Svにアクセスするとき、クライアント11は、このTid値を、図50に示したCIFSプロトコルヘッダ40のTid領域43に設定する。
【0341】
次に、クライアント11上のアプリケーション11aが、¥¥Cv¥Sv¥d1内にアクセスしようとすると、クライアント11上のCIFSクライアント11bは、図50に示したCIFSプロトコルヘッダ情報40を含むパケットを作成し、スイッチ装置13に送信する。このパケットのTid領域43には、スイッチ13から与えられたTid値が設定される。Command領域41には、アプリケーション11aからのアクセス要求のコマンド値が設定される。Buffer領域44には、アクセス先のパス名を示す¥Cv¥Sv¥d1が設定される。
【0342】
このパケットを受信したスイッチ13は、インターセプト判断手段にて、このパケットを処理する。
【0343】
図51は、第1の実施例におけるインターセプト判断手段の動作を示すフローチャートである。図51を参照すると、まず、インターセプト判断手段は、そのパケットのプロトコルがCIFSプロトコルか否か判定する(ステップA1)。
【0344】
ここでは、それはCIFSプロトコルなので、インターセプト判断手段は、それが照会要求であるか否か判定する(ステップA3)。照会要求か否かの判定は、Command領域41に、照会要求を意味する「Get DFS Referral」のコマンド値が設定されているか否かにより判定される。
【0345】
ここでは、そのコマンドは照会要求でないので、インターセプト判断手段は、Tid領域43の値がTid管理情報31に既にあるか否か判定する(ステップA5)。
【0346】
ここではTid領域の値43がTid管理情報31に既にあるので、インターセプト判断手段は、そのコマンドが、Buffer領域44にパス名のあるものであるか否か判断する(ステップA6)。
【0347】
ここでは、パス名があるコマンドなので、インターセプト判断手段は、擬似ファイルシステムに問い合わせて、コマンドが照会要求促進対象であるか否か判定する(ステップA7)。ここでは、コマンドは照会要求促進対象なので、インターセプト判断手段は、Buffer領域44と同じディレクトリ¥¥Cv¥Sv¥d1が図49のロケーション情報管理情報33に存在するか否か判定する(ステップA8)。
【0348】
ここでは、そのディレクトリがロケーション情報管理情報33に存在するので、インターセプト判断手段は、照会要求促進手段に受信パケットを渡す(ステップA10)。
【0349】
インターセプト判断手段から受信パケットを受けた照会要求促進手段は、クライアント11に照会要求を促すために、CIFSプロトコルヘッダ40のError領域42に「DFS path not covered」を示す値を設定した応答パケットを作成し、クライアント11に送信する。
【0350】
このパケットを受信したクライアント11上のCIFSクライアント11bは、Command領域41に照会要求であることを示す「Get DFS Referral」を示すコマンド値を設定し、Buffer領域44に¥Cv¥Sv¥d1を設定したパケットを作成し、スイッチ13に送信する。
【0351】
このパケットを受信したスイッチ13は、インターセプト判断手段にて、CIFSプロトコルか否か判断し(ステップA1)、CIFSプロトコルなので、照会要求か否か判断し(ステップA3)、Command領域41が照会要求を意味する「Get DFS Referral」を示す値なので、照会要求解決手段に受信パケットを渡す(ステップA11)。
【0352】
受信パケットを受けた照会要求解決手段は、擬似ファイルシステムに問い合わせて、Buffer領域44に示されたパス名に対応するロケーション情報C1¥S1を入手する。次に、照会要求解決手段は、Error領域42に「OK」を示す値が設定され、Buffer領域44にコンピュータ名C1にある共有S1にリダイレクトされるべきことを示すデータが設定された応答パケットを作成し、クライアント11に送信する。
【0353】
この応答パケットを受信したクライアント11上のCIFSクライアント11bは、NetBIOSの名前解決方法により、コンピュータ名C1に対応するLAN201内のIPアドレスIP1を取得し、IP1に対してTCPのコネクション接続要求を行う。
【0354】
接続要求を受けたスイッチ13は、インターセプト判断手段にて、CIFSプロトコルか否か判断する(ステップA1)。接続要求はCIFSプロトコルでないので、インターセプト判断手段は、TCPのコネクション接続パケットか否か判断する(ステップA2)。接続要求はTCPのコネクション接続パケットなので、インターセプト判断手段は、NetBIOSの名前解決方法により、IPアドレスIP1のコンピュータC1に対応するLAN202内でのサーバ14−1のIPアドレスIPx1を取得する。そして、インターセプト判断手段は、コネクション管理情報に、クライアントのIPアドレスIPcおよびポート番号Pc1と、スイッチのポート番号PSw1と、サーバ14−1のIPアドレスIPx1とを記録する(ステップA4)。このとき、コネクション管理情報は図49の31bの状態となっている。
【0355】
次に、インターセプト判断手段は、仮想転送先選別手段に受信パケットを渡す(ステップA9)。
【0356】
仮想転送先選別手段は、受信パケットからクライアントのIPアドレスIPc1およびポート番号Pc1を取得し、これらを用いてコネクション管理情報からサーバ14−1のIPアドレスIPx1を判断し、IPアドレスIPx1のサーバ14−1に対してTCPのコネクションの接続要求を行う。
【0357】
これ以後、クライアント11のIPアドレスIPcのポート番号Pc1からパケットを受信すると、スイッチ13は、仮想転送先選別手段にてコネクション管理情報を参照し、サーバ14−1のIPアドレスIPx1にパケットを転送する。また、サーバ14−1のIPアドレスIPx1からポート番号PSw1へのパケットを受信すると、スイッチ13は、コネクション管理情報を参照し、クライアント11のIPアドレスIPcのポート番号Pc1にパケットを転送する。
【0358】
TCPコネクションが接続されると、クライアント11上のCIFSクライアント11bは、図50のCIFSプロトコルヘッダ情報40のCommand領域41に「Tree Connect」を示す値を、Buffer領域44に¥¥C1¥S1を書き込んだパケットを作成し、コンピュータC1(LAN201上ではスイッチ13)に送信する。
【0359】
このパケットを受信したスイッチ13は、Buffer領域44にある共有名¥¥C1¥S1をTid管理情報に記録し、サーバ14−1にパケットを転送する。
【0360】
サーバ14−1は、CIFSプロトコルヘッダ情報40のTid領域43にTid1を書き込み、クライアント11に応答パケットを送信する。
【0361】
このパケットを受信したスイッチ13は、Tid領域43のTid1をTid管理情報に記録する。このとき、Tid管理情報は図49に示した32aの状態である。次に、スイッチ13は、そのパケットをクライアント11に送信する。
【0362】
次に、アプリケーション11aが¥¥Cv¥Sv¥d1にアクセスしようとすると、CIFSクライアント11bは、CIFSプロトコルヘッダ情報40のTid領域43にサーバ14−1から与えられたTid1を、Command領域41にアクセス要求のコマンド値を、Buffer領域44に¥C1¥S1を設定したパケットを作成し、コンピュータ名C1(LAN201上ではスイッチ13)に送信する。
【0363】
さらに、アプリケーション11aが、¥¥Cv¥Sv¥d1¥d11¥d2内にアクセスしようとすると、CIFSクライアント11bはCIFSプロトコルヘッダ情報40のTid領域43にサーバ14−1から与えられたTid値を、Command領域41にアクセス要求のコマンド値を、Buffer領域44に¥¥C1¥S1¥d1¥d11¥d2を設定したパケットを作成し、コンピュータ名C1のサーバ14−1に送信する。
【0364】
このパケットを受信したスイッチ13は、インターセプト判断手段にて、CIFSプロトコルか否か判断する(ステップA1)。このパケットはCIFSプロトコルなので、スイッチ13は、Command領域41のコマンド値が照会要求「Get DFS Referral」を示す値か否か判断する(ステップA3)。コマンド値が照会要求を示す値でないので、スイッチ13は、Tid領域43の値がTid管理情報31に既に存在する否か判断する(ステップA5)。この値はTid管理情報31に既にあるので、スイッチ13は、Buffer領域44にパス名が設定されているコマンドであるか否か判断する(ステップA6)。Buffer領域44にパス名があるので、スイッチ13は、そのコマンドが照会要求促進対象であるか否か判定する(ステップA7)。
【0365】
そのコマンドは照会要求促進対象なので、スイッチ13のインターセプト判断手段は、Buffer領域44と同じディレクトリ¥¥C1¥S1¥d1¥d11¥d2がロケーション情報管理情報33に存在するか判断する(ステップA8)。ここでは、ディレクトリ¥¥C1¥S1¥d1¥d11¥d2がロケーション情報管理情報33に存在するので、インターセプト判断手段は、照会要求促進手段に受信パケットを渡す(ステップA10)。
【0366】
受信パケットを受けた照会要求促進手段は、クライアント11に照会要求を促すために、CIFSプロトコルヘッダ40のError領域42に「DFS path not covered」を示す値を設定した応答パケットを作成し、クライアント11に送信する。
【0367】
このパケットを受信したクライアント11上のCIFSクライアント11bは、Command領域41に照会要求「Get DFS Referral」のコマンド値を設定し、Buffer領域44に¥¥C1¥S1¥d1¥d11¥d2を設定したパケットを作成し、コンピュータ名C1のサーバ14−1に送信する。
【0368】
このパケットを受信したスイッチ13は、インターセプト判断手段にて、CIFSプロトコルか否か判断する(ステップA1)。このパケットのメッセージはCIFSプロトコルなので、スイッチ13は、そのメッセージのコマンドが照会要求か否か判断する(ステップA3)。
【0369】
Command領域41が照会要求「Get DFS Referral」を示す値なので、インターセプト判断手段は、照会要求解決手段に受信パケットを渡す(ステップA11)。
【0370】
受信パケットを受けた照会要求解決手段は、擬似ファイルシステムに問い合わせて、Buffer領域44に示された値に対応するロケーション情報を入手する。そして、照会要求解決手段は、Error領域42に「OK」を示す値を設定し、Buffer領域44にコンピュータ名C2のサーバ14−2にある共有S2をリダイレクト先のデータとして設定した応答パケットを作成し、クライアント11に送信する。
【0371】
この応答パケットを受信したクライアント11上のCIFSクライアント11bは、NetBIOSの名前解決方法により、コンピュータ名C2に対応するLAN201内でのスイッチ13のIPアドレスIP2を取得し、そのIPアドレスIP2に対してTCPのコネクション接続要求を行う。
【0372】
接続要求を受けたスイッチ13は、インターセプト判断手段にて、CIFSプロトコルか否か判断する(ステップA1)。接続要求はCIFSプロトコルでないので、インターセプト判断手段は、接続要求がTCPのコネクション接続パケットか否か判断する(ステップA2)。接続要求はTCPのコネクション接続パケットなので、インターセプト判断手段は、NetBIOSの名前解決方法により、IPアドレスIP2のコンピュータC2に対応するLAN202内でのサーバ14−2のIPアドレスIPx2を取得する。
【0373】
次に、インターセプト判断手段は、コネクション管理情報に、クライアントのIPアドレスIPcおよびポート番号Pc2と、スイッチのポート番号PSw2と、サーバ14−2のIPアドレスIPx2とを記憶する(ステップA4)。このとき、コネクション管理情報は図49の31cの状態である。
【0374】
次に、インターセプト判断手段は、仮想転送先選別手段に受信パケットを渡す(ステップA9)。
【0375】
仮想転送先選別手段は、受信パケットからクライアントのIPアドレスIPcおよびポート番号Pc2を取得し、これらを用いてコネクション管理情報からサーバ14−2のIPアドレスIPx2を判断し、IPアドレスIPx2のサーバ14−2に対してTCPのコネクション接続要求を行う。
【0376】
これ以後、クライアント11のIPアドレスIPcのポート番号Pc2からパケットを受信すると、スイッチ13は、仮想転送先選別手段にてコネクション管理情報を参照し、サーバ14−2のIPアドレスIPx2にパケットを転送する。また、サーバ14−2のIPアドレスIPx2からスイッチ13のポート番号PSw2へのパケットを受信すると、スイッチ13は、コネクション管理情報を参照し、クライアント11のIPアドレスIPcのポート番号Pc2にパケットを転送する。
【0377】
TCPコネクションが接続されると、クライアント11上のCIFSクライアント11bは、CIFSプロトコルヘッダ情報40のCommand領域41に「Tree Connect」を示す値を、Buffer領域44に¥¥C2¥S2を書き込んだパケットを作成し、コンピュータC1(スイッチ13)に送信する。
【0378】
このパケットを受信したスイッチ13は、Buffer領域44にある共有名¥¥C2¥S2をTid管理情報に記憶し、サーバ14−2にパケットを送信する。
【0379】
サーバ14−2は、CIFSプロトコルヘッダ情報40のTid領域43にTid2を書き込み、クライアント11に応答パケットを送信する。
【0380】
このパケットを受信したスイッチ13は、Tid領域43のTid2をTid管理情報に記憶する。このとき、Tid管理情報は図49に示した32cの状態である。次に、スイッチ13は、そのパケットをクライアント11に送信する。
【0381】
次に、アプリケーション11aが¥¥Cv¥Sv¥d1¥d11¥d2にアクセスしようとすると、CIFSクライアント11bは、CIFSプロトコルヘッダ情報40のTid領域43にサーバ14−2から与えられたTid2を、Command領域41にアクセス要求のコマンド値を、Buffer領域44に¥C2¥S2を設定したパケットを作成し、コンピュータ名C2に送信する。
【0382】
以上説明したように、第1の実施例によれば、クライアント11上のアプリケーション11aは、サーバ14を意識することなく、スイッチ13によって実現された仮想サーバCvにアクセスすることによって、サーバ14−1,14−2,・・・の共有資源にアクセスすることが可能となる。
(第2の実施例)
次に、本発明の第2の実施例について説明する。
【0383】
第1の実施例では、スイッチ13のLAN201側にLAN202内のサーバ台数+1個分のIPアドレスを予め登録しておく必要があった。
【0384】
第2の実施例では、第1の実施例と異なり、スイッチ13の照会要求解決手段が、クライアント11からの照会要求に対して、例えばコンピュータ名C1の共有S1にリダイレクトされるべきことを示す照会応答を返す前に、コンピュータ名C1とクライアント11のIPアドレスIPcを対応付けて記録する。ここで記録される情報を、以下、接続要求管理情報と称す。そして、それ以降、スイッチ13は、IPアドレスIPcのクライアント11からのアクセス要求をコンピュータ名C1に転送する。
【0385】
したがって、第2の実施例のスイッチ13は、LAN201側にIPアドレスを複数持つ必要が無く、1つでよい。
【0386】
図52は、第2の実施例におけるクライアント・サーバ・システムの構成を示すブロック図である。図52を参照すると、第2の実施例のクライアント・サーバ・システムは、スイッチ13に予め登録されたLAN201側のIPアドレスが、第1の実施例と異なり、1つだけである。
【0387】
図53は、接続要求管理情報のデータ構成を示す図である。図53を参照すると、接続要求管理情報70は、クライアントのIPアドレスと、接続先コンピュータ名とからなる。第2の実施例では、照会要求解決手段は、リダイレクトされるべきことを示す応答パケットを送信する前に、クライアント11のIPアドレスとリダイレクトされるべきコンピュータ名を対応付けて接続要求管理情報として記録する。
【0388】
第2の実施例におけるインターセプト判断手段の動作は図51に示した第1の実施例のものと同じである。
【0389】
クライアント11上のアプリケーション11aが¥¥Cv¥Sv¥d1内にアクセスしようとして、スイッチ13に照会要求を送る。照会要求を受けると、スイッチ13の照会要求解決手段は、リダイレクト先がコンピュータ名C1にある共有S1であることを示す照会応答のパケットを作成する。そして、照会要求解決手段は、クライアントのIPアドレスIPcと接続先コンピュータ名C1とを接続要求管理情報70に記録した後、そのパケットをクライアント11に送信する。
【0390】
スイッチ13からそのパケットを受信したクライアント11上のCIFSクライアント11bは、NetBIOSの名前解決方法により、コンピュータ名C1に対応するLAN201内でのスイッチ13のIPアドレスIPvを取得する。本実施例では、LAN201内でのスイッチ13のIPアドレスはどのコンピュータ名に対してもIPvである。そして、CIFSクライアント11bは、IPアドレスIPvに対してTCPのコネクション接続要求を行う。
【0391】
接続要求を受けたスイッチ13は、インターセプト判断手段にて、その要求がCIFSプロトコルか否か判断する(ステップA1)。接続要求はCIFSプロトコルでないので、インターセプト判断手段は、その要求がTCPのコネクション接続パケットか否か判断する(ステップA2)。
【0392】
接続要求がTCPのコネクション接続パケットなので、インターセプト判断手段は、接続要求管理情報70を参照して、クライアントのIPアドレスIPcに対応するコンピュータ名C1を取得する。そして、インターセプト判断手段は、NetBIOSの名前解決方法により、コンピュータ名C1に対応するLAN202内でのIPアドレスIPx1を取得する。
【0393】
次に、インターセプト判断手段は、コネクション管理情報に、クライアントのIPアドレスIPcおよびポート番号Pc1と、スイッチ13のポート番号PSw1と、サーバ14−1のIPアドレスIPx1とを記録する(ステップA4)。
【0394】
次に、インターセプト判断手段は、仮想転送先選別手段に受信パケットを渡す(ステップA9)。
【0395】
仮想転送先選別手段は、サーバ14−1のIPアドレスIPx1に対してTCPのコネクション接続要求を行う。
【0396】
これ以後、同様に処理を行う。
(第3の実施例)
第2の実施例では、照会要求解決手段は、図53に示したリダイレクト先のコンピュータ名と、クライアントのIPアドレスとを対応付けて、接続要求管理情報として記録した。したがって、第2の実施例では、クライアント11のアプリケーション11aから、¥¥C1¥d1内にアクセスしようとすると、スイッチ13の仮想転送先選別手段が転送先を選別できない。
【0397】
これに対して、第3の実施例では、CIFSプロトコルからリダイレクト先が判定されるので、リダイレクト先のコンピュータ名とクライアントのIPアドレスの対応関係を記録することなく、クライアント11のアプリケーション11aが例えば¥¥C1¥d1内にアクセスすることができる。
【0398】
図54は、第3の実施例におけるインターセプト判断手段の動作を示すフローチャートである。
【0399】
クライアント11上のアプリケーション11aが¥¥Cv¥Sv¥d1内にアクセスしようとして、スイッチ13に照会要求を送る。照会要求を受けると、スイッチ13の照会要求解決手段は、リダイレクト先がコンピュータ名C1にある共有S1であることを示す照会応答のパケットを作成し、クライアント11に送信する。
【0400】
スイッチ13からそのパケットを受信したクライアント11上のCIFSクライアント11bは、NetBIOSの名前解決方法により、コンピュータ名C1に対応するLAN201内でのスイッチ13のIPアドレスIPvを取得する。本実施例では、LAN201内でのスイッチ13のIPアドレスはどのコンピュータ名に対してもIPvである。そして、CIFSクライアント11bは、IPアドレスIPvに対してTCPのコネクション接続要求を行う。
【0401】
図54に示すように、接続要求を受けたスイッチ13は、インターセプト判断手段にて、その要求がCIFSプロトコル否か判断する(ステップA1)。接続要求はCIFSプロトコルでないので、インターセプト判断手段は、その要求がTCPのコネクション接続パケットか否か判断する(ステップA2)。
【0402】
接続要求がTCPのコネクション接続パケットなので、インターセプト判断手段は、接続応答手段にそのパケットを渡す(ステップB3)。パケットを受けた接続応答手段は、接続要求に対する応答パケットを作成し、クライアント11に送信する。なお、接続応答手段とは、TCPのコネクション接続要求を受け付け、それに対する応答を返すという、既存の処理を実行する手段である。
【0403】
それによりLAN201内のTCPコネクションが接続されると、クライアント11上のCIFSクライアント11bは、図50に示したCIFSプロトコルヘッダ情報40のCommand領域41に「Negotiate Protocol」を示す値を書き込んだパケットを作成し、コンピュータ名C1に宛てて送信する。「Negotiate Protocol」は、一般的に、クライアントとサーバの間で最初に送受信されるコマンドである。そして、「Negotiate Protocol」は、自身の適用可能なプロトコルのバージョンを通知し交渉することにより、双方が適用可能なプロトコルを求めるためのコマンドである。
【0404】
このパケットを受信したスイッチ13は、インターセプト判断手段にて、CIFSプロトコルか否か判断する(ステップA1)。そのパケットの内容はCIFSプロトコルなので、インターセプト判断手段は、Command領域41が「Negotiate Protocol」を示すコマンド値か否か判断する(ステップB1)。ここでは「Negotiate Protocol」を示すコマンド値なので、インターセプト判断手段は、接続応答手段にそのパケットを渡す(ステップB3)。
【0405】
そのパケットを受けた接続応答手段は、応答パケットを作成し、クライアント11に送信する。
【0406】
このパケットを受信したクライアント11上のCIFSクライアント11bは、図50に示したCIFSプロトコルヘッダ情報40のCommand領域41に「Session setup AndX」を示す値を、パラメータ領域45に「Tree Connect」を示す値を、Buffer領域44に¥¥C1¥S1を書き込んだパケットを作成し、コンピュータ名C1に宛てて送信する。「Session setup AndX」は、一般に、クライアントがサーバにログインするためのコマンドである。「AndX」が付いているのが、これはパラメータ領域に次のコマンドを設定できることを示す。また、「Tree Connect」は、一般に、クライアントがサーバの共有に接続するためのコマンドである。例えば、「Session setup AndX」のコマンドのパラメータ領域に「Tree Connect」のコマンドが設定されていれば、サーバにログインした後に共有に接続するというコマンドとなる。
【0407】
このパケットを受信したスイッチ13は、インターセプト判断手段にて、CIFSプロトコルか否か判断する(ステップA1)。そのパケットの内容はCIFSプロトコルなので、インターセプト判断手段は、Command領域41が「Negotiate Protocol」を示すコマンド値か否か判断する(ステップB1)。ここでは「Negotiate Protocol」を示すコマンド値でないので、インターセプト判断手段は、Command領域41またはパラメータ領域45が「Tree Connect」を示す値か否か判断する(ステップB2)。ここでは、パラメータ領域45が「Tree Connect」を示す値なので、インターセプト判断手段は、Buffer領域44の¥¥C1¥S1をTid管理情報に記憶する。
【0408】
次に、インターセプト判断手段は、NetBIOSの名前解決方法により、コンピュータ名C1に対応するLAN202内でのIPアドレスIPx1を取得する。そして、インターセプト判断手段は、コネクション管理情報に、クライアントのIPアドレスIPcおよびポート番号Pc1と、スイッチのポート番号PSw1と、サーバ14−1のIPアドレスIPx1を記録する(ステップA4)。このとき、コネクション管理情報は図49の31bの状態である。
【0409】
次に、インターセプト判断手段は、仮想転送先選別手段にパケットを渡す(ステップA9)。
【0410】
仮想転送先選別手段は、受信パケットからクライアントのIPアドレスIPc1およびポート番号Pc1を取得し、これらを用いてコネクション管理情報からサーバ14−1のIPアドレスIPx1を判断し、IPアドレスIPx1のサーバ14−1に対してTCPのコネクション接続要求を行う。
【0411】
それにより、LAN202内のTCPコネクションが接続されると、仮想転送先選別手段は、図50に示したCIFSプロトコルヘッダ情報40のCommand領域41に「Negotiate Protocol」を示す値を設定したパケットを作成し、サーバ14−1に送信する。
【0412】
「Negotiate Protocol」のパケットを受信したサーバ14−1は、応答パケットを作成し、スイッチ13に送信する。
【0413】
この応答パケットを受信したスイッチ13の仮想転送先選別手段は、クライアント11から受信した上述のパケットをサーバ14−1に送信する。
【0414】
これ以後、スイッチ13は、クライアント11のIPアドレスIPcのポート番号Pc1からパケットを受信すると、仮想転送先選別手段にてコネクション管理情報を参照し、サーバ14−1のIPx1に受信パケットを転送する。
【0415】
また、スイッチ13は、サーバ14−1のIPアドレスIPx1からスイッチ13のPSw1へのパケットを受信すると、コネクション管理情報を参照し、クライアント11のIPアドレスIPcのポート番号Pc1に受信パケットを転送する。
【0416】
なお、以上説明してきたスイッチ13は、サーバコンピュータとその上で動作するプログラムにより実現することもできる。その場合、プログラムはスイッチ13のハードウェアを制御する。スイッチ13の各部手段の動作はプログラムの処理を実行することにより行われる。
【0417】
【発明の効果】
本発明によれば、クライアントとサーバの間に論理的に配置されたスイッチ装置が、サーバに代わって照会要求を解決するので、スイッチ装置の機能だけをアップグレードすれば、新しい照会要求解決の機能を実現でき、各サーバのソフトウェアをアップグレードすることなく、システムに新しい機能を追加することができる。
【0418】
例えば、クライアント毎もしくはユーザ毎に異なる名前空間を提供する機能を、サーバのソフトウェアをアップグレードすることなくシステムに追加することができる。
【0419】
また、本発明によれば、インターセプト判断手段は、照会要求をインターセプトして解決するか否かを、オブジェクト識別子によってではなく要求の種類によって判断するため、スイッチ装置にとって非常に処理負荷が軽く、スイッチ装置の処理が通信のボトルネックとなりにくい。
【0420】
オブジェクト識別子によって判断を行う場合、文字列を何らかのルールに従って処理していくことが求められるため重い処理となりがちである。これに対して、要求の種類は1〜2バイト程度のビット列から単純に判断できる。
【0421】
また、クライアントとサーバの間に論理的に配置されたスイッチが、照会要求に含まれるオブジェクトが照会応答対象かどうかを判断し、照会要求が照会応答対象であった場合だけ、その照会要求を解決するので、スイッチ装置の機能だけで、オブジェクト毎に照会解決をするか否か判断する機能を実現できる。
【0422】
スイッチ装置で解決されなかった照会要求は、サーバにて解決されることになるので、例えば、照会要求解決手段を持たないサーバに送られる照会要求だけをスイッチで応答することができる。また、セキュリティ的に問題のあるオブジェクトに対する照会要求だけスイッチ装置でユーザ毎に照会応答を解決したり、といったようなことができる。
【0423】
また、クライアントとサーバの間に論理的に配置されたスイッチ装置が、要求が照会要求促進対象か否かを判断し、その要求が照会要求促進対象であった場合だけ、その要求をサーバに転送せず、クライアントに照会要求の発行を促すので、各サーバが照会要求解決手段および照会要求促進手段を持っているか否かにかかわらず、システムに移動透過性および統一名前空間機能を持たせることができる。
【0424】
また、クライアントとサーバの間に論理的に配置されたスイッチ装置が、仮想的なロケーション情報をクライアントに提供し、仮想的なロケーション情報を用いた、クライアントからの要求を実際のサーバのロケーションに転送するので、クライアントに対してサーバの実際のロケーション情報を隠すことができ、かつスイッチ装置を配置する位置の自由度が高い。
【0425】
例えば、クライアントは、常にスイッチ装置のIPアドレスに対して要求を送るようになるので、スイッチ装置の物理的な位置を自由に選択できる。具体的には、クライアントからサーバへの要求が必ずスイッチ装置を通るようにするために、クライアントに対してスイッチ装置をプロキシとして指定したり、パケットのルーティング規則を設定する必要がない。
【0426】
また、本発明のスイッチ装置は他スイッチ装置と共に単一名前空間を構成し、自スイッチ装置に管理されているサーバ間の共有のつなぎ目を管理するだけでなく、他スイッチ装置に管理されているサーバとの共有のつなぎ目の情報を相互に管理するので、スイッチ装置を複数用いて単一名前空間をスイッチ装置毎のドメインに区切り、ドメイン間の共有のつなぎ目を相互に管理して、複数のスイッチ装置が連携動作することができるので、1台のスイッチ装置だけではボトルネックとなる性能を向上させることができる。
【0427】
また、本発明のスイッチ装置は、共有のつなぎ目に関する情報のみを擬似ファイルシステムおよびロケーション情報仮想化手段にて管理し、他の部分に関する情報についてはサーバにある情報を利用することで、名前解決の処理を極力サーバに委譲し、擬似ファイルシステムおよびロケーション情報仮想化手段が記憶する情報を最小限にとどめているので、複数のスイッチ装置間での変更情報の通知および反映が容易であり、統一された単一名前空間の変更を高速に行うことができる。
【0428】
また、本発明による部分共有型のスイッチ装置では、スイッチ装置間で通知し、反映すべき情報がドメイン間のつなぎ目(第2の共有のつなぎ目)に関する情報だけなので、単一名前空間の変更をより高速に行うことができる。
【0429】
また、本発明によるスイッチ装置は、擬似ファイルシステムとロケーション情報仮想化手段の情報に基づいてスタンバイ機(予備)として機能するための冗長フェイルオーバー手段を有しているため、故障などに対する信頼性を向上できる。
【0430】
また、本発明の各スイッチ装置は自身の代替順位を管理して他のスイッチ装置の代替機として機能する非冗長フェイルオーバー手段を有するため、故障などに対する信頼性を安価に向上させることができる。
【0431】
また、本発明のスイッチ装置は、サーバの故障時に、クライアントからの要求の宛先であるリダイレクト先(仮想ロケーション情報)を変更することなく、故障したサーバへのリンク情報となっていた実際のロケーション情報を代替サーバのロケーション情報に変更することによりサーバのフェイルオーバーを実行するサーバフェイルオーバー手段を有するので、クライアントからの要求の送り先をクライアント透過に変更して、要求を代替サーバに送ることができる。また、そのためクライアントがフェイルオーバーに対応する機能を持っていなくてもよい。
【0432】
また、本発明によるスイッチは、単一名前空間に変更を生じさせずに、再配置後のリソースのロケーションを仮想化するように擬似ファイルシステムおよびロケーション情報仮想化手段の情報を更新する透過移動手段を有するので、管理者が、単一名前空間をそのままに、かつクライアントを再設定したりリブートすることなく、負荷や容量を分散させる目的で、オブジェクト等のリソースをサーバに再配置できる。
【0433】
また、本発明によるスイッチ装置は、サーバ上の実体を移動することなく、そのリンク先のみを移動先へとつなぐように擬似ファイルシステムおよびロケーション情報仮想化手段の情報を更新するリンク張替え高速移動手段を有するので、クライアントからのオブジェクト等のリソース移動の要求を高速に実行できる。
【0434】
また、本発明のスイッチ装置は、負荷分散先として指定されるリソース(複製)を複数のサーバ上に作成し、そのロケーションを擬似ファイルシステムおよびロケーション情報仮想化手段の情報として一貫して管理する複製作成および選択手段と、オリジナルおよび複製への負荷の分散を行う負荷分散手段を有するので、集中するアクセスを複数のサーバに振り分けて負荷分散する機能を容易に実装できる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態によるクライアント・サーバ・システムの構成を示すブロック図である。
【図2】本発明の第1の実施形態のスイッチの構成を示すブロック図である。
【図3】本発明の第1の実施形態によるクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。
【図4】本発明の第2の実施形態のスイッチ101の構成を示すブロック図である。
【図5】本発明の第2の実施形態によるクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。
【図6】本発明の第3の実施形態のスイッチ102の構成を示すブロック図である。
【図7】本発明の第3の実施形態によるクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。
【図8】本発明の第4の実施形態のスイッチの構成を示すブロック図である。
【図9】本発明の第4の実施形態のクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。
【図10】本発明の第5の実施形態による複数のスイッチを連携動作させた場合のネットワークの物理的構成の一例である。
【図11】本発明の第5の実施形態による複数のスイッチを連携動作させた場合の物理的なネットワーク構成の他の例である。
【図12】本発明の第5の実施形態による分散ファイルシステムにおける各サーバのファイル構成を示す図である。
【図13】本発明の第5の実施形態の分散ファイルシステムによる単一名前空間のファイル構成を示す図である。
【図14】本発明の第5の実施形態による擬似ファイルシステムおよびロケーション情報仮想化手段に登録され、管理されている情報の内容を示す表である。
【図15】本発明の第5の実施形態において部分共有型の場合のスイッチの構成を示すブロック図である。
【図16】本発明の第5の実施形態において全共有型の場合のスイッチの構成を示すブロック図である。
【図17】本発明の第5の実施形態におけるスイッチの動作を説明するための各サーバのファイル構成例を示す図である。
【図18】本発明の第5の実施形態におけるスイッチの動作を説明するための単一名前空間のファイル構成例を示す図である。
【図19】本発明の第5の実施形態におけるスイッチの動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図20】本発明の第6の実施形態のスイッチの構成を示すブロック図である。
【図21】本発明の第6の実施形態におけるスイッチの動作を説明するための各サーバのファイル構成例を示す図である。
【図22】本発明の第6の実施形態におけるスイッチの動作を説明するための単一名前空間のファイル構成例を示す図である。
【図23】本発明の第6の実施形態におけるスイッチの動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図24】本発明の第7の実施形態のスイッチの構成を示すブロック図である。
【図25】本発明の第7の実施形態におけるスイッチの動作を説明するための各サーバのファイル構成例を示す図である。
【図26】本発明の第7の実施形態におけるスイッチの動作を説明するための単一名前空間のファイル構成例を示す図である。
【図27】本発明の第7の実施形態におけるスイッチの動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図28】本発明の第8の実施形態のスイッチの構成を示すブロック図である。
【図29】本発明の第8の実施形態におけるスイッチの動作を説明するための各サーバのファイル構成例を示す図である。
【図30】本発明の第8の実施形態におけるスイッチの動作を説明するための単一名前空間のファイル構成例を示す図である。
【図31】本発明の第8の実施形態におけるスイッチの動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図32】本発明の第9の実施形態のスイッチの構成を示すブロック図である。
【図33】本発明の第9の実施形態におけるスイッチのユーザ透過な動作を説明するための各サーバのファイル構成例を示す図である。
【図34】本発明の第9の実施形態におけるスイッチのユーザ透過な動作を説明するための単一名前空間のファイル構成例を示す図である。
【図35】本発明の第9の実施形態におけるスイッチのユーザ透過な動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図36】本発明の第9の実施形態におけるスイッチのクライアント透過な動作を説明するための各サーバのファイル構成例を示す図である。
【図37】本発明の第9の実施形態におけるスイッチのクライアント透過な動作を説明するための単一名前空間のファイル構成例を示す図である。
【図38】本発明の第9の実施形態におけるスイッチのクライアント透過な動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図39】本発明の第10の実施形態のスイッチの構成を示すブロック図である。
【図40】本発明の第10の実施形態におけるスイッチの動作を説明するための各サーバのファイル構成例を示す図である。
【図41】本発明の第10の実施形態におけるスイッチの動作を説明するための単一名前空間のファイル構成例を示す図である。
【図42】本発明の第10の実施形態におけるスイッチの動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図43】本発明の第11の実施形態のスイッチの構成を示すブロック図である。
【図44】本発明の第11の実施形態におけるスイッチの動作を説明するための各サーバのファイル構成例を示す図である。
【図45】本発明の第11の実施形態におけるスイッチの動作を説明するための単一名前空間のファイル構成例を示す図である。
【図46】本発明の第11の実施形態におけるスイッチの動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図47】第1の実施例におけるクライアント・サーバ・システムの構成を示すブロック図である。
【図48】第1の実施例による仮想サーバ内の共有ディレクトリのツリー構造を例示した図である。
【図49】第1の実施例によるスイッチに設定され、または記憶される情報の一例を示している。
【図50】CIFSプロトコルのメッセージのヘッダ情報を示している。
【図51】第1の実施例におけるインターセプト判断手段の動作を示すフローチャートである。
【図52】第2の実施例におけるクライアント・サーバ・システムの構成を示すブロック図である。
【図53】接続要求管理情報のデータ構成を示す図である。
【図54】第3の実施例におけるインターセプト判断手段の動作を示すフローチャートである。
【図55】従来のクライアント・サーバ・システムの一構成例を示すブロック図である。
【図56】従来のクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。
【符号の説明】
11 クライアント
11a アプリケーション
11b リダイレクタ
12 ネットワーク
13 スイッチ
14 サーバ
110 インターセプト判断手段
120 照会要求解決手段
130 擬似ファイルシステム
135 ロケーション情報仮想化手段
140 照会要求促進手段
150 仮想転送先選別手段
200 スイッチ間専用線
201 クライアント側ネットワーク
202 サーバ側ネットワーク
203 変更情報通知手段
204 変更情報反映手段
205 情報収集共有手段
206 モニタ手段
207 冗長フェイルオーバー手段
208 非冗長フェイルオーバー手段
209 代替順位記憶手段
210 代替リダイレクト先通知手段
211 故障検出手段
212 サーバフェイルオーバー手段
213 透過移動手段
214 リンク張替え高速移動手段
215 複製作成および選択手段
216 負荷分散手段
Claims (58)
- 少なくとも1つのクライアントと、少なくとも1つのオブジェクトを管理する少なくとも1つのサーバとの間に論理的に配置され、クライアントからの要求を必要に応じてサーバに転送するスイッチ装置であって、
サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理する擬似ファイルシステムと、
クライアントからの要求を受信し、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトして照会要求解決手段に送るインターセプト判断手段と、
該インターセプト判断手段から前記照会要求を受けると、該照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせ、該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する照会要求解決手段とを有するスイッチ装置。 - 前記擬似ファイルシステムは、クライアントまたはユーザ毎に、前記オブジェクトのロケーション情報を管理しており、
前記照会要求解決手段は、前記照会要求の送信元のクライアントまたはユーザを前記擬似ファイルシステムに通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムから取得する、請求項1記載のスイッチ装置。 - 前記擬似ファイルシステムは、さらに、前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきオブジェクトか否かを管理しており、
前記インターセプト判断手段は、クライアントからの要求がオブジェクトを指定した照会要求であれば、該照会要求をインターセプトする前に、該照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムに問い合わせ、前記オブジェクトが照会応答すべきものであるとき、前記照会要求をインターセプトし前記照会要求解決手段に送る、請求項1または2記載のスイッチ装置。 - 前記擬似ファイルシステムは、クライアントまたはユーザ毎に、前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきものか否かを管理しており、
前記インターセプト判断手段は、前記照会要求の送信元のクライアントまたはユーザを前記擬似ファイルシステムに通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムから取得する、請求項3記載のスイッチ装置。 - 前記インターセプト判断手段から要求を受けると、該要求の送信元であるクライアントに、照会要求の送信を促す応答を返送する照会要求促進手段をさらに有し、
前記擬似ファイルシステムは、クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か管理しており、
前記インターセプト判断手段は、クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものか否か前記擬似ファイルシステムに問い合わせ、照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトして前記照会要求促進手段に送る、請求項1〜4のいずれか1項に記載のスイッチ装置。 - 前記擬似ファイルシステムは、クライアントまたはユーザ毎に、前記要求により指定されるオブジェクトが、該要求の送信元であるクライアントに照会要求の送信を促すべきものであるか否か管理しており、
前記インターセプト判断手段は、前記要求の送信元のクライアントまたはユーザを前記擬似ファイルシステムに通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記要求により指定された前記オブジェクトが、照会要求の送信を促すべきものか否か前記擬似ファイルシステムから取得する、請求項5記載のスイッチ装置。 - 共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係を管理するロケーション情報仮想化手段と、
サーバに転送する要求を前記インターセプト判断手段から受信し、該要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する仮想転送先選別手段をさらに有し、
前記擬似ファイルシステムは、前記照会要求解決手段からの問い合わせを受けると、前記照会要求により指定された前記オブジェクトのロケーション情報に対応した仮想的なロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、該仮想的なロケーション情報を前記照会要求解決手段に通知する、請求項1〜4のいずれか1項に記載のスイッチ装置。 - 前記ロケーション情報仮想化手段は、クライアントまたはユーザ毎に、前記仮想的なロケーション情報と前記実際のロケーション情報の対応関係を管理しており、
前記仮想転送先選別手段は、前記インターセプト判断手段から受信した前記要求の送信元のクライアントまたはユーザを前記ロケーション情報仮想化手段に通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記要求の仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段から取得し、
前記擬似ファイルシステムは、前記照会要求の送信元であるクライアントまたはユーザを前記ロケーション情報仮想化手段に通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトのローション情報に対応した仮想的なロケーション情報を前記ロケーション情報仮想化手段から取得する、請求項7記載のスイッチ装置。 - 前記ロケーション情報仮想化手段は、前記オブジェクトのロケーション情報に対応した前記仮想的なロケーション情報として自スイッチ装置のロケーション情報を記憶しており、
前記インターセプト判断手段は、前記クライアントからの要求の宛先が前記自スイッチ装置のロケーション情報であれば、該要求を前記仮想転送先選別手段に送る、請求項7記載のスイッチ装置。 - 自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が該自スイッチ装置と共に存在しており、
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第2の共有のつなぎ目の情報を管理している、請求項7〜9のいずれか1項に記載のスイッチ装置。 - 前記第2の共有のつなぎ目の情報に変更があると、該第2の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知する変更情報通知手段と、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させる変更情報反映手段とを有する、請求項10記載のスイッチ装置。 - 自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が前記自スイッチ装置と共に存在しており、
前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか1つのスイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか2つのスイッチ装置にそれぞれ管理されているサーバ間の第2の共有のつなぎ目の情報を管理している、請求項7〜9のいずれか1項に記載のスイッチ装置。 - 前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させる情報収集共有手段をさらに有する、請求項12記載のスイッチ装置。
- 自スイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから他スイッチ装置に管理されているサーバへの第2の共有のつなぎ目の情報を管理している少なくとも1つの現用のスイッチ装置がある場合に、少なくとも1つの前記現用のスイッチ装置に対するフェイルオーバーのために備えられる予備用のスイッチ装置であって、
全てのフェイルオーバー対象の現用のスイッチ装置が管理している前記第1および第2の共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理しており、照会要求解決手段からの問い合わせを受けると、照会要求により指定されたオブジェクトのロケーション情報に対応した仮想的なロケーション情報をロケーション情報仮想化手段に問い合わせ、該仮想的なロケーション情報を前記照会要求解決手段に通知する擬似ファイルシステムと、
前記第1および第2の共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係を管理するロケーション情報仮想化手段と、
前記フェイルオーバー対象の現用のスイッチ装置から前記第1または第2の共有のつなぎ目に関する変更情報を通知されると、該変更情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させるフェイルオーバー用変更情報反映手段と、
前記フェイルオーバー対象の現用のスイッチ装置の故障を検出するモニタ手段と、
前記フェイルオーバー対象の現用のスイッチ装置の故障が前記モニタ手段により検出されると、故障したスイッチ装置の代わりに動作するように、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段を書き換えるフェイルオーバー手段と、
前記故障したスイッチ装置の代わりに動作するとき、クライアントからの要求を受信し、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトして照会要求解決手段に送るインターセプト判断手段と、
該インターセプト判断手段から前記照会要求を受けると、該照会要求により指定されたオブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせ、該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する照会要求解決手段と、
サーバに転送する要求を前記インターセプト判断手段から受信し、該要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する仮想転送先選別手段とを有するスイッチ装置。 - 前記自スイッチ装置および前記他スイッチ装置が互いに所定の順位のフェイルオーバー用の予備をも兼ねている場合、該他スイッチ装置の故障を検出するモニタ手段と、
前記自スイッチ装置の代わりに動作するスイッチ装置と前記他スイッチ装置の代わりに動作するスイッチ装置とこらら代わりに動作するスイッチ装置の順位を予め記憶している代替順位記憶手段と、
前記照会要求解決手段から前記クライアントに前記照会応答が送られるとき、該照会応答に含まれるロケーション情報に含まれるスイッチ装置に対するフェイルオーバーの予備のスイッチ装置および該予備のスイッチ装置の順位を前記代替順位記憶手段から取得し、前記照会応答に含まれるロケーション情報に含まれるスイッチ装置が故障したときの代替ロケーション情報として、前記予備のスイッチ装置および該予備のスイッチ装置の順位を含むロケーション情報を前記照会応答に付加する代替リダイレクト先通知手段と、
前記他スイッチ装置の故障が前記モニタ手段により検出され、かつ前記自スイッチ装置が該他スイッチ装置の代替として動作すべき順位にある場合、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段の情報を書き換えて、前記自スイッチ装置を前記他スイッチ装置の代替として動作させる非冗長フェイルオーバー手段とをさらに有する、請求項12または13記載のスイッチ装置。 - 前記自スイッチ装置が管理している少なくとも1つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出する故障検出手段と、
前記サーバの故障が前記故障検出手段に検出されると、故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新することにより、前記仮想転送先選別手段による前記要求の転送先を変更するサーバフェイルオーバー手段とをさらに有する、請求項7〜15のいずれか1項に記載のスイッチ装置。 - 共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係を管理するロケーション情報仮想化手段と、
サーバに転送する要求を前記インターセプト判断手段から受信し、該要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する仮想転送先選別手段をさらに有し、
前記擬似ファイルシステムは、前記照会要求解決手段からの問い合わせを受けると、前記照会要求により指定された前記オブジェクトのロケーション情報に対応した仮想的なロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、該仮想的なロケーション情報を前記照会要求解決手段に通知する、請求項5または6記載のスイッチ装置。 - 前記ロケーション情報仮想化手段は、クライアントまたはユーザ毎に、前記仮想的なロケーション情報と前記実際のロケーション情報の対応関係を管理しており、
前記仮想転送先選別手段は、前記インターセプト判断手段から受信した前記要求の送信元のクライアントまたはユーザを前記ロケーション情報仮想化手段に通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記要求の仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段から取得し、
前記擬似ファイルシステムは、前記照会要求の送信元であるクライアントまたはユーザを前記ロケーション情報仮想化手段に通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトのローション情報に対応した仮想的なロケーション情報を前記ロケーション情報仮想化手段から取得する、請求項17記載のスイッチ装置。 - 前記ロケーション情報仮想化手段は、前記オブジェクトのロケーション情報に対応した前記仮想的なロケーション情報として自スイッチ装置のロケーション情報を記憶しており、
前記インターセプト判断手段は、前記クライアントからの要求の宛先が前記自スイッチ装置のロケーション情報であれば、該要求を前記仮想転送先選別手段に送る、請求項17記載のスイッチ装置。 - 自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が該自スイッチ装置と共に存在しており、
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第2の共有のつなぎ目の情報を管理している、請求項17〜19のいずれか1項に記載のスイッチ装置。 - 前記第2の共有のつなぎ目の情報に変更があると、該第2の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知する変更情報通知手段と、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させる変更情報反映手段とを有する、請求項20記載のスイッチ装置。 - 自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が前記自スイッチ装置と共に存在しており、
前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか1つのスイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか2つのスイッチ装置にそれぞれ管理されているサーバ間の第2の共有のつなぎ目の情報を管理している、請求項17〜19のいずれか1項に記載のスイッチ装置。 - 前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させる情報収集共有手段をさらに有する、請求項22記載のスイッチ装置。
- 自スイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから他スイッチ装置に管理されているサーバへの第2の共有のつなぎ目の情報を管理している少なくとも1つの現用のスイッチ装置がある場合に、少なくとも1つの前記現用のスイッチ装置に対するフェイルオーバーのために備えられる予備用のスイッチ装置であって、
全てのフェイルオーバー対象の現用のスイッチ装置が管理している前記第1および第2の共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理しており、照会要求解決手段からの問い合わせを受けると、照会要求により指定されたオブジェクトのロケーション情報に対応した仮想的なロケーション情報をロケーション情報仮想化手段に問い合わせ、該仮想的なロケーション情報を前記照会要求解決手段に通知し、さらに、クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か管理している擬似ファイルシステムと、
前記第1および第2の共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係を管理するロケーション情報仮想化手段と、
前記フェイルオーバー対象の現用のスイッチ装置から前記第1または第2の共有のつなぎ目に関する変更情報を通知されると、該変更情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させるフェイルオーバー用変更情報反映手段と、
前記フェイルオーバー対象の現用のスイッチ装置の故障を検出するモニタ手段と、
前記フェイルオーバー対象の現用のスイッチ装置の故障が前記モニタ手段により検出されると、故障したスイッチ装置の代わりに動作するように、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段を書き換える冗長フェイルオーバー手段と、
前記故障したスイッチ装置の代わりに動作するとき、クライアントからの要求を受信し、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトして照会要求解決手段に送り、前記クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものか否か前記擬似ファイルシステムに問い合わせ、照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトして照会要求促進手段に送るインターセプト判断手段と、
該インターセプト判断手段から前記照会要求を受けると、該照会要求により指定されたオブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせ、該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する照会要求解決手段と、
サーバに転送する要求を前記インターセプト判断手段から受信し、該要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する仮想転送先選別手段と、
前記インターセプト判断手段から要求を受けると、該要求の送信元であるクライアントに、照会要求の送信を促す応答を返送する照会要求促進手段とを有するスイッチ装置。 - 前記自スイッチ装置および前記他スイッチ装置が互いに所定の順位のフェイルオーバー用の予備をも兼ねている場合、該他スイッチ装置の故障を検出するモニタ手段と、
前記自スイッチ装置の代わりに動作するスイッチ装置と前記他スイッチ装置の代わりに動作するスイッチ装置とこらら代わりに動作するスイッチ装置の順位を予め記憶している代替順位記憶手段と、
前記照会要求解決手段から前記クライアントに前記照会応答が送られるとき、該照会応答に含まれるロケーション情報に含まれるスイッチ装置に対するフェイルオーバーの予備のスイッチ装置および該予備のスイッチ装置の順位を前記代替順位記憶手段から取得し、前記照会応答に含まれるロケーション情報に含まれるスイッチ装置が故障したときの代替ロケーション情報として、前記予備のスイッチ装置および該予備のスイッチ装置の順位を含むロケーション情報を前記照会応答に付加する代替リダイレクト先通知手段と、
前記他スイッチ装置の故障が前記モニタ手段により検出され、かつ前記自スイッチ装置が該他スイッチ装置の代替として動作すべき順位にある場合、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段の情報を書き換えて、前記自スイッチ装置を前記他スイッチ装置の代替として動作させる非冗長フェイルオーバー手段とをさらに有する、請求項22または23記載のスイッチ装置。 - 前記照会要求促進手段は、前記第1および第2の共有のつなぎ目において前記クライアントに照会要求を促し、
前記照会要求解決手段は、前記第2の共有のつなぎ目を超える照会要求を受けると、前記他スイッチ装置に管理されているオブジェクトの情報を含む照会応答を前記クライアントに送る、請求項20〜23のいずれか1項に記載のスイッチ装置。 - 前記自スイッチ装置が管理している少なくとも1つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出する故障検出手段と、
前記サーバの故障が前記故障検出手段に検出されると、故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新することにより、前記仮想転送先選別手段による前記要求の転送先を変更するサーバフェイルオーバー手段とをさらに有する、請求項17〜26のいずれか1項に記載のスイッチ装置。 - 共有のつなぎ目の先頭でないオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成し、前記移動先のサーバへつながる共有のつなぎ目の情報を前記擬似フィアルシステムおよび前記ロケーション情報仮想化手段に作成し、作成された前記共有のつなぎ目を超える要求を送ったクライアントに対して照会要求の送信を促すように擬似ファイルシステムを更新する透過移動手段をさらに有する、請求項17〜27のいずれか1項に記載のスイッチ装置。
- 共有のつなぎ目の先頭にあるオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成し、前記共有のつなぎ目の実際のロケーション情報を前記複製の実際のロケーション情報に変更し、前記共有のつなぎ目を超える要求を送ったクライアントに対して照会要求の送信を促すように擬似ファイルシステムを更新する透過移動手段をさらに有する、請求項17〜27のいずれか1項に記載のスイッチ装置。
- 任意範囲内にあるオブジェクトを一括して移動させることがいずれかのクライアントから要求されたとき、該範囲内に共有のつなぎ目がある場合、該共有のつなぎ目以下のオブジェクトを移動せず、該共有のつなぎ目より上のオブジェクトのみを該要求に従って移動し、移動されたオブジェクトと移動されなかったオブジェクトがつながる様に前記擬似ファイルシステムの情報を更新するリンク張替え高速移動手段をさらに有する、請求項7〜29いずれか1項に記載のスイッチ装置。
- 前記擬似ファイルシステムは、オブジェクトに少なくとも1つの複製がある場合、共有のつなぎ目において接続先となる前記オブジェクトのロケーション情報に加えて、前記共有のつなぎ目において前記オブジェクトのロケーション情報と同様に接続先となりうる前記複製のロケーション情報をも管理可能であり、
前記スイッチ装置は、オブジェクトの実体の複製を作成することが要求されると、前記オブジェクトの複製を作成し、前記複製のロケーション情報を前記擬似ファイルシステムに追加し、前記照会要求解決手段が前記擬似ファイルシステムに前記オブジェクトのロケーション情報を問い合わせたとき、前記オブジェクトのロケーション情報または前記複製のロケーション情報のうちいずれか1つに基づいて照会応答を作成するように前記照会要求解決手段に指示する複製作成および選択手段をさらに有する、請求項7〜30のいずれか1項に記載のスイッチ装置。 - オブジェクトおよび該オブジェクトの複製に対するアクセスに関する統計情報を取得しており、該統計情報に基づき、前記オブジェクトおよび前記複製から選択すべき1つを決定して前記複製作成および選択手段に通知する負荷分散手段をさらに有する、請求項31記載のスイッチ装置。
- 前記オブジェクトと、該オブジェクトの複製とは互いに同一の内容に維持されている、請求項31または32記載のスイッチ装置。
- 前記インターセプト判断手段は、クライアントからの要求を受信すると始めに該要求のプロトコルを識別し、該要求が所定のプロトコルでなければ、該要求をそのままサーバに転送する、請求項1〜33のいずれか1項に記載のスイッチ装置。
- 少なくとも1つのクライアントと、少なくとも1つのオブジェクトを管理する少なくとも1つのサーバとの間に論理的に配置され、クライアントからの要求を必要に応じてサーバに転送するスイッチ装置において前記オブジェクトを管理する分散オブジェクト管理方法であって、
サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を擬似ファイルシステムにて管理しておくステップと、
クライアントからの要求を受信したとき、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトするステップと、
インターセプトした前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせるステップと、
前記擬似ファイルシステムから得られた該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送するステップを有する分散オブジェクト管理方法。 - 前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきオブジェクトか否かを前記擬似ファイルシステムにて管理しておくステップと、
クライアントからの要求がオブジェクトを指定した照会要求であれば、該照会要求をインターセプトする前に、該照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムに問い合わせるステップと、
前記オブジェクトが照会応答すべきものであるときのみ、前記照会要求をインターセプトするステップをさらに有する、請求項35記載の分散オブジェクト管理方法。 - クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か前記擬似ファイルシステムにて管理しておくステップと、
クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものであるか否か前記擬似ファイルシステムに問い合わせるステップと、
前記オブジェクトが照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトするステップと、
インターセプトした前記要求の送信元である前記クライアントに、照会要求の送信を促す応答を返送するステップをさらに有する、請求項35または36記載の分散オブジェクト管理方法。 - 共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係をロケーション情報仮想化手段にて管理しておくステップと、
サーバに転送する要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせるステップと、
宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送するステップをさらに有し、
前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせたときに、前記擬似ファイルシステムから得られるロケーション情報は、実際のロケーション情報に対応して前記ロケーション情報仮想化手段にて管理されている仮想的なロケーション情報である、請求項35〜37のいずれか1項に記載の分散オブジェクト管理方法。 - 自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が該自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第2の共有のつなぎ目の情報を管理しており、
前記第2の共有のつなぎ目の情報に変更があると、該第2の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知するステップと、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させるステップとをさらに有する、請求項38記載の分散オブジェクト管理方法。 - 自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が前記自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか1つのスイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか2つのスイッチ装置にそれぞれ管理されているサーバ間の第2の共有のつなぎ目の情報を管理しており、
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させるステップをさらに有する、請求項38記載の分散オブジェクト管理方法。 - 自スイッチ装置が管理している少なくとも1つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出するステップと、故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新するステップをさらに有する、請求項38〜40のいずれか1項に記載の分散オブジェクト管理方法。 - 共有のつなぎ目の先頭でないオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成するステップと、
前記移動先のサーバへつながる共有のつなぎ目の情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に作成するステップと、
作成された前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促すステップをさらに有する、請求項38〜41のいずれか1項に記載の分散オブジェクト管理方法。 - 共有のつなぎ目の先頭にあるオブジェクト実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成するステップと、
前記共有のつなぎ目の実際のロケーション情報を前記複製の実際のロケーション情報に変更するステップと、
前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促すステップをさらに有する、請求項38〜42のいずれか1項に記載のスイッチ装置。 - 任意範囲内にあるオブジェクトを一括して移動させることがいずれかのクライアントから要求されたとき、該範囲内に共有のつなぎ目がある場合、該共有のつなぎ目以下のオブジェクトを移動せず、該共有のつなぎ目より上のオブジェクトのみを該要求に従って移動するステップと、
移動されたオブジェクトと移動されなかったオブジェクトがつながる様に前記擬似ファイルシステムの情報を更新するステップをさらに有する、請求項38〜43のいずれか1項に記載の分散オブジェクト管理方法。 - 前記擬似ファイルシステムは、オブジェクトに少なくとも1つの複製がある場合、共有のつなぎ目において接続先となる前記オブジェクトのロケーション情報に加えて、前記共有のつなぎ目において前記オブジェクトのロケーション情報と同様に接続先となりうる前記複製のロケーション情報をも管理可能であり、
オブジェクトの実体の複製を作成することが要求されると、前記オブジェクトの複製を作成するステップと、
前記複製のロケーション情報を前記擬似ファイルシステムに追加するステップと、
前記擬似ファイルシステムから前記オブジェクトのロケーション情報と前記複製のロケーション情報とが得られたとき、それらのうちいずれに基づいて照会応答を作成するか決定するステップをさらに有する、請求項38〜44のいずれか1項に記載の分散オブジェクト管理方法。 - クライアントからの要求を受信すると始めに該要求のプロトコルを識別するステップと、
該要求が所定のプロトコルでなければ、該要求をそのままサーバに転送するステップをさらに有する、請求項35〜45のいずれか1項に記載の分散オブジェクト管理方法。 - 少なくとも1つのクライアントと、少なくとも1つのオブジェクトを管理する少なくとも1つのサーバとの間に論理的に配置され、クライアントからの要求を必要に応じてサーバに転送するスイッチ装置として動作するコンピュータに前記オブジェクトを管理させるための分散オブジェクト管理プログラムであって、
サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を擬似ファイルシステムにて管理しておく処理と、
クライアントからの要求を受信したとき、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトする処理と、
インターセプトした前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせる処理と、
前記擬似ファイルシステムから得られた該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する処理を有する分散オブジェクト管理プログラム。 - 前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきオブジェクトか否かを前記擬似ファイルシステムにて管理しておく処理と、
クライアントからの要求がオブジェクトを指定した照会要求であれば、該照会要求をインターセプトする前に、該照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムに問い合わせる処理と、
前記オブジェクトが照会応答すべきものであるときのみ、前記照会要求をインターセプトする処理をさらに有する、請求項47記載の分散オブジェクト管理プログラム。 - クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か前記擬似ファイルシステムにて管理しておく処理と、
クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものであるか否か前記擬似ファイルシステムに問い合わせる処理と、
前記オブジェクトが照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトする処理と、
インターセプトした前記要求の送信元である前記クライアントに、照会要求の送信を促す応答を返送する処理をさらに有する、請求項47または48記載の分散オブジェクト管理プログラム。 - 共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係をロケーション情報仮想化手段にて管理しておく処理と、
サーバに転送する要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせる処理と、
宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する処理をさらに有し、
前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせたときに、前記擬似ファイルシステムから得られるロケーション情報は、実際のロケーション情報に対応して前記ロケーション情報仮想化手段にて管理されている仮想的なロケーション情報である、請求項47〜49のいずれか1項に記載の分散オブジェクト管理プログラム。 - 自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が該自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第2の共有のつなぎ目の情報を管理しており、
前記第2の共有のつなぎ目の情報に変更があると、該第2の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知する処理と、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させる処理とをさらに有する、請求項50記載の分散オブジェクト管理プログラム。 - 自スイッチ装置以外のスイッチ装置である少なくとも1つの他スイッチ装置が前記自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか1つのスイッチ装置に管理されているサーバ同士の第1の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか2つのスイッチ装置にそれぞれ管理されているサーバ間の第2の共有のつなぎ目の情報を管理しており、
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させる処理をさらに有する、請求項50記載の分散オブジェクト管理プログラム。 - 自スイッチ装置が管理している少なくとも1つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出する処理と、
故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新する処理をさらに有する、請求項50〜52のいずれか1項に記載の分散オブジェクト管理プログラム。 - 共有のつなぎ目の先頭でないオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成する処理と、
前記移動先のサーバへつながる共有のつなぎ目の情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に作成する処理と、
作成された前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促す処理をさらに有する、請求項50〜53のいずれか1項に記載の分散オブジェクト管理プログラム。 - 共有のつなぎ目の先頭にあるオブジェクト実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成する処理と、
前記共有のつなぎ目の実際のロケーション情報を前記複製の実際のロケーション情報に変更する処理と、
前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促す処理をさらに有する、請求項50〜54のいずれか1項に記載の分散オブジェクト管理プログラム。 - 任意範囲内にあるオブジェクトを一括して移動させることがいずれかのクライアントから要求されたとき、該範囲内に共有のつなぎ目がある場合、該共有のつなぎ目以下のオブジェクトを移動せず、該共有のつなぎ目より上のオブジェクトのみを該要求に従って移動する処理と、
移動されたオブジェクトと移動されなかったオブジェクトがつながる様に前記擬似ファイルシステムの情報を更新する処理をさらに有する、請求項50〜55のいずれか1項に記載の分散オブジェクト管理プログラム。 - 前記擬似ファイルシステムは、オブジェクトに少なくとも1つの複製がある場合、共有のつなぎ目において接続先となる前記オブジェクトのロケーション情報に加えて、前記共有のつなぎ目において前記オブジェクトのロケーション情報と同様に接続先となりうる前記複製のロケーション情報をも管理可能であり、
オブジェクトの実体の複製を作成することが要求されると、前記オブジェクトの複製を作成する処理と、
前記複製のロケーション情報を前記擬似ファイルシステムに追加する処理と、前記擬似ファイルシステムから前記オブジェクトのロケーション情報と前記複製のロケーション情報とが得られたとき、それらのうちいずれに基づいて照会応答を作成するか決定する処理をさらに有する、請求項50〜56のいずれか1項に記載の分散オブジェクト管理プログラム。 - クライアントからの要求を受信すると始めに該要求のプロトコルを識別する処理と、
該要求が所定のプロトコルでなければ、該要求をそのままサーバに転送する処理をさらに有する、請求項47〜57のいずれか1項に記載の分散オブジェクト管理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002211382A JP2004054607A (ja) | 2002-07-19 | 2002-07-19 | スイッチ装置、分散オブジェクト管理方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002211382A JP2004054607A (ja) | 2002-07-19 | 2002-07-19 | スイッチ装置、分散オブジェクト管理方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004054607A true JP2004054607A (ja) | 2004-02-19 |
Family
ID=31934637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002211382A Pending JP2004054607A (ja) | 2002-07-19 | 2002-07-19 | スイッチ装置、分散オブジェクト管理方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004054607A (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1805665A2 (en) * | 2004-09-30 | 2007-07-11 | Neopath Networks, Inc. | Storage policy monitoring for a storage network |
CN100369002C (zh) * | 2004-09-29 | 2008-02-13 | 日本电气株式会社 | 交换机装置和系统以及备份和还原方法 |
JP2008113340A (ja) * | 2006-10-31 | 2008-05-15 | Nec Access Technica Ltd | 情報処理システム及び情報処理方法、並びに情報処理プログラム |
JP2008186141A (ja) * | 2007-01-29 | 2008-08-14 | Hitachi Ltd | データ管理方法、データ管理プログラム、データ管理システム、および、構成管理装置 |
US7765217B2 (en) | 2004-12-16 | 2010-07-27 | Nec Corporation | System and method for managing and arranging data based on an analysis of types of file access operations |
US8131689B2 (en) | 2005-09-30 | 2012-03-06 | Panagiotis Tsirigotis | Accumulating access frequency and file attributes for supporting policy based storage management |
US8180843B2 (en) | 2003-04-24 | 2012-05-15 | Neopath Networks, Inc. | Transparent file migration using namespace replication |
JP2012100313A (ja) * | 2011-12-22 | 2012-05-24 | Telecom Italia Spa | 障害回復アーキテクチャ |
US8190741B2 (en) | 2004-04-23 | 2012-05-29 | Neopath Networks, Inc. | Customizing a namespace in a decentralized storage environment |
US8195627B2 (en) | 2004-04-23 | 2012-06-05 | Neopath Networks, Inc. | Storage policy monitoring for a storage network |
US8539081B2 (en) | 2003-09-15 | 2013-09-17 | Neopath Networks, Inc. | Enabling proxy services using referral mechanisms |
US8832697B2 (en) | 2005-06-29 | 2014-09-09 | Cisco Technology, Inc. | Parallel filesystem traversal for transparent mirroring of directories and files |
CN113824812A (zh) * | 2021-08-27 | 2021-12-21 | 济南浪潮数据技术有限公司 | 一种hdfs服务获取服务节点ip的方法、装置及存储介质 |
CN113873043A (zh) * | 2021-10-13 | 2021-12-31 | 国网湖北省电力有限公司咸宁供电公司 | 一种班组数字化管理系统 |
-
2002
- 2002-07-19 JP JP2002211382A patent/JP2004054607A/ja active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8180843B2 (en) | 2003-04-24 | 2012-05-15 | Neopath Networks, Inc. | Transparent file migration using namespace replication |
US8539081B2 (en) | 2003-09-15 | 2013-09-17 | Neopath Networks, Inc. | Enabling proxy services using referral mechanisms |
US8195627B2 (en) | 2004-04-23 | 2012-06-05 | Neopath Networks, Inc. | Storage policy monitoring for a storage network |
US8190741B2 (en) | 2004-04-23 | 2012-05-29 | Neopath Networks, Inc. | Customizing a namespace in a decentralized storage environment |
US8346826B2 (en) | 2004-09-29 | 2013-01-01 | Nec Corporation | Switch device, system, backup method and computer program |
CN100369002C (zh) * | 2004-09-29 | 2008-02-13 | 日本电气株式会社 | 交换机装置和系统以及备份和还原方法 |
JP2008515120A (ja) * | 2004-09-30 | 2008-05-08 | ネオパス ネットワークス,インク. | ストレージネットワーク用ストレージポリシーモニタリング |
EP1805665B1 (en) * | 2004-09-30 | 2018-03-28 | Cisco Technology, Inc. | Storage policy monitoring for a storage network |
EP1805665A2 (en) * | 2004-09-30 | 2007-07-11 | Neopath Networks, Inc. | Storage policy monitoring for a storage network |
US7765217B2 (en) | 2004-12-16 | 2010-07-27 | Nec Corporation | System and method for managing and arranging data based on an analysis of types of file access operations |
US8832697B2 (en) | 2005-06-29 | 2014-09-09 | Cisco Technology, Inc. | Parallel filesystem traversal for transparent mirroring of directories and files |
US8131689B2 (en) | 2005-09-30 | 2012-03-06 | Panagiotis Tsirigotis | Accumulating access frequency and file attributes for supporting policy based storage management |
JP2008113340A (ja) * | 2006-10-31 | 2008-05-15 | Nec Access Technica Ltd | 情報処理システム及び情報処理方法、並びに情報処理プログラム |
JP4633034B2 (ja) * | 2006-10-31 | 2011-02-16 | Necアクセステクニカ株式会社 | 情報処理システム及び情報処理方法、並びに情報処理プログラム |
JP2008186141A (ja) * | 2007-01-29 | 2008-08-14 | Hitachi Ltd | データ管理方法、データ管理プログラム、データ管理システム、および、構成管理装置 |
JP2012100313A (ja) * | 2011-12-22 | 2012-05-24 | Telecom Italia Spa | 障害回復アーキテクチャ |
CN113824812A (zh) * | 2021-08-27 | 2021-12-21 | 济南浪潮数据技术有限公司 | 一种hdfs服务获取服务节点ip的方法、装置及存储介质 |
CN113873043A (zh) * | 2021-10-13 | 2021-12-31 | 国网湖北省电力有限公司咸宁供电公司 | 一种班组数字化管理系统 |
CN113873043B (zh) * | 2021-10-13 | 2024-02-20 | 国网湖北省电力有限公司咸宁供电公司 | 一种班组数字化管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200218701A1 (en) | Consistent data storage in distributed computing systems | |
US7254636B1 (en) | Method and apparatus for transparent distributed network-attached storage with web cache communication protocol/anycast and file handle redundancy | |
US8190741B2 (en) | Customizing a namespace in a decentralized storage environment | |
US8180843B2 (en) | Transparent file migration using namespace replication | |
US8180747B2 (en) | Load sharing cluster file systems | |
US7720796B2 (en) | Directory and file mirroring for migration, snapshot, and replication | |
US7587422B2 (en) | Transparent file replication using namespace replication | |
US6947940B2 (en) | Uniform name space referrals with location independence | |
US7266556B1 (en) | Failover architecture for a distributed storage system | |
US8990270B2 (en) | Protocol virtualization for a network file system | |
US7716319B2 (en) | Computer system and method for managing log information | |
US7437479B2 (en) | Position identifier management apparatus and method, mobile computer, and position identifier processing method | |
US7035943B2 (en) | Web server content replication | |
US20030140051A1 (en) | System and method for virtualizing a distributed network storage as a single-view file system | |
JP4590105B2 (ja) | ウェブサーバコンテンツ複製 | |
JP2004054607A (ja) | スイッチ装置、分散オブジェクト管理方法およびプログラム | |
US7281168B1 (en) | Failover architecture for local devices that access remote storage | |
JP2003208365A (ja) | 適応ディスパッチャを有する仮想ネットワーク | |
JP2008515120A (ja) | ストレージネットワーク用ストレージポリシーモニタリング | |
JP2003203029A (ja) | スイッチ方法、装置およびプログラム | |
JP4588024B2 (ja) | 名前空間複製を用いるトランスペアレントなファイル移動 | |
JP4521278B2 (ja) | アクセス方法及びストレージ・システム | |
US20060168145A1 (en) | Method for creating a secure and reliable content distribution framework | |
US20070112791A1 (en) | Method and system for providing enhanced read performance for a supplemental directory | |
JP4217391B2 (ja) | 情報取得システム、情報処理装置、方法、プログラム及び媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20041213 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041213 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060913 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061108 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070110 |