JP2013534669A - コンピュータ・ネットワークにおいてデータを送信するための方法、システム、サーバ、デバイス、コンピュータ・プログラム、およびコンピュータ・プログラム製品 - Google Patents

コンピュータ・ネットワークにおいてデータを送信するための方法、システム、サーバ、デバイス、コンピュータ・プログラム、およびコンピュータ・プログラム製品 Download PDF

Info

Publication number
JP2013534669A
JP2013534669A JP2013515783A JP2013515783A JP2013534669A JP 2013534669 A JP2013534669 A JP 2013534669A JP 2013515783 A JP2013515783 A JP 2013515783A JP 2013515783 A JP2013515783 A JP 2013515783A JP 2013534669 A JP2013534669 A JP 2013534669A
Authority
JP
Japan
Prior art keywords
data
computer program
computer
predetermined
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013515783A
Other languages
English (en)
Other versions
JP5805183B2 (ja
Inventor
バウワー,マルクス
ケスラー,マルクス
オベール,カーステン
シーネル,ヨーガン
Original Assignee
アルカテル−ルーセント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2013534669A publication Critical patent/JP2013534669A/ja
Application granted granted Critical
Publication of JP5805183B2 publication Critical patent/JP5805183B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本発明は、コンピュータ・ネットワークにおいてデータ・リンクを経由してデータを送信するための方法に関し、そこでは前記データ・リンクのセクションのエンドポイントにおけるデバイスが、前記コンピュータ・ネットワークのデバイスから選択され(203)、前記データを処理するようになっているコンピュータ・プログラムが、前記デバイスに対して転送され(204)、また前記データは、前記コンピュータ・プログラムを実行することにより、前記デバイスによって処理される(206)。

Description

本発明は、コンピュータ・ネットワークにおいてデータを送信するための方法、システム、サーバ、デバイス、コンピュータ・プログラム、およびコンピュータ・プログラム製品に関する。
既存のコンピュータ・ネットワークにおいては、よく知られている高等研究計画局ネットワーク(Advanced Research Projects Agency Network)(ARPANET)と同様に、オペレータは、コンピュータ・ネットワークのどのコンポーネントの上でどのアプリケーションを実行するべきかを決定する。一般的に、全部のアプリケーションが、1台のサーバの上に、または1つのデータ・センターの中に置かれる。
代わりに、アプリケーションの一部分は、マルチ・コア・システムにおける異なるプロセッサの上で実行されることが可能である。この場合には、測定および制御のアプリケーションは、どのアプリケーションのどの部分が、どのプロセッサの上で実行するべきかを決定する。
アプリケーションは、コンピュータ上で実行されるコンピュータ・プログラムから構成される。前記コンピュータ・プログラムは、例えば、前記コンピュータ上のストレージに記憶される。
代わりに、アプリケーションは、互いに相互作用してそれぞれのアプリケーションのタスクを実行する複数のコンピュータ・プログラムから構成されることが可能である。前記複数のコンピュータ・プログラムは、複数の不揮発性ストレージに、例えば、コンピュータ・ネットワークの一部分であるクライアントまたはサーバに記憶されることが可能である。
単一のアプリケーションに属するコンピュータ・プログラムのための分散されたストレージ・ロケーションの場合には、以下の2つのシナリオが、現在知られている。
第1のシナリオにおいては、クライアント・コンピュータは、前記コンピュータ・ネットワークにおける1つまたはいくつかのサーバからの前記アプリケーションの一部分、または全体的な前記アプリケーションに類似している前記コンピュータ・プログラムを受信し、またそれらを実行する。このシナリオにおいては、前記クライアント・コンピュータによって受信される前記コンピュータ・プログラムのフォーマットが、前記クライアント・コンピュータによって認識される場合、前記アプリケーションの前記部分は、前記クライアント・コンピュータ上で実行されることが可能であるだけである。その目標を達成するために、例えば、前記クライアント・コンピュータは、認識されたコンピュータ・プログラム、または許可されたコンピュータ・プログラムのテーブルを備えており、また前記テーブルの上にリストアップされていないコンピュータ・プログラムを実行することを拒絶する。
第2のシナリオにおいては、前記アプリケーションの第1の部分は、例えば、第1のコンピュータ・プログラムは、前記クライアント・コンピュータに記憶され、また前記クライアント・コンピュータによって実行される。前記アプリケーションの1つまたは複数のさらなる部分は、例えば、1つまたはいくつかの第2のコンピュータ・プログラムは、前記クライアント・コンピュータからの要求のすぐ後に、1つまたはいくつかのサーバの上で実行される。例えば、前記1つまたはいくつかサーバに記憶される1つまたはいくつかのコンピュータ・プログラムは、それらを記憶するサーバの上で実行される。前記アプリケーションの異なる部分の相互作用は、データ転送を必要とする。転送されたデータの前記データ・フォーマットが、それぞれのアプリケーション、または前記アプリケーションの一部分によって知られている場合に、データ転送が、可能であるにすぎない。その目標を達成するために、例えば、アプリケーション、または前記アプリケーションの一部分は、データの認識されたフォーマットまたは許可されたフォーマットのテーブルを備えており、また前記テーブルにリストアップされていないデータを処理することを拒絶する。
コンピュータ・プログラムに追加して、コンピュータ・プログラムによって処理されるデータも、コンピュータ・ネットワークにおける単一のストレージに、またはいくつかのストレージに記憶されることが可能である。この場合には、データは、上記で説明されたシナリオと同様に取り扱われる。
どのような場合にも、アプリケーションの一部分、すなわちコンピュータ・プログラムについてのストレージ・ロケーションと、アプリケーションによって処理されるデータ、ならびに転送およびストレージのためのデータ・フォーマットとは、すべてのアプリケーション、またはアプリケーションの一部分によって、例えば静的に、先行して知られる必要があり、または前記アプリケーションと、前記アプリケーションの一部分との間で、動的に通信される必要がある。
知られていない可能性のあるフォーマットによって課される制約条件を克服するために、一般的に、アプリケーション、またはアプリケーションの一部分は、できる限り多くの異なるフォーマットについてのサポートを備えるか、または非常に限られた数のフォーマットをサポートするだけかのいずれかである。
現在のコンピュータ・ネットワークにおいては、ストレージ・ロケーションも、データ・フォーマットも、リアルタイムでネットワーク環境に合わせて、例えば使用可能な帯域幅またはコンピューティング容量に合わせて調整されることが可能ではない。これは、現在のコンピュータ・ネットワークの柔軟性を制限している。
ISO/IEC 14496−12 ISO/IEC 14496−14
したがって、本発明の目的は、データ・フローに関するコンピュータ・ネットワークの柔軟性を増大させることである。
この文脈におけるデータ・フローは、データが、前記コンピュータ・ネットワークにおいて送信されることを意味している。
本発明の主要なアイデアは、コンピュータ・ネットワークにおいてデータ・リンクを経由してデータを送信することであり、そこでは、前記データ・リンクのセクションのエンドポイントにおけるデバイスは、前記コンピュータ・ネットワークのデバイスから選択され、前記データを処理するようになっている、とりわけあらかじめ決定されたデータ・フォーマットで前記データを送信するようになっているコンピュータ・プログラムは、前記デバイスに転送され、また前記データは、前記コンピュータ・プログラムを実行することにより、前記デバイスによって処理され、とりわけ前記あらかじめ決定されたデータ・フォーマットで送信される。このようにして、アプリケーション、すなわちコンピュータ・プログラムは、前記アプリケーションに対して前記データを送信する代わりに、前記コンピュータ・ネットワークにおいて前記データを処理するために最も適切なデバイスへと移動される。
有利には、前記セクションを経由して前記データを送信するためのデータ・フォーマットは、前記コンピュータ・ネットワークについての情報に応じて、とりわけ前記デバイスについての毎秒当たりの使用可能なコンピューティング・サイクル、データ・リンクの帯域幅、レイテンシー、またはコストに応じて、あらかじめ決定されたデータ・フォーマットから、とりわけサーバによって、選択され、前記コンピュータ・プログラムは、前記データ・フォーマットで前記データを送信するようになっており、また前記データは、前記デバイス上で前記コンピュータ・プログラムを実行することにより前記データ・フォーマットで送信される。このようにして、前記データを送信するための最も適切なデータ・フォーマットは、使用され、また前記データ・フォーマットを生成するコンピュータ・プログラムは、コンピュータ・ネットワークにおける最も適切なロケーションへと移動される。これは、前記データの前記処理が、前記コンピュータ・ネットワークにおける前記データ・フローの管理に基づいて前記コンピュータ・ネットワーク全体を通して分散されることを意味する。
有利には、前記コンピュータ・プログラムは、前記コンピュータ・ネットワークについての情報に応じて、とりわけ前記デバイスの毎秒当たりの使用可能なコンピューティング・サイクル、データ・リンクの帯域幅、レイテンシー、またはコストに応じて、とりわけサーバにより、あらかじめ決定されたコンピュータ・プログラムから選択される。このようにして、最も適切なコンピュータ・プログラムは、選択される。
有利には、前記デバイスは、前記コンピュータ・ネットワークについての情報に応じて、とりわけ前記デバイスの毎秒当たりの使用可能なコンピューティング・サイクル、データ・リンクの帯域幅、レイテンシー、またはコストに応じて、とりわけサーバによって選択される。このようにして、最も適切なデバイスは、選択される。
有利には、あらかじめ決定された条件が満たされる場合に、前記コンピュータ・プログラムは、とりわけストレージから、前記デバイスへと転送され、前記コンピュータ・プログラムの実行は、とりわけ前記転送の完了のすぐ後に、前記デバイス上で開始され、前記データは、前記コンピュータ・プログラムによって決定され、また前記データは、前記デバイスから送信される。
有利には、前記データは、あらかじめ決定された第1のデータ・フォーマットで前記デバイスに対して送信され、前記データは、あらかじめ決定された第2のデータ・フォーマットで前記デバイスから送信され、また前記コンピュータ・プログラムは、前記あらかじめ決定された第1のデータ・フォーマットで前記データを受信するようになっており、また前記あらかじめ決定された第2のデータ・フォーマットにおいて前記データを決定するようになっている。このようにして、データ・フォーマットは、コンピュータ・ネットワーク・ステータスに応じて柔軟に変更される。
有利には、前記デバイスまたは前記コンピュータ・プログラムは、前記データについての情報に応じて選択される。このようにして、前記データを処理するために、または送信するために最も適切なデバイスまたはコンピュータ・プログラムが、選択される。
本発明のさらなる発展形態は、従属請求項と、以下の説明とから収集されることが可能である。
以下では、本発明は、さらに添付の図面を参照して説明されることになる。
コンピュータ・ネットワークの第1の部分を概略的に示す図である。 第1の方法によるいくつかの典型的なステップを示すフロー・チャートを概略的に示す図である。 コンピュータ・ネットワークの第2の部分を概略的に示す図である。 第2の方法によるいくつかの典型的なステップを示すフロー・チャートを概略的に示す図である。
以下の例についての目標は、データ・フローに関するコンピュータ・ネットワークの柔軟性を増大させることである。
前記例においては、広域コンピュータ・ネットワークにおけるデータ・ストリームの伝送が、説明される。前記例は、前記広域コンピュータ・ネットワークと、前記データ・ストリームとに焦点を当てているが、本発明はまた、他の任意のタイプのデータまたはコンピュータ・ネットワークに対して適用されることも可能である。
データの伝送、またはデータを伝送することは、例えば、電子的に送信する任意の形態、および前記データを受信する任意の形態を意味している。
前記広域コンピュータ・ネットワークにおけるコンピュータは、例えば、プロセッサと、不揮発性ストレージと、揮発性ストレージと、ネットワーク・インターフェースと、前記コンピュータの上記の部分を接続するデータ・バスとを備える。前記コンピュータは、前記不揮発性ストレージに記憶されるオペレーティング・システムをさらに備える。
データ・ストリームは、1つまたは複数のソースにおいて生成され、また前記データ・ストリームに含まれるデータを消費し、または処理する1つまたは複数の受信側に配信される定義されたデータ・フォーマットのデジタル的に符号化された信号の連続したシーケンスである。例えば、前記データ・ストリームは、前記1つまたは複数のソースによって送信されるデータ・セットのシーケンスを備える。前記データ・ストリームは、任意のデータ・フォーマットのデータ・セットから構成されることが可能である。
データ・フローは、前記データ、または前記データ・ストリームが、1つまたは複数のデータ・リンクを経由して、前記1つまたは複数のソースから前記1つまたは複数の受信側へと送信されることを意味している。
データ・セットの前記シーケンスのうちのデータ・セットは、処理装置、例えば前記コンピュータの前記プロセッサが、有用なオペレーションを実行することを可能にするデータ・フォーマットによるデータのアトミックなアイテム(atomic item)である。
前記データ・セットは、例えば、あらかじめ決定されたデータ・フォーマットに応じて構造化されるビット・シーケンスである。前記データ・フォーマットは、例えば、前記データ・セットの内部のヘッダの、またペイロード・データの位置と長さとを説明している。前記ヘッダは、例えば、前記1つまたは複数の受信側についての情報、前記データ・ストリームの中の前記データ・セットの位置、または前記ペイロード・データ・セクションの位置および長さを含んでいる。前記データ・セットは、固定された長さ、または柔軟な長さのものとすることができる。
単一のソース、例えば、サーバ110と、単一のレシーバ、例えば、第1のクライアント・コンピュータ101とを使用した第1の例が、以下で図1を参照して説明される。図1は、前記広域コンピュータ・ネットワーク100の第1の部分を示すものである。
前記第1のクライアント・コンピュータ101は、例えば、ディスプレイを有するコンピュータである。
前記広域コンピュータ・ネットワーク100の前記第1の部分は、前記第1のクライアント・コンピュータ101と、第1のネットワーク・ノード121と、第2のネットワーク・ノード122と、前記サーバ110とを備える。
前記クライアント・コンピュータ101と、前記サーバ110とは、第1のデータ・リンクを経由して接続される。前記第1のデータ・リンクは、セクションから成る。前記セクションの複数のエンドポイントは、複数のデバイスであり、例えば、前記サーバ110、前記第1のクライアント・コンピュータ101、前記第1のネットワーク・ノード121、または前記第2のネットワーク・ノード122である。前記第1のデータ・リンクの前記セクションは、前記複数のデバイスの間の接続、例えば、それらを動作させるためのそれぞれの電子回路を含む光ファイバ、ワイヤレス・リンク、または銅線である。前記データは、伝送プロトコルを、例えば、よく知られている伝送制御プロトコル(Transmission Control Protocol)/インターネット・プロトコル(Internet Protocol)(TCP/IP)を使用して前記第1のデータ・リンクを経由して送信される。例えば、ユーザ・データグラム・プロトコル(User Datagram Protocol)(UDP)規格、イーサネット規格、またはIEEE802.11規格による他の任意のタイプの有線またはワイヤレスのデータ・リンクが、同様に使用されることも可能である。
前記第1のネットワーク・ノード121、前記第2のネットワーク・ノード122、前記サーバ110、または前記第1のクライアント・コンピュータ101は、互いに直接に、または間接的に接続されることが可能である。
前記第1の例によれば、前記データ・ストリームを送信するために、前記データ・セットは、前記サーバ110から前記第1のクライアント・コンピュータ101へと送信される。その目標を達成するために、前記ヘッダは、例えば、前記第1のクライアント・コンピュータ101のインターネット・プロトコル・アドレスを含んでいる。
前記サーバ110は、例えば、前記インターネット・プロトコル・アドレスを使用して前記広域コンピュータ・ネットワーク100を経由して前記第1のクライアント・コンピュータ101に対して前記データ・セットを送信するようになっているマイクロプロセッサとネットワーク・インターフェースとを備える、前記ペイロード・データを取り込むためのデジタル・ビデオ・カメラである。
前記サーバ110はまた、ストレージを備えており、また前記ストレージから前記ペイロード・データを読み取るようになっていることも可能である。
前記サーバ110は、第1のアプリケーションを、例えば、第1のコンピュータ・プログラムを実行するようになっている。例えば、前記デジタル・ビデオ・カメラの中の前記マイクロプロセッサは、前記第1のコンピュータ・プログラムを実行するようになっている。
実行されるときに前記第1のコンピュータ・プログラムは、あらかじめ決定された第1のデータ・フォーマットで、前記データ・ストリームを、すなわち、前記データ・セットの前記シーケンスを送信する。
前記データ・ストリームの内容は、例えば、デジタル・ビデオ・フォーマット(DVとしてよく知られている)における、例えば、(生の)ビデオ・データである。デジタル・ビデオ・フォーマットは、リアルタイムで損失−耐性のあるビデオ圧縮を使用するが、ビデオは、前記デジタル・ビデオ・カメラによって記録される。前記データ・ストリームの前記あらかじめ決定された第1のデータ・フォーマットは、例えば、各データ・セットにおいてデジタル・ビデオ・フォーマットにおける前記ビデオの第1の単一のピクチャ(フレーム)をペイロード・データとして含むように定義される。
前記データ・セットは、次いで前記第1のネットワーク・ノード121または前記第2のネットワーク・ノード122を経由して、前記第1のクライアント・コンピュータ101に対して送信される前記伝送制御プロトコル/インターネット・プロトコル(TCP/IP)または前記ユーザ・データグラム・プロトコル(UDP)に応じて、複数のデータ・パケットへと分割されることが可能である。この場合に、前記第1のクライアント・コンピュータ101は、前記伝送制御プロトコル/インターネット・プロトコル(TCP/IP)または前記ユーザ・データグラム・プロトコル(UDP)に応じて、前記複数のデータ・パケットを受信するように、また前記複数のデータ・パケットから前記データ・セットを再現するために前記複数のデータ・パケットを結合するようになっている。
前記第1のクライアント・コンピュータ101は、第2のアプリケーションを、例えば、第2のコンピュータ・プログラムを実行するようになっている。例えば、前記クライアント・コンピュータ101の中の前記プロセッサは、前記第2のコンピュータ・プログラムを実行するようになっている。
実行されるときに前記第2のコンピュータ・プログラムは、あらかじめ決定された第2のデータ・フォーマットで、前記データ・ストリームを、すなわち前記データ・セットの前記シーケンスを処理する。前記第2のデータ・フォーマットは、例えば、下記ではmp4フォーマットと称される、ISO/IEC 14496−12およびISO/IEC 14496−14によるmp4コンテナの中で提供されるMPEG−4ビデオである。
例えば、実行されるときに前記第2のコンピュータ・プログラムは、前記あらかじめ決定された第2のデータ・フォーマットで前記データ・セットのうちの1つを受信し、1つまたは複数の前記データ・セットのうちの前記ペイロード・データに応じて第2の単一のピクチャ(フレーム)を決定し、また前記ピクチャを前記ディスプレイの上で表示する。
前記デジタル・ビデオ・データ・フォーマットは、メモリ集約的である。それゆえに、デジタル・ビデオの、またはより一般的に任意のデータ集約的なデータ・ストリームは、前記広域コンピュータ・ネットワーク100全体を通して大量の帯域幅(すなわちトランスポート・リソース)と、処理リソースとを必要とする。
送信するために必要とされるデータの量を低減させるために、またそれゆえに使用される帯域幅を低減させるために、前記ビデオは、もっと圧縮されたデータ・フォーマットで送信されることが可能である。例えば、前記デジタル・ビデオ・フォーマットにおけるペイロード・データは、第3のアプリケーションを、例えば、第3のコンピュータ・プログラムを使用して圧縮されることが可能である。
前記第3のコンピュータ・プログラムは、例えば、ペイロード・データの量を低減させるコーダ(coder)、または任意のコンピュータ・プログラムである。前記第3のコンピュータ・プログラムは、例えば、入力から前記デジタル・ビデオ・フォーマットへの、ISO/IEC 14496−12およびISO/IEC 14496−14に応じて、すなわち前記mp4フォーマットに応じて、mp4コンテナの中で提供されるMPEG−4ビデオを決定するためのmp4コーダである。
前記第3のコンピュータ・プログラムの目的は、前記あらかじめ決定された第1のデータ・フォーマットにおける前記サーバ110において使用可能な前記データ・セットについての、前記第1のクライアント・コンピュータ101によって要求される前記あらかじめ決定された第2のデータ・フォーマットへの変換を提供することである。
そのような変換の他の例は、データ・エンコーダ、オブジェクト認識装置、(オーディオ)フィルタ、データ・コンバータ、ストレージなど、または上記の任意の組合せである。
前記アプリケーションまたはコンピュータ・プログラムは、例えば、前記デバイスが、例えば、前記サーバ110、前記第1のクライアント・コンピュータ101、前記第2のクライアント・コンピュータ102、前記第1のネットワーク・ノード121、または前記第2のネットワーク・ノード122が、読み取り、または実行することができる任意のタイプの命令セットで表され、また記憶される。前記アプリケーションまたはコンピュータ・プログラムは、例えば、マシン・コード、バイナリ・コード、アセンブラ・コード、またはバイト・コードとして記憶される。
前記第1のネットワーク・ノード121、または前記第2のネットワーク・ノード122は、例えば、前記広域コンピュータ・ネットワーク100におけるゲートウェイである。
前記第1のネットワーク・ノード121、または前記第2のネットワーク・ノード122は、前記第3のアプリケーションを、例えば、前記第3のコンピュータ・プログラムを実行するようになっている。例えば、前記ネットワーク・ノード121、122の中のマイクロプロセッサは、前記第3のアプリケーションを実行するようになっている。
前記第3のコンピュータ・プログラムは、実行されるときに、前記あらかじめ決定された第1のデータ・フォーマットで、前記データ・ストリームを、すなわち前記データ・セットの前記シーケンスを受信し、また前記あらかじめ決定された第2のデータ・フォーマットにおいて、前記データ・ストリームを、すなわち前記データ・セットの前記シーケンスを決定する。例えば、前記第3のコンピュータ・プログラムは、前記あらかじめ決定された第1のデータ・フォーマットで、前記第1のネットワーク・ノード121または前記第2のネットワーク・ノード122の入力バッファから後続のデータ・セットを読み取り、前記あらかじめ決定された第2のデータ・フォーマットにおいて、前記データ・セットを決定し、また前記第1のネットワーク・ノード121または前記第2のネットワーク・ノード122の出力バッファに前記あらかじめ決定された第2のデータ・フォーマットで後続のデータ・セットを記憶する。
代わりにまたは追加して、前記第3のコンピュータ・プログラムは、前記あらかじめ決定された第1のデータ・フォーマットにおける1つまたは複数の前記データ・セットに応じて、前記あらかじめ決定された第2のデータ・フォーマットにおいて1つまたは複数の前記データ・セットを決定するようになっている。
前記サーバ110または前記第1のクライアント101は、同様に前記第3のアプリケーションを、例えば、前記第3のコンピュータ・プログラムを実行するようになっている可能性がある。この場合には、前記第1のクライアント・コンピュータ101または前記サーバ110は、前記入力バッファと前記出力バッファとを備える。
さらに、前記第1のクライアント・コンピュータ101は、前記あらかじめ決定された第2のデータ・フォーマットで前記データ・ストリームを受信する要求を前記サーバ110に対して送信するようになっている。例えば、前記第1のクライアント101は、前記サーバ110の前記インターネット・プロトコル・アドレスを使用して、第1のメッセージ、すなわち要求を前記サーバ110に対して送信するようになっている。前記第1のメッセージは、例えば、前記データ・ストリームのmp4フォーマットを受信する要求を含むハイパー・テキスト・トランスポート・プロトコル(Hyper Text Transport Protocol)(HTTP)メッセージGETである。
さらに、前記サーバ110は、前記要求を、例えば、前記第1のメッセージを受信するようになっており、また例えば、前記第1のメッセージの受信のすぐ後に、前記あらかじめ決定されたコンピュータ・プログラムから前記第3のコンピュータ・プログラムを、または前記広域コンピュータ・ネットワーク100のデバイスから前記第1のデータ・リンクのセクションのエンドポイントにおけるデバイスを選択するようになっている。
前記デバイスは、例えば、前記広域コンピュータ・ネットワーク100の管理者によって生成されたあらかじめ決定されたデバイスのリストから選択され、またそれぞれのデバイスのインターネット・プロトコル・アドレスに関連するデータ・ベースに前記サーバ110の上で記憶される。
代わりに、前記広域コンピュータ・ネットワーク100において使用可能なデバイスを要求するブロードキャスト・メッセージと、前記デバイスの対応する応答とが、使用されることも可能である。その場合には、前記デバイスと、前記サーバ110とは、適切なメッセージを送信するように、また受信するようになっている。
前記デバイスまたは前記第3のコンピュータ・プログラムは、例えば、使用可能なデバイスと、前記広域コンピュータ・ネットワーク100における前記第1のデータ・リンクのセクションを形成するために適している前記複数のデバイスの間の接続との監視に基づいて選択される。例えば、前記デバイス、または前記第3のコンピュータ・プログラムを選択するためのルールは、前記広域コンピュータ・ネットワーク100のオペレータによって定義され、また前記サーバ110の上で知識ベースに記憶される。例えば、エキスパート・システム、すなわち、前記監視の前記ルールおよび結果を処理するソフトウェアを使用して、前記デバイス、または前記第3のコンピュータ・プログラムを選択する。
前記広域コンピュータ・ネットワーク100を監視するための方法は、当業者にはよく知られており、またここではさらに説明してはいない。
例えば、前記データ・ベースは、さらに、前記広域コンピュータ・ネットワーク100の前記あらかじめ決定されたデバイス、または前記あらかじめ決定されたコンピュータ・プログラムについての仕様を含んでいる。前記仕様を使用して、前記あらかじめ決定されたデバイス、またはあらかじめ決定されたコンピュータ・プログラムの使用可能性と、それらのそれぞれの機能とについての情報を決定することができる。
さらに、前記広域コンピュータ・ネットワーク100における前記第1のデータ・リンクのセクションであることに適したデバイスまたは接続についてのリアルタイム・ステータス情報が、使用されることが可能である。前記リアルタイム・ステータス情報は、例えば、アルカテル・ルーセント5670報告分析マネージャ(Alcatel−Lucent 5670 Reporting and Analysis Manager)のようなネットワーク・デバイス管理ツールによって収集され、またあらかじめ決定された時点における報告メッセージの形で前記サーバ110に対して送信される。この情報に基づいて、適切な処理リソースは、すなわち、前記広域コンピュータ・ネットワーク100におけるデバイスは、前記第3のコンピュータ・プログラムを実行するために選択される。
前記第1のデータ・リンクのセクションを形成するのに適したデバイスの間の接続は、例えば、それらを動作させるための前記電子回路を含む前記光ファイバ、前記ワイヤレス・リンク、または前記銅線のようなトランスポート・リソースは、前記第1のデータ・リンクの前記セクション、または前記デバイスが、前記第1のコンピュータ・プログラム、前記第2のコンピュータ・プログラム、または前記第3のコンピュータ・プログラムの間で必要とされるデータの交換をサポートすることができることを保証するように前記デバイスまたは前記第3のコンピュータ・プログラムを選択するときに、考慮に入れられることが可能である。
前記第1のデータ・リンクは、例えば、使用可能なデバイスと、前記広域コンピュータ・ネットワーク100における前記第1のデータ・リンクのセクションを形成するのに適切である、デバイスの間の接続とを記述するルーティング・テーブルにおいて第1のエントリを調べることにより、前記サーバ110によって最初に決定される。前記ルーティング・テーブルは、例えば、前記サーバ110に記憶される。代わりにまたは追加して、前記第1のデータ・リンクのセクションを形成するのに適した前記接続は、よく知られているアドレス決定プロトコル(Address Resolution Protocol)(ARP)のような他の方法を使用して最初に選択されることが可能である。この場合には、前記ルーティングについての情報は、前記広域コンピュータ・ネットワークの中の任意のデバイスに記憶されることが可能である。
さらに、前記第1のデータ・リンクは、例えば、デバイスまたはアプリケーション、例えば、コンピュータ・プログラムを置換することにより、または最初には前記第1のデータ・リンクの一部分ではなかったデバイスまたはアプリケーションを追加することにより変更されることが可能である。前記第1のデータ・リンクは、例えば、前記アプリケーションまたはデバイスが最初にセットアップされるときに、例えば、十分なトランスポート容量が、最初に選択されたデータ・リンクの上で使用可能でない場合に、リアルタイムで、変更される。
さらに、新しいデバイス、またはアプリケーション、例えば、コンピュータ・プログラムの、置換、または前記第1のデータ・リンクへの導入は、前記データの伝送中にリアルタイムに適用されて、例えば、前記デバイス、前記第1のデータ・リンクの前記セクション、または前記第1のデータ・リンクのセクションを形成するのに適した前記接続の利用パターンを変更することに反応することができる。
前記サーバ110は、前記あらかじめ決定されたアプリケーションから、例えば、前記あらかじめ決定されたコンピュータ・プログラムから、前記第3のアプリケーションを、例えば、前記第3のコンピュータ・プログラムを選択するようになっている。前記第3のコンピュータ・プログラムは、例えば、前記データまたは前記広域コンピュータ・ネットワーク100についての情報に応じて前記サーバ110によって選択される。前記広域コンピュータ・ネットワークについての情報は、例えば、前記第3のアプリケーションを実行するための前記デバイス上で使用可能な毎秒当たりの前記コンピューティング・サイクル、前記第1のデータ・リンクの帯域幅、または前記データ・リンクのセクションを形成するのに適した前記接続の帯域幅、レイテンシー、またはコストである。
前記コストは、例えば、前記広域コンピュータ・ネットワーク100における、前記あらかじめ決定されたデバイスについての、または前記接続についてのエネルギー消費コスト、メンテナンス・コストまたはリース・コストである。
例えば、前記サーバ110は、ISO/IEC 14496−12およびISO/IEC 14496−14によるmp4コンテナにおいて、すなわち、前記mp4フォーマットで提供されるMPEG−4ビデオとして前記データ・ストリームを受信する前記要求の受信のすぐ後に前記mp4コーダを選択するようになっている。
さらに、前記サーバ110は、例えば、前記ハイパー・テキスト・トランスポート・プロトコル(HTTP)を使用して、前記第3のアプリケーションを、例えば、前記第3のコンピュータ・プログラムを前記デバイスへと転送するようになっている。例えば、前記サーバ110は、前記第3のコンピュータ・プログラムを含む、第2のメッセージ、PUTを送信する。
前記第3のアプリケーション、例えば、前記第3のコンピュータ・プログラムの転送、または前記第3のアプリケーション、例えば、前記コンピュータ・プログラムについての転送することは、例えば、前記第3のアプリケーション、例えば、前記第3のコンピュータ・プログラムを前記デバイスに対して電子的に送信する任意の形態を意味する。例えば、転送することは、前記広域コンピュータ・ネットワーク100におけるそのストレージ・ロケーションから前記デバイスに対して前記マシン・コード、前記バイト・コード、または前記アセンブラ・コードを送信することを意味する。
前記あらかじめ決定されたデバイスは、例えば、前記サーバ110、前記第1のクライアント・コンピュータ101、前記第1のネットワーク・ノード121、または前記第2のネットワーク・ノード122である。
前記あらかじめ決定されたデバイスは、前記広域コンピュータ・ネットワーク100の一部分である他の任意のデバイスを含むこともできる。
前記第3のコンピュータ・プログラムの前記デバイスへの転送についての完了を信号で伝えるために、前記デバイスは、前記サーバ110に対して第3のメッセージ、すなわち応答(Response)を送信するようになっている可能性がある。前記第3のメッセージは、例えば、ハイパー・テキスト・トランスポート・プロトコル・メッセージ200 OKである。
この場合に、前記サーバ110は、前記第3のメッセージを受信するようになっており、また前記第3のメッセージの受信のすぐ後に、前記あらかじめ決定された第1のデータ・フォーマットを使用して、前記データ・ストリームの後続のデータ・セットを前記デバイスに対して送信するようになっている可能性がある。前記サーバ110は、例えば、前記第3のメッセージの受信のすぐ後に、前記デジタル・ビデオ・フォーマットで前記データ・セットを前記デバイスに対して送信するようになっている。
前記データ・ストリームの前記サーバ110への伝送の終了を信号で伝えるために、前記第1のクライアント・コンピュータ101は、第4のメッセージ、すなわち要求(Request)を前記サーバ110に対して送信するようになっている可能性がある。前記第4のメッセージは、例えば、前記データ・ストリームの伝送を終了させる要求を含むハイパー・テキスト・トランスポート・プロトコル(HTTP)メッセージGETである。
この場合には、前記サーバ110は、前記第4のメッセージを受信するようになっており、また前記データ・ストリームの後続のデータ・セットを前記デバイスに対して送信することを停止するようになっている可能性がある。
さらに、前記サーバ110は、とりわけ前記第4のメッセージの受信のすぐ後に、第5のメッセージ、すなわち要求を前記デバイスに対して送信するようになっている可能性がある。前記第5のメッセージは、例えば、前記第3のアプリケーションを、例えば前記第3のコンピュータ・プログラムを前記デバイスから削除する要求を含むハイパー・テキスト・トランスポート・プロトコル(HTTP)メッセージDELETEである。
この場合には、前記デバイスは、前記第1の例においては前記第2のネットワーク・ノード122は、前記第5のメッセージを受信するようになっており、また前記第3のアプリケーション、例えば前記第3のコンピュータ・プログラムをそのストレージから削除するようになっている可能性がある。このようにして、前記デバイス上のストレージ容量は、前記第3のアプリケーションが、前記データ・ストリームを送信することが必要とされる限り、使用されるだけである。オプションとして、前記デバイスは、タイムアウト条件が満たされる場合に、前記第3のアプリケーションを削除するようになっている可能性がある。例えば、前記アプリケーションは、前記第3のアプリケーションの非アクティブ化についての1分後に前記デバイスによって前記デバイスから削除される。
さらにセキュリティを強化するために、追加のメッセージが、認証のために使用されることが可能である。例えば、セキュリティ保護されたハイパー・テキスト・トランスポート・プロトコル(Hyper Text Transfer Protocol Secure)(HTTPS)による秘密鍵と公開鍵との対を使用した非対称暗号化が、使用されることが可能である。
さらに、堅牢さを強化するために、追加のメッセージが、ステータスについて信号で伝えるために使用されることが可能である。例えば、ハイパー・テキスト・トランスポート・プロトコル(HTTP)ステータス・メッセージが、使用されることが可能である。
さらに、前記サーバ110は、あらかじめ決定された条件が満たされているかどうかを決定するようになっており、また前記あらかじめ決定された条件が満たされる場合に、前記第3のコンピュータ・プログラムを前記デバイスに対して転送するようになっている可能性がある。
前記あらかじめ決定された条件は、例えば、前記広域コンピュータ・ネットワーク100のステータスについてのあらかじめ決定されたしきい値との比較である。
例えば、前記サーバ110と、前記第1のクライアント・コンピュータ101との間の前記第1のデータ・リンクの中の前記デバイスについての毎秒当たりの現在使用可能なコンピューティング・サイクルの数は、監視され、またリアルタイムで、例えば10ミリオン命令/秒(Million Instructions per Second)(MIPS)の前記あらかじめ決定されたしきい値と比較される。
前記あらかじめ決定された条件は、この場合に、毎秒当たりの現在使用可能なコンピューティング・サイクルの前記数が、前記あらかじめ決定されたしきい値を下回る場合に、満たされる。
前記あらかじめ決定された条件は、レイテンシーと、前記広域コンピュータ・ネットワーク100のコストまたは伝送帯域幅と、対応する他のタイプのしきい値とのような他の任意の特性を考慮することもできる。
さらに、前記デバイスは、例えば、前記サーバ110、前記第1のクライアント・コンピュータ101、前記第1のネットワーク・ノード121、または前記第2のネットワーク・ノード122は、前記第3のコンピュータ・プログラムを受信するようになっており、前記コンピュータ・プログラムの前記デバイスへの転送の完了のすぐ後に、前記コンピュータ・プログラムの実行を開始するようになっており、また前記データを処理するようになっている。
これは、例えば、前記デバイスが、例えば、前記サーバ110、前記第1のクライアント・コンピュータ101、前記第1のネットワーク・ノード121、または前記第2のネットワーク・ノード122が、前記第3のコンピュータ・プログラムを実行することにより、前記あらかじめ決定された第1のデータ・フォーマットで前記データ・セットを受信するように、また前記あらかじめ決定された第2のデータ・フォーマットで、前記データ・セットを送信するようになっていることを意味する。
前記広域コンピュータ・ネットワーク100において前記第1のデータ・リンクを経由して前記データを送信するための第1の方法は、図2に示されるフロー・チャートを参照して下記で説明される。
前記第1の方法においては、前記第3のアプリケーション、例えば、前記第3のコンピュータ・プログラムと、その上で前記第3のアプリケーション、例えば前記第3のコンピュータ・プログラムが、展開され、また実行されて、前記第1のデータ・フォーマットと、前記第2のデータ・フォーマットとの間の適した変換を提供することができる前記デバイスとが、選択され、また前記デバイスへと転送される。
前記第1の方法においては、前記mp4コーダが、前記第2のネットワーク・ノード122の上の前記第1のデータ・リンクに導入されて、前記第1のクライアント・コンピュータ101が受け入れるフォーマットで前記データ・ストリームを提供する。
代わりに、前記mp4コーダが、前記第1のデータ・リンクに導入されて、前記データ・ストリームを送信する前の、または前記データ・ストリームの伝送のランタイム中の、前記第1のデータ・リンクのセクションの上の必要とされるトランスポート帯域幅を低減させることもできる。
前記第1の方法は、前記あらかじめ決定された第2のデータ・フォーマットで前記データ・ストリームを受信することを要求する前記第1のメッセージが、前記サーバ110によって受信されるときに、開始される。前記第1のメッセージは、例えば、前記mp4フォーマットで提供される前記MPEG−4ビデオの形で前記データ・ストリームを受信する前記要求を含んでいる。
その後に、ステップ200が、実行される。
前記ステップ200において、前記広域コンピュータ・ネットワーク100の前記セクションを経由して前記データを送信するための前記あらかじめ決定された第1のデータ・フォーマットが、あらかじめ決定されたデータ・フォーマットから、とりわけ前記サーバ110によって選択される。前記あらかじめ決定された第1のデータ・フォーマットは、例えば、前記データまたは前記広域コンピュータ・ネットワーク100についての情報に応じて、とりわけ前記デバイス上の毎秒当たりの前記使用可能なコンピューティング・サイクル、前記第1のデータ・リンクの帯域幅、前記第1のデータ・リンクの一部分を形成するのに適した前記接続の帯域幅、レイテンシー、またはコストに応じて、選択される。例えば、前記デジタル・ビデオ・フォーマットは、前記サーバ110が、前記デジタル・ビデオ・フォーマットを提供するための特定用途向け集積回路(Application Specific Integrated Circuit)(ASIC)を備えるので、前記あらかじめ決定された第1のデータ・フォーマットとして選択される。その後に、ステップ201が、実行される。
前記ステップ201において、テストが、前記あらかじめ決定された第1のデータ・フォーマットと、前記あらかじめ決定された第2のデータ・フォーマットとがマッチするかどうかを決定するために、実行される。前記あらかじめ決定された第1のデータ・フォーマットと、前記あらかじめ決定された第2のデータ・フォーマットとが、マッチするような場合には、ステップ220が、実行される。そうでなければ、ステップ202が、実行される。
前記ステップ220においては、データ・フォーマットは、マッチしている。それゆえに、どのような追加のプロセスも、必要とされない。この場合には、前記第1のアプリケーション、例えば、前記第1のコンピュータ・プログラムは、前記あらかじめ決定された第1のデータ・フォーマットで、前記データ・ストリームの前記データ・セットを決定し、また前記伝送制御プロトコル/インターネット・プロトコル(TCP/IP)または前記ユーザ・データグラム・プロトコル(UDP)を使用して前記第1のネットワーク・ノード121または前記第2のネットワーク・ノード122を経由して前記第1のクライアント・コンピュータ101に対してその前記データ・セットを送信する。その後に、ステップ221が、実行される。
前記ステップ221において、割り込み条件が決定される。前記割り込み条件が満たされない場合には、前記ステップ220は、前記データ・ストリームを送信し続けるように実行される。そうでなければ、前記第1の方法は、終了する。前記第1の方法は、例えば、前記受信側からの、例えば、前記第1のクライアント・コンピュータ101からの切り離し要求(disconnection request)が、前記サーバ110によって受信される任意の時に、終了する。前記切り離し要求は、例えば、前記第4のメッセージである。
前記ステップ202において、前記データ、例えば、前記第3のコンピュータ・プログラムを処理するようになっている前記第3のアプリケーションが、前記データ、または前記広域コンピュータ・ネットワーク100についての前記情報に応じて、前記あらかじめ決定されたアプリケーション、例えば、前記あらかじめ決定されたコンピュータ・プログラムから選択される。前記第3のコンピュータ・プログラムは、例えば、前記データまたは前記広域コンピュータ・ネットワーク100についての前記情報に応じて、前記サーバ110によって選択される。例えば、前記mp4コーダは、それが、前記あらかじめ決定された第1のデータ・フォーマット、例えば、デジタル・ビデオ・フォーマットにおける入力から前記あらかじめ決定された第2のデータ・フォーマット、例えば、前記mp4フォーマットを決定することができるので、選択される。その後に、ステップ203が、実行される。
前記ステップ203において、前記第1のデータ・リンクの前記セクションの前記エンドポイントにおける前記デバイスが、前記データまたは前記広域コンピュータ・ネットワーク100についての前記情報に応じて、前記広域コンピュータ・ネットワーク100のあらかじめ決定されたデバイスから選択される。前記広域コンピュータ・ネットワーク100の前記あらかじめ決定されたデバイスは、例えば、前記サーバ110、前記第1のクライアント・コンピュータ101、前記第1のネットワーク・ノード121、または前記第2のネットワーク・ノード122である。例えば、前記第2のネットワーク・ノード122は、前記第2のネットワーク・ノード122の上で使用可能な毎秒当たりのコンピューティング・サイクルの数が、前記第3のアプリケーションを実行するために十分であり、また前記サーバ110と、前記第2のネットワーク・ノード122との間の接続の帯域幅が、前記第1のデータ・リンクの前記セクションを形成するのに適している、例えば、前記デジタル・ビデオ・フォーマットで前記データ・セットを送信するために十分であるので、前記デバイスとして選択される。その後に、ステップ204が、実行される。
前記ステップ204において、前記第3のコンピュータ・プログラムは、前記デバイスに対して、例えば、前記サーバ110、前記第1のクライアント・コンピュータ101、前記第1のネットワーク・ノード121、または前記第2のネットワーク・ノード122に対して転送される。例えば、前記第3のコンピュータ・プログラムは、とりわけ前記サーバ110の中の前記ストレージ、または前記広域コンピュータ・ネットワーク100に接続されたストレージから、前記第2のネットワーク・ノード122に対して転送される。前記転送は、例えば、前記第2のメッセージ、例えば、前記ハイパー・テキスト・トランスポート・プロトコル・メッセージPUTを使用して行われる。さらに、前記コンピュータ・プログラムの実行は、とりわけ前記転送の完了のすぐ後に、前記デバイス上で開始される。その後に、ステップ205が、実行される。
前記ステップ205において、前記第1のアプリケーション、例えば、前記第1のコンピュータ・プログラムは、前記あらかじめ決定された第1のデータ・フォーマット、例えば、前記デジタル・ビデオ・フォーマットにおいて前記データ・ストリームの前記データ・セットを決定し、またそれを前記第2のネットワーク・ノード122に対して送信する。例えば、単一のピクチャ(フレーム)は、前記デジタル・ビデオ・カメラによって取り込まれ、また前記特定用途向け集積回路(ASIC)によって前記デジタル・ビデオ・フォーマットへと処理される。その後に、ステップ206が、実行される。
前記ステップ206において、前記データは、前記第3のアプリケーションを、例えば前記第3のコンピュータ・プログラムを実行することにより、前記デバイスによって処理される。前記データを処理することは、例えば、前記第1のデータ・フォーマットで前記データ・セットを受信すること、前記第2のデータ・フォーマットにおいて前記データ・セットを決定すること、および前記第2のデータ・フォーマットで前記データ・セットを前記第1のクライアント・コンピュータ101に対して送信することを意味する。例えば、前記データは、前記デバイス上で、例えば、前記第2のネットワーク・ノード122の上で前記第3のコンピュータ・プログラムを実行することにより前記第2のデータ・フォーマットで送信される。その後に、ステップ207が、実行される。
前記ステップ207において、前記あらかじめ決定された条件が決定される。前記あらかじめ決定された条件が満たされない場合には、ステップ208が、実行される。そうでなければ、すなわち、前記あらかじめ決定された条件が満たされる場合には、前記ステップ202が、実行される。前記デバイス上の毎秒当たりの現在使用可能なコンピューティング・サイクルの前記数が、例えば、10ミリオン命令/秒(MIPS)という前記あらかじめ決定されたしきい値を下回る場合、前記あらかじめ決定された条件は、例えば、満たされる。
前記ステップ208において、割り込み条件が決定される。前記割り込み条件が満たされない場合には、前記ステップ205は、前記データ・ストリームを送信することを継続するように実行される。そうでなければ、オプションのステップ209が、実行される。前記割り込み条件は、例えば、前記受信側からの、例えば、前記サーバ110によって受信される前記第1のクライアント・コンピュータ101からの切り離し要求である。前記切り離し要求は、例えば、前記データの伝送を終了させる要求を示している前記第4のメッセージ、例えば、前記ハイパー・テキスト転送プロトコル・メッセージ(Hyper Text Transfer Protocol message)GETである。
前記オプションのステップ209において、前記サーバ110は、前記第3のアプリケーション、例えば、前記第3のコンピュータ・プログラムを削除する前記要求を前記デバイスに対して送信する。例えば、前記サーバ110は、前記第3のアプリケーションを削除する要求を示している前記第5のメッセージを、例えば、前記ハイパー・テキスト転送プロトコル・メッセージDELETEを前記デバイスに対して送信する。その後に、オプションのステップ210が、実行される。
前記オプションのステップ210において、前記第3のアプリケーションは、例えば、前記第3のコンピュータ・プログラムは、前記第5のメッセージの受信のすぐ後に前記デバイスから、例えば、前記デバイスによって削除される。その後に、前記第1の方法は、終了する。
さらに、前記データ・ストリームが、開始する前に、前記デバイス、前記受信側、例えば、前記第1のクライアント・コンピュータ101、または前記ソース、例えば、前記サーバ110、あるいは前記広域コンピュータ・ネットワーク100の他の任意のネットワーク・ノードをセットアップするメッセージが、送信されることが可能である。例えば、ハイパー・テキスト・トランスポート・プロトコル・メッセージが、前記第1のアプリケーション、前記第2のアプリケーション、前記第3のアプリケーション、または適切なパラメータを有するそれぞれのコンピュータ・プログラムをセットアップするために送信されることが可能である。
前記第1の方法の修正形態においては、前記ステップ220または205において前記データ・セットを送信しながら、前記広域コンピュータ・ネットワーク100は、前記広域コンピュータ・ネットワーク100についての前記情報を収集するために、例えば、前記サーバ110によって監視される。
前記データまたは前記広域コンピュータ・ネットワーク100についての前記情報から、前記あらかじめ決定された条件は、前記サーバ110によって決定される。例えば、前記サーバ110と、前記第1のクライアント・コンピュータ101との間の前記第1のデータ・リンクにおけるデバイスの毎秒当たりの現在使用可能なコンピューティング・サイクルの数は、監視され、また例えば、10ミリオン命令/秒(MIPS)という前記あらかじめ決定されたしきい値とリアルタイムに比較される。
この場合に、前記デバイスの1つの毎秒当たりの前記使用可能なコンピューティング・サイクルが、前記あらかじめ決定されたしきい値を下回る場合、前記あらかじめ決定された条件は、満たされ、また前記ステップ202は、実行される。
このようにして、前記第3のコンピュータ・プログラムは、前記広域コンピュータ・ネットワーク100の内部の最も適したデバイスに対して転送されるが、同時に、前記データ・ストリームについての送信は、継続される。
これは、前記データ・ストリームのデータ・フローが、前記広域コンピュータ・ネットワーク100における変化に前記第1のデータ・リンクを適合させることによってリアルタイムで管理されることを意味する。
前記第1の例においては、品質損失(より少ない分解能またはフレームの脱落)は、受け入れ可能とすることができるが、ビデオは、配信される必要がある。そのようにするために、前記サーバ110は、どのような代替的データ・フォーマットが、受信側における配信のために適しているかを決定することになる。監視によって収集される前記広域コンピュータ・ネットワーク100についての前記情報に基づいて、前記第3のコンピュータ・プログラムは、ある意味では、要件を満たすようになっており、あるいは前記第1のデータ・リンクの前記あらかじめ決定されたデバイスまたはセクションの制限を超過しないようになっている。
前記第1の例においては、前記第1のクライアント・コンピュータ101が、前記第2のデータ・フォーマットにおいて前記データ・ストリームを要求したので、前記データ・ストリームは、前記第2のデータ・フォーマットで、例えば、前記mp4フォーマットで前記第1のクライアント・コンピュータ101に対して送信されることが可能である。これは、前記第1の例においては、前記mp4コーダが、前記広域コンピュータ・ネットワーク100の中の任意のネットワーク・ノードの上に、または前記サーバ110の上に置かれ得ることを意味する。
前記第1の例においては、前記サーバ110の上で使用可能な毎秒当たりのコンピューティング・サイクルは制限されており、またそれゆえに前記第2のネットワーク・ノード122は、前記デバイスとして選択されていた。オプションとして、前記サーバ110が、適切な処理装置を有する場合には、全体の第1のデータ・リンクにおける帯域幅の消費を低減させるために、前記mp4コーダは、前記サーバ110を前記デバイスとして選択することにより、その代わりに前記サーバ110の上で実行されることが可能である。
前記単一のソース、例えば、前記サーバ110と、2つのレシーバ、例えば、前記第1のクライアント・コンピュータ101と、第2のクライアント・コンピュータ102とを使用した第2の例が、図3を参照して下記で説明される。図3は、前記広域コンピュータ・ネットワーク100の第2の部分を示すものである。
前記第2のクライアント・コンピュータ102は、例えば、上記で説明されるような前記第1のクライアント・コンピュータ101の機能に対応する機能を有する。
さらに、前記サーバ110は、前記第1のクライアント・コンピュータ101から受信されるメッセージに対応するメッセージを前記第2のクライアント・コンピュータ102から受信し、また処理する。
さらに、前記サーバ110は、前記第1のクライアント・コンピュータ101に対して送信されるメッセージに対応するメッセージを決定し、また前記第2のクライアント・コンピュータ102に対して送信する。
前記広域コンピュータ・ネットワーク100の前記第2の部分は、前記第1の例において説明されるような前記広域コンピュータ・ネットワーク100の前記第1の部分と、それに加えて前記第2のクライアント・コンピュータ102とを備える。
前記第2のクライアント・コンピュータ102と、前記サーバ110とは、第2のデータ・リンクを経由して接続される。前記第2のデータ・リンクは、セクションから成る。前記セクションのエンドポイントは、デバイスであり、例えば、前記サーバ110、前記第2のクライアント・コンピュータ102、前記第1のネットワーク・ノード121、または前記第2のネットワーク・ノード122である。前記第2のデータ・リンクの前記セクションは、前記デバイスの間の接続であり、例えば、それらを動作させるためのそれぞれの電子回路を含んでいる前記光ファイバ、前記ワイヤレス・リンク、または前記銅線である。前記データは、前記伝送プロトコルを、例えば、よく知られている伝送制御プロトコル/インターネット・プロトコル(TCP/IP)を使用して前記第2のデータ・リンクを経由して送信される。例えば、ユーザ・データグラム・プロトコル(UDP)規格、イーサネット規格、またはIEEE802.11規格による他の任意のタイプの有線またはワイヤレスのデータ・リンクも、同様に使用されることが可能である。
オプションとして、前記第1のクライアント・コンピュータ101と、前記第2のクライアント・コンピュータ102とは、同様に互いに直接に接続されることも可能である。
前記第1のネットワーク・ノード121、前記第2のネットワーク・ノード122、前記サーバ110、前記第1のクライアント・コンピュータ101、または前記第2のクライアント・コンピュータ102は、互いに直接に、または間接的に接続されることが可能である。
前記第2の例によれば、前記第1のクライアント・コンピュータ101は、前記第2のデータ・フォーマットで、例えば前記mp4フォーマットで前記データ・ストリームを要求し、また前記第2のクライアント・コンピュータは、前記第1のデータ・フォーマットで、例えば、前記デジタル・ビデオ・フォーマットで前記データ・ストリームを要求する。
前記サーバ110が、2つの異なるデータ・ストリーム(要求されたフォーマットのおのおのおののうちの一方)を送信する代わりに、前記データ・ストリームは、前記サーバ110から前記デバイスへと要求されるデータ・フォーマットのうちの一方で送信され、また前記デバイスから2つのデータ・ストリーム(要求されたフォーマットのおのおののうちの一方)で送信される。
この目的を達成するために、前記サーバ110は、前記第3のコンピュータ・プログラムを処理するために、また2つのデータ・ストリームを送信することを開始するために、前記広域コンピュータ・ネットワーク100において最適に位置しているデバイスを前記あらかじめ決定されたデバイスから選択するようになっている。
受信側を区別するために、前記データ・セットの前記ヘッダは、複数の受信側を識別する追加情報を備えることができ、例えば、前記第1のクライアント・コンピュータ101、および前記第2のクライアント・コンピュータ102のインターネット・プロトコル・アドレスと、前記受信側のおのおのに対して送信されるデータ・セットのために使用すべきデータ・フォーマットについての情報とを含むことができる。
前記あらかじめ決定されたデバイスは、前記第1の例において説明されるものと同じ機能を有する。さらに、前記あらかじめ決定されたデバイスの一部または全部は、前記第1のデータ・フォーマットにおける前記第1のデータ・セットと、前記第2のデータ・フォーマットにおける第2のデータ・セットとを記憶するための第1の出力バッファを備えることができる。
前記サーバ110は、例えば、前記データまたは前記広域コンピュータ・ネットワーク100についての前記情報を考慮したコスト関数を使用するようになっており、例えば、前記デバイス上で使用可能な毎秒当たりのコンピューティング・サイクル、前記第1のデータ・リンクまたは前記第2のデータ・リンクのセクションを形成するのに適した前記接続の上で使用可能な伝送帯域幅、レイテンシー、あるいはコストを使用して、前記第3のアプリケーションまたは前記第3のコンピュータ・プログラム、例えば、前記mp4コーダを処理するために最適である前記デバイスを前記あらかじめ決定されたデバイスから選択することができる。
前記第2の例による前記あらかじめ決定されたアプリケーションは、例えば、前記あらかじめ決定されたコンピュータ・プログラムは、前記第1の例において説明されるものと同じ機能を有する。さらに、1つまたは複数の前記あらかじめ決定されたアプリケーション、あるいはあらかじめ決定されたコンピュータ・プログラムは、複数の受信側に対して、例えば、前記第1のクライアント・コンピュータ101と前記第2のクライアント・コンピュータ102とに対して前記データ・セットを転送するにすぎないようになっている可能性がある。
さらに、前記あらかじめ決定されたアプリケーション、例えば、前記あらかじめ決定されたコンピュータ・プログラムの一部または全部は、前記複数の受信側を識別するために前記ヘッダを処理するようになっている。さらに、前記あらかじめ決定されたアプリケーション、例えば、前記あらかじめ決定されたコンピュータ・プログラムの一部または全部は、前記受信側のおのおのに対して送信されるデータ・セットのために使用すべきデータ・フォーマットについての前記情報を識別するために前記ヘッダを処理するようになっており、またそれぞれのデータ・フォーマットを使用してそれぞれの受信側に対して前記データ・セットを送信するようになっている。
前記データを送信するための第2の方法が、図4を参照して下記で説明されている。
前記第2の方法は、例えば、前記あらかじめ決定された第1のデータ・フォーマットで、例えば、mp4フォーマットで前記データ・ストリームを要求する前記第1のメッセージが、前記第1のクライアント・コンピュータ101から前記サーバ110によって受信されるが、前記サーバ110が、すでに前記あらかじめ決定された第2のデータ・フォーマットで、例えば、デジタル・ビデオ・フォーマットで前記第2のクライアント・コンピュータ102に対して前記データ・ストリームのデータ・セットを送信している場合に、開始される。
開始の後に、ステップ400が、実行される。
前記ステップ400において、前記デバイスに対して前記広域コンピュータ・ネットワーク100の前記セクションを経由して前記データを送信するために最も適したあらかじめ決定された第3のデータ・フォーマットが、前記あらかじめ決定されたデータ・フォーマットから、とりわけ前記サーバ110によって選択される。前記あらかじめ決定された第3のデータ・フォーマットは、例えば、前記データまたは前記広域コンピュータ・ネットワーク100についての情報に応じて、とりわけ毎秒当たりの使用可能なコンピューティング・サイクル、前記第1のデータ・リンクの帯域幅、前記第1のデータ・リンクの一部分を形成するのに適した前記接続の帯域幅、レイテンシー、またはコストに応じて、選択される。例えば、前記デジタル・ビデオ・フォーマットは、前記サーバ110が、前記デジタル・ビデオ・フォーマットを提供するための特定用途向け集積回路(ASIC)を備えるので、前記あらかじめ決定された第3のデータ・フォーマットとして選択される。その後に、ステップ401が、実行される。
前記ステップ401において、前記データを、例えば、前記第3のコンピュータ・プログラムを処理するようになっている前記第3のアプリケーションが、前記データ、または前記広域コンピュータ・ネットワーク100についての前記情報に応じて前記あらかじめ決定されたアプリケーションから、例えば、前記あらかじめ決定されたコンピュータ・プログラムから選択される。前記第3のコンピュータ・プログラムは、例えば、前記データまたは前記広域コンピュータ・ネットワーク100についての前記情報に応じて、前記サーバ110によって選択される。例えば、前記mp4コーダは、それが、前記第2のデータ・フォーマットで、例えば、前記デジタル・ビデオ・フォーマットで前記データ・セットを転送し、また前記あらかじめ決定された第3のデータ・フォーマットにおける、例えばデジタル・ビデオ・フォーマットにおける入力から、前記あらかじめ決定された第2のデータ・フォーマットにおいて、例えば、前記mp4フォーマットにおいて前記データ・セットを決定することができるので、選択される。その後に、ステップ402が、実行される。
前記ステップ402において、前記第1のデータ・リンクの前記セクションの前記エンドポイントにおける前記デバイスは、前記データまたは前記広域コンピュータ・ネットワーク100についての前記情報に応じて、前記広域コンピュータ・ネットワーク100のあらかじめ決定されたデバイスから選択される。前記広域コンピュータ・ネットワーク100の前記あらかじめ決定されたデバイスは、例えば、前記サーバ110、前記第1のクライアント・コンピュータ101、前記第1のネットワーク・ノード121、または前記第2のネットワーク・ノード122である。例えば、前記第2のネットワーク・ノード122は、前記第2のネットワーク・ノード122の上で使用可能な毎秒当たりのコンピューティング・サイクルの数が、前記第3のアプリケーションを実行するために十分であり、また前記サーバ110と、前記第2のネットワーク・ノード122との間の接続の帯域幅が、前記第3のデータ・フォーマットで、例えば、前記デジタル・ビデオ・フォーマットで前記データ・セットを送信するために適しているので、前記デバイスとして選択される。その後に、ステップ403が、実行される。
前記ステップ403において、前記第3のコンピュータ・プログラムは、例えば、前記第1の方法のステップ204において説明されるように、前記デバイスに対して転送される。その後に、ステップ404が、実行される。
前記ステップ404において、前記第1のアプリケーションは、例えば、前記第1のコンピュータ・プログラムは、前記あらかじめ決定された第3のデータ・フォーマットにおいて、例えば、前記デジタル・ビデオ・フォーマットにおいて前記データ・ストリームの前記データ・セットを決定し、またそれを前記第2のネットワーク・ノード122に対して送信する。例えば、単一のピクチャ(フレーム)が、前記デジタル・ビデオ・カメラによって取り込まれ、また前記特定用途向け集積回路(ASIC)によって前記デジタル・ビデオ・フォーマットへと処理される。その後に、ステップ405が、実行される。
前記ステップ405において、前記データは、前記第3のアプリケーションを、例えば、前記第3のコンピュータ・プログラムを実行することにより、前記デバイスによって処理される。前記データを処理することは、例えば、前記第3のデータ・フォーマットで前記データ・セットを受信すること、どのデータ・フォーマットをどの受信側のために使用すべきかを決定するために前記ヘッダを分析すること、前記第1のデータ・フォーマットおよび前記第2のデータ・フォーマットにおいて前記データ・セットを決定すること、および前記第2のデータ・フォーマットで前記第1のクライアント・コンピュータ101に対して、また前記第1のデータ・フォーマットで前記第2のクライアント・コンピュータ102に対して前記データ・セットを送信することを意味する。その後に、ステップ406が、実行される。
前記ステップ406において、前記あらかじめ決定された条件は、決定される。前記あらかじめ決定された条件が満たされない場合には、ステップ407が、実行される。そうでなければ、すなわち、前記あらかじめ決定された条件が満たされる場合には、前記ステップ400が、実行される。前記デバイス上で使用可能な毎秒当たりのコンピューティング・サイクルの前記数が、例えば、10ミリオン命令/秒(MIPS)という前記あらかじめ決定されたしきい値を下回る場合、前記あらかじめ決定された条件は、例えば、満たされる。
前記ステップ407において、割り込み条件が決定される。前記割り込み条件が満たされない場合には、前記ステップ404は、前記データ・ストリームを送信し続けるように実行される。そうでなければ、オプションのステップ408が、実行される。前記割り込み条件は、例えば、前記サーバ110によって受信される、前記受信側の一方からの、例えば、前記第1のクライアント・コンピュータ101、または前記第2のクライアント・コンピュータ102からの切り離し要求である。前記切り離し要求は、例えば、前記データの伝送を終了させる要求を示している、前記第4のメッセージ、例えば、前記ハイパー・テキスト転送プロトコル・メッセージGETである。
前記オプションのステップ408において、前記サーバ110は、前記第3のアプリケーションを、例えば、前記第3のコンピュータ・プログラムを削除する前記要求を前記デバイスに対して送信する。例えば、前記サーバ110は、前記第3のアプリケーションを削除する要求を示している前記第5のメッセージを、例えば、前記ハイパー・テキスト転送プロトコル・メッセージDELETEを前記デバイスに対して送信する。その後に、オプションのステップ409が、実行される。
前記オプションのステップ409において、前記第3のアプリケーションは、例えば、前記第3のコンピュータ・プログラムは、前記第5のメッセージの受信のすぐ後に、例えば、前記デバイスにより、前記デバイスから削除される。その後に、前記第2の方法は、終了する。
複数のサーバ、または前記データ・ストリームの複数の受信側が、使用される場合には、前記方法は、個々のデバイス、データ・リンク、およびデータ・フォーマットについて同様に適用される。
前記第3のアプリケーションは、前記第3のアプリケーションを実行するようになっている任意のネットワーク・ノードの上で、あるいは前記1つまたは複数のソース、または前記1つまたは複数のレシーバにおいて実行されることが可能である。
前記第3のアプリケーションは、前記1つまたは複数のソース、および前記1つまたは複数のレシーバにおいて使用される前記データ・フォーマットが、異なっており、あるいは効率のよいデータ配信を実行すべきである場合に、使用されることが可能である。
異なる受信側が、要求されたデータ・フォーマットに向けての変換のために異なるデータ・フォーマットを要求する場合には、任意の必要とされる数の第3のアプリケーションが、前記ネットワーク・ノードのどれか、または1つまたは複数のソース、あるいは1つまたは複数のレシーバにおいて実行されることが可能である。
代わりに、前記広域コンピュータ・ネットワークの内部の別個のサーバを使用して、前記第3のアプリケーションを、例えば、前記第3のコンピュータ・プログラム、または前記デバイスを選択することもできる。
代わりに、前記第1のコンピュータ・プログラム、または前記第2のコンピュータ・プログラムが、前記データ、または前記広域コンピュータ・ネットワークについての前記情報に応じて、同様に選択されることも可能である。
上記複数の方法を組み合わせて、前記データ・フローの前記管理の柔軟性をさらに増大させることができる。
前記方法は、コンピュータ・プログラムとして実装されることが可能であり、またはコンピュータ読取り可能媒体の上のコンピュータ・プログラムとして記憶されることが可能である。
説明および図面は、単に本発明の原理を示しているだけである。したがって、当業者なら、本明細書において明示的に説明されても、または示されてもいないが、本発明の原理を実施しており、また本発明の精神および範囲の内部に含まれる様々な構成を工夫することができるようになることが、理解されるであろう。さらに、本明細書において列挙されるすべての例は、主として当技術を推進するために本発明者(単数または複数)によって寄与される本発明の原理と概念とを理解するに際して、読者を助ける教育上の目的のためにすぎないように明示的に意図され、またそのような具体的に列挙された例および条件だけに限定することのないものとして解釈されるべきである。さらに、本明細書において本発明の原理、態様、および実施形態、ならびにその特定の例を列挙しているすべての記述は、その同等物を包含するように意図される。
「プロセッサ」としてラベル付けされる任意の機能ブロックを含めて、図面の中に示される様々な要素についての機能は、専用のハードウェア、ならびに適切なソフトウェアと関連づけてソフトウェアを実行することができるハードウェアの使用を通して提供されることが可能である。プロセッサによって提供されるときに、それらの機能は、単一の専用のプロセッサによって、単一の共用のプロセッサによって、またはそれらのうちのいくつかが共用され得る複数の個別のプロセッサによって提供されることが可能である。さらに、「プロセッサ」または「コントローラ」という用語の明示的な使用は、ソフトウェアを実行することができるハードウェアだけを排他的に意味するように解釈されるべきではなく、また限定することなく、デジタル信号プロセッサ(digital signal processor)(DSP)のハードウェアと、ネットワーク・プロセッサと、特定用途向け集積回路(ASIC)と、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array)(FPGA)と、ソフトウェアを記憶するためのリード・オンリー・メモリ(read only memory)(ROM)と、ランダム・アクセス・メモリ(random access memory)(RAM)と、不揮発性ストレージとを暗黙のうちに含むことができる。従来および/またはカスタムの他のハードウェアもまた、含められることも可能である。同様に、図面の中に示される任意のスイッチは、概念的なものにすぎない。それらの機能は、プログラム・ロジックのオペレーションを通して、専用のロジックを通して、プログラム制御と専用のロジックとの相互作用を通して、または手動によってさえも実行されることが可能であり、特定の技法は、文脈からもっと具体的に理解されるように、実装者によって選択可能である。
本明細書における任意のブロック図は、本発明の原理を実施する実例となる回路の概念図を表すことが、当業者によって理解されるべきである。同様に、任意のフロー・チャートと、流れ図と、状態遷移図と、擬似コードなどとは、コンピュータ読取り可能媒体の形で実質的に表され、またそのようにしてコンピュータまたはプロセッサによって、そのようなコンピュータまたはプロセッサが明示的に示されているか否かにかかわらず、実行され得る様々なプロセスを表すことが、理解されるであろう。
当業者なら、様々な上記で説明された方法のステップが、プログラムされたコンピュータによって実行され得ることを簡単に認識するであろう。本明細書において、いくつかの実施形態は、マシン読取り可能、またはコンピュータ読取り可能であり、また命令のマシン実行可能なプログラム、またはコンピュータ実行可能なプログラムを符号化するプログラム・ストレージ・デバイスを、例えば、デジタル・データ・ストレージ媒体を対象として含むようにも意図され、そこでは前記命令は、前記上記で説明された方法のステップの一部または全部を実行する。プログラム・ストレージ・デバイスは、例えば、デジタル・メモリ、磁気ディスクや磁気テープなどの磁気ストレージ媒体、ハード・ドライブ、または光学的に読取り可能なデジタル・データ・ストレージ媒体とすることができる。実施形態は、上記で説明された方法の前記ステップを実行するようにプログラムされるコンピュータを対象として含むようにも意図される。

