JP2023504633A - オーディオおよび/またはビデオコンテンツをプレーヤーに配信するための方法 - Google Patents

オーディオおよび/またはビデオコンテンツをプレーヤーに配信するための方法 Download PDF

Info

Publication number
JP2023504633A
JP2023504633A JP2022532793A JP2022532793A JP2023504633A JP 2023504633 A JP2023504633 A JP 2023504633A JP 2022532793 A JP2022532793 A JP 2022532793A JP 2022532793 A JP2022532793 A JP 2022532793A JP 2023504633 A JP2023504633 A JP 2023504633A
Authority
JP
Japan
Prior art keywords
video content
audio
cdn
player
multicaster
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
Application number
JP2022532793A
Other languages
English (en)
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 JP2023504633A publication Critical patent/JP2023504633A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Abstract

ローカルエリアネットワークは、ローカルエリアネットワーク内のプレーヤーを備えた端末がオーディオおよび/またはビデオコンテンツを受信できるようにするために、複数のコンテンツ配信ネットワークCDN受信機デバイスを備える。開示される方法は、CDN受信機デバイスから容量情報を取得すること、容量情報に従って、オーディオおよび/またはビデオコンテンツをプレーヤーに配信するセッションのために少なくとも1つのCDN受信機デバイスを選択すること、を含み、セッションが終了すると、選択された少なくとも1つのCDN受信機デバイスは、所定の持続時間の間、可能性がある次のセッションのために処理リソースを所定の位置に保持し、所定の持続時間の満了前に別のセッションが開始すると、処理リソースは、所定の位置に保持し、新しいセッションに使用される。また、所定の持続時間の満了後に別のセッションが開始すると、更新された容量情報に従って、少なくとも1つのCDN受信機デバイスの再選択が、実行される。【選択図】図1

Description

