(57)【要約】二つ以上の物理的に相違する入力ストリームと論理的に適合する出力ストリームを生成する論理マージ・モジュールが本稿に記載される。前記論理マージ・モジュールの代表的な応用も本稿に記載される。
2014524175.tif 000002
【特許請求の範囲】
【請求項１】
データのストリームをマージするための、物理的かつ有体なコンピューティング機能によって実装される方法であって：
複数の物理的に相違する入力ストリームをそれぞれの源から受領する段階と；
論理マージ・モジュールを使って、各入力ストリームと論理的に適合する出力ストリームを生成する段階とを含む、
方法。
【請求項２】
各入力ストリーム中の各要素について：
前記要素の型を評価する段階と；
前記要素に応答して取るべき出力アクションを決定する段階であって、前記出力アクションは：
前記出力ストリームに何の寄与も提供しないこと；
前記出力ストリームに新たな出力情報を提供すること；
前記出力ストリーム中の前の出力情報を調整すること；および
前記出力ストリームに進行マーカー情報を提供すること、のうちから選択される、段階と；
前記論理マージ・モジュールに関連付けられた状態を調整する段階とをさらに含む、
方法。
【請求項３】
前記論理マージ・モジュールが、前記決定する段階および前記調整する段階を実行するために、複数のアルゴリズムのうちから選択されるアルゴリズムを適用し、前記複数のアルゴリズムは前記複数の入力ストリームに関連付けられる制約のさまざまな個別のレベルに関連付けられている、請求項２記載の方法。
【請求項４】
前記入力ストリームが複数の個別のユニットから発し、前記ユニットが同じ連続的な問い合わせを実装する、請求項１記載の方法。
【請求項５】
前記複数の個別のユニットが異なるそれぞれの問い合わせプランを使って前記連続的な問い合わせを実行する、請求項４記載の方法。
【請求項６】
前記複数のユニットのうちの少なくとも一つがその動作を先に進めることができるようにするため、前記複数のユニットのうちの前記少なくとも一つにフィードバック情報を送る段階をさらに含む、請求項４記載の方法。
【請求項７】
任意の所与の時点において少なくとも一つの障害を起こしていない入力ストリームから選択することによって、前記出力ストリームが前記論理マージ・モジュールによって生成されて、高い可用性を提供する、請求項１記載の方法。
【請求項８】
任意の所与の時点において少なくとも一つの適時の入力ストリームから選択することによって、前記出力ストリームが前記論理マージ・モジュールによって生成されて、速い可用性を提供する、請求項１記載の方法。
【請求項９】
ストリームを処理するための、物理的かつ有体なコンピューティング機能によって実装される論理マージ・モジュールであって：
複数の物理的に相違する入力ストリーム中の諸要素をパースする要素パース・モジュールと；
前記要素パース・モジュールによって同定された各要素の型を評価する要素型判別モジュールと；
出力ストリームを生成するために、同定された各要素に応答して取るべき出力アクションを決定する要素処理モジュールであって、前記出力アクションは：
前記出力ストリームに何の寄与も提供しないこと；
前記出力ストリームに新たな出力情報を提供すること；
前記出力ストリーム中の前の出力情報を調整すること；および
前記出力ストリームに進行マーカー情報を提供すること、のうちから選択される、要素処理モジュールと；
前記論理マージ・モジュールに関連付けられた状態を調整する状態管理モジュールとを有しており、
前記要素処理モジュールによって生成される前記出力ストリームは、前記複数の入力ストリームのそれぞれと論理的に適合する、
論理マージ・モジュール。
【請求項１０】
一つまたは複数の処理装置によって実行されたときに論理マージ・モジュールを提供するコンピュータ可読命令を記憶しているコンピュータ可読記憶媒体であって、前記コンピュータ可読命令は：
複数の物理的に相違する入力ストリームを、同じ連続的な問い合わせを実行するそれぞれの源から受領する論理と；
論理マージ作用部を使って、各入力ストリームのTDB表現と論理的に等価な時間的データベース（TDB）表現をもつ出力ストリームを生成する論理とを含む、
コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、物理的に相違する（divergent）複数のストリームに対する効率的な論理マージに関する。
【背景技術】
【０００２】
データ処理モジュール（データ・ストリーム管理システムのような）はさまざまなシナリオにおいて冗長なデータ・ストリームを受領し、処理しうる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本稿に記載される理由により、データ処理モジュールはこのタスクの実行にあたってさまざまな困難に直面することがある。
【課題を解決するための手段】
【０００４】
物理的に相違する入力ストリームを論理的にマージするための機能が本稿に記載される。ある実施形態では、この機能は、任意の個別源からの入力ストリームを受領することによって作用する。次いで、この機能は、論理マージ・モジュールを使って、各入力ストリームと論理的に適合する出力ストリームを生成する。
【０００５】
もう一つの例示的な側面によれば、論理マージ・モジュールは、データ・ストリーム管理システム内で連続的な問い合わせ（continuous  query）を実装するために適用されてもよい作用部（operator）を表す。さらに、論理マージ・モジュールの一つまたは複数のインスタンス化（instantiation）は、他の型の作用部と任意の仕方で組み合わされてもよい。
【０００６】
もう一つの例示的な側面によれば、この機能は、異なるそれぞれの型の入力シナリオを扱うために異なるアルゴリズムを提供することができる。異なるアルゴリズムは、異なるシナリオにおいて入力ストリームに適用されうる異なる制約条件を利用する。
【０００７】
もう一つの例示的な側面によれば、この機能は、異なる応用目的を達成するために異なる環境において適用されることができる。たとえば、この機能は、たとえば高い可用性、速い可用性を保証することにより、出力ストリームの可用性を改善するために使われることができる。この機能はまた、たとえば問い合わせジャンプスタート、問い合わせカットオーバーなどを提供することによって、データ・ストリームの導入および除去を容易にするために使用されることができる。この機能はまた、遅れデータ・ストリームを出力する源にフィードバック情報を提供して、その源が論理マージ・モジュールに、より適時の結果を提供できるようにすることもできる。
【０００８】
上記のアプローチは、さまざまな型のシステム、コンポーネント、方法、コンピュータ可読媒体、データ構造、製造物などにおいて具現されることができる。
【０００９】
この概要は、簡略化された形で諸概念のセレクションを紹介するために提供されており、そうした概念は以下で詳細な説明においてさらに述べられる。この概要は、特許請求される主題の鍵となる特徴や本質的な特徴を特定することは意図されておらず、特許請求される主題の範囲を限定するために使われることも意図されていない。
【図面の簡単な説明】
【００１０】
【図１】物理的に相違する入力ストリームと論理的に適合する出力ストリームを生成するための論理マージ・モジュールを使う例示的な機能を示す図である。
【図２】図１の論理マージ・モジュールの一つの応用の概観を示す図である。
【図３】図１の論理マージ・モジュールの別の応用の概観を示す図である。
【図４】ストリームの物理的な表現を示す図である。
【図５】時間的データベース（TDB:  temporal  database）インスタンスの形で入力ストリームの論理表現を示す図である。
【図６】図１の論理マージ・モジュールを使って、二つの物理的に相違する入力ストリームが論理的に適合する出力ストリームに変換される例を示す図である。
【図７】二つの物理的に相違する入力ストリームが、それぞれ異なるレベルの「饒舌さ（chattiness）」をもつ三つの代替的な出力ストリームに変換される例を示す図である。
【図８】図１の論理マージ・モジュールの一つの動作様式の概観を記述する手順である。
【図９】図１の論理マージ・モジュールの一つの実装を示す図である。
【図１０】一組の入力ストリームの特徴に基づいて、（図９の論理マージ・モジュールによる使用のための）アルゴリズムを選択する手順である。
【図１１】図９の論理マージ・モジュールを使って入力ストリーム内の要素を処理する手順である。
【図１２】複数のそれぞれのアルゴリズムによって状態情報を維持するために使われることができる異なるデータ構造を示す図である。
【図１３】図９の論理マージ・モジュールを使って入力ストリームを処理するための種々のアルゴリズムの一つを示す図である。
【図１４】図９の論理マージ・モジュールを使って入力ストリームを処理するための種々のアルゴリズムの一つを示す図である。
【図１５】図９の論理マージ・モジュールを使って入力ストリームを処理するための種々のアルゴリズムの一つを示す図である。
【図１６】図９の論理マージ・モジュールを使って入力ストリームを処理するための種々のアルゴリズムの一つを示す図である。
【図１７】論理マージ・モジュールのさまざまな応用を説明するための媒介物のはたらきをする、論理マージ・モジュールを組み込む機能を示す図である。
【図１８】図１７の論理マージ・モジュールのさまざまな応用を記載する手順である。
【図１９】以上の図に示される特徴のいずれかの側面を実装するために使用されることのできる例示的なコンピューティング機能を示す図である。  同様のコンポーネントおよび特徴を指すために本開示および諸図面を通じて同じ番号が使われている。１００番台の数はもともと図１に見出される特徴を指し、２００番台の数はもともと図２に見出される特徴を指し、３００番台の数はもともと図３に見出される特徴を指す、などとなる。
【発明を実施するための形態】
【００１１】
本開示は、次のように構成される。セクションＡは、二つ以上の物理的に相違する入力ストリームと論理的に適合する出力ストリームを生成する論理マージ・モジュールの概観を与える。セクションＢは、セクションＡの論理マージ・モジュールの一つの代表的な実装を記述する。この実装は、可能なコンテキスト固有アルゴリズムの集合から選択されるアルゴリズムを採用することができる。セクションＣは、セクションＡの論理マージ・モジュールの代表的な応用を記述する。セクションＤはセクションＡ〜Ｃに記述される特徴の何らかの側面を実装するために使用できる例示的なコンピューティング機能を記述する。
【００１２】
予備的事項として、図のいくつかは、機能、モジュール、特徴、要素などとさまざまに呼ばれる一つまたは複数の構造的なコンポーネントのコンテキストにおいて概念を記載する。図に示されるさまざまなコンポーネントは、任意の物理的および有体な機構によって、たとえばソフトウェア、ハードウェア（たとえばチップ実装される論理機能）、ファームウェアなどおよび／またはその任意の組み合わせによって、任意の仕方で実装されることができる。ある場合には、図面におけるさまざまなコンポーネントの相異なるユニットへの示される分離は、実際の実装における対応する相異なる物理的および有体なコンポーネントの使用を反映することがある。代替的または追加的に、図に示される任意の単一のコンポーネントが複数の実際の物理的コンポーネントによって実装されてもよい。代替的または追加的に、任意の二つ以上の別個のコンポーネントの図面における描出は、単一の実際の物理的コンポーネントによって実行される異なる機能を反映することもある。のちに論じる図１９は、諸図面に示される機能のある例示的な物理的実装に関する追加的な詳細を提供する。
【００１３】
他の図面はフローチャートの形で概念を記述する。この形では、ある種の動作が、ある種の順序で実行される相異なるブロックをなすものとして記述される。そのような実装は例示的であり、限定するものではない。本稿に記載されるある種のブロックは、グループ化され、単一の動作において実行されることができ、ある種のブロックは複数のコンポーネント・ブロックに分解されることができ、ある種のブロックは本願で示されるのとは異なる順序で（諸ブロックを実行する並列的な仕方を含む）実行されることができる。フローチャートに示されるブロックは、任意の物理的および有体な機構によって、たとえばソフトウェア、ハードウェア（たとえばチップ実装される論理機能）、ファームウェアなどおよび／またはその任意の組み合わせによって、任意の仕方で実装されることができる。
【００１４】
用語に関し、「構成される」という句は、任意の種類の物理的および有体な機能が同定される動作を実行するよう構築されることができる任意の仕方を包含する。その機能は、たとえばソフトウェア、ハードウェア（たとえばチップ実装される論理機能）、ファームウェアなどおよび／またはその任意の組み合わせを使って動作を実行するよう構成されることができる。
【００１５】
用語「論理」は、タスクを実行するための任意の物理的および有体な機能を包含する。たとえば、フローチャートに示される各動作は、その動作を実行するための論理コンポーネントに対応する。動作は、たとえばソフトウェア、ハードウェア（たとえばチップ実装される論理機能）、ファームウェアなどおよび／またはその任意の組み合わせを使って実行されることができる。コンピュータ・システムによって実装されるとき、論理コンポーネントは、いかなる実装のものであれ、当該コンピューティング・システムの物理的な部分である電気的コンポーネントを表す。
【００１６】
以下の説明は、一つまたは複数の特徴を「任意的」と特定することがある。この型の陳述は、任意的であると考えられうる特徴を網羅的に指示しているものと解釈されるものではない。すなわち、本文中で明示的に同定されていなくても、他の特徴が任意的と考えられることもある。最後に、「例示的」または「例解の」という用語は、潜在的に多数ある実装のうちの一つの実装を指す。
【００１７】
Ａ．論理マージ・モジュールの概観
図１は、物理的に相違する複数のストリームと論理的に適合する出力ストリームを生成するために論理マージ・モジュール１０２を使うための機能１００の概観を示している（ここで、たとえば図４および図５に関する後述する説明が、「物理的」「論理的」の概念を明確にする）。より具体的には、論理マージ・モジュール１０２は複数のそれぞれの物理的源から二つ以上のデジタル入力ストリームを受領する。これらの入力ストリームは意味的には同じ情報を伝達するが、その情報を異なる物理的な仕方で表現することがある（後述する理由により）。論理マージ・モジュール１０２は動的に、物理的に相違する入力ストリームのそれぞれを論理的に表す出力ストリームを生成する。換言すれば、出力ストリームは、各入力ストリームと適合する仕方で入力ストリームの論理的なエッセンスを表現する統一された仕方を提供する。任意の型の消費エンティティ（単数または複数）が出力ストリームを利用しうる。
【００１８】
任意の実装環境１０４が論理マージ・モジュール１０２を使用してもよい。本稿で最も顕著にフィーチャーされる例では、実装環境１０４はデータ・ストリーム管理システム（DSMSシステム）に対応する。DSMSシステムは、論理マージ・モジュール１０２を、連続的な問い合わせにおける少なくとも一つのコンポーネントとして適用してもよい。（背景として、連続的な問い合わせ（continuous  query）とは、データベース問い合わせのストリーミング版をいう。静的なデータベースの内容に対する単一の調査を実行する代わりに、連続的な問い合わせは、幅のある時間期間にわたって作用し、一つまたは複数の入力ストリームを動的に一つまたは複数の出力ストリームに変換する。）より具体的には、DSMSシステムは論理マージ・モジュール１０２をプリミティブ作用部として扱ってもよい。さらに、DSMSシステムは論理マージ・モジュール１０２をそれ自身で適用することもできるし、あるいは他の任意の作用部との組み合わせにおいて適用することもできる。しかしながら、論理マージ・モジュール１０２のDSMS環境への適用は代表例であり、限定するものではない。さまざまな信号処理環境、誤り訂正環境など、他の環境が論理マージ・モジュール１０２を利用することができる。
【００１９】
図２は、論理マージ・モジュール２０２の一つの応用の概観を示す図である。この場合、複数のユニット（M1,M2,…,Mn）が複数のそれぞれの入力ストリームを論理マージ・モジュール２０２にフィードする。たとえば、ユニット（M1,M2,…,Mn）は、測定データ（限定するものではないが、CPUおよび／またはメモリ利用度測定データ、化学的測定データなど）を論理マージ・モジュール２０２に提供するコンピューティング機械（または単一の機械上のスレッドまたは仮想マシン・インスタンスなど）を表していてもよい。別の事例では、ユニット（M1,M2,…,Mn）は、可能性としては異なるそれぞれの問い合わせプランを使って同じ問い合わせを実装する異なるコンピューティング機械（または単一の機械上のスレッドまたは仮想マシン・インスタンスなど）を表していてもよい。ユニット（M1,M2,…,Mn）は、論理マージ・モジュール２０２に対してローカルであってもリモートであってもよい。リモートであれば、一つまたは複数のネットワーク（図示せず）がユニット（M1,M2,…,Mn）を論理マージ・モジュール２０２に結合してもよい。
【００２０】
論理マージ・モジュール２０２は、入力ストリームのそれぞれと論理的に適合する出力ストリームを生成することができる。論理マージ・モジュール２０２は、高い可用性、速い可用性、問い合わせ最適化などを提供するといった、一つまたは複数の目的を満足するためにこの機能を実行することができる。セクションＣは、論理マージ・モジュール２０２の代表的な応用に関する追加的な情報を提供する。
【００２１】
図３は、DSMSシステムにおいて連続的な問い合わせを実装するために、論理マージ・モジュール３０２が他の作用部（operator）と組み合わされることができる一つの仕方の概観を示している。これらの作用部は、総合機能を実行する総合作用部、フィルタリング機能を実行する選択子作用部、ソート動作を実行するソート作用部、二つ以上のデータ・ストリームの物理的な併合（union）を実行する併合作用部などを含む、他の型の作用部プリミティブを表していてもよい。追加的または代替的に、論理マージ・モジュール３０２は他の論理マージ・モジュールと組み合わされることができる。
【００２２】
たとえば、ある場合には、論理マージ・モジュール３０２にフィードされる入力ストリームは、一つまたは複数の他の作用部３０４によって生成された出力ストリームを表していてもよい。追加的または代替的に、論理マージ・モジュール３０２によって生成される出力ストリームは一つまたは複数の他の作用部３０６にフィードされることができる。
【００２３】
図４は、図１の論理マージ・モジュール１０２にフィードされうるストリームまたは論理マージ・モジュール１０２によって出力されうるストリームの一つの表現を示している。ストリーム（s）は一連の要素（e1,e2,…）を含む。これらの要素は、入力ストリームから抽出された情報が出力ストリームに伝搬させられる仕方を支配する命令（詳細は後述）との関連で、ペイロード情報を提供する。入力ストリームのプレフィックスS(i)は、入力ストリームの一部を表す。たとえば、S(i)＝e1,e2,…ei。
【００２４】
入力ストリームの物理的記述は、その構成要素および該構成要素の配置の文字による説明を提供する。二つ以上の入力ストリームは意味的に同じ情報を伝達してもよいが、異なる物理的表現を有していてもよい。そのような差異には種々の因子が寄与しうる。そのいくつかを下記にまとめておく。
【００２５】
ストリーム中の順序乱れ（disorder）に寄与する因子。源はそのデータ・ストリームを、輻輳または他の伝送遅延を受けるネットワークまたは他の伝送媒体を通じて論理マージ・モジュール１０２に伝送することがある。これらの遅延は、入力ストリームの諸要素の順序が乱れる原因となりうる。代替的または追加的に、入力ストリームを供給する「上流の」処理モジュール（併合作用部など）が入力ストリームの諸要素の順序乱れを生じさせることもある。一般に、ある入力ストリームの順序が乱される仕方は、別の入力ストリームの順序が乱される仕方とは異なることがあり、よって本来なら論理的に等価な入力ストリームにおける物理的な差異が導入される。
【００２６】
修正。代替的または追加的に、源は、そのデータ・ストリームの伝送の過程において、そのデータ・ストリームを修正することがある。たとえば、源は、入力ストリームの破損した部分をもつノイズを検出することがある。応答して、源は、入力ストリームのその破損した部分の訂正されたバージョンを供給しようとするフォローアップ要素を発してもよい。ある源がそのような修正を発する仕方は他の源がこの機能を実行する仕方とは異なることがあり、その結果、本来なら論理的に等価なストリームに物理的な差異が生じる。
【００２７】
代替的または追加的に、源はそのデータ・ストリームを、不完全な情報を押し出すという意図的なポリシーのために修正してもよい。たとえば、源は、オペレーティング・システム・プロセスを実行するコンピューティング機械に対応していてもよい。そのプロセスは、それが動作する時間の広がりを記述する寿命を有する。レイテンシーを引き起こさないよう、源は、プロセスの開始時刻を伝達するが終了時刻は伝達しない初期要素を送ってもよい（初期には、終了時刻は既知でないことがあるので）。ひとたび終了時刻がわかったら、源は欠けている終了時刻を供給する要素を送ることができる。ある源によって採用される修正ポリシーは別の源の修正ポリシーとは異なることがあり、結果として本来なら論理的に等価なストリームの間に差異が生じる。
【００２８】
別の例では、二つの異なる源がそれぞれ異なる仕方で総合（aggregation）動作を実行してもよい。たとえば、保守的な総合作用部は、計数プロセス全体が終了するのを待ってから最終的なカウント値を送ってもよい。だがより積極的な総合作用部は、計数動作の途中で一つまたは複数の中間計数値を送ることができる。最終結果は同じである（最終的な計数を反映する）が、それでも、これら二つの源によって生成されるストリームは物理的には異なる（第二のストリームのほうが第一のストリームに比べてより「饒舌（chatty）」である）。
【００２９】
異なる問い合わせプラン。代替的または追加的に、二つの異なる源は、意味的に等価な処理機能を実行するために異なる問い合わせプランを使ってもよい。それら二つの源は、同じ帰結を論理的に表す出力ストリームを生成するが、潜在的には異なる仕方でである。たとえば、第一の源は三元の統合（join）を、データ・ストリームＡをデータ・ストリームＢと組み合わせ、次いで結果として得られる中間結果をデータ・ストリームＣと組み合わせることによって実行することができる。第二の源は、まずデータ・ストリームＢをデータ・ストリームＣと組み合わせ、次いで結果として得られる中間結果をデータ・ストリームＡと組み合わせることができる。第一の源によって発されるストリームは、第二の源によって発されるストリームとは、これらの源による異なる処理戦略の使用のために、物理的に異なることがある。
【００３０】
異なるコンピューティング資源。追加的または代替的に、二つの異なる源が異なるコンピューティング機械上で同じ問い合わせを実行することがある。任意の所与の時点において、第一のコンピューティング機械は、第二のコンピューティング機械に比べて異なる資源需要を受けることがあり、その結果、潜在的には、それら二つのコンピューティング機械によって物理的に異なるストリームの出力につながることがある。あるいは、それら二つの異なる源は単に異なる処理機能（たとえば、異なる処理および／またはメモリ機能）をもつことがあり、その結果、物理的に異なるストリームの生成につながることがある。非決定論性の他の源（入力データの予測不能な到着など）も物理的に異なる出力ストリームの出力につながりうる。
【００３１】
上記の因子は、限定ではなく例として挙げられている。さらに他の因子が異なる入力ストリーム間の物理的な差異に寄与することがある。
【００３２】
入力ストリーム（または出力ストリーム）は、異なる型の構成要素に関連する異なる型の命令を含むことができる。ある例示的な環境では、ストリームは挿入要素、調整要素および安定要素を含む。挿入要素insert(p,Vs,Ve)は寿命が期間(Vs,Ve)であるペイロードpをもつイベントを出力ストリームに加える。前述のように、Veは開端（たとえば＋∞）のままにされることができる。簡単のため、挿入要素は下記では時にinsert()と称される。
【００３３】
調整要素adjust(p,Vs,Vold,Ve)は前に発されたイベント(p,Vs,Vold)を(p,Vs,Ve)に変更する。Ve＝Vsであれば、イベント(p,Vs,Vold)は除去される（たとえば、取り消される）。たとえば、要素のシーケンスinsert(A,6,20)→adjust(A,6,20,30)→adjust(A,6,30,25)は単一の要素insert(A,6,25)と等価である。簡単のため、調整要素は下記では時にadjust()と称される。
【００３４】
安定要素stable(Vc)は時刻Vcより前に発生する出力ストリームの部分を固定する。これは、Vs＜Vcをもつ将来のinsert(p,Vs,Ve)要素はありえないし、Vold＜VcまたはVe＜Vcをもつ調整要素もありえないことを意味する。換言すれば、stable(Vc)は、出力ストリームのある部分を「凍結する」ものとして見ることができる。イベント(p,Vs,Vc)は、Vs＜Vc≦Veであれば半分凍結しており（HF:  half  frozen）、Ve＜Vcであれば完全に凍結している（FF:  fully  frozen）。(p,Vs,Ve)が完全に凍結していれば、将来のadjust()がそれを変更することはできず、そのイベントは出力ストリームのあらゆる将来のバージョンにおいて現れる。半分凍結でも完全凍結でもない任意の出力ストリームは、未凍結（UF:  unfrozen）と言われる。簡単のため、安定要素は下記では時にstable()と称される。
【００３５】
物理的なストリーム（たとえば入力ストリームまたは出力ストリーム）の論理的な表現は、そのストリームの論理的なエッセンスを表す。より具体的には、各物理的なストリーム（および物理的なストリームの各プレフィックス）は、その物理的なストリームのエッセンスを捕捉する論理的な時間的データベース（TDB）インスタンスに対応する。TDBインスタンスはイベントの寄せ集め（bag）を含み、それらのイベントの時間的順序付けはない。ある実装では、各イベントはペイロードおよび有効性期間を含む。ペイロード（p）は、データ（測定データなどのような）を伝達するリレーショナル・タプルに対応する。有効性期間はイベントがアクティブであり、出力に寄与する時間期間を表す。より正式な言い方では、有効性期間は開始時刻（Vs）および終了時刻（Ve）に関して定義され、終了時刻は、特定の有限な時刻または開端のパラメータ（たとえば＋∞）であることができる。開始時刻をイベントのタイムスタンプとして見ることもできる。
【００３６】
マッピング機能はストリーム中の要素をTDBインスタンスのインスタンス（たとえばイベント）に変換する。すなわち、マッピング関数tdb(S,i)は、ストリーム・プレフィックスS[i]に対応するTDBインスタンスを生成する。たとえば図５は、物理的なストリームの、TDBインスタンスへのそのようなマッピングの例を示している。すなわち、第一の物理的なストリーム（入力１）は要素の第一の時間的シーケンスを与え、第二の物理的なストリーム（入力２）はイベントの第二の時間的シーケンスを与える。「a」要素a(value,start,end)は、上記のinsert()要素の短縮記法である。すなわち、「a」要素はvalueをペイロードとしてもち、startからendまでの継続時間をもつ新たなイベントを加える。「m」要素m(value,start,newEnd)は上記のadjust()要素についての短縮記法である。すなわち、「m」要素は所与のvalueおよびstartをもつ既存のイベントを、新たな終了（new  end）時刻をもつよう修正する。「f」要素f(time)は上記のstable()要素についての短縮記法である。すなわち、「f」要素は、現在のendがtimeより早いあらゆるイベントをファイナライズする（たとえばさらなる修正から凍結する）。見て取れるように、第一の物理的なストリームおよび第二の物理的なストリームは、異なる要素の系列をもつため物理的には異なっている。だが、これら二つの入力ストリームは同じ目標を達成し、よって意味的（論理的）には等価である。図５の右の部分は、これらの入力ストリーム両方を論理的に記述する二イベントTDBインスタンスを示している。たとえば、TDBインスタンス内の第一のイベントはペイロードAが、時刻インスタンス6から時刻インスタンス12まで走る有効性期間にわたって存在する（またはストリームに寄与する）ことを示す。これは、両方の物理的なストリームにおける要素の系列と適合する論理的な結論である。新たな物理的な要素が到着すると、対応する論理的なTDBはしかるべく発展しうる（たとえば要素が追加されるたびにイベントの異なる寄せ集めになる）。任意の二つの物理的なストリームのプレフィックスが常に論理的に等価であるとは限らないが、それでも将来等価になることができる点で適合であることを注意しておく。
【００３７】
「物理的」および「論理的」の概念の上記の明確化を与えたところで、論理マージ・モジュール１０２の動作および属性をより正確に表現できる。論理マージ・モジュール１０２は物理的な入力ストリームを論理的に等価なものとして扱う。これは、それらのストリームが結果的には同じになる論理的なTDB表現をもつことを意味する。論理マージ・モジュール１０２は、その諸入力ストリームと論理的に等価な出力ストリームを生成する。つまり、出力ストリームは、諸入力ストリームのTDB表現と最終的には同じになるTDB表現をもつ。
【００３８】
より正式な言い方では、ストリーム・プレフィックス{I1[k1],…,In[kn]}は、E1:I1[k1]:F1≡…≡Ei:Ii[ki]:Fi≡…≡En:In[kn]:Fnとなるような有限なシーケンスEiおよびFi    1≦i≦nが存在する場合に、互いに整合する（consistent）と考えられる。（ここで、A:Bという記法はAおよびBの連結を表す。）入力ストリーム{I1,…,In}は、それらのすべての有限プレフィックスが互いに整合であれば、互いに整合すると考えられる。出力ストリーム・プレフィックスO[j]は、入力プレフィックスのある拡張I[k]:Eについて、それと等価な出力シーケンスの拡張O[j]:Fが存在すれば、入力ストリーム・プレフィックスI[k]と適合する（compatible）と考えられる。ストリーム・プレフィックスO[j]は、I1[k1]:E1,…,In[kn]:Enを等価にする拡張E1,…,Enの任意の組について、それらすべてと等価な出力シーケンスの拡張O[j]:Fがあれば、入力ストリーム・プレフィックスの互いに整合する組I＝{I1[k1],…,In[kn]}と適合する。
【００３９】
図６は、図１の論理マージ・モジュール１０２の動作の例を示している。この場合、二つの入力ストリーム（入力１および入力２）は第一の出力ストリーム（出力１）または第二の出力ストリーム（出力２）または第三の出力ストリーム（出力３）にマッピングされることができる。これらの出力ストリームは、みな前記二つの入力ストリームと論理的に等価な物理的なストリームである（つまり入力ストリームと同じTDBをもつ）。だが、これらの出力ストリームは、この等価性を、異なる物理的な仕方で生成している。より具体的には、第一の出力ストリーム（出力１）は、入力ストリームからの遭遇するあらゆる変化を伝搬させるので、積極的な出力ポリシーを表す。第二の出力ストリーム（出力２）は、要素を出力するのを、該要素がファイナルであるという保証を受け取るまで遅らせるので、保守的なポリシーを表す。よって、第二の出力ストリームは、第一の出力ストリームより少数の要素を生成するが、第一の出力ストリームより遅い時刻に生成する。第三の出力ストリーム（出力３）は、第一の出力ストリームと第二の出力ストリームの間の中間的なポリシーを表す。すなわち、第三の出力ストリームは、所与のペイロードおよびstartをもつ遭遇する第一の要素を出力するが、修正があってもそれがファイナルであることが確証されるまで該修正をセーブする（save）。
【００４０】
ある環境によって採用される特定のポリシーは、拮抗する考察の間のトレードオフを表しうる。たとえば、ある環境は、より少数の変化を報告することによって、出力ストリームの「饒舌さ」を抑えることを望むことがある。だがこの決定は、環境が結果を消費者に提供するレイテンシーを増大させうる。
【００４１】
図７は、図２の論理マージ・モジュール１０２の動作の別の例を示している。この場合、論理マージ・モジュール１０２は二つの入力ストリーム（入力１、入力２）を三つの可能な出力ストリームにマッピングする。この場合、入力ストリームおよび出力ストリームはいずれもそのTDBによって記述されている。各TDBについて、この例における「最後」パラメータは、stable(V)要素において遭遇された最新の値Vを指す。右端の列は各要素の凍結状態、たとえば未凍結ならUF、半分凍結ならHF、完全凍結ならFFを表す。
【００４２】
第一の出力ストリーム（出力１）および第二の出力ストリーム（出力２）はいずれも二つの入力ストリームと論理的に適合すると考えられる。より具体的には、第一の出力ストリームは、出力において必ず現れる情報のみを出力する保守的な伝搬ポリシーの適用を表す。よって、第一の出力ストリームの終了時刻を調整することが適切であろう。第二の出力ストリームは、見られたあらゆる入力イベントに対応するイベントを、たとえそうしたイベントが未凍結であっても、含むので、より積極的なポリシーの適用を表す。よって、第二の出力ストリームは、出力ストリームにおいていくつかのイベントを完全に除去するためにのちの諸要素を発する必要がある。
【００４３】
対照的に、第三の出力ストリームは二つの理由により、二つの入力ストリームと適合しない。第一に、イベント(A,2,12)は第二の入力ストリーム中のイベントに一致するが、第一の入力ストリームの内容（終了時刻が14以上であることを指定している）に矛盾する。このイベントは第三の出力ストリームでは完全に凍結されているため、それを是正することのできるその後のストリーム要素はない。第二に、第三の出力ストリームはイベント(B,3,10)を欠いている。このイベントは入力ストリームにおいては完全に凍結されているが、与えられた安定点を考えると、第三の出力ストリームに加えることはできない。
【００４４】
したがって、図７は、概括的には、論理マージ・モジュール１０２が直面する困難の一つを浮き彫りにしている。論理マージ・モジュール１０２は、任意の所与の時点において出力ストリームが入力ストリームへの将来の追加に追随できることを保証する務めを負わされている。この目標が達成される仕方は、たとえば入力ストリーム内で使用されている要素の型、入力ストリームに適用される他の制約（もしあれば）などを含む複数の事情に依存する。
【００４５】
図８は、論理マージ・モジュール１０２の上記の動作をまとめる手順９００を示している。ブロック９０２では、論理マージ・モジュール１０２は、複数の物理的に相違する入力ストリームを、任意のそれぞれの源から受領する。上記で説明したように、それらの源は、生データ（たとえば未加工の測定データ）を供給するエンティティに対応してもよい。代替的または追加的に、それらの源は、処理を実行し、結果として得られる出力ストリームを提供する一つまたは複数の作用部に対応していてもよい。ブロック９０４では、論理マージ・モジュールは、入力ストリームのそれぞれと論理的に適合する出力ストリームを生成する。上記のように、これは、出力ストリームが、入力ストリームのTDB表現と最終的には同じになるTDB表現をもつことを意味する。
【００４６】
Ｂ．論理マージ・モジュールの例示的な実装
図９は、図１の論理マージ・モジュール１０２のある実装を示している。図９に示される論理マージ・モジュール１０２は、可能なアルゴリズムの集合から選択されるアルゴリズムを実装する。各アルゴリズムは、あるクラスの諸制約を受ける入力ストリームのコレクションを扱うよう構成される。よって、本セクションはまず、入力ストリームのコレクションに影響しうる制約の例示的な諸クラスを記述する。ある場合には、入力ストリームのコレクションの構成員のすべては同じクラスの制約を受けると想定される。しかしながら、他の実装はこの特性をさまざまな度合いで緩和することができる。
【００４７】
第一の場合（場合R0）では、入力ストリームはinsert()およびstable()要素のみを含む。換言すれば、入力ストリームは、入力ストリーム中の以前の要素を修正することはできない。さらに、諸要素における諸Vs時刻は厳密に増加していく。よって、ストリームは、重複したタイムスタンプのない決定論的な順序を示す。いくつかの単純化する想定を、R0型の制約を受けるストリームに関して引き出すことができる。たとえば、ひとたび時間が時点tまで進んだら、論理マージ・モジュール１０２はVs≦tをもつペイロードすべてを見たと安全に想定できる。
【００４８】
第二の場合（場合R1）では、入力ストリームはやはりinsert()およびstable()要素のみを含む。さらに、諸Vs時刻は非減少である。さらに、今や等しいVs時刻をもつ複数の要素があってもよいが、等しいVs時刻をもつ要素の間での順序は決定論的である。たとえば、等しいVs時刻をもつ要素は、ペイロードp内のID情報に基づいてソートされてもよい。
【００４９】
第三の場合（場合R2）では、入力ストリームはやはりinsert()およびstable()要素のみを含む。だがこの場合、同じVs時刻をもつ要素の順序は入力ストリームを横断して異なることができる。さらに、任意のストリーム・プレフィックスS[i]について、ペイロード(p)およびVs時刻の組み合わせは、出力ストリームのTDB表現における対応するイベントを位置特定するための鍵をなす。より正式な言い方では、組み合わせ(p,Vs)が、tdb(S,i)についての鍵をなす。たとえば、pがID情報および読みを含み、どの源も時間期間毎に高々一つの読みしか与えない場合、そのような属性が生じうる。後述するように、この制約は、入力ストリームを横断して対応するイベントをマッチさせることを容易にする。
【００５０】
第四の場合（場合R3）では、入力ストリームは今やadjust()要素を含めすべての型の要素を含む。さらに、この場合は、stable()要素に関するもののほかは、要素の順序に対して何の制約も課さない。場合R2と同様に、任意のストリーム・プレフィックスS[i]について、組み合わせ(p,Vs)が、出力ストリームにおける対応するイベントを位置特定するための鍵をなす。より正式な言い方では、組み合わせ(p,Vs)が、tdb(S,i)についての鍵をなす。
【００５１】
第五の場合（場合R4）では、第四の場合のすべての自由度を有しうる。加えて、この場合では、TDBはマルチ・セットである。つまり、同じペイロードおよび寿命をもつ二つ以上のイベントがあってもよい。
【００５２】
これらのストリーム・クラスは限定するものではなく、代表例である。他の環境は、入力ストリームの性質に依存して、異なる仕方で入力ストリームの諸セットの属性を範疇分けできる。
【００５３】
場合決定モジュール９０２は、どの制約が入力ストリームのコレクションに適用されうるかを決定する目的で、入力ストリームのコレクションを解析し、その特性を決定する機能を表す。場合決定モジュール９０２はこの決定を種々の仕方で行える。ある場合には、場合決定モジュール９０２は、たとえば、入力ストリームを生成する機能の特性を調べることにより、論理マージ・モジュール１０２が使用される処理環境の予備的解析の間に抽出される情報に依拠する。この予備的解析はコンパイル時にまたは他の任意の予備的機会に実行されることができる。たとえば、処理環境が、順序が乱れた入力ストリームを受け入れ、これらのストリームをバッファリングし、時間整列されたストリームを論理マージ・モジュール１０２に出力する並べ替えまたは浄化作用部を含む第一の例を考える。場合決定モジュール９０２は、この状況において入力ストリームが時間整列されたVs時刻を含むと想定することができる（上記の型の並べ替えまたは浄化作用部の存在のため）。
【００５４】
別の場合には、処理環境は、重複するタイムスタンプをもつ要素を論理マージ・モジュール１０２に出力する多値作用部を用いてもよい。それらの要素は決定論的な仕方で（たとえばセンサーID情報に基づいてなど）ランク付けされる。場合R1がこれらの入力ストリームに当てはまる。別の場合には、処理環境は重複するタイムスタンプをもつ要素を論理マージ・モジュール１０２に出力する作用部を用いていてもよいが、それらの要素は決定論的な順序をもたない。これらの入力ストリームには場合R2が当てはまる。
【００５５】
追加的または代替的に、場合決定モジュール９０２は、入力ストリームのコレクションの特徴のランタイム解析を実行することができる。代替的または追加的に、入力ストリームを供給する源は、入力ストリームに、その特徴を明らかにする情報を注釈付けすることができる。たとえば、各入力ストリームは、そのストリームが順序づけられているか、adjust()要素をもつか、重複するタイムスタンプをもつかなどを示す情報を公開することができる。
【００５６】
適用される場合（R0、R1など）の決定に基づいて、論理マージ・モジュール１０２は、入力ストリームの当該コレクションを処理する対応するアルゴリズムを選択することができる。つまり、場合R0については、論理マージ・モジュール１０２はR0アルゴリズムを選択する；場合R1については、論理マージ・モジュール１０２はR1アルゴリズムを選択するなどである。入力ストリームの制約された組を扱うためにコンテキスト固有のアルゴリズムを選ぶことは、論理マージ・モジュール１０２のパフォーマンスを改善するために有利でありうる。そのようなアルゴリズムは、適用可能な場合に関連付けられた、組み込まれた想定を利用することができるからである。あるいはまた、論理マージ・モジュール１０２は保守的なアプローチを取り、さまざまなレベルの制約をもつ入力ストリームのコレクション（たとえば、R0、R1、R2またはR3の制約を受ける入力ストリームのセット）を処理するために、場合R3のためのアルゴリズムのような、より汎用のアルゴリズムを使うことができる。
【００５７】
論理マージ・モジュール１０２自身は、それぞれの機能を実行するモジュールのコレクションを含むことができる（あるいは該コレクションを含むと概念化されることができる）。手始めに、要素パース・モジュール９０４が、入力ストリーム内の個々の要素を同定する。次いで論理マージ・モジュール１０２は、要素が受領されるにつれて入力ストリーム内の各要素に対して要素毎の処理を実行する。論理マージ・モジュール１０２はまた、処理を促進するために、要素の諸グループに対する処理を並行して実行することもできる。
【００５８】
要素型決定モジュール９０６は、各要素の型を同定する。ある例示的な実施形態では、一つの要素型は上記のinsert()要素である。この要素は、たとえばタイムスタンプVsにおいて新たな有効性期間を開始することによって、新たな出力情報を伝搬させるための命令を提供する。もう一つの要素型は、上記のadjust()要素である。この要素は、たとえば前の要素について新たなVeを供給することによって、前の要素によって付与される情報を調整する。もう一つの要素型は、上記のstable()要素である。この要素は、その時点より前では出力ストリームに対して（たとえばinsert()要素またはadjust()要素を使った）さらなる変更ができないような時刻をマークする進行マーカー情報を提供する。
【００５９】
要素処理モジュール９０８は、各要素について、出力ストリームにイベントを伝搬させるか否かを判定する。たとえば、insert()要素については、要素処理モジュール９０８は、挿入イベントを出力ストリームに加えることが適切かどうかを判定することができる。adjust()要素については、要素処理モジュール９０８は、出力ストリームに対して調整要素を加えることが適切であるかどうかを判定することができる。そしてstable()要素については、要素処理モジュール９０８は安定要素を出力ストリームに加えることが適切であるかどうかを判定できる。さらに、いくつかのアルゴリズムについては、入力ストリームに現れるある種の要素は、要素処理モジュール９０８に出力ストリームに対する他の調整をするよう促してもよい。たとえば、R3およびR4アルゴリズム（後述）の場合については、要素処理モジュール９０８は、入力ストリームにおいてstable()要素を受信したとき、ある種の状況では調整要素を出力ストリームに伝搬させることができる。この動作は、諸入力ストリームと出力ストリームとの間の論理的な適合性を保証するために実行される。
【００６０】
より一般には、要素処理モジュール９０８は、たとえば諸入力ストリームの諸TDBインスタンスにマッチするTDBインスタンスをもつ出力ストリームを生成することによって、入力ストリームのそれぞれの論理的なエッセンスを表現する出力ストリームを生成しようと試みる（ここで、諸入力ストリームの諸TDBインスタンスは等価と考えられる）。要素処理モジュール９０８は、任意の所与の時点までに受領されたストリーム要素に基づいてこの解析を動的に実行する。この解析は、たとえば要素が有限のVeを指定するときの硬制約；要素が開端のVeを指定するときの開端の制約；およびたとえばstable()要素が同定された時刻Vc前では出力ストリームの一部をさらなる変更を受けないとするときの閉鎖関係の制約を含む大量の複雑さと競合する。これらの複雑さは二つの一般的な課題を呈する。第一に、要素処理モジュール９０８は、入力ストリームのコレクションによってすでに課されている制約のいずれかと直接矛盾しない出力ストリームを形成することを求められる。たとえばここで、かかる矛盾は仮定ではなく、明白なものである。第二に、任意の所与のインスタンスにおいて、要素処理モジュール９０８は、「もし…だったら」という解析を実行することを求められる。これはすなわち、これまでに受領されたストリーム要素に関連する制約（および自由度）に鑑みて将来受領されることが考えられうるストリーム要素を考慮に入れる出力ストリームを形成することによる解析である。（これは、論理マージ・モジュール１０２の一般的なねらいが、最終的に諸入力ストリームの諸TDBインスタンスと等価になるTDBインスタンスを有する出力ストリームを生成することであるためである。）
状態管理モジュール９１０は、データ・ストア９１２内の一つまたは複数のデータ構造内に状態情報を記憶する。状態情報は、入力ストリームに関する情報と、場合によっては、出力ストリームに伝搬させられた情報を捕捉する。より具体的には、異なるアルゴリズムは、入力ストリームに適用される制約に依存して、異なる型の状態情報を維持する。たとえば、図１２は、アルゴリズムR0、R1、R2およびR3によって使用されうるデータ構造をまとめている。見て取れるように、入力ストリームから制約が除去されると、状態管理モジュール９１０は記憶する状態情報の量を増す。図１２に示されるデータ構造は、場合R0〜R4についてのアルゴリズムの説明のコンテキストにおいて、より詳細に記述することになる。
【００６１】
図１０は、場合決定モジュール９０２の上記の動作をまとめた手順１０００を示している。ブロック１００２では、場合決定モジュール９０２は、入力ストリームを解析して、その特徴を決定する、特に、入力ストリームに一つまたは複数の制約が当てはまるかどうかを決定する。ブロック１００４では、場合決定モジュール９０２はブロック１２０２において評価された制約に関連する場合を選択する。ブロック１００６では、場合決定モジュール９０２は、論理マージ・モジュール１０２に、ブロック１００４において決定された場合を扱うための特定のアルゴリズムを呼び出すよう命令する。
【００６２】
図１１は、特定の要素に関して、図９に記載される論理マージ・モジュール１０２の動作をまとめた手順１１００を示している。ブロック１１０２では、論理マージ・モジュール１０２は、考察対象の要素の型を決定する（たとえばinsert()要素、adjust()要素またはstable()要素）。ブロック１１０４では、論理マージ・モジュール１０２は、どの型の要素（単数または複数）が考察対象の要素に反応して出力ストリームに伝搬させられるかを決定する。たとえば、論理マージ・モジュール１０２は：（ａ）出力ストリームに対するいかなる情報も伝搬させることを控える；（ｂ）たとえばinsert()要素を使って、新たな出力情報を伝搬させる；（ｃ）たとえばadjust()要素を使って、前の出力情報を調整する；または（ｄ）たとえばstable()要素を使って、（出力ストリーム中のいくつかのイベントを部分的または完全に凍結させる）進行マーカー情報を提供することがありうる。
【００６３】
図１３〜図１６は、場合R0、R1、R2およびR4をそれぞれ扱うための例示的なアルゴリズムを記述している。これらの図は、図１２に示される対応するデータ構造を参照して説明される。さらに、これらのアルゴリズムは、二つの入力ストリームの処理に関して記述されるが、これらのアルゴリズムは、三つ以上の入力ストリームがあるシナリオにも適用できる。
【００６４】
場合R0についての論理マージ・アルゴリズム
R0の場合について、入力ストリームは、adjust()要素なしで、厳密に増加するVs値をもつ諸要素をもつ。よって、重複するタイムスタンプはない。この場合、状態管理モジュール９１０は二つの情報しか維持しない。第一に、状態管理モジュール９１０は、入力ストリームにおいて遭遇された最大Vs(MaxVs)を記憶する。第二に、状態管理モジュール９１０は、すべての入力ストリームを横断して見られる最大の安定なタイムスタンプ（MaxStable）を記憶する。
【００６５】
図１３は、R0の場合を扱うアルゴリズムを示している。ステップ１３０２では、論理マージ・モジュール１０２はMaxVsおよびMaxStableの値を初期化する。
【００６６】
ステップ１３０４では、論理マージ・モジュール１０２は、実際に考察対象の要素がinsert()要素である場合にinsert()要素を処理する。すなわち、論理マージ・モジュール１０２はinsert()要素を、該要素のVsが支配的なMaxVsより大きければ、出力ストリームに伝搬させる。さらに、論理マージ・モジュール１０２は、MaxVsの値を、該要素のVs値に対応するよう更新する。そうでなければ（すなわち、VsがMaxVs値より大きくなければ）、論理マージ・モジュール１０２はこの要素を出力ストリームに伝搬させない。記号「s」は特定の入力ストリームに対応する識別子（たとえば整数）を表すことを注意しておく。
【００６７】
ステップ１３０６では、論理マージ・モジュール１０２は、実際に考察対象の要素がstable()要素である場合にstable()要素を扱う。すなわち、論理マージ・モジュール１０２はstable()要素を、そのタイムスタンプt（上記の例ではVcとも称される）がMaxStableより大きければ、出力する。
【００６８】
場合R1についての論理マージ・アルゴリズム
R1の場合について、入力ストリームは、adjust()要素なしで、非減少のVs値をもつ諸要素をもつ。ここでは、入力ストリームは重複するVsタイムスタンプをもつことがあるが、そのような要素は決定論的な順序で呈示される（たとえばペイロード中のあるフィールドでソートされる）。この場合、状態管理モジュール９１０は（場合R0についての）前記と同様、MaxVsおよびMaxStableを維持する。加えて、状態管理モジュール９１０は、各入力ストリームについてのカウンタ値をもつアレイを維持する。特定の入力ストリームについてのカウンタ値は、そのストリーム上のVs＝MaxVsである要素の数を反映する。
【００６９】
図１４は、R1の場合を扱うアルゴリズムを示している。ステップ１４０２では、論理マージ・モジュール１０２はMaxVsおよびMaxStableの値を初期化する。論理マージ・モジュール１０２はまた、カウンタのアレイの値をも初期化する。
【００７０】
ステップ１４０４では、論理マージ・モジュール１０２は、実際に考察対象の要素がinsert()要素である場合にinsert()要素を処理する。すなわち、論理マージ・モジュール１０２はinsert()要素のVs値がMaxVsの現在の値より大きければ、カウンタ値のアレイを0にリセットし、次いでMaxVsをVsに等しいと設定する。行８において、論理マージ・モジュール１０２は、ストリームs上のinsert()要素がsについてのカウンタを、すべてのストリームを横断する最大カウンタ値を超えて増大させるかどうかを判定する。もしそうであれば、論理マージ・モジュール１０２はinsert()要素を出力ストリームに伝搬させる。換言すれば、論理マージ・モジュール１０２は、挿入要素が同じVsを共有する可能な諸要素の決定論的に順序づけられたグループの新しい構成員を表す場合に、その挿入要素を出力する。たとえば、各ストリームが、各Vsについて、固定した順序で呈示される（たとえば三つの異なるセンサーIDに対応する）三つのinsert()要素を含むと想定する。さらに、解析における特定の点において、特定のストリームs上で第二の挿入要素が受領されたとする。論理マージ・モジュール１０２は、他のどのストリームもすでにこのVsについてのそれぞれの第二の要素を受領していない場合に、このinsert()要素を出力する。
【００７１】
ステップ１４０６では、論理マージ・モジュール１０２は、実際に考察対象の要素がstable()要素である場合にstable()要素を扱う。すなわち、論理マージ・モジュール１０２はstable()要素を、アルゴリズムR0と同じ仕方で扱う。
【００７２】
場合R2についての論理マージ・アルゴリズム
R2の場合について、入力ストリームは、adjust()要素なしで、非減少のVs値をもつ諸要素をもつ。さらに、入力ストリームは重複するVsタイムスタンプを有することがあり、この場合には、そのような要素は決定論的な順序で呈示される必要はない。この場合には、状態管理モジュール９１０は前記と同様にMaxVsおよびMaxStableを維持する。さらに、状態管理モジュール９１０は、ペイロード（p）を鍵としてもつルックアップテーブルを維持する。テーブル中の各エントリーは、特定のペイロード鍵（p）について、Vs＝MaxVsとなる諸要素を記憶している。このデータ構造の図下については図１２を参照されたい。
【００７３】
図１５は、R2の場合を扱うアルゴリズムを示している。ステップ１５０２では、論理マージ・モジュール１０２はMaxVsおよびMaxStableの値を初期化する。論理マージ・モジュール１０２はまた、ルックアップテーブルを生成する。
【００７４】
ステップ１５０４では、論理マージ・モジュール１０２は、実際に考察対象の要素がinsert()要素である場合にinsert()要素の処理を開始する。すなわち、論理マージ・モジュール１０２はまず（要素内で指定されているペイロードpを鍵として使って）ルックアップテーブルを参照する。テーブルが、ペイロードとVsのその特定の組み合わせがすでに存在する（他の何らかのストリームから受領されたため）ことを示す場合には、論理マージ・モジュール１０２はそれ以上のアクションは実行しない。それ以外の場合には、論理マージ・モジュール１０２はルックアップテーブルを更新し、挿入要素を出力する。
【００７５】
ステップ１５０６では、論理マージ・モジュール１０２は、VsをMaxVsを超えて大きくする要素に遭遇する場合、ルックアップ・テーブルをクリアする。論理マージ・モジュール１０２はまた、MaxVsへの値を、Vsに対応するよう更新する。
【００７６】
ステップ１５０８では、論理マージ・モジュール１０２は、実際に考察対象の要素がstable()要素である場合にstable()要素を扱う。すなわち、論理マージ・モジュール１０２はstable()要素を、前記と同じ仕方で扱う。
【００７７】
場合R3についての論理マージ・アルゴリズム
R3の場合については、入力ストリーム内の要素は今度は、insert()要素、adjust()要素およびstable()要素を含む任意の型の要素を含むことができる。さらに、これらの要素は任意の時間的順序で呈示されることができる。残る制約として、R3についてのアルゴリズムは、Vsとペイロード（p）の組み合わせが、出力ストリーム中の対応するエントリーを決定するための鍵のはたらきをしうる。より具体的には、図１２に示されるように、状態管理モジュール９１０は、鍵（Vs,ペイロード）によってエントリーにインデックス付けするマスター・データ構造を維持することができる。各エントリーはイベント（e）（たとえばVsおよびペイロード）および各入力ストリームsについて、鍵sによってインデックス付けされたそのストリームについての現在のVeを含む小さなルックアップテーブルからなる。ルックアップテーブルは、（出力ストリームに伝搬させられた出力イベントに関連付けられた）出力Veを提供する鍵αをもつエントリー（OutVe）をも含む。
【００７８】
図１６は、R3の場合を扱うアルゴリズムを示している。ステップ１６０２では、論理マージ・モジュール１０２はMaxVsおよびMaxStableの値を初期化する。論理マージ・モジュール１０２はまた、マスター・データ構造を生成する。ある場合には、論理マージ・モジュール１０２は、該マスター・データ構造を実装するために赤黒木（red-black  tree）を生成することができる。
【００７９】
ステップ１６０４では、論理マージ・モジュール１０２は、実際に考察対象の要素がinsert()要素である場合にinsert()要素の処理を開始する。すなわち、論理マージ・モジュール１０２は考察対象のinsert()要素に関連する同じ(Vs,ペイロード)をもつエントリーを見出すためにマスター・データ構造のルックアップを実行する。マスター・データ構造にそのようなエントリーが存在しない場合には、論理マージ・モジュール１０２は当該エントリーを加え、出力を生成する。エントリー(Vs,ペイロード)に関連するルックアップテーブルにおいて、論理マージ・モジュール１０２はストリームsについておよび出力ストリームに伝搬させられた出力についてのVeエントリーを加える。しかしながら、論理マージ・モジュール１０２は、（行６で評価されるところにより）VsがMaxStableより小さいと判定される場合には、この更新動作を実行しない。これは、対応するエントリーがマスター・データ構造に前に存在していたがその後除去されたことを示す。
【００８０】
ブロック１６０６では、マスター・データ構造中に特定の鍵(ペイロード,Vs)についてエントリーがすでに存在していれば、論理マージ・モジュール１０２は適切な仕方でこのエントリーについてルックアップテーブルを更新する。
【００８１】
ブロック１６０８では、論理マージ・モジュール１０２は、実際に考察対象の要素がadjust()要素である場合にadjust()要素を処理する。すなわち、マスター・データ構造中にadjust()要素において指定されている特定の鍵(ペイロード,Vs)についてエントリーがすでに存在していれば、論理マージ・モジュール１０２はこのエントリーについてルックアップテーブルを更新する。あるポリシー選択によれば、ブロック１６０８は、いかなる状況でもいかなるadjust()要素を伝搬させることも含まない。
【００８２】
ブロック１６１０では、論理マージ・モジュール１０２は、実際に考察対象の要素がstable()要素である場合にstable()要素を処理する。行１８において示されるように、論理マージ・モジュール１０２は、タイムスタンプtがMaxStableより大きいのでない限り、いかなるアクションも実行することなく復帰する。この条件が満たされる場合には、論理マージ・モジュール１０２はまず、マスター・データ構造において、stable()要素の伝搬の結果として半分凍結されることになるエントリーを見出す。すなわち、これらはstable()要素のタイムスタンプより小さなVs値をもつエントリーである。そのような各エントリーについて、論理マージ・モジュール１０２は、入力と出力との間のミスマッチがあるインスタンスを決定する。その場合、stable()要素が出力ストリームに伝搬させられたら、適合性違反が起こるであろう。
【００８３】
より具体的には、ある実装では、論理マージ・モジュール１０２は適合性違反が起こる三つの状況を考慮する。第一の場合には、ストリームsには(Vs,ペイロード)について何の入力イベントもないが、（他の何らかの入力ストリームの寄与のため）出力イベントはある。第二の場合には、現在出力されるイベントはstable()要素eの伝搬のために完全に凍結されることになるが、対応する入力は完全には凍結されない。第三の場合には、入力イベントは完全に凍結されることになるが、現在の出力は完全には凍結されない。これらの場合すべてにおいて、ある可能なポリシーによれば、論理マージ・モジュール１０２は、入力にマッチするよう出力を調整する（これは行２４〜２７で行われる）。この動作は、適切なadjust()要素を出力ストリームに伝搬させ、マスター・データ構造をしかるべく更新することによって実行される。
【００８４】
さらに、行２８〜２９では、入力が完全に凍結した場合、論理マージ・モジュール１０２は、マスター・データ構造から対応するエントリーを削除することができる。最後に、行３０〜３１では、論理マージ・モジュール１０２はMaxStableの値を更新し、stable()要素を出力する。
【００８５】
まとめると、ブロック１６１０は、考察対象のstable()要素の伝搬が、入力ストリームと出力ストリームとの間の将来の論理的な不適合を引き起こさないことを保証するために出力ストリームを修正することを含む。そうすれば、論理マージ・モジュール１０２は安全にstable()要素を出力できる。
【００８６】
場合R4についての論理マージ・アルゴリズム
R4の場合についてのデータ・ストリームは場合３と同じすべての自由度をもつ。だが今や、データ・ストリーム中の複数の要素が、異なるVe値をもつ同じ(Vs,ペイロード)をもつことができる。さらに、入力ストリームは重複するエントリーを含むことができる。この状況に対処するため、R3の場合についてのマスター・データ構造は、種々のVe値の存在を考慮に入れるよう修正されることができる。マスター・データ構造中の特定の(ペイロード,Vs)エントリーに関連付けられたルックアップテーブルを考える。あるエントリーについてのVeの単一の値（R3の場合に与えられるような）は今や、その入力ストリーム中のその(Vs,ペイロード)組み合わせについての、カウントとともに、遭遇した一意的なVe値に基づいてインデックス付けされる小さなVeデータ構造で置き換えられる。
【００８７】
R3アルゴリズムの場合と同様に、R4アルゴリズムはstable()要素を出力する前に（調整要素を使って）出力ストリームを修正してもよい。それにより、入力ストリームと出力ストリームとの間の将来の不適合を避けるためである。だが、論理マージ・モジュール１０２は今や、その修正を、より複雑な考察に基づかせる。
【００８８】
たとえば、第一の考察によれば、論理マージ・モジュール１０２は、出力ストリームが、特定の(Vs,ペイロード)について、高々、その(Vs,ペイロード)について任意の入力ストリーム中のイベントの最大数のイベントしか含まないことを保証しようと試みる。この条件は、必須ではないが、出力の饒舌さを制限するために望ましいことがある。
【００８９】
第二の考察によれば、はいってくるstable()要素が何らかのVsより大きなタイムスタンプをもつ（よってVsは半分凍結される）場合、論理マージ・モジュール１０２は、半分凍結される入力中の各(Vs,ペイロード)組み合わせについて、入力中と厳密に同数の、(Vs,ペイロード)のある値をもつ出力イベントがあることを保証しようと試みる。このタスクを実行するために、論理マージ・モジュール１０２は、その(Vs,ペイロード)組み合わせについて新たな出力要素を生成する、あるいは以前の出力要素を「取り消す」ことがある。
【００９０】
第三の考察によれば、特定の(Vs,ペイロード)について、はいってくるstable()要素の結果として何らかのVeが完全に凍結した場合、論理マージ・モジュール１０２は、出力ストリームが、stable()要素を伝搬させる前のその(Vs,ペイロード,Ve)と同数のイベントを含むことを保証しようと試みる。対応するVsがすでに半分凍結されている場合には、このプロセスは単に、同じ(Vs,ペイロード)をもつ先に出力されたイベントのVeを調整することを含む。
【００９１】
第四の考察によれば、特定の(Vs,ペイロード)について、stable()タイムスタンプがVeデータ構造中の最大Veを超えて動くとき、論理マージ・モジュール１０２は、データ構造から対応する(Vs,ペイロード)エントリーを削除することができる。
【００９２】
上記のように、論理マージ・モジュール１０２は、ある種の状況では、要素を出力ストリームに伝搬させるときに、どのアクションを取るかを決定することにおいて、ポリシーに従ってもよい。異なる環境は、異なるそれぞれの考察に基づいて異なるポリシーを採用することができる。上記のように、多くのポリシーは、饒舌さ（出力ストリームに伝搬される情報の量）とレイテンシー（入力ストリーム中の情報が出力ストリームに伝搬させられる適時性）との間の特定のトレードオフを採用する。低レイテンシーを生ずるためには、ポリシーは、要素が受領されるとすぐに、たとえ該要素が不完全な情報を含んでいたりまたは後刻修正される必要があるかもしれなくても、該要素を伝搬させることを選んでもよい。饒舌さを低減するには、ポリシーは、要素の伝搬をさまざまな度合いで抑制することを望むことがありうる。
【００９３】
たとえば、R3アルゴリズムにおいてadjust()要素を処理するときに（たとえばステップ１６０８において）論理マージ・モジュール１０２によって採用されるポリシーを考える。論理マージ・モジュール１０２は、adjust()イベントを決して出力しないよう構成される。論理マージ・モジュール１０２は、stable()要素を処理するときにのみ、出力するストリームが入力ストリームに適合することを保証する。
【００９４】
だがこのポリシーはさまざまな仕方で修正されることができる。別の場合には、論理マージ・モジュール１０２は、出力ストリームにおいてあらゆるadjust()要素を反映することができる。この選択は、上記のポリシーに比べればより「饒舌な」出力ストリームを生じる。だが、この選択はまた、下流の消費者が、自ら選ぶなら、そのような変化をより早期に受け入れ、処理することをも許容する。別の選択肢では、論理マージ・モジュール１０２は、特定の入力ストリーム、たとえば現在の最大のstable()タイムスタンプをもつストリーム（先導ストリーム（leading  stream）と称される）に「追随する」ことができる。この選択はアルゴリズムを単純化し、ある入力ストリームが他よりも進む傾向があるときに適切となりうる。しかしながら、先導ストリームが頻繁に変化する場合には、このポリシーは出力を再調整することにおいて有意なオーバーヘッドを被ることがある。
【００９５】
次に、論理マージ・モジュール１０２がR3アルゴリズム内で行１０において実行する処理を考える。この時点では、特定のVsについての第一のinsert()要素を処理するとき、論理マージ・モジュール１０２はそれを出力ストリームにすぐ伝搬させる。このポリシーは、出力が最大の応答性を保証する。だがこのポリシーは、他のポリシー目的にかなうようさまざまな仕方で修正されることができる。
【００９６】
たとえば、別の場合には、論理マージ・モジュール１０２は、insert()要素を、それが最大stable()タイムスタンプをもつまたは最大数の未凍結要素を有する入力ストリームによって生成される場合にのみ出力することができる。別の場合には、論理マージ・モジュール１０２は、要素を出力として送るのを、該要素が何らかの入力ストリーム上で半分凍結されるまで避けることができる。このポリシーは、論理マージ・モジュール１０２が、より高いレイテンシーを代償として、決して、出力上に置かれている要素を完全に除去しないことを保証する。別の場合には、論理マージ・モジュール１０２は、入力ストリームの何らかの部分が各Vsについての要素を生成するまで待ってからその要素を出力に送ることによって、ハイブリッド選択を採用することができる。諸入力ストリームが物理的に異なっている場合、このポリシーは、のちに完全に削除される必要があるスプリアスの出力を生成する可能性を減らしうる。
【００９７】
このセクションの最後のトピックとして、上記のアルゴリズムは、たとえば入力ストリームの破損または他の任意の現象によって引き起こされる、入力ストリーム中の要素欠損に対して耐性があることを注意しておく。たとえば、場合R0、R1およびR2についてのアルゴリズムは、何らかのストリームs中で欠けている要素を、ストリームsがより高いVsをもつ要素を送達する前に他の何らかのストリームがその欠けている要素を論理マージ・モジュール１０２に送達するならば、出力することができる。場合R3およびR4についてのアルゴリズムは、要素eを、MaxStableを（その要素についての）Vsを超えて増大させるストリームが要素eを生じるならば、出力する。
【００９８】
Ｃ．論理マージ・モジュールの例示的な応用
セクションＡに記されるように、異なる環境は、異なる応用のために論理マージ・モジュール１０２を使うことができる。本セクションは、例示的な応用の網羅的ではないコレクションを記述する。
【００９９】
図１７を考える。ここで、任意の型のホスト環境１７０２が、参照の簡単のため単数形で論理マージ・モジュール１７０４と称される、一つまたは複数の論理マージ・モジュールを含む。論理マージ・モジュール１７０４は、複数のそれぞれのユニット（たとえば、ユニット１７０６、１７０８および１７１０）から複数の入力ストリームを受領する。ある場合には、ユニット（１７０６、１７０８、１７１０）はコンピューティング機械（または単一の機械内の別個のプロセス）に対応してもよい。論理マージ・モジュール１７０４は次いで、各入力ストリームに論理的に適合する出力ストリームを生成する。
【０１００】
高い可用性。第一の応用では、環境１７０２は論理マージ・モジュール１７０４を高い可用性を保証するために使ってもよい。たとえば、出力ストリームを生成するために連続的な問い合わせが長い処理窓に依拠する場合を考える。したがって、障害時にそのような連続的な問い合わせを再開始するためには、対応して長い時間がかかることになる。この問題に対処するため、環境１７０２は、連続的な問い合わせの冗長なコピーを種々のユニット（１７０６、１７０８、１７１０）上にインストールすることができる。その各ユニットが、入力ストリームを論理マージ・モジュール１７０４に提供する。すると、環境１７０２は、特定の時点において障害を起こしていないいずれか任意の入力ストリームから結果を引き出すために論理マージ・モジュール１７０４を適用することができる。これは、n個の入力ストリーム中のn−1個までが障害を起こした場合を受け入れられる。さらに、環境１７０２は、ひとたび連続的な問い合わせが（後述する仕方で）再開始されたまたは新たに導入された後に適正に「スピンアップ」したら、新たな入力ストリームを組み込むために、論理マージ・モジュール１７０４を使うことができる。
【０１０１】
もう一つの応用では、ユニット（１７０６、１７０８、１７１０）は、環境１７０２からリモートに位置され、そのストリームを任意の型のネットワーク（インターネットなど）を介して送達する機械を表していてもよい。その場合、環境１７０２は、一つまたは複数の入力ストリームにおける遅延または他の劣化を引き起こしうるネットワーク輻輳の効果を軽減するために論理マージ・モジュール１７０４に依拠することができる。上記の場合と同様、論理マージ・モジュール１７０４は、満足のいくパフォーマンスを示す一つまたは複数の入力ストリームから選択的に要素を引き出すことによってこのタスクを実行できる。
【０１０２】
速い可用性。もう一つの応用では、環境１７０２は、速い可用性を保証するために、すなわち、消費者ができるだけ早く出力結果を得られるようにすることによって、論理マージ・モジュール１７０４を使ってもよい。この目的を達成するために、環境１７０２は、ユニット（１７０６、１７０８、１７１０）上に異なる（だが意味的には等価な）問い合わせプランをインストールすることができる。すると、環境１７０２は、任意の特定の時点において最も適時の結果を提供しつつある任意のユニット（単数または複数）から結果を引き出すために論理マージ・モジュール１７０４を使うことができる。種々の問い合わせプランは、無数の環境固有の理由のために、他の問い合わせプランより満足のいくパフォーマンスを示すことがありうる。たとえば、特定の問い合わせプランは、別の問い合わせプランに比べて、特定の型のデータセットを処理するためにより好適であることがある。代替的または追加的に、特定の問い合わせプランを実行するユニットは、たとえば資源競合問題および／または種々の仕方でユニットに影響する他の処理遅延のために、他のユニットよりもよいパフォーマンスを提供することがある。
【０１０３】
ある可用性基準（たとえば高い可用性）を満たそうと試みる環境が別の可用性基準（たとえば速い可用性）をも満たすこともあることを注意しておく。速い可用性についての上記の戦略は、問い合わせ最適化のために、すなわち、任意の所与の時点において一つまたは複数のパフォーマンス目的の観点で最も望ましい結果を与える問い合わせプランを選択することによって、使用されることもできる。
【０１０４】
プラン早送り（Plan  Fast-Forward）。さまざまな因子のため、ある問い合わせプランが他の問い合わせプランより遅れることがありうる。これが起こる場合、環境１７０２は、この遅れる問い合わせプランによって生成される出力ストリームの効果的な使用ができず、その仕事が事実上無駄になる。この状況に対処するため、環境１７０２は、遅れる問い合わせプランを他の問い合わせプランに対して最新（up-to-date）にするのを助けるフィードバック・モジュール１７１２を含むことができる。動作では、論理マージ・モジュール１７０４は、フィードバック・モジュール１７１２に、一つまたは複数の出力ストリームが、たとえば他のストリームの結果より遅れており、よって他のストリームによってすでに供給されている古びた情報を提供しているため、有用な結果を提供していないと通知することができる。応答して、フィードバック・モジュール１７１２は、基準に満たないパフォーマンスのプラン（単数または複数）を実行しているユニット（単数または複数）にフィードバック情報を送ることができる。ある場合には、指定された時刻tより前の動作が論理マージ・モジュール１７０４によって必要とされていないことをユニット（単数または複数）に知らせることができる。追加的または代替的に、フィードバック・モジュール１７１２は、より満足のいくパフォーマンスを発揮しているプランの状態に関する情報を伝達することができる。フィードバック情報を受領したら、ユニットはさまざまな形の是正アクションを実行することができる。たとえば、役に立たない（古びた）状態情報をパージする、より適時の状態情報を組み込む、役に立たない処理動作を放棄する、より現在の処理動作にジャンプするなどである。
【０１０５】
より一般には、「上流」の作用部がフィードバック情報に反応することを選ぶ仕方は、それが実行する特定の機能の性質に依存してもよい。ある実装では、フィードバック情報を受領する任意の作用部がフィードバック情報を問い合わせ処理フローにおけるさらに上流の一つまたは複数の作用部に伝搬させることができる。
【０１０６】
問い合わせジャンプスタート。もう一つの応用では、環境１７０２は、新たな入力ストリームを生成する新たな連続的な問い合わせの導入を容易にするために論理マージ・モジュール１０２を使ってもよい。たとえば、図１７において、連続的な問い合わせの新たなインスタンスを実行するために新たなユニット１７１４が導入されるとする。上記のように、いくつかの連続的な問い合わせは、消費のために有望な結果を生じることができる前に、比較的長い時間期間にわたって状態情報を蓄積することによって動作する。この問題に対処するため、環境１７０２は、たとえばディスク上に記憶されたまたは当該問い合わせの別の実行中のコピーによって提供されるチェックポイント情報に基づいて、新たに導入された連続的な問い合わせの問い合わせ状態に「シードを与える」ことができる。すると、環境１７０２は、新たに導入されたストリームを進行中の他のストリームとシームレスにマージするために、論理マージ・モジュール１７０４を適用して、新たに導入されたストリームの出力をできるだけ早く消費のために利用可能にすることができる。
【０１０７】
問い合わせカットオーバー。もう一つの応用では、環境１７０２は、ある問い合わせインスタンスから新たにインスタンス化された問い合わせインスタンス（同じ問い合わせプランまたは異なる問い合わせプランを表す）に効率的に「カットオーバー」するために論理マージ・モジュール１７０４を適用することができる。環境は、問い合わせ最適化を容易にするためにこのタスクを実行することができる。たとえば、クラウド・コンピューティング環境は、作業負荷条件に基づいて実行中の問い合わせを移行する（migrate）ためにそのようなカットオーバー機構を用いてもよい。
【０１０８】
より一般には、上記のさまざまな応用は、ストリームの導入または除去に関わる。論理マージ・モジュール１７０４は、これらのタスクを容易にするための適切な機構を含むことができる。たとえば、ストリームが論理マージ・モジュール１７０４への入力として除去されるとき、論理マージ・モジュールはそのストリームを、去ったものとしてマークすることができる。（場合R0〜R4についての）上記のアルゴリズムは最終的には、除去されたストリームはもはや考慮しない。
【０１０９】
ジョインする（joining）ためには、ジョインするストリームは、tから始まるあらゆる点（すなわちVe≧tである出力中のあらゆるイベント）について有望な出力を生成することが保証されるようなタイムスタンプtを提供する。論理マージ・モジュール１７０４は、MaxStableがtに達したらすぐ、ストリームに、「ジョインされた」とマークすることができる。というのも、この点以降は、論理マージ・モジュール１７０４は他のすべてのストリームの同時の障害または除去に耐えることができるからである。
【０１１０】
図１８は、上記の選択された応用をまとめる手順１８００である。ブロック１８０２では、論理マージ・モジュール１７０４は二つ以上のストリームを任意のそれぞれの源から受領する。ブロック１８０４では、論理マージ・モジュール１７０４は、入力ストリームに対して一つまたは複数の応用固有の処理を実行する。そのような応用は、高い可用性および／または速い可用性を保証するために入力ストリームのうちから選択すること、ストリームの導入または除去を容易にすること、基準に達しないパフォーマンスのストリームの存在をフィードバック・モジュール１７１２に通知すること（それに際してフィードバック・モジュール１７１２はフィードバック情報を適切な源に送ることができる）、などを含むことができる。
【０１１１】
Ｄ．代表的なコンピューティング機能
図１９は、上記の機能の任意の側面を実装するために使用できる例示的なコンピューティング機能１９００を記載している。たとえば、コンピューティング機能１９００は、図１の論理マージ・モジュール１０２の任意の側面を実装するために使用できる。ある場合には、コンピューティング機能１９００は、一つまたは複数の処理装置を含む任意の型のコンピューティング装置に対応してもよい。コンピューティング装置は任意的に、そのようなコンピューティング装置のクラスターの構成員であってもよい。
【０１１２】
コンピューティング機能１９００は、RAM  １９０２およびROM  １９０４のような揮発性および不揮発性のメモリならびに処理装置１９０６（たとえば一つまたは複数のCPUおよび／または一つまたは複数のGPUなど）を含むことができる。コンピューティング機能１９００はまた、任意的に、ハードディスク・モジュール、任意的なディスク・モジュールなどといったさまざまな媒体装置１９０８を含む。コンピューティング機能１９００は、処理装置（単数または複数）１９０６がメモリ（たとえばRAM  １９０２、ROM  １９０４または他の場所）によって維持されている命令を実行するときに上記で同定された様々な処理を実行することができる。
【０１１３】
より一般には、命令および他の情報は、静的メモリ記憶装置、磁気記憶装置、光学式記憶装置などを含むがこれに限られない任意のコンピュータ可読媒体１９１０上に記憶されることができる。コンピュータ可読媒体の用語は、複数の記憶装置をも包含する。すべての場合において、コンピュータ可読媒体１９１０は何らかの形の物理的および有体なエンティティを表す。
【０１１４】
コンピューティング機能１９００はまた、さまざまな入力を（入力モジュール１９１４を介して）受領し、（出力モジュールを介して）さまざまな出力を提供する入出力モジュール１９１２をも含む。ある特定の出力機構は、呈示モジュール１９１６および関連するグラフィカル・ユーザー・インターフェース（GUI）１９１８を含んでいてもよい。コンピューティング機能１９００はまた、一つまたは複数の通信導路１９２２を介して他の装置とデータを交換するための一つまたは複数のネットワーク・インターフェース１９２０をも含むことができる。一つまたは複数の通信バス１９２４が上記のコンポーネントを通信上、一緒に結合する。
【０１１５】
通信導路（単数または複数）１９２２は任意の仕方で、たとえばローカル・エリア・ネットワーク、広域ネットワーク（たとえばインターネット）などまたはその任意の組み合わせによって、実装されることができる。通信導路１９２２は、任意のプロトコルまたはプロトコルの組み合わせによって支配される、固定構成のリンク、無線リンク、ルータ、ゲートウェイ機能、名前サーバーなどの任意の組み合わせを含むことができる。
【０１１６】
代替的または追加的に、セクションＡ〜Ｃにおいて記述した機能の任意のものは、少なくとも部分的には、一つまたは複数のハードウェア論理コンポーネントによって実行されることができる。たとえば、限定するものではないが、使用できるハードウェア論理コンポーネントの例示的な型は、フィールド・プログラマブル・ゲート・アレイ（FPGA）、特定用途向け集積回路（ASIC）、特定用途向け標準プロダクト（ASSP）、システムオンチップ・システム（SOC）、コンプレックス・プログラマブル論理デバイス（CPLD）などを含む。
【０１１７】
締めくくりに、本記述は、例示的な課題または問題のコンテキストにおいてさまざまな概念を記述してきた。このような説明法は、本稿で特定されている仕方でそれらの課題または問題を他者が認識したおよび／または明言したという自認をなすものではない。
【０１１８】
主題について構造的な特徴および／または方法論的な工程に固有の言葉で記述してきたが、付属の請求項において定義される主題は必ずしも上記の特定の特徴または工程に限定されるものではないことは理解しておくものとする。むしろ、上記の特定の特徴および工程は請求項を実装する例示的な形として開示されているのである。
【図１】
2014524175.tif 000003
【図２】
2014524175.tif 000004
【図３】
2014524175.tif 000005
【図４】
2014524175.tif 000006
【図５】
2014524175.tif 000007
【図６】
2014524175.tif 000008
【図７】
2014524175.tif 000009
【図８】
2014524175.tif 000010
【図９】
2014524175.tif 000011
【図１０】
2014524175.tif 000012
【図１１】
2014524175.tif 000013
【図１２】
2014524175.tif 000014
【図１３】
2014524175.tif 000015
【図１４】
2014524175.tif 000016
【図１５】
2014524175.tif 000017
【図１６】
2014524175.tif 000018
【図１７】
2014524175.tif 000019
【図１８】
2014524175.tif 000020
【図１９】
2014524175.tif 000021
【国際調査報告】
2014524175.tif 000022
2014524175.tif 000023