Claims (15)

  1. コンピュータ・ネットワークにおいてデータ・リンクを経由してデータを送信するための方法であって、前記データ・リンクのセクションのエンドポイントにおけるデバイスは、前記コンピュータ・ネットワークのデバイスから選択され(203)、前記データを処理するようになっているコンピュータ・プログラムは、前記デバイスに対して転送され(204)、また前記データは、前記コンピュータ・プログラムを実行することにより前記デバイスによって処理される(206)、方法。
  2. 前記セクションを経由して前記データを送信するためのデータ・フォーマットは、前記コンピュータ・ネットワークについての情報に応じて、とりわけ前記処理の帯域幅、前記データ・リンクの帯域幅、レイテンシー、またはコストに応じて、あらかじめ決定されたデータ・フォーマットから、とりわけサーバによって選択され(200)、前記コンピュータ・プログラムは、前記データ・フォーマットで前記データを送信するようになっており、また前記データは、前記デバイス上で前記コンピュータ・プログラムを実行することにより、前記データ・フォーマットで送信される(206)、請求項1に記載の方法。
  3. 前記コンピュータ・プログラムは、前記コンピュータ・ネットワークについての情報に応じて、とりわけ前記処理の帯域幅、前記データ・リンクの帯域幅、レイテンシー、またはコストに応じて、とりわけサーバにより、あらかじめ決定されたコンピュータ・プログラムから選択される(202)、請求項1に記載の方法。
  4. 前記デバイスは、前記コンピュータ・ネットワークについての情報に応じて、とりわけ前記処理の帯域幅、前記データ・リンクの帯域幅、レイテンシー、またはコストに応じて、とりわけサーバにより、選択される(203)、請求項1に記載の方法。
  5. あらかじめ決定された条件が満たされる(207)場合に、前記コンピュータ・プログラムは、とりわけストレージから前記デバイスに対して転送され、前記コンピュータ・プログラムの実行は、とりわけ前記転送の完了のすぐ後に前記デバイス上で開始され、前記データは、前記コンピュータ・プログラムによって決定され、また前記データは、前記デバイスから送信される、請求項1に記載の方法。
  6. 前記データは、あらかじめ決定された第1のデータ・フォーマットで前記デバイスに対して送信され、前記データは、あらかじめ決定された第2のデータ・フォーマットで前記デバイスから送信され、また前記コンピュータ・プログラムは、前記あらかじめ決定された第1のデータ・フォーマットで前記データを受信するようになっており、また前記あらかじめ決定された第2のデータ・フォーマットにおいて前記データを決定するようになっている、請求項1に記載の方法。
  7. 前記デバイスまたは前記コンピュータ・プログラムは、前記データについての情報に応じて選択される、請求項1に記載の方法。
  8. コンピュータ・ネットワークにおいてデータ・リンクを経由してデータを送信するためのシステムであって、サーバは、前記コンピュータ・ネットワークのデバイスから、前記データ・リンクのセクションのエンドポイントにおけるデバイスを選択する(203)ようになっており、前記データを処理するように、とりわけあらかじめ決定されたデータ・フォーマットで前記データを送信するようになっているコンピュータ・プログラムを、前記デバイスに対して転送する(204)ようになっており、また前記デバイスは、前記コンピュータ・プログラムを実行するようになっており、また前記コンピュータ・プログラムを実行することにより、前記データを処理する(206)ように、とりわけ前記あらかじめ決定されたデータ・フォーマットで前記データを送信するようになっている、システム。
  9. 前記デバイスは、前記コンピュータ・プログラムを受信するようになっており、また前記コンピュータ・プログラムの、前記デバイスに対する前記転送の完了のすぐ後に、前記コンピュータ・プログラムの実行を開始するようになっている、請求項8に記載のシステム。
  10. 前記データは、あらかじめ決定された第1のデータ・フォーマットで前記デバイスに対して送信され、前記データは、あらかじめ決定された第2のデータ・フォーマットで前記デバイスから送信され、また前記コンピュータ・プログラムは、前記あらかじめ決定された第2のデータ・フォーマットで前記データを受信するようになっており、また前記あらかじめ決定された第1のデータ・フォーマットにおいて前記データを決定するようになっている、請求項8に記載のシステム。
  11. コンピュータ・ネットワークにおいてデータ・リンクを経由してデータを送信するためのサーバであって、前記コンピュータ・ネットワークのあらかじめ決定されたデバイスから前記データ・リンクのセクションのエンドポイントにおけるデバイスを選択して(203)、前記データを処理する(206)ように、とりわけあらかじめ決定されたデータ・フォーマットで前記データを送信するようになっているコンピュータ・プログラムを、前記デバイスに対して転送する(204)ようになっているサーバ。
  12. 前記サーバは、あらかじめ決定された条件が満たされるかどうかを決定するようになっており、また前記あらかじめ決定された条件が満たされる場合に、前記コンピュータ・プログラムを前記デバイスに対して転送する(204)ようになっている、請求項11に記載のサーバ。
  13. コンピュータ・ネットワークにおいてデータ・リンクを経由してデータを送信するためのデバイスであって、コンピュータ・プログラムを受信するようになっており、とりわけ前記コンピュータ・プログラムの、前記デバイスに対する転送の完了のすぐ後に、前記コンピュータ・プログラムの実行を開始するようになっており、また前記コンピュータ・プログラムを実行することにより、前記データを処理する(206)ように、とりわけ前記あらかじめ決定されたデータ・フォーマットで前記データを送信するようになっているデバイス。
  14. コンピュータ・ネットワークにおいてデータ・リンクを経由してデータを送信するためのコンピュータ・プログラムであって、コンピュータ上で実行されるときに、前記コンピュータに、前記コンピュータ・ネットワークのデバイスから前記データ・リンクのセクションのエンドポイントにおけるデバイスを選択し(203)、前記データを処理するようになっているコンピュータ・プログラムを前記デバイスに対して転送し(204)、前記コンピュータ・プログラムを実行することにより、前記デバイス上で前記データを処理する(206)ようにさせるコンピュータ・プログラム。
  15. コンピュータ読取り可能プログラムを有するコンピュータ使用可能媒体を備える、コンピュータ・ネットワークにおいてデータ・リンクを経由してデータを送信するためのコンピュータ・プログラム製品であって、前記コンピュータ読取り可能プログラムは、コンピュータ上で実行されるときに、前記コンピュータに、前記コンピュータ・ネットワークのデバイスから前記データ・リンクのセクションのエンドポイントにおけるデバイスを選択し(203)、前記データを処理するようになっているコンピュータ・プログラムを前記デバイスに対して転送し(204)、前記コンピュータ・プログラムを実行することにより、前記デバイス上で前記データを処理する(206)ようにさせる、コンピュータ・プログラム製品。
