[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6942609B2 - Communication equipment, communication methods, and programs - Google Patents

Communication equipment, communication methods, and programs Download PDF

Info

Publication number
JP6942609B2
JP6942609B2 JP2017211154A JP2017211154A JP6942609B2 JP 6942609 B2 JP6942609 B2 JP 6942609B2 JP 2017211154 A JP2017211154 A JP 2017211154A JP 2017211154 A JP2017211154 A JP 2017211154A JP 6942609 B2 JP6942609 B2 JP 6942609B2
Authority
JP
Japan
Prior art keywords
data
client
client devices
push
receiving
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
JP2017211154A
Other languages
Japanese (ja)
Other versions
JP2019082953A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2017211154A priority Critical patent/JP6942609B2/en
Priority to US16/158,879 priority patent/US11196831B2/en
Publication of JP2019082953A publication Critical patent/JP2019082953A/en
Application granted granted Critical
Publication of JP6942609B2 publication Critical patent/JP6942609B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、サーバ装置から通信装置を介してクライアント装置へデータを送信する技術に関する。 The present invention relates to a technique for transmitting data from a server device to a client device via a communication device.

近年、サーバ装置からクライアント装置へプッシュ型のデータ送信を行うプッシュサービスが考えられている。プッシュサービスにおいては、クライアント装置からサーバ装置へのリクエストのタイミングによらずに、サーバ装置からクライアント装置へイベントの発生などを通知するためのデータが送信される。IETF(Internet Engineering Task Force)においては、Web技術を用いたプッシュサービスの実現の方式としてWebPushプロトコルが提案されている。 In recent years, a push service for transmitting push-type data from a server device to a client device has been considered. In the push service, data for notifying the occurrence of an event or the like is transmitted from the server device to the client device regardless of the timing of the request from the client device to the server device. In the IETF (Internet Engineering Task Force), the WebPush protocol has been proposed as a method for realizing a push service using Web technology.

WebPushプロトコルに従う通信においては、サーバ装置(AS:ApplicationServer)から送信されたデータを通信装置(PS:PushService)がクライアント装置(UA:UserAgent)へ転送する。これにより、ASからUAへのプッシュ型のデータ送信が実現される。また、PSからUAへデータが送達された際に、PSは送達の確認を通知するメッセージ(レシート)をASへ送信する。 In the communication according to the WebPush protocol, the communication device (PS: PushService) transfers the data transmitted from the server device (AS: Application Server) to the client device (UA: UserAgent). As a result, push-type data transmission from AS to UA is realized. Further, when the data is delivered from the PS to the UA, the PS sends a message (receipt) notifying the confirmation of the delivery to the AS.

一方、特許文献1には、サーバ装置が複数のクライアント装置に接続され、各クライアント装置にデータをプッシュすることが開示されている。 On the other hand, Patent Document 1 discloses that a server device is connected to a plurality of client devices and pushes data to each client device.

特開2012−83924号公報Japanese Unexamined Patent Publication No. 2012-83924

従来技術では、サーバ装置から通信装置を介して複数のクライアント装置へデータが送信される場合に、送信先のクライアント装置へデータが送達されたことを通信装置がサーバ装置へ適切に通知する方法が考えられていなかった。例えば、WebPushプロトコルに従う通信において、ASからPSを介して複数のUAにデータを送信する場合を考える。この場合に、データが何れかのUAへ最初に送達された際にのみPSからASへレシートが送信されると、ASはすべてのUAへデータが送達されたかを判断するのが困難である。 In the prior art, when data is transmitted from a server device to a plurality of client devices via a communication device, the communication device appropriately notifies the server device that the data has been delivered to the destination client device. It wasn't considered. For example, in communication according to the WebPush protocol, consider a case where data is transmitted from AS to a plurality of UAs via PS. In this case, if the receipt is sent from PS to AS only when the data is first served to any UA, it is difficult for AS to determine if the data has been served to all UAs.

本発明は上記課題に鑑み、サーバ装置から通信装置を介して複数のクライアント装置へデータを送信する場合に、送信先のクライアント装置へデータが送達されたことを通信装置がサーバ装置へ適切に通知できるようにすることを目的とする。 In view of the above problems, when data is transmitted from the server device to a plurality of client devices via the communication device, the communication device appropriately notifies the server device that the data has been delivered to the destination client device. The purpose is to be able to do it.

上記の課題を解決するため、本発明に係る通信装置は、例えば以下の構成を有する。すなわち、サーバ装置からデータを受信する第1受信手段と、前記第1受信手段により受信される前記データをクライアント装置へ送信する第1送信手段と、前記第1送信手段により送信された前記データがクライアント装置により受信されたことを示す確認応答を当該クライアント装置から受信する第2受信手段と、前記第1送信手段により前記データが複数のクライアント装置へ送信される場合に、前記第2受信手段が前記複数のクライアント装置から前記確認応答を受信した後に、前記第1送信手段により送信された前記データが前記複数のクライアント装置により受信されたことを示す送達確認の通知を、プッシュ型のデータ送信により前記サーバ装置に送信する第2送信手段とを有する。 In order to solve the above problems, the communication device according to the present invention has, for example, the following configuration. That is, the first receiving means for receiving data from the server device, the first transmitting means for transmitting the data received by the first receiving means to the client device, and the data transmitted by the first transmitting means are The second receiving means for receiving an acknowledgment indicating that the data has been received by the client device from the client device, and the second receiving means when the data is transmitted to a plurality of client devices by the first transmitting means. After receiving the confirmation response from the plurality of client devices, a delivery confirmation notification indicating that the data transmitted by the first transmission means has been received by the plurality of client devices is sent by push-type data transmission. It has a second transmission means for transmitting to the server device.

本発明によれば、サーバ装置から通信装置を介して複数のクライアント装置へデータを送信する場合に、送信先のクライアント装置へデータが送達されたことを通信装置がサーバ装置へ適切に通知できるようになる。 According to the present invention, when data is transmitted from a server device to a plurality of client devices via a communication device, the communication device can appropriately notify the server device that the data has been delivered to the destination client device. become.

通信システム100の構成例を示す図である。It is a figure which shows the configuration example of the communication system 100. 中継装置101のハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of a relay device 101. 通信システム100の動作シーケンスの例を示す図である。It is a figure which shows the example of the operation sequence of the communication system 100. 中継装置101による識別子の生成に関する動作について説明するためのフローチャートである。It is a flowchart for demonstrating operation about the generation of an identifier by a relay device 101. 中継装置101による転送要求の受信に関する動作について説明するためのフローチャートである。It is a flowchart for demonstrating the operation concerning the reception of the transfer request by the relay device 101. 中継装置101によるプッシュメッセージとレシートの送信に関する動作について説明するためのフローチャートである。It is a flowchart for demonstrating operation about transmission of a push message and a receipt by a relay device 101. クライアント装置102による識別子の受信と送信に関する動作について説明するためのフローチャートである。It is a flowchart for demonstrating operation about reception and transmission of an identifier by a client apparatus 102. クライアント装置103による識別子の取得に関する動作について説明するためのフローチャートである。It is a flowchart for demonstrating operation about acquisition of an identifier by a client apparatus 103. クライアント装置102によるプッシュメッセージの受信に関する動作について説明するためのフローチャートである。It is a flowchart for demonstrating operation about receiving a push message by a client apparatus 102. サーバ装置104によるメッセージの送信に関する動作について説明するためのフローチャートである。It is a flowchart for demonstrating operation about transmission of a message by a server apparatus 104. 中継装置101によるレシート送信のための前処理に関する動作について説明するためのフローチャートである。It is a flowchart for demonstrating operation about the pre-processing for receipt transmission by a relay device 101. 中継装置101により管理されるリストの例を示す図である。It is a figure which shows the example of the list managed by the relay device 101.

[実施例1]
[システム構成]
以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態に係る通信システム100の構成を示す図である。本実施形態の通信システム100は、中継装置101、クライアント装置102、クライアント装置103、及びサーバ装置104を有する。クライアント装置102及びクライアント装置103は中継装置101を介してサーバ装置104と有線または無線で接続され、相互に通信を行って、例えば静止画や動画等のコンテンツデータやイベント通知コマンドなどを送受信する。なお、図1に示す通信システム100内には2台のクライアント装置が存在するが、中継装置101に接続されるクライアント装置の数はこれに限らず、3台以上であってもよい。また、中継装置101に接続されるサーバ装置104も、2台以上であってもよい。
[Example 1]
[System configuration]
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a configuration of a communication system 100 according to the present embodiment. The communication system 100 of the present embodiment includes a relay device 101, a client device 102, a client device 103, and a server device 104. The client device 102 and the client device 103 are connected to the server device 104 by wire or wirelessly via the relay device 101, communicate with each other, and transmit / receive content data such as still images and moving images, event notification commands, and the like. Although there are two client devices in the communication system 100 shown in FIG. 1, the number of client devices connected to the relay device 101 is not limited to this, and may be three or more. Further, the number of server devices 104 connected to the relay device 101 may be two or more.

本実施形態において、クライアント装置102とクライアント装置103はHTTP/2(Hypertext Transfer Protocol version 2)において規定されるクライアントとして動作する。一方、中継装置101はHTTP/2において規定されるサーバとして動作する。即ち、クライアント装置102及びクライアント装置103は中継装置101にHTTPリクエストを送信し、中継装置101は受信したHTTPリクエストに応じてクライアント装置102及びクライアント装置103にHTTPレスポンスを送信する。 In the present embodiment, the client device 102 and the client device 103 operate as a client defined in HTTP / 2 (Hypertext Transfer Protocol version 2). On the other hand, the relay device 101 operates as a server defined by HTTP / 2. That is, the client device 102 and the client device 103 transmit an HTTP request to the relay device 101, and the relay device 101 transmits an HTTP response to the client device 102 and the client device 103 in response to the received HTTP request.

サーバ装置104は、クライアント装置102及びクライアント装置103に対して、中継装置101を介してデータを送信することによりプッシュサービスを提供する。プッシュサービスの実現のために、中継装置101からクライアント装置102及びクライアント装置103へのデータの転送には、例えばHTTP/2の機能としてのサーバープッシュなどプッシュ型のデータ送信方法が用いられる。なお、サーバ装置104は中継装置101との通信においては、HTTP/1.1(Hypertext Transfer Protocol version 1.1)において規定されるクライアントとして動作する。そして中継装置101は、サーバ装置104との通信においてHTTP/1.1において規定されるサーバとして動作する。具体的には、サーバ装置104は中継装置101にPOSTメソッドなどのリクエストを送信し、プッシュによる送信の対象となるデータを中継装置101にアップロードする。 The server device 104 provides a push service to the client device 102 and the client device 103 by transmitting data via the relay device 101. In order to realize the push service, a push-type data transmission method such as server push as a function of HTTP / 2 is used for transferring data from the relay device 101 to the client device 102 and the client device 103. The server device 104 operates as a client specified in HTTP / 1.1 (Hypertext Transfer Protocol version 1.1) in communication with the relay device 101. Then, the relay device 101 operates as a server specified in HTTP / 1.1 in communication with the server device 104. Specifically, the server device 104 transmits a request such as a POST method to the relay device 101, and uploads data to be transmitted by push to the relay device 101.

中継装置101は具体的には、PC、ネットワークスイッチ、及びルータなどの通信装置である。クライアント装置102及びクライアント装置103は具体的には、デジタルカメラ、ネットワークカメラ、プリンタ、複合機、テレビ、プロジェクタ、携帯電話、スマートフォン、及びPCなどのクライアント装置である。また、サーバ装置104の具体例も、クライアント装置102及びクライアント装置103と同様である。ただし、通信システム100内の各装置の形態はこれらに限定されない。 Specifically, the relay device 101 is a communication device such as a PC, a network switch, and a router. Specifically, the client device 102 and the client device 103 are client devices such as digital cameras, network cameras, printers, multifunction devices, televisions, projectors, mobile phones, smartphones, and PCs. Further, the specific example of the server device 104 is the same as that of the client device 102 and the client device 103. However, the form of each device in the communication system 100 is not limited to these.

クライアント装置102、クライアント装置103、及びサーバ装置104と中継装置101とは、例えばLAN(Local Area Network)やWAN(Wide Area Network)、又はそれらの組み合わせにより接続される。LANとしては、Ethernet(登録商標)に則った有線LANや、IEEE(Institute of Electrical and Electronics Engineers)802.11シリーズに則った無線LANなどが用いられる。WANとしては、例えばインターネットなどが用いられる。また、Bluetooth(登録商標)やZigbee(登録商標)など他の通信方式に基づいて接続されてもよい。 The client device 102, the client device 103, and the server device 104 and the relay device 101 are connected by, for example, a LAN (Local Area Network), a WAN (Wide Area Network), or a combination thereof. As the LAN, a wired LAN conforming to Ethernet (registered trademark), a wireless LAN conforming to the IEEE (Institute of Electrical and Electronics Engineers) 802.11 series, and the like are used. As the WAN, for example, the Internet or the like is used. Further, the connection may be made based on other communication methods such as Bluetooth (registered trademark) and Zigbee (registered trademark).

クライアント装置102とクライアント装置103との間、及びクライアント装置102とサーバ装置104との間でもデータのやり取りが行われる。本実施形態ではこのデータのやり取りがLANやWANを介した通信により行われる場合を中心に説明するが、データのやり取りの方法はこれに限らない。例えば、一方の装置に表示させた画像やQRコード(登録商標)を他方の装置により読み取ることでデータをやり取りしてもよいし、一方の装置に表示された情報をユーザが他方の装置に入力してもよい。また、クライアント装置102やサーバ装置104などが不図示の情報管理装置に対するデータの登録、削除、及び更新などを行うことにより、情報管理装置を介したデータのやり取りが行われてもよい。情報管理装置は、例えば、クラウド上やサーバ上で管理されるソフトウェアであってもよい。情報管理装置を介したデータのやり取りが行われる場合には、情報管理装置にアクセスするための識別子や鍵情報がクライアント装置102とサーバ装置104との間でやり取りされてもよい。 Data is also exchanged between the client device 102 and the client device 103, and between the client device 102 and the server device 104. In the present embodiment, the case where this data exchange is performed by communication via LAN or WAN will be mainly described, but the method of data exchange is not limited to this. For example, data may be exchanged by reading an image or QR code (registered trademark) displayed on one device by the other device, or the user inputs information displayed on one device to the other device. You may. Further, the client device 102, the server device 104, and the like may exchange data via the information management device by registering, deleting, and updating the data in the information management device (not shown). The information management device may be, for example, software managed on a cloud or a server. When data is exchanged via the information management device, an identifier or key information for accessing the information management device may be exchanged between the client device 102 and the server device 104.

本実施形態において、中継装置101はWebPushプロトコルにおいて規定されるPS(PushService)の機能を持つ。また、クライアント装置102とクライアント装置103はWebPushプロトコルにおいて規定されるUA(UserAgent)の機能を持つ。そして、サーバ装置104はWebPushプロトコルにおいて規定されるAS(ApplicationService)の機能を持つ。 In the present embodiment, the relay device 101 has a PS (Push Service) function defined in the WebPush protocol. Further, the client device 102 and the client device 103 have a UA (User Agent) function defined in the WebPush protocol. The server device 104 has an AS (Application Service) function defined in the WebPush protocol.

通信システム100の基本的な動作としては、以下のようになる。すなわち、クライアント装置102及びクライアント装置103が中継装置101にデータの転送要求を行い、サーバ装置104が中継装置101へプッシュによる送信の対象となるデータを送信する。そして中継装置101が、サーバ装置104からのデータの受信に応じたタイミングで、転送要求を行った中継装置へ当該データを転送する。また中継装置101は、転送したデータを受信したことを示す確認応答をクライアント装置102及びクライアント装置103から受け取ると、送達確認の通知をサーバ装置104に送信する。本実施形態において、送達確認の通知はWebPushプロトコルにおいて規定されるプッシュメッセージレシート(以降、レシート)として送信されるものとする。ただし通知の形式はこれに限定されず、データが正しくクライアント装置に送達されたことをサーバ装置104が知ることができる方法で通知が行われればよい。各装置の詳細な動作については後述する。 The basic operation of the communication system 100 is as follows. That is, the client device 102 and the client device 103 make a data transfer request to the relay device 101, and the server device 104 transmits the data to be transmitted by push to the relay device 101. Then, the relay device 101 transfers the data to the relay device that made the transfer request at the timing corresponding to the reception of the data from the server device 104. Further, when the relay device 101 receives the confirmation response indicating that the transferred data has been received from the client device 102 and the client device 103, the relay device 101 transmits a notification of delivery confirmation to the server device 104. In the present embodiment, the notification of delivery confirmation is transmitted as a push message receipt (hereinafter referred to as a receipt) specified in the WebPush protocol. However, the format of the notification is not limited to this, and the notification may be performed by a method that allows the server device 104 to know that the data has been correctly delivered to the client device. The detailed operation of each device will be described later.

通信システム100の具体的な例としては、以下のようなものがある。クライアント装置102はスマートフォンであり、サーバ装置104はネットワークカメラである。クライアント装置102は中継装置101に転送要求を行い、サーバ装置104からの撮影画像の送信を待ち受ける。サーバ装置104は、カメラにより監視エリアを撮影し、監視エリアにおける異常を検知した場合に撮影画像を中継装置101に送信する。そして中継装置101は、サーバ装置104から送信された撮影画像をクライアント装置102に転送する。これにより、クライアント装置102のユーザは、監視エリアにおいて検知された異常を知り、監視エリアの撮影画像を確認することができる。 Specific examples of the communication system 100 include the following. The client device 102 is a smartphone, and the server device 104 is a network camera. The client device 102 makes a transfer request to the relay device 101, and waits for the transmission of the captured image from the server device 104. The server device 104 photographs the monitoring area with a camera, and when an abnormality in the monitoring area is detected, the server device 104 transmits the captured image to the relay device 101. Then, the relay device 101 transfers the captured image transmitted from the server device 104 to the client device 102. As a result, the user of the client device 102 can know the abnormality detected in the monitoring area and confirm the captured image in the monitoring area.

ここで、中継装置101からのデータの転送先がクライアント装置102だけである場合、中継装置101はクライアント装置102から確認応答を受け取った際にサーバ装置104にレシートを送信すればよい。一方、中継装置101からのデータの転送先がクライアント装置102とクライアント装置103のように複数である場合も考えられる。この場合には、中継装置101が最初に確認応答を受け取った際にのみサーバ装置104にレシートを送信すると、すべての転送先にデータが送達されたか否かをサーバ装置104が判断するのは困難である。そこで、本実施形態においては、中継装置101が複数の転送先から確認応答を受け取った後でサーバ装置104に送達確認の通知を送信することで、当該複数の転送先へデータが送達されたことをサーバ装置104が判断できるようにする。 Here, when the transfer destination of the data from the relay device 101 is only the client device 102, the relay device 101 may send a receipt to the server device 104 when receiving the confirmation response from the client device 102. On the other hand, there may be a case where the data is transferred from the relay device 101 to a plurality of destinations such as the client device 102 and the client device 103. In this case, if the receipt is transmitted to the server device 104 only when the relay device 101 first receives the acknowledgment, it is difficult for the server device 104 to determine whether or not the data has been delivered to all the transfer destinations. Is. Therefore, in the present embodiment, data is delivered to the plurality of transfer destinations by transmitting a notification of delivery confirmation to the server device 104 after the relay device 101 receives confirmation responses from the plurality of transfer destinations. Can be determined by the server device 104.

また、中継装置101が複数のクライアント装置のそれぞれから確認応答を受信するたびにサーバ装置104に同様のレシートを送信することも考えられる。ただしこの場合にも、中継装置101が管理している転送先のクライアント装置の数をサーバ装置104が把握していないと、すべての転送先へデータが送達されたかをサーバ装置104が判断するのは困難である。そこで、本実施形態で説明するように、中継装置101が複数の転送先から確認応答を受信した後に特定の送達確認の通知をサーバ装置104に送信することで、当該複数の転送先へデータが送達されたかをサーバ装置104が判断することを容易にできる。 It is also conceivable that the relay device 101 sends a similar receipt to the server device 104 each time it receives an acknowledgment from each of the plurality of client devices. However, even in this case, if the server device 104 does not know the number of transfer destination client devices managed by the relay device 101, the server device 104 determines whether the data has been delivered to all the transfer destinations. It is difficult. Therefore, as described in the present embodiment, after the relay device 101 receives the confirmation response from the plurality of transfer destinations, the data is transmitted to the plurality of transfer destinations by transmitting the notification of the specific delivery confirmation to the server device 104. It can be easily determined by the server device 104 whether it has been delivered.

そしてサーバ装置104は、中継装置101から送達確認の通知を受信すると、例えばクライアント装置102及びクライアント装置103へ送信すべき次のデータを中継装置101へ送信する。一方、中継装置101から所定期間内に送達確認の通知を受信しなかった場合や、中継装置101からエラーレスポンスを受信した場合には、データの再送などのエラー処理を行う。また、データの送達に失敗した原因がエラーレスポンスと共に中継装置101からサーバ装置104へ通知されるような場合には、サーバ装置104は、通知された失敗の原因が解消されるように送信データの種別やサイズなどを制御してもよい。 Then, when the server device 104 receives the notification of the delivery confirmation from the relay device 101, the server device 104 transmits, for example, the next data to be transmitted to the client device 102 and the client device 103 to the relay device 101. On the other hand, if the notification of delivery confirmation is not received from the relay device 101 within a predetermined period, or if an error response is received from the relay device 101, error processing such as data retransmission is performed. Further, when the cause of the data delivery failure is notified from the relay device 101 to the server device 104 together with the error response, the server device 104 determines the cause of the notified failure of the transmitted data so as to be eliminated. You may control the type and size.

[装置構成]
図2は、中継装置101のハードウェア構成を示すブロック図である。なお、クライアント装置102、クライアント装置103、及びサーバ装置104も、中継装置101と同様の構成である。中継装置101は、CPU201、ROM202、RAM203、補助記憶装置204、表示部205、操作部206、通信部207、及びバス208を有する。
[Device configuration]
FIG. 2 is a block diagram showing a hardware configuration of the relay device 101. The client device 102, the client device 103, and the server device 104 also have the same configuration as the relay device 101. The relay device 101 includes a CPU 201, a ROM 202, a RAM 203, an auxiliary storage device 204, a display unit 205, an operation unit 206, a communication unit 207, and a bus 208.

CPU201は、ROM202やRAM203に格納されているコンピュータプログラムやデータを用いて中継装置101の全体を制御する。ROM202は、変更を必要としないプログラムやパラメータを格納する。RAM203は、補助記憶装置204から供給されるプログラムやデータ、及び通信部207を介して外部から供給されるデータなどを一時記憶する。補助記憶装置204は、例えばハードディスクドライブ等で構成され、静止画や動画などのコンテンツデータを記憶する。 The CPU 201 controls the entire relay device 101 using computer programs and data stored in the ROM 202 and the RAM 203. The ROM 202 stores programs and parameters that do not need to be changed. The RAM 203 temporarily stores programs and data supplied from the auxiliary storage device 204, data supplied from the outside via the communication unit 207, and the like. The auxiliary storage device 204 is composed of, for example, a hard disk drive or the like, and stores content data such as still images and moving images.

表示部205は、例えば液晶ディスプレイやLED等で構成され、ユーザが中継装置101を操作するためのGUI(Graphical User Interface)やエラー情報などを表示する。操作部206は、例えばキーボードやマウス、タッチパネル等で構成され、ユーザによる操作を受けて各種の指示をCPU201に入力する。通信部207は、クライアント装置102やクライアント装置103、サーバ装置104などの外部の装置と通信を行う。中継装置101が外部の装置と有線で接続される場合には、例えばLANケーブル等が通信部207に接続される。また、中継装置101が外部の装置と無線通信する機能を有する場合、通信部207はアンテナ等を備える。バス208は、中継装置101の各部を繋いで情報を伝達する。 The display unit 205 is composed of, for example, a liquid crystal display, an LED, or the like, and displays a GUI (Graphical User Interface) for the user to operate the relay device 101, error information, and the like. The operation unit 206 is composed of, for example, a keyboard, a mouse, a touch panel, or the like, and inputs various instructions to the CPU 201 in response to an operation by the user. The communication unit 207 communicates with an external device such as the client device 102, the client device 103, and the server device 104. When the relay device 101 is connected to an external device by wire, for example, a LAN cable or the like is connected to the communication unit 207. Further, when the relay device 101 has a function of wirelessly communicating with an external device, the communication unit 207 includes an antenna or the like. The bus 208 connects each part of the relay device 101 to transmit information.

なお、本実施形態ではCPU201がプログラムを実行することで通信部207を介した中継装置101と外部の装置との通信を制御するが、中継装置101と外部の装置との通信の少なくとも一部を通信部207がハードウェア処理により制御してもよい。また、本実施形態では表示部205と操作部206は中継装置101の内部に存在するが、表示部205及び操作部206の少なくとも一方が中継装置101の外部に別の装置として存在していてもよい。この場合、CPU201が、表示部205を制御する表示制御部、及び操作部206を制御する操作制御部として動作する。 In the present embodiment, the CPU 201 controls the communication between the relay device 101 and the external device via the communication unit 207 by executing the program, but at least a part of the communication between the relay device 101 and the external device is performed. The communication unit 207 may be controlled by hardware processing. Further, in the present embodiment, the display unit 205 and the operation unit 206 exist inside the relay device 101, but even if at least one of the display unit 205 and the operation unit 206 exists as another device outside the relay device 101. good. In this case, the CPU 201 operates as a display control unit that controls the display unit 205 and an operation control unit that controls the operation unit 206.

[通信シーケンス]
以下、本実施形態における通信システム100内における通信のシーケンスについて、詳細に説明する。図3は、サーバ装置104が中継装置101を介してクライアント装置102及びクライアント装置103にデータをプッシュにより送信する際のシーケンスである。図3に示すシーケンスは、クライアント装置102、クライアント装置103、及びサーバ装置104のそれぞれと中継装置101との間の接続が確立されたタイミングで開始される。ただし、図3の処理の開始タイミングは上記タイミングに限定されない。図3に示す各通信処理は、通信システム100内の各装置のCPU201が通信部207などを制御することで実行される。
[Communication sequence]
Hereinafter, the sequence of communication in the communication system 100 in the present embodiment will be described in detail. FIG. 3 is a sequence in which the server device 104 pushes data to the client device 102 and the client device 103 via the relay device 101. The sequence shown in FIG. 3 is started at the timing when the connection between each of the client device 102, the client device 103, and the server device 104 and the relay device 101 is established. However, the start timing of the process of FIG. 3 is not limited to the above timing. Each communication process shown in FIG. 3 is executed by the CPU 201 of each device in the communication system 100 controlling the communication unit 207 and the like.

M1301において、クライアント装置102は中継装置101にサブスクライブ(識別子の情報要求)を行う。中継装置101はクライアント装置102からのサブスクライブを受け付け、WebPushプロトコルにおいて規定されるプッシュURIとそれに対応するプッシュメッセージサブスクリプションURI(以降、サブスクリプションURI)を生成する。生成されたプッシュURIとサブスクリプションURIは、図12(a)に示す識別子リストのような形式で中継装置101のRAM203に保存される。 In M1301, the client device 102 subscribes to the relay device 101 (identifier information request). The relay device 101 accepts the subscription from the client device 102, and generates a push URI specified in the WebPush protocol and a corresponding push message subscription URI (hereinafter, subscription URI). The generated push URI and subscription URI are stored in the RAM 203 of the relay device 101 in the form of the identifier list shown in FIG. 12 (a).

プッシュURI及びサブスクリプションURIは、中継装置101がサーバ装置104から送信されるデータの転送先を特定するために用いる識別子であり、要求に応じて中継装置101により生成(発行)される発行情報である。なお、これらの識別子はサブスクライブに応じて生成されるものに限らず、予め中継装置101が保持していた識別子の中からサブスクライブに応じて決定されたものであってもよい。本実施形態では識別子をURI(UniformResourceIdentifer)としているが、UUID(UniversallyUniqueIdetifer)のような他の形態の識別子であってもよい。また、本実施形態ではプッシュURIとサブスクリプションURIという2種類の情報が用いられる場合を中心に説明するが、これに限らず、1種類の情報を用いて転送対象のデータや転送先が特定されてもよい。すなわち、以下の説明におけるプッシュURIとサブスクリプションURIとが同一の情報であってもよい。 The push URI and the subscription URI are identifiers used by the relay device 101 to specify the transfer destination of the data transmitted from the server device 104, and are issue information generated (issued) by the relay device 101 in response to a request. be. Note that these identifiers are not limited to those generated according to the subscription, and may be determined according to the subscription from the identifiers previously held by the relay device 101. In the present embodiment, the identifier is URI (Uniform Resource Identifier), but it may be an identifier of another form such as UUID (UniversallyUniqueIdentifer). Further, in the present embodiment, the case where two types of information of push URI and subscription URI are used will be mainly described, but the present invention is not limited to this, and the data to be transferred and the transfer destination are specified by using one type of information. You may. That is, the push URI and the subscription URI in the following description may be the same information.

本実施形態では、サブスクライブがHTTP/1.1のPOSTメソッドを用いて行われるものとするが、例えばGETメソッドの様な別メソッドが用いられてもよいし、FTPやWebsocketなどの他通信規格に従う通信が用いられても良い。また本実施形態では、プッシュURIとサブスクリプションURIという2つの識別子がクライアント装置102からのサブスクライブに応じて中継装置101により生成される場合について説明するが、これに限らない。例えば、プッシュURIのみが生成されてもよいし、プッシュURIとサブスクリプションURIに加えてWebpushプロトコルにおいて規定されるプッシュメッセージサブスクリプション・セットURIが生成されてもよい。 In this embodiment, subscription is performed using the POST method of HTTP / 1.1, but another method such as the GET method may be used, or other communication standards such as FTP and Websocket may be used. Communication according to may be used. Further, in the present embodiment, the case where two identifiers, the push URI and the subscription URI, are generated by the relay device 101 in response to the subscription from the client device 102 will be described, but the present invention is not limited to this. For example, only push URIs may be generated, or in addition to push URIs and subscription URIs, push message subscription set URIs specified in the Webpush protocol may be generated.

M1302において、中継装置101は、M1301におけるクライアント装置102からの要求に応じて、M1301で生成されたプッシュURIとサブスクリプションURIを含むレスポンスを送信する。クライアント装置102はレスポンスを受信し、受信したレスポンスに含まれるプッシュURIとサブスクリプションURIをRAM203などに保存する。本実施形態ではこのレスポンスにおけるステータスコードを201Createdとしているが、これに限らなくてもよい。 In the M1302, the relay device 101 transmits a response including the push URI and the subscription URI generated in the M1301 in response to the request from the client device 102 in the M1301. The client device 102 receives the response, and stores the push URI and the subscription URI included in the received response in the RAM 203 or the like. In the present embodiment, the status code in this response is 201Created, but the status code is not limited to this.

M1303において、クライアント装置102はクライアント装置103に、M1302で受信したプッシュURIとサブスクリプションURIを送信する。クライアント装置103はプッシュURIとサブスクリプションURIを受信し、プッシュURIとサブスクリプションURIをRAM203などに保存する。 In M1303, the client device 102 transmits the push URI and the subscription URI received in the M1302 to the client device 103. The client device 103 receives the push URI and the subscription URI, and stores the push URI and the subscription URI in the RAM 203 or the like.

M1304において、クライアント装置102はサーバ装置104にプッシュURIを送信する。サーバ装置104はプッシュURIを受信し、プッシュURIをRAM203などに保存する。なお、図3の例ではHTTP/1.1に従う通信を用いてクライアント装置102からサーバ装置104へのプッシュURIの受け渡しを行っているが、すでに説明した通り、データの受け渡しの方法はこれに限定されない。例えば、サーバ装置104はプッシュURIを他の通信プロトコルを用いて受信してもよいし、クライアント装置102の表示部205に表示された画像やQRコードを用いて受信してもよいし、情報管理装置を介して受信してもよい。また、ユーザがサーバ装置104の操作部206を操作してプッシュURIを入力してもよい。なお、M1303におけるデータの受け渡しについても同様である。 In M1304, the client device 102 transmits a push URI to the server device 104. The server device 104 receives the push URI and stores the push URI in the RAM 203 or the like. In the example of FIG. 3, the push URI is transferred from the client device 102 to the server device 104 using the communication according to HTTP / 1.1, but as described above, the data transfer method is limited to this. Not done. For example, the server device 104 may receive the push URI using another communication protocol, may receive the push URI using the image or QR code displayed on the display unit 205 of the client device 102, or may manage information. It may be received via the device. Further, the user may operate the operation unit 206 of the server device 104 to input the push URI. The same applies to the data transfer in M1303.

M1305において、クライアント装置102は中継装置101に、M1302で中継装置101から受信したサブスクリプションURIを含む転送要求を送信する。この転送要求の送信により、クライアント装置102は、中継装置101によるプッシュ型のデータ送信を要求する。中継装置101は転送要求を受信し、受信した転送要求に含まれるサブスクリプションURIがRAM203内の識別子リストに保存済みのサブスクリプションURIと合致することを確認する。そして中継装置101は、そのサブスクリプションURIに対応するプッシュURIと、転送要求の送信元であるクライアント装置102のデバイス情報とを、図12(b)に示すプッシュ配信リストのような形式でRAM203に保存する。M1306において、クライアント装置103は中継装置101に、M1303でクライアント装置102から受信したサブスクリプションURIを含む転送要求を送信する。中継装置101はM1305の処理と同様に、転送要求を受信し、プッシュURIとデバイス情報をプッシュ配信リストに保存する。 In M1305, the client device 102 transmits to the relay device 101 a transfer request including the subscription URI received from the relay device 101 in the M1302. By transmitting this transfer request, the client device 102 requests the push-type data transmission by the relay device 101. The relay device 101 receives the transfer request and confirms that the subscription URI included in the received transfer request matches the subscription URI stored in the identifier list in the RAM 203. Then, the relay device 101 transmits the push URI corresponding to the subscription URI and the device information of the client device 102 that is the source of the transfer request to the RAM 203 in the form of the push distribution list shown in FIG. 12 (b). save. In M1306, the client device 103 transmits to the relay device 101 a transfer request including the subscription URI received from the client device 102 in the M1303. Similar to the processing of M1305, the relay device 101 receives the transfer request and stores the push URI and the device information in the push distribution list.

すなわち、M1305及びM1306において中継装置101は、同一のサブスクリプションURIを含む2つの転送要求を、クライアント装置102とクライアント装置103の2つの装置から受信する。そして、中継装置101が保持するプッシュ配信リストにおいては、図12(b)に示すように、同一のプッシュURIに複数のデバイス情報が対応付けられる。 That is, in M1305 and M1306, the relay device 101 receives two transfer requests including the same subscription URI from the two devices, the client device 102 and the client device 103. Then, in the push distribution list held by the relay device 101, as shown in FIG. 12B, a plurality of device information are associated with the same push URI.

M1307において、サーバ装置104は中継装置101に対して、以降にサーバ装置104から送信されるデータ(例えばM1311において送信される配信メッセージ)に対応する送達確認の通知を行うことを要求する。M1308において、中継装置101は、M1307において受け付けた通知要求に応じてレシートサブスクリプションURIとプッシュメッセージURIを生成する。そして中継装置101は、通知要求に対するレスポンスとして、生成したレシートサブスクリプションURIとプッシュメッセージURIを、HTTPのステータスコード(例えば200Accepted)と共にサーバ装置104へ送信する。ただし、通知要求に対するレスポンスとして中継装置101からサーバ装置104へ送信される情報はこれらに限らず、プッシュメッセージURIのみが送信されてもよいし、別の識別子が送信されてもよい。なお、中継装置101は、送達確認の通知を行うことを拒否する場合には、別のステータスコード(例えば400や404など)を送信する。 In M1307, the server device 104 requests the relay device 101 to notify the relay device 101 of the delivery confirmation corresponding to the data subsequently transmitted from the server device 104 (for example, the delivery message transmitted in M1311). In M1308, the relay device 101 generates a receipt subscription URI and a push message URI in response to the notification request received in M1307. Then, the relay device 101 transmits the generated receipt subscription URI and push message URI together with the status code of HTTP (for example, 200 Accented) to the server device 104 as a response to the notification request. However, the information transmitted from the relay device 101 to the server device 104 as a response to the notification request is not limited to these, and only the push message URI may be transmitted, or another identifier may be transmitted. If the relay device 101 refuses to notify the delivery confirmation, it transmits another status code (for example, 400 or 404).

M1309において、サーバ装置104は、レシートをプッシュ型のデータ送信により中継装置101から受け取るためのレシート要求を行う。このレシート要求は、例えばHTTPのGETメソッドによりサーバ装置104から中継装置101へ送信され、レシートにより送達を確認する対象となるデータに対応するプッシュURIがレシート要求に含まれる。また、サーバ装置104から送信されるレシート要求には、M1308において中継装置101から取得したレシートサブスクリプションURIと、プッシュポリシーとが含まれる。プッシュポリシーは、中継装置101がサーバ装置104から受信したデータの転送先とすべきクライアント装置の数などを指定するための指定情報である。プッシュポリシーは例えばレシート要求のHTTPヘッダのフィールドにPUSH−MODE:allといった形で記載されていてもよいし、ボディ部分に記載されていてもよい。ここで、PUSH−MODEはプッシュの方式を示すための拡張HTTPヘッダであり、allはサブスクライブしている全てのクライアント装置にデータをプッシュすることを示している。 In M1309, the server device 104 makes a receipt request for receiving the receipt from the relay device 101 by push-type data transmission. This receipt request is transmitted from the server device 104 to the relay device 101 by, for example, the GET method of HTTP, and the receipt request includes a push URI corresponding to the data to be confirmed for delivery by the receipt. Further, the receipt request transmitted from the server device 104 includes the receipt subscription URI acquired from the relay device 101 in the M1308 and the push policy. The push policy is designated information for designating the number of client devices to which the relay device 101 should transfer the data received from the server device 104. The push policy may be described, for example, in the field of the HTTP header of the receipt request in the form of PUSH-MODE: all, or may be described in the body portion. Here, PUSH-MODE is an extended HTTP header for indicating a push method, and all indicates that data is pushed to all subscribing client devices.

中継装置101はサーバ装置104からレシート要求を受信すると、図12(c)に示すようなプッシュポリシーリストを生成する。レシート要求に含まれるプッシュURIをキーとして、レシート要求の送信元であるサーバ装置104のデバイス情報、レシート要求に含まれるレシートサブスクリプションURI、及びプッシュポリシーが同一エントリとして対応付けられてリストに保存される。また、M1308において当該レシートサブスクリプションURIと共に生成されたプッシュメッセージURIも同一エントリに保存される。プッシュポリシーの詳細については後縦する。 When the relay device 101 receives the receipt request from the server device 104, the relay device 101 generates a push policy list as shown in FIG. 12 (c). Using the push URI included in the receipt request as a key, the device information of the server device 104 that is the source of the receipt request, the receipt subscription URI included in the receipt request, and the push policy are associated as the same entry and saved in the list. NS. Also, the push message URI generated with the receipt subscription URI in M1308 is stored in the same entry. The details of the push policy will be discussed later.

M1310において、中継装置101はサーバ装置104に、M1309において受信したレシート要求に含まれるレシートサブスクリプションURIに対応するプッシュURIを含むプッシュ予約を送信する。プッシュ予約の送信により、後にレシートがサーバ装置104へプッシュされることが通知される。図3の例では、ストリーム番号が82のストリームを用いてレシートをプッシュすることを予約するためのPUSH_PROMISEフレームが、ストリーム番号が13のストリームを用いて送信される。ストリームやPUSH_PROMISEフレームは、HTTP/2に従う通信において使用されることが標準規格で規定されている。 In M1310, the relay device 101 transmits to the server device 104 a push reservation including a push URI corresponding to the receipt subscription URI included in the receipt request received in M1309. By transmitting the push reservation, it is notified that the receipt will be pushed to the server device 104 later. In the example of FIG. 3, a PUSH_PROMISE frame for reserving a receipt to be pushed using a stream with a stream number of 82 is transmitted using the stream with a stream number of 13. Standards specify that streams and PUSH_PROMISE frames are used in HTTP / 2 compliant communications.

M1311において、サーバ装置104は中継装置101に、M1304でクライアント装置102から受信したプッシュURIを含む配信メッセージを送信する。中継装置101はサーバ装置104からプッシュURIを含む配信メッセージを受信し、受信した配信メッセージに含まれるプッシュURIがRAM203内の識別子リストに保存済みのプッシュURIと合致することを確認する。合致する場合の当該配信メッセージは、当該プッシュURIと対応するサブスクリプションURIを含む転送要求の送信元であるクライアント装置へ転送すべきデータである。M1312において、中継装置101はサーバ装置104に、プッシュのリクエストを受け付けたことを示す配信レスポンスを送信し、サーバ装置104は配信レスポンスを受信する。 In M1311, the server device 104 transmits to the relay device 101 a delivery message including the push URI received from the client device 102 in M1304. The relay device 101 receives the delivery message including the push URI from the server device 104, and confirms that the push URI included in the received delivery message matches the push URI stored in the identifier list in the RAM 203. If there is a match, the delivery message is data to be transferred to the client device that is the source of the transfer request including the push URI and the corresponding subscription URI. In M1312, the relay device 101 transmits a delivery response indicating that the push request has been received to the server device 104, and the server device 104 receives the delivery response.

M1313において、中継装置101は、RAM203に保存されているプッシュ配信リストから、M1311で受信した配信メッセージに含まれるプッシュURIに対応するデバイス情報を検索する。そして中継装置101は、該当したデバイス情報から特定されるクライアント装置102に、そのプッシュURIを含むプッシュ予約を送信する。プッシュ予約の送信により、後にメッセージがプッシュ通知により送信されることが送信先に通知される。クライアント装置102はプッシュ予約を受信し、中継装置101からプッシュメッセージを受信するまで待機する。 In the M1313, the relay device 101 searches the push distribution list stored in the RAM 203 for the device information corresponding to the push URI included in the distribution message received in the M1311. Then, the relay device 101 transmits a push reservation including the push URI to the client device 102 specified from the corresponding device information. Sending a push reservation notifies the destination that the message will be sent later by push notification. The client device 102 receives the push reservation and waits until the push message is received from the relay device 101.

M1314において、中継装置101はクライアント装置102にプッシュメッセージを送信する。クライアント装置102はプッシュメッセージを受信する。このプッシュメッセージは、M1305における転送要求に応じて中継装置101からクライアント装置102へプッシュにより送信されるメッセージである。すなわち、クライアント装置102からのリクエストに依存しないタイミングで中継装置101からプッシュメッセージが送信される。ただし、M1314におけるプッシュ型のデータ送信の代わりに、中継装置101はクライアント装置102からのリクエストを待ってメッセージを送信してもよい。 In M1314, the relay device 101 transmits a push message to the client device 102. The client device 102 receives the push message. This push message is a message transmitted by pushing from the relay device 101 to the client device 102 in response to the transfer request in the M1305. That is, the push message is transmitted from the relay device 101 at a timing that does not depend on the request from the client device 102. However, instead of the push-type data transmission in the M1314, the relay device 101 may wait for a request from the client device 102 and transmit the message.

ここで中継装置101から送信されるプッシュメッセージは、S1311においてサーバ装置104から送信された配信メッセージに応じた情報である。またこのプッシュメッセージは、配信メッセージに含まれるプッシュURIに対応するサブスクリプションURIを含むM1305における転送要求に応じて中継装置101により転送される情報でもある。なお、配信メッセージとプッシュメッセージは同一のデータを含んでいてもよいし、異なるデータを含んでいてもよい。M1315において、クライアント装置102は中継装置101に、プッシュメッセージを受信したことを示す確認応答としてのプッシュレスポンスを送信する。中継装置101はプッシュレスポンスを受信する。 Here, the push message transmitted from the relay device 101 is information corresponding to the delivery message transmitted from the server device 104 in S1311. The push message is also information transferred by the relay device 101 in response to a transfer request in the M1305 including the subscription URI corresponding to the push URI included in the delivery message. The delivery message and the push message may contain the same data or may contain different data. In M1315, the client device 102 transmits a push response as an acknowledgment indicating that the push message has been received to the relay device 101. The relay device 101 receives the push response.

M1316において、中継装置101はサーバ装置104に、M1310において予約されたストリームを用いてステータスコードが100CONTINUEのレシートをプッシュ型のデータ送信により送信する。ここで送信されるステータスコードが100CONTINUEのレシートは、プッシュメッセージが転送先であるクライアント装置102及びクライアント装置103のうちの一方にのみ送達されたことを示す暫定応答である。ここで送信されるレシートには、プッシュメッセージが送達されたクライアント装置102を特定するための情報などが含まれてもよい。これにより、サーバ装置104はどのクライアント装置へデータが送達されたかを把握することができる。 In M1316, the relay device 101 transmits a receipt having a status code of 100 CONTINUE to the server device 104 by push-type data transmission using the stream reserved in M1310. The receipt whose status code is 100 CONTINUE transmitted here is a provisional response indicating that the push message has been delivered to only one of the client device 102 and the client device 103, which are the transfer destinations. The receipt transmitted here may include information for identifying the client device 102 to which the push message has been delivered. As a result, the server device 104 can grasp to which client device the data has been delivered.

M1317において、中継装置101はM1313と同様に、M1311で受信した配信メッセージに含まれるプッシュURIに対応するデバイス情報から特定されるクライアント装置103に、そのプッシュURIを含むプッシュ予約を送信する。クライアント装置103はプッシュ予約を受信し、中継装置101からプッシュメッセージを受信するまで待機する。 In M1317, similarly to M1313, the relay device 101 transmits a push reservation including the push URI to the client device 103 specified from the device information corresponding to the push URI included in the delivery message received in M1311. The client device 103 receives the push reservation and waits until the push message is received from the relay device 101.

M1318において、中継装置101はクライアント装置103にプッシュメッセージを送信し、クライアント装置103はプッシュメッセージを受信する。ここで送信されるプッシュメッセージは、S1311においてサーバ装置104から送信された配信メッセージに応じた情報である。なお、S1318において送信されるプッシュメッセージとM1314において送信されるプッシュメッセージは同一であってもよいし、送信先に応じて異なるデータを含んでいてもよい。M1319において、クライアント装置103は中継装置101に確認応答としてのプッシュレスポンスを送信し、中継装置101はプッシュレスポンスを受信する。 In M1318, the relay device 101 transmits a push message to the client device 103, and the client device 103 receives the push message. The push message transmitted here is information corresponding to the delivery message transmitted from the server device 104 in S1311. The push message transmitted in S1318 and the push message transmitted in M1314 may be the same, or may include different data depending on the destination. In M1319, the client device 103 transmits a push response as an acknowledgment to the relay device 101, and the relay device 101 receives the push response.

M1320において、中継装置101はサーバ装置104に、M1310において予約されたストリームを用いてステータスコードが204NoContentのレシートをプッシュ型のデータ送信により送信する。ここで送信されるステータスコードが204NoContentのレシートは、プッシュメッセージが転送先であるクライアント装置102及びクライアント装置103の両方に送達されたことを示す送達確認通知である。ここで送信されるレシートには、プッシュメッセージが送達されたすべての転送先(クライアント装置102及びクライアント装置103)を特定するための情報などが含まれてもよい。これにより、サーバ装置104は最終的にどのクライアント装置へデータが送達されたかを把握することができる。 In M1320, the relay device 101 transmits a receipt having a status code of 204 NoConent to the server device 104 by push-type data transmission using the stream reserved in M1310. The receipt whose status code is 204NoConent transmitted here is a delivery confirmation notice indicating that the push message has been delivered to both the client device 102 and the client device 103, which are the transfer destinations. The receipt transmitted here may include information for identifying all the transfer destinations (client device 102 and client device 103) to which the push message has been delivered. As a result, the server device 104 can grasp to which client device the data is finally delivered.

以上で通信システム100における一連の通信が終了する。図3を用いて説明したシーケンスの要点をまとめると、以下のようになる。サーバ装置104は、クライアント装置102及びクライアント装置103へ転送されるべきデータを中継装置101へ送信する(M1311)。中継装置101は、サーバ装置104から受信したデータをクライアント装置102及びクライアント装置103へ転送する(M1314及びM1318)。そして中継装置101は、転送されたデータの受信が完了したことを示す確認応答をクライアント装置102とクライアント装置103の両方から受信した後に、データの送達確認の通知をサーバ装置104に送信する(M1320)。 This completes a series of communications in the communication system 100. The main points of the sequence described with reference to FIG. 3 can be summarized as follows. The server device 104 transmits data to be transferred to the client device 102 and the client device 103 to the relay device 101 (M1311). The relay device 101 transfers the data received from the server device 104 to the client device 102 and the client device 103 (M1314 and M1318). Then, the relay device 101 receives a confirmation response indicating that the reception of the transferred data is completed from both the client device 102 and the client device 103, and then transmits a notification of data delivery confirmation to the server device 104 (M1320). ).

このように、本実施形態の通信システム100によれば、中継装置101がデータの転送先である複数のクライアント装置から確認応答を受信した後に、当該データの送達確認の通知がサーバ装置104へ送信される。これにより、すべての転送先にデータが送達されたかをサーバ装置104が判断できるようになる。 As described above, according to the communication system 100 of the present embodiment, after the relay device 101 receives the confirmation response from the plurality of client devices to which the data is transferred, the notification of the delivery confirmation of the data is transmitted to the server device 104. Will be done. As a result, the server device 104 can determine whether the data has been delivered to all the transfer destinations.

また中継装置101は、M1316のように、転送先である複数のクライアント装置のうちの一部のクライアント装置から確認応答を受信した後に、暫定応答をサーバ装置104へ送信してもよい。このように、送達確認の通知とは異なる通知である暫定応答を送信することで、一部の転送先にデータが送達されたことをサーバ装置104が判断できる。すなわち、暫定応答が送信された時点ではすべての転送先へのデータの送達は未完了であることをサーバ装置104が判断できる。なお、中継装置101は暫定応答を送信せずに送達確認の通知だけを送信してもよい。こうすることで、中継装置101が転送先から確認応答を受信するたびに暫定応答を送信する場合と比較して、中継装置101とサーバ装置104との間の通信量を低減することができる。 Further, the relay device 101 may transmit the provisional response to the server device 104 after receiving the confirmation response from some of the client devices among the plurality of client devices that are the transfer destinations, such as M1316. In this way, by transmitting the provisional response, which is a notification different from the notification of delivery confirmation, the server device 104 can determine that the data has been delivered to some transfer destinations. That is, the server device 104 can determine that the delivery of the data to all the transfer destinations is incomplete when the provisional response is transmitted. The relay device 101 may transmit only the notification of delivery confirmation without transmitting the provisional response. By doing so, the amount of communication between the relay device 101 and the server device 104 can be reduced as compared with the case where the relay device 101 transmits a provisional response each time the confirmation response is received from the transfer destination.

また、中継装置101は、暫定応答と送達確認の通知という2種類の通知を送信するものに限らず、データの転送先のクライアント装置の種別や送達が完了した転送先の数などに応じて、3種類以上の通知をサーバ装置104へ送信してもよい。また、中継装置101は、転送先のクライアント装置それぞれから確認応答を受信するたびに、同様の通知をサーバ装置104へ送信してもよい。図3の例で言えば、M1316で送信される暫定応答とM1320で送信される送達確認の通知とが同様のメッセージであってもよい。この方法でも、特にサーバ装置104が転送先のクライアント装置の数を把握している場合には、サーバ装置104は中継装置101から受信した通知の数を判定することで、転送先のクライアント装置すべてへデータが送達されたかを判断することができる。 Further, the relay device 101 is not limited to transmitting two types of notifications, that is, a provisional response and a notification of delivery confirmation, depending on the type of client device of the data transfer destination, the number of transfer destinations for which delivery has been completed, and the like. Three or more types of notifications may be transmitted to the server device 104. Further, the relay device 101 may transmit the same notification to the server device 104 each time the confirmation response is received from each of the transfer destination client devices. In the example of FIG. 3, the provisional response transmitted by M1316 and the notification of delivery confirmation transmitted by M1320 may be similar messages. Also in this method, particularly when the server device 104 knows the number of transfer destination client devices, the server device 104 determines the number of notifications received from the relay device 101, thereby all the transfer destination client devices. It can be determined whether the data has been delivered to.

