JP3967806B2 - リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構 - Google Patents

リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構 Download PDF

Info

Publication number
JP3967806B2
JP3967806B2 JP31322097A JP31322097A JP3967806B2 JP 3967806 B2 JP3967806 B2 JP 3967806B2 JP 31322097 A JP31322097 A JP 31322097A JP 31322097 A JP31322097 A JP 31322097A JP 3967806 B2 JP3967806 B2 JP 3967806B2
Authority
JP
Japan
Prior art keywords
computer
content provider
group
client
resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP31322097A
Other languages
English (en)
Other versions
JPH10312350A (ja
Inventor
ナイーム・イスラーム
コリン・ジェームズ・パリス
ダニエル・チャールズ・スターマン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH10312350A publication Critical patent/JPH10312350A/ja
Application granted granted Critical
Publication of JP3967806B2 publication Critical patent/JP3967806B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータ及びコンピュータ・ネットワークに関し、具体的には、リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構に関する。さらに具体的には、本発明は、カストマイズされたインターネット上の名前解決のための、解決された情報リソースの利用可能性の水準を拡張する機構に関する。
【0002】
【従来の技術】
辞書の定義は本明細書の用語にあてはまるが、読者を支援するために、一部の用語の以下の定義を提供する。
【0003】
インターネット
TCP/IPプロトコルを使用するネットワーク及びゲートウェイからなるネットワーク。
【0004】
クライアント
クライアントとは、コマンドに関連するタスクを実行するサーバにコマンドを発行するコンピュータである。
【0005】
サーバ
別のコンピュータのコマンドでタスクを実行するコンピュータは、すべてがサーバである。ウェブ・サーバは、通常は、1つまたは複数のクライアントをサポートし、HTTP(Hyper-Text Transfer Protocol)を使用して、クライアントからのデータの要求を処理する。
【0006】
ワールド・ワイド・ウェブ(WWWまたはウェブ)
インターネット上で情報を探している人が、関心のある強調表示された単語または句(ハイパーリンク)を活動化することによってサーバからサーバへ、またはデータベースからデータベースへ切り替えることができるようにする、インターネットの応用。インターネットWWWサーバは、クライアントをサポートし、情報を提供する。ウェブは、インターネットのビューを提示し、ここでは、リソースのすべてがURLとしてアドレッシングされる。
【0007】
URN(Universal Resource Name)
特定の名前を1つまたは複数のリソースにマッピングするのに使用できる、インターネット上のリソースのための命名方式。URNは、次の3つの基本的な能力を有する。URNは、スコープが大域的(名前はどこでも同じ意味を有する)であり、グローバルにユニーク(同一のURNは、別のリソースには絶対に割り当てられない)であり、永続的(ほとんどの場合、URNの寿命は永久的である)である。
【0008】
URC(Universal Resource Characteristics)
URCは、リソースの属性に基づいてインターネット内のリソースを突き止めるための方式である。これによって、属性が名前または位置に束縛される。
【0009】
URL(Universal Resource Locator)
インターネット上の情報を一意に識別またはアドレッシングする方法。電子メール・アドレスのウェブ・ドキュメント版と見なすことができる。URLは、ハイパーリンクを用いてアクセスできる。URLの1例が「http://www.arun.com:80/table.html」である。URLには4つの構成要素がある。左から始めると、第1の要素は、「:」によって残りの部分から分離され、リソースをアクセスするプロトコルを指定する。次の要素は、ターゲット・ホストのホスト名またはIPアドレスであり、これは、左側の「//」と右側の「/」または任意選択の「:」によって区切られる。ポート番号は任意選択であり、左側のホスト名との間は「:」、右側は「/」によって区切られる。第4の構成要素は、実際のファイル名またはプログラム名である。この例では、拡張子「.html」から、これがHTMLファイルであることが示される。
【0010】
HTML(HyperText Markup Language)
HTMLは、ウェブ・クライアントによって表示されるドキュメントを作成し、接続するためにウェブ・サーバが使用する言語である。HTMLでは、ハイパーテキスト・ドキュメントが使用される。
【0011】
HTTP(Hypertext transfer protocol)
HTTPは、ステートレス・プロトコルの1例である。ステートレスとは、クライアントからサーバへの要求のすべてが、独立に扱われることを意味する。サーバは、前の接続の記録を有しない。HTTPは、URLで指定できるアクセス・プロトコルの1つである。
【0012】
インターネット・ブラウザまたはウェブ・ブラウザ
HTTPなどのインターネット・プロトコルを実行し、クライアントの画面にサーバからの結果を表示する、グラフィカル・インターフェース・クライアント・ツール。ブラウザは、ユーザがインターネット・「サーフィン」を行う時に、絵図によるデスクトップ、ディレクトリ及び検索ツールを含むインターネットの案内役として働くことができる。本特許出願書では、ウェブ・ブラウザは、ワールド・ワイド・ウェブと通信するクライアント・サービスである。
【0013】
アプレット
サーバからクライアントへダウンロードされ、クライアント側で実行されるコード片。
【0014】
ジャバ(Java)
インターネットでのプログラミングのためにSun Microsystems社によって開発されたオブジェクト指向コンピュータ・プログラミング言語。インターネット・ブラウザのほとんどが、アプレットを記述する言語としてジャバをサポートする。
【0015】
オブジェクト
いくつかのデータと外部からアクセス可能なメソッドの組を組み込んでカプセル化された実体。オブジェクトは、定義済みのメソッドの呼出しを介してのみ操作できる。
【0016】
分散システム
それぞれが独自のCPUと記憶装置(主記憶を含む)を有する、計算機械の集合。計算機は、イーサネット、光ファイバATMネットワーク、無線(セルラ)技術を含む(これに制限されるものではない)通信媒体を介して接続される。
【0017】
従来の情報サービスは、現在、アクセス可能な関連情報に対する顧客の依存度の高まりに対処する必要から、急激に発達しつつある。この発達の最も重要な産物の1つが、システム全体への情報リソースの分散すなわち、高度に分散された情報サービスの作成である。
【0018】
この発達の特筆すべき例の1つが、ワールド・ワイド・ウェブ(WWW)である。この例では、通常はディジタル・ドキュメントの形態であるリソースが、インターネット全体に分散され、多数の可能なブラウザ・インターフェースのうちの1つを介してユーザによってアクセスされる。アクセス・モデルは、「クライアント/サーバ」・モデルであり、ブラウザがクライアント、ウェブ・サーバがサーバになる。このモデルでは、クライアントは、特定のドキュメントまたはリソースを突き止める最初のステップとして、ファイル(ブックマーク)にアクセスするか、周知の検索エンジン(別の情報サービス)に問い合わせることができる。このアクセスまたは問合せは、URLと称する識別子をもたらす。URLによって、システム内に常駐するドキュメントまたはリソースが一意に識別され、これを使って、所望のリソースにアクセスできる。
【0019】
上のウェブの例と同様に、ほとんどの分散情報サービス・リソースは、単一の特定のサービスの位置と、おそらくは他の特性とを識別するいくつかの独自表現に解決される名前によって識別される。この分散システムでの解決は、通常は、静的であり1対1である(すなわち、名前は、唯一の独自の表現に解決される)。解決処理の性質が静的なので、このサービス自体は、クライアントまたは基盤の挙動の変動に適合できない。この柔軟性のなさの簡単な例は、ローカルまたはグローバルのクライアント負荷が劇的に高まり(これは、ソフトウェアの新版が使用可能になるか、ネットワークの区分が行われ、サービスの一部がアクセス不能になったことに起因する可能性がある)、サービスが、クライアントの性能要件及びアクセス要件に対応してスケーリングできない状況がウェブで発生した時にみられる。
【0020】
この柔軟性の制約から、クライアントが関連リソースを突き止められるようにし、これらのリソースの高い利用可能性をもたらす形で名前解決を可能にする機構の必要が導かれる。
【0021】
分散情報サービスでの解決能力を拡張しようとする他の方法が存在した。
【0022】
たとえば、米国テネシー大学のNetlib Development Groupによって開発されたRCDS(Resource Cataloging and Distribution Service)は、インターネットからアクセス可能なリソースの特性をカタログし、アクセス性を向上するためにそのようなリソースを複製し、複製されたリソースの現在位置をカタログするためのアーキテクチャである。ユーザに提供されるファイルの完全性は、メッセージ・ダイジェストと公開キー認証を使用して保証される。
【0023】
RCDSは、(1)WWWブラウザであり、システムによって提供されるリソースを消費するクライアントと、(2)クライアントが要求したファイルへのアクセスを提供するファイル・サーバと、(3)ネットワーク上でアクセス可能なリソースの特性に関する情報を維持し、クライアントからのこれらの特性に関する問合せを受け入れるリソース・カタログ・サーバと、(4)ネットワーク上でアクセス可能なリソースの位置に関する情報を維持し、クライアントからの位置データに関する問合せを受け入れるロケーション・サーバと、(5)ファイル・サーバ上のファイルを管理する(ファイル・サーバのファイルの追加、更新及び除去を行う)コレクション・マネージャと、(6)コンテンツ・プロバイダから新規ファイルと解説を受け入れ、そのファイルをシステムに挿入するパブリケーション・ツールという複数の構成要素からなるシステムである。
【0024】
RCDSの解決構成要素は、リソース・カタログ・サーバ及びロケーション・サーバからなる。リソース・カタログ・サーバは、URCを使用して、URN(またはURL)を位置独立ファイル名(Location Independent File Name、LIFN)に解決し、ロケーション・サーバは、LIFNをURLに解決する。URCに存在する特性またはメタデータから、RCDSは、解決の範囲を縮小するためにクライアントが使用するラベルを提供できる。
【0025】
RCDSは、以下の3つの点で不適切である。
1.知能(たとえばコード内の単純な探索エンジンや、システム内の探索エンジンへのアクセス)を使用して、クライアントから使用可能なリソース・リストをカストマイズできるという点で、解決処理に追加される機能性がない。
2.クライアントは、クライアントに最適な可能なサービスを実現するためにクライアントとサービス特性の両方を考慮に入れて(クライアントの介入の有無を問わず)サービスと折衝することができない。
3.サービスの性能と利用可能性を確保するためのサーバ側オブジェクトの自動ミラーリングがない。
【0026】
CNRIハンドル・システム方式では、代理サーバを使用して、ウェブ・ブラウザ及び他のクライアントが名前(このシステムの用語ではハンドルと称する)を解決できるようにし、キャッシュ・サーバを使用して、前に解決されたサーバをキャッシュ記憶する。この場合、ハンドルは、いくつかの特性に基づいて解決できるが、これを達成する方法を示すための記述または実施態様はない。この方式のキャッシュ・サーバと代理サーバは、これらのトランザクションでの折衝を許容しない。この方式も不適切である。というのは、この方式では、関連リソースを突き止めるためのカストマイズされたクライアント側の探索が許容されず、自動ミラーリングによって高いアクセス性を保証する試みもないからである。
【0027】
【発明が解決しようとする課題】
本発明は、クライアント側でのカストマイズされた探索を許容し、コンテンツ・プロバイダ側でのサービスの高い利用可能性をサポートする、リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構に関する
【0028】
【課題を解決するための手段】
本発明は、クライアント計算機、サーバ計算機及びコンテンツ・プロバイダ計算機からなる、分散計算機環境において、デジタル・ドキュメントの形態であるリソースの位置を指名するためのコンピュータ化された方法であって、
当該指名は、クライアント計算機で行われ、
クライアント計算機が、サーバ計算機に要求し、サーバ計算機から配布されるSmartLinkパラメータ、
クライアント計算機が有するクライアント環境パラメータ及び
クライアント計算機からのコンテンツ・プロバイダ計算機への問い合わせによって、コンテンツ・プロバイダ計算機から得られるコンテンツ・プロバイダ・パラメータなどのコンテンツ・プロバイダの環境パラメータを使用して評価を行うことにより、リソースの位置を指名することを特徴とする方法を提供する。
本発明は、クライアント計算機、サーバ計算機及びコンテンツ・プロバイダ計算機からなる、分散計算機環境において、デジタル・ドキュメントの形態であるリソースの位置を指名するためのリソース指名機構であって、
当該指名は、クライアント計算機で行われ、
クライアント計算機が、サーバ計算機に要求し、サーバ計算機から配布されるSmartLinkパラメータ、
クライアント計算機が有するクライアント環境パラメータ及び
クライアント計算機からのコンテンツ・プロバイダ計算機への問い合わせによって、コンテンツ・プロバイダ計算機から得られるコンテンツ・プロバイダ・パラメータなどのコンテンツ・プロバイダの環境パラメータを使用して評価を行うことにより、リソースの位置を指名することを特徴とするリソース指名機構を提供する。
【0029】
本発明の第1の態様によれば、リソースがコードとデータの組合せによって表され、コードの実行がリソースを所望するクライアント側で行われる分散計算機環境で、リソースを指名するための機構が提供される。解決機構(コード)ならびにこの機構が計算を行うデータは、識別されるリソースのためにカストマイズできる。
本発明の第2の態様によれば、コードは、分散環境すなわちクライアント、ネットワーク、SmartLinkクリエータ及びコンテンツ・プロバイダから得られるデータとコードを使用してリソースを解決する。解決機構は、クライアント側の構成要素(以下、クライアント側構成要素)とサーバ側の構成要素(以下、サーバ側構成要素)からなる。クライアント側の構成要素であるコード及びデータは、SmartLinkコードで定義された条件によって指示される複数の局面で環境から取得できる。各局面では、このコードとデータに対する計算を使用して、追加データを取得できる。評価の最終局面が、リソースを解決する。サーバ側構成要素は、評価中にクライアント側構成要素から問い合わせられる可能性がある調整されたメトリックを維持する。クライアント側構成要素によって計算される中間結果は、サーバに安全に書き戻すことができる。サーバ側構成要素は、サイトのグループ・リーダ計算機によって管理される自動ミラーリング機能及びメトリック更新機能を提供することによって、評価のためのサポートを提供する。
【0030】
【発明の実施の形態】
図1は、本発明の特徴を有するコンテンツ配布機構を示す図である。ユーザ100の要求に対して、クライアント計算機101は、サーバ計算機115に、クライアントが実行可能な命名リソースのイメージ116(すなわち、記憶に適した形式のコード及びデータ)を要求する。この命名リソースは、SmartLink103と称し、コンテンツ配布機構112を介して提供される。配布機構の例には、フロッピ・ディスケット、CD−ROM及びインターネットが含まれる。SmartLinkを実施する実行可能なコンテンツの例には、ジャバとActiveXコントロールが含まれる。SmartLinkには、スクリプト(コード)104、動作データ105及びIDデータ106が含まれる。SmartLinkはクライアント計算機側で解決されるので、サーバは、クライアントの必要に合わせてカストマイズされたSmartLinkを提供できる。したがって、SmartLink解決は、静的ではなく、多数の候補のコンテンツ・プロバイダのうちの1つを選択でき、これによって、所望のサービスの高い利用可能性がもたらされる。さらに、この機構は、どのリソースも(たとえばサーバ計算機)複雑な名前解決を実行する必要がないので、本来の性質として負荷平衡である。
【0031】
ユーザによる活動化の際に、スクリプト104が、クライアント計算機101で実行されて、主コンテンツ・プロバイダ109として多数の可能なコンテンツ・プロバイダ計算機110のうちの1つが選択される。スクリプト104は、SmartLinkパラメータである動作データ105及びクライアント環境パラメータ102を使用して、この計算を行う。コンテンツ・プロバイダの例には、ソフトウェア配布センタ、株価情報サービス、オンライン商品販売業者が含まれる。SmartLinkパラメータの例には、コンテンツ・プロバイダの位置、前のコンテンツ・プロバイダの負荷、コンテンツ配布のための帯域幅が含まれる。クライアント環境パラメータの例には、クライアントの位置、コンテンツ配布帯域幅、ユーザの予算が含まれる。
【0032】
問合せ機構113を使用して、SmartLink103は、主コンテンツ・プロバイダ109から問合せ機構113を介してコンテンツ・プロバイダ・パラメータ114を取得する。問合せ機構の例には、インターネット、モデム、ファクシミリ、ケーブル・テレビジョン・ネットワークなどの媒体を介して実行される、RPC、HTTP、TCPなどのプロトコルが含まれる。コンテンツ・プロバイダ・パラメータの例には、現在のコンテンツ・プロバイダのメンバーシップ、現在のコンテンツ・プロバイダの負荷、コンテンツ・プロバイダのサービス料金、コンテンツ・プロバイダの位置が含まれる。SmartLinkコード(すなわち、スクリプト)104は、SmartLinkパラメータ(すなわち、動作パラメータ)105、クライアント環境パラメータ102及びコンテンツ・プロバイダ・パラメータ114などの環境パラメータを使用して評価を行い、解決されたコンテンツ・プロバイダ111への参照をもたらす。SmartLinkは、コンテンツ配布機構112を使用して、解決されたコンテンツ・プロバイダのコンテンツをクライアント計算機に転送する。書戻し機構107が、SmartLinkを取得する次のクライアント計算機101による使用のため、SmartLink103によって取得された更新されたメトリックをサーバ計算機115のイメージ116に格納する。
【0033】
図2は、SmartLink103の構造の例を示す図である。SmartLinkは、2つの構成要素すなわち、SmartLink CC103'と称するクライアント構成要素と、SmartLink PC250と称するコンテンツ・プロバイダ構成要素からなる。SmartLink CC103'は、クライアント計算機101上で走行し、SmartLink PC250は、コンテンツ・プロバイダ計算機110、主コンテンツ・プロバイダ109またはグループ・リーダ計算機118のいずれかで走行する。基本的に、SmartLinkCCは、分散システムのさまざまなメンバから取得されたデータに作用するスクリプト104からなる。具体的に言うと、SmartLink CCは、動作データ105とIDデータ106を維持する。SmartLink CCのスクリプト104は、複数のモジュールから構成される。モジュールの例には、主コンテンツ・プロバイダ109及び解決されたコンテンツ・プロバイダ111の役割を満たすためにメトリック・リストから最適のコンテンツ・プロバイダ計算機110を選択するメトリック評価モジュール211、パラメータを認証する署名検証モジュール212、主コンテンツ・プロバイダ109からメトリックを取得するメトリック問合せモジュール213及び、解決されたコンテンツ・プロバイダ111からコンテンツを取得するコンテンツ獲得モジュール214が含まれる。コンテンツ・プロバイダは、グループ・リーダ計算機118によって調整されるコンテンツ・プロバイダ・グループ108に編成される。
【0034】
SmartLink CCのIDデータ106には、クライアントがSmartLinkにアクセスしたサーバのID信用証明(SmartLinkサーバID221)、許可されたコンテンツ・プロバイダの証明(コンテンツ・プロバイダ証明222)及びSmartLinkのクリエータのID(SmartLinkクリエータID223)が含まれる。ID情報の使用は、任意選択であり、SmartLinkスクリプト104用のモジュールの選択に基づく。
【0035】
動作データ105は、メトリック評価モジュール211によって使用される別個のモジュールの組からなるものとすることができる。クライアント計算機101にSmartLinkCCが配布される時(403)にサーバ計算機115から取得されたか、SmartLink CCによる問合せの時(409)に主コンテンツ・プロバイダ109から取得されたかのいずれかである、使用可能な最近のメトリックとコンテンツ・プロバイダ・メンバーシップ・データが、動作データに記憶される。サーバからのデータは、前の実体が書戻し機構107を介してイメージ116にそのデータを書き戻した時(410)に取得される。安全な書戻し機構は、図5で説明する。可能なコンテンツ・プロバイダのリストは、コンテンツ・プロバイダのリスト232に記憶され、これらの機構のメトリック・データは、メトリック・データ・モジュール233に記憶される。このデータを取得した時刻は、タイム・スタンプ・モジュール231に記録される。タイム・スタンプ・モジュールは、完全な評価のテストを行うことができるかどうかを判定するために検査される。メトリック評価モジュール211に必要なすべてのメトリックの値が、メトリック・データ・モジュール233内に存在する場合には、解決されたコンテンツ・プロバイダに対して直接に要求を行う(412)ことができる。そうでない場合には、SmartLink CCは、まず主コンテンツ・プロバイダ109を選択して要求を行い(408)、新しいメトリックの組を取得する(409)。
【0036】
SmartLink PC250は、4つのモジュールからなる。クライアント・メトリック更新モジュール251は、要求時にメトリックをCCに供給する。データ配布モジュール252は、コンテンツ配布機構112を使用して、CCにコンテンツを伝送する。グループ・メトリック更新モジュール253は、グループ・リーダ計算機118によって管理される他のコンテンツ・プロバイダ計算機110にメトリックを供給する。メンバーシップ更新モジュール254は、グループ・リーダ計算機118からのグループへの参加及び離脱の要求を処理する。PC250の処理の例を、図6及び図7に示す。
【0037】
図3は、SmartLink CC作成処理の例を示す図である。SmartLink作成は、サーバ計算機115によって呼び出されたクリエータ117で実行されることが好ましい。当業者であれば、サーバにクリエータの役割を含めることもできることを諒解するであろう。さらに、ほとんどの場合に、SmartLinkは、一度作成され、サーバによって記憶されるが、サーバは、クライアントの要求のそれぞれに応答して新しいSmartLinkを作成することができる。
【0038】
SmartLink CC作成には、SmartLink CCイメージを作成するためのサーバ計算機115とクリエータ117の間の相互作用が含まれる。サーバは、問合せ機構113を介してクリエータにパラメータを供給し、イメージ116を作成するためのカストマイズ・パラメータを提供する(301)。カストマイズ・パラメータの例には、SmartLink CC103'によって参照されるサービスのタイプ、SmartLink CC評価処理の性質、または、SmartLink CC103'のアクセスが制限される地理的な区域が含まれる。クリエータ117は、カストマイズ・パラメータを使用して、選択機構を選択し(302)、スクリプト104と初期の動作データ105を選択する(303)。パラメータが、安全な動作要求する場合(認証または完全性検証が必要)(304)、クリエータは、SmartLink CCのIDデータ106も生成する(306)。その後、コンテンツ配布機構112を介してサーバ計算機にSmartLink CCのイメージが配布され(305)、サーバに記憶される。
【0039】
SmartLink評価処理の例を、図4に示す。SmartLink評価は、クライアント側で行われる。ユーザがSmartLinkを活動化し(401)、クライアント計算機が、サーバにSmartLinkを要求する(402)。サーバは、SmartLinkをクライアントにダウンロードする(403)。SmartLinkは、クライアント環境からの情報を使用して、部分的に評価することができる(404)。SmartLinkは、最後の実行からキャッシュ記憶された可能性があるメトリック情報のタイム・スタンプを検査する(405)。キャッシュ記憶されたメトリックが、十分最近であることがわかり、SmartLinkが完全に評価できるとわかった(すなわち、単一のコンテンツ・プロバイダが識別された)場合(407)、SmartLinkは、選択されたコンテンツ・プロバイダと通信し、解決されたコンテンツ・プロバイダ111からコンテンツ配布機構112を介するコンテンツの転送を開始する(412)。メトリックが古いか、SmartLinkの評価を完了できなかった場合、メトリック問合せモジュール213によって決定されるヒューリスティックを使用して、新しいメトリックを取得するのに最適の可能なコンテンツ・プロバイダを識別する。このコンテンツ・プロバイダを、主コンテンツ・プロバイダ109と称する。SmartLinkは、主コンテンツ・プロバイダに、更新されたメトリック、使用可能なプロバイダのリスト及び評価アルゴリズムを要求する(408)。主コンテンツ・プロバイダによって、SmartLink CC103'にデータが送られる(409)。その後、SmartLink CCは、書戻し機構107を使用して、サーバ計算機115にデータを記憶する(410)。このデータを使用して、SmartLink CCは、評価を完了して(411)、解決されたコンテンツ・プロバイダ111を求め、解決されたコンテンツ・プロバイダと通信して、コンテンツを取得する(412)。
【0040】
SmartLink評価は複数の局面を有する構造なので、本発明がカストマイズ可能になり、高い利用可能性がもたらされることに留意されたい。分散環境に問い合わせることによって、SmartLinkは、使用可能な最適のコンテンツ・プロバイダを選択でき、この「最適」は、そのSmartLinkによってアクセスできるメトリックである限り、どのようなメトリックの組によって定義されるものでもかまわない。当業者であれば、この特徴の2局面性(すなわち、主コンテンツ・プロバイダにメトリックを要求し、その後、このメトリックを使用して解決されたコンテンツ・プロバイダを選択すること)を、n局面解決機構に拡張できることを諒解するであろう。しかし、クライアント、サーバ及びコンテンツ・プロバイダの必要に基づいてSmartLinkをカストマイズする能力は、従来の静的リンク手法に欠けている、カストマイズを可能にし、高い利用可能性をサポートする要素である。
【0041】
図5は、クライアントとサーバを用いる、安全な書戻し機構107の処理の例を示す図である。当業者であれば、このプロトコルでサーバの代わりに別のデータ記憶サイトを使用できることを諒解するであろう。安全な書戻しの使用は、推奨されるが任意選択であることに留意されたい。この処理は、安全でない書戻し機構に置換することができる。本明細書に記載のセキュリティ機構のすべてで、標準的なセキュリティ技法が使用される。具体的に言うと、ディジタル署名、暗号化、認証及び証明書作成のための技法は、カウフマン(C. Kaufman)他著、「Network Security: Private Communication in a Public World」Prentice-Hall, Inc刊、米国ニュージャージ州Englewood Cliffs、1995年と、シュナイアー(B. Schneier)著、「Applied Cryptography Second Edition: Protocols, Algorithms, and Source Code in C.」John Wiley & Sons, Inc.刊、米国ニューヨーク州、1996年に記載されている。解決されたコンテンツ・プロバイダ111は、コンテンツ配布機構112を使用してクライアント計算機101にデータを転送する(502)前に、すべてのデータに署名し、タイム・スタンプを付ける(501)。スクリプト104の署名検証モジュール212が、コンテンツ・プロバイダから受け取ったパラメータをメトリック・データ・モジュール233に書き込み、タイム・スタンプ・モジュール231の動作データを更新する前に、署名を検証し、データを更新する。署名は、コンテンツ・プロバイダ証明222に記憶された署名情報に基づいて検証される(503)。メトリックからの署名情報は、動作データ・コンテンツ・プロバイダ署名234として記憶される。メトリックの認証の後に、署名されたデータが、クライアント計算機101によってサーバ計算機115に送られる(504)。サーバ計算機は、そのデータが現在記憶されているデータより新しいかどうかを判定し(505)、そうである場合には、コンテンツ・プロバイダの権限を検証して、メトリックを提供する(506)。これらの条件が満たされる場合、メトリックは、SmartLink CCの将来の呼出し(401)による使用のためイメージ116に記憶され(507)、SmartLink CCがダウンロードされる際(403)にクライアント計算機101に供給される。新規性のテストまたは検証が失敗した場合には、データを破棄する(508)。
【0042】
図6、図7、図8及び図9は、SmartLink PC250の機能を含むプロトコルの例を示す図である。
【0043】
コンテンツ・プロバイダ・グループ108は、コンテンツ・プロバイダ計算機110として働く1組のノードからなる。グループに含まれるコンテンツ・プロバイダは、クライアントの要件及び環境に適した1組のメトリックによって区別される。図6及び図7に、コンテンツ・プロバイダ・グループ108内のグループ・リーダ計算機118の処理を示す。
【0044】
グループ・リーダ計算機118は、ノードのグループを維持し、このグループの各ノードは、サービス・コンテンツを含み、コンテンツ・プロバイダ・グループ108を構成するコンテンツ・プロバイダ計算機110を区別するメトリック情報を維持する。コンテンツ・プロバイダの間では、メトリック情報が共用される。SmartLink CCは、このメトリック(図8及び図9に示すように、PCから取得する)を使用して、グループ内のコンテンツ・プロバイダの間で選択する。この選択は、スクリプト104のメトリック評価モジュール211を使用して行われ、これによって、最も適したコンテンツ・プロバイダ・グループとそのグループ内で最も適したコンテンツ・プロバイダを決定できる。メトリックのタイプは、クリエータ117によって選択され、クリエータによって想定された機能とサービス・レベルに対するメトリックの影響を反映する。
【0045】
メトリックの組の例を示す。
1.ノード負荷:負荷指標の時間平均
2.ノード・メモリ:メモリ使用量の時間平均
3.物理ノード・メモリ:固定された物理ノード・メモリ
4.ライブネス(Liveness):ノードが機能しているかダウンしているか
5.信頼性:(プロバイダ/ノード)の故障までの平均時間
6.ソフトウェア・ライセンスの利用可能性
7.累算性能メトリック
8.ノード・アクセスのコスト
9.サーバ・ノードとクライアント・ノードの地理的な近さ
10.サービスへのアクセスに関するセキュリティ制限
【0046】
コンテンツ・プロバイダ計算機110は、複数のSmartLink CC103'をサポートできるので、複数のメトリックの組を維持しなければならない場合がある。メトリックは、グループ・メンバの間で周期的または非周期的に更新できる。周期的更新モードでは、コンテンツ・プロバイダ計算機110のそれぞれが、グループ・メンバのすべてにそのメトリックをマルチキャストする。周期的更新の場合、グループ・リーダ計算機が更新の周期を制御する。非周期的更新の場合、グループの個々のメンバが、そのノード上で1つのメトリックまたはメトリックのグループが指定された閾値を超える時に、更新を伝播する。サイトのグループ・リーダ計算機は、この閾値を指定する。コンテンツ・プロバイダ・グループのメンバーシップは、時間の中で動的に変更できる。
【0047】
コンテンツ・プロバイダ・グループの動的メンバーシップをサポートすることによって、SmartLinkの利用可能性を高めることができる。これなしでも、SmartLinkの利用可能性を高めることはできる。この機能がない場合、既存システムは、すべての負荷変動を予測し、サービスをサポートするすべてのノードへの明示的な静的リンクを追加しなければならない。負荷が変動するたびに、たとえば、非常に人気のあるソフトウェアがコンテンツ・プロバイダによって配布される場合には、静的リンクの形で新しいノードを明示的に追加しなければならない。負荷が減少する時には、リンクを明示的に除去しなければならない。コンテンツ・プロバイダの動的メンバーシップがあれば、SmartLinkは、現在の実行環境に最適になるように自動的にサイズを調整されるコンテンツ・プロバイダ・グループの最も適したメンバから選択できる。
【0048】
メンバーシップ変更は、システム内のメトリックの変更によって明示的に制御される。ノードの寿命は、そのノードのライブネス・メトリックの変更として表現される。ノードの寿命は、更新メッセージの監視によるか(周期的更新の場合)、非周期的更新の場合には環状pingプロトコルによって、判定される。
【0049】
メンバーシップの変更は、選ばれたグループ・リーダによって開始される(必要なプロトコルは、グループ・リーダによって実行され、制御される)ことが好ましい。リーダの選択は、マレンダ(Sape Mullender)編、「Distributed Systems」、ACM Press刊、米国ニューヨーク州、1989年に提示された標準プロトコルによって行うことができる。通常のリーダ選択プロトコルに対する唯一の変更は、この変更がインターネットを介して伝播されることである。このプロトコルは、インターネット上での実行を目的とする。このプロトコルのポイントは、「最も使用可能なサイト」プロトコルのクライアント側によって通信されることのなんらかの保証を提供することである。当業者であれば、グループ・リーダの機能性を、1つの区別可能なノードで調整するのではなく、グループのメンバの間で分散できることを理解することに留意されたい。
【0050】
図6及び図7に示されているように、グループ・リーダ計算機118の処理は、繰り返し処理として定義される。グループ・リーダは、図8及び図9の処理を同時に実行して、コンテンツ・プロバイダとして働くこともできることに留意されたい。周期的メトリック更新が使用されており、現在のメトリックが古いと判定される(602)場合、グループ・リーダは、グループ・メンバに更新されたメトリックを要求する(603)。グループ・メンバは、メトリック更新要求(718)としてこの要求を処理する。
【0051】
もう一度図6及び図7を参照すると、グループ・リーダは、グループ内の計算機のメトリックを継続的に検査する(601)。グループ・メンバが過負荷の場合(610)、グループ・リーダは、使用可能なノードのすべてに「加入(join)」要求をマルチキャストする(611)。その後、グループ・リーダは、指定されたタイムスライスの間、すべての要求について待機する(612)。応答を受け取らない場合(613)、グループ・リーダは待ちループ(601)に戻る。そうでない場合、リーダは、その負荷に基づいて最適の新規グループ・メンバを選択し(614)、このサイトにそのグループに加入するよう要求する(614)。新規ノードの参加を可能にするために、グループ・リーダは、新規ノードへデータを転送するようにグループ・メンバに要求する(615)。新規ノードがグループに加入する準備ができたことの通知の際に(616)、グループ・リーダは、グループの残りのメンバに、新規メンバーが加入したことを通知し、新規ノードのメトリックを提供する(617)。グループ・リーダが、グループ内の計算機についてメトリックを検査し(601)、グループ・メンバの負荷が低すぎる場合(620)、グループ・リーダは、現在のメトリックに基づいてグループから除去するノードを選択する(621)。選択を終えると、グループから除去されるノードが通知を受け(622)、グループの残りのノードも通知を受ける(623)。
【0052】
図8及び図9も、コンテンツ・プロバイダ・グループ108でのメンバシップに関してノードを使用可能にする処理の例を示す図である。活動状態のコンテンツ・プロバイダ計算機110のノード数は、コンテンツ・プロバイダの負荷に依存する。図からわかるように、これらのノードのそれぞれは、当初は、グループ・リーダ計算機118からの「加入」要求を待っている状態(700)である。加入要求を待っている時に、ノードは、他のサービスのコンテンツ・プロバイダとして働くことを含めて、他の動作を実行できる。
【0053】
要求を受け取った際に、ノードは、グループへの加入に同意することをグループ・リーダに通知し(701)、その後、応答を待つ(702)。タイマの満了までに応答が受け取られない場合(703)、ノードは待機状態(700)に戻る。そうでない場合、ノードは、コンテンツ・プロバイダ計算機110のグループのメンバからパッケージ化されたコンテンツを受け取るのを待つ。パッケージ化されたコンテンツを受け取った時に(704)、そのデータがインストールされ(705)、このノードは、コンテンツ・プロバイダになり、初期設定されたことをグループ・リーダに通知し(706)、SmartLink CC103'からのサーバ要求を待つ(710)ことによってSmartLink PC250として働く。
【0054】
コンテンツ・プロバイダのそれぞれは、4つの異なる要求すなわち、メトリック要求715、データ要求716、離脱要求717またはメトリック更新要求718のうちの1つを待つ。この待機中に、非周期的メトリック更新プロトコルが使用されている場合には、コンテンツ・プロバイダは、更新が必要であるかどうかを判定するために、ローカルなメトリック114を検査する(780)。メトリック更新は、メトリック更新要求を受け取った時(718)にも実行される。メトリックが閾値を超えた場合(781)またはメトリック更新要求を受け取った場合、コンテンツ・プロバイダは、新しいメトリックをグループのメンバにマルチキャストする(782)。
【0055】
要求を受け取った際に、コンテンツ・プロバイダ計算機110は、要求の性質に基づいて実行する処置を選択する(711)。メトリック要求715を受け取った時には、SmartLink PC250は、まず要求元のSmartLink CC103'がその要求を許可されているかどうかを検査する(720)。アクセスが許可されない場合(799)、「サービスの拒否」応答をSmartLink CCに返す。アクセスが許可される場合、PCは、SmartLink CC103'によってメトリック要求715に含められたパラメータによって決定される注釈付きホスト・リストを作成する(721)。これらのパラメータによって、クライアントが識別され、その特性が定義され、所望のサービス及びサービス・レベルに関連するメトリックが示される。このリストは、許可と保全性を保証するためにSmartLink PC250によって署名され(722)、その後、クライアントに返される(723)。このメッセージ転送を達成するのに使用される転送機構は、HTTPまたはRPCのいずれかとすることができる。
【0056】
データ要求716を受け取った際に、SmartLink PC250は、まず、要求元のSmartLink CC103'がデータを受け取る許可を与えられているかどうかを検査する(730)。アクセスが許可されない場合(799)、「サービスの拒否」応答をCCに返す。アクセスが許可される場合、PCは、許可と保全性を保証するために、配布されるコンテンツに署名し(731)、その後、このデータをクライアントに返す(732)。離脱要求717は、コンテンツ・プロバイダの負荷が低すぎる時に、グループ・リーダ計算機118によって生成される(この処理の説明については、図6及び図7を参照されたい)。グループ・リーダから離脱要求717を受け取る時には、コンテンツ・プロバイダは、そのサービスに関するデータをクリーン・アップする(740)。データのクリーン・アップには、磁気テープなどの安価な記憶装置へのデータの移動か、データの完全な削除のいずれかを用いることができる。その後、コンテンツ・プロバイダは、グループ・リーダに離脱要求の肯定応答を送り(741)、加入要求の待機(700)を始める。
【0057】
好ましい実施例と代替実施例によって本発明を説明したので、当業者であれば、さまざまな変更及び改良を思い浮かべるであろう。したがって、好ましい実施例は、例として提供されたのであって、制限ではないことを理解されたい。本発明の範囲は、請求項によって定義される。
【0058】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0059】
(1) クライアント計算機、サーバ計算機及びコンテンツ・プロバイダ計算機からなる、分散計算機環境において、デジタル・ドキュメントの形態であるリソースの位置を指名するためのコンピュータ化された方法であって、
当該指名は、クライアント計算機で行われ、
クライアント計算機が、サーバ計算機に要求し、サーバ計算機から配布されるSmartLinkパラメータ、
クライアント計算機が有するクライアント環境パラメータ及び
クライアント計算機からのコンテンツ・プロバイダ計算機への問い合わせによって、コンテンツ・プロバイダ計算機から得られるコンテンツ・プロバイダ・パラメータなどのコンテンツ・プロバイダの環境パラメータを使用して評価を行うことにより、リソースの位置を指名することを特徴とする方法。
(2) (1)に記載の分散計算機環境は、クライアント計算機に接続されたユーザ、サーバ計算機に接続されたクリエータ計算機を、さらに、含み、また、前記クライアント環境パラメータが、クライアント計算機の位置、コンテンツ配布帯域幅であるところの伝送速度又はユーザの予算であるところのクライアント計算機の能力である、(1)に記載の方法。
(3) 前記サーバ計算機がクリエータ計算機でもある(2)記載の方法。
(4) 前記コンテンツ・プロバイダ計算機が、グループ・リーダ計算機及び分散計算機環境を構成する複数のコンテンツ・プロバイダ計算機からなるコンテンツ・プロバイダ・グループを構成しており、
分散計算機環境パラメータの更新が、コンテンツ・プロバイダ・グループ内のグループ・リーダ計算機によって調整された周期的または非周期的のいずれかで行われ、
グループ・リーダ計算機により指示されたコンテンツ・プロバイダ計算機がグループに動的に加入し、または、離脱し、
加入に際しては、該グループに加入するコンテンツ・プロバイダ計算機に対して、コンテンツ・プロバイダ・グループ内の少なくとも1つのグループ・メンバによって、前記コンテンツ・プロバイダ計算機のグループのコンテンツ及び分散計算機環境パラメータが送られ、
離脱に際しては、グループを離脱するコンテンツ・プロバイダ計算機は、直接的にまたはグループ・リーダ計算機に通知することによってのいずれかで、前記グループの離脱をグループ内の他のコンテンツ・プロバイダ計算機に通知する、
ようにした、(2)に記載の方法。
(5) クライアント計算機、サーバ計算機及びコンテンツ・プロバイダ計算機からなる、分散計算機環境において、デジタル・ドキュメントの形態であるリソースの位置を指名するためのリソース指名機構であって、
当該指名は、クライアント計算機で行われ、
クライアント計算機が、サーバ計算機に要求し、サーバ計算機から配布されるSmartLinkパラメータ、
クライアント計算機が有するクライアント環境パラメータ及び
クライアント計算機からのコンテンツ・プロバイダ計算機への問い合わせによって、コンテンツ・プロバイダ計算機から得られるコンテンツ・プロバイダ・パラメータなどのコンテンツ・プロバイダの環境パラメータを使用して評価を行うことにより、リソースの位置を指名することを特徴とするリソース指名機構。
(6) (5)に記載の分散計算機環境は、クライアント計算機に接続されたユーザ、サーバ計算機に接続されたクリエータ計算機を、さらに、含み、また、前記クライアント環境パラメータが、クライアント計算機の位置、コンテンツ配布帯域幅であるところの伝送速度又はユーザの予算であるところのクライアント計算機の能力である、(5)に記載のリソース指名機構。
(7) 前記サーバ計算機がクリエータ計算機でもある(6)記載のリソース指名機構。
(8) 前記コンテンツ・プロバイダ計算機が、グループ・リーダ計算機及び分散計算機環境を構成する複数のコンテンツ・プロバイダ計算機からなるコンテンツ・プロバイダ・グループを構成しており、
分散計算機環境パラメータの更新が、コンテンツ・プロバイダ・グループ内のグループ・リーダ計算機によって調整された周期的または非周期的のいずれかで行われ、
グループ・リーダ計算機により指示されたコンテンツ・プロバイダ計算機がグループに動的に加入し、または、離脱し、
加入に際しては、該グループに加入するコンテンツ・プロバイダ計算機に対して、コンテンツ・プロバイダ・グループ内の少なくとも1つのグループ・メンバによって、前記コンテンツ・プロバイダ計算機のグループのコンテンツ及び分散計算機環境パラメータが送られ、
離脱に際しては、グループを離脱するコンテンツ・プロバイダ計算機は、直接的にまたはグループ・リーダ計算機に通知することによってのいずれかで、前記グループの離脱をグループ内の他のコンテンツ・プロバイダ計算機に通知する、
ようにした、(6)に記載のリソース指名機構。
【図面の簡単な説明】
【図1】本発明によるコンテンツ配布機構を示す図である。
【図2】本発明によるSmartLink及びその構成要素部分のシステムを示す図である。
【図3】SmartLinkクリエータが、サーバによって提供されるパラメータの組に基づいて新しいSmartLinkを作成する方法を示す図である。
【図4】図2に示されたSmartLinkシステムの評価の処理を示す図である。
【図5】SmartLinkによる将来の使用のためにサーバ計算機でメトリックを記憶できるようにする、安全な書戻し機構の実施例を示す図である。
【図6】図7と共に、グループ・リーダの処理を示す図である。
【図7】図6と共に、グループ・リーダの処理を示す図である。
【図8】図9と共に、コンテンツ・プロバイダまたはコンテンツ・プロバイダとして働くために使用可能なノードの処理を示す図である。
【図9】図8と共に、コンテンツ・プロバイダまたはコンテンツ・プロバイダとして働くために使用可能なノードの処理を示す図である。
【符号の説明】
100 ユーザ
101 クライアント計算機
102 クライアント環境パラメータ
103 SmartLink
103' SmartLink CC
104 スクリプト(コード)
105 動作データ
106 IDデータ
107 書戻し機構
108 コンテンツ・プロバイダ・グループ
109 主コンテンツ・プロバイダ
110 コンテンツ・プロバイダ計算機
111 解決されたコンテンツ・プロバイダ
112 コンテンツ配布機構
113 問合せ機構
114 コンテンツ・プロバイダ・パラメータ
115 サーバ計算機
116 イメージ
117 クリエータ
118 グループ・リーダ計算機

Claims (8)

  1. クライアント計算機、サーバ計算機及びコンテンツ・プロバイダ計算機からなる、分散計算機環境において、デジタル・ドキュメントの形態であるリソースの位置を指名するためのコンピュータ化された方法であって、
    当該指名は、クライアント計算機で行われ、
    クライアント計算機が、サーバ計算機に要求し、サーバ計算機から配布されるSmartLinkパラメータ、
    クライアント計算機が有するクライアント環境パラメータ及び
    クライアント計算機からのコンテンツ・プロバイダ計算機への問い合わせによって、コンテンツ・プロバイダ計算機から得られるコンテンツ・プロバイダ・パラメータなどのコンテンツ・プロバイダの環境パラメータを使用して評価を行うことにより、リソースの位置を指名することを特徴とする方法。
  2. 請求項1に記載の分散計算機環境は、クライアント計算機に接続されたユーザ、サーバ計算機に接続されたクリエータ計算機を、さらに、含み、また、前記クライアント環境パラメータが、クライアント計算機の位置、コンテンツ配布帯域幅であるところの伝送速度又はユーザの予算であるところのクライアント計算機の能力である、請求項1に記載の方法。
  3. 前記サーバ計算機がクリエータ計算機でもある請求項2記載の方法。
  4. 前記コンテンツ・プロバイダ計算機が、グループ・リーダ計算機及び分散計算機環境を構成する複数のコンテンツ・プロバイダ計算機からなるコンテンツ・プロバイダ・グループを構成しており、
    分散計算機環境パラメータの更新が、コンテンツ・プロバイダ・グループ内のグループ・リーダ計算機によって調整された周期的または非周期的のいずれかで行われ、
    グループ・リーダ計算機により指示されたコンテンツ・プロバイダ計算機がグループに動的に加入し、または、離脱し、
    加入に際しては、該グループに加入するコンテンツ・プロバイダ計算機に対して、コンテンツ・プロバイダ・グループ内の少なくとも1つのグループ・メンバによって、前記コンテンツ・プロバイダ計算機のグループのコンテンツ及び分散計算機環境パラメータが送られ、
    離脱に際しては、グループを離脱するコンテンツ・プロバイダ計算機は、直接的にまたはグループ・リーダ計算機に通知することによってのいずれかで、前記グループの離脱をグループ内の他のコンテンツ・プロバイダ計算機に通知する、
    ようにした、請求項2に記載の方法。
  5. クライアント計算機、サーバ計算機及びコンテンツ・プロバイダ計算機からなる、分散計算機環境において、デジタル・ドキュメントの形態であるリソースの位置を指名するためのリソース指名機構であって、
    当該指名は、クライアント計算機で行われ、
    クライアント計算機が、サーバ計算機に要求し、サーバ計算機から配布されるSmartLinkパラメータ、
    クライアント計算機が有するクライアント環境パラメータ及び
    クライアント計算機からのコンテンツ・プロバイダ計算機への問い合わせによって、コンテンツ・プロバイダ計算機から得られるコンテンツ・プロバイダ・パラメータなどのコンテンツ・プロバイダの環境パラメータを使用して評価を行うことにより、リソースの位置を指名することを特徴とするリソース指名機構
  6. 請求項5に記載の分散計算機環境は、クライアント計算機に接続されたユーザ、サーバ計算機に接続されたクリエータ計算機を、さらに、含み、また、前記クライアント環境パラメータが、クライアント計算機の位置、コンテンツ配布帯域幅であるところの伝送速度又はユーザの予算であるところのクライアント計算機の能力である、請求項5に記載のリソース指名機構
  7. 前記サーバ計算機がクリエータ計算機でもある請求項6記載のリソース指名機構
  8. 前記コンテンツ・プロバイダ計算機が、グループ・リーダ計算機及び分散計算機環境を構成する複数のコンテンツ・プロバイダ計算機からなるコンテンツ・プロバイダ・グループを構成しており、
    分散計算機環境パラメータの更新が、コンテンツ・プロバイダ・グループ内のグループ・リーダ計算機によって調整された周期的または非周期的のいずれかで行われ、
    グループ・リーダ計算機により指示されたコンテンツ・プロバイダ計算機がグループに動的に加入し、または、離脱し、
    加入に際しては、該グループに加入するコンテンツ・プロバイダ計算機に対して、コンテンツ・プロバイダ・グループ内の少なくとも1つのグループ・メンバによって、前記コンテンツ・プロバイダ計算機のグループのコンテンツ及び分散計算機環境パラメータが送られ、
    離脱に際しては、グループを離脱するコンテンツ・プロバイダ計算機は、直接的にまたはグループ・リーダ計算機に通知することによってのいずれかで、前記グループの離脱をグループ内の他のコンテンツ・プロバイダ計算機に通知する、
    ようにした、請求項6に記載のリソース指名機構
JP31322097A 1996-11-21 1997-11-14 リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構 Expired - Fee Related JP3967806B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US3146296P 1996-11-21 1996-11-21
US08/799,816 US5944793A (en) 1996-11-21 1997-02-13 Computerized resource name resolution mechanism
US08/799816 1997-02-13
US60/031462 1997-02-13

Publications (2)

Publication Number Publication Date
JPH10312350A JPH10312350A (ja) 1998-11-24
JP3967806B2 true JP3967806B2 (ja) 2007-08-29

Family

ID=26707278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31322097A Expired - Fee Related JP3967806B2 (ja) 1996-11-21 1997-11-14 リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構

Country Status (3)

Country Link
US (1) US5944793A (ja)
JP (1) JP3967806B2 (ja)
KR (1) KR100261386B1 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272559B1 (en) * 1997-10-15 2001-08-07 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6393497B1 (en) 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6463446B1 (en) 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US6708171B1 (en) 1996-04-23 2004-03-16 Sun Microsystems, Inc. Network proxy
US6237024B1 (en) * 1998-03-20 2001-05-22 Sun Microsystem, Inc. Method and apparatus for the suspension and continuation of remote processes
US6578044B1 (en) 1997-11-17 2003-06-10 Sun Microsystems, Inc. Method and system for typesafe attribute matching
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6466947B2 (en) 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
GB2331166B (en) * 1997-11-06 2002-09-11 Ibm Database search engine
EP0953172B1 (en) * 1997-01-17 2001-08-29 International Business Machines Corporation Protecting resources in a distributed computer system
US6345300B1 (en) * 1997-03-25 2002-02-05 Intel Corporation Method and apparatus for detecting a user-controlled parameter from a client device behind a proxy
US6587877B1 (en) * 1997-03-25 2003-07-01 Lucent Technologies Inc. Management of time and expense when communicating between a host and a communication network
US6076111A (en) * 1997-10-24 2000-06-13 Pictra, Inc. Methods and apparatuses for transferring data between data processing systems which transfer a representation of the data before transferring the data
US6223221B1 (en) * 1998-02-05 2001-04-24 International Business Machines Corporation System and method for calculating the transfer rate across a communication medium using a downloaded test program and transferring data accordingly
CN1298514A (zh) 1998-02-26 2001-06-06 太阳微系统公司 确定性散列识别远程方法的方法和系统
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
US6115752A (en) * 1998-05-21 2000-09-05 Sun Microsystems, Inc. System and method for server selection for mirrored sites
JP2000076118A (ja) * 1998-09-03 2000-03-14 Fuji Xerox Co Ltd 分散ファイル処理装置および分散ファイル処理方法
US6237143B1 (en) * 1998-09-17 2001-05-22 Unisys Corp. Method and system for monitoring and capturing all file usage of a software tool
US6782431B1 (en) * 1998-09-30 2004-08-24 International Business Machines Corporation System and method for dynamic selection of database application code execution on the internet with heterogenous clients
US6510450B1 (en) * 1999-02-04 2003-01-21 Novell, Inc. Multiple storage class distributed nametags for locating items in a distributed computing system
GB2348659B (en) * 2000-03-23 2001-03-28 Fmc Corp Tubing hanger saddle valve
AU2001247791A1 (en) * 2000-03-23 2001-10-03 Tingo Inc. System and method for managing user-specific data
US8135796B1 (en) 2000-05-09 2012-03-13 Oracle America, Inc. Mechanism and apparatus for accessing and addressing services in a distributed computing environment
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US7716492B1 (en) 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US8001232B1 (en) 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US6789077B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US6643650B1 (en) 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US6792466B1 (en) 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
US6760815B1 (en) * 2000-06-02 2004-07-06 Sun Microsystems, Inc. Caching mechanism for a virtual heap
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6763440B1 (en) 2000-06-02 2004-07-13 Sun Microsystems, Inc. Garbage collection using nursery regions for new objects in a virtual heap
US6666377B1 (en) 2000-07-18 2003-12-23 Scott C. Harris Bar code data entry device
US6957224B1 (en) 2000-09-11 2005-10-18 International Business Machines Corporation Efficient retrieval of uniform resource locators
US6782421B1 (en) * 2001-03-21 2004-08-24 Bellsouth Intellectual Property Corporation System and method for evaluating the performance of a computer application
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7660887B2 (en) 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US7369868B2 (en) * 2002-10-30 2008-05-06 Sony Ericsson Mobile Communications Ab Method and apparatus for sharing content with a remote device using a wireless network
US7373416B2 (en) * 2003-04-24 2008-05-13 Akamai Technologies, Inc. Method and system for constraining server usage in a distributed network
US7401072B2 (en) * 2003-06-10 2008-07-15 Google Inc. Named URL entry
US7293012B1 (en) 2003-12-19 2007-11-06 Microsoft Corporation Friendly URLs
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US7529780B1 (en) 2005-12-30 2009-05-05 Google Inc. Conflict management during data object synchronization between client and server
US7738404B2 (en) * 2007-01-23 2010-06-15 Alcatel-Lucent Usa Inc. Method of aggregate statistic computation
US7693833B2 (en) * 2007-02-01 2010-04-06 John Nagle System and method for improving integrity of internet search
US7840662B1 (en) * 2008-03-28 2010-11-23 EMC(Benelux) B.V., S.A.R.L. Dynamically managing a network cluster
US20090265449A1 (en) * 2008-04-22 2009-10-22 Hewlett-Packard Development Company, L.P. Method of Computer Clustering
US20090327466A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Internal uniform resource locator formulation and testing
US8620861B1 (en) 2008-09-30 2013-12-31 Google Inc. Preserving file metadata during atomic save operations
US9934240B2 (en) * 2008-09-30 2018-04-03 Google Llc On demand access to client cached files
US8838751B1 (en) * 2008-12-08 2014-09-16 Amazon Technologies, Inc. Brokering real time service providers

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434974A (en) * 1992-03-30 1995-07-18 International Business Machines Corporation Name resolution for a multisystem network
JPH06149756A (ja) * 1992-11-16 1994-05-31 Hitachi Ltd 分散型情報処理方法およびその装置
JPH08123768A (ja) * 1994-10-21 1996-05-17 Mitsubishi Electric Corp 分散システム管理方式及び分散システム管理方法
US5706501A (en) * 1995-02-23 1998-01-06 Fuji Xerox Co., Ltd. Apparatus and method for managing resources in a network combining operations with name resolution functions
JP2746218B2 (ja) * 1995-02-23 1998-05-06 富士ゼロックス株式会社 資源管理装置および資源管理方法
US5729689A (en) * 1995-04-25 1998-03-17 Microsoft Corporation Network naming services proxy agent
JP3738787B2 (ja) * 1995-10-19 2006-01-25 富士ゼロックス株式会社 資源管理装置及び資源管理方法
US5764906A (en) * 1995-11-07 1998-06-09 Netword Llc Universal electronic resource denotation, request and delivery system

Also Published As

Publication number Publication date
KR19980041908A (ko) 1998-08-17
US5944793A (en) 1999-08-31
JPH10312350A (ja) 1998-11-24
KR100261386B1 (ko) 2000-07-01

Similar Documents

Publication Publication Date Title
JP3967806B2 (ja) リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構
US11388251B2 (en) Providing access to managed content
US9380022B2 (en) System and method for managing content variations in a content deliver cache
EP1546924B1 (en) Method, system, and program for maintaining data in distributed caches
US7509393B2 (en) Method and system for caching role-specific fragments
JP4335559B2 (ja) ピア・ツー・ピア・ファイル共有の方法及びその装置
US7412535B2 (en) Method and system for caching fragments while avoiding parsing of pages that do not contain fragments
US7730154B2 (en) Method and system for fragment linking and fragment caching
US6038603A (en) Processing customized uniform resource locators
US7426534B2 (en) Method and system for caching message fragments using an expansion attribute in a fragment link tag
US7587515B2 (en) Method and system for restrictive caching of user-specific fragments limited to a fragment cache closest to a user
US20080320003A1 (en) Scaling network services using dns
US20030188021A1 (en) Method and system for processing multiple fragment requests in a single message
US20030208533A1 (en) Method and apparatus for managing web services within a computer network system
US7797432B2 (en) Sharing state information between dynamic web page generators
JP2007115244A (ja) インターネット・ファイル・システム
KR20000028677A (ko) 클라이언트와 적응형 동기 및 변형 서버를 위한 방법,장치, 프로그램 저장장치
JP2004302564A (ja) ネームサービス提供方法及びその実施装置並びにその処理プログラム
CA2341595A1 (en) Distributed virtual web cache implemented entirely in software
JP5178734B2 (ja) P2pシステムにおけるピア管理サーバー及びピア管理方法
Veríssimo et al. Distributed Systems and Platforms
WO2001095116A2 (en) A method and a system for providing information from a server to a client

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070131

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070502

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070529

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20070529

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070601

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110608

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees