(57)【特許請求の範囲】
【請求項１】
ストリーミングオーディオまたはビデオまたはタイムクリティカルなデータを有機的なデータネットワーク内に配信する動的なトポロジーを有する前記データネットワークを生成するかまたは維持するかのいずれかを行う装置であって、
データ処理装置と、
データ処理装置を備えたいくつかの装置がデータ接続によって接続されたデータネットワークへの少なくとも１つのデータ接続と、
前記データネットワーク内の少なくとも１つの送信装置からデータパッケージを受信するための受信ルーチンと、前記データネットワーク内の１つまたは複数の前記送信装置から受信した前記データパッケージを、１つまたは複数の前記送信装置に無関係に、前記データネットワークに接続された少なくとも１つの受信装置に送信するための送信ルーチンと、前記データネットワーク内の少なくとも１つの送信装置からの前記データパッケージを要求するための要求ルーチンと、前記データネットワーク内の前記１つまたは複数の送信装置から受信した前記データパッケージを少なくとも１つの受信装置に送信する、前記少なくとも１つの受信装置から要求を処理するための要求処理ルーチンと、追加の装置または他の送信装置のいずれかへの新たな接続の確立を所定の基準に基づいて判断するための判断ルーチンと、送信装置と受信装置のグループからなる装置に接続された装置のアドレスを問い合わせるための環境評価ルーチンとを含むソフトウェアと
を有し、
動作時、前記装置は、
少なくとも１つの送信装置に前記データパッケージの少なくとも一部に対する要求を出し、
受信装置からの前記データパッケージに対する要求に答えて、前記データパッケージの少なくとも一部を、前記装置上で利用可能なとき前記受信装置に送信する
装置。
【請求項２】
前記ソフトウェアは、前記送信装置に無関係に、前記データパッケージと一緒に前記ソフトウェアを送信するための送信ルーチンを備えている、請求項１記載の装置。
【請求項３】
前記ソフトウェアは、前記データネットワーク内の他の装置との接続をテストするためのテストルーチンを備えている、請求項１または２記載の装置。
【請求項４】
前記ソフトウェアは、終端へのネットワーク配列内の前記送信装置および受信装置以外に、前記データネットワーク装置内の受信装置にデータパッケージを送信するための送信ルーチンを備えている、請求項１、２、または３記載の装置。
【請求項５】
前記ソフトウェアは、前記データパッケージの処理すなわち再生の準備をさせるために前記データパッケージを変換するかまたは変形させるかのいずれかを行うための変換ルーチンを有する、請求項１から４のいずれか１項に記載の装置。
【請求項６】
前記ソフトウェアは、前記データ接続の品質を評価するための評価ルーチンを備えている、請求項１から５のいずれか１項に記載の装置。
【請求項７】
前記ソフトウェアは、前記データネットワーク内の少なくとも多数の前記他の装置の在庫目録を作成し、既存の接続が遮断されるかまたはしきい値より小さくなると、送信および／または受信するために前記データネットワーク内の他の装置への接続を試みるための在庫管理ルーチンをさらに備えている、請求項１から６のいずれか１項に記載の装置。
【請求項８】
前記データネットワークに少なくとも１つの他の装置のデータネットワークアドレスを格納するメモリをさらに備えている、請求項１から７のいずれか１項に記載の装置。
【請求項９】
データ処理装置と、該データ処理装置を備えたいくつかの装置がデータ接続によって接続できるデータネットワークへの少なくとも１つの前記データ接続を有する装置上で動作するソフトウェアであって、請求項１に記載のソフトウェアを記録した記録媒体。
【請求項１０】
前記判断ルーチンがさらに、評価パラメーターに基づいて送信機への接続を閉じ、前記ソフトウェアは、データパッケージの入ってくるフローの量と、時間間隔と、品質とを評価し、前記判断ルーチンに評価パラメーターを提供するための評価ルーチンと、存在する可能性のある新たな送信機を送信機および受信機を介して探索するための探索ルーチンと、存在する可能性のある新たな送信機へのデータ接続の品質をテストするためのテストルーチンとをさらに有する、請求項９に記載の記録媒体。
【請求項１１】
前記ソフトウェアが、受信されたデータパッケージと、送信されたデータパッケージと、データパッケージの送信機および受信機のアドレスとを保持し、前記評価ルーチンに入力データを提供するための管理ルーチンをさらに有する、請求項９または１０に記載の記録媒体。
【請求項１２】
請求項１に記載の装置を備えた複数のノードを有する有機的なデータネットワーク内に、前記装置がストリーミングオーディオまたはビデオまたはタイムクリティカルなデータのデータパッケージを配信する、前記データネットワークを設定および維持する方法であって、
前記複数のノードの各装置が、少なくとも１つの他のノードにデータパッケージの要求を出し、該リクエストに基づいて、かくして送信ノードになる前記１つまたは複数のノードからデータパッケージを受信し、あるいは前記ノード自身からコンテンツを検索し、複数の前記送信ノードに無関係に、前記データパッケージに対する前記受信ノードの前記装置の要求に基づいて、受信したデータパッケージを１つまたは複数の受信ノードに配信または中継のいずれかを行い、
ノードの前記装置は、前記送信ノードとの接続の品質が低下するか、または不十分と思えるときには、前記ノードに接続された前記送信ノードおよび前記受信ノードに他のノードのアドレスを問い合わせ、前記他のノードの少なくとも１つと連絡をとり、１つまたは２以上の他のノードへの前記接続の品質をテストし、それらの接続の１つまたは２以上で満足な性能が得られたら、適切な他のノードへの接続を確立して、送信ノードとして前記ノードにそれを追加し、データパッケージの総受信が所定の基準に適合するまで前記問い合わせを繰り返す、
有機的なデータネットワークを設定および維持する方法。
【請求項１３】
前記ノード上の前記装置は、品質が所定の基準より低いときには、送信ノードへの接続を遮断する、請求項１２記載の方法。
【請求項１４】
データ処理装置と、該データ処理装置を備えたいくつかの装置がデータ接続によって接続できるデータネットワークへの少なくとも１つの前記データ接続を有する装置を備えたノード上の装置で動作したとき、前記ノード上の装置が、請求項１２または１３に記載の方法を実行することを可能にするソフトウェアを記録した記録媒体。
【請求項１５】
請求項１に記載の装置を有する、モバイル通信システムと衛星通信システムを含む通信システム。
【請求項１６】
請求項１に記載の装置を有するメディアプレイヤー。
【請求項１７】
請求項１に記載の装置を有する交通情報システム。
【請求項１８】
データ処理装置と、該データ処理装置を備えたいくつかの装置がデータ接続によって接続できるデータネットワークへの少なくとも１つの前記データ接続を有する装置を備えた複数のノードと、各ノード上の前記装置で動作したとき、前記ノード上の前記装置が、請求項１２または１３に記載の方法を実行することを可能にするソフトウェアを記録した記録媒体と、を有する通信システム。
【請求項１９】
データ処理装置と、該データ処理装置を備えたいくつかの装置がデータ接続によって接続できるデータネットワークへの少なくとも１つの前記データ接続を有する装置を備えた複数のノードと、各ノード上の前記装置で動作したとき、前記ノード上の前記装置が、請求項１２または１３に記載の方法を実行することを可能にするソフトウェアを記録した記録媒体と、を有するメディアプレイヤー。
【請求項２０】
データ処理装置と、該データ処理装置を備えたいくつかの装置がデータ接続によって接続できるデータネットワークへの少なくとも１つの前記データ接続を有する装置を備えた複数のノードと、各ノード上の前記装置で動作したとき、前記ノード上の前記装置が、請求項１２または１３に記載の方法を実行することを可能にするソフトウェアを記録した記録媒体と、を有する交通情報システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動的なトポロジーを有する有機的なネットワークを生成するかまたは維持するかのいずれかを行う装置、その方法、およびそのためのソフトウェアを備えたキャリアーに関する。
【背景技術】
【０００２】
インターネット環境におけるサーバーを、メインサーバーを救済するために複製することが、例えば、米国特許第６，０５２，７１８号から公知である。しかし、これらの場合においては、サーバーソフトウェア全体とサーバーの全ファイルが複製される。まず、これは複製にとってあまりにも大きすぎる負担である。さらに、サーバーに情報を要求する所与のコンピューター（「クライアント」）は言うに及ばず、すべての所与のコンピューターがその目的に適しているわけではない。さらに、ルートまたは考えられる他のより近い（転送速度に関して）（複製）サーバーを知的に選択することによって、このような方法でクライアントにコンテンツの最適な転送速度を与えることはできない。
【０００３】
さらに、データパッケージに、該データパッケージのコンテンツまたは他のデータを受信コンピューター側で処理できるソフトウェア（Ｊａｖａアプレット）を備えることが米国特許第５，９４４，７８３号から公知である。しかし、この場合、通信に問題はないが分散処理の問題がある。大規模な１つのタスクが、各エージェントがタスクの一部を実行して、共通のサーバーと連絡をとるいくつかのエージェント上に分割される。
【０００４】
さらに、複数ノードからなるネットワーク（「マルチキャストネットワーク」）が米国特許番号第５，５１１，１６７号から公知であるが、これらのノードは階層的システムの各部分になっている。ここでは、各ノードはセンターノードによって集中的に制御される。
【０００５】
オン  シェホリ等（Ｏｎｎ  Ｓｈｅｈｏｒｙ  ｅｔ  ａｌ．）によるエージェントモビリティおよびリソース割り当ての手法に関するエージェントクローニング（Ａｇｅｎｔ  Ｃｌｏｎｉｎｇ：ａｎ  Ａｐｐｒｏａｃｈ  ｔｏ  Ａｇｅｎｔ  Ｍｏｂｉｌｉｔｙ  ａｎｄ  Ｒｅｓｏｕｒｃｅ  Ａｌｌｏｃａｔｉｏｎ）、ＩＥＥＥコミュニケーション誌１９９８年７月号（ＩＥＥＥ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｍａｇａｚｉｎｅ，Ｊｕｌｙ１９９８）に、エージェントの過負荷が発生した場合に、リモートコンピューター上にそれ自身を複製できるエージェントを有するマルチエージェントシステムが記述されている。複製エージェントは階層的に元のエージェントより下層に配置される。これはオーバーヘッド構造を必要とする。エージェントはタスクを実行するために送り出されて、その発信源に報告している。
【０００６】
米国特許６，０８５，２４０号にエージェントシステムが記述されている。エージェント装置はオーバレイ構造によって管理されている。したがって、このシステムはオーバーヘッド構造を必要とする。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、明示的または暗黙的に述べた欠点を少なくとも部分的に取り除くことにある。
【課題を解決するための手段】
【０００８】
この目的のために、本発明の装置は、
データ処理装置と、
データ処理装置を備えたいくつかの装置がデータ接続によって接続されたデータネットワークへの少なくとも１つのデータ接続と、
データネットワーク内の少なくとも１つの送信装置からデータパッケージを受信するための受信ルーチンと、前記データネットワーク内の１つまたは複数の前記送信装置から受信したデータパッケージを、１つまたは複数の送信装置に無関係に、データネットワークに接続された少なくとも１つの受信装置に送信するための送信ルーチンと、データネットワーク内の少なくとも１つの送信装置からのデータパッケージを要求するための要求ルーチンと、前記データネットワーク内の前記１つまたは複数の送信装置から受信したデータパッケージを少なくとも１つの受信装置に送信する、前記少なくとも１つの受信装置から要求を処理するための要求処理ルーチンと、追加の装置または他の送信装置のいずれかへの新たな接続の確立を所定の基準に基づいて判断するための判断ルーチンと、送信装置と受信装置のグループからなる装置に接続された装置のアドレスを問い合わせるための環境評価ルーチンとを含むソフトウェアと
を有し、
動作時、装置は、
少なくとも１つの送信装置にデータパッケージの少なくとも一部に対する要求を出し、
受信装置からのデータパッケージに対する要求に答えて、データパッケージの少なくとも一部を、前記装置上で利用可能なとき受信装置に送信する。
【０００９】
そのような装置を選択することによって、例えば、ネットワークで利用できるデータは、ネットワーク内のいかなる所与の装置も迅速にアクセスすることができるように、本発明による独立した装置が本発明による他の独立した装置にデータを提供できる有機的なデータネットワークを構築または生成することができる。
【００１０】
さらに、従来のネットワークおよびインターネットとは異なり、階層構造を有しないデータネットワークを構築することができる。つまり、サーバーが障害を起こすか過負荷になると、非常に多くのコンピューターがネットワークから離脱する。したがって、本発明による装置を使用して、非常に低い故障感度を有するネットワークを構築または維持することができる。
【００１１】
さらに、インターネットまたは他の同様に構成されたネットワークを介して、信頼性のある「ストリーミング」ビデオまたはオーディオ放送を開始することができる。
【００１２】
ついでに言うと、クライアント／サーバー技術を有する、または有しなくてもよい、いわゆるピアツーピアネットワークの多くの用途が知られている。
【００１３】
しかし、サーバーとクライアント間のデータ転送が本発明による装置においてのように行なわれる、動的なトポロジーを有する有機的なネットワークが、それらには記述されていない。すなわち、本発明による装置にしたがって、サーバーに基づいた制御がなくても、同一のピアは、ある時点では第２のピアをクライアントとして有するサーバーとして動作し、他の時点では、今度はサーバーとして動作する第２のピアのクライアントとして動作できる。２つの装置は自らの意思に基づいて役割を変える。
【００１４】
本発明において意味するコンテンツは、デジタル形式の音楽、デジタル形式の変換された画像、データベース情報、単純アスキデータのようなデータだけでなく、その他のすべての考えられるデータにも関している。これは、装置が要求したときに、できるだけ多くの装置に配信されなければならない情報である。例えば、インターネットに関しては、ストリーミングビデオまたはストリーミングオーディオが考えられる。この場合、データ接続の品質は特に重要である。すなわち、コンテンツは一般に、より小さなデータパッケージに分割されて、その後に送信される。ストリーミングオーディオまたはビデオアプリケーションの場合、データパッケージを送信している間の経路上の遅延は不規則な放送を引き起こすことになるので、いくつかのデータパッケージの順序は重要である。
【００１５】
まず第１に、本発明によるデータ処理装置は、デジタルデータ処理装置、すなわちＡＬＵを有するＣＰＵである中央処理装置、いわゆるＰＣまたは他の同様なコンピューターから知られている演算装置に関する。より広義には、特に、内部処理の（電子）制御のために携帯電話および他の装置に搭載され得る処理装置が考えられる。
【００１６】
本発明で意味するところのデータ記憶装置は、一般に周知のコンピュータメモリー（ＲＡＭ）のみならず、ハードディスクまたは他の動的なデータ記憶媒体であってもよい。
【００１７】
本発明によれば、データネットワークは、物理的にケーブル接続されたネットワークだけを意味しておらず、空中または光ケーブルを通して伝播する電磁波を使用する一連のデータ接続を有していてもよい。組合せも可能である。物理的にケーブル接続されたネットワークは、電流（電源電圧）を流すケーブル接続を使用するデータネットワークも有していてもよい。本願明細書においては、データネットワークは略してネットワークとも呼ばれる。
【００１８】
本願明細書において、まず物理的接続は、接続手段は例えば、ケーブル、光ケーブル、電気ケーブル、またはデータパッケージを電磁気の形態で送信できる、何らかの考えられる物理的接続を意味している。接続（データ接続と呼ばれることもある）とは、赤外線、そうでない場合は電波を介するような無線接続も意味している。
【００１９】
ソフトウェアは、ソフトウェアを送信装置に無関係に、データパッケージと一緒に送信するための送信ルーチンを備えていることが好ましい。このようにして、新しい装置をネットワークに素早く追加することが可能である。
【００２０】
１つの実施態様においては、ソフトウェアは、データネットワーク内の他の装置との接続をテストするためのテストルーチンを備えている。
【００２１】
さらに、本発明による装置の同一のまたは他の実施態様において、ソフトウェアは、終端へのネットワーク配列内の送信装置および受信装置以外の、データネットワーク装置内の受信装置にデータパッケージを送信するための送信ルーチンを備えている。
【００２２】
本発明の同一のまたは他の実施態様において、ソフトウェアは、データパッケージを処理すなわち再生の準備をさせるためにデータパッケージを変換または変更するための変換ルーチンを有している。
【００２３】
本発明の同一のまたは他の実施態様において、ソフトウェアは、データ接続の品質を評価するための評価ルーチンを備えている。
【００２４】
本発明の同一のまたは他の実施態様において、ソフトウェアは、データネットワーク内の少なくとも他の装置の数の在庫目録を作成し、既存の接続が遮断されるかまたはしきい値より小さくなると、送信および／または受信するためにデータネットワーク内の他の装置への接続を試みるための在庫管理ルーチンをさらに備えている。
【００２５】
本発明の同一のまたは他の実施態様において、装置は、データネットワーク内の少なくとも１つの他の装置のデータネットワークアドレスを記憶するメモリを備えている。
【００２８】
さらに、本発明は、上記した装置に適したソフトウェアに関する。このソフトウェアは、例えば、一例としてＣＤ、ＤＶＤ、光磁気ディスク、テープのようなデータ担体だけでなく、ＰＲＯＭ、ＥＰＲＯＭのようなＩＣに搭載できても、または製造されたＩＣ上に直接、搭載してもよい。
【００２９】
さらに、本発明は、請求項１に記載の装置を備えた複数のノードを有する有機的なデータネットワーク内に、前記装置がストリーミングオーディオまたはビデオまたはタイムクリティカルなデータのデータパッケージを配信する、前記データネットワークを設定および維持する方法であって、
前記複数のノードの各装置が、少なくとも１つの他のノードにデータパッケージの要求を出し、該リクエストに基づいて、かくして送信ノードになる前記１つまたは複数のノードからデータパッケージを受信し、あるいは前記ノード自身からコンテンツを検索し、複数の前記送信ノードに無関係に、前記データパッケージに対する前記受信ノードの前記装置の要求に基づいて、受信したデータパッケージを１つまたは複数の受信ノードに配信または中継のいずれかを行い、
ノードの前記装置は、前記送信ノードとの接続の品質が低下するか、または不十分と思えるときには、前記ノードに接続された前記送信ノードおよび前記受信ノードに他のノードのアドレスを問い合わせ、前記他のノードの少なくとも１つと連絡をとり、１つまたは２以上の他のノードへの前記接続の品質をテストし、それらの接続の１つまたは２以上で満足な性能が得られたら、適切な他のノードへの接続を確立して、送信ノードとして前記ノードにそれを追加し、データパッケージの総受信が所定の基準に適合するまで前記問い合わせを繰り返す。
【００３０】
このように、説明したような有機的なネットワークを設定および維持することができる。
【００３２】
本発明による方法の同一のまたは他の実施態様において、本発明による方法では、ソフトウェアは品質が所定の基準よりも低いときに、送信装置への接続を遮断する。
【００３３】
さらに、本発明は、特に、移動通信装置、メディアプレイヤー、通信装置、または本発明による装置を有する交通情報システムに関する。従来の電話機も本発明によるそのような装置を備えることができる。さらに、衛星通信、特に相互衛星通信も、本発明による装置、方法、またはソフトウェアを有することできる。
【００３４】
この場合、移動通信装置は、特に、携帯電話、ウォーキートーキー、衛星電話、ポケットコンピューター、ＰＤＡ、ゲームコンピューター類を意味し、それらは携帯用でも、またはそうでなくてもよく、ゲームはゲームコンピューター等を用いて無線でプレイすることができる。
【００３５】
メディアプレイヤーは、テレビジョン、ラジオ、または、あらかじめ記録された音楽または映画用の再生装置だけでなく、その目的に適したパーソナルコンピュータ類も意味している。
【００３６】
交通情報システムは、例えば、ＧＰＳを備えていても、または備えてなくてもよい自動車、列車、飛行機、船用のルートナビゲーションシステムだけでなく、カーラジオおよび他の考えられるシステム、特にレーダーのような、情報を乗物に提供するシステムも意味している。
【００３７】
本発明はさらに、データ処理装置と、該データ処理装置を備えたいくつかの装置がデータ接続によって接続できるデータネットワークへの少なくとも１つの前記データ接続を有する装置を備えたノード上の装置で動作したとき、前記ノード上の装置が、請求項１２または１３に記載の方法を実行することを可能にするソフトウェアを記録した記録媒体に関する。
【００３８】
本発明による考えられる装置は、以下に説明するコンシューマーノードである。しかし、本発明による装置はそれに限定されるものではない。
【００３９】
本発明による装置によって構築、維持されることができる有機的なデータネットワークにおいては、種々のタイプのノードを識別できる。これらのすべてのタイプのノードがデータネットワークの動作にとって必要なわけではない。ノードは、ノードがソフトウェアによって形態を変更されるか、または同時にいくつかの形態を取り得るように変えるのが好ましい。有機的なネットワークの最大の柔軟性を達成することを考慮にいれると後者の方が好ましい。
【００４０】
第１のノードは、他のノードが要求したときに、他のノードにコンテンツを送信するノードである。このようなノードは生成ノードとも呼ばれる。
【００４１】
さらに、多くの入り口ノードを定義してもよい。これらは、ネットワーク内のノードのリストを保持し、新たに挿入されるノードをデータネットワークへ挿入できるノードである。入り口ノードは、本発明による有機的なネットワークにとって本質的には重要でない。
【００４２】
ネットワークにおいて支配的なのはコンシューマーノードである。コンシューマーノードは、コンテンツを受信し、該コンテンツを発信元に無関係な他の要求するノードに配信するソフトウェアを備えている。さらに、ソフトウェアは、データ接続の品質をテストし、ネットワーク内の多くの他のノードの位置を最新にしておくためのルーチンを備えていてもよい。コンシューマーノードも自らコンテンツを生成し、それによって生成ノードの一部または全体の機能のいずれかを取得するのが好ましい。
【００４３】
最後に、いわゆるルーターノードが存在してもよい。このようなノードは、生成ノードまたはコンシューマーノードの命令でコンテンツを受信しネットワーク内の他のノードに送信するにすぎない。
【００４４】
既に前に説明したように、ノードは、コンテンツを要求するどれか（クライアント）のために前記コンテンツを確実に入手する。有機的なネットワークは、次の方法で拡張または開始されてもよい。第１のクライアントが生成ノードからの（一部の）コンテンツを要求すると、生成ノードは該コンテンツを配信するが、同時にソフトウェアも一緒に出力し、その結果、第１のクライアントは第１のコンシューマーノードに変わる。次に、第２のクライアントが生成ノードと連絡をとると、生成ノードは、第２のクライアントが本発明による装置のように動作するソフトウェアをまだ備えていないときには、必要なソフトウェアを送信するか、または新たなクライアントを、そのための既存のコンシューマーノード、例えば第１のコンシューマーノードとみなす。第２のクライアントは次に、第２のコンシューマーノードになり、必要ならば、より良好な接続を探索する。第１のコンシューマーノードへの接続が生成ノードへの接続よりも速い場合、第２のコンシューマーノードは、もしそのように望むならば、第１のコンシューマーノードに（完全にまたは部分的に）接続でき、本発明によるソフトウェアも同じように一緒に送信され、その結果、前記クライアントは第２のコンシューマーノードに変わる。前記第２のコンシューマーノードは、生成ノードまたは第１のコンシューマーノードからのいずれかから、どちらのデータ接続であれより良好な接続と判断された方から、そのコンテンツを入手することができる。しかし、特別な場合には、コンシューマーノードは完全に自主的に、かつ生成ノードと無関係に動作できる。さらに優れているのは、もしそのように望むならば、コンシューマーノードは、コンテンツを改作し、コンテンツそのものを追加し（例えば、ストリーミングビデオコンテンツにおいてある言語で副題を付けて）、またはローカル広告メッセージまたはローカルニュースのような、それ自身のコンテンツを生成することができる。その結果、コンシューマーノードは同時に生成ノードにもなる。
【００４５】
通常、新たなコンシューマーノードが、生成ノードまたは入り口ノードと最初に連絡をとることによってネットワークに追加される。前記ノードは、新入者を１つのノードに、または好ましくは、より多くの既存のコンシューマーノードに（一度に）接続することができる。新たなノードは、それ自身の意思に基づいて、全く自主的により良好な接続を探しに行ってもよい。新たなノードは、接続されるノードに関する情報を自分が接続しているノードから入手することができるので、この手順は支持され得る。前記隣情報は、自分自身の接続を改善するために、または故障の場合に利用できる予備接続を持つために利用することができる。一般に、ここでは、中央制御の問題がないほうが好ましいので、柔軟性および故障感度は減少する。
【００４６】
もしそのように望むならば、ノードは、要求のあったコンテンツを単に中継する代わりにまたはそれに追加して、コンテンツを追加またはコンテンツを変更してもよい。例えば、ローカル的に副題を付けること、メッセージを広告すること、ファイル形式の変換、セキュリティ追加等である。ノードはその後、実際に同時に生成ノードになる。生成ノードまたはコンシューマーノードは受信ノードがコンテンツを信頼できるかどうかわかるように、認証セキュリティも追加してもよい。コンテンツの発信元も認証セキュリティを追加することができ、各送信ノードは、それが配信するコンテンツが確かに信頼できるかどうかを、例えば、チェックすることができる。このようにして、コンテンツの機密性について高い信頼度を持ったネットワークが生成される。
【００４７】
コンシューマーノード数が増加するにつれてデータネットワークが生成される。前記コンシューマーノードは、コンテンツについての要求を自分自身で対処でき、かつ最適接続（信頼性および／または通信速度の意味において）を選択することができ、ノードは、さらに他の機能を備えているので、コンシューマーノードはインテリジェントノードとも呼ばれうる。その結果生じたデータネットワークは、種々の部分（ノード）が独立して「存続」することができる有機体という特質を有している。データ転送中、特に、例えば、インターネットアプリケーションにおけるストリーミングオーディオおよびストリーミングビデオのような順序が重要なデータ転送時においては、最適のデータ接続は非常に重要である。さらに、コンテンツを提供するサーバーの容量は、通常、限られた数のクライアントだけにしかサービスを提供できないが、一方、それと対照的に本発明の有機的なネットワークは、ユーザーの数と共に増大していく殆んど無限の容量を有する。
【００４８】
本発明による装置において、一定の過剰容量を有する各コンシューマーノードはこれがこのネットワークに追加されると、ネットワークの総配信容量の増加に寄与できる。ネットワークが大規模になればなるほど、すなわちノードが多くなればなるほど、本発明による装置を使用することによって、サーバーの容量を増大させることなく、より大きな容量が利用できるようになり、ネットワークは潜在的により高速になり得る。例えば、ほとんどのコンピューターは、全二重データ接続を有していて、ある瞬間に送信または受信するだけなので、本発明による装置はネットワーク内に存在する固有の過剰容量を使用する。限られた送信容量を有する生成またはコンシューマーノードは、その未使用の容量を使用して多くのコンシューマーノードからなるネットワークに、比較的多くのコンテンツを今まで通り送信することができる。未使用の受信または送信容量は、コンテンツを取得または他のノードにそれを送信するために他のノードによって使用されうる。たとえ生成ノードの送信容量がさらに小さく（ある程度まで、すなわち少なくとも１つの受信機は、当然十分なコンテンツを取得できるべきである）なったとしても、コンシューマーノード同士の相互協力の結果、ネットワーク内の流れの速度は向上する。
【００４９】
既に説明したように、動作可能で、多分種々の生成ノードとなる種々のコンシューマーノードのリストを含んだ多数の入り口ノードが定義されてもよい。新たなクライアントが、生成ノードと連絡をとる代わりに、最も近接している（データ転送速度に関して）１つをコンシューマーノードのリストから選択する入り口ノードと連絡をとってもよい。入り口ノードは、新たなクライアントをコンシューマーノードとしてインストールするソフトウェアを送信（から開始）してもよいであろう。新たなクライアントは、次に既存のコンシューマーノードに接続して、新たなコンシューマーノードに変わる。
【００５０】
上に説明した手順またはデータネットワークにおいて、いくつかのタイプのノードについて述べた。これらのほとんどのノードは１つのベースノードによっても定義され得る。
【００５１】
あらゆる機能を持つ１つのベースノードは見分けることができるが、そのいくつかの部分は、本発明による有機的なネットワークにおけるノードの機能に基づいてオンまたはオフに切り替えられうる。
【００５２】
例えば、あらゆるノードは、入力マネージャおよび出力マネージャと、バッファと、ルーターロジックと、ローカル生成接続マネージャと、ローカルコンシューマー接続マネージャとを有している。
【００５３】
本発明による有機的なネットワークを実施できるいくつかの例を以下に説明する。そのいくつかの例は、本発明を限定するものではなくて、説明するためのものである。専門家は、前の例に基づいて、特許請求の範囲の保護の範囲に入る他の多くの実施態様について考えつくことができるであろう。
【００５４】
ストリーミングインターネットアプリケーション
ストリーミングビデオおよびストリーミングオーディオは、コンテンツを有するデータパッケージがサーバーまたは局からクライアントまたはコンシューマーに送信されるインターネットアプリケーションとして知られている。これらのデータパッケージについて特別なことは、種々のパッケージの時系列が重要であるということであり、すなわち、例えば、無線放送は一定の時系列を有している。さらに、さもないと放送がふらつくので、データフローの連続性は重要である。そのようなストリーミングインターネットアプリケーションの一般的な原理は専門家には周知である。
【００５５】
インターネットまたは他のデータネットワークを介したストリーミングビデオまたはオーディオ放送は、本発明による装置を使用して次の方法で有機的なデータネットワークによって実現され得る。
【００５６】
まず第１に、いわゆる生成ノードがインストールされる。生成ノードは、その目的が装置自身内で生成されるかまたは存在する、１つまたは２以上の他の装置で利用できるコンテンツを作成する本発明による装置である。前記コンテンツはストリーミングオーディオまたはビデオ放送であってもよい。
【００５７】
コンピューターが、例えば、インターネットを通じて生成ノードと連絡をとるとすぐに、生成ノードは、例えば、「Ｊａｖａアプレット」または「Ｊａｖａビーン」形式だけでなく、いわゆるＷｉｎｄｏｗｓ「キャビネットファイル」形式のソフトウェアを伴ったコンテンツの送信を開始する。ソフトウェアは、次に、コンピューターに自分自身をインストールし、いわゆるコンシューマーノードとしてコンピューターを調整する。既に説明したように、そのようなコンシューマーノードは、装置、この場合は生成ノード、からコンテンツを受信し、他の装置がそれを要求したときに、コンテンツを該他の装置に配信することができる。
【００５８】
例えば、第２の装置が、コンテンツも入手するという質問を持って生成ノードにそれ自身現われると、生成ノードは、必要ならば、第２の装置にソフトウェアを送信するか、または、例えば、すべての出ていく接続が占有されているときには、以前にインストールされたコンシューマーノードの存在を第２の装置に通知する。
【００５９】
生成ノードが、直接またはコンシューマーノードを介してソフトウェアを送信して、第２の装置を第２の装置に対するコンシューマーノードとして動作させると、第２の装置は第２のコンシューマーノードとしてインストールされる。第２のコンシューマーノードは、生成ノードへのまたは第１のコンシューマーノードへの接続が最善かどうかをテストし、次に、コンテンツが生成ノードから、または第１のコンシューマーノードを介して、または両方からのいずれかで来信すべきかどうかを判断する。第１のコンシューマーノードは、生成ノードとは完全に独立して第２のコンシューマーノードにコンテンツを配信することができる。
【００６０】
第２のコンシューマーノードが生成ノードへのより良好な接続を得ると、上記直接の連絡は、第１のコンシューマーノードがコンテンツを第２のコンシューマーノードを介して入手するのを判断することにつながる。このことから、動的なトポロジーを入れ替えたノードが取得されたように見える。
【発明を実施するための最良の形態】
【００６１】
本発明の種々の態様を示すいくつかの図面を基にして本発明を詳しく説明する。前記図面は、本発明を説明する役目し、それらに示された実施形態に対しては本発明を限定するものとして見なされるべきではないことは明らかである。
【００６２】
図１は、ベースノードを生成ノード、コンシューマーノード、ルーターノード、または入り口ノードとして機能させることができるすべての機能を備えた、上に説明したベースノード１．０を示している。種々の機能をオンまたはオフすることによって、ベースノードは、説明したノードの１つとしてまたはその組合せとしても、または互いに並行して働くいくつかの能力において機能することができる。
【００６３】
ベースノードは入力マネージャ１．１と出力マネージャ１．４とを備えている。これらは入力するおよび出力するコンテンツを調整するソフトウェア中のルーチンである。さらに、ベースノードは、受信したコンテンツを出力するいわゆるルーターロジック１．５を備えている。
【００６４】
さらに、ベースノードは、データを多分さらに送信するためにデータを格納する１つまたは２つ以上のバッファ１．６を備えている。
【００６５】
最後に、ベースノードは、コンテンツの送信を準備するローカル生成マネージャ１．２と、入力コンテンツの処理および再生（ストリーミングオーディオまたはビデオの場合）を準備するローカルコンシューマーマネージャ１．３を備えている。
【００６６】
図２Ａから２Ｑは、有機的なネットワークを開始するいくつかの段階を示している。太線はノード間の接続である。縞の破線はノードへのメッセージ、点線は存在するノードに接続されたノードに関する情報、細線は連絡および接続の品質のテストである。
【００６７】
図２Ａは、生成ノード１を有する有機的なネットワークを示している。生成ノードは、例えば、ストリーミングオーディオ放送のようなコンテンツをインターネットを介して２つのコンシューマーノード２および２’に配信する。この場合、コンテンツは、インターネットを介して送信されるデータパッケージに分割される。各２つのコンシューマーノードに、コンシューマーノード３と３’がそれぞれに接続されている。３’には次のコンシューマーノード４が接続されている。２つの入り口ノード０および０’も示されている。
【００６８】
コンシューマーノード２および２’は、生成ノードから受信したコンテンツをコンシューマーノード３および３’まで配信し、コンシューマーノード３は、次に、４まで配信する。このため、２つのコンシューマーノードだけが生成ノードに直接接続されている。
【００６９】
図２Ａに示すようなある状況から、有機的なネットワークの可能な展開が次に図２Ｂから２Ｑへと続いている。
【００７０】
図２Ｂにおいて、生成ノード１は、コンシューマーノード２’の存在が述べられたメッセージをコンシューマーノード２に送信する。
【００７１】
図２Ｃにおいて、コンシューマーノード２は、コンシューマーノード２’への接続をテストしていることが分かる。明らかに、コンシューマーノード２’は余分な容量と生成ノードへのより高速な接続を有している。例えば、インターネットアプリケーションの場合には、コンシューマーノード２は、５６ｋ６のボーレートを持つ類似のモデムを介して接続されてもよく、一方、コンシューマーノード２’は、例えば、ケーブルモデムで接続され、生成ノードとコンシューマーノード２間の実際の接続は最大で２８ｋ８になる。ところが、このコンシューマーノード２は５６Ｋ６を処理できる、すなわち、コンシューマーノード２’は、生成ノードから高速で、５６ｋ６よりも高速でコンテンツを受信して、２８ｋ８の速度で生成ノードに無関係なコンシューマーノード２にコンテンツの送信を開始する。ここで、コンシューマーノード２は、（例えば）２８ｋ８の代わりに５６ｋ６の速度でコンテンツを取得する。この状況を図２Ｄに示す。図２Ｄにおいて、生成ノードもコンシューマーノード２へ依然としてコンテンツを送信している。ノード３もノード２から配信されたそのノードに接続されたノードについての情報を取得する。
【００７２】
図２Ｅにおいて、コンシューマーノード３は、例えば、その接続が最適ではないので、今その存在を（直接または間接的に）知っているネットワーク内の種々のノードへの接続をテストしている。例えば、このテストは、コンシューマーノード２への接続がますます悪化するので行われる。この場合、コンシューマーノード３は、生成ノード１およびコンシューマーノード２’への接続をテストする。コンシューマーノード２’はまだ余分な容量を有するように思える。コンシューマーノード２’は、ここでコンシューマーノード３にもコンテンツの送信を始める（図２Ｆ）。
【００７３】
図２Ｇにおいて、新たなコンシューマーノード５が入り口ノード０を介してどのように実現されていくかが分かる。将来のコンシューマーノードは入り口ノード０と連絡をとる。新たなノードがまだコンシューマーノードではなく、そのようにインストールされるソフトウェアをまだ受信していないときには、ノード（将来の）は、入り口ノード０から前記ソフトウェアを取得することができる。ソフトウェアがインストールされた時点で、新たなノードもコンシューマーノードになる（そして実際、そのとき新たなノードが望めば、新たなノードは生成ノードとしても動作を開始できる）。
【００７４】
この図において、入り口ノードは、自分が最新にしておいたリストからコンシューマーノード、この場合、最後に追加され、または追加されていなくてもよいコンシューマーノード４を選択する。新たに追加されるノードがまだコンシューマーノードになっていないときには、新たに追加されるノードは、入り口ノードからコンシューマーノード４（図２Ｈ）の存在についての情報のみならず（この場合）必要なソフトウェアも取得する。コンシューマーノード５は、今度はコンシューマーノード４への接続をテストし（図２Ｉ）、コンシューマーノード４と連絡をとる（図２Ｊ）。
【００７５】
図２Ｋにおいて、コンシューマーノード５は、コンシューマーノード４からコンシューマーノード３についての情報を取得し、次に、コンシューマーノード３への接続をテストする（図２Ｌ）。コンシューマーノード３が余分な送信容量を有し、かつコンシューマーノード５が余分な受信容量を有すると思われるときには、コンシューマーノード３は、生成ノードまたはコンシューマーノード２に無関係にコンシューマーノード５にもコンテンツを送信する（図２Ｍ）。コンシューマーノード５は、自分が受信したいものを４と３に合わせる。
【００７６】
図２Ｎにおいて、コンシューマーノード３は、ノード２’、４、および５の存在をコンシューマーノード２に知らせる。図２Ｏにおいて、ノード２はおそらくその接続が悪化するか、５への接続の方がより良好という理由により、５への接続をテストしていることが次に分かる。
【００７７】
図２Ｐにおいて、コンシューマーノード５と２の間の接続がなされている。
【００７８】
図２Ｑにおいて、２と５、および５と３の間の接続が非常に良好なので、３は、ここでは、２の代わりに５を介してそのデータパッケージを取得すると思われる。３と２の間の接続は遮断される。
【００７９】
図３Ａから３Ｌにおいて、本発明による装置は携帯電話ネットワークにおいて実現されている。ここで、白い矢印は短い制御信号を、灰色の矢印は１つの会話を有する信号を、黒い矢印は２つの会話を有する信号を示している。
【００８０】
図３Ａにおいて、携帯電話１１が連絡をとりたいと望んでいる。携帯電話１１に組み込まれた本発明による装置は、次に、すぐ近辺にいる携帯電話がサポート送信機１０と既に連絡をとったかどうかを探索する。すぐ近辺にいるどの携帯電話もサポート送信機１０との連絡は持っていない。本発明による装置は、次に、携帯電話１１とサポート送信機１０の間で連絡をとる（図３Ｂ）。携帯電話１１は図の外にいる携帯電話と最初の会話を開始する。
【００８１】
図３Ｃにおいて、携帯電話１２でも実現される、本発明による装置が、携帯電話がサポート送信機１０との連絡を持っているかどうか、すぐ近辺をどのように探索するかが分かる。図３Ｄにおいて、携帯電話１２は、両方の会話をサポート送信機１０に出力している携帯電話１１と連絡をとることが分かる。
【００８２】
図３Ｅにおいて、携帯電話１１の会話は既に終了したが、前記携帯電話は携帯電話１２に会話をまだ送信していることが分かる。
【００８３】
図３Ｆにおいて、携帯電話１２もその会話を終了したことが分かる。携帯電話１４は、携帯電話１３を呼び出したいが、サポート送信機１０の範囲外にいる。その信号はサポート送信機と連絡をとることができる１１によって受信される。ここで、携帯電話１１はサポート送信機１０への１４の信号を中継し、サポート送信機１０は携帯電話１３に信号を送信する（図３Ｇ）。
【００８４】
携帯電話１３は、その間に、例えば、サポート送信機１０によって、１１が比較的近接している（つまり、それらは同一のサポート送信機を使用している）ことが知らされている。携帯電話１３は次に、１４と連絡をとってくれるように携帯電話１１に依頼する（小さな範囲の）信号を送信し、この信号は１１によって受信され（図３Ｈ）、携帯電話１１は、サポート送信機１０の機能を引き継いで１３と１４間の接続を確実にしている（図３Ｉ）。暗号化が接続の秘密性を確実なものにしている。
【００８５】
故障により、携帯電話１１は遮断する（図３Ｊ）。１３と１４の両方ともヘルプの呼出しを送信する。携帯電話１２は両方の呼び出しを受信して、１１の役割を引き継ぐ（図３Ｌ）。
【００８６】
本発明による装置の自主性により、まず第１に、互いの近辺にいる携帯電話同士間で直接連絡をとることができる。さらに、トポロジーの動的な性質により、故障を処理することもできる。
【００８７】
さらに、本発明による装置によって、低出力のサポート送信機（その時、携帯電話が別ルートをより迅速に探しに行くようなできるだけ低出力の方が好ましい）と、互いに近辺にいる多くの携帯電話によって、サポート送信機１０の最低限の送信容量でより良好な接続を持つことができる。
【００８８】
図４Ａにおいて、道路４８の片側に交通の流れを制限または阻止する障害物４０が存在し、このために自動車４３と４２が停止している交通状況が示されている。道路４７の反対側には、接近する自動車４１が到着している。障害物４０のずっと前方に、別ルートを有する出口４９がある。両自動車は本発明による装置を装備している。
【００８９】
図４Ｂにおいて、接近している自動車４１が、静止している自動車４２から自動車４２がまだ停止しているという情報をどのように取得するかが分かる。自動車４１はそのまま運転を継続し、図４Ｃにおいて、道路４８側の自動車４４がどのように障害物に接近するかが分かる。
【００９０】
図４Ｄにおいて、自動車４１は送信側の自動車４２に無関係に要求側の自動車４４に情報を配信する。
【００９１】
図４Ｅにおいて、自動車４４が出口４９経由で別ルートをとることを決定していることが分かる。
【００９２】
自動車情報システムにおいて実現される本発明による装置は、この場合、送信側自動車４２から情報を受信し、送信側自動車に無関係に自動車４４まで情報を出力する。このようにして、自動車４１は、障害物、この例では自動車４２、に関する情報を送信した自動車に無関係に、後ろに接近している自動車に通知する。
【００９３】
本発明による装置の他の用途はテレビジョンにある。図５Ａにおいて、多くのテレビジョンジョンセット５４、５５、５７、５８、５９がケーブルネットワーク６１によって送信／放送局５０に接続されている状況が示されている。テレビジョン５６はそれ自身のパラボラアンテナ５１に接続されている。テレビジョンは、テレビジョン５６を除いて配電網６０に接続され、配電網を介してデータパッケージを送信および受信する手段を備えている。
【００９４】
ケーブルネットワークを介して他のテレビジョンに接続されてはいないが、実際配電網６０を介して接続されているテレビジョン５３は、それ自身の衛星回線をも有している。テレビジョン５６および５３は、本発明による装置を介して他のテレビジョンにパラボラアンテナ５１および５２から信号を送信する。白い円は、配電網を介してテレビジョンジョンセット５３および５６によって、他のテレビジョンジョンセットに中継される衛星５１および５２から来るコンテンツである。灰色の円は、ケーブル６１を介して送信機５０によって、テレビジョンジョンセット５４、５５、５７、５８、および５９に配信されるコンテンツである。
【００９５】
図５Ｂにおいて、故障がテレビジョンジョン５６と５５間の接続においてどのように発生するかが分かる。テレビジョンジョン５４および５５は、配電網を介して緊急信号（灰色の正方形）を出力し、緊急信号は、まだ信号を受信しているテレビジョンジョンセット内の本発明による装置によって受信される。前記テレビジョンジョンセット（実際には、本発明による装置）、図５Ｃにおいては、テレビジョンジョンセット５７、５８、および５９は緊急信号を受信する。前記テレビジョンジョンセットは、それらが配信できる配電網を介して５４と５５に信号を送信し、テレビジョンジョンセット５４と５５から要求されると、上記テレビジョンジョンセットは配電網（青白い灰色の円、図５Ｄ）を介して配信を開始する。図５Ｅにおいて、テレビジョンジョンセット５４と５５が実際にケーブル信号を取得することが分かる。青白い灰色の円がセット５４と５５に到達している。
【００９６】
勿論、この例は、ネットワークまたは無線通信を介して、例えば、多分ブルートゥースプロトコルを介して接続されたパーソナルコンピュータ、ゲームコンピューター、または家庭用機器にも関連することができる。あるケーブル接続においては過剰容量であってもよい代替チャネルによって故障は正常に戻される、すなわち、例えば、データ伝送の慣性は解決される。
【００９７】
図６Ａから６Ｋは、データが誰にでも利用できるようなネットワーク上の１点からデータパッケージにおけるコンテンツの送信を示している。それは例えば、ストリーミングビデオまたはオーディオであってもよい。
【００９８】
生成ノード１２０は、意のままになるコンテンツ「１２３４５６７８」を有し、それを要求した２つのコンシューマーノード１２２および１２３にコンテンツを送信する。１２３を介した流れは１２２を介したよりもはるかに高速である。図６Ｂにおいて、第１のデータパッケージ「１」が１２３によって既に受信されているのに対して、１２２はまだ何も持たないことが分かる。その間に、１２２および１２３は、１２４と１２６、および１２７と１２５からの要求をそれぞれ受信する。１２３へのデータパッケージは、非常に高速で流れるので、その間に、１２３は既に２つのパッケージを受信しており、１２３と１２７の接続は非常に良好なので、１２７も既に１つのデータパッケージを受信している。したがって、コンシューマーノード１２９からの要求を許可して、送信を開始できる（図６Ｃ）。
【００９９】
図６Ｄにおいて、コンシューマーノード１２３は、その間に既に３つのデータパッケージを受信しており、１２３と１２７の接続が非常に高速なので、１２７も既に２つのデータパッケージを受信している。その間に、ノード１２５は、１２３を介して１２７の存在が通知され、１２７へのデータ接続のテストが終了している。このデータ接続も１２３へのデータ接続よりかなり高速で、良好に思われるので、ノード１２５はデータパッケージの配信を１２７に要求することを決定している。さらに、１３１もコンテンツの配信要求することを申し込んで、コンシューマーノード１２９に接続されている。
【０１００】
ノード１２２を介したコンシューマーノード１２６の接続が遅いように思われるので、コンシューマーノード１２６は、より良好な接続を探しに行き、最終的にコンシューマーノード１２９で終る。コンシューマーノード１２６から要求されると、コンシューマーノード１２９も直ちに１２６へのデータパッケージの配信を開始する。この場合、動的なトポロジーは既に発生しているように思われ、動的なトポロジーの結果は明らかである。コンシューマーノード１２６は次に、コンシューマーノード１２２への接続を切断する。その間に、ノード１２８および１３０もコンシューマーノードとしてネットワークに追加される。この状況を図６Ｅ示す。
【０１０１】
生成ノード１２０へのコンシューマーノード１２２の接続が遅いので、コンシューマーノード１２４もより良好な接続を探しに行き、コンシューマーノード１２６に行き着く。コンシューマーノード１２４から要求されると、コンシューマーノード１２６も直ちにコンシューマーノード１２４にデータパッケージの配信を開始する。この状況は図６Ｆに示されている。その間、コンシューマーノード１２８および１３０は、連鎖１２０−１２２−１２４から来るデータパッケージ「１」をまだ受信している。
【０１０２】
図６Ｇにおいて、下方の連鎖１２３−１２７−１２９からのデータパッケージの配信は、生成ノード１２０からコンシューマーノード１２２への配信よりもはるかに高速になることが分かる。さらに、コンシューマーノード１２４へのコンシューマーノード１２８および１３０の接続が最適ではないことも分かる。すなわち、コンシューマーノード１２８および１３０は、２つのデータパッケージを受信しているのに対して、コンシューマーノード１３１は、既に４つのデータパッケージを受信している。コンシューマーノード１２８および１３０は、より良好な接続を探し始め、１２８はコンシューマーノード１３１の過剰容量を使用することを選択する。これは図６Ｈに示されている。コンシューマーノード１２３は、このときすべてのコンテンツを受信しており、生成ノードへの接続はもはや使用されていないということも分かる。
【０１０３】
図６Ｉにおいて、コンシューマーノード１２８、１３０、および１２２だけが、まだすべてのコンテンツを受信していないことが分かる。図６Ｊにおいて、１２２以外のすべてのコンシューマーノードはすべてのコンテンツを受信してしている。
【０１０４】
この例においては、明らかに、コンシューマーノード１２２は他のノードへのより良好な接続を見つけることはできなかった。しかし、例えば、コンシューマーノード１２４を介しての接続が生成ノードへの直接の接続よりも良好に思われたときには、コンシューマーノード１２２は、コンシューマーノード１２４がデータパッケージを配信できるかどうかを要求することを決定する状況は発生したであろうし、その結果、実際には、コンシューマーノードの一部は、受信するコンシューマーノードから配信するコンシューマーノードへと反転されていた。コンシューマーノードは、これらコンシューマーノードが、既存の接続が（これ以上）満足でないときは、新たなまたは追加の接続を探しに行くだけというような方法で設定されるのが好ましい。
【０１０５】
図７から１５は、本発明による生成ノードの特定の実施形態を示し、そのような生成ノードを通る（図７から１１）、およびコンシューマーノードを通る（図１２から１５）データストリームを明確に示している。送信されるデータストリームはＭＰ３ストリームであってもよい。この実施形態においては、このデータストリームはインターネットを通して送信される。図のこの説明では、ＭＰ３ストリームについて言及する。しかし、どのようなデータストリームもこの生成ノードを使用して送信できることは明らかである。生成ノードとコンシューマーノードの異なる構造ブロック、例えば、バッファ、ルーターロジック、その他は、Ｃ＋＋、Ｊａｖａ、または何らかのタスク特有の言語のような、適切な汎用プログラミング言語でプログラムされ得るソフトウェアオブジェクトである。これらのオブジェクトは当業者に周知である。
【０１０６】
図７は、生成ノード（ＰＮ）によってメディアストリームを開く処理を示している。ストリームターゲット（メディアプレイヤー）は、ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ：１２３／１９２．１．０．１０／ｓｔｒｅａｍ．ｍｐ３を有する入り口を通してメディアストリームを要求する。
【０１０７】
次のステップが実行される。
ステップ１：コンシューマーマネージャ（ＣＭ）は要求を受信して、認識する
ステップ２：ＣＭは、アクションをルーターロジック（ＲＬ）に問い合わせる
ステップ３：ＲＬは、ストリームソース（ＳＳ）のＩＰアドレスを入り口
（１９２．１．０．１０）に問い合わせる
ステップ４：入り口は、ＳＳのＩＰアドレス２４．２５．２６．２７を返信する
ステップ５：ＲＬは、ＳＳを呼び出してくれるようにプロダクションマネージャ（ＰＭ）            に要求する
ステップ６：ＰＭは、ｈｔｔｐ：／／２４．２５．２６．２７／ｓｔｒｅａｍ．ｍｐ３を
有するＳＳに要求する
ステップ７：ＳＳはメディアストリームおよびｈｔｔｐヘッダーを返信する
ステップ８ａ：ＰＭはデータを解析し、バッファにメディアストリームを出力する
ステップ８ｂ：ＰＭはＲＬにｈｔｔｐヘッダーを返信する
ステップ９：ＲＬはＣＭにｈｔｔｐヘッダーを返信する
ステップ１０：ＣＭはストリームターゲットにｈｔｔｐヘッダーを返信する
図８において、生成ノード（ＰＮ）はメディアストリームの受信を開始する。ｈｔｔｐヘッダーがストリームターゲットに渡されると（図７のステップ１０）、コンシューマーマネージャ（ＣＭ）は、データ探索ループを開始する。コンシューマーマネージャは、バッファにデータを要求し、返答を待つ。バッファの返答は次のうちのいずれか１つであろう。
【０１０８】
・メディアストリームのデータがある（ＣＭはさらに要求する）、または
・データがまだ準備できていない（ＣＭは待機して、後で試みる）、または
・ストリーム終了（ＣＭは接続を閉じる）。
【０１０９】
その後、次のステップが実行される。
ステップ１：コンシューマーマネージャ（ＣＭ）は、バッファにデータメディアストリー            ムを要求する
ステップ２：バッファは、メディアストリームのＣＭへの送信を開始する
ステップ３：ＣＭは、ストリームをストリームターゲットに渡す
図９において、生成ノード（ＰＮ）は、コンシューマーノード（ＣＮ）から入力する要求を受信している。コンシューマーノードからのこの入力する要求は、生成ノードの出力マネージャ（ＯＭ）によって受信される。この要求は、ルーターロジック（ＲＬ）に渡されるネットワーク情報と、バッファによって処理されるメディアストリームの特定の部分（データブロック）の要求から成る。
【０１１０】
続いて、次のステップが実行される。
ステップ１：入ってくるノードネットワーク要求は、出力マネージャ（ＯＭ）によって受            信される
ステップ２ａ：ＯＭは、ルーターロジックにネットワーク情報を渡す
ステップ２ｂ：ＯＭは、コンシューマーノードが含まれない好ましい第１のブロックを含              むすべてのブロックをバッファに要求する。
【０１１１】
図１０および１１に、コンシューマーノード（ＣＮ）の入力している要求に関する生成ノード（ＰＮ）の応答が示されている。次の状況が発生することがある。
１．要求されたデータブロックは利用できる。
２．データブロックは利用できない。
これらの起こり得る２つの状況を詳しく説明する。
１．利用可能でないブロックが（図１０）
要求されたブロックは生成ノードのバッファにおいて利用でき、このデータはネットワーク情報と一緒に要求のあったコンシューマーノードに返信される。その後、次のステップが実行される。
ステップ１ａ：ＰＮおよびＰＮが知っているノードについてのネットワーク情報は、ルー              ターロジック（ＲＬ）によって出力マネージャ（ＯＭ）に返信される
ステップ１Ｂ：メディアストリームの要求された部分（データブロック）は、バッファに              よってＯＭに返信される
ステップ２：ＯＭは情報を束ねて、ＣＮにこれを返信する
２．利用できないブロック（図１１）
要求されたブロックは生成ノードのバッファにおいて利用できず、このデータはネットワーク情報と一緒に要求のあったコンシューマーノードに返信される。
ステップ１ａ：ＰＮおよびＰＮが知っているノードについてのネットワーク情報は、ルー              ターロジック（ＲＬ）によって出力マネージャ（ＯＭ）に返信される
ステップ１ｂ：バッファは、利用できるデータがないことを返信する
ステップ２：ＯＭはＣＮにＲＬのネットワーク情報を返信する
ここで、図１２は、メディアストリームを開くときに、コンシューマーノード（ＣＮ）側で行なわれるさまざまな処理ステップを示している。ストリームターゲット（メディアプレイヤー）は、ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ：１２３／１９２．１．０．１０／ｓｔｒｅａｍ．ｍｐ３を有する入り口を通してコンシューマーノードを介してメディアストリームを要求する。
【０１１２】
次に、以下のステップが行なわれる。
ステップ１：コンシューマーマネージャ（ＣＭ）は要求を受信し、認識する
ステップ２：ＣＭはアクションをルーターロジック（ＲＬ）に問い合わせる
ステップ３：ＲＬは、入り口（１９２．１．０．１０）にノードネットワークに参加して            いる他のノード（ＰＮまたはＣＮ）のＩＰアドレスを問い合わせる
ステップ４：入り口は、他のノードのＩＰアドレスを返信する
ステップ５：ＲＬは、他のノードを接続するように入力マネージャ（ＩＭ）に依頼する
ステップ６：ＩＭは他のノードに接続を要求する
ステップ７：他のノードはメディアストリームとｈｔｔｐヘッダーを返信する
ステップ８ａ：ＩＭはデータを解析し、バッファにメディアストリームを送信する
ステップ８ｂ：ＩＭはＲＬにｈｔｔｐヘッダーを返信する
ステップ９：ＲＬはＣＭにｈｔｔｐヘッダーを返信する
ステップ１０：ＣＭはストリームターゲットにｈｔｔｐヘッダーを返信する
図１３は、コンシューマーノード（ＣＮ）がメディアストリームの受信を開始したときに、何が起こるかを示している。ｈｔｔｐヘッダーがストリームターゲットに渡されると、コンシューマーマネージャ（ＣＭ）はデータ探索ループを開始し、バッファにデータを要求し、返答を待つ。バッファの返答は次のうちのいずれか１つであろう。
【０１１３】
・メディアストリームのデータがある（ＣＭはさらに要求する）、または
・データがまだ準備できていない（ＣＭは待機して、後で試みる）、または
・ストリーム終了（ＣＭは接続を閉じる）。
【０１１４】
したがって、次のステップが実行される。
ステップ１：コンシューマーマネージャ（ＣＭ）はバッファにデータメディアストリーム            を要求する
ステップ２ａ：バッファはＣＭへのメディアストリームの送信を開始する
ステップ２ｂ：ルーターロジック（ＲＬ）はＣＮを、入り口にアクティブノードとして登              録し、他のノードとのその接続を確認する
ステップ３：ＣＭはストリームをストリームターゲットに渡す
図１４に、コンシューマーノード（ＣＮ）が他のノードからメディアストリームを受信した後に、接続ができなくなった場合に何が発生するかが示されている。例えば、コンシューマーノードから他のノード（Ａ．）への接続が失われる。コンシューマーノードは、ノードネットワーク内の別のノード（Ｂ．）への要求によって応答する。これは次のステップを実行することによって行われる。
ステップ１：入力マネージャ（ＩＭ）は他のノード（Ａ．）に接続できない
ステップ２：ＩＭはノードネットワーク内の他のＩＰアドレスをルーターロジック（Ｒ              Ｌ）に問い合わせる
ステップ３：ルーターロジック（ＲＬ）は別のノード（Ｂ．）のＩＰアドレスを返信する
ステップ４：ＩＭは別のノード（Ｂ．）に接続要求を送信する
図１５は、概要として、アクティブなコンシューマーノード（ＣＮ）内の様々な処理の流れを示している。それは、コンシューマーノードの様々な部品がどんな方法で相互に接続されているかを示している。
【０１１５】
すべての例における、本発明による装置は、データネットワークからコンテンツを自主的に探索し、送信側を介することなく本発明による他の装置にそれを送信することができる。さらに、各装置は、より良好な接続が手の届くところにあるかどうかをテストし、前記接続を使用するべきかどうか完全に独立して選択することができる。
【０１１６】
上記の説明は、好ましい実施形態の動作を説明するために含まれているものであり、本発明の範囲を限定するのを意味していないことが理解されるべきである。本発明の範囲は請求範囲によってのみ限定される。上記の説明から、本発明の要求および範囲によって多くの変形例が含まれるが当業者には明らかであろう。
【図面の簡単な説明】
【０１１７】
【図１】上記に説明したベースノードを示す。
【図２Ａ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｂ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｃ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｄ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｅ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｆ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｇ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｈ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｉ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｊ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｋ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｌ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｍ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｎ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｏ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｐ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図２Ｑ】本発明による有機的なネットワークを開始および維持する際の種々の連続的な段階を示す。
【図３Ａ】携帯電話通信に適用された本発明による装置を示す。
【図３Ｂ】携帯電話通信に適用された本発明による装置を示す。
【図３Ｃ】携帯電話通信に適用された本発明による装置を示す。
【図３Ｄ】携帯電話通信に適用された本発明による装置を示す。
【図３Ｅ】携帯電話通信に適用された本発明による装置を示す。
【図３Ｆ】携帯電話通信に適用された本発明による装置を示す。
【図３Ｇ】携帯電話通信に適用された本発明による装置を示す。
【図３Ｈ】携帯電話通信に適用された本発明による装置を示す。
【図３Ｉ】携帯電話通信に適用された本発明による装置を示す。
【図３Ｊ】携帯電話通信に適用された本発明による装置を示す。
【図３Ｋ】携帯電話通信に適用された本発明による装置を示す。
【図３Ｌ】携帯電話通信に適用された本発明による装置を示す。
【図４Ａ】交通情報システムに適用された本発明による装置を示す。
【図４Ｂ】交通情報システムに適用された本発明による装置を示す。
【図４Ｃ】交通情報システムに適用された本発明による装置を示す。
【図４Ｄ】交通情報システムに適用された本発明による装置を示す。
【図４Ｅ】交通情報システムに適用された本発明による装置を示す。
【図５Ａ】テレビジョンのケーブルネットワークに適用された本発明による装置を示す。
【図５Ｂ】テレビジョンのケーブルネットワークに適用された本発明による装置を示す。
【図５Ｃ】テレビジョンのケーブルネットワークに適用された本発明による装置を示す。
【図５Ｄ】テレビジョンのケーブルネットワークに適用された本発明による装置を示す。
【図５Ｅ】テレビジョンのケーブルネットワークに適用された本発明による装置を示す。
【図６Ａ】本発明による装置を有するノードを備えたネットワークによる、いくつかのデータパッケージにおけるコンテンツの送信を示す。
【図６Ｂ】本発明による装置を有するノードを備えたネットワークによる、いくつかのデータパッケージにおけるコンテンツの送信を示す。
【図６Ｃ】本発明による装置を有するノードを備えたネットワークによる、いくつかのデータパッケージにおけるコンテンツの送信を示す。
【図６Ｄ】本発明による装置を有するノードを備えたネットワークによる、いくつかのデータパッケージにおけるコンテンツの送信を示す。
【図６Ｅ】本発明による装置を有するノードを備えたネットワークによる、いくつかのデータパッケージにおけるコンテンツの送信を示す。
【図６Ｆ】本発明による装置を有するノードを備えたネットワークによる、いくつかのデータパッケージにおけるコンテンツの送信を示す。
【図６Ｇ】本発明による装置を有するノードを備えたネットワークによる、いくつかのデータパッケージにおけるコンテンツの送信を示す。
【図６Ｈ】本発明による装置を有するノードを備えたネットワークによる、いくつかのデータパッケージにおけるコンテンツの送信を示す。
【図６Ｉ】本発明による装置を有するノードを備えたネットワークによる、いくつかのデータパッケージにおけるコンテンツの送信を示す。
【図６Ｊ】本発明による装置を有するノードを備えたネットワークにおいて、いくつかのデータパッケージにおけるコンテンツの送信を示す。
【図７】本発明の特定の実施形態における本発明によるデータストリームを示す。
【図８】本発明の特定の実施形態における本発明によるデータストリームを示す。
【図９】本発明の特定の実施形態における本発明によるデータストリームを示す。
【図１０】本発明の特定の実施形態における本発明によるデータストリームを示す。
【図１１】本発明の特定の実施形態における本発明によるデータストリームを示す。
【図１２】本発明の特定の実施形態における本発明によるデータストリームを示す。
【図１３】本発明の特定の実施形態における本発明によるデータストリームを示す。
【図１４】本発明の特定の実施形態における本発明によるデータストリームを示す。
【図１５】本発明の特定の実施形態における本発明によるデータストリームを示す。図７から１１は、生成ノード側に何が発生するかを示し、図１２から１５は、コンシューマーノード側に何が発生するかを示す。
【図１】
0004525961.tif 000002
【図２Ａ】
0004525961.tif 000003
【図２Ｂ】
0004525961.tif 000004
【図２Ｃ】
0004525961.tif 000005
【図２Ｄ】
0004525961.tif 000006
【図２Ｅ】
0004525961.tif 000007
【図２Ｆ】
0004525961.tif 000008
【図２Ｇ】
0004525961.tif 000009
【図２Ｈ】
0004525961.tif 000010
【図２Ｉ】
0004525961.tif 000011
【図２Ｊ】
0004525961.tif 000012
【図２Ｋ】
0004525961.tif 000013
【図２Ｌ】
0004525961.tif 000014
【図２Ｍ】
0004525961.tif 000015
【図２Ｎ】
0004525961.tif 000016
【図２Ｏ】
0004525961.tif 000017
【図２Ｐ】
0004525961.tif 000018
【図２Ｑ】
0004525961.tif 000019
【図３Ａ】
0004525961.tif 000020
【図３Ｂ】
0004525961.tif 000021
【図３Ｃ】
0004525961.tif 000022
【図３Ｄ】
0004525961.tif 000023
【図３Ｅ】
0004525961.tif 000024
【図３Ｆ】
0004525961.tif 000025
【図３Ｇ】
0004525961.tif 000026
【図３Ｈ】
0004525961.tif 000027
【図３Ｉ】
0004525961.tif 000028
【図３Ｊ】
0004525961.tif 000029
【図３Ｋ】
0004525961.tif 000030
【図３Ｌ】
0004525961.tif 000031
【図４Ａ】
0004525961.tif 000032
【図４Ｂ】
0004525961.tif 000033
【図４Ｃ】
0004525961.tif 000034
【図４Ｄ】
0004525961.tif 000035
【図４Ｅ】
0004525961.tif 000036
【図５Ａ】
0004525961.tif 000037
【図５Ｂ】
0004525961.tif 000038
【図５Ｃ】
0004525961.tif 000039
【図５Ｄ】
0004525961.tif 000040
【図５Ｅ】
0004525961.tif 000041
【図６Ａ】
0004525961.tif 000042
【図６Ｂ】
0004525961.tif 000043
【図６Ｃ】
0004525961.tif 000044
【図６Ｄ】
0004525961.tif 000045
【図６Ｅ】
0004525961.tif 000046
【図６Ｆ】
0004525961.tif 000047
【図６Ｇ】
0004525961.tif 000048
【図６Ｈ】
0004525961.tif 000049
【図６Ｉ】
0004525961.tif 000050
【図６Ｊ】
0004525961.tif 000051
【図７】
0004525961.tif 000052
【図８】
0004525961.tif 000053
【図９】
0004525961.tif 000054
【図１０】
0004525961.tif 000055
【図１１】
0004525961.tif 000056
【図１２】
0004525961.tif 000057
【図１３】
0004525961.tif 000058
【図１４】
0004525961.tif 000059
【図１５】
0004525961.tif 000060