JP2017122957A - 情報処理装置及び情報処理プログラム - Google Patents
情報処理装置及び情報処理プログラム Download PDFInfo
- Publication number
- JP2017122957A JP2017122957A JP2016000221A JP2016000221A JP2017122957A JP 2017122957 A JP2017122957 A JP 2017122957A JP 2016000221 A JP2016000221 A JP 2016000221A JP 2016000221 A JP2016000221 A JP 2016000221A JP 2017122957 A JP2017122957 A JP 2017122957A
- Authority
- JP
- Japan
- Prior art keywords
- information
- request
- load balancer
- client
- user
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
一方、論理的にはサーバ側に状態を持たない場合でも、同じクライアントからのリクエストを同じサーバ(実サーバ)に到達させることにより、キャッシュの有効利用等の面で性能上有利になることが多い。
しかし、特許文献1に記載の技術では、REST APIに対応することができない。つまり、特許文献1に記載の技術では、クッキーをクライアント側が使用することとなるので、REST APIに準じていないことになる。
本発明は、クライアントにクッキーを使用させることなく、同じクライアントからの要求を同じサーバに処理させることを可能にした情報処理装置及び情報処理プログラムを提供することを目的としている。
請求項1の発明は、クライアントから受け付けた要求に付与された第1の情報と、該要求に対してロードバランサ手段から受け付けた応答に付与された第2の情報を対応付けて記憶装置に記憶させる制御を行う記憶制御手段と、前記第2の情報を削除した応答を前記クライアントに送信する送信手段を有する情報処理装置である。
<第1の実施の形態>
図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
なお、請求項に記載の「第1の情報」として、例えば、アクセストークン又はこのアクセストークンと同等の機能(ここでは、同じクライアントであることを保証できる機能)を有する情報であればよい。以下、アクセストークンを例示して説明する。また、「第2の情報」として、例えば、クッキー又はこのクッキーと同等の機能(ここでは、アプリケーションサーバを指定できる機能)を有する情報であればよい。以下、クッキーを例示して説明する。「ロードバランサ手段」として、例えば、図1、9、14に示すロードバランサ140、図2に示すロードバランス処理モジュール235、図10に示すロードバランス処理モジュール1035、図15に示すロードバランス処理モジュール1532が該当する。
具体的には、クライアント110は、アプリケーションサーバ145を利用するクライアントであって、中継装置130及びロードバランサ140を経由してAPI(Application Programming Interface)呼び出しを実行する。なお、API呼び出しに先立ち、認可サーバ120からアクセストークンを取得する。
具体的には、認可サーバ120は、API呼び出しの権限を表すアクセストークンを生成する。第1の実施の形態では、認可の仕組みには依存しないが、例としてはOAuth2(https://tools.ietf.org/html/rfc6749)を用いてもよい。なお、認可サーバ120が発行するアクセストークンはクライアント110から透過的な(意味を持たない)ものなので任意の文字列が使われるが、一般にはJWT(https://tools.ietf.org/html/rfc7519)が用いられる。
中継装置130は、クライアント110から受け付けた要求に付与されたアクセストークン(第1の情報の一形態)と、その要求に対してロードバランサ140(ロードバランサ手段の一形態)から受け付けた応答に付与されたクッキー(第2の情報の一形態)を対応付けて記録装置135に記憶させる制御を行う。ここで前述したように、第1の情報として、クライアント110が認可サーバ120から取得したアクセストークンを利用し、第2の情報として、ロードバランサ140が発行したクッキーを利用する。
そして、中継装置130は、ロードバランサ140から受け取った応答から、クッキーを削除し、そのクッキーを削除した後の応答をクライアント110に送信する。
また、中継装置130は、クライアント110から受け付けた要求に付与されたアクセストークンを記録装置135から検索して、そのアクセストークンに対応するクッキーを、その要求に付与し、そのクッキーが付与された要求をロードバランサ140に送信するようにしてもよい。
具体的には、中継装置130は、クライアント110からアプリケーションサーバ145へのAPI呼び出し(アクセストークンを含む要求)を中継する。中継する際に、アクセストークンからロードバランサ140が使用するクッキーを付与する。第1の実施の形態では、最初に、ロードバランサ140が生成したクッキーをアクセストークンと紐づけて記録装置135に記憶させ、次回同じアクセストークンでリクエストが来た場合にそのクッキーを付与してロードバランサ140(最終的にはアプリケーションサーバ145)に要求を転送する。
なお、サーバID欄720内の情報は、ロードバランサ140から得た応答に付与されたクッキーから抽出した情報である。したがって、アクセストークンとクッキーが対応付けられている。最終アクセス時刻欄760又はアクセストークン有効期限欄770内の情報は、関連テーブル700内のその行にある関連付けデータの削除を判断するために用いる。例えば、現在の時刻が、最終アクセス時刻欄760内の時刻から予め定められた期間が過ぎている場合は、その行の関連付けデータを削除してもよい。また、現在の時刻が、アクセストークン有効期限欄770内の有効期限を過ぎている場合は、その行の関連付けデータを削除してもよい。
また、記録装置135は、関連テーブル800を記憶していてもよい。図8は、関連テーブル800のデータ構造例を示す説明図である。関連テーブル800は、アクセストークン欄810、Cookie欄820を有している。アクセストークン欄810は、アクセストークンを記憶している。Cookie欄820は、そのアクセストークンに対応するクッキーを記憶している。
具体的には、ロードバランサ140は、クライアント110からの要求を後段のアプリケーションサーバ145に分散して転送する。同一クライアント110からの要求を同じアプリケーションサーバ145に転送するために、クッキーに転送先を決定するための情報を埋め込む。例えば、クッキー内に図6に示すクッキーデータ600を埋め込む。クッキーデータ600は、ロードバランサ140が設定するクッキー情報の例を示しており、具体的には、処理させるアプリケーションサーバ145として、「S1」を指定していることを意味している。
クライアント110は、認可サーバ120、ロードバランサ230と接続されている。
認可サーバ120は、クライアント110と接続されている。
ロードバランサ230は、ロードバランス処理モジュール235、記録装置135を有しており、クライアント110、アプリケーションサーバ1:145A、アプリケーションサーバ2:145B、アプリケーションサーバ3:145Cと接続されている。
各アプリケーションサーバ145は、ロードバランサ230と接続されている。
クライアント110A、クライアント110B、クライアント110C、認可サーバ120、中継装置130、ロードバランサ230は、通信回線390を介してそれぞれ接続されている。通信回線390は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。また、中継装置130(ロードバランサ140、アプリケーションサーバ1:145A等を含めてもよい)、ロードバランサ230(アプリケーションサーバ4:145D等を含めてもよい)による機能は、クラウドサービスとして実現してもよい。もちろんのことながら、クライアント110、認可サーバ120、中継装置130、ロードバランサ230等の設置は、図3の例に示した個数以外の個数であってもよい。
各クライアント110のブラウザ等が用いられて、各ホームページからサービス(アプリケーションサーバ1:145A等又はアプリケーションサーバ4:145D等が提供するサービス)が提供される。ユーザーの操作にしたがって、アプリケーションサーバ145に対して要求が送信され、アプリケーションサーバ145等によるサービス(要求に対する処理)が提供される。その場合に、アプリケーションサーバ145、クライアント110間では、REST APIにしたがってクッキーの利用はされないが、中継装置130とロードバランサ140(又はロードバランサ230)によって、同じクライアント110からの要求は、同じアプリケーションサーバ145に処理させることができるようになる。
ステップS402では、クライアント110が認可サーバ120にアクセストークンを要求する。
ステップS404では、認可サーバ120がアクセストークンをクライアント110に返す。
ステップS406では、クライアント110が中継装置130にアクセストークン付きでAPI要求を発行する。
ステップS408では、ロードバランサ140がアプリケーションサーバ145の1つを決定し、要求を転送する。
ステップS412では、ロードバランサ140が転送先アプリケーションサーバ145を固定するクッキーを応答に付与する。
ステップS414では、中継装置130がアクセストークンとクッキーの情報を紐づけて記録し、クッキー情報を応答から削除する。なお、このときにユーザーIDも合わせて記録してもよい。
ステップS416では、クライアント110が応答を受け取る。ここでの応答は、クッキーが付与されていないデータ(ステップS410での応答と同等)である。
ステップS502では、クライアント110が中継装置130にアクセストークン付きでAPI要求を発行する。なお、ここでのアクセストークンは、図4の例に示すフローチャートの処理によって取得したアクセストークンである。
ステップS504では、中継装置130がアクセストークンに関連付けられたクッキーを要求に付与する。また、アクセストークンに関連付けられたクッキーがない場合は、ユーザーID/グループID/ロールIDで検索して、類似性の高いユーザーの使用したクッキーを使用してもよい。
ステップS506では、ロードバランサ140がクッキーに基づきアプリケーションサーバ145を決定し、要求を転送する。
ステップS510では、ロードバランサ140が応答をそのまま転送する。
ステップS512では、中継装置130が応答をそのまま転送する。
ステップS514では、クライアント110が応答を受け取る。
なお、図5の例に示すフローチャートの処理は、記録装置135内にアクセストークンとクッキーのペアが記憶されているので、ステップS510、ステップS512では、応答をそのまま転送している。ただし、図4の例に示すフローチャート、図5の例に示すフローチャートで、ロードバランサ140が同じ処理を行わせるため(つまり、図4の例に示すフローチャートの処理、図5の例に示すフローチャートの処理であることを区別させる必要をなくすため)、クッキーを付与してもよい。その場合、ステップS512で、中継装置130が、そのクッキーを削除すればよい。
図9は、第2の実施の形態の構成例についての概念的なモジュール構成図である。なお、前述の実施の形態と同種の部位には同一符号を付し重複した説明を省略する(以下、同様)。第2の実施の形態は、第1の実施の形態のようにクッキーとアクセストークンのペアを記録する必要がなくなり、必要メモリ量が削減できる。
クライアント110は、認可サーバ920、中継装置930と接続されている。
認可サーバ920は、クライアント110、中継装置930と接続されている。認可サーバ920は、第1の実施の形態の認可サーバ120と同等のアクセストークンの生成処理を行うが、生成したアクセストークンに付与するクッキーを中継装置930に要求する。そして、中継装置930からクッキーを受け取り、アクセストークンにクッキーを埋め込んで、そのアクセストークン(クッキーが付与されたアクセストークン)をクライアント110に渡す。
又は、認可サーバ920は、アクセストークンの生成処理を行い、生成したアクセストークンを中継装置930に渡す。中継装置930が、アクセストークンにクッキーを付与する。そして、中継装置930が、そのアクセストークン(クッキーが付与されたアクセストークン)をクライアント110に渡すようにしてもよい。若しくは、中継装置930が、そのアクセストークン(クッキーが付与されたアクセストークン)を認可サーバ920に渡し、認可サーバ920がそのアクセストークンをクライアント110に渡すようにしてもよい。
また、中継装置930は、クライアント110から受け付けた要求に付与されたアクセストークンからクッキーを抽出し、その要求に付与するようにしてもよい。なお、この中継装置930における「付与する」処理は、アクセストークンから抽出したクッキー情報を、本来のクッキーとして機能するように要求に付与する処理である。
そして、要求とアクセストークンとクッキー(アクセストークンとクッキーが付与された要求)をロードバランサ140に送信するようにしてもよい。
具体的には、中継装置930は、クライアント110からアプリケーションサーバ145へのAPI呼び出し(アクセストークンを含む要求)を中継する。中継する際に、アクセストークンからロードバランサ140が使用するクッキーを付与する。第2の実施の形態では、認可サーバ920と連携し、認可サーバ920が発行するアクセストークンに、ロードバランサ140が生成したクッキー情報を埋め込んでクライアント110にアクセストークンを提供する。なお、クッキー情報を埋め込む処理自体、クライアント110にアクセストークンを送信する処理自体は、中継装置930が行ってもよいし、認可サーバ920が行ってもよい。
アプリケーションサーバ145は、ロードバランサ140と接続されている。
クライアント110は、認可サーバ920、ロードバランサ1030と接続されている。
認可サーバ920は、クライアント110、ロードバランサ1030と接続されている。
ロードバランサ1030は、クライアント110、認可サーバ920、アプリケーションサーバ1:145A、アプリケーションサーバ2:145B、アプリケーションサーバ3:145Cと接続されている。
各アプリケーションサーバ145は、ロードバランサ1030と接続されている。
ステップS1102では、クライアント110が認可サーバ920にアクセストークンを要求する。
ステップS1104では、認可サーバ920は中継装置930にアクセストークンに埋め込む追加情報(クッキー情報)を要求する。
ステップS1106では、中継装置930はロードバランサ140に適当な要求を発行する。ここでの要求は、前述したように、クッキーを生成させるためだけの要求であり、アプリケーションサーバ145に実際の処理を行わせるものでなくてもよい(例えば、単に、返信を行わせるだけの処理等)。もちろんのことながら、実際の処理を行わせる要求であってもよい。
ステップS1108では、ロードバランサ140がアプリケーションサーバ145の1つを決定し、要求を転送する。
ステップS1112では、ロードバランサ140が転送先アプリケーションサーバ145を固定するクッキーを応答に付与する。
ステップS1114では、中継装置930がロードバランサ140が生成したクッキーからアクセストークンに埋め込む情報を生成し、認可サーバ920に返す。
ステップS1116では、認可サーバ920がクライアント110にアクセストークンを返す。認可サーバ920は、例えば、アクセストークンデータ1300を生成する。図13は、アクセストークンデータ1300のデータ構造例を示す説明図である。アクセストークンデータ1300の末尾(図13の例では、「.」の右側)にロードバランサ140(ロードバランス処理モジュール1035)が設定したクッキーに含まれるサーバID(アプリケーションサーバ145の識別情報、図13の例では「S1」)を付与したものである。
ステップS1118では、クライアント110がアクセストークン(クッキーが埋め込まれたアクセストークン)を受け取る。
ステップS1202では、クライアント110が中継装置930にアクセストークン付きでAPI要求を発行する。ここでのアクセストークンには、図11の例に示すフローチャートの処理が行われたものであり、クッキー情報が埋め込まれている。
ステップS1204では、中継装置930がアクセストークンに埋め込まれた情報からクッキーを復元し、そのクッキーを要求に付与する。
ステップS1206では、ロードバランサ140がクッキーに基づきアプリケーションサーバ145を決定し、要求を転送する。
ステップS1210では、ロードバランサ140が応答をそのまま転送する。
ステップS1212では、中継装置930が応答をそのまま転送する。
ステップS1214では、クライアント110が応答を受け取る。
図14は、第3の実施の形態の構成例についての概念的なモジュール構成図である。第1の実施の形態(記録モード)と第2の実施の形態(埋め込みモード)とを組み合わせたものである。
第1の実施の形態では、第2の実施の形態による任意の要求を行う等のような余分の処理が少ないが、アクセストークンとクッキーの関連付けを保持するため、メモリ容量を必要とする。
第2の実施の形態では、アクセストークンへの情報の埋め込みに先立ち、どのアプリケーションサーバ145にリクエストを送るかを決定するために、いったん中継装置930からロードバランサ140へのなんらかのHTTPリクエストを送る必要がある。しかし、アクセストークンとクッキーの関連付けを保持する必要がないため、メモリ容量は不要である。
第3の実施の形態では、第1の実施の形態における記録装置135を利用して、クッキー情報をアクセストークンに埋め込む処理を行っている。
認可サーバ1420は、クライアント110、中継装置1430と接続されている。認可サーバ1420は、認可サーバ920と同等の処理を行う。
そして、要求を行ったユーザーに関する情報と、その要求に対してロードバランサ140から受け付けた応答に付与されたクッキーを対応付けて記録装置135に記憶させる制御を行う。例えば、記録装置135は、関連テーブル700を記憶する。
受け付けたユーザーに関する情報に類似するユーザーに関する情報を記録装置135から検索し、その検索されたユーザーに関する情報に対応するクッキーを認可サーバ1420に送信する。
ここでユーザーに関する情報として、そのユーザーを識別するための識別情報、そのユーザーが属しているグループを識別するための識別情報、そのユーザーの役割を示す情報、そのユーザーがアクセス可能なリソースを示す情報のいずれか1つ、又はこれらの組み合わせを利用するようにしてもよい。
また、第3の実施の形態の中継装置1430は、アクセストークンに含まれるユーザーID情報から、そのユーザーが属するグループ又はそのユーザーに割り当てられているロール(役割、一般ユーザー、管理者等)を決定し、類似(同じ場合を含む)するグループ又はロールのユーザーが使用したアプリケーションサーバ145に要求を転送するようにクッキーを再利用するようにしてもよい。一般に、ユーザーの権限を確認するためには、そのユーザーの属するグループの保有している権限や、そのユーザーに割り当てられている権限を調べる必要がある。同じグループ又はロールからのアクセスを同じアプリケーションサーバ145に転送することにより、アプリケーションサーバ145上でグループ又はロールの権限、属性、アクセスするリソース等を、すでにそのアプリケーションサーバ145のメモリ上にロード済みである可能性が高まり、性能を向上させることができる。
また、第3の実施の形態の中継装置1430は、アクセストークンに含まれるスコープ情報から、類似するスコープ情報を有するユーザーが使用したアプリケーションサーバ145に要求を転送するようにクッキーを再利用するようにしてもよい。なお、スコープとはアクセス可能なリソースを宣言する識別子である。アクセスするリソースが、キャッシュ済みである可能性が高まり、性能を向上させることができる。
各アプリケーションサーバ145は、ロードバランサ140と接続されている。
クライアント110は、認可サーバ1420、ロードバランサ1530と接続されている。
認可サーバ1420は、クライアント110、ロードバランサ1530と接続されている。
ロードバランサ1530は、ロードバランス処理モジュール1532、記録装置135を有しており、クライアント110、認可サーバ1420、アプリケーションサーバ1:145A、アプリケーションサーバ2:145B、アプリケーションサーバ3:145Cと接続されている。
各アプリケーションサーバ145は、ロードバランサ1530と接続されている。
ステップS1602では、クライアント110が認可サーバ1420にアクセストークンを要求する。
ステップS1604では、認可サーバ1420は中継装置1430にユーザーIDを渡し、アクセストークンに埋め込む追加情報を要求する。
ステップS1606では、中継装置1430はユーザーID、グループID、ロールIDで検索して類似性の高いユーザーに関連付けられたクッキーを記録装置135から検索し、あれば認可サーバ1420に返す。
ステップS1610では、認可サーバ1420がクライアント110にアクセストークンを返す。
ステップS1612では、クライアント110がアクセストークンを受け取る。
この後、図12の例に示すフローチャートにしたがった処理を行う。
また、第1の実施の形態と第2の実施の形態の組み合わせ例として、予め定められた条件を満たすまで第1の実施の形態による処理を行い、予め定められた条件を満たした後は、第2の実施の形態による処理を行うようにしてもよい。ここで、予め定められた条件として、例えば、記録装置135が使用できるメモリ容量が予め定められたメモリ容量(例えば、記録装置135に使用できる最大のメモリ容量)に達すること、第1の実施の形態による処理期間が予め定められた期間に達すること等としてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分又は全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
120…認可サーバ
130…中継装置
135…記録装置
140…ロードバランサ
145…アプリケーションサーバ
230…ロードバランサ
235…ロードバランス処理モジュール
390…通信回線
920…認可サーバ
930…中継装置
1030…ロードバランサ
1035…ロードバランス処理モジュール
1420…認可サーバ
1430…中継装置
1530…ロードバランサ
1532…ロードバランス処理モジュール
Claims (10)
- クライアントから受け付けた要求に付与された第1の情報と、該要求に対してロードバランサ手段から受け付けた応答に付与された第2の情報を対応付けて記憶装置に記憶させる制御を行う記憶制御手段と、
前記第2の情報を削除した応答を前記クライアントに送信する送信手段
を有する情報処理装置。 - クライアントから受け付けた要求に付与された第1の情報を前記記憶装置から検索して、該第1の情報に対応する第2の情報を該要求に付与し、該第2の情報が付与された要求をロードバランサ手段に送信する第2の送信手段
をさらに有する請求項1に記載の情報処理装置。 - 認可サーバから第1の情報を受け付ける受付手段と、
ロードバランサ手段に要求を送信する送信手段と、
前記ロードバランサ手段から前記要求に対する応答に付与された第2の情報を受け付ける第2の受付手段と、
前記第2の情報を前記認可サーバに送信する第2の送信手段
を有する情報処理装置。 - クライアントから受け付けた要求に付与された第1の情報から前記第2の情報を抽出し、該要求に付与する付与手段と、
前記要求と前記第1の情報と前記第2の情報をロードバランサ手段に送信する第3の送信手段
をさらに有する請求項3に記載の情報処理装置。 - 認可サーバからユーザーに関する情報を受け付ける受付手段と、
要求を行ったユーザーに関する情報と、該要求に対してロードバランサ手段から受け付けた応答に付与された第2の情報を対応付けて記憶装置に記憶させる制御を行う記憶制御手段と、
前記受付手段によって受け付けられたユーザーに関する情報に類似するユーザーに関する情報を前記記憶装置から検索し、該検索されたユーザーに関する情報に対応する第2の情報を前記認可サーバに送信する送信手段
を有する情報処理装置。 - 前記ユーザーに関する情報として、該ユーザーを識別するための識別情報、該ユーザーが属しているグループを識別するための識別情報、該ユーザーの役割を示す情報、該ユーザーがアクセス可能なリソースを示す情報のいずれか1つ、又はこれらの組み合わせを利用する、
請求項5に記載の情報処理装置。 - 前記第1の情報として、クライアントが認可サーバから取得するアクセストークンを利用し、
前記第2の情報として、前記ロードバランサ手段が発行したクッキーを利用する、
請求項1から4のいずれか一項に記載の情報処理装置。 - コンピュータを、
クライアントから受け付けた要求に付与された第1の情報と、該要求に対してロードバランサ手段から受け付けた応答に付与された第2の情報を対応付けて記憶装置に記憶させる制御を行う記憶制御手段と、
前記第2の情報を削除した応答を前記クライアントに送信する送信手段
として機能させるための情報処理プログラム。 - コンピュータを、
認可サーバから受け付けた第1の情報を受け付ける受付手段と、
ロードバランサ手段に要求を送信する送信手段と、
前記ロードバランサ手段から前記要求に対する応答に付与された第2の情報を受け付ける第2の受付手段と、
前記第2の情報を前記認可サーバに送信する第2の送信手段
として機能させるための情報処理プログラム。 - コンピュータを、
認可サーバから受け付けたユーザーに関する情報を受け付ける受付手段と、
要求を行ったユーザーに関する情報と、該要求に対してロードバランサ手段から受け付けた応答に付与された第2の情報を対応付けて記憶装置に記憶させる制御を行う記憶制御手段と、
前記受付手段によって受け付けられたユーザーに関する情報に類似するユーザーに関する情報を前記記憶装置から検索し、該検索されたユーザーに関する情報に対応する第2の情報を前記認可サーバに送信する送信手段
として機能させるための情報処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016000221A JP6620558B2 (ja) | 2016-01-04 | 2016-01-04 | 情報処理装置及び情報処理プログラム |
US15/208,885 US10154085B2 (en) | 2016-01-04 | 2016-07-13 | System, information processing apparatus, information processing method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016000221A JP6620558B2 (ja) | 2016-01-04 | 2016-01-04 | 情報処理装置及び情報処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017122957A true JP2017122957A (ja) | 2017-07-13 |
JP6620558B2 JP6620558B2 (ja) | 2019-12-18 |
Family
ID=59227032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016000221A Active JP6620558B2 (ja) | 2016-01-04 | 2016-01-04 | 情報処理装置及び情報処理プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10154085B2 (ja) |
JP (1) | JP6620558B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11316689B2 (en) * | 2017-09-29 | 2022-04-26 | Oracle International Corporation | Trusted token relay infrastructure |
JP7059559B2 (ja) * | 2017-10-11 | 2022-04-26 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374300B2 (en) * | 1999-07-15 | 2002-04-16 | F5 Networks, Inc. | Method and system for storing load balancing information with an HTTP cookie |
US7954144B1 (en) * | 2000-01-18 | 2011-05-31 | Novell, Inc. | Brokering state information and identity among user agents, origin servers, and proxies |
-
2016
- 2016-01-04 JP JP2016000221A patent/JP6620558B2/ja active Active
- 2016-07-13 US US15/208,885 patent/US10154085B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10154085B2 (en) | 2018-12-11 |
US20170195407A1 (en) | 2017-07-06 |
JP6620558B2 (ja) | 2019-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6439370B2 (ja) | 情報処理システム、情報処理方法、情報処理装置及びプログラム | |
JP6610082B2 (ja) | 中継装置及び中継処理プログラム | |
JPWO2012081404A1 (ja) | 認証システム、認証サーバ、サービス提供サーバ、認証方法、及びプログラム | |
US20180063122A1 (en) | Identification federation based single sign-on | |
JP6569567B2 (ja) | 情報処理装置、情報処理システム及び情報処理プログラム | |
JP6620558B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP7287497B2 (ja) | 応答処理システム | |
JP5949552B2 (ja) | アクセス制御情報生成システム | |
JP2017021550A (ja) | 情報処理装置及び情報処理プログラム | |
JP6500668B2 (ja) | ジョブ処理システム、ジョブ処理装置及びジョブ処理プログラム | |
JP7047302B2 (ja) | 情報処理装置及び情報処理プログラム | |
JPWO2021117101A5 (ja) | ||
JP7087581B2 (ja) | 連携支援システム、連携支援方法、および連携支援プログラム | |
JP2018018420A (ja) | 情報処理装置及び情報処理プログラム | |
JP6164954B2 (ja) | 認証サーバ、認証方法、およびプログラム | |
JP7451911B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP6588306B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP7058513B2 (ja) | 画面提供装置、画面提供方法及びプログラム | |
JP6729010B2 (ja) | 情報処理システム及び情報処理プログラム | |
JP2018022218A (ja) | 情報処理装置及び情報処理プログラム | |
JP2024065588A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP6728706B2 (ja) | 情報処理システム、情報処理装置及び情報処理プログラム | |
JP6471644B2 (ja) | 情報処理装置、情報処理システム及び情報処理プログラム | |
JP6668835B2 (ja) | 情報処理装置及び情報処理プログラム | |
KR101980249B1 (ko) | 클라우드 컴퓨팅 환경에서의 데이터 처리방법 및 그 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181122 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190731 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190813 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191010 |
|
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: 20191023 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191105 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6620558 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |