Movatterモバイル変換


[0]ホーム

URL:


JP2015153076A - Communication apparatus, method and program - Google Patents

Communication apparatus, method and program
Download PDF

Info

Publication number
JP2015153076A
JP2015153076AJP2014025530AJP2014025530AJP2015153076AJP 2015153076 AJP2015153076 AJP 2015153076AJP 2014025530 AJP2014025530 AJP 2014025530AJP 2014025530 AJP2014025530 AJP 2014025530AJP 2015153076 AJP2015153076 AJP 2015153076A
Authority
JP
Japan
Prior art keywords
server
communication
peer
authentication
turn
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
Application number
JP2014025530A
Other languages
Japanese (ja)
Inventor
徹也 日紫喜
Tetsuya Hishiki
徹也 日紫喜
巧 大羽
Takumi Oba
巧 大羽
新 小池
Arata Koike
新 小池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone CorpfiledCriticalNippon Telegraph and Telephone Corp
Priority to JP2014025530ApriorityCriticalpatent/JP2015153076A/en
Publication of JP2015153076ApublicationCriticalpatent/JP2015153076A/en
Pendinglegal-statusCriticalCurrent

Links

Landscapes

Abstract

Translated fromJapanese

【課題】ピアツーピア通信を伴うアプリケーション、サービス、システム等の構築を容易にするための技術を提供する。
【解決手段】ネットワーク事業者により運営されるSTUNサーバ、TURNサーバ及び認証サーバを介しWebRTC(Web Real-Time Communication)を利用してピアツーピア通信を実行する通信装置であって、STUNサーバ及びTURNサーバにアクセス可能であると判断した前記認証サーバにより発行された認証キーを管理する認証機能と、前記WebRTCに実装されたNAT/FW(Network Address Translation/Firewall)を通過するためのICE(Interactive Connectivity Establishment)を実行することによって、前記ピアツーピア通信のためのIPアドレスを取得するICE機能とを有する。
【選択図】図1
A technique for facilitating the construction of applications, services, systems, etc. involving peer-to-peer communication is provided.
A communication device that performs peer-to-peer communication using WebRTC (Web Real-Time Communication) via a STUN server, a TURN server, and an authentication server operated by a network operator, the STUN server and the TURN server An authentication function that manages an authentication key issued by the authentication server that is determined to be accessible, and an ICE (Interactive Connectivity Establishment) for passing through NAT / FW (Network Address Translation / Firewall) implemented in the WebRTC To obtain an IP address for the peer-to-peer communication.
[Selection] Figure 1

Description

Translated fromJapanese

本発明は、ピアツーピア通信システムに関する。  The present invention relates to a peer-to-peer communication system.

サーバを介して通信が行われる場合、過大なトラフィックが生じ、いたずらに通信遅延やサーバ負荷を増大させる可能性がある。このため、ピアツーピア通信(P2P)の実現のための技術開発が行われてきた。ピアツーピア通信を利用するシステムの中には、全くサーバを必要としない完全にサーバレスなピアツーピア通信システムも存在するが、多くのシステムは相手のピア発見等を手助けするサーバを介して通信を開始し、その後ピアツーピア通信に切り替えるものが多い。  When communication is performed via a server, excessive traffic is generated, which may unnecessarily increase communication delay and server load. For this reason, technology development for realizing peer-to-peer communication (P2P) has been carried out. Among systems that use peer-to-peer communication, there is a completely serverless peer-to-peer communication system that does not require a server at all. However, many systems start communication via a server that assists peer discovery and the like. After that, there are many that switch to peer-to-peer communication.

サーバを用いてサポートを行う場合、今日の典型的な通信環境では、NAT/FW(Network Address Translation/Firewall)が配備されているため、このNAT/FWを通過するための技術が必要となる。このようなNAT/FWを通過するための技術として、ピアのグローバルIPアドレスとポート番号を知らせてホールパンチング技術によりNAT/FW通過を実現する Session Traversal Utilities for NAT (STUN) 技術、メディアやアプリの配信サーバを介さずにリレーサーバを配備する Traversal Using Relay NAT (TURN) 技術、STUNとTURNを組み合わせ、体系立ててNAT/FWを通過するための手順としてまとめたInteractive Connectivity Establishment (ICE) などが存在する。  When performing support using a server, NAT / FW (Network Address Translation / Firewall) is deployed in a typical communication environment today, and thus a technology for passing through this NAT / FW is required. As a technology for passing NAT / FW, Session Traversal Utilities for NAT (STUN) technology, media and applications that let NAT / FW pass through hole punching technology by informing the peer's global IP address and port number. There are Traversal Using Relay NAT (TURN) technology that deploys relay servers without going through a distribution server, and Interactive Connectivity Establishment (ICE) that combines STUN and TURN to organize and pass through NAT / FW. To do.

ICE技術を利用した実装の例として、ブラウザ上でリアルタイム通信を実現するフレームワークであるWebRTC (Web Real-Time Communication)が存在する。WebRTCはビデオチャット等を簡単に実現する技術として注目されている。ピアツーピア通信の実現のためにICE技術を利用することが定められており、ブラウザやブラウザコンポーネントにICE機能が標準的に実装されるようになることが予想される。  An example of implementation using ICE technology is WebRTC (Web Real-Time Communication), which is a framework that realizes real-time communication on a browser. WebRTC is attracting attention as a technology that makes video chatting easy. It is stipulated that ICE technology should be used to realize peer-to-peer communication, and it is expected that ICE functions will be implemented as standard in browsers and browser components.

これらピアツーピア通信技術は通信の効率化のみならず、モバイルアドホックネットワークの構築などへの応用が期待されている。  These peer-to-peer communication technologies are expected to be applied not only to improving communication efficiency but also to building mobile ad hoc networks.

特開2004-266653JP2004-266653

RFC 5389, Session Traversal Utilities for NAT (STUN)RFC 5389, Session Traversal Utilities for NAT (STUN)RFC 5766, Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)RFC 5766, Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)RFC 5245, Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer ProtocolsRFC 5245, Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer / Answer Protocols

サーバによるサポートを行いつつ、ピアツーピア通信を実現するための既存技術であるICEを用いることでアプリケーション開発者はピアツーピア通信を伴うアプリケーションの開発が可能となった。しかしながら、このようなICEを利用したピアツーピア通信を利用したアプリケーションの開発では、いくつかの問題がある。  Application developers can develop applications with peer-to-peer communication by using ICE, which is an existing technology for realizing peer-to-peer communication, while providing support by the server. However, there are some problems in developing applications using peer-to-peer communication using ICE.

第1に、アプリケーション開発者は、自身のアプリにICE機能を実装する必要があるため、ICE機能に関する一定の知識が必要であった。例えば、ICE機能を実装するためには非特許文献3に記載されるような技術を理解し、その規定通りに機能実装を行う必要があり、アプリケーション開発者自身で通信状態の管理やプロシージャまで含めて規程を行う必要がある。そのため、アプリケーション開発者には、ICE機能を利用するための前提となる非常に高い知識水準が要求された。  First, application developers need to have some knowledge of ICE functions because they need to implement ICE functions in their apps. For example, in order to implement the ICE function, it is necessary to understand the technology described in Non-Patent Document 3 and implement the function as specified, including application status management and procedures. Rules are required. For this reason, application developers are required to have a very high level of knowledge that is a prerequisite for using the ICE functions.

第2に、アプリケーション開発者は、ICE機能を提供するサーバを設ける必要がある。ICE機能はサーバ側との相互作用を通じてNAT/FW通過を実現するため、ピアツーピア通信を利用するためには、アプリケーション開発者自身がICE機能を提供するためのSTUNサーバやTURNサーバを用意する必要がある。このため、ICE機能を利用したアプリケーション開発にとって、利用の敷居が高かった。さらに、STUNサーバは、一回のリクエストに対してレスポンスを返すだけの簡易なシステムであるため、市中実装で利用可能なものが存在する一方、TURNサーバは、ピア間のデータが常にTURNサーバを通過するため、STUNに比べサーバ負荷が高く、市中実装も多くは存在していない。  Second, the application developer needs to provide a server that provides the ICE function. The ICE function realizes NAT / FW traversal through interaction with the server side, so to use peer-to-peer communication, application developers themselves need to prepare STUN servers and TURN servers to provide the ICE function. is there. For this reason, the threshold of use was high for application development using the ICE function. In addition, STUN servers are simple systems that only return a response to a single request, so there are those that can be used in commercial implementations, while TURN servers always keep data between peers TURN servers. The server load is higher than STUN, and there are not many commercial implementations.

上述した問題点を鑑み、本発明の1つの課題は、ピアツーピア通信を伴うアプリケーション、サービス、システム等の構築を容易にするための技術を提供することである。  In view of the above-described problems, an object of the present invention is to provide a technique for facilitating the construction of applications, services, systems, and the like that involve peer-to-peer communication.

上記課題を解決するため、本発明の一態様は、ネットワーク事業者により運営されるSTUNサーバ、TURNサーバ及び認証サーバを介しWebRTC (Web Real-Time Communication)を利用してピアツーピア通信を実行する通信装置であって、前記認証サーバと通信することによって当該通信装置が前記STUNサーバ及び前記TURNサーバにアクセス可能であるか判断し、当該通信装置がSTUNサーバ及びTURNサーバにアクセス可能であると判断した前記認証サーバにより発行された認証キーを管理する認証機能と、前記WebRTCに実装されたNAT/FW (Network Address Translation/Firewall)を通過するためのICE (Interactive Connectivity Establishment)を実行することによって、前記認証キーを用いて前記STUNサーバ又は前記TURNサーバにアクセスし、前記ピアツーピア通信のためのIPアドレスを取得するICE機能とを有する通信装置に関する。  In order to solve the above problems, one aspect of the present invention is a communication device that performs peer-to-peer communication using WebRTC (Web Real-Time Communication) via a STUN server, a TURN server, and an authentication server operated by a network operator. And determining whether the communication device is accessible to the STUN server and the TURN server by communicating with the authentication server, and determining that the communication device is accessible to the STUN server and the TURN server. By executing the authentication function that manages the authentication key issued by the authentication server and ICE (Interactive Connectivity Establishment) for passing through NAT / FW (Network Address Translation / Firewall) implemented in the WebRTC, the authentication An ICE function for accessing the STUN server or the TURN server using a key and obtaining an IP address for the peer-to-peer communication; A communication apparatus having.

