(57)【要約】【課題】  一つのサーバが複数のクライアントに対してデータの配信を行うため、ネットワーク負荷が高くなりがちである。また、従来、プロキシサーバを備えていても、読み込んだことのない途中からのデータは保管されない。【解決手段】  情報管理サーバは、サーバａがストリーミングデータの配信を最後まで行ったかどうか監視しており（Ｓ４）、データ配信を途中で止めた場合は、サーバａよりも配信要求元のクライアントとの通信状態が良いサーバｂがあれば、そのサーバｂの記憶装置にサーバａが配信を途中で止めた後の未配信のストリーミングデータ部分を再構成後に複製して一旦処理を終了する。その後、配信要求元のクライアントが配信を要求した場合（Ｓ１）、情報管理サーバは、サーバｂに、その記憶装置に複製されている、再構成された途中からデータの最後までのストリーミングデータの配信をしてもらう（Ｓ１１）。【選択図】            図２
2005316802.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に格納されたストリーミングデータをそれぞれ配信する複数のサーバと、所望のストリーミングデータの配信を要求し、この要求したストリーミングデータが通信ネットワークを介して前記複数のサーバのうちの一のサーバから配信される一又は複数のクライアントと、前記通信ネットワークに接続されて、前記複数のサーバの各記憶装置に格納されたストリーミングデータの所在を管理しており、前記クライアントから前記通信ネットワークを介してストリーミングデータの要求を受けると、前記複数のサーバのうち、要求されたストリーミングデータを前記記憶装置に格納している第１のサーバから前記通信ネットワークを介して前記要求されたストリーミングデータを配信させる情報管理サーバとからなるデータ配信システムにおいて、
前記情報管理サーバは、
前記第１のサーバから配信要求元のクライアントへの前記ストリーミングデータの配信が途中で中止したときには、配信を中止した途中の時点からデータの最後までのストリーミングデータ部分を時間情報を変更して再構成する再構成手段と、
前記複数のサーバのうち、配信要求元のクライアントとの間の通信状況が前記第１のサーバよりも良好な第２のサーバがあるときには、その第２のサーバの記憶装置に前記再構成したストリーミングデータ部分を複製する複製手段と、
前記配信要求元のクライアントから配信を中止した途中の時点以降のストリーミングデータ部分の配信要求があったときには、前記第２のサーバがあるときには前記第２のサーバから、前記第２のサーバが無いときには前記第１のサーバから、前記通信ネットワークを介して前記配信を中止した途中の時点以降のストリーミングデータ部分を前記配信要求元のクライアントへ配信させる配信指示手段と
を有することを特徴とするデータ配信システム。
【請求項２】
前記複製手段は、前記複数のサーバのうち前記配信要求元のクライアントとの間の通信速度が最も速いサーバ、又は前記配信要求元のクライアントとの間のノード数が最も少ないサーバを前記第２のサーバとして、その第２のサーバの記憶装置に前記再構成したストリーミングデータ部分を複製することを特徴とする請求項１記載のデータ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ配信システムに係り、特に通信ネットワークを介して接続されたサーバとクライアントにおいて、サーバがクライアントへストリーミングデータを配信するデータ配信システムに関する。
【背景技術】
【０００２】
従来、通信ネットワークを介してサーバが複数のクライアントに接続されており、サーバがクライアントへ、ビデオデータ等のストリーミングデータを配信するデータ配信システムが知られている（例えば、特許文献１参照）。この従来のデータ配信システムでは、複数のクライアントからサーバに対して同じデータの配信要求があったときには、そのデータを保管されているサーバが、データ要求元のクライアントへストリーミングデータを配信することが行われてきた。
【０００３】
また、上記の従来のデータ配信システムでは、クライアントとサーバとの間に１度アクセスしたデータに対して、そのデータをキャッシュしておくことのできるプロキシサーバを備えておくことで、このデータに対して２度目以降はプロキシサーバにキャッシュされているデータをアクセスすることにより、通信の負荷の低減と通信速度の向上を図っている。
【０００４】
【特許文献１】特許第３３６９８２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来のデータ配信システムでは、一つのサーバが複数のクライアントに対してデータの配信を行うため、ネットワーク負荷が高くなりがちということが問題である。また、プロキシサーバを備えていてもキャッシュされるデータは、一度読み込んだデータであって、読み込んだことのない途中からのデータは保管されないという問題がある。
【０００６】
本発明は上記の点に鑑みなされたもので、サーバがクライアントにストリーミングデータを配信する際に、ネットワーク状況を踏まえて、ストリーミングデータを使用するであろうクライアント装置のより近い場所、あるいは通信速度の速い別のサーバに、そのストリーミングデータを途中からの一部のデータを複製することによって、ネットワークの負荷分散化を実現し、もってネットワークの安定性の向上を高め得るデータ配信システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、本発明は、記憶装置に格納されたストリーミングデータをそれぞれ配信する複数のサーバと、所望のストリーミングデータの配信を要求し、この要求したストリーミングデータが通信ネットワークを介して複数のサーバのうちの一のサーバから配信される一又は複数のクライアントと、通信ネットワークに接続されて、複数のサーバの各記憶装置に格納されたストリーミングデータの所在を管理しており、クライアントから通信ネットワークを介してストリーミングデータの要求を受けると、複数のサーバのうち、要求されたストリーミングデータを記憶装置に格納している第１のサーバから通信ネットワークを介して要求されたストリーミングデータを配信させる情報管理サーバとからなるデータ配信システムにおいて、
上記の情報管理サーバは、第１のサーバから配信要求元のクライアントへのストリーミングデータの配信が途中で中止したときには、配信を中止した途中の時点からデータの最後までのストリーミングデータ部分を時間情報を変更して再構成する再構成手段と、複数のサーバのうち、配信要求元のクライアントとの間の通信状況が第１のサーバよりも良好な第２のサーバがあるときには、その第２のサーバの記憶装置に再構成したストリーミングデータ部分を複製する複製手段と、配信要求元のクライアントから配信を中止した途中の時点以降のストリーミングデータ部分の配信要求があったときには、第２のサーバがあるときには第２のサーバから、第２のサーバが無いときには第１のサーバから、通信ネットワークを介して配信を中止した途中の時点以降のストリーミングデータ部分を配信要求元のクライアントへ配信させる配信指示手段とを有する構成としたものである。
【０００８】
この発明では、クライアントから通信ネットワークを介してストリーミングデータの要求を受けると、複数のサーバのうち、要求されたストリーミングデータを記憶装置に格納している第１のサーバから通信ネットワークを介して要求されたストリーミングデータを配信させるデータ配信システムにおいて、第１のサーバが配信を中止した途中の時点からデータの最後までのストリーミングデータ部分を時間情報を変更して再構成して、複数のサーバのうち、配信要求元のクライアントとの間の通信状況が第１のサーバよりも良好な第２のサーバがあるときには、その第２のサーバの記憶装置に複製することにより、配信要求元のクライアントから配信を中止した途中の時点以降のストリーミングデータ部分の配信要求があったときには、第２のサーバから通信ネットワークを介して配信を中止した途中の時点以降のストリーミングデータ部分を配信要求元のクライアントへ配信させることができる。
【０００９】
また、上記の目的を達成するため、本発明は、上記の複製手段を、複数のサーバのうち配信要求元のクライアントとの間の通信速度が最も速いサーバ、又は配信要求元のクライアントとの間のノード数が最も少ないサーバを第２のサーバとして、その第２のサーバの記憶装置に再構成したストリーミングデータ部分を複製することを特徴とする。
【００１０】
更に、上記の目的を達成するため、本発明は、上記の複製手段を、サーバと配信要求元のクライアントとの間の通信速度と、配信要求元のクライアントとの間のノード数とのバランスにより、上記の第２のノードを決定する。
【発明の効果】
【００１１】
本発明によれば、複数のサーバのうち、配信要求元のクライアントとの間の通信状況が第１のサーバよりも良好な第２のサーバがあるときには、その第２のサーバの記憶装置に配信を中止した途中の時点以降のストリーミングデータ部分を複製しておき、その後に配信を中止した以降のストリーミングデータ部分の配信要求があったときには、第２のサーバから通信ネットワークを介して配信を中止した途中の時点以降のストリーミング部分を配信要求元のクライアントへ配信させるようにしたため、それぞれのクライアントにとって最適なサーバから、ストリーミングデータを配信してもらうことができ、通信ネットワークの負荷を分散することができ、また、ストリーミングデータの配信の安定性を向上することができる。
【発明を実施するための最良の形態】
【００１２】
図１は本発明になるデータ配信システムの一実施の形態のシステム構成図を示す。同図において、サーバ１０１及び１０２と、情報管理サーバ１０３と、クライアント２０１及び２０２とが互いに双方向の通信ネットワーク３００を介して接続されている。サーバ１０１は、ストリーミングデータＤ１又はストリーミングデータＤ１の一部を格納する記憶装置１１１を有しており、サーバ１０２は、ストリーミングデータＤ２又はストリーミングデータＤ２の一部を格納する記憶装置１１２を有している。
【００１３】
また、情報管理サーバ１０３は、ストリーミングデータＤ１、Ｄ２の格納場所（所在）やそのデータの状態（状況）に関する情報データＤ３を格納する記憶装置１１３を有しており、また、通信ネットワーク３００に接続された特定のクライアントと各サーバ間のノード数を求めることのできる機能を有している。クライアント２０１及び２０２は、それぞれモニタやスピーカなどの出力装置２１１、２１２を有している。
【００１４】
この実施の形態では、例えば、クライアント２０１又は２０２からの要求により、サーバ１０１又は１０２がストリーミングデータＤ１又はＤ２又はストリーミングデータの一部の配信を行う。クライアント２０１、２０２は、サーバ１０１又は１０２から得られたストリーミングデータＤ１又はＤ２の再生を出力装置２１１、２１２を使用して行う。
【００１５】
情報管理サーバ１０３は、そのストリーミングデータＤ１、Ｄ２の格納場所や、そのデータの状態を管理するものである。また、情報管理サーバ１０３は、途中まで配信されたストリーミングデータの未配信のストリーミングデータ部分の再構成なども行う。すべてのクライアント２０１及び２０２はストリーミングデータの配信要求する際、この情報管理サーバ１０３に一旦問い合わせて、どのサーバからストリーミングデータを配信してもらえばいいのかを問い合わせる。
【００１６】
次に、本実施の形態の動作について、図２のフローチャートを併せ参照して説明する。まず、クライアント２０１又は２０２が通信ネットワーク３００を介して情報管理サーバ１０３に特定のストリーミングデータ配信要求を行う（ステップＳ１）。情報管理サーバ１０３は、配信要求元のクライアントが初めてそのストリーミングデータの配信を要求してきたかどうかを確かめる（ステップＳ２）。初めての要求である場合は、配信要求されたストリーミングデータを格納している記憶装置を有するサーバ１０１又は１０２（図２ではサーバａとする）から、通信ネットワーク３００を介して配信要求元のクライアントへデータの配信を行う（ステップＳ３）。
【００１７】
情報管理サーバ１０３は、サーバａがストリーミングデータの配信をそのデータの最後まで行ったかどうか監視しており（ステップＳ４）、データの最後まで配信が行われたときには、後述するサーバｂが有する記憶装置に、配信したストリーミングデータがあれば、そのデータを削除し、その情報を情報管理サーバ１０３の記憶装置１１３に登録する（ステップＳ５）。
【００１８】
もし、サーバａからのストリーミングデータの配信を最後まで行わず、配信要求元のクライアントが、後日そのデータの配信を途中から配信してもらいたいなどといった理由で、配信を途中で止めることとなった場合は、サーバａはネットワーク負荷が活発でない時間帯まで待機し（ステップＳ６）、ネットワークの状況により、配信要求元のクライアントとの間で通信状態がより良いサーバが他にあるかどうか情報管理サーバ１０３が判定する（ステップＳ７）。
【００１９】
通信状態がより良いサーバとは、後述するように、サーバａよりも配信要求元のクライアントとがより近い（介在するノード数が少ない）サーバ（図２ではサーバｂ）、又は通信速度の速いサーバ（図２ではサーバｂ）である。通信状態がより良いサーバｂがあれば（ステップＳ７のYES）、情報管理サーバ１０３は、サーバａが配信を途中で止めた後の未配信のストリーミングデータ部分を再構成して、サーバａの記憶装置から読み出してサーバｂの記憶装置に書き込んだ（複製した）後（ステップＳ８）、情報管理サーバ１０３の記憶装置１１３にそのデータの状態を更新する（ステップＳ９）。
【００２０】
このように、データ配信を途中で止めた場合は、サーバａよりも配信要求元のクライアントとの通信状態が良いサーバｂがあれば、そのサーバｂの記憶装置にサーバａが配信を途中で止めた後の未配信のストリーミングデータ部分を再構成後に複製して一旦処理を終了する。また、ステップＳ７でサーバａよりも配信要求元のクライアントとの通信状態が良いサーバｂが存在しないと判定されたときには、上記の再構成及び複製は行わずに処理を一旦終了する。
【００２１】
その後、配信要求元のクライアントが、途中まで視聴していたストリーミングデータのその後のデータ部分の配信を要求した場合（ステップＳ１）、その配信要求は初めてではないので（ステップＳ２Ｎｏ）、情報管理サーバ１０３はその配信要求されたストリーミングデータの情報により、配信要求元のクライアントと通信状態が良いサーバｂが存在したかどうか判定する（ステップＳ１０）。
【００２２】
ステップＳ１０でサーバｂが存在しないと判定されたときには、サーバａからクライアントに途中からのストリーミングデータを引き続いて配信させ（ステップＳ３）、サーバｂが存在していると判定されたときには、そのサーバｂの記憶装置に再構成された途中からデータの最後までのストリーミングデータが複製されているので、サーバｂから以後の再構成されたストリーミングデータの配信をしてもらう（ステップＳ１１）。その後、再びそのストリーミングデータの最後まで配信されたかどうか監視する（ステップＳ４）。
【００２３】
途中からのストリーミングデータの最後までサーバｂから配信要求元のクライアントに配信されたときには、そのサーバｂからストリームデータを削除させ、また、サーバａから配信されたときにも、サーバｂに配信したストリームデータがあれば、それを削除し、情報管理サーバ１０３に登録する（ステップＳ５）。
【００２４】
図３はサーバとクライアントの通信状況を示すネットワーク構成図を示す。図３はあるクライアント２０３から複数のサーバ１０１及び１０２のうち、どのサーバを選ぶと、一番少ないノード数が得られるかを説明するためのネットワーク構成図である。通信ネットワークの機器を接続するには、ルータやスイッチングハブなどの装置４０１、４０２を経由して、目的のデータを配信することになる。
【００２５】
まず、サーバ１０１の記憶装置に、クライアント２０３が視聴したい目的のストリーミングデータが格納されているとすると、そのサーバ１０１とクライアント２０３とのノード数は３である。一方、サーバ１０２の記憶装置に、クライアント２０３が視聴したい目的のストリーミングデータが格納されているとすると、そのサーバ１０２とクライアント２０３とのノード数は２である。このことから、ストリーミングデータはサーバ１０２の記憶装置にある方が通信上の安定性や速度などから望ましいということになる。
【００２６】
また、ハブやルータの機器の状態や情報を知るには、ＳＮＭＰ（Simple Network Management Protocol）のＭＩＢ(Management Information Base)を使用することで解決できる。このＭＩＢはＳＮＭＰで管理されるネットワーク機器が、自分の状態を知らせるための情報のことである。このプロトコルを使うことによって、お互いを結ぶネットワークのノード数を求めることができる。
【００２７】
次に、本実施の形態で配信するストリーミングデータについて説明する。図４（Ａ）に示すように、ストリーミングデータは、先頭にこのストリーミングデータに関する各種情報が書かれているヘッダＨ０が配置され、以下、ヘッダＨ１と実際の映像などのデータＳＤ１からなる１番目のパケット＃１、ヘッダＨ２とデータＳＤ２からなる２番目のパケット＃２、以下同様の構成の複数のパケットが時系列的に合成された構成である。
【００２８】
このストリーミングデータを、ユーザが閲覧をし、途中まで閲覧した場合、途中以降のデータをそのユーザが再度視聴するであろうという予測のもと、情報管理サーバ１０３は途中以降のストリーミングデータを図４（Ｂ）に示すように再構成する。この途中以降のストリーミングデータは、先頭にヘッダＨＡが配置され、以降、まだ視聴されていない途中のパケット＃ｎ以降、データの最後までのパケットが時系列に構成されている。
【００２９】
ここで、図４（Ａ）に示すヘッダＨ０には、ストリーミングデータに関する情報が書かれているが、図４（Ｂ）の先頭のヘッダＨＡは、ヘッダＨ０中のストリーミングデータの総再生時間が書き換えられたものである。また、図４（Ｂ）に示す各パケットはサーバの記憶装置から情報管理サーバ１０３が読み出したものと同じであるが、その各パケットのヘッダＨｎ等は、この部分に書かれている全てのパケットヘッダに現在の再生時間（スタートして何秒目であるかの書き換え）が書き換えられたものである。
【００３０】
情報管理サーバ１０３は図４（Ｂ）に示す再構成したストリーミングデータをクライアントにとって一番近い（介在するノード数が一番少ない）サーバ、又はクライアント・サーバ間で一番通信の安定したサーバにデータを送り、そのサーバの記憶装置に途中以降の再構成したストリーミングデータを複製する。
【００３１】
次回、クライアントが、途中以降のストリーミングデータにアクセスする際、途中からのストリーミングデータが格納されたサーバに情報管理サーバ１０３を介してアクセスし、そのデータを視聴するようにする。このように、本実施の形態によれば、クライアントにとって一番近いサーバの記憶装置にデータを複製するようにしているため、通信ネットワーク３００の負荷を分散化することができ、途中経路のネット回線の通信状態が不安定になる可能性が減り、ネットワーク通信の安定性を向上できる。
【００３２】
なお、本発明は上記の実施の形態に限定されるものではなく、例えば、上記の実施の形態では、ノード数の少ない方のサーバに、未配信の残りのデータを複製するように説明したが、通信速度の速いサーバに置く方法もある。この方法では、ｐｉｎｇなどのコマンドにより、サーバとクライアントのネットワーク通信速度が求められる。そして、通信速度のより速い方のサーバの記憶装置にストリーミングデータの一部を複製し、クライアントがそのサーバから複製したデータを配信してもらうことにより、通信ネットワークの負荷を分散することができる。
【００３３】
また、ノード数と通信速度の両方のバランスから最適なサーバに、未配信の残りのデータを複製するようにしてもよい。更に、通信ネットワーク３００に接続されるクライアント数は１つでも可能である。
【００３４】
また、本発明は、課金制度のストリーミング配信の応用にも使用できる。例えば、クライアントが途中まで視聴したストリーミングデータを、そのクライアント装置から一番近い場所、または通信速度の速いサーバの記憶装置に、途中以降のストリーミングデータを格納しておく。万が一、この格納しておいた途中以降のストリーミングデータが第三者により視聴されたとしても、そのストリーミングデータは途中から始まる不完全なストリーミングデータであるため、第三者にとって達成感は乏しいものとなる。また、視聴し終わったデータを自動抹消することで、第三者に視聴される可能性を低く抑えることができる。
【図面の簡単な説明】
【００３５】
【図１】本発明システムの一実施の形態の構成図である。
【図２】本発明システムの動作説明用フローチャートである。
【図３】本発明システムのサーバとクライアントの通信状況を示すネットワーク構成図である。
【図４】途中まで視聴したパケットと途中以降のパケットの説明図である。
【符号の説明】
【００３６】
１０１、１０２  サーバ
１０３  情報管理サーバ
１１１、１１２、１１３  記憶装置
２０１、２０２  クライアント
２１１、２１２  出力装置
３００  通信ネットワーク
【図１】
2005316802.tif 000003
【図２】
2005316802.tif 000004
【図３】
2005316802.tif 000005
【図４】
2005316802.tif 000006