(57)【要約】【課題】通信ネットワークをモニタし、通信ネットワークにおけるエラー又は不正行為を検出し、エラーを解決するための解決策又は不正行為を抑えるための解決策を生成するネットワーク保全用解析システムを提供する。【解決手段】ネットワーク保全用解析（ＮＡＡ）システム及び方法を開示する。ＮＡＡシステムは、通信リスク解析（ＲＡＦＴ）プログラムの一部を構成する。通信ネットワークのトラフィックが、通信異常を示す少なくとも１つのパターンについて電子的にモニタされる。データベースに保存された一連の通信プロファイルに基づいて、通信異常を数値で示すモデルスコアが生成される。通信ネットワークが通信異常に関連するモデルスコアの数値を下げるための解決策が生成される。【選択図】図１
2008543233.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実行される方法であって、
通信異常を示す少なくとも１つのパターンについて、通信ネットワークのトラフィックを電子的にモニタするステップと、
データベースに保存された一連の通信プロファイルに基づいて、前記通信異常を数値で表すモデルスコアを生成するステップと、
前記通信ネットワークが、前記通信異常に関連する前記モデルスコアの数値を下げるための解決策を生成するステップとを含むことを特徴とする方法。
【請求項２】
前記通信プロファイルに基づいて、１つ或いは複数の理由コードを生成するステップをさらに含み、前記１つ或いは複数の理由コードはそれぞれ、前記通信異常を表す数値及び前記少なくとも１つのパターンの関係を表すことを特徴とする請求項１に記載の方法。
【請求項３】
前記一連の通信プロファイルが、指数関数的に減少する再帰変数で表す、トラフィック挙動の履歴を示すデータを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記一連の通信プロファイルが、発信者電話番号（ＣＬＩ）プロファイル、ポイントコード（ＰＣ）プロファイル、経路（ＲＴ）プロファイル、及び着信側電話番号（ＴＮ）プロファイルを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記方法が、
発信者電話番号（ＣＬＩ）を判別するべく前記トラフィックの通話レコードを解析するステップと、
前記ＣＬＩ及び前記通話レコードに関連するポイントコード（ＰＣ）及び経路（ＲＴ）を判別するステップと、
前記判別したＣＬＩ、ＰＣ及びＲＴに対応する前記ＣＬＩプロファイル、前記ＰＣプロファイル及び前記ＲＴプロファイルを、前記データベースから読み出すステップとをさらに含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記通話レコードの着信側電話番号（ＴＮ）を判別するステップをさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記方法が、
前記判別したＣＬＩ、ＰＣ及びＲＴに基づいて、前記ＣＬＩプロファイル、前記ＰＣプロファイル、及び前記ＲＴプロファイルの新たな数値を計算するステップと、
前記データベースを、前記ＣＬＩプロファイル、前記ＰＣプロファイル、及び前記ＲＴプロファイルの前記新たな数値に更新するステップとをさらに含むことを特徴とする請求項５に記載の方法。
【請求項８】
コンピュータにより実行される方法であって、
通信異常を示す少なくとも１つのパターンを、通信トラフィックから検出するステップと、
前記通信異常を数値で表すモデルスコアを生成するステップと、
通信プロファイルに基づいて、１つ或いは複数の理由コードを生成するステップとを含み、
前記１つ或いは複数の理由コードはそれぞれ、前記通信異常を表す数値及び前記少なくとも１つのパターンの関係を表すことを特徴とする方法。
【請求項９】
前記１つ或いは複数の理由コードに基づいて、前記通信異常に関連する前記モデルスコアの数値を下げるための解決策を生成するステップをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
一連の前記通信プロファイルが、発信者電話番号（ＣＬＩ）プロファイル、ポイントコード（ＰＣ）プロファイル、経路（ＲＴ）プロファイル、及び着信側電話番号（ＴＮ）プロファイルを含むことを特徴とする請求項８に記載の方法。
【請求項１１】
前記方法が、
発信者電話番号（ＣＬＩ）を判別するべく前記トラフィックの通話レコードを解析するステップと、
前記ＣＬＩ及び前記通話レコードに関連するポイントコード（ＰＣ）及び経路（ＲＴ）を判別するステップと、
前記判別したＣＬＩ、ＰＣ及びＲＴに対応する前記ＣＬＩプロファイル、前記ＰＣプロファイル及び前記ＲＴプロファイルを、前記データベースから読み出すステップとをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記通話レコードの着信側電話番号（ＴＮ）を判別するステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記方法が、
前記判別したＣＬＩ、ＰＣ及びＲＴに基づいて、前記ＣＬＩプロファイル、前記ＰＣプロファイル、及び前記ＲＴプロファイルの新たな数値を計算するステップと、
前記データベースを、前記ＣＬＩプロファイル、前記ＰＣプロファイル、及び前記ＲＴプロファイルの前記新たな数値に更新するステップとをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記通信ネットワークが前記解決策を実行するステップをさらに含むことを特徴とする請求項９に記載の方法。
【請求項１５】
ネットワーク保全用解析システムであって、
通信ネットワークのトラフィックから通話レコードをキャプチャするモニタと、
前記通話レコードに関連する発信者電話番号（ＣＬＩ）、ポイントコード（ＰＣ）及び経路（ＲＴ）を判別するべく前記通話レコードを解析するプロファイル検索器と、
前記トラフィックのＣＬＩプロファイル、ＰＣプロファイル、及びＲＴプロファイルを保存するためのデータベースと、
前記トラフィックに通信異常が存在するかどうか判別するため、前記ＣＬＩ、前記ＰＣ及び前記ＲＴをそれぞれ、前記ＣＬＩプロファイル、前記ＰＣプロファイル、及び前記ＲＴプロファイルと比較するプロセッサとを備えることを特徴とするシステム。
【請求項１６】
前記判別したＣＬＩ、ＰＣ及びＲＴに基づいて、前記ＣＬＩプロファイル、前記ＰＣプロファイル、及び前記ＲＴプロファイルを更新するように構成された複数の更新器をさらに含むことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記プロセッサが、前記トラフィックに通信異常が存在するかどうか判別するため、ハッシュテーブルを使用することを特徴とする請求項１５に記載のシステム。
【請求項１８】
前記プロセッサが、前記通信異常を数値で表すモデルスコアを生成するように構成されていることを特徴とする請求項１５に記載のシステム。
【請求項１９】
前記プロセッサがさらに、前記通信プロファイルに基づいて、１つ或いは複数の理由コードを生成するように構成され、前記１つ或いは複数の理由コードはそれぞれ、前記通信異常を表す数値及び前記少なくとも１つのパターンの関係を表すことを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記プロセッサがさらに、前記通信ネットワークが前記通信異常に関連する前記モデルスコアの数値を下げるための解決策を生成するように構成されていることを特徴とする請求項１８に記載のシステム。
【請求項２１】
通信システムからの収益漏出を検出する方法であって、
前記通信システムのポイントコードにまたがる発信者電話番号及び経路に不一致のＳＳ７／Ｃ７サービス詳細レコードの特性を検出するステップと、
前記検出した特性を、階層的要約によりレポートするステップとを含むことを特徴とする方法。
【請求項２２】
前記特性が、前記通信システムの経路識別子を含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
前記特性が、前記通信システムの少なくとも１つの発信／宛先ポイントコードを含むことを特徴とする請求項２１に記載の方法。
【請求項２４】
前記特性が、国際／国内指定子を含むことを特徴とする請求項２１に記載の方法。
【請求項２５】
前記特性が、宛先国を含むことを特徴とする請求項２１に記載の方法。
【請求項２６】
前記特性が、プレミアムレート指定子を含むことを特徴とする請求項２１に記載の方法。
【請求項２７】
前記特性が、携帯電話番号を含むことを特徴とする請求項２１に記載の方法。
【請求項２８】
前記特性が、迂回ダイヤルアクセスコードを含むことを特徴とする請求項２１に記載の方法。
【請求項２９】
前記階層的要約が、前記検出した特性の絶対値、頻度及び割合を含むことを特徴とする請求項２１に記載の方法。
【請求項３０】
通信システムからの収益漏出を検出する方法であって、
前記通信システムのポイントコードにまたがる発信者電話番号及び経路に不一致のＳＳ７／Ｃ７サービス詳細レコードの特性を検出するステップと、
前記検出した特性の少なくとも１つについて、絶対値、頻度及び割合を生成するステップとを含むことを特徴とする方法。
【請求項３１】
前記検出した特性の少なくとも１つについて、前記絶対値、前記頻度及び前記割合の階層的要約レポートを作成するステップをさらに含むことを特徴とする請求項３０に記載の方法。
【請求項３２】
前記階層的要約レポートをコンピュータ画面に表示するステップをさらに含むことを特徴とする請求項３１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信リスク解析（ＲＡＦＴ）プログラムの一部を構成するネットワーク保全用解析（ＮＡＡ）システムに関する。
【０００２】
＜関連出願の相互参照＞
【０００３】
本出願は、米国特許法第１１９条に基づいて、２００５年６月１日付で出願された、「NETWORK ASSURANCE ANALYTIC SYSTEM」と称する米国特許仮出願第６０／６８６，７９６号の優先権を主張し、それに言及することをもって、その内容の全体を本出願の一部とするものとする。
【背景技術】
【０００４】
収益漏出という用語は、通信業界で用いられているものであり、通信事業者又はプロバイダが通話に課金することができないときに生じる状態に関連するものである。漏出は、着信側電話番号（B-party number）の不正な設定、スイッチ及び経路の故障、又は相互接続用操作スイッチの不正な設定或いは誤設定により発生する。収益漏出問題の別の原因は、課金通話の詳細レコードが生成されないようにＳＳ７データストリームの無料通話（ＡＮＣ、Answer No Charge）インジケータを不正操作することである。
【０００５】
ネットワーク問題の別の原因は、「ピンギング」及び「発信者電話番号（ＣＬＩ）偽装」である。両者とも、ネットワークを著しく混雑させるようなものであり、結果として、サービス品質の問題が発生し、正当な利用から得られるはずの収益が失われてしまう。ピンギングでは、自動ダイヤル装置に、ランダムに数万から数十万もの着信側電話番号に電話をかけさせ、かつ着信側端末でその呼び出しに応答する前にその回線を切断させる。ＣＬＩ偽装も同様なものであるが、携帯電話環境において、折り返し電話をかけさせることを目的としてＣＬＩを着信側の電話に送信するものである。ピンギング及びＣＬＩ偽装に関連するものには、「機械的なダイヤリング」がある。
【０００６】
混雑は、通信ネットワークにおける主要な問題であり、意図的な攻撃又は大きな国際イベントが原因で、通話経路の切り替えに起因する予想外の通信量がネットワークに発生し、結果として障害を引き起こす。混雑を検出するのに加えて、漏出も防ぐために、通信事業者は混雑の原因を特定しなくてはならない。
【０００７】
「トロンボーニング」として知られる状態は、収益漏出及びネットワークの混雑の主要な原因であり、ネットワークの可用度を減少させる。この行動は、ネットワーク操作用のルーティングテーブルの不正操作に起因する相互接続にまたがる複数のホップに関連するものである。これら必要以上のホップは、正当な通話用の回線容量を奪ってしまい、相互接続事業者に接続料の鞘取り（arbitrage）による収益を創出する。通話が相互接続間を１０００回ホップした場合、１つの課金通話が、もとの通話用回線に加えて、それ以外の９９９の通話用回線も占有してしまう。これにより、事業者用の回線容量が失われるため、結果としてサービス品質の問題及び収益の問題が生じる。
【０００８】
特にインテリジェントネットワーク（ＩＮ）における混雑及び障害の別の原因は、投票（voting）シナリオである。ＩＮはネットワークの健全性にとって重要なものであるが、投票事象では、ネットワークのルーティングテーブルに直接的に入力される投票番号を有している。不正行為者は、大量の投票数を考慮すると、その何割かは誤った番号に電話がかけられると判断し、従って、それに近い番号をプレミアムレートサービス用に購入する。不正行為者は、ダイヤルのかけ間違いが発生した場合、間違った番号に電話をかけた人に、その番号に電話をかけなおすように話中音を繰り返し再生することから、膨大な量の通話がＩＮネットワークに発生し、結果としてＩＮの障害、並びに９１１サービス及び無料通話サービスなどのネットワークの重要な機能に障害を生じさせる。
【発明の開示】
【課題を解決するための手段】
【０００９】
本明細書では、通信リスク解析（ＲＡＦＴ）プログラムの一部を構成するネットワーク保全用解析（ＮＡＡ）システムを開示する。このＮＡＡシステムは、通信ネットワークをモニタし、通信ネットワーク内のエラー又は不正行為を検出し、エラーを解決するための解決策又は不正行為を抑えるための解決策を提供するように構成されている。
【００１０】
一形態において、ネットワークを保全するための解析がコンピュータにより実行される方法は、通信異常を示す少なくとも１つのパターンについて、通信ネットワークのトラフィックを電子的にモニタするステップを含む。前記方法は、次に、データベースに保存された一連の通信プロファイルに基づいて、前記通信異常を数値で表すモデルスコアを生成するステップを含む。さらに前記方法は、前記通信ネットワークが前記通信異常に関連する前記モデルスコアの数値を下げるための解決策を生成するステップとを含む。
【００１１】
別の形態では、コンピュータにより実行される方法は、通信異常を示す少なくとも１つのパターンを、通信トラフィックから検出するステップと、前記通信異常を数値で表すモデルスコアを生成するステップと、通信プロファイルに基づいて、１つ或いは複数の理由コードを生成するステップとを含み、前記１つ或いは複数の理由コードはそれぞれ、前記通信異常を表す数値及び前記少なくとも１つのパターンの関係を表す。
【００１２】
また別の形態では、ネットワークの保全用解析システムは、通信ネットワークのトラフィックから通話レコードをキャプチャするモニタと、前記通話レコードに関連する発信者電話番号（ＣＬＩ）、ポイントコード（ＰＣ）及び経路（ＲＴ）を判別するべく前記通話レコードを解析するプロファイル検索器と、前記トラフィックのＣＬＩプロファイル、ＰＣプロファイル、及びＲＴプロファイルを保存するためのデータベースとを含む。さらに前記システムは、前記トラフィックに通信異常が存在するかどうか判別するため、前記ＣＬＩ、前記ＰＣ及び前記ＲＴをそれぞれ、前記ＣＬＩプロファイル、前記ＰＣプロファイル、及び前記ＲＴプロファイルと比較するプロセッサを含むものである。
【００１３】
また別の形態では、通信システムからの収益漏出を検出する方法は、ポイントコードにまたがる発信者電話番号及び前記通信システムの経路に不一致のＳＳ７／Ｃ７サービス詳細レコードの特性を検出するステップと、前記検出した特性を階層的要約によりレポートするステップとを含む。
【００１４】
また別の形態では、通信システムからの収益漏出を検出する方法は、ポイントコードにまたがる発信者電話番号及び前記通信システムの経路に不一致のＳＳ７／Ｃ７サービス詳細レコードの特性を検出するステップと、前記検出した特性の少なくとも１つについて、絶対値、頻度及び割合を生成するステップとを含む。別の形態では、前記方法は、前記検出した特性の少なくとも１つについて、前記絶対値、前記頻度及び前記割合の階層的要約レポートを作成するステップを含む。
【００１５】
１つ或いは複数の実施形態の詳細について、添付の図面及び以下の詳細な説明欄に記載する。それら以外の特徴及び利点も、以下の説明及び添付の図面、並びに特許請求の範囲より明らかになるであろう。
【発明を実施するための最良の形態】
【００１６】
本明細書では、通信リスク解析（ＲＡＦＴ）プログラムの一部を構成するネットワーク保全用解析（ＮＡＡ）システムを開示する。このＮＡＡシステムは、通信ネットワークをモニタし、通信ネットワーク内のエラー又は不正行為を検出し、エラーを解決するための解決策又は不正行為を抑えるための解決策を提供するように構成されている。
【００１７】
ＮＡＡシステムは、ネットワークの問題又はリスクを示す、通信行動のパターンを検出するための複数の再帰変数を使用する。このリスクは、ネットワークの保全及びネットワークの収益保全問題のリスク及び重大度を順位付けするモデルスコアに反映される。モデルスコアに加えて、モデルスコアを生成したデータの関係を示す理由コードが提供される（また再帰変数に保存される）。次いで、この情報は事例情報（case information）と共に用いられてネットワーク保全問題の原因を示し、ネットワーク事業者がネットワーク問題を隔離し、その解決にあたることができるようにする。
【００１８】
ある実施形態では、ＮＡＡシステムは、ネットワーク保全を実施するのに複数のプロファイルを使用する。プロファイルは、電話網において発生する通話の簡潔で高度な数学的特性を示すものであり、プロファイル技法は、予測解析に役立つことが証明されている。プロファイルは、発生した発呼挙動の履歴を要約することが可能な、指数関数的に減少する再帰変数を含む。特定の例示的な実施形態では、ＮＡＡシステムは、４つのレベルにおいて５つのプロファイルを使用する。その４つのレベルとは次のようなものである。
【００１９】
１．発信者電話番号（ＣＬＩ）：発信電話番号である。
【００２０】
２．ポイントコード（ＰＣ）：Ｃ７／ＳＳ７信号伝達ネットワークにおけるノードである。
【００２１】
３．経路（ＲＴ）：ＰＣ  ＡからＰＣ  Ｂへの直接経路であり、ＢからＡへの経路とは異なるものである。
【００２２】
４．着信側電話番号（ＴＮ）：電話をかける相手先の着信側電話番号である。
【００２３】
ＣＬＩレベルにおいて、２つの異なるプロファイルが使用される。１つは個人顧客用プロファイル、もう一方は法人顧客用プロファイルである。従って、異なるレベルに合計で５つのプロファイルが提供される。各レベル毎に、共有メモリシステムは、ＮＡＡシステムで用いられるキーの数と同数のプロファイルを有する。例えば、ネットワークが２５，０００の固有の経路、５，０００の固有のポイントコード、５，０００万の固有の個人のＣＬＩ、４，０００万の固有の法人のＣＬＩ、及び１００，０００の着信側電話番号を有している場合、共有メモリ構造は、上述した各カテゴリにおいて、この数量のプロファイルをサポートする。法人のＣＬＩの場合、共有メモリシステムは、最も古いプロファイルが、時間が経って古くなったことを示せるように構成され、古いプロファイルを削除することができるようにし、最も新しいプロファイルを共有メモリ内に最適配置することができるようにする。
【００２４】
（個人顧客及び法人顧客用の）ＣＬＩプロファイルは、ＣＬＩに特有の行動パターンを要約する。ＰＣプロファイルは、ＰＣを通過する全てのトラフィックのパターンを含む。ネットワーク解析の本質上、ＰＣレベルにおけるトラフィック挙動は、ＣＬＩレベル（及びその他のレベル）におけるトラフィック挙動よりも重要なものである。従って、ＰＣプロファイルは、ネットワークに脅威を与える事象のリスクを決定する際、他のプロファイルよりも重要な役割を果たす。ＲＴプロファイルは、２つのＰＣ間の直接の通信経路を通過するトラフィックパターンを要約する。ＲＴ及びＰＣプロファイルは、どこでネットワーク保全問題が発生しているか（例えば、相互接続スイッチ、特定の相互接続事業者からのトラフィック）を示すことができる変数を含む。ＴＮプロファイルは、着信側電話番号への通話パターンを組み込むために用いられ、通信事業者によって特定される一連の「リスクのある」又は「費用が発生する」番号とのファジー一致を利用して、「投票」番号に対する大量のかけ間違いを検出することを目的としたものである。
【００２５】
図１はＮＡＡシステム１００の構造を図示する。通話レコードがシステムに進入すると、プロファイル検索器１０２は、ＣＬＩを得るためにそのレコードを解析する。ＣＬＩが個人向け事業者に含まれていれば、個人顧客用ＣＬＩプロファイルを検索し、そうでなければ、法人顧客用ＣＬＩプロファイルを検索する。プロファイル検索器１０２は、このレコードに関連するＰＣ及びＲＴの識別子も読み出し、対応するＰＣプロファイル及びＲＴプロファイルをそれぞれ検索する。さらに、プロファイル検索器１０２は、このレコードの着信側電話番号も調べる。着信側電話番号が、ファジー一致によって「リスクのある」又は「費用が発生する」番号リストの番号と一致した場合、この着信側電話番号に対応するＴＮプロファイルが検索される。
【００２６】
全てのプロファイルが固有のものであり、それらは、ＣＬＩ、ＰＣ、ＲＴ、及び着信側電話番号（ＴＮ）のキーに関連する、固有の一連の信号伝達システム７（ＳＳ７）サービス詳細レコード（ＳＤＲ）、ＳＳ７ＴＤＲ、ＳＤＲのリテール、ＳＤＲの相互接続及びＳＤＲのＩＮレコードの特性を示す変数を含む。プロファイルが検索された後、新たに着信した通話レコードに含まれる新しい情報を利用して、一連のプロファイル更新器（ＣＬＩプロファイル更新器１０４、ＰＣプロファイル更新器１０６、ＲＴプロファイル更新器１０８、ＴＮプロファイル更新器１１０）が、新たに変数の値を計算する。
【００２７】
プロファイルに含まれるべき変数の選択及びプロファイルを更新するのに使用する指数関数的に減少する再帰関数の式の構造は、両者ともデータ駆動型であり、専門領域の知識に基づくものである。その後、プロファイルは保存される。更新されたプロファイルは、モデルに直接入力するものであり、モデルはその入力を合成し、ネットワークに脅威を与える事象のリスクを反映するスコアを生成する。またモデルは、このリスクをもたらすネットワーク事象を示す理由コードをスコアと共に生成する。
【００２８】
解析用の指数関数的に減少する再帰変数のプロファイル及びモデルは、ＮＡＡシステムの中心となるものである。プロファイルは、強力で簡潔な方法で通話レコードを前処理し、ネットワーク間の通話の本質的なパターンをとらえるようにする。プロファイル自体を、ＮＡＡシステム１００で用いられたモデルに直接入力し、リスクスコアに加えて、理由コードを順番に生成する。
【００２９】
ＮＡＡシステム１００は、収益漏出及びネットワークの混雑／配信問題を引き起こすネットワーク問題を検出するように構成されるものである。そのようにするため、ＮＡＡシステムは、共有メモリ構造を利用して、１日に大量の通話を処理する。例えば、ＮＡＡシステムは、最大で１日あたり１５０万件又はそれを超える数量の通話を処理しなければならない。処理すべきデータには、ＳＳ７ＳＤＲ、ＳＳ７ＴＤＲ、ＳＤＲのリテール、ＳＤＲの相互接続、及びＴＤＲのインテリジェントネットワークレコードが含まれる。実時間要素は、より少ない数のキーを用いて、プロファイル間に競合を発生させないように、ＡＰＩが設計されるようにするものである。本明細書では、そのキーは、経路キー及びポイントコードキーである。従って、経路の定義は、発信及び宛先ポイントコードの両者の組み合わせとなるようにして作られ、２４通りのハッシュが発信ポイントコードに適用される場合、２４の独立した処理の間でポイントコード又は経路プロファイルが競合しないようにする。ＣＬＩプロファイル及び着信側電話番号プロファイルは、いくらかの競合を有することがある。しかしＮＡＡシステムは、２４の処理の間でＣＬＩ番号に固有のハッシュ値を持たせることができ、システムの競合を最小限にするようにし、システムの計算速度が速くなるようにする。
【００３０】
ＮＡＡシステム１００の主要な機能の１つは、課金事象との一致（reconciliation）に使用するため、調査レコードからの本質的なＳＳ７／Ｃ７ＳＤＲ情報を保存することを介して、リテールＳＤＲをＳＳ７／Ｃ７ＳＤＲと十分に一致させることができるようにすることである。各ＣＬＩプロファイルは、ＳＳ７／Ｃ７レコードを、一時的に回転するアレイに記録する。また各ＣＬＩプロファイルは、課金レコードを一致させるのに十分な詳細情報を含むものである。「切り分けられる」境界をまたぐ１つの課金通話を切断することができ、従って１つの課金ＳＤＲ事象が、２つ以上のレコードから構成されることがあり、ＳＤＲレコードの全ての部分レコードを見るのが数時間遅れになることもあることから、一致は正確なものではなく、むしろインクリメンタルなものであることもある。相違が検出されると、その相違の量及び重大度は、モデルに使用されるべくＣＬＩ、ＰＣ、及びＲＴレベルにて蓄積され、各レベルにて収益漏出に対する注意を喚起し、何が漏出に関与しているのかを示す。これは、一致しなかったリテールＳＤＲ又は欠落したリテールＳＤＲを判別し、次いでＣＬＩ、ＰＣ、及びＲＴのキーの一致していない量の変化を測定することを介して検出される。
【００３１】
ＣＬＩレベルでのＳＳ７／Ｃ７レコードの一致は、一致していないＳＳ７／Ｃ７ＳＤＲの詳細な検査を可能にするが、一致していない事象の重大度及び範囲を理解するのに十分な情報を提供するようなものではない。従って、レコード毎の詳細な一致が難しい場合、複数のポイントコード及び経路にまたがるＣＬＩについて、ＮＡＡシステムは、一致しなかった（non-reconciled）ＳＳ７／Ｃ７ＳＤＲの特性の階層的要約を使用する。リテールＳＤＲの未生成の原因を隔離するのに用いる特性の一部には、経路識別子、発信／宛先ポイントコード、国際／国内、宛先国、プレミアムレート、携帯電話番号、及び迂回ダイヤルアクセスコードが含まれる。ＰＣ及びＲＴプロファイルを利用して、ＣＬＩプロファイルレベルにて計算された一致しなかったＳＳ７／Ｃ７ＳＤＲの特性は、ポイントコード及び経路レベルにて、頻度及び量に基づいて蓄積される。報告された特性の絶対値、並びにその頻度及び割合の変化により、収益漏出の新たな原因及び再発生の原因を示す。これらの原因解析を介して、ＮＡＡシステムは、ユーザが、不一致が発生した特定の発生源の範囲及び重大度を定量化することを可能にする。それは、課金通話用ＳＳ７／Ｃ７ＳＤＲの特定、切り替えレコードのガイド、リテールＳＤＲの評価、そしてリテールＳＤＲの生成という、切り替えから請求までの処理全体を通して行われる。
【００３２】
課金通話の詳細レコードが生成されない無料通話（ＡＮＣ）インジケータの不正操作を、ＳＳ７データストリームにおいてモニタするため、ＮＡＡシステムは、ある種の通話に共通のＡＮＣインジケータを使用する。ＮＡＡシステムは、通常のＡＮＣの使用を含むものであり、ＡＮＣに登録されたプレミアムレート、国際電話の呼び出し、及び携帯電話からの電話に関連する通話を監視し、またネットワーク事業者に収益の損失をもたらすようなネットワークの変化を示す通常のＡＮＣ挙動を越えるＡＮＣの量の変化を監視する。
【００３３】
ピンギング及びＣＬＩ偽装の場合、ＮＡＡ１００は、終了したリテールの接続時間、相互接続の接続時間、並びに電話がその相手先の着信側電話番号に到達したことをＡＣＭが示した後に終了したＩＮ通話及び不完全なＳＳ７／Ｃ７通話の接続時間を測定する。ＣＬＩ、ＰＣ、及びＲＴレベルにて、この種の通話をモニタすることにより、関心のある様々な時間尺度にわたるＡＣＭ通話の量の変化を介して、ピンギング及びＣＬＩ偽装を検出することを可能にする。
【００３４】
複数の相互に関係のあるＣＬＩ番号からかけられた着信側電話番号にパターンがある場合、ＮＡＡシステム１００は機械的なダイヤリングであることを検出する。ＮＡＡシステム１００は、着信側電話番号との間の距離を計算することを介して、そこに何らかのパターンがあるかわかるようにすることにより、連続的で派生的なダイヤリング攻撃を監視する。その計算のため、コンピュータはハッカーが定めた番号の範囲をカバーするように用いられる。これは、ＣＬＩレベルにて有限数の着信側電話番号を保存し、着信側電話番号との間の距離の測定値を計算することによって達成される。連続的で派生的なダイヤリングの量が、ＣＬＩ、ＰＣ、及び経路レベルにて検出され、異なる時間尺度にわたる比率変数は、機械的なダイヤリングによる攻撃の絶対値に加えて、機械的なダイヤリングによるネットワーク攻撃の開始を示す有意の速度変化を検出する。ＣＬＩに関連するリテールＳＤＲのＰＢＸインジケータが特に重要なものであり、ＮＡＡシステム１００は、ＰＢＸインジケータを、もとのＳＳ７／Ｃ７に存在しないＳＳ７／Ｃ７レコードに連結するようにする。このデータレコードの連結は、ＣＬＩレベルのプロファイルによって与えられる。
【００３５】
混雑の場合、ＮＡＡシステム１００は、全てのネットワーク不良コード及び特定のスイッチ又は経路が故障していることを表示するＣＤＲ状態インジケータをモニタするように構成される。これは、通話に関連するＳＳ７／Ｃ７のメッセージングの解放理由（release-reasons）の標準的な量をモニタすることにより達成される。異なる時間尺度にわたる異常／障害の解放理由の量が増加すると、ＮＡＡシステム１００は、スイッチ又は経路に関連する不良メッセージの絶対値を生成するのに加えて、障害の変化の重大度に見合うスコアを生成する。ＮＡＡシステム１００は、障害の理由も示す。それは、トラフィックが故意に操作された又は不正に使用されたものなのか、或いは問題が通常の混雑によるものなのかを示すことができる。混雑を検出することに加えて、故障したスイッチ又は特定の相互接続のトラフィックを含む混雑の原因が特定される。
【００３６】
トロンボーニングの場合、ＮＡＡシステム１００は、１つの通話に関連するＳＳ７／Ｃ７の通話及び相互接続通話の全ての経路を統合し、ＳＳ７／Ｃ７レコードの発信ＰＣ／宛先ＰＣの値の変化により通話経路を重複するレコードから識別する。次に、ＮＡＡシステム１００は、特定のＣＬＩ、ＰＣ、又はＲＴに関連するホップの平均数量の変化をモニタし、ネットワークでトロンボーニングが起こっているかどうかを判別する。
【００３７】
ダイヤルのかけ間違いの場合、インテリジェントネットワーク（ＩＮ）に関連する不良コードをモニタすること、並びに標準的なネットワーク効率を越える障害の量及び応答占領割合の量が変化することを介して、インテリジェントネットワークが、ＮＡＡシステム１００でモニタされるようにする。ＩＮはネットワークの健全性にとって重要なものであるが、投票事象では、ネットワークのルーティングテーブルに直接的に入力される投票番号を有している。ダイヤルのかけ間違いの挙動を検出するため、ＮＡＡシステム１００は、全ての着信側電話番号を投票事象に関連する大量の番号とファジー一致させる。ＮＡＡシステム１００が、着信側電話番号がダイヤルのかけ間違いの基準に近いものであると判断すると、その着信側電話番号への通話の量、接続時間、及びタイミングをモニタし、投票事象に類似の番号に関連する着信側電話番号について、その行動の偏差がわかるようにする。
【００３８】
ＮＡＡシステム１００は、複数の再帰変数（１００以上あっても良い）を使用し、ＣＬＩ、ＲＴ、及びＰＣレベルにて、通信行動においてネットワーク問題又は異常を示すパターンを検出する。このリスクは、ネットワークの保全及びネットワークの収益保全問題のリスク及び重大度を順位付けするモデルスコアに反映される。モデルスコアに加えて、大きな数値のモデルスコアを発生させるデータ（及び再帰変数によって得られたデータ）の関係を示す理由コードが提供される。次いで、この情報は、事例情報とともに使用され、ネットワーク保全問題の原因を示し、ネットワーク事業者が、ネットワーク問題を隔離し、その問題の解決にあたることができるようにする。
【００３９】
ＮＡＡシステム１００は、サーバ及び／又は通信システムとともに使用するのに好適なインメモリプロファイル（ＩＭＰ）システムを使用することができる。ある実施形態では、ハッシュテーブルが用いられる。ＩＭＰシステムは、ＮＡＡシステム１００が、通信産業用に不正の防御を行うことができるようにする。ＩＭＰシステムは、通信要素の組み合わせに加えて、リレーショナルデータベースを含むことができる。ＩＭＰシステムは、リアルタイムで通信トランザクションを処理し、それらをスコアリングし、それらの事象を解析者が再調査するために生成すべきかどうかを決定するようにビジネスロジックを実行する。
【００４０】
ある実施形態では、ＮＡＡシステム１００は、ＩＳＡＭデータベースファイルを使用し、不審な行動などの異常を検出するための、ニューラルネットワークへの入力として使用されるプロファイルを保存する。各トランザクション毎に、プロファイルがストレージから読み出され、モデルに移動され、最新のアカウント情報に更新された後に、ディスクに書き戻される。場合によっては、ＩＳＡＭサーバは、入力／出力コマンドを処理し、性能を改善するべくキャッシングアルゴリズムを利用するために使用される。
【００４１】
例示的な実施形態では、ＩＭＰシステムは、連鎖ハッシュテーブルの実装を使用している。直接インデックスが、１つの要素のみ連鎖するように備えられたメモリのスロットにアクセスするように使用されるため、ハッシュテーブルの実装に関する主要な操作（探索、挿入、更新、削除）は、少なくともＯ（１）回の操作を行う。複数の要素が連鎖している場合、Ｏ（１）＋Ｏ´（ｎ）回の操作を実行する。ただし、Ｏ´（ｎ）は、要素を探索するべく連結リストを移動する時間である。
【００４２】
図２Ａは、ハッシュテーブルの一実施例を図示する。一連のＵ（キーの集合）から、キーのセットｋが使用される。ｋの値は、ハッシュ関数ｈによってハッシュインデックスｉを計算するために用いられる。ハッシュインデックスｉの範囲は、ｉ＝０からｉ＝ｎまでの範囲であり、ハッシュ関数によって制限される。ハッシュ関数は、キーｈ（ｋ）をハッシュインデックスｉにマッピングするのに使用される。ハッシュインデックスｉは、スロットＭを含むリストＬを指示する。
【００４３】
ハッシュ関数は、各インデックスｉが同程度のものになるように計算し、固有のリストＬを指示するようにする。ただし、ｉ（ｎ）は、Ｌ（ｎ）に略等しい。しかしながら、ハッシュ関数によって、特定のキーｋが同じインデックスｉにハッシュ値を持つことがあり、「衝突」として知られる事象がもたらされる。インデックスｉによって指示されたデータブロックを連鎖させることは、衝突によって発生した問題を排除するのに役立つ。従って、ハッシュ関数が、２つの異なるｋから同じインデックスｉを生成すると、各データスロットＭが、インデックスｉによって指示されたリストＬに連結される。同じハッシュインデックスにハッシュ値を持った次のエントリは、ハッシュインデックスｉによって指示されるリストに単純に追加される。
【００４４】
一部のＩＭＰシステムの実行において、図２Ｂに図示するように、連鎖ハッシュは、従来の動的なメモリ配置ではなく、共有メモリを使用して実装される。プログラムの起動時に、サーバは、ハッシュインデックス、共有メモリエリア（ハッシュテーブル）、及び空きスロットインデックスを割当てる。ハッシュインデックスの範囲は、ハッシュ関数が生成することができるインデックスの範囲である。ハッシュインデックスは、ハッシュテーブルのインデックスにマッピングする列も含む。
【００４５】
ハッシュテーブルは、共有メモリを使用して実装される。共有メモリエリアには、インデックス、データブロック及び連結列が含まれる。インデックスは、特定の共有メモリブロック用の静的なインデックスである。連結エントリは、メモリブロックを連鎖するのに用いられる。メモリブロックの連鎖は、メモリブロックインデックス又は空きスロットインデックスから開始される。空きスロットインデックスは、共有メモリエリア（ハッシュテーブル）の、次に使用可能なメモリスロットを保存する。
【００４６】
図３は、初期挿入操作の一実施例を図示する。ハッシュテーブルへの初期挿入では、次のような連続したステップが発生する。１）ハッシュ関数ｈ（ｋ１）がインデックスを生成する。このインデックスは、例えば２である。２）生成されたインデックスが、ハッシュインデックスにマッピングされる。３）次に使用可能なメモリスロットが、空きスロットインデックスから得られる。ここでは０である。４）ｋ１データが、メモリスロットのインデックス０に挿入される／複製される。これは衝突ではない（メモリブロックインデックスにヌル値が表示される）ため、空きスロットインデックスは、新しい連結インデックスの値、ここでは１に更新される。これは最初の非衝突エントリであるため、共有メモリの連結インデックスはヌル値に設定される。最後に、メモリブロックインデックスが、０に更新される。
【００４７】
図４は、衝突挿入処理を図示する。ハッシュ関数が、挿入済みの前のエントリと同じキーを生成した場合、次のようなステップが発生する。１）ハッシュ関数ｈ（ｋ２）が、インデックスを生成する。このインデックスは、再び２（衝突）である。２）生成されたインデックスが、ハッシュインデックスにマッピングされる。３）次に使用可能なメモリスロットが、空きスロットインデックスから得られる。ここでは、１である。４）ｋ２データが、メモリスロットのインデックス１に挿入される／複製される。これは衝突事象である（メモリブロックインデックスにヌル値ではない値が表示される）ため、空きスロットインデックスが、新しい連結インデックスの値、ここでは２に更新される。連鎖が発生するため、メモリの連結インデックスが、前のスロット、ここでは０を示すように更新される。最後に、メモリブロックインデックスが、１に更新される。
【００４８】
図５は、別の衝突挿入処理を図示する。各ステップは、図４で示したものと類似している。１）ハッシュ関数ｈ（ｋ３）が、インデックスを生成する。このインデックスは、例えば再び２（衝突）である。２）生成されたインデックスが、ハッシュインデックスにマッピングされる。３）次に使用可能なメモリスロットが、空きスロットインデックスから得られる。ここでは、２である。４）データが、メモリスロットのインデックス２に挿入される／複製される。これは衝突事象である（メモリブロックインデックスにヌル値ではない値が表示される）ため、空きスロットインデックスは、新しい連結インデックスの値、ここでは３に更新される。連鎖が発生するため、メモリの連結インデックスは、前のスロット、ここでは１を示すように更新される。次いで、５）メモリブロックインデックスを２に更新する。
【００４９】
ここで、ハッシュテーブルの要素の削除について説明する。ここで削除される要素は、連鎖中の要素だけである。図６は、削除を実施する前のハッシュテーブルの状態を図示する。図７は、非衝突キーを探索する処理を図示する。削除するべきレコードを探索するステップは、次のようなことを含む。１）ハッシュ関数ｈ（ｋ１）が、キーｋ１用のインデックスを生成する。２）生成されたインデックスが、ハッシュインデックスにマッピングされる。３）ハッシュインデックスが、メモリスロット０を指示するようにする。これは衝突事象ではない（連結列にヌル値が表示される）ため、ｋ１をメモリスロット０のＫ１データと比較する。Ｋ１！＝Ｋ１データの場合、レコードは発見されない。（レコードが発見されないため、追加のステップは必要ない）。Ｋ１＝Ｋ１データの場合、レコードが発見される。
【００５０】
図８は、非衝突キーを削除するための処理を図示する。レコードが発見された後、削除操作を実施するステップは次のことを含む。１）メモリスロット０のレコードを削除する。２）連結インデックスを、空きスロットインデックスの値、ここでは１に更新する。３）空きスロットインデックスを０に更新する。４）メモリブロックインデックスをヌル値に更新する。
【００５１】
ここで、ハッシュテーブルの要素の削除について説明する。削除される要素は連鎖しているものである。従って、メモリブロックインデックスによって指示されているリストを移動させる必要がある。図９は、削除を実施する前のハッシュテーブルの状態を図示する。
【００５２】
図１０は、衝突キーを探索するための処理を図示する。削除するべきレコードを探索するステップは、次のことを含む。１）ハッシュ関数ｈ（ｋ２）が、キーｋ２用のインデックスを生成する。２）生成されたインデックスが、ハッシュインデックスにマッピングされる。３）ハッシュインデックスが、メモリスロット２を指示するようにする。これは衝突キーである（連結列が有効値で、スロット２がヌル値ではない連結値で表示される）ため、次のレコードを見つけるべく連結列を用いてレコードのリストを探索する。Ｋ２！＝Ｋ２データの場合、レコードは発見されないため、追加のステップは必要ない。Ｋ２＝Ｋ２データの場合、レコードが発見される。
【００５３】
レコードを検出した後、非衝突キーの削除操作を実施するステップは、次のようなものである。図１１を参照されたい。１）メモリのインデックス１のレコードを削除する。２）メモリのインデックス２のレコードの連結列が、メモリのインデックス１の連結列の値、ここでは０になるように更新する。３）メモリのスロット１の連結列を、空きスロットインデックスの値、ここでは３に更新する。４）空きスロットインデックスの値を１に更新する。
【００５４】
共有メモリの全てのノードが使用されているとき、ＩＭＰシステムは、すでに使用されているノードを再利用して、新しいデータ用に新たなスペースを提供するようにする。これは、システム内で最も前に更新／生成されたノードを削除することが求められる、従ってそのノードを解放し、新しいデータ用に利用できるようにする。
【００５５】
使用中のノードを再利用するための優先順位が付けられ、システム内で最も前に生成／更新されたノードから再利用されるようにする。この方法では、１つのリストが、共有メモリの使用可能なノードに加えて、時間が経った古いノード（最も最近使用）も記録するために用いられる。ヘッドポインタ（最も最近使用、ＭＲＵ）は、時間が経った古いノードを記録する。テールポインタ（次に使用可能、ＮＡ）は、次に使用可能なノードを記録する。図１２は、リストの初期状態を図示する。
【００５６】
挿入の場合、ノードはリストの最後尾（ノード５）から取り出され、それを先頭に配置する。このノードは、新しいデータ（ＡＡＡ）を含んでいる。ヘッドポインタは、このノードを指示する。ここで、テールポインタは、前のノード（ノード４）を指示する。図１３は、操作実行後のリストを図示する。新しいノードが挿入されるとき、それはヘッドリストの最後に追加される。ヘッドリストの先頭は、最も最近使用されたノードである。ヘッドリストの最後尾のノードは、最も使用されていない（ＬＲＵ）ノードであり、エージングすることができる（即ち、ノードを削除することができる）候補である。
【００５７】
図１４は、別の挿入及び操作実施後のリストを図示する。ノードがリストの最後尾（ノード４）から再び取り出される。このノードは、最近使用されたリストに追加される。このノードは、新しいデータ（ＢＢＢ）を含んでいる。ここで、テールポインタは、前のノード（ノード３）を指示する。
【００５８】
トランザクションを更新する場合、更新されるノードはリストの先頭に配置され、ヘッドポインタで指示されるようになる。図１５は、ＡＡＡを含むノード５が更新された後のリストの状態を図示する。ノード５の内容が、ＡＡＡに更新される。ノード４がリストの先頭に配置され、ヘッドポインタで指示されるようになる。テールポインタに変更は生じない。
【００５９】
トランザクションを削除する場合、削除されるノードは、リストの最後尾に配置され、テールポインタで指示されるようになる。図１６は、ＡＡＡを含むノード５を削除した後のリストの状態を図示する。ノード５は移動され、リストの最後尾に配置される。テールポインタは、ノード５を指示するように更新され、ヘッドポインタが更新される。
【００６０】
共有メモリで使用可能なノードが不足した場合、システムは必要に応じてエージングを実施する。従って、システムは候補ノードをエージングし、そのノードが使用可能になるようにしなければならない。ある方法は、ノードにタイムスタンプを使用する方法を含む。ノードを含む共有メモリセグメントは、要求に応じて又は別の処理（例えば、クロンジョブ（cron job））によって移動される。ノードが移動する間に、タイムスタンプが、所定の時間基準に対して比較される。定義された基準の範囲に入る様々なノードが、共有メモリセグメントから削除され、従ってシステムで再利用することができるようなる。エージング動作中のシステム性能の低下を最小限にするために、削除時間を過ぎた一部のノードだけを削除するように、総当り的な削除の実行を設定可能にすることもできる。
【００６１】
本発明の実施形態及び本明細書で説明した全ての機能的な操作は、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア、又はハードウェアで実施することができる。そのようなものには、本明細書で説明した構造及びそれら構造の同等物、或いはその組み合わせを含む。本発明の実施形態は、データ処理装置で実行するための、又はデータ処理装置の操作を制御するための、１つ或いは複数のコンピュータプログラム製品、即ち、コンピュータで読み出し可能なメディア（例えば、機械可読な記憶装置、機械可読な記憶メディア、メモリ装置、又は機械可読な伝播信号）に符号化されたコンピュータプログラム命令の１つ或いは複数のモジュールとして実行することができる。
【００６２】
「データ処理装置」という用語は、データ処理用の全ての装置、デバイス、機械を含むものであり、その一例として、プログラム可能なプロセッサ、コンピュータ、或いは複数のプロセッサ又はコンピュータを含む。装置は、ハードウェアに加えて、当該コンピュータプログラム用の実行環境を生成する符号（例えば、プロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はその組み合わせを構成する符号）を含むことができる。伝播信号は、適切な受信装置に送信するための情報を符号化して生成される、人工的に生成した信号（例えば、機械で生成した電気信号、光学信号、電磁信号）である。
【００６３】
コンピュータプログラム（プログラム、ソフトウェア、アプリケーション、ソフトウェアアプリケーション、スクリプト、又はコードとも呼ばれる）は、様々な形式のプログラミング言語（コンパイラ型言語、インタープリタ型言語を含む）で記述することができるものであり、スタンドアロン型プログラム、又はコンピュータ環境で使用するのに適したモジュール、コンポーネント、サブルーチン、或いはその他のユニットのような様々な形式で実装することができる。コンピュータプログラムは、ファイルシステムのファイルに必ずしも対応しているわけではない。プログラムは、別のプログラム又はデータを保存するファイルの一部（例えば、マークアップ言語ドキュメントに保存された１つ或いは複数のスクリプト）、当該プログラム専用の１つのファイル、又は組み合わされた複数のファイル（例えば、１つ或いは複数のモジュール、サブプログラム、又は符号の一部を保存するファイル）に保存することができる。コンピュータプログラムは、１つのコンピュータ、或いは１つの場所に配置された又は複数の場所に分散して配置された複数のコンピュータで実行するように実装することができる。
【００６４】
本明細書で説明した処理及び論理の流れは、入力データを操作し、出力を生成することによって各機能を実行させるような１つ或いは複数のコンピュータプログラムを実行する、１つ或いは複数のプログラム可能なプロセッサによって実施することができる。その処理及び論理の流れは、専用論理回路によって実行することができ、また装置は専用論理回路として実装することができる。専用論理回路には、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）又は特定用途向け集積回路を含む。
【００６５】
コンピュータプログラムの実行に適したプロセッサには、例えば、汎用及び専用マイクロプロセッサ、及び様々な種類のデジタルコンピュータのプロセッサのうちの１つ或いは複数のものを含む。一般に、プロセッサは、読み出し専用メモリ又はランダムアクセスメモリ又はその両者からの命令及びデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサ、並びに命令及びデータを保存するための１つ或いは複数のメモリ装置である。一般に、コンピュータは、データを保存するための１つ或いは複数の大容量記憶装置（例えば、磁気ディスク、光磁気ディスク、又は光ディスク）からデータを受信する、又はデータを送信するための通信インタフェースを含む、或いはそのような通信インタフェースと動作可能に接続している。
【００６６】
さらに、コンピュータは、別のデバイス（例えば、いくつかの例を挙げると、携帯電話、携帯情報端末（ＰＤＡ）、携帯型オーディオプレーヤ、全地球測位システム（ＧＰＳ）レシーバ）に組み込むことができる。コンピュータプログラムの命令及びデータを具現化するのに適切な情報担体は、全ての形態の不揮発性メモリを含む。そのようなものには、一例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリ装置などの半導体記憶装置、内蔵型ハードディスク又は着脱式ハードディスクなどの磁気ディスク、光ディスク、並びにＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクを含む。プロセッサ及びメモリは、専用論理回路によって追加、又は組み込むようにすることができる
【００６７】
ユーザと相互作用するようにするため、本発明の実施形態は、ユーザに情報を表示するための表示装置（例えば、ブラウン管（ＣＲＴ）型モニタ又は液晶表示（ＬＣＤ）型モニタ）、並びにユーザがコンピュータに入力することができるようにしたキーボード及びポインティングデバイス（例えば、マウス又はトラックボール）を備えるコンピュータで実行することができる。その他の種類のデバイスも、ユーザと相互作用するようにするために使用することができる。例えば、ユーザに提供されるフィードバックは、様々な形式の感覚的なフィードバック（例えば、視覚的なフィードバック、音声によるフィードバック、又は触知できるフィードバック）であって良く、ユーザからの入力は、音響入力、音声入力、又は触知性入力などの様々な形式で受け取ることができて良い。
【００６８】
本発明の実施形態は、バックエンド要素（例えば、データサーバ）、ミドルウェア要素（例えば、アプリケーションサーバ）、又はフロントエンド要素（例えば、ユーザが本発明の実行と相互作用することができるグラフィカルユーザインタフェース又はウェブブラウザを備えるクライアントコンピュータ）、又はそのようなバックエンド要素、ミドルウェア要素、或いはフロントエンド要素の様々な組み合わせを含むコンピュータシステムで実行することができる。システムの各要素は、デジタルデータ通信の様々な形態又はメディアによって（例えば、通信ネットワークによって）、相互接続することができる。通信ネットワークの一例として、ローカルエリアネットワーク（ＬＡＮ）及びインターネットなどの広域ネットワーク（ＷＡＮ）を含む。
【００６９】
コンピュータシステムには、クライアント及びサーバが含まれる。クライアント及びサーバは、一般に互いに離れて配置され、通常は通信ネットワークを介して相互作用するようにする。クライアント及びサーバの関係は、各コンピュータで実行するコンピュータプログラムによって生成され、互いにクライアント−サーバ関係を有する。
【００７０】
本明細書では、明確化のため、特定の特徴を別個の実施形態の文脈において説明したが、１つの実施形態にそれらを組み合わせて提供することもできる。反対に、簡潔化のため、様々な特徴を１つの実施形態の文脈において説明したが、複数の実施形態に、別個に提供する、又は様々な適切なサブコンビネーションで提供することもできる。さらに、上述の説明において、その特徴が特定の組み合わせで作用するように説明されていることがあり、最初にそのようなものとして主張されていることもあるが、主張した組み合わせの１つ或いは複数の特徴は、場合によっては、その組み合わせから削除することができ、主張した組み合わせが、サブコンビネーション又はサブコンビネーションの変形を対象にしていることもある。
【００７１】
本発明の特定の実施形態について説明を行ってきた。その他の実施形態も特許請求の範囲内である。例えば、特許請求の範囲に記載のステップは、異なる順序で実行しても良く、そのような場合でも所望の結果を得ることができる。また、本発明の実施形態は、リレーショナルなデータベース構造に限定されるものではない。例えば、リレーショナルモデル以外のモデル（例えば、ナビゲーションデータベース又はオブジェクト指向データベース）で構築されたデータベース用に、また複雑な属性構造をもつレコード（例えば、オブジェクト指向プログラムオブジェクト又はマークアップ言語ドキュメント）を有するデータベース用に、インデキシング及びアーカイビングをする方法及びシステムを提供するべく実行するようにすることもできる。上述したプロセスは、特に保存及び検索機能を行うアプリケーションにより実行されるようにすることもでき、又は別のアプリケーションに組み込まれるようにすることもできる。
【図面の簡単な説明】
【００７２】
【図１】ネットワーク保全用解析システムの構造を示す図である。
【図２Ａ】ハッシュの実行に連鎖するインメモリプロファイルを示す図である。
【図２Ｂ】ハッシュの実行に連鎖するインメモリプロファイルを示す図である。
【図３】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図４】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図５】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図６】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図７】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図８】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図９】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図１０】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図１１】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図１２】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図１３】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図１４】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図１５】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図１６】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図１７】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図１８】連鎖ハッシュコードの実装の様々なステップ及び動作を示す図である。
【図１】
2008543233.tif 000003
【図２Ａ】
2008543233.tif 000004
【図２Ｂ】
2008543233.tif 000005
【図３】
2008543233.tif 000006
【図４】
2008543233.tif 000007
【図５】
2008543233.tif 000008
【図６】
2008543233.tif 000009
【図７】
2008543233.tif 000010
【図８】
2008543233.tif 000011
【図９】
2008543233.tif 000012
【図１０】
2008543233.tif 000013
【図１１】
2008543233.tif 000014
【図１２】
2008543233.tif 000015
【図１３】
2008543233.tif 000016
【図１４】
2008543233.tif 000017
【図１５】
2008543233.tif 000018
【図１６】
2008543233.tif 000019
【図１７】
2008543233.tif 000020
【図１８】
2008543233.tif 000021
【国際調査報告】
2008543233.tif 000022
2008543233.tif 000023
2008543233.tif 000024