JP2021152796A - Method of making push notification to a plurality of applications running on printer - Google Patents
Method of making push notification to a plurality of applications running on printer Download PDFInfo
- Publication number
- JP2021152796A JP2021152796A JP2020053173A JP2020053173A JP2021152796A JP 2021152796 A JP2021152796 A JP 2021152796A JP 2020053173 A JP2020053173 A JP 2020053173A JP 2020053173 A JP2020053173 A JP 2020053173A JP 2021152796 A JP2021152796 A JP 2021152796A
- Authority
- JP
- Japan
- Prior art keywords
- application
- push
- printer
- data
- push notification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
Description
プリンタ上で動作する複数のアプリケーションにプッシュ通知する方法、及びプログラム How to push notifications to multiple applications running on the printer, and programs
近年、サーバーがクライアントにサービスを提供するクラウドコンピューティングの形態が注目を集めている。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を分散並列処理により並行して処理することが主な特徴である。このクラウドコンピューティングを実現するクラウドコンピューティング環境上にWebサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。クラウドサービスの開発において、すでにWeb上に多く提供されているサービスを有効活用し新しい機能を提供することで、開発スピードや開発コストの面で優位になる。 In recent years, the form of cloud computing in which a server provides a service to a client has attracted attention. The main feature of cloud computing is that it uses many computing resources to perform data conversion and data processing in a distributed manner, and requests from many clients are processed in parallel by distributed parallel processing. Vendors that implement Web services on the cloud computing environment that realizes this cloud computing and provide a wide variety of services are becoming crowded. In the development of cloud services, by effectively utilizing the services already provided on the Web and providing new functions, it will be superior in terms of development speed and development cost.
MFP(MultiFunctionPrinter)と連携するクラウドサービスにおいても機能毎にクラウドサービスを開発し、MFP上のアプリケーションが機能実現に必要なクラウドサービスを活用する構成がとられるようになってきた。 Even in the cloud service linked with the MFP (MultiFactionPrinter), the cloud service has been developed for each function, and the application on the MFP has come to be configured to utilize the cloud service necessary for realizing the function.
しかし、MFP上の複数のアプリケーションがそれぞれ個別にクラウドサービス連携を行うと開発コストが別々にかかり、またMFPのリソース(通信リソース、メモリー、CPUなど)を多く消費してしまう。そこで複数のアプリケーションで共通となるプッシュ通知を共通機構にすることが考えられるが、プッシュ通知をどのアプリケーションに通知すればよいのかわからないという課題があった。 However, if a plurality of applications on the MFP individually link with the cloud service, the development cost will be different and the MFP resources (communication resources, memory, CPU, etc.) will be consumed. Therefore, it is conceivable to use a common mechanism for push notifications that are common to a plurality of applications, but there is a problem that it is not clear to which application the push notifications should be notified.
従来、サーバーのアドレス(URL)のみをプッシュ通知することで様々なサーバーの情報をプリンタの画面に表示する方法が開示されている(例えば、特許文献1参照)。 Conventionally, a method of displaying various server information on a printer screen by push-notifying only a server address (URL) has been disclosed (see, for example, Patent Document 1).
従来技術ではサーバーのアドレス(URL)のみをプッシュ通知することで柔軟にサーバーと連携することができるが、プリンタ内のどのアプリケーションが必要とするアドレス(URL)なのか判別がつかない。 In the conventional technology, it is possible to flexibly cooperate with the server by push-notifying only the address (URL) of the server, but it is not possible to determine which application in the printer needs the address (URL).
プリンタ内で複数アプリケーションが動作するMFP(Multi Function Printer)において、サーバー側の変更をプリンタにプッシュ通知してもプリンタ内にインストールされているどのアプリケーションに通知すればわからないという課題があった。 In an MFP (Multifunction Printer) in which a plurality of applications run in a printer, there is a problem that even if a server-side change is notified to the printer by push notification, it is not possible to notify which application installed in the printer.
本発明は、プリンタはプリンタ内どのアプリケーションにプッシュ通知を伝えればいいか特定できるプッシュ通知システムを提供することを目的とする。 An object of the present invention is to provide a push notification system that allows a printer to specify to which application in the printer the push notification should be transmitted.
上記目的を達成するために、本発明は、プリンタ上に複数アプリケーションが動作し、それらのアプリケーションへのプッシュ通知を管理するプッシュ通知システムにおいて、プッシュ通知サーバーは、前記プリンタと前記プリンタ上で動作するアプリケーション毎にプッシュデータの更新を受け付け、前記プリンタと前記プリンタ上で動作するアプリケーション毎にプッシュデータを保持する手段を有し、前記プリンタの識別子であるデバイスIDと前記プリンタ上で動作するアプリケーション識別子を前記プッシュデータとともにプッシュ通知することを特徴とする。 In order to achieve the above object, the present invention is a push notification system in which a plurality of applications run on a printer and manage push notifications to those applications, and the push notification server operates on the printer and the printer. It has a means for accepting updates of push data for each application and holding push data for each of the printer and the application running on the printer, and has a device ID which is an identifier of the printer and an application identifier which operates on the printer. It is characterized in that a push notification is performed together with the push data.
本発明によれば、プッシュ通知サーバー がプッシュデータをプリンタとそのプリンタで動作するアプリケーション単位に管理する。プッシュデータにアプリケーション識別子を含めることでプリンタはプリンタ内どのアプリケーションにプッシュ通知を伝えればいいか特定できる。 According to the present invention, the push notification server manages push data for each printer and each application running on the printer. By including the application identifier in the push data, the printer can identify which application in the printer to send the push notification to.
以下、本発明を実施するための最良の形態について図面を用いて説明する。 Hereinafter, the best mode for carrying out the present invention will be described with reference to the drawings.
[実施形態1]
<システム構成>
図1は、本発明の実施形態に係る帳票システムの全体構成を示す図である。
[Embodiment 1]
<System configuration>
FIG. 1 is a diagram showing an overall configuration of a form system according to an embodiment of the present invention.
図1において、プリンタ102は、ローカルネットワーク101を介してインターネット100にアクセスし、103〜105のサーバーにアクセスすることができる。プッシュ通知サーバー103は、プリンタ102へのプッシュ通知を制御するサーバーである。プッシュ通知サーバー103は、デバイス管理サーバー104からプッシュ通知依頼を受け、プリンタ102プッシュ通知を行う。デバイス管理サーバー104は、プリンタ102を管理するサーバーである。バックアップアプリケーション105は、プリンタ102内にあるデータや設定のバックアップを管理するサーバーである。
In FIG. 1, the
ここで、103〜105の各サーバーは、それぞれ複数台のサーバーで冗長化されたクラウドサービスとしてインターネット上に公開されるが、本実施形態では説明を簡略化するため、それぞれ1台構成としている。
Here, each of the
<プリンタ102のハードウェア構成>
図2aは、プリンタ102のハードウェア構成図である。ハードウェアの各構成要素は、システムバス200に接続されている。
<Hardware configuration of
FIG. 2a is a hardware configuration diagram of the
201は装置全体の制御を行うCPUであり、システムバス200に接続される各種デバイスとのアクセスを統括的に制御する。この制御は、ROM202に記憶された制御プログラム等あるいはディスクコントローラ(DKC205)を介して接続された外部メモリ206に記憶された制御プログラムやリソースデータ(資源情報)等に基づく。203はCPU201の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。210は大容量メモリとして機能する外部記憶手段であり、本発明に係る後述の330〜337のプログラムを格納している。
209は操作パネル(操作部)であり、画面の表示や、画面を介したユーザーの操作指示を受け付ける。また、プリンタ102の動作モード等の設定やプリンタ102の動作状況の表示、複写指定等の操作を行うためのボタンおよび液晶パネル等の表示部も配置される。204は、ネットワークインターフェースカード(NIC)であり、該インターフェース204を介して外部装置とのデータのやり取りを行う。なお、本図で示したプリントエンジン208は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華方(熱転写)方式等が挙げられる。207のラスタコントローラは、PDL言語・PDF言語である印刷データを画像データに変換するコントローラである。211の機器I/Fは、USB等で接続可能な外部機器との接続I/Fである。
<サーバーのハードウェア構成>
図2bは、103〜105の各サーバーのハードウェア構成の一例を示す図である。
<Server hardware configuration>
FIG. 2b is a diagram showing an example of the hardware configuration of each server of 103 to 105.
特に断らない限り、本発明の機能が実行可能であるならば、単体の機器であっても、複数の機器からなるシステムであっても、本発明が適用できる。また、特に断らない限り、本発明の機能が実行可能であるならば、LAN、WAN等のネットワークを介して接続が為され、処理が行われるシステムであっても本発明を適用できる。本実施形態ではシステムバス219により各構成要素が接続されているものとして説明する。
Unless otherwise specified, the present invention can be applied to a single device or a system composed of a plurality of devices as long as the functions of the present invention can be executed. Further, unless otherwise specified, the present invention can be applied to a system in which a connection is made via a network such as LAN or WAN and processing is performed as long as the function of the present invention can be executed. In this embodiment, it is assumed that each component is connected by the
220は情報処理装置の制御装置であるCPUであり、記憶装置226に格納されているアプリケーションプログラム、プリントドライバプログラム、オペレーティングシステムや本発明のモバイル印刷システムプログラムを実行する。また、CPU220は、RAM222にプログラム実行に必要な情報、ファイル等を一時的に格納する制御を行う。また、CPU220は、ディスプレイ227上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
221は記憶手段であるROMであり、内部には基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。222は一時記憶手段であるRAMであり、CPU220の主メモリやワークエリア等として機能する。224は表示制御部であり、ディスプレイ227にて出力する情報の制御を行っている。225は入力制御部であり、キーボード228より入力される情報を制御し、情報処理装置は入力制御部225を介して外部装置とのデータのやり取りを行う。226は外部記憶手段の一つで、大容量メモリとして機能する記憶装置であり、アプリケーションプログラム、プリントドライバプログラム、OS等を格納している。228は指示入力手段であるキーボードであり、ユーザーが各サーバーへの指示等を入力指示するためのものである。227は表示手段であるディスプレイであり、キーボード228から入力したコマンド等を表示するものである。
<プッシュ通知サーバー103のソフトウェア構成>
図3aは、プッシュ通知サーバー103のソフトウェア構成図である。なお、各ソフトウェアモジュールは図2で示した記憶装置226に記憶されており、前述したようにCPU220によってRAM222にロードされ実行される。
<Software configuration of
FIG. 3a is a software configuration diagram of the
MQTTブローカー300は、プッシュ通知サーバー103の各種インターフェースをMQTT(Message Queue Telemetry Transport)プロトコルで提供し、受け付けた情報の妥当性の検証を行う。MQTTプロトコルは転送データサイズを小さくできるため、小さいデータを連続で送受信する用途に向いている。
The
Webサーバー301は、プッシュ通知サーバー103の各種インターフェースをHTTP(Hypertext Transfer Protocol)プロトコルで提供し、受け付けた情報の妥当性の検証を行う。HTTPプロトコルはWebで標準的に利用されるプロトコルであり、サーバー間の連携やWebBrowserとサーバー間の連携に向いている。
The
MQTTブローカー300とWebサーバー301でプロトコルは異なるが、各種インターフェースでプッシュ通知サーバー103が提供する機能は同様のものであり、クライアントが選択することができる。
Although the protocol is different between the
トピック情報管理部302は、図4で説明するクライアント情報400、購読情報410、プッシュ通知情報420を管理しストレージ303に保存する。また、トピック情報管理部302は、管理する情報をもとにMQTTブローカー300とWebサーバー301を介してクライアントにプッシュ通知を行う。
The topic
<デバイス管理サーバー104のソフトウェア構成>
図3bは、デバイス管理サーバー104のソフトウェア構成図である。なお、各ソフトウェアモジュールは、図2で示した記憶装置226に記憶されており、前述したようにCPU220によってRAM222にロードされ実行される。
<Software configuration of
FIG. 3b is a software configuration diagram of the
310はWebサーバーであり、デバイス管理サーバー104の各種インターフェースをHTTPプロトコルで提供し、受け付けた情報の妥当性の検証を行う。311は、デバイス情報管理部であり、図5で説明するデバイス情報500を管理する。313はストレージであり、デバイス管理サーバー104が保持している情報が格納されている。
<バックアップアプリケーションサーバー105のソフトウェア構成>
図3cは、バックアップアプリケーションサーバー105のソフトウェア構成図である。なお、各ソフトウェアモジュールは、図2で示した記憶装置226に記憶されており、前述したようにCPU220によってRAM222にロードされ実行される。
<Software configuration of
FIG. 3c is a software configuration diagram of the
320はWebサーバーであり、バックアップアプリケーションサーバー105の各種インターフェースをHTTPプロトコル提供し、受け付けた情報の妥当性の検証を行う。321は、バックアップ情報管理部であり、図6で説明するバックアップアプリケーション情報600とバックアップ情報610を管理する。322はストレージであり、バックアップアプリケーションサーバー105が保持している情報が格納されている。
<プリンタ102のソフトウェア構成>
図3dは、プリンタ102のソフトウェア構成図である。
<Software configuration of
FIG. 3d is a software configuration diagram of the
プリンタ102は、CPU201がROM202、或いは外部メモリ206に記憶されたOSを実行することで各アプリケーションを制御する。ここで、330はそのOSであり、一般的にはリアルタイムOSが使用されるが、昨今ではLinux(登録商標)等の汎用OSが使用されることもある。次に、331は仮想マシンであり、例えばJava(登録商標)VMがよく知られている。この仮想マシン331は、OSで制御されるアプリケーションとして動作する仮想的なアプリケーション実行環境である。
The
アプリケーション管理フレームワーク332は、仮想マシン331が提供するアプリケーション実行環境上で動作する管理対象のアプリケーションのライフサイクルを管理する機能を備える。また、アプリケーションのライフサイクルを制御するI/F、および各アプリケーション間での処理要求を仲介するためのI/F公開機能を備えている。ライフサイクルとはアプリケーションのインストール、起動、停止、アンインストールを含むアプリケーションの状態を示すものとする。本実施形態におけるアプリケーション管理フレームワーク332は、OSGi(Open Services Gateway initiative)アライアンスで規定されたOSGi(登録商標)として説明する。
The
アプリケーション管理アプリケーション333、デバイス管理アプリケーション334、バックアップアプリケーション335は、仮想マシン331が提供するアプリケーション実行環境にて動作するアプリケーションである。これらアプリケーションは、ApplicationIDで識別され、アプリケーション管理フレームワーク332にてライフサイクル管理されている。333は、アプリケーション管理フレームワーク332が公開するライフサイクル管理用の制御I/Fを介して、ユーザーからの各種アプリケーションのインストールや、開始リクエストを受け付け実行するアプリケーション管理アプリケーションである。
The
ここで、デバイス管理アプリケーション334やバックアップアプリケーション335は、プリンタ102が既定で持っていてもよい。また、アプリケーション管理アプリケーション333および、アプリケーション管理フレームワーク332を介して後からインストールされてもよい。
Here, the
<プッシュ通知サーバー103が管理するデータ>
図4は、プッシュ通知サーバー103が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、プッシュ通知サーバー103の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。プッシュ通知サーバー103が保持するデータテーブルは、クライアント情報400と購読情報410、プッシュ通知情報420から成る。
<Data managed by
FIG. 4 is a data table stored in the external memory by the
クライアント情報400では、プッシュ通知サーバー103がプッシュ通知するクライアントを管理する。401はクライアントIDであり、プッシュ通知サーバー103がプッシュ通知するクライアントを一意に識別する識別子である。
In the client information 400, the
購読情報410は、プッシュ通知サーバー103がプッシュデータ購読依頼受信時にレコード生成する。411はクライアントIDであり、プッシュ通知サーバー103がプッシュデータ購読したクライアントを一意に識別する識別子である。購読トピック名412 は、クライアントがプッシュデータ購読依頼で指定するプッシュ通知を受け取りたいトピック名である。購読トピック名402にはワイルドカード(*)を指定することもできる。
The subscription information 410 is recorded by the
プッシュ通知情報420は、プッシュ通知サーバー103がプッシュ通知するデータを管理する。421はプッシュデータを一意に識別する識別子であり、(デバイスID_アプリケーションID)のフォーマットで格納される。422はプッシュデータID411に関連するプッシュデータ例である。プッシュデータ例422におけるstate情報は、desiredとreportedから構成され、desiredには変更したい設定値、reportedは変更を受け付けた設定値を格納する。metadata情報はstate情報の付加データであり設定値の更新時間(timestamp)を格納する。
The push notification information 420 manages the data to be pushed by the
プッシュ通知サーバー103は、プッシュデータ422を変更するとそのプッシュデータID421と一致する購読トピック名412を購読情報410から特定し、クライアントID411にプッシュデータをプッシュ通知する。
When the push data 422 is changed, the
<デバイス管理サーバー104のデータ>
図5は、デバイス管理サーバー104が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、デバイス管理サーバー104の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。デバイス管理サーバー104が保持するデータテーブルはデバイス情報500より成る。
<Data of
FIG. 5 is a data table stored in the external memory by the
デバイス情報500におけるデバイスID501は、デバイス管理サーバー104がデバイスを一意に識別する識別子である。
The
<バックアップアプリケーションサーバー105のデータ>
図6は、バックアップアプリケーションサーバー105が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、バックアップアプリケーションサーバー105の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。
<Data of
FIG. 6 is a data table stored in the external memory by the
バックアップアプリケーションサーバー105が保持するデータテーブルは、バックアップアプリケーション情報600、バックアップ情報610より成る。バックアップアプリケーション情報600は、バックアップアプリケーションサーバー105にアクセスするバックアップアプリケーション335のアプリケーションIDが登録される。本実施形態にではバックアップアプリケーション335のアプリケーションIDであるApplicationID2が登録されている。
The data table held by the
バックアップ情報610には、デバイスID611、バックアップインターバル612、タイムスタンプ613、バックアップデータファイルパス614が登録される。デバイスID611は、バックアップを行ったデバイス(プリンタ102)の識別子である。バックアップインターバル612はバックアップアプリケーション335がバックアップ処理を行う時間のインターバルである。タイムスタンプ613は、バックアップインターバル612の最終更新時間である。バックアップデータファイルパスは、バックアップアプリケーションサーバー105がバックアップアプリケーション335から受信したバックアップデータファイルの保存場所である。
The
<デバイス管理アプリケーション334のデータ>
図7は、デバイス管理アプリケーション334が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、デバイス管理アプリケーション334の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。
<Data of
FIG. 7 is a data table stored in the external memory by the
デバイス管理アプリケーション334が保持するデータテーブルは、デバイス管理アプリケーション情報700、購読情報710、プッシュ通知情報720より成る。デバイス管理アプリケーション情報700は、アプリケーションID701とクライアントID702から構成される。本実施形態においてデバイス管理アプリケーション334のアプリケーションID701は、ApplicationID1である。クライアントID702はプッシュ通知サーバー103によって発行される。
The data table held by the
デバイス管理アプリケーション334は、アプリケーション起動時にプッシュ通知サーバー103にクライアント登録を実行することでクライアントID401を受信する。
The
購読情報710は、デバイス管理アプリケーション334がプッシュデータ購読依頼受信時にレコード生成する。711はアプリケーションIDであり、デバイス管理アプリケーション334がプッシュデータ購読したプリンタ102内のアプリケーションを一意に識別する識別子である。プッシュ通知情報720は、デバイス管理アプリケーション334がプッシュ通知するデータを管理する。721はプッシュデータを一意に識別する識別子であり、(デバイスID_アプリケーションID)のフォーマットで格納される。722はプッシュデータID721に関連するプッシュデータファイル例である。プッシュデータファイル例722の内容はプッシュデータ例422と同様である。
The subscription information 710 is recorded by the
<バックアップアプリケーション335のデータ>
図8は、バックアップアプリケーション335が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、バックアップアプリケーション335の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。バックアップアプリケーション335が保持するデータテーブルは、バックアップアプリケーション情報800、バックアップ情報810より成る。
<Data of
FIG. 8 is a data table stored in the external memory by the
バックアップアプリケーション情報800のアプリケーションID801はバックアップアプリケーション335のアプリケーションIDが保持される。本実施形態において、バックアップアプリケーション335のアプリケーションID801は、ApplicationID2である。バックアップ情報810は、バックアップアプリケーション335がバックアップ処理実行する時間のバックアップインターバル811と、バックアップインターバル811の最終更新時間であるタイムスタンプ812である。
The
<バックアップアプリケーション335起動時のバックアップインターバル取得フロー>
図9は、バックアップアプリケーション335起動時に最新のバックアップインターバルをデバイス管理アプリケーション334から取得するフローである。
<Backup interval acquisition flow when
FIG. 9 is a flow of acquiring the latest backup interval from the
ステップS9.1において、バックアップアプリケーション335が起動する。ステップS9.2において、バックアップアプリケーション335はデバイス管理アプリケーション334にプッシュデータ取得依頼を行う。ステップS9.3において、デバイス管理アプリケーション334はプッシュデータ取得依頼したアプリケーションIDを特定する。本実施形態において、バックアップアプリケーション335のアプリケーションIDであるApplicationID2が特定できる。
In step S9.1, the
ステップS9.4において、デバイス管理アプリケーション334はプッシュ通知情報からプッシュデータを特定する。プッシュデータID721のフォーマットは(デバイスID_アプリケーションID)であり、デバイス管理アプリケーション334が動作するプリンタ102のデバイスIDと、ステップS9.3で特定したアプリケーションIDでプッシュデータID721を特定できる。
In step S9.4, the
ステップS9.5において、デバイス管理アプリケーション334はステップS9.4で特定したプッシュデータID721に紐づくプッシュデータをバックアップアプリケーション335に応答する。デバイス管理アプリケーション334は、ステップS9.4でプッシュデータID721が特定できなかった場合には、ステップS9.5で空のデータを応答する。本実施形態では、プッシュデータにバックアップインターバル(backup_interval)が含まれる。
In step S9.5, the
ステップS9.6において、バックアップアプリケーション335はプッシュデータを受け取ると、プッシュデータに含まれるdesiredのbackup_intervalでバックアップ情報810を更新する。また、バックアップアプリケーション335は、プッシュデータに含まれるbackup_intervalのmetadataでタイムスタンプ812(timestamp)を更新する。
In step S9.6, when the
ステップS9.7において、バックアップアプリケーション335はデバイス管理アプリケーション334にプッシュ通知を行う。バックアップアプリケーション335がプッシュ通知するデータは、ステップS9.5で受け取ったプッシュデータのreportedのbackup_intervalをバックアップインターバル811で更新したものである。また、metadataのtimestampも更新する。
In step S9.7, the
ステップS9.8において、デバイス管理アプリケーション334はステップS9.7で受け取ったプッシュデータでプッシュデータファイル722を更新する。ステップS9.9において、バックアップアプリケーション335はデバイス管理アプリケーション334にプッシュデータ購読依頼を行う。ステップS9.10において、デバイス管理アプリケーション334はバックアップアプリケーション335のアプリケーションIDを特定する。ステップS9.11において、デバイス管理アプリケーション334はステップS9.10で特定したアプリケーションIDを購読情報710に登録する。
In step S9.8, the
<バックアップアプリケーションサーバー105からバックアップアプリケーション335へのプッシュ通知フロー>
図10は、バックアップアプリケーションサーバー105がバックアップインターバル更新を受け付け、その更新情報をバックアップアプリケーション335にプッシュ通知で伝えるフローである。
<Push notification flow from
FIG. 10 is a flow in which the
ステップS10.1において、バックアップアプリケーションサーバー105は特定プリンタ102(デバイスID)のバックアップインターバルの変更を受け付ける。ステップS10.2において、バックアップアプリケーションサーバー105はデバイス管理サーバー104にプッシュ通知依頼を行う。プッシュ通知依頼には、ステップS10.1のデバイスID、バックアップインターバル、バックアップアプリケーション情報600のアプリケーションID601が指定される。
In step S10.1, the
ステップS10.3において、デバイス管理サーバー104はプッシュ通知サーバー103にプッシュデータ更新依頼を行う。プッシュデータ更新依頼には、ステップS10.3で受け取ったデバイスIDとアプリケーションIDから作成したプッシュデータID(デバイスID_アプリケーションID)と、バックアップインターバルが指定される。
In step S10.3., The
ステップS10.4において、プッシュ通知サーバー103はステップS10.3で受け取ったプッシュデータID(デバイスID_アプリケーションID)を用いてプッシュ通知情報420からプッシュデータ422を特定する。そして、プッシュ通知サーバー103は、プッシュデータ422のdesiredのbackup_intervalをステップS10.3で受け取ったバックアップインターバルに更新する。
In step S10.4, the
ステップS10.5において、プッシュ通知サーバー103は購読情報410からステップS10.3で受け取ったプッシュデータID(デバイスID_アプリケーションID)に該当する購読トピック名412の有無を確認する。該当する購読トピック名412が無かった場合には、ステップS10.6以降の処理は行わない。該当する購読トピック名412が有った場合には、クライアントID411にステップS10.6以降のプッシュ通知を行う。
In step S10.5, the
ステップS10.6において、プッシュ通知サーバー103はステップS10.5で特定したクライアントID411にプッシュ通知を行う。本実施形態では、プッシュ通知を受信するのはデバイス管理アプリケーション334である。プッシュ通知には、ステップS10.4で更新したプッシュデータID421(デバイスID_アプリケーションID)とプッシュデータ422を指定する。
In step S10.6, the
ステップS10.7において、デバイス管理アプリケーション334はステップS10.6で受信したプッシュデータID(デバイスID_アプリケーションID)とプッシュデータでプッシュ通知情報720を更新する。
In step S10.7, the
そして、デバイス管理アプリケーション334は、ステップS10.6で受信したプッシュデータID(デバイスID_アプリケーションID)からアプリケーションIDを特定し、そのアプリケーションIDが購読情報710に登録されているか確認する。購読情報710にアプリケーションIDが登録されていない場合、デバイス管理アプリケーション334はステップS10.8以降の処理を行わない。購読情報710にアプリケーションIDが登録されていた場合、デバイス管理アプリケーション334はステップS10.8以降の処理を行う。
Then, the
ステップS10.8において、デバイス管理アプリケーション334はステップS10.7で特定したアプリケーションIDにプッシュデータのプッシュ通知を行う。本実施形態では、バックアップアプリケーション335にプッシュ通知される。
In step S10.8, the
ステップS10.9において、バックアップアプリケーション335はステップS10.8のプッシュ通知で受け取ったプッシュデータにあるdesiredのbackup_intervalをバックアップ情報810に保存する。また、バックアップアプリケーション335は、プッシュデータに含まれるbackup_intervalのmetadataでタイムスタンプ812(timestamp)を更新する。
In step S10.9, the
ステップS10.10において、バックアップアプリケーション335はデバイス管理アプリケーション334にプッシュ通知を行う。バックアップアプリケーション335がプッシュ通知するデータは、ステップS10.8で受け取ったプッシュデータのreportedのbackup_intervalをバックアップインターバル811で更新したものである。また、metadataのtimestampも更新する。
In step S10.10, the
ステップS10.11において、デバイス管理アプリケーション334はステップS10.10で受け取ったプッシュデータでプッシュデータファイル722を更新する。プッシュデータID721(デバイスID_アプリケーションID)は、デバイス管理アプリケーション334が動作するプリンタ102のデバイスID とステップS10.10でプッシュ通知したバックアップアプリケーション335のアプリケーションIDから生成する。
In step S10.11, the
ステップS10.12において、デバイス管理アプリケーション334はプッシュ通知サーバー103にプッシュデータ更新依頼を行う。プッシュデータ更新依頼には、ステップS10.11で更新したプッシュデータID(デバイスID_アプリケーションID)とプッシュデータを指定する。ステップS10.13において、プッシュ通知サーバー103はステップS10.12のプッシュデータ更新依頼で受け取ったプッシュデータID(デバイスID_アプリケーションID)とプッシュデータでプッシュ通知情報420を更新する。
In step S10.12, the
以上のように、プッシュ通知サーバー103がプッシュデータをプリンタ102とそのプリンタで動作するアプリケーション単位に管理することにより、プッシュ通知するアプリケーションを特定することができる。
As described above, the
また、プリンタ102上のデバイス管理アプリケーション334がプッシュデータをファイルにキャッシュすることにより、プリンタ102上の他のアプリケーションはネットワークの接続状態に関係なくプッシュデータを取得することができる。
Further, since the
102 プリンタ
103 プッシュ通知サーバー
104 デバイス管理サーバー
105 バックアップアプリケーションサーバー
334 デバイス管理アプリケーション
335 バックアップアプリケーション
102
Claims (3)
プッシュ通知サーバーは、前記プリンタと前記プリンタ上で動作するアプリケーション毎にプッシュデータの更新を受け付け、前記プリンタと前記プリンタ上で動作するアプリケーション毎にプッシュデータを保持する手段を有し、
前記プリンタの識別子であるデバイスIDと前記プリンタ上で動作するアプリケーション識別子を前記プッシュデータとともにプッシュ通知することを特徴とするプッシュ通知システム In a push notification system where multiple applications run on the printer and manage push notifications to those applications.
The push notification server has a means for accepting updates of push data for each of the printer and the application running on the printer, and holding the push data for each of the printer and the application running on the printer.
A push notification system characterized in that a device ID, which is an identifier of the printer, and an application identifier operating on the printer are push-notified together with the push data.
前記デバイス管理アプリケーションは、前記プッシュ通知サーバーからのプッシュ通知に含まれるアプリケーション識別子をもとにアプリケーションを特定し、特定したアプリケーションにプッシュ通知を行うことを特徴とする請求項1記載のプッシュ通知システム。 The device management application has a means for receiving push notification subscription requests from other applications running on the printer and managing push notification subscription information for each application.
The push notification system according to claim 1, wherein the device management application identifies an application based on an application identifier included in the push notification from the push notification server, and performs push notification to the specified application.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020053173A JP2021152796A (en) | 2020-03-24 | 2020-03-24 | Method of making push notification to a plurality of applications running on printer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020053173A JP2021152796A (en) | 2020-03-24 | 2020-03-24 | Method of making push notification to a plurality of applications running on printer |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021152796A true JP2021152796A (en) | 2021-09-30 |
Family
ID=77886554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020053173A Pending JP2021152796A (en) | 2020-03-24 | 2020-03-24 | Method of making push notification to a plurality of applications running on printer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021152796A (en) |
-
2020
- 2020-03-24 JP JP2020053173A patent/JP2021152796A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101099262B1 (en) | Client side rendering of printable documents in a network | |
JP5288334B2 (en) | Virtual appliance deployment system | |
JP6055201B2 (en) | Server apparatus, system and control method thereof | |
JP5448542B2 (en) | Information processing apparatus, control method, and program | |
US20110205585A1 (en) | Image processing system, image processing system control method, and storage medium | |
US8717600B2 (en) | Network system, network system control method, and storage medium | |
JP2012103928A (en) | Network system, server, information processor, log registration method, and program | |
WO2011055497A1 (en) | Management apparatus and method therefor | |
JP2002373064A (en) | Printer and information processor | |
JP2021152796A (en) | Method of making push notification to a plurality of applications running on printer | |
JP2013161450A (en) | Network printer management system, network printer management device and control method thereof | |
JPH10269045A (en) | Network-distributed image processing system | |
JP5052171B2 (en) | Distribution system, device setting system, and distribution setting management method | |
JPH1165828A (en) | Program updating system and recording medium recording program for updating program | |
JP2014229281A (en) | Distribution control device, distribution control method and program | |
Kwon et al. | An agent-based adaptive monitoring system | |
JP6663257B2 (en) | Information processing apparatus, control method therefor, and program | |
JP5924884B2 (en) | Management device, management method, and program | |
JP2009064060A (en) | Information processor | |
JP2001282658A (en) | Network management device, network equipment, and storage medium | |
JP4626336B2 (en) | Printing apparatus and reference destination update method and program | |
JP6429694B2 (en) | Data conversion server, control method, and program | |
JP6244054B1 (en) | Delivery control device, delivery control method, and program | |
JP2007087129A (en) | Information processor, device setting method, storage medium and program | |
JP2004240864A (en) | Image processing system, program used for image processing system and medium having the program recorded thereon |