(57)【要約】【課題】容量を高速にふやしたり減らしたりできるネットワークサービスアカウンティングシステムを提供すること。【解決手段】システム中の多くのノードホストを用いた大量データの処理方法において、システムを介して所定ノードから次のノードに進むデータフローおよび処理制御を導く、プログラム可能なノードの有向グラフを生成する。その結果データは地理的に分散し、余剰なデータベースまたはファイルサーバが、定期的にスケジュールされたインターバルでバックアップされる。【選択図】図３
2004518335.tif 000002
【特許請求の範囲】
【請求項１】
システム中の多くのノードホストを用いた大量データの処理方法において、
システムを介して所定ノードから次のノードに進むデータフローおよび処理制御を導く、プログラム可能なノードの有向グラフを生成する方法。
【請求項２】
データフローマップを動的に修正し、コンポーネントホストのために構築されたしきい値に基づいて、余剰バックアップノードへの自動障害回復を行う請求項１に記載の方法。
【請求項３】
前記システムは、１からＮまでのレベルの余剰度のノードを備える、請求項２に記載の方法。
【請求項４】
各ノードは、前記データフローマップと該データフローマップのサブセットを共有する、障害マネージャおよびノードマネージャを含む請求項３に記載の方法。
【請求項５】
前記障害マネージャは、優先ノードについてのバックアップノードを備える請求項３に記載の方法。
【請求項６】
前記バックアップノードを備える障害マネージャは、他のノードのすべての障害マネージャに通知を行い、
前記バックアップノードのデータフローマップの修正を行う、請求項４に記載の方法。
【請求項７】
前記通知には優先ノードおよびバックアップノードのノードＩＤが含まれ、該ノードＩＤにはノードホストおよび待ち受けポートの目的地ＩＰアドレスが含まれる、請求項６に記載の方法。
【請求項８】
ノードで動作するスレッドおよび該ノードに提供されるプロセッサリソースを決定することによりノードの処理ステータスに関連する情報を測定する、請求項２に記載の方法。
【請求項９】
ノードの処理ステータス状況についてノードホストにある各ノードを定期的にポーリングする、請求項８に記載の方法。
【請求項１０】
他の障害マネージャに通知するために、ノードの処理ステータス測定が設定されたしきい値を下回るかどうかを判定する請求項８に記載の方法。
【請求項１１】
第１の利用可能な健全性バックアップノードを決定し、
前記第１の利用可能なバックアップノードを優先ノードとしてマークする一方で、非処理ステータスをもつリストの終わりに前記優先ノードをおく請求項８に記載の方法。
【請求項１２】
目的地ノードが転送を受け付けないことをソースノードにより決定し、
前記目的地ノードが不健全であり、前記データフローマップを修正して前記データフローを前記不健全優先ノードについての不健全バックアップノードに向け直すべきであることを、前記障害マネージャに通知する請求項３に記載の方法。
【請求項１３】
分散ネットワークアカウンティングシステムのホストコンピュータ上で動作する処理ノードに障害耐性を与えるための、コンピュータ読み出し可能な媒体に格納されたプログラムであって、コンピュータに、
システムを介して所定ノードから次のノードに進むデータフローおよび処理制御を導く、プログラム可能なノードの有向グラフを生成させ、
データフローマップを動的に修正し、コンポーネントホストのために構築されたしきい値に基づいて、余剰バックアップノードへの自動障害回復を行わせるプログラム。
【請求項１４】
前記システムは、１からＮまでのレベルの余剰度のノードを備える、請求項１３に記載のプログラム。
【請求項１５】
ノードマネージャと、前記データフローマップと該データフローマップのサブセットを共有するプログラム可能なノードの実行を管理するマネージャとを含む処理ドメイン中で、障害マネージャとして実行される請求項１３に記載のプログラム。
【請求項１６】
前記障害マネージャは、優先ノードについてのバックアップノードを備える請求項１４に記載の方法。
【請求項１７】
前記バックアップノードを備える障害マネージャに、他のノードのすべての障害マネージャに通知を行わせ、
前記バックアップノードのデータフローマップを修正する、請求項１６に記載のプログラム。
【請求項１８】
ノードで動作するスレッドおよび該ノードに提供されるプロセッサリソースを決定することによりノードの処理ステータスに関連する情報を測定する命令を含む、請求項１３に記載のプログラム。
【請求項１９】
ノードの処理ステータス状況についてノードホストにある各ノードを定期的にポーリングする命令を含む、請求項１３に記載のプログラム。
【請求項２０】
他の障害マネージャに通知するために、ノードの処理ステータス測定が設定されたしきい値を下回るかどうかを判定する命令を含む請求項１５に記載のプログラム。
【請求項２１】
第１の利用可能な健全性バックアップノードを決定し、
前記第１の利用可能なバックアップノードを優先ノードとしてマークする一方で、非処理ステータスをもつリストの終わりに前記優先ノードをおく命令を含む請求項１３に記載のプログラム。
【請求項２２】
目的地ノードが転送を受け付けないことをソースノードにより決定し、
前記目的地ノードが不健全であり、前記データフローマップを修正して前記データフローを前記不健全優先ノードについての不健全バックアップノードに向け直すべきであることを、前記障害マネージャに通知する命令を含む請求項１５に記載のプログラム。
【請求項２３】
ネットワークアカウンティングシステムのホストとなる複数のホストコンピュータと、
ネットワークアカウンティングシステムのデータ処理ドメインに対する障害耐性を与えるための、コンピュータ読み出し可能な媒体に格納されたプログラムと、による分散ネットワークアカウンティングシステムであって、前記プログラムは、前記コンピュータに、
システムを介して所定ノードから次のノードに進むデータフローおよび処理制御を導く、プログラム可能なノードの有向グラフを生成させ、
データフローマップを動的に修正し、コンポーネントホストのために構築されたしきい値に基づいて、余剰バックアップノードへの自動障害回復を行わせる命令を含む、システム。
【請求項２４】
ノードマネージャと、前記データフローマップと該データフローマップのサブセットを共有するプログラム可能なノードの実行を管理するマネージャとを含む処理ドメイン中で、障害マネージャとしてプログラムが動作する、請求項２３に記載のシステム。
【請求項２５】
前記プログラム可能なノードは、ネットワークアカウンティングレコードを生成するデータコレクタ処理、ネットワークアカウンティングレコードを集合する集合処理、ネットワークアカウンティングレコードを強化する強化処理、またはアプリケーションにより使用するためのレコードを生成する出力インターフェース処理のいずれかとすることができる請求項２３に記載のシステム。
【請求項２６】
前記データ処理ドメインは、プログラムを実行して有向グラフを動的に修正する障害マネージャを含む請求項２３に記載のシステム。
【請求項２７】
コンピュータプログラムは、ノードマネージャ、ローカル・データ・マネージャ、遠隔データマネージャ、管理サーバ、または管理クライアントであるコンポーネントで動作する請求項２３に記載のシステム。
【請求項２８】
コンポーネントは、コンポーネントの処理コンテクストの変更を単一で微小な処理として行うノードであり、プログラムは、
データ処理ドメインを、データ処理ドメインの処理コンテクストチェックポイントに自動回復できるように、該データ処理ドメインの処理状態のコンテクストをチェックポイントし、
オペレーティングシステム機能を実行してデータ処理ドメインを、データ処理ドメインの処理コンテクストチェックポイントに自動回復する命令を含む、請求項２７に記載のシステム。
【請求項２９】
前記コンポーネントの処理コンテクストは、構成ファイル、ノードマネージャテーブル、またはグローバルノードマップのエントリを含む、請求項２８に記載のシステム。
【請求項３０】
分散ネットワークアカウンティングシステムで配置するためのホストコンピュータであって、
プロセッサと、
分散ネットワークアカウンティングシステムのホストコンピュータ上で動作する処理ノードに障害耐性を与えるための、コンピュータ読み出し可能な媒体に格納されたプログラムとを備え、該プログラムは、
システムを介して所定ノードから次のノードに進むデータフローおよび処理制御を導く、プログラム可能なノードの有向グラフを生成させ、
データフローマップを動的に修正し、コンポーネントホストのために構築されたしきい値に基づいて、余剰バックアップノードへの自動障害回復をコンピュータに行わせるホストコンピュータ。
【請求項３１】
ノードマネージャと、前記データフローマップと該データフローマップのサブセットを共有するプログラム可能なノードの実行を管理するマネージャとを含む処理ドメイン中で、障害マネージャとしてプログラムが動作する、請求項３０に記載のホストコンピュータ。
【請求項３２】
前記プログラム可能なノードは、ネットワークアカウンティングレコードを生成するデータコレクタ処理、ネットワークアカウンティングレコードを集合する集合処理、ネットワークアカウンティングレコードを強化する強化処理、またはアプリケーションにより使用するためのレコードを生成する出力インターフェース処理のいずれかとすることができる請求項３０に記載のホストコンピュータ。
【請求項３３】
前記データ処理ドメインは、プログラムを実行して有向グラフを動的に修正する障害マネージャを含む請求項３０に記載のホストコンピュータ。
【請求項３４】
ノードホストで動作する多くのノードを含む分散ネットワークアカウンティングシステムでの処理を回復する方法であって、
ノード中の処理の複雑さに従ってシステム中のノードを区別し、
処理の複雑さが比較的低いノードについては、前記ノードを、該ノードの最近の処理コンテクストチェックポイントに自動回復できるように、該ノードの処理状態のコンテクストをチェックポイントし、
処理の複雑さが比較的高いノードについては、データおよび前記システム中の処理制御のフローを制御するプログラム可能なノードの有向グラフを生成し、データフローマップを動的に修正してコンポーネントホストのために構築されたしきい値に基づいて、余剰バックアップノードへの自動障害回復を行う方法。
【請求項３５】
コンテクストチェックポイントは、１からＮまでのレベルの余剰度のノードコンポーネントを備える請求項３４に記載の方法。
【請求項３６】
比較的高い複雑さをもつノードに対し、有向グラフを生成することで、１からＮまでのレベルの余剰度のノードを提供する請求項３４に記載の方法。
【請求項３７】
各コンポーネントが、コンテクストのチェックポイントによりコンポーネントの障害耐性を備える回復マネージャを実行する請求項３４に記載の方法。
【請求項３８】
前記回復マネージャは、オペレーティングシステムを用いることによりシステムコンポーネントの自動回復を提供する請求項３４に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はキャリアクラスに関し、たとえば電気通信のスイッチング、送信、ネットワークアカウンティングに関する。
【０００２】
【従来の技術】
サービスアカウンティングはキャリアクラス仲介解決手段であり、マルチサービス、マルチベンダ、無線ＩＰネットワーク環境のために設計されている。サービスレベルの視点での顧客の活動を表す有用な情報に、ネットワークデータを変換することにより、サービスプロバイダは、提供するサービスに違いが出るように価格設定をし、セット化し、値引きを行う。
【０００３】
【発明が解決しようとする課題】
キャリアクラスサービスにとって、アカウンティングの信頼性およびスケーラビリティは重要な問題である。請求書データを失うと売り上げが減少するので、キャリアクラスの信頼性は重要な問題である。
【０００４】
【課題を解決するための手段】
本発明によると、システム中の多くのノードホストを用いた大量データの処理方法において、システムを介して所定ノードから次のノードに進むデータフローおよび処理制御を導く、プログラム可能なノードの有向グラフを生成する。
【０００５】
本発明の一形態では、分散ネットワークアカウンティングシステムのホストコンピュータ上で動作する処理ノードに障害耐性を与えるための、コンピュータ読み出し可能な媒体に格納されたプログラムである。コンピュータプログラムは、コンピュータに、システムを介して所定ノードから次のノードに進むデータフローおよび処理制御を導く、プログラム可能なノードの有向グラフを生成させ、データフローマップを動的に修正し、コンポーネントホストのために構築されたしきい値に基づいて、余剰バックアップノードへの自動障害回復を行わせる。
【０００６】
本発明の一形態では、ネットワークアカウンティングシステムのホストとなる複数のホストコンピュータと、ネットワークアカウンティングシステムのデータ処理ドメインに対する障害耐性を与えるための、コンピュータ読み出し可能な媒体に格納されたプログラムと、による分散ネットワークアカウンティングシステムである。プログラムは、前記コンピュータに、システムを介して所定ノードから次のノードに進むデータフローおよび処理制御を導く、プログラム可能なノードの有向グラフを生成させ、データフローマップを動的に修正し、コンポーネントホストのために構築されたしきい値に基づいて、余剰バックアップノードへの自動障害回復を行わせる命令を含む。
【０００７】
本発明の一形態は、ノードホストで動作する多くのノードを含む分散ネットワークアカウンティングシステムでの処理を回復する方法である。本方法では、ノード中の処理の複雑さに従ってシステム中のノードを区別し、処理の複雑さが比較的低いノードについては、前記ノードを、該ノードの最近の処理コンテクストチェックポイントに自動回復できるように、該ノードの処理状態のコンテクストをチェックポイントし、処理の複雑さが比較的高いノードについては、データおよび前記システム中の処理制御のフローを制御するプログラム可能なノードの有向グラフを生成し、データフローマップを動的に修正してコンポーネントホストのために構築されたしきい値に基づいて、余剰バックアップノードへの自動障害回復を行う。
【０００８】
本発明のうち１つまたはそれ以上の形態により、後述の利点のうちの１つまたはそれ以上が得られる。
【０００９】
本発明の一形態では、ビジネス上のニーズが変化し進化するにつれ、容量を高速にふやしたり減らしたりできるネットワークサービスアカウンティングシステムを提供する。本発明はまた、かなり大きい空き容量、ピークでの処理能力の確保、負荷が大きい場合の十分な信頼性を与える解決手段を提供している。さらに、信頼性の手段は、必要となる特定の点で容易に実行することができる。たとえばデータ余剰性は、請求システムを目的とした単一のデータストリームを多重ストリームへとマルチキャストすることにより達成することができる。その結果データは地理的に分散し、余剰なデータベースまたはファイルサーバが、定期的にスケジュールされたインターバルでバックアップされる。このアプローチは調停モデルにおける特定の点で実現することができ、サービスプロバイダがネットワーク環境の特定用途に合わせて信頼性を構築できるようにしている。
【００１０】
本発明はまた、スケーラブルで信頼性の高いアカウンティングシステムを提供し、それによりビジネス上の必要性が変化し進化するのに合わせ、システム容量が高速に増減する。特定のシステムにある各アカウンティングノードは、親処理の制御下にある。親処理は、システムにあるノードの現在の状態を永続的に維持する。ノードの現在の状態には、処理ステータス（すなわちコンポーネントが動作しているということ）および無事処理されたデータの使用量リストを含んでいる。うまくシャットダウンされた場合、またはうまくシャットダウンされなかった場合でも、システム状態は保存され、分かっている最後の状態に戻すようシステムを回復するのに用いられる。この結果システムは、終了時に何が起こっているかを「思い出す」ことができ、システムが切断されたところから再スタートすることができる。この機能により、システムシャットダウン中に使用量データが失われないようにすることができる。従ってシステムは、きちんと再スタートすることができる。その結果システムがシャットダウンして再スタートする場合、二重のカウントや処理が起こらないように、切断されたところから各コンポーネントが処理を再開できる。
【００１１】
本発明はまた、かなり大きい空き容量、ピークでの処理能力の確保、負荷が大きい場合の十分な信頼性を与える解決手段を提供している。さらに、信頼性の手段は、必要となる特定の点で容易に実行することができる。たとえばデータ余剰性は、請求システムを目的とした単一のデータストリームを多重ストリームへとマルチキャストすることにより達成することができる。その結果データは地理的に分散し、余剰なデータベースまたはファイルサーバが、定期的にスケジュールされたインターバルでバックアップされる。
【００１２】
【発明の実施の形態】
図１を参照すると、分散データ収集システム１０の実施形態が示されている。分散データ収集システム１０は、アカウンティング処理のためのネットワーク情報を得るために用いることができる。または代わりに、請求書発行、成果報告、サービスレベルの管理、容量計画、傾向分析などの、ユーザ定義によるデータ処理アプリケーションにデータを与えるなどの、他のデータ収集活動に用いることができる。ここで本システムを、図２のアカウンティングプロセス２０を用いて説明する。もちろん他の実施形態を用いることは可能である。
【００１３】
本データ収集システム１０は、インターネットなどのネットワーク１８を介して分散した複数のホストコンピュータＨ１−Ｈ４を含んでいる。ホストコンピュータＨ１−Ｈ４は、中央演算装置を含むいかなる計算装置または機器とすることができる。ホストコンピュータＨ１−Ｈ４は、ネットワークに流れるネットワークデータを得るためにネットワーク１８で分散配置されている。ホストコンピュータＨ１−４は、後に説明するようにノードを構成しており、分散によるやり方でネットワークデータを処理するよう配置されている。ホストコンピュータＨ１−Ｈ４は、ネットワークプロトコルを用いて仮想経路１３ａ−１３ｃを介して互いに記録を送信している。従って、ネットワークがインターネットの場合、トランスポート・コントロール・プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）が用いられる。
【００１４】
図１に示すように、本システムはサーバコンピュータも含む。たとえば、所望のデータ収集活動を提供するためにホストコンピュータＨ１−Ｈ４上にノードを構成するのに用いられる、管理サーバ処理１２’を走らせる管理サーバ１２がある。データ収集システム１０はまた、クライアントシステムを含む。たとえば、上述の構成機能を行うための管理サーバ処理１２’に接続する管理クライアント処理１４’を実行する管理クライアント１４がある。先に示したように、ホストシステムＨ１およびＨ４は、請求書、成果報告、サービスレベル管理、容量計画、傾向分析などのユーザ定義のアプリケーション１６ａ，１６ｄへと結合するためのインターフェース（図示せず）を含む。
【００１５】
さらに、ホストシステムＨ１，Ｈ２，Ｈ３は、ネットワーク１８からデータを取得する機器インターフェース（図示せず）も含んでいる。ネットワーク装置（図示せず）は、データ収集システム１０で処理されるさまざまなタイプおよびフォーマットのデータをつくることができる。データタイプの例として、“Ｒｅｍｏｔｅ Ａｕｔｈｅｎｔｉｃａｔｉｏｎ Ｄｉａｌ−Ｉｎ Ｕｓｅ Ｓｅｒｖｉｃｅ（ＲＡＤＩＵＳ）”レコードがある。他の情報ソースには、ネットワークトラフィックフロー、Ｒｅｍｏｔｅ Ｎｅｔｗｏｒｋ Ｍｏｎｉｔｏｒｉｎｇ（ＲＭＯＮ／ＲＭＯＮ２データ）、Ｓｉｍｐｌｅ Ｎｅｔｗｏｒｋ Ｍａｎａｇｅｍｅｎｔ Ｐｒｏｔｏｃｏｌ（ＳＮＭＰ）、他のソースのネットワーク使用データがある。ホストコンピュータＨ１−Ｈ４は、たとえば上述のネットワークアカウンティング機能などの特定機能を実行するように構成、配置される。ネットワークにおいて地理的には分散配置することができるが、論理的には要求されたタスクを実行するよう互いに結合される。
【００１６】
図２を参照すると、アカウンティング処理２０として構成された図１の配置を論理的に見た図が示されている。ここでホストコンピュータＨ１−Ｈ４は、それぞれ複数のノードを持っている。たとえばノード２４ａ−２４ｃはホストＨ１−Ｈ３にそれぞれ対応し、ノード２６ａ−２６ｃはホストＨ１−Ｈ３にそれぞれ対応し、ノード２８ａ−２８ｄはホストＨ１−Ｈ４にそれぞれ対応し、ノード３０ａおよび３０ｄはＨ１およびＨ４のみに対応する。ホストコンピュータＨ１−Ｈ４内のノードは、チェーン３２を提供するように構成され、アカウンティング処理２０をチェーン配置として提供している。ノード２４ａ−２４ｃは、機器インターフェースノードであり、後述するが、ネットワーク内で分散されたネットワーク装置ｓ１−ｓ３からのネットワークデータを取得するのに用いられる。ネットワーク装置ｓ１−ｓ３は、スイッチ、ルータ、遠隔アクセス集中装置、探索機、フロー探索機、ディレクトリネーミングサービスなどとすることができる。ノード３０ａおよび３０ｄは出力インターフェースであり、後述するが、ネットワークアカウンティング処理２０をネットワーク消費アプリケーション１６ａおよび１６に接続するのに用いられる。
【００１７】
チェーン配置により、スケーラブル、プログラマブルで、分散された処理が提供される。一般的に、ホストコンピュータへのノードの割り当ては任意に行われる。すなわちノードを、ホストコンピュータＨ１−Ｈ４のいずれか１つに配置することができる。配置先のホストはこれより多くも少なくもできる。ノードのチェーンがデータフロー構造を提供する。データフロー構造では、入力データやレコードがチェーンの第１ノードに与えられ、ノードからの出力レコードやデータがチェーンの最終ノードから受け取られる。各ノードで処理されるデータは、ノードがチェーン内で配置されるように処理される。チェーンは、異なる処理タスクまたは負荷を実行するために、２つまたは複数のチェーンに分割されるかまたは少数のチェーンに集中する。その結果、空間および時間上一時的な関連ネットワークデータを、分散ソースから受信できるようにし、複数のネットワークコンピュータ上の並行計算を介して適宜に最適なやり方で処理できるようにし、スケーラビリティを提供する。
【００１８】
アカウンティング処理２０に含むことができるノードタイプは、ノード２４ａ−２４ｃなどのアカウンティング処理１０の外部ソースからデータを収集する機器インターフェース（ＥＩ）を含む。一形態では、ＥＩノードはデータを、ネットワークアカウンティングレコード（ＮＡＲＳ）などのネットワークレコードに変換する。ネットワークアカウンティングレコードＮＡＲＳは、規格化されたネットワークレコードである。アカウンティング処理２０が複数タイプのネットワーク機器からデータを収集するので、ＥＩノードは、これらの異なるタイプのレコードをＮＡＲへと変換し規格化する。ＮＡＲはアカウンティング処理２０の他のいかなるノードによって処理することもできる。複数の異なる特定ＥＩがあり、それぞれがそれぞれのタイプの情報ソース（すなわちＲＡＤＩＵＳ ＥＩ，ＧＧＳＮ ＥＩなど）に対応している。
【００１９】
アカウンティング処理２０はまた、エンハンスメントプロセッサノードタイプ（ＥＰ）を含む。たとえばノード２６ａ−２６ｃが該当するが、複数の異なる処理タスクを実行することができる。エンハンスメントノードは、ＮＡＲにある既存の属性の値に基づいてＮＡＲに属性を追加することができる。さらに、エンハンスメントノードは、フィルタリング、データ規格化、または他の機能を実行することができる。アカウンティング処理２０はまた、集合体プロセッサノードタイプ（ＡＰ）を含んでいる。たとえばノード２８ａ−２８ｄなどだが、一連のＮＡＲＳを、相関をとることによりまたは適宜特定の属性を組み合せ、時間をかけてメトリックス（ｍｅｔｒｉｃｓ）を蓄積することにより１つのＮＡＲＳに集合している。本システムはまた、出力インターフェースノードタイプ（ＯＩ）を含む。ＯＩはたとえば、ＮＡＲＳを外部データフォーマットに変換し、データをデータ消費アプリケーションに送るノード３０ａおよびノード３０ｄがある。ノード処理タイプにおけるさらなる詳細は、後述する。
【００２０】
図３を参照すると、アカウンティング処理２０などのデータ収集システム１０におけるノードのためのデータ処理ドメイン５０は、ランタイムコンポーネントを含んでいる。ランタイムコンポーネントは、管理サーバ１２（図１）で動作する管理サーバ（ＡＳ）１２’を含む。管理サーバ１２は、管理クライアントシステム１４（図１）で動作する管理クライアント１４’と、ノードマネージャ５２との間の通信を提供する。ノードマネージャ５２は、アカウンティング処理５２の各マシンまたはホストＨ１−Ｈ４のところに配置される。管理クライアント（ＡＣ）１４’は、ブラウザアプレット、アプリケーション、または他の処理である。これらは、配置情報をノードマネージャ５２に供給することにより、ユーザがアカウンティング処理２０を管理できるようにしている。ノードマネージャ５２は、既知のポート上にリモート・メソッド・インボケーション（ＲＭＩ）を備えている。ポートはたとえば、ＲＭＩレジストリ５７に特定され登録されている。
【００２１】
ノードマネージャ（ＮＭ）５２は通常、ノード５８を管理している。ノードはたとえば２４ａ−２４ｃ，２６ａ−２６ｃ，２８ａ−２８ｄ，３０ａ，３０ｄ（図２および図３）であり、データ、記録、その他についての処理を実行している。アカウンティング処理２０はまた、データの移動を行うローカル・データ・マネージャ（ＬＤＭ）５６を含んでいる。データは、ローカルノード（すなわち同一のホストシステムにあるノード）と、遠隔ノード（すなわち異なるホストシステムにあるノード）間でデータを動かすリモート・データ・マネージャ（ＲＤＭ）との間にある、ＮＡＲＳなどのネットワークレコードである。アカウンティング処理２０において、アカウンティングデータまたは記録はキューに含まれる。データはファイル構造または他の構成にも含まれている。データ処理ドメインは、障害マネージャを含んでおり、処理ノードのためのシステム１０を介したデータフローの動的修正を管理している。データ処理ドメインはまた、リカバリマネージャ６１を含んでおり、データ処理ドメインまたはデータ処理ドメイン５０の個々のコンポーネントのいずれかのリカバリを管理している。
【００２２】
図４を参照すると、図２のホストＨ２のデータフローに用いられる典型的なキュー割り当て８０が示されている。図２の配置の場合、集合ノード２８ｄは、ホストＨ１（図２）上に存在するノード２８ａからデータを受信するまで、ホストＨ１（図２）上に入力キューをもっている。ノード２８ｄはまた同様に、ホストＨ３およびＨ３上に入力キューをもっている。ノード２８ｄは入力、出力、テンポラリキューをホストＨ４（図２）に持っている。
【００２３】
図５を参照すると、アカウンティング処理２０中のデータは、データフローマップに従ってシステム１０を流れる。管理サーバ１２は、アカウンティング処理２０全体のマスターまたはグローバルデータを維持している。各ノードマネージャは、マスターマップのサブセットを維持している。サブセットはたとえばローカルデータフローマップ８４ａ−８４ｉであり、ノードマネージャのホストにある一部のノードチェーンだけをマップする。データフローマップは、データを他のノードに送ることでデータフローをあらわすすべてのノードを示すデータ構造である。データフローマップは、どのノードがそのノードから出力ＮＡＲＳを受け取るべきかを、各ノードについて特定する。ホスト上の各ノードは、入力キュー、出力キュー、および典型的キューをこのホストにもっている。さらに遠隔ノードが、特定のホスト上には存在しないが特定のノードに存在するノードからは出力を受け取る場合、遠隔ノードはホスト上に入力キューのみをもつことになる。
【００２４】
このノードは、どの下流ノードに特定のＮＡＲが渡されるかについての決定を行う。この決定では、ＮＡＲが書き込まれる入力キューが決まる。データマネージャ５６または５８は、ノード間のデータ移動を行う。データマネージャ５４または５６は定期的に（構成可能でもある）、どのデータが出力キューにあるかを見ている。データマネージャがＮＡＲＳを見つけるとき、データマネージャはＮＡＲＳを後続モードの適切な入力キューに動かす。この実施形態ではローカルおよび遠隔のデータマネージャを用いる一方、ローカルおよび遠隔の送付を処理する単一のデータマネージャを用いることができる。
【００２５】
他の分散方法を用いることができる。従って単一出力キューをもつノードの代わりに、ノードは複数のキューを持つことができる。複数の出力キューは、ＮＡＲストリームをいくつかの部分に分割する能力を与える。この部分は選択可能な領域に基づいて異なる下流のノードに渡すことができる。
【００２６】
図６を参照すると、アカウンティング処理に関する各ホストに含まれるノードマネージャ（ＮＭ）５２（図５）による処理が示されている。ノードマネージャ５２は、ブートタイムで動作し、他の機能処理（ノード、ＬＤＭ、ＲＤＭ）を起動させる（１３２ａ）。ノードの初期化の間、ノードマネージャ５２はノードに、ノードが動作にあたり必要とするすべてのキューおよび構成情報を与える（１３２ｂ）。ノードはノードマネージャ５２内のオブジェクトとして存在するので、ＮＭ５２は、必要とされたノードにコマンドを発行する。ノードマネージャ５２が発行するコマンドのセットは、すべてのノードが組み込まれるインターフェースで定義され、必要なデータを他のコンポーネントに提供する。すべてのノードおよびＬＤＭ／ＲＤＭは、メモリ内にノードマネージャにより維持されるオブジェクトとして存在する。
【００２７】
各アカウンティング処理にあるノードマネージャは、リモート・メソッド・インボケーション（ＲＭＩ）レジストリ５７を基地のポートに提供する（１３２ｃ）。ポートはたとえば、ＲＭＩレジストリ５７で特定され登録される。ノードマネージャにより作成されると、ＲＤＭは、自身を初期化プロセスの一部として登録する。ノードマネージャはＲＭＩレジストリ５７を他の処理のために維持する。処理には、ＲＤＭ、管理サーバ、システム上のすべての管理通信のためのエントリポイントとしての動作がある。
【００２８】
ノードマネージャ５２は、管理サーバ１２に接続し（１３２ｄ）、管理サーバ１２に要求される通りノードの追加、削除、開始、中止、および構成を行う。ノードマネージャ５２はまた、すべてのノードの現在のステータスを維持し、情報を管理サーバに移動し、コンポーネントのための構成情報を維持する。管理サーバは、既知のポートにあるＮＭのレジストリ５７をさがしレジストリ５７を介してＮＭを参照することにより、ＮＭ５２との通信を行う。ＲＤＭ５２は、ノードマネージャ内に含まれる遠隔オブジェクトとして存在する。そして他方のノードホストにあるＲＤＭ５２がＲＭＩ５７を解して通信できるように、自身をレジストリ５７に登録する。
【００２９】
初期化の一環として、ノードマネージャ５２は、開始とともに読み出される２つの構成ファイルを持つ。データフローマップファイルは、ＮＭのコンピュータにある各ノードの出力がどこに向かうかを示している。所定ホストのいくつかのノードの出力は、ホストから離れたターゲットノードに向かうことができる。ファイルはまた、遠隔ノードが位置するホストのホスト名またはＩＰアドレスも含んでいる。ノードリストファイルは、どのノードがＮＭのホストで動作すべきかについての情報を含んでいる。ノードのタイプ、ｉｄ番号、構成状態（動作中、停止中など）である。ＮＭ５２は、ＬＤＭ、ＲＤＭの他すべてのノードを含んでいる。ＮＭ５２は、これらのオブジェクトのそれぞれから出力されたイベントを受け取り、イベントを管理サーバに伝播する。さらにノードマネージャは、ＬＤＭ／ＲＤＭおよびノードから受け取ったステータスをログする。
【００３０】
ＮＭ管理１３２ｄの一環として、ノードマネージャは、データフローマップおよびノードテーブルへの変化を管理している。いずれかのファイルが変更される場合、ＮＭはＬＤＭまたはＲＤＭ（どのファイルが変化するかに依存する）を再構成する。ノードが生成されるかノード構成が編集されるとき、ＮＭはノード構成ファイルを書く。そのときノードが動作していれば、ＮＭはノードに再構成を通知する。ＬＤＭは生成ノードの出力キューから各ノードの消費者の入力キューにデータを動かす。初期化されると、ＬＤＭはローカルデータフローマップファイルを読みだし、ノードおよび目的地を表すデータ構造を構築する。ノードマネージャは定期的に各ソースノードの出力キューをスキャンする。ノードマネージャがノードの出力キューにＮＡＲＳを見つける場合、ノードマネージャはＮＡＲＳを、ソースノードへの目的地となるノードの入力キューにコピーする。ＮＡＲが一旦十分に分散されると、ソースノードの出力キューにあるコピーは除去（削除）される。ＬＤＭがＮＡＲを目的地入力キューのすべてにコピーできない場合、ＮＡＲを除去しないが、キューからファイルを除去するときに、ＮＡＲが無事送信されるまでＮＡＲの送信を試み続ける。ＬＤＭはスタートアップにおいてただ１つの「構成」ファイル、ローカルデータフローマップファイルを読み出す。このファイルは、ＬＤＭがサービスするすべてのノードおよびノードのすべての目的地のリストを含む。
【００３１】
遠隔ホストにあるノードに対し、「ローカル」入力キューが生成される。ＮＡＲＳは、このローカル入力キューに、ローカル目的地ノードに関してコピーされる。ＲＤＭは、これらローカル入力キューにあるＮＡＲＳを遠隔ホストにあるノードの入力キューに移す。ＲＤＭはＲＤＭが動作しているホストから離れたノードの入力キューをスキャンする。ＲＤＭがＮＡＲＳを見つける場合、目的地ノードがある遠隔ホストのＲＤＭに接続し、ＮＡＲＳを移し、ＮＡＲＳを削除する。
【００３２】
実行するとすぐＲＤＭは、ローカルマシンで動作し既知のポートにあるＲＭＩレジストリに登録を行う。ＲＭＩに登録を行った後ＲＤＭは、ノードマネージャにより維持される遠隔データフローマップファイルで読み出しを行う。ファイル中のマッピングに基づき、ＲＤＭは、それぞれの遠隔ノードのローカル入力キューのスキャンを行う。ＮＡＲＳを入力キューで発見すると、ホスト上にあるＲＤＭに接続を行う。このホストでは、遠隔目的地ノードが存在し、ＮＡＲＳを移し、ＮＡＲＳを削除するものである。一旦ＮＡＲファイルがすべてのマップされた遠隔ノードに十分配布されると、ノードのローカル入力キューにあるコピーは除去（削除）される。ＲＤＭがファイルを目的地ＲＤＭのすべてに移すことができない場合、除去を行わない。ＲＤＭがファイルを受け取るとき、まず一時領域にある一時ファイルにデータの書き込みを行う。ファイルが十分受け取られ書き込みが行われると、ＲＤＭはファイルを目的地ノードの入力領域にリネーム（移動）する。このことは、ＲＤＭが入力キューへの書き込みを終了する前に、ノードが読み出しを行おうとする場合に起こりうる競合状態を防ぐためのものである。ＲＤＭは、スタートアップにおけるただ１つの「構成ファイル」、つまり遠隔データフローマッピングファイルの読み出しを行う。このファイルには、ＲＤＭがサービスを行う遠隔ノードのすべてをもつリストを含んでおり、ホストＩＰアドレス、ＲＭＩレジストリポートを含んでいる。ノードマネージャリストは、システム中の各ノードマネージャについてのエントリを含んでいる。各エントリは、ＮＭがあり、ＲＭＩレジストリポートであり、名前であるホストのＩＰアドレスを含んでいる。ノードリストは、システム中のそれぞれのノードの情報を含んだファイルである。
【００３３】
図７を参照すると、アカウンティング処理２０にあるデータフローの例が示されている。矢印はＮＡＲＳが移される方向を示している。データはノード９２、ＥＩノードにあるデータソース９１から受信される。ＥＩノード９２は、データをＮＡＲＳに変換し、ＮＡＲＳを出力キュー９２ｂに書き込む。ＬＤＭ９３は、ＮＡＲＳを出力キュー９２ｂからノード９４の入力キュー９４ａに、ＬＤＭ９３のためのデータフローマップ（ＤＦＭ）に従って移動する。ノード９４は、入力キュー９４ａから読み出し、出力キュー９４ｂに書き込む。ＬＤＭ９３は、ＮＡＲＳを出力キュー９４ｂから入力キュー９７ａに移動する。ＲＤＭ９９は、ＮＡＲＳを入力キュー９７ａから読み出し、ホストＨ２上のＲＤＭ１００と接続し、ＮＡＲＳをＲＤＭ１００に送る。
【００３４】
ホストＨ２上のＲＤＭ１００は、ＮＡＲＳを受信し、入力キュー１０２ａに書き込む。ホストＨ２上のノード１０２は、ＮＡＲＳを処理する入力キュー１０２ａから読み出しを行い、ＮＡＲＳを出力キュー１０２ｂに書き込む。一般的にノードは入力キューから入力ＮＡＲＳを受け取り、出力ＮＡＲＳを出力キューに書き込む。例外は、外部のアカウンティング処理２０から入力データを受け取るＥＩと、アカウンティング処理２０の外側にあるデータ消費アプリケーションにデータを出力するＯＩである。
【００３５】
図８を参照すると、一般的に処理ノード５８は、機能的処理５８’（たとえば強化、集合、機器インターフェースまたは出力インターフェース、その他）を有し、一時キュー９３’−９３’’を用いてＮＡＲを「キャッシュ」し続けることができる。ＮＡＲキャッシュは、ＮＡＲＳをノード出力キュー９２’，９２’’に移す準備ができるまで、出力ＮＡＲＳを保持するのに使用することができる。ノードの現在の出力キャッシュが所定のサイズまで大きくなると、出力ファイルは出力キューにおかれる。また、キャッシュファイルが所定の時間以上に長く存在した場合、データマネージャノードは、サイズにかかわりなく出力キューに移動する。データマネージャは、ＬＤＭまたはＲＤＭとすることができる。その結果、データはかなり低いトラフィックの時間でシステム中を流れ続ける。キュー９６’はまた、残すべきＮＡＲＳをストレージ９５に保持するにあたり備えられることができる。
【００３６】
図９を参照すると、ローカル・データ・マネージャＬＤＭ９３は、各ノードの出力キューから目的地ノードの入力キューにＮＡＲＳを配布している。１つのＬＤＭ９３が、アカウンティング処理２０にある各ノードで動作している。ＬＤＭ９３は、定期的にノード出力キューをスキャンし（１１２）、移すべきＮＡＲＳがあるかどうかを判定している。移すべきＮＡＲＳがある場合、ＬＤＭはローカルデータフローマッピングに基づいて判定を行い（１１６）、出力キューにあるＮＡＲＳを目的地ノード入力キューにコピーする（１１８）。ファイルが無事配布された場合（１２０）、ＬＤＭは出力キューからファイルを除去する（１２２）。図５において、ホストＨ１では、ＬＤＭ９３は、出力９２ｂから入力９４ａに、出力９４ｂから入力９７ａへとＮＡＲＳをコピーする。ノード１０２がホストＨ１から離れていたとしても、ノード１０２は、依然としてホストＨ１上に入力キューを有する。ノード１０２がホストＨ１上のノードから入力を受け取っているからだ。
【００３７】
遠隔データマネージャ（ＲＤＭ）は、図５でＬＤＭについて示しているのと通常同じような方法で、遠隔ホストのノードに向けてＮＡＲＳを送る。１つのＲＤＭが、アカウンティング処理２０の各ノードホストコンピュータ１つを走らせる。ＲＤＭは定期的に、ＮＡＲＳについての遠隔ノードの入力キューをスキャンし、目的地マシンにあるＲＤＭ１００に接続することによりＮＡＲＳを移送し、ＮＡＲＳは無事送られると、入力キューからＮＡＲを除去する。アカウンティング処理２０は、バックアップおよび修復目的のための処理の後、ＮＡＲファイルを維持するよう構成することができる。ＲＤＭ１００はまた、遠隔ＲＤＭからＮＡＲＳを受け取り、目的地ノードの入力キューにおく。図５において、ノードホストＨ１でＲＤＭ９９は定期的に入力キュー９７ａをＮＡＲＳについてチェックする。見つかった場合、ホストＨ２との接続を開始し、ファイルを送り、入力９７ａからファイルを除去する。ホストＨ２上のＲＤＭ１００は、ホストＨ２の入力キュー１０２ａにファイルをおく。
【００３８】
アカウンティングシステム１０は、１からＮレベルの余剰性のクリティカルコンポーネントおよび残ったコンポーネントの自動回復（最近の内容ではチェックポイント）ができる。システムリソースの追加は、必要な余剰性レベルに比例してなされる。システム１０はいくつかの技術の組み合わせを含んでおり、これにより、データ損失、システムアップ時間、および消費者によって提供されるコストクライテリアに対応している。こうした技術には、「失敗のシングルポイント」の確率の減少、各ノードでのデータの格納および前進、各システムノードでのデータのバックアップおよび修復、およびデータの余剰ノードチェーンへのマルチキャスティングのための、分散モジュラーデータ処理を含めることができる。
【００３９】
追加の技術として、処理ステータスに基づく余剰バックアップコンポーネントへの自動障害回復機能を含む。処理ステータスにはたとえば、最近のコンテクストチェックポイントに対する、コンポーネント、コンポーネントホスト、コンポーネントテキストチェックポイント、および自動回復に対する、「健全性」および「性能」のしきい値がある。
【００４０】
障害マネージャノード５９を介して、システム１０は、ノードの各タイプの入力ストレージの、バックアップおよび修復容量を提供する。データフローマップ、そして従ってデータ処理位置およびシーケンスの制御を、統計的かつ動的に変化させることができる。データフローマップは、流入するＮＡＲ内の１つまたは複数の属性の値に基づいて、Ｎ下流ノードへとＮＡＲのストリームの一部のコピーを送るよう、構成することができる。従って、障害マネージャノードを介して、データフローマップは、受信ノードの「健全性」または「性能」が所定のしきい値より下になる場合、ＮＡＲストリームの異なる（バックアップ）ノードへの流入をリルートするよう動的に修正される。このことにより、クリティカルＥＡＭコンポーネント（ノード）の動的障害回復能力が提供される。
【００４１】
図１０を参照すると、障害マネージャ５９についての処理が示されている。それぞれのノードホストは、ノードマネージャ５２とともに障害マネージャ５９を動作させる。障害マネージャ５９およびノードマネージャ５２は、グローバルノードマップとローカルノードマップを共有する。バックアップノードが優先ノードに提供されるたびに、障害マネージャ５９は、すべての障害マネージャ（グローバルデータフローマップを用いて）にバックアップノードを通知する（１２２）。優先ノードおよびバックアップノードのノードｉｄは、この通知内容に含まれている。ノードｉｄは、ノードホストおよび聞き取りポートの目的地ＩＰアドレスを含んでいる。優先ノードが、ノードホストで動作するノードのうちの１つの目的地ノードであるかどうかを、障害マネージャは判定する。優先ノードが目的地の１つである場合、ノード中の障害マネージャは通知において動作を行う（１２６）。そうでない場合、障害マネージャは、この通知を無視する。障害マネージャは、優先目的地ノードについてのバックアップノードリストを構築する。
【００４２】
図１１を参照すると、各ノードにある障害マネージャ５９は、「健全な」インターフェースをサポートする。健全なインターフェース測定は、ノードが十分なＣＰＵ時間を受信している場合にノードで動作しているスレッドが利用可能なディスク領域などを十分持っているかどうかについての情報を含んでいる。障害マネージャは、「健全な」インターフェースを用いて、「健全な」状況についてノードホストの各ノードを定期的にポーリングする（１３２）。ノードマネージャはまた、ノードホストの各ノードの性能レベルを監視する。「性能」測定には、１秒あたりにどれだけ多くのＮＡＲが処理されるか、どれだけ多くの空きメモリがあるか、どれだけ多くの空きディスク領域があるかを含んでいる。ＮＭは、障害マネージャとこれらの「性能」測定を共有する。
【００４３】
ローカル・データ・マネージャ／遠隔データマネージャは常に、このディレクトリ名が変化したかどうかについて検討することなく、ノードの出力を優先目的地ディレクトリに書き込みを行う。「健全な」ノードの測定により、セットされたしきい値を下回った場合（１３４）、障害マネージャは、他のすべての障害マネージャに通知を行う（１３６）。障害マネージャは、最初の利用可能な「健全な」バックアップノードを取得し（１３８）、優先ノードとしてマークする（１４０）ことにより、通知を行う。障害マネージャは、バックアップノードリストの終わりに、「不健全」ステータスと共に優先ノードをおく（１４２）。障害マネージャは、優先目的地ディレクトリを新たにマークされた優先ノードのディレクトリに変更する（１４４）。従って、障害マネージャ５９は、システムの他の稼動部分に影響を与えることなく、データフローを「不健全」ノードから「健全」バックアップノードに動的に変更する。システム１０は正常に機能し続ける。同じ状況は、データ損失またはシステムダウンをすることなく、ノードチェーンのＭノードのそれぞれについて、Ｎ回繰り返すことができる。
【００４４】
図１２を参照し、目的地ノードのノードホストが落ちる場合またはソースノードと目的地ノードとの間の通信リンクが落ちる場合に、ＬＤＭ／ＲＤＭは、データを目的地ノードに所定回数送ってもうまくいかない（１５１）場合を説明する。何度も失敗する場合（１５２）、目的地（優先）ノードを示す障害マネージャに、たとえば「不健全」ステータスなど、動作してないものとして通知を行う。障害マネージャは、上述の手順１３０を経てデータフローマップを修正し（１５４）、「不健全」優先ノードについてデータフローを「健全な」バックアップノードに再度向け（１５６）、データ損失またはシステムダウンをすることなく機能し続ける。「不健全」ノードが正常動作状態に戻った場合（１５８）、すべての障害マネージャは、通知を行う（１６０）。障害マネージャは、バックアップノードリストにこのノードを持つが、単純にノードに「健全」であり利用可能であるものとしてマークを行う。補足すると、障害マネージャは、ノードまたはノードホストの「性能」レベルが設定されたしきい値を下回る場合、同一の障害回復動作をとるようにすることができる。
【００４５】
本システムは、ノードおよびノードホストの「健全」および「性能」しきい値に基づくコンポーネントの余剰バックアップへの自動障害回復機能を有している。本システムは、ユーザにより設定された障害の境界に基づくデータフローマップの動的修正技術を用いる。障害の境界は、セットされたしきい値より下にノードの「健全」状況がなるようにすることができ、ノードホストにおけるシステムリソース（ディスク、メモリ、ＣＰＵの空きなど）が足りないことから、セットされたしきい値より下にノードまたはノードセットの「性能」レベルがなるようにすることができる。その結果、上述のシステムに障害耐性が得られる。
【００４６】
図１３を参照すると、回復マネージャ６１は、内容チェックポインティングおよび直近の内容チェックポイントに対する自動回復処理による、コンポーネントの障害耐性を提供している。本システムは、オペレーティングシステム機能とともにチェックポイント技術を用いてシステムコンポーネントの自動回復を提供している。システム１０の全コンポーネントは、１からＮレベル余剰性を持つ必要はないが上述のように持つことはできる。
【００４７】
ノードマネージャ５２、ローカル・データ・マネージャ５４、遠隔データマネージャ５６、管理サーバ、および管理ＧＵＩまたはクライアントなどのコンポーネントは、その処理内容を継続的にチェックポイントする。障害処理１７０に対する障害は、存続したディスクベースのファイルと同じく、インメモリオブジェクトとしてその処理内容を維持する（１７２）各コンポーネントを持っている。従ってこれらのファイルは、すべてチェックポイントされている。障害および続いての回復（１７４）の場合、各システムコンポーネントは、直近の（最後にチェックポイントされた）処理内容から再スタートすることができる。
【００４８】
コンポーネントの処理内容の部分以外では、システム１０の全部のコンポーネントの処理内容における全ての変化は、単一の／微小な処理であり、容易にチェックポイントされる。しかしながら、ノードについては、各ノードを処理し、出力ファイルへの書き込みを行い、入出力ＮＡＲインデックスを更新し、新たな入出力ファイル（必要な場合）の書き込みを行うのは、単一の微小な処理としてなされる必要がある複数ステップを有している。
【００４９】
各システムノードおよびコンポーネントは、処理コンテクストを持っている。処理コンテクストの内容は、ノードによって異なるものである。たとえば、ノードの処理内容は、構成ファイル中のエントリ、入力ＮＡＲファイル名、出力ＮＡＲファイル名、および出力ＮＡＲインデックスを含んでいる。管理サーバの処理内容は、ノードマネージャテーブル、グローバルノードマップなどを含んでいる。ノードの構成ファイルにあるエントリなどの処理コンテクストは、比較的静的であり、頻繁には変化しない。管理サーバのノードマネージャテーブルなどの処理コンテクストは、ノードマネージャが追加されるか除去されるかの場合にのみ変化する。管理サーバのグローバルノードマップおよび各ノードマネージャのローカルノードマップは、ノードが追加されるか、ノードマップから除去されるか、ノードステータスが（動作中から停止へなど）変化するかの場合にのみ変化する。一方で、入力ＮＡＲインデックスおよび出力ＮＡＲインデックスなどの処理コンテクストは、各ＮＡＲの処理および書き込みと共に変化する。
【００５０】
システム１０において、これらのコンポーネントは、「永久の」処理（Ｕｎｉｘのための“ＩｎｅｔＤ”の管理下またはＮＴのためのＮＴサービスとして）動作する。従って、チェックポイントされたコンポーネントが落ちる場合、オペレーティングシステムは、自動的にチェックポイントされたコンポーネントを立ち上げる。コンポーネントのそれぞれは、直近のチェックポイントされた状態から自動的に再スタートする。同じ自動回復処理技術をノードについても使用することができるが、ノード処理コンテクストはチェックポイントするには比較的複雑なので、上述の１からＮの余剰度を通してノード障害耐性が達成される。
【００５１】
特定システムにおける各アカウンティングノードは、親処理である「ノードマネージャ」の制御の下で動作する。ノードの現在の状態を、システム中に残す。システム１０における現在の状態は、処理ステータス（すなわちどのコンポーネントが動作しているか）と、無事処理されたデータの使用量のリストを含んでいる。シャットダウンがきちんと行われた場合、またはきちんとは行われなかった場合でも、システムを用いて最後にわかっている状態に修復することができる。その結果システム１０は、終了時に何が起こっているかを「思い出す」ことができ、システム１０が切断されたところから再スタートすることができる。この機能により、システムシャットダウン中に使用量データが失われないようにすることができる。従ってシステムは、きちんと再スタートすることができる。その結果システムがシャットダウンして再スタートする場合、二重のカウントや処理が起こらないように、切断されたところから各コンポーネントが処理を再開できる。
【００５２】
システム１０は、バックアップおよび回復目的のために受信されたレコードのコンポーネント格納コピーを持つことができ、それによりデータを下流のシステム障害時に再処理できるようにしている。システムはまた、コンポーネント障害回復機能を有している。すなわち、下流のコンポーネントが障害する場合に、各コンポーネントは、ローカルまたは遠隔バックアップコンポーネントにスイッチすることができる。全コンポーネントのルーティング機能により、必要となる特定位置で信頼できる方法を実現することができる。たとえば、データの余剰性は、単一のデータストリームを多重ストリームにマルチキャストすることにより、実現することができる。
【００５３】
本発明は、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、その組み合わせで実現することができる。本発明の装置は、プログラム可能なプロセッサで実行するための機会で読み出し可能な格納装置で明らかに実現できるコンピュータプログラムとして具現化することができる。方法の動作は、入力データの演算および出力の生成により本発明の機能を実行するための、プログラムの命令を実行するプログラム可能なプロセッサにより、実行することができる。本発明は、プログラム可能なシステムで実行可能な１つまたはそれ以上のコンピュータプログラムで具現化するのが好ましい。プログラム可能なシステムは、データ格納システムにデータおよび命令を送受信する少なくとも１つのプログラム可能なプロセッサと、少なくとも１つの入力装置と、少なくとも１つの出力装置とを含む。各コンピュータプログラムは、ハイレベル手順またはオブジェクト指向プログラミング言語で実現することができ、必要な場合はアセンブラまたは機械語で実現することができる。いずれにしても、言語はコンパイルまたは解釈された言語にすることができる。適切なプロセッサには、例として汎用および特定用途のマイクロプロセッサを含む。一般的にプロセッサは、リードオンリメモリやランダムアクセスメモリからのデータやメモリを受信する。一般的にコンピュータは、データファイルを格納するための１つまたは複数の大量格納装置を含んでいる。格納装置にはたとえば、磁気ディスク、内部ハードディスク、リムーバブルディスク、磁気光ディスク、光ディスクなどがある。コンピュータプログラム命令やデータを構成するのにふさわしい格納装置は、あらゆる型の不揮発性メモリを含んでいる。不揮発性メモリにはたとえば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ装置などの半導体メモリ装置、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、磁気光ディスク、ＣＤ＿ＲＯＭディスクがある。上述のいずれも、ＡＳＩＣ（特定用途向け集積回路）により供給したり、ＡＳＩＣに組み込んだりすることができる。
【００５４】
上述のタイプのコンピュータの例が図１４に示されている。図１４は、本発明の装置を具現化または方法を実行するのに適したプログラム可能な処理システム３１０のブロック概略図を示している。システム３１０は、プロセッサ３２０、ランダムアクセスメモリ（ＲＡＭ）３２１、プログラムメモリ３２２（たとえばフラッシュメモリなどの書き込み可能なリードオンリーメモリ）、ハードディスクドライブコントローラ３２３、入出力（Ｉ／Ｏ）コントローラ３２４、これに結合されたプロセッサ（ＣＰＵ）バス３２５を含んでいる。システム３１０は、ＲＯＭにあらかじめプログラムしておくか、もしくはたとえば他のソース（たとえばフロッピディスク、ＣＤ−ＲＯＭ、または他のコンピュータ）からプログラムをロードすることによりプログラム（および再プログラム）することができる。
【００５５】
ハードディスクドライブコントローラ３２３は、本発明を構成するプログラムおよび本発明を構成するデータを含む、実行可能なコンピュータプログラムを格納するためのハードディスク３３０に結合されている。Ｉ／Ｏコントローラ３２４は、Ｉ／Ｏバス３２６によりＩ／Ｏインターフェース３２７に結合されている。Ｉ／Ｏインターフェース３２７は、シリアルリンク、ローカルエリアネットワーク、無線リンク、パラレルリンクなどの通信リンクを介して、アナログまたはデジタルの形式でデータの送受信を行う。特許請求の範囲内で他の実施形態も可能である。
【図面の簡単な説明】
【図１】分散データ収集／処理システムを含む、ネットワークシステムのブロック概略図。
【図２】図１の分散データ収集／処理システムを用いたネットワークアカウンティングを論理的に見たブロック概略図。
【図３】図１の分散データ収集／処理システムにおけるデータ処理ドメインのブロック概略図。
【図４】データフローマネジメントに用いられるキュー割り当てを示すチャート。
【図５】データフローマネジメントマップを示すブロック概略図。
【図６】図１のシステムにおけるデータフローマネジメントのブロック概略図。
【図７】キュー構造を示すブロック概略図。
【図８】一般的なノード機能処理のブロック概略図。
【図９】データフローマネジメント処理下のレコード移転を示すフローチャート。
【図１０】障害マネージャのための処理を示すフローチャート。
【図１１】たとえば障害マネージャにおける健全なインターフェース処理などの処理ステータスのための処理のフローチャート。
【図１２】下流の障害のための障害マネージャでの処理のフローチャート。
【図１３】回復マネージャでのチェックポイント処理を示すフローチャート。
【図１４】図１のシステムのノードホストおよび他の装置として用いることができるプログラム可能なシステムのブロック概略図。
【符号の説明】
Ｈ１−Ｈ４  ホストコンピュータ
１２    管理サーバ
１４    管理クライアント
１６    アプリケーション
５２    ノードマネージャ
９３    ＬＤＭ
９９−１００  ＲＤＭ
【図１】
2004518335.tif 000003
【図２】
2004518335.tif 000004
【図３】
2004518335.tif 000005
【図４】
2004518335.tif 000006
【図５】
2004518335.tif 000007
【図６】
2004518335.tif 000008
【図７】
2004518335.tif 000009
【図８】
2004518335.tif 000010
【図９】
2004518335.tif 000011
【図１０】
2004518335.tif 000012
【図１１】
2004518335.tif 000013
【図１２】
2004518335.tif 000014
【図１３】
2004518335.tif 000015
【図１４】
2004518335.tif 000016
【国際公開パンフレット】
2004518335.tif 000017
2004518335.tif 000018
2004518335.tif 000019
2004518335.tif 000020
2004518335.tif 000021
2004518335.tif 000022
2004518335.tif 000023
2004518335.tif 000024
2004518335.tif 000025
2004518335.tif 000026
2004518335.tif 000027
2004518335.tif 000028
2004518335.tif 000029
2004518335.tif 000030
2004518335.tif 000031
2004518335.tif 000032
2004518335.tif 000033
2004518335.tif 000034
2004518335.tif 000035
2004518335.tif 000036
2004518335.tif 000037
2004518335.tif 000038
2004518335.tif 000039
2004518335.tif 000040
2004518335.tif 000041
2004518335.tif 000042
2004518335.tif 000043
2004518335.tif 000044
2004518335.tif 000045
2004518335.tif 000046
2004518335.tif 000047
2004518335.tif 000048
2004518335.tif 000049
2004518335.tif 000050
2004518335.tif 000051
2004518335.tif 000052
2004518335.tif 000053
2004518335.tif 000054
2004518335.tif 000055
【国際公開パンフレット（コレクトバージョン）】
2004518335.tif 000056
2004518335.tif 000057
【国際公開パンフレット（コレクトバージョン）】
2004518335.tif 000058
2004518335.tif 000059
2004518335.tif 000060
2004518335.tif 000061
2004518335.tif 000062
2004518335.tif 000063
2004518335.tif 000064
2004518335.tif 000065
2004518335.tif 000066
2004518335.tif 000067
2004518335.tif 000068
2004518335.tif 000069
2004518335.tif 000070
2004518335.tif 000071
2004518335.tif 000072
2004518335.tif 000073
2004518335.tif 000074
2004518335.tif 000075
2004518335.tif 000076
2004518335.tif 000077
2004518335.tif 000078
2004518335.tif 000079
2004518335.tif 000080
2004518335.tif 000081
2004518335.tif 000082
2004518335.tif 000083
2004518335.tif 000084
2004518335.tif 000085
2004518335.tif 000086
2004518335.tif 000087
2004518335.tif 000088
2004518335.tif 000089
2004518335.tif 000090
2004518335.tif 000091
2004518335.tif 000092
2004518335.tif 000093
2004518335.tif 000094
2004518335.tif 000095
2004518335.tif 000096
【国際調査報告】
2004518335.tif 000097