図面 (/)

技術 通信システム

出願人 株式会社東芝
発明者 鈴本悟蔭山佳輝古城仁士
出願日 2016年9月21日 (2年9ヶ月経過) 出願番号 2016-184368
公開日 2018年3月29日 (1年3ヶ月経過) 公開番号 2018-050177
状態 特許登録済
技術分野 広域データ交換
主要キーワード 適用優先度 候補アドレス 通信制御テーブル ポート番 通過制御 通信終了メッセージ 確保情報 ローカルネットワークアドレス
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年3月29日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

クライアント装置間通信を行うときの通信遅延を低減する。

解決手段

実施形態における通信システムは、通信処理装置、第1、第2通信制御装置、第1、第2スイッチを有し、通信処理装置は、第1クライアント装置から第2クライアント装置への通信の提案信号を受信したときに、通信制御テーブルに、第1スイッチおよび第1クライアント装置の識別情報を設定し、返答信号を第2クライアント装置から受信したときに、第2スイッチおよび第2クライアント装置の識別情報を設定して、第1通信制御装置に通信の開始の要請信号伝送し、第1、第2の通信制御装置は、要請信号を受信したときに、通信のための第1および第2のスイッチの動作を設定する。

概要

背景

Webアプリケーションクライアントとして使用されるブラウザ間でリアルタイムUDPデータグラム通信トランスポート層としてUDPを用いるパケットの通信)を実現するプロトコルとして、P2P通信を実現するためのプロトコルであるWebRTCが注目されている。

プライベートアドレスを有するクライアントが広域通信網を越えてパケットの通信を行なうときに、パケットは、Symmetric NATおよびファイアウォールを通過する。
プライベートアドレスを持つクライアント同士がUDPデータグラム通信を行うときは、TURN(Traversal Using Relays around NAT:Symmetric NATやファイアウォールを通過するパケットをリレーさせるためのプロトコル)サーバによるパケットのリレーが必要になる。TURNサーバによるパケットリレーにより、プライベートアドレスを持つクライアント同士が広域通信網を越えてリアルタイムUDPデータグラム通信をするときは、リアルタイム性の確保が困難になる。

概要

クライアント装置間の通信を行うときの通信遅延を低減する。実施形態における通信システムは、通信処理装置、第1、第2通信制御装置、第1、第2スイッチを有し、通信処理装置は、第1クライアント装置から第2クライアント装置への通信の提案信号を受信したときに、通信制御テーブルに、第1スイッチおよび第1クライアント装置の識別情報を設定し、返答信号を第2クライアント装置から受信したときに、第2スイッチおよび第2クライアント装置の識別情報を設定して、第1通信制御装置に通信の開始の要請信号伝送し、第1、第2の通信制御装置は、要請信号を受信したときに、通信のための第1および第2のスイッチの動作を設定する。

目的

本発明が解決しようとする課題は、クライアント装置間の通信を行うときの通信遅延を低減することが可能な通信システムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

通信処理装置、第1の通信制御装置、第1のスイッチ、第2の通信制御装置、第2のスイッチを有する通信ステムであって、前記通信処理装置は、前記第1のスイッチに接続可能な第1のクライアント装置から、前記第2のスイッチに接続可能な第2のクライアント装置への通信の提案信号を前記第1のスイッチを介して受信したときに、前記第1のクライアント装置と前記第2のクライアント装置との間の通信制御テーブルレコードに、前記通信のための前記第1のスイッチおよび前記第1のクライアント装置の識別情報を設定する第1の設定手段と、前記提案信号を前記第2のクライアント装置へ伝送する第1の伝送手段と、前記提案信号に対する返答信号を前記第2のクライアント装置から前記第2のスイッチを介して受信したときに、前記通信のための前記第2のスイッチおよび前記第2のクライアント装置の識別番号を前記レコードに設定する第2の設定手段と、前記第1および第2の設定手段による前記レコードへの設定内容を含む、前記通信の開始の要請信号を前記第1および第2の通信制御装置に伝送する第2の伝送手段とを有し、前記第1の通信制御装置は、前記要請信号に含まれる設定内容に基づいて、前記通信の開始のために、前記第1のクライアント装置から前記第2のクライアント装置へ前記通信のためのパケットが通過するときの前記第1のスイッチの動作を定めるテーブルに、前記通信のための前記第1のスイッチの動作を設定する第3の設定手段を有し、前記第2の通信制御装置は、前記要請信号に含まれる設定内容に基づいて、前記第2のクライアント装置から前記第1のクライアント装置へ前記パケットが通過するときの前記第2のスイッチの動作を定めるテーブルに、前記通信の開始のための前記第2のスイッチの動作を設定する第4の設定手段を有することを特徴とする通信システム。

請求項2

前記第1の設定手段は、前記第1のスイッチに接続可能な第1のクライアント装置から、前記第2のスイッチに接続可能な第2のクライアント装置への通信の提案信号を前記第1のスイッチを介して受信したときに、前記第1のクライアント装置と前記第2のクライアント装置との間の通信制御テーブルのレコードに、(1)前記第1のスイッチのグローバルIPアドレス、(2)前記第1のクライアント装置のIPアドレスおよびポート番号を、(3)前記通信に使用する、前記第1のスイッチのグローバルポート番号を前記レコードに設定し、前記第2の設定手段は、前記提案信号に対する返答信号を前記第2のクライアント装置から前記第2のスイッチを介して受信したときに、(1)前記第2のスイッチのグローバルIPアドレス、(2)前記第2のクライアント装置のIPアドレスおよびポート番号、(3)前記通信に使用する、前記第2のスイッチのグローバルポート番号を前記レコードに設定することを特徴とする請求項1に記載の通信システム。

請求項3

前記第1の通信制御装置の前記第3の設定手段は、前記要請信号に含まれる設定内容に基づいて、前記通信の開始のために、前記第1のクライアント装置から前記第2のクライアント装置へ前記通信のためのパケットが通過するときの前記第1のスイッチの動作を定めるテーブルに、(1)前記第1のクライアント装置が送信元で前記第2のクライアント装置が宛先であるときに前記第1のスイッチから第2のスイッチへ前記パケットを送信させる前記第1のスイッチの動作、および、(2)前記第2のスイッチが前記送信元で前記第1のスイッチが前記宛先であるときに前記第2のクライアント装置から前記第1のクライアント装置に前記パケットを送信させる前記第1のスイッチの動作を設定し、前記第2の通信制御装置の前記第3の設定手段は、前記要請信号に含まれる設定内容に基づいて、前記通信の開始のために、前記第2のクライアント装置から前記第1のクライアント装置へ前記パケットが通過するときの前記第2のスイッチの動作を定めるテーブルに、(1)前記第2のクライアント装置が送信元で前記第1のクライアント装置が前宛先であるときに前記第2のスイッチから第1のスイッチへ前記パケットを送信させる前記第1のスイッチの動作、および、(2)前記第1のスイッチが送信元で前記第2のスイッチが宛先であるときに前記第1のクライアント装置から前記第2のクライアント装置に前記パケットを送信させる前記第2のスイッチの動作を設定することを特徴とする請求項1に記載の通信システム。

請求項4

前記通信処理装置は、前記第1の設定手段により設定する前記第1のスイッチのグローバルポート番号の生成を前記第1の通信制御装置に要請する第1の要請手段と、前記第2の設定手段により設定する前記第2のスイッチのグローバルポート番号の生成を前記第2の通信制御装置に要請する第2の要請手段とをさらに有し、前記第1の設定手段は、前記要請にしたがって前記第1の通信制御装置により生成された前記第1のスイッチのグローバルポート番号を前記レコードに設定し、前記第1の設定手段は、前記要請にしたがって前記第2の通信制御装置により生成された前記第1のスイッチのグローバルポート番号を前記レコードに設定することを特徴とする請求項2に記載の通信システム。

請求項5

前記提案信号は、前記第1のクライアント装置のIPアドレスおよび前記第1のクライアント装置が前記通信に使用するポート番号を含み、前記返答信号は、前記第2のクライアント装置のIPアドレスおよび前記第2のクライアント装置が前記通信に使用するポート番号を含むことを特徴とする請求項2に記載の通信システム。

請求項6

前記通信処理装置は、前記第1のクライアント装置のIPアドレスおよび前記第1のクライアント装置が前記通信に使用するポート番号を、前記提案信号とは別に受信し、前記第2のクライアント装置のIPアドレスおよび前記第2のクライアント装置が前記通信に使用するポート番号を、前記返答信号とは別に受信することを特徴とする請求項2に記載の通信システム。

請求項7

前記通信処理装置は、前記第1のクライアント装置からの、前記要請信号にしたがって開始された通信の終了の要請を受信したときに、この通信に関わる、前記第1および第2の設定手段による前記レコードへの設定内容を削除し、前記通信の遮断を前記第1および第2の通信制御装置に要請し、前記第1の通信制御装置は、前記通信の遮断の要請にしたがって、前記第3の設定手段による設定内容を削除し、前記第2の通信制御装置は、前記通信の遮断の要請にしたがって、前記第4の設定手段による設定内容を削除することを特徴とする請求項1に記載の通信システム。

技術分野

0001

本発明の実施形態は、通信ステムに関する。

背景技術

0002

Webアプリケーションクライアントとして使用されるブラウザ間でリアルタイムUDPデータグラム通信(トランスポート層としてUDPを用いるパケットの通信)を実現するプロトコルとして、P2P通信を実現するためのプロトコルであるWebRTCが注目されている。

0003

プライベートアドレスを有するクライアントが広域通信網を越えてパケットの通信を行なうときに、パケットは、Symmetric NATおよびファイアウォールを通過する。
プライベートアドレスを持つクライアント同士がUDPデータグラム通信を行うときは、TURN(Traversal Using Relays around NAT:Symmetric NATやファイアウォールを通過するパケットをリレーさせるためのプロトコル)サーバによるパケットのリレーが必要になる。TURNサーバによるパケットリレーにより、プライベートアドレスを持つクライアント同士が広域通信網を越えてリアルタイムUDPデータグラム通信をするときは、リアルタイム性の確保が困難になる。

先行技術

0004

特開2011−091826号公報

発明が解決しようとする課題

0005

Symmetric NATやファイアウォールを通過するUDPデータグラム通信では、STUN(Session Traversal Utilities for NAT:プライベートアドレスを持つクライアントが、NAT(ネットワークアドレス変換装置)のグローバルアドレス宛先ポートを知るためのプロトコル)によるグローバルアドレス解決のみではなく、TURNによるリレーも必要になる。

0006

TURNサーバと各クライアントの通信遅延時間が長くなる場合に、通信を行うクライアント同士の通信遅延時間が短くても、TURNサーバを経由すると、UDPデータグラム通信の遅延時間は長くなる。例えば、送信側クライアント受信側クライアント直接通信できたときの通信遅延時間が10msであったとしても、TURNサーバと送信側クライアントとの通信遅延時間、TURNサーバと受信側クライアントとの通信遅延時間がそれぞれ100msであれば、TURNサーバを経由する、送信側クライアントから受信側クライアントの通信における通信遅延時間は、上記の直接通信できたときの通信遅延時間の20倍の200msになってしまう。
また、通信の組み合わせが増加するとTURNサーバを経由する通信が増加するために、このTURNサーバが通信のボトルネックとなる。

0007

本発明が解決しようとする課題は、クライアント装置間の通信を行うときの通信遅延を低減することが可能な通信システムを提供することである。

課題を解決するための手段

0008

実施形態における通信システムは、通信処理装置、第1の通信制御装置、第1のスイッチ、第2の通信制御装置、第2のスイッチを有する通信システムであって、前記通信処理装置は、前記第1のスイッチに接続可能な第1のクライアント装置から、前記第2のスイッチに接続可能な第2のクライアント装置への通信の提案信号を前記第1のスイッチを介して受信したときに、前記第1のクライアント装置と前記第2のクライアント装置との間の通信制御テーブルレコードに、前記通信のための前記第1のスイッチおよび前記第1のクライアント装置の識別情報を設定する第1の設定手段と、前記提案信号を前記第2のクライアント装置へ伝送する第1の伝送手段と、前記提案信号に対する返答信号を前記第2のクライアント装置から前記第2のスイッチを介して受信したときに、前記通信のための前記第2のスイッチおよび前記第2のクライアント装置の識別番号を前記レコードに設定する第2の設定手段と、前記第1および第2の設定手段による前記レコードへの設定内容を含む、前記通信の開始の要請信号を前記第1および第2の通信制御装置に伝送する第2の伝送手段とを有し、前記第1の通信制御装置は、前記要請信号に含まれる設定内容に基づいて、前記通信の開始のために、前記第1のクライアント装置から前記第2のクライアント装置へ前記通信のためのパケットが通過するときの前記第1のスイッチの動作を定めるテーブルに、前記通信のための前記第1のスイッチの動作を設定する第3の設定手段を有し、前記第2の通信制御装置は、前記要請信号に含まれる設定内容に基づいて、前記第2のクライアント装置から前記第1のクライアント装置へ前記パケットが通過するときの前記第2のスイッチの動作を定めるテーブルに、前記通信の開始のための前記第2のスイッチの動作を設定する第4の設定手段を有する。

発明の効果

0009

本発明によれば、クライアント装置間の通信を行うときの通信遅延を低減することができる。

図面の簡単な説明

0010

第1の実施形態における通信システムの機能構成例を示す図。
第1の実施形態における通信システムによる処理の手順の一例を示すシーケンス図。
第1の実施形態における通信システムにおけるIPアドレスの一例を示す図。
第1の実施形態における通信システムのネットワークコントローラが管理するパケットOFC-IPアドレスマッピングテーブルの構成例を表形式で示す図。
第1の実施形態における通信システムのOFSWのポートの一例を示す図。
第1の実施形態における通信システムのネットワークコントローラが管理するOFSWポート-クライアントIPアドレスマッピングテーブルの構成例を表形式で示す図。
第1の実施形態における通信システムのネットワークコントローラが管理するOFSWポート-クライアントIPアドレスマッピングテーブルの構成例を表形式で示す図。
第1の実施形態における通信システムの第1OFSW21が管理するフローテーブルの構成例を表形式で示す図。
第1の実施形態における通信システムの、Webアプリケーション取得後の第1OFSWのフローテーブルの構成例を表形式で示す図。
第1の実施形態における通信システムの、Webアプリケーション取得後の第2OFSWのフローテーブルの構成例を表形式で示す図。
第1の実施形態における通信システムによるSDPOFFER解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図。
第1の実施形態における通信システムによるSDP OFFERの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図。
第1の実施形態における通信システムによるSDP OFFERの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図。
第1の実施形態における通信システムによるSDP ANSWERの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図。
第1の実施形態における通信システムによるSDP ANSWERの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図。
第1の実施形態における通信システムによるSDP ANSWERの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図。
第1の実施形態における通信システムによる、フローテーブルのレコードの追加について説明する図。
第1の実施形態における通信システムによる、フローテーブルのレコードの追加について説明する図。
第1の実施形態における通信システムによる、リアルタイムUDPデータグラム通信開始後のフローテーブルの構成例を表形式で説明する図。
第1の実施形態における通信システムによる、フローテーブルのレコードの追加について説明する図。
第1の実施形態における通信システムによる、フローテーブルのレコードの追加について説明する図。
第1の実施形態における通信システムによる、リアルタイムUDPデータグラム通信開始後のフローテーブルの構成例を表形式で説明する図。
第1の実施形態における通信システムによる複数のリアルタイムUDPデータグラム通信に対応するリアルタイムUDPデータグラム通信制御テーブルの構成例を表形式で説明する図。
第1の実施形態における通信システムによる複数のリアルタイムUDPデータグラム通信に対応するフローテーブルの構成例を表形式で説明する図。
第1の実施形態における通信システムによる複数のリアルタイムUDPデータグラム通信に対応するフローテーブルの構成例を表形式で説明する図。
第2の実施形態における通信システムの機能構成例を示す図。
第2の実施形態における通信システムによる処理の手順の一例を示すシーケンス図。
第2の実施形態における通信システムによるSDP ANSWERの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図。
第2の実施形態における通信システムによるSDP ANSWERの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図。
第2の実施形態における通信システムにより送信されるポート確保情報の構成例を表形式で示す図。
第2の実施形態における通信システムにより送信されるポート確保情報の構成例を表形式で示す図。
第3の実施形態における通信システムの機能構成例を示す図。
第3の実施形態における通信システムによる処理の手順の一例を示すシーケンス図。
第3の実施形態における通信システムによるSDP ANSWERの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図。
第3の実施形態における通信システムによるポート確保情報の受信に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図。
第3の実施形態における通信システムによるポート確保情報の受信に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図。
第3の実施形態における通信システムによるSDP CANDIDATEの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図
第4の実施形態における通信システムの機能構成例を示す図。
第4の実施形態における通信システムによる処理の手順の一例を示すシーケンス図。
第4の実施形態における通信システムによる、リアルタイムUDPデータグラム通信制御テーブルのレコードの削除について説明する図。
第4の実施形態における通信システムによる、フローテーブルのレコードの削除について説明する図。
第4の実施形態における通信システムによる、フローテーブルのレコードの削除について説明する図。
第4の実施形態における通信システムによる、フローテーブルのレコードの削除について説明する図。
第4の実施形態における通信システムによる、フローテーブルのレコードの削除について説明する図。
第5の実施形態における通信システムの機能構成例を示す図。

実施例

0011

以下、実施形態について図面を用いて説明する。
まず、各実施形態に関係する用語の意味について以下に説明する。
パケット:
(1)インターネットプロトコルスイートにおいて、ネットワーク層にIPを使用したものである。パケットのトランスポート層としては、TCPまたは、UDPが使用される。
(2)後述のOFSW(オープンフロースイッチ)は、リンク層プロトコルとしてEthernet(登録商標)のみ接続が可能である。他の装置のリンク層プロトコルについては、 Ethernet以外(例えば、IEEE802.11n のような無線LAN)を用いてもよい。
UDPデータグラム:トランスポート層としてUDPを使用しているパケットである。
TCPセグメント:トランスポート層としてTCPを使用しているパケットである。

0012

送信元ポート、宛先ポート:
(1)インターネットプロトコルスイートにおけるトランスポート層の送信元ポートおよび宛先ポートである。
(2)ルータ、NAT、クライアントが送受信に使用するUDPポート番号TCPポート番号である。
(3)後述するOFSWのOFSWポートとは別である。

0013

ルータ:インターネットプロトコルスイートのネットワーク層以上の情報を用いてパケットの通信制御を行う機器である。
広域通信網:グローバルIPアドレスが使用されるネットワークである。この広域通信網の内部では、ルータによりネットワークが相互接続されている。
LAN:プライベートIPアドレスが使用されるネットワークである。
Webサーバ:Webアプリケーションを提供するサーバである。

0014

クライアント:
(1)リアルタイムUDPデータグラム通信の送受信を行う端末である。
(2)Webサーバとクライアント間の通信はTCPセグメントが使用される。
ファイアウォール:あるネットワークを不正アクセスから守るための装置である。
パケットフィルタリングルールをもとに、ファイアウォールでパケットの通過制御を行うことである。

0015

