(57)【特許請求の範囲】
【請求項１】
クライアント計算機、サーバ計算機及びコンテンツ・プロバイダ計算機からなる、分散計算機環境において、デジタル・ドキュメントの形態であるリソースの位置を指名するためのコンピュータ化された方法であって、
当該指名は、クライアント計算機で行われ、
クライアント計算機が、サーバ計算機に要求し、サーバ計算機から配布されるＳｍａｒｔＬｉｎｋパラメータ、
クライアント計算機が有するクライアント環境パラメータ及び
クライアント計算機からのコンテンツ・プロバイダ計算機への問い合わせによって、コンテンツ・プロバイダ計算機から得られるコンテンツ・プロバイダ・パラメータなどのコンテンツ・プロバイダの環境パラメータを使用して評価を行うことにより、リソースの位置を指名することを特徴とする方法。
【請求項２】
請求項１に記載の分散計算機環境は、クライアント計算機に接続されたユーザ、サーバ計算機に接続されたクリエータ計算機を、さらに、含み、また、前記クライアント環境パラメータが、クライアント計算機の位置、コンテンツ配布帯域幅であるところの伝送速度又はユーザの予算であるところのクライアント計算機の能力である、請求項１に記載の方法。
【請求項３】
前記サーバ計算機がクリエータ計算機でもある請求項２記載の方法。
【請求項４】
前記コンテンツ・プロバイダ計算機が、グループ・リーダ計算機及び分散計算機環境を構成する複数のコンテンツ・プロバイダ計算機からなるコンテンツ・プロバイダ・グループを構成しており、
分散計算機環境パラメータの更新が、コンテンツ・プロバイダ・グループ内のグループ・リーダ計算機によって調整された周期的または非周期的のいずれかで行われ、
グループ・リーダ計算機により指示されたコンテンツ・プロバイダ計算機がグループに動的に加入し、または、離脱し、
加入に際しては、該グループに加入するコンテンツ・プロバイダ計算機に対して、コンテンツ・プロバイダ・グループ内の少なくとも１つのグループ・メンバによって、前記コンテンツ・プロバイダ計算機のグループのコンテンツ及び分散計算機環境パラメータが送られ、
離脱に際しては、グループを離脱するコンテンツ・プロバイダ計算機は、直接的にまたはグループ・リーダ計算機に通知することによってのいずれかで、前記グループの離脱をグループ内の他のコンテンツ・プロバイダ計算機に通知する、
ようにした、請求項２に記載の方法。
【請求項５】
クライアント計算機、サーバ計算機及びコンテンツ・プロバイダ計算機からなる、分散計算機環境において、デジタル・ドキュメントの形態であるリソースの位置を指名するためのリソース指名機構であって、
当該指名は、クライアント計算機で行われ、
クライアント計算機が、サーバ計算機に要求し、サーバ計算機から配布されるＳｍａｒｔＬｉｎｋパラメータ、
クライアント計算機が有するクライアント環境パラメータ及び
クライアント計算機からのコンテンツ・プロバイダ計算機への問い合わせによって、コンテンツ・プロバイダ計算機から得られるコンテンツ・プロバイダ・パラメータなどのコンテンツ・プロバイダの環境パラメータを使用して評価を行うことにより、リソースの位置を指名することを特徴とするリソース指名機構。
【請求項６】
請求項５に記載の分散計算機環境は、クライアント計算機に接続されたユーザ、サーバ計算機に接続されたクリエータ計算機を、さらに、含み、また、前記クライアント環境パラメータが、クライアント計算機の位置、コンテンツ配布帯域幅であるところの伝送速度又はユーザの予算であるところのクライアント計算機の能力である、請求項５に記載のリソース指名機構。
【請求項７】
前記サーバ計算機がクリエータ計算機でもある請求項６記載のリソース指名機構。
【請求項８】
前記コンテンツ・プロバイダ計算機が、グループ・リーダ計算機及び分散計算機環境を構成する複数のコンテンツ・プロバイダ計算機からなるコンテンツ・プロバイダ・グループを構成しており、
分散計算機環境パラメータの更新が、コンテンツ・プロバイダ・グループ内のグループ・リーダ計算機によって調整された周期的または非周期的のいずれかで行われ、
グループ・リーダ計算機により指示されたコンテンツ・プロバイダ計算機がグループに動的に加入し、または、離脱し、
加入に際しては、該グループに加入するコンテンツ・プロバイダ計算機に対して、コンテンツ・プロバイダ・グループ内の少なくとも１つのグループ・メンバによって、前記コンテンツ・プロバイダ計算機のグループのコンテンツ及び分散計算機環境パラメータが送られ、
離脱に際しては、グループを離脱するコンテンツ・プロバイダ計算機は、直接的にまたはグループ・リーダ計算機に通知することによってのいずれかで、前記グループの離脱をグループ内の他のコンテンツ・プロバイダ計算機に通知する、
ようにした、請求項６に記載のリソース指名機構。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ及びコンピュータ・ネットワークに関し、具体的には、リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構に関する。さらに具体的には、本発明は、カストマイズされたインターネット上の名前解決のための、解決された情報リソースの利用可能性の水準を拡張する機構に関する。
【０００２】
【従来の技術】
辞書の定義は本明細書の用語にあてはまるが、読者を支援するために、一部の用語の以下の定義を提供する。
【０００３】
インターネット
ＴＣＰ／ＩＰプロトコルを使用するネットワーク及びゲートウェイからなるネットワーク。
【０００４】
クライアント
クライアントとは、コマンドに関連するタスクを実行するサーバにコマンドを発行するコンピュータである。
【０００５】
サーバ
別のコンピュータのコマンドでタスクを実行するコンピュータは、すべてがサーバである。ウェブ・サーバは、通常は、１つまたは複数のクライアントをサポートし、ＨＴＴＰ（Hyper-Text Transfer Protocol）を使用して、クライアントからのデータの要求を処理する。
【０００６】
ワールド・ワイド・ウェブ（ＷＷＷまたはウェブ）
インターネット上で情報を探している人が、関心のある強調表示された単語または句（ハイパーリンク）を活動化することによってサーバからサーバへ、またはデータベースからデータベースへ切り替えることができるようにする、インターネットの応用。インターネットＷＷＷサーバは、クライアントをサポートし、情報を提供する。ウェブは、インターネットのビューを提示し、ここでは、リソースのすべてがＵＲＬとしてアドレッシングされる。
【０００７】
ＵＲＮ（Universal Resource Name）
特定の名前を１つまたは複数のリソースにマッピングするのに使用できる、インターネット上のリソースのための命名方式。ＵＲＮは、次の３つの基本的な能力を有する。ＵＲＮは、スコープが大域的（名前はどこでも同じ意味を有する）であり、グローバルにユニーク（同一のＵＲＮは、別のリソースには絶対に割り当てられない）であり、永続的（ほとんどの場合、ＵＲＮの寿命は永久的である）である。
【０００８】
ＵＲＣ（Universal Resource Characteristics）
ＵＲＣは、リソースの属性に基づいてインターネット内のリソースを突き止めるための方式である。これによって、属性が名前または位置に束縛される。
【０００９】
ＵＲＬ（Universal Resource Locator）
インターネット上の情報を一意に識別またはアドレッシングする方法。電子メール・アドレスのウェブ・ドキュメント版と見なすことができる。ＵＲＬは、ハイパーリンクを用いてアクセスできる。ＵＲＬの１例が「http://www.arun.com:80/table.html」である。ＵＲＬには４つの構成要素がある。左から始めると、第１の要素は、「:」によって残りの部分から分離され、リソースをアクセスするプロトコルを指定する。次の要素は、ターゲット・ホストのホスト名またはＩＰアドレスであり、これは、左側の「//」と右側の「/」または任意選択の「:」によって区切られる。ポート番号は任意選択であり、左側のホスト名との間は「:」、右側は「/」によって区切られる。第４の構成要素は、実際のファイル名またはプログラム名である。この例では、拡張子「.html」から、これがＨＴＭＬファイルであることが示される。
【００１０】
ＨＴＭＬ（HyperText Markup Language）
ＨＴＭＬは、ウェブ・クライアントによって表示されるドキュメントを作成し、接続するためにウェブ・サーバが使用する言語である。ＨＴＭＬでは、ハイパーテキスト・ドキュメントが使用される。
【００１１】
ＨＴＴＰ（Hypertext transfer protocol）
ＨＴＴＰは、ステートレス・プロトコルの１例である。ステートレスとは、クライアントからサーバへの要求のすべてが、独立に扱われることを意味する。サーバは、前の接続の記録を有しない。ＨＴＴＰは、ＵＲＬで指定できるアクセス・プロトコルの１つである。
【００１２】
インターネット・ブラウザまたはウェブ・ブラウザ
ＨＴＴＰなどのインターネット・プロトコルを実行し、クライアントの画面にサーバからの結果を表示する、グラフィカル・インターフェース・クライアント・ツール。ブラウザは、ユーザがインターネット・「サーフィン」を行う時に、絵図によるデスクトップ、ディレクトリ及び検索ツールを含むインターネットの案内役として働くことができる。本特許出願書では、ウェブ・ブラウザは、ワールド・ワイド・ウェブと通信するクライアント・サービスである。
【００１３】
アプレット
サーバからクライアントへダウンロードされ、クライアント側で実行されるコード片。
【００１４】
ジャバ（Java）
インターネットでのプログラミングのためにSun Microsystems社によって開発されたオブジェクト指向コンピュータ・プログラミング言語。インターネット・ブラウザのほとんどが、アプレットを記述する言語としてジャバをサポートする。
【００１５】
オブジェクト
いくつかのデータと外部からアクセス可能なメソッドの組を組み込んでカプセル化された実体。オブジェクトは、定義済みのメソッドの呼出しを介してのみ操作できる。
【００１６】
分散システム
それぞれが独自のＣＰＵと記憶装置（主記憶を含む）を有する、計算機械の集合。計算機は、イーサネット、光ファイバＡＴＭネットワーク、無線（セルラ）技術を含む（これに制限されるものではない）通信媒体を介して接続される。
【００１７】
従来の情報サービスは、現在、アクセス可能な関連情報に対する顧客の依存度の高まりに対処する必要から、急激に発達しつつある。この発達の最も重要な産物の１つが、システム全体への情報リソースの分散すなわち、高度に分散された情報サービスの作成である。
【００１８】
この発達の特筆すべき例の１つが、ワールド・ワイド・ウェブ（ＷＷＷ）である。この例では、通常はディジタル・ドキュメントの形態であるリソースが、インターネット全体に分散され、多数の可能なブラウザ・インターフェースのうちの１つを介してユーザによってアクセスされる。アクセス・モデルは、「クライアント／サーバ」・モデルであり、ブラウザがクライアント、ウェブ・サーバがサーバになる。このモデルでは、クライアントは、特定のドキュメントまたはリソースを突き止める最初のステップとして、ファイル（ブックマーク）にアクセスするか、周知の検索エンジン（別の情報サービス）に問い合わせることができる。このアクセスまたは問合せは、ＵＲＬと称する識別子をもたらす。ＵＲＬによって、システム内に常駐するドキュメントまたはリソースが一意に識別され、これを使って、所望のリソースにアクセスできる。
【００１９】
上のウェブの例と同様に、ほとんどの分散情報サービス・リソースは、単一の特定のサービスの位置と、おそらくは他の特性とを識別するいくつかの独自表現に解決される名前によって識別される。この分散システムでの解決は、通常は、静的であり１対１である（すなわち、名前は、唯一の独自の表現に解決される）。解決処理の性質が静的なので、このサービス自体は、クライアントまたは基盤の挙動の変動に適合できない。この柔軟性のなさの簡単な例は、ローカルまたはグローバルのクライアント負荷が劇的に高まり（これは、ソフトウェアの新版が使用可能になるか、ネットワークの区分が行われ、サービスの一部がアクセス不能になったことに起因する可能性がある）、サービスが、クライアントの性能要件及びアクセス要件に対応してスケーリングできない状況がウェブで発生した時にみられる。
【００２０】
この柔軟性の制約から、クライアントが関連リソースを突き止められるようにし、これらのリソースの高い利用可能性をもたらす形で名前解決を可能にする機構の必要が導かれる。
【００２１】
分散情報サービスでの解決能力を拡張しようとする他の方法が存在した。
【００２２】
たとえば、米国テネシー大学のNetlib Development Groupによって開発されたＲＣＤＳ（Resource Cataloging and Distribution Service）は、インターネットからアクセス可能なリソースの特性をカタログし、アクセス性を向上するためにそのようなリソースを複製し、複製されたリソースの現在位置をカタログするためのアーキテクチャである。ユーザに提供されるファイルの完全性は、メッセージ・ダイジェストと公開キー認証を使用して保証される。
【００２３】
ＲＣＤＳは、（１）ＷＷＷブラウザであり、システムによって提供されるリソースを消費するクライアントと、（２）クライアントが要求したファイルへのアクセスを提供するファイル・サーバと、（３）ネットワーク上でアクセス可能なリソースの特性に関する情報を維持し、クライアントからのこれらの特性に関する問合せを受け入れるリソース・カタログ・サーバと、（４）ネットワーク上でアクセス可能なリソースの位置に関する情報を維持し、クライアントからの位置データに関する問合せを受け入れるロケーション・サーバと、（５）ファイル・サーバ上のファイルを管理する（ファイル・サーバのファイルの追加、更新及び除去を行う）コレクション・マネージャと、（６）コンテンツ・プロバイダから新規ファイルと解説を受け入れ、そのファイルをシステムに挿入するパブリケーション・ツールという複数の構成要素からなるシステムである。
【００２４】
ＲＣＤＳの解決構成要素は、リソース・カタログ・サーバ及びロケーション・サーバからなる。リソース・カタログ・サーバは、ＵＲＣを使用して、ＵＲＮ（またはＵＲＬ）を位置独立ファイル名（Location Independent File Name、ＬＩＦＮ）に解決し、ロケーション・サーバは、ＬＩＦＮをＵＲＬに解決する。ＵＲＣに存在する特性またはメタデータから、ＲＣＤＳは、解決の範囲を縮小するためにクライアントが使用するラベルを提供できる。
【００２５】
ＲＣＤＳは、以下の３つの点で不適切である。
１．知能（たとえばコード内の単純な探索エンジンや、システム内の探索エンジンへのアクセス）を使用して、クライアントから使用可能なリソース・リストをカストマイズできるという点で、解決処理に追加される機能性がない。
２．クライアントは、クライアントに最適な可能なサービスを実現するためにクライアントとサービス特性の両方を考慮に入れて（クライアントの介入の有無を問わず）サービスと折衝することができない。
３．サービスの性能と利用可能性を確保するためのサーバ側オブジェクトの自動ミラーリングがない。
【００２６】
ＣＮＲＩハンドル・システム方式では、代理サーバを使用して、ウェブ・ブラウザ及び他のクライアントが名前（このシステムの用語ではハンドルと称する）を解決できるようにし、キャッシュ・サーバを使用して、前に解決されたサーバをキャッシュ記憶する。この場合、ハンドルは、いくつかの特性に基づいて解決できるが、これを達成する方法を示すための記述または実施態様はない。この方式のキャッシュ・サーバと代理サーバは、これらのトランザクションでの折衝を許容しない。この方式も不適切である。というのは、この方式では、関連リソースを突き止めるためのカストマイズされたクライアント側の探索が許容されず、自動ミラーリングによって高いアクセス性を保証する試みもないからである。
【００２７】
【発明が解決しようとする課題】
本発明は、クライアント側でのカストマイズされた探索を許容し、コンテンツ・プロバイダ側でのサービスの高い利用可能性をサポートする、リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構に関する。
【００２８】
【課題を解決するための手段】
本発明は、クライアント計算機、サーバ計算機及びコンテンツ・プロバイダ計算機からなる、分散計算機環境において、デジタル・ドキュメントの形態であるリソースの位置を指名するためのコンピュータ化された方法であって、
当該指名は、クライアント計算機で行われ、
クライアント計算機が、サーバ計算機に要求し、サーバ計算機から配布されるＳｍａｒｔＬｉｎｋパラメータ、
クライアント計算機が有するクライアント環境パラメータ及び
クライアント計算機からのコンテンツ・プロバイダ計算機への問い合わせによって、コンテンツ・プロバイダ計算機から得られるコンテンツ・プロバイダ・パラメータなどのコンテンツ・プロバイダの環境パラメータを使用して評価を行うことにより、リソースの位置を指名することを特徴とする方法を提供する。
本発明は、クライアント計算機、サーバ計算機及びコンテンツ・プロバイダ計算機からなる、分散計算機環境において、デジタル・ドキュメントの形態であるリソースの位置を指名するためのリソース指名機構であって、
当該指名は、クライアント計算機で行われ、
クライアント計算機が、サーバ計算機に要求し、サーバ計算機から配布されるＳｍａｒｔＬｉｎｋパラメータ、
クライアント計算機が有するクライアント環境パラメータ及び
クライアント計算機からのコンテンツ・プロバイダ計算機への問い合わせによって、コンテンツ・プロバイダ計算機から得られるコンテンツ・プロバイダ・パラメータなどのコンテンツ・プロバイダの環境パラメータを使用して評価を行うことにより、リソースの位置を指名することを特徴とするリソース指名機構を提供する。
【００２９】
本発明の第１の態様によれば、リソースがコードとデータの組合せによって表され、コードの実行がリソースを所望するクライアント側で行われる分散計算機環境で、リソースを指名するための機構が提供される。解決機構（コード）ならびにこの機構が計算を行うデータは、識別されるリソースのためにカストマイズできる。
本発明の第２の態様によれば、コードは、分散環境すなわちクライアント、ネットワーク、ＳｍａｒｔＬｉｎｋクリエータ及びコンテンツ・プロバイダから得られるデータとコードを使用してリソースを解決する。解決機構は、クライアント側の構成要素（以下、クライアント側構成要素）とサーバ側の構成要素（以下、サーバ側構成要素）からなる。クライアント側の構成要素であるコード及びデータは、ＳｍａｒｔＬｉｎｋコードで定義された条件によって指示される複数の局面で環境から取得できる。各局面では、このコードとデータに対する計算を使用して、追加データを取得できる。評価の最終局面が、リソースを解決する。サーバ側構成要素は、評価中にクライアント側構成要素から問い合わせられる可能性がある調整されたメトリックを維持する。クライアント側構成要素によって計算される中間結果は、サーバに安全に書き戻すことができる。サーバ側構成要素は、サイトのグループ・リーダ計算機によって管理される自動ミラーリング機能及びメトリック更新機能を提供することによって、評価のためのサポートを提供する。
【００３０】
【発明の実施の形態】
図１は、本発明の特徴を有するコンテンツ配布機構を示す図である。ユーザ１００の要求に対して、クライアント計算機１０１は、サーバ計算機１１５に、クライアントが実行可能な命名リソースのイメージ１１６（すなわち、記憶に適した形式のコード及びデータ）を要求する。この命名リソースは、ＳｍａｒｔＬｉｎｋ１０３と称し、コンテンツ配布機構１１２を介して提供される。配布機構の例には、フロッピ・ディスケット、ＣＤ−ＲＯＭ及びインターネットが含まれる。ＳｍａｒｔＬｉｎｋを実施する実行可能なコンテンツの例には、ジャバとＡｃｔｉｖｅＸコントロールが含まれる。ＳｍａｒｔＬｉｎｋには、スクリプト（コード）１０４、動作データ１０５及びＩＤデータ１０６が含まれる。ＳｍａｒｔＬｉｎｋはクライアント計算機側で解決されるので、サーバは、クライアントの必要に合わせてカストマイズされたＳｍａｒｔＬｉｎｋを提供できる。したがって、ＳｍａｒｔＬｉｎｋの解決は、静的ではなく、多数の候補のコンテンツ・プロバイダのうちの１つを選択でき、これによって、所望のサービスの高い利用可能性がもたらされる。さらに、この機構は、どのリソースも（たとえばサーバ計算機）複雑な名前解決を実行する必要がないので、本来の性質として負荷平衡である。
【００３１】
ユーザによる活動化の際に、スクリプト１０４が、クライアント計算機１０１で実行されて、主コンテンツ・プロバイダ１０９として多数の可能なコンテンツ・プロバイダ計算機１１０のうちの１つが選択される。スクリプト１０４は、ＳｍａｒｔＬｉｎｋパラメータである動作データ１０５及びクライアント環境パラメータ１０２を使用して、この計算を行う。コンテンツ・プロバイダの例には、ソフトウェア配布センタ、株価情報サービス、オンライン商品販売業者が含まれる。ＳｍａｒｔＬｉｎｋパラメータの例には、コンテンツ・プロバイダの位置、前のコンテンツ・プロバイダの負荷、コンテンツの配布のための帯域幅が含まれる。クライアント環境パラメータの例には、クライアントの位置、コンテンツ配布帯域幅、ユーザの予算が含まれる。
【００３２】
問合せ機構１１３を使用して、ＳｍａｒｔＬｉｎｋ１０３は、主コンテンツ・プロバイダ１０９から問合せ機構１１３を介してコンテンツ・プロバイダ・パラメータ１１４を取得する。問合せ機構の例には、インターネット、モデム、ファクシミリ、ケーブル・テレビジョン・ネットワークなどの媒体を介して実行される、ＲＰＣ、ＨＴＴＰ、ＴＣＰなどのプロトコルが含まれる。コンテンツ・プロバイダ・パラメータの例には、現在のコンテンツ・プロバイダのメンバーシップ、現在のコンテンツ・プロバイダの負荷、コンテンツ・プロバイダのサービス料金、コンテンツ・プロバイダの位置が含まれる。ＳｍａｒｔＬｉｎｋコード（すなわち、スクリプト）１０４は、ＳｍａｒｔＬｉｎｋパラメータ（すなわち、動作パラメータ）１０５、クライアント環境パラメータ１０２及びコンテンツ・プロバイダ・パラメータ１１４などの環境パラメータを使用して評価を行い、解決されたコンテンツ・プロバイダ１１１への参照をもたらす。ＳｍａｒｔＬｉｎｋは、コンテンツ配布機構１１２を使用して、解決されたコンテンツ・プロバイダのコンテンツをクライアント計算機に転送する。書戻し機構１０７が、ＳｍａｒｔＬｉｎｋを取得する次のクライアント計算機１０１による使用のため、ＳｍａｒｔＬｉｎｋ１０３によって取得された更新されたメトリックをサーバ計算機１１５のイメージ１１６に格納する。
【００３３】
図２は、ＳｍａｒｔＬｉｎｋ１０３の構造の例を示す図である。ＳｍａｒｔＬｉｎｋは、２つの構成要素すなわち、ＳｍａｒｔＬｉｎｋ  ＣＣ１０３'と称するクライアント構成要素と、ＳｍａｒｔＬｉｎｋ  ＰＣ２５０と称するコンテンツ・プロバイダ構成要素からなる。ＳｍａｒｔＬｉｎｋ  ＣＣ１０３'は、クライアント計算機１０１上で走行し、ＳｍａｒｔＬｉｎｋ  ＰＣ２５０は、コンテンツ・プロバイダ計算機１１０、主コンテンツ・プロバイダ１０９またはグループ・リーダ計算機１１８のいずれかで走行する。基本的に、ＳｍａｒｔＬｉｎｋＣＣは、分散システムのさまざまなメンバから取得されたデータに作用するスクリプト１０４からなる。具体的に言うと、ＳｍａｒｔＬｉｎｋ  ＣＣは、動作データ１０５とＩＤデータ１０６を維持する。ＳｍａｒｔＬｉｎｋ  ＣＣのスクリプト１０４は、複数のモジュールから構成される。モジュールの例には、主コンテンツ・プロバイダ１０９及び解決されたコンテンツ・プロバイダ１１１の役割を満たすためにメトリック・リストから最適のコンテンツ・プロバイダ計算機１１０を選択するメトリック評価モジュール２１１、パラメータを認証する署名検証モジュール２１２、主コンテンツ・プロバイダ１０９からメトリックを取得するメトリック問合せモジュール２１３及び、解決されたコンテンツ・プロバイダ１１１からコンテンツを取得するコンテンツ獲得モジュール２１４が含まれる。コンテンツ・プロバイダは、グループ・リーダ計算機１１８によって調整されるコンテンツ・プロバイダ・グループ１０８に編成される。
【００３４】
ＳｍａｒｔＬｉｎｋ ＣＣのＩＤデータ１０６には、クライアントがＳｍａｒｔＬｉｎｋにアクセスしたサーバのＩＤ信用証明（ＳｍａｒｔＬｉｎｋサーバＩＤ２２１）、許可されたコンテンツ・プロバイダの証明（コンテンツ・プロバイダ証明２２２）及びＳｍａｒｔＬｉｎｋのクリエータのＩＤ（ＳｍａｒｔＬｉｎｋクリエータＩＤ２２３）が含まれる。ＩＤ情報の使用は、任意選択であり、ＳｍａｒｔＬｉｎｋスクリプト１０４用のモジュールの選択に基づく。
【００３５】
動作データ１０５は、メトリック評価モジュール２１１によって使用される別個のモジュールの組からなるものとすることができる。クライアント計算機１０１にＳｍａｒｔＬｉｎｋＣＣが配布される時（４０３）にサーバ計算機１１５から取得されたか、ＳｍａｒｔＬｉｎｋ ＣＣによる問合せの時（４０９）に主コンテンツ・プロバイダ１０９から取得されたかのいずれかである、使用可能な最近のメトリックとコンテンツ・プロバイダ・メンバーシップ・データが、動作データに記憶される。サーバからのデータは、前の実体が書戻し機構１０７を介してイメージ１１６にそのデータを書き戻した時（４１０）に取得される。安全な書戻し機構は、図５で説明する。可能なコンテンツ・プロバイダのリストは、コンテンツ・プロバイダのリスト２３２に記憶され、これらの機構のメトリック・データは、メトリック・データ・モジュール２３３に記憶される。このデータを取得した時刻は、タイム・スタンプ・モジュール２３１に記録される。タイム・スタンプ・モジュールは、完全な評価のテストを行うことができるかどうかを判定するために検査される。メトリック評価モジュール２１１に必要なすべてのメトリックの値が、メトリック・データ・モジュール２３３内に存在する場合には、解決されたコンテンツ・プロバイダに対して直接に要求を行う（４１２）ことができる。そうでない場合には、ＳｍａｒｔＬｉｎｋ  ＣＣは、まず主コンテンツ・プロバイダ１０９を選択して要求を行い（４０８）、新しいメトリックの組を取得する（４０９）。
【００３６】
ＳｍａｒｔＬｉｎｋ  ＰＣ２５０は、４つのモジュールからなる。クライアント・メトリック更新モジュール２５１は、要求時にメトリックをＣＣに供給する。データ配布モジュール２５２は、コンテンツ配布機構１１２を使用して、ＣＣにコンテンツを伝送する。グループ・メトリック更新モジュール２５３は、グループ・リーダ計算機１１８によって管理される他のコンテンツ・プロバイダ計算機１１０にメトリックを供給する。メンバーシップ更新モジュール２５４は、グループ・リーダ計算機１１８からのグループへの参加及び離脱の要求を処理する。ＰＣ２５０の処理の例を、図６及び図７に示す。
【００３７】
図３は、ＳｍａｒｔＬｉｎｋ  ＣＣ作成処理の例を示す図である。ＳｍａｒｔＬｉｎｋ作成は、サーバ計算機１１５によって呼び出されたクリエータ１１７で実行されることが好ましい。当業者であれば、サーバにクリエータの役割を含めることもできることを諒解するであろう。さらに、ほとんどの場合に、ＳｍａｒｔＬｉｎｋは、一度作成され、サーバによって記憶されるが、サーバは、クライアントの要求のそれぞれに応答して新しいＳｍａｒｔＬｉｎｋを作成することができる。
【００３８】
ＳｍａｒｔＬｉｎｋ  ＣＣ作成には、ＳｍａｒｔＬｉｎｋ  ＣＣイメージを作成するためのサーバ計算機１１５とクリエータ１１７の間の相互作用が含まれる。サーバは、問合せ機構１１３を介してクリエータにパラメータを供給し、イメージ１１６を作成するためのカストマイズ・パラメータを提供する（３０１）。カストマイズ・パラメータの例には、ＳｍａｒｔＬｉｎｋ  ＣＣ１０３'によって参照されるサービスのタイプ、ＳｍａｒｔＬｉｎｋ  ＣＣ評価処理の性質、または、ＳｍａｒｔＬｉｎｋ  ＣＣ１０３'のアクセスが制限される地理的な区域が含まれる。クリエータ１１７は、カストマイズ・パラメータを使用して、選択機構を選択し（３０２）、スクリプト１０４と初期の動作データ１０５を選択する（３０３）。パラメータが、安全な動作を要求する場合（認証または完全性検証が必要）（３０４）、クリエータは、ＳｍａｒｔＬｉｎｋ  ＣＣのＩＤデータ１０６も生成する（３０６）。その後、コンテンツ配布機構１１２を介してサーバ計算機にＳｍａｒｔＬｉｎｋ  ＣＣのイメージが配布され（３０５）、サーバに記憶される。
【００３９】
ＳｍａｒｔＬｉｎｋ評価処理の例を、図４に示す。ＳｍａｒｔＬｉｎｋ評価は、クライアント側で行われる。ユーザがＳｍａｒｔＬｉｎｋを活動化し（４０１）、クライアント計算機が、サーバにＳｍａｒｔＬｉｎｋを要求する（４０２）。サーバは、ＳｍａｒｔＬｉｎｋをクライアントにダウンロードする（４０３）。ＳｍａｒｔＬｉｎｋは、クライアント環境からの情報を使用して、部分的に評価することができる（４０４）。ＳｍａｒｔＬｉｎｋは、最後の実行からキャッシュ記憶された可能性があるメトリック情報のタイム・スタンプを検査する（４０５）。キャッシュ記憶されたメトリックが、十分最近であることがわかり、ＳｍａｒｔＬｉｎｋが完全に評価できるとわかった（すなわち、単一のコンテンツ・プロバイダが識別された）場合（４０７）、ＳｍａｒｔＬｉｎｋは、選択されたコンテンツ・プロバイダと通信し、解決されたコンテンツ・プロバイダ１１１からコンテンツ配布機構１１２を介するコンテンツの転送を開始する（４１２）。メトリックが古いか、ＳｍａｒｔＬｉｎｋの評価を完了できなかった場合、メトリック問合せモジュール２１３によって決定されるヒューリスティックを使用して、新しいメトリックを取得するのに最適の可能なコンテンツ・プロバイダを識別する。このコンテンツ・プロバイダを、主コンテンツ・プロバイダ１０９と称する。ＳｍａｒｔＬｉｎｋは、主コンテンツ・プロバイダに、更新されたメトリック、使用可能なプロバイダのリスト及び評価アルゴリズムを要求する（４０８）。主コンテンツ・プロバイダによって、ＳｍａｒｔＬｉｎｋ  ＣＣ１０３'にデータが送られる（４０９）。その後、ＳｍａｒｔＬｉｎｋ  ＣＣは、書戻し機構１０７を使用して、サーバ計算機１１５にデータを記憶する（４１０）。このデータを使用して、ＳｍａｒｔＬｉｎｋ  ＣＣは、評価を完了して（４１１）、解決されたコンテンツ・プロバイダ１１１を求め、解決されたコンテンツ・プロバイダと通信して、コンテンツを取得する（４１２）。
【００４０】
ＳｍａｒｔＬｉｎｋ評価は複数の局面を有する構造なので、本発明がカストマイズ可能になり、高い利用可能性がもたらされることに留意されたい。分散環境に問い合わせることによって、ＳｍａｒｔＬｉｎｋは、使用可能な最適のコンテンツ・プロバイダを選択でき、この「最適」は、そのＳｍａｒｔＬｉｎｋによってアクセスできるメトリックである限り、どのようなメトリックの組によって定義されるものでもかまわない。当業者であれば、この特徴の２局面性（すなわち、主コンテンツ・プロバイダにメトリックを要求し、その後、このメトリックを使用して解決されたコンテンツ・プロバイダを選択すること）を、ｎ局面解決機構に拡張できることを諒解するであろう。しかし、クライアント、サーバ及びコンテンツ・プロバイダの必要に基づいてＳｍａｒｔＬｉｎｋをカストマイズする能力は、従来の静的リンク手法に欠けている、カストマイズを可能にし、高い利用可能性をサポートする要素である。
【００４１】
図５は、クライアントとサーバを用いる、安全な書戻し機構１０７の処理の例を示す図である。当業者であれば、このプロトコルでサーバの代わりに別のデータ記憶サイトを使用できることを諒解するであろう。安全な書戻しの使用は、推奨されるが任意選択であることに留意されたい。この処理は、安全でない書戻し機構に置換することができる。本明細書に記載のセキュリティ機構のすべてで、標準的なセキュリティ技法が使用される。具体的に言うと、ディジタル署名、暗号化、認証及び証明書作成のための技法は、カウフマン（C. Kaufman）他著、「Network Security: Private Communication in a Public World」Prentice-Hall, Inc刊、米国ニュージャージ州Englewood Cliffs、１９９５年と、シュナイアー（B. Schneier）著、「Applied Cryptography Second Edition: Protocols, Algorithms, and Source Code in C.」John Wiley & Sons, Inc.刊、米国ニューヨーク州、１９９６年に記載されている。解決されたコンテンツ・プロバイダ１１１は、コンテンツ配布機構１１２を使用してクライアント計算機１０１にデータを転送する（５０２）前に、すべてのデータに署名し、タイム・スタンプを付ける（５０１）。スクリプト１０４の署名検証モジュール２１２が、コンテンツ・プロバイダから受け取ったパラメータをメトリック・データ・モジュール２３３に書き込み、タイム・スタンプ・モジュール２３１の動作データを更新する前に、署名を検証し、データを更新する。署名は、コンテンツ・プロバイダ証明２２２に記憶された署名情報に基づいて検証される（５０３）。メトリックからの署名情報は、動作データ・コンテンツ・プロバイダ署名２３４として記憶される。メトリックの認証の後に、署名されたデータが、クライアント計算機１０１によってサーバ計算機１１５に送られる（５０４）。サーバ計算機は、そのデータが現在記憶されているデータより新しいかどうかを判定し（５０５）、そうである場合には、コンテンツ・プロバイダの権限を検証して、メトリックを提供する（５０６）。これらの条件が満たされる場合、メトリックは、ＳｍａｒｔＬｉｎｋ  ＣＣの将来の呼出し（４０１）による使用のためイメージ１１６に記憶され（５０７）、ＳｍａｒｔＬｉｎｋ  ＣＣがダウンロードされる際（４０３）にクライアント計算機１０１に供給される。新規性のテストまたは検証が失敗した場合には、データを破棄する（５０８）。
【００４２】
図６、図７、図８及び図９は、ＳｍａｒｔＬｉｎｋ  ＰＣ２５０の機能を含むプロトコルの例を示す図である。
【００４３】
コンテンツ・プロバイダ・グループ１０８は、コンテンツ・プロバイダ計算機１１０として働く１組のノードからなる。グループに含まれるコンテンツ・プロバイダは、クライアントの要件及び環境に適した１組のメトリックによって区別される。図６及び図７に、コンテンツ・プロバイダ・グループ１０８内のグループ・リーダ計算機１１８の処理を示す。
【００４４】
グループ・リーダ計算機１１８は、ノードのグループを維持し、このグループの各ノードは、サービス・コンテンツを含み、コンテンツ・プロバイダ・グループ１０８を構成するコンテンツ・プロバイダ計算機１１０を区別するメトリック情報を維持する。コンテンツ・プロバイダの間では、メトリック情報が共用される。ＳｍａｒｔＬｉｎｋ  ＣＣは、このメトリック（図８及び図９に示すように、ＰＣから取得する）を使用して、グループ内のコンテンツ・プロバイダの間で選択する。この選択は、スクリプト１０４のメトリック評価モジュール２１１を使用して行われ、これによって、最も適したコンテンツ・プロバイダ・グループとそのグループ内で最も適したコンテンツ・プロバイダを決定できる。メトリックのタイプは、クリエータ１１７によって選択され、クリエータによって想定された機能とサービス・レベルに対するメトリックの影響を反映する。
【００４５】
メトリックの組の例を示す。
１．ノード負荷：負荷指標の時間平均
２．ノード・メモリ：メモリ使用量の時間平均
３．物理ノード・メモリ：固定された物理ノード・メモリ
４．ライブネス（Liveness）：ノードが機能しているかダウンしているか
５．信頼性：（プロバイダ／ノード）の故障までの平均時間
６．ソフトウェア・ライセンスの利用可能性
７．累算性能メトリック
８．ノード・アクセスのコスト
９．サーバ・ノードとクライアント・ノードの地理的な近さ
１０．サービスへのアクセスに関するセキュリティ制限
【００４６】
コンテンツ・プロバイダ計算機１１０は、複数のＳｍａｒｔＬｉｎｋ  ＣＣ１０３'をサポートできるので、複数のメトリックの組を維持しなければならない場合がある。メトリックは、グループ・メンバの間で周期的または非周期的に更新できる。周期的更新モードでは、コンテンツ・プロバイダ計算機１１０のそれぞれが、グループ・メンバのすべてにそのメトリックをマルチキャストする。周期的更新の場合、グループ・リーダ計算機が更新の周期を制御する。非周期的更新の場合、グループの個々のメンバが、そのノード上で１つのメトリックまたはメトリックのグループが指定された閾値を超える時に、更新を伝播する。サイトのグループ・リーダ計算機は、この閾値を指定する。コンテンツ・プロバイダ・グループのメンバーシップは、時間の中で動的に変更できる。
【００４７】
コンテンツ・プロバイダ・グループの動的メンバーシップをサポートすることによって、ＳｍａｒｔＬｉｎｋの利用可能性を高めることができる。これなしでも、ＳｍａｒｔＬｉｎｋの利用可能性を高めることはできる。この機能がない場合、既存システムは、すべての負荷変動を予測し、サービスをサポートするすべてのノードへの明示的な静的リンクを追加しなければならない。負荷が変動するたびに、たとえば、非常に人気のあるソフトウェアがコンテンツ・プロバイダによって配布される場合には、静的リンクの形で新しいノードを明示的に追加しなければならない。負荷が減少する時には、リンクを明示的に除去しなければならない。コンテンツ・プロバイダの動的メンバーシップがあれば、ＳｍａｒｔＬｉｎｋは、現在の実行環境に最適になるように自動的にサイズを調整されるコンテンツ・プロバイダ・グループの最も適したメンバから選択できる。
【００４８】
メンバーシップ変更は、システム内のメトリックの変更によって明示的に制御される。ノードの寿命は、そのノードのライブネス・メトリックの変更として表現される。ノードの寿命は、更新メッセージの監視によるか（周期的更新の場合）、非周期的更新の場合には環状ｐｉｎｇプロトコルによって、判定される。
【００４９】
メンバーシップの変更は、選ばれたグループ・リーダによって開始される（必要なプロトコルは、グループ・リーダによって実行され、制御される）ことが好ましい。リーダの選択は、マレンダ（Sape Mullender）編、「Distributed Systems」、ACM Press刊、米国ニューヨーク州、１９８９年に提示された標準プロトコルによって行うことができる。通常のリーダ選択プロトコルに対する唯一の変更は、この変更がインターネットを介して伝播されることである。このプロトコルは、インターネット上での実行を目的とする。このプロトコルのポイントは、「最も使用可能なサイト」がプロトコルのクライアント側によって通信されることのなんらかの保証を提供することである。当業者であれば、グループ・リーダの機能性を、１つの区別可能なノードで調整するのではなく、グループのメンバの間で分散できることを理解することに留意されたい。
【００５０】
図６及び図７に示されているように、グループ・リーダ計算機１１８の処理は、繰り返し処理として定義される。グループ・リーダは、図８及び図９の処理を同時に実行して、コンテンツ・プロバイダとして働くこともできることに留意されたい。周期的メトリック更新が使用されており、現在のメトリックが古いと判定される（６０２）場合、グループ・リーダは、グループ・メンバに更新されたメトリックを要求する（６０３）。グループ・メンバは、メトリック更新要求（７１８）としてこの要求を処理する。
【００５１】
もう一度図６及び図７を参照すると、グループ・リーダは、グループ内の計算機のメトリックを継続的に検査する（６０１）。グループ・メンバが過負荷の場合（６１０）、グループ・リーダは、使用可能なノードのすべてに「加入（join）」要求をマルチキャストする（６１１）。その後、グループ・リーダは、指定されたタイムスライスの間、すべての要求について待機する（６１２）。応答を受け取らない場合（６１３）、グループ・リーダは待ちループ（６０１）に戻る。そうでない場合、リーダは、その負荷に基づいて最適の新規グループ・メンバを選択し（６１４）、このサイトにそのグループに加入するよう要求する（６１４）。新規ノードの参加を可能にするために、グループ・リーダは、新規ノードへデータを転送するようにグループ・メンバに要求する（６１５）。新規ノードがグループに加入する準備ができたことの通知の際に（６１６）、グループ・リーダは、グループの残りのメンバに、新規メンバーが加入したことを通知し、新規ノードのメトリックを提供する（６１７）。グループ・リーダが、グループ内の計算機についてメトリックを検査し（６０１）、グループ・メンバの負荷が低すぎる場合（６２０）、グループ・リーダは、現在のメトリックに基づいてグループから除去するノードを選択する（６２１）。選択を終えると、グループから除去されるノードが通知を受け（６２２）、グループの残りのノードも通知を受ける（６２３）。
【００５２】
図８及び図９も、コンテンツ・プロバイダ・グループ１０８でのメンバシップに関してノードを使用可能にする処理の例を示す図である。活動状態のコンテンツ・プロバイダ計算機１１０のノード数は、コンテンツ・プロバイダの負荷に依存する。図からわかるように、これらのノードのそれぞれは、当初は、グループ・リーダ計算機１１８からの「加入」要求を待っている状態（７００）である。加入要求を待っている時に、ノードは、他のサービスのコンテンツ・プロバイダとして働くことを含めて、他の動作を実行できる。
【００５３】
要求を受け取った際に、ノードは、グループへの加入に同意することをグループ・リーダに通知し（７０１）、その後、応答を待つ（７０２）。タイマの満了までに応答が受け取られない場合（７０３）、ノードは待機状態（７００）に戻る。そうでない場合、ノードは、コンテンツ・プロバイダ計算機１１０のグループのメンバからパッケージ化されたコンテンツを受け取るのを待つ。パッケージ化されたコンテンツを受け取った時に（７０４）、そのデータがインストールされ（７０５）、このノードは、コンテンツ・プロバイダになり、初期設定されたことをグループ・リーダに通知し（７０６）、ＳｍａｒｔＬｉｎｋ  ＣＣ１０３'からのサーバ要求を待つ（７１０）ことによってＳｍａｒｔＬｉｎｋ  ＰＣ２５０として働く。
【００５４】
コンテンツ・プロバイダのそれぞれは、４つの異なる要求すなわち、メトリック要求７１５、データ要求７１６、離脱要求７１７またはメトリック更新要求７１８のうちの１つを待つ。この待機中に、非周期的メトリック更新プロトコルが使用されている場合には、コンテンツ・プロバイダは、更新が必要であるかどうかを判定するために、ローカルなメトリック１１４を検査する（７８０）。メトリック更新は、メトリック更新要求を受け取った時（７１８）にも実行される。メトリックが閾値を超えた場合（７８１）またはメトリック更新要求を受け取った場合、コンテンツ・プロバイダは、新しいメトリックをグループのメンバにマルチキャストする（７８２）。
【００５５】
要求を受け取った際に、コンテンツ・プロバイダ計算機１１０は、要求の性質に基づいて実行する処置を選択する（７１１）。メトリック要求７１５を受け取った時には、ＳｍａｒｔＬｉｎｋ  ＰＣ２５０は、まず要求元のＳｍａｒｔＬｉｎｋ  ＣＣ１０３'がその要求を許可されているかどうかを検査する（７２０）。アクセスが許可されない場合（７９９）、「サービスの拒否」応答をＳｍａｒｔＬｉｎｋ  ＣＣに返す。アクセスが許可される場合、ＰＣは、ＳｍａｒｔＬｉｎｋ  ＣＣ１０３'によってメトリック要求７１５に含められたパラメータによって決定される注釈付きホスト・リストを作成する（７２１）。これらのパラメータによって、クライアントが識別され、その特性が定義され、所望のサービス及びサービス・レベルに関連するメトリックが示される。このリストは、許可と保全性を保証するためにＳｍａｒｔＬｉｎｋ  ＰＣ２５０によって署名され（７２２）、その後、クライアントに返される（７２３）。このメッセージ転送を達成するのに使用される転送機構は、ＨＴＴＰまたはＲＰＣのいずれかとすることができる。
【００５６】
データ要求７１６を受け取った際に、ＳｍａｒｔＬｉｎｋ  ＰＣ２５０は、まず、要求元のＳｍａｒｔＬｉｎｋ  ＣＣ１０３'がデータを受け取る許可を与えられているかどうかを検査する（７３０）。アクセスが許可されない場合（７９９）、「サービスの拒否」応答をＣＣに返す。アクセスが許可される場合、ＰＣは、許可と保全性を保証するために、配布されるコンテンツに署名し（７３１）、その後、このデータをクライアントに返す（７３２）。離脱要求７１７は、コンテンツ・プロバイダの負荷が低すぎる時に、グループ・リーダ計算機１１８によって生成される（この処理の説明については、図６及び図７を参照されたい）。グループ・リーダから離脱要求７１７を受け取る時には、コンテンツ・プロバイダは、そのサービスに関するデータをクリーン・アップする（７４０）。データのクリーン・アップには、磁気テープなどの安価な記憶装置へのデータの移動か、データの完全な削除のいずれかを用いることができる。その後、コンテンツ・プロバイダは、グループ・リーダに離脱要求の肯定応答を送り（７４１）、加入要求の待機（７００）を始める。
【００５７】
好ましい実施例と代替実施例によって本発明を説明したので、当業者であれば、さまざまな変更及び改良を思い浮かべるであろう。したがって、好ましい実施例は、例として提供されたのであって、制限ではないことを理解されたい。本発明の範囲は、請求項によって定義される。
【００５８】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００５９】
（１）  クライアント計算機、サーバ計算機及びコンテンツ・プロバイダ計算機からなる、分散計算機環境において、デジタル・ドキュメントの形態であるリソースの位置を指名するためのコンピュータ化された方法であって、
当該指名は、クライアント計算機で行われ、
クライアント計算機が、サーバ計算機に要求し、サーバ計算機から配布されるＳｍａｒｔＬｉｎｋパラメータ、
クライアント計算機が有するクライアント環境パラメータ及び
クライアント計算機からのコンテンツ・プロバイダ計算機への問い合わせによって、コンテンツ・プロバイダ計算機から得られるコンテンツ・プロバイダ・パラメータなどのコンテンツ・プロバイダの環境パラメータを使用して評価を行うことにより、リソースの位置を指名することを特徴とする方法。
（２）  （１）に記載の分散計算機環境は、クライアント計算機に接続されたユーザ、サーバ計算機に接続されたクリエータ計算機を、さらに、含み、また、前記クライアント環境パラメータが、クライアント計算機の位置、コンテンツ配布帯域幅であるところの伝送速度又はユーザの予算であるところのクライアント計算機の能力である、（１）に記載の方法。
（３）  前記サーバ計算機がクリエータ計算機でもある（２）記載の方法。
（４）  前記コンテンツ・プロバイダ計算機が、グループ・リーダ計算機及び分散計算機環境を構成する複数のコンテンツ・プロバイダ計算機からなるコンテンツ・プロバイダ・グループを構成しており、
分散計算機環境パラメータの更新が、コンテンツ・プロバイダ・グループ内のグループ・リーダ計算機によって調整された周期的または非周期的のいずれかで行われ、
グループ・リーダ計算機により指示されたコンテンツ・プロバイダ計算機がグループに動的に加入し、または、離脱し、
加入に際しては、該グループに加入するコンテンツ・プロバイダ計算機に対して、コンテンツ・プロバイダ・グループ内の少なくとも１つのグループ・メンバによって、前記コンテンツ・プロバイダ計算機のグループのコンテンツ及び分散計算機環境パラメータが送られ、
離脱に際しては、グループを離脱するコンテンツ・プロバイダ計算機は、直接的にまたはグループ・リーダ計算機に通知することによってのいずれかで、前記グループの離脱をグループ内の他のコンテンツ・プロバイダ計算機に通知する、
ようにした、（２）に記載の方法。
（５）  クライアント計算機、サーバ計算機及びコンテンツ・プロバイダ計算機からなる、分散計算機環境において、デジタル・ドキュメントの形態であるリソースの位置を指名するためのリソース指名機構であって、
当該指名は、クライアント計算機で行われ、
クライアント計算機が、サーバ計算機に要求し、サーバ計算機から配布されるＳｍａｒｔＬｉｎｋパラメータ、
クライアント計算機が有するクライアント環境パラメータ及び
クライアント計算機からのコンテンツ・プロバイダ計算機への問い合わせによって、コンテンツ・プロバイダ計算機から得られるコンテンツ・プロバイダ・パラメータなどのコンテンツ・プロバイダの環境パラメータを使用して評価を行うことにより、リソースの位置を指名することを特徴とするリソース指名機構。
（６）  （５）に記載の分散計算機環境は、クライアント計算機に接続されたユーザ、サーバ計算機に接続されたクリエータ計算機を、さらに、含み、また、前記クライアント環境パラメータが、クライアント計算機の位置、コンテンツ配布帯域幅であるところの伝送速度又はユーザの予算であるところのクライアント計算機の能力である、（５）に記載のリソース指名機構。
（７）  前記サーバ計算機がクリエータ計算機でもある（６）記載のリソース指名機構。
（８）  前記コンテンツ・プロバイダ計算機が、グループ・リーダ計算機及び分散計算機環境を構成する複数のコンテンツ・プロバイダ計算機からなるコンテンツ・プロバイダ・グループを構成しており、
分散計算機環境パラメータの更新が、コンテンツ・プロバイダ・グループ内のグループ・リーダ計算機によって調整された周期的または非周期的のいずれかで行われ、
グループ・リーダ計算機により指示されたコンテンツ・プロバイダ計算機がグループに動的に加入し、または、離脱し、
加入に際しては、該グループに加入するコンテンツ・プロバイダ計算機に対して、コンテンツ・プロバイダ・グループ内の少なくとも１つのグループ・メンバによって、前記コンテンツ・プロバイダ計算機のグループのコンテンツ及び分散計算機環境パラメータが送られ、
離脱に際しては、グループを離脱するコンテンツ・プロバイダ計算機は、直接的にまたはグループ・リーダ計算機に通知することによってのいずれかで、前記グループの離脱をグループ内の他のコンテンツ・プロバイダ計算機に通知する、
ようにした、（６）に記載のリソース指名機構。
【図面の簡単な説明】
【図１】本発明によるコンテンツ配布機構を示す図である。
【図２】本発明によるＳｍａｒｔＬｉｎｋ及びその構成要素部分のシステムを示す図である。
【図３】ＳｍａｒｔＬｉｎｋクリエータが、サーバによって提供されるパラメータの組に基づいて新しいＳｍａｒｔＬｉｎｋを作成する方法を示す図である。
【図４】図２に示されたＳｍａｒｔＬｉｎｋシステムの評価の処理を示す図である。
【図５】ＳｍａｒｔＬｉｎｋによる将来の使用のためにサーバ計算機でメトリックを記憶できるようにする、安全な書戻し機構の実施例を示す図である。
【図６】図７と共に、グループ・リーダの処理を示す図である。
【図７】図６と共に、グループ・リーダの処理を示す図である。
【図８】図９と共に、コンテンツ・プロバイダまたはコンテンツ・プロバイダとして働くために使用可能なノードの処理を示す図である。
【図９】図８と共に、コンテンツ・プロバイダまたはコンテンツ・プロバイダとして働くために使用可能なノードの処理を示す図である。
【符号の説明】
１００  ユーザ
１０１  クライアント計算機
１０２  クライアント環境パラメータ
１０３  ＳｍａｒｔＬｉｎｋ
１０３'  ＳｍａｒｔＬｉｎｋ  ＣＣ
１０４  スクリプト（コード）
１０５  動作データ
１０６  ＩＤデータ
１０７  書戻し機構
１０８  コンテンツ・プロバイダ・グループ
１０９  主コンテンツ・プロバイダ
１１０  コンテンツ・プロバイダ計算機
１１１  解決されたコンテンツ・プロバイダ
１１２  コンテンツ配布機構
１１３  問合せ機構
１１４  コンテンツ・プロバイダ・パラメータ
１１５  サーバ計算機
１１６  イメージ
１１７  クリエータ
１１８  グループ・リーダ計算機
【図１】
0003967806.tif 000002
【図２】
0003967806.tif 000003
【図３】
0003967806.tif 000004
【図４】
0003967806.tif 000005
【図５】
0003967806.tif 000006
【図６】
0003967806.tif 000007
【図７】
0003967806.tif 000008
【図８】
0003967806.tif 000009
【図９】
0003967806.tif 000010