本発明によると、ピアツーピア通信を伴うアプリケーション、サービス、システム等の構築を容易に実現することが可能になる。  According to the present invention, it is possible to easily realize the construction of applications, services, systems, etc. that involve peer-to-peer communication.

図1は、本発明の一実施例による通信システムを示す概略図である。FIG. 1 is a schematic diagram illustrating a communication system according to an embodiment of the present invention.図2は、本発明の一実施例によるネットワーク事業者、アプリケーション開発者及びサービス提供者の関係を示す概略図である。FIG. 2 is a schematic diagram illustrating a relationship between a network operator, an application developer, and a service provider according to an embodiment of the present invention.図3は、本発明の一実施例によるSTUNサーバの構成を示すブロック図である。FIG. 3 is a block diagram showing a configuration of a STUN server according to an embodiment of the present invention.図4は、本発明の一実施例によるTURNサーバの構成を示すブロック図である。FIG. 4 is a block diagram showing a configuration of a TURN server according to an embodiment of the present invention.図5は、本発明の一実施例による認証サーバの構成を示すブロック図である。FIG. 5 is a block diagram showing the configuration of the authentication server according to one embodiment of the present invention.図6は、本発明の一実施例によるデータベースの構成を示すブロック図である。FIG. 6 is a block diagram showing the structure of a database according to an embodiment of the present invention.図7は、本発明の一実施例によるアプリケーションの構成を示すブロック図である。FIG. 7 is a block diagram showing the configuration of an application according to an embodiment of the present invention.図8は、本発明の一実施例によるM2Mデータ通信への適用例を示す概略図である。FIG. 8 is a schematic diagram showing an application example to M2M data communication according to an embodiment of the present invention.図9は、従来の通信経路の情報フローを示すシーケンス図である。FIG. 9 is a sequence diagram showing an information flow of a conventional communication path.図10は、本発明の一実施例による通信経路の情報フローを示すシーケンス図である。FIG. 10 is a sequence diagram showing an information flow of a communication path according to an embodiment of the present invention.図11は、本発明の一実施例による自律分散型コンピューティング基盤への適用例を示す概略図である。FIG. 11 is a schematic diagram showing an application example to an autonomous distributed computing infrastructure according to an embodiment of the present invention.

以下、図面に基づいて本発明の実施の形態を説明する。  Hereinafter, embodiments of the present invention will be described with reference to the drawings.

まず、図1〜2を参照して、本発明の一実施例による通信システムを説明する。本実施例による通信システムでは、ICE機能によるWebRTCを利用したピアツーピア通信が提供される。図1は、本発明の一実施例による通信システムを示す概略図である。  First, a communication system according to an embodiment of the present invention will be described with reference to FIGS. In the communication system according to the present embodiment, peer-to-peer communication using WebRTC by the ICE function is provided. FIG. 1 is a schematic diagram illustrating a communication system according to an embodiment of the present invention.

図1に示されるように、通信システム10は、STUNサーバ100、TURNサーバ200、認証サーバ300、データベース400及び複数の通信装置に搭載されたアプリケーション500〜500(以下、アプリケーション500と総称する)を有する。As shown in FIG. 1, the communication system 10 includes a STUN server 100, a TURN server 200, an authentication server 300, a database 400, and applications 5001 to 500n (hereinafter collectively referred to as an application 500) installed in a plurality of communication devices. ).

STUNサーバ100は、非特許文献1に規定されたSTUN機能110と共に、以下で詳細に説明されるようなアクセス制限機能120、コール数カウント機能130及びデータベース連携機能140を有する。  The STUN server 100 has an access restriction function 120, a call count function 130, and a database linkage function 140 as described in detail below, in addition to the STUN function 110 defined in Non-Patent Document 1.

TURNサーバ200は、非特許文献2に規定されたTURN機能210と共に、以下で詳細に説明されるようなアクセス制限機能220、コール数カウント機能230、データベース連携機能240及び利用帯域測定機能250を有する。  The TURN server 200 has an access restriction function 220, a call count function 230, a database linkage function 240, and a used bandwidth measurement function 250 as described in detail below, in addition to the TURN function 210 defined in Non-Patent Document 2. .

認証サーバ300は、以下で詳細に説明されるような認証機能310、認証キー発行機能320及びデータベース連携機能330を有する。認証サーバ300は、これらの機能を利用して、アプリケーション500からの情報に基づきアプリケーション500によるSTUNサーバ100及びTURNサーバ200の利用可能性を判断し、認証キーを発行する。  The authentication server 300 has an authentication function 310, an authentication key issuing function 320, and a database linkage function 330 as will be described in detail below. Using these functions, the authentication server 300 determines the availability of the STUN server 100 and the TURN server 200 by the application 500 based on information from the application 500, and issues an authentication key.

STUNサーバ100、TURNサーバ200及び認証サーバ300は、ネットワーク事業者により運営される。一例となるハードウェア構成として、各サーバは、バスBを介し相互接続されるドライブ装置、補助記憶装置、メモリ装置、CPU (Central Processing Unit)及びインタフェース装置を有する。STUNサーバ100、TURNサーバ200及び認証サーバ300における後述される各種機能及び処理を実現する各種プログラムは、光ディスクや半導体メモリなどの記録媒体によって提供されてもよい。プログラムを記憶した記録媒体がドライブ装置にセットされると、プログラムが記録媒体からドライブ装置を介して補助記憶装置にインストールされる。但し、プログラムのインストールは必ずしも記録媒体により行う必要はなく、ネットワーク(図示せず)を介し何れかの外部装置からダウンロードするようにしてもよい。補助記憶装置は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。メモリ装置は、プログラムの起動指示があった場合に、補助記憶装置からプログラムやデータを読み出して格納する。CPUは、情報を処理するプロセッサであって、メモリ装置に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、後述されるようなSTUNサーバ100、TURNサーバ200及び認証サーバ300の各種機能及び処理を実行する。インタフェース装置は、ネットワーク又は外部装置に接続するための通信インタフェースとして用いられる。しかしながら、STUNサーバ100、TURNサーバ200及び認証サーバ300は、上述したハードウェア構成に限定されるものでなく、何れか適切な情報処理装置として実現されてもよい。  The STUN server 100, the TURN server 200, and the authentication server 300 are operated by a network operator. As an exemplary hardware configuration, each server includes a drive device, an auxiliary storage device, a memory device, a CPU (Central Processing Unit), and an interface device that are interconnected via a bus B. Various programs for realizing various functions and processes described below in the STUN server 100, the TURN server 200, and the authentication server 300 may be provided by a recording medium such as an optical disk or a semiconductor memory. When the recording medium storing the program is set in the drive device, the program is installed from the recording medium to the auxiliary storage device via the drive device. However, the program does not necessarily have to be installed on a recording medium, and may be downloaded from any external device via a network (not shown). The auxiliary storage device stores the installed program and also stores necessary files and data. The memory device reads and stores the program and data from the auxiliary storage device when there is an instruction to start the program. The CPU is a processor that processes information, and a STUN server 100, a TURN server 200, and an authentication server, which will be described later, according to various data such as a program stored in a memory device and parameters necessary for executing the program. 300 various functions and processes are executed. The interface device is used as a communication interface for connecting to a network or an external device. However, the STUN server 100, the TURN server 200, and the authentication server 300 are not limited to the hardware configuration described above, and may be realized as any appropriate information processing apparatus.

データベース400は、STUNサーバ100、TURNサーバ200及び認証サーバ300に通信接続され、STUNサーバ100、TURNサーバ200及び認証サーバ300から提供される各種データ及び情報を格納すると共に、STUNサーバ100、TURNサーバ200及び認証サーバ300からの取得要求に応答して、格納されているデータ及び情報を要求元のサーバ100、200及び300に提供する。データベース400は、STUNサーバ100、TURNサーバ200、認証サーバ300及びアプリケーション500に対応してSTUN利用データベース410、TURN利用データベース420、ユーザデータベース430及びアプリケーションデータベース440を有する。STUN利用データベース410、TURN利用データベース420、ユーザデータベース430及びアプリケーションデータベース440はそれぞれ、以下で詳細に説明されるように、STUNサーバ100、TURNサーバ200、認証サーバ300及びアプリケーション500とやりとりすることによって、STUNサーバ100の利用情報、TURNサーバ200の利用情報、認証情報やユーザ情報及びアプリケーション情報を保持する。  The database 400 is communicatively connected to the STUN server 100, the TURN server 200, and the authentication server 300, stores various data and information provided from the STUN server 100, the TURN server 200, and the authentication server 300, and also stores the STUN server 100, the TURN server. In response to the acquisition request from the authentication server 200 and the authentication server 300, the stored data and information are provided to the requesting servers 100, 200, and 300. The database 400 includes a STUN usage database 410, a TURN usage database 420, a user database 430, and an application database 440 corresponding to the STUN server 100, the TURN server 200, the authentication server 300, and the application 500. The STUN usage database 410, the TURN usage database 420, the user database 430, and the application database 440, respectively, interact with the STUN server 100, the TURN server 200, the authentication server 300, and the application 500, as will be described in detail below. The STUN server 100 usage information, TURN server 200 usage information, authentication information, user information, and application information are held.

データベース400の一例となるハードウェア構成は、上述したSTUNサーバ100、TURNサーバ200及び認証サーバ300と同様のものであってもよいし、あるいは、STUNサーバ100、TURNサーバ200及び認証サーバ300に接続された補助記憶装置として実現されてもよい。  An exemplary hardware configuration of the database 400 may be the same as the STUN server 100, the TURN server 200, and the authentication server 300 described above, or connected to the STUN server 100, the TURN server 200, and the authentication server 300. It may be realized as an auxiliary storage device.

