(57)【要約】【課題】例えば、リアルタイムに発生する大量の呼制御データの中から所定の条件に一致するものを効率的に抽出することを目的とする。【解決手段】データキャプチャ部１０１は、ＶｏＩＰネットワーク２００からキャプチャしたＶｏＩＰパケットを１分ごとに、１分ごとのキャプチャファイルに保存する。キー生成部１０２は、キャプチャファイルに保存されたＶｏＩＰパケットのＳＩＰパラメータを含むキーをＣａｌｌ−ＩＤごとに生成し、１分ごとのキーファイルに保存する。キー更新部１０３は、今回新たに保存されたキーと同じＣａｌｌ−ＩＤのキーが最初に保存されたキーファイルに保存されているキーに、今回新たに保存されたキーのＳＩＰパラメータを追加する。データ管理部１０５は、キャプチャファイルに保存されたＶｏＩＰパケットを、Ｃａｌｌ−ＩＤごとにまとめて１分ごとのデータファイルに保存する。【選択図】図１
2008124758.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを記憶する記憶装置と、データを処理する処理装置と、データを入力する入力装置とを備える呼制御データ検索システムにおいて、
呼を一意に識別する呼識別子と呼の属性を示す少なくとも１つの属性データとを含む呼制御データをネットワークからキャプチャし、キャプチャした呼制御データを単位時間Ｔｃごとに記憶装置内の単位時間Ｔｃごとのキャプチャファイルに保存するデータキャプチャ部と、
前記データキャプチャ部によりキャプチャファイルに保存された呼制御データの属性データを含むキーを、処理装置を用いて、当該呼制御データの呼識別子ごとに生成し、生成したキーを記憶装置内の単位時間Ｔｋごとのキーファイルに保存するキー生成部と、
前記キー生成部によりキーファイルにキーが保存されるときに、処理装置を用いて、過去のキーファイルに当該キーの呼識別子と同じ呼識別子に対応するキーが保存されているかどうかを判定し、当該過去のキーファイルに当該呼識別子のキーが保存されている場合には、当該過去のキーファイルに保存されている当該呼識別子のキーに、前記キー生成部によりキーファイルに保存される当該呼識別子のキーの属性データを追加するキー更新部と、
前記データキャプチャ部によりキャプチャファイルに保存された呼制御データを、所定の形式で、記憶装置内の単位時間Ｔｄごとのデータファイルに保存するデータ管理部と、
入力装置を用いて、任意の時刻を入力する入力部と、
処理装置を用いて、前記入力部により入力された時刻に対応するキーファイルを検索し、キーを抽出するキー検索部と、
処理装置を用いて、データファイルを検索し、前記キー検索部により抽出されたキーの呼識別子と同じ呼識別子を含む呼制御データを抽出するデータ検索部とを備えることを特徴とする呼制御データ検索システム。
【請求項２】
前記入力部は、入力装置を用いて、任意の時刻と少なくとも１つの属性データとを入力し、
前記キー検索部は、前記入力部により入力された時刻に対応するキーファイルを検索し、前記入力部により入力された属性データを含むキーを抽出することを特徴とする請求項１に記載の呼制御データ検索システム。
【請求項３】
前記キー更新部は、前記キー生成部によりキーファイルにキーが保存されるときに、処理装置を用いて、過去のキーファイルであって当該キーの呼識別子と同じ呼識別子に対応するキーが最初に保存されたキーファイルを検出し、検出した過去のキーファイルに保存されている当該呼識別子のキーに、前記キー生成部によりキーファイルに保存される当該呼識別子のキーの属性データを追加し、
前記入力部は、任意の時刻として呼の開始時刻を入力することを特徴とする請求項１に記載の呼制御データ検索システム。
【請求項４】
単位時間Ｔｃと単位時間Ｔｋと単位時間Ｔｄとは、いずれも同じ長さであることを特徴とする請求項１に記載の呼制御データ検索システム。
【請求項５】
前記データ管理部は、前記データキャプチャ部によりキャプチャファイルに保存された呼制御データを、当該呼制御データの呼識別子ごとにまとめて保存し、
前記呼制御データ検索システムは、さらに、
前記データ管理部によりデータファイルに呼制御データが保存された位置を示すアドレスを、処理装置を用いて、当該呼制御データの呼識別子ごとに生成し、生成したアドレスを記憶装置内の単位時間Ｔａごとのアドレスファイルに保存するアドレス生成部と、
処理装置を用いて、アドレスファイルを検索し、前記キー検索部により抽出されたキーの呼識別子と同じ呼識別子に対応するアドレスを抽出するアドレス検索部とを備え、
前記データ検索部は、前記アドレス検索部により抽出されたアドレスが示す位置から、前記キー検索部により抽出されたキーの呼識別子と同じ呼識別子を含む呼制御データを抽出することを特徴とする請求項１に記載の呼制御データ検索システム。
【請求項６】
単位時間Ｔｃと単位時間Ｔｋと単位時間Ｔａと単位時間Ｔｄとは、いずれも同じ長さであることを特徴とする請求項５に記載の呼制御データ検索システム。
【請求項７】
ファイルを記憶する記憶装置と、データを処理する処理装置と、データを入力する入力装置とを備えるコンピュータに、
呼を一意に識別する呼識別子と呼の属性を示す少なくとも１つの属性データとを含む呼制御データをネットワークからキャプチャし、キャプチャした呼制御データを単位時間Ｔｃごとに記憶装置内の単位時間Ｔｃごとのキャプチャファイルに保存するデータキャプチャ処理と、
前記データキャプチャ処理によりキャプチャファイルに保存された呼制御データの属性データを含むキーを、処理装置を用いて、当該呼制御データの呼識別子ごとに生成し、生成したキーを記憶装置内の単位時間Ｔｋごとのキーファイルに保存するキー生成処理と、
前記キー生成処理によりキーファイルにキーが保存されるときに、処理装置を用いて、過去のキーファイルに当該キーの呼識別子と同じ呼識別子に対応するキーが保存されているかどうかを判定し、当該過去のキーファイルに当該呼識別子のキーが保存されている場合には、当該過去のキーファイルに保存されている当該呼識別子のキーに、前記キー生成処理によりキーファイルに保存される当該呼識別子のキーの属性データを追加するキー更新処理と、
前記データキャプチャ処理によりキャプチャファイルに保存された呼制御データを、所定の形式で、記憶装置内の単位時間Ｔｄごとのデータファイルに保存するデータ管理処理と、
入力装置を用いて、任意の時刻を入力する入力処理と、
処理装置を用いて、前記入力処理により入力された時刻に対応するキーファイルを検索し、キーを抽出するキー検索処理と、
処理装置を用いて、データファイルを検索し、前記キー検索処理により抽出されたキーの呼識別子と同じ呼識別子を含む呼制御データを抽出するデータ検索処理とを実行させることを特徴とする呼制御データ検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、呼制御データ検索システム及び呼制御データ検索プログラムに関するものである。本発明は、特に、ＶｏＩＰ（Ｖｏｉｃｅ・ｏｖｅｒ・Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ）の呼制御データ（「呼情報」ともいう）の高速検索方式に関するものである。
【背景技術】
【０００２】
ＶｏＩＰサービスを展開するＩＰ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ）ネットワークにおいて、複数のキャプチャ装置から収集した制御信号である通信データ全てに対し、Ｃａｌｌ−ＩＤに基づいて各通信データを呼処理ごとに分離し、分離した通信データを検索して同一の呼処理に関する通信データを連結し、発信端末から着信端末までの全ての制御信号シーケンスを生成する技術が公知である（例えば、特許文献１参照）。
【特許文献１】特開２００４−２４８１９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記のような従来のキャプチャ装置では、ＳＩＰ（Ｓｅｓｓｉｏｎ・Ｉｎｉｔｉａｔｉｏｎ・Ｐｒｏｔｏｃｏｌ）メッセージなどを含むＶｏＩＰパケットをキャプチャした後、キャプチャしたデータを単にファイルなどに蓄積しておくだけであった。そのため、ＶｏＩＰパケットを検索する際には、逐一パケットを解析してからでなければ、検索条件に一致するデータを抽出することができないという課題があった。しかも、大量のデータから目的のパケットを検索しなければならないため、性能に課題があった。
【０００４】
ＶｏＩＰの代表的なアプリケーションであるＩＰ電話が普及していない段階では、トラブル発生時に試験呼を流してパケット解析を行うといった方法が主流であったため、上記のような従来方法でも性能的にほとんど問題は発生しなかった。しかしながら、ＩＰ電話が普及し、加入者が増加すると同時に、従来の電話網と同等の信頼性が求められる状況では、トラブル発生時に、リアルタイムに発生する大量のＶｏＩＰパケットの中からトラブルの原因となったパケットを効率的に検出して、そのトラブルに迅速に対処する必要が生じている。
【０００５】
本発明は、例えば、リアルタイムに発生する大量の呼制御データの中から所定の条件に一致するものを効率的に抽出することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一の態様に係る呼制御データ検索システムは、
ファイルを記憶する記憶装置と、データを処理する処理装置と、データを入力する入力装置とを備える呼制御データ検索システムにおいて、
呼を一意に識別する呼識別子と呼の属性を示す少なくとも１つの属性データとを含む呼制御データをネットワークからキャプチャし、キャプチャした呼制御データを単位時間Ｔｃごとに記憶装置内の単位時間Ｔｃごとのキャプチャファイルに保存するデータキャプチャ部と、
前記データキャプチャ部によりキャプチャファイルに保存された呼制御データの属性データを含むキーを、処理装置を用いて、当該呼制御データの呼識別子ごとに生成し、生成したキーを記憶装置内の単位時間Ｔｋごとのキーファイルに保存するキー生成部と、
前記キー生成部によりキーファイルにキーが保存されるときに、処理装置を用いて、過去のキーファイルに当該キーの呼識別子と同じ呼識別子に対応するキーが保存されているかどうかを判定し、当該過去のキーファイルに当該呼識別子のキーが保存されている場合には、当該過去のキーファイルに保存されている当該呼識別子のキーに、前記キー生成部によりキーファイルに保存される当該呼識別子のキーの属性データを追加するキー更新部と、
前記データキャプチャ部によりキャプチャファイルに保存された呼制御データを、所定の形式で、記憶装置内の単位時間Ｔｄごとのデータファイルに保存するデータ管理部と、
入力装置を用いて、任意の時刻を入力する入力部と、
処理装置を用いて、前記入力部により入力された時刻に対応するキーファイルを検索し、キーを抽出するキー検索部と、
処理装置を用いて、データファイルを検索し、前記キー検索部により抽出されたキーの呼識別子と同じ呼識別子を含む呼制御データを抽出するデータ検索部とを備えることを特徴とする。
【０００７】
前記入力部は、入力装置を用いて、任意の時刻と少なくとも１つの属性データとを入力し、
前記キー検索部は、前記入力部により入力された時刻に対応するキーファイルを検索し、前記入力部により入力された属性データを含むキーを抽出することを特徴とする。
【０００８】
前記キー更新部は、前記キー生成部によりキーファイルにキーが保存されるときに、処理装置を用いて、過去のキーファイルであって当該キーの呼識別子と同じ呼識別子に対応するキーが最初に保存されたキーファイルを検出し、検出した過去のキーファイルに保存されている当該呼識別子のキーに、前記キー生成部によりキーファイルに保存される当該呼識別子のキーの属性データを追加し、
前記入力部は、任意の時刻として呼の開始時刻を入力することを特徴とする。
【０００９】
単位時間Ｔｃと単位時間Ｔｋと単位時間Ｔｄとは、いずれも同じ長さであることを特徴とする。
【００１０】
前記データ管理部は、前記データキャプチャ部によりキャプチャファイルに保存された呼制御データを、当該呼制御データの呼識別子ごとにまとめて保存し、
前記呼制御データ検索システムは、さらに、
前記データ管理部によりデータファイルに呼制御データが保存された位置を示すアドレスを、処理装置を用いて、当該呼制御データの呼識別子ごとに生成し、生成したアドレスを記憶装置内の単位時間Ｔａごとのアドレスファイルに保存するアドレス生成部と、
処理装置を用いて、アドレスファイルを検索し、前記キー検索部により抽出されたキーの呼識別子と同じ呼識別子に対応するアドレスを抽出するアドレス検索部とを備え、
前記データ検索部は、前記アドレス検索部により抽出されたアドレスが示す位置から、前記キー検索部により抽出されたキーの呼識別子と同じ呼識別子を含む呼制御データを抽出することを特徴とする。
【００１１】
単位時間Ｔｃと単位時間Ｔｋと単位時間Ｔａと単位時間Ｔｄとは、いずれも同じ長さであることを特徴とする。
【００１２】
本発明の一の態様に係る呼制御データ検索プログラムは、
ファイルを記憶する記憶装置と、データを処理する処理装置と、データを入力する入力装置とを備えるコンピュータに、
呼を一意に識別する呼識別子と呼の属性を示す少なくとも１つの属性データとを含む呼制御データをネットワークからキャプチャし、キャプチャした呼制御データを単位時間Ｔｃごとに記憶装置内の単位時間Ｔｃごとのキャプチャファイルに保存するデータキャプチャ処理と、
前記データキャプチャ処理によりキャプチャファイルに保存された呼制御データの属性データを含むキーを、処理装置を用いて、当該呼制御データの呼識別子ごとに生成し、生成したキーを記憶装置内の単位時間Ｔｋごとのキーファイルに保存するキー生成処理と、
前記キー生成処理によりキーファイルにキーが保存されるときに、処理装置を用いて、過去のキーファイルに当該キーの呼識別子と同じ呼識別子に対応するキーが保存されているかどうかを判定し、当該過去のキーファイルに当該呼識別子のキーが保存されている場合には、当該過去のキーファイルに保存されている当該呼識別子のキーに、前記キー生成処理によりキーファイルに保存される当該呼識別子のキーの属性データを追加するキー更新処理と、
前記データキャプチャ処理によりキャプチャファイルに保存された呼制御データを、所定の形式で、記憶装置内の単位時間Ｔｄごとのデータファイルに保存するデータ管理処理と、
入力装置を用いて、任意の時刻を入力する入力処理と、
処理装置を用いて、前記入力処理により入力された時刻に対応するキーファイルを検索し、キーを抽出するキー検索処理と、
処理装置を用いて、データファイルを検索し、前記キー検索処理により抽出されたキーの呼識別子と同じ呼識別子を含む呼制御データを抽出するデータ検索処理とを実行させることを特徴とする。
【発明の効果】
【００１３】
本発明の一の態様によれば、呼制御データ検索システムにおいて、データキャプチャ部が、ネットワークからキャプチャした呼制御データを単位時間Ｔｃごとにキャプチャファイルに保存し、キー生成部が、キャプチャファイルに保存された呼制御データの属性データを含むキーであって、当該呼制御データの呼識別子ごとに生成したキーを単位時間Ｔｋごとのキーファイルに保存し、キー更新部が、キーファイルにキーが保存されるときに、過去のキーファイルに当該キーの呼識別子と同じ呼識別子に対応するキーが保存されている場合には、当該過去のキーファイルに保存されている当該呼識別子のキーに、キーファイルに保存される当該呼識別子のキーの属性データを追加することにより、リアルタイムに発生する大量の呼制御データの中から所定の条件に一致するものを効率的に抽出することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について、図を用いて説明する。
【００１５】
実施の形態１．
まず、本実施の形態に係るシステム（以下、「呼制御データ検索システム」という）の構成について説明する。
【００１６】
図１は、呼制御データ検索システム１００の構成を示すブロック図である。
【００１７】
図１において、呼制御データ検索システム１００は、ＶｏＩＰネットワーク２００（ネットワークの一例）を流れるＶｏＩＰパケットを常時キャプチャファイルにキャプチャしている装置である。呼制御データ検索システム１００は、一定間隔でキャプチャファイルを移動（ファイル名を変更して複写）し、移動（複写）したキャプチャファイルから、Ｃａｌｌ−ＩＤごとに呼を抽出する。そして、検索用のキー情報（以下、単に「キー」という）を含むキーファイル、検索用データが保存された位置を示すデータ位置情報（以下、「アドレス」という）を含むアドレスファイル、検索用データとしてＶｏＩＰパケットを含むデータファイルを作成する。これにより、呼制御データ検索システム１００は、検索端末３００（端末装置の一例）から呼の検索要求があった場合に、その検索要求を受け付け、ＶｏＩＰパケットの高速検索を行い、その検索結果を検索端末３００に返すことができる。
【００１８】
このように、呼制御データ検索システム１００は、常時行っているキャプチャと並行して、高速検索に必要な情報を生成することで、ＶｏＩＰネットワーク２００内の大量データを欠落なく収集することと、大量データ内からの高速検索とを両立することができる。
【００１９】
呼制御データ検索システム１００は、データキャプチャ部１０１、キー生成部１０２、キー更新部１０３、アドレス生成部１０４、データ管理部１０５、入力部１０６、キー検索部１０７、アドレス検索部１０８、データ検索部１０９、出力部１１０を備える。また、呼制御データ検索システム１００は、記憶装置１５１、処理装置１５２、入力装置１５３、出力装置１５４などのハードウェア装置（「ハードウェア資源」ともいう）を備える（又はこれらのハードウェア装置が呼制御データ検索システム１００に接続される）。ハードウェア装置は呼制御データ検索システム１００の各部によって利用される。
【００２０】
以下、各ハードウェア装置の機能について説明する。
【００２１】
記憶装置１５１は、データや情報を含むファイルを記憶する。記憶装置１５１は、呼制御データ検索システム１００の各部がデータや情報をファイルに保存したり、ファイルを検索したり、ファイルからデータや情報を読み出したりする場合に利用される。
【００２２】
処理装置１５２は、データや情報を処理する。処理装置１５２は、呼制御データ検索システム１００の各部がデータや情報の演算、加工、記憶装置１５１からの読み取り、記憶装置１５１内の検索、記憶装置１５１への書き込みなどを行う場合に利用される。
【００２３】
入力装置１５３は、データや情報を入力する。入力装置１５３は、呼制御データ検索システム１００の各部がデータや情報を呼制御データ検索システム１００の外部から入力する場合に利用される。
【００２４】
出力装置１５４は、データや情報を出力する。出力装置１５４は、呼制御データ検索システム１００の各部がデータや情報を呼制御データ検索システム１００の外部へ出力する場合に利用される。
【００２５】
以下、呼制御データ検索システム１００の各部の機能について説明する。
【００２６】
データキャプチャ部１０１は、ＶｏＩＰパケットをＶｏＩＰネットワーク２００からキャプチャし、キャプチャしたＶｏＩＰパケットを単位時間Ｔｃごとに記憶装置１５１内のキャプチャファイルに保存する。このとき、データキャプチャ部１０１は、単位時間Ｔｃごとに別々のキャプチャファイルを作成し、キャプチャしたＶｏＩＰパケットを単位時間Ｔｃごとのキャプチャファイルに保存する。例えば、Ｔｃ＝１分とした場合、データキャプチャ部１０１は、ＶｏＩＰネットワーク２００から常時キャプチャしているＶｏＩＰパケットを１分ごとに、１分ごとのキャプチャファイルに保存する。ここで、ＶｏＩＰパケットは、呼制御データの一例であり、Ｃａｌｌ−ＩＤを含むとともに、その他のＳＩＰパラメータを少なくとも１つ含むものである。Ｃａｌｌ−ＩＤは、呼を一意に識別する呼識別子の一例である。Ｃａｌｌ−ＩＤ以外のＳＩＰパラメータ（以下、単に「ＳＩＰパラメータ」という）は、呼の属性を示す属性データの一例である。
【００２７】
キー生成部１０２は、データキャプチャ部１０１によりキャプチャファイルに保存されたＶｏＩＰパケットのＳＩＰパラメータを含むキーを、処理装置１５２を用いて、当該ＶｏＩＰパケットのＣａｌｌ−ＩＤごとに生成し、生成したキーを記憶装置１５１内のキーファイルに保存する。このとき、キー生成部１０２は、単位時間Ｔｋごとに別々のキーファイルを作成し、生成したキーを単位時間Ｔｋごとのキーファイルに保存する。例えば、Ｔｃ＝Ｔｋ＝１分とした場合、データキャプチャ部１０１が１分間にキャプチャしたＶｏＩＰパケットを１つのキャプチャファイルに保存した後、キー生成部１０２は、そのキャプチャファイルからＶｏＩＰパケットを全て読み出し、読み出したＶｏＩＰパケットのそれぞれに含まれるＣａｌｌ−ＩＤとＳＩＰパラメータの組み合わせを抽出する。そして、抽出したＣａｌｌ−ＩＤとＳＩＰパラメータの各組み合わせをＣａｌｌ−ＩＤごとのキーとして、１分ごとのキーファイルに保存する。単位時間Ｔｃと単位時間Ｔｋは長さを異にしてもよいが、この例のように同じ長さとすることが望ましい。
【００２８】
キー更新部１０３は、キー生成部１０２によりキーファイルにキーが保存されるときに、処理装置１５２を用いて、過去のキーファイルに当該キーのＣａｌｌ−ＩＤと同じＣａｌｌ−ＩＤに対応するキーが保存されているかどうかを判定する。当該過去のキーファイルに当該Ｃａｌｌ−ＩＤのキーが保存されている場合には、キー更新部１０３は、当該過去のキーファイルに保存されている当該Ｃａｌｌ−ＩＤのキーに、キー生成部１０２によりキーファイルに保存される当該Ｃａｌｌ−ＩＤのキーのＳＩＰパラメータを追加する。本実施の形態では、キー更新部１０３は、処理装置１５２を用いて、キー生成部１０２によりキーファイルに保存されるキーのＣａｌｌ−ＩＤと同じＣａｌｌ−ＩＤに対応するキーが最初に保存されたキーファイルを、過去のキーファイルとして検出し、検出した過去のキーファイルに保存されている当該Ｃａｌｌ−ＩＤのキーに、キー生成部１０２によりキーファイルに保存される当該Ｃａｌｌ−ＩＤのキーのＳＩＰパラメータを追加する。例えば、キー生成部１０２が１つのＶｏＩＰパケットから抽出したＣａｌｌ−ＩＤとＳＩＰパラメータの組み合わせを、そのＣａｌｌ−ＩＤに対応するキーとして１つのキーファイルに保存した後、キー更新部１０３は、同じＣａｌｌ−ＩＤに対応するキーが過去のキーファイルにも保存されていないかどうか確認する。同じＣａｌｌ−ＩＤに対応するキーが保存されている過去のキーファイルがある場合、キー更新部１０３は、同じＣａｌｌ−ＩＤに対応するキーが最初に保存されたキーファイル、即ち、該当する過去のキーファイルで最も古いものを検出する。そして、検出したキーファイル内の同じＣａｌｌ−ＩＤに対応するキーに、キー生成部１０２が今回保存したキーに含まれるＳＩＰパラメータを追加する。
【００２９】
データ管理部１０５は、データキャプチャ部１０１によりキャプチャファイルに保存されたＶｏＩＰパケットを、所定の形式で、記憶装置１５１内のデータファイルに保存する。本実施の形態では、データ管理部１０５は、データキャプチャ部１０１によりキャプチャファイルに保存されたＶｏＩＰパケットを、当該ＶｏＩＰパケットのＣａｌｌ−ＩＤごとにまとめて保存する。このとき、データ管理部１０５は、単位時間Ｔｄごとに別々のデータファイルを作成し、ＶｏＩＰパケットを単位時間Ｔｄごとのデータファイルに保存する。例えば、Ｔｃ＝Ｔｄ＝１分とした場合、データキャプチャ部１０１が１分間にキャプチャしたＶｏＩＰパケットを１つのキャプチャファイルに保存した後、データ管理部１０５は、そのキャプチャファイルからＶｏＩＰパケットを全て読み出し、読み出したＶｏＩＰパケットのそれぞれに含まれるＣａｌｌ−ＩＤを抽出する。また、読み出したＶｏＩＰパケットを、抽出したＣａｌｌ−ＩＤごとにまとめる。そして、抽出したＣａｌｌ−ＩＤのハッシュ値を計算し、Ｃａｌｌ−ＩＤごとにまとめたＶｏＩＰパケットを、計算したハッシュ値に基づいて（例えば、Ｃａｌｌ−ＩＤのハッシュ値の若い順に）１分ごとのデータファイル内に保存する。単位時間Ｔｃと単位時間Ｔｄは長さを異にしてもよいが、この例のように同じ長さとすることが望ましい。
【００３０】
アドレス生成部１０４は、データ管理部１０５によりデータファイルにＶｏＩＰパケットが保存された位置（データファイル内でのＶｏＩＰパケットの位置）を示すアドレスを、処理装置１５２を用いて、当該ＶｏＩＰパケットのＣａｌｌ−ＩＤごとに生成して記憶装置１５１内のアドレスファイルに保存する（ここで、生成されるアドレスには、番地などを指す一般的なアドレスだけでなく、ＶｏＩＰパケットのサイズなど、ＶｏＩＰパケットの位置を示す様々な情報を含めるものとする）。このとき、アドレス生成部１０４は、単位時間Ｔａごとに別々のアドレスファイルを作成し、アドレスを単位時間Ｔａごとのアドレスファイルに保存する。例えば、Ｔｃ＝Ｔｄ＝Ｔａ＝１分とした場合、データ管理部１０５が１分間にキャプチャされたＶｏＩＰパケットを１つのデータファイルに保存した後、アドレス生成部１０４は、そのデータファイルのどの位置にＶｏＩＰパケットが保存されているか（以下、「保存位置」という）を、Ｃａｌｌ−ＩＤごとに特定する。さらに、Ｃａｌｌ−ＩＤごとに、そのＣａｌｌ−ＩＤを含むＶｏＩＰパケットのサイズの合計（以下、「サイズ情報」という）と、特定した保存位置の先頭（そのＣａｌｌ−ＩＤを含むＶｏＩＰパケットのうち、データファイル内で一番前に保存されているＶｏＩＰパケット）を指すポインタ（データファイル内のオフセット値）を組み合わせ、この組み合わせをそのＣａｌｌ−ＩＤのハッシュ値に対応するアドレスとして、１分ごとのアドレスファイルに保存する。単位時間Ｔｃと単位時間Ｔｄと単位時間Ｔａは長さを異にしてもよいが、この例のように同じ長さとすることが望ましい。
【００３１】
入力部１０６は、入力装置１５３を用いて、検索端末３００が指定する任意の時刻を入力するとともに、検索端末３００が指定するＳＩＰパラメータを少なくとも１つ入力する。本実施の形態では、入力部１０６は、任意の時刻として呼の開始時刻を入力する。検索端末３００がＣａｌｌ−ＩＤを指定する場合には、入力部１０６は、ＳＩＰパラメータの代わりに、あるいは、ＳＩＰパラメータとともにそのＣａｌｌ−ＩＤを入力してもよい。検索端末３００が検索の対象とする時間帯（呼が開始された時間帯）を指定する場合には、入力部１０６は、任意の時刻としてその時間帯を入力してもよい。
【００３２】
キー検索部１０７は、処理装置１５２を用いて、入力部１０６により入力された時刻に対応するキーファイルを検索し、入力部１０６により入力されたＳＩＰパラメータを含むキーを抽出する。入力部１０６がＣａｌｌ−ＩＤを入力した場合には、キー検索部１０７は、そのＣａｌｌ−ＩＤに対応するキーを抽出する。入力部１０６が任意の時刻として時間帯を入力した場合には、キー検索部１０７は、その時間帯に対応するキーファイルを全て検索する。
【００３３】
アドレス検索部１０８は、処理装置１５２を用いて、アドレスファイルを検索し、キー検索部１０７により抽出されたキーのＣａｌｌ−ＩＤと同じＣａｌｌ−ＩＤに対応するアドレスを抽出する。
【００３４】
データ検索部１０９は、処理装置１５２を用いて、データファイルを検索し、キー検索部１０７により抽出されたキーのＣａｌｌ−ＩＤと同じＣａｌｌ−ＩＤを含むＶｏＩＰパケットを抽出する。本実施の形態では、データ検索部１０９は、アドレス検索部１０８により抽出されたアドレスが示す位置から、キー検索部１０７により抽出されたキーのＣａｌｌ−ＩＤと同じＣａｌｌ−ＩＤを含むＶｏＩＰパケットを抽出する。
【００３５】
出力部１１０は、出力装置１５４を用いて、データ検索部１０９により抽出されたＶｏＩＰパケット、あるいは、そのＶｏＩＰパケットに含まれるＣａｌｌ−ＩＤやＳＩＰパラメータの一覧などを検索端末３００に対して出力する。
【００３６】
図２は、呼制御データ検索システム１００のハードウェア資源の一例を示す図である。
【００３７】
図２において、呼制御データ検索システム１００は、不図示のシステムユニット、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶ディスプレイ）の表示画面を有する表示装置９０１、キーボード９０２（Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤＤ９０５（Ｃｏｍｐａｃｔ・Ｄｉｓｃ・Ｄｒｉｖｅ）、プリンタ装置９０６などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニットは、コンピュータであり、ＬＡＮ（ローカルエリアネットワーク）、ゲートウェイを介してインターネットに接続されている。
【００３８】
呼制御データ検索システム１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）（「演算装置」、「マイクロプロセッサ」、「マイクロコンピュータ」、「プロセッサ」ともいう）を備えている。ＣＰＵ９１１は、処理装置１５２の一例である。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）、ＲＡＭ９１４（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカードリーダライタなどの記憶媒体が用いられてもよい。
【００３９】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置１５１の一例である。通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５などは、入力装置１５３の一例である。また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置１５４の一例である。
【００４０】
通信ボード９１５は、ＬＡＮに限らず、インターネット、あるいは、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）、広域ＬＡＮ、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ・Ｔｒａｎｓｆｅｒ・Ｍｏｄｅ）ネットワークなどのＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
【００４１】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１により実行される。プログラム群９２３には、本実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。また、ファイル群９２４には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理（動作）に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００４２】
また、本実施の形態の説明において説明するブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、ＲＡＭ９１４などのメモリ、ＦＤＤ９０４のフレキシブルディスク（ＦＤ）、ＣＤＤ９０５のコンパクトディスク（ＣＤ）、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク（ＭＤ）、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）などの記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体により伝送される。
【００４３】
また、本実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」、「〜手段」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、素子・デバイス・基板・配線などのハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤなどの記録媒体に記憶される。このプログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００４４】
次に、呼制御データ検索システム１００の動作について説明する。
【００４５】
以下では、説明をより具体的にするため、呼制御データ検索システム１００が図２に例示したコンピュータとハードウェア資源により実現されているものとする。また、キャプチャファイル、キーファイル、アドレスファイル、データファイルがそれぞれ保存される単位時間Ｔｃ、Ｔｋ、Ｔａ、Ｔｄをいずれも１分とする。
【００４６】
図３及び図４は、ＶｏＩＰパケットをキャプチャしてから所定の形式で保存するまでの呼制御データ検索システム１００の動作を示すフローチャートである。図５は、ＶｏＩＰパケットを検索する際の呼制御データ検索システム１００の動作を示すフローチャートである。
【００４７】
図３において、データキャプチャ部１０１は、通信ボード９１５を用いて、ＶｏＩＰパケットをＶｏＩＰネットワーク２００からキャプチャする（ステップＳ１０１）。そして、データキャプチャ部１０１は、ステップＳ１０１でキャプチャしたＶｏＩＰパケットを１分ごとに、磁気ディスク装置９２０内の１分ごとのキャプチャファイルに保存する（ステップＳ１０２）。
【００４８】
キー生成部１０２は、ステップＳ１０２でキャプチャファイルに保存されたＶｏＩＰパケットのＳＩＰパラメータを含むキーを、ＣＰＵ９１１を用いて、当該ＶｏＩＰパケットのＣａｌｌ−ＩＤごとに生成する（ステップＳ１０３）。そして、キー生成部１０２は、ステップＳ１０３で生成したキーを、磁気ディスク装置９２０内の１分ごとのキーファイルに保存する（ステップＳ１０４）。キーファイルは、キー生成部１０２によって、１分ごとに生成される。
【００４９】
キー更新部１０３は、ＣＰＵ９１１を用いて、過去のキーファイルに、ステップＳ１０４で今回新たに保存されたキーのＣａｌｌ−ＩＤと同じＣａｌｌ−ＩＤに対応するキーが保存されているかどうかを判定する（ステップＳ１０５）。キー更新部１０３は、ステップＳ１０５で同じＣａｌｌ−ＩＤに対応するキーが過去のキーファイルにも保存されていると判定した場合、ＣＰＵ９１１を用いて、ステップＳ１０４で今回新たに保存されたキーのＣａｌｌ−ＩＤと同じＣａｌｌ−ＩＤに対応するキーが最初に保存されたキーファイルを検出する。そして、そのキーファイルに保存されている同じＣａｌｌ−ＩＤのキーに、ステップＳ１０４で今回新たに保存されたキーのＳＩＰパラメータを追加する（ステップＳ１０６）。一方、キー更新部１０３は、ステップＳ１０５で同じＣａｌｌ−ＩＤに対応するキーが過去のキーファイルには保存されていないと判定した場合、ステップＳ１０６の処理は実行しない。
【００５０】
図４において、データ管理部１０５は、磁気ディスク装置９２０内の１分ごとのデータファイルにおいて、ステップＳ１０２でキャプチャファイルに保存されたＶｏＩＰパケットをＣａｌｌ−ＩＤごとにまとめて保存する（ステップＳ２０１）。データファイルは、データ管理部１０５によって、１分ごとに生成される。
【００５１】
アドレス生成部１０４は、ステップＳ１０２でキャプチャファイルに保存されたＶｏＩＰパケットがステップＳ２０１で保存されたデータファイル内の位置を示すアドレス（データファイル内のオフセット値とＶｏＩＰパケットのサイズ）を、ＣＰＵ９１１を用いて、Ｃａｌｌ−ＩＤごとに生成する（ステップＳ２０２）。そして、アドレス生成部１０４は、ステップＳ２０２で生成したアドレスを、磁気ディスク装置９２０内の１分ごとのアドレスファイルに保存する（ステップＳ２０３）。アドレスファイルは、アドレス生成部１０４によって、１分ごとに生成される。
【００５２】
図５において、入力部１０６は、キーボード９０２やマウス９０３を用いて（検索端末３００を呼制御データ検索システム１００の一部とした場合）、あるいは、通信ボード９１５を用いて（検索端末３００をネットワークによって呼制御データ検索システム１００と接続した場合）、検索端末３００が指定する呼の開始時刻とＳＩＰパラメータを入力（受信）する（ステップＳ３０１）。
【００５３】
キー検索部１０７は、ＣＰＵ９１１を用いて、ステップＳ３０１で入力された時刻に対応するキーファイルを検索する（ステップＳ３０２）。そして、キー検索部１０７は、ステップＳ３０２で入力されたＳＩＰパラメータを含むキーを抽出する（ステップＳ３０３）。
【００５４】
アドレス検索部１０８は、ＣＰＵ９１１を用いて、アドレスファイルを検索する（ステップＳ３０４）。そして、アドレス検索部１０８は、ステップＳ３０３で抽出されたキーのＣａｌｌ−ＩＤと同じＣａｌｌ−ＩＤに対応するアドレスを抽出する（ステップＳ３０５）。
【００５５】
データ検索部１０９は、ＣＰＵ９１１を用いて、データファイルを検索する（ステップＳ３０６）。そして、データ検索部１０９は、ステップＳ３０５で抽出されたアドレスが示す位置から、ステップＳ３０３で抽出されたキーのＣａｌｌ−ＩＤと同じＣａｌｌ−ＩＤを含むＶｏＩＰパケットを抽出する（ステップＳ３０７）。
【００５６】
出力部１１０は、表示装置９０１やプリンタ装置９０６を用いて（検索端末３００を呼制御データ検索システム１００の一部とした場合）、あるいは、通信ボード９１５を用いて（検索端末３００をネットワークによって呼制御データ検索システム１００と接続した場合）、ステップＳ３０７で抽出されたＶｏＩＰパケット、あるいは、そのＶｏＩＰパケットに含まれるＣａｌｌ−ＩＤやＳＩＰパラメータの一覧などを検索端末３００に対して出力（送信）する（ステップＳ３０８）。
【００５７】
ここで、図３から図５までに示したフローチャートは、呼制御データ検索システム１００を実現するコンピュータ上で実行されるプログラム（以下、「呼制御データ検索プログラム」という）の処理手順に相当する。この処理手順において、呼制御データ検索プログラムは、データキャプチャ処理、キー生成処理、キー更新処理、アドレス生成処理、データ管理処理、入力処理、キー検索処理、アドレス検索処理、データ検索処理、出力処理をコンピュータに実行させる。
【００５８】
図３のステップＳ１０１〜Ｓ１０２はデータキャプチャ処理の一例、ステップＳ１０３〜Ｓ１０４はキー生成処理の一例、ステップＳ１０５〜Ｓ１０６はキー更新処理の一例である。図４のステップＳ２０１はデータ管理処理の一例、ステップＳ２０２〜Ｓ２０３はアドレス生成処理の一例である。図５のステップＳ３０１は入力処理の一例、ステップＳ３０２〜Ｓ３０３はキー検索処理の一例、ステップＳ３０４〜Ｓ３０５はアドレス検索処理の一例、ステップＳ３０６〜Ｓ３０７はデータ検索処理の一例、ステップＳ３０８は出力処理の一例である。
【００５９】
次に、上述した呼制御データ検索システム１００の動作の詳細について、その一例を示す。
【００６０】
図６及び図７は、図３及び図４に示した呼制御データ検索システム１００の動作の一例を示す概念図である。
【００６１】
図６において、データキャプチャ部１０１は、ＶｏＩＰネットワーク２００上を流れるトラヒックの中からＳＩＰメッセージを含むデータ（即ち、ＶｏＩＰパケット）を抽出し、抽出したデータを磁気ディスク装置９２０（記憶装置１５１の一例）に常時出力してキャプチャファイル５０１ａに保存している（図３のステップＳ１０１に相当）。キー生成部１０２、アドレス生成部１０４、データ管理部１０５（以下、これらを合わせて「キー／データ生成部」という）は、データキャプチャ部１０１がキャプチャファイル５０１ａの名称を変更する（キャプチャファイル５０１ａを別名で保存する）ことにより生成するファイルを監視する。
【００６２】
このように、本実施の形態では、データキャプチャ部１０１とキー／データ生成部を分離することで、パケットのキャプチャ処理と、キーやアドレスやデータの生成処理や管理処理を並行して実施することが可能となる。
【００６３】
図７において、データキャプチャ部１０１は、例えば２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒にキャプチャしたＶｏＩＰパケットを含むキャプチャファイル５０１ａのファイル名を、“２００６−１１−０１”や“１０：１５”などの日時を示す文字列を含むものに変更し、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキャプチャファイル５０１ｂとして保存する（図３のステップＳ１０２に相当）。そして、キャプチャファイル５０１ａに保存されているデータを消去した後、再度キャプチャを開始する。データキャプチャ部１０１が名称を変更したキャプチャファイル５０１ｂは、キー／データ生成部の処理対象となる。
【００６４】
キー生成部１０２は、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキャプチャファイル５０１ｂを磁気ディスク装置９２０（記憶装置１５１の一例）から読み込み、このキャプチャファイル５０１ｂに保存されているＶｏＩＰパケットからＣａｌｌ−ＩＤとＳＩＰパラメータを抽出する。そして、それぞれのＣａｌｌ−ＩＤとＳＩＰパラメータの組み合わせをキーとして、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂを生成し、磁気ディスク装置９２０内に保存する（図３のステップＳ１０３〜Ｓ１０４に相当）。このキーファイル５０２ｂのファイル名にも、“２００６−１１−０１”や“１０：１５”などの日時を示す文字列が含まれる。
【００６５】
ここで、図８に示すように、キー生成部１０２が過去に、Ｃａｌｌ−ＩＤが“Ａ”でＳＩＰパラメータが“Ｘ”となるキーを生成し、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａに保存していたものとする。そして、２００６年１１月１日の９時４５分より前のキーファイル５０２で、Ｃａｌｌ−ＩＤが“Ａ”のキーを含むものは存在しないものとする。さらに、キー生成部１０２が今回新たにＣａｌｌ−ＩＤが“Ａ”でＳＩＰパラメータが“Ｙ”となるキーを生成し、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂに保存したものとする。このとき、キー更新部１０３は、Ｃａｌｌ−ＩＤと、キー生成部１０２がそのＣａｌｌ−ＩＤのキーを最初に保存したキーファイル５０２を特定するためのファイル情報を、ＲＡＭ９１４などのメモリ５０３上で管理している。ファイル情報には、例えば、各Ｃａｌｌ−ＩＤに対応するキーが最初に保存されたキーファイル５０２へのポインタやそのキーファイル５０２の名称などが含まれている。キー更新部１０３は、このようなファイル情報を参照するために、キー生成部１０２が今回生成したキーのＣａｌｌ−ＩＤでメモリ５０３を検索する（図３のステップＳ１０５に相当）。
【００６６】
今回生成されたキーのＣａｌｌ−ＩＤは“Ａ”であるため、図９に示すように、キー更新部１０３は、Ｃａｌｌ−ＩＤを“Ａ”としてメモリ５０３を検索し、このＣａｌｌ−ＩＤに対応するファイル情報から２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａへのポインタやそのファイル名を参照する。そして、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａにアクセスし、このキーファイル５０２ａ内のＣａｌｌ−ＩＤを“Ａ”とするキーに、今回生成されたキーのＳＩＰパラメータとして“Ｙ”を追加する（図３のステップＳ１０６に相当）。その結果、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａ内のＣａｌｌ−ＩＤを“Ａ”とするキーが更新され、ＳＩＰパラメータとして“Ｘ”と“Ｙ”を含むキーとなる。
【００６７】
このように、本実施の形態では、Ｃａｌｌ−ＩＤで識別される１つの呼に関連するＶｏＩＰパケットが、ファイルの作成間隔を跨って出現する場合であっても、同じＣａｌｌ−ＩＤに対応する最初のキーに全てのＳＩＰパラメータを含めることで、キーを用いた検索処理を実施する際に、最初のキーを参照するだけで該当するＣａｌｌ−ＩＤに関わる全てのＶｏＩＰパケットを抽出することができる。その結果、高速検索が可能となる。
【００６８】
前述したように、図７において、キー生成部１０２が、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂを生成した後、あるいは、それと並行して、データ管理部１０５は、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキャプチャファイル５０１ｂを磁気ディスク装置９２０（記憶装置１５１の一例）から読み込み、このキャプチャファイル５０１ｂに保存されているＶｏＩＰパケットを抽出する。そして、各ＶｏＩＰパケットからＣａｌｌ−ＩＤを抽出し、ＣＰＵ９１１により、それぞれのＣａｌｌ−ＩＤのハッシュ値を計算する。データ管理部１０５は、さらに、計算したハッシュ値に基づいて、各Ｃａｌｌ−ＩＤを含むＶｏＩＰパケットの保存位置を決定し、決定した保存位置に各Ｃａｌｌ−ＩＤのＶｏＩＰパケットがまとめて配置されるように、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のデータファイル５０５ｂを生成し、磁気ディスク装置９２０内に保存する（図４のステップＳ２０１に相当）。具体的には、データ管理部１０５は、それぞれのＶｏＩＰパケットをＣａｌｌ−ＩＤのハッシュ値の昇順に並べたデータファイル５０５ｂを磁気ディスク装置９２０内に保存する。このデータファイル５０５ｂのファイル名にも、“２００６−１１−０１”や“１０：１５”などの日時を示す文字列が含まれる。
【００６９】
アドレス生成部１０４は、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のデータファイル５０５ｂを磁気ディスク装置９２０から読み込み、このデータファイル５０５ｂに保存されているＶｏＩＰパケットの保存位置を、Ｃａｌｌ−ＩＤごとに特定する。そして、ＶｏＩＰパケットの保存位置の先頭へのポインタ（データファイル５０５ｂ内のオフセット値）とサイズ情報をＣａｌｌ−ＩＤごとに組み合わせ、各Ｃａｌｌ−ＩＤのハッシュ値に対応するアドレスとして、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のアドレスファイル５０４ｂを生成し、磁気ディスク装置９２０内に保存する（図４のステップＳ２０２〜Ｓ２０３に相当）。このアドレスファイル５０４ｂのファイル名にも、“２００６−１１−０１”や“１０：１５”などの日時を示す文字列が含まれる。
【００７０】
上記のように、本実施の形態では、それぞれのファイルの名称に、ファイルに保存されたデータに対応する日時を示す文字列が含まれているため、キー検索部１０７、アドレス検索部１０８、データ検索部１０９が、それぞれのファイルを検索する際に、効率的に検索処理を実施することが可能となる。
【００７１】
この例では、データ管理部１０５が複数のＣａｌｌ−ＩＤのハッシュ値を計算したときに、計算結果が同一となり、いわゆるハッシュの衝突が生じる場合がある。この場合、従来技術と同様に対応可能である。例えば、ハッシュの衝突が生じたとき、アドレス生成部１０４は、ハッシュ値が同一となるＣａｌｌ−ＩＤを含むＶｏＩＰパケットの位置を示すアドレスを線形リストとして管理することができる。このとき、アドレスファイル５０４ｂにおいて、該当するハッシュ値に対応するアドレスには、線形リストの次のアドレスを指すポインタが含まれることとなる。そして、ハッシュ値が同一となるＣａｌｌ−ＩＤを含むＶｏＩＰパケットの位置を示すアドレスを検索する際には、そのハッシュ値に対応するアドレスがアドレスファイル５０４ｂ内で最初にアクセスされ、そこから線形リスト内のポインタを辿って適切なアドレスが抽出される。
【００７２】
この例では、データ管理部１０５は、Ｃａｌｌ−ＩＤのハッシュ値を計算した後、計算したハッシュ値をキー生成部１０２に提供する。キー生成部１０２は、データ管理部１０５が計算したＣａｌｌ−ＩＤのハッシュ値を、そのＣａｌｌ−ＩＤが対応するキーとともにキーファイル５０２ｂに保存する。これにより、アドレス検索部１０８は、Ｃａｌｌ−ＩＤの代わりにハッシュ値を用いて検索処理を行うことが可能となる。
【００７３】
ここで、この例におけるキーファイル５０２の構成の一例を図１０に示す。
【００７４】
図１０において、キーファイル５０２は、可変長レコードのファイル形式で構成されている。キーファイル５０２は、単位時間Ｔｋ（この例では、１分）ごとに論理的に区別できる形式であればどのように構成されていてもよいが、ファイルシステム上で単位時間Ｔｋごとに別個のファイルとして構成されることが望ましい。それぞれのキーファイル５０２が、ファイルシステム上で別々のファイルとなっている場合、この例のように、ファイル名を利用した処理が可能となる。キーファイル５０２だけでなく、キャプチャファイル５０１、アドレスファイル５０４、データファイル５０５についても同様である。
【００７５】
キーファイル５０２のレコードは、１分ごとのキーファイル５０２においてＣａｌｌ−ＩＤごとに存在する。各レコードは、「レコード長」、「キー数」、「パケットタイプ」、「ハッシュ値」、「タイムスタンプ」、「タイムスタンプ（ミリ秒）」、「ヘッダ部長」、「直前キーデータ登録時刻」、「直前キーデータオフセット」、「内部オフセット」、「キー長」、「キーオフセット」、「キーデータ」の１３種類のカラムデータで構成されている。「レコード長」、「キー数」、「パケットタイプ」、「ハッシュ値」、「タイムスタンプ」、「タイムスタンプ（ミリ秒）」、「ヘッダ部長」、「直前キーデータ登録時刻」、「直前キーデータオフセット」、「内部オフセット」の１０個のカラムは、いずれも固定長であり、レコードのヘッダ部を構成している。「キー長」、「キーオフセット」、「キーデータ」の３種類のカラムは、レコードに含まれるキーを構成している。
【００７６】
１つのレコードにおいて、
・「レコード長」は、このレコード全体の長さをバイト数で表す。
・「キー数」は、このレコード中のＳＩＰパラメータの数（種類）を整数Ｎで表す。この例では、Ｎ＝１０個（種類）となる。
・「パケットタイプ」は、このレコードが対応する呼（ＳＩＰメッセージ）のタイプを表す。この例では、“ＩＮＶＩＴＥ”又は“ＲＥＧＩＳＴＥＲ”となる。
・「ハッシュ値」は、このレコードが対応するＣａｌｌ−ＩＤのハッシュ値を表す。このハッシュ値は、前述したように、アドレス生成部１０４が計算するものである。
・「タイムスタンプ」は、このレコードが対応するＣａｌｌ−ＩＤの最初のパケット受信時刻を秒単位で表す。
・「タイムスタンプ（ミリ秒）」は、このレコードが対応するＣａｌｌ−ＩＤの最初のパケット受信時刻の１秒以下の数値をミリ秒単位で表す。
・「ヘッダ部長」は、このレコードのヘッダ部の長さをバイト数で表す。この例では、“２８”バイトとなる。
・「直前キーデータ登録時刻」は、このレコードが対応するＣａｌｌ−ＩＤと同じＣａｌｌ−ＩＤのレコードで、このレコードの直前に登録されたもの（以下、「直前レコード」という）の登録時刻を分単位で表す。このレコードより前に同じＣａｌｌ−ＩＤに対応するレコードが登録されていない場合には、“０”となる。
・「直前キーデータオフセット」は、直前レコードのキーファイル５０２内のオフセットである。このレコードより前に同じＣａｌｌ−ＩＤに対応するレコードが登録されていない場合には、“０”となる。
・「内部オフセット」は、このレコードのキーにＳＩＰパラメータが追加されたときに、このレコードを更新する代わりに生成されたレコードのキーファイル５０２内のオフセットである。初期値は、“０”となる。
【００７７】
１つのレコードにおいて、１０個の「キー長」、１０個の「キーオフセット」、１０種類の「キーデータ」からなる１つのキーが存在する。
・「キー長」は、１０種類あるＳＩＰパラメータ（ここでは、Ｃａｌｌ−ＩＤもＳＩＰパラメータに含む）それぞれのデータの長さをバイト数で表す。この例では、１つの「キー長」カラムの長さを２バイトとしているので、「キー長」の最大値は“６５５３５”となる。また、該当するＳＩＰパラメータのデータが存在しない場合には“０”とする。
・「キーオフセット」は、ＳＩＰパラメータそれぞれのデータが格納されている位置をオフセットで表す。
・「キーデータ」は、ＳＩＰパラメータそれぞれのデータの格納場所である。
【００７８】
１つのキーにおいて、１種類のＳＩＰパラメータのデータが複数存在する場合には、そのＳＩＰパラメータが固定長ならば、「キーデータ」内で単にデータを連結して格納する。一方、そのＳＩＰパラメータが可変長ならば、「キーデータ」内でデータ同士をＮＵＬＬなどで区切ってデータを格納する。
【００７９】
図１０に例示したキーファイル５０２におけるキーの構成の一例を図１１に示す。
【００８０】
１つのキーにおいて、「Ｃａｌｌ−ＩＤ」は、このキーに対応するＣａｌｌ−ＩＤを表す。Ｃａｌｌ−ＩＤを除くと、このキーには、９種類のＳＩＰパラメータが存在する。
（１）「発ＩＰアドレス」は、ＩＮＶＩＴＥ／ＲＥＧＩＳＴＥＲのＳＩＰメッセージに含まれる発ＩＰアドレスを表す。
（２）「着ＩＰアドレス」は、ＩＮＶＩＴＥのＳＩＰメッセージに含まれる着ＩＰアドレスを表す。
（３）「発信者電話番号１」は、ＩＮＶＩＴＥのＳＩＰメッセージに含まれるＰ−Ａｓｓｅｒｔｅｄ−Ｉｄｅｎｔｉｔｙフィールドを表す。Ｐ−Ａｓｓｅｒｔｅｄ−Ｉｄｅｎｔｉｔｙフィールドは、番号通知用の発信者電話番号を指定するものである。
（４）「発信者電話番号２」は、ＩＮＶＩＴＥのＳＩＰメッセージに含まれるＦｒｏｍフィールドを表す。Ｆｒｏｍフィールドは、発信者電話番号と網アドレスを指定するものであり、例えば、“０５０ｘｘｘｘｘｘｘｘ＠ｘｘｘ．ｃｏ．ｊｐ”といった形式で表される。
（５）「発信者電話番号３」は、ＩＮＶＩＴＥのＳＩＰメッセージに含まれるＰ−Ｐｒｅｆｅｒｒｅｄ−Ｉｄｅｎｔｉｔｙフィールドを表す。Ｐ−Ｐｒｅｆｅｒｒｅｄ−Ｉｄｅｎｔｉｔｙフィールドは、番号通知用の発信者電話番号を指定するものである。
（６）「ユーザ認証用の電話番号」は、ＩＮＶＩＴＥのＳＩＰメッセージに含まれるＰｒｏｘｙ−Ａｕｔｈｏｒｉｚａｔｉｏｎフィールドのｕｓｅｒｎａｍｅ部を表す。
（７）「相手電話番号１」は、ＳＩＰメッセージに含まれるＴｏフィールドを表す。Ｔｏフィールドは、相手電話番号と網アドレスを指定するものであり、例えば、“０５０ｘｘｘｘｘｘｘｘ＠ｘｘｘ．ｃｏ．ｊｐ”といった形式で表される。
（８）「ステータスコード」は、ＩＮＶＩＴＥに対する応答のＳＩＰメッセージに含まれるステータスコードである。
（９）「相手電話番号２」は、ＳＩＰメッセージに含まれるＲｅｑｕｅｓｔ−ｕｒｌを表す。Ｒｅｑｕｅｓｔ−ｕｒｌは、相手電話番号と網アドレスを指定するものであり、例えば、“０５０ｘｘｘｘｘｘｘｘ＠ｘｘｘ．ｃｏ．ｊｐ”といった形式で表される。
【００８１】
上記（３）〜（６）の「発信者電話番号１」、「発信者電話番号２」、「発信者電話番号３」、「ユーザ認証用の電話番号」は、いずれも発信元の電話番号を表すが、形式や用途を異にするものである。また、上記（７）及び（９）の「相手電話番号１」、「相手電話番号２」は、いずれも相手先の電話番号を表すが、形式や用途を異にするものである。
【００８２】
ここで、図１０に例示したキーファイル５０２が、図９に例示したキー更新処理によりどのように更新されるかを説明する。
【００８３】
図９に示した例では、キー更新部１０３が、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａにアクセスし、このキーファイル５０２ａ内のＣａｌｌ−ＩＤを“Ａ”とするキーに、新たに２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂに保存されたキーのＳＩＰパラメータである“Ｙ”を追加していた。そして、その結果、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａ内のＣａｌｌ−ＩＤを“Ａ”とするキーが更新され、ＳＩＰパラメータとして“Ｘ”と“Ｙ”を含むキーとなった。
【００８４】
キー更新部１０３がキーの更新を行う直前、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａにおいて、Ｃａｌｌ−ＩＤを“Ａ”とするキーのレコードは１つしかなかったものとする。ここでは、このレコードを最初のレコードという。２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａに保存されている最初のレコードの一例を図１２に示す。図中、左端の数字は各行の左端のバイトがレコードの先頭から何バイト目であるかを表している。同様に、右端の数字は各行の右端のバイトがレコードの先頭から何バイト目であるかを表している。
【００８５】
図１２において、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａに保存されている最初のレコードが有する主なカラムデータの内容を以下に示す。
・「タイムスタンプ」：例えば、２００６年１１月１日の９時４５分３０秒である。
・「直前キーデータ登録時刻」：直前レコードが存在しないため、“０”である。
・「直前キーデータオフセット」：直前レコードが存在しないため、“０”である。
・「内部オフセット」：初期値の“０”である。
・「キー長」（Ｎｏ．０）：「Ｃａｌｌ−ＩＤ」のデータの長さである。ここでは、“ａ”とする。
・「キー長」（Ｎｏ．８）：「ステータスコード」のデータを１つ含んでいるため、“３”である。
・「キーデータ」（Ｎｏ．０）：「Ｃａｌｌ−ＩＤ」は“Ａ”である。
・「キーデータ」（Ｎｏ．８）：「ステータスコード」は“Ｘ”である。
【００８６】
キー更新部１０３がキーの更新を行う直前、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂにおいて、Ｃａｌｌ−ＩＤを“Ａ”とするキーのレコードは１つしかない。２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂに保存されている最初のレコードの一例を図１３に示す。このレコードは、キー更新部１０３がキーの更新を行うときには更新されない。
【００８７】
図１３において、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂに保存されている最初のレコードが有する主なカラムデータの内容を以下に示す。
・「タイムスタンプ」：２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａに保存されている最初のレコードと同様に、２００６年１１月１日の９時４５分３０秒である。
・「直前キーデータ登録時刻」：直前レコードが２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａに保存されているため、２００６年１１月１日の９時４５分である。このカラムデータに基づいて、直前レコードが保存されているキーファイル５０２ａのファイル名を知ることができる。
・「直前キーデータオフセット」：２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａにおける最初のレコードのオフセットである。ここでは、“ｎ”とする。このカラムデータに基づいて、直前レコードが保存されているキーファイル５０２ａ内の位置を知ることができる。
・「内部オフセット」：初期値の“０”である。
・「キー長」（Ｎｏ．０）：「Ｃａｌｌ−ＩＤ」のデータの長さである。ここでは、“ａ”とする。
・「キー長」（Ｎｏ．８）：「ステータスコード」のデータを１つ含んでいるため、“３”である。
・「キーデータ」（Ｎｏ．０）：「Ｃａｌｌ−ＩＤ」は“Ａ”である。
・「キーデータ」（Ｎｏ．８）：「ステータスコード」は“Ｙ”である。
【００８８】
キー更新部１０３がキーの更新を行うときは、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａにおいて、Ｃａｌｌ−ＩＤを“Ａ”とするキーのレコードは更新前のものと更新後のものの２つとなる。ここでは、更新後のレコードを次のレコードという。２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａに保存されている最初のレコードの一例を図１４に、このキーファイル５０２ａに保存されている次のレコードの一例を図１５に示す。
【００８９】
図１４において、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａに保存されている最初のレコードが有する主なカラムデータの内容を以下に示す。
・「タイムスタンプ」：２００６年１１月１日の９時４５分３０秒のままである。
・「直前キーデータ登録時刻」：“０”のままである。
・「直前キーデータオフセット」：“０”のままである。
・「内部オフセット」：２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａにおける次のレコードのオフセットである。ここでは、“ｍ”とする。このカラムデータに基づいて、次のレコードが保存されているキーファイル５０２ａ内の位置を知ることができる。
・「キー長」（Ｎｏ．０）：「Ｃａｌｌ−ＩＤ」のデータの長さである。ここでは、“ａ”とする。
・「キー長」（Ｎｏ．８）：“３”のままである。
・「キーデータ」（Ｎｏ．０）：「Ｃａｌｌ−ＩＤ」は“Ａ”である。
・「キーデータ」（Ｎｏ．８）：「ステータスコード」は“Ｘ”である。
【００９０】
図１５において、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａに保存されている次のレコードが有する主なカラムデータの内容を以下に示す。
・「タイムスタンプ」：最初のレコードと同様に、２００６年１１月１日の９時４５分３０秒である。
・「直前キーデータ登録時刻」：最初のレコードと同様に、“０”である。
・「直前キーデータオフセット」：最初のレコードと同様に、“０”である。
・「内部オフセット」：初期値の“０”である。
・「キー長」（Ｎｏ．０）：「Ｃａｌｌ−ＩＤ」のデータの長さである。ここでは、“ａ”とする。
・「キー長」（Ｎｏ．８）：「ステータスコード」のデータが１つ追加されたため、“６”である。
・「キーデータ」（Ｎｏ．０）：「Ｃａｌｌ−ＩＤ」は“Ａ”である。
・「キーデータ」（Ｎｏ．８）：「ステータスコード」は“Ｘ”及び“Ｙ”である。新しいデータである“Ｙ”は直前のデータである“Ｘ”に連結されている。ここで、「ステータスコード」は固定長であるため、“Ｘ”と“Ｙ”の間にＮＵＬＬなどを挿入する必要はない。
【００９１】
このように、本実施の形態では、キーファイル５０２に設けた「内部オフセット」のカラムを利用することにより、更新前のレコードはほとんど変更せずに、更新後のレコードを単純に追加していくだけでキー更新処理を実施することが可能となる。
【００９２】
図１６は、図５に示した呼制御データ検索システム１００の動作の一例を示す概念図である。
【００９３】
図１６において、ＶｏＩＰネットワーク２００の運用者などが、例えば２００６年１１月１日の９時４５分に開始された呼で異常切断があったものを検索したい場合には、検索端末３００のユーザとして、呼の開始時刻を、２００６年１１月１日の９時４５分とし、ＳＩＰパラメータを、異常切断を示すステータスコード（切断原因コード）である“Ｙ”とする検索条件を指定する。入力部１０６は、ユーザからの検索条件の入力を、キーボード９０２やマウス９０３を介して受け付ける（図５のステップＳ３０１に相当）。
【００９４】
キー検索部１０７は、ＣＰＵ９１１により、検索条件で指定された時刻に対応する２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａを検索し、検索条件でステータスコードとして指定された“Ｙ”を含むキーを全て抽出する（図５のステップＳ３０２〜Ｓ３０３に相当）。この例では、Ｃａｌｌ−ＩＤが“Ａ”であり、ステータスコードとして“Ｘ”及び“Ｙ”を含むキーを抽出する。また、このキーを記録しているキーファイル５０２ａのレコードから、Ｃａｌｌ−ＩＤのハッシュ値を取得する。図１６には示していない２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂにも、Ｃａｌｌ−ＩＤが“Ａ”であり、ステータスコードとして“Ｙ”を含むキーが存在するが、キー検索部１０７はこのキーファイル５０２ｂを検索する必要がない。
【００９５】
アドレス検索部１０８は、ＣＰＵ９１１により、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のアドレスファイル５０４ａと２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のアドレスファイル５０４ｂを検索し、それぞれのアドレスファイル５０４から、キー検索部１０７により取得されたＣａｌｌ−ＩＤのハッシュ値に対応するアドレスを抽出する（図５のステップＳ３０４〜Ｓ３０５に相当）。アドレス検索部１０８は、このように、キー検索部１０７により抽出されたキーのレコードから取得可能な情報を利用して、検索対象とするアドレスファイル５０４を初めから絞り込んでもよいが、単に磁気ディスク装置９２０（記憶装置１５１の一例）内の全てのアドレスファイル５０４を検索してもよいし、検索条件で指定された時刻以降のアドレスファイル５０４のみを検索してもよい。また、アドレス検索部１０８は、キー検索部１０７からＣａｌｌ−ＩＤのハッシュ値ではなく、Ｃａｌｌ−ＩＤを取得して自らそのハッシュ値を計算し、計算したハッシュ値に対応するアドレスを抽出してもよい。
【００９６】
データ検索部１０９は、ＣＰＵ９１１により、アドレス検索部１０８により２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のアドレスファイル５０４ａから抽出されたアドレスに含まれるポインタが示す位置から、そのアドレスに含まれるサイズ情報が示すサイズ分のＶｏＩＰパケットを抽出する。即ち、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のデータファイル５０５ａから、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する。また、データ検索部１０９は、アドレス検索部１０８により２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のアドレスファイル５０４ｂから抽出されたアドレスに含まれるポインタが示す位置から、そのアドレスに含まれるサイズ情報が示すサイズ分のＶｏＩＰパケットを抽出する。即ち、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のデータファイル５０５ｂから、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する（図５のステップＳ３０６〜Ｓ３０７に相当）。
【００９７】
出力部１１０は、表示装置９０１の表示画面に、データ検索部１０９により抽出されたＶｏＩＰパケット、あるいは、当該ＶｏＩＰパケットに含まれるＣａｌｌ−ＩＤやＳＩＰパラメータの一覧などを出力する（図５のステップＳ３０８に相当）。これにより、ＶｏＩＰネットワーク２００の運用者などは、２００６年１１月１日の９時４５分に開始された呼で異常切断があったものを容易に発見することができる。
【００９８】
このように、本実施の形態では、検索条件に検索用のキーを用いるため、検索時のパケット解析が不要となり、高速な検索が可能となる。また、検索用のデータをＣａｌｌ−ＩＤごとに並べ替えているため、データ抽出時にはシーケンシャルアクセスによる高速なデータ抽出が可能となる。
【００９９】
この例では、キー検索部１０７が、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａから、検索条件でステータスコードとして指定された“Ｙ”を含むキーを全て抽出しているが、この場合、２００６年１１月１日の９時４５分に開始された呼以外の呼に係るキーも抽出される可能性がある。そこで、２００６年１１月１日の９時４５分に開始された呼のみ、即ち、２００６年１１月１日の９時４５分にＶｏＩＰパケットがキャプチャされた呼のうち、当該ＶｏＩＰパケットが当該呼に係る最初のＶｏＩＰパケットであるものを検索対象とするために、キー検索処理において抽出するキーを限定することが望ましい。
【０１００】
キー検索処理におけるキーの限定方法として、キー検索部１０７は、検索条件で指定された時刻に対応する２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａを検索する際に、タイムスタンプが２００６年１１月１日の９時４５分００秒〜９時４５分５９秒の範囲内にあるレコードのみからキーを抽出することにしてもよい。この例では、タイムスタンプが２００６年１１月１日の９時４５分３０秒となっているレコードから、Ｃａｌｌ−ＩＤが“Ａ”であり、ステータスコードとして“Ｘ”及び“Ｙ”を含むキーを抽出する。
【０１０１】
別の限定方法として、キー検索部１０７は、検索条件で指定された時刻に対応する２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａを検索する際に、直前レコードが存在しないレコードのみからキーを抽出することにしてもよい。この例では、直前キーデータ登録時刻が“０”となっているレコードから、Ｃａｌｌ−ＩＤが“Ａ”であり、ステータスコードとして“Ｘ”及び“Ｙ”を含むキーを抽出する。
【０１０２】
本実施の形態では、図５のステップＳ３０１において、入力部１０６は、検索端末３００が指定する呼の開始時刻とＳＩＰパラメータを入力しているが、検索端末３００が指定する呼の開始時刻のみを入力してもよい。この場合、ステップＳ３０３において、キー検索部１０７は、ステップＳ３０２で検索したキーファイルから、全てのキーを抽出する。
【０１０３】
また、図５のステップＳ３０１において、入力部１０６は、検索端末３００が指定する時間帯のみを入力してもよい。この場合、ステップＳ３０２において、キー検索部１０７は、ステップＳ３０１で入力された時間帯に対応するキーファイルを全て検索し、ステップＳ３０３において、ステップＳ３０２で検索したキーファイルの各々から、全てのキーを抽出する。
【０１０４】
実施の形態２．
実施の形態１において、図１６に示した例では、検索端末３００のユーザが呼の開始時刻を検索条件として指定しているが、任意の時刻を指定してもよい。
【０１０５】
例えば２００６年１１月１日の１０時１５分に制御がなされた呼で特定の事象があったものを検索したい場合には、検索端末３００のユーザは、時刻を、２００６年１１月１日の１０時１５分とし、ＳＩＰパラメータを、特定の事象があったことを示すステータスコードである“Ｘ”とする検索条件を指定する。入力部１０６は、ユーザからの検索条件の入力を、キーボード９０２やマウス９０３を介して受け付ける。
【０１０６】
キー検索部１０７は、ＣＰＵ９１１により、検索条件で指定された時刻に対応するキーファイル５０２として、図１６には示していない２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂを検索し、全てのキーを抽出する。さらに、抽出したキーが含まれているレコードの直前キーデータ登録時刻と直前キーデータオフセットを参照し、その直前キーデータ登録時刻をファイル名に含むキーファイル５０２内で、その直前キーデータオフセットが示す位置にある直前レコードを読み出す。読み出したレコードに対する直前レコードも存在する場合には、順番に直前レコードを辿っていき、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂから抽出したキーと同じＣａｌｌ−ＩＤが最初に登録されたキーファイル５０２から、このＣａｌｌ−ＩＤに対応するキーを抽出する。キー検索部１０７は、このように抽出したキーのうち、さらに、検索条件でステータスコードとして指定された“Ｘ”を含むキーのみを抽出する。この例では、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａから、Ｃａｌｌ−ＩＤが“Ａ”であり、ステータスコードとして“Ｘ”及び“Ｙ”を含むキーを抽出する。また、このキーを記録しているキーファイル５０２ａのレコードから、Ｃａｌｌ−ＩＤのハッシュ値を取得する。
【０１０７】
アドレス検索部１０８は、ＣＰＵ９１１により、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のアドレスファイル５０４ａと２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のアドレスファイル５０４ｂを検索し、それぞれのアドレスファイル５０４から、キー検索部１０７により取得されたＣａｌｌ−ＩＤのハッシュ値に対応するアドレスを抽出する。
【０１０８】
データ検索部１０９は、ＣＰＵ９１１により、アドレス検索部１０８により２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のアドレスファイル５０４ａから抽出されたアドレスに含まれるポインタが示す位置から、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する。また、データ検索部１０９は、アドレス検索部１０８により２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のアドレスファイル５０４ｂから抽出されたアドレスに含まれるポインタが示す位置から、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する。
【０１０９】
出力部１１０は、表示装置９０１の表示画面に、データ検索部１０９により抽出されたＶｏＩＰパケット、あるいは、当該ＶｏＩＰパケットに含まれるＣａｌｌ−ＩＤやＳＩＰパラメータの一覧などを出力する。これにより、検索端末３００のユーザは、２００６年１１月１日の１０時１５分に制御がなされた呼で特定の事象があったものを容易に発見することができる。
【０１１０】
このように、本実施の形態では、キーファイル５０２に設けた「直前キーデータ登録時刻」と「直前キーデータオフセット」のカラムを利用することにより、あるレコードから順番に直前レコードを辿っていき、そのレコードのキーと同じＣａｌｌ−ＩＤが最初に登録されたキーファイル５０２から、このＣａｌｌ−ＩＤに対応するキーを読み出すことができる。読み出したキーには、当該Ｃａｌｌ−ＩＤに係るＳＩＰパラメータが全て追加されているので、当該Ｃａｌｌ−ＩＤから特定される呼に関する情報を効率的に取得することが可能となる。
【０１１１】
実施の形態３．
実施の形態１では、例えば、キー生成部１０２が１つのＶｏＩＰパケットから抽出したＣａｌｌ−ＩＤとＳＩＰパラメータの組み合わせを、そのＣａｌｌ−ＩＤに対応するキーとして１つのキーファイルに保存した後、キー更新部１０３は、同じＣａｌｌ−ＩＤに対応するキーが保存されている過去のキーファイルがある場合、そのＣａｌｌ−ＩＤに対応するキーが最初に保存されたキーファイル、即ち、該当する過去のキーファイルで最も古いものを検出している。一方、本実施の形態では、同じＣａｌｌ−ＩＤに対応するキーが保存されている過去のキーファイルがある場合、キー更新部１０３は、そのＣａｌｌ−ＩＤに対応するキーが保存されている全てのキーファイル、即ち、該当する過去のキーファイル全てを検出する。そして、検出したキーファイルの全てについて、各キーファイル内の同じＣａｌｌ−ＩＤに対応するキーに、キー生成部１０２が今回保存したキーに含まれるＳＩＰパラメータを追加する。
【０１１２】
実施の形態１において、図１６に示した例では、キー生成部１０２が過去に、Ｃａｌｌ−ＩＤが“Ａ”でＳＩＰパラメータが“Ｘ”となるキーを生成し、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａに保存している。そして、キー生成部１０２が新たにＣａｌｌ−ＩＤが“Ａ”でＳＩＰパラメータが“Ｙ”となるキーを生成し、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂに保存した後、キー更新部１０３が２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａにアクセスし、このキーファイル５０２ａ内のＣａｌｌ−ＩＤを“Ａ”とするキーに、ＳＩＰパラメータとして“Ｙ”を追加している。本実施の形態において、以下の例では、その後さらに、キー生成部１０２が新たにＣａｌｌ−ＩＤが“Ａ”でＳＩＰパラメータが“Ｚ”となるキーを生成し、２００６年１１月１日の１０時３０分００秒〜１０時３０分５９秒のキーファイル５０２ｃに保存するものとする。そして、キー更新部１０３が２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａと２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂにアクセスし、キーファイル５０２ａ、キーファイル５０２ｂ内のＣａｌｌ−ＩＤを“Ａ”とするキーに、ＳＩＰパラメータとして“Ｚ”を追加するものとする。つまり、以下の例では、Ｃａｌｌ−ＩＤが“Ａ”であるＶｏＩＰパケットが、少なくとも３回（具体的には、２００６年１１月１日の９時４５分、１０時１５分、１０時３０分に）キャプチャされていることになる。そして、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａには、ＳＩＰパラメータとして“Ｘ”、“Ｙ”、“Ｚ”が、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂには、ＳＩＰパラメータとして“Ｙ”、“Ｚ”が、２００６年１１月１日の１０時３０分００秒〜１０時３０分５９秒のキーファイル５０２ｃには、ＳＩＰパラメータとして“Ｚ”が保存されていることになる。
【０１１３】
また、実施の形態１において、図１６に示した例では、検索端末３００のユーザが呼の開始時刻を検索条件として指定している。本実施の形態においても、同様の例が適用できるが、以下の例では、検索端末３００のユーザが、任意の時刻を指定するものとする。
【０１１４】
例えば２００６年１１月１日の１０時１５分に制御がなされた呼で特定の事象があったものを検索したい場合には、検索端末３００のユーザは、時刻を、２００６年１１月１日の１０時１５分とし、ＳＩＰパラメータを、特定の事象があったことを示すステータスコードである“Ｚ”とする検索条件を指定する。ここでは、検索端末３００のユーザは、検索条件として、さらに、Ｃａｌｌ−ＩＤを“Ａ”と指定してもよいが、Ｃａｌｌ−ＩＤが指定されない場合には、全てのＣａｌｌ−ＩＤを検索の対象とすればよい。入力部１０６は、ユーザからの検索条件の入力を、キーボード９０２やマウス９０３を介して受け付ける。
【０１１５】
キー検索部１０７は、ＣＰＵ９１１により、検索条件で指定された時刻に対応するキーファイル５０２として、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂを検索し、検索条件でステータスコードとして指定された“Ｚ”を含むキーを全て抽出する。この例では、Ｃａｌｌ−ＩＤが“Ａ”であり、ステータスコードとして“Ｙ”及び“Ｚ”を含むキーを抽出する。また、このキーを記録しているキーファイル５０２ｂのレコードから、Ｃａｌｌ−ＩＤのハッシュ値を取得する。２００６年１１月１日の１０時３０分００秒〜１０時３０分５９秒のキーファイル５０２ｃにも、Ｃａｌｌ−ＩＤが“Ａ”であり、ステータスコードとして“Ｚ”を含むキーが存在するが、キー検索部１０７はこのキーファイル５０２ｃを検索する必要がない。また、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａにも、Ｃａｌｌ−ＩＤが“Ａ”であり、ステータスコードとして“Ｚ”を含むキーが存在するが、キー検索部１０７はこのキーファイル５０２ａも検索する必要がない。
【０１１６】
アドレス検索部１０８は、ＣＰＵ９１１により、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のアドレスファイル５０４ｂと現在時刻に対応するアドレスファイル５０４の間に保存された全てのアドレスファイル５０４を検索し、それぞれのアドレスファイル５０４から、キー検索部１０７により取得されたＣａｌｌ−ＩＤのハッシュ値に対応するアドレスを抽出する。この例では、少なくとも２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のアドレスファイル５０４ｂと図示していない２００６年１１月１日の１０時３０分００秒〜１０時３０分５９秒のアドレスファイル５０４ｃからアドレスを抽出することになる。
【０１１７】
データ検索部１０９は、ＣＰＵ９１１により、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のアドレスファイル５０４ｂから抽出されたアドレスに含まれるポインタが示す位置から、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する。即ち、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のデータファイル５０５ｂから、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する。また、データ検索部１０９は、アドレス検索部１０８により２００６年１１月１日の１０時３０分００秒〜１０時３０分５９秒のアドレスファイル５０４ｃから抽出されたアドレスに含まれるポインタが示す位置から、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する。即ち、図示していない２００６年１１月１日の１０時３０分００秒〜１０時３０分５９秒のデータファイル５０５ｃから、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する。その他、もしアドレスファイル５０４から抽出されたアドレスがあれば、同様に、当該アドレスに含まれるポインタが示す位置から、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する。
【０１１８】
出力部１１０は、表示装置９０１の表示画面に、データ検索部１０９により抽出されたＶｏＩＰパケット、あるいは、当該ＶｏＩＰパケットに含まれるＣａｌｌ−ＩＤやＳＩＰパラメータの一覧などを出力する。これにより、検索端末３００のユーザは、２００６年１１月１日の１０時１５分に制御がなされた呼で特定の事象があったものを容易に発見することができる。
【０１１９】
このように、本実施の形態では、ユーザが指定した時刻に対応するキーファイル５０２のみを検索すれば、読み出したキーに、その時刻以降に発生したＳＩＰパラメータが全て追加されているので、呼に関する情報を効率的に取得することが可能となる。
【０１２０】
実施の形態４．
実施の形態３において示した例では、検索端末３００のユーザが任意の時刻を検索条件として指定している。一方、本実施の形態では、検索端末３００のユーザが、任意の時間帯を指定するものとする。
【０１２１】
例えば２００６年１１月１日の１０時１５分から１０時３０分に制御がなされた呼で特定の事象があったものを検索したい場合には、検索端末３００のユーザは、時間帯の開始時刻を、２００６年１１月１日の１０時１５分とし、時間帯の終了時刻を、２００６年１１月１日の１０時３０分とし、ＳＩＰパラメータを、特定の事象があったことを示すステータスコードである“Ｚ”とする検索条件を指定する。ここでも、検索端末３００のユーザは、検索条件として、さらに、Ｃａｌｌ−ＩＤを“Ａ”と指定してもよいが、Ｃａｌｌ−ＩＤが指定されない場合には、全てのＣａｌｌ−ＩＤを検索の対象とすればよい。入力部１０６は、ユーザからの検索条件の入力を、キーボード９０２やマウス９０３を介して受け付ける。
【０１２２】
キー検索部１０７は、ＣＰＵ９１１により、検索条件で指定された時刻帯に対応するキーファイル５０２として、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂから２００６年１１月１日の１０時３０分００秒〜１０時３０分５９秒のキーファイル５０２ｃまでの１６個のキーファイル５０２を検索し、検索条件でステータスコードとして指定された“Ｚ”を含むキーを全て抽出する。この例では、まず、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂから、Ｃａｌｌ−ＩＤが“Ａ”であり、ステータスコードとして“Ｙ”及び“Ｚ”を含むキーを抽出する。検索条件として、Ｃａｌｌ−ＩＤのように一意に決まるＳＩＰパラメータが指定されている場合には、この時点、即ち、最初のキーが抽出された時点でキー検索処理を終了してもよい（例えば、Ｃａｌｌ−ＩＤとして“Ａ”が指定されていれば、Ｃａｌｌ−ＩＤが“Ａ”である最初のキーが抽出されている現時点で、既に必要なキーは抽出されている）。その他の場合には、上記時間帯に対応するキーファイル５０２を古いものから順次検索して、Ｃａｌｌ−ＩＤのように一意に決まるＳＩＰパラメータが同一の２番目以降のキーは、対象外とみなしてもよい。キー検索部１０７は、抽出したキーを記録しているキーファイル５０２のレコードから、Ｃａｌｌ−ＩＤのハッシュ値を取得する。
【０１２３】
アドレス検索部１０８は、ＣＰＵ９１１により、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のアドレスファイル５０４ｂと２００６年１１月１日の１０時３０分００秒〜１０時３０分５９秒のアドレスファイル５０４ｃの間に保存された全てのアドレスファイル５０４を検索し、それぞれのアドレスファイル５０４から、キー検索部１０７により取得されたＣａｌｌ−ＩＤのハッシュ値に対応するアドレスを抽出する。この例では、少なくとも２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のアドレスファイル５０４ｂと図示していない２００６年１１月１日の１０時３０分００秒〜１０時３０分５９秒のアドレスファイル５０４ｃからアドレスを抽出することになる。
【０１２４】
データ検索部１０９は、ＣＰＵ９１１により、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のアドレスファイル５０４ｂから抽出されたアドレスに含まれるポインタが示す位置から、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する。即ち、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のデータファイル５０５ｂから、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する。また、データ検索部１０９は、アドレス検索部１０８により２００６年１１月１日の１０時３０分００秒〜１０時３０分５９秒のアドレスファイル５０４ｃから抽出されたアドレスに含まれるポインタが示す位置から、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する。即ち、図示していない２００６年１１月１日の１０時３０分００秒〜１０時３０分５９秒のデータファイル５０５ｃから、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する。その他、もしアドレスファイル５０４から抽出されたアドレスがあれば、同様に、当該アドレスに含まれるポインタが示す位置から、Ｃａｌｌ−ＩＤとして“Ａ”を含むＶｏＩＰパケットを抽出する。
【０１２５】
出力部１１０は、表示装置９０１の表示画面に、データ検索部１０９により抽出されたＶｏＩＰパケット、あるいは、当該ＶｏＩＰパケットに含まれるＣａｌｌ−ＩＤやＳＩＰパラメータの一覧などを出力する。これにより、検索端末３００のユーザは、２００６年１１月１日の１０時１５分から１０時３０分に制御がなされた呼で特定の事象があったものを容易に発見することができる。
【０１２６】
このように、本実施の形態では、ユーザが指定した時間帯に対応するキーファイル５０２から各Ｃａｌｌ−ＩＤについて最初に読み出したキーに、そのキーが対応する時刻以降に発生したＳＩＰパラメータが全て追加されているので、呼に関する情報を効率的に取得することが可能となる。
【０１２７】
実施の形態５．
実施の形態１において、図７に示した例では、データ管理部１０５は、キャプチャファイル５０１ｂに保存されているＶｏＩＰパケットを抽出する度に、それぞれのＶｏＩＰパケットをＣａｌｌ−ＩＤのハッシュ値の昇順に並べて、それぞれのデータファイル５０５内で同じＣａｌｌ−ＩＤのＶｏＩＰパケットがまとめて配置されるようにしていたが、磁気ディスク装置９２０（記憶装置１５１の一例）内のデータファイル５０５全体で同じＣａｌｌ−ＩＤのＶｏＩＰパケットがまとめて配置されるようにしてもよい。
【０１２８】
例えば、キー生成部１０２が、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂを生成した後、データ管理部１０５は、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキャプチャファイル５０１ｂを磁気ディスク装置９２０から読み込み、このキャプチャファイル５０１ｂに保存されているＶｏＩＰパケットからＣａｌｌ−ＩＤを抽出する。データ管理部１０５は、抽出したＣａｌｌ−ＩＤのうち、キー生成部１０２が過去のキーファイル５０２に保存したキーと同じものについては無視する。この例では、キー更新部１０３が、Ｃａｌｌ−ＩＤを“Ａ”とするキーが２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のキーファイル５０２ａに保存されていることを検出するため、データ管理部１０５は、このＣａｌｌ−ＩＤを無視する。一方、データ管理部１０５は、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のキーファイル５０２ｂに保存されたキーが、対応するＣａｌｌ−ＩＤの最初のキーであれば、そのＣａｌｌ−ＩＤについては、ハッシュ値を計算し、計算したハッシュ値に基づいて、そのＣａｌｌ−ＩＤを含むＶｏＩＰパケットの保存位置を決定する。データ管理部１０５は、さらに、決定した保存位置に各Ｃａｌｌ−ＩＤのＶｏＩＰパケットがまとめて配置されるように、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のデータファイル５０５ｂを生成し、磁気ディスク装置９２０内に保存する。
【０１２９】
このとき、データ管理部１０５は、今回ハッシュ値を計算していないＣａｌｌ−ＩＤを含むＶｏＩＰパケットは、過去のデータファイル５０５に保存すべきものであると判断する。そして、それぞれのＶｏＩＰパケットのＣａｌｌ−ＩＤのキーが保存されているキーファイル５０２の時間と対応する磁気ディスク装置９２０内の過去のデータファイル５０５を検索し、同じＣａｌｌ−ＩＤのＶｏＩＰパケットが保存されているデータファイル５０５に今回のＶｏＩＰパケットを挿入する。これにより、磁気ディスク装置９２０内のデータファイル５０５全体で同じＣａｌｌ−ＩＤのＶｏＩＰパケットがまとめて配置されるようにする。
【０１３０】
アドレス生成部１０４は、図７に示した例と同様に、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のデータファイル５０５ｂを磁気ディスク装置９２０から読み込み、このデータファイル５０５ｂに保存されているＶｏＩＰパケットの保存位置を、Ｃａｌｌ−ＩＤごとに特定する。そして、ＶｏＩＰパケットの保存位置の先頭へのポインタ（データファイル５０５ｂ内のオフセット値）とサイズ情報をＣａｌｌ−ＩＤごとに組み合わせ、各Ｃａｌｌ−ＩＤのハッシュ値に対応するアドレスとして、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のアドレスファイル５０４ｂを生成し、磁気ディスク装置９２０内に保存する。
【０１３１】
このように、本実施の形態では、ＶｏＩＰパケットが磁気ディスク装置９２０内のデータファイル５０５全体でＣａｌｌ−ＩＤごとにまとめて配置されるため、検索端末３００のユーザが、例えば２００６年１１月１日の９時４５分に開始された呼で異常切断があったものを検索したい場合には、アドレス検索部１０８は、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のアドレスファイル５０４ａのみを検索すればよい。そして、データ検索部１０９は、アドレス検索部１０８により２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のアドレスファイル５０４ａから抽出されたアドレスに基づいて、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のデータファイル５０５ａのみにアクセスし、２００６年１１月１日の９時４５分に開始された呼に係るＶｏＩＰパケットを全て抽出することができる。
【０１３２】
この例では、データ管理部１０５は、２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のアドレスファイル５０４ｂにアドレスが含まれていないＶｏＩＰパケットを、過去のデータファイル５０５に保存しているが、それぞれのＶｏＩＰパケットを２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のデータファイル５０５ｂに保存し、同じＣａｌｌ−ＩＤのＶｏＩＰパケットが保存されているデータファイル５０５からのリンクを設定してもよい。この場合も、例えば２００６年１１月１日の９時４５分に開始された呼で異常切断があったものを検索したいときには、アドレス検索部１０８は、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のアドレスファイル５０４ａのみを検索すればよい。そして、データ検索部１０９は、アドレス検索部１０８により２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のアドレスファイル５０４ａから抽出されたアドレスに基づいて、２００６年１１月１日の９時４５分００秒〜９時４５分５９秒のデータファイル５０５ａにアクセスし、さらにそのデータファイル５０５ａのリンク先である２００６年１１月１日の１０時１５分００秒〜１０時１５分５９秒のデータファイル５０４ｂにもアクセスする。これにより、２００６年１１月１日の９時４５分に開始された呼に係るＶｏＩＰパケットを全て抽出することができる。
【０１３３】
以上、本発明の実施の形態について説明したが、これらのうち、２つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、１つの実施の形態を部分的に実施しても構わない。あるいは、これらのうち、２つ以上の実施の形態を部分的に組み合わせて実施しても構わない。
【図面の簡単な説明】
【０１３４】
【図１】実施の形態１に係る呼制御データ検索システムの構成を示すブロック図である。
【図２】実施の形態１に係る呼制御データ検索システムのハードウェア資源の一例を示す図である。
【図３】実施の形態１に係る呼制御データ検索システムの動作を示すフローチャートである。
【図４】実施の形態１に係る呼制御データ検索システムの動作を示すフローチャートである。
【図５】実施の形態１に係る呼制御データ検索システムの動作を示すフローチャートである。
【図６】実施の形態１に係る呼制御データ検索システムの動作の一例を示す概念図である。
【図７】実施の形態１に係る呼制御データ検索システムの動作の一例を示す概念図である。
【図８】実施の形態１に係る呼制御データ検索システムの動作の一例を示す概念図である。
【図９】実施の形態１に係る呼制御データ検索システムの動作の一例を示す概念図である。
【図１０】実施の形態１におけるキーファイルの構成の一例を示す表である。
【図１１】実施の形態１におけるキーの構成の一例を示す表である。
【図１２】実施の形態１におけるキーファイルのレコードの一例を示す概念図である。
【図１３】実施の形態１におけるキーファイルのレコードの一例を示す概念図である。
【図１４】実施の形態１におけるキーファイルのレコードの一例を示す概念図である。
【図１５】実施の形態１におけるキーファイルのレコードの一例を示す概念図である。
【図１６】実施の形態１に係る呼制御データ検索システムの動作の一例を示す概念図である。
【符号の説明】
【０１３５】
１００  呼制御データ検索システム、１０１  データキャプチャ部、１０２  キー生成部、１０３  キー更新部、１０４  アドレス生成部、１０５  データ管理部、１０６  入力部、１０７  キー検索部、１０８  アドレス検索部、１０９  データ検索部、１１０  出力部、１５１  記憶装置、１５２  処理装置、１５３  入力装置、１５４  出力装置、２００  ＶｏＩＰネットワーク、３００  検索端末、５０１  キャプチャファイル、５０２  キーファイル、５０３  メモリ、５０４  アドレスファイル、５０５  データファイル、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  オペレーティングシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
2008124758.tif 000003
【図２】
2008124758.tif 000004
【図３】
2008124758.tif 000005
【図４】
2008124758.tif 000006
【図５】
2008124758.tif 000007
【図６】
2008124758.tif 000008
【図７】
2008124758.tif 000009
【図８】
2008124758.tif 000010
【図９】
2008124758.tif 000011
【図１０】
2008124758.tif 000012
【図１１】
2008124758.tif 000013
【図１２】
2008124758.tif 000014
【図１３】
2008124758.tif 000015
【図１４】
2008124758.tif 000016
【図１５】
2008124758.tif 000017
【図１６】
2008124758.tif 000018
【手続補正書】
【提出日】平成20年1月23日(2008.1.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ファイルを記憶する記憶装置と、データを処理する処理装置と、データを入力する入力装置とを備える呼制御データ検索システムにおいて、
呼を一意に識別する呼識別子と呼で特定の事象があったことを示す属性データとを含む呼制御データをネットワークからキャプチャし、キャプチャした呼制御データを単位時間Ｔｃごとに記憶装置内の単位時間Ｔｃごとのキャプチャファイルに保存するデータキャプチャ部と、
前記データキャプチャ部によりキャプチャファイルに保存された呼制御データの属性データを含むキーを、処理装置を用いて、当該呼制御データの呼識別子ごとに生成し、生成したキーを記憶装置内の単位時間Ｔｋごとのキーファイルに保存するキー生成部と、
前記キー生成部によりキーファイルにキーが保存されるときに、処理装置を用いて、過去のキーファイルに当該キーの呼識別子と同じ呼識別子に対応するキーが保存されているかどうかを判定し、当該過去のキーファイルに当該呼識別子のキーが保存されている場合には、当該過去のキーファイルに保存されている当該呼識別子のキーに、前記キー生成部によりキーファイルに保存される当該呼識別子のキーの属性データを追加するキー更新部と、
前記データキャプチャ部によりキャプチャファイルに保存された呼制御データを、所定の形式で、記憶装置内の単位時間Ｔｄごとのデータファイルに保存するデータ管理部と、
入力装置を用いて、任意の時刻を入力するとともに、任意の属性データを指定する入力部と、
処理装置を用いて、前記入力部により入力された時刻に対応するキーファイルを検索し、前記入力部により指定された属性データと同じ属性データを含むキーを抽出するキー検索部と、
処理装置を用いて、データファイルを検索し、前記キー検索部により抽出されたキーの呼識別子と同じ呼識別子を含む呼制御データを抽出するデータ検索部とを備えることを特徴とする呼制御データ検索システム。
【請求項２】
前記キー更新部は、前記キー生成部によりキーファイルにキーが保存されるときに、処理装置を用いて、過去のキーファイルであって当該キーの呼識別子と同じ呼識別子に対応するキーが最初に保存されたキーファイルを検出し、検出した過去のキーファイルに保存されている当該呼識別子のキーに、前記キー生成部によりキーファイルに保存される当該呼識別子のキーの属性データを追加し、
前記入力部は、任意の時刻として呼の開始時刻を入力することを特徴とする請求項１に記載の呼制御データ検索システム。
【請求項３】
単位時間Ｔｃと単位時間Ｔｋと単位時間Ｔｄとは、いずれも同じ長さであることを特徴とする請求項１に記載の呼制御データ検索システム。
【請求項４】
前記データ管理部は、前記データキャプチャ部によりキャプチャファイルに保存された呼制御データを、当該呼制御データの呼識別子ごとにまとめて保存し、
前記呼制御データ検索システムは、さらに、
前記データ管理部によりデータファイルに呼制御データが保存された位置を示すアドレスを、処理装置を用いて、当該呼制御データの呼識別子ごとに生成し、生成したアドレスを記憶装置内の単位時間Ｔａごとのアドレスファイルに保存するアドレス生成部と、
処理装置を用いて、アドレスファイルを検索し、前記キー検索部により抽出されたキーの呼識別子と同じ呼識別子に対応するアドレスを抽出するアドレス検索部とを備え、
前記データ検索部は、前記アドレス検索部により抽出されたアドレスが示す位置から、前記キー検索部により抽出されたキーの呼識別子と同じ呼識別子を含む呼制御データを抽出することを特徴とする請求項１に記載の呼制御データ検索システム。
【請求項５】
単位時間Ｔｃと単位時間Ｔｋと単位時間Ｔａと単位時間Ｔｄとは、いずれも同じ長さであることを特徴とする請求項４に記載の呼制御データ検索システム。
【請求項６】
ファイルを記憶する記憶装置と、データを処理する処理装置と、データを入力する入力装置とを備えるコンピュータに、
呼を一意に識別する呼識別子と呼で特定の事象があったことを示す属性データとを含む呼制御データをネットワークからキャプチャし、キャプチャした呼制御データを単位時間Ｔｃごとに記憶装置内の単位時間Ｔｃごとのキャプチャファイルに保存するデータキャプチャ処理と、
前記データキャプチャ処理によりキャプチャファイルに保存された呼制御データの属性データを含むキーを、処理装置を用いて、当該呼制御データの呼識別子ごとに生成し、生成したキーを記憶装置内の単位時間Ｔｋごとのキーファイルに保存するキー生成処理と、
前記キー生成処理によりキーファイルにキーが保存されるときに、処理装置を用いて、過去のキーファイルに当該キーの呼識別子と同じ呼識別子に対応するキーが保存されているかどうかを判定し、当該過去のキーファイルに当該呼識別子のキーが保存されている場合には、当該過去のキーファイルに保存されている当該呼識別子のキーに、前記キー生成処理によりキーファイルに保存される当該呼識別子のキーの属性データを追加するキー更新処理と、
前記データキャプチャ処理によりキャプチャファイルに保存された呼制御データを、所定の形式で、記憶装置内の単位時間Ｔｄごとのデータファイルに保存するデータ管理処理と、
入力装置を用いて、任意の時刻を入力するとともに、任意の属性データを指定する入力処理と、
処理装置を用いて、前記入力処理により入力された時刻に対応するキーファイルを検索し、前記入力処理により指定された属性データと同じ属性データを含むキーを抽出するキー検索処理と、
処理装置を用いて、データファイルを検索し、前記キー検索処理により抽出されたキーの呼識別子と同じ呼識別子を含む呼制御データを抽出するデータ検索処理とを実行させることを特徴とする呼制御データ検索プログラム。