JP6251203B2 - ストリーミングデータ配信システム、及び、ストリーミングデータ配信方法 - Google Patents

ストリーミングデータ配信システム、及び、ストリーミングデータ配信方法 Download PDF

Info

Publication number
JP6251203B2
JP6251203B2 JP2015018168A JP2015018168A JP6251203B2 JP 6251203 B2 JP6251203 B2 JP 6251203B2 JP 2015018168 A JP2015018168 A JP 2015018168A JP 2015018168 A JP2015018168 A JP 2015018168A JP 6251203 B2 JP6251203 B2 JP 6251203B2
Authority
JP
Japan
Prior art keywords
distribution
server
collected data
destination information
client terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015018168A
Other languages
English (en)
Other versions
JP2016144018A (ja
Inventor
幸 藤岡
幸 藤岡
博史 野口
博史 野口
雅志 金子
雅志 金子
健 福元
健 福元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015018168A priority Critical patent/JP6251203B2/ja
Publication of JP2016144018A publication Critical patent/JP2016144018A/ja
Application granted granted Critical
Publication of JP6251203B2 publication Critical patent/JP6251203B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、配信データの高いリアルタイム性とサービスの連続性とが要求されるストリーミングデータ配信システム、及び、ストリーミングデータ配信方法に関する。
従来、リアルタイムに収集されたデータをライブ形式で複数台のクライアント端末に配信するストリーミングデータ配信システムがある(例えば、特許文献1参照)。具体的には、カメラやマイク、センサ等のデータ収集装置を用いて、録画データや録音データ、温度や気圧等の測定データ等を収集データとしてリアルタイムに収集し、配信サーバを介して収集データをライブ形式で複数台のクライアント端末に配信することによって、動画や音声の再生、測定対象の監視等のサービスを提供するストリーミングデータ配信システムがある。以下、配信している収集データを「配信データ」と称する場合がある。
ストリーミングデータ配信システムには、配信データの高いリアルタイム性とサービスの連続性(サービスの提供を途切れさせないこと)とが要求される。このようなストリーミングデータ配信システムでは、複数台の配信サーバが予め用意されている。複数台の配信サーバは、それぞれ、1乃至複数台のクライアント端末と対応付けされており、収集データをそれぞれに対応付けされたクライアント端末に対して配信する配信元サーバとして機能する。
ストリーミングデータ配信システムは、運用中に、配信元サーバの切り替え処理を行うことがある。例えば、ストリーミングデータ配信システムは、運用中に、配信元サーバに障害が発生した場合に、その配信元サーバから別の正常な配信サーバに配信元を切り替えることがある。以下、切り替え元の配信サーバ(ここでは、障害が発生した配信元サーバ)を「旧配信元サーバ」と称し、切り替え先の配信サーバ(ここでは、障害が発生した配信元サーバとは別の正常な配信サーバ)を「新配信元サーバ」と称する。なお、配信元サーバの切り替え処理は、運用中に、配信サーバの台数が増減した場合にも行われることがある。
配信元サーバの切り替え処理は、クライアント端末の再送要求に基づいて行われるのが一般的である。例えば、クライアント端末は、収集データの配信の中断を検知した場合で、かつ、配信元サーバに障害が発生したと判定されたときに、収集データの再送要求をストリーミングデータ配信システムに送信する。その再送要求は、新配信元サーバで処理される。その結果、新配信元サーバが、旧配信元サーバに代わって、収集データの配信を開始(再開)する。
その際に、旧配信元サーバで障害が発生してから新配信元サーバが収集データの配信を開始(再開)するまでの間に、タイムラグが発生する。しかしながら、ストリーミングデータ配信システムは、配信データのバッファをクライアント端末に蓄積させておくことで、蓄積量に相当する時間分だけ動画や音声の再生、測定対象の監視等のサービスを途切れさせることなく提供することができる。
特開2006−018643号公報
しかしながら、特許文献1に記載された従来のストリーミングデータ配信システムは、以下に説明するように、サービスの連続性を損なわずに、配信元サーバを速やかに切り替えることが望まれている、という課題があった。
例えば、測定対象の監視や遠隔医療等のサービスを提供するために、収集データをライブ形式で配信する場合に、配信データの高いリアルタイム性とサービスの連続性(サービスの提供を途切れさせないこと)とが、ストリーミングデータ配信システムに要求される。
特許文献1に記載された従来のストリーミングデータ配信システムは、配信元サーバを切り替える際に、クライアント端末が配信サーバの障害発生の検知処理を行うことや、クライアント端末が新配信元サーバとの間で通信を行うことを前提にした構成になっている。つまり、特許文献1に記載された従来のストリーミングデータ配信システムは、クライアント端末側に付加機能を設け、クライアント端末と配信サーバ側とが協働することによって配信元サーバの切り替え処理を行う構成になっている。
また、従来のストリーミングデータ配信システムは、時間を要する処理(例えば、配信元サーバに障害が発生した場合のクライアント端末における配信元サーバの障害発生の検知処理や収集データの再送要求処理、配信元サーバを切り替える際のクライアント端末と新配信元サーバとの間の通信処理等)を行っている。例えば、クライアント端末は、配信元サーバの障害発生の検知処理として、パケットの欠損が発生したときに、その欠損が単純な一時的なものであるのか又は配信元サーバの障害発生による恒久的なものであるのか等を判定する処理や、収集データの再送を配信サーバ側に要求する再送要求処理を行っている。これらの処理は、比較的時間を要する。また、クライアント端末と配信サーバとは、配信元サーバを切り替えるための通信処理を行っている。この通信処理も、インターネットのような回線を介して行われるため、比較的時間を要する。
このような従来のストリーミングデータ配信システムは、例えば、配信データのリアルタイム性を向上させるために、クライアント端末に蓄積された配信データのバッファの蓄積量を小さく抑える構成にすると、配信元サーバを切り替える間に時間を要してしまった場合に、収集データのパケットを欠損させてしまい、サービスの連続性を損なうこと(サービスの提供を途切れさせてしまうこと)があった。
したがって、従来のストリーミングデータ配信システムは、サービスの連続性を損なわずに、配信元サーバを速やかに切り替えることが望まれていた。換言すると、従来のストリーミングデータ配信システムは、配信元サーバを切り替える際に、時間を要する処理(例えば、配信元サーバに障害が発生した場合のクライアント端末における配信元サーバの障害発生の検知処理や、クライアント端末における収集データの再送要求処理、配信元サーバを切り替える際のクライアント端末と新配信元サーバとの間の通信処理等)を行わずに、配信元サーバの切り替え処理を配信サーバ側で完結して行うことができる構成が望まれていた。
本発明は、前記した問題点を解決するためになされたものであり、サービスの連続性を損なわずに、配信元サーバを速やかに切り替えるストリーミングデータ配信システム、及び、ストリーミングデータ配信方法を提供することを主な課題とする。
前記課題を解決するため、第1発明は、データ収集装置によって収集された収集データを配信要求元のクライアント端末に配信する複数台の配信サーバと、当該収集データを当該複数台の配信サーバに配信するマルチキャストサーバとを有するストリーミングデータ配信システムであって、前記複数台の配信サーバのうち、前記クライアント端末から配信要求を受信した要求受信サーバは、当該配信要求に応じて配信先に関する配信先情報を作成するとともに、当該配信先情報を他の配信サーバとの間で保持し合い、それぞれの前記配信サーバは、自身の保持する前記配信先情報毎に、それぞれの前記配信先情報の属性が原本であるのか否かを管理しており、かつ、属性が原本である配信先情報に対応するクライアント端末に対して、前記収集データの配信を行う配信元サーバとして機能する一方、属性が原本でない配信先情報に対応するクライアント端末に対して、前記配信先情報をバックアップ用として保持し、かつ、前記収集データの配信を停止するバックアップサーバとして機能する構成とする。
このストリーミングデータ配信システムは、配信元サーバを切り替える際に、配信元サーバの切り替え契機の検知から新配信元サーバによる収集データの配信の開始(再開)までの処理を配信サーバ側で完結して行うことができる。特に、このストリーミングデータ配信システムは、時間を要する処理(例えば、配信元サーバに障害が発生した場合のクライアント端末における配信元サーバの障害発生の検知処理や、クライアント端末における収集データの再送要求処理、配信元サーバを切り替える際のクライアント端末と新配信元サーバとの間の通信処理等)を行うことなく、配信元サーバの切り替え処理を配信サーバ側で完結して行うことができる。そのため、このストリーミングデータ配信システムは、サービスの連続性を損なわずに、配信元サーバの切り替えを速やかに行うことができる。
このストリーミングデータ配信システムにおいて、前記バックアップサーバは、前記配信元サーバの障害発生を検知した場合、又は、前記マルチキャストサーバ若しくは他の配信サーバから前記配信元サーバの障害発生を通知された場合に、当該障害発生の配信元サーバとの間で保持し合っている前記配信先情報の属性を原本に変更することによって、当該障害発生の配信元サーバである旧配信元サーバに代わる新配信元サーバとして機能する構成にしてもよい。
この構成によれば、バックアップサーバは、障害発生の配信元サーバとの間で保持し合っている配信先情報の属性を原本に変更することによって、障害発生の配信元サーバである旧配信元サーバに代わる新配信元サーバとして機能することができる。
このストリーミングデータ配信システムにおいて、システム全体の動作を管理する前記配信サーバ以外のサーバを管理サーバとし、前記複数台の配信サーバの中のコーディネータとして機能する配信サーバをコーディネータサーバとし、前記配信サーバの台数の増減が発生した場合に、前記管理サーバ又は前記コーディネータサーバは、それぞれの前記配信サーバの通信負荷が均等になるように計算された前記配信元サーバと前記バックアップサーバとの組み合わせの計算結果に基づいて、前記配信先情報毎に、前記配信先情報を保持する前記配信サーバの変更、及び、それぞれの前記配信サーバに保持された前記配信先情報の属性の変更のいずれか一方又は双方を行うことによって、前記配信先情報毎に、前記複数台の配信サーバの中の2台以上を1台の前記配信元サーバと1乃至複数台の前記バックアップサーバとに割り振る構成にしてもよい。
この構成によれば、管理サーバ又はコーディネータサーバは、配信先情報を保持する配信サーバの変更、及び、それぞれの配信サーバに保持された配信先情報の属性の変更のいずれか一方又は双方を行うことによって、配信先情報毎に、それぞれの配信サーバを配信元サーバとバックアップサーバとのいずれか一方に割り振ることができる。
このストリーミングデータ配信システムにおいて、前記管理サーバ又は前記コーディネータサーバは、前記配信要求元のクライアント端末であるユーザ毎に、それぞれのユーザに固有な情報をキーにして、コンシステントハッシュのID空間で、それぞれのユーザの前記配信元サーバと前記バックアップサーバとの組み合わせを決定する構成にしてもよい。
この構成によれば、管理サーバ又はコーディネータサーバは、ユーザに固有な情報をキーにして、それぞれのユーザの配信元サーバとバックアップサーバとの組み合わせを決定することができる。
このストリーミングデータ配信システムにおいて、前記配信元サーバが配信権利を他の配信サーバに移譲することによって旧配信元サーバに変更された場合に、当該旧配信元サーバは、変更後も一定時間前記収集データを配信し続けることによって、前記クライアント端末に、前記収集データの重複配信を検知させて、検知された重複配信の片方の前記収集データを破棄させる構成にしてもよい。
この構成によれば、旧配信元サーバは、収集データを一定時間配信し続けるため、配信サーバの切り替え処理による収集データのわずかな欠損も回避することができ、連続性を損なわずにサービスを提供することができる。
このストリーミングデータ配信システムにおいて、前記配信元サーバが配信権利を他の配信サーバに移譲することによって旧配信元サーバに変更された場合に、当該旧配信元サーバは、変更後も前記収集データを配信し続けることによって、前記クライアント端末に、前記収集データの重複配信を検知させて、検知された重複配信の片方の前記収集データを破棄させるとともに、前記収集データの重複配信を当該旧配信元サーバに通知させ、その後に、前記クライアント端末から前記収集データの重複配信が通知されたときに、前記収集データの配信を停止する構成にしてもよい。
この構成によれば、旧配信元サーバは、クライアント端末から収集データの重複配信が通知されるまで、収集データを配信し続けるため、配信サーバの切り替え処理による収集データのわずかな欠損も回避することができ、連続性を損なわずにサービスを提供することができる。
また、第2発明は、データ収集装置によって収集された収集データを配信要求元のクライアント端末に配信する複数台の配信サーバと、当該収集データを当該複数台の配信サーバに配信するマルチキャストサーバとを有するストリーミングデータ配信方法であって、それぞれの前記配信サーバは、配信先に関する配信先情報を保持管理する管理部と、前記マルチキャストサーバからの前記収集データの受信及び前記配信要求元のクライアント端末への前記収集データの配信を行う配信部とを備えており、前記複数台の配信サーバのうち、前記クライアント端末から配信要求を受信した要求受信サーバの前記管理部が、当該配信要求に応じて配信先に関する配信先情報を作成するとともに、当該配信先情報を他の配信サーバの前記管理部との間で保持し合う工程と、それぞれの前記配信サーバの前記管理部が、自身の保持する前記配信先情報毎に、それぞれの前記配信先情報の属性が原本であるのか否かを管理する工程と、それぞれの前記配信サーバの前記配信部が、属性が原本である配信先情報に対応するクライアント端末に対して、前記マルチキャストサーバから受信した前記収集データの配信先を当該クライアント端末に設定して、前記収集データの配信を行う一方、属性が原本でない配信先情報に対応するクライアント端末に対して、前記マルチキャストサーバから受信した前記収集データの配信先を当該クライアント端末に設定せずに、前記収集データの配信を停止する工程と、を含む構成とする。
このストリーミングデータ配信方法は、配信元サーバを切り替える際に、配信元サーバの切り替え契機の検知から新配信元サーバによる収集データの配信の開始(再開)までの処理を配信サーバ側で完結して行うことができる。特に、このストリーミングデータ配信方法は、時間を要する処理(例えば、配信元サーバに障害が発生した場合のクライアント端末における配信元サーバの障害発生の検知処理や、クライアント端末における収集データの再送要求処理、配信元サーバを切り替える際のクライアント端末と新配信元サーバとの間の通信処理等)を行うことなく、配信元サーバの切り替え処理を配信サーバ側で完結して行うことができる。そのため、このストリーミングデータ配信方法は、サービスの連続性を損なわずに、配信元サーバの切り替えを速やかに行うことができる。
本発明は、サービスの連続性を損なわずに、配信元サーバを速やかに切り替えることができる。
実施形態に係るストリーミングデータ配信システムの構成図である。 実施形態で用いる配信サーバの構成図である。 実施形態で用いる配信先登録情報の構成図である。 実施形態に係るストリーミングデータ配信システムの配信元サーバの障害発生時の動作の説明図である。 実施形態に係るストリーミングデータ配信システムの配信サーバの増設時の動作の説明図である。 実施形態に係るストリーミングデータ配信システムの配信サーバの増設時の動作の第1変更例の説明図である。 実施形態に係るストリーミングデータ配信システムの配信サーバの増設時の動作の第2変更例の説明図である。 実施形態に係るストリーミングデータ配信システムの収集データの配信開始時の動作のシーケンス図である。 実施形態に係るストリーミングデータ配信システムの配信元サーバの障害発生時の動作のシーケンス図である。 実施形態に係るストリーミングデータ配信システムの配信サーバの増設時の動作のシーケンス図である。 実施形態に係るストリーミングデータ配信システムの配信サーバの増設時の第1変更例の動作のシーケンス図である。 実施形態に係るストリーミングデータ配信システムの配信サーバの増設時の第2変更例の動作のシーケンス図である。
以下、図面を参照して、本発明の実施の形態(以下、「本実施形態」と称する)につき詳細に説明する。なお、各図は、本発明を十分に理解できる程度に、概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
[実施形態]
<ストリーミングデータ配信システムの構成>
以下、図1を参照して、本実施形態に係るストリーミングデータ配信システム1の構成につき説明する。図1は、ストリーミングデータ配信システム1装置の構成を示す図である。
ストリーミングデータ配信システム1は、リアルタイムに収集されたデータをライブ形式で複数台のクライアント端末6に配信するシステムである。図1に示すように、ストリーミングデータ配信システム1は、データ収集装置2、リアルタイムエンコーダ3、マルチキャストサーバ4、及び、配信サーバ5を有している。
データ収集装置2は、例えば、カメラやマイク、センサ等の、リアルタイムにデータを収集する装置である。
リアルタイムエンコーダ3は、データ収集装置2によって収集された収集データDgaを所定のパケット形式のデータに変換してマルチキャストサーバ4に転送する装置である。
マルチキャストサーバ4は、収集データDgaを各配信サーバ5に転送するサーバである。
配信サーバ5は、収集データDgaを配信要求元のクライアント端末6に配信するサーバである。
配信サーバ5は、複数台設けられている。複数台の配信サーバ5は、それぞれ、1乃至複数台のクライアント端末6に対応付けられており、収集データDgaをそれぞれに対応付けられたクライアント端末6に配信する。以下、配信サーバ5からクライアント端末6に配信される収集データDgaを「配信データDga」と称する場合がある。
ここでは、データ収集装置2がテレビカメラとして構成されており、ストリーミングデータ配信システム1がデータ収集装置2によって収集された収集データ(録画データ)Dgaをライブ形式で複数台のクライアント端末6に配信する場合を想定して説明する。したがって、本実施形態では、各クライアント端末6は、配信された収集データ(録画データ)Dgaに基づいて、動画の再生(すなわち、図示せぬディスプレイでの動画の表示)を行う。
複数台の配信サーバ5のうち、クライアント端末6から配信要求を受信した配信サーバ(以下、「要求受信サーバ」と称する)は、配信要求に応じて配信先に関する配信先情報Dtr(図2及び図3参照)を作成するとともに、配信先情報Dtrを他の配信サーバ5との間で保持し合っている。
また、それぞれの配信サーバ5は、自身の保持する配信先情報Dtr(図2及び図3参照)毎に、それぞれの配信先情報Dtrの属性が原本であるのか否かを管理している。
それぞれの配信サーバ5は、属性が原本である配信先情報Dtrに対応するクライアント端末6に対して、収集データDgaの配信を行う配信元サーバとして機能する一方、属性が原本でない配信先情報Dtrに対応するクライアント端末6に対して、配信先情報Dtrをバックアップ用として保持し、かつ、収集データDgaの配信を停止するバックアップサーバとして機能する。
その結果、それぞれの配信サーバ5は、属性が原本である配信先情報Dtrに対応するクライアント端末6に対してのみ、収集データDgaを配信する。ここで、「属性が原本でない配信先情報Dtr」とは、属性がバックアップになっている配信先情報Dtrと属性がブランクになっている配信先情報Dtrとの双方を意味している。
<配信サーバの構成>
以下、図2を参照して、配信サーバ5の構成につき説明する。図2は、本実施形態で用いる配信サーバ5の構成図である。
図2に示すように、各配信サーバ5は、管理部21、配信部22、及び、監視部23を備えている。
管理部21は、収集データDgaの配信先を管理する機能手段である。
配信部22は、マルチキャストサーバ4から配信された収集データDgaを受信し、受信した収集データDgaを配信先に配信する機能手段である。
監視部23は、他の配信サーバ5の死活状態を監視する機能手段である。
配信サーバ5の図示せぬCPUは、配信サーバ5の図示せぬ記憶部に格納された制御プログラムを実行することにより、これらの各機能手段を実現する。
<配信先登録情報の構成>
各配信サーバ5の管理部21は、配信先を管理するためのテーブル情報として配信先登録情報Dreを保持している。以下、図3を参照して、配信先登録情報Dreの構成につき説明する。図3は、本実施形態で用いる配信先登録情報Dreの構成図である。
図3に示すように、配信先登録情報Dreには、配信先情報Dtrが登録されている。配信先情報Dtrには、IDや、配信先(IPアドレス)、ポート番号、属性等の情報が含まれている。ここでは、配信先情報Dtrは、各ユーザに固有な情報であるアドレス情報Dadとして、配布先(IPアドレス)を含んでいるものとして説明する。
IDは、各配信先情報Dtrに一意に付されたコード情報である。
配信先(IPアドレス)は、配信先のアドレス情報Dadである。
ポート番号は、収集データDgaを出力するポートに付された番号情報である。
属性は、配信先情報Dtrが原本であるのか否かを表す情報である。本実施形態では、属性として「原本」情報又は「バックアップ」情報が配信先登録情報Dreに登録されるものとして説明する。ただし、配信先情報Dtrの属性が不定の場合に、属性としてブランク情報が登録されたり、又は、「バックアップ」情報の代わりに、属性としてブランク情報が登録されたりしてもよい。
<ストリーミングデータ配信システムの動作>
以下、図2、図4〜図12を参照して、ストリーミングデータ配信システム1の動作につき説明する。
ここでは、ストリーミングデータ配信システム1の特徴的な動作について、(1)収集データの配信開始時の動作、(2)配信元サーバの障害発生時の動作、(3)配信サーバ5の増設時の動作、(4)配信サーバ5の第1変更例の増設時の動作、(5)配信サーバ5の増設時の第2変更例の動作の順で説明する。
また、ここでは、図4に示すように、ストリーミングデータ配信システム1が3台の配信サーバ5を備えている場合を想定して説明する。以下、3台の配信サーバ5を「配信サーバ5A,5B,5C」とし、配信サーバ5A,5B,5Cの各構成要素を区別する場合に、各構成要素に与えられた符号の末尾に、英文字「A」、「B」、「C」を付して説明する。
なお、各装置は、図示せぬタイマによって計測された時間に基づいて動作する。また、各装置の動作は、各装置の図示せぬ記憶部に読み出し自在に予め格納された制御プログラムによって規定されており、各装置の図示せぬ制御部によって実行される。また、装置間の通信は、受信側の装置が通信によって受信されたデータを記憶部に一旦格納し、その後に、データを記憶部から読み出すことによって、行われる。また、各データは、記憶部に読み出し自在に一旦格納されてから、その後の処理を行う所要の構成要素に出力される。以下、これらの点については、情報処理では常套手段であるので、その詳細な説明を省略する。
(1)収集データの配信開始時の動作
以下、まず、図2を参照して、ストリーミングデータ配信システム1の収集データDgaの配信開始時の動作の概要につき説明し、次に、図8を参照して、その動作の詳細につき説明する。図8は、ストリーミングデータ配信システム1の収集データDgaの配信開始時の動作のシーケンス図である。
(a)動作の概要
図2に示すように、各配信サーバ5の管理部21は、配信先を管理するためのテーブル情報として配信先登録情報Dreを保持している。配信先登録情報Dreには、各配信サーバ5の配信先を表す配信先情報Dtrが登録されている。その配信先情報Dtrには、配信先であるクライアント端末6のアドレス情報Dadが含まれている。管理部21は、配信先登録情報Dreに登録された配信先情報Dtrのうち、属性(図3参照)が原本になっている配信先情報Dtrのアドレス情報Dadを配信部22に出力する。
配信部22は、アドレス情報Dadが入力されると、入力されたアドレス情報Dadを配信アドレス情報Dtaに登録する。配信アドレス情報Dtaは、配信先のアドレス情報Dadを管理するためのテーブル情報である。配信部22は、マルチキャストサーバ4から受信した収集データDgaのパケットのアドレスを配信先のアドレス(ここでは、配信アドレス情報Dtaに登録されたアドレス情報Dad)に付け替える。これによって、配信部22は、収集データDgaを配信先である各ユーザのクライアント端末6に配信する。
(b)動作の詳細
図8に、収集データDgaの配信開始時の動作シーケンスとして、シーケンス1を示す。ここでは、データ収集装置2が、収集データDgaを収集しながら、リアルタイムエンコーダ3を介して収集データDgaをマルチキャストサーバ4に送信し続けているものとして説明する。
図8に示すように、マルチキャストサーバ4は、常時、リアルタイムエンコーダ3を介してデータ収集装置2から収集データDgaのパケットを受信しながら、受信された収集データDgaのパケットを各配信サーバ5に継続的に転送する(S105)。
クライアント端末6は、任意のタイミングで、配信要求をストリーミングデータ配信システム1側に送信する(S110)。
ストリーミングデータ配信システム1は、事前に、配信要求元のクライアント端末6に対する配信元サーバとバックアップサーバとの組み合わせを決定しており、組み合わせ関係を表す図示せぬID表を各配信サーバ5に配布している。配信元サーバとバックアップサーバとの組み合わせの計算については、後記する。ここでは、図示せぬID表によって、配信サーバ5Aが配信元サーバに割り振られており、配信サーバ5Bがバックアップサーバに割り振られているものとして説明する。ただし、配信元サーバに割り振られる配信サーバ5及びバックアップサーバに割り振られる配信サーバ5は、ストリーミングデータ配信システム1がクライアント端末6から配信要求を受信する度に、変更される。
配信元サーバに割り振られている配信サーバ5Aの管理部21Aは、クライアント端末6から配信要求を受信すると、受信した配信要求に基づいて、配信要求元のクライアント端末6に対応する原本用の配信先情報Dtrを作成し(S115)、作成された配信先情報Dtrを自身の保持する配信先登録情報Dreに登録する。このとき、配信サーバ5Aの管理部21Aは、作成された配信先情報Dtrの属性を「原本」にして、配信先登録情報Dreに登録する。
S115の後、配信サーバ5Aの管理部21Aは、バックアップ作成要求を作成して、バックアップサーバに割り振られている配信サーバ5Bに送信する(S120)。このとき作成されたバックアップ作成要求には、配信要求元のクライアント端末6に対応する配信先情報Dtrが含まれている。
配信サーバ5Bの管理部21Bは、配信サーバ5Aからバックアップ作成要求を受信すると、バックアップ作成要求に含まれている配信先情報Dtrに基づいて、配信要求元のクライアント端末6に対応するバックアップ用の配信先情報Dtrを作成して(S125)、作成された配信先情報Dtrを自身の保持する配信先登録情報Dreに登録する。このとき、管理部21Bは、作成された配信先情報Dtrの属性を「バックアップ」にして、配信先登録情報Dreに登録する。
S115の後、配信サーバ5Aの管理部21Aは、配信先登録情報Dreに登録された原本用の配信先情報Dtr(すなわち、属性が「原本」になっている配信先情報Dtr)に基づいて、配信要求元のクライアント端末6のアドレス情報Dadを配信部22Aに出力する(S130)。S130の処理は、S115の後であれば、S120又はS125の前に行うことができる。
配信部22Aは、管理部21Aからアドレス情報Dadが入力されると、入力されたアドレス情報Dadを配信アドレス情報Dta(図2参照)に登録する。そして、配信部22Aは、配信アドレス情報Dtaに登録されたアドレス情報Dadに基づいて、S105でマルチキャストサーバ4から転送された収集データDgaのパケットの配信先の変更を行い、収集データDgaのパケットの配信を開始する(S135)。
配信先の変更は、S105でマルチキャストサーバ4から転送された収集データDgaのパケットのアドレスを、配信アドレス情報Dtaに登録された配信要求元のクライアント端末6のアドレス情報Dadに付け替えることによって行われる(以下、同様。)。
以後、配信部22Aは、マルチキャストサーバ4から継続的に転送される収集データDgaのパケットの配信先の変更を行って、収集データDgaのパケットを配信要求元のクライアント端末6に配信する(S140)。
このようにして収集データの配信開始時の動作が行われる。収集データの配信開始時の動作は、ストリーミングデータ配信システム1がクライアント端末6から配信要求を受信する度に、行われる。したがって、ストリーミングデータ配信システム1がクライアント端末6から配信要求を受信する度に、配信元サーバに割り振られた配信サーバ5は、原本用の配信先情報Dtrを保持するとともに、収集データDgaの配信を行う。一方、バックアップサーバに割り振られた配信サーバ5は、バックアップ用の配信先情報Dtrを保持するだけで、収集データDgaの配信を行わない。
(2)配信元サーバの障害発生時の動作
以下、まず、図4を参照して、ストリーミングデータ配信システム1の配信元サーバの障害発生時の動作の概要につき説明し、次に、図9を参照して、その動作の詳細につき説明する。図4は、ストリーミングデータ配信システム1の配信元サーバの障害発生時の動作の説明図であり、図4(a)は、各配信サーバ5A〜5Cがそれぞれに対応するクライアント端末6に対する配信元サーバとして正常に作動している状態を示しており、図4(b)は、配信サーバ5Aに障害が発生した状態を示している。図9は、その動作のシーケンス図である。
(a)動作の概要
図4(a)に示す例では、3台の配信サーバ5A〜5Cがストリーミングデータ配信システム1に設けられている。各配信サーバ5A〜5Cは、互いに配信先情報Dtrを保持し合っている。
具体的には、配信サーバ5Aは、配信サーバ5A自身の送信先を表す原本用の配信先情報DtrA1を保持するとともに、配信サーバ5Cの送信先を表すバックアップ用の配信先情報DtrC2を保持している。原本用の配信先情報DtrA1及びバックアップ用の配信先情報DtrC2は、配信サーバ5Aの管理部21Aに保持された配信先登録情報Dre(図2及び図3参照)に登録されている。
また、配信サーバ5Bは、配信サーバ5B自身の送信先を表す原本用の配信先情報DtrB1を保持するとともに、配信サーバ5Aの送信先を表すバックアップ用の配信先情報DtrA2を保持している。原本用の配信先情報DtrB1及びバックアップ用の配信先情報DtrA2は、配信サーバ5Bの管理部21Bに保持された配信先登録情報Dre(図2及び図3参照)に登録されている。
また、配信サーバ5Cは、配信サーバ5C自身の送信先を表す原本用の配信先情報DtrC1を保持するとともに、配信サーバ5Bの送信先を表すバックアップ用の配信先情報DtrB2を保持している。原本用の配信先情報DtrC1及びバックアップ用の配信先情報DtrB2は、配信サーバ5Cの管理部21Cに保持された配信先登録情報Dre(図2及び図3参照)に登録されている。
ここで、図4(b)に示すように、複数台の配信サーバ5の中のいずれかの配信サーバ5(例えば、配信サーバ5A)に、障害が発生したとする。この場合に、障害が発生した配信サーバ5Aのバックアップ用の配信先情報DtrA2を保持している配信サーバ5Bは、自身が保持している配信先情報DtrA2の属性を「バックアップ」から「原本」に変更する。その結果、配信サーバ5Bに保持されていた配信先情報DtrA2が、配信先情報DtrA1に昇格する。この後、配信サーバ5Bは、昇格された配信先情報DtrA1に基づいて、昇格された配信先情報DtrA1に対応するクライアント端末6への収集データDgaの配信を開始する。
したがって、ストリーミングデータ配信システム1では、いずれかの配信元サーバに障害が発生した場合に、他の正常な配信サーバ5(具体的には、障害が発生した配信元サーバのバックアップ用の配信先情報Dtrを保持している配信サーバ5)が、新配信元サーバ5newとなり、障害が発生した配信元サーバに代わって、収集データDgaの配信を速やかに開始する。その結果、障害が発生した配信元サーバは、旧配信元サーバ5oldとなる。
このようなストリーミングデータ配信システム1は、配信元サーバに障害が発生した場合に、クライアント端末6における配信元サーバの障害発生の検知処理や、クライアント端末6における収集データDgaの再送要求処理、配信元サーバを切り替える際のクライアント端末6と新配信元サーバ5newとの間の通信処理等を行うことなく、配信サーバ5側で配信元サーバの切り替え処理を完結して行うことができる。
(b)動作の詳細
図9に、配信元サーバの障害発生時の動作シーケンスとして、シーケンス2を示す。ここでは、ストリーミングデータ配信システム1が図8に示すシーケンス1の処理を行っている最中に、配信サーバ5Aに障害が発生した場合を想定して説明する。
図9に示すように、各配信サーバ5の監視部23(図示例では、配信サーバ5Bの監視部23B)は、常時又は定期的に、他の配信サーバ5の死活状態を監視する(S205)。
配信サーバ5Bの監視部23Bは、配信元サーバである配信サーバ5Aに障害が発生した場合に、配信サーバ5Aからの応答途絶を検知する(S210)。すると、監視部23Bは、配信サーバ5Aに障害が発生したか否かを判定する(S215)。このとき、監視部23Bは、例えば、配信サーバ5Aからの応答途絶の要因がネットワークの要因であるのか否かを判定し、応答途絶の要因がネットワークの要因でないと判定される場合に、配信サーバ5Aに障害が発生したと判定する。この後、監視部23Bは、配信サーバ5Aの障害発生情報を作成して、管理部21Bに出力する(S220)。
管理部21Bは、監視部23Bから配信サーバ5Aの障害発生情報が入力されると、配信先登録情報Dreに登録されている、配信サーバ5Aとの間で保持し合っているバックアップ用の各配信先情報Dtrの属性を「バックアップ」から「原本」に変更する(S225)。そして、管理部21Bは、属性が「バックアップ」から「原本」に変更された各配信先情報Dtrのアドレス情報Dadを配信部22Bに出力する(S230)。
配信部22Bは、管理部21Bからアドレス情報Dadが入力されると、入力されたアドレス情報Dadを配信アドレス情報Dta(図2参照)に登録する。そして、配信部22Bは、配信アドレス情報Dtaに登録されたアドレス情報Dadに基づいて、図8に示すシーケンス1のS105でマルチキャストサーバ4から転送された収集データDgaのパケットの配信先の変更を行い、収集データDgaのパケットの配信を開始する(S235)。
以後、配信部22Bは、マルチキャストサーバ4から継続的に転送される収集データDgaのパケットの配信先の変更を行って、収集データDgaのパケットを配信要求元のクライアント端末6に配信する(S240)。
(3)配信サーバ5の増設時の動作
以下、まず、図5を参照して、ストリーミングデータ配信システム1の配信サーバ5の増設時の動作の概要につき説明し、次に、図10を参照して、その動作の詳細につき説明する。図5は、ストリーミングデータ配信システム1の配信サーバ5の増設時の動作の説明図であり、図5(a)は、配信サーバ5Dを増設する前の状態を示しており、図5(b)は、配信サーバ5Dを増設した後の状態を示している。図10は、その動作のシーケンス図である。
ここでは、増設される配信サーバ5Dの各構成要素を他の配信サーバ5A〜5Cの各構成要素と区別する場合に、各構成要素に与えられた符号の末尾に、英文字「D」を付して説明する。
(a)動作の概要
図5(a)に示す例では、3台の配信サーバ5A〜5Cがストリーミングデータ配信システム1に設けられている。各配信サーバ5A〜5Cは、図4(a)に示す例と同様に、互いに配信先情報Dtrを保持し合っている。
ここで、図5(b)に示すように、配信サーバ5Dがストリーミングデータ配信システム1に増設されたとする。この場合に、ストリーミングデータ配信システム1は、配信先情報Dtrを保持する配信サーバ5の変更、及び、それぞれの配信サーバ5に保持された配信先情報Dtrの属性の変更のいずれか一方又は双方を行う。以下に、その具体的な方法につき説明する。ここでは、ストリーミングデータ配信システム1全体の動作を管理する配信サーバ5以外のサーバを「管理サーバ」と称し、また、複数台の配信サーバ5の中のコーディネータとして機能する配信サーバを「コーディネータサーバ」と称して説明する。なお、「管理サーバ」の機能をマルチキャストサーバ4に付与すること(すなわち、マルチキャストサーバ4を「管理サーバ」として機能させること)も可能である。
具体的には、管理サーバ又はコーディネータサーバは、事前に、それぞれの配信サーバ5の通信負荷が均等になるように、配信元サーバとバックアップサーバとの組み合わせを計算しておく。そして、管理サーバ又はコーディネータサーバは、配信サーバ5の増設時等のように、配信元サーバの切り替え処理を行うときに、計算結果に基づいて、配信先情報Dtr毎に、配信先情報Dtrを保持する配信サーバ5の変更、及び、それぞれの配信サーバ5に保持された配信先情報Dtrの属性の変更のいずれか一方又は双方を行う。これによって、ストリーミングデータ配信システム1は、配信先情報Dtr毎に、複数台の配信サーバ5の中の2台以上を1台の配信元サーバと1乃至複数台のバックアップサーバとに割り振ることができる。
配信元サーバとバックアップサーバとの組み合わせの計算は、好ましくは、各配信サーバ5の通信負荷が均等になるように、例えば、各ユーザに固有な情報(例えば、IDやIPアドレス等)をキーとして、コンシステントハッシュ(Consistent hashing)のID空間で決定するとよい。
なお、コンシステントハッシュ法(Consistent hashing)の詳細については、例えば、以下のWebサイトに開示されている(平成27年1月21日現在)。
<http://www.hyk-home.com/wiki/%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9/memcached/%E5%88%86%E6%95%A3%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0>
例えば、コンシステントハッシュ法は、まず、分散キャッシュメモリシステムを構築するサーバ(ノード)のハッシュ値を求め、サーバを0地点から任意の設定数の地点までの円の中に配置する。次に、コンシステントハッシュ法は、格納するデータのキーのハッシュ値を求め、キーを円の上にマッピングする。キーは、マッピングされた地点から時計回りで最初に見つかるサーバに保存される。なお、この状態からサーバを1台追加する場合に、コンシステントハッシュ法では、円上のサーバが追加された地点から時計回りとは逆方向で最初に見つかるサーバまでにあるキーのみが影響を受ける。
本実施形態では、例えば、前記した管理サーバ又はコーディネータサーバは、前記した図示せぬID表を用いて、各ユーザに固有な情報(例えば、IDやIPアドレス等)をキーとして、コンシステントハッシュ(Consistent hashing)のID空間で配信元サーバとバックアップサーバとを決定する。バックアップサーバの決定方法は、各サービスのポリシーに従う。例えば、1つのバックアップ用の配信先情報Dtrをいずれかの配信サーバ5に保持させたいのであれば、管理サーバ又はコーディネータサーバは、前記した図示せぬID表を任意の地点(例えば、設定数が0地点)から時計回りに探索し、最初に見つかる配信サーバ5を配信元サーバに決定し、その次に見つかる配信サーバ5をバックアップサーバに決定する。また、災害時を考慮して、1つのバックアップ用の配信先情報Dtrをロケーションの離れた配信サーバ5に保持させたいのであれば、管理サーバ又はコーディネータサーバは、ID表を作成する際に、ロケーションが同じサーバ(ノード)を隣合わせないように配置するとよい。
このような計算を行うことにより、ストリーミングデータ配信システム1は、配信先情報Dtrが適切な新配信元サーバ5newに自動的に移行して、旧配信元サーバ5old(図6参照)から新配信元サーバ5new(図6参照)への配信権利の移譲が行われ、その結果、配信が開始されるため、クライアント端末6に障害発生の検知や再送処理やクライアント端末6との通信を不要とし、配信サーバ5側で切り替え処理を完結して行うことができる。
(b)動作の詳細
図10に、配信サーバ5の増設時の動作シーケンスとして、シーケンス3を示す。ここでは、ストリーミングデータ配信システム1が図8に示すシーケンス1の処理を行っている最中に、配信サーバ5Dが増設された場合を想定して説明する。また、マルチキャストサーバ4が前記した「管理サーバ」として機能している場合を想定して説明する。また、配信サーバ5Aを旧配信元サーバ5oldとし、配信サーバ5Dを新配信元サーバ5newとし、収集データDgaの配信権利が、配信サーバ5Aから配信サーバ5Dに移譲されるものとして説明する。
図10に示すように、ストリーミングデータ配信システム1では、新たな配信サーバ5Dが増設されると、増設された配信サーバ5D(以下、「増設サーバ5D」と称する場合がある)が、増設通知情報を作成して、マルチキャストサーバ4に送信する(S305)。このとき作成された増設通知情報には、増設サーバ5Dに関する情報(以下、「増設サーバ情報」と称する)が含まれている。
マルチキャストサーバ4は、増設通知情報を受信すると、増設サーバ情報を、収集データDgaの転送先を管理するために予め用意された配信サーバ管理情報(図示せず)に登録する(S310)。
マルチキャストサーバ4は、増設サーバ情報を配信サーバ管理情報に登録すると、以後、配信サーバ管理情報に登録された増設サーバ情報に基づいて、常時、リアルタイムエンコーダ3を介してデータ収集装置2から受信された収集データDgaを、増設サーバ5Dに転送する(S315)。
また、増設サーバ5Dは、S305の処理とほぼ同じタイミングで、増設通知情報を旧配信元サーバ5oldである配信サーバ5Aに送信する(S325)。
配信サーバ5Aの管理部21Aは、増設サーバ5Dから増設通知情報を受信すると、自身の保持する配信先登録情報Dreの中から、増設サーバ5Dに配信権利を委譲する配信先情報Dtrを抽出し(S330)、抽出された配信先情報Dtrを増設サーバ5Dに送信する(S335)。
増設サーバ5Dの管理部21Dは、配信サーバ5Aから配信先情報Dtrを受信すると、受信された配信先情報Dtrを自身の保持する配信先登録情報Dreに登録する(S340)。そして、管理部21Dは、登録完了通知情報を作成して、配信サーバ5Aに送信する(S345)。
配信サーバ5Aの管理部21Aは、増設サーバ5Dから登録完了通知情報を受信すると、自身の保持する配信先登録情報Dreの中から、S335で増設サーバ5Dに送信した配信先情報Dtrを削除する(S350)。なお、このとき、管理部21Aは、配信先登録情報Dreの中から配信先情報Dtrを削除する代わりに、配信先情報Dtrの属性を「原本」から「バックアップ」に変更するようにしてもよい。
S350の後、管理部21Aは、S350で削除した配信先情報Dtrに対応するアドレス情報Dad(又は、属性が「原本」から「バックアップ」に変更した配信先情報Dtrに対応するアドレス情報Dad)を、配信部22Aに出力する(S355)。
配信部22Aは、自身の保持する配信アドレス情報Dta(図2参照)の中から該当するアドレス情報Dadを削除することによって、配信先を変更して、該当するアドレス情報Dadに対応するクライアント端末6への収集データDgaの配信を停止する(S360)。
管理部21Aは、配信先情報Dtrを削除したことを表す削除通知情報(又は、配信先情報Dtrの属性を「原本」から「バックアップ」に変更したことを表す属性の変更通知情報)を作成して、増設サーバ5Dに送信する(S365)。このとき作成された削除通知情報(又は属性の変更通知情報)には、S350で削除した配信先情報Dtrに対応するアドレス情報Dad(又は、属性が「原本」から「バックアップ」に変更した配信先情報Dtrに対応するアドレス情報Dad)が含まれている。
増設サーバ5Dの管理部21Dは、配信サーバ5Aから削除通知情報(又は属性の変更通知情報)を受信すると、削除通知情報(又は属性の変更通知情報)からアドレス情報Dadを抽出して、抽出されたアドレス情報Dadを、配信アドレス情報Dta(図2参照)に登録する情報として配信部22Dに出力する(S370)。
配信部22Dは、そのアドレス情報Dadを配信アドレス情報Dta(図2参照)に登録することによって、配信先を変更して、配信アドレス情報Dtaに登録されたアドレス情報Dadに対応する全てのクライアント端末6への収集データDgaの配信を開始する(S375)。
これによって、配信権利が、配信サーバ5Aから増設サーバ5Dに移譲される。その結果、配信権利が移譲された配信先情報Dtrに対して、配信サーバ5Aが旧配信元サーバ5oldとなり、増設サーバ5Dが新配信元サーバ5newとなる。
その結果、配信サーバ5Bの配信部22Bは、収集データDgaのパケットを配信要求元のクライアント端末6に配信する(S380)。
(4)配信サーバ5の増設時の第1変更例の動作
ストリーミングデータ配信システム1は、サービスの連続性を重視する場合に、旧配信元サーバ5old(図6参照)と新配信元サーバ5new(図6参照)とによる配信データDgaの重複配信を許容する構成にするとよい。このような構成は、重複配信された収集データDgaの片方のパケットを破棄する機能をクライアント端末6に付与することによって実現される。以下、このような構成による配信サーバ5の増設時の第1変更例の動作につき説明する。
以下、まず、図6を参照して、ストリーミングデータ配信システム1の配信サーバ5の増設時の第1変更例の動作の概要につき説明し、次に、図11を参照して、その動作の詳細につき説明する。図6は、ストリーミングデータ配信システム1の配信サーバ5の増設時の第1変更例の動作の説明図である。図11は、その動作のシーケンス図である。
(a)動作の概要
図6に示すように、例えば、配信元サーバが配信権利を他の配信サーバ5に移譲することによって旧配信元サーバ5oldに変更された場合に、旧配信元サーバ5oldは、変更後も一定時間収集データDgaを配信し続ける。その結果、収集データDgaは、旧配信元サーバ5oldと新配信元サーバ5newとからクライアント端末6に重複配信される。
このとき、ストリーミングデータ配信システム1は、クライアント端末6に、収集データDgaの重複配信を検知させ、検知された重複配信の片方の収集データDgaを破棄させる。
このようなストリーミングデータ配信システム1は、配信権利が旧配信元サーバ5oldから新配信元サーバ5newに移譲された後も、旧配信元サーバ5oldが、一定時間、収集データDgaのパケットを配信し続けるため、サービスの連続性を向上させることができる。
(b)動作の詳細
図11に、配信サーバ5の増設時の第1変更例の動作シーケンスとして、シーケンス4を示す。本シーケンス4は、配信権利が旧配信元サーバ5oldである配信サーバ5Aから新配信元サーバ5newである増設サーバ5Dに移譲された後も、配信サーバ5Aが、一定時間、収集データDgaを配信し続けることを特徴にしている。
図11に示すように、本シーケンス4の動作は、図10に示すシーケンス3の動作と比較すると、S305〜S345の処理が同じであるが、S345の後に、配信サーバ5AがS350の処理を行わずに、S351の処理を行う点で相違している。すなわち、本シーケンス4では、S345の後、配信サーバ5Aの管理部21Aは、一定時間スリープする(S351)。また、配信サーバ5Aの配信部22Aは、収集データDgaのパケットの送信を継続して行う(S352)。
また、本シーケンス4では、S340の後に、増設サーバ5DがS370の処理を行わずに、S371の処理を行う点で相違している。すなわち、本シーケンス4では、S340の後、増設サーバ5Dの管理部21Dは、配信先登録情報DreからS340で登録された配信先情報Dtrに対応するアドレス情報Dadを抽出して、抽出されたアドレス情報Dadを、配信アドレス情報Dta(図2参照)に登録する情報として配信部22Dに出力する(S371)。
配信部22Dは、そのアドレス情報Dadを配信アドレス情報Dta(図2参照)に登録することによって、配信先を変更して、配信アドレス情報Dtaに登録されたアドレス情報Dadに対応する全てのクライアント端末6への収集データDgaの配信を開始する(S375)。
その結果、配信サーバ5Bの配信部22Bは、収集データDgaのパケットを配信要求元のクライアント端末6に配信する(S380)。このとき、ストリーミングデータ配信システム1は、配信サーバ5Aと増設サーバ5Dとからクライアント端末6に2つの同じ収集データDgaのパケットを重複配信している状態になる。
クライアント端末6は、任意のタイミングで、重複配信を検知し、重複配信されている収集データDgaの片方のパケットを破棄する(S505)。
旧配信元サーバ5oldである配信サーバ5Aの管理部21Aは、スリープしてから一定時間経過すると、起動して、S335で増設サーバ5Dに送信した配信先情報Dtrを削除する(S510)。なお、このとき、管理部21Aは、配信先登録情報Dreの中から配信先情報Dtrを削除する代わりに、配信先情報Dtrの属性を「原本」から「バックアップ」に変更するようにしてもよい。
S510の後、管理部21Aは、S510で削除した配信先情報Dtrに対応するアドレス情報Dad(又は、属性が「原本」から「バックアップ」に変更した配信先情報Dtrに対応するアドレス情報Dad)を、配信部22Aに出力する(S515)。
配信部22Aは、自身の保持する配信アドレス情報Dta(図2参照)の中から該当するアドレス情報Dadを削除することによって、配信先を変更して、該当するアドレス情報Dadに対応するクライアント端末6への収集データDgaの配信を停止する(S520)。
本シーケンス4の動作によれば、旧配信元サーバ5oldは、一定時間、収集データDgaを配信し続ける。そのため、配信サーバ5の切り替え処理による収集データDgaのわずかな欠損も回避することができ、連続性を損なわずにサービスを提供することができる。
(5)配信サーバ5の増設時の第2変更例の動作
前記した配信サーバ5の増設時の第1変更例の動作は、以下に説明する配信サーバ5の増設時の第2変更例の動作のように変更することができる。
以下、まず、図7を参照して、ストリーミングデータ配信システム1の配信サーバ5の増設時の第2変更例の動作の概要につき説明し、次に、図12を参照して、その動作の詳細につき説明する。図7は、ストリーミングデータ配信システム1の配信サーバ5の増設時の第2変更例の動作の説明図である。図12は、その動作のシーケンス図である。
(a)動作の概要
図7に示すように、例えば、配信元サーバが配信権利を他の配信サーバ5に移譲することによって旧配信元サーバ5oldに変更された場合に、旧配信元サーバ5oldは、変更後も収集データDgaを配信し続ける。その結果、収集データDgaは、旧配信元サーバ5oldと新配信元サーバ5newとからクライアント端末6に重複配信される。
このとき、ストリーミングデータ配信システム1は、クライアント端末6に、収集データDgaの重複配信を検知させ、検知された重複配信の片方の収集データDgaを破棄させる。
さらに、ストリーミングデータ配信システム1は、収集データDgaの重複配信を通知するための重複配信通知情報Nduを作成させて、作成された重複配信通知情報Nduを旧配信元サーバ5oldと新配信元サーバ5newとに送信させる。これに応答して、旧配信元サーバ5oldが収集データDgaの配信を停止する。
このようなストリーミングデータ配信システム1は、配信権利が旧配信元サーバ5oldから新配信元サーバ5newに移譲された後も、旧配信元サーバ5oldが、クライアント端末6から重複配信通知情報Nduを受信するまで、収集データDgaのパケットを配信し続けるため、サービスの連続性を向上させることができる。
(b)動作の詳細
図12に、配信サーバ5の増設時の第2変更例の動作シーケンスとして、シーケンス5を示す。本シーケンス5は、配信権利が旧配信元サーバ5oldである配信サーバ5Aから新配信元サーバ5newである増設サーバ5Dに移譲された後も、配信サーバ5Aが、クライアント端末6から重複配信通知情報Nduを受信するまで、収集データDgaを配信し続けることを特徴にしている。
図12に示すように、本シーケンス5の動作は、図11に示すシーケンス4の動作と比較すると、S305〜S345の処理が同じであるが、S345の後に、配信サーバ5AがS351の処理を行わずに、S352の処理を行う点で相違している。すなわち、本シーケンス5では、S345の後、配信サーバ5Aの配信部22Aは、収集データDgaのパケットの送信を継続して行う(S352)。
なお、本シーケンス5では、シーケンス4と同様に、S340の後に、増設サーバ5DがS371〜S380の処理を行う。その結果、ストリーミングデータ配信システム1は、配信サーバ5Aと増設サーバ5Dとからクライアント端末6に2つの同じ収集データDgaのパケットを重複配信している状態になる。
クライアント端末6は、シーケンス4と同様に、任意のタイミングで、重複配信を検知し、重複配信されている収集データDgaの片方のパケットを破棄する(S505)。本シーケンス5では、シーケンス4と異なり、S505の後に、クライアント端末6は、収集データDgaが重複配信されていることを表す重複配信通知情報Nduを作成して、旧配信元サーバ5oldである配信サーバ5Aと新配信元サーバ5newである増設サーバ5Dとに送信する(S506)。
旧配信元サーバ5oldである配信サーバ5Aの管理部21Aは、クライアント端末6から重複配信通知情報Nduを受信すると、S335で増設サーバ5Dに送信した配信先情報Dtrを削除する(S511)。
本シーケンス5では、シーケンス4と同様に、S511の後に、配信サーバ5AがS510〜S520の処理を行う。
本シーケンス5の動作によれば、旧配信元サーバ5oldは、クライアント端末6から重複配信通知情報Nduが送信されるまで(すなわち、収集データDgaの重複配信が通知されるまで)、収集データDgaを配信し続ける。そのため、配信サーバ5の切り替え処理による収集データDgaのわずかな欠損も回避することができ、連続性を損なわずにサービスを提供することができる。
<ストリーミングデータ配信システムの主な特徴点>
ストリーミングデータ配信システム1は、配信元サーバの切り替え契機の検知から新配信元サーバ5newによる収集データDgaの配信の開始(再開)までの処理を配信サーバ5側で完結して行うことができる。特に、ストリーミングデータ配信システム1は、配信元サーバを切り替える際に、時間を要する処理(例えば、配信元サーバに障害が発生した場合のクライアント端末6における配信元サーバの障害発生の検知処理や、クライアント端末6における収集データDgaの再送要求処理、配信元サーバを切り替える際のクライアント端末6と新配信元サーバ5newとの間の通信処理等)を行うことなく、配信元サーバの切り替え処理を配信サーバ5側で完結して行うことができる。そのため、ストリーミングデータ配信システム1は、サービスの連続性を損なわずに、配信元サーバの切り替えを速やかに行うことができる。
また、ストリーミングデータ配信システム1は、収集データDgaの配信の開始や停止を、配信先情報Dtrの作成又は変更、並びに、収集データDgaのパケットのアドレスの付け替えによって行う。そのため、ストリーミングデータ配信システム1は、収集データDgaの配信の開始や停止を速やかに行うことができる。
このようなストリーミングデータ配信システム1は、配信データDgaのリアルタイム性を向上させるために、クライアント端末6に蓄積された配信データDgaのバッファの蓄積量を小さく抑えた場合であっても、サービスの連続性を損なわずに、配信元サーバを速やかに切り替えることができる。
以上の通り、本実施形態に係るストリーミングデータ配信システム1によれば、サービスの連続性を損なわずに、配信元サーバを速やかに切り替えることができる。
本発明は、前記した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。
例えば、前記した実施形態では、他の配信サーバ5の死活状態の監視は、各配信サーバ5の監視部23が他の配信サーバ5(特に、配信先情報Dtrを保持し合っている配信サーバ5)と通信を行うことによって、行われている。しかしながら、他の配信サーバ5の死活状態の監視は、障害が発生した配信サーバ5が自発的に障害発生通知情報を各配信サーバ5に送信することによって、行うようにしてもよい。また、他の配信サーバ5の死活状態の監視は、短時間で処理を行うことができるのであれば、他の配信サーバ5での障害発生を検知したいずれかのサーバが障害発生通知情報を各配信サーバ5に送信することによって、行うようにしてもよい。
また、例えば、前記した実施形態では、配信サーバ5Dが増設された場合について、説明している。しかしながら、ストリーミングデータ配信システム1は、配信サーバ5の台数が減らされる場合がある。この場合に、ストリーミングデータ配信システム1は、以下のように動作する。
すなわち、まず、前記した管理サーバ又はコーディネータサーバが、配信サーバ5の削減を検知するとともに、配信サーバ5の削減を表す削減通知情報を作成して各配信サーバ5に送信する。次に、削減通知情報を受信した各配信サーバ5が、削減された配信サーバ5のバックアップ用の配信先情報Dtrの属性を「バックアップ」から「原本」に変更することによって、削減された配信サーバ5に代わる新配信元サーバ5newとして機能し、収集データDgaの配信を開始する。新配信元サーバ5newは、削減された配信サーバ5のバックアップ作成要求を作成して、前記した図示せぬID表でバックアップサーバに割り振られている配信サーバ5に送信する。この後の処理は、図8に示すS125〜S140の処理と同様である。
また、例えば、前記した実施形態では、配信元サーバとバックアップサーバとの組み合わせが、1対1の関係になっている。しかしながら、配信元サーバとバックアップサーバとの組み合わせは、1対複数の関係にすることができる。この構成の場合に、ストリーミングデータ配信システム1は、仮に複数台の配信サーバ5が削減されたときであっても、削減された配信サーバ5に対応するバックアップ用の配信先情報Dtrが残された配信サーバ5に保持されているため、残された配信サーバ5同士で配信先情報Dtrを保持し合うことにより、新配信元サーバ5newを円滑に構築することができる。なお、この構成の場合に、ストリーミングデータ配信システム1は、配信先情報Dtr毎に、バックアップサーバとして機能している各配信サーバ5に対して、バックアップサーバから新配信元サーバ5newに昇格する優先順位を予め割り振りしておくとよい。
1 ストリーミングデータ配信システム
2 データ収集装置(カメラ、マイク、各種センサ等)
3 リアルタイムエンコーダ
4 マルチキャストサーバ
5(5A,5B,5C,5D) 配信サーバ
5old 旧配信元サーバ
5new 新配信元サーバ
6 クライアント端末
21(21A,21B,21D) 管理部
22(22A,22B,22D) 配信部
23(23A,23B,23D) 監視部
Dad アドレス情報
Dga 収集データ
Dre 配信先登録情報
Dta 配信アドレス情報
Dtr 配信先情報
DtrA1,DtrB1,DtrC1,DtrD1 配信先情報(原本)
DtrA2,DtrB2,DtrC2,DtrD2 配信先情報(バックアップ)
Ndu 重複配信通知情報

Claims (7)

  1. データ収集装置によって収集された収集データを配信要求元のクライアント端末に配信する複数台の配信サーバと、当該収集データを当該複数台の配信サーバに配信するマルチキャストサーバとを有するストリーミングデータ配信システムであって、
    前記複数台の配信サーバのうち、前記クライアント端末から配信要求を受信した要求受信サーバは、当該配信要求に応じて配信先に関する配信先情報を作成するとともに、当該配信先情報を他の配信サーバとの間で保持し合い、
    それぞれの前記配信サーバは、自身の保持する前記配信先情報毎に、それぞれの前記配信先情報の属性が原本であるのか否かを管理しており、かつ、属性が原本である配信先情報に対応するクライアント端末に対して、前記収集データの配信を行う配信元サーバとして機能する一方、属性が原本でない配信先情報に対応するクライアント端末に対して、前記配信先情報をバックアップ用として保持し、かつ、収集データの配信を停止するバックアップサーバとして機能する
    ことを特徴とするストリーミングデータ配信システム。
  2. 請求項1に記載のストリーミングデータ配信システムにおいて、
    前記バックアップサーバは、前記配信元サーバの障害発生を検知した場合、又は、前記マルチキャストサーバ若しくは他の配信サーバから前記配信元サーバの障害発生を通知された場合に、当該障害発生の配信元サーバとの間で保持し合っている前記配信先情報の属性を原本に変更することによって、当該障害発生の配信元サーバである旧配信元サーバに代わる新配信元サーバとして機能する
    ことを特徴とするストリーミングデータ配信システム。
  3. 請求項1に記載のストリーミングデータ配信システムにおいて、
    システム全体の動作を管理する前記配信サーバ以外のサーバを管理サーバとし、前記複数台の配信サーバの中のコーディネータとして機能する配信サーバをコーディネータサーバとし、前記配信サーバの台数の増減が発生した場合に、前記管理サーバ又は前記コーディネータサーバは、それぞれの前記配信サーバの通信負荷が均等になるように計算された前記配信元サーバと前記バックアップサーバとの組み合わせの計算結果に基づいて、前記配信先情報毎に、前記配信先情報を保持する前記配信サーバの変更、及び、それぞれの前記配信サーバに保持された前記配信先情報の属性の変更のいずれか一方又は双方を行うことによって、前記配信先情報毎に、前記複数台の配信サーバの中の2台以上を1台の前記配信元サーバと1乃至複数台の前記バックアップサーバとに割り振る
    ことを特徴とするストリーミングデータ配信システム。
  4. 請求項3に記載のストリーミングデータ配信システムにおいて、
    前記管理サーバ又は前記コーディネータサーバは、前記配信要求元のクライアント端末であるユーザ毎に、それぞれのユーザに固有な情報をキーにして、コンシステントハッシュのID空間で、それぞれのユーザの前記配信元サーバと前記バックアップサーバとの組み合わせを決定する
    ことを特徴とするストリーミングデータ配信システム。
  5. 請求項3に記載のストリーミングデータ配信システムにおいて、
    前記配信元サーバが配信権利を他の配信サーバに移譲することによって旧配信元サーバに変更された場合に、当該旧配信元サーバは、変更後も一定時間前記収集データを配信し続けることによって、前記クライアント端末に、前記収集データの重複配信を検知させて、検知された重複配信の片方の前記収集データを破棄させる
    ことを特徴とするストリーミングデータ配信システム。
  6. 請求項3に記載のストリーミングデータ配信システムにおいて、
    前記配信元サーバが配信権利を他の配信サーバに移譲することによって旧配信元サーバに変更された場合に、当該旧配信元サーバは、変更後も前記収集データを配信し続けることによって、前記クライアント端末に、前記収集データの重複配信を検知させて、検知された重複配信の片方の前記収集データを破棄させるとともに、前記収集データの重複配信を当該旧配信元サーバに通知させ、その後に、前記クライアント端末から前記収集データの重複配信が通知されたときに、前記収集データの配信を停止する
    ことを特徴とするストリーミングデータ配信システム。
  7. データ収集装置によって収集された収集データを配信要求元のクライアント端末に配信する複数台の配信サーバと、当該収集データを当該複数台の配信サーバに配信するマルチキャストサーバとを有するストリーミングデータ配信方法であって、
    それぞれの前記配信サーバは、配信先に関する配信先情報を保持管理する管理部と、前記マルチキャストサーバからの前記収集データの受信及び前記配信要求元のクライアント端末への前記収集データの配信を行う配信部とを備えており、
    前記複数台の配信サーバのうち、前記クライアント端末から配信要求を受信した要求受信サーバの前記管理部が、当該配信要求に応じて配信先に関する配信先情報を作成するとともに、当該配信先情報を他の配信サーバの前記管理部との間で保持し合う工程と、
    それぞれの前記配信サーバの前記管理部が、自身の保持する前記配信先情報毎に、それぞれの前記配信先情報の属性が原本であるのか否かを管理する工程と、
    それぞれの前記配信サーバの前記配信部が、属性が原本である配信先情報に対応するクライアント端末に対して、前記マルチキャストサーバから受信した前記収集データの配信先を当該クライアント端末に設定して、前記収集データの配信を行う一方、属性が原本でない配信先情報に対応するクライアント端末に対して、前記マルチキャストサーバから受信した前記収集データの配信先を当該クライアント端末に設定せずに、前記収集データの配信を停止する工程と、を含む
    ことを特徴とするストリーミングデータ配信方法。
JP2015018168A 2015-02-02 2015-02-02 ストリーミングデータ配信システム、及び、ストリーミングデータ配信方法 Active JP6251203B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015018168A JP6251203B2 (ja) 2015-02-02 2015-02-02 ストリーミングデータ配信システム、及び、ストリーミングデータ配信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015018168A JP6251203B2 (ja) 2015-02-02 2015-02-02 ストリーミングデータ配信システム、及び、ストリーミングデータ配信方法

Publications (2)

Publication Number Publication Date
JP2016144018A JP2016144018A (ja) 2016-08-08
JP6251203B2 true JP6251203B2 (ja) 2017-12-20

Family

ID=56570855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015018168A Active JP6251203B2 (ja) 2015-02-02 2015-02-02 ストリーミングデータ配信システム、及び、ストリーミングデータ配信方法

Country Status (1)

Country Link
JP (1) JP6251203B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395669A (zh) * 2017-06-01 2017-11-24 华南理工大学 一种基于流式实时分布式大数据的数据采集方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3463803B2 (ja) * 1999-11-09 2003-11-05 松下電器産業株式会社 クラスタサーバ装置
JP2004054382A (ja) * 2002-07-17 2004-02-19 Sony Corp 配信制御装置、受信装置、それらの方法およびそれらのプログラム
JP2009260569A (ja) * 2008-04-15 2009-11-05 Canon Inc データ配信システム及びデータ配信方法
JP2013090072A (ja) * 2011-10-17 2013-05-13 Hitachi Ltd サービス提供システム
JP5969315B2 (ja) * 2012-08-23 2016-08-17 日本電信電話株式会社 データ移行処理システムおよびデータ移行処理方法
JP2014220675A (ja) * 2013-05-09 2014-11-20 日本電信電話株式会社 通信制御システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395669A (zh) * 2017-06-01 2017-11-24 华南理工大学 一种基于流式实时分布式大数据的数据采集方法及系统

Also Published As

Publication number Publication date
JP2016144018A (ja) 2016-08-08

Similar Documents

Publication Publication Date Title
JP5714571B2 (ja) キャッシュクラスタを構成可能モードで用いるキャッシュデータ処理
JP5951071B2 (ja) プル・モード及びプッシュ・モードを組み合わせるシステム及び方法
US9197494B2 (en) Communication system, control device, node, processing rule setting method and program
CN103841206B (zh) 一种订阅和发布主题消息的方法
JP2012510759A (ja) リンクデータ伝送方法、ノードおよびシステム
CN105493474A (zh) 用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法
US20170163521A1 (en) Zigbee network system and the backup method thereof
CN103825759A (zh) 获取网络拓扑信息的方法和系统
WO2020001060A1 (zh) 分布式系统成员变更方法和分布式系统
JP2018201154A (ja) 送信制御プログラム、送信制御方法、及び情報処理装置
JP6434021B2 (ja) データフィードの管理
JP2010213150A (ja) 送信装置、大容量ファイル配信システム、同システムにおけるファィル再送制御方法、再送制御プログラム
JP6251203B2 (ja) ストリーミングデータ配信システム、及び、ストリーミングデータ配信方法
CN111970497B (zh) 视频流处理方法、装置、sdn控制器及存储介质
JP2010044553A (ja) データ処理方法、クラスタシステム、及びデータ処理プログラム
JP6029805B2 (ja) 配信装置、配信プログラムおよび配信方法
JP2011145833A (ja) データ分散管理システム及びデータ分散管理方法
US20160299713A1 (en) Data aggregator serving between data source and electronic device and associated data management method
JP5522801B2 (ja) 受信端末およびその制御プログラム
CN114090342A (zh) 存储容灾的链路管理方法及消息执行节点、存储控制集群
WO2008131675A1 (fr) Procédé, nœud de réseau et système pour sauvegarder une ressource dans un réseau p2p structuré
JP2010171557A (ja) 同報送信装置及び受信ノード及び同報送信プログラム及び記録媒体
JP2009245118A (ja) アプリケーションサービス提供システム、及び方法、並びにアプリケーション移行方法
JP2006332935A (ja) コンテンツデータ伝送システム及びコンテンツデータ伝送方法
JP2009271857A (ja) 計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171124

R150 Certificate of patent or registration of utility model

Ref document number: 6251203

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150