(57)【要約】【課題】他方のモジュールの状態遷移を正確に把握することが可能な情報処理装置、情報処理方法、プログラム、および画像形成システムを提供する。【解決手段】本発明は、外部モジュールから、断続的に、当該外部モジュールの状態を取得する取得部と、取得部により取得した変化前の状態、当該変化前の状態の次に取得した変化後の状態、および外部モジュールの状態遷移図に基づいて、取得部によって状態が取得されないポーリング期間中において、外部モジュールが状態遷移した欠損状態を補完する補完部と、を備える。【選択図】図１
2020155898.tif 000002
【特許請求の範囲】
【請求項１】
外部モジュールから、断続的に、当該外部モジュールの状態を取得する取得部と、
前記取得部により取得した変化前の前記状態、当該変化前の状態の次に取得した変化後の前記状態、および前記外部モジュールの状態遷移図に基づいて、前記取得部によって前記状態が取得されないポーリング期間中において、前記外部モジュールが状態遷移した欠損状態を補完する補完部と、
を備える情報処理装置。
【請求項２】
前記補完部は、前記状態遷移図に基づいて、前記ポーリング期間中に前記外部モジュールが複数の状態遷移を行っているか否かを判断し、前記ポーリング期間中に前記外部モジュールが複数の状態遷移を行っている場合、前記ポーリング期間中の前記外部モジュールの状態遷移の数の分、前記欠損状態を補完する請求項１に記載の情報処理装置。
【請求項３】
前記補完部は、前記変化前の状態から前記変化後の状態への状態遷移のパスが複数存在する場合、前記複数のパスのうち最短の前記パスで前記外部モジュールが状態遷移した場合の前記欠損状態を補完する請求項１または２に記載の情報処理装置。
【請求項４】
前記補完部は、前記変化前の状態から前記変化後の状態への状態遷移のパスが複数存在する場合、前記複数のパスのうち最も発生率の高い前記パスで前記外部モジュールが状態遷移した場合の前記欠損状態を補完する請求項１または２に記載の情報処理装置。
【請求項５】
複数のアプリケーションを実行し、
前記補完部は、さらに、補完した前記欠損状態を、前記複数のアプリケーションのそれぞれに通知する請求項１から４のいずれか一に記載の情報処理装置。
【請求項６】
前記取得部は、さらに、前記ポーリング期間中の前記外部モジュールの前記状態を記憶する記憶部を前記外部モジュールが有する場合、当該記憶部から、前記ポーリング期間中の前記外部モジュールの前記状態を取得し、
前記補完部は、前記記憶部から取得した前記状態を、前記欠損状態として補完する請求項１から５のいずれか一に記載の情報処理装置。
【請求項７】
情報処理装置で実行される情報処理方法であって、
取得部が、外部モジュールから、断続的に、当該外部モジュールの状態を取得する工程と、
補完部が、前記取得部により取得した変化前の前記状態、当該変化前の状態の次に取得した変化後の前記状態、および前記外部モジュールの状態遷移図に基づいて、前記取得部によって前記状態が取得されないポーリング期間中において、前記外部モジュールが状態遷移した欠損状態を補完する工程と、
を含む情報処理方法。
【請求項８】
コンピュータを、
外部モジュールから、断続的に、当該外部モジュールの状態を取得する取得部と、
前記取得部により取得した変化前の前記状態、当該変化前の状態の次に取得した変化後の前記状態、および前記外部モジュールの状態遷移図に基づいて、前記取得部によって前記状態が取得されないポーリング期間中において、前記外部モジュールが状態遷移した欠損状態を補完する補完部と、
として機能させるためのプログラム。
【請求項９】
画像形成装置と情報処理装置とを有する画像形成システムであって、
前記情報処理装置は、
前記画像形成装置から、断続的に、当該画像形成装置の状態を取得する取得部と、
前記取得部により取得した変化前の前記状態、当該変化前の状態の次に取得した変化後の前記状態、および前記画像形成装置の状態遷移図に基づいて、前記取得部によって前記状態が取得されないポーリング期間中において、前記画像形成装置が状態遷移した欠損状態を補完する補完部と、
を備える画像形成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラム、および画像形成システムに関する。
【背景技術】
【０００２】
スマートデバイスやＭＦＰ（Multifunction  Peripheral/Product/Printer）等の複数のモジュールを有するシステムにおいて、一方のモジュール（スマートデバイス等の情報処理装置）が、他方のモジュール（ＭＦＰ等の画像形成装置）から、断続的に、当該他方のモジュールの状態を取得する技術が開発されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記の技術では、他方のモジュールの状態の取得処理のポーリング期間中に、他方のモジュールが状態遷移を複数回行った場合、一方のモジュールが取得する他方のモジュールの状態に欠損が生じ、他方のモジュールの状態遷移を正確に把握することが困難である。
【０００４】
本発明は、上記に鑑みてなされたものであって、他方のモジュールの状態遷移を正確に把握することが可能な情報処理装置、情報処理方法、プログラム、および画像形成システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、外部モジュールから、断続的に、当該外部モジュールの状態を取得する取得部と、取得部により取得した変化前の状態、当該変化前の状態の次に取得した変化後の状態、および外部モジュールの状態遷移図に基づいて、取得部によって状態が取得されないポーリング期間中において、外部モジュールが状態遷移した欠損状態を補完する補完部と、を備える。
【発明の効果】
【０００６】
本発明によれば、他方のモジュールの状態遷移を正確に把握することが可能となる、という効果を奏する。
【図面の簡単な説明】
【０００７】
【図１】図１は、第１の実施の形態にかかる画像形成システムの構成の一例を示す図である。
【図２】図２は、第１の実施の形態にかかる画像形成システムが有する情報処理装置のハードウェア構成の一例を示すブロック図である。
【図３】図３は、第１の実施の形態にかかる画像形成システムが有する画像形成装置のハードウェア構成の一例を示すブロック図である。
【図４】図４は、第１の実施の形態にかかる情報処理装置および画像形成装置の機能構成の一例を示す図である。
【図５】図５は、第１の実施の形態にかかる情報処理装置の機能提供アプリおよび第１接続アプリの特徴的な機能構成の一例を示す図である。
【図６】図６は、第１の実施の形態にかかる画像形成装置の状態遷移図の一例を示す図である。
【図７】図７は、第１の実施の形態にかかる情報処理装置による欠損状態の補完処理の詳細の一例を説明するための図である。
【図８】図８は、第１の実施の形態にかかる画像形成システムにおける欠損状態の補完処理の流れの一例を示すシーケンス図である。
【図９】図９は、第３の実施の形態にかかる画像形成装置の状態遷移図の一例を示す図である。
【図１０】図１０は、第３の実施の形態にかかる情報処理装置が記憶する発生率テーブルの一例を示す図である。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、情報処理装置、情報処理方法、プログラム、および画像形成システムの実施の形態を詳細に説明する。
【０００９】
（第１の実施の形態）
図１は、第１の実施の形態にかかる画像形成システムの構成の一例を示す図である。図１に示すように、本実施の形態にかかる画像形成システム１は、情報処理装置２と、画像形成装置３と、を有する。
【００１０】
そして、情報処理装置２および画像形成装置３は、インターネット等の通信ネットワークＮＴを介して互いに通信可能に接続されている。
【００１１】
次に、図２を用いて、本実施の形態にかかる情報処理装置２のハードウェア構成の一例について説明する。図２は、第１の実施の形態にかかる画像形成システムが有する情報処理装置のハードウェア構成の一例を示すブロック図である。
【００１２】
情報処理装置２は、ＰＣ（Personal  Computer）やサーバ等によって構築されている。具体的には、情報処理装置２は、図２に示すように、ＣＰＵ（Central  Processing  Unit）２０１、ＲＯＭ（Read  Only  Memory）２０２、ＲＡＭ（Random  Access  Memory）２０３、ＨＤＤ（Hard  Disk  Drive）２０４、ＨＤＤコントローラ２０５、ディスプレイ２０６、外部機器接続Ｉ／Ｆ(Interface)２０７、ネットワークＩ／Ｆ２０８、データバス２０９、キーボード２１０、ポインティングデバイス２１１、ＤＶＤ−ＲＷ(Digital  Versatile  Disk  Rewritable)ドライブ２１２、およびメディアＩ／Ｆ２１３を備えている。
【００１３】
ＣＰＵ２０１は、情報処理装置２全体の動作を制御する。
【００１４】
ＲＯＭ２０２は、ＩＰＬ（Initial  Program  Loader）等のＣＰＵ２０１の駆動に用いられるプログラムを記憶する。
【００１５】
ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。
【００１６】
ＨＤＤ２０４は、プログラム等の各種データを記憶する。
【００１７】
ＨＤＤコントローラ２０５は、ＣＰＵ２０１の制御に従ってＨＤＤ２０４に対する各種データの読み出し又は書き込みを制御する。
【００１８】
ディスプレイ２０６は、カーソル、メニュー、ウィンドウ、文字、または画像などの各種情報を表示する。
【００１９】
外部機器接続Ｉ／Ｆ２０７は、各種の外部機器を接続するためのインタフェースである。ここで、外部機器は、例えば、ＵＳＢ(Universal  Serial  Bus)メモリやプリンタ等である。
【００２０】
ネットワークＩ／Ｆ２０８は、通信ネットワークＮＴを利用してデータ通信をするためのインタフェースである。
【００２１】
データバス２０９は、図２に示されているＣＰＵ２０１等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【００２２】
キーボード２１０は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。
【００２３】
ポインティングデバイス２１１は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。
【００２４】
ＤＶＤ−ＲＷドライブ２１２は、着脱可能な記録媒体の一例としてのＤＶＤ−ＲＷ２１４に対する各種データの読み出しまたは書き込みを制御する。ここで、ＤＶＤ−ＲＷドライブ２１２により各種データの読み出しまたは書き込みを行う記録媒体は、ＤＶＤ−ＲＷ２１４に限らず、ＤＶＤ−Ｒ等であってもよい。
【００２５】
メディアＩ／Ｆ２１３は、フラッシュメモリ等の記録メディア２１５に対するデータの読み出しまたは書き込み（記憶）を制御する。
【００２６】
次に、図３を用いて、本実施の形態にかかる画像形成装置３のハードウェア構成について説明する。図３は、第１の実施の形態にかかる画像形成システムが有する画像形成装置のハードウェア構成の一例を示すブロック図である。
【００２７】
画像形成装置３は、ＭＦＰ（Multifunction  Peripheral/Product/Printer）等により構築されている。画像形成装置３は、コントローラ３１０、近距離通信回路３２０、エンジン制御部３３０、操作パネル３４０、ネットワークＩ／Ｆ３５０を備えている。
【００２８】
コントローラ３１０は、画像形成装置３全体の制御を行い、例えば、描画、通信、操作パネル３４０からの入力等を制御する。具体的には、コントローラ３１０は、コンピュータの主要部であるＣＰＵ３０１、システムメモリ（ＭＥＭ−Ｐ）３０２、ノースブリッジ（ＮＢ）３０３、サウスブリッジ（ＳＢ）３０４、ＡＳＩＣ(Application  Specific  Integrated  Circuit)３０５、記憶部であるローカルメモリ（ＭＥＭ−Ｃ）３０６、ＨＤＤコントローラ３０７、および、記憶部であるＨＤＤ３０８を有し、ＮＢ３０３とＡＳＩＣ３０５との間をＡＧＰ(Accelerated  Graphics  Port)バス３０９で接続した構成となっている。
【００２９】
ＣＰＵ３０１は、画像形成装置３の全体制御を行う制御部である。
【００３０】
ＮＢ３０３は、ＣＰＵ３０１と、ＭＥＭ−Ｐ３０２、ＳＢ３０４、およびＡＧＰバス３０９とを接続するためのブリッジであり、ＭＥＭ−Ｐ３０２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩ(Peripheral  Component  Interconnect)マスタおよびＡＧＰターゲットと、を有する。
【００３１】
ＭＥＭ−Ｐ３０２は、コントローラ３１０の各機能を実現させるプログラムやデータの格納用メモリであるＲＯＭ３０２ａ、プログラムやデータの展開およびメモリ印刷時の描画用メモリなどとして用いるＲＡＭ３０２ｂとからなる。
【００３２】
ＲＯＭ３０２ａに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００３３】
ＳＢ３０４は、ＮＢ３０３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。
【００３４】
ＡＳＩＣ３０５は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ(Integrated  Circuit)であり、ＡＧＰバス３０９、ＰＣＩバス３１１、ＨＤＤ３０８およびＭＥＭ−Ｃ３０６をそれぞれ接続するブリッジの役割を有する。
【００３５】
ＡＳＩＣ３０５は、ＰＣＩターゲットおよびＡＧＰマスタ、ＡＳＩＣ３０５の中核をなすアービタ（ＡＲＢ）、ＭＥＭ−Ｃ３０６を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のＤＭＡＣ(Direct  Memory  Access  Controller)、並びに、スキャナ部３３１およびプリンタ部３３２との間でＰＣＩバス３１１を介したデータ転送を行うＰＣＩユニットとからなる。
【００３６】
ＡＳＩＣ３０５には、ＵＳＢ(Universal  Serial  Bus)のインタフェースや、ＩＥＥＥ１３９４(Institute  of  Electrical  and  Electronics  Engineers  1394）のインタフェースを接続するようにしてもよい。
【００３７】
ＭＥＭ−Ｃ３０６は、コピー用画像バッファおよび符号バッファとして用いるローカルメモリである。
【００３８】
ＨＤＤ３０８は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。ＨＤＤコントローラ３０７は、ＣＰＵ３０１の制御に従ってＨＤＤ３０８に対するデータの読出又は書込を制御する。
【００３９】
ＡＧＰバス３０９は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、ＭＥＭ−Ｐ３０２に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
【００４０】
また、近距離通信回路３２０には、近距離通信回路９２０ａが備わっている。近距離通信回路３２０は、ＮＦＣ、Bluetooth（登録商標）等の通信回路である。
【００４１】
エンジン制御部３３０は、スキャナ部３３１およびプリンタ部３３２によって構成されている。スキャナ部３３１またはプリンタ部３３２には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
【００４２】
操作パネル３４０は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部３４０ａ、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキーおよびコピー開始指示を受け付けるスタートキー等からなる操作パネル３４０ｂを備えている。
【００４３】
画像形成装置３は、操作パネル３４０のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、およびファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
【００４４】
ネットワークＩ／Ｆ３５０は、通信ネットワークＮＴを利用してデータ通信をするためのインタフェースである。近距離通信回路３２０およびネットワークＩ／Ｆ３５０は、ＰＣＩバス３１１を介して、ＡＳＩＣ３０５に電気的に接続されている。
【００４５】
次に、図４を用いて、本実施の形態にかかる情報処理装置２および画像形成装置３の機能構成の一例について説明する。図４は、第１の実施の形態にかかる情報処理装置および画像形成装置の機能構成の一例を示す図である。
【００４６】
まず、図４を用いて、情報処理装置２の機能構成について説明する。
【００４７】
図４に示すように、情報処理装置２は、各種のソフトウェアに対してハードウェアの機能のインタフェースを提供するオペレーティングシステムであって例えばAndroid（登録商標）などのＯＳ（Operating  System）４０１、第１接続アプリ４０２、機能提供アプリ４０３、汎用アプリ４０４、およびホームアプリ４０５を備えている。
【００４８】
ＯＳ４０１は、一機能としてＷｅｂＡＰＩ接続クラス４０１ａを備える。ＷｅｂＡＰＩ接続クラス４０１ａは、ＯＳ４０１とは異なるソフトウェアによって実現されても良い。ＯＳ４０１には、システムの動作に必要な各種のアプリケーションを含んでいても良い。
【００４９】
汎用アプリ４０４は、情報処理装置２で利用できる汎用的なアプリケーションである。汎用アプリ４０４としては、例えば、画像加工アプリ、メールアプリ等が挙げられる。情報処理装置２には、複数の汎用アプリ４０４をインストールすることができ、汎用アプリ４０４は、それぞれ異なる機能を有していても良い。また、汎用アプリ４０４の一つとして、ホームアプリ４０５を有していても良い。
【００５０】
ホームアプリ４０５は、情報処理装置２のディスプレイ２０６上にメイン画面を表示する。ホームアプリ４０５は、ユーザがメイン画面のアイコンを押下することによっていずれかの機能提供アプリ４０３および汎用アプリ４０４を選択する操作をした場合に、押下されたアイコンに対応する機能提供アプリ４０３および汎用アプリ４０４を起動する。例えば、ホームアプリ４０５は、機能提供アプリ４０３および汎用アプリ４０４に対して、起動を指示する指示信号を送信することによって、機能提供アプリ４０３を起動する。
【００５１】
ユーザがホームアプリ４０５を介さず、所望の機能提供アプリ４０３および汎用アプリ４０４を起動しても良いし、他の機能提供アプリ４０３および汎用アプリ４０４から所望の機能提供アプリ４０３を起動しても良い。また、ホームアプリ４０５は、機能提供アプリ４０３のみメイン画面に表示するものとしても良い。また、ホームアプリ４０５を設けることに代えて、ホームアプリ４０５が有する機能を第１接続アプリ４０２や機能提供アプリ４０３など、他のアプリが有するものとしても良い。
【００５２】
情報処理装置２には、複数の機能提供アプリ４０３をインストールすることができる。インストールされた複数の機能提供アプリ４０３は、それぞれ異なる機能を有していても良い。機能提供アプリ４０３としては、例えば情報処理装置２が接続される通信対象が画像形成装置３である場合、画像形成装置３で実行するコピー、スキャン、プリント、ＦＡＸなどの種々の機能に関して、設定および実行指示を行うためのユーザインタフェース画面を提供するアプリケーションが挙げられる。例えば、プリントアプリはプリント機能に関して、ファックスアプリはファックス機能に関して、それぞれ設定および実行指示を行うためのユーザインタフェース画面を提供できる。
【００５３】
機能提供アプリ４０３は、ＷｅｂＡＰＩＷｒａｐｐｅｒ４０３ａを有する。ＷｅｂＡＰＩＷｒａｐｐｅｒ４０３ａは、機能提供アプリ４０３が動作環境を意識せずに画像形成装置３と通信接続できるようにするための、ＷｅｂＡＰＩ接続クラス４０１ａをラップしたクラスを提供するライブラリである。これにより、機能提供アプリ４０３は、ＷｅｂＡＰＩＷｒａｐｐｅｒ４０３ａのインスタンスを生成することで、第１接続アプリ４０２から、現在接続されている画像形成装置３との通信接続に関する通信接続情報（例えば、接続先のホスト名、接続先のポート番号等）を取得することができ、当該通信接続情報を用いて、画像形成装置３に対する機能の実行要求を送信することができる。
【００５４】
第１接続アプリ４０２は、少なくとも情報処理装置２にインストールされて動作するように作成されたアプリであり、画像形成装置３との通信接続を行う。また、第１接続アプリ４０２は、ＷｅｂＡＰＩＷｒａｐｐｅｒ４０３ａに対し、画像形成装置３との通信接続に関する通信接続情報を提供する。
【００５５】
また、第１接続アプリ４０２は、情報処理装置２にインストールされた機能提供アプリ４０３のアイコンを一覧表示するホーム画面を生成する機能や、情報処理装置２が接続する画像形成装置３を選択する画面や選択した画像形成装置３に対してログインするために必要な認証情報を受け付ける画面を表示する機能を有していても良い。
【００５６】
次に、図４を用いて、画像形成装置３の機能構成について説明する。
【００５７】
図４に示すように、画像形成装置３は、情報処理装置２とは異なる独立したＯＳ４１１、ＥＣＳ（Engine  Control  Service）４１２、ＮＣＳ（Network  Control  Service）４１３、ＳＣＳ（System  Control  Service）４１４、およびＣＣＳ（Certification  Control  Service）４１５を備える。
【００５８】
ＥＣＳ４１２は、プリンタ部３３２やスキャナ部３３１などを備える画像エンジンのハードの管理・調停などを行う。
【００５９】
ＮＣＳ４１３は、画像形成装置３が有するネットワークＩ／Ｆのハードの管理・調停などを行い、ＷｅｂＡＰＩ接続クラス４０１ａからのＷｅｂＡＰＩリクエスト（例えば、ＨＴＴＰリクエスト、ＨＴＴＰＳリクエスト等）を受け付ける。
【００６０】
ＳＣＳ４１４は、画像形成装置３の省エネ復帰の管理やジョブの管理などシステム全般に関わる動作管理やカウンタ／画面／設定等の制御を行う。
【００６１】
ＣＣＳ４１５は、画像形成装置３のユーザ認証／認証状態／利用制限の管理を行う。
【００６２】
ＥＣＳ４１２、ＮＣＳ４１３、ＳＣＳ４１４、ＣＣＳ４１５、ＯＳ４１１、画像エンジンは、所定の機能を実行する機能部を構成する一例である。また、機能部は、上記以外にも、コピー、スキャン、プリント、ＦＡＸなどの種々の機能を提供するためのソフトウェアおよびハードウェアを含んでも良い。
【００６３】
画像形成装置３は通信対象の外部モジュールの一例であり、通信対象は情報処理装置２と通信を行う。通信対象は画像形成装置３に限定されず、電子黒板やプロジェクタを含むオフィス機器など、各種の電子機器であっても良い。
【００６４】
次に、図５を用いて、本実施の形態にかかる情報処理装置２の機能提供アプリ４０３および第１接続アプリ４０２の特徴的な機能について説明する。図５は、第１の実施の形態にかかる情報処理装置の機能提供アプリおよび第１接続アプリの特徴的な機能構成の一例を示す図である。
【００６５】
図５に示すように、機能提供アプリ４０３は、実行要求部５０１を備える。また、図５に示すように、第１接続アプリ４０２は、取得部５０２、および補完部５０３を備える。
【００６６】
機能提供アプリ４０３が備える実行要求部５０１は、画像形成装置３が有する各種機能（例えば、コピー、スキャン、プリント、ＦＡＸ）の実行指示を行うためのユーザインタフェース画面において、実行指示された入力される機能を受け付ける。そして、実行要求部５０１は、第１接続アプリ４０２から取得した通信接続情報を用いて、実行指示を受け付けた機能の実行要求を画像形成装置３に送信する。
【００６７】
第１接続アプリ４０２が備える取得部５０２は、画像形成装置３から、断続的に、当該画像形成装置３の状態を取得する。本実施形態では、取得部５０２は、画像形成装置３から、予め設定された周期で、当該画像形成装置３の状態を取得するが、画像形成装置３から、断続的に、当該画像形成装置３の状態を取得するものであれば、これに限定するものではない。例えば、取得部５０２は、情報処理装置２のユーザによって、画像形成装置３の状態の取得が指示されたタイミングなど、任意のタイミングにおいて、画像形成装置３の状態を取得しても良い。
【００６８】
ここで、画像形成装置３の状態とは、画像形成装置３が、実行要求部５０１から実行要求に応じて遷移する状態である。本実施形態では、画像形成装置３の状態には、待機状態、処理状態、停止状態、およびメンテナンス状態が含まれる。待機状態は、情報処理装置２等の外部装置からの各種機能の実行要求を待っている状態である。処理状態は、画像形成装置３において各種機能を実行している状態である。停止状態は、画像形成装置３において各種機能の実行が中断している状態である。メンテナンス状態は、画像形成装置３のメンテナンスが実行されている状態である。
【００６９】
第１接続アプリ４０２が備える補完部５０３は、取得部５０２によって取得した状態のうち任意のタイミングに取得された状態（以下、変化前状態と言う）、取得部５０２によって変化前状態の次に取得した状態（以下、変化後状態と言う）、および画像形成装置３の状態遷移図に基づいて、ポーリング期間中に、画像形成装置３が状態遷移した状態（以下、欠損状態と言う）を補完する。
【００７０】
これにより、画像形成装置３の状態の取得が行われないポーリング期間中に、画像形成装置３が状態遷移を複数回行った場合でも、ポーリング期間中に画像形成装置３が遷移した状態を補完することが可能となる。その結果、画像形成装置３の状態遷移を正確に把握することができる。
【００７１】
ここで、ポーリング期間は、取得部５０２によって状態が取得されない期間である。言い換えると、ポーリング期間は、変化前状態が取得されてから、変化後状態が取得されるまでの期間である。また、ここで、状態遷移図とは、画像形成装置３が状態遷移する複数の状態間の遷移を表す図である。
【００７２】
また、補完部５０３は、取得部５０２に取得した変化後状態と、補完した欠損状態と、を、機能提供アプリ４０３（例えば、実行要求部５０１）に通知する。これにより、機能提供アプリ４０３は、取得した画像形成装置３の状態に応じて、当該画像形成装置３に対する各種機能の実行要求が送信可能となる。
【００７３】
次に、図６を用いて、本実施の形態にかかる画像形成装置３の状態遷移図の一例について説明する。図６は、第１の実施の形態にかかる画像形成装置の状態遷移図の一例を示す図である。
【００７４】
図６に示すように、画像形成装置３は、その電源が投入されると、まず、待機状態Ｐｈ１へ状態遷移する。そして、画像形成装置３は、待機状態Ｐｈ１において、情報処理装置２等の外部装置から各種機能（例えば、コピー）の実行要求を受信すると、処理状態Ｐｈ２へ、直接的に状態遷移する。ここで、直接的に状態遷移するとは、画像形成装置３の現在の状態から、ある状態へ状態遷移する場合に、他の状態を経ずに、状態遷移することである。また、画像形成装置３は、待機状態Ｐｈ１において、外部装置からメンテナンスの実行要求を受信した場合も、メンテナンス状態Ｐｈ４へ直接的に状態遷移する。また、画像形成装置３は、待機状態Ｐｈ１である場合、停止状態Ｐｈ３へは直接的に状態遷移することはなく、処理状態Ｐｈ２を経て、停止状態Ｐｈ３へ状態遷移する。
【００７５】
また、図６に示すように、画像形成装置３は、処理状態Ｐｈ２において、各種機能の実行が終了すると、待機状態Ｐｈ１へ直接的に状態遷移する。また、画像形成装置３は、処理状態Ｐｈ２において、画像形成装置３の異常等によって各種機能が実行できなくなった場合、停止状態Ｐｈ３へ、直接的に状態遷移する。また、画像形成装置３は、処理状態Ｐｈ２である場合、メンテナンス状態Ｐｈ４へは直接的に状態遷移することはなく、待機状態Ｐｈ１を経て、メンテナンス状態Ｐｈ４へ状態遷移する。
【００７６】
また、図６に示すように、画像形成装置３は、停止状態Ｐｈ３において、画像形成装置３の異常の解消等によって各種機能が再開可能となった場合、処理状態Ｐｈ２へ、直接的に状態遷移する。また、画像形成装置３は、停止状態Ｐｈ３である場合、待機状態Ｐｈ１へは直接的に状態遷移することはなく、処理状態Ｐｈ２を経て、待機状態Ｐｈ１へ状態遷移する。また、画像形成装置３は、停止状態Ｐｈ３である場合、メンテナンス状態Ｐｈ４へは直接的に状態遷移することはなく、処理状態Ｐｈ２および待機状態Ｐｈ１を経て、メンテナンス状態Ｐｈ４へ状態遷移する。
【００７７】
また、図６に示すように、画像形成装置３は、メンテナンス状態Ｐｈ４において、画像形成装置３のメンテナンスが終了すると、待機状態Ｐｈ１へ、直接的に状態遷移する。また、画像形成装置３は、メンテナンス状態Ｐｈ４である場合、処理状態Ｐｈ２へは直接的に状態遷移することはなく、待機状態Ｐｈ１を経て、処理状態Ｐｈ２へ状態遷移する。また、画像形成装置３は、メンテナンス状態Ｐｈ４である場合、停止状態Ｐｈ３へは直接的に遷移することはなく、待機状態Ｐｈ１および処理状態Ｐｈ２を経て、停止状態Ｐｈ３へ状態遷移する。
【００７８】
したがって、例えば、変化前状態が処理状態Ｐｈ２で、変化後状態がメンテナンス状態Ｐｈ４である場合、処理状態Ｐｈ２からメンテナンス状態Ｐｈ４へ直接的に状態遷移することはないため、補完部５０３は、図６に示す状態遷移図を参照して、処理状態Ｐｈ２からメンテナンス状態Ｐｈ４へ状態遷移する際に経る待機状態Ｐｈ１を、欠損状態として補完する。そして、補完部５０３は、欠損状態として待機状態Ｐｈ１を補完した画像形成装置３の状態遷移を、機能提供アプリ４０３に通知する。
【００７９】
次に、図７を用いて、本実施の形態にかかる情報処理装置２による欠損状態の補完処理の詳細について説明する。図７は、第１の実施の形態にかかる情報処理装置による欠損状態の補完処理の詳細の一例を説明するための図である。
【００８０】
欠損状態の補完に先立って、補完部５０３は、図７に示すように、画像形成装置３の状態遷移図に基づいて、変化前状態と変化後状態の組合せと、当該組合せにおいて機能提供アプリ４０３に通知する状態と、を対応付けるテーブル（以下、状態遷移テーブルと言う）を生成する。そして、補完部５０３は、取得部５０２により取得される変化前状態および変化後状態と、状態遷移テーブルと、を用いて、機能提供アプリ４０３に対して状態を通知する。
【００８１】
例えば、変化前状態および変化後状態が共に同じ状態（例えば、待機状態）である場合、補完部５０３は、欠損状態の補完を行わず、機能提供アプリ４０３への状態の通知も行わない。
【００８２】
また、変化前状態が待機状態Ｐｈ１でありかつ変化後状態が処理状態Ｐｈ２である場合、画像形成装置３は待機状態Ｐｈ１から処理状態Ｐｈ２へ直接的に状態遷移可能である。この場合、状態遷移テーブルにおいて、変化前状態としての待機状態Ｐｈ１および変化後状態としての処理状態Ｐｈ２の組合せと対応付けられる状態はない。そのため、補完部５０３は、欠損状態の補完を行わず、機能提供アプリ４０３に対して、変化後状態である処理状態Ｐｈ２を機能提供アプリ４０３に通知する。
【００８３】
また、変化前状態が待機状態Ｐｈ１でありかつ変化後状態が停止状態Ｐｈ３である場合、画像形成装置３は処理状態Ｐｈ２を経なければ停止状態Ｐｈ３へ状態遷移することができない。この場合、状態遷移テーブルにおいて、変化前状態としての待機状態Ｐｈ１および変化後状態としての停止状態Ｐｈ３の組合せと対応付けられる状態が、停止状態Ｐｈ３および処理状態Ｐｈ２である。そのため、補完部５０３は、処理状態Ｐｈ２を欠損状態として補完する。そして、補完部５０３は、機能提供アプリ４０３に対して、変化後状態である停止状態Ｐｈ３に加えて、変化後状態である停止状態Ｐｈ３および補完した処理状態Ｐｈ２を、機能提供アプリ４０３に通知する。
【００８４】
また、変化前状態が停止状態Ｐｈ３でありかつ変化後状態がメンテナンス状態Ｐｈ４である場合、画像形成装置３は待機状態Ｐｈ１および処理状態Ｐｈ２を経なければメンテナンス状態Ｐｈ４へ状態遷移することはできない。この場合、状態遷移テーブルにおいて、変化前状態としての停止状態Ｐｈ３および変化後状態としてのメンテナンス状態Ｐｈ４の組合せと対応付けられる状態が、メンテナンス状態Ｐｈ４、待機状態Ｐｈ１、および処理状態Ｐｈ２である。
【００８５】
そのため、補完部５０３は、複数の状態、すなわち、待機状態Ｐｈ１および処理状態Ｐｈ２を欠損状態として補完する。そして、補完部５０３は、機能提供アプリ４０３に対して、変化後状態であるメンテナンス状態Ｐｈ４に加えて、補完した待機状態Ｐｈ１および処理状態Ｐｈ２を、機能提供アプリ４０３に通知する。すなわち、補完部５０３は、状態遷移図に基づいて、ポーリング期間中に画像形成装置３が複数の状態遷移を行っているか否かを判断する。そして、ポーリング期間中に画像形成装置３が複数の状態遷移を行っている場合、補完部５０３は、ポーリング期間中の画像形成装置３の状態遷移の数の分、欠損状態を補完する。
【００８６】
ここでは説明を省略するが、補完部５０３は、その他の変化前状態および変化後状態の組合せについても同様にして、状態遷移テーブルに基づいて、機能提供アプリ４０３に対する状態の通知を行うものとする。
【００８７】
次に、図８を用いて、本実施の形態にかかる画像形成システム１における欠損状態の補完処理の流れの一例について説明する。図８は、第１の実施の形態にかかる画像形成システムにおける欠損状態の補完処理の流れの一例を示すシーケンス図である。
【００８８】
機能提供アプリ４０３の実行要求部５０１は、画像形成装置３の機能（例えば、コピー）の実行指示が入力されると、第１接続アプリ４０２に対して、画像形成装置３の機能の実行指示が入力されたことを通知するイベント受付処理を実行する（ステップＳ８０１）。次いで、実行要求部５０１は、実行指示を受け付けた機能の実行要求を、画像形成装置３に送信する（ステップＳ８０２）。
【００８９】
第１接続アプリ４０２の取得部５０２は、機能提供アプリ４０３から、画像形成装置３の機能の実行指示が入力されたことが通知されると、第１接続アプリ４０２の取得部５０２は、画像形成装置３に対して、断続的に、画像形成装置３の状態の取得要求を送信する（ステップＳ８０３）。さらに、取得部５０２は、取得要求に応じて、画像形成装置３から送信される当該画像形成装置３の状態を取得する（ステップＳ８０４）。
【００９０】
第１接続アプリ４０２の補完部５０３は、取得部５０２によって画像形成装置３の状態が取得される度に、当該取得された状態（すなわち、変化後状態）が、１つ前に取得した状態（すなわち、変化前状態）と同一か否かを判断する。変化後状態が変化前状態と同一である場合、画像形成装置３の状態遷移は行われていない可能性が高いため、補完部５０３は、機能提供アプリ４０３に対する画像形成装置３の状態の通知を行わない。
【００９１】
一方、変化後状態が変化前状態と異なる場合、補完部５０３は、状態遷移図に基づいて、変化前状態から変化後状態へ直接的に状態遷移が可能か否かを判断する。そして、変化前状態から変化後状態へ直接的に状態遷移することができないと判断した場合、補完部５０３は、状態遷移図に基づいて、変化前状態が取得されてから、変化後状態が取得されるまでのポーリング期間中に画像形成装置３が状態遷移した状態である欠損状態を補完する（ステップＳ８０５）。その際、補完部５０３は、ポーリング期間中における画像形成装置３の状態遷移の回数の分、欠損状態を補完する。
【００９２】
次いで、補完部５０３は、変化後状態および補完した欠損状態を機能提供アプリ４０３に通知する状態通知処理を実行する（ステップＳ８０６）。
【００９３】
このように、第１の実施の形態にかかる画像形成システム１によれば、画像形成装置３の状態の取得が行われないポーリング期間中に、画像形成装置３が状態遷移を複数回行った場合でも、ポーリング期間中に画像形成装置３が遷移した状態を補完することが可能となる。その結果、画像形成装置３の状態遷移を正確に把握することができる。
【００９４】
（第２の実施の形態）
本実施の形態は、変化前状態から変化後状態への状態遷移のパスが複数存在する場合、当該複数のパスのうち最短のパスで画像形成装置が状態遷移した場合の欠損状態を補完する例である。以下の説明では、第１の実施の形態と同様の構成については説明を省略する。
【００９５】
本実施の形態では、補完部５０３は、状態遷移図に基づいて、変化前状態から変化後状態への状態遷移のパスを特定する。次いで、補完部５０３は、複数のパスが特定された場合、状態遷移図に基づいて、当該複数のパスのうち最短のパスを特定する。ここで、最短のパスとは、変化前状態から変化後状態までの状態遷移の回数が最も少ないパスである。そして、補完部５０３は、最短のパスで画像形成装置３が状態遷移した場合の欠損状態を補完する。
【００９６】
これにより、画像形成装置３の状態の取得が行われないポーリング期間中に画像形成装置３が状態遷移可能なパスが複数存在する場合、最短のパスによって画像形成装置３が状態遷移した場合における欠損状態を補完できる。
【００９７】
例えば、変化前状態が待機状態Ｐｈ１でありかつ変化後状態がメンテナンス状態Ｐｈ４である場合、画像形成装置３は、待機状態Ｐｈ１からメンテナンス状態Ｐｈ４へ直接的に状態遷移可能であり、欠損状態を補完する必要が無いとも考えられる。しかしながら、ポーリング期間が長かった場合等においては、画像形成装置３は、変化前状態である待機状態Ｐｈ１から始まり、処理状態Ｐｈ２および待機状態Ｐｈ１を経て、変化後状態であるメンテナンス状態Ｐｈ４に状態遷移した可能性もある。つまり、変化前状態と変化後状態のみからだけでは、画像形成装置３がポーリング期間中にどのように状態遷移したかを一意に特定することは困難である。
【００９８】
そのため、本実施の形態では、補完部５０３は、変化前状態から変化後状態への状態遷移のパスが複数存在する場合、当該複数のパスのうち最短のパスで画像形成装置３が状態遷移した場合の欠損状態を補完する。
【００９９】
このように、第２の実施の形態にかかる画像形成システム１によれば、画像形成装置３の状態の取得が行われないポーリング期間中に画像形成装置３が状態遷移可能なパスが複数存在する場合、最短のパスによって画像形成装置３が状態遷移した場合における欠損状態を補完できる。
【０１００】
（第３の実施の形態）
本実施の形態は、変化前状態から変化後状態への状態遷移のパスが複数存在する場合、複数のパスのうち最も発生率の高いパスで画像形成装置が状態遷移した場合の欠損状態を補完する例である。以下の説明では、第１の実施の形態と同様の構成については説明を省略する。
【０１０１】
本実施の形態では、ＨＤＤ２０４は、変化前状態から変化後状態への画像形成装置３の状態遷移のパス毎に、各パスの発生率を記憶している。
【０１０２】
本実施の形態では、補完部５０３は、状態遷移図に基づいて、変化前状態から変化後状態への状態遷移のパスを特定する。次いで、補完部５０３は、複数のパスが特定された場合、ＨＤＤ２０４に記憶される各パスの発生率に基づいて、当該複数のパスのうち最も発生率が高いパスを特定する。そして、補完部５０３は、発生率が最も高いパスで画像形成装置３が状態遷移した場合の欠損状態を補完する。
【０１０３】
これにより、画像形成装置３の状態の取得が行われないポーリング期間中に画像形成装置３が状態遷移可能なパスが複数存在する場合、最も発生する可能性が高いパスによって画像形成装置３が状態遷移した場合における欠損状態を補完できるので、欠損状態の補完の精度を向上させることができる。
【０１０４】
次に、図９および図１０を用いて、本実施の形態にかかる情報処理装置２による欠損状態の補完処理の一例について説明する。図９は、第３の実施の形態にかかる画像形成装置の状態遷移図の一例を示す図である。図１０は、第３の実施の形態にかかる情報処理装置が記憶する発生率テーブルの一例を示す図である。
【０１０５】
本実施の形態では、ＨＤＤ２０４は、図１０に示すように、変化前状態から変化後状態へ画像形成装置３が状態遷移するパスＰ１〜Ｐｎ（以下、パスＰ１〜Ｐｎを区別する必要がない場合には、パスＰと記載する）毎に、当該各パスＰの発生回数と、当該パスＰの発生率と、を記憶している。
【０１０６】
そして、例えば、図９に示す状態遷移図に従って画像形成装置３が状態遷移を行う場合に、変化前状態が状態Ａでありかつ変化後状態が状態Ｃであったとすると、補完部５０３は、画像形成装置３が状態Ａから状態Ｃへ状態遷移するパスＰとして、複数のパスＰ１〜Ｐｎを特定する。
【０１０７】
例えば、パスＰ１は、状態Ａから状態Ｃに直接的に状態遷移するパスである。また、パスＰ２は、状態Ａ、状態Ｂ、状態Ｃの順に状態遷移するパスである。また、パスＰ３は、状態Ａ、状態Ｂ、状態Ａ、状態Ｃの順に状態遷移するパスである。
【０１０８】
そして、補完部５０３は、特定したパスＰ１〜Ｐ３のうち、ＨＤＤ２０４に記憶される発生率が最も高いパス（例えば、パスＰ２）に従って画像形成装置３が状態遷移した場合の欠損状態（図８に示す状態Ｂ）を特定する。
【０１０９】
このように、第３の実施の形態にかかる画像形成システム１によれば、画像形成装置３の状態の取得が行われないポーリング期間中に画像形成装置３が状態遷移可能なパスが複数存在する場合、最も発生する可能性が高いパスによって画像形成装置３が状態遷移した場合における欠損状態を補完できるので、欠損状態の補完の精度を向上させることができる。
【０１１０】
（第４の実施の形態）
本実施の形態は、情報処理装置が複数のアプリケーションを実行する場合に、補完した欠損状態を、複数のアプリケーションのそれぞれに通知する例である。以下の説明では、上述の実施の形態と同様の構成については説明を省略する。
【０１１１】
本実施の形態では、情報処理装置２において、第１接続アプリ４０２以外に、機能提供アプリ４０３を含む複数のアプリケーションが実行される場合、補完部５０３は、補完した欠損状態を、複数のアプリケーションに通知する。これにより、情報処理装置２において実行される全てのアプリケーションに対して、欠損状態を補完する機能を実装する必要がなくなるので、情報処理装置２において実行されるアプリケーションの開発の容易化を図ることができる。ここで、複数のアプリケーションは、画像形成装置３の状態を監視する必要があるアプリケーションであるものとする。
【０１１２】
このように、第４の実施の形態にかかる画像形成システム１によれば、情報処理装置２において実行される全てのアプリケーションに対して、欠損状態を補完する機能を実装する必要がなくなるので、情報処理装置２において実行されるアプリケーションの開発の容易化を図ることができる。
【０１１３】
（第５の実施の形態）
本実施の形態は、ポーリング期間中の状態を記憶する記憶部を画像形成装置が有する場合、当該記憶部から取得した状態を、欠損状態として補完する例である。以下の説明では、上述の実施の形態と同様の構成については説明を省略する。
【０１１４】
本実施の形態では、画像形成装置３のＨＤＤ３０８等の記憶部が、ポーリング期間中に画像形成装置３が状態遷移した状態を記憶している。
【０１１５】
本実施の形態では、取得部５０２は、画像形成装置３のＨＤＤ３０８から、ポーリング期間中に画像形成装置３が状態遷移した状態を取得する。そして、補完部５０３は、画像形成装置３のＨＤＤ３０８から取得した状態を、ポーリング期間中の欠損状態として補完する。
【０１１６】
このように、第５の実施の形態にかかる画像形成システム１によれば、ポーリング期間中に画像形成装置３が実際に状態遷移した状態に基づいて、欠損状態を補完することができるので、欠損状態の補完の精度を向上させることができる。
【０１１７】
上記で説明した実施の形態の各機能（例えば、機能提供アプリ４０３が有する実行要求部５０１、第１接続アプリ４０２が有する取得部５０２および補完部５０３）は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＤＳＰ（Digital  Signal  Processor）、ＦＰＧＡ（Field  Programmable  Gate  Array）や従来の回路モジュール等のデバイスを含むものとする。
【０１１８】
本実施の形態の情報処理装置２で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１１９】
また、本実施の形態の情報処理装置２で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の情報処理装置２で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０１２０】
また、本実施形態の情報処理装置２で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。本実施の形態の情報処理装置２で実行されるプログラムは、上述した各部（実行要求部５０１、取得部５０２、補完部５０３）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ２０１（プロセッサ）が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、実行要求部５０１、取得部５０２、補完部５０３が主記憶装置上に生成されるようになっている。
【符号の説明】
【０１２１】
１  画像形成システム
２  情報処理装置
３  画像形成装置
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
４０１  ＯＳ
４０２  第１接続アプリ
４０３  機能提供アプリ
５０１  実行要求部
５０２  取得部
５０３  補完部
【先行技術文献】
【特許文献】
【０１２２】
【特許文献１】特開２０１２−１９９６５１号公報
【図１】
2020155898.tif 000003
【図２】
2020155898.tif 000004
【図３】
2020155898.tif 000005
【図４】
2020155898.tif 000006
【図５】
2020155898.tif 000007
【図６】
2020155898.tif 000008
【図７】
2020155898.tif 000009
【図８】
2020155898.tif 000010
【図９】
2020155898.tif 000011
【図１０】
2020155898.tif 000012