以下、本発明に係るID連携システムについて、図面を参照しながら詳細に説明する。なお、以下に示す実施形態は本発明に係るシステムの好適な具体例であり、一般的なハードウェア、ソフトウェア構成に即した種々の限定を付している場合もあるが、本発明の技術範囲は、特に本発明を限定する記載がない限り、これらの態様に限定されるものではない。また、以下に示す実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、かつ、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下に示す実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
図1は、本発明の一実施形態に係るID連携システムの構成を示すブロック図である。図1のID連携システム1は、情報処理装置3、4、5、6、7及び8を有して構成される。情報処理装置3、4、5、6、7及び8は、ネットワーク2に接続され、相互に通信することが可能である。情報処理装置3、4、5、6、7及び8は、例えば、一般にサーバ、PC、及びスマートフォンなどと呼ばれる情報処理装置である。PCは、Personal Computerの略称である。情報処理装置3、4、5、6、7及び8は、他の如何なる情報処理装置であってもよい。
なお、サービスを提供するサービスシステムにおいて利用者を特定するIDとしては、利用者がサービスシステムにログインするための認証IDと、サービスシステム内で利用者を特定する識別子としての識別IDとがある。以下の説明において、利用者を特定するIDとある場合は、認証ID及び/又は識別IDを指す場合がある。また、認証ID及び識別IDは、利用者が指定したものを用いるものであってもよいし、サービスシステムで定めるものであってもよい。
また、なお、ID連携を行うシステムにおいて利用者を特定するIDとしては、利用者がID連携を行うシステムにログインするための認証IDと、ID連携を行うシステム内で利用者を特定する識別子としての識別IDとがある。以下の説明において、利用者を特定するIDとある場合は、認証ID及び/又は識別IDを指す場合がある。また、認証ID及び識別IDは、利用者が指定したものを用いるものであってもよいし、ID連携を行うシステムで定めるものであってもよい。
さらに、なお、サービスシステムを運営する各サービス事業者が一つのサービスしか運営しない場合にあっては、ID連携を行うシステムにおいてサービス又はサービスシステムを特定するIDとしては、サービスシステムを運営するサービス事業者がID連携を行うシステムにログインするための認証IDと、ID連携を行うシステム内でサービスシステムを特定する識別子としての識別IDとがある。以下の説明において、サービス又はサービスシステムを特定するIDとある場合は、認証ID及び/又は識別IDを指す場合がある。また、認証ID及び識別IDは、サービス事業者が指定したものを用いるものであってもよいし、ID連携を行うシステムで定めるものであってもよい。
さらに、なお、サービスシステムを運営する各サービス事業者が複数のサービスを運営する場合にあっては、ID連携を行うシステムにおいてサービス又はサービスシステムを特定するIDとしては、ID連携を行うシステム内でサービスシステムを特定する識別子としての識別IDがある。以下の説明において、サービス又はサービスシステムを特定するIDとある場合は、識別IDを指す場合がある。また、識別IDは、サービス事業者が指定したものを用いるものであってもよいし、ID連携を行うシステムで定めるものであってもよい。
情報処理装置3は、ID連携を行うシステムのプログラムが動作する情報処理装置である。本実施形態では、情報処理装置3は、1台の情報処理装置でID連携システム1のプログラムを実行するが、複数の情報処理装置でID連携システム1のプログラムを実行するものであってもよい。
情報処理装置4、5及び6は、例えば個人である利用者が利用するサービスを提供するサービスシステムのプログラムが動作する情報処理装置である。本実施形態では、情報処理装置4、5及び6は、それぞれ異なるサービス事業者によって運営され、異なるサービスを提供する情報処理装置である。なお、同一のサービス事業者が複数のサービスを提供するものであってもよい。本実施形態では、情報処理装置4、5及び6のそれぞれは、1台の情報処理装置で各サービスシステムのプログラムを実行するが、複数の情報処理装置で各サービスシステムのプログラムを実行するものであってもよい。また、1台の情報処理装置で複数のサービスシステムのプログラムを実行するものであってもよい。図1では、サービスシステムのプログラムが動作する情報処理装置は、情報処理装置4、5及び6の3台であって、3種類のサービスを利用者に提供するが、ID連携システム1は、4種類以上のサービスを提供するものであってもよい。サービスシステムとしては、電子商取引のサービス、情報検索のサービス、ソーシャルネットワーキングサービスなど、既知の如何なるサービスを提供するシステムであってもよい。
情報処理装置7及び8は、利用者が操作してID連携システム1やサービスシステムを利用するためのプログラムが動作する情報処理装置である。本実施形態では、情報処理装置7及び8のそれぞれは、異なる利用者が操作する情報処理装置であるが、一人の利用者が複数の情報処理装置を操作するものであってもよい。
図2は、本発明の一実施形態に係る情報処理装置の構成を示すブロック図である。図2の情報処理装置10は、図1に示した情報処理装置3、4、5、6、7及び8の構成の一例である。情報処理装置3、4、5、6、7及び8のそれぞれは、図2の情報処理装置10のすべての構成を有してもよいし、一部の構成を有してもよいし、図2に記載した以外の構成を有してもよい。
情報処理装置10は、CPU11、RAM12、及びROM13を有する。CPU11は、ROM13内に記憶されたプログラムや、外部デバイス17が外部メモリである場合にこの外部メモリからRAM12にロードされた各種プログラムを実行する。CPUは、Central Processing Unitの略称である。ROMは、Read Only Memoryの略称である。RAMは、Random Access Memoryの略称である。CPU11は、ROM13やRAM12などの読み取り可能な記憶媒体に格納されたプログラムを実行することにより、後述する各処理を実行する各処理部として機能する。RAM12は、CPU11のメインメモリであり、ワークエリア等として機能する。情報処理装置10は、内部バス20を有する。CPU11、RAM12、及びROM13のそれぞれは、内部バス20に接続される。内部バス20に接続された各構成同士は、内部バス20を介して相互に通信が可能である。
情報処理装置10は、入出力コントローラ14及び入出力装置15を有する。入出力コントローラ14は、入出力装置15を制御する。入出力コントローラ14は、内部バス20に接続される。入出力装置15は、例えばキーボード、ポインティングデバイス(マウス、タッチパッド、タッチパネル、トラックボールなど)、ディスプレイなどである。
情報処理装置10は、デバイスコントローラ16及び外部デバイス17を有する。デバイスコントローラ16は、外部デバイス17を制御する。デバイスコントローラ16は、内部バス20に接続される。外部デバイス17は、外部メモリ、外部マイク、外部スピーカ、外部カメラ、外部プリンタなどの各種デバイスである。
情報処理装置10は、ネットワークインターフェース18を有する。ネットワークインターフェース18は、ネットワーク2に接続されて、ネットワーク2に接続された他の機器との通信制御処理を実行する。ネットワークインターフェース18は、内部バス20に接続される。ネットワーク2は、例えばインターネットである。ネットワーク2は、インターネット以外の如何なるネットワークであってもよい。
(登録処理)
図3は、本発明の一実施形態に係るID連携システム1による登録処理の一例を示すフローチャートである。本実施形態のID連携システム1は、利用者が利用登録している複数のサービスシステムのそれぞれでその利用者を特定するIDを連携させることで、複数のサービスシステム同士で、その利用者に関するデータを連携する機能を提供する。
ステップS301では、ID連携システム1は、利用者をサービスシステムに登録する。具体的には、利用者が、情報処理装置7又は8を操作して自身が利用するサービスシステムに利用登録を行う。情報処理装置4、5及び6は、それぞれ異なるサービスを利用者に提供するサービスシステムのプログラムを実行する。例えば利用者は、情報処理装置7を操作して情報処理装置4が提供するサービスシステムに利用登録を行う。さらに利用者は、情報処理装置7を操作して情報処理装置5が提供するサービスシステムに利用登録を行う。
例えば、情報処理装置4が提供するサービスシステムへの利用登録においては、利用者は、そのサービスシステムでその利用者を特定するID、及び、そのサービスシステムが要求する情報を、情報処理装置7を操作して入力し、情報処理装置4に送信する。そのサービスシステムでその利用者を特定するIDは、利用者が希望のものを入力できるようにしてもよいし、情報処理装置4において予め定めたルールに基づいて定めるものであってもよい。サービスシステムが要求する情報としては、例えば、利用者についての基本4情報、並びに、サービスシステムが提供するサービスに関する経歴、要望などのプロフィール情報が挙げられる。基本4情報は、氏名、住所、性別、及び生年月日である。サービスシステムが要求する情報は、そのほかの情報を含んでいてもよい。情報処理装置4では、情報処理装置7から送信されてきた、そのサービスシステムでその利用者を特定するIDと、そのサービスシステムが要求する情報とを紐づけて、例えば外部メモリとしての外部デバイス17に記憶する。利用者は、自身が利用するサービスシステムのすべてにおいて利用登録を行う。
ステップS302では、ID連携システム1は、サービス事業者をID連携システム1に登録する。具体的には、サービス事業者は、情報処理装置4、5及び6のうち、自身が運用する装置を操作して、自身が運用するサービスシステムについてID連携システム1に利用登録を行う。情報処理装置3は、ID連携システム1のプログラムを実行する。例えばサービス事業者は、情報処理装置4を操作して、情報処理装置4が提供するサービスシステムについて、情報処理装置3が提供するID連携システム1に利用登録を行う。
例えば、情報処理装置3が提供するID連携システム1への利用登録においては、サービス事業者は、ID連携システム1でそのサービスシステムを特定するID、及び、ID連携システム1が要求する情報を、情報処理装置4を操作して入力し、情報処理装置3に送信する。ID連携システム1でそのサービスシステムを特定するIDは、サービス事業者が希望のものを入力できるようにしてもよいし、情報処理装置3において予め定めたルールに基づいて定めるものであってもよい。ID連携システム1が要求する情報としては、例えば、サービス事業者の名称及び所在地住所、並びにサービスシステムが提供するサービスの概要が挙げられる。ID連携システム1が要求する情報は、そのほかの情報を含んでいてもよい。情報処理装置3では、情報処理装置4から送信されてきた、ID連携システム1でそのサービスシステムを特定するIDと、ID連携システム1が要求する情報とを紐づけて、例えば外部メモリとしての外部デバイス17に記憶する。ID連携システム1を利用するすべてのサービス事業者は、ID連携システム1において利用登録を行う。
ステップS303では、ID連携システム1は、利用者をID連携システム1に登録する。具体的には、利用者が、情報処理装置7又は8を操作してID連携システム1に利用登録を行う。情報処理装置3は、ID連携システム1のプログラムを実行する。例えば利用者は、情報処理装置7を操作して、情報処理装置3が提供するID連携システム1に利用登録を行う。
例えば、情報処理装置3が提供するID連携システム1への利用登録においては、利用者は、ID連携システム1でその利用者を特定するID、及び、ID連携システム1が要求する情報を、情報処理装置7を操作して入力し、情報処理装置3に送信する。ID連携システム1でその利用者を特定するIDは、利用者が希望のものを入力できるようにしてもよいし、情報処理装置3において予め定めたルールに基づいて定めるものであってもよい。ID連携システム1が要求する情報としては、例えば、利用者についての基本4情報、並びに、ID連携システム1についてのプロフィール情報が挙げられる。ID連携システム1が要求する情報は、そのほかの情報を含んでいてもよい。情報処理装置3では、情報処理装置7から送信されてきた、ID連携システム1でその利用者を特定するIDと、ID連携システム1が要求する情報とを紐づけて、例えば外部メモリとしての外部デバイス17に記憶する。
続いて、ステップS304では、ID連携システム1は、ID連携処理を実行する。ID連携処理は、各利用者についての各サービスシステムでのIDを、ID連携システム1で連携させる処理である。ID連携処理の詳細については、図4を参照して後述する。以上により、ID連携システム1による登録処理を終了する。ID連携システム1による登録処理は、登録する事項が発生する都度、実行する。
(ID連携処理)
図4は、本発明の一実施形態に係るID連携システム1によるID連携処理の一例を示すフローチャートである。本実施形態のID連携処理は、図4(A)に示す第1のID連携処理、及び図4(B)に示す第2のID連携処理を含む。なお、図4のID連携処理以外にも、同一の利用者のID同士をオンラインでログイン認証した上で連携させるID連携登録処理もある。
まず、図4(A)の第1のID連携処理について説明する。ステップS401では、ID連携システム1は、サービス事業者によるID連携システム1へのログインを実行する。具体的には、サービス事業者は、例えば情報処理装置4を操作して、ID連携するサービスシステムをID連携システム1において特定するIDを用いて、情報処理装置3で動作するID連携システム1に対してログインする。ログインは、例えばパスワードを用いる方式など、既知の如何なる方式を用いてもよい。
続くステップS402では、ID連携システム1は、ID連携する利用者の識別に関する情報の入力を受け付ける。具体的には、サービス事業者は、例えば情報処理装置4を操作して、ID連携する利用者についての、サービスシステムで登録されているID、及びサービスシステムで登録されている基本4情報を情報処理装置3に送信する。情報処理装置3は、ID連携する利用者のID及び基本4情報を情報処理装置4から受信し、例えば外部メモリとしての外部デバイス17に記憶する。
なお、情報処理装置3において、情報処理装置4、5又は6から受信するのは、基本4情報とせずに、基本4情報のハッシュ値としてもよい。このようにすることで、情報処理装置3では、情報処理装置4、5又は6から基本4情報そのものの提供を受けるものではないので、基本4情報の第三者提供を避けることができる。
ID連携システム1は、ID連携する利用者の識別に関する情報の入力を受け付けると、その利用者の識別に関する情報に含まれる基本4情報に該当する利用者を、ID連携システム1に利用登録している利用者の中から検索して特定する。具体的には、ID連携システム1の利用登録をしたときの基本4情報と、ID連携する利用者の情報として受信した基本4情報とを比較して一致した場合に、その利用者を特定する。一致しなかった場合は、その利用者がID連携システム1に登録されていないものとして、ID連携はせずに処理を終了する。その際、情報処理装置3は、情報処理装置4に対してエラーメッセージを送信するようにしてもよい。
なお、ID連携システム1は、ID連携する利用者の識別に関する情報の入力を受け付けると、利用者の検索を行わず、後述の登録コードを生成するようにしてもよい。
ところで、ID連携システム1は、基本4情報の比較において、基本4情報そのもの同士を比較してもよいが、基本4情報に対するハッシュ値同士を比較するようにしてもよい。
また、基本4情報は、例えば、住所の記載において「番地」の記載をそのまま漢字で用いる場合や「-」で代替する場合等があり得る。また、氏名においても婚姻前の旧姓を用いてサービスシステムに登録して変更していないことも考えられる。このように、基本4情報が一致したと判定すべき状況であっても、基本4情報のすべてが完全に一致しないことは多々ある。そこで本実施形態では、基本4情報の氏名、住所、性別、及び生年月日のうちのどの情報の何番目の文字を、基本4情報の比較において用いるかを定めることができる。例えば、利用者にとって他者に知られたくないような重要な情報を取り扱うサービスシステムにおいては、基本4情報の多くの箇所が一致しないとID連携を許可しないようにすることができる。また例えば、利用者にとってさほど重要ではなく、手軽に連携したい情報を取り扱うサービスシステムにおいては、基本4情報の大まかな範囲で一致すればID連携を許可するようにすることができる。基本4情報のうちのどの部分を比較に用いるかは、ステップS302では利用登録する際に、ID連携システム1が要求する情報として情報処理装置4から情報処理装置3に送信するようにしてもよい。情報処理装置3では、基本4情報のうちのどの部分を比較に用いるかの情報を反映して、利用者の識別に関する情報の比較を行うようにしてもよい。ID連携システム1において基本4情報を利用する際には、どの処理においても、基本4情報のすべてを用いてもよいし、基本4情報の中のある部分の組み合わせを用いてもよい。また、基本4情報の中のある部分の組み合わせをハッシュ値にし、ハッシュ値で比較するようにしてもよい。
続くステップS403では、ID連携システム1は、登録コードをサービス事業者に対して発行する。具体的には、情報処理装置3は、情報処理装置4に対して登録コードを送信する。登録コードは、例えば、情報処理装置3が定めた文字、数字、及び/又は記号から成るコードである。サービス事業者は、例えば情報処理装置4を操作して、登録コードを取得する。情報処理装置3は、例えば、情報処理置4から送られた、基本4情報のうちのどの部分を用いるかの組み合わせパターンとハッシュ値、及び利用者を特定するIDを、登録コードに紐づけて記憶しておく。以上で、第1のID連携処理は終了である。
続いて、サービス事業者は、ステップS403で発行された登録コードを利用者に渡す。サービス事業者は、例えば郵便、電子メール、サービスシステム内の送信機能などを利用して、登録コードを利用者に渡すことができる。
続いて、図4(B)の第2のID連携処理について説明する。ステップS404では、ID連携システム1は、利用者によるID連携システム1へのログインを実行する。具体的には、利用者は、例えば情報処理装置7を操作して、ID連携する利用者をID連携システム1において特定するIDを用いて、情報処理装置3で動作するID連携システム1に対してログインする。ログインは、例えばパスワードを用いる方式など、既知の如何なる方式を用いてもよい。
続くステップS405では、ID連携システム1は、ID連携する利用者の識別に関する情報、及び登録コードの入力を受け付ける。具体的には、利用者は、例えば情報処理装置7を操作して、利用者自身についての基本4情報、及び登録コードを情報処理装置3に送信する。登録コードは、ステップS403で発行されてサービス事業者から利用者に渡された登録コードである。情報処理装置3は、ID連携する利用者の基本4情報、及び登録コードを情報処理装置7から受信し、例えば外部メモリとしての外部デバイス17に記憶するようにしてもよい。なお、ステップS405の処理では、利用者は、利用者自身についての基本4情報は送信せず、登録コードのみを送信するようにしてもよい。
続くステップS406では、ID連携システム1は、ステップS405で入力された登録コードと、ステップS403で発行した登録コードとを比較した結果が一致し、且つ、ステップS405で入力された基本4情報と、ステップS402で用いた利用者の基本4情報とを比較した結果が一致した場合、その利用者に対し、登録コードの発行先のサービスシステムについてID連携を行う。なお、情報処理装置3は、登録コードに紐づけた、基本4情報のうちのどの部分を用いるかの組み合わせパターンによって基本4情報のハッシュ値を生成し、このハッシュ値が、送信されてきたハッシュ値と一致した場合に、その利用者に対し、登録コードの発行先のサービスシステムについてID連携を行うようにしてもよい。IDの連携は、その利用者のID連携システム1でのIDに、その利用者のそのサービスシステムでのIDを紐づけて、情報処理装置3の例えば外部メモリとしての外部デバイス17に記憶する。以上により、ID連携システム1によるID連携処理を終了する。
なお、ステップS406において、ID連携システム1は、ステップS405で入力された登録コードと、ステップS403で発行した登録コードとを比較した結果が一致しない場合は、ID連携せずに、情報処理装置3から情報処理装置7に対してエラーメッセージを送信するようにしてもよい。
なお、ステップS406において、ID連携システム1は、ステップS405で入力された基本4情報と、ステップS402で用いた利用者の基本4情報とを比較した結果(例えばハッシュ値同士を比較した結果)が一致しない場合は、ID連携せずに、情報処理装置3から情報処理装置7に対してエラーメッセージを送信するようにしてもよい。
なお、ステップS405の処理で、利用者が、利用者自身についての基本4情報は送信せず、登録コードのみを送信するようにした場合、ID連携システム1は、ステップS405で入力された登録コードと、ステップS403で発行した登録コードとを比較した結果が一致し、且つ、ログインしている利用者のID連携システム1でのIDと、ステップS403で登録コードを発行した利用者のID連携システム1でのIDとを比較した結果が一致した場合、その利用者に対し、登録コードの発行先のサービスシステムについてID連携を行うようにしてもよい。
(連携情報登録処理)
続いて、連携情報登録処理について説明する。図5は、本発明の一実施形態に係るID連携システム1による連携情報登録処理の一例を示すフローチャートである。本実施形態のID連携システム1は、ステップS406のID連携がされた後、利用者の許諾がある場合、ID連携された複数のサービスシステムのそれぞれが保有しているデータを他のサービスシステムに提供する。連携情報登録処理では、サービスシステムが提供するデータごとに利用者の許諾を登録する。サービスシステムは、そのサービスシステムが提供するサービスを利用者が利用した履歴などのデータを保有する。利用者は、例えば、あるサービスシステムでの利用履歴を他のサービスシステムに提供することで、複数のサービスシステムに亘るデータを利用したサービスを享受することができるため、必要に応じてデータの提供を許諾する。
各サービスシステムは、自身が他のサービスシステムに提供可能なデータを、ID連携システム1に予め登録する。具体的には、情報処理装置4は、自身が提供可能なデータ又はデータの組み合わせに付した名称及びその説明をカタログとして、情報処理装置3に対して送信する。情報処理装置3は、受信したカタログをそのサービスシステムに紐づけて、例えば外部メモリとしての外部デバイス17に記憶する。カタログは、あるサービスシステムと他のサービスシステムとの連携対象、すなわち、あるサービスシステムが他のサービスシステムに提供可能なデータを示す情報である。
ステップS501では、ID連携システム1は、利用者によるID連携システム1へのログインを実行する。具体的には、利用者は、例えば情報処理装置7を操作して、利用者自身をID連携システム1において特定するIDを用いて、情報処理装置3で動作するID連携システム1に対してログインする。ログインは、例えばパスワードを用いる方式など、既知の如何なる方式を用いてもよい。
利用者は、例えば情報処理装置7を操作して、情報処理装置3に対して連携情報の提示を指示する。これを受けた情報処理装置3は、外部デバイス17に記憶したカタログをサービスシステムごとに提示する(ステップS502)。具体的には、情報処理装置3は、サービスシステムごとのカタログを情報処理装置7に送信する。カタログは、カタログ(データの集合)をどのサービスシステムに対してどのような利用目的で提供するかの情報を含み、利用者は、どのデータを、どのような利用目的で、どのサービスシステムに対して提供するのか、に対して利用許諾を行うことができる。カタログを受信した情報処理装置7は、そのカタログをサービスシステムごとに、入出力装置15に表示する。
ステップS503では、ID連携システム1は、利用者による、連携を許可する情報の入力を受け付ける。連携を許可する情報とは、例えば、連携を許諾するカタログである。具体的には、利用者は、情報処理装置7を操作し、情報処理装置7に表示されているサービスシステムごとのカタログについて、そのカタログが示すデータを他のサービスシステムに引き渡すことを許可するか否かについての情報である連携可否情報を入力する。情報処理装置7は、入力された連携可否情報を情報処理装置3に送信する。なお、連携可否情報は、連携を許可する期間を設定するものであってもよく、この場合、あるカタログのデータに対して連携を許可したとしても、連携を許可する期間が過ぎた場合は、連携を許可していないものとして扱う。なお、ID連携システム1は、利用者によるカタログの利用許諾を、利用者が取り消しできるようにしてもよい。
ステップS504では、ID連携システム1は、連携を許可する情報の登録を行う。具体的には、情報処理装置3は、情報処理装置7から連携可否情報を受信し、例えば外部メモリとしての外部デバイス17に記憶する。以上により、ID連携システム1による連携情報登録処理を終了する。
(サービス利用処理)
続いて、サービス利用処理について説明する。図6は、本発明の一実施形態に係るID連携システム1によるサービス利用処理の一例を示すフローチャートである。本実施形態のID連携システム1は、ID連携の状態に応じて、複数のサービスに亘るデータを利用するサービスを利用者に提供する。サービス利用処理は、利用者が各サービスシステムによるサービスを利用する際の処理である。
ステップS601では、ID連携システム1は、利用者によるサービスシステムへのログインを実行する。具体的には、利用者は、例えば情報処理装置7を操作して、利用者自身をサービスシステムにおいて特定するIDを用いて、情報処理装置4で動作するサービスシステムに対してログインする。ログインは、例えばパスワードを用いる方式など、既知の如何なる方式を用いてもよい。
ステップS602では、ID連携システム1は、サービスシステムが利用者に提供するサービスが、他のサービスシステムが保有するデータ、すなわち他のサービスシステムが保有する情報を利用するサービスであるかを判定する。具体的には、情報処理装置4は、利用者の意向、すなわち利用者が操作する情報処理装置7からの依頼に応じてサービスを提供するが、今回依頼されたサービスが他のサービスシステムが保有するデータを利用するサービスであるかを判定する。情報処理装置4は、自身が提供する複数のサービスのそれぞれについて、他のサービスシステムが保有するデータを利用するサービスであるか、どのサービスシステムが保有するどのデータを利用するサービスであるか、についての情報である利用データ情報を、例えば外部メモリとしての外部デバイス17に予め記憶している。情報処理装置4は、利用データ情報を参照し、今回依頼されたサービスが他のサービスシステムが保有するデータを利用するサービスであるか否かを判定する。
ステップS602において、ID連携システム1は、今回依頼されたサービスが他のサービスシステムが保有するデータを利用するサービスではない場合、処理をステップS603に進める。ステップS603では、ID連携システム1は、サービスシステムによるサービスを利用者に提供する。具体的には、情報処理装置4は、情報処理装置7とデータの送受信を行って、情報処理装置7を操作する利用者にサービスを提供する。
ステップS602において、ID連携システム1は、今回依頼されたサービスが他のサービスシステムが保有するデータを利用するサービスである場合、処理をステップS604に進める。ステップS604では、ID連携システム1は、他サービス参照処理を実行する。他サービス参照処理については、図7を参照して後述する。以上により、ID連携システム1によるサービス利用処理を終了する。
(他サービス参照処理)
続いて、他サービス参照処理について説明する。図7は、本発明の一実施形態に係るID連携システム1による他サービス参照処理の一例を示すフローチャートである。本実施形態のID連携システム1では、各サービスシステムが、ID連携の状態、及び連携可否情報に基づいて、他のサービスシステムが保有するデータを利用したサービスを利用者に提供する。他サービス参照処理は、利用者が各サービスシステムによるサービスを利用する際の処理である。
他サービス参照処理においては、まず、情報処理装置4は、今回依頼されたサービスが利用するデータを提供するサービスシステムが、その利用者についてID連携システム1で連携されているかを、情報処理装置3に確認する。情報処理装置4は、ID連携システム1で連携されていない場合は、今回依頼されたサービスを利用者に提供せずに例えばエラーメッセージを表示して処理を終了する。なお、サービスシステムは、ID連携システム1での連携状況を予め確認し、他のサービスが保有しているデータの提供を受けられる場合にのみ、そのサービスを利用者が選択可能にしてもよい。
情報処理装置4は、今回依頼されたサービスが利用するデータを提供するサービスシステムが、その利用者についてID連携システム1で連携されている場合、情報処理装置3の連携可否情報を確認する。すなわち、ステップS701では、ID連携システム1は、今回依頼されたサービスが利用するデータについてのカタログが、連携可否情報において他の対象のサービスシステムに引き渡すことを許可する設定がされているかを確認する。ステップS701において、ID連携システム1は、連携可否情報において他の対象のサービスシステムに引き渡すことを許可しない場合には、処理を終了する。
ステップS701において、ID連携システム1は、連携可否情報において他の対象のサービスシステムに引き渡すことを許可している場合には、処理をステップS702に進める。ステップS702では、ID連携システム1は、今回依頼されたサービスが利用するデータを、そのデータを提供するサービスシステムから取得する。具体的には、情報処理装置4は、データの提供元である情報処理装置5における利用者を特定するIDを情報処理装置3から取得し、その利用者を特定するIDを用いて情報処理装置5からデータを取得する。この処理は、例えばAPIを用いて実現することができる。APIは、Application Programming Interfaceの略称である。
ステップS703では、ID連携システム1は、複数のサービスシステムを亘って取得したデータを利用したサービスを利用者に提供する。具体的には、情報処理装置4は、情報処理装置5から取得したデータを利用し、情報処理装置7とデータの送受信を行って、情報処理装置7を操作する利用者にサービスを提供する。以上により、ID連携システム1による他サービス参照処理を終了する。
なお、情報処理装置3と、情報処理装置4、5又は6とが通信する場合、情報処理装置3で動作するID連携を行うシステムのプログラムと、情報処理装置4、5又は6で動作するサービスシステムのプログラムとが直接通信するのではなく、エージェントと呼ぶプログラムを介して通信するようにしてもよい。この場合、例えば、情報処理装置4、5又は6は、サービスシステムのプログラムとネットワーク2との間に介在するエージェントを有する。この場合、ID連携を行うシステムのプログラムとサービスシステムのプログラムとが通信する際、そのサービスシステムのプログラムが動作する情報処理装置が実行するエージェントが介在する。
このようにエージェントが介在する場合、ID連携システム1は、例えば、以下のように動作する。以下の説明では、情報処理装置5で動作するサービスシステムが提供するカタログのデータを、情報処理装置4で動作するサービスシステムが利用する場合について説明する、
まず、情報処理装置4で動作するエージェントは、情報処理装置4で動作するサービスシステムにおいて利用者を特定するID、及び利用したいカタログの情報を、情報処理装置3で動作するID連携を行うシステムのプログラムに送信する。これを受けた情報処理装置3で動作するID連携を行うシステムのプログラムは、受信した情報(利用者を特定するID、及び利用したいカタログの情報)について、利用者を特定するIDを情報処理装置3に保存しているID連携の情報を用いて、情報処理装置3のIDに変換した上で、連携可否情報を参照し、情報処理装置4で動作するサービスシステムに提供することについて許諾されているかを確認する。
許諾されている場合、情報処理装置3で動作するID連携を行うシステムのプログラムは、当該要求のアクセストークンを生成し、情報処理装置3で利用者を特定するIDを紐づけて、情報処理装置3に保存し、アクセストークンを情報処理装置4で動作するエージェントに送信する。
アクセストークンを受信した情報処理装置4で動作するエージェントは、その受信したアクセストークン、及び利用したいカタログの情報を、情報処理装置5で動作するエージェントに送信する。これを受けた情報処理装置5で動作するエージェントは、受信した情報(アクセストークン、及び利用したいカタログの情報)について、情報処理装置3で動作するID連携を行うシステムのプログラムに送信する。これを受けた情報処理装置3で動作するID連携を行うシステムのプログラムは、受信した情報(アクセストークン、及び利用したいカタログの情報)について、まず、情報処理装置3に保存したアクセストークンを用いて検証を行い、検証が正しい場合、紐づけられた情報処理装置3のIDをID連携情報を用いて、情報処理装置5で動作するサービスシステムにおいて利用者を特定するIDに変換し、情報処理装置5で動作するエージェントに送信する。
許諾されていることを受信した情報処理装置5で動作するエージェントは、情報処理装置5で動作するサービスシステムにおいて利用者を特定するIDとサービスシステムのプログラムからカタログに含まれるデータを受信し、これを情報処理装置4で動作するエージェントに対して送信する。
カタログに含まれるデータを受信した情報処理装置4で動作するエージェントは、受信した情報(カタログに含まれるデータ)を情報処理装置4で動作するサービスシステムのプログラムに渡す。情報処理装置4で動作するサービスシステムは、上述のようにして取得したカタログに含まれるデータを利用して、利用者にサービスを提供する。
(実施例1)
実施例1では、あるサービスシステムが病院管理システム(病院管理システム)であり、別のサービスシステムが病院検索・予約システムであり、さらに別のサービスシステムがタクシー予約システムであるとする。利用者Aは、ID連携システム1、病院管理システム、病院検索・予約システム及びタクシー予約システムのそれぞれで、利用登録をしている。
利用者Aは、かかりつけ医として、病院管理システムで管理されている病院Bに通院している。病院管理システムは、利用者Aの病院Bへの通院履歴、病状、検査結果などの情報を保有している。病院検索・予約システムは、利用者Aが検索した病院の履歴、予約した病院の履歴などの情報を保有している。利用者Aは、ID連携システム1において、自身の病院管理システムでのID、病院検索・予約システムでのID及びタクシー予約システムでのIDを、ID連携システム1でのIDにID連携している。
利用者Aは、ID連携システム1の連携可否情報において、病院管理システムが保有する利用者Aの病状、検査結果の情報を、病院検索・予約システムが利用することを許諾する設定をしている。利用者Aは、ID連携システム1の連携可否情報において、病院検索・予約システムが保有する利用者Aが予約した病院の履歴の情報を、タクシー予約システムが利用することを許諾する設定をしている。
ここで、利用者Aは、病院Bの休院日に症状が悪化し、通院する必要が生じたとする。利用者Aは、病院検索・予約システムのサービスを利用し、病院Bの代わりに通院可能な病院を検索し、その病院を予約する。
病院検索・予約システムでは、利用者Aの病院Bでの利用者Aの病状及び検査結果の情報を、病院管理システムから取得することができる。また、病院検索・予約システムでは、病院管理システムから取得した情報を、利用者Aが予約した病院に提供することができる。したがって、利用者Aは、ID連携システム1を利用することによって、病院Bでの再検査等の手間を省き、病院Bで迅速に適切な治療を受けることができる。
また、タクシー予約システムでは、利用者Aが予約した病院の情報を、病院検索・予約システムから取得することができる。利用者Aは、タクシー予約システムのサービスを利用して、病院Bに通院するためのタクシーを予約することが考えられるが、タクシー予約システムでは利用者Aが予約した病院の情報を取得しているので、利用者はタクシーに行き先を指示する手間等を省くことができる。
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されるものではない。本発明の目的は、上述の実施例の機能を実現するプログラムコード(コンピュータプログラム)を格納した記憶媒体をシステムあるいは装置に供給し、供給されたシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、上述した実施形態では、コンピュータがプログラムを実行することにより、各処理部として機能するものとしたが、処理の一部または全部を専用の電子回路(ハードウェア)で構成するようにしても構わない。本発明は、説明された特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の趣旨の範囲内において、種々の変形・変更が可能である。