(57)【要約】【課題】分散アクセスシステムにおいてクライアントから要求されたオブジェクトを短時間で供給するための技術を提供する。【解決手段】本発明の分散アクセス方法は、オブジェクトを予め格納している第１の記憶装置と、前記第１の記憶装置よりも読み出し速度が速い第２の記憶装置とを利用して、クライアントにオブジェクトを提供する複数の情報処理装置を有する分散アクセスシステムにおけるオブジェクト提供方法であって、前記複数の情報処理装置のそれぞれが、第１の記憶装置から読み出したオブジェクトを第２の記憶装置に保持しておき、クライアントからオブジェクトが要求されたとき、該オブジェクトが第２の記憶装置に記憶されていることを含む所定の条件が満たされなければ、該クライアントに該オブジェクトを提供する権限を、該オブジェクトを第２の記憶装置に記録している他の情報処理装置に委譲する。【選択図】図１
2010218402.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトを予め格納している第１の記憶装置と、前記第１の記憶装置よりも読み出し速度が速い第２の記憶装置とを利用して、クライアントにオブジェクトを提供する複数の情報処理装置を有する分散アクセスシステムにおけるオブジェクト提供方法であって、
前記複数の情報処理装置のそれぞれが、
前記第１の記憶装置から読み出したオブジェクトを前記第２の記憶装置に保持しておき、
クライアントからオブジェクトが要求されたとき、該オブジェクトが前記第２の記憶装置に記憶されていることを含む所定の条件が満たされれば、該第２の記憶装置から該オクジェクトを読み出して該クライアントに提供し、
クライアントからオブジェクトが要求されたとき、前記所定の条件が満たされなければ、該クライアントに該オブジェクトを提供する権限を、該オブジェクトを前記第２の記憶装置に記録している他の情報処理装置に委譲する、オブジェクト提供方法。
【請求項２】
他の情報処理装置からクライアントにオブジェクトを提供する権限を委譲された情報処理装置が、該オブジェクトを自身の第２の記憶装置から読み出し、該他の情報処理装置に代わって該クライアントに提供する、請求項１に記載のオブジェクト提供方法。
【請求項３】
前記所定の条件は、更に、前記オブジェクトを送信するための空き通信帯域が確保されていることを含む、請求項２に記載のオブジェクト提供方法。
【請求項４】
クライアントからオブジェクトを要求された情報処理装置は、自装置について前記所定の条件が満たされなければ、自装置から他の情報処理装置へ前記権限を委譲することを、該他の情報処理装置に要求し、
前記他の情報処理装置は、自装置について前記所定の条件が満たされていれば、前記権限を委譲する要求を了承し、前記クライアントへ前記オブジェクトを供給し、自装置について前記所定の条件が満たされていなければ、前記権限を委譲する要求を拒否し、
前記クライアントからオブジェクトを要求された情報処理装置は、前記他の情報処理装置から前記権限の委譲を拒否されると、該オブジェクトを前記第２の記憶装置に記録している別の情報処理装置に該権限の委譲を要求する、請求項３に記載のオブジェクト提供方法。
【請求項５】
前記クライアントからオブジェクトを要求された情報処理装置は、前記権限の委譲を要求した全ての情報処理装置から該要求を拒否されると、自身が該クライアントに該オブジェクトを提供する、請求項４に記載のオブジェクト提供方法。
【請求項６】
前記クライアントからオブジェクトを要求された情報処理装置は、前記権限の委譲を要求した全ての情報処理装置から該要求を拒否されると、該オブジェクトを前記第２の記憶装置に保持している全ての情報処理装置の中で前記空き通信帯域が最も大きい情報処理装置に該クライアントへの該オブジェクトの提供を依頼する、請求項４に記載のオブジェクト提供方法。
【請求項７】
前記クライアントからオブジェクトを要求された情報処理装置は、前記権限の委譲を要求した全ての情報処理装置から該要求を拒否されると、該オブジェクトを前記第２の記憶装置に保持している全ての情報処理装置の中で接続しているクライアント数が最も少ない情報処理装置に該クライアントへの該オブジェクトの提供を依頼する、請求項４に記載のオブジェクト提供方法。
【請求項８】
前記クライアントからオブジェクトを要求された情報処理装置は、前記権限の委譲を要求した全ての情報処理装置から該要求を拒否されると、該オブジェクトを前記第２の記憶装置に保持している全ての情報処理装置の中で実施中のオブジェクトの送信が最も早く完了する予定の情報処理装置に該クライアントへの該オブジェクトの提供を依頼する、請求項４に記載のオブジェクト提供方法。
【請求項９】
前記複数の情報処理装置のそれぞれが、自身の前記第１の記憶装置に保持しているオブジェクトの一覧を自装置以外の全ての情報処理装置に事前に送信し、
前記クライアントからオブジェクトを要求された情報処理装置は、自装置について前記所定の条件が満たされなければ、各情報処理装置の前記第１の記憶装置に保持しているオブジェクトの一覧に基づいて前記権限の委譲を要求する情報処理装置を決定する、請求項４から８のいずれか１項に記載のオブジェクト提供方法。
【請求項１０】
前記複数の情報処理装置のそれぞれが、自身の前記第２の記憶装置に保持しているオブジェクトの一覧および前記空き通信帯域情報を自装置以外の全ての情報処理装置に事前に送信し、
前記クライアントからオブジェクトを要求された情報処理装置は、自装置について前記所定の条件が満たされなければ、各情報処理装置の前記第２の記憶装置に保持しているオブジェクトの一覧および前記空き通信帯域情報に基づいて前記権限の委譲を要求する情報処理装置を決定する、請求項４から８のいずれか１項に記載のオブジェクト提供方法。
【請求項１１】
前記複数の情報処理装置のそれぞれが、単位時間あたりの転送データ量から前記空き通信帯域を算出する、請求項４から１０のいずれか１項に記載のオブジェクト提供方法。
【請求項１２】
前記複数の情報処理装置のそれぞれが、前記オブジェクトを一意なオブジェクトＩＤを用いて管理する、請求項４から１１のいずれか１項に記載のオブジェクト提供方法。
【請求項１３】
前記クライアントからオブジェクトを要求された情報処理装置が、前記所定の条件を満たさない場合、該オブジェクトを前記第２の記憶装置に保持している全ての情報処理装置に同時に前記権限を委譲する、請求項３に記載のオブジェクト提供方法。
【請求項１４】
オブジェクトを予め格納している第１の記憶装置と、前記第１の記憶装置よりも読み出し速度が速い第２の記憶装置とを利用して、クライアントにオブジェクトを提供する複数の情報処理装置を有する分散アクセスシステムに含まれる情報処理装置であって、
前記第１の記憶装置から読み出したオブジェクトを前記第２の記憶装置に保持するキャッシュ手段と、
前記第２の記憶装置に記憶されているオブジェクトがクライアントから要求されたときには、該第２の記憶装置から該オクジェクトを読み出して該クライアントに提供し、前記第２の記憶装置に記憶されていないオブジェクトがクライアントから要求されたときには、該クライアントに該オブジェクトを提供する権限を、該オブジェクトを第２の記憶装置に記録している他の情報処理装置に委譲する、オブジェクト提供手段と、を有する情報処理装置。
【請求項１５】
前記オブジェクト提供手段は、他の情報処理装置から、クライアントにオブジェクトを提供する権限を委譲されたら、該オブジェクトを自装置の前記第２の記憶装置から読み出し、該他の情報処理装置に代わって該クライアントに提供する、請求項１４に記載の情報処理装置。
【請求項１６】
オブジェクトを予め格納している第１の記憶装置と、前記第１の記憶装置よりも読み出し速度が速い第２の記憶装置とを利用して、クライアントにオブジェクトを提供する複数の情報処理装置を有する分散アクセスシステムに含まれる情報処理装置のプログラムであって、
前記第１の記憶装置から読み出したオブジェクトを前記第２の記憶装置に保持させ、
前記第２の記憶装置に記憶されているオブジェクトがクライアントから要求されたときには、該第２の記憶装置から該オクジェクトを読み出して該クライアントに提供させ、
前記第２の記憶装置に記憶されていないオブジェクトがクライアントから要求されたときには、該クライアントに該オブジェクトを提供する権限を、該オブジェクトを第２の記憶装置に記録している他の情報処理装置に委譲させる処理をコンピュータに実行させるためのプログラム。
【請求項１７】
他の情報処理装置から、クライアントにオブジェクトを提供する権限を委譲されたら、該オブジェクトを自装置の前記第２の記憶装置から読み出し、該他の情報処理装置に代わって該クライアントに提供させる、請求項１６に記載のプログラム。
【請求項１８】
オブジェクトを予め格納している第１の記憶装置と、前記第１の記憶装置よりも読み出し速度が速い第２の記憶装置とを利用して、クライアントにオブジェクトを提供する複数の情報処理装置を有する分散アクセスシステムにおいて、
前記複数の情報処理装置のそれぞれが、
前記第１の記憶装置から読み出したオブジェクトを前記第２の記憶装置に保持しておき、
前記第２の記憶装置に記憶されているオブジェクトがクライアントから要求されたときには、該第２の記憶装置から該オクジェクトを読み出して該クライアントに提供し、
前記第２の記憶装置に記憶されていないオブジェクトがクライアントから要求されたときには、該クライアントに該オブジェクトを提供する権限を、該オブジェクトを前記第２の記憶装置に記録している他の情報処理装置に委譲し、
他の情報処理装置からクライアントにオブジェクトを提供する権限を移譲されたら、該オブジェクトを自身の第２の記憶装置から読み出し、該他の情報処理装置に代わって該クライアントに提供する、ことを特徴とする分散アクセスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト提供方法、分散アクセスシステム、情報処理装置およびそのプログラムに関する。
【背景技術】
【０００２】
インターネットの発展などによって、ネットワーク内でやり取りされるオブジェクトのサイズおよび利用者がサーバに対してオブジェクトの提供を要求する数は、ともに急速に増加しつつある。さらに、ストリーミングビデオ配信などの普及により、サーバは、要求されたオブジェクトを高速に供給することが要求されている。
【０００３】
これらのオブジェクトを安定して供給するために、複数のサーバを用いて処理を分散させる分散アクセスシステムが利用されている。なお、分散アクセスとは、物理的または論理的に異なる、複数のデバイスまたはネットワークにまたがったアクセスのことである。分散アクセスは、特に性能向上や信頼性の確保を目的として使用される。例えば、特許文献１では、複数のクライアントから同一のデータに対するアクセスが集中した場合に複数のサーバの負荷を分散させる方法が提示されている。
【０００４】
分散アクセスシステムにおいて、各オブジェクトは、各サーバに接続されているか、あるいは、各サーバ内に備えられている記憶装置（以降、オブジェクトＤＢと称する）に蓄積されている。オブジェクトが蓄積される記憶装置は多くのオブジェクトを蓄積する必要があるため、一般に、磁気ディスク、光ディスクあるいは半導体ディスクなどが用いられる。
【０００５】
一方、磁気ディスク、光ディスクあるいは半導体ディスクなどは、データの読み出しに時間がかかるため、要求されたオブジェクトをこれらの記憶装置から読み出す構成とした場合、オブジェクトの供給は、オブジェクトＤＢからの読み出し時間に大きく依存する。そこで、オブジェクトＤＢから一度読み出したオブジェクトを、オブジェクトＤＢよりはるかに読み出し時間の短い主記憶装置に記憶しておき、二回目以降は主記憶装置から読み出すことにより読み出し時間の短縮をはかる方法がとられている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２９０７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したような背景技術の分散アクセスシステムでは、各サーバの主記憶装置の容量が有限であるため、異なるオブジェクトに対する要求が大量に発生すると、サーバは、主記憶装置に記憶していたオブジェクトを主記憶装置から削除しなければならなくなる。その結果、サーバは、削除してしまったオブジェクトが要求された場合、過去にオブジェクトＤＢから読み出したオブジェクトであるにもかかわらず再度オブジェクトＤＢから読み出す必要が発生する。このため、オブジェクトの読み出し時間が増加し、クライアントから要求されたオブジェクトの供給に時間がかかるという問題が発生する。
【０００８】
本発明の目的は、分散アクセスシステムにおいてクライアントから要求されたオブジェクトを短時間で供給するための技術を提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の分散アクセス方法は、オブジェクトを予め格納している第１の記憶装置と、前記第１の記憶装置よりも読み出し速度が速い第２の記憶装置とを利用して、クライアントにオブジェクトを提供する複数の情報処理装置を有する分散アクセスシステムにおけるオブジェクト提供方法であって、前記複数の情報処理装置のそれぞれが、前記第１の記憶装置から読み出したオブジェクトを前記第２の記憶装置に保持しておき、クライアントからオブジェクトが要求されたとき、該オブジェクトが前記第２の記憶装置に記憶されていることを含む所定の条件が満たされれば、該第２の記憶装置から該オクジェクトを読み出して該クライアントに提供し、クライアントからオブジェクトが要求されたとき、前記所定の条件が満たされなければ、該クライアントに該オブジェクトを提供する権限を、該オブジェクトを前記第２の記憶装置に記録している他の情報処理装置に委譲する。
【００１０】
また、上記目的を達成するために、本発明の情報処理装置は、オブジェクトを予め格納している第１の記憶装置と、前記第１の記憶装置よりも読み出し速度が速い第２の記憶装置とを利用して、クライアントにオブジェクトを提供する複数の情報処理装置を有する分散アクセスシステムに含まれる情報処理装置であって、前記第１の記憶装置から読み出したオブジェクトを前記第２の記憶装置に保持するキャッシュ手段と、前記第２の記憶装置に記憶されているオブジェクトがクライアントから要求されたときには、該第２の記憶装置から該オクジェクトを読み出して該クライアントに提供し、前記第２の記憶装置に記憶されていないオブジェクトがクライアントから要求されたときには、該クライアントに該オブジェクトを提供する権限を、該オブジェクトを第２の記憶装置に記録している他の情報処理装置に委譲する、オブジェクト提供手段を有する。
【００１１】
また、上記目的を達成するために、本発明のプログラムは、オブジェクトを予め格納している第１の記憶装置と、前記第１の記憶装置よりも読み出し速度が速い第２の記憶装置とを利用して、クライアントにオブジェクトを提供する複数の情報処理装置を有する分散アクセスシステムに含まれる情報処理装置のプログラムであって、前記第１の記憶装置から読み出したオブジェクトを前記第２の記憶装置に保持させ、前記第２の記憶装置に記憶されているオブジェクトがクライアントから要求されたときには、該第２の記憶装置から該オクジェクトを読み出して該クライアントに提供させ、前記第２の記憶装置に記憶されていないオブジェクトがクライアントから要求されたときには、該クライアントに該オブジェクトを提供する権限を、該オブジェクトを第２の記憶装置に記録している他の情報処理装置に委譲させる処理をコンピュータに実行させる。
【００１２】
また、上記目的を達成するために、本発明の分散アクセスシステムは、オブジェクトを予め格納している第１の記憶装置と、前記第１の記憶装置よりも読み出し速度が速い第２の記憶装置とを利用して、クライアントにオブジェクトを提供する複数の情報処理装置を有する分散アクセスシステムにおいて、前記複数の情報処理装置のそれぞれが、前記第１の記憶装置から読み出したオブジェクトを前記第２の記憶装置に保持しておき、前記第２の記憶装置に記憶されているオブジェクトがクライアントから要求されたときには、該第２の記憶装置から該オクジェクトを読み出して該クライアントに提供し、前記第２の記憶装置に記憶されていないオブジェクトがクライアントから要求されたときには、該クライアントに該オブジェクトを提供する権限を、該オブジェクトを前記第２の記憶装置に記録している他の情報処理装置に委譲し、他の情報処理装置からクライアントにオブジェクトを提供する権限を移譲されたら、該オブジェクトを自身の第２の記憶装置から読み出し、該他の情報処理装置に代わって該クライアントに提供する、ことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、分散アクセスシステムにおいてクライアントから要求されたオブジェクトを短時間で供給することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態における分散アクセスシステムの構成を示すブロック図である。
【図２】図１に示した分散アクセスシステムでクライアント１０がサーバ２０ａにオブジェクトを要求し、サーバ２０ａがオブジェクト提供権をクライアント１０に委譲するときのクライアント１０とサーバ２０ａとサーバ２０ｂのシーケンスを示す図である。
【図３】図１に示した分散アクセスシステムでサーバ２０ａがオブジェクト提供権の委譲を要求した全てのサーバから権限の委譲が拒否されたときのクライアント１０とサーバ２０ａとサーバ２０ｂのシーケンスを示す図である。
【図４】オブジェクト要求情報の例を示す図である。
【図５】オブジェクト提供権委譲情報の例を示す図である。
【図６】オブジェクト提供サーバ情報の例を示す図である。
【図７】オブジェクト提供依頼情報の例を示す図である。
【発明を実施するための形態】
【００１５】
次に本発明について図面を参照して詳細に説明する。
【００１６】
図１は本発明の一実施形態における分散アクセスシステムの構成を示すブロック図である。
【００１７】
図１に示すように、分散アクセスシステムは、複数のサーバ２０ａ、２０ｂ、複数のオブジェクトＤＢ２２０ａ、２２０ｂ、およびクライアント１０を有する。複数のサーバ２０ａ、２０ｂ、およびクライアント１０は、伝送路３０を介して接続される。なお、伝送路３０の例としては、イーサネット（登録商標）、ファイバチャネル、インフィニバンドなどがある。
【００１８】
本実施形態では、クライアントが１台で、サーバが２台である構成について説明するが、それぞれの台数に特に制限はない。
【００１９】
クライアント１０は、利用者がオブジェクトを利用するための装置であり、利用者からの要求に応じて、サーバからオブジェクトを取得する。
【００２０】
オブジェクトＤＢ２２０ａ、２２０ｂは、オブジェクトが蓄積される記憶装置である。オブジェクトＤＢ２２０ａ、２２０ｂは、例えば、磁気ディスク、光ディスク、半導体ディスクなどにより実現される。オブジェクトＤＢ２２０ａ、２２０ｂは、サーバ２０ａ、２０ｂからアクセスできるものであれば、サーバ２０ａ、２０ｂの内部に存在するものであっても、外部に存在するものであってもよい。
【００２１】
サーバ２０ａ、２０ｂは、クライアントからの要求に応じて、自身の主記憶装置によるキャッシュあるいはオブジェクトＤＢ２２０ａ、２２０ｂに保持されているオブジェクトをクライアントに提供する情報処理装置である。
【００２２】
まず、本実施形態の分散アクセスシステムの概略について説明する。
【００２３】
クライアント１０は、サーバ２０ａに所望のオブジェクト（以降、要求オブジェクトと称する）を要求する。
【００２４】
サーバ２０ａは、オブジェクトをオブジェクトＤＢ２２０ａに保持している。しかしながら、オブジェクトＤＢ２２０ａは読み出し速度が遅い。そこで、サーバ２０ａは、オブジェクトＤＢ２２０ａから一度読み出したオブジェクトを、オブジェクトＤＢ２２０ａよりはるかに読み出し速度の速い主記憶装置にキャッシュしておく。これにより、過去に要求されたオブジェクトを再び要求されると、二回目以降は読み出し速度の速い主記憶装置から読み出すことができ、短時間で読み出せるようになる。
【００２５】
サーバ２０ａは、クライアント１０から要求オブジェクトを要求されると、自装置とクライアント１０の間にクライアント１０へ要求オブジェクトを送信するための空き通信帯域を確保できるか否か、および、自装置内の主記憶装置に要求オブジェクトが記憶されているか否かを判別する。サーバ２０ａは、自装置に空き通信帯域があり、かつ、自装置内の主記憶装置に要求オブジェクトが記憶されているとき、自装置から要求オブジェクトを提供すべきと判断し、要求オブジェクトを主記憶装置から読み出してクライアント１０へ送信する。一方、自装置に空き通信帯域がない場合、あるいは、自装置内の主記憶装置に要求オブジェクトが記憶されていない場合、サーバ２０ａは、自装置に空き通信帯域があり、かつ、自装置内の主記憶装置に要求オブジェクトが記憶されている他のサーバに要求オブジェクトを提供する権限（以降、オブジェクト提供権と称する）を委譲する。サーバ２０ａからオブジェクト提供権を委譲されたサーバは、要求オブジェクトをクライアント１０へ送信する。
【００２６】
なお、オブジェクトとは、各サーバが保持しているデータである。オブジェクトは、クライアントがアクセスするデータそのものである場合もあるし、クライアントがアクセスするデータを分割したものである場合もある。信頼性およびアクセス性を向上させるために複数のサーバに各オブジェクトのレプリカ（コピー）が保持されている。
【００２７】
以下、分散アクセスシステムの構成および動作について説明する。
【００２８】
クライアント１０は、要求情報出力部１０１および情報受入部１０２を有する。
【００２９】
要求情報出力部１０１は、要求オブジェクトを任意のサーバに要求する。
【００３０】
情報受入部１０２は、要求オブジェクトをサーバから受信し、要求オブジェクトを送信したサーバに対して要求オブジェクトを受信した旨を応答する。
【００３１】
サーバ２０ａとサーバ２０ｂの構成および動作は、それぞれ同じである。以下、代表してサーバ２０ａの構成および動作について説明する。
【００３２】
サーバ２０ａは、オブジェクト提供部２０１ａ、キャッシュ部２１０ｂおよび主記憶装置２１１ａを有する。オブジェクト提供部２０１ａは、要求受入判定部２０２ａ、情報出力部２０３ａ、キャッシュヒット判定部２０４ａ、帯域計測部２０５ａ、複製情報管理部２０６ａ、出力可否判定部２０７ａ、オブジェクト提供権委譲部２０８ａおよび要求情報入力部２０９ａを有する。
【００３３】
要求情報入力部２０９ａは、直接クライアント１０から要求オブジェクトを要求される場合と、要求受入判定部２０２ａ経由で他のサーバから自装置へオブジェクト提供権を委譲することを要求される場合と、他のサーバから要求受入判定部２０２ａ経由でクライアント１０への要求オブジェクトの提供を依頼される場合とで動作が異なる。
【００３４】
なお、クライアント１０から要求オブジェクトを要求されたサーバは、自装置が要求オブジェクトを送信すべきでないと判断した場合、そのサーバから他のサーバへオブジェクト提供権を委譲することを要求する。このとき、要求を受けたサーバは、自装置が要求オブジェクトを送信すべきと判断した場合、クライアント１０へ要求オブジェクトを送信するが、そうでない場合、要求を拒否する。また、クライアント１０から要求オブジェクトを要求されたサーバは、オブジェクト提供権を委譲することを要求した全てのサーバから要求を拒否された場合、いずれかのサーバへクライアント１０への要求オブジェクトの提供を依頼する。このとき、依頼を受けたサーバは、必ず、クライアント１０へ要求オブジェクトを送信する。
【００３５】
まず、要求情報入力部２０９ａが、直接クライアント１０から要求オブジェクトを要求される場合の動作について説明する。
【００３６】
要求情報入力部２０９ａは、クライアント１０から要求オブジェクトを要求されると、出力可否判定部２０７ａに、要求オブジェクトを自装置が提供すべきか否かを問い合わせる。
【００３７】
要求情報入力部２０９ａは、要求オブジェクトを自装置が提供すべきである場合、情報出力手段２０３ａに、クライアント１０へ要求オブジェクトを提供するように指示する。一方、要求情報入力部２０９ａは、要求オブジェクトを自装置が提供すべきでない場合、オブジェクト提供権委譲部２０８ａに、オブジェクト提供権を自装置から他のサーバへ委譲するように依頼する。
【００３８】
要求情報入力部２０９ａは、オブジェクト提供権委譲部２０８ａからオブジェクト提供権の委譲が完了した旨を通知されると、クライアント１０に要求オブジェクトの要求を了承する旨を通知する。
【００３９】
次に、要求情報入力部２０９ａが、要求受入判定部２０２ａ経由で他のサーバから自装置へオブジェクト提供権を委譲することを要求される場合の動作について説明する。
【００４０】
要求情報入力部２０９ａは、要求受入判定部２０２ａ経由で他のサーバから自装置へオブジェクト提供権を委譲することを要求されると、出力可否判定部２０７ａに、要求オブジェクトを自装置が提供すべきか否かを問い合わせる。
【００４１】
そして、要求情報入力部２０９ａは、要求受入判定部２０２ｂにオブジェクト提供権を委譲する要求を了承するか否かを通知する。
【００４２】
要求情報入力部２０９ａは、要求オブジェクトを自装置が提供すべきである場合、情報出力部２０３ａに、クライアント１０へ要求オブジェクトを提供するように指示する。
【００４３】
次に、要求情報入力部２０９ａが、他のサーバから要求受入判定部２０２ａ経由でクライアント１０への要求オブジェクトの提供を依頼される場合の動作について説明する。
【００４４】
要求情報入力部２０９ａは、自装置以外のサーバから要求受入判定部２０２ａ経由で、クライアント１０への要求オブジェクトの提供を依頼されると、要求受入判定部２０２ｂに依頼を了承する旨を通知する。
【００４５】
そして、要求情報入力部２０９ａは、情報出力手段２０３ａに、クライアント１０へ要求オブジェクトを送信するように指示する。
【００４６】
出力可否判定部２０７ａは、帯域計測部２０５ａにサーバ２０ａの現在の空き通信帯域を示す空き通信帯域情報を問い合わせ、自装置とクライアント１０の間にクライアント１０へ要求オブジェクトを送信するための空き通信帯域を確保できるか否かを判別する。さらに、出力可否判定部２０７ａは、キャッシュヒット判定部２０４ａに要求オブジェクトが自装置の主記憶装置２１１ａにキャッシュされているか否かを問い合わせる。出力可否判定部２０７ａは、空き通信帯域状況とキャッシュ状況とから、要求オブジェクトを自装置が提供すべきか否かを判別する。
【００４７】
帯域計測部２０５ａは、サーバ２０ａの最大の転送速度およびサーバ２０ａの現在の単位時間あたりの転送データ量から、空き通信帯域情報を算出する。
【００４８】
キャッシュヒット判定部２０４ａは、要求オブジェクトが主記憶装置２１１ａにキャッシュされているか否かを判別する。
【００４９】
オブジェクト提供権委譲部２０８ａは、要求情報入力部２０９ａから自装置から他のサーバへオブジェクト提供権を委譲するように依頼されると、複製情報管理部２０６ａから、要求オブジェクトをクライアント１０に提供することができるサーバの一覧を示す複製情報を取得する。
【００５０】
オブジェクト提供権委譲部２０８ａは、複製情報管理部２０６ａから取得した複製情報に基づいてクライアント１０に要求オブジェクトを提供すべきサーバを選択し、自装置からそのサーバへオブジェクト提供権を委譲することを、そのサーバに要求する。
【００５１】
オブジェクト提供権委譲部２０８ａは、オブジェクト提供権を委譲することを要求したサーバからその要求を了承した旨を通知されると、要求情報入力手段２０９ａにオブジェクト提供権の委譲が完了した旨を通知する。
【００５２】
一方、オブジェクト提供権委譲部２０８ａは、オブジェクト提供権を委譲することを要求したサーバからその要求を拒否されると、再度、複製情報に基づいてクライアント１０に要求オブジェクトを送信すべきサーバを選択しなおし、自装置からそのサーバへオブジェクト提供権を委譲することを、あらためてそのサーバに要求する。
【００５３】
オブジェクト提供権委譲部２０８ａは、複製情報に基づいて選択した全てのサーバからオブジェクト提供権の委譲の要求を拒否されると、要求オブジェクトを送信するのに最も適したサーバを選択し、そのサーバに、クライアント１０への要求オブジェクトの送信を依頼する。
【００５４】
オブジェクト提供権委譲部２０８ａは、要求オブジェクトの送信を依頼したサーバが依頼を了承すると、要求情報入力部２０９ａにオブジェクト提供権の委譲が完了した旨を通知する。
【００５５】
複製情報管理部２０６ａは、複製情報を管理する。複製情報管理部２０６ａは、オブジェクト提供権委譲部２０８ａからの要求に応じて、複製情報を提供する。
【００５６】
要求受入判定部２０２ａは、他のサーバから自装置へオブジェクト提供権を委譲することを要求されると、要求情報入力部２０９ａにその要求を転送する。
【００５７】
要求受入判定部２０２ａは、要求情報入力部２０９ａからオブジェクト提供権を委譲する要求を了承する旨が通知されると、オブジェクト提供権の委譲を要求してきたサーバに、その要求を了承する旨を通知する。一方、要求受入判定部２０２ａは、要求情報入力部２０９ａからオブジェクト提供権を委譲する要求を了承しない旨を通知されると、オブジェクト提供権の委譲を要求してきたサーバに、その要求を拒否する旨を通知する。
【００５８】
情報出力部２０３ａは、要求情報入力部２０９ａからクライアント１０へ要求オブジェクトを送信するように指示されると、主記憶装置２１１ａから要求オブジェクトを読み出し、要求情報入力部２０９ａに要求オブジェクトの送信を了承する旨を通知する。そして、情報出力部２０３ａは、主記憶装置２１１ａから読み出した要求オブジェクトを、クライアント装置１０に送信する。
【００５９】
また、情報出力部２０３ａは、要求情報入力部２０９ａからクライアント１０へ要求オブジェクトを送信するように指示されたとき、主記憶装置２１１ａにその要求オブジェクトが記録されていなければ、キャッシュ部２１０ａにオブジェクトＤＢ２２０ａから要求オブジェクトを読み出させる。情報出力部２０３ａは、キャッシュ部２１０ａから要求オブジェクトを取得すると、要求情報入力部２０９ａに要求オブジェクトの送信を了承する旨を通知し、クライアント装置１０に要求オブジェクトを送信する。
【００６０】
キャッシュ部２１０ａは、情報出力部２０３ａからの要求に応じて、オブジェクトＤＢ２２０ａから要求オブジェクトを読み出す。そして、キャッシュ部２１０ａは、オブジェクトＤＢ２２０ａから読み出した要求オブジェクトを主記憶装置２１１ａに記録する。さらに、キャッシュ部２１０ａは、オブジェクトＤＢ２２０ａから読み出した要求オブジェクトを情報出力部２０３ａに提供する。
【００６１】
主記憶装置２１１ａは、キャッシュ部２１０ａがオブジェクトＤＢ２２０ａから読み出したオブジェクトを記憶する記憶装置である。主記憶装置２１１ａは、オブジェクトＤＢ２１１ａよりも読み出し速度の早い記憶装置である。
【００６２】
次に図１に示した分散アクセスシステムでクライアント１０がサーバ２０ａにオブジェクトを要求し、サーバ２０ａがオブジェクト提供権をクライアント１０に委譲するときのクライアント１０とサーバ２０ａとサーバ２０ｂのシーケンスについて説明する。
【００６３】
図２は図１に示した分散アクセスシステムでクライアント１０がサーバ２０ａにオブジェクトを要求し、サーバ２０ａがオブジェクト提供権をクライアント１０に委譲するときのクライアント１０とサーバ２０ａとサーバ２０ｂのシーケンスを示す図である。
【００６４】
まず、クライアント１０は、要求情報出力部１０１を通じてサーバ２０ａと接続する。なお、サーバ２０ａのＩＰアドレスなどを示す位置情報は、あらかじめクライアント１０に設定されていてもよいし、クライアント１０以外のクライアントやサーバ２０ａ以外のサーバから取得してもよい。
【００６５】
クライアント１０の要求情報出力部１０１は、サーバ２０ａとの接続が確立すると、サーバ２０ａの要求情報入力部２０９ａに対して要求オブジェクトを要求する旨を示すオブジェクト要求情報を送出する（ステップＭ１０１）。オブジェクト要求情報の例を図４に示す。図４に示すように、オブジェクト要求情報には、オブジェクトの要求処理を識別するためのトランザクションＩＤ、要求オブジェクトを識別するためのオブジェクトＩＤ、サーバに要求オブジェクトを送出するときに保証させる転送速度を示す転送速度情報および要求オブジェクトを要求するクライアントのＩＰアドレスなどが含まれる。分散アクセスシステム全体で情報を共有できるように、トランザクションＩＤおよびオブジェクトＩＤは、分散アクセスシステム内で一意に定められる。また、例えば、オブジェクトがファイルである場合には、オブジェクト要求情報にファイルＩＤやファイルオフセット値などが含まれる。
【００６６】
サーバ２０ａの要求情報入力部２０９ａは、クライアント１０の要求情報出力部１０１からオブジェクト要求情報を受信すると、出力可否判定部２０７ａに、要求オブジェクトを自装置が提供すべきか否かを問い合わせる（ステップＭ２０９ａ１）。
【００６７】
出力可否判定部２０７ａは、要求情報入力部２０９ａから問い合わせを受けると、帯域計測部２０５ａにサーバ２０ａの空き通信帯域情報を問い合わせる（ステップＭ２０７ａ１）。
【００６８】
帯域計測部２０５ａは、出力可否判定部２０７ａから空き通信帯域情報の問い合わせを受けると、サーバ２０ａの最大の転送速度と、サーバ２０ａの現在の単位時間あたりの転送データ量とから、空き通信帯域情報を算出する。帯域計測部２０５ａは、算出した空き通信帯域情報を出力可否判定部２０７ａに送信する（ステップＲ２０５ａ）。
【００６９】
出力可否判定部２０７ａは、帯域計測部２０５ａから空き通信帯域情報を受けると、要求オブジェクトの保証しなければならない転送速度情報と比較する。なお、転送速度情報は、クライアント１０から受信していたオブジェクト要求情報から取得してもよいし、オブジェクトごとにあらかじめサーバ２０ａに設定されているようにしてもよい。空き通信帯域情報が転送速度情報より少なく、要求オブジェクトを送信するための十分な通信帯域がない場合、出力可否判定部２０７ａは、要求情報入力部２０９ａに要求オブジェクトを自装置が提供すべきでない旨を通知する。一方、空き通信帯域情報が転送速度情報以上であり、要求オブジェクトを送信するための十分な通信帯域がある場合、出力可否判定部２０７ａは、キャッシュヒット判定部２０４ａに要求オブジェクトが自装置の主記憶装置２１１ａにキャッシュされているか否かを問い合わせる（ステップＭ２０７ａ２）。
【００７０】
キャッシュヒット判定部２０４ａは、出力可否判定部２０７ａから問い合わせを受けると、要求オブジェクトが主記憶装置２１１ａにキャッシュされているか否かを判別し、出力可否判定部２０７ａに応答する（ステップＲ２０４ａ）。
【００７１】
出力可否判定部２０７ａは、キャッシュヒット判定部２０４ａから、要求オブジェクトが主記憶装置２１１ａにキャッシュされていない旨を受信すると、要求情報入力部２０９ａに要求オブジェクトを自装置が提供すべきでない旨を通知する（ステップＲ２０７ａ）。一方、出力可否判定部２０７ａは、キャッシュヒット判定部２０４ａから、要求オブジェクトが主記憶装置２１１ａにキャッシュされている旨を受信すると、要求情報入力部２０９ａに要求オブジェクトを自装置が提供すべきである旨を通知する。
【００７２】
要求情報入力部２０９ａは、出力可否判定部２０７ａから要求オブジェクトを自装置が提供すべきである旨を通知されると、情報出力手段２０３ａに、クライアントへ要求オブジェクトを送信するように指示する。情報出力手段２０３ａは、要求情報入力部２０９ａから要求オブジェクトを送信するように指示されると、要求オブジェクトを主記憶装置２１１ａから読み出す。情報出力手段２０３ａは、要求オブジェクトを主記憶装置２１１ａから読み出すと、要求情報入力部２０９ａに要求オブジェクトの送信を了承する旨を通知する。そして、情報出力手段２０３ａは、主記憶装置２１１ａから読み出した要求オブジェクトを、クライアント装置１０の情報受入部１０２に送信する。
【００７３】
クライアント装置１０の情報受入部１０２は、要求オブジェクトを受信すると、要求オブジェクトを受信した旨を示すオブジェクト受取完了通知をサーバ２０ａの情報出力部２０３ａに通知する。
【００７４】
一方、要求情報入力部２０９ａは、出力可否判定部２０７ａから要求オブジェクトを自装置が提供すべきでない旨を通知されると、オブジェクト提供権委譲部２０８ａに、自装置から他のサーバへオブジェクト提供権を委譲するように依頼する（ステップＭ２０９ａ２）。
【００７５】
自装置から他のサーバへオブジェクト提供権を委譲するように依頼されると、オブジェクト提供権委譲部２０８ａは、複製情報管理部２０６ａに、複製情報を要求する（ステップＭ２０８ａ１）。
【００７６】
複製情報管理部２０６ａは、オブジェクト提供権委譲部２０８ａから複製情報を要求されると、その応答としてオブジェクト提供権委譲部２０８ａに複製情報を送信する（ステップＲ２０６ａ）。
【００７７】
なお、複製情報は、オブジェクトごとにそのオブジェクトを保持しているサーバの一覧を示す情報であり、各サーバに事前に設定されているものとする。また、分散アクセスシステム内の各サーバが、接続しているオブジェクトＤＢに蓄積されているオブジェクトの一覧を自装置以外の全てのサーバに事前に送信することにより、各サーバが、複製情報を共有するようにしてもよい。あるいは、分散アクセスシステム内の各サーバが、主記憶装置にキャッシュされているオブジェクトの一覧および空き通信帯域情報を自装置以外の全てのサーバに事前に送信するようにしてもよい。この場合、各サーバは、複製情報として、オブジェクトごとに、そのオブジェクトが主記憶装置にキャッシュされているサーバおよびそのサーバの空き通信帯域情報を示す情報を共有することができる。
【００７８】
オブジェクト提供権委譲部２０８ａは、複製情報管理部２０６ａから複製情報を取得すると、取得した複製情報に基づいてオブジェクト提供サーバ情報を作成する。オブジェクト提供サーバ情報の例を図６に示す。図６に示すように、オブジェクト提供サーバ情報には、トランザクションＩＤ、および要求オブジェクトを保持するサーバの情報であるオブジェクト複製サーバ情報が含まれる。オブジェクト複製サーバ情報には、そのサーバのアドレス情報が示される。また、複製情報に各オブジェクトが主記憶装置にキャッシュされているサーバおよびそのサーバの空き通信帯域情報が示される場合は、これらの情報もオブジェクト複製サーバ情報に含まれる。
【００７９】
さらに、オブジェクト提供サーバ情報には、オブジェクト提供権を委譲する要求を拒否したサーバの情報である対応不適サーバ情報が含まれる。対応不適サーバ情報には、そのサーバの空き通信帯域情報、接続しているクライアント数、送信中データの残りサイズおよび送信速度が示される。
【００８０】
オブジェクト提供権委譲部２０８ａは、オブジェクト提供サーバ情報を作成すると、オブジェクト提供サーバ情報のオブジェクト複製サーバ情報を基にオブジェクト提供権を委譲することを要求するサーバを選択する。なお、オブジェクト複製サーバ情報に、各オブジェクトが主記憶装置にキャッシュされているサーバおよびそのサーバの空き通信帯域情報が示されていない場合、オブジェクト提供権委譲部２０８ａは、オブジェクト複製サーバ情報に記載されている任意のサーバを、順次選択してよい。一方、オブジェクト複製サーバ情報に、各オブジェクトが主記憶装置にキャッシュされているサーバおよびそのサーバの空き通信帯域情報が示されている場合、オブジェクト提供権委譲部２０８ａは、要求オブジェクトを主記憶装置にキャッシュしているサーバを、空き通信帯域情報が大きい順に選択する。
【００８１】
次に、オブジェクト提供権委譲部２０８ａは、選択したサーバ２０ｂの要求受入判定部２０２ｂに、自装置からサーバ２０ｂへオブジェクト提供権を委譲することを要求する旨を示すオブジェクト提供権委譲情報を送出する（ステップＭ２０８ａ２）。オブジェクト提供権委譲情報の例を図５に示す。図５に示すように、オブジェクト提供権委譲情報には、クライアント１０から受信したオブジェクト要求情報に示されている、トランザクションＩＤ、オブジェクトＩＤ、転送速度情報および要求元のクライアントのＩＰアドレスが含まれる。
【００８２】
サーバ２０ｂの要求受入判定部２０２ｂは、サーバ２０ａのオブジェクト提供権委譲部２０８ａからオブジェクト提供権委譲情報を受信すると、受信したオブジェクト提供権委譲情報を要求情報入力部２０９ｂに送信する（ステップＭ２０２ｂ）。
【００８３】
要求受入判定部２０２ｂからオブジェクト提供権委譲情報を受信すると、要求情報入力部２０９ｂは、要求オブジェクトをクライアント１０へ提供すべきか否かを判定する。この判定処理は、サーバ２０ａがクライアント１０からオブジェクト要求情報を受信したときの処理と基本的に同様の処理となる。
【００８４】
要求情報入力部２０９ｂは、要求受入判定部２０２ｂからオブジェクト提供権委譲情報を受信すると、出力可否判定部２０７ｂに、要求オブジェクトを自装置が提供すべきか否かを問い合わせる（ステップＭ２０９ｂ１）。
【００８５】
出力可否判定部２０７ｂは、要求情報入力部２０９ｂから問い合わせを受けると、帯域計測部２０５ｂにサーバ２０ｂの現在の空き通信帯域を示す空き通信帯域情報を問い合わせる（ステップＭ２０７ｂ１）。
【００８６】
帯域計測部２０５ｂは、出力可否判定部２０７ｂから現在の空き通信帯域情報の問い合わせを受けると、サーバ２０ｂの最大の転送速度およびサーバ２０ｂの現在の単位時間あたりの転送データ量から、空き通信帯域情報を算出する。帯域計測部２０５ｂは、算出した空き通信帯域情報を出力可否判定部２０７ｂに送信する（ステップＲ２０５ｂ）。
【００８７】
出力可否判定部２０７ｂは、帯域計測部２０５ｂから空き通信帯域情報を受けると、サーバ２０ａから受信していたオブジェクト提供権委譲情報の転送速度情報と比較する。空き通信帯域情報が転送速度情報より少なく、要求オブジェクトを送信するための十分な通信帯域がない場合、出力可否判定部２０７ｂは、要求情報入力部２０９ｂに要求オブジェクトを自装置が提供すべきでない旨を通知する。このとき、出力可否判定部２０７ｂは、要求オブジェクトを自装置が提供すべきでない旨とあわせて、サーバ２０ｂの空き通信帯域情報、接続しているクライアント数、送信中データの残りサイズおよび送信速度も通知する。
【００８８】
一方、空き通信帯域情報が転送速度情報以上であり、要求オブジェクトを送信するための十分な通信帯域がある場合、出力可否判定部２０７ｂは、キャッシュヒット判定部２０４ｂに要求オブジェクトが自装置の主記憶装置２１１ｂにキャッシュされているか否かを問い合わせる（ステップＭ２０７ｂ２）。
【００８９】
キャッシュヒット判定部２０４ｂは、出力可否判定部２０７ｂから問い合わせを受けると、要求オブジェクトが主記憶装置２１１ｂにキャッシュされているか否かを判別し、出力可否判定部２０７ｂに応答する（ステップＲ２０４ｂ）。
【００９０】
出力可否判定部２０７ｂは、キャッシュヒット判定部２０４ｂから、要求オブジェクトが主記憶装置２１１ｂにキャッシュされていない旨を受信すると、要求情報入力部２０９ｂに要求オブジェクトを自装置が提供すべきでない旨を通知する（ステップＲ２０７ｂ）。このとき、出力可否判定部２０７ｂは、要求オブジェクトを自装置が提供すべきでない旨とあわせて、サーバ２０ｂの空き通信帯域情報、接続しているクライアント数、送信中データの残りサイズおよび送信速度も通知する。
【００９１】
一方、出力可否判定部２０７ｂは、キャッシュヒット判定部２０４ｂから、要求オブジェクトが主記憶装置２１１ｂにキャッシュされている旨を受信すると、要求情報入力部２０９ｂに要求オブジェクトを自装置が提供すべきである旨を通知する。このとき、出力可否判定部２０７ｂは、要求オブジェクトを自装置が提供すべきである旨とあわせて、サーバ２０ｂの空き通信帯域情報、接続しているクライアント数、送信中データの残りサイズおよび送信速度も通知する。
【００９２】
要求情報入力部２０９ｂは、要求オブジェクトを自装置が提供すべきである旨を通知されると、オブジェクト提供権を受諾する。このとき、要求情報入力部２０９ｂは、要求受入判定部２０２ｂにオブジェクト提供権委譲情報の応答としてサーバ２０ａから自装置へのオブジェクト提供権の委譲の要求を了承する旨を通知する（ステップＲ２０９ｂ）。
【００９３】
一方、要求情報入力部２０９ｂは、要求オブジェクトを自装置が提供すべきでない旨を通知されると、要求受入判定部２０２ｂにオブジェクト提供権委譲情報の応答としてサーバ２０ａから自装置へのオブジェクト提供権の委譲の要求を拒否する旨を通知する。このとき、要求情報入力部２０９ｂは、オブジェクト提供権委譲情報の応答として、自装置の空き通信帯域情報、接続しているクライアント数、送信中データの残りサイズおよび送信速度についてもあわせて通知する。
【００９４】
要求情報入力部２０９ｂからオブジェクト提供権委譲情報の応答を通知されると、要求受入判定部２０２ｂは、通知されたオブジェクト提供権委譲情報の応答をサーバ２０ａのオブジェクト提供権委譲部２０８ａに転送する（ステップＲ２０２ｂ）。
【００９５】
また、要求情報入力部２０９ｂは、出力可否判定部２０７ｂから要求オブジェクトを自装置が提供すべきである旨を通知されると、情報出力手段２０３ｂに、クライアントへ要求オブジェクトを送信するように指示する（ステップＭ２０９ｂ２）。
【００９６】
情報出力部２０３ｂは、要求情報入力部２０９ｂから要求オブジェクトを送信するように指示されると、主記憶装置２１１ｂから要求オブジェクトを読み出す（ステップＭ２０３ｂ１、ステップＲ２１１ｂ）。このとき、情報出力部２０３ｂは、読み出し速度の遅いオブジェクトＤＢからではなく、読み出し速度の速い主記憶装置から要求オブジェクトを読み出すため、要求オブジェクトの提供にかかる時間を低減することができる。
【００９７】
情報出力部２０３ｂは、要求オブジェクトを主記憶装置２１１ｂから読み出すと、要求情報入力部２０９ｂに要求オブジェクトの送信を了承する旨を示すオブジェクト送信了承通知を送信する（ステップＲ２０３ｂ）。そして、情報出力部２０３ｂは、主記憶装置２１１ｂから読み出した要求オブジェクトを、クライアント装置１０の情報受入部１０２に送信する（ステップＭ２０３ｂ２）。
【００９８】
クライアント装置１０の情報受入部１０２は、要求オブジェクトを受信すると、オブジェクト受取完了通知をサーバ２０ｂの情報出力部２０３ｂに通知する（ステップＲ１０２）。
【００９９】
一方、ステップＲ２０２ｂでサーバ２０ｂの要求受入判定部２０２ｂからオブジェクト提供権委譲応答を通知されると、サーバ２０ａのオブジェクト提供権委譲部２０８ａは、自装置からサーバ２０ｂへオブジェクト提供権を委譲する要求が了承されたか否かを判別する。
【０１００】
自装置からサーバ２０ｂへオブジェクト提供権を委譲する要求が了承されたと判別すると、オブジェクト提供権委譲部２０８ａは、サーバ２０ｂがオブジェクト提供権を受諾したと判断し、要求情報入力手段２０９ａにオブジェクト提供権の委譲が完了した旨を示すオブジェクト出力権委譲完了通知を通知する（ステップＲ２０８ａ）。オブジェクト提供権委譲部２０８ａからオブジェクト出力権委譲完了通知を通知されると、要求情報入力手段２０９ａは、クライアント１０の要求情報出力部１０１にオブジェクト要求情報を了承する旨を通知する（ステップＲ１０１）。
【０１０１】
一方、自装置からサーバ２０ｂへオブジェクト提供権を委譲する要求が拒否されたと判別すると、オブジェクト提供権委譲部２０８ａは、オブジェクト提供サーバ情報の対応不適サーバ情報としてサーバ２０ｂに関する情報を追加する。オブジェクト提供権委譲部２０８ａは、サーバ２０ｂに関する対応不適サーバ情報に、クライアントオブジェクト提供権委譲情報の応答に含まれる空き通信帯域情報、接続しているクライアント数、送信中データの残りサイズおよび送信速度を記録する。
【０１０２】
次に、オブジェクト提供権委譲部２０８ａは、再度、オブジェクト提供サーバ情報のオブジェクト複製サーバ情報を基にオブジェクト提供権の委譲を要求するサーバを選択する。オブジェクト提供権委譲部２０８ａは、選択したサーバの要求受入判定手段にオブジェクト提供権委譲情報を送出し、自装置からそのサーバへのオブジェクト提供権の委譲を要求する。
【０１０３】
次にオブジェクト提供権の委譲を要求した全てのサーバからオブジェクト提供権の委譲が拒否されたときのクライアント１０とサーバ２０ａとサーバ２０ｂのシーケンスについて説明する。
【０１０４】
図３は図１に示した分散アクセスシステムでサーバ２０ａがオブジェクト提供権の委譲を要求した全てのサーバからオブジェクト提供権の委譲が拒否されたときのクライアント１０とサーバ２０ａとサーバ２０ｂのシーケンスを示す図である。
【０１０５】
オブジェクト提供権の委譲を要求した全てのサーバから要求を拒否されると、オブジェクト提供権委譲部２０８ａは、要求オブジェクトを提供するのに最も適したサーバを選択する。オブジェクト提供権委譲部２０８ａは、例えば、要求オブジェクトを提供するサーバとして、自装置を選択し、自らクライアント１０に要求オブジェクトを提供してもよい。あるいは、オブジェクト提供権委譲部２０８ａは、例えば、オブジェクト提供サーバ情報に示されている対応不適サーバ情報を基に要求オブジェクトを提供するサーバを決定する。
【０１０６】
オブジェクト提供権委譲部２０８ａは、要求オブジェクトを提供するサーバとして、空き通信帯域が最も大きいサーバを選択してもよい。あるいは、オブジェクト提供権委譲部２０８ａは、接続しているクライアント数が最も少ないサーバを選択してもよい。あるいは、オブジェクト提供権委譲部２０８ａは、各サーバの送信中データの残りサイズおよび送信速度から、送信中データの送信完了時間を予測し、最も早く送信完了するサーバを選択してもよい。
【０１０７】
以下にサーバ２０ｂが要求オブジェクトを提供するサーバとして選択されたときの例を示す。
【０１０８】
サーバ２０ａのオブジェクト提供権委譲部２０８ａは、選択したサーバ２０ｂの要求受入判定部２０２ｂに、クライアント１０への要求オブジェクトの提供の依頼を示すオブジェクト提供依頼情報を送出する（ステップＭ２０８ａ３）。オブジェクト提供依頼情報の例を図７に示す。図７に示すように、オブジェクト提供依頼情報には、クライアント１０から受信したオブジェクト要求情報に示されている、トランザクションＩＤ、オブジェクトＩＤ、転送速度情報および要求元のクライアントのＩＰアドレスが含まれる。
【０１０９】
サーバ２０ｂの要求受入判定部２０２ｂは、サーバ２０ａのオブジェクト提供権委譲部２０８ａからオブジェクト提供依頼情報を受信すると、受信したオブジェクト提供依頼情報を要求情報入力部２０９ｂに送信する（ステップＭ２０２ｂ２）。
【０１１０】
要求受入判定部２０２ｂからオブジェクト提供依頼情報を受信すると、要求情報入力部２０９ｂは、要求受入判定部２０２ｂに依頼を了承する旨を示すオブジェクト提供依頼応答を通知する（ステップＲ２０９ｂ２）。
【０１１１】
要求情報入力部２０９ａからオブジェクト提供依頼応答を通知されると、要求受入判定部２０２ｂは、通知されたオブジェクト提供依頼応答をサーバ２０ａのオブジェクト提供権委譲部２０８ａに転送する（ステップＲ２０２ｂ２）。
【０１１２】
サーバ２０ｂの要求受入判定部２０２ｂからオブジェクト提供依頼応答を通知されると、サーバ２０ａのオブジェクト提供権委譲部２０８ａは、要求情報入力手段２０９ａにオブジェクト出力権委譲完了通知を通知する（ステップＲ２０８ａ２）。オブジェクト提供権委譲部２０８ａからオブジェクト出力権委譲完了通知を通知されると、要求情報入力部２０９ａは、クライアント１０の要求情報出力部１０１にオブジェクト要求情報を了承する旨を通知する（ステップＲ１０１）。
【０１１３】
また、要求情報入力部２０９ｂは、要求受入判定部２０２ｂにオブジェクト提供依頼応答を通知すると、情報出力手段２０３ｂに、クライアントへ要求オブジェクトを送信するように指示する（ステップＭ２０９ｂ３）。
【０１１４】
情報出力手段２０３ｂは、要求情報入力部２０９ｂから要求オブジェクトを送信するように指示されると、主記憶装置２１１ｂから要求オブジェクトを読み出す（ステップＭ２０３ｂ２、ステップＲ２１１ｂ２）。
【０１１５】
なお、このとき、主記憶装置２１１ｂにその要求オブジェクトが記録されていなければ、情報出力部２０３ｂは、キャッシュ部２１０ｂにオブジェクトＤＢ２２０ｂから要求オブジェクトを読み出すように依頼する。キャッシュ部２１０ａは、オブジェクトＤＢ２２０ｂから要求オブジェクトを読み出すように依頼されると、オブジェクトＤＢ２２０ａから要求オブジェクトを読み出し、読み出した要求オブジェクトを主記憶装置２１１ｂに記録する。さらに、キャッシュ部２１０ｂは、読み出した要求オブジェクトを情報出力部２０３ｂに提供する。
【０１１６】
情報出力部２０３ｂは、キャッシュ部２１０ｂから要求オブジェクトを取得すると、要求情報入力部２０９ａに要求オブジェクトの送信を了承する旨を示すオブジェクト送信了承通知を送信する（ステップＲ２０３ｂ２）。そして、情報出力手段２０３ｂは、読み出した要求オブジェクトを、クライアント装置１０の情報受入部１０２に送信する（ステップＭ２０３ｂ３）。
【０１１７】
クライアント装置１０の情報受入部１０２は、要求オブジェクトを受信すると、オブジェクト受取完了通知をサーバ２０ｂの情報出力部２０３ｂに通知する（ステップＲ１０２２）。
【０１１８】
例えば、要求オブジェクトの保障しなければならない転送速度が１０Ｍｂｐｓであり、サーバ２０ａの空き通信帯域が２０Ｍｂｐｓであり、サーバ２０ａの主記憶装置２１１ａに要求オブジェクトがキャッシュされていない場合、サーバ２０ａは、自装置から他のサーバへのオブジェクト提供権の委譲を要求する。
【０１１９】
このとき、サーバ２０ａからオブジェクト提供権の委譲を要求されたサーバ２０ｂの空き通信帯域が１５Ｍｂｐｓであり、サーバ２０ａの主記憶装置２１１ａに要求オブジェクトがキャッシュされている場合、サーバ２０ｂがクライアント１０へ要求オブジェクトを送信する。
【０１２０】
また、例えば、要求オブジェクトの保障しなければならない転送速度が１０Ｍｂｐｓであり、サーバ２０ａの空き通信帯域が２０Ｍｂｐｓであり、サーバ２０ａの主記憶装置２１１ａに要求オブジェクトがキャッシュされている場合は、サーバ２０ａがクライアント１０へ要求オブジェクトを送信する。
【０１２１】
また、例えば、要求オブジェクトの保障しなければならない転送速度が１０Ｍｂｐｓであり、サーバ２０ａの空き通信帯域が５Ｍｂｐｓの場合は、サーバ２０ａは、主記憶装置２１１ａに要求オブジェクトがキャッシュされているか否かを確認せずに自装置から他のサーバへのオブジェクト提供権の委譲を要求する。
【０１２２】
このとき、サーバ２０ａからオブジェクト提供権の委譲を要求されたサーバ２０ｂの空き通信帯域が３Ｍｂｐｓの場合は、サーバ２０ｂは、主記憶装置２１１ｂに要求オブジェクトがキャッシュされているか否かを確認せずに、要求を拒否する。
【０１２３】
この場合、サーバ２０ａの空き通信帯域の方が、サーバ２０ｂの空き通信帯域よりも大きいため、サーバ２０ａがクライアント１０へ要求オブジェクトを送信する。
【０１２４】
以上説明したように、本実施形態によれば、分散アクセスシステムにおいて、クライアントからオブジェクトの提供を要求されたサーバは、自身がそのオブジェクトをキャッシュしていなければ、そのオブジェクトをキャッシュしている他のサーバにオブジェクトを提供する権限を委譲する。クライアントからオブジェクトの提供を要求されたサーバは、そのオブジェクトを自身がキャッシュしていなくても、他のサーバがキャッシュしていれば、オブジェクトＤＢからオブジェクトを読み出す必要がない。これにより、読み出し速度の遅いオブジェクトＤＢからの読み出し処理を抑止でき、短時間でオブジェクトを提供できる。
【０１２５】
なお、分散アクセスシステムでは、各オブジェクト転送時間を短縮できるため、システム全体のオブジェクト転送帯域を向上することができる。また、システム全体のオブジェクト転送帯域が、オブジェクトＤＢの読み出し時間によって制限されることがなくなる。また、複数のサーバに同一のオブジェクトが重複してキャッシュされる可能性が低減し、システム全体でキャッシュされるオブジェクトの種類数を向上することができる。
【０１２６】
また、本実施形態によれば、他のサーバからクライアントにオブジェクトを提供する権限を委譲されたサーバが、直接クライアントにオブジェクトを提供するので、オブジェクトの転送などの冗長な処理を行うことなくオブジェクトを提供できる。
【０１２７】
また、本実施形態によれば、クライアントからオブジェクトの提供を要求されたサーバは、オブジェクトを送信するための空き通信帯域が確保されていない場合、そのオブジェクトをキャッシュしている他のサーバにオブジェクトを提供する権限の委譲を要求し、要求を受けたサーバは、オブジェクトを送信するための空き通信帯域が確保されていない場合、その要求を拒否する。これにより、高負荷な状態のサーバの使用を抑えることができるため、分散アクセスシステム全体のオブジェクト転送帯域を安定させることができる。
【０１２８】
また、本実施形態によれば、クライアントにオブジェクトを提供する権限の委譲を要求されたサーバが、そのオブジェクトをキャッシュしていなければ、その要求を拒否し、クライアントからオブジェクトの提供を要求されたサーバは、別のサーバに権限の委譲を要求しなおす。これにより、読み出し速度の遅いオブジェクトＤＢからの読み出し処理をさらに抑止できる。
【０１２９】
また、本実施形態によれば、全てのサーバで、空き通信帯域が十分でないかあるいは要求オブジェクトが主記憶装置にキャッシュされていない場合、クライアントからオブジェクトを要求されたサーバが要求オブジェクトを提供することにより、全てのサーバがオブジェクトを提供できない状況であってもクライアントへのオブジェクトの提供を保障することができる。
【０１３０】
また、本実施形態によれば、全てのサーバで、空き通信帯域が十分でないかあるいは要求オブジェクトが主記憶装置にキャッシュされていない場合、空き通信帯域が最も大きいサーバに要求オブジェクトを送信させることにより、各サーバの負荷を分散することができる。
【０１３１】
また、本実施形態によれば、全てのサーバで、空き通信帯域が十分でないかあるいは要求オブジェクトが主記憶装置にキャッシュされていない場合、接続しているクライアント数が最も少ないサーバに要求オブジェクトを送信させることにより、各サーバの負荷を分散することができる。
【０１３２】
また、本実施形態によれば、全てのサーバで、空き通信帯域が十分でないかあるいは要求オブジェクトが主記憶装置にキャッシュされていない場合、実施中のオブジェクトの送信が最も早く完了する予定のサーバに要求オブジェクトを送信させることにより、各要求オブジェクトをクライアントに提供する時間を最短にすることができる。
【０１３３】
また、本実施形態によれば、各サーバが、オブジェクトＤＢに保持しているオブジェクトの一覧を自装置以外の全てのサーバに事前に送信しておくことにより、クライアントからオブジェクトを要求されたサーバは、そのオブジェクトをクライアントに送信するサーバをすみやかに選択することができる。
【０１３４】
また、本実施形態によれば、各サーバが、主記憶装置にキャッシュされているオブジェクトの一覧および空き通信帯域情報を自装置以外の全てのサーバに事前に送信しておくことにより、クライアントからオブジェクトを要求されたサーバは、そのオブジェクトをクライアントに送信するサーバをすみやかに選択することができる。
【０１３５】
なお、本実施形態では、クライアントからオブジェクトを要求されたサーバは、そのオブジェクトを保持するサーバのうちの一台にオブジェクト提供権の委譲を要求し、その要求が拒否されると、改めて別のサーバにオブジェクト提供権の委譲を要求する例を示した。クライアントからオブジェクトを要求されたサーバは、そのオブジェクトを保持する全てのサーバに対して、オブジェクト提供権の委譲の要求に対する応答を待たずにまとめてオブジェクト提供権を委譲してもよい。その場合、各サーバがオブジェクトを提供すべきか否かを判別する時間を効率化できるため、クライアントに要求オブジェクトを提供する時間を短くすることができる。
【符号の説明】
【０１３６】
１０  クライアント
２０ａ、２０ｂ  サーバ
３０  伝送路
１０１  要求情報出力部
１０２  情報受入部
２０１ａ、２０１ｂ  オブジェクト提供部
２０２ａ、２０２ｂ  要求受入判定部
２０３ａ、２０３ｂ  情報出力部
２０４ａ、２０４ｂ  キャッシュヒット判定部
２０５ａ、２０５ｂ  帯域計測部
２０６ａ、２０６ｂ  複製情報管理部
２０７ａ、２０７ｂ  出力可否判定部
２０８ａ、２０８ｂ  オブジェクト提供権委譲部
２０９ａ、２０９ｂ  要求情報入力部
２１０ａ、２１０ｂ  キャッシュ部
２１１ａ、２１１ｂ  主記憶装置
２２０ａ、２２０ｂ  オブジェクトＤＢ
【図１】
2010218402.tif 000003
【図２】
2010218402.tif 000004
【図３】
2010218402.tif 000005
【図４】
2010218402.tif 000006
【図５】
2010218402.tif 000007
【図６】
2010218402.tif 000008
【図７】
2010218402.tif 000009