JP2010504652A - ビデオネットワークを管理する方法及びシステム - Google Patents
ビデオネットワークを管理する方法及びシステム Download PDFInfo
- Publication number
- JP2010504652A JP2010504652A JP2008531881A JP2008531881A JP2010504652A JP 2010504652 A JP2010504652 A JP 2010504652A JP 2008531881 A JP2008531881 A JP 2008531881A JP 2008531881 A JP2008531881 A JP 2008531881A JP 2010504652 A JP2010504652 A JP 2010504652A
- Authority
- JP
- Japan
- Prior art keywords
- video
- content
- management module
- bandwidth management
- receiver
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title description 68
- 230000005540 biological transmission Effects 0.000 claims abstract description 58
- 238000004891 communication Methods 0.000 claims abstract description 26
- 108010078791 Carrier Proteins Proteins 0.000 description 138
- 238000007726 management method Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 23
- 238000007906 compression Methods 0.000 description 15
- 230000006835 compression Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 238000012546 transfer Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 7
- 230000002427 irreversible effect Effects 0.000 description 7
- 230000000670 limiting effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000013144 data compression Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 235000020004 porter Nutrition 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- SZGNWRSFHADOMY-UHFFFAOYSA-N 2-[2-[2-[2-[2-[2-[2-(2-methoxyethoxy)ethoxy]ethoxy]ethoxy]ethoxy]ethoxy]ethoxy]ethanol Chemical compound COCCOCCOCCOCCOCCOCCOCCOCCO SZGNWRSFHADOMY-UHFFFAOYSA-N 0.000 description 1
- 241000239290 Araneae Species 0.000 description 1
- 244000180534 Berberis hybrid Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 210000003484 anatomy Anatomy 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- JLGLQAWTXXGVEM-UHFFFAOYSA-N triethylene glycol monomethyl ether Chemical compound COCCOCCOCCO JLGLQAWTXXGVEM-UHFFFAOYSA-N 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/1085—Resource delivery mechanisms involving dynamic management of active down- or uploading connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4381—Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
リアルタイムコンテンツ送信機と1つ又は複数の受信機との間でのコンテンツ送信を調整すると共に、1つ又は複数の受信機からのコンテンツ再送信をさらに調整するようになっている帯域幅管理モジュールを備えるリアルタイムコンテンツ送信機が本発明において(herein)提供される。送信機は、コンテンツを符号化するようになっている符号化モジュールをさらに備えることができる。送信機は、コンテンツストリームをリアルタイムで結合するようになっているコンテンツトランスポータをさらに備えることができる。帯域幅管理モジュールからの信号に基づいて1つ又は複数のソースからのコンテンツを受信するようになっており、帯域幅管理モジュールからの信号に基づいて1つ又は複数の宛先に受信コンテンツを再送信するようにさらになっている通信モジュールを備えるリアルタイムコンテンツ受信機も提供される。受信機は、コンテンツストリームをリアルタイムで結合するようになっているコンテンツトランスポータをさらに備えることができる。受信機は、受信コンテンツの1つ又は複数の肯定応答メッセージを1つ又は複数の送信機に送信するようにさらになっているものとすることができる。
Description
ストリーミングメディアは、配信中に、大半はクリップの形態で消費される(聞かれるか、又は見られる)メディアである。ストリーミングは、メディア自体よりもむしろ配信システムの性質である。通常、この区別はコンピュータネットワークを介して配信されるメディアに適用される。メディアストリームはオンデマンド又はライブであることができる。オンデマンドストリームは、長期間にわたってサーバに記憶され、ユーザの要求に応じて送信に利用することができる。ライブストリームは、ライブスポーツイベントのビデオストリームにおけるように特定の時間にのみ利用可能である。
ストリーミングメディアをサポートするようにネットワークプロトコルを設計することは、多くの問題を発生させる。ユーザ・データグラム・プロトコル(UDP)等のデータグラムプロトコルは、メディアストリームを一連の小さなパケットとして送信する。これは単純且つ効率的であるが、パケットは送信中に失われたり、又は破損したりすることがある。プロトコル及び損失の程度に応じて、クライアントは誤り訂正技法を使用してデータの復元が可能であったり、消失データを補間したり、又はドロップアウトを受けることがあり得る。
ユーザ・データグラム・プロトコル(UDP)は、インターネット・プロトコル・スイートのコアプロトコルのうちの1つである。UDPを使用して、ネットワーク接続されたコンピュータ上のプログラムは、データグラムとして知られていることもあるショートメッセージを互いに送信することができる。UDPは、TCPが提供する信頼性及び順序保証を提供しない。データグラムは順不同で到着したり、気付かれることなく行方不明になる可能性がある。あらゆるパケットが実際に到着したか否かを調べることのオーバヘッドがないので、UDPは多くの軽量又は時間的制約のある目的に対して高速でより効率的である。また、そのステートレスな性質は、膨大な数のクライアントからの小さなクエリに応答するサーバにとって有用である。TCPと比較して、UDPはブロードキャスト(ローカルネットワーク上のすべてに送信する)及びマルチキャスト(すべての加入者に送信する)に要求される。
プロトコルスイートは、任意の所与の参照モデルの層を実施するすべてのプロトコルの層の集まりである。インターネット・プロトコル・スイートは、インターネット参照モデルの一例を提供する。インターネット・プロトコル・スイートは、インターネット及び大半の商業ネットワークが実行されるプロトコルスタックを実施する1組の通信プロトコルである。これは、最初に定義された2つでもある、2つの最も重要なプロトコルである伝送制御プロトコル(TCP)及びインターネットプロトコル(IP)に因んでTCP/IPプロトコルスイートと呼ばれることがある。
インターネットプロトコル(IP)は、パケット交換インターネットワークにわたってデータを通信するために使用されるデータ指向プロトコルである。IPは、インターネット・プロトコル・スイート内のネットワーク層プロトコルであり、データリンク層プロトコル(例えば、イーサネット)内にカプセル化される。下位層プロトコルとして、IPは、コンピュータ間での通信可能な一意で大域的なアドレッシングというサービスを提供する。これは、データリンク層がこのサービスを提供する必要がないことを暗示する。イーサネットは、大域的に通信可能でないことを除き、大域的に一意のアドレスを提供する。
リアルタイム・ストリーミング・プロトコル(RTSP)、リアルタイム・トランスポート・プロトコル(RTP)、及びリアルタイム・トランスポート制御プロトコル(RTCP)は、ネットワークを介してメディアをストリーミングするように特定的に設計された。後者の2つはUDPの上に構築される。
リアルタイム・ストリーミング・プロトコル(RTSP)は、「再生」及び「一時停止」等のVCRのようなコマンドを発行することでクライアントがストリーミングメディアサーバを遠隔制御できるようにし、且つサーバ上のファイルに時間ベースでアクセスできるようにする、ストリーミング・メディア・システムで使用するためのプロトコルである。リアルタイム・トランスポート・プロトコル(すなわちRTP)は、インターネットを介してオーディオ及びビデオを配信する標準パケットフォーマットを定義する。RTCPはリアルタイム・トランスポート制御プロトコルの略であり、RTPフローの帯域外制御情報を提供する。RTCPは、マルチメディアデータの配信及びパッケージングに際してRTPと協働するが、それ自体ではいかなるデータも搬送しない。RTCPは、ストリーミングマルチメディアセッションの参加者に制御パケットを定期的に送信するために使用される。RTCPの主な機能は、RTPによって提供されているサービスの品質についてのフィードバックを提供することである。
伝送制御プロトコル(TCP)等の信頼性の高いプロトコルは、メディアストリーム内の各ビットの正確な配信を保証する。しかし、信頼性の高いプロトコルは、タイムアウト及び再試行のシステムを使用して正確な配信を達成する。このことによってそれらのプロトコルの実装がより複雑になる。これはまた、ネットワーク上でデータ損失があった場合、プロトコルハンドラが損失を検出し、消失データを再送信する間にメディアストリームがストールすることも意味する。クライアントは、表示のためにデータをバッファリングすることによってこの影響を最小に抑えることができる。別の問題は、ファイアウォールがTCPベースのプロトコルよりもUDPベースのプロトコルをブロックしがちであることである。
伝送制御プロトコル(TCP)は、インターネット・プロトコル・スイートのコアプロトコルのうちの1つである仮想回線プロトコル(virtual circuit protocol)である。TCPを使用して、ネットワーク接続されたホスト上のアプリケーションは互いに接続することができ、その接続を介してデータをパケットで交換することができる。プロトコルは、センダから受信機へのデータの高信頼性且つ同順での配信を保証する。TCPはまた、同じホスト上で実行されている同時アプリケーション(例えば、ウェブサーバ及び電子メールサーバ)による複数の接続に関してデータを区別する。
ハイパーテキスト転送プロトコル(HTTP)は、ワールドワイドウェブ上で情報を転送又は伝達するために使用される方法である。その当初の目的は、HTMLページを公開して検索する方法を提供することであった。HTTPの開発は、ワールドワイドウェブコンソーシアム及びインターネットエンジニアリングタスクフォースによって統合され、最終的に、一連のRFC、特に、今日一般的に使用されているHTTPのバージョンであるHTTP/1.1を定義するRFC2616が公開された。HTTPは、クライアントとサーバとの間の要求/応答プロトコルである。ウェブブラウザ、スパイダ、又は他のエンドユーザツール等の発信元クライアントをユーザエージェントと呼ぶ。HTMLファイル及び画像等の資源を記憶又は作成する宛先サーバは、オリジン(origin)サーバと呼ばれる。ユーザエージェントとオリジンサーバとの間には、プロキシ、ゲートウェイ、及びトンネル等のいくつかの介在物があり得る。HTTPクライアントは、リモートホスト上の特定のポートに対して伝送制御プロトコル(TCP)接続を確立することによって要求を開始する。そのポートをリスン(listen)しているHTTPサーバは、クライアントが要求メッセージを送信するのを待つ。サーバは、要求を受信すると、ステータスライン及び本文が恐らくは要求されたファイル、エラーメッセージ、又は他の何等かの情報であるそれ自体のメッセージを返送する。
ハイパーテキスト転送プロトコル(セキュア)すなわちHTTPSは、ワールドワイドウェブ上の標準暗号化通信メカニズムである。HTTPSは、HTTPを使用して資源にアクセスする場合に通常使用されるhttp:スキームと構文的に同一であるURLスキームである。https:を使用して、URLは、HTTPを使用すべきであるが、その際に異なるデフォルトポートを使用し、且つHTTPとTCPとの間に追加の暗号化/認証層を使用することを示す。このシステムは、認証及び暗号化された通信を提供するために、Netscape Communications Corporationによって開発された。またこのシステムは、支払いトランザクション等のセキュリティが重要な通信に対してワールドワイドウェブ上で広く使用されている。
ユニキャストプロトコルは、メディアストリームの別個のコピーをサーバから各クライアントに送信する。これは単純であるが、ネットワーク上でのデータの大量の重複に繋がり得る。マルチキャストプロトコルは、任意の所与のネットワーク接続を介して、すなわち任意の2つのネットワークルータ間のパスに沿ってメディアストリームのただ1つのコピーの送信を行うようになっている。これはネットワーク容量をより効率的に使用するが、実装がはるかに複雑である。さらに、マルチキャストプロトコルはネットワークルータ及びサーバに実装しなければならない。
コンピュータネットワークでは、ユニキャストは単一の宛先への情報パケットの送信である。「ユニキャスト」は、ブロードキャストの対極であるため、ブロードキャストなる単語から派生したものである。コンピュータネットワーキングでは、マルチキャストは、ブロードキャストの効率のいくらかを取り戻すために使用される。これらの用語は、ストリーミングコンテンツプロバイダのサービスと同義でもある。ユニキャストサーバは、ストリームを一度に1人のユーザに提供するのに対して、マルチキャストサーバは、コンテンツを複数のユーザに同時に提供することによって、より大規模な視聴者をサポートすることができる。
2005年の時点で、インターネット上の大半のルータはマルチキャストプロトコルをサポートしておらず、多くのファイアウォールがマルチキャストプロトコルをブロックする。マルチキャストは、大学及び企業等の自身のネットワークを実行する組織にとって最も実用的である。組織は各自のルータを購入し、自身のネットワークリンクを実行させるため、マルチキャストプロトコルをサポートするコスト及び労力が、結果として得られる帯域幅の節減で正当化されるか否かを判断することができる。
ピアツーピア(P2P)プロトコルは、メディアをすでに有しているクライアントからメディアを有していないクライアントへのメディアの送信をアレンジする。これは、サーバ及びそのネットワーク接続がボトルネックになることを防ぐ。しかし、これは技術的な問題、性能上の問題、品質上の問題、ビジネス上の問題、及び法的な問題を生じさせる。
ピアツーピア(すなわちP2P)コンピュータネットワークは、主に、比較的少数のサーバ内に計算能力を集中させるのではなく、ネットワーク内の参加者の計算能力及び帯域幅に依存するネットワークである。P2Pネットワークは、通常、既存の接続を介してノードを接続するために使用される。このようなネットワークは多くの目的で有用である。オーディオ、ビデオ、データ、又はデジタルフォーマットのいかなるものも含むコンテンツファイルを共有することは非常に一般的であり、また電話トラフィック等のリアルタイムデータもP2P技術を使用して渡される。
純粋なピアツーピアネットワークは、クライアント又はサーバという表記を有さず、ネットワーク上のその他のノードに対して「クライアント」及び「サーバ」の両方として同時に機能する等しいピアノードのみを有する。このモデルのネットワーク構成は、通常、通信が中央サーバを対象として行われるクライアント・サーバモデルと異なる。非ピアツーピアファイル転送の代表的な例は、クライアントプログラム及びサーバプログラムが大きく異なり、クライアントがダウンロード/アップロードを開始し、サーバがこれらの要求に応答して要求を満たすFTPサーバである。
FTP、すなわちファイル転送プロトコルは、TCP/IPプロトコルをサポートする任意のネットワーク(インターネット又はイントラネット等)を介してファイルを交換するために一般に使用されるプロトコルである。FTP転送には2つのコンピュータ、すなわちサーバ及びクライアントが関わる。FTPサーバソフトウェアを実行しているFTPサーバは、ネットワーク上で他のコンピュータからの接続要求をリスンする。FTPクライアントソフトウェアを実行しているクライアントコンピュータは、サーバへの接続を開始する。クライアントは、接続されると、サーバへのファイルアップロード、サーバからのファイルダウンロード、サーバ上のファイルの名前変更又は削除等の複数のファイル操作動作を行うことができる。
ピアツーピアネットワークの1つの可能な分類は、ネットワークの集中度による分類である。
a.純粋なピアツーピア:ピアは対等に動作し、クライアントの役割とサーバの役割とを併合する。ネットワークを管理する中央サーバはなく、中央ルータもない。
a.純粋なピアツーピア:ピアは対等に動作し、クライアントの役割とサーバの役割とを併合する。ネットワークを管理する中央サーバはなく、中央ルータもない。
b.ハイブリッドピアツーピア:ピアについての情報を保持し、その情報に対する要求に応答する中央サーバを有する。ピアは、利用可能な資源をホストし(中央サーバがこれらを有しないため)、共有したい資源を中央サーバに知らせ、また資源を要求したピアに共有可能な資源を提供する責任を負う。ルート端末は、絶対アドレスを得るための1組のインデックスによって参照される使用済みアドレスである。
ピアツーピアネットワークの重要な目標は、すべてのクライアントが、帯域幅、記憶空間、及び計算能力を含む資源を提供することである。したがって、ノードが到着してシステムに対する需要が増大するにつれ、システムの全容量も増大する。これは、クライアントの追加が全ユーザのデータ転送を遅らせることを意味し得る一定の組のサーバを有するクライアント・サーバアーキテクチャには当てはまらない。
ピアツーピアネットワークの分散性は、複数のピアにわたってデータを複製することによって、また純粋なP2Pシステムでは、ピアが中央インデックスサーバに頼らずにデータを見つけられるようにすることによって、故障への堅牢性も増大させる。後者の場合、システムに単一障害点がない。
ビデオホストサービスは、個人がビデオをインターネットウェブサイトにアップロードできるようにする。次いで、ビデオホストはビデオをサーバに記憶し、個々の異なるタイプのコードを示して、他人がそのビデオを閲覧できるようにする。多くのユーザは、有料サービス又はISP提供を通じてのいずれとしても個人のウェブスペースを有しないため、ホストサービスへの需要が増大するにつれて、ビデオホストサービスはますます人気になりつつある。カメラ付き携帯電話の大量市場が、消費者によって生成されるビデオの供給を増大させた。DVDを作成して家で友人に見せる等の消費者がビデオを配布する従来の方法は、電話回線の低帯域幅による低解像度等、及びカメラ付き携帯電話クリップによって提供されるような大量のソースビデオ等に適さない。これとは対照的に、現在のブロードバンドインターネット接続は、携帯電話でのビデオショットの品質を提供するのによく適している。大半の消費者は自身のウェブサーバを所有せず、これが、消費者生成ビデオコンテンツをホストする需要を生み出した。
ビデオ共有は、ユーザが各自のビデオコンテンツを配信することができるウェブサイト又はソフトウェアを指す。サービスによっては料金を課すものがあるが、その大半は無料のサービスを提供している。多くのサービスは、プライベートで共有するオプション及び他の公開オプションを有する。ビデオ共有サービスは、本質的に2つのカテゴリ、すなわち中央サーバ配信及びピアツーピア(P2P)に分類することができる。
中央サーバ配信は、まず、ユーザにビデオをファイルサーバにアップロードするように求める。各ユーザには、ビデオファイルをホストするための中央サーバ内の特定量の空間を割り振ることができる。次いで、当業界において既知の技術を使用するストリーミングサーバを利用して、ビデオが多くの視聴者に提供される。この手法は、消費者がショートビデオを共有する必要があり、メディアの所有権が重要ではなく、且つインフラコストも同様に重要ではない場合に利用することができる。この手法では、通常、センターがビデオを調べて審査する。しかし、この方法の欠点は以下である。
a.ビデオを中央サーバにアップロードするのに時間がかかり、プロセスに遅れを生じさせる。
b.ファイル所有者によるデータファイルに対する所有権及び制御権の問題がある。アップロードされてしまうと、ユーザはコンテンツに対する所有権を失い、コンテンツに対する著作権を放棄する必要があり得る。
b.ファイル所有者によるデータファイルに対する所有権及び制御権の問題がある。アップロードされてしまうと、ユーザはコンテンツに対する所有権を失い、コンテンツに対する著作権を放棄する必要があり得る。
c.この方法は、多数のユーザにストリーミングする場合にストリーミングサーバに深刻なボトルネックを生じさせる。
d.この方法は、多数のユーザへのストリーミングに必要な帯域幅とコストとの密接な関わりも有する。
d.この方法は、多数のユーザへのストリーミングに必要な帯域幅とコストとの密接な関わりも有する。
e.この手法では、通常、ユーザは送信されるビデオ長によって制限され得る。
f.ホストは、許容されるコンテンツについてポリシーを有することがあり、これは、審査・承認サイクルに遅れを生じさせ、データファイルがホストされるのを待っているユーザを苛立たせ得る。
f.ホストは、許容されるコンテンツについてポリシーを有することがあり、これは、審査・承認サイクルに遅れを生じさせ、データファイルがホストされるのを待っているユーザを苛立たせ得る。
純粋なピアツーピア配信は、中央サーバ配信において必要な中央サーバの必要性をなくすが、むしろ、ノード−ノード間のパーソナルコンピュータ通信グリッドとして機能する。この手法の焦点は、コスト及びインフラの観点から中央に対する負荷を低減することであり得る。技術的な観点から、この方法は、各種のシーケンシング及びタイムスタンプのメカニズムを使用してビデオファイルを複数のセグメントに分けるプロセスに頼ることができる。次いで、これらのセグメントが各種パーソナルコンピュータに「供給(seeding)」され、その時点から、要求に応じてグリッドの周囲で送信及び交換される。この方法は、グリッド上のノードの帯域幅資源を利用して、グリッドの周囲でのセグメントの送信を支援する。すべてのセグメントが宛先ノードに到着すると、その時になって初めて、ビデオファイルを閲覧できるようにセグメントが組み立てられて並べられる。先の方法と比較しての利点は、中央サーバでのボトルネックの低減である。しかし、この方法の欠点は以下であり得る。
a.受信ノード、すなわちビデオ送信の場合のビューアは、ビデオを表示できるようにするには、ビデオのすべてのセグメントが到着するまで待つ必要がある。ファイルは、セグメントで、通常は低速モードで送信され得る。ファイル全体を受信した後でのみ、処理が可能である。そのため、ビデオの場合、全部を受信した場合でしか表示することができない。
b.ここでも、ユーザは、送信したビデオに対して制御権を持たない。多くのセグメント及びときには全ファイルが複製されて、グリッドの周囲のノードに記憶され、後で送信される可能性がある。
c.違法ファイル共有に関連する問題の原因になり得る匿名送信によって、この方法には多くの批判がある。
ハイブリッドピアツーピアは、純粋なピアツーピアの一変形であり、グリッドからのアップロード資源の助けによる中央サーバからのメディアストリーミングに基づく。サーバは、十分な帯域幅を有する場合にはノードにストリーミングし、帯域幅が限られている場合には、ノードが、グリッドの助けを介してダウンロード様式でファイルを受信する。この性質のシステムは、個人がストリーミングのための強力なサーバインフラを確立する手段を有しない場合に利用することができる。技術的な観点から、この方法は、中央サーバのファイルを供給又はホスティングして、ファイルを第1のノードに提供することに頼り得る。次に、第1のノードは連鎖モードで他のノードに「提供」する。中央サーバ配信と比較しての改良は、サーバへのボトルネックの低減及びコストの低減である。しかし、この方法の欠点は以下であり得る。
ハイブリッドピアツーピアは、純粋なピアツーピアの一変形であり、グリッドからのアップロード資源の助けによる中央サーバからのメディアストリーミングに基づく。サーバは、十分な帯域幅を有する場合にはノードにストリーミングし、帯域幅が限られている場合には、ノードが、グリッドの助けを介してダウンロード様式でファイルを受信する。この性質のシステムは、個人がストリーミングのための強力なサーバインフラを確立する手段を有しない場合に利用することができる。技術的な観点から、この方法は、中央サーバのファイルを供給又はホスティングして、ファイルを第1のノードに提供することに頼り得る。次に、第1のノードは連鎖モードで他のノードに「提供」する。中央サーバ配信と比較しての改良は、サーバへのボトルネックの低減及びコストの低減である。しかし、この方法の欠点は以下であり得る。
a.やはり、共有前にファイルをアップロードする必要がある。
b.ファイルはホスト中央サーバに記憶されるため、ファイルの制御権及び所有権の問題があり得る。
b.ファイルはホスト中央サーバに記憶されるため、ファイルの制御権及び所有権の問題があり得る。
c.ビデオはコンテンツ審査を受ける可能性があり、配信の遅れに繋がる。
d.ビデオの表示は、サーバがビジーであり、配信をグリッドの使用に頼らなければならない状況では、即時でないことがある。
d.ビデオの表示は、サーバがビジーであり、配信をグリッドの使用に頼らなければならない状況では、即時でないことがある。
e.送信ノードでのグリッドアップロード資源の使用は、マルチポイント送信メカニズムでの制約によって効率的ではないことがある。
ビデオ共有サービスの一変形は、制限付きクライアントベースストリーミングの方法に基づく。このビデオ要求サービスは、送信ノードがビデオファイルをセグメントに分割し、これらのセグメントを「ストリーム」の形態で適切な順序で受信ノードに送信することに頼る。これは主に、通信が1対1様式で必要な場合、例えば、ユーザが旅行中であり、家にあるコンピュータ又はDVDに記憶してあるメディアを自分に向けてストリーミングしたい場合に使用される。このビデオ共有サービスは、中央サーバの必要性、ビデオファイルアップロードステップの必要性、及びサーバのボトルネックをなくす。しかし、欠点は、通信が、送信ノードのみの利用可能なアップロード帯域幅を利用することであり得る。したがって、通常、送信は「1対1」モード又は同時に非常に少数のビューアに制限される。
ビデオ共有サービスの一変形は、制限付きクライアントベースストリーミングの方法に基づく。このビデオ要求サービスは、送信ノードがビデオファイルをセグメントに分割し、これらのセグメントを「ストリーム」の形態で適切な順序で受信ノードに送信することに頼る。これは主に、通信が1対1様式で必要な場合、例えば、ユーザが旅行中であり、家にあるコンピュータ又はDVDに記憶してあるメディアを自分に向けてストリーミングしたい場合に使用される。このビデオ共有サービスは、中央サーバの必要性、ビデオファイルアップロードステップの必要性、及びサーバのボトルネックをなくす。しかし、欠点は、通信が、送信ノードのみの利用可能なアップロード帯域幅を利用することであり得る。したがって、通常、送信は「1対1」モード又は同時に非常に少数のビューアに制限される。
ビデオ共有サービスの別の変形は、主に多数の送信アンテナから多数の受信アンテナへの無線送信の分野でのプッシュモードでのストリームを「バースト」に結合することに基づく。技術的な観点から、複数のセンダからのセグメントを共に加算してから送信することができる。受信されると、セグメントは復号化されて、元のセグメントに戻る。利点は、アンテナがデータを複数のソースから受信するように、特に、無線受信機等の受信ノードが移動体であり、複数のソースからデータを受信する必要がある場合に送信をより効率的にすることである。この方法の欠点は以下であり得る。
a.受信ノードで利用可能な空きアップロード帯域幅を使用しないこと。
b.セグメントは常に加算方法を介して結合され、受信の肯定応答メカニズムは実施されないため、複製パケットの除去に対する関心がないこと。
b.セグメントは常に加算方法を介して結合され、受信の肯定応答メカニズムは実施されないため、複製パケットの除去に対する関心がないこと。
データ圧縮又はソース符号化は、特定の符号化方式を使用して、符号化されない表現が使用するよりも少数のビット(又は他の情報搬送単位)を使用して情報を符号化するプロセスである。任意の形態の通信と同様に、圧縮データ通信は、情報のセンダ及び受信機の両方が符号化方式を理解する場合のみ機能する。圧縮アルゴリズムによっては、この性質を利用して、認可された当事者しか(パスワード又は他の何等かの種類の登録手続きの使用を通じて等で)復号化できないように、圧縮プロセス中にデータを暗号化するものがある。圧縮は、メモリ空間又は伝送帯域幅等の、高価な資源の消費の低減を助けるため有用である。圧縮されたデータは、見る(又は聞く)ために圧縮解除しなければならない。
ビデオを符号化するには、ビデオファイルに効率的な符号化フォーマットを見つける必要がある。通常、ビデオファイルは、視覚的情報のみならず、オーディオ、テキスト、メタデータ等を含む他のコンテンツも有することができ、ビデオ及びオーディオは、メモリ要求及び送信帯域幅に関して最大の要求を課す。そのため、ビデオデータ及びオーディオデータを圧縮する場合がある。不都合なことに、これは、可逆ビデオストリームのサイズが膨大であることによって、品質を損なわずに行われることは希であり得る(通常、データの品質が復元化後であっても有用である場合には、損失にかかわらず不可逆的圧縮が使用される)。ビデオ符号化には2つの別個の目標、すなわちビデオデータの記憶及び送信がある。ビデオ符号化のために開発されて成功している略すべての技法は、MPEG規格に統合されている。したがって、MPEG規格は、ビデオ符号化の包括的な知識ベースを表す。大半のビデオ符号化規格及び商業フォーマットはMPEGを変更したものである。
動画専門家グループ、すなわちMPEGは、映像及び音声の符号化規格の開発を担うISO/IECのワーキンググループである。MPEG(エムペグと発音される)は、以下の圧縮フォーマット及び補足規格を規格化している。
MPEG−1:初期の映像音声の圧縮規格。後に、ビデオCDの規格として使用され、普及しているレイヤ3(MP3)音声圧縮フォーマットを含む。
MPEG−2:ブロードキャスト品質のテレビジョン用のトランスポート映像音声規格。無線デジタルテレビジョンATSC、DVB、及びISDB、Dish Networkのようなデジタル衛星TVサービス、デジタルケーブルテレビジョン信号並びに、DVDに使用される(わずかな変更あり)。
MPEG−2:ブロードキャスト品質のテレビジョン用のトランスポート映像音声規格。無線デジタルテレビジョンATSC、DVB、及びISDB、Dish Networkのようなデジタル衛星TVサービス、デジタルケーブルテレビジョン信号並びに、DVDに使用される(わずかな変更あり)。
MPEG−3:当初はHDTV用に設計されたが、MPEG−2がHDTV用に十分であることが分かると放棄された。
MPEG−4:映像/音声「オブジェクト」、3Dコンテンツ、低ビットレート符号化をサポートし、且つデジタル著作権管理をサポートするようにMPEG−1を拡張。いくつかの新しく(MPEG−2ビデオよりも新しい)より効率の高いビデオ規格、特に、アドバンストシンプルプロファイル及びアドバンストビデオコーディングが含まれる(MPEG−2ビデオの代替)。
MPEG−4:映像/音声「オブジェクト」、3Dコンテンツ、低ビットレート符号化をサポートし、且つデジタル著作権管理をサポートするようにMPEG−1を拡張。いくつかの新しく(MPEG−2ビデオよりも新しい)より効率の高いビデオ規格、特に、アドバンストシンプルプロファイル及びアドバンストビデオコーディングが含まれる(MPEG−2ビデオの代替)。
MPEG−7:マルチメディアコンテンツを記述する形式システム。
MPEG21:MPEGはこの将来の規格をマルチメディアフレームワークとして説明している。
MPEG21:MPEGはこの将来の規格をマルチメディアフレームワークとして説明している。
MPEG−8:スタッグ(Stug)の個人的な楽しみのためにマルチメディアコンテンツを記述する将来のシステム。
不可逆データ圧縮方法は、データを圧縮し、それから復元化することによって、恐らくオリジナルと異なるが、どうにか有用なものに「十分に近い」データが回復される圧縮方法である。不可逆データ圧縮は、インターネット、特にストリーミングメディア及び電話用途で頻繁に使用されている。こういった方法は、通常、本文脈の中ではコーデックと呼ばれる。大半の不可逆データ圧縮フォーマットは生成損失を受け、ファイルを繰り返し圧縮して復元化すると、ファイルが累進的に品質を失うことになる。
不可逆データ圧縮方法は、データを圧縮し、それから復元化することによって、恐らくオリジナルと異なるが、どうにか有用なものに「十分に近い」データが回復される圧縮方法である。不可逆データ圧縮は、インターネット、特にストリーミングメディア及び電話用途で頻繁に使用されている。こういった方法は、通常、本文脈の中ではコーデックと呼ばれる。大半の不可逆データ圧縮フォーマットは生成損失を受け、ファイルを繰り返し圧縮して復元化すると、ファイルが累進的に品質を失うことになる。
2つの基本的な不可逆圧縮方式がある。不可逆変換コーデックでは、ピクチャ又は音のサンプルがとられ、小さなセグメントに刻まれ、新しい基本空間に変換されて量子化される。次に、結果得られる量子化された値がエントロピー符号化される。不可逆予測コーデックでは、先及び/又は後の復号化データが、現在の音サンプル又は画像フレームの予測に使用される。次に、予測データと実際データとの間の誤差は、予測の再現に必要な任意のさらなる情報と共に量子化及び符号化される。いくつかのシステムでは、2つの技法が組み合わせられ、変換コーデックが使用されて、予測段階によって生成される誤差信号が圧縮される。
可逆方法と比較しての不可逆方法の利点は、場合によっては、不可逆方法が、任意の既知の可逆方法よりもはるかに小さな圧縮ファイルを、用途の要件をやはり満たしながら作成することができることである。不可逆方法は、音、画像、又は映像の圧縮に最も頻繁に使用される。不可逆映像コーデックの圧縮比(すなわち、非圧縮ファイルのサイズと比較した圧縮ファイルのサイズ)は、音声及び静止画像の等価物の圧縮比よりも略常にはるかに優れている。音声は顕著な品質の損失なく10:1で圧縮することができ、映像はわずかな可視品質損失でかなり、例えば300:1に圧縮することができる。不可逆圧縮静止画像は、多くの場合、音声と同様に元のサイズの1/10に圧縮されるが、より詳しく調べてみると品質損失はより顕著である。ユーザが(例えば、ダウンロード時間を短縮するために)不可逆圧縮ファイルを得る場合、回復されたファイルはビットレベルで元ファイルとかなり異なる場合があるが、大半の実用途では人間の耳又は目で区別できない。多くの方法が、例えば、人間の目が特定の周波数の光しか見ることができないことを考慮に入れて、人体構造の特異性に焦点を合わせている。心理音響モデルは、音の知覚品質を低下させずに音の大幅な圧縮を可能にする方法を述べている。
今日、ビデオファイルの共有及び閲覧のための多くの技法及びシステムが存在する。それにもかかわらず、インターネットを介しての高品質の長いビデオファイルのリアルタイムでの送信は依然として、今日でも問題となっている。この問題は、PC等のノードの限られたアップロード及びダウンロードの送信資源によって最小の遅延及びジッタで瞬時にリアルタイムモードで見たいビデオの場合に特に強調される。したがって、ビデオネットワーク内のノードのアップロード及びダウンロードの送信資源を管理し、可能な限り最大に利用できるようにし、それによって、リアルタイムでのストリーミングメディアの表示を可能にするシステム及び方法が必要である。
以下の実施の形態及びその態様を、範囲の限定ではなく例示的且つ説明を意図するシステム、ツール、及び方法と併せて説明し図示する。各種実施の形態では、上記問題のうちの1つ又は複数が低減されるか、又はなくなり、一方、他の実施の形態は他の利点又は改良を対象とする。
一実施の形態では、送信機と1つ又は複数の受信機との間でのコンテンツ送信を調整し、1つ又は複数の受信機からのコンテンツ再送信をさらに調整するようになっている帯域幅管理モジュールを備えるリアルタイムコンテンツ送信機が提供される。送信機は、コンテンツを符号化するようになっている符号化モジュールをさらに備えることができる。送信機は、コンテンツストリームをリアルタイムで結合するようになっているコンテンツトランスポータをさらに備えることができる。
別の実施の形態では、帯域幅管理モジュールからの信号に基づいて1つ又は複数のソースからのコンテンツを受信するようになっている通信モジュールを備えるリアルタイムコンテンツ受信機が提供され、当該通信モジュールは、帯域幅管理モジュールからの信号に基づいて1つ又は複数の宛先に受信コンテンツを再送信するようにさらになっている。受信機は、コンテンツストリームをリアルタイムで結合するようになっているコンテンツトランスポータをさらに備えることができる。受信機は、受信コンテンツの1つ又は複数の肯定応答メッセージを1つ又は複数の送信機に送信するようにさらになっているものとすることができる。
帯域幅管理モジュールは、コンテンツデータレートがコンテンツに関連する最小データレート以上であるように、コンテンツの送信及び再送信を調整するようになっているものとすることができる。帯域幅管理モジュールは、動的帯域幅を計算するようになっているものとすることができる。帯域幅管理モジュールは、計算された速度で通信するように1つ又は複数のノードに命令するようになっているものとすることができる。帯域幅管理モジュールは、データ送信に1つ又は複数のノードを割り当てるようになっているものとすることができる。帯域幅管理モジュールは、2つ以上のノード間で利用可能な通信オプションに基づいて、データ送信に1つ又は複数のノードを割り当てるようになっているものとすることができる。
コンテンツはメディアコンテンツを含むことができる。メディアコンテンツはビデオコンテンツを含むことができる。帯域幅管理モジュールは別のノードに転送可能であり得る。帯域幅管理モジュールは、ディセーブルノードを識別し、データの送信又は受信に別のノードを割り当てるようになっているものとすることができる。帯域幅管理モジュールは、ファイアウォールによって課される制約がある場合、中継ノード(トランジットノード)を確立するようになっているものとすることができる。帯域幅管理モジュールは、コンテンツを中央サーバにアップロードせずに送信機と1つ又は複数の受信機との間でのコンテンツ送信を調整するようになっているものとすることができる。
参照する図及び図面に例示的な実施形態を示す。本明細書に開示される実施形態及び図は限定ではなく例示とみなされるべきものである。
本開示は、高品質データの多くのセンダ及び受信機が存在し、データが適切な順序及びタイミングで到着しなければならない、コンテンツ、特にビデオコンテンツのデータ通信ネットワークを介してのリアルタイム送信に関する。さらに、本開示は、各センダのアップロード帯域幅及び各受信機のダウンロード帯域幅に関して資源の制約があり、データファイルの特定のホストが、データファイルの受信部分を有する他のノードからの助けによってデータを送信することができる場合の帯域幅管理の技法に関する。
1.システムアーキテクチャ
この実施形態で開示するシステムアーキテクチャは、本明細書において識別され説明される以下の要素及び構成要素を含む。
1.システムアーキテクチャ
この実施形態で開示するシステムアーキテクチャは、本明細書において識別され説明される以下の要素及び構成要素を含む。
a.チャネル:2つのノードを接続する通信回線。チャネルは、或るノードから別のノードにビデオファイルを転送又は搬送できるようにする。チャネルは任意の有無線回線であってもよい。
b.データ:テキスト、イメージ、オーディオ、ビデオ、又は他の情報を任意のフォーマットで表すビットの順序付き集まりである。
c.マネージャ構成要素:ビデオネットワークの管理機能を有するソフトウェア構成要素(複数可)、特徴(複数可)、又は機能(複数可)。これらは、仮想ビデオライブラリ(複数可)と1つ又は複数のネットワーク内のビデオトランスポータ間の搬送又は送信とを管理する。マネージャ構成要素は、帯域幅管理を実行し、どの装置又は機能がデータをどの速度で他に送信するかを判断する。
c.マネージャ構成要素:ビデオネットワークの管理機能を有するソフトウェア構成要素(複数可)、特徴(複数可)、又は機能(複数可)。これらは、仮想ビデオライブラリ(複数可)と1つ又は複数のネットワーク内のビデオトランスポータ間の搬送又は送信とを管理する。マネージャ構成要素は、帯域幅管理を実行し、どの装置又は機能がデータをどの速度で他に送信するかを判断する。
d.マネージャ:マネージャ構成要素を含むノード。マネージャ及びマネージャ構成要素なる用語は、本開示において同義で使用することができる。
e.ノード:PC、サーバ、携帯電話、ハンドヘルド装置、又は他のコンピュータもしくは通信ユニットであってもよい。ノードは、マネージャ構成要素若しくはビデオトランスポータ、又はこれらの両方を含むことができる。ノードは、ビデオエンコーダ及びビデオプレーヤ等の任意の業界標準構成要素を含んでもよい。
e.ノード:PC、サーバ、携帯電話、ハンドヘルド装置、又は他のコンピュータもしくは通信ユニットであってもよい。ノードは、マネージャ構成要素若しくはビデオトランスポータ、又はこれらの両方を含むことができる。ノードは、ビデオエンコーダ及びビデオプレーヤ等の任意の業界標準構成要素を含んでもよい。
f.プロジェクタ:ビデオをホストすると共に他のノードへビデオを送信するノード。
g.受信機:データを受信するノード。
h.センダ:データを送信するノード。
g.受信機:データを受信するノード。
h.センダ:データを送信するノード。
i.送信機:センダと同じであり、この用語はセンダと同義で使用することができる。
j.ビデオネットワーク:データが送信されているノード及びチャネルの集まり。ビデオネットワークは、1つのビデオファイルを管理し、その搬送を処理する。
j.ビデオネットワーク:データが送信されているノード及びチャネルの集まり。ビデオネットワークは、1つのビデオファイルを管理し、その搬送を処理する。
k.ビデオトランスポータ(VT):ノードに存在し、データの送信及び/又は受信を担当するソフトウェア構成要素。ビデオトランスポータは、プロジェクト及び表示にも使用される。ビデオトランスポータは多くのビデオネットワークに参加することができる。
l.仮想ビデオライブラリ:ビデオネットワーク内の各種ビデオトランスポータでホストされるすべてのビデオファイルのリスト、データベース、又はインデックス。マネージャがこのライブラリをホストし管理することができる。
m.ビューア:ビデオのビューアとして動作するビデオトランスポータ。
図1を参照すると、図1は、ビデオのリアルタイムコンテンツ送信のためのビデオネットワーク(100)の例示的なシステムアーキテクチャの図であり、このビデオネットワークはマネージャ(101)及び4つのノード(102)を含むが、他の実施形態では、ビデオネットワークは1つのマネージャ(101)及び1つのみのノード(102)、又は1つのマネージャ(101)及び任意の複数のノード(102)から成ってもよい。
図1を参照すると、図1は、ビデオのリアルタイムコンテンツ送信のためのビデオネットワーク(100)の例示的なシステムアーキテクチャの図であり、このビデオネットワークはマネージャ(101)及び4つのノード(102)を含むが、他の実施形態では、ビデオネットワークは1つのマネージャ(101)及び1つのみのノード(102)、又は1つのマネージャ(101)及び任意の複数のノード(102)から成ってもよい。
ビデオネットワーク(100)はノード(102)で構成される。ノード(102)はマネージャ(101)であってもよく、この場合、マネージャ構成要素を含み、又はノード(102)は単純なノード(102)であってもよく、この場合、ビデオトランスポータを含む。各ビデオネットワーク(100)は、特定のビデオファイルに向けて特に構築され、1つのみのマネージャ(101)によって管理されるが、ノード(102)は、それ自体のマネージャ(101)をそれぞれ有するいくつかのビデオネットワーク(100)に参加することが可能である。マネージャ(101)はいくつかのビデオネットワーク(100)を管理することができる。
マネージャ(101)は、ビデオネットワーク(100)の管理、どのノード(102)がセンダとして動作するか、データ(105)をどこに送信するか、及びデータ(105)を送信すべき速度を判断する責任を負う。マネージャ(101)は、本質的に、各ノード(102)でのビデオトランスポータの状態を制御し、各センダが、受信機のアドレスを含む、送信すべきデータ(105)についての初期情報を知るようにコマンド(103)をノードに送信し、また入力チャネルに関連する情報を受信機に送信する。
ビデオネットワーク(100)内の各ノード(102)は、どのデータ(105)を別のノード(102)に送信するか、どのように送信するかを判断する責任を負うと共に、他のノード(102)からデータ(105)を要求する責任も負う。各ノード(102)は、他のビデオネットワーク内の他のノードからデータ(105)を送受信することもできる。各ノード(102)は、データ(105)を他のビデオトランスポータへ/から送受信する責任を負うビデオトランスポータを含む。
ノード(102)は多くのファイルのホストであることができる。特定のファイル又はいくつかのファイルを要求している受信機は、要求(104)をマネージャ(101)に送信し、マネージャ(101)は、データ送信に利用可能なノードを識別し、この情報を受信機に通信する責任を負う。次に、受信機及びセンダは互いに直接通信する責任を負う。
ノード機能の柔軟性はシステム性能の向上を提供する。オリジナルホストとして動作するノード(102)は、必要があれば、ホストとして動作するように容易に配置される1つ又は複数のノード(102)で置換することができる。例えば、ファイアウォールが両ノードで使用される場合に発生し得るように、2つのノード(102)間にチャネルを構築することができない場合、第3のノード(102)又はより多くのノード(102)が、中間ビデオトランスポータとして機能することができる。同じビデオネットワーク(100)内の2つ以上のノード(102)が、リアルタイムで見られるように同じビデオファイルを同時に送信することによってホストとして動作することができる。
ノード(102)間及びノード(102)とマネージャ(101)との間のビデオネットワーク(100)内の接続手段は、インターネット接続のための標準インターネットプロトコル、例えば、TCP/IP、UDP、HTTP、HTTPS等に基づく。マネージャ(101)及びビデオトランスポータが同じノード(102)上にある場合、ローカル接続で十分であり得る。ビデオネットワーク(100)がローカルネットワーク上にある場合、ローカルネットワークプロトコルで十分であり得る。
図2を参照すると、図2は、本実施形態のオブジェクトモデルと、ビデオネットワークを管理すると共にビデオファイルを搬送するシステム内のオブジェクト要素の相互関係とを示す例示的な概略図である。この例は、説明のみを目的とし、システム内で相関する場合のある、桁違いであり得るオブジェクト要素数の限定を意図するものではない。
ビデオ(201)は、1つのみのビデオネットワーク、例えばビデオネットワーク(202)のみに参加することができる。ビデオネットワーク(202)は、1つのみのビデオ(201)のためのものである。マネージャ(215)は1つのビデオネットワーク、例えばビデオネットワーク(202)を管理するが、例えば図2に表すように、ビデオネットワーク(203)及び(204)のうちの一方又は両方を含めることによって、複数のビデオネットワークを同時に管理することができる。ビデオネットワーク、例えばビデオネットワーク(202)は、1つのみのマネージャ(215)によって管理される。ビデオネットワーク、例えばビデオネットワーク(202)は、例えば図2に表すように、1つ、2つ、又は3つのビデオトランスポータ(206)、(208)、及び(210)を含むことによって、1つ又は複数のビデオトランスポータを含む。ビデオトランスポータ、例えばビデオトランスポータ(206)は、1つのビデオネットワーク、例えばビデオネットワーク(206)に属することができるが、例えば図2に表すように、ビデオトランスポータ(208)及び(210)を含めることによって、複数のビデオネットワークに属することもできる。
図3Aを参照すると、ビデオのリアルタイムコンテンツ送信のための例示的なビデオネットワーク(300)の例示的な構造構成が示され、また図3Bを参照すると、例示的なビデオネットワーク(300)によって説明される例示的な搬送システム(350)の同様のトポロジー構成が示される。ここで説明する例は限定を意図せず、他の実施形態は、1つ又は複数のノード及び/又はビデオトランスポータ、例えば、1〜5、5〜25、25〜100、100〜1000、1000〜10000、10000〜100000、100000〜500000、500000〜1000000、1000000〜5000000を含むビデオネットワーク及び/又は搬送システムを含み得る。
例示的な構造構成は、4つのノード(302)、マネージャ(301)、コマンドチャネル(303)、要求チャネル(304)、及びデータチャネル(305)を含むビデオネットワーク(300)を参照し、これらはすべて図1において(100)、(102)、(101)、(103)、(104)、及び(105)で示すものと同様である。同様の例示的なトポロジー構成は、4つのビデオトランスポータ(316)、マネージャ構成要素(310)、マネージャ構成要素とビデオネットワーク(316)との間のコマンド/要求トランスポート層(314)、及びビデオトランスポータ(316)によって共有されるネットワーク内ファイルトランスポート層(318)で構成される搬送システム(350)を参照する。
マネージャ構成要素(310)は、ビデオネットワーク(300)内の1つのノード(302)のみを専有することができるマネージャ(301)に含まれる。この例では4つあるビデオトランスポータ(316)は、ビデオネットワーク(300)内の4つのノード(302)に含まれる。各ビデオネットワーク(312)は特定のビデオファイル(320)に向けて特に構築され、1つのみのマネージャ構成要素(310)によって管理される。
図4を参照すると、図4は、ビデオ管理・搬送システム内の各種類の要素間の管理及び機能に関する相互関係の組み合わせ例を示すいくつかのトポロジーマップを含む。ビデオ管理・搬送システム(以下、システムと呼ぶ)は、マネージャ構成要素、ビデオトランスポータ(複数可)、ビデオネットワーク(複数可)、以下、チャネルと同義で使用することができるトランスポート層(複数可)、及びビデオファイル(複数可)を含む。本明細書で説明する例は限定を意図せず、可能な管理と機能との相互関係の多くの組み合わせ及び1つ又は複数のシステム内で管理できる要素数のほんの小さな一例にすぎない。さらに、示される例で使用される上記要素は、すべての例で同様であってもよく、さらには同じであってもよく、1つ又は複数の搬送システムで可能な多くの相互関係の組み合わせで使用できる要素と同様又は同じであってもよい。
システム(450)は、マネージャ(404)が1つのビデオネットワーク、例えばビデオネットワーク(401)を管理し、1つのビデオファイル、例えばビデオファイル(403)がビデオネットワーク毎に搬送され、複数のビデオトランスポータ、例えば、ビデオトランスポータ(402)等の3つのビデオトランスポータが1つのビデオネットワーク内で参加している例示的なシステムである。チャネル(405)は、ビデオトランスポータ(402)等の複数のビデオトランスポータ間でデータ及び制御信号を搬送するチャネルの一例である。
システム(460)は、マネージャ(406)が複数のビデオネットワーク、例えば、ビデオネットワーク(412)、ビデオネットワーク(408)、及びビデオネットワーク(409)等の3つのビデオネットワークを管理し、複数のビデオトランスポータが複数のビデオネットワークに参加しており、例えば、2つのビデオトランスポータ(410)がビデオネットワーク(408)及びビデオネットワーク(412)の両ビデオネットワークに参加している例示的なシステムである。
システム(470)は例示的なシステム(450)及びシステム(460)の変形であり、マネージャ(407)が複数のビデオネットワーク、例えば、ビデオネットワーク(413)及びビデオネットワーク(414)等の2つのビデオネットワークを管理し、複数のビデオトランスポータが複数のビデオネットワークに参加しており、例えば、1つのビデオトランスポータ(411)がビデオネットワーク(409)及びビデオネットワーク(413)という2つのビデオネットワークに参加する。この変形では、複数のビデオネットワークに参加している複数のビデオトランスポータはそれぞれ、各ビデオネットワークの個々のマネージャによって管理され、例えば、ビデオトランスポータ(411)はマネージャ(406)及びマネージャ(407)という2つのマネージャによって管理される。
図5を参照すると、搬送システムのいくつかのトポロジーマップを、マネージャ構成要素(複数可)、ビデオトランスポータ(複数可)、ビデオネットワーク(複数可)、及びトランスポート層(複数可)を含むこのような搬送システム(複数可)に参加している各種要素間で可能な相互接続の例と共に示す。ここで説明する例は限定を意図せず、可能な多くの相互接続の組み合わせ、及び1つ又は複数の搬送システム内で相互接続できる要素数のほんの小さな一例にすぎない。さらに、示される例で使用される上記要素は、すべての例で同様であってもよく、さらには同じであってもよく、1つ又は複数の搬送システムで可能な多くの相互接続の組み合わせで使用できる要素と同様又は同じであってもよい。
搬送システム(500)は、1つのマネージャ構成要素(502)によって管理される1つのビデオネットワーク(510)の一例である。コマンドデータが、マネージャ構成要素(502)からビデオネットワーク(510)内のビデオトランスポータ(503、504、505)に、すべてが同様の又は同じトランスポート層であってもよいトランスポート層(506、507)と同様又は同じであってもよいトランスポート層(501)を通じて送信され、要求がトランスポート層(501)を通じてビデオトランスポータ(503、504、505)から受信される。ビデオ(508)は、ビデオトランスポータ(503、504、505)のうちの任意の1つ、例えばビデオトランスポータ(503)によってプロジェクトすることができ、トランスポート層(506)を通じてビデオトランスポータ(504)に送信され、ビデオトランスポータ(505)はトランスポート層(507)を通じてビデオ(508)をビデオトランスポータ(504)に再送信する。
搬送システム(530)は、1つのマネージャ構成要素(531)によって管理される3つのビデオネットワーク(536、537、565)の一例であり、いくつかのビデオトランスポータ、例えば2つのビデオトランスポータ(539、540)が2つ以上のビデオネットワーク、例えば2つのビデオネットワーク(536、537)に参加する。ビデオネットワーク(536)では、コマンドデータが、マネージャ構成要素(531)からビデオトランスポータ(538、539、540)に、すべてが同様の又は同じトランスポート層であってもよいトランスポート層(545、546)と同様又は同じであってもよいトランスポート層(532)を通じて送信され、要求がトランスポート層(532)を通じてビデオトランスポータ(538、539、540)から受信される。ビデオ(549)は、ビデオトランスポータ(538、539、540)のうちの任意の1つ、例えばビデオトランスポータ(538)によってプロジェクトすることができ、トランスポート層(545)を通じてビデオトランスポータ(539)に送信され、ビデオトランスポータ(539)はトランスポート層(546)を通じてビデオ(549)をビデオトランスポータ(540)に再送信する。
ビデオネットワーク(537)では、コマンドデータが、マネージャ構成要素(531)からビデオトランスポータ(539、540、541、542)に、すべてが同様の又は同じトランスポート層であってもよいトランスポート層(543、544、546)と同様又は同じであってもよいトランスポート層(533)を通じて送信され、要求がトランスポート層(533)を通じてビデオトランスポータ(539、540、541、542)から受信される。ビデオ(548)は、ビデオトランスポータ(539、540、541、542)のうちの任意の1つ、例えばビデオトランスポータ(539)によってプロジェクトすることができ、トランスポート層(546)を通じてビデオトランスポータ(540)に送信され、ビデオトランスポータ(540)はトランスポート層(544)を通じてビデオ(548)をビデオトランスポータ(541)に再送信し、ビデオトランスポータ(541)はトランスポート層(543)を通じてビデオ(548)をビデオトランスポータ(542)に再送信する。
ビデオネットワーク(565)では、コマンドデータが、マネージャ構成要素(531)からビデオトランスポータ(554、555)に、すべてが同様の又は同じトランスポート層であってもよいトランスポート層(556)と同様又は同じであってもよいトランスポート層(580)を通じて送信され、要求がトランスポート層(580)を通じてビデオトランスポータ(554、555)から受信される。ビデオ(565)は、ビデオトランスポータ(554、555)のうちの任意の1つ、例えばビデオトランスポータ(554)によってプロジェクトすることができ、トランスポート層(556)を通じてビデオトランスポータ(555)に送信される。
2つのビデオネットワーク、すなわちビデオネットワーク(536)及びビデオネットワーク(537)が、両方のビデオネットワークで使用されるすべてのビデオトランスポータと本質的に同様又は同じであるビデオトランスポータ(539)及びビデオトランスポータ(540)を共有し、両方のビデオネットワークで使用される他のすべてのトランスポート層と本質的に同様又は同じである共通トランスポート層(546)を共有するが、ビデオ(549)は、ビデオネットワーク(536)に関連するビデオトランスポータのみによってプロジェクト、搬送及び表示されるのに対して、ビデオプロジェクタ(548))は、ビデオネットワーク(537)に関連するビデオトランスポータのみによってプロジェクト、搬送及び表示される。
搬送システム(550)は、2つのビデオネットワーク(560、571)が1つのマネージャ構成要素(551)によって管理され、いくつかのビデオトランスポータ、例えば1つのビデオトランスポータ(555)が2つ以上のビデオネットワーク、例えば、2つのビデオネットワーク(560、565)に参加し、第3のビデオネットワーク(571)が他の2つのビデオネットワーク(560、565)から完全に独立している例である。ビデオネットワーク(560)では、コマンドデータが、マネージャ構成要素(551)からビデオトランスポータ(555、557、559)に、すべてが同様の又は同じトランスポート層であってもよいトランスポート層(558、581)と同様又は同じであってもよいトランスポート層(553)を通じて送信され、要求がトランスポート層(553)を通じてビデオトランスポータ(555、557、559)から受信される。ビデオ(562)は、ビデオトランスポータ(555、557、559)のうちの任意の1つ、例えばビデオトランスポータ(557)によってプロジェクトすることができ、トランスポート層(581)を通じてビデオトランスポータ(555)に送信されると共に、トランスポート層(558)を通じてビデオトランスポータ(559)にも送信される。
ビデオネットワーク(260)から完全に独立しているビデオネットワーク(571)では、コマンドデータが、マネージャ構成要素(551)からビデオトランスポータ(566、568、570、575)に、すべてが同様の又は同じトランスポート層であってもよいトランスポート層(567、569、574)と同様又は同じであってもよいトランスポート層(552)を通じて送信され、要求がトランスポート層(552)を通じてビデオトランスポータ(566、568、570、575)から受信される。ビデオ(573)は、ビデオトランスポータ(566、568、570、575)のうちの任意の1つ、例えばビデオトランスポータ(568)によってプロジェクトすることができ、トランスポート層(567)を通じてビデオトランスポータ(566)に送信されると共に、トランスポート層(569)を通じてビデオトランスポータ(570)にも送信され、ビデオトランスポータ(570)はトランスポート層(574)を通じてビデオ(573)をビデオトランスポータ(575)に再送信する。
ビデオネットワーク(565)及びビデオネットワーク(560)の両方に含まれるビデオトランスポータ(555)は、マネージャ構成要素(531)及びマネージャ構成要素(551)の両方によって管理することができる。
2.ビデオネットワークの構築
システムは、ビデオトランスポータがネットワークのマネージャを容易に見つけることができるビデオネットワークの構築を必要とする。中央データベース又は複数のノードにわたって分散してもよい他の何等かの形態のデータ記憶手段が使用され、マネージャ及びノードの識別詳細が登録される。
2.ビデオネットワークの構築
システムは、ビデオトランスポータがネットワークのマネージャを容易に見つけることができるビデオネットワークの構築を必要とする。中央データベース又は複数のノードにわたって分散してもよい他の何等かの形態のデータ記憶手段が使用され、マネージャ及びノードの識別詳細が登録される。
図6を参照すると、図6は、ビデオネットワークを構築する例示的なプロセスを示すフローチャートである。マネージャ構成要素はまず、ログインプロセスによってデータベースに登録し(ログインプロセスは他の何等かの形態の登録プロセスであってもよい)、アドレス及びポート等のマネージャの接続詳細を含む情報をデータベースに入力する(ステップ601)。ビデオネットワークに入りたいビデオトランスポータは、データベースに接続して、マネージャの接続詳細を得る(ステップ602)。マネージャの接続詳細を使用して、ノードはマネージャに接続し、ビデオトランスポータはマネージャ構成要素にログインする。ログイン中、ビデオトランスポータは、ビデオネットワークについての必要情報が記憶されているマネージャの記憶領域であるメモリ領域に記憶されており、また、センダ、受信機、チャネルビットレート等についてのIPアドレス、ポート、及びビデオトランスポータ間のチャネルについての情報等のビデオトランスポータの接続パラメータを含み得るノードの接続詳細をマネージャ構成要素に提供する(ステップ603)。ノード(又はビデオトランスポータ、以下これらを同義で使用する)はここで、ビデオネットワークに接続される(ステップ604)。
ビデオネットワークに入るビデオトランスポータは、プロジェクタ(1つ又は複数のビデオファイルをホストする)及び/又はビューアとして機能することができ、ビューアの場合、ビデオトランスポータはビデオネットワークを通じてブロードキャストされているビデオファイルの閲覧を望む。この段階において、ビデオトランスポータは、次にどれをマネージャ構成要素に通信しなければならないかを判断しなければならない(ステップ605)。プロジェクタとして動作したいビデオトランスポータは、ノードの名称、アドレス、ポートを組み込んでいる情報並びにプロジェクタコンピュータ上のビデオファイルへのパス(以下、リンクと呼ぶ)、ファイルサイズ、及び他のメタデータを含むプロジェクトすべきビデオに関する情報を含むが、これらに限定されない要求をマネージャ構成要素に送信する(ステップ606)。マネージャ構成要素は、各ビデオネットワークで管理される各ビデオファイルへのリンクが記憶され、プロジェクタへのリンク並びにビデオファイルが、永久的であれ一時的であれ記憶されている他のノードへのリンクを含む仮想ビデオライブラリを管理する(ステップ607)。仮想ビデオライブラリは、マネージャ構成要素の一部であっても、マネージャ構成要素から独立してもよく、1つのノードに中央化されてもよく、又は複数のノードに分散してもよい。
ビューアとして動作したいビデオトランスポータは、仮想ビデオライブラリで利用可能なビデオファイルのリストに対する要求をマネージャ構成要素に送信する。ビューアはまた、ビデオファイルのリストを経由する必要なく特定のビデオファイルを要求してもよい(ステップ608)。次いで、マネージャ構成要素は、プロジェクタの場合にあり得るように永久的にであれ、他のビューアの場合であり得るように一時的にであれ、ビデオファイル又はその一部を記憶している他のビデオトランスポータであるセンダに、ファイル又はその一部を要求しているビューアに搬送するように命令する(ステップ609)。マネージャ構成要素から許可を受け取ったビューアは、将来にプロジェクタとして機能できるようにビデオファイルを永久的に記憶することができる。センダがビデオファイル又はその一部の送信を保留又は停止した状況では、マネージャ構成要素は代替のビデオトランスポータにセンダとして動作するように命令することができる。
3.帯域幅管理及び基本搬送
ビデオファイルの送信に先立ち、いずれかが使用制限対策を組み込み得るプロプラエタリアルゴリズム又は市販の圧縮アルゴリズム等の圧縮アルゴリズムを使用して、データを圧縮することができる。符号化方式は適応型であり、ビデオネットワーク内のチャネルの制約及びパラメータに基づき、符号化方式はユーザの好みに基づいてカスタムであってもよい。
3.帯域幅管理及び基本搬送
ビデオファイルの送信に先立ち、いずれかが使用制限対策を組み込み得るプロプラエタリアルゴリズム又は市販の圧縮アルゴリズム等の圧縮アルゴリズムを使用して、データを圧縮することができる。符号化方式は適応型であり、ビデオネットワーク内のチャネルの制約及びパラメータに基づき、符号化方式はユーザの好みに基づいてカスタムであってもよい。
独立且つ/又は一緒に動作するマネージャ及びマネージャ構成要素は、本実施形態によって説明されるシステム及び本開示で説明されないすべての可能な代替の実施形態において帯域幅アドミニストレータと呼ばれることもある帯域幅管理モジュールとして動作する。帯域幅管理モジュールは、本開示全体を通じてマネージャ及び/又はマネージャ構成要素と同義に使用することができ、各ノードの帯域幅利用を最大化する責任を負う。ビデオトランスポータは、ユーザ(ノードでの)がビデオファイルを連続して一見即座に見られるように、ビデオファイルのリアルタイムでのセグメント化、続く再結合及び併合の責任を負う。
図7を参照すると、ビデオネットワークの状態に依存する例示的な2つの搬送方法が示される。図示する例示的な各方法では、3つのビデオトランスポータが使用されるが、方法は複数のビデオトランスポータ、例えば2〜5、5〜50、50〜1000、1000〜10000、10000〜100000、100000〜500000、500000〜1000000、1000000〜5000000を使用してもよい。ビデオファイルは複数の間隔、例えば、20〜200間隔に分けられるが、ファイルは20〜50、50〜80、80〜110、110〜140、140〜170、170〜200の範囲の間隔に分けてもよい(ステップ701)。次に、各間隔は複数のセグメント、例えば、20〜200セグメントに分けられるが、間隔は20〜50、50〜80、80〜110、110〜140、140〜170、170〜200の範囲のセグメントに分けてもよい(ステップ702)。各間隔は一度に1つずつ、間隔がビデオファイルから導出された順序で受信機によって処理される。
セグメントは、データ送信を可能な限り安全に保つために暗号化プロセスを経た後にビデオトランスポータ(センダ)間で送信される。ビデオトランスポータは、チャネル容量に依存する割り振りプロセスに基づいて送信すべきセグメントを割り振る責任を負う。例えば、ビデオトランスポータA、B、及びCは、セグメント1〜3及び4〜6を順次にそれぞれ送信し、受信機によって同じ順序で受信される(ステップ703)。
どのデータを送信しなければならないかを判断するために、システムは2つのカーソル、すなわち受信データカーソル及びビデオカーソルを保持する。次いで、受信機は、処理におけるギャップを制限するために、受信データカーソルが常にビデオカーソルの前にあることを保証する。ビデオカーソルが受信データカーソルに近づくにつれ、受信機はセンダからの特定のタイプのセグメントの要求に対する緊急度を増大させることができる。
センダは、受信機からの要求があるとセグメントを送信する。セグメントが受信される場合、肯定応答がセンダに返信されて、受信が確認される。1つの間隔のすべてのセグメントが受信されると、受信機は新しい間隔の新しいセグメントの送信を要求する。データは、受信されると、処理前に許可に基づいて復号化される。これによって、ビデオファイルの保護及び適切な配信が保証される。
ビデオネットワーク内の各ノードは、アップロード帯域幅及びダウンロード帯域幅を有する。アップロード帯域幅は、特定のノードのすべての送信チャネルの最大可能速度である。ダウンロード帯域幅は、特定のノードのすべての受信チャネルの最大可能速度である。マネージャは、帯域幅管理の機能を実行しながら、システム全体の帯域幅利用を最大化する責任を負う。このプロセスでは、マネージャは、センダ及び受信機の両方としてチャネルビットレート、予約帯域幅容量、及びフリー帯域幅容量を含む各ノードのチャネル容量を考慮する。いくつかの実施形態では、システムはまず、優先度をフリー帯域幅に与えてから予約帯域幅を使用し、他の実施形態では、優先度がまず予約帯域幅の使用に与えられてから、フリー帯域幅が使用される。
チャネルビットレートは、ビデオファイルのデータビットレートの関数である。送信のタイミングは、データの適宜処理にとって非常に重要である。送信されるセグメントのタイミングは、2つの主な要因、すなわちチャネルの速度及びその特定のセグメントに対する特定の要件によって影響される。特定のセグメントに対して特定の要件がある場合、そのセグメントには最高の優先度が与えられて即座に送信される。しかし、通常の動作の過程では、ビデオトランスポータ「a」(センダ)がデータをビデオトランスポータ「b」(受信機)に送信する必要があるときに、システムは最良のチャネルビットレートを計算する。
例えば、2つのビデオトランスポータ、すなわちセンダ及び受信機しかない状況を考える。センダが最大アップロード帯域幅Uaを有すると仮定する。また、受信機が最大ダウンロード帯域幅Dbを有すると仮定する。送信する必要があるデータはビットレートbを有する。チャネルのビットレートはvであり、以下のように計算することができる。
データは複数のビットレートbnで表すこともできる。この場合、システムは、上記式に適合するデータビットレートを選択することができる。これらの条件を満たすbが存在しない場合、ビデオトランスポータ「a」からビデオトランスポータ「b」への送信を行うことはできない。
チャネルの速度は静的ではなく、送信中に変化し得る。こういった変動は、ビデオネットワークの状態、ネットワークに追加されている、若しくは除去されているか、若しくは帯域幅を他の目的に割り振っている受信機及び/若しくはセンダの変化、又はチャネルに伴う問題があるか否かによって影響される。速度は増減し得るが、常に上記規則の限度内に留まる。
チャネルの予約帯域幅容量は、ビデオファイルのサイズ並びにビデオカーソル及び受信データカーソルの相対位置に対するファイルのデータビットレートの関数である。チャネルのビットレートは可変であり、ビデオネットワーク内の資源を最大化するように調整される。データストリームが送信時に固定端(サイズsを有するファイル)を有する場合、最低速度Vmin:
が必要である。式中、bはデータビットレートであり、sはファイルサイズであり、rは受信データカーソルの現在位置であり、pはビデオカーソルの現在位置である。
これらの場合、
これらの場合、
であり、チャネルでv>Vminの場合、アップロード資源の予約Rはセンダによる使用に利用でき、以下のように計算することができる。
この予約は、要求に応じてデータを他のビデオトランスポータに送信するために使用することができる。旧チャネルのビットレートは、予約帯域幅を使用することによって低減する。
フリー帯域幅容量は、チャネルで使用されていない帯域幅の関数である。フリー帯域幅は使用されていない帯域幅であるため、センダによる使用に利用できる。これは、以下のように計算することができる。
式中、vcは、センダaが送信しているあらゆるチャネルのチャネルビットレートであり、Uaはセンダaのアップロード帯域幅である。
図8を参照すると、例示的なビデオネットワークの帯域幅管理及び利用の例示的なプロセスが示される。図示のビデオネットワーク(800)は、5つのノード、すなわちノードA(801)、ノードB(802)、ノードC(803)、ノードD(804)、及びノードE(805)を含むが、説明するプロセスは、多くのノード、例えば、2〜5、5〜50、50〜1000、1000〜10000、10000〜100000、100000〜500000、500000〜1000000、1000000〜5000000を含む他のビデオネットワークに適用することも可能である。
図8を参照すると、例示的なビデオネットワークの帯域幅管理及び利用の例示的なプロセスが示される。図示のビデオネットワーク(800)は、5つのノード、すなわちノードA(801)、ノードB(802)、ノードC(803)、ノードD(804)、及びノードE(805)を含むが、説明するプロセスは、多くのノード、例えば、2〜5、5〜50、50〜1000、1000〜10000、10000〜100000、100000〜500000、500000〜1000000、1000000〜5000000を含む他のビデオネットワークに適用することも可能である。
ノードA(801)はプロジェクタであり、チャネル帯域幅容量300kb/sを必要とするビデオファイルをホストし、チャネルアップロード帯域幅380kb/sを有する。ノードB(802)、ノードC(803)、ノードD(804)、及びノードE(805)はすべてビューア(受信機)であり、送信ビデオファイルの処理に適するダウンロード帯域幅(最小300kb/s)を有すると仮定される。ノードB(802)は、ノードA(801)のアップロード帯域幅380kb/sのうちの300kb/sを占めるビデオファイルをノードA(801)から受信し、ノードA(801)の残りのフリーアップロード帯域幅は80kb/sのみになる。ノードC(803)はノードA(801)から完全なビデオファイルを受信することができないため、ノードA(801)の残りのフリーアップロード帯域幅である50kb/sを占める部分のみを受信する。ノードB(802)はアップロード帯域幅520kb/sを有するため、帯域幅のうちの250kb/sを占めるビデオファイルの残りの部分をノードC(803)に提供することができ、ノードC(803)はここで、ノードA(801)からの部分とノードB(802)からの部分とを結合することによって完全なビデオファイルを受信する。ノードB(802)には、ビデオファイルの部分をビデオネットワーク(800)内の他のノードに送信するために270kb/sのフリーアップロード帯域幅が残っている。ノードD(804)は、フリーアップロード帯域幅30kb/sを有するノードA(801)からビデオファイルの部分を受信し、ノードD(804)への送信にアップロード帯域幅200kb/sを提供するノードB(802)からビデオファイルの他の部分を受信し、ビデオファイルの別の部分を、利用可能な300kb/sからのアップロード帯域幅のうちの70kb/sを提供するノードC(803)から受信する。ノードD(804)はここで、受信した各種部分を結合してビデオファイル全体を完成することができる。ノードD(804)は、ビデオファイル(又はその部分)をノードE(805)に送信するために利用できるフリーアップロード帯域幅をまったく有しない。したがって、ノードB(802)は、まだ70kb/sのフリーアップロード帯域幅が利用可能であるため、ビデオファイルの部分を送信し、一方ノードC(803)は、まだ230kb/sのフリーアップロード帯域幅を有しているため、ビデオファイルの完成に必要な他の部分を送信する。
図9を参照すると、2つのストリームがリアルタイムで1つのストリームに併合される例示的なビデオネットワークが示される。ここで説明する例は限定を意図せず、1つのストリームに併合できる多くのストリームの組み合わせ、及び1つ又は複数のビデオシステム内で相互接続できるノード数又は要素数のほんの小さな一例にすぎない。
ビデオファイル(901)は、適切な送信にチャネル帯域幅容量500kb/sを必要とする。プロジェクタ(902)であるノード1はアップロード帯域幅容量800kb/sを有する。ビューア(904)であるノード2はダウンロード帯域幅容量1000kb/s及びアップロード帯域幅容量300kb/sを有する。ビューア(903)であるノード3はダウンロード帯域幅容量1000kb/sを有する。
ビデオファイル(901)はプロジェクタ(902)であるノード1のアップロード帯域幅容量800kb/sのうちの500kb/sを占めるため、ビューア(904)であるノード2の1000kb/s帯域幅容量の範囲内にありながら、プロジェクタ(902)であるノード1は、チャネル1(906)を通じて完全なビデオファイル(901)をビューア(904)であるノード2にストリーミングする。これは、プロジェクタであるノード1に、ビデオファイル(901)又はそのセグメントをビデオネットワーク(900)内の他のビューアに送信するために使用する300kb/sのフリーアップロード帯域幅を残す。ビューア(603)であるノード3はビデオファイル(901)を受信したいが、チャネル2(907)のアップロード帯域幅が、500kb/sであるビデオファイル(901)の帯域幅要件未満の300kb/sであるため、ビューア(904)であるノード2から完全なファイルを受信することができない。次いで、ビューア(904)であるノード2は、利用可能な300kb/sアップロード帯域幅容量のうちの200kb/sを利用してビデオファイル(901)のセグメントをストリーミングする。ビデオファイル(901)を完成するために、プロジェクタ(902)であるノード1は、300kb/sの残りのフリー帯域幅容量を利用することによって、チャネル3(905)を通じてビデオファイル(901)の追加の部分をストリーミングする。ビューアであるノード3のダウンロード帯域幅容量は1000kb/sであるため、セグメントを受信し、2つのストリームを結合して併合し、500kb/s帯域幅を占める完全なビデオファイル(901)を表示することに問題はない。
複数のセンダがデータを受信機に送信することが可能であり得る他の実施形態では、システムは、1組の規則を使用して、どれがデータを送信するかを判断することができる。図10を参照すると、意思決定プロセスの流れ図が示される。システムはまず、ビデオトランスポータのファイアウォールを介して開いているポートの可用性を調べることによって、送信を実際に2つのビデオトランスポータ間で行うことができるか否かを判断することができる(ステップ1001)。通信が可能な場合、優先度が、受信機に地理的に近いセンダに与えられ(ステップ1002)、それからデータのオリジナル所有者としてリストされていないセンダに与えられ(ステップ1003)、それからフリー帯域幅を有するセンダに与えられ(ステップ1004)、最後に予約帯域幅を有するセンダに与えられる(ステップ1005)。システムがこの優先付けプロセス後に複数のセンダを有する場合、それらセンダのうちの1つ又は複数をランダムに選択することができる(ステップ1006)。以下は一例である。
ビデオネットワークには、いくつかのビデオトランスポータN1,N2,・・・,Nnがある。クラス「a」のビデオトランスポータは、入ポートが開いているものである。クラス「b」のビデオトランスポータは、入ポートが閉じているものである。クラス「b」のビデオトランスポータは、クラス「a」のビデオトランスポータからのみデータを受信することができ、クラス「a」のビデオトランスポータはビデオトランスポータクラス「a」及び「b」からデータを受信することができると述べられる。クラス「b」のビデオトランスポータは、データを必要とする場合、フリー帯域幅を有する「a」ビデオトランスポータからデータを受信し、それから予約帯域幅を有する「a」ビデオトランスポータからデータを受信する。クラス「a」のビデオトランスポータは、データを必要とする場合、まず、フリー帯域幅を有する「b」ビデオトランスポータからデータを受信し、それから予約帯域幅を有する「b」ビデオトランスポータからデータを受信し、それからフリー帯域幅を有する「a」ビデオトランスポータからデータを受信し、それから予約帯域幅を有する「a」ビデオトランスポータからデータを受信する。
4.アドバンスト搬送メカニズム
本開示の他の実施形態は、チャネル不安定性、歪み、干渉、及び或るセンダから時間通りに到着する他のデータに対して、受信機に遅れて到着する(又はまったく到着しない)データの原因となり得るチャネル特性に発生し得る他の変動の考えられる影響を考慮することができる。これは、ビデオ搬送受信機に到着するデータの重複(又は消失データ)に繋がる恐れがあり、これは受信ビデオトランスポータにおいてビデオに「穴」がある望ましくない状況を発生させる恐れがある。
4.アドバンスト搬送メカニズム
本開示の他の実施形態は、チャネル不安定性、歪み、干渉、及び或るセンダから時間通りに到着する他のデータに対して、受信機に遅れて到着する(又はまったく到着しない)データの原因となり得るチャネル特性に発生し得る他の変動の考えられる影響を考慮することができる。これは、ビデオ搬送受信機に到着するデータの重複(又は消失データ)に繋がる恐れがあり、これは受信ビデオトランスポータにおいてビデオに「穴」がある望ましくない状況を発生させる恐れがある。
重複を低減し、受信ビデオの「穴」をなくすために、システムは、ビデオデータの線形結合を受信機に送信することができる。次いで、受信機は受信データを分解して、受信データから元のデータを再構築する。
以下は、ビデオデータの線形結合の生成及び分解を行う方法の説明である。簡略にするために、方法をまず、2つのセンダの例として説明する。説明の残りの部分は、解を複数のセンダに向けて一般化する。
2つのセンダ及び1つの受信機あるとする。データは受信機に順序通りに適切なタイミングで到着しなければならない。センダは互いに独立しておらず、すでに送信されているデータの知識を有する。センダはデータの同様の範囲又は間隔からデータを送信するため、重複の可能性があり、システムの目標は重複を最小限に低減して、送信効率を増大させ、限られた資源の使用を最大化することである。任意の所与の瞬間に、2つのセンダが受信ビデオトランスポータのバッファ内の移動間隔を満たし得る。重複を低減するために、受信機は、センダが再送信しないように、どのセグメントをすでに受信しているかをセンダに通知(肯定応答を送信)する。送信遅延によって、肯定応答通知は時間通りに受信されないことがあり、この場合、重複が発生し得る。以下に状況を説明する。
この例の説明は以下である。
S1が、セグメントX及びYを受信機Rに送信する用意のできているセンダであると想定し、
S2も、セグメントX及びYを同じ受信機Rに送信する用意のできているセンダと想定し、
セグメントX及びYは同じサイズであり、
最も効率的な送信のためには、各センダが重複せずにセグメントの1つのみを送信すべきであり、
第1の選択肢はS1及びS2がセグメント(X又はY)をランダムに選択することであり、
したがって、送信される各セグメントの確率は以下である。
S1が、セグメントX及びYを受信機Rに送信する用意のできているセンダであると想定し、
S2も、セグメントX及びYを同じ受信機Rに送信する用意のできているセンダと想定し、
セグメントX及びYは同じサイズであり、
最も効率的な送信のためには、各センダが重複せずにセグメントの1つのみを送信すべきであり、
第1の選択肢はS1及びS2がセグメント(X又はY)をランダムに選択することであり、
したがって、送信される各セグメントの確率は以下である。
a.25%:S1からセグメントX、S2からセグメントX
b.25%:S1からセグメントX、S2からセグメントY
c.25%:S1からセグメントY、S2からセグメントX
d.25%:S1からセグメントY、S2からセグメントY
この選択肢では、上記の「a」及び「d」のケースは、両方のセンダが同じセグメントを送信したため、効率的ではない。
b.25%:S1からセグメントX、S2からセグメントY
c.25%:S1からセグメントY、S2からセグメントX
d.25%:S1からセグメントY、S2からセグメントY
この選択肢では、上記の「a」及び「d」のケースは、両方のセンダが同じセグメントを送信したため、効率的ではない。
他の選択肢は線形結合を使用することである。元のセグメントを送信することに代えて、システムはセグメントを変換したものを送信する。変換は、送信に無駄がないように同じサイズであることができる。システムは、この変換を線形結合として定義することができる。線形結合Z1及びZ2は以下のように定義することができる。
式中、α1及びα2は異なる乱数である。センダS1はパッケージZ1を送信し、センダS2はパッケージZ2を送信する。上記の加算演算子及び乗算演算子は任意の様式で、例えば、線形代数の従来の規則に従って定義することができる。受信端において、受信機は、それぞれX又はYと同じサイズである2つのパッケージZ1及びZ2並びに2つの数α1及びα2を受信することができる。これらの数の長さはセグメントの長さと比較して非常に短くてもよい。方程式は以下のように解くことができる。
したがって、受信機は2つのセンダから一意のX及びYを受信した。
この問題を2つ以上のセンダ及び送信しなければならない2つ以上のセグメントに向けて一般化するために、システムは線形結合の以下の一般化された定義を利用することができる。
この問題を2つ以上のセンダ及び送信しなければならない2つ以上のセグメントに向けて一般化するために、システムは線形結合の以下の一般化された定義を利用することができる。
式中、Zは各センダが受信機に送信し得る結果パッケージであり、Xiは1組の元のセグメントであり、αiは1組の乱数である。
どのセグメントから線形結合を構築するかの判断は、受信される肯定応答メッセージに基づくと共に、以下のような確率にも基づく。
どのセグメントから線形結合を構築するかの判断は、受信される肯定応答メッセージに基づくと共に、以下のような確率にも基づく。
式中、nは、センダがデータを受信機に送信すべき間隔内のセグメント数であり、p(n)はセグメントnを送信する確率であり、n0は間隔への最初のセグメント数であり、Γは間隔の幅であり、Aは以下のように計算される係数である。
センダは、選択された間隔で(受信機の肯定応答に従って)、例えば、間隔がデータストリームへの最初の未受信ビデオトランスポータから開始される都度、すぐ上の式に従って、受信機が受信していないすべてのビデオトランスポータの和を計算することができる。
受信機ビデオトランスポータで連立線形方程式を解き、元のセグメントを復元するために、システムは、同値類の反映であるツリー構造を利用することができる。同値は、以下の規則、すなわちa=bの場合、b=aであり、2)a=b且つb=cの場合、a=cを満たす2つのオブジェクト間に「=」と表記される関係である。オブジェクト集合があり、同値関係をこれらのオブジェクト間で定義することができる場合、完全な集合を「同値類」と呼ばれるいくつかの部分集合に分けることができる。受信機によって受信される線形結合への、セグメント間のこの同値関係は、以下のように定義することができる。「a」が分かっているときに「b」を計算することができる場合、セグメント「a」はセグメント「b」と同値である。これは、システムにおいてツリー構造で表すことができる同値類を提供することができる。
図11を参照すると、N=2である(各線形結合中に2つのセグメントがある)例示的なケースのための例示的な線形結合ソルバの流れ図が示される。ここで説明する例は限定を意図せず、開示する実施形態及びさらなる実施形態において説明される方法の代表であり、また、Nが複数のセグメントを表し、解くべき多数の線形結合があるケースにも適用することができる。
例示的な線形結合ソルバは、要素1101〜1107並びにステップA、B、C、及びDを含む。要素1101は、線形結合の形態で受信機に到着するデータのセグメントを表すことができる。ステップAには、4つの線形結合、すなわちセグメント1及び2に1つ、セグメント2及び3に1つ、セグメント2及び4に1つ、並びにセグメント5及び6に1つの線形結合がある。要素1102は、システムが、ツリー構造の受信機に到着したセグメントを保持するメモリバッファを表すことができる。要素1103は、2つのセグメントを結ぶ線であり、システムにおいて、受信機がこれらの2つのセグメントの線形結合を受信したことを表すことができる。要素1104はセグメントとすることができ、番号はセグメントIDを識別する。要素1105は、連立線形方程式を解くプロセスであることができる。線又は方程式の数がセグメント数に等しい場合、方程式を解くことができる。要素1106は、受信機が受信する、解かれたセグメントであることができる。要素1107は、システムにおいて、送信される線形結合が1つのセグメントのみで構成することができる場合を表すことができる。
本開示のいくつかの実施形態によれば、通信システム内でデータを送信する方法は以下のステップを含むことができる。
ステップA:線形結合1及び2、2及び3、2及び4、並びに5及び6を得る。セグメント及びその線的表現をバッファ内のツリー構造に追加する。
ステップA:線形結合1及び2、2及び3、2及び4、並びに5及び6を得る。セグメント及びその線的表現をバッファ内のツリー構造に追加する。
ステップB:線形結合4及び6、7及び8、並びに8及び9を得る。セグメント及びその線的表現をバッファ内のツリー構造に追加する。
ステップC:線形結合3及び6並びに7及び10を得る。ソルバプロセス及び受信機がこの時点でセグメント1〜6を有するため、システムはここで方程式を解くことができる。
ステップC:線形結合3及び6並びに7及び10を得る。ソルバプロセス及び受信機がこの時点でセグメント1〜6を有するため、システムはここで方程式を解くことができる。
ステップD:線形結合11及び12並びに9を得る。これらのセグメント及びその線的表現を同様にバッファ内のツリー構造に追加する。ここで、システムはセグメント7〜10の方程式を解くことができ、受信機はここでこれらのセグメントを有する。プロセスは、すべてのセンダからすべてのセグメントaを受信して処理するまで続く。多くの受信機がある場合でも同様に、これと同じプロセスを繰り返すことができる。他の線形結合、方程式、セグメント、並びに/又は線形結合、方程式、及びセグメントの組み合わせを使用してもよい。
線形結合に含めるセグメントの選択はランダムであるため、いくつかのツリーのサイズは大きくなり得る。(例えば、性能向上のために)メモリバッファ及び線形方程式のサイズを低減するために、受信機は、大きなツリーで現れるセグメントを送信する要求を任意のセンダに送信することができる。要求された元のセグメントが受信されると、大きなツリーに含まれているすべてのセグメントを計算することができる。
図7を参照すると、ビデオネットワークの状態に依存する2つの例示的な搬送方法が示される。本開示の実施形態は、ビデオトランスポンダ間のデータ送信が途切れず、通信回線が安定している例示的なケースに対応する。しかし、送信が安定していない場合、ビデオトランスポータによっては、他のトランスポータがジョブを完了する前にジョブを完了するものがある。このような場合、ビデオトランスポータA及びCはデータを送信して(ステップ704)セグメント5を埋め(ステップ705)、それによって、線形結合を介して2つのストリームをリアルタイムで結合して1つのセグメントを埋める。
図12を参照すると、アップロード帯域幅150kbpsを有し、ストリームを結合し併合する選択肢を付けずにそれぞれ同じビデオ(1201、1202)を2つのビューア(1207、1208)に送信する2つのプロジェクタ(1203、1204)が示される。プロジェクタ(1203)は、ビットレート100kbpsでビデオファイルをストリーミングするのに十分なチャネル(1205)を介してビデオをビューア(1207)に送信する。プロジェクタ(1204)は、ビットレート100kbpsでビデオファイルをストリーミングするのに十分なチャネル(1206)を介してビデオをビューア(1208)に送信する。利用可能な帯域幅は、現在の送信容量を超えるノードの帯域幅である。これは、予約帯域幅にフリー帯域幅を足したものである。ビデオネットワークで利用可能な帯域幅(フリー帯域幅に予約帯域幅を足したもの)は100kbpsに等しく、このうちの50kbpsはプロジェクタ(1203)からであり、50kbpsは(1204)からである。プロジェクタ(1203)及びプロジェクタ(1204)からの2つのストリームを結合することによって、この例では、ビデオ(1201、1202)の到達範囲を別の1つのビューアに拡張することが可能である。
図13はストリームの結合及び併合の効果を示す。この例では、それぞれアップロード帯域幅150kbpsを有する2つのプロジェクタ(1303、1304)が、同じビデオ(1301、1302)を3つのビューア(1307、1308、1311)に送信している。プロジェクタ(1303)は、ビットレート100kbpsでビデオファイルをストリーミングするのに十分なチャネル(1305)を介してビデオをビューア(1307)に送信する。プロジェクタ(1304)は、ビットレート100kbpsでビデオファイルをストリーミングするのに十分なチャネル(1306)を介してビデオをビューア(1308)に送信する。さらに、両方のプロジェクタ(1303、1304)は、新しいビューア(1311)がビデオを適宜且つリアルタイムで見るように、ストリームをリアルタイムで結合することによってビデオをビューア(1311)に送信する。プロジェクタ(1303)は、ビデオ(1201)をビューア(1311)に50kbpsで送信し、プロジェクタ(1304)もビデオ(1202)をビューア(1311)に50kbpsで送信する。一緒になって、これはビューア(1311)がビデオを結合されているビデオストリームとして見るのに十分である。
ストリームをリアルタイムで結合して併合することによって、ビデオネットワークの到達範囲を拡張する能力が提供される。ビデオ到達範囲は、ビデオネットワーク内でリアルタイムでビデオ送信を受信する受信機の数である。拡張ビデオ到達範囲(extended video reach)(EVR)は、ビデオネットワークに参加することができ、複数の送信機の利用可能な帯域幅を結合する結果、リアルタイムストリームを受信することができる追加の受信機の数である。ビットレートbでビデオを送信しているいくつかの送信機があり、送信機の利用可能な合計帯域幅がUである場合、拡張ビデオ到達範囲はUをbで割った整数部分に等しい。
本開示の一実施形態が、2005年9月20日付けの「A Method And System For Realtime Media Streaming」と題する仮特許出願に記載されており、その全体を参照によって本命書に援用する。
いくつかの例示的な態様及び実施形態を上述したが、特定の変更、置換、追加、及び下位結合を当業者は認識しよう。したがって、添付の特許請求の範囲は、特許請求の範囲の真の精神及び範囲内にあるこのような変更、置換、追加、及び下位結合をすべて包含するものである。
Claims (28)
- リアルタイムコンテンツ送信機であって、
該送信機と1つ又は複数の受信機との間でのコンテンツ送信を調整すると共に、該1つ又は複数の受信機からのコンテンツ再送信をさらに調整するように構成されている帯域幅管理モジュールを備える、送信機。 - 前記帯域幅管理モジュールは、コンテンツデータレートが前記コンテンツに関連する最小データレート以上であるようにコンテンツの送信及び再送信を調整するように構成されている、請求項1に記載の送信機。
- 前記帯域幅管理モジュールは、動的帯域幅を計算するように構成されている、請求項1に記載の送信機。
- 前記帯域幅管理モジュールは、計算された速度で通信するように1つ又は複数のノードに命令するように構成されている、請求項1に記載の送信機。
- 前記帯域幅管理モジュールは、データを送信するために1つ又は複数のノードを割り当てるように構成されている、請求項1に記載の送信機。
- 前記帯域幅管理モジュールは、2つ以上のノード間で利用可能な通信オプションに基づいてデータを送信するために1つ又は複数のノードを割り当てるように構成されている、請求項5に記載の送信機。
- 前記コンテンツはメディアコンテンツを含む、請求項1に記載の送信機。
- 前記メディアコンテンツはビデオコンテンツを含む、請求項7に記載の送信機。
- 前記帯域幅管理モジュールは別のノードに転送可能である、請求項1に記載の送信機。
- 前記帯域幅管理モジュールは、ディセーブルノードを識別すると共に、データを送信又は受信するために別のノードを割り当てるように構成されている、請求項1に記載の送信機。
- 前記帯域幅管理モジュールは、ファイアウォールによって課される制約がある場合に中継ノードを確立するようになっている、請求項1に記載の送信機。
- 前記帯域幅管理モジュールは、前記コンテンツを中央サーバにアップロードせずに前記送信機と前記1つ又は複数の受信機との間でのコンテンツ送信を調整するように構成されている、請求項1に記載の送信機。
- コンテンツを符号化するように構成されている符号化モジュールをさらに備える、請求項1に記載の送信機。
- コンテンツストリームをリアルタイムで結合するように構成されているコンテンツトランスポータをさらに備える、請求項1に記載の送信機。
- リアルタイムコンテンツ受信機であって、
帯域幅管理モジュールからの信号に基づいて1つ又は複数のソースからコンテンツを受信するように構成されている通信モジュールであって、前記帯域幅管理モジュールからの信号に基づいて1つ又は複数の宛先に受信コンテンツを再送信するようにさらに構成されている、通信モジュールを備える、受信機。 - 前記帯域幅管理モジュールは、コンテンツデータレートが前記コンテンツに関連する最小データレート以上であるようにコンテンツの送信及び再送信を調整するように構成されている、請求項15に記載の受信機。
- 前記帯域幅管理モジュールは、動的帯域幅を計算するように構成されている、請求項15に記載の受信機。
- 前記帯域幅管理モジュールは、計算された速度で通信するように1つ又は複数のノードに命令するように構成されている、請求項15に記載の受信機。
- 前記帯域幅管理モジュールは、データを送信するために1つ又は複数のノードを割り当てるように構成されている、請求項15に記載の受信機。
- 前記帯域幅管理モジュールは、2つ以上のノード間で利用可能な通信オプションに基づいてデータを送信するために1つ又は複数のノードを割り当てるように構成されている、請求項15に記載の受信機。
- 前記コンテンツはメディアコンテンツを含む、請求項15に記載の受信機。
- 前記メディアコンテンツはビデオコンテンツを含む、請求項21に記載の受信機。
- 前記帯域幅管理モジュールは別のノードに転送可能である、請求項15に記載の受信機。
- 前記帯域幅管理モジュールは、ディセーブルノードを識別すると共に、データを送信又は受信するために別のノードを割り当てるように構成されている、請求項15に記載の受信機。
- 前記帯域幅管理モジュールは、ファイアウォールによって課される制約がある場合に中継ノードを確立するように構成されている、請求項15に記載の受信機。
- 前記帯域幅管理モジュールは、前記コンテンツを中央サーバにアップロードせずに送信機と1つ又は複数の受信機との間でのコンテンツ送信を調整するように構成されている、請求項15に記載の受信機。
- コンテンツストリームをリアルタイムで結合するように構成されているコンテンツトランスポータをさらに備える、請求項15に記載の受信機。
- 受信コンテンツについての1つ又は複数の肯定応答メッセージを1つ又は複数の送信機に送信するようにさらに構成されている、請求項15に記載の受信機。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71830605P | 2005-09-20 | 2005-09-20 | |
PCT/IL2006/001106 WO2007034484A2 (en) | 2005-09-20 | 2006-09-20 | Method and system for managing video networks |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010504652A true JP2010504652A (ja) | 2010-02-12 |
Family
ID=37889251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008531881A Pending JP2010504652A (ja) | 2005-09-20 | 2006-09-20 | ビデオネットワークを管理する方法及びシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20070067485A1 (ja) |
EP (1) | EP1938201A2 (ja) |
JP (1) | JP2010504652A (ja) |
KR (1) | KR20080075095A (ja) |
WO (1) | WO2007034484A2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101232537B1 (ko) * | 2006-02-17 | 2013-02-12 | 삼성전자주식회사 | 화상통신 단말기 및 화상통신 단말기에서 화상통신 방법 |
US7945689B2 (en) * | 2007-03-23 | 2011-05-17 | Sony Corporation | Method and apparatus for transferring files to clients using a peer-to-peer file transfer model and a client-server transfer model |
JP5102361B2 (ja) * | 2007-08-30 | 2012-12-19 | トムソン ライセンシング | 無線メッシュ・ネットワークにおけるコンテンツ・サービスのための統一されたピア・ツー・ピア・キャッシュ・システム |
US20090327244A1 (en) * | 2008-06-24 | 2009-12-31 | Dharmarus Rizal | Method, process, apparatus and system for peer-to-peer media sharing, transmissions and distributions |
US10749947B2 (en) * | 2009-06-24 | 2020-08-18 | Provenance Asset Group Llc | Method and apparatus for signaling of buffer content in a peer-to-peer streaming network |
EP2315414A1 (en) * | 2009-10-23 | 2011-04-27 | Telefónica, S.A. | A method for transferring tbyte sized delay tolerant bulk data using unutilized but already paid for capacity of commercial internet service providers |
US20110183654A1 (en) * | 2010-01-25 | 2011-07-28 | Brian Lanier | Concurrent Use of Multiple User Interface Devices |
EP2692131A4 (en) * | 2011-03-29 | 2015-10-07 | Lyrical Labs LLC | SYSTEM AND METHOD FOR VIDEO ENCODING |
US9438883B2 (en) * | 2012-04-09 | 2016-09-06 | Intel Corporation | Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content |
US10856052B1 (en) * | 2012-04-26 | 2020-12-01 | Cox Communications, Inc. | Localized peer-to-peer network of set top boxes |
US20140215546A1 (en) * | 2013-01-29 | 2014-07-31 | The Boeing Company | Systems and methods for video distribution |
CN104168253A (zh) * | 2013-05-17 | 2014-11-26 | 环达电脑(上海)有限公司 | 保护网络上传信息的方法及储存控制系统 |
US20150110166A1 (en) * | 2013-10-23 | 2015-04-23 | Paladin Innovators | Mechanics and Processes for Remote Control of Live Video Production |
JP6525576B2 (ja) * | 2014-12-17 | 2019-06-05 | キヤノン株式会社 | 制御装置、制御システム、制御方法、医用画像撮影装置、医用画像撮影システム、撮影制御方法およびプログラム |
US11570233B2 (en) * | 2018-07-31 | 2023-01-31 | Vestel Elektronik Sanayi Ve Ticaret A.S. | Method, apparatus, system and computer program for data distribution |
CN112562146B (zh) * | 2020-10-29 | 2023-09-22 | 重庆恢恢信息技术有限公司 | 一种基于智慧云平台实现建筑工地人员流动方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03214834A (ja) * | 1990-01-19 | 1991-09-20 | Canon Inc | マルチメデイアネツトワークシステム |
US7257158B1 (en) * | 1998-05-18 | 2007-08-14 | Kendyl A. Román | System for transmitting video images over a computer network to a remote receiver |
US20050058149A1 (en) * | 1998-08-19 | 2005-03-17 | Howe Wayne Richard | Time-scheduled and time-reservation packet switching |
US6662330B1 (en) * | 2000-04-07 | 2003-12-09 | Motorola, Inc. | Joint range reject automatic repeat request protocol |
US7512964B2 (en) * | 2001-06-29 | 2009-03-31 | Cisco Technology | System and method for archiving multiple downloaded recordable media content |
US7333432B1 (en) * | 2002-02-12 | 2008-02-19 | Cisco Technology, Inc. | Method and apparatus for configuring network elements to support real time applications |
SE521657C2 (sv) * | 2002-03-26 | 2003-11-25 | Marratech Ab | Anordning och förfarande för adaptiv datatransmission |
US7236465B2 (en) * | 2002-06-13 | 2007-06-26 | International Business Machines Corporation | System and method for gathering multicast content receiver data |
US7403993B2 (en) * | 2002-07-24 | 2008-07-22 | Kasenna, Inc. | System and method for highly-scalable real-time and time-based data delivery using server clusters |
JP2004088466A (ja) * | 2002-08-27 | 2004-03-18 | Nec Corp | ライブ映像配信システム |
US8234165B2 (en) * | 2002-08-28 | 2012-07-31 | Funn Holdings LLC | Digital tuner regulator platform (DTR) |
US7079854B2 (en) * | 2003-01-11 | 2006-07-18 | Lg Electronics Inc. | Packet service system and method for controlling packet transmission |
-
2006
- 2006-09-20 EP EP06780495A patent/EP1938201A2/en not_active Withdrawn
- 2006-09-20 US US11/523,696 patent/US20070067485A1/en not_active Abandoned
- 2006-09-20 JP JP2008531881A patent/JP2010504652A/ja active Pending
- 2006-09-20 WO PCT/IL2006/001106 patent/WO2007034484A2/en active Application Filing
- 2006-09-20 KR KR1020087009549A patent/KR20080075095A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
WO2007034484A3 (en) | 2009-04-30 |
US20070067485A1 (en) | 2007-03-22 |
EP1938201A2 (en) | 2008-07-02 |
WO2007034484A2 (en) | 2007-03-29 |
KR20080075095A (ko) | 2008-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010504652A (ja) | ビデオネットワークを管理する方法及びシステム | |
EP1633111B1 (en) | A system and method for distributed streaming of scalable media | |
CA2985217C (en) | Media data live broadcast method, device, and system | |
JP5058468B2 (ja) | ストリーミングメディアの消去耐性符号化のための方法、該方法を実行するコンピュータ実行可能命令を記録した媒体、及びシステム | |
US7539767B2 (en) | Coordination of client-driven media streaming from a cluster of non-cooperating peers in a peer-to-peer network | |
US20020040404A1 (en) | System and method for performing broadcast-enabled disk drive replication in a distributed data delivery network | |
JP2003521067A (ja) | 起点サーバとクライアントとの間のメディアリソースリクエストおよび/または応答を書き換えるシステムおよび方法 | |
US20020042817A1 (en) | System and method for mirroring and caching compressed data in a content distribution system | |
Gusev et al. | Real-time streaming data delivery over named data networking | |
Chakareski | In-network packet scheduling and rate allocation: a content delivery perspective | |
JP2005130428A (ja) | 双方向画像通信装置、その処理方法及びクライアント装置並びにプログラム | |
Ortiz et al. | SCTP as scalable video coding transport | |
Wee et al. | Infrastructure-Based Streaming Media Overlay Networks | |
Tafleen | Fault Tolerance Strategies for Low-Latency Live Video Streaming | |
Mehrotra | E-LETTER | |
Holub | Network and grid support for multimedia processing | |
Kariminasab | A Simulation Study on Performance of Video-On-Demand Systems | |
Khan et al. | HRD Programme for Exchange of ICT Researchers and Engineers | |
Bouras et al. | Adaptive transmission of multimedia data over the Internet | |
Inarkar | Performance Analysis Of Live Streaming Using Content Distribution Algorithms for CDEEP Webcast | |
Ramachandra | Information Transfer |