本発明は、一般に、オーディオおよび/またはビデオコンテンツをプレーヤーに配信することに関する。より具体的には、本発明は、プレーヤーが、オーディオおよび/またはビデオコンテンツを受信し得る複数のデバイス間の負荷分散を管理することに関する。
関連技術
それは、単一のローカルエリアネットワークからのオーディオおよび/またはビデオコンテンツを消費するためのプレーヤーをそれぞれ含む端末によって複数のデバイスが接触されるオーディオおよび/またはビデオコンテンツ配信システムと見なされる。例えば、オーディオおよび/またはビデオコンテンツ配信システムは、オーディオおよび/またはビデオコンテンツが受信され得る複数のセットトップボックスを含み得、当該セットトップボックスは、端末と同じローカルエリアネットワークに接続される。その場合、ユーザーが、自分の端末でオーディオおよび/またはビデオコンテンツを再生することを望む場合、ユーザーは、オーディオおよび/またはビデオコンテンツを取得するためにローカルエリアネットワークのセットトップボックスのどれか1つを選択するために、自分の端末を操作しなければならない。
しかしながら、複数のそのようなセットトップボックスが同じローカルエリアネットワーク内に提供される場合、その意図は、多数の同時端末をサポートできるように、増大した、オーディオおよび/またはビデオコンテンツ配信容量を提供することである。したがって、適切な負荷分散管理がないと、一部のセットトップボックスは、過負荷になる可能性がある一方、他のセットトップボックスは、十分に活用されない可能性がある。実際、セットトップボックスの選択は各ユーザーによって実行されるので、すべてのセットトップボックスを介して利用可能にされないオーディオおよび/またはビデオコンテンツは到達不能である多くの状況が発生する可能性があり、なぜならば、当該オーディオおよび/またはビデオコンテンツを提供できるセットトップボックスは、すでに他のユーザーで過負荷になっているからである。さらに、ユーザーが第1のプログラム(ライブのオーディオおよび/またはビデオコンテンツ)から第2のプログラムにザッピングするとき、その間に他のユーザーが、ユーザーが第1のプログラムを再生していたセットトップボックスに接続した場合、ユーザーは、別のセットトップボックスに切り替えなければならない場合がある。すべてのこれらの状況、およびセットトップボックス間の不適切な負荷分散または負荷分散の欠如に関連する他の状況は、ユーザー体感品質(QoE)に悪影響を及ぼす。
したがって、先行技術の前述の欠点を克服することが望ましい。
そのために、ローカルエリアネットワーク内のプレーヤーにオーディオおよび/またはビデオコンテンツを配信するための方法であって、ローカルエリアネットワークが、複数のコンテンツ配信ネットワークCDN受信機デバイスを備え、CDN受信機デバイスが、少なくとも1つのプロバイダネットワークを介してセグメントの形態でオーディオおよび/またはビデオコンテンツを受信し、CDN受信機デバイスが、ローカルエリアネットワーク内のプレーヤーを備えた端末がオーディオおよび/またはビデオコンテンツを受信することを可能にするために、オーディオおよび/またはビデオコンテンツの受信されたセグメントをローカルエリアネットワーク内に転送し、方法が、CDN受信機デバイスから容量情報を取得することであって、容量情報が、CDN受信機デバイスの総容量と比較した、実際に使用されている処理リソースの表示である、取得すること、容量情報に従って、オーディオおよび/またはビデオコンテンツをプレーヤーに配信するための少なくとも1つのCDN受信機デバイスを選択すること、オーディオおよび/またはビデオコンテンツをプレーヤーに配信するためのセッションが開始および終了することを検出すること、を含み、オーディオおよび/またはビデオコンテンツを、選択された少なくとも1つのCDN受信機デバイスからプレーヤーに配信するためのセッションが終了すると、選択された少なくとも1つのCDN受信機デバイスが、所定の持続時間の間、同じまたは別のオーディオおよび/またはビデオコンテンツをプレーヤーに配信するための可能性のある次のセッションのために、処理リソースを所定の位置に保持し、別のオーディオおよび/またはビデオコンテンツをプレーヤーに配信するための別のセッションが、所定の持続時間の満了前に開始すると、同じまたは別のオーディオおよび/またはビデオコンテンツが、処理リソースを使用して、選択された少なくとも1つのCDN受信機デバイスによってプレーヤーに配信され、所定の位置に保持し、同じまたは別のオーディオおよび/またはビデオコンテンツをプレーヤーに配信するための別のセッションが、所定の持続時間の満了後に開始すると、更新された容量情報に従って、少なくとも1つのCDN受信機デバイスの再選択が実行されて、別のオーディオおよび/またはビデオコンテンツをプレーヤーへ配信する、方法、が提案される。したがって、可能性のある次のセッションのために、処理リソースを所定の位置に保持することにより、新しいセッションごとに各CDN受信機デバイスに尋ねることなく達成された中のスムーズな負荷分散。そうすることで、オーディオおよび/またはビデオコンテンツを再生(消費)するための起動時間が、特に、ユーザーが、あるライブのオーディオおよび/またはビデオコンテンツから別のライブのオーディオおよび/またはビデオコンテンツにザッピングする場合に、短縮される。
特定の実施形態によれば、オーディオおよび/またはビデオコンテンツは、アダプティブビットレートABRを可能にするために、様々な表現でCDN受信機に利用可能にされる。したがって、オーディオおよび/ビデオコンテンツの品質は、プレーヤーへの送信条件に応じて適合される。
特定の実施形態によれば、選択された少なくとも1つのCDN受信機デバイスは、オーディオおよび/またはビデオコンテンツのマニフェストファイルを取得するための要求を受信したときに、オーディオおよび/またはビデオコンテンツをプレーヤーに配信するためのセッションが開始することを検出する。
特定の実施形態によれば、選択された少なくとも1つのCDN受信機デバイスは、セッションが開始することを示すメッセージを受信したときに、オーディオおよび/またはビデオコンテンツをプレーヤーに配信するためのセッションが開始することを検出する。
特定の実施形態によれば、選択された少なくとも1つのCDN受信機デバイスは、プレーヤーへのオーディオおよび/またはビデオコンテンツの配信に関する要求が、所定の持続時間の間、選択された少なくとも1つのCDN受信機デバイスによって受信されなかったことを検出したとき、オーディオおよび/またはビデオコンテンツをプレーヤーへ配信するためのセッションが終了することを検出する。
特定の実施形態によれば、オーディオおよび/またはビデオコンテンツは、マルチキャスト形態でCDN受信機に利用可能にされ、CDN受信機デバイスは、少なくとも1つのプロバイダネットワークを介してマルチキャスト形態で受信されたセグメントをユニキャスト形態に変換するデマルチキャスタである。
特定の実施形態によれば、各CDN受信機デバイスは、その容量情報を、消費されるオーディオおよび/またはビデオコンテンツが、問題のCDN受信機デバイスを介して利用可能にされるかどうかをチェックするための要求に応答するのと同時に、送信する。
特定の実施形態によれば、消費されるオーディオおよび/またはビデオコンテンツが、問題のCDN受信機デバイスを介して利用可能にされるかどうかをチェックするための要求に応答して、少なくとも1つのCDN受信機デバイスによって送信される容量情報が、変化したとき、方法は、更新された容量情報を取得するために、各他のCDN受信機デバイスに容量情報を要求することをさらに含む。
特定の実施形態によれば、CDN受信機デバイスから容量情報を取得すること、およびオーディオおよび/またはビデオコンテンツをプレーヤーに配信するための少なくとも1つのCDN受信機デバイスを、容量情報に従って選択することは、プレーヤーに関連付けられたアプリケーションによって実行される。
特定の実施形態によれば、CDN受信機デバイスから容量情報を取得すること、およびオーディオおよび/またはビデオコンテンツをプレーヤーに配信するための少なくとも1つのCDN受信機デバイスを、容量情報に従って選択することは、消費されるオーディオおよび/またはビデオコンテンツが、問題のCDN受信機デバイスを介して利用可能にされるかどうかを、プレーヤーに関連付けられたアプリケーションが要求する1つのCDN受信機によって実行される。
特定の実施形態によれば、セッションが、オーディオおよび/またはビデオコンテンツを複数の選択されたCDN受信機デバイスからプレーヤーに配信することを暗示する場合、プレーヤーは、オーディオおよび/またはビデオコンテンツのセグメントを受信するためのプロキシデバイスと通信し、プロキシデバイスは、オーディオおよび/またはビデオコンテンツをプレーヤーに配信するための負荷分散を管理しながら、オーディオおよび/またはビデオコンテンツのセグメントを取得するための複数の選択されたCDN受信機デバイスと通信する。
特定の実施形態によれば、プロキシデバイスが、オーディオおよび/またはビデオコンテンツのマニフェストファイルを取得するための要求をプレーヤーから受信すると、プロキシデバイスは、オーディオおよび/またはビデオコンテンツのマニフェストファイルを取得するための1つのそのような要求を、複数の選択されたCDN受信機デバイスのうちの各選択されたCDN受信機デバイスに送信する。
ローカルエリアネットワーク内のプレーヤーにオーディオおよび/またはビデオコンテンツを配信するために構成されたオーディオおよび/またはビデオコンテンツ配信システムであって、ローカルエリアネットワークが、オーディオおよび/またはビデオコンテンツ配信システムの複数のコンテンツ配信ネットワークCDN受信機デバイスを備え、CDN受信機デバイスが、少なくとも1つのプロバイダネットワークを介してセグメントの形態でオーディオおよび/またはビデオコンテンツを受信し、CDN受信機デバイスが、ローカルエリアネットワーク内のプレーヤーを備えた端末がオーディオおよび/またはビデオコンテンツを受信することを可能にするために、オーディオおよび/またはビデオコンテンツの受信されたセグメントをローカルエリアネットワーク内に転送し、オーディオおよび/またはビデオコンテンツ配信システムが、CDN受信機デバイスから容量情報を取得するための手段であって、容量情報が、CDN受信機デバイスの総容量と比較した、実際に使用されている処理リソースの表示である、手段と、容量情報に従って、オーディオおよび/またはビデオコンテンツをプレーヤーに配信するための少なくとも1つのCDN受信機デバイスを選択するための手段と、オーディオおよび/またはビデオコンテンツをプレーヤーに配信するためのセッションが開始および終了することを検出するための手段と、を備える、オーディオおよび/またはビデオコンテンツ配信システム、がさらに提案される。オーディオおよび/またはビデオコンテンツ配信システムは、以下、オーディオおよび/またはビデオコンテンツを、選択された少なくとも1つのCDN受信機デバイスからプレーヤーに配信するためのセッションが終了すると、選択された少なくとも1つのCDN受信機デバイスが、所定の持続時間の間、同じまたは別のオーディオおよび/またはビデオコンテンツをプレーヤーに配信するための可能性のある次のセッションのために、処理リソースを所定の位置に保持し、別のオーディオおよび/またはビデオコンテンツをプレーヤーに配信するための別のセッションが、所定の持続時間の満了前に開始すると、同じまたは別のオーディオおよび/またはビデオコンテンツが、処理リソースを使用して、選択された少なくとも1つのCDN受信機デバイスによってプレーヤーに配信され、所定の位置に保持し、同じまたは別のオーディオおよび/またはビデオコンテンツをプレーヤーに配信するための別のセッションが、所定の持続時間の満了後に開始すると、更新された容量情報に従って、少なくとも1つのCDN受信機デバイスの再選択が実行されて、別のオーディオおよび/またはビデオコンテンツをプレーヤーへ配信するように、さらに構成されている。
本発明の特徴は、少なくとも1つの実施形態の以下の説明を読むことからより明確に明らかになり、説明は、添付の図面を参照して作成されている。
本発明が実装され得るオーディオおよび/またはビデオコンテンツ配信システムを概略的に表す。 オーディオおよび/またはビデオコンテンツ配信システムの範囲内で使用可能なデバイスのハードウェアアーキテクチャの例を概略的に表す。 デマルチキャスタ容量情報を取得するための第1の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。 オーディオおよび/またはビデオコンテンツを配信するための第1の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。 オーディオおよび/またはビデオコンテンツを配信するための第2の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。 オーディオおよび/またはビデオコンテンツを配信するための第3の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。 デマルチキャスタ容量情報を取得するための第2の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。 オーディオおよび/またはビデオコンテンツを配信するための第4の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。 オーディオおよび/またはビデオコンテンツを配信するための第5の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。 オーディオおよび/またはビデオコンテンツを配信するための第6の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。 オーディオおよび/またはビデオコンテンツを配信するための第7の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を共同して概略的に表す。 同上。
少なくとも1つの実施形態の詳細な説明
図1は、オーディオおよび/またはビデオコンテンツ配信システム100を概略的に表す。オーディオおよび/またはビデオコンテンツ配信システム100は、少なくとも1つのプロバイダネットワークPN102を介して、オーディオおよび/またはビデオコンテンツを配信するように構成されたコンテンツ配信サーバ機器CDE160を備える。コンテンツ配信サーバ機器CDE160は、オーディオおよび/またはビデオコンテンツを、好ましくはマルチキャスト方式またはブロードキャスト方式で、例えば、衛星放送通信を使用して配信するように構成される。以下、オーディオおよび/またはビデオコンテンツがマルチキャスト方式で配信されることを例示的に検討する(ブロードキャスト送信は、マルチキャスト送信の特定のケースである)。コンテンツ配信サーバ機器CDE160は、一変形例では、プロバイダネットワークPN102の送信方向機能に従って、ユニキャスト方式でオーディオおよび/またはビデオコンテンツを配信するように構成され得る。
特定の一実施形態では、コンテンツ配信サーバ機器CDE160は、エンコーダデバイスENC163と、パッケージャデバイスPCKG162と、トランスキャスタデバイスTCAST161とを備える。エンコーダデバイスENC163は、少なくとも1つのオーディオおよび/またはビデオフォーマットに従って、オーディオおよび/またはビデオコンテンツを符号化するように構成される。
好ましくは、エンコーダデバイスENC163は、アダプティブビットレート(ABR)ストリーミングの実装を可能にするために、オーディオおよび/またはビデオコンテンツを様々なビットレートで符号化する。アダプティブビットレートが実装されている場合、マニフェストファイル(または使用されているアダプティブビットレートテクノロジによっては、プレイリストファイル)は、使用可能にされた様々な表現を記述する。
パッケージャデバイスPCKG162は、エンコーダデバイスENC163によって符号化されたオーディオおよび/またはビデオコンテンツを、セグメントの形態でパッケージ化および供給するように構成されている。オーディオおよび/またはビデオコンテンツの複数の表現が利用可能な場合(アダプティブビットレートの場合)、オーディオおよび/またはビデオコンテンツの同じ部分に対応するセグメントが、好ましくはメディアファイルのセットとして、整列される(同じ持続時間、同じ開始フレームコンテンツ)。トランスキャスタデバイスTCAST161は、セグメントを、トランスポートプロトコルを使用して、例えば、問題のオーディオおよび/またはビデオコンテンツの表現ごとに1つのIP(インターネットプロトコル)マルチキャストストリームの形態で、プロバイダネットワークPN102を介して送信するように構成されている。プロバイダネットワークPN102が、双方向通信ネットワークであるか、または双方向ネットワークと組み合わされた単方向ネットワークである場合、コンテンツ配信サーバ機器CDE160は、セグメントが受信時に欠落した、またはプロバイダネットワークPN102を介して失われた、もしくは破損した場合に、修復のために、オンデマンドでセグメントを、ユニキャスト方式で提供するように構成されたユニキャストサーバデバイスを含み得る。
オーディオおよび/またはビデオコンテンツ配信システム100は、それぞれのデマルチキャスタデバイスを埋め込んだゲートウェイをさらに備える。デマルチキャスタデバイスは、トランスキャスタデバイスTCAST161によって使用されるトランスポートプロトコルから、プロバイダネットワークPN102を介してマルチキャストまたはブロードキャスト方式で送信されたオーディオおよび/またはビデオコンテンツのセグメントを抽出するように構成される。
同じ位置に複数のゲートウェイを配置して、その位置でのオーディオおよび/またはビデオコンテンツ配信機能を消費し、そのようにして、その位置でのオーディオおよび/またはビデオコンテンツ配信ニーズの実現を分担することができる。例えば、一部のホテル、大学、または商店は、単一のゲートウェイが提供できるよりも多くのオーディオおよび/またはビデオコンテンツ配信機能を必要とし得る。その状況が、図1に示されている。3つのゲートウェイGW1141、GW2142、GW3143は、これら3つのゲートウェイGW1141、GW2142、GW3143すべてが同じローカルエリアネットワークLAN101に接続されるように、同じ位置に配置されている。例えば、ゲートウェイGW1141、GW2142、GW3143は、スタックされる。したがって、ローカルエリアネットワークLAN101に接続された端末T1111、T2112は、コンテンツ配信サーバ機器CDE160によって提供されるオーディオおよび/またはビデオコンテンツを、3つのゲートウェイGW1141、GW2142、GW3143のどれか1つを介して受信し得る。より具体的には、ゲートウェイGW1141、GW2142、GW3143は、それぞれ、デマルチキャスタデバイスDM1151、DM2152、DM3153を含む。デマルチキャスタデバイスDM1151、DM2152、DM3153は、トランスキャスタデバイスTCAST161によって使用されるトランスポートプロトコルから、プロバイダネットワークPN102を介して送信されるオーディオおよび/またはビデオコンテンツのセグメントを抽出するように、かつオーディオおよび/またはビデオコンテンツのセグメントを、ローカルエリアネットワークLAN101に接続された端末へさらに送信するように、構成される。デマルチキャスタデバイスDM1151、DM2152、DM3153は、ローカルエリアネットワークLAN101に接続された端末と、ユニキャスト形態で通信する。したがって、デマルチキャスタデバイスDM1151、DM2152、DM3153は、プロバイダネットワークPN102を介して受信されたマルチキャストまたはブロードキャストデータを、ローカルエリアネットワークLAN101に接続された端末にアドレス指定されたユニキャストデータに変換するように構成される。すでに述べたように、セグメントが、受信時に欠落した、またはプロバイダネットワークPN102を介して失われた、もしくは破損した場合、デマルチキャスタデバイスDM1151、DM2152、DM3153は、コンテンツ配信サーバ機器CDE160のユニキャストサーバデバイスに問題のセグメントを要求し、次いで、ユニキャストサーバデバイスから受信されたセグメントデータを、ローカルエリアネットワークLAN101上でのさらなる送信のために、マルチキャストデータに挿入することができる。
端子T1111、T2112は、それぞれ、プレーヤーPL1121、PL2122を備える。端子T1111、T2112は、それぞれ、アプリケーションAPP1131、APP2132をさらに備える。アプリケーションAPP1131、APP2132は、典型的には、プレーヤーPL1121、PL2122の外部にあり、それにより、ローカルエリアネットワークLAN101内の複数のデマルチキャスタデバイスの存在を認識しないサードパーティのプレーヤーを使用することが可能になる。アプリケーションAPP1131、APP2132は、一変形例では、プレーヤーPL1121、PL2122に統合され得る。
プレーヤーPL1121、PL2122は、プレーヤーPL1121、PL2122によって消費されるオーディオおよび/またはビデオコンテンツを符号化するために、エンコーダデバイスENC163によって使用される符号化フォーマットに従って符号化されたセグメントを復号するように構成される。プレーヤーPL1121、PL2122は、それぞれアプリケーションAPP1131、APP2132を介してユニキャスト形態で、端末T1111、T2112によってそれぞれ受信されたオーディオおよび/またはビデオコンテンツを消費する(例えば、再生する、記録する)ように構成される。以下に詳述するように、アプリケーションAPP1131、APP2132は、プレーヤーPL1121、PL2122によってそれぞれ消費されることを意図して受信されたオーディオおよび/またはビデオコンテンツデータを、オーディオおよび/またはビデオコンテンツデータが、プレーヤーPL1121、PL2122に適合した形態であるように整形する。アプリケーションAPP1131、APP2132の各々は、デマルチキャスタデバイスDM1151、DM2152、DM3153、もしくはマルチパス送信の場合はプロキシデバイスのうちのいずれか1つと通信するように、かつそこからオーディオおよび/またはビデオコンテンツを、好ましくはHTTP(ハイパーテキストトランスポートプロトコル)を使用して受信するように構成され、プレーヤーPL1121、PL2122は、例えば、HAS(「HTTPアダプティブストリーミング」)スキームに準拠するコンテンツを消費するように構成される。したがって、端末T1111、T2112は、オーディオおよび/またはビデオコンテンツを、マルチキャストおよびブロードキャスト形態のいずれにおいても受信することができない。プレーヤーPL1121、PL2122は、オーディオおよび/またはビデオコンテンツ配信システム100のインフラストラクチャに依存しない。
図1は、すべてのデマルチキャスタデバイスDM1151、DM2152、DM3153が、同じコンテンツ配信サーバ機器CDE160からオーディオおよび/またはビデオコンテンツを受信するように構成されて示されているが、デマルチキャスタデバイスDM1151、DM2152、DM3153は、別個のそれぞれのコンテンツ配信サーバ機器からオーディオおよび/またはビデオコンテンツを受信するように構成されてもよいことに留意されたい。
様々な実施形態で以下に詳述されるように、オーディオおよび/またはビデオコンテンツをプレーヤーPL1121、PL2122に配信することは、
-デマルチキャスタデバイスDM1151、DM2152、DM3153から容量情報を取得すること、
-容量情報に従って、オーディオおよび/またはビデオコンテンツをプレーヤーに配信するために、デマルチキャスタデバイスDM1151、DM2152、DM3153の中から少なくとも1つのデマルチキャスタデバイスを選択すること、を含み、
-オーディオおよび/またはビデオコンテンツを、選択された少なくとも1つのデマルチキャスタデバイスからプレーヤーに配信するためのセッションが終了すると、選択された少なくとも1つのデマルチキャスタデバイスが、所定の時間の間、同じまたは別のオーディオおよび/またはビデオコンテンツをプレーヤーに配信するための可能性のある次のセッションのために、処理リソースを所定の位置に保持し、
-同じまたは別のオーディオおよび/またはビデオコンテンツをプレーヤーに配信するための別のセッションが、所定の時間の満了前に開始すると、別のオーディオおよび/またはビデオコンテンツが、処理リソースを使用して、選択された少なくとも1つのデマルチキャスタデバイスによってプレーヤーに配信され、所定の位置に保持し、
-同じまたは別のオーディオおよび/またはビデオコンテンツをプレーヤーに配信するための別のセッションが、所定の時間の満了後に開始すると、更新された容量情報に従って、少なくとも1つのデマルチキャスタデバイスの再選択が実行されて、別のオーディオおよび/またはビデオコンテンツをプレーヤーへ配信する。
そうすることにより、プレーヤーが、オーディオおよび/またはビデオコンテンツセグメントを取得するために、できる限り頻繁に、同じデマルチキャスタデバイスにリンクされる。これにより、新しいセッションごとに各デマルチキャスタデバイスに問い合わせることなく、スムーズな負荷分散が可能になる。これにより、新しいセッションを開始するための待ち時間が低減され、特にエンドユーザーが、あるライブのオーディオおよび/ビデオコンテンツから別のライブのオーディオおよび/ビデオコンテンツにザッピングするときに、ユーザー体感品質(QoE)が向上する。
図2は、オーディオおよび/またはビデオコンテンツ配信システムの範囲内で使用可能なハードウェアアーキテクチャの例を概略的に表す。ハードウェアアーキテクチャの例は、ゲートウェイGW1141、GW2142、GW3143、および/または端末T1111、T2112、および/またはサーバ機器CDE160の一部であり得る。ハードウェアアーキテクチャの例は、通信デバイス200の一部であると、一般的に、考えてみよう。
示されるアーキテクチャによれば、通信デバイス200は、通信バス210によって相互接続された以下の構成要素、すなわち、プロセッサ、マイクロプロセッサ、マイクロコントローラ、またはCPU(中央処理装置)201と、RAM(ランダムアクセスメモリ)202と、EEPROM(電気的に消去可能なプログラム可能なROM)などのROM(読み取り専用メモリ)203、例えば、フラッシュメモリと、HDD(ハードディスクドライブ)204、またはSD(セキュアデジタル)カードリーダーなどの記憶媒体に記憶された情報を読み取るように適合された任意の他のデバイスと、少なくとも1つの通信インターフェース205と、を備える。
CPU201は、ROM203から、またはHDD204もしくはSDカードなどの外部メモリからRAM202にロードされた命令を実行することができる。通信デバイス200の電源がオンになった後、CPU201は、RAM202から命令を読み取り、これらの命令を実行することができる。命令は、本明細書で説明されるように、問題の通信デバイスによって実行されるステップをCPU201に実行させる1つのコンピュータプログラムを形成する。
したがって、本明細書に記載のステップ、動作、およびアルゴリズムは、PC、DSP(デジタルシグナルプロセッサ)またはマイクロコントローラなどのプログラム可能なコンピューティングマシンによる一連の命令またはプログラムの実行によって、ソフトウェア形態で実装されるか、そうでなければ、FPGA(フィールドプログラマブルゲートアレイ)もしくはASIC(特定用途向け集積回路)などのマシンまたは専用構成要素によって、ハードウェア形態で実装され得る。一般的に言えば、通信デバイス200は、問題の通信デバイス200に関して本明細書で説明されるステップ、動作、およびアルゴリズムを実装するために適合および構成された電子回路を備える。
図3は、デマルチキャスタデバイスの容量情報を取得するための第1の実施形態による、オーディオおよび/またはビデオコンテンツ配信システム100で発生する交換を概略的に表す。
ステップ301において、アプリケーションAPP1131、デマルチキャスタデバイスDM1151、デマルチキャスタデバイスDM2152、およびデマルチキャスタデバイスDM3153が、発見手順(DSCVRとラベル付けされている)を実行する。ローカルエリアネットワークLAN101内に存在する場合、端末T2112などの他の端末も、(端末T2112のアプリケーションAPP2132を介して)発見手順に関与する。発見手順中、関係する通信デバイスは、それらのそれぞれの機能をエクスポートする。より具体的には、デマルチキャスタデバイスDM1151、デマルチキャスタデバイスDM2152、およびデマルチキャスタデバイスDM3153は、ローカルエリアネットワークLAN101内の自分たちの存在をアナウンスし、それらのそれぞれのデマルチキャスタ機能をアナウンスする。発見手順は、例えば、UPnP(規範文書ISO/IEC29341によって定義された「ユニバーサルプラグアンドプレイ」)プロトコルでも使用されるようなSSDP(「シンプルサービス発見プロトコル」)プロトコルなどのSDP(「サービス発見プロトコル」)プロトコル、またはAppleのBonjourなどのテクノロジーZeroconfを使用する。
ステップ302において、アプリケーションAPP1131は、要求REQ_CAPをデマルチキャスタデバイスDM1151に送信する。要求REQ_CAPは、要求REQ_CAPがアドレス指定される通信デバイスのオーディオおよび/またはビデオ処理リソースに関する実際の容量に関する情報を要求するメッセージである。そのような容量情報は、より具体的には、問題の通信デバイス(デマルチキャスタデバイス)の総容量と比較した、実際に使用されている処理リソースの表示である。
ステップ303において、デマルチキャスタデバイスDM1151は、ステップ302でアプリケーションAPP1131によって送信された要求REQ_CAPに対する応答RSP_CAPを送信し、応答RSP_CAPは、要求REQ_CAPによって要求された容量情報を含む。応答RSP_CAPは、例えば、以下の容量情報、すなわち、実際の負荷(LD、パーセンテージ)、実際の同時セッション数(NB_SESS)、許容可能な同時セッションの最大数(MAX_SESS)、および任意選択で実際の平均出力ビットレートならびに最大許容可能出力ビットレートを含む。
ステップ304において、アプリケーションAPP1131は、要求REQ_CAPをデマルチキャスタデバイスDM2152に同じように送信し、ステップ305において、デマルチキャスタデバイスDM2152は、ステップ304でアプリケーションAPP1131によって送信された要求REQ_CAPに対する応答RSP_CAPを送信する。
ステップ306において、アプリケーションAPP1131は、要求REQ_CAPをデマルチキャスタデバイスDM3153に同じように送信し、ステップ307において、デマルチキャスタデバイスDM3153は、ステップ304でアプリケーションAPP1131によって送信された要求REQ_CAPに対する応答RSP_CAPを送信する。
アプリケーションAPP1131が、一旦ローカルエリアネットワークLAN101内に存在するすべてのデマルチキャスタデバイスの容量情報を収集すると、アプリケーションAPP1131は、デマルチキャスタデバイスを、それらの容量情報に従って順序付けし、ステップ308において、容量情報が、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの中で最も高い残存容量を示すデマルチキャスタデバイスを、オーディオおよび/またはビデオコンテンツ配信システム100へのデフォルトのエントリポイントとして選択する。
容量情報に従った順序付けは、以下のように、各デマルチキャスタデバイスを容量スコアCSに関連付けるための以下のルールを適用することによって行われ得、デマルチキャスタデバイスは、次に、容量スコアCSの降順で順序付けされる。
If (NB_SESS < MAX_SESS)
CS = 1 - ((NB_SESS / MAX_SESS) * LD/100
Else
CS = 0
他のルールを使用して、容量情報からそのような容量スコアCSを決定し、その結果、デマルチキャスタデバイスを、それらの実際の負荷または残存容量に従って順序付けしてもよい。
ステップ302~308は、アプリケーションAPP1131によって、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの容量をチェックし、かつオーディオおよび/またはビデオコンテンツ配信システム100へのデフォルトのエントリポイントを選択するプロセスAPP_CC300を共同して形成する。典型的には、アプリケーションAPP1131は、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの順序付きリストLを保持し、最も高い残存容量を示すデマルチキャスタデバイスが、容量スコアCSを決定するために使用されるルールに応じて、順序付きリストの最上部または最下部に現れる。同様のプロセスが、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの容量をチェックするために、アプリケーションAPP2132によって実行される。以下、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスによって提供される容量情報を考慮して、デマルチキャスタデバイスDM2152が、プロセスAPP_CC300の最良の候補である、と例示的に考えてみよう。
図4は、オーディオおよび/またはビデオコンテンツを配信するための第1の実施形態による、オーディオおよび/またはビデオコンテンツ配信システム100で発生する交換を概略的に表す。
ステップ400において、アプリケーションAPP1131、デマルチキャスタデバイスDM1151、デマルチキャスタデバイスDM2152、およびデマルチキャスタデバイスDM3153が、ステップ301に関してすでに説明したように、発見手順を実行する。
ステップ401において、アプリケーションAPP1131は、図3に関して上記で詳述したように、プロセスAPP_CCを実行する。したがって、アプリケーションAPP1131は、容量情報に従って、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの順序付きリストLを保持する。
ステップ402において、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツを選択する(本明細書では、プロセスC_SELと呼ばれる)。例えば、ユーザーは、端末T1111のグラフィカルユーザーインターフェース(GUI)を介して、オーディオおよび/またはビデオコンテンツを選択する。
次に、ステップ403において、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツが、アプリケーションAPP1131によって保持される順序付きリストLに従って、例示的に最も高い残存容量を示すデマルチキャスタデバイスであるデマルチキャスタデバイスDM2152を介して利用可能にされるかどうかをチェックする。そうするために、アプリケーションAPP1131は、要求REQ_CHKをデマルチキャスタデバイスDM2152に送信する。要求REQ_CHKは、選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつデマルチキャスタデバイスDM2152が、オーディオおよび/またはビデオコンテンツを端末T1111に提供できることの確認を要求するメッセージである。
各デマルチキャスタデバイスは、プロバイダネットワークPN102を介して、各デマルチキャスタデバイスに利用可能にされたオーディオおよび/またはビデオコンテンツのリストを格納する。問題のデマルチキャスタデバイスは、例えば、専用のブロードキャストもしくはマルチキャストチャネルを介して、または所定の構成サーバに問い合わせることによって、その問題のデマルチキャスタデバイスに利用可能にされたオーディオおよび/またはビデオコンテンツのリストを取得する。
ステップ404において、デマルチキャスタデバイスDM2152は、ステップ403でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。応答RSP_CHKは、デマルチキャスタデバイスDM2152が、選択されたオーディオおよび/またはビデオコンテンツを端末T1111に配信できない場合のエラーコード、またはさもなければ確認コードのいずれかを含む。デマルチキャスタデバイスDM2152は、選択されたオーディオおよび/またはビデオコンテンツが、デマルチキャスタデバイスDM2152によるアクセス可能でない場合、またはデマルチキャスタデバイスDM2152が、(ステップ401のプロセスAPP_CCの実行以降)処理リソースを使い果たした場合、選択されたオーディオおよび/またはビデオコンテンツを配信できない場合がある。デマルチキャスタデバイスDM2152が、選択されたオーディオおよび/またはビデオコンテンツを配信することができず、かつ応答RSP_CHKが、対応するエラーコードを含む、と例示的に考えてみよう。
その場合、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツが、順序付きリストL内で次に現れるデマルチキャスタデバイスを介して利用可能にされるかどうかをチェックする。デマルチキャスタデバイスDM3153が、順序付けリストL内の次の項目に対応する、と例示的に考えてみよう。したがって、ステップ405において、アプリケーションAPP1131は、要求REQ_CHKをデマルチキャスタデバイスDM3153に送信することによって、消費されるオーディオおよび/またはビデオコンテンツが、デマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。ステップ406において、デマルチキャスタデバイスDM3153は、ステップ405でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。
ステップ407において、アプリケーションAPP1131は、選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、デマルチキャスタデバイスDM3153の識別子(例えば、デマルチキャスタデバイスDM3153のIPアドレス)と、選択されたオーディオ/またはビデオコンテンツを表す情報(例えば、選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)とを含むメッセージLAUNCHを送信する。
使用するアダプティブビットレートテクノロジによっては、マニフェストファイルが、同等にプレイリストファイルと命名される場合があることに留意されたい。それは、問題のオーディオおよび/またはビデオコンテンツが、コンテンツ配信サーバ機器CDE160によって利用可能にされる様々な表現の記述を提供する。
ステップ408において、プレーヤーPL1121は、(LAUNCHメッセージの内容に従って)要求REQ_MをデマルチキャスタデバイスDM3153に送信する。要求REQ_Mは、選択されたオーディオおよび/またはビデオコンテンツのマニフェストファイルを受信することを要求するユニキャストメッセージである。したがって、要求REQ_Mは、選択されたオーディオおよび/またはビデオコンテンツを表す情報(例えば、LAUNCHメッセージ内に提供される、マニフェストファイルを指すURLパス)を含む。
ステップ409において、デマルチキャスタデバイスDM3153は、要求されたマニフェストファイルを送信することによって、選択されたオーディオおよび/またはビデオコンテンツの利用可能性をプレーヤーPL1121に対して確認する。要求REQ_Mを受信し、それに応答すると、デマルチキャスタデバイスDM3153の内部で、セッションの開始の記録がトリガーされる(ステップ410)。アダプティブビットレートが実装されていない場合、マニフェストファイルは存在しない。したがって、一変形例では、デマルチキャスタデバイスDM3153は、アプリケーションAPP1131から専用メッセージを受信すると、セッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツについてのプレーヤーPL1121からの(以下に詳述されるように)(シーケンスにおける)第1の要求REQ_Cを受信すると、セッションの開始を検出する。
ステップ411において、プレーヤーPL1121は、要求REQ_CをデマルチキャスタデバイスDM3153に送信する。要求REQ_Cは、選択されたオーディオおよび/またはビデオコンテンツの少なくとも1つのセグメントを受信することを要求するユニキャストメッセージである。したがって、要求REQ_Cは、選択されたオーディオおよび/またはビデオコンテンツを表す情報(例えば、選択されたオーディオおよび/またはビデオコンテンツを指すURLパス)を含む。例えば、要求REQ_Cは、HTTP Getメッセージであり、ステップ409の間に取得されたマニフェストファイル内にアドバタイズされたもののうちの少なくとも1つのセグメントが要求される表現(品質)を示すパラメータをさらに含む。ステップ412において、デマルチキャスタデバイスDM3153は、ステップ411でプレーヤーPL1121によって送信された要求REQ_Cに対する応答RSP_Cを送信し、応答RSP_Cは、オーディオおよび/またはビデオコンテンツの少なくとも1つのセグメントを含む。そうすると、プレーヤーPL1121は、受信された少なくとも1つのセグメントを消費し得る。ステップ411および412は、プレーヤーPL1121が、選択されたオーディオおよび/またはビデオコンテンツの少なくとも1つの後続のセグメントをさらに受信することを可能にするために、繰り返され得る。
ステップ408~412は、選択されたオーディオおよび/またはビデオコンテンツを配信するプロセスC_RET4100を共同して形成する。
プレーヤーPL1121によって送信される問題のオーディオおよび/またはビデオコンテンツに関連する要求REQ_Cに応答できるようにするために、デマルチキャスタデバイスDM3153は、例えば、オーディオおよび/またはビデオコンテンツのセグメントが送信される(ここでは、オーディオおよび/またはビデオコンテンツはライブコンテンツであると考える)プロバイダネットワークPN102上のマルチキャストストリームに加わることによって、コンテンツ配信サーバ機器CDE160からオーディオおよび/またはビデオコンテンツのセグメントを取得する。
ステップ413において、アプリケーションAPP1131は、プレーヤーPL1121が、セッションを終了したことを検出する。これは、プレーヤーPL121が、アプリケーションAPP1131に、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えばメッセージSTOPによって)通知するによって行われ得る。
ステップ414において、アプリケーションAPP1131は、デマルチキャスタデバイスDM3153に、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えば、メッセージSTOPによって)通知する。アプリケーションAPP1131からデマルチキャスタデバイスDM3153への通知のない変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツに関するプレーヤーPL1121からの要求(REQ_MまたはREQ_Cのいずれか)の最後の送信から所定の時間PT1が経過したときに、オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するためのセッションが終了したことを検出し得る。これにより、デマルチキャスタデバイスDM3153の内部で、セッションの停止の記録がトリガーされる(ステップ415)。
セッションの終了にもかかわらず、デマルチキャスタデバイスDM3153は、オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するための可能性のある次のセッションのために、処理リソースを所定の位置に保持する。問題の処理リソースは、所定の時間PT2の間、所定の位置に保持される。オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するために、後続のセッションが、所定の時間PT2内に開始されない場合、デマルチキャスタデバイスDM3153は、問題の処理リソースを解放する。所定の時間PT2は、固定または構成可能であり得る。そうすることにより、特に少なくとも1人のユーザーが、あるライブプログラムから別のライブプログラムにザッピングし、それにより連続した短いセッションが発生する場合、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイス間の負荷分散を効率的に管理することが可能になる。
したがって、所定の時間PT2の満了前に新しいセッションが開始されることを考慮して、アプリケーションAPP1131は、ステップ416において、消費される同じまたは別のオーディオおよび/またはビデオコンテンツを選択する(プロセスC_SEL)。例えば、ユーザーは、端末T1111のグラフィカルユーザーインターフェース(GUI)を介して、同じまたは別のオーディオおよび/またはビデオコンテンツを選択する。
アプリケーションAPP1131は、消費される新たに選択されたオーディオおよび/またはビデオコンテンツが、前のセッション中使用されたデマルチキャスタデバイス、つまりデマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。したがって、ステップ417において、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつ新たに選択されたオーディオおよび/またはビデオコンテンツが利用可能にされることの確認を要求する要求REQ_CHKをデマルチキャスタデバイスDM3153に送信することによって、新たに選択されたオーディオおよび/またはビデオコンテンツが、デマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。ステップ418において、デマルチキャスタデバイスDM3153は、ステップ417でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。デマルチキャスタデバイスDM3153が、新たに選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。
ステップ419において、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を再起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、デマルチキャスタデバイスDM3153の識別子(例えば、デマルチキャスタデバイスDM3153のIPアドレス)と、新たに選択されたオーディオ/またはビデオコンテンツを表す情報(例えば、新たに選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)とを含むメッセージLAUNCHを送信する。次に、ステップ420において、新たに選択されたオーディオおよび/またはビデオコンテンツを配信するために、プロセスC_RETが繰り返される。プロセスC_RET4100で説明したのと同じように、デマルチキャスタデバイスDM3153は、要求REQ_Mを受信し、それに応答すると、新しいセッションの開始の記録を実行する。一変形例では、デマルチキャスタデバイスDM3153は、アプリケーションAPP1131から専用メッセージを受信すると、新しいセッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツについてのプレーヤーPL1121からの(シーケンスにおける)第1の要求REQ_Cを受信すると、新しいセッションの開始を検出する。
アプリケーションAPP1131によって新しいセッションが開始される一方で、前のセッションの終了から所定の時間PT2が満了した場合、新しいセッションのための処理リソースの利用可能性は、デマルチキャスタデバイスDM3153によって保証され得ない。したがって、アプリケーションAPP1131は、順序付きリストLの更新されたバージョン(更新された容量情報)を使用することによって、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの中からデマルチキャスタを再び選択しなければならない。
プロセスAPP_CCを使用して、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスに問い合わせることは、それらの実際の能力情報の最も正確なビューを維持するために、アプリケーションAPP1131によって定期的に行われ得る。アプリケーションAPP1131は、プロセスAPP_CCが、ローカルエリアネットワークLAN101内に存在する少なくとも1つのデマルチキャスタデバイスの容量情報が変化したことを明らかにしたときに、順序付きリストLを更新する。
図5は、オーディオおよび/またはビデオコンテンツを配信するための第2の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。第2の実施形態では、デマルチキャスタデバイスから容量情報を取得することは、デマルチキャスタデバイスの前にオーディオおよび/またはビデオコンテンツの利用可能性をチェックすることと同時に実行される。したがって、メッセージ交換に関連するオーバーヘッドが、制限される。
ステップ500において、アプリケーションAPP1131、デマルチキャスタデバイスDM1151、デマルチキャスタデバイスDM2152、およびデマルチキャスタデバイスDM3153が、ステップ301に関してすでに説明したように、発見手順を実行する。
ステップ501において、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツを選択する(プロセスC_SEL)。
次に、アプリケーションAPP1131は、要求REQ_CHKを使用して、消費されるオーディオおよび/またはビデオコンテンツが、デマルチキャスタデバイスDM1151、DM2152、DM3153のうちのいずれかを介して利用可能にされるかどうかをチェックする。オーディオおよび/またはビデオコンテンツを配信するためのこの第2の実施形態では、アプリケーションAPP1131によって問い合わせられた各デマルチキャスタデバイスは、応答RSP_CHKで、対応する要求REQ_CHKに応答し、応答RSP_CHKは、問題のデマルチキャスタデバイスに関する容量情報も含む。
したがって、ステップ502において、アプリケーションAPP1131は、要求REQ_CHKをデマルチキャスタデバイスDM1151に送信する。要求REQ_CHKは、選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつデマルチキャスタデバイスDM1151が、オーディオおよび/またはビデオコンテンツを端末T1111に提供できることの確認を要求するメッセージである。図4に関してすでに説明したように、各デマルチキャスタデバイスは、プロバイダネットワークPN102を介して、各デマルチキャスタデバイスに利用可能にされたオーディオおよび/またはビデオコンテンツのリストを格納する。
次に、ステップ503において、デマルチキャスタデバイスDM1151は、ステップ502でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、(図3に関してすでに検討されたように)デマルチキャスタデバイスDM1151に関連する容量情報をさらに含む。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、デマルチキャスタデバイスDM1151に関連する容量情報をさらに含む。デマルチキャスタデバイスDM1151が、選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。
ステップ504において、アプリケーションAPP1131はまた、選択されたオーディオおよび/またはビデオコンテンツに対する要求REQ_CHKをデマルチキャスタデバイスDM2152に送信する。次に、ステップ505において、デマルチキャスタデバイスDM2152は、ステップ504でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、デマルチキャスタデバイスDM2152に関連する容量情報をさらに含む。デマルチキャスタデバイスDM2152が、選択されたオーディオおよび/またはビデオコンテンツを配信することができず、かつ応答RSP_CHKが、対応するエラーコードを含む、と例示的に考えてみよう。
ステップ506において、アプリケーションAPP1131はまた、選択されたオーディオおよび/またはビデオコンテンツに対する要求REQ_CHKをデマルチキャスタデバイスDM3153に送信する。次に、ステップ507において、デマルチキャスタデバイスDM3153は、ステップ506でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、デマルチキャスタデバイスDM3153に関連する容量情報をさらに含む。デマルチキャスタデバイスDM2152が、選択されたオーディオおよび/またはビデオコンテンツを配信することができず、かつ応答RSP_CHKが、対応するエラーコードを含む、と例示的に考えてみよう。
アプリケーションAPP1131が、一旦ローカルエリアネットワークLAN101内に存在するすべてのデマルチキャスタデバイスの容量情報を収集すると、アプリケーションAPP1131は、図3に関してすでに述べた順序付きリストLを構築するために、デマルチキャスタデバイスを、それらの容量情報に従って順序付けする。アプリケーションAPP1131は、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの中で最も高い容量を示し、かつ問題のオーディオおよび/またはビデオコンテンツを配信できるデマルチキャスタデバイスを選択する。アプリケーションAPP1131が、一致して、デマルチキャスタデバイスDM3153を選択する、と例示的に考えてみよう。
ステップ508において、アプリケーションAPP1131は、選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、デマルチキャスタデバイスDM3153の識別子(例えば、デマルチキャスタデバイスDM3153のIPアドレス)と、選択されたオーディオ/またはビデオコンテンツを表す情報(例えば、選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)とを含むメッセージLAUNCHを送信する。
次に、(図4に関して詳述されたように)プロセスC_RET509が、選択されたオーディオおよび/またはビデオコンテンツを端末T1111に配信するために、プレーヤーPL1121と、デマルチキャスタデバイスDM3153との間で実行される。プロセスC_RET4100で説明したのと同じように、デマルチキャスタデバイスDM3153は、要求REQ_Mを受信し、それに応答すると、セッションの開始の記録を実行する。アダプティブビットレートが実装されていない場合、マニフェストファイルは存在しない。したがって、一変形例では、デマルチキャスタデバイスDM3153は、アプリケーションAPP1131から専用メッセージを受信すると、セッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツについてのプレーヤーPL1121からの(シーケンスにおける)第1の要求REQ_Cを受信すると、セッションの開始を検出する。
ステップ510において、アプリケーションAPP1131は、プレーヤーPL1121が、セッションを終了したことを検出する。これは、プレーヤーPL1121が、アプリケーションAPP1131に、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えばメッセージSTOPによって)通知するによって行われ得る。
ステップ511において、アプリケーションAPP1131は、デマルチキャスタデバイスDM3153に、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えば、メッセージSTOPによって)通知する。アプリケーションAPP1131から通知のない変形例では、デマルチキャスタデバイスDM3153は、プロセスC_RET509での要求(REQ_MまたはREQ_Cのいずれか)の最新の送信から所定の時間PT1が経過したときに、オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するためのセッションが終了したことを検出し得る。これにより、デマルチキャスタデバイスDM3153の内部で、セッションの停止の記録がトリガーされる(ステップ512)。
セッションの終了にもかかわらず、デマルチキャスタデバイスDM3153は、所定の時間PT2の間、オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するための可能性のある次のセッションのために、処理リソースを所定の位置に保持する。オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するために、後続のセッションが、所定の時間PT2内に開始されない場合、デマルチキャスタデバイスDM3153は、問題の処理リソースを解放する。
したがって、所定の時間PT2の満了前に新しいセッションが開始されることを考慮して、アプリケーションAPP1131は、ステップ513において、消費される同じまたは別のオーディオおよび/またはビデオコンテンツを選択する(プロセスC_SEL)。
アプリケーションAPP1131は、消費される新たに選択されたオーディオおよび/またはビデオコンテンツが、前のセッション中使用されたデマルチキャスタデバイス、つまりデマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。したがって、ステップ514において、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつ新たに選択されたオーディオおよび/またはビデオコンテンツが利用可能にされることの確認を要求する要求REQ_CHKをデマルチキャスタデバイスDM3153に送信することによって、新たに選択されたオーディオおよび/またはビデオコンテンツが、デマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。ステップ515において、デマルチキャスタデバイスDM3153は、ステップ514でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKを送信し、応答RSP_CHKは、デマルチキャスタデバイスDM3153に関連する容量情報を含む。新たに選択されたオーディオおよび/またはビデオコンテンツが、デマルチキャスタデバイスDM3153を介して利用可能でない場合、アプリケーションAPP1131は、どのデマルチキャスタデバイスを介して、問題のオーディオおよび/またはビデオコンテンツが配信され得るかを決定するために、要求REQ_CHKを、ローカルエリアネットワークLAN101内に存在する他のデマルチキャスタデバイスに送信する。応答RSP_CHKは容量情報を含んでいるため、アプリケーションAPP1131は、それから順序付きリストLを更新し、かつ問題のオーディオおよび/またはビデオコンテンツを配信できるどのデマルチキャスタデバイスが、他のデマルチキャスタデバイスの中で最も高い容量を有するかをさらに決定し得る。デマルチキャスタデバイスDM3153が、新たに選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。
ステップ516において、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を再起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、デマルチキャスタデバイスDM3153の識別子(例えば、デマルチキャスタデバイスDM3153のIPアドレス)と、新たに選択されたオーディオ/またはビデオコンテンツを表す情報(例えば、新たに選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)とを含むメッセージLAUNCHを送信する。次に、ステップ517において、新たに選択されたオーディオおよび/またはビデオコンテンツを配信するために、プロセスC_RETが繰り返される。プロセスC_RET4100で説明したのと同じように、デマルチキャスタデバイスDM3153は、要求REQ_Mを受信し、それに応答すると、新しいセッションの開始の記録を実行する。一変形例では、デマルチキャスタデバイスDM3153は、アプリケーションAPP1131から専用メッセージを受信すると、新しいセッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツについてのプレーヤーPL1121からの(シーケンスにおける)第1の要求REQ_Cを受信すると、新しいセッションの開始を検出する。
アプリケーションAPP1131によって新しいセッションが開始される一方で、前のセッションの終了から所定の時間PT2が満了した場合、新しいセッションのための処理リソースの利用可能性は、デマルチキャスタデバイスDM3153によって保証され得ない。したがって、アプリケーションAPP1131は、順序付きリストLの更新されたバージョンを使用することによって、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの中からデマルチキャスタを再び選択しなければならない。
図6は、オーディオおよび/またはビデオコンテンツを配信するための第3の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。この第3の実施形態は、図4および図5に関して詳述された前述の第1および第2の実施形態の組み合わせである。そのように進めることで、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイス間の負荷分散は、妥当な量のオーバーヘッドで、可能な限り安定したままである。
ステップ600において、アプリケーションAPP1131、デマルチキャスタデバイスDM1151、デマルチキャスタデバイスDM2152、およびデマルチキャスタデバイスDM3153が、ステップ301に関してすでに説明したように、発見手順を実行する。
ステップ601において、アプリケーションAPP1131は、図3に関して上記で詳述したように、プロセスAPP_CCを実行する。したがって、アプリケーションAPP1131は、容量情報に従って、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの順序付きリストLを保持する。
ステップ602において、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツを選択する(プロセスC_SEL)。
次に、ステップ603において、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツが、アプリケーションAPP1131によって保持される順序付きリストLに従って、例示的に最も高い残存容量を示すデマルチキャスタデバイスであるデマルチキャスタデバイスDM2152を介して利用可能にされるかどうかをチェックする。そうするために、アプリケーションAPP1131は、要求REQ_CHKをデマルチキャスタデバイスDM2152に送信する。要求REQ_CHKは、選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつデマルチキャスタデバイスDM2152が、オーディオおよび/またはビデオコンテンツを端末T1111に提供できることの確認を要求するメッセージである。前述のように、各デマルチキャスタデバイスは、プロバイダネットワークPN102を介して、各デマルチキャスタデバイスに利用可能にされたオーディオおよび/またはビデオコンテンツのリストを格納する。
ステップ604において、デマルチキャスタデバイスDM2152は、ステップ603でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。応答RSP_CHKは、デマルチキャスタデバイスDM2152が、選択されたオーディオおよび/またはビデオコンテンツを端末T1111に配信できない場合のエラーコード、またはさもなければ確認コードのいずれかを含む。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、デマルチキャスタデバイスDM2152に関連する容量情報をさらに含む。デマルチキャスタデバイスDM2152が、選択されたオーディオおよび/またはビデオコンテンツを配信することができず、かつ応答RSP_CHKが、対応するエラーコードを含む、と例示的に考えてみ、さらに、プロセスAPP_CC601の実行以降、デマルチキャスタデバイスDM2152に関連する容量情報が変化していない、と例示的に考えてみよう。
その場合、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツが、順序付きリストL内で次に現れるデマルチキャスタデバイスを介して利用可能にされるかどうかをチェックする。デマルチキャスタデバイスDM3153が、順序付けリストL内の次の項目に対応する、と例示的に考えてみよう。したがって、ステップ605において、アプリケーションAPP1131は、要求REQ_CHKをデマルチキャスタデバイスDM3153に送信することによって、消費されるオーディオおよび/またはビデオコンテンツが、デマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。ステップ606において、デマルチキャスタデバイスDM3153は、ステップ605でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、デマルチキャスタデバイスDM3153に関連する容量情報をさらに含む。デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみ、さらに、プロセスAPP_CC601の実行以降、デマルチキャスタデバイスDM3153に関連する容量情報が変化していない、と例示的に考えてみよう。
ステップ607において、アプリケーションAPP1131は、選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、デマルチキャスタデバイスDM3153の識別子(例えば、デマルチキャスタデバイスDM3153のIPアドレス)と、選択されたオーディオ/またはビデオコンテンツを表す情報(例えば、選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)とを含むメッセージLAUNCHを送信する。
次に、(図4に関して詳述されたように)プロセスC_RET608が、選択されたオーディオおよび/またはビデオコンテンツを端末T1111に配信するために、プレーヤーPL1121と、デマルチキャスタデバイスDM3153との間で実行される。プロセスC_RET4100で説明したのと同じように、デマルチキャスタデバイスDM3153は、要求REQ_Mを受信し、それに応答すると、セッションの開始の記録を実行する。アダプティブビットレートが実装されていない場合、マニフェストファイルは存在しない。したがって、一変形例では、デマルチキャスタデバイスDM3153は、アプリケーションAPP1131から専用メッセージを受信すると、セッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツについてのプレーヤーPL1121からの(シーケンスにおける)第1の要求REQ_Cを受信すると、セッションの開始を検出する。
さらに、一旦プロセスC_RET608が開始されると(例えば、所定の時間PT3が経過した後)、アプリケーションAPP1131は、プロセスC_RET608のセッションの設定を考慮するために、デマルチキャスタデバイスDM3153に関連する容量情報を更新する。そうするために、要求REQ_CAPおよび対応する応答RSP_CAPに基づく交換が、使用され得る(図6には示されていない)。
ステップ609において、アプリケーションAPP1131は、プレーヤーPL1121が、セッションを終了したことを検出する。これは、プレーヤーPL121が、アプリケーションAPP1131に、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えばメッセージSTOPによって)通知するによって行われ得る。
ステップ610において、アプリケーションAPP1131は、デマルチキャスタデバイスDM3153に、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えば、メッセージSTOPによって)通知する。アプリケーションAPP1131からデマルチキャスタデバイスDM3153への通知のない変形例では、デマルチキャスタデバイスDM3153は、プロセスC_RET608での要求(REQ_MまたはREQ_Cのいずれか)の最新の送信から所定の時間PT1が経過したときに、オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するためのセッションが終了したことを検出し得る。これにより、デマルチキャスタデバイスDM3153の内部で、セッションの停止の記録がトリガーされる(ステップ611)。
セッションの終了にもかかわらず、デマルチキャスタデバイスDM3153は、オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するための可能性のある次のセッションのために、処理リソースを所定の位置に保持する。問題の処理リソースが、所定の時間PT2の間、所定の位置に保持される。オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するために、後続のセッションが、所定の時間PT2内に開始されない場合、デマルチキャスタデバイスDM3153は、問題の処理リソースを解放する。アプリケーションAPP1131によって新しいセッションが開始される一方で、前のセッションの終了から所定の時間PT2が満了した場合、新しいセッションのための処理リソースの利用可能性は、デマルチキャスタデバイスDM3153によって保証され得ない。したがって、アプリケーションAPP1131は、順序付きリストLの更新されたバージョンを使用することによって、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの中からデマルチキャスタを再び選択しなければならない。
したがって、所定の時間PT2の満了前に新しいセッションが開始されることを考慮して、アプリケーションAPP1131は、ステップ612において、消費される同じまたは別のオーディオおよび/またはビデオコンテンツを選択する(プロセスC_SEL)。
アプリケーションAPP1131は、消費される新たに選択されたオーディオおよび/またはビデオコンテンツが、前のセッション中使用されたデマルチキャスタデバイス、つまりデマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。したがって、ステップ613において、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつ新たに選択されたオーディオおよび/またはビデオコンテンツが利用可能にされることの確認を要求する要求REQ_CHKをデマルチキャスタデバイスDM3153送信することによって、新たに選択されたオーディオおよび/またはビデオコンテンツが、デマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。ステップ614において、デマルチキャスタデバイスDM3153は、ステップ613でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、デマルチキャスタデバイスDM3153に関連する容量情報をさらに含む。デマルチキャスタデバイスDM3153が、新たに選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。また一方で、容量情報が、以前にデマルチキャスタデバイスDM3153によって送信され、順序付きリストLの現在のバージョンを構築または更新するために使用された容量情報とは異なると、さらに例示的に考えてみよう。
したがって、ステップ615において、アプリケーションAPP1131は、デマルチキャスタデバイスDM3153によって送信された応答RSP_CHKに含まれる容量情報が、デマルチキャスタデバイスDM3153によって以前に送信され、順序付きリストLの現在のバージョンを構築または更新するために使用された容量情報と比較して、容量変化を示すかどうかをチェックする。容量変化がある場合、アプリケーションAPP1131は、ローカルエリアネットワークLAN101内に存在する他のデマルチキャスタデバイスに、それらのそれぞれの容量を更新するために、問い合わせる。
したがって、ステップ616において、アプリケーションAPP1131は、要求REQ_CAPをデマルチキャスタデバイスDM1151に送信する。ステップ617において、デマルチキャスタデバイスDM1151は、ステップ616でアプリケーションAPP1131によって送信された要求REQ_CAPに対する応答RSP_CAPを送信し、応答RSP_CAPは、要求REQ_CAPによって要求された容量情報を含む。要求REQ_CAPは、要求REQ_CHKが容量情報の取得のみに関係するので、要求REQ_CHKよりも処理が高速であるに対し、要求REQ_CHKは、場合によっては容量情報の取得に加えて、利用可能なオーディオおよび/またはビデオコンテンツのリストを解析することを暗示することに留意されたい。
ステップ618において、アプリケーションAPP1131は、要求REQ_CAPをデマルチキャスタデバイスDM2152に同じように送信する。ステップ619において、デマルチキャスタデバイスDM2152は、ステップ618でアプリケーションAPP1131によって送信された要求REQ_CAPに対する応答RSP_CAPを送信する。
アプリケーションAPP1131が、一旦ローカルエリアネットワークLAN101内に存在するすべてのデマルチキャスタデバイスの容量情報を収集すると、アプリケーションAPP1131は、順序付きリストLを更新するために、デマルチキャスタデバイスを、それらの容量情報に従って順序付けする。アプリケーションAPP1131は、ステップ620において、容量情報が、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの中で最も高い残存容量を示すデマルチキャスタデバイスを、オーディオおよび/またはビデオコンテンツ配信システム100へのデフォルトのエントリポイントとして選択する。デマルチキャスタデバイスDM2152が、順序付きリストLの中で最も高い容量を示す、と例示的に考えてみよう。
そうすると、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツが、デマルチキャスタデバイスDM2152を介して利用可能にされるかどうかをチェックする。そうするために、アプリケーションAPP1131は、ステップ621で、新たに選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつ新たに選択されたオーディオおよび/またはビデオコンテンツが利用可能にされることの確認を要求する要求REQ_CHKをデマルチキャスタデバイスDM2152に送信する。
ステップ622において、デマルチキャスタデバイスDM2152は、ステップ621でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。応答RSP_CHKは、デマルチキャスタデバイスDM2152が、新たに選択されたオーディオおよび/またはビデオコンテンツを端末T1111に配信できない場合のエラーコード、またはさもなければ確認コードのいずれかを含む。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、デマルチキャスタデバイスDM2152に関連する容量情報をさらに含む。デマルチキャスタデバイスDM2152が、新たに選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。
ステップ623において、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を再起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、デマルチキャスタデバイスDM2152の識別子(例えば、デマルチキャスタデバイスDM2152のIPアドレス)と、新たに選択されたオーディオ/またはビデオコンテンツを表す情報(例えば、新たに選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)とを含むメッセージLAUNCHを送信する。次に、ステップ624において、プロセスC_RETが、新たに選択されたオーディオおよび/またはビデオコンテンツを配信するために、プレーヤーPL1121と、デマルチキャスタデバイスDM2152との間で実行される。プロセスC_RET4100で説明したのと同じように、デマルチキャスタデバイスDM3153は、要求REQ_Mを受信し、それに応答すると、新しいセッションの開始の記録を実行する。一変形例では、デマルチキャスタデバイスDM3153は、アプリケーションAPP1131から専用メッセージを受信すると、新しいセッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツについてのプレーヤーPL1121からの(シーケンスにおける)第1の要求REQ_Cを受信すると、新しいセッションの開始を検出する。
図7は、デマルチキャスタ容量情報を取得するための第2の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。図3と比較すると、容量情報は、ここでは、アプリケーションによって収集されるのではなく、デマルチキャスタデバイスによって収集される。デマルチキャスタデバイスDM2152が、容量情報を収集する、と例示的にしよう。容量情報を収集することは、ローカルエリアネットワークLAN101内に存在する任意のおよびすべてのデマルチキャスタデバイスによって実行され得る。
ステップ701において、アプリケーションAPP1131、デマルチキャスタデバイスDM1151、デマルチキャスタデバイスDM2152、およびデマルチキャスタデバイスDM3153が、発見手順(DSCVRとラベル付けされている)を実行する。ローカルエリアネットワークLAN101内に存在する場合、端末T2112などの他の端末も、(端末T2112のアプリケーションAPP2132を介して)発見手順に関与する。発見手順は、すでに説明したように適用される。
ステップ702において、デマルチキャスタデバイスDM2152は、要求REQ_CAPをデマルチキャスタデバイスDM3153に送信し、ステップ703において、デマルチキャスタデバイスDM3153は、ステップ702でデマルチキャスタデバイスDM2152によって送信された要求REQ_CAPに対する応答RSP_CAPを送信し、応答RSP_CAPは、要求REQ_CAPによって要求された容量情報を含む。
ステップ704において、デマルチキャスタデバイスDM2152は、要求REQ_CAPをデマルチキャスタデバイスDM1151に同じように送信し、ステップ705において、デマルチキャスタデバイスDM1151は、ステップ704でデマルチキャスタデバイスDM2152によって送信された要求REQ_CAPに対する応答RSP_CAPを送信する。
デマルチキャスタデバイスDM2152は、自身の容量情報をさらに内部的に取得する。
デマルチキャスタデバイスDM2152が、一旦ローカルエリアネットワークLAN101内に存在するすべてのデマルチキャスタデバイスの容量情報を収集すると、デマルチキャスタデバイスDM2152は、デマルチキャスタデバイスを、それらの容量情報に従って順序付けし、ステップ706において、容量情報が、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの中で最も高い残存容量を示すデマルチキャスタデバイスを、オーディオおよび/またはビデオコンテンツ配信システム100へのデフォルトのエントリポイントとして選択する。容量情報に従って順序付けすることは、図3に関してすでに説明したように行われ得る。
ステップ702~706は、デマルチキャスタデバイスDM2152によって、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの容量をチェックし、かつオーディオおよび/またはビデオコンテンツ配信システム100へのデフォルトのエントリポイントを選択するプロセスDM_CC700を共同して形成する。
図8は、オーディオおよび/またはビデオコンテンツを配信するための第4の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。この第4の実施形態の範囲内で、アプリケーションAPP1131は、デマルチキャスタデバイスDM2152に依存して、オーディオおよび/またはビデオコンテンツを受信するための適切なデマルチキャスタデバイスを選択する。アプリケーションAPP1131が依存するデマルチキャスタデバイスは、端末T1111のメモリにハードコーディングされ得る。アプリケーションAPP1131が依存するデマルチキャスタデバイスは、所定のルールを適用することにより、発見手順に従って、アプリケーションAPP1131によって選択され得る。
ステップ800において、アプリケーションAPP1131、デマルチキャスタデバイスDM1151、デマルチキャスタデバイスDM2152、およびデマルチキャスタデバイスDM3153が、ステップ301に関してすでに説明したように、発見手順を実行する。
ステップ801において、デマルチキャスタデバイスDM2152は、図7に関して上記で詳述したように、プロセスDM_CCを実行する。したがって、デマルチキャスタデバイスDM2152は、容量情報に従って、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの順序付きリストLを保持する。好ましくは、アプリケーションAPP1131がどのデマルチキャスタデバイスに依存するかを、デマルチキャスタデバイスが知らない状況に対処するために、ローカルエリアネットワークLAN101に存在するすべてのデマルチキャスタデバイスが、プロセスDM_CCを実行し、それら自身のバージョンの順序付きリストLを保持する。
ステップ802において、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツを選択する(プロセスC_SEL)。
次に、ステップ803において、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツが利用可能にされるかどうかを、デマルチキャスタデバイスDM2152に尋ねる。そうするために、アプリケーションAPP1131は、要求REQ_CHKをデマルチキャスタデバイスDM2152に送信する。その結果、デマルチキャスタデバイスDM2152は、デマルチキャスタデバイスDM2152によって保持される順序付きリストLに従って、どのデマルチキャスタデバイスが、最も高い残存容量を示すかを決定する。デマルチキャスタデバイスDM3153が、順序付きリストLに従って最も高い容量を示す、と例示的に考えてみよう。
そうすると、デマルチキャスタデバイスDM2152は、ステップ804において、要求REQ_CHKをデマルチキャスタデバイスDM3153に送信する。要求REQ_CHKは、選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつデマルチキャスタデバイスDM3153が、オーディオおよび/またはビデオコンテンツを端末T1111に提供できることの確認を要求するメッセージである。すでに述べたように、各デマルチキャスタデバイスは、プロバイダネットワークPN102を介して、各デマルチキャスタデバイスに利用可能にされたオーディオおよび/またはビデオコンテンツのリストを格納する。ステップ805において、デマルチキャスタデバイスDM3153は、ステップ804でデマルチキャスタデバイスDM2152によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。応答RSP_CHKは、デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを端末T1111に配信できない場合のエラーコード、またはさもなければ確認コードのいずれかを含む。デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。
ステップ806において、デマルチキャスタデバイスDM2152は、ステップ803でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKをアプリケーションAPP1131に送信する。応答RSP_CHKは、デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信できることを示し、かつ対応する確認コードを含む。
ステップ807において、アプリケーションAPP1131は、選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、デマルチキャスタデバイスDM3153の識別子(例えば、デマルチキャスタデバイスDM3153のIPアドレス)と、選択されたオーディオ/またはビデオコンテンツを表す情報(例えば、選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)とを含むメッセージLAUNCHを送信する。
次に、(図4に関して詳述されたように)プロセスC_RET808が、選択されたオーディオおよび/またはビデオコンテンツを端末T1111に配信するために、プレーヤーPL1121と、デマルチキャスタデバイスDM3153との間で実行される。プロセスC_RET4100で説明したのと同じように、デマルチキャスタデバイスDM3153は、要求REQ_Mを受信し、それに応答すると、セッションの開始の記録を実行する。アダプティブビットレートが実装されていない場合、マニフェストファイルは存在しない。したがって、一変形例では、デマルチキャスタデバイスDM3153は、アプリケーションAPP1131から専用メッセージを受信すると、セッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツについてのプレーヤーPL1121からの(シーケンスにおける)第1の要求REQ_Cを受信すると、セッションの開始を検出する。
ステップ809において、アプリケーションAPP1131は、プレーヤーPL1121が、セッションを終了したことを検出する。これは、プレーヤーPL121が、アプリケーションAPP1131に、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えばメッセージSTOPによって)通知するによって行われ得る。
ステップ810において、アプリケーションAPP1131は、マルチキャスタデバイスDM3153に、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えば、メッセージSTOPによって)通知する。アプリケーションAPP1131からデマルチキャスタデバイスDM3153への通知のない変形例では、デマルチキャスタデバイスDM3153は、プロセスC_RET808でのプレーヤーPL1121からの要求(REQ_MまたはREQ_Cのいずれか)の最新の送信から所定の時間PT1が経過したときに、オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するためのセッションが終了したことを検出し得る。これにより、デマルチキャスタデバイスDM3153の内部で、セッションの停止の記録がトリガーされる(ステップ811)。
セッションの終了にもかかわらず、デマルチキャスタデバイスDM3153は、オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するための可能性のある次のセッションのために、処理リソースを所定の位置に保持する。問題の処理リソースが、所定の時間PT2の間、所定の位置に保持される。オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するために、後続のセッションが、所定の時間PT2内に開始されない場合、デマルチキャスタデバイスDM3153は、問題の処理リソースを解放する。
したがって、所定の時間PT2の満了前に新しいセッションが開始されることを考慮して、アプリケーションAPP1131は、ステップ812において、消費される同じまたは別のオーディオおよび/またはビデオコンテンツを選択する(プロセスC_SEL)。
次に、アプリケーションAPP1131は、デマルチキャスタデバイスDM2152に、新たに選択されたオーディオおよび/またはビデオコンテンツが利用可能にされるかどうかを尋ねる。そうするために、ステップ813において、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつ新たに選択されたオーディオおよび/またはビデオコンテンツが利用可能にされることの確認を要求する要求REQ_CHKをデマルチキャスタデバイスDM2152に送信する。その結果、デマルチキャスタデバイスDM2152は、消費される新たに選択されたオーディオおよび/またはビデオコンテンツが、端末T1111のための前のセッション中使用されたデマルチキャスタデバイス、つまりデマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。したがって、ステップ814において、デマルチキャスタデバイスDM2152は、要求REQ_CHKをデマルチキャスタデバイスDM3153に送信することによって、新たに選択されたオーディオおよび/またはビデオコンテンツが、デマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。ステップ815において、デマルチキャスタデバイスDM3153は、ステップ814でデマルチキャスタデバイスDM2152によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。デマルチキャスタデバイスDM3153が、新たに選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。
ステップ816において、デマルチキャスタデバイスDM2152は、ステップ813でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKをアプリケーションAPP1131に送信する。応答RSP_CHKは、デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信できることを示し、かつ対応する確認コードを含む。
ステップ817において、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を再起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、デマルチキャスタデバイスDM3153の識別子(例えば、デマルチキャスタデバイスDM3153のIPアドレス)と、新たに選択されたオーディオ/またはビデオコンテンツを表す情報(例えば、新たに選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)とを含むメッセージLAUNCHを送信する。次に、ステップ818において、新たに選択されたオーディオおよび/またはビデオコンテンツを配信するために、プロセスC_RETが繰り返される。プロセスC_RET4100で説明したのと同じように、デマルチキャスタデバイスDM3153は、要求REQ_Mを受信し、それに応答すると、新しいセッションの開始の記録を実行する。一変形例では、デマルチキャスタデバイスDM3153は、アプリケーションAPP1131から専用メッセージを受信すると、新しいセッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツについてのプレーヤーPL1121からの(以下に詳述されるように)(シーケンスにおける)第1の要求REQ_Cを受信すると、セッションの開始を検出する。
アプリケーションAPP1131によって新しいセッションが開始される一方で、前のセッションの終了から所定の時間PT2が満了した場合、新しいセッションのための処理リソースの利用可能性は、デマルチキャスタデバイスDM3153によって保証され得ない。したがって、デマルチキャスタデバイスDM2152は、順序付きリストLの更新されたバージョンを使用することによって、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの中からデマルチキャスタを再び選択しなければならない。
プロセスDM_CCを使用して、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスに問い合わせることは、それらの実際の能力情報の最も正確なビューを維持するために、問題のデマルチキャスタによって定期的に行われ得る。問題のデマルチキャスタは、プロセスDM_CCが、ローカルエリアネットワークLAN101内に存在する少なくとも1つのデマルチキャスタデバイスの容量情報が変化したことを明らかにしたときに、順序付きリストLを更新する。
図9は、オーディオおよび/またはビデオコンテンツを配信するための第5の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。この第5の実施形態の範囲内で、アプリケーションAPP1131は、デマルチキャスタデバイスDM2152に依存して、オーディオおよび/またはビデオコンテンツを受信するための適切なデマルチキャスタデバイスを選択する。さらに、第5の実施形態では、デマルチキャスタデバイスから容量情報を取得することは、デマルチキャスタデバイスの前にオーディオおよび/またはビデオコンテンツの利用可能性をチェックすることと同時に実行される。したがって、メッセージ交換に関連するオーバーヘッドが、制限される。
ステップ900において、アプリケーションAPP1131、デマルチキャスタデバイスDM1151、デマルチキャスタデバイスDM2152、およびデマルチキャスタデバイスDM3153が、ステップ301に関してすでに説明したように、発見手順を実行する。
ステップ901において、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツを選択する(プロセスC_SEL)。
次に、ステップ902において、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツが利用可能にされるかどうかを、デマルチキャスタデバイスDM2152に尋ねる。そうするために、アプリケーションAPP1131は、選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつ選択されたオーディオおよび/またはビデオコンテンツが利用可能にされることの確認を要求する要求REQ_CHKをデマルチキャスタデバイスDM2152に送信する。
オーディオおよび/またはビデオコンテンツを配信するためのこの第5の実施形態では、あるデマルチキャスタデバイスによって別のデマルチキャスタデバイスに送信される要求REQ_CHKに対する各応答RSP_CHKは、以下に詳述するように、問題のデマルチキャスタデバイスに関する容量情報を含む。
したがって、ステップ903において、デマルチキャスタデバイスDM2152は、選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつ選択されたオーディオおよび/またはビデオコンテンツが利用可能にされることの確認を要求する要求REQ_CHKをデマルチキャスタデバイスDM1151に送信する。すでに説明したように、各デマルチキャスタデバイスは、プロバイダネットワークPN102を介して、各デマルチキャスタデバイスに利用可能にされたオーディオおよび/またはビデオコンテンツのリストを格納する。
次に、ステップ904において、デマルチキャスタデバイスDM1151は、ステップ903でデマルチキャスタデバイスDM2152によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、(図7に関してすでに検討されたように)デマルチキャスタデバイスDM1151に関連する容量情報をさらに含む。デマルチキャスタデバイスDM1151が、選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。
ステップ905において、デマルチキャスタデバイスDM2152はまた、選択されたオーディオおよび/またはビデオコンテンツに対する要求REQ_CHKをデマルチキャスタデバイスDM3153に送信する。次に、ステップ906において、デマルチキャスタデバイスDM3153は、ステップ905でデマルチキャスタデバイスDM2152によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、デマルチキャスタデバイスDM3153に関連する容量情報をさらに含む。デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。
デマルチキャスタデバイスDM2152は、自身の容量情報をさらに内部的に取得する。
デマルチキャスタデバイスDM2152が、一旦ローカルエリアネットワークLAN101内に存在するすべてのデマルチキャスタデバイスの容量情報を収集すると、デマルチキャスタデバイスDM2152は、図3に関してすでに述べた順序付きリストLを構築するために、デマルチキャスタデバイスを、それらの容量情報に従って順序付けする。デマルチキャスタデバイスDM2152は、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの中で最も高い容量を示し、かつ問題のオーディオおよび/またはビデオコンテンツを配信できるデマルチキャスタデバイスを選択する。デマルチキャスタデバイスDM2152が、一致して、デマルチキャスタデバイスDM3153を選択する、と例示的に考えてみよう。
そうすると、ステップ907において、デマルチキャスタデバイスDM2152は、ステップ902でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKをアプリケーションAPP1131に送信する。応答RSP_CHKは、デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信できることを示し、かつ対応する確認コードを含む。アプリケーションAPP1131は、オーディオおよび/またはビデオコンテンツを配信するための適切なデマルチキャスタデバイスを選択するために、デマルチキャスタデバイスDM2152に依存するので、この応答RSP_CHKに容量情報を含める必要はない。
ステップ908において、アプリケーションAPP1131は、選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、デマルチキャスタデバイスDM3153の識別子(例えば、デマルチキャスタデバイスDM3153のIPアドレス)と、選択されたオーディオ/またはビデオコンテンツを表す情報(例えば、選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)とを含むメッセージLAUNCHを送信する。
次に、(図4に関して詳述されたように)プロセスC_RET909が、選択されたオーディオおよび/またはビデオコンテンツを端末T1111に配信するために、プレーヤーPL1121と、デマルチキャスタデバイスDM3153との間で実行される。プロセスC_RET4100で説明したのと同じように、デマルチキャスタデバイスDM3153は、要求REQ_Mを受信し、それに応答すると、セッションの開始の記録を実行する。アダプティブビットレートが実装されていない場合、マニフェストファイルは存在しない。したがって、一変形例では、デマルチキャスタデバイスDM3153は、アプリケーションAPP1131から専用メッセージを受信すると、セッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツについてのプレーヤーPL1121からの(シーケンスにおける)第1の要求REQ_Cを受信すると、セッションの開始を検出する。
ステップ910において、アプリケーションAPP1131は、プレーヤーPL1121が、セッションを終了したことを検出する。これは、プレーヤーPL1121が、アプリケーションAPP1131に、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えばメッセージSTOPによって)通知するによって行われ得る。
ステップ911において、アプリケーションAPP1131は、デマルチキャスタデバイスDM3153に、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えば、メッセージSTOPによって)通知する。アプリケーションAPP1131からの通知のない変形例では、デマルチキャスタデバイスDM3153は、プロセスC_RET909での要求(REQ_MまたはREQ_Cのいずれか)の最新の送信から所定の時間PT1が経過したときに、オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するためのセッションが終了したことを検出し得る。これにより、デマルチキャスタデバイスDM3153の内部で、セッションの停止の記録がトリガーされる(ステップ912)。
セッションの終了にもかかわらず、デマルチキャスタデバイスDM3153は、所定の時間PT2の間、オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するための可能性のある次のセッションのために、処理リソースを所定の位置に保持する。オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するために、後続のセッションが、所定の時間PT2内に開始されない場合、デマルチキャスタデバイスDM3153は、問題の処理リソースを解放する。
したがって、所定の時間PT2の満了前に新しいセッションが開始されることを考慮して、アプリケーションAPP1131は、ステップ913において、消費される同じまたは別のオーディオおよび/またはビデオコンテンツを選択する(プロセスC_SEL)。
次に、アプリケーションAPP1131は、デマルチキャスタデバイスDM2152に、新たに選択されたオーディオおよび/またはビデオコンテンツが利用可能にされるかどうかを尋ねる。そうするために、ステップ914において、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつ新たに選択されたオーディオおよび/またはビデオコンテンツが利用可能にされることの確認を要求する要求REQ_CHKをデマルチキャスタデバイスDM2152に送信する。その結果、デマルチキャスタデバイスDM2152は、消費される新たに選択されたオーディオおよび/またはビデオコンテンツが、端末T1111のための前のセッション中使用されたデマルチキャスタデバイス、つまりデマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。したがって、ステップ915において、デマルチキャスタデバイスDM2152は、要求REQ_CHKをデマルチキャスタデバイスDM3153に送信することによって、新たに選択されたオーディオおよび/またはビデオコンテンツが、デマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。ステップ916において、デマルチキャスタデバイスDM3153は、ステップ915でデマルチキャスタデバイスDM2152によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、デマルチキャスタデバイスDM3153に関連する容量情報をさらに含む。デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。
ステップ917において、デマルチキャスタデバイスDM2152は、ステップ914でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKをアプリケーションAPP1131に送信する。応答RSP_CHKは、デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信できることを示し、かつ対応する確認コードを含む。
ステップ918において、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を再起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、デマルチキャスタデバイスDM3153の識別子(例えば、デマルチキャスタデバイスDM3153のIPアドレス)と、新たに選択されたオーディオ/またはビデオコンテンツを表す情報(例えば、新たに選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)とを含むメッセージLAUNCHを送信する。次に、ステップ917において、新たに選択されたオーディオおよび/またはビデオコンテンツを配信するために、プロセスC_RETが繰り返される。プロセスC_RET4100で説明したのと同じように、デマルチキャスタデバイスDM3153は、要求REQ_Mを受信し、それに応答すると、新しいセッションの開始の記録を実行する。一変形例では、デマルチキャスタデバイスDM3153は、アプリケーションAPP1131から専用メッセージを受信すると、新しいセッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツについてのプレーヤーPL1121からの(シーケンスにおける)第1の要求REQ_Cを受信すると、新しいセッションの開始を検出する。
アプリケーションAPP1131によって新しいセッションが開始される一方で、前のセッションの終了から所定の時間PT2が満了した場合、新しいセッションのための処理リソースの利用可能性は、デマルチキャスタデバイスDM3153によって保証され得ない。したがって、デマルチキャスタデバイスDM2152は、順序付きリストLの更新されたバージョンを使用することによって、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの中からデマルチキャスタを再び選択しなければならない。
図10は、オーディオおよび/またはビデオコンテンツを配信するための第6の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を概略的に表す。この第6の実施形態の範囲内で、アプリケーションAPP1131は、デマルチキャスタデバイスDM2152に依存して、オーディオおよび/またはビデオコンテンツを受信するための適切なデマルチキャスタデバイスを選択する。さらに、この第6の実施形態は、図8および図9に関して詳述した前述の第4および第5の実施形態の組み合わせである。そのように進めることで、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイス間の負荷分散は、妥当な量のオーバーヘッドで、可能な限り安定したままである。
ステップ1000において、アプリケーションAPP1131、デマルチキャスタデバイスDM1151、デマルチキャスタデバイスDM2152、およびデマルチキャスタデバイスDM3153が、ステップ301に関してすでに説明したように、発見手順を実行する。
ステップ1001において、デマルチキャスタデバイスDM2152は、図7に関して上記で詳述したように、プロセスDM_CCを実行する。したがって、デマルチキャスタデバイスDM2152は、容量情報に従って、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの順序付きリストLを保持する。好ましくは、アプリケーションAPP1131がどのデマルチキャスタデバイスに依存するかを、デマルチキャスタデバイスが知らない状況に対処するために、ローカルエリアネットワークLAN101に存在するすべてのデマルチキャスタデバイスが、プロセスDM_CCを実行し、それら自身のバージョンの順序付きリストLを保持する。
ステップ1002において、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツを選択する(プロセスC_SEL)。
次に、ステップ1003において、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツが利用可能にされるかどうかを、デマルチキャスタデバイスDM2152に尋ねる。そうするために、アプリケーションAPP1131は、要求REQ_CHKをデマルチキャスタデバイスDM2152に送信する。その結果、デマルチキャスタデバイスDM2152は、デマルチキャスタデバイスDM2152によって保持される順序付きリストLに従って、どのデマルチキャスタデバイスが、最も高い残存容量を示すかを決定する。デマルチキャスタデバイスDM3153が、順序付きリストLに従って最も高い容量を示す、と例示的に考えてみよう。
そうすると、デマルチキャスタデバイスDM2152は、ステップ1004において、要求REQ_CHKをデマルチキャスタデバイスDM3153に送信する。要求REQ_CHKは、選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつデマルチキャスタデバイスDM3153が、オーディオおよび/またはビデオコンテンツを端末T1111に提供できることの確認を要求するメッセージである。すでに述べたように、各デマルチキャスタデバイスは、プロバイダネットワークPN102を介して、各デマルチキャスタデバイスに利用可能にされたオーディオおよび/またはビデオコンテンツのリストを格納する。ステップ1005において、デマルチキャスタデバイスDM3153は、ステップ1004でデマルチキャスタデバイスDM2152によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。応答RSP_CHKは、デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを端末T1111に配信できない場合のエラーコード、またはさもなければ確認コードのいずれかを含む。応答RSP_CHKは、デマルチキャスタデバイスDM3153に関連する容量情報をさらに含む。デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみ、さらに、プロセスDM_CC1001の実行以降、デマルチキャスタデバイスDM3153に関連する容量情報が変化していない、と例示的に考えてみよう。
ステップ1006において、デマルチキャスタデバイスDM2152は、ステップ1003でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKをアプリケーションAPP1131に送信する。応答RSP_CHKは、デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信できることを示し、かつ対応する確認コードを含む。アプリケーションAPP1131は、オーディオおよび/またはビデオコンテンツを配信するための適切なデマルチキャスタデバイスを選択するために、デマルチキャスタデバイスDM2152に依存するので、この応答RSP_CHKに容量情報を含める必要はない。
ステップ1007において、アプリケーションAPP1131は、選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、デマルチキャスタデバイスDM3153の識別子(例えば、デマルチキャスタデバイスDM3153のIPアドレス)と、選択されたオーディオ/またはビデオコンテンツを表す情報(例えば、選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)とを含むメッセージLAUNCHを送信する。
次に、(図4に関して詳述されたように)プロセスC_RET1008が、選択されたオーディオおよび/またはビデオコンテンツを端末T1111に配信するために、プレーヤーPL1121と、デマルチキャスタデバイスDM3153との間で実行される。プロセスC_RET4100で説明したのと同じように、デマルチキャスタデバイスDM3153は、要求REQ_Mを受信し、それに応答すると、セッションの開始の記録を実行する。アダプティブビットレートが実装されていない場合、マニフェストファイルは存在しない。したがって、一変形例では、デマルチキャスタデバイスDM3153は、アプリケーションAPP1131から専用メッセージを受信すると、セッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツについてのプレーヤーPL1121からの(シーケンスにおける)第1の要求REQ_Cを受信すると、セッションの開始を検出する。
さらに、一旦プロセスC_RET1008が開始されると(例えば、所定の時間PT3が経過した後)、デマルチキャスタデバイスDM2152は、プロセスC_RET1008のセッションの設定を考慮するために、デマルチキャスタデバイスDM3153に関連する容量情報を更新する。要求REQ_CAPおよび対応する応答RSP_CAPに基づく交換を使用して、これを行うことができる(図10には示されていない)。
ステップ1009において、アプリケーションAPP1131は、プレーヤーPL1121が、セッションを終了したことを検出する。これは、プレーヤーPL1121が、アプリケーションAPP1131に、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えばメッセージSTOPによって)通知するによって行われ得る。
ステップ1010において、アプリケーションAPP1131は、デマルチキャスタデバイスDM3153に、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えば、メッセージSTOPによって)通知する。アプリケーションAPP1131からの通知のない変形例では、デマルチキャスタデバイスDM3153は、プロセスC_RET1008での要求(REQ_MまたはREQ_Cのいずれか)の最新の送信から所定の時間PT1が経過したときに、オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するためのセッションが終了したことを検出し得る。これにより、デマルチキャスタデバイスDM3153の内部で、セッションの停止の記録がトリガーされる(ステップ1011)。
セッションの終了にもかかわらず、デマルチキャスタデバイスDM3153は、オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するための可能性のある次のセッションのために、処理リソースを所定の位置に保持する。問題の処理リソースが、所定の時間PT2の間、所定の位置に保持される。オーディオおよび/またはビデオコンテンツをプレーヤーPL1121に配信するために、後続のセッションが、所定の時間PT2内に開始されない場合、デマルチキャスタデバイスDM3153は、問題の処理リソースを解放する。アプリケーションAPP1131によって新しいセッションが開始される一方で、前のセッションの終了から所定の時間PT2が満了した場合、新しいセッションのための処理リソースの利用可能性は、デマルチキャスタデバイスDM3153によって保証され得ない。したがって、デマルチキャスタデバイスDM2152は、順序付きリストLの更新されたバージョンを使用することによって、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの中からデマルチキャスタを再び選択しなければならない。
したがって、所定の時間PT2の満了前に新しいセッションが開始されることを考慮して、アプリケーションAPP1131は、ステップ1012において、消費される同じまたは別のオーディオおよび/またはビデオコンテンツを選択する(プロセスC_SEL)。
次に、アプリケーションAPP1131は、デマルチキャスタデバイスDM2152に、新たに選択されたオーディオおよび/またはビデオコンテンツが利用可能にされるかどうかを尋ねる。そうするために、ステップ1013において、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつ新たに選択されたオーディオおよび/またはビデオコンテンツが利用可能にされることの確認を要求する要求REQ_CHKをデマルチキャスタデバイスDM2152に送信する。その結果、デマルチキャスタデバイスDM2152は、消費される新たに選択されたオーディオおよび/またはビデオコンテンツが、端末T1111のための前のセッション中使用されたデマルチキャスタデバイス、つまりデマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。したがって、ステップ1014において、デマルチキャスタデバイスDM2152は、要求REQ_CHKをデマルチキャスタデバイスDM3153に送信することによって、新たに選択されたオーディオおよび/またはビデオコンテンツが、デマルチキャスタデバイスDM3153を介して利用可能にされるかどうかをチェックする。ステップ1015において、デマルチキャスタデバイスDM3153は、ステップ1014でデマルチキャスタデバイスDM2152によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。応答RSP_CHKは、デマルチキャスタデバイスDM3153に関連する容量情報をさらに含む。デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみるが、プロセスC_RET1008の実行以降、デマルチキャスタデバイスDM3153に関連する容量情報が変化した、とさらに例示的に考えてみよう。
したがって、ステップ1016において、デマルチキャスタデバイスDM2152は、デマルチキャスタデバイスDM3153によって送信された応答RSP_CHKに含まれる容量情報が、デマルチキャスタデバイスDM3153によって以前に送信され、順序付きリストLの現在のバージョンを構築または更新するために使用された容量情報と比較して、容量変化を示すかどうかをチェックする。容量変化がある場合、デマルチキャスタデバイスDM2152は、ローカルエリアネットワークLAN101内に存在する他のデマルチキャスタデバイスに、それらのそれぞれの容量を更新するために、問い合わせる。
したがって、ステップ1017において、デマルチキャスタデバイスDM2152は、要求REQ_CAPをデマルチキャスタデバイスDM1151に送信する。ステップ1018において、デマルチキャスタデバイスDM1151は、ステップ1017でデマルチキャスタデバイスDM2152によって送信された要求REQ_CAPに対する応答RSP_CAPを送信し、応答RSP_CAPは、要求REQ_CAPによって要求された容量情報を含む。
デマルチキャスタデバイスDM2152が、一旦ローカルエリアネットワークLAN101内に存在するすべてのデマルチキャスタデバイスの容量情報を収集すると、デマルチキャスタデバイスDM2152は、順序付きリストLを更新するために、デマルチキャスタデバイスを、それらの容量情報に従って順序付けする。デマルチキャスタデバイスDM2152は、ステップ1019において、容量情報が、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの中で最も高い残存容量を示すデマルチキャスタデバイスを、オーディオおよび/またはビデオコンテンツ配信システム100へのデフォルトのエントリポイントとして選択する。選択されたデマルチキャスタデバイスが、デマルチキャスタデバイスDM2152でない場合、デマルチキャスタデバイスDM2152は、図6に関してすでに説明したように、新たに選択されたオーディオおよび/またはビデオコンテンツが、要求REQ_CHKの結果選択されたデマルチキャスタデバイスを介して利用可能にされるかどうかをチェックする。そうでない場合、デマルチキャスタデバイスDM2152は、順序付きリストL内の次のデマルチキャスタデバイスを考慮する。デマルチキャスタデバイスDM2152が、順序付きリストL内で最も高い容量を示す、と例示的に考え、さらに、デマルチキャスタデバイスDM2152が、新たに選択されたオーディオおよび/またはビデオコンテンツを配信できる、と例示的に考えてみよう。
そうすると、ステップ1020において、デマルチキャスタデバイスDM2152は、ステップ1013でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKをアプリケーションAPP1131に送信する。応答RSP_CHKは、デマルチキャスタデバイスDM2152が、選択されたオーディオおよび/またはビデオコンテンツを配信できることを示し、かつ対応する確認コードを含む。アプリケーションAPP1131は、オーディオおよび/またはビデオコンテンツを配信するための適切なデマルチキャスタデバイスを選択するために、デマルチキャスタデバイスDM2152に依存するので、この応答RSP_CHKに容量情報を含める必要はない。
ステップ1021において、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を再起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、デマルチキャスタデバイスDM2152の識別子(例えば、デマルチキャスタデバイスDM2152のIPアドレス)と、新たに選択されたオーディオ/またはビデオコンテンツを表す情報(例えば、新たに選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)とを含むメッセージLAUNCHを送信する。次に、ステップ1022において、プロセスC_RETが、新たに選択されたオーディオおよび/またはビデオコンテンツを配信するために、プレーヤーPL1121と、デマルチキャスタデバイスDM2152との間で実行される。プロセスC_RET4100で説明したのと同じように、デマルチキャスタデバイスDM2152は、要求REQ_Mを受信し、それに応答すると、新しいセッションの開始の記録を実行する。一変形例では、デマルチキャスタデバイスDM3153は、アプリケーションAPP1131から専用メッセージを受信すると、新しいセッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツについてのプレーヤーPL1121からの(シーケンスにおける)第1の要求REQ_Cを受信すると、新しいセッションの開始を検出する。
図11Aおよび図11Bは、オーディオおよび/またはビデオコンテンツを配信するための第7の実施形態による、オーディオおよび/またはビデオコンテンツ配信システムで発生する交換を共同して概略的に表す。この第7の実施形態では、マルチパスが考慮され、これは、消費されるオーディオおよび/またはビデオコンテンツが、複数のデマルチキャスタデバイスを介して取得されることを意味する。この第7の実施形態の範囲内で、アプリケーションAPP1131は、デマルチキャスタデバイスDM2152に依存して、オーディオおよび/またはビデオコンテンツを受信するための適切なデマルチキャスタデバイスを選択する。
マルチパス配信を実装するために、ローカルエリアネットワークLAN101は、プロキシデバイスPXY1100をさらに含む。プロキシデバイスPXY1100は、端末T1111とは、およびデマルチキャスタデバイスDM1151、DM2152、DM3153のうちのいずれか1つとは異なるデバイスであり得る。プロキシデバイスPXY1100は、一変形例では、端末T1111内に含まれ得る。プロキシデバイスPXY1100は、別の変形例では、デマルチキャスタデバイスDM1151、DM2152、DM3153のうちの1つに含まれ得る。
ステップ1101において、アプリケーションAPP1131、デマルチキャスタデバイスDM1151、デマルチキャスタデバイスDM2152、およびデマルチキャスタデバイスDM3153が、ステップ301に関してすでに説明したように、発見手順を実行する。プロキシデバイスPXY1100は、ローカルエリアネットワークLAN101内での自身の存在をアナウンスするために、発見手順に関与し得る。
ステップ1102において、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツを選択する(プロセスC_SEL)。
次に、ステップ1103において、アプリケーションAPP1131は、消費されるオーディオおよび/またはビデオコンテンツが利用可能にされるかどうかを、デマルチキャスタデバイスDM2152に尋ねる。そうするために、アプリケーションAPP1131は、選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつ選択されたオーディオおよび/またはビデオコンテンツが利用可能にされることの確認を要求する要求REQ_CHKをデマルチキャスタデバイスDM2152に送信する。
オーディオおよび/またはビデオコンテンツを配信するためのこの第7の実施形態では(図9の第5の実施形態のように)、あるデマルチキャスタデバイスによって別のデマルチキャスタデバイスに送信される要求REQ_CHKに対する各応答RSP_CHKは、以下に詳述するように、問題のデマルチキャスタデバイスに関する容量情報を含む。
したがって、ステップ1104において、デマルチキャスタデバイスDM2152は、選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつ選択されたオーディオおよび/またはビデオコンテンツが利用可能にされることの確認を要求する要求REQ_CHKをデマルチキャスタデバイスDM1151に送信する。すでに説明したように、各デマルチキャスタデバイスは、プロバイダネットワークPN102を介して、各デマルチキャスタデバイスに利用可能にされたオーディオおよび/またはビデオコンテンツのリストを格納する。
次に、ステップ1105において、デマルチキャスタデバイスDM1151は、ステップ1104でデマルチキャスタデバイスDM2152によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、(図7に関してすでに検討されたように)デマルチキャスタデバイスDM1151に関連する容量情報をさらに含む。デマルチキャスタデバイスDM1151が、選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。
ステップ1106において、デマルチキャスタデバイスDM2152はまた、選択されたオーディオおよび/またはビデオコンテンツに対する要求REQ_CHKをデマルチキャスタデバイスDM3153に送信する。次に、ステップ1107において、デマルチキャスタデバイスDM3153は、ステップ1106でデマルチキャスタデバイスDM2152によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、デマルチキャスタデバイスDM3153に関連する容量情報をさらに含む。デマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。
デマルチキャスタデバイスDM2152は、自身の容量情報をさらに内部的に取得する。
デマルチキャスタデバイスDM2152が、一旦ローカルエリアネットワークLAN101内に存在するすべてのデマルチキャスタデバイスの容量情報を収集すると、デマルチキャスタデバイスDM2152は、図3に関してすでに述べた順序付きリストLを構築するために、デマルチキャスタデバイスを、それらの容量情報に従って順序付けする。
デマルチキャスタデバイスDM2152は、ローカルエリアネットワークLAN101内に存在するデマルチキャスタデバイスの中で最も高い容量を示し、かつ問題のオーディオおよび/またはビデオコンテンツを配信できる、所定の数N(N>1)のデマルチキャスタデバイスを選択する。N=2であり、かつデマルチキャスタデバイスDM2152が、一致して、デマルチキャスタデバイスDM2152と、デマルチキャスタデバイスDM3153とを選択する、と例示的に考えてみよう。
そうすると、ステップ1108において、デマルチキャスタデバイスDM2152は、ステップ1103でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKをアプリケーションAPP1131に送信する。応答RSP_CHKは、デマルチキャスタデバイスDM2152およびデマルチキャスタデバイスDM3153が、選択されたオーディオおよび/またはビデオコンテンツを配信できることを示し、かつ応答RSP_CHKは、対応する確認コードを含む。アプリケーションAPP1131は、オーディオおよび/またはビデオコンテンツを配信するための適切なデマルチキャスタデバイスを選択するために、デマルチキャスタデバイスDM2152に依存するので、この応答RSP_CHKに容量情報を含める必要はない。
アプリケーションAPP1131がマルチパス対応でない場合、アプリケーションAPP1131は、応答RSP_CHKで最初に引用されたデマルチキャスタデバイスのみを考慮し、応答RSP_CHKに含まれている他のすべてのデマルチキャスタデバイスに関連する情報を撤回することに留意されたい。
ステップ1109において、アプリケーションAPP1131は、選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、プロキシデバイスPXY1100の識別子(例えば、プロキシデバイスPXY1100のIPアドレス)と、選択されたオーディオ/またはビデオコンテンツを表す情報(例えば、選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)とを含むメッセージLAUNCHを送信する。メッセージLAUNCHは、選択されたオーディオおよび/またはビデオコンテンツのマルチパス配信のために使用される各デマルチキャスタデバイスの識別子(例えば、問題のデマルチキャスタのIPアドレス)を(例えば、インラインパラメータとして)さらに含む。したがって、この例では、デマルチキャスタデバイスDM2152の、およびデマルチキャスタデバイスDM3153の識別子(例えば、それらのIPアドレス)は、ステップ1109のメッセージLAUNCH内に、例えば、インラインパラメータとして提供される。
次に、プレーヤーPL1121は、問題のオーディオおよび/またはビデオコンテンツのセグメントを受信するためにプロキシデバイスPXY1100と通信し、プロキシデバイスPXY1100は、デマルチキャスタデバイスDM2152およびデマルチキャスタデバイスDM3153を用いたマルチパス配信を(プレーヤーPL11212の観点から)透明に管理する。
したがって、ステップ1111において、プレーヤーPL1121は、選択されたオーディオおよび/またはビデオコンテンツのマニフェストファイルを、応答して、取得するために、(LAUNCHメッセージのコンテンツに従って)要求REQ_MをプロキシデバイスPXY1100に送信する。したがって、要求REQ_Mは、選択されたオーディオおよび/またはビデオコンテンツを表す情報(例えば、LAUNCHメッセージ内に提供される、マニフェストファイルを指すURLパス)を含む。次に、ステップ1112において、プロキシデバイスPXY1100は、そのような要求REQ_MをデマルチキャスタデバイスDM2152に送信し、ステップ1113において、そのような要求REQ_MをデマルチキャスタデバイスDM3153に送信する。その結果、ステップ1114において、デマルチキャスタデバイスDM2152は、要求されたマニフェストファイルを送信することによって、プロキシデバイスPXY1100に対し、選択されたオーディオおよび/またはビデオコンテンツの利用可能性を確認する。また、ステップ1116において、デマルチキャスタデバイスDM3153は、要求されたマニフェストファイルを送信することによって、プロキシデバイスPXY1100に対し、選択されたオーディオおよび/またはビデオコンテンツの利用可能性を確認する。次に、ステップ1118において、プロキシデバイスPXY1100は、要求されたマニフェストファイルを送信することによって、プレーヤーPL1121に対し、選択されたオーディオおよび/またはビデオコンテンツの利用可能性を確認する。要求REQ_Mを受信して、それに応答すると、デマルチキャスタデバイスDM2152(ステップ1115)およびデマルチキャスタデバイスDM3153(ステップ1117)の内部で、セッションの開始の記録がトリガーされる。ここで、要求REQ_Mを受信して、それに応答することを使用して、セッションの開始が検出されるため、プロキシデバイスPXY1100は、問題のオーディオおよび/またはビデオコンテンツのセグメントを受信するために使用されるデマルチキャスタデバイスのうちの各デマルチキャスタデバイスにマニフェストファイルを要求する必要があることに留意されたい。アダプティブビットレートが実装されていない場合、マニフェストファイルは存在しない。したがって、一変形例では、デマルチキャスタデバイスDM2152およびデマルチキャスタデバイスDM3153は、プロキシデバイスPXY1100から専用メッセージを受信すると、セッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツに対するプロキシデバイスPXY1100からの(以下に詳述されるように)(シーケンスにおける)第1の要求REQ_Cを受信すると、セッションの開始を検出する。
ステップ1111~1118は、選択されたオーディオおよび/またはビデオコンテンツのマニフェストファイルを取得するプロセスMM_RET1110を共同して形成する。
次に、ステップ1121において、プレーヤーPL1121は、要求REQ_CをプロキシデバイスPXY1100に送信する。要求REQ_Cは、選択されたオーディオおよび/またはビデオコンテンツの少なくとも1つのセグメントを受信することを要求するユニキャストメッセージである。したがって、要求REQ_Cは、選択されたオーディオおよび/またはビデオコンテンツを表す情報(例えば、選択されたオーディオおよび/またはビデオコンテンツを指すURLパス)を含む。例えば、要求REQ_Cは、HTTP Getメッセージであり、少なくとも1つのセグメントがどの表現(品質)で要求されているかを示すパラメータをさらに含む。要求REQ_Cは、ステップ1109のメッセージLAUNCH内にアプリケーションAPP1131によって提供された追加のパラメータ(例えば、インラインパラメータ)、つまり、デマルチキャスタデバイスDM2152の、およびデマルチキャスタデバイスDM3153の識別子をさらに含む。したがって、プロキシデバイスPXY1100は、ステップ1121でプレーヤーPL1121によって送信された要求REQ_Cから、どのデマルチキャスタデバイスが、マルチパス配信のために使用されるべきかを知る。
その結果、ステップ1122において、プロキシデバイスPXY1100は、要求REQ_CをデマルチキャスタデバイスDM2152に、またはステップ1123において、デマルチキャスタデバイスDM3153に、送信する。要求REQ_Cは、プレーヤーPL121によって要求される、選択されたオーディオおよび/またはビデオコンテンツの少なくとも1つのセグメントを受信することを要求するユニキャストメッセージである。したがって、プロキシデバイスPXY1100によって送信される要求REQ_Cは、選択されたオーディオおよび/またはビデオコンテンツを表す情報(例えば、選択されたオーディオおよび/またはビデオコンテンツを指すURLパス)を含む。プロキシデバイスPXY1100は、デマルチキャスタデバイスDM2152およびデマルチキャスタデバイスDM3153のうちのどのデマルチキャスタデバイスに、要求REQ_Cが送信されなければならないかを、所定の負荷分散ルールに従って、選択する。例えば、負荷分散ルールは、ラウンドロビンタイプのものであり得る。ステップ1124において、ステップ1122で送信された要求REQ_Cに応答して、デマルチキャスタデバイスDM2152は、オーディオおよび/またはビデオコンテンツの少なくとも1つのセグメントを含む応答RSP_Cを送信する。ステップ1125において、ステップ1123で送信された要求REQ_Cに応答して、デマルチキャスタデバイスDM3153は、オーディオおよび/またはビデオコンテンツの少なくとも1つのセグメントを含む応答RSP_Cを送信する。
次に、ステップ1126において、プロキシデバイスPXY1100は、ステップ1121でプレーヤーPL1121によって送信された要求REQ_Cに応答して、応答RSP_CをプレーヤーPL1121に送信する。応答RSP_Cは、ステップ1124でデマルチキャスタデバイスDM2152から受信されたか、またはステップ1125でデマルチキャスタデバイスDM3153から受信されたかのいずれかのオーディオおよび/またはビデオコンテンツの少なくとも1つのセグメントを含む。したがって、プレーヤーPL1121は、受信された少なくとも1つのセグメントを消費し得る。ステップ1121~1126は、プレーヤーPL1121が、選択されたオーディオおよび/またはビデオコンテンツの少なくとも1つの後続のセグメントをさらに受信することを可能にするために、繰り返され得る。
ステップ1121~1126は、選択されたオーディオおよび/またはビデオコンテンツを配信するプロセスMC_RET1120を共同して形成する。
ここで(考慮事項を理解するためのプロセスMC_RET1120も登場する)図11Bに移ると、アプリケーションAPP1311は、ステップ1130において、プレーヤーPL1121がセッションを終了したことを検出する。これは、プレーヤーPL1121が、アプリケーションAPP1131に、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えばメッセージSTOPによって)通知するによって行われ得る。
ステップ1131において、アプリケーションAPP1131は、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えば、メッセージSTOPによって)デマルチキャスタデバイスDM2152に通知し、ステップ1133において、アプリケーションAPP1131は、オーディオおよび/またはビデオコンテンツの消費が終了したことを(例えば、メッセージSTOPによって)デマルチキャスタデバイスDM3153に通知する。アプリケーションAPP1131からの通知のない変形例では、デマルチキャスタデバイスDM2152およびデマルチキャスタデバイスDM3153は、プロセスMC_RET1120での要求(REQ_MまたはREQ_Cのいずれか)の最新の送信から所定の時間PT1が経過したときに、オーディオおよび/またはビデオコンテンツを、プロキシデバイスPXY1100を介してプレーヤーPL1121に配信するためのセッションが終了したことを検出し得る。これにより、デマルチキャスタデバイスDM2152の内部で(ステップ1132)、およびデマルチキャスタデバイスDM3153の内部で(ステップ1134)、セッションの停止の記録がトリガーされる。
セッションの終了にもかかわらず、デマルチキャスタデバイスDM2152およびデマルチキャスタデバイスDM3153は、オーディオおよび/またはビデオコンテンツを、プロキシデバイスPXY1100を介してプレーヤーPL1121に配信するための可能性のある次のセッションのために、処理リソースを所定の位置に保持する。問題の処理リソースが、所定の時間PT2の間、所定の位置に保持される。オーディオおよび/またはビデオコンテンツを、プロキシPXY1100を介してプレーヤーPL1121に配信するために、後続のセッションが、所定の時間PT2内に開始されない場合、デマルチキャスタデバイスDM2152およびデマルチキャスタデバイスDM3153は、問題の処理リソースを解放する。新しいセッションが開始される一方で、前のセッションの終了から所定の時間PT2が満了した場合、新しいセッションのための処理リソースの利用可能性は、デマルチキャスタデバイスDM2152およびデマルチキャスタデバイスDM3153によって保証され得ない。次に、順序付きリストLの更新されたバージョンを使用して、マルチパス配信のためのデマルチキャスタの新たな選択が実行されなければならないであろう。
したがって、所定の時間PT2の満了前に新しいセッションが開始されることを考慮して、アプリケーションAPP1131は、ステップ1135において、消費される同じまたは別のオーディオおよび/またはビデオコンテンツを選択する(プロセスC_SEL)。
次に、ステップ1136において、アプリケーションAPP1131は、消費される新たに選択されたオーディオおよび/またはビデオコンテンツが利用可能にされるかどうかを、デマルチキャスタデバイスDM2152に尋ねる。そうするために、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつ新たに選択されたオーディオおよび/またはビデオコンテンツが利用可能にされることの確認を要求する要求REQ_CHKをデマルチキャスタデバイスDM2152に送信する。
したがって、ステップ1137において、デマルチキャスタデバイスDM2152は、新たに選択されたオーディオおよび/またはビデオコンテンツを表す情報を含み、かつ新たに選択されたオーディオおよび/またはビデオコンテンツが利用可能にされることの確認を要求する要求REQ_CHKをデマルチキャスタデバイスDM3153に送信する。デマルチキャスタデバイスDM2152は、プロキシデバイスPXY1100を介したプレーヤーPL1121での前のセッションのためのマルチパス配信で、デマルチキャスタデバイスDM3153が暗示されているため、要求REQ_CHKをデマルチキャスタデバイスDM3153に送信する。
次に、ステップ1138において、デマルチキャスタデバイスDM3153は、ステップ1137でデマルチキャスタデバイスDM2152によって送信された要求REQ_CHKに対する応答RSP_CHKを送信する。エラーコードまたは確認コードを含むことに加えて、応答RSP_CHKは、(図7に関してすでに検討されたように)デマルチキャスタデバイスDM3153に関連する容量情報をさらに含む。デマルチキャスタデバイスDM3153が、新たに選択されたオーディオおよび/またはビデオコンテンツを配信することができ、かつ応答RSP_CHKが、対応する確認コードを含む、と例示的に考えてみよう。
デマルチキャスタデバイスDM2152もまた、プロキシデバイスPXY1100を介したプレーヤーPL1121での前のセッションのためのマルチパス配信で暗示されているため、デマルチキャスタデバイスDM2152は、デマルチキャスタデバイスDM2152が、新たに選択されたオーディオおよび/またはビデオコンテンツを配信できるかどうかを、内部的にチェックする。デマルチキャスタデバイスDM2152もまた、新たに選択されたオーディオおよび/またはビデオコンテンツを配信できる、と例示的に考えてみよう。
そうすると、ステップ1139において、デマルチキャスタデバイスDM2152は、ステップ1136でアプリケーションAPP1131によって送信された要求REQ_CHKに対する応答RSP_CHKをアプリケーションAPP1131に送信する。応答RSP_CHKは、デマルチキャスタデバイスDM2152およびデマルチキャスタデバイスDM3153が、新たに選択されたオーディオおよび/またはビデオコンテンツを配信できることを示し、応答RSP_CHKは、対応する確認コードを含む。アプリケーションAPP1131は、オーディオおよび/またはビデオコンテンツを配信するための適切なデマルチキャスタデバイスを選択するために、デマルチキャスタデバイスDM2152に依存するので、この応答RSP_CHKに容量情報を含める必要はない。
ステップ1140において、アプリケーションAPP1131は、新たに選択されたオーディオおよび/またはビデオコンテンツを消費するために、プレーヤーPL1121を再起動する。そうするために、アプリケーションAPP1131は、プレーヤーPL1121に、プロキシデバイスPXY1100の識別子(例えば、プロキシデバイスPXY1100のIPアドレス)と、新たに選択されたオーディオおよび/またはビデオコンテンツを表す情報(例えば、新たに選択されたオーディオおよび/またはビデオコンテンツ、または好ましくは、それを表すマニフェストファイルを指すURLパス)と、さらなるパラメータとして、選択されたオーディオ/またはビデオコンテンツのマルチパス配信のために使用される各デマルチキャスタデバイスの識別子(例えば、問題のデマルチキャスタのIPアドレス)とを含むメッセージLAUNCHを送信する。この例では、さらなるパラメータは、デマルチキャスタデバイスDM2152の、およびデマルチキャスタデバイスDM3153の識別子(例えば、それらのIPアドレス)である。次に、ステップ1141において、プロセスMM_RETおよびMC_RETが、新たに選択されたオーディオおよび/またはビデオコンテンツを配信するために、プレーヤーPL1121、プロキシデバイスPXY1100、デマルチキャスタデバイスDM2152、およびデマルチキャスタデバイスDM3153の間で実行される。プロセスMM_RET1110で説明したのと同じように、デマルチキャスタデバイスDM2152およびデマルチキャスタデバイスDM3153は、それぞれ要求REQ_Mを受信し、それに応答すると、新しいセッションの開始の記録を実行する。一変形例では、デマルチキャスタデバイスDM2152およびデマルチキャスタデバイスDM3153は、プロキシデバイスPXY1100から専用メッセージを受信すると、セッションの開始を検出する。別の変形例では、デマルチキャスタデバイスDM3153は、問題のオーディオおよび/またはビデオコンテンツについてのプロキシデバイスPXY1100からの(シーケンスにおける)第1の要求REQ_Cを受信すると、新しいセッションの開始を検出する。
特定の一実施形態では、いくつかのプレーヤーが、プロキシデバイスPXY1100のサポートを使用する可能性があることを考慮して、プロキシデバイスPXY1100は、デマルチキャスタデバイスDM2152に、およびデマルチキャスタデバイスDM3153に送信される自身のメッセージにおいて、そのメッセージが、プレーヤーPL1121に代わって(例えば、端末T1111のIPアドレスを使用して)、セッションに関係すること示すことができる。例えば、HTTPメッセージの「転送」フィールドは、そのような目的に使用され得る。したがって、デマルチキャスタデバイスDM2152およびデマルチキャスタデバイスDM3153は、これこれのものが開始または終了するプレーヤーのアイデンティティを認識する。
図11Aおよび図11Bのマルチパスの実施形態は、図4、図5、図6、図8、図9、および図10に関して上述したような最新の容量情報を取得するための実施形態と組み合わされ得る。
図11Aおよび図11Bの説明は、プレーヤー(例えば、プレーヤーPL1121)と、プロキシデバイスPXY1100との間で交換されるメッセージに依存する。プロキシデバイスPXY1100およびプレーヤーが同じ端末(例えば、端末T1111)内に位置する場合、メッセージはAPI(アプリケーションプログラミングインターフェイス)呼び出しの形態をとり得る。
さらに、図11Aおよび図11Bの説明は、プレーヤー(例えば、プレーヤーPL1121)に関連付けられたアプリケーション(例えば、アプリケーションAPP1131)と、プロキシデバイスPXY1100との間で交換されるメッセージに依存する。問題のアプリケーションおよびプロキシデバイスPXY1100が同じ端末(例えば、端末T1111)内に位置する場合、メッセージはAPI呼び出しの形態をとり得る。
より一般的には、前述の詳細な説明は、プレーヤー(例えば、プレーヤーPL1121)と、関連付けられたアプリケーション(例えば、アプリケーションAPP1131)との間で交換されるメッセージに依存する。アプリケーションおよびプレーヤーが同じ端末(端末T1111)内に位置する場合、メッセージは、API呼び出しの形態をとり得る。
すでに示したように、前述の詳細な説明は、オーディオおよび/またはビデオコンテンツが、マルチキャスト方式で配信されることを例示的に考慮して提示されている(ブロードキャスト送信は、マルチキャスト送信の特定のケースである)。ただし、ユニキャスト送信は、一変形例では、コンテンツ配信サーバ機器CDE160で使用され得る。したがって、一般的に言えば、デマルチキャスタデバイスは、オーディオおよび/またはビデオコンテンツのセグメントをローカルエリアネットワークLAN101に転送することより、少なくとも1つのプロバイダネットワークPN102を介して、コンテンツ配信サーバ機器CDE160によって配信されるオーディオおよび/またはビデオコンテンツを、ローカルエリアネットワークLAN101内の端末デバイスが受信することを可能にするコンテンツ配信ネットワーク(CDN)受信機デバイスである。