アプリケーション500は、各通信装置上で実行されるピアツーピア通信を伴うアプリケーションである。WebRTCでは、ICE機能の利用が必須とされているため、WebRTCのクライアントを用いることでICE機能を流用する。ここで、WebRTCクライアントは、ブラウザそのもの以外にもWebkit等のブラウザコンポーネントやWebRTC準拠のネイティブアプリ用コンポーネントを含む。通信システム10では、2個以上の任意の数のアプリケーションを含むものとする。  The application 500 is an application involving peer-to-peer communication executed on each communication device. Since WebRTC requires the use of the ICE function, the ICE function can be diverted by using a WebRTC client. Here, the WebRTC client includes a browser component such as Webkit and a WebRTC-compliant native application component in addition to the browser itself. The communication system 10 includes an arbitrary number of applications of two or more.

アプリケーション500が実行される通信装置は、典型的には、パーソナルコンピュータ、携帯電話、スマートフォン、タブレットなどの通信機能を備えた情報処理装置であり、図示されるように、STUNサーバ100、TURNサーバ200及び認証サーバ300に通信接続される。一例となるハードウェア構成として、通信装置は、バスBを介し相互接続されるドライブ装置、補助記憶装置、メモリ装置、CPU、通信回路、表示装置及び入力装置を有する。通信ノードにおける後述される各種機能及び処理を実現するプログラムは、ネットワークを介してサーバなどからダウンロードされてもよいし、メモリカードやUSB (Universal Serial Bus)メモリなどの記録媒体によって提供されてもよい。プログラムを記憶した記録媒体がドライブ装置にセットされると、プログラムが記録媒体からドライブ装置を介して補助記憶装置にインストールされる。補助記憶装置は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。メモリ装置は、プログラムの起動指示があった場合に、補助記憶装置からプログラムやデータを読み出して格納する。CPUは、情報を処理するプロセッサであって、メモリ装置に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、後述されるような通信ノードの各種機能及び処理を実行する。通信回路は、STUNサーバ100、TURNサーバ200及び認証サーバ300に通信接続するための通信インタフェースとして用いられる。表示装置は、CPUによる処理結果などを表示するのに用いられ、例えば、液晶ディスプレイ、ブラウン管ディスプレイ(CRT)、プラズマディスプレイなどの各種ディスプレイにより実現される。入力装置は、ユーザが通信ノードに命令やデータなどを入力するのに用いられ、例えば、タッチパネル、キーボード、スタイラス、マイクロフォン、カメラ、スキャナなどにより実現される。  The communication apparatus on which the application 500 is executed is typically an information processing apparatus having a communication function such as a personal computer, a mobile phone, a smartphone, and a tablet. As illustrated, the STUN server 100 and the TURN server 200 are illustrated. And communication connection to the authentication server 300. As an example hardware configuration, the communication device includes a drive device, an auxiliary storage device, a memory device, a CPU, a communication circuit, a display device, and an input device that are interconnected via a bus B. Programs for realizing various functions and processes described later in the communication node may be downloaded from a server or the like via a network, or may be provided by a recording medium such as a memory card or a USB (Universal Serial Bus) memory. . When the recording medium storing the program is set in the drive device, the program is installed from the recording medium to the auxiliary storage device via the drive device. The auxiliary storage device stores the installed program and also stores necessary files and data. The memory device reads and stores the program and data from the auxiliary storage device when there is an instruction to start the program. The CPU is a processor that processes information, and executes various functions and processing of a communication node as described later according to various data such as a program stored in a memory device and parameters necessary for executing the program. . The communication circuit is used as a communication interface for communication connection to the STUN server 100, the TURN server 200, and the authentication server 300. The display device is used to display a processing result by the CPU, and is realized by various displays such as a liquid crystal display, a cathode ray tube display (CRT), and a plasma display. The input device is used when a user inputs a command, data, or the like to a communication node, and is realized by, for example, a touch panel, a keyboard, a stylus, a microphone, a camera, a scanner, or the like.

なお、STUNサーバ100、TURNサーバ200、認証サーバ300、データベース400及びアプリケーション500は独立したエンティティとして図示及び記載されているが、本発明はこれに限定されるものでなく、これらのエンティティの何れか2個以上が組み合わされて実装されてもよい。また、他の実施例では、アプリケーション500を提供するためのアプリケーションサーバが設けられてもよい。  Although the STUN server 100, the TURN server 200, the authentication server 300, the database 400, and the application 500 are illustrated and described as independent entities, the present invention is not limited to this, and any of these entities is shown. Two or more may be combined and mounted. In another embodiment, an application server for providing the application 500 may be provided.

本実施例による通信システム10では、ICE機能によるWebRTCを利用したピアツーピア通信は、ネットワーク事業者、サービス提供者及びアプリケーション開発者などの各主体間の連携により提供される。図2は、本発明の一実施例によるネットワーク事業者、アプリケーション開発者及びサービス提供者の関係を示す概略図である。図2に示されるように、ネットワーク事業者は、STUNサーバ100、TURNサーバ200及び認証サーバ300を運営し、STUNサーバ100、TURNサーバ200及び認証サーバ300の上述した各種機能をサービス提供者及びアプリケーション開発者に提供する。これの対価として、ネットワーク事業者は、サービス提供者やアプリケーション開発者から利用料金を受け取り、あるいは、アプリケーション開発者のためのソフトウェア開発キット(SDK)の購入代金を受け取る。これらの利用料金は、STUNサーバ100やTURNサーバ200の各種機能の利用回数による課金、認証サーバ300によって割り当てられるトランスポートアドレスの個数に応じた課金、TURNサーバ200のTURN機能の利用時間に応じた課金、時間/日/月/年単位でのSTUNサーバ100やTURNサーバ200の利用可能性の提供による定額制の課金(ICE関連サーバのホスティングサービス)などが考えられる。課金の際、ネットワーク事業者は、必要に応じてデータベース400上の利用情報を参照し、課金のために利用するようにしてもよい。  In the communication system 10 according to the present embodiment, peer-to-peer communication using WebRTC by the ICE function is provided by cooperation between entities such as a network operator, a service provider, and an application developer. FIG. 2 is a schematic diagram illustrating a relationship between a network operator, an application developer, and a service provider according to an embodiment of the present invention. As shown in FIG. 2, the network operator operates the STUN server 100, the TURN server 200, and the authentication server 300, and provides the above-described various functions of the STUN server 100, the TURN server 200, and the authentication server 300 to service providers and applications. Provide to developers. In exchange for this, the network operator receives a usage fee from the service provider or application developer, or receives a purchase price for a software development kit (SDK) for the application developer. These usage charges depend on the number of times the various functions of the STUN server 100 and the TURN server 200 are used, the charging according to the number of transport addresses assigned by the authentication server 300, and the usage time of the TURN function of the TURN server 200. There may be charging, flat-rate charging (ICE-related server hosting service) by providing the availability of the STUN server 100 and the TURN server 200 in units of time / day / month / year. At the time of billing, the network operator may refer to the usage information on the database 400 as necessary and use it for billing.

次に、図3〜7を参照して、本発明の一実施例による通信システム10の上述した構成要素をより詳細に説明する。  The above-described components of the communication system 10 according to one embodiment of the present invention will now be described in more detail with reference to FIGS.

図3は、本発明の一実施例によるSTUNサーバの構成を示すブロック図である。図3に示されるように、STUNサーバ100は、STUN機能110、アクセス制限機能120、コール数カウント機能130及びデータベース連携機能140から構成され、データベース400及びアプリケーション500に通信接続される。  FIG. 3 is a block diagram showing a configuration of a STUN server according to an embodiment of the present invention. As shown in FIG. 3, the STUN server 100 includes a STUN function 110, an access restriction function 120, a call count function 130, and a database linkage function 140, and is communicatively connected to the database 400 and the application 500.

STUN機能110は、非特許文献1に記載されたSTUN機能に関するサーバ側に必要とされる機能を有し、アクセス制限機能120によってアクセスが許可されたアプリケーション500に対してSTUN機能を提供する。  The STUN function 110 has a function required on the server side related to the STUN function described in Non-Patent Document 1, and provides the STUN function to the application 500 to which access is permitted by the access restriction function 120.

アクセス制限機能120は、アプリケーション500によるSTUN機能110の利用可否を判断する。具体的には、アクセス制限機能120は、データベース連携機能140を介しデータベース400にアクセスし、アクセス要求元のアプリケーション500又はユーザが認証サーバ300により認証されたアプリケーション又はユーザであるか判断する。アクセス要求元のアプリケーション500又はユーザが認証サーバ300により認証されたアプリケーション又はユーザである場合、アクセス制限機能120は、アクセス要求元のアプリケーション500に対してSTUN機能110へのアクセスを許可する。他方、アクセス要求元のアプリケーション500又はユーザが認証サーバ300により認証されたアプリケーション又はユーザでない場合、アクセス制限機能120は、アクセス要求元のアプリケーション500に対してSTUN機能110へのアクセスを拒絶する。  The access restriction function 120 determines whether the application 500 can use the STUN function 110. Specifically, the access restriction function 120 accesses the database 400 via the database cooperation function 140 and determines whether the access request source application 500 or user is an application or user authenticated by the authentication server 300. When the access request source application 500 or the user is an application or user authenticated by the authentication server 300, the access restriction function 120 permits the access request source application 500 to access the STUN function 110. On the other hand, if the access request source application 500 or the user is not an application or user authenticated by the authentication server 300, the access restriction function 120 denies the access request source application 500 access to the STUN function 110.

コール数カウント機能130は、アクセス制限機能120によりアクセス許可されたアプリケーション500がSTUN機能110を利用すると、利用回数(コール数)をカウント又はインクリメントし、データベース連携機能140を介しSTUN利用データベース410に更新後の利用回数を保存する。  When the application 500 permitted to access by the access restriction function 120 uses the STUN function 110, the call count function 130 counts or increments the number of times of use (number of calls) and updates the STUN usage database 410 via the database linkage function 140. Save the number of subsequent uses.

