(57)【要約】要求されたメディアファイルをネットワーク（１７０）を通じて伝送する方法および装置が開示される。サーバー（１１５）のマスターコントローラ（１２０）がメディアオブジェクトを分割する。サーバーのマスターコントローラ（１２０）が次いで、ネットワーク（１７０）を介してクライアント（１４０）に送信するために前記分割されたメディアオブジェクトのセグメントを当該メディアオブジェクトを要求したファイル区画ハンドラ（１３０）に割り当てる。ファイル区画ハンドラ（１３０）は前記セグメントをユーザーデータグラムプロトコル（ＵＤＰ）ポートからネットワークを通じてクライアントに送信する。もとのセグメントが無事クライアント（１４０）に伝送されたら、マスターコントローラ（１２０）は次に前記分割されたメディアオブジェクトの第二のセグメントを前記ファイル区画ハンドラ（１３０）に割り当てる。メディアオブジェクトの分割はファイル区画ハンドラ（１３０、１６０）の利用可能性およびクライアント（１４０）によって指定される条件に応じて決定される。
2006521643.tif 000002
【特許請求の範囲】
【請求項１】
メディアオブジェクトを少なくとも二つのセグメントに分割し、
前記セグメントの少なくとも一つをファイル区画ハンドラに割り当て、
前記少なくとも一つのセグメントを割り当てられたユーザーデータグラムプロトコル（ＵＤＰ：ｕｓｅｒ  ｄａｔａｇｒａｍ  ｐｒｏｔｏｃｏｌ）ポートを使って送信する、
ステップを有することを特徴とする、ネットワークを通じた伝送のためにメディアオブジェクトをセグメント分割する方法。
【請求項２】
前記少なくとも一つのセグメントをファイル区画ハンドラが送信したことをマスターコントローラに通知し、
前記分割されたメディアオブジェクトのさらなるセグメントを前記ファイル区画ハンドラに送信のために割り当てる、
ステップを有することを特徴とする、請求項１記載の方法。
【請求項３】
前記マスターコントローラが少なくとも二つのファイル区画ハンドラを操り、前記分割されたメディアオブジェクトの少なくとも一つのセグメントが大セグメントをなして小セグメントに分割され、各小セグメントが前記マスターコントローラによって一つのファイル区画ハンドラに割り当てられていることを特徴とする、請求項２記載の方法。
【請求項４】
第二の大セグメントが小セグメントに分割されて前記ファイル区画ハンドラによって送信されるより前に、前記の小セグメントが前記少なくとも二つのファイル区画ハンドラによって成功裏に送信されることを特徴とする、請求項３記載の方法。
【請求項５】
前記マスターコントローラおよびファイル区画ハンドラが前記メディアオブジェクトを送信するのに使われるサーバーの一部であることを特徴とする、請求項２記載の方法。
【請求項６】
前記マスターコントローラが第二のマスターコントローラと伝送制御プロトコルおよびインターネットプロトコル（ＴＣＰ／ＩＰ：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ  ａｎｄ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）をベースとする伝送方式を使って通信し、前記ファイル区画ハンドラがサーバーとＵＤＰポートを使って通信することを特徴とする、請求項２記載の方法。
【請求項７】
前記マスターコントローラが成功裏に送信されなかった損失セグメントを連結リストにて常時追跡しており、前記マスターコントローラが前記損失セグメントを担う前記ファイル区画ハンドラに前記損失セグメントを再送信させることを特徴とする、請求項２記載の方法。
【請求項８】
前記マスターコントローラが、前記分割されたメディアオブジェクトの前記セグメントを前記ファイル区画ハンドラが届け損なったときに反応して、前記セグメントを第二のファイル区画ハンドラに割り当て直すことを特徴とする、請求項２記載の方法。
【請求項９】
複数のクライアントによる受信のために、前記セグメントがマルチキャスト準拠伝送方式を使って送信されることを特徴とする、請求項１記載の方法。
【請求項１０】
ネットワークを通じた伝送のためにセグメント分割されたメディアオブジェクトを受信する方法であって：
ネットワークを通じた伝送としてメディアオブジェクトを要求し、
少なくとも二つのセグメントに分割されている前記メディアオブジェクトのセグメントを受信するために使われるＵＤＰポートに関する指示を受信し、
前記ＵＤＰポートを通じて前記セグメントを受信する、ステップを有することを特徴とする方法。
【請求項１１】
前記メディアオブジェクトの前記要求がクライアントによってマスターコントローラによって出され、セグメントを受信する前記ステップが前記クライアントのファイル区画ハンドラを操る前記マスターコントローラによって調整されることを特徴とする、請求項１０記載の方法。
【請求項１２】
前記メディアオブジェクトのための前記ステップの間前記マスターコントローラが前記メディアオブジェクトを受信する所望の速度および前記クライアントにおけるリソースの利用可能性を示すことを特徴とする、請求項１１記載の方法。
【請求項１３】
前記セグメントをクライアントが、複数のクライアントによる受信のためのマルチキャスト準拠伝送方式の一部として受信することを特徴とする、請求項１０記載の方法。
【請求項１４】
前記マスターコントローラが第二のマスターコントローラとＴＣＰ／ＩＰベースの伝送方式を使って通信し、前記ファイル区画ハンドラがサーバーとＵＤＰポートを使って通信することを特徴とする、請求項１１記載の方法。
【請求項１５】
メディアオブジェクトを送信する装置であって：
前記メディアオブジェクトを分割するマスターコントローラと、
前記分割されたメディアオブジェクトのセグメントを送信する複数のファイル区画ハンドラとを有し、
前記マスターコントローラが前記メディアオブジェクトをどのように分割するかを利用可能なファイル区画ハンドラに基づいて決定し、前記マスターコントローラが前記分割されたメディアオブジェクトのセグメントを前記複数のファイル区画ハンドラから選ばれたファイル区画ハンドラに割り当てることを特徴とする、装置。
【請求項１６】
前記ファイル区画ハンドラが前記セグメントをＵＤＰポートを通じて送信することを特徴とする、請求項１５記載の装置。
【請求項１７】
メディアオブジェクトを受信する装置であって：
マスターコントローラと、
分割されたメディアオブジェクトのセグメントを受信するための複数のファイル区画ハンドラとを有し、
前記マスターコントローラが前記分割されたメディアオブジェクトの前記セグメントをどのように再構築するかを決定する、ことを特徴とする装置。
【請求項１８】
前記ファイル区画ハンドラが前記セグメントをＵＤＰポートを通じて受信することを特徴とする、請求項１７記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディジタルのオーディオおよびビデオファイルの伝送に、詳細にはネットワークを通じて通信されるメディアオブジェクトに関するものである。
【背景技術】
【０００２】
衛星およびケーブル産業の成長とともに、長編映画全体を家庭のマルチメディアユーザーに配送するためのアーキテクチャを開発することに多大な関心が払われてきた。ビデオオンデマンド（ＶＯＤ：ｖｉｄｅｏ  ｏｎ  ｄｅｍａｎｄ）と呼ばれる配送の考え方は、ユーザーの行う選択に基づいて映画をユーザーに提供するものである。ユーザーは放送サービスを通じて受信しうる利用可能メディアをリストアップした電子番組表（ＥＰＧ：ｅｌｅｃｔｒｏｎｉｃ  ｐｒｏｇｒａｍｍｉｎｇ  ｇｕｉｄｅ）を通じて番組を選択できる。ひとたび映画が選択されれば、放送システムがその映画を家庭ユーザーに送信する。その送信はケーブル（ＭＰＥＧ−２デジタルケーブル伝送のような）、衛星放送（ＤＢＳ、ＤＩＲＥＣＴＶ［商標］、ＤＩＳＨ  ＮＥＴＷＯＲＫ［商標］などのような）、地上波放送（ＵＨＦ、ＶＨＦ、または標準精細度／高精細度番組を受信するための放送チャンネルなど）、または撚り対線（ＤＳＬなどのような）のいずれかによって行われる。
【０００３】
デジタルビデオ（オーディオ）ファイル―以下、メディアオブジェクトと称する―送信の複雑さのため、送信アーキテクチャは大きなサイズのデジタルビデオファイルを扱えることが要求される。たとえば、メディアオブジェクトが「映画館並み」（たとえば、高精細度テレビ）で表示されるための表示規格としての要件からは、送信アーキテクチャは、ネットワークが２０Ｍｂｉｔｓ／ｓｅｃ近いレートをサポートすることを必須とすることが求められる。送信アーキテクチャはまた、ビデオ／オーディオ伝送の要件にもとることのないよう、伝送誤り率が低くなければならない。たとえば、ＤＢＳ衛星システムは認容可能なサービス品質（ＱＯＳ：ｑｕａｌｉｔｙ  ｏｆ  ｓｅｒｖｉｃｅ）を提供するためにはビット誤り率が１０−９から１０−１１の範囲になければならない。
【０００４】
メディアオブジェクトがばらばらのセグメントに分割されていれば、誤りがメディアオブジェクトの伝送を損なう可能性は小さくなる。データパケットとして知られるそのようなセグメントは、メディアオブジェクトを個々の区分に分けるもので、その区分が送信アーキテクチャの受信端において再構築される。データファイルをパケット化するのに実用化されている技術の一つは、ばらばらなデータパケットを符号化して転送するためにデータストリームを作成するＭＰＥＧ−２データ符号化規格（ＭＰＥＧ−２仕様ＩＳＯ−１３８１８−１参照）に準拠したものである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、メディアオブジェクトを送信するためのそのような技術は帯域の有効な使用ではない。ファイル転送プロトコル（ＦＴＰ：ｆｉｌｅ  ｔｒａｎｓｐｏｒｔ  ｐｒｏｔｏｃｏｌ）のような、メディアオブジェクトを転送する既知の他の技術は、基盤となる接続で利用できるリンク速度にかかわりなく毎秒３００キロバイトしか送信できないという物理的な制約条件の制限を受ける。さらに、一部のメディアオブジェクト転送技術は接続の利用可能帯域を使うことができるものの、そのような技術はメディアオブジェクトの伝送において冗長パケットを用い、もともとのメディアオブジェクトの二倍もの大きさの符号化オーバーヘッドを要求する。よって、そのようなメディアオブジェクト伝送は利用可能帯域の半分を誤り訂正のために非効率的に使っている。
【課題を解決するための手段】
【０００６】
ネットワークを通じて、そのネットワークの物理的な能力に基づいてメディアオブジェクトを伝送するようにするシステムおよび方法。メディアオブジェクトは複数の区画に分解され、それがセグメント分割され、クライアントに伝送される。その伝送は、クライアント側でのアクセスポイントおよびリソースの利用可能性ならびにそのようなアクセスポイントとそのようなメディアオブジェクトを送信するサーバーとの間のネットワーク接続に基づいて行われる。
【０００７】
本発明の上記のことを含むさまざまな利点および特長は、以下、付属の図面と結び付けて与えられる、本発明の好適な実施形態の詳細な記述からよりよく理解されることであろう。図面のさまざまな部分は等縮尺ではない可能性がある。
【発明を実施するための最良の形態】
【０００８】
本発明は代表的な実施形態を用いて説明されるが、それに限られるものではない。むしろ、付属の特許請求の範囲は、当業者が本発明の等価物の範囲から離れることなく行いうる本発明の他の変形や実施形態をも含むよう広く解釈されるべきものである。
【０００９】
本発明は、オーディオ、ビデオまたは両方の種類のメディアの組み合わせをメディアファイルまたは「メディアオブジェクト」として送受信するためのシステムおよび方法である。ここで用いられる「メディアオブジェクト」の用語はオーディオ、ビデオ、テキスト、マルチメディアデータファイルおよびストリーミングメディアファイルを含む。マルチメディアオブジェクトは、テキスト、画像、動画、音声データのあらゆる組み合わせ含む。ストリーミングメディアは、インターネットや衛星その他の通信ネットワーク環境を通じてユーザーに配送され、ファイル全体の配送が完了する前にユーザーのコンピュータ／装置上で再生が始まるようなオーディオ、ビデオ、マルチメディア、テキスト、双方向データファイルである。メディアオブジェクトは、インターネット、衛星（ＤＳＳ，ＤＶＢ−Ｓ）、ケーブル、ＤＳＬ、Ｔ１回線、無線ネットワークその他メディアオブジェクトを配送することのできる配送システムを含むいかなる通信ネットワークを通じて伝送されてもよい。
【００１０】
メディアオブジェクトのコンテンツの例としては、楽曲、政治スピーチ、ニュース放送、映画予告編、映画、テレビ番組放送、ラジオ放送、財務電話会議、ライブコンサート、ウェブカメラ映像、その他のスペシャルイベントが含まれる。メディアオブジェクトは以下のものを含むさまざまなフォーマットでエンコードされる：ＲＥＡＬＡＵＤＩＯ［登録商標］、ＲＥＡＬＶＩＤＥＯ［登録商標］、ＲＥＡＬＭＥＤＩＡ［登録商標］、ＡＰＰＬＥ  ＱＵＩＣＫＴＩＭＥ［登録商標］、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ［登録商標］、ＭＥＤＩＡ  ＦＯＲＭＡＴ、ＱＵＩＣＫＴＩＭＥ［登録商標］、ＭＰＥＧ−２ビデオ圧縮、ＭＰＥＧ−４ビデオ・オーディオ圧縮、統合ビデオチーム圧縮フォーマット（ＭＰＥＧ−４パート１０  ＡＶＣ、Ｈ．２６４）、ＭＰＥＧ−２レイヤーＩＩＩオーディオ、ＭＰ３［登録商標］。典型的にはメディアオブジェクトは特定のフォーマットとの互換性を示す拡張子（接尾辞）によって指示される。たとえば、．ｒａｍ、．ｒｍ、．ｒｐｍのいずれかの拡張子で終わるメディアオブジェクト（たとえばオーディオおよびビデオファイル）はＲＥＡＬＭＥＤＩＡ［登録商標］フォーマットと互換性がある。ファイル拡張子のいくつかの例とその互換フォーマットを表１に掲げる。メディア種別や拡張子、互換フォーマットについてのより網羅的なリストはｈｔｔｐ：／／ｗｗｗ．ｂｏｗｅｒｓ．ｃｃ／ｅｘｔｅｎｓｉｏｎｓ２．ｈｔｍに見られる。
【００１１】
【表１】
2006521643.tif 000003
本発明の好ましい実施形態は、「映画館並みの品質」のビデオ表示を提供するビデオデータを含むメディアオブジェクトについて動作する。そのようなメディアオブジェクトはＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ［動画像専門家委員会］規格ＩＳＯ／ＩＥＣ１３８１８−１：２０００）やＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ  ＡＶＣ（ＩＳＯ／ＩＥＣ１４４９６−１０）のような多様なフォーマットでエンコードされ、圧縮展開されうる。さらに、本発明の記載されている実施形態はまた、映画やテレビ番組のポストプロダクションのようなプロの応用領域においても、また大きなメディアオブジェクトの伝送を要求する他の応用にも使われるであろう。
【００１２】
図１では、本発明に基づく伝送システムが示されている。システム１００は大きなメディアオブジェクトをクライアント１４０に転送する伝送システムの実施形態を表している。ファイルサーバー１１０は、複数のメディアオブジェクトを保存できるテラバイトやギガバイト単位の容量をもつハードディスク配列のような記憶装置である。ファイルサーバー１１０はローカルエリアネットワークを通じてマスターコントローラ１２０やファイル区画ハンドラ１３０のような制御コンポーネントを収容しているサーバー１１５に結合している。サーバー１１５は好ましくはメディアオブジェクトをネットワーク１７０を通じて送信することができるホストコンピュータまたは一連のコンピュータである。開示されるいかなるマスターコントローラもファイル区画ハンドラも、本発明の原理に基づき、ハードウェア、ソフトウェア、あるいはハードウェアおよびソフトウェアの組み合わせとして実装することができることを注意しておく。
【００１３】
マスターコントローラ１２０は分割されたメディアオブジェクトのネットワーク１７０を通じたクライアント１４０への転送を管理する。マスターコントローラ１２０はまた、メディアオブジェクトを複数の区画に分割するために、ファイルサーバー１１０およびファイル区画ハンドラ１３０の調整をとる。ファイル分割は、メディアオブジェクトを要求したクライアント側での、メディアファイルの分割とそのような送信セグメントの誤り回復との両方を扱うリソースの利用可能性に基づいて行われる。マスターコントローラ１２０とクライアント１４０との間の制御通信は好ましくはＴＣＰ／ＩＰ準拠のネットワーク接続を通じて扱われる。
【００１４】
ファイル区画ハンドラ１３０は、マスターコントローラ１２０から発される命令に基づいてメディアオブジェクトの適切なセグメントを検索して転送するのを担っている。ファイル区画ハンドラ１３０は好ましくはその関連するファイルセグメントをクライアント１４０に、ＵＤＰベースのネットワーク接続プロトコルを使って転送する。そのプロトコルについては、Ｐｏｓｔｅｌ，Ｊ．“Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ，”Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔｓ  ７６８，  ＵＳＣ／Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｃｉｅｎｃｅｓ  Ｉｎｓｔｉｔｕｔｅ，  Ａｕｇｕｓｔ  １９８０に記載されている。一群のファイル区画ハンドラ１３０は理想的にはそのそれぞれのセグメントすなわちパケットを同時すなわち並列的な仕方で送信する。それによりクライアント１４０において送信されたデータは同時的に受信される。
【００１５】
ネットワーク１７０は当業界で知られているいかなる種類のネットワークでもよい。好ましくは、そのようなネットワークはサーバー側のサーバーのリソースとクライアント側のクライアントのリソースとの間の多重の接続を許すことのできるものである。そのような接続はＵＤＰベース、ＴＣＰ／ＩＰベース、あるいは両者の混合である。ネットワーク１７０の扱える帯域幅は、好ましくはＴ１接続（１．５Ｍｂｐｓ［メガビット毎秒］）、Ｔ３接続（４５Ｍｂｐｓ）、ＤＳ３接続（４５Ｍｂｐｓ）、ＯＣ３接続（１５５Ｍｂｐｓ）、ＯＣ１２（２４８０００Ｍｂｐｓ）などのようなブロードバンド接続である。
【００１６】
クライアント１４０は好ましくは、ネットワーク１７０を通じて送信されたメディアオブジェクトを受信することのできるホストコンピュータまたは一連のコンピュータである。好ましくは、各クライアント１４０はＩＰアドレスおよびポートアドレスの付随する一連のアクセスポイントすなわちノードを有している。そのようなアクセスポイントはクライアント側のマスターコントローラ１５０およびファイル区画ハンドラ１６０として示されている。
【００１７】
分割されたメディアオブジェクトのセグメントはファイル区画ハンドラ１３０によってクライアント１４０のアクセスポイントのＩＰアドレスおよびポートに、前述したようなＵＤＰを通じて送信される。アクセスポイントはまた、クライアント１４０（今の場合ファイル区画ハンドラ１６０）に付随するアクセスポイントに関連付けられた対応するネットワークインターフェースカードアドレス（ＮＩＣアドレス）またはメディアアクセスコントロールアドレス（ＭＡＣ）によって識別されてもよい。もっとも、クライアントはそのようなコンポーネントを有していなくてもよい。クライアント１４０のアクセスポイントによって受信されるメディアオブジェクトのセグメントはその後、完全に受信されたときに再構築されてメディアオブジェクトとなる。メディアオブジェクトのセグメントで足りないものは、本明細書でのちに説明する技術を使って補われる。本発明の動作のためには、マスターコントローラ１２０およびファイル区画ハンドラ１３０は同一のサーバー１１５を占めていてもよいが、いくつかのサーバー１１５にまたがっていてもよい。さらに、マスターコントローラ１５０およびファイル区画ハンドラ１６０は同一のクライアント１４０を占めていてもよいし、いくつかのクライアント１４０にまたがっていてもよい。それは所望の伝送システムの要件しだいである。本発明の原理は、複数のサーバー１１５またはクライアント１４０が同一のメディアオブジェクトを送受信するのに使われるその他の分散ネットワーク環境にも適用しうる。
【００１８】
図２は分割されたメディアオブジェクトを単一のクライアント２４０に転送するための、本発明の実施形態を示している。本発明のこの実施形態では、システム２００において、クライアント２４０がネットワーク２５０を通じてサーバー２１５にメディアオブジェクトを要求し、該メディアオブジェクトはファイルサーバー２１０に保存されている。この実施形態では、クライアント２４０は、メディアオブジェクトの要求を発し、分割されたメディアオブジェクトを受信するのに利用可能なファイル区画ハンドラ２３０を制御するためのマスターコントローラ２２０を有している。マスターコントローラ２２０はＴＣＰ／ＩＰベースの通信の利用を通じてサーバー２１５に対し、ファイル区画ハンドラ２３０のどの対応するＵＤＰポートが対応するファイルセグメントを受信するか、そして要求されたメディアオブジェクトが分割されるべきであるということ、を示す。すべてのセグメントが無事にファイル区画ハンドラ２３０からそれぞれのＵＤＰ接続を通じてネットワーク２５０経由で取得されたら、マスターコントローラ２２０が受信したセグメントをつなぐ。
【００１９】
図３は、分割されたメディアオブジェクトを複数のクライアント３４０に転送するための、本発明の実施形態を示している。その際、Ｔｈａｌｅｒ，Ｄ．，“Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  Ｒｕｌｅｓ  ｆｏｒ  Ｍｕｌｔｉｃａｓｔ  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌｓ，”Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔｓ  ２７１５，  Ｍｉｃｒｏｓｏｆｔ，  Ｏｃｔｏｂｅｒ，  １９９９に記載されているＩＰマルチキャストアーキテクチャを使っている。
【００２０】
この実施形態では、少なくとも二つのクライアント３４０が存在し、各クライアント３４０がファイルサーバー３１０に保存されているメディアオブジェクトの要求を発するための対応するマスターコントローラ３５０を有している。ただし、各マスターコントローラ３５０はメディアオブジェクトを要求している全クライアント３４０の同期をとるために必要な遅延を計算に入れなければならない。メディアオブジェクトの要求が各マスターコントローラ３５０によってサーバー３１５に対して確立され、次いで該３１５が分割されたメディアオブジェクトをクライアント３４０の対応するファイル区画ハンドラ３６０にマルチキャストする。あるいは、単一のマスターコントローラ３５０がメディアオブジェクトのセグメントをマルチキャストネットワーク３７０上のＩＰマルチキャストを通じて送信すべき複数のＩＰアドレスを指定する。ファイルセグメントのファイル区画ハンドラ３６０への伝送およびそのような受信ファイルセグメントをクライアント３４０で再構成してメディアオブジェクトにすることは、図１および図２の説明で記載したのと同様である。
【００２１】
あるいはまた、マスターコントローラ３５０は、分割されたメディアオブジェクトを受信するために、サーバー３１５のマスターコントローラ３２０と共同して動作する。マスターコントローラ３２０がマスターコントローラ３５０に、分割されたメディアオブジェクトのセグメントを送信するのにどのマルチキャストアドレスを使うかを通知する。それぞれのマスターコントローラ３５０はその対応するファイル区画ハンドラに、そのようなセグメントをマルチキャストネットワーク３７０を通じて受信するよう命令する。
【００２２】
図４は、本発明のある実施形態に基づく、メディアオブジェクトを送信する方法４００のフローチャートである。このフローチャートで提示されているステップは図１に対応するものを示している。ステップ４１０において、クライアント１４０はネットワーク１７０を通じてサーバー１１５に付随するマスターコントローラ１２０と接続する。該接続は、ＴＣＰ／ＩＰソケットを通じて確立され、クライアント１４０は転送されるべきメディアオブジェクトを同定する。このステップにおいて、クライアント１４０はまたそのメディアオブジェクトの伝送のための通信速度を指定する。
【００２３】
ステップ４１５では、マスターコントローラ１２０は、クライアント１４０によって設定された要求通信速度を満たすために必要なファイル区画ハンドラ１３０の数を決定する。このステップはまた、分割されたメディアオブジェクトの送信に複数のサーバーが関与することを含んでもよい。ステップ４２０では、マスターコントローラ１２０が各区画ハンドラ１３０に、メディアオブジェクトのどの部分が、そしてどのＵＤＰポートがクライアント１４０への送信に用いられるかを指示する。
【００２４】
ステップ４２５では、マスターコントローラ１２０がクライアント１４０に、最終的に送信されるメディアオブジェクトのセグメントをダウンロードするのに必要なＵＤＰポートについて指示する。また、マスターコントローラ１２０によってクライアント１４０に、分割されたメディアオブジェクトのある特定のセグメントについてＵＤＰポートから何個のパケットがはいってくるかを示す制御情報が送信される。ステップ４３０では、各ファイル区画ハンドラ１３０が、割り当てられたＵＤＰポートに対して送信されようとしているパケットにヘッダブロックを付ける。好ましくは、ヘッダブロックは番号順に逐次的に生成される。そしてパケットがクライアント１４０に送信される。
【００２５】
クライアント１４０は次にステップ４３５でどのクライアント側のファイル区画ハンドラ１６０が使われるか、送信されたファイルを受信するためにどのサーバーをアクティブにするかを決定する。ステップ４４０ではクライアント側のファイル区画ハンドラ１６０がアクセスポイントとなって対応するＵＤＰポート上でメディアオブジェクトの送信されたセグメントを表すパケットを受信する。受信パケットのヘッダブロックにある順列識別子がメディアオブジェクトの受信セグメントをどのように再構築するかを決定する。
【００２６】
ある特定のファイル区画ハンドラ１６０について欠けているパケットがあったら、ステップ４４５において、クライアント１４０がＴＣＰ／ＩＰ接続を通じてマスターコントローラ１２０に、どのパケットが欠けていて対応するファイル区画ハンドラ１３０によって再送信される必要があるかを通知する。好ましくは、クライアント１４０はサーバー側のマスターコントローラ１２０と通信するクライアント側のマスターコントローラ１５０を有している。ステップ４５０でクライアント１４０はマスターコントローラ１２０にメディアオブジェクトの特定のセグメントが完全に受信されたことを指示する。メディアオブジェクトの完全なダウンロードが完了していなければ、クライアント１４０はさらにマスターコントローラ１２０に、新しいパラメータを使って当該メディアオブジェクトのさらなるセグメントを送信するよう（ステップ４２０から４４５のように）指示する。
【００２７】
ステップ４６０ではマスターコントローラ１２０がクライアント１４０に分割されたメディアオブジェクトの全セグメントが送信されたことを知らせる。クライアント１４０は次に当該メディアオブジェクトの受信されたセグメントを使って当該メディアオブジェクトを再構築する。
【００２８】
図５は分割されたメディアオブジェクトのファイルセグメントの実施例を示している。図に示されているように、ファイルセグメントは大セグメント５１０と小セグメント５２０からなる。大セグメント５１０はクライアント１４０およびサーバー１１５によって、ファイルセグメントを伝送するのに使われる大きな「ブロック」である主要なセグメントの区切りとして使われる。小セグメントは大セグメント５１０を構成するのに使われるより小さな「ブロック」である。本発明の好ましい実施形態においては、大セグメント５１０は、第二の大セグメント５１０が送信される前にクライアント１４０によって完全に受信されなければならない。大セグメント５１０が完全に受信されていなければ、クライアント１４０はマスターコントローラ１２０に前記大セグメント５１０のどの小セグメント５２０を再送信するかを伝える。ここで、各小セグメント５２０はサーバー１１５の特定のファイル区画ハンドラ１３０に対応している。
【００２９】
ユニキャスト送信では、マスターコントローラ１２０はある大セグメント５１０を一群のファイル区画ハンドラ１３０に対して指定する。そこで各ファイル区画ハンドラ１３０は、小セグメント５２０として大セグメント５１０の一部分を割り当てられる。大セグメント５１０を構成するのに使われる小セグメント５２０が無事送信されたら、各ファイル区画ハンドラ１３０はマスターコントローラ１２０に、大セグメントの送信が完了したと知らせる。するとマスターコントローラは、先述したように、第二の大セグメント５２０を分割してファイル区画ハンドラ１３０によってクライアント１４０に送信するよう命令を発する。
【００３０】
有利には、マスターコントローラ１２０は大セグメント５１０のパイプラインを構築するよう構成されてもよい。それによりマスターコントローラ１２０がクライアント１４０からのネットワーク条件の変化を示すメッセージを処理する間の遊び時間の必要性をなくすことになる。大セグメント５１０の大きさもネットワーク条件に応じて修正されてもよい。たとえば、大セグメント５１０は１０個の小セグメント５２０で構成されているなどである。パケット損失が軽微な場合には、大セグメント５１０の大きさは小セグメント５２０が１２個に増やされる。他方、パケット損失がかなりあるときには大セグメント５２０の大きさは小セグメント５２０が８個にまで減らされる。小セグメント数の調整は、本発明の原理に基づいて変更することができる。
【００３１】
大セグメント５１０中の小セグメント５２０の数が同じにとどまる場合でも大セグメント５２０の物理的な大きさ（キロバイト）はネットワーク条件に基づいて修正されることも考えられる。そのような決定は好ましくはクライアント１４０のマスターコントロール１４５によってなされる。あるいはまた、マスターコントローラ１２０はまた大セグメント５１０の使用をやめて、データブロックの連続として生成される小セグメント５２０の使用に頼ることもできる。その場合、ファイル区画ハンドラ１３０はこれらの小セグメント５２０をクライアント１４０に送信する。ここで、各ファイル区画ハンドラ１３０はマスターコントローラ１２０に各小セグメント５２０の送信成功について知らせる。マスターコントローラ１２０は次にファイル区画ハンドラ１３０に新しい小セグメント５２０の送信を指示し、分割されたメディアオブジェクトのあるセグメントの小セグメント５２０全部が無事送信されるまでこのプロセスを続ける。
【００３２】
ユニキャスト（すなわち単一クライアント）送信の場合、本発明は該送信中にパケットが失われた場合の回復方式をいくつか提供する。ある実施形態では、マスターコントローラ１２０は、データパケットを送信するために追加的なファイル区画ハンドラ１３０を追加することができる。あるいはまた、マスターコントローラ１２０は既存のファイル区画ハンドラ１３０にパケット再送信の任務を割り当てる。
【００３３】
パケット損失対策の第二の方式は、マスターコントローラ１２０が損失パケットの連結リストを管理することに関わっている。この実施形態では、サーバー１１５のマスターコントローラ１２０およびファイル区画ハンドラ１３０は分割されたメディアオブジェクトのすべての大セグメント５１０および小セグメント５２０を送信する。この送信は「初回パス」として知られる。前記連結リストの内容はマスターコントローラ１２０によって「初回パス」伝送中のパケット損失を指示するのに使われる。サーバーのマスターコントローラ１２０は次いで、ファイル区画ハンドラ１３０とクライアント１４０に関して「初回パス」伝送の間にうまく受信されなかった大セグメント５１０および小セグメント５２０のパケットを再放送するよう「第二回パス」伝送を調整する。この手続きは、クライアント１４０による受信成功のある閾値が達成されるまで続けられる。
【００３４】
さらなるパケット損失対策としては、サーバー側のマスターコントローラ１２０またはクライアント側のマスターコントローラ１５０がそれぞれの側におけるそれぞれのリソースを監視するものである。たとえば、クライアント側のある特定のファイル区画ハンドラ１３０がタイムアウトばかりしている場合、あるいはクライアント１４０が反応しなくなった場合、マスターコントローラ１２０はそのファイル区画ハンドラ１３０に割り当てられたジョブを取り消したり、一群のファイル区画ハンドラ１３０に対して大セグメント５１０を割り当てし直したりすることができる。マスターコントローラ１２０はこのタイムアウトエラーについてユーザーに通知する。
【００３５】
あるいはまた、マスターコントローラ１５０がクライアント側の統計を取り続けることによってあるＵＤＰアドレスが継続的にパケットを失っていることを見出すこともありうる。そうした場合にはマスターコントローラ１５０はサーバー側のマスターコントローラ１２０にそのＵＤＰアドレスに問題があることを知らせ、システムのサーバー側またはクライアント側のファイル区画ハンドラに欠陥があることを示す。するとマスターコントローラ１２０および１５０はパケット送信が新しいＵＤＰアドレスに行われるよう調整するが、これには新しいファイル区画ハンドラを使うことも含まれることがありうる。こうした実施形態はまた、前述したタイムアウトまたはＵＤＰエラー時のパケット損失対策を実装するのにマスターコントローラ１２０と１５０のいずれかが使われうることも考えている。
【００３６】
マルチキャスト送信についてのパケット損失対策は、サーバーのマスターコントローラが送信パケットの損失に対処するのに異なる諸方法を使う用意があることを要求する。図３を参照すると、サーバーのマスターコントローラ３２０は、ユニキャスト送信について使われた前記連結リストと同様の、分割されたメディア・オブジェクトの大セグメント５１０および小セグメント５２０の伝送中に失われたパケットの連結リストを維持している。この連結リストの修正版は図６に示すように二次元配列となり、全クライアント３４０に関して失われた損失パケット（小セグメント）を示すものである。分割されたメディアオブジェクトの「初回パス」伝送は当該メディアオブジェクトのすべての大セグメント５１０が送信されれば完了する。連結リストは、各大セグメント５１０の送信が完了するたびに大コントローラ３２０によって更新される。
【００３７】
次いでマスターコントローラ３２０は連結リストの内容を使って「初回パス」でクライアント３４０によって受信が成功しなかったデータパケットを再放送する。この「第二回パス」伝送では、大セグメント５１０と小セグメント５２０は「損失パケット」という情報とともに送信される。このプロセスは、全クライアント３４０が分割されたメディアオブジェクトの全セグメントを受信するまで繰り返される。マルチキャスト送信モデルでも、マスターコントローラ３２０は前述したユニキャスト送信モデルについてのタイムアウトおよびＵＤＰエラー時のパケット損失対策を利用することができることを注意しておく。
【００３８】
任意的に、本発明は、分割されたメディアオブジェクトを送信するのに使われる送信技術を利するために制御処理方式を利用する追加的な実施形態を提供する。具体的には、本発明は、メディアオブジェクトを送信するのに使われる送信技術をそのようなファイルの要求に基づいて変更しうる動作を提供する。
【００３９】
たとえば、メディアオブジェクトが現在、上述したユニキャスト技術を使ったＵＤＰ送信として送信されているとする。この送信の途中にサーバーに同じファイルの要求がもう一つはいってくる。図３を参照すると、クライアント３４０のクライアント側のファイル区画ハンドラ３３０は分割されたメディアオブジェクトのセグメントの受信を終える。するとファイル区画ハンドラ３３０は当該分割されたメディアオブジェクトの新しいセグメントを受信するのにどのように進めるかについてのさらなる命令を待つ。クライアントのマスターコントローラ３５０（当該セグメントを受信したクライアントのもの）はサーバーのマスターコントローラ３２０に、該クライアント３４０が送信されたセグメントを無事受信したことを知らせる。好ましくは、この通信は大セグメント５１０の区切りで行われるが、システムは小セグメント５２０についても前記通信が行なわれるようにしてもよい。
【００４０】
マスターコントローラ３２０はクライアントのマスターコントローラ３５０に当該メディアオブジェクトの次のセグメントは新しいアドレス、具体的にはマルチキャストから来ることを知らせる。するとクライアントのマスターコントローラ３５０はファイル区画ハンドラ３３０に当該メディアオブジェクトの次のセグメントを指定されたマルチキャストアドレスから受信するよう指示する。その間、マスターコントローラ３２０は、ファイル区画ハンドラ３３０が当該メディアオブジェクトのこの次のセグメントの送信をマルチキャストパケットの形で指定されたマルチキャストアドレスから開始することを指示する。当該メディアオブジェクトを要求する、新たに追加された他のすべてのクライアント３４０は、当該メディアオブジェクトのセグメントをやはりこのマルチキャストアドレスから受信するよう指示される。
【００４１】
マスターコントローラ３２０は、分割されたメディアオブジェクトのセグメントのすべてをクライアント３４０に送信し、ついにはすべてのセグメントが受信される。前述したパケット損失対策をデータ送信を支援するのに使うこともできる。
【００４２】
進行中のマルチキャスト送信の間にあるクライアント３４０または一群のクライアント３４０が同じメディアオブジェクトを要求した場合には、マスターコントローラ３２０は新しいクライアント３４０のすべてに、次の大セグメント５１０の区切りにおいて進行中のマルチキャストに加わるよう通知する。これは、マスターコントローラ３２０に、前記要求されたメディアオブジェクトのセグメントを送信する対応するファイル区画ハンドラ３３０のマルチキャストアドレスを送信させることによってなされる。すべての同期および制御通信は好ましくはマスターコントローラ３２０と３５０の間でＴＣＰ／ＩＰソケットを通じて通信される。追加的に、マルチキャストセグメントの再放送は、好ましくはやはりＴＣＰ／ＩＰインターフェースを通じて実行される。本発明の原理に基づいてその他の制御通信を使うこともできることを注意しておく。
【００４３】
本発明の記載されているシステムは、クライアント側またはサーバー側のマスターコントローラがリソース、特にファイル区画ハンドラの使用を再構成できるようにする。速度制御動作については、クライアントはサーバーに対して分割されたメディアオブジェクトをある所望の通信速度で送信することを要求してもよい。その場合、サーバーのマスターコントローラはそのような要求に反応してサーバーのファイル区画ハンドラをどのように利用すべきかを決定する。追加的に、クライアントはメディアオブジェクトの送信が、たとえば「０８：００から１７：００までは利用可能帯域の２０％を使って、それ以外は９０％を使って」というような優先度方式または優先度則を使って行われるよう要求してもよい。サーバーのマスターコントローラはやはりそのような要求に反応してファイル区画ハンドラの使用を修正する。同様に、サーバーが自ら率先してある分割されたメディアオブジェクトを送信するのに使用される帯域の制限を指定してもよい。本発明の好ましい実施形態においては、サーバーとクライアントはできうる限り高い転送率を実現するためにあらゆる利用可能な転送リソースを利用しようとする。
【００４４】
本発明は、分割されたメディアオブジェクトの将来の送信のためにリソース割り当てに関してよりよい決定がなされるよう、システムパフォーマンスに関して自己学習的に構成される。中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）利用率、ＮＩＣスループット、伝送誤り率、エンド間転送速度に関する統計が集められる。該統計は、ファイル転送の間、ＯＳおよびその他のサードパーティーの監視ツールによって収集される。クライアント側、サーバー側いずれであれ、マスターコントローラはクライアントがあるセグメントを処理するのにどれだけ長くかかるかを測定することによってネットワークスループットを導出する。
【００４５】
システムパフォーマンスについての情報を用い、クライアントおよびサーバーのマスターコントローラはメディアオブジェクトがどのように分割されるべきか、いくつのファイル区画ハンドラを使うべきか、特定のクライアントまたはサーバーについてのネットワーク遅延や誤り率をどのように考慮に入れるか、についての想定を調整する。
【００４６】
サーバーとクライアントとの間でやりとりされる命令を下記の表２〜８に記載する。表２はクライアントがサーバーに対して要求されたメディアオブジェクトの転送を開始するよう発する転送要求の実施例を開示している。
【００４７】
【表２】
2006521643.tif 000004
表３は、サーバーのファイル区画ハンドラがクライアントに、分割されたメディアオブジェクトの指定されたセグメントの送信について予期されるべきいくつかのパケットに関して通知するのに使われるデータ制御命令の例となる規格を開示するものである。
【００４８】
【表３】
2006521643.tif 000005
表４は、サーバーからクライアントへデータを送信するのに使われるデータパケットの例の規格を開示するものである。特に、このデータパケット規格は分割されたメディアオブジェクトの大セグメントおよび小セグメントを形成するのに使われる。
【００４９】
【表４】
2006521643.tif 000006
表５は、受信不成功と同定されたパケットについてクライアントが再送信を要求するのに使われる再送信命令の例の規格を開示するものである。
【００５０】
【表５】
2006521643.tif 000007
表６は、サーバーからクライアントに送信されてファイル転送の開始を示す構成命令の例の規格を開示するものである。この命令は具体的にはクライアントに対してサーバーからのデータを受信するのにどのＩＰアドレスまたはポートを使うべきかを示す。
【００５１】
【表６】
2006521643.tif 000008
表７は、サーバーのマスターコントローラによって用いられ、大／小セグメントの送信に使われるファイル区画ハンドラに通信される分割命令の例の規格を開示するものである。
【００５２】
【表７】
2006521643.tif 000009
表８は、ファイル区画ハンドラがあるセグメントの処理を完了したことを示したときにクライアント側のマスターコントローラによってサーバーに通信されるセグメント完了命令の規格を開示するものである。完了したセグメントを処理しているサーバーのファイル区画ハンドラは分割されたメディアオブジェクトの処理すべき次のセグメントを通知される。ファイル区画ハンドラは次いで表３に示される命令に従ってクライアントにデータ制御命令を発する。
【００５３】
【表８】
2006521643.tif 000010
【図面の簡単な説明】
【００５４】
【図１】本発明の代表例としての実施形態に基づくシステム図である。
【図２】本発明の代表的な実施形態に基づく、分割されたメディアオブジェクトの単一のクライアントへの伝送を示すシステム図である。
【図３】本発明の代表的な実施形態に基づく、分割されたメディアオブジェクトのマルチキャスト動作を通じた伝送を示すシステム図である。
【図４】本発明の代表的な実施形態に基づく、メディアオブジェクトを複数の区画に分割する伝送プロセスのフローチャートである。
【図５】分割されたメディアオブジェクトのファイルセグメントの実施例を示す図である。
【図６】本発明の代表的な実施形態に基づく、分割されたメディアオブジェクトのマルチキャスト伝送中のパケット損失を示す二次元配列を示す図である。
【図１】
2006521643.tif 000011
【図２】
2006521643.tif 000012
【図３】
2006521643.tif 000013
【図４】
2006521643.tif 000014
【図５】
2006521643.tif 000015
【図６】
2006521643.tif 000016
【手続補正書】
【提出日】平成17年10月11日(2005.10.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メディアオブジェクトを第一および第二のセグメントに分割し、
前記第一のセグメントをファイル区画ハンドラに割り当て、
前記第一のセグメントを前記ファイル区画ハンドラによってなされる決定に基づいてユーザーデータグラムプロトコル（UDP：user  datagram  protocol）ポートに送信する、
ステップを有することを特徴とする、ネットワークを通じた伝送のためにメディアオブジェクトをセグメント分割する方法。
【請求項２】
前記少なくとも一つのセグメントをファイル区画ハンドラが送信したことをコントローラに通知し、
前記第二のセグメントを前記ファイル区画ハンドラに送信のために割り当てる、
ステップを有することを特徴とする、請求項１記載の方法。
【請求項３】
前記コントローラが少なくとも二つのファイル区画ハンドラを操り、大セグメントをなす前記第一のセグメントが第一および第二の小セグメントに分割され、各小セグメントが前記コントローラによって一つのファイル区画ハンドラに割り当てられることを特徴とする、請求項２記載の方法。
【請求項４】
大セグメントを表す前記第二のセグメントが第三および第四の小セグメントに分割されて前記ファイル区画ハンドラによって送信されるより前に、前記の小セグメントが前記少なくとも二つのファイル区画ハンドラによって成功裏に送信されることを特徴とする、請求項３記載の方法。
【請求項５】
前記コントローラおよび少なくとも二つのファイル区画ハンドラが前記メディアオブジェクトを送信するのに使われるサーバーの一部であることを特徴とする、請求項２記載の方法。
【請求項６】
前記コントローラが第二のコントローラと伝送制御プロトコルおよびインターネットプロトコル（TCP/IP：Transmission  Control  Protocol  and  Internet  Protocol）をベースとする伝送を使って通信し、前記少なくとも二つのファイル区画ハンドラがサーバーとＵＤＰポートを使って通信することを特徴とする、請求項２記載の方法。
【請求項７】
前記コントローラが成功裏に送信されなかった損失セグメントを連結リストにて常時追跡しており、前記コントローラが前記損失セグメントを担うファイル区画ハンドラに前記損失セグメントを再送信させることを特徴とする、請求項２記載の方法。
【請求項８】
前記コントローラが、前記分割されたメディアオブジェクトの第一のセグメントを前記第一のファイル区画ハンドラが届け損なったときに反応して、前記第一のセグメントを第二のファイル区画ハンドラに割り当て直すことを特徴とする、請求項２記載の方法。
【請求項９】
複数のクライアントによる受信のために、前記第一のセグメントがマルチキャスト準拠伝送方式を使って送信されることを特徴とする、請求項１記載の方法。
【請求項１０】
ネットワークを通じた伝送のためにセグメント分割されたメディアオブジェクトを受信する方法であって：
ネットワークを通じた伝送としてメディアオブジェクトを要求し、
少なくとも二つのセグメントに分割されている前記メディアオブジェクトのセグメントを受信するために使われるＵＤＰポートに関する指示を受信し、
前記ＵＤＰポートを通じて前記セグメントを受信する、ステップを有することを特徴とする方法。
【請求項１１】
前記メディアオブジェクトの前記要求がクライアントによってマスターコントローラによって出され、セグメントを受信する前記ステップが前記クライアントのファイル区画ハンドラを操る前記マスターコントローラによって調整されることを特徴とする、請求項１０記載の方法。
【請求項１２】
前記メディアオブジェクトのための前記ステップの間前記マスターコントローラが前記メディアオブジェクトを受信する所望の速度および前記クライアントにおけるリソースの利用可能性を示すことを特徴とする、請求項１１記載の方法。
【請求項１３】
前記セグメントをクライアントが、複数のクライアントによる受信のためのマルチキャスト準拠伝送方式の一部として受信することを特徴とする、請求項１０記載の方法。
【請求項１４】
前記マスターコントローラが第二のマスターコントローラとＴＣＰ／ＩＰベースの伝送方式を使って通信し、前記ファイル区画ハンドラがサーバーとＵＤＰポートを使って通信することを特徴とする、請求項１１記載の方法。
【請求項１５】
メディアオブジェクトを送信する装置であって：
前記メディアオブジェクトを分割するマスターコントローラと、
前記分割されたメディアオブジェクトのセグメントを送信する複数のファイル区画ハンドラとを有し、
前記マスターコントローラが前記メディアオブジェクトをどのように分割するかを利用可能なファイル区画ハンドラに基づいて決定し、前記マスターコントローラが前記分割されたメディアオブジェクトのセグメントを前記複数のファイル区画ハンドラから選ばれたファイル区画ハンドラに割り当てることを特徴とする、装置。
【請求項１６】
前記ファイル区画ハンドラが前記セグメントをＵＤＰポートを通じて送信することを特徴とする、請求項１５記載の装置。
【請求項１７】
メディアオブジェクトを受信する装置であって：
マスターコントローラと、
分割されたメディアオブジェクトのセグメントを受信するための複数のファイル区画ハンドラとを有し、
前記マスターコントローラが前記分割されたメディアオブジェクトの前記セグメントをどのように再構築するかを決定する、ことを特徴とする装置。
【請求項１８】
前記ファイル区画ハンドラが前記セグメントをＵＤＰポートを通じて受信することを特徴とする、請求項１７記載の装置。
【国際調査報告】
2006521643.tif 000017