(57)【特許請求の範囲】
【請求項１】
センサー・ノードと処理サブシステムとの間における通信チャネルの通信処理能力を検出するステップであって、前記通信チャネルは、前記センサー・ノードから前記処理サブシステムへセンサー・データー・ストリームを搬送し、前記センサー・ノードは、前記処理サブシステムとは異なる場所に配置されている、ステップと、
前記検出された通信処理能力に基づいて、前記センサー・ノードと前記処理サブシステムとの間における機能の割り当てを調節するステップであって、機能の割り当てを調節することによって、前記センサー・ノードまたは前記処理サブシステムの一方がセンサー・データーに対する処理を実施するとともに前記センサー・ノードまたは前記処理サブシステムの他方が前記センサー・データーに対する前記処理を実施しないようにさせ、それにより、前記センサー・データー・ストリームにおいて伝達される前記センサー・データーの特性を変化させる、ステップと、
を含む方法。
【請求項２】
機能の割り当てを調節する前記ステップの前に前記センサー・データー・ストリームにおいて前記センサー・ノードと前記処理サブシステムとの間で伝達される前記センサー・データーの特性と、機能の割り当てを調節する前記ステップの後に前記センサー・データー・ストリームにおいて前記センサー・ノードと前記処理サブシステムとの間で伝達される前記センサー・データーの特性は、前記センサー・ノードと前記処理サブシステムとの間において前記センサー・データーを伝達するのに使用される通信帯域幅が異なる、請求項１に記載の方法。
【請求項３】
機能の割り当てを調節する前記ステップの前に前記センサー・データー・ストリームにおいて前記センサー・ノードと前記処理サブシステムとの間で伝達される前記センサー・データーの特性と、機能の割り当てを調節する前記ステップの後に前記センサー・データー・ストリームにおいて前記センサー・ノードと前記処理サブシステムとの間で伝達される前記センサー・データーの特性は、前記センサー・ノードと前記処理サブシステムとの間において伝達される前記センサー・データーに適用される暗号化のレベルが異なる、請求項１に記載の方法。
【請求項４】
実行されると動作を実施するようにコンピューターを構成するコンピューター実行可能命令をエンコードしたコンピューター・メモリーであって、前記動作は、
センサー・ノードと処理サブシステムとの間における通信チャネルの通信処理能力を検出するステップであって、前記通信チャネルは、第１の場所に配置された前記センサー・ノードおよび第２の場所に配置された前記処理サブシステムからセンサー・データー・ストリームを搬送する、ステップと、
前記検出された通信処理能力に基づいて、前記センサー・ノードと前記処理サブシステムとの間におけるプリプロセッサー・ブロックによって提供される機能の割り当てを調節するステップであって、機能の割り当てを調節することによって、前記センサー・ノードまたは前記処理サブシステムの一方がセンサー・データーに対する処理を実施するとともに前記センサー・ノードまたは前記処理サブシステムの他方が前記センサー・データーに対する前記処理を実施しないようにさせ、それにより、前記センサー・データー・ストリームにおいて伝達される前記センサー・データーの特性を変化させる、ステップと、
を含む、コンピューター・メモリー。
【請求項５】
１または複数のメモリーと、
前記１または複数のメモリーに結合された１または複数のプロセッサーと、
前記１または複数のメモリーに格納され前記１または複数のプロセッサー上で動作可能な１または複数のモジュールと、
を備えるシステムであって、
前記１または複数のモジュールは、
センサー・ノードと処理サブシステムとの間における通信チャネルの通信処理能力を検出するように構成された通信インターフェース・モジュールであって、前記通信チャネルは、センサー・データー・ストリームを搬送する、通信インターフェース・モジュールと、
前記検出された通信処理能力に基づいて、前記センサー・ノードと前記処理サブシステムとの間における機能の割り当てを調節するように構成された分割コントローラー・モジュールであって、機能の割り当てを調節することによって、前記センサー・ノードまたは前記処理サブシステムの一方がセンサー・データーに対する処理を実施するとともに前記センサー・ノードまたは前記処理サブシステムの他方が前記センサー・データーに対する前記処理を実施しないようにさせ、それにより、前記センサー・データー・ストリームにおいて伝達される前記センサー・データーの特性を変化させる、分割コントローラー・モジュールと、
を備える、システム。
【請求項６】
機能の割り当てを調節する前における前記センサー・データー・ストリーム内のデーターの特性と、機能の割り当てを調節した後における前記センサー・データー・ストリーム内の前記センサー・データーの特性は、前記センサー・ノードまたは前記処理サブシステムによって前記センサー・データーに対して実施される前処理の量が異なる、請求項５に記載のシステム。
【請求項７】
前記処理サブシステムおよび前記センサー・ノードは各々、重複プリプロセッサー機能を実施する能力を有する１または複数のプリプロセッサー・ブロックを含む、請求項５に記載のシステム。
【請求項８】
前記分割コントローラー・モジュールは、前記センサー・ノードまたは前記処理サブシステムの少なくとも一方の１または複数のプリプロセッサー・ブロックが通信チャネル帯域幅の変化に対処するのを有効にすることによって、機能の割り当てを調節するように構成される、請求項５に記載のシステム。
【請求項９】
前記分割コントローラー・モジュールは、前記センサー・ノードまたは前記処理サブシステムの少なくとも一方の１または複数のプリプロセッサー・ブロックが通信チャネル帯域幅の変化に対処するのを無効にすることによって、機能の割り当てを調節するように構成される、請求項５に記載のシステム。
【請求項１０】
前記分割コントローラー・モジュールは、前記センサー・ノードまたは前記処理サブシステムの一方のプリプロセッサー・ブロックを有効にし、前記センサー・ノードまたは前記処理サブシステムの他方における対応するプリプロセッサー・ブロックを無効にすることによって、機能の割り当てを調節するように構成される、請求項５に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  微小電子回路は、増々複雑な機能を実装し続けている。多くの実施態様では、専用センサー・ノードおよび主要プロセッサーの特定の構成（例えば、１つ以上の処理ユニットにワイヤレスで（または配線を通じて）結合されるセンサー）を形成するために、専用の微小電子回路が採用される。しかしながら、環境条件のために、この特定の構成が動作の間最適にならない可能性がある。例えば、リモート・センサーに利用可能な電力および通信帯域が、所与のシナリオでは、本来の設計において想定されたシナリオとは異なる場合がある（例えば、電力はそれよりも多いが帯域幅が狭い）。したがって、リモート・センサーと中央データー処理サブシステムとの間における機能が、利用可能な電力、熱環境、および通信処理能力に対してより良く最適化されていたなら、このようなリモート・センサーを含むシステムは動作環境においてより良く動作することができよう（例えば、リモート・センサーにおけるデーター前処理を増やし、センサーと中央システムとの間における通信要件を減らす、またそうでなければ変更するため）。更に、これらの要因は経時的に変化するので、静的設計では全ての動作状況に対処しないであろう。既存のシステムは、中央データー処理サブシステムと１つ以上のリモート・センサーとの間における機能の動的分割(partitioning)には備えていない。
【発明の概要】
【０００２】
[0002]  本明細書において説明し特許請求する実施態様は、データー・トラフィック、輻輳、ノイズ等のような利用可能な通信処理能力に基づいて、種々のリモート・センサー・ノードと処理サブシステムとの間において機能を動的に分割するまたは割り当てるシステムを提供することによって、以上の問題に取り組む。処理サブシステムおよび種々のリモート・センサー・ノードの各々に、冗長機能を配し、各センサー・ノードが処理サブシステムと調整して、特定の機能が実行される位置（例えば、処理サブシステムにおいて、またはセンサー・ノードにおいて）を決定する。
【０００３】
[0003]  この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために使用されることを意図するのでもない。
【０００４】
[0004]  本明細書では、他の実施態様についても説明し、特許請求の範囲において記載する。
【図面の簡単な説明】
【０００５】
【図１】図１は、動的機能分割を採用する、センサー・ノードおよび処理サブシステムのシステム例を示す。
【図２】図２は、動的機能分割によって広い通信帯域幅を利用するセンサー・ノード例および処理サブシステム例を示す。
【図３】図３は、動的機能分割によって狭い通信帯域幅を利用するセンサー・ノード例および処理サブシステム例を示す。
【図４】図４は、センサー・ノードの観点から、動的分割機能の動作を示す。
【図５】図５は、処理サブシステムの観点から動的分割機能の動作例を示す。
【図６】図６は、説明する技術を実現するときに有用になり得るシステム例を示す。
【図７】図７は、説明する技術を実現するときに有用になり得る他のセンサー・ノード例を示す。
【発明を実施するための形態】
【０００６】
[0012]  一環境例では、多数のセンサー・ノードがこの環境全域に分散され、検知されたデーターを処理サブシステムに報告する。例えば、交通カメラを都市中心部全域に分散し、この都市における車両の流れおよび通勤状態を監視するときに使用するために、ストリーミング・ビデオまたは静止画像を交通センターに送信する。交通センターは、このような交通情報を使用して、交通信号周波数を調節し、緊急時要員を配備する等を行うことができる。また、交通センターは、このような交通情報を、交通ウェブサイトまたはテレビジョン放送によって提供することもできる。しかしながら、説明する技術の範囲内で、他のタイプのセンサー・ノードや処理サブシステムも採用できることは理解されてしかるべきである。限定ではなく、それらにはコンソール・ゲーミング環境におけるカメラおよびマイクロフォン、製造環境における化学薬品検出器、セキュリティ環境におけるマイクロフォンおよび赤外線カメラ、ポンプ場における圧力センサー等が含まれる。
【０００７】
[0013]  本明細書において開示するシステムの実施態様は、多数のセンサー・ノードと、これらのセンサー・ノードからのセンサー・データーを処理する処理サブシステムとを含む。このようなシステムは、種々の動作条件およびパラメーターに基づいて、種々のセンサー・ノードから処理サブシステムに来る大量のセンサー・データーを収容する(accommodate)ように構成することができる。一実施態様例では、センサー・ノードがワイヤレス通信ネットワークを通じて処理サブシステムと通信している場合、処理サブシステムとセンサー・ノードとの間において通信に利用可能な帯域幅は、ワイヤレス干渉条件によって大きく変動する可能性がある。このような実施態様では、ワイヤレス・ネットワーク上で利用可能な最大帯域幅、ネットワークに影響を及ぼす干渉の量、送信されるセンサー・データーの量、データー送信の頻度、通信データーに適用されるレベル等というような、種々雑多の動作条件に基づいて、利用可能な帯域幅が変動する可能性がある。
【０００８】
[0014]  通信におけるこの変動性を考慮するために、センサー・ノードは、センサー・データーを処理サブシステムに送信する前にセンサー・データーに対して行う前処理の量を変化させればよい。一実施態様では、センサー・ノードおよび処理サブシステムの双方が、処理サブシステムと個々のセンサー・ノードとの間において動的に割り当てることができる相補前処理機能を採用する。利用可能な通信帯域幅に依存して、本システムはセンサー・ノード自体におけるセンサー・データーの前処理を増やすまたは減らすことを選択し、こうして任意の所与の時点において必要とされるワイヤレス帯域幅の量を調節する。
【０００９】
[0015]  図１は、動的機能分割を採用する、センサー・ノード（例えば、交通カメラ１０２）および処理サブシステム（例えば、車両交通監視サブシステム１０４）のシステム例１００を示す。図１において、交通監視システムに関してシステム１００を図示し説明するが、このようなシステムは、セキュリティ監視、化学処理監視、天気監視、ゲーミング、医療処置等を含む、他の用途において採用されてもよい。
【００１０】
[0016]  図示する例では、車両交通監視サブシステム１０４は、種々の交通カメラ１０２からセンサー・データーを受信し、受信したセンサー・データーを処理するように動作する。通信チャネル（ワイヤレス接続１０６によって例示される）は、システムの必要性に応じて、有線（ディジタルまたはアナログ・シグナリングを含む）またはワイヤレス（無線周波または光シグナリングを含む）であってもよい。実施態様の中には、１つのセンサー・ノードに対する通信チャネルがワイヤレスであり、他のセンサーに対する通信チャネルは有線にすることができる場合もある。したがって、任意の個々のセンサー・ノードに対する動的分割は、他の個々のセンサー・ノードに対する動的分割とは独立であることができる。しかしながら、以下で更に詳細に説明するように、この特徴は個々のセンサー・ノード間における相互作用を除外するのではない。
【００１１】
[0017]  車両交通監視サブシステム１０４および交通カメラ１０２はディスクリート・コンポーネントによって実現してもよいが、動的機能分割に寄与することができる技術を、チップ上システム（ＳＯＣ）と呼ぶ。ＳＯＣでは、センサー・ノードの殆どまたは全てのコンポーネントが集積回路（ＩＣ）に集積され、この集積回路は、限定ではなく、ディジタル、アナログ、混合信号、光、無線周波、中央処理ユニット、プリプロセッサー、およびメモリー・コンポーネントを内蔵することができる。このようなセンサー・コンポーネントを個々のプリプロセッサー（例えば、画像およびビデオ前処理アクセレレーター、音声／オーディ・オプリプロセッサー、ディジタル信号プロセッサー（ＤＳＰ）、通信モニター、電力モニター、動き検出器等）および他のコンポーネントと集積することによって、個々のセンサー・ノードが広い機能選択幅を提供することができ、コンテキストにしたがって、センサー・ノードによって機能を実行することができ、あるいは車両交通監視１０４に委託してもよい。説明する技術は、このようなデバイス間においてこのような機能の割り当てを動的に調節することができる。
【００１２】
[0018]  一例では、交通カメラ１０２は都市中心部全域において車両交通を監視し、交通コントローラー、テレビジョンおよびラジオ・ニュース関係者等による見直しのために、車両交通監視サブシステム１０４にビデオ・データーを返送している。このような交通監視システムの通信要件は、重大になることもあり得る。何故なら、多数の交通カメラ１０２によって取り込まれる解像度が高くなり、フレーム・レートが高くなる程、各カメラによって車両交通監視サブシステム１０４に毎秒伝達されるビデオ・データーが大量になり得るからである。一実施態様では、１フレームのビデオ・データーは、画像の解像度に応じて、１００キロバイト単位の画像データーを含む場合もあり、ビデオ・フレームは、通例、毎秒約３０フレームで送信されるが、解像度およびフレーム・レートの双方は変動することもある。したがって、ビデオ圧縮のために種々の技法が利用可能であるが、異なる解像度およびフレーム・レートに対して、０．７Ｍｂｐｓおよび２０００Ｍｂｐｓの間の送信ビット・レートを採用することができる。加えて、多くのビデオ・システムは、ときどき起こるビデオ・データーのバーストや、ＶｏＩＰおよび他のサイド・チャネル通信のような、他の通信用途に対する余裕を持たせるために、利用可能な帯域幅の２５％を未使用として割り当てるように構成される。これらの要因は、更に、任意の特定の時点において個々のセンサー・ノードの帯域幅要件を増加または減少させるために、圧縮、ノイズ打ち消し、スムージング、空間正規化等を含む、センサー・ノードにおける種々の前処理機能の動的分割によって対処することができる。
【００１３】
[0019]  更に他の例示として、交通カメラ１０８、１１０、１１２、および１１４が都市中心部における異なる交差点に分散されると仮定する。各交通カメラは、初期状態では、そのビデオを車両交通監視サブシステム１０４に、２５ｆｐｓおよび７２０×４８０の解像度で送信するように構成され、生のビデオ・データーのために７５０〜１０００ｋｂｐｓの帯域幅が必要となる。交通カメラ１０８がパケットの欠落、または他の輻輳の証拠、あるいは帯域幅制約を検出した場合、交通カメラは、利用可能な帯域幅の使用向上のために、その前処理アクセレレーターの１つ以上を有効にしてビデオ・ストリームを圧縮する。圧縮の例には、損失のない圧縮、損失がある圧縮、空間画像圧縮、時間動き圧縮(temporal motion compensation)等を含むことができる。
【００１４】
[0020]  例えば、混雑する交差点に交通カメラ１０８を配置するのでもよい。したがって、ネットワーク輻輳の検出に応答して、交通カメラ１０８は、その帯域幅の必要性を減らすために損失のある空間画像圧縮を実行するが、容認できる忠実度の損失を維持することができる（例えば、送信されるビデオ・データーは、解像度がもっと低いレベルでもよく、または損失のレベルが高い圧縮でもよく、それでも交通監視の目的には容認可能である）。対照的に、混雑していない交差点に交通カメラ１１０を配置してもよく、したがって、交通カメラ１１０によってこの交差点において取り込まれる多くのフレームは、互いに殆ど差が見られない。したがって、交通カメラ１１０は、交通カメラ１０８によって使用された空間画像圧縮プロセッサーの代わりに、時間動き圧縮プロセッサーを選択してその通信要件を抑えることができる。更に、交通カメラ１１２は、帯域幅の制約を受けておらず、したがって、それ自体は前処理を全く行わずに、生のビデオ・データーを車両交通監視サブシステム１０４に送信し続ける。各交通カメラによって考慮されるとよい他の要因には、１日の時刻、日付け、利用可能な電力、車両交通監視サブシステム１０４によって指定されるパラメーター（例えば、所望の解像度またはフレーム・レート）等を含むとよいが、これらに限定されるのではない。このコンテキストでは、個々の交通カメラは、画像コンテンツ、利用可能な帯域幅、利用可能な電力、および各交通カメラによって特定される他の要因に応じて、個別に多数のプリプロセッサーの中から動的に選択することができる。
【００１５】
[0021]  更に、センサー・ノードにおいてある機能が省略される（動的分割によって）場合、この機能は、車両交通監視サブシステム１０４において相補プリプロセッサーによって提供することができる。例えば、交通カメラ１０８が取り込んだビデオの前処理からノイズ打ち消し機能を省略した場合、車両交通監視サブシステム１０４は、ビデオ品質を向上させるために、通信チャネルのそれ自体の側において、ノイズ打ち消しプリプロセッサーを有効にすることができる。一実施態様では、車両交通監視サブシステム１０４および個々の交通カメラは、各交通カメラおよび車両交通監視サブシステム１０４が提供できるまたは提供するように要求された前処理について通信することができる。例えば、空いている交差点にある交通カメラ１１０は、２５ｆｐｓで同様のフレームを送っていればよい（例えば、交差点において交通がないため）。車両交通監視サブシステム１０４は、連続フレーム間におけるこの類似性に気がつき、交通カメラ１１０に、追加の交通を検出するまで、そして検出しなければ、フレーム・レートを低下するように提案することができる。したがって、車両交通監視サブシステム１０４は、動き検出プリプロセッサーを使用し(engage)、車両交通監視サブシステム１０４によって要求されるそのフレーム・レートを調節するために、個々のフレームを評価することができる。車両交通監視サブシステム１０４と個々の交通カメラとの間の相互作用には、多くの他の例も考えられる。
【００１６】
[0022]  また、現在説明している技術の実施態様は、多数のセンサー・ノード間における通信協力を含むこともでき、ピア・センサー・ノード間で統制されても、または処理サブシステムとの通信によって統制されてもよいことも理解されてしかるべきである。一実施態様では、重複する画像取り込み領域を有する２台のカメラのように、２つのセンサー・ノードがそれらの検知有効領域で重複する場合、これらのセンサー・ノードは、その知識に基づいて、処理サブシステムとは異なる分割をある機能に行うこともできる。例えば、交通カメラ１０８および交通カメラ１１４が、多少異なる視点から同じ交差点をカバーし、交通カメラ１０８は、交通カメラ１１４よりも、車両交通監視サブシステム１０４に対して高い(higher)帯域幅通信を有する場合、交通カメラ１０８は生のビデオ・データーを車両交通監視システム１０４に送ってもよく、一方交通カメラ１１４は、その内蔵する不可逆的圧縮プロセッサーおよびその時間動き補償プリプロセッサーを有効にして、その帯域幅の必要性を減らす。このシナリオでは、重複するカメラの調整により、多数のセンサー・ノード間で協力して、動的機能分割の判断を行うことが可能になる。
【００１７】
[0023]  図２は、動的機能分割によって広い通信帯域幅を利用するセンサー・ノード例２００および処理サブシステム例２０２を示す。処理サブシステム２０２は、センサー・データー・ストリーム（例えば、ビデオ・データー）をセンサー・ノード２００から受信し、ブロードキャスト、格納、編集等のためにそれを処理するように構成されている。処理サブシステム２０２は、処理サブシステム２０２の主要な処理動作を担うプロセッサー２０４（例えば、ＣＰＵ）を含む。また、処理サブシステム２０２は、センサー・ノード２００と、そして潜在的にセンサー・ネットワーク内にある他のセンサー・ノードと通信するために通信インターフェース２０６も含む。通信インターフェース２０６は、通信チャネル２０８を通じて、データーをセンサー・ノード２００から受信し、データーをセンサー・ノード２００に送る。通信チャネル２０８は、図示された時点では、広い帯域幅を有するように示されている。先に論じたように、通信チャネル２０８は、個々のノードの構成にしたがって、有線でもワイヤレスでもよい。更に、通信チャネル２０８は、専用または共有通信チャネル（例えば、ワイヤまたは光信号）によって、あるいはインターネットのような複合論理ネットワークによって実現されてもよい。
【００１８】
[0024]  また、処理サブシステム２０２は、分割コントローラー２１０も含む。分割コントローラー２１０は、センサー・ノード２００および処理サブシステム２０２が受信したセンサー・データーと相互作用を行い、処理サブシステム２０２とセンサー・ノード２００の分割コントローラー２２２との間における機能の適切な動的分割をネゴシエートする。更に、処理サブシステム２０２は、多数の前処理ブロック（例えば、前処理ブロックＡ２１２、前処理ブロックＢ２１４、および前処理ブロックＣ２１６）を含み、これらは、受信したセンサー・データーをプロセッサー２０４に渡す前に前処理するために選択される。例えば、処理サブシステム２０２が生のビデオ・データーをセンサー・ノード２００から受信した場合、前処理ブロックＡ２１２は、Ｈ．２６４規格にしたがってこの生のビデオ・データーを圧縮してから、圧縮したセンサー・データーを処理のためにプロセッサー２０４に渡す。
【００１９】
[0025]  前処理ブロックは、特定の処理動作を実現するための回路と、潜在的にソフトウェア／ファームウェアとによって構成されてもよい。場合によっては、前処理ブロックが別個のまたは一体化されたアクセレレーターの形態とした回路を含み、プロセッサーまたはセンサー・サブシステムが、ある種の処理動作を別の処理コンポーネントに委託することを可能にしてもよい。前処理ブロックの例には、限定ではなく、グラフィクス・アクセレレーター、圧縮アクセレレーター、ノイズ打ち消しプロセッサー等を含むことができる。一実施態様では、センサー・サブシステムおよび１つ以上のプリプロセッサーがＳＯＣに集積され、ＳＯＣは、通信インターフェース、分割コントローラー、および他の集積コンポーネントも含むことができる。
【００２０】
[0026]  一実施態様では、処理サブシステム２０２の通信インターフェース２０６は、通信チャネル２０８における輻輳または帯域幅に対するその他の制約を検出することができる。このような検出は、センサー・ノード２００からの輻輳信号の受信、欠落したパケットまたは失われたＡＣＫ（承認）パケットの監視、あるいはその他の通信フィードバックによって行うことができる。更に、処理ノード２０２は、その前処理機能または通信を変更するために、センサー・ノード２００から命令を受けることもできる。例えば、センサー・ノード２００がそれ自体の前処理ブロックＡ２２４を使用して送信の前にビデオを圧縮しているので、センサー・ノード２００が、処理サブシステム２０２に、その圧縮（例えば、前処理ブロックＡ２１２によって実行される）を停止するように命令することができる。このような命令に応答して、処理サブシステム２０２は、その圧縮プリプロセッサー（即ち、前処理ブロックＡ２１２）が命令を実施するのを無効にすることができる。
【００２１】
[0027]  センサー・ノード２００は、カメラとしてビデオ・データー、マイクロフォンとしてオーディオ・データー、熱電対として温度データー等というように、その環境において、データーを検知するように構成される。センサー・ノード２００は、センサー・サブシステム２１８を内蔵する。センサー・サブシステム２１８は、ディスクリート・センサーに一体化されたインターフェース（例えば、カメラに対して）を含むこともでき、または一体化されたセンサーおよびセンサー・インターフェースの組み合わせ（例えば、フォトダイオードに対して）を含むこともできる。センサー・サブシステム２１８によって検出されたセンサー・データーは、通信インターフェース２２０および通信チャネル２０８を通じてのプロセッサー・サブシステム２０２への送信の前に前処理を行うことなく、または１つ以上のプリプロセッサーを介さずに、直接プロセッサー・サブシステム２０２に、通信インターフェース２２０および通信チャネル２０８を通じて伝達することができる。
【００２２】
[0028]  センサー・ノード２００は、多数の前処理ブロック（例えば、前処理ブロックＡ２２４、前処理ブロックＢ２２６、および前処理ブロックＸ２２８）を含む。尚、センサー・ノード２００における前処理ブロックの内２つは、処理サブシステム２０２において対応する相当物（即ち、前処理ブロックＡ２１２および前処理ブロックＢ２１４）を有し、前処理ブロックの内１つはセンサー・ノード２００だけにある（即ち、前処理ブロックＸ２２８）が、他のセンサー・ノードがそれら自体の前処理ブロックＸを有してもよいことを注記しておく。同様に、処理サブシステム２０２における前処理ブロックＣ２１６はこのサブシステムだけにある。既に論じたように、センサー・ノード２００は分割コントローラー２２２も含む。
【００２３】
[0029]  一実施態様では、センサー・ノード２００の通信インターフェース２２０は、通信チャネル２０８上における輻輳または他の帯域幅に対する制約を検出することができる。このような検出は、処理サブシステム２０２からの輻輳信号の受信、欠落したパケットまたは失われたＡＣＫ（承認）パケットの監視、あるいは他の通信フィードバックによって行うことができる。更に、センサー・ノード２００は、処理サブシステム２０２から、その前処理機能または通信を変更する命令を受けることもできる。例えば、処理サブシステム２０２は、センサー・ノード２００によって動きが検出されたときに、送信フレーム・レートを高くするように、センサー・ノード２００に命令することができる。このような命令に応答して、センサー・ノード２００は、動き検出プリプロセッサー（例えば、前処理ブロックＸ２２８のような）が命令を実施するのを有効にすることができる。
【００２４】
[0030]  尚、図２に示すようなプリプロセッサーにおける１対１の対応は、処理サブシステムおよびセンサー・ノードに利用可能な前処理構成の一例に過ぎないことは理解されてしかるべきである。センサー・ノードにおける一部のプリプロセッサーが、処理サブシステムにおける一部のプロセッサーと同じ機能を提供する場合もあるが、センサー・ノードには、処理サブシステムと比較して、センサー・ノードにしかないプリプロセッサーもある場合もあり、その逆もある。更に、センサー・ノードにおけるあるプリプロセッサーの機能が、プロセッサー・サブシステムにおけるあるプリプロセッサーの機能と重複することもあり、その逆もある。例えば、プロセッサー・サブシステムにおけるプリプロセッサーが、センサー・ノードにおける２つのプリプロセッサーまたは２つ半のプリプロセッサーの機能を提供することもあり、その逆もある。
【００２５】
[0031]  図３は、動的機能分割によって、狭い通信帯域を利用するセンサー・ノード例３００および処理サブシステム例３０２を示す。処理サブシステム３０２は、センサー・データー・ストリーム（例えば、ビデオ・データー）をセンサー・ノード３００から受信し、ブロードキャスト、格納、編集等のためにそれを処理するように構成されている。処理サブシステム３０２は、処理サブシステム３０２の主要な処理動作を担うプロセッサー３０４（例えば、ＣＰＵ）を含む。また、処理サブシステム３０２は、センサー・ノード３００と、そして潜在的にセンサー・ネットワーク内にある他のセンサー・ノードと通信するために通信インターフェース３０６も含む。通信インターフェース３０６は、通信チャネル３０８を通じて、データーをセンサー・ノード３００から受信し、データーをセンサー・ノード３００に送る。通信チャネル３０８は、図示された時点では、制限された帯域幅を有するように示されている。先に論じたように、通信チャネル３０８は、個々のノードの構成にしたがって、有線でもワイヤレスでもよい。更に、通信チャネル３０８は、専用または共有通信チャネル（例えば、ワイヤまたは光信号）によって、あるいはインターネットのような、複合論理ネットワークによって実現されてもよい。
【００２６】
[0032]  また、処理サブシステム３０２は、分割コントローラー３１０も含む。分割コントローラー３１０は、センサー・ノード３００および処理サブシステム３０２が受信したセンサー・データーと相互作用を行い、処理サブシステム３０２とセンサー・ノード３００の分割コントローラー３２２との間における機能の適切な動的分割をネゴシエートする。更に、処理サブシステム３０２は、多数の前処理ブロック（例えば、前処理ブロックＡ３１２、前処理ブロックＢ３１４、および前処理ブロックＣ３１６）を含み、これらは、受信したセンサー・データーをプロセッサー３０４に渡す前に前処理するために選択される。例えば、処理サブシステム３０２が生のビデオ・データーをセンサー・ノード３００から受信した場合、前処理ブロックＡ３１２は、Ｈ．２６４規格にしたがってこの生のビデオ・データーを圧縮してから、圧縮したセンサー・データーを処理のためにプロセッサー３０４に渡す。
【００２７】
[0033]  一実施態様では、処理サブシステム３０２の通信インターフェース３０６は、通信チャネル３０８における輻輳または他の帯域幅に対する制約を検出することができる。このような検出は、処理サブシステム３０２からの輻輳信号の受信、欠落したパケットまたは失われたＡＣＫ（承認）パケットの監視、あるいは他の通信フィードバックによって行うことができる。更に、処理ノード３０２は、センサー・ノード３００から、その前処理機能または通信を変更する命令を受けることもできる。例えば、センサー・ノード３００がそれ自体の前処理ブロックＡ３２４を使用して送信の前にビデオを圧縮しているので、センサー・ノード３００は、処理サブシステム３０２にその圧縮（例えば、前処理ブロックＡ３１２によって実行される）を停止するように命令することができる。このような命令に応答して、処理サブシステム３０２は、その圧縮プリプロセッサー（即ち、前処理ブロックＡ３１２）が命令を実施するのを無効にすることができる。
【００２８】
[0034]  センサー・ノード３００は、カメラとしてビデオ・データー、マイクロフォンとしてオーディオ・データー、熱電対として温度データー等というように、その環境において、データーを検知するように構成される。センサー・ノード３００は、センサー・サブシステム３１８を内蔵する。センサー・サブシステム３１８は、ディスクリート・センサーに一体化されたインターフェース（例えば、カメラに対して）を含むこともでき、または一体化されたセンサーおよびセンサー・インターフェースの組み合わせ（例えば、フォトダイオードに対して）を含むこともできる。センサー・サブシステム３１８によって検出されたセンサー・データーは、通信インターフェース３２０および通信チャネル３０８を通じてのプロセッサー・サブシステム３０２への送信の前に前処理を行うことなく、または１つ以上のプリプロセッサーを介さずに、直接プロセッサー・サブシステム３０２に、通信インターフェース３２０よび通信チャネル３０８を通じて伝達することができる。
【００２９】
[0035]  センサー・ノード３００は、多数の前処理ブロック（例えば、前処理ブロックＡ３２４、前処理ブロックＢ３２６、および前処理ブロックＸ３２８）を含む。尚、センサー・ノード３００における前処理ブロックの内２つは、処理サブシステム３０２において対応する相当物（即ち、前処理ブロックＡ３１２および前処理ブロックＢ３１４）を有し、前処理ブロックの内１つはセンサー・ノード３００だけにある（即ち、前処理ブロックＸ３２８）が、他のセンサー・ノードがそれら自体の前処理ブロックＸを有してもよいことを注記しておく。同様に、処理サブシステム３０２における前処理ブロックＣ３１６はこのサブシステムだけにある。既に論じたように、センサー・ノード３００は分割コントローラー３２２も含む。
【００３０】
[0036]  一実施態様では、センサー・ノード３００の通信インターフェース３２０は、通信チャネル３０８上における輻輳または他の帯域幅に対する制約を検出することができる。このような検出は、処理サブシステム３０２からの輻輳信号の受信、欠落したパケットまたは失われたＡＣＫ（承認）パケットの監視、あるいは他の通信フィードバックによって行うことができる。更に、センサー・ノード３００は、処理サブシステム３０２から、その前処理機能または通信を変更する命令を受けることもできる。例えば、処理サブシステム３０２は、センサー・ノード３００によって動きが検出されたときに、送信フレーム・レートを高くするように、センサー・ノード３００に命令することができる。このような命令に応答して、センサー・ノード３００は、動き検出プリプロセッサー（例えば、前処理ブロックＸ３２８のような）が命令を実施するのを有効にすることができる。
【００３１】
[0037]  図４は、センサー・ノードの視点からの動的分割機能の動作４００を示す。通信動作４０２は、処理サブシステムとの通信を開始する。既に論じたように、このような通信は種々の通信チャネルを通じて行うことができる。通信監視動作４０４は、通信チャネルの通信処理能力（例えば、利用可能な帯域幅、輻輳、ジッター、欠落パケット、宛先までの配信における遅延等）を監視する。通信チャネルの通信処理機能が、センサー・ノードおよび処理サブシステムの現在の動作に対して容認可能である場合、既存の機能分割が、動作４０６によって、センサー・ノードと処理サブシステムとの間で維持され、通信は継続する。
【００３２】
[0038]  通信チャネルの通信処理能力は、周期的に通信監視動作４０４によって再評価される。通信チャネルの通信処理能力が、センサー・ノードおよび処理サブシステムの現在の動作に対して不適切になった場合（例えば、過剰なパケットが欠落している）、構成動作４０８が、センサー・ノードと処理サブシステムとの間において機能を割り当てし直す（例えば、システム機能全体を分割し直す）。構成動作４０８に応答して、プリプロセッサー選択動作４１０が、新たな機能分割にしたがって、センサー・ノードにおけるプリプロセッサーの選択を有効または無効にする。通信動作４１２は、新たな機能分割にしたがって、センサー・ノードと処理サブシステムとの間におけるセンサー・データーの通信を継続し、新たな通信構成は、通信監視動作４０４によって周期的に再評価される。各再分割動作４１０の後、センサー・データー・ストリームは何らかの面で変化させられる（例えば、異なるタイプまたはレベルの圧縮、異なるレベルのノイズ打ち消し等）。１つの視点では、元のセンサー・データー・ストリームが終了し、第２のセンサー・データー・ストリームが開始する。
【００３３】
[0039]  例えば、通信処理能力が向上して追加の利用可能な帯域幅を提供する場合、センサー・ノードは、この追加の帯域幅を利用するために、未圧縮データーを処理サブシステムに送ることを選択してもよい。このような場合、処理サブシステムには、それ自体の前処理ブロックの１つを使用して、受信したセンサー・データーの圧縮を実行するように命令することができる（または自動的に実行してもよい）。対照的に、通信処理能力が低下して、利用可能な帯域幅が更に制限される場合、センサー・ノードは、帯域幅の縮小(drop)に対処するために、そのプリプロセッサーの１つによって、１秒当たり送るフレームを少なくすること、あるいは空間画像圧縮または時間動き圧縮を実行することを選択することができる。このような対処は、センサー・ノードと処理サブシステムとの間であれこれとネゴシエートされても、単に一方または他方による命令によって強制されてもよい。したがって、新たな機能分割によって、通信要件および／またはセンサーと処理サブシステムとの間における利用を調節する。
【００３４】
[0040]  図５は、処理サブシステムの視点からの動的分割機能の動作例５００を示す。通信動作５０２は、センサー・ノードとの通信を開始する。既に論じたように、このような通信は種々の通信チャネルを通じて行うことができる。通信監視動作５０４は、通信チャネルの通信処理能力を監視する（例えば、利用可能な帯域幅、輻輳、ジッター、欠落パケット、宛先への配信における遅延等）。通信チャネルの通信処理能力が、センサー・ノードおよび処理サブシステムの現在の動作に対して容認可能である場合、既存の機能分割が、動作５０６によって、センサー・ノードと処理サブシステムとの間で維持され、通信は継続する。
【００３５】
[0041]  通信チャネルの通信処理能力は、周期的に通信監視動作５０４によって再評価される。通信チャネルの通信処理能力が、センサー・ノードおよび処理サブシステムの現在の動作に対して不適切になった場合（例えば、過剰なパケットが欠落している）、構成動作５０８が、センサー・ノードと処理サブシステムとの間において機能を割り当てし直す（例えば、システム機能全体を分割し直す）。構成動作５０８に応答して、プリプロセッサー選択動作５１０が、新たな機能分割にしたがって、処理サブシステムにおけるプリプロセッサーの選択を有効または無効にする。通信動作５１２は、新たな機能分割にしたがって、センサー・ノードと処理サブシステムとの間におけるセンサー・データーの通信を継続し、新たな通信構成は、通信監視動作５０４によって周期的に再評価される。各再分割動作３１０の後、センサー・データー・ストリームは何らかの面で変化させられる（例えば、異なるタイプまたはレベルの圧縮、異なるレベルのノイズ打ち消し等）。１つの視点では、元のセンサー・データー・ストリームが終了し、第２のセンサー・データー・ストリームが開始する。
【００３６】
[0042]  例えば、通信処理能力が向上して追加の利用可能な帯域幅を提供する場合、プロセッサー・サブシステムは、この追加の帯域幅を利用するために、未圧縮のセンサー・データーを送るようにセンサー・ノードに命令することができる。このような場合、センサー・ノードに、それ自体のプリプロセッサー・ブロックの１つに基づいて、検出されたセンサー・データーの圧縮を無効にように命令することができる（または自動的に無効にしてもよい）。対照的に、通信処理能力が低下して、利用可能な帯域幅が更に制限される場合、処理サブシステムは、帯域幅の縮小(drop)に対処するために、センサー・ノードのプリプロセッサーの１つによって、１秒当たり送るフレームを少なくすること、あるいは空間画像圧縮または時間動き圧縮を実行することを、センサー・ノードに命令することができる。このような対処は、センサー・ノードと処理サブシステムとの間であれこれとネゴシエートされても、単に一方または他方による命令によって強制されてもよい。したがって、新たな機能分割によって、通信要件および／またはセンサー・ノードと処理サブシステムとの間における利用を調節する。
【００３７】
[0043]  図６は、説明した技術を実現するときに有用であると考えられるシステム例を示す。説明した技術を実現するための図６のハードウェアおよび動作環境例は、ゲーミング・コンソールまたはコンピューター２０の形態とした汎用計算デバイス、移動体電話機、パーソナル・ディジタル・アシスタント（ＰＤＡ）、セット・トップ・ボックス、または他のタイプの計算デバイスというような、計算デバイスを含む。このシステム例の１つ以上の部分は、チップ上システム（ＳＯＣ）の形態で実現することもできる。図６の実施態様では、例えば、コンピューター２０は、処理ユニット２１、システム・メモリー２２、およびシステム・バス２３を含む。システム・バス２３は、システム・メモリーから処理ユニット２１までを含む種々のシステム・コンポーネントを動作的に結合する。コンピューター２０のプロセッサーが１つの中央処理ユニット（ＣＰＵ）、または並列処理環境と一般に呼ばれる、複数の処理ユニットを含むように、１つだけの処理ユニット２１があってもよく、または１つよりも多い処理ユニット２１があってもよい。コンピューター２０は、従来のコンピューター、分散型コンピューター、または他のいずれのタイプのコンピューターであってもよく、本発明はそれには限定されない。
【００３８】
[0044]  システム・バス２３は、メモリー・バスまたはメモリー・コントローラー、周辺バス、スイッチド・ファブリック(switched fabric)、二点間接続、および種々のバス・アーキテクチャーのいずれかを使用するローカル・バスを含む、様々なタイプのバス構造の内いずれでもよい。また、システム・メモリーは、単にメモリーと呼んでも良く、リード・オンリー・メモリー（ＲＯＭ）２４およびランダム・アクセス・メモリー（ＲＡＭ）２５を含む。基本入力／出力システム（ＢＩＯＳ）２６は、起動中のように、コンピューター２０内部におけるエレメント間で情報を転送するのに役立つ基本的なルーチンを収容し、ＲＯＭ２４に格納される。更に、コンピューター２０は、図示しない、ハード・ディスクに対して読み出しおよび書き込みを行うためのハード・ディスク・ドライブ２７、リムーバブル磁気ディスク２９に対する読み出しおよび書き込みを行うための磁気ディスク・ドライブ２８、ならびにＣＤ  ＲＯＭ、ＤＶＤ、または他の光媒体のような、リムーバブル光ディスク３１に対する読み出しおよび書き込みを行うための光ディスク・ドライブ３０も含む。
【００３９】
[0045]  ハード・ディスク・ドライブ２７、磁気ディスク・ドライブ２８、および光ディスク・ドライブ３０は、それぞれ、ハード・ディスク・ドライブ・インターフェース３２、磁気ディスク・ドライブ・インターフェース３３、および光ディスク・ドライブ・インターフェース３４によって、システム・バス２３に接続される。これらのドライブおよびこれらに付随するコンピューター読み取り可能媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、およびコンピューター２０のその他のデーターの不揮発性ストレージを設ける。尚、磁気カセット、フラッシュ・メモリー・カード、ディジタル・ビデオ・ディスク、ランダム・アクセス・メモリー（ＲＡＭ）、リード・オンリー・メモリー（ＲＯＭ）等のような、コンピューターによってアクセス可能なデーターを格納することができるコンピューター読み取り可能媒体であればいずれのタイプでも、この動作環境例において使用してもよいことは、当業者には認められてしかるべきである。
【００４０】
[0046]  オペレーティング・システム３５、１つ以上のアプリケーション・プログラム３６、他のプログラム・モジュール３７、およびプログラム・データー３８を含む多数のプログラム・モジュールをハード・ディスク、磁気ディスク２９、光ディスク３１、ＲＯＭ２４、またはＲＡＭ２５に格納することができる。ユーザーは、キーボード４０およびポインティング・デバイス４２のような入力デバイスを介して、コマンドおよび情報をパーソナル・コンピューター２０に入力することができる。他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲーム・パッド、ジェスチャー検出器、タッチ・スクリーン、衛星ディッシュ、スキャナー等を含むことができる。これらおよび他の入力デバイスは、多くの場合、システム・バスに結合されたシリアル・ポート・インターフェース４６を介して処理ユニット２１に接続されるが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス（ＵＳＢ）のような他のインターフェースによって接続されてもよい。モニター４７または他のタイプのディスプレイ・デバイスも、ビデオ・アダプター４８のようなインターフェースを介して、システム・バスに接続される。モニターに加えて、コンピューターは、通例、スピーカーおよびプリンターのような、他の周辺出力デバイス（図示せず）も含む。
【００４１】
[0047]  コンピューター２０は、リモート・コンピューター４９のような１つ以上のリモート・コンピューターへの論理接続を使用して、ネットワーク接続環境においても動作することができる。これらの論理接続は、コンピューター２０またはその一部に結合された通信デバイスによって行われる。本発明は、特定のタイプの通信デバイスには限定されない。リモート・コンピューター４９は、他のコンピューター、サーバー、ルーター、ネットワークＰＣ、クライアント、ピア・デバイス、または他の一般的なネットワーク・ノードであってもよく、通例、コンピューター２０に関して以上で説明したエレメントの多くまたは全てを含むが、図６にはメモリー記憶デバイス５０だけが示されている。図６に図示した論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）５１、およびワイド・エリア・ネットワーク（ＷＡＮ）５２を含む。このようなネットワーキング環境は、事務所のネットワーク、企業規模のコンピューター・ネットワーク、イントラネット、およびインターネットでは極普通であり、これらは全てネットワークの種類である。
【００４２】
[0048]  ＬＡＮネットワーキング環境において使用されるとき、コンピューター２０は、通信デバイスの一種であるネットワーク・インターフェースまたはアダプター５３を介してローカル・ネットワーク５１に接続される。ＷＡＮネットワーキング環境において使用さるとき、コンピューター２０は、通例、モデム５４、ネットワーク・アダプター、通信デバイスの一種、またはワイド・エリア・ネットワーク５２を通じて通信を確立するための他のいずれかのタイプの通信デバイスを含む。モデム５４は、内蔵型でも外付け型でもよく、シリアル・ポート・インターフェース４６を介してシステム・バス２３に接続される。ネットワーク接続環境では、パーソナル・コンピューター２０に関して図示したプログラム・エンジン、またはその一部が、離れたメモリー記憶デバイスに格納されてもよい。尚、図示したネットワーク接続は例であり、コンピューター間で通信リンクを確立する他の手段、およびそのための通信デバイスが使用されてもよい。
【００４３】
[0049]  一実施態様例では、センサー・サブシステム回路、プリプロセッサー回路、通信インターフェース、分割コントローラー、および他のハードウェア／ソフトウェア・ブロックを制御するためのソフトウェアまたはファームウェア命令は、メモリー２２および／または記憶デバイス２９または３１に格納され、処理ユニット２１によって処理される。センサー・データー、通信処理能力のパラメーター、および他のデーターは、メモリー２２および／または永続的データーストアである記憶デバイス２９または３１に格納されてもよい。
【００４４】
[0050]  図７は、説明した技術を実現するときに有用であると考えられる他のセンサー・ノード例（移動体センサー７００と称する）を示す。移動体センサー７００は、プロセッサー７０２、メモリー７０４、ディスプレイ７０６（例えば、タッチスクリーン・ディスプレイ）、および他のインターフェース７８（例えば、キーボード、カメラ、マイクロフォン等）を含むが、センサー・ノードはこれらよりも多いまたは少ないコンポーネントを有する場合もある。例えば、排出(emissions)監視センサーを工業用排出ベント内に配置してもよく、したがってユーザー入力および出力インターフェースが不要となる。メモリー７０４は、一般に、揮発性メモリー（例えば、ＲＡＭ）および不揮発性メモリー（例えば、フラッシュ・メモリー）の双方を含む。 Microsoft Windows（登録商標）Phone 8のようなオペレーティング・システム７１０がメモリー７０４内に存在することができ、プロセッサー７０２によって実行されるが、他のオペレーティング・システムを採用してもよいことは言うまでもない。
【００４５】
[0051]  １つ以上のアプリケーション・プログラム７１２は、メモリー７０４内にロードし、オペレーティング・システム７１０上においてプロセッサー７０２によって実行することができる。アプリケーション・プログラム７１２の例には、限定ではなく、１つ以上のプリプロセッサー・ブロックと共に使用するアプリケーション等が含まれる。移動体センサー７００は、電源７１６を含む。電源７１６は、１つ以上のバッテリーまたは他の電力源によって給電され、移動体センサー７００の他のコンポーネントに電力を供給する。また、電源７１６は、内蔵バッテリーを無効にするまたは再充電する外部電力源、または他の電力源に接続することもできる。
【００４６】
[0052]  移動体センサー７００は、ネットワーク接続(connectivity)を設けるための１つ以上の通信送受信機７３０（例えば、移動体電話ネットワーク、Ｗｉ−Ｆｉ（商標）、ＢｌｕｅＴｏｏｔｈ（登録商標）、イーサネット（登録商標）等）を含む。また、移動体センサー７００は、測位システム７２０（例えば、全地球測位衛星送受信機）、１つ以上の加速度計７２２、１つ以上のカメラ７２４、オーディオ・インターフェース（例えば、マイクロフォン、オーディオ増幅器およびスピーカー、および／またはオーディオ・ジャック）、および追加のストレージ７２８のような、種々の他のコンポーネントも含むことができる。他の構成を採用してもよい。
【００４７】
[0053]  一実施形態例では、センサー・サブシステム回路、プリプロセッサー回路、通信インターフェース、測位コントローラー、および他のハードウェア／ソフトウェア・ブロックを制御するためのソフトウェアまたはファームウェア命令は、メモリー７０４および／または記憶デバイス７２８に格納される命令によって具体化し、プロセッサー７０２によって処理することができる。センサー・データー、通信処理能力のパラメーター、および他のデーターは、メモリー７０４および／または記憶デバイス７２８に永続的データーストアとして格納することもできる。このセンサー・ノード例の１つ以上の部分は、チップ上システム（ＳＯＣ）の形態で実現することもできる。
【００４８】
[0054]  実施形態の中には、製品(article of manufacture)を含むものがあってもよい。製品は、ロジックを格納するための有形記憶媒体を含むことができる。有形記憶媒体の例には、電子データーを格納することができる１つ以上のタイプのコンピューター読み取り可能記憶媒体を含むことができ、揮発性メモリーまたは不揮発性メモリー、リムーバブルまたは非リムーバブル・メモリー、消去可能または消去不可メモリー、書き込み可能または再書き込み可能メモリー等が含まれる。ロジックの例には、ソフトウェア・コンポーネント、プログラム、アプリケーション、コンピューター・プログラム、アプリケーション・プログラム、システム・プログラム、マシン・プログラム、オペレーティング・システム・ソフトウェア、ミドルウェイ、ファームウェア、ソフトウェア・モジュール、ルーチン、サブルーチン、機能、メソッド、プロシージャー、ソフトウェア・インターフェース、アプリケーション・プログラム・インターフェース（ＡＰＩ）、命令セット、計算コード、コンピューター・コード、コード・セグメント、コンピューター・コード・セグメント、単語(words)、値、シンボル、またはこれらの任意の組み合わせというような、種々のソフトウェア・エレメントを含むことができる。一実施形態では、例えば、製品は、実行可能コンピューター・プログラム命令を格納することができ、これらの命令は、コンピューターによって実行されると、このコンピューターに、説明した実施形態にしたがって方法および／または動作を実行させる。実行可能コンピューター・プログラム命令は、ソース・コード、コンパイル・コード、インタプリター・コード、実行可能コード、スタティック・コード、ダイナミック・コード等のような、任意の適したタイプのコードを含むことができる。実行可能コンピューター・プログラム命令は、既定のコンピューター言語、態様、またはシンタックスにしたがって、コンピューターに一定の機能を実行させるために実装することができる。これらの命令は、任意の適した上位、下位、オブジェクト指向、ビジュアル、コンパイル、および／またはインタプリター・プログラミング言語を使用して実現することができる。
【００４９】
[0055]  本明細書で説明した実施態様は、１つ以上のコンピューター・システムにおいて論理ステップとして実現される。本発明の論理動作は、（１）１つ以上のコンピューター・システムにおいて実行するプロセッサー実行ステップのシーケンスとして、（２）１つ以上のコンピューター・システム内部において相互接続された機械または回路モジュールとして実施される。実施態様は、本発明を実現するコンピューター・システムの性能要件に依存する選択事項である。したがって、本明細書において説明した発明の実施形態を構成する論理動作は、動作、ステップ、オブジェクト、またはモジュールと、様々に呼ばれる。更に、論理動作は、別段明示的に主張されない限り、または請求項の文言によって特定の順序が本質的に必要とされない限り、いずれの順序で実行してもよいことは、理解されてしかるべきである。
【００５０】
[0056]  以上の明細書、例、およびデーターは、本発明の実施形態例の構造および使用の完全な説明を示す。本発明の多くの実施形態は、本発明の主旨および範囲から逸脱することなく実現することができるので、本発明は以下に添付する特許請求の範囲に存在するものとする。更に、明記される(recited)特許請求の範囲から逸脱することなく、異なる実施形態の構造的特徴を更に他の実施形態において組み合わせることもできる。
【図１】
0006454280.tif 000002
【図２】
0006454280.tif 000003
【図３】
0006454280.tif 000004
【図４】
0006454280.tif 000005
【図５】
0006454280.tif 000006
【図６】
0006454280.tif 000007
【図７】
0006454280.tif 000008