データベース連携機能140は、STUNサーバ100とデータベース400との間のやりとりを実行する。例えば、データベース連携機能140は、STUN機能110からの利用情報の読み書き要求、アクセス制限機能120からの認証可否判定のための認証情報の読み書き要求、コール数カウント機能130からの利用回数の読み書き要求などに応答して、データベース400に対して要求された処理を実行する。  The database cooperation function 140 executes an exchange between the STUN server 100 and the database 400. For example, the database linkage function 140 uses the STUN function 110 to read / write usage information, requests to read / write authentication information from the access restriction function 120, and requests to read / write the usage count from the call count function 130. In response to this, the requested process is executed on the database 400.

図4は、本発明の一実施例によるTURNサーバの構成を示すブロック図である。図4に示されるように、TURNサーバ200は、TURN機能210、アクセス制限機能220、コール数カウント機能230、データベース連携機能240及び利用帯域測定機能250から構成され、データベース400及びアプリケーション500に通信接続される。  FIG. 4 is a block diagram showing a configuration of a TURN server according to an embodiment of the present invention. As shown in FIG. 4, the TURN server 200 includes a TURN function 210, an access restriction function 220, a call count function 230, a database linkage function 240, and a used bandwidth measurement function 250, and is connected to the database 400 and the application 500. Is done.

TURN機能210は、非特許文献2に記載されたTURN機能に関するサーバ側に必要とされる機能を有し、アクセス制限機能220によってアクセスが許可されたアプリケーション500に対してTURN機能を提供する。  The TURN function 210 has a function required on the server side related to the TURN function described in Non-Patent Document 2, and provides the TURN function to the application 500 permitted to be accessed by the access restriction function 220.

アクセス制限機能220は、アプリケーション500によるTURN機能210の利用可否を判断する。具体的には、アクセス制限機能220は、データベース連携機能240を介しデータベース400にアクセスし、アクセス要求元のアプリケーション500又はユーザが認証サーバ300により認証されたアプリケーション又はユーザであるか判断する。アクセス要求元のアプリケーション500又はユーザが認証サーバ300により認証されたアプリケーション又はユーザである場合、アクセス制限機能220は、アクセス要求元のアプリケーション500に対してTURN機能210へのアクセスを許可する。他方、アクセス要求元のアプリケーション500又はユーザが認証サーバ300により認証されたアプリケーション又はユーザでない場合、アクセス制限機能220は、アクセス要求元のアプリケーション500に対してTURN機能210へのアクセスを拒絶する。  The access restriction function 220 determines whether the application 500 can use the TURN function 210. Specifically, the access restriction function 220 accesses the database 400 via the database cooperation function 240 and determines whether the access request source application 500 or user is an application or user authenticated by the authentication server 300. When the access request source application 500 or the user is an application or user authenticated by the authentication server 300, the access restriction function 220 permits the access request source application 500 to access the TURN function 210. On the other hand, when the access request source application 500 or the user is not an application or user authenticated by the authentication server 300, the access restriction function 220 denies the access request source application 500 access to the TURN function 210.

コール数カウント機能230は、アクセス制限機能220によりアクセス許可されたアプリケーション500がTURN機能210を利用すると、利用回数(コール数)をカウント又はインクリメントし、データベース連携機能240を介しTURN利用データベース420に更新後の利用回数を保存する。  When the application 500 permitted to access by the access restriction function 220 uses the TURN function 210, the call count function 230 counts or increments the number of times of use (number of calls) and updates the TURN usage database 420 via the database linkage function 240. Save the number of subsequent uses.

データベース連携機能240は、TURNサーバ200とデータベース400との間のやりとりを実行する。例えば、データベース連携機能240は、TURN機能210からの利用情報の読み書き要求、アクセス制限機能220からの認証可否判定のための認証情報の読み書き要求、コール数カウント機能230からの利用回数の読み書き要求、利用帯域測定機能250からの測定された利用帯域の読み書き要求などに応答して、データベース400に対して要求された処理を実行する。  The database cooperation function 240 executes exchange between the TURN server 200 and the database 400. For example, the database linkage function 240 receives a usage information read / write request from the TURN function 210, an authentication information read / write request from the access restriction function 220 to determine whether authentication is possible, and a usage count read / write request from the call count function 230. In response to a read / write request of the measured use band from the use band measurement function 250, the requested processing is executed on the database 400.

利用帯域測定機能250は、アクセス制限機能220によりアクセス許可されたアプリケーション500に対してTURNサーバ200が割り当てた利用帯域を測定し、データベース連携機能240を介しTURN利用データベース420に測定された利用帯域を保存する。この利用帯域の測定方法として、例えば、SDP (Session Description Protocol)メッセージに記載された推定帯域幅を利用する方法、パケットダンプによって単位時間あたりの通信料を測定する方法などが考えられるが、これらに限定されるものでなく、他の何れか適切な測定方法が利用されてもよい。  The bandwidth usage measurement function 250 measures the bandwidth usage allocated by the TURN server 200 to the application 500 that is permitted to access by the access restriction function 220, and uses the bandwidth bandwidth measured in the TURN usage database 420 via the database linkage function 240. save. For example, a method of using the estimated bandwidth described in an SDP (Session Description Protocol) message or a method of measuring a communication fee per unit time by packet dump may be used as a method of measuring the bandwidth used. Any other suitable measurement method may be used without limitation.

図5は、本発明の一実施例による認証サーバの構成を示すブロック図である。認証サーバ300は、アプリケーション500によるSTUNサーバ100及びTURNサーバ200の利用可能性を制御し、認証されたアプリケーション500に対してSTUNサーバ100及びTURNサーバ200へのアクセスを許可する。図5に示されるように、認証サーバ300は、認証機能310、認証キー発行機能320及びデータベース連携機能330から構成され、データベース400及びアプリケーション500に通信接続される。  FIG. 5 is a block diagram showing the configuration of the authentication server according to one embodiment of the present invention. The authentication server 300 controls the availability of the STUN server 100 and the TURN server 200 by the application 500, and permits the authenticated application 500 to access the STUN server 100 and the TURN server 200. As shown in FIG. 5, the authentication server 300 includes an authentication function 310, an authentication key issue function 320, and a database linkage function 330, and is communicatively connected to the database 400 and the application 500.

認証機能310は、アプリケーション500に対して認証処理を実行し、アクセス要求元のアプリケーション500がSTUNサーバ100、TURNサーバ200及びこれらを介したデータベース400へのアクセスが可能であるか判断する。このアプリケーション500に対する認証処理として、例えば、IDやパスワードを用いた認証、アクセスドメインに応じた認証キーの発行の判断、GPS (Global Positioning System)等の物理的なロケーション情報による認証、SIM (Subscriber Identity Module)カードやMacアドレス等のハードウェア情報を用いた認証などが考えられるが、これらに限定されるものでなく、他の何れか適切な認証方法が利用されてもよい。  The authentication function 310 executes an authentication process for the application 500, and determines whether the access request source application 500 can access the STUN server 100, the TURN server 200, and the database 400 via them. Authentication processing for the application 500 includes, for example, authentication using an ID or password, determination of issuance of an authentication key according to an access domain, authentication based on physical location information such as GPS (Global Positioning System), SIM (Subscriber Identity Module) Authentication using hardware information such as a card or Mac address is conceivable, but is not limited to this, and any other appropriate authentication method may be used.

認証キー発行機能320は、認証機能310がアプリケーション500に対する認証処理を完了し、アプリケーション500に対してSTUNサーバ100やTURNサーバ200へのアクセスを許可した場合、STUNサーバ100やTURNサーバ200へのアクセスに必要となる認証キーを発行する。認証キーの発行方法として、認証に用いた情報を種としたSHA (Secure Hash Algorithm)等のアルゴリズムによるハッシュ値の生成などが考えられるが、これらに限定されるものでなく、他の何れか適切な認証キー発行方法が利用されてもよい。  When the authentication function 310 completes the authentication process for the application 500 and permits the application 500 to access the STUN server 100 or the TURN server 200, the authentication key issuing function 320 accesses the STUN server 100 or the TURN server 200. Issue the authentication key required for. As a method for issuing an authentication key, it is possible to generate a hash value by using an algorithm such as SHA (Secure Hash Algorithm) using information used for authentication as a seed. An authentication key issuing method may be used.

データベース連携機能330は、認証サーバ300とデータベース400との間のやりとりを実行する。例えば、データベース連携機能330は、認証機能310からの利用情報の読み書き要求、認証キー発行機能320からの各種情報の読み書き要求などに応答して、データベース400に対して要求された処理を実行する。  The database cooperation function 330 executes exchange between the authentication server 300 and the database 400. For example, the database cooperation function 330 executes the requested processing for the database 400 in response to a read / write request for usage information from the authentication function 310 and a read / write request for various information from the authentication key issuing function 320.

図6は、本発明の一実施例によるデータベースの構成を示すブロック図である。データベース400は、STUNサーバ100、TURNサーバ200及び認証サーバ300とやりとりすることによって書き込まれたデータ、契約時やデフォルトで設定されたデータなどを保持すると共に、STUNサーバ100、TURNサーバ200及び認証サーバ300からの取得要求に応答して保持されているデータを提供する。図6に示されるように、データベース400は、STUN利用データベース410、TURN利用データベース420、ユーザデータベース430及びアプリケーションデータベース440から構成され、STUNサーバ100、TURNサーバ200及び認証サーバ300と通信接続される。  FIG. 6 is a block diagram showing the structure of a database according to an embodiment of the present invention. The database 400 holds data written by interacting with the STUN server 100, the TURN server 200, and the authentication server 300, data set at the time of contract and default settings, and the like, and also includes the STUN server 100, the TURN server 200, and the authentication server. The data held in response to the acquisition request from 300 is provided. As shown in FIG. 6, the database 400 includes a STUN usage database 410, a TURN usage database 420, a user database 430, and an application database 440, and is connected to the STUN server 100, the TURN server 200, and the authentication server 300 by communication.

STUN利用データベース410は、STUNサーバ100からアクセスされるデータベースであり、STUNサーバ100の利用情報やコール数などを保持する。これらの情報は、ユーザデータベース430やアプリケーションデータベース440の認証情報と関連付けされる。  The STUN usage database 410 is a database accessed from the STUN server 100, and holds usage information, the number of calls, and the like of the STUN server 100. These pieces of information are associated with authentication information in the user database 430 and the application database 440.

