特許法第30条第2項適用 令和1年7月26日 https://ascii.jp/planetway/ https://ascii.jp/elem/000/001/894/1894685/を通じて発表 令和1年7月26日 https://www.nichigas.co.jp/ https://www.nichigas.co.jp/corporate/outline/ https://ssl4.eir-parts.net/doc/8174/tdnet/1734053/00.pdfを通じて発表 令和1年9月20日 株式会社リックテレコム発行の「コールセンタージャパン2019年10月号、第40頁~第41頁」に発表 令和1年9月20日 https://callcenter-japan.com https://callcenter-japan.com/category/273/1.html https://callcenter-japan.com/magazine/4291.html https://callcenter-japan.com//magazine/4277.htm を通じて発表
以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
なお、実施の形態の説明において用いる用語は、一般的には次のように定義される。なお、これらの用語の語義は常にここに示されるように解釈されるべきではなく、例えば以下の実施の形態の説明において個別に説明されている場合にはその説明も踏まえて解釈されるべきである。
要求者とは、情報処理システムを利用してユーザに関する情報の閲覧や操作を行う者をいう。ユーザとは、ここでは、専ら、情報処理システムを利用して行われる業務によりサービス等を受ける対象者(顧客)をいう。
ある事項について識別子とは、当該事項を一意に示す文字又は符号等である。識別子は、例えば、IDであるが、対応する事項を識別しうる情報であれば種類は問わない。すなわち、識別子は、それが示すものそのものの名前であってもよいし、一意に対応するように符号を組み合わせたものであってもよい。2以上の情報(例えば、データベースに記録されているレコードの属性値など)の組合せが識別子として用いられてもよい。
ユーザ情報とは、ユーザに関する情報をいう。ユーザ情報には、例えば、そのユーザを識別するユーザ識別子、ユーザの氏名、ユーザの住所に関する情報(住所の所番地であってもよいし、経度緯度などを示すような位置情報などであってもよい)など、当該ユーザに対応する種々の情報が含まれうる。ユーザ情報は、データベースにおいてレコードとして記録されていることがあり、その場合、ユーザ情報に含まれる各情報はレコードの属性値として含まれうる。
取得とは、ユーザ等により入力された事項を取得することを含んでいてもよいし、他の装置に記憶されている情報を取得することを含んでいてもよい。他の装置に記憶されている情報を取得するとは、他の装置に記憶されている情報をAPI経由などで取得することを含んでいてもよいし、他の装置により提供されている文書ファイルの内容(ウェブページの内容なども含む)についてスクレイピング等を行うことにより取得することを含んでいてもよい。また、画像ファイルについて光学式文字読み取りを行うことにより情報を取得することなど、元の情報に基づいてそれとは異なるフォーマットの情報を取得することを含んでいてもよい。
また、情報の取得には、いわゆる機械学習の手法を利用するようにしてもよい。機械学習の手法の利用については、例えば次のようにすることができる。すなわち、特定の種類の入力情報を入力とし、取得したい種類の出力情報を出力とする学習器を、機械学習の手法を用いて構成する。例えば、予め、入力情報と出力情報との組を2以上用意し、当該2組以上の情報を機械学習の学習器を構成するためのモジュールに与えて学習器を構成し、構成した学習器を格納部に蓄積する。なお、学習器は分類器ということもできる。なお、機械学習の手法としては、例えば、深層学習、ランダムフォレスト、SVR等、問わない。また、機械学習には、例えば、fastText、tinySVM、random forest、TensorFlow等の各種の機械学習フレームワークにおける関数や、種々の既存のライブラリを用いることができる。
情報について、選択する、決定する、とは、ある情報を取得することや、ある情報へのリンクを取得することや、ある情報に関するフラグを立てることなどを含む概念である。
情報を出力するとは、ディスプレイへの表示、プロジェクタを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。具体的には、例えば、情報のウェブページへの表示を可能とすることや、電子メール等として送信することや、印刷するための情報を出力することなどを含む。
情報の受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、他の装置等から有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
情報処理装置等に格納されている各種の情報について、更新とは、格納されている情報の変更のほか、格納されている情報に新たな情報が追加されることや、格納されている情報の一部又は全部が消去されることなどを含む概念である。
(実施の形態)
本実施の形態の概要は、次の通りである。すなわち、本実施の形態において、情報処理システム900は、2以上のデータベースが分散して配置されているものである。2以上のデータベースのそれぞれには、互いに対応付けられた第1ユーザ情報と第2ユーザ情報とを含むユーザ情報が格納されている。情報処理システム900の情報処理装置100は、第1ユーザ情報に対応するアクセス要求に基づいて、対応する第2データベースに格納されている第2ユーザ情報にアクセスできるようにする。このとき、情報処理装置100は、アクセスを要求した要求者の権限情報に基づいて、第2ユーザ情報へのアクセスに関する制御を行うようにしてもよく、例えば、権限情報に基づいて、一部の属性値へのアクセスを制限すること、及びアクセス方法を制限すること、の少なくとも一方を行う。権限情報は、2以上のデータベース毎に規定されていてもよい。また、第2ユーザ情報へのアクセス記録は、分散台帳型データベースに蓄積されるようにしてもよい。
また、本実施の形態においては、情報処理システム900は、要求者から入力された検索要求情報に基づいて第1ユーザ情報又は第2ユーザ情報のいずれかであるユーザ情報を検索し、出力するようにしてもよい。ここで、検索結果に含まれるユーザ情報は、取得元のデータベースを視覚的に示すための識別情報と対応付けて出力するようにしてもよい。なお、要求者毎に異なる検索対象について検索を行うようにしてもよく、例えば、要求者に対応するインデックス情報を用いて検索を行ったり、要求者に対応して選択したデータベースのユーザ情報又はそれに由来する情報を検索対象として検索を行ったりしてもよい。また、要求者に応じて、要求者に表示する受付画面の内容を変更するようにしてもよい。
(実施の形態1)
以下、このように構成された本実施の形態に係る情報処理システム900の構成について説明する。
図1は、本実施の形態に係る情報処理システム900のブロック図である。
図1に示されるように、本実施の形態において、情報処理システム900は、第1外部装置910、第2外部装置920、第3外部装置930、情報処理装置100、端末装置600などを備える。各装置は、例えばローカルエリアネットワークやインターネットなどのネットワークを介して互いに通信可能である。情報処理システム900の構成はこれに限られるものではない。情報処理システム900に含まれるそれぞれの装置の数は問わないし、他の装置が情報処理システム900に含まれていてもよい。
本実施の形態において、第1外部装置910と第2外部装置920とは、互いに異なる事業に用いられている装置である。第1外部装置910は、例えば、家庭用などの液化石油ガス(LPG)の供給事業(例えば、ユーザに対しては、ガスボンベの配送業務、検針業務、設備の保安業務等の業務が行われる。)に用いられる装置である。他方、第2外部装置920は、例えば、各戸への上水道の供給事業(例えば、ユーザに対しては、水道使用量の検針業務、料金の徴収等の出納業務等の業務が行われる。)に用いられる装置である。なお、これに限られず、例えば、ガスや水道の供給事業に付随して、機器の販売や維持等の事業にも用いられる装置であってもよい。なお、これらの事業は、一の組織体によって運営されるものであってもよいし、別会社など別々の組織体によって運営されるものであってもよい。
第3外部装置930は、例えば、ブロックチェーン技術などを利用した分散台帳型データベースの管理に用いられるノードである。第3外部装置930は、ネットワークを介して接続されている他の機器等と共に分散台帳型データベースの保持・管理等を行う。
なお、図1においては、例えばいわゆるスマートフォンなどの携帯情報端末装置や、タブレット型の情報端末装置、及びラップトップコンピュータなどのパーソナルコンピュータ(PC)などが端末装置600として示されているが、端末装置600として用いられるのはこれらのうちいずれであってもよいし、これら以外の装置であってもよい。要求者は、端末装置600を利用して、情報処理システム900を利用することができる。以下の例においては、端末装置600として、キーボードやディスプレイ等を有するいわゆるパーソナルコンピュータが用いられることを想定して説明されているが、これに限られるものではない。
図2は、同情報処理システム900のブロック図である。図3は、同情報処理装置100のブロック図である。図4は、同端末装置600のブロック図である。
まず、第1外部装置910、第2外部装置920、及び第3外部装置930の構成について説明する。
図2に示されるように、第1外部装置910は、第1外部装置格納部911、第1外部装置処理部915、第1外部装置送信部916、及び第1外部装置受信部917を備える。第1外部装置910は、例えば一般的な構成を有するサーバ装置であるが、これに限られず、他の形態の電子計算機であってもよいし、複数の装置が互いに接続されて実現される装置であってもよい。第1外部装置910は、ネットワークに接続可能であり、ネットワークに接続されている他の装置との間での通信を行えるように構成されている。
第1外部装置格納部911は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。第1外部装置格納部911には、種々の情報やプログラム等が記憶されている。これらの情報等が記憶される過程は問わない。例えば、記録媒体を介して情報が第1外部装置格納部911で記憶されるようになってもよく、通信回線等を介して送信された情報が第1外部装置格納部911で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が第1外部装置格納部911で記憶されるようになってもよい。
第1外部装置格納部911は、第1データベース格納部912を備える。
第1データベース格納部912には、第1データベースが格納される。第1データベースについては、後述する。
第1外部装置処理部915は、通常、MPUやメモリ等から実現されうる。第1外部装置処理部915の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。第1外部装置処理部915は、第1外部装置910において、例えば情報の取得などを行う。例えば、取得したSQL文などに基づいて、第1外部装置格納部911に格納されている種々のデータベースの操作を行う。
第1外部装置送信部916は、第1外部装置処理部915によって第1外部装置格納部911などから読み出された情報を送信する。例えば、第1外部装置送信部916は、第1外部装置処理部915の動作に基づいて第1外部装置格納部911から読み出されたユーザ情報を、情報処理装置100や端末装置600等に、ネットワークを介して送信する。
第1外部装置受信部917は、情報処理装置100や、その他の装置から送信された情報を、ネットワークを介して受信する。第1外部装置受信部917は、受信した情報を、例えば第1外部装置格納部911に蓄積し、第1外部装置処理部915などが取得できるようにする。
第2外部装置920も、第1外部装置910と同様に構成されたサーバ装置である。すなわち、第2外部装置920は、第1外部装置格納部911と同様のハードウェア構成を有する第2外部装置格納部921を備える。また、第2外部装置920は、第2外部装置処理部925、第2外部装置送信部926、及び第2外部装置受信部927を備える。第2外部装置処理部925、第2外部装置送信部926、及び第2外部装置受信部927は、それぞれ第1外部装置処理部915、第1外部装置送信部916、及び第1外部装置受信部917と同様に構成されており、その詳細な説明を省略する。
第2外部装置格納部921は、第2データベース格納部922を備える。第2データベース格納部922には、第2データベースが格納される。
本実施の形態において、第1データベースと第2データベースとのそれぞれは、2以上のユーザ(顧客)についてのユーザ情報を含む。本実施の形態において、ユーザ情報には、少なくともユーザを識別するユーザ識別子とユーザに関する1以上の属性値(ユーザ属性値ということがある)とが含まれる。例えば、ユーザ情報には、ユーザを一意に示す符号からなるユーザ識別子と、ユーザの名前、住所、電話番号等の情報とが含まれる。ユーザ情報は、各ユーザについて、これらの情報の他に、他のユーザ属性値を含んでいてもよい。ユーザ属性値には、例えば、ユーザ位置情報(ユーザの位置情報;例えば、ユーザ宅の住所や緯度経度情報等)、ユーザに関して記録されたメモ情報等、種々のものが含まれうる。なお、ユーザの名前以外のものがユーザ識別子である場合には、他のユーザ属性値としてユーザの名前が含まれていることが好ましい。ユーザの名前がユーザ識別子であってもよい。
なお、第1データベースと第2データベースとの少なくとも一方は、情報処理装置100の外部の装置ではなく、情報処理装置100の内部に設けられていてもよい。
本実施の形態において、ユーザ情報は、一のユーザに関するユーザ識別子を含む第1ユーザ情報と、一のユーザについての第1ユーザ情報とは異なる属性値を含む第2ユーザ情報とが対応付けられた情報である。例えば、ユーザ情報は、いずれかのデータベースに格納された1つのレコードであってもよい。また、第1ユーザ情報と第2ユーザ情報とのそれぞれが、互いに異なるテーブルのレコードとして格納されていてもよい。第2ユーザ情報は、ユーザ詳細情報と呼ばれることがある。すなわち、本実施の形態において、2以上のデータベースのそれぞれには、一のユーザに関するユーザ識別子を含む第1ユーザ情報と、一のユーザについての第1ユーザ情報とは異なる属性値を含む第2ユーザ情報とが対応付けられて格納されているといえる。
本実施の形態において、第1ユーザ情報には、ユーザ識別子と、一部の属性値(例えば、ユーザの住所等)とが含まれる。第2ユーザ情報には、その他の属性値が含まれる。例えば、第2ユーザ情報に含まれるユーザ属性値は、ユーザの家族構成や、ユーザの契約情報、ユーザの利用情報(瓦斯や水道の使用量など)、ユーザの支払情報など、第1ユーザ情報に含まれる情報よりも比較的センシティブである情報が含まれるが、これに限られない。
ここで、第1外部装置910及び第2外部装置920に分散して配置された第1データベースと第2データベースとは、「X-Road」と呼ばれるシステム間連携基盤(https://e-estonia.com/solutions/interoperability-services/x-road/)などを用いて相互連携されていることが望ましい。これにより、2以上の分散配置されたデータベースの配置状態やシステム構成の相違について個別の対応を行うことなく、容易に実行可能な方法で、情報処理装置100が各データベースへのアクセスを行うことができる。
第3外部装置930も、第1外部装置910と同様のハードウェア構成を有するサーバ装置である。すなわち、第3外部装置930は、第1外部装置格納部911と同様のハードウェア構成を有する第3外部装置格納部931を備える。そのほか、第3外部装置930は、第1外部装置910と同様に、第3外部装置処理部935、第3外部装置送信部936、及び第3外部装置受信部937などの各部を有しているが、詳細な説明は省略する。
第3外部装置格納部931は、第3データベース格納部932を備える。第3データベース格納部932には、分散台帳型データベースが格納される。分散台帳型データベースは、例えば、いわゆるブロックチェーン技術やその他のハッシュ化された情報を用いたタイムスタンプ技術などを用いた分散型台帳技術を用いて管理されるものであることが望ましい。
なお、第1外部装置910、第2外部装置920、及び第3外部装置930は、情報処理システム900に含まれていないと解釈されてもよい。この場合、例えば、情報処理システム900の各装置は、第1外部装置910や第2外部装置920と同様の構成を有する2以上の他の外部装置とそれぞれネットワークを介して通信可能に構成されていればよい。すなわち、情報処理システム900は、分散して格納されている2以上のデータベースにアクセス可能に構成されていればよい。また、第3外部装置930は設けられていなくてもよいし、第3外部装置930の機能が、情報処理システム900の他の装置により担われるように構成されていてもよい。
図3に示されるように、情報処理装置100は、格納部110、受信部120、受付部130、処理部140、出力部160を備える。情報処理装置100は、例えば、サーバ装置である。
格納部110は、ユーザ情報格納部111、インデックス情報格納部112、要求者情報格納部113、権限情報格納部114を備える。
格納部110は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。格納部110の各部には、例えば受信部120や処理部140によって取得された情報などがそれぞれ格納されるが、格納部110の各部に情報等が記憶される過程はこれに限られない。例えば、記録媒体を介して情報等が格納部110で記憶されるようになってもよく、通信回線等を介して送信された情報等が格納部110で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報等が格納部110で記憶されるようになってもよい。
ユーザ情報格納部111には、ユーザ情報蓄積部141により取得されたユーザ情報が格納される。
インデックス情報格納部112には、インデックス情報蓄積部142により取得されたインデックス情報が格納される。
要求者情報格納部113には、情報処理システム900を使用する要求者に関る要求者情報が格納される。要求者情報は、例えば、一の要求者を特定する要求者識別子と、当該要求者に関する情報を示す属性値とが対応付けられた情報を2以上含むものであるが、これに限られない。属性値には、例えば、要求者が使用している端末装置600を特定する情報が含まれる。また、属性値には、例えば、所属するグループ等や職種や職位など、要求者の役割を特定する情報又はその情報に対応する識別子などが含まれる。なお、これら以外の属性値を含んでいてもよい。なお、要求者情報格納部113が外部装置の格納部に設けられていたりしてもよい。すなわち、要求者情報は、情報処理装置100の格納部110に格納されていなくてもよい。
権限情報格納部114には、権限情報が格納される。本実施の形態において、権限情報は、各データベースのレコードについて各要求者が有するアクセス権限に関する情報である。アクセス権限は、例えば、各要求者毎(要求者識別子毎)に規定されていてもよい。また、要求者の役割を特定する情報やその情報に対応する識別子に対応付けて規定されていてもよく、この場合、要求者情報に基づいて、各要求者識別子に対応するアクセス権限が特定可能となる。アクセス権限は、第2ユーザ情報のうち一部の属性値へのアクセスを制限すること(操作可能な対象を制限すること)、及び、アクセス要求の対象となる第2ユーザ情報に対するアクセス方法(第2ユーザ情報に対して可能となる操作の種類)を制限すること、の少なくとも一方に関して設定されていてもよい。
本実施の形態においては、権限情報は、2以上のデータベース毎に、データベースに格納されている2以上のレコードに関するアクセス権限を一括して規定するものである。すなわち、一の要求者についての権限情報は、第1データベースに格納されているユーザ情報へのアクセス権限の内容を示す情報と、第2データベースに格納されているユーザ情報へのアクセス権限の内容を示す情報とを含む。なお、権限情報は、2以上のデータベースの全てのレコードに関するアクセス権限を一括して規定するものであったり、各レコードの特定の属性値に対応するアクセス権限を規定するものなど、レコード毎に異なるアクセス権限を規定しうるものであってもよい。
受信部120は、他の装置から送信された情報を受信する。受信部120は、受信した情報を、例えば、格納部110に蓄積する。
受付部130は、アクセス要求情報受付部131、検索要求情報受付部132、表示要求情報受付部133を備える。
受付部130は、受信部120が受信した情報を受け付ける。なお、受付部130は、情報処理装置100に接続された入力手段を用いて入力された情報や、情報処理装置100に接続された読み取り装置(例えば、コードリーダなど)を用いて行われた入力操作(例えば、装置により読み取られた情報も含む)により入力された情報を受け付けてもよい。受け付けられた情報は、例えば、格納部110に蓄積される。
アクセス要求情報受付部131は、アクセス要求情報を受け付ける。アクセス要求情報は、例えば、要求者により入力された、第2ユーザ情報にアクセスするための情報であり、ユーザ識別子に対応付けられた情報である。換言すると、アクセス要求情報は、対象となるユーザを指定して、そのユーザの第2ユーザ情報にアクセスするための情報である。なお、本実施の形態において、アクセス要求情報受付部131は、アクセス要求情報を受け付けた場合に、そのアクセス要求情報を入力した要求者を特定する要求者識別子も受け付ける。換言すると、アクセス要求情報受付部131が受け付けたアクセス要求情報は、アクセスを要求した要求者を特定する要求者識別子に対応付けられている。
なお、アクセス要求情報の入力は、種々の態様で行われうる。例えば、ディスプレイに表示された複数のユーザに関する第1ユーザ情報のうち一の第1ユーザ情報を、第2ユーザ情報の確認を要求するために指定する操作(キーボードやポインティングデバイスを用いた操作や、音声などによる操作など、操作態様を問わない)は、アクセス要求情報の入力に該当しうる。また、例えば、ディスプレイに表示された1以上のユーザの第2ユーザの情報の属性値を入力、変更、削除等するための操作は、アクセス要求情報の入力に該当しうる。すなわち、アクセス要求情報の入力とは、一のユーザ識別子に対応する第2ユーザ情報の属性値の取得、変更等を、当該ユーザ識別子に対応するレコードが含まれるデータベースに対して要求するための情報を入力することであるといってもよい。
検索要求情報受付部132は、第1ユーザ情報又は第2ユーザ情報のいずれかであるユーザ情報についての、検索要求情報を受け付ける。検索要求情報は、情報処理装置100において出力可能なユーザ情報を検索により絞り込むために情報処理装置100に与えられる情報である。検索要求情報は、例えば、検索を行う文字列や条件を指定する種々の情報を含みうる。なお、本実施の形態において、検索要求情報受付部132は、検索要求情報を受け付けた場合に、その検索要求情報を入力した要求者を特定する要求者識別子も受け付ける。換言すると、検索要求情報受付部132が受け付けた検索要求情報は、検索を要求した要求者を特定する要求者識別子に対応付けられている。
表示要求情報受付部133は、要求者から入力された、検索要求情報を受け付けるための受付画面の表示を要求する受付画面表示要求情報を受け付ける。本実施の形態において、情報処理装置100はウェブサーバであり、端末装置600で動作するウェブブラウザにより表示可能な情報を出力することができる。受付画面表示要求情報は、受付画面を端末装置600で動作するウェブブラウザにおいて表示させるために端末装置600から出力された情報である。なお、情報処理装置100はウェブサーバでなくてもよく、受付画面表示要求情報は、端末装置600で動作するその他のアプリケーションにおいて受付画面を表示させるために端末装置600から出力された情報であってもよい。なお、本実施の形態において、表示要求情報受付部133は、受付画面表示要求情報を受け付けた場合に、その受付画面表示要求情報を入力した要求者を特定する要求者識別子も受け付ける。換言すると、表示要求情報受付部133が受け付けた受付画面表示要求情報は、受付画面の表示を要求した要求者を特定する要求者識別子に対応付けられている。
なお、アクセス要求情報や、検索要求情報や、受付画面表示要求情報の入力とは、これらの情報が端末装置600等を介して要求者によって間接的に情報処理装置100に入力されることを意味するが、要求者によって、入力手段を用いて直接的に情報処理装置100に入力されることを意味すると解釈してもよい。また、アクセス要求情報や、検索要求情報や、受付画面表示要求情報は、必ずしも要求者の直接的な行動(入力操作など)に基づいて生成される情報ではなくてもよい。すなわち、これらの要求情報の入力とは、これらの要求情報が情報処理装置100に与えられることを引き起こす種々の行為、例えばこれらの要求情報を自動的に生成するプログラムを実行させたり種々の情報を与えて機能させることなどを含みうる。
処理部140は、ユーザ情報蓄積部141、インデックス情報蓄積部142、検索実行部143、アクセス制御部144、アクセス記録蓄積部145を備える。処理部140は、各種の処理を行う。各種の処理とは、例えば、以下のように処理部140の各部が行う処理である。
ユーザ情報蓄積部141は、第1データベースと第2データベースとの少なくとも一方に含まれる、2以上のユーザ情報を取得する。すなわち、ユーザ情報蓄積部141は、分散して格納されている2以上のデータベースであって、少なくとも1以上の外部装置に格納されているデータベースを含む2以上のデータベースの少なくとも一方に含まれる2以上のユーザ情報を取得する。ユーザ情報蓄積部141は、取得したユーザ情報を、ユーザ情報格納部111に蓄積する。
なお、本実施の形態において、ユーザ情報蓄積部141は、ユーザ情報のうち、第1ユーザ情報を取得し、蓄積する。ユーザ情報蓄積部141は、2以上のデータベースのそれぞれに含まれる第1ユーザ情報を、各第1ユーザ情報が格納されているデータベースのレコードを特定するレコード識別子に対応付けて2以上取得し、ユーザ情報格納部111に蓄積する。なお、本実施の形態において、レコード識別子は、それにより特定されるレコードが格納される取得元データベース(ユーザ情報蓄積部141による取得元のデータベースをいう)を特定するデータベース識別子に対応付けられているものであるが、これに限られない。すなわち、本実施の形態において、ユーザ情報格納部111に格納されている第1ユーザ情報は、取得元データベースとそれに格納されているレコードとを特定可能な情報に対応付けられている。なお、データベース識別子は、取得元データベースが管理されている外部装置を特定する装置識別子であってもよい。
インデックス情報蓄積部142は、ユーザ情報格納部111に格納された2以上の第1ユーザ情報に基づいて、各第1ユーザ情報に対応するユーザ情報に関する検索を行うためのインデックス情報を生成し、生成したインデックス情報をインデックス情報格納部112に蓄積する。インデックス情報の生成においては、各データベースに記録されている第1ユーザ情報に対応するユーザ情報(ユーザ識別子に対応するユーザ情報)のうち、検索可能とする情報を取得し、取得した情報を含めてインデックス情報とする。インデックス情報は、例えば、検索実行部143による所定の検索アルゴリズムの検索に適したデータ構造を有する情報であるが、これに限られず、例えば取得したユーザ情報をそのまま含む情報であってもよい。このようなインデックス情報を用いることにより、情報処理装置100において、第1外部装置910及び第2外部装置920に検索の度にアクセスする必要がなくなる。そのため、高速にユーザ情報の検索を行うことができ、また、検索時に情報処理システム900にかかる負荷を低減することができる。
ここで、本実施の形態においては、インデックス情報は、要求者識別子に対応付けて蓄積される。すなわち、インデックス情報蓄積部142は、各要求者識別子に対応付けて、当該要求者が有するアクセス権限に応じた範囲のユーザ情報を検索可能対象とするように生成されたインデックス情報を蓄積する。すなわち、インデックス情報蓄積部142は、ユーザ情報の検索のための、互いに異なる内容を含む2以上のインデックス情報を取得し、それぞれ対応する要求者識別子に対応付けてインデックス情報格納部112に蓄積する。このようなアクセス権限に応じた範囲のインデックス情報は、権限情報格納部114に格納されている権限情報に基づいて生成される。なお、インデックス情報蓄積部142は、同一内容のアクセス権限を有する2以上の要求者識別子があるとき、そのアクセス権限に応じた範囲のインデックス情報を1回生成し、生成したインデックス情報を、当該2以上の要求者識別子に対応付けて蓄積するようにしてもよい。また、インデックス情報蓄積部142は、要求者情報に基づいて、全ての要求者識別子のそれぞれについて、当該要求者識別子に対応する権限情報を取得し、インデックス情報の生成を行い、生成したインデックス情報をその要求者識別子に対応付けて蓄積するようにしてもよい。
なお、インデックス情報の生成は、定期的に行われる。例えば、毎日所定の時刻が到来した際に行われる。インデックス情報の生成は、その他の所定のスケジュールで行われるようにしてもよいし、例えば受付部130によりインデックス情報の生成を要求する情報が受け付けられた場合に行われるようにしてもよい。
検索実行部143は、検索要求情報受付部132により受け付けられた検索要求情報に基づいて、検索クエリを生成するなどして、ユーザ情報の検索を行う。例えば、検索実行部143は、検索要求情報を入力した要求者を特定する要求者識別子に基づいて、検索要求情報を入力した要求者毎に異なる検索対象について検索を行う。
本実施の形態において、検索実行部143は、インデックス情報格納部112に格納されているインデックス情報を用いて、ユーザ情報の検索を行う。例えば、検索実行部143は、検索要求情報を入力した要求者を特定する要求者識別子に基づいて、インデックス情報格納部112に格納されている2以上のインデックス情報のうち、要求者識別子に対応するものを用いて検索を行う。すなわち、検索実行部143は、検索要求情報を入力した要求者のアクセス権限に応じた範囲のユーザ情報について検索を行う。なお、検索実行部143は、インデックス情報を用いずに、直接的に、ユーザ情報格納部111に格納されているユーザ情報や、第1データベース又は第2データベースに格納されているユーザ情報を検索するようにしてもよい。
なお、検索実行部143は、検索要求情報を入力した要求者を特定する要求者識別子に対応付けられている特定のデータベースに格納されているユーザ情報又はそれに由来する情報を検索対象として検索を行うようにしてもよい。例えば、要求者が特に第1データベースに関係する要求者である場合、当該要求者が検索要求情報を入力したときには、第1データベースに格納されているユーザ情報を検索対象として、第1データベースにアクセスして検索するようにしてもよい。また、当該要求者が検索要求情報を入力した場合に、第1データベースに格納されているユーザ情報に基づいて予め生成されたインデックス情報(特定のデータベースに格納されているユーザ情報に由来する情報の一例)を検索対象として検索したり、予め第1データベースから取得されてユーザ情報格納部111に蓄積された、ユーザ情報格納部111に格納されている第1ユーザ情報(特定のデータベースに格納されているユーザ情報に由来する情報の一例)を検索対象として検索を行うようにしてもよい。
アクセス制御部144は、アクセス要求情報受付部131が受け付けたアクセス要求情報に対応付けられたユーザ識別子に対応するレコード識別子に基づいて、対応するデータベースに格納されている第2ユーザ情報にアクセスする。アクセスとは、例えば、SQLクエリなどを用いて、各データベースの管理プログラムに、レコードに含まれる情報の閲覧(取得の一例)、更新、追加、削除等の操作(アクセス方法)によるデータベースの操作を実行させることをいうが、これに限られない。アクセス制御部144は、APIを利用して対応するデータベースに格納されている第2ユーザ情報にアクセスするように構成されていたり、関数等を用いて第2ユーザ情報にアクセスするように構成されていてもよい。
本実施の形態において、具体的には、アクセス制御部144は、アクセス要求情報受付部131がアクセス要求情報を受け付けた場合に、アクセス要求情報に対応する要求者識別子により特定される要求者のアクセス権限に関する権限情報を取得する。アクセス制御部144は、取得した権限情報に基づいて、当該要求者がアクセス権限を有する場合に、アクセスを行うためのクエリを生成する。そして、アクセス制御部144は、生成したクエリを用いて、対応するデータベースに対してアクセスを実行する。換言すると、アクセス制御部144は、要求者のアクセス権限に応じて、アクセス要求の対象となる第2ユーザ情報へのアクセスやアクセス方法の制限を行う。より具体的には、アクセス制御部144は、要求者のアクセス権限に応じて、アクセス要求の対象となる第2ユーザ情報のうち一部の属性値へのアクセスを制限すること、及び、アクセス要求の対象となる第2ユーザ情報に対して可能とする操作の種類(セレクト、アップデート、アペンド、デリート等)を制限すること、などを実行可能に構成されていてもよい。
アクセス記録蓄積部145は、第3外部装置930などにより管理されている分散台帳型データベースに情報を蓄積可能に構成されている。アクセス記録蓄積部145は、アクセス制御部144により行われたアクセスに関するアクセス記録を、情報処理システム900において実現される分散台帳型データベースに蓄積する。これにより、情報処理装置100により、第1データベースと第2データベースとのそれぞれからのユーザ情報の取得行為などのアクセス証跡は、改ざん困難な状態で記録される。
出力部160は、検索結果出力部161、受付画面情報出力部162を備える。本実施の形態において、出力部160は、送信部170等を用いて他の装置に情報を送信することにより情報を出力するが、これに限られず、例えば情報処理装置100に設けられたディスプレイデバイスに情報を表示することなどにより情報を出力してもよい。
検索結果出力部161は、検索実行部143による検索結果を示す情報を出力する。具体的には、検索結果出力部161は、例えば、検索結果に含まれるユーザ情報(検索によりヒットしたユーザ情報に対応するユーザ識別子など)と、ユーザ情報が取得された取得元のデータベースを視覚的に示すための識別情報とを対応付けて出力する。識別情報とは、例えば、所定のマークや符号を示す画像であったり、文字として表示されうる符号列であったり、取得元のデータベースに応じた文字色や背景色等でユーザ情報を示すための情報など、種々のものが該当しうる。例えば、格納部110に、レコード識別子やデータベース識別子に対応付けて格納されている識別情報が、検索結果に含まれるユーザ情報に対応するユーザ識別子に基づいて出力されるようにすればよい。検索結果に含まれるユーザ情報について、必要に応じて第2ユーザ情報を取得して検索結果に含めてもよい。換言すると、検索結果出力部161は、検索結果に含まれるユーザ情報を、取得元のデータベースに応じた視覚的な態様で端末装置600等において表示されるように出力するということができる。
なお、検索結果を示す情報は、例えば、端末装置600においてウェブページとして検索結果を表示可能な情報(例えば、HTML形式の文書であったり、情報処理装置100や端末装置600で機能するウェブページ生成システム(コンテンツ管理システムなど)に用いられる情報など)であるが、これに限られない。
受付画面情報出力部162は、表示要求情報受付部133により受け付けられた受付画面表示要求情報に基づいて、受付画面を表示するための受付画面情報を出力する。受付画面情報は、例えば、ウェブページとして受付画面を表示するために用いられる、予め格納部110に記憶されている情報(例えば、HTML形式の文書であったり、情報処理装置100や端末装置600で機能するウェブページ生成システム(コンテンツ管理システムなど)に用いられる情報など)であるが、これに限られない。
なお、受付画面情報出力部162は、受付画面表示要求情報を入力した要求者を特定する要求者識別子に基づいて、受付画面情報を出力するようにしてもよい。具体的には、例えば、要求者識別子に応じたアクセス権限の内容が視覚的に示されるように受付画面情報を出力したり、アクセス権限に応じた所定の態様でのみ検索要求情報を入力することが可能となる受付画面を表示するための受付画面情報を出力したりするようにしてもよい。
送信部170は、情報を、ネットワークを介して情報処理システム900を構成する他の装置に送信する。送信部170は、例えば、出力部160により出力される情報の送信を行う。検索結果出力部161により出力される情報は、検索要求情報を入力した要求者の要求者識別子に基づいて、当該要求者の端末装置600に送信される。また、受付画面情報出力部162により出力される情報は、受付画面表示要求情報を入力した要求者の要求者識別子に基づいて、当該要求者の端末装置600に送信される。
次に、端末装置600の構成について説明する。
図4に示されるように、端末装置600は、端末格納部610、端末受信部620、端末受付部630、端末処理部640、端末出力部660、端末送信部670を備える。
端末装置600は、例えば一般的なパーソナルコンピュータであり、出力装置であるディスプレイや、要求者の入力操作に用いられる入力装置(例えば、キーボードやポインティングデバイスなど)などを有しているが、これに限られるものではない。端末装置600は、ネットワークに接続可能であり、ネットワークに接続されている他の装置との間での通信を行えるように構成されている。
端末格納部610は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。端末格納部610には、種々の情報やプログラム等が記憶されている。これらの情報等が記憶される過程は問わない。例えば、記録媒体を介して情報が端末格納部610で記憶されるようになってもよく、通信回線等を介して送信された情報が端末格納部610で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が端末格納部610で記憶されるようになってもよい。
端末受信部620は、受付画面情報受信部621を備える。端末受信部620は、情報処理装置100や、その他の装置から送信された情報を、ネットワークを介して受信する。端末受信部620は、受信した情報を、例えば端末格納部610に蓄積し、端末処理部640などが取得できるようにする。
受付画面情報受信部621は、情報処理装置100から送信された受付画面情報を受信し、端末格納部610に蓄積する。
端末受付部630は、端末装置600を使用する要求者による、端末装置600に対する種々の入力操作を受け付ける。操作は、例えば、図示しない入力装置を用いて行われるが、これに限られない。端末受付部630は、例えば、マイクにより入力された音声による入力操作を受け付けるようにしてもよいし、端末装置600に接続した読み取り装置(例えば、コードリーダなど)を用いて行われた入力操作を受け付けるようにしてもよい。
端末処理部640は、端末装置600の各部を用いて、種々の情報処理動作を行う。
端末出力部660は、例えばディスプレイデバイスに表示することなどにより、情報の出力を行う。なお、情報の出力方法はこれに限られず、音声等をスピーカーなどから出力することなどにより行われるようにしてもよい。
端末送信部670は、アクセス要求情報送信部671、受付画面表示要求情報送信部672、検索要求情報送信部673を備える。端末送信部670は、例えば端末処理部640等により取得した情報をネットワークを介して送信する。
アクセス要求情報送信部671は、要求者によるアクセス要求情報の入力操作が端末受付部630により受け付けられた場合に、アクセス要求情報を情報処理装置100に送信する。
受付画面表示要求情報送信部672は、要求者による受付画面の表示を要求する入力操作が端末受付部630により受け付けられた場合に、受付画面表示要求情報を情報処理装置100に送信する。
検索要求情報送信部673は、要求者による検索要求情報の入力操作が端末受付部630により受け付けられた場合に、検索要求情報を情報処理装置100に送信する。
なお、上述の処理部140や端末処理部640は、通常、MPUやメモリ等から実現されうる。処理部140や端末処理部640の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
また、受付部130や端末受付部630により受付可能な情報の入力に用いられうる入力手段は、テンキーやキーボードやマウスやメニュー画面によるものなど、何でもよい。受付部130や端末受付部630は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現されうる。
また、第1外部装置受信部917、第2外部装置受信部927、第3外部装置受信部937、受信部120、端末受信部620は、通常、無線又は有線の通信手段で実現されるが、放送を受信する手段で実現されてもよい。
また、第1外部装置送信部916、第2外部装置送信部926、第3外部装置送信部936、送信部170、端末送信部670は、通常、無線又は有線の通信手段で実現されるが、放送手段で実現されてもよい。
また、出力部160や端末出力部660は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えてもよい。出力部160や端末出力部660は、出力デバイスのドライバーソフト又は、出力デバイスのドライバーソフトと出力デバイス等で実現されうる。
なお、情報処理装置100、第1外部装置910、第2外部装置920、及び第3外部装置930は、それぞれ、1つのサーバにより構成されていてもよいし、互いに連携して動作する複数のサーバにより構成されていてもよいし、その他の機器に内蔵された電子計算機等であってもよい。なお、サーバは、いわゆるクラウドサーバでも、ASPサーバ等でも良く、その種類は問わないことは言うまでもない。
図5は、同情報処理装置100の動作の一例について説明する図である。
図5に示されるように、情報処理装置100のユーザ情報蓄積部141は、互いに異なる場所にある第1外部装置910及び第2外部装置920から第1ユーザ情報を取得し、蓄積する。すなわち、ユーザ情報蓄積部141は、第1外部装置910から、第1データベースに含まれる第1ユーザ情報を取得し、第2外部装置920から、第2データベースに含まれる第2ユーザ情報を取得する。
また、インデックス情報蓄積部142は、第1外部装置910及び第2外部装置920から取得した情報に基づいて、インデックス情報を生成し、蓄積する。例えば、要求者のアクセス権限について、2つの種類(仮にA権限、B権限という)がある場合、それぞれの種類に応じた2つのインデックス情報が生成される。
このような情報処理装置100に対して、例えばA権限を有する要求者が使用する端末装置600とB権限を有する要求者が使用する端末装置600とのそれぞれから、検索要求情報の送信(単に検索要求ということがある)や、第1ユーザ情報に対応する第2要求情報へのアクセス要求情報の送信(単にアクセス要求ということがある)が行われる場合を想定する。
A権限を有する要求者が使用する端末装置600から検索要求が行われたとき、検索実行部143は、A権限用に生成されたインデックス情報を用いて、検索を行う。検索結果は端末装置600に送信され、当該端末装置600の要求者のアクセス権限に応じた検索結果が端末装置600において出力される。また、A権限を有する要求者が使用する端末装置600からアクセス要求が行われたとき、アクセス制御部144は、A権限に応じて、アクセス可能であれば、アクセス要求に基づいて、第1データベース又は第2データベースにアクセスし、例えば第2ユーザ情報を取得するなどの処理を行う。これにより、端末装置600において第2ユーザ情報の閲覧などを行うことができるようになる。
他方、B権限を有する要求者が使用する端末装置600から検索要求が行われたとき、検索実行部143は、B権限用に生成されたインデックス情報を用いて、検索を行う。これにより、当該端末装置600の要求者のアクセス権限に応じた検索結果が端末装置600において出力される。また、B権限を有する要求者が使用する端末装置600からアクセス要求が行われたとき、アクセス制御部144は、B権限に応じて、アクセス可能であれば、アクセス要求に基づいて、第2ユーザ情報を取得するなどの処理を行い、端末装置600において第2ユーザ情報の閲覧などを行うことができるようにする。
なお、情報処理装置100から第1外部装置910や第2外部装置920へのアクセスが行われたことを示すアクセス証跡は、情報処理装置100のアクセス記録蓄積部145により、第3データベースに記録される。アクセス証跡が改ざん困難な記録態様で記録されることにより、例えば、センシティブなユーザ情報などへのアクセス記録についても検証することが可能となる。
図6は、同情報処理装置100の動作の一例を示すフローチャートである。
情報処理装置100は、例えば以下のようにして種々の動作を行う。なお、このような動作は、例えば、情報処理装置100の電源がオフになった場合などに終了するようにすればよい。
(ステップS101)図6に示されるように、ユーザ情報蓄積部141は、2以上のデータベースのそれぞれから、当該データベースに記録されている第1ユーザ情報を取得し、ユーザ情報格納部111に蓄積する。
(ステップS102)処理部140は、インデックス情報生成タイミングが到来したか否かを判断する。インデックス情報生成タイミングが到来した場合にはステップS103に進み、そうでない場合にはステップS104に進む。
(ステップS103)インデックス情報蓄積部142は、インデックス情報生成蓄積処理を行う。これにより、各要求者識別子に対応するインデックス情報が、インデックス情報格納部112に格納されている状態となる。インデックス情報生成蓄積処理が終了すると、ステップS104に進む。
(ステップS104)処理部140は、表示要求情報受付部133が、受付画面表示要求情報を受け付けたか否かを判断する。受付画面表示要求情報を受け付けた場合にはステップS105に進み、そうでない場合にはステップS106に進む。
(ステップS105)受付画面情報出力部162は、表示要求情報受付部133により受け付けられた受付画面表示要求情報に基づいて、受付画面を表示するための受付画面情報を出力する。送信部170は、受付画面情報を、受付画面表示要求情報を入力した要求者の要求者識別子に基づいて、当該要求者の端末装置600に送信する。
(ステップS106)処理部140は、検索要求情報受付部132が、検索要求情報を受け付けたか否かを判断する。検索要求情報を受け付けた場合にはステップS107に進み、そうでない場合にはステップS108に進む。
(ステップS107)検索実行部143は、検索要求情報受付部132により受け付けられた検索要求情報に基づいて、検索処理を行う。これにより、検索結果が要求者の端末装置600に送信される。
(ステップS108)処理部140は、アクセス要求情報受付部131が、アクセス要求情報を受け付けたか否かを判断する。アクセス要求情報を受け付けた場合にはステップS109に進み、そうでない場合にはステップS102に戻る。
(ステップS109)アクセス制御部144は、アクセス要求情報受付部により受け付けられたアクセス要求情報に基づいて、アクセス処理を行う。アクセス処理が終了すると、ステップS102に戻る。
図7は、同情報処理装置100のインデックス情報生成蓄積処理の一例を示すフローチャートである。
インデックス情報蓄積部142は、例えば以下のように、要求者情報に含まれる各要求者識別子のそれぞれに対応付けて、インデックス情報をインデックス情報格納部112に蓄積する。
(ステップS121)インデックス情報蓄積部142は、カウンタiに1をセットする。
(ステップS122)インデックス情報蓄積部142は、要求者情報に含まれる要求者識別子のうちi番目の要求者識別子に対応する権限情報を権限情報格納部114から取得する。
(ステップS123)インデックス情報蓄積部142は、2以上のデータベースのそれぞれから取得したユーザ情報のうち、権限情報に対応する範囲のユーザ情報を取得する。そして、取得したユーザ情報を用いて、インデックス情報を生成する。
(ステップS124)インデックス情報蓄積部142は、生成したインデックス情報をi番目の要求者識別子に対応付けて、インデックス情報格納部112に蓄積する。
(ステップS125)インデックス情報蓄積部142は、カウンタiが要求者情報に含まれる要求者識別子の総数であるか否かを判断する。iが要求者識別子の総数である場合にはインデックス情報生成蓄積処理を終了して図6に示される処理に戻り、そうでない場合にはステップS126に進む。
(ステップS126)インデックス情報蓄積部142は、カウンタiを1インクリメントする。ステップS122に戻る。
なお、以上の処理に限られず、アクセス権限の付与パターン(一の要求者についてのアクセス権限の付与態様)ごとにインデックス情報を生成し、各要求者識別子とその要求者についてのアクセス権限の付与態様に対応するインデックス情報を対応付けて蓄積するようにしてもよい。
図8は、同情報処理装置100の検索処理の一例を示すフローチャートである。
(ステップS141)検索実行部143は、検索要求情報に対応する要求者識別子を取得する。要求者識別子は、例えば、検索要求情報受付部132により受け付けられた、検索要求情報を入力した要求者を特定する要求者識別子である。
(ステップS142)検索実行部143は、インデックス情報格納部112に格納されているインデックス情報のうち、要求者識別子に対応するインデックス情報を特定する。
(ステップS143)検索実行部143は、検索要求情報を用いてインデックス情報を検索する。これにより、検索実行部143は、検索結果を取得する。
(ステップS144)検索結果出力部161は、検索実行部143による検索結果を取得し、出力する。例えば、検索結果出力部161は、検索によりヒットしたユーザ情報と、ユーザ情報が取得された取得元のデータベースを視覚的に示すための識別情報とを対応付けて生成する。なお、検索結果出力部161は、各データベースから検索によりヒットしたユーザ情報に関する第2ユーザ情報を取得して、検索結果に含めてもよい。
(ステップS145)送信部170は、検索結果を、要求者識別子に対応する端末装置600に送信する。これにより、端末装置600において、検索結果がウェブページ等の形式で表示可能になる。図6に示される処理に戻る。
図9は、同情報処理装置100のアクセス処理の一例を示すフローチャートである。
(ステップS161)アクセス制御部144は、アクセス要求情報に対応する要求者識別子及びレコード識別子を取得する。
(ステップS162)アクセス制御部144は、要求者識別子に基づいて権限情報を取得する。
(ステップS163)アクセス制御部144は、権限情報に基づいて、アクセス要求情報を入力した要求者が、要求した通りのアクセスを行うためのアクセス権限を有するか否かを判断する。アクセス権限がある場合はステップS165に進み、そうでない場合はステップS164に進む。
(ステップS164)アクセス制御部144は、アクセスを行わず、アクセスが行われなかったことを示すエラー情報を生成する。送信部170は、エラー情報を、要求者識別子に対応する端末装置600に送信する。なお、エラー情報の生成や送信は行われなくてもよい。ステップS164の処理が終了すると、図6に示される処理に戻る。
(ステップS165)アクセス制御部144は、アクセス要求情報及びレコード識別子に基づいて、アクセスを行うためのクエリを作成する。
(ステップS166)アクセス制御部144は、クエリを用いてデータベースにアクセスする。
(ステップS167)アクセス制御部144は、アクセス結果を示す情報を取得する。例えば、第2ユーザ情報を取得するためのアクセスを行った場合、第2ユーザ情報を取得する。
(ステップS168)送信部170は、アクセス制御部144がアクセスを行った結果として取得した情報(例えば、第2ユーザ情報など)を、要求者識別子に対応する端末装置600に送信する。なお、出力部160によりアクセスを行った結果を示す情報が生成され、送信部170により生成された情報が出力されるようにしてもよい。例えば、出力部160が、取得された情報を端末装置600においてウェブページとして表示するための情報(例えば、HTML形式の文書であったり、情報処理装置100や端末装置600で機能するウェブページ生成システム(コンテンツ管理システムなど)に用いられる情報など)を生成するようにしてもよい。このようにして、端末装置600において、アクセスを行った結果がウェブページ等の形式で表示可能になる。図6に示される処理に戻る。
以下に、情報処理装置100を用いて要求者が利用可能となる機能の具体例について説明する。
以下の具体例では、情報処理装置100が、2つの異なる会社の顧客データベースを統合して、要求者に対して、顧客情報(ユーザ情報)の閲覧や検索等を可能にする顧客管理サービスを提供するために用いられるものであると想定する。本具体例において、第1外部装置910は、例えば、LPGの供給事業を営む瓦斯会社の装置である。第1データベースは、例えば、瓦斯会社の顧客情報データベースである。また、第2外部装置920は、例えば、上水道の供給事業を営む水道会社の装置である。第2データベースは、例えば、水道会社の顧客情報データベースである。それぞれの顧客情報データベースは、各会社のユーザについての情報が記録されているものである。
本具体例では、情報処理装置100を利用する2以上の要求者のそれぞれのアクセス権限に応じて、ユーザ情報を閲覧可能な範囲や検索等が異なる。例えば、以下のようにアクセス権限を設定することができる。すなわち、瓦斯会社に雇用されている要求者は、第1データベースに含まれるユーザ情報については比較的広いアクセス権限を有し、第2データベースに含まれるユーザ情報については比較的狭いアクセス権限を有する。他方、水道会社に雇用されている要求者は、第1データベースに含まれるユーザ情報については比較的狭いアクセス権限を有し、第2データベースに含まれるユーザ情報については比較的広いアクセス権限を有する。なお、アクセス権限の設定は適宜行うことができる。
なお、本具体例では、情報処理装置100を利用する要求者のそれぞれは、予め設定されたアカウントで情報処理装置100により実現する顧客管理サービスにログインすることにより、当該顧客管理サービスを利用することができるように構成されている。各アカウントは、要求者識別子に対応するものであるといえる。
図10は、同情報処理装置100の要求者情報格納部113に格納されている要求者情報の一具体例を示す図である。
図10に示されるように、本具体例において、要求者情報格納部113には、複数の要求者情報が含まれている。各要求者情報には、例えば、氏名、要求者ID、ログインに用いられるパスワード、使用する端末装置600(ログインに用いている端末装置600)の端末識別子(端末ID)の各属性について、属性値が記録されている。これらの属性値のいずれかが含まれなくてもよいし、これら以外の属性の属性値も含まれうる。例えば、要求者の所属組織を特定する識別子等が含まれていてもよい。本具体例において、例えば要求者IDが要求者識別子としても用いられるが、これに限られない。例えば、端末識別子が要求者識別子として用いられるように構成されていてもよく、この場合、要求者が自身のアカウントでログインしている端末が変更されるとその要求者を特定する要求者識別子が変更されるが、当該要求者のアカウントとログインに用いられている端末装置600の端末識別子とが常に対応付けられていればよい。
図11は、同情報処理装置100の権限情報格納部114に格納されている権限情報の一具体例を示す図である。
図11に示されるように、本具体例において、権限情報格納部114には、要求者IDごとの権限情報が含まれている。すなわち、各権限情報には、例えば、要求者識別子である要求者IDと、第1データベースに関するアクセス権限の内容と、第2データベースに関するアクセス権限の内容の各属性について、属性値が記録されている。これらの属性値のいずれかが含まれなくてもよいし、これら以外の属性の属性値も含まれうる。アクセス権限の属性値としては、例えば、第1ユーザ情報の検索のみが可能であるとか、ユーザ情報の各属性値について検索・取得・変更が可能であるとか、各属性値について削除も含めてアクセス可能であるとか、適宜設定されていればよい。また、アクセスを許可しない範囲が定められていてもよい。
図12は、同情報処理装置100のアクセス対象となりうる第1データベースの一具体例を説明する図である。
図12に示されるように、瓦斯会社の顧客情報データベースには、ユーザ毎の顧客ID、名前、概略の住所(例えば、丁目以下を除く住所)、詳細な住所、未収料金の有無、支払口座などの各属性について、ユーザ情報それぞれに属性値が記録されている。これらの属性値のいずれかが含まれなくてもよいし、これら以外の属性の属性値も含まれうる。なお、顧客情報データベースにおいて、顧客IDの属性値をユーザ識別子として扱ってもよいし、名前や住所など、他の属性の属性値やその組み合わせをユーザ識別子として扱ってもよい。
図13は、同情報処理装置100のアクセス対象となりうる第2データベースの一具体例を説明する図である。
図12に示されるように、水道会社の顧客情報データベースにも、ユーザ毎の顧客ID、名前、概略の住所、詳細な住所、先月分の使用量、未収料金の額などの各属性について、ユーザ情報それぞれに属性値が記録されている。これらの属性値のいずれかが含まれなくてもよいし、これら以外の属性の属性値も含まれうる。
なお、本具体例において、これらの顧客情報データベースの各ユーザ情報のうち、顧客IDと、名前と、概略の住所との各属性の属性値が第1ユーザ情報に含まれ、その他の属性値が第2ユーザ情報に含まれるものとする。すなわち、本具体例では、ユーザ情報蓄積部141は、2つのデータベースのそれぞれから、顧客IDと、名前と、概略の住所との属性値を取得し、蓄積する。これにより、情報処理装置100は、これらの第1ユーザ情報については、各データベースにアクセスすることなく、情報を取り扱うことができる。例えば、端末装置600からの第1ユーザ情報に関する検索や閲覧の要求があったときに、各データベースにアクセスすることなく、端末装置600に送信することができる。なお、第1ユーザ情報と第2ユーザ情報との別は、これに限られない。例えば顧客IDのみが第1ユーザ情報であると解釈してもよいし、一部の属性値のみが第2ユーザ情報であってその他の大部分の属性値が第1ユーザ情報であると解釈してもよい。
情報処理装置100、第1外部装置910、及び第2外部装置920にこのような各情報が格納されている場合を想定する。本具体例において、要求者は、一の端末装置600を利用して、以下のようにして情報処理装置100による顧客管理サービスを利用することができる。なお、以下の各図において、二点鎖線で囲んで示される画面例は、端末装置600で動作するウェブブラウザが情報処理装置100にアクセスした結果として当該ウェブブラウザで表示されうるものである。なお、各画面例は、端末装置600により動作するその他のアプリケーションが情報処理装置100から受信された情報に基づいて表示するものであってもよい。
図14は、同端末装置600の第1の表示画面S11の具体例を示す図である。
図14において示される第1の表示画面S11は、顧客管理サービスのログイン画面の一例である。端末装置600の要求者は、自身のアカウント情報を入力し、情報処理装置100に情報を送信する操作を行うことで、顧客管理サービスにログインすることができる。なお、アカウント情報としては、例えば、要求者ID及びそれと対となるパスワードなど、種々のものを利用することができる。ログインが行われると、例えば、次に示す第2の表示画面S12に遷移する。
図15は、同端末装置600の第2の表示画面S12の具体例を示す図である。
図15において示される第2の表示画面S12は、顧客管理サービスにおいて検索要求情報を受け付けるための受付画面の一例である。受付画面は、ログイン後に表示される。すなわち、本具体例において、ログイン画面においてログインを行う操作は、受付画面表示要求情報の送信を行うための操作であるといえる。
受付画面には、検索を行う検索キーとなる情報を入力するための検索キー入力領域と、情報処理装置100に入力された情報を送信するための検索ボタンとが設けられている。すなわち、検索キー入力領域に文字列等が入力された状態で検索ボタンが操作されると、入力されている文字列が検索要求情報に含まれて送信される。検索要求情報の送信が行われると、例えば、次に示す第3の表示画面S13に遷移する。
なお、本具体例において、受付画面は、要求者に応じた態様で表示されている。すなわち、ログインしている要求者の氏名と、その要求者が主としてアクセス可能である第2ユーザ情報をデータベース毎に示す画像とが、受付画面内に含まれている。図15においては、要求者の氏名である「多能一太郎」と、取得して瓦斯会社の顧客情報データベースに含まれる第2ユーザ情報にアクセス可能であることを示す画像とが、受付画面の右上に表示されている。
図16は、同端末装置600の第3の表示画面S13の具体例を示す図である。
図16において示される第3の表示画面S13は、検索結果を表示するための画面例である。本具体例においては、検索によりユーザ情報がヒットしたユーザについて、第1ユーザ情報が画面にリスト表示される。なお、本具体例において、ユーザ情報は、そのユーザ情報が記録されているデータベース(取得元データベース)の別と合わせて表示される。例えば、第1データベースであれば「瓦斯」、第2データベースであれば「水道」などの文字(識別情報の一例)と合わせて表示される。また、本具体例において、ユーザ情報は、そのユーザ情報が取得された取得元のデータベースを視覚的に示すための識別画像F21と合わせて表示される。図16に示される例では、2行目の「水道花子」のユーザ情報のみが第2データベースから取得されたものであり、当該ユーザ情報については、画面中の他のユーザ情報とは異なる識別画像F21や「水道」の文字とともに表示されている。なお、表示態様はこれに限られない。要求者は、取得元データベースを示す識別画像F21や文字がユーザ情報に関連付けて表示されていることにより、各ユーザ情報が瓦斯会社に関連するものであるか水道会社に関連するものであるかを容易に知ることができる。
本具体例において、ユーザ情報のうち要求者がアクセス権限を有しているものについては、そのユーザについての第2ユーザ情報を確認するための詳細画面に遷移するためのアクセス要求ボタンF23が表示される。アクセス権限を有していないユーザ情報については、ダミー画像F24が表示される。図16に示される例では、2行目の「水道花子」のユーザ情報は第2データベースから取得されたものであり、ログイン中の要求者「多能一太郎」が検索のみのアクセス権限しか有しないため(図10の1行目に対応する図11の1行目のアクセス権限を参照)、当該ユーザ情報に対してダミー画像F24が表示される。他のユーザ情報については要求者が検索、取得、変更のアクセス権限を有しているため、アクセス要求ボタンF23が表示される。要求者がアクセス要求ボタンF23を押下する操作を行うと、対応するユーザ識別子に対応するアクセス要求情報が情報処理装置100に送信される。アクセス要求情報の送信が行われると、例えば、次に示す第4の表示画面S14に遷移する。要求者は、アクセス要求ボタンF23とダミー画像F24とが表示されていることにより、どのユーザ情報について第2ユーザ情報を確認することができるかを容易に知ることができる。なお、このようなアクセス要求ボタンF23やダミー画像F24の表示に代えて、各ユーザ情報の表示態様をアクセス権限に応じて変更するようにしてもよい。また、ユーザ情報の表示されている領域や文字に対する操作が行われることにより、アクセス要求情報の送信が行われるようにしてもよい。
図17は、同端末装置600の第4の表示画面S14の具体例を示す図である。
図17において示される第4の表示画面S14は、アクセス要求が行われたユーザ(選択ユーザ)についての第2ユーザ情報を表示する詳細表示画面の画面例である。ここでは、図16の1行目のユーザ「瓦斯一郎」について第2ユーザ情報のアクセス要求があった場合の詳細表示画面例が示されている。画面には、選択ユーザについての第2ユーザ情報に含まれる、詳細な住所や、電話番号等の情報が表示される。なお、選択ユーザに対応する識別画像などの識別情報が合わせて表示されるようにしてもよい。
本具体例において、詳細表示画面では、第2ユーザ情報に含まれる各種情報を、ジャンル毎に、サブ表示領域F26に表示させることができるようになっている。ジャンルとしては、例えば、料金に関する事項、請求に関する事項、ユーザが使用する器具に関する事項、受付応対に関する事項、保安、配送サービスに関する事項等が挙げられるが、これに限られない。詳細表示画面では、これらのジャンルを要求者が選択するためのジャンル選択部F25が表示されており、要求者が選択した一のジャンルについての第2ユーザ情報が、サブ表示領域F26に表示されるようになっている。なお、サブ表示領域F26に表示されうる第2ユーザ情報は、詳細表示画面が表示される前に一括して情報処理装置100から端末装置600に送信され、それらのうち選択されたジャンルに対応するものを端末装置600が取得して画面に表示するようにしてもよい。また、サブ表示領域F26に表示される第2ユーザ情報が、ジャンルの選択が行われる度に端末装置600と情報処理装置100との通信が行われて情報処理装置100から端末装置600に送信されるようにしてもよい。この場合、情報処理装置100において、ジャンルの選択が行われる度に表示に用いられる第2ユーザ情報をアクセス制御部144が取得するようにしてもよいし、選択ユーザについて一括して取得された第2ユーザ情報が格納部110から取得されるようにしてもよい。
図17において、サブ表示領域F26には、選択ユーザについての料金の請求に関する事項が表示されている。すなわち、例えば、選択ユーザについての口座情報や未収金の有無などの情報が表示されるが、これに限られない。
図18は、同端末装置600の検索結果を表示するための画面の第1の変形例を示す図である。
図18には、第1の変形例にかかる第3の表示画面S23が示されている。すなわち、上述の第3の表示画面S13とはログインしている要求者が異なり、第3の表示画面S23では、要求者「多能二花子」がログインしている場合の検索結果を表示する画面例が示されている。検索キーは、上述の第3の表示画面S13と同じである。この要求者「多能二花子」は第1データベースに関しては検索のみのアクセス権限しか有さず、第2データベースに関しては検索、取得、変更のアクセス権限を有している(図10の2行目に対応する図11の2行目のアクセス権限を参照)。この場合、2行目の「水道花子」以外のユーザ情報は第1データベースから取得されたものであり、ログイン中の要求者が検索のみのアクセス権限しか有しないため、これらのユーザ情報に対してはダミー画像F24が表示される。「水道花子」のユーザ情報については、要求者が検索、取得、変更のアクセス権限を有しているため、アクセス要求ボタンF23が表示される。
図19は、同端末装置600の検索結果を表示するための画面の第2の変形例を示す図である。
図19には、第2の変形例にかかる第3の表示画面S33が示されている。すなわち、上述の第3の表示画面S13とはログインしている要求者と、検索キーとが異なる。第3の表示画面S33では、両データベースの第2ユーザ情報にアクセス可能な要求者「多能三次郎」がログインしている場合の検索結果を表示する画面例が示されている。また、検索キーは、第2ユーザ情報の属性値である未収金の有無に関して未収金があるとされているユーザ情報を検索するためのものが指定されている。本変形例では、予め生成された、「多能三次郎」に対応付けられているインデックス情報を用いて、未収金があるとされているユーザ情報が検索される。これにより、例えば、第1データベースが取得元である2件と、第2データベースが取得元である1件との合計3件のユーザ情報がヒットした場合、図に示されるように表示される。
図20は、同端末装置600の検索結果を表示するための画面の第3の変形例を示す図である。
図20には、第3の変形例にかかる第3の表示画面S43が示されている。すなわち、上述の第3の表示画面S33とはログインしている要求者が異なり、第3の表示画面S43では、第1データベースについては第1ユーザ情報のみ検索可能である要求者「多能二花子」がログインしている場合の検索結果を表示する画面例が示されている。検索キーは、上述と同様に、未収金があるとされているユーザ情報を検索するためのものが指定されている。本変形例では、予め生成された、「多能二花子」に対応付けられているインデックス情報を用いて、未収金があるとされているユーザ情報が検索される。これにより、アクセス権限に基づいて、第1データベースが取得元である第2ユーザ情報はインデックス情報には含まれないため、第2データベースが取得元である1件のユーザ情報のみがヒットし、図に示されるように表示される。
以上説明したように、本実施の形態によれば、2以上のデータベースのそれぞれに格納されているユーザ情報について、アクセス要求情報を受け付けた場合に、情報処理装置100によるアクセスを行うことができる。したがって、分散して格納されている2以上のデータベースのユーザ情報を適切に扱うことができ、利便性が高くなる。アクセスは要求者のアクセス権限に応じて行われるため、アクセス権限が異なる2以上の要求者による要求を適切にとりさばくことができる。
なお、本実施の形態における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをソフトウェアダウンロード等により配布してもよい。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布してもよい。
なお、本実施の形態における、情報処理装置100を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、2以上の格納部に分散して格納されている2以上のデータベースを有する情報処理システムにおいて用いられ、ユーザ情報格納部を有する情報処理装置のためのプログラムであって、2以上のデータベースのそれぞれには、一のユーザに関するユーザ識別子を含む第1ユーザ情報と、当該一のユーザについての第1ユーザ情報とは異なる属性値を含む第2ユーザ情報とが対応付けられて格納されており、情報処理装置のコンピュータに、2以上のデータベースのそれぞれに含まれる第1ユーザ情報を、各第1ユーザ情報が格納されているデータベースのレコードを特定するレコード識別子に対応付けて2以上取得し、ユーザ情報格納部に蓄積するユーザ情報蓄積ステップと、ユーザ識別子に対応付けられた、第2ユーザ情報にアクセスするためのアクセス要求情報を受け付けるアクセス要求情報受付ステップと、アクセス要求情報受付ステップが受け付けたアクセス要求情報に対応付けられたユーザ識別子に対応するレコード識別子に基づいて、対応するデータベースに格納されている第2ユーザ情報にアクセスするアクセス制御ステップとを実行させる、プログラムである。また、このプログラムは、2以上の格納部に分散して格納されている2以上のデータベースを有する情報処理システムにおいて用いられ、ユーザ情報格納部を有する情報処理装置のコンピュータに、2以上のデータベースのそれぞれに格納されている一のユーザに関するユーザ識別子を含むユーザ情報を、各ユーザ情報が格納されているデータベースのレコードを特定するレコード識別子に対応付けて2以上取得し、ユーザ情報格納部に蓄積するユーザ情報蓄積ステップと、ユーザ情報についての、要求者から入力された検索要求情報を受け付ける検索要求情報受付ステップと、検索要求情報受付ステップにより受け付けられた検索要求情報に基づいてユーザ情報の検索を行う検索実行ステップと、検索実行ステップによる検索結果を出力する検索結果出力ステップとを実行させる、プログラムであってもよい。
(その他)
図21は、上記実施の形態におけるコンピュータシステム800の概観図である。図22は、同コンピュータシステム800のブロック図である。
これらの図においては、本明細書で述べたプログラムを実行して、上述した実施の形態の情報処理装置等を実現するコンピュータの構成が示されている。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現されうる。
コンピュータシステム800は、CD-ROMドライブを含むコンピュータ801と、キーボード802と、マウス803と、モニタ804とを含む。
コンピュータ801は、CD-ROMドライブ8012に加えて、MPU8013と、CD-ROMドライブ8012等に接続されたバス8014と、ブートアッププログラム等のプログラムを記憶するためのROM8015と、MPU8013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM8016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク8017とを含む。ここでは、図示しないが、コンピュータ801は、さらに、LANへの接続を提供するネットワークカードを含んでもよい。
コンピュータシステム800に、上述した実施の形態の情報処理装置等の機能を実行させるプログラムは、CD-ROM8101に記憶されて、CD-ROMドライブ8012に挿入され、さらにハードディスク8017に転送されてもよい。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ801に送信され、ハードディスク8017に記憶されてもよい。プログラムは実行の際にRAM8016にロードされる。プログラムは、CD-ROM8101又はネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ801に、上述した実施の形態の情報処理装置等の機能を実行させるオペレーティングシステム(OS)、又はサードパーティープログラム等を、必ずしも含まなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいればよい。コンピュータシステム800がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、又は、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、又は長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、又は、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、又は、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、又は、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものである。
上述の実施の形態の構成そのものに限られず、上述の実施の形態のそれぞれの構成要素について、適宜、他の実施の形態の構成要素と置換したり組み合わせたりしてもよい。また、上述の実施の形態のうち、一部の構成要素や機能が省略されていてもよい。
上述の実施の形態において説明されている各データベースは、互いに関係づけられている複数のデータベースで実現されてもいてもよく、これらの複数のデータベースは別々のハードウェアや装置に分散して配置されていてもよい。例えば、一のデータベースのレコードに含まれるものとして説明されている属性値は、当該一のデータベースに関係付けられている他のデータベースに含まれている属性値であってもよい。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい(この場合、分散処理を行う複数の装置により構成されるシステム全体を1つの「装置」として把握することが可能である)。