SDP(Session Description Protocol):
(1)draft-nandakumar-rtcweb-sdp-07、 draft-ietf-mmusic-trickle-ice-02に記載される。
(2)リアルタイムマルチメディア通信を行うための情報の記述形式である。
(3)IPアドレス、ポート番号、メディア種別コーデックなどが含まれる。
リアルタイムUDPデータグラム通信:
(1)音声映像をリアルタイムに通信する上でSDPを使用したセッション情報交換を伴うUDPデータグラムの通信である。
(2)リアルタイムUDPデータグラム通信を実現するプロトコルとしては、WebRTC(https://tools.ietf.org/wg/rtcweb/)が該当する。
候補アドレス:リアルタイムUDPデータグラム通信で利用可能な、IPアドレス、送信元ポートまたは宛先ポートとして利用できるポート番号のことである。

0016

SDPOFFER:
(1)リアルタイムUDPデータグラム通信の発呼側からリアルタイムUDPデータグラム通信で使用するメディアを提案することである。
(2)SDP OFFERで候補アドレスを通信相手となるクライアントに対して通知する場合もある。
(3)SDPとリアルタイムUDPデータグラム通信のセッションIDを含む。

0017

SDPANSWER:
(1)SDP OFFERを受け取ったクライアントから、このSDP OFFERの送信元に対して、当該SDP OFFERで提案されたメディアが受け入れ可能かを返答することである。
(2)SDP ANSWERで通信相手となるクライアント候補アドレスを通知する場合もある。
(3)SDPとリアルタイムUDPデータグラム通信のセッションIDを含む。

0018

SDPCANDIDATE:
(1)候補アドレスを通信相手となるクライアントに対して通知することである。
(2)SDPとリアルタイムUDPデータグラム通信のセッションIDを含む。

0019

リアルタイムUDPデータグラム通信終了メッセージ
(1)リアルタイムUDPデータグラム通信を終了することを通信相手となるクライアントに対して通知することである。
(2)リアルタイムUDPデータグラム通信のセッションIDを含む。

0020

SDPOFFER・SDP ANSWER・SDP CANDIDATEは、例えばJSON形式をメッセージフォーマットとするが、これと等価な表現をするプレーンテキストやXMLなどであっても構わない。また、セッションID、SDP以外にも何らかのプロパティがJSONに存在しても良い。

0021

シグナリングチャネル
(1)WebRTCでSDPを交換するために使用されるソフトウエアである。
(2)SDP OFFER・SDP ANSWER・SDP CANDIDATEで使用するセッションIDは、SDP OFFERを発呼するクライアントが指定する。

0022

OpenFlow:
(1)SDN(Software Defined Network)を実現するプロトコルである。
(2)OFC(OpenFlowコントローラ)(後述)およびOFSWから構成される。
(2−1)OFSWに備えられた物理的なポートのうち、OFSWを制御するためのみに使用する管理ポートに接続される。
(2−2)OFCとOFSWの通信は、TCPセグメント、もしくは、UDPデータグラムで行われる。
(3)本実施形態では、OpenFlowを用いてパケットの通信制御を行う。

0023

OpenFlowコントローラ(OFC):OpenFlowでパケットを制御するためのソフトウエア、および、そのソフトウエアが動作する端末である。
OpenFlowスイッチ(OFSW):
(1)OpenFlowに対応したスイッチである。
(2)インターネットプロトコルスイートにおけるリンク層の媒体、例えばEthernetケーブルなどが接続されるOFSWポートを複数有する。
(3)フローテーブル(後述)によりパケットの処理を実施する。
OFSWポート:OFSWが備える物理的なポートである。

0024

フローテーブル:
(1)OpenFlowでパケットの通信制御をするためのルールが記述され、このフローテーブルの条件部合致するパケットに対して、このフローテーブルの操作部で定義された処理がOFSW上で実行される。
(2)OFCにより作成され、OFSWに配布される。
(3)フローテーブルの条件部に合致しないパケットがOFSWを通過する場合、このパケットはOFCに転送される。この転送されたパケットは、OFCのソフトウエアにしたがって制御される。

0025

OFSWポート-クライアントIPアドレスマッピングテーブル:OFSWポートの番号と、OFSWに接続しているクライアントのIPアドレスとの対応表であり、OFCが所持する。
使用済みポート番号:OFSWに割り振られたグローバルIPアドレスが使用している送信元ポート、あるいは、宛先ポートとして使用する番号であり、OFCが所持する。

0026

パケット中継OFC:
(1)本実施形態を実現するためのOFCとして実装されOFSWのフローテーブルを管理する。
(2)ファイアウォール用フローテーブル作成・配布機能、(パケットを使用した不要な通信を遮断する機能)、Symmetric NAT用フローテーブル作成・配布機能(Symmetric NATを実現し、使用済みポート番号に現在使用しているポート番号を追加する)を実装する。

0027

ポート確保要請受信機能(パケット中継OFCが実装):
(1)後述のネットワークコントローラから後述のポート確保要請を受け取りOFSWのグローバルIPアドレスに対応付ける送信元ポートと宛先ポートとなるポート番号を確保するための機能である。
(2)ポート番号を確保した後に、ポート確保要請をネットワークコントローラに対して送信する。

0028

リアルタイムUDPデータグラム通信開始機能:ネットワークコントローラから後述のリアルタイムUDPデータグラム通信開始要請を受け取り、リアルタイムUDPデータグラム通信を開始するためのフローテーブルをOFSWに配布するための機能である。

0029

リアルタイムUDPデータグラム通信遮断機能:ネットワークコントローラから後述のリアルタイムUDPデータグラム通信遮断要請を受け取り、リアルタイムUDPデータグラム通信を遮断するために、OFSWからフローテーブルを削除するための機能である。

0030

ネットワークコントローラ:
(1)例えば、パケット中継OFCを制御するサーバ装置が実現する。以下の第1ないし第4の実施形態ではネットワークコントローラとサーバ装置は同義である。
(2)ネットワークコントローラとパケット中継OFCは、TCPセグメント、もしくは、UDPデータグラムを用いて通信をする。
(3)ネットワークコントローラは、クライアントのSDPを何らかの手段で取り込む。WebRTCならシグナリングチャネル上にネットワークコントローラを実装する。

0031

SDPOFFER解析機能(ネットワークコントローラが実装):
(1)SDP OFFERを受信したときにSDP OFFERに含まれるSDPを解析し、後述のリアルタイムUDPデータグラム通信制御テーブルに対して、新たに開始するリアルタイムUDPデータグラム通信のレコードを追加する。
(2)後述するポート確保要請をパケット中継OFCに対して送信する。

0032

SDPANSWER解析機能(ネットワークコントローラが実装):
(1)SDP ANSWERを受信したときに、このSDP ANSWERに含まれるSDPを解析し、後述のリアルタイムUDPデータグラム通信制御テーブルの該当レコードを変更する。変更した結果、リアルタイムUDPデータグラム通信制御テーブルの該当レコードの列がすべて埋まった場合に、リアルタイムUDPデータグラム通信開始要請機能を呼び出す
(2)後述のポート確保要請をパケット中継OFCに対して送信する。

0033

SDPCANDIDATE解析機能(ネットワークコントローラが実装):SDP CNADIDATEを受信したときに、このSDP CANDIDATEに含まれるSDPを解析し、後述のリアルタイムUDPデータグラム通信制御テーブルの該当レコードを変更する。変更した結果、リアルタイムUDPデータグラム通信制御テーブルの該当レコードの列がすべて埋まった場合に、リアルタイムUDPデータグラム通信開始要請機能を呼び出す。

0034

ポート確保情報受信機能(ネットワークコントローラが実装):パケット中継OFCで確保された送信元ポート・宛先ポートとして使用するポート番号を受け取り、後述のリアルタイムUDPデータグラム通信制御テーブルの該当レコードを変更する。変更した結果、リアルタイムUDPデータグラム通信制御テーブルの該当レコードの列がすべて埋まった場合に、リアルタイムUDPデータグラム通信開始要請機能を呼び出す。

0035

ネットワークコントローラは、以下のリアルタイムUDPデータグラム通信開始要請機能、リアルタイムUDPデータグラム通信遮断要請機能、リアルタイムUDPデータグラム通信終了検知機能を実装できる。

0036

リアルタイムUDPデータグラム通信開始要請機能:パケット中継OFCに対してリアルタイムUDPデータグラム通信の開始を指示する。
リアルタイムUDPデータグラム通信遮断要請機能:パケット中継OFCに対してリアルタイムUDPデータグラム通信の遮断を指示する。

0037

リアルタイムUDPデータグラム通信終了検知機能:
(1)ネットワークコントローラがリアルタイムUDPデータグラム通信終了メッセージを受信することで、リアルタイムUDPデータグラム通信の終了を検知する。
(2)リアルタイムUDPデータグラム通信の終了を検知するとリアルタイムUDPデータグラム通信遮断要請機能を呼び出す。
(3)後述のリアルタイムUDPデータグラム通信制御テーブルから終了する通信に該当するレコードを削除する。

0038

種アドレスやポートの定義は以下の通りである。
OFFERIPアドレス:SDPOFFERを発呼したクライアントのローカルIPアドレス
OFFER ポート:SDP OFFERを発呼したクライアントがリアルタイムUDPデータグラム通信で使用する送信元ポート・宛先ポート
ANSWER IP アドレス:SDP ANSWERを送信したクライアントのローカルIPアドレス
ANSWER ポート:SDP ANSWERを送信したクライアントがリアルタイムUDPデータグラム通信で使用する送信元ポート・宛先ポート
OFFERグローバルIP アドレス:SDP OFFERを発呼したクライアントが所属するOFSWのグローバルIPアドレス
OFFERグローバルポート:SDP OFFERを発呼したクライアントがリアルタイムUDPデータグラム通信で使用するOFSWの送信元ポート・宛先ポート
ANSWER IP アドレス:SDP ANSWERを送信したクライアントが所属するOFSWのグローバルIPアドレス
ANSWER グローバルポート:SDP ANSWERを出力したクライアントがリアルタイムUDPデータグラム通信で使用するOFSWの送信元ポート・宛先ポート
次に、リアルタイムUDPデータグラム通信関連の各種定義について説明する。
リアルタイムUDPデータグラム通信制御テーブル:
OFSWでリアルタイムデータグラム通信制御のフローテーブルを作成するためにネットワークコントローラからパケット中継OFCに転送される情報であり、ネットワークコントローラが保持する。

0039

パケット中継OFC-IPアドレスマッピングテーブル:
(1)パケット中継OFCとパケット中継OFCが接続するOFSWに割り振られたグローバルIPアドレス、および、OFSWに接続するクライアントのローカルIPアドレスが所属するネットワークアドレスの対応表。
(2)ネットワークコントローラに予め入力しておく必要がある。

0040

リアルタイムUDPデータグラム通信開始要請:
(1)ネットワークコントローラのリアルタイムUDPデータグラム通信開始要請機能により、ネットワークコントローラからパケット中継OFCに対して送信される。
(2)送信されるデータは、リアルタイムUDPデータグラム通信制御テーブルのうち、リアルタイムUDPデータグラム通信を開始する該当の1レコードである。

0041

リアルタイムUDPデータグラム通信遮断要請:
(1)ネットワークコントローラのリアルタイムUDPデータグラム通信遮断要請機能により、ネットワークコントローラからパケット中継OFCに対して送信される。
(2)送信されるデータは、リアルタイムUDPデータグラム通信制御テーブルのうち、リアルタイムUDPデータグラム通信を遮断する該当の1レコードである。

0042

リアルタイムUDPデータグラム通信開始要請、リアルタイムUDPデータグラム通信遮断要請は、セッションID、OFFERIPアドレス、OFFERポート、ANSWER IP アドレス、ANSWER ポート、OFFERグローバルIP アドレス、OFFERグローバルポート、ANSWER IP アドレス、ANSWER グローバルポートを含む。

0043

ポート確保要請:
(1)OFSWに割り振られたグローバルIPアドレスで使用する送信元ポート・宛先ポートについてポートの確保要請を通知することである。
(2)ネットワークコントローラからパケット中継OFCに送信され、セッションIDを含む。

0044

ポート確保情報:
(1)OFSWに割り振られたグローバルIPアドレスであらたに使用する送信元ポート・宛先ポートを他装置に対して通知することである。
(2)パケット中継OFCからネットワークコントローラに送信されセッションID、グローバルIPアドレス、対象ポート番号を含む。

0045

(第1の実施形態)
次に、第1の実施形態について説明する。図1は、第1の実施形態における通信システムの機能構成例を示す図である。
図1に示すように、第1の実施形態における通信システムは、Webサーバ10、第1OFSW(第1のスイッチ)21、第2OFSW(第2のスイッチ)22、ルータ30、第1パケット中継OFC(第1の通信制御装置)41、第2パケット中継OFC(第2の通信制御装置)42、第1クライアント51、第2クライアント52、第3クライアント53、第4クライアント54を含む。

0046

Webサーバ10は、シグナリングチャネル11を有する。シグナリングチャネル11は、ネットワークコントローラ(通信処理装置)12を有する。
Webサーバ10は、広域通信網および第1OFSW21を介して、第1パケット中継OFC41、第1クライアント51、第2クライアント52と通信可能に接続される。

0047

また、Webサーバ10は、広域通信網およびルータ30を介して第2パケット中継OFC42と通信可能に接続される。また、Webサーバ10は、広域通信網および第2OFSW22を介して、第3クライアント53、第4クライアント54と通信可能に接続される。
第2OFSW22は、第2パケット中継OFC42と通信可能に接続される。

0048

ネットワークコントローラ12は、SDPOFFER解析機能、SDP ANSWER 解析機能、リアルタイムUDPデータグラム通信開始要請機能、リアルタイムUDPデータグラム通信制御テーブル、パケット中継OFC-IPアドレスマッピングテーブルを有する。

0049

第1パケット中継OFC41および第2パケット中継OFC42は、リアルタイムUDPデータグラム通信開始機能、ファイアウォール用フローテーブル作成・配布機能、Symmetric NAT用フローテーブル作成・配布機能、OFSWポート-クライアントIPアドレスマッピングテーブルを有し、使用済みポート番号を管理する。

0050

第1パケット中継OFC41および第2パケット中継OFC42は、第1クライアント51から第3クライアント53へ向けて行われるリアルタイムUDPデータグラム通信をTURNサーバのような外部サーバを経由することなく通信するためのフローテーブルを第1OFSW21と第2OFSW22に作成する。

0051

上記のフローテーブルの作成を実施するために、第1クライアント51と第3クライアント53とのリアルタイムUDPデータグラム通信で交換されるSDPを解析して候補アドレスを収集する機能が、シグナリングチャネル11上へ実装されたネットワークコントローラ12で実現される。

0052

また、シグナリングチャネル11は、収集された候補アドレスからリアルタイムUDPデータグラム通信制御テーブルを作成して、このテーブルをもとにパケット中継OFCに対してフローテーブル作成の指示を出す。

0053

第1OFSW21は、第1クライアント51から送信されてきたパケットを広域通信網内で第2OFSWへ送信されるように、フローテーブルでパケットのIPヘッダUDPヘッダ書き換えて、第2OFSW22に向けてパケットを送信する。

0054

第2OFSW22は、第1OFSW21から送信されてきたパケットを第3クライアント53で受信できるように、フローテーブルでパケットのIPヘッダとUDPヘッダを書き換えて、第3クライアント53に向けてパケットを送信する。

0055

図2は、第1の実施形態における通信システムによる処理の手順の一例を示すシーケンス図である。
ネットワークコントローラ12は、SDPOFFER、SDP ANSWERを解析して、SDPから候補アドレスを収集する。ネットワークコントローラ12は、収集した候補アドレスから、リアルタイムUDPデータグラム通信制御テーブルのレコードの作成や変更を実施する。

0056

ネットワークコントローラ12は、パケット中継OFCに対して、レコードのすべての列が埋まったリアルタイムUDPデータグラム通信制御テーブルのレコードをもとに、リアルタイムUDPデータグラム通信開始要請を送信する。リアルタイムUDPデータグラム通信開始要請を受け取ったパケット中継OFCは、OFSWに対してリアルタイムUDPデータグラム通信ができるようにフローテーブルを作成する。

0057

図1に示した太線は、ネットワークコントローラ12と第1パケット中継OFC41との間の通信経路である。
図1に示した細線は、クライアント間やWebサーバ10との間の通信経路である。
図1に示した点線は、各パケット中継OFC41、42と各OFSW21、22との間の通信経路である。
ただし、これらの線は、あくまで装置(あるいは、装置の機能)間のインターネットプロトコルスイートにおけるネットワーク層の通信を表す。したがって、これらの線で表された通信が、インターネットプロトコルスイートのリンク層において、同一の物理媒体を使用して行われる場合もある。

0058

図1には、ネットワークコントローラ12と第1OFSW21との間の通信経路として、上記のように太線の通信経路と細線の通信経路があるがこれらの通信経路として、同じ物理ケーブルを使用してよい
また、図1には、第1OFSW21と第1パケット中継OFC41との間の通信経路として、上記のように太線の通信経路と点線の通信経路があるが、これらの通信経路に同じ物理ケーブルを使用することはできない。これは、第1OFSW21の管理ポートとクライアントが接続するOFSWポートとは物理的に異なるポートであるためである。

0059

第1の実施形態では、候補アドレスをSDPOFFERやSDP ANSWERに含むリアルタイムUDPデータグラム通信(WebRTC)を例として説明する。
次に、第1の実施形態において実現したいリアルタイムUDPデータグラム通信について説明する。
第1の実施形態において、第1クライアント51から第3クライアント53へのリアルタイムUDPデータグラム通信は、Webサーバ10のような何らかのサーバを経由することなく行われる。
ただし、SDPの交換については、Webサーバ10上のシグナリングチャネル11を経由して通信がなされる。

0060

ネットワークコントローラ12と第1パケット中継OFC41、ネットワークコントローラ12と第2パケット中継OFC42、第1パケット中継OFC41と第1OFSW21、および、第2パケット中継OFC42と第2OFSW22のそれぞれの通信は、TCPセグメントでなされる。

0061

次に、第1の実施形態における、ネットワークコントローラ12とパケット中継OFCの通信について説明する。
ネットワークコントローラ12からパケット中継OFCに対して通信が可能であれば、図1に示すように、パケット中継OFCとネットワークコントローラ12の通信は、OFSW(図1に示した例では第1OFSW21)やルータ30を経由していてもよい。

0062

次に、第1の実施形態における、ネットワークコントローラ12とパケット中継OFCの通信について説明する。
Webサーバ10と広域通信網との物理的な接続、および、第1OFSW21と広域通信網との物理的な接続では、ネットワークコントローラ12と第1パケット中継OFC41との通信経路、および、クライアントとクライアント(または、Webサーバ)の通信経路で、インターネットプロトコルスイートのリンク層は、同一のケーブルを使用しても良い。

0063

次に、第1の実施形態における、パケット中継OFCとOFSWの通信について説明する。第1パケット中継OFC41と第1OFSW21との物理的な接続では、第1OFSW21と第1パケット中継OFC41の通信経路、および、クライアントとクライアント(または、Webサーバ)の通信経路で、インターネットプロトコルスイートのリンク層は、異なるケーブルを用いる。

0064

次に、第1の実施形態におけるリアルタイムUDPデータグラム通信について説明する。ここでは、第1クライアント51(192.168.0.1: 52345(IPアドレス:ポート番号))から第3クライアント53(192.168.1.1: 1111)へリアルタイムUDPデータグラム通信をする。

0065

図3は、第1の実施形態における通信システムにおけるIPアドレスの一例を示す図である。
図3に示した例では、Webサーバ10のIPアドレスは33.33.0.1であり、第1OFSW21におけるWebサーバ10側のIPアドレスは33.33.0.2であり、第2OFSW22におけるWebサーバ10側のIPアドレスは33.33.0.3であり、ルータ30におけるWebサーバ10側のIPアドレスは33.33.0.5である。

0066

また、第1OFSW21におけるクライアント側のIPアドレスは192.168.0.254であり、第2OFSW22におけるクライアント側のIPアドレスは192.168.1.254である。
また、第1OFSW21と第1パケット中継OFC41との間の通信経路のIPアドレスは172.17.0.254であり、第2OFSW22とルータ30との間の通信経路のIPアドレスは172.17.1.254である。

0067

また、第1クライアント51のIPアドレスは、192.168.0.1であり、第2クライアント52のIPアドレスは、192.168.0.2であり、第3クライアント53のIPアドレスは、192.168.1.1であり、第4クライアント54のIPアドレスは、192.168.1.2である。

0068

次に、各装置の初期データについて説明する。
図4は、第1の実施形態における通信システムのネットワークコントローラが管理するパケットOFC-IPアドレスマッピングテーブルの構成例を表形式で示す図である。
図4に示すように、ネットワークコントローラは、パケット中継OFC-IPアドレスマッピングテーブルを管理する。このテーブルは、各パケット中継OFCのローカルネットワークと、通信相手の各OFSWのIPアドレスを管理する。

0069

次に、OFSWのポートについて説明する。図5は、第1の実施形態における通信システムのOFSWのポートの一例を示す図である。
図5に示した例では、第1OFSW21における広域通信網側のOFSWポートの番号は「1」であり、第1パケット中継OFC41側のOFSWポートの番号は「2」であり、第1クライアント51側のOFSWポートの番号は「3」であり、第2クライアント52側のOFSWポートの番号は「4」である。

0070

また、第2OFSW22における広域通信網側のOFSWポートの番号は「1」であり、第3クライアント53側のOFSWポートの番号は「2」であり、第4クライアント54側のOFSWポートの番号は「3」である。
また、各パケット中継OFCと各OFSWの接続は、OFSWにおけるOFSWポートと異なる管理ポートを用いるため、ここでは番号を記述しない。

0071

図6および図7は、第1の実施形態における通信システムのネットワークコントローラが管理するOFSWポート-クライアントIPアドレスマッピングテーブルの構成例を表形式で示す図である。
図6に示すように、第1パケット中継OFC41は、OFSWポート-クライアントIPアドレスマッピングテーブルを管理する。
このテーブルは、第1パケット中継OFC41の、広域通信網側以外の各OFSWポートの番号と、このOFSWポートに接続される各装置のIPアドレスを管理する。

0072

図7に示すように、第2パケット中継OFC42は、OFSWポート-クライアントIPアドレスマッピングテーブルを管理する。
このテーブルは、第2パケット中継OFC42の、広域通信網側以外の各OFSWポートの番号と、このOFSWポートに接続される各装置のIPアドレスを管理する。

0073

次に、第1OFSW21の初期データについて説明する。
図8は、第1の実施形態における通信システムの第1OFSW21が管理するフローテーブルの構成例を表形式で示す図である。
あらかじめ、第1パケット中継OFC41は、ファイアウォール用フローテーブル作成・配布機能を実行しておき、Webサーバ10以外と通信をできないように、フローテーブルを第1OFSW21の図示しないメモリに格納しておく。
図8に示すように、第1OFSW21用のフローテーブルでは、第1パケット中継OFC41とWebサーバ(ネットワークコントローラ12)の通信を許可する。

0074

また、ネットワークコントローラ12以外の外部から第1パケット中継OFC41に対する通信は拒否する(この拒否する通信については、適用優先度最低にするため常にフローテーブルの最後尾に存在)。
また、第2OFSW22は、フローテーブルの初期データは特に管理しない。

0075

次に、Webサーバ10へのアクセスについて説明する。
アクセスの例としては、(1)第1クライアント51(192.168.0.1:13138)からWebサーバ10(33.33.0.1:80)へのアクセス、(2)第3クライアント53(192.168.1.1:13555)からWebサーバ10(33.33.0.1:80)が挙げられる。

0076

次に、Webアプリケーションの取得について説明する。
第1クライアント51はWebアプリケーションを取得するためにWebサーバ10へHTTPGETを発行する。

0077

第1OFSW21には、第1クライアント51からWebサーバ10にアクセスするためのフローテーブルがまだ存在しないので、HTTPGETが含まれたパケットは、第1パケット中継OFC41に転送される。

0078

第1パケット中継OFC41は、HTTPGETが含まれたパケットを受け取るとSymmetric NAT用フローテーブル作成・配布機能を実行し、また、Webサーバ10にアクセスするためのフローテーブルを作成して、第1OFSW21に対して配布する。

0079

第1パケット中継OFC41は、HTTPGETが含まれたパケットをWebサーバ10に対して送信する。
Webサーバ10は、受け取ったHTTP GETに応じ、HTML・Javascript・CSSなどを第1クライアント51に対して送信する。
第3クライアント53によっても同様にWebアプリケーション取得が行なえる。

0080

次に、Webアプリケーション取得後の第1OFSW21のデータについて説明する。
図9は、第1の実施形態における通信システムの、Webアプリケーション取得後の第1OFSWのフローテーブルの構成例を表形式で示す図である。
図9に示したフローテーブルは、図8に示した初期データに対して、第1クライアント51とWebサーバ10との通信を許可するための追加、および第1パケット中継OFC41とWebサーバ10(ネットワークコントローラ12)の通信を許可するための追加がなされている。

0081

次に、Webアプリケーション取得後の第2OFSW22が管理するデータについて説明する。
図10は、第1の実施形態における通信システムの、Webアプリケーション取得後の第2OFSWのフローテーブルの構成例を表形式で示す図である。
図10に示したフローテーブルは、第3クライアント53とWebサーバ10との通信を許可するための設定(初期データが無い状態からの追加)がなされている。

0082

次に、Webアプリケーション取得後の第1パケット中継OFC41のデータについて説明する。
Webアプリケーション取得後の第1パケット中継OFC41は、使用済みポート番号(例えば30841と43256など)を管理する。

0083

次に、Webアプリケーション取得後の第2パケット中継OFC41のデータについて説明する。
Webアプリケーション取得後の第2パケット中継OFC42は、使用済みポート番号(例えば46927など)を管理する。

0084

次に、SDPOFFERの送信について説明する。
第1クライアント51は第3クライアント53との間でリアルタイムUDPデータグラム通信を開始するために、シグナリングチャネル11を通じて第3クライアント53へSDP OFFERを送信する。

0085

次に、SDPOFFERの内容について説明する。
SDPの記述例は以下の通りである。ここではa=candidate以外の属性の記述は省略する。
{
“sessionId” :” 1jiifa9783” ,
“SDP”:”…\n\ra=candidate:1 1UDP1854697382 192.168.0.1 52345 typ host\n\r…”,

}
「\n\r」は、改行文字(属性の区切りを表す)である。

0086

次に、第1クライアント51から送信されたSDPOFFERの解析について説明する。図11図12図13は、第1の実施形態における通信システムによるSDP OFFERの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図である。
SDP OFFERを受け取ったネットワークコントローラ12は、SDP OFFER解析機能を実行して、SDP OFFERに含まれるセッションIDからリアルタイムUDPデータグラム通信制御テーブルのレコードを作成する。このレコードは、セッションID、OFFER IPアドレス、OFFERポート、ANSWER IP アドレス、ANSWER ポート、OFFERグローバルIP アドレス、OFFERグローバルポート、ANSWER IP アドレス、ANSWER グローバルポートを含み、図11に示すように、このレコードのセッションIDの値に、SDP OFFERに含まれるセッションIDが設定される。

0087

ネットワークコントローラ12は、SDPOFFERを含んだパケットの送信元IPアドレス(ここでは33.33.0.2)をレコードのOFFERグローバルIPアドレスの値に設定する(第1の設定手段による設定)。

0088

第1の実施形態では、SDPOFFERに第1クライアント51が使用する候補アドレスが含まれる。図12に示すように、ネットワークコントローラ12は、レコードのOFFER IPアドレス、OFFERポートの値に、候補アドレスで示されるアドレスとポート番号(ここでは192.168.0.1と52345)を設定する(第1の設定手段による設定)。

0089

ネットワークコントローラ12は、候補アドレスを、SDPOFFERに含まれる”a=candidate”属性から取得する。候補アドレスとして有効なアドレスは、ネットワークコントローラ12が所持するパケット中継OFC-IPアドレスマッピングテーブルに所属するもののみである。この場合では、候補アドレスにおけるIPアドレス「192.168.0.1」は、パケット中継OFC-IPアドレスマッピングテーブルにおける、第1パケット中継OFC41のローカルネットワークアドレスに含まれる。

0090

次に、ネットワークコントローラ12は、0〜65535の中から任意の数値を一つ選び(こここでは3456)、図13に示すように、リアルタイムUDPデータグラム通信制御テーブルのOFFERグローバルポートの値に書き込む(第1の設定手段による設定)。

0091

ネットワークコントローラ12は、SDPOFFERを第3クライアント53へ転送する(第1の伝送手段による伝送)。
第3クライアント53は、第1クライアント51からネットワークコントローラ12を介して受け取ったSDP OFFERから第1クライアント51向けのSDP ANSWERを生成してネットワークコントローラ12へ送信する。

0092

SDPANSWERの記述例は以下の通りである。ここでは、SDPはa=candidate以外の属性の記述は省略する。
{
“sessionId” :” 1jiifa9783” ,
“SDP”:”…\n\ra=candidate:1 1UDP1854697382 192.168.1.1 1111 typ host\n\r…”,

}
次に、SDP ANSWERの解析について説明する。図14図15図16は、第1の実施形態における通信システムによるSDP ANSWERの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図である。
SDP ANSWERを受け取ったネットワークコントローラ12は、SDP ANSWER解析機能を実行して、SDP ANSWERに含まれるセッションIDと同じセッションIDを持つリアルタイムUDPデータグラム通信制御テーブルのレコードを検索する。

0093

図14に示すように、ネットワークコントローラ12は、SDPANSWERを含んだパケットの送信元IP(ここでは33.3.0.3)を、そのレコードのANSWERグローバルIPアドレスに設定する(第2の設定手段による設定)。

0094

第1の実施形態では、SDPANSWERに第3クライアント53が使用する候補アドレスが含まれる。図15に示すように、ネットワークコントローラ12は、レコードのANSWER IPアドレス、ANSWERポートの値に、候補アドレスで示されるアドレスとポート番号(ここでは192.168.1.1と1111)を設定する(第2の設定手段による設定)。

0095

ネットワークコントローラ12は、候補アドレスを、SDPに含まれる”a=candidate”属性から取得する。候補アドレスとして有効なアドレスは、ネットワークコントローラ12が所持するパケット中継OFC-IPアドレスマッピングテーブル」に所属するもののみである。この場合では、候補アドレスにおけるIPアドレス「192.168.1.1」は、第2パケット中継OFC42のローカルネットワークアドレスに含まれる。

0096

ネットワークコントローラ12は、0〜65535の中から任意の数値を一つ選び(ここでは2456)、図16に示すように、リアルタイムUDPデータグラム通信制御テーブルのANSWERグローバルポートに書き込む(第2の設定手段による設定)。
ネットワークコントローラ12は、SDPANSWERを第1クライアント51へ転送する(第2の伝送手段による伝送)。

0097

次に、リアルタイムUDPデータグラム通信開始要請について説明する。
ネットワークコントローラ12は、前述のSDPANSWER解析機能により、リアルタイムUDPデータグラム通信制御テーブルの1つのレコードの列がすべて埋まると、リアルタイムUDPデータグラム通信開始要請機能を呼び出す。

0098

リアルタイムUDPデータグラム通信開始要請機能は、パケット中継OFCにリアルタイムUDPデータグラム通信開始要請を送信する。
第1の実施形態では、リアルタイムUDPデータグラム通信開始要請は、第1パケット中継OFC41、および、第2パケット中継OFC42に対して送信される。
この送信される内容は、リアルタイムUDPデータグラム通信制御テーブルの該当レコードからデータをコピーしたものである。

0099

次に、リアルタイムUDPデータグラム通信開始について説明する。
第1パケット中継OFC41は、ネットワークコントローラ12からリアルタイムUDPデータグラム通信開始要請を受信すると、リアルタイムUDPデータグラム通信開始機能を呼び出す。

0100

図17および図18は、第1の実施形態における通信システムによる、フローテーブルのレコードの追加について説明する図である。
第1パケット中継OFC41が接続している第1OFSW21のグローバルIPアドレスが、リアルタイムUDPデータグラム通信開始要請のOFFERグローバルIPアドレスと同一である場合、第1パケット中継OFC41は、リアルタイムUDPデータグラム通信開始要請に含まれるデータを利用して、図17に示すようなフローテーブルのレコードを追加する。

0101

ここで追加する第1のレコードは、条件部のプロトコル、送信元IP、送信元ポート、宛先IP、宛先ポート、入力・OFSWポートに、UDP、OFFERIPアドレス、OFFERポート、ANSWER IPアドレス、ANSWERポート、「※1」を1対1で対応させ、かつ、操作部の書き換え・送信元IP、書き換え・送信元ポート、書き換え・宛先IP、書き換え・宛先ポート、出力・OFSWポート)に、OFFERグローバルIPアドレス、OFFERグローバルポート、ANSWERグローバルIPアドレス、ANSWERグローバルポート、「※2」を1対1で対応させたものである。

