(57)【特許請求の範囲】
【請求項１】
セキュリティ及びプライバシーに関わるポリシーを有する第１の地域である第１ドメインに設置されるアクセスコントローラであって、
前記第１ドメインの有する前記セキュリティ及びプライバシーに関わるポリシーのうち少なくとも一つを共有しない第２の地域である第２ドメインにおいて、前記第１ドメインから取得したデータのキャッシュを保管することを認証するための、前記データのデータ提供元の設置地域と前記データのデータ種別を規定するキャッシュ証明書と、前記第１ドメインにおいて規定された、前記ポリシーに含まれる、複数の管理者に対応付けてデータの種別ごとに前記キャッシュの有効期間を規定するキャッシュポリシーとに基づいて有効期限を決定するアクセスコントローラと、
前記第１ドメインをデータ提供元とし、前記第２ドメインに設置されるキャッシュ管理装置であって
キャッシュデータベースと、
前記キャッシュデータベースを管理するキャッシュ管理部と、を備え、
前記キャッシュ管理部は、前記アクセスコントローラによって決定された前記有効期限を前記データのキャッシュに設定し、当該キャッシュを前記キャッシュデータベースに記憶させる、キャッシュ管理装置と、
を含むマルチクラウドシステム。
【請求項２】
前記キャッシュ管理部は、前記データを要求するアプリケーションに対して、前記データのキャッシュを取得することを許可するトークンが発行されると、当該トークン及び当該トークンの有効期限を、前記キャッシュに対応付けて前記キャッシュデータベースに記憶させる、請求項１に記載のマルチクラウドシステム。
【請求項３】
前記キャッシュ管理部は、前記アプリケーションにより要求された前記キャッシュを用いた演算結果を、前記キャッシュと対応付けて前記キャッシュデータベースに記憶させる、請求項２に記載のマルチクラウドシステム。
【請求項４】
前記キャッシュは、前記アプリケーションに提供される暗号鍵によって暗号化されたデータである、請求項２又は３に記載のマルチクラウドシステム。
【請求項５】
前記キャッシュ管理部は、前記トークンを共通鍵とするメッセージ認証コードにより、前記アプリケーションから受けた前記キャッシュの取得要求の正当性を検証する、請求項２から４のいずれか一項に記載のマルチクラウドシステム。
【請求項６】
前記キャッシュ管理部は、一定間隔で前記キャッシュデータベースに記憶されている前記トークンの有効期限を監視し、有効期限が切れた前記トークンと前記キャッシュとの対応付けを解除する、請求項２から５のいずれか一項に記載のマルチクラウドシステム。
【請求項７】
前記キャッシュ管理部は、一定間隔で前記キャッシュの有効期限を監視し、有効期限が切れた前記キャッシュを削除する、請求項１から６のいずれか一項に記載のマルチクラウドシステム。
【請求項８】
前記キャッシュの有効期限は、前記キャッシュポリシーで複数の管理者それぞれにより規定された前記有効期間のうち最も短い期間に基づいて決定される、請求項１から７のいずれか一項に記載のマルチクラウドシステム。
【請求項９】
セキュリティ及びプライバシーに関わるポリシーを有する第１の地域である第１ドメインに設置されるアクセスコントローラと、前記第１ドメインをデータ提供元とし、前記第１ドメインの有する前記セキュリティ及びプライバシーに関わるポリシーのうち少なくとも一つを共有しない第２の地域である第２ドメインに設置される、キャッシュデータベースを備えるキャッシュ管理装置とが実行する方法であって、
前記第２ドメインにおいて前記第１ドメインから取得したデータのキャッシュを保管することを認証するための、前記データのデータ提供元の設置地域と前記データのデータ種別を規定するキャッシュ証明書と、前記第１ドメインにおいて規定された、前記ポリシーに含まれる、複数の管理者に対応付けてデータの種別ごとに前記キャッシュの有効期間を規定するキャッシュポリシーとに基づいて、前記アクセスコントローラが有効期限を決定するステップと、
前記キャッシュ管理装置が、決定された前記有効期限を前記データのキャッシュに設定し、当該キャッシュを前記キャッシュデータベースに記憶させるステップ、とを備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュ管理装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来より、キャッシュは、コンピュータシステムにおいて、データを転送する場合の効率を向上させるために、用いられている。転送元と転送先との間にキャッシュを用いると、システムは、転送要求に対し、データが既にキャッシュに存在する場合、転送元からの転送を行わずに、キャッシュから転送を行うため、転送の効率が向上する。このようなキャッシュを、分散環境におけるマシン間に用いる特許文献１が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−６５５２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されている技術における分散環境は、国を超えるものではない。国を超える分散環境では、データの所有者のプライバシーに関わるデータを提供する国及び提供を受けて記憶（キャッシュ）する国の双方における、プライバシーデータに関する種々の規則とガイドラインに準じる必要がある。
さらに、アプリケーションがグローバルクラウド経由でローカルクラウド上のデータへアクセスする場合、グローバルクラウドはどのローカルクラウドにアクセスしたいデータが存在するかをすべてのローカルクラウドに問い合わせる必要があるため、単一のクラウド環境に比べてコストが増大する。また、ローカルクラウドは異なる環境上に構築されるため、十分な帯域を確保できないクラウド環境が混在する場合、データへのアクセスの効率性が低くなる。
【０００５】
本発明は、国を跨いだデータへのアクセスに対して、国ごとのセキュリティ及びプライバシーに関わるポリシーを満たし、かつ、アクセス効率を向上できるキャッシュ管理装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
具体的には、以下のような解決手段を提供する。
（１）  データ提供元の第１ドメインと異なる第２ドメインに設置されるキャッシュ管理装置であって、キャッシュデータベースと、前記キャッシュデータベースを管理するキャッシュ管理部と、を備え、前記キャッシュ管理部は、前記第２ドメインにおいて前記第１ドメインから取得したデータのキャッシュを保管することを認証したキャッシュ証明書、及び前記第１ドメインにおいて規定された前記キャッシュの有効期間に関するキャッシュポリシーに基づいて決定された有効期限を前記データのキャッシュに設定し、当該キャッシュを前記キャッシュデータベースに記憶させる、キャッシュ管理装置。
【０００７】
（１）のキャッシュ管理装置は、第２ドメインにおいて取得したキャッシュ証明書、及び第１ドメインにおいて規定されたキャッシュポリシーに基づいて決定された有効期限を、データのキャッシュに設定し、当該キャッシュをキャッシュデータベースに記憶させる。すなわち、キャッシュ管理装置は、第１ドメインにおける規定であるキャッシュポリシーと、第２ドメインにおける規定であるキャッシュ証明書とに基づいてデータをキャッシュできる。
したがって、キャッシュ管理装置は、国を跨いだデータへのアクセスに対して、国ごとのセキュリティ及びプライバシーに関わるポリシーを満たし、かつ、アクセス効率を向上できる。
【０００８】
（２）  前記キャッシュ管理部は、前記データを要求するアプリケーションに対して、前記データのキャッシュを取得することを許可するトークンが発行されると、当該トークン及び当該トークンの有効期限を、前記キャッシュに対応付けて前記キャッシュデータベースに記憶させる、（１）に記載のキャッシュ管理装置。
【０００９】
（２）のキャッシュ管理装置は、キャッシュの取得を許可するトークンの有効期限をキャッシュに対応付けて記憶するので、不正なアプリケーションによるキャッシュの利用を防止できる。
【００１０】
（３）  前記キャッシュ管理部は、前記アプリケーションにより要求された前記キャッシュを用いた演算結果を、前記キャッシュと対応付けて前記キャッシュデータベースに記憶させる、（２）に記載のキャッシュ管理装置。
【００１１】
（３）のキャッシュ管理装置は、大量のデータに対して加工されたデータも記憶するので、さらなる高速化を図ることができる。
【００１２】
（４）  前記キャッシュは、前記アプリケーションに提供される暗号鍵によって暗号化されたデータである、（２）又は（３）に記載のキャッシュ管理装置。
【００１３】
（４）のキャッシュ管理装置は、キャッシュの暗号化を行って第三者の標的となることを防止し、暗号鍵を提供したアプリケーションのみにキャッシュを復号して利用することを許可できる。
【００１４】
（５）  前記キャッシュ管理部は、前記トークンを共通鍵とするメッセージ認証コードにより、前記アプリケーションから受けた前記キャッシュの取得要求の正当性を検証する、（２）から（４）のいずれか一に記載のキャッシュ管理装置。
【００１５】
（５）のキャッシュ管理装置は、共通鍵によりキャッシュの取得要求の正当性を検証するので、偽装や改竄等を防止して安全性を向上できる。
【００１６】
（６）  前記キャッシュ管理部は、一定間隔で前記キャッシュデータベースに記憶されている前記トークンの有効期限を監視し、有効期限が切れた前記トークンと前記キャッシュとの対応付けを解除する、（２）から（５）のいずれか一に記載のキャッシュ管理装置。
【００１７】
（６）のキャッシュ管理装置は、有効期限が切れたトークンとキャッシュとの対応付けを解除するので、不要となったデータを適時に削除して、キャッシュへのアクセスに対する処理を効率化できる。
【００１８】
（７）  前記キャッシュ管理部は、一定間隔で前記キャッシュの有効期限を監視し、有効期限が切れた前記キャッシュを削除する、（１）から（６）のいずれか一に記載のキャッシュ管理装置。
【００１９】
（７）のキャッシュ管理装置は、有効期限が切れたキャッシュを削除するので、更新前の古いデータへのアクセスを防ぐと共に、ポリシーに反したキャッシュの保持を防止できる。
【００２０】
（８）  前記キャッシュの有効期限は、前記キャッシュポリシーで複数の管理者それぞれにより規定された前記有効期間のうち最も短い期間に基づいて設定される、（１）から（７）のいずれか一に記載のキャッシュ管理装置。
【００２１】
（８）のキャッシュ管理装置は、複数の管理者によって管理される有効期間のなかで最短期間に基づいてキャッシュの有効期限を設定するので、最も厳しい条件で安全にデータをキャッシュできる。
【００２２】
（９）  （１）に記載のキャッシュ管理装置が実行する方法であって、前記キャッシュ管理部が、前記第２ドメインにおいて前記第１ドメインから取得したデータのキャッシュを保管することを認証したキャッシュ証明書、及び前記第１ドメインにおいて規定された前記キャッシュの有効期間に関するキャッシュポリシーに基づいて決定された有効期限を前記データのキャッシュに設定し、当該キャッシュを前記キャッシュデータベースに記憶させるステップ、を備える方法。
【００２３】
（９）の方法は、（１）と同様に、国を跨いだデータへのアクセスに対して、国ごとのセキュリティ及びプライバシーに関わるポリシーを満たし、かつ、アクセス効率を向上できる。
【００２４】
（１０）  コンピュータに、（９）に記載の方法のステップを実行させるためのプログラム。
【００２５】
（１０）のプログラムは、国を跨いだデータへのアクセスに対して、国ごとのセキュリティ及びプライバシーに関わるポリシーを満たし、かつ、アクセス効率を向上できるように、コンピュータに機能させることができる。
【発明の効果】
【００２６】
本発明によれば、国を跨いだデータへのアクセスに対して、国ごとのセキュリティ及びプライバシーに関わるポリシーを満たし、かつ、アクセス効率を向上できる。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態に係るキャッシュ管理装置の構成をマルチクラウド環境において示すブロック図である。
【図２】本発明の一実施形態に係るキャッシュＤＢの例を示す図である。
【図３】本発明の一実施形態に係るキャッシュポリシーの例を示す図である。
【図４】本発明の一実施形態に係るマルチクラウド環境におけるアクセスコントローラの処理を示すフローチャートである。
【図５】図４に続くフローチャートである。
【図６】本発明の一実施形態に係るキャッシュ管理装置のキャッシュの追加処理の例を示すフローチャートである。
【図７】本発明の一実施形態に係るキャッシュ管理装置のトークンの追加処理の例を示すフローチャートである。
【図８】本発明の一実施形態に係るキャッシュ管理装置の演算結果の追加処理の例を示すフローチャートである。
【図９】本発明の一実施形態に係るキャッシュ管理装置の取得要求に対する処理の例を示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明の実施形態について、図を参照しながら説明する。
図１は、本発明の一実施形態に係るキャッシュ管理装置１０の構成をマルチクラウド環境において示すブロック図である。
キャッシュの対象となるデータのデータ提供元（例えば、データＤＢ６５）は、第１ドメインに設置されたローカルクラウド６０に設置される。
キャッシュ管理装置１０は、データ提供元（例えば、データＤＢ６５）の第１ドメインと異なる第２ドメインに設置されたグローバルクラウド５０に設置され、キャッシュデータベース（キャッシュＤＢ３１と言う。）と、キャッシュＤＢ３１を管理するキャッシュ管理部１１とを備える。アプリケーションは、第２ドメイン又は第３のドメインに設置されたサーバにより提供される。
【００２９】
ドメインとは、セキュリティ及びプライバシーに関わるポリシーを共有しないそれぞれの地域を言い、例えば、国を言う。
第１ドメイン（例えば、Ａ国）に、データ提供元であるデータベースサーバ（第１ドメインのＤＢサーバと言う。）が設置される。キャッシュ管理装置１０は、第１ドメインと異なる第２ドメイン（例えば、Ｂ国）に設置される。
【００３０】
キャッシュ証明書２１は、第２ドメインにおいて第１ドメインから取得したデータのキャッシュを保管することを認証するものである。すなわち、キャッシュ証明書２１は、キャッシュＤＢ３１（第２ドメイン）上にデータを保管することを許可するＤＢサーバの設置国（第１ドメイン）とデータの種別とを規定する。
具体的には、キャッシュ証明書２１は、キャッシュ証明書２１の発行国、キャッシュ管理装置のＩＰアドレス、ＤＢサーバの設置国、データの種別、及びキャッシュ証明書２１の有効期限を規定する。
【００３１】
グローバルクラウド５０のグローバルクエリコントローラ５１は、アプリケーションからデータを要求された場合、キャッシュ証明書２１を取得し、クエリと共にアクセスコントローラ６２に渡す。グローバルクエリコントローラ５１は、アクセスコントローラ６２によりデータがキャッシュ管理装置１０にキャッシュされると、このキャッシュにアクセスするためのトークンをアクセスコントローラ６２から受け取り、アプリケーションに返す。
【００３２】
データ処理部５２は、アプリケーションにより演算処理（例えば、データの統計処理）が要求された場合に呼び出される外部機能である。データ処理部５２は、演算要求に応じてキャッシュデータに対する演算を行うとキャッシュに対応付けて記憶させ、再度同じ要求があった場合にキャッシュされている演算結果をキャッシュ管理装置１０からアプリケーションに返す。
【００３３】
アクセスコントローラ６２はアプリケーションに対してキャッシュへのアクセス権を付与すると共に、キャッシュ管理装置１０に、ローカルクラウド６０上のデータをキャッシュとして追加する。
【００３４】
ローカルクエリコントローラ６１は、アクセスコントローラ６２により投下されたクエリの内容に応じて、複数のデータベースの中からクエリを振り分けるデータベース（例えば、データＤＢ６５）を決定する。
【００３５】
キャッシュポリシーＤＢ６３は、キャッシュポリシーを記憶する。キャッシュポリシーは、キャッシュの有効期間が第１ドメインにおいて規定されたものである。キャッシュポリシーは、複数の管理者に対応付けてデータの種別ごとにキャッシュの有効期間を規定する。図３は、本発明の一実施形態に係るキャッシュポリシーの例を示す図である。図３に示すように、キャッシュポリシーＤＢ６３は、複数の管理者（管理者１から管理者Ｍ）に対応付けてデータの種別（ＤＢ１からＤＢＮ）ごとにキャッシュの有効期間を規定する。図３の例は、有効期間の単位として「ｍ」が月、「ｄ」が日、「ｈ」が時間であることを表し、例えば、「２ｍ」は、キャッシュの有効期間が２か月であることを表している。キャッシュが提供されない場合には、キャッシュポリシーＤＢ６３は、例えば数値０を記憶する。アクセスコントローラ６２によって、キャッシュポリシーの有効期間に基づいて第２ドメインにキャッシュされるデータの有効期間が決定される。すなわち、アクセスコントローラ６２は、複数の管理者によって規定された有効期間のうち最短期間の値と、キャッシュを追加するときの時刻とを足し合わせて有効期限を算出する。
【００３６】
＜キャッシュの追加要求、トークンの追加要求、演算結果の追加要求処理＞
アクセスコントローラ６２は、グローバルクエリコントローラ５１を経由して、アプリケーションからキャッシュ証明書２１と共にデータを要求するクエリを受信する（キャッシュの追加要求）。
アクセスコントローラ６２は、データの種別と、キャッシュの有効期限、暗号鍵及び暗号化方式とを対応付けて記憶するキーＤＢ６４に基づいて、データの種別について、キャッシュをすでに作成済みであるか否かの判断をする。キャッシュが作成されていない場合、アクセスコントローラ６２は、受信したクエリに基づいてデータＤＢ６５から取得したデータを暗号化し、暗号化したデータを、キャッシュポリシーに基づいて算出されたキャッシュの有効期限、ＤＢサーバの設置国及びデータの種別と共にキャッシュ管理装置１０に渡す。アクセスコントローラ６２は、データの種別と、キャッシュの有効期限、暗号鍵及び暗号化方式とを対応付けてキーＤＢ６４に記憶する。さらに、アクセスコントローラ６２は、キャッシュを復号するための暗号鍵をグローバルクエリコントローラ５１経由でアプリケーションに配送する。
【００３７】
アクセスコントローラ６２は、キャッシュにアクセスするためのトークンをアプリケーションに対して発行する。トークンは、メッセージ認証コードを生成するための共通鍵として生成される。
グローバルクエリコントローラ５１は、アクセスコントローラ６２によりデータがキャッシュ管理装置１０にキャッシュされると、このキャッシュにアクセスするためのトークンをアクセスコントローラ６２から受け取り、アプリケーションに返す。
【００３８】
キャッシュ管理部１１は、ＤＢサーバの設置国及びデータの種別と、キャッシュの有効期限とを、データのキャッシュに対応付けてキャッシュＤＢ３１に記憶させる。
【００３９】
図２は、本発明の一実施形態に係るキャッシュＤＢ３１の例を示す図である。キャッシュＤＢ３１は、図２に示すように、キャッシュと、キャッシュの有効期限、トークン、トークンの有効期限、演算結果ＩＤ、演算結果、ＤＢサーバの設置国、及びデータの種別とを対応付けて記憶する。トークンとトークンの有効期限とは一対に対応付けられている。また、演算結果ＩＤと演算結果とは一対に対応付けられている。
キャッシュは、アプリケーションに提供される暗号鍵によって暗号化されたデータである。
【００４０】
キャッシュ管理部１１は、データを要求するアプリケーションに対して、データのキャッシュを取得することを許可するトークンが発行されると、当該トークン及び当該トークンの有効期限を、キャッシュに対応付けてキャッシュＤＢ３１に記憶させる。
トークンは、アクセスコントローラ６２によりアプリケーションに対し発行されると共に、キャッシュ管理部１１に送信される（例えば、トークンの追加要求のパラメータとして、トークン、トークンの有効期限、ＤＢサーバの設置国、データの種別が送信される）。
キャッシュ管理部１１は、キャッシュがキャッシュＤＢ３１に既に記憶されている（受信したＤＢサーバの設置国及びデータの種別に対応するキャッシュが記憶されている）場合、キャッシュ管理部１１は、該当するキャッシュに、トークン及びトークンの有効期限をセットにして、対応付ける。
【００４１】
キャッシュ管理部１１は、演算結果の追加要求を受信すると、キャッシュを用いた演算結果を、キャッシュと対応付けてキャッシュＤＢ３１に記憶させる。
具体的には、キャッシュ管理部１１は、受信したＤＢサーバの設置国及びデータの種別によりキャッシュＤＢ３１を検索し、検索したキャッシュに対応付けて演算結果情報（例えば、演算結果ＩＤ及び演算結果として統計処理ＩＤ及び統計情報のセット）を記憶させる。
【００４２】
＜アプリケーションによる取得要求に対する処理＞
キャッシュ管理装置１０は、アプリケーションからグローバルクエリコントローラ５１を介してキャッシュ又は演算結果の取得要求を受信し、取得要求の正当性を検証する。
具体的には、キャッシュ管理装置１０は、パラメータとして、ＤＢサーバの設置国、データの種別、タイムスタンプ、メッセージ認証コードを受信する。
キャッシュ管理部１１は、パラメータのＤＢサーバの設置国及びデータの種別を用いて、キャッシュＤＢ３１を検索し、キャッシュに対応付けられているキャッシュの有効期限、トークンの有効期限、及びトークンを取得する。
キャッシュ管理部１１は、取得したキャッシュの有効期限が現在の日時以降であることを判定する。
キャッシュ管理部１１は、取得したトークンの有効期限が現在の日時以降であることを判定する。
【００４３】
キャッシュ管理部１１は、トークンを共通鍵とするメッセージ認証コードにより、キャッシュの取得要求の正当性を検証する。
具体的には、キャッシュ管理部１１は、メッセージ認証コード以外のパラメータを連結して、トークンを鍵とする鍵付きハッシュ関数によりハッシュ値を算出し、算出したハッシュ値と、パラメータのメッセージ認証コードとが同一であることを判定する。
【００４４】
さらに、キャッシュ管理部１１は、パラメータのタイムスタンプ（例えば、アプリケーションからの送信時刻）が、取得要求を受信した日時から一定期間内のものであることを判定する。
【００４５】
キャッシュ管理部１１は、判定により正当性を検証すると、取得要求されたキャッシュをグローバルクエリコントローラ５１経由でアプリケーションに返す。また、キャッシュ管理部１１は、演算結果の取得要求に対し、同様に検証して、演算結果（例えば、統計情報）をグローバルクエリコントローラ５１経由でアプリケーションに返す。
【００４６】
＜キャッシュの管理処理＞
キャッシュ管理部１１は、一定間隔でトークンの有効期限を監視し、有効期限が切れたトークンとキャッシュとの対応付けを解除する。
具体的には、キャッシュ管理部１１は、一定間隔（例えば、１時間ごと）でキャッシュＤＢ３１を検索し、キャッシュに対応付けられたトークンの有効期限を監視し、有効期限が現在の日時以前の場合、キャッシュに対応するトークンを消去する。
【００４７】
キャッシュ管理部１１は、一定間隔でキャッシュの有効期限を監視し、有効期限が切れたキャッシュを削除する。
具体的には、キャッシュ管理部１１は、一定間隔（例えば、１時間ごと）でキャッシュＤＢ３１を検索し、キャッシュに対応付けられたキャッシュの有効期限を監視し、有効期限が現在の日時以前の場合、キャッシュをキャッシュＤＢ３１から削除する。キャッシュ管理部１１は、当該キャッシュと対応付けられている演算結果もすべて削除する。
【００４８】
図４及び図５は、本発明の一実施形態に係るマルチクラウド環境におけるアクセスコントローラ６２の処理を示すフローチャートである。
【００４９】
ステップＳ１０１において、アクセスコントローラ６２は、キャッシュ証明書２１に記載されている内容の正当性を検証する。
【００５０】
ステップＳ１０２において、アクセスコントローラ６２は、キャッシュ証明書２１に記載されているキャッシュ証明書２１の発行国及びデータの種別に基づき、所定のルールに従ってトークンの有効期間を決定する。
【００５１】
ステップＳ１０３において、アクセスコントローラ６２は、トークンを生成する。
【００５２】
ステップＳ１０４において、アクセスコントローラ６２は、キャッシュ証明書２１に記載のデータの種別を用いて、キーＤＢ６４を検索し、キャッシュをすでに作成済みであるか否かを判断する。この判断がＹＥＳの場合、アクセスコントローラ６２は、処理をステップＳ１０５に移す。この判断がＮＯの場合、アクセスコントローラ６２は、処理をステップＳ１０８に移す。
【００５３】
ステップＳ１０５において、アクセスコントローラ６２は、キャッシュの有効期限が期限内か否かを判断する。この判断がＹＥＳの場合、アクセスコントローラ６２は、処理をステップＳ１０６に移す。この判断がＮＯの場合、アクセスコントローラ６２は、処理をステップＳ１０８に移す。
【００５４】
ステップＳ１０６において、アクセスコントローラ６２は、ステップＳ１０３で作成したトークン、ステップＳ１０２で取得したトークンの有効期限、キャッシュ証明書２１に記載のＤＢサーバの設置国及びデータの種別をキャッシュ管理装置１０に送信する。
キャッシュ管理装置１０は、トークンをキャッシュＤＢ３１上にすでに存在するキャッシュと対応付ける。
【００５５】
ステップＳ１０７において、アクセスコントローラ６２は、グローバルクエリコントローラ５１を介してトークン、キーＤＢ６４から取得した暗号鍵、暗号化方式をアプリケーションに返す。その後、アクセスコントローラ６２は、処理を終了する。
【００５６】
ステップＳ１０８において、アクセスコントローラ６２は、クエリパラメータで指定されたクエリを用いて、ローカルクエリコントローラ６１経由でデータをデータＤＢ６５から取得する。
【００５７】
ステップＳ１０９において、アクセスコントローラ６２は、暗号鍵を生成し、ステップＳ１０８で取得したデータを暗号化し、キャッシュを作成する。ただし、暗号化は任意の暗号化方式とする。
【００５８】
ステップＳ１１０において、アクセスコントローラ６２は、キャッシュ証明書２１に記載のデータの種別を用いて、キャッシュポリシーＤＢ６３を検索し、管理者ごとのキャッシュの有効期間のリストを取得する。
【００５９】
ステップＳ１１１において、アクセスコントローラ６２は、キャッシュの有効期間のリストから、キャッシュの有効期限を決定する。アクセスコントローラ６２は、決定方法として、複数の管理者によって規定された有効期間のうち最短期間の値と現在時刻とを足し合わせて有効期限を算出する。
【００６０】
ステップＳ１１２において、アクセスコントローラ６２は、ステップＳ１０３で作成したトークン、ステップＳ１０２で取得したトークンの有効期限、キャッシュ証明書２１に記載のＤＢサーバの設置国、データの種別、ステップＳ１０９で作成したキャッシュ、ステップＳ１１１で決定したキャッシュの有効期限をキャッシュ管理装置１０に送信する。
キャッシュ管理装置１０は、キャッシュをキャッシュＤＢ３１に保管する。
【００６１】
ステップＳ１１３において、アクセスコントローラ６２は、キャッシュ証明書２１に記載のデータの種別、ステップＳ１１１で決定したキャッシュの有効期限、ステップＳ１０９で作成した暗号鍵及び暗号化方式を対応付け、それらの情報をキーＤＢ６４に保管する。
【００６２】
ステップＳ１１４において、アクセスコントローラ６２は、トークン、暗号鍵、暗号化方式をグローバルクエリコントローラ５１経由でアプリケーションに返す。その後、アクセスコントローラ６２は、処理を終了する。
【００６３】
図６は、本発明の一実施形態に係るキャッシュ管理装置１０のキャッシュの追加処理の例を示すフローチャートである。
【００６４】
ステップＳ２０１において、キャッシュ管理部１１は、キャッシュの追加要求として、キャッシュ、キャッシュの有効期限、トークン、トークンの有効期限、ＤＢサーバの設置国、及びデータの種別を受信する。
【００６５】
ステップＳ２０２において、キャッシュ管理部１１は、キャッシュに、キャッシュの有効期限、トークン、トークンの有効期限、ＤＢサーバの設置国、及びデータの種別を対応付けて、キャッシュＤＢ３１に記憶させる。その後、キャッシュ管理部１１は、処理を終了する。
【００６６】
図７は、本発明の一実施形態に係るキャッシュ管理装置１０のトークンの追加処理の例を示すフローチャートである。
【００６７】
ステップＳ２１１において、キャッシュ管理部１１は、トークンの追加要求として、トークン、トークンの有効期限、ＤＢサーバの設置国、及びデータの種別を受信する。
【００６８】
ステップＳ２１２において、キャッシュ管理部１１は、ＤＢサーバの設置国及びデータの種別によりキャッシュＤＢ３１を検索する。
【００６９】
ステップＳ２１３において、キャッシュ管理部１１は、検索したキャッシュに、トークン及びトークンの有効期限を対応付けて追加し、キャッシュＤＢ３１に記憶させる。その後、キャッシュ管理部１１は、処理を終了する。
【００７０】
図８は、本発明の一実施形態に係るキャッシュ管理装置１０の演算結果の追加処理の例を示すフローチャートである。
【００７１】
ステップＳ２２１において、キャッシュ管理部１１は、演算処理の追加要求として、演算結果情報、ＤＢサーバの設置国、及びデータの種別を受信する。
【００７２】
ステップＳ２２２において、キャッシュ管理部１１は、ＤＢサーバの設置国及びデータの種別によりキャッシュＤＢ３１を検索する。
【００７３】
ステップＳ２２３において、キャッシュ管理部１１は、検索したキャッシュに、演算結果情報（例えば、演算結果ＩＤ及び演算結果）を対応付けて追加し、キャッシュＤＢ３１に記憶させる。その後、キャッシュ管理部１１は、処理を終了する。
【００７４】
図９は、本発明の一実施形態に係るキャッシュ管理装置１０の取得要求に対する処理の例を示すフローチャートである。
【００７５】
ステップＳ２３１において、キャッシュ管理部１１は、キャッシュ又は演算結果の取得要求を受信する。
【００７６】
ステップＳ２３２において、キャッシュ管理部１１は、受信した時刻がキャッシュの有効期限より早い時刻か否かを判断し、この判断がＮＯの場合に処理をステップＳ２３７に移す。
【００７７】
ステップＳ２３３において、キャッシュ管理部１１は、受信した時刻がトークンの有効期限より早い時刻か否かを判断し、この判断がＮＯの場合に処理をステップＳ２３７に移す。
【００７８】
ステップＳ２３４において、キャッシュ管理部１１は、メッセージ認証コード以外のパラメータとステップＳ２３１で取得したトークンとを用いてパラメータのメッセージ認証コードが正当か否かを判断し、この判断がＮＯの場合に処理をステップＳ２３７に移す。
【００７９】
ステップＳ２３５において、キャッシュ管理部１１は、パラメータのタイムスタンプを用いて、リクエストの受信時刻がタイムスタンプから一定期間内か否かを判断し、この判断がＮＯの場合に処理をステップＳ２３７に移す。
【００８０】
ステップＳ２３６において、キャッシュ管理部１１は、取得要求されたキャッシュ又は演算結果を返す。その後、キャッシュ管理部１１は、処理を終了する。
【００８１】
ステップＳ２３７において、キャッシュ管理部１１は、取得要求が正常でないことを表すエラーを返す。その後、キャッシュ管理部１１は、処理を終了する。
【００８２】
本実施形態によれば、キャッシュ管理装置１０は、第２ドメインにおいて取得したキャッシュ証明書２１、及び第１ドメインにおいて規定されたキャッシュポリシーに基づいて決定された有効期限を、データのキャッシュに設定し、当該キャッシュをキャッシュデータベースに記憶させる。すなわち、キャッシュ管理装置１０は、第１ドメインにおける規定であるキャッシュポリシーと、第２ドメインにおける規定であるキャッシュ証明書２１とに基づいてデータをキャッシュできる。したがって、キャッシュ管理装置１０は、国を跨いだデータへのアクセスに対して、国ごとのセキュリティ及びプライバシーに関わるポリシーを満たし、かつ、アクセス効率を向上できる。
さらに、キャッシュ管理装置１０は、キャッシュの取得を許可するトークンの有効期限をキャッシュに対応付けて記憶するので、不正なアプリケーションによるキャッシュの利用を防止できる。
さらに、キャッシュ管理装置１０は、大量のデータに対して加工されたデータも記憶するので、さらなる高速化を図ることができる。
さらに、キャッシュ管理装置１０は、キャッシュの暗号化を行って第三者の標的となることを防止し、暗号鍵を提供したアプリケーションのみにキャッシュを復号して利用することを許可できる。
さらに、キャッシュ管理装置１０は、共通鍵によりキャッシュの取得要求の正当性を検証するので、偽装や改竄等を防止して安全性を向上できる。
さらに、キャッシュ管理装置１０は、有効期限が切れたトークンとキャッシュとの対応付けを解除するので、不要となったデータを適時に削除して、キャッシュへのアクセスに対する処理を効率化できる。
さらに、キャッシュ管理装置１０は、有効期限が切れたキャッシュを削除するので、更新前の古いデータへのアクセスを防ぐと共に、ポリシーに反したキャッシュの保持を防止できる。
さらに、キャッシュ管理装置１０は、複数の管理者によって管理される有効期間のなかで最短期間に基づいてキャッシュの有効期限を設定するので、最も厳しい条件で安全にデータをキャッシュできる。
キャッシュ管理装置１０は、ＫａａＳ（Ｋｎｏｗｌｅｄｇｅ−ａｓ−ａ−Ｓｅｒｖｉｃｅ）と呼ばれる効率的な知識共有・活用を実現するプラットフォームを発展させ、複数のローカルクラウド６０を有機的に結合したグローバルクラウド５０上において、例えば、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）デバイスから収集されるデータへのアクセスの効率の向上を可能とする。
【００８３】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【００８４】
キャッシュ管理装置１０による一連の処理は、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。また、当該プログラムは、コンピュータ読み取り可能な記録媒体（例えば、ＣＤ−ＲＯＭのようなリムーバブルメディア等）に記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【符号の説明】
【００８５】
１０    キャッシュ管理装置
１１    キャッシュ管理部
２１    キャッシュ証明書
３１    キャッシュＤＢ
５０    グローバルクラウド
５１    グローバルクエリコントローラ
５２    データ処理部
６０    ローカルクラウド
６１    ローカルクエリコントローラ
６２    アクセスコントローラ
６３    キャッシュポリシーＤＢ
６４    キーＤＢ
６５    データＤＢ
【図１】
0006618267.tif 000002
【図２】
0006618267.tif 000003
【図３】
0006618267.tif 000004
【図４】
0006618267.tif 000005
【図５】
0006618267.tif 000006
【図６】
0006618267.tif 000007
【図７】
0006618267.tif 000008
【図８】
0006618267.tif 000009
【図９】
0006618267.tif 000010