サーバ装置104が転送先のクライアント装置の数を把握する方法としては、例えば中継装置101が、受信した転送要求の数をサーバ装置104へ送信してもよいし、クライアント装置から転送要求を受信するたびにサーバ装置104に通知を行ってもよい。そして、クライアント装置から中継装置101へアンサブスクライブ(転送要求の取り消し)が行われた際にも、その旨を中継装置101がサーバ装置104へ通知してもよい。また例えば、サーバ装置104がクライアント装置102からプッシュURIを取得する際に、クライアント装置102が識別子を共有する別のクライアント装置(図3の例におけるクライアント装置103)の数も併せて取得してもよい。 As a method for the server device 104 to grasp the number of transfer destination client devices, for example, the relay device 101 may transmit the number of received transfer requests to the server device 104, or receive the transfer request from the client device. The server device 104 may be notified each time. Then, when the client device unsubscribes (cancels the transfer request) from the relay device 101, the relay device 101 may notify the server device 104 to that effect. Further, for example, when the server device 104 acquires the push URI from the client device 102, the number of other client devices (client device 103 in the example of FIG. 3) in which the client device 102 shares an identifier may also be acquired. good.

また、図3のシーケンスにおいては、中継装置101が受信した転送要求の送信元のすべて(クライアント装置102及びクライアント装置103)がデータの転送先となる場合を示した。ただしこれに限らず、中継装置101は転送要求の送信元のうちの一部にのみデータを転送してもよい。そして、中継装置101が転送要求の送信元のすべてにデータを転送するか一部にのみ転送するかを、サーバ装置104がプッシュポリシーにより指定してもよい。 Further, in the sequence of FIG. 3, the case where all the transmission sources of the transfer request received by the relay device 101 (client device 102 and client device 103) are the data transfer destinations is shown. However, the present invention is not limited to this, and the relay device 101 may transfer data only to a part of the transmission sources of the transfer request. Then, the server device 104 may specify by a push policy whether the relay device 101 transfers the data to all the transmission sources of the transfer request or only a part of the data.

