(57)【要約】【課題】各サーバのソフトウェアをアップグレードすることなく、クライアント・サーバ・システムに新たな機能を容易に追加できるようにするスイッチを提供する。【解決手段】擬似ファイルシステム１３０は、サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理する。インターセプト判断手段１１０は、クライアントから受信した要求がオブジェクトを指定した照会要求であれば、それをサーバに転送せずインターセプトして照会要求解決手段１２０に送る。照会要求解決手段１２０は、インターセプト判断手段１１０から照会要求を受けると、照会要求により指定されたオブジェクトのロケーション情報を擬似ファイルシステム１３０に問い合わせる。そして、照会要求解決手段１２０は、擬似フィアルシステム１３０から取得したロケーション情報に基づいて作成した照会応答をクライアントに返送する。【選択図】　　　図２
2004054607.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのクライアントと、少なくとも１つのオブジェクトを管理する少なくとも１つのサーバとの間に論理的に配置され、クライアントからの要求を必要に応じてサーバに転送するスイッチ装置であって、
サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理する擬似ファイルシステムと、
クライアントからの要求を受信し、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトして照会要求解決手段に送るインターセプト判断手段と、
該インターセプト判断手段から前記照会要求を受けると、該照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせ、該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する照会要求解決手段とを有するスイッチ装置。
【請求項２】
前記擬似ファイルシステムは、クライアントまたはユーザ毎に、前記オブジェクトのロケーション情報を管理しており、
前記照会要求解決手段は、前記照会要求の送信元のクライアントまたはユーザを前記擬似ファイルシステムに通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムから取得する、請求項１記載のスイッチ装置。
【請求項３】
前記擬似ファイルシステムは、さらに、前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきオブジェクトか否かを管理しており、
前記インターセプト判断手段は、クライアントからの要求がオブジェクトを指定した照会要求であれば、該照会要求をインターセプトする前に、該照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムに問い合わせ、前記オブジェクトが照会応答すべきものであるとき、前記照会要求をインターセプトし前記照会要求解決手段に送る、請求項１または２記載のスイッチ装置。
【請求項４】
前記擬似ファイルシステムは、クライアントまたはユーザ毎に、前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきものか否かを管理しており、
前記インターセプト判断手段は、前記照会要求の送信元のクライアントまたはユーザを前記擬似ファイルシステムに通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムから取得する、請求項３記載のスイッチ装置。
【請求項５】
前記インターセプト判断手段から要求を受けると、該要求の送信元であるクライアントに、照会要求の送信を促す応答を返送する照会要求促進手段をさらに有し、
前記擬似ファイルシステムは、クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か管理しており、
前記インターセプト判断手段は、クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものか否か前記擬似ファイルシステムに問い合わせ、照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトして前記照会要求促進手段に送る、請求項１〜４のいずれか１項に記載のスイッチ装置。
【請求項６】
前記擬似ファイルシステムは、クライアントまたはユーザ毎に、前記要求により指定されるオブジェクトが、該要求の送信元であるクライアントに照会要求の送信を促すべきものであるか否か管理しており、
前記インターセプト判断手段は、前記要求の送信元のクライアントまたはユーザを前記擬似ファイルシステムに通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記要求により指定された前記オブジェクトが、照会要求の送信を促すべきものか否か前記擬似ファイルシステムから取得する、請求項５記載のスイッチ装置。
【請求項７】
共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係を管理するロケーション情報仮想化手段と、
サーバに転送する要求を前記インターセプト判断手段から受信し、該要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する仮想転送先選別手段をさらに有し、
前記擬似ファイルシステムは、前記照会要求解決手段からの問い合わせを受けると、前記照会要求により指定された前記オブジェクトのロケーション情報に対応した仮想的なロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、該仮想的なロケーション情報を前記照会要求解決手段に通知する、請求項１〜４のいずれか１項に記載のスイッチ装置。
【請求項８】
前記ロケーション情報仮想化手段は、クライアントまたはユーザ毎に、前記仮想的なロケーション情報と前記実際のロケーション情報の対応関係を管理しており、
前記仮想転送先選別手段は、前記インターセプト判断手段から受信した前記要求の送信元のクライアントまたはユーザを前記ロケーション情報仮想化手段に通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記要求の仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段から取得し、
前記擬似ファイルシステムは、前記照会要求の送信元であるクライアントまたはユーザを前記ロケーション情報仮想化手段に通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトのローション情報に対応した仮想的なロケーション情報を前記ロケーション情報仮想化手段から取得する、請求項７記載のスイッチ装置。
【請求項９】
前記ロケーション情報仮想化手段は、前記オブジェクトのロケーション情報に対応した前記仮想的なロケーション情報として自スイッチ装置のロケーション情報を記憶しており、
前記インターセプト判断手段は、前記クライアントからの要求の宛先が前記自スイッチ装置のロケーション情報であれば、該要求を前記仮想転送先選別手段に送る、請求項７記載のスイッチ装置。
【請求項１０】
自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が該自スイッチ装置と共に存在しており、
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第２の共有のつなぎ目の情報を管理している、請求項７〜９のいずれか１項に記載のスイッチ装置。
【請求項１１】
前記第２の共有のつなぎ目の情報に変更があると、該第２の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知する変更情報通知手段と、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させる変更情報反映手段とを有する、請求項１０記載のスイッチ装置。
【請求項１２】
自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が前記自スイッチ装置と共に存在しており、
前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか１つのスイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか２つのスイッチ装置にそれぞれ管理されているサーバ間の第２の共有のつなぎ目の情報を管理している、請求項７〜９のいずれか１項に記載のスイッチ装置。
【請求項１３】
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させる情報収集共有手段をさらに有する、請求項１２記載のスイッチ装置。
【請求項１４】
自スイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから他スイッチ装置に管理されているサーバへの第２の共有のつなぎ目の情報を管理している少なくとも１つの現用のスイッチ装置がある場合に、少なくとも１つの前記現用のスイッチ装置に対するフェイルオーバーのために備えられる予備用のスイッチ装置であって、
全てのフェイルオーバー対象の現用のスイッチ装置が管理している前記第１および第２の共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理しており、照会要求解決手段からの問い合わせを受けると、照会要求により指定されたオブジェクトのロケーション情報に対応した仮想的なロケーション情報をロケーション情報仮想化手段に問い合わせ、該仮想的なロケーション情報を前記照会要求解決手段に通知する擬似ファイルシステムと、
前記第１および第２の共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係を管理するロケーション情報仮想化手段と、
前記フェイルオーバー対象の現用のスイッチ装置から前記第１または第２の共有のつなぎ目に関する変更情報を通知されると、該変更情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させるフェイルオーバー用変更情報反映手段と、
前記フェイルオーバー対象の現用のスイッチ装置の故障を検出するモニタ手段と、
前記フェイルオーバー対象の現用のスイッチ装置の故障が前記モニタ手段により検出されると、故障したスイッチ装置の代わりに動作するように、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段を書き換えるフェイルオーバー手段と、
前記故障したスイッチ装置の代わりに動作するとき、クライアントからの要求を受信し、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトして照会要求解決手段に送るインターセプト判断手段と、
該インターセプト判断手段から前記照会要求を受けると、該照会要求により指定されたオブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせ、該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する照会要求解決手段と、
サーバに転送する要求を前記インターセプト判断手段から受信し、該要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する仮想転送先選別手段とを有するスイッチ装置。
【請求項１５】
前記自スイッチ装置および前記他スイッチ装置が互いに所定の順位のフェイルオーバー用の予備をも兼ねている場合、該他スイッチ装置の故障を検出するモニタ手段と、
前記自スイッチ装置の代わりに動作するスイッチ装置と前記他スイッチ装置の代わりに動作するスイッチ装置とこらら代わりに動作するスイッチ装置の順位を予め記憶している代替順位記憶手段と、
前記照会要求解決手段から前記クライアントに前記照会応答が送られるとき、該照会応答に含まれるロケーション情報に含まれるスイッチ装置に対するフェイルオーバーの予備のスイッチ装置および該予備のスイッチ装置の順位を前記代替順位記憶手段から取得し、前記照会応答に含まれるロケーション情報に含まれるスイッチ装置が故障したときの代替ロケーション情報として、前記予備のスイッチ装置および該予備のスイッチ装置の順位を含むロケーション情報を前記照会応答に付加する代替リダイレクト先通知手段と、
前記他スイッチ装置の故障が前記モニタ手段により検出され、かつ前記自スイッチ装置が該他スイッチ装置の代替として動作すべき順位にある場合、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段の情報を書き換えて、前記自スイッチ装置を前記他スイッチ装置の代替として動作させる非冗長フェイルオーバー手段とをさらに有する、請求項１２または１３記載のスイッチ装置。
【請求項１６】
前記自スイッチ装置が管理している少なくとも１つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出する故障検出手段と、
前記サーバの故障が前記故障検出手段に検出されると、故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新することにより、前記仮想転送先選別手段による前記要求の転送先を変更するサーバフェイルオーバー手段とをさらに有する、請求項７〜１５のいずれか１項に記載のスイッチ装置。
【請求項１７】
共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係を管理するロケーション情報仮想化手段と、
サーバに転送する要求を前記インターセプト判断手段から受信し、該要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する仮想転送先選別手段をさらに有し、
前記擬似ファイルシステムは、前記照会要求解決手段からの問い合わせを受けると、前記照会要求により指定された前記オブジェクトのロケーション情報に対応した仮想的なロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、該仮想的なロケーション情報を前記照会要求解決手段に通知する、請求項５または６記載のスイッチ装置。
【請求項１８】
前記ロケーション情報仮想化手段は、クライアントまたはユーザ毎に、前記仮想的なロケーション情報と前記実際のロケーション情報の対応関係を管理しており、
前記仮想転送先選別手段は、前記インターセプト判断手段から受信した前記要求の送信元のクライアントまたはユーザを前記ロケーション情報仮想化手段に通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記要求の仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段から取得し、
前記擬似ファイルシステムは、前記照会要求の送信元であるクライアントまたはユーザを前記ロケーション情報仮想化手段に通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトのローション情報に対応した仮想的なロケーション情報を前記ロケーション情報仮想化手段から取得する、請求項１７記載のスイッチ装置。
【請求項１９】
前記ロケーション情報仮想化手段は、前記オブジェクトのロケーション情報に対応した前記仮想的なロケーション情報として自スイッチ装置のロケーション情報を記憶しており、
前記インターセプト判断手段は、前記クライアントからの要求の宛先が前記自スイッチ装置のロケーション情報であれば、該要求を前記仮想転送先選別手段に送る、請求項１７記載のスイッチ装置。
【請求項２０】
自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が該自スイッチ装置と共に存在しており、
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第２の共有のつなぎ目の情報を管理している、請求項１７〜１９のいずれか１項に記載のスイッチ装置。
【請求項２１】
前記第２の共有のつなぎ目の情報に変更があると、該第２の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知する変更情報通知手段と、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させる変更情報反映手段とを有する、請求項２０記載のスイッチ装置。
【請求項２２】
自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が前記自スイッチ装置と共に存在しており、
前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか１つのスイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか２つのスイッチ装置にそれぞれ管理されているサーバ間の第２の共有のつなぎ目の情報を管理している、請求項１７〜１９のいずれか１項に記載のスイッチ装置。
【請求項２３】
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させる情報収集共有手段をさらに有する、請求項２２記載のスイッチ装置。
【請求項２４】
自スイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから他スイッチ装置に管理されているサーバへの第２の共有のつなぎ目の情報を管理している少なくとも１つの現用のスイッチ装置がある場合に、少なくとも１つの前記現用のスイッチ装置に対するフェイルオーバーのために備えられる予備用のスイッチ装置であって、
全てのフェイルオーバー対象の現用のスイッチ装置が管理している前記第１および第２の共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理しており、照会要求解決手段からの問い合わせを受けると、照会要求により指定されたオブジェクトのロケーション情報に対応した仮想的なロケーション情報をロケーション情報仮想化手段に問い合わせ、該仮想的なロケーション情報を前記照会要求解決手段に通知し、さらに、クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か管理している擬似ファイルシステムと、
前記第１および第２の共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係を管理するロケーション情報仮想化手段と、
前記フェイルオーバー対象の現用のスイッチ装置から前記第１または第２の共有のつなぎ目に関する変更情報を通知されると、該変更情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させるフェイルオーバー用変更情報反映手段と、
前記フェイルオーバー対象の現用のスイッチ装置の故障を検出するモニタ手段と、
前記フェイルオーバー対象の現用のスイッチ装置の故障が前記モニタ手段により検出されると、故障したスイッチ装置の代わりに動作するように、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段を書き換える冗長フェイルオーバー手段と、
前記故障したスイッチ装置の代わりに動作するとき、クライアントからの要求を受信し、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトして照会要求解決手段に送り、前記クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものか否か前記擬似ファイルシステムに問い合わせ、照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトして照会要求促進手段に送るインターセプト判断手段と、
該インターセプト判断手段から前記照会要求を受けると、該照会要求により指定されたオブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせ、該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する照会要求解決手段と、
サーバに転送する要求を前記インターセプト判断手段から受信し、該要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する仮想転送先選別手段と、
前記インターセプト判断手段から要求を受けると、該要求の送信元であるクライアントに、照会要求の送信を促す応答を返送する照会要求促進手段とを有するスイッチ装置。
【請求項２５】
前記自スイッチ装置および前記他スイッチ装置が互いに所定の順位のフェイルオーバー用の予備をも兼ねている場合、該他スイッチ装置の故障を検出するモニタ手段と、
前記自スイッチ装置の代わりに動作するスイッチ装置と前記他スイッチ装置の代わりに動作するスイッチ装置とこらら代わりに動作するスイッチ装置の順位を予め記憶している代替順位記憶手段と、
前記照会要求解決手段から前記クライアントに前記照会応答が送られるとき、該照会応答に含まれるロケーション情報に含まれるスイッチ装置に対するフェイルオーバーの予備のスイッチ装置および該予備のスイッチ装置の順位を前記代替順位記憶手段から取得し、前記照会応答に含まれるロケーション情報に含まれるスイッチ装置が故障したときの代替ロケーション情報として、前記予備のスイッチ装置および該予備のスイッチ装置の順位を含むロケーション情報を前記照会応答に付加する代替リダイレクト先通知手段と、
前記他スイッチ装置の故障が前記モニタ手段により検出され、かつ前記自スイッチ装置が該他スイッチ装置の代替として動作すべき順位にある場合、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段の情報を書き換えて、前記自スイッチ装置を前記他スイッチ装置の代替として動作させる非冗長フェイルオーバー手段とをさらに有する、請求項２２または２３記載のスイッチ装置。
【請求項２６】
前記照会要求促進手段は、前記第１および第２の共有のつなぎ目において前記クライアントに照会要求を促し、
前記照会要求解決手段は、前記第２の共有のつなぎ目を超える照会要求を受けると、前記他スイッチ装置に管理されているオブジェクトの情報を含む照会応答を前記クライアントに送る、請求項２０〜２３のいずれか１項に記載のスイッチ装置。
【請求項２７】
前記自スイッチ装置が管理している少なくとも１つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出する故障検出手段と、
前記サーバの故障が前記故障検出手段に検出されると、故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新することにより、前記仮想転送先選別手段による前記要求の転送先を変更するサーバフェイルオーバー手段とをさらに有する、請求項１７〜２６のいずれか１項に記載のスイッチ装置。
【請求項２８】
共有のつなぎ目の先頭でないオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成し、前記移動先のサーバへつながる共有のつなぎ目の情報を前記擬似フィアルシステムおよび前記ロケーション情報仮想化手段に作成し、作成された前記共有のつなぎ目を超える要求を送ったクライアントに対して照会要求の送信を促すように擬似ファイルシステムを更新する透過移動手段をさらに有する、請求項１７〜２７のいずれか１項に記載のスイッチ装置。
【請求項２９】
共有のつなぎ目の先頭にあるオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成し、前記共有のつなぎ目の実際のロケーション情報を前記複製の実際のロケーション情報に変更し、前記共有のつなぎ目を超える要求を送ったクライアントに対して照会要求の送信を促すように擬似ファイルシステムを更新する透過移動手段をさらに有する、請求項１７〜２７のいずれか１項に記載のスイッチ装置。
【請求項３０】
任意範囲内にあるオブジェクトを一括して移動させることがいずれかのクライアントから要求されたとき、該範囲内に共有のつなぎ目がある場合、該共有のつなぎ目以下のオブジェクトを移動せず、該共有のつなぎ目より上のオブジェクトのみを該要求に従って移動し、移動されたオブジェクトと移動されなかったオブジェクトがつながる様に前記擬似ファイルシステムの情報を更新するリンク張替え高速移動手段をさらに有する、請求項７〜２９いずれか１項に記載のスイッチ装置。
【請求項３１】
前記擬似ファイルシステムは、オブジェクトに少なくとも１つの複製がある場合、共有のつなぎ目において接続先となる前記オブジェクトのロケーション情報に加えて、前記共有のつなぎ目において前記オブジェクトのロケーション情報と同様に接続先となりうる前記複製のロケーション情報をも管理可能であり、
前記スイッチ装置は、オブジェクトの実体の複製を作成することが要求されると、前記オブジェクトの複製を作成し、前記複製のロケーション情報を前記擬似ファイルシステムに追加し、前記照会要求解決手段が前記擬似ファイルシステムに前記オブジェクトのロケーション情報を問い合わせたとき、前記オブジェクトのロケーション情報または前記複製のロケーション情報のうちいずれか１つに基づいて照会応答を作成するように前記照会要求解決手段に指示する複製作成および選択手段をさらに有する、請求項７〜３０のいずれか１項に記載のスイッチ装置。
【請求項３２】
オブジェクトおよび該オブジェクトの複製に対するアクセスに関する統計情報を取得しており、該統計情報に基づき、前記オブジェクトおよび前記複製から選択すべき１つを決定して前記複製作成および選択手段に通知する負荷分散手段をさらに有する、請求項３１記載のスイッチ装置。
【請求項３３】
前記オブジェクトと、該オブジェクトの複製とは互いに同一の内容に維持されている、請求項３１または３２記載のスイッチ装置。
【請求項３４】
前記インターセプト判断手段は、クライアントからの要求を受信すると始めに該要求のプロトコルを識別し、該要求が所定のプロトコルでなければ、該要求をそのままサーバに転送する、請求項１〜３３のいずれか１項に記載のスイッチ装置。
【請求項３５】
少なくとも１つのクライアントと、少なくとも１つのオブジェクトを管理する少なくとも１つのサーバとの間に論理的に配置され、クライアントからの要求を必要に応じてサーバに転送するスイッチ装置において前記オブジェクトを管理する分散オブジェクト管理方法であって、
サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を擬似ファイルシステムにて管理しておくステップと、
クライアントからの要求を受信したとき、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトするステップと、
インターセプトした前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせるステップと、
前記擬似ファイルシステムから得られた該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送するステップを有する分散オブジェクト管理方法。
【請求項３６】
前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきオブジェクトか否かを前記擬似ファイルシステムにて管理しておくステップと、
クライアントからの要求がオブジェクトを指定した照会要求であれば、該照会要求をインターセプトする前に、該照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムに問い合わせるステップと、
前記オブジェクトが照会応答すべきものであるときのみ、前記照会要求をインターセプトするステップをさらに有する、請求項３５記載の分散オブジェクト管理方法。
【請求項３７】
クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か前記擬似ファイルシステムにて管理しておくステップと、
クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものであるか否か前記擬似ファイルシステムに問い合わせるステップと、
前記オブジェクトが照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトするステップと、
インターセプトした前記要求の送信元である前記クライアントに、照会要求の送信を促す応答を返送するステップをさらに有する、請求項３５または３６記載の分散オブジェクト管理方法。
【請求項３８】
共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係をロケーション情報仮想化手段にて管理しておくステップと、
サーバに転送する要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせるステップと、
宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送するステップをさらに有し、
前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせたときに、前記擬似ファイルシステムから得られるロケーション情報は、実際のロケーション情報に対応して前記ロケーション情報仮想化手段にて管理されている仮想的なロケーション情報である、請求項３５〜３７のいずれか１項に記載の分散オブジェクト管理方法。
【請求項３９】
自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が該自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第２の共有のつなぎ目の情報を管理しており、
前記第２の共有のつなぎ目の情報に変更があると、該第２の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知するステップと、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させるステップとをさらに有する、請求項３８記載の分散オブジェクト管理方法。
【請求項４０】
自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が前記自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか１つのスイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか２つのスイッチ装置にそれぞれ管理されているサーバ間の第２の共有のつなぎ目の情報を管理しており、
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させるステップをさらに有する、請求項３８記載の分散オブジェクト管理方法。
【請求項４１】
自スイッチ装置が管理している少なくとも１つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出するステップと、故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新するステップをさらに有する、請求項３８〜４０のいずれか１項に記載の分散オブジェクト管理方法。
【請求項４２】
共有のつなぎ目の先頭でないオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成するステップと、
前記移動先のサーバへつながる共有のつなぎ目の情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に作成するステップと、
作成された前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促すステップをさらに有する、請求項３８〜４１のいずれか１項に記載の分散オブジェクト管理方法。
【請求項４３】
共有のつなぎ目の先頭にあるオブジェクト実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成するステップと、
前記共有のつなぎ目の実際のロケーション情報を前記複製の実際のロケーション情報に変更するステップと、
前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促すステップをさらに有する、請求項３８〜４２のいずれか１項に記載のスイッチ装置。
【請求項４４】
任意範囲内にあるオブジェクトを一括して移動させることがいずれかのクライアントから要求されたとき、該範囲内に共有のつなぎ目がある場合、該共有のつなぎ目以下のオブジェクトを移動せず、該共有のつなぎ目より上のオブジェクトのみを該要求に従って移動するステップと、
移動されたオブジェクトと移動されなかったオブジェクトがつながる様に前記擬似ファイルシステムの情報を更新するステップをさらに有する、請求項３８〜４３のいずれか１項に記載の分散オブジェクト管理方法。
【請求項４５】
前記擬似ファイルシステムは、オブジェクトに少なくとも１つの複製がある場合、共有のつなぎ目において接続先となる前記オブジェクトのロケーション情報に加えて、前記共有のつなぎ目において前記オブジェクトのロケーション情報と同様に接続先となりうる前記複製のロケーション情報をも管理可能であり、
オブジェクトの実体の複製を作成することが要求されると、前記オブジェクトの複製を作成するステップと、
前記複製のロケーション情報を前記擬似ファイルシステムに追加するステップと、
前記擬似ファイルシステムから前記オブジェクトのロケーション情報と前記複製のロケーション情報とが得られたとき、それらのうちいずれに基づいて照会応答を作成するか決定するステップをさらに有する、請求項３８〜４４のいずれか１項に記載の分散オブジェクト管理方法。
【請求項４６】
クライアントからの要求を受信すると始めに該要求のプロトコルを識別するステップと、
該要求が所定のプロトコルでなければ、該要求をそのままサーバに転送するステップをさらに有する、請求項３５〜４５のいずれか１項に記載の分散オブジェクト管理方法。
【請求項４７】
少なくとも１つのクライアントと、少なくとも１つのオブジェクトを管理する少なくとも１つのサーバとの間に論理的に配置され、クライアントからの要求を必要に応じてサーバに転送するスイッチ装置として動作するコンピュータに前記オブジェクトを管理させるための分散オブジェクト管理プログラムであって、
サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を擬似ファイルシステムにて管理しておく処理と、
クライアントからの要求を受信したとき、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトする処理と、
インターセプトした前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせる処理と、
前記擬似ファイルシステムから得られた該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する処理を有する分散オブジェクト管理プログラム。
【請求項４８】
前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきオブジェクトか否かを前記擬似ファイルシステムにて管理しておく処理と、
クライアントからの要求がオブジェクトを指定した照会要求であれば、該照会要求をインターセプトする前に、該照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムに問い合わせる処理と、
前記オブジェクトが照会応答すべきものであるときのみ、前記照会要求をインターセプトする処理をさらに有する、請求項４７記載の分散オブジェクト管理プログラム。
【請求項４９】
クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か前記擬似ファイルシステムにて管理しておく処理と、
クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものであるか否か前記擬似ファイルシステムに問い合わせる処理と、
前記オブジェクトが照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトする処理と、
インターセプトした前記要求の送信元である前記クライアントに、照会要求の送信を促す応答を返送する処理をさらに有する、請求項４７または４８記載の分散オブジェクト管理プログラム。
【請求項５０】
共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係をロケーション情報仮想化手段にて管理しておく処理と、
サーバに転送する要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせる処理と、
宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する処理をさらに有し、
前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせたときに、前記擬似ファイルシステムから得られるロケーション情報は、実際のロケーション情報に対応して前記ロケーション情報仮想化手段にて管理されている仮想的なロケーション情報である、請求項４７〜４９のいずれか１項に記載の分散オブジェクト管理プログラム。
【請求項５１】
自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が該自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第２の共有のつなぎ目の情報を管理しており、
前記第２の共有のつなぎ目の情報に変更があると、該第２の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知する処理と、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させる処理とをさらに有する、請求項５０記載の分散オブジェクト管理プログラム。
【請求項５２】
自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が前記自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか１つのスイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか２つのスイッチ装置にそれぞれ管理されているサーバ間の第２の共有のつなぎ目の情報を管理しており、
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させる処理をさらに有する、請求項５０記載の分散オブジェクト管理プログラム。
【請求項５３】
自スイッチ装置が管理している少なくとも１つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出する処理と、
故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新する処理をさらに有する、請求項５０〜５２のいずれか１項に記載の分散オブジェクト管理プログラム。
【請求項５４】
共有のつなぎ目の先頭でないオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成する処理と、
前記移動先のサーバへつながる共有のつなぎ目の情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に作成する処理と、
作成された前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促す処理をさらに有する、請求項５０〜５３のいずれか１項に記載の分散オブジェクト管理プログラム。
【請求項５５】
共有のつなぎ目の先頭にあるオブジェクト実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成する処理と、
前記共有のつなぎ目の実際のロケーション情報を前記複製の実際のロケーション情報に変更する処理と、
前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促す処理をさらに有する、請求項５０〜５４のいずれか１項に記載の分散オブジェクト管理プログラム。
【請求項５６】
任意範囲内にあるオブジェクトを一括して移動させることがいずれかのクライアントから要求されたとき、該範囲内に共有のつなぎ目がある場合、該共有のつなぎ目以下のオブジェクトを移動せず、該共有のつなぎ目より上のオブジェクトのみを該要求に従って移動する処理と、
移動されたオブジェクトと移動されなかったオブジェクトがつながる様に前記擬似ファイルシステムの情報を更新する処理をさらに有する、請求項５０〜５５のいずれか１項に記載の分散オブジェクト管理プログラム。
【請求項５７】
前記擬似ファイルシステムは、オブジェクトに少なくとも１つの複製がある場合、共有のつなぎ目において接続先となる前記オブジェクトのロケーション情報に加えて、前記共有のつなぎ目において前記オブジェクトのロケーション情報と同様に接続先となりうる前記複製のロケーション情報をも管理可能であり、
オブジェクトの実体の複製を作成することが要求されると、前記オブジェクトの複製を作成する処理と、
前記複製のロケーション情報を前記擬似ファイルシステムに追加する処理と、前記擬似ファイルシステムから前記オブジェクトのロケーション情報と前記複製のロケーション情報とが得られたとき、それらのうちいずれに基づいて照会応答を作成するか決定する処理をさらに有する、請求項５０〜５６のいずれか１項に記載の分散オブジェクト管理プログラム。
【請求項５８】
クライアントからの要求を受信すると始めに該要求のプロトコルを識別する処理と、
該要求が所定のプロトコルでなければ、該要求をそのままサーバに転送する処理をさらに有する、請求項４７〜５７のいずれか１項に記載の分散オブジェクト管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クライアントとサーバとの間に論理的に配置されるスイッチ装置に関し、特に、オブジェクトに関する処理を取り扱うクライアント・サーバ・システムに設けられ、各サーバのソフトウェアをアップグレードすることなく、システムに新しい機能を追加することを可能にするスイッチ装置に関する。
【０００２】
【従来の技術】
ネットワークに接続された複数のクライアントからのファイルアクセスを容易にするために、分散ファイルシステムが広く利用されている。分散ファイルシステムでは、ファイルやディレクトリなどオブジェクトは、例えば複数のサーバに分散して配置されている。そして、クライアントのアプリケーションは、オブジェクトの存在する位置をシステムに指示することなく所望のオブジェクトにアクセスすることができる。このようなシステムを、位置透過性を持ったシステムという。位置透過性を持ったシステムでは、クライアントのアプリケーションは、オブジェクトの位置、例えばローカルに存在するのか、それともリモートに存在するのかについて全く意識する必要が無い。
【０００３】
位置透過性を持ったシステムにおいて、ネットワーク上に分散されたファイルサーバの位置を突きとめて、そこにアクセス要求を送るのは、分散ファイルシステムに組み込まれたリダイレクタの役目である。リダイレクタは、アプリケーションと共にクライアントに備えられている。クライアントのアプリケーションがオブジェクト識別子を付加したアクセス要求をリダイレクタに送ると、リダイレクタはオブジェクトを管理しているファイルサーバにアクセス要求を振り分ける。ここでオブジェクト識別子とは、オブジェクトを特定するための名前のことであり、オブジェクト識別子としては、パスのようなシンボリック名、ビット列のようなシステム内部で取り扱われるバイナリ名、またはそれらの組み合わせなどが用いられる。
【０００４】
具体的には、リダイレクタは、アプリケーションからのアクセス要求に含まれるオブジェクト識別子を、オブジェクトを管理しているファイルサーバのポート情報とファイルサーバ向けのオブジェクト識別子とに変換する。そして、リダイレクタは、ファイルサーバ向けのオブジェクト識別子が付加されたアクセス要求をファイルサーバのポートに対して送る。ここで、ファイルサーバのポート情報とはファイルサーバの位置を示す情報であり、ファイルサーバのドメイン名やＩＰアドレス、あるいはサーバ上でファイルサービスを提供しているＴＣＰポート番号などのことである。また、ファイルサーバ向けのオブジェクト識別子とは、ファイルサーバがオブジェクトを特定するための名前のことである。ファイルサーバ向けのオブジェクト識別子は、アプリケーションが用いるオブジェクト識別子とは別個のものである。ファイルサーバのポート情報によりファイルサーバが特定され、ファイルサーバ向けのオブジェクト識別子によりそのファイルサーバ内のオブジェクトが特定される。したがって、アプリケーションはオブジェクト識別子を指定するだけで、ファイルサーバの位置を意識せずオブジェクトにアクセスすることができる。
【０００５】
以下、説明の都合上、オブジェクトを管理しているファイルサーバのポート情報とファイルサーバ向けのオブジェクト識別子を合わせてオブジェクトのロケーション情報と呼ぶことにする。また、オブジェクトのロケーション情報により識別される、オブジェクトの存在する位置をオブジェクトのロケーションと呼ぶことにする。
【０００６】
幾つかの分散ファイルシステムでは、リダイレクタは、オブジェクト識別子に対応するロケーション情報をファイルサーバに問い合わせて入手することができる。この機能は照会と呼ばれる。クライアントがロケーション情報を入手するためにファイルサーバに送る要求を照会要求と呼ぶ。照会要求として、例えば、ＣＩＦＳ（Ｃｏｍｍｏｎ　Ｉｎｔｅｒｎｅｔ　Ｆｉｌｅ　Ｓｙｓｔｅｍ）では「Ｇｅｔ　ＤＦＳ　Ｒｅｆｅｒｒａｌ」が挙げられ、ＮＦＳ（Ｎｅｔｗｏｒｋ　Ｆｉｌｅ　Ｓｙｓｔｅｍ）では「ｆｓ＿ｌｏｃａｔｉｏｎ属性のＧＥＴＡＴＴＲ」が挙げられる。
リダイレクタが、オブジェクト識別子を付加した照会要求をファイルサーバに送ると、ファイルサーバはそのオブジェクト識別子に対応するロケーション情報を照会応答としてリダイレクタに返す。
【０００７】
照会応答として、ＣＩＦＳでは、ファイルサーバは、サーバ名、共有パス、パスの未解決のコンポーネントなどを含むロケーション情報をクライアントに返す。また、照会応答として、ＮＦＳでは「ｆｓ＿ｌｏｃａｔｉｏｎ属性の応答」が挙げられ、その中にロケーション情報が含まれる。
【０００８】
このようにして、リダイレクタは、オブジェクト識別子とロケーション情報との対応の情報を取得する。そして、リダイレクタは、オブジェクト識別子とロケーション情報の対応の情報を一度、取得すると、それをキャッシュに一定時間だけ記録しておく。そのキャッシュが有効な間、リダイレクタは、照会要求をファイルサーバに送らず、キャッシュに記録した情報を用いてオブジェクト識別子をロケーション情報に変換する。
【０００９】
以上説明したような照会機能を用いることにより、分散ファイルシステムは単一名前空間機能および移動透過性を持つことが可能となる。以下、単一間名前空間機能および移動透過性のそれぞれについて説明する。
【００１０】
単一名前空間機能について以下に説明する。
【００１１】
単一名前空間機能とは、各ファイルサーバが管理しているツリー構造の名前空間をシームレスに繋ぎ合わせ、それらの名前空間をあたかも１つの名前空間（単一名前空間）のようにアプリケーションに提供する機能を指す。この場合、各ファイルサーバは、自身が管理する名前空間と、他のファイルサーバが管理する名前空間とを繋ぎ合わせるために、そのつなぎ目に関する情報を持っている。以下、このつなぎ目のことを共有のつなぎ目と呼ぶことにする。共有のつなぎ目は、自身が管理するオブジェクト群と他のファイルサーバが管理するオブジェクト群との境界を示しているとも言える。なお、共有とは、複数のサーバの名前空間を統合して、仮想的な単一名前空間を構成し、これをクライアントに提示する際に、各サーバが単一名前空間の構成要素として提供する共有フォルダやエキスポートなどのことである。
【００１２】
ファイルサーバは、クライアントから受信したアクセス要求（以下、要求▲１▼と称す）が共有のつなぎ目をまたいで他のファイルサーバが管理する名前空間の領域にあるオブジェクトを指定している場合、クライアントにオブジェクトのロケーション情報の照会要求を促すエラーコードを含む応答のメッセージを返す。照会要求を促すエラーメッセージとして、例えば、ＣＩＦＳでは「Ｐａｔｈ＿ｎｏｔ＿ｃｏｖｅｒｅｄ」が挙げられ、ＮＦＳでは「ＮＦＳ４ＥＲＲ＿ＭＯＶＥＤ」が挙げられる。
【００１３】
クライアントのリダイレクタは、照会要求を促すエラーコードをファイルサーバから受けると、オブジェクト識別子を付加した照会要求をファイルサーバに送る。ファイルサーバは照会要求を受けると、照会要求に示されたオブジェクトのロケーション情報を照会応答としてクライアントに返す。クライアントのリダイレクタは照会応答を受けると、照会応答に示されたロケーションに要求▲１▼を送り直す。この際、要求▲１▼の送り先のロケーションによっては、要求▲１▼を送り直す前に、新たなＴＣＰコネクションの設定、共有フォルダへの接続などの処理が必要に応じて行われる。このように、クライアントがエラーコードを受けてから、要求▲１▼を送り直して応答を受けるまで、一連の処理はアプリケーションから独立して行われる。そのため、複数のファイルサーバにより提供される複数の名前空間は、アプリケーションからは、あたかも巨大な１つの名前空間のように見える。例えば、ＣＩＦＳではこのようなことが行われている。
【００１４】
ＣＩＦＳにおけるファイルアクセスの概略の処理を示す。
【００１５】
クライアントから受信したＯＰＥＮ要求が、共有のつなぎ目をまたぐパス名を含むものであれば、ＣＩＦＳサーバはクライアントにエラーを返す。エラーを受けると、クライアントは「ＧＥＴ＿ＤＦＳ＿ＲＥＦＥＲＲＡＬ」という照会要求をＣＩＦＳサーバに送る。照会要求を受けると、ＣＩＦＳサーバはサーバの名前、共有パス、パスの未解決のコンポーネントなどを含むロケーション情報をクライアントに返す。ロケーション情報を受けると、クライアントは、それに示されたロケーションにＯＰＥＮ要求を送り直す。ＣＩＦＳの処理および動作の詳細については、ＮＦＳバイブル、アスキー、ＩＳＢＮ：４７５６１３９０１９、もしくは、ＳＮＩＡ　ＣＩＦＳ　Ｔｅｃｈｎｉｃａｌ　Ｒｅｆｅｒｅｎｃｅ　１．０、ｈｔｔｐ：／／ｗｗｗ．ｓｎｉａ．ｏｒｇ／Ｅｎｇｌｉｓｈ／Ｃｏｌｌａｔｅｒａｌｓ／Ｗｏｒｋ＿Ｇｒｏｕｐ＿Ｄｏｃｓ／ＮＡＳ／ＣＩＦＳ／ＣＩＦＳ＿Ｔｅｃｈｎｉｃａｌ＿Ｒｅｆｅｒｅｎｃｅ．ｐｄｆを参照されたい。
【００１６】
移動透過性について以下に説明する。
【００１７】
移動透過性を持ったシステムとは、管理者がクライアントに無断でオブジェクトを移動させても、オブジェクト識別子を変更なしでクライアントのアプリケーションがオブジェクトにアクセスできるシステムである。管理者がオブジェクトを移動させるとロケーション情報が変わる。移動透過性を持ったシステムでは、ロケーション情報が変わっても、オブジェクト識別子の組み込まれたアプリケーションは影響を受けず、そのまま動作する。リダイレクタは、アクセスすべきオブジェクトが管理者により移動された旨の情報を受けた場合や、アクセスの度重なる失敗などによりオブジェクトが移動されたと判断した場合、ファイルサーバに新しいロケーション情報を照会し、新しいロケーションへアクセスする。こうすることによりクライアントのアプリケーションは、内部に組み込まれたオブジェクト識別子を変えなくとも、移動後のオブジェクトにアクセスできる。
【００１８】
図５５は、従来のクライアント・サーバ・システムの一構成例を示すブロック図である。図５５に示すように、従来のクライアント・サーバ・システムでは、少なくとも１つのクライアント１１と、少なくとも１つのサーバ１４とがネットワーク２に接続されている。
【００１９】
ネットワーク２は、例えばＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）またはインターネット等である。
【００２０】
クライアント１１は、アプリケーション１１ａおよびリダイレクタ１１ｂを有している。
【００２１】
アプリケーション１１ａは、クライアント１１上で動作するアプリケーションプログラムである。アプリケーション１１ａは、サーバ１４によって管理されているオブジェクトに、リダイレクタ１１ｂを介してアクセスする。リダイレクタ１１ｂは、アプリケーション１１ａからオブジェクトへのアクセスを制御する。
【００２２】
サーバ１４は、クライアント１１によってアクセスされるオブジェクトを管理し、各クライアント１１にファイルサービスを提供する。ファイルサービスの例としては、ＮＦＳ、ＣＩＦＳなどが挙げられる。
【００２３】
サーバ１４は照会要求解決手段１４ａを有している。照会要求解決手段１４ａは、オブジェクトのロケーション情報の照会要求をクライアント１１から受けると、照会要求に示されたオブジェクト識別子に対応するロケーション情報を照会応答として返す。
【００２４】
図５６は、従来のクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。図５６を参照すると、まず、クライアント１１のアプリケーション１１ａは、オブジェクト識別子を付加してリダイレクタ１１ｂにアクセス要求を送る（ステップＳＡ１）。アプリケーション１１ａからアクセス要求を受けたリダイレクタ１１ｂは、アプリケーション１１ａにより付加されたオブジェクト識別子をロケーション情報に変換する（ステップＳＡ２）。そして、リダイレクタ１１ｂは、ファイルサーバ向けのオブジェクト識別子をアクセス要求に付加し、そのアクセス要求をファイルサーバのポートに対して送る（ステップＳＡ３）。
【００２５】
サーバ１４は、アクセス要求を受けると、ファイルサーバ向けのオブジェクト識別子から、クライアント１１がアクセスしたいオブジェクトを識別する（ステップＳＡ４）。次に、サーバ１４は、自身がそのオブジェクトを保持しているか否かを判定する（ステップＳＡ５）。上述した単一名前空間機能の提供を例にとると、ここでの判定は、オブジェクトが共有のつなぎ目をまたいだ先にあるか否か判定することに等しい。
【００２６】
自身がオブジェクトを保持している場合、サーバ１４は、アクセス要求を自身で処理する（ステップＳＡ６）。
【００２７】
自身がオブジェクトを保有していない場合、サーバ１４はクライアント１１にオブジェクトの新しいロケーション情報を知らせる必要がある。そのため、サーバ１４は、照会要求の発行を促すエラーコードを含む応答をクライアント１１に返す（ステップＳＡ７）。
【００２８】
クライアント１１のリダイレクタ１１ｂは、そのエラーコードを受けると、サーバ１４向けのオブジェクト識別子を付加した、照会要求をサーバ１４に送る（ステップＳＡ８）。サーバ１４は、クライアント１１から照会要求を受けると、オブジェクト識別子に対応するロケーション情報を照会応答としてクライアント１１に返す（ステップＳＡ９）。
【００２９】
照会応答を受けると、クライアント１１のリダイレクタ１１ｂは、照会応答に示されたロケーションにアクセス要求を送り直す（ステップＳＡ１０）。このアクセス要求は、アクセスされるべきオブジェクトを保持しているサーバ１４に送られる。アクセスされるべきオブジェクトを保持しているサーバ１４は、アクセス要求を受けると、それを処理する（ステップＳＡ１１）。なお、リダイレクタ１１ｂがアクセス要求を送り直すとき、その送り先のロケーションによっては、リダイレクタ１１ｂは新たなＴＣＰコネクションを設定したり、共有フォルダに新たに接続したりする処理が必要となる。これらの処理は必要に応じて行われる。
【００３０】
特開２００１−１１７８０８号公報には、従来のクライアント・サーバ・システムにおけるファイルアクセス方法の一例が示されている。特開２００１−１１７８０８号公報によれば、複数のサーバがディレクトリ構造の文書を分散管理している。そして、各サーバは、サーバの管理カテゴリのつなぎ目部分で、他のサーバへのロケーション情報をクライアントに渡す。クライアントは、そのロケーション情報に従ってアクセス先を変更（リダイレクト）する。
【００３１】
ここに示された方法は、複数のサーバにより管理されているツリー構造の複数の名前空間をシームレスに繋ぎ合せ、あたかも１つの名前空間であるかのように、クライアントのアプリケーションに提供する単一名前空間機能を実現している点で上述した従来方法（図５６参照）と類似している。ただし、ここに示された方法では、照会要求の促進および照会要求の解決というステップについて触れていない。照会要求の促進とは、エラー応答により照会要求を促す処理のことである。照会要求の解決とは、サーバが照会要求を受けて照会応答を返す処理のことである。
【００３２】
特表２００２−５０３００１号公報には、従来のクライアント・サーバ・システムにおけるファイルアクセス方法の他の例が示されている。特表２００２−５０３００１号公報によれば、クライアント・サーバ・システムは、クライアントとサーバの間で要求をインターセプトすることにより、プロキシサーバの負荷分散を図っている。ここに示された方法は、クライアントと基点サーバの間で、クライアントからの要求をインターセプトし、その要求に基づいてクライアントのリダイレクタに他のロケーション情報を示すというものである。
【００３３】
まず、クライアントから送られたリソースへの要求を、リフレクタ機構と呼ばれるプロキシサーバがインターセプトする。そして、そのプロキシサーバは、その要求を、リピータと呼ばれる他のプロキシサーバに反射する。これにより、基点サーバのＣＰＵ負荷の軽減（オフロード）、およびプロキシサーバ間の負荷分散が実現される。
【００３４】
特許第３１８４８０２号の明細書または図面には、従来のクライアント・サーバ・システムにおけるファイルアクセス方法の、さらに他の例が示されている。特許第３１８４８０２号によれば、多様なクライアント装置に応じるために、ウェブサーバはリソースをクライアント毎にカスタマイズする。
【００３５】
まず、クライアントからウェブサーバへの、ファイルを求める要求をインターセプトする。次に、その要求を解析してクライアントに関する表示機能情報を検出する。表示機能情報が検出されると、その表示機能情報に対応したユニフォーム・リソース・ロケータ（ＵＲＬ）に要求をリダイレクトする。これにより、クライアントは、自身の表示機能に合ったリソースを取得できる。
【００３６】
【発明が解決しようとする課題】
上述された従来の全てのファイルアクセス方法は、サーバに所定の機能が設けられていることを前提としており、そのサーバの機能（例えば照会要求解決手段１４ａ）に司られている。
【００３７】
このような従来のクライアント・サーバ・システムのファイルアクセス方法は以下に示すような問題を有している。
【００３８】
第１の問題は、照会要求を解決する手段に新しい機能を追加しにくいことである。照会要求解決手段に新たな機能を追加する場合、従来の構成では、全てのサーバのプログラムをアップグレードする必要がある。そのため、サーバ数の多いシステムでは、機能追加は費用および工数面で影響の大きい大規模プロジェクトになる。例えば、同じオブジェクト識別子を含む、各クライアントからの照会要求に対して、クライアント毎もしくはユーザ毎に異なるロケーション情報を応答する機能を追加することを考えてみる。そのためには全てのサーバの照会要求解決手段にその機能を追加すればよいが、全てのサーバの照会要求解決手段に機能を追加することが現実的には困難な場合がある。
【００３９】
第２の問題は、全てのサーバが所定の照会要求解決手段および照会要求促進手段を有する必要があることである。例えば、クライアントのリダイレクタと、サーバの照会要求解決手段および照会要求促進手段とにより、クライアント・サーバ・システムに移動透過性を持たせるには、全てのサーバが共通して、これら２つの手段を有する必要がある。
【００４０】
一般にサーバはクライアントに比べて高価であるため、長く使い続けられることが多く、システム内の全てのサーバが同じ機能をサポートするのは困難である。そのため、新しい機種のサーバと、古い機種のサーバとでサポートされる機能が異なることがある。
【００４１】
また、サーバのプログラムは、クライアントのプログラムに比べて種類が多く、仕様にバラツキがある。そのため、新しいサーバ同士でも同じ機能をサポートしないものがある。また、各機能がオプションとして扱われており、標準的に備えられていないことがある。
【００４２】
これらのことから、システム内の全てのサーバが、共通して所定の照会要求解決手段および照会要求促進手段を有するという状況を作るのは、現実的には困難な場合が多い。
【００４３】
従来技術の問題を解決するために、本発明は以下に示すような目的を有している。
【００４４】
本発明の第１の目的は、各サーバのソフトウェアをアップグレードすることなく、クライアント・サーバ・システムに新たな機能を容易に追加する手段を提供することである。この手段は、例えば、同じオブジェクト識別子を含む、各クライアントからの照会要求に対して、クライアント毎もしくはユーザ毎に異なるロケーション情報を応答する機能を容易に追加できる手段である。
【００４５】
本発明の第２の目的は、各サーバが照会要求解決手段および照会要求促進手段を有するか否かに関わらず、クライアント・サーバ・システムに移動透過性および統一名前空間機能を持たせる手段を提供することにある。
【００４６】
本発明の第３の目的は、通信のボトルネックを生じさせることなく、第１および第２の目的を達成することにある。
【００４７】
【課題を解決するための手段】
上記目的を達成するために、本発明のスイッチ装置は、少なくとも１つのクライアントと、少なくとも１つのオブジェクトを管理する少なくとも１つのサーバとの間に論理的に配置され、クライアントからの要求を必要に応じてサーバに転送するスイッチ装置であって、
サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理する擬似ファイルシステムと、
クライアントからの要求を受信し、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトして照会要求解決手段に送るインターセプト判断手段と、
該インターセプト判断手段から前記照会要求を受けると、該照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせ、該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する照会要求解決手段とを有している。
【００４８】
したがって、本発明によれば、クライアントとサーバの間に論理的に配置されたスイッチ装置が、サーバに代わって照会要求を解決するので、スイッチ装置の機能だけをアップグレードすれば新しい照会要求解決の機能を実現でき、各サーバのソフトウェアをアップグレードすることなく、システムに新しい機能を追加することができる。
【００４９】
例えば、クライアント毎もしくはユーザ毎に異なる名前空間を提供する機能を、サーバのソフトウェアをアップグレードすることなくシステムに追加することができる。
【００５０】
また、本発明によれば、インターセプト判断手段は、照会要求をインターセプトして解決するか否かを、オブジェクト識別子によってではなく要求の種類によって判断するため、スイッチ装置にとって非常に処理負荷が軽く、スイッチ装置の処理が通信のボトルネックとなりにくい。
【００５１】
オブジェクト識別子によって判断を行う場合、文字列を何らかのルールに従って処理していくことが求められるため重い処理となりがちである。これに対して、要求の種類は１〜２バイト程度のビット列から単純に判断できる。
【００５２】
また、本発明のスイッチ装置において、前記擬似ファイルシステムは、クライアントまたはユーザ毎に、前記オブジェクトのロケーション情報を管理しており、
前記照会要求解決手段は、前記照会要求の送信元のクライアントまたはユーザを前記擬似ファイルシステムに通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムから取得することとしてもよい。
【００５３】
また、本発明のスイッチ装置において、前記擬似ファイルシステムは、さらに、前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきオブジェクトか否かを管理しており、
前記インターセプト判断手段は、クライアントからの要求がオブジェクトを指定した照会要求であれば、該照会要求をインターセプトする前に、該照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムに問い合わせ、前記オブジェクトが照会応答すべきものであるとき、前記照会要求をインターセプトし前記照会要求解決手段に送ることとしてもよい。
【００５４】
したがって、クライアントとサーバの間に論理的に配置されたスイッチが、照会要求に含まれるオブジェクトが照会応答対象かどうかを判断し、照会要求が照会応答対象であった場合だけ、その照会要求を解決するので、スイッチ装置の機能だけで、オブジェクト毎に照会解決をするか否か判断する機能を実現できる。
【００５５】
スイッチ装置で解決されなかった照会要求は、サーバにて解決されることになるので、例えば、照会要求解決手段を持たないサーバに送られる照会要求だけをスイッチで応答することができる。また、セキュリティ的に問題のあるオブジェクトに対する照会要求だけスイッチ装置でユーザ毎に照会応答を解決したり、といったようなことができる。
【００５６】
また、本発明のスイッチ装置において、前記擬似ファイルシステムは、クライアントまたはユーザ毎に、前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきものか否かを管理しており、
前記インターセプト判断手段は、前記照会要求の送信元のクライアントまたはユーザを前記擬似ファイルシステムに通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムから取得することとしてもよい。
【００５７】
また、本発明のスイッチ装置において、前記インターセプト判断手段から要求を受けると、該要求の送信元であるクライアントに、照会要求の送信を促す応答を返送する照会要求促進手段をさらに有し、
前記擬似ファイルシステムは、クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か管理しており、
前記インターセプト判断手段は、クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものか否か前記擬似ファイルシステムに問い合わせ、照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトして前記照会要求促進手段に送ることとしてもよい。
【００５８】
したがって、クライアントとサーバの間に論理的に配置されたスイッチ装置が、要求が照会要求促進対象か否かを判断し、その要求が照会要求促進対象であった場合だけ、その要求をサーバに転送せず、クライアントに照会要求の発行を促すので、各サーバが照会要求解決手段および照会要求促進手段を持っているか否かにかかわらず、システムに移動透過性および統一名前空間機能を持たせることができる。
【００５９】
また、本発明のスイッチ装置において、前記擬似ファイルシステムは、クライアントまたはユーザ毎に、前記要求により指定されるオブジェクトが、該要求の送信元であるクライアントに照会要求の送信を促すべきものであるか否か管理しており、
前記インターセプト判断手段は、前記要求の送信元のクライアントまたはユーザを前記擬似ファイルシステムに通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記要求により指定された前記オブジェクトが、照会要求の送信を促すべきものか否か前記擬似ファイルシステムから取得することとしてもよい。
【００６０】
また、本発明のスイッチ装置において、共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係を管理するロケーション情報仮想化手段と、
サーバに転送する要求を前記インターセプト判断手段から受信し、該要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する仮想転送先選別手段をさらに有し、
前記擬似ファイルシステムは、前記照会要求解決手段からの問い合わせを受けると、前記照会要求により指定された前記オブジェクトのロケーション情報に対応した仮想的なロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、該仮想的なロケーション情報を前記照会要求解決手段に通知することとしてもよい。
【００６１】
したがって、クライアントとサーバの間に論理的に配置されたスイッチ装置が、仮想的なロケーション情報をクライアントに提供し、仮想的なロケーション情報を用いた、クライアントからの要求を実際のサーバのロケーションに転送するので、クライアントに対してサーバの実際のロケーション情報を隠すことができ、かつスイッチ装置を配置する位置の自由度が高い。
【００６２】
例えば、クライアントは、常にスイッチ装置のＩＰアドレスに対して要求を送るようになるので、スイッチ装置の物理的な位置を自由に選択できる。具体的には、クライアントからサーバへの要求が必ずスイッチ装置を通るようにするために、クライアントに対してスイッチ装置をプロキシとして指定したり、パケットのルーティング規則を設定する必要がない。
【００６３】
また、本発明のスイッチ装置において、前記ロケーション情報仮想化手段は、クライアントまたはユーザ毎に、前記仮想的なロケーション情報と前記実際のロケーション情報の対応関係を管理しており、
前記仮想転送先選別手段は、前記インターセプト判断手段から受信した前記要求の送信元のクライアントまたはユーザを前記ロケーション情報仮想化手段に通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記要求の仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段から取得し、
前記擬似ファイルシステムは、前記照会要求の送信元であるクライアントまたはユーザを前記ロケーション情報仮想化手段に通知して問い合わせることにより、該クライアントまたは該ユーザについて、前記照会要求により指定された前記オブジェクトのローション情報に対応した仮想的なロケーション情報を前記ロケーション情報仮想化手段から取得することとしてもよい。
【００６４】
また、本発明のスイッチ装置において、前記ロケーション情報仮想化手段は、前記オブジェクトのロケーション情報に対応した前記仮想的なロケーション情報として自スイッチ装置のロケーション情報を記憶しており、
前記インターセプト判断手段は、前記クライアントからの要求の宛先が前記自スイッチ装置のロケーション情報であれば、該要求を前記仮想転送先選別手段に送ることとしてもよい。
【００６５】
また、本発明のスイッチ装置において、自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が該自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第２の共有のつなぎ目の情報を管理しているとしてもよい。
【００６６】
したがって、本発明のスイッチ装置は他スイッチ装置と共に単一名前空間を構成し、自スイッチ装置に管理されているサーバ間の共有のつなぎ目を管理するだけでなく、他スイッチ装置に管理されているサーバとの共有のつなぎ目の情報を相互に管理するので、スイッチ装置を複数用いて単一名前空間をスイッチ装置毎のドメインに区切り、ドメイン間の共有のつなぎ目を相互に管理して、複数のスイッチ装置が連携動作することができるので、１台のスイッチ装置だけではボトルネックとなる性能を向上させることができる。
【００６７】
また、本発明のスイッチ装置において、前記第２の共有のつなぎ目の情報に変更があると、該第２の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知する変更情報通知手段と、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させる変更情報反映手段とを有するとしてもよい。
【００６８】
したがって、スイッチ装置は、共有のつなぎ目に関する情報のみを擬似ファイルシステムおよびロケーション情報仮想化手段にて管理し、他の部分に関する情報についてはサーバにある情報を利用することで、名前解決の処理を極力サーバに委譲し、擬似ファイルシステムおよびロケーション情報仮想化手段が記憶する情報を最小限にとどめているので、複数のスイッチ装置間での変更情報の通知および反映が容易であり、統一された単一名前空間の変更を高速に行うことができる。
【００６９】
また、本発明のスイッチ装置において、自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が前記自スイッチ装置と共に存在しており、
前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか１つのスイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか２つのスイッチ装置にそれぞれ管理されているサーバ間の第２の共有のつなぎ目の情報を管理しているとしてもよい。
【００７０】
また、本発明のスイッチ装置において、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させる情報収集共有手段をさらに有するとしてもよい。
【００７１】
また、本発明の予備用のスイッチ装置は、自スイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから他スイッチ装置に管理されているサーバへの第２の共有のつなぎ目の情報を管理している少なくとも１つの現用のスイッチ装置がある場合に、少なくとも１つの前記現用のスイッチ装置に対するフェイルオーバーのために備えられる予備用のスイッチ装置であって、
全てのフェイルオーバー対象の現用のスイッチ装置が管理している前記第１および第２の共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理しており、照会要求解決手段からの問い合わせを受けると、照会要求により指定されたオブジェクトのロケーション情報に対応した仮想的なロケーション情報をロケーション情報仮想化手段に問い合わせ、該仮想的なロケーション情報を前記照会要求解決手段に通知する擬似ファイルシステムと、
前記第１および第２の共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係を管理するロケーション情報仮想化手段と、
前記フェイルオーバー対象の現用のスイッチ装置から前記第１または第２の共有のつなぎ目に関する変更情報を通知されると、該変更情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させるフェイルオーバー用変更情報反映手段と、
前記フェイルオーバー対象の現用のスイッチ装置の故障を検出するモニタ手段と、
前記フェイルオーバー対象の現用のスイッチ装置の故障が前記モニタ手段により検出されると、故障したスイッチ装置の代わりに動作するように、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段を書き換えるフェイルオーバー手段と、
前記故障したスイッチ装置の代わりに動作するとき、クライアントからの要求を受信し、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトして照会要求解決手段に送るインターセプト判断手段と、
該インターセプト判断手段から前記照会要求を受けると、該照会要求により指定されたオブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせ、該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する照会要求解決手段と、
サーバに転送する要求を前記インターセプト判断手段から受信し、該要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせ、宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する仮想転送先選別手段とを有している。
【００７２】
したがって、本発明による予備用のスイッチ装置は、擬似ファイルシステムとロケーション情報仮想化手段の情報に基づいてスタンバイ機（予備）として機能するための冗長フェイルオーバー手段を有しているため、現用のスイッチ装置の故障などに対するシステムの信頼性を向上できる。
【００７３】
また、本発明のスイッチ装置において、前記自スイッチ装置および前記他スイッチ装置が互いに所定の順位のフェイルオーバー用の予備をも兼ねている場合、該他スイッチ装置の故障を検出するモニタ手段と、
前記自スイッチ装置の代わりに動作するスイッチ装置と前記他スイッチ装置の代わりに動作するスイッチ装置とこらら代わりに動作するスイッチ装置の順位を予め記憶している代替順位記憶手段と、
前記照会要求解決手段から前記クライアントに前記照会応答が送られるとき、該照会応答に含まれるロケーション情報に含まれるスイッチ装置に対するフェイルオーバーの予備のスイッチ装置および該予備のスイッチ装置の順位を前記代替順位記憶手段から取得し、前記照会応答に含まれるロケーション情報に含まれるスイッチ装置が故障したときの代替ロケーション情報として、前記予備のスイッチ装置および該予備のスイッチ装置の順位を含むロケーション情報を前記照会応答に付加する代替リダイレクト先通知手段と、
前記他スイッチ装置の故障が前記モニタ手段により検出され、かつ前記自スイッチ装置が該他スイッチ装置の代替として動作すべき順位にある場合、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段の情報を書き換えて、前記自スイッチ装置を前記他スイッチ装置の代替として動作させる非冗長フェイルオーバー手段とをさらに有するとしてもよい。
【００７４】
したがって、本発明の各スイッチ装置は自身の代替順位を管理して他のスイッチ装置の代替機として機能する非冗長フェイルオーバー手段を有するため、故障などに対する信頼性を安価に向上させることができる。
【００７５】
また、本発明のスイッチ装置において、前記自スイッチ装置が管理している少なくとも１つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出する故障検出手段と、
前記サーバの故障が前記故障検出手段に検出されると、故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新することにより、前記仮想転送先選別手段による前記要求の転送先を変更するサーバフェイルオーバー手段とをさらに有するとしてもよい。
【００７６】
したがって、本発明のスイッチ装置は、サーバの故障時に、クライアントからの要求の宛先であるリダイレクト先（仮想ロケーション情報）を変更することなく、故障したサーバへのリンク情報となっていた実際のロケーション情報を代替サーバのロケーション情報に変更することによりサーバのフェイルオーバーを実行するサーバフェイルオーバー手段を有するので、クライアントからの要求の送り先をクライアント透過に変更して、要求を代替サーバに送ることができる。また、そのためクライアントがフェイルオーバーに対応する機能を持っていなくてもよい。
【００７７】
また、本発明のスイッチ装置において、前記照会要求促進手段は、前記第１および第２の共有のつなぎ目において前記クライアントに照会要求を促し、
前記照会要求解決手段は、前記第２の共有のつなぎ目を超える照会要求を受けると、前記他スイッチ装置に管理されているオブジェクトの情報を含む照会応答を前記クライアントに送るとしてもよい。
【００７８】
また、本発明のスイッチ装置において、共有のつなぎ目の先頭でないオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成し、前記移動先のサーバへつながる共有のつなぎ目の情報を前記擬似フィアルシステムおよび前記ロケーション情報仮想化手段に作成し、作成された前記共有のつなぎ目を超える要求を送ったクライアントに対して照会要求の送信を促すように擬似ファイルシステムを更新する透過移動手段をさらに有するとしてもよい。
【００７９】
また、本発明のスイッチ装置において、共有のつなぎ目の先頭にあるオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成し、前記共有のつなぎ目の実際のロケーション情報を前記複製の実際のロケーション情報に変更し、前記共有のつなぎ目を超える要求を送ったクライアントに対して照会要求の送信を促すように擬似ファイルシステムを更新する透過移動手段をさらに有するとしてもよい。
【００８０】
したがって、本発明によるスイッチは、単一名前空間に変更を生じさせずに、再配置後のリソースのロケーションを仮想化するように擬似ファイルシステムおよびロケーション情報仮想化手段の情報を更新する透過移動手段を有するので、管理者が、単一名前空間をそのままに、かつクライアントを再設定したりリブートすることなく、負荷や容量を分散させる目的で、オブジェクト等のリソースをサーバに再配置できる。
【００８１】
また、本発明のスイッチ装置において、任意範囲内にあるオブジェクトを一括して移動させることがいずれかのクライアントから要求されたとき、該範囲内に共有のつなぎ目がある場合、該共有のつなぎ目以下のオブジェクトを移動せず、該共有のつなぎ目より上のオブジェクトのみを該要求に従って移動し、移動されたオブジェクトと移動されなかったオブジェクトがつながる様に前記擬似ファイルシステムの情報を更新するリンク張替え高速移動手段をさらに有するとしてもよい。
【００８２】
したがって、本発明によるスイッチ装置は、サーバ上の実体を移動することなく、そのリンク先のみを移動先へとつなぐように擬似ファイルシステムおよびロケーション情報仮想化手段の情報を更新するリンク張替え高速移動手段を有するので、クライアントからのオブジェクト等のリソース移動の要求を高速に実行できる。
【００８３】
また、本発明のスイッチ装置において、前記擬似ファイルシステムは、オブジェクトに少なくとも１つの複製がある場合、共有のつなぎ目において接続先となる前記オブジェクトのロケーション情報に加えて、前記共有のつなぎ目において前記オブジェクトのロケーション情報と同様に接続先となりうる前記複製のロケーション情報をも管理可能であり、
前記スイッチ装置は、オブジェクトの実体の複製を作成することが要求されると、前記オブジェクトの複製を作成し、前記複製のロケーション情報を前記擬似ファイルシステムに追加し、前記照会要求解決手段が前記擬似ファイルシステムに前記オブジェクトのロケーション情報を問い合わせたとき、前記オブジェクトのロケーション情報または前記複製のロケーション情報のうちいずれか１つに基づいて照会応答を作成するように前記照会要求解決手段に指示する複製作成および選択手段をさらに有するとしてもよい。
【００８４】
また、本発明のスイッチ装置において、オブジェクトおよび該オブジェクトの複製に対するアクセスに関する統計情報を取得しており、該統計情報に基づき、前記オブジェクトおよび前記複製から選択すべき１つを決定して前記複製作成および選択手段に通知する負荷分散手段をさらに有するとしてもよい。
【００８５】
したがって、本発明のスイッチ装置は、負荷分散先として指定されるリソース（複製）を複数のサーバ上に作成し、そのロケーションを擬似ファイルシステムおよびロケーション情報仮想化手段の情報として一貫して管理する複製作成および選択手段と、オリジナルおよび複製への負荷の分散を行う負荷分散手段を有するので、集中するアクセスを複数のサーバに振り分けて負荷分散する機能を容易に実装できる。
【００８６】
また、本発明のスイッチ装置において、前記オブジェクトと、該オブジェクトの複製とは互いに同一の内容に維持されているとしてもよい。
【００８７】
また、本発明のスイッチ装置において、前記インターセプト判断手段は、クライアントからの要求を受信すると始めに該要求のプロトコルを識別し、該要求が所定のプロトコルでなければ、該要求をそのままサーバに転送するとしてもよい。
【００８８】
本発明の分散オブジェクト管理方法は、少なくとも１つのクライアントと、少なくとも１つのオブジェクトを管理する少なくとも１つのサーバとの間に論理的に配置され、クライアントからの要求を必要に応じてサーバに転送するスイッチ装置において前記オブジェクトを管理する分散オブジェクト管理方法であって、サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を擬似ファイルシステムにて管理しておくステップと、
クライアントからの要求を受信したとき、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトするステップと、
インターセプトした前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせるステップと、
前記擬似ファイルシステムから得られた該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送するステップを有している。
【００８９】
本発明の分散オブジェクト管理方法において、前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきオブジェクトか否かを前記擬似ファイルシステムにて管理しておくステップと、
クライアントからの要求がオブジェクトを指定した照会要求であれば、該照会要求をインターセプトする前に、該照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムに問い合わせるステップと、
前記オブジェクトが照会応答すべきものであるときのみ、前記照会要求をインターセプトするステップをさらに有するとしてもよい。
【００９０】
また、本発明の分散オブジェクト管理方法において、クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か前記擬似ファイルシステムにて管理しておくステップと、
クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものであるか否か前記擬似ファイルシステムに問い合わせるステップと、
前記オブジェクトが照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトするステップと、
インターセプトした前記要求の送信元である前記クライアントに、照会要求の送信を促す応答を返送するステップをさらに有するとしてもよい。
【００９１】
また、本発明の分散オブジェクト管理方法において、共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係をロケーション情報仮想化手段にて管理しておくステップと、
サーバに転送する要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせるステップと、
宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送するステップをさらに有し、
前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせたときに、前記擬似ファイルシステムから得られるロケーション情報は、実際のロケーション情報に対応して前記ロケーション情報仮想化手段にて管理されている仮想的なロケーション情報であるとしてもよい。
【００９２】
また、本発明の分散オブジェクト管理方法において、自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が該自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第２の共有のつなぎ目の情報を管理しており、
前記第２の共有のつなぎ目の情報に変更があると、該第２の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知するステップと、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させるステップとをさらに有するとしてもよい。
【００９３】
また、本発明の分散オブジェクト管理方法において、自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が前記自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか１つのスイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか２つのスイッチ装置にそれぞれ管理されているサーバ間の第２の共有のつなぎ目の情報を管理しており、
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させるステップをさらに有するとしてもよい。
【００９４】
また、本発明の分散オブジェクト管理方法において、自スイッチ装置が管理している少なくとも１つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出するステップと、故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新するステップをさらに有するとしてもよい。
【００９５】
また、本発明の分散オブジェクト管理方法において、共有のつなぎ目の先頭でないオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成するステップと、
前記移動先のサーバへつながる共有のつなぎ目の情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に作成するステップと、
作成された前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促すステップをさらに有するとしてもよい。
【００９６】
また、本発明の分散オブジェクト管理方法において、共有のつなぎ目の先頭にあるオブジェクト実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成するステップと、
前記共有のつなぎ目の実際のロケーション情報を前記複製の実際のロケーション情報に変更するステップと、
前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促すステップをさらに有するとしてもよい。
【００９７】
また、本発明の分散オブジェクト管理方法において、任意範囲内にあるオブジェクトを一括して移動させることがいずれかのクライアントから要求されたとき、該範囲内に共有のつなぎ目がある場合、該共有のつなぎ目以下のオブジェクトを移動せず、該共有のつなぎ目より上のオブジェクトのみを該要求に従って移動するステップと、
移動されたオブジェクトと移動されなかったオブジェクトがつながる様に前記擬似ファイルシステムの情報を更新するステップをさらに有するとしてもよい。
【００９８】
また、本発明の分散オブジェクト管理方法において、前記擬似ファイルシステムは、オブジェクトに少なくとも１つの複製がある場合、共有のつなぎ目において接続先となる前記オブジェクトのロケーション情報に加えて、前記共有のつなぎ目において前記オブジェクトのロケーション情報と同様に接続先となりうる前記複製のロケーション情報をも管理可能であり、
オブジェクトの実体の複製を作成することが要求されると、前記オブジェクトの複製を作成するステップと、
前記複製のロケーション情報を前記擬似ファイルシステムに追加するステップと、
前記擬似ファイルシステムから前記オブジェクトのロケーション情報と前記複製のロケーション情報とが得られたとき、それらのうちいずれに基づいて照会応答を作成するか決定するステップをさらに有するとしてもよい。
【００９９】
また、本発明の分散オブジェクト管理方法において、クライアントからの要求を受信すると始めに該要求のプロトコルを識別するステップと、
該要求が所定のプロトコルでなければ、該要求をそのままサーバに転送するステップをさらに有するとしてもよい。
【０１００】
本発明の分散オブジェクト管理プログラムは、少なくとも１つのクライアントと、少なくとも１つのオブジェクトを管理する少なくとも１つのサーバとの間に論理的に配置されたコンピュータに、前記オブジェクトを管理させ、クライアントからの要求を必要に応じてサーバに転送させる分散オブジェクト管理プログラムであって、
サーバ間の共有のつなぎ目における接続先のオブジェクトのロケーション情報を擬似ファイルシステムにて管理しておく処理と、
クライアントからの要求を受信したとき、該要求がオブジェクトを指定した照会要求であれば、該照会要求をサーバに転送せずインターセプトする処理と、
インターセプトした前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせる処理と、
前記擬似ファイルシステムから得られた該ロケーション情報に基づいて作成した照会応答を前記クライアントに返送する処理を有している。
【０１０１】
また、本発明の分散オブジェクト管理プログラムにおいて、前記照会要求により指定されるオブジェクトが、前記スイッチ装置から照会応答すべきオブジェクトか否かを前記擬似ファイルシステムにて管理しておく処理と、
クライアントからの要求がオブジェクトを指定した照会要求であれば、該照会要求をインターセプトする前に、該照会要求により指定された前記オブジェクトが前記スイッチ装置から照会応答すべきものか否か前記擬似ファイルシステムに問い合わせる処理と、
前記オブジェクトが照会応答すべきものであるときのみ、前記照会要求をインターセプトする処理をさらに有する、請求項４７記載の分散オブジェクト管理プログラム。
【０１０２】
また、本発明の分散オブジェクト管理プログラムにおいて、クライアントからの要求により指定されるオブジェクトが、照会要求の送信を該クライアントに促すべきオブジェクトか否か前記擬似ファイルシステムにて管理しておく処理と、クライアントからの要求が照会要求でなければ、該要求により指定されたオブジェクトが、照会要求の送信を該クライアントに促すべきものであるか否か前記擬似ファイルシステムに問い合わせる処理と、
前記オブジェクトが照会要求の送信を促すべきものであれば、前記要求を前記サーバに転送せずインターセプトする処理と、
インターセプトした前記要求の送信元である前記クライアントに、照会要求の送信を促す応答を返送する処理をさらに有するとしてもよい。
【０１０３】
また、本発明の分散オブジェクト管理プログラムにおいて、共有のつなぎ目における接続先のオブジェクトのロケーション情報と、該ロケーション情報に対応した仮想的なロケーション情報との対応関係をロケーション情報仮想化手段にて管理しておく処理と、
サーバに転送する要求の宛先が仮想的なロケーション情報ならば、該仮想的なロケーション情報に対応した実際のロケーション情報を前記ロケーション情報仮想化手段に問い合わせる処理と、
宛先を該実際のロケーション情報に書き換えて前記要求をサーバに転送する処理をさらに有し、
前記照会要求により指定された前記オブジェクトのロケーション情報を前記擬似ファイルシステムに問い合わせたときに、前記擬似ファイルシステムから得られるロケーション情報は、実際のロケーション情報に対応して前記ロケーション情報仮想化手段にて管理されている仮想的なロケーション情報であるとしてもよい。
【０１０４】
また、本発明の分散オブジェクト管理プログラムにおいて、自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が該自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段は、前記自スイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置に管理されているサーバから前記他スイッチ装置に管理されているサーバへの第２の共有のつなぎ目の情報を管理しており、前記第２の共有のつなぎ目の情報に変更があると、該第２の共有のつなぎ目の接続先のサーバを管理している他スイッチ装置に変更情報を通知する処理と、
いずれかの他スイッチ装置から変更情報を通知されると、該変更情報を前記自スイッチ装置の前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に反映させる処理とをさらに有するとしてもよい。
【０１０５】
また、本発明の分散オブジェクト管理プログラムにおいて、自スイッチ装置以外のスイッチ装置である少なくとも１つの他スイッチ装置が前記自スイッチ装置と共に存在しており、前記擬似ファイルシステムおよびロケーション情報仮想化手段は、前記自スイッチ装置または前記他スイッチ装置のうちいずれか１つのスイッチ装置に管理されているサーバ同士の第１の共有のつなぎ目の情報と、前記自スイッチ装置または前記他スイッチ装置のうちいずれか２つのスイッチ装置にそれぞれ管理されているサーバ間の第２の共有のつなぎ目の情報を管理しており、
前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段により管理されている情報を、前記他スイッチ装置との間で相互に通知し合うことによって一致させる処理をさらに有するとしてもよい。
【０１０６】
また、本発明の分散オブジェクト管理プログラムにおいて、自スイッチ装置が管理している少なくとも１つのサーバに、該サーバに対するフェイルオーバー用の代替サーバが定められており、
前記自スイッチ装置が管理している前記サーバの故障を検出する処理と、
故障した前記サーバの実際のロケーション情報を前記代替サーバの実際のロケーション情報に書き換えて前記ロケーション情報仮想化手段の情報を更新する処理をさらに有するとしてもよい。
【０１０７】
また、本発明の分散オブジェクト管理プログラムにおいて、共有のつなぎ目の先頭でないオブジェクトの実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成する処理と、
前記移動先のサーバへつながる共有のつなぎ目の情報を前記擬似ファイルシステムおよび前記ロケーション情報仮想化手段に作成する処理と、
作成された前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促す処理をさらに有するとしてもよい。
【０１０８】
また、本発明の分散オブジェクト管理プログラムにおいて、共有のつなぎ目の先頭にあるオブジェクト実体のサーバ間をまたぐ移動が要求されると、移動先のサーバに前記オブジェクトの複製を作成する処理と、
前記共有のつなぎ目の実際のロケーション情報を前記複製の実際のロケーション情報に変更する処理と、
前記共有のつなぎ目を超える要求を送ってきたクライアントに対して照会要求の送信を促す処理をさらに有するとしてもよい。
【０１０９】
また、本発明の分散オブジェクト管理プログラムにおいて、任意範囲内にあるオブジェクトを一括して移動させることがいずれかのクライアントから要求されたとき、該範囲内に共有のつなぎ目がある場合、該共有のつなぎ目以下のオブジェクトを移動せず、該共有のつなぎ目より上のオブジェクトのみを該要求に従って移動する処理と、
移動されたオブジェクトと移動されなかったオブジェクトがつながる様に前記擬似ファイルシステムの情報を更新する処理をさらに有するとしてもよい。
【０１１０】
また、本発明の分散オブジェクト管理プログラムにおいて、前記擬似ファイルシステムは、オブジェクトに少なくとも１つの複製がある場合、共有のつなぎ目において接続先となる前記オブジェクトのロケーション情報に加えて、前記共有のつなぎ目において前記オブジェクトのロケーション情報と同様に接続先となりうる前記複製のロケーション情報をも管理可能であり、
オブジェクトの実体の複製を作成することが要求されると、前記オブジェクトの複製を作成する処理と、
前記複製のロケーション情報を前記擬似ファイルシステムに追加する処理と、前記擬似ファイルシステムから前記オブジェクトのロケーション情報と前記複製のロケーション情報とが得られたとき、それらのうちいずれに基づいて照会応答を作成するか決定する処理をさらに有するとしてもよい。
【０１１１】
また、本発明の分散オブジェクト管理プログラムにおいて、クライアントからの要求を受信すると始めに該要求のプロトコルを識別する処理と、
該要求が所定のプロトコルでなければ、該要求をそのままサーバに転送する処理をさらに有するとしてもよい。
【０１１２】
【発明の実施の形態】
本発明の様々な実施形態について図面を参照して詳細に説明する。
（第１の実施形態）
図１は、本発明の第１の実施形態によるクライアント・サーバ・システムの構成を示すブロック図である。図１に示すように、第１の実施形態のクライアント・サーバ・システムは、少なくとも１つ（図１では２つ）のクライアント１１と、少なくとも１つ（図１では２つ）のサーバ１４と、スイッチ１００とを有している。クライアント１１、サーバ１４およびスイッチ１００は、それぞれコンピュータで構成され、ネットワーク２に接続されている。ネットワーク２は、ＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）あるいはインターネット等である。
【０１１３】
クライアント１１は、アプリケーション１１ａおよびリダイレクタ１１ｂを有している。
【０１１４】
アプリケーション１１ａは、クライアント１１上で動作するアプリケーションプログラムである。アプリケーション１１ａは、サーバ１４に記憶されているオブジェクトにリダイレクタ１１ｂを介してアクセスする。リダイレクタ１１ｂはそのアクセスをリダイレクトする。
【０１１５】
サーバ１４は、クライアント１１によってアクセスされるオブジェクトを記憶し、管理し、各クライアント１１にファイルサービスを提供する。ファイルサービスの例としては、ＮＦＳ、ＣＩＦＳなどが挙げられる。
【０１１６】
スイッチ１００は、クライアント１１からサーバ１４へ何らかの処理を要求するメッセージ信号である要求が通るように配置される。一例として、スイッチ１００は、物理的にクライアント１１とサーバ１４の間に位置すればよい。また、図１では、スイッチ１００は物理的にはクライアント１１とサーバ１４との間に位置していないが、論理的にはクライアント１１とサーバ１４の間に置かれている。つまり、クライアント１１からサーバ１４へ全ての要求はスイッチ１００を経由する。このように、クライアント１１からサーバ１４への全ての要求が経由するスイッチ１００は、具体的には、例えばプロキシサーバ、ゲートウェイ、リバースプロキシサーバ、ロードバランサーなどである。
【０１１７】
図１のような構成では、クライアント１１からサーバ１４への要求をスイッチ１００に送るために、各クライアント１１に対してスイッチ１００をプロキシとして設定するか、クライアント１１からサーバ１４へのパケットが必ずスイッチ１００を通るようにルーティング規則を設定すればよい。
【０１１８】
スイッチ１００は、照会要求をクライアント１１から受けると、照会要求に示されたオブジェクト識別子に対応するロケーション情報を照会応答としてクライアント１１に返す。照会要求は、クライアントからサーバにオブジェクトのロケーションを問い合わせるためのメッセージ信号であるが、スイッチ１００は照会要求をインターセプトし、サーバに代わって処理する。照会要求以外の要求については、スイッチ１００は、それを処理せずサーバに転送する。
【０１１９】
図２は、本発明の第１の実施形態のスイッチ１００の構成を示すブロック図である。図２を参照すると、本実施形態のスイッチ１００は、インターセプト判断手段１１０、照会要求解決手段１２０および擬似ファイルシステム１３０を有している。
【０１２０】
インターセプト判断手段１１０は、スイッチ１００を通過するクライアント１１からの要求が、インターセプトすべきものであるか否か判定し、振り分ける。すなわち、インターセプト判断手段１１０は、クライアント１１からの要求が照会要求か否かを判定する。照会要求か否かの判定は、要求の中に含まれる種類を示す情報を調べることによって行われる。例えば、要求の種類を示すコマンド番号やコマンド名を調べる。
【０１２１】
スイッチ１００を通過する要求が照会要求でなければ、インターセプト判断手段１１０は、その要求をサーバ１４に転送する。
【０１２２】
スイッチ１００を通過する要求が照会要求であれば、インターセプト判断手段１００は、その照会要求をサーバ１４に転送せず、照会要求解決手段１２０に送る。
【０１２３】
また、インターセプト判断手段１１０は、照会要求であるか否か判断する前に、その要求のプロトコルを識別し、プロトコル毎に異なる処理を実行してもよい。例えば、インターセプト判断手段１１０は、その要求が所定のプロトコルでなければサーバ１４に転送し、所定のプロトコルであればその要求が照会要求であるか否か判断する。そして、インターセプト判断手段１１０は、その要求が照会要求でなければサーバ１４に転送し、照会要求であれば照会要求解決手段１２０に送る。
【０１２４】
例えば、スイッチ１００がプロキシサーバやゲートウェイである場合、特定のファイルサービスプロトコル以外のプロトコルの要求がスイッチ１００を通過することが考えられる。その場合、スイッチ１００は、特定のファイルサービスプロトコルの照会要求のみを照会要求解決手段１２０に送ることが好ましい。
【０１２５】
また、クライアント・サーバ・システムでは、クライアント１１とサーバ１４とでサポートするプロトコルのバージョンが異なる場合がある。その場合、インターセプト判断手段１１０は、スイッチ１００を通過する要求をサーバ１４に転送する前に、その要求をサーバ１４のサポートするバージョンに修正してもよい。例えば、クライアント１１が、クライアント１１と異なるバージョンのプロトコルをサポートするサーバ１４へアクセスすることを可能にするためにブリッジが設けられているシステムにおいて、そのブリッジが本実施形態のスイッチ１００として動作すればよい。
【０１２６】
照会要求解決手段１２０は、インターセプト判断手段１１０から照会要求を受けると、その照会要求に含まれるオブジェクト識別子を用いて、そのオブジェクト識別子で示されるオブジェクトのロケーション情報を擬似ファイルシステム１３０に問い合わせる。照会要求解決手段１２０は、擬似ファイルシステム１３０からロケーション情報を入手すると、その情報を照会応答としてクライアント１１に送る。
【０１２７】
擬似ファイルシステム１３０は、オブジェクト識別子とロケーション情報との対応を管理している。擬似ファイルシステム１３０は、照会要求解決手段１２０から、オブジェクト識別子に対応するロケーション情報について問い合わせを受けると、オブジェクト識別子に対応する少なくとも１つのロケーション情報を返す。
【０１２８】
擬似ファイルシステム１３０は、オブジェクト識別子とロケーション情報との対応関係を、クライアント１１毎またはユーザ毎に管理してもよい。その場合、照会要求解決手段１２０は、照会要求に含まれるオブジェクト識別子とクライアント識別子またはユーザ識別子とを用いて、擬似ファイルシステム１３０にオブジェクトのロケーション情報を問い合わせることとなる。擬似ファイルシステム１３０は、照会要求解決手段１２０から、ロケーション情報の問い合わせを受けると、そのクライアント１１もしくはユーザについて、そのオブジェクト識別子に対応するロケーション情報を返す。
【０１２９】
図３は、本発明の第１の実施形態によるクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。図３を参照すると、まず、クライアント１１はオブジェクト識別子を付加してサーバ１４−１にアクセス要求を送る（ステップＳＢ１）。
【０１３０】
スイッチ１００のインターセプト判断手段１１０は、スイッチ１００を通過する各要求が、オブジェクトを指定した照会要求か否か判定する（ステップＳＢ２）。その要求が、オブジェクトを指定した照会要求でなければ、インターセプト判断手段１１０は、その要求をサーバ１４−１に転送する（ステップＳＢ３）。サーバ１４−１はその要求を処理する（ステップＳＢ４）。インターセプト判断手段１１０は、スイッチ１００を通過する要求がオブジェクトを指定した照会要求であれば、その照会要求をサーバ１４−１に転送せず、照会要求解決手段１２０に送る。
【０１３１】
照会要求解決手段１２０は、インターセプト判断手段１１０から照会要求を受けると、照会要求に含まれるオブジェクト識別子を用いて、擬似ファイルシステム１３０にオブジェクトのロケーション情報を問い合わせる（ステップＳＢ５）。擬似ファイルシステム１３０からロケーション情報を入手すると、照会要求解決手段１２０は、そのロケーション情報を含む照会応答をクライアント１１に送る（ステップＳＢ６）。クライアント１１は、そのロケーション情報をスイッチ１００から受ける（ステップＳＢ７）。
【０１３２】
以上説明したように、本実施形態によれば、照会要求解決手段１２０が各クライアント１１および各サーバ１４に共通に用いられるスイッチ１００に設けられているので、スイッチ１００内の照会要求解決手段１２０の処理をアップグレードすることにより、全てのサーバ１４をアップグレードすることなく、クライアント・サーバ・システムに新しい機能を追加できる。
【０１３３】
例えば、各クライアントからの同じオブジェクト識別子を含む照会要求に対して、クライアント毎またはユーザ毎に異なるロケーション情報を返す機能を、サーバのソフトウェアをアップグレードすることなくシステムに追加できる。この機能を追加することにより、ファイルのツリー構造をクライアント毎またはユーザ毎にカスタマイズでき、また負荷分散を図ることができる。
【０１３４】
また、本実施形態によれば、インターセプト判断手段１１０は、スイッチ１００を通過する要求を照会要求解決手段１２０に送るか否か（すなわち照会要求として解決するか否か）を、処理負荷の重いオブジェクト識別子ではなく、処理負荷の軽い、要求の種類を見ることによって判定するため、スイッチ１００にかかる負荷を軽くすることができる。
【０１３５】
スイッチ１００を通過する要求を照会要求解決手段１２０に送るか否かオブジェクト識別子によって判定するためには、文字列を所定のルールに従って処理することが必要なため処理が重く、スイッチ１００における処理がクライアント１１とサーバ１４の間の通信のボトルネックになる恐れがある。これに対して、要求の種類は、１〜２バイト程度のビット列で示されているため容易に判定でき、通信のボトルネックにならない。
（第２の実施形態）
第２の実施形態によるクライアント・サーバ・システムは図１に示した第１の実施形態と同様の構成である。
【０１３６】
図４は、本発明の第２の実施形態のスイッチ１０１の構成を示すブロック図である。図４を参照すると、本実施形態のスイッチ１０１は、インターセプト判断手段１１１、照会要求解決手段１２０および擬似ファイルシステム１３１を有している。
【０１３７】
照会要求解決手段１２０は第１の実施形態と同じであり、インターセプト判断手段１１１および擬似ファイルシステム１３１は第１の実施形態と異なる。
【０１３８】
インターセプト判断手段１１１は、スイッチ１０１を通過するクライアント１１からの各要求がオブジェクトを指定した照会要求か否か判定する。スイッチ１０１を通過する要求がオブジェクトを指定した照会要求でなければ、インターセプト判断手段１１１は、その要求をサーバ１４に転送する。また、インターセプト判断手段１１１は、スイッチ１０１を通過する要求がオブジェクトを指定した照会要求であれば、その照会要求に含まれるオブジェクト識別子を用いて、擬似ファイルシステム１３１に、照会要求により指定されたオブジェクトが、照会応答対象か否かを問い合わせる。照会応答対象とは、照会要求により指定されたオブジェクトが、その照会要求を送ったクライアント１１に対してサーバ１４に代わってスイッチ１０１が照会応答すべきオブジェクトであることをいう。
【０１３９】
その照会要求が照会応答対象でなければ、インターセプト判断手段１１１は、その照会要求をサーバ１４に転送する。その照会要求が照会応答対象であれば、インターセプト判断手段１１１は、その照会要求をサーバ１４に転送せず、照会要求解決手段１２１に送る。
【０１４０】
擬似ファイルシステム１３１は、オブジェクト識別子とロケーション情報との対応だけでなく、照会要求により指定されるオブジェクトが照会応答対象か否かを管理している。すなわち、擬似ファイルシステム１３１は、照会要求により指定されたオブジェクトを、オブジェクト識別子毎に、照会応答対象か否か管理している。あるいは、擬似ファイルシステム１３１は、照会応答対象のオブジェクトのオブジェクト識別子と、そのオブジェクト識別子に対応するロケーション情報とを管理していてもよい。擬似ファイルシステム１３１は、インターセプト判断手段１１１から、オブジェクト識別子を用いて照会要求が照会応答対象か否かの問い合わせを受けると、オブジェクト識別子から照会要求が照会応答対象か否かを判断し、その結果をインターセプト判断手段１１１に返す。
【０１４１】
なお、擬似ファイルシステム１３１は、どのオブジェクト識別子に対する照会要求が照会応答対象かをクライアント１１毎またはユーザ毎に管理してもよい。その場合、インターセプト判断手段１１１は照会要求に含まれるオブジェクト識別子とクライアント識別子またはユーザ識別子とを用いて、擬似ファイルシステム１３１に照会要求が照会応答対象か否かを問い合わせる。擬似ファイルシステム１３１は、照会応答対象か否かの問い合わせを受けると、照会要求が照会応答対象か否か判断し、判断結果をインターセプト判断手段１１１に返す。
【０１４２】
図５は、本発明の第２の実施形態によるクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。図５を参照すると、まず、クライアント１１はオブジェクト識別子を付加したアクセス要求をサーバ１４−１に送る（ステップＳＢ１）。
【０１４３】
スイッチ１０１のインターセプト判断手段１１１は、スイッチ１０１を通過する各要求がオブジェクトを指定した照会要求か否か判定する（ステップＳＢ２）。その要求がオブジェクトを指定した照会要求でなければ、インターセプト判断手段１１１は、その要求をサーバに転送する（ステップＳＢ３）。サーバ１４はその要求を処理する（ステップＳＢ４）。
【０１４４】
インターセプト判断手段１１１は、スイッチ１０１を通過する要求がオブジェクトを指定した照会要求であれば、その照会要求に含まれるオブジェクト識別子を用いて、照会要求が照会応答対象か否か擬似ファイルシステム１３１に問い合わせる（ステップＳＣ１）。擬似ファイルシステム１３１から得られた結果から、インターセプト判断手段１１１は、照会要求が照会応答対象か否か判定する（ステップＳＣ２）。
【０１４５】
照会要求が照会応答対象でなければ、インターセプト判断手段１１１は、照会要求をサーバ１４に転送する（ＳＣ３）。サーバ１４は、その照会要求を処理する（ステップＳＣ４）。
【０１４６】
照会要求が照会応答対象であれば、インターセプト判断手段１１１は、照会要求をサーバ１４に転送せず、照会要求解決手段１２０に送る。
【０１４７】
その後の動作は、図３に示した第１の実施形態と同じである（ステップＳＢ５〜ＳＢ７）。
【０１４８】
以上説明したように、本実施形態によれば、照会要求をスイッチ１０１の照会要求解決手段１２０にて解決するか否かをインターセプト判断手段１１１によってオブジェクト毎に選択できるので、スイッチ１０１にて解決するか否かをオブジェクト毎に区別することにより、様々なサーバやオブジェクトが混在する既存のシステムに本発明を容易に適合させることができる。例えば、セキュリティ性の要求されるオブジェクトに対する照会要求をスイッチ１０１でユーザ毎に解決することにより、不明なユーザからのアクセスを排除することができる。また、例えば、照会要求解決手段を有するサーバとそれを有しないサーバとが混在するシステムにおいて、照会要求解決手段を有しないサーバへの照会要求のみをスイッチ１０１で解決することができる。これにより、クライアントは全てのサーバに対して照会要求を送ることが可能となる。
（第３の実施形態）
第３の実施形態によるクライアント・サーバ・システムは図１に示した第１の実施形態と同様の構成である。
【０１４９】
図６は、本発明の第３の実施形態のスイッチ１０２の構成を示すブロック図である。図６を参照すると、本実施形態のスイッチ１０２は、インターセプト判断手段１１２、照会要求解決手段１２０、擬似ファイルシステム１３２および照会要求促進手段１４０を有している。
【０１５０】
照会要求解決手段１２０は第１の実施形態と同じであり、インターセプト判断手段１１２および擬似ファイルシステム１３２は第１の実施形態と異なる。また、第３の実施形態のスイッチ１０２は第１の実施形態に無い照会要求促進手段１４０を有する。
【０１５１】
インターセプト判断手段１１２は、スイッチ１０２を通過するクライアント１１からの各要求がオブジェクトを指定した照会要求か否か判定する。スイッチ１０２を通過する要求が照会要求でなければ、インターセプト判断手段１１２は、その要求により指定されたオブジェクトが照会要求促進対象か否か、擬似ファイルシステム１３２に問い合わせる。そのオブジェクトが照会要求促進対象でなければ、インターセプト判断手段１１２は、その要求をサーバ１４に転送する。そのオブジェクトが照会要求促進対象であれば、インターセプト判断手段１１２は、その要求をサーバ１４に転送せず、照会要求促進手段１４０に送る。照会要求促進対象とは、要求により指定されたオブジェクトが、クライアントに照会要求を行うことを促すべきオブジェクトであることをいう。具体的には、要求の送信先のサーバにそのオブジェクトが存在しない場合が考えられる。
【０１５２】
擬似ファイルシステム１３２は、オブジェクト識別子とロケーション情報との対応だけでなく、どのオブジェクト識別子に対する要求が照会要求促進対象かを管理している。インターセプト判断手段１１２から、オブジェクト識別子を用いた照会要求促進対象か否かの問い合わせを受けると、擬似ファイルシステム１３２は、オブジェクト識別子に対する要求が照会要求促進対象か否か判定し、判定結果をインターセプト判断手段１１２に返す。
【０１５３】
照会要求促進手段１４０は、インターセプト判断手段１１２から要求を受けると、クライアント１１に照会要求の発行を促すエラーコードを送る。このエラーコードを受信したクライアント１１は、要求に指定していたオブジェクトを指定して照会要求をサーバに向けて送る。
【０１５４】
擬似ファイルシステム１３２は、どのオブジェクト識別子に対する要求が照会要求促進対象かをクライアント１１毎またはユーザ毎に管理してもよい。その場合、インターセプト判断手段１１２は、オブジェクト識別子とクライアント識別子またはユーザ識別子とを用いて、要求が照会要求促進対象か否かを擬似ファイルシステム１３２に問い合わせる。擬似ファイルシステム１３２は、その要求が照会要求促進対象か否かの問い合わせを受けると、照会要求促進対象か否か判断し、判断結果をインターセプト判断手段１１２に返す。
【０１５５】
図７は、本発明の第３の実施形態によるクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。図７を参照すると、まず、クライアント１１はオブジェクト識別子を付加してサーバ１４−１にアクセス要求を送る（ステップＳＢ１）。
【０１５６】
スイッチ１０２のインターセプト判断手段１１２は、スイッチ１０２を通過する各要求が照会要求か否か判定する（ステップＳＢ２）。その要求が照会要求でなければ、その要求に含まれるオブジェクト識別子を用いて、その要求が照会要求促進対象か否か擬似ファイルシステム１３２に問い合わせる（ステップＳＤ１）。
【０１５７】
擬似ファイルシステム１３２から得られた結果から、インターセプト判断手段１１２は、その要求が照会促進対象か否か判断する（ステップＳＤ２）。
【０１５８】
その要求が照会要求促進対象でなければ、その要求をサーバ１４−１に転送する（ステップＳＤ３）。サーバ１４−１は、その要求を処理する（ステップＳＤ４）。ステップＳＤ２の判定で、要求が照会要求促進対象であれば、インターセプト判断手段１１２は、その要求を照会要求促進手段１４０に送る。
【０１５９】
照会要求促進手段１４０は、インターセプト判断手段１１２から要求を受けると、クライアント１１に照会要求の発行を促すエラーコードを送る（ステップＳＤ５）。クライアント１１は、そのエラーコードを受け取る（ステップＳＤ６）。これにより、クライアント１１は照会要求を行うべきであることを知る。
【０１６０】
ステップＳＢ２の判定で、要求が照会要求であれば、その後の動作は、図３に示した第１の実施形態と同じである（ステップＳＢ５〜ＳＢ７）。
【０１６１】
以上説明したように、本実施形態によれば、インターセプト判断手段１１２がクライアントからの要求が照会要求促進対象か否か判定し、照会要求促進対象であれば、照会要求促進手段１４０が照会要求の発行を促すエラーコードをクライアントに送るので、各サーバが照会要求促進手段を持っていなくとも、クライアント・サーバ・システムに移動透過性および単一名前空間機能を持たせることができる。
（第４の実施形態）
第４の実施形態によるクライアント・サーバ・システムは図１に示した第１の実施形態と同様の構成であってもよいが、それに限定されない。第４の実施形態のクライアント・サーバ・システムでは、クライアントは、全てのサーバに対する要求を、スイッチを宛先として送信するので、スイッチはどこに配置されてもよく、接続される位置に制限がない。
【０１６２】
図８は、本発明の第４の実施形態のスイッチ１０３の構成を示すブロック図である。図８を参照すると、本実施形態のスイッチ１０３は、インターセプト判断手段１１３、照会要求解決手段１２０、擬似ファイルシステム１３３および仮想転送先選別手段１５０を有している。
【０１６３】
照会要求解決手段１２０は第１の実施形態と同じであり、インターセプト判断手段１１３および擬似ファイルシステム１３３は第１の実施形態と異なる。擬似ファイルシステム１３３は、ロケーション情報仮想化手段１３５を有している。また、第４の実施形態のスイッチ１０３は第１の実施形態に無い仮想転送先選別手段１５０を有している。
【０１６４】
第４の実施形態では、クライアント１１は常にスイッチ１０３のＩＰアドレスに対して要求を送るので、上述したように第１の実施形態と比べてスイッチ１０３の配置の自由度が高い。また、第４の実施形態では、クライアント１１に対してスイッチ１０３をプロキシとして設定したり、クライアント１１からサーバ１４への要求が必ずスイッチ１０３を通過するようにパケットのルーティング規則を設定する必要も無い。
【０１６５】
インターセプト判断手段１１３は、クライアント１１からスイッチ１０３に宛てられた各要求が、オブジェクトを指定した照会要求か否か判定する。照会要求か否かの判定は、要求の種類を調べることによって行われる。例えば、要求の種類を示すコマンド番号やコマンド名を調べればよい。
【０１６６】
スイッチ１０３に届いた要求が照会要求でなければ、インターセプト判断手段１１３は、その要求を仮想転送先選別手段１５０に送る。また、その要求が照会要求であれば、インターセプト判断手段１１３は、その照会要求を照会要求解決手段１２０に送る。
【０１６７】
ロケーション情報仮想化手段１３５は、ロケーション情報と仮想ロケーション情報との対応を管理している。ここで、仮想ロケーション情報とは、第１の実施形態において用いられた実際のロケーション情報（以下、実ロケーション情報と称す）ではなく、実ロケーション情報をクライアントに開示しないために、その代わりに用いる仮想的なロケーション情報である。したがって、仮想ロケーション情報と実ロケーション情報とは対応している。仮想ロケーション情報は、スイッチ１０３がクライアント１１に対して提供する仮想的なポート情報と仮想的なオブジェクト識別子とから構成される。スイッチ１０３のＩＰアドレスおよびポート番号を仮想的なポート情報として仮想ロケーション情報に含めれば、全てのサーバに対する要求がスイッチ１０３に届くようになる。なお、ここでは、ロケーション情報仮想化手段１３５が擬似ファイルシステム１３３に含まれている構成を例示しているが、本発明はこの構成に限定されるものではない。ロケーション情報仮想化手段１３５が擬似ファイルシステム１３３の外部にあってもよい。
【０１６８】
擬似ファイルシステム１３３から実ロケーション情報を用いた仮想ロケーション情報の問い合わせを受けると、ロケーション情報仮想化手段１３５は、擬似ファイルシステム１３３に仮想ロケーション情報を返す。また、擬似ファイルシステム１３３から仮想ロケーション情報を用いた実ロケーション情報の問い合わせを受けると、ロケーション情報仮想化手段１３５は、擬似ファイルシステム１３０に実ロケーション情報を返す。
【０１６９】
擬似ファイルシステム１３３は、オブジェクト識別子と実ロケーション情報との対応を管理する。また、擬似ファイルシステム１３３は、ロケーション情報仮想化手段１３５に問い合わせることにより、実ロケーション情報と仮想ロケーション情報の相互変換を行う。
【０１７０】
照会要求解決手段１２０から、オブジェクト識別子によるロケーション情報の問い合わせを受けると、擬似ファイルシステム１３３は、オブジェクト識別子に対応する少なくとも１つの実ロケーション情報を求め、その実ロケーション情報に対応する仮想ロケーション情報をロケーション情報仮想化手段１３５に問い合わせる。ロケーション情報仮想化手段１３５から仮想ロケーション情報を入手すると、擬似ファイルシステム１３３は、その仮想ロケーション情報を含む応答を照会要求解決手段１２０に返す。
【０１７１】
また、擬似ファイルシステム１３３は、仮想転送先選別手段１５０から、仮想ロケーション情報に対応する実ロケーション情報の問い合わせを受けると、ロケーション情報仮想化手段１３５に仮想ロケーション情報に対応する実ロケーション情報を問い合わせる。ロケーション情報仮想化手段１３５から実ロケーション情報を入手すると、その情報を含む応答を仮想転送先選別手段１５０に返す。
【０１７２】
仮想転送先選別手段１５０は、インターセプト判断手段１１０から要求を受けると、まず、その要求の宛先であるロケーション情報が仮想ロケーション情報であるか否か判定する。ロケーション情報が仮想ロケーション情報であれば、仮想転送先選別手段１５０は、その仮想ロケーション情報に対応する実ロケーション情報を擬似ファイルシステム１３３に問い合わせる。擬似ファイルシステム１３３から実ロケーション情報を入手すると、要求に含まれるロケーション情報を実ロケーション情報に書き換えて、その実ロケーション情報を宛先として要求を転送する。ロケーション情報が仮想的でなければ、つまり実ロケーション情報であれば、そのまま要求を転送する。なお、ここでは、ロケーション情報仮想化手段１３５が擬似ファイルシステム１３３含まれた構成を前提としているため、仮想転送先選別手段１５０が擬似ファイルシステム１３３を介してロケーション情報仮想化手段１３５へ問い合わせを行う例を示した。しかし、本発明はこれに限定されず、仮想転送先選別手段１５０がロケーション情報仮想化手段に直接問い合わせを行うこととしてもよい。
【０１７３】
図９は、本発明の第４の実施形態のクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。図９を参照すると、まず、クライアント１１はオブジェクト識別子を付加してサーバ１４−１にアクセス要求を送る（ステップＳＢ１）。
【０１７４】
スイッチ１０３のインターセプト判断手段１１３は、スイッチ１０３に届いた各要求がサーバ１４−１に対する、オブジェクトを指定した照会要求か否か判定する（ステップＳＢ２）。その要求が照会要求でなければ、インターセプト判断手段１１３は、その要求を仮想転送先選別手段１５０に送る。
【０１７５】
仮想転送先選別手段１５０は、インターセプト判断手段１１３から要求を受けると、その要求の宛先が仮想ロケーション情報によって示されているか否か判定する（ステップＳＥ１）。宛先が仮想ロケーション情報であれば、仮想転送先選別手段１５０は、仮想ロケーション情報を用いて、擬似ファイルシステム１３３に実ロケーション情報を問い合わせる（ステップＳＥ２）。そして、仮想転送先選別手段１５０は、その要求に宛先として含まれるロケーション情報（すなわち、仮想ロケーション情報であり、仮想的なオブジェクト識別子を含む）を、擬似ファイルシステム１３３から得られた実ロケーション情報に書き換える（ステップＳＥ３）。次に、仮想転送先選別手段１５０は、そのロケーションに要求を転送する（ステップＳＥ４）。要求を受けたサーバ１４は、その要求を処理する（ステップＳＥ５）。
【０１７６】
ステップＳＢ２の判定で、要求が照会要求であれば、その後の動作は、図３に示した第１の実施形態と同様である（ステップＳＢ５〜ＳＢ７）。ただし、擬似ファイルシステム１３５はロケーション情報仮想化手段１３５を有するので、照会要求解決手段１２０からクライアント１１に通知されるロケーション情報は仮想ロケーション情報である。
【０１７７】
以上説明したように、本実施形態によれば、スイッチ１０３とクライアント１１の間で仮想ロケーション情報を用い、ロケーション情報仮想化手段１３５にてロケーション情報と仮想ロケーション情報の変換をするので、オブジェクトの実際のロケーションをクライアント１１に隠すことができ、本実施形態のクライアント・サーバ・システムはセキュリティ性が高い。
【０１７８】
また、本実施形態によれば、クライアント１１は常にスイッチ１０３のＩＰアドレスに対して要求を送るので、第１の実施形態に比べて、スイッチ１０３の配置の自由度が高い。第４の実施形態では、クライアント１１においてスイッチ１０３をプロキシとして指定したり、クライアント１１とサーバ１４の間で必ずスイッチ１０３を通過するようにパケットのルーティング規則を設定する必要が無い。
【０１７９】
なお、第４の実施形態では、オブジェクト識別子と実ロケーション情報の対応関係が擬似ファイルシステム１３３に管理されている例を示したが、その代わりにオブジェクト識別子と仮想ロケーション情報との対応関係が管理されていてもよい。仮想ロケーション情報と実ロケーション情報の対応関係はロケーション情報仮想化手段１３５に記録されているので、擬似ファイルシステム１３３はそれらを相互に変換可能である。
（第５の実施形態）
図１０は、本発明の第５の実施形態による複数のスイッチを連携動作させた場合のネットワークの物理的構成の一例である。専用線２００はスイッチ間の通信に用いられる専用線である。スイッチ間の情報を専用線で転送することにより、情報共有などの処理は高速化されることができる。ただし、処理速度の要求がそれほど高くなければ、専用線２００に代えて例えばＬＡＮを用いてもよい。
【０１８０】
また、第４の実施形態と同様に、各スイッチ１０４−１〜１０４−ｎは、論理的にはクライアント１１−１〜１１−ｋとサーバ１４−１〜１４−ｍの間に存在し、クライアント１１−１〜１１−ｋからサーバ１４−１〜１４−ｍへの全てのパケットはスイッチ１０４−１〜１０４−ｎのいずれかに宛てて送られる。
【０１８１】
図１１は、本発明の第５の実施形態による複数のスイッチを連携動作させた場合の物理的なネットワーク構成の他の例である。ここでは、スイッチ１０４−１〜１０４−ｎとクライアント１１−１〜１１−ｋとの通信用のネットワーク２０１と、スイッチ１０４−１〜１０４−ｎとサーバ１４−１〜１４−ｍとの通信用のネットワーク２０２が物理的に分離されている。
【０１８２】
図１２〜１４は、本発明の第５の実施形態により提供される分散ファイルシステムのディレクトリツリーの構成例を説明するための図である。図１２は、分散ファイルシステムにおける各サーバのファイル構成を示す図である。図１３は、分散ファイルシステムによる単一名前空間のファイル構成を示す図である。図１４は、擬似ファイルシステムおよびロケーション情報仮想化手段に登録され、管理されている情報の内容を示す表である。この情報により、擬似ファイルシステムは、共有のつなぎ目における接続先のオブジェクトのロケーション情報を管理する。
【０１８３】
図１４に示された表の横方向の情報のセットをエントリと呼ぶ。また、「スイッチ番号」の欄は、スイッチに付された符号の「−」の後の番号（１〜ｎ）を示す。
【０１８４】
「共有のつなぎ目」の欄は、共有のつなぎ目にあたるオブジェクトのオブジェクト識別子を示す。
【０１８５】
「ドメイン間」の欄は、共有のつなぎ目がドメイン間をまたいでいるか否かを示す。「○」は、ドメイン間をまたいでいるものを示し接続元のスイッチに管理される。無印はドメイン間をまたがないものを示している。
【０１８６】
ドメインは１つのスイッチが転送の責任を負うサーバや共有の範囲のことを指す。ドメインの範囲はスイッチ毎に定められており、同一スイッチ配下のオブジェクトは、異なるサーバに存在していたとしても同一ドメインに属する。１つのサーバが２つスイッチのドメインに重複して属することもある。また、ドメインは共有を最小単位とするので、１つのサーバ内の互いに異なる共有が、互いに異なる２つのスイッチのドメインに属することもある。つまり、１つのサーバが２つのドメインに分割されることもある。
【０１８７】
「ドメイン間」の欄の「従」は、ドメイン間にまたがる共有のつなぎ目（「○」）に従属しており、そのつなぎ目の接続先のサーバの属するスイッチに管理される情報である。
【０１８８】
「リダイレクト先」の欄は、仮想ロケーション情報を示す。「実ロケーション」は、実ロケーション情報を示す。
【０１８９】
第４の実施形態では、擬似ファイルシステムは、オブジェクト識別子と実ロケーション情報との対応を管理していた。しかし、本実施形態では、擬似ファイルシステムは、共有のつなぎ目の欄に示されたオブジェクト識別子と、リダイレクト先の欄に示された仮想ロケーション情報との対応関係を管理している。つまり、本実施形態では、オブジェクト識別子と仮想ロケーション情報との対応を管理している点で、第４の実施形態と異なる。
【０１９０】
図１２に示したように、ここでは、５つのサーバ１４−１〜１４−５がある場合を例示する。サーバ１４−１は共有「Ａ」を提供している。サーバ１４−２は共有「Ｆ」を提供している。サーバ１４−３は共有「Ｈ」を提供している。サーバ１４−４は共有「Ｋ」と「Ｎ」を提供している。サーバ１４−５は共有「Ｒ」を提供している。共有「Ｆ’」は、第８の実施形態に後述されるフェイルオーバー用の代替の共有であり、ここでは無視してよい。なお、サーバ１４−３のＬｏｃａｌｌ配下の共有「Ｈ」は、サーバに提供される共有が必ずしもディレクトリ「ＥＸＰ」など特定の位置になくてもよいことを例示している。
【０１９１】
また、図１２に示したように、ここでは３つのスイッチ１０４−１〜１０４−３がある場合を例示する。そして、３つのスイッチ１０４−１〜１０４−３が連携動作し、各サーバ１４−１〜１４−５にある共有を組み合わせて、図１３に示したような単一名前空間をクライアント１１−１〜１１−ｋに提供している。その際に、各スイッチ１０４−１〜１０４−３は図１４に示された情報を用いる。
【０１９２】
各スイッチが共有のつなぎ目の情報をどこまで保持するかにより、分散ファイルシステムは部分共有型と全共有型の２つの形態をとりうる。部分共有型では、各スイッチが自身の管理する情報のみを保持する。全共有型では、各スイッチが全てのスイッチの管理する情報を保持する。図１５は、本発明の第５の実施形態において部分共有型の場合のスイッチの構成を示すブロック図である。図１６は、本発明の第５の実施形態において全共有型の場合のスイッチの構成を示すブロック図である。
【０１９３】
図１５を参照すると、部分共有型のスイッチ１０４Ａは、インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ａ、照会要求促進手段１４０、仮想転送先選別手段１５０、変更情報通知手段２０３および変更情報反映手段２０４を有している。
【０１９４】
照会要求解決手段１２０、照会要求促進手段１４０および仮想転送先選別手段１５０は、それぞれ前述されたものと同じものである。また、インターセプタ判断手段１１４は、クライアントからの要求を照会要求解決手段１２０、照会要求促進手段１４０および仮想転送先選別手段１５０に振り分ける。
【０１９５】
変更情報通知手段２０３は、ドメイン間にまたがる共有のつなぎ目に変更があれば、その変更情報を関連する他のスイッチに通知する。変更情報反映手段２０４は、他のスイッチからの変更情報を擬似ファイルシステム１３４Ａおよびロケーション情報仮想化手段１３５Ａに反映させる。
【０１９６】
なお、部分共有型の各スイッチが擬似ファイルシステム１３４Ａおよびロケーション情報仮想化手段１３５Ａにて記憶している情報は、図１４に示された情報のうち、自身のスイッチ番号と一致する部分のみである。
【０１９７】
図１６は、本発明の第５の実施形態において全共有型の場合のスイッチの構成を示すブロック図である。図１６を参照すると、全共有型のスイッチ１０４Ｂは、インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ｂ、照会要求促進手段１４０、仮想転送先選別手段１５０および情報収集共有手段２０５を有している。
【０１９８】
インターセプタ判断手段１１４、照会要求解決手段１２０、照会要求促進手段１４０および仮想転送先選別手段１５０は部分共有型のスイッチ１０４Ａと同じものである。
【０１９９】
情報収集共有手段２０５は、擬似ファイルシステム１３４Ｂおよびロケーション情報仮想化手段１３５Ｂの管理する情報を各スイッチ間で同期をとって共有する。
【０２００】
なお、全共有型の各スイッチが擬似ファイルシステム１３４Ｂおよびロケーション情報仮想化手段１３５Ｂにて記憶している情報は図１４に示された全ての情報である。
【０２０１】
第５の実施形態の動作について説明する。
【０２０２】
クライアントが、図１３に示された単一名前空間のディレクトリを参照し、オブジェクトにアクセスするときのスイッチの動作について説明する。
【０２０３】
ここで、クライアントはスイッチ１０４−１にアクセスし、ディレクトリ「Ａ」から順にツリーをたどるとする。例えば、クライアントからの名前解決要求のパス名が「Ａ／Ｃ／Ｅ／Ｆ」であれば、インターセプト判断手段１１４はこの要求を照会要求促進手段１４０へ送る。「Ａ／Ｃ／Ｅ／Ｆ」は共有のつなぎ目を超えるので、照会要求を促すメッセージが照会要求促進手段１４０からクライアントへ送られる。照会要求を促すメッセージを受けると、クライアントは照会要求をスイッチ１０４−１に送る。
【０２０４】
クライアントから照会要求を受けると、インターセプト判断手段１１４は、この照会要求を照会要求解決手段１２０に送る。照会要求を受けると、照会要求解決手段１２０は擬似ファイルシステム１３４に仮想ロケーション情報を問い合わせる。そして、照会要求解決手段１２０は、擬似ファイルシステム１３４から取得した仮想ロケーション情報「／／ＳＷ１／Ｆ」をリダイレクト先としてクライアントに通知する。
【０２０５】
リダイレクト先を通知されると、クライアントは、そのリダイレクト先「／／ＳＷ１／Ｆ」に名前解決要求を送リ直す。
【０２０６】
スイッチ１０４−１のインターセプト判断手段１１４は、この要求を仮想転送先選別手段１５０に送る。仮想転送先選別手段１５０は、ロケーション情報仮想化手段１３５に実ロケーション情報を問い合わせ、実ロケーション情報「／／ＳＥＲＶＥＲ２／ＥＸＰ／Ｆ」を取得する。そして、仮想転送先選別手段１５０は、名前解決要求を「／／ＳＥＲＶＥＲ２／ＥＸＰ／Ｆ」に転送する。これにより、サーバ１４−１にあるディレクトリ「Ｅ」から共有のつなぎ目「Ｆ」にシームレスに、すなわち単一名前空間通りに移行できる。
【０２０７】
次に、クライアント１１が、「Ａ／Ｃ／Ｋ／Ｌ」以下のディレクトリを「Ａ／Ｂ／Ｄ／Ｌ」以下へ移動させるときのスイッチの動作について説明する。
【０２０８】
このとき、スイッチは、サーバの有するファイル移動機能を利用して、サーバ１４−４にあるディレクトリ「Ｌ」を「／／ＳＥＲＶＥＲ４／ＥＸＰ／Ｋ」の下から、「／／ＳＥＲＶＥＲ１／ＥＸＰ／Ａ／Ｂ／Ｄ」の下へ移動させる。次に、同様にして、スイッチは、「Ｒ」以下のディレクトリをサーバ１４−５からサーバ１４−１へ移動させる。この移動結果の情報が各スイッチ１４−１〜１４−５の擬似ファイルシステム１３４およびロケーション情報仮想化手段１３５に反映されると移動が完了する。
【０２０９】
しかし、移動結果の情報を擬似ファイルシステム１３４およびロケーション情報仮想化手段１３５に反映させるときの動作は、部分共有型のスイッチと、全共有型のスイッチとで異なる。そこで、それぞれの動作について別個に説明する。
【０２１０】
まず、図１５の部分共有型のスイッチの動作について説明する。
【０２１１】
部分共有型のスイッチでは、図１４に示された各エントリの情報は、各スイッチ番号のスイッチにのみ保持されている。あるスイッチに管理されている情報のリダイレクト先が他のスイッチとなっている場合、その情報（図１４の表において「ドメイン間」に○が示されているもの）に変更があれば、変更情報をリダイレクト先のスイッチに通知し、反映させる必要がある。
【０２１２】
そこで、変更情報通知手段２０３は、自身の擬似ファイルシステム１３４Ａおよびロケーション情報仮想化手段１３５Ｂに保持されている情報のうち、ドメイン間にまたがる共有のつなぎ目の情報が変化した場合、そのエントリの「リダイレクト先」のスイッチに変更情報を通知する。なお、このとき、後述されるスタンバイ用スイッチが登録されていれば、ドメイン間のエントリ以外の情報も通知する。この例では、スイッチ１４−２の変更情報通知手段２０３は、ディレクトリ「Ａ／Ｃ／Ｋ／Ｌ／Ｒ」のエントリがなくなった旨の変更情報をスイッチ１４−３へ通知する。変更情報は、図１１に示されたクライアント側のネットワーク２０１、サーバ側のネットワーク２０２、またはスイッチ間専用線２００のいずれにより通知されてもよい。
【０２１３】
次に、スイッチ１４−３の変更情報反映手段２０４は、受信した変更情報を自身の擬似ファイルシステム１３４Ａおよびロケーション情報仮想化手段１３５Ａに反映させる。すなわち、ここでは、スイッチ１４−３はディレクトリ「Ａ／Ｃ／Ｋ／Ｌ／Ｒ」のエントリを削除する。以上で移動動作が完了する。移動動作が完了した結果、擬似ファイルシステム１３４Ａおよびロケーション情報仮想化手段１３５Ａに管理されている情報は図１９に示すようになる。また、各サーバ１４−１〜１４−５のファイル構成は図１７に示されたようになる。また、単一名前空間のファイル構成は図１８に示すようになる。
【０２１４】
次に、図１６の全共有型のスイッチの動作について説明する。
【０２１５】
全共有型のスイッチでは、図１４に示された全ての情報が各スイッチ１４−１〜１４−３に保持されている。そのため、各スイッチ１４−１〜１４−３の情報収集共有手段２０５は、自身のスイッチ番号が付与されたエントリのうち、「ドメイン間」の欄が「○」または無印のエントリに変更があれば、他の全てのスイッチに変更情報と自身のドメイン名を通知する。なお、「ドメイン間」の欄に「従」と示されたエントリ（従属エントリ）は、変更があっても通知されない。従属エントリは、「ドメイン間」の欄が「○」のエントリに従属し、「○」のエントリの変更情報が通知されたときに、その通知を受けたスイッチによって擬似ファイルシステム１３４Ｂおよびロケーション情報仮想化手段１３５Ｂに追加され、また更新されるものである。
【０２１６】
この例では、スイッチ１０４−２の情報共有収集手段２０５が、ディレクトリ「Ａ／Ｃ／Ｋ／Ｌ／Ｒ」のエントリがなくなった旨の変更情報をスイッチ１０４−１およびスイッチ１０４−３へ通知する。変更情報は、クライアント側のネットワーク２０１、サーバ側のネットワーク２０２、またはスイッチ間専用線２００のいずれにより通知されてもよい。
【０２１７】
次に、スイッチ１０４−１およびスイッチ１０４−３の情報収集共有手段２０５は、通知された変更情報を自身の擬似ファイルシステム１３４Ｂおよびロケーション情報仮想化手段１３５Ｂに反映させる。これにより、スイッチ１０４−１およびスイッチ１０４−３の擬似ファイルシステム１３４Ｂおよびロケーション情報仮想化手段１３５Ｂから、「Ａ／Ｃ／Ｋ／Ｌ／Ｒ」のエントリが削除されて移動動作が完了する。
【０２１８】
以上で移動動作が完了し、その結果、各スイッチ１０４−１〜１０４−３の擬似ファイルシステム１３４Ｂおよびロケーション情報仮想化手段１３５Ｂに管理されている情報は図１９に示されたようになる。
【０２１９】
以上説明したように、本実施形態によれば、複数のスイッチ１０４−１〜１０４−ｎは、互いに他のスイッチをリダイレクタ先として指定でき、かつ、単一名前空間を構成するための情報を矛盾なく共有できるので、複数のスイッチ１０４−１〜１０４−ｎを連携動作させることができ、システムに要求される性能に合わせてスイッチの台数を選択することにより、容易に最適なシステムを構成でき、スイッチの性能がシステムのボトルネックにならないようにすることができる。
（第６の実施形態）
本発明の第６の実施形態のネットワーク構成は図１０、１１に示した第５の実施形態と同様である。また、初期のディレクトリツリーは図１２〜１４に示したものと同じであるとする。第６の実施形態は、部分共有型のスイッチのフェイルオーバー技術に関するものである。フェイルオーバーとは障害時の切り替え処理のことである。したがって、第６の実施形態ではスタンバイのスイッチが設けられる。スタンバイのスイッチは、現用のスイッチと同じ機能および構成を有しているが、現用のスイッチに対する予備であり、フェイルオーバー対象とされた現用のスイッチが故障したときや停止したとき代わりに動作する。予備用のスイッチは、現用の全てのスイッチをフェイルオーバー対象としてもよく、また一部のスイッチをフェイルオーバー対象としてもよい。
【０２２０】
本発明の第６の実施形態によるスイッチは、他のスイッチが故障した場合にそのスイッチの代わりに動作する、スタンバイのスイッチとして機能することができる。
【０２２１】
図２０は、本発明の第６の実施形態のスイッチの構成を示すブロック図である。図２０を参照すると、スイッチ１０５は、インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ａ、照会要求促進手段１４０、仮想転送先選別手段１５０、変更情報通知手段２０３、変更情報反映手段２０４、モニタ手段２０６および冗長フェイルオーバー手段２０７を有している。
【０２２２】
インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ａ、照会要求促進手段１４０、仮想転送先選別手段１５０、変更情報通知手段２０３および変更情報反映手段２０４は第５の実施形態と同じものである。
【０２２３】
モニタ手段２０６は、クライアント側のネットワーク２０１、サーバ側のネットワーク２０２またはスイッチ間専用線２００のいずれかを通して、フェイルオーバー対象のスイッチが正常に稼動しているか否かをモニタする。
【０２２４】
スタンバイ状態にあるスイッチの変更情報反映手段２０３には、フェイルオーバー対象のスイッチのＩＰアドレスなど全ての属性が予め登録されている。そして、変更情報反映手段２０３は、フェイルオーバー対象のスイッチへ送られる全ての変更情報を受信し、自身の擬似ファイルシステム１３４Ａおよびロケーション情報仮想化手段１３５Ａへ反映させている。スタンバイのスイッチがフェイルオーバー対象のスイッチへの変更情報を受信するために、例えば、スタンバイのスイッチに実際にＩＰアドレスの他に、フェイルオーバー対象のサーバのＩＰアドレスを仮想ＩＰアドレスとして設定し、変更情報のパケットを拾い読みしてもよい。また、フェイルオーバー対象のスイッチの変更情報の通知先に、スタンバイのスイッチを加えてもよい。
【０２２５】
例えば、図２１に示すように、スイッチ１０５−２が故障したとき、スタンバイのスイッチ１０５−４のモニタ手段２０６は、これを検出し、冗長フェイルオーバー手段２０７に通知する。冗長フェイルオーバー手段２０７は、擬似ファイルシステム１３４Ａおよびロケーション情報仮想化手段１３５Ａにおいて、スイッチ１０５−２に管理されていた部分を自身の管理下に置き、それ以降、自身の管理する情報に変更があれば、変更情報通知手段２０３より変更情報を他のスイッチに通知する。
【０２２６】
また、冗長フェイルオーバー手段２０７は、ネットワークインタフェース（不図示）にスイッチ１０５−２のＩＰアドレスやＭＡＣアドレスなどの情報を引き継がせて、フェイルオーバーを実行する。したがって、分散ファイルシステムの単一名前空間のファイル構成は図２２に示すように維持される。また、擬似ファイルシステムおよびロケーション情報仮想化手段にて管理されている情報は、図２３に示すように維持される。図２３では、スイッチ１０５−２にて管理されていた情報がスタンバイのスイッチ１０５−４に引き継がれている。
【０２２７】
以上説明したように、本実施形態によれば、スタンバイのスイッチを設けることにより対象のスイッチに冗長性を持たせることができるので、複数のスイッチからなる連携システム全体の信頼性を向上させることができる。
（第７の実施形態）
本発明の第７の実施形態のネットワーク構成は図１０、１１に示したと第５の実施形態と同様である。また、初期のディレクトリツリーは図１２〜１４に示したものと同じであるとする。第７の実施形態では、スイッチが故障したときの予備としてフェイルオーバー用のスイッチが設けられておらず、各スイッチが互いにフェイルオーバー対象となっており、あるスイッチが故障したときには他のいずれかのスイッチが本来の自身の機能に加えて故障したスイッチの機能を果たす。なお、第７の実施形態は、全共有型のスイッチのフェイルオーバー技術に関するものである。したがって、第７の実施形態では、各スイッチは擬似ファイルシステムおよびロケーション情報仮想化手段の全ての情報を保持している。
【０２２８】
図２４は、本発明の第７の実施形態のスイッチの構成を示すブロック図である。図２４を参照すると、スイッチ１０６は、インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ｂ、照会要求促進手段１４０、仮想転送先選別手段１５０、情報収集共有手段２０５、モニタ手段２０６、非冗長フェイルオーバー手段２０８、代替順位記憶手段２０９および代替リダイレクト先通知手段２１０を有している。
【０２２９】
インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ｂ、照会要求促進手段１４０、仮想転送先選別手段１５０、情報収集共有手段２０５およびモニタ手段２０６は前述したものと同じものである。
【０２３０】
モニタ手段２０６はフェイルオーバー対象のスイッチをモニタしており故障を検出すると、それを非冗長フェイルオーバー手段２０８に通知する。
【０２３１】
フェイルオーバー対象のスイッチの故障を通知されると、非冗長フェイルオーバー手段２０８は、代替順位記憶手段２０９に代替順位を問い合わせる。代替順位とは、フェイルオーバー対象のスイッチの代わりに動作する順位である。あるスイッチが故障したときに代わりに機能することができるスイッチは１つに限られず複数でもよい。このように同じスイッチをフェイルオーバー対象とするスイッチには代替順位が付与されている。フェイルオーバー対象のスイッチが故障したとき、自身も故障していたりなど代替して動作できない状態にあることもある。故障したスイッチをフェイルオーバー対象とするスイッチであり、その時点で代替動作できる状態にあるものの中で、最も代替順の高いものがフェイルオーバー対象のスイッチを代替することになる。
【０２３２】
非冗長フェイルオーバー手段２０８は、代替順位記憶手段２０９より取得した代替順位から、フェイルオーバー対象のスイッチの代わりに動作するべきスイッチを知る。そして、非冗長フェイルオーバー手段２０８は、故障したスイッチがリダイレクト先として登録されていたエントリのリダイレクト先を、故障したスイッチを代替するスイッチに変更する。また、故障したスイッチを代替するスイッチはそれ以降、故障したスイッチの代わりに動作する。
【０２３３】
代替順位記憶手段２０９は、各スイッチに対してフェイルオーバーを行う代替順位の情報を記憶している。そして、代替順位記憶手段２０９は、非冗長フェイルオーバー手段２０８からの問い合わせに応じて順位情報を応答する。
【０２３４】
この例では、スイッチ１０６−１は、スイッチ１０６−３を第１順位で代替し、スイッチ１０６−２に対して第２順位で代替するとされている。また、スイッチ１０６−２は、スイッチ１０６−１に対して第１順位で代替し、スイッチ１０６−３に対して第２順位で代替するとされている。また、スイッチ１０６−３は、スイッチ１０６−２に対して第１順位で代替し、スイッチ１０６−１に対して第２順位で代替するとされている。
【０２３５】
したがって、例えばスイッチ１０６−２が故障すると、まず第１順位のスイッチ１０６−３がスイッチ１０６−２を代替する。このとき、もしスイッチ１０６−３も故障していれば、第２順位のスイッチ１０６−１がスイッチ１０６−２をを代替する。なお、この例では、スイッチが３つなので、スイッチ１０６−１は最終的にスイッチ１０６−２、１０６−３の両方を代替することになる。
【０２３６】
代替リダイレクト先通知手段２１０は、代替順位記憶手段２０９に記憶されている情報に基づいて、照会要求解決手段１２０からクライアントへのロケーション情報（リダイレクト先）に加えて、代替リダイレクト先をクライアントに予め通知する。例えば、初期状態として擬似ファイルシステム１３４Ｂおよびロケーション情報仮想化手段に１３５Ｂに図１４のような情報が記録されていれば、スイッチ１０６−２のロケーション情報（リダイレクト先）「／／ＳＷ２／Ｋ」に加えて、代替のリダイレクト先「／／ＳＷ３／Ｋ」および「／／ＳＷ１／Ｋ」がこの代替順位でクライアントに予め通知される。
【０２３７】
例えば、代替リダイレクト先を通知するメッセージとして、例えばＮＦＳｖ４のｆｓ＿ｌｏｃａｔｉｏｎｓ属性が挙げられる。ＮＦＳｖ４のｆｓ＿ｌｏｃａｔｉｏｎｓ属性は、複数のリソースの位置を併記できる構成になっており、その一要素として代替リダイレクト先を通知することができる。
【０２３８】
本発明の第７の実施形態の動作について説明する。
【０２３９】
ここでは、図２５に示すようにスイッチ１０６−２が故障したとする。スイッチ１０６−１、１０６−３のモニタ手段２０６はその故障を検出し、それぞれ非冗長フェイルオーバー手段２０８に通知する。
【０２４０】
非冗長フェイルオーバー手段２０８は、代替順位記憶手段２０９に代替順位を問い合わせる。その結果、スイッチ１０６−２に対する第１順位はスイッチ１０６−３であることが分かる。すなわち、単一名前空間は図２６に示すようになるべきであることが分かる。スイッチ１０６−１およびスイッチ１０６−３の非冗長フェイルオーバー手段２０８は、リダイレクト先として登録されていた全ての「／／ＳＷ２／＊」を「／／ＳＷ３／＊」に書き換え、図２７のように擬似ファイルシステム１３４Ｂおよびロケーション情報仮想化手段１３５Ｂの情報をそれぞれ更新する。なお、上の「＊」はワイルドカードであり、ここに何があっても書き換えの対象であることを示している。これでスイッチ側のフェイルオーバーは完了する。
【０２４１】
一般に、クライアントのリダイレクタは、最初に通知されたリダイレクト先からの応答がなければ、代替リダイレクト先に要求の送信先を変更する機能を有している。例えば、ＣＩＦＳやＮＦＳｖ４のクライアントなどはこの機能を有している。そのため、クライアントは、スイッチ１０６−２から応答がなければ、代替ダイレクト先通知手段２１０から予め通知されていた代替リダイレクト先に要求の送信先を変更する。これにより、クライアントの動作を含めた、スイッチ１０６−２に対するフェイルオーバーが完了する。
【０２４２】
以上説明したように、本実施形態によれば、複数のスイッチを連携動作させるとき、いずれかのスイッチが故障しても、他のいずれかのスイッチが故障したスイッチの動作を代替するので、予備のスイッチを別個に設けなくとも信頼性を確保することができる。ただし、第７の実施形態では、第６の実施形態と異なり、故障したスイッチを代替するスイッチは、本来の機能に加えて、故障したスイッチの機能を代替するので、その処理負荷が高くなり、システムの性能が低下する可能性がある。
（第８の実施形態）
本発明の第８の実施形態のネットワーク構成は図１０、１１に示した第５の実施形態と同様である。また、初期のディレクトリツリーは図１２〜１４に示したものと同じであるとする。ここではスイッチが部分共有型か全共有型かによらず、本質的な動作は変わらない。更新された擬似ファイルシステムとロケーション情報仮想化手段の情報の共有方法が異なるだけである。そこで、ここでは全共有型の場合を例に説明する。
【０２４３】
図２８は、本発明の第８の実施形態のスイッチの構成を示すブロック図である。図２８を参照すると、スイッチ１０７は、インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ｂ、照会要求促進手段１４０、仮想転送先選別手段１５０、情報収集共有手段２０５、故障検出手段２１１およびサーバフェイルオーバー手段２１２を有している。
【０２４４】
インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ｂ、照会要求促進手段１４０、仮想転送先選別手段１５０および情報収集共有手段２０５は前述したものと同じものである。
【０２４５】
故障検出手段２１１は、サーバの稼動状態をモニタしており故障を検出すると、それをサーバフェイルオーバー手段２１２に通知する。
【０２４６】
サーバフェイルオーバー手段２１２は、故障検出手段２１１からサーバの故障を通知されたとき、その故障したサーバの共有の複製が他のサーバに存在していれば、サーバフェイルオーバーを実行する。複製とは、オリジナルのオブジェクト、ファイルまたは共有などと同一内容のオブジェクト、ファイルまたは共有などのことである。オリジナルのオブジェクト、ファイルまたは共有とその複製とは、常に同一内容に維持されている（同期が取られている）ことが好ましい。例えば、オリジナルのファイルに対して変更が加えられると、複製にも同じ変更が適用されることが好ましい。サーバフェイルオーバーとは、サーバの故障時に他のサーバへ切り替える処理である。サーバフェイルオーバー手段２１２は、故障したサーバへのアクセスが、そのサーバに存在する共有の複製が存在するサーバにリダイレクトされるように、ロケーション情報仮想化手段１３５Ｂの情報を更新する。すなわち、サーバフェイルオーバー手段２１２は、故障したサーバの共有をリダイレクト先としているエントリの実ロケーション情報を、その共有の複製の実ロケーション情報に変更する。このとき、リダイレクト先（仮想ロケーション情報）は変更されない。
【０２４７】
本発明の第８の実施形態の動作について説明する。
【０２４８】
ここでは、図２９に示すようにサーバ１４−２が故障したとする。ここでは、サーバ１４−２の故障検出はスイッチ１０７−１が担当しているとする。
【０２４９】
スイッチ１０７−１の故障検出手段２１１は、サーバ１４−２の故障を検出すると、その故障をサーバフェイルオーバー手段２１２に通知する。サーバフェイルオーバー手段２１２には、サーバ１４−２の共有ディレクトリ「Ｆ」以下の複製がサーバ１４−５に共有ディレクトリ「Ｆ’」として存在することが予め登録されている。したがって、サーバフェイルオーバー手段２１２は、図３０の単一名前空間の「Ｆ」以下のディレクトリを維持するために、ロケーション情報仮想化手段１３５Ｂの情報を図３１のように変更する。ここで注目すべきは、クライアントに見せるリダイレクト先（仮想ロケーション情報）の「／／ＳＷ１／Ｆ」は変更されず、そのまま有効であるという点である。すなわち、クライアントはサーバ１４−２の故障を全く意識する必要が無いことになる。
【０２５０】
以上説明したように、本実施形態によれば、スイッチがサーバの故障を検出すると、ロケーション情報仮想化手段１３４Ｂにおける仮想ロケーション情報を変更せず、実ロケーション情報のみを変更するので、クライアントに意識させること無く、故障したサーバを複製の存在するサーバに切り替えることができる。
（第９の実施形態）
本発明の第９の実施形態のネットワーク構成は図１０、１１に示した第５の実施形態と同様である。また、初期のディレクトリツリーは図１２〜１４に示したものと同じであるとする。ここではスイッチが部分共有型か全共有型かによらず、本質的な動作は変わらない。更新された擬似ファイルシステムとロケーション情報仮想化手段の情報の共有方法が異なるだけである。そこで、ここでは全共有型の場合を例に説明する。
【０２５１】
本発明の第９の実施形態は、共有ディレクトリの透過移動を可能とするものである。
【０２５２】
透過移動とは、管理者が行うオブジェクト（すなわち共有ディレクトリ）の移動であり、単一名前空間の構成を変更することなく、オブジェクトの実体の位置を移動させることである。透過移動には２つのレベルがある。一方のレベルは、クライアント（あるいはクライアントマシンのリダイレクタ）およびユーザ（あるいはクライアントマシンのアプリケーション）にオブジェクトの移動を意識させない（クライアント透過な）ものである。他方のレベルは、リダイレクタにはオブジェクトの移動を意識させるが、ユーザには意識させない（ユーザ透過な）ものである。これらのような透過移動は、負荷分散や旧サーバの廃棄などを目的として行われる。
【０２５３】
図３２は、本発明の第９の実施形態のスイッチの構成を示すブロック図である。図３２を参照すると、スイッチ１０８は、インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ｂ、照会要求促進手段１４０、仮想転送先選別手段１５０、情報収集共有手段２０５および透過移動手段２１３を有している。
【０２５４】
インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ｂ、照会要求促進手段１４０、仮想転送先選別手段１５０および情報収集共有手段２０５は前述したものと同じものである。
【０２５５】
透過移動手段２１３は、管理者からの指示に従って共有ディレクトリをサーバ間で移動させ、それに伴って擬似ファイルシステム１３４Ｂの情報を更新する。
【０２５６】
本発明の第９の実施形態の動作について説明する。
【０２５７】
まず、移動元の先頭ディレクトリが単一名前空間の共有のつなぎ目の先頭ディレクトリでない場合の動作について説明する。この場合、クライアントのリダイレクタのリダイレクト先が変更されるので、クライアントに対する透過性は実現できず、ユーザに対する透過性のみ実現できる。つまり、ユーザ透過な透過移動が行われる。
【０２５８】
ここでは、サーバ１４−４が過負荷の状態、あるいは残りの記憶容量が少ない状態であるとする。管理者は、サーバ１４−４の過負荷状態あるいは残り記憶容量のひっ迫を緩和するため、サーバ１４−４に存在する共有ディレクトリ「／／ＳＥＲＶＥＲ４／ＥＸＰ／Ｎ／Ｏ」をサーバ１４−３の「／／ＳＥＲＶＥＲ３／ＥＸＰ／Ｏ」に移動させる。その際、管理者は、単一名前空間の構成を変更させることなく、共有ディレクトリをサーバ間で移動させる。
【０２５９】
管理者から透過移動要求を受けたスイッチ１０８−２の透過移動手段２１３は、サーバの有するファイル移動機能を利用して、図３３に示すように「／／ＳＥＲＶＥＲ４／ＥＸＰ／Ｎ／Ｏ」以下のディレクトリを「／／ＳＥＲＶＥＲ３／ＥＸＰ／Ｏ」へ移動させる。
【０２６０】
また、単一名前空間は図３４に示すように維持される必要がある。
【０２６１】
移動前のディレクトリ「Ｏ」は共有のつなぎ目の先頭でなかったが、移動後には共有のつなぎ目になる。そのため、透過移動手段２１３は、スイッチ１０８−２に共有のつなぎ目「Ａ／Ｃ／Ｅ／Ｆ／Ｇ／Ｎ／Ｏ」を新たに作成する。このとき、透過移動手段２１３は、共有のつなぎ目が「Ａ／Ｃ／Ｅ／Ｆ／Ｇ／Ｎ／Ｏ」で、リダイレクト先が「／／ＳＷ２／Ｏ」のエントリを追加し、擬似ファイル１３４Ｂの情報を図３５に示すように更新する。
【０２６２】
さらに、透過移動手段２１３は、リダイレクト先（すなわち仮想ロケーション情報）「／／ＳＷ２／Ｏ」と実ロケーション情報「／／ＳＥＲＶＥＲ３／ＥＸＰ／Ｏ」とを対応付けたエントリを追加し、ロケーション情報仮想化手段１３５Ｂの情報を図３５に示したように更新する。この例では、追加されたエントリがドメイン間にまたがる共有のつなぎ目とならない。全共有型のスイッチ１０８−２は変更情報を他の全てのスイッチに通知する。なお、スイッチ１０８−２が部分共有型のスイッチであれば、スタンバイ用のスイッチがある場合のみ、そのスタンバイ用のスイッチにのみ変更情報を通知する。
【０２６３】
このような動作によれば、新たな共有のつなぎ目が作られ、リダイレクト先が変わるので、リダイレクタは共有ディレクトリの移動を意識する。つまり、ユーザ透過な透過移動がなされたことになる。
【０２６４】
次に、移動元の先頭ディレクトリが単一名前空間の共有のつなぎ目の先頭ディレクトリである場合の動作について説明する。
【０２６５】
この場合、クライアントのリダイレクタのリダイレクト先（すなわち仮想ロケーション情報）が変更されないので、完全にクライアント透過な透過移動が実現できる。
【０２６６】
ここでは、管理者がサーバ１４−２を廃棄するため、単一名前空間の構成を変更することなく、サーバ１４−２に存在する共有ディレクトリ「／／ＳＥＲＶＥＲ２／ＥＸＰ／Ｆ」をサーバ１４−３の「／／ＳＥＲＶＥＲ３／ＥＸＰ／Ｆ」へ移動させる場合を例示する。
【０２６７】
管理者から透過移動要求を受けたスイッチ１０８−１の透過移動手段２１３は、サーバの有するファイル移動機能を利用して、図３６に示すように、「／／ＳＥＲＶＥＲ２／ＥＸＰ／Ｆ」以下のディレクトリを「／／ＳＥＲＶＥＲ３／ＥＸＰ／Ｆ」以下へ移動させる。
【０２６８】
透過移動では単一名前空間が図３７に示すように維持される必要がある。ここで、透過移動手段２１３は、移動前のディレクトリ「Ｆ」がつなぎ目の先頭なので、図３８に示すように、共有のつなぎ目「Ａ／Ｃ／Ｅ／Ｆ」の既存のエントリの実ロケーション情報を「／／ＳＥＲＥＲ３／ＥＸＰ／Ｆ」に変更する。
【０２６９】
この例では、更新されたエントリがドメイン間にまたがる共有のつなぎ目でない。全共有型のスイッチ１０８−２は変更情報を他の全てのスイッチに通知する。なお、スイッチ１０８−２が部分共有型のスイッチであれば、スタンバイ用のスイッチがある場合のみ、そのスタンバイ用のスイッチに変更情報を通知する。
【０２７０】
このような動作によれば、新たな実ロケーション情報のみが変わり、リダイレクト先が変わらないので、リダイレクタは共有ディレクトリの移動を意識しない。つまり、クライアント透過な透過移動がなされたことになる。
【０２７１】
クライアント透過な透過移動では、クライアント自体がファイルの移動に全く気づかないので、ＮＦＳｖ４ではクライアントが移動前の古いファイルハンドルを利用することがある。この場合、スイッチが「ＮＦＳ４ＥＲＲ＿ＦＨＥＸＰＩＲＥＤ」の応答メッセージをクライアントに返すことにより、再Ｌｏｏｌｕｐを実施させることができる。
【０２７２】
以上説明したように、管理者は、特定サーバへのアクセスの集中により生じる過負荷や、特定サーバの残り記憶容量のひっ迫を緩和するため、あるいは古くなったサーバを廃棄するためなどを目的として、オブジェクト（共有ディレクトリ）をサーバ間で移動させることがある。本実施形態によれば、オブジェクトをサーバ間で移動させるとき、単一名前空間の構成を維持することができるので、ユーザ透過、あるいはクライアント透過にオブジェクトの実体を移動させることができる。
（第１０の実施形態）
本発明の第１０の実施形態のネットワーク構成は図１０、１１に示した第５の実施形態と同様である。また、初期のディレクトリツリーは図１２〜１４に示したものと同じであるとする。ここではスイッチが部分共有型か全共有型かによらず、本質的な動作は変わらない。擬似ファイルシステムおよびロケーション情報仮想化手段の情報の共有方法が異なるだけである。そこで、ここでは全共有型の場合を例に説明する。
【０２７３】
図３９は、本発明の第１０の実施形態のスイッチの構成を示すブロック図である。図３９を参照すると、スイッチ１０９は、インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ｂ、照会要求促進手段１４０、仮想転送先選別手段１５０、情報収集共有手段２０５およびリンク張替え高速移動手段２１４を有している。
【０２７４】
インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ｂ、照会要求促進手段１４０、仮想転送先選別手段１５０および情報収集共有手段２０５は前述したものと同じものである。
【０２７５】
リンク張替え高速移動手段２１４は、クライアントからオブジェクト移動要求があったとき、その移動対象範囲内に共有のつなぎ目が含まれていたら、共有のつなぎ目以下のオブジェクトを実体的に移動させず、その代わりにリダイレクト先（仮想ロケーション情報）のみを変更する。
【０２７６】
本発明の第１０の実施形態の動作について説明する。
【０２７７】
ここでは、図４０および図４１に示すように、クライアントが「Ａ／Ｃ／Ｋ／Ｌ」以下のオブジェクトを「Ａ／Ｂ／Ｄ／Ｌ」以下へ移動する場合について説明する。
【０２７８】
この場合、ディレクトリ「Ｌ」については第５の実施形態と同様に実体的に移動させるが、その下は共有のつなぎ目となっているのでリダイレクト先の変更が行われる。
【０２７９】
すなわち、スイッチ１０９−１のリンク張替え高速移動手段２１４は、まず、「Ｌ」配下のディレクトリ「Ｒ」が共有のつなぎ目の先頭であることを認識する。次に、リンク張替え高速移動手段２１４は、図４２に示すように、擬似ファイルシステム１３４Ｂおよびロケーション情報仮想化手段１３５Ｂに、「共有のつなぎ目」が「Ａ／Ｂ／Ｄ／Ｌ／Ｒ」で「ドメイン間」が「○」のエントリと、「共有のつなぎ目」が「Ａ／Ｂ／Ｄ／Ｌ／Ｒ」で「ドメイン間」が「従」のエントリとを作成する。次に、リンク張替え高速移動手段２１４は、「ドメイン間」が「○」のエントリを作成した旨の変更情報を、他の各スイッチ１０９−２，１０９−３に通知する。スイッチ１０９−２，１０９−３は、この変更情報を自身に反映させる。
【０２８０】
一方、スイッチ１０９−２のリンク張替え高速移動手段２１４も、「Ｌ」配下のディレクトリ「Ｒ」が共有のつなぎ目の先頭であることを認識する。リンク張替え高速移動手段２１４は、図４２に示すように、「共有のつなぎ目」が「Ａ／Ｃ／Ｋ／Ｌ／Ｒ」のエントリを削除する。そして、リンク張替え高速移動手段２１４は、この変更情報を他の各スイッチ１０９−１，１０９−３に通知する。スイッチ１０９−１，１０９−３は、この変更情報を自身にそれぞれ反映させる。
【０２８１】
以上により、ディレクトリ「Ｒ」以下のオブジェクトは、実体を移動させることなく、クライアントに対する単一名前空間上のディレクトリ「Ａ／Ｂ／Ｄ／Ｌ／Ｒ」に移動したこととなる。
【０２８２】
以上説明したように、本実施形態によれば、クライアントからディレクトリの移動要求があったとき、共有のつなぎ目以下のディレクトリについては実体を移動させずに、リダイレクト先を変更することにより、クライアントに対して単一名前空間の構成を変更するので、サイズが大きく移動に時間がかかるようなファイルの移動要求があっても、実体的なファイル移動が少なくて済むので処理を高速で行うことができる。
【０２８３】
また、均等に負荷分散された複数のサーバの負荷が偏るような移動要求があっても負荷の偏りを抑えることができる。
（第１１の実施形態）
本発明の第１１の実施形態のネットワーク構成は図１０、１１に示した第５の実施形態と同様である。また、初期のディレクトリツリーは図１２〜１４に示したものと同じであるとする。ここではスイッチが部分共有型か全共有型かによらず、本質的な動作は変わらない。擬似ファイルシステムおよびロケーション情報仮想化手段の情報の共有方法が異なるだけである。そこで、ここでは全共有型の場合を例に説明する。
【０２８４】
第１１の実施形態のスイッチは、共有の複製を作成し、負荷を複数のサーバに分散させる機能を有している。また、第１１の実施形態では、擬似ファイルシステムに複製情報の欄が設けられている。複製情報とは、そのエントリに共有の複製が存在することや、そのエントリが共有の複製であることを示す情報である。
【０２８５】
図４３は、本発明の第１１の実施形態のスイッチの構成を示すブロック図である。図４３を参照すると、スイッチ１０１０は、インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ｂ、照会要求促進手段１４０、仮想転送先選別手段１５０、情報収集共有手段２０５、複製作成および選択手段２１５および負荷分散手段２１６を有している。
【０２８６】
インターセプト判断手段１１４、照会要求解決手段１２０、擬似ファイルシステム１３４Ｂ、照会要求促進手段１４０、仮想転送先選別手段１５０および情報収集共有手段２０５は前述したものと同じものである。
【０２８７】
複製作成および選択手段２１５は、管理者の指示に基づいて、ファイルの複製を作成し、そのファイルへのアクセスをそのファイルおよび複製に振り分ける。この複製はオリジナルのファイルと同一内容のファイルである。オリジナルのファイルと複製のファイルとは同期が取られているものとする。
【０２８８】
負荷分散手段２１６は、複製を有する共有が存在するサーバと、その共有の複製が存在する各サーバとに負荷が均等に分散されるように、選択すべき共有のオリジナルまたは複製を決定する。そして、負荷分散手段２１６は、その決定された結果を複製作成および選択手段２１５からの問い合わせに対して応答する。
【０２８９】
本発明の第１１の実施形態の動作について説明する。
【０２９０】
ここでは、実ロケーション「／／ＳＥＲＶＥＲ２／ＥＸＰ／Ｆ」以下の共有ディレクトリの複製を「／／ＳＥＲＶＥＲ３／ＥＸＰ／Ｆ」に作成し、負荷を分散させる場合を例示する。
【０２９１】
まず、管理者が、スイッチ１０１０−１の複製作成および選択手段２１５に、「／／ＳＥＲＶＥＲ２／ＥＸＰ／Ｆ」以下の共有ディレクトリの複製を「／／ＳＥＲＶＥＲ３／ＥＸＰ／Ｆ」に作成することを要求したとする。スイッチ１０１０−１の複製作成および選択手段２１５は、サーバの有するファイル複製機能を利用して複製を作成する。
【０２９２】
次に、複製作成および選択手段２１５は擬似ファイルシステム１３４Ｂおよびロケーション情報仮想化手段１３５Ｂの情報を変更する。
【０２９３】
まず、複製作成および選択手段２１５は、擬似ファイルシステム１３４Ｂに、「共有のつなぎ目」が「Ａ／Ｃ／Ｅ／Ｆ」で、「リダイレクト先」が「／／ＳＷ２／Ｆ」で、「ドメイン間」が「○」および「従」の２つのエントリを作成する。次に、複製作成および選択手段２１５は、それら２つのエントリの「複製情報」に「Ｆ−２」のマークをつける。次に、複製作成および選択手段２１５は、「共有のつなぎ目」が同じ「Ａ／Ｃ／Ｅ／Ｆ」で、「リダイレクト先」が「／／ＳＷ１／Ｆ」の既存のエントリの「複製情報」に「Ｆ−１」のマークをつける。Ｆ−１は、複製を有するオブジェクト「Ｆ」のオリジナルのオブジェクトであることを示している。Ｆ−２は、オブジェクト「Ｆ」の複製であることを示している。さらに複製がある場合には、Ｆ−３、Ｆ−４・・・とマークが付けられる。
【０２９４】
また、複製作成および選択手段２１５は、ロケーション情報仮想化手段１３５Ｂに、「リダイレクト先」が「／／ＳＷ２／Ｆ」で、「実ロケーション」が「／／ＳＥＲＶＥＲ３／ＥＸＰ／Ｆ」のエントリを作成する。
【０２９５】
そして、複製作成および選択手段２１５は、これらの擬似ファイルシステム１３４Ｂおよびロケーション情報仮想化手段１３５Ｂに対する変更に関する変更情報をスイッチ１０１０−２，１０１０−３に通知する。
【０２９６】
スイッチ１０１０−２，１０１０−３は、この変更情報を自身の擬似ファイルシステム１３４Ｂおよびロケーション情報仮想化手段１３５Ｂに反映させる。
【０２９７】
その後、クライアントからの照会要求があれば、照会要求解決手段１２０は、リダイレクト先を擬似ファイルシステム１３４Ｂに問い合わせる際、対象となるエントリに複製のマークがあれば、同時に複製作成および選択手段２１５に、いずれのオブジェクトを選択するか問い合わせる。
【０２９８】
照会要求解決手段１２０から問い合わせを受けると、複製作成および選択手段２１５は、どの複製を選択するか負荷分散手段２１６に問い合わせて、得られた結果を紹介要求解決手段１２０に通知する。
【０２９９】
負荷分散手段２１６は、例えば、各サーバが接続されたネットワークに接続し、各サーバのＣＰＵ使用率などの統計情報を取得している。そして、複製作成および選択手段２１５から問い合わせを受けると、負荷分散手段２１６は、統計情報から各サーバに負荷が分散されるように、いずれかの複製を選択し、複製作成および選択手段２１５に通知する。
【０３００】
そして、照会要求解決手段１２０は、擬似ファイルシステム１３４Ｂから通知されたリダイレクト先のうち、複製作成および選択手段２１５から通知された方をのリダイレクト先をクライアントに通知する。
【０３０１】
なお、上述の例の他に、複製作成および選択手段２１５は、負荷分散手段２１６に問い合わせることなく、自身の簡単なポリシーに従って共有または複製を選択してもよい。その場合、負荷分散手段２１６は無くてもよい。
【０３０２】
ここではオリジナルの他に複製が１つ存在するので、クライアントより「Ａ／Ｃ／Ｅ／Ｆ」について照会要求があると、複製作成および選択手段２１５は、例えばクライアントのＩＰアドレスのｍｏｄ２を計算し、その結果が「０」ならば「複製情報」が「Ｆ−１」のオリジナルを選択し、結果が「１」ならば「複製情報」が「Ｆ−２」の複製を選択すればよい。
【０３０３】
以上説明したように、本実施形態によれば、クライアントからのアクセスをリダイレクト先がオリジナルおよび複製に振り分けられ、負荷が複数のサーバに分散される。
【０３０４】
以上、本発明の第１〜第１１の実施形態について説明したが、より具体的な様々な実施例について以下に説明する。
【０３０５】
ここでは、ＷｉｎｄｏｗｓＮＴやＷｉｎｄｏｗｓ２０００に搭載されているＭｉｃｒｏｓｏｆｔネットワークで使用されているＣＩＦＳに関する実施例を説明する。
（第１の実施例）
図４７は、第１の実施例におけるクライアント・サーバ・システムの構成を示すブロック図である。図４７を参照すると、第１の実施例のクライアント・サーバ・システムは、クライアント１１、ｍ個のサーバ１４−１〜１４−ｍおよびスイッチ１３とからなる。
【０３０６】
クライアント１１はアプリケーション１１ａとＣＩＦＳクライアント１１ｂとを有している。クライアント１１とスイッチ１３はＬＡＮ２０１に接続されている。また、スイッチ１３とサーバ１４−１〜１４−ｍはＬＡＮ２０２に接続されている。
【０３０７】
図４７において、ＩＰｃは、ＬＡＮ２０１内でのクライアント１１のＩＰアドレスを示している。また、ＩＰｖ，ＩＰ１，ＩＰ２，・・・，ＩＰｍはＬＡＮ２０１内でのスイッチ１３のＩＰアドレスを示している。ＩＰｘは、ＬＡＮ２０２内でのスイッチ１３のＩＰアドレスを示している。ＩＰｘ１，ＩＰｘ２，・・・，ＩＰｘｍは、ＬＡＮ２０２内でのサーバ１４−１〜１４−ｍのＩＰアドレスを示している。これらのＩＰアドレスは各装置に予め登録されている。
【０３０８】
また、スイッチ１３上のＣｖ，Ｃ１，Ｃ２，・・・，Ｃｍは、スイッチ１３の各ＩＰアドレスＩＰｖ，ＩＰ１，ＩＰ２，・・・，ＩＰｍに対応するＬＡＮ２０１内でのコンピュータ名をそれぞれ示している。また、Ｃｖは、スイッチ１３のＩＰｘに対応するＬＡＮ２０２内でのコンピュータ名を示している。サーバ１４−１，１４−２，・・・，１４−ｍ上のＣ１，Ｃ２，・・・，Ｃｍは、ＩＰｘ１，ＩＰｘ２，・・・，ＩＰｘｍのかくＩＰアドレスを有するサーバ１４−１，１４−２，・・・，１４−ｍのＬＡＮ２０２内でのコンピュータ名を示している。これらのコンピュータ名も予め各装置に登録されている。
【０３０９】
クライアント１１からＬＡＮ２０１を介してＩＰｖ，ＩＰ１，ＩＰ２，・・・，ＩＰｍの各ＩＰアドレスに対してＴＣＰのコネクション接続要求を受けたスイッチ１３は、ＲＦＣ１００１に規定されたＮｅｔＢＩＯＳ（Ｎｅｔｗｏｒｋ　Ｂａｓｉｃ　Ｉｎｐｕｔ　Ｏｕｔｐｕｔ　Ｓｙｓｔｅｍ）の名前解決方法に従って、各ＩＰアドレスに対応するコンピュータ名から、それに対応するＬＡＮ２０２内のＩＰアドレスを取得する。そして、スイッチ１３は、取得したＩＰアドレスに対して、ＴＣＰのコネクション接続要求を送信する。
【０３１０】
なお、ＮｅｔＢＩＯＳの名前解決には、ブロードキャストやＷＩＮＳ（Ｗｉｎｄｏｗｓ　Ｉｎｔｅｒｎｅｔ　Ｎａｍｅ　Ｓｅｒｖｉｃｅ）、ＤＮＳ（Ｄｏｍａｉｎ　Ｎａｍｅ　Ｓｙｓｔｅｍ）等がある。ＬＡＮ２０１内の名前解決にＷＩＮＳやＤＮＳを使用する場合、ＬＡＮ２０１内にＷＩＮＳサーバまたはＤＮＳサーバが必要となる。同様に、ＬＡＮ２０２内の名前解決にＷＩＮＳやＤＮＳを使用する場合、ＬＡＮ２０２内にＷＩＮＳサーバまたはＤＮＳサーバが必要となる。
【０３１１】
図４８は、第１の実施例による仮想サーバ内の共有ディレクトリのツリー構造を例示した図である。仮想サーバとは、ｍ個のサーバ１４−１〜１４−ｍに分散された共有が１ヶ所に存在するように、クライアント１１に見せるための仮想的なサーバである。Ｃｖはその仮想サーバのコンピュータ名である。
【０３１２】
図４８において、Ｓｖは、クライアント１１が仮想サーバＣｖに接続するための共有名である。Ｓｖの配下にはディレクトリが存在する。
【０３１３】
ｄ１、ｄ１１、ｄ２、・・・、ｄｐ（ｐは自然数）はＳｖの配下に存在するディレクトリのディレクトリ名である。ここではｄ１とｄｐはＳｖの直下に存在する。ｄ１１はｄ１の直下に存在する。ｄ２はｄ１１の直下に存在する。
【０３１４】
図４９は、スイッチ１３に設定され、または記憶される情報の一例を示している。スイッチ１３に、設定され、または記憶される情報は、コネクション管理情報、Ｔｉｄ管理情報およびロケーション情報管理情報である。
【０３１５】
コネクション管理情報について説明する。
【０３１６】
コネクション管理情報は、クライアントのＩＰアドレスおよびポート番号と、スイッチのポート番号と、サーバのＩＰアドレスとからなる。クライアントのＩＰアドレスおよびポート番号により、ＬＡＮ２０１内でスイッチ１３とクライアントの間に接続されたＴＣＰコネクションが示される。スイッチのポート番号およびサーバのＩＰアドレスにより、ＬＡＮ２０２内でスイッチ１３とサーバの間に接続されたＴＣＰコネクションが示される。
【０３１７】
コネクション管理情報は、ＬＡＮ２０１内でクライアントとの間に接続されたＴＣＰのコネクションと、ＬＡＮ２０２内でサーバとの間に接続されたＴＣＰのコネクションとを対応付けている。
【０３１８】
スイッチ１３は、クライアント１１からＴＣＰコネクションの接続を受けると、コネクション管理情報に、クライアント１１のＩＰアドレスおよびポート番号を登録する。スイッチ１３は、サーバ１４との間にＴＣＰコネクションを接続すると、スイッチ１３のポート番号と、サーバのＩＰアドレスをコネクション管理情報に登録する。
【０３１９】
図４９には、ＴＣＰコネクションが設定されていない初期状態から、各ＬＡＮ２０１，２０２にそれぞれ２つのＴＣＰコネクションが設定されるまでの状態遷移が示されている。
【０３２０】
図４９において、３１ａは、初期状態におけるコネクション管理情報を示している。３１ｂは、クライアントからのＴＣＰコネクション接続に応じて、スイッチ１３がサーバ１４−１とＴＣＰコネクションを接続した状態のコネクション管理情報を示している。３１ｃは、さらにクライアントからのＴＣＰコネクション接続に応じて、スイッチ１３がサーバ１４−２ともＴＣＰコネクションを接続した状態のコネクション管理情報を示している。３１ａから３１ｂを経て３１ｃへと状態が遷移する。
【０３２１】
３１ｂ，３１ｃにおける、ＩＰｃはクライアント１１のＩＰアドレスを示している。また、Ｐｃ１，Ｐｃ２は、クライアント１１における、各ＴＣＰコネクションの要求元のポート番号を示している。ＰＳｗ１，ＰＳｗ２は、スイッチ１３における、ＬＡＮ２０２内の各ＴＣＰコネクションの要求元のポート番号を示している。ＩＰｘ１，ＩＰｘ２は、サーバ１４−１，サーバ１４−２のＩＰアドレスを示している。
【０３２２】
Ｔｉｄ（Ｔｒｅｅ　ＩＤ）管理情報について説明する。
【０３２３】
図４９において、Ｓ１，Ｓ２，・・・，Ｓｍは、コンピュータ名がＣ１，Ｃ２，・・・，Ｃｍの各サーバに存在する共有である。
【０３２４】
Ｔｉｄ管理情報は、Ｔｉｄ領域と共有名からなる。クライアント１１は、ＴＣＰコネクション上で、ＣＩＦＳプロトコルを使って、サーバに存在する共有にアクセスする。このとき、サーバ（またはスイッチ）からクライアントにＴｉｄ値（Ｔｉｄ領域）が与えられる。Ｔｉｄ管理情報は、このＴｉｄ値と共有名とを対応付けている。
【０３２５】
スイッチ１３は、クライアント１１から、ＴＣＰのコネクション上で、ＣＩＦＳプロトコルによって共有へのアクセス要求を受けると、共有名を登録する。また、スイッチ１３は、クライアントに与えたＴｉｄ値をＴｉｄ領域に登録する。
【０３２６】
Ｔｉｄ管理情報は、コネクション管理情報に対応付けて記録される。図４９において、３２ａは、コネクション管理情報が３１ｂの状態のときのＴｉｄ管理情報を示している。３２ｂ，３２は、コネクション管理情報が３１ｃの状態のときのＴｉｄ管理情報を示している。
【０３２７】
３２ａ，３２ｂ上のＴｉｄ１はサーバ１４−１から与えられたＴｉｄ値である。３２ｃ上のＴｉｄ２はサーバ１４−２から与えられたＴｉｄ値である。
【０３２８】
ロケーション情報管理情報について説明する。
【０３２９】
ロケーション情報管理情報とは、ロケーション情報を管理するための情報である。ロケーション情報管理情報には、仮想サーバＣｖにある共有Ｓｖ配下のオブジェクトの仮想的なディレクトリツリー内でのロケーション情報と、その共有の実際のロケーション情報との対応関係が示されている。仮想的なディレクトリツリー内でのロケーションが「：」の前に示され、実際のロケーションが「：」の後に示されている。ここでロケーション情報とは、サーバを特定するために用いられるコンピュータ名やＩＰアドレスと、サーバ上でファイルを特定するために用いられる共有名やファイル名のことである。
【０３３０】
図４９において、￥￥から次の￥までの文字列がコンピュータ名である。￥￥の次の￥から、その次の￥まで（￥がない場合は最後まで）の文字列が共有名である。それ以降はディレクトリ名（オブジェクト名）である。
【０３３１】
ロケーション情報管理情報３３の第１行目は、仮想サーバＣｖにある共有Ｓｖ配下のディレクトリｄ１が、実際にはサーバ１４−１の共有Ｓ１にリダイレクトされることを示している。同様に、最終行は、ディレクトリｄ２がサーバ１４−２の共有Ｓ２にリダイレクトされることを示している。また、ディレクトリｄｍはサーバ１４−ｍの共有Ｓｍにリダイレクトされる。
【０３３２】
図５０は、ＣＩＦＳプロトコルのメッセージのヘッダ情報を示している。図５０において、’Ｓ、’Ｍ、’Ｂは各キャラクタのＡＳＣＩＩコードである。これにより、本メッセージがＳＭＢファイルアクセスのメッセージであること、すなわちＣＩＦＳプロトコルによることが示されている。
【０３３３】
Ｃｏｍｍａｎｄ領域４１は、本メッセージのコマンドの種類を示している。Ｃｏｍｍａｎｄ領域４１は、インターセプト判断手段がインターセプトべきメッセージであるか否か判断するのに使用される。なお、インターセプト判断手段は、Ｃｏｍｍａｎｄ領域４１を識別する前に本メッセージのプロトコルを識別し、プロトコルによってインターセプトすべきメッセージであるか否か判定してもよい。
【０３３４】
Ｅｒｒｏｒ領域４２は、クライアント１１からの要求が正常終了したか、異常終了したかを、スイッチまたはサーバからクライアントに応答するのに用いられる。Ｅｒｒｏｒ領域４２には、クライアント１１からの要求が異常終了したときに、異常終了の要因を示すエラーコードが挿入され、スイッチまたはサーバからクライアントに通知される。なお、「←」はＥｒｒｏｒ領域の続きであることを示している。
【０３３５】
「―」は、その領域には有意な情報が定義されているが、本発明と直接関係しないので省略された領域である。
【０３３６】
Ｔｉｄ領域４３は、サーバにて生成され、共有名を識別するために使用される。
【０３３７】
パラメータ領域４５は可変長の領域であり、コマンドの種類によって異なるパラメータが入る。パラメータ領域４５の隣りのワードカウント領域はパラメータ領域４５の長さを示す。メッセージの先頭からパラメータ領域４５までがヘッダである。
【０３３８】
Ｂｕｆｆｅｒ領域４４は可変長の領域であり、コマンド種類により異なるデータが入る。例えば、ライトコマンドであれば、書き込まれるデータが入る。Ｂｕｆｆｅｒ領域４４の隣りのバイトカウント領域はＢｕｆｆｅｒ領域４４の長さを示す。
【０３３９】
第１の実施例の動作について説明する。
【０３４０】
まず、クライアント１１はスイッチ１３のＩＰｖに対してＴＣＰコネクションを接続する。次に、クライアント１１は、そのＴＣＰのコネクション上でＣＩＦＳプロトコルを使用して、仮想サーバＣｖにある共有Ｓｖに接続する。この接続の過程で、スイッチ１３はクライアント１１に対してＴｉｄ値を与える。このＴｉｄ値は、図４９に示したＴｉｄ管理情報に記録される。これ以後、仮想サーバＣｖにある共有Ｓｖにアクセスするとき、クライアント１１は、このＴｉｄ値を、図５０に示したＣＩＦＳプロトコルヘッダ４０のＴｉｄ領域４３に設定する。
【０３４１】
次に、クライアント１１上のアプリケーション１１ａが、￥￥Ｃｖ￥Ｓｖ￥ｄ１内にアクセスしようとすると、クライアント１１上のＣＩＦＳクライアント１１ｂは、図５０に示したＣＩＦＳプロトコルヘッダ情報４０を含むパケットを作成し、スイッチ装置１３に送信する。このパケットのＴｉｄ領域４３には、スイッチ１３から与えられたＴｉｄ値が設定される。Ｃｏｍｍａｎｄ領域４１には、アプリケーション１１ａからのアクセス要求のコマンド値が設定される。Ｂｕｆｆｅｒ領域４４には、アクセス先のパス名を示す￥Ｃｖ￥Ｓｖ￥ｄ１が設定される。
【０３４２】
このパケットを受信したスイッチ１３は、インターセプト判断手段にて、このパケットを処理する。
【０３４３】
図５１は、第１の実施例におけるインターセプト判断手段の動作を示すフローチャートである。図５１を参照すると、まず、インターセプト判断手段は、そのパケットのプロトコルがＣＩＦＳプロトコルか否か判定する（ステップＡ１）。
【０３４４】
ここでは、それはＣＩＦＳプロトコルなので、インターセプト判断手段は、それが照会要求であるか否か判定する（ステップＡ３）。照会要求か否かの判定は、Ｃｏｍｍａｎｄ領域４１に、照会要求を意味する「Ｇｅｔ　ＤＦＳ　Ｒｅｆｅｒｒａｌ」のコマンド値が設定されているか否かにより判定される。
【０３４５】
ここでは、そのコマンドは照会要求でないので、インターセプト判断手段は、Ｔｉｄ領域４３の値がＴｉｄ管理情報３１に既にあるか否か判定する（ステップＡ５）。
【０３４６】
ここではＴｉｄ領域の値４３がＴｉｄ管理情報３１に既にあるので、インターセプト判断手段は、そのコマンドが、Ｂｕｆｆｅｒ領域４４にパス名のあるものであるか否か判断する（ステップＡ６）。
【０３４７】
ここでは、パス名があるコマンドなので、インターセプト判断手段は、擬似ファイルシステムに問い合わせて、コマンドが照会要求促進対象であるか否か判定する（ステップＡ７）。ここでは、コマンドは照会要求促進対象なので、インターセプト判断手段は、Ｂｕｆｆｅｒ領域４４と同じディレクトリ￥￥Ｃｖ￥Ｓｖ￥ｄ１が図４９のロケーション情報管理情報３３に存在するか否か判定する（ステップＡ８）。
【０３４８】
ここでは、そのディレクトリがロケーション情報管理情報３３に存在するので、インターセプト判断手段は、照会要求促進手段に受信パケットを渡す（ステップＡ１０）。
【０３４９】
インターセプト判断手段から受信パケットを受けた照会要求促進手段は、クライアント１１に照会要求を促すために、ＣＩＦＳプロトコルヘッダ４０のＥｒｒｏｒ領域４２に「ＤＦＳ　ｐａｔｈ　ｎｏｔ　ｃｏｖｅｒｅｄ」を示す値を設定した応答パケットを作成し、クライアント１１に送信する。
【０３５０】
このパケットを受信したクライアント１１上のＣＩＦＳクライアント１１ｂは、Ｃｏｍｍａｎｄ領域４１に照会要求であることを示す「Ｇｅｔ　ＤＦＳ　Ｒｅｆｅｒｒａｌ」を示すコマンド値を設定し、Ｂｕｆｆｅｒ領域４４に￥Ｃｖ￥Ｓｖ￥ｄ１を設定したパケットを作成し、スイッチ１３に送信する。
【０３５１】
このパケットを受信したスイッチ１３は、インターセプト判断手段にて、ＣＩＦＳプロトコルか否か判断し（ステップＡ１）、ＣＩＦＳプロトコルなので、照会要求か否か判断し（ステップＡ３）、Ｃｏｍｍａｎｄ領域４１が照会要求を意味する「Ｇｅｔ　ＤＦＳ　Ｒｅｆｅｒｒａｌ」を示す値なので、照会要求解決手段に受信パケットを渡す（ステップＡ１１）。
【０３５２】
受信パケットを受けた照会要求解決手段は、擬似ファイルシステムに問い合わせて、Ｂｕｆｆｅｒ領域４４に示されたパス名に対応するロケーション情報Ｃ１￥Ｓ１を入手する。次に、照会要求解決手段は、Ｅｒｒｏｒ領域４２に「ＯＫ」を示す値が設定され、Ｂｕｆｆｅｒ領域４４にコンピュータ名Ｃ１にある共有Ｓ１にリダイレクトされるべきことを示すデータが設定された応答パケットを作成し、クライアント１１に送信する。
【０３５３】
この応答パケットを受信したクライアント１１上のＣＩＦＳクライアント１１ｂは、ＮｅｔＢＩＯＳの名前解決方法により、コンピュータ名Ｃ１に対応するＬＡＮ２０１内のＩＰアドレスＩＰ１を取得し、ＩＰ１に対してＴＣＰのコネクション接続要求を行う。
【０３５４】
接続要求を受けたスイッチ１３は、インターセプト判断手段にて、ＣＩＦＳプロトコルか否か判断する（ステップＡ１）。接続要求はＣＩＦＳプロトコルでないので、インターセプト判断手段は、ＴＣＰのコネクション接続パケットか否か判断する（ステップＡ２）。接続要求はＴＣＰのコネクション接続パケットなので、インターセプト判断手段は、ＮｅｔＢＩＯＳの名前解決方法により、ＩＰアドレスＩＰ１のコンピュータＣ１に対応するＬＡＮ２０２内でのサーバ１４−１のＩＰアドレスＩＰｘ１を取得する。そして、インターセプト判断手段は、コネクション管理情報に、クライアントのＩＰアドレスＩＰｃおよびポート番号Ｐｃ１と、スイッチのポート番号ＰＳｗ１と、サーバ１４−１のＩＰアドレスＩＰｘ１とを記録する（ステップＡ４）。このとき、コネクション管理情報は図４９の３１ｂの状態となっている。
【０３５５】
次に、インターセプト判断手段は、仮想転送先選別手段に受信パケットを渡す（ステップＡ９）。
【０３５６】
仮想転送先選別手段は、受信パケットからクライアントのＩＰアドレスＩＰｃ１およびポート番号Ｐｃ１を取得し、これらを用いてコネクション管理情報からサーバ１４−１のＩＰアドレスＩＰｘ１を判断し、ＩＰアドレスＩＰｘ１のサーバ１４−１に対してＴＣＰのコネクションの接続要求を行う。
【０３５７】
これ以後、クライアント１１のＩＰアドレスＩＰｃのポート番号Ｐｃ１からパケットを受信すると、スイッチ１３は、仮想転送先選別手段にてコネクション管理情報を参照し、サーバ１４−１のＩＰアドレスＩＰｘ１にパケットを転送する。また、サーバ１４−１のＩＰアドレスＩＰｘ１からポート番号ＰＳｗ１へのパケットを受信すると、スイッチ１３は、コネクション管理情報を参照し、クライアント１１のＩＰアドレスＩＰｃのポート番号Ｐｃ１にパケットを転送する。
【０３５８】
ＴＣＰコネクションが接続されると、クライアント１１上のＣＩＦＳクライアント１１ｂは、図５０のＣＩＦＳプロトコルヘッダ情報４０のＣｏｍｍａｎｄ領域４１に「Ｔｒｅｅ　Ｃｏｎｎｅｃｔ」を示す値を、Ｂｕｆｆｅｒ領域４４に￥￥Ｃ１￥Ｓ１を書き込んだパケットを作成し、コンピュータＣ１（ＬＡＮ２０１上ではスイッチ１３）に送信する。
【０３５９】
このパケットを受信したスイッチ１３は、Ｂｕｆｆｅｒ領域４４にある共有名￥￥Ｃ１￥Ｓ１をＴｉｄ管理情報に記録し、サーバ１４−１にパケットを転送する。
【０３６０】
サーバ１４−１は、ＣＩＦＳプロトコルヘッダ情報４０のＴｉｄ領域４３にＴｉｄ１を書き込み、クライアント１１に応答パケットを送信する。
【０３６１】
このパケットを受信したスイッチ１３は、Ｔｉｄ領域４３のＴｉｄ１をＴｉｄ管理情報に記録する。このとき、Ｔｉｄ管理情報は図４９に示した３２ａの状態である。次に、スイッチ１３は、そのパケットをクライアント１１に送信する。
【０３６２】
次に、アプリケーション１１ａが￥￥Ｃｖ￥Ｓｖ￥ｄ１にアクセスしようとすると、ＣＩＦＳクライアント１１ｂは、ＣＩＦＳプロトコルヘッダ情報４０のＴｉｄ領域４３にサーバ１４−１から与えられたＴｉｄ１を、Ｃｏｍｍａｎｄ領域４１にアクセス要求のコマンド値を、Ｂｕｆｆｅｒ領域４４に￥Ｃ１￥Ｓ１を設定したパケットを作成し、コンピュータ名Ｃ１（ＬＡＮ２０１上ではスイッチ１３）に送信する。
【０３６３】
さらに、アプリケーション１１ａが、￥￥Ｃｖ￥Ｓｖ￥ｄ１￥ｄ１１￥ｄ２内にアクセスしようとすると、ＣＩＦＳクライアント１１ｂはＣＩＦＳプロトコルヘッダ情報４０のＴｉｄ領域４３にサーバ１４−１から与えられたＴｉｄ値を、Ｃｏｍｍａｎｄ領域４１にアクセス要求のコマンド値を、Ｂｕｆｆｅｒ領域４４に￥￥Ｃ１￥Ｓ１￥ｄ１￥ｄ１１￥ｄ２を設定したパケットを作成し、コンピュータ名Ｃ１のサーバ１４−１に送信する。
【０３６４】
このパケットを受信したスイッチ１３は、インターセプト判断手段にて、ＣＩＦＳプロトコルか否か判断する（ステップＡ１）。このパケットはＣＩＦＳプロトコルなので、スイッチ１３は、Ｃｏｍｍａｎｄ領域４１のコマンド値が照会要求「Ｇｅｔ　ＤＦＳ　Ｒｅｆｅｒｒａｌ」を示す値か否か判断する（ステップＡ３）。コマンド値が照会要求を示す値でないので、スイッチ１３は、Ｔｉｄ領域４３の値がＴｉｄ管理情報３１に既に存在する否か判断する（ステップＡ５）。この値はＴｉｄ管理情報３１に既にあるので、スイッチ１３は、Ｂｕｆｆｅｒ領域４４にパス名が設定されているコマンドであるか否か判断する（ステップＡ６）。Ｂｕｆｆｅｒ領域４４にパス名があるので、スイッチ１３は、そのコマンドが照会要求促進対象であるか否か判定する（ステップＡ７）。
【０３６５】
そのコマンドは照会要求促進対象なので、スイッチ１３のインターセプト判断手段は、Ｂｕｆｆｅｒ領域４４と同じディレクトリ￥￥Ｃ１￥Ｓ１￥ｄ１￥ｄ１１￥ｄ２がロケーション情報管理情報３３に存在するか判断する（ステップＡ８）。ここでは、ディレクトリ￥￥Ｃ１￥Ｓ１￥ｄ１￥ｄ１１￥ｄ２がロケーション情報管理情報３３に存在するので、インターセプト判断手段は、照会要求促進手段に受信パケットを渡す（ステップＡ１０）。
【０３６６】
受信パケットを受けた照会要求促進手段は、クライアント１１に照会要求を促すために、ＣＩＦＳプロトコルヘッダ４０のＥｒｒｏｒ領域４２に「ＤＦＳ　ｐａｔｈ　ｎｏｔ　ｃｏｖｅｒｅｄ」を示す値を設定した応答パケットを作成し、クライアント１１に送信する。
【０３６７】
このパケットを受信したクライアント１１上のＣＩＦＳクライアント１１ｂは、Ｃｏｍｍａｎｄ領域４１に照会要求「Ｇｅｔ　ＤＦＳ　Ｒｅｆｅｒｒａｌ」のコマンド値を設定し、Ｂｕｆｆｅｒ領域４４に￥￥Ｃ１￥Ｓ１￥ｄ１￥ｄ１１￥ｄ２を設定したパケットを作成し、コンピュータ名Ｃ１のサーバ１４−１に送信する。
【０３６８】
このパケットを受信したスイッチ１３は、インターセプト判断手段にて、ＣＩＦＳプロトコルか否か判断する（ステップＡ１）。このパケットのメッセージはＣＩＦＳプロトコルなので、スイッチ１３は、そのメッセージのコマンドが照会要求か否か判断する（ステップＡ３）。
【０３６９】
Ｃｏｍｍａｎｄ領域４１が照会要求「Ｇｅｔ　ＤＦＳ　Ｒｅｆｅｒｒａｌ」を示す値なので、インターセプト判断手段は、照会要求解決手段に受信パケットを渡す（ステップＡ１１）。
【０３７０】
受信パケットを受けた照会要求解決手段は、擬似ファイルシステムに問い合わせて、Ｂｕｆｆｅｒ領域４４に示された値に対応するロケーション情報を入手する。そして、照会要求解決手段は、Ｅｒｒｏｒ領域４２に「ＯＫ」を示す値を設定し、Ｂｕｆｆｅｒ領域４４にコンピュータ名Ｃ２のサーバ１４−２にある共有Ｓ２をリダイレクト先のデータとして設定した応答パケットを作成し、クライアント１１に送信する。
【０３７１】
この応答パケットを受信したクライアント１１上のＣＩＦＳクライアント１１ｂは、ＮｅｔＢＩＯＳの名前解決方法により、コンピュータ名Ｃ２に対応するＬＡＮ２０１内でのスイッチ１３のＩＰアドレスＩＰ２を取得し、そのＩＰアドレスＩＰ２に対してＴＣＰのコネクション接続要求を行う。
【０３７２】
接続要求を受けたスイッチ１３は、インターセプト判断手段にて、ＣＩＦＳプロトコルか否か判断する（ステップＡ１）。接続要求はＣＩＦＳプロトコルでないので、インターセプト判断手段は、接続要求がＴＣＰのコネクション接続パケットか否か判断する（ステップＡ２）。接続要求はＴＣＰのコネクション接続パケットなので、インターセプト判断手段は、ＮｅｔＢＩＯＳの名前解決方法により、ＩＰアドレスＩＰ２のコンピュータＣ２に対応するＬＡＮ２０２内でのサーバ１４−２のＩＰアドレスＩＰｘ２を取得する。
【０３７３】
次に、インターセプト判断手段は、コネクション管理情報に、クライアントのＩＰアドレスＩＰｃおよびポート番号Ｐｃ２と、スイッチのポート番号ＰＳｗ２と、サーバ１４−２のＩＰアドレスＩＰｘ２とを記憶する（ステップＡ４）。このとき、コネクション管理情報は図４９の３１ｃの状態である。
【０３７４】
次に、インターセプト判断手段は、仮想転送先選別手段に受信パケットを渡す（ステップＡ９）。
【０３７５】
仮想転送先選別手段は、受信パケットからクライアントのＩＰアドレスＩＰｃおよびポート番号Ｐｃ２を取得し、これらを用いてコネクション管理情報からサーバ１４−２のＩＰアドレスＩＰｘ２を判断し、ＩＰアドレスＩＰｘ２のサーバ１４−２に対してＴＣＰのコネクション接続要求を行う。
【０３７６】
これ以後、クライアント１１のＩＰアドレスＩＰｃのポート番号Ｐｃ２からパケットを受信すると、スイッチ１３は、仮想転送先選別手段にてコネクション管理情報を参照し、サーバ１４−２のＩＰアドレスＩＰｘ２にパケットを転送する。また、サーバ１４−２のＩＰアドレスＩＰｘ２からスイッチ１３のポート番号ＰＳｗ２へのパケットを受信すると、スイッチ１３は、コネクション管理情報を参照し、クライアント１１のＩＰアドレスＩＰｃのポート番号Ｐｃ２にパケットを転送する。
【０３７７】
ＴＣＰコネクションが接続されると、クライアント１１上のＣＩＦＳクライアント１１ｂは、ＣＩＦＳプロトコルヘッダ情報４０のＣｏｍｍａｎｄ領域４１に「Ｔｒｅｅ　Ｃｏｎｎｅｃｔ」を示す値を、Ｂｕｆｆｅｒ領域４４に￥￥Ｃ２￥Ｓ２を書き込んだパケットを作成し、コンピュータＣ１（スイッチ１３）に送信する。
【０３７８】
このパケットを受信したスイッチ１３は、Ｂｕｆｆｅｒ領域４４にある共有名￥￥Ｃ２￥Ｓ２をＴｉｄ管理情報に記憶し、サーバ１４−２にパケットを送信する。
【０３７９】
サーバ１４−２は、ＣＩＦＳプロトコルヘッダ情報４０のＴｉｄ領域４３にＴｉｄ２を書き込み、クライアント１１に応答パケットを送信する。
【０３８０】
このパケットを受信したスイッチ１３は、Ｔｉｄ領域４３のＴｉｄ２をＴｉｄ管理情報に記憶する。このとき、Ｔｉｄ管理情報は図４９に示した３２ｃの状態である。次に、スイッチ１３は、そのパケットをクライアント１１に送信する。
【０３８１】
次に、アプリケーション１１ａが￥￥Ｃｖ￥Ｓｖ￥ｄ１￥ｄ１１￥ｄ２にアクセスしようとすると、ＣＩＦＳクライアント１１ｂは、ＣＩＦＳプロトコルヘッダ情報４０のＴｉｄ領域４３にサーバ１４−２から与えられたＴｉｄ２を、Ｃｏｍｍａｎｄ領域４１にアクセス要求のコマンド値を、Ｂｕｆｆｅｒ領域４４に￥Ｃ２￥Ｓ２を設定したパケットを作成し、コンピュータ名Ｃ２に送信する。
【０３８２】
以上説明したように、第１の実施例によれば、クライアント１１上のアプリケーション１１ａは、サーバ１４を意識することなく、スイッチ１３によって実現された仮想サーバＣｖにアクセスすることによって、サーバ１４−１，１４−２，・・・の共有資源にアクセスすることが可能となる。
（第２の実施例）
次に、本発明の第２の実施例について説明する。
【０３８３】
第１の実施例では、スイッチ１３のＬＡＮ２０１側にＬＡＮ２０２内のサーバ台数＋１個分のＩＰアドレスを予め登録しておく必要があった。
【０３８４】
第２の実施例では、第１の実施例と異なり、スイッチ１３の照会要求解決手段が、クライアント１１からの照会要求に対して、例えばコンピュータ名Ｃ１の共有Ｓ１にリダイレクトされるべきことを示す照会応答を返す前に、コンピュータ名Ｃ１とクライアント１１のＩＰアドレスＩＰｃを対応付けて記録する。ここで記録される情報を、以下、接続要求管理情報と称す。そして、それ以降、スイッチ１３は、ＩＰアドレスＩＰｃのクライアント１１からのアクセス要求をコンピュータ名Ｃ１に転送する。
【０３８５】
したがって、第２の実施例のスイッチ１３は、ＬＡＮ２０１側にＩＰアドレスを複数持つ必要が無く、１つでよい。
【０３８６】
図５２は、第２の実施例におけるクライアント・サーバ・システムの構成を示すブロック図である。図５２を参照すると、第２の実施例のクライアント・サーバ・システムは、スイッチ１３に予め登録されたＬＡＮ２０１側のＩＰアドレスが、第１の実施例と異なり、１つだけである。
【０３８７】
図５３は、接続要求管理情報のデータ構成を示す図である。図５３を参照すると、接続要求管理情報７０は、クライアントのＩＰアドレスと、接続先コンピュータ名とからなる。第２の実施例では、照会要求解決手段は、リダイレクトされるべきことを示す応答パケットを送信する前に、クライアント１１のＩＰアドレスとリダイレクトされるべきコンピュータ名を対応付けて接続要求管理情報として記録する。
【０３８８】
第２の実施例におけるインターセプト判断手段の動作は図５１に示した第１の実施例のものと同じである。
【０３８９】
クライアント１１上のアプリケーション１１ａが￥￥Ｃｖ￥Ｓｖ￥ｄ１内にアクセスしようとして、スイッチ１３に照会要求を送る。照会要求を受けると、スイッチ１３の照会要求解決手段は、リダイレクト先がコンピュータ名Ｃ１にある共有Ｓ１であることを示す照会応答のパケットを作成する。そして、照会要求解決手段は、クライアントのＩＰアドレスＩＰｃと接続先コンピュータ名Ｃ１とを接続要求管理情報７０に記録した後、そのパケットをクライアント１１に送信する。
【０３９０】
スイッチ１３からそのパケットを受信したクライアント１１上のＣＩＦＳクライアント１１ｂは、ＮｅｔＢＩＯＳの名前解決方法により、コンピュータ名Ｃ１に対応するＬＡＮ２０１内でのスイッチ１３のＩＰアドレスＩＰｖを取得する。本実施例では、ＬＡＮ２０１内でのスイッチ１３のＩＰアドレスはどのコンピュータ名に対してもＩＰｖである。そして、ＣＩＦＳクライアント１１ｂは、ＩＰアドレスＩＰｖに対してＴＣＰのコネクション接続要求を行う。
【０３９１】
接続要求を受けたスイッチ１３は、インターセプト判断手段にて、その要求がＣＩＦＳプロトコルか否か判断する（ステップＡ１）。接続要求はＣＩＦＳプロトコルでないので、インターセプト判断手段は、その要求がＴＣＰのコネクション接続パケットか否か判断する（ステップＡ２）。
【０３９２】
接続要求がＴＣＰのコネクション接続パケットなので、インターセプト判断手段は、接続要求管理情報７０を参照して、クライアントのＩＰアドレスＩＰｃに対応するコンピュータ名Ｃ１を取得する。そして、インターセプト判断手段は、ＮｅｔＢＩＯＳの名前解決方法により、コンピュータ名Ｃ１に対応するＬＡＮ２０２内でのＩＰアドレスＩＰｘ１を取得する。
【０３９３】
次に、インターセプト判断手段は、コネクション管理情報に、クライアントのＩＰアドレスＩＰｃおよびポート番号Ｐｃ１と、スイッチ１３のポート番号ＰＳｗ１と、サーバ１４−１のＩＰアドレスＩＰｘ１とを記録する（ステップＡ４）。
【０３９４】
次に、インターセプト判断手段は、仮想転送先選別手段に受信パケットを渡す（ステップＡ９）。
【０３９５】
仮想転送先選別手段は、サーバ１４−１のＩＰアドレスＩＰｘ１に対してＴＣＰのコネクション接続要求を行う。
【０３９６】
これ以後、同様に処理を行う。
（第３の実施例）
第２の実施例では、照会要求解決手段は、図５３に示したリダイレクト先のコンピュータ名と、クライアントのＩＰアドレスとを対応付けて、接続要求管理情報として記録した。したがって、第２の実施例では、クライアント１１のアプリケーション１１ａから、￥￥Ｃ１￥ｄ１内にアクセスしようとすると、スイッチ１３の仮想転送先選別手段が転送先を選別できない。
【０３９７】
これに対して、第３の実施例では、ＣＩＦＳプロトコルからリダイレクト先が判定されるので、リダイレクト先のコンピュータ名とクライアントのＩＰアドレスの対応関係を記録することなく、クライアント１１のアプリケーション１１ａが例えば￥￥Ｃ１￥ｄ１内にアクセスすることができる。
【０３９８】
図５４は、第３の実施例におけるインターセプト判断手段の動作を示すフローチャートである。
【０３９９】
クライアント１１上のアプリケーション１１ａが￥￥Ｃｖ￥Ｓｖ￥ｄ１内にアクセスしようとして、スイッチ１３に照会要求を送る。照会要求を受けると、スイッチ１３の照会要求解決手段は、リダイレクト先がコンピュータ名Ｃ１にある共有Ｓ１であることを示す照会応答のパケットを作成し、クライアント１１に送信する。
【０４００】
スイッチ１３からそのパケットを受信したクライアント１１上のＣＩＦＳクライアント１１ｂは、ＮｅｔＢＩＯＳの名前解決方法により、コンピュータ名Ｃ１に対応するＬＡＮ２０１内でのスイッチ１３のＩＰアドレスＩＰｖを取得する。本実施例では、ＬＡＮ２０１内でのスイッチ１３のＩＰアドレスはどのコンピュータ名に対してもＩＰｖである。そして、ＣＩＦＳクライアント１１ｂは、ＩＰアドレスＩＰｖに対してＴＣＰのコネクション接続要求を行う。
【０４０１】
図５４に示すように、接続要求を受けたスイッチ１３は、インターセプト判断手段にて、その要求がＣＩＦＳプロトコル否か判断する（ステップＡ１）。接続要求はＣＩＦＳプロトコルでないので、インターセプト判断手段は、その要求がＴＣＰのコネクション接続パケットか否か判断する（ステップＡ２）。
【０４０２】
接続要求がＴＣＰのコネクション接続パケットなので、インターセプト判断手段は、接続応答手段にそのパケットを渡す（ステップＢ３）。パケットを受けた接続応答手段は、接続要求に対する応答パケットを作成し、クライアント１１に送信する。なお、接続応答手段とは、ＴＣＰのコネクション接続要求を受け付け、それに対する応答を返すという、既存の処理を実行する手段である。
【０４０３】
それによりＬＡＮ２０１内のＴＣＰコネクションが接続されると、クライアント１１上のＣＩＦＳクライアント１１ｂは、図５０に示したＣＩＦＳプロトコルヘッダ情報４０のＣｏｍｍａｎｄ領域４１に「Ｎｅｇｏｔｉａｔｅ　Ｐｒｏｔｏｃｏｌ」を示す値を書き込んだパケットを作成し、コンピュータ名Ｃ１に宛てて送信する。「Ｎｅｇｏｔｉａｔｅ　Ｐｒｏｔｏｃｏｌ」は、一般的に、クライアントとサーバの間で最初に送受信されるコマンドである。そして、「Ｎｅｇｏｔｉａｔｅ　Ｐｒｏｔｏｃｏｌ」は、自身の適用可能なプロトコルのバージョンを通知し交渉することにより、双方が適用可能なプロトコルを求めるためのコマンドである。
【０４０４】
このパケットを受信したスイッチ１３は、インターセプト判断手段にて、ＣＩＦＳプロトコルか否か判断する（ステップＡ１）。そのパケットの内容はＣＩＦＳプロトコルなので、インターセプト判断手段は、Ｃｏｍｍａｎｄ領域４１が「Ｎｅｇｏｔｉａｔｅ　Ｐｒｏｔｏｃｏｌ」を示すコマンド値か否か判断する（ステップＢ１）。ここでは「Ｎｅｇｏｔｉａｔｅ　Ｐｒｏｔｏｃｏｌ」を示すコマンド値なので、インターセプト判断手段は、接続応答手段にそのパケットを渡す（ステップＢ３）。
【０４０５】
そのパケットを受けた接続応答手段は、応答パケットを作成し、クライアント１１に送信する。
【０４０６】
このパケットを受信したクライアント１１上のＣＩＦＳクライアント１１ｂは、図５０に示したＣＩＦＳプロトコルヘッダ情報４０のＣｏｍｍａｎｄ領域４１に「Ｓｅｓｓｉｏｎ　ｓｅｔｕｐ　ＡｎｄＸ」を示す値を、パラメータ領域４５に「Ｔｒｅｅ　Ｃｏｎｎｅｃｔ」を示す値を、Ｂｕｆｆｅｒ領域４４に￥￥Ｃ１￥Ｓ１を書き込んだパケットを作成し、コンピュータ名Ｃ１に宛てて送信する。「Ｓｅｓｓｉｏｎ　ｓｅｔｕｐ　ＡｎｄＸ」は、一般に、クライアントがサーバにログインするためのコマンドである。「ＡｎｄＸ」が付いているのが、これはパラメータ領域に次のコマンドを設定できることを示す。また、「Ｔｒｅｅ　Ｃｏｎｎｅｃｔ」は、一般に、クライアントがサーバの共有に接続するためのコマンドである。例えば、「Ｓｅｓｓｉｏｎ　ｓｅｔｕｐ　ＡｎｄＸ」のコマンドのパラメータ領域に「Ｔｒｅｅ　Ｃｏｎｎｅｃｔ」のコマンドが設定されていれば、サーバにログインした後に共有に接続するというコマンドとなる。
【０４０７】
このパケットを受信したスイッチ１３は、インターセプト判断手段にて、ＣＩＦＳプロトコルか否か判断する（ステップＡ１）。そのパケットの内容はＣＩＦＳプロトコルなので、インターセプト判断手段は、Ｃｏｍｍａｎｄ領域４１が「Ｎｅｇｏｔｉａｔｅ　Ｐｒｏｔｏｃｏｌ」を示すコマンド値か否か判断する（ステップＢ１）。ここでは「Ｎｅｇｏｔｉａｔｅ　Ｐｒｏｔｏｃｏｌ」を示すコマンド値でないので、インターセプト判断手段は、Ｃｏｍｍａｎｄ領域４１またはパラメータ領域４５が「Ｔｒｅｅ　Ｃｏｎｎｅｃｔ」を示す値か否か判断する（ステップＢ２）。ここでは、パラメータ領域４５が「Ｔｒｅｅ　Ｃｏｎｎｅｃｔ」を示す値なので、インターセプト判断手段は、Ｂｕｆｆｅｒ領域４４の￥￥Ｃ１￥Ｓ１をＴｉｄ管理情報に記憶する。
【０４０８】
次に、インターセプト判断手段は、ＮｅｔＢＩＯＳの名前解決方法により、コンピュータ名Ｃ１に対応するＬＡＮ２０２内でのＩＰアドレスＩＰｘ１を取得する。そして、インターセプト判断手段は、コネクション管理情報に、クライアントのＩＰアドレスＩＰｃおよびポート番号Ｐｃ１と、スイッチのポート番号ＰＳｗ１と、サーバ１４−１のＩＰアドレスＩＰｘ１を記録する（ステップＡ４）。このとき、コネクション管理情報は図４９の３１ｂの状態である。
【０４０９】
次に、インターセプト判断手段は、仮想転送先選別手段にパケットを渡す（ステップＡ９）。
【０４１０】
仮想転送先選別手段は、受信パケットからクライアントのＩＰアドレスＩＰｃ１およびポート番号Ｐｃ１を取得し、これらを用いてコネクション管理情報からサーバ１４−１のＩＰアドレスＩＰｘ１を判断し、ＩＰアドレスＩＰｘ１のサーバ１４−１に対してＴＣＰのコネクション接続要求を行う。
【０４１１】
それにより、ＬＡＮ２０２内のＴＣＰコネクションが接続されると、仮想転送先選別手段は、図５０に示したＣＩＦＳプロトコルヘッダ情報４０のＣｏｍｍａｎｄ領域４１に「Ｎｅｇｏｔｉａｔｅ　Ｐｒｏｔｏｃｏｌ」を示す値を設定したパケットを作成し、サーバ１４−１に送信する。
【０４１２】
「Ｎｅｇｏｔｉａｔｅ　Ｐｒｏｔｏｃｏｌ」のパケットを受信したサーバ１４−１は、応答パケットを作成し、スイッチ１３に送信する。
【０４１３】
この応答パケットを受信したスイッチ１３の仮想転送先選別手段は、クライアント１１から受信した上述のパケットをサーバ１４−１に送信する。
【０４１４】
これ以後、スイッチ１３は、クライアント１１のＩＰアドレスＩＰｃのポート番号Ｐｃ１からパケットを受信すると、仮想転送先選別手段にてコネクション管理情報を参照し、サーバ１４−１のＩＰｘ１に受信パケットを転送する。
【０４１５】
また、スイッチ１３は、サーバ１４−１のＩＰアドレスＩＰｘ１からスイッチ１３のＰＳｗ１へのパケットを受信すると、コネクション管理情報を参照し、クライアント１１のＩＰアドレスＩＰｃのポート番号Ｐｃ１に受信パケットを転送する。
【０４１６】
なお、以上説明してきたスイッチ１３は、サーバコンピュータとその上で動作するプログラムにより実現することもできる。その場合、プログラムはスイッチ１３のハードウェアを制御する。スイッチ１３の各部手段の動作はプログラムの処理を実行することにより行われる。
【０４１７】
【発明の効果】
本発明によれば、クライアントとサーバの間に論理的に配置されたスイッチ装置が、サーバに代わって照会要求を解決するので、スイッチ装置の機能だけをアップグレードすれば、新しい照会要求解決の機能を実現でき、各サーバのソフトウェアをアップグレードすることなく、システムに新しい機能を追加することができる。
【０４１８】
例えば、クライアント毎もしくはユーザ毎に異なる名前空間を提供する機能を、サーバのソフトウェアをアップグレードすることなくシステムに追加することができる。
【０４１９】
また、本発明によれば、インターセプト判断手段は、照会要求をインターセプトして解決するか否かを、オブジェクト識別子によってではなく要求の種類によって判断するため、スイッチ装置にとって非常に処理負荷が軽く、スイッチ装置の処理が通信のボトルネックとなりにくい。
【０４２０】
オブジェクト識別子によって判断を行う場合、文字列を何らかのルールに従って処理していくことが求められるため重い処理となりがちである。これに対して、要求の種類は１〜２バイト程度のビット列から単純に判断できる。
【０４２１】
また、クライアントとサーバの間に論理的に配置されたスイッチが、照会要求に含まれるオブジェクトが照会応答対象かどうかを判断し、照会要求が照会応答対象であった場合だけ、その照会要求を解決するので、スイッチ装置の機能だけで、オブジェクト毎に照会解決をするか否か判断する機能を実現できる。
【０４２２】
スイッチ装置で解決されなかった照会要求は、サーバにて解決されることになるので、例えば、照会要求解決手段を持たないサーバに送られる照会要求だけをスイッチで応答することができる。また、セキュリティ的に問題のあるオブジェクトに対する照会要求だけスイッチ装置でユーザ毎に照会応答を解決したり、といったようなことができる。
【０４２３】
また、クライアントとサーバの間に論理的に配置されたスイッチ装置が、要求が照会要求促進対象か否かを判断し、その要求が照会要求促進対象であった場合だけ、その要求をサーバに転送せず、クライアントに照会要求の発行を促すので、各サーバが照会要求解決手段および照会要求促進手段を持っているか否かにかかわらず、システムに移動透過性および統一名前空間機能を持たせることができる。
【０４２４】
また、クライアントとサーバの間に論理的に配置されたスイッチ装置が、仮想的なロケーション情報をクライアントに提供し、仮想的なロケーション情報を用いた、クライアントからの要求を実際のサーバのロケーションに転送するので、クライアントに対してサーバの実際のロケーション情報を隠すことができ、かつスイッチ装置を配置する位置の自由度が高い。
【０４２５】
例えば、クライアントは、常にスイッチ装置のＩＰアドレスに対して要求を送るようになるので、スイッチ装置の物理的な位置を自由に選択できる。具体的には、クライアントからサーバへの要求が必ずスイッチ装置を通るようにするために、クライアントに対してスイッチ装置をプロキシとして指定したり、パケットのルーティング規則を設定する必要がない。
【０４２６】
また、本発明のスイッチ装置は他スイッチ装置と共に単一名前空間を構成し、自スイッチ装置に管理されているサーバ間の共有のつなぎ目を管理するだけでなく、他スイッチ装置に管理されているサーバとの共有のつなぎ目の情報を相互に管理するので、スイッチ装置を複数用いて単一名前空間をスイッチ装置毎のドメインに区切り、ドメイン間の共有のつなぎ目を相互に管理して、複数のスイッチ装置が連携動作することができるので、１台のスイッチ装置だけではボトルネックとなる性能を向上させることができる。
【０４２７】
また、本発明のスイッチ装置は、共有のつなぎ目に関する情報のみを擬似ファイルシステムおよびロケーション情報仮想化手段にて管理し、他の部分に関する情報についてはサーバにある情報を利用することで、名前解決の処理を極力サーバに委譲し、擬似ファイルシステムおよびロケーション情報仮想化手段が記憶する情報を最小限にとどめているので、複数のスイッチ装置間での変更情報の通知および反映が容易であり、統一された単一名前空間の変更を高速に行うことができる。
【０４２８】
また、本発明による部分共有型のスイッチ装置では、スイッチ装置間で通知し、反映すべき情報がドメイン間のつなぎ目（第２の共有のつなぎ目）に関する情報だけなので、単一名前空間の変更をより高速に行うことができる。
【０４２９】
また、本発明によるスイッチ装置は、擬似ファイルシステムとロケーション情報仮想化手段の情報に基づいてスタンバイ機（予備）として機能するための冗長フェイルオーバー手段を有しているため、故障などに対する信頼性を向上できる。
【０４３０】
また、本発明の各スイッチ装置は自身の代替順位を管理して他のスイッチ装置の代替機として機能する非冗長フェイルオーバー手段を有するため、故障などに対する信頼性を安価に向上させることができる。
【０４３１】
また、本発明のスイッチ装置は、サーバの故障時に、クライアントからの要求の宛先であるリダイレクト先（仮想ロケーション情報）を変更することなく、故障したサーバへのリンク情報となっていた実際のロケーション情報を代替サーバのロケーション情報に変更することによりサーバのフェイルオーバーを実行するサーバフェイルオーバー手段を有するので、クライアントからの要求の送り先をクライアント透過に変更して、要求を代替サーバに送ることができる。また、そのためクライアントがフェイルオーバーに対応する機能を持っていなくてもよい。
【０４３２】
また、本発明によるスイッチは、単一名前空間に変更を生じさせずに、再配置後のリソースのロケーションを仮想化するように擬似ファイルシステムおよびロケーション情報仮想化手段の情報を更新する透過移動手段を有するので、管理者が、単一名前空間をそのままに、かつクライアントを再設定したりリブートすることなく、負荷や容量を分散させる目的で、オブジェクト等のリソースをサーバに再配置できる。
【０４３３】
また、本発明によるスイッチ装置は、サーバ上の実体を移動することなく、そのリンク先のみを移動先へとつなぐように擬似ファイルシステムおよびロケーション情報仮想化手段の情報を更新するリンク張替え高速移動手段を有するので、クライアントからのオブジェクト等のリソース移動の要求を高速に実行できる。
【０４３４】
また、本発明のスイッチ装置は、負荷分散先として指定されるリソース（複製）を複数のサーバ上に作成し、そのロケーションを擬似ファイルシステムおよびロケーション情報仮想化手段の情報として一貫して管理する複製作成および選択手段と、オリジナルおよび複製への負荷の分散を行う負荷分散手段を有するので、集中するアクセスを複数のサーバに振り分けて負荷分散する機能を容易に実装できる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態によるクライアント・サーバ・システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態のスイッチの構成を示すブロック図である。
【図３】本発明の第１の実施形態によるクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。
【図４】本発明の第２の実施形態のスイッチ１０１の構成を示すブロック図である。
【図５】本発明の第２の実施形態によるクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。
【図６】本発明の第３の実施形態のスイッチ１０２の構成を示すブロック図である。
【図７】本発明の第３の実施形態によるクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。
【図８】本発明の第４の実施形態のスイッチの構成を示すブロック図である。
【図９】本発明の第４の実施形態のクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。
【図１０】本発明の第５の実施形態による複数のスイッチを連携動作させた場合のネットワークの物理的構成の一例である。
【図１１】本発明の第５の実施形態による複数のスイッチを連携動作させた場合の物理的なネットワーク構成の他の例である。
【図１２】本発明の第５の実施形態による分散ファイルシステムにおける各サーバのファイル構成を示す図である。
【図１３】本発明の第５の実施形態の分散ファイルシステムによる単一名前空間のファイル構成を示す図である。
【図１４】本発明の第５の実施形態による擬似ファイルシステムおよびロケーション情報仮想化手段に登録され、管理されている情報の内容を示す表である。
【図１５】本発明の第５の実施形態において部分共有型の場合のスイッチの構成を示すブロック図である。
【図１６】本発明の第５の実施形態において全共有型の場合のスイッチの構成を示すブロック図である。
【図１７】本発明の第５の実施形態におけるスイッチの動作を説明するための各サーバのファイル構成例を示す図である。
【図１８】本発明の第５の実施形態におけるスイッチの動作を説明するための単一名前空間のファイル構成例を示す図である。
【図１９】本発明の第５の実施形態におけるスイッチの動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図２０】本発明の第６の実施形態のスイッチの構成を示すブロック図である。
【図２１】本発明の第６の実施形態におけるスイッチの動作を説明するための各サーバのファイル構成例を示す図である。
【図２２】本発明の第６の実施形態におけるスイッチの動作を説明するための単一名前空間のファイル構成例を示す図である。
【図２３】本発明の第６の実施形態におけるスイッチの動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図２４】本発明の第７の実施形態のスイッチの構成を示すブロック図である。
【図２５】本発明の第７の実施形態におけるスイッチの動作を説明するための各サーバのファイル構成例を示す図である。
【図２６】本発明の第７の実施形態におけるスイッチの動作を説明するための単一名前空間のファイル構成例を示す図である。
【図２７】本発明の第７の実施形態におけるスイッチの動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図２８】本発明の第８の実施形態のスイッチの構成を示すブロック図である。
【図２９】本発明の第８の実施形態におけるスイッチの動作を説明するための各サーバのファイル構成例を示す図である。
【図３０】本発明の第８の実施形態におけるスイッチの動作を説明するための単一名前空間のファイル構成例を示す図である。
【図３１】本発明の第８の実施形態におけるスイッチの動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図３２】本発明の第９の実施形態のスイッチの構成を示すブロック図である。
【図３３】本発明の第９の実施形態におけるスイッチのユーザ透過な動作を説明するための各サーバのファイル構成例を示す図である。
【図３４】本発明の第９の実施形態におけるスイッチのユーザ透過な動作を説明するための単一名前空間のファイル構成例を示す図である。
【図３５】本発明の第９の実施形態におけるスイッチのユーザ透過な動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図３６】本発明の第９の実施形態におけるスイッチのクライアント透過な動作を説明するための各サーバのファイル構成例を示す図である。
【図３７】本発明の第９の実施形態におけるスイッチのクライアント透過な動作を説明するための単一名前空間のファイル構成例を示す図である。
【図３８】本発明の第９の実施形態におけるスイッチのクライアント透過な動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図３９】本発明の第１０の実施形態のスイッチの構成を示すブロック図である。
【図４０】本発明の第１０の実施形態におけるスイッチの動作を説明するための各サーバのファイル構成例を示す図である。
【図４１】本発明の第１０の実施形態におけるスイッチの動作を説明するための単一名前空間のファイル構成例を示す図である。
【図４２】本発明の第１０の実施形態におけるスイッチの動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図４３】本発明の第１１の実施形態のスイッチの構成を示すブロック図である。
【図４４】本発明の第１１の実施形態におけるスイッチの動作を説明するための各サーバのファイル構成例を示す図である。
【図４５】本発明の第１１の実施形態におけるスイッチの動作を説明するための単一名前空間のファイル構成例を示す図である。
【図４６】本発明の第１１の実施形態におけるスイッチの動作を説明するための、擬似ファイルシステムおよびロケーション情報仮想化手段に管理されている情報の一例を示す図である。
【図４７】第１の実施例におけるクライアント・サーバ・システムの構成を示すブロック図である。
【図４８】第１の実施例による仮想サーバ内の共有ディレクトリのツリー構造を例示した図である。
【図４９】第１の実施例によるスイッチに設定され、または記憶される情報の一例を示している。
【図５０】ＣＩＦＳプロトコルのメッセージのヘッダ情報を示している。
【図５１】第１の実施例におけるインターセプト判断手段の動作を示すフローチャートである。
【図５２】第２の実施例におけるクライアント・サーバ・システムの構成を示すブロック図である。
【図５３】接続要求管理情報のデータ構成を示す図である。
【図５４】第３の実施例におけるインターセプト判断手段の動作を示すフローチャートである。
【図５５】従来のクライアント・サーバ・システムの一構成例を示すブロック図である。
【図５６】従来のクライアント・サーバ・システムの動作プロセスの一例を示すフローチャートである。
【符号の説明】
１１　　クライアント
１１ａ　　アプリケーション
１１ｂ　　リダイレクタ
１２　　ネットワーク
１３　　スイッチ
１４　　サーバ
１１０　　インターセプト判断手段
１２０　　照会要求解決手段
１３０　　擬似ファイルシステム
１３５　　ロケーション情報仮想化手段
１４０　　照会要求促進手段
１５０　　仮想転送先選別手段
２００　　スイッチ間専用線
２０１　　クライアント側ネットワーク
２０２　　サーバ側ネットワーク
２０３　　変更情報通知手段
２０４　　変更情報反映手段
２０５　　情報収集共有手段
２０６　　モニタ手段
２０７　　冗長フェイルオーバー手段
２０８　　非冗長フェイルオーバー手段
２０９　　代替順位記憶手段
２１０　　代替リダイレクト先通知手段
２１１　　故障検出手段
２１２　　サーバフェイルオーバー手段
２１３　　透過移動手段
２１４　　リンク張替え高速移動手段
２１５　　複製作成および選択手段
２１６　　負荷分散手段
【図１】
2004054607.tif 000003
【図２】
2004054607.tif 000004
【図３】
2004054607.tif 000005
【図４】
2004054607.tif 000006
【図５】
2004054607.tif 000007
【図６】
2004054607.tif 000008
【図７】
2004054607.tif 000009
【図８】
2004054607.tif 000010
【図９】
2004054607.tif 000011
【図１０】
2004054607.tif 000012
【図１１】
2004054607.tif 000013
【図１２】
2004054607.tif 000014
【図１３】
2004054607.tif 000015
【図１４】
2004054607.tif 000016
【図１５】
2004054607.tif 000017
【図１６】
2004054607.tif 000018
【図１７】
2004054607.tif 000019
【図１８】
2004054607.tif 000020
【図１９】
2004054607.tif 000021
【図２０】
2004054607.tif 000022
【図２１】
2004054607.tif 000023
【図２２】
2004054607.tif 000024
【図２３】
2004054607.tif 000025
【図２４】
2004054607.tif 000026
【図２５】
2004054607.tif 000027
【図２６】
2004054607.tif 000028
【図２７】
2004054607.tif 000029
【図２８】
2004054607.tif 000030
【図２９】
2004054607.tif 000031
【図３０】
2004054607.tif 000032
【図３１】
2004054607.tif 000033
【図３２】
2004054607.tif 000034
【図３３】
2004054607.tif 000035
【図３４】
2004054607.tif 000036
【図３５】
2004054607.tif 000037
【図３６】
2004054607.tif 000038
【図３７】
2004054607.tif 000039
【図３８】
2004054607.tif 000040
【図３９】
2004054607.tif 000041
【図４０】
2004054607.tif 000042
【図４１】
2004054607.tif 000043
【図４２】
2004054607.tif 000044
【図４３】
2004054607.tif 000045
【図４４】
2004054607.tif 000046
【図４５】
2004054607.tif 000047
【図４６】
2004054607.tif 000048
【図４７】
2004054607.tif 000049
【図４８】
2004054607.tif 000050
【図４９】
2004054607.tif 000051
【図５０】
2004054607.tif 000052
【図５１】
2004054607.tif 000053
【図５２】
2004054607.tif 000054
【図５３】
2004054607.tif 000055
【図５４】
2004054607.tif 000056
【図５５】
2004054607.tif 000057
【図５６】
2004054607.tif 000058