JP2014222455A - Communication system, proxy server, communication method, and program - Google Patents
Communication system, proxy server, communication method, and program Download PDFInfo
- Publication number
- JP2014222455A JP2014222455A JP2013102239A JP2013102239A JP2014222455A JP 2014222455 A JP2014222455 A JP 2014222455A JP 2013102239 A JP2013102239 A JP 2013102239A JP 2013102239 A JP2013102239 A JP 2013102239A JP 2014222455 A JP2014222455 A JP 2014222455A
- Authority
- JP
- Japan
- Prior art keywords
- web
- websocket
- proxy
- server
- proxy client
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
本発明は、通信システム、プロキシサーバ、通信方法およびプログラムに関し、特に、WebSocketに基づく通信システム、プロキシサーバ、通信方法およびプログラムに関する。 The present invention relates to a communication system, a proxy server, a communication method, and a program, and more particularly, to a communication system, a proxy server, a communication method, and a program based on WebSocket.
Web(ウェブ)サーバとクライアント端末(以下、「端末」という。)間の双方向通信を効率良く行うための通信規格として、WebSocket(ウェブソケット)プロトコルが知られている。 As a communication standard for efficiently performing bidirectional communication between a Web server and a client terminal (hereinafter referred to as “terminal”), the WebSocket protocol is known.
WebSocketプロトコルは、Webサーバと端末とのエンドツーエンドでセッションを張り、リアルタイム双方向通信を実現する技術である。 The WebSocket protocol is a technology for establishing a real-time bidirectional communication by extending a session between a Web server and a terminal end-to-end.
なお、関連技術として、クライアントブラウザ(端末上のブラウザ)の負荷を軽減するために、クライアントブラウザとサービス提供サーバとの間にプロキシサーバを設け、クライアントブラウザで実行していた情報操作ライブラリをプロキシサーバ上で実行するとともに、クライアントブラウザは情報操作ライブラリの実行に必要となる情報を1つのメッセージに集約してプロキシサーバに送信し、一方、プロキシサーバは各サービスから取得した情報を1つのメッセージに集約してクライアントブラウザに返す技術が、特許文献1に記載されている。 As a related technology, in order to reduce the load on the client browser (browser on the terminal), a proxy server is provided between the client browser and the service providing server, and the information manipulation library executed by the client browser is used as the proxy In addition to executing the above, the client browser aggregates the information required to execute the information manipulation library into one message and sends it to the proxy server, while the proxy server aggregates the information acquired from each service into one message. A technique for returning to the client browser is described in Patent Document 1.
また、サーバと複数のクライアント(端末)との間に負荷制御装置を設けたときに、サーバと負荷制御装置との間のTCP(Transmission Control Protocol)コネクション数を削減するために、負荷制御装置と複数のクライアントとの間のTCPコネクションを集約する技術が、特許文献2に記載されている。 Further, when a load control device is provided between the server and a plurality of clients (terminals), in order to reduce the number of TCP (Transmission Control Protocol) connections between the server and the load control device, A technique for aggregating TCP connections with a plurality of clients is described in Patent Document 2.
上記の特許文献1、2の全開示内容は、引用をもって本書に繰り込み記載されているものとする。以下の分析は、本発明者によってなされたものである。 It is assumed that the entire disclosed contents of Patent Documents 1 and 2 are incorporated herein by reference. The following analysis was made by the present inventors.
図3は、関連技術の問題点について説明するための図である。図3は、一例として、4台のWebサーバ120A〜120Dと、3台の端末130A〜130Cがインターネット40およびキャリア網50を経由してWebSocket通信を行う場合を示す。
FIG. 3 is a diagram for explaining the problems of the related art. FIG. 3 shows a case where four Web servers 120 </ b> A to 120 </ b> D and three terminals 130 </ b> A to 130 </ b> C perform WebSocket communication via the Internet 40 and the
WebSocketによるセッションは、端末内のWebブラウザとWebサーバ間のエンドツーエンドで張られるため、WebSocketセッションはWebブラウザとWebサーバの組合せの数に相当する数だけ張られることになる。図3に示した例においては、インターネット40において12(=3×4)本のWebSocketセッションが張られ、キャリア網50においても12(=3×4)本のWebSocketセッションが張られることになる。
Since WebSocket sessions are extended end-to-end between the Web browser and Web server in the terminal, WebSocket sessions are extended by the number corresponding to the number of combinations of Web browsers and Web servers. In the example shown in FIG. 3, 12 (= 3 × 4) WebSocket sessions are established on the Internet 40, and 12 (= 3 × 4) WebSocket sessions are established on the
このとき、端末におけるWebブラウザの枚数が1枚増えただけで、Webサーバの台数に相当する数のセッションが増えてしまう。同様に、Webサーバの台数が1台増えただけで、Webブラウザの枚数に相当する数のセッションが増えてしまう。これにより、WebブラウザとWebサーバ間の通信が経由するネットワーク機器に求められるメモリなどの必要リソース量が、WebブラウザやWebサーバの個数の増大に伴って一気に増大するという問題がある。 At this time, the number of sessions corresponding to the number of Web servers increases only by increasing the number of Web browsers in the terminal. Similarly, just by increasing the number of Web servers, the number of sessions corresponding to the number of Web browsers increases. As a result, there is a problem that the required amount of resources such as memory required for the network device through which communication between the Web browser and the Web server passes increases at a stretch as the number of Web browsers and Web servers increases.
また、1つの端末から張られるWebSocketセッション数は、その端末が保有するリソースの範囲(メモリ量など)に制限されるため、WebSocketセッションを利用して同時に接続し得るWebサーバの台数は制限される。 In addition, since the number of WebSocket sessions established from one terminal is limited to the range of resources held by that terminal (memory amount, etc.), the number of Web servers that can be connected simultaneously using a WebSocket session is limited. .
以上のように、WebSocketプロトコルに基づいてエンドツーエンドでセッションを張ってリアルタイム双方向通信を実現した場合、ネットワーク内に張られるセッション数の増大が問題となる。 As described above, when real-time bidirectional communication is realized by establishing a session end-to-end based on the WebSocket protocol, an increase in the number of sessions established in the network becomes a problem.
なお、特許文献1に記載された技術は、ブラウザとプロキシサーバとの間でやりとりされる情報を1つのメッセージに集約するものであり、ソケット通信のセッション数を削減するものではない。また、特許文献2に記載された技術は、負荷制御装置により複数のクライアントとの間のTCPコネクションを集約するものであり、各クライアントで使用されるWebブラウザの枚数が増大した場合におけるソケット通信のセッション数を削減するものではない。 Note that the technique described in Patent Document 1 aggregates information exchanged between the browser and the proxy server into one message, and does not reduce the number of socket communication sessions. In addition, the technique described in Patent Document 2 aggregates TCP connections with a plurality of clients by a load control device, and performs socket communication when the number of Web browsers used by each client increases. It does not reduce the number of sessions.
そこで、WebSocketプロトコルに基づく通信システムにおいてWebSocketセッション数の増大を防ぐことが要望される。本発明の目的は、かかる要望に寄与する通信システム、プロキシサーバ、通信方法およびプログラムを提供することにある。 Therefore, it is desired to prevent an increase in the number of WebSocket sessions in a communication system based on the WebSocket protocol. An object of the present invention is to provide a communication system, a proxy server, a communication method, and a program that contribute to such a demand.
本発明の第1の視点に係る通信システムは、
Web(ウェブ)アプリケーションが動作するWebサーバと、
Webブラウザが動作する端末と、
前記Webサーバおよび前記端末に接続されたプロキシサーバと、を備え、
前記Webサーバは、前記Webアプリケーションが利用するWebSocket(ウェブソケット)セッションを集約して第1のWebSocketセッションとして前記プロキシサーバに接続する第1のプロキシクライアントを有し、
前記端末は、前記Webブラウザが利用するWebSocketセッションを集約して第2のWebSocketセッションとして前記プロキシサーバに接続する第2のプロキシクライアントを有し、
前記プロキシサーバは、前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する中継部を有する。
The communication system according to the first aspect of the present invention is:
A web server running a web application,
A terminal running a web browser,
A proxy server connected to the web server and the terminal,
The Web server includes a first proxy client that aggregates WebSocket sessions used by the Web application and connects to the proxy server as a first WebSocket session;
The terminal has a second proxy client that aggregates WebSocket sessions used by the Web browser and connects to the proxy server as a second WebSocket session;
The proxy server includes a relay unit that relays the first WebSocket session and the second WebSocket session.
本発明の第2の視点に係るプロキシサーバは、
Web(ウェブ)アプリケーションが動作するWebサーバとWebブラウザが動作する端末に接続されるプロキシサーバであって、
前記Webサーバは、前記Webアプリケーションが利用するWebSocket(ウェブソケット)セッションを集約して第1のWebSocketセッションとして前記プロキシサーバに接続する第1のプロキシクライアントを有し、
前記端末は、前記Webブラウザが利用するWebSocketセッションを集約して第2のWebSocketセッションとして前記プロキシサーバに接続する第2のプロキシクライアントを有し、
前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する中継部を備える。
The proxy server according to the second aspect of the present invention is:
A proxy server connected to a web server running a web (web) application and a terminal running a web browser,
The Web server includes a first proxy client that aggregates WebSocket sessions used by the Web application and connects to the proxy server as a first WebSocket session;
The terminal has a second proxy client that aggregates WebSocket sessions used by the Web browser and connects to the proxy server as a second WebSocket session;
A relay unit configured to relay the first WebSocket session and the second WebSocket session;
本発明の第3の視点に係る通信方法は、
プロキシサーバが、Web(ウェブ)アプリケーションが動作するWebサーバであって前記Webアプリケーションが利用するWebSocket(ウェブソケット)セッションを第1のWebSocketセッションとして集約するように構成された前記Webサーバに接続する工程と、
Webブラウザが動作する端末であって前記Webブラウザが利用するWebSocketセッションを第2のWebSocketセッションとして集約するように構成された前記プロキシサーバに接続する工程と、
前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する工程と、を含む。
The communication method according to the third aspect of the present invention is:
The proxy server is a Web server on which a Web (Web) application operates, and is connected to the Web server configured to aggregate a WebSocket session used by the Web application as a first WebSocket session. When,
Connecting to the proxy server configured to aggregate a WebSocket session used by the Web browser as a second WebSocket session, which is a terminal on which the Web browser operates;
Relaying the first WebSocket session and the second WebSocket session.
本発明の第4の視点に係るプログラムは、
Web(ウェブ)アプリケーションが動作するWebサーバであって前記Webアプリケーションが利用するWebSocket(ウェブソケット)セッションを第1のWebSocketセッションとして集約するように構成された前記Webサーバに接続する処理と、
Webブラウザが動作する端末であって前記Webブラウザが利用するWebSocketセッションを第2のWebSocketセッションとして集約するように構成された前記プロキシサーバに接続する処理と、
前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する処理と、をコンピュータに実行させる。
なお、プログラムは、非一時的なコンピュータ可読記録媒体(non-transitory computer-readable recording medium)に記録されたプログラム製品として提供することができる。
The program according to the fourth aspect of the present invention is:
A process of connecting to the Web server configured to aggregate a WebSocket session used by the Web application as a first WebSocket session, which is a Web server on which a Web (Web) application operates;
A process of connecting to the proxy server configured to aggregate a WebSocket session used by the Web browser as a second WebSocket session, which is a terminal on which the Web browser operates;
The computer executes the process of relaying the first WebSocket session and the second WebSocket session.
The program can be provided as a program product recorded on a non-transitory computer-readable recording medium.
本発明に係る通信システム、プロキシサーバ、通信方法およびプログラムによると、WebSocketプロトコルに基づく通信システムにおいてWebSocketセッション数の増大を防ぐことが可能となる。 According to the communication system, proxy server, communication method, and program according to the present invention, it is possible to prevent an increase in the number of WebSocket sessions in a communication system based on the WebSocket protocol.
はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。 First, an outline of one embodiment will be described. Note that the reference numerals of the drawings attached to this summary are merely examples for facilitating understanding, and are not intended to limit the present invention to the illustrated embodiment.
図1は、一実施形態に係る通信システムの概略構成を一例として示す図である。図1を参照すると、通信システムは、一例として、Webサーバ20A〜20Dと、端末30A〜30Cと、WebSocketプロキシサーバ10とを備えている。
FIG. 1 is a diagram illustrating an example of a schematic configuration of a communication system according to an embodiment. Referring to FIG. 1, the communication system includes
図2は、図1に示した通信システムのより詳細な構成を例示するブロック図である。図2を参照すると、通信システムは、Web(ウェブ)アプリケーション24が動作するWebサーバ20A〜20Dと、Webブラウザ34A〜34Cが動作する端末30A〜30Cと、Webサーバ20A〜20Dおよび端末30A〜30Cに接続されたプロキシサーバ(WebSocketプロキシサーバ)10とを備えている。なお、図1、図2に示したWebサーバおよび端末の台数、ならびに、Webブラウザの枚数は例示に過ぎず、本発明は図示の態様に限定されない。
FIG. 2 is a block diagram illustrating a more detailed configuration of the communication system shown in FIG. Referring to FIG. 2, the communication system includes
Webサーバ20A〜20Dは、Webアプリケーション24が利用するWebSocket(ウェブソケット)セッションを集約して第1のWebSocketセッションとしてプロキシサーバ10に接続する第1のプロキシクライアント(サーバ側プロキシクライアント)22を有する。一方、端末30A〜30Cは、Webブラウザ34A〜34Cが利用するWebSocketセッションを集約して第2のWebSocketセッションとしてプロキシサーバ10に接続する第2のプロキシクライアント(端末側プロキシクライアント)32を有する。プロキシサーバ10は、第1のWebSocketセッションと第2のWebSocketセッションを中継する中継部12を有する。
The Web servers 20 </ b> A to 20 </ b> D have a first proxy client (server-side proxy client) 22 that aggregates WebSocket (web socket) sessions used by the
このように、一実施形態の通信システムでは、端末30A〜30C内のWebブラウザ34A〜34CとWebサーバ20A〜20C間で張られるWebSocketセッションを、Webブラウザ側およびWebサーバ側それぞれのプロキシクライアント22、32で終端して、相手側にそれぞれプロキシすることで集約する。
As described above, in the communication system according to the embodiment, the WebSocket session established between the
このとき、端末が1台増えたときに増えるWebSocketセッション数は1本となり、Webサーバが1台増えたときに増えるWebSocketセッション数は1本となる。このとき、Webサーバの増設台数に相当するだけのリソース量を、WebブラウザとWebサーバ間のネットワーク機器に増設すればよいことになる。 At this time, the number of WebSocket sessions increases when the number of terminals increases by one, and the number of WebSocket sessions increases when the number of Web servers increases by one. At this time, a resource amount equivalent to the number of additional Web servers may be added to the network device between the Web browser and the Web server.
すなわち、一実施形態に係る通信システムによると、関連技術(図3)において端末とWebサーバの組合せの数だけネットワーク内に張られるWebSocketセッションの数を、ネットワーク内に配置されるWebSocketプロキシサーバを経由するように集約することで、大幅に削減することが可能となる。このとき、セッションが経由するネットワーク内機器に必要とされるリソース(メモリ量など)も削減することが可能となる。 That is, according to the communication system according to the embodiment, in the related technology (FIG. 3), the number of WebSocket sessions established in the network by the number of combinations of terminals and Web servers is passed through the WebSocket proxy server arranged in the network. It is possible to reduce significantly by consolidating as such. At this time, it is possible to reduce resources (memory amount and the like) required for devices in the network through which the session passes.
<実施形態1>
次に、第1の実施形態に係る通信システムについて、図面を参照して説明する。図2は、本実施形態に係る通信システムの構成を一例として示すブロック図である。
<Embodiment 1>
Next, a communication system according to the first embodiment will be described with reference to the drawings. FIG. 2 is a block diagram illustrating an example of the configuration of the communication system according to the present embodiment.
図2を参照すると、WebSocketプロキシサーバ10は、中継部12およびユーザ管理DB(Database、データベース)14を備えている。
Referring to FIG. 2, the
WebSocketプロキシサーバ10は、Webサーバ20A〜20Dと接続される。Webサーバ20A内では、まず、サーバ側プロキシクライアント22が前段に接続され、後段にWebアプリケーション24が接続される。なお、Webサーバ20B〜20DはWebサーバ20Aと同様の構成を有することから、説明を省略する。
The
また、WebSocketプロキシサーバ10は、端末30A〜30Cと接続される。端末30A内では、まず、端末側プロキシクライアント32が前段に接続され、後段にWebブラウザ34A〜34Cが接続される。なお、端末30B、30Cは端末30Aと同様の構成を有することから、説明を省略する。
The
WebSocketプロキシサーバ10の中継部12は、端末30A〜30C、Webサーバ20A〜20Dのそれぞれと接続し、端末−Webサーバ間のWebSocketセッションを仲介する。中継部12は、必要に応じて、端末30A〜30C、Webサーバ20A〜20Dの接続先IPアドレス情報をユーザ管理DB14に要求する。
The
ユーザ管理DB14は、端末30A〜30C、Webサーバ20A〜20Dの保持するIPアドレスを管理し、中継部12の要求に応じて接続先IPアドレス情報を提供する。
The user management DB 14 manages the IP addresses held by the
Webサーバ20A〜20Dは、端末30A〜30Cに対してWebSocketを利用したWebサービスを提供する。
サーバ側プロキシクライアント22は、Webアプリケーション24が張るWebSocketセッションを集約して、WebSocketプロキシサーバ10の中継部12と接続する。
The server-
Webアプリケーション24は、WebSocketセッションをサーバ側プロキシクライアント22との間で張った上で、Webサービスを提供する。
The
端末30A〜30Cは、Webサーバ20A〜20Dが提供するWebサービスをユーザが利用するための機能を提供する。
The
端末側プロキシクライアント32は、複数のWebブラウザ34A〜34Cが張るWebSocketセッションを検出した上で集約して、WebSocketプロキシサーバ10の中継部12と接続する。
The terminal
Webブラウザ34A〜34Cは、WebSocketセッションを端末側プロキシクライアント32との間で張り、ユーザに向けては、Webサーバ20A〜20Dの提供するWebサービスを利用するための画面を提供する。
The
次に、図2を参照して、本実施形態の通信システムの動作について説明する。 Next, the operation of the communication system of this embodiment will be described with reference to FIG.
端末30Aは、端末側プロキシクライアント32を備えている。Webブラウザ34A〜34CからのWebSocket通信は、端末30A内で端末側プロキシクライアント32に集約される。
The terminal 30A includes a terminal
一方、Webサーバ20Aは、サーバ側プロキシクライアント22を備える。Webアプリケーション24からのWebSocket通信は、Webサーバ20A内でサーバ側プロキシクライアント22に集約される。
On the other hand, the Web server 20 </ b> A includes a server-
端末側プロキシクライアント32およびサーバ側プロキシクライアント22は、それぞれ、事前に自身に割り振られたIP(Internet Protocol)アドレスをWebSocketプロキシサーバ10に通知する。WebSocketプロキシサーバ10のユーザ管理DB14は、端末30A〜30C側およびWebサーバ20A〜20D側の各接続先を管理する。端末側プロキシクライアント32およびサーバ側プロキシクライアント22は、それぞれ、割り振られたIPアドレスが変更されるたびにWebSocketプロキシサーバ10に対して、変更後のIPアドレスを通知する。
Each of the terminal-
端末側プロキシクライアント32およびサーバ側プロキシクライアント22は、それぞれ、接続が必要となるタイミングにのみ、WebSocketプロキシサーバ10の中継部12に対してWebSocketで接続する。
The terminal-
WebSocket通信を開始する際、まず、HTTP(Hypertext Transfer Protocol)通信にてWebSocketセッションのハンドシェイクが行われる。端末側プロキシクライアント32は、かかるハンドシェイク通信を監視することでWebSocketセッションの開始を検知し、以降のWebSocketセッションを、端末側プロキシクライアント32を経由させることにより、WebSocketセッションを集約する。なお、端末側プロキシクライアント32は、WebSocket通信のみを検出して集約するようにしてもよい。
When WebSocket communication is started, first, a handshake of a WebSocket session is performed by HTTP (Hypertext Transfer Protocol) communication. The terminal-
サーバ側プロキシクライアント22は、Webサーバ20Aに接続する端末が1台も存在しないときに限り、接続を開放する。端末側プロキシクライアント32は、配下にWebSocketで接続するWebブラウザ34が1枚も開いていないときに限り、接続を開放する。
The server-
本実施形態に係る通信システムによると、ネットワーク内に張られるWebSocketセッション数を、関連技術(図3)と比較して大幅に削減することが可能となる。また、端末内のWebブラウザ、Webサーバ増設時に増えるWebSocketセッション数も少なくすることができる。これにより、ネットワーク内のネットワーク機器に求められるリソース量も削減することが可能となる。また、1台の端末から外部に張られるWebSocketセッション数を1本に集約し、端末内のリソース利用を効率化することで、同量の端末リソースでも同時に接続できるWebサーバの上限数を増やすことが可能となる。 According to the communication system according to the present embodiment, the number of WebSocket sessions established in the network can be significantly reduced as compared with the related technology (FIG. 3). In addition, the number of WebSocket sessions that increase when the Web browser and Web server in the terminal are increased can be reduced. As a result, the amount of resources required for network devices in the network can also be reduced. Also, by consolidating the number of WebSocket sessions that are spread from one terminal to one and increasing the efficiency of resource usage within the terminal, the maximum number of Web servers that can be connected simultaneously with the same amount of terminal resources is increased. Is possible.
<変形例1>
上記実施形態においては、Webサーバの接続先情報としてIPアドレスをユーザ管理DB14で管理する。一方、Webサーバ側の接続先情報として、IPアドレスの代わりに、URL(Uniform Resource Locator)にて管理する方式を採用してもよい。
<Modification 1>
In the above embodiment, the IP address is managed by the user management DB 14 as the connection destination information of the Web server. On the other hand, as the connection destination information on the Web server side, a method of managing by URL (Uniform Resource Locator) instead of IP address may be adopted.
<変形例2>
上記実施形態では、端末の接続先情報としてIPアドレスを端末から通知する方式が用いられている。しかし、IPアドレスの払い出しをキャリア網50から実施する場合、払い出したIPアドレスはキャリア網50内で管理できるため、端末からのIPアドレスの通知を省略してもよい。
<Modification 2>
In the above embodiment, a method of notifying the IP address from the terminal as the connection destination information of the terminal is used. However, when the IP address is issued from the
なお、本発明において、さらに、下記の形態が可能である。
[形態1]
上記第1の視点に係る通信システムのとおりである。
[形態2]
前記プロキシサーバは、前記第1のプロキシクライアントの識別子と前記第1のプロキシクライアントに割り当てられたIP(Internet Protocol)アドレスとを関連付けて保持するとともに、前記第2のプロキシクライアントの識別子と前記第2のプロキシクライアントに割り当てられたIPアドレスとを関連付けて保持する管理データベースを有し、
前記中継部は、前記管理データベースを参照して、前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する、形態1に記載の通信システム。
[形態3]
前記第1のプロキシクライアントは、自身に割り当てられたIPアドレスを前記プロキシサーバに通知し、
前記管理データベースは、前記第1のプロキシクライアントからの通知に基づいて、前記第1のプロキシクライアントの識別子と前記第1のプロキシクライアントに割り当てられたIPアドレスとを関連付けて保持する、形態2に記載の通信システム。
[形態4]
前記第2のプロキシクライアントは、自身に割り当てられたIPアドレスを前記プロキシサーバに通知し、
前記管理データベースは、前記第2のプロキシクライアントからの通知に基づいて、前記第2のプロキシクライアントの識別子と前記第2のプロキシクライアントに割り当てられたIPアドレスとを関連付けて保持する、形態2または3に記載の通信システム。
[形態5]
前記管理データベースは、前記第2のプロキシクライアントの識別子とキャリア網から前記第2のプロキシクライアントに払い出されたIPアドレスとを関連付けて保持する、形態2または3に記載の通信システム。
[形態6]
前記プロキシサーバは、前記第1のプロキシクライアントの識別子と前記WebアプリケーションのURLとを関連付けて保持するとともに、前記第2のプロキシクライアントの識別子と前記第2のプロキシクライアントに割り当てられたIPアドレスとを関連付けて保持する管理データベースを有し、
前記中継部は、前記管理データベースを参照して、前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する、形態1に記載の通信システム。
[形態7]
前記第1のプロキシクライアントは、前記WebアプリケーションのURL(Uniform Resource Locator)を前記プロキシサーバに通知し、
前記管理データベースは、前記第1のプロキシクライアントからの通知に応じて、前記第1のプロキシクライアントの識別子と前記WebアプリケーションのURLとを関連付けて保持する、形態6に記載の通信システム。
[形態8]
上記第2の視点に係るプロキシサーバのとおりである。
[形態9]
前記第1のプロキシクライアントの識別子と前記第1のプロキシクライアントに割り当てられたIP(Internet Protocol)アドレスとを関連付けて保持するとともに、前記第2のプロキシクライアントの識別子と前記第2のプロキシクライアントに割り当てられたIPアドレスとを関連付けて保持する管理データベースを備え、
前記中継部は、前記管理データベースを参照して、前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する、形態8に記載のプロキシサーバ。
[形態10]
前記第1のプロキシクライアントは、自身に割り当てられたIPアドレスを前記プロキシサーバに通知し、
前記管理データベースは、前記第1のプロキシクライアントからの通知に基づいて、前記第1のプロキシクライアントの識別子と前記第1のプロキシクライアントに割り当てられたIPアドレスとを関連付けて保持する、形態9に記載のプロキシサーバ。
[形態11]
前記第2のプロキシクライアントは、自身に割り当てられたIPアドレスを前記プロキシサーバに通知し、
前記管理データベースは、前記第2のプロキシクライアントからの通知に基づいて、前記第2のプロキシクライアントの識別子と前記第2のプロキシクライアントに割り当てられたIPアドレスとを関連付けて保持する、形態9または10に記載のプロキシサーバ。
[形態12]
前記管理データベースは、前記第2のプロキシクライアントの識別子とキャリア網から前記第2のプロキシクライアントに払い出されたIPアドレスとを関連付けて保持する、形態9または10に記載のプロキシサーバ。
[形態13]
前記第1のプロキシクライアントの識別子と前記WebアプリケーションのURLとを関連付けて保持するとともに、前記第2のプロキシクライアントの識別子と前記第2のプロキシクライアントに割り当てられたIPアドレスとを関連付けて保持する管理データベースを備え、
前記中継部は、前記管理データベースを参照して、前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する、形態8に記載のプロキシサーバ。
[形態14]
前記第1のプロキシクライアントは、前記WebアプリケーションのURL(Uniform Resource Locator)を前記プロキシサーバに通知し、
前記管理データベースは、前記第1のプロキシクライアントからの通知に応じて、前記第1のプロキシクライアントの識別子と前記WebアプリケーションのURLとを関連付けて保持する、形態13に記載のプロキシサーバ。
[形態15]
上記第3の視点に係る通信方法のとおりである。
[形態16]
Web(ウェブ)アプリケーションが動作するWebサーバと、
Webブラウザが動作する端末と、
前記Webサーバおよび前記端末に接続されたプロキシサーバと、を備えた通信システムにおける通信方法であって、
前記Webサーバが、前記Webアプリケーションが利用するWebSocket(ウェブソケット)セッションを集約して第1のWebSocketセッションとして前記プロキシサーバに接続する工程と、
前記端末が、前記Webブラウザが利用するWebSocketセッションを集約して第2のWebSocketセッションとして前記プロキシサーバに接続する工程と、
前記プロキシサーバが、前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する工程と、を含む、通信方法。
[形態17]
上記第4の視点に係るプログラムのとおりである。
In the present invention, the following modes are possible.
[Form 1]
The communication system according to the first aspect is as described above.
[Form 2]
The proxy server holds an identifier of the first proxy client and an IP (Internet Protocol) address assigned to the first proxy client in association with each other, and the identifier of the second proxy client and the second proxy client A management database that holds the IP address assigned to the proxy client
The communication system according to mode 1, wherein the relay unit relays the first WebSocket session and the second WebSocket session with reference to the management database.
[Form 3]
The first proxy client notifies the proxy server of an IP address assigned to the first proxy client;
The management database stores the identifier of the first proxy client and the IP address assigned to the first proxy client in association with each other based on the notification from the first proxy client. Communication system.
[Form 4]
The second proxy client notifies the proxy server of an IP address assigned to the second proxy client;
The management database holds the identifier of the second proxy client and the IP address assigned to the second proxy client in association with each other based on the notification from the second proxy client. The communication system according to 1.
[Form 5]
4. The communication system according to mode 2 or 3, wherein the management database associates and holds an identifier of the second proxy client and an IP address issued from the carrier network to the second proxy client.
[Form 6]
The proxy server holds the identifier of the first proxy client and the URL of the Web application in association with each other, and also stores the identifier of the second proxy client and the IP address assigned to the second proxy client. Have a management database
The communication system according to mode 1, wherein the relay unit relays the first WebSocket session and the second WebSocket session with reference to the management database.
[Form 7]
The first proxy client notifies the proxy server of a URL (Uniform Resource Locator) of the Web application,
The communication database according to mode 6, wherein the management database associates and holds an identifier of the first proxy client and a URL of the Web application in response to a notification from the first proxy client.
[Form 8]
The proxy server according to the second aspect is as described above.
[Form 9]
The identifier of the first proxy client and the IP (Internet Protocol) address assigned to the first proxy client are held in association with each other, and the identifier of the second proxy client and the second proxy client are assigned. A management database that holds the associated IP addresses in association with each other,
The proxy server according to mode 8, wherein the relay unit relays the first WebSocket session and the second WebSocket session with reference to the management database.
[Mode 10]
The first proxy client notifies the proxy server of an IP address assigned to the first proxy client;
The management database according to embodiment 9, wherein the management database associates and holds an identifier of the first proxy client and an IP address assigned to the first proxy client based on a notification from the first proxy client. Proxy server.
[Form 11]
The second proxy client notifies the proxy server of an IP address assigned to the second proxy client;
The management database holds the identifier of the second proxy client and the IP address assigned to the second proxy client in association with each other based on the notification from the second proxy client. Proxy server as described in.
[Form 12]
11. The proxy server according to
[Form 13]
Management that holds the identifier of the first proxy client and the URL of the Web application in association with each other and holds the identifier of the second proxy client and the IP address assigned to the second proxy client in association with each other With a database,
The proxy server according to mode 8, wherein the relay unit relays the first WebSocket session and the second WebSocket session with reference to the management database.
[Form 14]
The first proxy client notifies the proxy server of a URL (Uniform Resource Locator) of the Web application,
The proxy server according to mode 13, wherein the management database associates and holds an identifier of the first proxy client and a URL of the Web application in response to a notification from the first proxy client.
[Form 15]
The communication method according to the third viewpoint is as described above.
[Form 16]
A web server running a web application,
A terminal running a web browser,
A communication method in a communication system comprising the Web server and a proxy server connected to the terminal,
The Web server aggregates WebSocket (Web socket) sessions used by the Web application and connects to the proxy server as a first WebSocket session;
The terminal aggregates WebSocket sessions used by the Web browser and connects to the proxy server as a second WebSocket session;
The proxy server includes a step of relaying the first WebSocket session and the second WebSocket session.
[Form 17]
The program is related to the fourth viewpoint.
なお、上記の特許文献1または2の全開示内容は、引用をもって本書に繰り込み記載されているものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。 It should be noted that the entire disclosure content of Patent Document 1 or 2 is incorporated herein by reference. Within the scope of the entire disclosure (including claims) of the present invention, the embodiment can be changed and adjusted based on the basic technical concept. Further, various combinations or selections of various disclosed elements (including each element of each claim, each element of each embodiment, each element of each drawing, etc.) are possible within the scope of the claims of the present invention. It is. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the entire disclosure including the claims and the technical idea. In particular, with respect to the numerical ranges described in this document, any numerical value or small range included in the range should be construed as being specifically described even if there is no specific description.
10 WebSocketプロキシサーバ
12 中継部
14 ユーザ管理DB
20A〜20D、120A〜120D Webサーバ
22 サーバ側プロキシクライアント
24 Webアプリケーション
30A〜30C、130A〜130C 端末
32 端末側プロキシクライアント
34A〜34C Webブラウザ
40 インターネット
50 キャリア網
10
20A-20D, 120A-
Claims (10)
Webブラウザが動作する端末と、
前記Webサーバおよび前記端末に接続されたプロキシサーバと、を備え、
前記Webサーバは、前記Webアプリケーションが利用するWebSocket(ウェブソケット)セッションを集約して第1のWebSocketセッションとして前記プロキシサーバに接続する第1のプロキシクライアントを有し、
前記端末は、前記Webブラウザが利用するWebSocketセッションを集約して第2のWebSocketセッションとして前記プロキシサーバに接続する第2のプロキシクライアントを有し、
前記プロキシサーバは、前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する中継部を有する、通信システム。 A web server running a web application,
A terminal running a web browser,
A proxy server connected to the web server and the terminal,
The Web server includes a first proxy client that aggregates WebSocket sessions used by the Web application and connects to the proxy server as a first WebSocket session;
The terminal has a second proxy client that aggregates WebSocket sessions used by the Web browser and connects to the proxy server as a second WebSocket session;
The proxy server includes a relay unit that relays the first WebSocket session and the second WebSocket session.
前記中継部は、前記管理データベースを参照して、前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する、請求項1に記載の通信システム。 The proxy server holds an identifier of the first proxy client and an IP (Internet Protocol) address assigned to the first proxy client in association with each other, and the identifier of the second proxy client and the second proxy client A management database that holds the IP address assigned to the proxy client
The communication system according to claim 1, wherein the relay unit relays the first WebSocket session and the second WebSocket session with reference to the management database.
前記管理データベースは、前記第1のプロキシクライアントからの通知に基づいて、前記第1のプロキシクライアントの識別子と前記第1のプロキシクライアントに割り当てられたIPアドレスとを関連付けて保持する、請求項2に記載の通信システム。 The first proxy client notifies the proxy server of an IP address assigned to the first proxy client;
The management database holds the identifier of the first proxy client and the IP address assigned to the first proxy client in association with each other based on the notification from the first proxy client. The communication system described.
前記管理データベースは、前記第2のプロキシクライアントからの通知に基づいて、前記第2のプロキシクライアントの識別子と前記第2のプロキシクライアントに割り当てられたIPアドレスとを関連付けて保持する、請求項2または3に記載の通信システム。 The second proxy client notifies the proxy server of an IP address assigned to the second proxy client;
The management database associates and holds an identifier of the second proxy client and an IP address assigned to the second proxy client based on a notification from the second proxy client. 4. The communication system according to 3.
前記中継部は、前記管理データベースを参照して、前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する、請求項1に記載の通信システム。 The proxy server holds the identifier of the first proxy client and the URL of the Web application in association with each other, and also stores the identifier of the second proxy client and the IP address assigned to the second proxy client. Have a management database
The communication system according to claim 1, wherein the relay unit relays the first WebSocket session and the second WebSocket session with reference to the management database.
前記管理データベースは、前記第1のプロキシクライアントからの通知に応じて、前記第1のプロキシクライアントの識別子と前記WebアプリケーションのURLとを関連付けて保持する、請求項6に記載の通信システム。 The first proxy client notifies the proxy server of a URL (Uniform Resource Locator) of the Web application,
The communication system according to claim 6, wherein the management database associates and holds an identifier of the first proxy client and a URL of the Web application in response to a notification from the first proxy client.
前記Webサーバは、前記Webアプリケーションが利用するWebSocket(ウェブソケット)セッションを集約して第1のWebSocketセッションとして前記プロキシサーバに接続する第1のプロキシクライアントを有し、
前記端末は、前記Webブラウザが利用するWebSocketセッションを集約して第2のWebSocketセッションとして前記プロキシサーバに接続する第2のプロキシクライアントを有し、
前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する中継部を備える、プロキシサーバ。 A proxy server connected to a web server running a web (web) application and a terminal running a web browser,
The Web server includes a first proxy client that aggregates WebSocket sessions used by the Web application and connects to the proxy server as a first WebSocket session;
The terminal has a second proxy client that aggregates WebSocket sessions used by the Web browser and connects to the proxy server as a second WebSocket session;
A proxy server comprising a relay unit that relays the first WebSocket session and the second WebSocket session.
Webブラウザが動作する端末であって前記Webブラウザが利用するWebSocketセッションを第2のWebSocketセッションとして集約するように構成された前記プロキシサーバに接続する工程と、
前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する工程と、を含む、通信方法。 The proxy server is a Web server on which a Web (Web) application operates, and is connected to the Web server configured to aggregate a WebSocket session used by the Web application as a first WebSocket session. When,
Connecting to the proxy server configured to aggregate a WebSocket session used by the Web browser as a second WebSocket session, which is a terminal on which the Web browser operates;
Relaying the first WebSocket session and the second WebSocket session.
Webブラウザが動作する端末であって前記Webブラウザが利用するWebSocketセッションを第2のWebSocketセッションとして集約するように構成された前記プロキシサーバに接続する処理と、
前記第1のWebSocketセッションと前記第2のWebSocketセッションを中継する処理と、をコンピュータに実行させる、プログラム。 A process of connecting to the Web server configured to aggregate a WebSocket session used by the Web application as a first WebSocket session, which is a Web server on which a Web (Web) application operates;
A process of connecting to the proxy server configured to aggregate a WebSocket session used by the Web browser as a second WebSocket session, which is a terminal on which the Web browser operates;
A program that causes a computer to execute processing for relaying the first WebSocket session and the second WebSocket session.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013102239A JP6212944B2 (en) | 2013-05-14 | 2013-05-14 | Communication system, proxy server, communication method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013102239A JP6212944B2 (en) | 2013-05-14 | 2013-05-14 | Communication system, proxy server, communication method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014222455A true JP2014222455A (en) | 2014-11-27 |
JP6212944B2 JP6212944B2 (en) | 2017-10-18 |
Family
ID=52121946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013102239A Active JP6212944B2 (en) | 2013-05-14 | 2013-05-14 | Communication system, proxy server, communication method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6212944B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018181012A (en) * | 2017-04-14 | 2018-11-15 | 株式会社日立製作所 | Business cooperation system and business cooperation method |
CN109922053A (en) * | 2019-02-22 | 2019-06-21 | 北京三快在线科技有限公司 | Data transmission method, device, electronic equipment and readable storage medium storing program for executing |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11652890B1 (en) | 2022-07-13 | 2023-05-16 | Oxylabs, Uab | Methods and systems to maintain multiple persistent channels between proxy servers |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11500250A (en) * | 1996-02-15 | 1999-01-06 | アイビーエム コーポレーシヨン | Differential communication system |
JP2002523838A (en) * | 1998-08-26 | 2002-07-30 | サン・マイクロシステムズ・インコーポレーテッド | Apparatus and method for improving the performance of a proxy server array using persistent connections |
WO2012063282A1 (en) * | 2010-11-10 | 2012-05-18 | 株式会社日立製作所 | Operating method and system for mashup application |
-
2013
- 2013-05-14 JP JP2013102239A patent/JP6212944B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11500250A (en) * | 1996-02-15 | 1999-01-06 | アイビーエム コーポレーシヨン | Differential communication system |
JP2002523838A (en) * | 1998-08-26 | 2002-07-30 | サン・マイクロシステムズ・インコーポレーテッド | Apparatus and method for improving the performance of a proxy server array using persistent connections |
WO2012063282A1 (en) * | 2010-11-10 | 2012-05-18 | 株式会社日立製作所 | Operating method and system for mashup application |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018181012A (en) * | 2017-04-14 | 2018-11-15 | 株式会社日立製作所 | Business cooperation system and business cooperation method |
CN109922053A (en) * | 2019-02-22 | 2019-06-21 | 北京三快在线科技有限公司 | Data transmission method, device, electronic equipment and readable storage medium storing program for executing |
Also Published As
Publication number | Publication date |
---|---|
JP6212944B2 (en) | 2017-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109067914B (en) | web service proxy method, device, equipment and storage medium | |
KR102046700B1 (en) | Message bus service directory | |
EP3275162B1 (en) | Systems and techniques for web communication | |
US9578081B2 (en) | System and method for providing an actively invalidated client-side network resource cache | |
JP5898980B2 (en) | Method, system, and storage medium for managing multiple queues of non-persistent messages in a network environment | |
US9288261B2 (en) | Network resource modification for higher network connection concurrence | |
US20140372516A1 (en) | System and method for providing a scalable translation between polling-based clients and connection-based message queues | |
EP2782318A1 (en) | Allocating resources between network nodes for providing a network node function | |
US9124629B1 (en) | Using secure connections to identify systems | |
CN104009938A (en) | Method and system for long connections based on router level | |
CN103873597B (en) | Distributed webpage download method and system | |
US9712621B1 (en) | Information sharing endpoint | |
CN104010001B (en) | In mobile terminal, the method and system connecting communication is carried out in similar networking request | |
CN107222561A (en) | A kind of transport layer reverse proxy method | |
CN103701928B (en) | It is applied to the method that load equalizer improves server and SSL gateway operational efficiency | |
US20150127837A1 (en) | Relay apparatus and data transfer method | |
JP6212944B2 (en) | Communication system, proxy server, communication method and program | |
US10587733B2 (en) | Server-side HTTP translator | |
CN102710559A (en) | Resource gateway implementation method of digital literature adopting reverse-proxy technology | |
CN104426895B (en) | Information processing method and terminal device | |
US9621632B2 (en) | Scaling of stateful enterprise services | |
Srinivasan et al. | Ccnxserv: Dynamic service scalability in information-centric networks | |
CN113778499B (en) | Method, apparatus, device and computer readable medium for publishing services | |
US20130226984A1 (en) | Method and apparatus of providing optimized web browser communications | |
CN111427703A (en) | Industrial data real-time display method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170314 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170315 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170515 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170904 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6212944 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |