(57)【特許請求の範囲】
【請求項１】
データ処理アプリケーションの実行中に前記データ処理アプリケーションによって提供された情報をコンピュータシステムのプロセッサによって、受信することであって、前記情報が、前記データ処理アプリケーションのためのデータのソース及び前記データ処理アプリケーションからのデータの宛先の少なくとも一方を示す、ことと、
前記データ処理アプリケーションの実行中に前記プロセッサによって、前記情報を動的に解析して、前記データ処理アプリケーションと通信状態にあるキューを識別することと、
前記プロセッサによって、前記データ処理アプリケーションの実行中に前記情報を動的に解析して、前記データ処理アプリケーションと前記キューとの関係を識別することであって、前記キューが前記データ処理アプリケーションのための前記データのソースであると識別すること及び前記キューが前記データ処理アプリケーションからの前記データの宛先であると識別することの少なくとも一方を含む、ことと、
前記プロセッサによって、前記データ処理アプリケーション、前記キュー、及び前記データ処理アプリケーションと前記キューとの前記関係の視覚表現を生成することと、を含む、コンピュータ実施方法。
【請求項２】
前記データのソース及び前記データの宛先の少なくとも一方を示す前記情報が前記キューの識別子を含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記データ処理アプリケーションの実行中に前記プロセッサによって、前記キューのステータスを動的に特定することを含む、請求項１に記載のコンピュータ実施方法。
【請求項４】
前記プロセッサによって、前記キューの前記ステータスに基づいて通知を与えることを含む、請求項３に記載のコンピュータ実施方法。
【請求項５】
前記ステータスが、前記キュー内のレコードの数及び前記キューに関連した経過時間の少なくとも一方を含む、請求項３に記載のコンピュータ実施方法。
【請求項６】
前記プロセッサによって、前記データ処理アプリケーションのステータスを特定することを含む、請求項１に記載のコンピュータ実施方法。
【請求項７】
前記プロセッサによって、前記キューを識別する入力を受信することを含む、請求項１に記載のコンピュータ実施方法。
【請求項８】
前記プロセッサによって、前記キューを識別する前記入力に基づいて前記データ処理アプリケーションを識別することを含む、請求項７に記載のコンピュータ実施方法。
【請求項９】
前記１つ以上のデータ処理アプリケーションが計算グラフを含む、請求項１に記載のコンピュータ実施方法。
【請求項１０】
前記プロセッサによって、前記視覚表現をユーザインタフェースに表示することを含む、請求項１に記載のコンピュータ実施方法。
【請求項１１】
前記視覚表現が前記キューのステータスの表現を含む、請求項１に記載のコンピュータ実施方法。
【請求項１２】
コンピュータ読み取り可能媒体上に記憶されたソフトウェアであって、前記ソフトウェアは、コンピュータシステムのプロセッサによって命令が実行されると、前記プロセッサにステップを実行させる命令を含み、前記ステップは、
データ処理アプリケーションの実行中に前記データ処理アプリケーションによって提供された情報を受信することであって、前記情報が、前記データ処理アプリケーションのためのデータのソース及び前記データ処理アプリケーションからのデータの宛先の少なくとも一方を示す、ことと、
前記データ処理アプリケーションの実行中に前記情報を動的に解析して、前記データ処理アプリケーションと通信状態にあるキューを識別することと、
前記データ処理アプリケーションの実行中に前記情報を動的に解析して、前記データ処理アプリケーションと前記キューとの関係を識別することであって、前記キューが前記データ処理アプリケーションのための前記データのソースであると識別すること及び前記キューが前記データ処理アプリケーションからの前記データの宛先であると識別することの少なくとも一方を含む、ことと、
前記データ処理アプリケーション、前記キュー、及び前記データ処理アプリケーションと前記キューとの前記関係の視覚表現を生成することと
を含む、ソフトウェア。
【請求項１３】
データ処理アプリケーションの実行中に前記データ処理アプリケーションによって提供された情報を受信するように構成された入力ポートであって、前記情報が、前記データ処理アプリケーションのためのデータのソース及び前記データ処理アプリケーションからのデータの宛先の少なくとも一方を示す、入力ポートと、
少なくとも１つのプロセッサであって、
前記データ処理アプリケーションの実行中に前記情報を動的に解析して、前記データ処理アプリケーションと通信状態にあるキューを識別することと、
前記データ処理アプリケーションの実行中に前記情報を動的に解析して、前記データ処理アプリケーションと前記キューとの関係を識別することであって、前記キューが前記データ処理アプリケーションのための前記データのソースであると識別すること及び前記キューが前記データ処理アプリケーションからの前記データの宛先であると識別することの少なくとも一方を含む、ことと、
前記データ処理アプリケーション、前記キュー、及び前記データ処理アプリケーションと前記キューとの前記関係の視覚表現を生成することと
を実行するように構成された少なくとも１つのプロセッサと、
を含む、コンピューティングシステム。
【請求項１４】
データ処理アプリケーションの実行中に前記データ処理アプリケーションによって提供された情報を受信するための手段であって、前記情報が、前記データ処理アプリケーションのためのデータのソース及び前記データ処理アプリケーションからのデータの宛先の少なくとも一方を示す、手段と、
前記データ処理アプリケーションの実行中に前記情報を動的に解析して、前記データ処理アプリケーションと通信状態にあるキューを識別するための手段と、
前記データ処理アプリケーションの実行中に前記情報を動的に解析して、前記データ処理アプリケーションと前記キューとの関係を識別することであって、前記キューが前記データ処理アプリケーションのための前記データのソースであると識別すること及び前記キューが前記データ処理アプリケーションからの前記データの宛先であると識別することの少なくとも一方を含むことを行うための手段と、
前記データ処理アプリケーション、前記キュー、及び前記データ処理アプリケーションと前記キューとの前記関係の視覚表現を生成する手段と、
を含む、コンピューティングシステム。
【請求項１５】
データ処理アプリケーションの実行中に前記データ処理アプリケーションから、前記データ処理アプリケーションとキューとの関係を示す情報をコンピュータのプロセッサによって、受信することであって、前記関係が、前記キューが前記データ処理アプリケーションのためのデータのソースであること及び前記キューが前記データ処理アプリケーションからのデータの宛先であることの少なくとも一方を含む、ことと、
前記プロセッサによって、前記データ処理アプリケーション、前記キュー、及び前記データ処理アプリケーションと前記キューとの前記関係のグラフィック表現を生成することと、
前記プロセッサによって、前記データ処理アプリケーションの実行中に、前記複数のデータ処理アプリケーション、前記複数のキュー、及び前記関係の前記グラフィック表現をユーザインタフェースに表示することと、を含み、
情報を受信することが、
前記データ処理アプリケーションの実行中に前記プロセッサによって、前記データ処理アプリケーションによって提供された情報を受信することであって、前記情報が、前記データ処理アプリケーションのためのデータのソース及び前記データ処理アプリケーションからのデータの宛先の少なくとも一方を示す、ことと、
前記データ処理アプリケーションの実行中に前記プロセッサによって、前記情報を動的に解析して、前記キュー及び前記関係を識別することと、
を含む、コンピュータ実施方法。
【請求項１６】
前記グラフィック表現が、前記データ処理アプリケーションを表すための第１のノード、前記キューを表すための第２のノード、及び前記関係を表すための前記データ処理アプリケーションと前記キューとの接続を含む、請求項１５に記載のコンピュータ実施方法。
【請求項１７】
前記プロセッサによって、前記第１のノードのユーザ選択に応答して前記データ処理アプリケーションに関する情報を表示することを含む、請求項１６に記載のコンピュータ実施方法。
【請求項１８】
前記プロセッサによって、前記第２のノードのユーザ選択に応答して前記キューに関する情報を表示することを含む、請求項１６に記載のコンピュータ実施方法。
【請求項１９】
前記プロセッサによって、前記データ処理アプリケーションの実行中に前記キューのステータスを動的に特定することを含む、請求項１５に記載のコンピュータ実施方法。
【請求項２０】
前記グラフィック表現が前記キューの前記ステータスの表現を含む、請求項１９に記載のコンピュータ実施方法。
【請求項２１】
前記プロセッサによって、前記キューの前記ステータスに基づいて通知を与えることを含む、請求項１９に記載のコンピュータ実施方法。
【請求項２２】
前記キューの前記ステータスが、前記キュー内のレコードの数及び前記キューに関連した経過時間の少なくとも一方を含む、請求項１９に記載のコンピュータ実施方法。
【請求項２３】
前記プロセッサによって、前記データ処理アプリケーションの実行中に前記データ処理アプリケーションのステータスを動的に特定することを含む、請求項１５に記載のコンピュータ実施方法。
【請求項２４】
前記グラフィック表現が前記データ処理アプリケーションの前記ステータスの表現を含む、請求項２３に記載のコンピュータ実施方法。
【請求項２５】
前記プロセッサによって、複数のデータ処理アプリケーションから、各データ処理アプリケーションと少なくとも１つの対応するキューとの関係を示す情報を受信することを含み、
グラフィック表現を生成することが、前記プロセッサによって、前記複数のデータ処理アプリケーション、前記複数のキュー、及び前記関係のグラフィック表現を生成することを含む、請求項１５に記載のコンピュータ実施方法。
【請求項２６】
コンピュータ読み取り可能媒体上に記憶されたソフトウェアであって、前記ソフトウェアは、コンピュータシステムのプロセッサによって命令が実行されると、前記プロセッサにステップを実行させる命令を含み、前記ステップは、
データ処理アプリケーションの実行中に前記データ処理アプリケーションから、前記データ処理アプリケーションとキューとの関係を示す情報を受信することであって、前記関係が、前記キューが前記データ処理アプリケーションのためのデータのソースであること及び前記キューが前記データ処理アプリケーションからのデータの宛先であることの少なくとも一方を含む、ことと、
前記データ処理アプリケーション、前記キュー、及び前記データ処理アプリケーションと前記キューとの前記関係のグラフィック表現を生成することと、
前記データ処理アプリケーションの実行中に前記グラフィック表現をユーザインタフェースに表示することと、を含み、
情報を受信することが、
前記データ処理アプリケーションの実行中に前記データ処理アプリケーションによって提供された情報を受信することであって、前記情報が、前記データ処理アプリケーションのためのデータのソース及び前記データ処理アプリケーションからのデータの宛先の少なくとも一方を示す、ことと、
前記データ処理アプリケーションの実行中に前記情報を動的に解析して、前記キュー及び前記関係を識別することと、
を含むソフトウェア。
【請求項２７】
データ処理アプリケーションの実行中に前記データ処理アプリケーションから、前記データ処理アプリケーションとキューとの関係を示す情報を受信するように構成された入力ポートであって、前記関係が、前記キューが前記データ処理アプリケーションのためのデータのソースであること及び前記キューが前記データ処理アプリケーションからのデータの宛先であることの少なくとも一方を含む、入力ポートと、
プロセッサであって、
前記データ処理アプリケーション、前記キュー、及び前記データ処理アプリケーションと前記キューとの前記関係のグラフィック表現を生成することと、
前記データ処理アプリケーションの実行中に前記グラフィック表現をユーザインタフェースに表示することと、
を実行するように構成されたプロセッサと、
を含み、
情報を受信することが、
前記データ処理アプリケーションの実行中に前記データ処理アプリケーションによって提供された情報を受信することであって、前記情報が、前記データ処理アプリケーションのためのデータのソース及び前記データ処理アプリケーションからのデータの宛先の少なくとも一方を示す、ことと、
前記データ処理アプリケーションの実行中に前記情報を動的に解析して、前記キュー及び前記関係を識別することと、
を含む、コンピューティングシステム。
【請求項２８】
データ処理アプリケーションの実行中に前記データ処理アプリケーションから、前記データ処理アプリケーションとキューとの関係を示す情報を受信するための手段であって、前記関係が、前記キューが前記データ処理アプリケーションのためのデータのソースであること及び前記キューが前記データ処理アプリケーションからのデータの宛先であることの少なくとも一方を含む、手段と、
前記データ処理アプリケーション、前記キュー、及び前記データ処理アプリケーションと前記キューとの前記関係のグラフィック表現を生成するための手段と、
前記データ処理アプリケーションの実行中に前記グラフィック表現をユーザインタフェースに表示するための手段と、
を含み、
情報を受信するための手段が、
前記データ処理アプリケーションの実行中に前記データ処理アプリケーションによって提供された情報を受信するための手段であって、前記情報が、前記データ処理アプリケーションのためのデータのソース及び前記データ処理アプリケーションからのデータの宛先の少なくとも一方を示す、手段と、
前記データ処理アプリケーションの実行中に前記情報を動的に解析して、前記キュー及び前記関係を識別するための手段と、
を含む、コンピューティングシステム。
【請求項２９】
データ処理アプリケーションの実行中に前記データ処理アプリケーションによって提供された情報をコンピュータのプロセッサによって、受信することであって、前記情報が、前記データ処理アプリケーションのためのデータのソース及び前記データ処理アプリケーションからのデータの宛先の少なくとも一方を示す、ことと、
前記データ処理アプリケーションの実行中に前記プロセッサによって、前記情報を動的に解析して、前記データ処理アプリケーションと通信状態にあって第３のコンピュータシステムをホストとして動作するキューを識別することと、
前記データ処理アプリケーションの実行中に前記プロセッサによって、前記情報を動的に解析して、前記データ処理アプリケーションと前記キューとの関係を識別することであって、前記キューが前記データ処理アプリケーションのための前記データのソースであると識別すること及び前記キューが前記データ処理アプリケーションからの前記データの宛先であると識別することの少なくとも一方を含む、ことと、
前記プロセッサによって、前記データ処理アプリケーション、前記キュー、及び前記データ処理アプリケーションと前記キューとの前記関係のグラフィック表現を生成することと、
前記プロセッサによって、前記データ処理アプリケーションの実行中に前記グラフィック表現をユーザインタフェースに表示することと、
を含む、コンピュータ実施方法。
【請求項３０】
前記データのソース及び前記データの宛先の少なくとも一方を示す前記情報が前記キューの識別子を含む、請求項１３に記載のコンピューティングシステム。
【請求項３１】
前記少なくとも１つのプロセッサが、前記データ処理アプリケーションの実行中に前記キューのステータスを動的に特定するように構成されている、請求項１３に記載のコンピューティングシステム。
【請求項３２】
前記キューの前記ステータスに基づいて通知を与えることを含む、請求項３１に記載のコンピューティングシステム。
【請求項３３】
前記ステータスが、前記キュー内のレコードの数及び前記キューに関連した経過時間の少なくとも一方を含む、請求項３１に記載のコンピューティングシステム。
【請求項３４】
前記少なくとも１つのプロセッサが、前記データ処理アプリケーションのステータスを特定するように構成されている、請求項１３に記載のコンピューティングシステム。
【請求項３５】
前記入力ポートが、前記キューを識別する入力を受信するように構成されている、請求項１３に記載のコンピューティングシステム。
【請求項３６】
前記少なくとも１つのプロセッサが、前記キューを識別する前記入力に基づいて前記データ処理アプリケーションを識別するように構成されている、請求項３５に記載のコンピューティングシステム。
【請求項３７】
前記１つ以上のデータ処理アプリケーションが計算グラフを含む、請求項１３に記載のコンピューティングシステム。
【請求項３８】
前記少なくとも１つのプロセッサが、前記視覚表現をユーザインタフェースに表示するように構成されている、請求項１３に記載のコンピューティングシステム。
【請求項３９】
前記視覚表現が前記キューのステータスの表現を含む、請求項１３に記載のコンピューティングシステム。
【請求項４０】
前記データのソース及び前記データの宛先の少なくとも一方を示す前記情報が前記キューの識別子を含む、請求項１２に記載のソフトウェア。
【請求項４１】
前記ステップは、前記データ処理アプリケーションの実行中に前記キューのステータスを動的に特定することを含む、請求項１２に記載のソフトウェア。
【請求項４２】
前記ステップは、前記キューの前記ステータスに基づいて通知を与えることを含む、請求項４１に記載のソフトウェア。
【請求項４３】
前記ステータスが、前記キュー内のレコードの数及び前記キューに関連した経過時間の少なくとも一方を含む、請求項４１に記載のソフトウェア。
【請求項４４】
前記ステップは、前記データ処理アプリケーションのステータスを特定することを含む、請求項１２に記載のソフトウェア。
【請求項４５】
前記ステップは、前記キューを識別する入力を受信することを含む、請求項１２に記載のソフトウェア。
【請求項４６】
前記ステップは、前記処理に基づいて及び前記キューを識別する前記入力に基づいて前記データ処理アプリケーションを識別することを含む、請求項４５に記載のソフトウェア。
【請求項４７】
前記１つ以上のデータ処理アプリケーションが計算グラフを含む、請求項１２に記載のソフトウェア。
【請求項４８】
前記ステップは、前記視覚表現をユーザインタフェースに表示することを含む、請求項１２に記載のソフトウェア。
【請求項４９】
前記視覚表現が前記キューのステータスの表現を含む、請求項１２に記載のソフトウェア。
【請求項５０】
前記グラフィック表現が、前記データ処理アプリケーションを表すための第１のノード、前記キューを表すための第２のノード、及び前記関係を表すための前記データ処理アプリケーションと前記キューとの接続を含む、請求項２７に記載のコンピューティングシステム。
【請求項５１】
前記プロセッサが、前記第１のノードのユーザ選択に応答して前記データ処理アプリケーションに関する情報を表示するように構成されている、請求項５０に記載のコンピューティングシステム。
【請求項５２】
前記プロセッサが、前記第２のノードのユーザ選択に応答して前記キューに関する情報を表示するように構成されている、請求項５０に記載のコンピューティングシステム。
【請求項５３】
前記プロセッサが、前記データ処理アプリケーションの実行中に前記キューのステータスを動的に特定するように構成されている、請求項２７に記載のコンピューティングシステム。
【請求項５４】
前記グラフィック表現が前記キューの前記ステータスの表現を含む、請求項５３に記載のコンピューティングシステム。
【請求項５５】
前記プロセッサが、前記キューの前記ステータスに基づいて通知を与えるように構成されている、請求項５３に記載のコンピューティングシステム。
【請求項５６】
前記キューの前記ステータスが、前記キュー内のレコードの数及び前記キューに関連した経過時間の少なくとも一方を含む、請求項５３に記載のコンピューティングシステム。
【請求項５７】
前記プロセッサが、前記データ処理アプリケーションの実行中に前記データ処理アプリケーションのステータスを動的に特定するように構成されている、請求項２７に記載のコンピューティングシステム。
【請求項５８】
前記グラフィック表現が前記データ処理アプリケーションの前記ステータスの表現を含む、請求項５７に記載のコンピューティングシステム。
【請求項５９】
前記入力ポートが、複数のデータ処理アプリケーションから、各データ処理アプリケーションと少なくとも１つの対応するキューとの関係を示す情報を受信するように構成されており、
グラフィック表現を生成することが、前記複数のデータ処理アプリケーション、前記複数のキュー、及び前記関係のグラフィック表現を生成することを含む、請求項２７に記載のコンピューティングシステム。
【請求項６０】
前記グラフィック表現が、前記データ処理アプリケーションを表すための第１のノード、前記キューを表すための第２のノード、及び前記関係を表すための前記データ処理アプリケーションと前記キューとの接続を含む、請求項２６に記載のソフトウェア。
【請求項６１】
前記ステップは、前記第１のノードのユーザ選択に応答して前記データ処理アプリケーションに関する情報を表示することを含む、請求項６０に記載のソフトウェア。
【請求項６２】
前記ステップは、前記第２のノードのユーザ選択に応答して前記キューに関する情報を表示することを含む、請求項６０に記載のソフトウェア。
【請求項６３】
前記ステップは、前記データ処理アプリケーションの実行中に前記キューのステータスを動的に特定することを含む、請求項２６に記載のソフトウェア。
【請求項６４】
前記グラフィック表現が前記キューの前記ステータスの表現を含む、請求項６３に記載のソフトウェア。
【請求項６５】
前記ステップは、前記キューの前記ステータスに基づいて通知を与えることを含む、請求項６３に記載のソフトウェア。
【請求項６６】
前記キューの前記ステータスが、前記キュー内のレコードの数及び前記キューに関連した経過時間の少なくとも一方を含む、請求項６３に記載のソフトウェア。
【請求項６７】
前記ステップは、前記データ処理アプリケーションの実行中に前記データ処理アプリケーションのステータスを動的に特定することを含む、請求項２６に記載のソフトウェア。
【請求項６８】
前記グラフィック表現が前記データ処理アプリケーションの前記ステータスの表現を含む、請求項６７に記載のソフトウェア。
【請求項６９】
前記ステップは、複数のデータ処理アプリケーションから、各データ処理アプリケーションと少なくとも１つの対応するキューとの関係を示す情報を受信することを含み、
グラフィック表現を生成することが、前記複数のデータ処理アプリケーション、前記複数のキュー、及び前記関係のグラフィック表現を生成することを含む、請求項２６に記載のソフトウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
（優先権の主張）
本出願は、２０１３年２月１４日に出願された米国特許出願番号第６１／７６４，７９４号、及び２０１３年３月１５日に出願された米国特許出願番号第１３／８３４，４９１号に対する優先権を主張する。これら双方の出願の全内容は引用により本願にも含まれるものとする。
【０００２】
本記載は、例えばデータ処理環境におけるキュー監視及び視覚化に関する。
【背景技術】
【０００３】
企業は、データを管理するために、データウェアハウジング、カスタマ関係管理、及びデータマイニング等の複雑なデータ処理システムを用いる。多くのデータ処理システムにおいて、データは、データベースファイル、運用システム、フラットファイル、インターネット等の異なるデータソースから、中央レポジトリへと引き出される。多くの場合、データはデータシステムにロードされる前に変換される。変換は、クレンジング、統合、及び抽出を含むことがある。データ、そのソース、及びデータシステムに記憶されたデータに行われた変換を把握するため、メタデータを用いることができる。メタデータ（「データに関するデータ」と称されることもある）は、他のデータの属性、フォーマット、起点、履歴、相互関係等を記述するデータである。メタデータ管理は、複雑なデータ処理システムにおいて中心的な役割を果たす場合がある。
【０００４】
時として、データベースのユーザは、ある特定のデータが異なるデータソースからどのように導出されるかを調べたいことがある。例えばデータベースのユーザは、あるデータセットもしくはデータオブジェクトがどのように生成されたか、又はあるデータセットもしくはデータオブジェクトがどのソースからインポートされたかを知りたい場合がある。データセットが導出されたソースまで遡ってそのデータセットを追跡することを、データ系統追跡（又は「上流データ系統追跡」）と呼ぶ。また、データベースのユーザは時に、ある特定のデータセットがどのように使用されたかを調べたい（「下流データ系統追跡」又は「インパクト解析」と呼ばれる）、例えば所与のデータセットをどのアプリケーションが読み取ったかを調べたいことがある。また、データベースのユーザは、あるデータセットがどのように他のデータセットに関連しているかを知ることに関心を持つ場合がある。例えばユーザは、データセットが変更されると、どのテーブルがその影響を受けるのか等を知りたいことがある。
【発明の概要】
【０００５】
一般的な態様において、コンピュータ実施方法は、データ処理アプリケーションの実行中にデータ処理アプリケーションによって提供される情報を受信することを含む。情報は、データ処理アプリケーションのためのデータのソース及びデータ処理アプリケーションからのデータの宛先の少なくとも一方を示す。方法は、データ処理アプリケーションの実行中に情報を動的に解析して、データ処理アプリケーションと通信状態にあるキューを識別することを含む。方法は、データ処理アプリケーションの実行中に情報を動的に解析して、データ処理アプリケーションとキューとの関係を識別することを含み、これは、キューがデータ処理アプリケーションのためのデータのソースであると識別すること及びキューがデータ処理アプリケーションからのデータの宛先であると識別することの少なくとも一方を含む。
【０００６】
実施形態は、以下の１つ以上を含むことができる。
【０００７】
データのソース及びデータの宛先の少なくとも一方を示す情報は、キューの識別子を含む。
【０００８】
方法は、データ処理アプリケーションの実行中にキューのステータスを動的に特定することを含む。いくつかの例では、方法は、キューのステータスに基づいて通知を与えることを含む。いくつかの例では、ステータスは、キュー内のレコードの数及びキューに関連した経過時間の少なくとも一方を含む。
【０００９】
方法は、データ処理アプリケーションのステータスを特定することを含む。
【００１０】
方法は、キューを識別する入力を受信することを含む。いくつかの例では、方法は、処理に基づいて及びキューを識別する入力に基づいてデータ処理アプリケーションを識別することを含む。
【００１１】
１つ以上のデータ処理アプリケーションが計算グラフを含む。
【００１２】
方法は、データ処理アプリケーション、キュー、及びデータ処理アプリケーションとキューとの関係の視覚表現を生成することを含む。いくつかの例では、方法は視覚表現をユーザインタフェースに表示することを含む。いくつかの例では、視覚表現はキューのステータスの表現を含む。
【００１３】
一般的な態様において、コンピュータ読み取り可能媒体上に記憶されたソフトウェアは、データ処理アプリケーションの実行中にデータ処理アプリケーションによって提供された情報をコンピュータシステムに受信させるための命令を含む。情報は、データ処理アプリケーションのためのデータのソース及びデータ処理アプリケーションからのデータの宛先の少なくとも一方を示す。ソフトウェアは、データ処理アプリケーションの実行中に情報を動的に解析して、データ処理アプリケーションと通信状態にあるキューを識別することと、データ処理アプリケーションの実行中に情報を動的に解析して、データ処理アプリケーションとキューとの関係を識別することであって、キューがデータ処理アプリケーションのためのデータのソースであると識別すること及びキューがデータ処理アプリケーションからのデータの宛先であると識別することの少なくとも一方を含むことと、をコンピュータシステムに実行させるための命令を含む。
【００１４】
一般的な態様において、コンピューティングシステムは、データ処理アプリケーションの実行中にデータ処理アプリケーションによって提供された情報を受信するように構成された入力ポートを含む。情報は、データ処理アプリケーションのためのデータのソース及びデータ処理アプリケーションからのデータの宛先の少なくとも一方を示す。システムは、データ処理アプリケーションの実行中に情報を動的に解析して、データ処理アプリケーションと通信状態にあるキューを識別することと、データ処理アプリケーションの実行中に情報を動的に解析して、データ処理アプリケーションとキューとの関係を識別することであって、キューがデータ処理アプリケーションのためのデータのソースであると識別すること及びキューがデータ処理アプリケーションからのデータの宛先であると識別することの少なくとも一方を含むことと、を実行するように構成された少なくとも１つのプロセッサを含む。
【００１５】
一般的な態様において、システムは、データ処理アプリケーションの実行中にデータ処理アプリケーションによって提供された情報を受信するための手段を含む。情報は、データ処理アプリケーションのためのデータのソース及びデータ処理アプリケーションからのデータの宛先の少なくとも一方を示す。システムは、データ処理アプリケーションの実行中に情報を動的に解析して、データ処理アプリケーションと通信状態にあるキューを識別するための手段と、データ処理アプリケーションの実行中に情報を動的に解析して、データ処理アプリケーションとキューとの関係を識別することであって、キューがデータ処理アプリケーションのためのデータのソースであると識別すること及びキューがデータ処理アプリケーションからのデータの宛先であると識別することの少なくとも一方を含むことを行うための手段と、を含む。
【００１６】
一般的な態様において、コンピュータ実施方法は、データ処理アプリケーションの実行中にデータ処理アプリケーションから、データ処理アプリケーションとキューとの関係を示す情報を受信することを含む。関係は、キューがデータ処理アプリケーションのためのデータのソースであること及びキューがデータ処理アプリケーションからのデータの宛先であることの少なくとも一方を含む。方法は、データ処理アプリケーション、キュー、及びデータ処理アプリケーションとキューとの関係のグラフィック表現を生成することと、データ処理アプリケーションの実行中にグラフィック表現をユーザインタフェースに表示することと、を含む。
【００１７】
実施形態は、以下の１つ以上を含むことができる。
【００１８】
グラフィック表現は、データ処理アプリケーションを表すための第１のノード、キューを表すための第２のノード、及び関係を表すためのデータ処理アプリケーションとキューとの接続を含む。いくつかの例では、方法は、第１のノードのユーザ選択に応答してデータ処理アプリケーションに関する情報を表示することを含む。いくつかの例では、方法は、第２のノードのユーザ選択に応答してキューに関する情報を表示することを含む。
【００１９】
方法は、データ処理システムの実行中にキューの動的ステータスを動的に特定することを含む。いくつかの例では、グラフィック表現はキューのステータスの表現を含む。いくつかの例では、方法は、キューのステータスに基づいて通知を与えることを含む。いくつかの例では、キューのステータスは、第１のキュー内のレコードの数及び第１のキューに関連した経過時間の少なくとも一方を含む。
【００２０】
方法は、データ処理アプリケーションの実行中にデータ処理アプリケーションのステータスを動的に特定することを含む。いくつかの例では、グラフィック表現はデータ処理アプリケーションのステータスの表現を含む。
【００２１】
方法は、複数のデータ処理アプリケーションから、各データ処理アプリケーションと少なくとも１つの対応との関係を示す情報を受信することを含む。グラフィック表現を生成することは、複数のデータ処理アプリケーション、複数のキュー、及び関係のグラフィック表現を生成することを含む。
【００２２】
情報を受信することは、データ処理アプリケーションの実行中にデータ処理アプリケーションによって提供された情報を受信することを含む。情報は、データ処理アプリケーションのためのデータのソース及びデータ処理アプリケーションからのデータの宛先の少なくとも一方を示す。情報を受信することは、データ処理アプリケーションの実行中に情報を動的に解析して、キュー及び関係を識別することを含む。
【００２３】
一般的な態様において、コンピュータ読み取り可能媒体上に記憶されたソフトウェアは、データ処理アプリケーションの実行中にデータ処理アプリケーションから、データ処理アプリケーションとキューとの関係を示す情報をコンピューティングシステムに受信させるために命令を含む。関係は、キューがデータ処理アプリケーションのためのデータのソースであること及びキューがデータ処理アプリケーションからのデータの宛先であることの少なくとも一方を含む。ソフトウェアは、データ処理アプリケーション、キュー、及びデータ処理アプリケーションとキューとの関係のグラフィック表現を生成することと、データ処理アプリケーションの実行中にグラフィック表現をユーザインタフェースに表示することと、をコンピューティングシステムに実行させるための命令を含む。
【００２４】
一般的な態様において、コンピューティングシステムは、データ処理アプリケーションの実行中にデータ処理アプリケーションから、データ処理アプリケーションとキューとの関係を示す情報を受信するように構成された入力ポートを含む。関係は、キューがデータ処理アプリケーションのためのデータのソースであること及びキューがデータ処理アプリケーションからのデータの宛先であることの少なくとも一方を含む。コンピューティングシステムは、データ処理アプリケーション、キュー、及びデータ処理アプリケーションとキューとの関係のグラフィック表現を生成することと、データ処理アプリケーションの実行中にグラフィック表現をユーザインタフェースに表示することと、を実行するように構成されたプロセッサを含む。
【００２５】
一般的な態様において、コンピューティングシステムは、データ処理アプリケーションの実行中にデータ処理アプリケーションから、データ処理アプリケーションとキューとの関係を示す情報を受信するための手段を含む。関係は、キューがデータ処理アプリケーションのためのデータのソースであること及びキューがデータ処理アプリケーションからのデータの宛先であることの少なくとも一方を含む。コンピューティングシステムは、データ処理アプリケーション、キュー、及びデータ処理アプリケーションとキューとの関係のグラフィック表現を生成するための手段と、データ処理アプリケーションの実行中にグラフィック表現をユーザインタフェースに表示するための手段と、を含む。
【００２６】
一般的な態様において、コンピュータ実施方法は、データ処理アプリケーションの実行中にデータ処理アプリケーションによって提供された情報を受信することを含む。情報は、データ処理アプリケーションのためのデータのソース及びデータ処理アプリケーションからのデータの宛先の少なくとも一方を示す。方法は、データ処理アプリケーションの実行中に情報を動的に解析して、データ処理アプリケーションと通信状態にあって第３のコンピュータシステムをホストとして動作するキューを識別することを含む。方法は、データ処理アプリケーションの実行中に情報を動的に解析して、データ処理アプリケーションとキューとの関係を識別することを含み、これは、キューがデータ処理アプリケーションのためのデータのソースであると識別すること及びキューがデータ処理アプリケーションからのデータの宛先であると識別することの少なくとも一方を含む。方法は、データ処理アプリケーション、キュー、及びデータ処理アプリケーションとキューとの関係のグラフィック表現を生成することと、データ処理アプリケーションの実行中にグラフィック表現をユーザインタフェースに表示することと、を含む。
【００２７】
態様は、以下の利点の１つ以上を有することができる。本明細書に記載するキュー監視及び視覚化のための手法は、１つ以上の異種コンピューティングシステム上で実行されるデータ処理の視覚表現を提示する。データ処理アプリケーションとキューとの関係の視覚表現は、容易に理解し操作することができる。ジョブの実行中にエラーが発生した場合、ユーザがエラーの内容（ｎａｔｕｒｅ）を理解できるように、そのジョブの処理に関与しているデータ処理アプリケーション及びキューのステータスを視覚化することができる。
【図面の簡単な説明】
【００２８】
【図１】コンピューティングシステムのブロック図である。
【図２】データ処理アプリケーションとキューとの関係の図である。
【図３】キューの図である。
【図４】視覚化システムのブロック図である。
【図５】データ処理環境の例示的な視覚表現である。
【図６】データ処理環境の例示的な視覚表現である。
【図７】データ処理環境の例示的な視覚表現である。
【図８】データ処理環境の例示的な視覚表現である。
【図９】データ処理環境の例示的な視覚表現である。
【図１０】データ処理環境の例示的な視覚表現である。
【図１１】フローチャートである。
【図１２】フローチャートである。
【発明を実施するための形態】
【００２９】
データ処理環境において、データ処理アプリケーションは、入力データに様々なプロセスを実行することで、例えばこのデータの解析又は操作を行う。データ処理環境におけるデータ処理アプリケーションは、キューから入力データを読み取り、及び／又はキューに出力データを書き込むことができる。キューは、データ処理アプリケーション間のデータフローを制御するためのバッファとして機能することができる。データ処理アプリケーションとキューとの関係を、リアルタイムで、すなわちデータ処理アプリケーションの実行中に、自動的かつ動的に検出することができる。データ処理アプリケーション、キュー、及びそれらの関係を描写する視覚表現を、リアルタイムですなわちデータ処理アプリケーションの実行中に生成することができる。また、データ処理アプリケーション及び／又はキューの実行を表すリアルタイムステータス情報を動的に検出して視覚表現に表示することができる。
【００３０】
図１は、本明細書に記載する監視及び視覚化技法を使用可能である例示的なデータ処理システム１００を示す。システム１００に含まれるデータソース１０２は、記憶デバイス又はオンラインデータストリームに対する接続のような１つ以上のデータソースを含むことができ、それらの各々が多種多様な記憶フォーマットのいずれか（例えばデータベーステーブル、スプレッドシートファイル、フラットテキストファイル、又はメインフレームにより用いられるネイティブフォーマット）でデータを記憶又は提供することができる。実行環境１０４は、前処理モジュール１０６及び実行モジュール１１２を含む。実行環境１０４は、ＵＮＩＸオペレーティングシステムのあるバージョン等の適切なオペレーティングシステムの制御のもとで、例えば１つ以上の汎用コンピュータ等のコンピュータシステム１３０をホストとして動作することができる。例えば実行環境１０４は、多数の中央処理ユニット（ＣＰＵ）又はプロセッサコアを用いた複数のコンピュータシステムの構成を含む多ノード並列コンピューティング環境を含むことができ、これらは、ローカルである（例えば対称型マルチプロセッシング（ＳＭＰ：ｓｙｍｍｅｔｒｉｃ  ｍｕｌｔｉ−ｐｒｏｃｅｓｓｉｎｇ）コンピュータ等のマルチプロセッサシステム）か、又はローカルに分散されている（例えばクラスタ又は超並列処理（ＭＰＰ：ｍａｓｓｉｖｅｌｙ  ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｉｎｇ）システムとして結合された多数のプロセッサか、又はリモートであるか、又はリモートに分散されている（例えばローカルエリアネットワーク（ＬＡＮ）及び／又はワイドエリアネットワーク（ＷＡＮ）を介して結合された多数のプロセッサ）か、又はそれらのいずれかの組み合わせであり得る。
【００３１】
前処理モジュール１０６はデータソース１０２からデータを読み取る。データソース１０２を提供する記憶デバイスは、例えば実行環境１０４のホストであるコンピュータに接続された記憶媒体（例えばハードドライブ１０８）上に記憶することで、実行環境１０４に対してローカルとすることができ、又は、例えば実行環境１０４のホストであるコンピュータとリモート接続（例えばクラウドコンピューティングインフラストラクチャによって提供される）を介して通信するリモートシステム（例えばメインフレーム１１０）をホストとして動作することで、実行環境１０４に対してリモートとすることができる。
【００３２】
実行モジュール１１２は、前処理モジュール１０６がデータソースから読み取ったデータを処理する。実行モジュール１１２は、ジョブの実行すなわちデータに対する特定の処理の実行のために、１つ以上のデータ処理アプリケーションを含む。実行モジュール１１２のデータ処理アプリケーションに関連付けられたメタデータを、データベース、データテーブル、又は別のタイプのデータ構造等のデータレポジトリ１５２に記憶することができる。実行モジュール１１２から得られる出力データ１１４は、データソース１０２に戻して記憶するか、又は実行環境１０４にアクセス可能なデータ記憶システム１１６に記憶するか、又は他の方法で用いることができる。
【００３３】
実行モジュール１１２のデータ処理アプリケーションは、１つ以上のキュー１５４からデータを読み取り、及び／又は１つ以上のキュー１５４にデータを書き込むことができる。キュー１５４は、データ処理アプリケーション間のデータ交換を管理する機構を提供するデータ構造と考えることができる。データ処理アプリケーションに関連付けられたメタデータ（例えばレポジトリ１５２に記憶されている）は、データ処理アプリケーションがデータを読み取る（「サブスクライブ（ｓｕｂｓｃｒｉｂｅ）」とも称する）１つ以上のキュー、及びデータ処理アプリケーションがデータを書き込む（「パブリッシュ（ｐｕｂｌｉｓｈ）」とも称する）１つ以上のキューを識別する。いくつかの例では、キュー１５４に関連付けられたメタデータは、そのキューにパブリッシュ及び／又はサブスクライブを行うデータ処理アプリケーションを識別することができる。図示する例では、キュー１５４は、実行環境１０４のホストであるコンピュータシステム１３０とは異なるコンピュータシステム１３２をホストとして動作する。いくつかの例では、キュー１５４は、実行環境１０４と同じコンピュータシステムをホストとして動作することも可能である。
【００３４】
データ記憶システム１１６は、開発者１２０がデータ処理アプリケーション及び／又はキューを構成することができる開発環境１１８にアクセス可能である。開発環境１１８は、いくつかの実施では、データフローグラフとしてアプリケーションを開発するためのシステムである。データフローグラフは、頂点（データ処理コンポーネント又はデータセットを表す）を含み、頂点は、それらの間の有向リンク（ワーク要素すなわちデータのフローを表す）によって接続されている。例えばそのような環境は、「Ｍａｎａｇｉｎｇ  Ｐａｒａｍｅｔｅｒｓ  ｆｏｒ  Ｇｒａｐｈ−Ｂａｓｅｄ  Ａｐｐｌｉｃａｔｉｏｎｓ」と題する米国公報第２００７／００１１６６８号に、より詳細に記載されている。この公報は引用により本願にも含まれるものとする。このようなグラフベースの計算を実行するためのシステムは、「ＥＸＥＣＵＴＩＮＧ  ＣＯＭＰＵＴＡＴＩＯＮＳ  ＥＸＰＲＥＳＳＥＤ  ＡＳ  ＧＲＡＰＨＳ」と題する米国特許第５，９６６，０７２号に記載されている。この特許は引用により本願にも含まれるものとする。このシステムに従って生成されるデータグラフによって、グラフコンポーネントが表す個々のプロセスに情報を入れたり出したりし、プロセス間で情報を移動させ、プロセスの実行順序を定義するための方法を提供する。このシステムは、いずれかの利用可能な方法からプロセス間通信方法を選択するアルゴリズムを含む（例えば、グラフのリンクに従った通信経路は、ＴＣＰ／ＩＰ又はＵＮＩＸドメインソケットを使用可能であり、又はプロセス間のデータのやり取りのために共有メモリを使用可能である）。
【００３５】
視覚化モジュール１５０は、実行モジュール１１２によって実行されるデータ処理アプリケーションの実行中に、このデータ処理アプリケーション及び関連付けられたキュー１５４（本明細書では「データ処理環境」とも称する）の視覚表現を生成する。視覚表現は、グラフィック表現、表形式の表現、又は別のタイプの表現とすればよい。視覚表現は例えば、データ処理アプリケーション、キュー、データ処理アプリケーションとキューとの関係、データ処理アプリケーション及び／又はキューに関するステータス情報、又は他の情報を含み得る。図示する例では、視覚化モジュール１５０は、実行環境１０４のホストであるコンピュータシステム１３０及びキュー１５４のホストであるコンピュータシステム１３２とは異なるコンピュータシステム１３４をホストとして動作する。いくつかの例では、視覚化モジュール１５０は、実行環境１０４と同じコンピュータシステム及び／又はキュー１５４と同じコンピュータシステムをホストとして動作することも可能である。
【００３６】
データ処理環境の視覚表現を生成するため、データ処理アプリケーションに関連付けられたメタデータ（例えばデータレポジトリ１５２に記憶されているメタデータ）にアクセスして、データ処理アプリケーションの実行中に、データ処理アプリケーションとキューとの関係を動的に識別することができる。例えば、データ処理アプリケーションに関連付けられたメタデータを用いて、データ処理アプリケーションの１つ以上がパブリッシュ及び／又はサブスクライブを行うキューを識別することができる。いくつかの例では、データレジポジトリ１５２に記憶されているキューメタデータ及び／又はキューインタフェースに記憶されているキューデータ等、キューに関連付けられたメタデータにもアクセスすることができる。識別した関係に基づいて、データ処理環境の視覚表現を生成し、ユーザインタフェース１６０上に表示することができる。例えばグラフィック表現の場合、ノードを用いてデータ処理アプリケーション及びキューを表し、ノードを接続するラインを用いてデータ処理アプリケーションとキューとの関係を表すことができる。表形式の表現の場合、データの行及び列を用いてデータ処理アプリケーション及びキューに関する情報を表すことができる。
【００３７】
また、データ処理環境の視覚表現は、データ処理アプリケーション及び／又はキューに関する動的に更新されるステータス情報も含むことができる。いくつかの例では、例えばユーザからの外部入力によって、どのデータ処理アプリケーション及び／又はキューを監視対象とするかを識別することができる。いくつかの例では、実行モジュール１１２により実行されるデータ処理アプリケーション及びそれらが関連付けられたキューの一部又は全部を、監視対象として自動的に指示することができる。いくつかの例では、監視対象のデータ処理アプリケーション及び／又はキューの識別子を監視データベースに記憶することができる。監視データベースで識別されたデータ処理アプリケーション及び／又はキューに関連付けられたメタデータにアクセスして、ステータス情報を特定することができる。
【００３８】
図２を参照すると、データ処理アプリケーションとキューとの関係の一例において、第１のデータ処理アプリケーション２００はキュー２０２にデータをパブリッシュする。２つの下流データ処理アプリケーション２０４及び２０６はキュー２０２にサブスクライブして、例えばキューからデータを与えられる。キュー２０２と第１のデータ処理アプリケーション２００との関係（すなわち第１のデータ処理アプリケーション２００はキュー２０２にパブリッシュする）は、データ処理アプリケーション２００、キュー２０２、データ処理アプリケーション及びキューの双方に関連付けられたメタデータ等の解析によって特定することができる。例えばデータ処理アプリケーション２００には、このデータ処理アプリケーション２００がキュー２０２にパブリッシュすることを規定するメタデータが関連付けられていることがある。キュー２０２と下流データ処理アプリケーション２０４、２０６との関係（すなわち下流データ処理アプリケーション２０４、２０６はキュー２０２にサブスクライブする）は、同様に、データ処理アプリケーション２０４、２０６、キュー２０２、データ処理アプリケーション及びキューの双方に関連付けられたメタデータ等の解析によって特定することができる。
【００３９】
キューは、上流データ処理アプリケーションから下流データ処理アプリケーションへのデータフローを制御するためのバッファとして機能することができる。例えば、下流データ処理アプリケーション２０４、２０６がキュー２０２からデータを読み取ることができる速度よりも速く第１のデータ処理アプリケーション２００がキュー２０２にデータをパブリッシュした場合、下流データ処理アプリケーション２０４、２０６のデータ読み取り準備ができるまでキュー２０２にデータが蓄積する可能性がある。また、キューは、受信及び送信するデータレコードの順序を実質的に維持することができる。例えば先入れ先出しキューでは、キューにパブリッシュされた最初のデータレコードは、キューの読み取りの際に最初に出現するレコードとなることができる。多数のデータ処理アプリケーショが単一のキューに対してパブリッシュ又はサブスクライブする場合、キューによって、データレコードの適正な収集及び分配を確実に行うことができる。例えばキュー２０２は、第１のデータ処理アプリケーション２００によりキュー２０２にパブリッシュされたデータを、確実に下流データ処理アプリケーション２０４、２０６へと適切に分配することができる。
【００４０】
キューは、ファイルシステム内にディレクトリ又はマルチディレクトリを含み得るデータ構造と考えることができる。キュー内のデータは、圧縮されている場合があり、ディスク上のキューディレクトリ内に存在する。キューにデータがパブリッシュされると、データレコードはディスクのキューディレクトリ内に移される（ｌａｎｄ）。例えば図３を参照すると、キュー３００は、ファイルシステム内のｄｉｒｅｃｔｏｒｙ＿ｑｕｅｕｅ＿Ａによって具現化されている。ｄｉｒｅｃｔｏｒｙ＿ｑｕｅｕｅ＿Ａに、パブリッシュ側のデータ処理アプリケーションから受信したデータレコード３０２が存在する。
【００４１】
各キューディレクトリは、サブスクライバ（ｓｕｂｓｃｒｉｂｅｒ）とも称される１つ以上のサブデレィクトリ３０４、３０６を有することができる。各サブスクライバ３０４、３０６は、キュー３００に対するサブスクライブ側の対応するデータ処理アプリケーション３０８、３１０にそれぞれ提供されるｄｉｒｅｃｔｏｒｙ＿ｑｕｅｕｅ＿Ａ内のデータレコードにリンクしている。サブスクライブ側のデータ処理アプリケーションが１つのデータレコードを消費すると、カーソルとも称されるポインタ３１２、３１４が、それぞれ関連付けられたサブスクライバサブディレクトリ３０４、３０６において移動する。カーソルは、サブスクライブ側データ処理アプリケーション３０８、３１０に次に提供されるデータレコードを指し示すある種のブックマークとして機能し、対応するサブスクライブ側データ処理アプリケーションがキューデータのうちどのくらい処理し終えたかを示す。各サブスクライブ側データ処理アプリケーション３０８、３１０は各自の速度でデータレコードを消費することができるので、各サブスクライバディレクトリ３０４、３０６には各自のカーソル３１２、３１４が割り当てられている。従って、例えば図示する例において、サブスクライバサブディレクトリ３０４に対応するデータ処理アプリケーション３０８は、カーソル３１２で示すようにデータレコード５まで処理を終え、サブスクライバサブディレクトリ３０６に対応するデータ処理アプリケーション３１０は、カーソル３１４で示すようにデータレコード６まで処理を終えている。カーソル３１２、３１４は回復機構として使用可能である。すなわち、サブスクライブ側データ処理アプリケーションが故障した場合、対応するカーソルの位置を用いて、最後のチェックポイント又は処理フェーズから処理を再開することができる。あるキューに対する全てのサブスクライバが特定のデータレコードを処理し終えた後、このデータレコードは削除することができる。
【００４２】
書き込みトランザクションのコミット部分の間に、パブリッシュ側データ処理アプリケーションは、ディスク上のキューディレクトリに対するデータファイルの書き込みを終えることができる。各データファイルは１つ以上のデータレコードを含み得る。各データレコードはバイト単位の固有の量のデータを含む。いくつかの例ではキューデータを圧縮することができ、この場合、ディスク上に記憶されるバイト数よりもレコードに含まれるバイト数を大きくすることができる。
【００４３】
キュー及び／又はデータ処理アプリケーションのステータスを監視するために、多種多様な性能測定基準を用いることができる。例えば、キューのステータスを監視するために使用可能である例示的な性能測定基準は、限定ではないが以下の１つ以上を含むことができる。
・ＭＡＸ＿ＤＩＳＫ＿ＳＰＡＣＥ  最も大きいディスク空間を用いるサブスクライバのディスク上のバイト数。
・ＭＡＸ＿ＦＩＬＥＳ  まだ処理していないファイルを最も多く有するサブスクライバのファイル数。
・ＭＡＸ＿ＲＥＣＯＲＤＳ  まだ処理していないレコードを最も多く有するサブスクライバのレコード数。
・ＭＡＸ＿ＲＥＣＯＲＤＳ＿ＳＰＡＣＥ  まだ処理していないレコードを最も多く有するサブスクライバについて、それらのレコードが消費するディスク上のバイト数。キューデータが圧縮されている場合、この値はＭＡＸ＿ＤＩＳＫ＿ＳＰＡＣＥ値とは異なることがある。
・ＭＡＸ＿ＲＥＡＤ＿ＥＬＡＰＳＥＤ  データを読み取るために最も長く待ったサブスクライバがキューからそのデータを読み取ってからの時間（例えば秒単位）。
・ＷＲＩＴＥ＿ＥＬＡＰＳＥＤ  データが最後にキューに書き込まれてからの時間（例えば秒単位）。
・ＭＡＸ＿ＳＫＥＷ  例えば百分率で表される、最小パーティションに対する最大パーティションの比が最大であるサブスクライバの比。
【００４４】
データ処理アプリケーションのステータスを監視するために使用可能である例示的な性能測定基準は、限定ではないが以下の１つ以上を含むことができる。
・ＤＩＳＫ＿ＳＰＡＣＥ  まだ処理されていないサブスクライバのディスク上のバイト数。
・ＦＩＬＥＳ  まだ処理されていないサブスクライバのディスク上のファイル数。
・ＲＥＣＯＲＤＳ  まだ処理されていないサブスクライバのディスク上のレコード数。
・ＲＥＣＯＲＤＳ＿ＳＰＡＣＥ  まだ処理されていないサブスクライバのディスク上のレコード内の未圧縮バイト数。キューデータが圧縮されている場合、この値はＭＡＸ＿ＤＩＳＫ＿ＳＰＡＣＥ値とは異なることがある。
・ＲＥＡＤ＿ＥＬＡＰＳＥＤ  サブスクライブ側データ処理アプリケーションが最後にキューからデータを読み取ってからの経過時間（例えば秒単位）。
・ＳＫＥＷ  例えば百分率で表される、サブスクライバの最小パーティションに対する最大パーティションの比。
【００４５】
データ処理アプリケーションとキュー（すなわちデータ処理環境）との間の動的に検出された関係の視覚表現を生成し、ユーザインタフェース上に提示することができる。視覚表現は、例えばウェブブラウザで提供される対話式とすることによって、ユーザがデータ処理アプリケーション及びキューを閲覧し、新しいデータ処理アプリケーションを生成及び／又は既存のデータ処理アプリケーションを変更し、データ処理アプリケーションのパラメータを指定し、ジョブをスケジューリングし、他のアクションを実行することを可能とする。ユーザが、データ処理アプリケーション及びキュー、並びにデータ処理アプリケーションとキューに関する情報を検索及び閲覧するため、フォームベースのブラウザ画面を生成することができる。例えば、様々なグラフィック要素を利用可能である。関係は、メタデータオブジェクト又はメタデータオブジェクトのグループ化を表すグラフィックノードを接続するグラフィックラインとして表現することができる。
【００４６】
データ処理環境の視覚表現は、この視覚表現に含まれるキュー及び／又はデータ処理アプリケーションのステータスに関する情報を提供することができる。例えば視覚表現は、キューがアクティブなパブリッシャ、アクティブなサブスクライバを有するか、それら双方を有するか、どちらも有しないか等に関する指示を含み得る。視覚表現は、データ処理アプリケーションが１つ以上のキューに対するパブリッシャ及び／又はサブスクライバであるかに関する指示を含み得る。キュー及び／又はデータ処理アプリケーションについての警告、エラー、及び他の実行時ステータスインジケータを表示することができる。キューに対するパブリッシュ、キューに対するサブスクライブ等のデータ処理ジョブの表現を表示することも可能である。先に列挙したもの等の性能測定基準をグラフィックに又は表形式で表示してもよい。いくつかの構成では、キュー及び／又はデータ処理アプリケーションに性能測定基準の閾値を設定して、１つ以上の関連付けられた性能測定基準が対応する閾値を超えた場合にアラートを発することができる（例えば視覚表現内のアラート、音声アラート、又は他のタイプのアラート）。
【００４７】
図４を参照すると、視覚化モジュール１５０（図１も参照のこと）は、例えば１つ以上のキュー４０２及び１つ以上のデータ処理アプリケーション４０４を含むデータ処理環境の視覚表現を生成する。
【００４８】
キュー監視サブモジュール４０６は、データ処理環境の各キュー４０２（キュー１〜Ｎと識別される）のインタフェースに問い合わせて、各キュー４０２のステータスを特定する。キュー監視サブモジュール４０６は、例えば１０分ごとのように周期的にキューの対応するインタフェースに問い合わせることができる。ステータス情報には、例えば先に列挙した性能測定基準の１つ以上が含まれ得る。キュー監視サブモジュール４０６は、各キュー４０２のステータスに関するデータを報告サブモジュール４０８に提供する。
【００４９】
いくつかの例では、データ処理アプリケーションは、例えばデータ処理アプリケーションに関連付けられたメタデータを介して、キューからの読み取り又はキューへの書き込みの際に通知を行う。データ処理アプリケーション４０４（データ処理アプリケーション１〜Ｎと識別される）は、読み取り又は書き込みを行うキューの識別（ｉｄｅｎｔｉｔｙ）を示すメタデータを、ステータス及び追跡メタデータと共に、報告サブモジュール４０８に提供する。いくつかの例では、報告サブモジュール４０８がデータ処理アプリケーション４０４に関連付けられたメタデータにアクセスして、キューを識別すると共にステータス及び追跡メタデータを特定する。
【００５０】
報告サブモジュール４０８は、データ処理アプリケーション４０４及びキュー監視モジュール４０６からの情報を集約し、集約した情報を視覚化サブモジュール４１０に送出する。視覚化サブモジュール４１０は、データ処理環境のキュー４０２及びデータ処理アプリケーション４０４に関する受信データをデータベース４１２に記憶する。視覚化サブモジュール４１０は、キュー４０２に関する情報及びデータ処理アプリケーション４０４に関する情報を相互に関係付けて、個々のキュー４０２と個々のデータ処理アプリケーション４０４との関係を識別する（例えばどのデータ処理アプリケーションがどのキューにパブリッシュ及びサブスクライブを行うかを識別する）。キュー４０２とデータ処理アプリケーション４０４との相関関係に基づいて、視覚化サブモジュール４１０はデータ処理環境の表現を生成する。この表現は、例えばキュー４０２とデータ処理アプリケーション４０４との関係、キュー及び／又はデータ処理アプリケーションのステータス、及び／又は他の情報を表すことができる。視覚化サブモジュール４１０は多くの場合、この表現をグラフィック表現又は表形式の表現等の視覚表現としてレンダリングするため、ウェブブラウザ４１４等の表示インタフェースに提供する。
【００５１】
図５は、データ処理環境のグラフィック表現５００の一例を示す（キュー接続図とも称する）。キュー接続図５００は、ノードとして表されるデータ処理アプリケーション及びキュー間の接続を概略的に示す。キュー接続図５００では、データ処理アプリケーション５０２（「ｐｕｂｌｉｓｈ１．ｐｓｅｔ」と表示）が、キュー５０４（「ｔｅｓｔｑｕｅｕｅ」と表示）にパブリッシュ（書き込み）することが表されている。キュー５０４は２つのサブスクライバ５０６、５０８を有する（第１のものは「ｏｎｅ」、第２のものは「ｔｗｏ」と表示）。各サブスクライバ５０６、５０８は、それぞれデータ処理アプリケーション５１０（「ｓｕｂｓｃｒｉｂｅ１．ｐｓｅｔ」と表示）及び５１２（「ｓｕｂｓｃｒｉｂｅ２．ｐｓｅｔ」と表示）に対応し、これらはキュー５０４（「ｔｅｓｔｑｕｅｕｅ１」と表示）から読み取り（サブスクライブ）を行っている。データ処理アプリケーション５１０（「ｓｕｂｓｃｒｉｂｅ１．ｐｓｅｔ」と表示）は、キュー５１４（「ｔｅｓｔｑｕｅｕｅ２」と表示）にパブリッシュする。キュー５１４は、更に別のデータ処理アプリケーション５１６（「ｓｕｂｓｃｒｉｂｅ３．ｐｓｅｔ」と表示）に対応するサブスクライバ（図示せず）を有する。データ処理アプリケーション５１２（「ｓｕｂｓｃｒｉｂｅ２．ｐｓｅｔ」と表示）は、キュー５１８（「ｔｅｓｔｑｕｅｕｅ３」と表示）にパブリッシュする。キュー５１８は、更に別のデータ処理アプリケーション５２０（「ｓｕｂｓｃｒｉｂｅ４．ｐｓｅｔ」と表示）に対応するサブスクライバ５１９（「ｏｎｅ」と表示）を有する。
【００５２】
キュー接続図５００のようなキュー接続図は、このキュー接続図に示すキュー及びデータ処理アプリケーションに関する情報を含む。いくつかの例では、ユーザはキュー接続図に表示される情報を選択することができる。例えばキュー接続図に含まれる例示的な情報は、以下の情報の一部又は全部を含み得る。
・キュー接続図に描かれた各キューの名前。いくつかの例ではキュー名は、デフォルトで、キューが生成されたディレクトリの名前と同じものに設定することができる。
・パブリッシャ及びサブスクライバのアクティビティ。各キューは、１つ以上のパブリッシャ及び１つ以上のサブスクライバにそれぞれ接続された入力及び出力を有する。アイコン又はカラーインジケータ等のインジケータによって、各パブリッシャ又はサブスクライバが実行中であるか否かを示すことができる。例えばキューに対する１つ以上のパブリッシャが実行中である場合、キューの入力側を緑色で表示することができる。キューに対する１つ以上のサブスクライバが実行中である場合、キューの出力側を緑色で表示することができる。
・キュー又はデータ処理アプリケーションの問題。キュー又はデータ処理アプリケーションに関連したエラー又はアラート等の問題を、アイコン、カラーインジケータ、又は他のタイプのインジケータ等のインジケータによって表すことができる。例えばインジケータは、キュー又はデータ処理アプリケーションに関連した問題の数、最も重大な問題の重大度、又は他の問題の指示を表すことができる。
・先に列挙した性能測定基準のような性能測定基準。例えば図示する例では、性能測定基準ＭＡＸ＿ＲＥＣＯＲＤＳを表す数字が示されている。最大レコード数が大きい場合、キューにデータレコードが蓄積していることが示唆される。これは、サブスクライブジョブに何らかの問題があることを示す可能性がある。
・サブスクライバ。キューに対する各サブスクライバの名前を、各サブスクライバに残っているレコード数、各サブスクライバに関連する問題、又はサブスクライバに関連する他の情報と共に表示することができる。サブスクライバ名を選択する（例えばクリック、タップ、マウス等のポインティングデバイスを上に乗せる（ｈｏｖｅｒ  ｏｖｅｒ）こと等によって）と、サブスクライバに関する更に別の情報を示すサブスクライバダイアログボックスが開くように、サブスクライバ名をアクティブなリンクとすることができる。これについては以下で説明する。
・パブリッシュジョブ。キューに関連する各パブリッシュジョブの名前、ステータス、又は他の情報を表示することができる。ジョブ名を選択する（例えばクリック、タップ、マウス等のポインティングデバイスを上に乗せること等によって）と、ジョブに関する更に別の情報を示すジョブダイアログボックスが開くように、ジョブ名をアクティブなリンクとすることができる。これについては以下で説明する。
【００５３】
キュー接続図５００では、キュー５０４（「ｔｅｓｔｑｕｅｕｅ１」と表示）の２つのサブスクライバ５０６、５０８のステータスが示されている。サブスクライバ５０６（「ｏｎｅ」と表示）は、キューを空にした（ｄｒａｉｎ）ので、キュー５０４（「ｔｅｓｔｑｕｅｕｅ１」と表示）にはサブスクライバ５０６「ｏｎｅ」と表示）のレコードは残っていない（「０  ｒｅｃｓ（０レコード）」と表示）。成功アイコン５１０ａ（例えば青色の点、緑色の点、又は成功を示す他のアイコン）は、サブスクライバ５０６（「ｏｎｅ」と表示）に対応するデータ処理アプリケーション５１０（「ｓｕｂｓｃｒｉｂｅ１．ｐｓｅｔ」と表示）の実行が成功したことを示す。サブスクライバ５０８（「ｔｗｏ」と表示）は、キュー５０４（「ｔｅｓｔｑｕｅｕｅ１」と表示）を空にすることができなかったので、キュー５０４（「ｔｅｓｔｑｕｅｕｅ１」と表示）にはサブスクライバ５０８（「ｔｗｏ」と表示）の３９８のレコードが残っている（「３９８  ｒｅｃｓ（３９８レコード）」と表示）。失敗アイコン５１２ａ（例えば赤色の点、黒色の点、又は失敗を示す他のアイコン）は、サブスクライバ５０８（「ｔｗｏ」と表示）に対応するデータ処理アプリケーション５１２（「ｓｕｂｓｃｒｉｂｅ２．ｐｓｅｔ」と表示）が正常に実行できなかったことを示す。アラートアイコン５２２は、データ処理アプリケーション５１２（「ｓｕｂｓｃｒｉｂｅ２．ｐｓｅｔ」と表示）の実行中にエラーが発生したことを示す。
【００５４】
図６は、図５のグラフィック表現５００に示したものと同じデータ処理環境の表形式の表現６００の一例を示す（キューグリッドビューとも称する）。キューグリッドビューは、キュー接続図に含まれたものと同じ情報の一部又は全部を含み得る。１行のデータは監視される各キューに対応する。列は、対応するキューについて、例えばパブリッシャ及びサブスクライバに対する接続、キュー、そのサブスクライバ、及び／又はそのパブリッシャのステータス情報、ジョブのステータス情報、及び他の情報等の情報を与える。キューグリッドビューは、例えば多くのデータ処理アプリケーション及び／又は多くのキューを有するデータ処理環境を視覚化するために有用であり得る。キューグリッドビューでは、ソート、検索、及びスケーリング動作も可能である。
【００５５】
キューグリッドビュー６００のようなキューグリッドビューは、このキューグリッドビューに含まれるキュー及びデータ処理アプリケーションに関する情報を含む。いくつかの例では、ユーザはキューグリッドビューに表示される情報を選択することができる。例えばキューグリッドビューに含まれる例示的な情報は、以下の情報の一部又は全部を含み得る。
・キューグリッドビューに表された各キューの名前。
・各キューが関連付けられているホスト。例えば、各キューが関連付けられているファイルシステム実行ホストの名前をリスト化することができる。
・キュー又はデータ処理アプリケーションのステータス。キュー又はデータ処理アプリケーションに関連したエラー又はアラート等の問題を、アイコン、カラーインジケータ、又は他のタイプのインジケータ等のインジケータによって表すことができる。例えばインジケータは、キュー又はデータ処理アプリケーションに関連した問題の数、最も重大な問題の重大度、又は他の問題の指示を表すことができる。
・先に列挙した性能測定基準のような性能測定基準。
・最後のジョブ。各サブスクライバからデータを読み取った最後のジョブの名前。ジョブ名を選択する（例えばクリック、タップ、マウス等のポインティングデバイスを上に乗せること等によって）と、ジョブに関する更に別の情報を示すジョブダイアログボックスが開くように、ジョブ名をアクティブなリンクとすることができる。
・ジョブステータス。現在接続されているジョブが存在する場合、そのステータス。現在ジョブが存在しない場合は、接続された最後のジョブのステータス。
・ジョブの問題。現在のジョブ又は最後のジョブに関連した問題。
・関連付けられたオペレーティングシステム等の、関連するシステム。
【００５６】
図７は、ある特定のキュー、この例ではキュー５０４（「ｔｅｓｔｑｕｅｕｅ１」と表示）に関する詳細を示すキューダイアログボックス７００を示す（キュー詳細ビューとも称する）。特定のキューのダイアログボックス７００は、キュー接続図又はキューグリッドビューからキュー名を選択することで得られる。キュー詳細ビューは、キュー接続図及び／又はキューグリッドビューに表示される情報の一部又は全部を提供することができると共に、特定のキューに関する以下の追加情報の一部又は全部を提供することができる。
・ディレクトリ。キューが生成されたホストファイルシステム内の位置。
・システム。キューが割り当てられている実行環境（例えば図１の実行環境１０４）。
・キューのタイプ。例えば標準キュー又はリサイクル＿キュー（ｒｅｃｙｃｌｅ＿ｑｕｅｕｅ）等の様々なタイプのキューが可能である。
・バージョン。キューのソフトウェアバージョン。
・パーティション。キューのマルチディレクトリ内のパーティション数。
・属性。キューの生成時にキューに割り当てられた属性のリスト。属性は、例えばキューデータが圧縮されているか、データが受信されなかったチェックポイント又は計算点を明示する空のファイルがキューに含まれるか、又は他の属性を含み得る。
・通知グループ。キューが関連付けられているいずれかの警告及びエラー通知グループの名前。
【００５７】
図８は、ある特定のキュー、この例ではキュー５０４に関する詳細を示す表形式のビュー８００を示す。特定のキューの表形式のビュー８００は、キュー詳細ビュー７００で「詳細」リンクを選択することによって得られる。表形式のビュー８００は、先に列挙した情報の一部又は全部のような、キューに関する情報を提供する。例えば表形式のビュー８００は、キューに対するパブリッシャ及びサブスクライバに関する情報、キューの測定基準等の情報を含み得る。例えば図示する例では、サブスクライバ５０８（「ｔｗｏ」と表示）に関連付けられたデータ処理アプリケーション５１２（「ｓｕｂｓｃｒｉｂｅ２．ｐｓｅｔ」と表示）にエラーが発生していることがわかる。この例では、図５に示したように、データ処理アプリケーション５１２（「ｓｕｂｓｃｒｉｂｅ２．ｐｓｅｔ」と表示）は正常に実行できなかったので、サブスクライバ５０８（「ｔｗｏ」と表示）はキュー５０４（「ｔｅｓｔｑｕｅｕｅ１」と表示）を空にすることができなかった。
【００５８】
図９は、ある特定のサブスクライバに対応するジョブに関する情報を示すジョブダイアログボックス９００を示す（ジョブ詳細ビューとも称する）。ジョブダイアログボックス９００は、例えばキュー接続図５００、キューグリッドビュー６００、又は表形式のビュー８００からサブスクライバの名前を選択することによって得られる。例えば図示する例では、ダイアログボックス９００は、サブスクライバ５０８（「ｔｗｏ」と表示）に対応するデータ処理アプリケーション５１３（「ｓｕｂｓｃｒｉｂｅ２．ｐｓｅｔ」と表示）に関する情報を示す。ダイアログボックス９００は、例えばデータ処理アプリケーションのシステム詳細、ステータスインジケータ、性能統計データ、及びデータ処理アプリケーションの他のタイプの情報を含む情報を示す。
【００５９】
図１０は、ある特定のデータ処理アプリケーション、この例ではデータ処理アプリケーション５１２（「ｓｕｂｓｃｒｉｂｅ２．ｐｓｅｔ」と表示）に関連付けられたキューに関する詳細を示す表形式のビュー１０を示す。特定のデータ処理アプリケーションの表形式のビュー１０は、データ処理アプリケーション詳細ビュー９００で「詳細」リンクを選択することによって得られる。例えば図示する例において、表形式のビュー１０は、データ処理アプリケーション５１２（「ｓｕｂｓｃｒｉｂｅ２．ｐｓｅｔ」と表示）が、キュー５０４（「ｔｅｓｔｑｕｅｕｅ１」と表示）から読み取りを行い、キュー５１８（「ｔｅｓｔｑｕｅｕｅ３」と表示）５１８に書き込みを行うことを示す。
【００６０】
いくつかの例において、データ処理環境は、制約された情報を含むキュー及び／又はデータ処理アプリケーションを含み得る。この制約された情報は、データ処理環境の視覚表現に表示されない場合がある。例えばユーザは、第１のシステムにアクセスするが第２のシステムにはアクセスしないことがある。第１のシステム及び第２のシステムの双方からのジョブが、視覚表現でユーザに表示された特定のキューにサブスクライブした場合、キューにサブスクライブする第２のシステムからのジョブに関する情報は何も表示されないことがある。
【００６１】
図１１を参照すると、例示的なプロセスにおいて、データ処理アプリケーションの実行中に、データ処理アプリケーションによって提供された情報を受信する（５０）。この情報は、データ処理アプリケーションのデータソース及びデータ処理アプリケーションのデータ宛先の少なくとも一方を示す。例えば、情報はキューを識別することができる。
【００６２】
データ処理アプリケーションの実行中に情報を動的に解析して、データ処理アプリケーションと通信状態にあるキューを識別する（５２）。データ処理アプリケーションの実行中に情報を動的に解析して、データ処理アプリケーションとキューとの関係を識別する（５４）。例えば、キューはデータ処理アプリケーションのデータソースであり得る（すなわちデータ処理アプリケーションはキューにサブスクライブする）。キューは、データ処理アプリケーションのデータ宛先である場合もある（すなわちデータ処理アプリケーションはキューにパブリッシュする）。
【００６３】
いくつかの例では、キュー及び／又はデータ処理アプリケーションのステータスを、例えばデータ処理アプリケーションの実行中に動的に特定することができる。
【００６４】
図１２を参照すると、例示的なプロセスにおいて、データ処理アプリケーションの実行中に、データ処理アプリケーションから、データ処理アプリケーションとキューとの関係を示す情報を受信する（６０）。この関係は、データ処理アプリケーションのデータソースであるキュー及びデータ処理アプリケーションのデータ宛先であるキューの少なくとも一方を含む。いくつかの例では、複数のデータ処理アプリケーション及び複数のキュー間の関係を示す情報を受信することができる。
【００６５】
データ処理アプリケーション、キュー、及びデータ処理アプリケーションとキューとの関係のグラフィック表現を生成し（６２）、このグラフィック表現をデータ処理アプリケーションの実行中にユーザインタフェースに表示する（６４）。いくつかの例では、グラフィック表現は、データ処理アプリケーションを表すための第１のノード、キューを表すための第２のノード、及び関係を表すためのデータ処理アプリケーションとキューとの接続を含み得る。いくつかの例では、キューのステータスを特定し、ステータスの表現をグラフィック表現に含ませることができ、又はステータスに基づいて通知を与えることができる。
【００６６】
一例の実施において、本明細書に記載したキュー監視及び視覚化技法は、課金の目的のための電話レコードの処理に適用することができる。多数の電話レコードを課金システムによって処理して電話料金請求書を生成することができる。処理中に潜在的なエラーの発生及び位置を視覚化することができるので、課金プロセスの精度及び効率の確保に役立つ。
【００６７】
上述のキュー監視及び視覚化技法は、適切なソフトウェアを実行するコンピューティングシステムを用いて実施可能である。例えばこのソフトウェアは、１つ以上のプログラムされたか又はプログラム可能なコンピューティングシステム（これは、分散型、クライアント／サーバ、又はグリッド等の様々なアーキテクチャのものであり得る）上で実行する１つ以上のコンピュータプログラムにおける手順を含むことができる。これらのコンピュータシステムの各々は、少なくとも１つのプロセッサ、少なくとも１つのデータ記憶システム（揮発性及び／又は不揮発性のメモリ及び／又は記憶要素を含む）、少なくとも１つのユーザインタフェース（少なくとも１つの入力デバイス又はポートを用いて入力を受信するため、及び少なくとも１つの出力デバイス又はポートを用いて出力を与えるため）を含む。ソフトウェアは、例えばデータフローグラフの設計、構成、及び実行に関連したサービスを提供するもっと大きいプログラムの１つ以上のモジュールを含むことも可能である。プログラムのモジュール（例えばデータフローグラフの要素）は、データリポジトリに記憶されたデータモデルに従ったデータ構造又は他の組織化されたデータとして、実施することができる。
【００６８】
ソフトウェアは、（例えば汎用もしくは特殊用途のコンピューティングシステム又はデバイスにより読み取り可能な）ＣＤ−ＲＯＭ又は他のコンピュータ読み取り可能媒体等の有形の非一時的な媒体上に提供するか、又は実行時にネットワークの通信媒体を介してコンピューティングシステムの有形の非一時的な媒体に（例えば伝搬信号で符号化して）送出することができる。処理の一部又は全ては、特殊用途コンピュータ上で、又はコプロセッサもしくはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは専用の特定用途向け集積回路（ＡＳＩＣ）等の特殊用途ハードウェアを用いて、実行可能である。処理は、このソフトウェアにより規定される計算の異なる部分が異なるコンピューティング要素によって実行される分散型で実施することができる。そのようなコンピュータプログラムは各々、汎用又は特殊用途プログラム可能コンピュータによってアクセス可能な記憶デバイスのコンピュータ読み取り可能記憶媒体（例えば固体メモリもしくは媒体、又は磁気もしくは光媒体）上に記憶するか、又はそれにダウンロードすることが好ましい。これにより、本明細書に記載した処理を実行するためにこの記憶デバイス媒体がコンピュータによって読み取られた場合、コンピュータを構成し動作させる。また、本発明のシステムは、コンピュータプログラムによって構成された有形の非一時的な媒体として実施されると見なすことができ、そのように構成された媒体によって、コンピュータは、本明細書に記載した処理ステップの１つ以上を実行するために特定かつ既定の方法で動作する。
【００６９】
本発明の多数の実施形態について記載した。しかしながら、前述の記載は例示を意図し、添付の特許請求の範囲の範囲により規定される本発明の範囲を限定することは意図していないことは理解されよう。従って、他の実施形態も以下の特許請求項の範囲内である。例えば、本発明の範囲から逸脱することなく様々な変形を行い得る。加えて、上述のステップのいくつかは順序に依存しない場合があり、従って記載したものとは異なる順序で実行可能である。
【図１】
0006423803.tif 000002
【図２】
0006423803.tif 000003
【図３】
0006423803.tif 000004
【図４】
0006423803.tif 000005
【図５】
0006423803.tif 000006
【図６】
0006423803.tif 000007
【図７】
0006423803.tif 000008
【図８】
0006423803.tif 000009
【図９】
0006423803.tif 000010
【図１０】
0006423803.tif 000011
【図１１】
0006423803.tif 000012
【図１２】
0006423803.tif 000013