JP2013515783A 2010-06-24 2011-05-06 コンピュータ・ネットワークにおいてデータを送信するための方法、システム、サーバ、デバイス、コンピュータ・プログラム、およびコンピュータ・プログラム製品 Expired - Fee Related JP5805183B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10305678.4 2010-06-24
EP10305678.4A EP2400389B1 (en) 2010-06-24 2010-06-24 A method, a system, a server, a device, a computer program and a computer program product for transmitting data in a computer network
PCT/EP2011/057272 WO2011160884A1 (en) 2010-06-24 2011-05-06 A method, a system, a server, a device, a computer program and a computer program product for transmitting data in a computer network

Publications (2)

Publication Number Publication Date
JP2013534669A true JP2013534669A (ja) 2013-09-05
JP5805183B2 JP5805183B2 (ja) 2015-11-04

Family

ID=43568238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013515783A Expired - Fee Related JP5805183B2 (ja) 2010-06-24 2011-05-06 コンピュータ・ネットワークにおいてデータを送信するための方法、システム、サーバ、デバイス、コンピュータ・プログラム、およびコンピュータ・プログラム製品

Country Status (9)

Country Link
US (1) US9392048B2 (ja)
EP (1) EP2400389B1 (ja)
JP (1) JP5805183B2 (ja)
KR (1) KR101484933B1 (ja)
CN (1) CN102959514B (ja)
BR (1) BR112012033233A2 (ja)
RU (1) RU2538939C2 (ja)
TW (1) TWI455529B (ja)
WO (1) WO2011160884A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2819013B1 (en) * 2013-06-24 2019-11-27 Alcatel Lucent Automated adaption of a Codec
EP2819012B1 (en) * 2013-06-24 2020-11-11 Alcatel Lucent Automated compression of data
CN103491135B (zh) * 2013-09-02 2017-04-19 用友网络科技股份有限公司 自匹配数据格式的装置和方法
US9959301B2 (en) * 2014-07-25 2018-05-01 Cisco Technology, Inc. Distributing and processing streams over one or more networks for on-the-fly schema evolution
CN104281491B (zh) * 2014-09-26 2018-01-09 北京音之邦文化科技有限公司 一种数据处理方法及装置
CN111049779B (zh) * 2018-10-12 2022-04-26 伊姆西Ip控股有限责任公司 信息处理方法、电子设备以及计算机可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1619904A1 (de) * 2004-07-23 2006-01-25 Alcatel Verfahren zum Erbringen von Diensten in einem Telekommunikationsnetz sowie Telekommunikationsnetz und Netzwerkknoten hierfür
EP1727328A1 (en) * 2005-05-25 2006-11-29 Alcatel Network node, module therefor and distribution method

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774668A (en) 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US6539415B1 (en) * 1997-09-24 2003-03-25 Sony Corporation Method and apparatus for the allocation of audio/video tasks in a network system
US7111076B2 (en) * 2000-04-13 2006-09-19 Intel Corporation System using transform template and XML document type definition for transforming message and its reply
US6963583B1 (en) * 2000-09-29 2005-11-08 Telefonaktiebolaget Lm Ericsson (Publ) Generic call server and method of converting signaling protocols
US20020099829A1 (en) * 2000-11-27 2002-07-25 Richards Kenneth W. Filter proxy system and method
US7242324B2 (en) * 2000-12-22 2007-07-10 Sony Corporation Distributed on-demand media transcoding system and method
JP2002232863A (ja) * 2001-01-31 2002-08-16 Nippon Telegraph & Telephone East Corp 映像配信方法及び装置
US20040012808A1 (en) * 2001-06-04 2004-01-22 Payne David M. Network-based technical support and diagnostics
US6996394B2 (en) 2002-08-30 2006-02-07 Qualcomm Incorporated Server processing in providing messages for a wireless device connecting to a server
US7369868B2 (en) 2002-10-30 2008-05-06 Sony Ericsson Mobile Communications Ab Method and apparatus for sharing content with a remote device using a wireless network
US20060106774A1 (en) * 2004-11-16 2006-05-18 Cohen Peter D Using qualifications of users to facilitate user performance of tasks
US7957363B2 (en) 2005-05-26 2011-06-07 International Business Machines Corporation System, method, and service for dynamically selecting an optimum message pathway
US7844721B2 (en) 2005-11-23 2010-11-30 Qualcomm Incorporated Method for delivery of software upgrade notification to devices in communication systems
US20070226546A1 (en) * 2005-12-22 2007-09-27 Lucent Technologies Inc. Method for determining field software reliability metrics
WO2007141780A2 (en) * 2006-06-05 2007-12-13 Reimage Ltd A system and method for software application remediation
JP2008139977A (ja) * 2006-11-30 2008-06-19 Matsushita Electric Ind Co Ltd ネットワークシステム
TW200826586A (en) * 2006-12-13 2008-06-16 Inst Information Industry Bandwidth reservation system and method of dynamically switching channels and readable-by-computer recording medium thereof
US9075802B2 (en) * 2008-09-05 2015-07-07 Dell Products L.P. Dynamic online presentation of solutions based on customer symptoms
EP2219341B1 (en) * 2009-02-16 2019-05-08 Telia Company AB Voice and other media conversion in inter-operator interface
US20120078062A1 (en) * 2010-09-24 2012-03-29 International Business Machines Corporation Decision-support application and system for medical differential-diagnosis and treatment using a question-answering system
US8621278B2 (en) * 2011-06-28 2013-12-31 Kaspersky Lab, Zao System and method for automated solution of functionality problems in computer systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1619904A1 (de) * 2004-07-23 2006-01-25 Alcatel Verfahren zum Erbringen von Diensten in einem Telekommunikationsnetz sowie Telekommunikationsnetz und Netzwerkknoten hierfür
US20060020847A1 (en) * 2004-07-23 2006-01-26 Alcatel Method for performing services in a telecommunication network, and telecommunication network and network nodes for this
EP1727328A1 (en) * 2005-05-25 2006-11-29 Alcatel Network node, module therefor and distribution method
US20060269058A1 (en) * 2005-05-25 2006-11-30 Alcatel Network node, module therefor and distribution method

