JP6998746B2 - 通信装置、通知装置、中継装置、通信システム、各装置の制御方法、および、プログラム - Google Patents

通信装置、通知装置、中継装置、通信システム、各装置の制御方法、および、プログラム Download PDF

Info

Publication number
JP6998746B2
JP6998746B2 JP2017235287A JP2017235287A JP6998746B2 JP 6998746 B2 JP6998746 B2 JP 6998746B2 JP 2017235287 A JP2017235287 A JP 2017235287A JP 2017235287 A JP2017235287 A JP 2017235287A JP 6998746 B2 JP6998746 B2 JP 6998746B2
Authority
JP
Japan
Prior art keywords
communication device
subscription information
notification
information
relay device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017235287A
Other languages
English (en)
Other versions
JP2019101976A (ja
JP2019101976A5 (ja
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 JP2017235287A priority Critical patent/JP6998746B2/ja
Publication of JP2019101976A publication Critical patent/JP2019101976A/ja
Publication of JP2019101976A5 publication Critical patent/JP2019101976A5/ja
Application granted granted Critical
Publication of JP6998746B2 publication Critical patent/JP6998746B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プッシュ通知のための通信装置、通知装置、中継装置、通信システム、各装置の制御方法およびプログラムに関する。
近年、スマートフォン等の機器やブラウザにイベントや状況の変化を通知するプッシュ通知が広く使われるようになってきた。IETF(The Internet Engineering Task Force)では、ウェブ技術を用いたプッシュ通知の方式としてWebPushが提案されている。
WebPushは、PS(PushServer)、UA(UserAgent)および、AS(ApplicationServer)から構成されるシステムである。それら3者間でプッシュ通知するために必要なサブスクリプション情報を共有することによりプッシュ通知を実現している。WebPushにおいて、PSは大量の購読配信を処理する場合がある。
特許文献1は、サブスクリプション情報が利用されなくなってから任意の時間(有効期限)が経過するとサブスクリプション情報を利用不可とすることで、PSに相当する装置の処理負荷を軽減する方法について開示している。
特開2009-206741号公報
しかしながら、プッシュ通知を実現するシステムにおいてタイムアウトしたサブスクリプション情報を利用不可にすることには、以下のような課題があった。例えばWebPushにおいて、PSがタイムアウトによりサブスクリプション情報を利用不可としていることをUA又はASが知らない場合が考えられる。この場合にPSが、UAまたはASから既にタイムアウトしたサブスクリプション情報を用いたプッシュ通知の送信要求や待受け要求を受け取ることにより、余分な処理負荷がかかる虞がある。
またUAは、PSから提供されたサブスクリプション情報がタイムアウトによって急に使えなくなることにより、ASからのプッシュ通知を受け取れなくなる虞がある。また、ASは、PSまたはUAから提供されたサブスクリプション情報がタイムアウトによって急に使えなくなることにより、プッシュ通知を行えなくなる虞がある。
本発明は、上記の課題を鑑みてなされたものであり、その目的は、プッシュ通知のための通信を適切な期間、継続できるようにすることである。
この課題を解決するため、例えば、本発明の通信装置は、通知装置から中継装置を介してプッシュ通知を受信する受信手段と、前記受信手段により前記プッシュ通知を受信するためのサブスクリプション情報と、前記サブスクリプション情報の有効期間を示すタイムアウト情報とを、前記中継装置と共有する共有手段と、前記プッシュ通知の受信に応じて、前記共有手段により前記中継装置と共有される前記タイムアウト情報に基づ、前記サブスクリプション情報の有効期間を更新するための更新処理を前記中継装置に対し要求する更新手段と、を備える。
プッシュ通知のための通信を適切な期間継続できる。
実施形態1に係る通信システム100の構成図。 通信装置101のハードウェア構成を示すブロック図。 通信装置101のモジュール構成を示すブロック図。 中継装置102のモジュール構成を示すブロック図。 通知装置103のモジュール構成を示すブロック図。 中継装置102の保持するサブスクリプション情報を示す図。 本実施形態に係る各装置の処理を示すシーケンス図。 通信装置101におけるプッシュ通知の待受け時の処理を示すフローチャート。 通信装置101のプッシュ通知受信時の処理を示すフローチャート。 中継装置102のサブスクライブ処理のフローチャート。 中継装置102のプッシュ通知待受け開始処理を示すフローチャート。 中継装置102のプッシュ通知送受信処理を示すフローチャート。 通知装置103のプッシュ通知送信処理を示すフローチャート。
以下、図面に従って本発明に係る実施形態を詳細に説明する。
<実施形態1>
図1は、実施形態1に係る通信システム100の構成図である。本実施形態では、通信システム100は、1以上の通信装置(通信装置101,104,105)と1以上の通知装置(通知装置103,106)が中継装置102を介して接続されている。以下の説明では、その中の1つの通信装置101と1つの通知装置103との通信に注目して説明を行う。
通信システム100は、通信装置101と、中継装置102と、通知装置103とを備える。通信装置101、中継装置102、通知装置103はそれぞれ有線及び/又は無線で接続され、相互に通信を行って、イベントの通知を行う。
本実施形態において、通信装置101および通知装置103は、HTTP/2(Hypertext Transfer Protocol version 2)において規定されるクライアントとして動作する。中継装置102は、HTTP/2において規定されるサーバとして動作する。すなわち、通信装置101および通知装置103は、中継装置102にHTTPリクエストを送信し、中継装置102は受信したHTTPリクエストに応じて通信装置101および通知装置103にHTTPレスポンスを送信する。
通信装置101および通知装置103は、例えば、デジタルカメラ、デジタルビデオカメラ、ネットワークカメラ、プリンタ、デジタル複合機、デジタルテレビ、プロジェクタ、携帯電話、スマートフォン、PC、及びサーバ装置などである。また、中継装置102は、例えば、携帯電話、スマートフォン、PC、サーバ装置、ネットワークスイッチ、及びルータなどである。
通信装置101、中継装置102および通知装置103は、例えば、LAN(Local Area Network)やWAN(Wide Area Network)、又はそれらの組み合わせにより接続される。LANとしては、Ethernet(登録商標)に則った有線LANや、IEEE(Institute of Electrical and Electronics Engineers)802.11シリーズに則った無線LANなどが用いられる。WANとしては、例えばインターネットなどが用いられる。なお、通信装置101、中継装置102および通知装置103は、Bluetooth(登録商標)やZigbee(登録商標)など他の通信方式に基づいて接続されてもよい。
通信装置101は、WebPushのUA(UserAgent)の機能を持つ。中継装置は、WebPushのPS(PushServer)の機能を持つ。通知装置103は、WebPushのAS(ApplicationServer)の機能を持つ。そして、これらの装置はサブスクリプション情報を共有することで、プッシュ通知を実現する。
WebPushにおけるサブスクリプション情報には、プッシュ通知を識別するためのプッシュURI、プッシュ通知の受信のためのプッシュメッセージサブスクリプションURI、プッシュメッセージサブスクリプションURIをまとめて管理するためのプッシュメッセージサブスクリプションセットURIが含まれている。
通信装置101や通知装置103がNAT(Network Address Translation)やFW(Firewall)を用いたネットワークに接続している場合、通信装置101と通知装置103間で直接通信ができない。このような場合は、他の通信方式(例えば、Bluetooth、WiFi Directのような近接通信や、3G、LTE(Long Term Evolution)のような公衆網)、画像やQRコード(登録商標)を用いてサブスクリプション情報を共有する。また、ユーザが手動で入力してもよい。更に、サブスクリプション情報を直接共有するだけでなく、サブスクリプション情報を管理するための情報管理装置(不図示)から取得するための識別子および鍵情報を利用してもよい。本実施形態では簡単化のために情報管理装置を用いたシステムでは記載していないが、サブスクリプション情報を受け渡す時は、全て情報管理装置に登録、削除、更新を行うことでサブスクリプション情報の取り扱いを行ってもよい。情報管理装置は、例えば、クラウドやサーバ上で管理されるソフトウェアであってもよい。
図2は、通信装置101のハードウェア構成を示すブロック図である。なお、中継装置102および通知装置103も、通信装置101と同様の構成である。
通信装置101は、CPU201と、ROM202と、RAM203と、補助記憶装置204と、表示部205と、操作部206と、通信部207と、バス208とを有する。
CPU201は、ROM202やRAM203に格納されているコンピュータプログラムやデータを用いて通信装置101の全体を制御する。ROM202は、変更を必要としないプログラムやパラメータを格納する。RAM203は、補助記憶装置204から供給されるプログラムやデータ、及び通信部207を介して外部から供給されるデータなどを一時記憶する。補助記憶装置204は、例えばハードディスクドライブ等で構成され、静止画や動画などのコンテンツデータを記憶する。
表示部205は、例えば液晶ディスプレイ等で構成され、ユーザが通信装置101を操作するためのGUI(Graphical User Interface)などを表示する。操作部206は、例えばキーボードやマウス等で構成され、ユーザによる操作を受けて各種の指示をCPU201に入力する。通信部207は、中継装置102や通知装置103などの外部の装置と通信を行う。例えば、通信装置101が外部の装置と有線で接続される場合には、LANケーブル等が通信部207に接続される。なお、通信装置101が外部の装置と無線通信する機能を有する場合、通信部207はアンテナを備える。バス208は、通信装置101の各部を繋いで情報を伝達する。
なお、本実施形態では、CPU201がプログラムを実行することで、通信装置101と外部の装置との、通信部207を介した通信が制御されるが、通信装置101と外部の装置との通信の少なくとも一部を通信部207がハードウェア処理により制御してもよい。また、本実施形態では表示部205と操作部206は通信装置101の内部に存在するが、表示部205及び操作部206の少なくとも一方が通信装置101の外部に別の装置として存在していてもよい。この場合、CPU201が、表示部205を制御する表示制御部、及び操作部206を制御する操作制御部として動作する。
本実施形態では、CPU、RAM、ROMが1つである例を示したが、これに限らず、複数のCPU、RAM、ROMに分散してもよいし、一部の処理をオフロードするための専用ハードウェアを用いてもよい。
図3は、通信装置101のモジュール構成を示すブロック図である。通信装置101のCPU201が図3で示すモジュールの実行を行い、ROM202やRAM203や補助記憶装置204がデータの読み出しや処理した結果のデータの保存を行う。
ソフトウェアインターフェース1000は、各モジュールを接続している。TCP/IP処理部1001は、ネットワークに接続して、TCP/IPのプロトコルスタックの処理を行う。本実施形態ではTCP/IPを用いたが、これに限らず、Bluetoothなど別の方式のプロトコルスタックを用いてもよい。
HTTP処理部1002は、HTTP/1.1およびHTTP/2の処理を実行する。選択部1003は、複数の中継装置102から1つ以上の中継装置を選択する。ユーザ又はアプリケーションを介して、操作部206の操作をもとに選択しても良い。
登録部1004は、中継装置102にサブスクライブを行う。具体的には、プッシュサービスに対するHTTP POSTメッセージを送信する。更新部1005は、中継装置102にサブスクライブの更新要求(サブスクリプション情報のタイムアウト時刻の延長要求を含む)を行う。具体的には、プッシュサービスに対するHTTP PUTメッセージを送信する。
時間管理部1006は、中継装置102からサブスクリプション情報のタイムアウト時刻を取得する。本実施形態では、サブスクライブに関するタイムアウト情報として、タイムアウト時刻を取得しているが、これに限らず、タイムアウトまでの残り時間などを取得してもよい。すなわち、タイムアウト情報は、サブスクリプション情報の有効期間を特定可能な情報であればよい。情報取得部1007は、中継装置102が生成した、サブスクライブに応じたサブスクリプション情報を取得する。すなわち、時間管理部1006及び情報取得部1007は、中継装置102とサブスクリプション情報とサブスクリプション情報のタイムアウト情報とを共有する共有手段として機能する。
情報送信部1008は、通知装置103にサブスクリプション情報の一部(例えば、プッシュURI)を送信する。この際、ネットワークを利用して送信してもよいし、USBやNFCなど他の通信方式またはQRコードを利用して送信してもよい。
保存部1009は、サブスクライブ登録を行っている中継装置のリスト、サブスクリプション情報、タイムアウト時刻を保存する。受信部1010は、通知装置103のプッシュ通知を中継装置102から受信する。
図4は、中継装置102のモジュール構成を示すブロック図である。中継装置102のCPU201が図4で示すモジュールの実行を行い、ROM202やRAM203や補助記憶装置204がデータの読み出しや処理した結果のデータの保存を行う。
ソフトウェアインターフェース1100は、各モジュールを接続している。TCP/IP処理部1101は、ネットワークに接続して、TCP/IPのプロトコルスタックの処理を行う。本実施形態ではTCP/IPを用いたが、これに限らず、Bluetoothなど別の方式のプロトコルスタックを用いてもよい。
HTTP処理部1102は、HTTP/1.1およびHTTP/2の処理を実行する。登録部1103は、通信装置101からのサブスクライブを受け付ける。更新部1104は、通信装置101からのサブスクライブの更新要求を受け付ける。
時間管理部1105は、サブスクリプション情報のタイムアウト情報を管理する。時間管理部1105は、更新部1104のサブスクライブの更新の受け付けに応じて、タイムアウト情報を更新する。本実施形態では、HTTPヘッダにタイムアウト情報を付与して、通信装置101または通知装置103に送ることで、タイムアウト情報をシステム内の装置間で共有する。また、本実施形態では、時間管理部1105は、タイムアウト情報としてタイムアウト時刻を決定するが、これに限らず、タイムアウトまでのカウントや、有効期間を決定してもよい。
情報生成部1106は、通信装置101からのサブスクライブに応じたサブスクリプション情報を生成し、通信装置101に送信することでサブスクリプション情報を共有する。
保存部1107は、サブスクリプション情報、タイムアウト時刻、通信装置101に関する情報、通知装置103に関する情報、プッシュ通知する内容等を保存する。受信部1108は、通知装置103からプッシュ通知を受信する。送信部1109は、通信装置101にプッシュ通知を送信する。完了送信部1110は、通知装置103に対し、通信装置101にプッシュ通知を送信したことを知らせる完了メッセージを送信する。
図5は、通知装置103のモジュール構成を示すブロック図である。通知装置103のCPU201が図5で示すモジュールの実行を行い、ROM202やRAM203や補助記憶装置204がデータの読み出しや処理した結果のデータの保存を行う。
ソフトウェアインターフェース1200は、各モジュールを接続している。TCP/IP処理部1201は、ネットワークに接続して、TCP/IPのプロトコルスタックの処理を行う。本実施形態ではTCP/IPを用いたが、これに限らず、Bluetoothなど別の方式のプロトコルスタックを用いてもよい。HTTP処理部1202は、HTTP/1.1およびHTTP/2の処理を実行する。
情報受信部1203は、通信装置101からのサブスクリプション情報および中継装置の識別子やIPアドレスを受け付ける。送信部1204は、通信装置101に対し中継装置102を介してプッシュ通知を送信する。時間管理部1205は、サブスクリプション情報のタイムアウト時刻を取得する。通信装置101からサブスクリプション情報と一緒にタイムアウト情報を取得しても良いし、中継装置102から取得しても良い。また、時間管理部1205は、プッシュ通知を送信する時刻がタイムアウト時刻よりも前の所定時間以内である場合に、中継装置102に対してサブスクリプション情報の有効期間を更新するための更新処理を要求するようにしてもよい。すなわち、情報受信部1203及び時間管理部1205は、サブスクリプション情報とタイムアウト時刻とを中継装置や通信装置と共有する共有手段として機能する。
保存部1206は、サブスクリプション情報、タイムアウト時刻、通信装置101の情報を保存する。完了受信部1207は、中継装置102から完了メッセージを受信する。上述したように、完了メッセージは、送信部1204がプッシュ通知を中継装置102に送信した後、中継装置102が通信装置101に対しプッシュ通知を送信したことを知らせる旨のメッセージである。
再設定要求部1208は、通信装置101および中継装置102に対し、パラメータエラーであったサブスクライブについての再設定を要求する。
図6は、中継装置102の保持するサブスクリプション情報を示す図である。ここで図示される情報は、中継装置102の保存部1107によって、データベースなどを用いて管理される。
保存部1107は、中継装置102の通信相手として、通信装置101(番号1)、通信装置104(番号2)、通信装置105(番号3)の3つのエントリを保持している。通信装置104と通信装置105は、通信装置101と同じ機能を持ち、中継装置102と通信を行い、プッシュ通知を受信する。
それぞれの通信装置について、サブスクリプション名、サブスクライブの有無、サブスクリプション情報の最終利用時刻、タイムアウト時刻が示されている。そして、現在利用可能か否かをステータスによって判断できる。サブスクリプション名には、プッシュURI、プッシュメッセージサブスクリプションURI、プッシュメッセージサブスクリプションセットURIが含まれる。なお、図6の例では、説明を簡単にするため全てのサブスクリプション名は記載していない。
図7は、本実施形態に係る各装置の処理を示すシーケンス図である。図7を参照して、本実施の形態に係るプッシュ通知を行う各装置の処理について説明する。
通信装置101は、複数ある中継装置から1つを選択し、中継装置102にサブスクライブを送信する(M801)。本実施形態では中継装置は1つであったが、これに限らず、サブスクライブを複数送信することで複数の中継装置にも対応することができる。
中継装置102は、サブスクライブを受信すると、対応するサブスクリプション情報(プッシュURI、プッシュサブスクリプションセットURI、プッシュサブスクリプションURI)を生成する。そして、サブスクリプション情報と、そのタイムアウト時刻を通信装置101に送信する(M802)。本実施形態では、サブスクリプション情報を中継装置102が全て生成していたが、これに限らず、サブスクリプション情報の一部または全部を通信装置101が生成してもよい。
通信装置101は、通知装置103に中継装置102のアドレスおよびサブスクリプション情報の一部(プッシュURI)、サブスクリプション情報のタイムアウト時刻を送信する(M803)。この例では、通信装置101は通知装置103と直接送信しているが、これに限らず、中継装置102や他の装置(不図示)を介して通信してもよいし、USBメモリやQRコードを介した通信を行ってもよい。
通信装置101は、中継装置102のアドレスとサブスクリプション情報を用いて、中継装置102に接続する(M804)。通信装置101は、HTTP/2を用いて接続し、通知装置103からのプッシュ通知が中継装置102を介して送られてくるのを待受ける。
通知装置103は、通信装置101から受信した中継装置102のアドレスとサブスクリプション情報の一部を用いて、中継装置102に接続する(M805)。通知装置103は、HTTP/2を用いて接続し、プッシュ通知が通信装置101に送られたかどうかを示す情報を受け取るための接続を行う。
通知装置103は、中継装置102に通信装置101向けのプッシュ通知を送信する(M806)。中継装置102は、サブスクリプション情報に基づいて、受信したデータが通信装置101向けのプッシュ通知であると判断し、中継装置102は通信装置101に対しプッシュ通知を送信する(M807)。このようにして、通信装置101は中継装置102を介して通知装置103からプッシュ通知を受信することができる。中継装置102は、通信装置101にプッシュ通知を送信した旨を示す情報を通知装置103に送信する(M808)。
通信装置101は、プッシュ通知を受信した時刻が、タイムアウト時刻より前の所定時間以内であれば、すなわちサブスクリプション情報の有効期間の終了までの時間が所定時間未満であれば、中継装置102にサブスクリプション情報の更新を要求する(M809)。また、通信装置101は、何らかの理由でサブスクリプション情報を送信出来なかった(エラー)場合、その時刻がタイムアウト時刻以前であればリトライを行う。タイムアウト時刻が経過していたときは、再度サブスクライブを行う。
通知装置103は、プッシュ通知を送信する時刻が、タイムアウト時刻より前の所定時間以内であれば、中継装置102にサブスクリプション情報の更新を要求する(M810)。また、通知装置103は、何らかの理由でサブスクリプション情報を送信出来なかった(エラー)場合、その時刻がタイムアウト時刻以前であればリトライを行う。タイムアウト時刻が経過していたときは、通信装置101にサブスクライブの再実行の要求を行う(不図示)。通信装置101が、サブスクリプション情報を削除すると決定した場合、中継装置102にサブスクリプション情報の削除要求を送信する(M811)。
なお、本実施形態では、通信装置101と通知装置103がどちらもサブスクリプション情報の更新要求を行ったが、これに限らず、どちらか片方だけであってもよい。また、この例では、サブスクリプション情報の更新を、サブスクリプション情報がタイムアウトする時刻より前の一定時間以内で行っているが、どのようなタイミングで更新処理を行うかは、システム内の装置間で予め決定されていてもよい。また、更新処理のタイミングは、システム内の装置に対するユーザの操作に基づいて指定されてもよい。また、図7の例では簡単化のために、データの送受信を1つの線で記載しているが、複数のパケットやフレームに分割して送信することもできる。
図8は、通信装置101におけるプッシュ通知の待受け開始時の処理を示すフローチャートである。図8に示す処理は、ユーザ又はアプリケーションがプッシュ通知の待受けを開始するタイミングで開始される。ただし、図8に示す処理の開始タイミングは上記タイミングに限定されない。また、図8に示す処理は、CPU201がROM202に格納されたプログラムをRAM203に展開して実行し、通信装置101の各モジュール(図3参照)を機能させることで実現される。なお、図8に示す処理の少なくとも一部を、CPU201とは異なる専用のハードウェアにより実現してもよい。
ステップS301において、選択部1003は、ユーザまたはアプリケーションの指示によってプッシュ通知の中継を行うための中継装置を決定する。通信装置101は、複数の中継装置102のURLやIPアドレスやポート番号などアドレスを解決するための識別子をROM202、RAM203、補助記憶装置204に保持しており、そのうち一つを選択する。本実施形態では、アドレスを内部に保持していたが、これに限らず、外部の例えばDDNS(Dynamic Updates in the Domain Name System)を用いて取得してもよい。説明を簡略化するために、1つの中継装置102に接続しているが、これに限らず、複数の中継装置102のアドレスを選択し接続してもよい。
ステップS302において、HTTP処理部1002は、TCP/IP処理部1001を介してHTTP/2を用いて中継装置102に接続する。
ステップS303において、登録部1004はプッシュ通知の受付を登録するためのサブスクライブを中継装置102に送信する
ステップS304において、情報取得部1007は、中継装置102からサブスクリプション情報を取得する。前述したように、WebPushにおけるサブスクリプション情報には、プッシュ通知を識別するためのプッシュURI、プッシュ通知の受信のためのプッシュメッセージサブスクリプションURI、プッシュメッセージサブスクリプションURIをまとめて管理するためのプッシュメッセージサブスクリプションセットURIが含まれている。なお、本実施形態では、サブスクリプション情報は中継装置102から取得しているが、これに限らず、通信装置101または通知装置103が一部のサブスクリプション情報を生成しても実現できる。また、サブスクリプション情報の識別子などが重なった場合、サブスクリプション情報の再生成処理を行う。
また、ステップS304で時間管理部1006は、中継装置102からサブスクリプション情報のタイムアウト時刻を取得する。本実施形態では、中継装置102からタイムアウト時刻を取得していたが、通信装置101または通知装置103がタイムアウト時刻を指定してもよい。
ステップS305において、情報送信部1008は、サブスクリプション情報の一部であるプッシュ通知情報(プッシュURI)、中継装置の識別子(例えば、FQDN)やアドレス、タイムアウト時刻を通知装置103に送信する。
ステップS306において、受信部1010は、サブスクリプション情報に含まれるプッシュメッセージサブスクリプションURIまたはプッシュメッセージサブスクリプションセットURI、中継装置102のアドレスを用いて中継装置102に接続する。
ステップS307において、受信部1010は、ステップS306での接続に応じて中継装置102から返答されたステータスコードを受信する。受信部1010が中継装置102のステータスコードからサブスクリプション情報が既に失効していると判断する(ステップS307において、「失効」)と、サブスクリプション情報を再取得するために処理はステップS304に戻る。受信部1010が中継装置102に接続できない(例えば、アドレスが変わっている、URIが不正であるなど)とエラーとして判断(ステップS307において、「エラー」)し、再度サブスクライブするために処理はステップS301に戻る。
受信部1010が中継装置102からプッシュURIを含むプッシュ通知の予約を受信すると成功と判断(ステップS307において、「OK」)し、ステップS308において、プッシュ通知の待受けを開始(図9において詳述)して処理を終了する。
図9は、通信装置101のプッシュ通知受信時の処理を示すフローチャートである。ステップS321において、受信部1010は、プッシュ通知を受信する。ステップS322において、登録部1004は、サブスクライブ(サブスクリプション情報)の更新を行うか否かの判断を行う。
登録部1004は、サブスクライブの更新を行わないと判断した場合(ステップS322においてNo)、処理は終了する。例えば、受信時刻がタイムアウト時刻より前であって、タイムアウト時刻まで一定時間以上ある場合などは、サブスクライブの更新処理をスキップすることで、システム全体の処理を軽減できる。登録部1004は、サブスクライブの更新を行うと判断した場合(ステップS322においてYes)、処理はステップS323に進む。例えば、タイムアウト時刻とプッシュ通知を受信した時刻とを比較し、タイムアウト時刻以降であればサブスクライブの更新処理を行う。また、受信時刻がタイムアウト時刻より前であって、タイムアウト時刻と受信時刻との差が一定時間以内の場合に更新処理を行うようにしてもよい。
ステップS323において、更新部1005は、中継装置102に対しサブスクライブの更新を要求する。具体的には、プッシュサービスに対するHTTP PUTメッセージを送信する。サブスクライブの更新は、プッシュメッセージサブスクリプションURIおよびプッシュメッセージサブスクリプションセットURIのどちらに対しても更新を行うことができる。本実施形態は、HTTP PUTメッセージによる更新を行ったがこれに限らず、他のHTTPリクエストを用いても良い。また他のプロトコルによる実施形態の場合、プロトコルに準拠した更新メッセージを利用してもよい。
ステップS324において、更新部1005は、更新要求に対して、中継装置102からの返答でエラーを受信したか否かを判断する。エラーを受信していないと判断(ステップS324においてNo)すると、ステップS325において、時間管理部1006は中継装置102からタイムアウト時刻を取得し、処理は終了する。一方、更新部1005は、中継装置102からエラーを受信したと判断(ステップS324においてYes)すると、ステップS326において更新部1005はエラーの内容について判断する。タイムアウトによりサブスクリプション情報が失効している旨のエラーの場合(ステップS326において「失効」)、登録部1004は、サブスクリプション情報の削除(サブスクライブの解除)を行う。プッシュメッセージURIにHTTP DELETEを送信することでサブスクライブの解除を実現する。
一方、サブスクリプション情報が検索できない等のパラメータエラーである場合(ステップS326において「パラメータエラー」)、ステップS328において、通信装置101は、待ち受け開始処理(図8に示す処理フロー)を再度開始し、処理は終了する。
なお、サブスクライブの解除処理(アンサブスクライブ)の実行は、タイムアウトしているか否かで判断する方法に限らず、通信装置101において所定のユーザ操作が行われたことに応じて実行してもよい。
図10は、中継装置102のサブスクライブ処理のフローチャートである。
ステップS401で、HTTP処理部1102はTCP/IP処理部1101を介して、通信装置101からのHTTP/2の接続を開始する。
ステップS402で、登録部1103は通信装置101からのサブスクライブを受け付ける。
ステップS403で、登録部1103は受け付けたサブスクライブの種類を判断する。ここで、登録部1103が通信装置101からHTTP POSTを受け付けた場合、サブスクライブの種類は「登録」であると判断し(ステップS403において「登録」)と、処理はステップS404に進む。
登録部1103は、通信装置101からHTTP PUTを受け付けた場合、サブスクライブの種類は「更新」であると判断し(ステップS403において「更新」)、処理はステップS407に進む。
登録部1103は、通信装置101からHTTP DELETEを受け付けた場合、サブスクライブの種類は「削除」であると判断し(ステップS403において「削除」)と、処理はステップS411に進む。
ステップS404では、情報生成部1106は、通信装置101のサブスクライブに応じてサブスクリプション情報を生成する。このサブスクリプション情報は、サブスクライブの要求毎に生成しても良いし、通信装置101毎に生成しても良いし、HTTPクライアント認証等を用いて通信装置101に対応するHTTPクライアント毎に生成しても良い。
ステップS405では、送信部1109は、通信装置101にサブスクリプション情報の送信を行う。ステップS406では、受信部1108は、通知装置103から送信されるプッシュ通知の待受けを開始する(図11において詳述。)
サブスクライブの種類が「更新」であった場合(ステップS403において「更新」)、ステップS407で、更新部1104は、サブスクライブの更新要求に対応するサブスクリプション情報が保存部1107内に保存されているかの確認を行う。対応する情報があると判断する(ステップS407において、Yes)と、処理はステップS408に進む。対応する情報がないと判断する(ステップS407において、No)と、処理はステップS410に進む。
ステップS408では、時間管理部1105および保存部1107は、サブスクライブの更新要求に対応するサブスクリプション情報のタイムアウト時刻を更新する。例えば、タイムアウトする時刻を所定時間延長させる。ここで、タイムアウト時刻だけでなく、サブスクリプション情報の一部の情報(例えば、URI)を更新してもよい。これにより、サブスクリプション情報に含まれるURIを更新することができ、URIを変更したい時の再取得処理を低減することができる。
ステップS409では、更新部1104は通信装置101にサブスクリプション情報のタイムアウト時刻を送信する。更新部1104は、サブスクリプション情報の一部も更新していれば、その情報も通信装置101に送信してもよい。
一方、更新部1104が、サブスクライブの更新要求に対応する情報がないと判断した場合(ステップS407において、No)、ステップS410において、更新部1104は、通信装置101にサブスクライブの更新のエラー情報を送信する。このエラー情報には、サブスクライブの更新に利用したURIについてのエラー、更新不可を示すエラー、既にサブスクライブがタイムアウトしている旨のエラー(失効)などが分類できるステータスコードを含む。
サブスクライブの種類が「削除」であった場合(ステップS403において「削除」)、ステップS411で、更新部1104は、サブスクリプション情報を削除(利用不可に)する。そして、削除完了のメッセージを通信装置101に送信し、処理を終了する。
図11は、中継装置102のプッシュ通知待受け開始処理を示すフローチャートである。
ステップS501では、受信部1108は、通信装置101からプッシュ通知の待受け開始メッセージを受信する。待受け開始メッセージは、プッシュメッセージサブスクリプションURIに対するHTTP GETにより実現する。ここで受信部1108は、通信装置101からサブスクリプション情報の一部(例えば、プッシュメッセージサブスクリプションURI)を受信する。
ステップS502では、時間管理部1105および保存部1107は、ステップS501で受信したサブスクリプション情報の一部からサブスクリプション情報を検索し、サブスクリプション情報に関連付けられたタイムアウト時刻を取得する。
ステップS503では、時間管理部1105および保存部1107はサブスクリプション情報が検索できたか、タイムアウトしているかにより、サブスクリプション情報が利用可能か否かの判断を行う。時間管理部1105および保存部1107は、サブスクリプション情報が検索でき、かつ、タイムアウトしていない場合、利用可能であると判断し(ステップS503において、「利用可能」)、処理はステップS504に進む。時間管理部1105および保存部1107は、サブスクリプション情報が検索できない、または、タイムアウトしている場合、エラーとして判断し(ステップS503において、「エラー」)、処理はステップS506に進む。
ステップS504では、受信部1108は、通知装置103からのプッシュ通知の待受けを開始する。
ステップS505では、送信部1109は通信装置101に送信すべきプッシュ通知が保存されているか保存部1107に確認し、保存されていれば通信装置101に送信する。本実施形態では、送信部1109は待受けを開始する要求に含まれるサブスクリプション情報と関連づけられたプッシュURIに対応するプッシュ通知があるか否かを確認する。このプッシュ通知は、通知装置103が送信するものであってもよいし、中継装置102が送信するものであってもよい。例えば、利用規約のような接続時に必ず表示させたいメッセージのプッシュ通知などに用いることができる。
一方、時間管理部1105および保存部1107がエラーと判断した場合(ステップS503において、「エラー」)、ステップS506において、保存部1107は、エラーの内容について判断する。
保存部1107は、サブスクリプション情報が検索できないパラメータのエラーであると判断する(ステップS506において、「パラメータエラー」)と、ステップS507において、送信部1109はパラメータのエラーを示すステータスコードを含むHTTPレスポンスを通信装置101に送信する。一方、時間管理部1105がタイムアウトのエラーであると判断する(ステップS506において「失効」)と、ステップS508において、送信部1109はタイムアウトのエラーを示すステータスコードを含むHTTPレスポンスを通信装置101に送信し、処理は終了する。
図12は、中継装置102のプッシュ通知送受信処理を示すフローチャートである。
ステップS601では、受信部1108は、通知装置103からプッシュ通知を受信する。このプッシュ通知はプッシュURIに対するHTTP POSTで実現される。
ステップS602では、保存部1107は、受信したプッシュ通知に含まれるプッシュURIからサブスクリプション情報を検索する。保存部1107は、サブスクリプション情報が検索でき、かつ、タイムアウトしていない場合、そのサブスクリプション情報が利用可能であると判断し(ステップS602において、「利用可能」)、処理はS603に進む。保存部1107はサブスクリプション情報が検索できない、または、タイムアウトしている場合、エラーとして判断し(ステップS602において、「エラー」)と、処理はステップS606に進む。なお、ステップS606~S608は、上述のステップS506~S508と同様の処理であるから、説明は省略する。
ステップS603では、登録部1103はサブスクリプション情報に関連するプッシュ通知の待受け開始がされているかの判断を行う。登録部1103がプッシュ通知の待受けを行っていないと判断する(ステップS603において、No)と、ステップS604において、保存部1107はプッシュ通知の保存を行う。一方、登録部1103がプッシュ通知の待受けを行っていると判断する(ステップS603において、Yes)と、ステップS605において、送信部1109は対応する通信装置101にプッシュ通知を送信する。
次いで、ステップS609では、完了送信部1110は、プッシュ通知が通信装置101に送信されたことを示す完了通知を通知装置103に送信し、処理は終了する。
次に、図13において通知装置103のプッシュ通知送信処理について説明するが、プッシュ通知の送信に先立って、通知装置103で行われる処理について述べる。通知装置103の情報受信部1203は通信装置101からサブスクリプション情報およびサブスクリプション情報のタイムアウト時刻を受信する。保存部1206は受信した情報を保存する。送信部1204はプッシュ通知が中継装置102によって通信装置101に送信されたことを示す完了通知を受け取るために、レシートサブスクリプションURIに対してHTTP GETを送信する。通知装置103は、中継装置102からプッシュメッセージURIを含むPUSH_PROMISEを受信する。その後、通知装置103はプッシュ通知の完了を受信することができる。
図13は、通知装置103のプッシュ通知送信処理を示すフローチャートである。ステップS700では、HTTP処理部1202はTCP/IP処理部1201を介して、通知装置103のHTTP/2の接続を開始する。
ステップS701では、送信部1204は、プッシュ通知に係るサブスクリプション情報がタイムアウトしているか否かを判断する。例えば、現在時刻がタイムアウト時刻以降であるときは、タイムアウトしていると判断し(ステップS701においてYes)、処理はステップS708に進む。なお、タイムアウトしているか否かの判断は、プッシュ通知送信時に限らず、常時監視する構成にしてもよい。
タイムアウトしていないと判断した場合(ステップS701においてNo)、ステップS702では、送信部1204は中継装置102にプッシュ通知を送信する。プッシュ通知の送信は、プッシュURIに対して、HTTP POSTを送信することで実現する。
ステップS703では、送信部1204はプッシュ通知の送信のHTTPリクエストに対する中継装置102からのHTTPレスポンスのステータスコードを確認する。送信部1204は、プッシュ通知が送信できたと判断する(ステップS703において「OK」)と、ステップS704において時間管理部1205は中継装置102から、サブスクリプション情報のタイムアウト時刻を取得する。なお、時間管理部1205は、タイムアウト時刻の取得に代えて、又はタイムアウト時刻の取得と併せて、サブスクリプション情報の更新を要求してもよい。一方、送信部1204は、プッシュ通知が送信できなかったと判断する(ステップS703において「NG」)と、ステップS705においてエラー内容を確認する。
送信部1204はサブスクリプション情報がタイムアウトしていることを示すステータスコードを受信したと判断すると(ステップS705において「失効」)と、ステップS706においてプッシュ通知の送信を中止する。次いで、ステップS707において、保存部1107は送信できなかったプッシュ通知に関連するサブスクリプション情報を削除し、処理を終了する。
また、送信部1204はサブスクリプション情報のパラメータがエラーであると判断すると(ステップS705において「パラメータエラー」)、ステップS708において、再設定要求部1208は通信装置101および中継装置102にサブスクリプション情報の再設定(サブスクライブの再実行)の要求を送信する。送信部1204は再設定されたサブスクリプション情報を用いて、プッシュ通知を行う(ステップS702)。
なお、ステップS703において、ステータスコードがOKの場合であっても、ユーザやアプリケーションの指示やセキュリティ観点からサブスクリプション情報の再設定を行ってもよい。本実施形態ではサブスクリプション情報の再設定のために、通信装置101および中継装置102に要求を送信したが、これに限らず、どちらか片方だけに送信してもよい。
以上、本発明の一実施形態を示した。本実施形態における通信装置101、中継装置102、通知装置103は、HTTP/2において規定されるコネクション及びストリームを使用してフレームの送受信を行うことで通信する。しかしながら、通信装置はHTTP/2方式の通信を行うものに限定されない。例えば、通信装置はWebSocketやQUIC(Quick UDP Internet Connections)などの他の通信規格に従って通信を行ってもよい。この場合に通信装置は、各規格に応じた形式のメッセージや論理的な接続を使用して通信を行う。
また本実施形態ではWebPushに適用した例を説明したが、これに限らず、プッシュ通知を送受信するためのその他のシステムやプロトコルに適用することができる。
本実施の形態では、通信装置および通知装置は、中継装置からサブスクリプション情報のタイムアウト時刻を取得し、サブスクリプション情報の更新要求を行うことができる。これにより、サブスクリプション情報のタイムアウト情報を共有して、プッシュ通知のための通信を適切な期間継続することができる。
また、WebPushのようなシステムでは、UAとASは直接通信できる状態でない場合がある。例えば、間接的な通信を行う場合や、UAやASがNAT下にあり、グローバルからのアクセスができないような場合には、UAとASとの間でサブスクリプション情報を動的に更新することができないことが考えられる。本実施形態では、中継装置が通信装置及び通知装置とサブスクリプション情報のタイムアウト情報の更新と共有のための通信を行うことで、通信装置と通知装置との間でもサブスクリプション情報を動的に更新することができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC等)によっても実現可能である。また、そのプログラムをコンピュータにより読み取り可能な記録媒体に記録して提供してもよい。
101 通信装置、102 中継装置、103 通知装置、1001 TCP/IP処理部、1002 HTTP処理部、1004 登録部、1005 更新部、1006 時間管理部、1007 情報取得部、1008 情報送信部、1009 保存部、1010 受信部。

Claims (16)

  1. 通知装置から中継装置を介してプッシュ通知を受信する受信手段と、
    前記受信手段により前記プッシュ通知を受信するためのサブスクリプション情報と、前記サブスクリプション情報の有効期間を示すタイムアウト情報とを、前記中継装置と共有する共有手段と、
    前記プッシュ通知の受信に応じて、前記共有手段により前記中継装置と共有される前記タイムアウト情報に基づ、前記サブスクリプション情報の有効期間を更新するための更新処理を前記中継装置に対し要求する更新手段と、を備えることを特徴とする通信装置。
  2. 前記共有手段は、前記中継装置にサブスクライブを行って、前記中継装置から前記サブスクリプション情報を取得することを特徴とする請求項1に記載された通信装置。
  3. 前記サブスクリプション情報を生成する生成手段をさらに備え、
    前記共有手段は、前記生成したサブスクリプション情報を前記中継装置と共有することを特徴とする請求項1に記載された通信装置。
  4. 前記共有手段は、前記更新処理に応じて更新された前記タイムアウト情報を取得することを特徴とする請求項1から請求項のいずれか一項に記載された通信装置。
  5. 前記更新手段は、前記サブスクリプション情報の有効期間の終了までの時間が所定時間未満である場合において、前記更新処理を要求する、ことを特徴とする請求項1から請求項のいずれか一項に記載された通信装置。
  6. 前記更新手段は、前記サブスクリプション情報に含まれる、プッシュ通知の受信のための識別子を用いて、前記更新処理の要求を行う、ことを特徴とする請求項1から請求項のいずれか一項に記載された通信装置。
  7. 前記サブスクリプション情報の少なくとも一部と共に、前記中継装置のアドレスを前記通知装置へ送信する送信手段をさらに備える、ことを特徴とする請求項1から請求項のいずれか一項に記載された通信装置。
  8. 前記通知装置および前記中継装置とは、HTTP/2を用いて通信する、ことを特徴とする請求項1から請求項のいずれか一項に記載された通信装置。
  9. 前記タイムアウト情報は、HTTPヘッダに付与されることを特徴とする請求項に記載の通信装置。
  10. 通信装置へ中継装置を介してプッシュ通知を送信する通知装置であって、
    前記プッシュ通知を前記通信装置へ送信するためのサブスクリプション情報と、前記サブスクリプション情報の有効期間を示すタイムアウト情報とを、前記通信装置と共有する共有手段と、
    前記共有手段により共有される前記サブスクリプション情報と前記タイムアウト情報とに基づいて、前記プッシュ通知を送信する送信手段と、
    前記送信手段による前記プッシュ通知の送信に応じて、前記中継装置から更新されたタイムアウト情報を取得する取得手段と、を備えることを特徴とする通知装置。
  11. 通知装置から受信したプッシュ通知を通信装置に送信する送信手段と、
    前記送信手段により前記プッシュ通知を送信するためのサブスクリプション情報と、前記サブスクリプション情報の有効期間を示すタイムアウト情報とを、前記通信装置と共有する共有手段と、
    前記通信装置が、前記送信手段により送信された前記プッシュ通知の受信に応じて、前記共有手段により前記通信装置と共有されている前記タイムアウト情報に基づいて発行した、前記サブスクリプション情報の有効期間を更新するための更新要求に応じて、前記タイムアウト情報を更新する更新手段と、を備えることを特徴とする中継装置。
  12. 中継装置を介して通知装置から通信装置へプッシュ通知される通信システムであって、
    前記中継装置と前記通信装置との間で、前記プッシュ通知のためのサブスクリプション情報と前記サブスクリプション情報の有効期間を示すタイムアウト情報とを共有する共有手段と、
    前記サブスクリプション情報と前記タイムアウト情報を前記通信装置から前記通知装置に送信する送信手段と、
    前記サブスクリプション情報に従って、前記通知装置からの前記プッシュ通知を、前記中継装置を介して前記通信装置へ通知する通知手段と、
    前記通信装置が、前記プッシュ通知の受信に応じて、前記タイムアウト情報に基づ前記サブスクリプション情報の有効期間を更新するための更新処理を前記中継装置に対し要求する要求手段と、を備えることを特徴とする通信システム。
  13. 通知装置から中継装置を介してプッシュ通知を受信する受信工程と、
    前記受信工程により前記プッシュ通知を受信するためのサブスクリプション情報と、前記サブスクリプション情報の有効期間を示すタイムアウト情報とを、前記中継装置と共有する共有工程と、
    前記プッシュ通知の受信に応じて、前記共有工程により前記中継装置と共有される前記タイムアウト情報に基づ、前記サブスクリプション情報の有効期間を更新するための更新処理を前記中継装置に対し要求する更新工程と、を備えることを特徴とする通信装置の制御方法。
  14. 通信装置へ中継装置を介してプッシュ通知を送信する通知装置の制御方法であって、
    前記プッシュ通知を前記通信装置へ送信するためのサブスクリプション情報と、前記サブスクリプション情報の有効期間を示すタイムアウト情報とを、前記通信装置と共有する共有工程と、
    前記共有工程により共有される前記サブスクリプション情報と前記タイムアウト情報とに基づいて、前記プッシュ通知を送信する送信工程と、
    前記送信工程による前記プッシュ通知の送信に応じて、前記中継装置から更新されたタイムアウト情報を取得する取得工程と、を備えることを特徴とする通知装置の制御方法。
  15. 通知装置から受信したプッシュ通知を通信装置に送信する送信工程と、
    前記送信工程により前記プッシュ通知を送信するためのサブスクリプション情報と、前記サブスクリプション情報の有効期間を示すタイムアウト情報とを、前記通信装置と共有する共有工程と、
    前記通信装置が、前記送信工程により送信された前記プッシュ通知の受信に応じて、前記共有工程により前記通信装置と共有されている前記タイムアウト情報に基づいて発行した、前記サブスクリプション情報の有効期間を更新するための更新要求に応じて、前記タイムアウト情報を更新する更新工程と、を備えることを特徴とする中継装置の制御方法。
  16. コンピュータに、請求項13から請求項15のいずれか一項に記載の制御方法を実行させるためのプログラム。
JP2017235287A 2017-12-07 2017-12-07 通信装置、通知装置、中継装置、通信システム、各装置の制御方法、および、プログラム Active JP6998746B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017235287A JP6998746B2 (ja) 2017-12-07 2017-12-07 通信装置、通知装置、中継装置、通信システム、各装置の制御方法、および、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017235287A JP6998746B2 (ja) 2017-12-07 2017-12-07 通信装置、通知装置、中継装置、通信システム、各装置の制御方法、および、プログラム

Publications (3)

Publication Number Publication Date
JP2019101976A JP2019101976A (ja) 2019-06-24
JP2019101976A5 JP2019101976A5 (ja) 2021-01-21
JP6998746B2 true JP6998746B2 (ja) 2022-01-18

Family

ID=66977048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017235287A Active JP6998746B2 (ja) 2017-12-07 2017-12-07 通信装置、通知装置、中継装置、通信システム、各装置の制御方法、および、プログラム

Country Status (1)

Country Link
JP (1) JP6998746B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182843A1 (en) 2004-01-20 2005-08-18 Microsoft Corporation Computer system instrumentation information
JP2006319500A (ja) 2005-05-11 2006-11-24 Seiko Epson Corp 画像処理システム、デバイスドライバ、画像処理システムの制御方法、プログラムおよび記録媒体
JP2007282701A (ja) 2006-04-13 2007-11-01 Nippon Telegr & Teleph Corp <Ntt> 生体情報収集システム
JP2017212644A (ja) 2016-05-26 2017-11-30 キヤノン株式会社 通信装置、システム、情報処理方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182843A1 (en) 2004-01-20 2005-08-18 Microsoft Corporation Computer system instrumentation information
JP2006319500A (ja) 2005-05-11 2006-11-24 Seiko Epson Corp 画像処理システム、デバイスドライバ、画像処理システムの制御方法、プログラムおよび記録媒体
JP2007282701A (ja) 2006-04-13 2007-11-01 Nippon Telegr & Teleph Corp <Ntt> 生体情報収集システム
JP2017212644A (ja) 2016-05-26 2017-11-30 キヤノン株式会社 通信装置、システム、情報処理方法及びプログラム

Also Published As

Publication number Publication date
JP2019101976A (ja) 2019-06-24

Similar Documents

Publication Publication Date Title
US9883543B2 (en) Method of connecting to device and apparatus for supporting Wi-Fi direct for performing the method
JP6024167B2 (ja) 要求処理システム
JP2010282610A (ja) ネットワークシステム及びその管理方法
EP2285049B1 (en) Communication system having management apparatus and user apparatus, management apparatus, user apparatus, and method of controlling the same
US8169641B2 (en) Servers and computer readable media, methods, and systems including or employing servers to perform one-to-one communication between devices on different networks
JP6242051B2 (ja) 通信装置、通信装置の制御方法、プログラム
KR102312994B1 (ko) 홈 네트워크 서비스를 제공하기 위한 장치 및 그 방법
JP6866191B2 (ja) 通信装置、通信制御方法およびプログラム
JP2014179739A (ja) 通信装置、通信装置の制御方法、及びプログラム
US9313345B2 (en) Information processing apparatus, system, and control method for information processing apparatus
JP2016197466A (ja) サーバ装置、要求処理システムおよび電子機器
JP2014165602A (ja) 通信装置、その制御方法、プログラム
JP2015228112A (ja) 通信機器、その制御方法、プログラム
JP5171392B2 (ja) 通信システム、情報保有装置、および管理装置
JP6998746B2 (ja) 通信装置、通知装置、中継装置、通信システム、各装置の制御方法、および、プログラム
KR20110107475A (ko) 단말 관리 서비스를 제공하는 중개 단말 및 방법
JP5915314B2 (ja) 通信装置
JP6158667B2 (ja) サーバ装置、端末装置、通信方法およびコンピュータプログラム
JP2014160319A (ja) 通信装置、通信装置の制御方法、プログラム
US20140280724A1 (en) Relay Server System
JP2008152648A (ja) データ処理装置
JP2017037531A (ja) 通信装置及びその制御方法ならびにプログラム
EP2874069A1 (en) Method and apparatus for managing personal information in communication system
JP6519342B2 (ja) 通信システム、通信中継装置およびプログラム
JP7293268B2 (ja) 通信装置及びその制御方法、並びにプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201202

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211005

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211221

R151 Written notification of patent or utility model registration

Ref document number: 6998746

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151