TURN利用データベース420は、TURNサーバ200からアクセスされるデータベースであり、TURNサーバ200の利用情報、コール数や利用帯域量などを保持する。これらの情報は、ユーザデータベース430やアプリケーションデータベース440の認証情報と関連付けされる。  The TURN usage database 420 is a database accessed from the TURN server 200, and holds the usage information of the TURN server 200, the number of calls, the amount of bandwidth used, and the like. These pieces of information are associated with authentication information in the user database 430 and the application database 440.

ユーザデータベース430は、NAT/FWの通過に関連するICE機能などの各種機能を提供するSTUNサーバ100及びTURNサーバ200が利用可能なユーザに関するユーザ情報、認証状態及び認証キーを格納する。ユーザに対してSTUNサーバ100及びTURNサーバ200の利用が許可されている場合(ユーザIDとパスワードなどにより認証が行われる場合など)、STUNサーバ100、TURNサーバ200及び認証サーバ300は、ユーザデータベース430に格納されているユーザ情報や認証情報を参照して、ユーザがSTUNサーバ100及びTURNサーバ200にアクセス可能であるか判断する。一実施例では、STUNサーバ100及びTURNサーバ200は、アクセス要求元のユーザが認証サーバ300により認証キーが発行されたユーザであるか判断するようにしてもよい。アクセス要求元のユーザに対する認証キーがユーザデータベース430に格納されている場合、STUNサーバ100及びTURNサーバ200は、アクセス要求元のユーザに対してSTUN機能110又はTURN機能210へのアクセスを許可するようにしてもよい。他方、アクセス要求元のユーザに対する認証キーがユーザデータベース430に格納されていない場合、STUNサーバ100及びTURNサーバ200は、アクセス要求元のユーザに対してSTUN機能110又はTURN機能210へのアクセスを拒絶するようにしてもよい。なお、ユーザデータベース430は、ユーザごとによる認証判断が行われない場合(例えば、アクセス元のドメインだけで認証判断が行われる場合など)、必要ではない。  The user database 430 stores user information, authentication states, and authentication keys related to users that can be used by the STUN server 100 and the TURN server 200 that provide various functions such as an ICE function related to the passage of NAT / FW. When the user is permitted to use the STUN server 100 and the TURN server 200 (for example, when authentication is performed using a user ID and a password), the STUN server 100, the TURN server 200, and the authentication server 300 include the user database 430. It is determined whether the user can access the STUN server 100 and the TURN server 200 with reference to user information and authentication information stored in the server. In one embodiment, the STUN server 100 and the TURN server 200 may determine whether the access requesting user is a user whose authentication key has been issued by the authentication server 300. When the authentication key for the access requesting user is stored in the user database 430, the STUN server 100 and the TURN server 200 allow the access requesting user to access the STUN function 110 or the TURN function 210. It may be. On the other hand, when the authentication key for the access requesting user is not stored in the user database 430, the STUN server 100 and the TURN server 200 reject the access requesting user access to the STUN function 110 or the TURN function 210. You may make it do. Note that the user database 430 is not necessary when the authentication determination for each user is not performed (for example, when the authentication determination is performed only in the access source domain).

アプリケーションデータベース440は、NAT/FWの通過に関連するICE機能などの各種機能を提供するSTUNサーバ100及びTURNサーバ200が利用可能なアプリケーション500に関するアプリケーション情報、認証状態及び認証キーを格納する。アプリケーション500に対してSTUNサーバ100及びTURNサーバ200の利用が許可されている場合(アクセス元のドメインだけで認証判断が行われる場合など)、STUNサーバ100、TURNサーバ200及び認証サーバ300は、アプリケーションデータベース440に格納されているアプリケーション情報や認証情報を参照して、アプリケーション500がSTUNサーバ100及びTURNサーバ200にアクセス可能であるか判断する。一実施例では、STUNサーバ100及びTURNサーバ200は、アクセス要求元のアプリケーション500が認証サーバ300により認証キーが発行されたアプリケーションであるか判断するようにしてもよい。アクセス要求元のアプリケーションに対する認証キーがアプリケーションデータベース440に格納されている場合、STUNサーバ100及びTURNサーバ200は、アクセス要求元のアプリケーション500に対してSTUN機能110又はTURN機能210へのアクセスを許可するようにしてもよい。他方、アクセス要求元のアプリケーション500に対する認証キーがアプリケーションデータベース440に格納されていない場合、STUNサーバ100及びTURNサーバ200は、アクセス要求元のアプリケーション500に対してSTUN機能110又はTURN機能210へのアクセスを拒絶するようにしてもよい。なお、アプリケーションデータベース440は、アプリケーションごとによる認証判断が行われない場合(例えば、ユーザIDとパスワードなどにより認証が行われる場合など)、必要ではない。  The application database 440 stores application information, an authentication state, and an authentication key related to the application 500 that can be used by the STUN server 100 and the TURN server 200 that provide various functions such as an ICE function related to the passage of NAT / FW. When the application 500 is permitted to use the STUN server 100 and the TURN server 200 (for example, when authentication determination is performed only in the access source domain), the STUN server 100, the TURN server 200, and the authentication server 300 It is determined whether the application 500 can access the STUN server 100 and the TURN server 200 with reference to the application information and authentication information stored in the database 440. In one embodiment, the STUN server 100 and the TURN server 200 may determine whether the access request source application 500 is an application for which an authentication key has been issued by the authentication server 300. When the authentication key for the access request source application is stored in the application database 440, the STUN server 100 and the TURN server 200 permit the access request source application 500 to access the STUN function 110 or the TURN function 210. You may do it. On the other hand, when the authentication key for the access request source application 500 is not stored in the application database 440, the STUN server 100 and the TURN server 200 access the STUN function 110 or the TURN function 210 with respect to the access request source application 500. You may make it refuse. Note that the application database 440 is not required when authentication determination is not performed for each application (for example, when authentication is performed using a user ID and a password).

図7は、本発明の一実施例によるアプリケーションの構成を示すブロック図である。アプリケーション500は、ピアツーピア通信を伴うアプリケーションであり、STUNサーバ100、TURNサーバ200及び認証サーバ300とのやりとりなど、当該アプリケーション500におけるICEの利用に関する処理を実行するICEクライアント510を有する。ICEクライアント510は、認証機能520及びICE機能530から構成される。  FIG. 7 is a block diagram showing the configuration of an application according to an embodiment of the present invention. The application 500 is an application that involves peer-to-peer communication, and includes an ICE client 510 that executes processing related to the use of ICE in the application 500, such as interaction with the STUN server 100, the TURN server 200, and the authentication server 300. The ICE client 510 includes an authentication function 520 and an ICE function 530.

認証機能520は、アプリケーション500がSTUNサーバ100、TURNサーバ200及びこれらを介したデータベース400へのアクセスが可能であると判断された結果として、認証サーバ300により発行された認証キーを以降の通信に利用するため管理する。アプリケーション500の使用時やインストール時を含む任意のタイミングにおいて、認証機能520は、認証情報を認証サーバ300に送信し、認証が成功すると、認証サーバ300から認証キーを受信する。このアプリケーション500に対する認証処理として、例えば、IDやパスワードを入力/送信することによる認証、アクセスドメイン情報を認証サーバ300に渡して認証キーの発行を要求する方法、GPS等の物理的なロケーション情報を認証サーバ300に渡して認証を受ける方法、SIMカードやMacアドレス等のハードウェア情報を認証サーバに渡して認証を受ける方法などが考えられるが、これらに限定されるものでなく、他の何れか適切な認証方法が利用されてもよい。  As a result of determining that the application 500 can access the STUN server 100, the TURN server 200, and the database 400 via these, the authentication function 520 uses the authentication key issued by the authentication server 300 for subsequent communication. Manage for use. At any timing including when the application 500 is used and when it is installed, the authentication function 520 transmits authentication information to the authentication server 300, and receives an authentication key from the authentication server 300 when the authentication is successful. As an authentication process for the application 500, for example, authentication by inputting / transmitting an ID or password, a method of requesting issuance of an authentication key by passing the access domain information to the authentication server 300, physical location information such as GPS, etc. There are a method of passing authentication to the authentication server 300 and receiving authentication, a method of passing hardware information such as a SIM card and Mac address to the authentication server, and the like. Appropriate authentication methods may be used.

ICE機能530は、非特許文献3に記載されたICEに関するクライアント側に必要とされる機能である。ICE機能530は、ICEの実装を必須としているWebRTCに関連するコンポーネント、例えば、ブラウザ、Webkitなどのブラウザレンダリングエンジン、WebRTC仕様に基づくピアツーピア通信用ライブラリなどを利用するものとする。  The ICE function 530 is a function required on the client side regarding the ICE described in Non-Patent Document 3. The ICE function 530 uses components related to WebRTC that require implementation of ICE, such as a browser, a browser rendering engine such as Webkit, and a peer-to-peer communication library based on the WebRTC specification.

次に、図8〜10を参照して、本発明の一実施例によるM2M (Machine-to-Machine)データ通信を説明する。本実施例では、通信システム10においてM2Mデータ通信が実行され、M2Mのゲートウェイ(GW)等にレンダリングエンジンやブラウザのネイティブコードを埋め込むことによってピアツーピア通信を実現できる。本実施例では、アプリケーション500はM2M GWに対応する。  Next, M2M (Machine-to-Machine) data communication according to an embodiment of the present invention will be described with reference to FIGS. In this embodiment, M2M data communication is executed in the communication system 10, and peer-to-peer communication can be realized by embedding the rendering engine and the native code of the browser in the M2M gateway (GW) or the like. In this embodiment, the application 500 corresponds to the M2M GW.

従来のM2M通信では、図8に示されるように、NAT/FWの存在によりM2M GW同士の通信が実現できないため、M2M GW600A及び600BはM2Mサーバ650を介し通信を実現する必要があった。この場合、図9に示されるように、ステップA−1〜A−2において、M2MアプリA500Aは自らをM2Mサーバ650に登録し、他方、ステップA−3〜A−4において、M2MアプリB500Bは自らをM2Mサーバ650に登録する。その後、ステップB−1〜B−5において、通信を開始したいM2MアプリA500AがM2M GW A600Aに対して所望の情報を特定したラベル情報等を渡すと、M2M GW A600Aに、ラベル情報等に基づきM2Mサーバ650を介しM2MアプリB500Bが収容されるM2M GW B600Bが通知される。ステップB−6において、M2Mサーバ650を介しM2MアプリA500AとM2MアプリB500Bとの間で通信が開始される。M2Mサーバ650では、アプリケーションの検出と正しいゲートウェイへの振り分け(リターゲティング)が行われるため、M2Mアプリやゲートウェイの増加に従って、M2Mサーバ650における負荷が急激に増大する。  In conventional M2M communication, as shown in FIG. 8, communication between M2M GWs cannot be realized due to the presence of NAT / FW. Therefore, M2M GWs 600A and 600B have to realize communication via M2M server 650. In this case, as shown in FIG. 9, in steps A-1 to A-2, the M2M application A 500A registers itself with the M2M server 650, while in steps A-3 to A-4, the M2M application B 500B Register itself with the M2M server 650. After that, in Steps B-1 to B-5, when the M2M application A 500A that wants to start communication passes the label information that specifies the desired information to the M2M GW A600A, the M2M GW A600A is M2M based on the label information. M2M GW B600B in which M2M application B500B is accommodated is notified via server 650. In step B-6, communication is started between the M2M application A 500A and the M2M application B 500B via the M2M server 650. In the M2M server 650, since application detection and distribution to a correct gateway (retargeting) are performed, the load on the M2M server 650 increases rapidly as the number of M2M applications and gateways increases.

他方、上述した実施例による通信システム10を利用することによって、M2M GW600A及び600Bは、STUNサーバ100によって通信経路が確立された場合には、図示されるように、直接的に通信することが可能になり、STUNサーバ100によって通信経路が確立されなかった場合でも、図示されるように、TURNサーバ200を介し通信することが可能になる。  On the other hand, by using the communication system 10 according to the above-described embodiment, the M2M GWs 600A and 600B can communicate directly as illustrated when the communication path is established by the STUN server 100. Thus, even when the communication path is not established by the STUN server 100, it is possible to communicate via the TURN server 200 as illustrated.

図10に示されるように、図9のステップA−1〜A−4と同様に、ステップA−1〜A−2において、M2MアプリA500Aは自らをM2Mサーバ650に登録し、他方、ステップA−3〜A−4において、M2MアプリB500Bは自らをM2Mサーバ650に登録する。  As shown in FIG. 10, similarly to steps A-1 to A-4 in FIG. 9, in steps A-1 to A-2, the M2M application A 500A registers itself with the M2M server 650, while step A In -3 to A-4, the M2M application B 500B registers itself with the M2M server 650.

その後、ステップB−1〜B−3において、M2M GW A600Aは、認証サーバ300による認証を受け、認証キーを取得する。認証サーバ300は、認証されたM2M GW A600Aの認証情報をデータベース400に登録する。同様に、ステップB−4〜B−6において、M2M GW B600Bは、認証サーバ300による認証を受け、認証キーを取得する。認証サーバ300は、認証されたM2M GW B600Bの認証情報をデータベース400に登録する。  Thereafter, in steps B-1 to B-3, the M2M GW A600A receives authentication by the authentication server 300 and acquires an authentication key. The authentication server 300 registers the authentication information of the authenticated M2M GW A600A in the database 400. Similarly, in steps B-4 to B-6, the M2M GW B600B receives authentication by the authentication server 300 and acquires an authentication key. The authentication server 300 registers the authentication information of the authenticated M2M GW B600B in the database 400.

ステップC−1において、通信を開始したいM2MアプリA500AがM2M GW A600Aに対して所望の情報を特定したラベル情報等を渡す。  In step C-1, the M2M application A 500A that wishes to start communication passes label information and the like specifying the desired information to the M2M GW A600A.

STUNサーバ100による通信経路を確立する場合、ステップC−2〜C−5において、M2M GW A600Aは、自らのSTUNサーバ100の利用可能性を通知するため、STUNサーバ100に認証キーを送信する。STUNサーバ100は、受信した認証キーをデータベース400に照会し、受信した認証キーと認証サーバ300によりデータベース400に登録された認証キーとを比較することによって、M2M GW A600AがSTUNサーバ100にアクセス可能であるか確認する。2つの認証キーが同一であり、M2M GW A600AがSTUNサーバ100にアクセス可能であると判断した場合、STUNサーバ100は、M2M GW A600AにグローバルIPアドレスとポート番号とを通知する。  When establishing a communication path by the STUN server 100, in steps C-2 to C-5, the M2M GW A600A transmits an authentication key to the STUN server 100 in order to notify the availability of its own STUN server 100. The STUN server 100 refers to the received authentication key in the database 400, and the M2M GW A600A can access the STUN server 100 by comparing the received authentication key with the authentication key registered in the database 400 by the authentication server 300. Check if it is. When it is determined that the two authentication keys are the same and the M2M GW A600A can access the STUN server 100, the STUN server 100 notifies the M2M GW A600A of the global IP address and the port number.

他方、TURNサーバ200による通信経路を確立する場合、ステップC−6〜C−13において、M2M GW A600Aは、次に自らのTURNサーバ200の利用可能性を通知するため、TURNサーバ200に認証キーを送信する。TURNサーバ200は、受信した認証キーをデータベース400に照会し、受信した認証キーと認証サーバ300によりデータベース400に登録された認証キーとを比較することによって、M2M GW A600AがTURNサーバ200にアクセス可能であるか確認する。2つの認証キーが同一であり、M2M GW A600AがTURNサーバ200にアクセス可能であると判断した場合、TURNサーバ200は、M2M GW A600Aにリレー用IPアドレスとポート番号とを通知する。  On the other hand, when establishing a communication path by the TURN server 200, in steps C-6 to C-13, the M2M GW A600A next notifies the TURN server 200 of the authentication key in order to notify the availability of its own TURN server 200. Send. The TURN server 200 queries the database 400 for the received authentication key, and the M2M GW A600A can access the TURN server 200 by comparing the received authentication key with the authentication key registered in the database 400 by the authentication server 300. Check if it is. When it is determined that the two authentication keys are the same and the M2M GW A600A can access the TURN server 200, the TURN server 200 notifies the M2M GW A600A of the relay IP address and the port number.

ステップC−14〜C−15において、M2M GW A600Aは、M2Mサーバ650にラベル情報等を渡すことによって、M2Mサーバ650を経由してM2M GW B600Bを検出し、ステップC−2〜C−5において取得したグローバルIPアドレス、又はステップC−6〜C−13において取得したリレー用IPアドレスを含む通信開始要求信号を検出したM2M GW B600Bに送信する。  In steps C-14 to C-15, the M2M GW A600A detects M2M GW B600B via the M2M server 650 by passing label information and the like to the M2M server 650, and in steps C-2 to C-5. The communication start request signal including the acquired global IP address or the relay IP address acquired in steps C-6 to C-13 is transmitted to the detected M2M GW B600B.

通信開始要求信号にグローバルIPアドレスが含まれていた場合、ステップC−16〜C−19において、M2M GW B600Bは、自らのSTUNサーバ100の利用可能性を通知するため、STUNサーバ100に認証キーを送信する。STUNサーバ100は、受信した認証キーをデータベース400に照会し、受信した認証キーと認証サーバ300によりデータベース400に登録された認証キーとを比較することによって、M2M GW B600BがSTUNサーバ100にアクセス可能であるか確認する。2つの認証キーが同一であり、M2M GW B600BがSTUNサーバ100にアクセス可能であると判断した場合、STUNサーバ100は、M2M GW B600BにグローバルIPアドレスとポート番号とを通知する。  When the communication start request signal includes the global IP address, in steps C-16 to C-19, the M2M GW B600B notifies the STUN server 100 of the authentication key in order to notify the availability of its own STUN server 100. Send. The STUN server 100 refers to the received authentication key in the database 400, and the M2M GW B600B can access the STUN server 100 by comparing the received authentication key with the authentication key registered in the database 400 by the authentication server 300. Check if it is. When it is determined that the two authentication keys are the same and the M2M GW B600B can access the STUN server 100, the STUN server 100 notifies the M2M GW B600B of the global IP address and the port number.

他方、通信開始要求信号にリレー用IPアドレスが含まれていた場合、ステップC−20〜C−23において、M2M GW B600Bは、次に自らのTURNサーバ200の利用可能性を通知するため、TURNサーバ200に認証キーを送信する。TURNサーバ200は、受信した認証キーをデータベース400に照会し、受信した認証キーと認証サーバ300によりデータベース400に登録された認証キーとを比較することによって、M2M GW B600BがTURNサーバ200にアクセス可能であるか確認する。2つの認証キーが同一であり、M2M GW B600BがTURNサーバ200にアクセス可能であると判断した場合、TURNサーバ200は、M2M GW B600Bにリレー用IPアドレスとポート番号とを通知する。  On the other hand, if the IP address for relay is included in the communication start request signal, in steps C-20 to C-23, the M2M GW B 600B next notifies the availability of its own TURN server 200. An authentication key is transmitted to the server 200. The TURN server 200 queries the database 400 for the received authentication key, and the M2M GW B600B can access the TURN server 200 by comparing the received authentication key with the authentication key registered in the database 400 by the authentication server 300. Check if it is. When it is determined that the two authentication keys are the same and the M2M GW B600B can access the TURN server 200, the TURN server 200 notifies the M2M GW B600B of the relay IP address and the port number.

ステップC−24〜C−25において、M2M GW B600Bは、M2Mサーバ650を経由して取得したグローバルIPアドレス又はリレー用IPアドレスを含む通信応答信号をM2M GW A600Aに送信する。  In Steps C-24 to C-25, the M2M GW B600B transmits a communication response signal including the global IP address or the relay IP address acquired via the M2M server 650 to the M2M GW A600A.

このようにして、ステップC−26において、M2M GW A600AとM2M GW B600Bとの間でピアツーピア通信の疎通性が確認される。  In this way, in step C-26, the peer-to-peer communication is confirmed between the M2M GW A600A and the M2M GW B600B.

