(57)【要約】【課題】異なる画像形成装置間でハイバネーションを可能とする。【解決手段】  スマートフォンは、ユーザーによる第１の画像形成装置に対する操作の終了を検出する終了時検出部２５１と、第１の画像形成装置に対する操作の終了が検出された後に、第１の画像形成装置から第１のスナップショットを取得するスナップショット取得部２５７と、ユーザーによる第２の画像形成装置に対する操作の開始を検出する開始時検出部２５５と、第１の画像形成装置に関する第１の装置情報と第２の画像形成装置に関する第２の装置情報とに基づいて、第１のスナップショットから第２の画像形成装置が実行するための第２のスナップショットを生成する生成部２５９と、第２の画像形成装置に対する操作の開始が検出された後に、第２のスナップショットを第２の画像形成装置に実行させる起動部２６１と、を備える。【選択図】図６
2018195015.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーによる第１の画像形成装置に対する操作の終了を検出する終了時検出手段と、
前記第１の画像形成装置に対する操作の終了が検出された後に、前記第１の画像形成装置から第１のスナップショットを取得するスナップショット取得手段と、
ユーザーによる前記第１の画像形成装置とは異なる第２の画像形成装置に対する操作の開始を検出する開始時検出手段と、
前記第１の画像形成装置に関する第１の装置情報と前記第２の画像形成装置に関する第２の装置情報とに基づいて、前記第１のスナップショットから前記第２の画像形成装置が実行するための第２のスナップショットを生成する生成手段と、
前記第２の画像形成装置に対する操作の開始が検出された後に、前記第２のスナップショットを前記第２の画像形成装置に実行させるために、前記第２のスナップショットを前記第２の画像形成装置に送信する起動手段と、を備えた情報処理装置。
【請求項２】
前記生成手段は、前記取得された第１のスナップショットを用いて前記第１の画像形成装置をシミュレートするシミュレート手段と、
前記シミュレート手段が前記第１の画像形成装置をシミュレートする仮想装置を前記第２の画像形成装置をシミュレートする仮想装置に変更する変更手段と、
前記シミュレート手段が前記第２の画像形成装置をシミュレートする状態におけるスナップショットを前記第２のスナップショットに決定する決定手段と、を含む、請求項１に記載の情報処理装置。
【請求項３】
前記変更手段は、前記第１の画像形成装置に対する操作の終了が検出されることに応じて、前記シミュレート手段が前記第１の画像形成装置をシミュレートする仮想装置を、それにインストールされるハードウェア資源およびソフトウェア資源が予め定められたモデル装置をシミュレートする仮想装置に変更し、前記第２の画像形成装置に対する操作の開始が検出されることに応じて、前記シミュレート手段が前記モデル装置をシミュレートする仮想装置を、前記第２の画像形成装置をシミュレートする仮想装置に変更する、請求項２に記載の情報処理装置。
【請求項４】
ハードウェア資源をエミュレートするエミュレート手段を、さらに備え、
前記シミュレート手段は、前記第１の装置情報に基づいて、前記第１の装置情報で特定されるハードウェア資源を前記エミュレート手段にエミュレートさせる、請求項２または３に記載の情報処理装置。
【請求項５】
前記第１の画像形成装置は、前記情報処理装置であり、
前記生成手段は、前記第１の装置情報が前記第２の装置情報となるようにハードウェア資源および／またはソフトウェア資源をアンインストールすることにより、前記第１のスナップショットから前記第２のスナップショットを生成する変更手段を含む、請求項１に記載の情報処理装置。
【請求項６】
前記第１の装置情報は、前記第１の画像形成装置にインストールされたハードウェア資源に関する第１ハード情報を含み、
前記第２の装置情報は、前記第２の画像形成装置にインストールされたハードウェア資源に関する第２ハード情報を含み、
前記変更手段は、前記第１ハード情報で特定されるハードウェア資源であって前記第２ハード情報で特定されるハードウェア資源以外のハードウェア資源をアンインストールする、請求項２〜５のいずれかに記載の情報処理装置。
【請求項７】
前記変更手段は、前記第２ハード情報で特定されるハードウェア資源であって前記第１ハード情報で特定されるハードウェア資源以外のハードウェア資源をインストールする、請求項６に記載の情報処理装置。
【請求項８】
前記第１の装置情報は、前記第１の画像形成装置にインストールされたソフトウェア資源に関する第１ソフト情報を含み、
前記第２の装置情報は、前記第２の画像形成装置にインストールされたソフトウェア資源に関する第２ソフト情報を含み、
前記変更手段は、前記第１ソフト情報で特定されるソフトウェア資源であって前記第２ソフト情報で特定されるソフトウェア資源以外のソフトウェア資源を、そのソフトウェア資源が前記第２の画像形成装置において使用権限が与えられていないことを条件に、アンインストールする、請求項２〜７のいずれかに記載の情報処理装置。
【請求項９】
前記変更手段は、前記第２ソフト情報で特定されるソフトウェア資源であって前記第１ソフト情報で特定されるソフトウェア資源以外のソフトウェア資源をインストールする、請求項８に記載の情報処理装置。
【請求項１０】
前記第１の装置情報は、前記第１の画像形成装置に固有の第１固有情報を含み、
前記第２の装置情報は、前記第２の画像形成装置に固有の第２固有情報を含み、
前記変更手段は、前記第１の装置情報で特定される前記第１固有情報を前記第２固有情報に変更する、請求項２〜９のいずれかに記載の情報処理装置。
【請求項１１】
前記第１の装置情報と前記第２の装置情報とに基づいて、前記第１のスナップショットを前記第２のスナップショットに変更可能か否かを判断する装置判断手段を、さらに備え、
前記生成手段は、前記装置判断手段により前記第１のスナップショットを前記第２のスナップショットに変更可能と判断される場合に、前記第２のスナップショットを生成する、請求項２〜１０のいずれかに記載の情報処理装置。
【請求項１２】
前記第１の画像形成装置のユーザーが前記第２の画像形成装置を操作する権限の有無を判断する操作権限判断手段を、さらに備え、
前記生成手段は、前記操作権限判断手段により前記第１の画像形成装置のユーザーが前記第２の画像形成装置を操作する権限を有すると判断される場合に、前記第２のスナップショットを生成する、請求項１〜１１のいずれかに記載の情報処理装置。
【請求項１３】
前記生成手段は、前記第１の画像形成装置が備える不揮発性メモリにアクセス可能なパスを設定した第２のスナップショットを生成する、請求項１〜１２のいずれかに記載の情報処理装置。
【請求項１４】
ユーザーによる第１の画像形成装置に対する操作の終了を検出する終了時検出ステップと、
前記第１の画像形成装置に対する操作の終了が検出された後に、前記第１の画像形成装置から第１のスナップショットを取得するスナップショット取得ステップと、
ユーザーによる前記第１の画像形成装置とは異なる第２の画像形成装置に対する操作の開始を検出する開始時検出ステップと、
前記第１の画像形成装置に関する第１の装置情報と前記第２の画像形成装置に関する第２の装置情報とに基づいて、前記第１のスナップショットから前記第２の画像形成装置が実行するための第２のスナップショットを生成する生成ステップと、
前記第２の画像形成装置に対する操作の開始が検出された後に、前記第２のスナップショットを前記第２の画像形成装置に実行させるために、前記第２のスナップショットを前記第２の画像形成装置に送信する起動ステップと、を含む操作支援方法。
【請求項１５】
情報処理装置を制御するコンピューターで実行される操作支援プログラムであって、
ユーザーによる第１の画像形成装置に対する操作の終了を検出する終了時検出ステップと、
前記第１の画像形成装置に対する操作の終了が検出された後に、前記第１の画像形成装置から第１のスナップショットを取得するスナップショット取得ステップと、
ユーザーによる前記第１の画像形成装置とは異なる第２の画像形成装置に対する操作の開始を検出する開始時検出ステップと、
前記第１の画像形成装置に関する第１の装置情報と前記第２の画像形成装置に関する第２の装置情報とに基づいて、前記第１のスナップショットから前記第２の画像形成装置が実行するための第２のスナップショットを生成する生成ステップと、
前記第２の画像形成装置に対する操作の開始が検出された後に、前記第２のスナップショットを前記第２の画像形成装置に実行させるために、前記第２のスナップショットを前記第２の画像形成装置に送信する起動ステップと、を前記コンピューターに実行させる操作支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置、画像形成装置の操作支援方法および操作支援プログラムに関し、特に、画像形成装置の操作を簡略にした情報処理装置、その情報処理装置で実行される画像形成装置の操作支援方法および操作支援プログラムに関する。
【背景技術】
【０００２】
近年の複合機で代表される画像形成装置は、起動時間を短くする技術として、ハイバネーションが知られている。ハイバネーションは、中央演算装置のメモリの内容を、ハイバネーションイメージといわれるスナップショットとして不揮発性の記憶装置に記憶し、起動時に、このスナップショットをメモリに転送することで高速に起動する技術である。ハイバネーションは、１台の画像形成装置の起動時間を短縮することができる。一方、複数の画像形成装置は、それぞれに装着されるハードウェア資源が異なる場合が多く、２つの画像形成装置の一方のスナップショットを他方の画像形成装置のメモリに転送しても他方の画像形成装置が正しく動作しないことが多い。
【０００３】
特開２０１３−５８０５０号公報には、第一ネットワーク複合機と、スナップショット記憶部と、第二ネットワーク複合機とが送信部により接続される情報処理システムであって、第一ネットワーク複合機は、第二ネットワーク複合機の設定情報に関するスナップショットを作成するスナップショット作成部を有し、スナップショット記憶部は、作成されたスナップショットを記憶し、送信部は、スナップショット記憶部から第二ネットワーク複合機へスナップショットを転送し、第二ネットワーク複合機は、起動時にスナップショットを取得して、スナップショットに基づいて設定情報を復元する復元部を有し、当該復元の結果に基づいて起動を行う情報処理システムが記載されている。
【０００４】
しかしながら、特開２０１３−５８０５０号公報に記載の情報処理システムでは、第一ネットワーク複合機と第二ネットワーク複合機とでそれぞれにインストールされているハードウェア資源が同一である必要があり、２つの装置間でインストールされているハードウェア資源が異なる場合にはハイバネーションすることができないといった問題がある。
【特許文献１】特開２０１３−５８０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、異なる画像形成装置間でハイバネーションを可能とした情報処理装置を提供することである。
【０００６】
この発明の他の目的は、異なる画像形成装置間でハイバネーションを可能とした操作支援方法を提供することである。
【０００７】
この発明の他の目的は、異なる画像形成装置間でハイバネーションを可能とした操作支援プログラムを提供することである。
【課題を解決するための手段】
【０００８】
この発明は上述した問題点を解決するためになされたもので、この発明のある局面によれば、情報処理装置は、ユーザーによる第１の画像形成装置に対する操作の終了を検出する終了時検出手段と、第１の画像形成装置に対する操作の終了が検出された後に、第１の画像形成装置から第１のスナップショットを取得するスナップショット取得手段と、ユーザーによる第１の画像形成装置とは異なる第２の画像形成装置に対する操作の開始を検出する開始時検出手段と、第１の画像形成装置に関する第１の装置情報と第２の画像形成装置に関する第２の装置情報とに基づいて、第１のスナップショットから第２の画像形成装置が実行するための第２のスナップショットを生成する生成手段と、第２の画像形成装置に対する操作の開始が検出された後に、第２のスナップショットを第２の画像形成装置に実行させるために、第２のスナップショットを第２の画像形成装置に送信する起動手段と、を備える。
【０００９】
この局面に従えば、第１の装置情報と第２の装置情報とに基づいて、第１のスナップショットから第２のスナップショットが生成されるので、第１の画像形成装置と第２の画像形成装置とでハードウェア資源の構成が異なる場合であっても第１の画像形成装置のスナップショットから第２の画像形成装置でハイバネーションするためのスナップショットを生成することができる。その結果、異なる画像形成装置間でハイバネーションを可能とした情報処理装置を提供することができる。
【００１０】
好ましくは、生成手段は、取得された第１のスナップショットを用いて第１の画像形成装置をシミュレートするシミュレート手段と、シミュレート手段が第１の画像形成装置をシミュレートする仮想装置を第２の画像形成装置をシミュレートする仮想装置に変更する変更手段と、シミュレート手段が第２の画像形成装置をシミュレートする状態におけるスナップショットを第２のスナップショットに決定する決定手段と、を含む。
【００１１】
この局面に従えば、第１のスナップショットを用いて第１の画像形成装置をシミュレートし、第１の画像形成装置をシミュレートする仮想装置を第２の画像形成装置をシミュレートする仮想装置に変更することにより、第２のスナップショットを生成する。このため、異なる画像形成装置間でハイバネーションするためのスナップショットを容易に生成することができる。
【００１２】
好ましくは、変更手段は、第１の画像形成装置に対する操作の終了が検出されることに応じて、シミュレート手段が第１の画像形成装置をシミュレートする仮想装置を、それにインストールされるハードウェア資源およびソフトウェア資源が予め定められたモデル装置をシミュレートする仮想装置に変更し、第２の画像形成装置に対する操作の開始が検出されることに応じて、シミュレート手段がモデル装置をシミュレートする仮想装置を、第２の画像形成装置をシミュレートする仮想装置に変更する。
【００１３】
この局面に従えば、ユーザーにより第２の画像形成装置に対する操作の開始が検出されてから第２のスナップショットが生成されるまでの時間をできるだけ短くすることができる。
【００１４】
好ましくは、ハードウェア資源をエミュレートするエミュレート手段を、さらに備え、シミュレート手段は、第１の装置情報に基づいて、第１の装置情報で特定されるハードウェア資源をエミュレート手段にエミュレートさせる。
【００１５】
この局面に従えば、第１の画像形成装置および第２の画像形成装置を正確にシミュレートすることができる。
【００１６】
好ましくは、第１の画像形成装置は、情報処理装置であり、生成手段は、第１の装置情報が第２の装置情報となるようにハードウェア資源および／またはソフトウェア資源をアンインストールすることにより、第１のスナップショットから第２のスナップショットを生成する変更手段を含む。
【００１７】
この局面に従えば、第１の画像形成装置が、第１の装置情報が第２の装置情報となるようにハードウェア資源および／またはソフトウェア資源をアンインストールすることにより、第２のスナップショットを生成するので、第２のスナップショットを容易に生成することができる。
【００１８】
好ましくは、第１の装置情報は、第１の画像形成装置にインストールされたハードウェア資源に関する第１ハード情報を含み、第２の装置情報は、第２の画像形成装置にインストールされたハードウェア資源に関する第２ハード情報を含み、変更手段は、第１ハード情報で特定されるハードウェア資源であって第２ハード情報で特定されるハードウェア資源以外のハードウェア資源をアンインストールする。
【００１９】
この局面に従えば、第２の画像形成装置にインストールされていないハードウェア資源がアンインストールされるので、第２のスナップショットを容易に生成することができる。
【００２０】
好ましくは、変更手段は、第２ハード情報で特定されるハードウェア資源であって第１ハード情報で特定されるハードウェア資源以外のハードウェア資源をインストールする。
【００２１】
この局面に従えば、第２の画像形成装置が備えるハードウェア資源のすべてを使用可能にすることができる。
【００２２】
好ましくは、第１の装置情報は、第１の画像形成装置にインストールされたソフトウェア資源に関する第１ソフト情報を含み、第２の装置情報は、第２の画像形成装置にインストールされたソフトウェア資源に関する第２ソフト情報を含み、変更手段は、第１ソフト情報で特定されるソフトウェア資源であって第２ソフト情報で特定されるソフトウェア資源以外のソフトウェア資源を、そのソフトウェア資源が第２の画像形成装置において使用権限が与えられていないことを条件に、アンインストールする。
【００２３】
この局面に従えば、第２の画像形成装置において使用権限が与えられていないソフトウェア資源がアンインストールされるので、第２の画像形成装置において使用権限が与えられていないソフトウェア資源を第２の画像形成装置で使用できないようにすることができる。
【００２４】
好ましくは、変更手段は、第２ソフト情報で特定されるソフトウェア資源であって第１ソフト情報で特定されるソフトウェア資源以外のソフトウェア資源をインストールする。
【００２５】
この局面に従えば、第２の画像形成装置にインストールされているソフトウェア資源のすべてを使用可能にすることができる。
【００２６】
好ましくは、第１の装置情報は、第１の画像形成装置に固有の第１固有情報を含み、第２の装置情報は、第２の画像形成装置に固有の第２固有情報を含み、変更手段は、第１の装置情報で特定される第１固有情報を第２固有情報に変更する。
【００２７】
この局面に従えば、第２の画像形成装置に、第１の画像形成装置に固有の第１固有情報が設定されないようにして、第２固有情報を設定することができる。
【００２８】
好ましくは、第１の装置情報と第２の装置情報とに基づいて、第１のスナップショットを第２のスナップショットに変更可能か否かを判断する装置判断手段を、さらに備え、生成手段は、装置判断手段により第１のスナップショットを第２のスナップショットに変更可能と判断される場合に、第２のスナップショットを生成する。
【００２９】
この局面に従えば、第２のスナップショットを生成する前に第２のスナップショットの生成が可能か否かを判断するので、不要な処理が実行されるのを防止することができる。
【００３０】
好ましくは、第１の画像形成装置のユーザーが第２の画像形成装置を操作する権限の有無を判断する操作権限判断手段を、さらに備え、生成手段は、操作権限判断手段により第１の画像形成装置のユーザーが第２の画像形成装置を操作する権限を有すると判断される場合に、第２のスナップショットを生成する。
【００３１】
この局面に従えば、ユーザーが第２の画像形成装置を操作する権限を有する場合のみ、第２の画像形成装置を使用可能にすることができる。
【００３２】
好ましくは、生成手段は、第１の画像形成装置が備える不揮発性メモリにアクセス可能なパスを設定した第２のスナップショットを生成する。
【００３３】
この局面に従えば、第２の画像形成装置から第１の画像形成装置に記憶されたデータにアクセス可能にすることができる。
【００３４】
この発明の他の局面によれば、操作支援方法は、ユーザーによる第１の画像形成装置に対する操作の終了を検出する終了時検出ステップと、第１の画像形成装置に対する操作の終了が検出された後に、第１の画像形成装置から第１のスナップショットを取得するスナップショット取得ステップと、ユーザーによる第１の画像形成装置とは異なる第２の画像形成装置に対する操作の開始を検出する開始時検出ステップと、第１の画像形成装置に関する第１の装置情報と第２の画像形成装置に関する第２の装置情報とに基づいて、第１のスナップショットから第２の画像形成装置が実行するための第２のスナップショットを生成する生成ステップと、第２の画像形成装置に対する操作の開始が検出された後に、第２のスナップショットを第２の画像形成装置に実行させるために、第２のスナップショットを第２の画像形成装置に送信する起動ステップと、を含む。
【００３５】
この局面に従えば、異なる画像形成装置間でハイバネーションを可能とした操作支援方法を提供することができる。
【００３６】
この発明のさらに他の局面によれば、操作支援プログラムは、情報処理装置を制御するコンピューターで実行される操作支援プログラムであって、ユーザーによる第１の画像形成装置に対する操作の終了を検出する終了時検出ステップと、第１の画像形成装置に対する操作の終了が検出された後に、第１の画像形成装置から第１のスナップショットを取得するスナップショット取得ステップと、ユーザーによる第１の画像形成装置とは異なる第２の画像形成装置に対する操作の開始を検出する開始時検出ステップと、第１の画像形成装置に関する第１の装置情報と第２の画像形成装置に関する第２の装置情報とに基づいて、第１のスナップショットから第２の画像形成装置が実行するための第２のスナップショットを生成する生成ステップと、第２の画像形成装置に対する操作の開始が検出された後に、第２のスナップショットを第２の画像形成装置に実行させるために、第２のスナップショットを第２の画像形成装置に送信する起動ステップと、をコンピューターに実行させる。
【００３７】
この局面に従えば、異なる画像形成装置間でハイバネーションを可能とした操作支援プログラムを提供することができる。
【図面の簡単な説明】
【００３８】
【図１】本発明の第１の実施の形態における操作支援システムの全体概要の一例を示す図である。
【図２】第１の実施の形態におけるスマートフォンのハードウェア構成の概要の一例を示すブロック図である。
【図３】第１の実施の形態におけるＭＦＰのハードウェア構成の概要の一例を示すブロック図である。
【図４】第１の実施の形態におけるメイン基板の詳細な構成の一例を示すブロック図である。
【図５】スマートフォンが備えるシミュレータの概要の一例を示す図である。
【図６】第１の実施の形態におけるスマートフォンが備えるＣＰＵが有する機能の一例を示すブロック図である。
【図７】第１の実施の形態における操作支援処理の流れの一例を示すフローチャートである。
【図８】第２の実施の形態における操作支援処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００３９】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。従ってそれらについての詳細な説明は繰り返さない。
【００４０】
＜第１の実施の形態＞
図１は、本発明の第１の実施の形態における操作支援システムの全体概要の一例を示す図である。図１を参照して、操作支援システム１は、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００，１００Ａ，１００Ｂと、情報処理装置として機能するスマートフォン２００と、を含む。
【００４１】
ＭＦＰ１００，１００Ａ，１００Ｂは、画像形成装置の一例であり、画像データに基づいて用紙などの記録媒体に画像を形成するための画像形成機能を少なくとも備えている。ＭＦＰ１００，１００Ａ，１００Ｂは、画像形成機能に加えて、原稿を読み取るための原稿読取機能、およびファクシミリデータを送受信するファクシミリ送受信機能を備えてもよい。スマートフォン２００は、携帯情報装置の一例であり、ユーザーにより携帯されて使用される。
【００４２】
無線局５およびＭＦＰ１００，１００Ａ，１００Ｂそれぞれは、ネットワーク３に接続される。ネットワーク３は、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。またネットワーク３は、ＬＡＮに限らず、公衆交換電話網（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋｓ）を用いたネットワーク等であってもよい。さらに、ネットワーク３は、インターネットなどのワイドエリアネットワーク（ＷＡＮ）であってもよい。
【００４３】
スマートフォン２００は、無線ＬＡＮ機能を有し、無線局５と通信可能である。無線局５は、ネットワーク３の中継装置であり、無線ＬＡＮを用いた通信機能を備えたスマートフォン２００と通信して、スマートフォン２００をネットワーク３に接続する。このため、スマートフォン２００は、無線局５を介してＭＦＰ１００，１００Ａ，１００Ｂと通信可能である。ネットワーク３は、さらに、インターネットに接続されてもよい。この場合、スマートフォン２００およびＭＦＰ１００，１００Ａ，１００Ｂそれぞれは、ネットワーク３を介してインターネットに接続されたコンピューターと互いに通信可能である。
【００４４】
本実施の形態における操作支援システム１において、ユーザーがスマートフォン２００を携帯して、ＭＦＰ１００，１００Ａ，１００Ｂのいずれかを操作する場合におけるユーザーの操作を支援する。具体的には、操作支援システム１は、ユーザーがＭＦＰ１００を操作した後に、ＭＦＰ１００Ａを操作する場合、ＭＦＰ１００の操作を終了した時点の設定を、ＭＦＰ１００Ａに引き継ぐことを可能にする。
【００４５】
図２は、第１の実施の形態におけるスマートフォンのハードウェア構成の概要の一例を示すブロック図である。図２を参照して、本実施の形態におけるスマートフォン２００は、スマートフォン２００の全体を制御するための中央演算装置（ＣＰＵ）２０１と、ＣＰＵ２０１が実行するプログラム等を記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＣＰＵ２０１の作業領域として使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、データを不揮発的に記憶するフラッシュメモリ２０４と、情報を表示する表示部２０５と、ユーザーの操作を受け付ける操作部２０６と、無線ＬＡＮインターフェース（Ｉ／Ｆ）２０８と、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）センサー２０９と、外部記憶装置２１０と、近距離通信部２１１と、を含む。
【００４６】
フラッシュメモリ２０４は、ＣＰＵ２０１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＣＰＵ２０１は、フラッシュメモリ２０４に記録されたプログラムを、ＲＡＭ２０３にロードして実行する。
【００４７】
表示部２０５は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等の表示装置である。操作部２０６は、メインキー２０６Ａと、タッチパネル２０６Ｂとを備える。タッチパネル２０６Ｂは、表示部２０５の上面または下面に表示部２０５に重畳して設けられる。メインキー２０６Ａは、例えば接点スイッチで構成されるハードキーである。タッチパネル２０６Ｂは、静電容量方式である。なお、タッチパネル２０６Ｂは、静電容量方式に限らず、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等の他の方式を用いることができる。タッチパネル２０６Ｂは、表示部２０５の表示面中でユーザーにより指示された位置を検出する。また、ユーザーが、表示部２０５の表示面を指示する場合、操作部２０６は、タッチパネル２０６Ｂにより検出される表示面の位置をＣＰＵ２０１に出力する。
【００４８】
ＣＰＵ２０１は、タッチパネル２０６Ｂによる検出された位置に基づいて、表示部２０５に表示されている画面中でユーザーにより指示された位置を検出する。ＣＰＵ２０１は、表示部２０５に表示されている画面と、タッチパネル２０６Ｂによる検出された位置とに基づいて、ユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。例えば、表示部２０５にテンキーの画像を含む画面を表示する場合には、タッチパネル２０６Ｂによる検出された位置に表示されたキーに対応する数字を受け付ける。
【００４９】
無線ＬＡＮＩ／Ｆ２０８は、無線局５と通信し、スマートフォン２００をネットワーク３に接続するためのインターフェースである。スマートフォン２００に、ＭＦＰ１００，１００Ａ，１００ＢそれぞれのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを登録しておくことにより、スマートフォン２００は、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれと通信することができ、データの送受信が可能となる。
【００５０】
近距離通信部２１１は、通信可能な距離が予め定められており、通信可能な距離の範囲内に存在する装置と通信する。近距離通信部２１１は、例えば、ＭＦＰ１００との間の距離が通信可能な距離以下となると、ＭＦＰ１００と通信する。近距離通信部２１１の例としては、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）規格の無線通信方式、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格の無線通信方式がある。ＮＦＣ規格の無線通信方式の通信可能な距離は数センチメートルであり、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格の無線通信方式は数十メートルである。
【００５１】
ＧＰＳセンサー２０９は、ＧＰＳ衛星から受信される電波に基づいて、スマートフォン２００の現在位置を検出する。ＧＰＳセンサー２０９は、検出した現在位置を示す位置情報をＣＰＵ２０１に出力する。
【００５２】
外部記憶装置２１０は、スマートフォン２００に着脱自在であり、プログラムを記憶したＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  ＲＯＭ）２１０Ａが装着される。ＣＰＵ２０１は、外部記憶装置２１０を介してＣＤ−ＲＯＭ２１０Ａにアクセス可能である。ＣＰＵ２０１は、外部記憶装置２１０に装着されたＣＤ−ＲＯＭ２１０Ａに記録されたプログラムをＲＡＭ２０３にロードして実行する。なお、ＣＰＵ２０１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ２１０Ａに限られず、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭまたはＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）などの半導体メモリであってもよい。
【００５３】
また、ＣＰＵ２０１が実行するプログラムは、ＣＤ−ＲＯＭ２１０Ａに記録されたプログラムに限られず、フラッシュメモリ２０４に記憶されたプログラムをＲＡＭ２０３にロードして実行するようにしてもよい。この場合、ネットワーク３に接続された他のコンピューターが、スマートフォン２００のフラッシュメモリ２０４に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、スマートフォン２００が、インターネットに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをフラッシュメモリ２０４に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ２０１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００５４】
ＭＦＰ１００，１００Ａ，１００Ｂのハードウェア構成および機能は同じなので、ここでは、ＭＦＰ１００を例に説明する。図３は、第１の実施の形態におけるＭＦＰのハードウェア構成の概要の一例を示すブロック図である。図３を参照して、ＭＦＰ１００は、メイン基板１１１と、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、通信インターフェース（Ｉ／Ｆ）部１６０と、ファクシミリ部１７０と、外部記憶装置１８０と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１３と、ユーザーインターフェースとしての操作パネル１１５とを含む。
【００５５】
メイン基板１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０および給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１８０、ＨＤＤ１１３、および操作パネル１１５と接続され、ＭＦＰ１００の全体を制御する。
【００５６】
自動原稿搬送装置１２０は、原稿トレイ上にセットされた複数枚の原稿を１枚ずつ自動的に原稿読取部１３０のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部１３０により原稿に形成された画像が読み取られた原稿を原稿排紙トレイに排出する。原稿読取部１３０は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部１４０に出力する。
【００５７】
給紙部１５０は、給紙トレイに収納された用紙を画像形成部１４０に搬送する。画像形成部１４０は、周知の電子写真方式により画像を形成するものであって、原稿読取部１３０から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部１５０により搬送される用紙に画像を形成し、画像を形成した用紙を排紙トレイに排出する。
【００５８】
通信Ｉ／Ｆ部１６０は、ネットワーク３にＭＦＰ１００を接続するためのインターフェースである。通信Ｉ／Ｆ部１６０は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで、ネットワーク３に接続された他のコンピューターと通信する。具体的には、ＭＦＰ１００は、他のＭＦＰ１００Ａ，１００Ｂおよびスマートフォン２００と通信可能である。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。
【００５９】
通信Ｉ／Ｆ部１６０は、ネットワーク３から受信されるデータをメイン基板１１１に出力し、メイン基板１１１から入力されるデータをネットワーク３に出力する。通信Ｉ／Ｆ部１６０は、ネットワーク３から受信されるデータのうちＭＦＰ１００宛てのデータのみを、メイン基板１１１に出力し、ネットワーク３から受信されるデータのうちＭＦＰ１００とは異なる装置宛てのデータを廃棄する。
【００６０】
ファクシミリ部１７０は、公衆交換電話網（ＰＳＴＮ）に接続され、ファクシミリデータを送受信する。外部記憶装置１８０は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１８１、または半導体メモリが装着される。外部記憶装置１８０は、ＣＤ−ＲＯＭ１８１または半導体メモリに記憶されたデータを読み出す。外部記憶装置１８０は、ＣＤ−ＲＯＭ１８１または半導体メモリにデータを記憶する。
【００６１】
操作パネル１１５は、ＭＦＰ１００の上面に設けられ、表示部１１８と操作部１１９とを含む。表示部１１８は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１１９は、複数のハードキーと、タッチパネルと、を含む。タッチパネルは、表示部１１８の上面または下面に表示部に重畳して設けられたマルチタッチ対応のタッチパネルであり、表示部１１８の表示面中でユーザーにより指示された位置を検出する。
【００６２】
図４は、第１の実施の形態におけるメイン基板の詳細な構成の一例を示すブロック図である。図４を参照して、メイン基板１１１は、ＣＰＵ１７１と、ＲＯＭ１７３と、ＲＡＭ１７５と、画像制御ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１７７と、を含む。
【００６３】
ＣＰＵ１７１、ＲＯＭ１７３、ＲＡＭ１７５および画像制御ＡＳＩＣ１７７それぞれは、バス１７９に接続されており、データの転送が可能である。ＣＰＵ１７１は、ＭＦＰ１００の全体を制御する。
【００６４】
ＲＯＭ１７３は、ＣＰＵ１７１が実行するプログラムを記憶する。ＲＡＭ１７５は、ＣＰＵ１７１の作業領域として用いられる揮発性の半導体メモリである。
【００６５】
ＣＰＵ１７１は、ＨＤＤ１１３に記憶されたプログラムをＲＡＭ１７５にロードして実行する。ＣＰＵ１７１が実行するプログラムは、ハードウェア資源を制御するための制御プログラム、およびアプリケーションプログラムを含む。ハードウェア資源は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、の通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、ＨＤＤ１１３および操作パネル１１５を含む。アプリケーションプログラムは、例えば、ファクシミリ部１７０を制御してファクシミリデータを送信するファクシミリ送信プログラム、ファクシミリ部１７０を制御してファクシミリデータを受信するファクシミリ受信プログラム、通信Ｉ／Ｆ部１６０を制御してプリントジョブを受信し、画像形成部１４０および給紙部１５０を制御してプリントジョブに基づいて画像を形成するプリントプログラム、原稿読取部１３０を制御して原稿を読み取る原稿読取プログラムを含む。また、アプリケーションプログラムは、ＭＦＰ１００が備える消耗品を管理するメンテナンスプログラム、エラー状態を通知するエラー状態通知プログラムを、含んでもよい。なお、ＣＰＵ１７１が実行するアプリケーションプログラムを、これらに限定するものではない。
【００６６】
画像制御ＡＳＩＣ１７７は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、および給紙部１５０と接続され、それらを制御する。また、画像制御ＡＳＩＣ１７７は、原稿読取部１３０が原稿を読み取って出力する画像データに所定の画像処理を実行する機能、画像データを画像形成部１４０がプリントするためのラスターデータに変換する機能を有する。
【００６７】
本実施の形態におけるスマートフォン２００は、ＭＦＰ１００，１００Ａ，１００Ｂをシミュレートするシミュレータを備えている。このシミュレータは、ＣＰＵ２０１がシミュレートプログラムを実行することにより、ＣＰＵ２０１に形成される。図５は、スマートフォンが備えるシミュレータの概要の一例を示す図である。図５を参照して、シミュレータは、ＣＰＵ周辺シミュレータ３００と、ハードウェア（ＨＷ）シミュレータ３２０と、を含む。ＣＰＵ周辺シミュレータ３００は、ＭＦＰ１００が備えるＣＰＵ１７１をシミュレートする仮想ＣＰＵ３０１と、ＲＯＭ１７３およびＲＡＭ１７５をエミュレートする仮想メモリ３０３と、周辺モデル３０５と、同期設定モデル３０７と、割込制御部３０９と、を含む。仮想ＣＰＵ３０１、仮想メモリ３０３、周辺モデル３０５および同期設定モデル３０７は、バス（Ｂｕｓ）３１１に接続されている。
【００６８】
周辺モデル３０５は、ＭＦＰ１００が備えるＨＤＤ１１３、操作パネル１１５、通信Ｉ／Ｆ部１６０および外部記憶装置１８０をそれぞれエミュレートするＨＤＤ１１３Ａ、操作パネル１１５Ａ、通信Ｉ／Ｆ部１６０Ａおよび外部記憶装置１８０Ａを含む。
【００６９】
同期設定モデル３０７は、仮想ＣＰＵ３０１が、仮想メモリ３０３および周辺モデル３０５と同期するための設定をする。割込制御部３０９は、仮想ＣＰＵ３０１が仮想メモリ３０３および周辺モデル３０５と同期するための設定時に、仮想ＣＰＵ３０１に割り込みを発生させる。
【００７０】
ＨＷシミュレータ３２０は、ＰＣＩ−ＥｘｐｒｅｓｓＢｕｓモデル３２１と、画像制御ＡＳＩＣモデル３２３と、ハードウェア資源モデル３２５と、を含む。ＰＣＩ−ＥｘｐｒｅｓｓＢｕｓモデル３２１は、バス３１１に接続され、ＰＣＩ−Ｅｘｐｒｅｓｓ規格に従った接続をエミュレートする。画像制御ＡＳＩＣモデル３２３は、ＭＦＰ１００が備える画像制御ＡＳＩＣ１７７をエミュレートする。ハードウェア資源モデル３２５は、ＭＦＰ１００が備えるハードウェア資源をエミュレートする。具体的には、ハードウェア資源モデル３２５は、ＭＦＰ１００が備える自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０およびファクシミリ部１７０をそれぞれエミュレートする自動原稿搬送装置１２０Ａ、原稿読取部１３０Ａ、画像形成部１４０Ａ、給紙部１５０Ａおよびファクシミリ部１７０Ａを含む。
【００７１】
図６は、第１の実施の形態におけるスマートフォンが備えるＣＰＵが有する機能の一例を示すブロック図である。図６に示す機能は、スマートフォン２００が備えるＣＰＵ２０１が、ＲＯＭ２０２、フラッシュメモリ２０４またはＣＤ−ＲＯＭ２１０Ａに記憶された操作支援プログラムを実行することにより、ＣＰＵ２０１により実現される機能である。
【００７２】
図６を参照して、スマートフォン２００が備えるＣＰＵ２０１は、終了時検出部２５１と、装置情報取得部２５３と、開始時検出部２５５と、スナップショット取得部２５７と、生成部２５９と、起動部２６１と、装置判断部２６３と、を含む。
【００７３】
終了時検出部２５１は、ユーザーがＭＦＰ１００，１００Ａ，１００Ｂのいずれかの操作の終了を検出する。ここでは、ユーザーがＭＦＰ１００を操作した後に、ＭＦＰ１００Ａを操作する場合を例に説明する。また、ユーザーが先に操作していたＭＦＰ１００を、移動前装置（第１の画像形成装置）といい、ユーザーが移動前装置の次に操作するＭＦＰ１００Ａを移動後装置（第２の画像形成装置）という。
【００７４】
終了時検出部２５１は、ユーザーによる移動前装置であるＭＦＰ１００の操作の終了を検出する。例えば、終了時検出部２５１は、近距離通信部２１１が移動前装置であるＭＦＰ１００と通信不可能な状態になる場合、移動前装置の操作の終了を検出する。近距離通信部２１１が移動前装置と通信不可能になる場合、スマートフォン２００と移動前装置との間の距離が近距離通信部２１１の通信可能な距離よりも大きい場合があるからである。
【００７５】
また、終了時検出部２５１は、ユーザーが移動前装置であるＭＦＰ１００に操作の終了を指示する操作を入力する場合に、移動前装置であるＭＦＰ１００から操作の終了を検出するようにしてもよい。また、スマートフォン２００に、移動前装置であるＭＦＰ１００を遠隔操作するプログラムがインストールされている場合には、終了時検出部２５１は、ユーザーが操作部２０６に移動前装置であるＭＦＰ１００の遠隔操作を終了する指示が入力される場合に、ユーザーによる移動前装置の操作の終了を検出する。
【００７６】
終了時検出部２５１は、ユーザーによる移動前装置の操作の終了を検出することに応じて、終了信号を装置情報取得部２５３およびスナップショット取得部２５７に出力する。終了信号は、ユーザーが操作していた移動前装置であるＭＦＰ１００を識別するための装置識別情報を含む。
【００７７】
装置情報取得部２５３は、終了時検出部２５１から終了信号が入力されることに応じて、終了信号に含まれる装置識別情報で特定される移動前装置から装置情報を取得する。具体的には、無線ＬＡＮＩ／Ｆ２０８を制御して、移動前装置であるＭＦＰ１００から装置情報を取得する。装置情報は、装置に搭載されている中央演算装置の機種名、装置にインストールされたハードウェア資源に関するハード情報と、装置にインストールされたソフトウェア資源に関するソフト情報と、装置に固有に設定された固有情報と、を含む。固有情報は、例えば、装置に割り当てられたネットワークアドレスである。以下、移動前装置から取得された装置情報を、移動前装置情報（第１の装置情報）という。装置情報取得部２５３は、移動前装置であるＭＦＰ１００の装置識別情報とＭＦＰ１００から取得された移動前装置情報とを装置判断部２６３および生成部２５９に出力する。
【００７８】
スナップショット取得部２５７は、終了時検出部２５１から終了信号が入力されることに応じて、終了信号に含まれる装置識別情報で特定される移動前装置であるＭＦＰ１００からスナップショットを取得する。具体的には、無線ＬＡＮＩ／Ｆ２０８を制御して、移動前装置であるＭＦＰ１００からスナップショットを取得する。スナップショットは、移動前装置であるＭＦＰ１００が備えるＲＡＭ１７５に記憶されたデータと、移動前装置であるＭＦＰ１００が備えるＣＰＵ２０１のレジスタの値と、を含む。以下、移動前装置から取得されたスナップショットを、移動前スナップショット（第１のスナップショット）という。スナップショット取得部２５７は、取得された移動前スナップショットを生成部２５９に出力する。
【００７９】
開始時検出部２５５は、ユーザーによるＭＦＰ１００，１００Ａ，１００Ｂのいずれかの操作の開始を検出する。ＭＦＰ１００，１００Ａ，１００Ｂが配置される地理上の位置を予め記憶しておき、スマートフォン２００が検出する現在位置が、ＭＦＰ１００，１００Ａ，１００Ｂのいずれかから所定の距離の範囲内になった場合に、ユーザーによる操作の開始を検出する。例えば、スマートフォン２００が検出する現在位置が、ＭＦＰ１００Ａから所定の距離の範囲内になった場合に、ユーザーによる操作の開始を検出する。ここでは、移動後装置をＭＦＰ１００Ａとしているので、開始時検出部２５５は、移動後装置であるＭＦＰ１００Ａの操作の開始を検出する場合を例に説明する。また、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれが、それぞれを識別するための装置識別情報を記憶したＮＦＣタグを備える場合には、近距離通信部２１１がＮＦＣタグと通信可能になる場合に、ユーザーによる操作の開始を検出するようにしてもよい。例えば、ユーザーがスマートフォン２００をＭＦＰ１００Ａに装着されたＮＦＣタグに近づけると、近距離通信部２１１がＮＦＣタグと通信可能になり、ＮＦＣタグからＭＦＰ１００Ａの装置識別情報を受信するので、開始時検出部２５５は、近距離通信部２１１がＮＦＣタグから受信する装置識別情報で特定されるＭＦＰ１００Ａに対するユーザーによる操作の開始を検出する。
【００８０】
開始時検出部２５５は、操作権限判断部２６５を含む。操作権限判断部２６５は、スマートフォン２００を操作するユーザーが移動後装置を操作する権限の有無を判断する。スマートフォン２００を操作するユーザーに対して、使用する権限が与えられた装置を予め定めたテーブルを準備しおき、そのテーブルを参照して、操作権限の有無を判断する。
【００８１】
開始時検出部２５５は、操作権限判断部２６５により移動後装置であるＭＦＰ１００Ａを使用する権限が与えられていると判断される場合に、ユーザーによる移動後装置の操作の開始を検出するが、操作権限判断部２６５により移動後装置であるＭＦＰ１００Ａを使用する権限が与えられていないと判断される場合に、ユーザーによる移動後装置の操作の開始を検出しない。
【００８２】
また、スマートフォン２００に、移動後装置であるＭＦＰ１００Ａを遠隔操作するプログラムがインストールされている場合には、開始時検出部２５５は、ユーザーが操作部２０６にＭＦＰ１００Ａを遠隔操作する指示が入力される場合に、ユーザーによるＭＦＰ１００Ａの操作の開始を検出する。この場合においても、操作権限判断部２６５によりＭＦＰ１００Ａを使用する権限が与えられていると判断されることを条件に、ユーザーによるＭＦＰ１００Ａの操作の開始を検出する。
【００８３】
開始時検出部２５５は、ユーザーによる移動後装置の操作の開始を検出することに応じて、開始信号を装置情報取得部２５３、起動部２６１に出力する。開始信号は、ユーザーが操作を開始した移動後装置であるＭＦＰ１００Ａを識別するための装置識別情報を含む。
【００８４】
装置情報取得部２５３は、開始時検出部２５５から開始信号が入力されることに応じて、開始信号に含まれる装置識別情報で特定される移動後装置であるＭＦＰ１００Ａの装置情報を取得する。ＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置情報を予め取得しておき、ＨＤＤ１１３に記憶しておくようにすればよい。以下、移動後装置であるＭＦＰ１００Ａの装置情報を、移動後装置情報（第２の装置情報）という。装置情報取得部２５３は、移動後装置であるＭＦＰ１００Ａの装置識別情報とＭＦＰ１００Ａから取得された移動後装置情報とを装置判断部２６３および生成部２５９に出力する。
【００８５】
生成部２５９は、装置情報取得部２５３から移動前装置の装置識別情報と移動前装置情報との組および移動後装置の装置識別情報と移動後装置情報との組が入力され、スナップショット取得部２５７から移動前スナップショットが入力される。生成部２５９は、移動前装置情報と移動後装置情報とに基づいて、移動前スナップショットから移動後装置のためのスナップショットを生成する。以下、生成部２５９が生成する移動後装置のためのスナップショットを移動後スナップショット（第２のスナップショット）という。
【００８６】
生成部２５９は、シミュレート部２７１と、エミュレート部２７３と、変更部２７５と、決定部２７７と、を含む。シミュレート部２７１は、移動前スナップショットを用いて移動前装置であるＭＦＰ１００をシミュレートする。具体的には、シミュレート部２７１は、図６に示したＣＰＵ周辺シミュレータ３００の仮想メモリ３０３に移動前スナップショットを記憶させるとともに、仮想ＣＰＵ３０１のレジスタに、移動前スナップショットに含まれるレジスタ値を設定する。
【００８７】
エミュレート部２７３は、移動前装置情報に含まれるハード情報で定めるハードウェア資源をエミュレートする。エミュレート部２７３は、図６に示したＣＰＵ周辺シミュレータ３００の仮想メモリ３０３、周辺モデル３０５、ＰＣＩ−ＥｘｐｒｅｓｓＢｕｓモデル３２１およびハードウェア資源モデル３２５に相当する。具体的には、移動前装置であるＭＦＰ１００は、ハードウェア資源として、画像制御ＡＳＩＣ１７７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１８０、ＨＤＤ１１３および操作パネル１１５を含む。エミュレート部２７３は、ハードウェア資源として、画像制御ＡＳＩＣ１７７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、通信Ｉ／Ｆ部  １６０、ファクシミリ部１７０、外部記憶装置１８０、ＨＤＤ１１３および操作パネル１１５それぞれをエミュレートする。
【００８８】
さらに、シミュレート部２７１は、エミュレート部２７３によりエミュレートされるハードウェア資源との同期を設定する。具体的には、図６に示したＣＰＵ周辺シミュレータ３００の同期設定モデル３０７に、仮想ＣＰＵ３０１が、エミュレート部２７３においてエミュレートされるハードウェア資源のエミュレータと同期するように仮想ＣＰＵ３０１のレジスタ値、および仮想メモリ３０３のメモリマップを設定させる。これにより、シミュレート部２７１において、移動前装置であるＭＦＰ１００をシミュレートした仮想装置が完成する。
【００８９】
変更部２７５は、移動前装置情報および移動後装置情報に基づいて、シミュレート部２７１が移動前装置であるＭＦＰ１００をシミュレートする仮想装置を、移動後装置であるＭＦＰ１００Ａをシミュレートする仮想装置に変更するようにシミュレート部２７１を制御する。具体的には、変更部２７５は、シミュレート部２７１に移動前装置であるＭＦＰ１００にインストールされているが、移動後装置であるＭＦＰ１００にインストールされていないハードウェア資源を、仮想装置からアンインストールさせる。変更部２７５は、移動前装置情報に含まれるハード情報に基づいて、移動前装置であるＭＦＰ１００にインストールされているハードウェア資源を決定し、移動後装置情報に含まれるハード情報に基づいて、移動後装置であるＭＦＰ１００Ａにインストールされているハードウェア資源を決定する。例えば、移動後装置であるＭＦＰ１００Ａに原稿読取部１３０がインストールされていない場合、変更部２７５は、シミュレート部２７１に原稿読取部１３０をアンインストールする指示を出力する。シミュレート部２７１は、変更部２７５からの指示に従って、仮想ＣＰＵ３０１を制御して原稿読取部１３０を制御するためのドライバープログラムをアンインストールするとともに、エミュレート部２７３が原稿読取部１３０をエミュレートするエミュレータに対して設定されたレジスタ値を、同期を解消する値に変更する。
【００９０】
なお、変更部２７５は、シミュレート部２７１に移動後装置であるＭＦＰ１００にインストールされているが、移動前装置であるＭＦＰ１００にインストールされていないハードウェア資源を、仮想装置にインストールさせるようにしてもよい。変更部２７５は、移動前装置情報に含まれるハード情報と移動後装置情報に含まれるハード情報とに基づいて、インストールするアハードウェア資源を決定する。この場合、インストールすることが決定されたハードウェア資源を、エミュレート部２７３にエミュレートさせ、仮想ＣＰＵ３０１を制御してインストールすることが決定されたハードウェア資源を制御するプログラムをインストールさせるとともに、エミュレート部２７３によりエミュレートされるハードウェア資源と同期させるためのレジスタ値を設定する。
【００９１】
また、変更部２７５は、シミュレート部２７１に移動前装置であるＭＦＰ１００にインストールされているが、移動後装置であるＭＦＰ１００にインストールされていないソフトウェア資源を、そのソフトウェア資源が移動後装置であるＭＦＰ１００に使用権限が与えられていないことを条件に、仮想装置からアンインストールさせる。変更部２７５は、移動前装置情報に含まれるソフト情報（第１のソフト情報）に基づいて、移動前装置であるＭＦＰ１００にインストールされているソフトウェア資源と使用権限とを決定し、移動後装置情報に含まれるソフト情報（第２のソフト情報）に基づいて、移動後装置であるＭＦＰ１００Ａにインストールされているソフトウェア資源と使用権限とを決定する。変更部２７５は、移動前装置情報に含まれるソフト情報と移動後装置情報に含まれるソフト情報とに基づいて、アンインストールするプログラムを決定する。具体的には、変更部２７５は、移動前装置であるＭＦＰ１００にインストールされているプログラムのうちに、移動前装置であるＭＦＰ１００に使用権限が与えられているプログラムが含まれる場合、そのプログラムが移動後装置であるＭＦＰ１００Ａにおいて使用権限が与えられていない場合に、そのプログラムをアンインストールする対象に決定する。移動後装置であるＭＦＰ１００Ａで、それに使用権限が与えられていないソフトウェア資源を使用できないようにするためである。変更部２７５は、移動前装置であるＭＦＰ１００にインストールされているが、移動後装置であるＭＦＰ１００Ａにインストールされていないプログラムであって、ユーザーに使用権限が与えられたプログラムを、シミュレート部２７１にアンインストールさせない。これにより、ユーザーが移動後装置であるＭＦＰ１００Ａの操作を開始した場合に、ユーザーに使用権限が与えられたプログラムを直ちに実行させることができる。例えば、そのプログラムを実行するための認証等の処理を実行させる必要がない。
【００９２】
また、変更部２７５は、移動後装置であるＭＦＰ１００にインストールされているが、移動前装置であるＭＦＰ１００にインストールされていないソフトウェア資源を、シミュレート部２７１にインストールさせる。変更部２７５は、移動前装置情報に含まれるソフト情報と移動後装置情報に含まれるソフト情報とに基づいて、インストールするアプリケーションプログラムを決定する。これにより、移動後装置であるＭＦＰ１００Ａにインストールされているすべてのプログラムを直ちに実行させることができる。
【００９３】
さらに、変更部２７５は、移動後装置であるＭＦＰ１００の固有情報を移動後装置であるＭＦＰ１００Ａの固有情報に変更してシミュレート部２７１に設定させる。変更部２７５は、移動前装置情報に含まれる固有情報（第１固有情報）を、移動後装置情報に含まれる固有情報（第２固有情報）に変更させる。固有情報は、ＩＰアドレスの場合、変更部２７５は、シミュレート部２７１に、移動前装置であるＭＦＰ１００のＩＰアドレスを、移動後装置であるＭＦＰ１００ＡのＩＰアドレスに変更させる。これにより、移動後装置であるＭＦＰ１００Ａにおいて、ネットワーク３を介して通信を直ちに実行させることができる。
【００９４】
さらに、変更部２７５は、移動前装置であるＭＦＰ１００にインストールされている不揮発性の記憶装置、ここではＨＤＤ１１３へのアクセスを可能にするために、ＨＤＤ１１３にアクセスするためのパスをシミュレート部２７１に設定させる。ここでのパスは、ネットワーク３を介してＭＦＰ１００のＨＤＤ１１３を特定できるパスであり、移動前装置であるＭＦＰ１００の装置識別情報を含む。これにより、移動後装置であるＭＦＰ１００Ａにおいて、移動前装置であるＭＦＰ１００が備えるＨＤＤ１１３に記憶されたデータにアクセスすることができる。
【００９５】
決定部２７７は、シミュレート部２７１が移動後装置であるＭＦＰ１００Ａをシミュレートする状態におけるスナップショットを移動後スナップショットに決定する。具体的には、シミュレート部２７１がシミュレートする仮想装置の装置情報が、移動後装置情報と同じになった時点で、仮想メモリ３０３に記憶されているデータと、仮想ＣＰＵ３０１に設定されているレジスタ値とを移動後スナップショットに決定する。決定部２７７は、決定されたスナップショットを起動部２６１に出力する。
【００９６】
装置判断部２６３は、起動前装置情報に含まれる機種名と起動後装置情報に含まれる機種名とに基づいて、起動前スナップショットから起動後スナップショットの生成が可能か否かを判断する。機種名から、起動前装置であるＭＦＰ１００のＣＰＵ１７１と、起動後装置であるＭＦＰ１００ＡのＣＰＵ１７１とが同一かまたは互換性がある場合に、起動後スナップショットを生成可能と判断するが、両者が異なる場合、また互換性がない場合に、起動後スナップショットを生成不可能と判断する。装置判断部２６３は、起動後スナップショットを生成不可能と判断する場合、生成部２５９に禁止指示を出力する。生成部２５９は、装置判断部２６３から禁止指示が入力される場合は、シミュレート部２７１に移動前装置であるＭＦＰ１００をシミュレートさせることなく、移動後スナップショットを生成しない。
【００９７】
起動部２６１は、開始時検出部２５５から開始信号が入力されることに応じて、決定部２７７から入力される移動後スナップショットを、移動後装置であるＭＦＰ１００Ａに設定し、ハイバネーションで起動するようにＭＦＰ１００Ａに指示する。具体的には、起動部２６１は、開始信号に含まれる装置識別情報から移動後装置であるＭＦＰ１００Ａを特定し、無線ＬＡＮＩ／Ｆ２０８を制御して、移動後スナップショットを設定し、ハイバネーションで起動するコマンドを送信する。移動後装置であるＭＦＰ１００Ａにおいては、スマートフォン２００から移動後スナップショットを受信すると、ＲＡＭ２０３に移動後スナップショットを記憶し、ハイバネーションする。これにより、移動後装置であるＭＦＰ１００Ａにおいて、移動後装置であるＭＦＰ１００Ａの前に操作していた移動前装置であるＭＦＰ１００と同じ状態が再現される。このため、ユーザーは、移動前装置であるＭＦＰ１００で設定していた操作を途中で中断する場合であっても、移動前装置であるＭＦＰ１００で設定していた操作を移動後装置であるＭＦＰ１００Ａにおいて継続することができる。
【００９８】
起動部２６１は、さらに、ＭＦＰ１００Ａがハイバネーションで起動する場合、フラッシュメモリ２０４に記憶されている移動前スナップショットを削除する。これにより、フラッシュメモリ２０４に最新のスナップショットのみを記憶するようにすることができる。
【００９９】
図７は、第１の実施の形態における操作支援処理の流れの一例を示すフローチャートである。操作支援処理は、スマートフォン２００が備えるＣＰＵ２０１が、ＲＯＭ２０２、フラッシュメモリ２０４またはＣＤ−ＲＯＭ２１０Ａに記憶された操作支援プログラムを実行することにより、ＣＰＵ２０１により実行される処理である。図７を参照して、スマートフォン２００が備えるＣＰＵ２０１は、ＭＦＰ１００，１００Ａ，１００Ｂのいずれかに対するユーザーによる操作の終了を検出したか否かを判断する（ステップＳ０１）。ＭＦＰ１００，１００Ａ，１００Ｂのいずれかのうち、ユーザーによる操作の終了が検出された装置を移動前装置という。ここでは、移動前装置としてＭＦＰ１００が検出される場合を例に説明する。ユーザーによるＭＦＰ１００の操作が検出された後に、近距離通信部２１１が移動前装置であるＭＦＰ１００と通信不可能になる場合に、移動前装置であるＭＦＰ１００に対するユーザーによる操作の終了を検出する。操作の終了を検出したならば処理をステップＳ０２に進めるが、そうでなければ処理をステップＳ０１に戻す。
【０１００】
ステップＳ０２においては、移動前装置であるＭＦＰ１００から装置情報を取得する。無線ＬＡＮＩ／Ｆ２０８を制御して、ＭＦＰ１００と通信することにより、ＭＦＰ１００からＭＦＰ１００の装置情報を取得する。次のステップＳ０３においては、移動前装置であるＭＦＰ１００から移動前スナップショットを取得する。無線ＬＡＮＩ／Ｆ２０８を制御して、ＭＦＰ１００と通信することにより、ＭＦＰ１００からＲＡＭ１７５に記憶されたデータと、ＣＰＵ１７１のレジスタに設定されたレジスタ値とを含むスナップショットを移動前スナップショットとして取得する。ステップＳ０４においては、取得された移動前スナップショットをフラッシュメモリ２０４に記憶し、処理をステップＳ０５に進める。
【０１０１】
ステップＳ０５においては、ＭＦＰ１００，１００Ａ，１００Ｂのいずれかに対するユーザーによる操作の開始を検出したか否かを判断する。ＭＦＰ１００，１００Ａ，１００Ｂのいずれかに対するユーザーによる操作の開始を検出したならば（ステップＳ０５でＹＥＳ）、処理をステップＳ０６に進めるが、そうでなければ待機状態となる（ステップＳ０５でＮＯ）。スマートフォン２００の現在位置がＭＦＰ１００，１００Ａ，１００Ｂのいずれかから所定の範囲内となる場合に、ユーザーによる操作の開始を検出する。以下、ユーザーによる操作の開始が検出された装置を移動後装置という。ここでは、移動後装置としてＭＦＰ１００Ａが検出される場合を例に説明する。
【０１０２】
次のステップＳ０６においては、移動後装置であるＭＦＰ１００Ａの使用権限が与えられているか否かを判断する。使用権限が与えられているならば処理をステップＳ０７に進めるが、そうでなければ処理をステップＳ０５に戻す。
【０１０３】
ステップＳ０７においては、移動後装置であるＭＦＰ１００Ａの装置情報を取得する。ＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置情報を予め取得しておき、ＨＤＤ１１３に記憶しておくようにすればよい。次のステップＳ０８においては、移動前装置であるＭＦＰ１００と移動後装置であるＭＦＰ１００Ａとで、ＣＰＵの機種が同一または互換性があるか否かを判断する。ＣＰＵの機種が同一または互換性があるならば処理をステップＳ０９に進めるが、そうでなければ処理を終了する。ＣＰＵの機種が同一または互換性がない場合は、移動後装置であるＭＦＰ１００Ａは、ハイバネーションすることなく、ＣＰＵ１７１にブートプログラムを実行させて、通常の起動方法で起動させる。
【０１０４】
ステップＳ０９においては、シミュレート設定する。移動前装置であるＭＦＰ１００の装置情報に基づいてＭＦＰ１００の仮想装置を構成するとともに、仮想メモリにステップＳ０３において取得された移動前スナップショットを記憶する。
【０１０５】
そして、ステップＳ１０においては、ハードウェア資源を決定し、処理をステップＳ１１に進める。移動前装置であるＭＦＰ１００の装置情報と、移動後装置であるＭＦＰ１００Ａの装置情報とに基づいて、ＭＦＰ１００にインストールされているがＭＦＰ１００Ａにインストールされていないハードウェア資源を決定する。ステップＳ１１においては、決定されたハードウェア資源をアンインストールし、処理をステップＳ１２に進める。
【０１０６】
ステップＳ１２においては、ソフトウェア資源を決定し、処理をステップＳ１３に進める。移動前装置であるＭＦＰ１００の装置情報と、移動後装置であるＭＦＰ１００Ａの装置情報とに基づいて、ＭＦＰ１００にインストールされているがＭＦＰ１００Ａにインストールされておらず、ＭＦＰ１００Ａが使用権限を有しないアプリケーションプログラムを決定する。ステップＳ１３においては、決定されたアプリケーションプログラムをアンインストールし、処理をステップＳ１４に進める。
【０１０７】
次のステップＳ１４においては、固有情報を設定する。具体的には、移動前装置であるＭＦＰ１００の装置情報で定められた固有情報を、移動後装置であるＭＦＰ１００Ａの装置情報で定められた固有情報に変更する。固有情報は、例えば、ＩＰアドレスである。
【０１０８】
次のステップＳ１５においては、仮想メモリに記憶されているデータと、仮想ＣＰＵのレジスタに設定されているレジスタ値とを含むスナップショットを、移動後スナップショットとして、移動後装置であるＭＦＰ１００Ａに設定させるために送信し、移動後装置であるＭＦＰ１００Ａにハイバネーションを指示する。これにより、移動後装置であるＭＦＰ１００Ａにおいて、ハイバネーションが実行され、起動する。
【０１０９】
次のステップＳ１６においては、ステップＳ０４において記憶されたスナップショットを削除し、処理を終了する。これにより、ユーザーに対して１つのスナップショットを記憶することができる。
【０１１０】
＜変形例＞
上述した第１の実施の形態においては、スマートフォン２００が移動前装置であるＭＦＰ１００から移動前スナップショットを取得した後、移動後装置であるＭＦＰ１００Ａに対するユーザーの操作を検出すると、移動前スナップショットを移動後スナップショットに変更し、移動後スナップショットを、ＭＦＰ１００Ａに記憶させるようにした。
【０１１１】
変形例においては、スマートフォン２００が移動前装置であるＭＦＰ１００から移動前スナップショットを取得した後、移動後装置であるＭＦＰ１００Ａに対するユーザーの操作を検出する前に、移動前スナップショットを中間スナップショットに変更し、移動後装置であるＭＦＰ１００Ａに対するユーザーの操作を検出すると、中間スナップショットを移動後スナップショットに変更し、移動後スナップショットを、ＭＦＰ１００Ａに記憶させるようにする。
【０１１２】
中間スナップショットは、ＭＦＰ１００，１００Ａ，１００Ｂの少なくとも１つにインストールされているハードウェア資源のすべてがインストールされ、かつ、ＭＦＰ１００，１００Ａ，１００Ｂの少なくとも１つにインストールされているソフトウェア資源のすべてがインストールされたモデル装置を設定し、そのモデル装置に記憶させるためのスナップショットである。なお、モデル装置にインストールされるハードウェア資源およびソフトウェア資源は、予め定められていればよく、ＭＦＰ１００，１００Ａ，１００Ｂの半分以上でインストールされるハードウェア資源およびソフトウェア資源であってもよい。
【０１１３】
変形例における生成部２５９は、装置情報取得部２５３から移動前装置であるＭＦＰ１００の装置識別情報と移動前装置情報との組が入力され、スナップショット取得部２５７から移動前スナップショットが入力されることに応じて、中間スナップショットを生成する。そして、変形例における生成部２５９は、装置情報取得部２５３から移動後装置であるＭＦＰ１００Ａの装置識別情報と移動後装置情報との組が入力されることに応じて、中間スナップショットから移動後スナップショットを生成する。
【０１１４】
変形例におけるシミュレート部２７１は、移動前スナップショットを用いて移動前装置であるＭＦＰ１００をシミュレートする。具体的には、シミュレート部２７１は、図６に示したＣＰＵ周辺シミュレータ３００の仮想メモリ３０３に移動前スナップショットを記憶させ、エミュレート部２７３が移動前装置であるＭＦＰ１００が備えるハードウェア資源をエミュレートする。さらに、シミュレート部２７１は、仮想ＣＰＵ３０１がエミュレート部２７３によりエミュレートされるハードウェア資源と同期するように、仮想ＣＰＵ３０１のレジスタに移動前スナップショットに含まれるレジスタ値を設定する。これにより、変形例におけるシミュレート部２７１が、移動前装置であるＭＦＰ１００をシミュレートした仮想装置が完成する。
【０１１５】
そして、変形例における変更部２７５は、ユーザーが移動後装置であるＭＦＰ１００Ａを操作する前に、モデル装置に対して予め定められた装置情報に基づいて、シミュレート部２７１が移動前装置であるＭＦＰ１００をシミュレートする仮想装置を、モデル装置をシミュレートする仮想装置に変更するようにシミュレート部２７１を制御する。具体的には、変更部２７５は、シミュレート部２７１に移動前装置であるＭＦＰ１００にインストールされていないが、モデル装置にインストールされているハードウェア資源を、仮想装置にインストールする。さらに、変更部２７５は、シミュレート部２７１に移動前装置であるＭＦＰ１００にインストールされていないが、モデル装置にインストールされているソフトウェア資源を、仮想装置にインストールする。具体的には、この場合、インストールすることが決定されたハードウェア資源を、エミュレート部２７３にエミュレートさせ、シミュレート部２７１にエミュレート部２７３によりエミュレートされるハードウェア資源と同期させるとともに、インストールすることが決定されたハードウェア資源を制御するプログラムをインストールさせる。
【０１１６】
さらに、変形例における変更部２７５は、シミュレート部２７１がモデル装置をシミュレートする仮想装置を、移動後装置であるＭＦＰ１００Ａをシミュレートする仮想装置に変更するようにシミュレート部２７１を制御する。具体的には、変更部２７５は、シミュレート部２７１にモデル装置にインストールされているが、移動後装置であるＭＦＰ１００Ａにインストールされていないハードウェア資源を、仮想装置からアンインストールさせる。変更部２７５は、モデル装置の装置情報と移動後装置であるＭＦＰ１００Ａの移動後装置情報に含まれるハード情報に基づいてモデル装置にインストールされているハードウェア資源を決定し、移動後装置情報に含まれるハード情報に基づいて移動後装置であるＭＦＰ１００Ａにインストールされているハードウェア資源を決定する。例えば、移動後装置であるＭＦＰ１００Ａに原稿読取部１３０がインストールされていない場合、変更部２７５は、シミュレート部２７１に原稿読取部１３０をアンインストールする指示を出力する。シミュレート部２７１は、変更部２７５からの指示に従って、原稿読取部１３０を制御するためのドライバープログラムをアンインストールするとともに、エミュレート部２７３により原稿読取部１３０をエミュレートされるエミュレータとの同期を消去する設定をする。移動後装置であるＭＦＰ１００にインストールされていないハードウェア資源およびソフトウェア資源をアンインストールすればよく、新たなハードウェア資源およびソフトウェア資源をインストールする必要がないので、移動後装置であるＭＦＰ１００Ａに対する操作が検出されてから移動後スナップショットを生成するまでの時間をできるだけ短くすることができる。
【０１１７】
また、変形例における変更部２７５は、モデル装置にインストールされているが、移動後装置であるＭＦＰ１００Ａにインストールされていないソフトウェア資源を、そのソフトウェア資源が移動後装置であるＭＦＰ１００に使用権限が与えられていないことを条件に、仮想装置からアンインストールさせる。具体的には、変形例における変更部２７５は、モデル装置にインストールされているプログラムのうちに、移動前装置であるＭＦＰ１００に使用権限が許可されているプログラムが含まれる場合、そのプログラムが移動後装置であるＭＦＰ１００Ａにおいて使用権限が許可されていない場合に、そのプログラムをアンインストールする対象に決定する。変形例における変更部２７５は、移動前装置であるＭＦＰ１００にインストールされているが、移動後装置であるＭＦＰ１００にインストールされていないソフトウェア資源であって、ユーザーに使用権限が与えられたプログラムを、シミュレート部２７１にアンインストールさせない。このため、移動後装置であるＭＦＰ１００Ａにおいて、移動前装置であるＭＦＰ１００にインストールされたプログラムを継続して使用することができる。例えば、プログラムを使用するための認証操作を省略することができる。
【０１１８】
さらに、変形例における変更部２７５は、移動後装置であるＭＦＰ１００の固有情報を移動前装置であるＭＦＰ１００の固有情報に代えてシミュレート部２７１に設定させる。へ敬礼における変更部２７５は、移動前装置情報に含まれる固有情報（第１固有情報）を、移動後装置情報に含まれる固有情報（第２固有情報）に変更させる。固有情報は、ＩＰアドレスの場合、変更部２７５は、シミュレート部２７１に、移動前装置であるＭＦＰ１００のＩＰアドレスを、移動後装置であるＭＦＰ１００ＡのＩＰアドレスに変更させる。
【０１１９】
さらに、変形例における変更部２７５は、移動前装置であるＭＦＰ１００にインストールされている不揮発性の記憶装置、ここではＨＤＤ１１３へのアクセスを可能にするために、ＨＤＤ１１３にアクセスするためのパスをシミュレート部２７１に設定させる。
【０１２０】
変形例における決定部２７７は、シミュレート部２７１が移動後装置であるＭＦＰ１００Ａをシミュレートする状態におけるスナップショットを移動後スナップショットに決定する。具体的には、シミュレート部２７１がシミュレートする仮想装置の装置情報が、移動後装置情報と同じになった時点で、仮想メモリ３０３に記憶されているデータと、仮想ＣＰＵ３０１に設定されているレジスタ値とを移動後スナップショットに決定する。決定部２７７は、決定されたスナップショットを起動部２６１に出力する。
【０１２１】
以上説明したように第１の実施の形態におけるスマートフォン２００は、情報処理装置として機能し、ユーザーが操作を終了した移動前装置であるＭＦＰ１００（第１の画像形成装置）から、操作を終了した時点の移動前スナップショット（第１のスナップショット）を取得し、ユーザーがＭＦＰ１００の次に操作する移動後装置であるＭＦＰ１００Ａ（第２の画像形成装置）に対する操作の開始を検出すると、移動前装置であるＭＦＰ１００の第１の装置情報と移動後装置であるＭＦＰ１００Ａの第２の装置情報とに基づいて、移動前スナップショットから移動後装置であるＭＦＰ１００Ａが実行するための移動後スナップショット（第２のスナップショット）を生成し、移動後スナップショットを移動後装置であるＭＦＰ１００Ａに実行させるために送信する。このため、ＭＦＰ１００とＭＦＰ１００Ａとでハードウェア資源の構成が異なる場合であってもＭＦＰ１００の移動前スナップショットからＭＦＰ１００Ａでハイバネーションするための移動後スナップショットを生成することができる。
【０１２２】
また、スマートフォン２００は、移動前装置であるＭＦＰ１００から取得された移動前スナップショットを用いてＭＦＰ１００をシミュレートし、ＭＦＰ１００をシミュレートする仮想装置を移動後装置であるＭＦＰ１００Ａをシミュレートする仮想装置に変更することにより、移動後スナップショットを生成する。このため、移動後装置であるＭＦＰ１００Ａでハイバネーションするための移動後スナップショットを容易に生成することができる。
【０１２３】
また、スマートフォン２００は、ユーザーによる移動前装置であるＭＦＰ１００に対する操作の終了が検出されることに応じて、ＭＦＰ１００をシミュレートする仮想装置を、モデル装置をシミュレートする仮想装置に変更し、移動後装置であるＭＦＰ１００Ａに対するユーザーによる操作の開始が検出されることに応じて、モデル装置をシミュレートする仮想装置を、ＭＦＰ１００Ａをシミュレートする仮想装置に変更する。ＭＦＰ１００Ａにインストールされていないハードウェア資源およびソフトウェア資源をアンインストールすればよいので、移動後装置であるＭＦＰ１００Ａに対するユーザーによる操作の開始が検出されてからＭＦＰ１００Ａがハイバネーションするための移動後スナップショットが生成されるまでの時間をできるだけ短くすることができる。
【０１２４】
また、スマートフォン２００は、移動前装置であるＭＦＰ１００および移動後装置であるＭＦＰ１００Ａそれぞれにインストールされたハードウェア資源をエミュレートするので、ＭＦＰ１００およびＭＦＰ１００Ａを正確にシミュレートすることができる。
【０１２５】
また、スマートフォン２００は、仮想装置から移動前装置であるＭＦＰ１００にインストールされたハードウェア資源であって移動後装置であるＭＦＰ１００Ａにインストールされたハードウェア資源以外のハードウェア資源をアンインストールする。このため、移動後装置であるＭＦＰ１００Ａにインストールされていないハードウェア資源がアンインストールされるので、移動後スナップショットを容易に生成することができる。
【０１２６】
また、スマートフォン２００は、移動後装置であるＭＦＰ１００Ａにインストールされたハードウェア資源であって移動前装置であるＭＦＰ１００にインストールされたハードウェア資源以外のハードウェア資源をインストールする。このため、ＭＦＰ１００Ａにインストールされたハードウェア資源のすべてを使用可能にすることができる。
【０１２７】
また、スマートフォン２００は、仮想装置から移動前装置であるＭＦＰ１００にインストールされたソフトウェア資源であって移動後装置であるＭＦＰ１００Ａにインストールされたソフトウェア資源以外のソフトウェア資源を、そのソフトウェア資源がＭＦＰ１００Ａにおいて使用権限が与えられていないことを条件に、アンインストールする。このため、移動後装置であるＭＦＰ１００Ａにおいて使用権限が与えられていないソフトウェア資源をＭＦＰ１００Ａで使用できないようにすることができる。
【０１２８】
また、スマートフォン２００は、移動後装置であるＭＦＰ１００Ａにインストールされたソフトウェア資源であって移動前装置であるＭＦＰ１００にインストールされたソフトウェア資源以外のソフトウェア資源をインストールする。このため、ＭＦＰ１００Ａにインストールされた全てのソフトウェア資源を使用可能にすることができる。
【０１２９】
また、スマートフォン２００は、仮想装置において移動前装置であるＭＦＰ１００に固有の第１固有情報を、移動後装置であるＭＦＰ１００Ａに固有の第２固有情報に変更する。例えば、第１固有情報および第２固有情報がネットワークアドレスの場合、ＭＦＰ１００Ａがハイバネーション後に通信可能な状態にすることができる。
【０１３０】
また、スマートフォン２００は、移動前装置であるＭＦＰ１００と移動後装置であるＭＦＰ１００ＡそれぞれのＣＰＵが同一または互換性があると判断する場合に、移動前スナップショットを移動後スナップショットに変更する。このため、移動後スナップショットを生成する前に判断するので、不要な処理が実行されるのを防止することができる。
【０１３１】
また、スマートフォン２００は、ユーザーが移動後装置であるＭＦＰ１００Ａを操作する権限を有する場合に、移動前スナップショットを移動後スナップショットに変更する。このため、ユーザーがＭＦＰ１００Ａを操作する権限を有する場合のみ、ＭＦＰ１００Ａを使用可能にすることができる。
【０１３２】
また、スマートフォン２００は、仮想装置において、移動前装置であるＭＦＰ１００が備えるＨＤＤ１１３にアクセス可能なパスを設定した移動後スナップショットを生成する。このため、ＭＦＰ１００ＡからＭＦＰ１００のＨＤＤ１１３に記憶されたデータにアクセス可能にすることができる。
【０１３３】
＜第２の実施の形態＞
第２の実施の形態における操作支援システムは、上述した第１の実施の形態におけるスマートフォン２００が有する機能を、移動前装置が有するようにしたものである。第２の実施の形態における操作支援システムにおいては、スマートフォン２００が不要であり、スマートフォン２００が有するシミュレート機能が不要である。第２の実施の形態における操作支援システムにおいて、ＭＦＰ１００，１００Ａ，１００Ｂのいずれかが移動前装置となり得、ＭＦＰ１００，１００Ａ，１００Ｂのいずれかが移動後装置となり得る。ここでは、移動前装置をＭＦＰ１００とし、移動後装置をＭＦＰ１００Ａとする場合を例に説明する。
【０１３４】
具体的には、第２の実施の形態における操作支援システムにおいて、移動前装置であるＭＦＰ１００が、ユーザーによる操作の終了を検出した時点で移動前スナップショットをＨＤＤ１１３にユーザーと関連付けて記憶する。その後、移動前装置であるＭＦＰ１００が、そのユーザーがＭＦＰ１００Ａの操作を検出することに応じて、移動前スナップショットを移動後スナップショットに変更する。具体的には、移動前装置であるＭＦＰ１００のＣＰＵ１７１が、アンインストールするハードウェア資源を決定し、アンインストールする。ＣＰＵ１７１は、移動前装置であるＭＦＰ１００にインストールされているが、移動後装置であるＭＦＰ１００Ａにインストールされていないハードウェア資源をアンインストールするハードウェア資源に決定する。
【０１３５】
また、移動前装置であるＭＦＰ１００は、移動前装置であるＭＦＰ１００に使用権限が与えられているアプリケーションプログラムが含まれる場合、そのアプリケーションプログラムが移動後装置であるＭＦＰ１００Ａにおいて使用権限が与えられていない場合に、そのアプリケーションプログラムをアンインストールする対象に決定し、アンインストールする。
【０１３６】
さらに、移動前装置であるＭＦＰ１００は、ＭＦＰ１００の固有情報を移動後装置であるＭＦＰ１００Ａの固有情報に変更し、移動前装置であるＭＦＰ１００にインストールされている不揮発性の記憶装置、ここではＨＤＤ１１３へのアクセスを可能にするために、ＨＤＤ１１３にアクセスするためのパスを設定する。ここでのパスは、ネットワーク３を介してＨＤＤ１１３を特定できるパスであり、移動前装置であるＭＦＰ１００の装置識別情報を含む。
【０１３７】
移動前装置であるＭＦＰ１００は、移動後スナップショットを移動後装置であるＭＦＰ１００Ａに送信し、ＭＦＰ１００ＡのＲＡＭ１７５に記憶させるとともに、ＭＦＰ１００Ａが移動後スナップショットを実行可能な状態に設定する。具体的には、ＭＦＰ１００ＡのＣＰＵ１７１のレジスタ値を、ＭＦＰ１００ＡのＣＰＵ１７１に設定されたレジスタ値と同じ値に設定する。
【０１３８】
図８は、第２の実施の形態における操作支援処理の流れの一例を示すフローチャートである。操作支援処理は、移動前装置であるＭＦＰ１００が備えるＣＰＵ１７１が、ＲＯＭ１７３、ＨＤＤ１１３またはＣＤ−ＲＯＭ１８１に記憶された操作支援プログラムを実行することにより、ＣＰＵ１７１により実行される処理である。図８を参照して、移動前装置であるＭＦＰ１００が備えるＣＰＵ１７１は、ユーザーによる操作の終了を検出したか否かを判断する（ステップＳ５１）。ユーザーによるＭＦＰ１００の操作が検出された後に、近距離通信部２１１が移動前装置であるＭＦＰ１００と通信不可能になる場合に、移動前装置であるＭＦＰ１００に対するユーザーによる操作の終了を検出する。操作の終了を検出したならば処理をステップＳ５２に進めるが、そうでなければ処理をステップＳ５１に戻す。
【０１３９】
ステップＳ５２においては、移動前装置であるＭＦＰ１００のＲＡＭ１７５に記憶されたデータとＣＰＵ１７１に設定されているレジスタ値とを移動前スナップショットとして、ＨＤＤ１１３に記憶する。次のステップＳ５３においては、それまで操作していたユーザーを識別するためのユーザー識別情報を、移動前スナップショットと関連付ける。
【０１４０】
ステップＳ５３においては、他のＭＦＰ１００Ａ，１００Ｂのいずれかに対するユーザーによる操作の開始を検出したか否かを判断する。ユーザーの現在位置を検出するようにして、ユーザーの位置がＭＦＰ１００Ａ，１００Ｂのいずれかから所定の距離の範囲内になった場合に、ユーザーによる操作の開始を検出する。例えば、ユーザーが携帯するスマートフォン２００が検出する現在位置を、スマートフォン２００から受信するようにしてユーザーの現在位置を検出することができる。ユーザーによる操作の開始を検出するまで待機状態となり（ステップＳ５３でＮＯ）、ユーザーによる操作の開始を検出したならば（ステップＳ５３でＹＥＳ）、処理をステップＳ５４に進める。ここでは、ＭＦＰ１００Ａでユーザーによる操作の開始を検出した場合を例に説明する。この場合、ＭＦＰ１００Ａが移動後装置となる。
【０１４１】
ステップＳ５４においては、移動後装置であるＭＦＰ１００Ａの使用権限が与えられているか否かを判断する。使用権限が与えられているならば処理をステップＳ５５に進めるが、そうでなければ処理をステップＳ５３に戻す。
【０１４２】
ステップＳ５５においては、移動後装置であるＭＦＰ１００Ａの装置情報を取得する。ＭＦＰ１００Ａ，１００Ｂそれぞれの装置情報を予め取得しておき、ＨＤＤ１１３に記憶しておくようにすればよい。次のステップＳ５６においては、移動前装置であるＭＦＰ１００と移動後装置であるＭＦＰ１００Ａとで、ＣＰＵの機種が同一または互換性があるか否かを判断する。ＣＰＵの機種が同一または互換性があるならば処理をステップＳ５７に進めるが、そうでなければ処理を終了する。ＣＰＵの機種が同一または互換性がない場合は、移動後装置であるＭＦＰ１００Ａは、ハイバネーションすることなく、ＣＰＵ１７１にブートプログラムを実行させて、通常の起動方法で起動させる。
【０１４３】
ステップＳ５７においては、ハイバネーションを実行する。ステップＳ５２においてＨＤＤ１１３に記憶されたスナップショットのうちステップＳ５３において操作の開始が検出されたユーザーのユーザー識別情報と関連付けられたスナップショットを、ＲＡＭ１７５に展開して起動する。次のステップＳ５８においては、ハードウェア資源を決定する。移動前装置であるＭＦＰ１００の装置情報と、移動後装置であるＭＦＰ１００Ａの装置情報とに基づいて、ＭＦＰ１００にインストールされているがＭＦＰ１００Ａにインストールされていないハードウェア資源を決定する。そして、ステップＳ５９においては、ステップＳ５７において決定されたハードウェア資源をアンインストールし、処理をステップＳ６０に進める。
【０１４４】
ステップＳ６０においては、ソフトウェア資源を決定し、処理をステップＳ６１に進める。移動前装置であるＭＦＰ１００の装置情報と、移動後装置であるＭＦＰ１００Ａの装置情報とに基づいて、ＭＦＰ１００にインストールされているがＭＦＰ１００Ａにインストールされておらず、ＭＦＰ１００Ａに使用権限が与えられていないアプリケーションプログラムを決定する。ステップＳ６１においては、ステップＳ６０において決定されたアプリケーションプログラムをアンインストールし、処理をステップＳ６２に進める。
【０１４５】
ステップＳ６２においては、固有情報を設定し、処理をステップＳ６３に進める。具体的には、移動前装置であるＭＦＰ１００の装置情報で定められた固有情報を、移動後装置であるＭＦＰ１００Ａの装置情報で定められた固有情報に変更する。固有情報は、例えば、ＩＰアドレスである。
【０１４６】
ステップＳ６３においては、ＲＡＭ１７５に記憶されているデータと、ＣＰＵの１７１のレジスタに設定されているレジスタ値とを含むスナップショットを、移動後スナップショットとして、移動後装置であるＭＦＰ１００Ａに設定されせるために送信し、移動後装置であるＭＦＰ１００Ａにハイバネーションを指示する。これにより、ＭＦＰ１００Ａにおいて、ハイバネーションが実行され、起動する。
【０１４７】
次のステップＳ６４においては、ステップＳ５２において記憶されたスナップショットのうちステップＳ５３において操作の開始が検出されたユーザーのユーザー識別情報と関連付けられたスナップショットを削除し、処理を終了する。これにより、ユーザーに対して１つのスナップショットが、ＭＦＰ１００，１００Ａ，１００Ｂのいずれか１つに記憶されるようにすることができる。
【０１４８】
第２の実施の形態においては、ＭＦＰ１００，１００Ａ，１００Ｂのいずれかが移動前装置および移動後装置となる。例えば、ＭＦＰ１００が移動前装置となり、ＭＦＰ１００Ａが移動後装置となる場合、ＭＦＰ１００は、情報処理装置として機能し、ＭＦＰ１００がユーザーによる操作の終了を検出した時点の移動前スナップショットを記憶し、ユーザーによるＭＦＰ１００Ａの操作の開始を検出すると、第１の装置情報が第２の装置情報となるようにハードウェア資源および／またはソフトウェア資源をアンインストールすることにより、移動前スナップショットからＭＦＰ１００Ａがハイバネーションするための移動後スナップショットを生成する。このため、移動前装置であるＭＦＰ１００は、移動前スナップショットから移動後装置であるＭＦＰ１００Ａを起動するための移動後スナップショットを容易に生成することができる。
【０１４９】
また、移動前装置であるＭＦＰ１００は、ＭＦＰ１００にインストールされたハードウェア資源であって移動後装置であるＭＦＰ１００Ａにインストールされたハードウェア資源以外のハードウェア資源をアンインストールする。このため、移動後装置であるＭＦＰ１００Ａにインストールされていないハードウェア資源がアンインストールされるので、移動後スナップショットを容易に生成することができる。
【０１５０】
また、移動前装置であるＭＦＰ１００は、移動後装置であるＭＦＰ１００Ａにインストールされたハードウェア資源であって移動前装置であるＭＦＰ１００にインストールされたハードウェア資源以外のハードウェア資源をインストールする。このため、ＭＦＰ１００Ａにインストールされたハードウェア資源のすべてを使用可能にすることができる。
【０１５１】
また、移動前装置であるＭＦＰ１００は、ＭＦＰ１００にインストールされたソフトウェア資源であって移動後装置であるＭＦＰ１００Ａにインストールされたソフトウェア資源以外のソフトウェア資源を、そのソフトウェア資源がＭＦＰ１００Ａにおいて使用権限が与えられていないことを条件に、アンインストールする。このため、移動後装置であるＭＦＰ１００Ａにおいて使用権限が与えられていないソフトウェア資源をＭＦＰ１００Ａで使用できないようにすることができる。
【０１５２】
また、移動前装置であるＭＦＰ１００は、移動後装置であるＭＦＰ１００Ａにインストールされたソフトウェア資源であって移動前装置であるＭＦＰ１００にインストールされたソフトウェア資源以外のソフトウェア資源をインストールする。このため、ＭＦＰ１００Ａにインストールされた全てのソフトウェア資源を使用可能にすることができる。
【０１５３】
また、移動前装置であるＭＦＰ１００は、ＭＦＰ１００に固有の第１固有情報を、移動後装置であるＭＦＰ１００Ａに固有の第２固有情報に変更する。例えば、第１固有情報および第２固有情報がネットワークアドレスの場合、ＭＦＰ１００Ａがハイバネーション後に通信可能な状態にすることができる。
【０１５４】
また、移動前装置であるＭＦＰ１００は、ＭＦＰ１００と移動後装置であるＭＦＰ１００ＡそれぞれのＣＰＵが同一または互換性があると判断する場合に、移動前スナップショットを移動後スナップショットに変更する。このため、移動後スナップショットを生成する前に判断するので、不要な処理が実行されるのを防止することができる。
【０１５５】
また、移動前装置であるＭＦＰ１００は、ユーザーが移動後装置であるＭＦＰ１００Ａを操作する権限を有する場合に、移動前スナップショットを移動後スナップショットに変更する。このため、ユーザーがＭＦＰ１００Ａを操作する権限を有する場合のみ、ＭＦＰ１００Ａを使用可能にすることができる。
【０１５６】
また、移動前装置であるＭＦＰ１００は、ＭＦＰ１００が備えるＨＤＤ１１３にアクセス可能なパスを設定した移動後スナップショットを生成する。このため、ＭＦＰ１００ＡからＭＦＰ１００のＨＤＤ１１３に記憶されたデータにアクセス可能にすることができる。
【０１５７】
なお、上述した実施の形態においては、操作支援システム１について説明したが、情報処理装置として機能するスマートフォン２００が図７に示した操作支援処理を実行する操作支援方法、その操作支援方法をスマートフォン２００が備えるＣＰＵ２０１が実行する操作支援プログラム、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれが図８に示した操作支援処理を実行する操作支援方法、その操作支援方法をＭＦＰ１００，１００Ａ，１００Ｂそれぞれが備えるＣＰＵ１７１が実行する操作支援プログラムとして発明を捉えることができるのは言うまでもない。
【０１５８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５９】
１  操作支援システム、３  ネットワーク、５  無線局、１００，１００Ａ，１００Ｂ  ＭＦＰ、２００  スマートフォン、１１１  メイン基板、１１５  操作パネル、１１５Ａ  操作パネル、１１８  表示部、１１９  操作部、１２０，１２０Ａ  自動原稿搬送装置、１３０，１３０Ａ  原稿読取部、１４０，１４０Ａ  画像形成部、１５０，１５０Ａ  給紙部、１６０，１６０Ａ  通信Ｉ／Ｆ部、１７０，１７０Ａ  ファクシミリ部、１７１  ＣＰＵ、１７３  ＲＯＭ、１７５  ＲＡＭ、１７７  画像制御ＡＳＩＣ、１７９  バス、１８０，１８０Ａ  外部記憶装置、２０１  ＣＰＵ、２０２  ＲＯＭ、２０３  ＲＡＭ、２０４  フラッシュメモリ、２０５  表示部、２０６  操作部、２０６Ａ  メインキー、２０６Ｂ  タッチパネル、２０８  無線ＬＡＮＩ／Ｆ、２０９  ＧＰＳセンサー、２１０  外部記憶装置、２１１  近距離通信部、２５１  終了時検出部、２５３  装置情報取得部、２５５  開始時検出部、２５７  スナップショット取得部、２５９  生成部、２６１  起動部、２６３  装置判断部、２６５  操作権限判断部、２７１  シミュレート部、２７３  エミュレート部、２７５  変更部、２７７  決定部、３００  ＣＰＵ周辺シミュレータ、３０１  仮想ＣＰＵ、３０３  仮想メモリ、３０５  周辺モデル、３０７  同期設定モデル、３０９  割込制御部、３１１  バス、３２０  ＨＷシミュレータ、３２１  ＰＣＩ−ＥｘｐｒｅｓｓＢｕｓモデル、３２３  画像制御ＡＳＩＣモデル、３２５  ハードウェア資源モデル。
【図１】
2018195015.tif 000003
【図２】
2018195015.tif 000004
【図３】
2018195015.tif 000005
【図４】
2018195015.tif 000006
【図５】
2018195015.tif 000007
【図６】
2018195015.tif 000008
【図７】
2018195015.tif 000009
【図８】
2018195015.tif 000010