Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7734641B2 - Communication device, communication method, and communication program - Google Patents
[go: Go Back, main page]

JP7734641B2 - Communication device, communication method, and communication program - Google Patents

Communication device, communication method, and communication program

Info

Publication number
JP7734641B2
JP7734641B2 JP2022151284A JP2022151284A JP7734641B2 JP 7734641 B2 JP7734641 B2 JP 7734641B2 JP 2022151284 A JP2022151284 A JP 2022151284A JP 2022151284 A JP2022151284 A JP 2022151284A JP 7734641 B2 JP7734641 B2 JP 7734641B2
Authority
JP
Japan
Prior art keywords
program
communication
proxy function
message
communication device
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.)
Active
Application number
JP2022151284A
Other languages
Japanese (ja)
Other versions
JP2024046101A (en
Inventor
柊 関川
力 佐々木
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2022151284A priority Critical patent/JP7734641B2/en
Publication of JP2024046101A publication Critical patent/JP2024046101A/en
Application granted granted Critical
Publication of JP7734641B2 publication Critical patent/JP7734641B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、通信デバイス並びにその通信方法及び通信プログラムに係り、特に、通信機能に制約のあるプログラム実行エンジンを備えたWebブラウザで、通信を伴うプログラムを実行する通信デバイス並びにその通信方法及び通信プログラムに関する。 The present invention relates to a communication device, a communication method, and a communication program, and in particular to a communication device, a communication method, and a communication program that executes a program involving communication using a web browser equipped with a program execution engine with limited communication capabilities.

Webブラウザのプログラム実行エンジンには、プログラムが使用できる通信機能に制約があり、一部のプロトコルや双方向通信、外部デバイスからの通信待受といった通信機能の一部が制限される。 Web browser program execution engines place restrictions on the communication functions that programs can use, limiting some communication functions such as some protocols, two-way communication, and communication standby from external devices.

非特許文献1には、単一のTCPコネクション上に双方向通信のチャネルを作成するプロトコルの標準化技術としてWebSocketが開示されている。WebSocketは、Webで使用されるHTTPを用いて予め確立したHTTPコネクションを利用してTCPコネクションを確立し、WebブラウザとWebサーバとの間でHTTPに比べてヘッダ長が短いフレームの非HTTPメッセージを双方向で交換するプロトコルである。 Non-Patent Document 1 discloses WebSocket as a standardized protocol technology for creating a bidirectional communication channel over a single TCP connection. WebSocket is a protocol that establishes a TCP connection using a pre-established HTTP connection using HTTP used on the Web, and bidirectionally exchanges non-HTTP messages between a web browser and a web server in frames with shorter header lengths than HTTP.

特許文献1には、デバイスで動作するブラウザ内でローカルプロキシを動作させることで通信経路をブラウザに集約させ、端末内で動作しているアプリケーションに対して認証の代行機能やブラウザに対して表示するページデータの加工等の機能を実現する技術が開示されている。 Patent Document 1 discloses a technology that consolidates communication paths in the browser by running a local proxy within the browser running on the device, and provides functions such as proxy authentication for applications running within the terminal and processing of page data displayed on the browser.

特許第4353487号公報Patent No. 4353487

IETF RFC 6455IETF RFC 6455

非特許文献1が開示するWebSocket技術は、コネクションの確立にHTTPを利用するのでWebサーバとWebブラウザとの間の通信に制約がある。したがって、Webブラウザ同士の通信やHTTPに対応しないDBサーバ等との接続には利用できない。 The WebSocket technology disclosed in Non-Patent Document 1 uses HTTP to establish connections, which places restrictions on communication between web servers and web browsers. Therefore, it cannot be used for communication between web browsers or for connecting to database servers that do not support HTTP.

特許文献1では、ローカルプロキシによる通信にHTTPが想定されており、ローカルプロキシにおいてプロトコルの変換あるいは宛先情報の変更を行うものではない。そのため、Webブラウザ内のプログラム実行エンジン上で動作するプログラムからプログラム実行エンジンでサポートなされないHTTP以外のプロトコルを用いた通信、あるいは外部デバイスからプログラムに対して直接接続を行って双方向通信を実現することはできない。 Patent Document 1 assumes that HTTP will be used for communication via the local proxy, and does not convert protocols or change destination information in the local proxy. As a result, it is not possible to achieve two-way communication from a program running on a program execution engine within a web browser using a protocol other than HTTP that is not supported by the program execution engine, or by directly connecting to a program from an external device.

このように、Webブラウザ内のプログラム実行エンジンで実行されるプログラムが外部デバイスと双方向通信を実現するためには次の課題が存在する。 As such, the following challenges exist for a program running on a program execution engine within a web browser to achieve two-way communication with an external device.

第1に、Webブラウザ内のプログラム実行エンジンで実行されるプログラムにおいて利用できるプロトコルやネットワーク機能を拡張する手段が必要となる。 First, a means is needed to extend the protocols and network functions available to programs running on the program execution engine within a web browser.

第2に、Webブラウザ内のプログラム実行エンジンで実行されるプログラムに対して外部デバイスからメッセージの送信が行われた際に、当該プログラムに対してメッセージ内容の通知を実施する手段が必要となる。 Secondly, when a message is sent from an external device to a program executed by a program execution engine within a web browser, a means is required to notify the program of the message contents.

本発明の目的は、上記の技術課題を解決し、通信デバイス内にプロキシ機能を配置し、通信機能の制約によりWebブラウザが対応できない通信を前記プロキシ機能に代理で実施させることで、Webブラウザ内のプログラム実行エンジンの対応プロトコル・ネットワーク機能や双方向通信を実現する通信デバイス並びにその通信方法及び通信プログラムを提供することにある。 The object of the present invention is to solve the above technical problems and provide a communications device, a communications method, and a communications program that implements protocols, network functions, and two-way communications compatible with the program execution engine within the web browser by placing a proxy function within the communications device and having the proxy function perform communications that the web browser cannot handle due to communication function limitations.

上記の目的を達成するために、本発明は、デバイス内にプロキシ機能を配置し、外部デバイスとの間で送受信されるメッセージにプロトコル変換や宛先情報の変更などの加工処理を実施するなどして、通信機能の制約によりWebブラウザが対応できない通信機能を補うことで、プログラム実行エンジンが提供しないプロコトルや通信方法を用いたメッセージ交換を実施できるようにした。 To achieve the above objectives, the present invention places a proxy function within the device and performs processing such as protocol conversion and destination information modification on messages sent and received between external devices, thereby compensating for communication functions that web browsers cannot support due to communication function limitations, thereby enabling message exchange using protocols and communication methods not provided by the program execution engine.

Webブラウザ上で動作するプログラムのメッセージ送信はデバイス内で動作するプロキシ機能との間でHTTPを利用して実施され、プロキシ機能においてプロトコル変換や宛先変更等の処理を行って所望のプロトコルで外部デバイスとの通信を行う。 Messages sent by a program running on a web browser are sent using HTTP between the device and a proxy function running within the device, which then performs processes such as protocol conversion and destination changes to communicate with external devices using the desired protocol.

なお、本発明はこのような特徴的な処理部を備える通信デバイスとして実現することができるだけでなく、かかる特徴的な処理をステップとする通信デバイスの通信方法として実現したり、かかるステップをコンピュータに実行させる通信デバイスの通信プログラムとして実現したりすることができる。 The present invention can be realized not only as a communications device equipped with such characteristic processing units, but also as a communications method for a communications device that includes steps in such characteristic processing, or as a communications program for a communications device that causes a computer to execute such steps.

本発明によれば、以下のような効果が達成される。 The present invention achieves the following effects:

(1) デバイス内に配置したプロキシ機能がメッセージの加工処理を実施することで、Webブラウザ内で動作するプログラムは、プログラム実行エンジンが提供しないプロコトルを用いて外部デバイスとのメッセージ交換を実施できるようになる。 (1) By using a proxy function placed within the device to process messages, programs running within a web browser can exchange messages with external devices using protocols not provided by the program execution engine.

(2) デバイス内に配置したプロキシ機能がメッセージの加工処理および一時保持を実施することで、外部デバイスから送信したメッセージをWebブラウザ内で動作するプログラムが受信できるようになる。 (2) A proxy function placed within the device processes and temporarily stores messages, allowing a program running within a web browser to receive messages sent from an external device.

(3) デバイス内に配置されたプロキシ機能がメッセージを加工し、かつ予め確立された双方向通信チャネルへ転送することで、外部デバイスから送信したメッセージをWebブラウザ内で動作するプログラムが受信できるようになる。 (3) A proxy function located within the device processes the message and forwards it to a pre-established two-way communication channel, allowing a program running within a web browser to receive messages sent from an external device.

(4) プログラムがプロキシ機能に対してメッセージを送信する際に付加情報を付与することで、プロキシ機能において宛先や使用するプロトコルなど、メッセージの加工処理の内容、方法を選択することが可能となる。 (4) By adding additional information when a program sends a message to the proxy function, the proxy function can select the content and method of message processing, such as the destination and protocol to be used.

(5) プログラムに対して識別子を付与し、プロキシ機能がWebブラウザ内で実行されている複数のプログラムを識別できるようにし、外部デバイスが識別したプログラムに対してメッセージ送信を行うので、プログラム実行エンジンとプロキシ機能との間に確立されたコネクションが破棄された場合でも、識別子に基づいて正しいプログラムへメッセージを送信することができる。 (5) An identifier is assigned to each program, allowing the proxy function to distinguish between multiple programs running within a web browser, and the external device sends a message to the identified program. Therefore, even if the connection established between the program execution engine and the proxy function is terminated, the message can be sent to the correct program based on the identifier.

(6) プロキシ機能は自身のメッセージ処理部の制御方法を外部サーバから取得できるので、多数のデバイスが存在する場合でも外部のサーバから制御方法を一括変更できるようになる。 (6) The proxy function can obtain the control method for its own message processing unit from an external server, making it possible to change the control method collectively from an external server even when there are a large number of devices.

(7) プロキシ機能が制御インタフェースを具備することで外部デバイスあるいはWebブラウザで実行されるプログラムから制御方法を変更することができるので、プロキシ機能が実施するメッセージ加工の内容や方法をプログラム単位で変更できるようになる。 (7) By providing a control interface for the proxy function, the control method can be changed from an external device or a program running in a web browser, making it possible to change the content and method of message processing performed by the proxy function on a program-by-program basis.

本発明の一実施形態に係る通信デバイスの主要部の構成を示した機能ブロック図である。1 is a functional block diagram showing the configuration of a main part of a communication device according to an embodiment of the present invention; プログラムが外部デバイスへメッセージを送信する手順を示したシーケンスフロー(その1)である。1 is a sequence flow (part 1) illustrating a procedure for a program to send a message to an external device. プログラムが外部デバイスへメッセージを送信する手順を示したシーケンスフロー(その2)である。10 is a sequence flow (part 2) illustrating a procedure for a program to send a message to an external device. プログラムによるメッセージ受信(Push)の機能ブロック図である。FIG. 10 is a functional block diagram of programmatic message reception (Push). プログラムによるメッセージ受信(Push)の手順を示したシーケンスフロー(その1)である。This is a sequence flow (part 1) showing the procedure for receiving (Pushing) a message by a program. プログラムによるメッセージ受信(Push)の手順を示したシーケンスフロー(その2)である。This is a sequence flow (part 2) showing the procedure for receiving a message (Push) by a program. プログラムによるメッセージ受信(Poling)の機能ブロック図である。FIG. 10 is a functional block diagram of programmatic message reception (polling). プログラムによるメッセージ受信(Poling)の手順を示したシーケンスフロー(その1)である。This is a sequence flow (part 1) showing the procedure for receiving a message (polling) by a program. プログラムによるメッセージ受信(Poling)の手順を示したシーケンスフロー(その2)である。This is a sequence flow (part 2) showing the procedure for receiving a message (polling) by a program. プログラムによるメッセージ受信(Poling)の手順を示したシーケンスフロー(その3)である。This is a sequence flow (part 3) showing the procedure for receiving a message (polling) by a program. プログラムによるメッセージ受信(Poling)の手順を示したシーケンスフロー(その4)である。This is a sequence flow (part 4) showing the procedure for receiving messages (polling) by a program. 本発明の利用シーンの一例を示した図である。FIG. 1 is a diagram showing an example of a scene in which the present invention is used.

以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は、本発明の一実施形態に係る通信デバイス1の主要部の構成を示した機能ブロック図であり、Webブラウザ10及びプロキシ機能11を備える。前記デバイス1にはネットワーク経由でWebサーバ2及び外部デバイス3が接続されている。 Embodiments of the present invention will be described in detail below with reference to the drawings. Figure 1 is a functional block diagram showing the configuration of the main parts of a communication device 1 according to one embodiment of the present invention, which includes a web browser 10 and a proxy function 11. A web server 2 and an external device 3 are connected to the device 1 via a network.

このようなデバイス1は、CPU、ROM、RAM、バス、インタフェース等を備えた汎用のコンピュータやサーバに、以下に詳述する各機能を実現するアプリケーション(プログラム)を実装することで構成できる。あるいはアプリケーションの一部をハードウェア化またはソフトウェア化した専用機や単能機としても構成できる。 Such a device 1 can be configured by implementing an application (program) that realizes each of the functions detailed below on a general-purpose computer or server equipped with a CPU, ROM, RAM, bus, interface, etc. Alternatively, it can be configured as a dedicated or single-function machine in which part of the application is implemented as hardware or software.

Webブラウザ10は、Webサーバ2から読み込んだプログラムを実行するためのプログラム実行エンジン101を備える。プログラム実行エンジン101は、Web標準技術として広く使用されるECMAScript・JavaScriptやWeb Assembly(WASM)等で記述されたプログラムを実行する従来のエンジンである。 The web browser 10 includes a program execution engine 101 for executing programs loaded from the web server 2. The program execution engine 101 is a conventional engine that executes programs written in ECMAScript, JavaScript, Web Assembly (WASM), and other widely used web standard technologies.

プログラムP1,P2はWebサーバ2から取得され、プログラム実行エンジン101に読み込まれて当該プログラム内に記述された所定の処理を実行する。プログラムP1,P2は処理を実行する際、プログラム実行エンジン101が具備する通信機能を、プログラム実行エンジン101が提供するインタフェースを介して呼び出すことで外部デバイス3とメッセージ交換を行うことができる。ただし、プログラムP1,P2が利用できる通信機能には制約があり、プログラム実行エンジン101がインタフェースを提供する通信機能(以降、ブラウザ対応通信機能)に限定される。 Programs P1 and P2 are obtained from Web server 2, loaded into program execution engine 101, and execute the specified processing described in the program. When executing processing, programs P1 and P2 can exchange messages with external device 3 by calling the communication functions of program execution engine 101 via an interface provided by program execution engine 101. However, there are restrictions on the communication functions that programs P1 and P2 can use, and they are limited to communication functions for which program execution engine 101 provides an interface (hereinafter referred to as browser-compatible communication functions).

ブラウザ対応通信機能には、Webの通信に使用されるHTTP ( Hypertext Transfer Protocol ) やHTTP上でWebサーバとWebブラウザ間が双方向通信を実施する規格であるWebSocket等のプロトコルが含まれる。ブラウザ対応通信機能は原則として、外部のサーバに対して接続を行うクライアント型の通信機能に限られるため、外部デバイス3からプログラムP1,P2に対して直接接続を行うことはできない。 Browser-compatible communication functions include protocols such as HTTP (Hypertext Transfer Protocol), which is used for web communications, and WebSocket, a standard for two-way communication between web servers and web browsers over HTTP. Browser-compatible communication functions are, in principle, limited to client-type communication functions that connect to external servers, so it is not possible to connect directly from external device 3 to programs P1 and P2.

プロキシ機能11は、ローカル送受信部111、メッセージ処理部112及びリモート送受信部113を主要な構成とし、前記通信機能の制約によりWebブラウザが対応しない通信機能を代理で実行することにより、制約されている通信機能を補うことができる。 The proxy function 11 mainly consists of a local transmission/reception unit 111, a message processing unit 112, and a remote transmission/reception unit 113, and can compensate for the limited communication functions by executing communication functions that the web browser does not support due to the limitations of the communication functions.

ローカル送受信部111は、デバイス内のローカルループバックアドレスの単一あるいは複数のポートで待受を行い、ブラウザ対応通信機能に含まれるプロトコルのサーバ機能を実行する。プログラムP1,P2は外部デバイス3に代わり、ローカルループバックアドレスのローカル送受信部が待受を行なっているポートに対してメッセージ送信を行う。この際、メッセージ内容に本来の接続先である外部デバイス3の宛先情報や変換後のプロトコル等の付加情報をプログラムP1,P2で付加し、プロキシ機能11に対して必要となる情報を通知することができる。 The local sender/receiver 111 listens on one or more ports of the local loopback address within the device and executes the server function of the protocol included in the browser-compatible communication function. Programs P1 and P2 send messages on behalf of the external device 3 to the port on which the local sender/receiver of the local loopback address is listening. At this time, programs P1 and P2 add additional information to the message content, such as destination information for the external device 3 (the original connection destination) and the converted protocol, and can notify the proxy function 11 of the necessary information.

ローカル送受信部111は、プログラムP1,P2から受け取ったメッセージをメッセージ処理部112に転送する。メッセージ処理部112は、あらかじめ決められた処理内容又はプログラムP1,P2が付加した付加情報に従って、プロトコル変換や宛先変更等のメッセージ加工処理を実施してリモート送受信部113に転送する。 The local transmission/reception unit 111 transfers messages received from programs P1 and P2 to the message processing unit 112. The message processing unit 112 performs message processing such as protocol conversion and destination change according to predetermined processing content or additional information added by programs P1 and P2, and then transfers the message to the remote transmission/reception unit 113.

リモート送受信部113は、メッセージ処理部112が加工したメッセージをデバイス10のネットワークインタフェースから送出する。これにより、外部デバイス3に対してWebブラウザ10が対応しない任意のプロトコルを用いてメッセージを送信できる。また、リモート送受信部113はWebブラウザ10が対応しない任意のプロトコルを用いたサーバ機能を実行し、外部デバイス3からの接続を待ち受けることもできる。 The remote transmission/reception unit 113 sends the message processed by the message processing unit 112 from the network interface of the device 10. This allows messages to be sent to the external device 3 using any protocol that the web browser 10 does not support. The remote transmission/reception unit 113 can also execute server functions using any protocol that the web browser 10 does not support, and wait for connections from the external device 3.

図2A,2Bは、プログラムP1による外部デバイス3へのメッセージ送信の手順を示したシーケンスフローである。 Figures 2A and 2B are sequence flows showing the steps for program P1 to send a message to external device 3.

時刻t1において、デバイス1のユーザがWebブラウザ10からWebサーバ2のプログラムP1を起動するためのURLへアクセスすると、時刻t2では、Webブラウザ10がWebサーバ2へプログラムP1をリクエストする。時刻t3では、Webサーバ2が当該要求に応答してプログラムP1をWebブラウザ10へ提供する。 At time t1, a user of device 1 accesses a URL from web browser 10 to launch program P1 on web server 2. At time t2, web browser 10 requests program P1 from web server 2. At time t3, web server 2 responds to the request by providing program P1 to web browser 10.

時刻t4において、Webブラウザ10がプログラム実行エンジン101に対してプログラムP1の起動を要求すると、プログラム実行エンジン101は、時刻t5においてプログラムP1を起動する。プログラムP1は、時刻t6において既定の処理を実施し、時刻t7においてプログラム実行エンジン101へ通信機能の呼び出しを要求する。 At time t4, the web browser 10 requests the program execution engine 101 to start program P1, and the program execution engine 101 starts program P1 at time t5. Program P1 performs a predetermined process at time t6 and requests the program execution engine 101 to call a communication function at time t7.

プログラム実行エンジン101は、時刻t8において前記呼び出し要求に応答し、ローカル送受信部111へHTTPでメッセージを送信する。ローカル送受信部111は、時刻t9において前記メッセージをメッセージ処理部112へ転送する。 At time t8, the program execution engine 101 responds to the call request and sends a message via HTTP to the local transmission/reception unit 111. At time t9, the local transmission/reception unit 111 forwards the message to the message processing unit 112.

メッセージ処理部112は、時刻t10において前記メッセージの宛先を外部デバイス3に変更し、プロトコルをHTTPからMQTTに変換し、時刻t11においてリモート送受信部113へ転送する。リモート送受信部113は、転送されたメッセージを時刻t12において外部デバイス3へMQTTで送信する。 At time t10, the message processing unit 112 changes the destination of the message to the external device 3, converts the protocol from HTTP to MQTT, and transfers the message to the remote transmission/reception unit 113 at time t11. The remote transmission/reception unit 113 then transmits the transferred message to the external device 3 via MQTT at time t12.

外部デバイス3は、時刻t13においてメッセージ応答をMQTTでリモート送受信部113へ送信する。リモート送受信部113は、前記メッセージ応答を時刻t14においてメッセージ処理部112へ転送する。 At time t13, the external device 3 sends a message response to the remote transceiver unit 113 using MQTT. The remote transceiver unit 113 forwards the message response to the message processing unit 112 at time t14.

メッセージ処理部112は、時刻t15において前記転送されたメッセージ応答の宛先をプログラムP1に変更し、プロトコルをMQTTからHTTPへ変換し、更に応答コードを設定する。応答コードには、受信した応答メッセージの内容に応じて任意のコードを設定することができる。例えば、MQTTにおいてメッセージの受信を意味するPUBACKメッセージを応答として受信した場合には、HTTPの応答コードとしてリクエスト成功を示す200 OKを設定する。また一定時間以内に応答メッセージを受信できなかった場合にはHTTP応答コードとして408 Request Timeoutを設定することができる。前記応答メッセージは、時刻t16においてメッセージ処理部112からローカル送受信部111へ転送される。 At time t15, the message processing unit 112 changes the destination of the transferred message response to program P1, converts the protocol from MQTT to HTTP, and sets a response code. Any code can be set as the response code depending on the content of the received response message. For example, if a PUBACK message, which indicates receipt of a message in MQTT, is received as a response, the HTTP response code can be set to 200 OK, indicating a successful request. Furthermore, if a response message is not received within a certain period of time, the HTTP response code can be set to 408 Request Timeout. The response message is transferred from the message processing unit 112 to the local transceiver 111 at time t16.

ローカル送受信部111は、時刻t17において前記応答メッセージをプログラム実行エンジン101へHTTPプロトコルで転送する。プログラム実行エンジン101は、時刻t18においてプログラムP1へ通信機能を応答する。プログラムP1は、時刻t19において前記応答結果を処理する。 At time t17, the local transmission/reception unit 111 transfers the response message to the program execution engine 101 using the HTTP protocol. At time t18, the program execution engine 101 responds with a communication function to program P1. At time t19, program P1 processes the response result.

本実施形態によれば、Webブラウザ内で動作するプログラムは、 デバイス1内に配置したプロキシ機能11がメッセージの加工処理を実施することで、プログラム実行エンジンが提供しないプロコトルを用いて外部デバイス3とのメッセージ交換を実施できるようになる。 In this embodiment, a program running within a web browser can exchange messages with an external device 3 using a protocol not provided by the program execution engine, by having the proxy function 11 located within the device 1 process messages.

図3は、プログラムP1によるメッセージ受信の機能ブロック図であり、図4A,4Bは、メッセージ受信の手順を示したシーケンスフローである。ここでは、外部デバイス3が送信したメッセージをデバイス1がPush動作で受信する場合を例にして説明する。本実施形態では、予めローカル送受信部111においてHTTPサーバ機能が起動されており、リモート送受信部113においてMQTTサーバ機能が起動されている。 Figure 3 is a functional block diagram of message reception by program P1, and Figures 4A and 4B are sequence flows showing the steps for receiving a message. Here, we will explain an example in which device 1 receives a message sent by external device 3 using a push operation. In this embodiment, the HTTP server function is already activated in the local transceiver 111, and the MQTT server function is already activated in the remote transceiver 113.

時刻t31において、デバイス1のユーザがWebブラウザ10からWebサーバ2のプログラムP1を起動するためのURLへアクセスすると、時刻t32では、Webブラウザ10がWebサーバ2へプログラムP1をリクエストする。時刻t33では、Webサーバ2が当該要求に応答して送信したプログラムP1をWebブラウザ10が取得する。 At time t31, a user of device 1 accesses a URL for launching program P1 on web server 2 from web browser 10. At time t32, web browser 10 requests program P1 from web server 2. At time t33, web browser 10 obtains program P1, which web server 2 sends in response to the request.

時刻t34において、Webブラウザ10がプログラム実行エンジン101に対してプログラムP1の起動を要求すると、プログラム実行エンジン101は、時刻t35においてプログラムP1を起動する。時刻t36において、プログラムP1がプログラム実行エンジン101に対して通信機能の呼び出しを要求すると、プログラム実行エンジン101は、時刻t37においてローカル送受信部111へプログラム登録メッセージをHTTPで送信する。 At time t34, the web browser 10 requests the program execution engine 101 to start program P1, and the program execution engine 101 starts program P1 at time t35. At time t36, program P1 requests the program execution engine 101 to call a communication function, and the program execution engine 101 sends a program registration message to the local transmission/reception unit 111 via HTTP at time t37.

ローカル送受信部111は、時刻t38においてメッセージ処理部112へプログラムを登録する。メッセージ処理部112は、時刻t39においてプログラム登録メッセージ応答をローカル送受信へ送信する。ローカル送受信部111は、時刻t40においてプログラム登録メッセージ応答をHTTPでプログラム実行エンジン101へ送信する。 At time t38, the local transmission/reception unit 111 registers the program in the message processing unit 112. At time t39, the message processing unit 112 sends a program registration message response to the local transmission/reception unit. At time t40, the local transmission/reception unit 111 sends the program registration message response to the program execution engine 101 via HTTP.

プログラム実行エンジン101は、時刻t41において登録結果をプログラムP1へ応答する。プログラムP1は、時刻t42においてWebSocketをプログラム実行エンジン101へ要求する。プログラム実行エンジン101は、時刻t43においてローカル送受信部111へWebSocketコネクション要求をHTTPで送信する。ローカル送受信部111は、時刻t44においてWebSocketコネクション応答をHTTPでプログラム実行エンジン101へ送信する。プログラム実行エンジン101は、時刻t45においてWebSocketの確立をプログラムP1へ報告する。 At time t41, the program execution engine 101 responds with the registration result to program P1. At time t42, program P1 requests WebSocket from the program execution engine 101. At time t43, the program execution engine 101 sends a WebSocket connection request to the local transmission/reception unit 111 via HTTP. At time t44, the local transmission/reception unit 111 sends a WebSocket connection response to the program execution engine 101 via HTTP. At time t45, the program execution engine 101 reports the establishment of WebSocket to program P1.

その後、外部デバイス3が時刻t51においてメッセージ送信のためにコネクションの確立をMQTTでリモート送受信部113へ要求すると、リモート送受信部113は、時刻t52においてコネクション確立応答をMQTTで返信する。外部デバイス3は、時刻t53においてメッセージM1をMQTTでリモート送受信部113へ送信する。本実施形態では、図3に示すように、プロトコルが「MQTT」、宛先が「デバイス1」、識別子が「86f021」、データが「abc」のメッセージM1が送信される。 After that, at time t51, the external device 3 requests the remote transmitter/receiver 113 to establish a connection using MQTT to send a message. At time t52, the remote transmitter/receiver 113 returns a connection establishment response using MQTT. At time t53, the external device 3 sends message M1 to the remote transmitter/receiver 113 using MQTT. In this embodiment, as shown in FIG. 3, message M1 is sent with the protocol "MQTT," the destination "Device 1," the identifier "86f021," and the data "abc."

リモート送受信部113は、時刻t54において前記メッセージM1をメッセージ処理部112へ転送する。メッセージ処理部112は、図3に示すように、時刻t55において前記メッセージM1のプロトコルをMQTTからWebSocketに変換し、宛先をプログラムP1[local host:35001]に変更し、時刻t56において、前記プロトコルや宛先が加工されたメッセージm1をローカル送受信部111へ転送する。 At time t54, the remote transmission/reception unit 113 transfers the message M1 to the message processing unit 112. As shown in FIG. 3, at time t55, the message processing unit 112 converts the protocol of the message M1 from MQTT to WebSocket and changes the destination to program P1 [local host:35001], and at time t56, transfers the message m1, whose protocol and destination have been modified, to the local transmission/reception unit 111.

ローカル送受信部111は、受信したメッセージm1を時刻57においてWebSocketでプログラム実行エンジン101へ送信する。プログラム実行エンジン101は、時刻t58において前記メッセージm1をプログラムP1へ通知する。プログラムP1は、時刻t59において前記メッセージm1を処理し、時刻t60において処理結果をプログラム実行エンジン101へWebSocketで送信する。 The local transmission/reception unit 111 transmits the received message m1 to the program execution engine 101 via WebSocket at time t57. The program execution engine 101 notifies the program P1 of the message m1 at time t58. The program P1 processes the message m1 at time t59 and transmits the processing result to the program execution engine 101 via WebSocket at time t60.

プログラム実行エンジン101は、時刻t61において前記処理結果をWebSocketでローカル送受信部111へ送信する。ローカル送受信部111は、時刻t62において前記処理結果をメッセージ処理部112へ転送する。メッセージ処理部112は、時刻t63において前記処理結果の宛先を外部デバイス3に変更し、プロトコルをMQTTに変換し、時刻t64においてリモート送受信部113へ転送する。リモート送受信部113は、時刻t65においてメッセージ応答完了をMQTTで外部デバイス3へ応答する。 At time t61, the program execution engine 101 transmits the processing result to the local transmission/reception unit 111 via WebSocket. At time t62, the local transmission/reception unit 111 transfers the processing result to the message processing unit 112. At time t63, the message processing unit 112 changes the destination of the processing result to the external device 3, converts the protocol to MQTT, and transfers it to the remote transmission/reception unit 113 at time t64. At time t65, the remote transmission/reception unit 113 responds to the external device 3 by MQTT to notify that the message response has been completed.

図5は、プログラムP1によるメッセージ受信の他の機能ブロック図であり、図6A~6Dは、メッセージ受信の手順を示したシーケンスフローである。ここでは外部デバイス3が送信したメッセージをデバイス1がPoling動作で受信する場合を例にして説明する。本実施形態では、予めローカル送受信部111においてHTTPサーバ機能が起動され、リモート送受信部113においてMQTTサーバ機能が起動される。 Figure 5 is another functional block diagram of message reception by program P1, and Figures 6A to 6D are sequence flows showing the steps for receiving a message. Here, we will explain an example in which device 1 receives a message sent by external device 3 using a Polling operation. In this embodiment, the HTTP server function is activated in advance in the local transceiver unit 111, and the MQTT server function is activated in the remote transceiver unit 113.

時刻t71において、デバイス1のユーザがWebブラウザ10からWebサーバ2のプログラムP1を起動するためのURLへアクセスすると、時刻t72では、Webブラウザ10がWebサーバ2へプログラムP1をリクエストする。時刻t73では、Webサーバ2が当該要求に応答して送信したプログラムP1をWebブラウザ10が取得する。 At time t71, a user of device 1 accesses a URL for launching program P1 on web server 2 from web browser 10. At time t72, web browser 10 requests program P1 from web server 2. At time t73, web browser 10 obtains program P1, which web server 2 sends in response to the request.

時刻t74において、Webブラウザ10がプログラム実行エンジン101に対してプログラムP1の起動を要求すると、プログラム実行エンジン101は時刻t75においてプログラムP1を起動する。 At time t74, the web browser 10 requests the program execution engine 101 to start program P1, and the program execution engine 101 starts program P1 at time t75.

時刻t76において、プログラムP1がプログラム実行エンジン101に対して通信機能の呼び出しを要求すると、プログラム実行エンジン101は、時刻t77において前記呼び出し要求に応答し、プログラム登録メッセージをHTTPでローカル送受信部111へ送信する。ローカル送受信部111は、時刻t78においてメッセージ処理部112へプログラムを登録する。 At time t76, program P1 requests the program execution engine 101 to call a communication function. At time t77, the program execution engine 101 responds to the call request and sends a program registration message to the local transmission/reception unit 111 via HTTP. At time t78, the local transmission/reception unit 111 registers the program in the message processing unit 112.

メッセージ処理部112は、時刻t79においてプログラム登録メッセージ応答をローカル送受信部111へ送信する。ローカル送受信部111は、時刻t80においてプログラム登録メッセージの応答をHTTPでプログラム実行エンジン101へ送信する。プログラム実行エンジン101は、時刻t81において登録結果応答をプログラムP1へ送信する。 At time t79, the message processing unit 112 sends a program registration message response to the local transmission/reception unit 111. At time t80, the local transmission/reception unit 111 sends a program registration message response to the program execution engine 101 via HTTP. At time t81, the program execution engine 101 sends a registration result response to program P1.

その後、外部デバイス3が時刻t91において、メッセージ送信のためにデバイス1に対してコネクションの確立をMQTTで要求し、時刻t92においてリモート送受信部113がコネクション確立応答をMQTTで返信すると、外部デバイス3は時刻t93において、メッセージをMQTTでリモート送受信部113へ送信する。本実施形態では、図5に示すように、プロトコルが「MQTT」、宛先が「デバイス1」、識別子が「86f021」、データが「abc」のメッセージM1が送信される。 After that, at time t91, external device 3 requests device 1 to establish a connection using MQTT in order to send a message. At time t92, the remote transmitter/receiver 113 replies with a connection establishment response using MQTT. At time t93, external device 3 transmits a message to the remote transmitter/receiver 113 using MQTT. In this embodiment, as shown in Figure 5, message M1 is transmitted, with the protocol set to "MQTT," the destination set to "device 1," the identifier set to "86f021," and the data set to "abc."

リモート送受信部113は、時刻t94において前記メッセージM1をメッセージ処理部112へ転送する。メッセージ処理部112は時刻t95において、図5に示すように、前記メッセージM1から識別子「86f021」及びデータ「abc」を抽出し、時刻t96においてメッセージキャッシュ114へ格納する。更に時刻t97において、メッセージの処理結果をリモート送受信部113へ通知する。なお、通知された処理結果が失敗であると、リモート送受信部113は無応答で当該処理を終了する。 At time t94, the remote transmission/reception unit 113 transfers the message M1 to the message processing unit 112. At time t95, the message processing unit 112 extracts the identifier "86f021" and the data "abc" from the message M1, as shown in Figure 5, and stores them in the message cache 114 at time t96. Furthermore, at time t97, the message processing result is notified to the remote transmission/reception unit 113. Note that if the notified processing result is a failure, the remote transmission/reception unit 113 terminates the processing without responding.

その後、プログラムP1は所定の周期でプログラム実行エンジン101へ通信機能呼出しの要求を繰り返してPolingによるメッセージ受信を繰り返す。本実施形態では、時刻t101においてプログラムP1がプログラム実行エンジン101へ通信機能呼出しを要求すると、時刻t102において、プログラム実行エンジン101からローカル送受信部111へ受信確認メッセージ送信がHTTPで送信される。時刻t103では、ローカル送受信部111からメッセージ処理部112へ受信確認が行われる。 After that, program P1 repeatedly requests the program execution engine 101 to call the communication function at a predetermined interval, and repeatedly receives messages via Polling. In this embodiment, when program P1 requests the program execution engine 101 to call the communication function at time t101, at time t102, the program execution engine 101 sends a reception confirmation message to the local transmission/reception unit 111 via HTTP. At time t103, the local transmission/reception unit 111 sends a reception confirmation to the message processing unit 112.

時刻t104において、メッセージ処理部112がメッセージキャッシュ114に対してメッセージの取得を要求した際、メッセージキャッシュ114にメッセージが蓄積されていれば、時刻t105においてメッセージキャッシュ114がメッセージ応答をメッセージ処理部112へ送信する。時刻t106では、メッセージ処理部112が前記メッセージの宛先をプログラムP1に変更し、メッセージ応答へHTTPヘッダを付加する。当該メッセージは時刻t107においてローカル送受信部111へ転送される。 At time t104, when the message processing unit 112 requests the message cache 114 to retrieve a message, if the message is stored in the message cache 114, the message cache 114 sends a message response to the message processing unit 112 at time t105. At time t106, the message processing unit 112 changes the destination of the message to program P1 and adds an HTTP header to the message response. The message is transferred to the local sending/receiving unit 111 at time t107.

ローカル送受信部111は、時刻t108において前記メッセージをプログラム実行エンジン101へHTTPで送信する。プログラム実行エンジン101は、時刻t109において通信機能応答をプログラムP1へ送信する。プログラムP1は、時刻t110において応答結果を処理する。 At time t108, the local transmission/reception unit 111 sends the message to the program execution engine 101 via HTTP. At time t109, the program execution engine 101 sends a communication function response to program P1. At time t110, program P1 processes the response result.

メッセージ処理部112は、前記時刻t107においてメッセージをローカル送受信部111へ送信した後、時刻t111において、メッセージの送信結果をリモート送受信部113へ通知する。リモート送受信部113は、時刻t112においてメッセージ送信完了応答をMQTTで外部デバイス3へ送信する。 After sending the message to the local transceiver 111 at time t107, the message processing unit 112 notifies the remote transceiver 113 of the message transmission result at time t111. The remote transceiver 113 then sends a message transmission completion response to the external device 3 using MQTT at time t112.

これに対して、メッセージキャッシュ114にメッセージが蓄積されていなければ、メッセージキャッシュ114は時刻t113において、メッセージ無しをメッセージ処理部112へ通知する。 In contrast, if no messages are stored in the message cache 114, the message cache 114 notifies the message processing unit 112 at time t113 that there are no messages.

メッセージ処理部112は、時刻t114においてメッセージ無しをローカル送受信部111へ通知する。ローカル送受信部111は、時刻t115においてメッセージ無しをHTTPでプログラム実行エンジン101へ通知する。プログラム実行エンジン101は、時刻t116において通信機能応答をプログラムP1へ送信する。 At time t114, the message processing unit 112 notifies the local transmission/reception unit 111 that there are no messages. At time t115, the local transmission/reception unit 111 notifies the program execution engine 101 by HTTP that there are no messages. At time t116, the program execution engine 101 sends a communication function response to program P1.

本実施形態によれば、デバイス1内に配置したプロキシ機能11がメッセージの加工処理および一時保持を実施するので、外部デバイス3から送信したメッセージをWebブラウザ10内で動作するプログラムが受信できるようになる。 In this embodiment, the proxy function 11 located within the device 1 processes and temporarily stores messages, allowing messages sent from the external device 3 to be received by a program running within the web browser 10.

図7は、本発明の利用シーンの一例を示した図であり、ユーザは前記デバイス1としてスマートフォン4及びパソコン5を所有する。スマートフォン4にはWebブラウザ及びプロキシ機能と共にVRプログラムが実装され、パソコン5にはWebブラウザ及びプロキシ機能と共に映像処理サーバプログラムが実装されている。 Figure 7 shows an example of a usage scenario for the present invention, in which a user owns a smartphone 4 and a personal computer 5 as the device 1. The smartphone 4 is equipped with a VR program along with a web browser and proxy function, and the personal computer 5 is equipped with a video processing server program along with a web browser and proxy function.

スマートフォン4のVRプログラムはWebブラウザ上で動作し、IoT端末としてのカメラ6とは、プロキシ機能を用いることでWebブラウザが対応しないMQTTで映像や制御信号を送受信できる。また、クラウド上のコンテナ仮想化基盤等のアプリケーションとは、プロキシ機能を用いることでWebブラウザが対応しないgRPCプロトコルで連携動作できる。パソコン5とはHTTPでデータやメッセージを送受信できる。 The VR program on the smartphone 4 runs on a web browser, and by using a proxy function, it can send and receive video and control signals to and from the camera 6 (an IoT device) using MQTT, which is not supported by web browsers. It can also use a proxy function to link with applications such as container virtualization platforms on the cloud using the gRPC protocol, which is not supported by web browsers. It can also send and receive data and messages to and from the PC 5 using HTTP.

同様に、パソコン5の映像処理サーバプログラムもWebブラウザ上で動作し、カメラ6とはMQTTで、クラウド上のコンテナ仮想化基盤とはgRPCプロトコルで、パソコン5とはHTTPで、それぞれ各種のデータやメッセージを送受信できる。 Similarly, the video processing server program on PC 5 runs on a web browser and can send and receive various data and messages with Camera 6 via MQTT, with the container virtualization platform on the cloud via the gRPC protocol, and with PC 5 via HTTP.

なお、プロキシ機能11の用途はメッセージ等の送受信を可能化する代理処理に限定されるものではなく、プログラムP1,P2が送信するメッセージに対する暗号化機能や認証機能の提供にも利用できる。これにより、プログラムごとに暗号化機能や認証機能を実装する必要がなくなり、プロキシ機能11で一括処理することができるようになる。 The use of proxy function 11 is not limited to proxy processing that enables the sending and receiving of messages, etc., but can also be used to provide encryption and authentication functions for messages sent by programs P1 and P2. This eliminates the need to implement encryption and authentication functions for each program, and allows for bulk processing by proxy function 11.

また、プログラムP1,P2が送信しようとするメッセージの宛先及び内容に基づいて当該メッセージの送信を許可又は禁止する機能や、プログラムP1,P2が送信するメッセージを、予め登録されている複数の宛先へ送信する機能をプロキシ機能11に提供させるようにしても良い。 The proxy function 11 may also be configured to provide a function for permitting or prohibiting the sending of messages that programs P1 and P2 are attempting to send based on the destination and content of the message, or a function for sending messages sent by programs P1 and P2 to multiple pre-registered destinations.

なお、上記の実施形態では双方向通信チャネルとしてWebSocketを例にして説明したが、本発明はこれのみに限定されるものではなく、WebRTC等の他の双方向通信チャネル技術を用いても同様に実現できる。 Note that, although the above embodiment has been described using WebSocket as an example of a bidirectional communication channel, the present invention is not limited to this and can be implemented in the same way using other bidirectional communication channel technologies such as WebRTC.

そして、上記の実施形態によれば、Webブラウザを備えたデバイスにプロキシ機能を実装することで、Webブラウザのプログラム実行エンジンでは制限されるプロトコル、双方向通信及び外部のデバイスからの通信待受といった通信機能を使用できるようになる。したがって、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、包括的で持続可能な産業化を推進する」や目標11「都市を包摂的、安全、レジリエントかつ持続可能にする」に貢献することが可能となる。 Furthermore, according to the above embodiment, by implementing a proxy function on a device equipped with a web browser, it becomes possible to use communication functions such as protocols that are restricted by the web browser's program execution engine, two-way communication, and communication standby from external devices. This makes it possible to contribute to Goal 9 "Build resilient infrastructure and promote inclusive and sustainable industrialization" and Goal 11 "Make cities inclusive, safe, resilient and sustainable" of the United Nations-led Sustainable Development Goals (SDGs).

1…デバイス,2…Webサーバ,3…外部デバイス,10…Webブラウザ,11…プロキシ機能,101…プログラム実行エンジン,111…ローカル送受信部,112…メッセージ処理部,113…リモート送受信部,114…メッセージキャッシュ 1...Device, 2...Web server, 3...External device, 10...Web browser, 11...Proxy function, 101...Program execution engine, 111...Local transmission/reception unit, 112...Message processing unit, 113...Remote transmission/reception unit, 114...Message cache

Claims (12)

通信機能に制約のあるプログラム実行エンジンを備えたWebブラウザで双方向通信を伴うプログラムを実行する通信デバイスにおいて、
前記通信機能の制約によりWebブラウザが対応できないネットワーク経由での外部デバイスとの双方向通信を代理して補うプロキシ機能を実装し、
前記プログラムを取得し、
前記プログラムが前記プロキシ機能へ双方向通信の宛先変更及びプロトコル変換に関する付加情報を通知し、
前記プロキシ機能は前記宛先変更及びプロトコル変換を前記付加情報に基づいて処理し、
前記プロキシ機能は、前記プログラムからプロキシ機能への通信を前記外部デバイスに受信させ、前記外部デバイスからプロキシ機能への通信を前記プログラムに受信させる宛先変更及びプロトコル変換を処理することを特徴とする通信デバイス。
A communication device that executes a program involving two-way communication using a web browser equipped with a program execution engine with limited communication capabilities,
Implement a proxy function that acts as a proxy for two-way communication with external devices via the network that web browsers cannot handle due to the limitations of the communication functions.
Acquire the program,
The program notifies the proxy function of additional information regarding destination changes and protocol conversions for two-way communications;
the proxy function processes the redirection and protocol conversion based on the additional information;
A communication device characterized in that the proxy function processes redirection and protocol conversion to cause the external device to receive communications from the program to the proxy function and to cause the program to receive communications from the external device to the proxy function .
前記プロキシ機能は、前記プログラムに対してPushによるメッセージ受信機能を提供することを特徴とする請求項1に記載の通信デバイス。 The communication device described in claim 1, characterized in that the proxy function provides the program with a push message reception function. 前記プロキシ機能は、Webブラウザが対応しないプロトコルの受信メッセージを対応するプロトコルの受信メッセージに変換することを特徴とする請求項に記載の通信デバイス。 The communication device according to claim 2 , wherein the proxy function converts an incoming message in a protocol that is not supported by the web browser into an incoming message in a protocol that is supported by the web browser. 前記プロキシ機能は、前記プログラムに対してpolingによるメッセージ受信機能を提供することを特徴とする請求項1に記載の通信デバイス。 The communication device described in claim 1, characterized in that the proxy function provides the program with a message reception function via polling. 前記プロキシ機能は、受信メッセージをキャッシュするサーバ機能を提供し、前記プログラムからのpoling要求に対して、前記キャッシュした受信メッセージを読み出して応答することを特徴とする請求項に記載の通信デバイス。 5. The communication device according to claim 4 , wherein the proxy function provides a server function for caching received messages, and responds to a polling request from the program by reading the cached received messages. 前記プロキシ機能は、前記キャッシュした受信メッセージのプロトコルをWebブラウザが対応するプロトコルに変換することを特徴とする請求項に記載の通信デバイス。 The communication device according to claim 5 , wherein the proxy function converts the protocol of the cached received message into a protocol supported by a web browser. 前記プロキシ機能が送信メッセージに対して暗号化機能を提供することを特徴とする請求項1に記載の通信デバイス。 The communication device of claim 1, wherein the proxy function provides encryption functionality for outgoing messages. 前記プロキシ機能が送信メッセージに対して認証機能を提供することを特徴とする請求項1に記載の通信デバイス。 The communication device of claim 1, wherein the proxy function provides authentication functionality for outgoing messages. 前記プロキシ機能は、プログラムが送信しようとするメッセージの宛先及び内容に基づいて当該メッセージの送信を許可又は禁止することを特徴とする請求項1に記載の通信デバイス。 The communication device described in claim 1, characterized in that the proxy function allows or prohibits the sending of a message based on the destination and content of the message that the program is attempting to send. 前記プロキシ機能は、プログラムが送信しようとするメッセージを予め登録されている複数の宛先へ送信することを特徴とする請求項1に記載の通信デバイス。 The communication device described in claim 1, characterized in that the proxy function sends messages that a program attempts to send to multiple pre-registered destinations. 通信機能に制約のあるプログラム実行エンジンを備えたWebブラウザで双方向通信を伴うプログラムを実行する通信デバイスの通信方法において、
前記通信機能の制約によりWebブラウザが対応できないネットワーク経由での外部デバイスとの双方向通信を代理して補うプロキシ機能を実装し、
前記プログラムを取得するステップと、
前記プログラムが前記プロキシ機能へ双方向通信の宛先変更及びプロトコル変換に関する付加情報を通知するステップと、
前記プロキシ機能が前記宛先変更及びプロトコル変換を前記付加情報に基づいて処理するステップとを含み、
前記プロキシ機能は、前記プログラムからプロキシ機能への通信を前記外部デバイスに受信させ、前記外部デバイスからプロキシ機能への通信を前記プログラムに受信させる宛先変更及びプロトコル変換を処理することを特徴とする通信デバイスの通信方法。
A communication method for a communication device that executes a program involving two-way communication in a web browser equipped with a program execution engine with limited communication capabilities, comprising:
Implement a proxy function that acts as a proxy for two-way communication with external devices via the network that web browsers cannot handle due to the limitations of the communication functions.
obtaining the program;
a step in which the program notifies the proxy function of additional information regarding destination redirection and protocol conversion of two-way communication;
said proxy function processing said redirection and protocol conversion based on said additional information;
A communication method for a communication device, characterized in that the proxy function processes destination changes and protocol conversions that cause the external device to receive communications from the program to the proxy function and cause the program to receive communications from the external device to the proxy function .
通信機能に制約のあるプログラム実行エンジンを備えたWebブラウザで双方向通信を伴うプログラムを実行する通信デバイスの通信プログラムにおいて、
前記通信機能の制約によりWebブラウザが対応できないネットワーク経由での外部デバイスとの双方向通信を代理して補うプロキシ機能を実装し、
前記プログラムを取得する手順と、
前記プログラムが前記プロキシ機能へ双方向通信の宛先変更及びプロトコル変換に関する付加情報を通知する手順と、
前記プロキシ機能が前記宛先変更及びプロトコル変換を前記付加情報に基づいて処理する手順と、をコンピュータに実行させ、
前記プロキシ機能は、前記プログラムからプロキシ機能への通信を前記外部デバイスに受信させ、前記外部デバイスからプロキシ機能への通信を前記プログラムに受信させる宛先変更及びプロトコル変換を処理することを特徴とする通信デバイスの通信プログラム。
A communication program for a communication device that executes a program involving two-way communication in a web browser equipped with a program execution engine with limited communication capabilities,
Implement a proxy function that acts as a proxy for two-way communication with external devices via the network that web browsers cannot handle due to the limitations of the communication functions.
obtaining the program;
a step in which the program notifies the proxy function of additional information regarding destination change and protocol conversion for two-way communication;
the proxy function processes the redirection and protocol conversion based on the additional information;
A communication program for a communication device, characterized in that the proxy function processes destination changes and protocol conversions that cause the external device to receive communications from the program to the proxy function and cause the program to receive communications from the external device to the proxy function .
JP2022151284A 2022-09-22 2022-09-22 Communication device, communication method, and communication program Active JP7734641B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022151284A JP7734641B2 (en) 2022-09-22 2022-09-22 Communication device, communication method, and communication program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022151284A JP7734641B2 (en) 2022-09-22 2022-09-22 Communication device, communication method, and communication program

Publications (2)

Publication Number Publication Date
JP2024046101A JP2024046101A (en) 2024-04-03
JP7734641B2 true JP7734641B2 (en) 2025-09-05

Family

ID=90481727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022151284A Active JP7734641B2 (en) 2022-09-22 2022-09-22 Communication device, communication method, and communication program

Country Status (1)

Country Link
JP (1) JP7734641B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006301992A (en) 2005-04-21 2006-11-02 Base Technology Inc Authentication management method and system
JP2007323115A (en) 2006-05-30 2007-12-13 Internatl Business Mach Corp <Ibm> Method for sharing communication information by local proxy
JP2013539258A (en) 2010-07-26 2013-10-17 セブン ネットワークス インコーポレイテッド Context-aware traffic management for resource saving in wireless networks
JP2018128760A (en) 2017-02-07 2018-08-16 株式会社リコー Built-in equipment, software interface utilizing method, program and information processing system
CN108600095A (en) 2018-04-04 2018-09-28 南通大学 A kind of embedded Internet of Things gateway system and its hardware circuit based on IPv6
US20180315004A1 (en) 2017-04-28 2018-11-01 Neopost Technologies Method and system for accessing local computer resources through a web browser

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006301992A (en) 2005-04-21 2006-11-02 Base Technology Inc Authentication management method and system
JP2007323115A (en) 2006-05-30 2007-12-13 Internatl Business Mach Corp <Ibm> Method for sharing communication information by local proxy
JP2013539258A (en) 2010-07-26 2013-10-17 セブン ネットワークス インコーポレイテッド Context-aware traffic management for resource saving in wireless networks
JP2018128760A (en) 2017-02-07 2018-08-16 株式会社リコー Built-in equipment, software interface utilizing method, program and information processing system
US20180315004A1 (en) 2017-04-28 2018-11-01 Neopost Technologies Method and system for accessing local computer resources through a web browser
CN108600095A (en) 2018-04-04 2018-09-28 南通大学 A kind of embedded Internet of Things gateway system and its hardware circuit based on IPv6

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石塚 康成、倉田 正 、橋場 浩之、成瀬 慶亮、出口 弘,IoTを用いた製造工程における状態管理システムの研究,電気学会論文誌C ,一般社団法人電気学会,2020年06月01日,Vol.140 No.6,573~582

Also Published As

Publication number Publication date
JP2024046101A (en) 2024-04-03

Similar Documents

Publication Publication Date Title
JP4020587B2 (en) Use of transmission control protocol proxies in packet data service transmissions in mobile networks
KR102110698B1 (en) Terminal interconnection method, device and storage medium
US7478146B2 (en) System, apparatus, and method for communicating capabilities of a mobile device
US20050235048A1 (en) Exchanging multimedia data via a communications device
US9107049B2 (en) Advanced real-time IP communication in a mobile terminal
US10250646B2 (en) Method and device for establishing channel
JP5678198B2 (en) Mobile Internet service realization method, gateway, proxy and system
US20120106570A1 (en) Method and terminal for data transmission
WO2019242525A1 (en) Data transmission method, related device and system
WO2016177121A1 (en) File transmission method and device, and application server
WO2006031463A2 (en) System and method for network-assisted connection in a wireless environment
CN108235823A (en) Proxy Free Cellular Roaming
US8861503B2 (en) Method and system for synchronizing data between mobile terminal and internet phone
JP7734641B2 (en) Communication device, communication method, and communication program
EP3079328B1 (en) Media resource sharing method, shared server and shared system
WO2013123688A1 (en) Method and device for data access
CN115134395B (en) Data processing method and device
WO2023050781A1 (en) Communication method and communication apparatus
CN107078941B (en) Method for transmitting IP data packet to IP address, processing device and mobile equipment
WO2008067740A1 (en) The method, system, terminal and apparatus for transferring message between terminals
JP7254951B2 (en) DATA TRANSMISSION METHOD, TERMINAL DEVICE AND STORAGE MEDIUM
KR100694871B1 (en) Gateway system and service method for mobile service in wireless open network
WO2025046594A1 (en) A system and method for converting internet of things device to 5g network enabled device
KR20070009857A (en) Data service system and method using mobile icons in wired and wireless communication networks
Simanta et al. Web services for handheld tactical systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220928

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250701

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: 20250820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250826

R150 Certificate of patent or registration of utility model

Ref document number: 7734641

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150