(57)【特許請求の範囲】
【請求項１】
コンピュータが、
外部の複数のデータ管理装置に記憶された個別情報に関する複数のデータを外部装置に提供する際に、個別情報毎およびデータの種別毎に設定され、記憶部に記憶された取得条件に基づいて、前記外部装置に対して提供される各データの取得の要否を判定し、
判定の結果、取得が必要なデータについては当該データを記憶したデータ管理装置から当該データを取得し、
取得されたデータを前記外部装置に提供する
各処理を実行することを特徴とするアクセス制御方法。 
【請求項２】
コンピュータが、
前記記憶部に記憶された取得条件に何れかの前記データ管理装置に記憶されたデータが含まれる場合、当該データについては優先的に取得するものとして各データの取得順を判定する処理をさらに実行し、
前記データ管理装置からデータを取得する処理は、前記取得が必要なデータについては、判定された取得順に各データ管理装置からデータを取得し、
前記各データの取得の要否を判定する処理は、取得条件に含まれるデータについては当該データが取得された時点で当該取得条件について判定を行い、判定の結果、取得条件を満たさないデータを取得不要と判定する
ことを特徴とする請求項１記載のアクセス制御方法。 
【請求項３】
コンピュータが、
前記記憶部に記憶された取得条件に、条件を評価するためのデータが事前に得られる条件が含まれる場合、当該条件について事前に判定する処理をさらに実行し、
前記各データの取得の要否を判定する処理は、前記複数のデータ管理装置に記憶された複数のデータを外部装置に提供する際に、前記記憶部に記憶された未判定の取得条件の判定を行う
ことを特徴とする請求項１又は２記載のアクセス制御方法。 
【請求項４】
コンピュータが、
前記外部装置に対して提供する何れかのデータが所定のタイミングで予め得られる場合、得られる当該データを前記記憶部に記憶させる処理をさらに実行し、
前記データ管理装置からデータを取得する処理は、予め得られるデータについては、前記記憶部からデータを取得する
ことを特徴とする請求項１〜３の何れか１項に記載のアクセス制御方法。 
【請求項５】
コンピュータに、
外部の複数のデータ管理装置に記憶された個別情報に関する複数のデータを外部装置に提供する際に、個別情報毎およびデータの種別毎に設定され、記憶部に記憶された取得条件に基づいて、前記外部装置に対して提供される各データの取得の要否を判定し、
判定の結果、取得が必要なデータについては当該データを記憶したデータ管理装置から当該データを取得し、
取得されたデータを前記外部装置に提供する
各処理を実行させることを特徴とするアクセス制御プログラム。 
【請求項６】
個別情報毎および外部の複数のデータ管理装置に記憶された個別情報に関する複数のデータの種別毎に設定された取得条件を記憶する記憶部と、
前記複数のデータを外部装置に提供する際に、前記記憶部に記憶された取得条件に基づいて各データの取得の要否を判定する判定部と、
前記判定部による判定の結果、取得が必要なデータについては当該データを記憶したデータ管理装置から当該データを取得する取得部と、
前記取得部により取得されたデータを前記外部装置に提供する提供部と、
を有することを特徴とするアクセス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス制御方法、アクセス制御プログラムおよびアクセス制御装置に関する。
【背景技術】
【０００２】
近年、例えば、複数の企業がそれぞれ独立に管理するデータや、同一企業内でも部署毎に個別に管理するデータなど、複数のデータ管理装置に個別に管理されたデータを組み合わせた高度なサービスが提供されている。しかし、このような高度なサービスを提供するには、データ管理装置毎に、アクセスプロトコルと個別のデータを集約する集約処理を開発しなければならず、多大な工数を必要とする。
【０００３】
そこで、複数のデータ管理装置に分散したデータに対してシームレスなアクセスを可能にする技術として、フェデレーションサービスが提案されている。フェデレーションサービスは、フェデレーションサービス業者からデータを取得してサービスを行う上位サービスからデータ取得が要求されると、各データ管理装置に対してアクセスを行ってデータを取得する。そして、フェデレーションサービスは、各データ管理装置から取得したデータを集約して上位サービスに提供する。これにより、上位サービスは、フェデレーションサービスにアクセスするためのプロトコルとデータ形式のみを実装すればよい。これにより、上位サービスを開発する際の開発工数を大幅に削減することができる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“Information  as  a  Serviceを支えるインフォメーション・プラットフォーム”、[online]、［平成２３年３月１５日検索］、インターネット＜URL:  http://www-06.ibm.com/ibm/jp/itsolutions/solutions/leveraginginformation/platform.html＞
【非特許文献２】“フェデレーションサービス”、[online]、［平成２３年３月１５日検索］、インターネット＜http://www.ec-one.com/product/product＿si/product＿services/federation.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
フェデレーションサービスは、データ管理装置毎に異なる個別ＩＤ（identifier）を対応付けた紐付け情報を管理する例が考えられる。この紐付け情報とは、例えば、上位サービスからフェデレーションサービスにアクセスするための統一的な統合ＩＤ毎に、各企業や部署のデータ管理装置の個別ＩＤや取得方法を対応させたものである。
【０００６】
ここで、フェデレーションサービスの一例について説明する。図１４は、フェデレーションサービスの一例を説明するための図である。図１４の例では、キャリアＡのデータ管理装置は、個別ＩＤ毎にユーザの位置データをＸＭＬ（Extensible  Markup  Language）形式で管理し、個別ＩＤとしてlocation#1などを記憶する。企業Ｂのデータ管理装置は、個別ＩＤ毎にユーザの名前データをＬＤＩＦ（LDAP  Data  Interchange  Format）形式で管理し、個別ＩＤとしてuid#1などを記憶する。企業Ｃのデータ管理装置は、個別ＩＤ毎にユーザの興味データをＲＤＢ（Relational  Data  Base）形式で管理し、個別ＩＤとしてinterest#1などを記憶する。
【０００７】
フェデレーションサービスには、ユーザが直接または割引券プレゼントサービス経由で、各個別ＩＤを紐付する紐付け情報を予め登録しておく。図１５は、紐付け情報の一例を説明するための図である。図１５の例では、user#1の統合ＩＤに、キャリアＡ、企業Ｂ、企業Ｃにそれぞれアクセスするための個別ＩＤとしてlocation#1、uid#1、interest#1が紐付される。
【０００８】
割引券プレゼントサービスは、統合ＩＤがuser#1のユーザの各種データを取得する場合、統合ＩＤとしてuser#1を指定してフェデレーションサービスにデータの取得を要求する。フェデレーションサービスは、割引券プレゼントサービスから統合ＩＤがuser#1のデータの取得が要求されると、user#1に紐付けられた個別ＩＤを用いてキャリアＡ、企業Ｂ、企業Ｃの各データ管理装置からデータを取得する。図１４の例では、フェデレーションサービスは、アクセスプロトコルとしてParlayを用いてキャリアＡのデータ管理装置にアクセスして位置データを取得する。また、フェデレーションサービスは、アクセスプロトコルとしてＬＤＡＰ（Lightweight  Directory  Access  Protocol）を用いて企業Ｂのデータ管理装置にアクセスして名前データを取得する。さらに、フェデレーションサービスは、アクセスプロトコルとしてＪＤＢＣ（Java(登録商標)  DataBase  Connectivity）を用いて企業Ｃのデータ管理装置にアクセスして興味データを取得する。
【０００９】
そして、フェデレーションサービスは、キャリアＡ、企業Ｂ、企業Ｃの各データ管理装置から取得した位置データ、名前データ、興味データを集約して割引券プレゼントサービスに提供する。
【００１０】
ところで、キャリアＡ、企業Ｂ、企業Ｃなどの各データ管理装置に記憶されたデータには、ユーザが提供を制限したいデータが含まれる場合がある。ユーザが提供を制限したいデータとしては、例えば、ユーザの個人情報がある。このため、ユーザは、データを利用するサービスや状況に応じて、データの提供に条件を指定する場合がある。例えば、ユーザの位置がユーザの会社の位置以外なら、仕事中ではないため、割引券プレゼントサービスに、興味データを提供して興味に応じた割引券を携帯端末に送信してもよい。あるいは、保険斡旋サービスには、家族構成データを提供してもよいが、自宅に直接訪問されては迷惑なので、住所データは提供したくない、という場合がある。
【００１１】
ところで、ＯＳ（Operating  System）によりファイルへのアクセス制御を行う技術として、アクセス制御リスト（Access  Control  List：以下「ＡＣＬ」とも言う。）によるアクセス制御方式が知られている。ＡＣＬによるアクセス制御方式では、ファイルの作成者がファイルに対して他のユーザが読み書きなどのアクセスが実行可能かどうかをＡＣＬに設定しておく。ＯＳは、ユーザがファイルにアクセスした場合、ファイルのＡＣＬの設定とアクセスしたユーザのユーザＩＤを照合し、操作が許可されている場合、操作を実行する。
【００１２】
そこで、ＡＣＬによるアクセス制御方式をフェデレーションサービスに適用して、提供するデータへのアクセス制御を行うことも考えられる。例えば、ユーザが個々のデータ管理装置が管理するデータのＡＣＬをフェデレーションサービスに設定する。そして、フェデレーションサービスが、各データ管理装置からデータを取得し、取得した各データからＡＣＬに従って提供不可なデータを削除した後に上位サービスにデータを提供するものとする。しかし、この方式では、ＡＣＬによる判定で結果的に提供不可となるデータであっても、データを全てデータ管理装置から一旦取得することになるため、無駄なアクセスが発生し、応答時間も必要以上に掛かる。
【００１３】
このような課題は、フェデレーションサービスと呼ばれるサービスに限ったものではなく、複数のデータ管理装置に記憶された複数のデータを取得して外部装置へ提供する装置全般に発生するものである。
【００１４】
開示の技術は、上記に鑑みてなされたものであって、無駄なデータの取得を抑制できるアクセス制御方法、アクセス制御プログラムおよびアクセス制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本願の開示するアクセス制御方法は、一つの態様において、外部装置に対して提供される各データ毎に指定された取得条件が記憶部に記憶されている。そして、本願の開示するアクセス制御方法は、コンピュータが、外部の複数のデータ管理装置に記憶された複数のデータを外部装置に提供する際に、記憶部に記憶された取得条件に基づいて各データの取得の要否を判定する。そして、本願の開示するアクセス制御方法は、コンピュータが、判定の結果、取得が必要なデータについては当該データを記憶したデータ管理装置にアクセスして当該データを取得する。そして、本願の開示するアクセス制御方法は、コンピュータが、取得されたデータを外部装置に提供する。
【発明の効果】
【００１６】
本願の開示するアクセス制御方法の一つの態様によれば、無駄なデータの取得を抑制できる。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施例１に係るアクセス制御装置が適用されるシステムの全体構成の一例を示す図である。
【図２】図２は、実施例１に係る紐付け情報管理テーブルのデータ構成の一例を示す図である。
【図３】図３は、実施例１に係るアクセス情報管理テーブルのデータ構成の一例を示す図である。
【図４】図４は、実施例１に係るデータ取得フローの一例を示す図である。
【図５】図５は、実施例１に係るアクセス制御処理の手順を示すフローチャートである。
【図６】図６は、実施例１に係るデータ取得フロー作成処理の手順を示すフローチャートである。
【図７】図７は、実施例１に係るワークテーブルのデータ構成の一例を示す図である。
【図８】図８は、実施例２に係るアクセス制御装置が適用されるシステムの全体構成の一例を示す図である。
【図９】図９は、実施例２に係る事前評価済情報記憶テーブルのデータ構成の一例を示す図である。
【図１０】図１０は、実施例２に係る評価タイミング登録処理の手順を示すフローチャートである。
【図１１】図１１は、実施例２に係るタイマによる事前評価処理の手順を示すフローチャートである。
【図１２】図１２は、実施例２に係るデータ取得による事前評価処理の手順を示すフローチャートである。
【図１３】図１３は、実施例３に係るアクセス制御プログラムを実行するコンピュータを示す図である。
【図１４】図１４は、フェデレーションサービスの一例を説明するための図である。
【図１５】図１５は、紐付け情報の一例を説明するための図である。
【発明を実施するための形態】
【００１８】
以下に、本願の開示するアクセス制御方法、アクセス制御プログラムおよびアクセス制御装置の各実施例を図面に基づいて詳細に説明する。なお、各実施例は開示の技術を限定するものではない。
【実施例１】
【００１９】
［システム構成］
実施例１に係るシステムについて説明する。図１は、実施例１に係るアクセス制御装置が適用されるシステムの全体構成の一例を示す図である。図１に示すように、システム１は、アクセス制御装置１０、外部装置１１、複数のデータ管理装置１２を有する。アクセス制御装置１０と外部装置１１とデータ管理装置１２との間は、図示しないネットワークを介して通信可能に接続される。かかるネットワークの一態様としては、有線または無線を問わず、インターネット（Internet）、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の通信網が挙げられる。
【００２０】
外部装置１１は、ユーザや業者に対して各種の上位サービスを提供する。上位サービスの一例としては、興味に応じた割引券の情報をユーザの携帯端末に提供する割引券プレゼントサービスがある。また、上位サービスの他の一例としては、ユーザに対して保険の情報を提供する保険斡旋サービスがある。なお、図１の例では、外部装置１１を１つのみ図示したが、外部装置１１が複数あってもよい。また、外部装置１１は複数の上位サービスを提供してもよい。実施例１に係る外部装置１１は複数の上位サービスを提供する。
【００２１】
データ管理装置１２は、それぞれ外部装置１１が提供する上位サービスに用いられるデータを個別に記憶し、管理する。データ管理装置１２は異なる企業にそれぞれ設けられてもよい。また、データ管理装置１２は同一企業内に複数設けられてもよい。さらに、１つのデータ管理装置１２が上位サービスに用いられる複数のデータを記憶してもよい。図１の例では、キャリアＡ、企業Ｂ、企業Ｃにそれぞれデータ管理装置１２が設けられている。キャリアＡのデータ管理装置１２は各ユーザの位置を随時監視して各ユーザの位置データを管理する。企業Ｂのデータ管理装置１２は各ユーザの名前データ、住所データ、家族構成データを管理する。企業Ｃのデータ管理装置１２は各ユーザの興味データを管理する。
【００２２】
外部装置１１は、アクセス制御装置１０に対してデータの提供を要求する。なお、実施例１に係る外部装置１１は、上位サービスを複数提供するため、外部装置１１からアクセス制御装置１０へアクセスするための統一的な統合ＩＤと、上位サービスを識別するサービスＩＤとを指定してデータの提供を要求する。アクセス制御装置１０は、データ取得が要求されると、データの提供を要求した上位サービスで用いるデータをデータ管理装置１２から取得する。そして、アクセス制御装置１０は、取得したデータを外部装置１１に提供する。
【００２３】
［アクセス制御装置１０の構成］
図１に示すように、アクセス制御装置１０は、記憶部２０と、判定部２１と、取得部２２と、提供部２３とを有する。
【００２４】
記憶部２０は、上位サービスへのデータの提供に用いる各種情報を記憶する。例えば、記憶部２０は、紐付け情報管理テーブル２０ａと、アクセス情報管理テーブル２０ｂとを記憶する。この紐付け情報管理テーブル２０ａは、上位サービス毎の紐付け情報を記憶する。アクセス情報管理テーブル２０ｂは、管理元毎に、管理元にアクセスするためのアクセス情報を記憶する。
【００２５】
図２は、実施例１に係る紐付け情報管理テーブルのデータ構成の一例を示す図である。図２の例では、紐付け情報管理テーブル２０ａは、統合ＩＤ、サービスＩＤ、要求情報、管理元、個別ＩＤ、取得条件の各フィールドを有する。統合ＩＤのフィールドは外部装置１１からアクセス制御装置１０へアクセスするための統合ＩＤを記憶する領域である。サービスＩＤのフィールドはサービスを識別するサービスＩＤを記憶する領域である。要求情報のフィールドはサービスに対して提供するデータの名称を記憶する領域である。管理元のフィールドは、提供するデータの管理元の名称を記憶する領域である。個別ＩＤのフィールドはアクセス制御装置１０から管理元のデータ管理装置１２へアクセスするための個別ＩＤを記憶する領域である。取得条件のフィールドは、管理元からデータを取得する取得条件を記憶する領域である。
【００２６】
紐付け情報管理テーブル２０ａでは、同じ上位サービスに提供するデータは、統合ＩＤ、サービスＩＤの各フィールドが同じとされる。なお、図２の例では、同じ情報が設定されている場合、フィールドを１つにまとめて示す。取得条件のフィールドは、空欄の場合、取得条件が無いことを示し、取得条件がある場合、取得条件を示す判定式が設定される。
【００２７】
図２の例では、統合ＩＤが「user#1」、サービスＩＤが「service#1」と指定された場合、「家族構成」のデータを提供することを示す。また、家族構成のデータは、「企業Ｂ」が管理し、企業Ｂから家族構成データを取得する際の個別ＩＤが「uid#1」であることを示す。また、図２の例では、統合ＩＤが「user#1」、サービスＩＤが「service#2」と指定された場合、「位置」、「名前」、「興味」の各データを提供することを示す。また、位置のデータは、「キャリアＡ」が管理し、キャリアＡから位置データを取得する際の個別ＩＤが「location#1」であることを示す。名前のデータは、「企業Ｂ」が管理し、企業Ｂから名前データを取得する際の個別ＩＤが「uid#1」であることを示す。興味のデータは、「企業Ｃ」が管理し、企業Ｃから興味データを取得する際の個別ＩＤが「interest#1」であることを示す。さらに、興味データには、「位置!=”会社”」との取得条件が指定されていることを示す。この「位置!=”会社”」との取得条件は、キャリアＡから提供されるユーザの位置がユーザが働く会社の位置以外の場合、興味データの提供を許可し、ユーザの位置がユーザが働く会社の位置の場合、興味のデータの提供を許可しないことを示す。ユーザが働く会社の位置は、例えば、範囲として指定してもよい。例えば、キャリアＡがユーザの位置を緯度、経度として提供する場合、会社の位置を緯度、経度で範囲指定する。そして、キャリアＡから提供されたユーザの位置が会社の範囲外であった場合、興味のデータの提供を許可し、ユーザの位置が会社の範囲内であった場合、興味のデータの提供を許可しないと判定する。
【００２８】
また、図２の例では、統合ＩＤが「user#2」、サービスＩＤが「service#1」と指定された場合、「家族構成」、「住所」、「位置」の各データを提供することを示す。また、家族構成のデータ、住所のデータは、「企業Ｂ」が管理し、企業Ｂから家族構成データ、住所データを取得する際の個別ＩＤが「uid#1」であることを示す。位置のデータは、「キャリアＡ」が管理し、キャリアＡから位置データを取得する際の個別ＩＤが「location#1」であることを示す。さらに、図２の例では、統合ＩＤが「user#2」、サービスＩＤが「service#2」と指定された場合、「位置」、「名前」、「興味」の各データを提供することを示す。また、位置のデータは、「キャリアＡ」が管理し、キャリアＡから位置データを取得する際の個別ＩＤが「location#1」であることを示す。名前のデータは、「企業Ｂ」が管理し、企業Ｂから名前データを取得する際の個別ＩＤが「uid#1」であることを示す。興味のデータは、「企業Ｃ」が管理し、企業Ｃから興味データを取得する際の個別ＩＤが「interest#1」であることを示す。また、位置、名前、興味の各データには、「time<9:00  OR  time>17:00」との取得条件が指定されていることを示す。この「time<9:00  OR  time>17:00」との取得条件は、時刻が９:００よりも前又は１７：００よりも後の場合、位置、名前、興味の各データの提供を許可し、時刻が９:００〜１７：００の間の場合、位置、名前、興味の各データの提供を許可しないことを示す。
【００２９】
図３は、実施例１に係るアクセス情報管理テーブルのデータ構成の一例を示す図である。図３の例では、アクセス情報管理テーブル２０ｂは、管理元、アクセス情報の各フィールドを有する。管理元のフィールドは管理元の名称を記憶する領域である。アクセス情報のフィールドは、管理元のデータ管理装置１２でのデータの記憶先やデータへのアクセスに必要な情報を記憶する領域である。
【００３０】
図３の例では、キャリアＡのデータ管理装置１２にアクセスするには、ＵＲＬ（Uniform  Resource  Locator）として「http://xx.xx.xx.xx/presence」を指定することを示す。また、企業Ｂのデータ管理装置１２にアクセスするには、ＵＲＬとして「ldap://yy.yy.yy.yy/o=user」を指定することを示す。また、企業Ｃのデータ管理装置１２にアクセスするには、ＵＲＬとして「jdbc:mysql://zz.zz.zz.zz:3306/preference」を指定し、ユーザとして「aaa」を指定し、パスワードとして「bbb」を指定することを示す。
【００３１】
上述した紐付け情報管理テーブル２０ａおよびアクセス情報管理テーブル２０ｂの各フィールドは、ユーザや設定プログラムなどによって予め設定される。紐付け情報管理テーブル２０ａおよびアクセス情報管理テーブル２０ｂの設定は、例えば、キーボード、マウスなどの図示しない入力部から行ってもよい。また、図示しない他の端末装置から直接または上位サービスを経由してアクセス制御装置１０にアクセスして行ってもよい。
【００３２】
なお、アクセス制御装置１０は、紐付け情報管理テーブル２０ａおよびアクセス情報管理テーブル２０ｂの設定の妥当性を検証して記憶部２０に各フィールドにデータを格納する検証部をさらに有してもよい。設定の妥当性は、例えば、フィールドに設定する項目が揃っているか、取得条件に含まれるデータが要求情報として設定されているか、取得条件の構文が正しいかなどが挙げられる。
【００３３】
記憶部２０は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部２０は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。
【００３４】
図１の説明に戻り、判定部２１は、外部装置１１からデータ取得が要求されると、記憶部２０の紐付け情報管理テーブル２０ａに記憶された紐付け情報に基づいて、データの取得の要否を判定する。例えば、判定部２１は、記憶部２０に記憶された紐付け情報管理テーブル２０ａから、データ取得が要求された統合ＩＤおよびサービスＩＤに対応する紐付け情報を読み出す。そして、判定部２１は、読み出した紐付け情報で一時的な紐付け情報ワークテーブルを作成する。この紐付け情報ワークテーブルは、紐付け情報管理テーブル２０ａと同様のデータ構成とする。判定部２１は、紐付け情報ワークテーブルから取得条件を抽出する。判定部２１は、取得条件が抽出された場合、抽出された抽出条件にデータ管理装置１２に記憶されたデータを含まないものがあるかを判定する。そして、判定部２１は、時刻などのように、データ管理装置１２に記憶されたデータとは無関係に、判定可能な取得条件がある場合、当該取得条件について条件判定を行う。判定部２１は、条件判定の結果、条件を満たさない取得条件がある場合、条件を満たさない取得条件が指定されたデータを取得対象外と判定する。そして、判定部２１は、取得対象外と判定されたデータの紐付け情報を紐付け情報ワークテーブルから削除する。
【００３５】
例えば、紐付け情報が図２に示す内容であり、外部装置１１からアクセス制御装置１０へ統合ＩＤが「user#2」、サービスＩＤが「service#2」と指定されてデータ取得が要求される。この場合、判定部２１は、統合ＩＤがuser#2、サービスＩＤがservice#2の各レコードを紐付け情報管理テーブル２０ａから読み出す。そして、判定部２１は、読み出した紐付け情報で紐付け情報ワークテーブルを作成する。判定部２１は、紐付け情報ワークテーブルから「time<9:00  OR  time>17:00」との取得条件を抽出する。この「time<9:00  OR  time>17:00」という取得条件は、データ管理装置１２に記憶されたデータとは無関係に判定可能である。このため、判定部２１は、現在時刻で取得条件について条件判定を行う。例えば、現在時刻が９：００〜１７：００の間である場合、「time<9:00  OR  time>17:00」との取得条件を満たさない。判定部２１は、条件を満たさない取得条件が指定された位置、名前、興味を取得対象外と判定し、位置、名前、興味の紐付け情報を紐付け情報ワークテーブルから削除する。
【００３６】
このように、取得条件を判定した結果、条件を満たさないデータを取得対象外として、データの取得を行わないようにすることにより、無駄なデータの取得を抑制できる。
【００３７】
また、判定部２１は、取得条件に何れかのデータ管理装置１２に記憶されたデータが含まれる場合、当該データについては優先的に取得するものとして、紐付け情報ワークテーブルの要求情報に設定された各データの取得順を判定する。そして、判定部２１は、データ管理装置１２に記憶されたデータを取得する順番や、データ取得の要否判定の示したデータ取得フロー３０を作成する。また、判定部２１は、同じデータ管理装置１２に記憶された複数のデータを取得する場合、一度のアクセスで、データを全て取得するようにデータ取得フロー３０を作成する。
【００３８】
図４は、実施例１に係るデータ取得フローの一例を示す図である。図４の例は、紐付け情報管理テーブル２０ａが図２に示す内容であり、外部装置１１からアクセス制御装置１０へ統合ＩＤが「user#1」、サービスＩＤが「service#2」と指定されてデータ取得が要求された際に作成されたデータ取得フロー３０である。データ取得フロー３０の処理記載部３０ａには、上から順に各データ管理装置１２からデータを取得する際の処理が記載される。判定部２１は、統合ＩＤが「user#1」、サービスＩＤが「service#2」と指定されてデータ取得が要求された場合、統合ＩＤがuser#1、サービスＩＤがservice#2の各紐付け情報を紐付け情報管理テーブル２０ａから読み出す。そして、判定部２１は、読み出した紐付け情報で紐付け情報ワークテーブルを作成する。判定部２１は、紐付け情報ワークテーブルから「位置!=”会社”」との取得条件を抽出する。この「位置!=”会社”」との取得条件は、キャリアＡのデータ管理装置１２に記憶された位置データを含む。
【００３９】
ここで、興味データは、「位置!=”会社”」との取得条件を満たす場合、企業Ｃのデータ管理装置１２にアクセスして取得する必要があるが、取得条件を満たさない場合、取得する必要がない。すなわち、要求情報のデータは、データ管理装置１２に記憶されたデータを含む取得条件が指定された場合、取得条件に含まれるデータを取得して取得条件を判定しなければ、取得が必要か否かを確定できない。そこで、判定部２１は、取得条件にデータ管理装置１２に記憶されたデータが含まれる場合、当該データについては優先的に取得するものとしてデータ取得フロー３０を作成する。
【００４０】
図４の例では、データ取得フロー３０の処理記載部３０ｂに、キャリアＡから位置データを取得する処理が記載されている。また、図４の例では、データ取得フロー３０の処理記載部３０ｄに、キャリアＡから取得した位置が会社以外であるか否かの取得条件を判定する判定処理が記載されている。また、図４の例では、データ取得フロー３０の処理記載部３０ｃに、処理記載部３０ｄの取得条件が肯定判定の場合に企業Ｃから興味データを取得する処理が記載されている。
【００４１】
図１の説明に戻り、取得部２２は、データ管理装置１２から各種データを取得する。例えば、判定部２１は、作成したデータ取得フロー３０の処理を順次実行する。判定部２１は、データ取得フロー３０にデータを取得する処理が記載されていた場合、取得部２２へデータの取得を依頼する。取得部２２はデータの取得を依頼されると、アクセス情報管理テーブル２０ｂに基づいて管理元へのアクセス方式を特定する。そして、取得部２２は、特定したアクセス方式で管理元のデータ管理装置１２へアクセスして要求情報のデータを取得する。また、判定部２１は、データ取得フロー３０に判定処理が記載されていた場合、条件判定を行い、判定結果に応じた処理へ移行する。
【００４２】
提供部２３は、外部装置１１へ各種データを提供する。例えば、提供部２３は、取得部２２により取得されたデータを集約して外部装置１１へ提供する。
【００４３】
［処理の流れ］
次に、本実施例に係るアクセス制御装置１０の処理の流れを説明する。図５は、実施例１に係るアクセス制御処理の手順を示すフローチャートである。このアクセス制御処理は、外部装置１１からデータ取得の要求を受け付けた場合に実行される。
【００４４】
図５に示すように、判定部２１は、記憶部２０に記憶された紐付け情報管理テーブル２０ａから、データ取得が要求された統合ＩＤおよびサービスＩＤに対応する紐付け情報を読み出す（ステップＳ１０１）。判定部２１は、データ取得が要求された統合ＩＤおよびサービスＩＤに対応する紐付け情報が無く、紐付け情報が読み出せない場合（ステップＳ１０２否定）、外部装置１１へエラーを返却する（ステップＳ１０３）。一方、判定部２１は、紐付け情報が読み出せた場合（ステップＳ１０２肯定）、読み出した紐付け情報で紐付け情報ワークテーブルを作成し、後述するデータ取得フロー３０作成処理（ステップＳ１０４）を実行する。
【００４５】
判定部２１は、データ取得フロー３０作成処理（ステップＳ１０４）によりデータ取得フロー３０が作成されたか否かを判定する（ステップＳ１０５）。判定部２１は、データ取得フロー３０が作成されていない場合（ステップＳ１０５否定）、外部装置１１へエラーを返却する（ステップＳ１０３）。一方、判定部２１は、データ取得フロー３０が作成された場合（ステップＳ１０５肯定）、作成されたデータ取得フロー３０の処理記載部３０ｂに記載された最初の処理を処理対象として処理を開始する（ステップＳ１０６）。判定部２１は、処理対象の処理がデータ取得の処理であるか否か判定する（ステップＳ１０７）。判定部２１は、処理対象の処理がデータ取得の処理の場合（ステップＳ１０７肯定）、取得部２２へデータの取得を依頼する。取得部２２は、データの取得が依頼されると、アクセス情報管理テーブル２０ｂに基づいて管理元へのアクセス方式を特定する。そして、取得部２２は、特定したアクセス方式で管理元のデータ管理装置１２へアクセスして要求情報のデータを取得する（ステップＳ１０８）。取得部２２は、取得したデータを判定部２１に提供する。判定部２１は、データ取得フロー３０の処理記載部３０ｂで処理対象の処理の次に記載された処理を処理対象の処理として（ステップＳ１０９）、ステップＳ１０７へ移行する。一方、判定部２１は、処理対象の処理がデータ取得の処理ではない場合（ステップＳ１０７否定）、処理対象の処理が判定処理であるか否か判定する（ステップＳ１１０）。判定部２１は、処理対象の処理が判定処理である場合（ステップＳ１１０肯定）、判定処理の判定を行う（ステップＳ１１１）。判定部２１は、判定結果が肯定判定の場合（ステップＳ１１１肯定）、データ取得フロー３０で肯定判定の処理を処理対象の処理として（ステップＳ１１２）、ステップＳ１０７へ移行する。一方、判定部２１は、判定結果が否定判定の場合（ステップＳ１１１否定）、データ取得フロー３０で否定判定の処理を処理対象の処理として（ステップＳ１１３）、ステップＳ１０７へ移行する。一方、判定部２１は、処理対象の処理が判定処理ではない場合（ステップＳ１１０否定）、処理対象の処理が終了処理であるか否か判定する（ステップＳ１１４）。判定部２１は、処理対象の処理が終了処理ではない場合（ステップＳ１１４否定）、ステップＳ１０７へ移行する。一方、判定部２１は、処理対象の処理が終了処理の場合（ステップＳ１１４肯定）、取得部２２により取得したデータを提供部２３へ提供する。提供部２３は、提供されたデータを集約して外部装置１１へ提供する（ステップＳ１１５）。
【００４６】
図６は、実施例１に係るデータ取得フロー作成処理の手順を示すフローチャートである。このデータ取得フロー作成処理は、上述のアクセス制御処理のステップＳ１０４から呼び出されて場合に実行される。
【００４７】
判定部２１は、紐付け情報ワークテーブルから取得条件の抽出を行い（ステップＳ１２１）、抽出された取得条件があるか否かを判定する（ステップＳ１２２）。判定部２１は、抽出された取得条件がない場合（ステップＳ１２２否定）、紐付け情報ワークテーブルの各要求情報を管理元毎にまとめて取得する処理フローを作成し（ステップＳ１２３）、アクセス制御処理に復帰する。この処理フローの作成方法の１例としては、例えば、紐付け情報ワークテーブルの紐付け情報を管理元毎にソートする。そして、紐付け情報ワークテーブルから１レコードずつ紐付け情報を読み出す。最初に読み出したレコードは、紐付け情報の管理元から要求情報を取得する取得処理の処理フローを作成する。２行目以降に読み出したレコードについては、１レコード前の紐付け情報と管理元が同じ場合は、読み出した紐付け情報の要求情報を直前に作成された取得処理に追加する。１レコード前の紐付け情報と管理元が異なる場合は、読み出した紐付け情報の管理元から要求情報を取得する取得処理の処理フローを新たに追加する。このように、管理元毎にデータを取得する処理フローをまとめることにより、同じ管理元から取得するデータを一度のアクセスで取得できる。
【００４８】
判定部２１は、取得条件が抽出された場合（ステップＳ１２２肯定）、抽出された取得条件に、要求情報を含まない条件を含んだ取得条件があるか否かを判定する（ステップＳ１２４）。そして、判定部２１は、要求情報を含まない条件を含んだ取得条件がない場合（ステップＳ１２４否定）、後述するステップＳ１２９へ移行する。一方、判定部２１は、要求情報を含まない条件を含んだ取得条件がある場合（ステップＳ１２４肯定）、要求情報を含まない条件の判定を行う（ステップＳ１２５）。これにより、例えば、取得条件として、「(位置!=”会社”)  AND  (time<9:00  OR  time>17:00)」などと要求情報を含む条件と要求情報を含まない条件が組み合わされた場合、要求情報を含まない「(time<9:00  OR  time>17:00)」部分の判定を行う。一方、取得条件を「time<9:00  OR  time>17:00」などと要求情報を含まない条件とした場合、要求情報を含まない条件の判定を行った結果、取得条件全体の判定が行われる。
【００４９】
判定部２１は、要求情報を含まない条件を判定した結果、取得条件を満たさない紐付け情報を取得対象外と判定し、紐付け情報ワークテーブルから取得対象外の紐付け情報を削除する（ステップＳ１２６）。判定部２１は、取得対象外の紐付け情報を削除した後の紐付け情報ワークテーブルに、紐付け情報があるか否かを判定する（ステップＳ１２７）。判定部２１は、紐付け情報ワークテーブルに紐付け情報が無い場合（ステップＳ１２７否定）、データ取得フロー３０を作成せずにアクセス制御処理に復帰する。すなわち、取得条件を判定した結果、紐付け情報ワークテーブルに紐付け情報が無くなった場合は、データ取得フロー３０を作成せずにアクセス制御処理に復帰する。アクセス制御処理では、データ取得フロー３０が作成されていない場合、ステップＳ１０５が否定判定され、外部装置１１へエラーを返却する（ステップＳ１０３）。
【００５０】
判定部２１は、紐付け情報ワークテーブルに紐付け情報がある場合（ステップＳ１２７肯定）、抽出された取得条件に未判定の条件があるか否かを判定する（ステップＳ１２８）。判定部２１は、抽出された取得条件に未判定の条件がない場合（ステップＳ１２８否定）、後述するステップＳ１３７へ移行する。例えば、抽出された取得条件が全て要求情報を含まない場合は、取得条件が全て上述のステップＳ１２５の処理で判定されるため、ステップＳ１２８が否定判定となる。一方、抽出された取得条件の何れかが要求情報を含む場合は、要求情報を含む取得条件が未判定として残るため、ステップＳ１２８が肯定判定となる。
【００５１】
判定部２１は、抽出された取得条件に未判定の条件がある場合（ステップＳ１２８肯定）、抽出された取得条件から要求情報を含む取得条件を１つ選択する（ステップＳ１２９）。そして、判定部２１は、紐付け情報ワークテーブルに、選択した取得条件に含まれる要求情報の管理元から取得する他の要求情報があるか否かを判定する（ステップＳ１３０）。判定部２１は、他の要求情報がある場合（ステップＳ１３０肯定）、選択した取得条件に含まれる要求情報の管理元から、選択した取得条件に含まれる要求情報と他の要求情報をまとめて取得する処理フローを追加する（ステップＳ１３１）。このように、取得条件に含まれる要求情報と他の要求情報を取得する処理フローをまとめることにより、同じ管理元から取得可能なデータは、一度のアクセスで取得できる。
【００５２】
一方、判定部２１は、他の要求情報がない場合（ステップＳ１３０否定）、選択した取得条件に含まれる要求情報の管理元から、選択した取得条件に含まれる要求情報を取得する処理フローを追加する（ステップＳ１３２）。これにより、他の要求情報がない場合でも取得条件に含まれる要求情報は取得される。
【００５３】
判定部２１は、抽出された取得条件のうち、要求情報を含む取得条件を全て選択したか否か判定する（ステップＳ１３３）。判定部２１は、要求情報を含む取得条件の全て選択が完了していない場合（ステップＳ１３３否定）、ステップＳ１２９へ移行して、要求情報を含む取得条件のうち、未選択の取得条件を１つ選択する。このステップＳ１２８〜ステップＳ１３３の処理により、図４のデータ取得フロー３０の処理記載部３０ｂが作成される。
【００５４】
判定部２１は、要求情報を含む取得条件の選択を全て完了した場合（ステップＳ１３３肯定）、紐付け情報ワークテーブルから要求情報を含む取得条件が指定された紐付け情報を１つ選択する（ステップＳ１３４）。そして、判定部２１は、選択した紐付け情報に対して指定された取得条件を判定し、取得条件を満たす場合に選択した紐付け情報の要求情報を取得する処理フローを追加する（ステップＳ１３５）。
【００５５】
判定部２１は、紐付け情報ワークテーブルから要求情報を含む取得条件が指定された紐付け情報を全て選択したか否かを判定する（ステップＳ１３６）。判定部２１は、要求情報を含む取得条件が指定された紐付け情報の選択が全て完了していない場合（ステップＳ１３６否定）、ステップＳ１３４へ移行して、要求情報を含む取得条件が指定された紐付け情報のうち、未選択の紐付け情報を１つ選択する。このステップＳ１３４〜ステップＳ１３６の処理により、図４のデータ取得フロー３０の処理記載部３０ｃが作成される。
【００５６】
判定部２１は、要求情報を含む取得条件が指定された紐付け情報の選択を全て完了した場合（ステップＳ１３６肯定）、紐付け情報ワークテーブルから処理フロー未追加の紐付け情報を１つ選択する（ステップＳ１３７）。本実施例では、処理フロー未追加の紐付け情報をワークテーブル４０を用いて判別する。
【００５７】
図７は、実施例１に係るワークテーブルのデータ構成の一例を示す図である。図７の例では、ワークテーブル４０は、要求情報、追加状態の各フィールドを有する。要求情報のフィールドはデータ取得フロー３０に追加する要求情報を記憶する領域である。追加状態のフィールドは、データ取得フロー３０へ取得処理を追加したか否かの状態を記憶する領域である。
【００５８】
判定部２１は、データ取得フロー作成処理を開始する際に、紐付け情報ワークテーブルの各紐付け情報の要求情報を、それぞれ要求情報のフィールドに設定してワークテーブル４０を作成する。追加状態のフィールドには、テーブル作成時、初期値として処理フロー未追加を表す０を設定する。また、判定部２１は、上述のステップＳ１２６の処理で、取得条件を満たさない紐付け情報を紐付け情報ワークテーブルから削除した場合、削除した紐付け情報の要求情報をワークテーブル４０から削除する。さらに、判定部２１は、上述のステップＳ１３１やＳ１３２、Ｓ１３５の処理で要求情報を取得する処理フローを追加した場合、処理フローを追加した要求情報に対応するワークテーブル４０の追加状態のフィールドを、追加済みを表す１に更新する。
【００５９】
判定部２１は、紐付け情報ワークテーブルに、選択した紐付け情報の要求情報の管理元から取得する他の要求情報があるか否かを判定する（ステップＳ１３８）。判定部２１は、他の要求情報がある場合（ステップＳ１３８肯定）、さらにワークテーブル４０に基づいて、他の要求情報が処理フロー未追加であるか否かを判定する（ステップＳ１３９）。
【００６０】
判定部２１は、他の要求情報が処理フロー未追加である場合（ステップＳ１３９肯定）、選択した紐付け情報の要求情報の管理元から、選択した紐付け情報の要求情報と他の要求情報をまとめて取得する処理フローを追加する（ステップＳ１４０）。一方、判定部２１は、他の要求情報がない場合（ステップＳ１３８否定）、選択した紐付け情報の要求情報の管理元から、選択した紐付け情報の要求情報を取得する処理フローを追加する（ステップＳ１４１）。また、判定部２１は、他の要求情報が処理フロー追加済みである場合も（ステップＳ１３９否定）、選択した紐付け情報の要求情報を取得する処理フローを追加する（ステップＳ１４１）。判定部２１は、ステップＳ１３９、ステップＳ１４０の処理で処理フローを追加した要求情報に対応するワークテーブル４０の追加状態のフィールドを、追加済みを表す１に更新する。
【００６１】
判定部２１は、ワークテーブル４０に基づいて全ての要求情報の処理フローを追加したか否かを判定する（ステップＳ１４２）。判定部２１は、全ての要求情報の処理フローの追加が完了していない場合（ステップＳ１４２否定）、ステップＳ１３７へ移行して、処理フロー未追加の紐付け情報を１つ選択する。一方、判定部２１は、全ての要求情報の処理フローの追加が完了すると（ステップＳ１４２肯定）、データ取得フロー３０の作成を完了してアクセス制御処理に復帰する。
【００６２】
これにより、例えば、紐付け情報管理テーブル２０ａが図２に示す内容である場合、統合ＩＤが「user#1」、サービスＩＤが「service#2」の紐付け情報は、興味に対して位置データを含んだ取得条件が指定されている。このため、図６に示すデータ取得フロー作成処理では、ステップＳ１２９〜ステップＳ１３３の処理が行われて、図３に示すように、位置データを優先して取得するデータ取得フロー３０が作成される。また、統合ＩＤが「user#2」、サービスＩＤが「service#1」の紐付け情報は、取得条件が指定されておらず、家族構成、住所が同じ管理元である。このため、図６に示すデータ取得フロー作成処理では、ステップＳ１２３の処理が行われて、家族構成、住所をまとめて企業Ｂから取得するデータ取得フロー３０が作成される。また、統合ＩＤが「user#2」、サービスＩＤが「service#2」の紐付け情報は、位置、名前、興味に対して要求情報を含まない取得条件が指定されている。このため、図６に示すデータ取得フロー作成処理では、ステップＳ１２４〜ステップＳ１２６の処理が行われて、取得条件が判定される。そして、取得条件を満たさない場合は、データ取得フロー３０が作成されず、位置、名前、興味の各データの取得も行われない。
【００６３】
［実施例１の効果］
上述してきたように、本実施例に係るアクセス制御装置１０は、記憶部２０に外部装置１１に対して提供される各データ毎に指定された取得条件を記憶する。そして、本実施例に係るアクセス制御装置１０は、外部の複数のデータ管理装置１２に記憶された複数のデータを外部装置に提供する際に、取得条件に基づいて各データの取得の要否を判定する。そして、本実施例に係るアクセス制御装置１０は、判定の結果、取得が必要なデータについては当該データを記憶したデータ管理装置１２から当該データを取得する。そして、本実施例に係るアクセス制御装置１０は、取得されたデータを外部装置１１に提供する。よって、本実施例に係るアクセス制御装置１０によれば、取得不要なデータについてはデータの取得を行わなくなるため、無駄なデータの取得を抑制できる。
【００６４】
また、本実施例に係るアクセス制御装置１０は、記憶部２０に記憶された取得条件に何れかのデータ管理装置１２に記憶されたデータが含まれる場合、当該データについては優先的に取得するものとして各データの取得順を判定する。そして、本実施例に係るアクセス制御装置１０は、取得が必要なデータについては、判定された取得順に各データ管理装置１２からデータを取得する。そして、本実施例に係るアクセス制御装置１０は、取得条件に含まれるデータについては当該データが取得された時点で当該取得条件について判定を行い、判定の結果、取得条件を満たさないデータを取得不要と判定する。よって、本実施例に係るアクセス制御装置１０によれば、取得条件の判定結果で取得不要となるにもかかわらずデータを取得してしまうことを防止できる。
【実施例２】
【００６５】
次に、実施例２について説明する。図８は、実施例２に係るアクセス制御装置が適用されるシステムの全体構成の一例を示す図である。実施例２のシステム構成は、一部または全部のデータ管理装置１２が、管理するデータを所定のタイミング毎にアクセス制御装置１０へ送信する以外、実施例１のシステム構成と同様である。また、実施例１と同様の構成について、同一の符号を付して説明を省略する場合がある。
【００６６】
実施例２のシステム１は、例えば、キャリアＡのデータ管理装置１２がユーザの位置データを所定のタイミング毎にアクセス制御装置１０へ送信する。この所定のタイミングは、例えば、一定期間ごとであってもよく、予め定めた時刻であってもよい。また、所定のタイミングは、ユーザの位置が変化したタイミングであってもよく、予め定めた範囲内に入ったタイミング、範囲から出たタイミングであってもよく、これらの条件を組み合わせたタイミングとしてもよい。
【００６７】
［アクセス制御装置１０の構成］
実施例２に係るアクセス制御装置１０について説明する。図８に示すように、アクセス制御装置１０は、タイマ２４と、紐付情報評価部２５とをさらに有する。
【００６８】
タイマ２４は、所定のタイミングになると、外部へ通知を行う。所定のタイミングは、例えば、一定期間ごとであってもよく、設定された時刻であってもよく、これらの条件を組み合わせたタイミングとしてもよい。例えば、タイマ２４は、設定された時刻になると紐付情報評価部２５へ通知を行う。
【００６９】
取得部２２は、データ管理装置１２から所定のタイミングで送信されたデータが受信さされた場合、受信されたデータを紐付情報評価部２５に送信する。また、取得部２２は、受信されたデータを事前取得データ２０ｄとして記憶部２０に記憶させる。例えば、取得部２２は、キャリアＡのデータ管理装置１２から位置データを受信すると、位置データを紐付情報評価部２５に送信し、事前取得データ２０ｄとして記憶部２０に記憶させる。
【００７０】
紐付情報評価部２５は、予め定めたタイミングで記憶部２０の紐付け情報管理テーブル２０ａに記憶された紐付け情報を読み出して評価を行う。そして、紐付情報評価部２５は、評価結果に応じて紐付け情報を更新して事前評価済情報記憶テーブル２０ｃに記憶させる。例えば、紐付情報評価部２５は、紐付け情報に時刻を含んだ取得条件が指定されている場合、タイマ２４から通知を受けたタイミングで取得条件の条件判定を行う。また、紐付情報評価部２５は、紐付け情報に位置データを含んだ取得条件が指定されている場合、取得部２２から位置データを受信したタイミングで取得条件の条件判定を行う。そして、紐付情報評価部２５は、取得条件を満たさない紐付け情報を削除して事前評価済情報記憶テーブル２０ｃに記憶させる。また、紐付情報評価部２５は、取得条件を満たす紐付け情報について取得条件を消去して事前評価済情報記憶テーブル２０ｃに記憶させる。
【００７１】
図９は、実施例２に係る事前評価済情報記憶テーブルのデータ構成の一例を示す図である。この事前評価済情報記憶テーブル２０ｃは、紐付け情報管理テーブル２０ａと同様のデータ構成であるため、各フィールドの説明を省略する。
【００７２】
例えば、紐付け情報は図２に示す内容とする。また、紐付情報評価部２５はタイマ２４から１７：０１に通知を受ける。この場合、統合ＩＤが「user#2」、サービスＩＤが「service#2」の各紐付け情報に指定された「time<9:00  OR  time>17:00」との取得条件は、条件を満たす。このため、紐付情報評価部２５は、図９に示すように、統合ＩＤが「user#2」、サービスＩＤが「service#2」の紐付け情報に指定された取得条件を消去して事前評価済情報記憶テーブル２０ｃに記憶させる。
【００７３】
また、例えば、紐付け情報は図２に示す内容とする。また、紐付情報評価部２５は取得部２２からユーザが会社に位置する位置データを受信する。この場合、統合ＩＤが「user#1」、サービスＩＤが「service#2」の「興味」の紐付け情報に指定された「位置!=”会社”」との取得条件は条件を満たさない。このため、紐付情報評価部２５は、図９に示すように、統合ＩＤが「user#1」、サービスＩＤが「service#2」の各紐付け情報について、要求情報が「興味」の紐付け情報を削除して事前評価済情報記憶テーブル２０ｃに記憶させる。
【００７４】
判定部２１は、外部装置１１からデータ取得が要求されると、記憶部２０の事前評価済情報記憶テーブル２０ｃに記憶された紐付け情報に基づいて、データの取得の要否を判定する。
【００７５】
このように、判定部２１が事前に取得条件が評価された紐付け情報を用いてデータの取得の要否の判定を行うことにより、外部装置１１にデータを提供する際の取得条件の判定処理を軽減できる。
【００７６】
取得部２２は、判定部２１からの要求に応じてデータ管理装置１２から各種データの取得を行うが、予め得られるデータについては、記憶部２０に記憶された事前取得データ２０ｄからデータを取得する。例えば、取得部２２は、キャリアＡのデータ管理装置１２からユーザの位置データの取得を行う場合、記憶部２０に記憶された事前取得データ２０ｄから位置データを取得する。これにより、予め得られるデータでは、データを取得するためのデータ管理装置１２へのアクセスが発生しなくなる。なお、データ管理装置１２のデータは更新される場合がある。このため、事前取得データ２０ｄはデータ管理装置１２のデータと一致しなくなる場合がある。そこで、記憶部２０に記憶された事前取得データ２０ｄに利用期限を設定してもよい。この利用期限はデータごとにデータが更新される頻度などを考慮して定めることが好ましい。取得部２２は、事前取得データ２０ｄとして記憶されたデータについて、利用期限内にデータの取得が要求された場合、記憶部２０に記憶された事前取得データ２０ｄからデータを取得する。一方、取得部２２は、利用期限を越えた場合、データ管理装置１２からデータを取得する。
【００７７】
［処理の流れ］
次に、本実施例に係るアクセス制御装置１０の処理の流れを説明する。最初に、評価するタイミングを登録する評価タイミング登録処理について説明する。図１０は、実施例２に係る評価タイミング登録処理の手順を示すフローチャートである。この評価タイミング登録処理は、例えば、紐付け情報管理テーブル２０ａに紐付け情報が設定された場合に実行される。
【００７８】
紐付情報評価部２５は、紐付け情報管理テーブル２０ａから各紐付け情報を読み出す（ステップＳ１５１）。そして、紐付情報評価部２５は、時刻を含む取得条件が指定されている紐付け情報があるか否かを判定する（ステップＳ１５２）。紐付情報評価部２５は、時刻を含む取得条件が指定された紐付け情報がある場合（ステップＳ１５２肯定）、取得条件の判定が変わる時刻をタイマ２４に設定する（ステップＳ１５３）。例えば、「time<9:00  OR  time>17:00」との取得条件が指定された場合、９：００と１７：０１をタイマ２４に設定する。一方、紐付情報評価部２５は、時刻を含む取得条件が指定された紐付け情報がない場合（ステップＳ１５２否定）、タイマ２４の設定を行わないで、ステップＳ１５４へ移行する。
【００７９】
紐付情報評価部２５は、データ管理装置１２から所定のタイミング毎に送信されるデータを含む取得条件が指定されている紐付け情報があるか否かを判定する（ステップＳ１５４）。紐付情報評価部２５は、データ管理装置１２から送信されるデータを含む取得条件が指定されている紐付け情報がある場合（ステップＳ１５４肯定）、データ管理装置１２から送信されるデータの受信の監視を開始する（ステップＳ１５５）。例えば、キャリアＡのデータ管理装置１２からユーザの位置データが送信され、「位置!=”会社”」との取得条件が指定された場合、位置データの受信の監視を開始する。一方、紐付情報評価部２５は、データ管理装置１２から所定のタイミング毎に送信されるデータを含む取得条件が指定されている紐付け情報がない場合（ステップＳ１５４否定）、データの監視設定を行わないで、終了となる。
【００８０】
次に、タイマ２４から通知されたタイミングでの評価処理について説明する。図１１は、実施例２に係るタイマによる事前評価処理の手順を示すフローチャートである。この事前評価処理は、例えば、タイマ２４からの通知を受信したタイミングで実行される。
【００８１】
紐付情報評価部２５は、記憶部２０の紐付け情報管理テーブル２０ａに記憶された紐付け情報を読み出し、時刻を含む取得条件の評価を行う（ステップＳ１７１）。そして、紐付情報評価部２５は、評価結果に応じて紐付け情報を更新して事前評価済情報記憶テーブル２０ｃに記憶させる（ステップＳ１７２）。
【００８２】
次に、データ管理装置１２から送信されるデータを受信したタイミングでの評価処理について説明する。図１２は、実施例２に係るデータ取得による事前評価処理の手順を示すフローチャートである。この評価処理は、例えば、キャリアＡのデータ管理装置１２からユーザの位置データを受信したタイミングで実行される。
【００８３】
紐付情報評価部２５は、記憶部２０の紐付け情報管理テーブル２０ａに記憶された紐付け情報を読み出し、受信されたデータを含む取得条件の評価を行う（ステップＳ１８１）。そして、紐付情報評価部２５は、評価結果に応じて紐付け情報を更新して事前評価済情報記憶テーブル２０ｃに記憶させる（ステップＳ１８２）。
【００８４】
［実施例２の効果］
上述してきたように、本実施例に係るアクセス制御装置１０は、記憶部２０に記憶された取得条件に、条件を評価するためのデータが事前に得られる条件が含まれる場合、当該条件について事前に判定する。そして、本実施例に係るアクセス制御装置１０は、複数のデータ管理装置に記憶された複数のデータを外部装置に提供する際に、未判定の取得条件の判定を行う。よって、本実施例に係るアクセス制御装置１０によれば、事前に判定可能な取得条件を予め判定しておくことにより、外部装置１１に提供する際の取得条件の判定処理を軽減できる。
【００８５】
また、本実施例に係るアクセス制御装置１０は、外部装置１１に対して提供する何れかのデータが所定のタイミングで予め得られる場合、得られる当該データを記憶部２０に記憶させる。そして、本実施例に係るアクセス制御装置１０は、予め得られるデータについては、記憶部２０からデータを取得する。したがって、本実施例に係るアクセス制御装置１０によれば、予め得られるデータについてはデータ管理装置１２にアクセスを行わないため、データを取得する取得処理をより軽減できる。
【００８６】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００８７】
例えば、本発明が適用されるアクセス制御装置１０は、外部装置１１からデータ取得の要求を受け付けたタイミングでアクセス制御処理を実行する場合について例示したが開示の装置はこれに限定されない。例えば、アクセス制御装置１０が、外部装置１１からデータ取得の要求を受けることなく、所定のタイミングでデータ管理装置１２からデータを取得して外部装置１１へ提供を行うものとする。この場合、アクセス制御装置１０は、外部装置１１へデータ提供を行うタイミングでアクセス制御処理が実行してもよい。
【００８８】
上記の実施例では、紐付け情報に基づいてデータを取得する順番や、データ取得の要否判定の示したデータ取得フローを一旦作成し、データ取得フローの順に各データを取得する場合について例示したが、開示の装置はこれに限定されない。データ取得フローを作成せずにデータの取得順を判定しつつ各データを取得してもよい。
【００８９】
上記の実施例では、管理元のデータ管理装置へのアクセス情報をアクセス情報管理テーブル２０ｂに別途記憶させた場合について例示したが、開示の装置はこれに限定されない。紐付け情報管理テーブル２０ａの管理元のフィールドにそれぞれの管理元のデータ管理装置へのアクセス情報を記憶させてもよい。
【００９０】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりしてもよい。
【００９１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図１に示す判定部２１と取得部２２と提供部２３とが統合されてもよい。また、判定部２１を取得処理フロー作成部と取得処理フロー実行部とに分けてもよい。
【実施例３】
【００９２】
［アクセス制御プログラム］
また、上記の実施例で説明したアクセス制御装置１０の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図１３を用いて、上記の実施例で説明したアクセス制御装置１０と同様の機能を有するアクセス制御プログラムを実行するコンピュータの一例を説明する。図１３は、実施例３に係るアクセス制御プログラムを実行するコンピュータを示す図である。
【００９３】
図１３に示すように、実施例３におけるコンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３００〜３４０の各部は、バス４００を介して接続される。
【００９４】
ＲＯＭ３２０には、上記の実施例１または２で示す判定部２１と、取得部２２と、提供部２３と、タイマ２４と、紐付情報評価部２５と同様の機能を発揮するアクセス制御プログラムが予め記憶される。すなわち、ＲＯＭ３２０には、図１３に示すように、アクセス制御プログラム３２０ａが記憶される。なお、アクセス制御プログラム３２０ａについては、適宜分離しても良い。
【００９５】
そして、ＣＰＵ３１０が、アクセス制御プログラム３２０ａをＲＯＭ３２０から読み出して実行する。
【００９６】
そして、ＨＤＤ３３０には、紐付け情報３３０ａが設けられる。紐付け情報３３０ａは、図２に示した紐付け情報管理テーブル２０ａに記憶された紐付け情報に対応する。
【００９７】
そして、ＣＰＵ３１０は、紐付け情報３３０ａを読み出してＲＡＭ３４０に格納する。ＣＰＵ３１０は、ＲＡＭ３４０に格納された紐付け情報を用いて、アクセス制御プログラム３２０ａを実行する。なお、ＲＡＭ３４０に格納される各データは、常に全てのデータがＲＡＭ３４０に格納される必要はなく、処理に必要なデータのみがＲＡＭ３４０に格納されれば良い。
【００９８】
なお、上記したアクセス制御プログラムについては、必ずしも最初からＨＤＤ３３０に記憶させておく必要はない。
【００９９】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１００】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１０１】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
【０１０２】
（付記１）コンピュータが、
外部の複数のデータ管理装置に記憶された複数のデータを外部装置に提供する際に、前記外部装置に対して提供される各データ毎に指定され、記憶部に記憶された取得条件に基づいて各データの取得の要否を判定し、
判定の結果、取得が必要なデータについては当該データを記憶したデータ管理装置から当該データを取得し、
取得されたデータを前記外部装置に提供する
各処理を実行することを特徴とするアクセス制御方法。
【０１０３】
（付記２）コンピュータが、
前記記憶部に記憶された取得条件に何れかの前記データ管理装置に記憶されたデータが含まれる場合、当該データについては優先的に取得するものとして各データの取得順を判定する処理をさらに実行し、
前記データ管理装置からデータを取得する処理は、前記取得が必要なデータについては、判定された取得順に各データ管理装置からデータを取得し、
前記各データの取得の要否を判定する処理は、取得条件に含まれるデータについては当該データが取得された時点で当該取得条件について判定を行い、判定の結果、取得条件を満たさないデータを取得不要と判定する
ことを特徴とする付記１記載のアクセス制御方法。
【０１０４】
（付記３）コンピュータが、
前記記憶部に記憶された取得条件に、条件を評価するためのデータが事前に得られる条件が含まれる場合、当該条件について事前に判定する処理をさらに実行し、
前記各データの取得の要否を判定する処理は、前記複数のデータ管理装置に記憶された複数のデータを外部装置に提供する際に、前記記憶部に記憶された未判定の取得条件の判定を行う
ことを特徴とする付記１又は２記載のアクセス制御方法。
【０１０５】
（付記４）コンピュータが、
前記外部装置に対して提供する何れかのデータが所定のタイミングで予め得られる場合、得られる当該データを前記記憶部に記憶させる処理をさらに実行し、
前記データ管理装置からデータを取得する処理は、予め得られるデータについては、前記記憶部からデータを取得する
ことを特徴とする付記１〜３の何れか１つに記載のアクセス制御方法。
【０１０６】
（付記５）コンピュータに、
外部の複数のデータ管理装置に記憶された複数のデータを外部装置に提供する際に、前記外部装置に対して提供される各データ毎に指定され、記憶部に記憶された取得条件に基づいて各データの取得の要否を判定し、
判定の結果、取得が必要なデータについては当該データを記憶したデータ管理装置から当該データを取得し、
取得されたデータを前記外部装置に提供する
各処理を実行させることを特徴とするアクセス制御プログラム。
【０１０７】
（付記６）コンピュータに、
前記記憶部に記憶された取得条件に何れかの前記データ管理装置に記憶されたデータが含まれる場合、当該データについては優先的に取得するものとして各データの取得順を判定する処理をさらに実行させ、
前記データ管理装置からデータを取得する処理は、前記取得が必要なデータについては、判定された取得順に各データ管理装置からデータを取得し、
前記各データの取得の要否を判定する処理は、取得条件に含まれるデータについては当該データが取得された時点で当該取得条件について判定を行い、判定の結果、取得条件を満たさないデータを取得不要と判定する
ことを特徴とする付記５記載のアクセス制御プログラム。
【０１０８】
（付記７）コンピュータに、
前記記憶部に記憶された取得条件に、条件を評価するためのデータが事前に得られる条件が含まれる場合、当該条件について事前に判定する処理をさらに実行させ、
前記各データの取得の要否を判定する処理は、前記複数のデータ管理装置に記憶された複数のデータを外部装置に提供する際に、前記記憶部に記憶された未判定の取得条件の判定を行う
ことを特徴とする付記５又は６記載のアクセス制御プログラム。
【０１０９】
（付記８）コンピュータに、
前記外部装置に対して集約して提供する何れかのデータが所定のタイミングで予め得られる場合、得られる当該データを前記記憶部に記憶させる処理をさらに実行させ、
前記データ管理装置からデータを取得する処理は、予め得られるデータについては、前記記憶部からデータを取得する
ことを特徴とする付記５〜７の何れか１つに記載のアクセス制御プログラム。
【０１１０】
（付記９）外部の複数のデータ管理装置に記憶された複数のデータを外部装置に提供する各データ毎の指定された取得条件を記憶する記憶部と、
前記記憶部に記憶された取得条件に基づいて各データの取得の要否を判定する判定部と、
前記判定部による判定の結果、取得が必要なデータについては当該データを記憶したデータ管理装置から当該データを取得する取得部と、
前記取得部により取得されたデータを前記外部装置に提供する提供部と、
を有することを特徴とするアクセス制御装置。
【０１１１】
（付記１０）前記判定部は、前記記憶部に記憶された取得条件に何れかの前記データ管理装置に記憶されたデータが含まれる場合、当該データについては優先的に取得するものとして各データの取得順をさらに判定し、
前記取得部は、取得が必要なデータについては前記判定部により判定された取得順に各データ管理装置からデータを取得し、
前記判定部は、前記取得部により取得条件に含まれるデータが取得された時点で当該取得条件について判定を行い、取得条件を満たさないデータを取得不要と判定する
ことを特徴とする付記９記載のアクセス制御装置。
【０１１２】
（付記１１）前記記憶部に記憶された取得条件に、条件を評価するためのデータが事前に得られる条件が含まれる場合、当該条件について事前に判定を行う事前判定部をさらに有し、
前記判定部は、未判定の取得条件については、外部装置に対して外部の複数のデータ管理装置に記憶された複数のデータを提供する際に判定を行う
ことを特徴とする付記９又は１０記載のアクセス制御装置。
【０１１３】
（付記１２）前記取得部は、前記外部装置に対して集約して提供する何れかのデータが所定のタイミングで予め得られる場合、得られる当該データを前記記憶部に記憶させ、予め得られるデータについては、前記記憶部からデータを取得する
ことを特徴とする付記９〜１１の何れか１つに記載のアクセス制御装置。
【符号の説明】
【０１１４】
１０        アクセス制御装置
１１        外部装置
１２        データ管理装置
２０        記憶部
２０ａ      紐付け情報管理テーブル
２０ｂ      アクセス情報管理テーブル
２０ｃ      事前評価済情報記憶テーブル
２０ｄ      事前取得データ
２１        判定部
２２        取得部
２３        提供部
２４        タイマ
２５        紐付情報評価部
【図１】
0005768449.tif 000002
【図２】
0005768449.tif 000003
【図３】
0005768449.tif 000004
【図４】
0005768449.tif 000005
【図５】
0005768449.tif 000006
【図６】
0005768449.tif 000007
【図７】
0005768449.tif 000008
【図８】
0005768449.tif 000009
【図９】
0005768449.tif 000010
【図１０】
0005768449.tif 000011
【図１１】
0005768449.tif 000012
【図１２】
0005768449.tif 000013
【図１３】
0005768449.tif 000014
【図１４】
0005768449.tif 000015
【図１５】
0005768449.tif 000016