(57)【特許請求の範囲】
【請求項１】
ピアツーピアオーバーレイネットワーク上での通信を容易にするように構成された通信インターフェースと、
内部に記憶されたデータオブジェクトを含む記憶媒体であって、前記データオブジェクトは、前記ピアツーピアオーバーレイネットワーク内で、前記データオブジェクトに関連するアクセス制御リストを見つける際に利用されるように構成されたルーティング機構を含む、記憶媒体と、
前記通信インターフェースおよび前記記憶媒体に結合された処理回路であって、
前記記憶媒体内の前記データオブジェクトへのアクセスに対する要求を要求側ピアノードから受信し、
前記データオブジェクトとともに含まれる前記ルーティング機構を使用して前記ピアツーピアオーバーレイネットワーク内の前記アクセス制御リストを見つけ、
前記アクセス制御リストに基づいて、前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかを判断し、
前記アクセス制御リストが前記要求されたアクセスを許可するかどうかに基づいて、前記要求側ピアノードの前記データオブジェクトへのアクセスを認可または拒否する
ように構成された、処理回路と
を含み、
前記データオブジェクトとともに含まれる前記ルーティング機構は、汎用資源識別子(URI)を含む、ピアノード。
【請求項２】
前記ルーティング機構は、中央サーバまたは固定型ホストを使用せずに前記ピアツーピアオーバーレイネットワーク内の前記データオブジェクトを見つけるように構成される、請求項1に記載のピアノード。
【請求項３】
前記処理回路は、さらに、
前記アクセス制御リストを取得し、
前記要求側ピアノードによって要求された前記アクセスが許可されることを前記アクセス制御リストが示すか否かを判断するために前記アクセス制御リストを分析するように構成される、請求項1に記載のピアノード。
【請求項４】
前記処理回路は、さらに、
前記アクセス制御リストを記憶するピアノードに、前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかの指示を要求する問合せを送信し、
前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかを示す前記指示を受信するように構成される、請求項1に記載のピアノード。
【請求項５】
前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかを示す前記指示は、前記アクセス制御リストを記憶する前記ピアノードまたは前記ピアツーピアオーバーレイネットワークの別のピアノードのうちの1つから受信される、請求項4に記載のピアノード。
【請求項６】
前記処理回路は、さらに、
前記記憶媒体内の前記データオブジェクトに関連する前記アクセス制御リストのコピーをキャッシュするように構成される、請求項1に記載のピアノード。
【請求項７】
前記記憶媒体は、前記データオブジェクトに関連する前記アクセス制御リストをさらに含み、
前記データオブジェクトとともに含まれる前記ルーティング機構は、前記アクセス制御リストが前記ピアノードで見つけられることを示す、請求項1に記載のピアノード。
【請求項８】
前記処理回路は、さらに、前記要求側ピアノードを認証するように構成される、請求項1に記載のピアノード。
【請求項９】
ピアノード上で動作可能な方法であって、
記憶媒体内にデータオブジェクトを記憶するステップであって、前記データオブジェクトは、ピアツーピアオーバーレイネットワーク内で、前記データオブジェクトに関連するアクセス制御リストを見つける際に使用されるように構成されたルーティング機構を含む、ステップと、
前記記憶されたデータオブジェクトへのアクセスに対する要求を要求側ピアノードから受信するステップと、
前記データオブジェクトとともに含まれる前記ルーティング機構を使用して前記ピアツーピアオーバーレイネットワーク内の前記アクセス制御リストを見つけるステップと、
前記アクセス制御リストに基づいて、前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかを判断するステップと、
前記アクセス制御リストが前記要求されたアクセスを許可するかどうかに基づいて、前記要求側ピアノードの前記データオブジェクトへのアクセスを認可または拒否するステップと
を含み、
前記データオブジェクトとともに含まれる前記ルーティング機構は、汎用資源識別子(URI)を含む、方法。
【請求項１０】
前記アクセス制御リストに基づいて、前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかを判断するステップは、
前記アクセス制御リストを取得するステップと、
前記要求側ピアノードによって要求された前記アクセスが許可されることを前記アクセス制御リストが示すか否かを判断するために前記アクセス制御リストを分析するステップと
を含む、請求項9に記載の方法。
【請求項１１】
前記アクセス制御リストに基づいて、前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかを判断するステップは、
前記アクセス制御リストを記憶するピアノードに、前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかの指示を要求する問合せを送信するステップと、
前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかを示す前記指示を受信するステップと
を含む、請求項9に記載の方法。
【請求項１２】
前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかを示す前記指示を受信するステップは、
前記アクセス制御リストを記憶する前記ピアノードから前記指示を受信するステップを含む、請求項11に記載の方法。
【請求項１３】
前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかを示す前記指示を受信するステップは、
前記ピアツーピアネットワークの別のピアノードから前記指示を受信するステップを含む、請求項11に記載の方法。
【請求項１４】
前記記憶媒体内の前記データオブジェクトに関連する前記アクセス制御リストのコピーをキャッシュするステップをさらに含む、請求項9に記載の方法。
【請求項１５】
前記要求側ピアノードを認証するステップをさらに含む、請求項9に記載の方法。
【請求項１６】
記憶媒体内にデータオブジェクトを記憶するための手段であって、前記データオブジェクトは、ピアツーピアオーバーレイネットワーク内の前記データオブジェクトに関連するアクセス制御リストを見つける際に使用されるように構成されたルーティング機構を含む、手段と、
前記記憶されたデータオブジェクトへのアクセスに対する要求を要求側ピアノードから受信するための手段と、
前記データオブジェクトとともに含まれる前記ルーティング機構を使用して前記ピアツーピアオーバーレイネットワーク内の前記アクセス制御リストを見つけるための手段と、
前記アクセス制御リストに基づいて、前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかを判断するための手段と、
前記アクセス制御リストが前記要求されたアクセスを許可するかどうかに基づいて、前記要求側ピアノードの前記データオブジェクトへのアクセスを認可または拒否するための手段と
を含み、
前記ルーティング機構は、汎用資源識別子(URI)を含む、ピアノード。
【請求項１７】
ピアノード上で動作可能な命令を含むプロセッサ可読媒体であって、前記命令は、プロセッサによって実行されるとき、前記プロセッサに、
記憶媒体内に、ピアツーピアオーバーレイネットワーク内の前記データオブジェクトに関連するアクセス制御リストを見つける際に使用されるように構成されたルーティング機構を含むデータオブジェクトを記憶させ、
前記記憶されたデータオブジェクトへのアクセスに対する要求を要求側ピアノードから受信させ、
前記データオブジェクトとともに含まれる前記ルーティング機構を使用して前記ピアツーピアオーバーレイネットワーク内の前記アクセス制御リストを見つけさせ、
前記アクセス制御リストに基づいて、前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかを判断させ、
前記アクセス制御リストが前記要求されたアクセスを許可するかどうかに基づいて、前記要求側ピアノードの前記データオブジェクトへのアクセスを認可または拒否させ、
前記ルーティング機構は、汎用資源識別子(URI)を含む、プロセッサ可読媒体。
【請求項１８】
ピアツーピアオーバーレイネットワーク上での通信を容易にするように構成された通信インターフェースと、
少なくとも1つの関連するデータオブジェクトに関するアクセス制御を示すように構成される、内部に記憶されたアクセス制御リストを含む記憶媒体と、
前記通信インターフェースおよび前記記憶媒体に結合された処理回路であって、
前記アクセス制御リストに関連するデータオブジェクトを記憶するピアノードから、前記データオブジェクトに関連するアクセス制御に関する情報に対する要求を含む第1の送信内容を受信し、
前記第1の送信内容に応答して、前記データオブジェクトに関連する前記アクセス制御に関する要求された情報を含む第2の送信内容を、前記データオブジェクトを記憶する前記ピアノードに送信する
ように構成された処理回路と
を含み、
前記通信インターフェースは、中央サーバまたは固定型ホストを使用せずに前記ピアツーピアオーバーレイネットワーク上での通信を容易にするように構成され、
前記アクセス制御リストは、前記少なくとも1つの関連するデータオブジェクトとともに記憶されるルーティング機構によって、前記ピアツーピアオーバーレイネットワーク内で見つかるように構成され、
前記ルーティング機構は、汎用資源識別子(URI)を含む、ピアノード。
【請求項１９】
前記アクセス制御リストは、前記ピアツーピアオーバーレイネットワーク内に記憶された複数の異なるデータオブジェクトに対するアクセス制御を示すように構成される、請求項18に記載のピアノード。
【請求項２０】
前記処理回路は、さらに、
前記アクセス制御リストに対する要求を含む前記第1の送信内容を受信するように構成される、請求項18に記載のピアノード。
【請求項２１】
前記処理回路は、さらに、
前記アクセス制御リストを含む第2の送信内容を、前記データオブジェクトを記憶するピアノードに送信するように構成される、請求項20に記載のピアノード。
【請求項２２】
前記処理回路は、さらに、
要求側ピアノードによって要求された前記データオブジェクトへのアクセスが許可されるかどうかの指示を要求する問合せを含む前記第1の送信内容を受信するように構成される、請求項18に記載のピアノード。
【請求項２３】
前記処理回路は、さらに、
前記要求側ピアノードによって要求された前記アクセスが許可されることを前記アクセス制御リストが示すか否かを判断するために前記アクセス制御リストを分析し、
前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかを示す、要求された指示を含む前記第2の送信内容を送信する
ように構成される、請求項22に記載のピアノード。
【請求項２４】
ピアノード上で動作可能な方法であって、
記憶媒体内に、ピアツーピアオーバーレイネットワーク内の少なくとも1つの関連するデータオブジェクトに関するアクセス制御を示すように構成されたアクセス制御リストを記憶するステップと、
前記アクセス制御リストに関連するデータオブジェクトを記憶するピアノードから、前記データオブジェクトに関連するアクセス制御に関する情報に対する要求を含む第1の送信内容を受信するステップと、
前記第1の送信内容に応答して、前記データオブジェクトに関連する前記アクセス制御に関する要求された情報を含む第2の送信内容を、前記データオブジェクトを記憶する前記ピアノードに送信するステップと
を含み、
前記アクセス制御リストは、前記少なくとも1つの関連するデータオブジェクトとともに記憶されるルーティング機構によって、前記ピアツーピアオーバーレイネットワーク内で見つかるように構成され、
前記ルーティング機構は、汎用資源識別子(URI)を含む、方法。
【請求項２５】
前記データオブジェクトに関連するアクセス制御に関する情報に対する要求を含む前記第1の送信内容を受信するステップは、
前記アクセス制御リストに対する要求を含む前記第1の送信内容を受信するステップを含む、請求項24に記載の方法。
【請求項２６】
前記データオブジェクトに関連する前記アクセス制御に関する前記要求された情報を含む前記第2の送信内容を送信するステップは、
前記アクセス制御リストを含む前記第2の送信内容を、前記データオブジェクトを記憶する前記ピアノードに送信するステップを含む、請求項25に記載の方法。
【請求項２７】
前記データオブジェクトに関連するアクセス制御に関する情報を要求する前記第1の送信内容を受信するステップは、
要求側ピアノードによって要求された前記データオブジェクトへのアクセスが許可されるかどうかの指示を要求する問合せを受信するステップを含む、請求項24に記載の方法。
【請求項２８】
前記データオブジェクトに関連する前記アクセス制御に関する前記要求された情報を含む前記第2の送信内容を送信するステップは、
前記要求側ピアノードによって要求された前記アクセスが許可されることを前記アクセス制御リストが示すか否かを判断するために前記アクセス制御リストを分析するステップと、
前記要求側ピアノードによって要求された前記アクセスが許可されるかどうかを示す、前記要求された指示を含む前記第2の送信内容を送信するステップと
を含む、請求項27に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示する様々な特徴は、一般的に、ピアツーピアオーバーレイネットワークに関し、少なくともいくつかの特徴は、ピアツーピアオーバーレイネットワークにおけるデータアクセス制御を容易にするためのデバイスおよび方法に関する。
【背景技術】
【０００２】
ピアツーピア(すなわち、P2P)オーバーレイネットワークおよび他の同様のオーバーレイネットワークは、ピア間でタスクまたはワークロードを分割する分散型アプリケーションアーキテクチャを含む。そのようなピアツーピアオーバーレイネットワークは、インターネットプロトコル(IP)を利用するネットワークなどの、下位ネットワークの上に構築され得る。
【０００３】
典型的には、ピアは、アプリケーション内で等しい特権がある、等しい力を有する参加者であり、また、典型的には、ノードのピアツーピアネットワークを形成するといわれている。様々なピアノードは、サービスを提供し、かつネットワークを維持するために互いに協調する。ピアノードは、典型的には、サーバまたは固定型ホストによる中央調整の必要なしに他のネットワーク参加者が直接利用可能な、処理能力、ディスク記憶、またはネットワーク帯域幅などの、その資源の一部分をなす。概して、ピアノードは、サーバだけが供給し、クライアントが消費する、従来のクライアント/サーバモデルとは対照的に、資源の供給者と消費者の両方となる。
【０００４】
低コストのスケーラビリティおよびアプリケーションの容易な展開のために、ピアツーピアネットワークおよび同様のネットワークが、多くの環境において採用され得る。たとえば、家庭環境における、コンピュータ、テレビジョン、携帯電話、プリンタ、または、データを通信および共有するためのネットワークインターフェース機能を有する他のデバイスなどの、複数のノードは、ピアツーピアネットワークにおいて互いに接続され得る。典型的には、そのようなネットワークは、比較的オープンであり、デバイス(すなわち、ノード)が自由に参加および離脱するのを可能にする。そのようなネットワークのいくつかの実装形態では、ユーザのデータは、ユーザが知っている、または知らない可能性がある、ネットワーク内のリモートノード上に分散した形で記憶され得る。その結果、一部のユーザは、ユーザのデータが無許可の形でアクセスされ(たとえば、読まれ、および/または修正され)ない保証がなければ、オーバーレイのデータ記憶機能に十分な信頼を有することができない。したがって、データ所有者は、記憶されたデータオブジェクトに誰がアクセスすることができるかを規定するアクセス制御を指定することができ得る。
【０００５】
従来のピアツーピアオーバーレイネットワークにおける各データオブジェクトは、中央に実装されたアクセス制御リストを容易にするためのサーバまたは固定型ホストによる中央調整がないので、その特定のデータオブジェクトに関するアクセス制御ポリシーを示す、対応するそれ自体のアクセス制御リストを含み得る。アクセス制御リストは、それぞれのデータオブジェクトに関するアクセス情報を指定するために各データオブジェクト(たとえば、ファイル)に添付される。しかしながら、記憶のオーバーヘッドは、各データオブジェクトがそれ自体のアクセス制御リストを有するので、比較的大きい。さらに、アクセス制御リストがデータオブジェクトのサイズを増大させるので、ピアノード間でデータオブジェクトを送信するのに要求される帯域幅の増大が生じる。したがって、中央でサーバまたは固定型ホストによっては調整されない、ピアツーピアオーバーレイネットワークおよび同様のオーバーレイネットワーク内のデータオブジェクトに関するアクセス制御を容易にするためのシステム、デバイス、および/または方法が求められる。
【発明の概要】
【課題を解決するための手段】
【０００６】
様々な特徴は、ピアツーピアオーバーレイネットワーク内のデータオブジェクトに関するアクセス制御を容易にするためのピアノードを提供する。1つの特徴は、内部にデータオブジェクトを記憶するピアノードを提供する。そのようなピアノードは、各々が処理回路に結合された通信インターフェースおよび記憶媒体を含み得る。通信インターフェースは、ピアツーピアオーバーレイネットワーク上での通信を容易にするように構成される。記憶媒体は、内部に記憶されたデータオブジェクトを含み得るが、データオブジェクトは、ピアツーピアオーバーレイネットワーク内のデータオブジェクトに関連するアクセス制御リストを見つける際に利用されるように構成されたルーティング機構を含む。
【０００７】
様々な実装形態によると、処理回路は、記憶媒体内のデータオブジェクトへのアクセスに対する要求を要求側ピアノードから受信するように構成され得る。処理回路は、データオブジェクトとともに含まれるルーティング機構を使用してピアツーピアオーバーレイネットワーク内のアクセス制御リストを見つけることができ、アクセス制御リストに基づいて要求側ピアノードによって要求されたアクセスが許可されるかどうかを判断することができる。アクセス制御リストが要求されたアクセスを許可するかどうかに基づいて、処理回路は、要求側ピアノードのデータオブジェクトへのアクセスを認可または拒否し得る。
【０００８】
ピアツーピアオーバーレイネットワーク内のデータオブジェクトに対するアクセス制御を容易にするための、ある特徴による、アクセス端末で動作可能な方法も提供される。たとえば、データオブジェクトは、記憶媒体内に記憶され得る。データオブジェクトは、ピアツーピアオーバーレイネットワーク内のデータオブジェクトに関連するアクセス制御リストを見つけるように構成されたルーティング機構を含み得る。記憶されたデータオブジェクトへのアクセスに対する要求が、要求側ピアノードから受信され得る。次いで、ピアノードは、データオブジェクトとともに含まれるルーティング機構を使用してピアツーピアオーバーレイネットワーク内のアクセス制御リストを見つけることができ、アクセス制御リストに基づいて要求側ピアノードによって要求されたアクセスが許可されるかどうかを判断することができる。要求側ピアノードのデータオブジェクトへのアクセスは、アクセス制御リストが要求されたアクセスを許可するかどうかに基づいて、認可または拒否され得る。
【０００９】
追加の特徴は、ピアツーピアオーバーレイネットワーク内のデータオブジェクトに関するアクセス制御を容易にするために構成されたアクセス制御リストを記憶するピアノードを提供する。そのようなピアノードは、各々が処理回路に結合された通信インターフェースおよび記憶媒体を含み得る。通信インターフェースは、ピアツーピアオーバーレイネットワーク上での通信を容易にするように構成され得る。記憶媒体は、内部に記憶されたアクセス制御リストを含むことができるが、アクセス制御リストは、少なくとも1つの関連するデータオブジェクトに関するアクセス制御を示すように構成される。
【００１０】
処理回路は、アクセス制御リストに関連するデータオブジェクトを記憶するピアノードから第1の送信内容を受信するように構成され得る。第1の送信内容は、データオブジェクトに関連するアクセス制御に関する情報に対する要求を含み得る。たとえば、第1の送信内容は、アクセス制御リストに対する要求、または要求側ピアノードによって要求されたデータオブジェクトへのアクセスが許可されるかどうかの指示を要求する問合せを含み得る。次いで、処理回路は、第1の送信内容に応答してデータオブジェクトを記憶するピアノードに第2の送信内容を送信し得る。第2の送信内容は、データオブジェクトに関連するアクセス制御に関する要求された情報を含み得る。
【００１１】
ピアツーピアオーバーレイネットワーク内のデータオブジェクトに対するアクセス制御を容易にするための、ある特徴による、アクセス端末で動作可能な方法も提供される。たとえば、アクセス制御リストは、記憶媒体内に記憶され得る。アクセス制御リストは、少なくとも1つの関連するデータオブジェクトに対するアクセス制御を示すように構成され得る。第1の送信内容は、アクセス制御リストに関連するデータオブジェクトを記憶するピアノードから受信され得る。第1の送信内容は、データオブジェクトに関連するアクセス制御に関する情報に対する要求を含み得る。さらに、第2の送信内容は、第1の送信内容に応答してデータオブジェクトを記憶するピアノードに送信され得る。第2の送信内容は、データオブジェクトに関連するアクセス制御に関する要求された情報を含み得る。
【図面の簡単な説明】
【００１２】
【図１】データオブジェクトがオーバーレイネットワークのノード間で記憶され得る、中央でサーバまたは固定型ホストによっては調整されないオーバーレイネットワークを含むネットワークを示すブロック図である。
【図２】中央でサーバまたは固定型ホストによっては調整されないオーバーレイネットワーク内に記憶されていたデータオブジェクトに関するアクセス制御を容易にするためのネットワーク環境を示す図である。
【図３】ピアツーピアオーバーレイネットワークまたは同様のオーバーレイネットワーク内に記憶されるデータオブジェクトに関するアクセス制御を容易にするための少なくともいくつかのステップの一例を示すフロー図である。
【図４】少なくとも1つの実装形態によるピアノードの選択構成要素を示すブロック図である。
【図５】ピアツーピアオーバーレイネットワーク内に記憶されたデータオブジェクトに関するアクセス制御を容易にするための、データオブジェクトを記憶するピアノード上で動作可能な方法の少なくとも1つの実装形態の一例を示すフロー図である。
【図６】ピアツーピアオーバーレイネットワーク内に記憶されたデータオブジェクトに関するアクセス制御を容易にするための、アクセス制御リスト(ACL)を記憶するピアノード上で動作可能な方法の少なくとも1つの実装形態の一例を示すフロー図である。
【発明を実施するための形態】
【００１３】
以下の説明では、説明する実装形態を完全に理解することができるように具体的な詳細が与えられる。しかしながら、様々な実装形態が、これらの具体的な詳細なしに実施され得ることを当業者には理解されよう。たとえば、実装形態を不要な詳細で不明瞭にしないように回路をブロック図で示すことがある。他の場合には、説明される実装形態を不明瞭にしないように、よく知られている回路、構造および技法を詳細に示すことがある。
【００１４】
「例示的な」という言葉は、「例、実例、または例示として機能すること」を意味するために本明細書で使用される。本明細書に「例示的」と記載されたいかなる実装形態または実施形態も、必ずしも他の実施形態または実装形態よりも好ましいか、または有利であると解釈されるべきではない。同様に、「実施形態」という用語は、すべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。本明細書で使用する「ピアツーピアオーバーレイネットワーク」および「ピアノード」という用語は広く解釈されるものとする。たとえば、「ピアツーピアオーバーレイネットワーク」は、中央でサーバまたは固定型ホストによっては調整されず、ピア間でタスクまたはワークロードを分割する分散型アプリケーションアーキテクチャを含む、オーバーレイネットワークを指す可能性がある。さらに、「ピアノード」は、ピアツーピアオーバーレイネットワーク上での通信を容易にするデバイスを指す可能性がある。「ピアノード」の例には、プリンタ、タブレットコンピュータ、テレビジョン、モバイル電話、携帯情報端末、パーソナルメディアプレーヤ、ラップトップコンピュータ、ノートブックコンピュータ、デスクトップコンピュータなどが含まれる可能性がある。
【００１５】
概要
1つの特徴は、ピアツーピアオーバーレイネットワーク内に記憶されるデータオブジェクトに関するアクセス制御を容易にする。アクセス制御を必要とするピアツーピアオーバーレイネットワーク内に記憶されるすべてのデータオブジェクトに関して、ルーティング機構がそれに付加される。このルーティング機構は、データオブジェクトに対するアクセスポリシーを指定するアクセス制御リスト(ACL)のピアツーピアオーバーレイネットワーク内の位置を指定する。次いで、データオブジェクト(ルーティング機構を含む)は、ピアツーピアオーバーレイネットワーク内に記憶され、最終的にピアノードの1つに記憶され得る。後に、別のピアノードがデータオブジェクトへのアクセスを要求するとき、データオブジェクトを記憶するピアノードは、アクセス制御リスト(ACL)によって指定されたアクセスポリシーに関連するピアツーピアオーバーレイネットワークから情報を取り出すために、データオブジェクト内のルーティング機構を使用することになる。データオブジェクトを記憶するピアノードは、データオブジェクトへのアクセスを要求するピアノードの識別情報を認証することができ、要求側のピアノードの識別情報が、要求されるアクセスタイプを実行することを許容されるものかどうかを判断することができる。アクセス制御リスト(ACL)に従ってアクセスが許容される場合、データオブジェクトを記憶するピアノードは、アクセスを認可し得る。アクセス制御リスト(ACL)に従ってアクセスが許容されない場合、データオブジェクトを記憶するピアノードは、アクセスを拒否し得る。
【００１６】
例示的なネットワーク環境
図1は、データオブジェクトがオーバーレイネットワークのノード間で記憶され得る、中央でサーバまたは固定型ホストによっては調整されないオーバーレイネットワークを含むネットワーク100を示すブロック図である。オーバーレイネットワークは、別のネットワークの上に構築されるピアツーピアオーバーレイネットワーク102を含み得る。いくつかの例では、ピアツーピアオーバーレイネットワーク102は、通信プロトコルスタックの最上位層(たとえば、アプリケーション層)で動作するように実装されてもよい。そのようなピアツーピアオーバーレイネットワーク102は、インターネットプロトコルネットワークなどの任意のタイプの下位ネットワークを利用して、オーバーレイネットワーク102上の複数のピアノード104A〜104Fが互いに通信するのを可能にしてもよい。下位ネットワークは、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、ワイヤレスネットワーク(たとえば、WWAN、WLAN)、および/または任意の他のタイプのネットワークなどの、任意の数のタイプのネットワークを含んでもよい。
【００１７】
ピアノード104A〜104Fは、ピアツーピアオーバーレイネットワーク102を介して通信するように構成された任意のデバイスを含み得る。そのようなデバイスは、ピアツーピアオーバーレイネットワーク102を介して通信を容易にするように構成されたミドルウェアレイヤを含み得る。限定ではなく例として、ピアノードには、プリンタ104A、タブレットコンピュータ104B、テレビジョン104C、モバイル電話、携帯情報端末、およびパーソナルメディアプレーヤ104D、ラップトップコンピュータおよびノートブックコンピュータ104E、ならびに/またはデスクトップコンピュータ104Fなどのデバイスが含まれる可能性がある。
【００１８】
ピアツーピアオーバーレイネットワーク102を使用するとき、ピアノード104A〜104Fの各々は、サーバまたは固定型ホストによる中央調整の必要なしに、他のピアノード104A〜104Fと通信することができる。たとえば、ピアノード104A〜104Fの各々は、その資源(たとえば、処理能力、ディスク記憶、ネットワーク帯域幅)の一部分を別のピアノードに利用可能にすることができ、中央調整用のサーバまたは固定型ホストなしに別のピアノードの資源の一部分を利用することができる。少なくともいくつかの実装形態では、ピアノード104A〜104Fの少なくともいくつかは、ピアツーピアオーバーレイネットワーク102内にデータオブジェクトを記憶し得る。データオブジェクトがピアツーピアオーバーレイネットワーク102内に記憶される際、データオブジェクトへのアクセスが望まれるとき、ピアツーピアネットワーク内のデータオブジェクトを見つけるために、データオブジェクトに関連する識別子が使用される。次いで、他のピアノード104A〜104Fのうちの1つにデータオブジェクトを記憶することによって、データオブジェクトは、ピアツーピアオーバーレイネットワーク102内に記憶される。たとえば、分散型ハッシュテーブル(DHT)を使用すれば、ピアツーピアオーバーレイネットワークは、メッセージおよび要求を正しいピアノードにルーティングするためにオブジェクトの識別子を使用し得る。
【００１９】
例示的なネットワーク環境におけるアクセス制御の容易化
ある特徴によれば、データオブジェクトの所有者は、ピアツーピアオーバーレイネットワーク102内に記憶されたデータオブジェクトに関するアクセス制御を指定し得る。すなわち、ピアノード104A〜104Fおよび/またはそのユーザは、どのような他のピアノードおよび/または他のユーザがピアツーピアオーバーレイネットワーク102内に記憶したデータオブジェクトにアクセスすることを許可されるかを指定することができる。図2は、ピアツーピアオーバーレイネットワーク102などの、中央でサーバまたは固定型ホストによっては調整されないオーバーレイネットワーク内に記憶されてきたデータオブジェクトに関するアクセス制御を容易にするためのネットワーク環境を示す。データオブジェクトがピアツーピアオーバーレイネットワーク102内に記憶されるとき、データオブジェクトは、最終的には、データオブジェクトを記憶するピアノードとして、図2において特定されたピアノード202上に記憶され得る。
【００２０】
ある特徴によれば、データオブジェクトに関連するアクセス制御リスト(ACL)は、記憶されたデータオブジェクトとは無関係な別個のデータオブジェクトとしてピアツーピアオーバーレイネットワーク102内に記憶される。図2の例で示すように、アクセス制御リスト(ACL)は、ACLを記憶するピアノードとして示されるピアノード204に記憶され得る。いくつかの実装形態では、ACLを記憶するピアノード204は、中央ノードでも指定されたアドミニストレータノードでもない。すなわち、ACLを記憶するピアノード204は、すべてのアクセス制御リスト(ACL)を記憶し得る中央ノードとして機能せず、ピアツーピアオーバーレイネットワーク102内のすべてのデータオブジェクトに関連するアクセス制御リスト(ACL)を記憶するように実装されない。代わりに、ピアツーピアオーバーレイネットワーク102内の複数の異なるデータオブジェクトに関連する複数のアクセス制御リスト(ACL)は、ピアツーピアオーバーレイネットワーク102内の複数の異なるピアノードに記憶され得る。したがって、様々なピアノードが、様々なデータオブジェクトに関連するACLを記憶し得る。いくつかの実装形態では、データオブジェクトを記憶するピアノード202およびACLを記憶するピアノード204は、同じピアノードであってもよいが、データオブジェクトおよびアクセス制御リスト(ACL)は、別個のオブジェクトとして記憶されることに留意されたい。図1に示すネットワーク100を参照すると、ピアノード104A〜104Fのうちのいずれか1つは、データオブジェクトを記憶するピアノード202、および/またはACLを記憶するピアノード204を含み得る。いくつかの事例では、ピアノード104A〜104Fのうちの2つ以上は、ピアツーピアオーバーレイネットワーク102内の様々なデータオブジェクトに関連する、異なるそれぞれのアクセス制御リスト(ACL)を記憶するために使用されてもよく、その結果、2つ以上のピアノード104A〜104Fの各々が、ACLを記憶するピアノード204を含む。
【００２１】
アクセス制御リスト(ACL)は、ピアノード202に記憶されるデータオブジェクトに対するアクセスポリシーを指定するように構成される。少なくともいくつかの実装形態によれば、ピアツーピアオーバーレイネットワーク102は、アクセス制御リスト(ACL)のフォーマットを指定することができ、その結果、ピアツーピアオーバーレイネットワーク102上の各ピアノードのミドルウェアは、指定されたフォーマットを理解することができる。アクセス制御リスト(ACL)は、ピアツーピアオーバーレイネットワーク102内のピアノード、ユーザ、および/またはユーザグループがあるタイプのアクセス(たとえば、読取り、読取り/書込み)を取得することができるかどうかを指定し得る。
【００２２】
さらに図2を参照すると、何らかの形式のアクセス制御を有し、ピアノード202に記憶されるデータオブジェクトは、ピアツーピアオーバーレイネットワーク102内のアクセス制御リスト(ACL)をどのように、および/またはどこで発見するべきかを示すロケーションインジケータ(location  indicator)などのルーティング機構を含む。少なくともいくつかの実装形態によると、データオブジェクトとともに含まれるルーティング機構は、ピアツーピアオーバーレイネットワーク102内の関連するアクセス制御リスト(ACL)を見つける際に使用するためにデータオブジェクトとともに含まれていた汎用資源識別子(URI)を含み得る。
【００２３】
その後、1つまたは複数のピアノードは、ピアツーピアオーバーレイネットワーク102を介して、記憶されたデータオブジェクトへのアクセスを要求し得る。そのようなピアノードは、要求側ピアノード206として図2に示される。ピアツーピアオーバーレイネットワーク102は、データオブジェクトに関連する識別子を使用すると、データオブジェクトが記憶されるピアノード202に誘導またはルーティングする。少なくともいくつかの実装形態では、ピアツーピアオーバーレイネットワークは、関連する識別子に関するデータオブジェクトがオーバーレイネットワーク内のどこに位置するかを発見するために分散型ハッシュテーブル(DHT)を使用する。本明細書で使用する場合、アクセス要求は、限定はしないが、読取りアクセス、または読取り/修正アクセス(すなわち、読取り/書込みアクセス)を含むアクセスの様々なレベルのうちの1つに対する要求を含み得る。
【００２４】
概して、要求側ピアノード206がデータオブジェクトに対するアクセス要求を送信するとき、データオブジェクトを記憶するピアノード202は、関連するアクセス制御リストのロケーションを判断するために、記憶されたデータオブジェクトとともに含まれるルーティング機構を使用し得る。記憶するピアノード202は、ACLを記憶するピアノード204に対するアクセス制御リストを取得したいという要求、および/または、要求されたアクセスレベル(たとえば、読取りアクセス、読取り/書込みアクセス)に応じて要求側ピアノード206がデータオブジェクトにアクセスするのを許可されることをアクセス制御リストが示すことの確認を送信し得る。
【００２５】
たとえば、データオブジェクトがピアツーピアオーバーレイネットワーク102内に記憶されるドキュメントを含む場合、要求側ピアノード206は、ピアツーピアネットワークからドキュメントに対するアクセス(たとえば、読取り、読取り/書込み)を要求し得る。ドキュメントを記憶するピアノード202は、ドキュメントに関連するアクセス制御リスト(ACL)へのアクセスに対する要求を送信するためにドキュメントに付加されていたルーティング機構を使用し得る。いくつかの実装形態では、ピアノード202は、アクセス制御リスト(ACL)を記憶するピアノード204からアクセス制御リスト(ACL)のコピーを取得することができ、要求側ピアノード206が要求されたようにドキュメントを読み取るか、または修正するのを許可されることをアクセス制御リスト(ACL)が示すかどうかを判断することができる。
【００２６】
図3を参照すると、ピアツーピアオーバーレイネットワークまたは同様のオーバーレイネットワーク内に記憶されるデータオブジェクトに関するアクセス制御を容易にするための少なくともいくつかのステップの一例を示すフロー図が示される。この例では、例示のために、図2のデータオブジェクトを記憶するピアノード202、ACLを記憶するピアノード204、および要求側ピアノード206が使用される。最初に、ステップ302において、ピアノード202は、いくつかの他のピアノードが記憶したデータオブジェクトを受信し、ピアツーピアオーバーレイネットワーク内に記憶し得る。この例では、ピアツーピアオーバーレイネットワーク内の1つまたは複数のピアノードに関するデータオブジェクトへのアクセスが制限され得る。したがって、記憶されたデータオブジェクトに関連するアクセス制御リスト(ACL)は、ステップ304に示すように、ピアノード204によって受信され、ピアノード204に記憶される。
【００２７】
ステップ306において、要求側ピアノード206は、ピアツーピアオーバーレイネットワークを介してデータオブジェクトへのアクセスを要求することができ、この要求は、オーバーレイネットワークによって、データオブジェクトを記憶するピアノード202に誘導またはルーティングされる。データオブジェクトを記憶するピアノード202は、要求を受信すると、ステップ308において、要求側ピアノード206の識別情報を認証し得る。そのような認証は、通信ネットワーク内の別のデバイスと通信するデバイスを認証するために使用される任意の従来の手段を含むことができ、データオブジェクトを記憶するピアノード202またはピアツーピアオーバーレイネットワーク内の別のピアノードのいずれかによって実行され得る。限定ではなく例として、要求側ピアノード206は、従来のデジタル署名認証、チャレンジレスポンス認証などを使用して認証され得る。
【００２８】
データオブジェクトを記憶するピアノード202が要求側ピアノード206を認証した後、データオブジェクトを記憶するピアノード202は、要求されたデータオブジェクトを取り出すことができ、ステップ310において、データオブジェクトから、データオブジェクトに関連するアクセス制御リスト(ACL)をどのように、および/またはどこで発見するべきかを判断することができる。たとえば、データオブジェクトは、ピアツーピアオーバーレイネットワーク内のアクセス制御リスト(ACL)をどのように、および/またはどこで発見するべきかを示すロケーションインジケータなどのルーティング機構を含み得る。上述のように、データオブジェクトとともに含まれるルーティング機構は、ピアツーピアオーバーレイネットワーク内の関連するアクセス制御リスト(ACL)を見つけるために使用可能な汎用資源識別子(URI)を含み得る。少なくとも1つの実装形態によれば、ピアツーピアオーバーレイネットワークは、所与のルーティング機構(たとえば、URI)のためにメッセージおよび要求をルーティングするために、1つまたは複数の分散型ハッシュテーブル(DHT)を使用するように構成され得る。
【００２９】
データオブジェクトを記憶するピアノード202は、ステップ312において、アクセス制御リスト(ACL)または少なくともそのコピーを取得するためにピアツーピアオーバーレイネットワークを介して要求を送信し得る。アクセス制御リスト(ACL)を記憶するピアノード204は、アクセス制御リスト(ACL)を取り出すことができ、ステップ314において、それ(またはそのコピー)を、データオブジェクトを記憶するピアノード202に送信することができる。
【００３０】
データオブジェクトを記憶するピアノード202は、アクセス制御リスト(ACL)を受信し、ステップ316において、要求側ピアノード206が要求されたようにデータオブジェクトにアクセスするのをアクセス制御リスト(ACL)が認可するかどうかを判断する。要求側ピアノード206が要求されたようにデータオブジェクトにアクセスするのを許可されることをアクセス制御リスト(ACL)が示すとき、318において、データオブジェクトを記憶するピアノード202は、要求を認可し得る。しかしながら、要求側ピアノード206が要求されたようにデータオブジェクトにアクセスするのを許可されないことをアクセス制御リスト(ACL)が示すとき、318において、データオブジェクトを記憶するピアノード202は、要求を拒否し得る。
【００３１】
図3によって示す実装形態は、アクセス制御リスト(ACL)またはそのコピーを取得することによって要求されたアクセスを許可されるかどうかを直接判断し、要求側ピアノード206がデータオブジェクトにアクセスするのを許可されるかどうかを判断するためにアクセス制御リスト(ACL)を使用する、データオブジェクトを記憶するピアノード202を含むことに留意されたい。しかしながら、様々な代替実装形態において、データオブジェクトを記憶するピアノード202は、別のピアノードからの指示を受信することによって要求されたアクセスを許可されるかどうか、またはアクセス制御リストが要求されたアクセスを許可されるかどうかを間接的に判断し得ることに留意されたい。たとえば、別のピアノードは、要求側ピアノード206がデータオブジェクトにアクセスするのを許可されることをアクセス制御リスト(ACL)が示すかどうかを特定するために使用することができ、データオブジェクトを記憶するピアノード202にその結果を伝達することができる。
【００３２】
たとえば、いくつかの実装形態では、アクセス制御リスト(ACL)を記憶するピアノード204は、アクセス制御リスト(ACL)が要求側ピアノード206に要求されたアクセスを認可するかどうかを特定することができ、アクセスが許容されるか否かの指示をピアノード202に送信することができる。他の実装形態では、データオブジェクトを記憶するピアノード202またはアクセス制御リスト(ACL)を記憶するピアノードのいずれかは、アクセス制御リスト(ACL)が要求側ピアノード206に要求されたアクセスを認可するかどうかを特定するためにピアツーピアオーバーレイネットワーク内の別のピアノードを使用し得る。様々な実装形態のいずれかによると、データオブジェクトを記憶するピアノード202は、直接判断されるか、または別のピアノードによって報告されるアクセス制御リスト(ACL)によって示される許可されたアクセスに従って、要求されたアクセスを認可または拒否し得る。
【００３３】
例示的なピアノード
図4は、少なくとも1つの実装形態によるピアノード400の選択構成要素を示すブロック図である。ピアノード400は、通信インターフェース404および記憶媒体406に結合された処理回路402を含み得る。
【００３４】
処理回路402は、データを取得、処理、および/または送信し、データのアクセスおよび記憶を制御し、コマンドを発行し、他の所望の動作を制御するように構成される。少なくとも1つの実施形態では、処理回路402は、適切なメディアによって与えられる所望のプログラミングを実装するように構成された回路を含み得る。たとえば、処理回路402は、たとえば、ソフトウェアおよび/またはファームウェア命令、および/またはハードウェア回路を含む実行可能命令を実行するように構成された、プロセッサ、コントローラ、複数のプロセッサおよび/または他の構造のうちの1つまたは複数として実装され得る。処理回路402の実施形態は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理構成要素、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せを含み得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、DSPとマイクロプロセッサとの組合せ、いくつかのマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成など、コンピューティング構成要素の組合せとしても実装され得る。処理回路402のこれらの例は説明のためのものであり、本開示の範囲内の他の好適な構成も企図される。
【００３５】
通信インターフェース404は、ピアノード400のワイヤレス通信および/または有線通信を容易にするように構成される。たとえば、通信インターフェース404は、ピアツーピアオーバーレイネットワーク内の他のピアノードに対して双方向で情報を通信するように構成され得る。通信インターフェース404は、アンテナと結合することができ、ピアツーピアオーバーレイネットワークとのワイヤレス通信のために少なくとも1つの送信機408および/もしくは少なくとも1つの受信機410(たとえば、1つまたは複数の送信機/受信機チェイン)を含むワイヤレストランシーバ回路を含むことができ、ならびに/あるいは、ネットワークインターフェースカード(NIC)として、シリアルもしくはパラレル接続、ユニバーサルシリアルバス(USB)インターフェース、Firewireインターフェース、Thunderboltインターフェース、またはパブリックネットワークおよび/もしくはプライベートネットワークに対して通信するための任意の他の適切な構成を含むことができる。
【００３６】
記憶媒体406は、プロセッサ実行可能コードもしくは命令(たとえば、ソフトウェア、ファームウェア)、電子データ、データベース、または他のデジタル情報などの、プログラミングおよび/またはデータを格納するための1つまたは複数のデバイスを表し得る。記憶媒体406は、汎用または専用プロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、記憶媒体406は、読出し専用メモリ(たとえば、ROM、EPROM、EEPROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、および/または情報を記憶するための他の非一時的コンピュータ可読媒体を含み得る。記憶媒体406は、処理回路402がその記憶媒体406から情報を読み取り、その記憶媒体に情報を書き込むことができるように処理回路402に結合され得る。代替として、記憶媒体406は処理回路402と一体であり得る。
【００３７】
ピアノード400の1つまたは複数の特徴によると、処理回路402は、本明細書において図1〜図3を参照して上記で説明したような様々なピアノード(たとえば、ピアノード104A〜104F、202、204、および/または206)に関連する処理、機能、ステップ、および/またはルーチンのいずれかまたはすべてを実行するように構成され得る。処理回路402に関連して本明細書で使用される場合、「構成される」という用語は、様々な特徴による特定のプロセス、機能、ステップ、および/またはルーチンを実行するように構成、使用、実装、またはプログラムされることのうち1つまたは複数が行われる処理回路402を指し得る。
【００３８】
図5は、ピアツーピアオーバーレイネットワーク(たとえば、図1および図2のネットワーク102)内に記憶されたデータオブジェクトに関するアクセス制御を容易にするための、データオブジェクトを記憶するピアノード400などのピアノード上で動作可能な方法の少なくとも1つの実装形態の一例を示すフロー図である。図4と図5の両方を参照すると、ステップ502において、データオブジェクトが受信および記憶され得る。たとえば、処理回路402は、通信インターフェース404を介して、ピアツーピアオーバーレイネットワークからデータオブジェクトを受信することができ、記憶媒体406内に受信されたデータオブジェクトを記憶することができる。データオブジェクトは、ピアツーピアオーバーレイネットワーク内の関連するアクセス制御リストを見つける際に使用するように構成されたルーティング機構を含む。そのようなルーティング機構は、中央サーバまたは固定型ホストに依存することなしに関連するアクセス制御リストを見つけるように構成される。限定ではなく例として、ルーティング機構は、汎用資源識別子(URI)を含み得る。
【００３９】
ステップ504において、ピアノード400は、記憶されたデータオブジェクトへのアクセスに対する要求を要求側ピアノードから受信し得る。たとえば、処理回路402は、通信インターフェース404を介してピアツーピアオーバーレイネットワーク上の通信内容を受信することができ、その通信内容は、記憶媒体406内に記憶されたデータオブジェクトへのアクセス(たとえば、読取りアクセス、読取り/書込みアクセス)を要求することができる。少なくともいくつかの実装形態では、処理回路402は、任意の従来の認証アルゴリズムを使用して要求側ピアノードを認証するように構成され得る。
【００４０】
ステップ506において、ピアノード400は、記憶されたデータオブジェクトとともに含まれるルーティング機構を使用してアクセス制御リスト(ACL)を見つけ得る。たとえば、処理回路402は、記憶媒体406からデータオブジェクトを取り出すことができ、データオブジェクトとともに含まれるルーティング機構データを特定することができる。処理回路402は、ルーティング機構データを使用して、ピアツーピアオーバーレイネットワーク内の関連するアクセス制御リスト(ACL)を見つけ得る。たとえば、ルーティング機構データは、処理回路402がアクセス制御リスト(ACL)を取得するためのメッセージを送信し得る、アクセス制御リストのロケーション(たとえば、アドレス)を指定し得る。別の例では、ルーティング機構データは、ピアツーピアオーバーレイネットワーク内のアクセス制御リスト(ACL)の識別情報(たとえば、名前)を指定することができ、処理回路402は、指定された識別情報を使用してアクセス制御リスト(ACL)に対するピアツーピアオーバーレイネットワーク上での要求を送信することができる。
【００４１】
関連するアクセス制御リスト(ACL)が見つかった後、ステップ508において、ピアノード400は、関連するアクセス制御リスト(ACL)に基づいて、要求側ピアノードによって要求されたアクセスを許可されるかどうかを判断し得る。少なくとも1つの実装形態では、ピアノード400は、アクセス制御リスト(ACL)またはそのコピーを取得し、要求側ピアノードの要求されたアクセスを許可されることをアクセス制御リスト(ACL)が示すかどうかを判断し得る。たとえば、処理回路は、通信インターフェース404を使用してアクセス制御リスト(ACL)に対するピアツーピアオーバーレイネットワークを介した要求を送信し得る。この要求に応答して、処理回路402は、通信インターフェース404を介して、アクセス制御リスト(ACL)またはそのコピーを受信し得る。処理回路は、アクセス制御リスト(ACL)を受信すると、要求側ピアノードが要求されたようにデータオブジェクトにアクセスするのを許可されることをアクセス制御リスト(ACL)が示すかどうかを判断するために、受信されたアクセス制御リスト(ACL)を分析し得る。
【００４２】
少なくともいくつかの実装形態では、ピアノード400は、ピアツーピアオーバーレイネットワークからアクセス制御リスト(ACL)を取得した後、記憶されたデータオブジェクトに関連するアクセス制御リスト(ACL)のコピーをキャッシュし得る。たとえば、処理回路402は、記憶媒体406内の取得されたアクセス制御リスト(ACL)のコピーを記憶し得る。ピアツーピアオーバーレイネットワーク内でデータオブジェクトへのアクセスがしばしば要求される場合、関連するアクセス制御リスト(ACL)を記憶することにより、ポピュラーなデータオブジェクトに関するアクセス制御を実行するための帯域幅使用および往復遅延時間が低減され得る。
【００４３】
1つまたは複数の他の実装形態では、ピアノード400は、ステップ508において、別のピアノードからの指示を受信することによって、要求されたアクセスを許可されるかどうかを判断し得る。たとえば、処理回路402は、アクセス制御リスト(ACL)が記憶される、ピアツーピアオーバーレイネットワーク内のピアノードに通信インターフェース404を介して問合せを送信し得る。問合せは、要求側ピアノードのデータオブジェクトへの要求アクセスが許可されるかどうかの指示を要求し得る。そのような実装形態では、ピアツーピアオーバーレイネットワーク上のアクセス制御リスト(ACL)またはいくつかの他のピアノードを記憶するピアノードは、要求側ピアノードが要求されたようにデータオブジェクトにアクセスするのを許可されることをアクセス制御リスト(ACL)が示すかどうかを判断するために、アクセス制御リスト(ACL)を分析し得る。アクセス制御リスト(ACL)を分析するピアノードは、ピアノード400に指示を送信することができ、その後、処理回路402は、通信インターフェース404を介して指示を受信し、受信された指示が許可された、または許可されないような要求アクセスを示すかどうかを判断する。
【００４４】
ステップ510において、ピアノード400は、アクセス制御リストが要求されたアクセスを許可するかどうかに基づいて、要求側ピアノードのデータオブジェクトへのアクセスを認可または拒否し得る。たとえば、アクセス制御リスト(ACL)、またはアクセス制御リスト(ACL)に基づく受信された指示のいずれかから、要求側ピアノードが要求された方法でデータオブジェクトにアクセスするのを許可されることを処理回路402が判断するとき、処理回路402は、要求側ピアノードへの要求されたアクセスを認可し得る。しかしながら、要求側ピアノードが要求された方法でデータオブジェクトにアクセスするのを許可されないことを処理回路402が判断するとき、処理回路402は、要求側ピアノードへの要求されたアクセスを拒否し得る。
【００４５】
図6は、ピアツーピアオーバーレイネットワーク(たとえば、図1および図2のネットワーク102)内に記憶されたデータオブジェクトに関するアクセス制御を容易にするための、アクセス制御リスト(ACL)を記憶するピアノード400などのピアノード上で動作可能な方法の少なくとも1つの実装形態の一例を示すフロー図である。図4と図6の両方を参照すると、ステップ602において、アクセス制御リストが受信および記憶され得る。たとえば、処理回路402は、通信インターフェース404を介してピアツーピアオーバーレイネットワークからアクセス制御リストを受信することができ、記憶媒体406内に受信されたアクセス制御リストを記憶することができる。ピアノード400は、すべてのアクセス制御リストに関する中央ピアノードとして機能することもなく、記憶されたアクセス制御リストは、ピアツーピアオーバーレイネットワーク内のデータオブジェクトのすべてに関連することもない可能性がある。代わりに、ピアノード400は、各々がピアツーピアオーバーレイネットワーク内の1つまたは複数のそれぞれのデータオブジェクトに関連するそれぞれのアクセス制御リストを記憶する、ピアツーピアオーバーレイネットワーク内の複数のピアノードのうちの1つとして機能し得る。
【００４６】
アクセス制御リストは、ピアツーピアオーバーレイネットワーク内の関連するデータオブジェクトに対するアクセス制御を示すように構成され得る。いくつかの実装形態では、アクセス制御リストは、ピアツーピアオーバーレイネットワーク内の複数の関連するデータオブジェクトに対するアクセス制御を示すように構成され得る。さらに、アクセス制御リストは、1つまたは複数の関連するデータオブジェクトの各々とともに記憶されるルーティング機構によって、ピアツーピアオーバーレイネットワーク内で見つかるように構成される。本明細書で論じられるように、少なくともいくつかの実形態では、そのようなルーティング機構は、汎用資源識別子(URI)を含み得る。
【００４７】
ステップ604では、ピアノード400は、アクセス制御リストに関連するデータオブジェクトを記憶しているピアノードから第1の送信内容を受信することができるが、第1の送信内容は、データオブジェクトに関連するアクセス制御に関する情報に対する要求を含む。たとえば、処理回路402は、通信インターフェース404を介して第1の送信内容を受信し得る。ピアノード400は、第1の送信内容を受信したことに応答して、ステップ606において、データオブジェクトを記憶しているピアノードに第2の送信内容を送信することができるが、その第2の送信内容は、データオブジェクトに関連するアクセス制御に関する要求された情報を含む。たとえば、処理回路402は、通信インターフェース404を介して、ピアツーピアオーバーレイネットワーク全体に第2の送信内容を送信し得る。
【００４８】
少なくとも1つの実装形態では、データオブジェクトに関連するアクセス制御に関する情報に対する要求は、アクセス制御リストに対する要求を含み得る。アクセス制御リストに対するそのような要求は、単に、アクセス制御リストへのアクセスに対する要求、アクセス制御リストのコピーに対する要求、および/または実際のアクセス制御リストデータオブジェクトに対する要求であり得る。そのような実装形態では、ピアノード400によって送信された第2の送信内容は、要求されたアクセス制御リスト情報を含み得る。
【００４９】
1つまたは複数の他の実装形態では、データオブジェクトに関連するアクセス制御に関する情報に対する要求は、要求側ピアノードによって要求されていたデータオブジェクトへのアクセスがアクセス制御リスト(ACL)によって許可されるかどうかの指示を要求する問合せを含み得る。そのような実装形態では、処理回路402は、要求側ピアノードによって要求されたアクセスが許可されることをアクセス制御リストが示すか否かを判断するためにアクセス制御リスト(ACL)を分析し得る。次いで、ピアノード400は、要求側ピアノードによって要求されたアクセスが許可されるかどうかを示す、要求された指示とともに第2の送信内容を送信し得る。
【００５０】
図1、図2、図3、図4、図5、および/または図6に示す構成要素、ステップ、特徴、および/または機能のうちの1つまたは複数は、単一の構成要素、ステップ、特徴または機能に再構成し、および/または組み合わせられ、あるいは、いくつかの構成要素、ステップ、または機能において具体化され得る。また、本開示の範囲から逸脱することなく追加の要素、構成要素、ステップ、および/または機能が追加され得る。図1、図2、および/または図4に示す装置、デバイス、構成要素、および/または送信フレームは、図3、図5、および/または図6に記載した方法、特徴、またはステップのうちの1つまたは複数を実行するように構成され得る。また、本明細書に記載した新規のアルゴリズムは、ソフトウェアに効率的に実装されてもよく、および/またはハードウェアに組み込まれてもよい。
【００５１】
また、少なくともいくつかの実装形態を、フローチャート、フロー図、構造図、またはブロック図として示されるプロセスとして説明してきたことに留意されたい。フローチャートは動作を逐次プロセスとして説明し得るが、動作の多くは並行してまたは同時に実行され得る。さらに、動作の順序を並び替えてもよい。プロセスは、それの動作が完了したときに終了する。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、プロセスの終了は、呼出し関数またはメイン関数への関数の戻りに対応する。
【００５２】
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体または他のストレージ(複数可)などの機械可読媒体に記憶され得る。プロセッサは必要なタスクを実行し得る。コードセグメントは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造もしくはプログラムステートメントの任意の組合せを表し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容をパスおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の適切な手段を介してパス、転送、または送信され得る。
【００５３】
「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」という用語は、限定はしないが、ポータブルまたは固定ストレージデバイス、光ストレージデバイス、ならびに命令(複数可)および/またはデータを記憶、含有または搬送することができる様々な他の非一時的媒体を含み得る。したがって、本明細書で説明する様々な方法は、「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」に記憶され、1つまたは複数のプロセッサ、機械、および/またはデバイスによって実行され得る命令および/またはデータによって、部分的にまたは完全に実装され得る。
【００５４】
本明細書で開示する例に関して説明する方法またはアルゴリズムは、ハードウェアで、プロセッサによって実行可能なソフトウェアモジュールで、または両方の組合せで、処理ユニット、プログラミング命令、または他の指示の形態で直接具体化され得、単一のデバイスに含まれるかまたは複数のデバイスにわたって分散され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、その記憶媒体に情報を書き込むことができるようにプロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体であり得る。
【００５５】
さらに、本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、それらの機能に関して上記に概括的に説明してきた。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課された設計制約に依存する。
【００５６】
本明細書で説明した実施形態の様々な特徴は、本開示の範囲から逸脱することなく様々なシステムで実装され得る。上記の実施形態は例にすぎず、本開示を限定するものと解釈すべきではないことに留意されたい。実施形態の説明は、例示的なものであり、特許請求の範囲を限定するものではない。したがって、本教示は、他のタイプの装置、ならびに多くの代替形態、変更形態、および変形形態に容易に適用され得ることが当業者には明らかであろう。
【符号の説明】
【００５７】
102  ピアツーピアオーバーレイネットワーク
202  データオブジェクトを記憶するピアノード
204  ACLを記憶するピアノード
206  要求側ピアノード
400  ピアノード
402  処理回路
404  通信インターフェース
406  記憶媒体
408  送信機
410  受信機
【図１】
0005777808.tif 000002
【図２】
0005777808.tif 000003
【図３】
0005777808.tif 000004
【図４】
0005777808.tif 000005
【図５】
0005777808.tif 000006
【図６】
0005777808.tif 000007