JP2015165349A - 一次応答装置、制御方法及びコンピュータプログラム - Google Patents
一次応答装置、制御方法及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2015165349A JP2015165349A JP2014039917A JP2014039917A JP2015165349A JP 2015165349 A JP2015165349 A JP 2015165349A JP 2014039917 A JP2014039917 A JP 2014039917A JP 2014039917 A JP2014039917 A JP 2014039917A JP 2015165349 A JP2015165349 A JP 2015165349A
- Authority
- JP
- Japan
- Prior art keywords
- request
- distribution server
- communication unit
- data
- terminals
- 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
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】配信サーバの負荷が高くなることを抑制することができる一次応答装置、制御方法及びコンピュータプログラムを提供することである。【解決手段】実施形態の一次応答装置は、通信部と、制御部とを持つ。通信部は、複数の端末及びデータを配信する配信サーバと通信する。制御部は、配信サーバと複数の端末との間の通信を中継するように通信部を制御する制御部であって、複数の端末から配信サーバに向けて送信されたデータを要求するリクエストのうち同じデータを要求するリクエストを代表リクエストに集約し、代表リクエストによって取得されたデータを、同じデータを要求するリクエストを送信した端末のそれぞれに送信するように通信部を制御し、代表リクエストによるデータの取得が失敗した場合、代表リクエストを配信サーバに再送するように通信部を制御する。【選択図】図2
Description
本発明の実施形態は、一次応答装置、制御方法及びコンピュータプログラムに関する。
従来、映像や音声などのコンテンツをストリーミング形式で配信することが行われている。このようなコンテンツ配信の形態には、VOD(Video on Demand)やライブ配信などの形態がある。VODは、予め作成されたコンテンツファイルを配信する形態である。それに対して、ライブ配信は、録音中の音声データや撮影中の映像データをリアルタイムに配信する形態である。
ライブ配信を行うコンテンツ配信システムは、例えば、配信データを生成する配信サーバと、配信サーバから配信データを取得し利用者端末に送信するプロキシサーバ等の一次応答装置とにより実現される。従来のコンテンツ配信システムでは、配信サーバの負荷が高くなる場合があった。
ライブ配信を行うコンテンツ配信システムは、例えば、配信データを生成する配信サーバと、配信サーバから配信データを取得し利用者端末に送信するプロキシサーバ等の一次応答装置とにより実現される。従来のコンテンツ配信システムでは、配信サーバの負荷が高くなる場合があった。
本発明が解決しようとする課題は、配信サーバの負荷が高くなることを抑制することができる一次応答装置、制御方法及びコンピュータプログラムを提供することである。
実施形態の一次応答装置は、通信部と、制御部とを持つ。通信部は、複数の端末及びデータを配信する配信サーバと通信する。制御部は、前記配信サーバと前記複数の端末との間の通信を中継するように前記通信部を制御する制御部であって、前記複数の端末から前記配信サーバに向けて送信された前記データを要求するリクエストのうち同じデータを要求するリクエストを代表リクエストに集約し、前記代表リクエストによって取得されたデータを、前記同じデータを要求するリクエストを送信した端末のそれぞれに送信するように前記通信部を制御し、前記代表リクエストによるデータの取得が失敗した場合、前記代表リクエストを前記配信サーバに再送するように前記通信部を制御する。
以下、実施形態の一次応答装置、制御方法及びコンピュータプログラムを、図面を参照して説明する。
図1は、実施形態のライブ配信システム1のシステム構成を示すシステム構成図である。
ライブ配信システム1は、配信サーバ2、第1のネットワーク3及びプロキシサーバ(一次応答装置)4を備える。配信サーバ2は、第1のネットワーク3を介して、プロキシサーバ4と通信する。ライブ配信されるコンテンツの配信データを生成するサーバである。第1のネットワーク3は、LAN(Local Area Network)やWAN(Wide Area Network)、インターネットなどのネットワークである。
図1は、実施形態のライブ配信システム1のシステム構成を示すシステム構成図である。
ライブ配信システム1は、配信サーバ2、第1のネットワーク3及びプロキシサーバ(一次応答装置)4を備える。配信サーバ2は、第1のネットワーク3を介して、プロキシサーバ4と通信する。ライブ配信されるコンテンツの配信データを生成するサーバである。第1のネットワーク3は、LAN(Local Area Network)やWAN(Wide Area Network)、インターネットなどのネットワークである。
プロキシサーバ4は、第2のネットワーク5を介して、クライアント端末6−1、クライアント端末6−2及びクライアント端末6−3と通信する。プロキシサーバ4は、各クライアント端末からのリクエストに応じて、配信サーバ2から配信データを取得し、クライアント端末6−1、クライアント端末6−2及びクライアント端末6−3に送信する。第2のネットワークは、第1のネットワーク3と同様、LANやWAN、インターネットなどのネットワークである。
クライアント端末6−1、クライアント端末6−2及びクライアント端末6−3は、配信サーバ2から配信される配信データを取得する端末である。クライアント端末6−1、クライアント端末6−2及びクライアント端末6−3は、例えば、PCやスマートフォン、タブレット、携帯電話などの情報処理装置である。クライアント端末6−1、クライアント端末6−2及びクライアント端末6−3は、第2のネットワーク5を介してライブ配信システム1のプロキシサーバ4との間で通信し、配信データを取得する。
以下の説明では、説明を簡単にするために、特に区別しない限り、クライアント端末6−1、クライアント端末6−2及びクライアント端末6−3をまとめてクライアント端末6と記す。
図2は、プロキシサーバ4の機能構成を示す機能ブロック図である。
プロキシサーバ4は、例えば、第1通信部41、第2通信部42、記憶部43及び制御部44を備える。記憶部43は、ROM(Read Only Memory)やRAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶装置である。制御部44は、例えば、記憶部43とバスによって接続されたCPU(Central Processing Unit)等のプロセッサが、記憶部43に格納されたプログラムを実行することによって、以下に説明する機能を実現する。なお、制御部44の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。プログラムは、フレキシブルディスク、光磁気ディスク、CD−ROM等の可搬媒体等に格納されたものであってもよいし、電気通信回線を介して他のコンピュータから送信されたものであってもよい。
プロキシサーバ4は、例えば、第1通信部41、第2通信部42、記憶部43及び制御部44を備える。記憶部43は、ROM(Read Only Memory)やRAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶装置である。制御部44は、例えば、記憶部43とバスによって接続されたCPU(Central Processing Unit)等のプロセッサが、記憶部43に格納されたプログラムを実行することによって、以下に説明する機能を実現する。なお、制御部44の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。プログラムは、フレキシブルディスク、光磁気ディスク、CD−ROM等の可搬媒体等に格納されたものであってもよいし、電気通信回線を介して他のコンピュータから送信されたものであってもよい。
第1通信部41は、例えば、LAN等の通信インターフェースを含む。第1通信部は、第1のネットワーク3を介して、配信サーバ2との間で通信する。
第2通信部42は、例えば、LAN等の通信インターフェースを含む。第2通信部は、第2のネットワーク5を介して、クライアント端末6との間で通信する。
記憶部43は、例えば、リクエスト管理テーブル431及びキャッシュロック管理テーブル432を記憶している。リクエスト管理テーブル431は、クライアント端末6の配信データ取得のリクエストを管理するためのテーブルである。キャッシュロック管理テーブル432は、クライアント端末6が要求する配信データに対するキャッシュロックを管理するためのテーブルである。キャッシュロックの内容について次に説明する。
第2通信部42は、例えば、LAN等の通信インターフェースを含む。第2通信部は、第2のネットワーク5を介して、クライアント端末6との間で通信する。
記憶部43は、例えば、リクエスト管理テーブル431及びキャッシュロック管理テーブル432を記憶している。リクエスト管理テーブル431は、クライアント端末6の配信データ取得のリクエストを管理するためのテーブルである。キャッシュロック管理テーブル432は、クライアント端末6が要求する配信データに対するキャッシュロックを管理するためのテーブルである。キャッシュロックの内容について次に説明する。
ライブ配信されるコンテンツは、例えば、チャンクと呼ばれるデータの単位で配信される。クライアント端末6は、コンテンツを識別するためのコンテンツIDと、チャンクを識別するためのチャンクIDとを指定することによって、プロキシサーバ4に配信データの取得を要求する。プロキシサーバ4は、キャッシュロック機能によって、同一の配信データを要求するリクエストを代表リクエストに集約する。
具体的には、プロキシサーバ4は、配信サーバ2に配信データ取得のリクエストを送信する際に、その配信データに対応するキャッシュロックキーを記憶する。キャッシュロックキーとは、リクエストに含まれるコンテンツID及びチャンクIDに基づいて生成される、配信データの識別情報である。プロキシサーバ4は、コンテンツID及びチャンクIDとキャッシュロックキーとの対応情報を、記憶部43等に保持している。
プロキシサーバ4は、キャッシュロックキーが存在する配信データと同じ配信データを要求する他のリクエストを受信した場合、すでに代表リクエストを送信済みであるとして、後続のリクエストを待機させる。一方、プロキシサーバ4は、キャッシュロックキーが存在しない配信データを要求するリクエストを受信した場合、要求された配信データのキャッシュロックキーを記憶し、受信されたリクエストを配信サーバ2に送信する。すなわち、ある一定期間内にクライアント端末6から送信された同じ配信データを要求するリクエストのうち、最初に送信されたリクエストが代表リクエストとなる。
プロキシサーバ4は、代表リクエストを配信サーバ2に送信し、指定されたチャンクのデータを取得する。プロキシサーバ4は、当該チャンクのデータを要求した全てのクライアント端末6に、取得されたチャンクのデータを送信する。
制御部44は、第1通信部41を介して配信サーバ2との間で通信し、配信データを取得する。制御部44は、第2通信部42を介してクライアント端末6との間で通信し、配信データ取得のリクエストを受信する。制御部44は、受信されたリクエストに応じて、配信サーバ2から配信データを取得し、クライアント端末6に送信する。制御部44は、上述したキャッシュロック機能を制御する。
図3は、リクエスト管理テーブル431の具体例を示す図である。
リクエスト管理テーブル431は、Req_IDごとにリクエストレコードを有する。リクエストレコードは、Req_ID、Lock_ID及び端末アドレスの各値を有する。Req_IDは、クライアント端末6のリクエストを識別するための情報である。Req_IDの値は、プロキシサーバ4によってリクエストごとに固有の値が生成される。Lock_IDは、リクエストに基づいて生成されるキャッシュロックキーの値を表す。端末アドレスは、リクエストを送信したクライアント端末6を識別するための情報である。端末アドレスは、例えば、IP(Internet Protocol)アドレスなどの情報である。リクエストレコードは、クライアント端末6の配信データ取得のリクエストが受信されたときに、制御部44によって登録される。
リクエスト管理テーブル431は、Req_IDごとにリクエストレコードを有する。リクエストレコードは、Req_ID、Lock_ID及び端末アドレスの各値を有する。Req_IDは、クライアント端末6のリクエストを識別するための情報である。Req_IDの値は、プロキシサーバ4によってリクエストごとに固有の値が生成される。Lock_IDは、リクエストに基づいて生成されるキャッシュロックキーの値を表す。端末アドレスは、リクエストを送信したクライアント端末6を識別するための情報である。端末アドレスは、例えば、IP(Internet Protocol)アドレスなどの情報である。リクエストレコードは、クライアント端末6の配信データ取得のリクエストが受信されたときに、制御部44によって登録される。
図4は、キャッシュロック管理テーブル432の具体例を示す図である。
キャッシュロック管理テーブル432は、Lock_IDごとにキャッシュロックレコードを有する。キャッシュロックレコードは、Lock_ID、Req_ID及び再送回数の各値を有する。Lock_IDは、キャッシュロックキーを識別するための情報である。Req_IDは、Lock_IDの値が示すキャッシュロックキーに対応する配信データを取得するために、配信サーバ2に送信された代表リクエストを識別するための情報である。再送回数は、Req_IDの値が示す代表リクエストが配信サーバ2に再送された回数を表す。キャッシュロックレコードは、Lock_IDの値が示すキャッシュロックキーに、対応するキャッシュロックキーが存在しないリクエストが受信されたときに、制御部44によって登録される。
キャッシュロック管理テーブル432は、Lock_IDごとにキャッシュロックレコードを有する。キャッシュロックレコードは、Lock_ID、Req_ID及び再送回数の各値を有する。Lock_IDは、キャッシュロックキーを識別するための情報である。Req_IDは、Lock_IDの値が示すキャッシュロックキーに対応する配信データを取得するために、配信サーバ2に送信された代表リクエストを識別するための情報である。再送回数は、Req_IDの値が示す代表リクエストが配信サーバ2に再送された回数を表す。キャッシュロックレコードは、Lock_IDの値が示すキャッシュロックキーに、対応するキャッシュロックキーが存在しないリクエストが受信されたときに、制御部44によって登録される。
図5は、実施形態のプロキシサーバ4の処理の流れを示すフローチャートである。
まず、クライアント端末6は、配信データの取得のリクエストを送信する。プロキシサーバ4は、クライアント端末6の配信データ取得のリクエストを受け付ける(ステップS101)。プロキシサーバ4は、受信したリクエストのリクエストIDを生成する。プロキシサーバ4は、配信データ取得のリクエストに含まれるコンテンツID及びチャンクIDに基づいて、キャッシュロックキーを生成する。プロキシサーバ4は、Req_ID及びLock_IDのそれぞれの値に、リクエストID及びキャッシュロックキーを持つリクエストレコードを、リクエスト管理テーブル431に登録する。
まず、クライアント端末6は、配信データの取得のリクエストを送信する。プロキシサーバ4は、クライアント端末6の配信データ取得のリクエストを受け付ける(ステップS101)。プロキシサーバ4は、受信したリクエストのリクエストIDを生成する。プロキシサーバ4は、配信データ取得のリクエストに含まれるコンテンツID及びチャンクIDに基づいて、キャッシュロックキーを生成する。プロキシサーバ4は、Req_ID及びLock_IDのそれぞれの値に、リクエストID及びキャッシュロックキーを持つリクエストレコードを、リクエスト管理テーブル431に登録する。
次に、プロキシサーバ4は、キャッシュロック管理テーブル432を参照し、要求された配信データがキャッシュロックされているか否かを判定する(ステップS102)。具体的には、プロキシサーバ4は、キャッシュロック管理テーブル432を参照し、Lock_IDの値に、生成されたキャッシュロックキーを有するリクエストレコードを選択する。レコードが選択された場合、当該リクエストの配信データは既にキャッシュロックされていると判断される。一方、レコードが選択されなかった場合、当該リクエストの配信データはキャッシュロックされていないと判断される。
要求された配信データがキャッシュロックされていない場合(ステップS102−NO)、プロキシサーバ4は、当該リクエストについてキャッシュロックの設定を行う(ステップS103)。具体的には、プロキシサーバ4は、Lock_ID、再送回数及びReq_IDのそれぞれの値に、生成されたキャッシュロックキー、“0”、リクエストIDを持つキャッシュロックレコードを、キャッシュロック管理テーブル432に登録する。プロキシサーバ4は、キャッシュレコードを登録すると、キャッシュロック時間の計時を開始する。キャッシュロック時間とは、代表リクエストに対する配信サーバ2の応答を待機する時間である。
プロキシサーバ4は、キャッシュロックの設定を行うと、当該リクエストを配信サーバ2に送信する(ステップS104)。プロキシサーバ4は、配信サーバ2の応答を受信し、配信データを受信する。プロキシサーバ4は、当該配信データの取得のリクエストを送信したクライアント端末6に、取得された配信データを送信する(ステップS105)。具体的には、プロキシサーバ4は、リクエスト管理テーブル431を参照し、Lock_IDの値に当該キャッシュロックキーを有するリクエストレコードを選択する。プロキシサーバ4は、選択されたリクエストレコードから端末アドレスの値を取得する。プロキシサーバ4は、取得された端末アドレス宛に取得された配信データを送信する。
一方、ステップS102において、要求された配信データがキャッシュロックされている場合(ステップS102−YES)、プロキシサーバ4は、当該リクエストを配信サーバ2に送信せず、配信サーバ2に対して既に実行されている配信データの取得のリクエストに対する応答を待機する(ステップS106)。プロキシサーバ4は、リクエストの待機中に、配信サーバ2がリクエストに応答したかを判定する(ステップS107)。配信サーバ2がリクエストに応答した場合(ステップS107−YES)、ステップS105に進み、配信サーバ2から取得された配信データをクライアント端末6に送信する。
一方、配信サーバ2がリクエストに応答しない場合(ステップS107−NO)、プロキシサーバ4は、キャッシュロックタイムアウトが発生したか否かを判定する(ステップS108)。キャッシュロックタイムアウトとは、代表リクエストに対して、配信サーバ2がキャッシュロック時間内に応答しない状況のことを指す。キャッシュロックタイムアウトが発生していない場合(ステップS108−NO)、ステップS106に戻り、プロキシサーバ4は、引き続きリクエストに対する応答を待機する。一方、キャッシュロックタイムアウトが発生した場合(ステップS108−YES)、プロキシサーバ4は、リクエストを再送した回数が所定の閾値(N)に達しているか否かを判定する(ステップS109)。
具体的には、プロキシサーバ4は、キャッシュロック管理テーブル432を参照し、Lock_IDの値に当該リクエストのキャッシュロックキーを有するキャッシュロックレコードを選択する。プロキシサーバ4は、選択されたキャッシュロックレコードから再送回数の値を取得する。プロキシサーバ4は、取得された再送回数の値と、所定の閾値(N)とを比較する。
リクエストを再送した回数が所定の閾値に達した場合(ステップS109−NO)、プロキシサーバ4は、当該リクエストのキャッシュロックを解除する(ステップS110)。具体的には、プロキシサーバ4は、Lock_IDの値に、当該リクエストのキャッシュロックキーを有するキャッシュロックレコードをキャッシュロック管理テーブル432から削除する。プロキシサーバ4は、キャッシュロックを解除すると、当該リクエストの配信データを要求したクライアント端末6にリクエストの異常終了を応答する(ステップS111)。
具体的には、プロキシサーバ4は、リクエスト管理テーブル431を参照し、Lock_IDの値に、ステップS110で解除されたキャッシュロックに対応するキャッシュロックキーを有するリクエストレコードを選択する。プロキシサーバ4は、選択されたリクエストレコードから端末アドレスを取得する。プロキシサーバ4は、取得された端末アドレス宛に、リクエストの異常終了を応答する。プロキシサーバ4は、リクエストの異常終了を応答すると、選択されたリクエストレコードをリクエスト管理テーブル431から削除する。
一方、ステップS109において、リクエストを再送した回数が所定の閾値に達していない場合(ステップS109−YES)、プロキシサーバ4は、キャッシュロック時間の計時をリセットし、計時を0からやり直す(ステップS112)。プロキシサーバ4は、キャッシュロックタイムアウトが発生したリクエストを配信サーバ2に再送する(ステップS113)。再送されるリクエストは、同一のキャッシュロックIDを有するリクエストのうち、プロキシサーバ4に最初に送信されたリクエストである。
具体的には、プロキシサーバ4は、キャッシュロック管理テーブル432を参照し、Lock_IDの値に、タイムアウトが発生したリクエストのキャッシュロックキーを有するキャッシュロックレコードを選択する。プロキシサーバ4は、選択されたキャッシュロックレコードから再送回数及びReq_IDの値を取得する。プロキシサーバ4は、取得された再送回数の値と、所定の閾値(N)とを比較する。プロキシサーバ4は、Req_IDの値が示すリクエストを配信サーバ2に再送する。プロキシサーバ4は、取得された再送回数の値を1増加させ、選択されたキャッシュロックレコードを更新する。
図6は、実施形態のライブ配信システム1において、再送によってリクエストが正常終了する場合の流れを示すシーケンス図である。
まず、クライアント端末6−1がプロキシサーバ4に配信データ取得のリクエスト(リクエストNo1)を送信する(ステップS201)。なお、この時点では、クライアント端末6−1が要求した配信データに対してキャッシュロックは設定されていないものと仮定する。
まず、クライアント端末6−1がプロキシサーバ4に配信データ取得のリクエスト(リクエストNo1)を送信する(ステップS201)。なお、この時点では、クライアント端末6−1が要求した配信データに対してキャッシュロックは設定されていないものと仮定する。
プロキシサーバ4は、クライアント端末6−1が要求した配信データに対してキャッシュロックが設定されていないため、当該配信データに対してキャッシュロックを設定する(ステップS202)。プロキシサーバ4は、キャッシュロックを設定すると、当該配信データ取得のリクエスト(リクエストNo1)を配信サーバ2に送信する(ステップS203)。
次に、クライアント端末6−2がプロキシサーバ4にクライアント端末6−1と同じ配信データ取得のリクエスト(リクエストNo2)を送信する(ステップS204)。続いて、クライアント端末6−3がプロキシサーバ4にクライアント端末6−1と同じ配信データ取得のリクエスト(リクエストNo3)を送信する(ステップS205)。プロキシサーバ4は、クライアント端末6−1及びクライアント端末6−3が要求する配信データは、リクエストNo1によって既にキャッシュロックが設定されているため、配信サーバ2にリクエストNo2及びリクエストNo3を送信せずにリクエストNo1に対する応答を待機する。
図6では、配信サーバ2は、リクエストNo1に対してプロキシサーバ4が計時するキャッシュロック時間内に応答しない。そのため、プロキシサーバ4において、リクエストNo1のキャッシュロックタイムアウトが発生する(ステップS206)。プロキシサーバ4は、キャッシュロック時間の計時をリセットし、計時をやり直す(ステップS207)。プロキシサーバ4は、再度リクエストNo1を配信サーバ2に送信する(ステップS208)。配信サーバ2は、再送されたリクエストNo1に対して、キャシュロックタイマーが計時する時間内に応答(応答No1)し(ステップS209)、要求された配信データをプロキシサーバ4に送信する。プロキシサーバ4は、配信サーバ2から配信データを取得し、クライアント端末6−1に応答(応答No1)を送信する(ステップS210)。同様に、プロキシサーバ4は、クライアント端末6−2に応答(応答No2)を送信する(ステップS211)。同様に、プロキシサーバ4は、クライアント端末6−3に応答(応答No3)を送信する(ステップS212)。
図7は、実施形態のライブ配信システム1において、リクエストが異常終了する場合の流れを示すシーケンス図である。
なお、図7では、図6と同様の処理については、図6と同じ符号を付すことによって説明を省略する。
また、図7では、プロキシサーバ4のキャッシュロックタイムアウトの発生によるリクエストの再送回数の閾値Nは“1”に設定されているものと仮定する。
図7では、配信サーバ2は、ステップS208において再送されたリクエストNo1に対してもプロキシサーバ4が計時するキャッシュロック時間内に応答しない。そのため、プロキシサーバ4において、リクエストNo1のキャッシュロックタイムアウトが再度発生する(ステップS301)。この時点でのリクエストNo1の再送回数は“1”であり、再送回数の閾値Nに達している。そのため、プロキシサーバ4は、更なるリクエストNo1の再送は行わず、クライアント端末6−1にリクエストNo1が異常終了したことの応答(異常応答No1)を送信する(ステップS302)。同様に、プロキシサーバ4は、クライアント端末6−2にリクエストNo2が異常終了したことの応答(異常応答No2)を送信する(ステップS303)。同様に、プロキシサーバ4は、クライアント端末6−3にリクエストNo3が異常終了したことの応答(異常応答No3)を送信する(ステップS304)。
なお、図7では、図6と同様の処理については、図6と同じ符号を付すことによって説明を省略する。
また、図7では、プロキシサーバ4のキャッシュロックタイムアウトの発生によるリクエストの再送回数の閾値Nは“1”に設定されているものと仮定する。
図7では、配信サーバ2は、ステップS208において再送されたリクエストNo1に対してもプロキシサーバ4が計時するキャッシュロック時間内に応答しない。そのため、プロキシサーバ4において、リクエストNo1のキャッシュロックタイムアウトが再度発生する(ステップS301)。この時点でのリクエストNo1の再送回数は“1”であり、再送回数の閾値Nに達している。そのため、プロキシサーバ4は、更なるリクエストNo1の再送は行わず、クライアント端末6−1にリクエストNo1が異常終了したことの応答(異常応答No1)を送信する(ステップS302)。同様に、プロキシサーバ4は、クライアント端末6−2にリクエストNo2が異常終了したことの応答(異常応答No2)を送信する(ステップS303)。同様に、プロキシサーバ4は、クライアント端末6−3にリクエストNo3が異常終了したことの応答(異常応答No3)を送信する(ステップS304)。
このように構成された実施形態のプロキシサーバ4は、配信サーバ2から配信データを取得するリクエストにおいてキャッシュロックタイムアウトが発生した場合、キャッシュロック時間の計時をリセットし、リクエストを再送する。そして、リクエストを再送した回数が所定の閾値に達すると、プロキシサーバ4は、リクエストを送信したクライアント端末6に対してリクエストの異常終了(所定の通知の一例)を応答する。
仮にこのような機能を有さない場合、キャッシュロックタイムアウトが発生すると、全てのクライアント端末6のリクエストを配信サーバ2に送信することが想定される。このような場合、キャッシュロックタイムアウトが発生すると、プロキシサーバ4と配信サーバ2における処理負荷が高くなる。さらに、クライアント端末6ごとに配信サーバ2から配信データが送信されるため、プロキシサーバ4と配信サーバ2との間のネットワークにおいて輻輳が発生する可能性が高まる。
そのため、実施形態のプロキシサーバ4は、上述の制御を行うことによって、キャッシュロックタイムアウトの発生によって配信サーバ2の負荷が高くなることを抑制することが可能となる。
仮にこのような機能を有さない場合、キャッシュロックタイムアウトが発生すると、全てのクライアント端末6のリクエストを配信サーバ2に送信することが想定される。このような場合、キャッシュロックタイムアウトが発生すると、プロキシサーバ4と配信サーバ2における処理負荷が高くなる。さらに、クライアント端末6ごとに配信サーバ2から配信データが送信されるため、プロキシサーバ4と配信サーバ2との間のネットワークにおいて輻輳が発生する可能性が高まる。
そのため、実施形態のプロキシサーバ4は、上述の制御を行うことによって、キャッシュロックタイムアウトの発生によって配信サーバ2の負荷が高くなることを抑制することが可能となる。
次に、本実施形態の変形例について説明する。
第1のネットワーク及び第2のネットワークは、同じネットワークとして構成されてもよい。
プロキシサーバ4では、第2通信部42を介して、多数のクライアント端末6に対するコンテンツの配信が行われることを考慮して、第2通信部42は、ToE(TCP/IP offload Engine)に対応した通信インターフェースを用いて構成されてもよい。
プロキシサーバ4では、第2通信部42を介して、多数のクライアント端末6に対するコンテンツの配信が行われることを考慮して、第2通信部42は、第1通信部41よりも大きな帯域を有する通信インターフェースを用いて構成されてもよい。例えば、第1通信部41が1Gbpsの帯域を有する場合、第2通信部42は、10Gbpsの帯域を有する通信インターフェースを用いて構成されてもよい。
プロキシサーバ4と配信サーバ2との間の通信と、プロキシサーバ4とクライアント端末6との間の通信と、をルータ等の中継装置を用いて分岐させることによって、プロキシサーバ4の第1通信部41と第2通信部42とは、1つの通信部に統合されてもよい。
第1のネットワーク及び第2のネットワークは、同じネットワークとして構成されてもよい。
プロキシサーバ4では、第2通信部42を介して、多数のクライアント端末6に対するコンテンツの配信が行われることを考慮して、第2通信部42は、ToE(TCP/IP offload Engine)に対応した通信インターフェースを用いて構成されてもよい。
プロキシサーバ4では、第2通信部42を介して、多数のクライアント端末6に対するコンテンツの配信が行われることを考慮して、第2通信部42は、第1通信部41よりも大きな帯域を有する通信インターフェースを用いて構成されてもよい。例えば、第1通信部41が1Gbpsの帯域を有する場合、第2通信部42は、10Gbpsの帯域を有する通信インターフェースを用いて構成されてもよい。
プロキシサーバ4と配信サーバ2との間の通信と、プロキシサーバ4とクライアント端末6との間の通信と、をルータ等の中継装置を用いて分岐させることによって、プロキシサーバ4の第1通信部41と第2通信部42とは、1つの通信部に統合されてもよい。
以上説明した少なくともひとつの実施形態によれば、キャッシュロックタイムアウトが発生した際に、配信サーバ2に代表リクエストを再送する機能を持つことにより、キャッシュロックタイムアウトの発生時に配信サーバ2の負荷が高くなることを抑制することができる。
また、実施形態によれば、代表リクエストの再送回数が所定の閾値に達した場合、クライアント端末6に対してリクエストの異常終了を応答することにより、配信データがなかなか送信されてこないことによりユーザがイライラ感を覚えるのを防止することができる。
また、実施形態によれば、代表リクエストの再送回数が所定の閾値に達した場合、クライアント端末6に対してリクエストの異常終了を応答することにより、配信データがなかなか送信されてこないことによりユーザがイライラ感を覚えるのを防止することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…ライブ配信システム、2…配信サーバ、3…第1のネットワーク、4…プロキシサーバ、41…第1通信部、42…第2通信部、43…記憶部、431…リクエスト管理テーブル、432…キャッシュロック管理テーブル、44…制御部、5…第2のネットワーク、6、6−1、6−2、6−3…クライアント端末
Claims (7)
- 複数の端末及びデータを配信する配信サーバと通信する通信部と、
前記配信サーバと前記複数の端末との間の通信を中継するように前記通信部を制御する制御部であって、前記複数の端末から前記配信サーバに向けて送信された前記データを要求するリクエストのうち同じデータを要求するリクエストを代表リクエストに集約し、前記代表リクエストによって取得されたデータを、前記同じデータを要求するリクエストを送信した端末のそれぞれに送信するように前記通信部を制御し、前記代表リクエストによるデータの取得が失敗した場合、前記代表リクエストを前記配信サーバに再送するように前記通信部を制御する制御部と、
を備える一次応答装置。 - 前記制御部は、前記代表リクエストを前記配信サーバに送信するとき、前記代表リクエストに集約された他のリクエストを前記配信サーバに送信しないように前記通信部を制御し、前記代表リクエストを前記配信サーバに再送するとき、前記代表リクエストに集約された他のリクエストを前記配信サーバに送信しないように前記通信部を制御する、
請求項1に記載の一次応答装置。 - 前記制御部は、前記代表リクエストを前記配信サーバに再送する回数が所定の回数以上となった場合、前記同じデータを要求するリクエストを送信した端末に所定の通知を行う、
請求項1又は2に記載の一次応答装置。 - 前記プロキシサーバは、前記代表リクエストによるデータの取得が失敗した回数を記憶する記憶部をさらに備える、
請求項3に記載の一次応答装置。 - 複数の端末及びデータを配信する配信サーバと通信する通信部と、
前記配信サーバと前記複数の端末との間の通信を中継するように前記通信部を制御する制御部であって、前記複数の端末から前記配信サーバに向けて送信された前記データを要求するリクエストのうち同じデータを要求するリクエストを代表リクエストに集約し、前記代表リクエストによって取得されたデータを、前記同じデータを要求するリクエストを送信した端末のそれぞれに送信するように前記通信部を制御し、前記代表リクエストによるデータの取得が失敗した場合、前記同じデータを要求するリクエストを送信した端末に所定の通知を行う制御部と、
を備える一次応答装置。 - 複数の端末及びデータを配信する配信サーバと通信する通信部を備える一次応答装置が、
前記配信サーバと前記複数の端末との間の通信を中継するように前記通信部を制御し、前記複数の端末から前記配信サーバに向けて送信された前記データを要求するリクエストのうち同じデータを要求するリクエストを代表リクエストに集約し、前記代表リクエストによって取得されたデータを、前記同じデータを要求するリクエストを送信した端末のそれぞれに送信するように前記通信部を制御し、前記代表リクエストによるデータの取得が失敗した場合、前記代表リクエストを前記配信サーバに再送するように前記通信部を制御する、
制御方法。 - 複数の端末及びデータを配信する配信サーバと通信する通信部を備える一次応答装置に、
前記配信サーバと前記複数の端末との間の通信を中継するように前記通信部を制御させ、前記複数の端末から前記配信サーバに向けて送信された前記データを要求するリクエストのうち同じデータを要求するリクエストを代表リクエストに集約させ、前記代表リクエストによって取得されたデータを、前記同じデータを要求するリクエストを送信した端末のそれぞれに送信するように前記通信部を制御させ、前記代表リクエストによるデータの取得が失敗した場合、前記代表リクエストを前記配信サーバに再送するように前記通信部を制御させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014039917A JP2015165349A (ja) | 2014-02-28 | 2014-02-28 | 一次応答装置、制御方法及びコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014039917A JP2015165349A (ja) | 2014-02-28 | 2014-02-28 | 一次応答装置、制御方法及びコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015165349A true JP2015165349A (ja) | 2015-09-17 |
Family
ID=54187817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014039917A Pending JP2015165349A (ja) | 2014-02-28 | 2014-02-28 | 一次応答装置、制御方法及びコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015165349A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018124174A1 (ja) * | 2016-12-28 | 2018-07-05 | 三菱自動車工業株式会社 | 車両用情報処理システム及び車両用情報処理プログラム、並びに携帯通信端末 |
JP2022518216A (ja) * | 2019-04-23 | 2022-03-14 | 華為技術有限公司 | メディア・ストリーム送信方法、装置、デバイス |
US12107697B2 (en) | 2019-04-23 | 2024-10-01 | Huawei Technologies Co., Ltd. | Media stream sending method and apparatus, and device |
-
2014
- 2014-02-28 JP JP2014039917A patent/JP2015165349A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018124174A1 (ja) * | 2016-12-28 | 2018-07-05 | 三菱自動車工業株式会社 | 車両用情報処理システム及び車両用情報処理プログラム、並びに携帯通信端末 |
JPWO2018124174A1 (ja) * | 2016-12-28 | 2019-11-07 | 三菱自動車工業株式会社 | 車両用情報処理システム及び車両用情報処理プログラム、並びに携帯通信端末 |
JP2022518216A (ja) * | 2019-04-23 | 2022-03-14 | 華為技術有限公司 | メディア・ストリーム送信方法、装置、デバイス |
JP7256881B2 (ja) | 2019-04-23 | 2023-04-12 | 華為技術有限公司 | メディア・ストリーム送信方法、装置、デバイス |
US12107697B2 (en) | 2019-04-23 | 2024-10-01 | Huawei Technologies Co., Ltd. | Media stream sending method and apparatus, and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10912018B2 (en) | PDU type setting method, UE policy setting method, and related entity | |
US9961136B2 (en) | Distributing application traffic to servers based on dynamic service response time | |
US11316609B2 (en) | Data transmitting method, data receiving method, and device | |
US10063650B2 (en) | Intranet distributed caching | |
EP3539269B1 (en) | Node type based control of assistance for data streaming | |
EP3709664A1 (en) | Stream pushing method, system and server | |
WO2016173155A1 (zh) | 一种tcp ack报文处理方法及装置 | |
WO2017097201A1 (zh) | 一种数据传输方法、发送装置及接收装置 | |
US10841633B2 (en) | Hot live video determining method and device | |
EP2993593A1 (en) | System and method for a reliable content exchange of a ccn pipeline stream | |
KR101768365B1 (ko) | M2M/IoT 시스템의 구독-통지에서 통지 실패 관리 방법 및 시스템 | |
WO2017220021A1 (zh) | 短信息处理方法及装置 | |
JP2015165349A (ja) | 一次応答装置、制御方法及びコンピュータプログラム | |
US11444882B2 (en) | Methods for dynamically controlling transmission control protocol push functionality and devices thereof | |
US9071954B2 (en) | Wireless optimized content delivery network | |
CN114338574A (zh) | 一种即时通讯方法、管理节点及系统 | |
CN109327398B (zh) | 一种防止丢包的方法及装置 | |
JP6360143B2 (ja) | 情報配信装置、プッシュ通知送信方法、及び、コンピュータプログラム | |
WO2014122981A1 (ja) | メッセージ送信装置、メッセージ送信方法及びメッセージ送信プログラム | |
JP6452573B2 (ja) | データ送信装置及びデータ受信装置及びデータ送信方法及びデータ受信方法及びデータ送信プログラム及びデータ受信プログラム | |
JP2017034562A (ja) | 通信装置および再接続方法 | |
KR20180110565A (ko) | 컨텐츠 전송 제어 방법, 이를 위한 장치, 이를 기록한 컴퓨터 판독 가능한 기록 매체 및 프로그램 | |
JP6072114B2 (ja) | 情報配信装置、プッシュ通知送信方法、及び、コンピュータプログラム | |
WO2016177055A1 (zh) | 文件的发送方法及装置 | |
JP2015204466A (ja) | データ転送装置、データ転送方法および通信装置 |