Claims (13)

  1. ローカルエリアネットワーク内のプレーヤーにオーディオおよび/またはビデオコンテンツを配信するための方法であって、前記ローカルエリアネットワークが、複数のコンテンツ配信ネットワークCDN受信機デバイスを備え、前記CDN受信機デバイスが、少なくとも1つのプロバイダネットワークを介してセグメントの形態でオーディオおよび/またはビデオコンテンツを受信し、前記CDN受信機デバイスが、前記ローカルエリアネットワーク内のプレーヤーを備えた端末が前記オーディオおよび/またはビデオコンテンツを受信することを可能にするために、前記オーディオおよび/またはビデオコンテンツの前記受信されたセグメントを前記ローカルエリアネットワーク内に転送し、前記方法が、
    -前記CDN受信機デバイスから容量情報を取得することであって、前記容量情報が、前記CDN受信機デバイスの総容量と比較した、実際に使用されている処理リソースの表示である、取得すること、
    -前記容量情報に従って、オーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するための少なくとも1つのCDN受信機デバイスを選択すること、
    -前記オーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するためのセッションが開始および終了することを検出すること、を含み、
    -前記オーディオおよび/またはビデオコンテンツを、前記選択された少なくとも1つのCDN受信機デバイスから前記プレーヤーに配信するための前記セッションが終了すると、前記選択された少なくとも1つのCDN受信機デバイスが、所定の持続時間の間、同じまたは別のオーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するための可能性のある次のセッションのために、処理リソースを所定の位置に保持し、
    -別のオーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するための別のセッションが、前記所定の持続時間の満了前に開始すると、前記同じまたは別のオーディオおよび/またはビデオコンテンツが、前記処理リソースを使用して、前記選択された少なくとも1つのCDN受信機デバイスによって前記プレーヤーに配信され、所定の位置に保持し、
    -前記同じまたは別のオーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するための別のセッションが、前記所定の持続時間の満了後に開始すると、更新された容量情報に従って、少なくとも1つのCDN受信機デバイスの再選択が実行されて、前記別のオーディオおよび/またはビデオコンテンツを前記プレーヤーへ配信する、方法。
  2. 前記オーディオおよび/または前記ビデオコンテンツが、アダプティブビットレートABRを可能にするために、様々な表現で前記CDN受信機に利用可能にされる、請求項1に記載の方法。
  3. 前記選択された少なくとも1つのCDN受信機デバイスが、前記オーディオおよび/またはビデオコンテンツのマニフェストファイルを取得するための要求を受信したときに、前記オーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するための前記セッションが開始することを検出する、請求項2に記載の方法。
  4. 前記選択された少なくとも1つのCDN受信機デバイスが、前記セッションが開始することを示すメッセージを受信したときに、前記オーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するための前記セッションが開始することを検出する、請求項1に記載の方法。
  5. 前記選択された少なくとも1つのCDN受信機デバイスは、前記プレーヤーへの前記オーディオおよび/またはビデオコンテンツの前記配信に関する要求が、所定の持続時間の間、前記選択された少なくとも1つのCDN受信機デバイスによって受信されなかったことを検出するとき、前記オーディオおよび/またはビデオコンテンツを前記プレーヤーへ配信するための前記セッションが終了することを検出する、請求項1~4のいずれか一項に記載の方法。
  6. 前記オーディオおよび/またはビデオコンテンツが、マルチキャスト形態で前記CDN受信機に利用可能にされ、前記CDN受信機デバイスが、前記少なくとも1つのプロバイダネットワークを介してマルチキャスト形態で受信された前記セグメントをユニキャスト形態に変換するデマルチキャスタである、請求項1~5のいずれか一項に記載の方法。
  7. 各CDN受信機デバイスが、その容量情報を、消費される前記オーディオおよび/またはビデオコンテンツが、問題の前記CDN受信機デバイスを介して利用可能にされるかどうかをチェックするための要求に応答するのと同時に、送信する、請求項1~6のいずれか一項に記載の方法。
  8. 消費される前記オーディオおよび/またはビデオコンテンツが、問題の前記CDN受信機デバイスを介して利用可能にされるかどうかをチェックするための要求に応答して、少なくとも1つのCDN受信機デバイスによって送信される前記容量情報が、変化したとき、前記方法が、更新された容量情報を取得するために、各他のCDN受信機デバイスに容量情報を要求することをさらに含む、請求項7に記載の方法。
  9. 前記CDN受信機デバイスから容量情報を取得すること、および前記オーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するための前記少なくとも1つのCDN受信機デバイスを、前記容量情報に従って選択することが、前記プレーヤーに関連付けられたアプリケーションによって実行される、請求項1~8のいずれか一項に記載の方法。
  10. 前記CDN受信機デバイスから容量情報を取得すること、および前記オーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するための前記少なくとも1つのCDN受信機デバイスを、前記容量情報に従って選択することが、消費される前記オーディオおよび/またはビデオコンテンツが問題の前記CDN受信機デバイスを介して利用可能にされるかどうかを、前記プレーヤーに関連付けられたアプリケーションが要求する1つのCDN受信機によって実行される、請求項1~8のいずれか一項に記載の方法。
  11. 前記セッションが、前記オーディオおよび/またはビデオコンテンツを複数の選択されたCDN受信機デバイスから前記プレーヤーに配信することを暗示する場合、前記プレーヤーが、前記オーディオおよび/またはビデオコンテンツの前記セグメントを受信するためのプロキシデバイスと通信し、前記プロキシデバイスが、前記オーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するための負荷分散を管理しながら、前記オーディオおよび/またはビデオコンテンツの前記セグメントを取得するための前記複数の選択されたCDN受信機デバイスと通信する、請求項1~10のいずれか一項に記載の方法。
  12. 前記プロキシデバイスが、前記オーディオおよび/またはビデオコンテンツのマニフェストファイルを取得するための要求を前記プレーヤーから受信すると、前記プロキシデバイスが、前記オーディオおよび/またはビデオコンテンツのマニフェストファイルを取得するための1つのそのような要求を、前記複数の選択されたCDN受信機デバイスのうちの各選択されたCDN受信機デバイスに送信する、請求項11に記載の方法。
  13. ローカルエリアネットワーク内のプレーヤーにオーディオおよび/またはビデオコンテンツを配信するために構成されたオーディオおよび/またはビデオコンテンツ配信システムであって、前記ローカルエリアネットワークが、前記オーディオおよび/またはビデオコンテンツ配信システムの複数のコンテンツ配信ネットワークCDN受信機デバイスを備え、前記CDN受信機デバイスが、少なくとも1つのプロバイダネットワークを介してセグメントの形態でオーディオおよび/またはビデオコンテンツを受信し、前記CDN受信機デバイスが、前記ローカルエリアネットワーク内のプレーヤーを備えた端末が前記オーディオおよび/またはビデオコンテンツを受信することを可能にするために、前記オーディオおよび/またはビデオコンテンツの前記受信されたセグメントを前記ローカルエリアネットワーク内に転送し、前記オーディオおよび/またはビデオコンテンツ配信システムが、
    -前記CDN受信機デバイスから容量情報を取得するための手段であって、前記容量情報が、前記CDN受信機デバイスの総容量と比較した、実際に使用されている処理リソースの表示である、手段、
    -前記容量情報に従って、オーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するための少なくとも1つのCDN受信機デバイスを選択するための手段、
    -前記オーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するためのセッションが、開始および終了することを検出するための手段、を備え、
    前記オーディオおよび/またはビデオコンテンツ配信システムが、以下、
    -前記オーディオおよび/またはビデオコンテンツを、前記選択された少なくとも1つのCDN受信機デバイスから前記プレーヤーに配信するための前記セッションが終了すると、前記選択された少なくとも1つのCDN受信機デバイスが、所定の持続時間の間、同じまたは別のオーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するための可能性のある次のセッションのために、処理リソースを所定の位置に保持し、
    -別のオーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するための別のセッションが、前記所定の持続時間の満了前に開始すると、前記同じまたは別のオーディオおよび/またはビデオコンテンツが、前記処理リソースを使用して、前記選択された少なくとも1つのCDN受信機デバイスによって前記プレーヤーに配信され、所定の位置に保持し、
    -前記同じまたは別のオーディオおよび/またはビデオコンテンツを前記プレーヤーに配信するための別のセッションが、前記所定の持続時間の満了後に開始すると、更新された容量情報に従って、少なくとも1つのCDN受信機デバイスの再選択が実行されて、前記別のオーディオおよび/またはビデオコンテンツを前記プレーヤーへ配信するようにさらに構成されている、オーディオおよび/またはビデオコンテンツ配信システム。
JP2022532793A 2019-12-06 2020-12-02 オーディオおよび/またはビデオコンテンツをプレーヤーに配信するための方法 Pending JP2023504633A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19214253.7 2019-12-06
EP19214253.7A EP3833038B1 (en) 2019-12-06 2019-12-06 Method for delivering audio and/or video contents to a player
PCT/EP2020/084289 WO2021110753A1 (en) 2019-12-06 2020-12-02 Method for delivering audio and/or video contents to a player

Publications (1)

Publication Number Publication Date
JP2023504633A true JP2023504633A (ja) 2023-02-06

Family

ID=68835014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022532793A Pending JP2023504633A (ja) 2019-12-06 2020-12-02 オーディオおよび/またはビデオコンテンツをプレーヤーに配信するための方法

Country Status (9)

Country Link
US (1) US20230026376A1 (ja)
EP (1) EP3833038B1 (ja)
JP (1) JP2023504633A (ja)
KR (1) KR20220116201A (ja)
CA (1) CA3160351A1 (ja)
ES (1) ES2928485T3 (ja)
IL (1) IL293556A (ja)
MX (1) MX2022006755A (ja)
WO (1) WO2021110753A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230217083A1 (en) * 2021-12-30 2023-07-06 Hughes Network Systems, Llc Secure satellite-based content preloading

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2605469A1 (en) * 2011-12-13 2013-06-19 Thomson Licensing Method and apparatus to control a multipath adaptive streaming session
US10063606B2 (en) * 2012-06-12 2018-08-28 Taiwan Semiconductor Manufacturing Co., Ltd. Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
US20150142982A1 (en) * 2013-11-15 2015-05-21 Microsoft Corporation Preservation of connection session
US9787751B2 (en) * 2014-08-06 2017-10-10 At&T Intellectual Property I, L.P. Method and apparatus for delivering media content utilizing segment and packaging information
US10114689B1 (en) * 2015-12-28 2018-10-30 Amazon Technologies, Inc. Dynamic playlist generation
US10051046B1 (en) * 2017-11-08 2018-08-14 Engine Media, Llc Individualized connectivity based request handling
US10531130B2 (en) * 2018-01-23 2020-01-07 Charter Communications Operating, Llc Protocol and architecture for the decentralization of content delivery