例えば、図12(c)に示すプッシュポリシーリストにおいて、サーバ装置104対応するプッシュポリシーはallとなっている。この場合、中継装置101は、転送要求を行ったクライアント装置を図12(b)のプッシュ配信リストから検索し、該当するクライアント装置のすべてにプッシュメッセージを送信する。 For example, in the push policy list shown in FIG. 12 (c), the push policy corresponding to the server device 104 is all. In this case, the relay device 101 searches the push distribution list of FIG. 12B for the client device that has made the transfer request, and transmits a push message to all the corresponding client devices.

一方、中継装置101が、サーバ装置104とは別のサーバ装置105から、プッシュポリシーとしてanyが指定されたレシート要求を受信した場合を考える。この場合には、中継装置101は、サーバ装置105から送信されるデータについての転送要求を行ったクライアント装置のうち、何れか1つにのみプッシュメッセージを送信する。そして中継装置101は、プッシュメッセージの送信先のクライアント装置から確認応答を受信した後に、サーバ装置105に送達確認の通知を送信する。この方法によれば、転送要求を行った機器のうちの何れか1つにのみプッシュ通知が届けばよい場合に、プッシュメッセージに係る通信量や中継装置101の処理負荷を低減できる。例えば、同一のユーザが所有するスマートフォン、スマートウォッチ、タブレットといった複数の機器から転送要求が行われる場合に、そのうちの1つにプッシュ通知が届けば、ユーザがその通知を確認することができる。なおこの場合に、複数の機器に優先度を設定しておき、中継装置101は設定された優先度の高い機器にデータを転送してもよい。 On the other hand, consider a case where the relay device 101 receives a receipt request for which any is specified as a push policy from a server device 105 different from the server device 104. In this case, the relay device 101 transmits the push message to only one of the client devices that have made the transfer request for the data transmitted from the server device 105. Then, the relay device 101 transmits a notification of delivery confirmation to the server device 105 after receiving the confirmation response from the client device to which the push message is transmitted. According to this method, when the push notification needs to be delivered to only one of the devices that made the transfer request, the communication amount related to the push message and the processing load of the relay device 101 can be reduced. For example, when a transfer request is made from a plurality of devices such as a smartphone, a smart watch, and a tablet owned by the same user, if a push notification arrives at one of them, the user can confirm the notification. In this case, the priority may be set for a plurality of devices, and the relay device 101 may transfer the data to the set device with a high priority.

また、プッシュポリシーの内容はこれらに限らず、例えば転送要求を行ったクライアント装置のうちデータの転送先とするクライアント装置の数を指定するものであってもよい。また例えば、転送要求を行った複数のクライアント装置にデータを転送し、転送先のクライアント装置のうちの一部のクライアント装置から中継装置101が確認応答を受信した後に送達確認の通知を送信することを指定するものであってもよい。そして中継装置101は、転送先である複数のクライアント装置すべてから確認応答を受信した後に送達確認の通知を送信するか、一部のクライアント装置から確認応答を受信した後に送達確認の通知を送信するかを、プッシュポリシーに基づいて決定してもよい。この場合、中継装置101は、プッシュポリシーに基づく決定に応じたタイミングで送達確認の通知をサーバ装置104に送信する。またサーバ装置104は、中継装置101が送達確認の通知の前に暫定応答を送信するか否かを指定してもよい。例えば、サーバ装置104はM1309におけるレシート要求のヘッダにExpect:100−Continueを含めることで暫定応答を要求してもよい。 Further, the content of the push policy is not limited to these, and for example, the number of client devices to which data is transferred may be specified among the client devices that have made the transfer request. Further, for example, data is transferred to a plurality of client devices that have made a transfer request, and a delivery confirmation notification is transmitted after the relay device 101 receives a confirmation response from some of the transfer destination client devices. May be specified. Then, the relay device 101 transmits a delivery confirmation notification after receiving the confirmation response from all of the plurality of client devices that are the transfer destinations, or transmits a delivery confirmation notification after receiving the confirmation response from some of the client devices. It may be decided based on the push policy. In this case, the relay device 101 transmits a delivery confirmation notification to the server device 104 at a timing corresponding to the decision based on the push policy. Further, the server device 104 may specify whether or not the relay device 101 transmits a provisional response before the notification of delivery confirmation. For example, the server device 104 may request a provisional response by including an Output: 100-Continue in the header of the receipt request in M1309.

また、中継装置101がどのクライアント装置へデータを転送するかの決定には、プッシュポリシー以外の情報も用いられてもよい。例えば、プッシュポリシーがanyである場合に、中継装置101は、転送要求を行った複数のクライアント装置がデータを受信可能な状態であることを把握している場合には、上述のように何れかのクライアント装置にデータを送信する。一方、転送要求を行った複数のクライアント装置がデータを受信可能であるか不明である場合には、中継装置101は、複数のクライアント装置にデータを転送し、何れかのクライアント装置から確認要求を受信したことに応じて送達確認の通知を送信してもよい。これにより、クライアント装置の状態に応じたより適切なデータ転送処理が実現できる。 Further, information other than the push policy may be used to determine to which client device the relay device 101 transfers data. For example, when the push policy is any, if the relay device 101 knows that the plurality of client devices that have made the transfer request are in a state where data can be received, any of the above-mentioned ones. Send data to the client device of. On the other hand, when it is unknown whether or not the plurality of client devices that have made the transfer request can receive the data, the relay device 101 transfers the data to the plurality of client devices and requests confirmation from one of the client devices. A notice of delivery confirmation may be sent according to the receipt. As a result, more appropriate data transfer processing can be realized according to the state of the client device.

[装置の動作フロー]
次に、通信システム100内の各装置の動作フローについて説明する。なお、図4から図11を用いて以下で説明する処理は、各装置のCPU201がROM202に格納されたプログラムをRAM203に展開して実行することで実現される。ただし、以下で説明する処理の少なくとも一部が、CPU201とは異なる専用のハードウェアにより実現されてもよい。
[Device operation flow]
Next, the operation flow of each device in the communication system 100 will be described. The process described below with reference to FIGS. 4 to 11 is realized by the CPU 201 of each device expanding the program stored in the ROM 202 into the RAM 203 and executing the program. However, at least a part of the processing described below may be realized by dedicated hardware different from the CPU 201.

図4は、中継装置101が識別子を生成する際の処理を説明するためのフローチャートである。図4に示す処理は、中継装置101がクライアント装置102もしくはクライアント装置103から識別子要求(サブスクライブ)を受信するタイミングで開始される。S501において、中継装置101は、クライアント装置102もしくはクライアント装置103から識別子要求を受信する。S502において、中継装置101は、識別子としてサブスクリプションURIとプッシュURIを生成する。S503において、中継装置101は、S501での識別子要求の送信元であるクライアント装置102もしくはクライアント装置103に識別子を送信する。S504において、中継装置101はS502で生成した識別子を図12(a)に示すRAM203内の識別子リストに保存する。 FIG. 4 is a flowchart for explaining a process when the relay device 101 generates an identifier. The process shown in FIG. 4 is started at the timing when the relay device 101 receives the identifier request (subscribe) from the client device 102 or the client device 103. In S501, the relay device 101 receives the identifier request from the client device 102 or the client device 103. In S502, the relay device 101 generates a subscription URI and a push URI as identifiers. In S503, the relay device 101 transmits the identifier to the client device 102 or the client device 103, which is the source of the identifier request in S501. In S504, the relay device 101 stores the identifier generated in S502 in the identifier list in the RAM 203 shown in FIG. 12 (a).

図5は、中継装置101が転送要求を受信した際の処理を説明するためのフローチャートである。図5に示す処理は、中継装置がクライアント装置102もしくはクライアント装置103から転送要求を受信するタイミングで開始される。S601において、中継装置101は、クライアント装置102もしくはクライアント装置103から識別子を含む転送要求を受信する。S602において、中継装置101は、S601で受信した識別子とS504で識別子リストに保存した識別子を比較し、受信した識別子が識別子リストに含まれている場合はS603に進み、含まれていない場合はS604に進む。 FIG. 5 is a flowchart for explaining the process when the relay device 101 receives the transfer request. The process shown in FIG. 5 is started at the timing when the relay device receives the transfer request from the client device 102 or the client device 103. In S601, the relay device 101 receives a transfer request including an identifier from the client device 102 or the client device 103. In S602, the relay device 101 compares the identifier received in S601 with the identifier stored in the identifier list in S504, proceeds to S603 if the received identifier is included in the identifier list, and proceeds to S604 if it is not included. Proceed to.

S603において、中継装置101は、S601で受信した転送要求の送信元であるクライアント装置のデバイス情報を図12(b)に示すRAM203内のプッシュ配信リストに保存する。本実施形態におけるデバイス情報は、中継装置101がクライアント装置を一意に特定することができる情報である。具体的には、クライアント装置の機器ID、MACアドレス、又はクライアント装置と中継装置との間のコネクションの識別情報などである。S604において、中継装置101は、S601での転送要求の送信元であるクライアント装置102もしくはクライアント装置103にエラーレスポンスを送信する。 In S603, the relay device 101 stores the device information of the client device, which is the source of the transfer request received in S601, in the push distribution list in the RAM 203 shown in FIG. 12B. The device information in the present embodiment is information that allows the relay device 101 to uniquely identify the client device. Specifically, it is the device ID and MAC address of the client device, or the identification information of the connection between the client device and the relay device. In S604, the relay device 101 transmits an error response to the client device 102 or the client device 103, which is the source of the transfer request in S601.

図6は、中継装置101がクライアント装置102及びクライアント装置103にプッシュメッセージを送信する処理を説明するためのフローチャートである。図6に示す処理は、中継装置101がサーバ装置104から配信メッセージを受信するタイミングで開始される。S701において、中継装置101はサーバ装置104から識別子を含む配信メッセージを受信する。S702において、中継装置101は、S701で受信した識別子とS504で識別子リストに保存した識別子を比較し、受信した識別子が識別子リストに含まれている場合はS703に進み、含まれていない場合はS704に進む。 FIG. 6 is a flowchart for explaining a process in which the relay device 101 transmits a push message to the client device 102 and the client device 103. The process shown in FIG. 6 is started at the timing when the relay device 101 receives the delivery message from the server device 104. In S701, the relay device 101 receives the delivery message including the identifier from the server device 104. In S702, the relay device 101 compares the identifier received in S701 with the identifier stored in the identifier list in S504, proceeds to S703 if the received identifier is included in the identifier list, and proceeds to S704 if it is not included. Proceed to.

S703において、中継装置101は、図12(c)に示すプッシュポリシーリストから、S701において受信した配信メッセージのプッシュURIに対応するプッシュポリシーを確認する。そしてS705において、中継装置101はサーバ装置104に配信レスポンスを送信する。一方、S704においては、中継装置101はサーバ装置104にエラーレスポンスを送信し、図6の処理を終了する。 In S703, the relay device 101 confirms the push policy corresponding to the push URI of the delivery message received in S701 from the push policy list shown in FIG. 12 (c). Then, in S705, the relay device 101 transmits a delivery response to the server device 104. On the other hand, in S704, the relay device 101 transmits an error response to the server device 104, and ends the process of FIG.

S706において、中継装置101はS703で確認したプッシュポリシーに応じて、プッシュメッセージの転送先を決定する。例えば、プッシュポリシーがallであり、中継装置101がS701で受信した配信メッセージに対応する転送要求を複数のクライアント装置から受信していた場合、当該複数のクライアント装置すべてが転送先として決定される。一方、プッシュポリシーがanyだった場合、中継装置101は、受信した転送要求の送信元である複数のクライアント装置のうち何れか1つのクライアント装置を転送先として決定する。また、プッシュポリシーにより転送先の数が指定されている場合、指定に応じた数のクライアント装置が転送先として決定される。 In S706, the relay device 101 determines the transfer destination of the push message according to the push policy confirmed in S703. For example, when the push policy is all and the relay device 101 receives a transfer request corresponding to the delivery message received in S701 from a plurality of client devices, all of the plurality of client devices are determined as transfer destinations. On the other hand, when the push policy is any, the relay device 101 determines one of the plurality of client devices that is the source of the received transfer request as the transfer destination. If the number of forwarding destinations is specified by the push policy, the number of client devices corresponding to the designation is determined as the forwarding destination.

S707において、中継装置101は、S603で保存したプッシュ配信リストにおいてS701で受信した識別子と対応するデバイス情報のうち、S705で決定された転送先それぞれについて、S708からS711の処理を行う。S708において、中継装置101は、対象のデバイス情報に対応するクライアント装置にプッシュ予約を送信する。S709において、中継装置101は、対象のデバイス情報に対応するクライアント装置にプッシュメッセージを送信する。S710において、中継装置101は、S709でのプッシュメッセージの転送先のクライアント装置からプッシュレスポンスを受信する。S711において、中継装置101はサーバ装置104に暫定応答(HTTP 100Continue)を送信する。この暫定応答には、例えばFQDN(Fully Qualified Domain Name)やIPアドレスその他の識別子を用いて、どのクライアント装置からプッシュレスポンスを受信したかの情報を含めてもよい。 In S707, the relay device 101 performs the processes of S708 to S711 for each of the transfer destinations determined in S705 among the device information corresponding to the identifier received in S701 in the push distribution list saved in S603. In S708, the relay device 101 transmits a push reservation to the client device corresponding to the target device information. In S709, the relay device 101 transmits a push message to the client device corresponding to the target device information. In S710, the relay device 101 receives the push response from the client device to which the push message is transferred in S709. In S711, the relay device 101 transmits a provisional response (HTTP 100Continue) to the server device 104. This provisional response may include information from which client device the push response was received, using, for example, an FQDN (Fully Qualified Domain Name), an IP address, or other identifier.

S701で受信されたプッシュURIと対応する複数のデバイス情報が転送先として決定されている場合、S708からS711において中継装置101は、S701において受信した配信メッセージを転送先の決定に応じた複数のクライアント装置へ転送する。ここで、同一のプッシュURIと対応する複数のデバイス情報が転送先となっている場合とは、すなわち中継装置101が同一のサブスクリプションURIに基づく転送要求を転送先に決定された複数のクライアント装置から受信していた場合である。 When a plurality of device information corresponding to the push URI received in S701 is determined as the transfer destination, the relay device 101 in S708 to S711 transmits the delivery message received in S701 to the plurality of clients according to the determination of the transfer destination. Transfer to the device. Here, when a plurality of device information corresponding to the same push URI is the transfer destination, that is, a plurality of client devices in which the relay device 101 determines the transfer request based on the same subscription URI as the transfer destination. When it was received from.

すべての転送先についてS708からS711の処理が終了すると、S712において中継装置101は、すべての転送先にプッシュメッセージが送達されたことを示す送達確認通知をサーバ装置104に送信し、処理を終了する。また、中継装置101は、指定されたプッシュポリシーに合致したプッシュメッセージの送達に失敗した場合や、送達の完了前にタイムアウトした場合などには、S712において送達確認の通知に代えてエラーレスポンスを送信する。エラーレスポンスには、データが送達されたクライアント装置の識別情報や、データを送達できなかったクライアント装置の識別情報、データの送達に失敗した原因を示す情報などが含まれていてもよい。なお、S711における暫定応答の送信は、一部の転送先についてのみ行われてもよい。例えば、中継装置101は、複数の転送先から送信されるプッシュレスポンスのうち最後のプッシュレスポンスを受信した場合には、S711における暫定応答の送信を行わずに、S712における送達確認の通知の送信を行ってもよい。また、サーバ装置104が転送先のクライアント装置の数を把握している場合などには、中継装置101は、S712における送達確認の通知の送信を行わず、S711における暫定応答の送信のみを行ってもよい。 When the processing from S708 to S711 for all the forwarding destinations is completed, the relay device 101 sends a delivery confirmation notification indicating that the push message has been delivered to all the forwarding destinations to the server device 104 in S712, and ends the processing. .. Further, when the relay device 101 fails to deliver the push message matching the specified push policy, or when the time-out occurs before the delivery is completed, the relay device 101 transmits an error response instead of the delivery confirmation notification in S712. do. The error response may include identification information of the client device to which the data has been delivered, identification information of the client device that could not deliver the data, information indicating the cause of the failure in the delivery of the data, and the like. The provisional response in S711 may be transmitted only to some forwarding destinations. For example, when the relay device 101 receives the last push response among the push responses transmitted from the plurality of transfer destinations, the relay device 101 transmits the delivery confirmation notification in S712 without transmitting the provisional response in S711. You may go. Further, when the server device 104 knows the number of transfer destination client devices, the relay device 101 does not transmit the delivery confirmation notification in S712, but only transmits the provisional response in S711. May be good.

また、複数の転送先のうち一部(n個)の転送先にプッシュメッセージが送達された場合に送達確認を通知するようにプッシュポリシーにより指定された場合には、中継装置101は、すべての転送先についてS708からS711までの処理を並列処理する。そして、S710で受信するプッシュレスポンスの数を確認し、n個に達するとループを抜け、S712で送達確認の通知が送信される。プッシュポリシーにより転送先のクライアント装置が指定される場合においても、同様な処理を行うことでプッシュポリシーに応じたプッシュメッセージの送信が実現できる。 Further, when the push policy specifies to notify the delivery confirmation when the push message is delivered to a part (n) of the plurality of forwarding destinations, the relay device 101 is used for all of the forwarding devices 101. The processes from S708 to S711 are processed in parallel for the transfer destination. Then, the number of push responses received in S710 is confirmed, and when the number reaches n, the loop is exited and a notification of delivery confirmation is transmitted in S712. Even when the transfer destination client device is specified by the push policy, it is possible to send a push message according to the push policy by performing the same processing.

図7は、クライアント装置102が中継装置101から識別子を受信し、クライアント装置103及びサーバ装置104に識別子を送信する処理を説明するためのフローチャートである。図7に示す処理は、例えばクライアント装置102にユーザの操作などによって識別子要求の指示がなされたタイミングで開始される。ただし、図7に示す処理の開始タイミングは上記タイミングに限定されない。 FIG. 7 is a flowchart for explaining a process in which the client device 102 receives an identifier from the relay device 101 and transmits the identifier to the client device 103 and the server device 104. The process shown in FIG. 7 is started at the timing when an identifier request is instructed to the client device 102, for example, by a user operation or the like. However, the start timing of the process shown in FIG. 7 is not limited to the above timing.

S801において、クライアント装置102は中継装置101に識別子要求を送信する。S802において、クライアント装置102は中継装置101から識別子を受信する。S803において、クライアント装置102は自装置が有するRAM203内の識別子リストにS802で受信した識別子を保存する。S804において、クライアント装置102は、送信対象装置それぞれについてS805の処理を行う。本実施形態における送信対象装置はクライアント装置103及びサーバ装置104を指すが、これに限らない。例えば、識別子を管理するための情報管理装置(不図示)を送信対象装置とし、クライアント装置102は他の装置との間の識別子のやり取りを、情報管理装置を介して行ってもよい。S805において、クライアント装置102は送信対象装置に識別子を送信する。 In S801, the client device 102 transmits an identifier request to the relay device 101. In S802, the client device 102 receives the identifier from the relay device 101. In S803, the client device 102 stores the identifier received in S802 in the identifier list in the RAM 203 of the own device. In S804, the client device 102 performs the process of S805 for each of the transmission target devices. The transmission target device in the present embodiment refers to, but is not limited to, the client device 103 and the server device 104. For example, an information management device (not shown) for managing identifiers may be used as a transmission target device, and the client device 102 may exchange identifiers with other devices via the information management device. In S805, the client device 102 transmits the identifier to the transmission target device.