0102

また、追加する第2のレコードは、条件部のプロトコル、送信元IP、送信元ポート、宛先IP、宛先ポート、入力・OFSWポートに、UDP、ANSWERグローバルIPアドレス、ANSWERグローバルポート、OFFERグローバルIPアドレス、OFFERグローバルポート、「※2」を1対で対応させ、かつ、操作部の書き換え・送信元IP、書き換え・送信元ポート、書き換え・宛先IP、書き換え・宛先ポート、出力・OFSWポート)に、ANSWERIPアドレス、ANSWERポート、OFFER IPアドレス、OFFERポート、「※1」を1対1で対応させたものである。

0103

図17に示したレコードの「※1」は、OFFERIPアドレスとOFSWポート-クライアントIPアドレスマッピングテーブルのクライアントIPアドレスとが合致するレコードのOFSWポートの番号である。
また、図17に示したレコードの「※2」は、OFSWポートのうちOFFERグローバルIPアドレスがIPアドレスとして割り振られているポートの番号である。

0104

次に、第1パケット中継OFC41がUDPデータグラム通信開始要請を受け取り、具体的な値が入ったフローテーブルのレコードを作成したときの例を説明する。
第1パケット中継OFC41が接続している第1OFSW21のグローバルIPアドレスは、UDPデータグラム通信開始要請のOFFERグローバルIPアドレスと同一であるので、第1パケット中継OFC41は、図18に示すようなフローテーブルのレコードを第1OFSW41のフローテーブルへ追加する。

