(57)【要約】  本発明は、サーバーによるリソースに対するアクセス及びデータ管理に関する。所有権の厳格な制御及びデータのローカリゼーションを可能にしつつ、ユーザーに、アプリケーションに対するユニバーサルなアクセスポイントを提供するべく、第１装置は、リソースにアクセスするための要求をユーザーから受け取り、且つ、ユーザーがリソースにアクセスするための権限を有している場合に、ユーザーに、リソースにアクセスすることができる、且つ、リソースをクライアントに供給することができる、複数の第２装置のうちの、１つの第２装置の通信エンドポイントの識別子を送信している。
2021531547.tif 000002
【特許請求の範囲】
【請求項１】
第１装置（２００）であって、
−ユーザー装置（２４０）との間において接続を確立するように構成された第１通信エンドポイント（２１０）と、
−複数のユーザー用のユーザークレデンシャル、
−２つ以上の第２装置（２５０、２５１）によってそれぞれアクセスされる２つ以上の第２データストレージ（２８０、２８１）上において保存されている前記複数のユーザーに属する１つ又は複数のユーザーに提示されるべきリソースの識別子の組であって、前記組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第２装置（２５０、２５１）の第２通信エンドポイント（２６０、２６１）の識別子は、前記リソースを保存している第２データストレージ（２８０、２８１）に対するアクセスを有する、組、
を保存している１つ又は複数の第１データストレージ（２２０）に対するアクセスと、
−前記リソースの前記識別子を有する、前記リソースにアクセスするための要求（５００ｂ、５００ｃ）を前記ユーザー装置（２４０）から受け取った際に、
−前記受け取られたリソース識別子と関連するアクセス権限に基づいて、前記ユーザーが、前記要求されたリソースにアクセスするための前記権限を有するかどうかを検証し、
−前記ユーザー装置（２４０）と関連する前記ユーザーが、前記要求されたリソースにアクセスするための前記権限を有している場合に、前記ユーザー装置（２４０）に、前記リソースを保存している前記第２データストレージ（２８０）に対するアクセスを有する前記第２装置（２５０）の前記通信エンドポイント（２６０）の前記識別子を送信する（５４０ｂ、５６０ｃ）、
ように構成された１つ又は複数の第１処理ロジック（２３０、２３１）と、
を有する第１装置（２００）。
【請求項２】
前記１つ又は複数の第１処理ロジックは、ユーザークレデンシャルを更に有する前記ユーザー装置からの認証要求の際に、前記ユーザークレデンシャル及び前記複数のユーザー用のユーザークレデンシャルに基づいて前記ユーザー装置と関連する前記ユーザーを認証するように構成される（２３１）、請求項１に記載の第１装置（２００）。
【請求項３】
前記１つ又は複数の第２装置（２５０、２５１）の１つ又は複数の第４通信エンドポイント（２９０、２９１）との間において接続を確立するように構成された第３通信エンドポイント（２１１）を更に有する、請求項１又は２のいずれか１項に記載の第１装置。
【請求項４】
前記第１処理ロジック（２３０）は、前記第２装置（２５０）のうちの１つからリソース識別子生成要求（５２０ａ）を受け取った際に、
−リソースの一意の識別子を生成し、
−前記リソースの前記一意の識別子に、前記２つ以上の第２装置のうちの前記１つのもの（２５０）の識別子、或いは、その第２通信エンドポイント（２６０）を関連付け、
−前記２つ以上の第２装置のうちの前記１つ（２５０）に、前記リソースの前記一意の識別子を送信する（５４０ａ）、
ように更に構成される、請求項３に記載の第１装置。
【請求項５】
前記１つ又は複数の第１処理ロジック（２３０、２３１）は、
−前記１つ又は複数の第２装置（２５０、２５１）が、前記ユーザーを識別し、且つ、前記リソースに対するアクセスを認可できるようにする識別データと、前記ユーザーの前記識別の検証を可能にする識別検証データと、を生成し、
−前記ユーザー装置（２４０）に、前記識別データを送信する、
ように更に構成される、請求項２に従属する状態における、請求項２〜４のいずれか１項に記載の第１装置。
【請求項６】
前記１つ又は複数の第１処理ロジック（２３１）は、前記リソースを保存している前記第２データストレージ（２８０）に対するアクセスを有する前記第２装置（２５０）から、前記識別データ（５８０ｃ）を有する前記ユーザーを識別するための要求を受け取った際に、
−前記識別データ及び前記識別検証データに基づいて前記ユーザーの前記識別を検証し、
−前記識別が検証された場合に、前記第２装置（２５０）に、前記ユーザーの前記識別及び前記リソースにアクセスするための前記ユーザーの前記権限の検証を送信する、
ように構成される、請求項３に従属する状態における、請求項５に記載の第１装置。
【請求項７】
前記１つ又は複数の第１処理ロジック（２３１）は、前記リソースを保存している前記第２データストレージ（２８０）に対するアクセスを有する前記第２装置（２５０）から、前記識別データ（５８０ｃ）を有する前記ユーザーを識別するための要求を受け取った際に、前記リソースを保存している前記第２データストレージ（２８０）に対するアクセスを有する前記第２装置（２５０）に、前記識別検証データを送信するように構成される、請求項３に従属する状態における、請求項５に記載の第１装置。
【請求項８】
前記１つ又は複数の第１処理ロジック（２３１）は、前記ユーザー検証データの前記生成の際に、前記１つ又は複数の第２装置（２５０、２５１）に、識別検証データを送信するように構成される、請求項３に従属する状態における、請求項５に記載の第１装置。
【請求項９】
前記１つ又は複数の第１処理ロジック（２３１）は、前記識別データと、前記第１装置（２００）及び前記１つ又は複数の第２装置（２５０、２５１）にとって共通する共有秘密キー（５００ｅ）と、に基づいて、前記識別検証データを生成するように構成される、請求項５に記載の第１装置。
【請求項１０】
前記識別データは、トークンであり、且つ、前記識別検証データは、前記トークンのシグネチャである、請求項５〜９のいずれか１項に記載の第１装置。
【請求項１１】
方法（７００）であって、
−ユーザー装置（２４０）から、リソースにアクセスするための要求（５００ｂ、５００ｃ）を受け取るステップ（７１０）であって、前記要求は、前記リソースの識別子を有する、ステップと、
−・複数のユーザー用のユーザークレデンシャル、
・前記要求されたリソースを有する、前記複数のユーザーに属する１つ又は複数のユーザーに提示されるべきリソースの組の識別子の組であって、前記リソースの組は、２つ以上の第２装置（２５０、２５１）によってそれぞれアクセスされる２つ以上の第２データストレージ（２８０、２８１）上において保存されており、前記組内のそれぞれの識別子は、自身に関連付けられたアクセス権限を有しており、且つ、第２装置（２５０、２５１）の第２通信エンドポイント（２６０、２６１）の識別子は、前記リソースを保存している第２データストレージ（２８０、２８１）に対するアクセスを有する、組、
を保存している１つ又は複数の第１データストレージ（２２０）にアクセスするステップ（７２０）と、
−前記リソース識別子と関連するアクセス権限に基づいて、前記ユーザー装置（２４０）と関連するユーザーが、前記リソースにアクセスするための前記権限を有しているかを検証するステップ（７３０）と、
−前記ユーザー装置（２４０）と関連する前記ユーザーが、前記リソースにアクセスするための前記権限を有している場合に、前記ユーザー装置（２４０）に、前記要求されたリソースを保存している前記第２データストレージ（２８０）に対するアクセスを有する前記第２装置（２５０）の前記通信エンドポイント（２６０）の前記識別子を送信するステップ（７４０、５４０ｂ、５６０ｃ）と、
を有する方法（７００）。
【請求項１２】
コンピュータプログラムプロダクトであって、
一時的ではないコンピュータ可読ストレージ媒体と、
前記一時的ではないコンピュータ可読ストレージ媒体上において保存されているプログラムコードと、
を有し、
前記プログラムコードは、１つ又は複数のプロセッサによって実行された際に、前記１つ又は複数のプロセッサが、
−ユーザー装置（２４０）から、リソースにアクセスするための要求を受け取り（５００ｂ、５００ｃ）、
−・複数のユーザー用のユーザークレデンシャル、
・前記要求されたリソースを有する、前記複数のユーザーに属する１つ又は複数のユーザーに提示されるべきリソースの組の識別子の組であって、前記リソースの組は、２つ以上の第２装置（２５０、２５１）によってそれぞれアクセスされる２つ以上の第２データストレージ（２８０、２８１）上において保存されており、前記組内のそれぞれの識別子は、自身に関連付けられたアクセス権限を有しており、且つ、第２装置（２５０、２５１）の第２通信エンドポイント（２６０、２６１）の識別子は、前記リソースを保存している第２データストレージ（２８０、２８１）に対するアクセスを有する、組、
を保存している１つ又は複数の第１データストレージ（２２０）にアクセスし、
−前記リソース識別子と関連するアクセス権限に基づいて、前記ユーザー装置（２４０）と関連するユーザーが、前記リソースにアクセスするための権限を有しているかどうかを検証し、
−前記ユーザー装置（２４０）と関連する前記ユーザーが、前記リソースにアクセスするための前記権限を有している場合に、前記ユーザー装置（２４０）に、前記要求されたリソースを保存している前記第２データストレージ（２８０）に対するアクセスを有する前記第２装置（２５０）の前記通信エンドポイント（２６０）の前記識別子を送信する、
ようにする、コンピュータプログラムプロダクト。
【請求項１３】
第１装置（２００）であって、
−複数のユーザー用のユーザークレデンシャル、
−２つ以上の第２装置（２５０、２５１）によってそれぞれアクセスされる２つ以上の第２データストレージ（２８０、２８１）上において保存されているリソースの識別子の組であって、前記組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第２装置（２５０、２５１）の第２通信エンドポイント（２６０、２６１）の識別子は、前記リソースを保存している第２データストレージ（２８０、２８１）に対するアクセスを有する、組、
を保存する１つ又は複数の第２データストレージ（２２０）に対するアクセスと、
−前記１つ又は複数の第２装置（２５０、２５１）の１つ又は複数の第４通信エンドポイント（２９０、２９１）との間において接続を確立するように構成された第３通信エンドポイント（２１１）と、
−前記２つ以上の第２装置（２５０）のうちの１つからリソース識別子生成要求（５２０ａ）を受け取った際に、
−リソースの一意の識別子を生成し、
−前記リソースの前記一意の識別子に、前記２つ以上の第２装置（２５０）のうちの前記１つのものの識別子、又はその第２通信エンドポイント（２６０）を関連付け、
−前記第２装置（２５０）のうちの前記１つに、前記リソースの前記一意の識別子を送信する（５４０ａ）、
ように構成された第１処理ロジック（２３０）と、
を有する第１装置（２００）。
【請求項１４】
方法であって、
−２つ以上の第２装置（２５０）のうちの１つからリソース識別子生成要求（５２０ａ）を受け取るステップと、
−・複数のユーザー用のユーザークレデンシャル、
・リソースの組の識別子の組であって、前記リソースの組は、前記２つ以上の第２装置（２５０、２５１）によってそれぞれアクセスされる２つ以上の第２データストレージ（２８０、２８１）上において保存されており、前記組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第２装置（２５０、２５１）の第２通信エンドポイント（２６０、２６１）の識別子は、前記リソースを保存している第２データストレージ（２８０、２８１）に対するアクセスを有する、組、
を保存している１つ又複数の第１データストレージ（２２０）にアクセスするステップと、
−リソースの一意の識別子を生成するステップと、
−前記リソースの前記一意の識別子に、前記２つ以上の第２装置（２５０）のうちの前記１つのものの識別子、又はその第２通信エンドポイント（２６０）を関連付けるステップと、
−前記２つ以上の第２装置（２５０）のうちの前記１つに、前記リソースの前記一意の識別子を送信するステップ（５４０ａ）と
を有する方法。
【請求項１５】
コンピュータプログラムプロダクトであって、
一時的ではないコンピュータ可読ストレージ媒体と、
前記一時的ではないコンピュータ可読ストレージ媒体上において保存されているプログラムコードと、
を有し、
前記プログラムコードは、１つ又は複数のプロセッサによって実行された際に、前記１つ又は複数のプロセッサが、
−２つ以上の第２装置（２５０）のうちの１つからリソース識別子生成要求（５２０ａ）を受け取り、
−・複数のユーザー用のユーザークレデンシャルと、
・リソースの組の識別子の組であって、前記リソースの組は、前記２つ以上の第２装置（２５０、２５１）によってそれぞれアクセスされる２つ以上の第２データストレージ（２８０、２８１）上において保存されており、前記組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第２装置（２５０、２５１）の第２通信エンドポイント（２６０、２６１）の識別子は、前記リソースを保存している第２データストレージ（２８０、２８１）に対するアクセスを有する、組と、
を保存する１つ又は複数の第１データストレージ（２２０）にアクセスし、
−リソースの一意の識別子を生成し、
−前記リソースの前記一意の識別子に、前記２つ以上の第２装置（２５０）のうちの前記１つの識別子、又はその第２通信エンドポイント（２６０）を関連付け、
−前記２つ以上の第２装置（２５０）のうちの前記１つに、前記リソースの前記一意の識別子を送信する（５４０ａ）、
ようにする、コンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、演算及び通信の分野に関する。更に詳しくは、本発明は、複数のサーバーを使用したリソースのアクセス及び管理に関する。
【背景技術】
【０００２】
いまや、ユーザーに提供されるデータの量と、このようなデータを使用するアプリケーションの数と、が急激に増大するのに伴って、サーバー内において保存されているリソース及びデータに対するアクセスが、益々重要になっている。演算において、サーバーは、「クライアント」と呼称される、その他のプログラム又は装置のための機能を提供するコンピュータプログラム又は装置である。サーバーの演算は、単一の装置上において実行することも可能であり、或いは、複数の装置に跨って分散させることもできる。
【０００３】
クライアントが要求を実行すると共にデータベースから情報を取得できるようにするデータベースサーバー、ファイルを保存するべく意図されたファイルサーバー、メールの送受信を可能にするメールサーバーなど．．．のような、いくつかの異なる種類のサーバーが存在している。
【０００４】
いくつかのサーバーは、リソースに対するアクセスをクライアントに提供するべく意図されている。リソースは、ユーザーに対して提示されるようにクライアントによって取得されるべくサーバー上において保存された任意のデータ又は情報であってよい。例えば、リソースは、クライアントからの要求の際に送信されるべくサーバー内において保存されている写真であってよい。リソースに対するアクセスをクライアントに対して提供するべく意図された、このようなサーバーは、いくつかのサプリケーションにおいて使用されている。例えば、ソーシャルネットワークに専用のサーバーは、例えば、ウェブブラウザ又はモバイルアプリケーションにおいて表示されるように、要求の際にクライアントに送信される大量のリソース（写真、ビデオ、掲示．．．）を保存している。
【０００５】
また、このような種類のサーバーは、専門的なアプリケーションのために使用することもできる。例えば、本出願人は、プレゼンテーションを実行するユーザーが、プレゼンテーションにおいて対話型コンテンツ（掲示、ゲーム．．．）を挿入しうる、対話型プレゼンテーションを実行するための斬新な解決策を開発した。プレゼンテーションのコンテンツは、サーバー内においてリソースとして保存することが可能であり、且つ、クライアントによる要求の際に取得することができる。このようなコンテンツは、例えば、動的なプレゼンテーションによって提示／表示されるデータ（画像、ビデオ、テキスト．．．）及び／又は動的プレゼンテーションの実行の際にユーザーの入力に基づいて収集されるデータ（例えば、統計、スコア、又はこれらに類似したもの）を有しうる。
【０００６】
クライアントの数が増大するのに伴って、アプリケーションのためにサーバー内において保存されるデータの量も劇的に増大しうる。この結果、サーバーによって提供されるサービスの品質（ＱｏＳ：Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）が、様々な理由から、相対的に乏しいものになる場合があり、即ち、サーバーの帯域幅及び／又は演算リソースが、増大する数のクライアントにおける要求を管理するのに不十分なものとなる場合があり、ユーザーの要求を管理するためのレイテンシーが増大する場合があり、また、リソースが、益々大きくなっているデータベース内において保存されている際には、データベース内のリソースについて問い合わせるための応答時間が増大する場合があり、また、ワールドワイドなクライアントのケースにおいては、すべてのサーバーが同一の場所において配置されている場合に、サーバーとは異なる国又は大陸を拠点としているクライアントが、異なる国又は大陸に跨る通信時間に起因して、高レイテンシーを経験する場合がある。
【０００７】
「スケーラビリティ」という用語は、需要の増大に対応するための、且つ、相対的に大きな需要（即ち、クライアントの数の増大、提供するべきリソースの数の増大など．．．）に応答する際に、そのＱｏＳを維持しうる、システム又はサービスの能力を表している。
【０００８】
いくつかのサーバーアーキテクチャは、特定のインフラストラクチャが、それぞれのクライアントごとに、生成されている際には、「シングルテナント」として分類され、この場合には、例えば、それぞれのクライアント（或いは、例えば、会社などの、クライアントのグループ）には、例えば、その使用にのみ専用化された、サーバー又はデータベースなどの、専用のインフラストラクチャによってサービスすることができる。この解決策は、クライアントからのデータが別のクライアントによってアクセスされない、且つ、データを正確に見出す、ことが保証されている、という利点を提供している。但し、この解決策は、スケーラビリティの観点においては、あまり良好な結果を実現してはいない。実際に、それぞれのクライアントに関係するインフラストラクチャを別個に適合させる必要があり、この結果、クライアントのリソースニーズが増大した際に、更なるリソースを迅速に使用できるようにされる場合がほとんどなく、且つ、同時に、クライアントのリソースニーズが減少した際にも、リソースの浪費という結果をもたらす場合がある。
【０００９】
サーバーアプリケーションの、もうひとつのアーキテクチャは、「マルチテナント」に分類されている。このようなアーキテクチャにおいては、同一のインフラストラクチャ（サーバー、ストレージ．．．）が、複数のクライアントにおいて使用されている。このタイプのアーキテクチャは、スケーラビリティを実現するべく、シングルテナントアーキテクチャよりも効率的であり、その理由は、同一のリソースが、複数のクライアントにわたって使用されており、従って、リソースをクライアントのニーズに従って動的に割り当てることができるためである。但し、このようなアーキテクチャにおいては、すべてのクライアントからのデータが、同一のストレージ内において保存されている。従って、クライアントからのデータが別の者によってアクセスされないことを保証することが、格段に困難である。更には、多数のクライアントが、世界中において配置されている場合に、通常、異なるサーバーが、限られたレイテンシーによってすべてのクライアントにサービスするべく、異なる国／大陸において配備されることになる。このようなケースにおいては、すべてのクライアントからのすべてのデータが、世界中において、異なるサーバー内において複製されることになる。これは、問題であり、その理由は、この結果、データの正確なローカリゼーションが可能とならないためであり、これは、問題であり、その理由は、クライアントが、自身のデータの物理的なローカリゼーションに関する懸念を益々抱くようになっているからである。また、これは、ストレージリソースを浪費することにもなり、その理由は、１つの国を拠点とするクライアントに属するデータが、これらが使用されない、その他の国及び大陸において複製されうるからである。
【００１０】
従って、既存の解決策は、いずれも、サービスに対するユニークな且つユニバーサルなアクセス及びそれぞれのクライアントごとのデータのアクセス及びローカリゼーションの微細な制御の同時提供はできない。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従って、クライアントが自身のデータのアクセス及びローカリゼーションを制御できるようにしつつ、サービスに対するユニークな且つユニバーサルなアクセスを可能にする装置に対するニーズが存在している。
【課題を解決するための手段】
【００１２】
これを目的として、本発明は、第１装置を開示しており、第１装置は、ユーザー装置との間において接続を確立するように構成された第１通信エンドポイントと、複数のユーザー用のユーザークレデンシャル、２つ以上の第２装置によってそれぞれアクセスされる２つ以上の第２データストレージ上において保存されているリソースの識別子の組であって、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第２装置の第２通信エンドポイントの識別子は、リソースを保存している第２データストレージに対するアクセスを有する、組、を保存する１つ又は複数の第１データストレージに対するアクセスと、前記リソースの識別子を有する、前記リソースにアクセスするための要求をユーザー装置から受け取った際に、受け取られたリソース識別子と関連するアクセス権限に基づいて、ユーザーが、要求されたリソースにアクセスするための権限を有しているかどうかを検証し、前記ユーザー装置と関連する前記ユーザーが、要求されたリソースに対するアクセスするための権限を有している場合に、リソースを保存している第２データストレージに対するアクセスを有する第２装置の通信エンドポイントの識別子をユーザー装置に送信する、ように構成された１つ又は複数の第１処理ロジックと、を有する。
【００１３】
有利には、前記１つ又は複数の第１処理ロジックは、ユーザークレデンシャルを更に有するユーザー装置からの認証要求の際に、前記ユーザークレデンシャル及び複数のユーザー用のユーザークレデンシャルに基づいて、前記ユーザー装置と関連するユーザーを認証するように構成されている。
【００１４】
有利には、第１装置は、１つ又は複数の第２装置の１つ又は複数の第４通信エンドポイントとの間において接続を確立するように構成された第３通信エンドポイントを更に有する。
【００１５】
有利には、第１処理ロジックは、第２装置のうちの１つからのリソース識別子生成要求を受け取った際に、リソースの一意の識別子を生成し、前記リソースの一意の識別子に、２つ以上の第２装置のうちの前記１つのものの識別子、或いは、その第２通信エンドポイント、を関連付け、２つ以上の第２装置のうちの前記１つに、リソースの一意の識別子を送信する、ように更に構成されている。
【００１６】
有利には、１つ又は複数の第１処理ロジックは、１つ又は複数の第２装置がユーザーを識別し且つリソースに対するアクセスを認可できるようにする識別データ及びユーザーの識別の検証を可能にする識別検証データを生成し、且つ、ユーザー装置に、識別データを送信する、ように更に構成されている。
【００１７】
有利には、１つ又は複数の第１処理ロジックは、リソースを保存している第２データストレージに対するアクセスを有する前記第２装置から前記識別データを有するユーザーを識別するための要求を受け取った際に、前記識別データ及び前記識別検証データに基づいて、ユーザーの識別を検証し、識別が検証された場合に、前記第２装置に、ユーザーの識別及びリソースにアクセスするためのユーザーの権限の検証を送信するように構成されている。
【００１８】
有利には、１つ又は複数の第１処理ロジックは、リソースを保存している第２データストレージに対するアクセスを有する前記第２装置から、前記識別データを有するユーザーを識別するための要求を受け取った際に、リソースを保存している第２データストレージに対するアクセスを有する前記第２装置に、前記識別検証データを送信するように構成されている。
【００１９】
有利には、１つ又は複数の第１処理ロジックは、ユーザー検証データの生成の際に、１つ又は複数の第２装置に、識別検証データを送信するように構成されている。
【００２０】
有利には、１つ又は複数の第１処理ロジックは、識別データ並びに第１装置及び１つ又は複数の第２装置に共通する共有秘密キーに基づいて、識別検証データを生成するように構成されている。
【００２１】
有利には、識別データは、トークンであり、且つ、識別検証データは、トークンのシグネチャである。
【００２２】
また、本発明は、方法をも開示しており、方法は、リソースにアクセスするための要求をユーザー装置から受け取るステップであって、前記要求は、リソースの識別子を有する、ステップと、複数のユーザー用のユーザークレデンシャル、前記要求されたリソースを有するリソースの組の識別子の組であって、前記リソースの組は、２つ以上の第２装置によってそれぞれアクセスされる２つ以上の第２データストレージ上において保存されており、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第２装置の第２通信エンドポイントの識別子は、リソースを保存している第２データストレージに対するアクセスを有する、組、を保存している１つ又は複数の第１データストレージにアクセスするステップと、リソース識別子と関連するアクセス権限に基づいて、前記ユーザー装置と関連するユーザーが、リソースにアクセスするための権限を有しているかどうかを検証するステップと、前記ユーザー装置と関連するユーザーが、リソースにアクセスするための権限を有している場合に、ユーザー装置に、要求されたリソースを保存している第２データストレージに対するアクセスを有する第２装置の通信エンドポイントの識別子を送信するステップと、を有する。
【００２３】
また、本発明は、コンピュータプログラムプロダクトをも開示しており、コンピュータプログラムプロダクトは、一時的ではないコンピュータ可読ストレージ媒体と、一時的ではないコンピュータ可読ストレージ媒体上において保存されたプログラムコードと、を有しており、プログラムコードは、複数のプロセッサによって実行された際に、１つ又は複数のプロセッサが、リソースにアクセスするための要求をユーザー装置から受け取り、前記要求は、リソースの識別子を有しており、複数のユーザー用のユーザークレデンシャル、前記要求されたリソースを有するリソースの組の識別子の組であって、前記リソースの組は、２つ以上の第２装置によってそれぞれアクセスされる２つ以上の第２データストレージ上において保存されており、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第２装置の第２通信エンドポイントの識別子は、リソースを保存している第２データストレージに対するアクセスを有する、組、を保存している１つ又は複数の第１データストレージにアクセスし、リソース識別子と関連するアクセス権限に基づいて、前記ユーザー装置と関連するユーザーが、リソースにアクセスするための権限を有しているかどうかを検証し、前記ユーザー装置と関連するユーザーが、リソースにアクセスするための権限を有している場合に、ユーザー装置に、要求されたリソースを保存している第２データストレージに対するアクセスを有する第２装置の通信エンドポイントの識別子を送信する、ようにしている。
【００２４】
また、本発明は、第１装置をも開示しており、第１装置は、複数のユーザー用のユーザークレデンシャルに対するアクセスと、２つ以上の第２装置によってそれぞれアクセスされる２つ以上の第２データストレージ上において保存されているリソース識別子の組であって、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第２装置の第２通信エンドポイントの識別子は、リソースを保存している第２データストレージに対するアクセスを有する、組、を保存している１つ又は複数の第１データストレージと、１つ又は複数の第２装置の１つ又は複数の第４通信エンドポイントとの間において接続を確立するように構成された第３通信エンドポイントと、２つ以上の第２装置のうちの１つからリソース識別子生成要求を受け取った際に、リソースの一意の識別子を生成し、前記リソースの一意の識別子に、２つ以上の第２装置のうちの前記１つのものの識別子、或いは、その第２通信エンドポイント、を関連付け、第２装置のうちの前記１つのものに、リソースの一意の識別子を送信する、ように構成された第１処理ロジックと、を有する。
【００２５】
また、本発明は、方法をも開示しており、方法は、２つ以上の第２装置のうちの１つからリソース識別子生成要求を受け取るステップと、複数のユーザー用のユーザークレデンシャル、リソースの組の識別子の組であって、前記リソースの組は、前記２つ以上の第２装置によってそれぞれアクセスされる２つ以上の第２データストレージ上において保存されており、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第２装置の第２通信エンドポイントの識別子は、リソースを保存している第２データストレージに対するアクセスを有する、組、を保存している１つ又は複数の第１データストレージにアクセスするステップと、リソースの一意の識別子を生成するステップと、前記リソースの一意の識別子に、２つ以上の第２装置のうちの前記１つのものの識別子、或いは、その第２通信エンドポイント、を関連付けるステップと、２つ以上の第２装置のうちの前記１つのものに、リソースの一意の識別子を送信するステップと、を有する。
【００２６】
また、本発明は、コンピュータプログラムプロダクトをも開示しており、コンピュータプログラムプロダクトは、一時的ではないコンピュータ可読ストレージ媒体と、一時的ではないコンピュータ可読ストレージ媒体上において保存されたプログラムコードと、を有し、プログラムコードは、１つ又は複数のプロセッサによって実行された際に、１つ又は複数のプロセッサが、２つ以上の第２装置のうちの１つからリソース識別子生成要求を受け取り、複数のユーザー用のユーザークレデンシャル、リソースの組の識別子の組であって、前記リソースの組は、前記２つ以上の第２装置によってそれぞれアクセスされる２つ以上の第２データストレージ上において保存されており、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第２装置の第２通信エンドポイントの識別子は、リソースを保存している第２データストレージに対するアクセスを有する、組、を保存している１つ又は複数の第１データストレージにアクセスし、リソースの一意の識別子を生成し、前記リソースの一意の識別子に、２つ以上の第２装置のうちの前記１つのものの識別子、或いは、その第２通信エンドポイントを関連付け、前記２つ以上の第２装置のうちの１つのものに、リソースの一意の識別子を送信する、ようにしている。
【００２７】
本開示は、ユーザー装置が、サービスに対するユニバーサルな且つ中央集中化されたアクセスから受益することを可能にする。
【００２８】
本開示は、異なるクライアントに属するリソースの間の厳格な分離のみならず、データのローカリゼーションの厳格な制御も可能にする。
【００２９】
本開示は、スケーラブルなアプリケーションの成功裡の開発を可能にする。
【００３０】
本発明は、帯域幅及びストレージニーズの低減のみならず、リソースを得るためのレイテンシーの低減をも可能にする。
【００３１】
特定の態様において、本開示は、ユーザーの間において共有されるファイルのサイズの低減を可能にする。
【００３２】
特定の態様において、本開示は、リソースアクセス及び新たに生成されたリソースのローカリゼーションを厳格に制御しつつ、新しいリースの生成を可能にする。
【００３３】
特定の態様において、本開示は、多数の異なる装置内におけるリソースの再パーティション化にも拘らず、ユニバーサルなアクセスポイントにおける、中央集中化された方式による、ユーザーの識別、認証、並びに、リソースのアクセス権限、の管理を可能にする。
【００３４】
いくつかの例示用の実施形態に関する以下の説明及びその以下の添付の図から、本発明について更に十分に理解され、且つ、その様々な特徴及び利点について、明らかとなろう。
【図面の簡単な説明】
【００３５】
【図１】従来技術における、ユーザーに対する要求の際に、ユーザーを識別し、且つ、データを供給する、ように構成されたサーバーの一例を描く。
【図２】本発明のいくつかの実施形態における装置の一例を描く。
【図３】本発明のいくつかの実施形態における、サーバーの機能的アーキテクチャの一例を描く。
【図４ａ】それぞれ、本発明のいくつかの実施形態における、ユーザーのやり取りの３つのフローチャートを描く。
【図４ｂ】それぞれ、本発明のいくつかの実施形態における、ユーザーのやり取りの３つのフローチャートを描く。
【図４ｃ】それぞれ、本発明のいくつかの実施形態における、ユーザーのやり取りの３つのフローチャートを描く。
【図５ａ】は、本発明のいくつかの実施形態における、リソースの生成及び取得用の例示用のフローチャートを描く。
【図５ｂ】は、本発明のいくつかの実施形態における、リソースの生成及び取得用の例示用のフローチャートを描く。
【図５ｃ】は、本発明のいくつかの実施形態における、リソースの生成及び取得用の例示用のフローチャートを描く。
【図５ｄ】は、本発明のいくつかの実施形態における、リソースの生成及び取得用の例示用のフローチャートを描く。
【図５ｅ】は、本発明のいくつかの実施形態における、リソースの生成及び取得用の例示用のフローチャートを描く。
【図６ａ】それぞれ、従来技術における、且つ、本発明のいくつかの実施形態における、サーバーを通じたデータに対するアクセスの２つの例を描く。
【図６ｂ】それぞれ、従来技術における、且つ、本発明のいくつかの実施形態における、サーバーを通じたデータに対するアクセスの２つの例を描く。
【図７】本発明のいくつかの実施形態における方法の一例を描く。
【発明を実施するための形態】
【００３６】
図１は、従来技術における、ユーザーに対する要求の際に、ユーザーを識別し、且つ、データを供給する、ように構成されたサーバーの一例を描いている。
【００３７】
サーバー１００は、物理的又は仮想的な装置１１０であり、且つ、リソースに対するアクセスを認可するべく、ユーザーを識別するように、構成されている。
【００３８】
これを目的として、サーバー１００は、ユーザーの識別と関係するデータ及びアクセス対象のリソースの両方を有するデータベース１４０に対するアクセスを有する。サーバーは、ログイン及びパスワードなどの、関連するデータに基づいて、識別要求の際に、ユーザーを識別するように構成された識別サービスを実行している。
【００３９】
また、サーバー１００は、リソースに対するアクセス権限を含むユーザークレデンシャルを有するマネージャを実行している。従って、サーバー１００は、ユーザーからのリソース要求の際に、ユーザーが、リソースにアクセスするための権限を有しているかどうかを検証することが可能であり、且つ、権限を有している際に、リソースをユーザーに返送することができる。
【００４０】
サーバー１００は、すべてのユーザー／クライアント用のすべてのリソースに対するユニバーサルなアクセスを提供している。但し、すべてのクライアントからのすべてのリソースが、同一のサーバーによってアクセスされている。従って、様々なクライアントに属するデータを物理的に分離することが可能ではない。更には、サービスのワールドワイドな供給が必要とされている場合には、データベース１４０のすべてのデータが、いくつかのサーバーに、ワールドワイドに複製されることになる。これは、ストレージ空間の浪費を結果的にもたらし、その理由は、１つの国の内部において消費されうる所与のユーザーからのデータが、無用に、ワールドワイドに複製されることになるからである。その一方において、このワールドワイドな複製は、データのローカリゼーションの制御を不可能にしている。
【００４１】
図２は、本発明のいくつかの実施形態における装置の一例を描いている。
【００４２】
本発明のいくつかの実施形態において、ユーザー装置２４０は、リソースにアクセスするための要求を送信している。ユーザー装置は、通信及び処理の能力を有する任意の適切な種類の装置であってよい。例えば、ユーザー装置は、スマートフォン、タブレット、パーソナルコンピュータ、又はスマートウォッチであってよい。リソースには、例えば、ウェブブラウザ又はコンピュータアプリケーションを使用することにより、アクセスすることができる。
【００４３】
本開示において、本発明は、ユーザー装置のアクセスリソースが、動的プレゼンテーションの実行を可能にするリソースにアクセスしている、アプリケーションにより、例示することとする。例えば、リソースは、写真、ビデオであってもよく、或いは、動的な投票又は得点集計活動であってもよい。得点集計活動は、例えば、動的プレゼンテーションの閲覧者からの入力に基づいた得点の取得を可能にする活動である。例えば、投票のケースにおいては、閲覧者は、限られたリスト内において項目を選択することにより、投票することが可能であり、且つ、投票は、収集される。動的プレゼンテーションの最中にユーザーからデータを収集する任意の種類の活動を挿入することができる。但し、本発明は、これらの例に限定されるものではなく、且つ、本発明は、ユーザー装置が、表示されうる、再生されうる、実行されうる、或いは、更に一般的には、ユーザー装置２４０によって処理されうる、任意の種類のリソースにアクセスできるようにするべく、使用することができる。例えば、リソースは、オーディオ又はビデオ処理など．．．のために使用される、オフィスファイル、マスタファイルであってよい。更に一般的には、本発明は、コンピュータによって読み取り可能な任意のデータ及びバイナリ形態において保存されうる任意のデータに適用可能である。
【００４４】
更に詳しく後述するように、ユーザー装置は、まず、リソースにアクセスするための要求を第１装置２００に送信しており、第１装置２００は、ユーザー装置２４０に、リソースに対するアクセスを実際に有する第２装置２５０に対して第２要求を実行するべく必要とされる要素を提供している。
【００４５】
本開示において、リソースは、２つ以上の第２装置２５０、２５１によってそれぞれアクセスされる２つ以上のデータストレージ２８０、２８１上において配置されている。例えば、第２装置２５０は、リソースのいくつかを保存している第２データストレージ２８０に対するアクセスを有している一方で、第２装置２５１は、その他のリソースを保存している第２ストレージ２８１に対するアクセスを有している。
【００４６】
第１装置２００及び２つ以上の第２装置２５０、２５１は、演算及び通信能力を有する、且つ、ストレージ能力に対するアクセスを有する、任意の適切な装置であってよい。例えば、第１装置２００及び２つ以上の装置２５０、２５１は、パーソナルコンピュータ又はサーバーであってよい。図２には、２つの装置のみが表されているが、本発明は、多数の第２装置に適用可能である。従って、第２装置の数は、ユーザーのリソースニーズに従って、但し、動作ニーズにも従って、適合させることができる。例えば、第２装置は、ユーザーについて設定されていてもよく、且つ／又は、国又は領域に専用のものになっていてもよい。
【００４７】
２つ以上の第２データストレージ２８０、２８１は、データを保存及び取得するのに適した任意のタイプのストレージであってよい。例えば、２つ以上の第２データストレージ２８０、２８１は、メモリ、ハードディスク、光ディスクなど．．．のうちの１つ又は複数であってよい。図２においては、２つ以上の第２データストレージ２８０、２８１は、それぞれ、２つ以上の第２装置２５０、２５１内において表されている。但し、２つ以上の第２データストレージ２８０、２８１は、１つ又は複数の第２装置２５０、２５１内において配置されてもよいが、本発明は、この例に限定されるものではない。例えば、２つ以上の第２データストレージ２８０、２８１のうちのいくつか又はすべては、２つ以上の第２装置２５０、２５１がそれぞれアクセスを有する、共有されたハードドライブであってもよく、共有されたデータベースに属していてもよく、或いは、２つ以上の第２装置２５０、２５１に接続された装置内において配置されていてもよい。例えば、本開示は、データが、共有されたハードディスク／データベース上において保存されている、サーバーファームに適用可能である。但し、これは、データのローカリゼーションを正確に定義する、且つ、異なるクライアントに属するデータを厳格に分離する、ための本発明の能力を限定するものではない。実際に、例えば、サーバーファームなどの、１つ又は複数のデータストレージに関連する装置の組は、単一のクライアントに専用のものであってもよい。
【００４８】
第１装置２００及び第２装置２５０、２５１は、それぞれ、ユーザー装置２４０との間において接続を確立するように適合された第１通信エンドポイント２１０及び第２通信エンドポイント２６０、２６１を有する。第２通信エンドポイント２６０、２６１は、例えば、ＷＡＮ接続又は通信ポートであってよい。本発明の様々な実施形態によれば、第２通信エンドポイント２６０、２６１は、ＴＣＰ／ＩＰポートなどの、ユーザー装置２４０との間の通信を可能にする任意の手段を有しうる。
【００４９】
また、第１装置２００及び第２装置２５０、２５１は、それぞれ、処理ロジック２３０、２３１、２７０、２７１を有する。本開示において、処理ロジックは、ソフトウェア命令に従って動作するプロセッサ、プロセッサのハードウェア構成、又はこれらの組合せであってよい。本明細書において記述されている機能のうちの任意のもの又はすべては、純粋なハードウェア実装形態において、且つ／又は、ソフトウェア命令に従って動作するプロセッサにより、実装されうることを理解されたい。また、任意の又はすべてのソフトウェア命令は、一時的ではないコンピュータ可読媒体内において保存されうることを理解されたい。従って、同一の装置の複数の処理ロジックは、例えば、異なるプロセッサ、異なる命令を実行するように構成された同一のプロセッサ、或いは、１つ又は複数のプロセッサを構成するための複数のコンピュータ命令、であってもよい。
【００５０】
第２装置２５０、２５１によってアクセスされる第２データストレージ２８０、２８１のうちにおけるリソースの再パーティション化は、様々な規則に従って実行することができる。例えば、それぞれのクライアント又は会社は、そのリソースを保存するべく、その独自の第２装置を有していてもよく、即ち、装置又はストレージは、それぞれの国など．．．ごとに定義されていてもよい。従って、本開示は、有利には、異なる第２装置によってアクセスされる異なるストレージ内への、それぞれのクライアント、国など．．．のリソースの完全な分離を可能にしており、且つ、従って、クライアントニーズに応じた異なるクライアントのリソースの完全な分離を保証している。更には、それぞれのクライアントが、そのリソースが保存される装置を正確に定義することができることから、本開示は、データのローカリゼーションの正確な定義を可能にする。例えば、本開示は、それぞれのクライアントが、そのリソースがその独自の国の内部において保存されることを保証できるようにする（即ち、仏国のクライアントに属するリソースが仏国内に存在し、独国のクライアントに属するリソースが独国内に存在している、など．．．）。
【００５１】
データの所有権及びローカリゼーションに関する懸念が増大していることから、この能力は、戦略又はコンフィデンシャルデータを保存しているクライアントにとって、非常に重要である。更には、いまや、欧州規制（ＥＵ：Ｅｕｒｏｐｅａｎ  Ｒｅｇｕｌａｔｉｏｎ）２０１６／６７９又は一般データ保護規則によって提示されているように、データのローカリゼーション及び保護も、法的な課題となっている。従って、本開示は、ユーザー及びクライアントによるリソースのローカリゼーション及びアクセス権限の効率的な制御を可能にすることにより、ユーザー及びクライアントがデータの保護との関係において法的要件に準拠することを支援することができる。
【００５２】
また、第１装置は、１つ又は複数の第１データストレージ２２０に対するアクセスをも有する。第２データストレージ２８０、２８１を参照することによって既に説明したように、第１データストレージ２２０は、第１装置２００内において、或いは、第１装置と関連する装置内において、配置することができる。
【００５３】
第１データストレージ２２０は、複数のユーザー用のユーザークレデンシャルを保存している。ユーザークレデンシャルは、ユーザーのパーソナルデータ（名前、メールアドレス、など．．．）、ユーザーの認証を可能にするデータ、及びユーザーがアクセスする権利を有するリソースを定義するデータを有する、様々なデータを有しうる。ユーザーの認証を可能にするデータは、ユーザーによって入力された秘密コードが正しいものであることの検証を可能にするハッシュなどの、任意の適切な形態を有しうる。また、認証を可能にするデータは、アクセスコードであってもよい。アクセスコードは、単一のリソース、或いは、リソースの限られた組、にアクセスするための需要に基づいて生成された秘密コードである。アクセスコードは、登録済みのユーザーが、登録されてはいないユーザーによってリソースがアクセスされることを必要とする動的プレゼンテーションを実行することを所望した際に、有用であり、即ち、動的プレゼンテーションによって必要とされる、単一のリソース又はリソースの限られた組に対するアクセスのみを認可するアクセスコードを生成することができる。この結果、登録されてはいないユーザーは、動的プレゼンテーションを成功裡に観察することができる。アクセスコードは、動的プレゼンテーションが実行されるべく意図されている際に（例えば、１日、１週間など．．．にわたって）のみ、登録されてはいないユーザーがリソースにアクセスできるようにするべく、失効期限を有しうる。
【００５４】
また、上述のように、第１データストレージ２２０は、ユーザーがアクセスするための権限を有するリソースを定義したデータをも保存している。このデータは、様々な形態を有しうる。例えば、これは、ユーザーがアクセスする権限を有するリソースの識別子のリストであってよい。本発明の様々な実施形態によれば、リソースとの関係におけるアクセス権限は、様々な方式により、定義することができる。例えば、ユーザーには、アクセスコードを通じて定義されたリソースに対するアクセスを認可することができる。また、多数のリソースを包含する環境を定義することも可能である。本出願人の動的プレゼンテーションフレームワークにおいては、このような環境は、「ユニバース（ｕｎｉｖｅｒｓｅ）」と命名されている。このような種類の環境には、その他の名前も付与されうるが、本開示の残りの部分においても、この命名法を踏襲することとする。例えば、会社は、その独自のユニバースを定義することできると共に、ユニバースに対するアクセスを有するユーザー（例えば、会社の従業員）は、ユニバースに属するリソースのすべてに対するアクセスを有しうる。
【００５５】
また、１つ又は複数の第１データストレージ２２０は、リソースの識別子の組を保存しており、それぞれのリソースは、リソースを明確に取得できるようにする一意の識別子と関連付けられている。
【００５６】
リソースのそれぞれの識別子は、リソースにアクセスするための権限を有するユーザーを定義する、自身と関連付けられたアクセス権限を有する。アクセス権限は、様々な方式により、定義することができる。例えば、アクセス権限は、それぞれのリソースごとに、リソースに対するアクセスを有するユーザーのリストを明示的に定義することができる。また、アクセス権限は、リソースと間接的に関連付けられていてもよく、例えば、リソースは、会社のユニバースに属するものとして定義することができると共に、アクセス権限をこのユニバースと関連付けることができる。例えば、会社の従業員のみが、会社のユニバースに属するリソースに対するアクセスを有しうる。更に一般的には、アクセス権限は、リソースのグループに対して定義することができる。
【００５７】
また、リソースのそれぞれの識別子は、リソースを保存している第２データストレージ２８０、２８１に対するアクセスを有する、第２装置２５０、２５１の第２通信エンドポイント２６０、２６１の識別子に対しても関連付けられている。本発明の様々な実施形態によれば、このような識別子は、ユーザー装置２４０が第２装置との接続を開始できるようにする任意の識別子であってよい。例えば、識別子は、第２装置に対する接続の開始を可能にする、ＵＲＬ又はＩＰアドレスであってよい。従って、第２装置の第２通信エンドポイントの識別子は、すべての第２装置のうちにおける、リソースに対するアクセスを認可しうるものの識別を可能にする。アクセス権限については、第２通信エンドポイントの識別子は、様々な方式により、第２リソースの識別子に対して関連付けることができる。例えば、これは、リソースの所与の識別子について、リソースを保存している第２データストレージ２８０、２８１に対するアクセスを有する第２装置２５０、２５１の第２通信エンドポイント２６０、２６１の識別子を定義することにより、直接的に関連付けることができる。また、これは、間接的に関連付けることもできる。例えば、第２通信エンドポイント２６０、２６１をユニバースに関連付けることができる。これにより、リソースがユニバースに属している場合には、これは、ユニバースと関連する第２通信エンドポイント２６０、２６１に関連付けられている。この結果、例えば、会社によって使用されるリソースなどのように、ユニバースに属するすべてのリソース用の単一の通信エンドポイントを定義することが可能となる。
【００５８】
本発明の様々な実施形態によれば、リソース識別子は、様々な方式により、保存することができる。例えば、一意のリソース識別子は、１つ又は複数のデータストレージ２２０が、すべてのリソースの、すべてを網羅したリストを保存するように、それぞれのリソースごとに保存することができる。或いは、この代わりに、リソースの識別子は、一般的な識別子（例えば、第２装置、サーバー、ユニバース．．．の識別子）と、一般的な識別子に依存するリソースの一意の識別子と、から形成することもできる。このような種類の識別子の一例は、第２装置のうちの１つのもののアドレスを有するｕｒｌと、これに後続する、リソースの一意の識別子、であってよい。このような一例においては、第２通信エンドポイント２６０、２６１及びアクセス権限を一般的な識別子に対して関連付けることができる。
【００５９】
リソースを取得するべく、ユーザー装置２４０は、第１装置２００に対する要求を実行することができる。要求は、アクセスするためのリソースの識別子を有する。
【００６０】
要求を受け取った際に、１つ又は複数の第１処理ロジック２３０は、リソース識別子と関連するアクセス権限に基づいて、ユーザーがリソースにアクセスするための権限を有しているかどうかを検証するように、構成されている。これは、ユーザーが、リソースに対するアクセスを有するユーザーアカウントに属しているかどうか、或いは、ユーザーが、リソースが属するユニバースに対するアクセスを有しているかどうか、の検証などの、任意の適切な方式により、実行することができる。
【００６１】
ユーザーが、リソースにアクセスするための権限を有する場合に、１つ又は複数の第１処理ロジック２３０は、ユーザーに、リソースを保存している第２データストレージに対するアクセスを有する第２装置の通信エンドポイントの識別子を送信するように、構成されている。
【００６２】
例えば、リソースが第２ストレージ２８０内において配置されていた場合には、１つ又は複数の第１処理ロジック２３０は、ユーザー装置２４０に、ユーザー装置が第２装置２５０に接続できるようにする第２通信エンドポイント２６０の識別子を送信するように、構成されている。その一方で、リソースが第２ストレージ２８１内において配置されている場合には、１つ又は複数の第１処理ロジック２３０は、ユーザー装置２４０に、ユーザー装置が第２装置２５１に接続できるようにする第２通信エンドポイント２６１の識別子を送信するように、構成されている。この結果、ユーザー装置が、望ましいリソースを供給しうる第２装置との間において通信を確立することが可能となる。
【００６３】
本発明のいくつかの実施形態においては、ユーザー装置２４０は、ユーザーが、異なる装置との間における接続が使用されることに気付かないように、関連する第２装置に直接的にリダイレクトされている。
【００６４】
従って、ユーザー装置２４０は、関連する第２ユーザー装置にアクセスを提供している単一のエントリポイント（この例においては、第１ユーザー装置２００）と通信している。この結果、すべてのユーザー装置が、サービスに対するユニバーサルな且つ中央集中化されたアクセスから受益することが可能となる。
【００６５】
その一方で、異なる第２装置に跨ってリソースを割り当てることにより、異なるクライアントに属するリソースの間の厳格な分離のみならず、データのローカリゼーションの厳格な制御が可能となる。
【００６６】
第２装置のストレージ及び演算能力は、そのニーズに従って、それぞれのクライアントごとに適合させることができる。従って、このアーキテクチャは、スケーラブルなアプリケーションの成功裡の開発を可能にする。
【００６７】
また、第２装置のうちにおけるデータのローカリゼーションは、それぞれのクライアントのリソースが、クライアントのオフィス、或いは、更に一般的には、これらが消費されることになる場所、に可能な限り接近して配置されるように、設定することができる。リソースとクライアントの間の近さは、帯域幅ニーズと、リソースを取得するためのレイテンシーと、を減少させる。その一方で、マルチテナントアーキテクチャにおけるように、全世界にわたっていない場合にも、複数の場所において、すべてのリソースを複製することが必要とはされていない。従って、図２に表示されているアーキテクチャは、ストレージニーズを低減している。
【００６８】
本発明のいくつかの実施形態において、第１装置２００は、ユーザー装置２４０からの認証要求の際に、ユーザーを認証するように構成された処理ロジック２３１を有する。このような認証要求は、ユーザークレデンシャルを有していてもよく、且つ、認証を実行するための任意の適切な手段を使用することができる。例えば、ログイン及びパスワードを使用する認証方法を使用することができる。本発明の様々な実施形態によれば、処理ロジック２３１は、例えば、異なる命令によって動作する第１処理ロジック２３０と同一のプロセッサ、或いは、第２装置２００の別のプロセッサ、であってよい。
【００６９】
更に詳細に後述するように、本発明のいくつかの実施形態において、第１装置２００及び１つ又は複数の第２装置２５０、２５１は、例えば、ユーザーとの関係において認証情報を交換する、などのように、通信する必要がある。これを目的として、第１装置２００は、第３通信エンドポイント２１１を有することができると共に、１つ又は複数の第２装置２５０、２５１は、それぞれ、第３通信エンドポイント２１１との間において接続を確立するように構成された１つ又は複数の第４通信エンドポイント２９０、２９１を有することができる。従って、第１装置２００及び１つ又は複数の第２装置２５０、２５１は、図５Ｃ〜図５ｅを参照して更に詳細に説明するように、ユーザーの識別及び／又は認証との関係において情報を交換するべく、直接的に通信することができる。
【００７０】
図３は、本発明のいくつかの実施形態におけるサーバーの機能的アーキテクチャの一例を描いている。
【００７１】
第１サーバー３００は、物理サーバー、或いは、第１装置２００上において稼働する仮想機械（ＶＭ：Ｖｅｒｔｕａｌ  Ｍａｃｈｉｎｅ）３１０上において稼働する仮想サーバー、として機能する第１装置２００であってよい。第１サーバーは、ユーザーが自身を識別し、且つ、リソースを要求する、ためのユニークなユニバーサルアクセスポイントとして機能している。
【００７２】
第２及び第３サーバー３０１及び３０２は、それぞれ、第２装置２５０及び２５１、或いは、それぞれ、第２装置２５０及び２５１上において稼働するＶＭ３１１、３１２、であってよい。第２及び第３サーバーは、実際には、リソースを保存し、且つ、ユーザーに供給している。多数のサーバーが、リソースを保存及び供給するべく使用されうるが、ユーザーが、自身を識別し、且つ、当初、リソースを要求する、ためのユニバーサルアクセスポイントとして機能しているのは、第１サーバーである、単一のサーバーのみである。
【００７３】
第１サーバー３００は、ユーザー用の識別データ、リソース識別子、リソースアクセス権限、及びリソースを保存するサーバーとの関係におけるデータを保存する、データベース３４０に対するアクセスを有する。第２サーバー３０１及び第３サーバー３０２は、それぞれ、実際にリソースを保存しているデータベース３４１、３４２に対するアクセスを有する。
【００７４】
ユーザーからのリソース要求の際に、第１サーバー３００は、リソースに対するアクセスを有するサーバーに応じて、ユーザーを第２サーバー３０１又は第３サーバー３０２にリダイレクトしている。
【００７５】
従って、図１において例示されている従来技術の解決策とは異なり、様々なユーザーによって所有されているリソースが、異なるサーバー内において配置されている。従って、これらの場所を制御することが可能であり、且つ、ユーザーに属するデータが別のものによってアクセスされるリスクが存在してはいない。その一方で、ユーザーは、サーバーに対するユニークな且つユニバーサルなアクセスという利益を享受している。
【００７６】
図４ａ〜図４ｃは、それぞれ、本発明のいくつかの実施形態におけるユーザーのやり取りの３つのフローチャートを描いている。
【００７７】
図４ａは、ユーザーの識別及びリソースに対するアクセスの一例のフローチャートを表示している。
【００７８】
上述のように、ユーザーは、複数のユニバース又は環境／プラットフォームに対するアクセスを有していてもよく、この場合に、それぞれのユニバースは、１つ又は複数の第２装置２５０、２５１のうちの少なくとも１つによって制御されている。例えば、ユニバースは、例えば、会社、アプリケーション、国など．．．のような、リソースの任意の纏まりのあるグループに対応しうる。
【００７９】
この例においては、ユーザー（更に詳しくは、ユーザー装置２４０）が、接続要求を第１装置２００に送信している。ユーザーは、当初、識別されてはいない。従って、第１装置２００は、ユーザーを認証し、且つ、ユーザーの認証のクッキートークンを生成している。次いで、ユーザーは、第２装置２５０、即ち、ユーザーの既定のプラットフォーム、にリダイレクトされている。
【００８０】
次いで、ユーザー装置２４０は、第２装置２５０のプラットフォームにアクセスするための要求を送信している。クッキーに基づいて、ユーザーを識別することができない場合には、ユーザーは、第１装置２００にリダイレクトされるが、ユーザーを識別可能である場合には、ユーザーがリソースを要求及び表示できるように、ユーザーの環境がユーザーに表示される。
【００８１】
図４ｂは、リソースに対するアクセスの一例のフローチャートを表示している。
【００８２】
ユーザー（更に詳しくは、ユーザー装置２４０）は、まず、リソースの識別子を使用することにより、リソース要求を第１装置２００に送信している。この例においては、第１装置２００は、アクセスサービスを実行するサーバーである。リソースの存在及びリソースにアクセスするためのユーザーの権限が検証されたら、ユーザーは、リソースに対するアクセスを有するプラットフォーム、この例においては、第２装置２５０、にリダイレクトされている。
【００８３】
従って、ユーザー装置２４０は、リソースの識別子を使用することにより、リソース要求を第２装置２５０に対して送信している。第２装置２５０は、リソースに対するアクセスを検証し、且つ、リソースがユーザーに対して表示されうるように、リソースをユーザー装置２４０に返送している。
【００８４】
図４ｃは、プラットフォーム切り替えの一例のフローチャートを表示している。
【００８５】
いくつかのケースにおいて、ユーザーは、自身がログインしたプラットフォームとは異なるプラットフォームに対してアクセスすることを所望する場合がある。例えば、ユーザーは、例えば、１つ又は複数の第２装置２５０、２５１のうちの別の第２装置２５１などの、別のアプリケーションのリソースに対するアクセスを有するプラットフォームにアクセスすることを所望する場合がある。これを目的として、ユーザー装置２４０は、例えば、第２装置２５１などの、別のプラットフォームに切り替えるための要求を送信している。要求は、クッキーを有しており、且つ、第２装置２５１は、クッキーからユーザーの識別を実行し、且つ、新しいプラットフォームのコンテンツを表示している。
【００８６】
図５ａ〜図５ｅは、本発明のいくつかの実施形態におけるリソースの生成及び取得用の例示用のフローチャートを描いている。
【００８７】
図５ａ〜図５ｅは、ユーザー装置２４０、第１装置２３０、第２装置２５０、並びに、図５ｃ〜図５ｅの場合には、第２装置２５１を表している。但し、これらは、例としてのみ表されており、且つ、図５ａ〜図５ｅの例は、本発明が実装されうる任意の装置により、実装することができる。
【００８８】
図５ａ〜図５ｅの例において、第１装置２４０及び第２装置２５０及び２５１は、例えば、ユーザー装置に、例えば、アプリケーションによって必要とされるリソース、並びに、動的プレゼンテーションを実行するためのアプリケーション、を提供するように構成された物理的且つ／又は仮想的なサーバーであってよい。
【００８９】
図５ａは、本発明のいくつかの実施形態におけるリソースの生成の例示用のフローチャートを描いている。
【００９０】
図４ａ〜図４ｃを参照して説明したように、ユーザーは、ユーザーに、コンテキストのために必要とされるリソースを有する環境を提供している第２装置２５０に接続することが可能であり、この場合に、このような環境も、「ユニバース」と呼称されている。本発明の様々な実施形態によれば、ユーザーは、第２装置２５０に既に接続されていてもよく、その理由は、これが、第２装置２５０がアクセスしたリソースを要求した、且つ／又は、第２装置２５０が、ユーザーの既定のユニバースをユーザーに提供している、からである。例として、図５ａについては、第２装置２５０によって例示することとする。但し、これは、例として提供されるものに過ぎず、且つ、この例は、本発明の第２装置の任意のものについて実装することができる。
【００９１】
ユーザー装置２４０のユーザーは、新しいリソースを生成することを所望している。例えば、ユーザーは、動的プレゼンテーション用の動的コンテンツ（即ち、投票、ゲーム、など．．．）を生成した状態にあってもよく、且つ、将来の使用のために、このコンテンツをオンラインで保存すること及び／又は動的プレゼンテーションを観察する際にその他のユーザーがコンテンツにアクセスできるようにすることを所望している。
【００９２】
これを目的として、ユーザー装置２４０は、リソース生成要求５１０ａを第１装置２５０に送信している。リソース生成要求は、例えば、ユーザーがリソースに変換することを所望しているコンテンツを含みうる。
【００９３】
リソース生成要求５１０ａを受け取った際に、第２処理ロジック２７０は、リソース識別子生成要求５２０ａを生成するように、構成されており、これは、第４通信エンドポイント２９０を通じて第１装置２００に送信される。リソース識別子生成要求は、新たに生成されたリソース用のリソース識別子（或いは、ｉｄ）を生成するための要求である。
【００９４】
リソース通信要求５２０ａを受け取った際に、第１処理ロジック２３０は、コンテンツに対応するリソース識別子を生成している。リソース識別子は、一意である必要がある。この要件が充足された場合に、一意のリソース識別子を生成するべく、いくつかの異なるモデルが使用されてもよく、即ち、属性に対するリソース識別子をそれぞれのリソース識別子要求ごとに増分することが可能であり、リソース識別子を第２装置２５０のｉｄ及び第２装置２５０から受け取られた要求の数など．．．のようなユニークなパラメータに基づいて生成することができる。一意のリソースｉｄを生成するための任意の適切な実施形態が本発明に適用可能である。例えば、一意のリソース識別子は、限られた文字の組を使用するランダムな又は疑似ランダムな生成方法を使用することにより、生成することができる。文字の組は、英数文字（文字＋数字）を有しうる。本発明のいくつかの実施形態において、文字の組は、ユーザーが誤ったアクセスコードを入力する確率を低減するべく、ユーザーによって読み取られる／入力される際に、解釈の誤りが発生しうる英数文字（例えば、０又はＯ、１又はＩ）を有してはいない。
【００９５】
次いで、リソースの識別子が、１つ又は複数のデータストレージ２２０上において保存されている５３０ａ。また、リソースに対するアクセスを有する第２装置２５０及び／又は第２通信エンドポイント２６０を表すデータも、１つ又は複数のデータストレージ２２０内において保存される必要あり、且つ、リソース識別子に関連付けられる必要がある。このデータは、多くの異なるタイプ（第２装置２５０のｉｄ、第２通信エンドポイント２６０の記述子又は識別子．．．）を有しうる。この結果、第２通信エンドポイント２６０の識別子とリソースの識別子の間の直接的又は間接的な関連付けが可能となる。この識別子は、更に詳細に後述するように、リソース要求の際に、ユーザーに送信することができる。１つ又は複数のデータストレージ２２０内におけるデータの保存及び関連付けは、データが保存及び取得されうる場合に、多くの異なる方式により、実行することができる。例えば、データは、定義されたフォーマット（例えば、表）を有するファイル内において、或いは、データベース内において、保存することができる。本発明のいくつかの実施形態において、リソース識別子は、第２装置２５０の識別子又は第２通信エンドポイント２６０に応じて、生成されている。例えば、リソース識別子は、リソースの一意の識別子によって後続される、第２通信エンドポイント２６０のｕｒｌであってよい。このようなケースにおいて、リソースの一意の識別子は、第１データストレージ２２０内において保存される必要はなく、その理由は、第２装置２２０が、リソース識別子に基づいて、ユーザーを第２装置２５０にリダイレクトしうるからである。
【００９６】
本発明の様々な実施形態によれば、（例えば、アクセス権限が、第２装置２５０によってアクセスされるすべてのリソースに関連付けられている場合に）リソースに対するアクセス権限の、リソースの記述子やリソースタイプなどの、その他のデータを直接的又は間接的にリソース識別子に関連付けることができる。
【００９７】
次いで、リソース識別子が、第２装置２５０に返送され、これにより、リソース識別子が成功裡に生成されたことをアクノリッジしている。
【００９８】
リソース識別子を受け取った際に、第２処理ロジック２７０は、リソース識別子と、関連付けられたコンテンツと、を１つ又は複数の第２データストレージ２８０に保存するように構成されている５５０ａ。この場合にも、本発明においては、リソース識別子及びコンテンツを保存し、且つ、これらを関連付ける、ための任意の適切な手段を使用することができる。
【００９９】
この結果、リソースが生成され、且つ、リソース識別子がユーザー装置２４０に送信されている５６０ａ。従って、ユーザーは、リソースを自由に使用することが可能であり、且つ、リソースを有するコンテンツを容易に共有することができる。後述するように、その他のユーザーがリソースを取得できるようにすることになる、一意のリソース識別子を規定することにより、リソースを簡単に追加することができる。例えば、リソースが動的プレゼンテーションにおける動的コンテンツである場合に、対応する一意のリソース識別子を有するユーザー装置２４０内において、プレゼンテーションファイルを生成することができる。ユーザーがその他のユーザーに対する動的プレゼンテーションファイルを共有している際には、ユーザーのユーザー装置は、更に詳細に後述するように、一意のリソース識別子を使用することにより、第２装置２５０からリソースを取得することができる。
【０１００】
この例は、新しいコンテンツを生成し、且つ、その他のユーザーとの間においてコンテンツを容易に共有する、本発明の能力を実証している。コンテンツが１つ又は複数の第２データストレージ２８０内において保存されていることから、ユーザー内において共有される必要があるのは、リソース識別子のみである。この結果、有利には、リソースが大きなコンテンツ（例えば、ビデオ）を表している場合に、ユーザー内において共有されるファイルのサイズを低減することができる。更には、それぞれのリソース生成において、ユニバーサルアクセスを提供している第２装置２００は、新しいリソースが生成されたことを知るのみであり、リソースの実際のコンテンツに関するなんらの知識をも有してはいない。その一方で、リソースは、実際には、ユーザーが属するユニバースに対する保護されたアクセスを提供している第２装置２５０により、生成されている。従って、データアクセス及びデータローカリゼーションの制御が、それぞれのリソース生成において維持されている。
【０１０１】
図５ｂは、本発明のいくつかの実施形態におけるリソースの取得の例示用のフローチャートを描いている。
【０１０２】
この例において、ユーザー装置２４０は、リソースの場所のなんらの先験的な知識をも伴うことなしに、リソースを取得するための要求を実行している。このようなケースは、通常、ユーザー装置が、別の装置によって送信されたファイル又はコンテンツを使用している際に発生する。例えば、ユーザー装置２４０は、別のユーザーによって生成された、且つ、動的コンテンツを有する、動的プレゼンテーションを観察している最中でありうる。動的プレゼンテーションは、動的プレゼンテーションファイルの形態において読み取られており、この場合に、リソースは、その識別子によって識別されている。従って、ユーザー装置２４０は、リソースの場所に関するなんらの先験的な知識をも伴うことなしに、リソース識別子のみに基づいて、リソースを取得する必要がある。
【０１０３】
これを目的として、ユーザー装置は、第１装置２００に、リソースの識別子を有するリソースアクセス要求５００ｂを送信している。
【０１０４】
要求を受け取った際に、ユーザーが、既にログイン済みではない場合には、処理ロジック２３１は、ユーザーを識別する。本発明は、ユーザーを識別するための様々な方法を可能にする。例えば、ユーザーは、ログイン及びパスワードを有する登録済みのユーザーであってよい。この結果、登録済みのユーザーには、特定のリソースに対するアクセスを有する権限が付与されうる。リソースに対するアクセスは、様々な方式により、認可することができる。例えば、これは、特定のリソースについて個別に認可されてもよく、且つ／又は、ユーザーは、ユニバースに属するリソースのすべて又は一部分に対するアクセスを有することができる。
【０１０５】
別の選択肢は、登録済みではないユーザーが、１つ又は複数の特定のリソースに対するアクセスを有することができるようにする「アクセスコード」を生成するステップを有する。アクセスコードの使用は、登録されてはいないユーザーに、特定のリソースに対するアクセスを認可するための柔軟な選択肢を提供している。例えば、会社の登録済みのユーザーが、別の会社に属する登録されてはいないユーザー（例えば、ビジネス顧客）に対して動的プレゼンテーションを実行することを所望した場合に、登録済みのユーザーは、動的プレゼンテーションによって必要とされているリソースに対するアクセスを登録されてはいないユーザーに認可するアクセスコードを生成することができる。
【０１０６】
リソースアクセス要求５００ｂを受け取った際に、処理ロジック２３１は、例えば、ログイン及びパスワード、或いは、アクセスコード、を使用することにより、ユーザーを識別している５１０ｂ。
【０１０７】
次いで、要求が、処理ロジック２３０に転送され５２０ｂ、処理ロジック２３０は、１つ又は複数のデータストレージ２８０から、リソースの識別子に基づいて、リソースの場所、即ち、リソースに対するアクセスを有する第２装置を通知する情報、を取得している。この例において、リソースは、第２装置２５０により、取得することができる。また、処理ロジック２３０は、リソースの識別子と関連するアクセス権限、並びに、ユーザーのユーザークレデンシャル、に基づいて、ユーザーがリソースにアクセスするための権限を有しているかどうかを検証している。
【０１０８】
ユーザーが、リソースにアクセスするための権限を有している場合には、第２装置の第２通信エンドポイント２６０の識別子が、ユーザーに送信される５４０ｂ。上述のように、この識別子は、ユーザー装置２４０が第２装置２５０との間において接続を確立できるようにする任意の情報、即ち、ＩＰアドレス、及びＵＲＬ、サーバーの名称、など．．．であってよい。また、ユーザー装置は、第２装置２５０にリダイレクトされてもよい。このリダイレクトは、例えば、リソースがウェブブラウザを通じてアクセスされている場合に、実装することができる。リダイレクトにより、ユーザーは、いまや、新しいサーバーとの関連状態にあることをさえ知ることなしに、ユーザーが情報にアクセスできるようになる。
【０１０９】
次いで、ユーザー装置は、第２装置２５０に、リソースにアクセスするための新しい要求５５０ｂを送信している。
【０１１０】
処理ロジック２７０は、リソース識別子に基づいて、１つ又は複数のデータストレージ２８０内においてリソースを見出し、且つ、リソースをユーザーに返している５７０ｂ。
【０１１１】
この例は、ユーザーが、リソース識別子についてしか知ってはおらず、且つ、リソースの実際の場所に関するなんらの先験的な知識をも有していない場合にも、アプリケーション用の単一のアクセスポイントを使用することにより、リソースをユーザーに供給するための本発明の能力を実証している。
【０１１２】
図５ｃは、本発明のいくつかの実施形態におけるリソースの取得の例示用のフローチャートを描いている。
【０１１３】
この例において、ユーザー２４０は、リソースの場所のなんらの先験的な知識をも伴うことなしに、リソースを取得するための要求を実行している。これに加えて、第２装置によるユーザーの識別を保護するべく、第１装置は、ユーザーに、第２装置による識別のために使用されるトークンを供給している。
【０１１４】
ユーザーは、リソース要求５００ｃを第１装置２００に送信している。
【０１１５】
処理ロジック２３１は、ユーザーを識別することに失敗しており、その理由は、例えば、ユーザーがリソース要求を実行している際に、ユーザーが、既に接続／ログイン済みではない、からである。
【０１１６】
この結果、識別要求５２０ｃが、ユーザー装置に送信される。相応して、ユーザー装置２４０は、ユーザークレデンシャルを送信している５３０ｃ。処理ロジック２３１は、クレデンシャル、並びに、１つ又は複数の第１データストレージ２２０内において保存されているすべてのユーザー用のクレデンシャル、に基づいて、ユーザーを認証し、且つ、将来の識別のための、ユーザーに関連するユニークなトークンのみならず、ユーザーの識別を検証するためのトークンシグネチャ、をも生成している。トークンのみならず、リソースに対するアクセスを有する第２装置２５０の第２通信エンドポイント２６０の識別子も、ユーザー装置２４０に送信されている５５０ｃ。
【０１１７】
次いで、ユーザー装置２４０は、リソースの識別子及びトークンを有する新しいリソース要求５６０ｃを第２装置２５０に送信している。第２装置２５０の処理ロジック２１００は、トークンに基づいて、ユーザーを識別するべく試みるが、自身がユーザーを識別できるようにする情報を有してはいない。
【０１１８】
この結果、処理ロジック２１００は、第１装置２００に、トークンに基づいてユーザーの識別を検証するための要求を送信するように構成されている５８０ｃ。第１装置は、トークンに基づいてユーザーの識別を検証し、且つ、ユーザークレデンシャルを第２装置２５０に返送している。或いは、この代わりに、処理ロジック２１００がトークンに基づいて識別を検証しうるように、シグネチャを第２装置２５０に送信することもできる。
【０１１９】
この結果、ユーザーは、第２装置によって成功裡に識別され、且つ、第２装置が、リソースをユーザーに返送している５９０ｃ。
【０１２０】
本発明の様々な実施形態によれば、第２装置２５０は、ユーザー装置によるそれぞれのリソース要求の際に、ユーザーの識別を検証するように、第１装置に要求することができる。また、これは、一度だけ、ユーザーの識別の検証を要求することができると共に、自身がユーザー装置２４０からの次のリソース要求において直接的にユーザーを識別できるようにするデータを保存することもできる。
【０１２１】
この例において、ユーザーは、トークンを使用することにより、識別されている。但し、クッキーなどの、その他の識別データを使用することもできる。更に一般的には、図５ｃにおいて記述されている原理は、それぞれのユーザー用の識別データ（この例においては、トークン）と、識別の検証を可能にする識別検証データ（この例においては、トークンのシグネチャ）と、に依存している任意の識別システムに適用可能である。本発明は、第１装置２００が、ユーザー装置に、ユーザー装置が自身を第２装置に対して識別できるようにする識別データを送信すること、並びに、第２装置から同一の識別データを有する要求を受信した際に、第２装置に対して、ユーザーが、識別検証データを使用してリソースにアクセスするための権限が付与されていることを確認すること、或いは、処理ロジック２１００が識別を検証しうるように、識別検証データを第２装置２５０に送信すること、を可能にする。
【０１２２】
この例は、多数の異なる装置におけるリソースの再パーティション化にも拘らず、ユニバーサルなアクセスポイントにおいて、中央集中化された方式により、ユーザーの識別、認証、並びに、リソースのアクセス権限を管理するための本発明の能力を実証している。
【０１２３】
図５ｄは、本発明のいくつかの実施形態におけるリソースの取得の例示用のフローチャートを描いている。
【０１２４】
図５ｄの例は、図５ｃの例に非常に類似している。唯一の相違点は、第２装置がユーザーの識別を検証するように、第１装置が、１つ又は複数の第２装置２５０、２５１に、識別検証データを送信している、という点にある。
【０１２５】
例えば、ユーザーが、トークンを使用することにより、識別された場合に、第１装置２００は、１つ又は複数の第２装置が識別を検証しうるように、１つ又は複数の第２装置２５０、２５１に、トークンのシグネチャを送信しており、ユーザーが、クッキーを使用することにより、識別された場合に、第１装置２００は、１つ又は複数の第２装置２５０、２５１に、クッキーと関連するセッションが有効であることを検証するための、必要とされる任意のデータ（即ち、セッションｉｄ、並びに、いくつかの実装形態においては、ユーザー装置２４０のＩＰアドレスなどの、関連するセキュリティデータ）を送信している。当業者は、使用されている識別技法に応じて、識別検証データ（例えば、トークン又はクッキー）を容易に識別することになろう。
【０１２６】
従って、第１装置２００は、１つ又は複数の第２装置２５０、２５１が第１装置２００に要求を送信する必要なしに、１つ又は複数の第２装置２５０、２５１に、ユーザーを安全に識別するべく必要とされるすべての情報を送信している。従って、１つ又は複数の第２装置２５０、２５１によるユーザーの識別が、相対的に迅速なものとなる。
【０１２７】
本発明の様々な実施形態によれば、識別検証データの送信５８０ｄは、様々な方式により、実行することができる。例えば、データは、ユーザーが第１装置２００内において識別され、且つ、対応する識別データが生成される、たびに、ユーザーについて送信することができる。従って、１つ又は複数の第２装置２５０、２５１は、実質的に即座に、ユーザーを識別することができる。
【０１２８】
また、識別検証データは、第１装置と１つ又は複数の第２装置２５０、２５１の間の通信を制限するべく、且つ、これにより、帯域幅を節約するべく、複数のユーザーについて、周期的に、１つ又は複数の第２装置２５０、２５１に送信することができる。
【０１２９】
但し、このケースにおいて、ユーザー装置２４０がリソース要求を送信する際に５６０ｃ、第２装置２５０が、識別検証データを有していない場合がある。この課題を解決するべく、第２装置２５０は、自身が識別検証データを有していないケースにおいては、このデータを取得するべく、第１装置に要求を送信することができる。従って、この結果、すべてのケースにおいて、ユーザーがリソースにアクセスするべく第２装置２５０に接続することを可能にしつつ、帯域幅を節約することが可能となる。
【０１３０】
図５ｅは、本発明のいくつかの実施形態におけるリソースの取得の例示用のフローチャートを描いている。
【０１３１】
図５ｅの例は、図５ｃの例に非常に類似している。唯一の相違点は、第２装置がユーザーの識別を検証するように、識別検証データが、識別データと共にパッケージ化されている、という点にある。識別検証データは、識別データと、第１装置２００と１つ又は複数の第２装置２５０、２５１の間において共有されている共有秘密キー５００ｅと、を使用することにより、生成されている。また、秘密キー５００ｅは、処理ロジック２１００、２１０１が、識別検証データが正しいことを検証すること、並びに、従って、ユーザーを成功裡に識別すること、をも可能にする。これは、例えば、共有されたプライベートキー５００ｅを使用することによって生成された、トークン（識別データ）及びシグネチャ（識別検証データ）を有する、署名済みのトークンを使用することにより、実行することができる。従って、同一の共有されたキー５００ｅを使用することにより、シグネチャの有効性を検証することができる。シグネチャの有効性が正しい場合に、ユーザーは、識別される。
【０１３２】
この結果、有利には、共有されたキー５００ｅが第１及び１つ又は複数の第２装置２００、２５０、２５１に判明したら、第１及び１つ又は複数の第２装置２００、２５０、２５１の間において直接的にデータを交換する必要を伴うことなしに、安全な識別が可能となる。
【０１３３】
図６ａ及び図６ｂは、それぞれ、従来技術における、且つ、本発明のいくつかの実施形態における、サーバーを通じたデータに対するアクセスの２つの例を描いている。
【０１３４】
図６ａは、従来技術における、サーバーを通じたデータへのアクセスの一例を描いている。
【０１３５】
世界中において配置されているユーザー６１０ａ、６１１ａ、６１２ａ、６１３ａ、及び６１４ａは、そのアプリケーションのために、自身が必要としているリソースを取得するべく、サーバー６００ａに接続している。すべてのリソースは、サーバー６００ａ上において保存されており、サーバー６００ａは、ユーザーからの要求の際に、ユーザーが必要としているリソースを返送している。この解決策は、いくつかの欠点を有しており、即ち、図６ａにおいて描かれているように、要求及びデータ交換が、非常に離れた場所の間において実行される場合がある。この結果、帯域幅が消費され、且つ、ユーザーが自身の要求を送信する時点とリソースが受け取られる時点の間に大きなレイテンシーが生成される。更には、すべてのリソースが、同一のサーバー内において配置されている。この結果、セキュリティの問題が生成される場合があり、その理由は、ユーザーのうちの１つに属しているリソースが、その他の者によってアクセスされないことを保証することが非常に困難であるからである。
【０１３６】
図６ｂは、本発明のいくつかの実施形態における、サーバーを通じたデータへのアクセスの一例を描いている。
【０１３７】
世界中において配置されているユーザー６１０ｂ、６１１ｂ、６１２ｂ、６１３ｂ、及び６１４ｂは、サーバー６００ｂに接続しており、サーバー６００ｂは、リソースに対するユニバーサルなアクセスとして機能している。但し、リソースは、サーバー６００ｂによって保存されてはおらず、且つ、サーバー６２０ｂ、６２１ｂ、６２２ｂにより、保存されている。サーバー６００ｂは、以下のように、ユーザーをユーザーが必要としているリソースを保存するサーバーにリダイレクトしている。
−ユーザー６１０ｂは、サーバー６２０ｂにリダイレクトされる。
−ユーザー６１１ｂ及び６１２ｂは、サーバー６１２ｂにリダイレクトされる。
−ユーザー６１３ｂ及び６１４ｂは、サーバー６２２ｂにリダイレクトされる。
【０１３８】
従って、リソースをユーザーに相対的に近い場所において配置することが可能であり、リソースを取得するための交換のレイテンシーが低減されている。更には、サーバーをユーザーのニーズに従ってセットアップすることができる。例えば、サーバーを単一のクライアントのためにセットアップし、これにより、データのセキュリティの厳格な改善を可能にすることができる。
【０１３９】
図７は、本発明のいくつかの実施形態における方法の一例を描いている。
【０１４０】
方法７００は、リソースにアクセスするべくユーザー装置から要求を受け取る第１ステップ７１０を有しており、この場合に、前記要求は、リソースの識別子を有する。
【０１４１】
方法７００は、
−複数のユーザー用のユーザークレデンシャルと、
−２つ以上の第２装置によってそれぞれアクセスされる２つ以上の第２データストレージ上において保存された識別子の組であって、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第２装置の第２通信エンドポイントの識別子は、リソースを保存している第２データストレージに対するアクセスを有する、組と、
を保存する１つ又は複数の第１データストレージにアクセスする第２ステップ７２０を更に有する。
【０１４２】
方法は、リソース識別子と関連するアクセス権限に基づいて、ユーザーが、リソースにアクセスするための権限を有しているかどうかを検証する第３ステップ７３０を更に有する。
【０１４３】
方法７００は、ユーザーがリソースにアクセスするための権限を有している場合に、ユーザー装置に、リソースを保存している第２データストレージに対するアクセスを有する第２装置の通信エンドポイントの識別子を送信する第４ステップを更に有する。
【０１４４】
後述する、すべての実施形態は、それぞれ、方法７００に適用可能である。
【０１４５】
また、本発明は、ユーザーが、リソースにアクセスするための権限を有しているかどうかを検証し、且つ、ユーザー装置に、リソースに対するアクセスを有する装置の通信エンドポイントの識別子を送信する、ように構成された、コンピュータプログラムとして実装することもできる。このようなコンピュータプログラムは、ユーザー装置から要求を受け取ることができると共に、相応して、要求を処理することができる。図２、図３、図４ａ〜図４ｃ、及び図５ａ〜図５ｅを参照して記述されている実施形態は、それぞれ、リソースのアクセスをユーザーに認可するべく、このようなコンピュータプログラムによって実装可能である。
【０１４６】
このようなコンピュータプログラム内において実施されているプログラムコードは、様々な異なる形態においてプログラムプロダクトとして個別に又は集合的に分散される能力を有する。具体的には、プログラムコードは、プロセッサが、本発明の実施形態の態様を実行するようにするべく、その上部においてコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体を使用することにより、分散させることができる。
【０１４７】
特定の代替実施形態において、フローチャート、シーケンス図、及び／又はブロック図において規定されている機能、行為、及び／又は動作は、本発明の実施形態との間において一貫性を有する状態において、再順序付け、連続処理、及び／又は同時処理されてもよい。更には、フローチャート、シーケンス図、及び／又はブロック図のうちの任意のものは、本発明の実施形態と間において一貫性を有する状態において、示されているものよりも多くの又は少ない数のブロックを含みうる。
【０１４８】
以上、本発明のすべてについて、様々な実施形態の説明によって例示されており、且つ、これらの実施形態は、かなり詳細に記述されているが、添付の請求項の範囲をこのような詳細に限定する又はなんらかの方式によって制限することは、本出願人の意図するところではない。当業者には、更なる利点及び変更について容易に明らかとなろう。
【図１】
2021531547.tif 000003
【図２】
2021531547.tif 000004
【図３】
2021531547.tif 000005
【図４ａ】
2021531547.tif 000006
【図４ｂ】
2021531547.tif 000007
【図４ｃ】
2021531547.tif 000008
【図５ａ】
2021531547.tif 000009
【図５ｂ】
2021531547.tif 000010
【図５ｃ】
2021531547.tif 000011
【図５ｄ】
2021531547.tif 000012
【図５ｅ】
2021531547.tif 000013
【図６ａ】
2021531547.tif 000014
【図６ｂ】
2021531547.tif 000015
【図７】
2021531547.tif 000016
【国際調査報告】
2021531547.tif 000017
2021531547.tif 000018
2021531547.tif 000019
2021531547.tif 000020