(57)【要約】【課題】マスタサーバ障害時の可用性を実現しつつ、ネットワーク障害時のセキュリティ違反を防止することを目的とする。【解決手段】マスタサーバ１００は利用権限情報のマスタを管理し、キャッシュサーバ３００は利用権限情報の複製をキャッシュとして管理している。利用権限情報が更新された場合、マスタサーバ１００はキャッシュサーバ３００に更新後の利用権限情報を通知する。キャッシュサーバ３００は、利用者端末４００からライセンス要求を受けた場合、マスタサーバ１００と監視応答装置２００とに監視要求する。マスタサーバ１００と監視応答装置２００との少なくともいずれかから応答が有った場合、キャッシュサーバ３００は、利用権限情報のキャッシュを用いてライセンスを発行する。マスタサーバ１００と監視応答装置２００とのいずれからも応答が無かった場合、キャッシュサーバ３００は、ライセンスの発行を拒否する。【選択図】図１
2010129036.tif 000002
【特許請求の範囲】
【請求項１】
利用者端末装置で利用される利用データの利用権限を示す利用権限情報を管理する利用権限情報管理元装置からネットワークを介して前記利用権限情報を通信装置を用いて取得する利用権限情報取得部と、
前記利用権限情報取得部により取得された利用権限情報を記憶媒体を用いて記憶する利用権限取得情報記憶部と、
前記利用権限情報を含んで前記利用データの利用許可を示す利用許可データを要求する利用許可要求が前記利用者端末装置から有る場合、前記利用権限情報管理元装置との通信可否をＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて判定すると共に前記利用権限情報管理元装置と通信不可である場合に通信不可の原因が前記ネットワークの障害と前記利用権限情報管理元装置の障害とのいずれであるかＣＰＵを用いて判定する障害監視判定部と、
前記障害監視判定部により前記利用権限情報管理元装置と通信可であると判定された場合および前記障害監視判定部により通信不可の原因が前記利用権限情報管理元装置の障害であると判定された場合、前記利用権限取得情報記憶部に記憶されている利用権限情報を含めて前記利用許可データを前記利用者端末装置に通信装置を用いて応答し、前記障害監視判定部により通信不可の原因が前記ネットワークの障害であると判定された場合、前記利用データの利用不許可を前記利用者端末装置に通信装置を用いて応答する利用許可応答部と
を備えたことを特徴とする利用許可装置。
【請求項２】
前記障害監視判定部は、前記ネットワークに接続する前記利用権限情報管理元装置と前記ネットワークに接続する通信端末装置とに前記ネットワークを介して応答要求を送信し、前記利用権限情報管理元装置から応答が有る場合に前記利用権限情報管理元装置と通信可であると判定し、前記利用権限情報管理元装置から応答が無くて前記通信端末装置から応答が有る場合に通信不可の原因が前記利用権限情報管理元装置の障害であると判定し、前記利用権限情報管理元装置と前記通信端末装置との両方から応答が無い場合に通信負荷の原因が前記ネットワークの障害であると判定する
ことを特徴とする請求項１記載の利用許可装置。
【請求項３】
前記障害監視判定部は、前記利用許可要求が有って前記利用権限取得情報記憶部に前記利用権限情報が記憶されている場合に前記判定を行う
ことを特徴とする請求項１〜請求項２いずれかに記載の利用許可装置。
【請求項４】
前記利用権限情報取得部は、前記利用許可要求が有って前記利用権限取得情報記憶部に前記利用権限情報が記憶されていない場合、前記利用権限情報管理元装置からの前記利用権限情報の取得を行い、
前記利用許可応答部は、前記利用権限情報取得部が前記利用権限情報を取得できた場合、前記利用権限情報取得部により取得された前記利用権限情報を含めて前記利用許可データを応答し、前記利用権限情報取得部が前記利用権限情報を取得できなかった場合、前記利用データの利用不許可を応答する
ことを特徴とする請求項３記載の利用許可装置。
【請求項５】
前記利用権限情報は、複数の利用権限を示し、
前記利用許可応答部は、前記障害監視判定部により通信不可の原因が前記ネットワークの障害であると判定された場合、前記複数の利用権限から少なくともいずれかの利用権限を除いた利用権限情報を含めて前記利用許可データを応答する
ことを特徴とする請求項１〜請求項４いずれかに記載の利用許可装置。
【請求項６】
前記利用権限情報は、ネットワーク障害時用の利用権限と非ネットワーク障害時用の利用権限とを示し、
前記利用許可応答部は、前記障害監視判定部により前記利用権限情報管理元装置と通信可であると判定された場合および前記障害監視判定部により通信不可の原因が前記利用権限情報管理元装置の障害であると判定された場合、前記非ネットワーク障害時用の利用権限を示す利用権限情報を含めて前記利用許可データを応答し、前記障害監視判定部により通信不可の原因が前記ネットワークの障害であると判定された場合、前記ネットワーク障害時用の利用権限を示す利用権限情報を含めて前記利用許可データを応答する
ことを特徴とする請求項１〜請求項４いずれかに記載の利用許可装置。
【請求項７】
前記利用許可応答部は、前記障害監視判定部により通信不可の原因が前記ネットワークの障害であると判定された場合、前記利用許可データを前記利用者端末装置に応答すると共に前記利用者端末装置に前記利用データの操作履歴を要求する
ことを特徴とする請求項１〜請求項６いずれかに記載の利用許可装置。
【請求項８】
前記利用許可装置は、
前記利用者端末装置から前記利用データの操作履歴を通信装置を用いて取得し、取得した操作履歴を特定の装置に出力する操作履歴管理部
を備えたことを特徴とする請求項７記載の利用許可装置。
【請求項９】
請求項１〜請求項８いずれかに記載の利用許可装置と、
前記利用権限情報管理元装置と
を有することを特徴とする利用権管理システム。
【請求項１０】
利用権限情報取得部が、利用者端末装置で利用される利用データの利用権限を示す利用権限情報を管理する利用権限情報管理元装置からネットワークを介して前記利用権限情報を通信装置を用いて取得する利用権限情報取得処理を行い、
利用権限取得情報記憶部が、前記利用権限情報取得部により取得された利用権限情報を記憶媒体を用いて記憶する利用権限取得情報記憶処理を行い、
障害監視判定部が、前記利用権限情報を含んで前記利用データの利用許可を示す利用許可データを要求する利用許可要求が前記利用者端末装置から有る場合、前記利用権限情報管理元装置との通信可否をＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて判定すると共に前記利用権限情報管理元装置と通信不可である場合に通信不可の原因が前記ネットワークの障害と前記利用権限情報管理元装置の障害とのいずれであるかＣＰＵを用いて判定する障害監視判定処理を行い、
利用許可応答部が、前記障害監視判定部により前記利用権限情報管理元装置と通信可であると判定された場合および前記障害監視判定部により通信不可の原因が前記利用権限情報管理元装置の障害であると判定された場合、前記利用権限取得情報記憶部に記憶されている利用権限情報を含めて前記利用許可データを前記利用者端末装置に通信装置を用いて応答し、前記障害監視判定部により通信不可の原因が前記ネットワークの障害であると判定された場合、前記利用データの利用不許可を前記利用者端末装置に通信装置を用いて応答する利用許可応答処理を行う
ことを特徴とする利用許可装置の利用許可方法。
【請求項１１】
請求項１０記載の利用許可方法をコンピュータに実行させる利用許可プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、企業機密情報の漏洩対策に用いられ、システムの可用性向上および負荷分散を実現させる利用許可装置、利用権管理システム、利用許可装置の利用許可方法および利用許可プログラムに関するものである。
【背景技術】
【０００２】
企業機密情報の漏洩対策として、機密電子データを暗号化し、その利用可否を制御する利用権管理システムの適用が進みつつある。その適用範囲は、個人情報等の重要機密から企業機密全般に拡がりつつある。これに伴って、システムの可用性向上・負荷分散の実現が要求されている。
【０００３】
これに対して、キャッシュサーバを用いて負荷分散および可用性向上を実現する技術（特許文献１）やキャッシュの最新性を維持する技術（特許文献２）などが開示されている。これらのキャッシュ技術は、利用権管理システムにより制御されるコンテンツ鍵（暗号鍵）及び利用権に対しても適用可能である。
【特許文献１】特開２００２−１３２５６８号公報
【特許文献２】特開２００２−２１５４４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、可用性とセキュリティを両立できないという課題があった。
【０００５】
従来のキャッシュサーバは、ユーザからのデータ要求時にマスタサーバへ利用権の更新有無の確認を行う。マスタサーバ障害またはネットワーク障害により更新確認に失敗した場合の対応方法として、データ要求を拒否する方法とキャッシュデータを応答する方法との２通りの方法がある。
前者の方法は、マスタサーバ障害時にデータ要求を拒否するため、マスタサーバ障害時の可用性を実現することができない。
後者の方法は、マスタサーバ障害時にキャッシュデータを応答するため、マスタサーバ障害時の可用性を実現できる。しかし、ネットワーク障害時にマスタサーバが管理しているマスタデータとキャッシュサーバが応答するキャッシュデータとの間で利用権の不一致が生じ、セキュリティ違反につながる可能性がある。
【０００６】
この発明は、例えば、上記のような課題を解決するためになされたもので、マスタサーバ障害時の可用性を実現しつつ、ネットワーク障害時のセキュリティ違反を防止することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の利用許可装置は、利用者端末装置で利用される利用データの利用権限を示す利用権限情報を管理する利用権限情報管理元装置からネットワークを介して前記利用権限情報を通信装置を用いて取得する利用権限情報取得部と、前記利用権限情報取得部により取得された利用権限情報を記憶媒体を用いて記憶する利用権限取得情報記憶部と、前記利用権限情報を含んで前記利用データの利用許可を示す利用許可データを要求する利用許可要求が前記利用者端末装置から有る場合、前記利用権限情報管理元装置との通信可否をＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて判定すると共に前記利用権限情報管理元装置と通信不可である場合に通信不可の原因が前記ネットワークの障害と前記利用権限情報管理元装置の障害とのいずれであるかＣＰＵを用いて判定する障害監視判定部と、前記障害監視判定部により前記利用権限情報管理元装置と通信可であると判定された場合および前記障害監視判定部により通信不可の原因が前記利用権限情報管理元装置の障害であると判定された場合、前記利用権限取得情報記憶部に記憶されている利用権限情報を含めて前記利用許可データを前記利用者端末装置に通信装置を用いて応答し、前記障害監視判定部により通信不可の原因が前記ネットワークの障害であると判定された場合、前記利用データの利用不許可を前記利用者端末装置に通信装置を用いて応答する利用許可応答部とを備える。
【発明の効果】
【０００８】
本発明によれば、例えば、マスタサーバ（利用権限情報管理元装置）障害時の可用性を実現しつつ、ネットワーク障害時のセキュリティ違反を防止することができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
利用者端末装置で利用されるコンテンツ（利用データ）の利用権限をマスタサーバ装置（利用権限情報管理元装置）とキャッシュサーバ装置（利用許可装置）とで分散管理する分散型の利用権管理システムについて説明する。
【００１０】
図１は、実施の形態１における分散型利用権管理システム９００の装置構成図である。
実施の形態１における分散型利用権管理システム９００の装置構成について、図１に基づいて以下に説明する。
【００１１】
分散型利用権管理システム９００は、マスタサーバ装置（以下、「マスタサーバ１００」という）、監視応答装置２００、キャッシュサーバ装置（以下、「キャッシュサーバ３００」という）、利用者端末装置（以下、「利用者端末４００」という）および管理者端末装置（以下、「管理者端末４１０」という）を備える。
【００１２】
マスタサーバ１００、監視応答装置２００、キャッシュサーバ３００、利用者端末４００および管理者端末４１０はそれぞれ、ネットワークを介して通信接続している。以下、マスタサーバ１００および監視応答装置２００がキャッシュサーバ３００、利用者端末４００および管理者端末４１０との通信接続に用いるネットワークを「ネットワーク４２０」と記す。また、マスタサーバ１００と監視応答装置２００とは、互いに近いネットワークに接続している。近いネットワークとは特定の装置（または、特定のネットワーク）までの通信ルート（経由するルータ）が一致または類似するネットワークを意味し、マスタサーバ１００と監視応答装置２００とはネットワーク４２０までの通信ルートが一致または類似する。ネットワークは、インターネット、ＬＡＮ（ローカルエリアネットワーク）またはその他の通信網のいずれでも構わない。
例えば、マスタサーバ１００、監視応答装置２００、キャッシュサーバ３００、利用者端末４００および管理者端末４１０はインターネットに接続し、マスタサーバ１００および監視応答装置２００はＬＡＮａ（ローカルエリアネットワーク）（図示省略）に接続し、キャッシュサーバ３００および利用者端末４００はＬＡＮｂ（図示省略）に接続している。
【００１３】
マスタサーバ１００（利用権限情報管理元装置）は、利用者端末４００で利用される利用データの利用権限を示す利用権限情報のマスタ（原本データ、複製元データ）を管理し、利用権限情報を含んで利用データの利用許可を示す利用許可データを利用者端末４００からの要求に応じて提供する。
また、マスタサーバ１００は、キャッシュサーバ３００から通信障害の有無を監視するための監視要求（応答要求）を受けた場合、キャッシュサーバ３００に応答する。
以下、利用データを「コンテンツ」といい、利用許可データを「ライセンス」という。
【００１４】
キャッシュサーバ３００（利用許可装置）は、マスタサーバ１００により管理されるマスタから複製された利用権限情報をキャッシュ（複製データ）として管理し、利用者端末４００からの要求に応じてライセンスを発行する。キャッシュサーバ３００は、ライセンスを発行する前にマスタサーバ１００と監視応答装置２００とに監視要求し、応答結果に基づいてライセンスの発行可否を決定する。
【００１５】
利用者端末４００は、利用者に操作され、利用者からコンテンツの利用を指定された場合にキャッシュサーバ３００またはマスタサーバ１００にライセンスの発行を要求する。ライセンスが発行された場合、利用者端末４００は、発行されたライセンスに示される利用権限の範囲内で利用者にコンテンツを利用させる。
【００１６】
監視応答装置２００（通信端末装置）は、キャッシュサーバ３００から監視要求を受けた場合、キャッシュサーバ３００に応答する。
【００１７】
管理者端末４１０は、管理者に操作され、管理者の命令に応じてマスタサーバ１００にアクセスすると共にマスタサーバ１００により管理されている利用権限情報のマスタを更新する。
【００１８】
図２は、実施の形態１におけるハードウェア資源の一例を示す図である。
図１において、マスタサーバ１００、監視応答装置２００、キャッシュサーバ３００、利用者端末４００および管理者端末４１０は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤＤ９０５（コンパクトディスク装置）、プリンタ９０６、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶機器、記憶装置あるいは記憶部の一例である。また、入力データが記憶されている記憶機器は入力機器、入力装置あるいは入力部の一例であり、出力データが記憶される記憶機器は出力機器、出力装置あるいは出力部の一例である。
通信ボード９１５は、入出力機器、入出力装置あるいは入出力部の一例である。
【００１９】
通信ボード９１５は、有線または無線で、ＬＡＮ、インターネット、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）、電話回線などの通信網に接続されている。
【００２０】
磁気ディスク装置９２０には、ＯＳ９２１（オペレーティングシステム）、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、ＯＳ９２１により実行される。
【００２１】
上記プログラム群９２３には、実施の形態において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００２２】
ファイル群９２４には、実施の形態において、「〜部」の機能を実行した際の「〜の判定結果」、「〜の計算結果」、「〜の処理結果」などの結果データ、「〜部」の機能を実行するプログラム間で受け渡しするデータ、その他の情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。これらのＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、実施の形態において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、磁気ディスク装置９２０の磁気ディスク、その他の記録媒体に記録される。また、データや信号値は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００２３】
また、実施の形態において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスクやその他の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものである。あるいは、「〜部」の手順や方法をコンピュータに実行させるものである。
【００２４】
図３は、実施の形態１における分散型利用権管理システム９００のコンテンツ利用方法および利用権管理方法を示すフローチャートである。
実施の形態１における分散型利用権管理システム９００のコンテンツ利用方法および利用権管理方法について、図３に基づいて以下に説明する。
【００２５】
まず、概要を説明する。
利用者端末４００はキャッシュサーバ３００にコンテンツのライセンス（利用権［利用権限情報］およびコンテンツ鍵を含む利用許可データ）を要求する（Ｓ１１０）。
利用者端末４００とキャッシュサーバ３００との間で通信が可能な状態である場合（Ｓ１１１）、キャッシュサーバ３００はキャッシュの有無およびマスタサーバ１００との通信可否に応じて、利用者端末４００に応答（ライセンス発行ｏｒライセンス無発行）する（Ｓ１１２）。
利用者端末４００とキャッシュサーバ３００との間で通信が可能な状態でない場合（Ｓ１１１）、利用者端末４００はマスタサーバ１００にコンテンツのライセンスを要求する（Ｓ１２０）。
利用者端末４００とマスタサーバ１００との間で通信が可能な状態である場合（Ｓ１２１）、マスタサーバ１００は利用者端末４００に応答（ライセンス発行）する（Ｓ１２２）。
ライセンスが発行された場合（Ｓ１３０）、利用者端末４００はライセンスに基づいてコンテンツを操作する（Ｓ１３１）。
また、管理者端末４１０がマスタサーバ１００で管理されている利用権を更新した場合（Ｓ１４０）、マスタサーバ１００は利用権の更新をキャッシュサーバ３００に通知し（Ｓ１４１）、キャッシュサーバ３００は更新後の利用権を取得して記憶する（Ｓ１４２）。
【００２６】
次に、各処理（Ｓ１１０〜Ｓ１４２）の詳細を説明する。
【００２７】
＜Ｓ１１０＞
利用者端末４００は、利用者からコンテンツの利用を指定された場合、キャッシュサーバ３００にコンテンツのライセンスを要求するライセンス要求を送信する。
コンテンツは、許可無く利用できないように暗号化されており、コンテンツ鍵を用いて復号される。コンテンツは、利用者端末４００の記憶装置（図示省略）に予め記憶されているものとする。
コンテンツ鍵は、コンテンツの復号に用いられるデータである。
ライセンスには、利用権（利用権限情報）およびコンテンツ鍵が含まれる。
【００２８】
＜Ｓ１１１＞
Ｓ１１０の後、利用者端末４００とキャッシュサーバ３００との間で通信が可能な状態か否かに応じて、以後の動作は異なる。
利用者端末４００とキャッシュサーバ３００との間で通信が可能な状態とは、キャッシュサーバ３００に障害が発生してなく、且つ利用者端末４００とキャッシュサーバ３００とを接続するネットワークに障害が発生してない状態である。
利用者端末４００とキャッシュサーバ３００との間で通信が可能な状態である場合（ＹＥＳ）、処理はＳ１１２に進み、利用者端末４００とキャッシュサーバ３００との間で通信が可能な状態でない場合（ＮＯ）、処理はＳ１２０に進む。
【００２９】
＜Ｓ１１２：ライセンス発行処理＞
Ｓ１１１において利用者端末４００とキャッシュサーバ３００との間で通信が可能な状態である場合（ＹＥＳ）、キャッシュサーバ３００は、キャッシュの有無およびマスタサーバ１００との通信可否に応じて、利用者端末４００のライセンス要求に応答する。
応答の種類には、「ライセンス発行」と「ライセンス無発行」とがある。「ライセンス発行」はコンテンツを使用可能にするためのライセンスの提供（送信）を意味し、「ライセンス無発行」はコンテンツの使用の不許可を意味する。
ライセンス発行処理（Ｓ１１２）の詳細について後述する。
Ｓ１１２の後、処理はＳ１３０に進む。
【００３０】
＜Ｓ１２０＞
Ｓ１１１において利用者端末４００とキャッシュサーバ３００との間で通信が可能な状態でない場合（ＮＯ）、利用者端末４００は、マスタサーバ１００にコンテンツのライセンスを要求するライセンス要求を送信する。
【００３１】
＜Ｓ１２１＞
Ｓ１２０の後、利用者端末４００とマスタサーバ１００との間で通信が可能な状態か否かに応じて、以後の動作は異なる。
利用者端末４００とマスタサーバ１００との間で通信が可能な状態とは、マスタサーバ１００に障害が発生してなく、且つ利用者端末４００とマスタサーバ１００とを接続するネットワーク４２０に障害が発生してない状態である。
利用者端末４００とマスタサーバ１００との間で通信が可能な状態である場合（ＹＥＳ）、処理はＳ１２２に進む。
利用者端末４００とマスタサーバ１００との間で通信が可能な状態でない場合（ＮＯ）、処理は終了する。この場合、利用者端末４００は、ライセンスを取得しておらず、コンテンツを復号して使用することができない。利用者端末４００は、コンテンツを利用できないことを表示装置９０１に表示して利用者に通知する。
【００３２】
＜Ｓ１２２＞
Ｓ１２１において利用者端末４００とマスタサーバ１００との間で通信が可能な状態である場合（ＹＥＳ）、マスタサーバ１００は、ライセンスを発行して利用者端末４００のライセンス要求に応答する。
Ｓ１２２の後、処理はＳ１３０に進む。
【００３３】
＜Ｓ１３０＞
Ｓ１１２においてキャッシュサーバ３００が利用者端末４００のライセンス要求に応答した後およびＳ１２２においてマスタサーバ１００が利用者端末４００のライセンス要求に応答した後、応答結果に応じて、以後の動作が異なる。
応答結果としてライセンスが発行された場合（ＹＥＳ）、処理はＳ１３１に進む。
応答結果としてライセンスが発行されなかった場合（ＮＯ）、処理は終了する。この場合、利用者端末４００は、ライセンスを取得しておらず、コンテンツを復号して使用することができない。利用者端末４００は、コンテンツを利用できないことを表示装置９０１に表示して利用者に通知する。
【００３４】
＜Ｓ１３１＞
Ｓ１３０においてライセンスが発行された場合（ＹＥＳ）、利用者端末４００は、ライセンスに含まれるコンテンツ鍵でコンテンツを復号し、ライセンスに示される利用権限の範囲内で利用者にコンテンツを利用させる。
例えば、コンテンツの利用とは、閲覧、編集（変更、追加、削除）、印刷、複製である。
【００３５】
＜Ｓ１４０＞
管理者端末４１０は、管理者から利用権の更新を命令された場合、マスタサーバ１００に利用権の更新を要求する。要求を受けたマスタサーバ１００は、管理している利用権（利用権限情報）のマスタを更新する。
Ｓ１４０の後、処理はＳ１４１に進む。
【００３６】
＜Ｓ１４１＞
Ｓ１４０において利用権のマスタを更新した後、マスタサーバ１００は、利用権のマスタを更新したことを通知する利用権更新通知をキャッシュサーバ３００に送信する。
Ｓ１４１の後、処理はＳ１４２に進む。
【００３７】
＜Ｓ１４２：キャッシュ更新処理＞
Ｓ１４１において利用権更新通知を受けた後、キャッシュサーバ３００は、マスタサーバ１００から更新後の利用権（最新の利用権）を取得し、管理している利用権のキャッシュをマスタサーバ１００から取得した更新後の利用権に更新する。更新された利用権のキャッシュは最新の利用権を示し、マスタサーバ１００で管理される利用権のマスタとキャッシュサーバ３００で管理される利用権のキャッシュとは一致する。
但し、ネットワーク４２０に障害が発生している場合、キャッシュサーバ３００は、マスタサーバ１００から通知を受けることができず、利用権のキャッシュを最新の状態にすることができない。
キャッシュ更新処理（Ｓ１４２）の詳細について後述する。
Ｓ１４２の後、処理は終了する。
【００３８】
Ｓ１１１において利用者端末４００とキャッシュサーバ３００との間で通信ができない状態であっても利用者端末４００がライセンスの要求先をマスタサーバ１００に切り替えることにより、分散型利用権管理システム９００は、コンテンツ利用の可用性を向上させる。
【００３９】
ネットワーク４２０に障害が発生していない場合、Ｓ１４０〜Ｓ１４２においてマスタサーバ１００で管理される利用権のマスタとキャッシュサーバ３００で管理される利用権のキャッシュとが一致することにより、分散型利用権管理システム９００は、マスタとキャッシュとの整合性を確保し、セキュリティを守る。例えば、マスタの更新により利用する権限を失った利用者にコンテンツが利用される、ということを防ぐことができる。また、マスタサーバ１００に障害が発生している場合、マスタサーバ１００で管理される利用権のマスタは更新されないため、マスタとキャッシュとの整合性は確保される。
【００４０】
Ｓ１１２においてマスタサーバ１００との通信可否に応じてキャッシュサーバ３００がライセンスの発行を決定することにより、分散型利用権管理システム９００は、マスタサーバ１００に障害が発生している場合のコンテンツ利用の可用性とネットワーク４２０に障害が発生している場合のセキュリティ性を向上させる。詳細については後述する。
【００４１】
図４は、実施の形態１における分散型利用権管理システム９００の機能構成図である。
実施の形態１におけるマスタサーバ１００、監視応答装置２００、キャッシュサーバ３００および利用者端末４００の機能構成について、図４に基づいて以下に説明する。
【００４２】
キャッシュサーバ３００は、ライセンス代理発行部３１０、キャッシュ取得部３２０、キャッシュ更新部３３０、障害監視判定部３４０、利用権キャッシュ格納部３９０およびコンテンツ鍵キャッシュ格納部３９１を備える。
【００４３】
キャッシュ取得部３２０（利用権限情報取得部）は、利用者端末４００で利用されるコンテンツの利用権限を示す利用権限情報を管理するマスタサーバ１００からネットワーク４２０を介して利用権限情報を通信装置を用いて取得する。キャッシュ取得部３２０は、利用権限情報と共にコンテンツ鍵をマスタサーバ１００から取得する。
【００４４】
利用権キャッシュ格納部３９０（利用権限取得情報記憶部）は、キャッシュ取得部３２０により取得された利用権限情報を記憶媒体を用いて記憶する。
【００４５】
障害監視判定部３４０（障害監視判定部）は、利用権限情報を含んでコンテンツの利用許可を示すライセンスを要求するライセンス要求が利用者端末４００から有る場合、マスタサーバ１００との通信可否をＣＰＵを用いて判定する。さらに、障害監視判定部３４０は、マスタサーバ１００と通信不可である場合、通信不可の原因がネットワーク４２０の障害とマスタサーバ１００の障害とのいずれであるかＣＰＵを用いて判定する。
具体的に、障害監視判定部３４０は、ネットワーク４２０に接続するマスタサーバ１００とネットワーク４２０に接続する監視応答装置２００とにネットワーク４２０を介して監視要求を送信して上記の判定を行う。障害監視判定部３４０は、マスタサーバ１００から応答が有る場合にマスタサーバ１００と通信可であると判定し、マスタサーバ１００から応答が無くて監視応答装置２００から応答が有る場合に通信不可の原因がマスタサーバ１００の障害であると判定し、マスタサーバ１００と監視応答装置２００との両方から応答が無い場合に通信不可の原因がネットワーク４２０の障害であると判定する。
障害監視判定部３４０は、ライセンス要求が有って利用権キャッシュ格納部３９０に利用権限情報が記憶されている場合に上記の判定を行う。
【００４６】
ライセンス代理発行部３１０（利用許可応答部）は、障害監視判定部３４０によりマスタサーバ１００と通信可であると判定された場合および障害監視判定部３４０により通信不可の原因がマスタサーバ１００の障害であると判定された場合、利用権キャッシュ格納部３９０に記憶されている利用権限情報を含めてライセンスを利用者端末４００に通信装置を用いて応答する。さらに、ライセンス代理発行部３１０は、障害監視判定部３４０により通信不可の原因がネットワーク４２０の障害であると判定された場合、コンテンツの利用不許可を利用者端末４００に通信装置を用いて応答する。
【００４７】
キャッシュ更新部３３０は、マスタサーバ１００から利用権限情報の更新通知がある場合、キャッシュ取得部３２０にマスタサーバ１００から更新後の利用権限情報を取得させる。
【００４８】
コンテンツ鍵キャッシュ格納部３９１は、キャッシュ取得部３２０により取得されたコンテンツ鍵を記憶媒体を用いて記憶する。
【００４９】
マスタサーバ１００は、ライセンス発行部１１０、ライセンス情報複製部１２０、利用権更新部１３０、監視応答部１４０、利用権マスタ格納部１９０およびコンテンツ鍵マスタ格納部１９１を備える。
【００５０】
利用権マスタ格納部１９０は、利用権限情報を記憶媒体を用いて記憶する。
【００５１】
コンテンツ鍵マスタ格納部１９１は、コンテンツ鍵を記憶媒体を用いて記憶する。
【００５２】
ライセンス発行部１１０は、ライセンス要求が利用者端末４００から有る場合、利用権マスタ格納部１９０に記憶されている利用権限情報を含めてライセンスを利用者端末４００に通信装置を用いて応答する。
【００５３】
ライセンス情報複製部１２０は、利用権マスタ格納部１９０に記憶されている利用権限情報を複製してキャッシュサーバ３００に通信装置を用いて送信する。ライセンス情報複製部１２０は、利用権限情報と共にコンテンツ鍵マスタ格納部１９１に記憶されているコンテンツ鍵を複製してキャッシュサーバ３００に送信する。
【００５４】
利用権更新部１３０は、利用権限情報の更新を要求する利用権更新要求が管理者端末４１０から有る場合、利用権マスタ格納部１９０に記憶されている利用権限情報を利用権更新要求に基づいて更新する。
【００５５】
監視応答部１４０は、通信の応答を要求する監視要求がキャッシュサーバ３００から有る場合、通信装置を用いてキャッシュサーバ３００に通信の応答をする。
【００５６】
監視応答装置２００は、監視応答部２１０を備える。
【００５７】
監視応答部２１０は、監視要求がキャッシュサーバ３００から有る場合、通信装置を用いてキャッシュサーバ３００に通信の応答をする。
【００５８】
利用者端末４００は、コンテンツ操作部４０１および利用者端末記憶部４０９を備える。
【００５９】
コンテンツ操作部４０１は、マスタサーバ１００またはキャッシュサーバ３００から応答されたライセンスに示される利用権限の範囲内で、利用者の指定に従ってコンテンツをＣＰＵを用いて操作する。
【００６０】
利用者端末記憶部４０９は、コンテンツを記憶媒体を用いて記憶する。
【００６１】
図５は、実施の形態１における利用権マスタテーブル１９０ａおよび利用権キャッシュテーブル３９０ａを示す図である。
利用権マスタ格納部１９０および利用権キャッシュ格納部３９０に記憶される利用権限情報について、図５に基づいて以下に説明する。
【００６２】
マスタサーバ１００の利用権マスタ格納部１９０には利用権マスタテーブル１９０ａが記憶され、利用権マスタテーブル１９０ａの各レコード（１行）には「コンテンツＩＤ」「ユーザＩＤ」および「利用権限（利用権限情報）」が互いに対応付けられて設定される。
キャッシュサーバ３００の利用権キャッシュ格納部３９０には利用権マスタテーブル１９０ａの複製が記憶される。
【００６３】
「コンテンツＩＤ」には、コンテンツを識別する情報（以下、「コンテンツＩＤ」という）が設定される。
「ユーザＩＤ」には、利用者を識別する情報（以下、「ユーザＩＤ」という）が設定される。
「利用権限」には、コンテンツＩＤで識別されるコンテンツを利用する権限であり、ユーザＩＤで識別される利用者に与えられる利用権限が設定される。
【００６４】
例えば、先頭のレコードは、「ＵＩＤ−Ａ」で識別される利用者に「ＣＩＤ０００１」で識別されるコンテンツを「閲覧」「印刷」「編集」する権限が与えられることを示している。
【００６５】
図６は、実施の形態１におけるコンテンツ鍵マスタテーブル１９１ａおよびコンテンツ鍵キャッシュテーブル３９１ａを示す図である。
コンテンツ鍵マスタ格納部１９１およびコンテンツ鍵キャッシュ格納部３９１に記憶されるコンテンツ鍵について、図６に基づいて以下に説明する。
【００６６】
マスタサーバ１００のコンテンツ鍵マスタ格納部１９１にはコンテンツ鍵マスタテーブル１９１ａが記憶され、コンテンツ鍵マスタテーブル１９１ａの各レコードには「コンテンツＩＤ」および「コンテンツ鍵」が対応付けられて設定される。
キャッシュサーバ３００のコンテンツ鍵キャッシュ格納部３９１にはコンテンツ鍵マスタテーブル１９１ａの複製が記憶される。
【００６７】
「コンテンツＩＤ」には、コンテンツを識別する情報であるコンテンツＩＤが設定される。
「コンテンツ鍵」には、暗号化されたコンテンツを復号するための情報であるコンテンツ鍵または別途記憶されているコンテンツ鍵との対応情報（例えば、コンテンツ鍵の記憶先のアドレス）が設定される。
【００６８】
例えば、先頭のレコードは、「ＣＩＤ−０００１」で識別されるコンテンツが「ＫＥＹ−０００１」で識別されるコンテンツ鍵で復号されることを示している。
【００６９】
図７は、実施の形態１におけるライセンス発行処理（Ｓ１１２）のフローチャートである。
利用権管理方法（図３参照）のライセンス発行処理（利用権許可方法）（Ｓ１１２）について、図７に基づいて以下に説明する。
キャッシュサーバ３００の各「〜部」は、以下に説明する処理をＣＰＵを用いて実行する。
【００７０】
まず、ライセンス発行処理（Ｓ１１２）の概要について説明する。
ライセンス代理発行部３１０は、利用者端末４００からライセンス要求を受信した場合（Ｓ２１０）、キャッシュが有るか確認する（Ｓ２１１）。キャッシュが無い場合、キャッシュ取得部３２０によりキャッシュ取得処理が行われ（Ｓ２２０）、キャッシュが有る場合、障害監視判定部３４０により障害判定処理が行われる（Ｓ２３０）。
キャッシュの取得が成功した場合（Ｓ２４０）、ライセンス代理発行部３１０はキャッシュを取り出し（Ｓ２５０）、利用者端末４００にライセンスを発行する（Ｓ２５１）。キャッシュの取得が失敗した場合（Ｓ２４０）、ライセンス代理発行部３１０はライセンス発行失敗を利用者端末４００に応答する（Ｓ２６０）。
障害判定結果が「障害無し（Ｓ）」または「マスタサーバ障害（Ｆ１）」の場合（Ｓ２４１）、ライセンス代理発行部３１０はキャッシュを取り出し（Ｓ２５０）、利用者端末４００にライセンスを発行する（Ｓ２５１）。障害判定結果が「ネットワーク障害（Ｆ２）」の場合（Ｓ２４１）、ライセンス代理発行部３１０はライセンス発行拒否を利用者端末４００に応答する（Ｓ２７０）。
【００７１】
次に、各処理（Ｓ２１０〜Ｓ２５２）の詳細について説明する。
【００７２】
＜Ｓ２１０＞
利用者端末４００がキャッシュサーバ３００へライセンス要求を送信した場合、キャッシュサーバ３００のライセンス代理発行部３１０は、利用者端末４００から送信されたライセンス要求を受信する。
ライセンス要求には、利用者端末４００を利用している利用者のユーザＩＤと利用者に指定されたコンテンツのコンテンツＩＤとが含まれる。
Ｓ２１０の後、処理はＳ２１１に進む。
【００７３】
＜Ｓ２１１＞
Ｓ２１０においてライセンス要求を受信した後、ライセンス代理発行部３１０は、ライセンス要求に対応する利用権限情報のキャッシュおよびコンテンツ鍵のキャッシュが有るか判定する。
ライセンス代理発行部３１０は、ライセンス要求に示されるコンテンツＩＤおよびユーザＩＤと一致するレコードが利用権キャッシュテーブル３９０ａに含まれている場合、利用権限情報のキャッシュが有ると判定する。また、ライセンス代理発行部３１０は、ライセンス要求に含まれるコンテンツＩＤと一致するレコードがコンテンツ鍵キャッシュテーブル３９１ａに含まれている場合、コンテンツ鍵のキャッシュが有ると判定する。
利用権限情報のキャッシュとコンテンツ鍵のキャッシュとが有る場合（ＹＥＳ）、処理はＳ２３０に進み、利用権限情報のキャッシュとコンテンツ鍵のキャッシュとの少なくともいずれかが無い場合（ＮＯ）、処理はＳ２２０に進む。
【００７４】
＜Ｓ２２０：キャッシュ取得処理＞
Ｓ２１１において利用権限情報のキャッシュとコンテンツ鍵のキャッシュとの少なくともいずれかが無い場合（ＮＯ）、ライセンス代理発行部３１０はキャッシュ取得指示をキャッシュ取得部３２０に出力し、キャッシュ取得指示を受けたキャッシュ取得部３２０はキャッシュ取得処理を実行する。
キャッシュ取得処理において、キャッシュ取得部３２０は、マスタサーバ１００への要求により、キャッシュが無い利用権限情報およびコンテンツ鍵の取得を試み、取得した利用権限情報を設定したレコードを利用権キャッシュテーブル３９０ａに追加し、取得したコンテンツ鍵を設定したレコードをコンテンツ鍵キャッシュテーブル３９１ａに追加する。そして、キャッシュ取得部３２０は、取得結果をライセンス代理発行部３１０に出力する。キャッシュ取得処理の詳細について後述する。
Ｓ２２０の後、処理はＳ２４０に進む。
【００７５】
＜Ｓ２４０＞
Ｓ２２０におけるキャッシュ取得処理の後、ライセンス代理発行部３１０は、取得結果が「取得成功」「取得失敗」のいずれを示すか判定する。
「取得成功」の場合（ＹＥＳ）、処理はＳ２５０に進み、「取得失敗」の場合（ＮＯ）、処理はＳ２６０に進む。
【００７６】
＜Ｓ２５０＞
Ｓ２４０において「取得成功」の場合（ＹＥＳ）、ライセンス代理発行部３１０は、ライセンス要求に対応する利用権限情報のキャッシュを利用権キャッシュテーブル３９０ａから取得し、ライセンス要求に対応するコンテンツ鍵のキャッシュをコンテンツ鍵キャッシュテーブル３９１ａから取得する。
Ｓ２５０の後、処理はＳ２５１に進む。
【００７７】
＜Ｓ２５１＞
Ｓ２５０において利用権限情報およびコンテンツ鍵のキャッシュを取得した後、ライセンス代理発行部３１０は、取得した利用権限情報と取得したコンテンツ鍵とを含むデータをライセンスとして生成し、生成したライセンスを利用者端末４００に送信する。ライセンスの送信は、ライセンスの発行・応答を意味する。
Ｓ２５１の後、処理は終了する。
【００７８】
＜Ｓ２６０＞
Ｓ２４０において「取得失敗」の場合（ＮＯ）、ライセンス代理発行部３１０は、ライセンスの発行を失敗したことを示す応答データを生成し、生成した応答データを利用者端末４００に送信する。
Ｓ２６０の後、処理は終了する。
【００７９】
＜Ｓ２３０：障害判定処理＞
Ｓ２１１において利用権限情報のキャッシュとコンテンツ鍵のキャッシュとが有る場合（ＹＥＳ）、ライセンス代理発行部３１０は障害判定指示を障害監視判定部３４０に出力し、障害判定指示を受けた障害監視判定部３４０は障害判定処理を実行する。
障害判定処理において、障害監視判定部３４０は、マスタサーバ１００および監視応答装置２００へ監視要求を送信し、応答結果に基づいて「障害無し（Ｓ）」「マスタサーバ障害（Ｆ１）」「ネットワーク障害（Ｆ２）」のいずれの状態であるか判定し、判定結果をライセンス代理発行部３１０に出力する。障害判定処理の詳細について後述する。
Ｓ２３０の後、処理はＳ２４１に進む。
【００８０】
＜Ｓ２４１＞
Ｓ２３０における障害判定処理の後、ライセンス代理発行部３１０は、判定結果が「障害無し（Ｓ）」「マスタサーバ障害（Ｆ１）」「ネットワーク障害（Ｆ２）」のいずれを示すか判定する。
「障害無し（Ｓ）」または「マスタサーバ障害（Ｆ１）」の場合、処理はＳ２５０に進む。Ｓ２５０に処理が進むと、前述の通り、ライセンス要求に対応する利用権情報のキャッシュおよびコンテンツ鍵のキャッシュが取得され（Ｓ２５０）、ライセンスが生成されて利用者端末４００に発行される（Ｓ２５１）。Ｓ２５１の後、処理は終了する。
【００８１】
「障害無し（Ｓ）」の場合、マスタサーバ１００で管理されている利用権限情報のマスタが更新されれば、マスタサーバ１００からキャッシュサーバ３００への通知があり、キャッシュサーバ３００で管理されている利用権限情報のキャッシュが更新される（図３のＳ１４０〜Ｓ１４２参照）。
このため、マスタとキャッシュとの整合性は保たれ、キャッシュを用いてライセンスが発行さてもセキュリティは守られる。
例えば、マスタが「利用権限有り」から「利用権限無し」に更新され、キャッシュが「利用権限有り」のまま更新されず、キャッシュに基づいて「利用権限有り」のライセンスが発行され、マスタの更新により利用権限を失ったはずの利用者がコンテンツを利用できる、というセキュリティ違反は起こらない。
また、「マスタサーバ障害（Ｆ１）」の場合、マスタサーバ１００で管理されている利用権限情報のマスタが更新されることは無いため、マスタとキャッシュとの整合性は保たれ、キャッシュを用いてライセンスが発行されてもセキュリティは守られる。そして、「マスタサーバ障害（Ｆ１）」の場合でも、キャッシュを用いてライセンスが発行されることにより、コンテンツ利用の可用性が向上する。
【００８２】
Ｓ２４１において「ネットワーク障害（Ｆ２）」の場合、処理はＳ２７０に進む。
【００８３】
＜Ｓ２７０＞
Ｓ２４１において「ネットワーク障害（Ｆ２）」の場合、ライセンス代理発行部３１０は、ライセンスの発行を拒否することを示す応答データを生成し、生成した応答データを利用者端末４００に送信する。
【００８４】
「ネットワーク障害（Ｆ２）」の場合、マスタサーバ１００で管理されている利用権限情報のマスタが更新されても、マスタサーバ１００からキャッシュサーバ３００へ通知が届かず、キャッシュサーバ３００で管理されている利用権限情報のキャッシュが更新されない。つまり、「ネットワーク障害（Ｆ２）」の場合、マスタとキャッシュとの整合が取れていない可能性がある。
そこで、「ネットワーク障害Ｆ２」の場合にライセンスの発行を拒否することにより、セキュリティ違反を防ぐことができる。
【００８５】
Ｓ２７０の後、処理は終了する。
【００８６】
図８は、実施の形態１におけるキャッシュ取得部３２０によるキャッシュ取得処理（Ｓ２２０）のフローチャートである。
ライセンス発行処理（図７参照）においてキャッシュ取得部３２０により実行されるキャッシュ取得処理（Ｓ２２０）について、図８に基づいて以下に説明する。
キャッシュ取得部３２０は、以下に説明する処理をＣＰＵを用いて実行する。
【００８７】
＜Ｓ２２１＞
キャッシュ取得部３２０は、ライセンス代理発行部３１０からのキャッシュ取得指示を入力する。
キャッシュ取得指示には、利用者端末４００からのライセンス要求に示されるコンテンツＩＤおよびユーザＩＤが含まれる。
Ｓ２２１の後、処理はＳ２２２に進む。
【００８８】
＜Ｓ２２２＞
Ｓ２２１においてキャッシュ取得指示を入力した後、キャッシュ取得部３２０は、ライセンス情報複製要求をマスタサーバ１００へ送信し、マスタサーバ１００からの応答を所定時間待つ。
ライセンス情報複製要求には、キャッシュ取得指示に示されるコンテンツＩＤおよびユーザＩＤが含まれる。
【００８９】
マスタサーバ１００のライセンス情報複製部１２０は、キャッシュ取得部３２０から送信されたライセンス情報複製要求を受信した場合、ライセンス情報複製要求に基づいて利用権情報とコンテンツ鍵とを複製し、複製した利用権情報およびコンテンツ鍵をキャッシュ取得部３２０に送信して応答する。
具体的に、ライセンス情報複製部１２０は、ライセンス情報複製要求に示されるコンテンツＩＤおよびユーザＩＤと一致するレコードを利用権マスタテーブル１９０ａから取得し、取得したレコードに設定されている利用権限情報を複製する。また、ライセンス情報複製部１２０は、ライセンス情報複製要求に示されるコンテンツＩＤと一致するレコードをコンテンツ鍵マスタテーブル１９１ａから取得し、取得したレコードに設定されているコンテンツ鍵を複製する。そして、ライセンス情報複製部１２０は、複製した利用権限情報およびコンテンツＩＤをキャッシュ取得部３２０に送信する。
マスタサーバ１００やネットワーク４２０に障害が発生している場合、ライセンス情報複製部１２０はライセンス情報複製要求を受信できず、マスタサーバ１００からキャッシュ取得部３２０への応答は無い。
【００９０】
Ｓ２２２の後、処理はＳ２２３に進む。
【００９１】
＜Ｓ２２３＞
Ｓ２２２においてマスタサーバ１００にライセンス情報複製要求を送信した後、キャッシュ取得部３２０は、ライセンス情報複製要求を送信してから所定時間内にマスタサーバ１００からの応答が有ったか判定する。
マスタサーバ１００からの応答が有った場合（ＹＥＳ）、処理はＳ２２４に進み、マスタサーバ１００からの応答が無かった場合（ＮＯ）、処理はＳ２２６に進む。
【００９２】
＜Ｓ２２４＞
Ｓ２２３においてマスタサーバ１００からの応答が有った場合（ＹＥＳ）、キャッシュ取得部３２０は、キャッシュ取得要求に示されるコンテンツＩＤおよびユーザＩＤと共にマスタサーバ１００から応答された利用権限情報を設定したレコードを生成し、生成したレコードを利用権キャッシュテーブル３９０ａに追加して利用権限情報を格納する。さらに、キャッシュ取得部３２０は、キャッシュ取得要求に示されるコンテンツＩＤと共にマスタサーバ１００から応答されたコンテンツ鍵を設定したレコードを生成し、生成したレコードをコンテンツ鍵キャッシュテーブル３９１ａに追加してコンテンツ鍵を格納する。
Ｓ２２４の後、処理はＳ２２５に進む。
【００９３】
＜Ｓ２２５＞
Ｓ２２４において利用権限情報とコンテンツＩＤとを格納した後、キャッシュ取得部３２０は、キャッシュ取得結果「取得成功」をライセンス代理発行部３１０に出力する。
Ｓ２２５の後、処理は終了する。
【００９４】
＜Ｓ２２６＞
Ｓ２２３においてマスタサーバ１００からの応答が無かった場合（ＮＯ）、キャッシュ取得部３２０は、キャッシュ取得結果「取得失敗」をライセンス代理発行部３１０に出力する。
Ｓ２２６の後、処理は終了する。
【００９５】
図９は、実施の形態１における障害監視判定部３４０による障害判定処理（Ｓ２３０）のフローチャートである。
ライセンス発行処理（図７参照）において障害監視判定部３４０により実行される障害判定処理（Ｓ２３０）について、図９に基づいて以下に説明する。
障害監視判定部３４０は、以下に説明する処理をＣＰＵを用いて実行する。
【００９６】
＜Ｓ２３１＞
障害監視判定部３４０は、ライセンス代理発行部３１０からの障害判定指示を入力する。
Ｓ２３１の後、処理はＳ２３２に進む。
【００９７】
＜Ｓ２３２＞
Ｓ２３１において障害判定指示を入力した後、障害監視判定部３４０は、通信の応答を要求する監視要求をマスタサーバ１００（「ＭＳ」と記す）および監視応答装置２００（「ＲＵ」と記す）に送信し、マスタサーバ１００および監視応答装置２００からの応答を所定時間待つ。
障害監視判定部３４０から監視要求を受信した場合、マスタサーバ１００および監視応答装置２００は、障害監視判定部３４０に通信応答する。
障害監視判定部３４０により送信された監視要求は、ネットワーク４２０を介してマスタサーバ１００および監視応答装置２００に到達する。ネットワーク４２０に障害が発生している場合、監視要求はマスタサーバ１００と監視応答装置２００とのどちらにも到達せず、障害監視判定部３４０はマスタサーバ１００と監視応答装置２００とのどちらからも応答を受けない。ネットワーク４２０には障害が発生していないがマスタサーバ１００に障害が発生している場合、監視要求は監視応答装置２００にのみ到達し、障害監視判定部３４０は監視応答装置２００からのみ応答を受ける。
Ｓ２３２の後、処理はＳ２３３に進む。
【００９８】
＜Ｓ２３３＞
Ｓ２３２においてマスタサーバ１００と監視応答装置２００とに監視要求を送信した後、障害監視判定部３４０は、監視要求を送信してから所定時間内にマスタサーバ１００からの応答が有ったか判定する。
マスタサーバ１００からの応答が有った場合（ＹＥＳ）、処理はＳ２３５に進み、マスタサーバ１００からの応答が無かった場合（ＮＯ）、処理はＳ２３４に進む。
【００９９】
＜Ｓ２３４＞
Ｓ２３３においてマスタサーバ１００からの応答が無い場合（ＮＯ）、障害監視判定部３４０は、監視要求を送信してから所定時間内に監視応答装置２００からの応答が有ったか判定する。
監視応答装置２００からの応答が有った場合（ＹＥＳ）、処理はＳ２３６に進み、監視応答装置２００からの応答が無かった場合（ＮＯ）、処理はＳ２３７に進む。
【０１００】
＜Ｓ２３５＞
Ｓ２３３においてマスタサーバ１００からの応答が有った場合（ＹＥＳ）、障害監視判定部３４０は、マスタサーバ１００とネットワーク４２０とのどちらにも障害が発生していないと判定し、障害判定結果「障害無し（Ｓ）」をライセンス代理発行部３１０に出力する。
Ｓ２３５の後、処理は終了する。
【０１０１】
＜Ｓ２３６＞
Ｓ２３４において監視応答装置２００からの応答が有った場合（ＹＥＳ）、障害監視判定部３４０は、マスタサーバ１００に障害が発生しているがネットワーク４２０には障害が発生していないと判定し、障害判定結果「マスタサーバ障害（Ｆ１）」をライセンス代理発行部３１０に出力する。
Ｓ２３６の後、処理は終了する。
【０１０２】
＜Ｓ２３７＞
Ｓ２３４において監視応答装置２００からの応答が無かった場合（ＮＯ）、障害監視判定部３４０は、ネットワーク４２０に障害が発生していると判定し、障害判定結果「ネットワーク障害（Ｆ２）」をライセンス代理発行部３１０に出力する。
例外的に、マスタサーバ１００と監視応答装置２００との両方に障害が発生している場合、ネットワーク４２０に障害が発生していなくても「ネットワーク障害」と誤判定される。そこで、分散型利用権管理システム９００は複数台の監視応答装置２００を有し、障害監視判定部３４０はマスタサーバ１００からの応答およびいずれの監視応答装置２００からの応答も無かった場合に「ネットワーク障害」と判定することで誤判定を抑止してもよい。
Ｓ２３７の後、処理は終了する。
【０１０３】
図１０は、実施の形態１におけるキャッシュ更新処理（Ｓ１４２）のフローチャートである。
利用権管理方法（図３参照）のキャッシュ更新処理（Ｓ１４２）について、図１０に基づいて以下に説明する。
【０１０４】
＜Ｓ３１０＞
マスタサーバ１００がキャッシュサーバ３００へ利用権更新通知を送信した場合、キャッシュサーバ３００のキャッシュ更新部３３０は、マスタサーバ１００から送信された利用権更新通知を受信する。
利用権更新通知には、利用権限が更新された利用権マスタテーブル１９０ａのレコードに設定されているコンテンツＩＤおよびユーザＩＤが含まれる。
Ｓ３１０の後、処理はＳ３２０に進む。
【０１０５】
＜Ｓ３２０＞
Ｓ３１０において利用権更新通知を受信した後、キャッシュ更新部３３０は、利用権更新通知に対応する利用権限情報のキャッシュが有るか判定する。
キャッシュ更新部３３０は、利用権更新通知に示されるコンテンツＩＤおよびユーザＩＤと一致するレコードが利用権キャッシュテーブル３９０ａに含まれている場合、利用権更新通知に対応する利用権限情報のキャッシュが有ると判定する。
利用権限情報のキャッシュが有る場合（ＹＥＳ）、処理はＳ３３０に進み、利用権限情報のキャッシュが無い場合（ＮＯ）、処理は終了する。
【０１０６】
＜Ｓ３３０＞
Ｓ３２０において利用権限情報のキャッシュが有る場合（ＹＥＳ）、キャッシュ更新部３３０は、利用権限情報のキャッシュを削除する。
具体的に、キャッシュ更新部３３０は、利用権更新通知に示されるコンテンツＩＤおよびユーザＩＤと一致するレコードを利用権キャッシュテーブル３９０ａから削除する。
Ｓ３２０の後、処理はＳ３４０に進む。
【０１０７】
＜Ｓ３４０＞
Ｓ３３０において利用権限情報のキャッシュを削除した後、キャッシュ更新部３３０はキャッシュ取得指示をキャッシュ取得部３２０に出力し、キャッシュ取得指示を受けたキャッシュ取得部３２０はキャッシュ取得処理を実行する。キャッシュ取得指示には、利用権更新通知に示されるコンテンツＩＤおよびユーザＩＤが含まれる。キャッシュ取得処理は、図８で説明した処理と同様である。
キャッシュ取得処理において、キャッシュ取得部３２０は、マスタサーバ１００への要求により、更新された利用権限情報の取得を試み、取得した利用権限情報を設定したレコードを利用権キャッシュテーブル３９０ａに追加する。
Ｓ３４０の後、処理は終了する。
【０１０８】
キャッシュが有る場合にのみ更新後の利用権限情報を設定したレコードを利用権キャッシュテーブル３９０ａに追加することにより、利用権キャッシュテーブル３９０ａには不要なレコードが追加されない。これにより、利用権キャッシュテーブル３９０ａの検索に要する時間が短縮されるため、ライセンス発行に要する時間を短縮できる。また、利用権キャッシュ格納部３９０に容量不足が発生することを抑止できる。
【０１０９】
実施の形態１において以下のような分散型利用権管理システム９００について説明した。
分散型利用権管理システム９００は、マスタサーバ１００と、監視応答装置２００と、マスタサーバ１００及び監視応答装置２００にネットワーク４２０で接続されたキャッシュサーバ３００と、マスタサーバ１００及びキャッシュサーバ３００にネットワーク４２０で接続された利用者端末４００を有する。
マスタサーバ１００は、利用権マスタ格納部１９０、コンテンツ鍵マスタ格納部１９１、ライセンス発行部１１０、ライセンス情報複製部１２０、利用権更新部１３０および監視応答部１４０を備える。
利用権マスタ格納部１９０は、コンテンツの利用権限を格納する。
コンテンツ鍵マスタ格納部１９１は、コンテンツを復号するコンテンツ鍵を格納する。
ライセンス発行部１１０は、利用者端末４００からライセンス要求を受信すると、利用権マスタ格納部１９０から取り出した利用権限と、コンテンツ鍵マスタ格納部１９１から取り出したコンテンツ鍵とを用いて、ライセンスを生成・応答する。
ライセンス情報複製部１２０は、キャッシュサーバ３００からライセンス情報複製要求を受信すると、利用権マスタ格納部１９０から取り出した利用権限と、コンテンツ鍵マスタ格納部１９１から取り出したコンテンツ鍵とからなるライセンス情報を応答する。
利用権更新部１３０は、管理者端末４１０から利用権更新要求を受信すると、利用権マスタ格納部１９０の利用権限を更新するとともに、キャッシュサーバ３００に対して、利用権更新通知を送信する。
監視応答装置２００は、監視応答部１４０を備える。
監視応答部１４０は、キャッシュサーバ３００からの監視要求を受信すると、生存応答（通信応答）を返す。
キャッシュサーバ３００は、障害監視判定部３４０、利用権キャッシュ格納部３９０、コンテンツ鍵キャッシュ格納部３９１、障害監視判定部３４０、キャッシュ取得部３２０、キャッシュ更新部３３０およびライセンス代理発行部３１０を備える。
障害監視判定部３４０は、キャッシュサーバ３００からの監視要求を受信すると、生存応答を返す。
利用権キャッシュ格納部３９０は、利用権マスタ格納部１９０に含まれる利用権限の複製を格納する。
コンテンツ鍵キャッシュ格納部３９１は、コンテンツ鍵マスタ格納部１９１に含まれるコンテンツ鍵の複製を格納する。
障害監視判定部３４０は、障害判定指示を受けると、マスタサーバ１００及び監視応答装置２００へ監視要求を送信してマスタサーバ１００との通信障害の有無を判定し、障害が発生していると判定した場合はさらに、ネットワーク障害の可能性有無を判定する。
キャッシュ取得部３２０は、キャッシュ取得指示を受けると、マスタサーバ１００へライセンス情報複製要求を送信し、受信した利用権を利用権キャッシュ格納部３９０に格納し、コンテンツ鍵をコンテンツ鍵キャッシュ格納部３９１に格納する。
キャッシュ更新部３３０は、マスタサーバ１００から利用権更新通知を受信すると、利用権キャッシュ格納部３９０の利用権限を削除し、キャッシュ取得部３２０にキャッシュ取得を指示する。
ライセンス代理発行部３１０は、利用者端末４００からライセンス要求を受信すると、障害監視判定部３４０に障害判定を指示し、利用権キャッシュ格納部３９０及びコンテンツ鍵キャッシュ格納部３９１に利用権及びコンテンツ鍵が格納されていない場合はキャッシュ取得部３２０にキャッシュ取得を指示する。ライセンス代理発行部３１０は、利用権キャッシュ格納部３９０から取り出した利用権と、コンテンツ鍵キャッシュ格納部３９１から取り出したコンテンツ鍵とを用いて、ライセンスを生成・応答する。ライセンス代理発行部３１０は、障害監視判定部３４０がネットワーク障害の可能性ありと判定した場合に、ライセンス発行を拒否する。
【０１１０】
分散型利用権管理システム９００は、以下のような効果を奏する。
利用者端末４００がライセンス要求先を切り替えることによりコンテンツ利用の可用性が向上するとともに、複数のキャッシュサーバ３００を設けることによりライセンス発行に関わるサーバ負荷を分散する。さらに、利用権更新時に利用権キャッシュの即時更新を行うとともに、ライセンス発行時にはキャッシュサーバ３００がマスタサーバ障害及びネットワーク障害の有無を判定し、ネットワーク障害の可能性がある場合にライセンス発行を拒否する。これにより、マスタサーバ１００とキャッシュサーバ３００とのサーバ間での利用権限の不一致によるセキュリティ違反を防止する。
なお上記では、監視応答装置２００を専用の装置として設けたが、マスタサーバ１００に接続されるルータなどのネットワーク機器に、監視応答装置２００の機能を設けてもよい。
【０１１１】
実施の形態２．
マスタサーバ１００と接続するネットワーク４２０に障害が発生している場合、キャッシュサーバ３００が、限定した利用権限を利用者に与える形態について説明する。
以下、実施の形態１と異なる事項について主に説明し、説明を省略する事項は実施の形態１と同様であるものとする。
【０１１２】
分散型利用権管理システム９００の構成、コンテンツ利用方法および利用権管理方法は、実施の形態１と同じである（図１〜６参照）。
【０１１３】
但し、キャッシュサーバ３００のライセンス代理発行部３１０は、障害監視判定部３４０によりマスタサーバ１００との通信不可の原因がネットワーク４２０の障害であると判定された場合、複数の利用権限から少なくともいずれかの利用権限を除いた利用権限情報を含めてライセンスを利用者端末４００に応答する。
【０１１４】
図１１は、実施の形態２におけるライセンス発行処理（Ｓ１１２）のフローチャートである。
実施の形態２におけるライセンス発行処理（Ｓ１１２）について、図１１に基づいて以下に説明する。
【０１１５】
図１１は、実施の形態１におけるライセンス発行処理（図７参照）のＳ２７０をＳ２７１〜Ｓ２７３に変更したフローチャートである。
以下、Ｓ２７１〜Ｓ２７３について説明する。他の処理の説明は実施の形態１と同じであるため省略する。
【０１１６】
＜Ｓ２７１＞
Ｓ２４１において「ネットワーク障害（Ｆ２）」の場合、ライセンス代理発行部３１０は、ライセンス要求に対応する利用権限情報のキャッシュを利用権キャッシュテーブル３９０ａから取得し、ライセンス要求に対応するコンテンツ鍵のキャッシュをコンテンツ鍵キャッシュテーブル３９１ａから取得する。
Ｓ２７１の後、処理はＳ２７２に進む。
【０１１７】
＜Ｓ２７２＞
Ｓ２７１において利用権限情報およびコンテンツ鍵のキャッシュを取得した後、ライセンス代理発行部３１０は、取得した利用権限情報に示される複数の利用権限（利用可能な権限）から所定の利用権限を除くことにより、利用権限を制限した利用権限情報を生成する。
例えば、ネットワーク障害（Ｆ２）時に制限する利用権限として「印刷」および「編集」が予め定義されているものとする。取得した利用権限情報に示される利用権限が「閲覧可」「印刷可」「編集可」である場合、ライセンス代理発行部３１０は、「閲覧可」「印刷『不可』」「編集『不可』」を示す利用権限情報を生成する。
Ｓ２７２の後、処理はＳ２７３に進む。
【０１１８】
＜Ｓ２７３＞
Ｓ２７１においてコンテンツ鍵のキャッシュを取得し、Ｓ２７２において利用権限を制限した利用権限情報を生成した後、ライセンス代理発行部３１０は、生成した利用権限情報と取得したコンテンツ鍵とを含むデータをライセンスとして生成し、生成したライセンスを利用者端末４００に送信する。
Ｓ２７３の後、処理は終了する。
【０１１９】
実施の形態２では以下のような分散型利用権管理システム９００について説明した。
障害監視判定部３４０がネットワーク障害の可能性ありと判定した場合に、ライセンス代理発行部３１０が、利用権限を制限したライセンスを発行する。
【０１２０】
分散型利用権管理システム９００は、ネットワーク障害の可能性がある場合に制限した利用権限（例えば、「閲覧」）内でコンテンツ利用を継続させることによって、コンテンツ利用の可用性をさらに向上させることができる。利用権限を制限する際、閲覧のみを許可したり、印刷など機密漏洩につながる可能性のある権限を選択的に無効化したりするとよい。
【０１２１】
実施の形態３．
マスタサーバ１００と接続するネットワーク４２０に障害が発生している場合、キャッシュサーバ３００が、予め定められたネットワーク障害時用の利用権限を利用者に与える形態について説明する。
以下、実施の形態１と異なる事項について主に説明し、説明を省略する事項は実施の形態１と同様であるものとする。
【０１２２】
分散型利用権管理システム９００の構成、コンテンツ利用方法および利用権管理方法は、実施の形態１と同じである（図１〜６参照）。
【０１２３】
但し、利用権マスタテーブル１９０ａおよび利用権キャッシュテーブル３９０ａは、ネットワーク障害時用の利用権限と非ネットワーク障害時用の利用権限とを示す。
また、キャッシュサーバ３００のライセンス代理発行部３１０は、障害監視判定部３４０によりマスタサーバ１００と通信可であると判定された場合および障害監視判定部３４０により通信不可の原因がマスタサーバ１００の障害であると判定された場合、非ネットワーク障害時用の利用権限を示す利用権限情報を含めてライセンスを応答する。また、ライセンス代理発行部３１０は、障害監視判定部３４０により通信不可の原因がネットワーク４２０の障害であると判定された場合、ネットワーク障害時用の利用権限を示す利用権限情報を含めてライセンスを応答する。
【０１２４】
図１２は、実施の形態３における利用権マスタテーブル１９０ａおよび利用権キャッシュテーブル３９０ａを示す図である。
図１２に示すように、利用権マスタテーブル１９０ａおよび利用権キャッシュテーブル３９０ａには、「利用権限（非ネットワーク障害時用の利用権限）」の他に、「第２利用権限（ネットワーク障害時用の利用権限）」が設定される。
【０１２５】
図１３は、実施の形態３におけるライセンス発行処理（Ｓ１１２）のフローチャートである。
実施の形態３におけるライセンス発行処理（Ｓ１１２）について、図１３に基づいて以下に説明する。
【０１２６】
図１３は、実施の形態１におけるライセンス発行処理（図７参照）のＳ２７０をＳ２７４およびＳ２７５に変更したフローチャートである。
以下、Ｓ２７４およびＳ２７５について説明する。他の処理の説明は実施の形態１と同じであるため省略する。
【０１２７】
＜Ｓ２７４＞
Ｓ２４１において「ネットワーク障害（Ｆ２）」の場合、ライセンス代理発行部３１０は、ライセンス要求に対応するネットワーク障害時用の利用権限情報（第２利用権限）のキャッシュを利用権キャッシュテーブル３９０ａから取得し、ライセンス要求に対応するコンテンツ鍵のキャッシュをコンテンツ鍵キャッシュテーブル３９１ａから取得する。
Ｓ２７４の後、処理はＳ２７５に進む。
【０１２８】
＜Ｓ２７５＞
Ｓ２７４において利用権限情報およびコンテンツ鍵のキャッシュを取得した後、ライセンス代理発行部３１０は、取得したネットワーク障害時用の利用権限情報と取得したコンテンツ鍵とを含むデータをライセンスとして生成し、生成したライセンスを利用者端末４００に送信する。
Ｓ２７５の後、処理は終了する。
【０１２９】
実施の形態３では、以下のような分散型利用権管理システム９００について説明した。
利用権マスタ格納部１９０及び利用権キャッシュ格納部３９０に、障害中に使用する第２利用権限を新たに含む。
障害監視判定部３４０がネットワーク障害の可能性ありと判定した場合に、ライセンス代理発行部３１０は、第２利用権限を含むライセンスを発行する。
【０１３０】
分散型利用権管理システム９００は、ネットワーク障害時に使用する利用権限をあらかじめ設定可能とすることで、障害中の権限制御を確実に行うことができる。
【０１３１】
実施の形態４．
マスタサーバ１００と接続するネットワーク４２０に障害が発生している場合、キャッシュサーバ３００が、利用権限を利用者に与えると共に操作履歴を利用者端末４００から収集する形態について説明する。
以下、実施の形態１と異なる事項について主に説明し、説明を省略する事項は実施の形態１と同様であるものとする。
【０１３２】
図１４は、実施の形態４における分散型利用権管理システム９００の機能構成図である。
実施の形態４におけるマスタサーバ１００、監視応答装置２００、キャッシュサーバ３００および利用者端末４００の機能構成について、図１４に基づいて以下に説明する。
【０１３３】
キャッシュサーバ３００は、実施の形態１で説明した構成（図４参照）に加えて、操作履歴管理部３５０および操作履歴格納部３９２を備える。
【０１３４】
ライセンス代理発行部３１０は、障害監視判定部３４０により通信不可の原因がネットワーク４２０の障害であると判定された場合、ライセンスを利用者端末４００に応答すると共に利用者端末４００にコンテンツの操作履歴を要求する。
操作履歴管理部３５０は、利用者端末４００からコンテンツの操作履歴を通信装置を用いて取得し、取得した操作履歴をマスタサーバ１００（特定の装置の一例）に出力する。
操作履歴格納部３９２は、操作履歴管理部３５０により取得された操作履歴を記憶媒体を用いて記憶する。
【０１３５】
利用者端末４００は、実施の形態１で説明した構成（図４参照）に加えて、操作履歴送信部４０２を備える。
【０１３６】
操作履歴送信部４０２は、操作履歴要求がキャッシュサーバ３００から有る場合、コンテンツ操作部４０１の操作履歴を記憶媒体を用いて記憶し、記憶した操作履歴をキャッシュサーバ３００に通信装置を用いて送信する。
【０１３７】
マスタサーバ１００は、実施の形態１で説明した構成（図４参照）に加えて、操作履歴検査部１５０および違反履歴格納部１９２を備える。
【０１３８】
操作履歴検査部１５０は、コンテンツの操作履歴をキャッシュサーバ３００から取得し、取得した操作履歴に基づいて利用権限に違反する操作が行われたかＣＰＵを用いて判定し、判定結果を特定の装置に出力する。
違反履歴格納部１９２は、操作履歴検査部１５０により取得されたコンテンツの操作履歴および操作履歴検査部１５０の判定結果を記憶媒体を用いて記憶する。
【０１３９】
図１５は、実施の形態４における利用権マスタテーブル１９０ａを示す図である。
図１５に示すように、利用権マスタテーブル１９０ａには、レコードの最新の「更新日時」が設定される。
図１５に示す利用権マスタテーブル１９０ａは、コンテンツＩＤが「ＣＩＤ−０００１」であり、ユーザＩＤが「ＵＩＤ−Ａ」であるレコードの「利用権限」が２００８年９月１７日の１１時３０分に更新されたことを示している。
【０１４０】
図１６は、実施の形態４における操作履歴ファイル３９２ａを示す図である。
操作履歴格納部３９２に記憶される操作履歴について、図１６に基づいて以下に説明する。
【０１４１】
キャッシュサーバ３００の操作履歴格納部３９２には操作履歴ファイル３９２ａが記憶され、操作履歴ファイル３９２ａにはコンテンツの操作履歴を示す項目として「コンテンツＩＤ」「ユーザＩＤ」「操作」および「操作日時」がコンテンツの操作毎に設定される。
例えば、図１６の操作履歴ファイル３９２ａは、２００８年９月１７日の１２時に「ＵＩＤ−Ａ」で識別される利用者により「ＣＩＤ−０００１」で識別されるコンテンツが「閲覧」されたことを示している。
【０１４２】
図１７は、実施の形態４におけるライセンス発行処理（Ｓ１１２）のフローチャートである。
実施の形態４におけるライセンス発行処理（Ｓ１１２）について、図１７に基づいて以下に説明する。
【０１４３】
図１７は、実施の形態１におけるライセンス発行処理（図７参照）のＳ２７０をＳ２７６およびＳ２７７に変更したフローチャートである。
以下、Ｓ２７６およびＳ２７７について説明する。他の処理の説明は実施の形態１と同じであるため省略する。
【０１４４】
＜Ｓ２７６＞
Ｓ２４１において「ネットワーク障害（Ｆ２）」の場合、ライセンス代理発行部３１０は、ライセンス要求に対応する利用権限情報のキャッシュを利用権キャッシュテーブル３９０ａから取得し、ライセンス要求に対応するコンテンツ鍵のキャッシュをコンテンツ鍵キャッシュテーブル３９１ａから取得する。
Ｓ２７６の後、処理はＳ２７７に進む。
【０１４５】
＜Ｓ２７７＞
Ｓ２７６において利用権限情報およびコンテンツ鍵のキャッシュを取得した後、ライセンス代理発行部３１０は、取得した利用権限情報と取得したコンテンツ鍵とを含むデータをライセンスとして生成し、生成したライセンスを利用者端末４００に送信する。
ライセンス代理発行部３１０は、ライセンスと共に、コンテンツの操作履歴を要求する操作履歴送信要求を利用者端末４００に送信する。
Ｓ２７７の後、処理は終了する。
【０１４６】
利用者端末４００のコンテンツ操作部４０１は、キャッシュサーバ３００のライセンス代理発行部３１０から送信されたライセンスおよび操作履歴送信要求を受信し、受信したライセンスに示される利用権限の範囲内で利用者の指定に従ってコンテンツを操作する。
操作履歴送信部４０２は、コンテンツ操作部４０１により行われた操作の内容を示す情報（コンテンツＩＤ、ユーザＩＤ、操作種別、操作日時）を操作履歴としてキャッシュサーバ３００に送信する。例えば、操作履歴送信部４０２は、１つの操作が行われる度、所定の回数の操作が行われる度または所定時間毎に操作履歴をキャッシュサーバ３００に送信する。
キャッシュサーバ３００の操作履歴管理部３５０は、利用者端末４００から操作履歴を受信し、受信した操作履歴を操作履歴ファイル３９２ａに追加して設定する。
【０１４７】
そして、キャッシュサーバ３００とマスタサーバ１００との間で通信が可能になった場合、操作履歴管理部３５０は、操作履歴ファイル３９２ａをマスタサーバ１００に送信する。
以下に、操作履歴管理部３５０によるマスタサーバ１００への操作履歴ファイル３９２ａの送信契機について説明する。
【０１４８】
図１８は、実施の形態４におけるキャッシュ取得部３２０によるキャッシュ取得処理（Ｓ２２０）のフローチャートである。
実施の形態４におけるキャッシュ取得部３２０によるキャッシュ取得処理（Ｓ２２０）について、図１８に基づいて以下に説明する。
【０１４９】
図１８は、実施の形態１におけるキャッシュ取得処理（図８参照）にＳ２２７が加わったフローチャートである。
以下、Ｓ２２７について説明する。他の処理の説明は実施の形態１と同じであるため省略する。
【０１５０】
＜Ｓ２２７＞
Ｓ２２３においてマスタサーバ１００からの応答が有った場合（ＹＥＳ）、キャッシュ取得部３２０は、操作履歴送信指示を操作履歴管理部３５０に出力する。
操作履歴送信指示を受けた操作履歴管理部３５０は、操作履歴格納部３９２から操作履歴ファイル３９２ａを取得し、取得した操作履歴ファイル３９２ａをマスタサーバ１００に送信し、操作履歴格納部３９２から操作履歴ファイル３９２ａを削除する。
Ｓ２２７の後、処理はＳ２２４に進む。
【０１５１】
図１９は、実施の形態４における障害監視判定部３４０による障害判定処理（Ｓ２３０）のフローチャートである。
実施の形態４における障害監視判定部３４０による障害判定処理（Ｓ２３０）について、図１９に基づいて以下に説明する。
【０１５２】
図１９は、実施の形態１における障害判定処理（図９参照）にＳ２３８が加わったフローチャートである。
以下、Ｓ２３８について説明する。他の処理の説明は実施の形態１と同じであるため省略する。
【０１５３】
＜Ｓ２３８＞
Ｓ２３３においてマスタサーバ１００からの応答が有った場合（ＹＥＳ）、障害監視判定部３４０は、操作履歴送信指示を操作履歴管理部３５０に出力する。
操作履歴送信指示を受けた操作履歴管理部３５０は、操作履歴格納部３９２から操作履歴ファイル３９２ａを取得し、取得した操作履歴ファイル３９２ａをマスタサーバ１００に送信し、操作履歴格納部３９２から操作履歴ファイル３９２ａを削除する。
Ｓ２３８の後、処理はＳ２３５に進む。
【０１５４】
図２０は、実施の形態４におけるキャッシュ更新処理（Ｓ１４２）のフローチャートである。
実施の形態４におけるキャッシュ更新処理（Ｓ１４２）について、図２０に基づいて以下に説明する。
【０１５５】
図２０は、実施の形態１におけるキャッシュ更新処理（図１０参照）にＳ３５０が加わったフローチャートである。
以下、Ｓ３５０について説明する。他の処理の説明は実施の形態１と同じであるため省略する。
【０１５６】
＜Ｓ３５０＞
Ｓ３１０において利用権更新通知を受信した後、キャッシュ更新部３３０は、操作履歴送信指示を操作履歴管理部３５０に出力する。
操作履歴送信指示を受けた操作履歴管理部３５０は、操作履歴格納部３９２から操作履歴ファイル３９２ａを取得し、取得した操作履歴ファイル３９２ａをマスタサーバ１００に送信し、操作履歴格納部３９２から操作履歴ファイル３９２ａを削除する。
Ｓ３５０の後、処理はＳ３２０に進む。
【０１５７】
図２１は、実施の形態４における操作履歴検査方法を示すフローチャートである。
実施の形態４における操作履歴検査方法について、図２１に基づいて以下に説明する。
マスタサーバ１００の操作履歴検査部１５０は、以下に説明する処理をＣＰＵを用いて実行する。
【０１５８】
＜Ｓ４１０＞
操作履歴検査部１５０は、キャッシュサーバ３００から送信された操作履歴ファイル３９２ａを受信し、受信した操作履歴ファイル３９２ａを違反履歴格納部１９２に記憶する。
操作履歴ファイル３９２ａには、利用者端末４００によりコンテンツに対して行われた操作の内容を示す情報が操作履歴として操作毎に含まれる。操作履歴ファイル３９２ａに含まれる各操作履歴は、コンテンツＩＤ、ユーザＩＤ、操作種別および操作日時を示す。
Ｓ４１０の後、処理はＳ４２０に進む。
【０１５９】
＜Ｓ４２０＞
Ｓ４１０において操作履歴ファイル３９２ａを受信した後、操作履歴検査部１５０は、以下で説明する各処理（Ｓ４２２〜Ｓ４２５）が実行されていない操作履歴（以下、「未検査履歴」という）が操作履歴ファイル３９２ａに残っているか判定する。
未検査履歴が有る場合（ＹＥＳ）、処理はＳ４２１に進み、未検査履歴が無い場合（ＮＯ）、処理はＳ４３０に進む。
【０１６０】
＜Ｓ４２１＞
Ｓ４２０において未検査履歴が有る場合（ＹＥＳ）、操作履歴検査部１５０は、操作履歴ファイル３９２ａから未検査履歴を１件選択して取り出す。
Ｓ４２１の後、処理はＳ４２２に進む。
【０１６１】
＜Ｓ４２２＞
Ｓ４２１において未検査履歴を取り出した後、操作履歴検査部１５０は、取り出した未検査履歴（以下、「検査対象履歴」という）に対応するレコードを利用権マスタテーブル１９０ａから取得する。
具体的に、操作履歴検査部１５０は、検査対象履歴に示されるコンテンツＩＤおよびユーザＩＤと一致するレコードを利用権マスタテーブル１９０ａから取得する。
Ｓ４２２の後、処理はＳ４２３に進む。
【０１６２】
＜Ｓ４２３＞
Ｓ４２２において検査対象履歴に対応するレコードを利用権マスタテーブル１９０ａから取得した後、操作履歴検査部１５０は、検査対象履歴の操作日時と取得した利用権マスタテーブル１９０ａのレコード（以下、「対応レコード」という）の更新日時とを比較する。
検査対象履歴の操作日時が対応レコードの更新日時以降の日時である場合（ＹＥＳ）、操作履歴検査部１５０はセキュリティ違反の可能性があると判定し、処理はＳ４２４に進む。
検査対象履歴の操作日時が対応レコードの更新日時以前の日時である場合（ＮＯ）、操作履歴検査部１５０はセキュリティ違反でないと判定し、処理はＳ４２０に戻る。
【０１６３】
＜Ｓ４２４＞
Ｓ４２３において検査対象履歴の操作日時が対応レコードの更新日時以降の日時である場合（ＹＥＳ）、操作履歴検査部１５０は、検査対象履歴の操作と対応レコードの利用権限とを比較する。
検査対象履歴の操作が対応レコードの利用権限に利用可能な操作として設定されている操作である場合（ＹＥＳ）、操作履歴検査部１５０はセキュリティ違反でないと判定し、処理はＳ４２０に戻る。
検査対象履歴の操作が対応レコードの利用権限に利用可能な操作として設定されていない操作である場合（ＮＯ）、操作履歴検査部１５０はこの操作をセキュリティ違反と判定し、処理はＳ４２５に進む。
例えば、対応レコードの利用権限が「閲覧可」「印刷可」「編集不可」であり、検査対象履歴の操作が「編集」である場合、操作履歴検査部１５０は、この操作をセキュリティ違反と判定する。
【０１６４】
＜Ｓ４２５＞
Ｓ４２４において検査対象履歴の操作が対応レコードの利用権限に利用可能な操作として設定されていない操作である場合（ＮＯ）、操作履歴検査部１５０は、検査対象履歴を違反履歴ファイル１９２ａに追加して設定する。
Ｓ４２５の後、処理はＳ４２０に戻る。
【０１６５】
＜Ｓ４３０＞
Ｓ４２０において未検査履歴が無い場合（ＮＯ）、操作履歴検査部１５０は、違反履歴格納部１９２から違反履歴ファイル１９２ａを取得し、取得した違反履歴ファイル１９２ａを管理者端末４１０に送信する。違反履歴ファイル１９２ａを受信した管理者端末４１０は、違反履歴ファイル１９２ａを表示装置９０１に表示してセキュリティ違反があったことを管理者に知らせる。
Ｓ４３０の後、処理は終了する。
【０１６６】
実施の形態４では、以下のような分散型利用権管理システム９００について説明した。
利用者端末４００は、コンテンツに対する操作履歴を取得し、キャッシュサーバ３００へ送信する操作履歴送信部４０２を備える。
キャッシュサーバ３００は、操作履歴格納部３９２および操作履歴管理部３５０を備える。
操作履歴格納部３９２は、操作履歴を格納する。
操作履歴管理部３５０は、利用者端末４００から操作履歴を受信すると操作履歴格納部３９２に格納するとともに、操作履歴送信指示を受けると操作履歴格納部３９２の内容（操作履歴ファイル３９２ａ）をマスタサーバ１００へ送信する。
マスタサーバは、キャッシュサーバ３００の操作履歴管理部３５０から操作履歴を受信すると、利用権マスタ格納部１９０に含まれる最新の利用権と比較してセキュリティ違反を検査する操作履歴検査部１５０を備える。
ネットワーク障害の可能性ありと判定された場合に、ライセンス代理発行部３１０は利用者端末４００に対して操作履歴送信を指示し、操作履歴管理部３５０は操作履歴の収集・蓄積を行うとともに、障害復旧時に蓄積した操作履歴を操作履歴検査部１５０へ送信し、操作履歴検査部１５０が障害中のセキュリティ違反を検出する。
【０１６７】
分散型利用権管理システム９００は、ネットワーク障害中もキャッシュを用いたライセンス発行を行うことでコンテンツ利用の可用性を向上させるとともに、障害中のセキュリティ違反を検出することができる。
【図面の簡単な説明】
【０１６８】
【図１】図１は、実施の形態１における分散型利用権管理システム９００の装置構成図。
【図２】実施の形態１におけるハードウェア資源の一例を示す図。
【図３】実施の形態１における分散型利用権管理システム９００のコンテンツ利用方法および利用権管理方法を示すフローチャート。
【図４】実施の形態１における分散型利用権管理システム９００の機能構成図。
【図５】実施の形態１における利用権マスタテーブル１９０ａおよび利用権キャッシュテーブル３９０ａを示す図。
【図６】実施の形態１におけるコンテンツ鍵マスタテーブル１９１ａおよびコンテンツ鍵キャッシュテーブル３９１ａを示す図。
【図７】実施の形態１におけるライセンス発行処理（Ｓ１１２）のフローチャート。
【図８】実施の形態１におけるキャッシュ取得部３２０によるキャッシュ取得処理（Ｓ２２０）のフローチャート。
【図９】実施の形態１における障害監視判定部３４０による障害判定処理（Ｓ２３０）のフローチャート。
【図１０】実施の形態１におけるキャッシュ更新処理（Ｓ１４２）のフローチャート。
【図１１】実施の形態２におけるライセンス発行処理（Ｓ１１２）のフローチャート。
【図１２】実施の形態３における利用権マスタテーブル１９０ａおよび利用権キャッシュテーブル３９０ａを示す図。
【図１３】実施の形態３におけるライセンス発行処理（Ｓ１１２）のフローチャート。
【図１４】実施の形態４における分散型利用権管理システム９００の機能構成図。
【図１５】実施の形態４における利用権マスタテーブル１９０ａを示す図。
【図１６】実施の形態４における操作履歴ファイル３９２ａを示す図。
【図１７】実施の形態４におけるライセンス発行処理（Ｓ１１２）のフローチャート。
【図１８】実施の形態４におけるキャッシュ取得部３２０によるキャッシュ取得処理（Ｓ２２０）のフローチャート。
【図１９】実施の形態１における障害監視判定部３４０による障害判定処理（Ｓ２３０）のフローチャート、
【図２０】実施の形態１におけるキャッシュ更新処理（Ｓ１４２）のフローチャート。
【図２１】実施の形態４における操作履歴検査方法を示すフローチャート。
【符号の説明】
【０１６９】
１００  マスタサーバ、１１０  ライセンス発行部、１２０  ライセンス情報複製部、１３０  利用権更新部、１４０  監視応答部、１５０  操作履歴検査部、１９０  利用権マスタ格納部、１９０ａ  利用権マスタテーブル、１９１  コンテンツ鍵マスタ格納部、１９１ａ  コンテンツ鍵マスタテーブル、１９２  違反履歴格納部、１９２ａ  違反履歴ファイル、２００  監視応答装置、２１０  監視応答部、３００  キャッシュサーバ、３１０  ライセンス代理発行部、３２０  キャッシュ取得部、３３０  キャッシュ更新部、３４０  障害監視判定部、３５０  操作履歴管理部、３９０  利用権キャッシュ格納部、３９０ａ  利用権キャッシュテーブル、３９１  コンテンツ鍵キャッシュ格納部、３９１ａ  コンテンツ鍵キャッシュテーブル、３９２  操作履歴格納部、３９２ａ  操作履歴ファイル、４００  利用者端末、４０１  コンテンツ操作部、４０２  操作履歴送信部、４０９  利用者端末記憶部、４１０  管理者端末、４２０  ネットワーク、９００  分散型利用権管理システム、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
2010129036.tif 000003
【図２】
2010129036.tif 000004
【図３】
2010129036.tif 000005
【図４】
2010129036.tif 000006
【図５】
2010129036.tif 000007
【図６】
2010129036.tif 000008
【図７】
2010129036.tif 000009
【図８】
2010129036.tif 000010
【図９】
2010129036.tif 000011
【図１０】
2010129036.tif 000012
【図１１】
2010129036.tif 000013
【図１２】
2010129036.tif 000014
【図１３】
2010129036.tif 000015
【図１４】
2010129036.tif 000016
【図１５】
2010129036.tif 000017
【図１６】
2010129036.tif 000018
【図１７】
2010129036.tif 000019
【図１８】
2010129036.tif 000020
【図１９】
2010129036.tif 000021
【図２０】
2010129036.tif 000022
【図２１】
2010129036.tif 000023