0105

ここでは、1つ目に追加されるレコードの条件部において、第1クライアント51が送信元に、第3クライアント53が宛先に設定されたときに、操作部において、第1OFSW21が書き換え・送信元に、第2OFSW22が書き換え・宛先に設定される。

0106

また、2つ目に追加されるレコードの条件部において、第2OFSW22が送信元に、第1OFSW21が宛先に設定されたときに、操作部において、第3クライアント53が書き換え・送信元に、第1クライアント51が書き換え・宛先に設定される(第3の設定手段による設定)。

0107

図19は、第1の実施形態における通信システムによる、リアルタイムUDPデータグラム通信開始後のフローテーブルの構成例を表形式で説明する図である。
図19では、第1パケット中継OFC41がリアルタイムUDPデータグラム通信開始機能を実行後の第1OFSW21のフローテーブルを示す。図9に示したテーブルと比較して、図19に示したテーブルでは、プロトコルがUDPである2行分のレコードが追加されている。

0108

第2パケット中継OFC42は、ネットワークコントローラ12からリアルタイムUDPデータグラム通信開始要請を受信すると、第1パケット中継OFC41と同様にリアルタイムUDPデータグラム通信開始機能を実行する。

0109

図20および図21は、第1の実施形態における通信システムによる、フローテーブルのレコードの追加について説明する図である。
第2パケット中継OFC42が接続している第2OFSW22のグローバルIPアドレスが、リアルタイムUDPデータグラム通信開始要請のANSWERグローバルIPアドレスと同一の場合、第2パケット中継OFC42は、リアルタイムUDPデータグラム通信開始要請に含まれるデータを利用して、図20に示すようなフローテーブルのレコードを追加する。

0110

ここで追加する第1のレコードは、条件部のプロトコル、送信元IP、送信元ポート、宛先IP、宛先ポート、入力・OFSWポートに、UDP、ANSWERIPアドレス、ANSWERポート、OFFER IPアドレス、OFFERポート、「※1」を1対1で対応させ、かつ、操作部の書き換え・送信元IP、書き換え・送信元ポート、書き換え・宛先IP、書き換え・宛先ポート、出力・OFSWポート)に、ANSWERグローバルIPアドレス、ANSWERグローバルポート、OFFERグローバルIPアドレス、OFFERグローバルポート、「※2」を1対1で対応させたものである。

0111

また、追加する第2のレコードは、条件部のプロトコル、送信元IP、送信元ポート、宛先IP、宛先ポート、入力・OFSWポートに、UDP、OFFERグローバルIPアドレス、OFFERグローバルポート、ANSWERグローバルIPアドレス、ANSWERグローバルポート、「※2」を1対で対応させ、かつ、操作部の書き換え・送信元IP、書き換え・送信元ポート、書き換え・宛先IP、書き換え・宛先ポート、出力・OFSWポート)に、OFFERIPアドレス、OFFERポート、ANSWER IPアドレス、ANSWERポート、「※1」を1対1で対応させたものである。

0112

図20に示した「※1」は、ANSWERIPアドレスとOFSWポート-クライアントIPアドレスマッピングテーブルのクライアントIPアドレスとが合致するレコードのOFSWポートの番号である。
図20に示した「※2」は、OFSWポートのうちANSWERグローバルIPアドレスがIPアドレスとして割り振られているポートの番号である。

0113

次に、第2パケット中継OFC42がUDPデータグラム通信開始要請を受け取り、具体的な値が入ったフローテーブルのレコードを作成したときの例を説明する。
第2パケット中継OFC42が接続している第2OFSW22のグローバルIPアドレスは、UDPデータグラム通信開始要請のANSWERグローバルIPアドレスと同一であるので、第2パケット中継OFC42は、図21に示すようなフローテーブルのレコードを第2OFSW22のフローテーブルへ追加する。

0114

ここでは、1つ目に追加されるレコードの条件部において、第3クライアント53が送信元に、第1クライアント51が宛先に設定されたときに、操作部において、第2OFSW22が書き換え・送信元に、第1OFSW21が書き換え・宛先に設定される。

0115

