JP2015121972A - Information processing system, information processing apparatus, information processing method, and information processing program - Google Patents
Information processing system, information processing apparatus, information processing method, and information processing program Download PDFInfo
- Publication number
- JP2015121972A JP2015121972A JP2013265733A JP2013265733A JP2015121972A JP 2015121972 A JP2015121972 A JP 2015121972A JP 2013265733 A JP2013265733 A JP 2013265733A JP 2013265733 A JP2013265733 A JP 2013265733A JP 2015121972 A JP2015121972 A JP 2015121972A
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- processing apparatus
- state
- request
- notified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 142
- 238000003672 processing method Methods 0.000 title claims 4
- 230000008859 change Effects 0.000 claims abstract description 117
- 230000004044 response Effects 0.000 claims abstract description 66
- 238000000034 method Methods 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 21
- 238000010586 diagram Methods 0.000 description 24
- 238000004458 analytical method Methods 0.000 description 11
- 238000007639 printing Methods 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- FTGYKWAHGPIJIT-UHFFFAOYSA-N hydron;1-[2-[(2-hydroxy-3-phenoxypropyl)-methylamino]ethyl-methylamino]-3-phenoxypropan-2-ol;dichloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CN(C)CCN(C)CC(O)COC1=CC=CC=C1 FTGYKWAHGPIJIT-UHFFFAOYSA-N 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Computer And Data Communications (AREA)
- Facsimiles In General (AREA)
Abstract
Description
本発明は情報処理の制御技術に関する。 The present invention relates to information processing control technology.
Web上で各種のサービス(Webサービス)を提供する手段として、SOAP(Simple Object Access Protocol)、REST(Representational State Transfer)と呼ばれる方式のWebAPI(Web Application Program Interface)が多く使われている。WebAPIのベースとなっているのはHTTPプロトコル(HyperText Transfer Protocol)での通信であり、サービス提供側はHTTPサーバとなってWebAPIを提供し、サービス利用側はHTTPクライアントとなってそのWebAPIを利用する。 As means for providing various services (Web services) on the Web, Web API (Web Application Program Interface) of a method called SOAP (Simple Object Access Protocol) and REST (Representational State Transfer) is often used. The basis of the WebAPI is communication using the HTTP protocol (HyperText Transfer Protocol). The service providing side serves as an HTTP server to provide WebAPI, and the service using side serves as an HTTP client and uses the WebAPI. .
一方、情報処理システムまたは情報処理装置の一例として、LP(Laser Printer)、MFP(Multi Function Peripheral、Multi Function Printer)等の画像形成装置が挙げられる。この種の画像形成装置では、画面表示やキー入力の操作を行う部分を操作部として本体部(コントローラ、エンジン)から独立させ、本体部の負荷が高くても操作レスポンスを低下させないようにすることが考えられている。操作部にはAndroid(登録商標) OS等の独立したOS(Operating System)が搭載され、本体部とは独立に動作する。 On the other hand, as an example of the information processing system or the information processing apparatus, there is an image forming apparatus such as an LP (Laser Printer) or an MFP (Multi Function Peripheral, Multi Function Printer). In this type of image forming apparatus, a portion for performing screen display and key input operation is made independent from the main body (controller, engine) as an operation unit so that the operation response is not lowered even when the load on the main body is high. Is considered. An independent OS (Operating System) such as an Android (registered trademark) OS is installed in the operation unit, and operates independently of the main unit.
このような操作部を備えた画像形成装置内においても、前述したREST方式のWebAPIが用いられることが考えられ、操作部上のアプリ(アプリケーションプログラム)は、本体部が提供するWebAPIを利用して機能を実現することになる。 Even in an image forming apparatus provided with such an operation unit, it is conceivable that the above-described REST Web API is used, and an application (application program) on the operation unit uses the Web API provided by the main unit. The function will be realized.
クライアントからのリクエストに対して、サーバがレスポンスを返す、というのが一般的なHTTP通信の基本である。そのため、HTTP通信では、サーバ側で任意のタイミングで発生した状態変化(イベント)をクライアント側に通知することが原理的にできないアーキテクチャとなっている。 The basic HTTP communication is that the server returns a response to the request from the client. Therefore, HTTP communication has an architecture in which it is not possible in principle to notify a client side of a state change (event) that occurs at an arbitrary timing on the server side.
これまでも、サーバ側で発生した状態変化をクライアントに通知するために、複数の方式が検討されてきた。代表的なものとして、ポーリング方式と呼ばれる、一定期間毎にクライアントがサーバに問い合わせを行い、サーバ側の状態変化をチェックする方式が一般的に知られている。 In the past, a plurality of methods have been studied in order to notify a client of a state change that has occurred on the server side. As a typical method, a method called a polling method, in which a client makes an inquiry to a server at regular intervals and checks a state change on the server side, is generally known.
また、疑似的にクライアントに対してサーバ側の状態変化を通知する手段として、Ajax(Asynchronous JavaScript(登録商標) + XML(Extensible Markup Language))、LongPolling、Cometといった方式が一般的によく知られている(特許文献1等を参照。)。 In addition, as a means for artificially notifying a client of a state change on the server side, methods such as Ajax (Asynchronous JavaScript (registered trademark) + XML (Extensible Markup Language)), Long Polling, and Comet are generally well known. (Refer to patent document 1 etc.).
上述したように、HTTPサーバからHTTPクライアントに対して、サーバの状態変化を通知する方式は複数考えられてきた。 As described above, there have been considered a plurality of methods for notifying an HTTP client of a change in the state of the server from the HTTP server.
一方、前述した画像形成装置の本体部から独立して動作する操作部への適用を想定すると、操作部上のアプリは本体部が提供するWebAPIを利用してアプリの機能を実現する。しかし、これらの本体部や操作部には通信に利用できるリソースが充分ではなく、通信のリソースを圧迫しない手法で状態変化の通知を実現することが望まれる。 On the other hand, assuming application to the operation unit that operates independently from the main body unit of the image forming apparatus described above, the application on the operation unit realizes the function of the application using WebAPI provided by the main body unit. However, these main unit and operation unit do not have sufficient resources available for communication, and it is desired to realize notification of a state change by a method that does not compress communication resources.
例えば、これらの本体部や操作部で同時に接続できるセッション数には限りがあるため、アプリの起動時から終了時まで接続し続けるような生存期間の長いセッションが存在した場合、それによって、利用可能なセッション数が圧迫してしまう。また、生存期間の長いセッションが増加すると、通信処理の負荷が高くなり、その結果、画像処理等の本来の機能における性能への影響も懸念される。 For example, since the number of sessions that can be connected at the same time in these main units and operation units is limited, if there is a session with a long lifetime that keeps connecting from the start of the application to the end, it can be used accordingly The number of sessions is overwhelming. In addition, when the number of sessions having a long lifetime increases, the load of communication processing increases, and as a result, there is a concern about the influence on the performance of the original function such as image processing.
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、クライアントとなる情報処理装置に対してサーバとなる情報処理装置の状態変化を通知する際に、通信のリソースを圧迫しないものとすることにある。 The present invention has been proposed in view of the above-described conventional problems, and an object of the present invention is to communicate information when a status change of an information processing apparatus serving as a server is notified to an information processing apparatus serving as a client. Is not to squeeze the resources.
上記の課題を解決するため、本発明にあっては、第1の情報処理装置から第2の情報処理装置に対して状態通知のリクエストを送信し、前記第2の情報処理装置から前記第1の情報処理装置に対して状態通知のレスポンスを送信する情報処理システムであって、前記第1の情報処理装置は、通知すべき状態の種類を設定するリクエストを前記第2の情報処理装置に送信する手段を備え、前記第2の情報処理装置は、前記第1の情報処理装置から通知すべき状態の種類を設定するリクエストを受信した場合に、通知すべき状態の種類を内部に保持し、設定完了のレスポンスを前記第1の情報処理装置に対して送信する手段と、通知すべき状態変化が発生した場合に、前記第1および第2の情報処理装置間に維持されるセッションを用いて、状態の種類と状態の値を含むレスポンスを前記第1の情報処理装置に対して送信する手段とを備えるようにしている。 In order to solve the above-described problems, in the present invention, a request for status notification is transmitted from the first information processing apparatus to the second information processing apparatus, and the first information processing apparatus transmits the first notification to the first information processing apparatus. An information processing system for transmitting a status notification response to an information processing apparatus, wherein the first information processing apparatus transmits a request for setting a status type to be notified to the second information processing apparatus. When the second information processing apparatus receives a request for setting the type of state to be notified from the first information processing apparatus, the second information processing apparatus holds the state type to be notified inside. Means for transmitting a setting completion response to the first information processing apparatus, and a session maintained between the first and second information processing apparatuses when a state change to be notified occurs. ,State A response including a value type and status so that and means for transmitting to said first information processing apparatus.
本発明にあっては、クライアントとなる情報処理装置に対してサーバとなる情報処理装置の状態変化を通知する際に、通信のリソースを圧迫しないものとすることができる。 In the present invention, when notifying the change of the state of the information processing apparatus serving as the server to the information processing apparatus serving as the client, communication resources may not be compressed.
以下、本発明の好適な実施形態につき説明する。なお、情報処理システムまたは情報処理装置として画像形成装置を例に説明するが、画像形成装置以外の情報処理システムまたは情報処理装置にも適用できることは言うまでもない。 Hereinafter, preferred embodiments of the present invention will be described. Although an image forming apparatus is described as an example of the information processing system or information processing apparatus, it is needless to say that the present invention can be applied to an information processing system or information processing apparatus other than the image forming apparatus.
<構成>
図1は本発明の一実施形態にかかる画像形成装置1のハードウェア構成例を示す図である。
<Configuration>
FIG. 1 is a diagram illustrating a hardware configuration example of an image forming apparatus 1 according to an embodiment of the present invention.
図1において、画像形成装置1は、本体部(コントローラ、エンジン)2と操作部3とを備えている。操作部3は本体部2に有線路または無線路により接続される。
In FIG. 1, the image forming apparatus 1 includes a main body (controller, engine) 2 and an
本体部2は、その時設定されている制御モードおよびホストコンピュータ4等からの制御コードに従って、ホストコンピュータ4からの印字データをビデオデータに変換し、プリンタエンジン212へ出力する機能を有している。また、本体部2は、スキャナエンジン213により原稿画像を読み込み、プリンタエンジン212に出力することでコピーを行ない、あるいは、読取画像をホストコンピュータ4等に出力する機能を有している。
The
操作部3は、タッチパネルを備え、独自のOSを搭載したコンピュータ装置である。
The
本体部2は、CPU201とRAM202とNV−RAM203とプログラムROM204とフォントROM205とネットワークインタフェース206と操作部インタフェース207とプリンタエンジンインタフェース208とスキャナエンジンインタフェース209とHDD210とオプションRAM211とプリンタエンジン212とスキャナエンジン213とを備えている。
The
CPU201は、ホストコンピュータ4等からのデータ(印字データ、制御データ)を処理する。
The
RAM202は、CPU201が処理する時のワークメモリ、ホストコンピュータ4等からのデータをページ単位に管理して一時記憶するバッファ、バッファに記憶されたデータを実際の印字パターンに変換しビデオデータを記憶するビットマップメモリ等に使われる。
A
NV−RAM203は、電源を切っても保持したいデータを格納しておくための不揮発性RAMである。
The NV-
プログラムROM204は、本体部2内でのデータの管理や、周辺モジュールを制御するためのプログラムが格納されている。
The
フォントROM205は、印字に使用されるさまざまな種類のフォントデータが格納されている。
The
ネットワークインタフェース206は、ホストコンピュータ4から画像形成装置1への制御信号やデータ、画像形成装置1からホストコンピュータ4へのステータス信号やデータインターフェースである。
The
操作部インタフェース207は、操作部3との間での制御信号やデータのインタフェースである。
The
プリンタエンジンインタフェース208は、プリンタエンジン212への制御信号やデータ、プリンタエンジン212からのステータス信号のインタフェースである。
The
スキャナエンジンインタフェース209は、スキャナエンジン213への制御信号、スキャナエンジン213からのステータス信号やデータのインタフェースである。
The
HDD210は、大容量の記憶装置である。
The
オプションRAM211は、追加的に装着されるRAMである。
The
プリンタエンジン212は、プリンタエンジンインタフェース208を介して与えられるビデオ信号および制御信号により感光体上に静電潜像を作り、現像し、また給紙部より転写紙を給紙し、転写および定着し、画像を形成する。
The
スキャナエンジン213は、原稿を光学的に読み取り、画像情報を出力する。
The
図2はネットワーク構成例を示す図である。 FIG. 2 is a diagram illustrating a network configuration example.
図2において、ネットワーク上には、複数のホストコンピュータ4A、4B、4Cと画像形成装置1が接続されている。
In FIG. 2, a plurality of
画像形成装置1は、本体部2と操作部3とを備えている。操作部3は、本体部2との間で有線または無線で直接に接続されるほか、ネットワーク上のアクセスポイント(図示せず)を介して本体部2に接続することもできる。操作部3上のアプリは本体部2が提供するWebAPIを使ってアプリの機能を実現する。
The image forming apparatus 1 includes a
ホストコンピュータ4A、4B、4Cは、画像形成装置1に対して印刷を要求したり、原稿の読取画像の送信を受けたりすることができるとともに、画像形成装置1(本体部2)の提供するWebAPIを使ってWebサービスを利用することができる。
The
図3は画像形成装置1のソフトウェア構成例を示す図である。なお、操作部3上のアプリが本体部2の提供するWebサービスを利用するクライアントとなる場合を例として説明するが、操作部3上のアプリに限定されるものではなく、ホストコンピュータ4上のアプリ(PCアプリ、サーバアプリ)等がクライアントとなってもよい。
FIG. 3 is a diagram illustrating a software configuration example of the image forming apparatus 1. Note that the case where the application on the
図3において、本体部2は、サービス提供モジュール群230を構成するネットワーク管理モジュール225とWebサービス提供モジュール226と印刷管理モジュール227とシステム管理モジュール228とメモリ管理モジュール229とを備えている。また、本体部2は、サービス提供モジュール群230の各モジュールの機能を利用するプリンタジョブ管理モジュール222とコピージョブ管理モジュール223とスキャナジョブ管理モジュール224とを備えている。また、本体部2は、プリンタジョブ管理モジュール222が利用するPDL解析モジュール221を備えている。
In FIG. 3, the
操作部3は、操作部アプリ301〜303を備えている。操作部アプリ301〜303は、操作部3上で動作するアプリであり、JAVA(登録商標)やAndroid(登録商標)SDKや本体部2が独自に提供するAPIを利用して、様々な機能をもつアプリを開発することが可能である。なお、操作部アプリの数は図示のものに限定されるものではなく、1つでもよいし、4以上でもよい。ここでは、操作部アプリ301〜303は、Webサービスのクライアントとして動作するものとしている。
The
本体部2のPDL解析モジュール221は、画像形成装置1がホストコンピュータ4等から受信したPDLデータを解析して印刷画像を生成するモジュールである。プリンタジョブ管理モジュール222よりPDLデータを受け取り、プリンタジョブ管理モジュール222の仲介によりメモリ管理モジュール229から確保したメモリ上に印刷画像を生成することが主な責務である。また、印刷画像生成の際には機器構成情報、例えば、給紙トレイ・排紙トレイの構成や、給紙トレイ内の用紙サイズといった情報が必要になるが、これらの情報はプリンタジョブ管理モジュール222の仲介によりシステム管理モジュール228から得る。
The
プリンタジョブ管理モジュール222は、PDL処理全般に関わる制御を行っており、主にPDL解析モジュール221側が必要とする処理を仲介して他モジュールに対して要求を行うモジュールである。ネットワーク管理モジュール225が受け取ったPDLデータをPDL解析モジュール221へ受け渡す仲介、PDL解析モジュール221に対しシステム管理モジュール228が管理する機器情報を取得する仲介、PDL解析モジュール221がメモリ管理モジュール229から必要なメモリを確保する仲介、PDL解析モジュール221が作成した印刷画像に関し印刷管理モジュール227に対する印刷要求の発行、といったことを行う。
The printer
コピージョブ管理モジュール223は、コピー処理全般に関する制御を行っており、サービス提供モジュール群230を利用してコピー機能を実現するのが主な責務である。
The copy
スキャナジョブ管理モジュール224は、スキャン処理全般に関する制御を行っており、サービス提供モジュール群230を利用してスキャナ機能を実現するのが主な責務である。
The scanner
ネットワーク管理モジュール225は、ネットワークコントローラ(図示せず)の管理と、ネットワークコントローラから得られる受信データの処理を制御するモジュールである。ホストコンピュータ4からのデータ受信の際に欠かせない通信プロトコル(ftpやlprなど)を制御してネットワークコントローラからデータを受信し、他モジュールへ受信データを受け渡すことが主な責務である。Webサービス提供においては、クライアントからのHTTP(REST)アクセスによるデータを受信し、Webサービス提供モジュール226に受け渡す。
The
Webサービス提供モジュール226は、REST/SOAP用のHTTPサーバとして動作し、クライアントに対してWebサービスを提供するモジュールである。様々な機能をWebサービスとして提供するために、画像形成装置1内の他のモジュールと連携する。例えば、プリンタ印刷機能を提供するためにはプリンタジョブ管理モジュール222と連携する。また、コピージョブ管理モジュール223、スキャナジョブ管理モジュール224と連携し、コピー機能、スキャナ機能をWebサービスとして提供する。なお、図には記載していないが、ファックス機能を実現するモジュールと連携してファックス機能をWebサービスとして提供することもできる。Webサービス提供モジュール226は、HTTPクライアントからのリクエスト受信、クライアントへのレスポンス送信、サーバ・クライアント間で受け渡しするメッセージに含まれるJSON(JavaScript Object Notation)データのシリアライズ・デシリアライズなどが主な責務である。
The Web
印刷管理モジュール227は、PDL解析モジュール221が生成した印刷画像の印刷処理に関する制御を行うモジュールである。メモリ管理モジュール229が管理するメモリ/外部記憶装置内に格納された印刷画像を、プリンタエンジンに印刷させるために必要な各種処理を実行するのが主な責務であり、給排紙命令の発行、後処理実行命令の発行、印刷に関わるエラー状態の検知と他モジュールへの通知などを行う。
The
システム管理モジュール228は、画像形成装置1の機器構成情報や機器状態を管理・制御するモジュールである。機器構成情報とは、給紙トレイや排紙トレイの着脱の情報や給紙トレイ内の用紙構成といった情報であり、機器状態とは、印刷中・待機中、ジャムや用紙切れなどのエラー発生中といった内容である。こうした情報を他モジュールへ通知する他、ユーザによる機器設定(設定により動作を変化させるカスタマイズ可能項目等)の管理が主な責務である。
The
メモリ管理モジュール229は、メモリおよび外部記憶装置を管理するモジュールであり、他モジュールの要求に基いてメモリおよび外部記憶装置の割り当て・解放を行うことが主な責務である。
The
サービス提供モジュール群230は、各種サービスを提供するモジュールの総称である。サービス提供モジュール群230の各モジュールは互いに通信をし合って画像形成装置1の基本動作を分担し、協力して上位層からの要求に対応する。
The service providing
<WebAPIの例>
画像形成装置1の本体部2は様々なWebサービスをWebAPIにより提供している。例えば、コピー、プリンタ、スキャナなどのジョブを実行するAPIや、それぞれのジョブの状態をクライアントに通知するAPIがある。
<WebAPI example>
The
図4は画像形成装置1の本体部2が提供するプリンタに関するWebAPIの例を示している。図示のURI(Uniform Resource Identifier)とメソッドを用い、必要に応じてパラメータを指定することで、所定の処理のリクエストを行うことができる。
FIG. 4 shows an example of a Web API related to a printer provided by the
これらのWebAPIを利用するクライアントは、ネットワーク接続されたホストコンピュータ4上のアプリケーションや操作部3上で動作する操作部アプリ301〜303など様々である。
The clients using these Web APIs are various such as applications on the
<印刷処理の動作例>
図5はWebAPIによる印刷処理の例を示すシーケンス図である。
<Operation example of print processing>
FIG. 5 is a sequence diagram showing an example of print processing by WebAPI.
図5において、HTTPクライアントとなるホストコンピュータ4が印刷実行のHTTPリクエストを画像形成装置1に送信すると、本体部2のネットワーク管理モジュール225が受信する(ステップS101)。印刷実行のHTTPリクエストは、例えば、前述した"/printer/job/"というURIを指定して送信する。
In FIG. 5, when the
ネットワーク管理モジュール225はHTTPリクエストを受け取ると、Webサービス提供モジュール226に印刷実行のリクエストを通知する(ステップS102)。
When receiving the HTTP request, the
Webサービス提供モジュール226はリクエストに対応するモジュールに処理実行を通知する。この例では、プリンタジョブ管理モジュール222に印刷実行のリクエストを通知する(ステップS103)。より詳しくは、起動時のタイミング等においてURIとそれに対応するイベントハンドラを登録しておくことで、Webサービス提供モジュール226は委譲先となるモジュールを判断し、そのモジュールに通知を行う。
The Web
プリンタジョブ管理モジュール222は、印刷実行のリクエストに含まれるヘッダおよびボディを解析し(ステップS104)、PDL解析モジュール221に画像生成を要求する(ステップS105)。
The printer
PDL解析モジュール221から画像生成の終了のレスポンスがあると(ステップS106)、プリンタジョブ管理モジュール222は印刷管理モジュール227に印刷処理実行を指示する(ステップS107)。
When there is an image generation end response from the PDL analysis module 221 (step S106), the printer
印刷管理モジュール227から印刷処理の終了のレスポンスがあると(ステップS108)、プリンタジョブ管理モジュール222はWebサービス提供モジュール226にレスポンスとして結果を通知する(ステップS109)。
When the
Webサービス提供モジュール226も同様にネットワーク管理モジュール225にレスポンスを通知し(ステップS110)、最終的にHTTPクライアントのホストコンピュータ4にHTTPレスポンスが通知される(ステップS111)。
Similarly, the Web
ここでは、例としてプリンタでの印刷実行処理を示したが、その他の機能についてもWebサービス提供モジュール226が対応するモジュールに処理実行を通知することで実現される。
Here, the print execution process in the printer is shown as an example, but other functions are also realized by the Web
<分割レスポンスの動作例>
WebサービスはHTTP通信によりサーバとクライアントで情報交換することが基本的な思想である。
<Operation example of split response>
The basic idea of a Web service is to exchange information between a server and a client through HTTP communication.
図6はHTTP通信の例を示す図であり、HTTPクライアントとサーバの間のHTTP通信を模式的に表している。HTTP通信は、HTTPクライアントからサーバに対してヘッダとボディから構成されるHTTPリクエストを送信し、サーバはHTTPクライアントに、同じくヘッダとボディから構成されるHTTPレスポンスを送信する。これにより、HTTPクライアントとサーバの間で情報の送受信を行っている。図7はHTTPデータの構造を示す図であり、ヘッダとボディを含んでいる。 FIG. 6 is a diagram showing an example of HTTP communication, and schematically shows HTTP communication between an HTTP client and a server. In HTTP communication, an HTTP request composed of a header and a body is transmitted from an HTTP client to a server, and the server transmits an HTTP response composed of a header and a body to the HTTP client. As a result, information is transmitted and received between the HTTP client and the server. FIG. 7 is a diagram showing the structure of HTTP data, which includes a header and a body.
HTTP通信のプロトコル上、常にHTTPクライアントからHTTPリクエストを出し、サーバはそのHTTPリクエストに応答することが基本原理である。通常は、HTTPクライアントからのHTTPリクエストに対して、サーバがHTTPレスポンスを送信した時点で、リクエスト処理は完結し、その後、HTTPクライアントがHTTPリクエストを出すまでは、サーバはHTTPクライアントに情報を伝えることはできない。 According to the HTTP communication protocol, the basic principle is that an HTTP request is always issued from an HTTP client, and the server responds to the HTTP request. Normally, when a server sends an HTTP response to an HTTP request from an HTTP client, the request processing is completed, and then the server conveys information to the HTTP client until the HTTP client issues an HTTP request. I can't.
そこで、サーバからのHTTPレスポンスによりリクエスト処理が完結しないように、HTTPレスポンスを分割して送信する。図8は分割したレスポンスとHTTPデータの関係の例を示す図である。 Therefore, the HTTP response is divided and transmitted so that the request processing is not completed by the HTTP response from the server. FIG. 8 is a diagram illustrating an example of the relationship between the divided response and HTTP data.
サーバの状態変化を検出したいHTTPクライアントは、サーバに対して状態通知のHTTPリクエストを送信する。サーバは、HTTPクライアントから接続された段階でまずヘッダ部分だけ応答する。通常、ヘッダにはデータサイズを示すContent-Lengthを記載することが一般的だが、今回は予め応答するデータサイズが分からない。したがって、Content-Lengthは記載せずにヘッダを応答することになる。なお、Content-Lengthを含まなくてもHTTP仕様として問題はない。 An HTTP client that wants to detect a change in the status of the server transmits an HTTP request for status notification to the server. When the server is connected from the HTTP client, it first responds only to the header portion. Usually, it is common to describe Content-Length indicating the data size in the header, but this time, the data size to respond in advance is not known. Therefore, the header is returned without describing Content-Length. Even if the Content-Length is not included, there is no problem with the HTTP specification.
その後、ボディ部分の送信処理はサーバで状態変化あるまで行わない。HTTPクライアントはサーバからの応答待ちの状態になる。 Thereafter, the transmission process of the body part is not performed until the state changes in the server. The HTTP client waits for a response from the server.
サーバでエラー発生など何らかの状態変化が発生したタイミングで、状態変化を示すボディの一部をHTTPクライアントに送信する。ボディの一部の送信が完了しても、サーバは完了を送信しないため、HTTPクライアント/サーバともにボディ部分の送受信中の状態を維持している。 At the timing when some state change such as an error occurs in the server, a part of the body indicating the state change is transmitted to the HTTP client. Even if the transmission of a part of the body is completed, the server does not transmit the completion, so both the HTTP client / server maintain the state of transmission / reception of the body part.
これらの処理を、サーバの状態変化が発生する度に繰り返し実行することで、HTTPクライアントのタイミングに依存しない状態通知が実現できる。 By repeatedly executing these processes each time a server state change occurs, a state notification independent of the timing of the HTTP client can be realized.
最終的にはヘッダとボディからなるHTTPプロトコルに従ったデータとなる。このことにより、一般的なHTTP通信を行えるソフトウェアや動作環境で実現可能となる。 Eventually, the data conforms to the HTTP protocol consisting of a header and a body. As a result, it can be realized by software or an operating environment capable of performing general HTTP communication.
HTTPクライアントは、一定期間にわたってサーバから応答が無い場合、通信を切断する場合がある。一定期間にわたってサーバで状態変化が発生しない場合は、サーバから状態変更なしを示すボディの一部を送信することで通信を維持することができる。 If there is no response from the server for a certain period, the HTTP client may disconnect the communication. If no state change occurs in the server for a certain period, communication can be maintained by transmitting a part of the body indicating no state change from the server.
図9はデータ書式の例を示す図である。 FIG. 9 is a diagram showing an example of a data format.
HTTPでは、テキストデータ、画像データ、XML、JSONなど様々な種類のデータ送信が可能である。Webサービスの用途としては、最近はJSON形式でデータを送受信するケースが多い。 With HTTP, various types of data transmission such as text data, image data, XML, and JSON are possible. Recently, there are many cases where data is transmitted / received in the JSON format as a use of a Web service.
図9(a)は通常のHTTPレスポンスにおいてJSON形式を用いた場合を示しており、ヘッダのContent-Typeにjsonが指定されている。ボディは全体がJSON形式で記述されている。 FIG. 9A shows a case where the JSON format is used in a normal HTTP response, and json is specified as the Content-Type of the header. The entire body is described in JSON format.
図9(b)は分割レスポンスにJSON形式を用いた場合を示しており、ボディの個々の部分データをJSON形式で記述し、区切り文字列(例えば、改行を2個)を付加している。この場合、ボディ全体はJSON形式とはならないため、ヘッダのContent-Typeはtext/plainとなっている。 FIG. 9B shows a case where the JSON format is used for the divided response, in which each partial data of the body is described in the JSON format, and a delimiter character string (for example, two line feeds) is added. In this case, since the entire body is not in the JSON format, the Content-Type of the header is text / plain.
HTTPクライアントは部分データの個々を受信することに意味があるため、個々の部分データがJSON形式等の所定のデータ形式である方が、HTTPクライアント側も処理が容易となる。 Since it is meaningful for the HTTP client to receive each piece of partial data, it is easier for the HTTP client side to process if each piece of partial data is in a predetermined data format such as the JSON format.
HTTPクライアントは、HTTPプロトコルに従い順次に受信データを読み出す。このとき、各データ部分の最後に付された区切り文字列により、個々の部分データを区別して読み出すことができる。 The HTTP client sequentially reads the received data according to the HTTP protocol. At this time, each partial data can be distinguished and read by the delimiter character string attached at the end of each data part.
<分割レスポンスによるセッション数>
画像形成装置等の情報処理装置がクライアントに通知すべき状態変化には複数の種類がある。例えば、
・印刷ジョブの状態変化(印刷ジョブが処理中/待機中/排紙枚数変化等)
・機器の状態変化(機器が印刷ジョブ処理中/待機中/メンテナンス中等)
・機器システムの状態変化(ユーザーのログイン/ログアウト状態変化等)
等があげられる。
<Number of sessions by split response>
There are a plurality of types of state changes to be notified to the client by the information processing apparatus such as the image forming apparatus. For example,
・ Changes in print job status (print job is being processed / waiting / changed number of ejected paper)
・ Change in device status (device is processing print job / waiting / maintenance, etc.)
-Device system state changes (user login / logout state changes, etc.)
Etc.
これらの状態変化のうち、どの情報を通知してほしいかはクライアント毎に異なるのが一般的である。 Of these state changes, which information is desired to be notified generally differs for each client.
このような場合に分割レスポンスの利用を考えると、クライアント側/サーバ側双方の設計として、「クライアントが必要な状態変化毎にセッションを張り、サーバ側はそのセッションに分割レスポンスを返す」とすると、設計がシンプルであり、かつ、実装も容易である。 Considering the use of a split response in such a case, as a design on both the client side / server side, "A client opens a session for each required state change and the server side returns a split response to that session" Design is simple and easy to implement.
図10はクライアントが必要な状態変化毎にセッションを張る場合の処理例を示す図である。図示の例では、操作部3の操作部アプリAと本体部2の間には印刷ジョブの状態変化通知用セッションと機器の状態変化通知用セッションが、操作部アプリBと本体部2の間には印刷ジョブの状態変化通知用セッションが、操作部アプリCと本体部2の間には機器の状態変化通知用セッションと機器システムの状態変化通知用セッションが張られている。
FIG. 10 is a diagram illustrating a processing example when a session is established for each state change required by the client. In the illustrated example, a print job state change notification session and a device state change notification session are provided between the operation unit application B and the
しかし、この設計では、接続されるセッション数は最大で『クライアント数×状態変化の種類』となってしまい、通信のリソースを圧迫する可能性がある。 However, in this design, the maximum number of connected sessions is “number of clients × type of state change”, which may impose communication resources.
そこで、
・クライアント毎に状態変化通知用セッションを1つだけとする
・クライアントが必要な状態変化をサーバ側に通知する手段を設ける
・クライアントへのレスポンスに状態変化の種類情報を付加する
とすることで、1つのクライアントに対するセッションを1本としたまま、クライアントが必要な状態変化を通知することができる。
there,
-Only one state change notification session is provided for each client.-A means for notifying the server of a necessary state change by the client is provided.-By adding state change type information to the response to the client, 1 The client can notify a necessary state change while keeping one session for one client.
図11は1つのクライアントに対して状態変化通知用のセッションを1つだけとする場合の処理例を示す図である。図示の例では、操作部3の操作部アプリA、Bと本体部2の間には、それぞれ1本の状態変化通知用セッションが張られている。この状態で、操作部アプリAから別のセッションにより印刷ジョブの状態変化通知リクエストを行ない(ステップS1)、続いて、機器の状態変化通知リクエストを行なう(ステップS2)。本体部2側では、要求されていた状態変化があると、操作部アプリAに対して状態変化通知を分割レスポンスにより行う(ステップS3)。
FIG. 11 is a diagram illustrating a processing example when only one session for state change notification is made for one client. In the example shown in the figure, one state change notification session is established between the operation unit applications A and B of the
このように、1つのクライアントに対して、状態変化通知用(分割レスポンス用)のセッションを常に1つにすることができるようになるため、通信のリソースを圧迫することがなくなる。 As described above, since one session for notification of state change (for divided response) can be always provided for one client, communication resources are not compressed.
<状態通知の動作例#1>
図4に示したようなWebAPIを利用すれば、本体部2の機能を操作部3の操作部アプリやホストコンピュータ4のアプリ等から利用することができる。しかし、本体部2の機能を利用する他に本体部2で発生した状態変化をクライアントに通知する必要がある。例えば、プリンタで紙詰まりが発生した場合、これをクライアントに通知し、これを通知されたクライアント側は紙詰まりが発生していることを示す画面を表示する必要がある。
<Operation example of status notification # 1>
If the Web API as shown in FIG. 4 is used, the function of the
クライアントに通知すべき状態変化には複数の種類があるが、画像形成装置が通知する状態変化の例を図12に示す。図示の例では、印刷ジョブの状態変化と、機器の状態変化と、機器システムの状態変化を例にあげている。 Although there are a plurality of types of status changes to be notified to the client, FIG. 12 shows an example of status changes notified by the image forming apparatus. In the illustrated example, a change in the status of the print job, a change in the status of the device, and a change in the status of the device system are taken as examples.
クライアントは図4に示したWebAPIと図12に示した状態変化の通知を利用して、アプリを開発することができる。図12に示した状態変化のうち、どの情報を通知してほしいかはクライアント毎に異なるのが一般的である。例えば、印刷を実行するアプリであれば、「印刷ジョブの状態変化」と「機器の状態変化」の通知が必要となる。機器状態を管理するようなアプリであれば、「機器の状態変化」と「機器システムの状態」の通知が必要となる。 The client can develop an application using the Web API shown in FIG. 4 and the state change notification shown in FIG. Of the state changes shown in FIG. 12, which information is desired to be notified generally differs for each client. For example, for an application that executes printing, notification of “change in status of print job” and “change in status of device” is required. For an application that manages the device status, notifications of “device status change” and “device system status” are required.
図13はWebAPIによる状態通知の処理例を示すシーケンス図である。なお、操作部3の操作部アプリ301が本体部2に対して状態変化通知リクエストを行う場合を例としている。
FIG. 13 is a sequence diagram showing an example of status notification processing by WebAPI. Note that the case where the
図13において、クライアントとなる操作部3の操作部アプリ301は、サーバとなる本体部2に対して、どの状態変化通知が必要かを設定するための状態変化通知種類設定リクエストを送信する(ステップS11)。図14は状態変化通知に関するWebAPIの例を示す図であり、URI「/printer/events/lists」、メソッド「PUT」によって状態変化通知種類設定リクエストを行う。状態変化通知種類設定リクエストではJSON形式などあらかじめ決められたデータ構造に従って、通知してほしい状態変化種類を設定する。図15は状態変化通知種類設定リクエストによる設定例を示す図である。図示の例では、印刷ジョブの状態変化と機器の状態変化については要求するものとし、機器システムの状態変化については要求しないものとしている。
In FIG. 13, the
図13に戻り、本体部2のWebサービス提供モジュール226は、状態変化通知種類設定リクエストを受信すると、どの状態変化を通知する必要があるかを記憶しておく状態変化通知種類テーブルの内容を更新する(ステップS12)。図16は状態変化通知種類テーブルの例を示す図であり、図15の状態変化通知種類設定リクエストの設定内容に対応している。
Returning to FIG. 13, when receiving the state change notification type setting request, the Web
図13に戻り、その後、本体部2は操作部アプリ301に設定完了のレスポンスを操作部アプリ301に送信する(ステップS13)。これにより、状態変化通知種類設定リクエストからのセッションは切れる。
Returning to FIG. 13, thereafter, the
次いで、クライアントとなる操作部3の操作部アプリ301は、サーバとなる本体部2に対して、状態変化通知リクエストを送信する(ステップS14)。状態変化通知リクエストは、図14に示したURI「/printer/events」、メソッド「GET」によって行う。
Next, the
図13に戻り、本体部2は分割レスポンスの初回分として、ヘッダのみの部分的なレスポンスを操作部アプリ301に送信する(ステップS15)。その後、サーバ側は状態変化が発生した場合、このリクエストに対する分割レスポンスでクライアントに状態変化を通知する。このリクエストによって形成されるセッションは生存期間の長いセッションとなる。
Returning to FIG. 13, the
図17は状態変化発生時の処理例を示すフローチャートである。 FIG. 17 is a flowchart showing an example of processing when a state change occurs.
図17において、サーバは何かしらの状態変化が発生した際、状態変化通知種類テーブルを参照し(ステップS16)、対象の状態変化に対する通知要求があるかどうか判断する(ステップS17)。通知要求がされていない状態変化の場合(ステップS17のNO)、処理は終了となる。 In FIG. 17, when any state change occurs, the server refers to the state change notification type table (step S16) and determines whether there is a notification request for the target state change (step S17). In the case of a state change for which no notification request has been made (NO in step S17), the process ends.
そして、通知要求がされている状態変化の場合(ステップS17のYES)、状態変化種類に合わせたレスポンスデータ(分割レスポンスによる部分的なレスポンスデータ)を生成し(ステップS18)、それをクライアントに送信する(ステップS19)。図18はクライアントに通知されるレスポンスデータの例を示す図である。また、図19は印刷ジョブの状態変化に対するデータの例、図20は機器の状態変化に対するデータの例、図21は機器システムの状態変化に対するデータの例を示している。これらは、JSON形式等により記述される。 Then, in the case of a state change for which a notification request has been made (YES in step S17), response data (partial response data by a divided response) corresponding to the state change type is generated (step S18), and is transmitted to the client. (Step S19). FIG. 18 is a diagram illustrating an example of response data notified to the client. FIG. 19 shows an example of data with respect to a change in the status of the print job, FIG. 20 shows an example of data with respect to a change in the status of the device, and FIG. 21 shows an example of data with respect to a change in the status of the device system. These are described in the JSON format or the like.
このように、クライアント毎に状態変化通知要求を1つだけ(生存期間の長いセッションを1つだけ)として、クライアントが必要な状態変化をサーバ側に通知する手段を設け、クライアントへのレスポンスに状態変化の種類情報を付加することで、1つのクライアントに対する状態変化通知用セッションを1本としたまま、クライアントが必要な状態変化を通知することができる。 In this way, only one status change notification request is made for each client (only one session with a long lifetime), and a means for the client to notify the server of the necessary status change is provided, and the status in response to the client By adding the change type information, the client can notify the necessary state change while keeping one state change notification session for one client.
<状態通知の動作例#2>
上述した状態通知の動作例#1では、1つのクライアントに対する状態変化通知用セッションを1本としたまま、クライアントが必要な状態変化を通知する方式について示した。しかし、動作例#1の方式では同一クライアントから状態変化通知リクエストがきた場合でも、状態変化通知用セッションを形成してしまう。一般に公開されるWebAPIではクライアントにAPIの利用方法を強制することは難しいため、同一クライアントから2回以上の状態変化通知リクエストがくることは十分に起こりえる。
<
In the state notification operation example # 1 described above, a method is shown in which a client notifies a necessary state change while keeping one state change notification session for one client. However, in the method of the operation example # 1, even when a state change notification request is received from the same client, a state change notification session is formed. In a publicly available Web API, it is difficult to force the client to use the API, so it is possible that two or more state change notification requests will be received from the same client.
そこで、動作例#2では、同一クライアントからの状態変化通知リクエストがきた場合、新規に状態変化通知用セッションを形成するのではなく、要求が無効である旨をレスポンスデータとして返すようにしている。
Therefore, in the
図22はWebAPIによる状態通知の処理例を示すシーケンス図である。 FIG. 22 is a sequence diagram showing an example of status notification processing by WebAPI.
図22において、クライアントとなる操作部3の操作部アプリ301がサーバとなる本体部2に対して要求元識別ID発行リクエストを送信すると(ステップS21)、本体部2は要求元識別IDを発行し、要求元識別IDを含むレスポンスを操作部アプリ301に送信する(ステップS22)。
22, when the
その後、操作部アプリ301が要求元識別IDを伴う状態変化通知種類設定リクエストを本体部2に送信すると(ステップS23)、本体部2は処理完了によりレスポンスを操作部アプリ301に送信する(ステップS24)。
Thereafter, when the
その後、操作部アプリ301は本体部2に要求元識別IDを伴う状態変化通知リクエストを送信する(ステップS25)。
Thereafter, the
図23は状態変化通知リクエストを受信したサーバ側の処理例を示すフローチャートである。 FIG. 23 is a flowchart illustrating an example of processing on the server side that has received the state change notification request.
図23において、本体部2は状態変化通知リクエストを受信すると、クライアント管理テーブルを参照する(ステップS201)。
In FIG. 23, when receiving the state change notification request, the
図24はクライアント管理テーブルの例を示す図である。クライアント管理テーブルにはサーバ側で発行した要求元識別IDを登録し、状態変化通知リクエストがされたクライアントが登録されている否かを確認するのに用いる。今の例では、クライアントを識別するためのIDをサーバ側で発行しているが、クライアントを特定する情報であれば、発行する方式をとる必要はない。例えば、クライアントのIPアドレス等を利用する等が考えられる。 FIG. 24 is a diagram illustrating an example of a client management table. The request source identification ID issued on the server side is registered in the client management table, and is used to check whether or not the client for which the state change notification request has been made is registered. In this example, an ID for identifying a client is issued on the server side. However, it is not necessary to use a method of issuing an ID as long as the information identifies the client. For example, it is possible to use the IP address of the client.
図23に戻り、本体部2は状態変化通知リクエストを送信してきたクライアントがクライアント管理テーブルに登録されているか判断する(ステップS202)。
Returning to FIG. 23, the
クライアント管理テーブルに登録されていない場合(ステップS202のNO)、クライアント管理テーブルに登録する(ステップS203)。また、そのクライアントは状態変化通知用セッションをまだ形成していないため、状態変化通知用セッションを形成する(ステップS204)。 If it is not registered in the client management table (NO in step S202), it is registered in the client management table (step S203). Further, since the client has not yet formed a state change notification session, a state change notification session is formed (step S204).
クライアント管理テーブルに既に登録されている場合(ステップS202のYES)、既に状態変化通知用セッションを形成しているため、リクエストが無効であることをクライアントに通知する(ステップS205)。 If already registered in the client management table (YES in step S202), the client notifies the client that the request is invalid because the state change notification session has already been formed (step S205).
<総括>
以上説明したように、本実施形態によれば、クライアントとなる情報処理装置に対してサーバとなる情報処理装置の状態変化を通知する際に、通信のリソースを圧迫しないものとすることができる。
<Summary>
As described above, according to the present embodiment, when notifying a change in the state of an information processing apparatus serving as a server to an information processing apparatus serving as a client, communication resources can be prevented from being compressed.
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。 The present invention has been described above by the preferred embodiments of the present invention. While the invention has been described with reference to specific embodiments, various modifications and changes may be made to the embodiments without departing from the broad spirit and scope of the invention as defined in the claims. Obviously you can. In other words, the present invention should not be construed as being limited by the details of the specific examples and the accompanying drawings.
1 画像形成装置
2 本体部
201 CPU
202 RAM
203 NV−RAM
204 プログラムROM
205 フォントROM
206 ネットワークインタフェース
207 操作部インタフェース
208 プリンタエンジンインタフェース
209 スキャナエンジンインタフェース
210 HDD
211 オプションRAM
212 プリンタエンジン
213 スキャナエンジン
221 PDL解析モジュール
222 プリンタジョブ管理モジュール
223 コピージョブ管理モジュール
224 スキャナジョブ管理モジュール
225 ネットワーク管理モジュール
226 Webサービス提供モジュール
227 印刷管理モジュール
228 システム管理モジュール
229 メモリ管理モジュール
230 サービス提供モジュール群
3 操作部
301〜303 操作部アプリ
4、4A〜4C ホストコンピュータ
DESCRIPTION OF SYMBOLS 1
202 RAM
203 NV-RAM
204 Program ROM
205 Font ROM
206
211 Option RAM
212
Claims (10)
前記第1の情報処理装置は、通知すべき状態の種類を設定するリクエストを前記第2の情報処理装置に送信する手段を備え、
前記第2の情報処理装置は、
前記第1の情報処理装置から通知すべき状態の種類を設定するリクエストを受信した場合に、通知すべき状態の種類を内部に保持し、設定完了のレスポンスを前記第1の情報処理装置に対して送信する手段と、
通知すべき状態変化が発生した場合に、前記第1および第2の情報処理装置間に維持されるセッションを用いて、状態の種類と状態の値を含むレスポンスを前記第1の情報処理装置に対して送信する手段と
を備えたことを特徴とする情報処理システム。 Information for transmitting a status notification request from the first information processing apparatus to the second information processing apparatus, and transmitting a status notification response from the second information processing apparatus to the first information processing apparatus A processing system,
The first information processing apparatus includes means for transmitting a request for setting a type of state to be notified to the second information processing apparatus,
The second information processing apparatus
When a request for setting the type of state to be notified is received from the first information processing apparatus, the type of state to be notified is held internally, and a response indicating completion of setting is sent to the first information processing apparatus. And means for transmitting
When a state change to be notified occurs, a response including a state type and a state value is sent to the first information processing device using a session maintained between the first and second information processing devices. An information processing system comprising means for transmitting to the information processing system.
前記第1の情報処理装置は、リクエスト送信元のクライアントを前記第2の情報処理装置に識別させる識別情報を取得する手段を備え、通知すべき状態の種類を設定するリクエストおよび状態通知のリクエストに前記識別情報を伴い、
前記第2の情報処理装置は、同じ識別情報を有するクライアントから状態通知のリクエストを受信した場合に、当該リクエストが無効であることを前記第1の情報処理装置に通知する手段を備えたことを特徴とする情報処理システム。 The information processing system according to claim 1,
The first information processing apparatus includes means for acquiring identification information for identifying the request transmission source client to the second information processing apparatus, and includes a request for setting a state type to be notified and a request for state notification. With the identification information,
When the second information processing apparatus receives a status notification request from a client having the same identification information, the second information processing apparatus includes means for notifying the first information processing apparatus that the request is invalid. A featured information processing system.
前記第2の情報処理装置は、
前記第1の情報処理装置からのリクエストに応じて前記識別情報を発行する手段
を備えたことを特徴とする情報処理システム。 The information processing system according to claim 2,
The second information processing apparatus
An information processing system comprising means for issuing the identification information in response to a request from the first information processing apparatus.
前記第1の情報処理装置が所定の情報処理を行う本体部であり、前記第2の情報処理装置が前記本体部に対する操作を受け付ける操作部である
ことを特徴とする情報処理システム。 In the information processing system according to any one of claims 1 to 3,
An information processing system, wherein the first information processing apparatus is a main body section that performs predetermined information processing, and the second information processing apparatus is an operation section that receives an operation on the main body section.
通知すべき状態の種類を設定するリクエストを前記第2の情報処理装置に送信する手段と、
前記第2の情報処理装置から、当該第2の情報処理装置が通知すべき状態の種類を内部に保持したことを示す設定完了のレスポンスを受信する手段と、
前記第2の情報処理装置から、通知すべき状態変化が発生した場合に送信される、状態の種類と状態の値を含むレスポンスを当該第2の情報処理装置との間に維持されるセッションを用いて受信する手段と
を備えたことを特徴とする情報処理装置。 Information for transmitting a status notification request from the first information processing apparatus to the second information processing apparatus, and transmitting a status notification response from the second information processing apparatus to the first information processing apparatus The first information processing apparatus of the processing system,
Means for transmitting a request for setting the type of state to be notified to the second information processing apparatus;
Means for receiving, from the second information processing apparatus, a setting completion response indicating that the type of state to be notified by the second information processing apparatus is held inside;
A session that is transmitted from the second information processing apparatus when a state change to be notified occurs and that includes a response including the type of the state and the value of the state is maintained between the second information processing apparatus. An information processing apparatus comprising means for receiving using the information processing apparatus.
前記第1の情報処理装置から、通知すべき状態の種類を設定するリクエストを受信する手段と、
前記第1の情報処理装置から通知すべき状態の種類を設定するリクエストを受信した場合に、通知すべき状態の種類を内部に保持し、設定完了のレスポンスを前記第1の情報処理装置に対して送信する手段と、
通知すべき状態変化が発生した場合に、前記第1の情報処理装置との間に維持されるセッションを用いて、状態の種類と状態の値を含むレスポンスを前記第1の情報処理装置に対して送信する手段と
を備えたことを特徴とする情報処理装置。 Information for transmitting a status notification request from the first information processing apparatus to the second information processing apparatus, and transmitting a status notification response from the second information processing apparatus to the first information processing apparatus The second information processing apparatus of the processing system,
Means for receiving a request for setting a type of state to be notified from the first information processing apparatus;
When a request for setting the type of state to be notified is received from the first information processing apparatus, the type of state to be notified is held internally, and a response indicating completion of setting is sent to the first information processing apparatus. And means for transmitting
When a state change to be notified occurs, a response including a type of state and a state value is sent to the first information processing apparatus using a session maintained with the first information processing apparatus. And an information processing apparatus.
通知すべき状態の種類を設定するリクエストを前記第2の情報処理装置に送信する工程と、
前記第2の情報処理装置から、当該第2の情報処理装置が通知すべき状態の種類を内部に保持したことを示す設定完了のレスポンスを受信する工程と、
前記第2の情報処理装置から、通知すべき状態変化が発生した場合に送信される、状態の種類と状態の値を含むレスポンスを当該第2の情報処理装置との間に維持されるセッションを用いて受信する工程と
を備えたことを特徴とする情報処理方法。 Information for transmitting a status notification request from the first information processing apparatus to the second information processing apparatus, and transmitting a status notification response from the second information processing apparatus to the first information processing apparatus A method executed by the first information processing apparatus of a processing system,
Transmitting a request to set a type of state to be notified to the second information processing apparatus;
Receiving, from the second information processing apparatus, a setting completion response indicating that the type of state to be notified by the second information processing apparatus is held inside;
A session that is transmitted from the second information processing apparatus when a state change to be notified occurs and that includes a response including the type of the state and the value of the state is maintained between the second information processing apparatus. An information processing method comprising: a step of receiving using the information processing method.
前記第1の情報処理装置から、通知すべき状態の種類を設定するリクエストを受信する工程と、
前記第1の情報処理装置から通知すべき状態の種類を設定するリクエストを受信した場合に、通知すべき状態の種類を内部に保持し、設定完了のレスポンスを前記第1の情報処理装置に対して送信する工程と、
通知すべき状態変化が発生した場合に、前記第1の情報処理装置との間に維持されるセッションを用いて、状態の種類と状態の値を含むレスポンスを前記第1の情報処理装置に対して送信する工程と
を備えたことを特徴とする情報処理方法。 Information for transmitting a status notification request from the first information processing apparatus to the second information processing apparatus, and transmitting a status notification response from the second information processing apparatus to the first information processing apparatus A method executed by the second information processing apparatus of a processing system,
Receiving from the first information processing apparatus a request for setting a type of state to be notified;
When a request for setting the type of state to be notified is received from the first information processing apparatus, the type of state to be notified is held internally, and a response indicating completion of setting is sent to the first information processing apparatus. And the process of transmitting
When a state change to be notified occurs, a response including a type of state and a state value is sent to the first information processing apparatus using a session maintained with the first information processing apparatus. An information processing method comprising the step of:
通知すべき状態の種類を設定するリクエストを前記第2の情報処理装置に送信する手段、
前記第2の情報処理装置から、当該第2の情報処理装置が通知すべき状態の種類を内部に保持したことを示す設定完了のレスポンスを受信する手段、
前記第2の情報処理装置から、通知すべき状態変化が発生した場合に送信される、状態の種類と状態の値を含むレスポンスを当該第2の情報処理装置との間に維持されるセッションを用いて受信する手段
として機能させることを特徴とする情報処理プログラム。 Information for transmitting a status notification request from the first information processing apparatus to the second information processing apparatus, and transmitting a status notification response from the second information processing apparatus to the first information processing apparatus A computer constituting the first information processing apparatus of the processing system;
Means for transmitting a request for setting a type of state to be notified to the second information processing apparatus;
Means for receiving, from the second information processing apparatus, a setting completion response indicating that the type of state to be notified by the second information processing apparatus is held internally;
A session that is transmitted from the second information processing apparatus when a state change to be notified occurs and that includes a response including the type of the state and the value of the state is maintained between the second information processing apparatus. An information processing program that is used as a means for receiving.
前記第1の情報処理装置から、通知すべき状態の種類を設定するリクエストを受信する手段、
前記第1の情報処理装置から通知すべき状態の種類を設定するリクエストを受信した場合に、通知すべき状態の種類を内部に保持し、設定完了のレスポンスを前記第1の情報処理装置に対して送信する手段、
通知すべき状態変化が発生した場合に、前記第1の情報処理装置との間に維持されるセッションを用いて、状態の種類と状態の値を含むレスポンスを前記第1の情報処理装置に対して送信する手段
として機能させることを特徴とする情報処理プログラム。 Information for transmitting a status notification request from the first information processing apparatus to the second information processing apparatus, and transmitting a status notification response from the second information processing apparatus to the first information processing apparatus A computer constituting the second information processing apparatus of the processing system;
Means for receiving a request for setting a type of state to be notified from the first information processing apparatus;
When a request for setting the type of state to be notified is received from the first information processing apparatus, the type of state to be notified is held internally, and a response indicating completion of setting is sent to the first information processing apparatus. Means to send
When a state change to be notified occurs, a response including a type of state and a state value is sent to the first information processing apparatus using a session maintained with the first information processing apparatus. An information processing program that functions as a means for transmitting data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013265733A JP6287174B2 (en) | 2013-12-24 | 2013-12-24 | Information processing system, information processing apparatus, information processing method, and information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013265733A JP6287174B2 (en) | 2013-12-24 | 2013-12-24 | Information processing system, information processing apparatus, information processing method, and information processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015121972A true JP2015121972A (en) | 2015-07-02 |
JP6287174B2 JP6287174B2 (en) | 2018-03-07 |
Family
ID=53533526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013265733A Active JP6287174B2 (en) | 2013-12-24 | 2013-12-24 | Information processing system, information processing apparatus, information processing method, and information processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6287174B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018160737A (en) * | 2017-03-22 | 2018-10-11 | 富士ゼロックス株式会社 | Terminal device, information processing system, and program |
JP2018533092A (en) * | 2016-07-20 | 2018-11-08 | 平安科技(深▲せん▼)有限公司 | Network request and response processing method, terminal, server, and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008225718A (en) * | 2007-03-12 | 2008-09-25 | Konica Minolta Business Technologies Inc | Http server and program |
JP2008233994A (en) * | 2007-03-16 | 2008-10-02 | Ricoh Co Ltd | Event notification device and event notification method |
JP2009147668A (en) * | 2007-12-14 | 2009-07-02 | Murata Mach Ltd | Image forming apparatus |
JP2013156807A (en) * | 2012-01-30 | 2013-08-15 | Kyocera Document Solutions Inc | Network-based event notification system |
-
2013
- 2013-12-24 JP JP2013265733A patent/JP6287174B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008225718A (en) * | 2007-03-12 | 2008-09-25 | Konica Minolta Business Technologies Inc | Http server and program |
JP2008233994A (en) * | 2007-03-16 | 2008-10-02 | Ricoh Co Ltd | Event notification device and event notification method |
JP2009147668A (en) * | 2007-12-14 | 2009-07-02 | Murata Mach Ltd | Image forming apparatus |
JP2013156807A (en) * | 2012-01-30 | 2013-08-15 | Kyocera Document Solutions Inc | Network-based event notification system |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018533092A (en) * | 2016-07-20 | 2018-11-08 | 平安科技(深▲せん▼)有限公司 | Network request and response processing method, terminal, server, and storage medium |
JP2018160737A (en) * | 2017-03-22 | 2018-10-11 | 富士ゼロックス株式会社 | Terminal device, information processing system, and program |
Also Published As
Publication number | Publication date |
---|---|
JP6287174B2 (en) | 2018-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8659776B2 (en) | Print job management server which manages print jobs to be processed by an image forming apparatus | |
US8970876B2 (en) | Printing system, cloud computing system, printing system control method, and storage medium | |
US8531711B2 (en) | Print server, control method thereof, client terminal, printing system, and computer-readable medium | |
US8717601B2 (en) | Server apparatus, and terminal apparatus | |
JP5678507B2 (en) | Printing apparatus, processing method, and computer program | |
US9069497B2 (en) | Information processing apparatus having relay virtual printer and functional relay virtual printer | |
JP5995525B2 (en) | System, image forming apparatus, server, and control method thereof | |
US8405853B2 (en) | Dynamic DEVMODE support | |
JP6383175B2 (en) | Information processing apparatus, method, program, and information processing system | |
JP2012083845A (en) | Cloud computing system, information processing method and program | |
JP2012113347A (en) | Print relay system, printing system, image forming apparatus, control method for controlling print relay system, and program | |
EP2284684A2 (en) | Dynamic and real-time print schema documents | |
US10146487B2 (en) | Information processing system, apparatus, and method | |
JP2009255390A (en) | Image forming apparatus, functional cooperation control method, and functional cooperation control program | |
JP6287174B2 (en) | Information processing system, information processing apparatus, information processing method, and information processing program | |
JP2012226700A (en) | Printing system, printing relay server, control method for controlling printing relay server, and program thereof | |
JP5598345B2 (en) | Print server | |
JP6340786B2 (en) | Information processing system, information processing apparatus, information processing method, and information processing program | |
JP6021329B2 (en) | Distribution apparatus, control method, and computer program | |
JP2015022682A (en) | Print system, method, and program | |
JP5200640B2 (en) | Image processing apparatus and apparatus state monitoring method | |
JP2007213583A (en) | Method and apparatus for adaptive configuration of imaging device, and medium | |
JP2018156692A (en) | Information processing system, image forming apparatus, information processing apparatus, information processing method, and information processing program | |
JP2014170424A (en) | Information processing system, job management device, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171024 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171214 |
|
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: 20180109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180122 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6287174 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |