JP2009260569A - データ配信システム及びデータ配信方法 - Google Patents
データ配信システム及びデータ配信方法 Download PDFInfo
- Publication number
- JP2009260569A JP2009260569A JP2008106101A JP2008106101A JP2009260569A JP 2009260569 A JP2009260569 A JP 2009260569A JP 2008106101 A JP2008106101 A JP 2008106101A JP 2008106101 A JP2008106101 A JP 2008106101A JP 2009260569 A JP2009260569 A JP 2009260569A
- Authority
- JP
- Japan
- Prior art keywords
- server
- data
- distribution
- client
- relay server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】配信データを配信するサーバの負荷軽減を図りつつ、当該配信データの連続性を確保できるようにする。
【解決手段】カメラサーバ111では、配信データを中継するための中継サーバ(カメラサーバ112)を選定し(S604〜S607)、自装置が高負荷状態の場合に、中継サーバ112を中継して、順番情報を付与した配信データを配信する。この際、カメラサーバ111では、クライアント121、122に対して、サーバ切替え通知を行う(S608、S609)。クライアント121、122では、カメラサーバ111から配信データを受信している状態で、サーバ切替え通知を受けた場合に、カメラサーバ111から最後に受信した配信データの順番情報に示される順番の次の順番に係る情報を、中継サーバ112に配信要求として送信する(S610、S612)。
【選択図】図6
【解決手段】カメラサーバ111では、配信データを中継するための中継サーバ(カメラサーバ112)を選定し(S604〜S607)、自装置が高負荷状態の場合に、中継サーバ112を中継して、順番情報を付与した配信データを配信する。この際、カメラサーバ111では、クライアント121、122に対して、サーバ切替え通知を行う(S608、S609)。クライアント121、122では、カメラサーバ111から配信データを受信している状態で、サーバ切替え通知を受けた場合に、カメラサーバ111から最後に受信した配信データの順番情報に示される順番の次の順番に係る情報を、中継サーバ112に配信要求として送信する(S610、S612)。
【選択図】図6
Description
本発明は、ネットワークを介してデータの配信を行うデータ配信システム及びデータ配信方法に関するものである。さらに、本発明は、データ配信システムを構成するクライアント及びサーバ、これらの制御方法、当該制御方法をコンピュータに実行させるためのプログラム、並びに、当該プログラムを記憶したコンピュータ読み取り可能な記憶媒体に関する。
近年、インターネットなどのIP(Internet Protocol)ネットワークを利用したデータ配信システムが増加してきている。このデータ配信システムは、例えば、スキー場や動物園の状況を配信するインターネットサイトに採用されており、他にも、店舗監視やビル監視などに採用されている。このデータ配信システムの具体例として、ネットワークカメラを用いたデータ配信システムが存在している。
上述したデータ配信システムは、例えば、ネットワークカメラなどのサーバと、画像データや音声データなどの配信データを表示、再生、蓄積等するクライアントから構成され、各クライアントが所望のサーバに直接要求し、配信データを受信する。このため、1台のサーバが複数のクライアントに対して同じデータを配信する場合が発生する。
これらに対する先行技術としては、例えば、下記の特許文献1に示す技術などが挙げられる。具体的に、特許文献1では、各仮想計算機で実行するWebサーバプログラムの負荷を監視し、負荷が増大した仮想計算機における配信データを負荷に余裕のある仮想計算機に転送することで、負荷分散を実現している。
しかしながら、データ配信システムにおいて、特定のサーバが多数のクライアントにデータを配信している場合には、サーバの1クライアント当りの配信能力が低下するという問題があった。また、上述したネットワークカメラを用いたデータ配信システムでは、多数のクライアントが1台のネットワークカメラにデータの配信を要求すると、画像データの配信フレームレートの低下や音声データの到着遅延などの問題が発生していた。この場合、ネットワークカメラのような比較的処理能力の低い機器がサーバとなっている場合には、一般のWebサーバよりも少ないクライアント数でこのような問題が発生する。
さらに、従来においては、例えば、サーバから直接、配信データを配信している際に、当該サーバの負荷分散を目的して負荷に余裕のあるサーバを中継して配信する処理に切替えた場合、配信データの連続性を確保することが困難であるという問題があった。
即ち、従来では、配信データを配信するサーバの負荷軽減を図りつつ、当該配信データの連続性を確保することが困難であるという問題があった。
本発明は上述した問題点に鑑みてなされたものであり、配信データを配信するサーバの負荷軽減を図りつつ、当該配信データの連続性を確保できるようにすることを目的とする。
本発明のデータ配信システムは、画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムであって、前記サーバは、前記ネットワークに接続された他のサーバの中から前記配信データを中継するための中継サーバを選定する中継サーバ選定手段と、順番情報を付与した前記配信データを、自装置の負荷状態に応じて前記クライアントまたは前記中継サーバに配信する配信手段と、前記配信手段で前記中継サーバに前記配信データを配信する場合に、前記クライアントに対して、前記中継サーバを中継して前記配信データを配信するための通知を行う通知手段とを有し、前記クライアントは、前記サーバまたは前記中継サーバから前記配信データを受信する受信手段と、前記受信手段で前記サーバから前記配信データを受信している状態で、前記通知手段による通知を受けた場合に、前記受信手段による前記配信データの受信を前記サーバから前記中継サーバに切替えるサーバ切替え手段と、前記サーバ切替え手段で前記中継サーバに切替える際に、前記受信手段で最後に受信した前記配信データの前記順番情報に示される順番の次の順番に係る情報を前記中継サーバに送信する送信手段とを有する。
本発明のデータ配信方法は、画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムのデータ配信方法であって、前記サーバでは、前記ネットワークに接続された他のサーバの中から前記配信データを中継するための中継サーバを選定する中継サーバ選定ステップと、順番情報を付与した前記配信データを、自装置の負荷状態に応じて前記クライアントまたは前記中継サーバに配信する配信ステップと、前記配信ステップで前記中継サーバに前記配信データを配信する場合に、前記クライアントに対して、前記中継サーバを中継して前記配信データを配信するための通知を行う通知ステップとを行い、前記クライアントでは、前記サーバまたは前記中継サーバから前記配信データを受信手段で受信する受信ステップと、前記受信手段で前記サーバから前記配信データを受信している状態で、前記通知ステップによる通知を受けた場合に、前記受信手段による前記配信データの受信を前記サーバから前記中継サーバに切替えるサーバ切替えステップと、前記サーバ切替えステップで前記中継サーバに切替える際に、前記受信手段で最後に受信した前記配信データの前記順番情報に示される順番の次の順番に係る情報を前記中継サーバに送信する送信ステップとを行う。
本発明のサーバは、画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムにおける前記サーバであって、前記ネットワークに接続された他のサーバの中から前記配信データを中継するための中継サーバを選定する中継サーバ選定手段と、順番情報を付与した前記配信データを、自装置の負荷状態に応じて前記クライアントまたは前記中継サーバに配信する配信手段と、前記配信手段で前記中継サーバに前記配信データを配信する場合に、前記クライアントに対して前記中継サーバの情報を通知する通知手段とを有する。
本発明のクライアントは、画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムにおける前記クライアントであって、前記サーバ、または、当該サーバにおいて前記ネットワークに接続された他のサーバの中から選定された中継サーバから、順番情報が付与された前記配信データを受信する受信手段と、
前記受信手段で前記サーバから前記配信データを受信している状態で、当該サーバから、前記中継サーバを中継して前記配信データを配信するための通知を受けた場合に、前記受信手段による前記配信データの受信を前記サーバから前記中継サーバに切替えるサーバ切替え手段と、前記サーバ切替え手段で前記中継サーバに切替える際に、前記受信手段で最後に受信した前記配信データの前記順番情報に示される順番の次の順番に係る情報を前記中継サーバに送信する送信手段とを有する。
前記受信手段で前記サーバから前記配信データを受信している状態で、当該サーバから、前記中継サーバを中継して前記配信データを配信するための通知を受けた場合に、前記受信手段による前記配信データの受信を前記サーバから前記中継サーバに切替えるサーバ切替え手段と、前記サーバ切替え手段で前記中継サーバに切替える際に、前記受信手段で最後に受信した前記配信データの前記順番情報に示される順番の次の順番に係る情報を前記中継サーバに送信する送信手段とを有する。
本発明のサーバの制御方法は、画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムにおける前記サーバの制御方法であって、前記ネットワークに接続された他のサーバの中から前記配信データを中継するための中継サーバを選定する中継サーバ選定ステップと、順番情報を付与した前記配信データを、自装置の負荷状態に応じて前記クライアントまたは前記中継サーバに配信する配信ステップと、前記配信ステップで前記中継サーバに前記配信データを配信する場合に、前記クライアントに対して前記中継サーバの情報を通知する通知ステップとを有する。
本発明のクライアントの制御方法は、画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムにおける前記クライアントの制御方法であって、前記サーバ、または、当該サーバにおいて前記ネットワークに接続された他のサーバの中から選定された中継サーバから、順番情報が付与された前記配信データを受信手段で受信する受信ステップと、前記受信手段で前記サーバから前記配信データを受信している状態で、当該サーバから、前記中継サーバを中継して前記配信データを配信するための通知を受けた場合に、前記受信手段による前記配信データの受信を前記サーバから前記中継サーバに切替えるサーバ切替えステップと、前記サーバ切替えステップで前記中継サーバに切替える際に、前記受信手段で最後に受信した前記配信データの前記順番情報に示される順番の次の順番に係る情報を前記中継サーバに送信する送信ステップとを有する。
本発明のプログラムは、画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムにおける前記サーバの制御方法をコンピュータに実行させるためのプログラムであって、前記ネットワークに接続された他のサーバの中から前記配信データを中継するための中継サーバを選定する中継サーバ選定ステップと、順番情報を付与した前記配信データを、自装置の負荷状態に応じて前記クライアントまたは前記中継サーバに配信する配信ステップと、前記配信ステップで前記中継サーバに前記配信データを配信する場合に、前記クライアントに対して前記中継サーバの情報を通知する通知ステップとをコンピュータに実行させるためのものである。
本発明のプログラムの他の態様は、画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムにおける前記クライアントの制御方法をコンピュータに実行させるためのプログラムであって、前記サーバ、または、当該サーバにおいて前記ネットワークに接続された他のサーバの中から選定された中継サーバから、順番情報が付与された前記配信データを受信手段で受信する受信ステップと、前記受信手段で前記サーバから前記配信データを受信している状態で、当該サーバから、前記中継サーバを中継して前記配信データを配信するための通知を受けた場合に、前記受信手段による前記配信データの受信を前記サーバから前記中継サーバに切替えるサーバ切替えステップと、前記サーバ切替えステップで前記中継サーバに切替える際に、前記受信手段で最後に受信した前記配信データの前記順番情報に示される順番の次の順番に係る情報を前記中継サーバに送信する送信ステップとをコンピュータに実行させるためのものである。
本発明のコンピュータ読み取り可能な記憶媒体は、前記プログラムを記憶する。
本発明によれば、配信データを配信するサーバの負荷軽減を図ると共に、当該配信データの連続性を確保することができる。
以下、本発明を実施するための最良の形態について、添付図面を用いながら説明する。なお、以下に示す本発明の実施形態においては、配信データとして、主として画像データを適用した例について説明を行うが、音声データを適用することも可能である。この際、音声データの配信処理は、画像データの配信処理とデータの内容が異なるだけで同列に扱うことが可能である。
図1は、本発明の実施形態に係るデータ配信システムの概略構成の一例を示す模式図である。
図1に示すデータ配信システム100は、複数のカメラサーバ111及び112と、複数のクライアント121及び122と、これらの装置を通信可能に接続するネットワーク130を有して構成されている。
図1に示すデータ配信システム100は、複数のカメラサーバ111及び112と、複数のクライアント121及び122と、これらの装置を通信可能に接続するネットワーク130を有して構成されている。
カメラサーバ111及び112は、画像データ及び音声データのうちの少なくとも1つを配信データとして配信するものであり、本実施形態では、主として、画像データを配信データとして配信する。このカメラサーバ111及び112は、撮影画角が可変もしくは撮影画角が固定のカメラを備えており、撮影により得られた画像データを、ネットワーク130を介して配信することが可能に構成されている。また、カメラサーバ111とカメラサーバ112とは、それぞれ、独立の動作を行う。
クライアント121及び122は、カメラサーバ111または112から配信される配信データ(本実施形態では、主として画像データ)を受信して取得するものである。例えば、クライアント121及び122は、ネットワーク130を介して、カメラサーバ111及び112に対して個別にアクセスし、ライブ画像の画像データまたは蓄積画像の画像データ等を受信して取得する。
なお、図1では、説明の簡略化のために、カメラサーバとクライアントの台数は2台としているが、3台以上あっても構わない。また、例えば、クライアント121及び122以外にも、カメラサーバ111及び112にアクセスして、画像データの受信及び蓄積を行う他のクライアントがあっても構わない。
ネットワーク130は、例えば、Ethernet(登録商標)等の通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される通信媒体である。本実施形態のネットワーク130は、各サーバ・クライアント間の通信が支障なく行えるものであれば、その通信規格、規模及び構成は何ら制約されることなく適用可能である。したがって、ネットワーク130としては、例えば、インターネットからLAN(Local Area Network)にまで適用可能である。
図2は、図1に示すカメラサーバ111及び112の内部構成の一例を示すブロック図である。
カメラサーバ111及び112は、その内部に内部バス201が構成されている。そして、カメラサーバ111及び112は、内部バス201に接続された、CPU200、1次記憶装置210、2次記憶装置220、及び、各種のインターフェース(I/F)230〜250を有して構成されている。具体的に、カメラサーバ111及び112には、各種のI/Fとして、画像キャプチャI/F230、音声キャプチャI/F240、及び、ネットワークI/F250が構成されている。さらに、カメラサーバ111及び112は、画像キャプチャI/F230に接続されたカメラ260、及び、音声キャプチャI/F240に接続されたマイク270を有して構成されている。
カメラサーバ111及び112は、その内部に内部バス201が構成されている。そして、カメラサーバ111及び112は、内部バス201に接続された、CPU200、1次記憶装置210、2次記憶装置220、及び、各種のインターフェース(I/F)230〜250を有して構成されている。具体的に、カメラサーバ111及び112には、各種のI/Fとして、画像キャプチャI/F230、音声キャプチャI/F240、及び、ネットワークI/F250が構成されている。さらに、カメラサーバ111及び112は、画像キャプチャI/F230に接続されたカメラ260、及び、音声キャプチャI/F240に接続されたマイク270を有して構成されている。
CPU200は、当該カメラサーバにおける動作を統括的に制御するものである。
1次記憶装置210は、例えば、RAMに代表される書き込み可能な高速の記憶装置である。この1次記憶装置210は、例えば、OS(オペレーティングシステム)や各種のプログラム及び各種のデータ等がロードされ、また、CPU200がOSや各種のプログラム等を実行する際の作業領域としても使用される。
2次記憶装置220は、例えば、FDDやHDD、フラッシュメモリ、CD−ROMドライブ等に代表される不揮発性の記憶装置である。この2次記憶装置220は、OSや各種のプログラム及び各種のデータ等の永続的な記憶領域として使用される他に、短期的な各種のデータ等の記憶領域としても使用される。
画像キャプチャI/F230は、接続されているカメラ260で撮影された画像の画像データを所定のフォーマットに変換・圧縮して、例えば、1次記憶装置210に転送する。
音声キャプチャI/F240は、接続されているマイク270で集音された音声の音声データを所定のフォーマットに変換・圧縮して、例えば、1次記憶装置210に転送する。
ネットワークI/F250は、図1に示すネットワーク130と接続するためのインターフェースであり、ネットワーク130を介して、クライアント121及び122等との通信を担う。
図3は、図1に示すクライアント121及び122の内部構成の一例を示すブロック図である。
クライアント121及び122は、その内部に内部バス301が構成されている。そして、クライアント121及び122は、内部バス301に接続された、CPU300、1次記憶装置310、2次記憶装置320、ユーザ入出力I/F330、及び、ネットワークI/F340を有して構成されている。さらに、クライアント121及び122は、ユーザ入出力I/F330に接続された入出力機器(I/O機器)350を有して構成されている。
クライアント121及び122は、その内部に内部バス301が構成されている。そして、クライアント121及び122は、内部バス301に接続された、CPU300、1次記憶装置310、2次記憶装置320、ユーザ入出力I/F330、及び、ネットワークI/F340を有して構成されている。さらに、クライアント121及び122は、ユーザ入出力I/F330に接続された入出力機器(I/O機器)350を有して構成されている。
CPU300は、当該クライアントにおける動作を統括的に制御するものである。
1次記憶装置310は、例えば、RAMに代表される書き込み可能な高速の記憶装置である。この1次記憶装置310は、例えば、OSや各種のプログラム及び各種のデータ等がロードされ、また、CPU300がOSや各種のプログラム等を実行する際の作業領域としても使用される。
2次記憶装置320は、例えば、FDDやHDD、フラッシュメモリ、CD−ROMドライブ等に代表される不揮発性の記憶装置である。この2次記憶装置320は、OSや各種のプログラム及び各種のデータ等の永続的な記憶領域として使用される他に、短期的な各種のデータ等の記憶領域としても使用される。
ユーザ入出力I/F330は、接続されているI/O機器350を介してユーザとの入出力を司るものである。
ネットワークI/F340は、図1に示すネットワーク130と接続するためのインターフェースであり、ネットワーク130を介して、カメラサーバ111及び112等との通信を担う。
I/O機器350は、例えば、キーボード、マウス、ディスプレイ等から構成される入出力機器である。
次に、カメラサーバ111及び112の1次記憶装置210に記憶される各種のプログラム等について説明する。
図4は、図2に示すカメラサーバ111及び112の1次記憶装置210に記憶される各種のプログラム等の一例を示す模式図である。ここで、各種のプログラム等の1次記憶装置210における位置(番地)や大きさは、OS400が管理する。
図4に示すように、本実施形態では、1次記憶装置210に、OS400、中継サーバ選定プログラム410、中継クライアント選定プログラム420、中継サーバ通知プログラム430、及び、配信プログラム440がロードされる。さらに、本実施形態では、1次記憶装置210に、中継配信プログラム450、サーバリスト管理プログラム460、及び、負荷監視プログラム470がロードされる。
OS400は、当該カメラサーバの全体を制御するための基本プログラムである。
中継サーバ選定プログラム410は、自装置が所属するサーバ群の中から、配信データの配信処理を代わりに行うことが可能な中継サーバを選定する処理を行う。具体的には、保持するサーバリストに示されている各サーバから負荷状態を取得し、取得した各サーバの負荷状態に基づいて中継配信が可能と予想できるサーバを選定して、当該サーバに中継処理が可能か否かを問い合わせる処理を行う。ここで、中継サーバになり得る機器としては、カメラサーバに限らず、ルータ、クライアント、専用サーバなども適用することができ、その形態、処理能力を問わない。
中継クライアント選定プログラム420は、当該カメラサーバが配信処理中のクライアントの中から、中継サーバ経由で配信データを配信するクライアント(中継クライアント)を選定する処理を行う。具体的には、同一データを受信している複数のクライアントや、蓄積用途などの高いリアルタイム性が要求されていない(即ち、リアルタイム性が低い)クライアント等を優先して選定する。
中継サーバ通知プログラム430は、中継クライアント選定プログラム420の処理で選定された1台または複数台のクライアントに対して、中継サーバ選定プログラム410の処理で選定された中継サーバの情報を含むサーバ切替え通知を送信する処理を行う。
配信プログラム440は、各種のクライアントからのリクエストに応じて、例えば、カメラ260によって撮影した画像の画像データや、2次記憶装置220に保存した撮影済みの画像データをレスポンスとして配信する処理を行う。
また、配信プログラム440は、負荷監視プログラム470の処理で得られた自装置の負荷状態を示す値を取得し、当該負荷状態を示す値が所定の閾値を超えたか否かを判断する処理を行う。そして、配信プログラム440は、自装置の負荷状態を示す値が所定の閾値を超えた場合には、自装置の配信クライアントを中継サーバに移管することで処理負荷を低減する処理を行う。この際、配信プログラム440は、中継サーバ選定プログラム410、中継クライアント選定プログラム420及び中継サーバ通知プログラム430と連携して、上述した処理負荷を低減する処理を行う。
中継配信プログラム450は、自装置が中継サーバとして動作する際に、配信元サーバから配信データを取得して、所定のクライアントに配信する処理を行う。
サーバリスト管理プログラム460は、自装置が保持するサーバ情報一覧を管理する処理を行うプログラムである。具体的には、予め自装置に入力されたサーバ情報一覧を設定し管理する、または、ネットワークを検索して得られた複数のサーバにおけるサーバ情報一覧を生成・更新して管理する処理を行う。
負荷監視プログラム470は、自装置の処理負荷を常時監視する処理を行うプログラムである。例えば、負荷監視プログラム470は、自装置で配信接続しているクライアントの数、配信データの配信ビットレート、配信データの種類及びそのサイズ、並びに、CPU200の負荷等のうちの少なくとも1つを指標として、自装置の負荷状態を監視する処理を行う。
次に、クライアント121及び122の1次記憶装置310に記憶される各種のプログラム等について説明する。
図5は、図3に示すクライアント121及び122の1次記憶装置310に記憶される各種のプログラム等の一例を示す模式図である。ここで、各種プログラム等の1次記憶装置310における位置(番地)や大きさは、OS500が管理する。
図5に示すように、本実施形態では、1次記憶装置310に、OS500、配信データ受信プログラム510、及び、サーバ切替えプログラム520がロードされる。
OS500は、当該カメラサーバの全体を制御するための基本プログラムである。
配信データ受信プログラム510は、カメラサーバ111またはカメラサーバ112から直接、配信データを受信する、或いは、中継サーバ経由で配信データを受信する処理を行うプログラムである。受信した配信データは、例えば、I/O機器350のディスプレイなどに表示され、或いは、2次記憶装置320に蓄積される。
サーバ切替えプログラム520は、サーバ切替え通知を受信した際に動作するプログラムであり、現在通信中のサーバとの通信を終了(中断)し、通知されたサーバとの通信を開始する処理を行う。
次に、図1に示すデータ配信システム100によるデータ配信方法の処理手順について説明する。
図6は、図1に示すデータ配信システム100によるデータ配信方法の処理手順の一例を示すシーケンス図である。この図6に示す処理は、カメラサーバの場合には、例えば、CPU200が1次記憶装置210に記憶されている各種のプログラムを実行することにより行われる。また、クライアントの場合には、例えば、CPU300が1次記憶装置310に記憶されている各種のプログラムを実行することにより行われる。
また、図6に示す処理では、サーバとクライアントとがどのように連携して動作するのかを示している。
具体的には、カメラサーバ111がクライアント121に直接、データ配信している状態から、カメラサーバ112を中継サーバとして経由してクライアント121及び122にデータ配信する例を示している。さらに、その後、再び、カメラサーバ111が直接、クライアント121及び122にデータ配信する例を示している。
具体的には、カメラサーバ111がクライアント121に直接、データ配信している状態から、カメラサーバ112を中継サーバとして経由してクライアント121及び122にデータ配信する例を示している。さらに、その後、再び、カメラサーバ111が直接、クライアント121及び122にデータ配信する例を示している。
まず、ステップS601及びS602おいて、カメラサーバ111のCPU200は、クライアント121に直接、配信データを配信(送信)する。この際、カメラサーバ111のCPU200は、各配信データに順番情報を付与して配信を行う。例えば、カメラサーバ111のCPU200は、配信データである画像データの1枚毎、もしくは画像フレームの1つ毎に、シーケンシャルに増加していく一意の番号を順番情報として付与する。
続いて、ステップS603において、クライアント122のCPU300は、カメラサーバ111に対して、配信データの配信要求を送信する。
続いて、ステップS604〜S607において、カメラサーバ111のCPU200は、自装置の負荷状態が所定の閾値を超えることが予想される等の理由により、中継サーバの選定処理を行う。
具体的には、まず、ステップS604において、カメラサーバ111のCPU200は、自装置に保持しているサーバリストに登録されているカメラサーバ(本例では、カメラサーバ112)の負荷状態を知るために、当該カメラサーバに状態要求を送信する。そして、ステップS605において、当該状態要求を受信したカメラサーバ112のCPU200は、自装置の負荷状態を取得して、当該取得した負荷状態に基づく応答をカメラサーバ111に行う。そして、カメラサーバ111のCPU200は、カメラサーバ112からの応答を受信する。
ここで、カメラサーバ111に保持されているサーバリストに他のサーバも存在する場合には、上述したカメラサーバ112に対する処理と同様の処理を、当該他のサーバに対しても行う。
また、本例では、必要になった時にだけ状態要求とその応答との通知を送受信しているが、定期的に負荷状態を通知するもしくは負荷状態が変わった時だけ通知する形態でも良い。
続いて、ステップS606において、カメラサーバ111のCPU200は、ネットワーク130に接続された自装置以外の他のサーバの中から中継サーバを選定する。具体的に、本例では、カメラサーバ112を中継サーバとして選定し、カメラサーバ111のCPU200は、カメラサーバ112に中継要求を送信する。そして、ステップS607において、カメラサーバ112のCPU200は、当該中継要求に対する応答をカメラサーバ111に行う。この際、カメラサーバ112は、本例では、中継可能であることを示す許可応答をカメラサーバ111に行うものとする。そして、カメラサーバ111のCPU200は、カメラサーバ112から、中継可能であることを示す許可応答を受信する。
続いて、ステップS608及びS609において、カメラサーバ111のCPU200は、中継サーバであるカメラサーバ112の情報を含むサーバ切替え通知を、クライアント121及び122に送信する。
カメラサーバ111からサーバ切替え通知を受信したクライアント121のCPU300は、当該サーバ切替え通知を受信したタイミングで、カメラサーバ111との通信を終了(中断)する。そして、ステップS610において、クライアント121のCPU300は、当該サーバ切替え通知に基づいてカメラサーバ112に対して配信データの配信要求を行う。即ち、クライアント121のCPU300は、配信データを受信しているカメラサーバ111からサーバ切替え通知を受けた場合、当該配信データの受信を、カメラサーバ111から当該サーバ切替え通知に基づく中継サーバ(カメラサーバ112)に切替える。また、クライアント121のCPU300は、カメラサーバ112に配信要求を行う際、サーバ切替え通知を受信するまでに受信していた配信データの順番情報に示される順番の次の順番に係る情報を送信する。例えば、クライアント121は、サーバ切替え通知を受信するまでに配信データn−1までを受信していた場合には、カメラサーバ112に対して、配信データnからの配信要求を送信して通信を再開する。
続いて、ステップS611において、カメラサーバ112のCPU200は、クライアント121から配信要求を受信すると、その配信要求をカメラサーバ111に送信する。
また、カメラサーバ111からサーバ切替え通知を受信したクライアント122も、クライアント121と同様に、ステップS612において、当該サーバ切替え通知に基づいてカメラサーバ112に対して配信データの配信要求を行う。この際、カメラサーバ112は、クライアント121と同様に、クライアント122からの配信要求をカメラサーバ111に送信してもよいが、本例では、ステップS611で同じ内容の配信要求をカメラサーバ111に送信しているため、省略している。
続いて、ステップS613において、カメラサーバ111のCPU200は、カメラサーバ112からの配信要求に基づいて、配信データnを、中継サーバであるカメラサーバ112に対して配信する。
続いて、ステップS614及びS615において、カメラサーバ112のCPU200は、カメラサーバ111から配信データnを受信し、当該配信データnを、配信要求を受けたクライアント121及び122に送信する。
続いて、ステップS616において、カメラサーバ111のCPU200は、配信データn+1を、中継サーバであるカメラサーバ112に対して配信する。
続いて、ステップS617及びS618において、カメラサーバ112のCPU200は、カメラサーバ111から配信データn+1を受信し、当該配信データn+1を、配信要求を受けたクライアント121及び122に送信する。
続いて、ステップS619において、カメラサーバ111のCPU200は、配信データn+2を、中継サーバであるカメラサーバ112に対して配信する。
続いて、ステップS620及びS621において、カメラサーバ112のCPU200は、カメラサーバ111から配信データn+2を受信し、当該配信データn+2を、配信要求を受けたクライアント121及び122に送信する。
以上、ステップS613〜S621に示すように、カメラサーバ111は、配信データの配信要求を受けると、当該配信要求に示された順番情報に基づく配信データ(本例の場合には、配信データn)から順番に順次、カメラサーバ112に配信する。そして、カメラサーバ112は、カメラサーバ111から送られた配信データを順次、配信要求を受けたクライアント121及び122に送信する。
このように、カメラサーバ111が配信データを配信するクライアント数を減らすことにより、当該カメラサーバ111の配信負荷を低減することができる。
その後、カメラサーバ112のCPU200は、自装置の負荷状態が所定の閾値を超える等の状態になった時に、続いて、ステップS622において、中継配信の停止通知をカメラサーバ111に送信する。この際、カメラサーバ112は、ステップS604〜S607の処理と同様に、自装置のサーバリストに登録されているカメラサーバの中から中継可能な中継サーバを選定して、カメラサーバ111から送信される配信データの中継を行わせるようにしても良い。
続いて、ステップS623及びS624において、カメラサーバ112のCPU200は、カメラサーバ111の情報を含むサーバ切替え通知を、中継配信を行っているクライアント121及び122に送信する。クライアント121及び122のCPU300は、カメラサーバ112からサーバ切替え通知を受信したタイミングで、当該カメラサーバ112との通信を終了(中断)する。この際、クライアント121及び122では、カメラサーバ112からサーバ切替え通知を受信するまでに配信データx−1までを受信していたものとする。
この場合、ステップS625及びS626において、クライアント121及び122のCPU300は、カメラサーバ111に対して、配信データxからの配信要求を送信し、当該カメラサーバ111との通信を再開する。
続いて、ステップS627及びS628において、カメラサーバ111のCPU200は、クライアント121及び122からの配信要求に基づいて、配信データxを、それぞれ、クライアント121及び122に対して配信する。
続いて、ステップS629及びS630において、カメラサーバ111のCPU200は、配信データx+1を、それぞれ、クライアント121及び122に対して配信する。
以上、ステップS627〜S630に示すように、カメラサーバ111は、配信データの配信要求を受けると、当該配信要求に示された順番情報に基づく配信データ(本例の場合には、配信データx)から順番に順次、クライアント121及び122に配信する。
このように、サーバの負荷に応じて、配信データを配信するクライアントを移管できるようにすることで、システムとしてスループットを落とさずに多人数配信を実現することができる。
次に、図6に示す処理に基づく、各装置の処理手順について説明する。
図7は、図1に示すカメラサーバ111の制御方法における処理手順の一例を示すフローチャートである。この図7に示す処理は、例えば、カメラサーバ111のCPU200が1次記憶装置210に記憶されている各種のプログラムを実行することにより行われる。また、図7には、図6におけるクライアント121への配信処理からサーバ切替え通知の処理までを示しており、また、クライアントからの1リクエストで配信データを連続で配信する例を示している。
クライアントから配信要求を受信すると、ステップS701において、カメラサーバ111のCPU200は、配信プログラム440を起動させ、更に負荷監視プログラム470の処理により、自装置の負荷状態を取得する。具体的に、自装置の負荷状態を示す値を取得する。
続いて、ステップS702において、カメラサーバ111のCPU200は、ステップS701で取得した自装置の負荷状態を示す値が、予め設定されている所定の閾値を超えている高負荷状態であるか否かを判断する。
ステップS702の判断の結果、高負荷状態である場合には、ステップS703に進む。ステップS703に進むと、カメラサーバ111のCPU200は、中継サーバ選定プログラム410の処理により、中継サーバを選定する。本例では、具体的に、カメラサーバ111のCPU200は、中継サーバ選定プログラム410の処理により、図6におけるステップS603〜S606の処理手順を経て、カメラサーバ112を中継サーバとして選定することになる。
続いて、ステップS704において、カメラサーバ111のCPU200は、中継サーバの選定ができたか否かを判断する。
ステップS704の判断の結果、中継サーバの選定ができた場合には、ステップS705に進む。ステップS705に進むと、カメラサーバ111のCPU200は、中継クライアント選定プログラム420の処理により、中継配信するクライアント(中継クライアント)を選定する。ここで、選定されるクライアントの候補としては、例えば、同一データを受信している複数のクライアントや、蓄積用途などの高いリアルタイム性を要求されていないクライアント等が挙げられる。図6に示す例では、具体的に、同一データを受信しているクライアント121及び122が選定されている。
続いて、ステップS706において、カメラサーバ111のCPU200は、ステップS705で選定されたクライアント121及び122に対して、配信プログラム440の処理により、サーバ切替え通知を送信する。具体的に、本例では、ステップS608及びS609で説明したように、中継サーバであるカメラサーバ112の情報を含むサーバ切替え通知を、クライアント121及び122に送信する。
ステップS706の処理が終了した場合、ステップS702で高負荷状態でないと判断された場合、或いは、ステップS704で中継サーバの選定ができなかった場合には、ステップS707に進む。
ステップS707に進むと、カメラサーバ111のCPU200は、配信プログラム440の処理により、クライアント121及び122に配信する配信データを、例えば、1次記憶装置210に取り込んで取得する。本実施形態では、例えば、カメラで撮影され、画像キャプチャI/F230で取得した画像データを配信データとして1次記憶装置210に取り込む。
続いて、ステップS708において、カメラサーバ111のCPU200は、1次記憶装置210に取り込んだ配信データ(本例では、画像データ)をクライアント121及び122に送信する。
続いて、ステップS709において、カメラサーバ111のCPU200は、配信プログラム440の処理により、クライアントに対してサーバ切替え通知を送信済であるか否かを判断する。
ステップS709の判断の結果、既にサーバ切替え通知を送信している場合には、ステップ707に戻って、サーバ切替えのためにクライアントとの通信が終了(中断)されるまで、配信データの取得と当該配信データのクライアントへの送信を繰り返す。
一方、ステップS709の判断の結果、まだサーバ切替え通知を送信していない場合には、ステップS701に戻って、再度、ステップS701からの処理を行う。
図8は、図1に示すクライアント121及び122の制御方法における処理手順の一例を示すフローチャートである。この図8に示す処理は、例えば、クライアント121及び122のCPU300が1次記憶装置310に記憶されている各種のプログラムを実行することにより行われる。また、図8には、図6に示すカメラサーバ111からカメラサーバ112への配信サーバの切替え処理について示している。
まず、図1に示すクライアント121の制御方法について説明する。
配信データ受信プログラム510を起動すると、まず、ステップS801において、クライアント121のCPU300は、配信データの配信要求をカメラサーバ111に対して配信する。
配信データ受信プログラム510を起動すると、まず、ステップS801において、クライアント121のCPU300は、配信データの配信要求をカメラサーバ111に対して配信する。
続いて、ステップS802において、クライアント121のCPU300は、カメラサーバ111から、何らかのデータが送信されるのを待つ。
配信データ受信プログラム510の処理により、カメラサーバ111からデータを受信すると、続いて、ステップS803において、クライアント121のCPU300は、受信したデータのデータ種別を判断する。具体的に、ステップS803では、受信したデータが、配信データなのか、或いは、サーバ切替え通知なのかを判断する。
ステップS803の判断の結果、受信したデータが配信データである場合には、ステップS804に進む。ステップS804に進むと、クライアント121のCPU300は、カメラサーバ111から受信した配信データの配信データ受信処理を行う。ステップS804では、例えば、配信データとして画像データを受信した場合、当該画像データをユーザ入出力I/F330を介してディスプレイ等のI/O機器350に出力する、或いは当該画像データを1次記憶装置310または2次記憶装置320に蓄積する。また、配信データを蓄積する際、例えば、ネットワークI/F340を介して自装置以外の他の機器に蓄積するようにしても良い。ステップS804の処理が終了すると、ステップS802に戻る。
一方、ステップS803の判断の結果、受信したデータがサーバ切替え通知である場合には、ステップS805に進む。ステップS805に進むと、クライアント121のCPU300は、配信データの送信に係るサーバの切替え処理を行う。続いて、ステップS806において、クライアント121のCPU300は、ステップS806で切替えたサーバに対して配信要求を送信する。ステップS806の処理が終了すると、ステップS802に戻る。
ここで、ステップS805及びステップS806の処理の詳細について説明する。
ステップS805のサーバ切替え処理では、図6のステップS608で説明したように、サーバ切替え通知を送信したカメラサーバ111との通信を終了(中断)し、サーバ切替え通知に含まれている切替え予定のカメラサーバ112との通信準備を行う。
ステップS805のサーバ切替え処理では、図6のステップS608で説明したように、サーバ切替え通知を送信したカメラサーバ111との通信を終了(中断)し、サーバ切替え通知に含まれている切替え予定のカメラサーバ112との通信準備を行う。
また、ステップS806の配信要求では、図6のステップS610で説明したように、最後に受信した配信データの順番情報(番号)に示される順番の次の順番に係る情報を、当該配信要求に含めて切替え予定のカメラサーバ112に送信する。このように、最後に受信した配信データの順番情報に示される順番の次の順番に係る情報を指定して切替え予定のカメラサーバ112に送信することで、配信データの連続性を保ちながら、カメラサーバの切替えを行うことができる。
具体的に、配信データの順番情報としては、例えば、配信データである画像データの1枚毎に通し番号を付与したり、或いは、時間情報などを付与したりすることで、次の配信データを指定することができる。また、カメラサーバ111が一時的に一定期間だけクライアント121への重複配信を許容(許可)するのであれば、クライアント121は、カメラサーバ112経由で配信データを正しく受信できるまでカメラサーバ111からの配信データの受信を続けても良い。
また、カメラサーバ111において、クライアント121に最後に送信した配信データの順番情報を保持しておき、カメラサーバ112経由でクライアント121が再度配信要求を行った時に、当該順番情報の次の順番の配信データから配信するようにしても良い。ただし、この形態の場合には、ステップS610(ステップS611)の配信要求に、当該クライアント121に関する情報を含める必要がある。
次に、図8を用いて、図1に示すクライアント122の制御方法について説明する。
クライアント122の制御方法においても、上述したクライアント121の制御方法と同様である。図6に示す例の場合に、クライアント121との処理手順の違いは、ステップS802で最初に受信するデータがサーバ切替え通知なので、ステップS804で配信データの受信処理を行う前に、ステップS805でサーバ切替え処理を行うという点だけである。
クライアント122の制御方法においても、上述したクライアント121の制御方法と同様である。図6に示す例の場合に、クライアント121との処理手順の違いは、ステップS802で最初に受信するデータがサーバ切替え通知なので、ステップS804で配信データの受信処理を行う前に、ステップS805でサーバ切替え処理を行うという点だけである。
図9は、図1に示すカメラサーバ112の制御方法における処理手順の一例を示すフローチャートである。この図9に示す処理は、例えば、カメラサーバ112のCPU200が1次記憶装置210に記憶されている中継配信プログラム450等を実行することにより行われる。また、図9には、図6におけるカメラサーバ112の中継配信処理が示されている。
カメラサーバ111から中継配信要求を受信すると、ステップS901において、カメラサーバ112のCPU200は、中継配信プログラム450を起動させ、更に負荷監視プログラム470の処理により、自装置の負荷状態を取得する。具体的に、自装置の負荷状態を示す値を取得する。
続いて、ステップS902において、カメラサーバ112のCPU200は、ステップS901で取得した自装置の負荷状態を示す値が、予め設定されている所定の閾値を超えている高負荷状態であるか否かを判断する。
ステップS902の判断の結果、高負荷状態である場合には、ステップS903に進む。ステップS903に進むと、カメラサーバ112のCPU200は、中継配信の停止処理を行う。具体的には、この中継配信の停止処理では、配信元サーバであるカメラサーバ111に対して、中継配信の停止通知を送信する。図6に示す例では、ステップS622の処理に相当する。
続いて、ステップS904において、カメラサーバ112のCPU200は、中継配信していたクライアントの一部または全てに対して、サーバ切替え通知を送信する。図6に示す例では、ステップS623及びS624の処理に相当する。
ここで、ステップS903における中継配信の停止処理とステップS904における切替え通知の送信処理は、図7のステップS703〜S706で示した中継サーバの選定と中継クライアントの選定を行ってから決めても良い。
ステップS904の処理が終了した場合、或いは、ステップS902で高負荷状態でないと判断された場合には、ステップS905に進む。ステップS905に進むと、カメラサーバ112のCPU200は、中継配信プログラム450の処理により、クライアント121及び122に配信する配信データを、配信元サーバであるカメラサーバ111から取得する。具体的に、本例では、配信データである画像データを、配信元サーバであるカメラサーバ111からネットワークI/F250経由で、例えば1次記憶装置210に取り込んで取得する。図6に示す例では、ステップS613において、カメラサーバ112がカメラサーバ111から配信データを取得する処理に相当する。ただし、この場合、配信データを最初に取得する際には、カメラサーバ112は、配信要求を先にカメラサーバ111に送信しておく必要がある。
続いて、ステップS906において、カメラサーバ112のCPU200は、ステップS905で取得した配信データをクライアント121及び122へ送信する。
続いて、ステップS907において、カメラサーバ112のCPU200は、中継配信プログラム450等の処理により、クライアントに対してサーバ切替え通知を送信済であるか否かを判断する。
ステップS907の判断の結果、既にサーバ切替え通知を送信している場合には、ステップ905に戻って、サーバ切替えのためにクライアントとの通信が終了(中断)されるまで、配信データの取得と当該配信データのクライアントへの送信を繰り返す。
一方、ステップS907の判断の結果、まだサーバ切替え通知を送信していない場合には、ステップS901に戻って、再度、ステップS901からの処理を行う。
上述した本実施形態における一連の処理は、ハードウェアによっても、ソフトウェアによっても実行可能である。この際、ソフトウェアを構成するプログラムは、コンピュータ読み取り可能な記憶媒体やネットワーク等を経由して外部の記憶媒体から1次記憶装置もしくは2次記憶装置に供給することも可能である。
以上、説明したように、本実施形態では、自サーバ(例えば、カメラサーバ111)が高負荷状態である場合に、他のサーバ(例えば、カメラサーバ112)に配信データの中継をさせて配信負荷を分散させるようにしている。また、配信データを受信するクライアントでは、当該自サーバから最後に受信した配信データの順番情報(番号)を保持しておき、サーバの切替えの際に、当該保持した順番情報に示される順番の次の順番に係る情報を当該他のサーバに送信するようにしている。
かかる構成によれば、配信データを配信するサーバの負荷軽減を図ると共に、当該配信データの連続性を確保することができる。これにより、システムとしてスループットを落とさずに、処理性能の低いサーバでも多人数配信が可能になる。
かかる構成によれば、配信データを配信するサーバの負荷軽減を図ると共に、当該配信データの連続性を確保することができる。これにより、システムとしてスループットを落とさずに、処理性能の低いサーバでも多人数配信が可能になる。
前述した本実施形態に係るデータ配信システムのデータ配信方法を示す図6の各ステップは、コンピュータのCPUがRAMやROMなどに記憶されたプログラムを実行することによって実現できる。また、前述した本実施形態に係るカメラサーバの制御方法を示す図7及び図9の各ステップは、コンピュータのCPUがRAMやROMなどに記憶されたプログラムを実行することによって実現できる。さらに、前述した本実施形態に係るクライアントの制御方法を示す図8の各ステップは、コンピュータのCPUがRAMやROMなどに記憶されたプログラムを実行することによって実現できる。これらのプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
具体的に、前記プログラムは、例えばCD−ROMのような記憶媒体に記録し、或いは各種伝送媒体を介し、コンピュータに提供される。前記プログラムを記録する記憶媒体としては、CD−ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。他方、前記プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク(LAN、インターネットの等のWAN、無線通信ネットワーク等)システムにおける通信媒体を用いることができる。また、この際の通信媒体としては、光ファイバ等の有線回線や無線回線などが挙げられる。
また、本発明は、コンピュータが供給されたプログラムを実行することにより本実施形態に係るデータ配信システムの機能が実現される態様に限られない。そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)或いは他のアプリケーションソフト等と共同して本実施形態に係るデータ配信システムの機能が実現される場合も、かかるプログラムは本発明に含まれる。また、供給されたプログラムの処理の全て、或いは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて本実施形態に係るデータ配信システムの機能が実現される場合も、かかるプログラムは本発明に含まれる。
また、前述した本実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術的思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
100 データ配信システム
111、112 カメラサーバ
121、122 クライアント
130 ネットワーク
201 内部バス
200 CPU
210 1次記憶装置
220 2次記憶装置
230 画像キャプチャI/F
240 音声キャプチャI/F
250 ネットワークI/F
260 カメラ
270 マイク
301 内部バス
300 CPU
310 1次記憶装置
320 2次記憶装置
330 ユーザ入出力I/F
340 ネットワークI/F
350 I/O機器(入出力機器)
111、112 カメラサーバ
121、122 クライアント
130 ネットワーク
201 内部バス
200 CPU
210 1次記憶装置
220 2次記憶装置
230 画像キャプチャI/F
240 音声キャプチャI/F
250 ネットワークI/F
260 カメラ
270 マイク
301 内部バス
300 CPU
310 1次記憶装置
320 2次記憶装置
330 ユーザ入出力I/F
340 ネットワークI/F
350 I/O機器(入出力機器)
Claims (18)
- 画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムであって、
前記サーバは、
前記ネットワークに接続された他のサーバの中から前記配信データを中継するための中継サーバを選定する中継サーバ選定手段と、
順番情報を付与した前記配信データを、自装置の負荷状態に応じて前記クライアントまたは前記中継サーバに配信する配信手段と、
前記配信手段で前記中継サーバに前記配信データを配信する場合に、前記クライアントに対して、前記中継サーバを中継して前記配信データを配信するための通知を行う通知手段と
を有し、
前記クライアントは、
前記サーバまたは前記中継サーバから前記配信データを受信する受信手段と、
前記受信手段で前記サーバから前記配信データを受信している状態で、前記通知手段による通知を受けた場合に、前記受信手段による前記配信データの受信を前記サーバから前記中継サーバに切替えるサーバ切替え手段と、
前記サーバ切替え手段で前記中継サーバに切替える際に、前記受信手段で最後に受信した前記配信データの前記順番情報に示される順番の次の順番に係る情報を前記中継サーバに送信する送信手段と
を有することを特徴とするデータ配信システム。 - 前記ネットワークには、前記クライアントとして複数のクライアントが接続されており、
前記サーバは、前記複数のクライアントの中から、前記中継サーバを介して前記配信データを配信する、一または複数のクライアントを選定するクライアント選定手段を更に有することを特徴とする請求項1に記載のデータ配信システム。 - 前記サーバは、前記クライアントが前記サーバ切替え手段によるサーバの切替えにより通信を中断した場合、前記クライアントに最後に配信した配信データの前記順番情報を保持しておき、前記配信手段は、当該保持している順番情報の次の順番を示す順番情報が付与された配信データを前記中継サーバに送信することを特徴とする請求項1又は2に記載のデータ配信システム。
- 前記サーバは、前記クライアントが前記サーバ切替え手段によるサーバの切替えを行う際に、一定期間は、当該サーバによる前記配信データの配信と前記中継サーバを介した前記配信データの配信との重複配信を許可することを特徴とする請求項1乃至3のいずれか1項に記載のデータ配信システム。
- 前記中継サーバは、自装置の負荷状態に応じて前記サーバに前記配信データの中継配信の停止を通知し、前記サーバに前記中継配信の停止を通知した場合に、前記クライアントに対して、前記サーバに前記配信データにおける配信要求を送信するための通知をすることを特徴とする請求項1乃至4のいずれか1項に記載のデータ配信システム。
- 前記クライアント選定手段は、前記複数のクライアントの中からクライアントを選定する際に、同一の前記配信データを受信している複数のクライアントを優先して選定する、または、リアルタイム性が低いクライアントを優先して選定することを特徴とする請求項2に記載のデータ配信システム。
- 前記配信手段は、自装置の負荷状態が所定の閾値よりも高い負荷状態の場合に、前記中継サーバに前記配信データを配信することを特徴とする請求項1乃至6のいずれか1項に記載のデータ配信システム。
- 前記中継サーバは、自装置の負荷状態が所定の閾値よりも高い負荷状態の場合に、前記サーバに前記配信データの中継配信の停止を通知することを特徴とする請求項5に記載のデータ配信システム。
- 前記自装置の負荷状態は、前記クライアントの数、前記配信データの種類、及び、CPUの負荷のうちの少なくとも1つを指標とするものであることを特徴とする請求項7又は8に記載のデータ配信システム。
- 前記中継サーバとなり得る機器としては、前記ネットワークに接続されたサーバ、ルータ、クライアント及び専用サーバを含むことを特徴とする請求項1乃至9のいずれか1項に記載のデータ配信システム。
- 画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムのデータ配信方法であって、
前記サーバでは、
前記ネットワークに接続された他のサーバの中から前記配信データを中継するための中継サーバを選定する中継サーバ選定ステップと、
順番情報を付与した前記配信データを、自装置の負荷状態に応じて前記クライアントまたは前記中継サーバに配信する配信ステップと、
前記配信ステップで前記中継サーバに前記配信データを配信する場合に、前記クライアントに対して、前記中継サーバを中継して前記配信データを配信するための通知を行う通知ステップと
を行い、
前記クライアントでは、
前記サーバまたは前記中継サーバから前記配信データを受信手段で受信する受信ステップと、
前記受信手段で前記サーバから前記配信データを受信している状態で、前記通知ステップによる通知を受けた場合に、前記受信手段による前記配信データの受信を前記サーバから前記中継サーバに切替えるサーバ切替えステップと、
前記サーバ切替えステップで前記中継サーバに切替える際に、前記受信手段で最後に受信した前記配信データの前記順番情報に示される順番の次の順番に係る情報を前記中継サーバに送信する送信ステップと
を行うことを特徴とするデータ配信方法。 - 画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムにおける前記サーバであって、
前記ネットワークに接続された他のサーバの中から前記配信データを中継するための中継サーバを選定する中継サーバ選定手段と、
順番情報を付与した前記配信データを、自装置の負荷状態に応じて前記クライアントまたは前記中継サーバに配信する配信手段と、
前記配信手段で前記中継サーバに前記配信データを配信する場合に、前記クライアントに対して前記中継サーバの情報を通知する通知手段と
を有することを特徴とするサーバ。 - 画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムにおける前記クライアントであって、
前記サーバ、または、当該サーバにおいて前記ネットワークに接続された他のサーバの中から選定された中継サーバから、順番情報が付与された前記配信データを受信する受信手段と、
前記受信手段で前記サーバから前記配信データを受信している状態で、当該サーバから、前記中継サーバを中継して前記配信データを配信するための通知を受けた場合に、前記受信手段による前記配信データの受信を前記サーバから前記中継サーバに切替えるサーバ切替え手段と、
前記サーバ切替え手段で前記中継サーバに切替える際に、前記受信手段で最後に受信した前記配信データの前記順番情報に示される順番の次の順番に係る情報を前記中継サーバに送信する送信手段と
を有することを特徴とするクライアント。 - 画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムにおける前記サーバの制御方法であって、
前記ネットワークに接続された他のサーバの中から前記配信データを中継するための中継サーバを選定する中継サーバ選定ステップと、
順番情報を付与した前記配信データを、自装置の負荷状態に応じて前記クライアントまたは前記中継サーバに配信する配信ステップと、
前記配信ステップで前記中継サーバに前記配信データを配信する場合に、前記クライアントに対して前記中継サーバの情報を通知する通知ステップと
を有することを特徴とするサーバの制御方法。 - 画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムにおける前記クライアントの制御方法であって、
前記サーバ、または、当該サーバにおいて前記ネットワークに接続された他のサーバの中から選定された中継サーバから、順番情報が付与された前記配信データを受信手段で受信する受信ステップと、
前記受信手段で前記サーバから前記配信データを受信している状態で、当該サーバから、前記中継サーバを中継して前記配信データを配信するための通知を受けた場合に、前記受信手段による前記配信データの受信を前記サーバから前記中継サーバに切替えるサーバ切替えステップと、
前記サーバ切替えステップで前記中継サーバに切替える際に、前記受信手段で最後に受信した前記配信データの前記順番情報に示される順番の次の順番に係る情報を前記中継サーバに送信する送信ステップと
を有することを特徴とするクライアントの制御方法。 - 画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムにおける前記サーバの制御方法をコンピュータに実行させるためのプログラムであって、
前記ネットワークに接続された他のサーバの中から前記配信データを中継するための中継サーバを選定する中継サーバ選定ステップと、
順番情報を付与した前記配信データを、自装置の負荷状態に応じて前記クライアントまたは前記中継サーバに配信する配信ステップと、
前記配信ステップで前記中継サーバに前記配信データを配信する場合に、前記クライアントに対して前記中継サーバの情報を通知する通知ステップと
をコンピュータに実行させるためのプログラム。 - 画像データ及び音声データのうちの少なくとも1つを配信データとして配信する複数のサーバと、前記配信データを受信するクライアントとがネットワークを介して接続されたデータ配信システムにおける前記クライアントの制御方法をコンピュータに実行させるためのプログラムであって、
前記サーバ、または、当該サーバにおいて前記ネットワークに接続された他のサーバの中から選定された中継サーバから、順番情報が付与された前記配信データを受信手段で受信する受信ステップと、
前記受信手段で前記サーバから前記配信データを受信している状態で、当該サーバから、前記中継サーバを中継して前記配信データを配信するための通知を受けた場合に、前記受信手段による前記配信データの受信を前記サーバから前記中継サーバに切替えるサーバ切替えステップと、
前記サーバ切替えステップで前記中継サーバに切替える際に、前記受信手段で最後に受信した前記配信データの前記順番情報に示される順番の次の順番に係る情報を前記中継サーバに送信する送信ステップと
をコンピュータに実行させるためのプログラム。 - 請求項16又は17に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008106101A JP2009260569A (ja) | 2008-04-15 | 2008-04-15 | データ配信システム及びデータ配信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008106101A JP2009260569A (ja) | 2008-04-15 | 2008-04-15 | データ配信システム及びデータ配信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009260569A true JP2009260569A (ja) | 2009-11-05 |
Family
ID=41387445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008106101A Pending JP2009260569A (ja) | 2008-04-15 | 2008-04-15 | データ配信システム及びデータ配信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009260569A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014010444A1 (ja) * | 2012-07-10 | 2014-01-16 | シャープ株式会社 | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 |
US9049350B2 (en) | 2012-04-02 | 2015-06-02 | Canon Kabushiki Kaisha | Imaging apparatus that transmits media data to reception apparatus, method of processing information, and storage medium |
JP2016144018A (ja) * | 2015-02-02 | 2016-08-08 | 日本電信電話株式会社 | ストリーミングデータ配信システム、及び、ストリーミングデータ配信方法 |
-
2008
- 2008-04-15 JP JP2008106101A patent/JP2009260569A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049350B2 (en) | 2012-04-02 | 2015-06-02 | Canon Kabushiki Kaisha | Imaging apparatus that transmits media data to reception apparatus, method of processing information, and storage medium |
WO2014010444A1 (ja) * | 2012-07-10 | 2014-01-16 | シャープ株式会社 | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 |
JP2016144018A (ja) * | 2015-02-02 | 2016-08-08 | 日本電信電話株式会社 | ストリーミングデータ配信システム、及び、ストリーミングデータ配信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3069263B1 (en) | Session idle optimization for streaming server | |
JP6378057B2 (ja) | 接続制御装置、接続制御方法、接続制御システムおよびコンピュータプログラム | |
US7984228B2 (en) | Device connection routing for controller | |
JP6256086B2 (ja) | 情報処理システム、移動制御方法および移動制御プログラム | |
CN107846443B (zh) | 网络中的分布式处理 | |
JP5816301B2 (ja) | データパケットを受信及び転送する装置及び方法 | |
JP2006165928A (ja) | 移動体向けデータ配信支援方法 | |
US9229762B2 (en) | Host providing system and host providing method | |
JP4930148B2 (ja) | 情報処理装置、情報処理方法及び情報処理用プログラム | |
JP5517417B2 (ja) | 監視装置及びその制御方法、並びに、プログラム | |
JP2000059755A (ja) | データサーバシステム、データ受信装置およびデータ送信装置 | |
JP2009260569A (ja) | データ配信システム及びデータ配信方法 | |
JP6244998B2 (ja) | 情報通信方法及び情報処理装置 | |
JP2009224905A (ja) | 通信装置およびその制御方法、通信システム | |
JP6886874B2 (ja) | エッジ装置、データ処理システム、データ送信方法、及びプログラム | |
JP5614530B2 (ja) | 情報通信システム、ノード装置、情報処理方法、及び情報処理プログラム | |
JP2010093346A (ja) | 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム | |
IE20150106A1 (en) | File storage via physical block addresses | |
EP1780976A1 (en) | Methods and system to offload data processing tasks | |
CN110830381B (zh) | 拥塞控制方法及相关设备 | |
JP2007328727A (ja) | 分散ファイル管理方法及び情報処理装置 | |
JP5876425B2 (ja) | 仮想マシンのライブマイグレーションスケジューリング方法及び仮想マシンシステム | |
CN104486215A (zh) | 一种消息发送方法及设备 | |
JP5982436B2 (ja) | 画面転送サーバ装置、および画面転送方法 | |
EP2450795A1 (en) | Computer device, parallel computer system, and synchronization program |