また、2つ目に追加されるレコードの条件部において、第1OFSW21が送信元に、第2OFSW22が宛先に設定されたときに、操作部において、第1クライアント51が書き換え・送信元に、第3クライアント53が書き換え・宛先に設定される(第4の設定手段による設定)。

0116

図22は、第1の実施形態における通信システムによる、リアルタイムUDPデータグラム通信開始後のフローテーブルの構成例を表形式で説明する図である
図22では、第2パケット中継OFC42がリアルタイムUDPデータグラム通信開始機能を実行後の第2OFSW22のフローテーブルを示す。図10に示したテーブルと比較して、図22に示したテーブルでは、プロトコルがUDPである2行分のレコードが追加されている。

0117

以上の処理を実行することで、第1クライアント51 (192.168.0.1: 52345)から第3クライアント53(192.168.1.1: 1111)へWebRTCによるリアルタイムUDPデータグラム通信を行なうことが可能になった。

0118

次に、複数のリアルタイムUDPデータグラム通信について説明する。
ここでは、前述のリアルタイムUDPデータグラム通信がなされている状態で、第4クライアント54 (192.168.1.2: 38976)から第2クライアント52(192.168.0.2:21597)へリアルタイムUDPデータグラム通信を新たに実行することについて説明する。

0119

第4クライアント54 (192.168.1.2: 38976)から第2クライアント52(192.168.0.2:21597)へのリアルタイムUDPデータグラム通信は、第1クライアント51 (192.168.0.1: 52345)から第3クライアント53(192.168.1.1: 1111)へのリアルタイムUDPデータグラム通信と同様のステップで各装置が動作する。

0120

パケット中継OFCが生成するOFSWのグローバルIPアドレスとづける送信元ポート・宛先ポートとして使用するポート番号は、以下の通りになる。
第1OFSW21のグローバルIPアドレスと紐づける送信元ポート・宛先ポートとして使用するポート番号:59024
第2OFSW22のグローバルIPアドレスと紐づける送信元ポート・宛先ポートとして使用するポート番号:19824
SDPOFFERおよびSDP ANSWERに含まれるセッションIDは、c98uieopfとする。

0121

図23は、第1の実施形態における通信システムによる複数のリアルタイムUDPデータグラム通信に対応するリアルタイムUDPデータグラム通信制御テーブルの構成例を表形式で説明する図である。
図23に示した例では、第4クライアント54から第2クライアント52へのリアルタイムUDPデータグラム通信のために、図16に示したリアルタイムUDPデータグラム通信制御テーブルに対して、セッションID「c98uieopf」に関わる行が追加される。

0122

図24図25は、第1の実施形態における通信システムによる複数のリアルタイムUDPデータグラム通信に対応するフローテーブルの構成例を表形式で説明する図である。
図24に示した例では、図19に示した、第1OFSW21が所持するフローテーブルに対して、第4クライアント54から第2クライアント52へのリアルタイムUDPデータグラム通信のための行(下から2行目、3行目)が追加される。

0123

また、図25に示した例では、図22に示した、第2OFSW22が所持するフローテーブルに対して、第4クライアント54から第2クライアント52へのリアルタイムUDPデータグラム通信のための行(下から2行分)が追加される。

0124

以上のように、第1の実施形態では、リアルタイムUDPデータグラム通信において、TURNサーバを経由することがないので、クライアント装置間の通信を行うときの通信遅延を低減できる。つまりUDPデータグラム通信のリアルタイム性を向上させることができる。

0125

上記のように、リアルタイムUDPデータグラム通信にTURNサーバを使用しないので、例えば、第1クライアント51と第3クライアント53が直接通信できたときの通信遅延時間が10msであった場合は、リアルタイムUDPデータグラム通信の通信遅延時間が同じ10msとなる。
また、クライアントによりSDPを運ぶパケットを暗号化する場合に、パケットを復号化する仕組みをネットワークコントローラ以外の中継装置に設ける必要がなくなる。
また、クライアントの組が複数であってもリアルタイムUDPデータグラム通信が可能である。

0126

(第2の実施形態)
次に、第2の実施形態について説明する。この第2の実施形態では、第1の実施形態と同じく、候補アドレスをSDPOFFERやSDP ANSWERに含むリアルタイムUDPデータグラム通信(WebRTC)について説明する。

0127

第1の実施形態に対し、第2の実施形態では、ネットワークコントローラ12とパケット中継OFCとの間で、ポート確保要請とポート確保情報のメッセージのやり取りが発生する。

0128

図26は、第2の実施形態における通信システムの機能構成例を示す図である。
第1の実施形態と比較して、第2の実施形態におけるネットワークコントローラ12は、ポート確保情報受信機能をさらに有する。
第1の実施形態と比較して、第2の実施形態における第1パケット中継OFC41および第2パケット中継OFC42は、ポート確保要請受信機能をさらに有する。

0129

図27は、第2の実施形態における通信システムによる処理の手順の一例を示すシーケンス図である。
第1の実施形態で説明した処理に加え、第2の実施形態では、ネットワークコントローラ12は、リアルタイムUDPデータグラム通信で使用するOFSWのグローバルIPアドレスと組になるポート番号を確保するために、パケット中継OFCに対してポート確保要請を送信する。パケット中継OFCは、ポート確保要請を受信すると確保したポート番号をネットワークコントローラ12に対してパケット確保情報として知らせるとともに、使用済みポート番号へその値を追加する。ポート確保要請を受信したネットワークコントローラ12は、リアルタイムUDPデータグラム通信制御テーブルのレコードを変更する。

0130

次に、第2の実施形態における処理手順について説明する。
第2の実施形態では、第1の実施形態で説明した、Webサーバへのアクセス、Webアプリケーションの取得、SDPOFFERの送信がなされる。

0131

次に、第2の実施形態における、第1クライアント51から送信されたSDPOFFERの解析について説明する。
第1の実施形態と同様に、第2の実施形態では、SDP OFFERに第1クライアント51が使用する候補アドレスが含まれる。そこで、ネットワークコントローラ12は、レコードのOFFER IPアドレス、OFFERポートの値に、候補アドレスで示されるアドレスとポート番号(ここでは192.168.0.1と52345)を設定する。

0132

この設定のあと、ネットワークコントローラ12は、ポート確保要請を送信するパケット中継OFCを特定するために、SDPOFFERを含んだパケット送信元IPアドレスと同一のIPアドレスを持つレコードをパケット中継OFC-IPアドレスマッピングテーブルをから探し出す。

0133

本実施形態では、第1パケット中継OFC41のレコードが該当する。ネットワークコントローラ12は、SDPOFFERに含まれるセッションIDを含んだポート確保要請を生成して第1パケット中継OFC41に送信する。ここで送信されるセッションIDは「1jiifa9783」であるとする。
ネットワークコントローラ12は、SDP OFFERを第3クライアント53へ転送する。

0134

次にSDPANSWERの解析について説明する。図28図29は、第2の実施形態における通信システムによるSDP ANSWERの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図である。

0135

第2の実施形態では、SDPANSWERの解析において第1の実施形態と同様にレコードの検索、ANSWERグローバルIPアドレスの設定、候補アドレスの設定がなされる。ただし、この時点では、該当のレコードにOFFERグローバルポートは設定されないので、リアルタイムUDPデータグラム通信制御テーブルのレコードは、図28図29の順で作成される。

0136

ネットワークコントローラ12は、ポート確保要請を送信するパケット中継OFCを特定するために、SDPANSWERを含んだパケット送信元IPアドレスと同一のIPアドレスを持つレコードをパケット中継OFC-IPアドレスマッピングテーブルをから探し出す。本実施形態では、第2パケット中継OFC42のレコードが該当する。

0137

ネットワークコントローラ12は、SDPANSWERに含まれるセッションIDを含んだポート確保要請を生成して第2パケット中継OFC42に対して送信する。ここで送信されるセッションIDは上記の「1jiifa9783」であるとする。
ネットワークコントローラ12は、SDP ANSWERを第1クライアント51へ転送する。

0138

次に、ポート確保要請受信について説明する。
第1パケット中継OFC41は、ネットワークコントローラ12からポート確保要請を受信するとポート確保要請受信機能を呼び出す。

0139

第1パケット中継OFC41は、使用済みポート番号に含まれない数値(0〜65535)をランダムに生成して使用済みポート番号に追加する。ここで生成する値は、3456であるとする。

0140

第1パケット中継OFC41は、生成したランダムの数値(3456)を対象ポート番号に、ポート確保要請に含まれるセッションIDをセッションIDに、第1OFSW21のグローバルIPアドレスをグローバルIPアドレスにそれぞれ指定したポート確保情報を生成し、生成したポート確保情報をネットワークコントローラ12に対して送信する。
ここでは、第1パケット中継OFC41の使用済みポート番号は、30841、43256、3456であるとする。

0141

図30および図31は、第2の実施形態における通信システムにより送信されるポート確保情報の構成例を表形式で示す図である。
第1パケット中継OFC41がネットワークコントローラ12に送信するポート確保情報は、図30に示すように、セッションID「1jiifa9783」、グローバルIPアドレス「33.0.0.2」、対象ポート番号「3456」を含む。

0142

ネットワークコントローラ12からポート確保要請を受信すると、第2パケット中継OFC42は、第1パケット中継OFC41と同様に、ポート確保要請受信機能を実行する。
ポート番号としてランダムに生成される値は2456であるとする。

0143

第2パケット中継OFC42の使用済みポート番号は、46927、2456であるとする。
第2パケット中継OFC42がネットワークコントローラ12に送信するポート確保情報は、図31に示すように、セッションID「1jiifa9783」、グローバルIPアドレス「33.0.0.2」、対象ポート番号「2456」を含む。

0144

次に、ポート確保情報の受信について説明する。
ネットワークコントローラ12は、第1パケット中継OFC41からポート確保情報を受信するとポート確保情報受信機能を呼び出す。

0145

ネットワークコントローラ12は、ポート確保情報を受信すると、ポート確保情報に含まれるセッションIDと同じセッションIDを持つリアルタイムUDPデータグラム通信制御テーブルのレコードを検索する。

0146

ポート確保情報のグローバルIPアドレスがOFFERグローバルIPアドレスと同一の場合、ネットワークコントローラ12は、OFFERグローバルポートにポート確保情報の対象ポート番号の値を設定する。

0147

ポート確保情報のグローバルIPアドレスがANSWERグローバルIPアドレスと同一の場合、ネットワークコントローラ12は、ANSWERグローバルポートにポート確保情報の対象ポート番号の値を設定する。

0148

第1パケット中継OFC41から受信したポート確保情報のグローバルIPアドレスは、OFFERグローバルアドレスIPアドレスと一致するので、OFFERグローバルポートに第1パケット中継OFC41から受信したポート確保情報の対象ポート番号の値を設定する。
この設定の時点では、該当のレコードは、図15に示したように設定される。

0149

ネットワークコントローラ12は、第2パケット中継OFC42からポート確保情報を受信すると、第1パケット中継OFC41からポート確保情報を受信したときと同様にポート確保情報受信機能を呼び出す。

0150

第2パケット中継OFC42から受信したポート確保情報のグローバルIPアドレスは、ANSWERグローバルアドレスIPアドレスと一致するので、ANSWERグローバルポートに第2パケット中継OFC42から受信したポート確保情報の対象ポート番号の値を設定する。この設定の時点では、該当のレコードは、図16に示したように設定される。
図16に示すように、レコードを構成する情報がすべて埋まった場合、ネットワークコントローラ12は、リアルタイムUDPデータグラム通信開始要請機能を呼び出す。

0151

