(57)【要約】  データストリームが結果データストリームを生成する処理手段により処理される、耐障害的で信頼性の高いストリーム処理の方法に関し、各分裂サブストリームが前記データストリームの一部情報を担持し、データストリームが分裂サブストリームを個別に処理する（Ｐ．ａ、Ｐ．ｂ）ことにより処理されて分裂結果サブストリーム（ＲＳ１．ａ、ＲＳ  １．ｂ、ＲＳ２．ａ、ＲＳ２．ｂ）を生成するように、データストリームが処理される前にデータストリームが分裂サブストリーム（Ｓ１．ａ、Ｓ１．ｂ、Ｓ２．ａ、Ｓ２．ｂ）に分割（分裂）（Ｄ１、Ｄ２）され、各分裂結果サブストリームが結果データストリームの一部情報を担持し、分裂サブストリームの一部が利用できない場合、不明な情報が補間され得るように、分裂結果サブストリームが結果データストリームに構成可能（Ｃ１、Ｃ２）（融合）である。
2008535294.tif 000002
【特許請求の範囲】
【請求項１】
データストリームが結果データストリームを生成する処理手段により処理される、耐障害的で信頼性の高いストリーム処理の方法であって、各分裂サブストリームが前記データストリームの一部情報を担持し、データストリームが少なくとも２つの分裂サブストリームを個別に処理する（Ｐ．ａ、Ｐ．ｂ）ことにより処理されて少なくとも２つの分裂結果サブストリーム（ＲＳ１．ａ、ＲＳ  １．ｂ）を生成するように、データストリームが処理される前にデータストリームが少なくとも２つの分裂サブストリーム（Ｓ１．ａ、Ｓ１．ｂ）に分割（分裂）（Ｄ１、Ｄ２）され、各分裂結果サブストリームが結果データストリームの一部情報を担持し、分裂サブストリームの一部が利用できない場合、不明な情報が補間され得るように、少なくとも２つの分裂結果サブストリームが結果データストリームに構成可能（Ｃ、Ｃ１、Ｃ２）（融合）であることを特徴とする、方法。
【請求項２】
少なくとも２つの分裂サブストリームの一部が利用できないことが、利用できない分裂ストリームのストリーム処理の回復をトリガすることを特徴とする、請求項１に記載の方法。
【請求項３】
ストリーム処理の回復が、少なくとも２つの分裂サブストリームを処理する処理状況を保持する予備のシステムにより実施されることを特徴とする、請求項３に記載の方法。
【請求項４】
分裂ストリームが、部分的に冗長であり不明の情報を補間するように符号化されていることを特徴とする、請求項１に記載の方法。
【請求項５】
耐障害的で信頼性の高いデータストリームを処理するように構成された装置またはシステムにおいて、その装置がデータストリーム処理（Ｐ．ａ、Ｐ．ｂ）の処理手段を含む装置またはシステムであって、少なくとも２つの分裂サブストリーム（Ｓ１．ａ、Ｓ１．ｂ）を生成する生成手段（Ｄ  １、Ｄ２）を含み、各分裂サブストリームが前記データストリームの一部情報を担持するように、少なくとも２つの分裂サブストリームがデータストリームの分割であり、処理手段（Ｐ．ａ、Ｐ．ｂ）が、少なくとも２つの分裂サブストリーム（Ｓ１．ａ、Ｓ１．ｂ）を個別に処理して少なくとも２つの分裂結果サブストリーム（ＲＳ１．ａ、ＲＳ  １．ｂ）を生成するように構成されていて、各分裂結果サブストリームが結果データストリームの一部情報を担持し、分裂サブストリームの一部が利用できない場合、不明な情報が補間され得るように、少なくとも２つの分裂結果サブストリームが結果データストリームに構成可能（融合）であることを特徴とする、装置またはシステム。
【請求項６】
利用できない分裂ストリームのストリーム処理の回復をトリガすることのできる少なくとも２つの分裂サブストリームの一部が利用できないことを検出する検出手段をさらに含むことを特徴とする、請求項５に記載の装置またはシステム。
【請求項７】
ストリーム処理の回復を実施するように構成され、かつ少なくとも２つの分裂サブストリームを処理する処理状況を保持するように構成された予備のシステム構成要素（ＰＪ．ｂ）をさらに含むことを特徴とする、請求項６に記載の装置またはシステム。
【請求項８】
データストリームを少なくとも２つの分裂サブストリームに分割する分裂手段を含むこと、あるいは少なくとも２つの分裂サブストリームをデータストリームに構成する融合手段（Ｃ、Ｃ１、Ｃ２）を含むことを特徴とする、請求項５、６、または７に記載の装置またはシステム。
【請求項９】
メディアサーバ、メディアゲートウェイ、基地局、あるいはネットワーククライアントなどのメディアストリーム処理ネットワークノードである、請求項５、６、７、または８に記載の装置またはシステム。
【請求項１０】
請求項１に記載の方法を実施するプログラミング手段を含むことを特徴とする、耐障害的で信頼性の高いストリーム処理のためのコンピュータソフトウェア製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、耐障害的で信頼性の高いストリーム処理の方法に関する。本発明はまた、そのための装置、システム、およびコンピュータソフトウェア製品に関する。
【背景技術】
【０００２】
何らかの外部環境で生成されたデータが、その情報を処理するサーバまたはクライアントに非同期的に転送される新興アプリケーションの大規模な一群が存在する。アプリケーションの例の中には、センサネットワーク、位置追跡サービス、製造ライン管理、ネットワーク管理、およびストリームメディアアプリケーションを含むものもある。これらのアプリケーションは、大規模データストリームをタイムリに応答形式で処理しなければならないという特徴をもつ。多くのこのようなストリームベースのアプリケーションは、当然ながら分散され、多くの場合、機能の均一でない連結された多数のコンピューティングデバイスを有する環境に組み込まれる。データがその起点（例えば、センサ）からアプリケーションへと下りストリームを進む時、データは多数のコンピューティングデバイスを通過し、それらデバイスの各々が潜在的な計算対象となる。さらに、時間的に一様でない負荷スパイクと変更要求に対処しようとして、多くのサーバが問題に投入されることになる。どちらの場合も、分散計算が基準である。
【０００３】
「Ｓｃａｌａｂｌｅ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｔｒｅａｍ  Ｐｒｏｃｅｓｓｉｎｇ」では、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ２００３  ＣＩＤＲ  Ｃｏｎｆｅｒｅｎｃｅにおいて、Ｍｉｔｃｈ  Ｃｈｅｒｎｉａｃｋ他が、データストリーミング処理のシミュレートが可能なストリームプロセッサを開示している。
【０００４】
論文「Ｓｔｒｅａｍ  Ｂａｓｅｄ  Ｄｅｓｉｇｎ  ｏｆ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｙｓｔｅｍｓ  ｔｈｒｏｕｇｈ  Ｒｅｆｉｎｅｍｅｎｔ」で、Ａｎｎｅｔｔｅ  Ｓｔｕｍｐｅｌは、分散システムの構成要素の段階的詳細化による設計に対してストリームベースのフレームワークを展開している。分散システムは、単向性のチャネルで接続された非同期的に通信する構成要素からなるネットワークとして扱われている。メッセージのストリームは、チャネルの通信履歴を形作る。入力履歴を出力履歴にマップするストリーム処理機能が構成要素を描出する。各構成要素の動作はストリーム処理機能により指定される。
【０００５】
「Ａ  Ｕｎｉｆｉｅｄ  Ｄａｔａ  Ｍｏｄｅｌ  ｆｏｒ  Ｒｅｐｒｅｓｅｎｔｉｎｇ  Ｍｕｌｔｉｍｅｄｉａ，Ｔｉｍｅｌｉｎｅ，ａｎｄ  Ｓｉｍｕｌａｔｉｏｎ  Ｄａｔａ」（ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎ  ｏｎ  Ｋｎｏｗｌｅｄｇｅ  ａｎｄ  Ｄａｔａ  Ｅｎｇｉｎｅｅｒｉｎｇ，Ｖｏｌ．１０，ＮＯ．５，１９９８）で、Ｊｏｈｎ  Ｄａｖｉｄ他は、１組の関連するデータモデル構成要素を活用してマルチメディア、タイムライン、およびシミュレーションデータを表す統一データモデルを記載している。諸タイプのマルチメディアに対する統一モデルは、画像、音声、ビデオ、および長いテキストデータを一貫して構造化し、これら複合的なデータタイプについても、マルチメディアのスキーマとクエリにある程度のデータの独立性を与える。本来的に時間要素を有する情報は全て、ストリームと呼ばれる構造を用いて表され得る。ストリームは、並行するマルチストリームに統合されてよく、したがって複数組の時間ベースの情報を閲覧する構造を提供する。統一されたストリーム構造により、リアルタイム測定、数値でのシミュレーションデータ、およびそのデータの視覚化が同じ１組のオペレータを用いて統合され扱われ得るようになる。
【０００６】
同時並行性が一連の行為、すなわち見込まれる実行順序として扱われている「Ｍｏｄｅｌｉｎｇ  Ｃｏｎｃｕｒｒｅｎｃｙ  ｗｉｔｈ  Ｐａｒｔｉａｌ  Ｏｒｄｅｒｓ」に関するＶａｕｇｈａｎ  Ｐｒａｔｔの独創性に富んだ文献で１９８６年に始まるこの領域での理論展開も、形式言語（典型的にはシャフルオペレータ（ｓｈｕｆｆｌｅ  ｏｐｅｒａｔｏｒ）を介して）、半順序（ｐａｒｔｉａｌ  ｏｒｄｅｒｓ）、および時相論理（ｔｅｍｐｏｒａｌ  ｌｏｇｉｃ）、とりわけクリプキ構造の点から様々に表現されている。単一のハイブリッド手法は、代数と論理を混合した高級言語を有し、自然なクラスのストリームのモデルを有する。「Ｃｈｕ  Ｓｐａｃｅｓ  ａｎｄ  ｔｈｅｉｒ  Ｉｎｔｅｒｐｒｅｔａｔｉｏｎ  ａｓ  Ｃｏｎｃｕｒｒｅｎｔ  Ｏｂｊｅｃｔｓ」（Ｄｅｐａｒｔｍｅｎｔ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，Ｓｔａｎｆｏｒｄ，２００５）など現在の展開では、かかるストリームを、ある集合から、逆の関数を介して変換する集合として定義される反集合への２項関係であるＣｈｕ空間として扱っている。Ｃｈｕ空間は、実際の数学および計算で生じる全ての小さな具体的な圏とほとんどの大きな圏を認めるので、とても多くの解釈を可能とする。コンピュータ科学にとって特に関心があるのは、計算処理としてのその解釈であり、その場合、反集合を時間的に分散されたイベントのスケジュールとし、集合をＳｃｏｔｔの意味における情報システムを形成する状態の自動化とし、その関係における対を履歴の作成の個々の転写とする。状態の推移とスケジュールの順位の従来の均質な２項関係は、それ自体との均質でない２項関係のそれぞれ右および左の剰余で回復される。Ｃｈｕ空間の自然代数は線形論理のそれであり、プロセス解釈によりプロセス代数となる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
知られている全アプローチは共通の特徴を共有しており、それはストリームが扱われ、かつ意味を有するオブジェクトから構成されることである。本発明の目的は、ストリームの分割を可能にする作業コピーオペレータ（ｗｏｒｋｉｎｇ−ｃｏｐｙ  ｏｐｅｒａｔｏｒ）によりストリーム処理を強化することである。副作用として、このオペレータのアプリケーションが、システムの動作可能時間およびストリームメディアに関連するサービスの大規模な一群の可用性と信頼性を強化することが明らかになる。
【課題を解決するための手段】
【０００８】
これまで知られている、タンデム処理または三重冗長システムなど構成要素の冗長化、複数の伝送パスなど伝送の冗長化、およびデータの冗長化は、それらの方法の全てにおいて少なくとも追加の処理資源が必要となるという不利点を共有する。
【０００９】
冗長化とは、故障およびエラーに対処するために単一の機能を実施する複数の相互に交換可能な構成要素を備えることである。冗長化は、一般的には、主としてハードウェアに適用される。例えば、同じ仕事をする２つ、さらには３つのコンピュータ／プロセスをインストールすることができる。これらコンピュータ／プロセスが使用され得る方法は幾つかある。それら全てが常にアクティブであるようにし、したがって余分な可用性を与えるだけでなく並行処理を通じて余分に実行することもできる。１つをアクティブにし、残りはその１つが故障した場合すぐに引き継げるように、その１つのアクティビティをただ監視する（「温待機」）。「予備」は電源を切った状態におかれ、必要な時にだけスイッチが入れられる（「冷待機」）。ハードウェアでの冗長化の別のよくある形態は、ディスクミラーリングである。冗長化はまた、ハードウェアとソフトウェアのどちらにおいても、エラーを検出しエラーから回復するのに使用されてよい。そのよく知られている例は巡回冗長検査であり、これは格納または伝送中の損壊を検出するためにブロックに冗長データを付加する。例えば安全性を最重要視するシステムで、エラーによるコストが十分高くつく場合、冗長化は、ハードウェアとソフトウェアの両方で、３つの別々のチームによりプログラムされた３つの別々のコンピュータと、その３つのコンピュータ全てが同じ答を出すかを検査する何らかのシステム、すなわちある種の多数決システムとを用いて、使用され得る。
【００１０】
ストリームなどのデータ構造内の冗長化は、不可欠な情報を失うことなく削除されてよいメッセージの情報コンテンツ全体に対する割合である。
【００１１】
理論的には、冗長化は、１から最大の不確かさに対する実際の不確かさの割合を引いたものである。これはメッセージの構造の割合であり、送信側の選択によってではなく、問題となっているシンボルの選択を規定する容認された統計的な規則によって判定される。Ｓｈａｎｎｏｎ  ａｎｄ  Ｗｅａｖｅｒ，１９４８。
【００１２】
耐障害性とは、ハードウェアまたはソフトウェアの故障が存在しても正規の動作を継続できる、システムまたは構成要素の能力である。これは、多くの場合、ある程度の冗長化を含む。
【００１３】
密接に関連して、「Ｅｆｆｉｃｉｅｎｔ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｏｐｔｉｍａｌ  Ｖｉｄｅｏ  Ｔｒａｎｓｍｉｓｓｉｏｎ」（Ｄｅｘｔｅｒ．  Ｋｏｚｅｎ他、Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ  ＴＲ９５−１５１７、Ｃｏｒｎｅｌｌ  Ｕｎｉｖｅｒｓｉｔｙ）では、符号化されたビデオストリームを限られた帯域幅のチャネルで送る問題に対応している。利用できる帯域幅が十分ない場合、一部のデータは脱落せざるを得ない。多くのビデオ符号化の場合、一部のデータは他のデータより重要である。上記の文献では、優先度を決めることが提案されており、これにより視覚品質が最適化される。
【００１４】
したがって、受容可能な情報損失および失われた情報の情報補間という考えが、伝送帯域幅のために知られている。
【００１５】
以下では、ストリームとは、全ての種類の、必ずしも完全に配列されているとは限らないシーケンスのエンティティまたは値を表すエンティティである。これらのエンティティまたは値は、ストリームの要素と呼ばれる。シーケンスにおける順は時間に基づいており、ストリームエンティティの要素は、時間的に異なるインスタンスであることで区別される。ストリームはまた、そこからシーケンスの現在の要素が判定され得る現時間という考えをもつ。
【００１６】
サブストリームは、それ自体が要素であるストリームであるか、または別のストリームの要素からなるストリームである。それらは通常、シーケンス全体を意味論的に意味を有する部分に分割する。したがってサブストリームは、ストリームデータモデルが時間の経過で展開するデータ（ｔｅｍｐｏｒａｌ  ｅｖｏｌｕｔｉｏｎａｒｙ  ｄａｔａ）と対話するのを可能にする。デジタルビデオについて言えば、サブストリームは、ビデオシーケンス全体からの個々の場面であると考えられてよい。
【００１７】
システムの信頼性および耐障害性を強化する問題は、各分裂サブストリーム（ｆｉｓｓｉｏｎ  ｓｕｂ−ｓｔｒｅａｍ）がデータストリームの一部情報を担持し、次いで前記データストリームが少なくとも２つの分裂サブストリームを個別に処理することにより処理されて少なくとも２つの分裂結果サブストリーム（ｆｉｓｓｉｏｎ  ｒｅｓｕｌｔ  ｓｕｂ−ｓｔｒｅａｍｓ）を生成するように、データストリームが処理される前にデータストリームが分裂により少なくとも２つの分裂サブストリームに分割されるやり方で、データストリームが処理されて結果データストリーム（ｒｅｓｕｌｔ  ｄａｔａ  ｓｔｒｅａｍ）を生成し、各分裂結果サブストリームが結果データストリームの一部情報を担持し、分裂サブストリームの一部が利用できない場合、不明な情報が補間され得るように、少なくとも２つの分裂結果サブストリームが融合により結果データストリームに構成可能である、ストリーム処理によって解決される。直感的には、サブストリームの従来観は、原ストリーム（開始位置および終了位置をもつ）の垂直分割の結果である。ところが分裂は、原ストリーム（評価が可能な部分）の水平分割である。
【００１８】
言い換えると、通常の回復メカニズム、すなわちストリームが完全に分割される並行ストリーム処理に取って代わることが提案される。
【００１９】
ストリームの分裂と融合は、故障時に一部（劣化した）ストリーム処理および結果ストリーム（サービス）が残るように、ストリーム処理の繊維分散（ｆｉｂｅｒｅｄ  ｄｉｓｔｒｉｂｕｔｉｏｎ）に適用される。本発明は、３つの仮定に基づいている。すなわち
それぞれが動作状況（ｏｐｅｒａｔｉｏｎａｌ  ｃｏｎｔｅｘｔ）をもつ構成要素、例えば分裂構成要素（ストリーム分割のため）と、２つの連続的なストリームを処理するための融合（ストリーム合成）構成要素とを有するシステム。
【００２０】
ストリーム情報が分裂結果から部分的に再構築され得る特徴をもつ、分裂可能であり融合可能である（連続的）ストリーム。
【００２１】
好ましくは、連続して動作状況を監視し、故障時に処理構成要素の代理をする予備システム。
【００２２】
既に論じられたように、分裂は、サブストリームが（僅かに劣化した）情報を担持するように、ストリームのサブストリームへの水平分割を意味する。融合は逆の機能、すなわちサブストリームの原ストリームへの統合または構成である。
【００２３】
分裂（分割）をストリームに適用して、そのストリームをサブシステム間で分散することと、それに対応して融合（合成）をその結果に適用すること。サブシステムが故障すると、残りの処理ブランチで劣化したサービスが実施される。第２段階で、予備のサブシステム（簡潔にジョーカー（Ｊｏｋｅｒ）と呼ぶ）が故障したサブシステムに取って代わるのが好ましい。保守または復旧段階で、故障したサブシステムは、取って代わられ、再初期化等がなされ、新しいジョーカーとして構成されるように。システムは常に利用可能に保たれ、システムがシャットダウンされることもリブートされることもない。
【００２４】
このことは、ネットワーク性能およびストリームメディア処理の回復管理が向上されるという利点をもつ。システムは常にアップしており、サービスは常に利用可能で信頼性がより高まる。システムの故障がシステムの機能停止を引き起こすことがなく、単にスムーズなサービスの劣化が短期間生じるだけである。これは、処理資源という点で安上がりであり、複数の同等なサブシステム間で共用されるので、分裂および融合の努力、および任意選択で予備のシステムを費やすだけである。したがって、冗長化の考え自体が改良される。
【００２５】
本発明はさらに、保守段階でもシステムが常にアップしているという利点をもつ。したがって構成要素は、品質が劣化するだけで動作中である間でも取って代わられることが可能である。
【００２６】
本発明の上記およびその他の多くの目的および利点は、図面および以下の説明を考察することにより当業者には明らかとなろう。
【発明を実施するための最良の形態】
【００２７】
図１は、複数のストリームＳ１、Ｓ１．１およびＳ１．２およびＳ１．ａおよびＳ１．ｂを示す。第１のストリームＳ１は要素Ｅからなるシーケンスを含む。
【００２８】
このシーケンス、あるいはより一般的には、時間順で並んだ要素は、ある種の情報を担持し、この情報はストリームから意味領域（ｓｅｍａｎｔｉｃ  ｄｏｍａｉｎ）へのマッピングＩにより表現される。さらに、この情報は一種の品質をもち、これが意味領域から規則領域（ｏｒｄｅｒｅｄ  ｄｏｍａｉｎ）へのマッピングＱであり、各情報に品質を与える。例えば、ＭＰＥＧで符号化されたストリームを考えてみると、画像シーケンスの情報を情報として担持している。かかる情報の品質は、その情報を視覚的に提示する際、ジッタ、遅延、解像度などに関する視覚化の品質などの要素により区別され得る。この場合、品質は、測定に、例えば視覚化の品質の経験的値、例えば０＝知覚不可能、１＝知覚可能、２＝許容可能、３＝優良をマッピングすることであり得る。
【００２９】
図はさらに、「Ａ  Ｕｎｉｆｉｅｄ  Ｄａｔａ  Ｍｏｄｅｌ  ｆｏｒ  Ｒｅｐｒｅｓｅｎｔｉｎｇ  Ｍｕｌｔｉｍｅｄｉａ，Ｔｉｍｅｌｉｎｅ，ａｎｄ  Ｓｉｍｕｌａｔｉｏｎ  Ｄａｔａ」に示されているサブストリームのような垂直分割ＶＤを示しており、この場合、２つのサブストリームＳ１．１およびＳ１．２が第１のストリームＳ１に統合する。分割はこの統合情報から生じる。フラットなストリームは分割できない。垂直分割可能なストリームの一例は、クリップのシーケンスからなるビデオストリームである。垂直に分割できないストリームは、例えば、追加の意味（ｓｅｍａｎｔｉｃｓ）をもたない単純な整数シーケンスである。
【００３０】
図はまた、２つの分裂サブストリームＳ１．ａおよびＳ１．ｂへの水平分割ＨＤを示す。この分割は、統合情報ではなく、担持された情報を利用する。かかる分割の要件は、各分裂サブストリームＳ１．ａおよびＳ１．ｂが原ストリームＳ１の情報を担持することであり、この場合、情報品質劣化が許される。
【００３１】
どちらの分割も元に戻すことができる。すなわち原（分割された）ストリームはサブストリームから再構築され得る。
【００３２】
水平分割は、２つのオペレータで表現されてよく、分裂オペレータＦＩは１つのストリームを総数のサブストリームにマッピングする。融合演算子ＦＵは、総数のサブストリームを１つのストリームにマッピングし、ただしＳ＝ＦＵ（ＦＩ（Ｓ））である。
【００３３】
例として、例えばマウスポインタからの座標で構成されるストリームを考えてみる。Ｓ＝［（ｘ１，ｙ１）；（ｘ２，ｙ２）；（ｘ３，ｙ３）；（ｘ４，ｙ４）；（ｘ５，ｙ５）；（ｘ６，ｙ６）；（ｘ７，ｙ７）；．．．］
【００３４】
分裂オペレータを、奇数の指数をもつ座標を第１の分裂ストリームにマッピングし、偶数の指数をもつ座標を第２の分裂ストリームにマッピングする、すなわち
【数１】
2008535294.tif 000003
とし、対応する逆の動作である融合オペレータＦＵ（Ｓ．ａ，Ｓ．ｂ）を、分裂サブストリームから交互に座標を取り、それらを（正しい順で）１つのストリームに融合するものとする。
【００３５】
座標で構成されるストリームの品質は、座標情報の密度である。この例では、１つの要素（ｘ，ｙ）により与えられる情報は、明らかに画面上の位置である。したがって利用できる位置が多ければ、それだけポインタの指定が正確になる。さらに情報は実際的でなければならず、すなわちローカルでの密度が品質であり、平均化された不鮮明さではなく、すなわち分割
【数２】
2008535294.tif 000004
は、第１のサブストリームがあまりにも品質が低いので、水平分割ではないはずである。
【００３６】
水平分割は、品質の劣化を伴う分裂サブストリームの一部からの原情報の再構築を可能とする。
【００３７】
上記の例では、奇数指標の座標をもつストリームならびに偶数指標の座標をもつストリームでポインティングには十分足りる。そうでない場合でも、ポインタの軌跡は連続的であると仮定されて良いので、例えば、（線形多項式、スプラインなどにより中間座標が補間され得る。
【００３８】
情報の断片ではなく、部分情報が分裂サブストリームで運ばれるという事実は、全体がなくてもシーケンスを形成するより小さな要素により表現される。
【００３９】
図２は、水平分割の適用例を示す。図に示される２つの分裂サブストリームＳ１．ａおよびＳ１．ｂへの水平分割ＨＤがあると仮定する。ストリームの各々が、例えば別々の処理、タスクによって、別々のスレッドで、さらには別々のハードウェアＰ．ａおよびＰ．ｂでも処理される。この処理は、２つの結果分裂サブストリームＲＳ１．ａおよびＲＳ１．ｂを生成する。これら２つのストリームは、別のシステム構成要素Ｃ（処理構成要素に並ぶ）により結果ストリームＲＳ１に融合されてよい。
【００４０】
一見すると、これはストリームの並行（ベクトル）処理の特別な方法のように見える。綿密に調べれば、より増した信頼性が明らかとなる。ストリーム処理は、以下の出発点から考察されてよい。すなわち、ストリームＳを結果ストリームＲＳに変換する処理Ｐ、すなわち、
Ｐ（Ｓ）＝ＲＳ
を行う。本発明によれば、ストリームＳは水平的に総数の（ここでは１対の）分裂サブストリームに分割される、すなわち
ＦＩ（Ｓ）＝（Ｓ．ａ，Ｓ．ｂ）
図では、Ｓ１．ａおよびＳ１．ｂである。したがって処理マッピングＰは、Ｐ．ａとＰ．ｂに分割される。これらマッピングが原マッピングＰの繊維（ｆｉｂｅｒｓ）であることに留意されたい。最も単純な場合では、各ストリームは一様に扱われ、すなわちＰ．ａ＝Ｐ．ｂ＝Ｐである。以下の制約
ＦＵ（ＦＩ（Ｄ）（ＦＩ（Ｓ）））＝Ｐ（Ｓ）
が満たされるように、Ｐの分割を
ＦＩ（Ｐ）＝（Ｐ．ａ，Ｐ．ｂ）
で示されるようにすると、
ＦＩ（Ｄ）＝（Ｄ１，Ｄ２）である。
ここでの例の場合、これは
ＲＳ１＝Ｐ（Ｓ）＝ＦＵ（Ｐ．ａ（Ｓ１．ａ），Ｐ．ｂ（Ｓ１．ｂ））
となる。
【００４１】
これは、処理が停止する、あるいはストリームが壊れた場合でも、常に品質の低下した結果ストリームが利用可能なままであるという効果をもつ。例えば、分裂サブストリームＳ１．ｂが壊れる、あるいは処理Ｐ．ｂが停止した場合、以下の状況
ＲＳ’１＝ＦＵ（（Ｐ．ａ（Ｓ１．ａ），［］））
が生じる。
この結果ストリームは、原ＲＳ１の情報、すなわち
Ｉ（ＲＳ’１）−（ＲＳ１）
を担持するが、より低い品質Ｑ（Ｉ（ＲＳ’１））である。
【００４２】
ポインタの座標ストリームについての上記の例を拡大すると、処理Ｐは座標を１つの座標システムから別の座標システムへマッピングする線形変換であり得る。この処理はポイントに関する、すなわち要素に関するものなので、奇数を指標とする座標をもつ分裂サブストリームと偶数を指標とする座標をもつ分裂サブストリームの変換の単純なコピーで、そのジョブは間に合うはずである。
【００４３】
対照的に、垂直分割は情報の大きな欠損をもたらすことになる。
【００４４】
図３は、（分裂および融合と並んで）追加の処理が一切なくても信頼のより高い並行して２つのストリームを処理するアーキテクチャを示す。２つのストリームＳ１およびＳ２が、処理Ｐで処理されて２つの結果ストリームＲＳ１およびＲＳ２を生成しなければならない。すなわち
【数３】
2008535294.tif 000005
本発明による有利な装置は、分裂構成要素Ｄ１およびＤ２と、結果ストリームを構成する融合構成要素Ｃ１およびＣ２を含む。これは以下の式により実行される。
【数４】
2008535294.tif 000006
【００４５】
このことは、１つの処理構成要素が停止した場合でも、常に出力上の各情報がそのままであるという利点をもつ。対照的に、式
【数５】
2008535294.tif 000007
における停止したプロセッサＰは、大きな情報損失をもたらす、すなわち結果ストリームの１つが壊されることになるだろう。
【００４６】
明らかに、このストリーム処理法は、
【数６】
2008535294.tif 000008
への変換を帰納的に適用することによるやり方で連結して（ｃｏｍｂｉｎａｔｏｒｉａｌ）一般化され得るものであり、コンパイラでも前者のストリーム処理のようないかなるベクトルをも有利な後者に変換できるはずである。
【００４７】
図４は、好ましい実施形態での装置、すなわちジョーカー構成要素ＰＪ．ｂをもつ装置のアーキテクチャを示す。先の図に示されるアーキテクチャから始めると、この装置もまた分裂構成要素Ｄ１およびＤ２と、融合構成要素Ｃ１およびＣ２と、処理構成要素Ｐ．ａおよびＰ．ｂとを含む。上記で述べられた２つのストリームＳ１およびＳ２が入力され、結果ストリームＳＲ１およびＳＲ２が生成される。
【００４８】
上記で述べられたように、処理構成要素、図ではＰ．ｂが停止すると、結果ストリームの品質が劣化する。本来の動作を回復するために、回復手順が提案される。ジョーカープロセッサＰＪ．ｂと呼ばれる予備の構成要素が、機能していない構成要素のタスクを引き継ぐことが提案される。機能していない処理を直ちにプロセッサで引き継ぐために、全ての（または少なくとも絶対必要な構成要素）処理構成要素の処理状況がジョーカープロセッサにより保持される。プロセッサが機能を停止した場合、このことは、例えば、結果ストリームから、例えばチェックサムまたはそれに類するものを介して発見されるだけでなく、プロセッサそれ自体から、例えばアライブ信号またはウォッチドッグ（ｗａｔｃｈｄｏｇ）などを介しても発見され得る。
【００４９】
機能していないことが発見される時、ジョーカーは十分な情報をもち、破線の矢印により示される処理の枠組みにそれ自体を（またはディスパッチャ（ｄｉｓｐａｔｃｈｅｒ）により）呼び出す。機能していないことの影響は、結果ストリームの品質が短い時間（許容可能）劣化するだけですむ。設計の対称性により、機能していない構成要素が、第２の回復段階で（動作可能性が復旧されると）新しいジョーカー構成要素として呼び出される。
【００５０】
このことは、図に示されるように、十分に動作可能な動作が復旧するように、冗長プロセッサが故障したプロセッサのジョブを引き継ぐことができることを意味する。この分散原理が、完全に情報を失うことなくスムーズな回復を可能にする。ディスパッチァがプロセッサの状況を適合させる責任を担うことが好ましい。状況の切替えにはある程度の時間がかかるが、中間段階でも完全な情報損失の代わりに品質の劣化が生じるだけである。
【００５１】
ライブストリームを処理する難しさは２倍である。第１に、遅延無しでストリームを処理するために、骨の折れる手順が効率よいものでなければならない。第２に、処理ユニットが故障しても、ライブストリームの消費が可能でなければならない。音声またはビデオのストリームは好例を提供する。これらのストリームはリアルタイムに処理されなければならず、幾つかの例では、これらのストリームは１つのサブストリームが無くなってもストリーム情報がなお存在するという特徴を備え、分裂可能であり融合可能である。この（音声またはビデオ）ストリームの品質だけが、故障した処理構成要素にジョーカーが取って代わるまでの短い期間劣化する。
【００５２】
一定クラスの、音声およびビデオストリームの多くのような連続的な情報は、原ストリームの情報が補間またはそれに類するものを介して（品質が劣化して）提示／または再構築すらされ得るように、適切なサブストリーム（分裂ストリーム）が許容可能な品質の情報を含みさえするという特徴をもつ。
【００５３】
提案されている骨の折れる解決策は、幾つかの前提に基づく。連続的なデータ（ストリーム）は、分裂された１部だけを処理することでサービス品質の劣化はもたらすがデータにより担持される情報を壊すことがないように、データストリームの分裂が可能でなければならない。この種の消失は、サービス品質が受容不可能になるまで、すなわち情報が失われるまで続くことがある。また連続的なデータは、その結果が分裂なしの処理の出力に同一となるように、分裂から生じた処理された部分の融合が可能でなければならない。分裂オペレータが存在するという特徴は、符号化とストリームの構造化にかかっている。処理繊維が別の処理の状況を必要とすることがあることに留意されたい。このような場合、処理同士で対話することが必要となり得る。
【００５４】
他の弱い要件は、検索されたストリームデータが遅延可能である、すなわち原ストリームが一部の分裂ストリームから再構築されてよい（劣化を伴う）ことである。この要件は、データをサーバから検索する要求が、分裂の一部を処理するサブシステムが別のサブシステムで置き換えられるまで遅延され得る、かつ／または繰返し試みられ得るようにする。
【００５５】
異なる動作状況をもつ複数の同等なサブシステム、例えばベクトルコンピュータなどの場合、その複数が同等のクラスに分割されてよく、各クラスが分裂／融合方針に基づいた動作状況を共有する。これら同等なクラスの１つ内で、分裂／融合処理へのエントリポイントを見つけることによって、サブシステムが与えられたサービスを引き継ぐことができる、すなわち或るサブシステムが別のサブシステムの代わりとなることができる。このことは以下の手順でなされる。
１．同じ同等のクラス内のサブシステム間で、好適な分裂／融合方針による動作状況を共有する。ジョーカーが、動作中の全サブシステムのデータモデルを保持する。
【００５６】
サブシステムが故障した場合には、
１．同じ同等のクラス内のサブシステムによるサブシステムのサービス故障を検出する。
２．結果としてサービス劣化（ギャップのあるストリーム）をもたらす分裂処理により故障したサブシステムサービスを無視する。
３．故障したサブシステムをジョーカーと交換する。
４．同じ同等のクラス内のサブシステムから故障したサブシステムサービスをジョーカーにより引き継ぐ。
５．サブシステムの保守（例えばサブシステムの交換または再始動）を要求する。新しいサブシステムが故障したサブシステムと取り代わった場合、後者のシステムはジョーカーとして構成されることになる。
【００５７】
ジョーカーアプリケーションの実例は、上記のマウス位置の例でのストリームであってよい。１つのサブストリームが消失すると、不明の中間点が、ジョーカー処理がストリームを回復するまで補間される。
【００５８】
他の例は、フレームが好適な表示フォーマットに圧縮されなければならない移動体へのビデオ伝送である。圧縮動作は、分裂および融合で取替えがきく。したがって、分裂ストリームの圧縮された融合は、圧縮された分裂ストリームの融合と同様である。一部が消失した場合、描画エンジン（ｒｅｎｄｅｒｉｎｇ  ｅｎｇｉｎｅ）が、残りのフレームをスムーズに表示する。
【００５９】
同様に本発明は、その普遍性から、いかなる高密度なストリーム処理デバイスでも、例えばＶｏＩＰゲートウェイ（ボイスオーバーインターネットプロトコル）などのネットワークゲートウェイ、あるいは通常のメディアストリームは分裂動作および品質劣化、例えばかかる情報の周波数スペクトルにおける高次の値の無視が可能であるので、ビデオサーバのようなメディアサーバにも適用可能である。
【図面の簡単な説明】
【００６０】
【図１】ストリーム、および従来技術によるその分割と本発明によるその分割とを概略的に示す図である。
【図２】本発明による方法の原理を概略的に示す図である。
【図３】本発明によるシステムの原理を概略的に示す図である。
【図４】本発明によるジョーカー構成要素を有するシステムの原理を概略的に示す図である。
【図１】
2008535294.tif 000009
【図２】
2008535294.tif 000010
【図３】
2008535294.tif 000011
【図４】
2008535294.tif 000012
【国際調査報告】
2008535294.tif 000013
2008535294.tif 000014
2008535294.tif 000015