IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝電機サービス株式会社の特許一覧

特開2024-13000サーバ装置、データ管理方法、プログラム、及びデータ管理システム
<>
  • 特開-サーバ装置、データ管理方法、プログラム、及びデータ管理システム 図1
  • 特開-サーバ装置、データ管理方法、プログラム、及びデータ管理システム 図2
  • 特開-サーバ装置、データ管理方法、プログラム、及びデータ管理システム 図3
  • 特開-サーバ装置、データ管理方法、プログラム、及びデータ管理システム 図4
  • 特開-サーバ装置、データ管理方法、プログラム、及びデータ管理システム 図5
  • 特開-サーバ装置、データ管理方法、プログラム、及びデータ管理システム 図6
  • 特開-サーバ装置、データ管理方法、プログラム、及びデータ管理システム 図7
  • 特開-サーバ装置、データ管理方法、プログラム、及びデータ管理システム 図8
  • 特開-サーバ装置、データ管理方法、プログラム、及びデータ管理システム 図9
  • 特開-サーバ装置、データ管理方法、プログラム、及びデータ管理システム 図10
  • 特開-サーバ装置、データ管理方法、プログラム、及びデータ管理システム 図11
  • 特開-サーバ装置、データ管理方法、プログラム、及びデータ管理システム 図12
  • 特開-サーバ装置、データ管理方法、プログラム、及びデータ管理システム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024013000
(43)【公開日】2024-01-31
(54)【発明の名称】サーバ装置、データ管理方法、プログラム、及びデータ管理システム
(51)【国際特許分類】
   G06F 21/62 20130101AFI20240124BHJP