次に、第2の実施形態において説明した各処理の非同期実行について説明する。
この第2の実施形態で、ネットワークコントローラ12の機能が呼び出される順序は、「SDPOFFER解析機能」→「SDP ANSWER 解析機能」→「(第1パケット中継OFC41の)ポート確保情報受信機能」→「(第2パケット中継OFC42の)ポート確保情報受信機能」であると説明したが、これに限らず、各装置で送受信するメッセージの到着順序により、「SDP OFFER 解析機能」より後に呼び出される機能は、呼び出し順序が前後しても良い。
ただし、「SDP ANSWER 解析機能」より後に「(第2パケット中継OFC42の)ポート確保情報受信機能」が呼び出されることを要する。

0152

機能の呼び出し順序の例としては、「SDPOFFER解析機能」→「(第1パケット中継OFC41の)ポート確保情報受信機能」 → 「SDP ANSWER 解析機能」→ 「(第2パケット中継OFC42の)ポート確保情報受信機能」や、「SDP OFFER 解析機能」→ 「SDP ANSWER 解析機能」→ 「(第2パケット中継OFC42の)ポート確保情報受信機能」 →「(第1パケット中継OFC41の)ポート確保情報受信機能」が存在する。
以下、第1の実施形態と同様にリアルタイムUDPデータグラム通信開始および複数のリアルタイムUDPデータグラム通信開始を行なうことができる。

0153

次に、複数のリアルタイムUDPデータグラム通信により変更されたデータについて説明する。複数のリアルタイムUDPデータグラム通信により変更された、ネットワークコントローラ12が所持するリアルタイムUDPデータグラム通信制御テーブル、第1OFSW21および第2OFSW22が所持するフローテーブルは、図23から図25に示した構成と同様である。

0154

また、第1パケット中継OFC41における、複数のリアルタイムUDPデータグラム通信により変更された使用済みポート番号は、30841、43256、3456、59024である。
また、第2パケット中継OFC42における、複数のリアルタイムUDPデータグラム通信により変更された使用済みポート番号は、46927、2456、19824である。

0155

以上のように、第2の実施形態では、ネットワークコントローラ12から各パケット中継OFCとの間でポート確保要請を行ない、この要請にしたがって、使用済みポート番号に含まれないポート番号を生成しても、第1の実施形態と同様の効果が得られる。

0156

(第3の実施形態)
次に、第3の実施形態について説明する。第3の実施形態では、候補アドレスをSDPOFFERやSDP ANSWERに含まず、SDP CANDIDATEにより、候補アドレスを通信相手となるクライアントに通知するWebRTCを例に挙げる。候補アドレスの通知方法以外は、第2の実施形態と同様である。

0157

図32は、第3の実施形態における通信システムの機能構成例を示す図である。
第2の実施形態と比較して、第3の実施形態におけるネットワークコントローラ12は、SDPCANDIDATE解析機能をさらに有する。

0158

図33は、第3の実施形態における通信システムによる処理の手順の一例を示すシーケンス図である。
第2の実施形態で説明した処理に加え、第3の実施形態では、ネットワークコントローラ12と各クライアントの間でSDPCANDIDATEのやりとりが生ずる。

0159

次に、第3の実施形態における処理手順について説明する。
まず、第3の実施形態では、第1の実施形態で説明した、Webサーバへのアクセス、Webアプリケーションの取得、SDPOFFERの送信がなされる。

0160

ここで、第3の実施形態におけるSDPOFFERの内容について説明する。
SDPの記述例は以下の通りである。上記のように、SDP OFFERは候補アドレスを含まない。ここではa=candidate以外の属性の記述は省略する。
{
“sessionId” :” 1jiifa9783” ,
“SDP”:”・・・”
・・・
}
次に、SDP OFFERの解析について説明する。
第2の実施形態と同様に、第3の実施形態では、SDP OFFERを受け取ったネットワークコントローラ12は、SDP OFFER解析機能を実行して、SDP OFFERに含まれるセッションIDからリアルタイムUDPデータグラム通信制御テーブルのレコードを作成する。

0161

ネットワークコントローラ12は、SDPOFFERを含んだパケットの送信元IPアドレス(ここでは33.33.0.2)をレコードのOFFERグローバルIPアドレスの値に設定する。この設定の時点では、テーブルは、図11に示した構成となる。

0162

第3の実施形態では、SDPOFFERに第1クライアント51が使用する候補アドレスは含まれない。したがって、この時点では、レコードのOFFER IPアドレス、OFFERポートの値に、候補アドレスで示されるアドレスとポート番号は設定されない。

0163

次に、第2の実施形態と同様に、ポート確保要請の送信がなされ、SDPOFFERが第3クライアント53へ転送され、SDP ANSWERが第1クライアント51へ送信される。
次に、SDP ANSWERの内容について説明する。
SDPの記述例は以下の通りである。上記のように、SDP OFFERは候補アドレスを含まないので、SDP ANSWERも候補アドレスを含まない。ここではa=candidate以外の属性の記述は省略する。
{
“sessionId” :” 1jiifa9783”,
“SDP”:”・・・”
・・・
}
次に、第2の実施形態と同様に、SDP ANSWERを受け取ったネットワークコントローラ12は、SDP ANSWER解析機能を実行して、SDP ANSWERに含まれるセッションIDと同じセッションIDを持つリアルタイムUDPデータグラム通信制御テーブルのレコードを検索する。

0164

図34は、第3の実施形態における通信システムによるSDPANSWERの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図である。図34に示すように、ネットワークコントローラ12は、SDP ANSWERを含んだパケットの送信元IP(ここでは33.3.0.3)を、そのレコードのANSWERグローバルIPアドレスに設定する。

0165

第3の実施形態では、SDPANSWERに第3クライアント53が使用する候補アドレスは含まれない。よって、この時点では、レコードのANSWER IPアドレス、ANSWERポートの値に、候補アドレスで示されるアドレスとポート番号(ここでは192.168.1.1と1111)は設定されない。
次に、第2の実施形態と同様に、ポート確保要請の送信がなされ、SDP ANSWERが第1クライアント51へ転送される。

0166

図35および図36は、第3の実施形態における通信システムによるポート確保情報の受信に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図である。

0167

次に、第2の実施形態と同様に、ポート確保要請の受信、およびポート確保情報の受信がなされる。ただし、上記のように、SDPに候補アドレスは含まれないので、図35に示すように、レコード上のOFFERグローバルIPアドレス、OFFERグローバルポート、ANSWERグローバルIPアドレスに値の設定がなされた時点では、残りのOFFERIPアドレス、OFFERポート、ANSWER IPアドレス、ANSWERポートには値は設定されていない。

0168

また、図36に示すように、レコード上のOFFERグローバルポートに、さらに値の設定がなされた時点でも、残りのOFFERIPアドレス、OFFERポート、ANSWER IPアドレス、ANSWERポートには値は設定されていない。

0169

次に、SDPCANDIDATEの送信について説明する。
第1クライアント51は、第3クライアント53に対して候補アドレスを通知するために、シグナリングチャネルを通じて第3クライアント53へSDP CANDIDATEを送信する。

0170

次に、SDPの内容について説明する。
SDPの記述例は以下の通りである。ここではa=candidate以外の属性の記述は省略する。
{
“sessionId” :” 1jiifa9783” ,
“SDP”:”a=candidate:1 1UDP1854697382 192.168.0.1 52345 typ host”,
・・・
}
次に、SDP CANDIDATEの解析について説明する。
図37は、第3の実施形態における通信システムによるSDP CANDIDATEの解析に伴うリアルタイムUDPデータグラム通信制御テーブルのレコードの作成について説明する図である。
ネットワークコントローラは、SDP CANDIDATEを受信すると、SDP CANDIDATE受信機能を実行して、SDP CANDIDATEに含まれるセッションIDと同じセッションIDを持つリアルタイムUDPデータグラム通信制御テーブルのレコードを検索する。

0171

図37に示すように、ネットワークコントローラは、SDPCANDIDATEから候補アドレスを取り出し、上記のリアルタイムUDPデータグラム通信制御テーブルのレコードに対して値を書き込む。

0172

SDPCANDIDATEの送信元IPアドレスがOFFERグローバルIPアドレスと同一の場合、ネットワークコントローラ12は、OFFER IPアドレス、および、OFFERポートに値を設定する。

0173

SDPCANDIDATEの送信元IPアドレスがANSWERグローバルIPアドレスと同一の場合、ネットワークコントローラ12は、ANSWERグローバルポートにポート確保上の対象ポート番号の値を設定する。

0174

候補アドレスは、SDPに含まれる”a=candidate”属性から取得される。候補アドレスとして有効なアドレスは、ネットワークコントローラ12が所持する「パケット中継OFC-IPアドレスマッピングテーブル」に所属するもののみである。この場合では、「192.168.0.1」は、第1パケット中継OFC41のローカルネットワークアドレスに含まれる。
第3クライアント53は、第1クライアント51に対して候補アドレスを通知するために、シグナリングチャネルを通じて第3クライアント53へSDP CANDIDATEを送信する。

0175

次に、この送信されるSDPの内容について説明する。
SDPの記述例は以下の通りである。ここではa=candidate以外の属性の記述は省略する。
{
“sessionId” :” 1jiifa9783” ,
“SDP”:”a=candidate:1 1UDP1854697382 192.168.1.1 1111 typ host”,
・・・
}
次に、SDP CANDIDATEの解析について説明する。
ネットワークコントローラ12は、SDP CANDIDATEを受信すると、SDP CANDIDATE解析機能を実行して、第1クライアント51から第3クライアント53に送信されたSDP CANDIDATEと同様に処理をする。

0176

候補アドレスは、SDPに含まれる”a=candidate”属性から取得される。候補アドレスとして有効なアドレスは、ネットワークコントローラ12が所持するパケット中継OFC-IPアドレスマッピングテーブルに所属するもののみである。この場合では、「192.168.1.1」は、第2パケット中継OFC42のローカルネットワークアドレスに含まれる。
図16に示すように、レコードを構成する情報がすべて埋まった場合、ネットワークコントローラ12は、リアルタイムUDPデータグラム通信開始要請機能を呼び出す。

0177

次に、第3の実施形態で説明した各処理の非同期実行について説明する。
この実施形態で、ネットワークコントローラ12の機能が呼び出される順序は、「SDPOFFER解析機能」→「SDP ANSWER 解析機能」→「(第1パケット中継OFC41の)ポート確保情報受信機能」 →「(第2パケット中継OFC42の)ポート確保情報受信機能」→「(第1クライアント51から第3クライアント53へ送信された)SDP CANDIDATE 解析機能」→「(第3クライアント53から第1クライアント51へ送信された)SDP CANDIDATE 解析機能」であると説明したが、これに限らず、各装置で送受信するメッセージの到着順序により、「SDP OFFER 解析機能」より後に呼び出される機能は、呼び出し順序が前後しても良い。

0178

ただし、「SDPANSWER解析機能」より後に「(第2パケット中継OFC42の)ポート確保情報受信機能」と「(第3クライアント53から第1クライアント51へ送信された)SDP CANDIDATE 解析機能」が呼び出される必要がある。

0179

呼び出し順序の例としては、 「SDPOFFER解析機能」→「(第1パケット中継OFC41の)ポート確保情報受信機能」 → 「(第1クライアント51から第3クライアント53へ送信された)SDP CANDIDATE 解析機能」→ 「SDP ANSWER 解析機能」→ 「(第3クライアント53から第1クライアント51へ送信された)SDP CANDIDATE 解析機能」→ 「(第2パケット中継OFC42の)ポート確保情報受信機能」や、 「SDP OFFER 解析機能」→ 「SDP ANSWER 解析機能」→ 「(第2パケット中継OFC42の)ポート確保情報受信機能」 →「(第1パケット中継OFC41の)ポート確保情報受信機能」 →「(第3クライアント53から第1クライアント51へ送信された)SDP CANDIDATE 解析機能」→ 「(第1クライアント51から第3クライアント53へ送信された)SDP CANDIDATE 解析機能」などが存在する。
以降は、第2の実施形態と同様にリアルタイムUDPデータグラム通信がなされる。
以上のように、第3の実施形態では、候補アドレスをSDP OFFERやSDP ANSWERに含めずに、SDP CANDIDATEに含めるようにしても、第1の実施形態と同様の効果が得られる。

