JP6196535B2 - Information processing apparatus, control method therefor, and program - Google Patents
Information processing apparatus, control method therefor, and program Download PDFInfo
- Publication number
- JP6196535B2 JP6196535B2 JP2013233434A JP2013233434A JP6196535B2 JP 6196535 B2 JP6196535 B2 JP 6196535B2 JP 2013233434 A JP2013233434 A JP 2013233434A JP 2013233434 A JP2013233434 A JP 2013233434A JP 6196535 B2 JP6196535 B2 JP 6196535B2
- Authority
- JP
- Japan
- Prior art keywords
- terminal device
- packet
- information processing
- terminal
- state
- 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.)
- Expired - Fee Related
Links
- 230000010365 information processing Effects 0.000 title claims description 44
- 238000000034 method Methods 0.000 title claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 15
- 230000009471 action Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 claims description 2
- 238000003672 processing method Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、ネットワークに接続されている中継装置を介して、端末装置へのパケットの配信を制御する情報処理技術に関するものである。 The present invention relates to an information processing technique for controlling packet distribution to a terminal device via a relay device connected to a network.
近年、IPネットワークの高速広帯域化により、IPネットワーク上で、映像コンテンツのライブ配信等のストリーミング配信が広く行われている。ストリーミング配信は、一般的には、配信サーバと受信端末間でのユニキャスト通信により行われるが、同時受信端末数が増大すると、配信サーバの必要スペックや必要帯域等も増大するため、スケーラビリティに課題がある。 In recent years, streaming distribution such as live distribution of video contents has been widely performed on IP networks due to the high-speed wideband of IP networks. Streaming distribution is generally performed by unicast communication between the distribution server and the receiving terminal. However, as the number of simultaneous receiving terminals increases, the required specifications and necessary bandwidth of the distribution server also increase. There is.
上記課題を解決するため、P2P技術を利用して、一つの受信端末が受信したライブストリーミングを他の受信端末へ中継する、オーバレイマルチキャストあるいはアプリケーションレベルマルチキャストと呼ばれる技術も登場している。本技術を利用すれば、配信サーバの負荷を削減できるため、同時受信端末数に関するスケーラビリティの課題を解決できると期待されている。しかし、オーバレイマルチキャストでは受信端末が同時に送信端末にもなり得るため、受信端末が受信を中止した場合、その受信端末のストリーミング中継先の端末への配信も停止される。従って、オーバレイマルチキャスト配信を安定的に実現するためには、受信端末の離脱を適切に管理する必要がある。 In order to solve the above-mentioned problem, a technique called overlay multicast or application level multicast has been introduced that uses P2P technology to relay live streaming received by one receiving terminal to another receiving terminal. If this technology is used, the load on the distribution server can be reduced, and it is expected that the scalability problem related to the number of simultaneously receiving terminals can be solved. However, in the overlay multicast, the receiving terminal can also be a transmitting terminal at the same time. Therefore, when the receiving terminal stops receiving, distribution to the streaming relay destination terminal of the receiving terminal is also stopped. Therefore, in order to stably realize overlay multicast distribution, it is necessary to appropriately manage the withdrawal of the receiving terminal.
この問題を解決するため、特許文献1では、各受信端末の過去の利用時間の平均値から、コンテンツ配信サービスに参加している受信端末が離脱するまでの時間(余命)を算出し、その算出結果に基づいて、末端の受信端末は上流の端末の余命が短くなったら、より余命が長い別の端末に切り替えることで、安定的なオーバレイマルチキャスト配信を実現する技術が開示されている。 In order to solve this problem, Patent Document 1 calculates a time (life expectancy) until a receiving terminal participating in a content distribution service leaves from an average value of past usage times of each receiving terminal, and the calculation Based on the results, a technology is disclosed that realizes stable overlay multicast distribution by switching the terminal receiving terminal to another terminal having a longer life expectancy when the life expectancy of the upstream terminal is shortened.
また、上記スケーラビリティの課題の解決手段の一つとして、IPマルチキャスト技術を利用することもできる。IPマルチキャスト技術自体は十数年前から利用されている技術であるが、ネットワーク内のルータをIPマルチキャストに対応させる必要があり、一般的に普及するには至っていない。 In addition, IP multicast technology can be used as one means for solving the above-described scalability problem. The IP multicast technology itself is a technology that has been used for more than ten years, but it is necessary to make the routers in the network compatible with IP multicast, and it has not yet spread widely.
これまでのIPネットワークでは、通常、1台のネットワーク機器(ルータやスイッチ)がネットワークの経路制御機能(コントロールプレーン)とデータ転送機能(データプレーン)を持っている。これに対して、近年では、コントロールプレーンとデータプレーンを分離し、それぞれ別の機器で動作させるネットワークシステムが提案されている。その一例として、コントローラからスイッチを制御してネットワークの経路制御を行うOpenFlow(オープンフロー)と呼ばれる技術が登場している(非特許文献1)。また、非特許文献2、3では、OpenFlow技術を利用してIPマルチキャストと同方式のマルチキャスト配信を実現する技術が開示されている。 In conventional IP networks, one network device (router or switch) usually has a network path control function (control plane) and a data transfer function (data plane). On the other hand, in recent years, a network system has been proposed in which the control plane and the data plane are separated and operated by different devices. As an example, a technique called OpenFlow (open flow) in which a switch is controlled from a controller to perform network path control has appeared (Non-Patent Document 1). Non-Patent Documents 2 and 3 disclose techniques for realizing multicast distribution in the same manner as IP multicast using the OpenFlow technique.
以下、図1を用いてOpenFlowの仕組みを簡単に説明する。図1はOpenFlowが動作する最小構成例を示している。 Hereinafter, the mechanism of OpenFlow will be briefly described with reference to FIG. FIG. 1 shows a minimum configuration example in which OpenFlow operates.
OpenFlowスイッチ102は、OpenFlowコントローラ101から投入されるフローテーブル102aを保持しており、OpenFlowスイッチ102はこのフローテーブル102aに従ってパケットを転送する。フローテーブル102aには、入力されたパケットをマッチングするルールと、ルールにマッチするパケットに対してOpenFlowスイッチ102が行う動作(アクション)を定義したフローエントリが登録されている。ルールで使用できる条件には、送信元/宛先MACアドレス、IPアドレス、ポート番号、プロトコル種別等がある。また、アクションとして、特定のポートから出力する、パケットのヘッダフィールドを書き換える、破棄する等の動作を指定できる。
The OpenFlow
図1の例で、例えば、端末装置2(104)が、宛先IPアドレスが192.168.0.10、ポート番号が80であるパケットを送信し、そのパケットがOpenFlowスイッチ102に到着したとする。OpenFlowスイッチ102は、フローテーブル102aを参照して、到着したパケットとマッチするフローエントリを検索する。図1では、宛先アドレス=192.168.0.10、宛先ポート番号=80のパケットは1番ポートから出力する、というフローエントリが存在するので、OpenFlowスイッチ102はそのフローエントリに従って到着したパケットを1番ポートから出力する。
In the example of FIG. 1, for example, the terminal device 2 (104) transmits a packet with a destination IP address of 192.168.0.10 and a port number of 80, and the packet arrives at the OpenFlow
尚、OpenFlowコントローラ101は、ネットワーク構成を把握していると仮定する。また、図1には、1台のOpenFlowコントローラ101に対して1台のOpenFlowスイッチ102が接続されている構成となっているが、実際には1台のOpenFlowコントローラが複数台のOpenFlowスイッチそれぞれに対してフローテーブルを投入することができる。
It is assumed that the OpenFlow
前述の特許文献1に記載されるオーバレイマルチキャスト配信方式を実現する場合、余命はあくまで過去の利用実績から類推されるものであるため、確実な配信は保証されないという課題がある。 When the overlay multicast distribution method described in Patent Document 1 described above is realized, there is a problem that reliable distribution is not guaranteed because life expectancy is inferred from past usage records.
また、IPマルチキャスト技術を利用する場合、同一のストリーミングを受信する端末は全て同一のIPアドレス/ポート番号で待ち受けするため、サービス妨害(DoS)攻撃を受けやすいという問題がある。 Further, when the IP multicast technology is used, since all terminals receiving the same streaming listen on the same IP address / port number, there is a problem that they are susceptible to a denial of service (DoS) attack.
例えば、ある特定の配信サーバから配信されるストリーミングが、あるIPマルチキャストアドレス宛に送信される場合、適切なアクセス制御が実施されなければ、別のサーバが送信元IPアドレスを詐称してそのIPマルチキャストアドレス宛に不正なパケットを送信することができてしまう。この場合、そのストリーミングを受信する受信端末は、その別のサーバからの不正なパケットも受信してしまい、ストリーミングが正常に再生されない可能性がある。 For example, when streaming distributed from a specific distribution server is transmitted to a certain IP multicast address, if appropriate access control is not performed, another server spoofs the transmission source IP address and the IP multicast An illegal packet can be sent to the address. In this case, the receiving terminal that receives the streaming may receive an illegal packet from the other server, and the streaming may not be reproduced normally.
また、そのIPマルチキャストアドレス宛に不正なパケットを送信した場合、そのパケットを受信した受信端末は、その不正なパケットの送信元アドレスにICMP(Internet Control Message Protocol)エラーパケットを送信する場合がある。ここで、受信端末が多数存在した場合、本来、その送信元アドレスが付与されたサーバに対して、多数のICMPエラーパケットが送信されることになり、結果的に、そのサーバに対するDoS攻撃となりうる。このことは、OpenFlow技術を利用してIPマルチキャストと同方式のマルチキャスト配信を実現する場合にも起こりうる。また、IPマルチキャストアドレスを別途割り当てる必要があるため、その管理負荷がかかる。 When an illegal packet is transmitted to the IP multicast address, the receiving terminal that receives the packet may transmit an ICMP (Internet Control Message Protocol) error packet to the transmission source address of the illegal packet. Here, when there are a large number of receiving terminals, a large number of ICMP error packets are originally transmitted to the server to which the transmission source address is assigned, and as a result, a DoS attack can be performed on the server. . This can also occur when multicast distribution in the same manner as IP multicast is realized using the OpenFlow technology. Moreover, since it is necessary to assign an IP multicast address separately, the management load is applied.
本発明は上記の課題を鑑みてなされたものであり、複数の送信先へ同一のデータを効率的にかつ安全に配信することできる情報処理技術を提供することを目的とする。 The present invention has been made in view of the above problems, and an object thereof is to provide an information processing technique capable of efficiently and safely distributing the same data to a plurality of transmission destinations.
上記の目的を達成するための本発明による情報処理装置は、ネットワークに接続されている中継装置を介して、端末装置へのパケットの配信を制御する情報処理装置であって、前記端末装置から、コンテンツのストリーミング配信のリクエストを受信する受信手段と、前記受信手段で前記リクエストを受信することに応じて、前記端末装置が、当該ストリーミング配信のパケットを待ち受けるためのポート番号を決定する決定手段と、前記決定手段で決定したポート番号を、前記端末装置へ通知する通知手段と、前記中継装置を介して前記端末装置へパケットを送信する場合に、前記中継装置が受信するパケットの処理方法を定義するフローエントリを、該中継装置へ設定する設定手段と、同一のパケットの配信先の端末装置それぞれについて、その状態、当該同一のパケットの配信先のIPアドレス、及び、当該同一のパケットを待ち受けるポート番号を含む端末情報のリストを記憶する記憶手段と、前記記憶手段に記憶されるリストを参照して、前記リストで管理されている端末情報が示す端末装置へのパケットの送信を制御する制御手段と、を有し、前記状態は、前記情報処理装置に最初に接続した端末装置であり、かつ、前記情報処理装置からパケットを受信している第1の状態と、前記情報処理装置に最初に接続した端末装置であり、かつ、前記情報処理装置からパケットを受信していない第2の状態と、前記情報処理装置に最初に接続した端末装置ではなく、かつ、前記情報処理装置からパケットを受信している第3の状態と、を含む、ことを特徴とする。 An information processing apparatus according to the present invention for achieving the above object is an information processing apparatus that controls distribution of packets to a terminal device via a relay device connected to a network, from the terminal device , A receiving unit that receives a request for streaming distribution of content; and a determination unit that determines a port number for waiting for the streaming distribution packet in response to receiving the request by the receiving unit; Defines a method for processing a packet received by the relay device when a packet is transmitted to the terminal device via the relay device and a notification device that notifies the terminal device of the port number determined by the determining device. a flow entry, and setting means for setting to said relay device, attached to each distribution destination terminal of the same packet The storage means for storing a list of terminal information including the state, the IP address of the delivery destination of the same packet, and the port number for waiting for the same packet, and the list stored in the storage means , have a, and control means for controlling the transmission of packets to the terminal device indicated by the terminal information managed by the list, the state is a terminal device first connects to the information processing apparatus, and, A first state in which a packet is received from the information processing apparatus; a second state in which the terminal apparatus is first connected to the information processing apparatus and the packet is not received from the information processing apparatus; And a third state in which a packet is received from the information processing apparatus instead of the terminal apparatus that is first connected to the information processing apparatus .
本発明によれば、複数の送信先へ同一のデータを効率的にかつ安全に配信することできる。 According to the present invention, the same data can be efficiently and safely distributed to a plurality of transmission destinations.
以下、本発明の実施の形態について図面を用いて詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図2は配信システムの最小構成を示す図である。 FIG. 2 is a diagram showing the minimum configuration of the distribution system.
尚、図2において、図1と同一の構成要素については、同一の参照番号を付加している。 In FIG. 2, the same components as those in FIG. 1 are denoted by the same reference numerals.
情報処理装置である配信サーバ106は、映像等のデータを所定の配信方式でパケットを配信するサーバ装置である。この所定の配信方式には、例えば、ストリーミング、ダウンロード、プログレッシブダウンロード等がある。ここでは、所定の配信方式が、ストリーミングである場合を例に挙げて説明する。
The
端末装置1〜n(103〜105)は、配信サーバ106から送信されるパケットを受信する端末装置である。配信サーバ106、及び端末装置1〜n(103〜105)は、OpenFlow機能(非特許文献1に従うOpenFlow仕様)を具備するOpenFlowスイッチ102とネットワークを介して接続している。中継装置であるOpenFlowスイッチ102は、ネットワークを介して各種機器と接続するための1つ以上の物理的なポートを有している。ここでは、端末装置1(103)は、OpenFlowスイッチ102の1番ポート、端末装置2はOpenFlowスイッチ102の2番ポート、端末装置n(105)はOpenFlowスイッチ102のn番ポートに接続しているとする。
Terminal apparatuses 1 to n (103 to 105) are terminal apparatuses that receive packets transmitted from the
また、図1で説明したように、OpenFlowスイッチ102は、OpenFlowコントローラ101(中継装置(OpenFlowスイッチ102)を制御してネットワークの経路制御を行う経路制御装置)により制御され、OpenFlowコントローラ101により設定されるフローテーブル102a(図1)を記憶している。このフローテーブル102aは、上述のように、ルールとアクションからなるフローエントリで構成され、ネットワークを介して受信するパケットの条件毎の、OpenFlowスイッチ102によるパケットの処理方法(データ転送方法)を定義している。
As described with reference to FIG. 1, the OpenFlow
尚、図1のシステムを構成する各種機器を相互に接続するネットワークは、有線ネットワーク、無線ネットワーク、及びそれらの任意の組み合わせで構成することができる。 Note that a network that interconnects various devices constituting the system of FIG. 1 can be configured by a wired network, a wireless network, and any combination thereof.
図3は図1の配信システムを構成する各種機器のハードウェア構成を示す図である。 FIG. 3 is a diagram showing a hardware configuration of various devices constituting the distribution system of FIG.
OpenFlowコントローラ101、OpenFlowスイッチ102、端末装置1〜n(103〜105)、及び配信サーバ106は、それぞれ情報処理装置によって実現される。この情報処理装置のハードウェア構成としては、例えば、CPU301、ROM302、RAM303、外部記憶装置304、及び通信装置305を有する。
The
各種機器を実現する情報処理装置では、ROM302、RAM303及び外部記憶装置304のいずれかに記憶された、以下で説明する各種機器の機能及び動作、処理を実現するプログラムがCPU301により実行される。そして、各種種機器は、通信装置305を用いて、各種機器間の通信を行う。
In an information processing apparatus that implements various devices, a program that realizes the functions, operations, and processes of various devices described below, stored in any of the
尚、図3では、各種機器を実現する情報処理装置は、1つの通信装置305を有するとしているが、例えば、接続する機器の数に応じて、複数の通信装置を有してもよい。また、各種機器は、以下に説明する各機能を実行する専用のハードウェアを備えてもよいし、一部をハードウェアで実行し、プログラムを動作させるコンピュータでその他の部分を実行してもよい。また、以下の全機能をコンピュータとプログラムにより実行させてもよい。
In FIG. 3, the information processing apparatus that realizes various devices has one
次に、図4を利用して、端末装置が配信サーバからストリーミングによってパケットを受信するまでの処理シーケンスを説明する。尚、図4は、図2に示すシステム構成における処理シーケンスを示している。また、図4に示される各種機器は、自身のCPU301が、ROM302に記憶されているプログラムを読み出し、実行することで、図4を用いて説明する、各種機器が実行する動作を実現する。
Next, a processing sequence until the terminal device receives a packet by streaming from the distribution server will be described with reference to FIG. FIG. 4 shows a processing sequence in the system configuration shown in FIG. Also, the various devices shown in FIG. 4 realize the operations executed by the various devices described with reference to FIG. 4 when the
まず、端末装置1(103)が配信サーバ106からのストリーミングによってパケットの受信を希望すると、端末装置1(103)は配信サーバ106に対して視聴リクエストを送信する(S401)。ここで、端末装置1(103)が配信サーバ106に接続するための、配信サーバ106のIPアドレスとポート番号は既知とする。また、OpenFlowスイッチ102のフローテーブル102aには、「宛先IPアドレスが配信サーバ106のものであるパケットを配信サーバ106が接続されているポートから出力する」フローエントリが、OpenFlowコントローラ101によって予め設定されているものとする。
First, when the terminal device 1 (103) desires to receive a packet by streaming from the
端末装置1(103)からの視聴リクエストが、OpenFlowスイッチ102を経由して配信サーバ106に到着すると、配信サーバ106は端末装置1(103)がパケットを受信するための待ち受けポート番号を決定し、その待ち受けポート番号を端末装置1(103)に通知する(S403)。以降、端末装置1(103)はそのポート番号で配信サーバ106からのパケットの到着を待ち受けることになる。また、配信サーバ106は、OpenFlowコントローラ101に対して、OpenFlowスイッチ102へのフローエントリ設定リクエストを送信する(S402)。フロー設定リクエストには、端末装置1(103)のIPアドレス、待ち受けポート番号、配信サーバ106のIPアドレス、及びフラグを含めるとする。フラグには、端末の追加または削除を表すフラグが設定され、前記の場合は追加フラグが設定される。
When a viewing request from the terminal device 1 (103) arrives at the
尚、端末装置に対して、配信サーバ106が決定する待ち受けポート番号は、例えば、その端末装置に、未使用のポート番号を問い合わせて、その未使用のポート番号と、別途、配信サーバ106で管理している使用済の待ち受けポート番号とを比較して、重複しないポート番号を待ち受けポート番号に決定する。
Note that the standby port number determined by the
配信サーバ106からのフローエントリ設定リクエストを受信したOpenFlowコントローラ101は、そのフローエントリ設定リクエストに従ってフローエントリを作成し、OpenFlowスイッチ102のフローテーブル102aに設定する(S404)。この時のフローエントリの一例を、図5に示す。
The
図5では、配信サーバ106のIPアドレス(送信元アドレス)を192.168.100.100、端末装置1(103)のIPアドレス(宛先アドレス)を192.168.0.1、IPプロトコル種別をUDP、宛先ポート番号(配信サーバ106が端末装置1(103)向けに指定した待ち受けポート番号)を61616とした、「ルール」が設定されている。また、このルールで設定される条件にマッチするパケットは、端末装置1(103)が接続しているOpenFlowスイッチ102の1番ポートから出力することを示す「アクション(1)」が設定されている。
In FIG. 5, the IP address (source address) of the
そして、OpenFlowコントローラ101は、OpenFlowスイッチ102のフローテーブル102aへのフローエントリの設定が完了すると、配信サーバ106に対して、フロー設定完了通知を送信する(S405)。これを受けて、配信サーバ106は、端末装置1(103)へのストリーム配信を実行する(S406)。
Then, when the setting of the flow entry in the flow table 102a of the
次に、端末装置2(104)が配信サーバ106に視聴リクエストを送信したとする(S407)。端末装置2(104)からの視聴リクエストがOpenFlowスイッチ102を経由して配信サーバ106に到着すると、配信サーバ106は端末装置2(104)の待ち受けポート番号を決定し、その待ち受けポート番号を端末装置2(104)に通知する(S409)。以降、端末装置2(104)はそのポート番号で配信サーバ106からのパケットの到着を待ち受けることになる。また、配信サーバ106は、OpenFlowコントローラ101に対して、OpenFlowスイッチ102へのフローエントリ設定リクエストを送信する(S408)。フロー設定リクエストには、端末装置2(104)のIPアドレス、待ち受けポート番号、配信サーバ106のIPアドレス、追加フラグを含めるとする。
Next, it is assumed that the terminal device 2 (104) transmits a viewing request to the distribution server 106 (S407). When a viewing request from the terminal device 2 (104) arrives at the
配信サーバ106からのフローエントリ設定リクエストを受信したOpenFlowコントローラ101は、そのフローエントリ設定リクエストに従ってフローエントリを作成し、OpenFlowスイッチ102のフローテーブル102aに設定する(S410)。この時のフローエントリの一例を、図6に示す。
The
図6では、端末装置2(104)のIPアドレス(宛先アドレス)を192.168.0.2、端末装置2(104)の待ち受けポート番号(宛先ポート番号)を55132に書き換え、端末装置2(104)が接続しているOpenFlowスイッチ102の2番ポートからパケットを出力することを示す「アクション(2)」が設定されている。図6のフローエントリにより、OpenFlowスイッチ102では、配信サーバ106から端末装置1(103)へのストリーミング配信を継続(アクション(1))しつつ、ルールにマッチするパケットに対して宛先アドレスとポート番号を書き換えたパケットを端末装置2(104)が接続しているOpenFlowスイッチ102の2番ポートからも出力(アクション(2))する。これにより、配信サーバ106からのパケットはOpenFlowスイッチ102で分岐されて端末装置1(103)と端末装置2(104)に到着するようになる。
In FIG. 6, the IP address (destination address) of the terminal device 2 (104) is rewritten to 192.168.0.2, the standby port number (destination port number) of the terminal device 2 (104) is rewritten to 55132, and the terminal device 2 ( "Action (2)" indicating that a packet is output from the second port of the
そして、OpenFlowコントローラ101は、OpenFlowスイッチ102のフローテーブル102aへのフローエントリの設定が完了すると、配信サーバ106に対して、フロー設定完了通知を送信する(S412)。これを受けて、配信サーバ106は、端末装置1(103)へのストリーム配信を実行する(S411)。
When the setting of the flow entry in the flow table 102a of the
図7は、端末装置1(103)が配信サーバ106からのストリーム視聴を中止した後のフローエントリを示す。端末装置1(103)が配信サーバ106に中止リクエストを送信する(S413)。配信サーバ106がその中止リクエストを受信すると、配信サーバ106は、OpenFlowコントローラ101にフローエントリ設定リクエストを送信する(S414)。フロー設定リクエストには、端末装置1(103)のIPアドレス、待ち受けポート番号、配信サーバ106のIPアドレス、及び削除フラグを含めるとする。
FIG. 7 shows a flow entry after the terminal device 1 (103) stops viewing the stream from the
配信サーバ106からのフローエントリ設定リクエストを受信したOpenFlowコントローラ101は、そのフローエントリ設定リクエストに従ってフローエントリを作成し、OpenFlowスイッチ102のフローテーブル102aに設定する(S415)。この場合、端末装置1(103)へのパケット送信を中止するフローエントリが設定される。具体的には、図7に示すように、フローテーブル102aから、1番ポートからパケットを出力するアクション(1)が削除され、図6におけるアクション(2)がアクション(1)に繰り上がることになる。
The
そして、OpenFlowコントローラ101は、OpenFlowスイッチ102のフローテーブル102aへのフローエントリの設定が完了すると、配信サーバ106に対して、フロー設定完了通知を送信する(S416)。
Then, when the setting of the flow entry in the flow table 102a of the
尚、上記実施形態では、OpenFlowスイッチ102が1台だけの簡単な構成での動作例を説明しているが、これに限定されない。OpenFlowスイッチ102が複数台で構成されるネットワークにおいても、OpenFlowコントローラ101がネットワーク構成(トポロジー)を適切に把握していれば、同様の手順によりOpenFlowコントローラ101が適切なOpenFlowスイッチ102にフローエントリを設定することができる。OpenFlowコントローラ101は、例えば、非特許文献4にあるように、LLDP(Link Layer Discovery Protocol)を利用することで、複数台のOpenFlowスイッチ102で構成されたネットワークのトポロジーを把握することができる。
In the above embodiment, an example of operation with a simple configuration with only one
また、OpenFlowスイッチ102が複数台で構成されるネットワークとしては、OpenFlowスイッチ102が、カスケード接続されている場合には、そのネットワーク構成(トポロジー)、及び各OpenFlowスイッチ102のフローテーブル102aで設定されているフローエントリの内容に関するネットワーク情報を、メモリ等の記憶媒体(RAM303あるいは外部記憶装置304)に記憶しておく。そして、あるOpenFlowスイッチ102に対して、フローエントリの設定の変更が発生した場合には、配信サーバ106は、そのネットワーク情報を参照して、処理対象のOpenFlowスイッチ102のフローエントリの設定の変更に加えて、そのフローエントリの設定の変更によって影響を受ける他のOpenFlowスイッチ102に対するフローエントリを修正するようにしても良い。
In addition, as a network including a plurality of OpenFlow switches 102, when the OpenFlow switches 102 are connected in cascade, the network configuration (topology) and the flow table 102a of each
また、上記実施形態では、配信サーバ106とOpenFlowコントローラ101は物理的に別体の装置として説明しているが、これに限定されない。配信サーバ106がOpenFlowコントローラ101の機能も併せて持ち、配信サーバ106がOpenFlowスイッチ102にフローエントリ設定を行うようにしてもよい。
In the above embodiment, the
配信サーバ106は、ストリーミングの配信先を管理するために、図8に示す配信リストを保持する。この配信リストは、例えば、配信サーバ106のRAM303あるいは外部記憶装置304に記憶される。この配信リストは、配信先となる端末装置に関する情報(端末情報)として、宛先IPアドレス、宛先ポート番号、及び状態から構成される。宛先IPアドレスは、配信サーバ106からパケットを受信する端末装置のIPアドレス、宛先ポート番号は、端末装置がパケットを待ち受けるポート番号である。状態は、端末装置の状態を表しており、以下の3つの状態を持つものとする。
The
● master−connect
● master−disconnect
● connect
● master-connect
● master-disconnect
● connect
「master−connect」(第1の状態)は、配信サーバ106から送信されるパケットの宛先IPアドレス/宛先ポート番号を有する端末装置であり、かつその端末装置が配信サーバ106からのストリーミングによるパケットを受信している状態を表している。「master−disconnect」(第2の状態)は、配信サーバ106から送信されるパケットの宛先IPアドレス/宛先ポート番号を有する端末装置であるが、その端末装置は配信サーバ106からのストリーミングによるパケットを受信していない状態を表している。「connect」(第3の状態)は、端末装置が配信サーバ106からのストリーミングによるパケットを受信している状態を表している。
The “master-connect” (first state) is a terminal device having a destination IP address / destination port number of a packet transmitted from the
最初に、配信サーバ106に接続した端末装置が「master−connect」となり、以降に接続した端末装置は「connect」となる。「connect」状態の端末装置がストリーミングによるパケットの受信を中止した場合、その端末装置に対応する端末情報は配信リストから削除される。
First, the terminal device connected to the
一方、「master−connect」状態の端末装置がストリーミング受信を中止した場合は、その端末装置の状態を「master−disconnect」へ遷移する。配信リストが「master−disconnect」状態の端末装置のみを管理している場合、その配信リストを空(クリア)とし、配信サーバ106からのストリーミングによるパケットの送信を中止する。
On the other hand, when the terminal device in the “master-connect” state stops streaming reception, the state of the terminal device transitions to “master-disconnect”. When only the terminal device whose distribution list is in the “master-disconnect” state is managed, the distribution list is emptied (cleared), and packet transmission by streaming from the
また、配信リストが「master−disconnect」状態の端末装置を管理している状態で、更に、「connect」状態の端末装置を管理している場合には、配信サーバ106からのストリーミングによるパケットの送信を継続する。
When the distribution list manages terminal devices in the “master-disconnect” state and further manages terminal devices in the “connect” state, packet transmission by streaming from the
以上説明したように、本実施形態によれば、配信サーバ106はそれぞれ異なるIPアドレス、ポート番号で待ち受ける端末装置に対して同一のデータを配信することができる。これにより、IPマルチキャストアドレスを利用せず、通常、端末装置に付与されるユニキャストIPアドレスのみで、安定したマルチキャスト配信を実現できる。また、端末装置は、それぞれ異なるIPアドレス、ポート番号でパケットを受信するので、ストリーミングに対するサービス妨害攻撃を抑制することができる。
As described above, according to the present embodiment, the
Claims (11)
前記端末装置から、コンテンツのストリーミング配信のリクエストを受信する受信手段と、
前記受信手段で前記リクエストを受信することに応じて、前記端末装置が、当該ストリーミング配信のパケットを待ち受けるためのポート番号を決定する決定手段と、
前記決定手段で決定したポート番号を、前記端末装置へ通知する通知手段と、
前記中継装置を介して前記端末装置へパケットを送信する場合に、前記中継装置が受信するパケットの処理方法を定義するフローエントリを、該中継装置へ設定する設定手段と、
同一のパケットの配信先の端末装置それぞれについて、その状態、当該同一のパケットの配信先のIPアドレス、及び、当該同一のパケットを待ち受けるポート番号を含む端末情報のリストを記憶する記憶手段と、
前記記憶手段に記憶されるリストを参照して、前記リストで管理されている端末情報が示す端末装置へのパケットの送信を制御する制御手段と、
を有し、
前記状態は、
前記情報処理装置に最初に接続した端末装置であり、かつ、前記情報処理装置からパケットを受信している第1の状態と、
前記情報処理装置に最初に接続した端末装置であり、かつ、前記情報処理装置からパケットを受信していない第2の状態と、
前記情報処理装置に最初に接続した端末装置ではなく、かつ、前記情報処理装置からパケットを受信している第3の状態と、
を含む、ことを特徴とする情報処理装置。 An information processing device that controls the distribution of packets to a terminal device via a relay device connected to a network,
Receiving means for receiving a request for streaming distribution of content from the terminal device ;
In response to receiving the request by the receiving unit, the terminal device determines a port number for waiting for the streaming delivery packet;
A notification means for notifying the terminal device of the port number determined by the determination means;
A setting means for setting, in the relay device, a flow entry that defines a method of processing a packet received by the relay device when a packet is transmitted to the terminal device via the relay device ;
Storage means for storing a list of terminal information including the status, the IP address of the distribution destination of the same packet, and the port number that waits for the same packet for each terminal device of the same packet distribution destination;
Control means for controlling transmission of packets to the terminal device indicated by the terminal information managed in the list with reference to the list stored in the storage means;
I have a,
The state is
A first state of being a terminal device first connected to the information processing device and receiving a packet from the information processing device;
A second state in which the terminal device is first connected to the information processing apparatus and has not received a packet from the information processing apparatus;
A third state in which a packet is received from the information processing device instead of the terminal device first connected to the information processing device;
An information processing apparatus comprising:
前記第1の状態にある端末装置が、パケットの受信を中止した場合、当該端末装置の状態を前記第2の状態に変更し、
前記第3の状態にある端末装置がパケットの受信を中止した場合、当該端末装置に対応する端末情報を前記リストから削除し、
前記リストに、前記第2の状態にある端末装置の端末情報のみが管理されている場合、該リストの内容を空にして、当該情報処理装置からのパケットの送信を中止する、
ことを特徴とする請求項1又は2に記載の情報処理装置。 The control means includes
The first terminal device in a state, when stop receiving packets, changes the state of the terminal device to the second state,
When the terminal device in the third state stops receiving the packet, the terminal information corresponding to the terminal device is deleted from the list,
When only the terminal information of the terminal device in the second state is managed in the list, the content of the list is emptied and the transmission of the packet from the information processing device is stopped .
The information processing apparatus according to claim 1 or 2 .
前記リストに、前記第2の状態にある端末装置の端末情報と前記第3の状態にある端末装置の端末情報が管理されている場合には、前記パケットの送信を継続することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 The control means includes
In the list, when the terminal information of the terminal device is in the third state and the terminal information of the terminal device is in the second state is managed, characterized by continuing the transmission of the packet The information processing apparatus according to any one of claims 1 to 3 .
前記設定手段は、処理対象の中継装置の前記フローエントリの設定を変更した場合には、前記ネットワーク情報を参照して、前記処理対象の中継装置のフローエントリの設定の変更によって影響を受ける他の中継装置に対するフローエントリを更に修正することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 In the case where the relay device is a network composed of a plurality of devices, the network device further includes management means for managing network information regarding the network configuration and the contents of the flow entry set in each of the relay devices,
When the setting unit changes the setting of the flow entry of the processing target relay device, the setting unit refers to the network information and is affected by the change of the setting of the flow entry of the processing target relay device. the information processing apparatus according to any one of claims 1 to 4, characterized in that to further modify the flow entry for a relay device.
前記配信サーバは、
前記端末装置から、コンテンツのストリーミング配信のリクエストを受信する受信手段と、
前記受信手段で前記リクエストを受信することに応じて、前記端末装置が、当該ストリーミング配信のパケットを待ち受けるためのポート番号を決定する決定手段と、
前記決定手段で決定したポート番号を、前記端末装置へ通知する通知手段と、
前記中継装置を介して前記端末装置へパケットを送信する場合に、前記中継装置が受信するパケットの処理方法を定義するフローエントリを該中継装置へ設定する設定リクエストを、前記制御装置へ送信する送信手段と、
同一のパケットの配信先の端末装置それぞれについて、その状態、当該同一のパケットの配信先のIPアドレス、及び、当該同一のパケットを待ち受けるポート番号を含む端末情報のリストを記憶する記憶手段と、
前記記憶手段に記憶されるリストを参照して、前記リストで管理されている端末情報が示す端末装置へのパケットの送信を制御する制御手段と、
を有し、
前記制御装置は、
前記設定リクエストを受信することに応じて、前記フローエントリを前記中継装置へ設定する設定手段を有し
前記中継装置は、
前記制御装置によって設定されたフローエントリに従って、受信するパケットのデータ転送を実行する実行手段を有し、
前記状態は、
前記配信サーバに最初に接続した端末装置であり、かつ、前記配信サーバからパケットを受信している第1の状態と、
前記配信サーバに最初に接続した端末装置であり、かつ、前記配信サーバからパケットを受信していない第2の状態と、
前記配信サーバに最初に接続した端末装置ではなく、かつ、前記配信サーバからパケットを受信している第3の状態と、
を含む、ことを特徴とする配信システム。 A relay device, a distribution server that controls distribution of packets to the terminal device via the relay device, the terminal device, and a control device that controls the relay device are connected to each other via a network. Distribution system,
The distribution server
Receiving means for receiving a request for streaming distribution of content from the terminal device ;
In response to receiving the request by the receiving unit, the terminal device determines a port number for waiting for the streaming delivery packet;
A notification means for notifying the terminal device of the port number determined by the determination means;
When transmitting a packet to the terminal device via the relay device, a transmission for transmitting a setting request for setting a flow entry defining the processing method of the packet received by the relay device to the relay device to the control device Means ,
Storage means for storing a list of terminal information including the status, the IP address of the distribution destination of the same packet, and the port number that waits for the same packet for each terminal device of the same packet distribution destination;
Control means for controlling transmission of packets to the terminal device indicated by the terminal information managed in the list with reference to the list stored in the storage means;
Have
The controller is
In response to receiving the setting request, the relay device has setting means for setting the flow entry in the relay device.
According to the flow entry set by the controller, have a execution means for executing data transfer of the received packet,
The state is
A first state of being a terminal device first connected to the distribution server and receiving a packet from the distribution server;
A second state in which the terminal device is first connected to the distribution server and has not received a packet from the distribution server;
A third state in which a packet is received from the distribution server, not the terminal device connected to the distribution server for the first time;
A distribution system characterized by comprising:
前記端末装置から、コンテンツのストリーミング配信のリクエストを受信する受信工程と、
前記受信工程で前記リクエストを受信することに応じて、前記端末装置が、当該ストリーミング配信のパケットを待ち受けるためのポート番号を決定する決定工程と、
前記決定工程で決定したポート番号を、前記端末装置へ通知する通知工程と、
前記中継装置を介して前記端末装置へパケットを送信する場合に、前記中継装置が受信するパケットの処理方法を定義するフローエントリを、該中継装置へ設定する設定工程と、
同一のパケットの配信先の端末装置それぞれについて、その状態、当該同一のパケットの配信先のIPアドレス、及び、当該同一のパケットを待ち受けるポート番号を含む端末情報のリストを記憶する記憶工程と、
前記記憶工程で記憶されたリストを参照して、前記リストで管理されている端末情報が示す端末装置へのパケットの送信を制御する制御工程と、
を含み、
前記状態は、
前記情報処理装置に最初に接続した端末装置であり、かつ、前記情報処理装置からパケットを受信している第1の状態と、
前記情報処理装置に最初に接続した端末装置であり、かつ、前記情報処理装置からパケットを受信していない第2の状態と、
前記情報処理装置に最初に接続した端末装置ではなく、かつ、前記情報処理装置からパケットを受信している第3の状態と、
を含む、ことを特徴とする情報処理装置の制御方法。 A method for controlling an information processing apparatus that controls distribution of a packet to a terminal device via a relay device connected to a network,
A receiving step of receiving a streaming delivery request for content from the terminal device ;
In response to receiving the request in the receiving step, the terminal device determines a port number for waiting for the streaming delivery packet;
A notification step of notifying the terminal device of the port number determined in the determination step;
A setting step for setting, in the relay device, a flow entry that defines a method for processing a packet received by the relay device when a packet is transmitted to the terminal device via the relay device ;
For each terminal device to which the same packet is delivered, a storage step for storing a list of terminal information including the state, the IP address of the destination to which the same packet is delivered, and the port number for waiting for the same packet;
A control step of referring to the list stored in the storage step and controlling transmission of packets to the terminal device indicated by the terminal information managed in the list;
Including
The state is
A first state of being a terminal device first connected to the information processing device and receiving a packet from the information processing device;
A second state in which the terminal device is first connected to the information processing apparatus and has not received a packet from the information processing apparatus;
A third state in which a packet is received from the information processing device instead of the terminal device first connected to the information processing device;
A method for controlling an information processing apparatus, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013233434A JP6196535B2 (en) | 2013-11-11 | 2013-11-11 | Information processing apparatus, control method therefor, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013233434A JP6196535B2 (en) | 2013-11-11 | 2013-11-11 | Information processing apparatus, control method therefor, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015095730A JP2015095730A (en) | 2015-05-18 |
JP6196535B2 true JP6196535B2 (en) | 2017-09-13 |
Family
ID=53197868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013233434A Expired - Fee Related JP6196535B2 (en) | 2013-11-11 | 2013-11-11 | Information processing apparatus, control method therefor, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6196535B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6371321B2 (en) * | 2016-02-26 | 2018-08-08 | 日本電信電話株式会社 | COMMUNICATION SYSTEM AND PACKET TRANSFER METHOD |
JP7059825B2 (en) * | 2018-06-25 | 2022-04-26 | 日本電信電話株式会社 | Multipoint distribution system, distribution method, management device and program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10308758A (en) * | 1997-03-06 | 1998-11-17 | Toshiba Corp | Communication equipment |
JP3558977B2 (en) * | 2000-10-05 | 2004-08-25 | 日本電信電話株式会社 | Stream relay device, stream broadcast distribution network, and recording medium |
JP2003298602A (en) * | 2002-04-05 | 2003-10-17 | Hitachi Cable Ltd | Network device |
-
2013
- 2013-11-11 JP JP2013233434A patent/JP6196535B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2015095730A (en) | 2015-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9948553B2 (en) | System and method for virtual network-based distributed multi-domain routing control | |
JP6538986B2 (en) | Virtual machine packet control | |
US8644149B2 (en) | Mechanism for packet forwarding using switch pools in flow-based, split-architecture networks | |
EP2643952B1 (en) | Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow | |
CN107979534B (en) | Method implemented in a device connected to a user premises equipment and corresponding device | |
US9917766B2 (en) | Loop-free hybrid network | |
US9736066B2 (en) | Method, apparatus and system for establishing optical bypass | |
WO2018068588A1 (en) | Method and software-defined networking (sdn) controller for providing multicast service | |
WO2013147193A1 (en) | Network appliance redundancy system, control device, network appliance redundancy method and program | |
RU2586019C2 (en) | Control device, communication system, node control method and program | |
JPWO2013176262A1 (en) | Packet transfer system, control device, packet transfer method and program | |
WO2014157512A1 (en) | System for providing virtual machines, device for determining paths, method for controlling paths, and program | |
JP6196535B2 (en) | Information processing apparatus, control method therefor, and program | |
WO2014126094A1 (en) | Communication system, communication method, control device, and control device control method and program | |
RU2589867C2 (en) | Communication device, control device, communication system, communication method, communication device control method and program | |
CN107465582B (en) | Data sending method, device and system, physical home gateway and access node | |
JP6440191B2 (en) | Switch device, VLAN setting management method, and program | |
WO2014133025A1 (en) | Communication system, host controller, network control method, and program | |
US9609572B2 (en) | Method and system for supporting mobility of a mobile terminal in a software-defined network | |
JP5991427B2 (en) | Control device, communication system, control information transmission method and program | |
JP2006087014A (en) | Layer-2 switch | |
WO2011114951A1 (en) | Communication system, switching hub, and router | |
JP6729845B2 (en) | Network system, packet transmission device, packet transmission method, and information processing program | |
EP3065352B1 (en) | Data transmission method, device and system | |
JP2004165794A (en) | Band control apparatus and method, program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160714 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170620 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170714 |
|
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: 20170807 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170818 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6196535 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |