データ処理アプリケーションの監査

著者らは特許

G06F17/30 - 情報検索;そのためのデータベース構造
H04M15/00 - 登算,時間制御または時間表示のための配置

の所有者の特許 JP2016517565:

アビニシオ テクノロジー エルエルシー

 

方法は、複数のモジュールを有するアプリケーションで受け取られたデータ記録のストリームからの、データ記録の群中のデータ記録の第1の量を決定するステップを含む。方法は、アプリケーションのモジュールのうちの1つ以上に関して、データ記録の群の処理時にモジュールによって出力されたデータ記録のそれぞれの第2の量を決定するステップを含む。方法は、データ記録の第1および第2の量が規則を満たすかどうかを判定するステップを含む。この規則は、アプリケーションで受け取られたデータ記録の量と、アプリケーションの1つまたは複数のモジュールによって出力されたデータ記録の量との間のターゲット関係を示す。

 

 

本明細書は、データ処理アプリケーションの監査に関する。
携帯電話通信システムでは、通信(たとえば、電話コール)を表すデータは、その通信データをビリングデータに変換するために、データ処理アプリケーションによって処理される。
一般的な態様では、方法は、複数のモジュールを有するアプリケーションで受け取られたデータ記録のストリームからの、データ記録の群中のデータ記録の第1の量を決定するステップを含む。方法は、アプリケーションのモジュールのうちの1つ以上に関して、データ記録の群の処理中にモジュールによって出力されたデータ記録のそれぞれの第2の量を決定するステップを含む。方法は、データ記録の第1および第2の量が規則を満たすかどうかを判定するステップを含む。この規則は、アプリケーションで受け取られたデータ記録の量と、アプリケーションの1つまたは複数のモジュールによって出力されたデータ記録の量との間のターゲット関係を表す。
実施形態は、以下のうちの1つ以上を含むことができる。
方法は、規則が満たされたかどうかを表す報告書を提供するステップを含む。
アプリケーションは、複数の出力ポートを含む特定の構成要素を含み、そのターゲット関係は、特定のモジュールで受け取られた記録の量が、特定のモジュールの各出力ポートを通して出力された記録の量と等しいことを表すものを含む。
アプリケーションは、受け取ったそれぞれの記録の入力量に対する記録の出力量を出力する特定のモジュールを含み、この入力量は出力量と異なっており、ターゲット関係は入力量と出力量の比を表すものを含む。
方法は、規則を指定するステップを含む。
方法は、規則の指定を受け取るステップを含む。
アプリケーションのモジュールから出力されたデータ記録の第2の量を決定するステップは、特定のモジュールから出力されたデータ記録を数えるステップを含む。
アプリケーションの特定のモジュールから出力されたデータ記録の第2の量を決定するステップは、特定のモジュールの第1の出力ポートから出力されたデータ記録を数えるステップと、第1の出力ポートから出力されたデータ記録の数、および特定のモジュールに入力されたデータ記録の数に基づいて、特定のモジュールの第2の出力ポートから出力されたデータ記録の数を計算するステップとを含む。
方法は、アプリケーションがデータ記録の群中のデータ記録を受け取るときの開始時刻と、アプリケーションがデータ記録の群中のデータ記録の処理を終了するときの終止時刻とに基づいてアプリケーションの待ち時間を決定するステップを含む。場合によっては、アプリケーションは、第1の量および第2の量が規則を満たしたときに、データ記録の処理を終了している。
方法は、データ記録の群のデータ記録のうちの特定の1つが、アプリケーションのモジュールのうちの特定の1つで処理されるときの時刻を記録するステップを含む。
方法は、記録された時刻に基づいて特定のモジュールの待ち時間を決定するステップを含む。
方法は、携帯電話システムからデータ記録を受け取るステップを含む。
データ記録は、携帯電話システムの第1のタイプのスイッチによって処理された第1のデータ記録と、携帯電話システムの第2のタイプのスイッチによって処理された第2のデータ記録とを含む。
一般的な態様では、ソフトウェアがコンピュータ可読媒体に保存される。ソフトウェアは、コンピューティングシステムに、複数のモジュールを有するアプリケーションで受け取られたデータ記録のストリームからの、データ記録の群のデータ記録の第1の量を決定させるようにするための命令を含む。命令はコンピューティングシステムに、アプリケーションのモジュールのうちの1つ以上に関して、データ記録の群の処理時にモジュールにより出力されたデータ記録のそれぞれの第2の量を決定させる。命令はコンピューティングシステムに、データ記録の第1および第2の量が、アプリケーションで受け取られたデータ記録の量と、アプリケーションの1つまたは複数のモジュールによって出力されたデータ記録の量との間のターゲット関係を表す規則を満たすかどうかを判定させる。
一般的な態様では、コンピューティングシステムが、複数のモジュールを有するアプリケーションで受け取られたデータ記録のストリームからの、データの群のデータ記録の第1の量を決定するように構成された少なくとも1つのプロセッサを含む。プロセッサは、アプリケーションのモジュールのうちの1つ以上に関して、データ記録の群の処理中にモジュールによって出力されたデータ記録のそれぞれの第2の量を決定するように構成される。プロセッサは、データ記録の第1および第2の量が、アプリケーションで受け取られたデータ記録の量と、アプリケーションの1つまたは複数のモジュールによって出力されたデータ記録の量との間のターゲット関係を表す規則を満たすかどうかを判定するように構成される。
一般的な態様では、コンピューティングシステムが、複数のモジュールを有するアプリケーションで受け取られたデータ記録のストリームからの、データ記録の群のデータ記録の第1の量を決定するための手段と、アプリケーションの1つまたは複数のモジュールに関して、データ記録の群の処理時にモジュールによって出力されたデータ記録のそれぞれの第2の量を決定するための手段と、データ記録の第1および第2の量が、アプリケーションで受け取られたデータ記録の量と、アプリケーションの1つまたは複数のモジュールによって出力されたデータ記録の量との間のターゲット関係を表す規則を満たすかどうかを判定するための手段とを含む。
諸態様は、以下の利点のうちの1つ以上を含むことができる。
携帯電話システムでは、電話コールまたは他の通信に対応するデータ記録が、ビリング記録を生成するために使用される。本明細書で説明される技法は、データ処理システムの中へ流されるデータ記録のうち、データ処理システムによって失われる、または拒否される量を低減させる助けになり得る。たとえば、データ記録をビリング記録に変換するアプリケーションでは、データ記録損失を最小限にすることが、ビリング記録が実際のアクティビティをより正確に反映して、携帯電話会社の収益の増大をもたらし得ることを確実にする助けになることができる。加えて、本明細書で説明される技法は、ある時間の周期にわたるデータ量についての情報を提供し、それによって、携帯電話会社が通信容量インフラストラクチャのアップグレードをより適切に計画することが可能になる。さらに、本明細書で説明される技法は、アプリケーションの待ち時間についての情報を提供して、アプリケーション開発者がアプリケーションの性能を改善する助けになることができる。
他の特徴および利点は、以下の説明、および特許請求の範囲から明らかになるであろう。
データ処理アプリケーションを監査するシステムのブロック図である。 例示的な監査モジュールのブロック図である。 例示的な照合調整操作の図である。 例示的なデータ処理アプリケーションのブロック図である。 例示的なデータ処理アプリケーションのブロック図である。 例示的なデータ処理アプリケーションのブロック図である。 例示的なデータ処理アプリケーションのブロック図である。 例示的な照合調整報告書の図である。 例示的な照合調整報告書の図である。 例示的な待ち時間報告書である。 流れ図である。 携帯電話記録を監査するシステムのブロック図である。 例示的なデータ量報告書の図である。 例示的なデータ量報告書の図である。 例示的なデータ量報告書の図である。
携帯電話通信記録をビリング記録に変換するアプリケーションなどのデータ処理アプリケーションは、処理するデータ記録のストリームを受信する。データ記録の一部は、失われたり、データ処理アプリケーションのモジュールによって拒否されたり、またはそれとは別にデータ処理アプリケーションによって処理されない可能性がある。データ処理アプリケーションによって受信および出力されるデータ記録の量を監視することが、これらの損失の程度を識別する助けになり得る。この監視データは、データ処理アプリケーションが適正に動作しているかどうかを判定するために使用して、携帯電話通信から適正な収益が回収できることを確実にする助けとすることができる。加えて、データ処理アプリケーションによって処理されるデータ記録の量を経時的に監視することが、電話システム容量インフラストラクチャの変更またはアップグレードについての決定を知らせる助けになり得る。
図1は、データ処理アプリケーションを監査するための技法を使用することができる例示的なデータ処理システム100を示す。システム100は、記憶デバイスまたはオンラインデータストリームとの接続など、1つまたは複数のデータの供給源を含むことができるデータ源102を含み、そのそれぞれが、様々な形式のいずれか(たとえば、データベーステーブル、スプレッドシートファイル、フラットテキストファイル、またはメインフレームで使用されるネイティブフォーマット)でデータを保存または供給することができる。実行環境104は、監査モジュール106および実行モジュール112を含む。実行環境104は、UNIX(登録商標)オペレーティングシステムの一バージョンなどの適切なオペレーティングシステムの制御のもとで、たとえば、1つまたは複数の汎用コンピュータでホストすることができる。たとえば、実行環境104は、多重ノード並列計算環境を含むことができ、この環境は、複数の中央処理装置(CPU)またはプロセッサコアを使用するコンピュータシステム、局所的な(たとえば、対称型マルチプロセッシング(SMP)コンピュータなどのマルチプロセッサシステム)または局所的に分散された(たとえば、クラスタもしくは超並列処理(MPP)として結合された複数のプロセッサ)システム、または遠隔の、もしくは遠隔に分散された(たとえば、ローカルエリアネットワーク(LAN)および/または広域ネットワーク(WAN)を介して結合された複数のプロセッサ)システム、またはこれらの任意の組合せ、からなる構成を含む。
実行モジュール112は、データ源102からデータを読み出す。データ源102になる記憶デバイスは、たとえば、実行環境104をホストするコンピュータに接続された記憶媒体に収納される、実行環境104に対して局所的なもの(たとえば、ハードドライブ108)とするか、または、遠隔接続(たとえば、クラウドコンピューティングインフラストラクチャによって提供される)を介して、たとえば、実行環境104をホストするコンピュータと通信する遠隔システムでホストされる、実行環境104に対して遠隔のもの(たとえば、メインフレーム110)とすることができる。
実行モジュール112は、1つまたは複数のデータ処理アプリケーションを実行して、データ源102から読み出されたデータを処理する。このデータ処理アプリケーションは、1つまたは複数のモジュールを含み、そのそれぞれが、モジュールで受信されたデータ記録に対しプロセスを実行する。データ処理アプリケーションによって生成された出力データ114は、元のデータ源102に保存するか、または実行環境104にアクセス可能なデータ記憶システム116に保存することができ、またはそれとは別に使用することができる。
監査モジュール106は、実行モジュール112で実行されるデータ処理アプリケーションのモジュールによるデータ記録の処理を監視する。監査モジュール106はまた、監視の結果を分析して、データ処理アプリケーションの性能を表す情報を決定する。たとえば、監査モジュール106は、データ処理アプリケーションの1つまたは複数のモジュールによって拒否されるデータ記録の量を決定することができる。監査モジュール106は、所与の時間の周期にわたってデータ処理アプリケーションによって処理されたデータ記録の量を決定することができる。監査モジュール106は、データ処理アプリケーションによってデータ記録を処理することに関連した待ち時間を決定することができる。データ処理アプリケーションの性能を表す他のものもまた、監査モジュール106によって決定することができる。監査モジュール106によって決定された性能情報に基づいて、処理の際のエラーを識別することができ(たとえば、破損したデータ記録によるエラー、意図したように機能しないデータ処理アプリケーションのモジュールによるエラーなど)、経時的なデータ処理量の傾向を調べることができ、あるいは他の分析を行うことができる。
データ記憶システム116にはまた、開発者120が実行モジュール112を構成し監視することができる開発環境118もアクセス可能である。開発環境118は、いくつかの実施態様では、指示されたリンク(作業要素すなわちデータの流れを表す)によって頂点間で接続された頂点(データ処理構成要素またはデータセットを表す)を含むデータフローグラフとしてアプリケーションを開発するためのシステムである。たとえば、そのような環境がより詳細に、参照により本明細書に組み込まれる「Managing Parameters for Graph-Based Applications」という名称の米国特許出願第2007/0011668号に記載されている。そのようなグラフベースの計算を実行するためのシステムが、参照により本明細書に組み込まれる「EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS」という名称の米国特許第5,966,072号に記載されている。このシステムにより作成されたデータフローグラフは、プロセスの間で情報を動かすため、およびプロセスの実行順序を規定するために、グラフ構成要素によって表された個々のプロセスに情報を出し入れするための方法を提供する。このシステムは、任意の利用可能な方法からプロセス間通信方法を選択するアルゴリズムを含む(たとえば、グラフのリンクによる通信経路は、TCP/IPまたはUNIX(登録商標)ドメインソケットを使用するか、または共有メモリを使用してデータをプロセス間で渡すことができる)。
実行モジュール112は、データベースシステムの異なる形を含む、データ源102を具現化できる様々なタイプのシステムからデータを受け取ることができる。このデータは、場合によりヌル値を含む、それぞれのフィールド(「属性」または「カラム」とも呼ばれる)の値を有する記録として編成することができる。最初にデータ源からデータを読み出すとき、実行モジュールは通常、そのデータ源中の記録についてのいくつかの初期フォーマット情報から開始する。状況によっては、データ源のレコード構造は、最初には知られていない可能性があり、それよりむしろデータ源またはデータの分析後に決定され得る。記録についての初期情報は、たとえば、異なる値を表すビットの数、レコード内のフィールドの順序、およびビットで表される値の種類(たとえば、文字列、符号付き/符号なし整数)を含み得る。
図2を参照すると、監査モジュール106は、データ処理アプリケーションによって処理されるデータ記録の量、データ記録のセットを処理することに関連する時間情報(たとえば、クロック時刻)、またはその両方を監視する監視エンジン200を含む。分析エンジン202は監視結果を分析して、データ処理アプリケーションが正常に動作しているか、それともエラーを伴って動作しているかを表すもの、データ処理アプリケーションの待ち時間を表すもの、またはデータ処理アプリケーション性能を表す別のものなどの、データ処理アプリケーションの性能を表す情報を生成する。
監視エンジン200は、データ処理アプリケーションで受け取られたデータ記録の量を決定することができる。たとえば、監視エンジン200は、データ処理アプリケーションによる処理が監視されることになる、本明細書では[記録セット」と呼ばれるデータ記録の群を識別することができる。データ処理アプリケーションで最初に受け取られたデータ記録の量は、記録セット中のデータ記録の量であり得る。モジュールから転送されたデータ記録の量、モジュールによって拒否されたデータ記録の量、またはそれとは別にデータ処理アプリケーションのモジュールによって処理されたデータ記録の量は、それぞれの記録セットについて監視することができる。
いくつかの例では、データ記録は、1つまたは複数のファイルからデータ処理アプリケーションが受け取ることができる。各ファイル内のデータ記録は、記録セットとして識別することができる。いくつかの例では、データ記録は、データ記録のストリームとして処理アプリケーションが受け取ることができる。たとえば、データ処理アプリケーションは、データ記録の実質的に連続のストリームをデータ処理アプリケーションに供給する待ち行列にサブスクライブすることができる。監視エンジン200は、たとえば記録セットの定義に基づいて、データ記録のストリームのサブセットを記録セットとして識別することができる。いくつかのケースでは、記録セットは、ある固定数のデータ記録を含むように定義することができる(たとえば、ストリーム内の1000個のデータ記録の各連続群を1つの記録セットとして識別することができる。)。いくつかのケースでは、記録セットは、ある固定された時間の周期にわたってデータ処理アプリケーションに流されたデータ記録を含むように定義することができる(たとえば、それぞれ連続10分間の時間周期中に流されるデータ記録を1つの記録セットとして識別することができる)。1つの記録セット中のデータ記録の量は、たとえばストリーミング速度、または単位時間当たりに流されるデータ記録の数に影響を及ぼす他の要因に応じて、記録セットごとに固定されても変化してもよい。記録セットについての他の定義もまた可能である。記録セットの定義は、たとえばユーザまたはデータ処理アプリケーションの開発者によって、固定されても指定されてもよい。
監視エンジン200は、データ処理アプリケーションから転送される記録セットによりデータ記録の量を決定することができる。モジュールが、そのモジュールの通常動作の一部として、データ処理アプリケーションからデータ記録を転送することができる。たとえば、フィルタモジュールが、フィルタ基準を満たさないデータ記録を外へ転送する(すなわち、出力する)ことができる。この例では、監視エンジンは、フィルタモジュールから転送されることが監視されている記録セット中のデータ記録の量を決定することができる。データ処理アプリケーションの最後のモジュールは、たとえばデータ記録を待ち行列に向けて発行すること、データ記録をファイルに書き込むことなどによって、データ処理アプリケーションからデータ記録を転送(すなわち、出力)することができる。この例では、監視エンジンは、データ処理アプリケーションの最後のモジュールから転送される記録セット中のデータ記録の量を決定することができる。
監視エンジン200は、データ処理アプリケーションのモジュールによって誤って拒否されるデータ記録の量を記録セットから決定することができる。たとえば、モジュールが、拒否されたデータ記録中のエラー(たとえば、フォーマットエラー、破損したデータ記録、または別のデータ記録エラー)、データ記録の処理の際のエラー(たとえば、モジュールによるデータ記録の処理時の誤動作、または別の処理エラー)、または別の種類のエラーにより、データ記録を拒否する可能性がある。
監視エンジン200は、データ記録の処理時に発生するデータ記録の量の変化を監視することができる。たとえば、ロールアップモジュールまたは結合モジュールが、複数の入力記録を単一の出力記録に合体させることができる。分割モジュールが、各入力記録を複数の出力記録に分けることができる。いくつかの例では、入力記録の量と出力記録の量との比が固定される(たとえば、4つの入力記録ごとに単一の出力記録に合体させる4:1ロールアップモジュール)。いくつかの例では、この比は可変である(たとえば、共通結合キーを共有する特定の時間範囲内のいかなる入力記録も単一の出力記録に合体させる結合モジュール)。
いくつかの例では、監視エンジン200は、データ処理アプリケーションの特定の点で記録の量を決定するデータ処理アプリケーションの1つまたは複数の監査モジュールからデータを受け取ることができる。たとえば、監査モジュールをデータ処理アプリケーションへの各入力部、データ処理アプリケーションからの各転送出力部、データ処理アプリケーションからの各拒否出力部、およびデータ記録の量を変える各モジュールに配置することができる。これらの監査モジュールは、各点でデータ記録の量を決定することができる。いくつかの例では、監査モジュールは、データ処理アプリケーションの別々のモジュールである。いくつかの例では、監査機能は、処理モジュール自体の論理回路に含まれる。
いくつかの例では、監視エンジン200は、記録セットのデータ記録を処理することに関連した時間情報(たとえば、クロック時刻)を監視する。たとえば、監視エンジン200は、記録セットの特定のデータ記録(たとえば、最初のデータ記録、最後のデータ記録、または1つもしくは複数の他の特定のデータ記録)が、データ処理アプリケーションの特定のモジュールで受け取られるとき、データ処理アプリケーションの特定のモジュールによって転送されるとき、データ処理アプリケーションの特定のモジュールによって拒否されるとき、またはそれとは別にデータ処理アプリケーションの特定のモジュールによって処理されるときの時刻を監視することができる。いくつかの例では、監視エンジン200は、記録セットのいずれかのデータ記録を処理することと関連付けられた最も早期のクロック時刻と、記録セットのいずれかのデータ記録を処理することと関連付けられた最も後期のクロック時刻とを監視する。
いくつかの例では、監視結果(たとえば、データ処理アプリケーションの様々な点におけるデータ記録の量、データ記録処理に関連した時間など)が、監視データベース204などのデータ構造体に保存される。
分析エンジン202は、記録セットの処理の監視結果を分析して(たとえば、監視データベース204に保存された結果にアクセスすることによって)、データ処理アプリケーションが正常に動作しているか、それともエラーを伴って動作しているかを表すもの、データ処理アプリケーションの待ち時間を表すもの、またはデータ処理アプリケーション性能を表す別のものなど、データ処理アプリケーションの性能を表す情報を生成する。
いくつかの例では、分析エンジンは、監視エンジン200によって決定されたデータ記録の量に照合調整規則を適用する。照合調整規則は、データ処理アプリケーションで受け取られたデータ記録の量、データ処理アプリケーションから転送されたデータ記録の量、データ処理アプリケーションによって拒否されたデータ記録の量などの間のターゲット関係を反映する式(たとえば、演算式)である。特定の記録セットの処理で満たされない照合調整規則は、記録セットの処理時にエラーが発生したことを表示し得る。特定の記録セットの処理で満たされる照合調整規則は、記録セットの処理時にデータ処理アプリケーションが適正に動作したことを表示し得る。いくつかの例では、記録セットの処理への照合調整規則の適用結果(たとえば、照合調整規則が満たされたかどうか)は、監視データベース204に保存することができる。
1つの例示的な照合調整規則は、データ処理アプリケーションで受け取られたデータ記録の量が、データ処理アプリケーションから転送されたデータ記録の量に、データ処理アプリケーションによって拒否されたデータ記録の量を加えたものに等しくなるべきことを指定することができる。
入った記録−転送された記録−拒否された記録=0
この照合調整規則が特定の記録セットの処理で満たされない場合、これは、誤動作しているモジュール(たとえば、そうすべきでないときに記録を受け取る、転送する、かつ/または拒否するモジュール)、モジュールの不適正な構成、または別の性能上の問題などのエラーがあることを示している可能性がある。
別の例示的な照合調整規則は、データ処理アプリケーションで受け取られたデータ記録の量が、データ処理アプリケーションから転送されたデータ記録の量に等しくなるべきことを指定することができる。
入った記録−転送された記録=0
この照合調整規則は、あるデータ記録がデータ処理アプリケーションのいずれかのモジュールから誤って拒否された場合には、満たされない可能性がある。この照合調整規則を満たさない記録セットの処理は、1つまたは複数のデータ記録の問題(たとえば、フォーマット問題、または破損したデータ記録)、データ処理アプリケーションのモジュールの不適正な構成または誤動作、または別の性能上の問題があることを示している可能性がある。
他の照合調整規則もまた実施可能である。たとえば、4:1ロールアップモジュールを含むデータ処理アプリケーションの照合調整規則では、部分的に、ロールアップモジュール前のデータ記録の量がロールアップモジュール後のデータ記録の量の4倍になることを指定することができる。
データ処理アプリケーションの照合調整規則は、たとえば、データ処理アプリケーションの開発者またはユーザが指定することができる。照合調整規則は、たとえばデータ処理アプリケーションを通るデータ記録の流れの分析に基づいて、分析エンジン202が自動的に開発することができる。特定のデータ処理アプリケーションと関連する照合調整規則は、規則データベース206などのデータ構造体に保存することができる。
いくつかの例では、照合調整規則は、データ処理アプリケーションの各個別モジュールの照合操作を合体させることによって開発することができる。照合調整操作はまた、規則データベース206に保存することもできる。図3を参照すると、データ処理アプリケーションに含めることができる個々のモジュールにそれぞれが対応する例示的な照合調整操作300のセットが示されている。たとえば、サブスクライブ操作302は、データ記録のストリームを待ち行列からデータ処理アプリケーションの中に読み出すサブスクライブモジュールに対応する。サブスクライブ操作は、サブスクライブモジュールによって読み出されたデータ記録の量を照合調整規則に加える命令を含む。フィルタモジュールに対応するフィルタ操作304は、データ処理アプリケーションからフィルタモジュールの選択解除ポートを経由して転送されたデータ記録の量を引き算する命令を含む。フィルタ操作304はさらに、データ記録からの転送が正常(すなわち、無エラー)操作であることの命令を含む。翻訳モジュールに対応する翻訳操作306は、翻訳モジュールによって拒否されたデータ記録の量を引き算し、その引き算をエラー操作として表す命令を含む。
いくつかの例では、分析エンジン202は、記録セットのデータ記録を処理することに関連した時間を分析して、データ処理アプリケーション全体としての待ち時間(「終端間待ち時間」と呼ばれる)、データ処理アプリケーションの1つまたは複数のモジュールの待ち時間などの、1つまたは複数の待ち時間を決定することができる。たとえば、データ処理アプリケーションによる記録セットの処理に関する終端間待ち時間は、記録セットのいずれかのデータ記録と関連付けられた最も早期の時刻と、データ処理アプリケーションに対する照合調整規則が記録セットの処理に関して満たされたときの時刻(すなわち、記録セットのいずれかのデータ記録と関連付けられた最も後期の時刻)との間の時間差と定義することができる。データ処理の特定のモジュールの待ち時間もまた、たとえば記録セットのいずれかのデータ記録を特定のモジュールで処理することと関連付けられた最も早期の時刻と、記録セットのいずれかのデータ記録を特定のモジュールで処理することと関連付けられた最も後期の時刻との間の時間差を決定することによって、決定することができる。いくつかの例では、記録セットの処理の待ち時間を表すデータは、監視データベース204に保存することができる。
図4を参照すると、例示的なデータ処理アプリケーション400の性能は、監査モジュール402a、402b、402c、402d、402e(一括して「402」と呼ばれる)によって監査することができる。各監査モジュール402は、監査モジュールを通過する記録の量を数え、その量を示すメッセージを監査モジュール106に与える。各監査モジュール402はまた、1つまたは複数の特定の記録(たとえば、各記録セットの最初の記録、各記録セットの最後の記録、100番目の記録ごと、すべての記録など)が監査モジュールを通過する時刻を記録することもできる。
例示的なデータ処理アプリケーション400では、データ記録のストリームが待ち行列404から受け取られる。受け取られたデータ記録のストリームは監査モジュール402aを通過し、このモジュールは各記録セットの記録の量(A)を数える。記録セットの定義は、監査モジュール402aの論理回路に組み込むか、または監査モジュール106によって監査モジュール402aに伝えることができる。
記録セットは、フィルタモジュール406で処理され、このモジュールは、フィルタの基準を満たさないデータ記録を選択解除ポート408を通して転送する。転送されたデータ記録は監査モジュール402bを通過し、このモジュールは、各記録セット中の転送データ記録の量(B)を数える。フィルタの基準を満たすデータ記録は、フィルタモジュール406から出力ポート410を通して出力され、再フォーマットモジュール412で処理される。再フォーマットモジュール412で指定されるフォーマット基準を満たさないデータ記録はどれも、拒否ポート414を通して誤って拒否される。拒否されたデータ記録は監査モジュール402cを通過し、このモジュールは、各記録セット中の転送データ記録の量(C)を数える。残りのデータ記録は、再フォーマットモジュール412から出力ポート416を通して出力される。
次に、データ記録は翻訳モジュール418で処理される。翻訳モジュールは、データ記録を転送または拒否しない。翻訳モジュールに入るデータ記録の量は、翻訳モジュールから出るデータ記録の量と合致するので、翻訳モジュールに対する監査は行われない。次に、論理モジュール420がデータ記録を処理する。論理モジュール420は、待ち行列422への発行のためにデータ記録を転送する。待ち行列422への発行の前に、監査モジュール402dが、各記録セット中の転送されたデータ記録の量(D)を数える。監査モジュール402eが、待ち行列422から誤って拒否されるデータ記録の量(E)すべてを数える。
データ処理アプリケーション400の例示的な照合調整規則は、次のように表現することができる。
A−B−C−D−E=0
つまり、データ処理アプリケーションで受け取られた記録セット中のデータ記録の量(A)から、拒否されたデータの量(C、E)を引いて、データ処理アプリケーションから転送されたデータ記録の量(B、D)を引くと、満たされるべき照合調整規則ではゼロになる(すなわち釣り合う)はずである。処理が照合調整規則を満たす記録セットは、データ処理アプリケーションが適正に動作している可能性があることを示す。処理が照合調整規則を満たさない記録セットは、データ処理アプリケーションの実行時に問題があり得ることを示す。たとえば、照合調整規則が釣り合わないことは、モジュール(たとえば、翻訳モジュール418)が予想外にデータ記録を拒否していることを示している可能性がある。照合調整規則が釣り合わないことはまた、モジュールが、たとえばロールアップ動作または結合動作によってデータ記録の量を予想外に変えていることを表示している可能性もある。他の性能上の問題もまた、照合調整規則が釣り合うことの失敗によって表示され得る。
データ処理アプリケーション400の別の例示的な照合調整規則は、次のように表現することができる。
A−B−D=0
つまり、データ処理アプリケーションで受け取られた記録セット中のデータ記録の量(A)から、正常動作のもとで転送されたデータ記録の量(B、D)を引くと、満たされる照合調整規則ではゼロになるはずである。処理が照合調整規則を満たす記録セットは、データ処理アプリケーションのいずれかのモジュールから誤って拒否されているデータ記録がない(たとえば、CおよびEがゼロである)ことを示す。処理が照合調整規則を満たさない記録セットは、データ処理アプリケーションの1つまたは複数のモジュールから誤って拒否されているデータ記録がある(たとえば、Cおよび/またはEがゼロではない)ことを表示している可能性がある。他の性能上の問題もまた、照合調整規則が釣り合うことの失敗よって表示され得る。
図5を参照すると、結合モジュール508を含む例示的なデータ処理アプリケーション500の性能を監査することができる。例示的なデータ処理アプリケーション500では、データ記録の第1の記録セットが第1の待ち行列504から受け取られ、第1の記録セット中のデータ記録の量(A)が監査モジュール502aで数えられる。データ記録の第2の記録セットが第2の待ち行列506から受け取られ、第2の記録セット中のデータ記録の量(B)が監査モジュール502bで数えられる。
結合508は、第1の記録セットからのデータ記録と第2の記録セットからのデータ記録とを単一セットのデータ記録に合体させる。たとえば、結合モジュール508は、2つの記録セットからの関連データ記録を相関させることができる。相関時に拒否されるデータ記録はどれも、拒否ポート510を通って誤って拒否される。拒否されたデータ記録(C)の量は、監査モジュール502cで数えられる。相関させたデータ記録の単一のセットは、出力待ち行列512に向けて発行されるようにデータ処理アプリケーション500から転送される。監査モジュール502dは結合モジュールから転送されたデータ記録の量(D)を数える。
データ処理アプリケーション500の例示的な照合調整規則は、次のように表現することができる。
A+B−C−D=0
図6を参照すると、ロールアップモジュール606を含む例示的なデータ処理アプリケーション600の性能を監査することができる。この例示的データ処理アプリケーション600では、データ記録のストリームが、データ処理アプリケーション600で待ち行列604から受け取られる。記録セット中のデータ記録の量(A)は、監査モジュール602aで数えられる。データ記録は、4つのデータ記録の各連続セットを単一のデータ記録に合体させる4:1ロールアップモジュール606でロールアップされる。あるロールアップモジュールが、そのロールアップモジュールによって受け取られたデータ記録の量(B')と出力されたデータ記録の量(B”)との間のマッピング関係(たとえば、比、差、または別の関係)を指定するメタデータと関連付けられる。したがって、4:1ロールアップモジュール606では、B’=4、およびB”=1になる。
ロールアップモジュール606は、出力待ち行列608に向けて発行されるように、ロールアップされたデータ記録をデータ処理アプリケーション600から転送する。監査モジュール602bは、ロールアップモジュール606から転送されたデータ記録の量(B)を数える。
データ処理アプリケーション600の例示的な照合調整規則は、次のように表現することができる。
A−B=0
ここでB=−B’+B”である。
照合調整規則を構築する同様の手法を、各データ記録を複数のデータ記録に分けるモジュールを含むデータ処理アプリケーションに対し取ることができる。
図7を参照すると、ロールアップモジュール706を含む例示的なデータ処理アプリケーション700の性能を監査することができる。この例示的データ処理アプリケーション700では、データ記録のストリームが待ち行列704から受け取られる。受け取られたデータ記録のストリームは監査モジュール702aを通過し、このモジュールは、各記録セット中の記録の量(A)を数える。
データ記録は、結合キーに基づいて4つのデータ記録のセットを単一の出力データ記録に合体させる4:1ロールアップモジュール706によってロールアップされる。つまり、たとえば共通結合キーを共有する各4つの記録が単一の出力データ記録にロールアップされる。ロールアップモジュールは、受け取られたデータ記録の量(B')と、ロールアップモジュールによって出力されたデータ記録の量(B")との間のマッピング関係を指定するメタデータと関連付けられる。したがって、4:1ロールアップモジュール606では、B’=4およびB”=1になる。上述のロールアップモジュール606とは違って、ロールアップモジュール706はまた、ロールアップモジュール706の動作中にデータ記録が通って拒否され得る拒否ポート708を含むこともできる。拒否されたデータ記録の量(C)は、監査モジュール702bで数えられる。
ロールアップモジュール706は、待ち行列708に向けた発行のために、ロールアップされたデータ記録を転送する。監査モジュール702cは、各記録セット中の転送されたデータ記録の量(B)を数える。
データ処理アプリケーション700の例示的な照合調整規則は、次のように表現することができる。
A−B−C=0
ここで、B=−B’+B”である。
ロールアップモジュールによって拒否されたデータ記録の実際の量(C)がどのように出力データ記録の量(B)と関係があるかを決定することは複雑になり得る。たとえば、ロールアップモジュール706で実行される初期化プロセス中にデータ記録が拒否された場合、そのデータ記録は拒否される。しかし、後で受け取られたデータ記録が同一の結合キーを有する場合などでは、拒否されたデータ記録に対応する出力データ記録が依然として生成され得る。ロールアップモジュール706で実行されるロールアッププロセス中にデータ記録が拒否された場合には、そのデータ記録は拒否される。しかし、同一の結合キーを有する他のデータ記録を含む出力データ記録は、依然として生成され得る。ロールアップモジュール706で実行される最終決定プロセス中にデータ記録が拒否された場合には、4つのロールアップされた入力データ記録に対応する単一の出力データは拒否される。
一例では、この複雑さは、ロールアップモジュール706に入力され出力されるデータ記録をマッピングすることによって対処することができる。たとえば、ロールアップモジュール706に入力される各データ記録を識別するベクトルを累算することができる。各出力データ記録に対応する入力データ記録は、識別し、ベクトルによって識別された入力データ記録と比較することができる。ベクトルによって識別されるいかなるデータ記録も、出力データ記録中に現われないものを除いて、拒否されると考えることができる。
一例では、ロールアップモジュール706に入力される各データ記録は、ヘッダなどの関連識別メタデータを有することができる。ロールアップ構成要素に入力される各データ記録の識別メタデータは、ベクトルに累算することができる(たとえば、V={H1,H2,H3,...,Hn})。各出力データ記録は、出力データ記録にロールアップされた各入力データの識別メタデータを含む、ヘッダなどの関連識別メタデータを有することができる。つまり、たとえば入力データ記録H、H、HおよびHをロールアップすることによって形成された出力データ記録は、集合ヘッダHを有することができる。入力データ記録のベクトルを各出力データ記録の集合ヘッダと比較することによって、ロールアップモジュール706の実行中に拒否されるかまたは失われたデータ記録を識別することができる。この比較に基づいて決定された拒否データ記録または損失データ記録の量は、ロールアップモジュール706によって拒否されたデータ記録の量(C)と考えることができる。いくつかの例では、出力データ記録の集合ヘッダは、データ処理アプリケーション700の任意の後続のモジュールを通して搬送される。いくつかの例では、集合ヘッダは、ロールアップモジュール706の監査が完了した後に簡略化される。たとえば、集合ヘッダHは、ロールアップモジュールの監査の後でHに簡略化することができる。
複数の記録セットにわたるデータ処理アプリケーションの照合調整実施により、データ処理アプリケーションの動作、データ処理アプリケーションの動作に関する何らかの問題の存在、データ処理アプリケーションの動作の際の時間ベース変動、ならびにデータ処理アプリケーションの他の動作特性についての洞察を得ることができる。
図8を参照すると、例示的な照合調整報告書800は、ある特定のデータ処理アプリケーションによって処理された1820個の記録セットの照合調整状態の円グラフ802を含む。記録セットの大部分はうまく照合調整されて、データ処理アプリケーションに対する照合調整規則が、記録セット(区域804)を処理した後に満たされたことを意味する。8つの記録セットで照合調整が失敗し(区域806)、2つの記録セットが、円グラフ802が表示された時刻になお照合調整を保留していた(区域808)。
いくつかの例では、照合調整報告書800は、対話型ユーザインターフェースで提示することができる。ユーザは、円グラフ802の1つの区域を選択して(たとえば、クリックする、軽くたたく、上でマウスを動かす、または別の方法で選択することによって)、その区域で表された記録セットについてのより多くの情報を受け取ることができる。たとえば、区域806を選択することによって、ユーザには、照合調整が失敗した8つの記録セットについてデータ処理アプリケーションの各監査モジュールで数えられたデータ記録の量のリストまたは表が提示され得る。この情報に基づいて、ユーザは、記録セットが照合調整しなくなった問題が発生したデータ処理アプリケーション中の点を識別することが可能であり得る。ユーザインターフェースはまた、ユーザが、円グラフに表示された照合調整のタイプを選択すること(たとえば、ある特定のモジュールの終端間照合調整または照合調整)、ならびに照合調整報告書800の表示の他の態様を制御することを可能にすることもできる。
図9を参照すると、別の例示的な照合調整報告書900は、データ処理アプリケーションの特定のモジュールの内外に転送されたデータ記録(報告書902)と、データ処理アプリケーション全体として内外に転送されたデータ記録(報告書904)との集合量を示す。この特定のモジュールの照合調整報告書902は、1445個のデータ記録の記録セットがモジュール(906)で受け取られ、このモジュールから外に(908)またはモジュールの中に(910)転送された記録がなく、1445個の記録がモジュール(912)によって出力されたことを表示する。つまり、モジュールの中への記録の量は、モジュールから外への記録の量と合致し、記録セットは、このモジュールでは照合調整した。データ処理アプリケーションの終端間照合調整の照合調整報告書904は、729個のデータ記録の記録セットが受け取られ(914)、729個のデータ記録がデータ処理アプリケーションから外へ転送され(916)、929個のデータ記録がデータ処理アプリケーションの中に転送され(918)、データ処理アプリケーションによっては記録が出力されなかった(920)ことを示す。データ処理アプリケーションの中への記録の量は、データ処理アプリケーションから外への記録の量と合致しないので、このデータ処理アプリケーションでは、記録セットは照合調整が失敗した。
図10を参照すると、待ち時間報告書1000は、データ処理アプリケーションによって処理された記録セットについて照合調整に対する時間を示す棒グラフ1002を含む。記録セットの大多数は一分以内に照合調整した(棒1004)。少数の記録セットが、照合調整するのに2時間も要した(棒1006)。待ち時間報告書は、対話型ユーザインターフェースについて提示することができる。ユーザは、棒を選択して(たとえば、クリックする、軽くたたく、上でマウスを動かす、または別の方法で選択することによって)、その棒で表された記録セットについてより多くの情報を受け取ることができる。たとえば、図示の例では、ユーザは、10分以内に照合調整した記録セットを表す棒1008を選択した。ポップアップウインドウ1010が、選択された棒1008について照合調整のタイプ(終端間照合調整)、照合調整時間(10分)、およびデータ記録の量(14772個の記録)を表示する。待ち時間報告書1000はまた、棒グラフで表示される照合調整のタイプを選択すること(たとえば、ある特定のモジュールの終端間照合調整または照合調整)、記録数、総記録との比率または他の表示としてデータを表示すること、ならびに待ち時間報告書1000の表示の他の態様を、ユーザが制御することを可能にする。
待ち時間情報は、データ処理アプリケーション、データ源、またはその両方に関して起こり得る問題をユーザが理解する助けになり得る。たとえば、待ち時間が大きいことは、データ処理アプリケーションがサブスクライブする待ち行列が、連続的なデータのストリームを供給していないことを示している可能性がある。大きい待ち時間はまた、データ源がそのデータを十分な頻度で供給していないことを示している可能性もある。たとえば、データ処理アプリケーションのモジュールは、それがデータ源からデータを受け取るまでその計算を実行できない可能性があり、そのデータ源がデータを供給するのが遅い場合、そのモジュールがデータ処理アプリケーションに待ち時間を導入することになる。
他の照合調整報告書もまた表示することができる。たとえば、入力データ記録、拒否データ記録、または他のデータ記録の量など、経時的なデータ記録量のグラフを表示することができる。上記の例においてグラフで表示されたデータはまた、表形式または他の形式で表示することもできる。
図11を参照すると、データ処理アプリケーションを監査する一般的な手法で、複数のモジュールを有するアプリケーションで受け取られたデータ記録の群のデータ記録の第1の量を決定することができる(1100)。たとえば、ある記録セットが識別され、その記録セット中のデータ記録の量が決定される。アプリケーションモジュールのうちの1つまたはそれ以上について、データ記録の群の処理中にモジュールから出力されるデータ記録それぞれの第2の量を決定することができる(1102)。たとえば、モジュールによって転送されるデータ記録の量、もしくはモジュールによって拒否されるデータ記録の量、またはその両方が決定される。
データ記録の第1および第2の量が規則を満たすかどうかの決定を行うことができ、ここで規則は、アプリケーションで受け取られたデータ記録の量と、アプリケーションの各構成要素によって出力されたデータ記録の量との間のターゲット関係を示す(1104)。たとえば、ある規則は、アプリケーションで受け取られたデータ記録の量が、たとえば転送または拒否されることによってアプリケーションを出るデータ記録の量に等しいことを指定することができる。別の規則は、アプリケーションで受け取られたデータ記録の量が、アプリケーションから転送されたデータ記録の量に等しいことを指定することができる。別の規則は、ロールアップモジュールまたは結合モジュールなどの、データ記録の量を変えるアプリケーションのモジュールを考慮に入れることができる。
いくつかの例では、アプリケーションの待ち時間はまた、アプリケーションがデータ記録の群中のデータ記録を受け取るときの開始時刻と、アプリケーションがデータ記録の群中のデータ記録の処理を終了するときの終止時刻とに基づいて決定することもできる(1106)。
いくつかの例では、規則が満たされたかどうかを表示する報告書を提供することができる(1108)。
図12を参照すると、一例では、本明細書で説明された記録セット照合調整の手法は、携帯電話記録の処理の分析に適用することができる。携帯電話システム1200では、携帯電話1204または他の通信デバイスからの電話コールなどの通信情報1202は、1つまたは複数の基地局1206、および汎用パケット無線サービス(GPRS))コアネットワーク1208のノードで処理される。GPRSネットワークは、ゲートウェイGPRSサポートノード(GGSN)1210、およびサービングGPRSサポートノード1212(SGSN)を含み、そのどちらかまたは両方で通信情報1202を処理することができる。GGSN 1210およびSGSN 1212それぞれからの、通信情報1202の時刻、継続時間、位置などについてのデータなど、データ1214、1216は、サーバ1220でホストされるデータ分析システム1218に供給される。データ分析システム1218は、データ1214、1216を処理し、その処理データ1222を監査データ1223と共に、ビリング、分析またはさらなる処理のための下流システム1224へ送信する。
データ分析システム1218は、データ1214、1216を処理するために1つまたは複数のデータ処理アプリケーションを実行する実行モジュール1217(図1に関して上述した実行モジュール112など)を含む。たとえば、データ処理アプリケーションは、データ1214、1216をソートまたはフィルタリングすること、同じ通信情報1202に対応するSGSN 1212からのデータ1214とGGSN 1214からのデータ1216とを相関させること、またはデータ1214、1216に対し他のデータ処理を行うことができる。監査モジュール1219(図1および図3に関して上述した監査モジュール106など)は、実行モジュール1217で実行されるデータ処理アプリケーションのモジュールによるデータ1214、1216の処理を監視する。監査モジュール1219はまた、監視の結果を分析して、データ処理アプリケーションの性能を表す情報を決定する。監査データ1226はまた、分析のために、たとえばデータ分析システム1218の性能の分析のために、下流システム1224へ送信される。
たとえば、監査モジュール1219は、データ1214、1216でどれか処理時にデータ分析システム1218により誤って失われているか、または拒否されているかどうかを判定することができる。処理時にデータが失われる場合、その失われたデータで表された通信情報の料金は顧客に請求することができず、電話会社の収益の損失になる。システム開発者は、データ損失を低減させ、それによって収益を増大させるために、失われるかまたは破損したデータについての監査モジュール106からの情報を使用して、データ処理アプリケーションに変更または改善を加えることができる。
監査モジュール1219はまた、データ分析システム1218で処理されたデータの量(本明細書では「データ量」と呼ばれる)を追跡することもできる。たとえば、図13Aを参照すると、一例において監査モジュール1219は、データ分析システム1218で処理されたデータの量を1日の期間にわたって1時間ごとに示す報告書10を生成することができる。図13Bを参照すると、一例において監査モジュール1219は、GGSN 1210で処理されたデータ1214の量、およびSGSN 1212で処理されたデータ1216の量を1日の期間にわたって1時間ごとに示す報告書12を生成することができる。図13Cを参照すると、一例において監査モジュール1219は、特定の日(描写された例では、2012/05/09)の特定の時刻(描写された例では、11:00)にGGSN 1210で処理されたデータ1214の量、およびSGSN 1212で処理されたデータ1216の量を示す報告書14を生成することができる。特定の時間周期中に発生したあらゆるエラーの性質を示す報告書16もまた、生成することができる。
他の時間周期にわたるデータ量もまた追跡することができる。たとえば、データ量は、時間、日、月、または別の時間周期で追跡して、ある時間の周期にわたるデータ量の傾向を示すことができる。データ量はまた、通信の地理的特性(たとえば、通信の起点の位置、通信の宛先の位置、または通信の処理に関わるどれかの、もしくはすべての基地局1206またはノード1210、1212の位置)などの、データの1つまたは複数の特性によって追跡およびソートすることもできる。
ある時間の周期にわたるデータ量の傾向を理解することは、電話ネットワーク容量インフラストラクチャの変更またはアップグレードを計画する際の助けになり得る。一例では、1年の期間にわたり処理されたデータの量の増大を会社で用いて、追加の容量インフラストラクチャを構築することについての決定を通知することができる。一例では、地理的領域で処理されたデータの量を会社で用いて、追加の容量インフラストラクチャをどこに構築するかについての決定を通知することができる。
監査モジュール1219はまた、データ処理アプリケーションの待ち時間、データ処理アプリケーションの1つもしくは複数の特定のモジュールの待ち時間、またはその両方を決定することもできる。待ち時間情報は、たとえば、データ処理アプリケーションの問題、データ源での問題、または他の問題を識別するのに使用することができる。
一例では、再び図12を参照すると、GGSN 1210は、そのデータ1214を1分ごとにデータ分析システム1218に送信するが、SGSN 1212は、そのデータ1216を15分ごとにデータ分析システム1218に送信する。この例では、GGSNデータ1214とSGSNデータ1216を相関させる相関モジュールは、それがすでに受信しているGGSNデータ1214と相関させるために、SGSNデータ1216を15分間まで待たなければならない可能性がある。この待機により、待ち時間がデータ処理アプリケーションに導入される。システム開発者は、データの流れから生じる待ち時間についての知識を用いて、たとえばネットワーク1208の構造、データ処理アプリケーション、またはその両方に変更を加えることができる。
別の例では、待ち時間が、システム故障停止の結果としてのシステムバックログによって導入され得る。たとえば、データ分析システム1218が概してその総容量の80%で動作する場合(すなわち、データ分析システム1218で処理されるデータの量は、データ分析システム1218が処理できるデータの最大量の約80%である)、データ分析システム1218の1日の故障停止により、処理するのに5日を要するデータのバックログが発生し得る。会社がバックログ関連待ち時間についての知識を用いて、たとえば容量計画決定を通知することができる。
いくつかの例では、データ記録量の代わりに、またはそれに加えて、他の情報を監視および分析することができる。たとえば、データ処理アプリケーションによってバイト数を追跡することができ、この情報を使用して、たとえばシステム性能を監視すること、また将来の容量計画決定を通知するのを助けることができる。各データ記録または各記録セットと関連付けられた収益のドルを追跡することができる。他の情報もまた追跡することができる。
本明細書で説明されたデータ処理アプリケーションを監査する手法は、適切なソフトウェアを実行するコンピューティングシステムを使用して実装することができる。たとえば、ソフトウェアは、プログラムされた、またはプログラム可能な1つまたは複数のコンピューティングシステム(分散型、クライアント/サーバ、またはグリッドなどの様々なアーキテクチャとすることができる)によって実行される1つまたは複数のコンピュータプログラムの形の手順を含むことができ、コンピューティングシステムのそれぞれは、少なくとも1つのプロセッサ、少なくとも1つのデータ記憶システム(揮発性および/または不揮発性メモリ、および/または記憶要素を含む)、少なくとも1つのユーザインターフェース(少なくとも1つの入力デバイスまたは入力ポートを使用して入力を受け取り、少なくとも1つの出力デバイスまたは出力ポートを使用して出力を供給するためのもの)を含む。ソフトウェアは、たとえば、設計、構成、およびデータフローグラフの実行に関連したサービスを提供する、より大きいプログラムの1つまたは複数のモジュールを含むことができる。プログラムのモジュール(たとえば、データフローグラフの要素)は、データリポジトリに保存されたデータモデルに一致するデータ構造体または他の編成データとして実装することができる。
ソフトウェアは、CD−ROMまたは他のコンピュータ可読媒体(たとえば、汎用または特定目的のコンピューティングシステムまたはデバイスによって可読)などの有形の持続性媒体に用意すること、またはソフトウェアが実行されるコンピューティングシステムの有形の持続性媒体へネットワークの通信媒体を介して送り出す(たとえば、伝搬信号に符号化する)ことができる。処理の一部または全部は、特定目的コンピュータによって、またはコプロセッサもしくはフィールドプログラマブルゲートアレイ(FPGA)もしくは専用の特定用途向け集積回路(ASIC)などの特定目的ハードウェアを使用して、行うことができる。処理は、ソフトウェアによって指定された異なる計算部分が異なる計算要素によって行われる分散方式で実装することができる。このようなコンピュータプログラムのそれぞれが好ましくは、記憶デバイス媒体がコンピュータに読み出されて本明細書に記載の処理を行うときにコンピュータを構成し動作させるための、汎用または特定目的のプログラム可能コンピュータがアクセス可能な記憶デバイスのコンピュータ可読記憶媒体(たとえば、固体メモリもしくは固体媒体、または磁気媒体もしくは光媒体)に、保存またはダウンロードされる。本発明のシステムはまた、コンピュータプログラムで構成された有形の持続性媒体として実装されると考えることもでき、そのように構成された媒体により、本明細書に記載の処理ステップのうちの1つ以上を実行するようにコンピュータに特定の、および所定の方法で動作させる。
本発明のいくつかの実施形態について説明してきた。しかしながら、上記の説明は本発明を例示するものであり、添付の特許請求の範囲によって定義される本発明の範囲を限定するものではないことを理解されたい。したがって、他の実施形態もまた、添付の特許請求の範囲内にある。たとえば、本発明の範囲から逸脱することなく、様々な改変を加えることができる。加えて、上述の工程の一部は順序非依存性とすることができ、したがって、説明されたものと異なる順序で実行することができる。



  1. モジュールを有するアプリケーションで受け取られたデータ記録の第1の量を決定するステップと、
    前記アプリケーションの前記モジュールに関し、前記データ記録の処理時に前記モジュールによって出力されたデータ記録のそれぞれの第2の量を決定するステップと、
    データ記録の前記第1および第2の量が、前記アプリケーションで受け取られたデータ記録の量と、前記アプリケーションのモジュールによって出力されたデータ記録の量との間のターゲット関係を表す規則を満たすかどうかを判定するステップと、
    前記アプリケーションの前記モジュールによるデータ記録の前記処理と関連付けられた時刻に基づいて、前記アプリケーションに関連した待ち時間を決定するステップと
    を含む、方法。

  2. 前記規則が満たされたかどうかを表す報告書を提供するステップを含む、請求項1に記載の方法。

  3. 前記アプリケーションが、複数の出力ポートを含むモジュールを含み、前記ターゲット関係が、前記モジュールで受け取られた記録の量が前記モジュールの出力ポートを通して出力された記録の量と等しいことを表すものを含む、請求項1に記載の方法。

  4. 前記モジュールが、受け取ったそれぞれの記録の入力量に対する記録の出力量を出力し、前記入力量が前記出力量と異なり、前記ターゲット関係が前記入力量と前記出力量の比を表すものを含む、請求項1に記載の方法。

  5. 前記規則を指定するステップを含む、請求項1に記載の方法。

  6. 前記規則の指定を受け取るステップを含む、請求項1に記載の方法。

  7. 前記アプリケーションのモジュールから出力されたデータ記録の第2の量を決定するステップが、前記モジュールから出力されたデータ記録を数えるステップを含む、請求項1に記載の方法。

  8. 前記アプリケーションのモジュールから出力されたデータ記録の第2の量を決定するステップが、
    前記モジュールの第1の出力ポートから出力された前記データ記録を数えるステップと、
    前記第1の出力ポートから出力されたデータ記録の数、および前記モジュールに入力されたデータ記録の数に基づいて、前記モジュールの第2の出力ポートから出力されたデータ記録の数を計算するステップと
    を含む、請求項1に記載の方法。

  9. 前記アプリケーションの前記待ち時間を決定するステップが、前記アプリケーションが前記データ記録を受け取るときの開始時刻と、前記アプリケーションが前記データ記録の処理を終了するときの終止時刻とに基づいて前記待ち時間を決定するステップを含む、請求項1に記載の方法。

  10. 前記アプリケーションが、前記第1の量および前記第2の量が前記規則を満たしたときに、前記データ記録の処理を終了している、請求項9に記載の方法。

  11. 前記データ記録のうちの特定の1つが、前記アプリケーションの前記モジュールで処理されるときの時刻を記録するステップを含む、請求項1に記載の方法。

  12. 前記記録された時刻に基づいて前記モジュールの待ち時間を決定するステップを含む、請求項11に記載の方法。

  13. 携帯電話システムから前記データ記録を受け取るステップを含む、請求項1に記載の方法。

  14. 前記データ記録が、携帯電話システムの第1のタイプのスイッチによって処理された第1のデータ記録と、前記携帯電話システムの第2のタイプのスイッチによって処理された第2のデータ記録とを含む、請求項1に記載の方法。

  15. コンピュータ可読媒体に保存されたソフトウェアであって、コンピューティングシステムに、
    モジュールを有するアプリケーションで受け取られたデータ記録の第1の量を決定させる、
    前記アプリケーションの前記モジュールに関し、前記データ記録の処理時に前記モジュールから出力されたデータ記録のそれぞれの第2の量を決定させる、
    データ記録の前記第1および第2の量が、前記アプリケーションで受け取られたデータ記録の量と、前記アプリケーションのモジュールによって出力されたデータ記録の量との間のターゲット関係を示す規則を満たすかどうかを判定させる、ならびに
    前記アプリケーションの前記モジュールによるデータ記録の前記処理と関連付けられた時刻に基づいて、前記アプリケーションに関連した待ち時間を決定させる
    ようにするための命令を含む、ソフトウェア。

  16. モジュールを有するアプリケーションで受け取られたデータ記録の第1の量を決定するように、
    前記アプリケーションの前記モジュールに関し、前記データ記録の処理時に前記モジュールによって出力されたデータ記録のそれぞれの第2の量を決定するように、
    データ記録の前記第1および第2の量が、前記アプリケーションで受け取られたデータ記録の量と、前記アプリケーションのモジュールにより出力されたデータ記録の量との間のターゲット関係を示す規則を満たすかどうかを判定するように、ならびに
    前記アプリケーションの前記モジュールによるデータ記録の前記処理と関連付けられた時刻に基づいて、前記アプリケーションに関連した待ち時間を決定するように
    構成された少なくとも1つのプロセッサを含む、コンピューティングシステム。

  17. モジュールを有するアプリケーションで受け取られたデータ記録の第1の量を決定するための手段と、
    前記アプリケーションの前記モジュールに関し、前記データ記録の処理時に前記モジュールによって出力されたデータ記録のそれぞれの第2の量を決定するための手段と、
    データ記録の前記第1および第2の量が、前記アプリケーションで受け取られたデータ記録の量と、前記アプリケーションのモジュールによって出力されたデータ記録の量との間のターゲット関係を示す規則を満たすかどうかを判定するための手段と、
    前記アプリケーションの前記モジュールによるデータ記録の前記処理と関連付けられた時刻に基づいて、前記アプリケーションに関連した待ち時間を決定するための手段と
    を含む、コンピューティングシステム。

  18. 前記モジュールによる前記データ記録の前記出力と関連付けられた時刻に基づいて、前記アプリケーションに関連した前記待ち時間を決定するステップを含む、請求項1に記載の方法。

 

 

Patent trol of patentswamp
類似の特許
実施形態において、ボイスオーバーインターネットプロトコル(VoIP)入札者は、VoIPプロバイダおよび/またはVoIPアクセスネットワークと交渉して、VoIPプロバイダをVoIPアクセスネットワーク(例えば、1組の特定のWiFi AP、非ローミングセルラアクセスネットワーク、等)に対する優先またはデフォルトVoIPプロバイダとして確立する。優先またはデフォルトVoIPプロバイダとして、VoIPアクセスネットワークは、VoIPアクセスネットワークを通してユーザ機器(UE)にVoIPサービスを提供するようにも構成されている1つ以上の他のVoIPプロバイダと比較して、VoIPプロバイダを介してUEにVoIPサービスを提供するための優先の性能および/または契約条件(またはVoIP機会)を与える。さらなる実施形態において、UEのうちの1つは、VoIPアクセスネットワークに接続して、VoIPアクセスネットワークを通してVoIPプロバイダを介してUEに利用可能である、優先の性能および/または契約条件を、UEのユーザにアドバタイズする。
【選択図】図6
通信ネットワークのための最適化されたユースケースの組合せを取得する方法が開示される。この方法は、ディスプレイデバイス上にオブジェクティブの集合を提示するステップであって、少なくとも1つの通信ネットワーク指標は、オブジェクティブの集合と関連付けられ、オブジェクティブの集合の各々は、キーパフォーマンス指標の集合により計量可能である、ステップと、入力デバイスを通じて、提示されたオブジェクティブの集合からの1つまたは複数のオブジェクティブへの選択を受け取るステップと、選択されたオブジェクティブの集合のkpiに最も肯定的な影響を有する第1の最適化されたユースケースの組合せを出力するステップと、ディスプレイ上に最適化されたユースケースの組合せを提示するステップとを含む。
エンドユーザ(例えばワイヤレス送信/受信ユニット(WTRU))へ提供されたコンテンツに関連付けられた課金情報を提供するなど、課金を実行するためのシステム、方法、機器が提供される。ゲートウェイデバイスはコンテンツプロバイダへの要求を検出することができる。ゲートウェイデバイスはコンテンツプロバイダへ要求を送ることができる。ゲートウェイデバイスはコアネットワークを迂回する非セルラインターフェースを介してコンテンツプロバイダへ要求を送ることができる。ゲートウェイデバイスはネットワークへ認可メッセージを送ることができる。ゲートウェイデバイスはネットワークへ認可メッセージを送信することができる。例えば、ゲートウェイデバイスは第1の認可メッセージの肯定応答をPCRFエンティティから受け取ることができる。ゲートウェイデバイスは、例えば非セルラインターフェースを介して、コンテンツプロバイダから要求に関連付けられたトラフィックを受け取ることができる。ゲートウェイデバイスは課金エンティティへ課金メッセージを送ることができる。ゲートウェイデバイスはWTRUへ向けてトラフィックを送ることができる。
本発明の実施例は、サービス制御方法、モビリティ管理エンティティ及び移動交換局を提供し、この方法は、1つ以上のユーザ装置を決定するステップと、請求されていない回線交換フォールバック(csfb)オフロードのシナリオでは、通知メッセージを1つ以上のユーザ装置に送信し、登録要求メッセージ又はコンバインド登録要求メッセージが受信された場合、登録承認メッセージ又はコンバインド登録承認メッセージを1つ以上のユーザ装置に送信するステップ、又は請求された回線交換フォールバック(csfb)オフロードのシナリオでは、1つ以上のユーザ装置により送信された登録要求メッセージ又はコンバインド登録要求メッセージが受信された場合、登録承認メッセージ又はコンバインド登録承認メッセージを1つ以上のユーザ装置に送信するステップとを含む。これにより、ユーザ装置は、音声呼の失敗を被るのではなくcsドメインを介して通信することができる。
本発明は、課金情報を集約するための方法、装置、およびシステムを提供する。本出願のネットワークエレメントは、同一グループに属する複数のユーザ機器の課金情報をタイムウィンドウ内で収集し、前記課金情報を集約して課金集約結果を取得し、前記結果を前記システムの対応するデバイスに送信する。本出願の課金システムは、前記システム内のネットワークエレメントにより送信された複数の集約された課金情報とタイムウィンドウとを受信し、ここで各課金情報はタイムウィンドウの1つにそれぞれ対応し、タイムウィンドウと、ユーザ機器が属するグループとに基づいて、複数の集約された課金情報を集約して、課金データレコードを生成し、ここでタイムウィンドウおよびユーザ機器は複数の集約された課金情報に対応する。
一実施形態において、本開示は、自己最適化ネットワーク(SON)調整モジュールを提供し、これは、少なくとも1つのキャパシティ及びカバレージ最適化(CCO)モジュールと、省エネルギー管理(ESM)及び/またはセル停電補完(COC)モジュールの少なくとも1つとからの動作情報を受信するように構成されるコンフリクト検出モジュールを含み、少なくとも1つのCCOモジュールと、ESMモジュール及び/またはCOCモジュールの少なくとも1つとは、コンフリクト検出モジュールと通信を行う少なくとも1つのeNodeB(eNB)に関連付けられる。コンフリクト検出モジュールは、CCOモジュールと、ESMモジュール及び/またはCOCモジュールの少なくとも1つとからの動作情報の間におけるコンフリクトを判断するように構成される。SON調整モジュールは、1つまたは複数のコンフリクト解消ルールに少なくとも部分的に基づいて、CCOモジュールとESMモジュール及び/またはCOCモジュールの少なくとも1つとからの動作情報の間におけるコンフリクトを解消するように構成されるコンフリクト解消モジュールをさらに含む。
先行技術においては、バースティング・データ・サービスのための通信クォータが、ユーザのアカウント残高に従って割り当てられる。通信に対してクォータを割り当てるための方法と、対応するオンライン課金システムとが、本発明において提案される。本方法は、i)通信に対してクォータを割り当てるステップと、ii)割り当てられたクォータに基づいて、通信のための実際のクォータ消費スピードを獲得するステップと、iii)実際のクォータ消費スピードに従って通信に対して新しいクォータを割り当てるステップとを含む。本発明の実施形態においては、新しいクォータが、クォータの実際の消費スピードに従って割り当てられ、これは、クォータ割当てに対するより多くの柔軟性を提供している。
ポリシー及び課金規則機能PCRF装置が、ゲートウェイ装置により送信された第1ユーザのポリシーリクエストを受信するステップと、PCRF装置が、ポリシーリクエストに従って、第1ユーザが第2ユーザのカウンタを利用する必要があると判定するステップと、PCRF装置が、第2ユーザのものであって、PCRF装置と課金システムとの間に確立されたセッションを利用することによって、第2ユーザのカウンタの現在の状態を取得するステップと、PCRF装置が、第2ユーザのカウンタの現在の状態に従って第1ユーザの制御ポリシーを生成し、制御ポリシーをゲートウェイ装置に送信するステップとを有するポリシー決定方法が提供される。本発明は、ユーザ間の累積データの共有を実現可能であり、1つのPCRF装置は、課金システムとの1つのセッションしか確立する必要がなく、セッションを1回利用することによって、累積データに対応するカウンタの現在の状態を取得する必要があり、課金システムの処理圧力を低減し、課金システムの性能ロスを更に減少させる。
ユーザーに関連するマーケットに基づいて、同じ品目に対するアプリ内課金(IAP)に、異なる価格を課金することができる。例えば、1つのマーケットにおけるユーザーには、ある品目に対して、異なるマーケットにおけるユーザーに対してその品目に課金する価格とは異なる価格を課金することができる。品目に対して異なるマーケットの各々に、異なる製品識別子がその品目に関連付けられる。品目は、異なるマーケットの各々に対して異なる製品識別子を有する異なる品目として、アプリケーション・ストアに提出される。ユーザーからある品目を求めるIAP要求を受けたとき、このユーザーに関連するマーケットが、このユーザーに関連する場所に基づいて判定される。ユーザーのマーケットを判定した後、アプリケーション・ストアからこの品目を得るために、製品を識別する製品識別子が使用される。
【選択図】図2
屋根デッキと、デッキを被覆する熱可塑性膜と、膨張可能なグラファイトが上に配置された布地と、を含む屋根アセンブリ。
To top