0180

(第4の実施形態)
次に、第4の実施形態について説明する。この第4の実施形態では、リアルタイムUDPデータグラム通信の遮断について説明する。
ここでは、第1乃至第3の実施形態で説明した複数のリアルタイムUDPデータグラム通信がされ、これらの通信のうち、第1クライアント51と第3クライアント53のリアルタイムUDPデータグラム通信を遮断する例について説明する。

0181

図38は、第4の実施形態における通信システムの機能構成例を示す図である。
第3の実施形態と比較して、第4の実施形態におけるネットワークコントローラ12は、リアルタイムUDPデータグラム通信遮断要請機能、リアルタイムUDPデータグラム通信終了検知機能をさらに有する。また、各パケット中継OFCは、リアルタイムUDPデータグラム通信遮断機能をさらに有する。

0182

ネットワークコントローラ12は、リアルタイムUDPデータグラム通信終了メッセージ(クライアントからの、通信の終了の要請)を受信すると、通信を終了するリアルタイムUDPデータグラム通信制御テーブルのレコードを削除し、リアルタイムUDPデータグラム通信遮断要請をパケット中継OFCに送信する。リアルタイムUDPデータグラム通信遮断要請を受け取ったパケット中継OFCは、通信を終了するリアルタイムUDPデータグラム通信を実現するフローテーブルをOFSWから削除するとともに、使用済みポート番号から通信を終了するリアルタイムUDPデータグラム通信で用いていたポート番号を削除する。

0183

図39は、第4の実施形態における通信システムによる処理の手順の一例を示すシーケンス図である。
第3の実施形態で説明した処理に加え、第4の実施形態では、クライアントからネットワークコントローラ12にリアルタイムUDPデータグラム通信終了メッセージが送られ、
ネットワークコントローラ12から各パケット中継OFCにリアルタイムUDPデータグラム通信遮断要請が送られ、各パケット中継OFCは、各OFSWに対してフローテーブル削除を行なう。

0184

ここで、リアルタイムUDPデータグラム通信の遮断を実施する前の各装置における初期データについて説明する。
ネットワークコントローラ12におけるリアルタイムUDPデータグラム通信制御テーブル、およびパケット中継OFC-IPアドレスマッピングテーブルの構成は、図23図4に示した構成と同じとする。

0185

第1パケット中継OFC41における使用済みポート番号は、第2の実施形態と同じく、30841、43256、3456、59024とする。
第1パケット中継OFC41における、OFSWポート-クライアントIPアドレスマッピングテーブルの構成は図6に示した構成と同じとする。

0186

第2パケット中継OFC42における使用済みポート番号は、第2の実施形態と同じく、46927、2456、19824とする。
第2パケット中継OFC42における、OFSWポート-クライアントIPアドレスマッピングテーブルの構成は図7に示した構成と同じとする。
第1OFSW21におけるフローテーブルの構成は、図24に示した構成と同じとする。第2OFSW22におけるフローテーブルの構成は、図25に示した構成と同じとする。

0187

次に、リアルタイムUDPデータグラム通信終了メッセージについて説明する。
第1クライアント51は、リアルタイムUDPデータグラム通信を終了するために、シグナリングチャネルを通じて第3クライアント53へリアルタイムUDPデータグラム通信終了メッセージを送信する。このメッセージに含まれるセッションIDは、「1jiifa9783」とする。

0188

次に、ネットワークコントローラ12による、リアルタイムUDPデータグラム通信の終了検知について説明する。
リアルタイムUDPデータグラム通信終了メッセージを受け取ったネットワークコントローラ12は、リアルタイムUDPデータグラム通信終了検知機能を呼び出す。
ネットワークコントローラ12は、リアルタイムUDPデータグラム通信終了メッセージに含まれるセッションIDと同じセッションIDを持つリアルタイムUDPデータグラム通信制御テーブルのレコードを検索する。

0189

検索したレコードのデータをメッセージ内容とした、リアルタイムUDPデータグラム通信遮断要請をパケット中継OFCに対して送信するために、ネットワークコントローラ12は、検索したレコードをリアルタイムUDPデータグラム通信遮断要請機能に対して渡す。ネットワークコントローラ12は、リアルタイムUDPデータグラム通信終了メッセージを第3クライアント53へ転送する。

0190

図40は、第4の実施形態における通信システムによる、リアルタイムUDPデータグラム通信制御テーブルのレコードの削除について説明する図である。
その後、図40に示すように、ネットワークコントローラ12は、リアルタイムUDPデータグラム通信終了メッセージに含まれるセッションIDと同じセッションIDを持つリアルタイムUDPデータグラム通信制御テーブルのレコード、ここではリアルタイムUDPデータグラム通信終了に含まれるセッションIDは「1jiifa9783」を含むレコードを削除する。

0191

次に、ネットワークコントローラ12によるリアルタイムUDPデータグラム通信遮断要請について説明する。
リアルタイムUDPデータグラム通信遮断要請機能は、前述のリアルタイムUDPデータグラム通信終了検知機能から渡されたリアルタイムUDPデータグラム通信制御テーブルのレコードをメッセージの内容としたリアルタイムUDPデータグラム通信遮断要請を、パケット中継OFCに対して送信する。

0192

送信対象となるパケット中継OFCは、OFFERグローバルIPアドレスとANSWERグローバルIPアドレスを持つパケット中継OFCである。このパケット中継OFCは、パケット中継OFC-IPアドレスマッピングテーブルをOFFER グローバルIPアドレス、や、ANSWERグローバルIPアドレスとパケット中継OFC-IPアドレスマッピングテーブルIPアドレスが一致するかどうかで調べることができる。

0193

第4の実施形態では、リアルタイムUDPデータグラム通信遮断要請が第1パケット中継OFC41と第2パケット中継OFC42に送信される。この送信されるリアルタイムUDPデータグラム通信遮断要請の構成は、図16に示した構成と同様である。

0194

次に、リアルタイムUDPデータグラム通信遮断について説明する。
ネットワークコントローラ12からリアルタイムUDPデータグラム通信遮断要請を受信すると、第1パケット中継OFC41は、リアルタイムUDPデータグラム通信遮断機能を呼び出す。

0195

図41図42図43図44は、第4の実施形態における通信システムによる、フローテーブルのレコードの削除について説明する図である。
第1パケット中継OFC41が接続している第1OFSW21のグローバルIPアドレスが、リアルタイムUDPデータグラム通信遮断要請のOFFERグローバルIPアドレスと同一の場合、第1パケット中継OFC41は、リアルタイムUDPデータグラム通信遮断要請に含まれるデータを利用して、フローテーブルにおける、図41に示す条件に該当するレコードを削除する(ここでは合計2レコードが削除される)。この図41で示した条件は、図17に示した条件部の入力・OFSWポートの値、操作部の出力・OFSWポートの値を「any」に変更したものである。
第1パケット中継OFC41にかかる第1OFSW21のグローバルIPアドレスは、リアルタイムUDPデータグラム通信遮断要請のOFFERグローバルIPアドレスと同一である。

0196

次に、第1パケット中継OFC41がUDPデータグラム通信遮断要請を受け取り、フローテーブルのレコードを削除したときの具体例を説明する。
上記のように第1パケット中継OFC41が接続している第1OFSW21のグローバルIPアドレスは、UDPデータグラム通信開始要請のOFFERグローバルIPアドレスと同一であるので、第1パケット中継OFC41は、図42に示すように、フローテーブルにおける、図41に示す条件に該当するレコード、つまり、図24で示したフローテーブルの上から5、6行目のレコードを削除する。

0197

第4の実施形態では、OFSWのグローバルIPアドレスが、リアルタイムUDPデータグラム通信遮断要請のOFFERグローバルIPアドレスと同一の場合は、リアルタイムUDPデータグラム通信遮断要請のOFFERグローバルポートと一致する使用済みポート番号のレコードを削除する。
上記の第1パケット中継OFC41の場合は、3456が該当する。

0198

ネットワークコントローラ12からリアルタイムUDPデータグラム通信遮断要請を受信すると、第2パケット中継OFC42は、第1パケット中継OFC41と同様にリアルタイムUDPデータグラム通信遮断機能を実行する。

0199

また、第2パケット中継OFC42が接続している第2OFSW22のグローバルIPアドレスが、リアルタイムUDPデータグラム通信遮断要請のANSWERグローバルIPアドレスと同一の場合、第2パケット中継OFC42は、図44に示すように、リアルタイムUDPデータグラム通信遮断要請に含まれるデータを利用して、フローテーブルにおける図43に示す条件に該当するレコードを削除する(合計2レコードが削除される)。この図43で示した条件は、図20に示した条件部の入力・OFSWポートの値、操作部の出力・OFSWポートの値を「any」に変更したものである。
第2パケット中継OFC42にかかる第2OFSW22のグローバルIPアドレスは、リアルタイムUDPデータグラム通信遮断要請のANSWERグローバルIPアドレスと同一である。

0200

次に、第2パケット中継OFC42がUDPデータグラム通信開始要請を受け取り、具体的な値が入ったフローテーブルのレコードを作成したときの例について説明する。
上記のように第2パケット中継OFC42が接続している第2OFSW22のグローバルIPアドレスは、UDPデータグラム通信開始要請のANSWERグローバルIPアドレスと同一であるので、第2パケット中継OFC42は、図42に示すように、フローテーブルにおける、図43に示す条件に該当するレコード、つまり、図25で示したフローテーブルの上から3、4行目のレコードを削除する。

0201

OFSWのグローバルIPアドレスが、リアルタイムUDPデータグラム通信遮断要請のANSWERグローバルIPアドレスと同一の場合は、パケット中継OFCは、リアルタイムUDPデータグラム通信遮断要請のANSWERグローバルポートと一致する使用済みポート番号のレコードを削除する。
上記の第2パケット中継OFC42の場合は、2456が該当する。

0202

以上のように、第4の実施形態では、第1の実施形態で説明した効果に加え、リアルタイムUDPデータグラム通信の終了をネットワークコントローラで検出して、リアルタイムUDPデータグラム通信を遮断することができる。

0203

(第5の実施形態)
次に、第5の実施形態について説明する。この第5の実施形態では、シグナリングチャネルの外出し(Webサーバからのシグナリングチャネルの分離)について説明する。
図45は、第5の実施形態における通信システムの機能構成例を示す図である。
それぞれのクライアントがWebSocketのような通信手段でシグナリングチャネルと通信が可能であれば、図45に示すように、シグナリングチャネル11は、Webサーバ10の外側に設置されていても良い。

0204

なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

0205

また、上記の各実施形態に記載した手法は、計算機コンピュータ)に実行させることができるプログラム(ソフトウエア手段)として、例えば磁気ディスクフロッピー(登録商標)ディスクハードディスク等)、光ディスクCD−ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段(実行プログラムのみならずテーブルやデータ構造も含む)を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。

0206

10…Webサーバ、11…シグナリングチャネル、12…ネットワークコントローラ
21…第1OFSW、22…第2OFSW、30…ルータ、41…第1パケット中継OFC、42…第2パケット中継OFC、51…第1クライアント、52…第2クライアント、53…第3クライアント、54…第4クライアント。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