(57)【要約】【課題】情報が確定する条件に着目し、条件に応じて複数の取得方法を適用することにより、情報取得の効率を向上させる。【解決手段】周辺装置２００から取得した情報を保持する情報保持部１２０と、周辺装置２００から取得される情報のうち特定の情報に関して、その特定の情報が記述された部分プログラムを読み込み、情報保持部１２０に保持されている情報を参照し、読み込んだ部分プログラムを含むプログラムを実行する実行部１１０と、を備える。【選択図】図１
2018073030.tif 000002
【特許請求の範囲】
【請求項１】
外部装置から取得した情報を保持する情報保持部と、
外部装置から取得される情報のうち特定の情報に関して、当該情報が記述された部分プログラムを読み込み、前記情報保持部に保持されている情報を参照し、当該部分プログラムを含むプログラムを実行する実行部と、
を備えることを特徴とする、情報処理装置。
【請求項２】
複数の前記部分プログラムのうち少なくとも一部の部分プログラムは、前記情報保持部に取得されて保持され、前記実行部は、当該情報保持部から当該部分プログラムを読み込むことを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記情報保持部は、情報処理装置の起動と共に起動し、前記外部装置から取得する情報のうち、特定の条件を満たす情報を、自身が起動した際に外部装置から取得し、当該特定の条件を満たさない情報を、前記実行部からの要求に応じて外部装置から取得すること、を特徴とする、請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記実行部は複数設けられ、
前記情報保持部は、情報処理装置の起動と共に起動し、前記外部装置から取得する情報のうち、予め定められた数よりも多い前記実行部から参照される情報を、自身が起動した際に外部装置から取得し、予め定められた数以下の前記実行部からのみ参照される情報を、前記実行部からの要求に応じて外部装置から取得すること、を特徴とする、請求項１または請求項２に記載の情報処理装置。
【請求項５】
前記実行部は、前記外部装置から取得される情報であって、前記部分プログラムに記述されておらず、前記情報保持部に保持されない情報を、当該外部装置から直接取得することを特徴とする、請求項１乃至請求項４のいずれかに記載の情報処理装置。
【請求項６】
複数の周辺装置と、
前記周辺装置から取得した情報に基づいて処理を実行する処理装置と、を備え、
前記処理装置は、
前記周辺装置から取得した情報を保持する情報保持部と、
前記周辺装置から取得される情報のうち特定の情報に関して、当該情報が記述された部分プログラムを読み込み、前記情報保持部に保持されている情報を参照し、当該部分プログラムを含むプログラムを実行する実行部と、
を備えることを特徴とする、情報処理装置。
【請求項７】
複数の前記部分プログラムのうち、情報処理装置が起動した時点で確定される情報が記述された部分プログラムは、当該情報処理装置の起動に伴って生成され、前記情報保持部に取得されて保持され、前記実行部は、当該情報保持部から当該部分プログラムを読み込むことを特徴とする、請求項６に記載の情報処理装置。
【請求項８】
コンピュータを制御するプログラムであって、
外部装置から情報を取得して記憶装置に保持する情報保持手段と、
外部装置から取得される情報のうち特定の情報に関して、当該情報が記述された部分プログラムを読み込み、前記情報保持手段に保持されている情報を参照し、当該部分プログラムを含むプログラムを実行する実行手段として、
前記コンピュータを機能させることを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
外部装置から情報を取得して動作する情報処理装置では、情報取得の効率を向上させることが要請される。特許文献１には、複数の通信コネクションを利用し、コンテンツ取得用の通信コネクションを維持することによりサーバ装置とのデータ通信の高速化を実現する情報処理装置が開示されている。また、特許文献２には、サーバに格納されている第１データの第１更新日時を取得し、クライアントに格納されている第２データの第２更新日時を取得し、第１更新日時が第２更新日時より新しいとき第１データをクライアントに第２データとしてダウンロードすることにより、クライアント機器が最新のデータを取得するためのサーバ・クライアント間の通信負荷を小さくするデータ管理システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１２５６５７号公報
【特許文献２】特開２００２−１９６９６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報によっては、その内容が確定する条件を特定できるものがある。情報が確定した後は、その情報は変更されないので、重複して取得することは冗長である。本発明は、情報が確定する条件に着目し、条件に応じて複数の取得方法を適用することにより、情報取得の効率を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
本発明の請求項１に係る情報処理装置は、
外部装置から取得した情報を保持する情報保持部と、
外部装置から取得される情報のうち特定の情報に関して、当該情報が記述された部分プログラムを読み込み、前記情報保持部に保持されている情報を参照し、当該部分プログラムを含むプログラムを実行する実行部と、
を備えることを特徴とする、情報処理装置である。
本発明の請求項２に係る情報処理装置は、
複数の前記部分プログラムのうち少なくとも一部の部分プログラムは、前記情報保持部に取得されて保持され、前記実行部は、当該情報保持部から当該部分プログラムを読み込むことを特徴とする、請求項１に記載の情報処理装置である。
本発明の請求項３に係る情報処理装置は、
前記情報保持部は、情報処理装置の起動と共に起動し、前記外部装置から取得する情報のうち、特定の条件を満たす情報を、自身が起動した際に外部装置から取得し、当該特定の条件を満たさない情報を、前記実行部からの要求に応じて外部装置から取得すること、を特徴とする、請求項１または請求項２に記載の情報処理装置である。
本発明の請求項４に係る情報処理装置は、
前記実行部は複数設けられ、
前記情報保持部は、情報処理装置の起動と共に起動し、前記外部装置から取得する情報のうち、予め定められた数よりも多い前記実行部から参照される情報を、自身が起動した際に外部装置から取得し、予め定められた数以下の前記実行部からのみ参照される情報を、前記実行部からの要求に応じて外部装置から取得すること、を特徴とする、請求項１または請求項２に記載の情報処理装置である。
本発明の請求項５に係る情報処理装置は、
前記実行部は、前記外部装置から取得される情報であって、前記部分プログラムに記述されておらず、前記情報保持部に保持されない情報を、当該外部装置から直接取得することを特徴とする、請求項１乃至請求項４のいずれかに記載の情報処理装置である。
本発明の請求項６に係る情報処理装置は、
複数の周辺装置と、
前記周辺装置から取得した情報に基づいて処理を実行する処理装置と、を備え、
前記処理装置は、
前記周辺装置から取得した情報を保持する情報保持部と、
前記周辺装置から取得される情報のうち特定の情報に関して、当該情報が記述された部分プログラムを読み込み、前記情報保持部に保持されている情報を参照し、当該部分プログラムを含むプログラムを実行する実行部と、
を備えることを特徴とする、情報処理装置である。
本発明の請求項７に係る情報処理装置は、
複数の前記部分プログラムのうち、情報処理装置が起動した時点で確定される情報が記述された部分プログラムは、当該情報処理装置の起動に伴って生成され、前記情報保持部に取得されて保持され、前記実行部は、当該情報保持部から当該部分プログラムを読み込むことを特徴とする、請求項６に記載の情報処理装置である。
本発明の請求項８に係るプログラムは、
コンピュータを制御するプログラムであって、
外部装置から情報を取得して記憶装置に保持する情報保持手段と、
外部装置から取得される情報のうち特定の情報に関して、当該情報が記述された部分プログラムを読み込み、前記情報保持手段に保持されている情報を参照し、当該部分プログラムを含むプログラムを実行する実行手段として、
前記コンピュータを機能させることを特徴とする、プログラムである。
【発明の効果】
【０００６】
請求項１の発明によれば、特定の情報に関して、参照したり外部から取得したりする構成と比較して、情報取得の効率を向上させることができる。
請求項２の発明によれば、実行部の起動後に部分プログラムを生成する構成と比較して、情報取得の効率を向上させることができる。
請求項３の発明によれば、実行部が起動した後に、処理において参照する全ての情報を情報保持部に保持させる構成と比較して、情報取得の効率を向上させることができる。
請求項４の発明によれば、実行部が起動した後に、予め定められた数よりも多い実行部から参照される情報を情報保持部に保持させる構成と比較して、情報取得の効率を向上させることができる。
請求項５の発明によれば、全ての情報を情報保持部に保持させる構成と比較して、情報取得の効率を向上させることができる。
請求項６の発明によれば、特定の情報に関して、参照したり周辺装置から取得したりする構成と比較して、情報取得の効率を向上させることができる。
請求項７の発明によれば、情報処理装置が起動した時点で確定される情報に関して、実行部の起動後に部分プログラムを生成する構成と比較して、情報取得の効率を向上させることができる。
請求項８の発明によれば、本発明のプログラムを実行するコンピュータにおいて、特定の情報に関して、参照したり外部から取得したりする動作を排除することにより、情報取得の効率を向上させることができる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態に係る情報処理装置の全体構成を示した図である。
【図２】画像処理装置の機能構成例を示す図である。
【図３】情報保持部の起動時の処理装置および周辺装置の動作（起動シーケンス）を示す図である。
【図４】情報管理サーバに管理されている情報が更新されたときの処理装置および周辺装置の動作（更新シーケンス）を示す図である。
【図５】実行部の１回目の起動時の処理装置および周辺装置の動作（起動シーケンス）を示す図である。
【図６】実行部の再起動時（２回目以降の起動時）の処理装置および周辺装置の動作（起動シーケンス）を示す図である。
【図７】第２の実施形態に係る情報処理装置の全体構成を示した図である。
【図８】第３の実施形態に係る情報処理装置の全体構成を示した図である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
＜本実施形態が適用される情報処理装置の構成＞
図１は、本実施形態に係る情報処理装置１０の全体構成を示した図である。
本実施形態の情報処理装置１０は、処理装置１００と、複数の周辺装置２００とを備える。処理装置１００および周辺装置２００は共に、情報処理装置１０を構成する部品（モジュール）である。また、周辺装置２００は、処理装置１００に対する外部装置（外部モジュール）として位置づけられる。
【０００９】
処理装置１００は、周辺装置２００から取得した情報に基づいて処理を実行する実行部１１０と、周辺装置２００から取得した情報を保持する情報保持部１２０とを備える。実行部１１０は、処理を実行するのに参照する情報（周辺装置２００から取得される情報）を、情報保持部１２０に保持されていれば情報保持部１２０から取得し、情報保持部１２０に保持されていなければ周辺装置２００から取得する。情報保持部１２０は、予め定められた条件（例えば、情報保持部１２０の起動時や実行部１１０からの要求を受け付けた場合など）に応じて周辺装置２００から情報を取得して情報処理装置１０のメモリに保持する。したがって、情報保持部１２０は、処理装置１００における、いわゆるキャッシュメモリとして機能する。実行部１１０および情報保持部１２０の機能は、情報処理装置１０のＣＰＵ（Central Processing Unit）がプログラムを読み込んで実行することにより実現される。
【００１０】
図１に示す例では、処理装置１００内に一つの実行部１１０が図示されているが、実際の処理装置１００においては、複数の実行部１１０が設けられる。各実行部１１０は、各々に予め設定された起動条件を満足すると起動し、各々に予め設定された停止条件を満足すると停止する。例えば、情報処理装置１０の操作者による起動操作が行われると起動し、停止操作が行われると停止するように構成してもよい。また、特定の実行部１１０の動作において他の特定の実行部１１０を呼び出して起動させたり、停止させたりするように構成してもよい。さらに、自身の処理において参照する周辺装置２００の情報が変化したことを条件として起動するように構成してもよい。情報保持部１２０は、処理装置１００が起動するのに伴って起動し、処理装置１００が停止するまで動作し続ける。
【００１１】
周辺装置２００は、予め定められた処理や制御を行い、情報処理装置１０の各種機能を担う装置である。図１に示す例では、周辺装置２００として３種類のサーバのみが図示されているが、実際には、情報処理装置１０において実現が求められる機能等に応じて、種々の周辺装置２００が設けられる。いくつかの周辺装置２００は、特定の機構を制御したりデータを処理したりするための演算手段や記憶手段を有する。いくつかの周辺装置２００の記憶手段には、処理装置１００の実行部１１０が処理を実行する際に参照する情報が格納されている。また、詳しくは後述するが、いくつかの周辺装置２００の演算手段は、情報処理装置１０の起動時に、実行部１１０が実行可能なプログラム（プログラムモジュール）を生成する。
【００１２】
また、本実施形態では、周辺装置２００として、処理装置１００に対する他の周辺装置２００の情報の送信制御を行うサーバが設けられる。図１に示す例では、このサーバとして、プログラム管理サーバ２１０と、情報管理サーバ２２０と、通知サーバ２３０とを備える。プログラム管理サーバ２１０は、処理装置１００の実行部１１０により実行されるプログラムを管理する。情報管理サーバ２２０は、処理装置１００の実行部１１０が処理を実行する際に参照する情報を管理する。通知サーバ２３０は、情報管理サーバ２２０により管理されている情報が更新された場合に、情報が更新されたことを処理装置１００に通知する。
【００１３】
ここで、一例として、処理装置１００と周辺装置２００（プログラム管理サーバ２１０、情報管理サーバ２２０および通知サーバ２３０）との間の通信がＨＴＴＰにより行われる場合を考える。この場合、例えば、プログラム管理サーバ２１０としてＷｅｂサーバを、情報管理サーバ２２０としてＳｏａｐサーバを、通知サーバ２３０としてＷｅｂ  Ｓｏｃｋｅｔサーバを、それぞれ用いて構成してよい。
【００１４】
本実施形態の情報処理装置１０は、処理装置１００と複数の周辺装置２００とを内包し、処理装置１００が周辺装置２００から取得する情報に基づいて処理を実行するような種々の装置に適用し得る。そのように構成された具体的な装置の一例として、画像処理装置に本実施形態の情報処理装置１０を適用した例について説明する。
【００１５】
図２は、画像処理装置の機能構成例を示す図である。
図２に示すように、画像処理装置２０は、画像を読み取る読み取り部２１と、画像処理を行う画像処理部２２と、用紙等の記録材に画像を形成する画像形成部２３とを備える。また、画像処理装置２０は、記録材を格納する記録材格納部２４と、記録材を搬送する搬送機構２５とを備える。また、画像処理装置２０は、ファクシミリによる送受信を行うファクシミリ送受信部２６と、ネットワークによるデータ通信を行うデータ通信部２７とを備える。さらに、画像処理装置２０は、各部の動作を制御する制御部２８と、画像処理装置２０の各種の機能を利用するための操作を受け付ける操作部２９とを備える。なお、図２に示す機能構成は例示に過ぎず、本実施形態の情報処理装置１０を適用可能な画像処理装置は、図２に示す構成に限定されない。例えば、読み取り部２１やファクシミリ送受信部２６を有しないプリンタ専用機に本実施形態の情報処理装置１０を適用してもよい。また、画像が形成されて排出された記録材に対して綴じ処理等を行う後処理装置等の外部装置を周辺装置２００として付加した装置に本実施形態の情報処理装置１０を適用してもよい。
【００１６】
本実施形態の情報処理装置１０を図２に示す画像処理装置２０に適用する場合、例えば、操作部２９を処理装置１００とし、その他の各部を周辺装置２００とすることができる。ここで、操作部２９は、例えば、操作項目や設定内容を切り替え表示可能な表示部と、表示部に表示された画面（操作画面）に基づいて入力操作を行うための操作デバイスとを備える。表示部としては、例えば、液晶ディスプレイが用いられる。操作デバイスとしては、例えば、ボタンキーやタッチセンサ等が用いられる。一例として、表示部としての液晶ディスプレイにタッチセンサを組み合わせて構成したタッチパネルにより操作部２９を構成してもよい。
【００１７】
上述したように、処理装置１００と周辺装置２００との間の通信をＨＴＴＰにより行い、操作部２９を処理装置１００とする場合、実行部１１０および情報保持部１２０を含む処理装置１００の機能は、例えば、ウェブブラウザにより実現される。また、この場合、処理装置１００の実行部１１０および情報保持部１２０は、ウェブブラウザ上で動作するスクリプト等により実現される。実行部１１０は、例えば、複写機能を使用するための操作を受け付ける実行部１１０、画像形成出力機能を使用するための操作を受け付ける実行部１１０、画像読み取り機能を使用するための操作を受け付ける実行部１１０等のように、機能ごとに設けてもよい。
【００１８】
処理装置１００としての操作部２９は、周辺装置２００としての読み取り部２１、画像処理部２２、画像形成部２３、記録材格納部２４、搬送機構２５、ファクシミリ送受信部２６、データ通信部２７および制御部２８から情報を取得する。具体例を挙げると、画像形成部２３からは、カラーによる画像形成が可能か、白黒による画像形成のみが可能かの情報が得られる。また、記録材格納部２４からは、記録材を格納するトレイの段数、各トレイの記録材の有無およびサイズ等の情報が得られる。また、制御部２８からは、搭載しているメモリの記憶容量、各種機能が有効か無効かの別、各種機能に関する情報を表示するか非表示とするか、ネットワークの接続状況などの情報が得られる。そして、操作部２９は、各周辺装置２００から取得した情報に基づいて操作画面を編集し、表示部に表示する。
【００１９】
本実施形態の情報処理装置１０としての画像処理装置２０には、ＣＰＵおよび記憶装置を備えた制御装置（コンピュータ）が設けられている。この制御装置は、処理装置１００の実行部１１０として機能するとともに、周辺装置２００である制御部２８として機能する。また、画像処理部２２、ファクシミリ送受信部２６やデータ通信部２７の制御手段などとしても機能する。制御装置の記憶装置には、ＣＰＵが実行するプログラムを格納した不揮発性のＲＯＭ（Read Only Memory）と、ＣＰＵの処理において作業メモリ等として用いられるＲＡＭ（Random Access Memory）とが設けられる。ＣＰＵが記憶装置に格納されているプログラムを実行することにより、処理装置１００および周辺装置２００の各機能が実現される。なお、ここでは、処理装置１００の機能を実現するＣＰＵと周辺装置２００の機能を実現するＣＰＵとを特に区別していないが、かかるハードウェアの構成については特に限定しない。例えば、一つのＣＰＵが各装置の機能を実現する複数のプログラムをそれぞれ実行するように構成してもよいし、各装置が個別にプログラムを実行するプロセッサを有する構成としてもよい。
【００２０】
周辺装置２００としての制御部２８は、図１を参照して説明したプログラム管理サーバ２１０、情報管理サーバ２２０および通知サーバ２３０として機能する。すなわち、制御部２８は、プログラム管理サーバ２１０として、処理装置１００の実行部１１０により実行されるプログラムを管理する。また、制御部２８は、情報管理サーバ２２０として、処理装置１００の実行部１１０が処理を実行する際に参照する情報を周辺装置２００から情報を取得し、管理する。また、制御部２８は、通知サーバ２３０として、情報管理サーバ２２０により管理されている情報が更新された際に、処理装置１００に通知する。
【００２１】
＜処理装置が周辺装置から取得する情報の分類＞
本実施形態では、処理装置１００が各周辺装置２００から取得する情報を、その情報の内容が確定する条件に基づいて分類する。具体的には、情報が確定する時期的条件に基づいて、情報を分類する。一例として、情報処理装置１０を画像処理装置２０に適用する場合を例として、周辺装置２００から取得される情報を分類する。
【００２２】
まず、情報処理装置１０（画像処理装置２０）のファームウェア作成時に確定する情報がある。すなわち、変更されることのない情報である。例えば、製品名、主要機能の種類（画像処理装置２０では、例えば複合機、プリンタ専用機、複写機の別を示す情報）、主要機能の性能（画像処理装置２０では、例えば複写機能がカラーか白黒のみかを示す情報）等の情報である。以下の説明では、このファームウェア作成時に確定する情報を、第１情報と呼ぶ。
【００２３】
また、情報処理装置１０の起動時に確定する情報がある。これは、ハードウェアの変更等により変更される場合があるが、情報処理装置１０の動作中には変更されることのない情報である。例えば、制御装置に搭載されたメモリの記憶容量、記録材を格納するトレイの段数、後処理装置等の外部装置が付加されている場合は、その外部装置の種類等の情報である。以下の説明では、この情報処理装置１０の起動時に確定する情報を、第２情報と呼ぶ。
【００２４】
また、情報処理装置１０が起動した後、処理装置１００や周辺装置２００の初期化動作が終了した時点で確定する情報がある。これは、設定変更等により情報が変更された場合は、該当装置や他の装置の初期化動作を行うことが必要となるような情報である。例えば、周辺装置２００の機能が有効か無効か、周辺装置２００の機能を処理装置１００の実行部１１０の表示部に表示するか否か、後処理装置等の外部装置が付加されている場合は、その外部装置の状態（故障の有無等）、ネットワークの接続状態等の情報である。以下の説明では、この初期化動作が終了した時点で確定する情報を、第３情報と呼ぶ。
【００２５】
また、情報処理装置１０が、特定の機能を使用するために操作者の認証を必要とする仕組みを有する場合、認証が行われたときに確定する情報がある。例えば、認証により特定された操作者に関連付けられた固有の設定情報などである。以下の説明では、この認証動作時に確定する情報を、第４情報と呼ぶ。
【００２６】
また、特定の機能が利用されるとき（その機能を実現するソフトウェアが起動したとき）に確定する情報がある。例えば、記録材格納部２４の各トレイに格納されている記録材のサイズは、指定されたサイズの記録材に画像を形成する画像形成部２３の機能が利用されるときに確定する。以下の説明では、この特定の機能が利用されるとき（ソフトウェアの起動時）に確定する情報を、第５情報と呼ぶ。
【００２７】
また、設定変更等により特定の機能が選択されたときに確定する情報がある。例えば、記録材格納部２４において使用されていなかったトレイを使用するように設定変更が行われると、新たに使用するように設定されたトレイに記録材が格納されているか否かの情報が確定する。以下の説明では、この設定変更により特定の機能が選択されたときに確定する情報を、第６情報と呼ぶ。
【００２８】
なお、上記の分類のうち、情報処理装置１０が起動した時点で情報が確定する第１情報および第２情報を除き、第３情報〜第６情報は、情報が確定する条件に基づく分類の一例である。第３情報〜第６情報に関して示した条件以外にも、情報が確定する条件を特定し、そのような条件に基づいて情報を分類してよい。
【００２９】
＜情報の取得手段＞
本実施形態では、処理装置１００が周辺装置２００から情報を取得する場合に、上記のように分類した情報に関し、その分類に応じて、相異なる取得手段により取得する。なお、本実施形態において、処理装置１００が周辺装置２００から取得する情報は、プログラムの変数や値として表現されるものとする。
【００３０】
第１情報は、ファームウェア作成時に確定し、その後変更されることがない。そこで、第１情報は、処理装置１００の実行部１１０が実行するプログラムに書き込まれる。そして、処理装置１００が、このプログラムを読み込むことにより、第１情報を取得する。上述したように、処理装置１００の機能がウェブブラウザにより実現される場合、例えば、第１情報を変数や値として記述したJavaScript（登録商標）ファイルやJSON(JavaScript Object Notation)ファイル等の形式のプログラムとすることができる。これらのファイルは、ウェブブラウザの機能により直接ロードし解釈することができる。この第１情報が書き込まれたプログラムは、他のプログラムやファームウェア等と共に、ＲＯＭやＨＤＤ（Hard Disk Drive）等の不揮発性の記憶装置に格納して情報処理装置１０に組み込まれる。そして、情報処理装置１０の起動時に、プログラム管理サーバ２１０が、記憶装置から読み出して処理装置１００へ送信する。
【００３１】
第２情報は、情報処理装置１０の起動時に確定し、その後、情報処理装置１０の動作中に変更されることがない。そこで、第２情報に関しても、第１情報と同様に、処理装置１００の実行部１１０が実行するプログラムに書き込まれる。そして、処理装置１００が、このプログラムを読み込むことにより、第２情報を取得する。プログラムは、第１情報と同様に、第２情報を変数や値として記述したJavaScriptファイルやJSONファイル等の形式のプログラムとすることができる。
【００３２】
ところで、第２情報は、情報処理装置１０の起動時に確定する。したがって、この第２情報が書き込まれたプログラムは、情報処理装置１０の起動時に、例えば第２情報を有する周辺装置２００により生成される。そして、プログラム管理サーバ２１０が、周辺装置２００からプログラムを取得し、処理装置１００へ送信する。
【００３３】
以上のように、第１情報および第２情報は、情報処理装置１０が起動した後、動作中は変更されることがないため、処理装置１００は、情報を記述したプログラムの形式で周辺装置２００（プログラム管理サーバ２１０）から取得する。処理装置１００は、処理装置１００の機能を実現するプログラム（ウェブブラウザ）上で動作する部分プログラム（プログラムモジュール）として、取得したプログラムを実行する。このような構成とすることにより、処理装置１００は、第１情報および第２情報に関しては、処理の実行中に外部（周辺装置２００および情報保持部１２０）から取得する必要がなくなり、通信量が削減される。
【００３４】
第３情報は、処理装置１００や周辺装置２００の初期化動作が終了した時点で確定する情報である。したがって、情報処理装置１０の動作中であっても、設定操作等により変更されることがあり得る。そのため、第１情報や第２情報のように、第３情報を記述したプログラムの形式で周辺装置２００から処理装置１００へ提供することができない。したがって、第３情報は、処理装置１００の実行部１１０が実行するプログラムの変数や値の形式で周辺装置２００から処理装置１００へ送られる。なお、各周辺装置２００の情報は、情報管理サーバ２２０が、各周辺装置２００から取得し、処理装置１００へ送る。
【００３５】
ところで、第３情報は、変更される可能性のある情報ではあるが、変更されるのは設定変更が行われたときに限られる。したがって、情報が確定している特定の時点で、処理装置１００が周辺装置２００（情報管理サーバ２２０）から第３情報を取得し、情報保持部１２０に保持しておいてもよい。このようにすれば、処理装置１００が第３情報を参照しようとする場合、該当する第３情報が情報保持部１２０に保持されているならば、周辺装置２００から取得する必要はなく、情報保持部１２０から読み出して参照すればよい。そのため、通信量が削減される。
【００３６】
第４情報は、操作者の認証が行われたときに確定する情報である。したがって、第３情報と同様に、情報処理装置１０の動作中に変更されることがあるため、第４情報を記述したプログラムの形式で周辺装置２００から処理装置１００へ提供することができない。そして、第４情報は、処理装置１００の実行部１１０が実行するプログラムの変数や値の形式で周辺装置２００（情報管理サーバ２２０）から処理装置１００へ送られる。また、第４情報が変更されるのは、操作者の認証が行われたときに限られる。したがって、第３情報と同様に、情報が確定している特定の時点で、処理装置１００が周辺装置２００から第４情報を取得し、情報保持部１２０に保持しておいてもよい。
【００３７】
第５情報は、特定の機能が利用されるとき（その機能を実現するソフトウェアが起動したとき）に確定する情報である。したがって、情報処理装置１０の動作中に変更されることがあるため、第５情報を記述したプログラムの形式で周辺装置２００から処理装置１００へ提供することができない。そして、第５情報は、処理装置１００の実行部１１０が実行するプログラムの変数や値の形式で周辺装置２００（情報管理サーバ２２０）から処理装置１００へ送られる。また、第５情報が変更されるのは、特定の機能が利用されるときに限られる。したがって、情報が確定している特定の時点で、処理装置１００が周辺装置２００から第５情報を取得し、情報保持部１２０に保持しておいてもよい。
【００３８】
第６情報は、特定の機能が選択されたときに確定する情報である。したがって、情報処理装置１０の動作中に変更されることがあるため、第６情報を記述したプログラムの形式で周辺装置２００から処理装置１００へ提供することができない。そして、第６情報は、処理装置１００の実行部１１０が実行するプログラムの変数や値の形式で周辺装置２００（情報管理サーバ２２０）から処理装置１００へ送られる。また、第６情報が変更されるのは、特定の機能が選択されたときに限られる。したがって、情報が確定している特定の時点で、処理装置１００が周辺装置２００から第６情報を取得し、情報保持部１２０に保持しておいてもよい。
【００３９】
処理装置１００が処理を実行する際に参照する周辺装置２００の情報は、第１情報〜第６情報には限定されない。例えば、処理装置１００が周辺装置２００から取得しようとするときまで確定しない情報もある。具体例を挙げると、読み取り部２１が読み取った画像の枚数、画像形成部２３が画像を形成して排出した記録材の枚数、画像形成部２３が画像を形成するために用いる画像形成剤（トナー等）の残量などの情報は、情報処理装置１０（画像処理装置２０）が稼働するのに伴って変化する。そのため、処理装置１００が周辺装置２００から取得しようとするときまで確定しない。したがって、この種の情報は、処理装置１００が予め周辺装置２００から取得して情報保持部１２０に保持しても、通信量の削減には寄与しない。
【００４０】
また、第３情報〜第６情報に関しては、情報が確定している特定の時点で、処理装置１００が周辺装置２００から取得し、情報保持部１２０に保持することについて説明した。基本的には、実行部１１０の処理において最初に情報を参照することが必要となった時点で周辺装置２００から取得し、取得した情報を情報保持部１２０に保持すればよい。このようにすれば、次回以降、情報を参照する場合は、改めて周辺装置２００から取得するのではなく、情報保持部１２０から読み出して参照することができる。
【００４１】
一方、多くの実行部１１０から参照される情報や、参照頻度が高い情報については、上記の各情報が確定する条件を満足したときに、実行部１１０からの要求によらずに、情報保持部１２０自身の要求により周辺装置２００から情報を取得して保持するようにしてもよい。例えば、情報処理装置１０の起動時の初期動作として、情報保持部１２０が起動する際には各周辺装置２００の初期化動作が終了している場合、情報保持部１２０が起動した時点で第３情報を周辺装置２００から取得し、保持するようにしてよい。また、情報処理装置１０が、操作者の認証が行われた場合に処理装置１００が再起動されるような装置であれば、第４情報についても、情報保持部１２０が起動した時点で周辺装置２００から取得し、保持するようにしてよい。
【００４２】
また、情報保持部１２０は、通知サーバ２３０との間で常時通信を確立しており、第３情報〜第６情報が更新されると、通知サーバ２３０から通知を受ける。そのため、情報保持部１２０は、通知サーバ２３０からの通知に基づき、更新された情報を改めて周辺装置２００（情報管理サーバ２２０）から取得して、最新の情報を保持することができる。したがって、情報保持部１２０の起動後に更新される可能性のある情報であっても、情報保持部１２０が、起動時に周辺装置２００から取得して保持するようにしてもよい。一例として、予め定められた数よりも多い実行部１１０から参照される情報は、情報保持部１２０が起動した際に周辺装置２００から取得して保持し、予め定められた数以下の実行部からのみ参照される情報は、実行部１１０からの最初の要求に応じて周辺装置２００から取得して保持するようにしてもよい。
【００４３】
なお、第３情報〜第６情報に関して説明した上記の取得手段および取得方法は、第３情報〜第６情報に対してのみ適用可能なものではない。情報が確定する何らかの条件に基づいて分類された情報に対して、上記の取得手段および取得方法を適用してよい。
【００４４】
＜情報の取得動作＞
次に、本実施形態における処理装置１００の情報の取得動作について説明する。本実施形態では、実行部１１０と情報保持部１２０とが、各々、個別の条件で周辺装置２００から情報を取得する。以下では、情報保持部１２０の動作として、起動時の動作と保持している情報が更新された際の動作とを説明し、実行部１１０の動作として、起動時の動作と再起動時の動作とを説明する。実行部１１０は複数存在し、実行部１１０ごとに、起動時及び再起動時に同様の動作が行われる。
【００４５】
図３は、情報保持部１２０の起動時の処理装置１００および周辺装置２００の動作（起動シーケンス）を示す図である。情報保持部１２０は、処理装置１００の起動に伴って起動する。情報保持部１２０は、起動すると、まず通知サーバ２３０に対して通信確立を要求する（Ｓ３０１）。通知サーバ２３０は、情報保持部１２０との通信を確立し、情報保持部１２０に対して通信確立を成功したことを報知する（Ｓ３０２）。
【００４６】
次に、情報保持部１２０は、プログラム管理サーバ２１０に対して周辺装置２００の情報を含むプログラムファイルを要求する（Ｓ３０３）。プログラム管理サーバ２１０は、ＲＯＭ等の記憶装置に格納されている予め用意されたプログラムファイル（第１情報が記述されたプログラムファイル）と、周辺装置２００から取得したプログラムファイル（第２情報が記述されたプログラムファイル）とを情報保持部１２０に送信する（Ｓ３０４）。情報保持部１２０は、プログラム管理サーバ２１０から受信したプログラムファイルを保持する（Ｓ３０５）。
【００４７】
次に、情報保持部１２０は、情報管理サーバ２２０に対して周辺装置２００の情報（第３情報〜第６情報）を要求する（Ｓ３０６）。情報管理サーバ２２０は、周辺装置２００から取得した情報（実行部１１０が実行するプログラムの変数や値の形式で表現された情報）を情報保持部１２０に送信する（Ｓ３０７）。そして、情報保持部１２０は、情報管理サーバ２２０から受信した情報を保持する（Ｓ３０８）。
【００４８】
図４は、情報管理サーバ２２０に管理されている情報が更新されたときの処理装置１００および周辺装置２００の動作（更新シーケンス）を示す図である。情報管理サーバ２２０に管理されている情報が更新されると、通知サーバ２３０がこれを検知し（Ｓ４０１）、更新された情報を情報保持部１２０に通知する（Ｓ４０２）。情報保持部１２０は、通知サーバ２３０からの通知に基づき、該当する情報を更新する（Ｓ４０３）。
【００４９】
図５は、実行部１１０の１回目の起動時の処理装置１００および周辺装置２００の動作（起動シーケンス）を示す図である。実行部１１０は、情報処理装置１０の操作者による操作や他の実行部１１０からの呼び出し等の予め定められた起動条件を満足すると起動する。実行部１１０は、起動すると、まずプログラム管理サーバ２１０および情報保持部１２０に対して周辺装置２００の情報を含むプログラムファイルを要求する（Ｓ５０１）。プログラム管理サーバ２１０は、ＲＯＭ等の記憶装置に格納されている予め用意されたプログラムファイル（第１情報が記述されたプログラムファイル）と、周辺装置２００から取得したプログラムファイル（第２情報が記述されたプログラムファイル）とを実行部１１０に送信する（Ｓ５０２）。また、情報保持部１２０は、周辺装置２００から取得したプログラムファイル（第２情報が記述されたプログラムファイル）を保持していれば、実行部１１０に送信する。実行部１１０は、プログラム管理サーバ２１０および情報保持部１２０から受信したプログラムファイルを読み込む（Ｓ５０３）。
【００５０】
次に、実行部１１０は、周辺装置２００の情報（第１情報および第２情報以外の情報）を取得する。ここでは、情報の種類に応じて、実行部１１０、情報保持部１２０、情報管理サーバ２２０が、異なる動作を行う。ここでは、情報の種類として、情報保持部１２０が起動した際に情報管理サーバ２２０から取得され、情報保持部１２０に保持されている情報（以下、第１保持情報）、実行部１１０による最初の要求に応じて情報管理サーバ２２０から取得され、情報保持部１２０に保持される情報（以下、第２保持情報）、情報保持部１２０には保持されない情報（以下、非保持情報）があるものとする。図５に示す例では、第２保持情報、非保持情報、第１保持情報の順で、実行部１１０が情報を要求するものとする。
【００５１】
実行部１１０は、まず情報保持部１２０に対して第２保持情報を要求する（Ｓ５０４）。この要求が情報処理装置１０の起動後、実行部１１０による最初の要求である場合、第２保持情報は情報保持部１２０に保持されていない。したがって、情報保持部１２０は、情報管理サーバ２２０に対して、この第２保持情報を要求する（Ｓ５０５）。次に、実行部１１０は、情報管理サーバ２２０に対して非保持情報を要求する（Ｓ５０６）。非保持情報は情報保持部１２０には保持されないため、実行部１１０から直接、情報管理サーバ２２０に対して要求される。
【００５２】
次に、実行部１１０は、情報保持部１２０に対して第１保持情報を要求する（Ｓ５０７）。第１保持情報は、情報が確定する条件を満足した段階で情報保持部１２０により保持されている。したがって、情報保持部１２０は、実行部１１０からの要求に応じて第１保持情報を返す（Ｓ５０８）。すなわち、この第１保持情報のやり取りは、処理装置１００における実行部１１０と情報保持部１２０との間でのみ行われ、処理装置１００と周辺装置２００との間の通信は行われない。
【００５３】
情報管理サーバ２２０は、情報保持部１２０から受け付けた要求に応じて、第２保持情報を情報保持部１２０へ返信する（Ｓ５０９）。情報保持部１２０は、情報管理サーバ２２０から受信した第２保持情報を保持するとともに（Ｓ５１０）、実行部１１０へ送信する（Ｓ５１１）。この第２保持情報は、一度、情報保持部１２０に保持された後は、実行部１１０が停止しても保持し続けられる。また、情報管理サーバ２２０は、実行部１１０から受け付けた要求に応じて、非保持情報を実行部１１０へ返信する（Ｓ５１２）。
【００５４】
図６は、実行部１１０の再起動時（２回目以降の起動時）の処理装置１００および周辺装置２００の動作（起動シーケンス）を示す図である。再起動時の実行部１１０の動作は、図５に示した１回目の起動時の動作と同様である。すなわち、実行部１１０は、起動すると、まずプログラム管理サーバ２１０および情報保持部１２０に対して周辺装置２００の情報を含むプログラムファイルを要求する（Ｓ６０１）。プログラム管理サーバ２１０は、第１情報が記述されたプログラムファイルと、第２情報が記述されたプログラムファイルとを実行部１１０に送信する（Ｓ６０２）。また、情報保持部１２０は、第２情報が記述されたプログラムファイルを保持していれば、実行部１１０に送信する。実行部１１０は、プログラム管理サーバ２１０および情報保持部１２０から受信したプログラムファイルを読み込む（Ｓ６０３）。
【００５５】
実行部１１０は、周辺装置２００の情報（第１情報および第２情報以外の情報）を取得する。ここでは、図５を参照して説明した動作と同様に、第２保持情報、非保持情報、第１保持情報の順で、実行部１１０が情報を要求するものとする。すなわち、実行部１１０は、まず情報保持部１２０に対して第２保持情報を要求する（Ｓ６０４）。次に、実行部１１０は、情報管理サーバ２２０に対して非保持情報を要求する（Ｓ６０５）。次に、実行部１１０は、情報保持部１２０に対して第１保持情報を要求する（Ｓ６０６）。
【００５６】
このとき、情報保持部１２０は、第１保持情報とともに、実行部１１０の１回目の動作時に実行部１１０からの要求により取得した第２保持情報を保持している。したがって、情報保持部１２０は、実行部１１０からの要求に応じて、第２保持情報を実行部１１０へ送信する（Ｓ６０７）。また、情報保持部１２０は、実行部１１０からの要求に応じて、第１保持情報を実行部１１０へ送信する（Ｓ６０８）。また、情報管理サーバ２２０は、実行部１１０から受け付けた要求に応じて、非保持情報を実行部１１０へ返信する（Ｓ６０９）。
【００５７】
以上のように、本実施形態によれば、実行部１１０の２回目以降の起動時には、第２保持情報が情報保持部１２０に保持されている。したがって、第２保持情報のやり取りは、処理装置１００における実行部１１０と情報保持部１２０との間でのみ行われ、処理装置１００と周辺装置２００との間の通信は行われない。
【００５８】
＜他の実施形態＞
図７は、第２の実施形態に係る情報処理装置１０の全体構成を示した図である。図７に示す構成において、処理装置１００は、第１実行部１３０と、第２実行部１４０と、情報保持部１２０とを備える。情報保持部１２０は、図１を参照して説明した情報保持部１２０と同様である。また、図７に示す構成において、周辺装置２００は、図１を参照して説明した周辺装置２００と同様である。
【００５９】
第１実行部１３０と第２実行部１４０とは対になっており、図１を参照して説明した処理装置１００において複数の実行部１１０があることとしたように、図７に示す処理装置１００には、第１実行部１３０と第２実行部１４０との組が複数存在する。例えば、図２に示した画像処理装置２０の操作部２９に、図７に示す処理装置１００を適用する場合を考える。この場合、第１実行部１３０は、例えば、操作画面の表示切替を制御したり、操作者の操作を受け付けて周辺装置２００の制御命令を出力したりする機能を担うものとする。また、第２実行部１４０は、周辺装置２００の情報に基づいて操作画面を編集し、表示部に表示する機能を担うものとする。
【００６０】
第１実行部１３０は、情報保持部１２０と同様に、処理装置１００が起動するのに伴って起動し、処理装置１００が停止するまで動作し続ける。また、第１実行部１３０は、例えば起動時に、自身または自身に対応する第２実行部１４０のみが参照する（他の第１実行部１３０が参照しない）第２保持情報を、周辺装置２００（情報管理サーバ２２０）から取得し保持する。
【００６１】
第２実行部１４０は、予め設定された起動条件を満足すると起動し、予め設定された停止条件を満足すると停止する。例えば、情報処理装置１０の操作者による操作に応じて起動し、停止するように構成してもよい。また、他の第１実行部１３０や第２実行部１４０からの呼び出しや、自身と対をなす第１実行部１３０の処理において参照する周辺装置２００の情報が変化したことを条件として起動するように構成してもよい。
【００６２】
第２実行部１４０は、起動すると、図５および図６に示した実行部１１０の動作と同様に、プログラム管理サーバ２１０および情報保持部１２０に対して周辺装置２００の情報を含むプログラムファイルを要求し、プログラム管理サーバ２１０および情報保持部１２０から受信したプログラムファイルを読み込む。また、第２実行部１４０は、第１実行部１３０に保持されている自身のみが参照する第２保持情報を、情報保持部１２０に保持されている第１保持情報および第２保持情報を、周辺装置２００（情報管理サーバ２２０）から非保持情報を、それぞれ取得する。
【００６３】
本実施形態によれば、第２実行部１４０が起動した時点で、自身のみが参照する第２保持情報が第１実行部１３０に保持されている。したがって、第２実行部１４０の１回目の起動時であっても、処理装置１００と周辺装置２００との間の通信を省略することができる。
【００６４】
図８は、第３の実施形態に係る情報処理装置１０の全体構成を示した図である。図８に示す構成において、処理装置１００は、図７を参照して説明した処理装置１００と同様である。また、図８に示す構成において、周辺装置２００は、プログラム管理サーバ２１０と、情報管理サーバ２２０と、通知サーバ２３０と、プログラム生成サーバ２４０とを含む。プログラム管理サーバ２１０、情報管理サーバ２２０および通知サーバ２３０は、図１を参照して説明した各サーバと同様である。プログラム生成サーバ２４０は、第３情報〜第６情報のうちで確定したもの（情報が確定する条件を満足したもの）がある場合に、その情報を変数や値として記述したプログラムを生成する。生成されたプログラムは、プログラム管理サーバ２１０により管理される。そして、処理装置１００の第１実行部１３０や情報保持部１２０からの要求に応じて、プログラム管理サーバ２１０から第１実行部１３０または情報保持部１２０へ送信される。
【００６５】
上述した情報の分類による第３情報〜第６情報は、それぞれ特定の条件を満足すると情報が確定する。そこで、本実施形態のプログラム生成サーバ２４０は、第３情報〜第６情報に関して、情報が確定した（情報が確定する条件を満足した）後に、その情報を含むプログラムを生成する。例えば、第３情報として、周辺装置２００の機能設定における機能情報を考える。この機能情報が追加、修正、削除などにより更新されたとき、更新後の情報は、その周辺装置２００の初期化動作が行われることにより確定する。そこで、周辺装置２００の初期化動作が終了した後に、更新後の機能情報を変数や値として記述したプログラムを生成する。また、第４情報として、認証を条件として適用される設定情報を考える。この設定情報が追加、修正、削除などにより更新されたとき、更新後の情報は、操作者の認証が行われたときに確定する。そこで、操作者の認証が行われた後に、更新後の設定情報を変数や値として記述したプログラムを生成する。また、認証情報が追加、修正、削除などにより更新されたとき、更新後の情報が確定する条件を満足した後に、更新後の設定情報を変数や値として記述したプログラムを生成する。
【００６６】
なお、本実施形態のプログラム生成サーバ２４０がプログラムを生成可能な情報は、上記の第３情報〜第６情報に限定されない。第３情報〜第６情報に該当しない情報であっても、情報が確定する何らかの条件に基づいて分類された情報に関して、その条件を満足した後に、その情報を含むプログラムを生成することができる。
【００６７】
上記のようにして生成されたプログラムは、第１実行部１３０や第２実行部１４０により実行される。この場合、周辺装置２００から取得される情報は、プログラム中に記述されているため、周辺装置２００から取得する必要もないし、情報保持部１２０から取得する必要もない。したがって、かかるプログラムの実行時において、これらの情報を取得するための通信が省略される。なお、このプログラム生成サーバ２４０は、例えば、処理装置１００と周辺装置２００との間の通信がＨＴＴＰにより行われる場合、ＲＥＳＴ（REpresentational State Transfer）サーバにより構成することができる。
【００６８】
＜その他の変形例＞
上記の実施形態では、処理装置１００および周辺装置２００が一つの情報処理装置１０に内包される構成を例として説明した。しかしながら、本発明の具体的構成は、上記の各実施形態に限定されるものではない。例えば、処理装置１００に対応する情報処理装置と、周辺装置２００に対応する外部装置とを、ネットワークを介して接続した情報処理システムに対して適用してもよい。この場合、情報処理装置は、外部装置から取得した情報を保持する情報保持部と、外部装置から取得される情報を参照して実行する実行部とを備える。情報保持部は、情報処理装置が起動するのに伴って起動する。実行部は、情報処理装置の操作による起動操作や他の実行部からの呼び出し等の予め定められた起動条件を満足すると起動する。そして、外部装置から取得される情報は、その情報が確定する条件に応じて、例えば上述した第１情報〜第６情報のように分類される。ただし、上記の実施形態のように分類する場合、第２情報に関しては、各外部装置の起動時に、外部装置ごとに確定する。このように構成し、第１情報および第２情報については、その情報が記述された、情報処理装置の実行部が実行可能なプログラムとして情報処理装置に送られ、実行部がプログラムを実行する。その他の情報については、各外部装置において情報が確定した後（情報が確定する条件を満足した後）、予め定められたタイミングで、各外部装置から情報処理装置へ送信され、実行部に読み込まれたり、情報保持部に保持されたりする。情報処理装置が外部装置から各情報を取得する取得手段や取得方法は、上記の各実施形態において説明した手法および方法を適用することができる。
【符号の説明】
【００６９】
１０…情報処理装置、２０…画像処理装置、１００…処理装置、１１０…実行部、１２０…情報保持部、１３０…第１実行部、１４０…第２実行部、２００…周辺装置、２１０…プログラム管理サーバ、２２０…情報管理サーバ、２３０…通知サーバ、２４０…プログラム生成サーバ
【図１】
2018073030.tif 000003
【図２】
2018073030.tif 000004
【図３】
2018073030.tif 000005
【図４】
2018073030.tif 000006
【図５】
2018073030.tif 000007
【図６】
2018073030.tif 000008
【図７】
2018073030.tif 000009
【図８】
2018073030.tif 000010