(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2021-531547(P2021-531547A)
(43)【公表日】2021年11月18日
(54)【発明の名称】データコンテンツに対するアクセスを提供するサーバーの改善されたスケーラブルなアーキテクチャ
(51)【国際特許分類】
G06F 21/62 20130101AFI20211022BHJP
G06F 21/33 20130101ALI20211022BHJP
【FI】
G06F21/62 318
G06F21/33
【審査請求】未請求
【予備審査請求】未請求
【全頁数】35
(21)【出願番号】特願2020-571601(P2020-571601)
(86)(22)【出願日】2019年7月10日
(85)【翻訳文提出日】2021年1月4日
(86)【国際出願番号】EP2019068615
(87)【国際公開番号】WO2020011887
(87)【国際公開日】20200116
(31)【優先権主張番号】18290076.1
(32)【優先日】2018年7月10日
(33)【優先権主張国】EP
(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
(71)【出願人】
【識別番号】520497966
【氏名又は名称】クラクスン
(74)【代理人】
【識別番号】110001173
【氏名又は名称】特許業務法人川口國際特許事務所
(72)【発明者】
【氏名】ドゥブリュウイ,トニー
(72)【発明者】
【氏名】ギュイヨンバルー,ロマン
(72)【発明者】
【氏名】ストゥーヌー,ジェローム
(72)【発明者】
【氏名】フェルトハイゼン,マルク
(72)【発明者】
【氏名】パガドワ,ピエール
(72)【発明者】
【氏名】ブーシェ,マチュー
(57)【要約】
本発明は、サーバーによるリソースに対するアクセス及びデータ管理に関する。所有権の厳格な制御及びデータのローカリゼーションを可能にしつつ、ユーザーに、アプリケーションに対するユニバーサルなアクセスポイントを提供するべく、第1装置は、リソースにアクセスするための要求をユーザーから受け取り、且つ、ユーザーがリソースにアクセスするための権限を有している場合に、ユーザーに、リソースにアクセスすることができる、且つ、リソースをクライアントに供給することができる、複数の第2装置のうちの、1つの第2装置の通信エンドポイントの識別子を送信している。
【特許請求の範囲】
【請求項1】
第1装置(200)であって、
−ユーザー装置(240)との間において接続を確立するように構成された第1通信エンドポイント(210)と、
−複数のユーザー用のユーザークレデンシャル、
−2つ以上の第2装置(250、251)によってそれぞれアクセスされる2つ以上の第2データストレージ(280、281)上において保存されている前記複数のユーザーに属する1つ又は複数のユーザーに提示されるべきリソースの識別子の組であって、前記組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第2装置(250、251)の第2通信エンドポイント(260、261)の識別子は、前記リソースを保存している第2データストレージ(280、281)に対するアクセスを有する、組、
を保存している1つ又は複数の第1データストレージ(220)に対するアクセスと、
−前記リソースの前記識別子を有する、前記リソースにアクセスするための要求(500b、500c)を前記ユーザー装置(240)から受け取った際に、
−前記受け取られたリソース識別子と関連するアクセス権限に基づいて、前記ユーザーが、前記要求されたリソースにアクセスするための前記権限を有するかどうかを検証し、
−前記ユーザー装置(240)と関連する前記ユーザーが、前記要求されたリソースにアクセスするための前記権限を有している場合に、前記ユーザー装置(240)に、前記リソースを保存している前記第2データストレージ(280)に対するアクセスを有する前記第2装置(250)の前記通信エンドポイント(260)の前記識別子を送信する(540b、560c)、
ように構成された1つ又は複数の第1処理ロジック(230、231)と、
を有する第1装置(200)。
【請求項2】
前記1つ又は複数の第1処理ロジックは、ユーザークレデンシャルを更に有する前記ユーザー装置からの認証要求の際に、前記ユーザークレデンシャル及び前記複数のユーザー用のユーザークレデンシャルに基づいて前記ユーザー装置と関連する前記ユーザーを認証するように構成される(231)、請求項1に記載の第1装置(200)。
【請求項3】
前記1つ又は複数の第2装置(250、251)の1つ又は複数の第4通信エンドポイント(290、291)との間において接続を確立するように構成された第3通信エンドポイント(211)を更に有する、請求項1又は2のいずれか1項に記載の第1装置。
【請求項4】
前記第1処理ロジック(230)は、前記第2装置(250)のうちの1つからリソース識別子生成要求(520a)を受け取った際に、
−リソースの一意の識別子を生成し、
−前記リソースの前記一意の識別子に、前記2つ以上の第2装置のうちの前記1つのもの(250)の識別子、或いは、その第2通信エンドポイント(260)を関連付け、
−前記2つ以上の第2装置のうちの前記1つ(250)に、前記リソースの前記一意の識別子を送信する(540a)、
ように更に構成される、請求項3に記載の第1装置。
【請求項5】
前記1つ又は複数の第1処理ロジック(230、231)は、
−前記1つ又は複数の第2装置(250、251)が、前記ユーザーを識別し、且つ、前記リソースに対するアクセスを認可できるようにする識別データと、前記ユーザーの前記識別の検証を可能にする識別検証データと、を生成し、
−前記ユーザー装置(240)に、前記識別データを送信する、
ように更に構成される、請求項2に従属する状態における、請求項2〜4のいずれか1項に記載の第1装置。
【請求項6】
前記1つ又は複数の第1処理ロジック(231)は、前記リソースを保存している前記第2データストレージ(280)に対するアクセスを有する前記第2装置(250)から、前記識別データ(580c)を有する前記ユーザーを識別するための要求を受け取った際に、
−前記識別データ及び前記識別検証データに基づいて前記ユーザーの前記識別を検証し、
−前記識別が検証された場合に、前記第2装置(250)に、前記ユーザーの前記識別及び前記リソースにアクセスするための前記ユーザーの前記権限の検証を送信する、
ように構成される、請求項3に従属する状態における、請求項5に記載の第1装置。
【請求項7】
前記1つ又は複数の第1処理ロジック(231)は、前記リソースを保存している前記第2データストレージ(280)に対するアクセスを有する前記第2装置(250)から、前記識別データ(580c)を有する前記ユーザーを識別するための要求を受け取った際に、前記リソースを保存している前記第2データストレージ(280)に対するアクセスを有する前記第2装置(250)に、前記識別検証データを送信するように構成される、請求項3に従属する状態における、請求項5に記載の第1装置。
【請求項8】
前記1つ又は複数の第1処理ロジック(231)は、前記ユーザー検証データの前記生成の際に、前記1つ又は複数の第2装置(250、251)に、識別検証データを送信するように構成される、請求項3に従属する状態における、請求項5に記載の第1装置。
【請求項9】
前記1つ又は複数の第1処理ロジック(231)は、前記識別データと、前記第1装置(200)及び前記1つ又は複数の第2装置(250、251)にとって共通する共有秘密キー(500e)と、に基づいて、前記識別検証データを生成するように構成される、請求項5に記載の第1装置。
【請求項10】
前記識別データは、トークンであり、且つ、前記識別検証データは、前記トークンのシグネチャである、請求項5〜9のいずれか1項に記載の第1装置。
【請求項11】
方法(700)であって、
−ユーザー装置(240)から、リソースにアクセスするための要求(500b、500c)を受け取るステップ(710)であって、前記要求は、前記リソースの識別子を有する、ステップと、
−・複数のユーザー用のユーザークレデンシャル、
・前記要求されたリソースを有する、前記複数のユーザーに属する1つ又は複数のユーザーに提示されるべきリソースの組の識別子の組であって、前記リソースの組は、2つ以上の第2装置(250、251)によってそれぞれアクセスされる2つ以上の第2データストレージ(280、281)上において保存されており、前記組内のそれぞれの識別子は、自身に関連付けられたアクセス権限を有しており、且つ、第2装置(250、251)の第2通信エンドポイント(260、261)の識別子は、前記リソースを保存している第2データストレージ(280、281)に対するアクセスを有する、組、
を保存している1つ又は複数の第1データストレージ(220)にアクセスするステップ(720)と、
−前記リソース識別子と関連するアクセス権限に基づいて、前記ユーザー装置(240)と関連するユーザーが、前記リソースにアクセスするための前記権限を有しているかを検証するステップ(730)と、
−前記ユーザー装置(240)と関連する前記ユーザーが、前記リソースにアクセスするための前記権限を有している場合に、前記ユーザー装置(240)に、前記要求されたリソースを保存している前記第2データストレージ(280)に対するアクセスを有する前記第2装置(250)の前記通信エンドポイント(260)の前記識別子を送信するステップ(740、540b、560c)と、
を有する方法(700)。
【請求項12】
コンピュータプログラムプロダクトであって、
一時的ではないコンピュータ可読ストレージ媒体と、
前記一時的ではないコンピュータ可読ストレージ媒体上において保存されているプログラムコードと、
を有し、
前記プログラムコードは、1つ又は複数のプロセッサによって実行された際に、前記1つ又は複数のプロセッサが、
−ユーザー装置(240)から、リソースにアクセスするための要求を受け取り(500b、500c)、
−・複数のユーザー用のユーザークレデンシャル、
・前記要求されたリソースを有する、前記複数のユーザーに属する1つ又は複数のユーザーに提示されるべきリソースの組の識別子の組であって、前記リソースの組は、2つ以上の第2装置(250、251)によってそれぞれアクセスされる2つ以上の第2データストレージ(280、281)上において保存されており、前記組内のそれぞれの識別子は、自身に関連付けられたアクセス権限を有しており、且つ、第2装置(250、251)の第2通信エンドポイント(260、261)の識別子は、前記リソースを保存している第2データストレージ(280、281)に対するアクセスを有する、組、
を保存している1つ又は複数の第1データストレージ(220)にアクセスし、
−前記リソース識別子と関連するアクセス権限に基づいて、前記ユーザー装置(240)と関連するユーザーが、前記リソースにアクセスするための権限を有しているかどうかを検証し、
−前記ユーザー装置(240)と関連する前記ユーザーが、前記リソースにアクセスするための前記権限を有している場合に、前記ユーザー装置(240)に、前記要求されたリソースを保存している前記第2データストレージ(280)に対するアクセスを有する前記第2装置(250)の前記通信エンドポイント(260)の前記識別子を送信する、
ようにする、コンピュータプログラムプロダクト。
【請求項13】
第1装置(200)であって、
−複数のユーザー用のユーザークレデンシャル、
−2つ以上の第2装置(250、251)によってそれぞれアクセスされる2つ以上の第2データストレージ(280、281)上において保存されているリソースの識別子の組であって、前記組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第2装置(250、251)の第2通信エンドポイント(260、261)の識別子は、前記リソースを保存している第2データストレージ(280、281)に対するアクセスを有する、組、
を保存する1つ又は複数の第2データストレージ(220)に対するアクセスと、
−前記1つ又は複数の第2装置(250、251)の1つ又は複数の第4通信エンドポイント(290、291)との間において接続を確立するように構成された第3通信エンドポイント(211)と、
−前記2つ以上の第2装置(250)のうちの1つからリソース識別子生成要求(520a)を受け取った際に、
−リソースの一意の識別子を生成し、
−前記リソースの前記一意の識別子に、前記2つ以上の第2装置(250)のうちの前記1つのものの識別子、又はその第2通信エンドポイント(260)を関連付け、
−前記第2装置(250)のうちの前記1つに、前記リソースの前記一意の識別子を送信する(540a)、
ように構成された第1処理ロジック(230)と、
を有する第1装置(200)。
【請求項14】
方法であって、
−2つ以上の第2装置(250)のうちの1つからリソース識別子生成要求(520a)を受け取るステップと、
−・複数のユーザー用のユーザークレデンシャル、
・リソースの組の識別子の組であって、前記リソースの組は、前記2つ以上の第2装置(250、251)によってそれぞれアクセスされる2つ以上の第2データストレージ(280、281)上において保存されており、前記組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第2装置(250、251)の第2通信エンドポイント(260、261)の識別子は、前記リソースを保存している第2データストレージ(280、281)に対するアクセスを有する、組、
を保存している1つ又複数の第1データストレージ(220)にアクセスするステップと、
−リソースの一意の識別子を生成するステップと、
−前記リソースの前記一意の識別子に、前記2つ以上の第2装置(250)のうちの前記1つのものの識別子、又はその第2通信エンドポイント(260)を関連付けるステップと、
−前記2つ以上の第2装置(250)のうちの前記1つに、前記リソースの前記一意の識別子を送信するステップ(540a)と
を有する方法。
【請求項15】
コンピュータプログラムプロダクトであって、
一時的ではないコンピュータ可読ストレージ媒体と、
前記一時的ではないコンピュータ可読ストレージ媒体上において保存されているプログラムコードと、
を有し、
前記プログラムコードは、1つ又は複数のプロセッサによって実行された際に、前記1つ又は複数のプロセッサが、
−2つ以上の第2装置(250)のうちの1つからリソース識別子生成要求(520a)を受け取り、
−・複数のユーザー用のユーザークレデンシャルと、
・リソースの組の識別子の組であって、前記リソースの組は、前記2つ以上の第2装置(250、251)によってそれぞれアクセスされる2つ以上の第2データストレージ(280、281)上において保存されており、前記組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第2装置(250、251)の第2通信エンドポイント(260、261)の識別子は、前記リソースを保存している第2データストレージ(280、281)に対するアクセスを有する、組と、
を保存する1つ又は複数の第1データストレージ(220)にアクセスし、
−リソースの一意の識別子を生成し、
−前記リソースの前記一意の識別子に、前記2つ以上の第2装置(250)のうちの前記1つの識別子、又はその第2通信エンドポイント(260)を関連付け、
−前記2つ以上の第2装置(250)のうちの前記1つに、前記リソースの前記一意の識別子を送信する(540a)、
ようにする、コンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的に、演算及び通信の分野に関する。更に詳しくは、本発明は、複数のサーバーを使用したリソースのアクセス及び管理に関する。
【背景技術】
【0002】
いまや、ユーザーに提供されるデータの量と、このようなデータを使用するアプリケーションの数と、が急激に増大するのに伴って、サーバー内において保存されているリソース及びデータに対するアクセスが、益々重要になっている。演算において、サーバーは、「クライアント」と呼称される、その他のプログラム又は装置のための機能を提供するコンピュータプログラム又は装置である。サーバーの演算は、単一の装置上において実行することも可能であり、或いは、複数の装置に跨って分散させることもできる。
【0003】
クライアントが要求を実行すると共にデータベースから情報を取得できるようにするデータベースサーバー、ファイルを保存するべく意図されたファイルサーバー、メールの送受信を可能にするメールサーバーなど...のような、いくつかの異なる種類のサーバーが存在している。
【0004】
いくつかのサーバーは、リソースに対するアクセスをクライアントに提供するべく意図されている。リソースは、ユーザーに対して提示されるようにクライアントによって取得されるべくサーバー上において保存された任意のデータ又は情報であってよい。例えば、リソースは、クライアントからの要求の際に送信されるべくサーバー内において保存されている写真であってよい。リソースに対するアクセスをクライアントに対して提供するべく意図された、このようなサーバーは、いくつかのサプリケーションにおいて使用されている。例えば、ソーシャルネットワークに専用のサーバーは、例えば、ウェブブラウザ又はモバイルアプリケーションにおいて表示されるように、要求の際にクライアントに送信される大量のリソース(写真、ビデオ、掲示...)を保存している。
【0005】
また、このような種類のサーバーは、専門的なアプリケーションのために使用することもできる。例えば、本出願人は、プレゼンテーションを実行するユーザーが、プレゼンテーションにおいて対話型コンテンツ(掲示、ゲーム...)を挿入しうる、対話型プレゼンテーションを実行するための斬新な解決策を開発した。プレゼンテーションのコンテンツは、サーバー内においてリソースとして保存することが可能であり、且つ、クライアントによる要求の際に取得することができる。このようなコンテンツは、例えば、動的なプレゼンテーションによって提示/表示されるデータ(画像、ビデオ、テキスト...)及び/又は動的プレゼンテーションの実行の際にユーザーの入力に基づいて収集されるデータ(例えば、統計、スコア、又はこれらに類似したもの)を有しうる。
【0006】
クライアントの数が増大するのに伴って、アプリケーションのためにサーバー内において保存されるデータの量も劇的に増大しうる。この結果、サーバーによって提供されるサービスの品質(QoS:Quality of Service)が、様々な理由から、相対的に乏しいものになる場合があり、即ち、サーバーの帯域幅及び/又は演算リソースが、増大する数のクライアントにおける要求を管理するのに不十分なものとなる場合があり、ユーザーの要求を管理するためのレイテンシーが増大する場合があり、また、リソースが、益々大きくなっているデータベース内において保存されている際には、データベース内のリソースについて問い合わせるための応答時間が増大する場合があり、また、ワールドワイドなクライアントのケースにおいては、すべてのサーバーが同一の場所において配置されている場合に、サーバーとは異なる国又は大陸を拠点としているクライアントが、異なる国又は大陸に跨る通信時間に起因して、高レイテンシーを経験する場合がある。
【0007】
「スケーラビリティ」という用語は、需要の増大に対応するための、且つ、相対的に大きな需要(即ち、クライアントの数の増大、提供するべきリソースの数の増大など...)に応答する際に、そのQoSを維持しうる、システム又はサービスの能力を表している。
【0008】
いくつかのサーバーアーキテクチャは、特定のインフラストラクチャが、それぞれのクライアントごとに、生成されている際には、「シングルテナント」として分類され、この場合には、例えば、それぞれのクライアント(或いは、例えば、会社などの、クライアントのグループ)には、例えば、その使用にのみ専用化された、サーバー又はデータベースなどの、専用のインフラストラクチャによってサービスすることができる。この解決策は、クライアントからのデータが別のクライアントによってアクセスされない、且つ、データを正確に見出す、ことが保証されている、という利点を提供している。但し、この解決策は、スケーラビリティの観点においては、あまり良好な結果を実現してはいない。実際に、それぞれのクライアントに関係するインフラストラクチャを別個に適合させる必要があり、この結果、クライアントのリソースニーズが増大した際に、更なるリソースを迅速に使用できるようにされる場合がほとんどなく、且つ、同時に、クライアントのリソースニーズが減少した際にも、リソースの浪費という結果をもたらす場合がある。
【0009】
サーバーアプリケーションの、もうひとつのアーキテクチャは、「マルチテナント」に分類されている。このようなアーキテクチャにおいては、同一のインフラストラクチャ(サーバー、ストレージ...)が、複数のクライアントにおいて使用されている。このタイプのアーキテクチャは、スケーラビリティを実現するべく、シングルテナントアーキテクチャよりも効率的であり、その理由は、同一のリソースが、複数のクライアントにわたって使用されており、従って、リソースをクライアントのニーズに従って動的に割り当てることができるためである。但し、このようなアーキテクチャにおいては、すべてのクライアントからのデータが、同一のストレージ内において保存されている。従って、クライアントからのデータが別の者によってアクセスされないことを保証することが、格段に困難である。更には、多数のクライアントが、世界中において配置されている場合に、通常、異なるサーバーが、限られたレイテンシーによってすべてのクライアントにサービスするべく、異なる国/大陸において配備されることになる。このようなケースにおいては、すべてのクライアントからのすべてのデータが、世界中において、異なるサーバー内において複製されることになる。これは、問題であり、その理由は、この結果、データの正確なローカリゼーションが可能とならないためであり、これは、問題であり、その理由は、クライアントが、自身のデータの物理的なローカリゼーションに関する懸念を益々抱くようになっているからである。また、これは、ストレージリソースを浪費することにもなり、その理由は、1つの国を拠点とするクライアントに属するデータが、これらが使用されない、その他の国及び大陸において複製されうるからである。
【0010】
従って、既存の解決策は、いずれも、サービスに対するユニークな且つユニバーサルなアクセス及びそれぞれのクライアントごとのデータのアクセス及びローカリゼーションの微細な制御の同時提供はできない。
【発明の概要】
【発明が解決しようとする課題】
【0011】
従って、クライアントが自身のデータのアクセス及びローカリゼーションを制御できるようにしつつ、サービスに対するユニークな且つユニバーサルなアクセスを可能にする装置に対するニーズが存在している。
【課題を解決するための手段】
【0012】
これを目的として、本発明は、第1装置を開示しており、第1装置は、ユーザー装置との間において接続を確立するように構成された第1通信エンドポイントと、複数のユーザー用のユーザークレデンシャル、2つ以上の第2装置によってそれぞれアクセスされる2つ以上の第2データストレージ上において保存されているリソースの識別子の組であって、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第2装置の第2通信エンドポイントの識別子は、リソースを保存している第2データストレージに対するアクセスを有する、組、を保存する1つ又は複数の第1データストレージに対するアクセスと、前記リソースの識別子を有する、前記リソースにアクセスするための要求をユーザー装置から受け取った際に、受け取られたリソース識別子と関連するアクセス権限に基づいて、ユーザーが、要求されたリソースにアクセスするための権限を有しているかどうかを検証し、前記ユーザー装置と関連する前記ユーザーが、要求されたリソースに対するアクセスするための権限を有している場合に、リソースを保存している第2データストレージに対するアクセスを有する第2装置の通信エンドポイントの識別子をユーザー装置に送信する、ように構成された1つ又は複数の第1処理ロジックと、を有する。
【0013】
有利には、前記1つ又は複数の第1処理ロジックは、ユーザークレデンシャルを更に有するユーザー装置からの認証要求の際に、前記ユーザークレデンシャル及び複数のユーザー用のユーザークレデンシャルに基づいて、前記ユーザー装置と関連するユーザーを認証するように構成されている。
【0014】
有利には、第1装置は、1つ又は複数の第2装置の1つ又は複数の第4通信エンドポイントとの間において接続を確立するように構成された第3通信エンドポイントを更に有する。
【0015】
有利には、第1処理ロジックは、第2装置のうちの1つからのリソース識別子生成要求を受け取った際に、リソースの一意の識別子を生成し、前記リソースの一意の識別子に、2つ以上の第2装置のうちの前記1つのものの識別子、或いは、その第2通信エンドポイント、を関連付け、2つ以上の第2装置のうちの前記1つに、リソースの一意の識別子を送信する、ように更に構成されている。
【0016】
有利には、1つ又は複数の第1処理ロジックは、1つ又は複数の第2装置がユーザーを識別し且つリソースに対するアクセスを認可できるようにする識別データ及びユーザーの識別の検証を可能にする識別検証データを生成し、且つ、ユーザー装置に、識別データを送信する、ように更に構成されている。
【0017】
有利には、1つ又は複数の第1処理ロジックは、リソースを保存している第2データストレージに対するアクセスを有する前記第2装置から前記識別データを有するユーザーを識別するための要求を受け取った際に、前記識別データ及び前記識別検証データに基づいて、ユーザーの識別を検証し、識別が検証された場合に、前記第2装置に、ユーザーの識別及びリソースにアクセスするためのユーザーの権限の検証を送信するように構成されている。
【0018】
有利には、1つ又は複数の第1処理ロジックは、リソースを保存している第2データストレージに対するアクセスを有する前記第2装置から、前記識別データを有するユーザーを識別するための要求を受け取った際に、リソースを保存している第2データストレージに対するアクセスを有する前記第2装置に、前記識別検証データを送信するように構成されている。
【0019】
有利には、1つ又は複数の第1処理ロジックは、ユーザー検証データの生成の際に、1つ又は複数の第2装置に、識別検証データを送信するように構成されている。
【0020】
有利には、1つ又は複数の第1処理ロジックは、識別データ並びに第1装置及び1つ又は複数の第2装置に共通する共有秘密キーに基づいて、識別検証データを生成するように構成されている。
【0021】
有利には、識別データは、トークンであり、且つ、識別検証データは、トークンのシグネチャである。
【0022】
また、本発明は、方法をも開示しており、方法は、リソースにアクセスするための要求をユーザー装置から受け取るステップであって、前記要求は、リソースの識別子を有する、ステップと、複数のユーザー用のユーザークレデンシャル、前記要求されたリソースを有するリソースの組の識別子の組であって、前記リソースの組は、2つ以上の第2装置によってそれぞれアクセスされる2つ以上の第2データストレージ上において保存されており、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第2装置の第2通信エンドポイントの識別子は、リソースを保存している第2データストレージに対するアクセスを有する、組、を保存している1つ又は複数の第1データストレージにアクセスするステップと、リソース識別子と関連するアクセス権限に基づいて、前記ユーザー装置と関連するユーザーが、リソースにアクセスするための権限を有しているかどうかを検証するステップと、前記ユーザー装置と関連するユーザーが、リソースにアクセスするための権限を有している場合に、ユーザー装置に、要求されたリソースを保存している第2データストレージに対するアクセスを有する第2装置の通信エンドポイントの識別子を送信するステップと、を有する。
【0023】
また、本発明は、コンピュータプログラムプロダクトをも開示しており、コンピュータプログラムプロダクトは、一時的ではないコンピュータ可読ストレージ媒体と、一時的ではないコンピュータ可読ストレージ媒体上において保存されたプログラムコードと、を有しており、プログラムコードは、複数のプロセッサによって実行された際に、1つ又は複数のプロセッサが、リソースにアクセスするための要求をユーザー装置から受け取り、前記要求は、リソースの識別子を有しており、複数のユーザー用のユーザークレデンシャル、前記要求されたリソースを有するリソースの組の識別子の組であって、前記リソースの組は、2つ以上の第2装置によってそれぞれアクセスされる2つ以上の第2データストレージ上において保存されており、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第2装置の第2通信エンドポイントの識別子は、リソースを保存している第2データストレージに対するアクセスを有する、組、を保存している1つ又は複数の第1データストレージにアクセスし、リソース識別子と関連するアクセス権限に基づいて、前記ユーザー装置と関連するユーザーが、リソースにアクセスするための権限を有しているかどうかを検証し、前記ユーザー装置と関連するユーザーが、リソースにアクセスするための権限を有している場合に、ユーザー装置に、要求されたリソースを保存している第2データストレージに対するアクセスを有する第2装置の通信エンドポイントの識別子を送信する、ようにしている。
【0024】
また、本発明は、第1装置をも開示しており、第1装置は、複数のユーザー用のユーザークレデンシャルに対するアクセスと、2つ以上の第2装置によってそれぞれアクセスされる2つ以上の第2データストレージ上において保存されているリソース識別子の組であって、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第2装置の第2通信エンドポイントの識別子は、リソースを保存している第2データストレージに対するアクセスを有する、組、を保存している1つ又は複数の第1データストレージと、1つ又は複数の第2装置の1つ又は複数の第4通信エンドポイントとの間において接続を確立するように構成された第3通信エンドポイントと、2つ以上の第2装置のうちの1つからリソース識別子生成要求を受け取った際に、リソースの一意の識別子を生成し、前記リソースの一意の識別子に、2つ以上の第2装置のうちの前記1つのものの識別子、或いは、その第2通信エンドポイント、を関連付け、第2装置のうちの前記1つのものに、リソースの一意の識別子を送信する、ように構成された第1処理ロジックと、を有する。
【0025】
また、本発明は、方法をも開示しており、方法は、2つ以上の第2装置のうちの1つからリソース識別子生成要求を受け取るステップと、複数のユーザー用のユーザークレデンシャル、リソースの組の識別子の組であって、前記リソースの組は、前記2つ以上の第2装置によってそれぞれアクセスされる2つ以上の第2データストレージ上において保存されており、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第2装置の第2通信エンドポイントの識別子は、リソースを保存している第2データストレージに対するアクセスを有する、組、を保存している1つ又は複数の第1データストレージにアクセスするステップと、リソースの一意の識別子を生成するステップと、前記リソースの一意の識別子に、2つ以上の第2装置のうちの前記1つのものの識別子、或いは、その第2通信エンドポイント、を関連付けるステップと、2つ以上の第2装置のうちの前記1つのものに、リソースの一意の識別子を送信するステップと、を有する。
【0026】
また、本発明は、コンピュータプログラムプロダクトをも開示しており、コンピュータプログラムプロダクトは、一時的ではないコンピュータ可読ストレージ媒体と、一時的ではないコンピュータ可読ストレージ媒体上において保存されたプログラムコードと、を有し、プログラムコードは、1つ又は複数のプロセッサによって実行された際に、1つ又は複数のプロセッサが、2つ以上の第2装置のうちの1つからリソース識別子生成要求を受け取り、複数のユーザー用のユーザークレデンシャル、リソースの組の識別子の組であって、前記リソースの組は、前記2つ以上の第2装置によってそれぞれアクセスされる2つ以上の第2データストレージ上において保存されており、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第2装置の第2通信エンドポイントの識別子は、リソースを保存している第2データストレージに対するアクセスを有する、組、を保存している1つ又は複数の第1データストレージにアクセスし、リソースの一意の識別子を生成し、前記リソースの一意の識別子に、2つ以上の第2装置のうちの前記1つのものの識別子、或いは、その第2通信エンドポイントを関連付け、前記2つ以上の第2装置のうちの1つのものに、リソースの一意の識別子を送信する、ようにしている。
【0027】
本開示は、ユーザー装置が、サービスに対するユニバーサルな且つ中央集中化されたアクセスから受益することを可能にする。
【0028】
本開示は、異なるクライアントに属するリソースの間の厳格な分離のみならず、データのローカリゼーションの厳格な制御も可能にする。
【0029】
本開示は、スケーラブルなアプリケーションの成功裡の開発を可能にする。
【0030】
本発明は、帯域幅及びストレージニーズの低減のみならず、リソースを得るためのレイテンシーの低減をも可能にする。
【0031】
特定の態様において、本開示は、ユーザーの間において共有されるファイルのサイズの低減を可能にする。
【0032】
特定の態様において、本開示は、リソースアクセス及び新たに生成されたリソースのローカリゼーションを厳格に制御しつつ、新しいリースの生成を可能にする。
【0033】
特定の態様において、本開示は、多数の異なる装置内におけるリソースの再パーティション化にも拘らず、ユニバーサルなアクセスポイントにおける、中央集中化された方式による、ユーザーの識別、認証、並びに、リソースのアクセス権限、の管理を可能にする。
【0034】
いくつかの例示用の実施形態に関する以下の説明及びその以下の添付の図から、本発明について更に十分に理解され、且つ、その様々な特徴及び利点について、明らかとなろう。
【図面の簡単な説明】
【0035】
【
図1】従来技術における、ユーザーに対する要求の際に、ユーザーを識別し、且つ、データを供給する、ように構成されたサーバーの一例を描く。
【
図2】本発明のいくつかの実施形態における装置の一例を描く。
【
図3】本発明のいくつかの実施形態における、サーバーの機能的アーキテクチャの一例を描く。
【
図4a】それぞれ、本発明のいくつかの実施形態における、ユーザーのやり取りの3つのフローチャートを描く。
【
図4b】それぞれ、本発明のいくつかの実施形態における、ユーザーのやり取りの3つのフローチャートを描く。
【
図4c】それぞれ、本発明のいくつかの実施形態における、ユーザーのやり取りの3つのフローチャートを描く。
【
図5a】は、本発明のいくつかの実施形態における、リソースの生成及び取得用の例示用のフローチャートを描く。
【
図5b】は、本発明のいくつかの実施形態における、リソースの生成及び取得用の例示用のフローチャートを描く。
【
図5c】は、本発明のいくつかの実施形態における、リソースの生成及び取得用の例示用のフローチャートを描く。
【
図5d】は、本発明のいくつかの実施形態における、リソースの生成及び取得用の例示用のフローチャートを描く。
【
図5e】は、本発明のいくつかの実施形態における、リソースの生成及び取得用の例示用のフローチャートを描く。
【
図6a】それぞれ、従来技術における、且つ、本発明のいくつかの実施形態における、サーバーを通じたデータに対するアクセスの2つの例を描く。
【
図6b】それぞれ、従来技術における、且つ、本発明のいくつかの実施形態における、サーバーを通じたデータに対するアクセスの2つの例を描く。
【
図7】本発明のいくつかの実施形態における方法の一例を描く。
【発明を実施するための形態】
【0036】
図1は、従来技術における、ユーザーに対する要求の際に、ユーザーを識別し、且つ、データを供給する、ように構成されたサーバーの一例を描いている。
【0037】
サーバー100は、物理的又は仮想的な装置110であり、且つ、リソースに対するアクセスを認可するべく、ユーザーを識別するように、構成されている。
【0038】
これを目的として、サーバー100は、ユーザーの識別と関係するデータ及びアクセス対象のリソースの両方を有するデータベース140に対するアクセスを有する。サーバーは、ログイン及びパスワードなどの、関連するデータに基づいて、識別要求の際に、ユーザーを識別するように構成された識別サービスを実行している。
【0039】
また、サーバー100は、リソースに対するアクセス権限を含むユーザークレデンシャルを有するマネージャを実行している。従って、サーバー100は、ユーザーからのリソース要求の際に、ユーザーが、リソースにアクセスするための権限を有しているかどうかを検証することが可能であり、且つ、権限を有している際に、リソースをユーザーに返送することができる。
【0040】
サーバー100は、すべてのユーザー/クライアント用のすべてのリソースに対するユニバーサルなアクセスを提供している。但し、すべてのクライアントからのすべてのリソースが、同一のサーバーによってアクセスされている。従って、様々なクライアントに属するデータを物理的に分離することが可能ではない。更には、サービスのワールドワイドな供給が必要とされている場合には、データベース140のすべてのデータが、いくつかのサーバーに、ワールドワイドに複製されることになる。これは、ストレージ空間の浪費を結果的にもたらし、その理由は、1つの国の内部において消費されうる所与のユーザーからのデータが、無用に、ワールドワイドに複製されることになるからである。その一方において、このワールドワイドな複製は、データのローカリゼーションの制御を不可能にしている。
【0041】
図2は、本発明のいくつかの実施形態における装置の一例を描いている。
【0042】
本発明のいくつかの実施形態において、ユーザー装置240は、リソースにアクセスするための要求を送信している。ユーザー装置は、通信及び処理の能力を有する任意の適切な種類の装置であってよい。例えば、ユーザー装置は、スマートフォン、タブレット、パーソナルコンピュータ、又はスマートウォッチであってよい。リソースには、例えば、ウェブブラウザ又はコンピュータアプリケーションを使用することにより、アクセスすることができる。
【0043】
本開示において、本発明は、ユーザー装置のアクセスリソースが、動的プレゼンテーションの実行を可能にするリソースにアクセスしている、アプリケーションにより、例示することとする。例えば、リソースは、写真、ビデオであってもよく、或いは、動的な投票又は得点集計活動であってもよい。得点集計活動は、例えば、動的プレゼンテーションの閲覧者からの入力に基づいた得点の取得を可能にする活動である。例えば、投票のケースにおいては、閲覧者は、限られたリスト内において項目を選択することにより、投票することが可能であり、且つ、投票は、収集される。動的プレゼンテーションの最中にユーザーからデータを収集する任意の種類の活動を挿入することができる。但し、本発明は、これらの例に限定されるものではなく、且つ、本発明は、ユーザー装置が、表示されうる、再生されうる、実行されうる、或いは、更に一般的には、ユーザー装置240によって処理されうる、任意の種類のリソースにアクセスできるようにするべく、使用することができる。例えば、リソースは、オーディオ又はビデオ処理など...のために使用される、オフィスファイル、マスタファイルであってよい。更に一般的には、本発明は、コンピュータによって読み取り可能な任意のデータ及びバイナリ形態において保存されうる任意のデータに適用可能である。
【0044】
更に詳しく後述するように、ユーザー装置は、まず、リソースにアクセスするための要求を第1装置200に送信しており、第1装置200は、ユーザー装置240に、リソースに対するアクセスを実際に有する第2装置250に対して第2要求を実行するべく必要とされる要素を提供している。
【0045】
本開示において、リソースは、2つ以上の第2装置250、251によってそれぞれアクセスされる2つ以上のデータストレージ280、281上において配置されている。例えば、第2装置250は、リソースのいくつかを保存している第2データストレージ280に対するアクセスを有している一方で、第2装置251は、その他のリソースを保存している第2ストレージ281に対するアクセスを有している。
【0046】
第1装置200及び2つ以上の第2装置250、251は、演算及び通信能力を有する、且つ、ストレージ能力に対するアクセスを有する、任意の適切な装置であってよい。例えば、第1装置200及び2つ以上の装置250、251は、パーソナルコンピュータ又はサーバーであってよい。
図2には、2つの装置のみが表されているが、本発明は、多数の第2装置に適用可能である。従って、第2装置の数は、ユーザーのリソースニーズに従って、但し、動作ニーズにも従って、適合させることができる。例えば、第2装置は、ユーザーについて設定されていてもよく、且つ/又は、国又は領域に専用のものになっていてもよい。
【0047】
2つ以上の第2データストレージ280、281は、データを保存及び取得するのに適した任意のタイプのストレージであってよい。例えば、2つ以上の第2データストレージ280、281は、メモリ、ハードディスク、光ディスクなど...のうちの1つ又は複数であってよい。
図2においては、2つ以上の第2データストレージ280、281は、それぞれ、2つ以上の第2装置250、251内において表されている。但し、2つ以上の第2データストレージ280、281は、1つ又は複数の第2装置250、251内において配置されてもよいが、本発明は、この例に限定されるものではない。例えば、2つ以上の第2データストレージ280、281のうちのいくつか又はすべては、2つ以上の第2装置250、251がそれぞれアクセスを有する、共有されたハードドライブであってもよく、共有されたデータベースに属していてもよく、或いは、2つ以上の第2装置250、251に接続された装置内において配置されていてもよい。例えば、本開示は、データが、共有されたハードディスク/データベース上において保存されている、サーバーファームに適用可能である。但し、これは、データのローカリゼーションを正確に定義する、且つ、異なるクライアントに属するデータを厳格に分離する、ための本発明の能力を限定するものではない。実際に、例えば、サーバーファームなどの、1つ又は複数のデータストレージに関連する装置の組は、単一のクライアントに専用のものであってもよい。
【0048】
第1装置200及び第2装置250、251は、それぞれ、ユーザー装置240との間において接続を確立するように適合された第1通信エンドポイント210及び第2通信エンドポイント260、261を有する。第2通信エンドポイント260、261は、例えば、WAN接続又は通信ポートであってよい。本発明の様々な実施形態によれば、第2通信エンドポイント260、261は、TCP/IPポートなどの、ユーザー装置240との間の通信を可能にする任意の手段を有しうる。
【0049】
また、第1装置200及び第2装置250、251は、それぞれ、処理ロジック230、231、270、271を有する。本開示において、処理ロジックは、ソフトウェア命令に従って動作するプロセッサ、プロセッサのハードウェア構成、又はこれらの組合せであってよい。本明細書において記述されている機能のうちの任意のもの又はすべては、純粋なハードウェア実装形態において、且つ/又は、ソフトウェア命令に従って動作するプロセッサにより、実装されうることを理解されたい。また、任意の又はすべてのソフトウェア命令は、一時的ではないコンピュータ可読媒体内において保存されうることを理解されたい。従って、同一の装置の複数の処理ロジックは、例えば、異なるプロセッサ、異なる命令を実行するように構成された同一のプロセッサ、或いは、1つ又は複数のプロセッサを構成するための複数のコンピュータ命令、であってもよい。
【0050】
第2装置250、251によってアクセスされる第2データストレージ280、281のうちにおけるリソースの再パーティション化は、様々な規則に従って実行することができる。例えば、それぞれのクライアント又は会社は、そのリソースを保存するべく、その独自の第2装置を有していてもよく、即ち、装置又はストレージは、それぞれの国など...ごとに定義されていてもよい。従って、本開示は、有利には、異なる第2装置によってアクセスされる異なるストレージ内への、それぞれのクライアント、国など...のリソースの完全な分離を可能にしており、且つ、従って、クライアントニーズに応じた異なるクライアントのリソースの完全な分離を保証している。更には、それぞれのクライアントが、そのリソースが保存される装置を正確に定義することができることから、本開示は、データのローカリゼーションの正確な定義を可能にする。例えば、本開示は、それぞれのクライアントが、そのリソースがその独自の国の内部において保存されることを保証できるようにする(即ち、仏国のクライアントに属するリソースが仏国内に存在し、独国のクライアントに属するリソースが独国内に存在している、など...)。
【0051】
データの所有権及びローカリゼーションに関する懸念が増大していることから、この能力は、戦略又はコンフィデンシャルデータを保存しているクライアントにとって、非常に重要である。更には、いまや、欧州規制(EU:European Regulation)2016/679又は一般データ保護規則によって提示されているように、データのローカリゼーション及び保護も、法的な課題となっている。従って、本開示は、ユーザー及びクライアントによるリソースのローカリゼーション及びアクセス権限の効率的な制御を可能にすることにより、ユーザー及びクライアントがデータの保護との関係において法的要件に準拠することを支援することができる。
【0052】
また、第1装置は、1つ又は複数の第1データストレージ220に対するアクセスをも有する。第2データストレージ280、281を参照することによって既に説明したように、第1データストレージ220は、第1装置200内において、或いは、第1装置と関連する装置内において、配置することができる。
【0053】
第1データストレージ220は、複数のユーザー用のユーザークレデンシャルを保存している。ユーザークレデンシャルは、ユーザーのパーソナルデータ(名前、メールアドレス、など...)、ユーザーの認証を可能にするデータ、及びユーザーがアクセスする権利を有するリソースを定義するデータを有する、様々なデータを有しうる。ユーザーの認証を可能にするデータは、ユーザーによって入力された秘密コードが正しいものであることの検証を可能にするハッシュなどの、任意の適切な形態を有しうる。また、認証を可能にするデータは、アクセスコードであってもよい。アクセスコードは、単一のリソース、或いは、リソースの限られた組、にアクセスするための需要に基づいて生成された秘密コードである。アクセスコードは、登録済みのユーザーが、登録されてはいないユーザーによってリソースがアクセスされることを必要とする動的プレゼンテーションを実行することを所望した際に、有用であり、即ち、動的プレゼンテーションによって必要とされる、単一のリソース又はリソースの限られた組に対するアクセスのみを認可するアクセスコードを生成することができる。この結果、登録されてはいないユーザーは、動的プレゼンテーションを成功裡に観察することができる。アクセスコードは、動的プレゼンテーションが実行されるべく意図されている際に(例えば、1日、1週間など...にわたって)のみ、登録されてはいないユーザーがリソースにアクセスできるようにするべく、失効期限を有しうる。
【0054】
また、上述のように、第1データストレージ220は、ユーザーがアクセスするための権限を有するリソースを定義したデータをも保存している。このデータは、様々な形態を有しうる。例えば、これは、ユーザーがアクセスする権限を有するリソースの識別子のリストであってよい。本発明の様々な実施形態によれば、リソースとの関係におけるアクセス権限は、様々な方式により、定義することができる。例えば、ユーザーには、アクセスコードを通じて定義されたリソースに対するアクセスを認可することができる。また、多数のリソースを包含する環境を定義することも可能である。本出願人の動的プレゼンテーションフレームワークにおいては、このような環境は、「ユニバース(universe)」と命名されている。このような種類の環境には、その他の名前も付与されうるが、本開示の残りの部分においても、この命名法を踏襲することとする。例えば、会社は、その独自のユニバースを定義することできると共に、ユニバースに対するアクセスを有するユーザー(例えば、会社の従業員)は、ユニバースに属するリソースのすべてに対するアクセスを有しうる。
【0055】
また、1つ又は複数の第1データストレージ220は、リソースの識別子の組を保存しており、それぞれのリソースは、リソースを明確に取得できるようにする一意の識別子と関連付けられている。
【0056】
リソースのそれぞれの識別子は、リソースにアクセスするための権限を有するユーザーを定義する、自身と関連付けられたアクセス権限を有する。アクセス権限は、様々な方式により、定義することができる。例えば、アクセス権限は、それぞれのリソースごとに、リソースに対するアクセスを有するユーザーのリストを明示的に定義することができる。また、アクセス権限は、リソースと間接的に関連付けられていてもよく、例えば、リソースは、会社のユニバースに属するものとして定義することができると共に、アクセス権限をこのユニバースと関連付けることができる。例えば、会社の従業員のみが、会社のユニバースに属するリソースに対するアクセスを有しうる。更に一般的には、アクセス権限は、リソースのグループに対して定義することができる。
【0057】
また、リソースのそれぞれの識別子は、リソースを保存している第2データストレージ280、281に対するアクセスを有する、第2装置250、251の第2通信エンドポイント260、261の識別子に対しても関連付けられている。本発明の様々な実施形態によれば、このような識別子は、ユーザー装置240が第2装置との接続を開始できるようにする任意の識別子であってよい。例えば、識別子は、第2装置に対する接続の開始を可能にする、URL又はIPアドレスであってよい。従って、第2装置の第2通信エンドポイントの識別子は、すべての第2装置のうちにおける、リソースに対するアクセスを認可しうるものの識別を可能にする。アクセス権限については、第2通信エンドポイントの識別子は、様々な方式により、第2リソースの識別子に対して関連付けることができる。例えば、これは、リソースの所与の識別子について、リソースを保存している第2データストレージ280、281に対するアクセスを有する第2装置250、251の第2通信エンドポイント260、261の識別子を定義することにより、直接的に関連付けることができる。また、これは、間接的に関連付けることもできる。例えば、第2通信エンドポイント260、261をユニバースに関連付けることができる。これにより、リソースがユニバースに属している場合には、これは、ユニバースと関連する第2通信エンドポイント260、261に関連付けられている。この結果、例えば、会社によって使用されるリソースなどのように、ユニバースに属するすべてのリソース用の単一の通信エンドポイントを定義することが可能となる。
【0058】
本発明の様々な実施形態によれば、リソース識別子は、様々な方式により、保存することができる。例えば、一意のリソース識別子は、1つ又は複数のデータストレージ220が、すべてのリソースの、すべてを網羅したリストを保存するように、それぞれのリソースごとに保存することができる。或いは、この代わりに、リソースの識別子は、一般的な識別子(例えば、第2装置、サーバー、ユニバース...の識別子)と、一般的な識別子に依存するリソースの一意の識別子と、から形成することもできる。このような種類の識別子の一例は、第2装置のうちの1つのもののアドレスを有するurlと、これに後続する、リソースの一意の識別子、であってよい。このような一例においては、第2通信エンドポイント260、261及びアクセス権限を一般的な識別子に対して関連付けることができる。
【0059】
リソースを取得するべく、ユーザー装置240は、第1装置200に対する要求を実行することができる。要求は、アクセスするためのリソースの識別子を有する。
【0060】
要求を受け取った際に、1つ又は複数の第1処理ロジック230は、リソース識別子と関連するアクセス権限に基づいて、ユーザーがリソースにアクセスするための権限を有しているかどうかを検証するように、構成されている。これは、ユーザーが、リソースに対するアクセスを有するユーザーアカウントに属しているかどうか、或いは、ユーザーが、リソースが属するユニバースに対するアクセスを有しているかどうか、の検証などの、任意の適切な方式により、実行することができる。
【0061】
ユーザーが、リソースにアクセスするための権限を有する場合に、1つ又は複数の第1処理ロジック230は、ユーザーに、リソースを保存している第2データストレージに対するアクセスを有する第2装置の通信エンドポイントの識別子を送信するように、構成されている。
【0062】
例えば、リソースが第2ストレージ280内において配置されていた場合には、1つ又は複数の第1処理ロジック230は、ユーザー装置240に、ユーザー装置が第2装置250に接続できるようにする第2通信エンドポイント260の識別子を送信するように、構成されている。その一方で、リソースが第2ストレージ281内において配置されている場合には、1つ又は複数の第1処理ロジック230は、ユーザー装置240に、ユーザー装置が第2装置251に接続できるようにする第2通信エンドポイント261の識別子を送信するように、構成されている。この結果、ユーザー装置が、望ましいリソースを供給しうる第2装置との間において通信を確立することが可能となる。
【0063】
本発明のいくつかの実施形態においては、ユーザー装置240は、ユーザーが、異なる装置との間における接続が使用されることに気付かないように、関連する第2装置に直接的にリダイレクトされている。
【0064】
従って、ユーザー装置240は、関連する第2ユーザー装置にアクセスを提供している単一のエントリポイント(この例においては、第1ユーザー装置200)と通信している。この結果、すべてのユーザー装置が、サービスに対するユニバーサルな且つ中央集中化されたアクセスから受益することが可能となる。
【0065】
その一方で、異なる第2装置に跨ってリソースを割り当てることにより、異なるクライアントに属するリソースの間の厳格な分離のみならず、データのローカリゼーションの厳格な制御が可能となる。
【0066】
第2装置のストレージ及び演算能力は、そのニーズに従って、それぞれのクライアントごとに適合させることができる。従って、このアーキテクチャは、スケーラブルなアプリケーションの成功裡の開発を可能にする。
【0067】
また、第2装置のうちにおけるデータのローカリゼーションは、それぞれのクライアントのリソースが、クライアントのオフィス、或いは、更に一般的には、これらが消費されることになる場所、に可能な限り接近して配置されるように、設定することができる。リソースとクライアントの間の近さは、帯域幅ニーズと、リソースを取得するためのレイテンシーと、を減少させる。その一方で、マルチテナントアーキテクチャにおけるように、全世界にわたっていない場合にも、複数の場所において、すべてのリソースを複製することが必要とはされていない。従って、
図2に表示されているアーキテクチャは、ストレージニーズを低減している。
【0068】
本発明のいくつかの実施形態において、第1装置200は、ユーザー装置240からの認証要求の際に、ユーザーを認証するように構成された処理ロジック231を有する。このような認証要求は、ユーザークレデンシャルを有していてもよく、且つ、認証を実行するための任意の適切な手段を使用することができる。例えば、ログイン及びパスワードを使用する認証方法を使用することができる。本発明の様々な実施形態によれば、処理ロジック231は、例えば、異なる命令によって動作する第1処理ロジック230と同一のプロセッサ、或いは、第2装置200の別のプロセッサ、であってよい。
【0069】
更に詳細に後述するように、本発明のいくつかの実施形態において、第1装置200及び1つ又は複数の第2装置250、251は、例えば、ユーザーとの関係において認証情報を交換する、などのように、通信する必要がある。これを目的として、第1装置200は、第3通信エンドポイント211を有することができると共に、1つ又は複数の第2装置250、251は、それぞれ、第3通信エンドポイント211との間において接続を確立するように構成された1つ又は複数の第4通信エンドポイント290、291を有することができる。従って、第1装置200及び1つ又は複数の第2装置250、251は、
図5C〜
図5eを参照して更に詳細に説明するように、ユーザーの識別及び/又は認証との関係において情報を交換するべく、直接的に通信することができる。
【0070】
図3は、本発明のいくつかの実施形態におけるサーバーの機能的アーキテクチャの一例を描いている。
【0071】
第1サーバー300は、物理サーバー、或いは、第1装置200上において稼働する仮想機械(VM:Vertual Machine)310上において稼働する仮想サーバー、として機能する第1装置200であってよい。第1サーバーは、ユーザーが自身を識別し、且つ、リソースを要求する、ためのユニークなユニバーサルアクセスポイントとして機能している。
【0072】
第2及び第3サーバー301及び302は、それぞれ、第2装置250及び251、或いは、それぞれ、第2装置250及び251上において稼働するVM311、312、であってよい。第2及び第3サーバーは、実際には、リソースを保存し、且つ、ユーザーに供給している。多数のサーバーが、リソースを保存及び供給するべく使用されうるが、ユーザーが、自身を識別し、且つ、当初、リソースを要求する、ためのユニバーサルアクセスポイントとして機能しているのは、第1サーバーである、単一のサーバーのみである。
【0073】
第1サーバー300は、ユーザー用の識別データ、リソース識別子、リソースアクセス権限、及びリソースを保存するサーバーとの関係におけるデータを保存する、データベース340に対するアクセスを有する。第2サーバー301及び第3サーバー302は、それぞれ、実際にリソースを保存しているデータベース341、342に対するアクセスを有する。
【0074】
ユーザーからのリソース要求の際に、第1サーバー300は、リソースに対するアクセスを有するサーバーに応じて、ユーザーを第2サーバー301又は第3サーバー302にリダイレクトしている。
【0075】
従って、
図1において例示されている従来技術の解決策とは異なり、様々なユーザーによって所有されているリソースが、異なるサーバー内において配置されている。従って、これらの場所を制御することが可能であり、且つ、ユーザーに属するデータが別のものによってアクセスされるリスクが存在してはいない。その一方で、ユーザーは、サーバーに対するユニークな且つユニバーサルなアクセスという利益を享受している。
【0076】
図4a〜
図4cは、それぞれ、本発明のいくつかの実施形態におけるユーザーのやり取りの3つのフローチャートを描いている。
【0077】
図4aは、ユーザーの識別及びリソースに対するアクセスの一例のフローチャートを表示している。
【0078】
上述のように、ユーザーは、複数のユニバース又は環境/プラットフォームに対するアクセスを有していてもよく、この場合に、それぞれのユニバースは、1つ又は複数の第2装置250、251のうちの少なくとも1つによって制御されている。例えば、ユニバースは、例えば、会社、アプリケーション、国など...のような、リソースの任意の纏まりのあるグループに対応しうる。
【0079】
この例においては、ユーザー(更に詳しくは、ユーザー装置240)が、接続要求を第1装置200に送信している。ユーザーは、当初、識別されてはいない。従って、第1装置200は、ユーザーを認証し、且つ、ユーザーの認証のクッキートークンを生成している。次いで、ユーザーは、第2装置250、即ち、ユーザーの既定のプラットフォーム、にリダイレクトされている。
【0080】
次いで、ユーザー装置240は、第2装置250のプラットフォームにアクセスするための要求を送信している。クッキーに基づいて、ユーザーを識別することができない場合には、ユーザーは、第1装置200にリダイレクトされるが、ユーザーを識別可能である場合には、ユーザーがリソースを要求及び表示できるように、ユーザーの環境がユーザーに表示される。
【0081】
図4bは、リソースに対するアクセスの一例のフローチャートを表示している。
【0082】
ユーザー(更に詳しくは、ユーザー装置240)は、まず、リソースの識別子を使用することにより、リソース要求を第1装置200に送信している。この例においては、第1装置200は、アクセスサービスを実行するサーバーである。リソースの存在及びリソースにアクセスするためのユーザーの権限が検証されたら、ユーザーは、リソースに対するアクセスを有するプラットフォーム、この例においては、第2装置250、にリダイレクトされている。
【0083】
従って、ユーザー装置240は、リソースの識別子を使用することにより、リソース要求を第2装置250に対して送信している。第2装置250は、リソースに対するアクセスを検証し、且つ、リソースがユーザーに対して表示されうるように、リソースをユーザー装置240に返送している。
【0084】
図4cは、プラットフォーム切り替えの一例のフローチャートを表示している。
【0085】
いくつかのケースにおいて、ユーザーは、自身がログインしたプラットフォームとは異なるプラットフォームに対してアクセスすることを所望する場合がある。例えば、ユーザーは、例えば、1つ又は複数の第2装置250、251のうちの別の第2装置251などの、別のアプリケーションのリソースに対するアクセスを有するプラットフォームにアクセスすることを所望する場合がある。これを目的として、ユーザー装置240は、例えば、第2装置251などの、別のプラットフォームに切り替えるための要求を送信している。要求は、クッキーを有しており、且つ、第2装置251は、クッキーからユーザーの識別を実行し、且つ、新しいプラットフォームのコンテンツを表示している。
【0086】
図5a〜
図5eは、本発明のいくつかの実施形態におけるリソースの生成及び取得用の例示用のフローチャートを描いている。
【0087】
図5a〜
図5eは、ユーザー装置240、第1装置230、第2装置250、並びに、
図5c〜
図5eの場合には、第2装置251を表している。但し、これらは、例としてのみ表されており、且つ、
図5a〜
図5eの例は、本発明が実装されうる任意の装置により、実装することができる。
【0088】
図5a〜
図5eの例において、第1装置240及び第2装置250及び251は、例えば、ユーザー装置に、例えば、アプリケーションによって必要とされるリソース、並びに、動的プレゼンテーションを実行するためのアプリケーション、を提供するように構成された物理的且つ/又は仮想的なサーバーであってよい。
【0089】
図5aは、本発明のいくつかの実施形態におけるリソースの生成の例示用のフローチャートを描いている。
【0090】
図4a〜
図4cを参照して説明したように、ユーザーは、ユーザーに、コンテキストのために必要とされるリソースを有する環境を提供している第2装置250に接続することが可能であり、この場合に、このような環境も、「ユニバース」と呼称されている。本発明の様々な実施形態によれば、ユーザーは、第2装置250に既に接続されていてもよく、その理由は、これが、第2装置250がアクセスしたリソースを要求した、且つ/又は、第2装置250が、ユーザーの既定のユニバースをユーザーに提供している、からである。例として、
図5aについては、第2装置250によって例示することとする。但し、これは、例として提供されるものに過ぎず、且つ、この例は、本発明の第2装置の任意のものについて実装することができる。
【0091】
ユーザー装置240のユーザーは、新しいリソースを生成することを所望している。例えば、ユーザーは、動的プレゼンテーション用の動的コンテンツ(即ち、投票、ゲーム、など...)を生成した状態にあってもよく、且つ、将来の使用のために、このコンテンツをオンラインで保存すること及び/又は動的プレゼンテーションを観察する際にその他のユーザーがコンテンツにアクセスできるようにすることを所望している。
【0092】
これを目的として、ユーザー装置240は、リソース生成要求510aを第1装置250に送信している。リソース生成要求は、例えば、ユーザーがリソースに変換することを所望しているコンテンツを含みうる。
【0093】
リソース生成要求510aを受け取った際に、第2処理ロジック270は、リソース識別子生成要求520aを生成するように、構成されており、これは、第4通信エンドポイント290を通じて第1装置200に送信される。リソース識別子生成要求は、新たに生成されたリソース用のリソース識別子(或いは、id)を生成するための要求である。
【0094】
リソース通信要求520aを受け取った際に、第1処理ロジック230は、コンテンツに対応するリソース識別子を生成している。リソース識別子は、一意である必要がある。この要件が充足された場合に、一意のリソース識別子を生成するべく、いくつかの異なるモデルが使用されてもよく、即ち、属性に対するリソース識別子をそれぞれのリソース識別子要求ごとに増分することが可能であり、リソース識別子を第2装置250のid及び第2装置250から受け取られた要求の数など...のようなユニークなパラメータに基づいて生成することができる。一意のリソースidを生成するための任意の適切な実施形態が本発明に適用可能である。例えば、一意のリソース識別子は、限られた文字の組を使用するランダムな又は疑似ランダムな生成方法を使用することにより、生成することができる。文字の組は、英数文字(文字+数字)を有しうる。本発明のいくつかの実施形態において、文字の組は、ユーザーが誤ったアクセスコードを入力する確率を低減するべく、ユーザーによって読み取られる/入力される際に、解釈の誤りが発生しうる英数文字(例えば、0又はO、1又はI)を有してはいない。
【0095】
次いで、リソースの識別子が、1つ又は複数のデータストレージ220上において保存されている530a。また、リソースに対するアクセスを有する第2装置250及び/又は第2通信エンドポイント260を表すデータも、1つ又は複数のデータストレージ220内において保存される必要あり、且つ、リソース識別子に関連付けられる必要がある。このデータは、多くの異なるタイプ(第2装置250のid、第2通信エンドポイント260の記述子又は識別子...)を有しうる。この結果、第2通信エンドポイント260の識別子とリソースの識別子の間の直接的又は間接的な関連付けが可能となる。この識別子は、更に詳細に後述するように、リソース要求の際に、ユーザーに送信することができる。1つ又は複数のデータストレージ220内におけるデータの保存及び関連付けは、データが保存及び取得されうる場合に、多くの異なる方式により、実行することができる。例えば、データは、定義されたフォーマット(例えば、表)を有するファイル内において、或いは、データベース内において、保存することができる。本発明のいくつかの実施形態において、リソース識別子は、第2装置250の識別子又は第2通信エンドポイント260に応じて、生成されている。例えば、リソース識別子は、リソースの一意の識別子によって後続される、第2通信エンドポイント260のurlであってよい。このようなケースにおいて、リソースの一意の識別子は、第1データストレージ220内において保存される必要はなく、その理由は、第2装置220が、リソース識別子に基づいて、ユーザーを第2装置250にリダイレクトしうるからである。
【0096】
本発明の様々な実施形態によれば、(例えば、アクセス権限が、第2装置250によってアクセスされるすべてのリソースに関連付けられている場合に)リソースに対するアクセス権限の、リソースの記述子やリソースタイプなどの、その他のデータを直接的又は間接的にリソース識別子に関連付けることができる。
【0097】
次いで、リソース識別子が、第2装置250に返送され、これにより、リソース識別子が成功裡に生成されたことをアクノリッジしている。
【0098】
リソース識別子を受け取った際に、第2処理ロジック270は、リソース識別子と、関連付けられたコンテンツと、を1つ又は複数の第2データストレージ280に保存するように構成されている550a。この場合にも、本発明においては、リソース識別子及びコンテンツを保存し、且つ、これらを関連付ける、ための任意の適切な手段を使用することができる。
【0099】
この結果、リソースが生成され、且つ、リソース識別子がユーザー装置240に送信されている560a。従って、ユーザーは、リソースを自由に使用することが可能であり、且つ、リソースを有するコンテンツを容易に共有することができる。後述するように、その他のユーザーがリソースを取得できるようにすることになる、一意のリソース識別子を規定することにより、リソースを簡単に追加することができる。例えば、リソースが動的プレゼンテーションにおける動的コンテンツである場合に、対応する一意のリソース識別子を有するユーザー装置240内において、プレゼンテーションファイルを生成することができる。ユーザーがその他のユーザーに対する動的プレゼンテーションファイルを共有している際には、ユーザーのユーザー装置は、更に詳細に後述するように、一意のリソース識別子を使用することにより、第2装置250からリソースを取得することができる。
【0100】
この例は、新しいコンテンツを生成し、且つ、その他のユーザーとの間においてコンテンツを容易に共有する、本発明の能力を実証している。コンテンツが1つ又は複数の第2データストレージ280内において保存されていることから、ユーザー内において共有される必要があるのは、リソース識別子のみである。この結果、有利には、リソースが大きなコンテンツ(例えば、ビデオ)を表している場合に、ユーザー内において共有されるファイルのサイズを低減することができる。更には、それぞれのリソース生成において、ユニバーサルアクセスを提供している第2装置200は、新しいリソースが生成されたことを知るのみであり、リソースの実際のコンテンツに関するなんらの知識をも有してはいない。その一方で、リソースは、実際には、ユーザーが属するユニバースに対する保護されたアクセスを提供している第2装置250により、生成されている。従って、データアクセス及びデータローカリゼーションの制御が、それぞれのリソース生成において維持されている。
【0101】
図5bは、本発明のいくつかの実施形態におけるリソースの取得の例示用のフローチャートを描いている。
【0102】
この例において、ユーザー装置240は、リソースの場所のなんらの先験的な知識をも伴うことなしに、リソースを取得するための要求を実行している。このようなケースは、通常、ユーザー装置が、別の装置によって送信されたファイル又はコンテンツを使用している際に発生する。例えば、ユーザー装置240は、別のユーザーによって生成された、且つ、動的コンテンツを有する、動的プレゼンテーションを観察している最中でありうる。動的プレゼンテーションは、動的プレゼンテーションファイルの形態において読み取られており、この場合に、リソースは、その識別子によって識別されている。従って、ユーザー装置240は、リソースの場所に関するなんらの先験的な知識をも伴うことなしに、リソース識別子のみに基づいて、リソースを取得する必要がある。
【0103】
これを目的として、ユーザー装置は、第1装置200に、リソースの識別子を有するリソースアクセス要求500bを送信している。
【0104】
要求を受け取った際に、ユーザーが、既にログイン済みではない場合には、処理ロジック231は、ユーザーを識別する。本発明は、ユーザーを識別するための様々な方法を可能にする。例えば、ユーザーは、ログイン及びパスワードを有する登録済みのユーザーであってよい。この結果、登録済みのユーザーには、特定のリソースに対するアクセスを有する権限が付与されうる。リソースに対するアクセスは、様々な方式により、認可することができる。例えば、これは、特定のリソースについて個別に認可されてもよく、且つ/又は、ユーザーは、ユニバースに属するリソースのすべて又は一部分に対するアクセスを有することができる。
【0105】
別の選択肢は、登録済みではないユーザーが、1つ又は複数の特定のリソースに対するアクセスを有することができるようにする「アクセスコード」を生成するステップを有する。アクセスコードの使用は、登録されてはいないユーザーに、特定のリソースに対するアクセスを認可するための柔軟な選択肢を提供している。例えば、会社の登録済みのユーザーが、別の会社に属する登録されてはいないユーザー(例えば、ビジネス顧客)に対して動的プレゼンテーションを実行することを所望した場合に、登録済みのユーザーは、動的プレゼンテーションによって必要とされているリソースに対するアクセスを登録されてはいないユーザーに認可するアクセスコードを生成することができる。
【0106】
リソースアクセス要求500bを受け取った際に、処理ロジック231は、例えば、ログイン及びパスワード、或いは、アクセスコード、を使用することにより、ユーザーを識別している510b。
【0107】
次いで、要求が、処理ロジック230に転送され520b、処理ロジック230は、1つ又は複数のデータストレージ280から、リソースの識別子に基づいて、リソースの場所、即ち、リソースに対するアクセスを有する第2装置を通知する情報、を取得している。この例において、リソースは、第2装置250により、取得することができる。また、処理ロジック230は、リソースの識別子と関連するアクセス権限、並びに、ユーザーのユーザークレデンシャル、に基づいて、ユーザーがリソースにアクセスするための権限を有しているかどうかを検証している。
【0108】
ユーザーが、リソースにアクセスするための権限を有している場合には、第2装置の第2通信エンドポイント260の識別子が、ユーザーに送信される540b。上述のように、この識別子は、ユーザー装置240が第2装置250との間において接続を確立できるようにする任意の情報、即ち、IPアドレス、及びURL、サーバーの名称、など...であってよい。また、ユーザー装置は、第2装置250にリダイレクトされてもよい。このリダイレクトは、例えば、リソースがウェブブラウザを通じてアクセスされている場合に、実装することができる。リダイレクトにより、ユーザーは、いまや、新しいサーバーとの関連状態にあることをさえ知ることなしに、ユーザーが情報にアクセスできるようになる。
【0109】
次いで、ユーザー装置は、第2装置250に、リソースにアクセスするための新しい要求550bを送信している。
【0110】
処理ロジック270は、リソース識別子に基づいて、1つ又は複数のデータストレージ280内においてリソースを見出し、且つ、リソースをユーザーに返している570b。
【0111】
この例は、ユーザーが、リソース識別子についてしか知ってはおらず、且つ、リソースの実際の場所に関するなんらの先験的な知識をも有していない場合にも、アプリケーション用の単一のアクセスポイントを使用することにより、リソースをユーザーに供給するための本発明の能力を実証している。
【0112】
図5cは、本発明のいくつかの実施形態におけるリソースの取得の例示用のフローチャートを描いている。
【0113】
この例において、ユーザー240は、リソースの場所のなんらの先験的な知識をも伴うことなしに、リソースを取得するための要求を実行している。これに加えて、第2装置によるユーザーの識別を保護するべく、第1装置は、ユーザーに、第2装置による識別のために使用されるトークンを供給している。
【0114】
ユーザーは、リソース要求500cを第1装置200に送信している。
【0115】
処理ロジック231は、ユーザーを識別することに失敗しており、その理由は、例えば、ユーザーがリソース要求を実行している際に、ユーザーが、既に接続/ログイン済みではない、からである。
【0116】
この結果、識別要求520cが、ユーザー装置に送信される。相応して、ユーザー装置240は、ユーザークレデンシャルを送信している530c。処理ロジック231は、クレデンシャル、並びに、1つ又は複数の第1データストレージ220内において保存されているすべてのユーザー用のクレデンシャル、に基づいて、ユーザーを認証し、且つ、将来の識別のための、ユーザーに関連するユニークなトークンのみならず、ユーザーの識別を検証するためのトークンシグネチャ、をも生成している。トークンのみならず、リソースに対するアクセスを有する第2装置250の第2通信エンドポイント260の識別子も、ユーザー装置240に送信されている550c。
【0117】
次いで、ユーザー装置240は、リソースの識別子及びトークンを有する新しいリソース要求560cを第2装置250に送信している。第2装置250の処理ロジック2100は、トークンに基づいて、ユーザーを識別するべく試みるが、自身がユーザーを識別できるようにする情報を有してはいない。
【0118】
この結果、処理ロジック2100は、第1装置200に、トークンに基づいてユーザーの識別を検証するための要求を送信するように構成されている580c。第1装置は、トークンに基づいてユーザーの識別を検証し、且つ、ユーザークレデンシャルを第2装置250に返送している。或いは、この代わりに、処理ロジック2100がトークンに基づいて識別を検証しうるように、シグネチャを第2装置250に送信することもできる。
【0119】
この結果、ユーザーは、第2装置によって成功裡に識別され、且つ、第2装置が、リソースをユーザーに返送している590c。
【0120】
本発明の様々な実施形態によれば、第2装置250は、ユーザー装置によるそれぞれのリソース要求の際に、ユーザーの識別を検証するように、第1装置に要求することができる。また、これは、一度だけ、ユーザーの識別の検証を要求することができると共に、自身がユーザー装置240からの次のリソース要求において直接的にユーザーを識別できるようにするデータを保存することもできる。
【0121】
この例において、ユーザーは、トークンを使用することにより、識別されている。但し、クッキーなどの、その他の識別データを使用することもできる。更に一般的には、
図5cにおいて記述されている原理は、それぞれのユーザー用の識別データ(この例においては、トークン)と、識別の検証を可能にする識別検証データ(この例においては、トークンのシグネチャ)と、に依存している任意の識別システムに適用可能である。本発明は、第1装置200が、ユーザー装置に、ユーザー装置が自身を第2装置に対して識別できるようにする識別データを送信すること、並びに、第2装置から同一の識別データを有する要求を受信した際に、第2装置に対して、ユーザーが、識別検証データを使用してリソースにアクセスするための権限が付与されていることを確認すること、或いは、処理ロジック2100が識別を検証しうるように、識別検証データを第2装置250に送信すること、を可能にする。
【0122】
この例は、多数の異なる装置におけるリソースの再パーティション化にも拘らず、ユニバーサルなアクセスポイントにおいて、中央集中化された方式により、ユーザーの識別、認証、並びに、リソースのアクセス権限を管理するための本発明の能力を実証している。
【0123】
図5dは、本発明のいくつかの実施形態におけるリソースの取得の例示用のフローチャートを描いている。
【0124】
図5dの例は、
図5cの例に非常に類似している。唯一の相違点は、第2装置がユーザーの識別を検証するように、第1装置が、1つ又は複数の第2装置250、251に、識別検証データを送信している、という点にある。
【0125】
例えば、ユーザーが、トークンを使用することにより、識別された場合に、第1装置200は、1つ又は複数の第2装置が識別を検証しうるように、1つ又は複数の第2装置250、251に、トークンのシグネチャを送信しており、ユーザーが、クッキーを使用することにより、識別された場合に、第1装置200は、1つ又は複数の第2装置250、251に、クッキーと関連するセッションが有効であることを検証するための、必要とされる任意のデータ(即ち、セッションid、並びに、いくつかの実装形態においては、ユーザー装置240のIPアドレスなどの、関連するセキュリティデータ)を送信している。当業者は、使用されている識別技法に応じて、識別検証データ(例えば、トークン又はクッキー)を容易に識別することになろう。
【0126】
従って、第1装置200は、1つ又は複数の第2装置250、251が第1装置200に要求を送信する必要なしに、1つ又は複数の第2装置250、251に、ユーザーを安全に識別するべく必要とされるすべての情報を送信している。従って、1つ又は複数の第2装置250、251によるユーザーの識別が、相対的に迅速なものとなる。
【0127】
本発明の様々な実施形態によれば、識別検証データの送信580dは、様々な方式により、実行することができる。例えば、データは、ユーザーが第1装置200内において識別され、且つ、対応する識別データが生成される、たびに、ユーザーについて送信することができる。従って、1つ又は複数の第2装置250、251は、実質的に即座に、ユーザーを識別することができる。
【0128】
また、識別検証データは、第1装置と1つ又は複数の第2装置250、251の間の通信を制限するべく、且つ、これにより、帯域幅を節約するべく、複数のユーザーについて、周期的に、1つ又は複数の第2装置250、251に送信することができる。
【0129】
但し、このケースにおいて、ユーザー装置240がリソース要求を送信する際に560c、第2装置250が、識別検証データを有していない場合がある。この課題を解決するべく、第2装置250は、自身が識別検証データを有していないケースにおいては、このデータを取得するべく、第1装置に要求を送信することができる。従って、この結果、すべてのケースにおいて、ユーザーがリソースにアクセスするべく第2装置250に接続することを可能にしつつ、帯域幅を節約することが可能となる。
【0130】
図5eは、本発明のいくつかの実施形態におけるリソースの取得の例示用のフローチャートを描いている。
【0131】
図5eの例は、
図5cの例に非常に類似している。唯一の相違点は、第2装置がユーザーの識別を検証するように、識別検証データが、識別データと共にパッケージ化されている、という点にある。識別検証データは、識別データと、第1装置200と1つ又は複数の第2装置250、251の間において共有されている共有秘密キー500eと、を使用することにより、生成されている。また、秘密キー500eは、処理ロジック2100、2101が、識別検証データが正しいことを検証すること、並びに、従って、ユーザーを成功裡に識別すること、をも可能にする。これは、例えば、共有されたプライベートキー500eを使用することによって生成された、トークン(識別データ)及びシグネチャ(識別検証データ)を有する、署名済みのトークンを使用することにより、実行することができる。従って、同一の共有されたキー500eを使用することにより、シグネチャの有効性を検証することができる。シグネチャの有効性が正しい場合に、ユーザーは、識別される。
【0132】
この結果、有利には、共有されたキー500eが第1及び1つ又は複数の第2装置200、250、251に判明したら、第1及び1つ又は複数の第2装置200、250、251の間において直接的にデータを交換する必要を伴うことなしに、安全な識別が可能となる。
【0133】
図6a及び
図6bは、それぞれ、従来技術における、且つ、本発明のいくつかの実施形態における、サーバーを通じたデータに対するアクセスの2つの例を描いている。
【0134】
図6aは、従来技術における、サーバーを通じたデータへのアクセスの一例を描いている。
【0135】
世界中において配置されているユーザー610a、611a、612a、613a、及び614aは、そのアプリケーションのために、自身が必要としているリソースを取得するべく、サーバー600aに接続している。すべてのリソースは、サーバー600a上において保存されており、サーバー600aは、ユーザーからの要求の際に、ユーザーが必要としているリソースを返送している。この解決策は、いくつかの欠点を有しており、即ち、
図6aにおいて描かれているように、要求及びデータ交換が、非常に離れた場所の間において実行される場合がある。この結果、帯域幅が消費され、且つ、ユーザーが自身の要求を送信する時点とリソースが受け取られる時点の間に大きなレイテンシーが生成される。更には、すべてのリソースが、同一のサーバー内において配置されている。この結果、セキュリティの問題が生成される場合があり、その理由は、ユーザーのうちの1つに属しているリソースが、その他の者によってアクセスされないことを保証することが非常に困難であるからである。
【0136】
図6bは、本発明のいくつかの実施形態における、サーバーを通じたデータへのアクセスの一例を描いている。
【0137】
世界中において配置されているユーザー610b、611b、612b、613b、及び614bは、サーバー600bに接続しており、サーバー600bは、リソースに対するユニバーサルなアクセスとして機能している。但し、リソースは、サーバー600bによって保存されてはおらず、且つ、サーバー620b、621b、622bにより、保存されている。サーバー600bは、以下のように、ユーザーをユーザーが必要としているリソースを保存するサーバーにリダイレクトしている。
−ユーザー610bは、サーバー620bにリダイレクトされる。
−ユーザー611b及び612bは、サーバー612bにリダイレクトされる。
−ユーザー613b及び614bは、サーバー622bにリダイレクトされる。
【0138】
従って、リソースをユーザーに相対的に近い場所において配置することが可能であり、リソースを取得するための交換のレイテンシーが低減されている。更には、サーバーをユーザーのニーズに従ってセットアップすることができる。例えば、サーバーを単一のクライアントのためにセットアップし、これにより、データのセキュリティの厳格な改善を可能にすることができる。
【0139】
図7は、本発明のいくつかの実施形態における方法の一例を描いている。
【0140】
方法700は、リソースにアクセスするべくユーザー装置から要求を受け取る第1ステップ710を有しており、この場合に、前記要求は、リソースの識別子を有する。
【0141】
方法700は、
−複数のユーザー用のユーザークレデンシャルと、
−2つ以上の第2装置によってそれぞれアクセスされる2つ以上の第2データストレージ上において保存された識別子の組であって、組内のそれぞれの識別子は、自身と関連付けられたアクセス権限を有しており、且つ、第2装置の第2通信エンドポイントの識別子は、リソースを保存している第2データストレージに対するアクセスを有する、組と、
を保存する1つ又は複数の第1データストレージにアクセスする第2ステップ720を更に有する。
【0142】
方法は、リソース識別子と関連するアクセス権限に基づいて、ユーザーが、リソースにアクセスするための権限を有しているかどうかを検証する第3ステップ730を更に有する。
【0143】
方法700は、ユーザーがリソースにアクセスするための権限を有している場合に、ユーザー装置に、リソースを保存している第2データストレージに対するアクセスを有する第2装置の通信エンドポイントの識別子を送信する第4ステップを更に有する。
【0144】
後述する、すべての実施形態は、それぞれ、方法700に適用可能である。
【0145】
また、本発明は、ユーザーが、リソースにアクセスするための権限を有しているかどうかを検証し、且つ、ユーザー装置に、リソースに対するアクセスを有する装置の通信エンドポイントの識別子を送信する、ように構成された、コンピュータプログラムとして実装することもできる。このようなコンピュータプログラムは、ユーザー装置から要求を受け取ることができると共に、相応して、要求を処理することができる。
図2、
図3、
図4a〜
図4c、及び
図5a〜
図5eを参照して記述されている実施形態は、それぞれ、リソースのアクセスをユーザーに認可するべく、このようなコンピュータプログラムによって実装可能である。
【0146】
このようなコンピュータプログラム内において実施されているプログラムコードは、様々な異なる形態においてプログラムプロダクトとして個別に又は集合的に分散される能力を有する。具体的には、プログラムコードは、プロセッサが、本発明の実施形態の態様を実行するようにするべく、その上部においてコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体を使用することにより、分散させることができる。
【0147】
特定の代替実施形態において、フローチャート、シーケンス図、及び/又はブロック図において規定されている機能、行為、及び/又は動作は、本発明の実施形態との間において一貫性を有する状態において、再順序付け、連続処理、及び/又は同時処理されてもよい。更には、フローチャート、シーケンス図、及び/又はブロック図のうちの任意のものは、本発明の実施形態と間において一貫性を有する状態において、示されているものよりも多くの又は少ない数のブロックを含みうる。
【0148】
以上、本発明のすべてについて、様々な実施形態の説明によって例示されており、且つ、これらの実施形態は、かなり詳細に記述されているが、添付の請求項の範囲をこのような詳細に限定する又はなんらかの方式によって制限することは、本出願人の意図するところではない。当業者には、更なる利点及び変更について容易に明らかとなろう。
【国際調査報告】