JP2004253922A - ストリーミングコンテンツ配信方法及びシステム - Google Patents

ストリーミングコンテンツ配信方法及びシステム Download PDF

Info

Publication number
JP2004253922A
JP2004253922A JP2003040274A JP2003040274A JP2004253922A JP 2004253922 A JP2004253922 A JP 2004253922A JP 2003040274 A JP2003040274 A JP 2003040274A JP 2003040274 A JP2003040274 A JP 2003040274A JP 2004253922 A JP2004253922 A JP 2004253922A
Authority
JP
Japan
Prior art keywords
content
streaming content
client computer
distribution
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003040274A
Other languages
English (en)
Other versions
JP3895282B2 (ja
Inventor
Hideki Fujioka
秀樹 藤岡
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.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2003040274A priority Critical patent/JP3895282B2/ja
Publication of JP2004253922A publication Critical patent/JP2004253922A/ja
Application granted granted Critical
Publication of JP3895282B2 publication Critical patent/JP3895282B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】ストリーミングコンテンツをコンテンツ配信サーバから入手すると同時に表示を行おうとした場合、1台の配信サーバから入手しようとすると、表示または演奏前にバッファリングを行うため、表示または演奏開始に時間がかかってしまう。
【解決手段】複数のキャッシュサーバを用意し、クライアントからはマルチキャスト通信を用いて全てのキャッシュサーバにコンテンツ入手要求を出す。キャッシュサーバは、クライアントと自身の間の通信速度を測定し、コンテンツ配信サーバに送信する。コンテンツ配信サーバが、受信した通信速度に応じて、キャッシュサーバごとにストリーミングコンテンツを配信するサイズを決定し、各キャッシュサーバが指定された部分コンテンツをクライアントに送信する。
【選択図】 図6

Description

【0001】
【発明の属する技術分野】
本発明は、インターネットを利用してコンテンツ配信サーバから映像や音楽などのストリーミングコンテンツを入手する際に、複数のキャッシュサーバからストリーミングコンテンツの一部分を同時に受信することによって、ストリーミングコンテンツの視聴に際して、バッファリングの時間を短縮するために適した技術に関するものである。
【0002】
【従来の技術】
ブロードバンドが各家庭から利用できるようになり、映像や音声などのストリーミングコンテンツをインターネット経由で入手して視聴することが容易になってきている。しかし、インターネットを経由してストリーミングコンテンツを視聴しようとした場合、他のトラフィックの影響で通信速度が変化し、快適にストリーミングコンテンツを受信・視聴することが出来ない場合がある。この問題に対処するために、ストリーミングコンテンツを複数のサーバに複製しておき、コンテンツ配信サーバがストリーミングコンテンツ入手依頼を受信した時に、クライアントに対して最も快適にストリーミングコンテンツを送信できる複製サーバを選択してクライアントに返却し、クライアントは返却された複製サーバからコンテンツを受信する技術が、次の特許文献1で開示されている。
【0003】
【特許文献1】
特開2002−24170号公報
また、最適な送信網・送信経路を選択する技術が、次の特許文献2で開示されている。
【0004】
【特許文献2】
特開2002−77257号公報
また、配信データを予め分割して複数のサーバに分散して格納しておき、クライアントの要求があった時に、複数のサーバから同時に送信することで、受信時間を短縮する技術が、次の特許文献3で開示されている。
【0005】
【特許文献3】
特開2002−32280号公報
【0006】
【発明が解決しようとする課題】
しかし、複製サーバや送信経路を選択することによっても、1台のコンテンツ配信サーバからストリーミングコンテンツを順に入手するために、ストリーミングコンテンツの入手を開始してから、画面表示や演奏を開始するには、ストリーミングコンテンツ全体を入手するのに必要な時間と表示や演奏に必要な時間に差異があるため(すなわち、ストリーミングコンテンツ全体を入手するのに必要な時間が表示や演奏に必要な時間より長いため)、その分のバッファリングが行われてしまい、ストリーミングコンテンツの視聴を開始するまでに時間がかかるという問題がある。
また、特開2002−32280号公報に開示されているように、ストリーミングコンテンツを予め分割して複数のサーバに分散しておく方法にあっては、ストリーミングコンテンツ全体をダウンロードする場合には効果があるが、ストリーミングコンテンツの場合、部分コンテンツの配置によって、クライアントとサーバ間の通信速度の影響によってストリーミングコンテンツを入手するための時間がかかってしまい、ストリーミングコンテンツ視聴の途中にバッファリングが生じてしまい、ストリーミングコンテンツを快適に視聴できない可能性がある。
【0007】
本発明の目的は、ストリーミングコンテンツのバッファリングの時間を短縮し、ストリーミングコンテンツを快適に視聴、表示することに貢献することができるストリーミングコンテンツ配信方法及びシステムを提供することにある。
【0008】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るストリーミングコンテンツの配信方法は、クライアントコンピュータからストリーミングコンテンツの複製を格納している複数のキャッシュサーバに対し所望のストリーミングコンテンツの配信要求を送信し、所望のストリーミングコンテンツをクライアントコンピュータに配信させるストリーミングコンテンツ配信方法であって、
クライアントコンピュータから複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する第1のステップと、配信要求を受信した複数のキャッシュサーバにおいてクライアントコンピュータからの配信要求の到達所要時間を計算し、要求元のクライアントコンピュータに返信する第2のステップと、クライアントコンピュータにおいて各キャッシュサーバから受信した到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信し、分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを各キャッシュサーバから要求元のクライアントコンピュータに配信させる第3のステップとを備えることを特徴とする。
【0009】
また、クライアントコンピュータから複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する第1のステップと、配信要求を受信した複数のキャッシュサーバにおいてクライアントコンピュータからの配信要求の到達所要時間を計算し、要求されたストリーミングコンテンツのオリジナルを格納しているコンテンツ配信サーバに送信する第2のステップと、コンテンツ配信サーバにおいて各キャッシュサーバから受信した到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信し、分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを各キャッシュサーバから要求元のクライアントコンピュータに配信させる第3のステップと
を備えることを特徴とする。
【0010】
また、クライアントコンピュータからコンテンツ配信サーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する第1のステップと、配信要求を受信したコンテンツ配信サーバにおいて配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバを特定し、特定した複数のキャッシュサーバを要求元のクライアントコンピュータに通知する第2のステップと、配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバの通知を受けたクライアントコンピュータにおいて当該複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する第3のステップと、配信要求を受信した複数のキャッシュサーバにおいてクライアントコンピュータからの配信要求の到達所要時間を計算し、要求元のクライアントコンピュータに返信する第4のステップと、クライアントコンピュータにおいて各キャッシュサーバから受信した到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信し、分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを各キャッシュサーバから要求元のクライアントコンピュータに配信させる第5のステップとを備えることを特徴とする。
【0011】
また、クライアントコンピュータからコンテンツ配信サーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する第1のステップと、配信要求を受信したコンテンツ配信サーバにおいて配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバを特定し、特定した複数のキャッシュサーバを要求元のクライアントコンピュータに通知する第2のステップと、配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバの通知を受けたクライアントコンピュータにおいて当該複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する第3のステップと、配信要求を受信した複数のキャッシュサーバにおいてクライアントコンピュータからの配信要求の到達所要時間を計算し、要求されたストリーミングコンテンツのオリジナルを格納しているコンテンツ配信サーバに送信する第4のステップと、コンテンツ配信サーバにおいて各キャッシュサーバから受信した到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信し、分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを各キャッシュサーバから要求元のクライアントコンピュータに配信させる第5のステップとを備えることを特徴とする。
【0012】
本発明に係るストリーミングコンテンツの配信システムは、クライアントコンピュータからストリーミングコンテンツの複製を格納している複数のキャッシュサーバに対し所望のストリーミングコンテンツの配信要求を送信し、所望のストリーミングコンテンツをクライアントコンピュータに配信させるストリーミングコンテンツ配信システムであって、
クライアントコンピュータが、
複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する手段と、各キャッシュサーバから受信した配信要求の到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信する手段と、分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを各キャッシュサーバから受信する手段とを備え、
各キャッシュサーバが、
クライアントコンピュータからのストリーミングコンテンツの配信要求の到達所要時間を計算し、要求元のクライアントコンピュータに返信する手段と、クライアントコンピュータから受信した分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを要求元のクライアントコンピュータに配信する手段と
を備えることを特徴とする。
【0013】
また、クライアントコンピュータが、
複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する手段と、各キャッシュサーバから配信対象のストリーミングコンテンツを分割した部分ストリーミングコンテンツを受信する手段とを備え、
各キャッシュサーバが、
クライアントコンピュータからの配信要求の到達所要時間を計算し、要求されたストリーミングコンテンツのオリジナルを格納しているコンテンツ配信サーバに送信する手段と、コンテンツ配信サーバから指定された分割位置で分割した部分ストリーミングコンテンツを要求元のクライアントコンピュータに配信する手段とを備え、
コンテンツ配信サーバが、
各キャッシュサーバから受信した到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信する手段を備えることを特徴とする。
【0014】
また、クライアントコンピュータが、
コンテンツ配信サーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する手段と、コンテンツ配信サーバから配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバの通知を受取る手段と、通知を受けた複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する手段と、各キャッシュサーバから受信した配信要求の到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信する手段と、各キャッシュサーバから配信対象のストリーミングコンテンツを分割した部分ストリーミングコンテンツを受信する手段とを備え、
コンテンツ配信サーバが、
クライアントコンピュータからの配信要求に対し配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバを特定し、特定した複数のキャッシュサーバを要求元のクライアントコンピュータに通知する手段を備え、
複数のキャッシュサーバが、
クライアントコンピュータからの配信要求の到達所要時間を計算し、要求元のクライアントコンピュータに返信する手段と、クライアントコンピュータから指定された分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを要求元のクライアントコンピュータに配信する手段とを備えることを特徴とする。
【0015】
また、クライアントコンピュータが、
コンテンツ配信サーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する手段と、コンテンツ配信サーバから配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバの通知を受取る手段と、通知を受けた複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する手段と、各キャッシュサーバから配信対象のストリーミングコンテンツを分割した部分ストリーミングコンテンツを受信する手段とを備え、
コンテンツ配信サーバが、
配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバを特定し、特定した複数のキャッシュサーバを要求元のクライアントコンピュータに通知する手段と、各キャッシュサーバから受信した配信要求の到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信する手段とを備え、
複数のキャッシュサーバが、
クライアントコンピュータからの配信要求の到達所要時間を計算し、コンテンツ配信サーバに通知する手段と、コンテンツ配信サーバから指定された分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを要求元のクライアントコンピュータに配信する手段とを備えることを特徴とする。
【0016】
【発明の実施の形態】
以下、本発明に係るストリーミングコンテンツ配信システムの実施の一形態を図面を用いて説明する。
図1は、本発明の実施の形態を示すシステム構成図である。
ここで示すシステムは、インターネットデータセンタ1に設置され、ストリーミングデータを格納し、コンテンツ配信プログラム(後述)が稼動しているコンテンツ配信サーバコンピュータ2と、複数のISP(Information Service Provider)6、7内に設置され、ストリーミングデータの複製を格納しているキャッシュサーバコンピュータ3,5が、ネットワークを通じてインターネット8に繋がっている。また、利用者がストリーミングコンテンツを視聴するクライアントコンピュータ4が、ユーザが契約しているISP9とのネットワーク接続10を使用して、同様にインターネットに接続している。
【0017】
図2は、コンテンツ配信サーバコンピュータ2、キャッシュサーバコンピュータ3、5とクライアントコンピュータ4のブロック構成図である。
コンテンツ配信サーバコンピュータ2は、CPU21A、メモリ21Bからなる端末装置21、コンテンツ配信プログラム22Aと、ストリーミングデータ22Bが格納されている外部記憶装置22と、通信ポート23から構成されている。
キャッシュサーバコンピュータ3、5は、CPU31A、メモリ31Bからなる端末装置31と、複製コンテンツ配信プログラム32Aと、ストリーミングデータの複製であるコンテンツキャッシュ32Bが格納されている外部記憶装置32と、通信ポート33から構成されている。
クライアントコンピュータ4は、CPU41A、メモリ41Bからなる端末装置41、コンテンツ視聴プログラム42Aとコンテンツ受信プログラム42B、が格納されている外部記憶装置42と、通信ポート43から構成されている。
これらのコンテンツ配信サーバコンピュータ1、キャッシュサーバコンピュータ3,5及びクライアントコンピュータ4は、データを通信するためのISP接続のネットワーク10とインターネット8で接続されている。
【0018】
図3は、コンテンツ配信サーバコンピュータ2上で稼働するコンテンツ配信プログラム22Aの構成を示す機能ブロック図である。
コンテンツ配信プログラム22Aは、コンテンツ視聴プログラム42Aと複製コンテンツ配信プログラム32Aからの要求を受け取るコンテンツ配信コントロールプログラム2201、ストリーミングコンテンツをキャッシュサーバコンピュータ3,5に配布するコンテンツ送信プログラム2202、ストリーミングコンテンツの情報を管理するコンテンツ管理プログラム2203、キャッシュサーバコンピュータ3,5にどのストリーミングコンテンツの複製を行っているかを管理するキャッシュ情報管理プログラム2204、ストリーミングコンテンツの利用料金計算を行うコンテンツ利用料金管理プログラム2205からなる。
【0019】
図4は、キャッシュサーバコンピュータ3、5上で稼働する複製コンテンツ配信プログラム32Aの構成を示す機能ブロック図である。
複製コンテンツ配信プログラム32Aは、コンテンツ受信プログラム42Bから要求を受け取る複製コンテンツ配信コントロールプログラム3201、ストリーミングコンテンツを送信する複製コンテンツ送信プログラム3202、コンテンツ送信プログラム2202から複製コンテンツを受信するコンテンツ受信プログラム3203、外部記憶装置32中に格納された複製コンテンツ(コンテンツキャッシュ)32Bを管理するコンテンツ管理プログラム3204からなる。
【0020】
図5は、クライアントコンピュータ4上で稼働するコンテンツ受信プログラム42Bの構成を示す機能ブロック図である。
コンテンツ受信プログラム42Bは、複数のキャッシュサーバコンピュータ3,5からストリーミングコンテンツの部分コンテンツを受信して外部記憶装置42内のバッファ(図示せず)に格納するコンテンツ格納プログラム4201と、コンテンツ視聴プログラム42Aに対してバッファからストリーミングコンテンツを提供するコンテンツ提供プログラム4202からなる。
【0021】
図6は、クライアントコンピュータ4、コンテンツ配信サーバコンピュータ2、キャッシュサーバコンピュータ3間でやりとりされる命令、データの流れの例を示した図である。
まず、クライアントコンピュータ4からコンテンツ配信サーバコンピュータ2に対し、ストリーミングコンテンツ名を指定して受信要求命令を送信する(ステップ601)。コンテンツ配信サーバコンピュータ2は、ストリーミングコンテンツ名に対応するマルチキャストグループアドレスとストリーミングコンテンツID、ストリーミングコンテンツのサイズをクライアントコンピュータ4に返信する(ステップ602)。
【0022】
クライアントコンピュータ4は、ストリーミングコンテンツ名とストリーミングコンテンツIDを指定して、マルチキャストグループアドレスに対し配信要求命令を送信する(このとき、マルチキャストグループに参加している複数のキャッシュサーバコンピュータ3,5に配信要求命令が送信される)(ステップ603)。マルチキャストグループに参加しており、配信要求命令を受信したキャッシュサーバコンピュータ3は、ストリーミングコンテンツIDに対応しているストリーミングコンテンツ(コンテンツキャッシュ)が外部記憶装置32中にあるかを確認し、外部記憶装置32中に存在した場合は、クライアントコンピュータ4からの配信要求命令を受信するのに要した遅延時間の値とストリーミングコンテンツIDとともに送信可能命令としてコンテンツ配信サーバコンピュータ2に対して送信する(ステップ604)。ここで、遅延時間の値は、配信要求命令に含まれているタイムスタンプ(配信命令を発した時刻)とキャッシュサーバが受信した時刻によって求めることができる。また、配信要求命令を受信した際に、ICMP(Internet Control Message Protocol)メッセージをクライアントコンピュータに送信し、返信を受信するまでに要した時間を遅延時間としても構わない。
【0023】
複数のキャッシュサーバコンピュータ3,5から送信可能命令を受信したコンテンツ配信サーバコンピュータ2は、受信した遅延時間の値に応じて、送信するストリーミングコンテンツのサイズを分割する演算を行い、分割した部分コンテンツの送信開始位置と送信終了位置を各キャッシュサーバコンピュータ3,5に返却する(ステップ605)。
キャッシュサーバコンピュータ3、5は、それぞれ、クライアントコンピュータ4に対しストリーミングコンテンツの分割位置、すなわち送信開始位置と送信終了位置の情報を返却する(ステップ606)。
【0024】
クライアントコンピュータ4では、キャッシュサーバコンピュータ3、5から受信した送信開始位置と送信終了位置からストリーミングデータを全て受信できることを確認すると、各キャッシュサーバコンピュータ3,5に対してデータ送信要求を送り(ステップ607)データ受信を開始する(ステップ608)。
クライアントコンピュータ4では、各キャッシュサーバコンピュータ3,5から受信したストリーミングデータをバッファに格納しつつ、ストリーミングデータの先頭から再生を開始する(ステップ609)。
クライアントコンピュータ4では、ストリーミングデータの受信を終わったキャッシュサーバコンピュータ3,5との接続を終了する(ステップ610)。キャッシュサーバコンピュータ3,5は送信終了をコンテンツ配信サーバコンピュータ2に送信して(ステップ611)処理を終了する。
【0025】
図7は、コンテンツ配信プログラム22Aを構成するコンテンツ送信コントロールプログラム2201が利用する、送信可能キャッシュサーバアドレスバッファ700の構成例である。
送信可能キャッシュサーバアドレスバッファ700は、ストリーミングコンテンツID701と送信可能キャッシュサーバリスト702の組からなっており、送信可能キャッシュサーバリスト702は、キャッシュサーバコンピュータ3,5のアドレス(IPアドレス)703、遅延時間704、ストリーミングコンテンツ配信開始位置705と配信終了位置706と次の送信可能キャッシュサーバリストへのポインタ707からなる。次の送信可能キャッシュサーバリスト(707)がない場合は、ポインタの値は「0」である。
この送信可能キャッシュサーバアドレスバッファ700は、配列やハッシュテーブルなどのテーブル中に複数格納され、このテーブルは、外部記憶装置中22に、データベースのエントリとして、あるいはファイルとして格納されていても構わない。
【0026】
図8は、コンテンツ配信プログラム22Aを構成するコンテンツ管理プログラム2203とキャッシュ情報管理プログラム2204が利用するコンテンツ管理テーブル800の構成例である。
コンテンツ管理テーブル800は、ストリーミングコンテンツ名称801と、ストリーミングコンテンツが外部記憶装置22に格納されている位置802、ストリーミングデータのサイズ803、キャッシュサーバコンピュータのアドレス804、マルチキャストグループアドレス805の組からなる。このテーブル800は、外部記憶装置22中にデータベースのエントリとして、あるいはファイルとして格納されていても構わない。
【0027】
図9は、コンテンツ配信プログラム22Aを構成するコンテンツ利用料金管理プログラム2205が利用するコンテンツ利用料金管理テーブル900の構成例である。
コンテンツ利用料金管理テーブル900は、コンテンツの名称901、コンテンツサイズ902、利用料金903からなる。このテーブル900は、外部記憶装置22中にデータベースのエントリとして、あるいはファイルとして格納されていても構わない。
【0028】
図10は、キャッシュサーバコンピュータ3,5における複製コンテンツ配信プログラム32Aを構成する複製コンテンツ配信コントロールプログラム3201と複製コンテンツ送信プログラム3202が利用する、コンテンツ送信テーブル1000の構成例である。
コンテンツ送信テーブル1000は、ストリーミングコンテンツID1001、ストリーミングデータが外部記憶装置32に格納されている位置1002、コンテンツ送信開始位置1003、コンテンツ送信終了位置1004の組からなる。このテーブル1000は、外部記憶装置32中にデータベースのエントリとして、あるいはファイルとして格納されていても構わない。
【0029】
図11は、複製コンテンツ配信プログラム32Aを構成するコンテンツ管理プログラム3204が利用する、複製コンテンツ管理テーブル1100の構成例である。
複製コンテンツ管理テーブル1100は、ストリーミングコンテンツ名称1101と、ストリーミングデータが外部記憶装置に格納されている位置1102ストリーミングデータのサイズ1103の組からなる。このテーブル1100は、外部記憶装置32中にデータベースのエントリとして、あるいはファイルとして格納されていても構わない。
【0030】
図12は、クライアントコンピュータ4上のコンテンツ受信プログラム42Bを構成するコンテンツ格納プログラム4201が使用するバッファ1200の格納状態の例を示す図である。
図12(1)では、4台のキャッシュサーバコンピュータ1201、1202、1203,1204から同時にストリーミングコンテンツの一部分を入手している状態(斜線で示す部分)であることを示している。
図12(2)は、キャッシュサーバコンピュータ1201からのストリーミングコンテンツを受信し終わった状態を示している。この後、キャッシュサーバコンピュータ1202から受信しているストリーミングデータをストリーミング視聴プログラム42Aに転送することになるが、キャッシュサーバコンピュータ1202から受信予定のサイズ分のコンテンツをそのコンテンツを表示するために要する時間内に受信することが困難であると判断した場合は、キャッシュサーバコンピュータ1202から受信予定のバッファの残りを分割し、先ほど部分コンテンツの受信を終了したキャッシュサーバコンピュータ1201から分割した後半部分のコンテンツを受信するようにする(図12(3))。
【0031】
以後、ストリーミングコンテンツ配信サービスを構成する各プログラムの動作をフローチャートを用いて詳細に説明する。
図13は、コンテンツ配信サーバコンピュータ2上で稼動するコンテンツ配信プログラム22Aを構成するコンテンツ配信コントロールプログラム2201の動作を示すフローチャートである。
コンテンツ配信コントロールプログラム2201が開始すると、クライアントコンピュータ4のコンテンツ受信プログラム42B、キャッシュサーバコンピュータ3,5の複製コンテンツ配信プログラム32Aからの接続を待つ(ステップ1301)。
そして、いずれからかの接続を受け付け、命令を受信したならば、クライアントコンピュータ4のコンテンツ受信プログラム42Bからの接続かどうかを判断し(ステップ1302)、コンテンツ受信プログラム42Bからの接続であれば、受信した命令がアドレス入手依頼かコンテンツ入手依頼かを判断する(ステップ1303)。
【0032】
命令がアドレス入手依頼の場合は、命令とともに受信していたコンテンツ名称を取り出す(ステップ1304)。
次に、ユニークなストリーミングコンテンツIDと、送信可能キャッシュサーバアドレスバッファ700(図7)を生成する(ステップ1305)。そして、生成したストリーミングコンテンツIDと、受信したコンテンツ名称に対応するストリーミングコンテンツの複製を格納しているキャッシュサーバコンピュータが属しているマルチキャストグループのマルチキャストアドレスと、ストリーミングコンテンツのサイズを返却し(ステップ1306)、ストリーミングコンテンツIDと1対1に対応するコンテンツ配信タイマーを起動し(ステップ1307)、ステップ1301から繰り返す。
【0033】
ステップ1303において、命令がコンテンツ入手依頼であれば、命令とともに受信していた、ストリーミングコンテンツIDとコンテンツ配信開始位置と配信終了位置を取出し(ステップ1308)、ストリーミングコンテンツIDに対応するコンテンツのストリーミングデータを配信開始位置から配信終了位置まで、クライアントコンピュータ4上のコンテンツ受信プログラム42Bに送信し(ステップ1309)、ステップ1301から繰り返す。
ステップ1302において、接続がキャッシュサーバ3,5の複製コンテンツ配信プログラム32Aからのものであった場合、接続時に受信した命令が送信可能命令かどうか判断し(ステップ1310)、送信可能命令であれば、命令とともに受信していた遅延時間とストリーミングコンテンツIDを取り出す(ステップ1311)。
【0034】
次に、ストリーミングコンテンツIDに対応するコンテンツ配信タイマーが起動しているかどうかを判断し(ステップ1312)、コンテンツ配信タイマーが終了していれば、送信不要を返答し(ステップ1313)、ステップ1301から繰り返す。
コンテンツ配信タイマーが終了していなければ(起動中ならば)、遅延時間とキャッシュサーバコンピュータのアドレスを送信可能キャッシュサーバアドレスバッファ700に格納しておき(ステップ1314)、ステップ1301から繰り返す。
【0035】
ステップ1310において、命令が送信可能命令でなければ、送信終了命令であるので、命令とともに受信していたストリーミングコンテンツIDを取り出し(ステップ1315)、キャッシュサーバコンピュータ3,5に対応する送信可能キャッシュサーバアドレスバッファ700の送信開始位置と送信終了位置から送信データ量を計算し(ステップ1316)、コンテンツ利用料金管理プログラム2205にコンテンツ名称とキャッシュサーバコンピュータ名、送信データ量を送信し(ステップ1317)、ステップ1301から繰り返す。
【0036】
図14は、図13のステップ1307で起動されたコンテンツ配信タイマーが終了した時に実行されるコンテンツ配信コントロールプログラム2201の動作を示すフローチャートである。
このプログラム2201が処理を開始すると、送信可能キャッシュサーバアドレスバッファ700を確認し(ステップ1401)、送信可能キャッシュサーバアドレスバッファ700内にキャッシュサーバアドレスが登録されていない場合は、クライアントコンピュータ4に対して、ストリーミングコンテンツの開始位置(0)と終了位置(コンテンツのサイズ)を送信し(ステップ1402)、送信可能キャッシュサーバアドレスバッファ700を破棄(ステップ1404)して終了する。
【0037】
送信可能キャッシュサーバアドレスバッファ700内にキャッシュサーバアドレスが登録されている場合は、コンテンツのサイズを遅延時間の逆数に合わせて分割し(ステップ1404)、遅延時間の短いキャッシュサーバコンピュータから順にストリーミングデータの先頭からのサイズを割り当て(ステップ1405)、送信可能キャッシュサーバアドレスバッファ700に送信開始位置と送信終了位置を格納しておき(ステップ1406)、ストリーミングデータの送信開始位置と送信終了位置を各キャッシュサーバコンピュータに送信し(ステップ1407)、ステップ1403を実行し終了する。
【0038】
図15は、コンテンツ配信サーバコンピュータ2上で稼動するコンテンツ配信プログラム22Aを構成するコンテンツ送信プログラム2202の動作を示すフローチャートである。
コンテンツ送信プログラム2202が起動すると、コンテンツ名称を受け取る(ステップ1501)。次に、このコンテンツ名称をコンテンツ管理プログラム2203に送信し(ステップ1502)、外部記憶装置22上のストリーミングコンテンツの位置とサイズを入手する(ステップ1503)。次に、キャッシュ情報管理プログラム2204にコンテンツ名称を送信し(ステップ1504)、マルチキャストグループアドレスを入手する(ステップ1505)。そして、外部記憶装置22上のステップ1503で入手した位置からストリーミングコンテンツのデータを読み込み(ステップ1506)、コンテンツ名称とともにマルチキャストグループアドレス宛に送信し(ステップ1507)、ステップ1501から繰り返す。
【0039】
図16は、コンテンツ配信サーバコンピュータ2上で稼動するコンテンツ配信プログラム22Aを構成するコンテンツ管理プログラム2203の動作を示すフローチャートである。
コンテンツ管理プログラム2203が起動すると、コンテンツ送信プログラム2202からコンテンツ名称を入手する(ステップ1601)。そして、コンテンツ管理テーブル800(図8)から、コンテンツ名称に対応するストリーミングコンテンツの外部記憶装置上の位置とサイズを取り出し(ステップ1602)、取り出した位置とサイズを返却し(ステップ1603)、ステップ1601から繰り返す。
【0040】
図17は、コンテンツ配信サーバコンピュータ2上で稼動するコンテンツ配信プログラム22Aを構成するキャッシュ情報管理プログラム2204の動作を示すフローチャートである。
キャッシュ情報管理プログラム2204が起動すると、コンテンツ送信プログラム2202からコンテンツ名称を受信する(ステップ1701)。そして、コンテンツ管理テーブル800(図8)からコンテンツ名称に対応するストリーミングデータの複製を格納しているキャッシュサーバコンピュータの属するマルチキャストグループアドレスを返却し(ステップ1702)、ステップ1701から繰り返す。
【0041】
図18は、コンテンツ配信サーバコンピュータ2上で稼動するコンテンツ配信プログラム22Aを構成するコンテンツ利用料金管理プログラム2205の動作を示すフローチャートである。
コンテンツ利用料金管理プログラム2205が起動すると、コンテンツ名称とキャッシュサーバコンピュータ名、各キャッシュサーバコンピュータに割り当てたコンテンツ転送サイズを受信する(ステップ1801)。そして、コンテンツ料金テーブル900(図9)からコンテンツ名称に対応するコンテンツ料金を取り出し(ステップ1802)、各キャッシュサーバコンピュータへの転送サイズに合わせて分割し(ステップ1803)、キャッシュサーバ利用料金テーブル(図示せず)の各キャッシュサーバの利用料金と加算し(ステップ1804)、ステップ1801から繰り返す。このとき、キャッシュサーバ料金利用テーブルから各プロバイダの課金プログラムへコンテンツ利用料金データを送信して利用者に課金することになるが、課金プログラムの構成や処理内容については本発明の範囲外であるので、詳しい説明は省略する。
【0042】
図19は、キャッシュサーバコンピュータ上で稼動する複製コンテンツ配信プログラム32Aを構成する複製コンテンツ配信コントロールプログラム3201の動作を示すフローチャートである。
複製コンテンツ配信コントロールプログラム3201が起動すると、クライアントコンピュータ4上のコンテンツ格納プログラム4201から接続を受け付け命令を受信する(ステップ1901)。そして、命令がコンテンツ入手確認かコンテンツ入手依頼かどうかを判断し(ステップ1902)、コンテンツ入手確認の場合は、ストリーミングコンテンツ名称とストリーミングコンテンツIDを入手する(ステップ1903)。そして、入手したストリーミングコンテンツ名称をコンテンツ確認命令とともにコンテンツ管理プログラム3204に送信し(ステップ1904)、コンテンツが存在するかどうかを確認する(ステップ1905)。
コンテンツが存在しない場合はコンテンツ格納プログラムからの接続を閉じ(ステップ1906)、ステップ1901から繰り返す。
【0043】
コンテンツが存在していた場合は、ストリーミングデータの位置をコンテンツ管理プログラム3204から入手し(ステップ1907)、クライアントコンピュータ4からの接続の遅延時間を計算し(ステップ1908)、コンテンツ配信サーバコンピュータ2上のコンテンツ配信コントロールプログラム2201にストリーミングコンテンツIDと遅延時間の値を送信する(ステップ1909)。これに対して、コンテンツ配信コントロールプログラム2201からストリーミングデータの送信開始位置と送信終了位置を受信したならば(ステップ1910)、その受信した送信開始位置と送信終了位置と、ステップ1903で入手したストリーミングコンテンツID、ステップ1907で入手したストリーミングデータの位置をコンテンツ送信テーブル1000(図10)に格納し(ステップ1911)、送信開始位置と送信終了位置をクライアントコンピュータ4上のコンテンツ格納プログラム4201に送信し(ステップ1912)、ステップ1901から繰り返す。
【0044】
ステップ1902において、受信した命令がコンテンツ入手依頼の場合は、ストリーミングコンテンツIDを受信し(ステップ1913)、複製コンテンツ送信プログラム3202にストリーミングコンテンツIDを渡す(ステップ1914)。複製コンテンツ送信プログラム3202が処理を終了した後、コンテンツ配信サーバコンピュータ2上のコンテンツ配信コントロールプログラム2201に対し、ストリーミングコンテンツIDとコンテンツ配信終了命令を送信し(ステップ1915)、ステップ1901から繰り返す。
【0045】
図20は、キャッシュサーバコンピュータ3,5上で稼動する複製コンテンツ配信プログラム32Aを構成する複製コンテンツ送信プログラム3202の動作を示すフローチャートである。
複製コンテンツ送信プログラム3202が開始すると、複製コンテンツ配信コントロールプログラム3201からストリーミングコンテンツIDを受け取る(ステップ2001)。コンテンツ送信テーブル1000(図10)からストリーミングコンテンツIDに対応するストリーミングデータの位置と送信開始位置と送信終了位置を取り出し(ステップ2002)、クライアントコンピュータ4のコンテンツ格納プログラム4201に接続し(ステップ2003)、ストリーミングデータの送信開始位置から送信終了位置まで送信し(ステップ2004)、コンテンツ格納プログラム4201との接続を閉じ(ステップ2005)、ステップ2001から繰り返す。
【0046】
図21は、キャッシュサーバコンピュータ3,5上で稼動する複製コンテンツ配信プログラム32Aを構成するコンテンツ受信プログラム3203の動作を示すフローチャートである。
コンテンツ受信プログラム3203が起動すると、コンテンツ配信サーバコンピュータ2上のコンテンツ送信プログラム2202から接続を受け付ける(ステップ2101)。そして、配信されるコンテンツの名称とストリーミングコンテンツのデータを受信し(ステップ2102)、受信したストリーミングデータを外部記憶装置中に格納し(ステップ2103)、コンテンツ管理プログラム3204にコンテンツ登録命令とともに、コンテンツ名称、コンテンツ格納位置、受信したコンテンツサイズを送信し(ステップ2104)、ステップ2101から繰り返す。
【0047】
図22は、キャッシュサーバコンピュータ3,5上で稼動する複製コンテンツ配信プログラム32Aを構成するコンテンツ管理プログラム3204の動作を示すフローチャートである。
コンテンツ管理プログラム3204が起動すると、複製コンテンツ配信コントロールプログラム3201またはコンテンツ受信プログラム3203からの接続を受け付け(ステップ2201)、命令を受信する(ステップ2202)。受信した命令がコンテンツ登録命令かどうかを判断し(ステップ2203)、コンテンツ登録命令であれば、コンテンツ名称、コンテンツ格納位置、コンテンツサイズを受け取り(ステップ2204)、複製コンテンツ管理テーブル1100(図11)に登録し(ステップ2205)、ステップ2201から繰り返す。
【0048】
受信した命令がコンテンツ確認命令であれば、コンテンツ名称を受け取り(ステップ2206)、複製コンテンツ管理テーブル1100内に登録されているかを確認し(ステップ2207)、登録されていればストリーミングデータの格納位置を返却し(ステップ2208)、ステップ2201から繰り返す。登録されていない場合は、「−1」を返却し(ステップ2209)、ステップ2201から繰り返す。「−1」を返却するということは、コンテンツの複製がキャッシュサーバ内に登録されていないことを意味する。
【0049】
図23は、クライアントコンピュータ4上で稼働するコンテンツ受信プログラム42Bを構成するコンテンツ格納プログラム4201の動作を示すフローチャートである。
コンテンツ格納プログラム4201が起動すると、コンテンツ視聴プログラム42Aから利用者が指定したコンテンツ名称を受信する(ステップ2301)。次に、コンテンツ配信サーバコンピュータ2に接続してコンテンツ名称とマルチキャストアドレス入手依頼命令を送信し(ステップ2302)、ストリーミングコンテンツIDと、マルチキャストアドレスと、ストリーミングコンテンツのサイズを受信する(ステップ2303)。
【0050】
次に、入手したマルチキャストアドレス宛に、コンテンツ入手確認命令とストリーミングコンテンツ名称とストリーミングコンテンツIDを送信し(ステップ2304)、キャッシュサーバコンピュータ3,4からコンテンツの受信開始位置と受信終了位置を受信する(ステップ2305)。
受信したコンテンツ開始位置と終了位置を組み合わせて全てのコンテンツが受信可能になったか判断し(ステップ2306)、受信可能でなければステップ2305から繰り返す。受信可能であれば、コンテンツサイズ分のバッファを用意し(ステップ2307)、コンテンツ視聴プログラム42Aに対し、コンテンツ入手開始とバッファIDを返信する(ステップ2308)。
【0051】
次に、コンテンツ開始位置と終了位置を受信した全てのキャッシュサーバコンピュータ3,5に対し、コンテンツ入手依頼命令とストリーミングコンテンツIDを送信し(ステップ2309)、キャッシュサーバコンピュータごとに指定されたコンテンツ開始位置からストリーミングコンテンツを受信し、対応するバッファの位置に格納する(ステップ2310)。
各キャッシュサーバコンピュータ3,5からのコンテンツの受信が終了位置に達したかどうか判断し(ステップ2311)、達していない場合は、ステップ2310から繰り返す。達していた場合は、最後のキャッシュサーバかどうか判断し(ステップ2312)、最後であれば接続を閉じ終了する(ステップ2313)。
【0052】
最後でなければ次のキャッシュサーバからのコンテンツ入手状況をチェックする(ステップ2314)。入手状況をチェックした結果、入手済みのコンテンツの表示を行う時間に対し入手量が不足していると判断した場合は、入手していないコンテンツの位置を分割し(ステップ2315)、次のキャッシュサーバのコンテンツ終了位置を分割位置に設定し(ステップ2316)、コンテンツ入手が終了したキャッシュサーバに対し、コンテンツの開始位置を分割位置に、次のキャッシュサーバの終了位置を終了位置に設定して(ステップ2317)、そのキャッシュサーバコンピュータに対しコンテンツ入手依頼命令を送信し(ステップ2318)、コンテンツの入手を開始し(ステップ2319)、ステップ2310から繰り返す。
入手状況をチェックした結果、表示を行う時間に対し入手量が十分と判断した場合は、接続を終了し(ステップ2320)、ステップ2310から繰り返す。
【0053】
図24は、クライアントコンピュータ4上で稼働するコンテンツ受信プログラム42Bを構成するコンテンツ提供プログラム4202の動作を示すフローチャートである。
コンテンツ提供プログラム4202が起動すると、コンテンツ視聴プログラム42Aからコンテンツ入手依頼命令とバッファIDを受け付ける(ステップ2401)。そして、読み取り位置を「0」に設定し(ステップ2402)、読み取り位置がバッファの最後に到達したかを判断する(ステップ2403)。バッファの最後に到達していればコンテンツ終了を返却し(ステップ2404)、バッファを開放して(ステップ2405)、終了する。
バッファの最後に達していなければ、バッファIDに対応するバッファからストリーミングデータを取り出し(ステップ2406)、読み取り開始位置に取り出したデータサイズを加算し(ステップ2407)、コンテンツ視聴プログラム42Aに送信し(ステップ2408)、ステップ2403から繰り返す。
【0054】
図25は、クライアントコンピュータ4上で稼働するコンテンツ視聴プログラム42Aの動作を示すフローチャートである。
コンテンツ視聴プログラム42Aが起動すると、ユーザから視聴したいコンテンツ名称を受け付ける(ステップ2501)。受け付けたコンテンツ名称をコンテンツ格納プログラム4201に送信し(ステップ2502)、コンテンツ入手開始とバッファIDを受け取る(ステップ2503)。
次にコンテンツ提供プログラム4202に対し、コンテンツ入手依頼命令とバッファIDを送信し(ステップ2504)、コンテンツ提供プログラム4202からストリーミングデータを受信する(ステップ2505)。受信したデータがコンテンツ終了かを判断し(ステップ2506)、コンテンツ終了でなければ、受信したストリーミングデータを画面に表示あるいは音声として再生し(ステップ2507)、ステップ2505から繰り返す。受信したデータがコンテンツ終了であれば、終了する。
【0055】
以上のように本実施形態においては、クライアントコンピュータからマルチキャストグループに所属している複数のキャッシュサーバコンピュータに対し、ブロードバンド回線経由で、入手したいストリーミングデータのID(識別情報)を指定してコンテンツ入手要求(配信要求)を送信する。各キャッシュサーバコンピュータは、入手要求を受けたストリーミングデータを自身がキャッシュしているかどうかを調べ、キャッシュしていた場合は、クライアントコンピュータと自身の間の通信速度(遅延時間)を調査し、そのデータとストリーミングデータのIDをコンテンツ配信サーバコンピュータに送信する。コンテンツ配信サーバコンピュータは、複数のキャッシュサーバコンピュータから通信速度を入手し、通信速度に合わせて、各キャッシュサーバコンピュータが送信すべき、ストリーミングコンテンツの分割位置(開始位置と終了位置)を決定し、キャッシュサーバコンピュータに送信する。開始位置と終了位置を受信したキャッシュサーバコンピュータは、ストリーミングコンテンツを指定された開始位置から順に終了位置に達するまでクライアントコンピュータに送信する。クライアントコンピュータ上では、ストリーミングコンテンツ受信プログラムが稼動しており、各キャッシュサーバコンピュータからそれぞれ部分コンテンツを受信する。この時コンテンツの受信に先立って、ストリーミングコンテンツの開始位置と終了位置を入手している。ストリーミングコンテンツ受信プログラムは、予め確保したストリーミングコンテンツ格納用のバッファ中に、各キャッシュサーバコンピュータから受信したストリーミングコンテンツを格納しておき、ストリーミングコンテンツの視聴プログラムに対して、ストリーミングコンテンツの最初からデータを転送し、視聴プログラムが画面に表示あるいは演奏を行っていく。
ストリーミングコンテンツ受信プログラムは1つの部分ストリーミングコンテンツの受信を終了した時点で、次の部分ストリーミングコンテンツの受信状況を確認し、この部分ストリーミングコンテンツを表示または演奏する前に受信ができないと判断すると、前の部分ストリーミングコンテンツを受信したキャッシュサーバから、部分ストリーミングコンテンツの表示または演奏に間に合うように部分ストリーミングコンテンツの残りの一部を同時に受信するようにする。これを全ての部分ストリーミングコンテンツの受信に対して繰り返すことで、所望のストリーミングコンテンツ全体を途切れなく受信する。
【0056】
これにより、最初の部分ストリーミングコンテンツの受信にかかる時間を短縮することができ、ストリーミングコンテンツの表示あるいは演奏の開始までにかかるバッファリングに要する時間を短縮できる。
また、部分コンテンツの入手が複数のキャッシュサーバコンピュータに分散されるため、1台のキャッシュサーバコンピュータのCPUや通信機能を占有することがなくなり、稼動していないキャッシュサーバコンピュータを効率的に利用することが可能になる。
【0057】
ところで、上記の実施形態においては、クライアントコンピュータが所望のストリーミングコンテンツの複製を格納しているキャッシュサーバを知らない場合を想定しているが、コンテンツ配信サーバから例えばリスト形式でストリーミングコンテンツの複製が存在するキャッシュサーバのマルチキャストアドレスやコンテンツサイズの通知を受けていた場合、コンテンツ配信サーバに対してキャッシュサーバの所在を問い合わせる手続は不要になる。すなわち、図6におけるステップ601,602の手続は不要になる。
【0058】
また、ストリーミングコンテンツの分割位置をコンテンツ配信サーバで決定するようにしているが、クライアントコンピュータで決定するようにすることができる。
図26は、その場合におけるクライアントコンピュータ、キャッシュサーバコンピュータ、コンテンツ配信サーバコンピュータ相互間のやり取りを示す図であり、図6と異なる点は、キャッシュサーバコンピュータに対しストリーミングコンテンツ名、コンテンツIDを含む配信要求を送信したならば、その配信要求の遅延時間の値を各キャッシュサーバコンピュータからクライアントコンピュータに返信させ(ステップ604b)、クライアントコンピュータで遅延時間の値(通信状況)に応じたストリーミングコンテンツの分割位置を決定し、その結果を各キャッシュサーバコンピュータに通知する(ステップ606b)ようにしたことである。
このようにすることにより、コンテンツ配信サーバコンピュータの負荷を軽減することができる。
なお、図26においては、図6と同一部分は同一符号で示している。
【0059】
【発明の効果】
以上のように本発明によれば、クライアントコンピュータ上でストリーミングコンテンツを視聴するにあたり、視聴開始するまでに必要なバッファリング時間を短縮することができ、ユーザにとってはストリーミングコンテンツを快適に視聴または表示でき、利便性を向上することができる。
また、コンテンツ配信業者にとっては、キャッシュサーバコンピュータの利用率の平準化が図られ、ストリーミングデータ配信要求が集中した場合に備えて各ISPに設置するキャッシュサーバコンピュータの台数を削減することができるなどの効果がある。
【図面の簡単な説明】
【図1】本発明に係るストリーミングコンテンツ配信システムの実施形態を示すシステム構成図である。
【図2】コンテンツ配信サービスを提供するために利用されるコンテンツ配信サーバコンピュータ、キャッシュサーバコンピュータとクライアントコンピュータのブロック構成図である。
【図3】コンテンツ配信サーバコンピュータ上で稼働するコンテンツ配信プログラムの構成を示す機能ブロック図である。
【図4】キャッシュサーバコンピュータ上で稼働する複製コンテンツ配信プログラムの構成を示す機能ブロック図である。
【図5】クライアントコンピュータ上で稼働するコンテンツ受信プログラムの構成を示す機能ブロック図である。
【図6】クライアントコンピュータ、コンテンツ配信サーバコンピュータ、キャッシュサーバコンピュータ間でやりとりされる命令、データの流れの例を示した図である。
【図7】コンテンツ配信プログラムを構成するコンテンツ送信コントロールプログラムが利用する、送信可能キャッシュサーバアドレスバッファの構成例である
【図8】コンテンツ配信プログラムを構成するコンテンツ管理プログラムとキャッシュ情報管理プログラムが利用する、コンテンツ管理テーブルの構成例である。
【図9】コンテンツ配信プログラムを構成するコンテンツ利用料金管理プログラムが利用する、コンテンツ利用料金管理テーブルの構成例である
【図10】複製コンテンツ配信プログラムを構成する複製コンテンツ送信コントロールプログラムと複製コンテンツ送信プログラムが利用する、コンテンツ送信テーブルの構成例である。
【図11】複製コンテンツ配信プログラムを構成するコンテンツ管理プログラムが利用する、複製コンテンツ管理テーブルの構成例である。
【図12】クライアントコンピュータ上のコンテンツ受信プログラムを構成するコンテンツ格納プログラムが使用するバッファの状態例である。
【図13】コンテンツ配信サーバコンピュータ上で稼動するコンテンツ配信プログラムを構成するコンテンツ配信コントロールプログラムの動作を示すフローチャートである。
【図14】コンテンツ配信コントロールプログラムがコンテンツ視聴プログラムからコンテンツ受信要求を受けた時に起動されたコンテンツ配信タイマーが終了した時に実行されるコンテンツ配信コントロールプログラムの動作を示すフローチャートである。
【図15】コンテンツ配信サーバコンピュータ上で稼動するコンテンツ配信プログラムを構成するコンテンツ送信プログラムの動作を示すフローチャートである。
【図16】コンテンツ配信サーバコンピュータ上で稼動するコンテンツ配信プログラムを構成するコンテンツ管理プログラムの動作を示すフローチャートである。
【図17】コンテンツ配信サーバコンピュータ上で稼動するコンテンツ配信プログラムを構成するキャッシュ情報管理プログラムの動作を示すフローチャートである。
【図18】コンテンツ配信サーバコンピュータ上で稼動するコンテンツ配信プログラムを構成するコンテンツ利用料金管理プログラムの動作を示すフローチャートである。
【図19】キャッシュサーバコンピュータ上で稼動する複製コンテンツ配信プログラムを構成する複製コンテンツ配信コントロールプログラムの動作を示すフローチャートである。
【図20】キャッシュサーバコンピュータ上で稼動する複製コンテンツ配信プログラムを構成する複製コンテンツ送信プログラムの動作を示すフローチャートである。
【図21】キャッシュサーバコンピュータ上で稼動する複製コンテンツ配信プログラムを構成するコンテンツ受信プログラムの動作を示すフローチャートである。
【図22】キャッシュサーバコンピュータ上で稼動する複製コンテンツ配信プログラムを構成するコンテンツ管理プログラムの動作を示すフローチャートである。
【図23】クライアントコンピュータ上で稼働するコンテンツ受信プログラムを構成するコンテンツ格納プログラムの動作を示すフローチャートである。
【図24】クライアントコンピュータ上で稼働するコンテンツ受信プログラムを構成するコンテンツ提供プログラム本発明に係るの動作を示すフローチャートである。
【図25】クライアントコンピュータ上で稼働するコンテンツ視聴プログラムの動作を示すフローチャートである。
【図26】クライアントコンピュータ側でストリーミングコンテンツの分割位置を決定する場合におけるクライアントコンピュータ、コンテンツ配信サーバコンピュータ、キャッシュサーバコンピュータ間でやりとりされる命令、データの流れの例を示した図である。
【符号の説明】
1…インターネットデータセンタ、2…コンテンツ配信サーバコンピュータ、3,5…キャッシュサーバコンピュータ、4…クライアントコンピュータ、6,7,9…ISP、8…インターネット、10…ISP接続、21,31,41…端末装置、22,32,42…外部記憶装置、23, 33, 43…通信ポート、22A…コンテンツ配信プログラム、22B…ストリーミングデータ、32A…複製コンテンツ配信プログラム、32B…コンテンツキャッシュ、42A…コンテンツ視聴プログラム、42B…コンテンツ受信プログラム。

Claims (8)

  1. クライアントコンピュータからストリーミングコンテンツの複製を格納している複数のキャッシュサーバに対し所望のストリーミングコンテンツの配信要求を送信し、所望のストリーミングコンテンツをクライアントコンピュータに配信させるストリーミングコンテンツ配信方法であって、
    クライアントコンピュータから複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する第1のステップと、配信要求を受信した複数のキャッシュサーバにおいてクライアントコンピュータからの配信要求の到達所要時間を計算し、要求元のクライアントコンピュータに返信する第2のステップと、
    クライアントコンピュータにおいて各キャッシュサーバから受信した到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信し、分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを各キャッシュサーバから要求元のクライアントコンピュータに配信させる第3のステップと
    を備えることを特徴とするストリーミングコンテンツの配信方法。
  2. クライアントコンピュータからストリーミングコンテンツの複製を格納している複数のキャッシュサーバに対し所望のストリーミングコンテンツの配信要求を送信し、所望のストリーミングコンテンツをクライアントコンピュータに配信させるストリーミングコンテンツ配信方法であって、
    クライアントコンピュータから複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する第1のステップと、配信要求を受信した複数のキャッシュサーバにおいてクライアントコンピュータからの配信要求の到達所要時間を計算し、要求されたストリーミングコンテンツのオリジナルを格納しているコンテンツ配信サーバに送信する第2のステップと、
    コンテンツ配信サーバにおいて各キャッシュサーバから受信した到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信し、分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを各キャッシュサーバから要求元のクライアントコンピュータに配信させる第3のステップとを備えることを特徴とするストリーミングコンテンツの配信方法。
  3. クライアントコンピュータからストリーミングコンテンツのオリジナルを格納しているコンテンツ配信サーバに対し所望のストリーミングコンテンツの配信要求を送信し、当該ストリーミングコンテンツの複製を格納している複数のキャッシュサーバから要求元のクライアントコンピュータにストリーミングコンテンツを配信させるストリーミングコンテンツの配信方法であって、クライアントコンピュータからコンテンツ配信サーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する第1のステップと、
    配信要求を受信したコンテンツ配信サーバにおいて配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバを特定し、
    特定した複数のキャッシュサーバを要求元のクライアントコンピュータに通知する第2のステップと、
    配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバの通知を受けたクライアントコンピュータにおいて当該複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する第3のステップと、
    配信要求を受信した複数のキャッシュサーバにおいてクライアントコンピュータからの配信要求の到達所要時間を計算し、要求元のクライアントコンピュータに返信する第4のステップと、
    クライアントコンピュータにおいて各キャッシュサーバから受信した到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信し、分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを各キャッシュサーバから要求元のクライアントコンピュータに配信させる第5のステップと
    を備えることを特徴とするストリーミングコンテンツの配信方法。
  4. クライアントコンピュータからストリーミングコンテンツのオリジナルを格納しているコンテンツ配信サーバに対し所望のストリーミングコンテンツの配信要求を送信し、当該ストリーミングコンテンツの複製を格納している複数のキャッシュサーバから要求元のクライアントコンピュータにストリーミングコンテンツを配信させるストリーミングコンテンツの配信方法であって、クライアントコンピュータからコンテンツ配信サーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する第1のステップと、
    配信要求を受信したコンテンツ配信サーバにおいて配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバを特定し、
    特定した複数のキャッシュサーバを要求元のクライアントコンピュータに通知する第2のステップと、
    配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバの通知を受けたクライアントコンピュータにおいて当該複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する第3のステップと、
    配信要求を受信した複数のキャッシュサーバにおいてクライアントコンピュータからの配信要求の到達所要時間を計算し、要求されたストリーミングコンテンツのオリジナルを格納しているコンテンツ配信サーバに送信する第4のステップと、
    コンテンツ配信サーバにおいて各キャッシュサーバから受信した到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信し、分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを各キャッシュサーバから要求元のクライアントコンピュータに配信させる第5のステップとを備えることを特徴とするストリーミングコンテンツの配信方法。
  5. クライアントコンピュータからストリーミングコンテンツの複製を格納している複数のキャッシュサーバに対し所望のストリーミングコンテンツの配信要求を送信し、所望のストリーミングコンテンツをクライアントコンピュータに配信させるストリーミングコンテンツ配信システムであって、
    クライアントコンピュータが、
    複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する手段と、各キャッシュサーバから受信した配信要求の到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信する手段と、分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを各キャッシュサーバから受信する手段とを備え、
    各キャッシュサーバが、
    クライアントコンピュータからのストリーミングコンテンツの配信要求の到達所要時間を計算し、要求元のクライアントコンピュータに返信する手段と、クライアントコンピュータから受信した分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを要求元のクライアントコンピュータに配信する手段と
    を備えることを特徴とするストリーミングコンテンツの配信システム。
  6. クライアントコンピュータからストリーミングコンテンツの複製を格納している複数のキャッシュサーバに対し所望のストリーミングコンテンツの配信要求を送信し、所望のストリーミングコンテンツをクライアントコンピュータに配信させるストリーミングコンテンツ配信システムであって、
    クライアントコンピュータが、
    複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する手段と、各キャッシュサーバから配信対象のストリーミングコンテンツを分割した部分ストリーミングコンテンツを受信する手段とを備え、
    各キャッシュサーバが、
    クライアントコンピュータからの配信要求の到達所要時間を計算し、要求されたストリーミングコンテンツのオリジナルを格納しているコンテンツ配信サーバに送信する手段と、コンテンツ配信サーバから指定された分割位置で分割した部分ストリーミングコンテンツを要求元のクライアントコンピュータに配信する手段とを備え、
    コンテンツ配信サーバが、
    各キャッシュサーバから受信した到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信する手段を備えることを特徴とするストリーミングコンテンツの配信システム。
  7. クライアントコンピュータからストリーミングコンテンツのオリジナルを格納しているコンテンツ配信サーバに対し所望のストリーミングコンテンツの配信要求を送信し、当該ストリーミングコンテンツの複製を格納している複数のキャッシュサーバから要求元のクライアントコンピュータにストリーミングコンテンツを配信させるストリーミングコンテンツの配信システムであって、
    クライアントコンピュータが、
    コンテンツ配信サーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する手段と、コンテンツ配信サーバから配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバの通知を受取る手段と、通知を受けた複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する手段と、各キャッシュサーバから受信した配信要求の到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信する手段と、各キャッシュサーバから配信対象のストリーミングコンテンツを分割した部分ストリーミングコンテンツを受信する手段とを備え、
    コンテンツ配信サーバが、
    クライアントコンピュータからの配信要求に対し配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバを特定し、特定した複数のキャッシュサーバを要求元のクライアントコンピュータに通知する手段を備え、
    複数のキャッシュサーバが、
    クライアントコンピュータからの配信要求の到達所要時間を計算し、要求元のクライアントコンピュータに返信する手段と、クライアントコンピュータから指定された分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを要求元のクライアントコンピュータに配信する手段と
    を備えることを特徴とするストリーミングコンテンツの配信システム。
  8. クライアントコンピュータからストリーミングコンテンツのオリジナルを格納しているコンテンツ配信サーバに対し所望のストリーミングコンテンツの配信要求を送信し、当該ストリーミングコンテンツの複製を格納している複数のキャッシュサーバから要求元のクライアントコンピュータにストリーミングコンテンツを配信させるストリーミングコンテンツの配信システムであって、
    クライアントコンピュータが、
    コンテンツ配信サーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する手段と、コンテンツ配信サーバから配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバの通知を受取る手段と、通知を受けた複数のキャッシュサーバに対し配信対象のストリーミングコンテンツの識別情報を含む配信要求を送信する手段と、各キャッシュサーバから配信対象のストリーミングコンテンツを分割した部分ストリーミングコンテンツを受信する手段とを備え、
    コンテンツ配信サーバが、
    配信対象のストリーミングコンテンツの複製を配信可能な複数のキャッシュサーバを特定し、特定した複数のキャッシュサーバを要求元のクライアントコンピュータに通知する手段と、各キャッシュサーバから受信した配信要求の到達所要時間の情報に応じて、各キャッシュサーバに配信させるストリーミングコンテンツの分割位置を決定し、各分割位置の情報を各キャッシュサーバに送信する手段とを備え、
    複数のキャッシュサーバが、
    クライアントコンピュータからの配信要求の到達所要時間を計算し、コンテンツ配信サーバに通知する手段と、コンテンツ配信サーバから指定された分割位置の情報で示される位置で分割された部分ストリーミングコンテンツを要求元のクライアントコンピュータに配信する手段と
    を備えることを特徴とするストリーミングコンテンツの配信システム。
JP2003040274A 2003-02-18 2003-02-18 ストリーミングコンテンツ配信方法及びシステム Expired - Fee Related JP3895282B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003040274A JP3895282B2 (ja) 2003-02-18 2003-02-18 ストリーミングコンテンツ配信方法及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003040274A JP3895282B2 (ja) 2003-02-18 2003-02-18 ストリーミングコンテンツ配信方法及びシステム

Publications (2)

Publication Number Publication Date
JP2004253922A true JP2004253922A (ja) 2004-09-09
JP3895282B2 JP3895282B2 (ja) 2007-03-22

Family

ID=33024209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003040274A Expired - Fee Related JP3895282B2 (ja) 2003-02-18 2003-02-18 ストリーミングコンテンツ配信方法及びシステム

Country Status (1)

Country Link
JP (1) JP3895282B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007080161A (ja) * 2005-09-16 2007-03-29 Nec Personal Products Co Ltd データ配信システム、部分コンテンツ格納サーバ、応答高速化方法、及びプログラム
JP2008160199A (ja) * 2006-12-20 2008-07-10 Hitachi Communication Technologies Ltd Ip放送システム、及びip放送用マルチキャストグループ管理装置
JP2008544690A (ja) * 2005-06-22 2008-12-04 トムソン ライセンシング 経路情報を使用するマルチキャスト・ダウンロード
JP2011097471A (ja) * 2009-10-30 2011-05-12 Toshiba Corp 映像再生装置、映像受信方法及び映像コンテンツダウンロードプログラム
US8230098B2 (en) * 2006-05-10 2012-07-24 At&T Intellectual Property Ii, L.P. System and method for streaming media objects
JP6471252B1 (ja) * 2018-03-20 2019-02-13 株式会社Jストリーム 再生装置及びプログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008544690A (ja) * 2005-06-22 2008-12-04 トムソン ライセンシング 経路情報を使用するマルチキャスト・ダウンロード
JP2007080161A (ja) * 2005-09-16 2007-03-29 Nec Personal Products Co Ltd データ配信システム、部分コンテンツ格納サーバ、応答高速化方法、及びプログラム
US8230098B2 (en) * 2006-05-10 2012-07-24 At&T Intellectual Property Ii, L.P. System and method for streaming media objects
US8566470B2 (en) 2006-05-10 2013-10-22 At&T Intellectual Property Ii, L.P. System and method for streaming media objects
JP2008160199A (ja) * 2006-12-20 2008-07-10 Hitachi Communication Technologies Ltd Ip放送システム、及びip放送用マルチキャストグループ管理装置
JP2011097471A (ja) * 2009-10-30 2011-05-12 Toshiba Corp 映像再生装置、映像受信方法及び映像コンテンツダウンロードプログラム
JP6471252B1 (ja) * 2018-03-20 2019-02-13 株式会社Jストリーム 再生装置及びプログラム
JP2019164675A (ja) * 2018-03-20 2019-09-26 株式会社Jストリーム 再生装置及びプログラム
WO2019181343A1 (ja) * 2018-03-20 2019-09-26 株式会社Jストリーム 再生装置及びプログラム

Also Published As

Publication number Publication date
JP3895282B2 (ja) 2007-03-22

Similar Documents

Publication Publication Date Title
JP3644009B2 (ja) マルチキャストセッション管理装置
US7363449B2 (en) Software agent-based architecture for data relocation
US20050289236A1 (en) Method and server for establishing coordinated consumption of a streamed media object by multiple devices
US10691820B1 (en) Real-time distribution of messages via a network with multi-region replication in a hosted service environment
JP5902820B2 (ja) ピアツーピアコンテンツ配信システムにおけるピアによって受信されたコンテンツの完全性の確認
KR20130088774A (ko) 분할 콘텐트 전달 시스템 및 방법
JP2004192170A (ja) アクセス中継装置
CN110430274A (zh) 一种基于云存储的文件下载方法及系统
JP5001880B2 (ja) ストリーミングサービスのシステムと方法
JP2012501493A (ja) 画像処理方法、画像処理装置および画像処理システム
CN101156407A (zh) 用于计划的下载服务的系统结构和方法
JP2015534311A (ja) クライアントデバイスにオーディオビジュアルコンテンツを配信するためのシステム及び方法
JP4842968B2 (ja) 配信ネットワークへのマルチメディアコンテンツフローの生成およびトランスポートのための方法および装置
EP2514170A1 (en) Peer-to-peer system with censorship
JP4635615B2 (ja) 情報処理装置、システム、データ同期方法及びプログラム
CN110417905B (zh) 一种合约发布方法、装置、设备和联盟链系统
CN105279217A (zh) 可重构内容对象
JP3895282B2 (ja) ストリーミングコンテンツ配信方法及びシステム
JP6699231B2 (ja) 情報配信装置、情報配信プログラム、通信端末、通信処理プログラム及び情報配信システム
JP5399276B2 (ja) コンテンツ配信システムと方法およびプログラム
CN102739701A (zh) 媒体流访问控制方法与对等流媒体系统
JP3757390B2 (ja) ストリーミングコンテンツ中継サービス方法および装置並びにプログラム
JP2019532399A (ja) スケーラブルメッセージングシステムにおけるデータ複製
JP2003032300A (ja) マルチキャストデータ通信方法、マルチキャストデータ通信システム、中継装置、中継方法、中継プログラム、中継プログラムを記録した媒体
JP2004166053A (ja) Ipマルチキャスト配信制御システムとipマルチキャスト配信制御方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061207

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: 20061211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061213

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees