JP7473025B2 - コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム - Google Patents

コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム Download PDF

Info

Publication number
JP7473025B2
JP7473025B2 JP2023007138A JP2023007138A JP7473025B2 JP 7473025 B2 JP7473025 B2 JP 7473025B2 JP 2023007138 A JP2023007138 A JP 2023007138A JP 2023007138 A JP2023007138 A JP 2023007138A JP 7473025 B2 JP7473025 B2 JP 7473025B2
Authority
JP
Japan
Prior art keywords
content
multicast
unicast
request
terminal
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.)
Active
Application number
JP2023007138A
Other languages
English (en)
Other versions
JP2023033600A (ja
Inventor
稔久 藤原
康信 笠原
秀和 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2023007138A priority Critical patent/JP7473025B2/ja
Publication of JP2023033600A publication Critical patent/JP2023033600A/ja
Application granted granted Critical
Publication of JP7473025B2 publication Critical patent/JP7473025B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6408Unicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64707Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless for transferring content from a first network to a second network, e.g. between IP and wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Description

本開示は、宛先が異なり、かつ、コンテンツ識別子が同一である複数のユニキャストトラヒックの、ユニキャストからマルチキャストへ、および、マルチキャストからユニキャストへの変換方法に関する。
インターネットのトラヒック量は、年々増加傾向にあり、特に映像トラヒックの増加が著しい。インターネットにおけるトラヒック量の増加は、通信事業者のネットワークを経由するトラヒックの増加を意味する。これに対し、コンテンツ配信事業者および通信事業者は、輻輳などが生じないよう、設備投資を行わなければならない。
設備投資を抑制するために、ネットワークにおける伝送帯域を効率良く利用する事が挙げられる。
具体的な方法として、マルチキャストがある(非特許文献1)。マルチキャストは、同一のコンテンツを多数のエンドユーザに配信する場合に有効で、各エンドユーザ宛てにユニキャストで配信する場合と比較して消費する伝送帯域が少ない。受信するエンドユーザが多いほどその効果は高まるため、多数のエンドユーザによる受信が見込まれるコンテンツに向いている。
この他、監視カメラネットワークにおいて、監視カメラからユニキャストで送信された監視画像を、マルチキャストに変換し、監視拠点に送信する技術も存在する(特許文献1)。
また、マルチキャストで送信されたコンテンツを、ユニキャストに変換する技術も存在する。例えば、特許文献2では、DSL(Digital Subscriber Line)によるアクセス回線を経由したトラヒックを宅内において無線LAN(Local Area Network)にて送信する際に、マルチキャストからユニキャストに変換を行っている。これにより、無線LAN区間において、より確実なトラヒック送信を実現している。
特許第4665007号,”監視映像送信装置および方法” 特許第4814998号,”マルチキャスト・データを信頼できる形で送達するための方法および装置”
コンテンツ配信サービスは、配信設備、ネットワーク、受信者端末があって初めて成立するものである。よって、これら装置および設備には、相互に接続性が確保されていなければならない。前記したマルチキャストには、この接続性に関する課題がある。
コンテンツ配信サービスにおいては、配信設備とネットワークとの接続インターフェース(以下、SNI(Application Server-Network Interface))、および、ネットワークと受信者端末との接続インターフェース(以下、UNI(User-Network Interface))において、入出力するトラヒックの条件を整合させる必要がある。これをIF(Interface)条件と呼ぶ事がある。入出力するトラヒックをユニキャストとするか、マルチキャストとするかもIF条件に含まれ、サービス提供にあたっては、これを決定する必要がある。
ここで、トラヒックとは、コンテンツに、そのコンテンツを配信するための各種情報が付加されたものとする。例えば、コンテンツをIPパケットに格納して送信する場合は、IPヘッダと、コンテンツが格納されたペイロードを合わせたものをトラヒックと呼ぶ事とする。
次に、SNIとUNIのいずれか、あるいは両方のIF条件をマルチキャストとした場合の課題を示す。配信事業者AおよびBからのトラヒックはマルチキャストで送出されているため、トラヒックの消費帯域は配信チャネル数×受信者端末1台分で済み、伝送帯域の削減は実現できている。しかし、このような場合は、配信設備、受信者端末の両方が、マルチキャストに対応した機能を具備する必要が生じる。つまり、マルチキャスト配信が可能な配信設備や、マルチキャストを受信可能な受信者端末が必要となり、そうでない設備、端末は接続する事ができない。
マルチキャスト配信や受信に対応した装置自体は市中に存在するものの、インターネットトラヒックは、一般的にはユニキャストであるため、マルチキャスト配信や受信に対応させるとなると、そのネットワーク向けに特別な設定が必要となり、運用が煩雑になる。この問題を解決するためには、SNIとUNIの両方をユニキャストとする事が考えられる。しかし、ネットワーク部分は、前記した伝送帯域の効率的利用の観点から、マルチキャストである事が望ましい。これらは相反する条件であるため、両立させるための技術が必要である。
そのような技術の一例として、SNIへユニキャストで入力したコンテンツは、ネットワークではマルチキャストに変換後、多地点に配信したのち、各拠点では再びユニキャストに変換してUNIから出力する事が考えられる。しかし、ユニキャストを前提とする映像配信はTCP(Transmission Control Protocol)や、上位レイヤとしてはHTTP(Hyper Text Transfer Protocol)を用いることが多い。一方で、マルチキャストはUDP(User Datagram Protocol)や、上位レイヤとしてはRTP(Real-time Transport Protocol)などが使われるため、単純なIPヘッダの変換では不十分である。
このような動作は、前記と同様に、市中のユニキャストからマルチキャスト、および、マルチキャストからユニキャストへの変換技術を単に組み合わせるだけでは実現できない。
そこで本開示では、HTTPをベースとしたウェブ配信システムにおいて、ユニキャストであるHTTPを維持しながら、効率的にコンテンツを転送可能にすることを目的とする。
本開示は上記の課題を解決するためになされたものであり、ウェブ配信を行うコンテンツサーバと、受信する端末間のネットワークに、ユニキャストマルチキャスト変換装置すなわちユニキャスト・マルチキャスト変換部(以下、UMCと称する。)と、マルチキャストユニキャスト変換装置すなわちマルチキャスト・ユニキャスト変換部(以下、MUCと称する。)を設け、そのUMCとMUC間のトラヒックにおいてマルチキャスト通信を利用可能にする。これにより、サーバ設備、ネットワーク設備の投資軽減を促進し、および配信映像画質の高画質化、安定化を実現する。
具体的には、本開示に係るコンテンツ配信システムは、
ユニキャスト通信のウェブ配信システムにおける端末とコンテンツサーバの途中区間がマルチキャスト通信ネットワークを用いて接続されているコンテンツ配信システムであって、
ユニキャスト通信からマルチキャスト通信へ変換し、前記マルチキャスト通信ネットワークへ送出するユニキャストマルチキャスト変換装置と、前記マルチキャスト通信ネットワークで伝送されたマルチキャスト通信をユニキャスト通信へ変換するマルチキャストユニキャスト変換装置と、を備え、
前記マルチキャストユニキャスト変換装置は、
複数のコンテンツがグルーピングされているコンテンツグループを識別し、前記コンテンツグループ毎にユニキャスト通信およびマルチキャスト通信のいずれか一方又は双方の通信方式を用いて送信されたコンテンツを前記マルチキャスト通信ネットワークから受信し、前記コンテンツグループに含まれるコンテンツを格納するコンテンツ受信キャッシュ部と、
前記端末からのリクエストに基づき、前記コンテンツ受信キャッシュ部に格納されているコンテンツを前記端末に送信するユニキャスト送信部と、
前記端末からのリクエストに対応するコンテンツが前記コンテンツ受信キャッシュ部に格納されていない場合、前記端末からのリクエストに対応するコンテンツを含むコンテンツグループの要求を、ユニキャスト通信及びマルチキャスト通信のいずれか一方又は双方の通信方式で選択的に行うコンテンツリクエスト部と、
を備え、
前記ユニキャストマルチキャスト変換装置は、
前記コンテンツサーバからユニキャスト通信を用いてコンテンツを受信し、格納するユニキャスト受信キャッシュ部と、
前記コンテンツリクエスト部からのリクエストに対応するコンテンツグループを前記ユニキャスト受信キャッシュ部から読み出し、読み出したコンテンツグループを、ユニキャスト通信およびマルチキャスト通信のいずれか一方又は双方の通信方式を用いて、前記マルチキャスト通信ネットワークに送信するコンテンツ送信部と、
前記マルチキャストユニキャスト変換装置からのリクエストに対応するコンテンツグループが前記ユニキャスト受信キャッシュ部に格納されていない場合、前記マルチキャストユニキャスト変換装置からのリクエストに対応するコンテンツグループの要求を、ユニキャスト通信を用いて前記コンテンツサーバに対して行うユニキャストリクエスト部と、
を備える。
具体的には、本開示に係るユニキャストマルチキャスト変換装置は、
ユニキャスト通信のウェブ配信システムにおける端末とコンテンツサーバの途中区間に接続され、ユニキャスト通信からマルチキャスト通信へ変換し、マルチキャスト通信ネットワークへ送出するユニキャストマルチキャスト変換装置であって、
前記コンテンツサーバからユニキャスト通信を用いてコンテンツを受信し、格納するユニキャスト受信キャッシュ部と、
前記マルチキャスト通信ネットワークで伝送されたマルチキャスト通信をユニキャスト通信へ変換するマルチキャストユニキャスト変換装置から、複数のコンテンツがグルーピングされているコンテンツグループのリクエストを受信すると、当該リクエストに対応するコンテンツグループを前記ユニキャスト受信キャッシュ部から読み出し、読み出したコンテンツグループを、ユニキャスト通信およびマルチキャスト通信のいずれか一方又は双方の通信方式を用いて、前記マルチキャスト通信ネットワークに送信するコンテンツ送信部と、
前記マルチキャストユニキャスト変換装置からのリクエストに対応するコンテンツグループが前記ユニキャスト受信キャッシュ部に格納されていない場合、前記マルチキャストユニキャスト変換装置からのリクエストに対応するコンテンツグループの要求を、ユニキャスト通信を用いて前記コンテンツサーバに対して行うユニキャストリクエスト部と、
を備える。
具体的には、本開示に係るコンテンツ配信方法は、
ユニキャスト通信のウェブ配信システムにおける端末とコンテンツサーバの途中区間に接続され、ユニキャスト通信からマルチキャスト通信へ変換し、マルチキャスト通信ネットワークへ送出するユニキャストマルチキャスト変換装置が実行するコンテンツ配信方法であって、
前記コンテンツサーバからユニキャスト通信を用いてコンテンツを受信し、当該コンテンツをユニキャスト受信キャッシュ部に格納し、
コンテンツ送信部が、前記マルチキャスト通信ネットワークで伝送されたマルチキャスト通信をユニキャスト通信へ変換するマルチキャストユニキャスト変換装置から、複数のコンテンツがグルーピングされているコンテンツグループのリクエストを受信すると、当該リクエストに対応するコンテンツグループを前記ユニキャスト受信キャッシュ部から読み出し、読み出したコンテンツグループを、ユニキャスト通信およびマルチキャスト通信のいずれか一方又は双方の通信方式を用いて、前記マルチキャスト通信ネットワークに送信し、
ユニキャストリクエスト部が、前記マルチキャストユニキャスト変換装置からのリクエストに対応するコンテンツグループが前記ユニキャスト受信キャッシュ部に格納されていない場合、前記マルチキャストユニキャスト変換装置からのリクエストに対応するコンテンツグループの要求を、ユニキャスト通信を用いて前記コンテンツサーバに対して行う。
具体的には、本開示に係るコンテンツ配信プログラムは、本開示に係るユニキャストマルチキャスト変換装置又はマルチキャストユニキャスト変換装置に備わる各機能部としてコンピュータを実現させるためのプログラムであり、本開示に係るコンテンツ配信方法に備わる各ステップをコンピュータに実行させるためのプログラムである。
本開示によれば、HTTPをベースとしたウェブ配信システムにおいて、ユニキャストであるHTTPを維持しながら、効率的にコンテンツを転送可能にすることができる。
第1の実施形態に係るシステム構成の一例を示す。 MUC及びUMCにキャッシュがない場合の第1の実施形態のシーケンスを示す。 MUCの機能の一例を示す。 UMCの機能の一例を示す。 第9の実施形態に係るシステムの概略構成図である。 第10の実施形態に係るシステムの概略構成図である。 MUCおよびUMCにキャッシュがない場合の第10の実施形態のシーケンスを示す。 MUCおよびUMCにキャッシュがない場合の第11の実施形態のシーケンスを示す。 第14の実施形態のシーケンスの第1例を示す。 第14の実施形態のシーケンスの第2例を示す。 第15の実施形態のUMCの概略構成を示す。 第15の実施形態のMUCの概略構成を示す。 テーブル801が保持するテーブルイメージの一例を示す。 テーブル802とテーブル803が保持するテーブルイメージの一例を示す。
以下、本開示の実施形態について、図面を参照しながら詳細に説明する。なお、本開示は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本開示は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
また、本説明において、本開示に係るコンテンツ配信方法によって配信されるコンテンツは映像コンテンツであるものと仮定するが、本開示においては、他のコンテンツ(例えば、画像、Webページ、OS(Operation System)のアップデートファイル、ウイルス対策ソフトの定義ファイル等)も配信可能である。
(第1の実施形態)
図1に、本開示に係るコンテンツ配信方法を備えたネットワーク構成の一例を示す。本開示に係る配信システムは、コンテンツサーバ106とUMC105とMUC104と端末107を備える。また、コンテンツサーバ106と端末107の間には、マルチキャスト通信が可能なネットワークであるマルチキャスト通信ネットワーク102が存在している。図においては、ネットワーク101とネットワーク103とは別となっているが、単一のネットワークであってもかまわない。
また、UMC105はネットワーク103とネットワーク102の境界もしくはネットワーク102に置かれ、MUC104はネットワーク102とネットワーク101の境界もしくはネットワーク102に置かれる。
UMC105とMUC104がない場合は、コンテンツサーバ106及び端末107間は、ユニキャストのHTTPを用いて通信を行っている。本配信システムでは、UMC105とMUC104が間に入ることによって、UMC105では、主に通信をユニキャストからマルチキャストへ、MUC104では主にマルチキャストからユニキャストへその通信を変換する。これにより、本開示は、ウェブ配信というコンテンツサーバ106と端末107間の接続方法を変更する必要がなくなる。また、MUC104は1台以上であり、それぞれ0台以上の端末107と接続される。
ここで、MUC104は、主にマルチキャストからユニキャストへその通信を変換するが、変換前の通信はユニキャスト通信を含む場合やユニキャスト通信のみになることがある。また、UMC105は、主に、ユニキャストからマルチキャストへその通信を変換するが、変換後の通信はユニキャスト通信を含む場合やユニキャスト通信のみになることもある。MUC104及びUMC105がユニキャスト通信のみを行う場合は、本開示のシステムは多段のwebプロキシシステムとほぼ等価である。本開示は、アプリケーション層であるwebプロキシシステム(本開示にけるUMC105とMUC104)において、その通信の一部(UMC105とMUC104間)を適応的にマルチキャスト化するシステムである。
図2に、MUC104及びUMC105にキャッシュがない場合の通信の流れを示す。
端末107からのHTTPリクエストreq.1はプロキシであるMUC104に送信される。
req.1を受信したMUC104は、ステップS1を実行する。ステップS1において、MUC104は、端末107からのHTTPリクエストreq.1に対応するキャッシュがないと判断し、上位のプロキシサーバであるUMC105へHTTPリクエストreq.2を転送する。同様に、UMC105は、ステップS2において、MUC104からのHTTPリクエストreq.2に対応するキャッシュがないと判断し、コンテンツサーバ106へHTTPリクエストreq.3を転送する。
コンテンツサーバ106は、req.3に対応するコンテンツファイルを、HTTPレスポンスres.1でUMC105へ応答する。res.1を受信したUMC105は、ステップS3を実行する。ステップS3において、UMC105は、res.1に含まれるコンテンツファイルを用いてキャッシュファイルを生成し、キャッシュファイルをUMC104へ応答する。ここで、UMC105からMUC104への応答は、HTTPリクエストreq.2に対応する応答であり、HTTPレスポンスres.2、又はマルチキャストによるレスポンスM-res.2、又はres.2及びM-res2の両方、のいずれも採用することができる。
res.2又はM-res2を受信したMUC104は、ステップS4を実行する。ステップS4では、MUC104は、res.2又はM-res.2に含まれるキャッシュファイルを格納する。MUC104は、格納しているキャッシュファイルをHTTPレスポンスres.3を応答する。res.3は、HTTPリクエストreq.1に対応する端末107への応答である。なお、MUC104とUMC105のキャッシュはディスク等の記憶容量の制限、もしくは、配信ポリシから、適切なタイミングで消去される。
以上のように、本開示は、ユニキャスト通信であるRes.2と、マルチキャスト通信であるM-res.2のメッセージを併用することにより、次の効果が期待できる。
・マルチキャスト通信により、不必要なユニキャスト通信を削減することで、ネットワークの利用帯域およびサーバへの負荷が低減される。これによりユニキャスト通信のみを利用した場合に比べ、より安定的に、より高画質な映像を配信可能とする。
・マルチキャスト通信が疎通できない環境では、従来のユニキャスト通信による疎通性を確保することができる。疎通できない環境とは、マルチキャスト通信をサポートしていない環境のほか、マルチキャストアドレスやマルチキャストルート数の枯渇や、マルチキャスト用のトラヒック量の超過などの一時的な非疎通環境も考えられる。さらには、動的にマルチキャストルートを生成するネットワークの場合は、そのルートが生成される以前に先んじてユニキャスト通信で配信することで、動画再生開始までの時間の短縮を可能とする。
・また、ユニキャスト通信をマルチキャスト通信データの再送用としての利用することで、信頼性を向上させることができる。特に、伝送路中のパケットロスや、受信機(MUC104)の受信ミス等により、マルチキャストパケットを再送することは、ロスをしたMUC104だけでなく、他のMUC104にもマルチキャストパケットを伝送することになりネットワーク帯域や、他のMUC104負荷軽減ため、再送については、個別のMUC104に対して実施するこが望ましいからである。
・同様に、webベースでは同一のファイルに対して、同一のタイミングで複数の端末107からファイルへのリクエストが発生するとは限らない。そのため、特定のMUC104においてキャッシュが消去された後に端末107からのリクエストがあった場合は、マルチキャスト通信ではなく、ユニキャスト通信での配信が望ましい。これは、該当MUC104とは別のMUC104がキャッシュファイルを保持している場合には、その配信が無駄になるからである。
また、本システムは、リアルタイム性のあるコンテンツの配信だけでなく、キャッシュによって、リアルタイム性の低いコンテンツの配信にも対応が可能となる。
図3に、図2における各ステップを実行するためのMUC104の機能の一例を示す。MUC104は、コンテンツリクエスト部204と、コンテンツ受信キャッシュ部205と、ユニキャスト送信部206と、を持つ。
ユニキャスト送信部206は、端末107からのリクエストreq.1に基づきコンテンツ受信キャッシュ部205からreq.1に対応するコンテンツファイルを読み出し、ユニキャスト通信で当該コンテンツファイルをres.3で端末107に送信する。このキャッシュは、HTTPにおけるファイルまたはストリームである。また、キャッシュは完全なファイルでなくてもよく、一部のデータのみでも順次、ユニキャスト通信として送信することができる。これにより、端末107からはコンテンツサーバ106に直接HTTPリクエストを送信および、HTTPレスポンスを受信する処理と同様の処理で、MUC104のユニキャスト送信部206と通信が可能となる。
コンテンツリクエスト部204は、端末107からのリクエストに対応するキャッシュが無い場合、UMC105へコンテンツをreq.2で要求する。要求は、ユニキャスト通信又はマルチキャスト通信の両方の通信又は片方の通信方式で選択的に行う。例えば、この要求は、HTTPリクエストを利用し、選択的要求はHTTPヘッダを用いて区別する。
コンテンツ受信キャッシュ部205は、コンテンツリクエスト部204からリスエストしたコンテンツを、複数のコンテンツでグルーピングしたコンテンツグループに識別し、前記コンテンツグループ毎にユニキャスト通信またはマルチキャスト通信の両方の通信もしくは片方の通信方式で選択的にコンテンツ受信しキャッシュする。ここでのコンテンツは例えば、ファイルである。ウェブ配信システムでは、複数のファイルで1の番組を成すことがあるため、マルチキャスト等のストリームに変換する際に、複数のファイルを1のコンテンツグループとして扱うことで、効率的にマルチキャスト通信に変換が可能である。つまり、1の番組の異なるファイルの転送に際して、同一のマルチキャストのソースアドレス、グループアドレスでその転送を実施できるという利点がある。
ここで、コンテンツ受信キャッシュ部205において、ユニキャスト通信またはマルチキャスト通信の両方の通信もしくは片方の通信方式で選択的に受信するとは、例えば、マルチキャストパスが確立される前もしくは、何らかの理由でマルチキャストが転送できないネットワークにおいてはユニキャスト通信を行い、マルチキャストパスが確立後にはマルチキャスト通信を行うことをなどが考えられる。
また、何らかの理由でマルチキャスト通信が受信できなかった場合などに、その受信ができなかったMUC104のみにデータを転送する場合である。マルチキャスト通信が受信できなかった場合としては、パケットロス等の受信エラーの他、マルチキャスト受信後にMUC104においてキャッシュアウトして再取得が必要になった場合や、UMC105からはマルチキャスト配信されていたものの、MUC104の受信準備ができておらず、データが取得できていない場合などがある。
このようにマルチキャスト通信とユニキャスト通信を組み合わせることで、同報性、即時性の高いコンテンツはマルチキャスト通信を用い、エラー回復もしくは同報性が低いか、即時性の低いコンテンツはユニキャスト通信を用いることで、ネットワーク設備、帯域を効率的に利用することが可能となる。
図4に、図2における各ステップを実行するためのUMC105の機能を示す。UMC105は、ユニキャストリクエスト部201と、ユニキャスト受信キャッシュ部202と、コンテンツ送信部203を持つ。
コンテンツ送信部203は、MUC104からのリクエストに基づきキャッシュからコンテンツを読み出し、MUC104へコンテンツを送信する。この際、MUC104は、コンテンツグループ毎に、ユニキャスト通信またはマルチキャスト通信の両方の通信もしくは片方の通信方式で選択的に送信する。このように、ユニキャスト通信またはマルチキャスト通信の両方の通信もしくは片方もしくは選択的に受信するために、UMC105とMUC104は連携を行う。
例えば、MUC104に備わるコンテンツ受信キャッシュ部205は、目的のマルチキャスト信号が受信可能か、UMC105に通知する機構を持つ。これによりUMC105のコンテンツ送信部203は、ユニキャスト通信をマルチキャスト通信に切り替えることができる。
例えば、MUC104に備わるコンテンツ受信キャッシュ部205は、マルチキャストパスが確立される前に、マルチキャスト信号とユニキャスト信号の両方を受信する。マルチキャストパスが確立する前の場合、コンテンツ受信キャッシュ部205は、ユニキャスト信号によりキャッシュを生成する。コンテンツ受信キャッシュ部205がマルチキャスト信号を受信できたことで、コンテンツ受信キャッシュ部205は、マルチキャスト信号が受信可能であると判定することができる。
例えば、マルチキャスト信号のみをUMC105が送信し、MUC104が受信し、MUC104が受信を一部失敗した場合には、コンテンツ受信キャッシュ部205はマルチキャスト信号が受信できないと判定する。この場合、コンテンツリクエスト部204は、ユニキャスト信号を指定して、コンテンツ送信部203へ要求する。
ユニキャストリクエスト部201は、コンテンツリクエスト部204からのリクエストに対応するキャッシュが無い場合にコンテンツサーバ106にユニキャスト通信でコンテンツを要求する。例えば、この要求はHTTPが用いられ、コンテンツサーバ106にとっては、本システムとの特別な接続インタフェースを持つ必要がなく、通常の端末107の直接HTTPリクエストを受けることと同様の処理で済ませることができる。
ユニキャスト受信キャッシュ部202は、ユニキャストリクエスト部201からのリクエストに基づき、コンテンツサーバ106からユニキャスト通信により送信されたコンテンツを受信し、キャッシュする。
なお、本開示では、MUC104は複数あることを想定している。MUC104にキャッシュがない場合は、req.1起因で、req.2、req.3とコンテンツサーバ106へコンテンツをリクエストし、順次res.1、res.2およびM-res.2、res.3でキャッシュを作成しながら、端末107へ応答する。
同一コンテンツに対する他端末からのリクエストは時間差があるため、同一コンテンツへの最初リクエストから遅れてのリクエストは、同一MUC104であれば、そのコンテンツ受信キャッシュ部205から直接応答が返される。別MUC104であっても、マルチキャスト等によりコンテンツが配信済みであれば、同様にそのコンテンツ受信キャッシュ部205から応答が返される。別MUC104であり、UMC105からコンテンツが未配信であれば、UMC105へreq.2は送られるものの、そのリクエストのコンテンツに対してはUMC105で待ち合わせを実施し、MUC104がマルチキャストまたはユニキャストでの配信を待つ。別MUC104であり、UMC105からのマルチキャスト等によりコンテンツが配信済みの場合は、別MUC104が受信ミスまたは、IPマルチキャストのマルチキャストグループへの未参加が考えられるため、UMC105からはユニキャスト通信によりres.2が返される。
(第2の実施形態)
本実施形態では、コンテンツグループの識別方法について説明する。ユニキャスト受信キャッシュ部202は、複数のコンテンツでグルーピングしたコンテンツグループを生成する。この際、ユニキャスト受信キャッシュ部202は、複数のコンテンツでグルーピングしたコンテンツグループに識別するためのコンテンツグループ識別子を生成する。
例えば、ユニキャスト受信キャッシュ部202は、コンテンツの配置場所及びファイル名などからなるコンテンツ識別子から一部を抽出したコンテンツグループ識別子を生成する。このように、同一のコンテンツグループが同一の識別子を有していてもよい。
例えば、HTTPでは、コンテンツを指定する際に、URL(Uniform Resource Locator)が用いられる。URLは、host名、パス、ファイル名、クエリストリング等からなる。今、下記のURLの複数のファイルが1の番組を成すとする。
http//www.example.org/contents1/streams0001.ts
http//www.example.org/contents1/streams0002.ts
・・・
http//www.example.org/contents1/streamsxxxx.ts
この場合、例えば、”www.example.org/contents1”が同一であれば、同一の番組、すわなち、同一コンテンツグループとする。この場合、「http//www2.example.org/contents1/streams0001.ts」や「http//www.example.org/contents2/streams0001.ts」は、別のコンテンツグループとして識別される。
また、これらのコンテンツ識別子から一部を抽出したコンテンツグループ識別子はかならずしも既知である必要はなく、予測可能であればよい。例えば、“http//Y-HOST/Z-PATH/streams-X-NUMBER.ts”において、“Y-HOST”が何等かのホスト名に合致、Z-PATHが何らかのパスに合致、“X-NUMBER”が何らかの数に合致する場合のうち、“Y-HOST/Z-PATH”部分が同一のものを同一のコンテンツグループであるとする。
これらは正規表現のマッチングで実装可能である。また、既定のコンテンツグループ識別子または、予想可能なコンテンツグループ識別子でない場合は、その他のコンテンツグループとしてマルチキャスト通信を実施してもよい。
また、複数のコンテンツでグルーピングしたコンテンツグループに識別するためは、映像として複数のコンテンツをリスト化・グループ化し、そのコンテンツの所在を示すマニフェストファイルを元にコンテンツグループを識別する機能を備えることとしてもよい。
ウェブ動画配信システムでは、複数のファイルを1つのコンテンツグループにと見なすとともに、ダウンロードすべきファイルを示すために、マニフェストファイルが利用される。そこで、マニフェストファイルを解析し、マニフェストに記載のファイル群を、同一のコンテンツグループとすることもできる。
コンテンツ識別子から、同一コンテンツグループを識別する場合は、そのコンテンツ識別子の部分集合であるコンテンツグループ識別子が既知または予想可能である必要があるが、マニフェストからコンテンツを識別する場合は、コンテンツ識別子が既知である必要がない。
また、マニフェストファイルのコンテンツ識別子が既知であってもよいが、ウェブ動画配信システムでは、マニフェストファイルの拡張子は、m3u8や、mpd等、方式に応じて既知であることから、拡張子からマニフェストファイルであることを判定し、解析を実施してもよい。
(第3の実施形態)
本実施形態では、コンテンツグループのマルチキャスト通信の詳細について説明する。コンテンツグループは、マルチキャストグループアドレス、ソースアドレス、ポート番号、パケット優先度を制御または区別し、マルチキャスト通信を行う機能を備えてもよい。
IPマルチキャストにおける、IGMP(Internet Group Management Protocol)や、MLD(Multicast Listener Discovery)では、同一のマルチキャストグループを、宛先であるマルチキャストグループアドレスを用いて識別するか、併せて、送信元であるソースアドレスを用いて識別する。
そこで、本開示では、これらマルチキャスト通信としてIPマルチキャストを用いる場合には、同一コンテンツグループに、同一のマルチキャストグループアドレスまたは、併せてソースアドレスを割り当てて通信を実施してもよい。また、IPマルチキャストとしての同一のマルチキャストグループとすることに加えて、ポート番号や、パケットの優先度を設定、区別することもできる。
パケットの優先度は、イーサネット(登録商標)のCos値や、IPパケットのヘッダのIP Precedenceや、DSCPなどを利用する場合が考えられる。ポート番号を区別することで、IPマルチキャストの単一マルチキャストグループを小分けにして利用することや、ファイヤウォール等でフィルタリングが実施しやすくすることが可能となる。必要によりパケットの優先度を区別することで、コンテンツグループにサービスとしての優劣をつけることが可能となる。
またコンテンツグループの判定や、これに対応する前記マルチキャストグループアドレス、ソースアドレス、ポート番号、パケット優先度などのマルチキャスト通信の識別子を利用した送受信はMUC104や、UMC105で行われ、これらの情報の一部または全部をUMC105等で集中管理することができる。この場合は、MUC104では、ステップS1やS4の実行時に、UMC105では、ステップS2やステップS3で管理問い合わせを実施することができる。
(第4の実施形態)
本実施形態のシステムは、マルチキャスト対象コンテンツと非対象コンテンツの弁別機能を備える。
MUC104のコンテンツリクエスト部204は、コンテンツがマルチキャスト対象のコンテンツか判断し、マルチキャスト対象ではない場合には、UMC105またはコンテンツサーバ106にユニキャスト通信でコンテンツを要求する機能を備える。UMC105のコンテンツ送信部203は、MUC104からユニキャストリクエストを受けた場合、ユニキャストでコンテンツを送信する機能を備える。マルチキャスト通信を併用して利用するコンテンツのほか、MUC104または、UMC105を一般的なウェブプロキシシステムとして利用するコンテンツを併存させても構わない。
マルチキャスト通信を利用する場合は、コンテンツグループを識別し、それぞれを異なるマルチキャスト通信とする処理を実施しなければならないが、ウェブプロキシでは、拡張子などを使って、事前の簡易的な処理の分岐が一般的に可能である。例えば、動画以外の拡張子については、マルチキャスト通信を利用する処理や判定を実施するステップに移行せずに、そのままウェブプロキシシステムとして処理することができる。これにより、本開示のシステムは、マルチキャスト化処理を簡易化できると共に、動画などのマルチキャスト化対象以外のHTTPリクエストを受け付け可能となり、汎用のプロキシとしての利用が可能となる。
(第5の実施形態)
本実施形態のシステムは、マルチキャストの動的join/leave機能を備える。MUC104のコンテンツリクエスト部204は、コンテンツがマルチキャスト対象のコンテンツである場合、コンテンツグループに対応するマルチキャストグループに参加しているか否かを判定する。未参加の場合、コンテンツリクエスト部204は、参加信号を送出する。一方、参加済みのマルチキャストグループに対応するコンテンツグループのコンテンツの要求が一定時間ない場合には、コンテンツリクエスト部204は、マルチキャストグループからの離脱信号を送出する。
IPマルチキャストでは、そのマルチキャストグループのルータへの登録が必要である。本実施形態は、静的な参加登録のほか、対象のマルチキャスト通信が発生する都度に、動的にマルチキャストルートの参加登録、参加離脱を実施することができる。この動的な参加登録、参加離脱の仕組みにはたとえばIGMPやMLDが利用できる。
この動的な参加登録、参加離脱によって、複数あるMUC104のうち、視聴がないコンテンツグループのマルチキャスト通信を実施しないことができ、不要なトラヒックを抑制することが可能となる。またマルチキャストグループの登録数に制限がある場合に、その登録数の抑制が可能となる。なお、ルータへ静的なマルチキャストグループの設定を行うことを前提とすることもできる。
(第6の実施形態)
本実施形態のシステムは、マルチキャストjoin前にユニキャスト通信を行う。マルチキャスト通信ネットワーク102では、MUC104が参加信号を送出し、MUC104までのマルチキャストルートが確立された後に、MUC104へのマルチキャスト通信を用いたコンテンツの配信が可能になる。本開示は、このようなMUC104のマルチキャストの動的参加離脱機能への対応が可能である。
具体的には、コンテンツリクエスト部204は、参加信号を送出後、マルチキャストルートが確立される前に、UMC105にユニキャスト通信でコンテンツを要求する。この場合、コンテンツ受信キャッシュ部205は、UMC105からユニキャスト通信によりコンテンツ受信し、キャッシュする。一方、UMC105に備わるコンテンツ送信部203は、MUC104からユニキャストリクエストを受けた場合に、ユニキャストでコンテンツを送信する。
これはルータにマルチキャストグループを動的設定する際に、その伝搬、設定の時間の間についても、コンテンツのUMC105からMUC104へのコンテンツの送受を可能とするものである。この際は、MUC104はreq.2で、明示的にマルチキャスト不要の指示をすることができる。このメッセージを受けたUMC105は、ユニキャスト通信のres.2を必ず応答する。
また、UMC105は、マルチキャスト通信のM-res.2を合わせて応答することもできる。この場合、UMC104は、M-res.2の到着を待たずres.2を受信することで、キャッシュを生成する。
ルータへのマルチキャストグループへ動的な参加登録の完了は、簡易的には、タイマによる設定が可能である。設定タイマ経過後は、ルータへマルチキャストグループの登録が行われたものとして、マルチキャスト通信を前提に動作を実施することができる。
また、前記のようにUMC105はres.2とM-res.2を同時に送信することもできる。MUC104では、M-res.2を受け取ったことを以て、ルータへのマルチキャストグループの動的な参加登録が完了したと判定することもできる。
マルチキャストグループへの登録完了等のマルチキャスト通信が可能とMUC104が判定したのちは、res.2では、マルチキャスト通信のM-res.2のみを要求することができる。
(第7の実施形態)
本実施形態のシステムは、マルチキャスト通信のFEC機能を備える。UMC105のコンテンツ送信部203は、マルチキャスト送信機能において、前方誤り訂正符号(FEC)情報を付加してマルチキャスト送信する機能を備えていてもよい。この場合、MUC104のコンテンツ受信キャッシュ部205が、UMC105からのFEC情報が付加されたマルチキャスト信号を、FEC情報に基づいて、訂正する機能を備える。
IPマルチキャストによる通信は、一対多通信であり、自動再送要求(ARQ)等の個別の誤り訂正ができない。そこで、FEC情報として一定の冗長データを付加することで、伝送路中のパケットロスや、受信機によるパケット受信ミスなどによるデータの欠陥を補うことができる。これによりパケットロスが起こりやすい不安定な伝送路や、受信機が安定的なパケット受信できない場合でも、安定的な通信を可能とすることができる。
マルチキャスト通信に用いるFECは、以下の構成を採用してもよい。例えば、FECが付加される前のコンテンツ情報と、付加されたFEC情報を異なるパケットとしてマルチキャスト送信する。この場合、FEC情報が付加される前のコンテンツ情報のパケットと前記付加されたFEC情報のパケットとは、マルチキャストグループアドレス、ソースアドレス、ポート番号、パケット優先度の一部または全部が異なる。
FECはその強度に応じて、FEC情報を付加する前のデータに対して、1又は2割前後の冗長データが増える。これを元のデータと単一のコンテンツグループとすることもでるが、別とすることも可能である。これにより、処理を分離しやく、また、ネットワーク中でのモニタや、フィルタリングが容易に実施しやすくなる。
また、特に優先度の高いパケットは、トータルのネットワーク帯域を設計する必要がある。そのため。元のデータのみを優先度を高くし、FEC情報の優先度を相対的に下げたり、反対に、FEC情報のみの優先度を高くし、元のデータの優先度を相対的に下げたりすることができる。これにより、有限な高優先パケットを効率的に利用することが可能となる。
(第8の実施形態)
本実施形態のシステムは、マルチキャスト通信のARQ機能を備える。MUC104のコンテンツリクエスト部204はARQユニキャストリクエスト機能を備え、コンテンツ受信キャッシュ部205はARQユニキャスト受信キャッシュ機能を備える。UMC105のコンテンツ送信部203は、ユニキャスト送信機能を備える。
ARQユニキャストリクエスト機能は、UMC105から受信したマルチキャスト信号に損失があった場合に、ユニキャスト通信を用いてコンテンツを要求する旨のユニキャストリクエストを送信する機能である。ARQユニキャスト受信キャッシュ機能は、UMC105からユニキャスト通信を用いてコンテンツ受信し、コンテンツ受信キャッシュ部205にキャッシュする機能である。UMC105のコンテンツ送信部203は、MUC104からユニキャストリクエストを受けた場合に、ユニキャストでコンテンツを送信する機能を備えてもよい。
MUC104において、M-res.2の受信待ち状態で、その受信信号が完成しない場合は、パケットロスやMUC104の受信ミス等が原因として考えられ、結果としてMUC104ではその信号の損失となる。この際には、MUC104は、ユニキャスト通信に限定してreq.2を再発行することで、このロスを補完することができる。これはファイル単位での自動再送要求(ARQ)である。ファイル単位でのARQは、パケット単位やブロック単位でのARQに比べて、HTTPリクエストの仕組みが利用できることから、実装が容易である。
また、本開示が他のマルチキャストシステムと異なり、HTTPベースによるファイルベースのマルチキャスト化を実施していることから可能となる方式である。また、動画ファイルは、その再生時間を数秒程度に区切ったファイルに分割されていることがある。このような場合は、ファイル単位での再送処理でも十分な効率が保たれる。
本実施形態は、マルチキャスト通信のARQにおいて、分割要求を行ってもよい。例えば、MUC104のコンテンツリクエスト部204は、コンテンツの一部を要求する機能を備える。この場合、コンテンツ受信キャッシュ部205は、UMC105からユニキャスト通信およびマルチキャスト通信に分かれたコンテンツ受信し、元のコンテンツを復元した上でキャッシュするマルチキャスト・ユニキャスト混合受信キャッシュ機能を備える。UMC105に備わるコンテンツ送信部203は、MUC104からコンテンツの一部のユニキャストリクエストを受けた場合に、ユニキャストでコンテンツを送信する。
コンテンツリクエスト部204は、ファイル単位に限定せず、パケット単位、コンテンツを複数のブロックに分割したブロック単位でのARQも可能である。この際は、HTTPリクエストreq.2を用いることは、オーバーヘッドの観点から適切でない。そこでコンテンツリクエスト部204は、req.2ではない、ARQメッセージを利用することが好ましい。
コンテンツリクエスト部204は、NACK(未到着応答確認)メッセージを利用したARQを行ってもよい。この方式は、ファイル単位のARQよりも、応答の高速性と帯域効率性に優れる。
本実施形態のシステムは、パケット単位、ブロック単位でのARQを実施してもよい。この場合には、ARQを行うパケットや、コンテンツに含まれるブロックに対して順序番号を振り、順序番号により欠落の是非を判定および再要求を実施する。また、ファイル単位のARQとパケット単位、ブロック単位のARQを併用することもできる。
(第9の実施形態)
本実施形態のシステムは、2以上の複数のUMC105を備え、複数のUMC105の全部または一部が常用系として動作し、常用系のUMC105が故障や過負荷の場合に、全部または一部の常用系のUMC105の機能を、他の常用系または非常用系のUMC105で代替する。
図5に複数のUMC105がある場合の構成を示す。UMC105に対応する複数のUMCは、401、402、403である。401と402が常用系であり、403が非常用系であるとすると、UMC401が故障や過負荷になった場合に、UMC401の機能の全部または一部をUMC403に引き継ぐことができる。
UMC401とUMC402は負荷分散系であり、例えば、コンテンツグループ毎にMUC104からUMC401及び402への接続先を変更することができる。
また、常用系は故障時の縮退動作も可能である。例えば、UMC401が故障時には、UMC401の機能と、UMC402がUMC401の故障前から担当していた機能とを、UMC402が併せて担当することができる。例えば、UMC402が過負荷時には、UMC401が担当する一部のコンテンツグループの処理機能と、UMC402がUMC401の過負荷になる前から担当していた機能とを、UMC402が併せて担当することができる。
このような機能は、システム稼働率の向上を可能にするだけでなく、システムの置き換え、拡張においてもサービスを断にすることなく移行することを可能とする。
(第10の実施形態)
本実施形態のシステムは、2以上の複数のMUC104を備え、端末107からのリクエストを受けたMUC104が過負荷の場合、異なるMUC104へリダイレクトする信号を端末107へ送信し、リダイレクトを受信した端末107が、リダイレクトに基づき再びMUC104へリクエストを送信する。
図6に、複数のMUC104がある場合の構成の一例を示す。図7に、MUCおよびUMCにキャッシュがない場合のシーケンスを示す。MUC104に対応する複数のMUCは、501と502である。通常時にMUC501が特定の端末107と接続されており、MUC501が過負荷である場合、MUC501は、端末107のHTTPリクエストreq.1に対して、MUC502へのHTTPリダイレクトredirect.1を送信することができる。
リダイレクトには、恒久的リダイレクトと、一時的リダイレクトがある。MUC104は、当面MUC501が応答できない場合又はMUC501からの設備移行が必要な場合、恒久的リダイレクトを実施し、それ以外は一時的リダイレクトを実施する。本実施形態は、一時的リダイレクト又は恒久的リダイレクトを、端末107に対してファイルのキャッシュをしない指定をして利用することができる。なお、恒久的リダイレクトを前期ファイルのキャッシュをしない指定をして利用した場合には、一時的リダイレクトの用途に利用できる。
MUC501からリダイレクト後に、MUC502のコンテンツ受信キャッシュ部にキャッシュがない場合は、MUC502のコンテンツリクエスト部は、UMC105にリクエストを送信する。本実施形態では、UMC105からコンテンツサーバ106にリクエストが転送された後、レスポンスがUMC105を経て、MUC502のコンテンツ受信キャッシュ部に格納される。これにより、res.3で端末107が応答を受信する。これにより、複数の端末107からの負荷が集中しやすいMUCのピーク分散が可能となり、MUCへの設備投資を抑制することができる。
(第11の実施形態)
図1のシステムにおいて、端末107からのリクエストを受けたMUC104が過負荷の場合がある。本実施形態のシステムは、MUC104に代えてUMC105に対してリダイレクトを行うことで、MUC104の負荷を分散する。
本実施形態のMUC104のユニキャスト送信部206は、過負荷の場合、UMC105へリダイレクトする旨のメッセージを、リクエストの送信元の端末107へ送信する。端末107が、リダイレクトメッセージに基づき、UMC105へリクエストを送信する。UMC105のユニキャスト送信部206は、端末107からリクエストを受けた場合に、ユニキャストでコンテンツを端末107に送信する。
図8に、MUCおよびUMCにキャッシュがない場合のシーケンスを示す。通常時にMUC104が特定の端末107に接続されており、MUC104が過負荷である場合、MUC104は、端末107のHTTPリクエストreq.1に対して、UMC105へのHTTPリダイレクトredirect.1を送信する。
UMC105は、端末107からのリクエストを受けると、ユニキャスト受信キャッシュ部202にコンテンツが格納されているか否かを確認する。ユニキャスト受信キャッシュ部202にコンテンツが格納されていない場合、コンテンツサーバ106からユニキャストでコンテンツを取得し、ユニキャスト受信キャッシュ部202に格納する。そして、コンテンツ送信部203は、コンテンツをユニキャストで端末107に送信する。
リダイレクトには、恒久的リダイレクトと、一時的リダイレクトがある。MUC104は、当面MUC104が応答できない場合又はMUC104からの設備移行が必要な場合、恒久的リダイレクトを実施し、それ以外は一時的リダイレクトを実施する。本実施形態は、一時的リダイレクト又は恒久的リダイレクトを、端末107に対してファイルのキャッシュをしない指定をして利用することができる。なお、恒久的リダイレクトを前期ファイルのキャッシュをしない指定をして利用した場合には、一時的リダイレクトの用途に利用できる。
リダイレクト後にUMC105のユニキャスト受信キャッシュ部202にキャッシュがない場合は、UMC105のユニキャストリクエスト部201がコンテンツサーバ106にリクエストを送信し、UMC105のユニキャスト受信キャッシュ部202がコンテンツサーバ106からのレスポンスres.1を受信してコンテンツを格納する。このように、コンテンツサーバ106からのコンテンツは、UMC105を経てres.3で、ユニキャスト通信を用いて端末107に応答される。これにより、複数の端末107からの負荷が集中しやすいMUC104のピーク分散が可能となり、MUC104への設備投資を抑制することができる。
なお、この端末107については、マルチキャストへの変換をせず、通常のウェブプロキシの動とほぼ同等である。また、MUC104同士の負荷分散と、MUC104からUMC105への負荷分散は併用可能である。端末107からのネットワーク距離の近さ、経由するネットワークの輻輳状況により使い分けることが可能である。
(第12の実施形態)
UMC105に備わるユニキャスト受信キャッシュ部202は、コンテンツを分割して記憶してもよい。この場合、UMC105に備わるコンテンツ送信部203は、分割したキャッシュ単位で、MUC104にマルチキャストまたはユニキャストで送信する機能を備える。MUC104では、分割されたキャッシュ単位でコンテンツ受信キャッシュ部205に格納し、ユニキャスト送信部206は、分割されたキャッシュからコンテンツを復元し、端末107へユニキャスト送信する。
HTTPではファイルが転送の基本単位であり、コンテンツサーバ106からUMC105がHTTPレスポンスres.1でファイルを完全に取得してから、マルチキャスト通信を開始すると、遅延が増える。UMC105がres.1でコンテンツの取得を開始した段階で、1のファイルを分割してキャッシュし、M-res.2のマルチキャスト通信を開始することで、遅延の隠ぺいが可能となる。
さらに、MUC104では、分割されたキャッシュをコンテンツ受信キャッシュ部205が1以上受信完了した時点で、ユニキャスト送信部206が端末107へのユニキャスト送信を開始してもよい。
HTTPではファイルが転送の基本単位である。そのため、UMC105からMUC104がファイルを完全に取得してから、MUC104から端末107へのHTTPレスポンスres.3の通信を開始すると、遅延が増える。そのため、MUC104に備わるコンテンツ受信キャッシュ部205がコンテンツの取得を開始した段階で、1のファイルを分割してコンテンツ受信キャッシュ部205にキャッシュし、ユニキャスト送信部206がres.3を開始することが好ましい。これにより、本実施形態は、マルチキャスト通信ネットワーク102における遅延の隠ぺいが可能となる。
MUC104に備わるコンテンツ受信キャッシュ部205及びUMC105に備わるユニキャスト受信キャッシュ部202は、コンテンツをキャッシュするデータ保存領域を複数持っていてもよい。この場合、コンテンツ受信キャッシュ部205及びユニキャスト受信キャッシュ部202は、コンテンツの利用頻度、アクセス時刻、コンテンツグループのキャッシュ使用量、コンテンツまたはコンテンツグループ対する設定に応じて、前記データ保存領域間でキャッシュファイルを移動する機能を備えていてもよい。
多数の端末107と接続されるMUC104や、複数のMUC104や端末107へコンテンツを提供するUMC105では、キャッシュの読み書き速度が応答速度や、負荷に影響を及ぼす。高速なキャッシュの読み書きができるほど、多くの端末107等を収容しやすい。このようなキャッシュはメモリ上に置くことが望ましい。一方で、メモリ上のキャッシュはサイズに制限があるため、キャッシュによる配信効率の向上のためには、より多くのキャッシュを持つことも望ましい。
そこで、1次キャッシュをメモリ上に、2次キャッシュをディスク上に配置することで、速度と容量の2つの要件を満たすことができる。ここで1次キャッシュから2次キャッシュの移動は、コンテンツの利用頻度、アクセス時刻、コンテンツグループのキャッシュ使用量、コンテンツまたはコンテンツグループ対する設定に応じて実施することができる。
コンテンツ利用頻度に応じたキャッシュの移動は、例えば、コンテンツ毎に利用回数のテーブルを保持し、その利用回数に応じて2次キャッシュへのキャッシュアウトを制御する。アクセス時刻に応じたキャッシュの移動は、例えば、最終アクセス時刻をもとにタイマにより2次キャッシュへキャッシュアウトする。コンテンツグループのキャッシュ使用量に応じたキャッシュの移動は、例えば、特定の単一もしくは複数コンテンツグループで最大キャッシュ量を制限する。同一の制御ポリシが適用されるコンテンツグループ内でのキャッシュアウトは、前記のコンテンツの利用頻度、アクセス時間等により制御される。また、これらの設定は、個別のコンテンツもしくはコンテンツグループに対して、設定することもできる。
(第13の実施形態)
本実施形態では、UMC105に備わるユニキャスト受信キャッシュ部202は、MUC104からのリクエストに拠らず、コンテンツサーバ107からコンテンツを受信する。例えば、コンテンツがコンテンツサーバ106からUMC105にプッシュ配信される。UMC105に備わるユニキャスト受信キャッシュ部202は、受信したコンテンツからキャッシュを生成し、格納する。そして、UMC105に備わるコンテンツ送信部203が、コンテンツグループ毎に、マルチキャスト通信またはユニキャスト通信を用いて、コンテンツを送信する。
前述までのシステムは、端末107からのHTTPリクエストreq.1を起因とし、リクエストとレスポンスをリレーすることから、配信遅延が蓄積する場合がある。ウェブ動画配信システムでは、アダプティブビットレート(ABR)として、複数レベルの画質のファイルを用意して、端末107のプレイヤで、能動的にダウンロードする画質のファイル選択することが一般的である。配信遅延が蓄積した場合、そのネットワークの帯域は十分であって、遅延から低画質の映像に切り替わる可能性がある。そこで、コンテンツサーバ106からプッシュでUMC105へコンテンツファイルを送信し、且つ、UMC105からMUC104へ同様にプッシュでマルチキャストまたはユニキャストで送信することで、端末107からのリクエストが行われる前までにMUC104にキャッシュを作成することもできる。これにより、最短の応答時間でコンテンツを端末107に送信することができ、高画質で安定的な配信を実現できる。
(第14の実施形態)
端末107からのリクエストに拠らず、MUC104に備わるコンテンツリクエスト部204またはUMC105に備わるユニキャストリクエスト部201が、コンテンツグループのコンテンツのリクエストする機能を備えていてもよい。
前述のコンテンツサーバ106からのプッシュは、通常のウェブサーバの機能の拡張が必要である。そこで、MUC104またはUMC105は、既知のコンテンツを、端末107からのリクエストによらず、主体的にリクエストしてもよい。
例えば、図9に示すようにステップS1で主体的にHTTPリクエストreq.2を生成する場合がある。なお、図9はシーケンス開始時にキャッシュがない場合である。
HTTPリクエストreq.2を受けたUMC105は、ステップS2において、MUC104からのHTTPリクエストreq.2に対応するキャッシュがないと判断し、コンテンツサーバ106へHTTPリクエストreq.3を転送する。
コンテンツサーバ106は、req.3に対応するコンテンツファイルを、HTTPレスポンスres.1でUMC105へ応答する。res.1を受信したUMC105は、ステップS3を実行する。ステップS3において、UMC105は、res.1に含まれるコンテンツファイルを用いてキャッシュファイルを生成し、キャッシュファイルをMUC104へ応答する。ここで、UMC105からMUC104への応答は、HTTPリクエストreq.2に対応する応答であり、HTTPレスポンスres.2、又はマルチキャストによるレスポンスM-res.2、又はres.2及びM-res2の両方、のいずれも採用することができる。
res.2又はM-res2を受信したMUC104は、res.2又はM-res.2に含まれるキャッシュファイルを格納する。
次に、端末107からのHTTPリクエストreq.1はMUC104に送信される。req.1を受信したMUC104は、ステップS4を実行する。ステップS4において、MUC104は、端末107からのHTTPリクエストreq.1に対応するキャッシュがあると判断し、格納しているキャッシュファイルをHTTPレスポンスres.3を応答する。res.3は、HTTPリクエストreq.1に対応する端末107への応答である。なお、MUC104とUMC105のキャッシュはディスク等の記憶容量の制限、もしくは、配信ポリシから、適切なタイミングで消去される。
なお、res.1は、必ずしもres.2又はM-res2によるキャッシュ作成後に発生する必要はない。req.2より後にres.1が発生することで、キャッシュ生成までの時間を短縮できるからである。
例えば、図10に示すようにステップS2で主体的にHTTPリクエストreq.3を生成する場合がある。なお、図10はシーケンス開始時にキャッシュがない場合である。
HTTPリクエストreq.3を受けたコンテンツサーバ106は、req.3に対応するコンテンツファイルを、HTTPレスポンスres.1でUMC105へ応答し、UMC105は、res.1に含まれるコンテンツファイルを用いてキャッシュファイルを生成する。
次に、端末107からのHTTPリクエストreq.1はMUC104に送信される。
req.1を受信したMUC104は、ステップS1を実行する。ステップS1において、MUC104は、端末107からのHTTPリクエストreq.1に対応するキャッシュがないと判断し、上位のプロキシサーバであるUMC105へHTTPリクエストreq.2を転送する。
res.2を受信したUMC105は、ステップS3を実行する。ステップS3において、UMC105は、MUC104からのHTTPリクエストreq.2に対応するキャッシュがあると判断し、キャッシュファイルをUMC104へ応答する。ここで、UMC105からMUC104への応答は、HTTPリクエストreq.2に対応する応答であり、HTTPレスポンスres.2、又はマルチキャストによるレスポンスM-res.2、又はres.2及びM-res2の両方、のいずれも採用することができる。
res.2又はM-res2を受信したMUC104は、ステップS4を実行する。ステップS4では、MUC104は、res.2又はM-res.2に含まれるキャッシュファイルを格納する。MUC104は、格納しているキャッシュファイルをHTTPレスポンスres.3を応答する。res.3は、HTTPリクエストreq.1に対応する端末107への応答である。なお、MUC104とUMC105のキャッシュはディスク等の記憶容量の制限、もしくは、配信ポリシから、適切なタイミングで消去される。
なお、res.1は、必ずしもres.3によるキャッシュ作成後に発生する必要はない。req.3より後にres.1が発生することで、キャッシュ生成までの時間を短縮できるからである。
これにより、コンテンツサーバ106に特別な拡張をすることなく、最短の応答時間でコンテンツを端末107に送信することができ、高画質で安定的な配信を実現できる。
端末107からのリクエストに拠らずにMUC104又はUMC105がコンテンツのリクエストを行う場合、MUC104に備わるコンテンツリクエスト部204又はUMC105に備わるユニキャストリクエスト部201は、コンテンツサーバ106でのコンテンツ生成時刻を識別、設定、予測して、前記コンテンツ生成時刻に同期することを特徴としてもよい。
静的なコンテンツの場合はコンテンツに対する既知のURLがあり、端末107からのリクエストによらない、MUC104またはUMC105によるリクエストを生成できる。ライブ等の未来のコンテンツに対しては、静的な設定によるリクエスト生成はできない場合がある。そのため、コンテンツリクエスト部204又はユニキャストリクエスト部201は、マニフェストファイルを解析することで、マニフェストファイル記載の最新のコンテンツもしくは、マニフェストファイル記載のルールから短期的未来に生成されると予測されるコンテンツに対してのリクエストを生成してもよい。これにより、ライブ、またはリニア映像配信においても、コンテンツサーバに特別な拡張をすることなく、最短の応答時間でコンテンツを端末107に送信することができ、高画質で安定的な配信を実現できる。
コンテンツに時間順序性があるコンテンツグループの場合、端末107からのリクエストがあったコンテンツより前又は後のコンテンツをリクエストする機能を、コンテンツリクエスト部204又はユニキャストリクエスト部201が備えていてもよい。
特定のコンテンツの再生が開始されると、端末107の操作者は、端末107上の再生バーを操作して、再生開始時の時刻順ではなく、前もしくは後ろに時刻不連続に再生する場合がある。このような場合に高画質で安定的な配信を実現するために、再生時刻近傍の時刻のファイルまたは、統計的に再生頻度の高いファイルをMUC104またはUMC105がリクエストしてもよい。
(第15の実施形態)
マルチキャスト通信に利用可能なマルチキャストグループアドレス、ソースアドレス、ポート番号等のマルチキャスト通信識別子の未使用の組み合わせを貯めておき、端末107からのリクエストに基づく新たなコンテンツグループのコンテンツの通信が発生するたびに、貯めておいたマルチキャスト通信識別子の未使用の組み合わせを割り当て、また、一定時間利用が無い時には前記マルチキャスト通信識別子の利用を停止し、再びマルチキャスト通信識別子の未使用の組み合わせに貯めてもよい。
アドレス管理及び配布元は、UMC105又はその他の管理サーバで実施することが考えられる。また、アドレスの配布先は、UMC105におけるコンテンツ送信部203およびMUC104におけるコンテンツ受信キャッシュ部205である。
図11及び図12に、UMC105がマルチキャストグループアドレス、ソースアドレス、ポート番号等の空きマルチキャスト通信識別子のテーブルを持った場合のテーブル配置を示す。801が空きマルチキャスト通信識別子テーブル、802がコンテンツ送信部203によるマルチキャスト通信時にそのマルチキャスト通信識別子を保存しているテーブル、803がコンテンツ受信キャッシュ部205によるマルチキャスト受信時にそのマルチキャスト識別子を保存しているテーブルである。
コンテンツ送信部203はマルチキャスト通信の送信を始める際、テーブル802を参照し、該当コンテンツグループに対応するマルチキャスト識別子がない場合には、テーブル801からマルチキャスト識別子を取得し、テーブル802に登録する。同様に、コンテンツ受信キャッシュ部205はマルチキャスト通信の受信を始める際、テーブル803を参照し、該当コンテンツグループに対応するマルチキャスト識別子がない場合には、テーブル801からマルチキャスト識別子を取得し、テーブル803に登録する。テーブル801は、マルチキャスト識別子を払い出したのち、払い出したコンテンツグループによる利用フラグをテーブルに書き込む。
図13にテーブル801が保持するテーブルイメージを示す。ここでは、マルチキャスト識別子IDM2がコンテンツグループIDG1に対して、マルチキャスト識別子IDM3がコンテンツグループIDG2に対して払い出され、共にMUC104が利用していることを、その他のマルチキャスト識別子は未利用であることを示している。
なお、テーブル803はテーブル802の部分集合であるため、テーブル801からマルチキャスト識別子を取得するのではなく、テーブル802から取得してもかまわない。この場合、テーブル801における利用MUCは、テーブル802で管理しても構わない。
なお、図13に示すテーブルは模式的に表しており、メモリを節約し、テーブル検索をしやすいようハッシュを利用するか、リストによるデータ構造等他の形態での実装でも構わない。
図14にテーブル802とテーブル803の一例を示す。ここでは、コンテンツグループIDG1に対してマルチキャスト識別子IDM2が、コンテンツグループIDG2に対してマルチキャスト識別子IDM3が利用されていることを示し、テーブルの他の部分は空き示している。
なお、図14に示すテーブルは模式的に表しており、メモリを節約し、テーブル検索をしやすいようハッシュを利用するか、リストによるデータ構造等他の形態での実装でも構わない。ここで、テーブル802はテーブル801の部分集合であり、同一機能部に実装した場合は、単一のテーブルで管理しても構わない。
また、MUC104において、コンテンツの利用がない場合には、タイマ等を利用してその利用停止を判定し、テーブル803から該当のコンテンツグループとマルチキャスト識別子を削除するとともに、テーブル801又はテーブル802における利用MUCから自身のMUCを削除してもよい。利用MUCが空になると、マルチキャスト受信を行うMUCが無いと判定されるため、テーブル801の利用コンテンツグループ列の該当コンテンツグループと、テーブル802の該当コンテンツグループの行を削除する。この操作により、マルチキャスト識別子が再利用できる。
(第16の実施形態)
複数のMUC104に同一のIPアドレスを割り当て、端末107からは複数のMUC104を区別せずに最寄りのMUC104にリクエストを送信することができる構成を採用してもよい。
端末107からのMUC104のリクエスト受付インタフェースをIPエニーキャストによるルーティングを利用し、端末107の最寄りのMUCへアクセスするよう誘導してもよい。これにより、DNS等他の方式による管理に比べに、その管理を容易とすることが可能となる。さらに、MUC104のリクエスト受付インタフェースに対する攻撃も分散化されることになり、攻撃に対して堅牢化することが可能となる。
(第17の実施形態)
マニフェストファイルに記載のコンテンツ所在位置を、コンテンツサーバ106からMUC104に変更し、端末107からのMUC104へリクエストを行うようにしてもよい。
ウェブの動画配信システムでは、動画の最初の読み込みにあたりマニフェストと呼ばれる動画データの実態ファイル名や、ファイルの場所を示すファイルを読み込む。このマニフェストファイル中の動画データのファイル場所のMUC104へ変更することで、端末107からのHTTPリクエストreq.1をMUC104宛に変更することができる。
マニフェストファイル自体もHTTPリクエスト、レスポンスにより端末107に送信されるため、コンテンツサーバ106による端末IPアドレスや、HTTPリクエストのヘッダ情報、HTTPリクエストのクエリストリング情報等のHTTPリクエストから取得できる端末107に依存するか端末107から付加できる情報により、端末107の視聴環境にあったマニフェストファイルを端末107に個別に送信し分けることも容易になる。
これにより、本実施形態は、DNSによる振り分けと比べ、より柔軟な配信制御が可能となるとともに、ウェブシステムに閉じて、制御が完結できシステムの構築が容易になる。また、このマニフェストファイル書き換えによるリクエスト先の変更は、他のリクエスト先の変更方法と組み合わせてもよい。
マニフェストファイルは、書き換え前のマニフェストファイルが格納されたコンテンツサーバ106で書き換えを実施してもよいが、別の書き換え用のサーバを利用しても構わない。これにより、コンテンツサーバ106が直接MUC104の位置を知ることなく、端末107からMUC104へのリクエストを実現できる。これは、コンテンツサーバ106と、MUC104の管理主体が異なる場合に有効であり、MUC104の管理主体がマニフェストファイル書き換えサーバを管理することにより実現できる。
(第18の実施形態)
端末107からのコンテンツサーバ106へのリクエストを、コンテンツサーバ106がMUC104へリダイレクトすることにより、端末107からのMUC104へのリクエストを行うことを特徴としてもよい。
該当コンテンツサーバ106において、端末IPアドレスや、HTTPリクエストのヘッダ情報、HTTPリクエストのクエリストリング情報等のHTTPリクエストから取得できる端末107に依存するか端末107から付加できる情報により判定を実施し、端末107がMUC104へアクセスするためにHTTPリダイレクトすることができる。
リダイレクトメッセージには恒久的リダイレクトと一時的リダイレクトがあるが、本実施形態は、一時的リダイレクト又は恒久的リダイレクトを、端末107に対してファイルのキャッシュをしない指定をして利用することができる。なお、恒久的リダイレクトを前期ファイルのキャッシュをしない指定をして利用した場合には、一時的リダイレクトの用途に利用できる。これによりコンテンツそのものを書き換えることなしに、また、端末107の一次リクエストをコンテンツサーバ106に集約しながら、端末107からのMUC104へのアクセスを実現できる。また、このリダイレクトよるリクエスト先の変更は、他のリクエスト先の変更方法と組み合わせてもよい。
(第19の実施形態)
本実施形態は、図1に示すシステムが、コンテンツ又はコンテンツグループのリクエストを転送する転送部(不図示)を更に備える。本実施形態は、端末107からのコンテンツサーバ106へのリクエストを、コンテンツサーバ106が転送部へリダイレクトし、転送部が端末107から転送部へのリクエストをMUC104へリダイレクトする。これにより、本実施形態は、端末107からのMUC104へのリクエストを行う。これは、コンテンツサーバ106は、転送部となる別サーバに一次リダイレクトを実施し、更に転送部がMUC104へリダイレクトするものである。
該当コンテンツサーバ106において、端末IPアドレスや、HTTPリクエストのヘッダ情報、HTTPリクエストのクエリストリング情報等のHTTPリクエストから取得できる端末107に依存するか端末107から付加できる情報により判定を実施し、端末107が転送部へアクセスするためにHTTPリダイレクトし、更に、転送部において、端末IPアドレスや、HTTPリクエストのヘッダ情報、HTTPリクエストのクエリストリング情報等のHTTPリクエストから取得できる端末107に依存するか端末107から付加できる情報により判定を実施し、端末107がMUC104へアクセスするためにHTTPリダイレクトすることができる。
これにより、コンテンツサーバ106が直接MUC104の位置を知ることなく、端末107からMUC104へのリクエストを実現できる。これは、コンテンツサーバ106と、MUC104の管理主体が異なる場合に有効であり、MUC104の管理主体が転送部用のサーバを管理することにより実現できる。
このリダイレクトメッセージには恒久的リダイレクトと一時的リダイレクトがあるが、本実施形態は、一時的リダイレクト又は恒久的リダイレクトを、端末107に対してファイルのキャッシュをしない指定をして利用することができる。なお、恒久的リダイレクトを前期ファイルのキャッシュをしない指定をして利用した場合には、一時的リダイレクトの用途に利用できる。
本開示の装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
本開示は情報通信産業に適用することができる。
101、103:ネットワーク
102:マルチキャスト通信ネットワーク
104、501、502:MUC
105、401、402、403:UMC
106:コンテンツサーバ
107:端末
201:ユニキャストリクエスト部
202:ユニキャスト受信キャッシュ部
203:コンテンツ送信部
204:コンテンツリクエスト部
205:コンテンツ受信キャッシュ部
206:ユニキャスト送信部
801、802、803:テーブル

Claims (9)

  1. ユニキャスト通信のウェブ配信システムにおける端末とコンテンツサーバの途中区間がマルチキャスト通信ネットワークを用いて接続されているコンテンツ配信システムに備わるマルチキャストユニキャスト変換装置であって、
    前記マルチキャスト通信ネットワークからユニキャスト通信またはマルチキャスト通信の両方の通信もしくは片方の通信方式で選択的にコンテンツを受信し、キャッシュするコンテンツ受信キャッシュ部と、
    前記端末からのリクエストに基づき前記コンテンツ受信キャッシュ部から前記リクエストに対応するコンテンツファイルを読み出し、ユニキャスト通信で当該コンテンツファイルを前記端末に送信するユニキャスト送信部と、
    前記端末からのリクエストに対応するコンテンツがマルチキャスト対象のコンテンツであるか否かを判定し、マルチキャスト対象でない場合には、ユニキャスト通信を用いたコンテンツの要求を行うコンテンツリクエスト部と、
    を備え、
    前記コンテンツの所在を示すマニフェストファイル記載のコンテンツ又はルールに基づいて未来に生成されるコンテンツに対してのリクエストを予測し、
    予測したコンテンツを前記マルチキャスト通信ネットワークから受信すると、コンテンツ受信キャッシュ部に格納する、
    マルチキャストユニキャスト変換装置。
  2. ユニキャスト通信のウェブ配信システムにおける端末とコンテンツサーバの途中区間がマルチキャスト通信ネットワークを用いて接続されているコンテンツ配信システムに備わるマルチキャストユニキャスト変換装置であって、
    前記マルチキャスト通信ネットワークからユニキャスト通信またはマルチキャスト通信の両方の通信もしくは片方の通信方式で選択的にコンテンツを受信し、キャッシュするコンテンツ受信キャッシュ部と、
    前記端末からのリクエストに基づき前記コンテンツ受信キャッシュ部から前記リクエストに対応するコンテンツファイルを読み出し、ユニキャスト通信で当該コンテンツファイルを前記端末に送信するユニキャスト送信部と、
    自装置が前記端末からのリクエストに対応するコンテンツに対応するマルチキャストグループに参加しているか否かを判定し、参加済みの場合、前記端末からのリクエストに対応するコンテンツの要求を、参加済みのマルチキャストグループに対して行い、未参加の場合、ユニキャスト通信を用いたコンテンツの要求を行うコンテンツリクエスト部と、
    を備え、
    前記コンテンツの所在を示すマニフェストファイル記載のコンテンツ又はルールに基づいて未来に生成されるコンテンツに対してのリクエストを予測し、
    予測したコンテンツを前記マルチキャスト通信ネットワークから受信すると、コンテンツ受信キャッシュ部に格納する、
    マルチキャストユニキャスト変換装置。
  3. ユニキャスト通信のウェブ配信システムにおける端末とコンテンツサーバの途中区間がマルチキャスト通信ネットワークを用いて接続されているコンテンツ配信システムであって、
    ユニキャスト通信からマルチキャスト通信へ変換し、前記マルチキャスト通信ネットワークへ送出するユニキャストマルチキャスト変換装置と、
    前記マルチキャスト通信ネットワークで伝送されたマルチキャスト通信をユニキャスト通信へ変換する、請求項1または2に記載のマルチキャストユニキャスト変換装置と、
    を備え、
    前記コンテンツサーバ及び前記ユニキャストマルチキャスト変換装置は、プッシュでコンテンツファイルを送信する、
    コンテンツ配信システム。
  4. 前記コンテンツサーバ又は前記コンテンツサーバ以外のマニフェストファイル書き換えサーバが、マニフェストファイルに記載のコンテンツ所在位置を、前記コンテンツサーバから前記マルチキャストユニキャスト変換装置に変更する、
    請求項に記載のコンテンツ配信システム。
  5. 前記端末の視聴環境にあったマニフェストファイルを前記端末ごとに個別に送信する、
    請求項に記載のコンテンツ配信システム。
  6. ユニキャスト通信のウェブ配信システムにおける端末とコンテンツサーバの途中区間がマルチキャスト通信ネットワークを用いて接続されているコンテンツ配信システムに備わるマルチキャストユニキャスト変換装置が実行する方法であって、
    コンテンツの所在を示すマニフェストファイル記載のコンテンツ又はルールに基づいて未来に生成されるコンテンツに対してのリクエストを予測する手順と、
    予測したコンテンツを前記マルチキャスト通信ネットワークから受信し、コンテンツ受信キャッシュ部にキャッシュする手順と、
    前記端末からのリクエストに基づき前記コンテンツ受信キャッシュ部から前記リクエストに対応するコンテンツファイルを読み出し、ユニキャスト通信で当該コンテンツファイルを前記端末に送信する手順と、
    前記端末からのリクエストに対応するコンテンツがマルチキャスト対象のコンテンツであるか否かを判定し、マルチキャスト対象でない場合には、ユニキャスト通信を用いたコンテンツの要求を行う手順と、
    を有する方法。
  7. ユニキャスト通信のウェブ配信システムにおける端末とコンテンツサーバの途中区間がマルチキャスト通信ネットワークを用いて接続されているコンテンツ配信システムに備わるマルチキャストユニキャスト変換装置が実行する方法であって、
    コンテンツの所在を示すマニフェストファイル記載のコンテンツ又はルールに基づいて未来に生成されるコンテンツに対してのリクエストを予測する手順と、
    予測したコンテンツを前記マルチキャスト通信ネットワークから受信し、コンテンツ受信キャッシュ部にキャッシュする手順と、
    前記端末からのリクエストに基づき前記コンテンツ受信キャッシュ部から前記リクエストに対応するコンテンツファイルを読み出し、ユニキャスト通信で当該コンテンツファイルを前記端末に送信する手順と、
    自装置が前記端末からのリクエストに対応するコンテンツに対応するマルチキャストグループに参加しているか否かを判定し、参加済みの場合、前記端末からのリクエストに対応するコンテンツの要求を、参加済みのマルチキャストグループに対して行い、未参加の場合、ユニキャスト通信を用いたコンテンツの要求を行う手順と、
    を有する方法。
  8. ユニキャスト通信のウェブ配信システムにおける端末とコンテンツサーバの途中区間がマルチキャスト通信ネットワークを用いて接続されているコンテンツ配信システムに備わるマルチキャストユニキャスト変換装置に、
    コンテンツの所在を示すマニフェストファイル記載のコンテンツ又はルールに基づいて未来に生成されるコンテンツに対してのリクエストを予測する手順と、
    予測したコンテンツを前記マルチキャスト通信ネットワークから受信し、コンテンツ受信キャッシュ部にキャッシュする手順と、
    前記端末からのリクエストに基づき前記コンテンツ受信キャッシュ部から前記リクエストに対応するコンテンツファイルを読み出し、ユニキャスト通信で当該コンテンツファイルを前記端末に送信する手順と、
    前記端末からのリクエストに対応するコンテンツがマルチキャスト対象のコンテンツであるか否かを判定し、マルチキャスト対象でない場合には、ユニキャスト通信を用いたコンテンツの要求を行う手順と、
    を実行させるためのプログラム。
  9. ユニキャスト通信のウェブ配信システムにおける端末とコンテンツサーバの途中区間がマルチキャスト通信ネットワークを用いて接続されているコンテンツ配信システムに備わるマルチキャストユニキャスト変換装置に、
    コンテンツの所在を示すマニフェストファイル記載のコンテンツ又はルールに基づいて未来に生成されるコンテンツに対してのリクエストを予測する手順と、
    予測したコンテンツを前記マルチキャスト通信ネットワークから受信し、コンテンツ受信キャッシュ部にキャッシュする手順と、
    前記端末からのリクエストに基づき前記コンテンツ受信キャッシュ部から前記リクエストに対応するコンテンツファイルを読み出し、ユニキャスト通信で当該コンテンツファイルを前記端末に送信する手順と、
    自装置が前記端末からのリクエストに対応するコンテンツに対応するマルチキャストグループに参加しているか否かを判定し、参加済みの場合、前記端末からのリクエストに対応するコンテンツの要求を、参加済みのマルチキャストグループに対して行い、未参加の場合、ユニキャスト通信を用いたコンテンツの要求を行う手順と、
    を実行させるためのプログラム。
JP2023007138A 2019-07-10 2023-01-20 コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム Active JP7473025B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023007138A JP7473025B2 (ja) 2019-07-10 2023-01-20 コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021530431A JP7298688B2 (ja) 2019-07-10 2019-07-10 コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム
PCT/JP2019/027388 WO2021005756A1 (ja) 2019-07-10 2019-07-10 コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム
JP2023007138A JP7473025B2 (ja) 2019-07-10 2023-01-20 コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021530431A Division JP7298688B2 (ja) 2019-07-10 2019-07-10 コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム

Publications (2)

Publication Number Publication Date
JP2023033600A JP2023033600A (ja) 2023-03-10
JP7473025B2 true JP7473025B2 (ja) 2024-04-23

Family

ID=74114468

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021530431A Active JP7298688B2 (ja) 2019-07-10 2019-07-10 コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム
JP2023007138A Active JP7473025B2 (ja) 2019-07-10 2023-01-20 コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021530431A Active JP7298688B2 (ja) 2019-07-10 2019-07-10 コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム

Country Status (3)

Country Link
US (1) US11882340B2 (ja)
JP (2) JP7298688B2 (ja)
WO (1) WO2021005756A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230275949A1 (en) * 2020-06-30 2023-08-31 Lg Electronics Inc. Method and apparatus for processing multicast signal

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012011449A1 (ja) 2010-07-20 2012-01-26 シャープ株式会社 プロキシサーバ、中継方法、通信システム、中継制御プログラム、および記録媒体
US20150106477A1 (en) 2000-06-29 2015-04-16 Khanh Mai Virtual multicasting
JP2015170323A (ja) 2014-03-10 2015-09-28 株式会社東芝 配信装置、及び配信方法
JP2016504678A (ja) 2012-12-07 2016-02-12 アルカテル−ルーセント Ipネットワークにおけるコンテンツキャッシングおよび配信のための方法、システムおよび装置
JP2017028700A (ja) 2015-07-23 2017-02-02 株式会社Nttドコモ 動画配信方法、アクセスデバイス、およびネットワークデバイス
JP2017183876A (ja) 2016-03-29 2017-10-05 西日本電信電話株式会社 マルチキャスト用コントロールサーバ及びマルチキャスト制御システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4507255B2 (ja) 2005-04-21 2010-07-21 Kddi株式会社 コンテンツ伝送装置
WO2008002294A1 (en) 2006-06-27 2008-01-03 Thomson Licensing Method and apparatus for reliably delivering multicast data
JP2008092239A (ja) * 2006-10-02 2008-04-17 Mitsubishi Electric Corp マルチキャスト通信を用いた映像配信システム
US8291463B2 (en) 2007-06-04 2012-10-16 At&T Intellectual Property I, L.P. System and method of delivering video content
JP4665007B2 (ja) 2008-03-28 2011-04-06 パナソニック株式会社 監視映像送信装置および方法
EP2815557B1 (en) * 2012-02-16 2018-03-21 Telefonaktiebolaget LM Ericsson (publ) P2p streaming support
WO2013127423A1 (en) * 2012-02-27 2013-09-06 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and method for streaming content
EP3017579B1 (en) * 2013-08-23 2018-05-09 Huawei Technologies Co., Ltd. System and device for enabling any network functionality client or server in a html5 application
US9414095B1 (en) * 2015-04-10 2016-08-09 Ses S.A. Linear video distribution methods, systems, and devices
US9848317B2 (en) * 2015-11-25 2017-12-19 Viasat, Inc. Multicast handover for mobile communications
JP6770498B2 (ja) 2017-10-18 2020-10-14 日本電信電話株式会社 トラヒック変換方法、配信システム、ユニキャスト・マルチキャスト変換装置、マルチキャスト・ユニキャスト変換装置、ユニキャスト・マルチキャスト変換プログラム、及びマルチキャスト・ユニキャスト変換プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150106477A1 (en) 2000-06-29 2015-04-16 Khanh Mai Virtual multicasting
WO2012011449A1 (ja) 2010-07-20 2012-01-26 シャープ株式会社 プロキシサーバ、中継方法、通信システム、中継制御プログラム、および記録媒体
JP2016504678A (ja) 2012-12-07 2016-02-12 アルカテル−ルーセント Ipネットワークにおけるコンテンツキャッシングおよび配信のための方法、システムおよび装置
JP2015170323A (ja) 2014-03-10 2015-09-28 株式会社東芝 配信装置、及び配信方法
JP2017028700A (ja) 2015-07-23 2017-02-02 株式会社Nttドコモ 動画配信方法、アクセスデバイス、およびネットワークデバイス
JP2017183876A (ja) 2016-03-29 2017-10-05 西日本電信電話株式会社 マルチキャスト用コントロールサーバ及びマルチキャスト制御システム

Also Published As

Publication number Publication date
WO2021005756A1 (ja) 2021-01-14
JPWO2021005756A1 (ja) 2021-01-14
US20220295155A1 (en) 2022-09-15
US11882340B2 (en) 2024-01-23
JP2023033600A (ja) 2023-03-10
JP7298688B2 (ja) 2023-06-27

Similar Documents

Publication Publication Date Title
US9602591B2 (en) Managing TCP anycast requests
KR100754293B1 (ko) 디지털 콘텐츠 배포 시스템, 디지털 콘텐츠 배포 방법, 이 방법을 실행하기 위한 프로그램을 기억한 컴퓨터 판독 가능한 기록 매체, 및 이를 위한 서버 및 클라이언트
JP3644009B2 (ja) マルチキャストセッション管理装置
US9143333B2 (en) System and method for multicast transmission
US7054948B2 (en) Collaborative host masquerading system
US20050015511A1 (en) Accelerated large data distribution in overlay networks
US20100040056A1 (en) Data generating device
JP3731885B2 (ja) ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、そのためのサーバ、クライアント、サーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムおよびクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラム
JP2004140539A (ja) 情報ルーティング方式および情報中継装置
JP2010521875A5 (ja)
US20170251246A1 (en) Computer network providing redundant data traffic control features and related methods
JP2005159430A (ja) パケット配信方法、情報中継装置及びネットワークシステム
US20050188107A1 (en) Redundant pipelined file transfer
CN102763359B (zh) 多播网络中流控制传输协议的通信量优化器及方法
JP7473025B2 (ja) コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム
JP2006237828A (ja) データ配信システム、中継装置、データ配信方法
JP7298690B2 (ja) コンテンツ配信システム、マルチキャストユニキャスト/マルチキャストマルチキャスト変換装置、マルチキャストユニキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム
Sumida et al. A highly efficient transport protocol for large capacity data files non-ordered block transfer on Xcast
Nugraha et al. Multicast communication for video broadcasting service over IPv4 network using IP option
JP2004297180A (ja) マルチキャスト配送システム及び方法
Nugraha et al. Multicast communication for scalable video application using IP option
Rodriguez Multicast Distribution of Web documents on the Internet
WO2006085377A1 (ja) データ配信方法及び端末

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231017

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231227

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240325