(57)【特許請求の範囲】
【請求項１】
クライアント端末からのコンテンツ配信要求をコンテンツ配信サーバへ中継すると共に、コンテンツ配信サーバから配信されたストリーミングコンテンツを要求元のクライアント端末に中継する中継サーバにおけるストリーミングコンテンツ中継サービス方法であって、
クライアント端末からのコンテンツ配信要求を受け、前記コンテンツ配信サーバが配信したストリーミングコンテンツの複製を保持している少なくとも１つのキャッシュサーバと前記コンテンツ配信サーバから、要求されたストリーミングコンテンツの異なる部分を並行して取得する第１のステップと、
取得したストリーミングコンテンツの各部分をそれらの連続性が維持されるように要求元のクライアント端末に中継する第２のステップと
を備えることを特徴とするストリーミングコンテンツ中継サービス方法。
【請求項２】
前記第１のステップが、前記中継サーバと前記コンテンツ配信サーバおよびキャッシュサーバ間に確保されているデータ通信の帯域幅を参照し、前記コンテンツ配信サーバおよびキャッシュサーバに対してのストリーミングコンテンツの要求量を決定するステップを含むことを特徴とする請求項１に記載のストリーミングコンテンツ中継サービス方法。
【請求項３】
前記第１のステップが、前記中継サーバから前記キャッシュサーバに対してストリーミングコンテンツを要求する前に、各キャッシュサーバの負荷状況を入手し、この負荷状況の値によって前記キャッシュサーバに対してのストリーミングコンテンツの要求量を決定するステップを含むことを特徴とする請求項１または２に記載のストリーミングコンテンツ中継サービス方法。
【請求項４】
前記第１のステップにおいて、コンテンツ配信サーバからはストリーミングコンテンツの先頭部分から取得を開始し、前記キャッシュサーバからはストリーミングコンテンツの途中部分から取得を開始し、コンテンツ配信サーバから取得したストリーミングコンテンツが、キャッシュサーバから取得したストリーミングコンテンツと連続する状態になった時に、コンテンツ配信サーバと中継サーバとの間の接続を切断する第３のステップをさらに備えることを特徴とする請求項１〜３のいずれか一項に記載のストリーミングコンテンツ中継サービス方法。
【請求項５】
前記中継サーバと前記キャッシュサーバ間のストリーミングコンテンツのデータ転送量に応じて、キャッシュサーバの運営者に配分するコンテンツ利用料金の配分額を決定する第５のステップをさらに備えることを特徴とする請求項１〜４のいずれか一項に記載のストリーミングコンテンツ中継サービス方法。
【請求項６】
クライアント端末からのコンテンツ配信要求をコンテンツ配信サーバへ中継すると共に、コンテンツ配信サーバから配信されたストリーミングコンテンツを要求元のクライアント端末に中継する中継装置であって、
クライアント端末からのコンテンツ配信要求を受け、前記コンテンツ配信サーバが配信したストリーミングコンテンツの複製を保持している少なくとも１つのキャッシュサーバと前記コンテンツ配信サーバから、要求されたストリーミングコンテンツの異なる部分を並行して取得する第１の手段と、
取得したストリーミングコンテンツの各部分をそれらの連続性が維持されるように要求元のクライアント端末に中継する第２の手段と
を備えることを特徴とするストリーミングコンテンツ中継装置。
【請求項７】
前記第１の手段が、中継装置と前記コンテンツ配信サーバおよびキャッシュサーバ間に確保されているデータ通信の帯域幅を参照し、前記コンテンツ配信サーバおよびキャッシュサーバに対してのストリーミングコンテンツの要求量を決定する手段を含むことを特徴とする請求項６に記載のストリーミングコンテンツ中継装置。
【請求項８】
前記第１の手段が、中継装置から前記キャッシュサーバに対してストリーミングコンテンツを要求する前に、各キャッシュサーバの負荷状況を入手し、この負荷状況の値によって前記キャッシュサーバに対してのストリーミングコンテンツの要求量を決定する手段を含むことを特徴とする請求項６または７に記載のストリーミングコンテンツ中継装置。
【請求項９】
前記第１の手段が、コンテンツ配信サーバからはストリーミングコンテンツの先頭部分から取得を開始し、前記キャッシュサーバからはストリーミングコンテンツの途中部分から取得を開始し、コンテンツ配信サーバから取得したストリーミングコンテンツが、キャッシュサーバから取得したストリーミングコンテンツと連続する状態になった時に、コンテンツ配信サーバと中継装置との間の接続を切断する第３の手段をさらに備えることを特徴とする請求項６〜８のいずれか一項に記載のストリーミングコンテンツ中継装置。
【請求項１０】
中継サーバと前記キャッシュサーバ間のストリーミングコンテンツのデータ転送量に応じて、キャッシュサーバの運営者に配分するコンテンツ利用料金の配分額を決定する第４の手段をさらに備えることを特徴とする請求項６〜９のいずれか一項に記載のストリーミングコンテンツ中継装置。
【請求項１１】
クライアント端末からのコンテンツ配信要求をコンテンツ配信サーバへ中継すると共に、コンテンツ配信サーバから配信されたストリーミングコンテンツを要求元のクライアント端末に中継する中継サーバにおけるストリーミングコンテンツ中継用のプログラムであって、
クライアント端末からのコンテンツ配信要求を受け、前記コンテンツ配信サーバが配信したストリーミングコンテンツの複製を保持している少なくとも１つのキャッシュサーバと前記コンテンツ配信サーバから、要求されたストリーミングコンテンツの異なる部分を並行して取得する第１の処理と、
取得したストリーミングコンテンツの各部分をそれらの連続性が維持されるように要求元のクライアント端末に中継する第２の処理と
を含むことを特徴とするストリーミングコンテンツ中継用のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネットを利用してコンテンツ配信サーバから映像や音楽などのストリーミングコンテンツを入手する際に、１つのコンテンツ配信サーバが提供できる帯域以上の要求が複数のクライアント端末からあった場合に、同じストリーミングコンテンツを格納している他のキャッシュサーバからもストリーミングコンテンツの一部を入手して配信するようにしたストリーミングコンテンツ中継サービス方法および装置並びに中継用のプログラムに関するものである。
【０００２】
【従来の技術】
ブロードバンドが各家庭から利用できるようになり、映像や音声などの時間的に連続性のあるストリーミングコンテンツ（またはストリーミングデータ）をインターネット経由で入手して視聴することが容易になってきている。
しかし、コンサート中継や事故のニュースなど即時性のある情報をストリーミングコンテンツとして提供する場合、コンテンツ配信業者が用意している帯域以上の利用者からの同時アクセスが発生すると、全クライアントが快適にストリーミングコンテンツを再生することができなくなる可能性がある。これは、クライアントとコンテンツ配信サーバの間でユニキャスト(１対１)の通信を行っているので、接続してきたクライアントの数に比例してネットワークの帯域を使用してしまうためである。
これを解決する方法として、米国Digital Fountain社は、マルチキャスト(１対複数)通信によって、１度だけ配信することで複数のクライアントが同時にストリーミングコンテンツを入手できるシステムを提供している。
【０００３】
【発明が解決しようとする課題】
しかしながら、マルチキャストでは、特別なパケットを用いるため、ネットワーク中継装置がマルチキャストプロトコルをサポートしていない場合には利用できないという問題がある。
また、各ネットワーク機器や端末をマルチキャストグループに登録する必要がある。そのため現状では、閉じたネットワーク内でしか利用できないという問題がある。
【０００４】
本発明の目的は、ユニキャストの通信環境においてコンテンツ配信サーバに対して多数のアクセスが集中したときでも、全てのクライアント端末に対してストリーミングコンテンツを快適に配信することができるストリーミングコンテンツ中継サービス方法および装置並びにプログラムを提供することにある。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、本発明に係るストリーミングコンテンツ中継サービス方法は、クライアント端末からのコンテンツ配信要求をコンテンツ配信サーバへ中継すると共に、コンテンツ配信サーバから配信されたストリーミングコンテンツを要求元のクライアント端末に中継する中継サーバにおけるストリーミングコンテンツ中継サービス方法であって、クライアント端末からのコンテンツ配信要求を受け、前記コンテンツ配信サーバが配信したストリーミングコンテンツの複製を保持している少なくとも１つのキャッシュサーバと前記コンテンツ配信サーバから、要求されたストリーミングコンテンツの異なる部分を並行して取得する第１のステップと、取得したストリーミングコンテンツの各部分をそれらの連続性が維持されるように要求元のクライアント端末に中継する第２のステップとを備えることを特徴とする。
また、前記第１のステップが、前記中継サーバと前記コンテンツ配信サーバおよびキャッシュサーバ間に確保されているデータ通信の帯域幅を参照し、前記コンテンツ配信サーバおよびキャッシュサーバに対してのストリーミングコンテンツの要求量を決定するステップを含むことを特徴とする。
また、前記第１のステップが、前記中継サーバから前記キャッシュサーバに対してストリーミングコンテンツを要求する前に、各キャッシュサーバの負荷状況を入手し、この負荷状況の値によって前記キャッシュサーバに対してのストリーミングコンテンツの要求量を決定するステップを含むことを特徴とする。
また、前記第１のステップにおいて、コンテンツ配信サーバからはストリーミングコンテンツの先頭部分から取得を開始し、前記キャッシュサーバからはストリーミングコンテンツの途中部分から取得を開始し、コンテンツ配信サーバから取得したストリーミングコンテンツが、キャッシュサーバから取得したストリーミングコンテンツと連続する状態になった時に、コンテンツ配信サーバと中継サーバとの間の接続を切断する第３のステップをさらに備えることを特徴とする。
また、前記中継サーバと前記キャッシュサーバ間のストリーミングコンテンツのデータ転送量に応じて、キャッシュサーバの運営者に配分するコンテンツ利用料金の配分額を決定する第５のステップをさらに備えることを特徴とする。
【０００６】
本発明に係るストリーミングコンテンツ中継装置は、クライアント端末からのコンテンツ配信要求をコンテンツ配信サーバへ中継すると共に、コンテンツ配信サーバから配信されたストリーミングコンテンツを要求元のクライアント端末に中継する中継装置であって、クライアント端末からのコンテンツ配信要求を受け、前記コンテンツ配信サーバが配信したストリーミングコンテンツの複製を保持している少なくとも１つのキャッシュサーバと前記コンテンツ配信サーバから、要求されたストリーミングコンテンツの異なる部分を並行して取得する第１の手段と、取得したストリーミングコンテンツの各部分をそれらの連続性が維持されるように要求元のクライアント端末に中継する第２の手段とを備えることを特徴とする。
また、前記第１の手段が、中継装置と前記コンテンツ配信サーバおよびキャッシュサーバ間に確保されているデータ通信の帯域幅を参照し、前記コンテンツ配信サーバおよびキャッシュサーバに対してのストリーミングコンテンツの要求量を決定する手段を含むことを特徴とする。
また、前記第１の手段が、中継装置から前記キャッシュサーバに対してストリーミングコンテンツを要求する前に、各キャッシュサーバの負荷状況を入手し、この負荷状況の値によって前記キャッシュサーバに対してのストリーミングコンテンツの要求量を決定する手段を含むことを特徴とする。
また、前記第１の手段が、コンテンツ配信サーバからはストリーミングコンテンツの先頭部分から取得を開始し、前記キャッシュサーバからはストリーミングコンテンツの途中部分から取得を開始し、コンテンツ配信サーバから取得したストリーミングコンテンツが、キャッシュサーバから取得したストリーミングコンテンツと連続する状態になった時に、コンテンツ配信サーバと中継装置との間の接続を切断する第３の手段をさらに備えることを特徴とする。
また、中継サーバと前記キャッシュサーバ間のストリーミングコンテンツのデータ転送量に応じて、キャッシュサーバの運営者に配分するコンテンツ利用料金の配分額を決定する第４の手段をさらに備えることを特徴とする。
【０００７】
本発明に係るストリーミングコンテンツ中継用のプログラムは、クライアント端末からのコンテンツ配信要求をコンテンツ配信サーバへ中継すると共に、コンテンツ配信サーバから配信されたストリーミングコンテンツを要求元のクライアント端末に中継する中継サーバにおけるストリーミングコンテンツ中継用のプログラムであって、クライアント端末からのコンテンツ配信要求を受け、前記コンテンツ配信サーバが配信したストリーミングコンテンツの複製を保持している少なくとも１つのキャッシュサーバと前記コンテンツ配信サーバから、要求されたストリーミングコンテンツの異なる部分を並行して取得する第１の処理と、取得したストリーミングコンテンツの各部分をそれらの連続性が維持されるように要求元のクライアント端末に中継する第２の処理とを含むことを特徴とする。
【０００８】
【発明の実施の形態】
以下、本発明の実施の形態を図面を用いて詳細に説明する。
図１は、本発明の一実施の形態を示すシステム構成図である。
ここで示すシステムは、利用者が契約しているＩＳＰ(Information Service Provider)１内に存在し、ストリーミングコンテンツを格納し、コンテンツ配信プログラムが稼動しているコンテンツ配信サーバコンピュータ２と、コンテンツ中継プログラムが稼働するコンテンツ中継サーバコンピュータ３とがネットワーク８を通じてインターネット９に繋がっている。
また、コンテンツ配信サーバコンピュータ２のストリーミングコンテンツの複製を格納しているその他のＩＳＰ６、７内にあるキャッシュサーバコンピュータ４，５も同様にインターネット９に接続している。
また、ストリーミングコンテンツを利用するクライアント端末１０は、ユーザが契約しているＩＳＰとの接続１１を使用して、コンテンツ中継サーバコンピュータ３に接続可能になっている。
ここで、クライアント端末１０は、インターネット接続機能を有するパーソナルコンピュータ、携帯電話機、テレビ、ファクシミリ装置などであり、有線回線または無線回線を通じてインターネットに接続可能なものであればよい。
【０００９】
図２は、コンテンツ配信サーバコンピュータ２、コンテンツ中継サーバコンピュータ３とキャッシュサーバコンピュータ４の内部構成の一例を示したブロック構成図である。
コンテンツ配信サーバコンピュータ２は、ＣＰＵ２１Ａ、メモリ２１Ｂからなる端末装置２１、コンテンツ配信プログラム２２Ａとストリーミングコンテンツ２２Ｂ、コンテンツ送信ログ２２Ｃが格納されている外部記憶装置２２と、通信ポート２３から構成されている。
コンテンツ中継サーバコンピュータ３は、ＣＰＵ３１Ａ、メモリ３１Ｂからなる端末装置３１と、コンテンツ中継プログラム３２Ａと、ストリーミングコンテンツの一部をキャッシュしておくコンテンツキャッシュ３２Ｂが格納されている外部記憶装置３２と、通信ポート３３から構成されている。
【００１０】
キャッシュサーバコンピュータは、ＣＰＵ４１Ａ、メモリ４１Ｂからなる端末装置４１、複製コンテンツ配信プログラム４２Ａとストリーミングコンテンツの複製４２Ｂ、コンテンツ送信ログ４２Ｃが格納されている外部記憶装置４２と、通信ポート４３から構成されている。
これらコンテンツ配信サーバコンピュータ２、中継サーバコンピュータ３およびキャッシュサーバコンピュータ４は、データを通信するためのＩＳＰ内のネットワーク８とインターネット９で接続されている。
【００１１】
図３は、コンテンツ配信サーバコンピュータ２上で稼働するコンテンツ配信プログラム２２Ａの構成例を示す機能ブロック図である。
コンテンツ配信プログラム２２Ａは、コンテンツ中継プログラム３２Ａから要求を受け取るコンテンツ配信コントロールプログラム３０１、ストリーミングコンテンツを送信するコンテンツ送信プログラム３０２、ストリーミングコンテンツ送信に利用されているネットワーク帯域を管理する帯域管理プログラム３０３、送信したデータ量をクライアント端末ごとに保存しておく送信ログ管理プログラム３０４、コンテンツ送信に必要な帯域やコンテンツのサイズを管理するコンテンツ管理プログラム３０５からなる。
【００１２】
図４（ａ）は、キャッシュサーバコンピュータ４上で稼働する複製コンテンツ配信プログラム４２Ａの構成例を示す機能ブロック図である。
複製コンテンツ配信プログラム４２Ａは、コンテンツ配信プログラム２２Ａと同様に、コンテンツ中継プログラム３２Ａから要求を受け取る複製コンテンツ配信コントロールプログラム４０１、ストリーミングコンテンツを送信する複製コンテンツ送信プログラム４０２、ストリーミングコンテンツ送信に利用されているネットワーク帯域を管理する帯域管理プログラム４０３、送信したデータ量をクライアント端末ごとに保存しておく送信ログ管理プログラム４０４、コンテンツ送信に必要な帯域およびコンテンツのサイズを管理するコンテンツ管理プログラム４０５からなる。
【００１３】
図４（ｂ）は、コンテンツ中継サーバコンピュータ３上で稼働するコンテンツ中継プログラム３２Ａの構成例を示す機能ブロック図である。
コンテンツ中継プログラム３２Ａは、クライアント端末１０からのコンテンツ配信要求を受け取り、コンテンツ配信プログラム２２Ａや複製コンテンツ配信プログラム４２Ａと通信して入手したストリーミングコンテンツをクライアント端末１０に中継送信するコンテンツ中継コントロールプログラム４１１、コンテンツ配信プログラム２２Ａや複製コンテンツ配信プログラム４２Ａと通信して、ストリーミングコンテンツを入手するコンテンツ受信プログラム４１２、複製コンテンツ配信プログラム４２Ａから入手したストリーミングコンテンツの複製４２Ｂをキャッシュに格納しておくキャッシュ管理プログラム４１３、コンテンツ配信プログラム２２Ａ、複製コンテンツ配信プログラム４２Ａからのストリーミングコンテンツの受信量に基づき、コンテンツ配信サーバコンピュータ２とキャッシュサーバコンピュータ４、５ごとのコンテンツ利用料金計算を行うコンテンツ課金管理プログラム４１４からなる。
【００１４】
図６は、クライアント端末１０、コンテンツ中継プログラム３２Ａ、コンテンツ配信プログラム２２Ａ、複製コンテンツ配信プログラム４２Ａ間でやりとりされる命令、データの流れの例を示した図である。
クライアント端末１０は、コンテンツ中継プログラム３２Ａにストリーミングコンテンツ名称を渡す（ステップ５０１）。コンテンツ中継プログラム３２Ａは、コンテンツ配信プログラム２２Ａにストリーミングコンテンツ名称を渡し(ステップ５０２)、コンテンツ配信プログラム２２Ａからコンテンツサイズと、コンテンツ中継サーバコンピュータ３とコンテンツ配信サーバコンピュータ２との間に現在利用可能なデータ通信の帯域幅の情報を入手する(ステップ５０３)。
【００１５】
コンテンツ中継プログラム３２Ａは、帯域幅の情報に合わせてコンテンツサイズを計算し、コンテンツ配信プログラム２２Ａおよび複製コンテンツ配信プログラム４２Ａにそれぞれ要求するストリーミングコンテンツの開始位置の情報をコンテンツ配信プログラム２２Ａと複製コンテンツ配信プログラム４２Ａに送信する（ステップ５０４）。
ここで、コンテンツ中継プログラム３２Ａは、コンテンツ配信プログラム２２Ａおよび複製コンテンツ配信プログラム４２Ａに対し、クライアント端末１０が要求したコンテンツ名称のストリーミングコンテンツのうちそれぞれ異なる部分の開始位置の情報を送信する。
【００１６】
例えば、図６（ａ）に示すように、クライアント端末１０が要求したコンテンツ名称のストリーミングコンテンツ６０１が１０００Ｋバイトであり、その配信要求をコンテンツ配信サーバコンピュータ２と複数のキャッシュサーバコンピュータ４，５等に中継する場合、コンテンツ中継サーバコンピュータ３とコンテンツ配信サーバコンピュータ２との間に現在利用可能なデータ通信の帯域幅の情報に基づき、図６（ｂ）に符号６０２で示すように、コンテンツ配信プログラム２２Ａに対しては先頭部分（０バイト目）からのストリーミングコンテンツを指定する開始位置の情報を送信し、他のキャッシュサーバコンピュータの複製コンテンツ配信プログラム４２Ａに対しては５００Ｋバイト目、７８０Ｋバイト目、９００Ｋバイト目からのストリーミングコンテンツを指定する開始位置の情報を送信する。
すなわち、１つのコンテンツ配信サーバコンピュータ２のみからクライアント端末が要求したストリーミングコンテンツ全体を取得するのでなく、複数のキャッシュサーバコンピュータからも一部分を並行して取得するように配信要求を送信する。
ここで、複数のキャッシュサーバコンピュータ４，５に要求するストリーミングコンテンツのデータ量については、コンテンツ中継サーバコンピュータ３と各キャッシュサーバコンピュータ４，５等との間に確保されている通信回線の帯域幅や各キャッシュサーバコンピュータの負荷状態に応じて決定するのが望ましい。
【００１７】
コンテンツ中継プログラム３２Ａは、コンテンツ配信プログラム２２Ａからストリーミングコンテンツを入手したならば（ステップ５０５）、その入手したストリーミングコンテンツをクライアント端末１０に対し転送する（ステップ５０６）。
また、コンテンツ中継プログラム３２Ａは、複製コンテンツ配信ププログラム４２Ａからもストリーミングコンテンツの複製４２Ｂを受信する(ステップ５０７)。この複製４２Ｂはコンテンツキャッシュ領域に保存しておく(ステップ５０８)。
【００１８】
コンテンツ中継プログラム３２Ａは、コンテンツ配信プログラム２２Ａから入手したストリーミングコンテンツがキャッシュ領域にキャッシュしたストリーミングコンテンツ（複製４２Ｂ）の先頭に達した場合は、コンテンツ配信プログラム２２Ａに入手完了の命令を送信する（ステップ６０９）。
すなわち、コンテンツ中継サーバコンピュータ３には、図６（ｃ）に示すように、キャッシュサーバコンピュータ４，５等からのストリーミングコンテンツの複製をキャッシュしておくキャッシュ領域が用意されている。
そこで、各キャッシュサーバコンピュータ４，５等に対しストリーミングコンテンツの複製４２Ｂを要求すると、その要求に応じた開始位置からの部分的なストリーミングコンテンツが並行して配信され、それらが開始位置の順にキャッシュ領域に格納される。
【００１９】
図６（ｄ）は、キャッシュ領域に格納されるストリーミングコンテンツの格納状態を示すものであり、網掛け部分は既に格納されていることを示している。この例では、１つめのキャッシュサーバコンピュータからは、２８０キロバイト受信予定のうちの２００キロバイトを受信済みであり、２つめのキャッシュサーバコンピュータからは、１２０キロバイト受信予定を全て受信済みであり、３つめのキャッシュサーバコンピュータからは１００キロバイト受信予定のうちの６０キロバイトを受信済みであることを示している。
なお、コンテンツ配信サーバコンピュータ２から受信したストリーミングコンテンツは、キャッシュを行わずにそのままクライアント端末１０に送信するため、キャッシュ領域は用意されていない。
【００２０】
そこで、コンテンツ配信プログラム２２Ａから入手したストリーミングコンテンツがキャッシュ領域にキャッシュしたストリーミングコンテンツ（複製４２Ｂ）の先頭に達した場合は、すなわち図６の例ではコンテンツ配信プログラム２２Ａから入手したストリーミングコンテンツが１つめのキャッシュサーバコンピュータから入手したストリーミングコンテンツの先頭である５００Ｋバイト目に達した場合、これ以降はキャッシュしてあるストリーミングコンテンツの複製４２Ｂを時間的な連続性を維持しながら送信すればよいので、コンテンツ中継プログラム３２Ａに当該コンテンツ配信プログラム２２Ａからの配信は不要になる。そこで、コンテンツ配信プログラム２２Ａに対し入手完了の命令を送信する（ステップ５０９）。
【００２１】
その後、コンテンツ中継プログラム３２Ａは、保存（キャッシュ）しておいたストリーミングコンテンツの複製をクライアント端末１０に各部分の時間的連続性が維持されるように順に送信する(ステップ５１０)。そして、キャッシュしておいたストリーミングコンテンツを全て送信し終えると、クライアント端末１０との接続を切断する（ステップ５１１）。
【００２２】
図７は、コンテンツ中継プログラム３２Ａを構成するキャッシュ管理プログラム４１３が利用する、キャッシュ管理テーブル７００の構成例である。
キャッシュ管理テーブル７００は、コンテンツ名称７０１と、コンテンツ配信サーバコンピュータ２やキャッシュサーバコンピュータ４，５のアドレス７０２、キャッシュしたコンテンツの開始位置７０３、キャッシュが完了したかどうかのフラグ７０４の組からなる。この管理テーブル７００は、データベース中に格納されていても外部記憶装置中にファイルとして格納されていても構わない。
【００２３】
図８は、コンテンツ配信プログラム２２Ａ、複製コンテンツ配信プログラム４２Ａを構成するコンテンツ管理プログラム３０５、４０５が利用する、コンテンツ管理テーブル８００の構成例である。
コンテンツ管理テーブル８００は、コンテンツの名称８０１、コンテンツサイズ８０２、コンテンツ送信に必要な送信帯域幅８０３、利用料金８０４の情報からなる。このコンテンツ管理テーブル８００は、データベース中に格納されていても、外部記憶装置中にファイルとして格納されていても構わない。
【００２４】
以下、コンテンツ中継サービスを行う各プログラムの動作をフローチャートを用いて詳細に説明する。
図９は、コンテンツ配信サーバコンピュータ２や、キャッシュサーバコンピュータ４、５上で稼動するコンテンツ配信プログラム２２Ａ、４２Ａを構成するコンテンツ配信コントロールプログラム３０１、４０１の動作を示すフローチャートである。
コンテンツ配信コントロールプログラム３０１、４０１が開始すると、コンテンツ中継プログラム３２Ａからの接続を待ち、コンテンツ名称と命令を受信する(ステップ９０１)。
命令がコンテンツサイズ要求かどうか判断し(ステップ９０２)、コンテンツサイズ要求の場合は、コンテンツ管理プログラム３０５，４０５から、入手したコンテンツ名称に対応するコンテンツのサイズを入手し(ステップ９０３)、入手したサイズを返却し(ステップ９０４)、ステップ９０１から繰り返す。
【００２５】
命令がコンテンツサイズ要求でない場合は、命令が利用料金要求かどうかを判断し(ステップ９０５)、利用料金要求の場合は、コンテンツ管理プログラム３０５，４０５から入手したコンテンツ名称に対するコンテンツの利用料金を入手し(ステップ９０６)、入手した利用料金を返却し(ステップ９０７)、ステップ９０１から繰り返す。
命令が利用料金要求でない場合、命令がコンテンツ入手要求かどうかを判断し(ステップ９０８)、コンテンツ入手要求の場合は、送信開始位置をコンテンツ中継プログラム３２Ａを構成するコンテンツ中継コントロールプログラム４１１から入手し(ステップ９０９)、コンテンツ管理プログラム３０５，４０５から入手したコンテンツ名称に対するストリーミングコンテンツの送信に必要な送信帯域幅をコンテンツ管理テーブル８００から入手し(ステップ９１０)、コンテンツ帯域管理プログラム３０３，４０３に帯域幅の情報を含む帯域要求を送信する(ステップ９１１)。
【００２６】
そこで、コンテンツ帯域管理プログラム３０３，４０３からの応答を待ち、その応答結果の情報に基づき、利用可能応答かどうかを判断し(ステップ９１２)、利用可能応答であれば、コンテンツの名称、送信開始位置をコンテンツ送信プログラム３０２、４０２に渡し(ステップ９１３)、コンテンツ中継プログラム３２Ａに送信可能応答を返却し(ステップ９１４)、ステップ９０１から繰り返す。
利用不可能応答であれば、コンテンツ中継プログラム３２Ａに送信不可能応答を返却し(ステップ９１５)、ステップ９０１から繰り返す。
要求がコンテンツ入手要求でない場合は、送信終了命令であるので、送信終了のフラグを設定して(ステップ９１６)、ステップ９０１から繰り返す。
【００２７】
図１０は、コンテンツ配信サーバコンピュータ２、キャッシュサーバコンピュータ４、５上で稼動するコンテンツ配信プログラム２２Ａ、４２Ａを構成するコンテンツ送信プログラム３０２、４０２の動作を示すフローチャートである。
コンテンツ送信プログラムが起動すると、コンテンツ配信コントロールプログラム３０１、４０１からの接続を待ち、コンテンツの名称と送信開始位置を入手し(ステップ１００１)、送信ログ管理プログラム３０４，４０４に送信開始命令を送る(ステップ１００２)。
【００２８】
次にコンテンツの名称に対応するストリーミングコンテンツを送信開始位置からコンテンツ中継プログラム３２Ａに送信する(ステップ１００３)。
次に、送信終了フラグをチェックし(ステップ１００４)、送信終了フラグが立っていたら、送信ログ管理プログラム３０４，４０４に送信終了命令を送り(ステップ１００５)、帯域管理プログラム３０３，４０３に帯域開放命令を送信し(ステップ１００６)、ステップ１００１から繰り返す。
送信終了フラグが立っていなければ、送信開始位置に送信量を加え(ステップ１００７)、ステップ１００３から繰り返す。
【００２９】
図１１は、コンテンツ配信サーバコンピュータ２、キャッシュサーバコンピュータ４、５上で稼動するコンテンツ配信プログラム２２Ａ、４２Ａを構成する帯域管理プログラム３０３、４０３の動作を示すフローチャートである。
帯域管理プログラム３０３，４０３が起動すると、コンテンツ配信コントロールプログラム３０１、４０１、コンテンツ送信プログラム３０２，４０２、またはコンテンツ中継プログラム３２Ａからの接続を待ち、命令を受信する(ステップ１１０１)。
受信した命令が空き帯域幅要求かどうか判断し(ステップ１１０２)、空き帯域幅要求であれば、通信可能な現在の空き帯域幅を返却し(ステップ１１０３)、ステップ１１０１から繰り返す。ここで、空き帯域幅を要求するのは、コンテンツ中継プログラム３２Ａである。
なお、空き帯域幅だけでなく、コンテンツ配信サーバコンピュータ２およびキャッシュサーバコンピュータ４，５の現在の負荷状態も合わせて取得するように構成することが出来る。
このようにすれば、コンテンツ配信サーバコンピュータ２およびサーバコンピュータ４，５の現在の負荷状態を考慮してストリーミングコンテンツの取得量を決定することが出来る。
【００３０】
命令が空き帯域幅要求でなければ、帯域幅を受信する(ステップ１１０４)。命令が帯域要求かどうかを判断し(ステップ１１０５)、帯域要求であれば、要求された帯域が確保可能かを判断し(ステップ１１０６)、確保可能であれば、利用中帯域に要求された帯域を加算し(ステップ１１０７)、利用可能応答を返却し(ステップ１１０８)、ステップ１１０１から繰り返す。利用不可能であれば、利用不可能応答を返却し(ステップ１１０９)、ステップ１１０１から繰り返す。
ここで、帯域要求を出すのは、コンテンツ配信コントロールプログラム３０１，４０１である。
命令が帯域要求でなければ帯域開放命令なので、利用中帯域から受信した帯域を減算し(ステップ１１１０)、ステップ１１０１から繰り返す。
【００３１】
図１２は、コンテンツ配信サーバコンピュータ２、キャッシュサーバコンピュータ４上で稼動するコンテンツ配信プログラム２２Ａ、４２Ａを構成する送信ログ管理プログラム３０４、４０４の動作を示すフローチャートである。
送信ログ管理プログラム３０４，４０４が起動すると、コンテンツ送信プログラム３０２，４０２から接続を受け、命令を受信する(ステップ１２０１)。受信した命令が送信開始かどうかを判断し(ステップ１２０２)、送信開始の場合は、時刻、"START"、送信するコンテンツの名称、送信先のコンテンツ中継サーバコンピュータ３の名称を送信ログファイルに格納し(ステップ１２０３)、ステップ１２０１から繰り返す。
【００３２】
命令が送信開始でない場合は、時刻、"END"、送信したコンテンツの名称、送信先のコンテンツ中継サーバコンピュータ３の名称を送信ログファイルに格納し(ステップ１２０４)、ステップ１２０１から繰り返す。
【００３３】
図１３は、コンテンツ配信サーバコンピュータ２、キャッシュサーバコンピュータ４上で稼動するコンテンツ配信プログラム２２Ａ、４２Ａを構成するコンテンツ管理プログラム３０５、４０５の動作を示すフローチャートである。
コンテンツ管理プログラム３０５，４０５が起動すると、コンテンツ配信コントロールプログラム３０１，４０１からの接続を受け、命令とコンテンツ名称を受信する(ステップ１３０１)。
【００３４】
受信した命令がコンテンツサイズ要求かどうかを判断し(ステップ１３０２)、コンテンツサイズ要求の場合は、受け取ったコンテンツ名称に対応するコンテンツサイズをコンテンツ管理テーブル８００から検索し(ステップ１３０３)、その検索結果のコンテンツサイズ８０２を返却して(ステップ１３０４)、ステップ１３０１から繰り返す。
【００３５】
命令がコンテンツサイズ要求でない場合は、命令が利用料金要求かどうかを判断し(ステップ１３０５)、利用料金要求の場合は、受け取ったコンテンツ名称に対応する利用料金８０４をコンテンツ管理テーブル８００から検索し(ステップ１３０６)、その検索結果の利用料金を返却して(ステップ１３０７)、ステップ１３０１から繰り返す。
【００３６】
命令が利用料金要求でない場合は、コンテンツの送信帯域幅要求であるので、受信したコンテンツ名称に対応する送信帯域幅をコンテンツ管理テーブル８００から検索し(ステップ１３０８)、その検索結果の送信帯域幅８０３を返却して(ステップ１３０９)、ステップ１３０１から繰り返す。
【００３７】
図１４は、コンテンツ中継サーバコンピュータ３上で稼動するコンテンツ中継プログラム３２Ａを構成するコンテンツ中継コントロールプログラム４１１の動作を示すフローチャートである。
コンテンツ中継コントロールプログラム４１１が起動すると、クライアント端末１０からの接続を受け、ストリーミングコンテンツの名称を受信する(ステップ１４０１)。そして、受信したコンテンツの名称をコンテンツ配信サーバコンピュータ２のコンテンツ配信コントロールプログラム３０１に渡し、サイズと利用料金を受信する(ステップ１４０２)。
【００３８】
次に、コンテンツ配信サーバコンピュータ２、キャッシュサーバコンピュータ４，５の帯域管理プログラム３０３，４０３に、空き帯域幅要求を送信し、空き帯域幅を受信する(ステップ１４０３)。そして、受信した空き帯域幅に応じて、コンテンツのサイズを図６で説明したように分割する(ステップ１４０４)。次に、分割したサイズにあわせたコンテンツの送信開始位置とコンテンツ名称とコンテンツ入手命令を、コンテンツ配信サーバコンピュータ２のコンテンツ配信コントロールプログラム３０１と、キャッシュサーバコンピュータの複製コンテンツ配信コントロールプログラム４０１に送信し(ステップ１４０５)、応答を受信する(ステップ１４０６)。
【００３９】
次に、受信した応答が、全て送信可能応答かどうか判断し(ステップ１４０７)、受信した応答に送信不可能応答があった場合、コンテンツの開始位置を送信不可能応答があったコンテンツの開始位置に設定し(ステップ１４０８)、その部分を１つのコンテンツとみなして、ステップ１４０３から繰り返す。
【００４０】
全てが送信可能応答の場合、コンテンツ受信プログラム４１２に、コンテンツのサイズと利用料金、コンテンツ送信プログラム３０２と複製コンテンツ送信プログラム４０２からの受信するコンテンツの開始位置を渡して受信を依頼し(ステップ１４０９)、ステップ１４０１から繰り返す。
【００４１】
図１５は、コンテンツ中継サーバコンピュータ３上で稼動するコンテンツ中継プログラム３２Ａを構成するコンテンツ受信プログラム４１２の動作を示すフローチャートである。
コンテンツ受信プログラム４１２が起動すると、コンテンツ中継コントロールプログラム４１１から、コンテンツのサイズと利用料金、コンテンツ送信プログラム３０２と複製コンテンツ送信プログラム４０２から受信するコンテンツの開始位置を入手する(ステップ１４１１)。
【００４２】
次に、キャッシュ管理プログラム４１３にコンテンツサイズ分のキャッシュの確保を依頼する(ステップ１４１２)。次に、コンテンツ配信プログラム２２Ａと複製コンテンツ配信プログラム４２Ａからの接続を受け(ステップ１４１３)、送信位置を０に、全ての接続の受信位置を受信開始位置に設定する(ステップ１４１４)。
コンテンツを受信し(ステップ１５０５)、受信位置が送信位置と等しいか判断し(ステップ１５０６)、等しい場合は、そのままクライアント端末１０に送信し(ステップ１５０７)、送信位置と受信位置に送信データ量を加算する(ステップ１５０８)。
【００４３】
受信位置が、次の受信開始位置に達したかどうか判断し(ステップ１５０９)、受信開始位置に達していたら、指定量のコンテンツの受信が完了したことになるのでコンテンツ配信プログラム２２Ａまたは複製コンテンツ配信プログラム４２Ａとの接続を切断する(ステップ１５１０)。
次に、キャッシュ管理プログラム４１３にコンテンツ名称と、送信開始位置、コンテンツ要求を送信し(ステップ１５１１)、コンテンツを受信する(ステップ１５１２)。受信したコンテンツが空かどうかを判断し(ステップ１５１３)。空でない場合はステップ１５０６から繰り返す。
【００４４】
空の場合は、送信位置がコンテンツサイズに達しているかどうかを判断し(ステップ１５１４)、達していない場合はその接続に関する処理を終了する。達していた場合は、クライアント端末との接続を切断し(ステップ１５１５)、コンテンツ課金管理プログラム４１４に、コンテンツ名称と利用料金を送り(ステップ１５１６)、コンテンツ利用料をコンテンツ配信サーバコンピュータ２とキャッシュサーバコンピュータ４，５の運営者（または運営機関）に分配する配分額を決定する。
これによって、キャッシュサーバコンピュータ４，５の運営者（または運営機関）もストリーミングコンテンツの配信に寄与した分の利用料金を受取ることが出来る。
【００４５】
次にキャッシュ管理プログラム４１３にコンテンツ名称とキャッシュ開放命令を送り(ステップ１５１７)、ステップ１５０１から繰り返す。
ステップ１５０９において、受信位置が次の受信開始位置に達していない場合は、ステップ１５０５から繰り返す。
また、ステップ１５０６において、受信位置と送信位置が等しくない場合は、受信位置と受信したストリームコンテンツとキャッシュ保存命令をキャッシュ管理プログラム４１３に渡す(ステップ１５１８)。
そして、受信位置が、次の受信開始位置に達したかどうか判断し(ステップ１５１９)、受信開始位置に達していたら、コンテンツ配信プログラム２２Ａ、４２Ａとの接続を切断して(ステップ１５２０)、その接続に関する処理を終了する。達していない場合は、ステップ１５０５から繰り返す。
【００４６】
図１６は、コンテンツ中継サーバコンピュータ３上で稼動するコンテンツ中継プログラム３２Ａを構成するキャッシュ管理プログラム４１３の動作を示すフローチャートである。
キャッシュ管理プログラム４１３が起動すると、コンテンツ受信プログラム４１２から命令を受け取る(ステップ１６０１)。次に、命令がキャッシュ確保かどうかを判断し(ステップ１６０２)、キャッシュ確保の場合は、領域サイズを受信し(ステップ１６０３)、外部記憶装置中に指定されたキャッシュ領域を確保し(ステップ１６０４)、ステップ１６０１から繰り返す。
【００４７】
命令がキャッシュ確保でない場合は、命令がキャッシュ保存かどうかを判断し(ステップ１６０５)、命令がキャッシュ保存の場合は、コンテンツ格納開始位置とストリーミングコンテンツを入手し(ステップ１６０６)、外部記憶領域に確保したキャッシュ領域に保存し(ステップ１６０７)、ステップ１６０１から繰り返す。
【００４８】
命令がキャッシュ保存でない場合は、命令がキャッシュ入手かどうか判断し(ステップ１６０８)、命令がキャッシュ入手の場合は、コンテンツ開始位置を入手し(ステップ１６０９)、外部記憶装置に確保したキャッシュ領域のコンテンツ開始位置からデータを入手し(ステップ１６１０)、データを入手要求元に送信（返却）し(ステップ１６１１)、ステップ１６０１から繰り返す。
【００４９】
命令がキャッシュ入手でない場合は、キャッシュサイズ入手命令かどうか判断し(ステップ１６１２)、キャッシュサイズ入手命令の場合は、コンテンツ名称を入手し(ステップ１６１３)、キャッシュ管理テーブル７００からコンテンツ配信サーバコンピュータ２のアドレスとコンテンツ開始位置を入手し（ステップ１６１４）、コンテンツ開始位置の差分からキャッシュしたサイズを計算し(ステップ１６１５)、コンテンツ配信サーバコンピュータのアドレスとキャッシュサイズの組を返却し(ステップ１６１６)、ステップ１６０１から繰り返す。
【００５０】
命令がキャッシュサイズ入手命令でない場合は、キャッシュ開放命令であるから、コンテンツ名称を受信し(ステップ１６１７)、キャッシュ管理テーブル７００から、コンテンツ名称に対応する列を削除し(ステップ１６１８)、外部記憶装置中に確保したキャッシュ領域を開放し(ステップ１６１９)、ステップ１６０１から繰り返す。
【００５１】
図１７は、コンテンツ中継サーバコンピュータ３上で稼動するコンテンツ中継プログラム３２Ａを構成するコンテンツ課金管理プログラム４１４の動作を示すフローチャートである。
コンテンツ課金管理プログラム４１４が起動すると、コンテンツ受信プログラム４１２から、コンテンツ名称と利用料金を受信する(ステップ１７０１)。次に、キャッシュ管理プログラム４１３に、コンテンツ名称とキャッシュサイズ入手命令を送り(ステップ１７０２)、コンテンツ配信サーバコンピュータ２とキャッシュサーバコンピュータ４，５の名称と受信量のデータを受信する(ステップ１７０３)。
【００５２】
次に、利用料金を受信量データにあわせて分配し(ステップ１７０４)、コンテンツ配信サーバコンピュータ２、キャッシュサーバコンピュータ４，５を管理しているプロバイダの課金プログラムに送信し(ステップ１７０５)、ステップ１７０１から繰り返す。このとき、各プロバイダの課金プログラムの構成や処理内容については本発明の範囲外であるので、その説明は省略する。
【００５３】
以上のように、本実施形態においては、クライアント端末１０がコンテンツ中継サーバコンピュータ３にアクセスし、入手したいストリーミングコンテンツの名称を指示すると、コンテンツ中継サーバ３上で稼動するコンテンツ中継プログラム３２Ａが、ストリーミングコンテンツの名称をコンテンツ配信サーバコンピュータ２に送信し、ストリーミングコンテンツのサイズを入手し、コンテンツ配信サーバコンピュータ２とキャッシュサーバコンピュータ４，５に対してストリーミングコンテンツの異なる部分の取得要求を並行して出し、コンテンツ配信サーバコンピュータ２から入手したストリーミングコンテンツについては、そのままクライアント端末１０に配信すると共に、キャッシュサーバ４，５から入手したストリーミングコンテンツは、コンテンツ中継サーバコンピュータ３の記憶領域中にキャッシュしておき、コンテンツ配信サーバコンピュータ２から入手したストリーミングコンテンツが、キャッシュしておいたデータの先頭に達した時、コンテンツ配信サーバコンピュータ２との間の接続を切断し、以後記憶領域中にキャッシュしているストリーミングコンテンツをクライアント端末１０に対して配信するように構成したため、コンテンツ配信サーバコンピュータ２へ接続している時間（アクセス時間）が短縮され、多数のクライアント端末からの同時アクセスによる帯域を使い切る確率が低減する。
【００５４】
また、コンテンツ配信サーバコンピュータ２とキャッシュサーバコンピュータ４，５の帯域利用率をリアルタイムにモニタリングしておくことで、最初にアクセスするコンテンツ配信サーバコンピュータ２を帯域利用率が最も低い他のキャッシュサーバに変更することも可能であり、クライアント端末１０に対してストリーミングコンテンツを円滑の配信できるようになるうえ、キャッシュサーバコンピュータの有効活用を推進することができる。
また、コンテンツ配信サーバコンピュータ２やキャッシュサーバコンピュータ４，５は、全てのコンテンツを格納しておくために巨大な外部記憶装置を必要とするために、新規に追加するには多大な費用が発生するのに比べ、コンテンツ中継サーバコンピュータ３は、送信時のキャッシュに必要な外部記憶装置だけですむので、新規に設置するにしても費用が少なくて済むという利点がある。
さらに、新規にコンテンツ配信サーバコンピュータを各ＩＳＰに増設しなくとも、コンテンツ中継コンピュータ３を利用することで、既存のコンテンツ配信コンピュータが提供できる帯域幅以上の要求に答えることが可能になり、各ＩＳＰにとっては、ストリーミングコンテンツに対して最大数の同時要求が生じる場合を想定して、コンテンツ配信サーバコンピュータを用意せずに済むようになり、設備投資にかかる負担を軽減することが可能になる。
【００５５】
特に、ネットワーク中継サーバコンピュータがマルチキャストプロトコルをサポートしていないユニキャストの通信環境においても使用することができ、しかもコンテンツ配信サーバコンピュータに対して多数のアクセスが集中したときでも、全てのクライアント端末に対してストリーミングコンテンツを快適に配信することができ、携帯型のコンピュータや携帯電話機等の情報機器によるブロードバンド通信の普及に伴うストリーミングコンテンツの配信待ち時間の短縮化や配信遅延時間の短縮化などに貢献することが出来る。
【００５６】
【発明の効果】
以上のように本発明によれば、ユニキャストの通信環境においてコンテンツ配信サーバに対して多数のアクセスが集中したときでも、全てのクライアント端末に対してストリーミングコンテンツを快適に配信することができる。また、携帯型のコンピュータや携帯電話機等の情報機器によるブロードバンド通信の普及に伴うストリーミングコンテンツの配信待ち時間の短縮化や配信遅延時間の短縮化などに貢献することが出来る。
【図面の簡単な説明】
【図１】本発明に係るストリーミングコンテンツの中継システムの実施形態を示すシステム構成図である。
【図２】コンテンツ配信サーバコンピュータ、コンテンツ中継サーバコンピュータ、キャッシュサーバコンピュータのブロック構成図である。
【図３】コンテンツ配信サーバコンピュータ上で稼働するコンテンツ配信プログラムの機能ブロック図である。
【図４】キャッシュサーバコンピュータ上で稼働する複製コンテンツ配信プログラムとコンテンツ中継サーバコンピュータ上で稼働するコンテンツ中継プログラムの機能ブロック図である。
【図５】クライアント端末、コンテンツ中継プログラム、コンテンツ配信プログラム、複製コンテンツ配信プログラム間でやりとりされる命令及びデータの流れを示した図である。
【図６】コンテンツ中継サーバコンピュータが分割して取得するストリーミングコンテンツの例とキャッシュ領域の関係を説明する図である。
【図７】コンテンツ中継プログラムを構成するキャッシュ管理プログラムが利用するキャッシュ管理テーブルの構成例を示す図である。
【図８】コンテンツ配信プログラム、複製コンテンツ配信プログラムを構成するコンテンツ管理プログラムが利用するコンテンツ管理テーブルの構成例を示す図である。
【図９】コンテンツ配信サーバコンピュータやキャッシュサーバコンピュータ上で稼動するコンテンツ配信プログラムを構成するコンテンツ配信コントロールプログラムの動作を示すフローチャートである。
【図１０】コンテンツ配信サーバコンピュータやキャッシュサーバコンピュータ上で稼動するコンテンツ配信プログラムを構成するコンテンツ送信プログラムの動作を示すフローチャートである。
【図１１】コンテンツ配信サーバコンピュータやキャッシュサーバコンピュータ上で稼動するコンテンツ配信プログラムを構成するコンテンツ帯域管理プログラムの動作を示すフローチャートである。
【図１２】コンテンツ配信サーバコンピュータやキャッシュサーバコンピュータ上で稼動するコンテンツ配信プログラムを構成する送信ログ管理プログラムの動作を示すフローチャートである。
【図１３】コンテンツ配信サーバコンピュータやキャッシュサーバコンピュータ上で稼動するコンテンツ配信プログラムを構成するコンテンツ管理プログラムの動作を示すフローチャートである。
【図１４】コンテンツ中継サーバコンピュータ上で稼動するコンテンツ中継プログラムを構成するコンテンツ中継コントロールプログラムの動作を示すフローチャートである。
【図１５】コンテンツ中継サーバコンピュータ上で稼動するコンテンツ中継プログラムを構成するコンテンツ受信プログラムの動作を示すフローチャートである。
【図１６】コンテンツ中継サーバコンピュータ上で稼動するコンテンツ中継プログラムを構成するキャッシュ管理プログラムの動作を示すフローチャートである。
【図１７】コンテンツ中継サーバコンピュータ上で稼動するコンテンツ中継プログラムを構成するコンテンツ課金管理プログラムの動作を示すフローチャートである。
【符号の説明】
１…ＩＳＰ、２…コンテンツ配信サーバコンピュータ、３…コンテンツ中継サーバコンピュータ、４，５…キャッシュサーバコンピュータ、１０…クライアント端末、２２Ａ…コンテンツ配信プログラム、２２Ｂ…ストリーミングコンテンツ、２２Ｃ…コンテンツ送信ログ、３２Ａ…コンテンツ中継プログラム、３２Ｂ…コンテンツキャッシュ、４２Ａ…複製コンテンツ配信プログラム、４２Ｂ…ストリーミングコンテンツの複製、４２Ｃ…送信ログ。
【図１】
0003757390.tif 000002
【図２】
0003757390.tif 000003
【図３】
0003757390.tif 000004
【図４】
0003757390.tif 000005
【図５】
0003757390.tif 000006
【図６】
0003757390.tif 000007
【図７】
0003757390.tif 000008
【図８】
0003757390.tif 000009
【図９】
0003757390.tif 000010
【図１０】
0003757390.tif 000011
【図１１】
0003757390.tif 000012
【図１２】
0003757390.tif 000013
【図１３】
0003757390.tif 000014
【図１４】
0003757390.tif 000015
【図１５】
0003757390.tif 000016
【図１６】
0003757390.tif 000017
【図１７】
0003757390.tif 000018