図8は、クライアント装置103がクライアント装置102から識別子を取得する処理を説明するためのフローチャートである。図8に示す処理は、クライアント装置103がクライアント装置102から識別子を受信するタイミングで開始される。S901において、クライアント装置103はクライアント装置102から識別子を受信する。S902において、クライアント装置103は自装置が有するRAM203内の識別子リストにS901で受信した識別子を保存する。なお、サーバ装置104がクライアント装置102から識別子を取得する処理についても、図8を用いて説明した処理と同様である。 FIG. 8 is a flowchart for explaining a process in which the client device 103 acquires an identifier from the client device 102. The process shown in FIG. 8 is started at the timing when the client device 103 receives the identifier from the client device 102. In S901, the client device 103 receives an identifier from the client device 102. In S902, the client device 103 stores the identifier received in S901 in the identifier list in the RAM 203 of the own device. The process of the server device 104 acquiring the identifier from the client device 102 is the same as the process described with reference to FIG.

図9は、クライアント装置102が中継装置101からプッシュメッセージを受信する処理を説明するためのフローチャートである。図9に示す処理は、例えばクライアント装置102にユーザの操作などによって転送要求の指示がなされたタイミングで開始される。ただし、図10に示す処理の開始タイミングは上記タイミングに限定されない。S1001において、クライアント装置102は中継装置101に転送要求を送信する。S1002において、クライアント装置102は中継装置101からの転送終了までS1003からS1006の処理を繰り返す。本実施形態において転送終了となる場合は、例えばクライアント装置102にユーザの操作などによってプッシュメッセージの受信を終了する指示がなされた場合や、クライアント装置102が中継装置101から転送終了を示すメッセージを受信した場合である。なお、転送終了の条件はこれに限らない。 FIG. 9 is a flowchart for explaining a process in which the client device 102 receives a push message from the relay device 101. The process shown in FIG. 9 is started at the timing when a transfer request is instructed to the client device 102, for example, by a user operation or the like. However, the start timing of the process shown in FIG. 10 is not limited to the above timing. In S1001, the client device 102 transmits a transfer request to the relay device 101. In S1002, the client device 102 repeats the processes of S1003 to S1006 until the transfer from the relay device 101 is completed. When the transfer ends in the present embodiment, for example, when the client device 102 is instructed to end the reception of the push message by a user operation or the like, or the client device 102 receives a message indicating the end of the transfer from the relay device 101. If you do. The conditions for ending the transfer are not limited to this.

S1003において、クライアント装置102は中継装置101から識別子を含むプッシュ予約を受信する。S1004において、クライアント装置102は中継装置101からプッシュメッセージを受信するまで待機する。S1005において、クライアント装置102は中継装置101からプッシュメッセージを受信する。S1006において、クライアント装置102は中継装置101にプッシュレスポンスを送信する。なお、クライアント装置103が中継装置101からプッシュメッセージを受信する処理についても、図9を用いて説明した処理と同様である。 In S1003, the client device 102 receives the push reservation including the identifier from the relay device 101. In S1004, the client device 102 waits until the push message is received from the relay device 101. In S1005, the client device 102 receives the push message from the relay device 101. In S1006, the client device 102 transmits a push response to the relay device 101. The process of receiving the push message from the relay device 101 by the client device 103 is the same as the process described with reference to FIG.

図10は、サーバ装置104が中継装置101に配信メッセージを送信する処理を説明するためのフローチャートである。図10に示す処理は、例えばサーバ装置104にユーザの操作などによってデータ送信の指示がなされたタイミングや、サーバ装置104がセンサーなどにより所定のイベントを検知したタイミングで開始される。ただし、図10に示す処理の開始タイミングは上記タイミングに限定されない。 FIG. 10 is a flowchart for explaining a process in which the server device 104 transmits a delivery message to the relay device 101. The process shown in FIG. 10 is started at the timing when the server device 104 is instructed to transmit data by a user operation or the like, or when the server device 104 detects a predetermined event by a sensor or the like. However, the start timing of the process shown in FIG. 10 is not limited to the above timing.

S1101において、サーバ装置104は中継装置101に配信メッセージを送信する。S1102において、サーバ装置104は中継装置101から暫定応答を受信する。暫定応答は、配信メッセージが転送先のクライアント装置うちの一部に送達されたことを示す。これにより、サーバ装置104は各クライアント装置におけるメッセージの受信状況を把握することができる。S1103において、サーバ装置104は中継装置101から送達確認の通知を受信する。 In S1101, the server device 104 transmits a delivery message to the relay device 101. In S1102, the server device 104 receives the provisional response from the relay device 101. The interim response indicates that the delivered message has been delivered to some of the destination client devices. As a result, the server device 104 can grasp the reception status of the message in each client device. In S1103, the server device 104 receives the delivery confirmation notification from the relay device 101.

図11は、中継装置101がサーバ装置104へのレシートの送受信のために行う前処理を説明するためのフローチャートである。図11に示す処理は、例えばサーバ装置104がクライアント装置102からプッシュURIを取得したタイミングで開始される。ただし、図11に示す処理の開始タイミングは上記タイミングに限定されない。 FIG. 11 is a flowchart for explaining the preprocessing performed by the relay device 101 for transmitting and receiving the receipt to and from the server device 104. The process shown in FIG. 11 is started, for example, at the timing when the server device 104 acquires the push URI from the client device 102. However, the start timing of the process shown in FIG. 11 is not limited to the above timing.

S1201において、中継装置101はサーバ装置104から、送達確認の通知を要求するための通知要求を受信する。S1202において、中継装置101はサーバ装置104に、通知要求に対するレスポンスを送信する。S1203において、中継装置101はサーバ装置104から、送達確認の通知や暫定応答などを要求するためのレシート要求を受信する。S1204において、中継装置101はサーバ装置104に、プッシュ型のデータ送信によりレシートを送信するためのプッシュ予約を送信する。 In S1201, the relay device 101 receives a notification request for requesting a notification of delivery confirmation from the server device 104. In S1202, the relay device 101 transmits a response to the notification request to the server device 104. In S1203, the relay device 101 receives a receipt request for requesting a notification of delivery confirmation, a provisional response, or the like from the server device 104. In S1204, the relay device 101 transmits a push reservation for transmitting the receipt to the server device 104 by push-type data transmission.

[変形例]
上述した本実施形態については、その主旨を逸脱しない範囲で種々の変形が可能である。本実施形態においては、クライアント装置102とクライアント装置103の2台の装置が同一の識別子を用いて中継装置101からプッシュメッセージを受信する場合を中心に説明した。ただしこれに限らず、3台以上のクライアント装置が同一の識別子を用いて中継装置101からのプッシュメッセージを受信してもよい。また、クライアント装置102及びクライアント装置103は、複数のサーバ装置からプッシュされるデータを受信してもよい。この場合、サーバ装置ごとに異なる識別子が用いられてもよい。なお、本実施形態では送信される転送要求やデータに識別子が含まれているものとしたが、識別子に基づく転送要求やデータが送信されればよい。例えば、転送要求と識別子とを関連付けるデータが、当該転送要求とは別に送信されてもよい。
[Modification example]
The above-described embodiment can be modified in various ways without departing from the spirit of the present embodiment. In the present embodiment, the case where two devices, the client device 102 and the client device 103, receive a push message from the relay device 101 using the same identifier has been mainly described. However, the present invention is not limited to this, and three or more client devices may receive the push message from the relay device 101 using the same identifier. Further, the client device 102 and the client device 103 may receive data pushed from a plurality of server devices. In this case, a different identifier may be used for each server device. In the present embodiment, it is assumed that the transfer request or data to be transmitted includes an identifier, but the transfer request or data based on the identifier may be transmitted. For example, the data associated with the transfer request and the identifier may be transmitted separately from the transfer request.

また、本実施形態では、中継装置101とクライアント装置102やクライアント装置103との間の通信は、HTTP/2において規定されるコネクション及びストリームを使用して行われるものとした。一方、中継装置101とサーバ装置104との間の通信は、HTTP/1.1に従うものとした。ただし、通信システム100内で行われる通信の方式はこれらに限定されない。例えば、中継装置101とサーバ装置104との間の通信もHTTP/2に従う通信であってもよい。また、HTTP/1.1やHTTP/2に限らず、WebSocketやQUIC(Quick UDP Internet Connections)などの他の通信規格に従って通信が行われてもよい。この場合、各規格に応じた形式のメッセージや論理的な接続を使用して通信が行われる。また、本実施形態ではWebPushプロトコルに基づくプッシュ型のデータ送信が行われる例を説明したが、これに限らず、プッシュ通知を送受信するための他のプロトコルにも本実施形態を適用することができる。さらに、プッシュを用いないプロトコルにも適用可能である。 Further, in the present embodiment, the communication between the relay device 101 and the client device 102 or the client device 103 is performed using the connection and stream defined in HTTP / 2. On the other hand, the communication between the relay device 101 and the server device 104 is based on HTTP / 1.1. However, the communication method performed in the communication system 100 is not limited to these. For example, the communication between the relay device 101 and the server device 104 may also be communication according to HTTP / 2. Further, the communication is not limited to HTTP / 1.1 and HTTP / 2, and communication may be performed according to other communication standards such as WebSocket and QUIC (Quick UDP Internet Connections). In this case, communication is performed using a message or a logical connection in a format corresponding to each standard. Further, in the present embodiment, an example in which push-type data transmission is performed based on the WebPush protocol has been described, but the present embodiment is not limited to this, and the present embodiment can be applied to other protocols for transmitting and receiving push notifications. .. Furthermore, it can be applied to protocols that do not use push.

また、本実施形態においては、サーバ装置104が中継装置101へ送信するレシート要求にプッシュポリシーを含める場合を中心に説明した。これにより、中継装置101はサーバ装置104の要求に応じたデータの転送処理を行うことができる。なお、プッシュポリシーはサーバ装置104から中継装置101へ送信される配信メッセージに含まれていてもよいし、レシート要求や配信メッセージとは別に送信されてもよい。また、中継装置101やクライアント装置102などがプッシュポリシーを決定し、決定されたプッシュポリシーをサーバ装置104に通知してよい。さらに、複数装置間のネゴシエーションによってプッシュポリシーが決定されてもよい。また、クライアント装置102やクライアント装置103は、プッシュメッセージの受信ポリシーを決定し、この受信ポリシーに従って、中継装置101から送信されるプッシュメッセージを受信するか否かを判断してもよい。 Further, in the present embodiment, the case where the push policy is included in the receipt request transmitted by the server device 104 to the relay device 101 has been mainly described. As a result, the relay device 101 can perform data transfer processing in response to the request of the server device 104. The push policy may be included in the delivery message transmitted from the server device 104 to the relay device 101, or may be transmitted separately from the receipt request and the delivery message. Further, the relay device 101, the client device 102, or the like may determine the push policy and notify the server device 104 of the determined push policy. Further, the push policy may be determined by negotiation between a plurality of devices. Further, the client device 102 and the client device 103 may determine a push message reception policy, and may determine whether or not to receive the push message transmitted from the relay device 101 according to this reception policy.

<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC等)によっても実現可能である。また、そのプログラムをコンピュータにより読み取り可能な記録媒体に記録して提供してもよい。
<Other Embodiments>
The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC or the like) that realizes one or more functions. Further, the program may be recorded and provided on a computer-readable recording medium.

100 通信システム
101 中継装置
102 クライアント装置
103 クライアント装置
104 サーバ装置
100 Communication system 101 Relay device 102 Client device 103 Client device 104 Server device

Claims (13)