Also Published As

Publication number Publication date
EP3833038A1 (en) 2021-06-09
MX2022006755A (es) 2022-06-14
KR20220116201A (ko) 2022-08-22
IL293556A (en) 2022-08-01
WO2021110753A1 (en) 2021-06-10
EP3833038B1 (en) 2022-07-20
CA3160351A1 (en) 2021-06-10
US20230026376A1 (en) 2023-01-26
ES2928485T3 (es) 2022-11-18

Similar Documents

Publication Publication Date Title
EP3595268B1 (en) Streaming media resource distribution method, system, edge node and central dispatching system
US7865611B2 (en) Content delivery method and communication terminal apparatus
US8612621B2 (en) Method for constructing network topology, and streaming delivery system
JP5951071B2 (ja) プル・モード及びプッシュ・モードを組み合わせるシステム及び方法
US9609371B2 (en) Online video playing method and video playing server
Sweha et al. Angelcast: cloud-based peer-assisted live streaming using optimized multi-tree construction
EP3888316B1 (en) Method and system for audio-visual live content delivery
AU2020257112B2 (en) Distribution of bandwidth in a network
CN110392020B (zh) 一种流媒体资源的传输方法及系统
CN104580016A (zh) 节点分配方法、装置及系统
US20150074234A1 (en) Content system and method for chunk-based content delivery
US20130275602A1 (en) Hop-By-Hop Bandwidth Consumption Measurements Control Cooperation Between Clients on a Data Network
JP2023504633A (ja) オーディオおよび/またはビデオコンテンツをプレーヤーに配信するための方法
EP2569899A1 (en) Content distribution in a p2p infrastructure by means of multicast connections
JP2007527576A (ja) コンテンツを配信するためのシステム、レシーバ、方法及びプログラム
JP5330209B2 (ja) コンテンツ配信制御システムおよびそのコンテンツ配信制御サーバ
CN118694996A (zh) 流媒体推流方法、流媒体推流系统和存储介质
Lee et al. Modification of MMT to support peer-to-peer networking

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231016