(57)【要約】【課題】データ重複除去技術が行われたストレージシステムにて、ストレージの使用量に合った課金額を算出すること。【解決手段】管理装置１０５は、異なる複数のデータを記憶するデータベース５０１から、記憶部５０４によって、提供を受ける提供先の数の情報を記憶する。抽出部５０５にていずれかの提供先が提供を受けるデータの各々について、提供先の数の情報を抽出する。課金額算出部５０７にて、抽出された提供先の数の情報に基づいて、いずれかの提供先についての課金額を算出する。出力部５０８にて課金額を出力する。【選択図】図５
2011090390.tif 000002
【特許請求の範囲】
【請求項１】
異なる複数のデータを記憶するデータベースを管理するコンピュータを、
前記複数のデータに含まれる各データについて、提供を受ける提供先の数の情報を記憶する記憶手段、
前記記憶手段に記憶されている情報から、いずれかの提供先が提供を受けるデータの各々について、提供先の数の情報を抽出する抽出手段、
前記抽出手段によって抽出された該いずれかの提供先が提供を受ける各データについての提供先の数の情報に基づいて、前記いずれかの提供先についての課金額を算出する課金額算出手段、
前記課金額算出手段によって算出された課金額を出力する出力手段、
として機能させることを特徴とする課金額算出プログラム。
【請求項２】
ファイルの構成要素である複数の異なるデータを記憶するデータベースを管理するコンピュータを、
前記複数の異なるデータのそれぞれについて、提供を受ける提供先の数の情報を記憶する記憶手段、
前記記憶手段に記憶されている前記情報に基づいて、いずれかの提供先が提供を受ける特定のファイルに含まれる各データについて、提供先の数の情報を抽出する抽出手段、
前記抽出手段によって抽出された、前記特定のファイルに含まれる各データについての提供先の数の情報に基づいて、前記いずれかの提供先に対する前記データベースの課金額を算出する課金額算出手段、
前記課金額算出手段によって算出された課金額を出力する出力手段、
として機能させることを特徴とする課金額算出プログラム。
【請求項３】
前記コンピュータを、
前記提供先ごとに提供されるデータの数を取得する取得手段、
前記取得手段によって取得された数に基づいて、前記記憶手段に記憶されている、前記複数のデータに含まれる各データについて提供を受ける提供先の数の情報を更新する更新手段として機能させ、
前記抽出手段は、
前記更新手段による更新後における前記各データについて提供を受ける提供先の数の情報の中から、前記いずれかの提供先が提供を受けるデータの各々について提供先の数の情報を抽出することを特徴とする請求項１または２に記載の課金額算出プログラム。
【請求項４】
前記コンピュータを、
前記いずれかの提供先が提供を受ける各データについての提供先の数の情報に基づいて、前記いずれかの提供先が提供を受ける各データの一提供先あたりのサイズを求めることにより、前記いずれかの提供先が提供を受ける各データが他の提供先にも重複して提供されていることを示す重複度を算出する重複度算出手段として機能させ、
前記課金額算出手段は、
前記重複度算出手段によって算出された重複度に基づいて、前記いずれかの提供先に対する前記データベースの課金額を算出することを特徴とする請求項１〜３のいずれか１つに記載の課金額算出プログラム。
【請求項５】
前記重複度算出手段は、
下記式（１）により前記重複度を算出することを特徴とする請求項４に記載の課金額算出プログラム。
【数１】
2011090390.tif 000011
ただし、Ｄｔは重複度を、ｎはいずれかの提供先が提供を受けるデータの総数を、Ｄｓはいずれかの提供先が提供を受ける各データのサイズを、Ｄｃはいずれかの提供先が提供を受ける各データの総数を示す。
【請求項６】
前記課金額算出手段は、
下記式（２）により前記課金額を算出することを特徴とする請求項４または５に記載の課金額算出プログラム。
【数２】
2011090390.tif 000012
ただし、Ｃｔは課金額を、β１は定数を、α１は係数を、Ｓｔはいずれかの提供先が提供を受ける全データのサイズの合計値を、Ｄｔは重複度を、ｔｍは式（２）の算出周期を、ｔｎはｔｍ、Ｓｔの算出周期およびＤｔの算出周期のうち最小値を、ｔは時刻を示す。
【請求項７】
異なる複数のデータを記憶するデータベースを管理する課金額算出装置であって、
前記複数のデータに含まれる各データについて、提供を受ける提供先の数の情報を記憶する記憶手段と、
前記記憶手段に記憶されている情報から、いずれかの提供先が提供を受けるデータの各々について、提供先の数の情報を抽出する抽出手段と、
前記抽出手段によって抽出された該いずれかの提供先が提供を受ける各データについての提供先の数の情報に基づいて、前記いずれかの提供先についての課金額を算出する課金額算出手段と、
前記課金額算出手段によって算出された課金額を出力する出力手段と、
を備えることを特徴とする課金額算出装置。
【請求項８】
異なる複数のデータを記憶するデータベースに前記複数のデータに含まれる各データについて、提供を受ける提供先の数の情報を記憶する記憶手段と、抽出手段と、課金額算出手段と、出力手段と、を備えるコンピュータが、
前記抽出手段により、前記記憶手段に記憶されている情報から、いずれかの提供先が提供を受けるデータの各々について、提供先の数の情報を抽出する抽出工程と、
前記課金額算出手段により、前記抽出工程によって抽出された該いずれかの提供先が提供を受ける各データについての提供先の数の情報に基づいて、前記いずれかの提供先についての課金額を算出する課金額算出工程と、
前記出力手段により、前記課金額算出工程によって算出された課金額を出力する出力工程と、
を実行することを特徴とする課金額算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、重複除去技術を使用するストレージシステムの課金額を算出する課金額算出プログラム、課金額算出装置、および課金額算出方法に関する。
【背景技術】
【０００２】
従来のストレージシステムでは、ユーザに割り当てられている容量、もしくはユーザが使用しているデータ容量に応じて課金額が設定されている。しかし近年、ストレージシステムは、データ重複除去技術（ｄｅ−ｄｕｐｌｉｃａｔｉｏｎ）を持つようになった。データ重複除去技術とは、ユーザが使用しているデータに対してデータ実体として１つだけを保持し、同じデータに関してはデータ実体を指し示すインデックスを保持する技術である。
【０００３】
このデータ重複除去技術を適用したストレージシステムでは、他に同じ内容のものが存在するデータと存在しないデータとを比較すると、前者が大幅にストレージ容量を小さくするといった特色を持つ。このようなデータ重複除去技術を適用したストレージシステムは、ユーザが使用しているデータ容量と、実際にストレージで必要となる容量とが、他に同じ内容のものが存在するデータの量によって異なってくることになる。
【０００４】
上述したように、データ重複除去技術を適用したストレージシステムは、データ重複除去技術を適用していないストレージシステムより、より多くのデータを記憶できる。したがって、データ重複除去技術を適用したストレージシステムの運営者は、同じ使用量に対するユーザへの課金額を、データ重複除去技術を適用していないストレージシステムより低く設定することができる。
【０００５】
しかし、前述した低い課金額を設定した状態で、ユーザが重複しないデータを中心に使用していた場合、ユーザへの課金額とストレージシステム上でのデータ使用量が比例しないため、ストレージシステムにかかる費用を回収できない可能性がある。したがって、データ重複除去技術に対応した課金方法が必要となる。
【０００６】
データを共有するストレージシステムの課金方法としては、たとえば特許文献１では、共有ディスクを用意し、ファイル単位での「マスター＋ｄｉｆｆ」といった形で重複除去を行ったファイルを格納する。そして、ディスク共有数がｎ人ならばディスク使用量（≒課金）は１／ｎにする。特許文献２では、サーバに文書を格納し、文書を共有するといった形で重複除去を行う。そして課金額は、維持するコストが単位時間あたりα（円／ＫＢ）、文書Ａのサイズがβ（ＫＢ）、文書Ａの使用者がＮ（人）の場合に、（α×β）／Ｎ（円）とすることが記載されている。ファイルが共有されているほど各利用者が負担するコストが安くなる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１１７８６号公報
【特許文献２】特開２００２−２３６８０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１ではファイル単位で重複除去を行っているが、課金はディスク単位で行われている。この場合、ディスクのごく一部を使用しているユーザの課金額と、ディスクのほぼ全てを使用しているユーザの課金額とが等しくなってしまう。したがって、ユーザの使用量がストレージシステムの使用ディスク容量に影響を与えた割合をユーザの課金額に反映できていないという問題があった。
【０００９】
また、特許文献２では、背景画像が同一であっても本文が異なれば別の文書ファイルとして保存される。したがって、データの共有数が不正確となり、ユーザの使用量がストレージシステムの使用ディスク容量に影響を与えた割合をユーザの課金額に反映する精度が低いという問題があった。
【００１０】
このように、上述した従来技術では、データの共有数が多く使用ディスク容量の低減に貢献しているにも関わらずデータサイズが大きい場合には、課金額が上昇するというミスマッチが発生する。同様に、データサイズが小さくても共有数が少なく使用ディスク容量の増大を招く場合に、課金額が低下するというミスマッチが発生する。したがって、ユーザ間においても、課金額への不公平感を生むという問題があった。
【００１１】
本発明は、上述した従来技術による問題点を解消するため、ユーザの使用量が、データ重複除去技術を持つストレージシステムのディスク使用量に応じて、課金額の適正化を図ることができる課金額算出プログラム、課金額算出装置、および課金額算出方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、開示の課金額算出プログラム、課金額算出装置、および課金額算出方法は、複数のデータを記憶するデータベースから、各データについて、提供を受ける提供先の数の情報を記憶し、記憶されている情報から、いずれかの提供先が提供を受けるデータの各々について、提供先の数の情報を抽出し、抽出されたいずれかの提供先が提供を受ける各データについての提供先の数の情報に基づいて、いずれかの提供先についての課金額を算出し、算出された課金額を出力することを要件とする。
【発明の効果】
【００１３】
本課金額算出プログラム、課金額算出装置、および課金額算出方法によれば、ユーザの使用量が、データ重複除去技術を持つストレージシステムの使用ディスク容量への影響に応じて、課金額の適正化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態にかかるストレージシステムの構成を示すブロック図である。
【図２】管理装置１０５のハードウェア構成を示すブロック図である。
【図３】データ重複除去技術が行われていないストレージシステムのデータ格納イメージを示す図である。
【図４】データ重複除去技術が行われているストレージシステムのデータ格納イメージを示す図である。
【図５】管理装置１０５の機能的構成を示すブロック図である。
【図６】ユーザごとの使用しているデータの使用量テーブルの例を示す図である。
【図７】ユーザごとの使用しているデータの重複度テーブルの例を示す図である。
【図８】ユーザＡの課金額算出の様子を示す図である。
【図９】使用量算出処理のフローチャートである。
【図１０】一ユーザの使用量算出処理のフローチャートである。
【図１１】重複度算出処理のフローチャートである。
【図１２】一ユーザが使用するデータの一提供先あたりの使用量算出処理のフローチャートである。
【図１３】一ユーザの課金額算出処理のフローチャートである。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して、本発明にかかる課金額算出プログラム、課金額算出装置、および課金額算出方法の好適な実施の形態を詳細に説明する。
【００１６】
図１は、本発明の実施の形態にかかるストレージシステムの構成を示すブロック図である。ストレージシステム１０３はＷｅｂサーバ１０４と、管理装置１０５と、ストレージ装置１０７と、で構成する。ユーザ端末１０１−１からユーザ端末１０１−ｎまではストレージシステムを利用するクライアントである。ユーザ端末１０１−１からユーザ端末１０１−ｎまでとストレージシステム１０３とはインターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワーク１０２で接続されている。
【００１７】
ユーザ端末１０１−１からユーザ端末１０１−ｎまでは典型的にはＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）であり、Ｗｅｂブラウザ等を使用してＷｅｂサーバ１０４に接続し、ストレージシステム１０３を利用する。管理装置１０５は、ストレージシステム１０３を管理する。また、管理装置１０５は、課金額算出プログラム１０６を内部に保持する。具体的な処理の一つとして、管理装置１０５は、Ｗｅｂサーバ１０４からのストレージ装置１０７へのデータ格納要求を行う。
【００１８】
課金額算出プログラム１０６は、管理装置１０５が実行し、管理装置１０５はストレージ装置１０７の使用状態を取得し課金額を算出する。ストレージ装置１０７は複数のストレージを内部に保持する装置である。ストレージ１０８−１から１０８−ｍは、実体データを保持する。
【００１９】
（管理装置のハードウェア構成）
図２は、管理装置１０５のハードウェア構成を示すブロック図である。図２において、管理装置１０５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、を備えている。さらに、管理装置１０５は、磁気ディスクドライブ２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、ディスプレイ２０８と、を備えている。さらに、管理装置１０５は、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部は、バス２００によってそれぞれ接続されている。
【００２０】
ここで、ＣＰＵ２０１は、管理装置１０５の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００２１】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００２２】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２３】
Ｉ／Ｆ２０９は、通信回線を通じてＬＡＮ、ＷＡＮ、インターネットなどのネットワーク２１４に接続され、このネットワーク２１４を介してストレージシステム１０３の他の装置に接続される。ネットワーク２１４はストレージシステム１０３内部のネットワークであり、ネットワーク１０２とは異なる。しかし、管理装置１０５がストレージシステム１０３外に接続する場合は、同一でもよい。そして、Ｉ／Ｆ２０９は、ネットワーク２１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２４】
図３は、データ重複除去技術が行われていないストレージシステムのデータ格納イメージを示す図である。ユーザＡはファイル１とファイル２とを保持している。ユーザＢはファイル３を保持している。ファイル１は３つの区分で構成しており、それぞれａ＿ｄａｔａ、ｂ＿ｄａｔａおよびｃ＿ｄａｔａである。ファイル２は４つの区分で構成しており、それぞれｄ＿ｄａｔａ、ｅ＿ｄａｔａ、ｃ＿ｄａｔａおよびｅ＿ｄａｔａである。ファイル３は６つの区分で構成しており、それぞれｆ＿ｄａｔａ、ｇ＿ｄａｔａ、ｅ＿ｄａｔａ、ｂ＿ｄａｔａ、ｆ＿ｄａｔａおよびｃ＿ｄａｔａである。
【００２５】
各区分で同一名称であるものは同一内容であることを示している。たとえば、ファイル２の左から２番目と４番目とはｅ＿ｄａｔａとなり同一内容であることを示している。また、ファイル１の左から３番目とファイル３の左から６番目とはｃ＿ｄａｔａとなり同一内容であることを示している。上述のように、同一内容のデータが複数存在していてもそれぞれの領域を確保する方法が、データ重複除去技術が行われていないストレージシステムのデータ格納方法である。次にデータ重複除去技術が行われているストレージシステムのデータ格納方法を説明する。
【００２６】
図４は、データ重複除去技術が行われているストレージシステムのデータ格納イメージを示す図である。図１で示したストレージシステム１０３は実体データを３つの領域を使用して管理する。３つの領域は、インデックスデータ管理テーブル４０１と、実体データ管理テーブル４０２と、実体データ領域である。
【００２７】
インデックスデータ管理テーブル４０１は、ユーザ名とユーザごとの保持ファイルのファイルインデックスとを保持する。ここでファイルインデックスとは、ファイルを断片化した実体データを管理する、実体データ管理インデックスの集合である。たとえば図３にて、ユーザＡが使用するファイル１の構成はａ＿ｄａｔａ、ｂ＿ｄａｔａおよびｃ＿ｄａｔａであったが、図４では、＆ａ、＆ｂおよび＆ｃとなる。ここで＆演算子は、実体データのインデックスを示す演算子とする。たとえば＆ａはａのインデックスを示す。同様に、ファイル２の構成は＆ｄ、＆ｅ、＆ｃおよび＆ｅとなり、ファイル３の構成は＆ｆ、＆ｇ、＆ｅ、＆ｂ、＆ｆおよび＆ｃとなる。
【００２８】
実体データ管理テーブル４０２は、各実体データを管理するテーブルである。各レコードは、サイズ、共有数、実体データインデックスを保持する。サイズは実体データのサイズである。共有数は、管理装置１０５がファイルインデックスを使用して提供先に実体データを送信する実体データ管理インデックスの総数である。具体的には、ａは１箇所に＆ａがあり、ｂは３箇所に＆ｂが存在することになる。実体データインデックスは実体データへのインデックスである。具体的には、＆ａ＿ｄａｔａはａ＿ｄａｔａへのインデックスを示す。
【００２９】
実体データ領域は実体データ群を管理する。図４で示したインデックスデータ管理テーブル４０１と、実体データ管理テーブル４０２と、実体データ領域は、ストレージシステム１０３にある管理装置１０５に存在するデータ重複除去技術の機能を持つ重複除去プログラムによって管理される。重複除去プログラムは、後述する図５の取得部５０２、更新部５０３の機能を持つ。動作タイミングとしては、ユーザがデータの新規追加、更新、削除を行う度、もしくは一定時間おきに、重複除去プログラムが作動する。
【００３０】
管理装置１０５は、重複除去プログラムを使用して、データの新規追加、もしくは更新があった場合、追加もしくは更新されたデータと同じデータが既に実体データ領域に存在するかを確認する。この際の確認方法としては、各データのハッシュ値を取り一致するかを確認する、等が存在する。同じデータが存在する場合、管理装置１０５は、実体データ管理テーブル４０２の該当レコードの共有数を追加し、ファイルインデックスでは該当レコードを指し示すようにする。更新された場合はさらに、管理装置１０５は、更新前のデータの削除を行う。削除方法は後述するデータの削除と等しい。
【００３１】
管理装置１０５はデータの削除があった場合、該当のファイルインデックスを削除し、前記ファイルインデックスで示されている、全ての実体データ管理インデックスについて、実体データ管理テーブル４０２の該当レコードの共有数を１減少する。その結果、共有数が０になったレコードは実体データインデックスが指し示す実体データを削除し、前記レコードを削除する。
【００３２】
（管理装置の機能的構成）
次に、管理装置１０５の機能的構成について説明する。図５は、管理装置１０５の機能的構成を示すブロック図である。課金額算出プログラム１０６を内部に保持する管理装置１０５は、取得部５０２と、更新部５０３と、記憶部５０４と、抽出部５０５と、重複度算出部５０６と、課金額算出部５０７と、出力部５０８と、を含む構成である。管理装置１０５はデータベース５０１と接続している。
【００３３】
課金額算出プログラム１０６は、管理装置１０５が保持する、記憶部５０４と、抽出部５０５と、課金額算出部５０７と、出力部５０８と、で構成される。取得部５０２と、更新部５０３とを含めてもよいし、重複度算出部５０６を含めてもよい。また、課金額算出プログラム１０６は、管理装置１０５とは異なるコンピュータに存在してもよい。
【００３４】
この制御部となる機能（取得部５０２〜出力部５０８）は、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などに記憶されたプログラムをＣＰＵ２０１が実行することにより、その機能を実現する。または、Ｉ／Ｆ２０９を経由して他のＣＰＵが実行することにより、その機能を実現してもよい。
【００３５】
データベース５０１は、管理装置１０５の外部または内部にあり、異なる複数のデータを記憶している領域である。異なる複数のデータは、組み合わせることによりファイルを構成するという、ファイルの構成要素であってもよい。提供先とは、ファイルを使用するユーザ端末であり、ユーザ端末がデータもしくはファイルを使用するときに、管理装置１０５がデータを組み合わせ、ユーザ端末へ送信する。データを組み合わせるときに、同一内容を使用する場合、１つのデータが共有して使用されることになる。具体的なデータ構成としては、前述した図４となる。
【００３６】
また、一つのユーザ端末が複数のデータを持ち、ファイルを構成するデータの中で、共有されたデータがある場合は、データの提供を受ける提供先はファイルごとに存在するため、提供先の数の情報は複数となる。データベース５０１は、図１で示したストレージ装置１０７、その内部にあるストレージ１０８−１から１０８−ｍが対応する。
【００３７】
取得部５０２は、データベース５０１に保持されているデータに関し、提供先ごとに提供されるデータの数を取得する機能を有する。具体的には、たとえば、図４で示した実体データ管理テーブル４０２のレコード数を取得する。取得されたファイルは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００３８】
更新部５０３は、取得部５０２によって取得されたデータに基づいて、記憶部５０４に記憶されている、複数のデータに含まれる各データについて、提供を受ける提供先、たとえばユーザ端末、の数の情報を更新する機能を有する。具体的には、たとえば、ユーザ端末１０１−１によって更新されたファイルがあり、ファイルが３つのデータＡ、Ｂ、Ｃで構成されているとする。更新によって、Ａが更新され、Ａ´になった場合、Ａの提供を受ける提供先の数は１減り、Ａ´の提供を受ける提供先の数は１増加する。なお、更新された提供先の数の情報は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００３９】
記憶部５０４は、複数のデータに含まれる各データについて、提供を受ける提供先の数の情報を記憶する機能を有する。具体的には、図４で示した共有数フィールドとなる。なお、記憶されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４０】
抽出部５０５は、記憶部５０４もしくは更新部５０３によって、記憶もしくは更新されている提供先の数の情報から、いずれかの提供先が提供を受けるデータの各々について、提供先の数の情報を抽出する機能を有する。また、いずれかの提供先が提供を受ける特定のファイルに含まれる各データについて、提供先の数の情報を抽出してもよい。また、更新部５０３が提供先の数の情報を更新した後に、抽出部５０５が抽出してもよい。
【００４１】
具体的には、たとえば、前述した図４で示すインデックスデータ管理テーブル４０１のユーザＡに関して抽出する場合、提供先が提供を受けるデータは２つのファイルインデックスの実体データ管理インデックスで示される、ａ、ｂ、ｃとｄ、ｅ、ｃ、ｅとなる。続けて、取得した各データに関して、実体データ管理テーブル４０２の対応するレコードの共有数フィールドが、データの提供を受ける提供先の数の情報となる。なお、抽出されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４２】
重複度算出部５０６は、抽出部５０５によって抽出された、いずれかの提供先が提供を受ける各データについての提供先の数の情報に基づいて、各データの一提供先あたりのサイズを求めることにより、重複度を算出する機能を有する。重複度は、各データが他の提供先にも重複していることを示している。
【００４３】
具体的には、たとえば、前述したユーザＡの場合では、ユーザＡの使用量として、ファイルの合計サイズを算出する。この例では（１９＋１２＋８）＋（３１＋４＋８＋４）＝８６となる。また、各データの一提供先あたりのサイズは、それぞれ、ａが１９／１、ｂが１２／３、ｃが８／９、ｄが３１／１、ｅが４／８０、ｃが８／９、ｅが４／８０となる。これらの値を合計すると約５５．９となる。使用量とした数値とデータの一提供先あたりのサイズとの商が重複度となり、約１．５となる。なお、算出されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４４】
課金額算出部５０７は、いずれかの提供先が提供を受けるデータについての提供先の数の情報に基づいて、提供先に対するデータベースの課金額を算出する機能を有する。また、重複度算出部５０６によって算出された重複度に基づいて、課金額を算出してもよい。
【００４５】
具体的には、たとえば、ユーザＢの課金額は、ユーザＢの使用量に関わらず固定でかかる固定分と、重複度を使用した従量分とを分割して算出する。従量分はファイルの合計サイズ、（１９＋１２＋８）＋（３１＋４＋８＋４）＝８６と、前述で算出した重複度１．５の商に、適切な係数との積で求める。なお、算出されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４６】
出力部５０８は、課金額算出部５０７で算出した課金額を出力する機能を有する。具体的には、たとえば、出力した課金額を、ネットワーク１０２を経由してユーザ端末１０１−１等に送信する。出力形式としては、たとえば、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部装置への送信がある。また、出力した課金額を、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶することとしてもよい。
【００４７】
前述した重複除去プログラムの管理によるテーブル群を使用して、管理装置１０５は本発明の実施の形態による課金額算出プログラム１０６を実行し、使用量算出処理、重複度算出処理、課金額算出処理を行う。続けて管理装置１０５が各処理内で使用する内部テーブルの説明を行う。
【００４８】
図６は、ユーザごとの使用しているデータの使用量テーブルの例を示す図である。使用量テーブルは時刻フィールドと、ユーザ分のフィールドを持つ。各レコードは管理装置１０５が使用量算出処理を実行する度に追加し、その実行時刻を時刻フィールドに、その時刻での使用量をユーザごとのフィールドにそれぞれ記録する。ｔｓは使用量算出処理の起動周期である。
【００４９】
図７は、ユーザごとの使用しているデータの重複度テーブルの例を示す図である。重複度テーブルは時刻フィールドと、ユーザ分のフィールドを持つ。各レコードは管理装置１０５が重複度算出処理を実行する度に追加し、その実行時刻を時刻フィールドに、その時刻での重複度をユーザごとのフィールドにそれぞれ記録する。ｔｄは重複度算出処理の起動周期である。重複度の具体的な計算式としては、後述する式（１）である。
【００５０】
図８は、ユーザＡの課金額算出の様子を示す図である。ｔｓ、ｔｄはそれぞれ図６、図７で示した使用量算出処理の起動周期、重複度算出処理の起動周期である。ｔｍは課金額算出処理の起動周期である。ｔｎはｔｓ、ｔｄおよびｔｍのうち最小の値である。課金額算出処理が起動すると、ｔｎの間隔で課金額を算出する。各起動周期において、たとえば、ｔｍは１日おきに行うことで、１日ごとの課金額を算出することができる。
【００５１】
具体的には、たとえば、初めの１区間目では、ユーザＡの使用量は図６で示す使用量テーブルのうち、時刻フィールドが０のレコードを使用し、使用量は８６となる。同様に、ユーザＡの重複度は図７で示す重複度テーブルのうち、時刻フィールドが０のレコードを使用し、重複度は１．５となる。課金額は使用量Ｓｔと重複度Ｄｔとを引数とする関数ｆ（Ｓｔ，Ｄｔ）で算出する。関数ｆの具体例は後述する。このように管理装置１０５は各区間内の課金額を算出し、ｔｍ／ｔｎ回の区間内の課金額を算出し終えた後、区間内の課金額の和を求め、出力部５０８へ出力する。
【００５２】
関数ｆはＳｔの増加により増加し、Ｄｔの増加により減少する性質を持つ関数であればよい。具体例としては、後述する式（２）〜（４）である。
【００５３】
管理装置１０５は、前述した使用量テーブル、重複度テーブルを使用して使用量算出処理、重複度算出処理、課金額算出処理を行う。続けて、各処理のフローの説明を行う。
【００５４】
図９は、使用量算出処理のフローチャートである。管理装置１０５は、使用量テーブルを初期化する（ステップＳ９０１）。後に、管理装置１０５は、前回の使用量算出処理の実行から一定時間経過したかを確認する（ステップＳ９０２）。ここでの一定時間とは使用量算出周期ｔｓとなる。一定時間経過していない場合（ステップＳ９０２：Ｎｏ）、管理装置１０５は、一定時間経過まで待機し（ステップＳ９０３）、再びステップＳ９０２に戻る。
【００５５】
一定時間経過していた場合（ステップＳ９０２：Ｙｅｓ）、管理装置１０５は、使用量テーブルにレコードを追加し、時刻フィールドに経過時刻を設定する（ステップＳ９０４）。次に、管理装置１０５は、変数ｉを０に設定する（ステップＳ９０５）。管理装置１０５は、ｉとユーザ数を比較し（ステップＳ９０６）、ｉがユーザ数以上になったら（ステップＳ９０６：Ｎｏ）、ステップＳ９０２に戻る。
【００５６】
ｉがユーザ数より少ない場合（ステップＳ９０６：Ｙｅｓ）、管理装置１０５は、ユーザｉ番目に対する使用量算出処理を行う（ステップＳ９０７）。管理装置１０５は、その処理で取得した使用量を、ステップＳ９０４で追加した使用量テーブルのレコードに対して、ユーザｉフィールドに前述で取得した使用量を設定する（ステップＳ９０８）。その後、管理装置１０５は、変数ｉをインクリメントし（ステップＳ９０９）、ステップＳ９０６に戻る。次に一ユーザに対する使用量算出処理について説明する。
【００５７】
図１０は、一ユーザの使用量算出処理のフローチャートである。一ユーザの使用量算出処理は、使用量算出処理（図９）から引数で、何番目のユーザを処理するかを変数ｉとして取得している。その変数ｉを使用して、管理装置１０５は、インデックスデータ管理テーブル４０１からユーザｉのレコードを取得する（ステップＳ１００１）。次に、管理装置１０５は、このフローで変数として使用する使用量を０に設定する（ステップＳ１００２）。
【００５８】
続けて、管理装置１０５は、ステップＳ１００１で取得したレコードから、ユーザｉの使用している一番先頭のファイルインデックスを取得し（ステップＳ１００３）、そのファイルインデックスが存在するかを確認する（ステップＳ１００４）。存在しない場合（ステップＳ１００４：Ｎｏ）、管理装置１０５は、使用量を出力し（ステップＳ１０１１）、関数を終了する。
【００５９】
ファイルインデックスが存在する場合（ステップＳ１００４：Ｙｅｓ）、管理装置１０５は、変数ｊを用意し、０に初期化する（ステップＳ１００５）。管理装置１０５は、取得したファイルインデックス内にｊ番目の実体データ管理インデックスが存在するかを確認する（ステップＳ１００６）。存在しない場合（ステップＳ１００６：Ｎｏ）、そのファイルに関する使用量の算出は終了したことになるため、管理装置１０５は、ユーザｉが使用している次のファイルインデックスを取得する（ステップＳ１００７）。取得後、管理装置１０５は、再びそのファイルインデックスが存在するかを確認する（ステップＳ１００４）。
【００６０】
ｊ番目の実体データ管理インデックスが存在する場合（ステップＳ１００６：Ｙｅｓ）、管理装置１０５は、ｊ番目の実体データ管理インデックスが指し示す、実体データ管理テーブル４０２のレコードを取得する（ステップＳ１００８）。取得後、管理装置１０５は、使用量に取得したレコードのサイズフィールドの値を加算し（ステップＳ１００９）、変数ｊをインクリメントする（ステップＳ１０１０）。管理装置１０５は、ユーザｉの使用するファイルインデックス全てに対し、前述の処理を行う。次に、重複度算出処理のフローを説明する。
【００６１】
図１１は、重複度算出処理のフローチャートである。重複度算出処理を行うと、後述する式（１）を求めたことになる。管理装置１０５は、重複度テーブルを初期化する（ステップＳ１１０１）。管理装置１０５は、前回の重複度算出処理の実行から一定時間経過したかを確認する（ステップＳ１１０２）。ここでの一定時間とは重複度算出周期ｔｄとなる。管理装置１０５は、一定時間経過していない場合（ステップＳ１１０２：Ｎｏ）、一定時間経過まで待機し（ステップＳ１１０３）、再びステップＳ１１０２に戻る。
【００６２】
一定時間経過していた場合（ステップＳ１１０２：Ｙｅｓ）、管理装置１０５は、重複度テーブルにレコードを追加し、時刻フィールドに経過時刻を設定する（ステップＳ１１０４）。次に、管理装置１０５は、変数ｉを０に設定する（ステップＳ１１０５）。管理装置１０５は、ｉとユーザ数を比較し（ステップＳ１１０６）、ｉがユーザ数以上になったら（ステップＳ１１０６：Ｎｏ）、ステップＳ１１０６からステップＳ１１１０までのループを抜け、ステップＳ１１０２に戻る。
【００６３】
ｉがユーザ数より少ない場合（ステップＳ１１０６：Ｙｅｓ）、管理装置１０５は、ユーザｉ番目に対する使用量算出処理を行う（ステップＳ１１０７）。一ユーザの使用量算出処理は、式（１）での分子の部分ΣＤｓにあたる。続けて、管理装置１０５は、ユーザｉが使用するデータの一提供先あたりの使用量算出処理を行う（ステップＳ１１０８）。ユーザｉが使用するデータの一提供先あたりの使用量算出処理は、式（１）での分母の部分Σ（Ｄｓ／Ｄｃ）にあたる。
【００６４】
次に、管理装置１０５は、ステップＳ１１０７で取得した使用量とステップＳ１１０８で取得したユーザｉが使用するデータの一提供先あたりの使用量との商を計算することで重複度を算出する。管理装置１０５は、ステップＳ１１０４で追加した重複度テーブルのレコードのユーザｉフィールドに、算出した重複度を設定する（ステップＳ１１０９）。その後、管理装置１０５は、変数ｉをインクリメントし（ステップＳ１１１０）、ステップＳ１１０６に戻る。次に一ユーザが使用するデータの一提供先あたりの使用量算出処理について説明する。
【００６５】
図１２は、一ユーザが使用するデータの一提供先あたりの使用量算出処理のフローチャートである。一ユーザが使用するデータの一提供先あたりの使用量算出処理は、重複度算出処理（図１１）から引数で、何番目のユーザを処理するかを変数ｉとして取得している。その変数ｉを使用して、管理装置１０５は、インデックスデータ管理テーブル４０１からユーザｉのレコードを取得する（ステップＳ１２０１）。次に、管理装置１０５は、このフローで変数として使用するデータの一提供先あたりの使用量を０に設定する（ステップＳ１２０２）。
【００６６】
続けて、管理装置１０５は、ステップＳ１２０１で取得したレコードから、ユーザｉの使用している一番先頭のファイルインデックスを取得し（ステップＳ１２０３）、そのファイルインデックスが存在するかを確認する（ステップＳ１２０４）。存在しない場合（ステップＳ１２０４：Ｎｏ）、管理装置１０５は、データの一提供先あたりの使用量を出力し（ステップＳ１２１１）、関数を終了する。
【００６７】
ファイルインデックスが存在する場合（ステップＳ１２０４：Ｙｅｓ）、管理装置１０５は、変数ｊを用意し、０に初期化する（ステップＳ１２０５）。管理装置１０５は、取得したファイルインデックス内にｊ番目の実体データ管理インデックスが存在するかを確認する（ステップＳ１２０６）。存在しない場合（ステップＳ１２０６：Ｎｏ）、そのファイルに関する使用量の算出は終了したことになるため、管理装置１０５は、ユーザｉが使用している次のファイルインデックスを取得する（ステップＳ１２０７）。取得後、管理装置１０５は、再びそのファイルインデックスが存在するかを確認する（ステップＳ１２０４）。
【００６８】
ｊ番目の実体データ管理インデックスが存在する場合（ステップＳ１２０６：Ｙｅｓ）、管理装置１０５は、ｊ番目の実体データ管理インデックスが指し示す、実体データ管理テーブル４０２のレコードを取得する（ステップＳ１２０８）。取得後、管理装置１０５は、データの一提供先あたりの使用量に取得したレコードのサイズフィールドと共有数フィールドとの商を加算し（ステップＳ１２０９）、変数ｊをインクリメントする（ステップＳ１２１０）。管理装置１０５は、ユーザｉの使用するファイルインデックス全てに対し、前述の処理を行う。次に、課金額算出処理のフローを説明する。
【００６９】
図１３は、一ユーザの課金額算出処理のフローチャートである。課金額算出処理では、任意の一ユーザに対して課金額を算出する。管理装置１０５は、前回の課金額算出処理の実行から一定時間経過したかを確認する（ステップＳ１３０１）。ここでの一定時間とは課金額算出周期ｔｍとなる。一定時間経過していない場合（ステップＳ１３０１：Ｎｏ）、管理装置１０５は、一定時間経過まで待機し（ステップＳ１３０２）、再びステップＳ１３０１に戻る。
【００７０】
一定時間経過していた場合（ステップＳ１３０１：Ｙｅｓ）、管理装置１０５は、使用量算出周期ｔｓ、重複度算出周期ｔｄおよび課金額算出周期ｔｍのうち最小値をｔｎに設定する（ステップＳ１３０３）。引き続き、管理装置１０５は、変数ｉを用意し経過時刻−ｔｍを設定する（ステップＳ１３０４）。さらに、管理装置１０５は、変数として課金額を用意し、０に設定する（ステップＳ１３０５）。
【００７１】
次に、管理装置１０５は、変数ｉと経過時刻を比較する（ステップＳ１３０６）。変数ｉの方が経過時刻以上の場合（ステップＳ１３０６：Ｎｏ）、管理装置１０５は、課金額を出力し（ステップＳ１３１１）、処理を終了する。
【００７２】
変数ｉが経過時刻より小さければ（ステップＳ１３０６：Ｙｅｓ）、管理装置１０５は、使用量テーブルの“時刻フィールド≦ｉ＜次のレコードの時刻フィールド”を満たすレコードを取得する。そして、管理装置１０５は、取得レコードの指定したユーザに対応するフィールドの値を一時変数Ｓｔに設定する（ステップＳ１３０７）。
【００７３】
同様に、管理装置１０５は、重複度テーブルの、“時刻フィールド≦ｉ＜次のレコードの時刻フィールド”を満たすレコードを取得し、指定したユーザに対応するフィールドの値を一時変数Ｄｔに設定する（ステップＳ１３０８）。管理装置１０５は、Ｓｔ、Ｄｔを引数とする関数ｆ（Ｓｔ，Ｄｔ）を求め、課金額に加算する（ステップＳ１３０９）。関数ｆは具体的には、後述する式（２）〜（４）となる。最後に変数ｉにｔｎを追加し（ステップＳ１３１０）、再びステップＳ１３０６に戻る。
【００７４】
以上の説明により本実施の形態にかかる管理装置１０５によれば、ユーザが使用するデータの一提供先あたりのサイズを算出することにより、ストレージシステム上でのデータ使用量に基づいた課金をユーザに対して行うことができる。したがって、ストレージシステム１０３の運営者は、ストレージ装置１０７にかかる費用を、ユーザのデータ使用状況に影響されずに回収することができる。
【００７５】
また、データの使用量とユーザが使用するデータの一提供先あたりのサイズに基づいた重複度とを使用して課金額を算出してもよい。
【００７６】
また、データ群は本実施の形態では複数のデータが結合され、ファイルを構成してもよかったが、結合されていない単体のファイルの集合であっても、前述した課金額算出プログラム１０６は有効に動作するものである。また、データの種類としても制限はない。文書ファイルや、図形ファイル、画像ファイル、動画ファイル等、どのようなフォーマットでもよい。
【００７７】
これにより、複数のユーザが共有するデータが多い程、ストレージシステムのディスク容量が低下するため、課金額を減らすことができる。その結果、ユーザは、重複するデータを優先して使用するようになり、よりストレージシステムの使用ディスク容量を低減するという好循環を生むことができる。
【００７８】
また、提供先ごとに提供されるデータの数を取得し、複数のデータに含まれる各データについて提供を受ける提供先の数の情報を更新してもよい。これにより、ストレージシステムの使用ディスク容量に変化があっても対応でき、複数のユーザが共有するデータが多い程、ストレージシステムの使用ディスク容量の低減に貢献することができ、課金額をできる限り低減することができる。
【００７９】
また、データごとの提供先の数の情報に基づいて、データの一提供先あたりのサイズを求めることにより、データが他の提供先にも重複していることを示す重複度を算出し、重複度に基づいて課金額を算出してもよい。
【００８０】
これにより、ストレージシステムの使用ディスク容量に影響を与えた割合を重複度という値で示し、重複度が大きい程ストレージシステムの使用ディスク容量の低減に貢献することができ、課金額をできる限り低減することができる。
【００８１】
また、重複度の計算式は下記式（１）を使用してもよい。
【数１】
2011090390.tif 000003
【００８２】
ただし、Ｄｔは重複度を、ｎはいずれかの提供先が提供を受けるデータの総数を、Ｄｓはいずれかの提供先が提供を受ける各データのサイズを、Ｄｃはいずれかの提供先が提供を受ける各データの総数を示す。
【００８３】
これにより、ストレージシステムの使用ディスク容量に影響を与えた割合を示す重複度を具体的に示し、重複度が大きい程ストレージシステムの使用ディスク容量の低減に貢献することができ、課金額をできる限り低減することができる。
【００８４】
また、課金額の計算式は下記式（２）を使用してもよい。
【数２】
2011090390.tif 000004
【００８５】
ただし、Ｃｔは課金額を、β１は定数を、α１は係数を、Ｓｔはいずれかの提供先が提供を受ける全データのサイズの合計値を、Ｄｔは重複度を、ｔｍは式（２）の算出周期を、ｔｎはｔｍ、Ｓｔの算出周期およびＤｔの算出周期のうち最小値を、ｔは時刻を示す。
【００８６】
これにより、ストレージシステムの使用ディスク容量に影響を与えた割合を示す重複度による課金額を算出し、重複度が大きい程ストレージシステムの使用ディスク容量が低下するため、課金額を線形的に減らすことができる。式（２）は、ユーザにとって課金額が把握しやすい課金方法である。ストレージシステムの使用ディスク容量の低減に貢献すれば、課金額をできる限り低減することができる。
【００８７】
また、課金額の計算式は下記式（３）を使用してもよい。
【数３】
2011090390.tif 000005
【００８８】
ただし、Ｃｔは課金額を、β２は定数を、α２は係数を、Ｓｔはいずれかの提供先が提供を受ける全データのサイズの合計値を、Ｄｔは重複度を、ｔｍは式（３）の算出周期を、ｔｎはｔｍ、Ｓｔの算出周期およびＤｔの算出周期のうち最小値を、ｔは時刻を示す。
【００８９】
これにより、ストレージシステムの使用ディスク容量に影響を与えた割合を示す重複度による課金額を算出し、重複度が大きい程ストレージシステムの使用ディスク容量が低下するため、課金額を対数関数的に減らすことができる。式（３）は大容量のストレージシステムで特にメリットがある。
【００９０】
具体的には、たとえば、ユーザＡが１キロバイトの文章を使用し、ユーザＢが１ギガバイトの動画を使用していた場合、Ｓｔの単位をバイトとして式（２）を適用すると、ユーザＢの課金額はユーザＡの課金額の１０の６乗倍になり、実用的な課金額ではない。式（３）を適用すると、ユーザＢの課金額はユーザＡの課金額の３倍となり、実用的な課金額となる。このように、ユーザ間の使用量に大きな差が発生する場合、ユーザの使用量の対数で計算することで使用量の大きい差もカバーできる課金額を算出でき、また、ストレージシステムの使用ディスク容量の低減に貢献すれば、課金額をできる限り低減することができる。
【００９１】
また、課金額の計算式は下記式（４）を使用してもよい。
【数４】
2011090390.tif 000006
【００９２】
ただし、Ｃｔは課金額を、Ｓｔはいずれかの提供先が提供を受ける全データのサイズの合計値を、Ｄｔは重複度を、ｔｍは式（４）の算出周期を、ｔｎはｔｍ、Ｓｔの算出周期およびＤｔの算出周期のうち最小値を、ｔは時刻を示す。また、Ｘ１、Ｘ２、・・・、ＸｋはＳｔとＤｔの商の合計に対応する閾値群を、Ｙ１、Ｙ２、・・・、ＹｋはＸ１、Ｘ２、・・・、Ｘｋに対応する利用金額群を示す。
【００９３】
これにより、ストレージシステムの使用ディスク容量に影響を与えた割合を示す重複度による課金額を算出し、重複度が大きい程ストレージシステムの使用ディスク容量が低下するため、課金額を段階的に減らすことができる。ここで、式（２）および式（３）は課金額の上限設定がない。一方、式（４）では、段階的に課金を行うことにより、たとえば、一定以上の使用量を超えた場合は課金額を固定額に設定することができる。したがって、最低でもある一定以上の課金は行われないという安心感をユーザに与えることができ、また、ストレージシステムの使用ディスク容量の低減に貢献すれば、課金額をできる限り低減するというメリットをユーザに与えることができる。
【００９４】
また、ユーザの使用量の算出周期が、重複度の算出周期より小さくてもよい。これにより、課金額の算出において、処理の負荷が小さく数値の変動が大きい使用量の算出周期を小さくし、処理の負荷が大きく数値の変動が小さい重複度の算出周期を大きくすることになる。したがって、処理の負荷が少なく、ユーザの使用状況によるデータの経時変化に対し、リアルタイムに近い課金額を算出することができる。
【００９５】
なお、本実施の形態で説明した課金額算出方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本課金額算出プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本課金額算出プログラムは、インターネット等のネットワークを介して配布してもよい。
【００９６】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００９７】
（付記１）異なる複数のデータを記憶するデータベースを管理するコンピュータを、
前記複数のデータに含まれる各データについて、提供を受ける提供先の数の情報を記憶する記憶手段、
前記記憶手段に記憶されている情報から、いずれかの提供先が提供を受けるデータの各々について、提供先の数の情報を抽出する抽出手段、
前記抽出手段によって抽出された該いずれかの提供先が提供を受ける各データについての提供先の数の情報に基づいて、前記いずれかの提供先についての課金額を算出する課金額算出手段、
前記課金額算出手段によって算出された課金額を出力する出力手段、
として機能させることを特徴とする課金額算出プログラム。
【００９８】
（付記２）ファイルの構成要素である複数の異なるデータを記憶するデータベースを管理するコンピュータを、
前記複数の異なるデータのそれぞれについて、提供を受ける提供先の数の情報を記憶する記憶手段、
前記記憶手段に記憶されている前記情報に基づいて、いずれかの提供先が提供を受ける特定のファイルに含まれる各データについて、提供先の数の情報を抽出する抽出手段、
前記抽出手段によって抽出された、前記特定のファイルに含まれる各データについての提供先の数の情報に基づいて、前記いずれかの提供先に対する前記データベースの課金額を算出する課金額算出手段、
前記課金額算出手段によって算出された課金額を出力する出力手段、
として機能させることを特徴とする課金額算出プログラム。
【００９９】
（付記３）前記コンピュータを、
前記提供先ごとに提供されるデータの数を取得する取得手段、
前記取得手段によって取得された数に基づいて、前記記憶手段に記憶されている、前記複数のデータに含まれる各データについて提供を受ける提供先の数の情報を更新する更新手段として機能させ、
前記抽出手段は、
前記更新手段による更新後における前記各データについて提供を受ける提供先の数の情報の中から、前記いずれかの提供先が提供を受けるデータの各々について提供先の数の情報を抽出することを特徴とする付記１または２に記載の課金額算出プログラム。
【０１００】
（付記４）前記コンピュータを、
前記いずれかの提供先が提供を受ける各データについての提供先の数の情報に基づいて、前記いずれかの提供先が提供を受ける各データの一提供先あたりのサイズを求めることにより、前記いずれかの提供先が提供を受ける各データが他の提供先にも重複して提供されていることを示す重複度を算出する重複度算出手段として機能させ、
前記課金額算出手段は、
前記重複度算出手段によって算出された重複度に基づいて、前記いずれかの提供先に対する前記データベースの課金額を算出することを特徴とする付記１〜３のいずれか１つに記載の課金額算出プログラム。
【０１０１】
（付記５）前記重複度算出手段は、
下記式（１）により前記重複度を算出することを特徴とする付記４に記載の課金額算出プログラム。
【数５】
2011090390.tif 000007
ただし、Ｄｔは重複度を、ｎはいずれかの提供先が提供を受けるデータの総数を、Ｄｓはいずれかの提供先が提供を受ける各データのサイズを、Ｄｃはいずれかの提供先が提供を受ける各データの総数を示す。
【０１０２】
（付記６）前記課金額算出手段は、
下記式（２）により前記課金額を算出することを特徴とする付記４または５に記載の課金額算出プログラム。
【数６】
2011090390.tif 000008
ただし、Ｃｔは課金額を、β１は定数を、α１は係数を、Ｓｔはいずれかの提供先が提供を受ける全データのサイズの合計値を、Ｄｔは重複度を、ｔｍは式（２）の算出周期を、ｔｎはｔｍ、Ｓｔの算出周期およびＤｔの算出周期のうち最小値を、ｔは時刻を示す。
【０１０３】
（付記７）前記課金額算出手段は、
下記式（３）により前記課金額を算出することを特徴とする付記４または５に記載の課金額算出プログラム。
【数７】
2011090390.tif 000009
ただし、Ｃｔは課金額を、β２は定数を、α２は係数を、Ｓｔはいずれかの提供先が提供を受ける全データのサイズの合計値を、Ｄｔは重複度を、ｔｍは式（３）の算出周期を、ｔｎはｔｍ、Ｓｔの算出周期およびＤｔの算出周期のうち最小値を、ｔは時刻を示す。
【０１０４】
（付記８）前記課金額算出手段は、
下記式（４）により前記課金額を算出することを特徴とする付記４または５に記載の課金額算出プログラム。
【数８】
2011090390.tif 000010
ただし、Ｃｔは課金額を、Ｓｔはいずれかの提供先が提供を受ける全データのサイズの合計値を、Ｄｔは重複度を、ｔｍは式（４）の算出周期を、ｔｎはｔｍ、Ｓｔの算出周期およびＤｔの算出周期のうち最小値を、ｔは時刻を、Ｘ１、Ｘ２、・・・、ＸｋはＳｔとＤｔの商の合計に対応する閾値群を、Ｙ１、Ｙ２、・・・、ＹｋはＸ１、Ｘ２、・・・、Ｘｋに対応する利用金額群を示す。
【０１０５】
（付記９）前記課金額算出手段は、
前記抽出手段によって抽出された前記対象提供先が受ける全データのサイズの合計値を算出する算出周期が、前記重複度を算出する算出周期より小さいことを特徴とする付記６〜８のいずれか１つに記載の課金額算出プログラム。
【０１０６】
（付記１０）異なる複数のデータを記憶するデータベースを管理する課金額算出装置であって、
前記複数のデータに含まれる各データについて、提供を受ける提供先の数の情報を記憶する記憶手段と、
前記記憶手段に記憶されている情報から、いずれかの提供先が提供を受けるデータの各々について、提供先の数の情報を抽出する抽出手段と、
前記抽出手段によって抽出された該いずれかの提供先が提供を受ける各データについての提供先の数の情報に基づいて、前記いずれかの提供先についての課金額を算出する課金額算出手段と、
前記課金額算出手段によって算出された課金額を出力する出力手段と、
を備えることを特徴とする課金額算出装置。
【０１０７】
（付記１１）ファイルの構成要素である複数の異なるデータを記憶するデータベースを管理する課金額算出装置であって、
前記複数の異なるデータのそれぞれについて、提供を受ける提供先の数の情報を記憶する記憶手段と、
前記記憶手段に記憶されている前記情報に基づいて、いずれかの提供先が提供を受ける特定のファイルに含まれる各データについて、提供先の数の情報を抽出する抽出手段と、
前記抽出手段によって抽出された、前記特定のファイルに含まれる各データについての提供先の数の情報に基づいて、前記いずれかの提供先に対する前記データベースの課金額を算出する課金額算出手段と、
前記課金額算出手段によって算出された課金額を出力する出力手段と、
を備えることを特徴とする課金額算出装置。
【０１０８】
（付記１２）異なる複数のデータを記憶するデータベースに前記複数のデータに含まれる各データについて、提供を受ける提供先の数の情報を記憶する記憶手段と、抽出手段と、課金額算出手段と、出力手段と、を備えるコンピュータが、
前記抽出手段により、前記記憶手段に記憶されている情報から、いずれかの提供先が提供を受けるデータの各々について、提供先の数の情報を抽出する抽出工程と、
前記課金額算出手段により、前記抽出工程によって抽出された該いずれかの提供先が提供を受ける各データについての提供先の数の情報に基づいて、前記いずれかの提供先についての課金額を算出する課金額算出工程と、
前記出力手段により、前記課金額算出工程によって算出された課金額を出力する出力工程と、
を実行することを特徴とする課金額算出方法。
【０１０９】
（付記１３）ファイルの構成要素である複数の異なるデータを記憶するデータベースに前記複数の異なるデータのそれぞれについて、提供を受ける提供先の数の情報を記憶する記憶手段と、抽出手段と、課金額算出手段と、出力手段と、を備えるコンピュータが、
前記抽出手段により、前記記憶手段に記憶されている前記情報に基づいて、いずれかの提供先が提供を受ける特定のファイルに含まれる各データについて、提供先の数の情報を抽出する抽出工程と、
前記課金額算出手段により、前記抽出工程によって抽出された、前記特定のファイルに含まれる各データについての提供先の数の情報に基づいて、前記いずれかの提供先に対する前記データベースの課金額を算出する課金額算出工程と、
前記出力手段により、前記課金額算出工程によって算出された課金額を出力する出力工程と、
を実行することを特徴とする課金額算出方法。
【符号の説明】
【０１１０】
１０５  管理装置
５０１  データベース
５０２  取得部
５０３  更新部
５０４  記憶部
５０５  抽出部
５０６  重複度算出部
５０７  課金額算出部
５０８  出力部
【図１】
2011090390.tif 000013
【図２】
2011090390.tif 000014
【図３】
2011090390.tif 000015
【図４】
2011090390.tif 000016
【図５】
2011090390.tif 000017
【図６】
2011090390.tif 000018
【図７】
2011090390.tif 000019
【図８】
2011090390.tif 000020
【図９】
2011090390.tif 000021
【図１０】
2011090390.tif 000022
【図１１】
2011090390.tif 000023
【図１２】
2011090390.tif 000024
【図１３】
2011090390.tif 000025
【手続補正書】
【提出日】平成22年10月25日(2010.10.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
具体的には、たとえば、ユーザＢの課金額は、ユーザＢの使用量に関わらず固定でかかる固定分と、重複度を使用した従量分とを分割して算出する。従量分はファイルの合計サイズ、（７＋９＋４＋１２＋７＋８）＝４７と、前述で算出した重複度１．５の商に、適切な係数との積で求める。なお、算出されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。