サーバ装置からデータを受信する第1受信手段と、
前記第1受信手段により受信される前記データをクライアント装置へ送信する第1送信手段と、
前記第1送信手段により送信された前記データがクライアント装置により受信されたことを示す確認応答を当該クライアント装置から受信する第2受信手段と、
前記第1送信手段により前記データが複数のクライアント装置へ送信される場合に、前記第2受信手段が前記複数のクライアント装置から前記確認応答を受信した後に、前記第1送信手段により送信された前記データが前記複数のクライアント装置により受信されたことを示す送達確認の通知を、プッシュ型のデータ送信により前記サーバ装置に送信する第2送信手段とを有することを特徴とする通信装置。
The first receiving means for receiving data from the server device,
A first transmitting means for transmitting the data received by the first receiving means to the client device, and
A second receiving means for receiving an acknowledgment indicating that the data transmitted by the first transmitting means has been received by the client device from the client device, and a second receiving means.
When the data is transmitted to a plurality of client devices by the first transmission means , the confirmation response is received from the plurality of client devices, and then the data is transmitted by the first transmission means. A communication device comprising a second transmission means for transmitting a delivery confirmation notification indicating that data has been received by the plurality of client devices to the server device by push-type data transmission.
クライアント装置からデータの転送要求を受信する第3受信手段を有し、It has a third receiving means for receiving a data transfer request from a client device, and has a third receiving means.
前記第1送信手段は、前記第1受信手段により受信される前記データに対応する転送要求を前記第3受信手段が複数のクライアント装置から受信した場合に、当該複数のクライアント装置へ前記データを送信することを特徴とする請求項1に記載の通信装置。When the third receiving means receives a transfer request corresponding to the data received by the first receiving means from a plurality of client devices, the first transmitting means transmits the data to the plurality of client devices. The communication device according to claim 1, wherein the communication device is characterized by the above.
クライアント装置からデータの転送要求を受信する第3受信手段と、A third receiving means for receiving a data transfer request from the client device,
前記第1受信手段により受信される前記データに対応する転送要求を前記第3受信手段が複数のクライアント装置から受信した場合に、当該複数のクライアント装置のうち前記データの送信先とすべきクライアント装置を決定する決定手段とを有し、When the third receiving means receives a transfer request corresponding to the data received by the first receiving means from a plurality of client devices, the client device to be the transmission destination of the data among the plurality of client devices. Has a decision-making means to determine
前記第1送信手段は、前記決定手段による決定に応じたクライアント装置へ前記データを送信することを特徴とする請求項1又は2に記載の通信装置。The communication device according to claim 1 or 2, wherein the first transmission means transmits the data to the client device according to the determination by the determination means.
前記第1受信手段により受信される前記データの送信先とすべきクライアント装置の数に関する指定情報を前記サーバ装置から受信する第4受信手段を有し、It has a fourth receiving means for receiving designated information regarding the number of client devices to be transmitted to the data received by the first receiving means from the server device.
前記決定手段は、前記データの送信先とすべきクライアント装置を、前記第4受信手段により受信される前記指定情報に基づいて決定することを特徴とする請求項3に記載の通信装置。The communication device according to claim 3, wherein the determination means determines a client device to be a transmission destination of the data based on the designated information received by the fourth receiving means.
クライアント装置からの情報要求に応じて当該クライアント装置へ発行情報を送信する第3送信手段を有し、It has a third transmission means for transmitting issuance information to the client device in response to an information request from the client device.
前記第1送信手段は、前記第3送信手段により送信された発行情報であって前記第1受信手段により受信される前記データに対応する発行情報を含む転送要求を前記第3受信手段が複数のクライアント装置から受信した場合に、前記データを当該複数のクライアント装置のうちの1以上のクライアント装置へ送信することを特徴とする請求項2乃至4の何れか1項に記載の通信装置。In the first transmitting means, the third receiving means has a plurality of transfer requests including the issuing information transmitted by the third transmitting means and the issuing information corresponding to the data received by the first receiving means. The communication device according to any one of claims 2 to 4, wherein when received from a client device, the data is transmitted to one or more client devices among the plurality of client devices.
前記第3送信手段により送信される前記発行情報は、WebPushプロトコルにおいて規定されるサブスクリプションURIであることを特徴とする請求項5に記載の通信装置。The communication device according to claim 5, wherein the issuance information transmitted by the third transmission means is a subscription URI defined in the WebPush protocol. 前記第2送信手段により送信される前記送達確認の通知は、WebPushプロトコルにおいて規定されるプッシュメッセージレシートであることを特徴とする請求項1乃至6の何れか1項に記載の通信装置。The communication device according to any one of claims 1 to 6, wherein the delivery confirmation notification transmitted by the second transmission means is a push message receipt defined in the WebPush protocol. 前記第2送信手段は、前記第1送信手段により前記データが複数のクライアント装置へ送信される場合に、前記第2受信手段が前記複数のクライアント装置のうちの一部のクライアント装置から前記確認応答を受信した後に、前記複数のクライアント装置への前記データの送達が未完了であることを示す通知を前記サーバ装置に送信することを特徴とする請求項1乃至7の何れか1項に記載の通信装置。In the second transmitting means, when the data is transmitted to a plurality of client devices by the first transmitting means, the second receiving means receives the confirmation response from some of the client devices among the plurality of client devices. The invention according to any one of claims 1 to 7, wherein after receiving the data, a notification indicating that the delivery of the data to the plurality of client devices is incomplete is transmitted to the server device. Communication device. 前記第1送信手段により前記データが複数のクライアント装置へ送信される場合に、前記第2受信手段が前記複数のクライアント装置から前記確認応答を受信した後に前記送達確認の通知を送信するか、前記第2受信手段が前記複数のクライアント装置のうちの一部のクライアント装置から前記確認応答を受信した後に前記送達確認の通知を送信するかを決定する決定手段を有し、When the data is transmitted to a plurality of client devices by the first transmitting means, the second receiving means transmits the confirmation response after receiving the confirmation response from the plurality of client devices, or transmits the notification of the delivery confirmation. The second receiving means has a deciding means for determining whether to transmit the delivery confirmation notification after receiving the confirmation response from some of the client devices among the plurality of client devices.
前記第2送信手段は、前記決定手段による決定に応じたタイミングで前記送達確認の通知を前記サーバ装置に送信することを特徴とする請求項1乃至8の何れか1項に記載の通信装置。The communication device according to any one of claims 1 to 8, wherein the second transmission means transmits a notification of delivery confirmation to the server device at a timing corresponding to a decision by the determination means.
前記決定手段は、前記第2受信手段が前記複数のクライアント装置から前記確認応答を受信した後に前記送達確認の通知を送信するか、前記第2受信手段が前記複数のクライアント装置のうちの一部のクライアント装置から前記確認応答を受信した後に前記送達確認の通知を送信するかを、前記サーバ装置から受信した情報に基づいて決定することを特徴とする請求項9に記載の通信装置。The determining means either transmits the delivery confirmation notification after the second receiving means receives the confirmation response from the plurality of client devices, or the second receiving means is a part of the plurality of client devices. 9. The communication device according to claim 9, wherein after receiving the confirmation response from the client device, it is determined whether to transmit the delivery confirmation notification based on the information received from the server device. 通信装置がサーバ装置からデータを受信する第1受信工程と、The first receiving process in which the communication device receives data from the server device,
前記第1受信工程において受信される前記データを前記通信装置からクライアント装置へ送信する第1送信工程と、A first transmission step of transmitting the data received in the first reception step from the communication device to the client device, and
前記第1送信工程において送信された前記データがクライアント装置により受信されたことを示す確認応答を前記通信装置が当該クライアント装置から受信する第2受信工程と、A second receiving step in which the communication device receives an acknowledgment indicating that the data transmitted in the first transmitting step has been received by the client device from the client device.
前記第1送信工程において前記データが複数のクライアント装置へ送信される場合に、前記第2受信工程において前記通信装置が前記複数のクライアント装置から前記確認応答を受信した後に、前記第1送信工程において送信された前記データが前記複数のクライアント装置により受信されたことを示す送達確認の通知を、プッシュ型のデータ送信により前記通信装置から前記サーバ装置へ送信する第2送信工程とを有することを特徴とする通信方法。When the data is transmitted to a plurality of client devices in the first transmission step, after the communication device receives the confirmation response from the plurality of client devices in the second reception step, in the first transmission step. It is characterized by having a second transmission step of transmitting a delivery confirmation notification indicating that the transmitted data has been received by the plurality of client devices from the communication device to the server device by push-type data transmission. Communication method.
通信装置がクライアント装置からデータの転送要求を受信する第3受信工程を有し、The communication device has a third reception step of receiving a data transfer request from the client device.
前記第1送信工程においては、前記第1受信工程において受信される前記データに対応する転送要求を前記第3受信工程において前記通信装置が複数のクライアント装置から受信した場合に、当該複数のクライアント装置へ前記データが送信されることを特徴とする請求項11に記載の通信方法。In the first transmission step, when the communication device receives a transfer request corresponding to the data received in the first reception step from a plurality of client devices in the third reception step, the plurality of client devices. The communication method according to claim 11, wherein the data is transmitted to the client.
コンピュータを、請求項1乃至10の何れか1項に記載の通信装置として動作させるためのプログラム。A program for operating a computer as a communication device according to any one of claims 1 to 10.
JP2017211154A 2017-10-31 2017-10-31 Communication equipment, communication methods, and programs Active JP6942609B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017211154A JP6942609B2 (en) 2017-10-31 2017-10-31 Communication equipment, communication methods, and programs
US16/158,879 US11196831B2 (en) 2017-10-31 2018-10-12 Communication apparatus, communication method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017211154A JP6942609B2 (en) 2017-10-31 2017-10-31 Communication equipment, communication methods, and programs

Publications (2)

Publication Number Publication Date
JP2019082953A JP2019082953A (en) 2019-05-30
JP6942609B2 true JP6942609B2 (en) 2021-09-29

Family

ID=66670448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017211154A Active JP6942609B2 (en) 2017-10-31 2017-10-31 Communication equipment, communication methods, and programs

Country Status (1)

Country Link
JP (1) JP6942609B2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3641107B2 (en) * 1997-08-07 2005-04-20 日本電信電話株式会社 Electronic file delivery method
JP3692830B2 (en) * 1999-05-14 2005-09-07 株式会社日立製作所 Multicast communication system
JP2002344477A (en) * 2001-05-16 2002-11-29 Mitsubishi Electric Corp Multicast delivery system and its terminal
JP4814998B2 (en) * 2006-06-27 2011-11-16 トムソン ライセンシング Method and apparatus for reliable delivery of multicast data
US9372739B2 (en) * 2011-04-20 2016-06-21 International Business Machines Corporation Monitoring of subscriber message processing in a publish/subscribe messaging environment
US9479387B2 (en) * 2012-06-22 2016-10-25 Salesforce.Com, Inc. Methods and systems for priority-based notifications for mobile devices
US10285050B2 (en) * 2015-04-13 2019-05-07 Samsung Electronics Co., Ltd. Method and apparatus for managing a profile of a terminal in a wireless communication system

Also Published As

Publication number Publication date
JP2019082953A (en) 2019-05-30

Similar Documents

Publication Publication Date Title
US10866776B2 (en) Pull printing method and system using cloud server
CN102739411B (en) The service of proof is provided
US9549096B2 (en) Image processing system, relay server, and program for relaying communications
US10623699B2 (en) Device, system and method for embedded video chat
JP6562085B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
JP7190837B2 (en) Relay device, control method, and program
JP6862191B2 (en) Information processing device, its control method, and program
JP6429559B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, INFORMATION PROCESSING METHOD, AND PROGRAM
JP6843522B2 (en) Communication equipment and its control method, and programs
JP6942609B2 (en) Communication equipment, communication methods, and programs
JP7009163B2 (en) Communication equipment, communication methods, and programs
WO2008050585A1 (en) Two-way communication system, server apparatus, relay apparatus, two-way communication method and program
JP6758858B2 (en) Communication equipment, communication methods and programs
JP7051396B2 (en) Communication equipment, communication methods, and programs
US9106608B2 (en) Communication device, communication method, and non-transitory computer-readable recording medium
JP6465755B2 (en) Control method, program, and client terminal
JP6998746B2 (en) Communication device, notification device, relay device, communication system, control method of each device, and program
US11196831B2 (en) Communication apparatus, communication method, and storage medium
WO2016177257A1 (en) Data sharing method and device
CN114338574A (en) Instant messaging method, management node and system
JP7293268B2 (en) COMMUNICATION DEVICE, CONTROL METHOD THEREOF, AND PROGRAM
CN112583934B (en) Data communication method, apparatus and computer-readable storage medium
JP2019033539A (en) Communication device, communication system, communication method, and program
JP6332915B2 (en) Information processing apparatus, information processing method, and program
JP6008664B2 (en) Output instruction device, output device, and content output system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210714

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210908

R151 Written notification of patent or utility model registration

Ref document number: 6942609

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151