(57)【要約】  さまざまな態様によれば、本発明は、ネットワーク環境において接続されている２つコンピュータシステムまたはノード間でドキュメントにアクセスしてパブリッシュする方法に関する。名前解決のためのシステムおよび方法は、ドキュメントが格納されるパブリッシュ側コンピュータシステムについて、電子メールアドレスなどの識別を示すユーザフレンドリハンドル、およびＩＰアドレスなどのマシンロケーションを含んでいる識別情報ドキュメントを格納する。次に、システムおよび方法は、初期要求がユーザフレンドリハンドルを含む場合にドキュメントへの初期アクセス要求を代理受信し、ユーザフレンドリハンドルをマシンロケーションと置き換えて、ネットワークユーザがユーザフレンドリハンドルの知識のみを通じて容易にこれらのドキュメントにアクセスできるようにする。
2007509574.tif 000002
【特許請求の範囲】
【請求項１】
第２のコンピュータシステムを介して第１のコンピュータシステム上に格納されているドキュメントにアクセスする方法であって、前記第１および第２のコンピュータシステムがネットワーク環境において接続され、
前記第１のコンピュータシステムからの識別情報ドキュメントを格納するステップであって、前記識別情報ドキュメントはプリンシパルを識別するユーザフレンドリハンドルおよび前記第１のコンピュータシステムのマシンロケーションを備えるステップと、
要求が前記ユーザフレンドリハンドルに向けられている場合にドキュメントへのアクセス要求を代理受信するステップと、
前記ユーザフレンドリハンドルを前記マシンロケーションと置き換えるステップと、
前記第１のコンピュータシステムのマシンロケーションにドキュメントへのアクセス要求を送信するステップと
を備えることを特徴とする方法。
【請求項２】
前記ユーザフレンドリハンドルは電子メールアドレスを備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記マシンロケーションはＩＰアドレスを備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記マシンロケーションは公開鍵を備えることを特徴とする請求項１に記載の方法。
【請求項５】
ドキュメントへの前記アクセス要求はプリンシパルが開始した要求を備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記第１のコンピュータシステムから前記識別情報ドキュメントを受信する初期ステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項７】
ネットワーク環境において接続された複数のノード間でドキュメントをパブリッシュする方法であって、
パブリッシュ側ノードからアクセス側ノードに識別情報ドキュメントを送信するステップであって、前記識別情報ドキュメントはプリンシパルを識別するユーザフレンドリハンドルおよび前記パブリッシュ側ノードのマシンロケーションを備えるステップと、
前記識別情報ドキュメントを前記アクセス側ノード上に格納するステップと、
ドキュメントへのアクセス要求内のマシンロケーションにより前記ユーザフレンドリハンドルを解決するステップであって、前記要求が前記アクセス側ノードから前記パブリッシュ側ノードに行われるステップと、
前記アクセス側ノードから前記パブリッシュ側ノードにドキュメントへのアクセス要求を送信するステップと
を備えることを特徴とする方法。
【請求項８】
前記ユーザフレンドリハンドルは電子メールアドレスを備えることを特徴とする請求項７に記載の方法。
【請求項９】
前記ユーザフレンドリハンドルは電話番号を備えることを特徴とする請求項７に記載の方法。
【請求項１０】
前記マシンロケーションはＩＰアドレスを備えることを特徴とする請求項７に記載の方法。
【請求項１１】
前記マシンロケーションは公開鍵を備えることを特徴とする請求項７に記載の方法。
【請求項１２】
前記公開鍵を使用して前記パブリッシュ側ノードの現在のマシンロケーションを判定するステップをさらに備えることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記パブリッシュ側ノードの暗号化マシン名および登録済みマシンロケーションをＤＮＳサーバに登録するステップと、
前記ユーザフレンドリハンドルを前記公開鍵により解決するステップと、
前記公開鍵を前記暗号化マシン名に変換するステップと、
前記暗号化マシン名を使用して前記ＤＮＳサーバ上の前記パブリッシュ側ノードの前記登録済みマシンロケーションを検索するステップと、
前記登録済みマシンロケーションにドキュメントへの前記アクセス要求を送信するステップと
をさらに備えることを特徴とする請求項１１に記載の方法。
【請求項１４】
前記アクセス側ノードは要求されたドキュメントをパブリッシュする前に要求されたドキュメントを検討する許可を前記パブリッシュ側ノードから得ていることを確認するステップをさらに備えることを特徴とする請求項７に記載の方法。
【請求項１５】
前記パブリッシュ側ノード上に格納されているドキュメントのパス名を前記アクセス側ノードに伝達するステップをさらに備えることを特徴とする請求項７に記載の方法。
【請求項１６】
前記パス名が電子メールによって前記アクセス側ノードに伝達されることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記パブリッシュ側ノード上に格納されているドキュメントのパス名を前記アクセス側ノードのプリンシパルに伝達するステップをさらに備えることを特徴とする請求項７に記載の方法。
【請求項１８】
前記パス名が電話によって前記アクセス側ノードの前記プリンシパルに伝達されることを特徴とする請求項１７に記載の方法。
【請求項１９】
解決ステップは、
要求が前記ユーザフレンドリハンドルに向けられている場合にドキュメントへの前記アクセス要求を代理受信するステップと、
要求内のユーザフレンドリハンドルと一致するユーザフレンドリハンドルを持つ対応する識別情報ドキュメントを見つけるステップと、
前記対応する識別情報ドキュメントから前記マシンロケーションを判定するステップと、
前記ユーザフレンドリハンドルを前記マシンロケーションと置き換えるように前記要求を修正するステップとをさらに備えることを特徴とする請求項７に記載の方法。
【請求項２０】
前記ユーザフレンドリハンドルと組み合わされたパス名を前記アクセス側ノードに伝達するステップと、
前記マシンロケーションによる前記ユーザフレンドリハンドルの解決に先立って前記ユーザフレンドリハンドルからの前記パス名を解析するステップと
をさらに備えることを特徴とする請求項７に記載の方法。
【請求項２１】
要求を前記パブリッシュ側ノードに送信する前にドキュメントへの前記アクセス要求に前記パス名を追加するステップをさらに備えることを特徴とする請求項２０に記載の方法。
【請求項２２】
前記識別情報ドキュメントは前記ユーザフレンドリハンドルによって識別されるプリンシパルの複数のマシンロケーションをさらに備えることを特徴とする請求項７に記載の方法。
【請求項２３】
ユーザフレンドリハンドルを使用してネットワーク環境内の第１のコンピュータシステム上に格納されているドキュメントにアクセスする方法であって、
前記第１のコンピュータシステムからの識別情報ドキュメントを格納するステップであって、前記識別情報ドキュメントがプリンシパルを識別するユーザフレンドリハンドルおよび前記第１のコンピュータシステムのマシンロケーションを備えるステップと、
前記ユーザフレンドリハンドルの形でドキュメントへのアクセス要求を代理受信するステップと、
前記ユーザフレンドリハンドルを前記マシンロケーションと置き換えるように要求を修正するステップと、
前記第１のコンピュータシステムの前記マシンロケーションにドキュメントへの前記修正済みアクセス要求を送信するステップと
を備えることを特徴とする方法。
【請求項２４】
前記ユーザフレンドリハンドルは電子メールアドレスであることを特徴とする請求項２３に記載の方法。
【請求項２５】
前記マシンロケーションはＩＰアドレスを備えることを特徴とする請求項２３に記載の方法。
【請求項２６】
前記マシンロケーションは公開鍵を備えることを特徴とする請求項２３に記載の方法。
【請求項２７】
前記公開鍵を使用して前記パブリッシュ側ノードの現在のマシンロケーションを判定するステップをさらに備えることを特徴とする請求項２６に記載の方法。
【請求項２８】
前記第１のコンピュータシステムから識別情報ドキュメントを受信する初期ステップをさらに備えることを特徴とする請求項２３に記載の方法。
【請求項２９】
前記第１のコンピュータシステムからパブリッシュ済みドキュメントを受信するステップをさらに備えることを特徴とする請求項２３に記載の方法。
【請求項３０】
第２のコンピュータシステムから受信した識別情報ドキュメントを格納するためのストレージモジュールであって、前記識別情報ドキュメントはプリンシパルを識別するユーザフレンドリハンドルおよび前記第２のコンピュータシステムのマシンロケーションを備えるモジュールと、
前記ユーザフレンドリハンドルに格納されているドキュメントへのアクセス要求を代理受信し、前記ユーザフレンドリハンドルを前記マシンロケーションと置き換えるように前記要求を修正するために前記ストレージモジュールに接続されている名前解決モジュールと
を備えることを特徴とするコンピュータシステム。
【請求項３１】
前記ユーザフレンドリハンドルは電子メールアドレスであることを特徴とする請求項３０に記載のコンピュータシステム。
【請求項３２】
前記マシンロケーションはＩＰアドレスを備えることを特徴とする請求項３０に記載のコンピュータシステム。
【請求項３３】
前記マシンロケーションは公開鍵を備えることを特徴とする請求項３０に記載のコンピュータシステム。
【請求項３４】
前記第２のコンピュータシステムとの間で通信を送受信するための前記名前解決モジュールに接続されている通信モジュールをさらに備えることを特徴とする請求項３０に記載のコンピュータシステム。
【請求項３５】
名前解決のためにコンピュータプロセスを実行する命令のコンピュータプログラムを符号化するコンピュータ可読媒体であって、前記コンピュータプロセスは、
パブリッシュ側コンピュータシステムからの識別情報ドキュメントを格納するステップであって、前記識別情報ドキュメントはプリンシパルを識別するユーザフレンドリハンドルおよび前記パブリッシュ側コンピュータシステムのマシンロケーションを備えるステップと、
前記パブリッシュ側コンピュータシステム上に格納されているドキュメントへのアクセス要求を代理受信するステップであって、前記要求は前記ユーザフレンドリハンドルを含むステップと、
前記ユーザフレンドリハンドルを前記マシンロケーションと置き換えるように前記要求を修正するステップとを備えることを特徴とするコンピュータ可読媒体。
【請求項３６】
前記ユーザフレンドリハンドルは電子メールアドレスを備えることを特徴とする請求項３５に記載のコンピュータプロセス。
【請求項３７】
前記マシンロケーションはＩＰアドレスを備えることを特徴とする請求項３５に記載のコンピュータプロセス。
【請求項３８】
前記マシンロケーションは公開鍵を備えることを特徴とする請求項３５に記載のコンピュータプロセス。
【請求項３９】
前記公開鍵を使用して前記パブリッシュ側ノードの現在のマシンロケーションを判定するステップをさらに備えることを特徴とする請求項３８に記載のコンピュータプロセス。
【請求項４０】
前記パブリッシュ側ノードの暗号化マシン名および登録済みマシンロケーションをＤＮＳサーバに登録するステップと、
前記ユーザフレンドリハンドルを前記公開鍵により解決するステップと、
前記公開鍵を前記暗号化マシン名に変換するステップと、
前記暗号化マシン名を使用して前記ＤＮＳサーバ上の前記パブリッシュ側ノードの前記登録済みマシンロケーションを検索するステップと、
前記登録済みマシンロケーションにドキュメントへの前記アクセス要求を送信するステップと
をさらに備えることを特徴とする請求項３８に記載のコンピュータプロセス。
【請求項４１】
前記変換ステップは前記公開鍵にアルゴリズムを実行するステップを備えることを特徴とする請求項４０に記載のコンピュータプロセス。
【請求項４２】
前記識別情報ドキュメントは前記ユーザフレンドリハンドルによって識別されるプリンシパルの複数のマシンロケーションをさらに備えることを特徴とする請求項３５に記載のコンピュータプロセス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散ネットワーク内の個々のマシンつまりノード上に格納されているドキュメントおよび情報をパブリッシュ（発行）する方法、およびこれらのドキュメントをネットワーク内の他のノードと共有する方法に関する。具体的には、本発明は、そのようなパブリッシュされたドキュメントに別のユーザアクセスを提供するためのシステムおよび方法に関する。
【背景技術】
【０００２】
多数の接続されたノードまたはプロセスを有する分散ネットワークまたはシステムにおいて、ネットワークのノード間でファイル、ドキュメント、および情報を共有できる機能は重要である。
【０００３】
ユーザがファイルおよびドキュメントを共有できる従来の方法はいくつかあり、たとえばＷｅｂサーバ上にドキュメントをポスティングする方法では、アクセスを誰にも自由にすることも、パスワード保護システムによって事前承認されたユーザに制限することもできる。このシステムについては、２つの問題点がある。第１に、これには通常、サーバコンピュータでドキュメントを保持するためにＷｅｂホスティングサービスなどのサードパーティが必要となり、一般には初期セットアップ料金および繰り返し発生する管理費が求められることである。第２に、サードパーティが関与することで、Ｗｅｂサーバ上に格納されているファイルまたはドキュメントに対するユーザの管理が本質的に低下することである。
【０００４】
分散ネットワークのユーザ間でファイルを共有するもう１つの方法は、別のユーザ（「アクセサ」）とファイルを共有したいと望むユーザ（「パブリッシャ」）が、自分のマシンロケーションおよびドキュメントが格納されているマシン上のパス名をアクセサに提供することである。アクセサは、マシンロケーションおよびパス名をＷｅｂブラウザまたは他のアクセスプログラムに入力してパブリッシャのマシンに到達することによって、パブリッシャのドキュメントにアクセスする。この状況において、パブリッシャのマシンは通常、承認されているアクセスユーザのみにアクセスを許可するセキュリティシステムを提供する。
【０００５】
マシンロケーションを入力するためには、ユーザはこのマシンロケーションを知る必要がある。マシンロケーションを入力する１つの方法には、インターネットプロトコル（「ＩＰ」）アドレスを入力することが含まれる。「ＩＰアドレス」は、インターネット上のコンピュータを識別する一意の数字のストリングである。ＩＰアドレスは、３２ビットで０〜２５５の３桁の数字の４つのセットで構成され、各セットは１２３．１２３．０２３．００２のようにピリオドで区切られている。インターネット上のすべてのマシンは、ＩＰアドレスを持つ必要があり、２つのコンピュータシステムが同時に同じＩＰアドレスを持つことはできない。ＩＰアドレスは、動的または静的にすることができる。静的ＩＰアドレスは、コンピュータシステムに恒久的に割り当てられているＩＰアドレスである。これはそのシステムによって使用される唯一のＩＰアドレスである。動的ＩＰアドレスは、たとえば、組織に割り当てられているＩＰアドレスのグループから実行時に割り当てられるＩＰアドレスである。ＩＰアドレスは同時に２つのコンピュータシステムに使用することはできないが、各コンピュータシステムは多数の異なるＩＰアドレスを使用することができる。ＩＰアドレスは、容易に理解できる意味を持たない数字だけを含んでいるため、ユーザフレンドリではない。このような理由から、自分のＩＰアドレスを覚えることは言うまでもなく、他の人々の所有するマシンのＩＰアドレスを覚えることにいたってはほとんど不可能である。
【０００６】
ドメインネームシステム（ＤＮＳ）は、不可解なＩＰアドレスの代わりに見慣れた文字のストリング（「ドメイン名」）を使用できるようにすることで、マシンロケーションを見つけやすくする。これにより、ユーザは、６６．２０１．６９．２０７を記憶して入力するのではなく、ｗｗｗ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍと入力することができる。ドメイン名はさらに、電子メールアドレスへの連絡および他のインターネットアプリケーションにも使用される。ドメイン名は、たとえば、インターネットのいたるところに配置された多数のサーバ上でホスティングされるサービスを通じて解決される、つまりドメイン名からＩＰアドレスに変換される。ただし、ＤＮＳには、少なくとも２つの制限事項がある。第１は、名前解決を処理するために、サードパーティの装置であるＤＮＳサーバを使用する必要があることである。第２に、ほとんど誰でも任意のコンピュータシステムに対して特定のマシン名とロケーションを決めることができるため、あまりセキュリティが高くないことである。したがって、従来型のＤＮＳは、コンピュータシステム上でリソースをパブリッシングするにはあまり効果的な方法ではない。
【０００７】
マシンロケーショを入手するもう１つの方法は、公開鍵を使用することである。公開鍵は、特定の人物に関連付けられ、たとえばＫＰ１２ＪＳＰ２３４５Ｌ１２９８ＦＥ２３ＫＬＫＳＥＲＱＯＣ３８Ｓのような３２の数字と文字から成る、バイトの長ストリングで構成される。公開鍵は通常、インターネットなどの非セキュアな公衆ネットワークのユーザが、信頼されている機関を通じて取得され共有される公開および秘密暗号鍵ペアを使用することにより安全にしかも非公開でデータを交換できるようにするために使用される。公開鍵暗号方式は、メッセージ送信者を認証する、またはメッセージを暗号化するためのインターネット上で最も一般的な方法である。公開鍵を取得するには、いくつかの方法がある。たとえば、公開鍵は、コンピュータシステム上でユーザアカウントを作成する場合にオペレーティングシステムによって作成され、割り当てられる。代替として、公開鍵暗号方式においては、公開鍵および秘密鍵は、認証局によって同じアルゴリズムを使用して同時に作成される。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
公開鍵は、ピアネーム解決プロトコル（ｐｅｅｒ  ｎａｍｅ  ｒｅｓｏｌｕｔｉｏｎ  ｐｒｏｔｏｃｏｌ）（「ＰＮＲＰ」）の使用を通じてマシンロケーションに接続される。これは、各人物の公開鍵をその現在のロケーションと共に一般に提供されているテーブルまたはその他の検索可能なデータ構造に格納する。したがって、ある人物の公開鍵を知っている場合、ＰＮＲＰを使用して、その関連付けられている現在のマシンロケーション（通常はＩＰアドレスの形式である）を判定することができる。ただし、ＩＰアドレスと同様に、公開鍵は意味を持たない多数のビットのストリングであり、ＩＰアドレスそのものよりもはるかに記憶することは困難である。
【０００９】
マシンロケーションを判定するさらにもう１つの方法には、マシンロケーションを組み込むまたは含むリンクを（電子メールなどを通じて）受け取ることが含まれる。リンクが選択されると、ブラウザは、リンクに関連付けられているＩＰアドレスまたは公開鍵を自動的にブラウザに入力する。しかし残念なことに、アクセス側プリンシパルは電子メールを保存し、アクセスするノードがパブリッシュ側のノードのリソースにアクセスしようとするごとに毎回これを見つけて開く必要がある。これは、多大な時間がかかって煩わしく、アクセス側マシンのストレージ容量を浪費する。
【課題を解決するための手段】
【００１０】
本発明は、コンピュータプロセス、コンピューティングシステム、あるいはコンピュータプログラム製品やコンピュータ可読媒体などの製品として実装することができる。コンピュータプログラム製品は、コンピュータシステムによって可読なコンピュータストレージ媒体であり、コンピュータプロセスを実行するために命令のコンピュータプログラムを符号化することができる。コンピュータプログラム製品はさらに、コンピュータシステムによって可読なキャリア上で伝搬される信号であってもよく、コンピュータプロセスを実行するために命令のコンピュータプログラムを符号化することができる。
【００１１】
本発明を特徴付ける本発明のさらに多くの特徴および利点は、以下の詳細な説明および関連図を参照することによって明らかとなろう。
【００１２】
本発明は、ネットワーク環境において共に接続されている２つのコンピュータシステムまたはノードの間でドキュメントにアクセスしてパブリッシュする方法に関する。具体的には、本発明は、ドキュメントが格納されているマシンロケーションとの一致を示すユーザフレンドリハンドルの間の名前解決を行い、ネットワークユーザがユーザフレンドリハンドルの知識を通じてこれらのドキュメントに容易にアクセスできるようにするためのシステムおよび方法に関する。すなわち、ユーザのドキュメントは、ユーザおよび対象のドキュメントを記述するパス名を識別するユーザフレンドリハンドルの使用を通じてアクセスすることができる。これによりドキュメントが格納されているマシンロケーションが解明される。電子メールアドレスは、ユーザフレンドリハンドルの模範的な例であり、ＩＰアドレスまたは公開鍵はマシンロケーションの模範的な例である。ドキュメントが格納されているコンピュータシステムまたはノードは、パブリッシュ側コンピュータシステムまたはノードと呼び、パブリッシュ側ノード上に格納されているドキュメントにアクセスしようとするコンピュータシステムはアクセス側コンピュータシステムまたはノードと呼ぶ。
【００１３】
特定の態様によれば、第１のパブリッシュ側コンピュータシステム上に格納されているドキュメントに第２のアクセス側コンピュータシステムを介してアクセスする方法は、第１のコンピュータシステムからの識別情報ドキュメントが第２のコンピュータシステムに格納される場合に開始される。識別情報ドキュメントは、少なくとも、プリンシパルを識別するユーザフレンドリハンドルおよび第１のコンピュータシステムのマシンロケーションを備えている。ユーザフレンドリハンドルを含むドキュメントへの初期アクセス要求が行われると、これは第２のコンピュータシステムによって代理受信（ｉｎｔｅｒｃｅｐｔ、傍受）される。第２のコンピュータシステムは、ユーザフレンドリハンドルをマシンロケーションと置き換え、修正済み要求を第１のコンピュータシステムのマシンロケーションに送信する。この方法により、第２のコンピュータシステムは、ユーザフレンドリハンドルに関する知識のみを使用して第１のコンピュータシステム上のドキュメントにアクセスすることができる。第１のコンピュータシステムのマシンロケーション、ＩＰアドレス、または公開鍵についての知識は不要である。
【００１４】
他の態様によれば、本発明は、ネットワーク環境において接続されている複数のノード間でドキュメントをパブリッシュする方法に関する。方法は、パブリッシュ側ノードからアクセス側ノードに識別情報ドキュメントを送信することによって開始する。識別情報ドキュメントは、少なくとも、プリンシパルを識別するユーザフレンドリハンドルおよびパブリッシュ側ノードのマシンロケーションを含んでいる。その後、識別情報ドキュメントはアクセス側ノード上に格納される。アクセス側ノードからパブリッシュ側ノードにドキュメントへの初期アクセス要求が行われると、ユーザフレンドリハンドルはマシンロケーションにより解決される。次に、アクセス側ノードからパブリッシュ側ノードのマシンロケーションにドキュメントへの修正済みアクセス要求が送信される。
【００１５】
さらに他の態様によれば、本発明は、第２のコンピュータシステムから受け取った識別情報ドキュメントを格納するストレージモジュールと、ストレージモジュールに接続された名前解決モジュールを備えるコンピュータシステムに関する。名前解決モジュールは、識別情報ドキュメントのユーザフレンドリハンドルに格納されているドキュメントへのアクセス要求を代理受信し、ユーザフレンドリハンドルを識別情報ドキュメントからのマシンロケーションと置き換えるように要求を修正する。
【００１６】
さらに他の態様によれば、本発明は、名前解決のコンピュータプロセスを実行するための命令のコンピュータプログラムを符号化するコンピュータ可読媒体に関する。プロセスは、パブリッシュ側コンピュータシステムからの識別情報ドキュメントを格納する格納オペレーションで開始する。次に代理受信オペレーションは、初期要求にユーザフレンドリハンドルが含まれる場合に、パブリッシュ側コンピュータシステム上に格納されているドキュメントへの初期アクセス要求を代理受信する。最後に、修正オペレーションは、ユーザフレンドリハンドルをマシンロケーションと置き換えるように要求を修正する。
【発明を実施するための最良の形態】
【００１７】
本発明の態様を組み込む分散環境１００が、図１に示されている。環境１００は、少なくとも１つのコンピュータシステム１０２および、場合によっては１０８、１１０、１５２など他のコンピュータシステムを備えている。さまざまなコンピュータシステムは「ノード」または「マシン」と呼ばれる。本明細書で使用されているように、「コンピュータシステム」は広義に解釈され、「テキスト、グラフィックス、記号、オーディオ、ビデオ、および／または数を表示および操作するためのプログラムを実行する１つまたは複数の装置またはマシン」と定義される。ネットワーク内のノードは、ノード１０８のような電話、ノード１１０のようなＰＤＡ、ノード１０２および１５２のようなデスクトップコンピュータ、ラップトップコンピュータ（図示せず）、その他多数のものを非限定に含む、任意の種類のコンピュータシステムであってよい。さらに、コンピュータシステムとして示されているが、ノード１０２、１０８、１１０および１５２は、代替としてコンピュータシステム内のコンピュータプロセスにすることもできる。代替として、ノード１０２、１０８、１１０および１５２は、ローカルエリアネットワーク、ワイドエリアネットワーク、または別個のネットワーク通信の組合せにわたって分散された別個のコンピュータシステムの組合せを結合することができる。
【００１８】
コンピュータシステム１０２、１０８、１１０および１５２のそれぞれは、環境１００内で他のノードと通信し、ドキュメント、情報、およびリソースを他のネットワークノードと共有することができる環境１００内のノードと見なされる。さらに、ノードは、インターネット１０６などのネットワーク上に実装されたＴＣＰ／ＩＰまたは他のネットワークおよび／または通信プロトコルのような別個のプロトコルを介して通信することができる。つまり、外見的には直接の矢印によって接続されているように示されているが、別個のノード１０２、１０８、１１０および１５２は実際には、他の間接的な方法を介して他のノードと通信している。実際に、１００に示されている接続は、ノードが別のノードと通信できることを示しているにすぎない。
【００１９】
マシン１０２、１０８、１１０および１５２の間の通信は、前述のように多くの通信プロトコルによって達成することができる。本明細書で使用される通信の定義は、あるノードから別のノードへのメッセージ、イベント、またはその他あらゆる情報の転送に関連する。１つの実施形態において、環境１００のノードは、ネットワーク１００内のすべての他のノードと通信することができるが、そのような要件は必要ない。第１のノードから第２のノードに情報を伝達するために、第１のノードにはアクセス側ノードのマシンロケーションまたは他の識別情報が必要になる。マシンロケーションを使用することで、送信側ノードは任意の転送プロトコルを使用して情報を送信することができる。
【００２０】
図１には４つのノード１０２、１０８、１１０および１５２だけが示されているが、ネットワーク環境には他のノードを含めることができる。実際に、環境１００のノードの数は、数千から数万以上ものノードを組み込んで非常に大規模なものにすることもできる。したがって、本発明は、本発明に従って実質的に任意の数のノードが情報を通信できるように環境１００を必要に応じて拡大する際に有益である。
【００２１】
本発明は、１つのネットワークノードである「パブリッシュ側ノード」上に格納されているリソースをもう１つのネットワークノードである「アクセス側ノード」とパブリッシュまたは共有するためのユーザフレンドリなシステムおよび方法に関する。コンピュータシステム１０２は、パブリッシュ側ノードの一例であり、１つまたは複数のディレクトリに編成されたデータを備えるデータベース１０４、またはフォルダ１１８、１２０、１２２、１２４のようなフォルダを含んでいる。データベース１０４は、電子ドキュメントを格納して取り出すための汎用ファイルシステムまたは他の編成済みデータシステムに関連している。よってデータベース１０４は、任意のタイプのデータまたはファイルを含めることができ、本明細書においてこれらを「ドキュメント」と呼ぶ。「ドキュメント」という用語は広義に解釈され、写真、ビデオクリップ、オーディオクリップ、テキストファイル、プレゼンテーション、ソフトウェアコード、またはコンピュータシステムに格納されている他のあらゆるパーソナルリソースを含めることができるが、これらに限定されることはない。ドキュメントは、データベース内で、何らかの方法で記述名を持つフォルダおよびサブフォルダに編成することができるが、これらに限定されない。たとえば、フォルダ１１８は「ｊｐｅｇ」ファイルを含むので「ｐｈｏｔｏｓ」というタイトルが付けられ、フォルダ１２０はオーディオクリップを含むのでｍｕｓｉｃとラベル表示され、フォルダ１２２は「ｍｐｅｇ」ファイルを含むのでｖｉｄｅｏとラベル表示され、フォルダ１２４は実行可能コードを含むので「ｓｏｆｔｗａｒｅ」とラベル表示される。楕円１２６は、一般にデータベース１０４内に任意のタイプのドキュメントを含むフォルダが任意の数だけあることを示している。
【００２２】
１つのデータベース１０４だけが示されているが、楕円１２８は、マシン１０２がデータベース１０４と同じ方法または異なる方法で編成された複数のデータベースを備えることができることを示している。たとえば、データベース１０４は、マシンのプリンシパルユーザに固有であり、マシン１０２に位置するそのプリンシパルのプロファイルに格納することができる。本明細書で使用されているように、「プリンシパル」は広義に解釈され、デジタルに活動することのできる任意の実体として定義されるべきである。プリンシパルは、個々の人々、個人を意味する人々のグループまたは集合、世帯、組織、明示的グループ、および共通の役割の人々、または何らかの属性を共有する人々、さらにこれらの個人が活動に使用する各種電子デバイスを含んでいるが、これらに限定されることはない。もう１つのプリンシパルは、そのプリンシパルにのみにアクセス可能な異なるデータベースをマシン１０２に格納することができる。
【００２３】
コンピュータシステム１０２はさらに、コンピュータシステム１０２によって表されるかまたはこれを使用するプリンシパルに関するさまざまな情報を備える自己識別情報１３０のセットを保持している。たとえば、この情報は、名前、電子メールアドレス、ＷｅｂサイトＵＲＬ、郵便宛先、プリンシパルのコンピュータシステムのマシンロケーション、その他の個人情報、およびこの情報がどのように使用されるかを記述する使用ポリシーを含むことができる。これらのさまざまな識別要素はそれぞれ、これ以降、識別クレームと呼ばれる。重要なことに、識別クレームのセットは少なくとも、コンピュータシステム１０２およびマシンロケーションを識別するユーザフレンドリハンドルを含んでいる。
【００２４】
コンピュータシステム１０２は、自己識別情報１３０の一部または全体を含む識別情報ドキュメント１１６を作成し、図１の破線矢印によって示されているように識別情報ドキュメント１１６を環境１００内の他の任意のノードに送信することができる。本明細書で使用されているように、「識別情報ドキュメント」は、識別情報ドキュメントを受信するデバイスがプリンシパルおよびプリンシパルの関連するデジタルイベントを認識できるように、あるマシンからもう１つのマシンに送信されるプリンシパルの識別情報のサブセットを意味する。識別情報ドキュメント１１６の１つの可能なフォーマットの詳細については、図３を参照して以下で説明する。ただし、一般的に言えば、識別情報ドキュメント１１６は、各種のチャネルにわたり異なるシステム間での情報の転送に適したフォーマットにすることができる。識別情報ドキュメント１１６をコンピュータシステム１０２から、コンピュータシステム１５２などの受信側システムに転送するために使用されるチャネルは、可能なさまざまな媒体のいずれであってもよい。たとえば、電子メール、インスタントメッセージング、電波発信、およびその他多くのメカニズムをチャネルとして使用することができる。さらに、チャネルは機密保護されていてもいなくてもよい。
【００２５】
コンピュータシステム１５２は、アクセス側ノードの一例であり、受信識別情報ドキュメント１１６を読み取り、さまざまな変数に応じてこれを受け入れるかまたはこれを拒否する制御モジュール１５４を含んでいる。たとえば、識別情報ドキュメント１１６が既知のプリンシパルから発せられている場合、コンピュータシステム１５２は識別情報ドキュメント１１６を受け入れて格納する。しかし、識別情報ドキュメント１１６が不明のプリンシパルから届いた場合、あるいは偽者が開いて変更または偽造する十分な動機付けを持つおそれがある場合、コンピュータシステム１５２は識別情報ドキュメント１１６を拒否するか、またはその認証性の確認をさらに求めることができる。
【００２６】
１つの実施形態において、識別情報ドキュメント１１６が受け入れられると、そこに含まれる識別クレームはコンピュータシステム１５２の認識済み識別情報データベース１５６に追加される。このデータベースはこの情報を使用してそれ以降コンピュータシステム１０２を確認および認証することができ、他の状況では信頼できないそのプリンシパルと対話するチャネルを採用することができる。次に、たとえば、識別情報ドキュメント１１６によって表されているプリンシパルは確認され、コンピュータシステム１０２のデータベース１０４のようなデータベースに格納されているドキュメントなど、コンピュータシステム１５２上のリソースにアクセスを許可される。
【００２７】
さらに、コンピュータシステム１５２は、そのデータベース１５６に識別情報ドキュメント１１６を受け入れて格納した後、図４〜図６を参照して詳細に説明されるように、コンピュータシステム１０２のプリンシパルの識別クレームを使用して、コンピュータシステム１０２のデータベース１０４に含まれているドキュメントに、より容易および迅速にアクセスすることができるようになる。
【００２８】
しかし、一般には、コンピュータシステム１５２は、コンピュータシステム１０２上のドキュメントへのアクセス要求を代理受信する解決モジュール１６０を備えているが、その要求はコンピュータシステム１５２を使用するプリンシパルから発することも、または自動的に発生させることもできる。プリンシパルからの初期要求は、たとえばコンピュータシステム１０２からのユーザフレンドリハンドル識別クレームなどの、ユーザフレンドリハンドルを含んでいる。解決モジュール１６０は、コンピュータシステム１０２からも受け取ったユーザフレンドリハンドルをマシンロケーションに変換し、適切な情報をコンピュータシステム１５２のＷｅｂブラウザに入力し、これがコンピュータシステム１０２上の要求されたデータにアクセスする。解決モジュール１６０の解決オペレーションにより、コンピュータシステム１５２のプリンシパルは、コンピュータシステム１０２のマシンロケーション、ＩＰアドレスまたは公開鍵を記憶している必要はないが、その代わりユーザフレンドリハンドル（および関連するパス）だけを記憶しておく必要がある。
【００２９】
本発明の１つの実施形態において、コンピュータシステム１５２は自己識別情報（図示せず）も含み、コンピュータシステム１０２は制御モジュール（図示せず）および認識済み識別データベース（図示せず）も含んでいる。コンピュータシステム１５２のプリンシパルがコンピュータシステム１０２のデータベース１０４内のドキュメントにアクセスするために、コンピュータシステム１５２のプリンシパルは、データベース１０４内のドキュメントへのアクセスを許可する前に、その独自の識別情報ドキュメント１５８をコンピュータシステム１０２に送信する必要がある。つまり、コンピュータシステム１５２のプリンシパルが容易に要求を行ってデータベース１０４内のドキュメントにアクセスするために、識別情報ドキュメント１１６および１５８の相互交換がなければならない。代替として、コンピュータシステム１０２は、確認または認証プロセスを必要とせず、アクセスしようとするプリンシパルがデータベース１０４に含まれるドキュメントにアクセスできるようにすることもできる。この場合、システム１５２がデータベース１０４にアクセスするには、コンピュータシステム１０２のみが識別情報ドキュメント１１６をコンピュータシステム１５２に送信する必要がある。すなわち、必要になるのは、パブリッシュ側ノードからアクセス側ノードへの識別情報ドキュメントの片方向の交換のみである。
【００３０】
図２は、本発明に従って情報を受信および配布してドキュメントをパブリッシュおよび共有する、図１に示された１０２または１５２のようなノードの１つを表すコンピュータシステム２００を示している。システム２００は、少なくとも１つのプロセッサ２０２およびメモリ２０４を備えている。プロセッサ２０２はメモリ２０４を使用して、データベース１０４、自己識別情報１３０、および認識済み識別データベース１５６などのデータベースにドキュメントを格納する。
【００３１】
コンピュータシステム２００は、その最も基本的な構成で、図２において破線２０６によって表されている。さらに、システム２００は、磁気または光ディスクまたはテープを含む追加のストレージ（取外し可能および／または固定）を含むこともできるが、これらに限定されることはない。そのような追加のストレージは、取外し可能ストレージ２０８および固定ストレージ２１０によって図２に示されている。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュールおよびその他のデータなどの情報のストレージのための任意の方法または技術において実装された揮発性および不揮発性の、取り外し可能および固定の媒体を含んでいる。メモリ２０４、取外し可能ストレージ２０８および固定ストレージ２１０はすべて、コンピュータストレージ媒体の例である。コンピュータストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリその他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）その他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージその他の磁気ストレージ装置、あるいは望ましい情報を格納するために使用することができ、システム２００によってアクセスすることができる他の媒体を含んでいるが、これらに限定されることはない。そのようなコンピュータストレージ媒体は、システム２００の一部にすることができる。コンピューティング装置の構成および種類に応じて、メモリ２０４は揮発性、不揮発性、またはこの２つの組合せであってもよい。
【００３２】
システム２００はまた、装置が、図１に示されている他のノード１０８、１１０または１５２のような他の装置と通信できるようにする通信接続２１２も含むことができる。さらに、システム２００は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置２１４を備えることができる。ディスプレイ、スピーカ、プリンタなどの出力装置２１６も含めることができる。これらの装置はすべて当技術分野において周知であり、本明細書において詳細に説明する必要なはい。
【００３３】
コンピュータシステム２００は通常、少なくとも何らかの形態のコンピュータ可読媒体を含んでいる。コンピュータ可読媒体は、システム２００によってアクセスできる任意の使用可能な媒体にすることができる。一例として、コンピュータ可読媒体は、コンピュータストレージ媒体および通信媒体を備えることができるが、これらに限定されることはない。コンピュータストレージ媒体については、上記で説明してきた。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを搬送波などの搬送メカニズムのような変調データ信号で組み入れ、任意の情報伝達媒体を含んでいる。「変調データ信号」という用語は、１つまたは複数の特性セットを備える信号、または信号の情報を符号化するような方法で変更された信号を意味する。たとえば、通信媒体は、有線ネットワークまたは直接配線接続のような有線媒体、および音響、ＲＦ、赤外線など無線媒体を含んでいるが、これらに限定されることはない。上記の任意の組合せも、コンピュータ可読媒体の範囲に含まれる。
【００３４】
図３は、図１に示されている識別情報ドキュメント１１６および１５８の１つまたは両方を表す識別情報ドキュメント３００の模範的なフォーマットを示している。データ構造として、識別情報ドキュメント３００は、識別クレーム、および公開鍵に結合され埋め込み使用ポリシーによって管理されるその他の属性／プロパティクレームの集合である。ＸＭＬは、識別情報ドキュメントのコード化言語として使用することができる。ただし、他のフォーマットも同等に適切であると考えられる。識別情報ドキュメント３００の要素は、機密性を保持する必要のある情報を含んでいる場合はオプションで暗号化することもできる。
【００３５】
識別情報ドキュメント３００内のデータは、論理コンポーネントのセット３０２および属性タグのセット３１６を含む２つのカテゴリに分割することができる。識別情報ドキュメント３００は、１）プリンシパル識別子３０４、２）プリンシパルの１つまたは複数の識別クレーム３０６、３）表示名およびプリンシパルのゼロまたは複数の選択的に公開された属性３０８、４）許容可能なフォーマットに収められたプリンシパルの１つまたは複数の鍵３１０（たとえばＸ５０９ｖ３証明書の公開鍵）、５）プリンシパルのプライバシー要件を表す使用ポリシー３１２、６）データの整合性を保護し、識別情報更新の場合に送信者を認証する識別情報の内容全体にわたるデジタル署名、という６つのプリンシパル論理コンポーネントを備えている。これらの６つの論理コンポーネント３０２のそれぞれについては、以下で説明する。
【００３６】
プリンシパル識別子３０４は、識別情報ドキュメント３００に含まれている識別クレームのプリンシパルであるプリンシパルを識別するユーザフレンドリハンドルである。好ましいプリンシパル識別子３０４は、プリンシパルが人物である場合は、プリンシパルの電子メールアドレスである。ただし、プリンシパル識別子は、プリンシパルを一意に識別する任意の種類のユーザフレンドリハンドルとして広義に解釈され、電子メールアドレス、電話番号、携帯電話番号などを含むことができるが、これらに限定されることはない。
【００３７】
識別クレーム３０６は、識別情報ドキュメントの対象であるプリンシパルに関する追加の構造化された情報を含んでいる。識別クレームは、郵便宛先、電話およびファクシミリ番号、雇用者情報、誕生日などを含むプリンシパルに関する説明情報として広義に解釈されるが、これらに限定されることはない。さらに具体的には、「識別クレーム」は１つの実体（人物、組織など）に関して一意に真である。したがって、場合によっては、電話番号は１人の人物の有効な識別クレームにすることができる。たとえば、携帯電話番号、ダイヤル直通勤務先番号または自宅電話番号は、携帯電話、ダイヤル直通勤務先番号を共有していないかまたは一人暮らしの人に対して有効な識別クレームである。他の場合では、電話は、家族によって共有されている自宅電話番号など、独身者に対しては有効な識別クレームにはならない。そのような場合は、自宅電話番号は、１人の個人ではなく世帯を表す識別クレームとなる。
【００３８】
マシンロケーション３０８は、プリンシパルのコンピュータシステムの一意のアドレスを提供し、ＩＰアドレスまたは公開鍵を制限なく含むことができる。郵便の住所と同様に、マシンロケーションには、分散ネットワーク内のコンピュータシステムを見つけ、それを接続して通信するために必要である。マシンロケーション３０８は実際に、プリンシパルが複数のコンピュータシステムを備える場合、またはコンピュータシステムが、ラップトップコンピュータシステムまたはＰＤＡのように携帯型である場合、マシンロケーションの一覧を含むことができる。１つの実施形態において、各マシンロケーションは、そのマシンロケーションに格納されているドキュメントの一覧を含むことができる。たとえばプリンシパルが、「ｐｈｏｔｏｓ」のパス名でｊｐｅｇファイルを格納する第１のコンピュータシステムと、「ｍｕｓｉｃ」のパス名で録音を格納する第２のコンピュータシステムを備えている場合、マシンロケーション３０８は、第１および第２のコンピュータシステムのそれぞれのＩＰアドレス、および「ｐｈｏｔｏｓ」が第１のコンピュータシステムのマシンロケーションに格納され、「ｍｕｓｉｃ」が第２のコンピュータシステムのマシンロケーションに格納されていることを示す指示を含むことができる。
【００３９】
鍵部分３１０は、証明書フォーマット（たとえばＸ５０９ｖ３証明書）内に収められた公開鍵など、１つまたは複数の鍵を含んでいる。鍵３１０は公開鍵であってもよく、認識情報または識別情報の対象として識別情報に含めることができる。証明書が使用される場合、これは自己署名されるかまたは認証局によって発行される。
【００４０】
使用ポリシー３１２は、識別情報ドキュメント３００の内容に対して許容可能な使用に関するプリンシパルの指示を伝達する。たとえば、使用ポリシー３１２により、識別情報の内容が他の人々に漏洩されてはならないよう指示することができる。図１のデータベース１５６のような、受信者の認識済み識別情報データベースは、プリンシパルを定義する他の情報と共に使用ポリシーを格納する。
【００４１】
デジタル署名３１４は、識別情報ドキュメント内のデータに署名する機能をプリンシパルに提供する。ＸＭＬ署名は、署名をドキュメントに関連付けるための、封印中、封印済み、および切り離し済み、という３つの方法を備えている。本発明の１つの実施形態によれば、識別情報ドキュメントは、識別情報内容に署名するときにＸＭＬ封印済み署名を使用する。
【００４２】
識別情報ドキュメント３００は、識別情報ドキュメント３１６自体に関して６つまたはそれ以上の属性タグ３１６を伝達することができる。図示されていないが、属性タグは、識別情報ドキュメント３００のＩＤ値、ドキュメント３００のバージョン情報、および／またはドキュメント３００が表すプリンシパルのタイプ（人物、コンピュータまたは組織など）を含むことができる。その他の属性タグも採用することができる。
【００４３】
１つの実施形態において、識別情報ドキュメントは、図１および図４と併せてそれぞれ上述されているシステム１０２および４０２などの、一次コンピュータシステム上に汎用化された方法で格納されている。
【００４４】
図４は、２つまたはそれ以上のコンピュータシステム４０２および４５０の間のドキュメントのアクセスおよび共有またはパブリッシュに関連する機能コンポーネントを示している。つまり図４は、本発明の態様によるソフトウェアコンポーネントまたはモジュールを表している。特に図４は、パブリッシュ側ノードまたはコンピュータシステム４０２およびアクセス側ノードまたはコンピュータシステム４５２、さらに本発明によりドキュメントをパブリッシュおよびアクセスするために使用されるこれらの関連モジュールを示している。コンピュータシステム４０２は、図示されていないモジュールも他にあるが、次のコンポーネントを備えている。１）データベース４０４、２）識別情報ドキュメントモジュール４１４、３）ユーザインターフェースモジュール４１６、４）確認およびパブリッシュモジュール４１８、５）メモリアクセスモジュール４２０、６）通信モジュール４２２、および（ｖｉｉ）自己識別情報データベース４２４。
【００４５】
図１に示されているデータベース１０４と同様に、データベース４０４は、フォルダ４０６、４０８、４１０および４１２で構成されるドキュメントを含んでいる。この例において、これらのドキュメントは、システム４５２にパブリッシュされ、システム４５２によってアクセスされるドキュメントを表している。
【００４６】
ユーザインターフェースモジュール４１６により、コンピュータシステム４０２のプリンシパルは、メモリアクセスモジュール４２０、識別情報モジュール４１４、および通信モジュール４２２を制限なく含む他の任意のモジュールにアクセスして制御することができる。本発明、および特に図４に示されている例では、システム４０２におけるユーザの対話を考慮しているが、そのようなことは本発明の態様を実現する上で必要ではない。
【００４７】
メモリアクセスモジュール４２０により、コンピュータシステム４０２および／またはプリンシパルは、データベース４０２に含まれているデータおよび／または自己識別情報データベース４２４に含まれているデータなど、システム上に格納されているデータにアクセスすることができる。代替として、コンピュータシステム４０２は、識別情報ドキュメントモジュール４１４または確認およびパブリッシュモジュール４１８など他のモジュールを通じてメモリアクセスモジュール４２０にアクセスすることができる。プリンシパルは、ユーザインターフェースモジュール４１６を使用して、メモリアクセスモジュール４１４を制御する。
【００４８】
識別情報ドキュメントモジュール４１４は、図３に示されている識別情報ドキュメント３００のように、メモリアクセスモジュール４１４検索を使用して自己識別情報データベース４２４からデータを引き出すことによって、識別情報ドキュメントを作成する。識別情報ドキュメントモジュール４１４は、ユーザインターフェースモジュール４１６を介してプリンシパルからコマンドを受け取り次第識別情報ドキュメントを作成することも、代替としてプリンシパルからの直接のコマンドなしで標準化プロシージャを介して識別情報ドキュメントを作成することもできる。識別情報ドキュメントモジュール４１４は、ネットワーク内の他のノードへの通信のために、識別情報ドキュメントを通信モジュール４２２に転送する。他の実施形態において、識別情報ドキュメントは単にメモリに格納されており、要求に応じてドキュメントは通信モジュール４２２を介してもう１つのシステムに送信される。
【００４９】
通信モジュール４２２は、コンピュータシステム４５２のような他のネットワークノードとの間の情報の送受信を含む、コンピュータシステム４０２およびネットワークの他のノードの間の通信を制御する。一般に、プリンシパルは、ユーザインターフェースモジュール４１６を介して通信モジュール４２２を制御し、このプロセスを通じて識別情報ドキュメントがコンピュータシステム４５２などの他のコンピュータシステムに送信されるよう指示することもできる。通信モジュール４２２はまた、プリンシパルが、電子メールなど他の情報のタイプをネットワークの他のノードに送信することもできるようにする。
【００５０】
確認およびパブリケーションモジュール４２０は、通信モジュール４２２を通じて他のネットワークノードから、データベース４０４内にあるようなドキュメントをアクセスしてパブリッシュするよう求める要求を受け取る。１つの実施形態において、確認およびパブリケーションモジュール４２２はゲートキープ機能を実行し、アクセス側コンピュータシステムがパブリッシュされたドキュメントを受信する許可をプリンシパルから得ていることを確認しようとする。許可がある場合、確認およびパブリケーションモジュール４２０は、メモリアクセスモジュール４２０を使用して要求されているドキュメントを取り出し、アクセス側コンピュータシステムへの通信のためにそのドキュメントを通信モジュール４２２に送信することによってパブリッシュする。許可がない場合は、確認およびパブリケーションモジュール４２０は、パブリッシュを求める要求を拒否するが、これは通信モジュール４２２を介してアクセサに伝達される。代替実施形態において、確認およびパブリケーションモジュール４２０はゲートキーパーとしての役割は果たさないが、すべての要求されたドキュメントを取り出してパブリッシュする。
【００５１】
コンピュータシステム４５２は、図１のノード１５２と類似したアクセス側ノードの一例であり、次のコンポーネントを備えている。１）通信モジュール４５４、２）確認モジュール４６０、３）ストレージモジュール４５８、４）名前解決モジュール４５６、および５）ユーザインターフェースモジュール４６２。
【００５２】
ユーザインターフェースモジュール４１６と同様に、ユーザインターフェースモジュール４６２により、コンピュータシステム４５２のプリンシパルは、通信モジュール４２２を制限なく含む他の任意のモジュールにアクセスして制御することができる。したがって、たとえばシステム４５２のプリンシパルは、ユーザインターフェースモジュール４１６を使用して、パブリッシュ側ノード４０２にドキュメントをパブリッシュするよう求める要求を送信するよう通信モジュール４２２に指示することもある。
【００５３】
通信モジュール４２２と同様に、通信モジュール４５４は、コンピュータシステム４０２のような他のネットワークノードとの間の情報の送受信を含む、コンピュータシステム４５２とネットワークの他のノードの間の通信を制御する。通信モジュール４５４は、他のネットワークノードから受信する識別情報ドキュメントを確認モジュール４６０に転送する責任を負っている。
【００５４】
確認モジュール４６０は、識別情報ドキュメントを変換して、それが信頼できるソース、信頼できるチャネルによってもたらされているか、または他の方法で認証できるかどうかを判定する責任を負っている。識別情報ドキュメントが受け入れられる場合、確認モジュールは識別情報ドキュメントをストレージモジュール４５８に転送する。本質的に、確認モジュール４６０は、受信識別情報ドキュメント１１６を読み取り、さまざまな変数に応じてこれを受け入れるかまたはこれを拒否するという点において図１の制御モジュール１５４の一部機能に関連している。
【００５５】
ストレージモジュール４５８は、コンピュータシステム４５２が後に使用できるように識別情報ドキュメントを格納する。確認モジュール４６０の場合と同様にストレージモジュール４５８も、受け入れた識別情報ドキュメントを格納するという点において、図１と併せて示され説明されている制御モジュール１５４の機能の一部を実行する。
【００５６】
最後に、名前解決モジュール４５６は、通信モジュール４５４からユーザフレンドリハンドルの形で別のネットワークノードからパブリッシュされたドキュメントにアクセスするよう求める要求を代理受信する責任を負う。前述のように、要求はほとんどの場合、ユーザインターフェースモジュール４６２を介してプリンシパルから発せられる。名前解決モジュール４５６はさらに、代理受信したユーザフレンドリハンドルと一致する（図３のプリンシパル識別子３０４のような）プリンシパル識別子を持つ識別情報ドキュメントがないかストレージモジュール４５８を検索し、ユーザフレンドリハンドルを識別情報ドキュメントに示されているマシンロケーションで代用または置き換えるよう要求を修正し、マシンロケーションの形でドキュメントをパブリッシュするよう要求を通信モジュール４５４に送信する責任を負っている。名前解決モジュール４５６は、アクセス側ノードからのドキュメントへのアクセス要求を代理受信して、ユーザフレンドリハンドルをパブリッシュ側ノードのマシンロケーションに変換し、適切な情報をコンピュータシステム１５２のＷｅｂブラウザに入力し、これがパブリッシュ側ノード上の要求されたデータにアクセスするという点において、図１の解決モジュール１６０と類似している。
【００５７】
図５は、図１のコンピュータシステム１０２または図４のコンピュータシステム４０２のようなパブリッシュ側コンピュータシステムに位置しているドキュメントを、図１のコンピュータシステム１５２または図４のコンピュータシステム４５２のようなアクセス側コンピュータシステムにパブリッシュする方法を示している。フロー５００は一般に、アクセス側ノードによって実行されるプロセスに関連する。
【００５８】
フロー５００は、格納オペレーション５０２で始まり、ここでパブリッシュ側ノードからのドキュメントのような識別情報ドキュメントが、図１からの認識済み識別データベース１５６の場合のように、アクセス側コンピュータシステム上のロケーションに格納される。図３に示されている識別情報ドキュメントと同様に、受信される識別情報ドキュメントは少なくとも、電子メールアドレスなどのパブリッシュ側システムのプリンシパルを識別するユーザフレンドリハンドル、およびＩＰアドレスなどのプリンシパルのコンピュータシステムのマシンロケーションを含んでいる。それから後に、代理受信オペレーション５０４は、パブリッシュ側ノードに格納されているパブリッシュ済みドキュメントへの初期アクセス要求を代理受信する。要求は、アクセス側ノードのプリンシパルによって開始された要求、アクセス側コンピュータシステム内の別のモジュールによって開始された要求、または自動要求のいずれかである。要求は、パブリッシュ側ノードのプリンシパルまたはパブリッシュ側ノード自体を識別するユーザフレンドリハンドルを含んでいるかまたはその形態をとる。たとえば、要求は、電子メールアドレスに位置するドキュメントへのアクセスを求める要求であってもよい。
【００５９】
次に、検索オペレーション５０６は、以前受信して格納した識別情報ドキュメントを検索し、プリンシパル識別子が要求オペレーション５０４において受け取ったユーザフレンドリハンドルと一致するかどうか判定する。システムが、ステップ５０６において一致する識別情報ドキュメントを見つけることができない場合、フロー５００はＮＯに分岐し、５０７において要求が失敗したことをプリンシパルまたは他のモジュールに通知する。要求が失敗したことをプリンシパルに通知すると、プロセス５００は終了する。この時点で、プリンシパルはこの要求または別の同様の要求を再入力して、プロセスを最初からやり直す。
【００６０】
代わりに検索オペレーション５０６において一致する識別情報ドキュメントが見つかった場合、つまり、ステップ５０４で受け取った電子メールアドレスと一致するプリンシパル識別子を持つ識別情報ドキュメントが見つかった場合、フロー５００はＹＥＳに分岐して判定オペレーション５０８に進む。判定オペレーション５０８は、ステップ５０６で見つかった識別情報ドキュメントに含まれているマシンロケーションを判定する。
【００６１】
判定オペレーション５０８に続いて、解決オペレーション５１０は、ユーザフレンドリハンドル（たとえば電子メールアドレス）をマシンロケーション（たとえばＩＰアドレス１２３．１２３．０２３．００２）と置き換える。次に、送信オペレーション５１２は、ユーザフレンドリハンドルではなくマシンロケーションの形でドキュメントをパブリッシュするよう求める要求をパブリッシュ側ノードに送信する。
【００６２】
ステップ５０６およびステップ５０８から５１２は裏舞台で行われるので、プリンシパルには明らかにされない。むしろ、プリンシパルにとっては、パブリッシュ済みドキュメントへのアクセス要求が、意味をなさないマシンロケーションではなくユーザフレンドリハンドルの電子メールアドレスの形で伝達されるように見える。このようにして、プリンシパルは、パブリッシュ側のコンピュータシステムのプリンシパルを識別するユーザフレンドリハンドルの知識のみを通じて、異なるコンピュータシステム上に位置するドキュメントにアクセスすることができる。アクセス側システムのプリンシパルは、これらのドキュメントにアクセスするために、ＩＰアドレスのような扱いにくい数字を知る必要も記憶する必要もない。
【００６３】
図６は同様に、パブリッシュ側コンピュータシステム上にあるドキュメントをパブリッシュする方法を示しているが、コンピュータシステム１０２または４０２のようなパブリッシュ側ノードによって実行されるプロセス、およびコンピュータシステム１５２または４５２のようなアクセス側ノードによって実行されるプロセスの両方を示している。
【００６４】
フロー６００は、伝達オペレーション６０２で開始し、ここで、１つまたは複数のドキュメントのロケーションのパス名およびパブリッシュ側ノードのプリンシパルを識別するユーザフレンドリハンドルを、アクセス側ノードなどの別のノードに伝達する。たとえば、送信オペレーションが、Ｂｏｂという名前を持つパブリッシュ側ノードのプリンシパルからの「ｃｈｅｃｋ  ｏｕｔ  ｍｙ  ｐｈｏｔｏｓ  ａｔ  ｂｏｂ＠ｘｙｚ．ｃｏｍ／ｐｈｏｔｏｓ．」という内容の電子メールメッセージを含んでいる場合を考察する。代替として、プリンシパルは、パス名およびユーザフレンドリハンドルを、電話、ファックス送信ドキュメント、または他の何らかの手段により、アクセス側ノードまたはプリンシパルに送信することができる。フロー６００は、受信オペレーション６０４に進み、ここでアクセス側マシンはドキュメントのパス名およびパブリッシュ側マシンのプリンシパルを識別するユーザフレンドリハンドルを受け取る。次に、送信オペレーション６０６は、パブリッシュ側マシンのプリンシパルの識別情報ドキュメント（この例ではＢｏｂの識別情報ドキュメント）をアクセス側ノードに送信する。受信オペレーション６０８は、Ｂｏｂの識別情報ドキュメントを受け取り、続いて、図１と併せて説明され示されているデータベース１５６と同様に、認識済み識別データベースに識別情報ドキュメントを格納する格納オペレーション６０９に進む。
【００６５】
代替実施形態において、確認オペレーション（図示せず）は、受信オペレーション６０８の後および格納オペレーション６０９の前に生じる。確認オペレーションは、識別情報ドキュメントによって表されるプリンシパルを認証しようと試み、識別情報ドキュメントを受け入れて格納するかどうかについて決定する。
【００６６】
それから後に、代理受信オペレーション６１０は、ドキュメントへの初期アクセス要求を代理受信する。初期要求は、プリンシパルまたは他のソースから発せられ、ｂｏｂ＠ｘｙｚ．ｃｏｍ／ｐｈｏｔｏｓのような、ユーザフレンドリハンドル／パスロケーションでドキュメントへのアクセスを求めることができる。次に、解決オペレーション６１２は、図５で詳細に説明されているプロセス、つまり一致する識別情報ドキュメントを見つけ、マシンロケーションを判定して、ユーザフレンドリハンドルがマシンロケーションに置き換えられるプロセスを使用して、ユーザフレンドリハンドルをマシンロケーションと置き換えることにより、修正済み要求を作成するよう求める初期要求を解決する。
【００６７】
代替実施形態において、解析オペレーション（図示せず）は、ユーザフレンドリハンドルおよびパス名を分離して、初期要求のユーザフレンドリハンドル部分のみとの一致を探す。たとえば、解析オペレーションは、「／ｐｈｏｔｏｓ」を除いて、ｂｏｂ＠ｘｙｚ．ｃｏｍでＢｏｂの電子メールを持つプリンシパル識別子を捜す。
【００６８】
さらにもう１つの代替実施形態において、プリンシパルの識別情報ドキュメントは複数のマシンロケーションを含み、追加検索オペレーション（図示せず）は識別情報ドキュメント内の各マシンロケーションを検索して、どのマシンロケーションが代理受信された要求に含まれているパス名を含むか判定する。解決オペレーション６１２は次に、初期要求に示されたパス名と一致するマシンロケーションに置き換える。
【００６９】
解決オペレーション６１２を完了した後、送信オペレーション６１４は、ユーザフレンドリハンドルではなくマシンロケーションを使用してパブリッシュ済みドキュメントへの修正済み要求を送信する。パス名が関与する場合、送信オペレーション６１４は、そのパスに位置するドキュメントへのアクセス要求をさらに含んでいる。
【００７０】
この時点でフロー６００は、受信オペレーション６１６においてパブリッシュ側マシンに戻り、指定されたパス（この場合は図１のフォルダ１１８のようなｐｈｏｔｏｓフォルダ）でドキュメントにアクセスするよう求める修正済み要求を受け取る。次に、確認オペレーション６１８は、アクセス側ノードのプリンシパルが要求されたドキュメントを表示する許可を得ているかどうか判定する。アクセス側プリンシパルが許可を得ていない場合、フロー６００は、ＮＯに分岐して拒否オペレーション６２０に進み、ここでドキュメントへのアクセス要求を拒否してプロセスは終了する。
【００７１】
アクセス側プリンシパルが許可を得ている場合、フロー６００は、ＹＥＳに分岐して位置指定オペレーション６２２に進み、送信オペレーション６１４に含まれているパス名を使用して要求されたドキュメントを見つける。最後に、パブリッシュオペレーション６２４が要求されたドキュメントをパブリッシュし、フロー６００は終了する。
【００７２】
本発明の１つの実施形態において、確認オペレーション６１８は、アクセス側プリンシパルが認識済み識別データベースに一覧されているかどうか、つまり、以前アクセス側プリンシパルがパブリッシュ側ノードにその識別情報ドキュメントを送信したかどうかを確認して判定する。回答が肯定の場合は、確認オペレーション６１８はＹＥＳに分岐してオペレーション６２２に進む。したがって、本実施形態において、識別情報ドキュメントの相互交換は、ドキュメントがあるマシンによって別のマシンにパブリッシュされるために必要である。これは、ドキュメントをパブリッシュする最も安全な方法である。
【００７３】
本発明の代替実施形態において、確認オペレーション６１８は、アクセス側プリンシパルがその識別情報ドキュメントを送信することを必要としない。代わりに、確認オペレーション６１８は、要求されたドキュメントへのアクセスを許可するかどうか判定する際に他の変数を考慮することができるか、または確認オペレーション６１８および拒否オペレーション６２０は共にフロー６００から省略することもできる。むしろ、フロー６００は、受信オペレーション６１６から位置指定オペレーション６２２に直接進むことになる。つまり、パブリッシュ側マシンは、識別情報ドキュメントを持つすべての者にそのシステム上のドキュメントへのアクセスを許可するように判定することができる。この方法は、前述の方法に比べてより簡単であるが、識別情報ドキュメントの相互交換を必要とする方法ほど機密保護されていない。
【００７４】
さらにもう１つの代替実施形態において、通知オペレーション（図示せず）は、ドキュメントへのアクセス要求が拒否されたことをアクセス側ノードに通知する。通知を受け取ると、もう１つの送信オペレーション（図示せず）は、アクセス側ノードまたはそのプリンシパルを表す識別情報ドキュメントをパブリッシュ側ノードに送信し、代理受信オペレーション６１０においてプロセスを最初からやり直すことができる。パブリッシュ側ノードがアクセス側ノードの識別情報ドキュメントを受信している場合、フロー６００がＹＥＳに分岐して位置指定オペレーション６２２に進む可能性は、ＮＯに分岐して拒否オペレーション６２０に進む可能性よりも高くなる。
【００７５】
本発明のさらにもう１つの代替実施形態において、識別情報ドキュメントのマシンロケーション部分は、ＩＰアドレスではなく公開鍵を含むことができる。本明細書で使用されているように、「公開鍵」は広義に解釈され、認識される意味を持たない数字および／または文字から成るプリンシパルに一意のコードとして定義されるべきである。前述のシステムおよび方法は、以下に説明する１つの例外を除いて、先に説明したとおり機能する。
【００７６】
識別情報ドキュメントで公開鍵がマシンロケーションとして使用される場合、公開鍵は、ピアネーム解決プロトコル（「ＰＮＲＰ」）を使用して、ＩＰアドレスのことがあるプリンシパルの現在のマシンロケーションを検索するために使用される。ＰＮＲＰは一般に、公開鍵および現在のマシンロケーションのハッシュを含む知識の分散システムで構成されている。したがって、公開鍵は、プリンシパルの「現在の」マシンロケーションを見つけるために使用される。本明細書で使用されているように、「現在のマシンロケーション」は、所与の時点のマシンロケーションを意味するように広義に解釈されるべきである。たとえば、コンピュータシステムが動的ＩＰアドレスを使用する場合、その現在のマシンロケーションは、第１の時点から第２の後の時点まで変化することができる。公開鍵およびＰＮＲＰの使用により、アクセス側ノードは、パブリッシュ側ノードが動的ＩＰアドレスを使用している場合でも、パブリッシュ側ノードからのドキュメントにアクセスできるようになる。
【００７７】
代替として、現在のマシンロケーションは、マシンがラップトップコンピュータシステムまたはＰＤＡのようにモバイル型である場合、変更することができる。ＰＮＲＰは、モバイルマシンの現在のマシンロケーションも追跡することができる。さらに、公開鍵およびＰＮＲＰの使用により、アクセス側ノードは、パブリッシュ側ノードがモバイル型である場合でも、パブリッシュ側ノードからのドキュメントにアクセスできるようになる。
【００７８】
公開鍵がマシンロケーションとして使用される場合、アクセス側ノードは、パブリッシュ側ノードのドキュメントにアクセスするために、パブリッシュ側ノードの公開鍵を知っている必要がある。アクセス側ノードがパブリッシュ側ノードの公開鍵を入手する唯一の方法は、パブリッシュ側ノードがアクセス側ノードにその鍵を送信することである。このようにして、パブリッシュ側ノードは、その公開鍵を送信する相手を制御することにより、そのリソースにアクセスできる相手を効果的に制御することができる。
【００７９】
図７は、コンピュータシステム１０２または４０２のようなパブリッシュ側コンピュータシステム上にあるドキュメントを、コンピュータシステム１５２または４５２のようなアクセス側コンピュータシステムにパブリッシュする方法を含む、本発明のさらにもう１つの実施形態を示している。
【００８０】
フロー７００は、暗号化されたマシン名、ホストドメイン、および関連する登録済みマシンロケーションを従来型ＤＮＳサーバに登録する、登録オペレーションで開始する。ＤＮＳサーバは一般に、ＩＰアドレスなどの対応する登録済みマシンロケーションと共に、ホストドメインに付加されたマシン名でテーブルを格納する。ネットワークユーザは、ＤＮＳサーバを使用して、特定のマシンの登録済みＩＰアドレスを検索する。本明細書で使用されているように、「暗号化マシン名」は、人々が通常の機器で理解または使用できない秘密コードに変えられた公開鍵を示すべきである。暗号化マシン名を作成する１つの方法は、公開鍵にアルゴリズムを適用することである。
【００８１】
次に、伝達オペレーション７０６は、１つまたは複数のドキュメントのロケーションのパス名およびパブリッシュ側ノードのプリンシパルを識別するユーザフレンドリハンドルを伝達する。フロー７００は、受信オペレーション７０６に進み、ここでアクセス側マシンはドキュメントのパス名およびパブリッシュ側マシンのプリンシパルを識別するユーザフレンドリハンドルを受け取る。その後、送信オペレーション７０８は、パブリッシュ側マシンのプリンシパルの識別情報ドキュメントをアクセス側ノードに送信する。識別情報ドキュメントは、少なくとも、プリンシパル識別子、公開鍵、およびパブリッシュ側ノードのプリンシパルのドメインホストを含んでいる。受信オペレーション６１０は、識別情報ドキュメントを受け取り、続いて、図１と併せて説明され示されているデータベース１５６と同様に、認識済み識別データベースに識別情報ドキュメントを格納する格納オペレーション７１２に進む。
【００８２】
それから後に、代理受信オペレーション７１２は、ドキュメントへの初期アクセス要求を代理受信する。初期要求は、プリンシパルまたは他のソースから発せられ、ユーザフレンドリハンドル／パスロケーションでドキュメントへのアクセスを求めることができる。次に、解決オペレーション７１４は、図５で詳細に説明されているプロセスを使用して、公開鍵で初期要求のユーザフレンドリハンドルを解決し、ユーザフレンドリハンドルと一致するプリンシパル識別子で識別情報ドキュメントに記述されているドメインホストを解決する。
【００８３】
次に、変換オペレーション７１８は、公開鍵に計算を実行して、これを暗号化マシン名に変換し、付加オペレーション７２０は、暗号化マシン名をドメインホストに付加する。１つの実施形態において、変換オペレーションは、公開鍵にアルゴリズムを実行するステップを備えているが、ここでアルゴリズムは登録オペレーション７０２のパブリッシュ側ノードによって使用されるアルゴリズムと同じである。アルゴリズムは、多くのネットワークノードによって一般に使用される標準的アルゴリズムであってもよく、あるいはまた、他の何らかの方法でアクセス側ノードによって受信された特有のアルゴリズムであってもよい。
【００８４】
次にフロー７００は検索オペレーション７２２に進み、ここで暗号化されたマシン名／ドメインホストの組合せを使用して、ＤＮＳサーバ上の登録済みマシンロケーションを検索する。検索オペレーション７２２を完了した後、修正オペレーション７２４は、ユーザフレンドリハンドルを登録済みマシンロケーションで置き換えるよう初期要求を修正し、ユーザフレンドリハンドルではなく登録済みマシンロケーションを使用してパブリッシュ済みドキュメントへの修正済み要求を送信する。パス名が関与する場合、送信オペレーション６１４は、そのパスに位置するドキュメントへのアクセス要求をさらに含んでいる。
【００８５】
フロー７００によって例示されている方法を使用することの利点は、これによりパブリッシュ側マシンが従来型ＤＮＳサーバを使用しながら追加のセキュリティ対策を採用することができることである。通常は、ＤＮＳアドレスは公開されているので、潜在的なハッカーがＤＮＳサーバを使用してパブリッシュ側ノードのマシン名およびマシンロケーションを知ることができる。次にハッカーは、この情報を使用して、パブリッシュ側ノードのリソースに不正アクセスすることもできる。暗号化マシン名をＤＮＳサーバに登録することで、ハッカーがパブリッシュ側ノードのマシン名を知ることを防止できるが、許可ユーザがパブリッシュ側ノードのリソースにアクセスすることはさらに困難になる。プロセス７００により、許可されたアクセス側ノードは、ユーザフレンドリハンドルに関する知識のみでパブリッシュ側ノードのリソースにアクセスすることができる。パブリッシュ側ノードは、パブリッシュ側ノードのリソースにアクセスするために、分かりにくい暗号化マシン名またはドメインホストを知る必要はない。名前解決方法を利用するためには、アクセス側ノードがパブリッシュ側ノードの識別情報ドキュメントを受信する必要があるため、セキュリティが強化される。
【００８６】
本発明についてコンピュータ構造的機能、方法論的作用およびコンピュータ可読媒体に特有の表現で説明してきたが、添付の請求の範囲に定義されている本発明が説明されている特定の構造、作用または媒体に必ずしも限定されないことを理解されたい。一例として、ＸＭＬ以外の異なるフォーマットを使用して識別情報を符号化することもできる。したがって、特定の構造的機能、作用および媒体は、特許請求された本発明を実装する模範的な実施形態として開示されている。
【００８７】
前述の名前解決の方法を使用して、本発明は、パブリッシュ側マシン上の要求されたドキュメントにアクセスするために、アクセス側マシンのプリンシパルがユーザフレンドリハンドルのみを知っていればよいように、パブリッシュ側マシンのプリンシパルを識別するユーザフレンドリハンドルをマシンロケーションに関連付けるかまたは解決することができることを確立した。さらに、関連プロセスは透過的であり、プリンシパルの知識または関与なしで発生する。
【００８８】
前述の仕様、例およびデータは、本発明の構造の製造および使用について詳細に説明している。本発明の多くの実施形態は、本発明の精神および範囲を逸脱することなく実行することができるため、本発明は添付されている特許請求の範囲に属している。
【図面の簡単な説明】
【００８９】
【図１】本発明の態様を組み込むノードの通信または分散ネットワークを示す図である。
【図２】本発明の特定の態様に従って使用することのできるコンピュータシステムを示す図である。
【図３】本発明の特定の態様による識別情報ドキュメントの構造を示す図である。
【図４】本発明の態様によるソフトウェア環境を説明する図である。
【図５】アクセス側ノードに関して本発明のオペレーションの特徴を示す流れ図である。
【図６】アクセス側ノードおよびパブリッシュ側ノードに関して本発明の代替実施形態のオペレーションの特徴を示す流れ図である。
【図７】アクセス側ノードおよびパブリッシュ側ノードに関して本発明のさらにもう１つの代替実施形態のオペレーションの特徴を示す流れ図である。
【図１】
2007509574.tif 000003
【図２】
2007509574.tif 000004
【図３】
2007509574.tif 000005
【図４】
2007509574.tif 000006
【図５】
2007509574.tif 000007
【図６】
2007509574.tif 000008
【図７】
2007509574.tif 000009
【国際調査報告】
2007509574.tif 000010