【FI】
G06F21/62 318
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022114887
(22)【出願日】2022-07-19
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】会津 宏幸
(72)【発明者】
【氏名】峯邑 隆司
(57)【要約】
【課題】記憶媒体の空き容量が足りなくなってしまうことを抑制する。
【解決手段】実施形態のサーバ装置は、受信部と、処理部と、登録部と、検出部と、削除部と、を備える。前記受信部は、認証された対象であることを示すトークンと、当該トークンに関連付けられたリクエスト内容とを受信する。前記処理部は、前記リクエスト内容の処理を実行する。前記登録部は、前記処理の実行により取得されたデータを識別する識別情報と、当該処理の前記リクエスト内容に関連付けられた前記トークンの有効期限とを関連付けてデータ管理情報に登録する。前記検出部は、前記データ管理情報に基づいて、有効期限を超過した前記トークンを検出する。前記削除部は、前記検出部により検出された前記トークンに関連付けられた前記データを削除する。
【選択図】図6
【特許請求の範囲】
【請求項1】
認証された対象であることを示すトークンと、当該トークンに関連付けられたリクエスト内容とを受信する受信部と、
前記リクエスト内容の処理を実行する処理部と、
前記処理の実行により取得されたデータを識別する識別情報と、当該処理の前記リクエスト内容に関連付けられた前記トークンの有効期限とを関連付けてデータ管理情報に登録する登録部と、
前記データ管理情報に基づいて、有効期限を超過した前記トークンを検出する検出部と、
前記検出部により検出された前記トークンに関連付けられた前記データを削除する削除部と、
を備えるサーバ装置。
【請求項2】
前記受信部は、有効期限が更新された前記トークンと、前記リクエスト内容とを受信し、
前記登録部は、有効期限が更新された前記トークンに基づいて、前記データ管理情報における、有効期限が更新される前の前記トークンに関連付けられた前記リクエスト内容の処理が実行されることで生成された前記データに関連付けられた前記有効期限を、更新された前記トークンの有効期限に変更する、
請求項1に記載のサーバ装置。
【請求項3】
前記受信部は、再発行された前記トークンと、前記リクエスト内容とを受信し、
前記登録部は、再発行された前記トークンに基づいて、前記データ管理情報における、再発行される前の前記トークンに関連付けられた前記リクエスト内容の処理が実行されることで生成された前記データに関連付けられた前記有効期限を、再発行された前記トークンの有効期限に変更する、
請求項1に記載のサーバ装置。
【請求項4】
前記トークンの有効期限と、当該トークンの無効化との少なくとも一つが変更されたことの通知先として登録することを要求する登録要求部をさらに備え、
前記登録部は、変更されたことが通知された場合に、通知された変更内容に応じて、前記データ管理情報における変更対象の前記トークンの有効期限を変更する、
請求項1に記載のサーバ装置。
【請求項5】
前記受信部が前記トークンと、前記リクエスト内容とを受信した場合に、前記通知先として登録されているか否かを判定する登録判定部を更に備え、
前記登録要求部は、前記通知先として登録されていないと判定した場合に、前記通知先として登録することを要求する、
請求項4に記載のサーバ装置。
【請求項6】
前記トークンの対象に付与されているアクセス権情報を記憶する記憶部に基づいて、当該トークンに関連付けられたリクエスト内容の実行を許可するか否かを判定する実行判定部を更に備え、
前記登録部は、変更されたことが通知された場合に、通知された変更内容に応じて、前記記憶部に記憶されている前記アクセス権情報を変更する、
請求項4に記載のサーバ装置。
【請求項7】
認証された対象であることを示すトークンと、当該トークンに関連付けられたリクエスト内容とを受信し、
前記リクエスト内容の処理を実行し、
前記処理の実行により取得されたデータを識別する識別情報と、当該処理の前記リクエスト内容に関連付けられた前記トークンの有効期限とを関連付けてデータ管理情報に登録し、
前記データ管理情報に基づいて、有効期限を超過した前記トークンを検出し、
検出された前記トークンに関連付けられた前記データを削除する、
を含むデータ管理方法。
【請求項8】
コンピュータを、
認証された対象であることを示すトークンと、当該トークンに関連付けられたリクエスト内容とを受信する受信部と、
前記リクエスト内容の処理を実行する処理部と、
前記処理の実行により取得されたデータを識別する識別情報と、当該処理の前記リクエスト内容に関連付けられた前記トークンの有効期限とを関連付けてデータ管理情報に登録する登録部と、
前記データ管理情報に基づいて、有効期限を超過した前記トークンを検出する検出部と、
前記検出部により検出された前記トークンに関連付けられた前記データを削除する削除部と、
して機能させるためのプログラム。
【請求項9】
トークンを発行する認可サーバと、当該トークンにより認可されている範囲内のリクエストの場合に処理を実行するサーバ装置とを有するデータ管理システムであって、
前記サーバ装置は、
認証された対象であることを示すトークンと、当該トークンに関連付けられたリクエスト内容とを受信する受信部と、
前記リクエスト内容の処理を実行する処理部と、
前記処理の実行により取得されたデータを識別する識別情報と、当該処理の前記リクエスト内容に関連付けられた前記トークンの有効期限とを関連付けてデータ管理情報に登録する登録部と、
前記データ管理情報に基づいて、有効期限を超過した前記トークンを検出する検出部と、
前記検出部により検出された前記トークンに関連付けられた前記データを削除する削除部と、
前記トークンの有効期限と、当該トークンの無効化との少なくとも一つが変更されたことの通知先として登録することを要求する登録要求部と、を備え、
前記認可サーバは、
前記トークンを発行する発行部と、
前記発行部が発行した前記トークンの有効期限の変更と、当該トークンの無効化との少なくとも一つを実行する変更部と、
前記トークンごとに前記通知先を登録する通知先登録部と、
前記変更部により変更された場合に、変更された前記トークンの前記通知先に通知する通知部と、
を備えるデータ管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、サーバ装置、データ管理方法、プログラム、及びデータ管理システムに関する。
【背景技術】
【0002】
従来、ユーザからの要求に応じて各種処理を実行するリソースサーバが知られている。リソースサーバは、ユーザの要求に応じて、各種処理を実行する。また、リソースサーバは、各種処理の実行に際して、様々データを取得したり、中間データを生成したりする。
【0003】
これらデータは、再度処理を実行する場合や、実行結果を表示する場合に必要になる。そのため、これら取得したデータは、削除せずに、記憶していることが望ましい。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2016-147044号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、リソースサーバは、取得したデータを必要以上に記憶していると記憶媒体の容量を圧迫してしまう。
【0006】
そこで、本発明は、上記事情に鑑みてなされたものであり、記憶媒体の空き容量が足りなくなってしまうことを抑制することが可能なサーバ装置、データ管理方法、プログラム、及びデータ管理システムを提供することを課題とする。
【課題を解決するための手段】
【0007】
実施形態のサーバ装置は、受信部と、処理部と、登録部と、検出部と、削除部と、を備える。前記受信部は、認証された対象であることを示すトークンと、当該トークンに関連付けられたリクエスト内容とを受信する。前記処理部は、前記リクエスト内容の処理を実行する。前記登録部は、前記処理の実行により取得されたデータを識別する識別情報と、当該処理の前記リクエスト内容に関連付けられた前記トークンの有効期限とを関連付けてデータ管理情報に登録する。前記検出部は、前記データ管理情報に基づいて、有効期限を超過した前記トークンを検出する。前記削除部は、前記検出部により検出された前記トークンに関連付けられた前記データを削除する。
【図面の簡単な説明】
【0008】
図1図1は、第1の実施形態に係るクライアントサーバシステムの概要的な構成の一例を示す図である。
図2図2は、第1の実施形態に係るリソースサーバの概略の一例を示す図である。
図3図3は、第1の実施形態に係る認可サーバのハードウェア構成の一例を示す図である。
図4図4は、第1の実施形態に係るリソースサーバのハードウェア構成の一例を示す図である。
図5図5は、第1の実施形態に係る認可サーバが有する機能の一例を示す図である。
図6図6は、第1の実施形態に係るリソースサーバが有する機能の一例を示す図である。
図7図7は、第1の実施形態に係るリソースサーバが実行するデータ記憶処理について説明する。
図8図8は、第1の実施形態に係るリソースサーバが実行するデータ削除処理について説明する。
図9図9は、第2の実施形態に係るリソースサーバが有する機能の一例を示す図である。
図10図10は、第3の実施形態に係るリソースサーバが有する機能の一例を示す図である。
図11図11は、第3の実施形態に係る認可サーバが有する機能の一例を示す図である。
図12図12は、第3の実施形態に係るリソースサーバ及び認可サーバが実行する登録判定処理について説明する。
図13図13は、第3の実施形態に係るリソースサーバ及び認可サーバが実行する登録変更処理について説明する。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、サーバ装置、データ管理方法、プログラム、及びデータ管理システムを詳細に説明する。なお、以下の各実施形態および変形例における説明において、同一の符号が付されている部分は実質的に同一の機能を有しており、重複部分については適宜説明を省略する。
【0010】
(第1の実施形態)
図1は、第1の実施形態に係るクライアントサーバシステム1の概要的な構成の一例を示す図である。クライアントサーバシステム1は、ユーザ端末10、認証サーバ20、認可サーバ30、及びリソースサーバ40を有する。
【0011】
ユーザ端末10は、パーソナルコンピュータやスマートフォンやタブレット端末などの情報処理装置である。ユーザ端末10は、ユーザから各種操作を受け付ける。そして、ユーザ端末10は、受け付けた操作に基づいて、認証サーバ20、認可サーバ30、及びリソースサーバ40に各種処理を要求する。
【0012】
認証サーバ20は、ユーザを認証するサーバ装置である。また、認証サーバ20は、一台のサーバ装置により構成されていてもよいし、複数台のサーバ装置により構成されていてもよい。
【0013】
認可サーバ30は、認証された対象に対してトークンを付与するサーバ装置である。例えば、認証サーバ20により認証される対象であるユーザに対して認可サーバ30によりトークンが付与される。トークンとは、認証されたユーザなどの対象であることを示す情報である。例えば、トークンとは、OAuthや、OpenID Connectで用いられているaccess tokenなどの情報である。また、認可サーバ30は、一台のサーバ装置により構成されていてもよいし、複数台のサーバ装置により構成されていてもよい。
【0014】
リソースサーバ40は、リソースを提供するサーバ装置である。すなわち、リソースサーバ40は、ユーザ端末10からの要求に応じて、各種処理を実行するサーバ装置である。また、リソースサーバ40は、一台のサーバ装置により構成されていてもよいし、複数台のサーバ装置により構成されていてもよい。
【0015】
このような構成において、ユーザ端末10は、ユーザを識別するためのユーザ識別情報やパスワードを有する認証要求を認証サーバ20に送信する。認証サーバ20は、認証要求に含まれるユーザ識別情報やパスワードに基づいて、ユーザを認証可能であるか否かを判定する。認証サーバ20は、ユーザを認証した場合に、ユーザを認証したことを示す認証情報をユーザ端末10に送信する。ユーザ端末10は、認証情報を添えてトークン発行要求を認可サーバ30に送信する。
【0016】
認可サーバ30は、トークン発行要求に対して認証情報の正当性を確認した後、トークンを生成して、ユーザ端末10に対してトークンを返信する。トークンは、発行元情報、ユーザ識別情報、有効期限情報、アクセス権情報、及びトークン識別情報を有する。発行元情報は、トークンを発行した発行元を特定するための情報である。すなわち、発行元情報は、トークンを発行した認可サーバ30を特定するための情報である。ユーザ識別情報は、認証された主体であるユーザを特定するための情報である。有効期限情報は、トークンの有効期限を示す情報である。アクセス権情報は、ユーザに付与されている権限の範囲を示す情報である。トークン識別情報は、トークンを特定するための情報である。
【0017】
ユーザ端末10は、リソースサーバ40に各種処理の実行を要求するリクエスト情報をリソースサーバ40に送信する。リクエスト情報は、リソースサーバ40に要求する処理内容を示すリクエスト内容情報とトークンとを有する。
【0018】
リソースサーバ40は、リクエスト情報に含まれるトークンについてトークン発行元の情報及びトークンが改竄されていないか等を確認し、トークンの有効性を判定する。リソースサーバ40は、有効なトークンである場合に、トークン情報に含まれる権限の範囲内で、リクエスト内容情報に示された処理を実行する。
【0019】
このように、リソースサーバ40は、ユーザ端末10からリクエストに応じて各種処理を実行することにより各種データが蓄積される。
【0020】
図2は、第1の実施形態に係るリソースサーバ40の概略の一例を示す図である。ユーザ端末10は、API(Application Programming Interface)41を介して、リクエスト情報によりリソースサーバ40に対して各種処理を要求する。リソースサーバ40は、一又は複数のデータを取得する。リソースサーバ40は、ユーザ端末10からのリクエスト情報による要求に応じてデータを取得してもよいし、リクエスト情報による要求に関わらずデータを取得してもよい。
【0021】
リソースサーバ40は、ユーザ端末10からのリクエスト情報による要求に応じて中間処理を実行する。中間処理は、最終処理の前処理として、取得した1又は複数のデータに対して加工や変換を実行する処理などである。そして、リソースサーバ40は、中間処理を実行することにより1又は複数のデータを生成する。なお、リソースサーバ40は、中間処理を1回実行してもよいし、複数回実行してもよい。すなわち、リソースサーバ40は、複数のデータを生成してもよい。
【0022】
リソースサーバ40は、ユーザ端末10からのリクエスト情報による要求に応じて最終処理を実行する。最終処理は、中間処理により生成された1又は複数のデータに対して、分析やシミュレーションや機械学習を実行する処理である。そして、リソースサーバ40は、最終処理を実行することにより1又は複数のデータを生成する。
【0023】
リソースサーバ40は、最終処理により生成された1又は複数のデータを、リクエスト情報により要求された処理結果としてユーザ端末10に送信する。ここで、最終処理は、処理内容によっては長時間かかる場合がある。よって、リソースサーバ40は、ユーザ端末10の要求に対してリアルタイムに最終データを送信してもよいし、ユーザ端末10の要求から所定期間が経過してから最終データを送信してもよい。例えば、リソースサーバ40は、最終処理が終了した場合に、最終処理により生成された一又は複数のデータを送信する。または、リソースサーバ40は、ユーザ端末10の要求された場合に、最終処理により生成された一又は複数のデータを送信する。
【0024】
このように、リソースサーバ40は、ユーザ端末10の要求に応じて各種処理を実行することで多くのデータを生成する。中間処理により生成された1又は複数のデータは、設定や条件を変えて最終処理を再度実行する場合などに必要になることがある。また、最終処理により生成された1又は複数のデータは、ユーザ端末10に出力するまでタイムラグがある。さらに、最終処理により生成された1又は複数のデータは、処理結果を表示する場合などに必要になることがある。そのため、これらデータは可能な限り、記憶しておくことが好ましい。
【0025】
しかしながら、これらデータを残しておくと、記憶媒体は、空き容量が足りなくなってしまうことがある。
【0026】
そこで、リソースサーバ40は、データの取得の切っ掛けとなったトークンの有効期限に基づいて、データを削除する。これにより、リソースサーバ40は、記憶媒体の空き容量が足りなくなってしまうことを抑制する
【0027】
図3は、第1の実施形態に係る認可サーバ30のハードウェア構成の一例を示す図である。認可サーバ30は、CPU(Central Processing Unit)301、RAM(Random Access Memory)302、ROM(Read Only Memory)303、記憶装置304、及び通信インタフェース305を備える。
【0028】
CPU301は、認可サーバ30を統括的に制御するプロセッサである。RAM302は、各種プログラムやパラメータを記憶する不揮発性の主記憶装置である。ROM303は、CPU301の作業領域を提供する揮発性の補助記憶装置である。記憶装置304は、HDD(Hard Disk Drive)や、SSD(Solid State Drive)などの補助記憶装置である。
【0029】
CPU301は、ROM303や記憶装置304に記憶されたプログラムに従い、RAM302をワーキングエリアに使用して各種演算処理を実行する。通信インタフェース305は、コンピュータネットワークを介して、認証サーバ20、ユーザ端末10、又はリソースサーバ40との通信を実行する。
【0030】
図4は、第1の実施形態に係るリソースサーバ40のハードウェア構成の一例を示す図である。リソースサーバ40は、CPU401、RAM402、ROM403、記憶装置404、及び通信インタフェース405を備える。
【0031】
CPU401は、認可サーバ30を統括的に制御するプロセッサである。RAM402は、各種プログラムやパラメータを記憶する不揮発性の主記憶装置である。ROM403は、CPU401の作業領域を提供する揮発性の補助記憶装置である。記憶装置404は、HDDや、SSDなどの補助記憶装置である。
【0032】
CPU401は、ROM403や記憶装置404に記憶されたプログラムに従い、RAM402をワーキングエリアに使用して各種演算処理を実行する。通信インタフェース405は、コンピュータネットワークを介して、認可サーバ30、認証サーバ20、又はユーザ端末10との通信を実行する。
【0033】
次に、認可サーバ30とリソースサーバ40との特徴的な機能について説明する。
【0034】
図5は、第1の実施形態に係る認可サーバ30が有する機能の一例を示す図である。CPU301は、ROM303や記憶装置304に記憶されたプログラムに従い、RAM302をワーキングエリアに使用して各種処理を実行することで、図5に示す機能を実現する。すなわち、認可サーバ30は、要求受付部3001、トークン発行部3002、ユーザ情報記憶部3003、及びトークン記憶部3004を有する。なお、これら機能は、集積回路などのハードウェアによる実現されてもよい。
【0035】
要求受付部3001は、トークンの発行要求を受け付ける。更に詳しくは、要求受付部3001は、認証サーバ20により認証されたことを示す認証情報をユーザ端末10から受け付ける。また、要求受付部3001は、トークン発行部3002により発行されたトークンをユーザ端末10に送信する。
【0036】
トークン発行部3002は、要求受付部3001がトークンの発光要求を受け付けた場合に、ユーザ情報記憶部3003に記憶されたユーザ情報に基づいて、トークンを発行する。トークン発行部3002は、発行部の一例である。
【0037】
更に詳しくは、トークン発行部3002は、ユーザ情報記憶部3003に含まれるユーザ情報から、ユーザ識別情報と、アクセス権情報とを取得する。さらに、トークン発行部3002は、トークンを発行した発行元である自装置を特定するための発行元情報、トークンの有効期限を示す有効期限情報、及びトークンを特定するためのトークン識別情報を生成する。そして、トークン発行部3002は、ユーザ識別情報、有効期限情報、発行元情報、及びトークン識別情報を有するトークンを発行する。
【0038】
ユーザ情報記憶部3003は、ユーザ情報を記憶する。例えば、ユーザ情報は、ユーザ識別情報、及びアクセス権情報などが含まれる。ユーザ識別情報は、ユーザを特定するための情報である。アクセス権情報は、ユーザに付与されている権限の範囲を示す情報である。
【0039】
トークン記憶部3004は、トークン発行部3002がトークンを発行した場合に、トークン発行部3002により発行されたトークンを記憶する。すなわち、トークン記憶部3004は、ユーザ識別情報、有効期限情報、発行元情報、及びトークン識別情報を記憶する。
【0040】
図6は、第1の実施形態に係るリソースサーバ40が有する機能の一例を示す図である。CPU401は、ROM403や記憶装置404に記憶されたプログラムに従い、RAM402をワーキングエリアに使用して各種処理を実行することで、図6に示す機能を実現する。すなわち、リソースサーバ40は、データ管理部4100、データ記憶部4001、最終処理部4002、データ管理情報記憶部4003、リクエスト受付部4004、リクエスト処理部4005、認可通信部4006、トークン処理部4007、及びデータ削除判定部4008を有する。なお、これら機能は、集積回路などのハードウェアによる実現されてもよい。
【0041】
データ管理部4100は、取得したデータや、中間処理により生成されたデータや、最終処理により生成されたデータを管理する。データ管理部4100は、データ取得部4101、中間処理部4102、及びデータ処理部4103を有する。
【0042】
データ取得部4101は、処理対象のデータを取得する。データ取得部4101は、ユーザ端末10からのリクエスト情報に基づいてデータを取得する。すなわち、データ取得部4101は、リクエスト処理部4005からの要求に基づいて、リクエスト内容情報が示すリクエスト内容としてデータを取得してもよい。さらに、データ取得部4101は、リクエスト情報に関わらずデータを取得してもよい。そして、データ取得部4101は、取得した取得データをデータ記憶部4001に記憶される。
【0043】
中間処理部4102は、ユーザ端末10からのリクエスト情報に基づいて、データ記憶部4001に記憶されるデータに対して中間処理を実行する。すなわち、中間処理部4102は、リクエスト処理部4005からの要求に基づいて、リクエスト内容情報が示すリクエスト内容の処理を実行する。中間処理部4102は、中間処理により生成した中間データをデータ記憶部4001に記憶される。
【0044】
データ処理部4103は、データ記憶部4001に記憶されたデータに対して各種処理を実行する。例えば、データ処理部4103は、最終処理部4002の要求に応じて、指定されたデータをデータ記憶部4001から取得する。そして、データ処理部4103は、取得したデータを最終処理部4002に出力する。
【0045】
また、データ処理部4103は、最終処理部4002の要求に応じて、最終処理部4002により生成されたデータをデータ記憶部4001に記憶させる。
【0046】
また、データ処理部4103は、データ削除判定部4008からデータの削除要求を受け付けた場合に、データ記憶部4001に記憶されたデータのうち、データ削除判定部4008に指定されたデータを削除する。すなわち、データ処理部4103は、データ削除判定部4008により検出されたトークンに関連付けられたデータを削除する。データ処理部4103は、削除部の一例である。
【0047】
データ記憶部4001は、各種データを記憶する。例えば、データ記憶部4001は、データ取得部4101により取得されたデータを記憶する。また、データ記憶部4001は、中間処理部4102により生成されたデータを記憶する。また、データ記憶部4001は、最終処理部4002により生成されたデータを記憶する。
【0048】
最終処理部4002は、ユーザ端末10からのリクエスト情報に基づいて、データ記憶部4001に記憶されるデータに対して最終処理を実行する。すなわち、最終処理部4002は、リクエスト処理部4005からの要求に基づいて、リクエスト内容情報が示すリクエスト内容の処理を実行する。データ取得部4101、中間処理部4102、又は最終処理部4002は、処理部の一例である。例えば、最終処理部4002は、最終処理として分析やシミュレーションや機械学習を実行する処理である。最終処理部4002は、最終処理により生成した最終データをデータ記憶部4001に記憶させるように、データ管理部4100に要求する。最終処理部4002は、データ記憶部4001に最終データが記憶される。
【0049】
データ管理情報記憶部4003は、データ管理情報を記憶する。データ管理情報は、データ記憶部4001に記憶されたデータの削除に用いられる情報である。更に詳しくは、データ管理情報は、データ識別情報とトークンとが関連付けられた情報である。データ識別情報は、データ記憶部4001に記憶されたデータを特定するための情報である。トークンは、データ記憶部4001に記憶されたデータの切っ掛けになったリクエスト情報に含まれるトークンである。すなわち、データ管理情報は、データ識別情報、ユーザ識別情報、有効期限情報、発行元情報、及びトークン識別情報が関連付けられた情報である。
【0050】
データ管理情報記憶部4003は、データ記憶部4001にデータが記憶された場合に、データ記憶部4001に記憶されたデータを示すデータ識別情報と、トークン処理部4007から出力されたトークンとを関連付けて、データ管理情報を登録する。すなわち、データ管理情報記憶部4003は、データ取得部4101、中間処理部4102、又は最終処理部4002による処理の実行により取得されたデータを特定するためのデータ識別情報と、処理のリクエスト内容に関連付けられたトークンの有効期限とを関連付けてデータ管理情報に登録する。データ管理情報記憶部4003は、登録部の一例である。
【0051】
リクエスト受付部4004は、ユーザ端末10からリクエスト情報を受け付ける。更に詳しくは、リクエスト受付部4004は、認証されたユーザであることを示すトークンと、トークンに関連付けられリクエスト内容を示すリクエスト内容情報とを受信する。リクエスト受付部4004は、受信部の一例である。リクエスト受付部4004は、リクエスト情報を受け付けた場合に、リクエスト情報からトークンを抽出する。そして、リクエスト受付部4004は、抽出したトークンをトークン処理部4007に出力して、トークンの有効性の判定を要求し、リクエストを受け付けるか否か判定する。リクエスト受付部4004は、受け付けられない場合に、受け付け拒否応答をユーザ端末10に返す。
【0052】
リクエスト受付部4004は、リクエスト内容情報に示された処理を実行する権限をトークンのユーザが有していると判定された場合に、リクエスト内容情報に示された処理の実行をリクエスト処理部4005に要求する。
【0053】
リクエスト処理部4005は、リクエスト受付部4004からの要求に基づいて、データ管理部4100又は最終処理部4002に処理の実行を要求する。例えば、リクエスト処理部4005は、データの取得や、中間処理が要求されている場合には、データ管理部4100に処理の実行を要求する。リクエスト処理部4005は、最終処理が要求されている場合には、最終処理部4002に処理の実行を要求する。
【0054】
認可通信部4006は、認可サーバ30との通信を実行する。例えば、認可通信部4006は、トークンに関連する事項について認可サーバ30に問い合わせる。
【0055】
トークン処理部4007は、リクエスト内容情報に示された処理の権限をトークンが有しているか否かの判定要求をリクエスト受付部4004から受け付けた場合に、トークンに基づいて処理の実行を許可するか否かを判定する。
【0056】
例えば、トークン処理部4007は、トークンが改変されているか否かを判定する。また、トークン処理部4007は、トークンに含まれる有効期限情報に基づいて、有効期限が超過しているか否かを判定する。また、トークン処理部4007は、トークンに含まれるアクセス権情報に基づいて、トークンのユーザが処理を実行する権限を有しているか否かを判定する。
【0057】
トークン処理部4007は、トークンが改変されておらず、トークンに含まれる有効期限が超過しておらず、且つ、トークンのユーザが処理を実行する権限を有している場合に、処理の実行を許可する。そして、トークン処理部4007は、トークンに基づいて処理の実行を許可するか否かの判定結果をリクエスト受付部4004に出力する。
【0058】
また、トークン処理部4007は、処理の実行を許可する場合に、データ管理情報記憶部4003に判定に使用したトークンを出力する。
【0059】
データ削除判定部4008は、データ管理情報記憶部4003に記憶されているデータ管理情報に基づいて、データ記憶部4001に記憶されているデータを削除するか否かを判定する。更に詳しくは、データ削除判定部4008は、データ管理情報のトークンに含まれる有効期限情報に基づいて、有効期限を超過した場合に、トークンに関連付けられたデータを削除すると判定する。データ削除判定部4008は、データ管理情報に基づいて、有効期限を超過したトークンを検出する。データ削除判定部4008は、検出部の一例である。そして、データ削除判定部4008は、削除対象のデータを指定した削除要求を、データ処理部4103に出力する。
【0060】
次に、リソースサーバ40が実行する各種処理について説明する。
【0061】
図7は、第1の実施形態に係るリソースサーバ40が実行するデータ記憶処理について説明する。データ記憶処理は、生成された最終処理をデータ記憶部4001に記憶させる処理である。
【0062】
図7に示すデータ記憶処理は、生成済みの中間データを使用して、最終処理を実行する。また、図7に示すデータ記憶処理は、トークンが改変されておらず、トークンに含まれる有効期限が超過しておらず、且つ、トークンのユーザが処理を実行する権限を有している場合を想定している。すなわち、データ記憶処理は、トークンに基づいて処理の実行を許可することを想定している。
【0063】
リクエスト受付部4004は、リクエスト情報をユーザ端末10から受信する(ステップS1)。リクエスト受付部4004は、受信したリクエスト情報に含まれるトークンをトークン処理部4007に出力する(ステップS2)。
【0064】
トークン処理部4007は、リクエスト受付部4004から受け付けたトークンに基づいて、処理の実行を許可するか否かを判定する(ステップS3)。トークン処理部4007は、処理の実行を許可する場合にトークンをデータ管理情報記憶部4003に出力する(ステップS4)。データ管理情報記憶部4003は、トークン処理部4007から受け付けたトークンを記憶する(ステップS5)。
【0065】
トークン処理部4007は、処理の実行許可を示す判定結果をリクエスト受付部4004に出力する(ステップS6)。リクエスト受付部4004は、処理の実行許可を示す判定結果を受け付けた場合に、リクエスト情報からリクエスト内容情報を抽出する(ステップS7)。
【0066】
リクエスト受付部4004は、抽出したリクエスト内容情報をリクエスト処理部4005に出力する(ステップS8)。リクエスト処理部4005は、受け付けたリクエスト内容情報が示す処理の実行を最終処理部4002に要求する(ステップS9)。
【0067】
最終処理部4002は、要求された処理を実行する(ステップS10)。最終処理部4002は、最終処理により生成されたデータをデータ記憶部4001に記憶させる(ステップS11)。
【0068】
最終処理部4002は、データ記憶部4001に記憶させたデータを特定するためのデータ識別情報をデータ管理情報記憶部4003に出力する(ステップS12)。データ管理情報記憶部4003は、記憶していたトークンと、データ識別情報とを関連付けてデータ管理情報に登録する(ステップS13)。
【0069】
以上により、リソースサーバ40は、データ記憶処理を終了する。
【0070】
図8は、第1の実施形態に係るリソースサーバ40が実行するデータ削除処理について説明する。図8に示すデータ削除処理は、データ記憶部4001に記憶されているデータを削除する処理である。
【0071】
データ削除判定部4008は、判定条件が満たされたか否かを判定する(ステップS21)。例えば、データ削除判定部4008は、前回判定してから一定時間が経過したか否かを判定する。判定条件が満たされていない場合に(ステップS21;No)、データ削除判定部4008は、待機する。
【0072】
判定条件が満たされた場合に(ステップS21;Yes)、データ削除判定部4008は、データ管理情報記憶部4003に記憶されているデータ管理情報に基づいて、有効期限が超過したトークンが有るか否かを判定する(ステップS22)。
【0073】
有効期限が超過したトークンが無い場合に(ステップS22;No)、リソースサーバ40は、データ削除処理を終了する。
【0074】
有効期限が超過したトークンが有る場合に(ステップS22;Yes)、データ削除判定部4008は、データ管理情報において、有効期限を超過したトークンに関連付けられたデータ識別情報により特定されるデータの削除をデータ処理部4103に要求する(ステップS23)。
【0075】
データ処理部4103は、指定されたデータをデータ記憶部4001から削除する(ステップS24)。
【0076】
データ処理部4103は、データ記憶部4001から指定されたデータを削除したことをデータ管理情報記憶部4003に通知する(ステップS25)。
【0077】
データ管理情報記憶部4003は、データが削除されたことをデータ管理情報に登録する(ステップS26)。
【0078】
以上により、リソースサーバ40は、データ削除処理を終了する。
【0079】
以上のように、第1の実施形態に係るリソースサーバ40は、トークンと、トークンに関連付けられたリクエスト情報とを受信した場合に、リクエスト情報によりリクエストされた処理を実行する。リソースサーバ40は、リクエストされた処理の実行により取得されたデータを識別するデータ識別情報と、有効期限を含むトークンとを関連付けてデータ管理情報に登録する。リソースサーバ40は、データ管理情報に基づいて、有効期限を超過したトークンを検出した場合に、検出されたトークンに関連付けられたデータを削除する。
【0080】
このように、リソースサーバ40は、トークンの有効期限に基づいて、データを削除する。ここで、ユーザは、一般的に、リソースサーバ40にアクセスする予定がない場合にトークンの有効期限の延長等を行わない。言い換えると、ユーザは、リソースサーバ40にアクセスする予定がない場合にトークンの有効期限を失効させる。そのため、リソースサーバ40により取得されるデータが再度使用される可能性は低い。よって、リソースサーバ40は、可能性が有るデータを保持しつつ、不要になったデータを削除することができる。したがって、リソースサーバ40は、記憶媒体の空き容量が足りなくなってしまうことを抑制することができる。
【0081】
(第2の実施形態)
第2の実施形態に係るリソースサーバ40aは、トークンの有効期限が更新された場合、又はトークン再発行された場合に、更新又は再発行に応じて削除する期限を変更する。
【0082】
トークンの有効期限の更新とは、トークンに含まれる有効期限の延長又は短縮である。また、トークンの再発行とは、ユーザに対して新たにトークンを発行することである。トークンが再発行された場合、トークンは、再発行前のトークンを示すトークン識別情報を有する。これにより、リソースサーバ40aは、再発行されたトークンを受信した場合に、再発行前のトークンを特定することができる。
【0083】
図9は、第2の実施形態に係るリソースサーバ40aが有する機能の一例を示す図である。トークン処理部4007aは、処理の実行を許可するか否かを判定する。また、トークン処理部4007aは、トークンの有効期限が更新または再発行されているか否かを判定する。
【0084】
リクエスト受付部4004aは、トークンと、リクエスト内容情報とを受信する。例えば、リクエスト受付部4004aは、有効期限が更新されたトークンと、リクエスト内容を示すリクエスト内容情報とを受信する。または、リクエスト受付部4004aは、再発行されたトークンと、リクエスト内容を示すリクエスト内容情報とを受信する。
【0085】
トークン処理部4007aは、リクエスト受付部4004aからトークンが入力された場合に、データ管理情報記憶部4003aに記憶されたデータ管理情報において、入力されたトークンに含まれるトークン識別情報と同一のトークン識別情報が有るか否かを判定する。
【0086】
トークン処理部4007aは、データ管理情報に同一のトークン識別情報が有る場合に、入力されたトークンと、データ管理情報のトークンとの有効期限が同一か否かを判定する。トークン処理部4007aは、有効期限が異なっている場合に、データ管理情報のトークンの有効期限を、入力されたトークンの有効期限に変更するようにデータ管理情報記憶部4003aに要求する。
【0087】
これにより、データ管理情報記憶部4003aは、トークンの有効期限を更新する。すなわち、データ管理情報記憶部4003aは、有効期限が更新されたトークンに基づいて、データ管理情報における、有効期限が更新される前のトークンに関連付けられたリクエスト内容の処理が実行されることで生成されたデータに関連付けられた有効期限を、更新されたトークンの有効期限に変更する。
【0088】
また、トークン処理部4007aは、リクエスト受付部4004aからトークンが再発行されたトークンであるか否かを判定する。トークン処理部4007aは、再発行されたトークンの場合に、データ管理情報記憶部4003aに記憶されたデータ管理情報において、入力されたトークンに含まれる再発行前のトークンを示すトークン識別情報と同一のトークン識別情報が有るか否かを判定する。
【0089】
トークン処理部4007aは、データ管理情報に同一のトークン識別情報が有る場合に、同一のトークン識別情報を有するトークンを、入力されたトークンに変更するようにデータ管理情報記憶部4003aに要求する。
【0090】
これにより、トークン処理部4007aは、再発行されたトークンに更新する。すなわち、データ管理情報記憶部4003aは、再発行されたトークンに基づいて、データ管理情報における、再発行される前のトークンに関連付けられたリクエスト内容の処理が実行されることで生成されたデータに関連付けられた有効期限を、再発行されたトークンの有効期限に変更する。
【0091】
以上のように、第2の実施形態に係るリソースサーバ40aは、トークンの有効期限の変更やトークンの無効化が行われた場合に、データ管理情報記憶部4003aに記憶されたトークンの有効期限に変更する。これにより、リソースサーバ40aは、トークンの有効期限の変更や無効化に応じて、データ記憶部4001に記憶されているデータを管理することができる。
【0092】
(第3の実施形態)
第3の実施形態に係るリソースサーバ40bは、認可サーバ30bにおいてトークンの登録事項に変更が有った場合に、通知するように認可サーバ30bに登録する。そして、認可サーバ30bは、認可サーバ30bにおいてトークンの登録事項が変更された場合に、リソースサーバ40bに通知する。
【0093】
ここで、認可サーバ30bにおけるトークンの登録事項の変更とは、例えば、トークンの有効期限の変更や、トークンの無効化等である。
【0094】
リソースサーバ40bは、権限の有効期限が更新されたが、トークンを受信しなかったために、データを削除してしまうことを抑制することができる。ここで、第2の実施形態に係るリソースサーバ40aは、トークンを受信した場合に、データ管理情報記憶部4003bに記憶されているデータ管理情報のトークンを更新する。言い換えると、リソースサーバ40bは、トークンを受信していない場合、トークンの有効期限が更新、又はトークンが再発行されても、データ管理情報のトークンを更新しない。そのため、リソースサーバ40bは、トークンを受信せずに有効期限を超過した場合、トークンの有効期限が更新、又はトークンが再発行されたにも関わらず、データを削除してしまう。
【0095】
第3の実施形態に係るリソースサーバ40bは、認可サーバ30bにおいてトークンの登録事項に変更が有った場合に通知するように、トークンを発行した認可サーバ30bに登録する。そして、認可サーバ30bは、認可サーバ30bにおいてトークンの登録事項に変更が有った場合に、登録されているリソースサーバ40bに通知する。これにより、リソースサーバ40bは、トークンの有効期限の更新やトークンの再発行が行われたにもかかわらずデータを削除してしまうことを抑制することができる。
【0096】
図10は、第3の実施形態に係るリソースサーバ40bが有する機能の一例を示す図である。第3の実施形態に係るリソースサーバ40bは、登録判定部4009を有する。
【0097】
リクエスト受付部4004bは、リクエスト情報を受信した場合に、リクエスト情報に含まれるトークンを登録判定部4009に出力する。
【0098】
登録判定部4009は、リクエスト受付部4004bからトークンを受け付けた場合に、トークンに含まれる発行元情報により特定される認可サーバ30bに、通知先として登録されているか否かを判定する。言い換えると、登録判定部4009は、リクエスト受付部4004bがトークンと、リクエスト内容を示すリクエスト内容情報とを受信した場合に、通知先として登録されているか否かを判定する。登録判定部4009は、登録判定部の一例である。
【0099】
例えば、登録判定部4009は、通知先として登録されているか否かの照会要求を行う。すなわち、認可通信部4006bは、登録判定部4009の要求に応じて、発行元情報により特定される認可サーバ30bに対して、照会要求情報を送信する。照会要求情報は、トークン識別情報と、通知先を示す情報とを有する。そして、認可通信部4006bは、照会要求情報に対する応答を登録判定部4009に出力する。
【0100】
登録判定部4009は、照会要求情報に対する応答が登録済みを示している場合に、トークンをトークン処理部4007bに出力する。これにより、トークン処理部4007bは、第1の実施形態と同様の処理に、トークンに基づいて処理の実行を許可するか否かを判定する。
【0101】
登録判定部4009は、照会要求情報に対する応答が未登録を示している場合に、通知先としての登録と要求する登録要求を行う。すなわち、登録判定部4009は、通知先として登録されていないと判定した場合に、トークンの有効期限と、トークンの無効化との少なくとも一つが変更されたことの通知先として登録することを要求する。登録判定部4009は、登録要求部の一例である。
【0102】
更に詳しくは、認可通信部4006bは、登録判定部4009の要求に応じて、発行元情報により特定される認可サーバ30bに対して、通知先として登録することを要求する登録要求情報を送信する。登録要求情報は、登録対象のトークン識別情報と、通知先を示す情報とを有する。例えば、登録要求情報は、通知先のURL(Uniform Resource Locator)を有する。このURLは、リソースサーバ40bの通知を受け付ける受付用APIのURLである。
【0103】
そして、登録判定部4009は、登録要求情報の送信後に、トークンをトークン処理部4007bに出力する。これにより、トークン処理部4007bは、第1の実施形態と同様の処理に、トークンに基づいて処理の実行を許可するか否かを判定する。
【0104】
また、認可通信部4006bは、認可サーバ30bにおいてトークンの登録事項に変更が有った場合に、トークンの登録事項が変更されたことを示す通知する変更通知を受信する。認可通信部4006bは、変更通知を受信した場合に、トークンの登録事項の変更内容を要求する内容要求を送信する。
【0105】
認可通信部4006bは、内容要求の応答として、トークンの登録事項の変更内容を示す変更内容情報を認可サーバ30bから受信する。変更内容情報は、変更対象のトークンを示すトークン識別情報と、変更内容とを有する。変更内容は、例えば、有効期限の変更や、トークンの無効化などである。認可通信部4006bは、変更内容情報をトークン処理部4007bに出力する。
【0106】
トークン処理部4007bは、変更内容情報に基づいて、データ管理情報記憶部4003bに記憶されているデータ管理情報を更新する。すなわち、トークン処理部4007bは、変更内容情報に含まれるトークン識別情報と同一のトークン識別情報に関連付けられている事項を、変更内容情報に含まれる変更内容に変更するようにデータ管理情報記憶部4003bに要求する。
【0107】
例えば、トークン処理部4007bは、変更内容情報に含まれる変更内容が有効期限の変更を示している場合に、トークンの有効期限を変更するようにデータ管理情報記憶部4003bに要求する。また、トークン処理部4007bは、変更内容情報に含まれる変更内容がトークンの無効化を示している場合に、トークンの無効化に変更するようにデータ管理情報記憶部4003bに要求する。
【0108】
データ管理情報記憶部4003bは、変更されたことが通知された場合に、通知された変更内容に応じて、データ管理情報における変更対象のトークンの有効期限を変更する。すなわち、データ管理情報記憶部4003bは、トークン処理部4007bからの要求に応じて、データ管理情報を更新する。
【0109】
データ削除判定部4008は、データ管理情報記憶部4003bに記憶されているデータ管理情報に基づいて、データ記憶部4001に記憶されているデータを削除するか否かを判定する。すなわち、データ削除判定部4008は、トークン処理部4007bにより変更された有効期限に従ってデータを削除するか否かを判定する。また、データ削除判定部4008は、トークンが無効化されていれば、データを削除すると判定する。よって、データ削除判定部4008は、トークンの登録事項の変更に従ってデータを削除するか否かを判定することができる。
【0110】
なお、データ削除判定部4008は、一定期間が経過してからデータの削除要求を出力してもよい。ここで、認可サーバ30bにおけるトークンの登録事項の変更が誤りであった場合など、データは残っていることが好ましい。データ削除判定部4008は、一定期間が経過するまで待機することで、誤ってデータを削除してしまうことを抑制することができる。
【0111】
図11は、第3の実施形態に係る認可サーバ30bが有する機能の一例を示す図である。第3の実施形態に係る認可サーバ30bは、更に、トークン変更部3005、リソース通信部3006、通知先記憶部3007、通知先登録部3008、及び変更判定部3009を備える。
【0112】
トークン変更部3005は、トークン記憶部3004に記憶されたトークンの登録事項を変更する。例えば、トークン変更部3005は、トークン発行部3002が発行したトークンの有効期限の変更と、トークンの無効化との少なくとも一つを実行する。トークン変更部3005は、変更部の一例である。
【0113】
リソース通信部3006は、リソースサーバ40bとの通信を実行する。例えば、リソース通信部3006は、通知先として登録されているか否かの照会要求情報を受信する。また、リソース通信部3006は、照会要求情報に対する応答を送信する。また、リソース通信部3006は、通知先としての登録を要求する登録要求情報を受信する。
【0114】
リソース通信部3006は、トークンの登録事項が変更されたことを示す通知する変更通知を送信する。リソース通信部3006は、トークンの登録事項の変更内容を要求する内容要求を受信する。リソース通信部3006は、内容要求を受信した場合に、トークン記憶部3004からトークンの登録事項の変更内容を抽出する。そして、リソース通信部3006は、抽出した変更内容を示す変更内容情報を送信する。
【0115】
通知先記憶部3007は、トークンごとにトークンの登録事項に変更が有った場合の通知先を記憶する。更に詳しくは、通知先記憶部3007は、トークン識別情報と、トークン識別情報により特定されるトークンの登録事項に変更があった場合の通知先を示す情報との組み合わせを記憶する。
【0116】
通知先登録部3008は、リソース通信部3006が照会要求情報を受信した場合に、照会要求情報に基づいて、通知先として登録されているか否かを判定する。すなわち、通知先登録部3008は、トークン識別情報と、通知先を示す情報との組み合わせが通知先記憶部3007に記憶されているか否かを判定する。そして、リソース通信部3006は、通知先記憶部3007に記憶されているか否かの判定結果を照会要求情報に対する応答を送信する。
【0117】
通知先登録部3008は、トークンごとに通知先を登録する。更に詳しくは、通知先登録部3008は、リソース通信部3006が登録要求情報を受信した場合に、登録要求情報に含まれるトークン識別情報と、通知先を示す情報との組み合わせを通知先記憶部3007に記憶させる。
【0118】
変更判定部3009は、トークン記憶部3004に記憶されたトークンが変更されたか否かを判定する。すなわち、変更判定部3009は、有効期限の変更やトークンの無効化などが行われたか否を判定する。
【0119】
変更判定部3009は、トークン変更部3005により変更された場合に、変更されたトークンの通知先に通知する。変更判定部3009は、通知部の一例である。更に詳しくは、リソース通信部3006は、変更判定部3009によりトークンが変更されたと判定された場合に、トークンの登録事項が変更されたことを示す通知する変更通知を送信する。
【0120】
次に、クライアントサーバシステム1の各装置が実行する各種処理について説明する。
【0121】
図12は、第3の実施形態に係るリソースサーバ40b及び認可サーバ30bが実行する登録判定処理について説明する。登録判定処理は、トークンの登録事項が変更された場合の通知先として登録されているか否かを判定し、未登録の場合に通知先として登録する処理である。図12に示す通知先登録処理は、通知先として未登録の場合の処理である。
【0122】
リクエスト受付部4004bは、リクエスト情報をユーザ端末10から受信(ステップS31)。リクエスト受付部4004bは、受信したリクエスト情報に含まれるトークンをトークン処理部4007bに出力する(ステップS32)。
【0123】
登録判定部4009は、トークンを受け付けた場合に、トークンが変更された場合の通知先として登録されているか否かの照会要求を認可通信部4006bに出力する(ステップS33)。認可通信部4006bは、照会要求を受け付けた場合に、トークン識別情報と通知先を示す情報とを有する照会要求情報を認可サーバ30bに送信する(ステップS34)。
【0124】
認可サーバ30bのリソース通信部3006は、リソースサーバ40bから照会要求情報を受信する(ステップS35)。通知先登録部3008は、通知先記憶部3007に基づいて、トークンの登録事項が変更された場合の通知先としてリソースサーバ40bが登録されているか否かを判定する(ステップS36)。すなわち、通知先登録部3008は、照会要求情報に含まれるトークン識別情報と通知先を示す情報との組み合わせが通知先記憶部3007に登録されているか否を判定する。なお、図12に示す登録判定処理は、未登録であることを想定している。
【0125】
通知先登録部3008は、トークンの登録事項が変更された場合の通知先としてリソースサーバ40bが登録されているか否かの判定結果をリソース通信部3006に出力する(ステップS37)。リソース通信部3006は、判定結果を受け付けた場合に、照会要求情報の応答として判定結果をリソースサーバ40bに送信する(ステップS38)。
【0126】
認可通信部4006bは、照会要求情報の応答として判定結果を認可サーバ30bから受信する(ステップS39)。登録判定部4009は、認可通信部4006bが受信した照会要求情報の応答に基づいて、トークンが変更された場合の通知先として登録されているか否かを判定する(ステップS40)。すなわち、登録判定部4009は、照会要求情報の応答として受信した認可サーバ30bの判定結果が、登録済みと示しているか否かを判定する。
【0127】
登録判定部4009は、照会要求情報に対する応答が未登録を示している場合に、通知先としての登録と要求する登録要求を出力する(ステップS41)。認可通信部4006bは、登録要求を受け付けた場合に、登録要求情報を認可サーバ30bに送信する(ステップS42)。
【0128】
リソース通信部3006は、登録要求情報をリソースサーバ40bから受信する(ステップS43)。通知先登録部3008は、登録要求情報に基づいて、トークンの登録事項に変更があった場合の通知先として登録する(ステップS44)。すなわち、通知先登録部3008は、登録要求情報に含まれる登録対象のトークン識別情報と、通知先を示す情報との組み合わせを通知先記憶部3007に記憶させる。
【0129】
登録判定部4009は、リクエスト情報に含まれるトークンをトークン処理部4007bに出力する(ステップS45)。
【0130】
トークン処理部4007bは、リクエスト受付部4004bから受け付けたトークンに基づいて、処理の実行を許可するか否かを判定する(ステップS46)。
【0131】
以上により、リソースサーバ40b及び認可サーバ30bは、登録判定処理を実行する。そして、リソースサーバ40bは、登録判定処理の後にデータ記憶処理を実行する。例えば、リソースサーバ40bは、図7のステップS4からステップS13までの処理を実行する。
【0132】
図13は、第3の実施形態に係るリソースサーバ40b及び認可サーバ30bが実行する登録変更処理について説明する。登録変更処理は、トークンの登録事項が変更されたことに伴い、データ管理情報記憶部4003bに記憶されているデータ管理情報のトークンを変更する処理である。
【0133】
変更判定部3009は、トークン記憶部3004に記憶されたトークンの登録事項が変更されたと判定する(ステップS51)。リソース通信部3006は、変更判定部3009によりトークンの登録事項が変更されたと判定された場合に、変更通知をリソースサーバ40bに送信する(ステップS52)。
【0134】
認可通信部4006bは、変更通知を認可サーバ30bから受信する(ステップS53)。
【0135】
認可通信部4006bは、変更通知を受信した場合に、トークンの登録事項の変更内容を要求する内容要求を認可サーバ30bに送信する(ステップS54)。
【0136】
リソース通信部3006は、内容要求をリソースサーバ40bから受信する(ステップS55)。
【0137】
リソース通信部3006は、トークン記憶部3004から抽出した、トークンの登録事項の変更内容を示す変更内容情報を送信する(ステップS56)。
【0138】
認可通信部4006bは、変更内容情報を認可サーバ30bから受信する(ステップS57)。
【0139】
トークン処理部4007bは、変更内容情報に基づいて、データ管理情報記憶部4003bに記憶されているデータ管理情報のトークンを変更する(ステップS58)。
【0140】
以上により、リソースサーバ40b及び認可サーバ30bは、登録変更処理を実行する。リソースサーバ40bのデータ削除判定部4008は、変更後のデータ管理情報に基づいて、データを削除するか否かを判定する。そして、データ処理部4103は、データ削除判定部4008からの要求に応じてデータを削除する。したがって、例えば、データ処理部4103は、トークンの有効期限が延長された場合には、データ記憶部4001に記憶されたデータを削除しない。また、データ処理部4103は、トークンが無効化された場合には、データ記憶部4001に記憶されたデータを削除する。
【0141】
以上のように、第3の実施形態に係るリソースサーバ40bは、トークンの有効期限の変更やトークンの無効化などのトークンの登録事項の変更の通知先として登録されるため、トークンの登録事項が変更されたことを示す変更通知を受信する。そして、リソースサーバ40bは、変更通知を受信した場合に、変更内容に応じて、データ管理情報における変更対象のトークンの有効期限を変更する。よって、リソースサーバ40bは、認可サーバ30bでトークンの有効期限の変更やトークンが無効化された場合に変更後の有効期限でデータを削除することができる。
【0142】
第1の実施形態、第2の実施形態、及び第3の実施形態では、トークンは、発行元情報、ユーザ識別情報、有効期限情報、アクセス権情報、及びトークン識別情報を有すると説明した。しかしながら、トークンは、発行元情報、ユーザ識別情報、有効期限情報、及びアクセス権情報の全部又は一部を有していなくてもよい。
【0143】
この場合、トークン処理部4007、4007a、4007bは、トークンに基づいて処理の実行を許可するか否かを判定する場合に、認可サーバ30、30bに問い合わせる。例えば、トークン処理部4007、4007a、4007bは、発行元情報、ユーザ識別情報、有効期限情報、及びアクセス権情報などの情報の提供を認可サーバ30、30bに要求する。すなわち、認可通信部4006、4006bは、情報の提供を要求する情報提供要求を認可サーバ30、30bに送信する。そして、トークン処理部4007、4007a、4007bは、認可サーバ30、30bから提供された情報に基づいて、リクエスト情報により要求された処理の実行を許可するか否かを判定する。
【0144】
さらに、第3の実施形態において、トークンにアクセス権情報が含まれていない場合に、トークンの登録事項の変更には、トークンのユーザに対して付与されているアクセス権限の範囲の変更が含まれてもよい。この場合に、リソースサーバ40bは、トークンのアクセス権限を記憶する記憶部を有していてもよい。
【0145】
この場合に、リソースサーバ40bのトークン処理部4007bは、トークンのユーザに付与されているアクセス権情報を記憶する記憶部に基づいて、当該トークンに関連付けられたリクエスト内容情報のリクエスト内容の実行を許可するか否かを判定する。トークン処理部4007bは、実行判定部の一例である。データ管理情報記憶部4003bは、トークンの登録事項の変更が通知された場合に、通知された変更内容に応じて、記憶部に記憶されているアクセス権情報を変更する。
【0146】
そして、トークンのアクセス権情報は、認可サーバ30bから通知されるまでは変更されていない。よって、リソースサーバ40bは、リクエスト情報により要求された処理の実行を許可するか否かを判定において、その都度、認可サーバ30bに問い合わせなくてもよい。
【0147】
また、本実施形態のクライアントサーバシステム1で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルで、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ、SSD(Solid State Drive)などの半導体記憶装置等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【0148】
また、当該プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、当該プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0149】
また、当該プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【0150】
1…クライアントサーバシステム、10…ユーザ端末、20…認証サーバ、30、30b…認可サーバ、31…API(Application Programming Interface)、40、40a、40b…リソースサーバ、301、401…CPU(Central Processing Unit)、302、402…RAM(Random Access Memory)、303、403…ROM(Read Only Memory)、304、404…記憶装置、305、405…通信インタフェース、3001…要求受付部、3002…トークン発行部、3003…ユーザ情報記憶部、3004…トークン記憶部、3005…トークン変更部、3006…リソース通信部、3007…通知先記憶部、3008…通知先登録部、3009…変更判定部、4001…データ記憶部、4002…最終処理部、4003、4003a、4003b…データ管理情報記憶部、4004、4004a、4004b…リクエスト受付部、4005…リクエスト処理部、4006、4006b…認可通信部、4007、4007a、4007b…トークン処理部、4008…データ削除判定部、4009…登録判定部、4100…データ管理部、4101…データ取得部、4102…中間処理部、4103…データ処理部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13