Also Published As

Publication number Publication date
RU2538939C2 (ru) 2015-01-10
RU2013103144A (ru) 2014-07-27
BR112012033233A2 (pt) 2016-11-16
JP5805183B2 (ja) 2015-11-04
TW201212592A (en) 2012-03-16
WO2011160884A1 (en) 2011-12-29
CN102959514B (zh) 2018-03-23
CN102959514A (zh) 2013-03-06
EP2400389B1 (en) 2016-05-25
TWI455529B (zh) 2014-10-01
US9392048B2 (en) 2016-07-12
US20130232224A1 (en) 2013-09-05
KR20130038305A (ko) 2013-04-17
KR101484933B1 (ko) 2015-01-21
EP2400389A1 (en) 2011-12-28

Similar Documents

Publication Publication Date Title
JP5805183B2 (ja) コンピュータ・ネットワークにおいてデータを送信するための方法、システム、サーバ、デバイス、コンピュータ・プログラム、およびコンピュータ・プログラム製品
EP3482554B1 (en) Methods and servers to monitor resources through http/2
US9967165B2 (en) Methods, systems, and computer readable media for packet monitoring in a virtual environment
CN109565501A (zh) 用于选择内容分发网络实体的技术
US9330429B2 (en) Scalable watermark insertion for fragmented media stream delivery
Krawiec et al. DASCo: dynamic adaptive streaming over CoAP
US11196649B2 (en) Processing local area network diagnostic data
US9270748B2 (en) Method for content delivery involving a policy database
EP3235168B1 (en) Coordinated packet delivery of encrypted session
CN114173087A (zh) 视频数据获取及处理方法、边缘网关及存储介质
US20140380395A1 (en) Gateway, and method, computer program and storage means corresponding thereto
CN113784081A (zh) 用于动态选择编解码器的方法、介质和系统
JP2013012833A (ja) 送信装置及び送信装置の制御方法
JP7271986B2 (ja) ゲートウェイ、通信システム及び通信方法
US9049350B2 (en) Imaging apparatus that transmits media data to reception apparatus, method of processing information, and storage medium
Tüker et al. Using packet trimming at the edge for in-network video quality adaption
CN103686205A (zh) 基于onvif协议的码流转换方法及装置
US10951501B1 (en) Monitoring availability of content delivery networks
He MiBao: A Video Processing Middlebox
WO2024061189A1 (zh) 一种服务网格系统以及基于服务网格系统的信息传输方法
JP6738306B2 (ja) データ転送装置及びデータ転送方法
JP2011198060A (ja) ハードソフト連携フィルタリング処理システム
JP2018032983A (ja) 端末装置および通信監視方法
EP4128666A1 (en) Network traffic capture
JP2018182689A (ja) ネットワーク監視システム、ネットワーク監視方法、警報中継装置および警報中継プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150519

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150901

R150 Certificate of patent or registration of utility model

Ref document number: 5805183

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees