JP2017509936A - リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理の、サードパーティによる実行の容易化 - Google Patents

リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理の、サードパーティによる実行の容易化 Download PDF

Info

Publication number
JP2017509936A
JP2017509936A JP2016534218A JP2016534218A JP2017509936A JP 2017509936 A JP2017509936 A JP 2017509936A JP 2016534218 A JP2016534218 A JP 2016534218A JP 2016534218 A JP2016534218 A JP 2016534218A JP 2017509936 A JP2017509936 A JP 2017509936A
Authority
JP
Japan
Prior art keywords
owner
server
authorization
access token
protected resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016534218A
Other languages
English (en)
Other versions
JP2017509936A5 (ja
JP6514699B2 (ja
Inventor
ドゥッガナ,サティシュ
ジュンジュンワラ,アミット
ミスラ,スリマント
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2017509936A publication Critical patent/JP2017509936A/ja
Publication of JP2017509936A5 publication Critical patent/JP2017509936A5/ja
Application granted granted Critical
Publication of JP6514699B2 publication Critical patent/JP6514699B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos

Abstract

この開示の一局面は、リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理をサードパーティ/サーバシステムが行なうことを容易にする。一実施形態では、サーバシステム/サードパーティは、一群の要求から次の要求を選択し、次の要求は、オーナー/ユーザー(ファーストパーティ)によって所有される(セカンドパーティ上でホストされる)保護されたリソースを要求する。サーバシステムは、オーナーに代わってサーバシステムによって保護されたリソースのアクセスを認可するアクセストークンが存在するか否かをチェックする。アクセストークンが存在しない場合、サーバシステムは、アクセストークンを受信するためにオーナーとオフラインモードで通信する。サーバシステムは次に、現在の/受信されたアクセストークンを使用して保護されたリソースにアクセスすることによって、次の要求を処理する。

Description

優先権主張
本特許出願は、ここに全体として援用される以下の同時係属出願に関しており、それらからの優先権を主張する:
A.「リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理の、サードパーティによる実行の容易化」(Facilitating Third Parties To Perform Batch Processing Of Requests Requiring Authorization From Resource Owners For Repeat Access To Resources)と題された、本特許出願と同じ出願人による、2014年2月18日に出願されたインド特許出願連続番号第758/CHE/2014号;および
B.「リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理の、サードパーティによる実行の容易化」と題された、本特許出願と同じ出願人による、2014年6月10日に出願された米国非仮特許出願連続番号第14300251号。
開示の背景
技術分野
この開示は企業システムに関し、より特定的には、リソースへの繰返しアクセスについてリソースオーナーから認可(authorization)を要求する要求のバッチ処理をサードパーティが行なうことを容易にすることに関する。
関連技術
リソースとは、ファイル、写真、ユーザー情報などの任意のデータ項目を指す。リソースはしばしば、オーナーによって「所有され」ているものの、他者/セカンドパーティによって格納され管理されている。リソースの所有権は、対応するユーザー(通常は人間)が、セカンドパーティによって管理されるリソースへのアクセスを誰が許可されまたは拒否されるかを制御できる、ということを意味する。そのようなリソースは、「保護されたリソース」と呼ばれる。
オーナーは、適切な認可を付与することによって、リソースのアクセスをサードパーティに許可することができる。リソースへの「繰返し」アクセスを許可することに対する要望がしばしば存在し、これは、単一の認可が時間をかけた複数のアクセスの根拠となり得ることを意味する。OAuthプロトコルは、1つのオープン標準であり、それは、関連技術において周知であるように、リソースの繰返しアクセスについてのそのような認可をオーナーに代わって可能にする。
要求のバッチ処理が望ましい状況がある。バッチ処理は、いくつかの要求が(適切なバッファリングによって)蓄積され、後の都合の良い時間にバッチして処理される(すなわち、すべての要求の処理が完了するまで、蓄積された要求を処理し続ける)ということを意味する。バッチ処理は一般に、大規模環境において有用である。
この開示の局面は、リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理をサードパーティが行なうことを容易にする。
この開示の例示的な実施形態を、以下に簡単に説明される添付図面を参照して説明する。
この開示のいくつかの局面が実現され得る例示的な環境を示すブロック図である。 一実施形態における、保護されたリソースの認可が実現される態様を示すシーケンス図である。 この開示の一局面に従った、リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理をサードパーティが行なうことが容易にされる態様を示すフローチャートである。 一実施形態における、リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理を行なうサーバの例示的な一実現化例を示す図である。 一実施形態における、異なる時間インスタンスで維持されたクレデンシャルデータの部分を示す図である。 一実施形態における、異なる時間インスタンスで維持されたクレデンシャルデータの部分を示す図である。 この開示のさまざまな局面が、適切な実行可能なモジュールの実行によって作用する、デジタル処理システムの詳細を示すブロック図である。 この開示の別の実施形態における、要求のバッチ処理を行なうためのデジタル処理システムを示すブロック図である。
図面では、同じ参照番号は概して、同一、機能的に同様、および/または構造的に同様の要素を示す。要素が最初に現われる図面は、対応する参照番号における一番左の数字によって示される。
開示の実施形態の詳細な説明
1.概略
この開示の一局面によれば、サーバシステム/サードパーティは、バッチで処理されるべき複数の要求を受信する。サーバシステムは次に、受信された要求から次の要求を選択し、次の要求は、オーナー/ユーザー(ファーストパーティ)によって所有される(セカンドパーティ上でホストされる)保護されたリソースを要求する。サーバシステムは、オーナーに代わってサーバシステムによって保護されたリソースのアクセスを認可するアクセストークンが存在するか否かをチェックする。アクセストークンが存在しない場合、サーバシステムは、アクセストークンを受信するためにオーナーとオフラインモードで通信する。サーバシステムは次に、現在の/受信されたアクセストークンを使用して保護されたリソースにアクセスすることによって、次の要求を処理する。
このため、リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理をサードパーティ/サーバシステムが行なうことが容易にされる。
この開示の別の局面によれば、オフラインモードでオーナーからアクセストークンを受信することは、まず、前記第1の保護されたリソースへのアクセスの非同期認可のためにオーナーに通信を送信することによって実施される。一実施形態では、オーナーに送信された通信はユニフォームリソースロケータ(Uniform Resource Locator:URL)を含み、それは、オーナーによって非同期に選択されると、前記認可付与がサーバシステムに転送されるようにする。(オーナーがURLを選択したことに応答して)オーナーから第1の保護されたリソースについての認可付与を受信後、アクセストークンが、受信された認可付与を認可サーバに送信することによって取得される。
一実施形態では、保護されたリソースはリソースサーバ上でホストされ、サーバシステム、認可サーバおよびリソースサーバは、保護されたリソースの認可のためにOAuthプロトコルをサポートするために実装される。
例示のために、この開示のいくつかの局面を、例を参照して以下に説明する。しかしながら、関連技術の当業者であれば、この開示は、特定の詳細のうちの1つ以上がなくても、または他の方法、コンポーネント、材料などを用いても実践され得る、ということを認識するであろう。他の例では、この開示の特徴を不明瞭にしないように、周知の構造、材料、または動作は詳細には示されない。さらに、説明される特徴/局面はさまざまな組合せで実践され得るが、簡潔にするために、組合せのうちのいくつかのみをここに説明する。
2.例示的な環境
図1は、この開示のいくつかの局面が実現され得る例示的な環境を示すブロック図である。このブロック図は、エンドユーザーシステム110A〜110Zと、インターネット120と、イントラネット130と、サーバシステム140A〜140Cと、SOA(service-oriented architecture:サービス指向アーキテクチャ)サーバ150と、認可サーバ170と、データストア180とを含んで図示されている。
単なる例示のために、代表的な数/種類のシステムのみを図に示す。多くの環境は、環境が設計された目的に依存して、数および種類の双方においてさらに多くのシステムを含むことが多い。また、企業のシステムは(「OAuth2.0認可フレームワーク」と題されたRFC6749に詳細に記載されるような)OAuth標準プロトコルに従って実現されると仮定されるが、代替的な実施形態では他の同様のプロトコルが使用可能である。図1の各システム/装置を、以下により詳細に説明する。
イントラネット130は、(点線の境界で示された)企業内にすべて設けられている、サーバシステム140A〜140C、SOAサーバ150、認可サーバ170およびデータストア180間の接続性を提供するネットワークを表わす。インターネット120は、これら(および企業の他のシステム)と、エンドユーザーシステム110A〜110Zなどの外部システムとの接続性を拡張する。イントラネット130およびインターネット120の各々は、関連技術において周知である、伝送制御プロトコル(Transmission Control Protocol:TCP)および/またはインターネットプロトコル(Internet Protocol:IP)などのプロトコルを使用して実現されてもよい。一般に、TCP/IP環境では、伝送の基本単位としてIPパケットが使用され、ソースアドレスは、パケットが生じるソースシステムに割当てられたIPアドレスに設定され、宛先アドレスは、パケットが最終的に配信されることになっている宛先システムのIPアドレスに設定される。
(IP)パケットは、パケットの宛先IPアドレスが宛先システムの(IP)アドレスに設定される場合、パケットがネットワーク110によって最終的に宛先システムに配信されるように、宛先システムに差し向けられると言われている。宛先アプリケーションを特定する、ポート番号などの内容をパケットが含む場合、パケットは、そのようなアプリケーションにも差し向けられると言われ得る。宛先システムは、対応するポート番号を利用可能に/オープンに保ち、パケットを対応する宛先ポートで処理するように要求される場合がある。インターネット120およびイントラネット130の各々は、ワイヤベースの媒体または無線媒体の任意の組合せを使用して実現されてもよい。
データストア180は、サーバシステム140A〜140C、SOAサーバ150および認可サーバ170といった、企業の他のシステムで実行されるアプリケーションによるデータの集まりの格納および検索を容易にする不揮発性(永続的)ストレージを表わす。データストア180は、リレーショナルデータベース技術を使用してデータベースサーバとして実現されてもよく、それに応じて、SQL(Structured Query Language:構造化問合せ言語)といった構造化された問合せを使用してデータの格納および検索を提供してもよい。これに代えて、データストア180は、関連技術において周知であるように、1つ以上のディレクトリとして編成されたファイルの形をしたデータの格納および検索を提供するファイルサーバとして実現されてもよい。
エンドユーザーシステム110A〜110Zの各々は、企業の特定のシステムに差し向けられるユーザー要求を生成して送信するためにユーザーによって使用される、パーソナルコンピュータ、ワークステーション、モバイルステーション、携帯電話、コンピューティングタブレットなどのシステムを表わす。ユーザー要求は、適切なユーザーインターフェイス(たとえば、企業で実行されるアプリケーションによって提供されるウェブページ)を使用して生成されてもよい。たとえば、ユーザーは、さまざまなタスクを行なうためのユーザー要求を、サーバシステム140A〜140Cで実行されるアプリケーションに送信してもよい。これに代えて、ユーザー/オーナーは、ユーザー要求をインターネット120を通して企業のシステムに送信することにより、さまざまな対象リソースを管理(作成、除去、認可/アクセス拒否)してもよい。
サーバシステム140A〜140Cの各々は、企業におけるリソースを保護し、リソースへのアクセスを提供することができる、ウェブ/アプリケーションサーバなどのサーバを表わす(そのため、セカンドパーティを表わす)。アプリケーション、それらのアプリケーションによって提供されるウェブページなどといった保護されたリソースのうちのいくつかは、サーバシステム上でホストされてもよい。これに代えて、保護されたリソース(たとえば、個人データ、画像または映像といったメディアなど)は、バックエンド記憶システム(図示せず)上でホストされてもよく、そのようなリソースのアクセスはサーバシステムによって制御される。例示のために、保護されたリソースは、企業(点線の境界)内でホストされるように図示されている。しかしながら、関連技術の当業者がここの開示を読めば明らかであるように、この開示の特徴は、保護されたリソースが企業の外部のシステム(図示せず)上でホストされ得る(リソースはインターネット120を介してアクセスされる)代替的な実施形態で実現されてもよい。
アプリケーションサーバ160は、(企業内でホストされる)保護されたリソースのうちのいくつかへのアクセスを望み得るサードパーティアプリケーションを実行することができる、ウェブ/アプリケーションサーバなどのサーバを表わす。サードパーティアプリケーションは、(たとえば、エンドユーザーシステム110A〜110Zから受信された)ユーザー要求を処理するために保護されたリソースへのアクセスを要求する場合がある。一実施形態では、サードパーティアプリケーションは、保護されたリソースの認可を行なうために認可サーバ170とともに動作するように設計されている。認可が成功すると、サードパーティアプリケーションは、認可された保護されたリソースに繰返しアクセスしてユーザー要求を処理してもよい。
認可サーバ170は、(オーナー/ユーザーによる)保護されたリソースの認可を容易にし、それにより、サードパーティ/アプリケーションがリソースへの繰返しアクセスを要求する要求を処理できるようにする、サーバなどのシステムを表わす。上述のように、認可サーバ170および企業の他のシステム(サーバシステム140A〜140C、アプリケーションサーバ160およびデータストア180など)は、OAuthプロトコルに従ってリソースの認可を行なうように実現される。保護されたリソースのそのような認可が行なわれ得る態様を、例を用いて以下に説明する。
3.保護されたリソースの認可
図2は、一実施形態における、保護されたリソースの認可が図1の環境においてOAuthプロトコルに従って実現される態様を示すシーケンス図である。説明は、アプリケーションサーバ160で実行されるサードパーティアプリケーション210が、サーバシステム140Bでホストされる保護されたリソースへのアクセスを要求し、保護されたリソースはエンドユーザーシステム110Aを使用するオーナー/ユーザーによって所有されている、と仮定して続けられる。説明は例示のためにOAuthプロトコルに従って提供されるが、特徴は、対応する環境において適するような他の同様の認可プロトコルを用いて実現されてもよい、ということが理解されるべきである。
サードパーティアプリケーション210は、オーナーによって使用されるエンドユーザーシステム110Aに認可要求を送信する(イベント220)よう図示されている。認可要求は、保護されたリソース、リソースを要求するサードパーティアプリケーション、要求されるアクセスの数/期間などの詳細を示してもよい。これに応答して、ユーザー/オーナーは、要求された保護されたリソースについて、サードパーティアプリケーションのアクセス権(見ること、修正すること、アクセスの有効期限など)を特定(概して認可)し、その後、認可付与を示す応答を送信(イベント230)してもよい。認可付与は、ユーザー/オーナーによって特定された権利を示してもよい。
図示されていないものの、ユーザー/オーナーは、認可を提供する前に、(リソースを保護しているサーバシステム140Bなどの)セカンドパーティを用いて自分自身を認証することを要求され得る、ということが理解されるであろう。ユーザーの認証(すなわち、ユーザーのアイデンティティの確立)は、当該技術において周知であるように、ユーザーIDとパスワードとの組合せを使用するなど、適切な認証手法を使用して行なわれてもよい。認証が成功した後で、ユーザーは、認可付与の一環として所望のアクセス権を特定してもよい。認証および認可は、セカンドパーティによって提供される適切なユーザーインターフェイスを使用して行なわれてもよい。
サードパーティアプリケーション210は次に、認可付与を認可サーバ170に送信し(イベント240)、それは次に、認可付与に対応するアクセストークンを生成し、生成されたアクセストークンを認可付与に対する応答として送信する(イベント250)。アクセストークンは、アクセスを要求するサードパーティアプリケーション、保護されたリソース、およびリソースのオーナーによって特定された特定のアクセス権(あらゆる有効期限を含む)の詳細を(典型的には符号化された形で)示してもよい。
サードパーティアプリケーション210はその後、サーバシステム140B、すなわちリソースをホストするリソースサーバにアクセストークンを送信し(イベント260)、それに応じて、保護されたリソースへのアクセスを提供される(イベント270)。アクセストークンの生成後、アクセストークンはその後、(アクセストークンが期限切れになっていないと仮定して)保護されたリソースの繰返しアクセスのために使用されてもよい、ということが理解されるであろう。サードパーティアプリケーション210は、保護されたリソースへの繰返しアクセスを容易にするために、認可サーバから受信されたアクセストークンをデータストア180に格納してもよい。
このため、サードパーティソフトウェア(210)は、オーナーによって提供された認可に基づいて、オーナーに代わって保護されたリソースに繰返しアクセスすることが容易にされる。少なくとも、OAuthプロトコルに基づいたそのようなアプローチでは、アクセストークンの生成はオーナーの積極的な参加を要求する、すなわち、オーナーは、必要な認可を提供するために「ライブ/オンライン」であるよう要求される、ということが理解されるであろう。
したがって、複数の要求のバッチ処理を行なう場合、いくつかの課題が提示される。関連技術において周知であるように、(以前の異なる時間インスタンスで受信された)複数の要求を(後の時間インスタンスで)バッチでともに処理することは、(「ライブ/オンライン」で行なうことと比較すると)ユーザーとやりとりすることなくバックグラウンドで行なわれることが多い。そのようなアプローチはまた、多数の(何千もの大きさの)ユーザー/オーナーを含み、サードパーティソフトウェアの実行中にユーザー/オーナーが動的に追加されることが多い(図1の企業などの)大規模環境では、実行可能ではない。さらに、アクセストークンの取消し/失効は、アクセストークンの再生成を必要とする場合がある。
この開示のいくつかの局面に従って提供されるSOAサーバ150は、上述の欠点のうちのいくつかを克服しつつ、リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理を行なう。周知であるように、SOAサーバは、適切なビジネスフローの実行によって要求を処理するサーバシステムを表わす。実行されたビジネスフローの活動のうちのいくつかは、サーバシステム140A〜140Cによって露出された1つ以上のウェブサービス(保護されたリソース)への呼出しとして実現され、露出されたウェブサービスは別々のオーナーに属している。SOAサーバ150がそのような保護されたリソース/ウェブサービスへのアクセスを要求する要求のバッチ処理を行なう態様を、例を用いて以下に説明する。
4.要求のバッチ処理
図3は、この開示の一局面に従った、リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理をサードパーティが行なうことが容易にされる態様を示すフローチャートである。このフローチャートは、単なる例示のために、図1のシステム、特にSOAサーバ150に関して説明される。しかしながら、関連技術の当業者がここに提供された開示を読めば明らかであるように、特徴は、この開示のさまざまな局面の範囲および精神から逸脱することなく、他のシステムおよび環境でも実現され得る。
加えて、関連技術の当業者には明らかであるように、ステップのうちのいくつかは、特定の環境に適するように、以下に記載されるものとは異なる順序で行なわれてもよい。そのような実現化例の多くは、この開示のいくつかの局面によって網羅されると考えられる。フローチャートはステップ301で開始し、そこでは制御が直ちにステップ310に進む。
ステップ310で、SOAサーバ150は、バッチでの処理のための複数の要求を受信する。要求は、実質的に長い期間(たとえば1日)にわたって広がった以前の異なる時間インスタンスでエンドユーザーシステム110A〜110Zから受信されてもよく、要求は、後の時間インスタンスで処理を開始するためにバッファリングされてもよい。
ステップ320で、SOAサーバ150は、処理されるべき次の要求を選択し、選択された要求は、オーナーによって所有される保護されたリソース(たとえばウェブサービス)を要求する。次の要求の選択は、予め定められた選択基準に基づいて、任意の便利な態様で行なわれてもよい。選択基準は、たとえば、受信された時間インスタンス、要求の優先順位などを含む。保護されたリソースは、サーバシステム140B〜140Cによってホストされ、およびまたは保護されてもよい。
ステップ330で、SOAサーバ150は、オーナーに代わって保護されたリソースのアクセスを認可するアクセストークンが存在するか否かをチェックする。チェックは、以前に生成された(かつ、まだ期限切れになっていない/取消されていない)アクセストークンを示すクレデンシャルデータを検査することによって行なわれてもよい。検査動作は、OAuthプロトコルの規約に従っている。なぜなら、アクセストークンの内容はそのプロトコルによって定義されているためである。要求されている保護されたリソースについてのアクセストークンが存在する場合、制御はステップ380に進み、その他の場合、ステップ350に進む。
ステップ350で、SOAサーバ150は、保護されたリソースへのアクセスの非同期認可のためにオーナーに通信を送信する。上述のようなあらゆる必要な認証などが、そのような非同期認可の一環として行なわれてもよい。
「非同期」という用語は、オーナーは、(同期/オンライン応答モードで要求されるように)実質的に直ちに通信に応答するよう要求されず、後の都合のよい時間(たとえば、数時間/数日中など)に応答できる、ということを意味する。以下に説明される実施形態では通信はURLであるとして説明されるが、当業者がここに提供された開示を読めば明らかであるように、代替的なアプローチはコード断片(たとえばアプレット)を採用することができる。
ステップ360で、オーナーが非同期認可を提供すると、SOAサーバ150は、保護されたリソースについての認可付与を受信する。ステップ370で、SOAサーバ150は、図2のイベント240および250と同様に、認可付与を認可サーバ170に送信することによってアクセストークンを取得する。350、360および370のステップは、オフラインモードで、すなわち、オーナーがライブ/オンラインであることを必要とせずに行なわれる、ということが理解されるべきである。
ステップ380で、SOAサーバ150は、以前に存在した/取得されたアクセストークンを使用して保護されたリソースにアクセスすることによって、次の要求を処理する(図2のイベント260および270と同様)。ステップ390で、SOAサーバ150は、より多くの要求がバッチで処理されるよう要求されているか否かを判断する。より多くの要求が存在する場合、制御はステップ320に進み(それに応じて次の要求が処理される)、その他の場合、ステップ399に進む。フローチャートはステップ399で終了する。
このように、SOAサーバ150は、リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理を行なう。SOAサーバ150が図3に従って要求のバッチ処理を行ない得る態様を、例を用いて以下に示す。
5.例示的な例
図4A〜4Cはともに、一実施形態における、リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理をサードパーティが行なうことが容易にされる態様を示す。図の各々を以下に詳細に説明する。
図4Aは、一実施形態における、リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理を行なうサーバ(SOAサーバ150)の例示的な一実現化例を示す。大まかに言えば、フロントエンドオーダーアプリケーション(図示せず)が、製品についてのオーダーを生成し、生成されたオーダーを不揮発性ストレージに格納する(たとえば、オーダーデータ410をデータストア180に格納する)。オーダーは次に、SOAサーバ150で実行されるビジネスフロー(オーダープロセッサ420)によってバッチで処理される。
オーダーを処理する一環として行なわれるべき活動のうちの1つは、(オーダーを出した)顧客組織に代わって、個人ウェブサイト(たとえばツイッター(登録商標))をオーダーの現状ステータス(たとえば「オーダー受信」、「オーダー処理開始」、「インボイス作成」など)で周期的に更新することである。個人ウェブサイトは、ユーザーがさまざまなアカウントを作成し、そのようなアカウント上にメッセージを投稿することを可能にする、と仮定される。他のユーザー(フォロワー)が所望のアカウントをフォローしてもよく、それによりフォロワーは、そのような所望のアカウントのメッセージを自動的に受信する。
このように、SOAサーバ150がオーダーステータスを投稿すること(ひいては、顧客組織のアカウントのフォロワーに必要な周期的更新を提供すること)ができるように、SOAサーバ150は、顧客組織のアカウントの認可を提供される必要がある。言い換えれば、アカウントは保護されたリソースとして見られ、それは、顧客組織に代わってアクセスされることになっている。理解され得るように、上述のOAuthは一般に、サードパーティへのそのようなアクセスを提供するために設計されている。しかしながら、要求がバッチで処理される場合、課題がいくつかあり、それらのうちのいくつかは上述されている。
SOAサーバ150は、図4Aおよび図4Bに関して以下に詳細に説明されるように、そのような課題のうちの少なくともいくつかに取組んでいる。
(一実施形態では、データストア180に維持された)オーダーデータ410は、バッチで処理されるよう求められる(フロントエンドオーダーアプリケーションによって生成され格納された)要求/オーダーの詳細を特定する。オーダープロセッサ420は、SOAサーバ150で実行され、かつオーダーのバッチ処理を行なうことが可能にされたビジネスフローを表わす。ビジネスフローの一環として、オーダープロセッサ420は、個人ウェブサイト上の顧客のアカウントを、オーダーを処理する現状ステータスで更新するために、サーバシステム140Cによって露出されたターゲット(ウェブ)サービス480を呼出すように設計されている。
したがって、オーダープロセッサ420は、(オーダーデータ410に維持された)受信されたオーダーからのオーダー/要求の選択に応答して、まず、ターゲットサーバ480についてのアクセストークンがすでに存在するか否かを判断するために、クレデンシャルチェッカー430とインターフェイス接続する。クレデンシャルチェッカー430は、(オーダープロセッサ420が個人ウェブサイト上の顧客のアカウントにアクセスできるようにするための)アクセストークンが存在するか否かを判断するために、クレデンシャルデータ460を検査する。オフラインモードでアクセストークンを取得するためにクレデンシャルデータが維持され使用され得る態様を、例を用いて以下に説明する。
6.クレデンシャルデータ
図4Bおよび図4Cは、一実施形態における、異なる時間インスタンスで維持されたクレデンシャルデータ(460)のそれぞれの部分を示す。例示のために、クレデンシャルデータも(オーダーデータ410とともに)、データベースサーバとして実現されたデータストア180に格納されると仮定される。したがって、クレデンシャルデータ460は、データベースサーバにおけるデータベースにテーブルの形で維持されて図示されている。しかしながら、代替的な実施形態では、関連技術の当業者がここの開示を読めば明らかであるように、クレデンシャルデータは、他のデータ構造(ツリー、連想配列など)を使用して、および/またはXML(Extensible Markup Language:拡張マークアップ言語)などの任意の他のフォーマットで維持されてもよい。
図4Bを参照して、ユーザー/オーナーのユニーク識別子を特定する「ユーザーID」列、ユーザー/オーナーのために生成されたアクセストークンを特定する「アクセストークン」列、アクセストークンがその日まで有効である日を示す「失効日」列、オフラインモードでアクセストークンを取得するための通信が(SOAサーバ150によってオーナー/ユーザーに)送信された日を示す「要求日」列、およびアクセストークンの現状ステータス(「アクティブ」、「失効」、「取消し」、「保留」など)を示す「ステータス」列という5つの列を含むクレデンシャルデータ/テーブル460が図示されている。
テーブル460の行の各々は、対応するユーザー/オーナーから受信されたアクセストークンの詳細を特定する。上述のように、アクセストークンは、アクセスを要求するサードパーティアプリケーション、保護されたリソース、およびリソースのオーナーによって特定された特定のアクセス権(あらゆる有効期限を含む)の詳細を(符号化された形で)特定する。ステータスが「アクティブ」であり、かつ「アクセストークン」列における対応する値がブランクではない場合、アクセストークンは存在すると考えられる。
このように、保護されたリソースの異なるユーザー/オーナーについてのクレデンシャルデータ(460)が、SOAサーバ150によって維持される。要求の処理中、クレデンシャルチェッカー430は、顧客のアクセストークンがテーブル460に存在するか否かをチェックする。
オーナーに代わってターゲットサービス480にアクセスすることをオーダープロセッサ420に認可するアクセストークンが存在するシナリオでは、クレデンシャルチェッカー430は、アクセストークンをオーダープロセッサ420に転送する。オーダープロセッサ420は次に、提供されたアクセストークンを使用してターゲットサービス480にアクセスし、それにより、個人ウェブサイト上の顧客のアカウントを現状ステータスで更新する。
アクセストークンが存在しないシナリオでは、クレデンシャルチェッカー430はまず、(行490に示すように)認可を得るべきオーナー/ユーザー、認可の要求が送信された日、「保留」などのステータスといったオーダーの詳細をテーブル460に格納する。クレデンシャルチェッカー430は次に、アクセストークンを取得するためにターゲットサービス480のオーナーがオフラインモードで通信されることになっているという表示を、(ユーザーIDなどの他のデータとともに)URLジェネレータ440に送信する。URLジェネレータ440は、表示に応答して、(受信されたユーザーIDに基づいて判断された)オーナーによって非同期に選択されると保護されたリソースについての認可付与がコールバックサービス450に転送されるようにするURLを生成してオーナーに送信する。そのようなURLは、任意の便利な態様で生成されてもよい。
ターゲットサービス480についての認可付与がコールバックサービス450に転送されるようにするURLフォーマットの一例を、以下に示す。
https://domain-name/authrequest?callbackuri=<http://domain-name/CredentialCallbackService&user-id=578578>
ここで、
「domain-name」は、サードパーティアプリケーションをホストする企業のドメインであり、
「authrequest」は、認可付与を生成するために使用され、ユーザー/オーナーがURLを選択すると呼出される(たとえば、サーバシステム140Cまたは認可サーバ170によって提供される)サービスの名前であり、
「callbackuri」は、認可付与がURI(universal resource identifier:ユニバーサルリソース識別子)に転送されることになっていることを示すキーワードであり、そのキーワードの値(http://domain-name/CredentialCallbackService)として特定されており、
「CredentialCallbackService」は、コールバックサービス(450)のアイデンティティであり、
「user-id」は、その人のためにアクセストークンが生成されるユーザー/オーナーID(たとえば、578578)を示すキーワードである。
URLは次に、たとえば、オーナーのインボックスに送信される電子メールメッセージの一部として、オーナーのモバイル装置(たとえば110A)に送信されるショートメッセージサービス(short message service:SMS)メッセージの形で、といった公知のやり方でオーナーに配信されてもよい。URLはその後、たとえば(場合によっては数日後)、エンドユーザーシステム110Aを使用してインボックスから電子メールにアクセスする際、モバイル装置でSMSメッセージを見ている間、といった後の時間インスタンスで(非同期に)オーナーによって選択されてもよい。オーナーは次に、URLを選択し、(保護されたリソースをホストする)サーバシステム140Cを用いてあらゆる必要な認証を行ない、次に、ターゲットサービス480についての(オーナーによって特定された特定の認可を示す)認可付与を作成する。URLのフォーマットにより、新たに作成された認可付与はコールバックサービス450に転送される。
通信をオーナーに送信後、オーダープロセッサ420は(同期通信で要求されるように)通信への返答を待ったりせず、選択されたオーダーおよび/または他のオーダーのバッチ処理を続ける、ということが理解されるであろう。
コールバックサービス450は認可付与を受信し、次に、図2のイベント240および250と同様に認可付与を認可サーバ170に送信することによってアクセストークンを取得する。コールバックサービス450は次に、新たに取得されたアクセストークンをクレデンシャルデータ460の一部として格納し(図4Cの行495)、次に、アクセストークンが存在するとオーダープロセッサ420に通知する。オーダープロセッサ420はその後、クレデンシャルデータ460から新たに取得されたアクセストークンを検索するためにクレデンシャルチェッカー430とインターフェイス接続して、ターゲットサービス480へのアクセスを要求するオーダーを処理してもよい。
このように、サードパーティのオーダープロセッサ420は、(サーバシステム140A〜140Cなどのセカンドパーティによってホスト/保護された)リソース/ウェブサービスへの繰返しアクセスについてリソースオーナー(ファーストパーティ)から認可を要求するオーダー/要求のバッチ処理を行なうことが容易にされる。
上述の特徴は、さまざまな実施形態において、ハードウェア、実行可能なモジュール、およびファームウェアのうちの1つ以上の所望の組合せとして実現され得る、ということが理解されるべきである。実行可能なモジュールが実行される場合にさまざまな特徴が作用する一実施形態に関して、説明を続ける。
7.デジタル処理システム
図5は、この開示のさまざまな局面が、適切な実行可能なモジュールの実行によって作用する、デジタル処理システム500の詳細を示すブロック図である。デジタル処理システム500はSOAサーバ150に対応していてもよい。
デジタル処理システム500は、中央処理装置(central processing unit:CPU)510、ランダムアクセスメモリ(random access memory:RAM)520、二次メモリ530、グラフィックスコントローラ560、表示部570、ネットワークインターフェイス580、および入力インターフェイス590といった1つ以上のプロセッサを含んでいてもよい。表示部570以外のすべてのコンポーネントは、関連技術において周知であるようにいくつかのバスを含み得る通信経路550を通して互いに通信してもよい。図5のコンポーネントを、以下により詳細に説明する。
CPU510は、この開示のいくつかの特徴を提供するためにRAM520に格納された命令を実行してもよい。CPU510は複数の処理部を含んでいてもよく、各処理部は場合によっては特定のタスクのために設計されている。これに代えて、CPU510は、単一の汎用処理部のみを含んでいてもよい。
RAM520は、通信経路550を使用して二次メモリ530から命令を受信してもよい。RAM520は現在、操作環境525および/または他のユーザープログラム526(データベースソフトウェアなど)を構成するソフトウェア命令を含んで図示されている。操作環境525に加えて、RAM520は、装置ドライバ、仮想マシンなどの他のソフトウエアプログラムを含んでいてもよく、それらは、他のプログラム/ユーザープログラムの実行のために(共通)ランタイム環境を提供する。
グラフィックスコントローラ560は、CPU510から受信されたデータ/命令に基づいて、表示部570への(たとえばRGBフォーマットの)表示信号を生成する。表示部570は、表示信号によって規定された画像を表示するための表示画面を含む。入力インターフェイス590は、キーボードおよびポインティングデバイス(たとえばタッチパッド、マウス)に対応していてもよく、入力を提供するために使用されてもよい。ネットワークインターフェイス580は、(たとえば、インターネットプロトコルを使用して)ネットワークへの接続性を提供しており、ネットワーク(図1の120および130)に接続された他のシステムと通信するために使用されてもよい。
二次メモリ530は、ハードドライブ535と、フラッシュメモリ536と、リムーバブルストレージドライブ537とを含んでいてもよい。二次メモリ530は、データ(たとえばURLの一部)と(図3のステップを実施するための)ソフトウェア命令とを格納していてもよく、それらは、デジタル処理システム500がこの開示に従ったいくつかの特徴を提供することを可能にする。二次メモリ530に格納されたコード/命令は、より速い実行速度のためにCPU510による実行の前にRAM520にコピーされてもよく、または、CPU510によって直接実行されてもよい。
二次メモリ530は、ハードドライブ535と、フラッシュメモリ536と、リムーバブルストレージドライブ537とを含んでいてもよい。データおよび命令のうちのいくつかまたはすべては、リムーバブル記憶部540上に提供されてもよく、データおよび命令はリムーバブルストレージドライブ537によって読出されてCPU510に提供されてもよい。リムーバブル記憶部540は、リムーバブルストレージドライブ537がデータおよび命令を読出すことができるように、リムーバブルストレージドライブ537と互換性がある媒体および記憶フォーマットを使用して実現されてもよい。このため、リムーバブル記憶部540は、コンピュータソフトウェアおよび/またはデータを格納したコンピュータ読取可能(記憶)媒体を含む。しかしながら、コンピュータ(または、概してマシン)読取可能媒体は、他の形態のもの(たとえば、非リムーバブル、ランダムアクセスなど)であり得る。
この文書では、「コンピュータプログラム製品」という用語は、ハードドライブ535にインストールされたハードディスクまたはリムーバブル記憶部540を概して指すために使用される。これらのコンピュータプログラム製品は、デジタル処理システム500にソフトウェアを提供するための手段である。CPU510は、上述のこの開示のさまざまな特徴を提供するために、ソフトウェア命令を検索し、命令を実行してもよい。
ここに使用されるような「記憶媒体」という用語は、マシンを特定のやり方で動作させるデータおよび/または命令を格納する任意の非一時的媒体を指す。そのような記憶媒体は、不揮発性媒体および/または揮発性媒体を含んでいてもよい。不揮発性媒体は、たとえば、記憶メモリ530などの光ディスク、磁気ディスク、またはソリッドステートドライブを含む。揮発性媒体は、RAM520などのダイナミックメモリを含む。記憶媒体のよくある形態は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、または任意の他の磁気データ記憶媒体、CD−ROM、任意の他の光学データ記憶媒体、穴のパターンを有する任意の物理的媒体、RAM、PROM、およびEPROM、FLASH−EPROM、NVRAM、任意の他のメモリチップまたはカートリッジを含む。
記憶媒体は、伝送媒体とは別個であるが、伝送媒体とともに使用されてもよい。伝送媒体は、記憶媒体間の情報の転送に関与する。たとえば、伝送媒体は、バス550を含むワイヤを含む、同軸ケーブル、銅線および光ファイバーを含む。伝送媒体はまた、電波データ通信および赤外線データ通信中に生成されたものなどの音波または光波の形を取り得る。
図6は、この開示の別の実施形態における、要求のバッチ処理を行なうためのデジタル処理システム600を示すブロック図である。この開示の原理を実行するために、システム600のブロックは、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組合わせによって実現されてもよい。上述のようにこの開示の原理を実行するために、図6に記載されたブロックは、組合わされてもよく、またはサブブロックへと分離されてもよい、ということが当業者には理解される。したがって、ここでの説明は、ここに説明される機能的ブロックのあらゆる可能な組合せまたは分離またはさらなる定義をサポートしてもよい。
図6に示すように、サーバシステムにおいて要求を処理するためのシステム600は、第1の受信部610と、選択部620と、チェック部630と、通信部640と、処理部650とを含んでいてもよい。第1の受信部610は、バッチでの処理のための複数の要求を受信できる。選択部620は、複数の要求から次の要求を選択できる。次の要求は、第1のオーナーによって所有される第1の保護されたリソースを要求する。チェック部630は、第1のオーナーに代わってサーバシステムによって第1の保護されたリソースのアクセスを認可するアクセストークンが存在するか否かをチェックできる。通信部640は、アクセストークンが存在しない場合、アクセストークンを受信するために第1のオーナーとオフラインモードで通信できる。処理部650は、アクセストークンを使用して第1の保護されたリソースにアクセスすることによって、次の要求を処理できる。
この開示の一実施形態によれば、通信部は、第1の保護されたリソースへのアクセスの非同期認可のために第1のオーナーに通信を送信するための送信部641と、 第1の保護されたリソースについての認可付与を受信するための第2の受信部642と、 認可付与を認可サーバに送信することによってアクセストークンを取得するための取得部643とを含んでいてもよい。
この開示の一実施形態によれば、通信は、電子メールメッセージまたはショートメッセージサービス(SMS)メッセージであり得る。
この開示の一実施形態によれば、通信はユニフォームリソースロケータ(URL)を含んでいてもよく、それは、第1のオーナーによって非同期に選択されると、認可付与がサーバシステムに転送されるようにする。第2の受信部642は、第1のオーナーがURLを選択して第1の保護されたリソースへのアクセスを認可したことに応答して、認可付与を受信してもよい。
この開示の一実施形態によれば、システムは、第1のオーナーを含むオーナーのために生成されたアクセストークンを示すクレデンシャルデータを維持するための維持部660をさらに含んでいてもよい。チェックすることは、アクセストークンが第1のオーナーのために存在するか否かを判断するためにクレデンシャルデータを検査することを含んでいてもよい。
この開示の一実施形態によれば、第1の保護されたリソースはリソースサーバ上でホストされ得る。サーバシステム、認可サーバおよびリソースサーバは、保護されたリソースの認可のためにOAuthプロトコルをサポートするために実装されてもよい。
この開示の一実施形態によれば、サーバシステムはサービス指向アーキテクチャ(SOA)サーバであり得る。複数の要求は、次の要求が次のオーダーであるように複数のオーダーに対応していてもよい。保護されたリソースは、個人ウェブサイトにおけるアカウントであり得る。第1のオーナーは、アカウントへのアクセスを認可するアドミニストレータであり得る。処理部は、アカウントを次のオーダーの処理の現状ステータスで更新するための更新部651を含んでいてもよい。
本明細書全体にわたる「一実施形態」、「ある実施形態」、または同様の文言への言及は、その実施形態に関連して説明された特定の特徴、構造、または特性がこの開示の少なくとも1つの実施形態に含まれる、ということを意味する。このため、本明細書全体にわたる「一実施形態では」、「ある実施形態では」、または同様の文言の出現は、必ずしもそうとは限らないものの、すべて同じ実施形態を指していてもよい。
さらに、この開示の説明された特徴、構造、または特性は、1つ以上の実施形態において任意の好適な態様で組合わされてもよい。上述の説明では、この開示の実施形態の完全な理解を提供するために、プログラミング、ソフトウェアモジュール、ユーザー選択、ネットワークトランザクション、データベース問合せ、データベース構造、ハードウェアモジュール、ハードウェア回路、ハードウェアチップなどの例といった多くの特定の詳細が提供されている。
8.結論
この開示のさまざまな実施形態が上述されてきたが、それらは限定のためではなく単なる例示のために提示されてきた、ということが理解されるべきである。このため、この開示の幅および範囲は上述の例示的な実施形態のいずれによっても限定されるべきでなく、請求項およびそれらの均等物に従ってのみ定義されるべきである。
この開示の機能性および利点を強調する添付物に示された図および/またはスクリーンショットは、単なる例示的な目的のために提示されている、ということが理解されるべきである。この開示は十分に柔軟性があり、構成可能であり、そのため、それは、添付図面に示された以外のやり方で利用され得る。
また、要約書の目的は、一般には特許庁および一般大衆、特に特許もしくは法律用語または言葉遣いに精通していない科学者、エンジニアおよび当業者が、一瞥して本願の技術的開示の性質および本質を迅速に判断できるようにすることである。要約書は、この開示の範囲に関して限定的であるよう全く意図されていない。

Claims (27)

  1. サーバシステムにおいて要求を処理する方法であって、前記方法は、
    バッチでの処理のための複数の要求を受信することと、
    前記複数の要求から次の要求を選択することとを含み、前記次の要求は、第1のオーナーによって所有される第1の保護されたリソースを要求し、前記方法はさらに、
    前記第1のオーナーに代わって前記サーバシステムによって前記第1の保護されたリソースのアクセスを認可するアクセストークンが存在するか否かをチェックすることと、
    前記アクセストークンが存在しない場合、前記アクセストークンを受信するために前記第1のオーナーとオフラインモードで通信することと、
    前記アクセストークンを使用して前記第1の保護されたリソースにアクセスすることによって、前記次の要求を処理することとを含む、方法。
  2. 前記オフラインモードで通信することは、
    前記第1の保護されたリソースへのアクセスの非同期認可のために前記第1のオーナーに通信を送信することと、
    前記第1の保護されたリソースについての認可付与を受信することと、
    前記認可付与を認可サーバに送信することによって前記アクセストークンを取得することとを含む、請求項1に記載の方法。
  3. 前記通信は、電子メールメッセージまたはショートメッセージサービス(SMS)メッセージである、請求項2に記載の方法。
  4. 前記通信はユニフォームリソースロケータ(URL)を含み、それは、前記第1のオーナーによって非同期に選択されると、前記認可付与が前記サーバシステムに転送されるようにし、
    前記受信することは、前記第1のオーナーが前記URLを選択して前記第1の保護されたリソースへのアクセスを認可したことに応答して、前記認可付与を受信する、請求項2または請求項3に記載の方法。
  5. 前記第1のオーナーを含むオーナーのために生成されたアクセストークンを示すクレデンシャルデータを維持することをさらに含み、
    前記チェックすることは、前記アクセストークンが前記第1のオーナーのために存在するか否かを判断するために前記クレデンシャルデータを検査することを含む、前述の請求項のいずれかに記載の方法。
  6. 前記第1の保護されたリソースはリソースサーバ上でホストされ、前記サーバシステム、前記認可サーバおよび前記リソースサーバは、保護されたリソースの認可のためにOAuthプロトコルをサポートするために実装される、前述の請求項のいずれかに記載の方法。
  7. 前記サーバシステムはサービス指向アーキテクチャ(SOA)サーバであり、前記複数の要求は、前記次の要求が次のオーダーであるように複数のオーダーに対応しており、
    前記保護されたリソースは、個人ウェブサイトにおけるアカウントであり、前記第1のオーナーは、前記アカウントへのアクセスを認可するアドミニストレータであり、
    前記次のオーダーの前記処理は、前記アカウントを、前記次のオーダーの処理の現状ステータスで更新することを含む、前述の請求項のいずれかに記載の方法。
  8. サーバシステムが要求を処理できるようにするための1つ以上のシーケンスの命令を格納する、非一時的なマシン読取可能媒体であって、前記サーバシステムに含まれる1つ以上のプロセッサによる前記1つ以上の命令の実行は、前記サーバシステムが以下のアクションを行なうことを可能にし、前記以下のアクションは、
    バッチでの処理のための複数の要求を受信することと、
    前記複数の要求から次の要求を選択することとを含み、前記次の要求は、第1のオーナーによって所有される第1の保護されたリソースを要求し、前記以下のアクションはさらに、
    前記第1のオーナーに代わって前記サーバシステムによって前記第1の保護されたリソースのアクセスを認可するアクセストークンが存在するか否かをチェックすることと、
    前記アクセストークンが存在しない場合、前記アクセストークンを受信するために前記第1のオーナーとオフラインモードで通信することと、
    前記アクセストークンを使用して前記第1の保護されたリソースにアクセスすることによって、前記次の要求を処理することとを含む、マシン読取可能媒体。
  9. 前記オフラインモードで通信することは、
    前記第1の保護されたリソースへのアクセスの非同期認可のために前記第1のオーナーに通信を送信し、
    前記第1の保護されたリソースについての認可付与を受信し、
    前記認可付与を認可サーバに送信することによって前記アクセストークンを取得するための1つ以上の命令を含む、請求項8に記載のマシン読取可能媒体。
  10. 前記通信は、電子メールメッセージまたはショートメッセージサービス(SMS)メッセージである、請求項9に記載のマシン読取可能媒体。
  11. 前記通信はユニフォームリソースロケータ(URL)を含み、それは、前記第1のオーナーによって非同期に選択されると、前記認可付与が前記サーバシステムに転送されるようにし、
    前記受信することは、前記第1のオーナーが前記URLを選択して前記第1の保護されたリソースへのアクセスを認可したことに応答して、前記認可付与を受信する、請求項9または請求項10に記載のマシン読取可能媒体。
  12. 前記第1のオーナーを含むオーナーのために生成されたアクセストークンを示すクレデンシャルデータを維持するための1つ以上の命令をさらに含み、
    前記チェックすることは、前記アクセストークンが前記第1のオーナーのために存在するか否かを判断するために前記クレデンシャルデータを検査する1つ以上の命令を含む、請求項9〜11のいずれかに記載のマシン読取可能媒体。
  13. 前記第1の保護されたリソースはリソースサーバ上でホストされ、前記サーバシステム、前記認可サーバおよび前記リソースサーバは、保護されたリソースの認可のためにOAuthプロトコルをサポートするために実装される、請求項9〜12のいずれかに記載のマシン読取可能媒体。
  14. デジタル処理システムであって、
    プロセッサと、
    ランダムアクセスメモリ(RAM)と、
    前記RAM内で検索されて前記プロセッサによって実行されると、前記デジタル処理システムに要求を処理させる1つ以上の命令を格納するためのマシン読取可能媒体とを含み、前記デジタル処理システムは、
    バッチでの処理のための複数の要求を受信することと、
    前記複数の要求から次の要求を選択することとを行ない、前記次の要求は、第1のオーナーによって所有される第1の保護されたリソースを要求し、前記デジタル処理システムはさらに、
    前記第1のオーナーに代わって前記サーバシステムによって前記第1の保護されたリソースのアクセスを認可するアクセストークンが存在するか否かをチェックすることと、
    前記アクセストークンが存在しない場合、前記アクセストークンを受信するために前記第1のオーナーとオフラインモードで通信することと、
    前記アクセストークンを使用して前記第1の保護されたリソースにアクセスすることによって、前記次の要求を処理することとを行なう、デジタル処理システム。
  15. 前記オフラインモードで通信することのために、前記デジタル処理システムは、
    前記第1の保護されたリソースへのアクセスの非同期認可のために前記第1のオーナーに通信を送信することと、
    前記第1の保護されたリソースについての認可付与を受信することと、
    前記認可付与を認可サーバに送信することによって前記アクセストークンを取得することとを行なう、請求項14に記載のデジタル処理システム。
  16. 前記通信は、電子メールメッセージまたはショートメッセージサービス(SMS)メッセージである、請求項15に記載のデジタル処理システム。
  17. 前記通信はユニフォームリソースロケータ(URL)を含み、それは、前記第1のオーナーによって非同期に選択されると、前記認可付与が前記サーバシステムに転送されるようにし、
    前記デジタル処理システムは、前記第1のオーナーが前記URLを選択して前記第1の保護されたリソースへのアクセスを認可したことに応答して、前記認可付与を受信する、請求項15または請求項16に記載のデジタル処理システム。
  18. 前記第1のオーナーを含むオーナーのために生成されたアクセストークンを示すクレデンシャルデータを維持することをさらに含み、
    前記チェックすることのために、前記デジタル処理システムは、前記アクセストークンが前記第1のオーナーのために存在するか否かを判断するために前記クレデンシャルデータを検査することを行なう、請求項14〜17のいずれかに記載のデジタル処理システム。
  19. 前記第1の保護されたリソースはリソースサーバ上でホストされ、前記サーバシステム、前記認可サーバおよび前記リソースサーバは、保護されたリソースの認可のためにOAuthプロトコルをサポートするために実装される、請求項14〜18のいずれかに記載のデジタル処理システム。
  20. 前記デジタル処理システムはサービス指向アーキテクチャ(SOA)サーバであり、前記複数の要求は、前記次の要求が次のオーダーであるように複数のオーダーに対応しており、
    前記保護されたリソースは、個人ウェブサイトにおけるアカウントであり、前記第1のオーナーは、前記アカウントへのアクセスを認可するアドミニストレータであり、
    前記次のオーダーの前記処理は、前記アカウントを、前記次のオーダーの処理の現状ステータスで更新することを含む、請求項14〜19のいずれかに記載のデジタル処理システム。
  21. サーバシステムにおいて要求を処理するためのシステムであって、前記システムは、
    バッチでの処理のための複数の要求を受信するために構成された第1の受信部と、
    前記複数の要求から次の要求を選択するために構成された選択部とを含み、前記次の要求は、第1のオーナーによって所有される第1の保護されたリソースを要求し、前記システムはさらに、
    前記第1のオーナーに代わって前記サーバシステムによって前記第1の保護されたリソースのアクセスを認可するアクセストークンが存在するか否かをチェックするために構成されたチェック部と、
    前記アクセストークンが存在しない場合、前記アクセストークンを受信するために前記第1のオーナーとオフラインモードで通信するために構成された通信部と、
    前記アクセストークンを使用して前記第1の保護されたリソースにアクセスすることによって、前記次の要求を処理するために構成された処理部とを含む、システム。
  22. 前記通信部は、
    前記第1の保護されたリソースへのアクセスの非同期認可のために前記第1のオーナーに通信を送信するために構成された送信部と、
    前記第1の保護されたリソースについての認可付与を受信するために構成された第2の受信部と、
    前記認可付与を認可サーバに送信することによって前記アクセストークンを取得するために構成された取得部とを含む、請求項21に記載のシステム。
  23. 前記通信は、電子メールメッセージまたはショートメッセージサービス(SMS)メッセージである、請求項22に記載のシステム。
  24. 前記通信はユニフォームリソースロケータ(URL)を含み、それは、前記第1のオーナーによって非同期に選択されると、前記認可付与が前記サーバシステムに転送されるようにし、
    前記第2の受信部は、前記第1のオーナーが前記URLを選択して前記第1の保護されたリソースへのアクセスを認可したことに応答して、前記認可付与を受信するために構成されている、請求項23に記載のシステム。
  25. 前記第1のオーナーを含むオーナーのために生成されたアクセストークンを示すクレデンシャルデータを維持するために構成された維持部をさらに含み、
    前記チェックすることは、前記アクセストークンが前記第1のオーナーのために存在するか否かを判断するために前記クレデンシャルデータを検査することを含む、請求項24に記載のシステム。
  26. 前記第1の保護されたリソースはリソースサーバ上でホストされ、前記サーバシステム、前記認可サーバおよび前記リソースサーバは、保護されたリソースの認可のためにOAuthプロトコルをサポートするために実装される、請求項25に記載のシステム。
  27. 前記サーバシステムはサービス指向アーキテクチャ(SOA)サーバであり、前記複数の要求は、前記次の要求が次のオーダーであるように複数のオーダーに対応しており、
    前記保護されたリソースは、個人ウェブサイトにおけるアカウントであり、前記第1のオーナーは、前記アカウントへのアクセスを認可するアドミニストレータであり、
    前記処理部は、前記アカウントを、前記次のオーダーの処理の現状ステータスで更新するために構成された更新部を含む、請求項25に記載のシステム。
JP2016534218A 2014-02-18 2015-02-04 リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理の、サードパーティによる実行の容易化 Active JP6514699B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN758/CHE/2014 2014-02-18
IN758CH2014 2014-02-18
US14/300,251 US10404699B2 (en) 2014-02-18 2014-06-10 Facilitating third parties to perform batch processing of requests requiring authorization from resource owners for repeat access to resources
US14/300,251 2014-06-10
PCT/IB2015/050845 WO2015125038A1 (en) 2014-02-18 2015-02-04 Facilitating third parties to perform batch processing of requests requiring authorization from resource owners for repeat access to resources

Publications (3)

Publication Number Publication Date
JP2017509936A true JP2017509936A (ja) 2017-04-06
JP2017509936A5 JP2017509936A5 (ja) 2018-03-15
JP6514699B2 JP6514699B2 (ja) 2019-05-15

Family

ID=53799169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016534218A Active JP6514699B2 (ja) 2014-02-18 2015-02-04 リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理の、サードパーティによる実行の容易化

Country Status (5)

Country Link
US (1) US10404699B2 (ja)
EP (1) EP3108634B1 (ja)
JP (1) JP6514699B2 (ja)
CN (1) CN105765944B (ja)
WO (1) WO2015125038A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10404699B2 (en) 2014-02-18 2019-09-03 Oracle International Corporation Facilitating third parties to perform batch processing of requests requiring authorization from resource owners for repeat access to resources
US10142338B2 (en) * 2014-09-12 2018-11-27 Id.Me, Inc. Systems and methods for online third-party authentication of credentials
EP3070901A1 (en) * 2015-03-16 2016-09-21 Alcatel Lucent Communication device authentication in small cell network
DE102016221270B4 (de) 2015-11-30 2019-03-21 Ford Global Technologies, Llc Mobile Transportvorrichtung, Fahrzeug und Verfahren zum Bewegen einer mobilen Transportvorrichtung
DE202015106647U1 (de) 2015-11-30 2016-01-15 Ford Global Technologies, Llc Mobile Transportvorrichtung
DE102015223739A1 (de) 2015-11-30 2017-06-01 Ford Global Technologies, Llc Mobile Transportvorrichtung
KR20230145255A (ko) * 2016-10-24 2023-10-17 로비 가이드스, 인크. 2-팩터 인증을 사용하여 미디어 자산에 대한 액세스를 제어하기 위한 시스템 및 방법
US10554564B2 (en) * 2017-02-27 2020-02-04 Ebay Inc. Rate limiter
GB2561822B (en) * 2017-04-13 2020-02-19 Arm Ip Ltd Reduced bandwidth handshake communication
US10581909B2 (en) * 2017-06-26 2020-03-03 Oath Inc. Systems and methods for electronic signing of electronic content requests
CN109428869B (zh) * 2017-08-31 2021-04-27 中国电信股份有限公司 钓鱼攻击防御方法和授权服务器
US10742651B2 (en) * 2017-09-07 2020-08-11 The Toronto-Dominion Bank Digital identity network interface system
US10785211B2 (en) * 2017-12-27 2020-09-22 Microsoft Technology Licensing, Llc Authorization and authentication for recurring workflows
US11924641B2 (en) 2018-06-29 2024-03-05 Nokia Technologies Oy Security management for service access in a communication system
EP3641259A1 (de) * 2018-10-15 2020-04-22 Siemens Aktiengesellschaft Vorrichtung und verfahren zur prüfung von eigenschaften von ressourcen
WO2020086101A1 (en) * 2018-10-27 2020-04-30 Visa International Service Association Biometric and behavior analytics platform
US10956972B2 (en) * 2018-12-26 2021-03-23 Paypal, Inc. Account access system
JP7406086B2 (ja) * 2020-01-28 2023-12-27 富士通株式会社 データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ
CN111898144A (zh) * 2020-07-16 2020-11-06 广东金宇恒软件科技有限公司 一种集体经济公开查询系统
US11552943B2 (en) * 2020-11-13 2023-01-10 Cyberark Software Ltd. Native remote access to target resources using secretless connections
CN114697056A (zh) * 2020-12-28 2022-07-01 航天信息股份有限公司 开票系统的登录方法、装置、存储介质和电子设备
US20230104970A1 (en) * 2021-10-05 2023-04-06 Bank Of America Corporation System for implementing continuous authentication in ambient resource transfers
CN115174162B (zh) * 2022-06-17 2023-10-24 青岛海尔科技有限公司 基于OAuth协议的授权方法、装置、系统及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249821A (ja) * 2000-03-07 2001-09-14 Hitachi Ltd ジョブスケジューリング方法
JP2006350775A (ja) * 2005-06-17 2006-12-28 Konica Minolta Business Technologies Inc 画像処理装置、データ管理プログラムおよびデータ管理方法
US20100100952A1 (en) * 2008-10-21 2010-04-22 Neal Sample Network aggregator
US20130019295A1 (en) * 2011-07-11 2013-01-17 Samsung Electronics Co., Ltd. Method and system for open authentication
JP2013246655A (ja) * 2012-05-25 2013-12-09 Canon Inc 認可サーバー及びクライアント装置、サーバー連携システム、トークン管理方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS606533B2 (ja) 1980-01-19 1985-02-19 松下電器産業株式会社 金属化フィルムコンデンサ
US8364970B2 (en) 2009-02-18 2013-01-29 Nokia Corporation Method and apparatus for providing enhanced service authorization
US20120144501A1 (en) 2010-12-03 2012-06-07 Salesforce.Com, Inc. Regulating access to protected data resources using upgraded access tokens
US8990557B2 (en) * 2011-02-17 2015-03-24 Ebay Inc. Identity assertion framework
US10885179B2 (en) 2011-10-05 2021-01-05 Salesforce.Com, Inc. Just-in-time user provisioning framework in a multitenant environment
CN103067338B (zh) * 2011-10-20 2017-04-19 上海贝尔股份有限公司 第三方应用的集中式安全管理方法和系统及相应通信系统
US8667579B2 (en) 2011-11-29 2014-03-04 Genband Us Llc Methods, systems, and computer readable media for bridging user authentication, authorization, and access between web-based and telecom domains
CN103220259B (zh) 2012-01-20 2016-06-08 华为技术有限公司 Oauth API的使用、调用方法、设备及系统
US20150156226A1 (en) * 2012-06-15 2015-06-04 Holonis, Inc. System and method for internet publishing
US8819841B2 (en) * 2012-06-26 2014-08-26 Google Inc. Automated accounts for media playback
US8806595B2 (en) * 2012-07-25 2014-08-12 Oracle International Corporation System and method of securing sharing of resources which require consent of multiple resource owners using group URI's
CN103581140B (zh) * 2012-08-03 2018-02-27 腾讯科技(深圳)有限公司 授权控制方法及装置和系统、授权请求方法及装置
US8813206B2 (en) * 2012-11-27 2014-08-19 Hong Kong Applied Science and Technology Research Institute Company Limited Anonymous personal content access with content bridge
US9413762B2 (en) * 2013-06-17 2016-08-09 Cable Television Laboratories, Inc. Asynchronous user permission model for applications
US9742757B2 (en) * 2013-11-27 2017-08-22 International Business Machines Corporation Identifying and destroying potentially misappropriated access tokens
US10404699B2 (en) 2014-02-18 2019-09-03 Oracle International Corporation Facilitating third parties to perform batch processing of requests requiring authorization from resource owners for repeat access to resources

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249821A (ja) * 2000-03-07 2001-09-14 Hitachi Ltd ジョブスケジューリング方法
JP2006350775A (ja) * 2005-06-17 2006-12-28 Konica Minolta Business Technologies Inc 画像処理装置、データ管理プログラムおよびデータ管理方法
US20100100952A1 (en) * 2008-10-21 2010-04-22 Neal Sample Network aggregator
US20130019295A1 (en) * 2011-07-11 2013-01-17 Samsung Electronics Co., Ltd. Method and system for open authentication
JP2013246655A (ja) * 2012-05-25 2013-12-09 Canon Inc 認可サーバー及びクライアント装置、サーバー連携システム、トークン管理方法

Also Published As

Publication number Publication date
US10404699B2 (en) 2019-09-03
EP3108634A1 (en) 2016-12-28
JP6514699B2 (ja) 2019-05-15
US20150237053A1 (en) 2015-08-20
CN105765944A (zh) 2016-07-13
EP3108634B1 (en) 2018-01-03
CN105765944B (zh) 2020-03-03
WO2015125038A1 (en) 2015-08-27

Similar Documents

Publication Publication Date Title
JP6514699B2 (ja) リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理の、サードパーティによる実行の容易化
US11848936B2 (en) Method, apparatus, and computer program product for selectively granting permissions to group-based objects in a group-based communication system
US11089474B2 (en) Unified provisioning of applications on devices in an enterprise system
US10997557B2 (en) Method, apparatus, and computer program product for authorizing and authenticating user communication within an enterprise group-based communication platform
US9860234B2 (en) Bundled authorization requests
US10009335B2 (en) Global unified session identifier across multiple data centers
CN106716404B (zh) 计算机子网内的代理服务器
US9866640B2 (en) Cookie based session management
US9374356B2 (en) Mobile oauth service
US9413750B2 (en) Facilitating single sign-on (SSO) across multiple browser instance
US20130212665A1 (en) Signing off from multiple domains accessible using single sign-on
US20120144501A1 (en) Regulating access to protected data resources using upgraded access tokens
JP2017509936A5 (ja)
US20220116392A1 (en) Method and system for contextual access control
US10652344B2 (en) Method for privacy protection
US20150301982A1 (en) Generating proxy automatic configuration scripts
US10440100B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
US20230214508A1 (en) Systems and Methods to Provide Temporary Document Access for Secure File Sharing
US11095448B2 (en) HASSH profiling mechanism
US10554789B2 (en) Key based authorization for programmatic clients
US20180205689A1 (en) Message capture for messaging system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190412

R150 Certificate of patent or registration of utility model

Ref document number: 6514699

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250