ステップC−27において、STUNによるNAT/FWの通過が実現された場合、M2M GW A600AとM2M GW B600Bとの間にピアツーピアの通信路が確立され、TURNによるNAT/FWの通過が実現された場合、TURNサーバ200を中継したM2M GW A600AとM2M GW B600Bとの間にピアツーピアの通信路が確立される。これにより、M2Mサーバ650を介すことなくM2M GW A600AとM2M GW B600Bとの間にピアツーピアの通信路を確立することが可能になる。  In step C-27, when NAT / FW passage by STUN is realized, peer-to-peer communication path is established between M2M GW A600A and M2M GW B600B, and NAT / FW passage by TURN is realized A peer-to-peer communication path is established between the M2M GW A600A and the M2M GW B600B relaying the TURN server 200. This makes it possible to establish a peer-to-peer communication path between the M2M GW A600A and the M2M GW B600B without going through the M2M server 650.

上述したフローは、M2Mサーバ650を介すことなくM2M GW A600AとM2M GW B600Bとの間にピアツーピアの通信路を確立する処理の単なる一例であり、登録・認証のタイミングや通信開始要求信号の送信などは異なる順序で又は並列的に行われてもよい。  The above-described flow is merely an example of a process for establishing a peer-to-peer communication path between the M2M GW A600A and the M2M GW B600B without going through the M2M server 650, and transmits the registration / authentication timing and communication start request signal. Etc. may be performed in a different order or in parallel.

従来は、M2Mサービスの開発者やサービス提供者がICE機能を利用したピアツーピア通信を実現するための前提となる一定水準以上の知識や設備が必要であった。しかしながら、本実施例によると、開発者やサービス提供者は、ネットワーク事業者が提供するサーバ機能を利用し、WebRTCのような市中のICEクライアント実装を流用することが可能になり、従来技術による知識や設備について高い要求を求めることなく、ネットワーク側とクライアント側との双方においてピアツーピア通信をより容易に実現することが可能になる。この結果、M2Mサーバの負荷を軽減することが可能になり、サーバの設備投資を低減したり、データの通信遅延やパケットロスを減少させることによる通信品質の向上などの効果を奏することが可能になる。また、ネットワーク事業者は、アプリケーション又はユーザによるサーバの利用に対してコール数や利用帯域幅などに応じて課金することによって、サーバの運営コストを賄うことが可能である。  Previously, M2M service developers and service providers required knowledge and facilities above a certain level, which are prerequisites for realizing peer-to-peer communication using ICE functions. However, according to the present embodiment, developers and service providers can use a server function provided by a network operator and divert a commercial ICE client implementation such as WebRTC. Peer-to-peer communication can be more easily realized on both the network side and the client side without requiring high demands on knowledge and facilities. As a result, it is possible to reduce the load on the M2M server, and it is possible to reduce the capital investment of the server and improve the communication quality by reducing the data communication delay and packet loss. Become. The network operator can cover the server operating cost by charging the usage of the server by the application or the user according to the number of calls or the bandwidth used.

次に、図11を参照して、本発明の一実施例による自律分散型コンピューティングを説明する。本実施例では、アプリケーション500は自律分散型コンピューティングアプリに対応する。図11に示されるように、ICEクライアント510を有する自律分散型コンピューティングアプリ500A,Bは、従来はNAT/FWの存在によりコンピューティングアプリ同士の通信が実現できないため、管理サーバ700を介し通信を実現する必要があった。この場合、管理サーバ700では、アプリケーションの検出や自律分散型コンピューティングアプリ間の通信のため、自律分散型コンピューティングアプリの増加に従って、管理サーバ700における負荷が急激に増大する。  Next, with reference to FIG. 11, an autonomous distributed computing according to an embodiment of the present invention will be described. In this embodiment, the application 500 corresponds to an autonomous distributed computing application. As shown in FIG. 11, the autonomous distributed computing applications 500A and B having the ICE client 510 cannot communicate with each other due to the presence of NAT / FW. It was necessary to realize. In this case, in the management server 700, the load on the management server 700 increases rapidly as the number of autonomous distributed computing applications increases because of application detection and communication between autonomous distributed computing applications.

他方、上述した実施例による通信システム10を利用することによって、自律分散型コンピューティングアプリ500A,Bは、STUNサーバ100によって通信経路が確立された場合には、図示されるように、直接的に通信することが可能になり、STUNサーバ100によって通信経路が確立されなかった場合でも、図示されるように、TURNサーバ200を介し通信することが可能になる。本実施例によると、開発者やサービス提供者は、ネットワーク事業者が提供するサーバ機能を利用し、WebRTCのような市中のICEクライアント実装を流用することが可能になり、従来技術による知識や設備について高い要求を求めることなく、ネットワーク側とクライアント側との双方においてピアツーピア通信をより容易に実現することが可能になる。この結果、管理サーバの負荷を軽減することが可能になり、サーバの設備投資を低減したり、データの通信遅延やパケットロスを減少させることによる通信品質の向上などの効果を奏することが可能になる。また、ネットワーク事業者は、アプリケーション又はユーザによるサーバの利用に対してコール数や利用帯域幅などに応じて課金することによって、サーバの運営コストを賄うことが可能である。  On the other hand, by using the communication system 10 according to the above-described embodiment, when the communication path is established by the STUN server 100, the autonomous distributed computing applications 500A and 500B can be directly connected as illustrated. Communication is possible, and even when a communication path is not established by the STUN server 100, it is possible to communicate via the TURN server 200 as shown in the figure. According to this embodiment, developers and service providers can use the ICE client implementation in the city such as WebRTC using the server function provided by the network operator. Peer-to-peer communication can be more easily realized on both the network side and the client side without requiring high demands on equipment. As a result, it is possible to reduce the load on the management server, and it is possible to reduce the capital investment of the server and improve the communication quality by reducing the data communication delay and packet loss. Become. The network operator can cover the server operating cost by charging the usage of the server by the application or the user according to the number of calls or the bandwidth used.

他の実施例として、上述した実施例を応用してオーバレイネットワーク、アドホックネットワーク、ファイル交換用ネットワーク、VPN (Virtual Private Network)アプリケーションを実現することも可能であろう。  As another embodiment, an overlay network, an ad hoc network, a file exchange network, and a VPN (Virtual Private Network) application may be realized by applying the above-described embodiment.

このように、本発明によると、アプリケーション開発者やサービス提供者は、簡単にピアツーピア通信を含むアプリケーションを構築することが可能となる。ネットワーク事業者が、ICEのサーバ機能を提供してアプリケーション開発者と取引を行いつつ、WebRTCを利用してICEクライアントを構築することでアプリケーション開発者/提供者はICEのためのサーバを提供する必要がなくなるうえ、クライアント側の実装を行う必要もなくなる。  As described above, according to the present invention, an application developer or a service provider can easily construct an application including peer-to-peer communication. The network developer must provide the server for ICE by providing the server function of ICE and doing business with the application developer, and building the ICE client using WebRTC. Eliminates the need for client-side implementation.

以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。  As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to the specific embodiment mentioned above, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.

10 通信システム
100 STUNサーバ
200 TURNサーバ
300 認証サーバ
400 データベース
500 アプリケーション
10 Communication System 100 STUN Server 200 TURN Server 300 Authentication Server 400 Database 500 Application

Claims (8)

