(57)【特許請求の範囲】
【請求項１】
第１の装置及び第２の装置を含むシステムであって、
前記第１の装置が、
複数の時間範囲のそれぞれについて、それぞれの時間範囲内に所定の通信路を介して通信されたデータのデータ量を計測する計測手段と、
前記複数の時間範囲の各時間範囲において通信されたデータを記憶する記憶手段と、
前記第２の装置に、前記計測手段が計測したデータ量の通知を行なう通知手段と、
を含み、
前記第２の装置が、                                                              前記第１の装置から前記通知を受信した場合に、前記記憶手段に記憶されたデータのうち、前記記憶手段に消去させずに保持させる対象とするデータを選択する選択情報を前記第１の装置に送信する送信手段と、
前記記憶手段に消去させずに保持させたデータを前記第１の装置から取得し、前記取得したデータのデータ量を再計測し、前記第１の装置から通知された前記データ量と照合する照合手段と、
を含むことを特徴とする指示システム。
【請求項２】
前記計測手段が、
複数の時間範囲それぞれについて、それぞれの時間範囲内に所定の通信路を介して通信されたデータのうち、所定の装置により通信されたデータのデータ量を計測することを特徴とする請求項１に記載の指示システム。
【請求項３】
前記計測手段が、
複数の時間範囲のそれぞれについて、それぞれの時間範囲内に所定の通信路を介して通信されたデータのうち、前記第２の装置により通信されたデータのデータ量を計測することを特徴とする請求項１に記載の指示システム。
【請求項４】
前記選択情報には、前記第２の装置が前記第１の装置からデータ量の通知を受信した時刻に依存する情報を含み、前記第１の装置では予め予想できないようにしたことを特徴とする請求項１ないし請求項３のいずれかに記載の指示システム。
【請求項５】
情報処理装置に接続される通信データ量の計測装置における記憶制御装置であって、
複数の時間範囲のそれぞれについて、それぞれの時間範囲内に所定の通信路を介して通信された通信データのデータ量を計測する計測手段と、
前記情報処理装置に、前記計測手段が計測した通信データ量と、それぞれの通信データ量に対応する時間範囲を示す情報とを含む通知を送信する第１の送信手段と、
前記情報処理装置から送られる受信時刻を含む応答情報を受信する受信手段と、
前記複数の時間範囲の各時間範囲において通信されたデータを記憶する記憶装置と、
前記情報処理装置からの前記応答情報に含まれる受信時刻を用いて、前記複数の時間範囲のうちのいずれかを選択する選択情報を算出し、前記選択情報により選択された時間範囲内に前記情報処理装置により通信された通信データを、消去させずに保持させる選択手段と、
前記情報処理装置による指示に応じて、前記記憶手段に記憶したデータを前記情報処理
装置に送信する第２の送信手段と、
を含むことを特徴とする記憶制御装置。
【請求項６】
情報処理装置が通信するデータ量を計測装置により計測する際の指示方法であって、
前記計測装置が、
複数の時間範囲のそれぞれについて、それぞれの時間範囲内に所定の通信路を介して通
信されたデータのデータ量を計測し、
前記複数の時間範囲の各時間範囲において通信されたデータを記憶し、
前記情報処理装置に、前記計測したデータ量の通知を行ない、
前記情報処理装置が、
前記通知を受信した後に、前記記憶されたデータのうち、消去させずに保持させる対象とするデータを選択する選択情報を前記計測装置に送信し、
前記消去させずに保持させたデータを前記計測装置から取得し、前記取得したデータのデータ量を再計測し、前記計測装置から通知された前記データ量と照合する
ことを特徴とする指示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置が通信したデータ量を計測する技術に関する。
【背景技術】
【０００２】
通信路上を伝送されるデータをキャプチャし、キャプチャしたデータのデータ量を計測する技術が知られており、例えば特許文献１などに記載されている。
【０００３】
また、通信によってサービスを提供する事業者が、サービスの利用者に対して利用量に応じた従量制の課金を行なう場合がある。例えば特許文献２には、ユーザ端末で計測された課金データをサービス提供者のサーバに送信し、ユーザ端末からサーバが受け取った課金データに基づいて、サーバの課金データベースにおける該当するユーザ端末のデータを更新する技術が開示されている。
【０００４】
また、特許文献３には、キャプチャの開始／終了時刻を設定し、キャプチャスタート時刻から，キャプチャ周期ごとにキャプチャ幅でパケットを受信して間欠的なキャプチャを実行する技術が開示されている。特許文献４には、クライアント−サーバ区間またはサーバ−サーバ区間を流れるパケットからミラーリングされたパケットを区間ごとに分別して取得する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２０５３８６号公報
【特許文献２】特開平１０−１９０７３７号公報
【特許文献３】特開２０１０−３４７２１号公報
【特許文献４】特開２００７−２４１８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１〜特許文献４のいずれについても、情報処理装置が行った通信に関する通信データ量の計測を行なう計測装置において、誤った通信データ量が計測されてしまうリスクについては考慮されていない。例えば、通信を行なう情報処理装置になりすました他の情報処理装置が通信を行なった場合、その他の情報処理装置が行った通信についての通信データ量についても計測されてしまうことになる。他にも、計測装置において実際に通信される通信データ量よりも多くのデータ量を計測されてしまうリスクも考えうる。
【０００７】
通信データ量の計測装置が通信データ量を誤計測した場合に、通信データ量が誤計測されたことを、通信を行なう情報処理装置が検出しうるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、第１の装置及び第２の装置を含むシステムであって、前記第１の装置が、複数の時間範囲のそれぞれについて、それぞれの時間範囲内に所定の通信路を介して通信されたデータのデータ量を計測する計測手段と、前記複数の時間範囲の各時間範囲において通信されたデータを記憶する記憶手段と、前記第２の装置に、前記計測手段が計測したデータ量の通知を行なう通知手段と、を含み、前記第２の装置が、前記第１の装置から前記通知を受信した場合に、前記記憶手段に記憶されたデータのうち、消去させずに保持させる対象とするデータを通信した時間範囲を、前記複数の時間範囲を指定する指定情報を前記第１の装置に送信する送信手段、を含むことを特徴とする計測システムを用いる。
【０００９】
第２の案では、複数の時間範囲それぞれについて、それぞれの時間範囲内に所定の通信路を介して通信された通信データのデータ量を計測する計測手段と、前記情報処理装置に、前記計測手段が計測した通信データ量と、それぞれの通信データ量に対応する時間範囲を示す情報とを含む通知を送信する第１の送信手段と、前記複数の時間範囲の各時間範囲において通信されたデータを記憶し、前記情報処理装置から前記複数の時間範囲のうち、いずれかを指定する指定情報を受信した場合に、前記指定情報により指定される時間範囲内に前記情報処理装置により通信された通信データを、消去させずに保持する記憶手段と、前記情報処理装置による指示に応じて、前記記憶手段に記憶したデータを前記情報処理装置に送信する第２の送信手段と、を含むことを特徴とする計測装置を用いる。
【００１０】
第３の案では、情報処理装置が通信するデータ量を計測装置により計測する計測方法であって、前記計測装置が、複数の時間範囲のそれぞれについて、それぞれの時間範囲内に所定の通信路を介して通信されたデータのデータ量を計測し、前記複数の時間範囲の各時間範囲において通信されたデータを記憶し、前記情報処理装置に、前記計測手段が計測したデータ量の通知を行ない、前記情報処理装置が、前記通知を受信した後に、前記記憶手段に記憶されたデータのうち、消去させずに保持させる対象とするデータを通信した時間範囲を、前記複数の時間範囲から選択する選択情報を前記計測装置に送信することを特徴とする計測方法を用いる。
【発明の効果】
【００１１】
本発明により、データ量を計測する装置においてデータ量が誤計測された場合に、その変更・改ざんを検出しうるようにすることができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態の構成図を示す。
【図２】第１の装置における計測処理のフローを示す。
【図３】第２の装置における選択処理のフローを示す。
【図４】第１の装置と第２の装置との間での処理のシーケンスを示す。
【図５】第２の実施形態の構成図を示す。
【図６】計測装置１の配置例を示す。
【図７】計測装置１の配置例を示す。
【図８】計測装置１における計測フローを示す。
【図９】計測装置１における選択フローを示す。
【図１０】第１の装置１（計測装置１）のハードウェア構成を示す。
【図１１】第２の装置２（端末装置２）のハードウェア構成を示す。
【図１２】記憶部１４に記憶するデータ形式の例を示す。
【図１３】データ量（Ｖ１〜Ｖ１６）の例を時系列に示す。
【図１４】図１３に示すデータ量のうち、選択される集合のデータ量の例を示す。
【図１５】データ量（Ｖ１〜Ｖ１６）を所定桁数おきに並べた値の例を示す。
【図１６】選択する集合（Ｓｓ）とデータ量（Ｖ１〜Ｖ１６）の合計値とを対応付け            た例を示す。
【図１７】通信データを記憶する記憶領域を示す格納アドレスを管理するテーブルＢ            １を示す。
【図１８】各時間範囲について取得した通信データの格納場所と、取得した通信デー            タのデータ量とを管理するテーブルＢ２を示す。
【発明を実施するための形態】
【００１３】
以下、図面を用いて本発明の実施形態について説明する。以下に説明する実施形態は、本発明の主旨を限定するものではない。
［第１の実施形態］
＜構成＞
図１は、第１の実施形態における計測システムのシステム構成を示す。第１の実施形態の計測システムは、第１の装置１、第２の装置２、ネットワークタップ３、ネットワーク４、中継装置６を含む。
【００１４】
第１の装置１は、第２の装置２がネットワーク４を介して行なう通信の通信データ量を計測する装置である。ネットワークタップ３は、第２の装置２とネットワーク４と間の通信経路上に配置され、第２の装置２がネットワーク４を介して通信するデータ信号を分岐させ、第１の装置１に送信する装置である。中継装置６は、中継装置に接続された装置間の通信を中継する装置である。
【００１５】
第１の装置１は、通信部１１、制御部１２、計測部１３及び記憶部１４を含む。
【００１６】
通信部１１は、制御部１２の制御に応じてデータを中継装置６に送信する。また、通信部１１はネットワークタップ３又は中継装置６を介して受信したデータを制御部１２に伝達する。制御部１２は、通信部１１、計測部１３及び記憶部１４の制御などを行なう。計測部１３は、制御部１２が取得したデータのデータ量を、所定の時間間隔Ｔで区切られた時間範囲（Ｔ１〜Ｔｎ）毎に計測する（ｎは所定数）。また、記憶部１４は、制御部１２が取得したデータを時間範囲（Ｔ１〜Ｔｎ）ごとに記憶する。
【００１７】
この時間範囲（Ｔ１〜Ｔｎ）は、例えば、通信データの計測を開始した時刻ｔ１から、予め設定された所定の時間間隔Ｔで区切られたそれぞれの時間範囲などとすることができる。この場合は、時間範囲Ｔ１は時刻ｔがｔ１≦ｔ＜ｔ１＋Ｔである時間範囲であり、時間範囲Ｔ２は時刻ｔがｔ１＋Ｔ≦ｔ＜ｔ１＋２×Ｔである時間範囲である。
【００１８】
所定の時間間隔Ｔと所定数ｎとは、通信データ量の計測を行う際に予め設定される値である。所定の時間間隔Ｔと所定数ｎとの設定は、第１の装置１に設けられた入力装置（キーボード１ｊ、マウス１ｋなど：図１０参照）によって入力された情報に基づいて行われても良いし、ネットワーク４を介して他の装置からの入力に基づいて行なわれても良い。
【００１９】
また、所定の時間間隔Ｔで区切られた時間範囲を所定数ｎ個でまとめて１つの処理単位とする。処理単位は、例えば、時刻ｔがｔ１≦ｔ＜ｔ１＋ｎ×Ｔである時間範囲を処理単位ｒ１とし、時刻ｔがｔ１＋ｎ×Ｔ≦ｔ＜ｔ１＋２×ｎ×Ｔである時間範囲を処理単位ｒ２とするなどして定められる。
【００２０】
処理単位ｒ１に含まれる時間範囲（Ｔ１〜Ｔｎ）のそれぞれの範囲内に通信された通信データ量の計測処理、及び時間範囲（Ｔ１〜Ｔｎ）のそれぞれに通信された通信データの記憶処理について、以下に説明する。
【００２１】
制御部１２は、予め記憶部１４内の複数の記憶領域のそれぞれの格納場所を示す格納アドレスを順序付けて格納したテーブルＢ１を保持しておく（図１７参照）。また、テーブルＢ１には、それぞれの格納場所に、データが格納されているか否かを示すフラグのフィールドを設けてもよい。取得した通信データを格納した格納場所を示す格納アドレスと、格納した通信データを取得した時間範囲を示す情報と、時間範囲毎に計測した通信データ量とのそれぞれを格納するフィールドを有するテーブルＢ２（図１８参照）を保持する。また、処理部１２は、通信部１１に予め定めた数ｎの通知を第２の装置２に送信させる制御を行なう。
【００２２】
ここで、時間範囲Ｔ１においてデータａを取得し、時間範囲Ｔ２においてデータｂを取得した場合の処理を例示して説明する。計測処理を開始する際に、制御部１２はテーブルＢ１を参照して、先頭に格納された格納アドレスＡａを読み出す。また、制御部１２は、読み出した格納アドレスＡａと、時間範囲Ｔ１を示す情報とを関連付けてテーブルＢ２に格納させる。さらに、データ量を加算するカウンタのクリアを行なう。
【００２３】
データ量の計測処理を開始する（この時刻を時刻ｔ１とする）と、制御部１２は、クロック１ｉ（図６を用いて後述する）から、クロック１ｉが計時する時刻情報を逐次取得し、時刻ｔ１から所定の時間間隔Ｔを経過したか否かの判断を行なう。
【００２４】
制御部１２は、データａを取得すると、データａについてデータ量を計測し、計測したデータａについてのデータ量をカウンタに加算し、さらに、読み出した格納アドレスＡａに示される格納場所にデータａを格納する。データ量の計測は、バイトやビットなどのバイナリの量で計測しても良いし、パケット数などの送信単位の数で計測しても良い。
【００２５】
制御部１２は、時刻ｔ１から所定の時間間隔Ｔ経過したと判断すると、カウンタの値を読み出し、読み出した値をテーブルＢ２の通信データ量のフィールドに格納する。この値が時間範囲Ｔ１内に通信されたデータ量（Ｖ１）である。また、カウンタの値をクリアする。さらに、格納アドレスを順序付けて格納したテーブルを参照して、先に読み出した格納アドレスＡａの次の順序の格納アドレスＡｂを読み出す。制御部１２は、読み出した格納アドレスＡｂと、時間範囲Ｔ１を示す情報とを関連付けてテーブルに記憶させる。
【００２６】
さらに、制御部１２がデータｂを取得すると、データｂについてデータ量を計測し、計測したデータｂについてのデータ量をカウンタに加算し、さらに、読み出した格納アドレスＡｂに示される格納場所にデータｂを格納する。
【００２７】
第１の装置１は、上述の処理を行なうことで、通信データを、取得した時間範囲毎に異なる格納場所に格納する。
【００２８】
そして、制御部１２は、計測部１３が所定数（ｎ）の時間範囲（Ｔ１〜Ｔｎ）のそれぞれについてデータ量（Ｖ１〜Ｖｎ）を計測した場合に、計測した各時間範囲のデータ量（Ｖ１〜Ｖｎ）を示す情報と処理単位Ｒ１を示す情報とを第２の装置２に送信するように、通信部１１の制御を行なう。もしくは各時間範囲におけるデータ量（Ｖ１〜Ｖｎ）を示すデータと、各時間範囲（Ｔ１〜Ｔｎ）を示すデータとを対応付けたデータを送信するようにしても良い。
【００２９】
第２の装置２は、通信部２１、制御部２２、選択部２３、照合部２４及び記憶部２５を含む。
【００３０】
通信部２１は、制御部２２の制御に応じてデータを中継装置６に送信する。また、通信部２１は、中継装置６を介して受信したデータを制御部１２に伝達する。制御部２２は、通信部２１、選択部２３、照合部２４、記憶部２５の制御を行なう。照合部２３は、通信部２１が第１の装置１から第１の装置１が計測したデータ量（Ｖ１〜Ｖｎ）を示す情報を受信した場合に、受信したデータ量に対応する時間範囲（Ｔ１〜Ｔｎ）のいずれかを選択する選択処理を行なう。また、照合部２４は、照合指示を取得した場合に、選択部２３が選択した時間範囲についての計測についての照合処理を行なう。照合指示は、第２の装置２に備えられた不図示の入力受付部が受け付けたユーザの指示であっても良いし、ネットワーク４を介して取得した指示であっても良い。
【００３１】
通信部２１が第１の装置１からデータ量（Ｖ１〜Ｖｎ）を示すデータ（もしくはデータ量（Ｖ１〜Ｖｎ）を示すデータと各時間範囲（Ｔ１〜Ｔｎ）を示すデータとを対応付けたデータ）を受信した場合に、制御部２２は、選択部２３に選択処理を実行させる。
【００３２】
選択部２３は、通信部２１が受信したデータ量（Ｖ１〜Ｖｎ）のそれぞれに対応する時間範囲（Ｔ１〜Ｔｎ）のうち、いずれかの時間範囲（Ｔｓ）を選択する。第２の装置２は、第１の装置１から予め設定された数ｎの通知を受信しているので、ｎ個の選択肢から１つを選択する処理を行なう。選択部２３は、１〜ｎの整数値のうち１つの整数値（例えば整数値ｓ）を選択するなどの処理を行なう。
【００３３】
時間範囲の選択方法として、例えば、所定のアルゴリズムによって、ランダムに１〜ｎのうちのいずれかの整数値を選択しても良い。他にも、第１の装置１からデータ量（Ｖ１〜Ｖｎ）を示す情報を受信した際の受信時刻を示す数字情報を、１〜ｎのうちのいずれかの整数値を出力する関数に代入して、１〜ｎのうちのいずれかの整数値ｓを算出するなどの処理を行なえば良い。この整数値ｓの算出方法は、第１の装置１がそれぞれに処理単位において算出される整数値ｓを予想できない方法であればよい。
【００３４】
また、第１の装置１がデータ量（Ｖ１〜Ｖｎ）を示すデータと時間範囲（Ｔ１〜Ｔｎ）を示すデータとを対応付けたデータを受信している場合には、選択した整数値ｓに対応する時間範囲（処理単位Ｒ１の中でｓ番目の時間範囲：Ｔｓ）を示すデータを生成するようにしても良い。
【００３５】
制御部２２は、選択部２３が選択した時間範囲を示す情報（例えば、整数値ｓと処理単位Ｒ１を示す情報、または時間範囲（Ｔｓ）を示す情報、など）を、記憶部２５に記憶させる制御と、通信部２１に第１の装置に送信させる制御を行なう。
【００３６】
ちなみに、第１の装置１の処理部１２は、第２の装置２から受信した時間範囲を示す情報に応じて、データ記憶制御を行なう。処理部１２は、テーブルＢ２を参照して、受信した時間範囲を示す情報に示される時間範囲（Ｔｓ）と同じレコードに保持されている格納アドレスを読み出す。処理部１２は読み出した格納アドレスに示される格納場所に保持されたデータを消去させない制御を行なう。例えば、読み出した格納アドレスに示される格納場所に格納されたデータを読出し、別の記憶領域に書き込み、その書き込んだ記憶領域を上書き禁止の記憶領域として管理しても良い。また、テーブルＢ２を参照して、処理単位Ｒ１に含まれる時間範囲（Ｔｓ）以外の時間範囲のそれぞれについて対応付けられた格納アドレスを読み出し、読み出した格納アドレスに関してテーブルＢ１のフラグを「０」に書き換えるなどの制御を行なっても良い。フラグを「０」に書き換えることにより、「０」に書き換えられた格納アドレスに示される格納場所については、取得した通信データを保持可能な格納場所とすることができる。
【００３７】
また、第２の装置２の処理部２２は、照合指示を受けた場合に、照合部２４に照合処理を実行させる。
【００３８】
照合部２４は、指示を受けると、選択部２３が選択した時間範囲（Ｔｓ）を示す情報を含む取得要求を生成する。制御部２２は、照合部２４が生成した取得要求を第１の装置１に送信させる制御を通信部２１に行なう。第１の装置１が取得要求に応じて送信したデータを受信し、受信したデータのデータ量を再計測する。再計測したデータ量（Ｖｓ´）と、通信部２１が受信したデータ量（Ｖ１〜Ｖｎ）を示す情報のうちの選択した時間範囲（Ｔｓ）に対応するデータ量（Ｖｓ）とを比較する。
【００３９】
データ量（Ｖｓ）とデータ量（Ｖｓ´）とを比較し、データ量が異なると判定した場合、取得要求によって取得したデータを検証する。検証処理は、例えば、データをユーザに閲覧させることなどが考えられる。
【００４０】
検証処理として、他にも、例えば、第２の装置がネットワーク４を介して通信を行なう場合に、第２の装置が一定量のデータを送信するたびに所定のパケットを認証用に送信するようにし、取得要求によって第２の装置が取得したデータに、一定量のデータ毎に所定のパケットが含まれているかを確認しても良い。これにより、例えば、第２の装置２以外の装置が第２の装置２になりすまして通信を行なった場合などに、なりすまして通信が行なわれたことの見当をつけることができる。さらに、所定のパケットに順序情報を含ませておき、取得要求によって取得したデータに含まれる所定のパケットの順序情報を確認するようにしても良い。
【００４１】
また、例えば、第２の装置が通信するデータに、パケット単位又はファイル単位で認証データを付加させても良い。これは、例えば、第１の装置１が各パケットに認証ヘッダを設けたプロトコル（ＩＰｓｅｃなど）で通信するか、もしくは、第１の装置がファイルの送信する際に、第１の装置１で秘密に管理される暗号鍵を用いて暗号化して、送信することなどが考えられる。検証処理においては、各パケット単位又はファイル単位に付加した認証データを確認して検証する。
＜処理＞
図２は、第１の装置１における計測処理のフローである。
【００４２】
計測部１３は、計測処理を開始する（Ｓ１００１）と、データ量をカウントするカウンタをクリアする。通信部１１が通信データを受信する（Ｓ１００２）と、計測部１３は、１つの時間範囲の長さ（所定の時間間隔）に相当する時間が経過しているかを判断する（Ｓ１００４）。Ｓ１００４の判断で所定時間経過していた場合（Ｓ１００４：ＹＥＳ）、Ｓ１００５が実行される。所定時間経過していない場合（Ｓ１００４：ＮＯ）、計測部１３は、受信した通信データのデータ量を計測し、計測したデータ量をデータ量のカウンタに加算し（Ｓ１０１０）、制御部１２は受信した通信データを記憶部１４に記憶させる。（Ｓ１０１１）。
【００４３】
Ｓ１００４でＹＥＳの場合、制御部１２はデータ量のカウンタが示す値を、その時間範囲に通信された通信データのデータ量として記憶部１４に記憶させる（Ｓ１００５）。次に、データを計測した時間範囲の個数が、所定数（ｎ）に達しているかを判断する（Ｓ１００６）。所定数（ｎ）に達していない場合、再度１００２のフローが実行され、次の時間範囲についての通信データ量計測を行なう。また、所定数（ｎ）に達していると判断した場合は、記憶部１４に記憶したデータ量（Ｖ１〜Ｖｎ）を読み出し（Ｓ１００７）、第２の装置２に送信する（Ｓ１００８）。
【００４４】
図３は、第２の装置２における選択処理のフローである。
【００４５】
第１の装置１がＳ１００８で送信したデータ量（Ｖ１〜Ｖｎ）を示す情報を通信部２１が受信すると、選択処理が開始される（Ｓ１１０１）。データ量（Ｖ１〜Ｖｎ）を示す情報を受信した際に、選択部２３は、１〜ｎのいずれか（ｓ）を示すデータを算出する（Ｓ１１０２）。通信部２１は、選択部２３が選択した１〜ｎのいずれか（ｓ）を示すデータを第１の装置１に送信する（Ｓ１１０３）。選択部２３は、例えば、データ量（Ｖ１〜Ｖｎ）を示す情報を受信した時刻（ｔｒ）基づいて得られる整数値を、所定のアルゴリズムを用いて変換して１〜ｎのいずれかを示す値を算出するなどすれば良い。
【００４６】
図４は、第１の装置１及び第２の装置２の処理のシーケンス図である。
【００４７】
まず、第１の装置は、第２の装置２とネットワーク４との間の通信を分岐させたデータ（Ｉ１）を第１の装置１が取得し、各時間範囲（Ｔ１〜Ｔｎ）におけるデータ量の計測処理を行なう。第１の装置１が、計測したデータ量を示す情報（Ｉ２）を第２の装置２に送信する（Ｓ１００８）と、第２の装置２は情報（Ｉ２）を受信し、選択処理を開始する。第２の装置２は、選択処理により選択した時間範囲（Ｔｓ）を示す情報（選択情報：Ｉ３）を第１の装置１に送信し、第１の装置１は選択情報を受信する。制御部１２は、受信した選択情報により示される時間範囲（Ｔｓ）内のデータについて、記憶部１４が記憶した記憶領域を上書き不可の状態にするなどして、記憶部１４が消去しないで保持するように制御を行なう。制御部１２が、記憶部１４に記憶したデータのうち、時間範囲（Ｔｓ）内のデータ以外のデータを消去する制御を行なうようにしても良いし、上書き可能な状態とし、再利用するようにしても良い。
【００４８】
第２の装置は、受け付けた指示に応じて、データの取得要求（Ｉ４）を第１の装置１に送信すると、第１の装置１は、選択された時間範囲（Ｔｓ）内の通信データ（Ｉ５）を第２の装置２に送信する。第２の装置２は、時間範囲（Ｔｓ）内の通信データと、データ量（Ｖｓ）とに基づいて検証処理を行なう。
【００４９】
本実施形態によれば、第２の装置２の通信データのうちの一部について、第１の装置１で記憶し、第２の装置２が第１の装置１に記憶された一部の通信データを検証することで、第１の装置１における誤計測を検出する可能性がある。
【００５０】
さらに、本実施形態においては、第１の装置１が記憶し続ける時間範囲（Ｔｓ）内に通信されたデータは、計測したデータ量（Ｖ１〜Ｖｎ）を第２の装置２に通知した後に第２の装置が選択して決定するため、第１の装置が、ある時間範囲におけるデータ量を意図的に水増しするといった処理を行なった場合には、その時間範囲を選択することにより誤計測を検出する可能性がある。時間範囲の選択処理は第２の装置２で行なわれ、第１の装置１は予めどの時間範囲が選択されるか把握できないため、選択されない時間範囲のみにおいてデータ量を意図的に変更するといった処置を行うことができない。そのため、第１の装置１が第２の装置に必ず検出されないように、データ量を変更できない。
【００５１】
また、第１の装置１に記憶され、取得要求によって読み出されるデータそのものに第２の装置が通信した通信データ以外が含まれてしまうリスクについても、第２の装置２が通信を行なう際に一定量のデータを送信するたびに、所定のパケットを送信し、検証処理の際に該所定のパケットが一定量のデータごとに存在するかを確認することで、第１の装置１に記憶されるデータそのものの水増し、もしくは第２の装置２をなりすましたネットワーク４との通信についても確認することができる。
［第２の実施形態］
＜構成＞
図５に、本実施形態における計測システムについての構成図を示す。本実施形態の計測システムは、計測装置１、情報処理装置２、ネットワークタップ３及びネットワーク４を含む。計測装置１は、第１の実施形態における第１の装置と同じく、通信部１１、制御部１２、計測部１３及び記憶部１４を含み、さらに選択部１５を含む。
【００５２】
通信部１１、制御部１２、計測部１３及び記憶部１４は、第１の実施形態と同様の機能を有するが、それぞれの機能を以下に詳細に説明する。また、選択部１５の機能についても説明する。
【００５３】
通信部１１は、ネットワークタップ３から信号を受信し、受信した信号から、所定の通信プロトコルにおける送信単位（例えば、ＩＰパケット、ＭＡＣフレームなどの送信単位）ごとにデータを取り出す。取り出したデータに、取り出した時刻を示す情報（以下、時刻情報）を付加して制御部１２に受け渡す。
【００５４】
計測部１３は、通信部１１が取得したデータ群のそれぞれのデータを、複数（ｎ個）の集合（Ｓ：Ｓ１〜Ｓｎ）のうちのいずれかの集合（Ｓｉ）に含めることで複数の集合（Ｓ１〜Ｓｎ）を形成し、形成した集合（Ｓ１〜Ｓｎ）それぞれについて、集合内に含まれるデータのデータ量（Ｖ：Ｖ１〜Ｖｎ）を計測する。ｎは予め定めておくとする。制御部１２は、計測部１３が計測した集合（Ｓｉ）ごとのデータ量（Ｖｉ）を記憶部１４に記憶させる。
【００５５】
集合（Ｓｉ）は、例えば、時間間隔を予め定めておき、その時間間隔で区切られた時間範囲内に通信部１１が取得したデータ群を要素とする集合とすれば良い。例えば、データの取得開始時刻をｔ１とし、時間範囲を区切る時間間隔をＴとして、集合（Ｓ１）を時刻ｔ１〜ｔ１＋Ｔの時間範囲に取得したデータ群を要素とする集合とすることが考えられる。その場合、１〜ｎの整数ｉについて、集合（Ｓｉ）は、時刻ｔ１＋Ｔ×（ｉ―１）×Ｔ〜ｔ１＋Ｔ×ｉの時間範囲に取得したデータ群を要素とする集合となる。
【００５６】
記憶部１４は、計測部１３が計測したデータ量（Ｖｉ）を記憶し、記憶した各集合（Ｓ１〜Ｓｎ）についてのデータ量（Ｖ１〜Ｖｎ）を制御部１２からの要求に応じて読み出す。なお、記憶部１４が記憶するそれぞれのデータ量（Ｖｉ）は、図１２に示すように集合（Ｓｉ）と対応付けて記憶される。また、記憶部１４は、通信部１１が取得したデータを記憶する。
【００５７】
制御部１２は、計測部１３がデータ量（Ｖ１〜Ｖｎ）の計測を終えると、通信部１１に、計測したデータ量（Ｖ１〜Ｖｎ）を示す情報を情報処理装置２に送信させる。さらに、通信部１１が情報処理装置２から応答情報を受信すると、制御部１２は、応答情報とデータ量を選択部１５に受け渡し、選択処理の実行を指示する。
【００５８】
この応答情報は、情報処理装置２がデータ量（Ｖ１〜Ｖｎ）を受信したことを示す情報であり、例えば、データ量（Ｖ１〜Ｖｎ）を示す情報の受信時刻（ｔｒ）を示す時刻情報を含む情報である。
【００５９】
選択部１５は、データ量（Ｖ１〜Ｖｎ）及び応答情報（例として受信時刻：ｔｒとする）をパラメータとした処理により、集合（Ｓ１）から集合（Ｓｎ）までのｎ個の集合から、所定のアルゴリズムに基づいて、少なくとも１つの集合を選択する（以下、選択された集合を集合（Ｓｓ）とする）。この選択処理は、再現性のある処理であり、即ち、再度同じパラメータ（Ｖ１〜Ｖｎ，ｔｒ）に基づいて行なわれた場合に、同じ集合（Ｓｓ）を選択する処理である。
【００６０】
選択部１５が集合（Ｓｓ）を選択する処理の例としては、パラメータ（Ｖ１〜Ｖｎ，ｔｒ）を、所定の関数、例えば、代入された値に応じて１〜ｎのいずれかの数値を出力する関数などに代入し、その関数値によって集合（Ｓｓ）を選択するなどとすれば良い。例えば、ハッシュ関数に、データ量（Ｖ１〜Ｖｎ）の合計値（Ｖｓｕｍ）に受信時刻（ｔｒ）を変換して得られる整数値を加算した値又はデータ量（Ｖ１〜Ｖｎ）を所定の桁数おきに並べた値（図１５参照）に受信時刻（ｔｒ）を変換して得られる整数値を加算した値を代入し、得られたハッシュ値に対応する集合（Ｓｓ）を選択するなどの選択処理で良い。
【００６１】
もしくは、選択部１５が各集合（Ｓ１〜Ｓｎ）におけるデータ量（Ｖ１〜Ｖｎ）の合計値（Ｖｓｕｍ）に受信時刻値（ｔｒ）を算出し、予め集合（Ｓ１〜Ｓｎ）を示す情報のそれぞれと算出値（Ｖｓｕｍ＋ｔｒ）の範囲とを対応付けたテーブルを用意しておき、設定した値（Ｖｓｕｍ＋ｔｒ）を含む範囲と対応付けられた集合を集合（Ｓｓ）としても選択しても良い（図１６参照）。
【００６２】
制御部１２は、選択部１５が選択した集合（Ｓｓ）を示す情報に基づいて、記憶部１４に記憶した集合（Ｓ１〜Ｓｎ）に含まれる全データのうち、集合（Ｓｓ）に含まれるデータを上書き不可に設定し、集合（Ｓｓ）に含まれないデータを上書き可能に設定する。集合（Ｓｓ）に含まれないデータを消去するようにしても良い。
【００６３】
記憶部１４に記憶されたデータが集合（Ｓｓ）に含まれるデータであるかの判断は、記憶部１４に記憶された各データに付加された時刻情報に基づいて集合（Ｓｓ）に含まれるかを判断すれば良い。
【００６４】
他にも、制御部１２が、選択部１５から集合（Ｓｓ）を示す情報として、集合（Ｓｓ）のうち最初に取得したデータと最後に取得したデータに付加された時刻情報を取得することとし、その情報に基づいて集合（Ｓｓ）に含まれるデータを読み出すようにしても良い。その場合、計測部１３は、それぞれの集合（Ｓｉ）において最初に取得したデータと最後に取得したデータについての時刻情報を取得し、取得した時刻情報とそれぞれの集合（Ｓｉ）についてのデータ量（Ｖｉ）とを対応付けて記憶部１４に記憶させる。また、制御部１２は、それぞれの集合（Ｓｉ）において最初に取得したデータと最後に取得したデータの時刻情報を記憶部１４に読み出させる。制御部１２は、記憶部１４に記憶されたデータのうち、付加された時刻情報が集合（Ｓｓ）の最初に取得したデータの時刻情報から最後に取得したデータの時刻情報までの範囲内であるデータに上書き不可とするフラグを立てるなどの処理を、記憶部１４に指示すれば良い。
【００６５】
通信部１１は、他の装置（情報処理装置２を含む）との通信処理を行なう。例えば、他の装置から読出しの要求を受信し、受信した要求に応じて、記憶部１４に記憶したデータ量（Ｖ１〜Ｖｎ）、記憶部１４が記憶した集合（Ｓｓ）に含まれるデータを出力することなどが考えられる。記憶部１４から読み出す情報は、図１２に示すようにデータ量（Ｖｉ）と集合（Ｓｉ）を対応付けている。
【００６６】
上記の計測装置１を用いることにより、計測装置１と通信可能な他の装置が、通信部１１を介して記憶部１４に記憶したデータ量（Ｖ１〜Ｖｎ）と、記憶部１４に記憶したデータを取得して、データ量（Ｖ１〜Ｖｎ）を２通りの方法でチェックできる。
【００６７】
１つめの方法として、情報処理装置２が、記憶部１４に記憶した集合（Ｓｓ）に含まれるデータを取得し、取得したデータのデータ量を計測し、この計測したデータ量（Ｖｓ´）と、取得したデータ量（Ｖ１〜Ｖｎ）のうちの集合（Ｓｓ）についてのデータ量（Ｖｓ）とが同じであるかをチェックする。
【００６８】
これにより、計測装置１で選択処理を行なう前に、計測装置１が情報処理装置２に送信したデータ量（Ｖ１〜Ｖｎ）のうちのデータ量（Ｖｓ）が誤計測された値であることを検出できる。
【００６９】
２つめの方法として、情報処理装置２が、記憶部１４に記憶した集合（Ｓｓ）に含まれるデータを取得し、取得したデータに付加された時刻情報が、Ｔ１＋Ｔ×（ｓ−１）〜Ｔ１＋Ｔ×ｓの時間範囲に含まれるかをチェックする。
【００７０】
これにより、計測装置１が選択した集合（Ｓｓ）に含まれるデータを保持しているかをチェックできる。
【００７１】
上記の２種類のチェック処理は、端末装置２の照合部によって実行される。これらのチェックにより、計測装置１が計測するデータ量（Ｖ１〜Ｖｎ）に対して行なわれた変更・改ざんを検出しうる効果を奏する。
【００７２】
従って、計測装置１は、選択部１５が集合（Ｓｓ）を選択する前も後も、他の装置で２種類のチェックが行われうるために、他の装置に必ず検知されないようにデータ量（Ｖ１〜Ｖｎ）の改ざんを行なうことは難しい。
【００７３】
さらに言えば、計測装置１と通信可能な他の装置が変更・改ざんを検知しうるため、計測装置１がデータ量（Ｖ１〜Ｖｎ）と集合（Ｓｓ）に含まれるデータを他の装置に提供することは、計測装置１自身が他の装置に検出されないようにデータ量（Ｖｉ）を変更・改ざんし難い状況にあることを、他の装置に対して提示することにもなる。
＜計測装置１の配置例＞
図６，７に計測装置１の配置例を示す。
【００７４】
図６の配置例において、７ａ〜７ｃはサーバなどサービスを提供するコンピュータであり、４はネットワーク、８は中継装置、２は端末装置である。中継装置５にはコンピュータ７ａ〜７ｃが接続されており、中継装置６はネットワーク４に接続されている。また、端末装置２は中継装置８を介してネットワーク４に接続している。端末装置２として、例えばユーザが使用するコンピュータなどで良い。他にも図示しないが、中継装置９が無線局の機能を有していれば、端末装置２として、携帯型情報端末（ＰＤＡ）や携帯電話でも良い。
【００７５】
図６の配置例の場合、計測装置１は、端末装置２からコンピュータ群７ａ〜７ｃへのアクセスにより通信されるデータを対象に計測を行なう。計測装置１は、端末装置２がコンピュータ群７ａ〜７ｃを使用した量を計測できる。
【００７６】
図７の配置例において、２は端末装置であり、４はネットワークである。中継装置５には端末装置２が接続されており、中継装置６にはネットワーク４が接続されている。
【００７７】
図７の配置例の場合、計測装置１は、端末装置２がネットワーク４を介して通信したデータを対象に計測を行なう。従って、計測装置１は、端末装置２がネットワーク４を使用した量を計測できる。
【００７８】
計測装置１は、特定の装置が行なう通信についてデータ量を計測するようにしても良い。図６，７における端末装置２の中継装置５と中継装置６の間の経路を介した通信のデータ量を計測する場合には、例えば、通信部１１が、取得したデータの送信先アドレス又は送信元アドレスが端末装置２のアドレスを示すかでフィルタリングしてやれば良い。
＜処理＞
図８，９は、計測装置１が行なう処理のフローを示す。図８は、通信データ量の計測フローであり、図９は、データ集合の選択フローである。
【００７９】
まず、図８に示すフローについて説明する。計測処理が開始される際に番号ｉを１に設定し（Ｓ１２０１）、計測部１３は、まずデータ量をカウントするカウンタをクリアする（Ｓ１２０２）。通信部１１がネットワークタップ３から信号を受信すると、通信部１１は、ネットワークタップ３から受信した信号の送信単位を判断し、送信単位ごとにその送信単位を構成するデータを取得する（Ｓ１２０３）。制御部１２は、Ｓ１２０３で取得したデータを記憶部１４に記憶する（Ｓ１２０４）。Ｓ１２０４では、通信部１１がデータを取得した時刻情報も合わせて記憶する。
【００８０】
次に、計測部１３は、通信部１１が取得したデータが、集合（Ｓｉ）に含まれるかを判断する（Ｓ１２０５）。集合（Ｓｉ）に含まれるデータであるかは、例えば所定の時間範囲内に取得したかで判断し、すなわち、計測部１３はＳ１２０３において通信部１１がデータを取得した時刻に基づいて各データが属する集合を判断する。
【００８１】
Ｓ１２０５の判断の結果、集合（Ｓｉ）に含まれるデータである場合、計測部１３は、取得したデータのデータ量をカウンタに加算する（Ｓ１２１１）。データ量を送信単位の数とする場合は、計測部１３はＳ１２０５のステップでカウンタに１加算し、データ量を取得したデータに含まれる情報量とする場合は、計測部１３はＳ１２１１においてデータの情報量を計算し、計算した情報量をカウンタに加算する。
【００８２】
Ｓ１２０５の判断の結果、集合（Ｓｉ）に含まれない場合、計測部１３は、カウンタの値を記憶部１４に記憶し、番号ｉに1加算する（Ｓ１２０６）。
【００８３】
選択部１５は、予め定めた数（ｎ）の集合（Ｓ１〜Ｓｎ）についてのデータ量（Ｖ１〜Ｖｎ）を記憶部１４に記憶し終えたかを判断する（Ｓ１２０８）。以後、予め定めた数（ｎ）の集合（Ｓ１〜Ｓｎ）をまとめて処理単位（ｒ）とする。処理単位（ｒ）内のデータ量（Ｖ１〜Ｖｎ）を記憶し終えている場合は、データ記憶フローが実行される（Ｓ１２０９）。Ｓ１２０９の処理が終わると、フローが終了される（Ｓ１２１０）。Ｓ１２０８で処理単位内のデータ量（Ｖ１〜Ｖｎ）を記憶し終えていない場合はＳ１２０２のフローが実行される。
【００８４】
次に、図９に示すデータ集合の選択フローを説明する。このフローは、計測されたデータ量（Ｖ１〜Ｖｎ）に基づいて記憶部１４がデータを記憶する範囲（Ｓｓ）を定めるフローである。
【００８５】
フローが開始される（Ｓ１３０１）と、選択部１５は記憶した各範囲（Ｓ１〜Ｓｎ）におけるデータ量（Ｖ１〜Ｖｎ）を記憶部１４から読み出す（Ｓ１３０２）。次に、選択部１５は、値（ｐ）を設定する（Ｓ１３０３）。設定する値（ｐ）は、読み出したデータ量（Ｖ１〜Ｖｎ）を情報処理装置２に送信し、情報処理装置２から受信した応答情報（ｔｒ）とデータ量（Ｖ１〜Ｖｎ）に基づいて設定される。例えば、データ量の合計値、もしくは各データ量を所定の桁数おきに並べた値に、情報処理装置２がデータ量（Ｖ１〜Ｖｎ）を受信した時刻（ｔｒ）を変換して得られた整数値を加算した値などで良い。
【００８６】
選択部１５は、Ｓ１３０３で設定した値（ｐ）に基づいて、各集合（Ｓ１〜Ｓｎ）のうち、記憶部１４にデータを記憶する集合（Ｓｓ）を選択する（Ｓ１３０４）。集合（Ｓｓ）の選択についても後述するが、選択部１５は、例えば、Ｓ１３０３で設定した値（ｐ）をハッシュ演算するか、予め用意したテーブルを参照するなどして、集合（Ｓｓ）を選択する。
【００８７】
制御部１２は、記憶部１４に記憶されたデータのうち、Ｓ１３０４で選択した集合（Ｓｓ）に含まれるデータについては上書き不可に設定し、集合（Ｓｓ）に含まれないデータは上書き可能に設定する（Ｓ１３０５）。このＳ１３０５の処理により、記憶部１４の記憶容量が削減可能となる。
【００８８】
Ｓ１３０５を処理して、データ記憶フローは終了する（Ｓ１３０６）。
＜ハードウェア構成＞
図１０に、第１の実施形態における第１の装置及び第２の実施形態における計測装置１のハードウェアの構成を示す。１ａは通信インターフェースであり、１ｂは通信インターフェースであり、１ｃはメモリであり、１ｄはプロセッサであり、１ｅは記憶装置であり、１ｆは入力インターフェースであり、１ｇは出力インターフェースであり、１ｈはバスであり、１ｉはクロックである。
【００８９】
メモリ１ｃは、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの記憶装置であり、プロセッサ１ｄの制御に応じて一時的にデータやプログラムなどを保持する機能を有する。プロセッサ１ｄは、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの演算装置であり、プログラムに応じて計測装置１の制御を行なう。記憶装置１ｅは、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶装置であり、プロセッサ１ｄの制御に応じてデータやプログラムなどの書き込み・読み出しが可能である。例えば、記憶装置１ｅにＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）やアプリケーションソフトなどのプログラムを格納しておき、適宜メモリ１ｃにプログラムを保持させ、メモリ１ｃに保持されたプログラムに基づいてプロセッサが処理を行なうことで、第１の装置及び計測装置はプログラムを実行できる。
【００９０】
通信インターフェース１ａは、中継装置６と接続されており、通信インターフェース１ｂは、ネットワークタップ３と接続されている。また、入力インターフェース１ｆには、入力装置が接続されており、図１０には例として、キーボード１ｊとマウス１ｋを示した。出力インターフェース１ｇには、出力装置が接続されており、図１０には、モニタ１ｍとプリンタ１ｎを示した。接続する入力装置と出力装置は図示したものに限らない。例えば、入力機能と出力機能を併せ持つタッチパネルなどを接続しても良い。
【００９１】
また、クロック１ｉは、バス１ｈを介して計測装置１内の各装置に時刻情報を送信する機能を有する。
【００９２】
図１、図５に示した機能ブロックの処理を、図１０に示した装置で行なうことができる。通信部１１の処理は、例えば、通信インターフェース１ｂがネットワークタップ３から受信した信号をプロセッサ１ｄに送信し、プロセッサ１ｄが、受信した信号から送信単位ごとにデータを取り出し、メモリ１ｃに格納するなどにより行なうことができる。また、プロセッサ１ｄが、クロック１ｉから時刻情報を取得することで、データを取り出した時刻もあわせて格納できる。
【００９３】
計測部１３の処理は、例えばプロセッサ１ｄがメモリ１ｃに格納されたデータを読み出し、読み出したデータについてカウントし、カウントした結果（Ｖ１〜Ｖｎ）をメモリ１ｃに保持させるか、記憶装置１ｅに記憶させるなどにより行なうことができる。
【００９４】
記憶部１４の処理は、プロセッサ１ｄの制御によりメモリ１ｃ又は記憶装置１ｅがカウントした結果（Ｖ１〜Ｖｎ）、通信インターフェースが取得したデータなどを保持するなどにより行なうことができる。
【００９５】
選択部１５の処理は、プロセッサ１ｄが、例えばカウントした結果（Ｖ１〜Ｖｎ）と、プログラムに含まれている関数とをメモリ１ｃから読み出し、カウントした結果（Ｖ１〜Ｖｎ）を読み出した関数に代入して処理し、処理した結果（Ｓｓ）を示す情報をメモリ１ｃに格納するなどして行なうことができる。もしくはメモリ１ｃに各集合（Ｓ１〜Ｓｎ）と値（ｐ）とを対応付けたテーブルを格納しておき、プロセッサ１ｄが、メモリ１ｃに格納したテーブルを参照して、カウントした結果（Ｖ１〜Ｖｎ）に基づいて定めた値（ｐ）と対応付けられた集合（Ｓｓ）を示す情報を読み出すなどにより行なうことができる。
【００９６】
制御部１２の処理は、例えばプロセッサ１ｄが読み出した集合（Ｓｓ）を示す情報に基づいて、メモリ１ｃ又は記憶装置１ｅに格納されたデータを読出し、再度メモリ１ｃ又は記憶装置１ｅの別領域に格納するなどにより行なうことができる。また、制御部１２の処理は、プロセッサ１ｄが、集合（Ｓｓ）を示す情報に基づいて、メモリ１ｃ又は記憶装置１ｅに格納されたデータにフラグを立て、フラグのないデータを消去するなどにより行なわれても良い。
【００９７】
通信部１１は、通信インターフェース１ａが受信した信号をプロセッサ１ｄに送信し、プロセッサ１ｄは、メモリ１ｃもしくは記憶装置１ｅに記憶されたデータとカウント結果（Ｖ１〜Ｖｎ）を読み出して、読み出したデータとカウント結果（Ｖ１〜Ｖｎ）を通信インターフェース１ａに送信させるなどにより行なうことができる。
【００９８】
図１１には、第１の実施形態の第２の装置２及び第２の実施形態の端末装置２のハードウェア構成を示す。２ａは通信インターフェースであり、２ｂはメモリであり、２ｃはプロセッサであり、２ｄは記憶装置であり、２ｅは入力インターフェースであり、２ｆ出力インターフェースであり、２ｇはキーボードであり、２ｈはマウスであり、２ｉはモニタであり、２ｊはプリンタであり、２ｋはバスであり、２ｍはクロックである。それぞれのハードウェアは、図１０を用いて説明したハードウェアと同様の機能を有する。
【００９９】
通信部２１の処理は、例えば、通信インターフェース２ａが受信したデータ量（Ｖ１〜Ｖｎ）と、集合（Ｓｓ）に含まれるデータとをプロセッサ２ｃに送信するなどして行なうことができる。
【０１００】
照合部２４の処理は、例えば、プロセッサ２ｃが、受信したデータ量（Ｖ１〜Ｖｎ）と集合（Ｓｓ）に含まれるデータとをメモリ２ｂに書き込み、メモリ２ｂに書き込んだデータ量（Ｖ１〜Ｖｎ）を読み出し、読み出したデータ量（Ｖ１〜Ｖｎ）および受信時刻（ｔｒ）に基づいて集合（Ｓｓ´）を選択する処理を行ない、メモリ４ｂに書き込んだ集合（Ｓｓ）に含まれるデータから集合（Ｓｓ）を示す情報を読み出し、選択した集合（Ｓｓ´）と読み出した情報に示される集合（Ｓｓ）とを照合するなどして行なうことができる。他にもプロセッサ１ｃが、メモリ２ｂに書き込んだ集合（Ｓｓ）に含まれるデータを読み出して、そのデータ量（Ｖｓ´）を算出し、メモリ２ｂに書き込まれたデータ量（Ｖ１〜Ｖｎ）のうちデータ量（Ｖｓ）を読み出して、算出したデータ量（Ｖｓ´）と照合するなどして行なうことができる。
【０１０１】
プロセッサ２ｃは、通信インターフェース２ａから受信したデータもしくはプロセッサ２ｃが処理したデータを出力インターフェース２ｆに送信し、指定した出力装置に出力させる制御を行なうなどにより行なうことができる。入力インターフェース２ｅは、が受信した信号をプロセッサ２ｃに送信するなどにより行なうことができる。
＜集合（Ｓ）と処理単位（ｒ）について＞
図１２，１３に、予め定めた数（ｎ）を１６として、処理単位（ｒ）内の各集合（Ｓ１〜Ｓ１６）におけるデータ量（Ｖ１〜Ｖ１６）の対応関係の例を示す。図１２に各範囲（Ｓ１〜Ｓ１６）におけるデータ量（Ｖ１〜Ｖ１６）を格納する際のデータ形式例を示し、図１３に各集合（Ｓ１〜Ｓ１６）におけるデータ量（Ｖ１〜Ｖ１６）の例を時系列で示す。
【０１０２】
Ｓ１２０６における処理で、図１２の表に示すように集合（Ｓｉ）と計測したデータ量（Ｖｉ）とを対応付けて記憶する。
【０１０３】
図１３の時系列のグラフでは、各範囲（Ｓ１〜Ｓ１６）において計測したデータ量（Ｖ１〜Ｖ１６）を棒グラフで示している。集合（Ｓ１）〜集合（Ｓ１６）をまとめて処理単位（ｒ１）とし、処理単位（ｒ１）の開始時刻をｔ１、終了時刻をｔ２としている。
【０１０４】
例えば、選択部１５が処理単位（ｒ１）から集合を１つ選択し、記憶部１４に記憶したデータのうち、選択した集合（Ｓｓ）に含まれるデータのみについて上書き禁止させる設定をするなどして、記憶部１４が集合（Ｓｓ）に含まれるデータを消去しないで保持するように制御を行ない、選択した集合（Ｓｓ）に含まれないデータを消去すれば、記憶部１４に全てのデータを記憶し続けるよりも、各処理単位（ｒ）について記憶するデータ量は少なく済む。その場合は、選択部１５がデータ量（Ｖ１〜Ｖ１６）に基づいて集合（Ｓ１〜Ｓ１６）のうち１つ（図１３に示す例では、Ｓ７）を選択すると、図１４に斜線で示すＳ７のみを記憶しつづけ、処理単位（ｒ１）に含まれるＳ１〜Ｓ６、Ｓ８〜Ｓ１６においてのデータは記憶部１４に記憶しつづけない。
＜選択部１５の処理＞
選択部１５は、１つの処理単位（ｒ）に含まれる集合（Ｓｉ）ごとのデータ量（Ｖ１〜Ｖｎ）に基づいて、記憶部１４に記憶するデータの集合（Ｓｓ）を選択する。そのために、選択部１５は、処理単位（ｒ）に含まれる各集合（Ｓｉ）におけるデータ量（Ｖ１〜Ｖｎ）、及び計測装置２（もしくは情報処理装置２）におけるデータ量（Ｖ１〜Ｖｎ）の受信時刻（ｔｒ）に基づいて値（ｐ）を設定し（Ｓ１３０３）、設定した値（ｐ）に基づいて記憶部１４にデータを記憶する範囲（Ｓｓ）を決定する（Ｓ１３０４）。ここでは、処理単位（ｒ）に含まれる集合（Ｓ１〜Ｓｎ）から集合（Ｓｓ）を選択する方法について説明する。
【０１０５】
設定する値（ｐ）として、例えば、各集合（Ｓ１〜Ｓ１６）におけるデータ量（Ｖ１〜Ｖ１６）の合計値か、各集合（Ｓ１〜Ｓ１６）におけるデータ量（Ｖ１〜Ｖ１６）を所定の桁数おきに並べた値か、もしくはこの２つのいずれかを公開鍵により暗号化した値などに、受信時刻（ｔｒ）の値を加算した値を用いる。それぞれについて前述の処理単位（ｒ１）を用いて説明する。
【０１０６】
各集合（Ｓ１〜Ｓ１６）におけるデータ量の合計値は、Ｖ１＋Ｖ２＋Ｖ３＋・・・＋Ｖ１６で求められる。各集合（Ｓ１〜Ｓ１６）において通信されるデータ量の最大値をＢｍａｘビットで表しうるとした場合、データ量（Ｖ１〜Ｖ１６）の合計値を格納するのにＢｍａｘ＋４ビット用意すればよい。
【０１０７】
各集合（Ｓ１〜Ｓ１６）におけるデータ量（Ｖ１〜Ｖ１６）を所定の桁数おきに並べた値の例を図１５に示す。各集合（Ｓ１〜Ｓ１６）において通信されるデータ量の最大値をＢｍａｘビットで表すとして、Ｂｍａｘビットおきに各集合（Ｓ１〜Ｓ１６）におけるデータ量（Ｖ１〜Ｖ１６）を並べる。図１５にＶ１〜Ｖ１６で示す箇所それぞれに、Ｂｍａｘ桁用意され、Ｖ１〜Ｖ１６の値が格納される。例えばＶ７が十進法で「２０５８３」であった場合には、Ｖ７に「０１０１０００００１１００１１１」が格納される。選択部１５の設定処理に用いられる値を格納するのにＢｍａｘ×１６のビット数を用意すれば良い。
【０１０８】
選択部１５の設定処理に用いる値を公開鍵で暗号化するために、選択部１５が計測装置１に含まれる場合には、通信部１１がネットワークを介して、例えば端末装置２から公開鍵を入手し、選択部１５はその公開鍵を用いて設定処理に用いる値を暗号化する。各集合（Ｓ１〜Ｓ１６）におけるデータ量（Ｖ１〜Ｖ１６）を合計する場合も、所定の桁数おきに並べる場合も、暗号化によって値（ｐ）を格納するのに用意すべきビット数はそれぞれで変わらない。選択部１５が第２の装置２に含まれる場合には、第２の装置が有している公開鍵で値を暗号化すれば良い。
【０１０９】
処理単位（ｒ）に含まれる集合（Ｓｉ）を選択するための処理として、例えばハッシュ関数を用いる方法、予め用意したテーブルを用いる方法などが考えられる。
【０１１０】
選択部１５は、ハッシュ関数を用いる場合、処理単位（ｒ１）は１６の集合（Ｓ１〜Ｓ１６）を含むため、ハッシュ関数値が集合（Ｓ１〜Ｓ１６）のいずれかを示すように、４ビットの値を返すハッシュ関数を用いればよい。即ち、選択部１５は、計測したデータ量（Ｖ１〜Ｖ１６）に基づいて設定した値（ｐ）をハッシュ関数に代入し、ハッシュ関数の値が示す範囲（Ｓｓ）を選択すれば良い。
【０１１１】
予めテーブルを用意する場合、例えば図１６に示すテーブルを用意することが考えられる。図１６のテーブルは、処理単位（ｒ１）に含まれる各集合（Ｓ１〜Ｓ１６）と値（ｐ）の範囲とを対応付けている。選択部１５は、このテーブルを参照して、値（ｐ）が含まれる範囲に対応付けられた集合（Ｓｓ）を選択すれば良い。
【０１１２】
選択部１５の集合（Ｓｓ）を選択する処理を例示したが、これらの例示に限定するものでなく、値（ｐ）に基づいて所定の処理を再度行なっても、同じ範囲（Ｓｓ）を示す結果が得られれば良い。
【０１１３】
計測装置１は、処理単位（ｒ）を構成する複数の集合（Ｓ１〜Ｓｎ）について計測し終えてから、記憶部１４に記憶するデータの集合（Ｓｓ）を選択する。そのため、集合（Ｓｓ）を選択するまでは、処理単位（ｒ）に含まれるどのデータも、データ自体を記憶部１４に記憶されうる。データ自体が記憶された集合（Ｓｓ）について、データ量（Ｖｓ）を変更・改ざんすると、記憶部１４に記憶したデータ自体と照合することで改ざんが明らかになる。そのため、計測装置１では、改ざんする意図を持ったとしても、処理単位（ｒ）内の集合（Ｓ１〜Ｓｎ）のうち、どの集合（Ｓｉ）についても、明らかにならないように変更・改ざんを行なうことができない。
【０１１４】
さらに、集合（Ｓｓ）の選択に用いるハッシュが解析され、且つ各範囲（Ｓ１〜Ｓ１６）のデータ量（Ｖ１〜Ｖｎ）をハッシュ関数値が同一となるように改ざんされているわけでないこと示すためには、適当なハッシュ解析の防止策を採用する。
【０１１５】
例えば、値（ｐ）を計測対象の通信を行なう通信者（例えば図６、図７の端末装置２など）から与えられた公開鍵で暗号化してからハッシュ演算し、且つ公開鍵を定期的に更新することが考えられる。使用するハッシュ関数の代入値と関数値の対応関係を解析していたとしても、公開鍵の更新により、各範囲（Ｓ１〜Ｓｎ）のデータ量（Ｖ１〜Ｖｎ）と選択するデータ範囲（Ｓｓ）との対応関係が初期化される。
【０１１６】
ちなみに、各範囲（Ｓ１〜Ｓｎ）におけるデータ量（Ｖ１〜Ｖｎ）を並べた値を値（ｐ）とすると、その値（ｐ）を改ざんするためには、ハッシュ関数値が同一となり、さらにハッシュ関数値が示す集合（Ｓｓ）におけるデータ量が同一であるようなデータ量（Ｖ１〜Ｖｎ）のみとなるので、値（ｐ）にデータ量（Ｖ１〜Ｖｎ）の合計値を用いるよりもハッシュ解析の難易度を上げることができる。
【０１１７】
また、選択部１５が図１６の表を参照して、集合（Ｓｓ）を選択する場合も、選択した集合（Ｓｓ）におけるデータ量（Ｖｓ）を改ざんした場合は、記憶部１４に記憶したデータと照合することで改ざんが明らかになる。また、改ざんしたデータ量（Ｖ１´〜Ｖｎ´）による値（ｐ´）が元のデータ量（Ｖ１〜Ｖｎ）に基づく値（ｐ）と同一の範囲に含まれない場合、改ざんしたことが明らかになる。値（ｐ）をデータ量（Ｖ１〜Ｖｎ）の合計値とする場合、データ量（Ｖ１〜Ｖｎ）の大幅な改ざんを明らかにできる。そのため、図１６の表を参照して集合（Ｓｓ）を参照することは、使用量に応じて課金額が段階的に設定されている場合に有効と考えられる。
【０１１８】
以上に述べた第１の実施形態及び第２の実施形態は、あくまで例示であり、本発明の主旨に基づいて形態を変えることも可能である。
【符号の説明】
【０１１９】
１          第１の装置
２          第２の装置
３          ネットワークタップ
４          ネットワーク
６          中継装置
１１        通信部
１２        制御部
１３        計測部
１４        記憶部
２１        通信部
２２        制御部
２３        選択部
２４        照合部
２５        記憶部
１          計測装置
２          端末装置
１５        選択部
７          コンピュータ
５、９      中継装置
１ａ        通信インターフェース
１ｂ        通信インターフェース
１ｃ        メモリ
１ｄ        プロセッサ
１ｅ        記憶装置
１ｆ        入力インターフェース
１ｇ        出力インターフェース
１ｉ        クロック
１ｊ        キーボード
１ｋ        マウス
１ｍ        モニタ
１ｎ        プリンタ
【図１】
0005609509.tif 000002
【図２】
0005609509.tif 000003
【図３】
0005609509.tif 000004
【図４】
0005609509.tif 000005
【図５】
0005609509.tif 000006
【図６】
0005609509.tif 000007
【図７】
0005609509.tif 000008
【図８】
0005609509.tif 000009
【図９】
0005609509.tif 000010
【図１０】
0005609509.tif 000011
【図１１】
0005609509.tif 000012
【図１２】
0005609509.tif 000013
【図１３】
0005609509.tif 000014
【図１４】
0005609509.tif 000015
【図１５】
0005609509.tif 000016
【図１６】
0005609509.tif 000017
【図１７】
0005609509.tif 000018
【図１８】
0005609509.tif 000019