(57)【要約】コンテンツをプライマリ・サーバからクライアントに配信するための分散型ウェブ・サービング・システムが、前記クライアントにアクセス可能なデータベースを有する。前記データベースに含まれる情報に基づき、前記プライマリ・サーバからのコンテンツのコピーをどのセコンダリ・サーバから取得するのかを、前記クライアント自身が特定することができる。前記システムには、前記プライマリ・サーバ以外に、前記コンテンツを前記クライアントに配信するためのプロセッサも含まれる。このため、クライアントの最初のコンテンツ要求への前記プライマリ・サーバの割り込みの必要がない。【特許請求の範囲】
【請求項１】
プライマリ・サーバからクライアントにコンテンツを配信するためのシステムであって、前記システムが：
前記コンテンツを前記プライマリ・サーバから受信するために前記プライマリ・サーバと通信可能であり、かつ前記コンテンツを前記クライアントに送信するために前記クライアントと通信可能である、セコンダリ・サーバと、
前記クライアントにアクセス可能なデータベースであって、前記コンテンツに通じる情報が格納された、データベースと；
前記コンテンツの前記クライアントへの送信に最適なセコンダリ・サーバを特定すべく前記データベースにアクセスするための、前記プライマリ・サーバ以外のプロセッサと；
を備えた、システム。
【請求項２】
前記プロセッサが、前記クライアント、前記セコンダリ・サーバ、プロキシ・サーバ又は管理サーバからなる群から選択される、請求項１に記載のシステム。
【請求項３】
前記コンテンツに通じる前記情報に、前記コンテンツのコピーを記憶しているか否かの問合せ対象であるセコンダリ・サーバに通じる情報が含まれる、請求項１に記載のシステム。
【請求項４】
前記コンテンツに通じる前記情報に、前記セコンダリ・サーバ上の利用可能なコンテンツを列挙したリストが含まれる、請求項１に記載のシステム。
【請求項５】
前記データベースが、前記クライアントに対してローカルなデータベースである、請求項１に記載のシステム。
【請求項６】
前記データベースが前記クライアント上に記憶されている、請求項５に記載のシステム。
【請求項７】
前記データベースがプロキシ・サーバ上に記憶されている、請求項５に記載のシステム。
【請求項８】
前記クライアントにアクセス可能な前記データベースを提供するための管理サーバを更に備えた、請求項１に記載のシステム。
【請求項９】
前記データベースを更新するための管理サーバを更に備えた、請求項１に記載のシステム。
【請求項１０】
誤って特定されたセコンダリ・サーバ上で実行される誤り訂正ソフトウェアを更に備えた、請求項１に記載のシステム。
【請求項１１】
前記誤り訂正ソフトウェアに、正しいセコンダリ・サーバを決定し、前記正しいセコンダリ・サーバに通じる情報を前記クライアントに送信するための複数の命令が含まれる、請求項１０に記載のシステム。
【請求項１２】
前記誤り訂正ソフトウェアに、正しいセコンダリ・サーバを決定し、前記コンテンツを前記正しいセコンダリ・サーバから検索し、前記コンテンツを前記クライアントに送信するための複数の命令が含まれる、請求項１０に記載のシステム。
【請求項１３】
プライマリ・サーバからクライアントにコンテンツを配信するためのシステムであって、前記システムが：
前記プライマリ・サーバと通信可能な複数のセコンダリ・サーバであって、前記複数のセコンダリ・サーバの一部分集合上に前記コンテンツが記憶されている、複数のセコンダリ・サーバと；
前記クライアントにアクセス可能なデータベースであって、前記コンテンツに通じる情報が格納された、データベースと；
を備えた、システム。
【請求項１４】
前記コンテンツに通じる前記情報に、前記コンテンツのコピーを記憶しているか否かの問合せ対象であるセコンダリ・サーバに通じる情報が含まれる、請求項１３に記載のシステム。
【請求項１５】
前記コンテンツに通じる前記情報に、前記セコンダリ・サーバ上の利用可能なコンテンツを列挙したリストが含まれる、請求項１３に記載のシステム。
【請求項１６】
プライマリ・サーバからクライアントにコンテンツを配信するための方法であって、前記方法に：
前記クライアントと通信可能なセコンダリ・サーバ上に前記コンテンツのコピーを記憶することと；
前記クライアントにアクセス可能なデータベースを、前記セコンダリ・サーバ上の前記コンテンツに通じる情報について更新することと；
が含まれる、方法。
【請求項１７】
前記データベースを更新することに、前記セコンダリ・サーバに通じる情報を前記データベースに追加することが含まれる、請求項１６に記載の方法。
【請求項１８】
前記データベースを更新することに、前記セコンダリ・サーバ上の利用可能なコンテンツを示す情報を前記データベースに追加することが含まれる、請求項１６に記載の方法。
【請求項１９】
前記データベースを前記クライアント上に記憶することが更に含まれる、請求項１６に記載の方法。
【請求項２０】
前記データベースをプロキシ・サーバ上に記憶することが更に含まれる、請求項１６に記載の方法。
【請求項２１】
前記クライアントにアクセス可能な前記データベースを提供することが更に含まれる、請求項１６に記載の方法。
【請求項２２】
前記データベースを更新することが更に含まれる、請求項１６に記載の方法。
【請求項２３】
プライマリ・サーバからクライアントにコンテンツを配信するためのソフトウェアがその上に符号化されているコンピュータ読取り可能な媒体であって、前記ソフトウェアに：
前記クライアントと通信可能なセコンダリ・サーバ上に前記コンテンツのコピーを記憶するための命令と；
前記クライアントにアクセス可能なデータベースを、前記コンテンツに通じる情報について更新するための命令と；
が含まれる、コンピュータ読取り可能な媒体。
【請求項２４】
前記データベースを更新するための前記命令に、前記セコンダリ・サーバに通じる情報を前記データベースに追加するための命令が含まれる、請求項２３に記載のコンピュータ読取り可能な媒体。
【請求項２５】
前記データベースを更新するための前記命令に、前記セコンダリ・サーバ上の利用可能なコンテンツを示す情報を前記データベースに追加するための命令が含まれる、請求項２３に記載のコンピュータ読取り可能な媒体。
【請求項２６】
前記ソフトウェアに、前記データベースを前記クライアント上に記憶するための命令が更に含まれる、請求項２３に記載のコンピュータ読取り可能な媒体。
【請求項２７】
前記ソフトウェアに、前記データベースをプロキシ・サーバ上に記憶するための命令が更に含まれる、請求項２３に記載のコンピュータ読取り可能な媒体。
【請求項２８】
前記ソフトウェアに、前記クライアントにアクセス可能な前記データベースを提供するための命令が更に含まれる、請求項２３に記載のコンピュータ読取り可能な媒体。
【請求項２９】
前記ソフトウェアに、前記データベースを更新するための命令が更に含まれる、請求項２３に記載のコンピュータ読取り可能な媒体。
【請求項３０】
クライアントが所望のコンテンツをセコンダリ・サーバから検索することを可能にするためのソフトウェアがその上に符号化されている、コンピュータ読取り可能な媒体であって、前記ソフトウェアに、プライマリ・サーバからクライアントへの命令が含まれ、前記ソフトウェアに：
前記クライアントを、前記セコンダリ・サーバ上の前記コンテンツに通じる情報が格納されたデータベースへと導くための命令と；
前記コンテンツを前記セコンダリ・サーバから検索するための命令と；
が含まれる、コンピュータ読取り可能な媒体。
【請求項３１】
前記セコンダリ・サーバ上の前記コンテンツに通じる情報が格納された前記データベースが更に含まれる、請求項３０に記載のコンピュータ読取り可能な媒体。
【請求項３２】
前記コンテンツに通じる前記情報に、前記コンテンツのコピーを記憶しているか否かの問合せ対象であるセコンダリ・サーバに通じる情報が含まれる、請求項３１に記載のコンピュータ読取り可能な媒体。
【請求項３３】
前記コンテンツに通じる前記情報に、前記セコンダリ・サーバ上の利用可能なコンテンツを列挙したリストが含まれる、請求項３１に記載のコンピュータ読取り可能な媒体。
【請求項３４】
前記ソフトウェアに、前記データベースの更新のために前記管理サーバを前記データベースにアクセスさせるための命令が更に含まれる、請求項３０に記載のコンピュータ読取り可能な媒体。
【請求項３５】
所望のコンテンツをセコンダリ・サーバから検索するための方法であって、前記方法に：
前記所望のコンテンツに通じる情報が格納されたデータベースに対して問合せを行うことであって、前記情報に、複数のセコンダリ・サーバが含まれることと；
前記複数のセコンダリ・サーバから、前記所望のコンテンツのコピーを記憶している最適なセコンダリ・サーバを選択することと；
前記所望のコンテンツを、前記最適なセコンダリ・サーバから検索することと；
が含まれる方法。
【請求項３６】
最適なセコンダリ・サーバを選択することに、前記データベースからの情報に基づき、前記最適なセコンダリ・サーバから前記クライアントへのコンテンツ提供に要すると予測されるサービス時間を特定することが含まれる、請求項３５に記載の方法。
【請求項３７】
最適なセコンダリ・サーバを選択することに、前記所望のコンテンツへのアクセスが可能なセコンダリ・サーバを特定することが含まれる、請求項３５に記載の方法。
【請求項３８】
前記所望のコンテンツへのアクセスが可能なセコンダリ・サーバを特定することに、前記データベースからの情報に基づき、あるセコンダリ・サーバが前記所望のコンテンツにアクセス可能であるか否かを調べることが含まれる、請求項３７に記載の方法。
【請求項３９】
前記所望のコンテンツへのアクセスが可能なセコンダリ・サーバを特定することに、前記セコンダリ・サーバが前記所望のコンテンツにアクセス可能であるか否かの問合せをあるセコンダリ・サーバに対して行うことが含まれる、請求項３７に記載の方法。
【請求項４０】
前記データベースの更新のために、管理サーバを前記データベースにアクセスさせることが更に含まれる、請求項３５に記載の方法。
【請求項４１】
所望のコンテンツをセコンダリ・サーバから検索するためのソフトウェアがその上に符号化されている、コンピュータ読取り可能な媒体であって、前記ソフトウェアに：
前記所望のコンテンツに通じる情報が格納されたデータベースに対して問合せを行うための手段であって、前記情報に複数のセコンダリ・サーバが含まれる手段と；
前記複数のセコンダリ・サーバから、前記所望のコンテンツのコピーを記憶している最適なセコンダリ・サーバを選択するための手段と；
前記所望のコンテンツを、前記最適なセコンダリ・サーバから検索するための手段と；
が含まれる、コンピュータ読取り可能な媒体。
【請求項４２】
最適なセコンダリ・サーバを選択するための前記手段に、前記データベースからの情報に基づき、前記最適なセコンダリ・サーバから前記クライアントへのコンテンツ提供に要すると予測されるサービス時間を特定するための手段が含まれる、請求項４１に記載の方法。
【請求項４３】
最適なセコンダリ・サーバを選択するための前記手段に、前記所望のコンテンツへのアクセスが可能なセコンダリ・サーバを特定するための手段が含まれる、請求項４１に記載の方法。
【請求項４４】
前記所望のコンテンツへのアクセスが可能なセコンダリ・サーバを特定することに、前記データベースからの情報に基づき、あるセコンダリ・サーバが前記所望のコンテンツにアクセス可能であるか否かを調べることが含まれる、請求項４３に記載の方法。
【請求項４５】
前記所望のコンテンツへのアクセスが可能なセコンダリ・サーバを特定することに、あるセコンダリ・サーバに対して、前記セコンダリ・サーバが前記所望のコンテンツにアクセス可能であるか否かの問合せを行うことが含まれる、請求項４３に記載の方法。
【請求項４６】
前記データベースの更新のために、管理サーバを前記データベースにアクセスさせることが更に含まれる、請求項４１に記載の方法。
【請求項４７】
プライマリ・サーバからクライアントにコンテンツを配信するためのシステムであって、前記システムが：
前記プライマリ・サーバから前記コンテンツを受信すべく前記プライマリ・サーバと通信を行うための、及び前記コンテンツを前記クライアントに提供すべく前記クライアントと通信を行うための、サービング手段と；
前記コンテンツに通じる情報を記憶するための記憶手段と；
前記コンテンツの前記クライアントへの送信に最適なサービング手段を特定すべく前記記憶手段にアクセスするための手段と；
を備えたシステム。
【請求項４８】
前記コンテンツに通じる前記情報に、前記記憶されたコンテンツのコピーにアクセス可能であるか否かの問合せ対象である通信手段に通じる情報が含まれる、請求項４７に記載のシステム。
【請求項４９】
前記コンテンツに通じる前記情報に、前記サービング手段上の利用可能なコンテンツを列挙したリストが含まれる、請求項４７に記載のシステム。
【請求項５０】
前記記憶手段を前記クライアントに提供するための手段が更に含まれる、請求項４７に記載のシステム。
【請求項５１】
前記記憶手段を更新するための手段が更に含まれる、請求項４７に記載のシステム。
【発明の詳細な説明】
【０００１】
発明の分野
本発明は、ウェブ・サービング・システムに関し、より詳細には分散型ウェブ・サービング・システムに関する。
【０００２】
発明の背景
従来のインターネット上でのコンテンツ配信システムには、大量のデータ通信が限られた数のコンテンツ配信プライマリ・サーバに集中するという欠点がある。この問題は、複数のセコンダリ・コンテンツ・サーバからなる分散型システムを設けて、プライマリ・サーバ上の利用可能なコンテンツをこれらのセコンダリ・コンテンツ・サーバにある程度複製させることで、ある程度までは緩和される。ブラウザは、プライマリ・サーバに対してではなく、これらのセコンダリ・サーバのうちの１つに対してコンテンツを要求することによって、競合するデータ通信量が少なくなり、より迅速にサービスを受けることが可能となる。
【０００３】
しかしながら、セコンダリ・サーバ・システムは、その存在をブラウザが認知している場合においてのみ有用である。この認知は、周知の分散型ウェブ・サービング・システムにおいては、プライマリ・サーバに、クライアントのコンテンツ要求に応えて、そのコンテンツをどのセコンダリ・ウェブ・サーバから取得可能であるかを示すデータを提供させることで行われる。
【０００４】
上記の方法で、要求を行っている各クライアントへのサービス提供に要する応答時間を短縮できるものの、この方法では、最初のコンテンツ要求の度にプライマリ・サーバの割込みが必要となるという問題を解決することはできない。この従来の方法で解決できるのは、要求を行っているクライアントへのプライマリ・サーバの応答を、時間のかかるコンテンツのダウンロードから、コンテンツの一部又は全ての探索命令へと変えるという点のみである。
【０００５】
要求を行っているクライアントにとって、従来の方法では、２つのネットワーク・アクセス事象が必要とされる。第１のネットワーク・アクセス事象では、前記要求を行っているクライアントが、求めるコンテンツをどこで取得すればよいかをプライマリ・サーバに質問する。次に、第２のネットワーク・アクセス事象で、前記要求を行っているクライアントが、前記第１のネットワーク・アクセス事象で特定されたセコンダリ・サーバに接続する。このような非効率的な方法は、様々な意味で、例えばある百貨店に電話をかけて、特定の百貨店で販売されている商品についての情報を得て、その百貨店の電話番号を尋ね、電話を一旦切り、その百貨店に新たに電話をかけることに似ている。
【０００６】
発明の概要
本発明のシステム及び方法は、要求を行っているクライアントにデータベースを提供することで、前述の問題点を解決するものである。前記データベースに格納されている情報から、前記クライアントは、所望のコンテンツを迅速に配信することの可能な最適セコンダリ・サーバを特定することができる。本システムは、クライアントにこのような能力を付与し、とりわけ、前記クライアントにセコンダリ・サーバへのポインタを提供することで、各コンテンツ要求へのプライマリ・サーバの割込みを不要としたものである。
【０００７】
本発明のシステムには、プライマリ・サーバからコンテンツを受信し、前記コンテンツを要求に応えてクライアントに送信するための、前記プライマリ・サーバとの間で通信可能な少なくとも１つのセコンダリ・サーバが含まれる。前記システムには、前記プライマリ・サーバからリモートであり、かつ前記クライアントにアクセス可能であるデータベースが更に含まれる。このデータベースには、前記所望のコンテンツに通じる情報が格納されている。前記システムには、前記プライマリ・サーバ以外に、前記所望のコンテンツを前記クライアントに送信するためのプロセッサが更に含まれる。
【０００８】
一実施例においては、前記データベースに、前記コンテンツのコピーを記憶しているセコンダリ・サーバに通じる情報が格納されている。そのような情報の例には、前記所望の情報を記憶しているか否かの問合せ対象である複数のセコンダリ・サーバを列挙したリストや、複数のセコンダリ・サーバと、前記複数のセコンダリ・サーバのそれぞれに記憶されているコンテンツとを共に列挙したリストが含まれる。
【０００９】
前記プライマリ・サーバにかかる処理負荷を軽減する目的で、前記データベースは通常、例えばプロキシ・サーバ上又はセコンダリ・サーバ上のクライアントに記憶されているローカルなデータベースである。
【００１０】
前記システムに、前記データベースを提供するための、及び、必要な場合には、前記複数のセコンダリ・サーバを列挙したリストの変更又は前記複数のセコンダリ・サーバ上に記憶されているコンテンツを列挙したリストの変更に応えて前記データベースを更新するための管理サーバが更に含まれてもよい。
【００１１】
本発明のこれらの及びその他の特徴は、以下の詳細な説明及び添付の図面を参照することで明らかとなろう。
【００１２】
発明の詳細な説明
図１を参照すると、コンテンツをクライアント１２に配信するための分散型ウェブ・サービング・システム１０に、前記コンテンツのオリジナルのコピーを記憶しているプライマリ・サーバ１４が含まれる。プライマリ・サーバ１４は、複数のセコンダリ・サーバ１６ａ−ｎとデータ通信可能であり、これらのセコンダリ・サーバのそれぞれが、プライマリ・サーバ１４上に記憶されている前記オリジナルのコンテンツの全部又は一部のコピーを記憶していてもよいが、必ずしもそうでなくてもよい。選択された複数のセコンダリ・サーバ１６ａ−ｎへのプライマリ・サーバ１４からのコンテンツの配信は、前記複数のセコンダリ・サーバ１６ａ−ｎと前記プライマリ・サーバ１４との双方とデータ通信可能な管理サーバ１８の制御下で行われる。
【００１３】
クライアント１２があるウェブ・ページを検索する際に、そのウェブ・ページに複数のオブジェクトが埋め込まれていてもよい。幾つかの場合においては、前記ウェブ・ページの幾つかの部分はプライマリ・サーバ１４から検索され、その他の部分は複数のセコンダリ・サーバ１６ａ−ｎから検索される。「コンテンツ」という用語は、あるウェブ・ページに埋め込まれた特定の複数のオブジェクトを包含するものとして、かつ、そのウェブ・ページ全体を包含するものとして意図されている。
【００１４】
管理サーバ１８は、プライマリ・サーバ１４上に記憶されている特定のコンテンツを、複数のセコンダリ・サーバ１６ａ−ｎのうちのいずれかが受信する場合には、どのセコンダリ・サーバが受信するのかを調べる。特定のセコンダリ・サーバ１６ｂが特定のコンテンツを受信すると管理サーバ１８が判定した場合には、管理サーバ１８は、そのコンテンツを複製させ、この複製を、プライマリ・サーバ１４から前記特定のセコンダリ・サーバ１６ｂへと送信させる。プライマリ・サーバ１４上の前記コンテンツが変更された場合には、管理サーバ１８は、そのコンテンツの更新されたコピーを、適切なセコンダリ・サーバ１６ａ−ｎへと送信させる。
【００１５】
クライアント１２に、そのような要求の全てをプライマリ・サーバ１４に集中させるのではなく、複数のセコンダリ・サーバ１６ａ−ｎのうちの１つからコンテンツを検索させることで、コンテンツを上記のように複製し、プライマリ・サーバ１４への負荷を軽減することが可能となる。これに伴い、プライマリ・サーバ１４の稼働に要する帯域幅も縮小される。しかし、この利点を実現するためには、クライアント１２は、前記コンテンツがプライマリ・サーバ１４以外の場所から入手可能であることを、何らかの方法で認知しなければならない。
【００１６】
図１に図示するように、クライアント１２と管理サーバ１８とは、双方ともにデータベース２０と通信可能である。このデータベース２０は、通常は、例えばクライアント１２か又はプロキシ・サーバ上にローカルに記憶されている。又は、前記データベースが、管理サーバ１８に記憶されていてもよい。また、前記データベースが、そのコンテンツの一部が管理サーバ１８上に、残りのコンテンツがクライアント１２上にと分散された形で記憶されていてもよい。ここで重要なのは、データベース２０中に格納されている情報が、クライアントの最初のコンテンツ要求中へのプライマリ・サーバ１４の割込みが不要であるような具合に、１つ又は複数の場所に記憶されているという点である。
【００１７】
データベース２０には、クライアント１２を目的のコンテンツへと導く情報が格納されている。クライアント１２がＤＮＳシステムをバイパスできるように、この情報に前記複数のセコンダリ・サーバのＩＰアドレスが含まれていてもよい。この情報は、必要に応じて、管理サーバ１８によって更新される。クライアント１２は、図２及び図３を参照して述べる方法で前記データベースと対話するためのインターフェース・ソフトウェア２１を実行する。
【００１８】
第１の実施例においては、データベース２０に、複数のセコンダリ・サーバ１６ａ−ｎを列挙したリストと、前記リスト中の各セコンダリ・サーバ上に記憶されているコンテンツとが格納されている。データベース２０には、各セコンダリ・サーバとクライアント１２との間の地理的関係を示す情報も格納されており、更に、各セコンダリ・サーバ１６ａ−ｎとクライアント１２との間のトポロジカルな関係を示す情報も任意に格納されている。この情報から、クライアント１２が、コンテンツ検索に要する時間を最も短縮すると予想されるセコンダリ・サーバ１６ａ−ｃを決定してもよい。前記クライアントが、次に、前記セコンダリ・サーバに対して、前記所望のコンテンツを記憶しているか否かの問合せを行ってもよい。
【００１９】
ここで図２を参照すると、この第１の実施例では、前記クライアント又は前記管理サーバのいずれかによって実行されるセットアップ・ソフトウェアが、前記サーバからのコンテンツ受信に要すると予測されるサービス時間に対応した順番に、前記複数のセコンダリ・サーバを順位付けする（ステップ２２）。プライマリ・サーバからのデータ検索要求に応えて、前記クライアント上で実行されるインターフェース・ソフトウェア２１が、カウンタを初期化し（ステップ２４）、前記データベースを探索して、プライマリ・サーバが、前記カウンタの現在の値によって特定されるセコンダリ・サーバに前記所望のコンテンツを既に記憶させているか否かを調べる（ステップ２６）。前記セコンダリ・サーバに前記所望のコンテンツが既に記憶されている場合には、クライアントは前記セコンダリ・サーバに対し、前記所望のコンテンツのコピーを要求するメッセージを送信する（ステップ２８）。前記セコンダリ・サーバに前記所望のコンテンツが記憶されていない場合には、クライアントは、更なるセコンダリ・サーバが存在するか否かをチェックする（ステップ３０）。更なるセコンダリ・サーバが存在する場合には、クライアントは前記カウンタをインクリメントさせ（ステップ３２）、前記カウンタの新たな値によって特定されるセコンダリ・サーバについて上記のステップを繰り返す。更なるセコンダリ・サーバが存在しない場合には、クライアントは、プライマリ・サーバに対し、前記所望のコンテンツのコピーを要求するメッセージを送信する（ステップ３４）。
【００２０】
本発明の第２の実施例においては、データベース２０には、複数のセコンダリ・サーバ１６ａ−ｎを列挙したリストのみが格納されている。前記データベース２０には、各セコンダリ・サーバとクライアント１２との間の地理的関係を示す情報も格納されており、更に、各セコンダリ・サーバ１６ａ−ｎとクライアント１２との間のトポロジカルな関係を示す情報も任意に格納されている。この情報から、クライアント１２が、コンテンツ検索に要する時間を最も短縮すると予想されるセコンダリ・サーバ１６ａ−ｎを決定してもよい。
【００２１】
ここで図３を参照すると、この第２の実施例では、前記クライアント又は前記管理サーバのいずれかによって実行されるセットアップ・ソフトウェアが、前記サーバからのコンテンツ受信に要すると予測されるサービス時間に対応した順番に、前記複数のセコンダリ・サーバを順位付けする（ステップ３６）。プライマリ・サーバからのデータ検索要求に応えて、前記クライアント上で実行されるインターフェース・ソフトウェア２１が、カウンタを初期化し（ステップ３８）、前記カウンタにより特定されるサーバに対して、前記所望のコンテンツが前記セコンダリ・サーバに既に記憶されているか否かの問合せを行う（ステップ４０）。クライアントは、次に、前記セコンダリ・サーバからの応答に基づき、前記サーバが前記所望のコンテンツのコピーを保有しているか否かを調べる（ステップ４２）。前記セコンダリ・サーバが前記所望のコンテンツのコピーを保有している場合には、クライアントは前記セコンダリ・サーバにメッセージを送信して、前記所望のコンテンツのコピーを要求する（ステップ４４）。前記セコンダリ・サーバが前記所望のコンテンツのコピーを保有していない場合には、クライアントは、問合せ対象となりうる更なるセコンダリ・サーバが存在するか否かをチェックする（ステップ４６）。問合せ対象となりうる更なるセコンダリ・サーバが存在する場合には、クライアントは前記カウンタをインクリメントさせ（ステップ４８）、前記カウンタの新たな値によって特定されるセコンダリ・サーバについて上記のステップを繰り返す。問合せ対象となりうる更なるセコンダリ・サーバが存在しない場合には、クライアントは、プライマリ・サーバに対し、前記所望のコンテンツのコピーを直接に要求するメッセージを送信する（ステップ５０）。
【００２２】
分散型ウェブ・サービング・システム１０は、所望のコンテンツの検索先として最適なセコンダリ・サーバをクライアントが選択する際の誤りを訂正するための誤り訂正ソフトウェア２３を任意に有する。前記誤りは、例えば、クライアント１２上に記憶されたデータベース２０が使用廃止されているか、又はデータベース２０に誤った情報が格納されているといった場合であってもよい。これらのような状況下では、クライアント１２は、所望のコンテンツを、例えば最適でないセコンダリ・サーバ又は、最適であるが前記所望のコンテンツのコピーを保有していないセコンダリ・サーバなどの誤ったセコンダリ・サーバから取得しようと試みるであろう。
【００２３】
前記誤り訂正ソフトウェア２３は、多くの場合前記誤ったセコンダリ・サーバ上で実行されるが、前記クライアントの誤りを認識し、前記クライアントのアイデンティティを調べる。前記クライアントのアイデンティティを識別すると、誤り訂正ソフトウェア２３は、前記データベース２０の別の一コピーを使用して、前記クライアントの要求を満たすために利用可能な最適セコンダリ・サーバを特定する。誤り訂正ソフトウェア２３の役割は、要約すると、前記クライアントのオリジナルの誤った最適セコンダリ・サーバの特定を繰り返すことである。前記誤ったセコンダリ・サーバが、誤った又は使用廃止されている情報が格納されていないデータベースにアクセス可能である限り、誤り訂正ソフトウェア２３は、前記クライアントにとって最適なセコンダリ・サーバを正しく特定するであろう。次に、前記誤ったセコンダリ・サーバが、前記最適なセコンダリ・サーバのドメイン名又はＩＰアドレスのいずれであってもよい前記アイデンティティを、クライアント１２に返信してもよい。又は、前記誤ったセコンダリ・サーバ自身が、前記最適なセコンダリ・サーバから前記所望のコンテンツを検索して、前記コンテンツをクライアント１２に送信してもよい。
【００２４】
分散型ウェブ・サービング・システム１０は、所望のコンテンツの検索先として最適なセコンダリ・サーバをクライアントが選択する際の誤りを訂正するための誤り訂正ソフトウェア２３を任意に有する。前記誤りは、例えば、クライアント１２上に記憶されたデータベース２０が使用廃止されているか、又はデータベース２０に誤った情報が格納されているといった場合であってもよい。これらのような状況下では、クライアント１２は、所望のコンテンツを、例えば最適でないセコンダリ・サーバ又は、最適であるが前記所望のコンテンツのコピーを保有していないセコンダリ・サーバなどの誤ったサーバから取得しようと試みるであろう。
【００２５】
前記誤ったセコンダリ・サーバ上で実行される誤り訂正ソフトウェア２３は、前記クライアントの誤りを認識し、前記クライアントのアイデンティティを調べ、これを自身のローカルなデータベースに関する情報と一緒に用いて、前記クライアントの要求を満たすために利用可能な最適セコンダリ・サーバを特定する。前記誤り訂正ソフトウェアの役割は、要約すると、前記クライアントのオリジナルの誤った最適セコンダリ・サーバの特定を繰り返すことである。前記誤り訂正ソフトウェアが、誤った又は使用廃止されている情報が格納されていないデータベースにアクセス可能である限り、前記誤ったセコンダリ・サーバは、前記クライアントにとって最適なセコンダリ・サーバを正しく特定するであろう。次に、前記誤ったセコンダリ・サーバが、前記最適なセコンダリ・サーバの前記アイデンティティを、前記クライアントに返信してもよい。又は、前記誤ったセコンダリ・サーバ自身が、前記最適なセコンダリ・サーバから前記所望のコンテンツを検索して、前記コンテンツを前記クライアントに送信してもよい。
【００２６】
本発明の方法及びシステムにおいては、プライマリ・サーバ１４が各コンテンツ要求に割り込む必要がないので、プライマリ・サーバ１４によって費やされる処理オーバーヘッドが軽減されることが明らかである。特に、プライマリ・サーバ１４が、コンテンツ要求の度に、前記コンテンツをクライアント１２に配信する最適なセコンダリ・サーバ１６ｂを決定する必要がない。代わりに、本発明の方法及びシステムでは、クライアント１２自身が、所望のコンテンツの入手元として最適なセコンダリ・サーバ１６ｂを決定することが可能である。このことは、を格納しているデータベース２０を維持することによって、実現される。
【００２７】
第１の実施例においては、プライマリ・サーバ１４によって実行されることのない処理が、クライアント１２によって実行される。クライアント１２による前記処理を補助するために、管理サーバ１８が、データベース２０中の重要な情報を提供し、前記情報を頻繁に更新する。第２の実施例においては、前記同じ処理が、クライアント１２と、前記クライアントの問合せに応答する複数のセコンダリ・サーバ１６ａ−ｎとの間で分割される。この第２の実施例においては、クライアント１２にアクセス可能なデータベース２０は、各セコンダリ・サーバ１６ａ−ｎ上の利用可能なコンテンツをリストする必要がない。従って、この第２の実施例においては、管理サーバ１８が大規模なデータベース２０を作成してこれを頻繁に更新する必要がない。
【００２８】
この第２の実施例においては、短いセットアップ手順の間に一度だけ、管理サーバ１８がデータベース２０をクライアント１２に送るだけでよい。通常は、クライアント１２がプライマリ・サーバ１４からコンテンツを検索する最初の試みの際に、プライマリ・サーバ１４が、クライアント１２に対して、クライアント１２が次にプライマリ・サーバ１４からドキュメントを入手する機会があった場合の前記入手の迅速化を図るために、前記データベース２０を受け取ることができることを示すメッセージを送信する。クライアント１２がこのオファーを辞退する場合には、プライマリ・サーバ１４は、通常の方法でコンテンツを前記クライアントに直接に配信するか、又は前記コンテンツを提供することの可能な、例えばサーバ１６ｂなどのセコンダリ・サーバへのポインタをクライアント１２に送ることにより、配信する。
【００２９】
上記の説明は、クライアントが適切なセコンダリ・サーバを特定するタスクを実行する一実施例を挙げたものであるが、このタスクを、クライアントの代理として稼働する、プライマリ・サーバ以外の別のプロセッサが実行してもよい。例えば、前記データベースへのアクセスが可能な管理サーバ又はプロキシ・サーバが、クライアントに代わってこのタスクを実行してもよい。誤り訂正ソフトウェアに関して先に説明したように、セコンダリ・サーバがクライアントの代わりにこの機能を実行してもよい。これらの場合に共通しているのは、プライマリ・サーバ以外のプロセッサがこのタスクを実行するという点であり、これら全ての場合において、プライマリ・サーバは、クライアントの最初のコンテンツ要求に割り込む必要がない。
【００３０】
上述の複数の実施例で、本発明の主題を実現するシステム及び方法を説明したが、これらの実施例は、単に本発明を実施することの可能な方法の例を挙げたものであり、本発明の範囲全体を表すものではない。ここで新規であると訴え、特許証による保護を求めるところは：
【図面の簡単な説明】
【図１】図１は、本発明の原理を組み込んだ分散型ウェブ・サービング・システムの構成を図示したものである。
【図２】図２は、図１に図示するシステムによってインプリメントされる、所望のコンテンツをクライアントに配信するための一方法を図示したものである。
【図３】図３は、図１に図示するシステムによってインプリメントされる、所望のコンテンツをクライアントに配信するための別の一方法を図示したものである。
【図１】
2004515834.tif 000002
【図２】
2004515834.tif 000003
【図３】
2004515834.tif 000004
【国際公開パンフレット】
2004515834.tif 000005
2004515834.tif 000006
2004515834.tif 000007
2004515834.tif 000008
2004515834.tif 000009
2004515834.tif 000010
2004515834.tif 000011
2004515834.tif 000012
2004515834.tif 000013
2004515834.tif 000014
2004515834.tif 000015
2004515834.tif 000016
2004515834.tif 000017
2004515834.tif 000018
2004515834.tif 000019
2004515834.tif 000020
2004515834.tif 000021
2004515834.tif 000022
2004515834.tif 000023