Translated fromJapanese
ネットワーク事業者により運営されるSTUNサーバ、TURNサーバ及び認証サーバを介しWebRTC (Web Real-Time Communication)を利用してピアツーピア通信を実行する通信装置であって、
前記認証サーバと通信することによって当該通信装置が前記STUNサーバ及び前記TURNサーバにアクセス可能であるか判断し、当該通信装置がSTUNサーバ及びTURNサーバにアクセス可能であると判断した前記認証サーバにより発行された認証キーを管理する認証機能と、
前記WebRTCに実装されたNAT/FW (Network Address Translation/Firewall)を通過するためのICE (Interactive Connectivity Establishment)を実行することによって、前記認証キーを用いて前記STUNサーバ又は前記TURNサーバにアクセスし、前記ピアツーピア通信のためのIPアドレスを取得するICE機能と、
を有する通信装置。
A communication device that performs peer-to-peer communication using WebRTC (Web Real-Time Communication) via a STUN server, a TURN server, and an authentication server operated by a network operator,
Issued by the authentication server that determines that the communication device can access the STUN server and the TURN server by communicating with the authentication server, and determines that the communication device can access the STUN server and the TURN server An authentication function for managing the authenticated authentication key;
By accessing the STUN server or the TURN server using the authentication key by executing ICE (Interactive Connectivity Establishment) for passing through NAT / FW (Network Address Translation / Firewall) implemented in the WebRTC, An ICE function for obtaining an IP address for the peer-to-peer communication;
A communication device.
前記認証キーに基づき前記STUNサーバにアクセスすることが許可されると、前記ICE機能は、前記STUNサーバからグローバルIPアドレスを受信し、前記受信したグローバルIPアドレスを用いて通信相手先の通信装置とのピアツーピア通信を実行する、請求項1記載の通信装置。  When it is permitted to access the STUN server based on the authentication key, the ICE function receives a global IP address from the STUN server, and uses the received global IP address to communicate with a communication apparatus of a communication partner. The communication device according to claim 1, wherein the communication device performs peer-to-peer communication. 前記STUNサーバは、当該通信装置が前記STUNサーバにアクセスした回数をカウントするコール数カウント機能を有し、
当該通信装置は、前記コール数カウント機能によりカウントされた回数に応じて課金される、請求項2記載の通信装置。
The STUN server has a call count function that counts the number of times the communication device has accessed the STUN server,
The communication apparatus according to claim 2, wherein the communication apparatus is charged according to the number of times counted by the call count function.
前記認証キーに基づき前記TURNサーバにアクセスすることが許可されると、前記ICE機能は、前記TURNサーバからリレー用IPアドレスを受信し、前記受信したリレー用IPアドレスを用いて前記TURNサーバを介した通信相手先の通信装置とのピアツーピア通信を実行する、請求項1記載の通信装置。  When access to the TURN server is permitted based on the authentication key, the ICE function receives a relay IP address from the TURN server, and uses the received relay IP address to pass through the TURN server. The communication apparatus according to claim 1, wherein peer-to-peer communication is performed with the communication apparatus of the communication counterpart. 前記TURNサーバは、当該通信装置が前記TURNサーバにアクセスした回数をカウントするコール数カウント機能を有し、
当該通信装置は、前記コール数カウント機能によりカウントされた回数に応じて課金される、請求項4記載の通信装置。
The TURN server has a call count function that counts the number of times the communication device has accessed the TURN server,
The communication apparatus according to claim 4, wherein the communication apparatus is charged according to the number of times counted by the call number counting function.
前記TURNサーバは、当該通信装置に割り当てられた利用帯域を測定する利用帯域測定機能を有し、
当該通信装置は、前記利用帯域測定機能により測定された利用帯域に応じて課金される、請求項4記載の通信装置。
The TURN server has a use band measurement function for measuring a use band assigned to the communication device,
The communication apparatus according to claim 4, wherein the communication apparatus is charged according to a use band measured by the use band measurement function.
ネットワーク事業者により運営されるSTUNサーバ、TURNサーバ及び認証サーバを有する通信システムにおけるピアツーピア通信を実現するための方法であって、
前記ピアツーピア通信の要求元のアプリケーションから受信した前記認証サーバにより発行された認証キーに基づき、前記要求元のアプリケーションに対して前記STUNサーバ又は前記TURNサーバへのアクセスを許可するステップと、
前記STUNサーバからグローバルIPアドレス又は前記TURNサーバからリレー用IPアドレスを前記要求元のアプリケーションに送信するステップと、
前記グローバルIPアドレスを用いて要求先のアプリケーションと前記ピアツーピア通信を実行するか、又は前記リレー用IPアドレスを用いて前記要求先のアプリケーションと前記TURNサーバを経由して前記ピアツーピア通信を実行するステップと、
を有する方法。
A method for realizing peer-to-peer communication in a communication system having a STUN server, a TURN server, and an authentication server operated by a network operator,
Granting the requesting application access to the STUN server or the TURN server based on an authentication key issued by the authentication server received from the requesting application of the peer-to-peer communication;
Transmitting a global IP address from the STUN server or a relay IP address from the TURN server to the requesting application;
Performing the peer-to-peer communication with the requested application using the global IP address, or performing the peer-to-peer communication via the requesting application and the TURN server using the relay IP address; ,
Having a method.
ネットワーク事業者により運営されるSTUNサーバ、TURNサーバ及び認証サーバを介しWebRTC (Web Real-Time Communication)を利用してピアツーピア通信を実行する通信装置のためのプログラムであって、
前記通信装置のプロセッサに、
前記認証サーバと通信することによって当該通信装置が前記STUNサーバ及び前記TURNサーバにアクセス可能であると判断し、当該通信装置が前記STUNサーバ及び前記TURNサーバにアクセス可能であるか判断した前記認証サーバにより発行された認証キーを管理する認証機能と、
前記WebRTCに実装されたNAT/FW (Network Address Translation/Firewall)を通過するためのICE (Interactive Connectivity Establishment)を実行することによって、前記認証キーを用いて前記STUNサーバ又は前記TURNサーバにアクセスし、前記ピアツーピア通信のためのIPアドレスを取得するICE機能と、
を実現させるためのプログラム。
A program for a communication device that performs peer-to-peer communication using WebRTC (Web Real-Time Communication) via a STUN server, a TURN server, and an authentication server operated by a network operator,
In the processor of the communication device,
The authentication server that determines that the communication device can access the STUN server and the TURN server by communicating with the authentication server, and determines whether the communication device can access the STUN server and the TURN server An authentication function that manages the authentication key issued by
By accessing the STUN server or the TURN server using the authentication key by executing ICE (Interactive Connectivity Establishment) for passing through NAT / FW (Network Address Translation / Firewall) implemented in the WebRTC, An ICE function for obtaining an IP address for the peer-to-peer communication;
A program to realize
JP2014025530A2014-02-132014-02-13 Communication apparatus, method and programPendingJP2015153076A (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
JP2014025530AJP2015153076A (en)2014-02-132014-02-13 Communication apparatus, method and program

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
JP2014025530AJP2015153076A (en)2014-02-132014-02-13 Communication apparatus, method and program

Publications (1)

Publication NumberPublication Date
JP2015153076Atrue JP2015153076A (en)2015-08-24

Family

ID=53895267

Family Applications (1)

Application NumberTitlePriority DateFiling Date
JP2014025530APendingJP2015153076A (en)2014-02-132014-02-13 Communication apparatus, method and program

Country Status (1)

CountryLink
JP (1)JP2015153076A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP6082156B1 (en)*2015-10-142017-02-15エヌ・ティ・ティ・コミュニケーションズ株式会社 COMMUNICATION SYSTEM, ADDRESS NOTIFICATION DEVICE, COMMUNICATION CONTROL DEVICE, TERMINAL, COMMUNICATION METHOD, AND PROGRAM
JP6088632B1 (en)*2015-12-222017-03-01西日本電信電話株式会社 Audio-video communication system, server, virtual client, audio-video communication method, and audio-video communication program
KR20210131030A (en)2020-04-232021-11-02주식회사 케이티Apparatus, method and computer program for establishing connection between peer clients
US11178593B2 (en)2016-02-022021-11-16Ntt Communications CorporationTerminal, relay apparatus selection apparatus, communication method, relay apparatus selection method, and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2011525776A (en)*2008-06-242011-09-22マイクロソフト コーポレーション Techniques for managing communications between relay servers
WO2013108121A2 (en)*2012-01-172013-07-25IPalive ABA device, software module, system or business method for global real-time telecommunication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2011525776A (en)*2008-06-242011-09-22マイクロソフト コーポレーション Techniques for managing communications between relay servers
WO2013108121A2 (en)*2012-01-172013-07-25IPalive ABA device, software module, system or business method for global real-time telecommunication

Cited By (10)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP6082156B1 (en)*2015-10-142017-02-15エヌ・ティ・ティ・コミュニケーションズ株式会社 COMMUNICATION SYSTEM, ADDRESS NOTIFICATION DEVICE, COMMUNICATION CONTROL DEVICE, TERMINAL, COMMUNICATION METHOD, AND PROGRAM
JP2017077028A (en)*2015-10-142017-04-20エヌ・ティ・ティ・コミュニケーションズ株式会社Communication system, address notification device, communication control device, communication method, and program
WO2017065244A1 (en)*2015-10-142017-04-20エヌ・ティ・ティ・コミュニケーションズ株式会社Communication system, address notification device, communication control device, terminal, communication method, and program
CN108141409A (en)*2015-10-142018-06-08Ntt通信公司Communication system, address notice device, communication control unit, terminal, communication means and program
US11388138B2 (en)2015-10-142022-07-12Ntt Communications CorporationCommunication system, address notification apparatus, communication control apparatus, terminal, communication method, and program
JP6088632B1 (en)*2015-12-222017-03-01西日本電信電話株式会社 Audio-video communication system, server, virtual client, audio-video communication method, and audio-video communication program
JP2017118241A (en)*2015-12-222017-06-29西日本電信電話株式会社Audio video communication system, server, virtual client, audio video communication method, and audio video communication program
US11178593B2 (en)2016-02-022021-11-16Ntt Communications CorporationTerminal, relay apparatus selection apparatus, communication method, relay apparatus selection method, and program
KR20210131030A (en)2020-04-232021-11-02주식회사 케이티Apparatus, method and computer program for establishing connection between peer clients
KR102794717B1 (en)*2020-04-232025-04-15주식회사 케이티Apparatus, method and computer program for establishing connection between peer clients

Similar Documents

PublicationPublication DateTitle
KR102046700B1 (en) Message bus service directory
US10042665B2 (en)Customer premises equipment (CPE) with virtual machines for different service providers
US11232446B2 (en)Carrier grade telecom blockchain
JP2025506397A (en) Cloud Link Adapter for Multi-Cloud Infrastructure
US8296434B1 (en)Providing dynamically scaling computing load balancing
US10333901B1 (en)Policy based data aggregation
CN103973741B (en) Method and device for remote debugging in cloud system
JP2022532007A (en) How to select mobile edge computing nodes, devices and systems, and computer programs
US9407600B2 (en)Service access method and device for conducting the same
TWI493481B (en)Social device anonymity via full, content only, and functionality access views
CN110312160A (en)Wireless screen projection method and device, intelligent panel, terminal and system
JP2020528189A (en) Systems and methods for communicating between secure and unsecured devices using proxies
CN101352021A (en) Dynamic Discovery of Web Services on Mobile Devices
MX2008000175A (en)Unified architecture for remote network access.
US10038729B1 (en)Cooperative network access
JP2014171211A (en)Information processing system
CN102868728A (en)Network proxy method based on virtual channel in virtual desktop infrastructure (VDI) environment
US20080133723A1 (en)Extended home service apparatus and method for providing extended home service on p2p networks
CN117280828A (en)Method and apparatus for configuring 5G application servers in connected uplink-to-downlink streaming
CN103973785B (en)A kind of log read system and method based on P2P
CN109474646B (en)Communication connection method, device, system and storage medium
JP2015153076A (en) Communication apparatus, method and program
WO2024234933A1 (en)Service routing method and system, device, and medium
CA3135722C (en)Sharing resources between client devices in a virtual workspace environment
CN109309907B (en) Method, device and related equipment for traffic accounting

Legal Events

DateCodeTitleDescription
A621Written request for application examination

Free format text:JAPANESE INTERMEDIATE CODE: A621

Effective date:20160118

A131Notification of reasons for refusal

Free format text:JAPANESE INTERMEDIATE CODE: A131

Effective date:20161129

A977Report on retrieval

Free format text:JAPANESE INTERMEDIATE CODE: A971007

Effective date:20161130

A02Decision of refusal

Free format text:JAPANESE INTERMEDIATE CODE: A02

Effective date:20170530


[8]ページ先頭

©2009-2025 Movatter.jp