(57)【要約】      （修正有）【課題】アプリとアプリデータの格納場所が分かれている画像形成装置において、操作部を接続されていた本体部から別の本体部に接続し替えた際にもアプリを利用できる情報処理装置、データ移行方法、およびプログラムを提供する。【解決手段】画像形成装置は操作部と本体部を有する。操作部は、紐づけられた本体部の紐づけ用本体ＩＤと、インストールされたアプリと操作部ＩＤとを持つ。本体部は、本体ＩＤと、アプリケーションに対応し、操作部と紐づけられたアプリケーションデータを持つ。本体部は、その本体部と紐づけられていない操作部との接続を検知するとＳ４０２−ＮＯ、紐づけ用本体ＩＤを本体ＩＤとして持つ第二の本体部を探索しＳ４０３、発見した第二の本体部の持つアプリケーションデータを、その本体部へと移行させるＳ４０５。そして操作部をその本体部と紐づけるＳ４０６。【選択図】図４
2019070868.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのアプリケーションがインストールされたアプリケーション部と、前記少なくとも一つのアプリケーションに対応するアプリケーションデータを記憶するデータ部とを有する情報処理装置であって、前記アプリケーション部と前記データ部とは互いに接続および分離でき、
前記データ部は、
前記アプリケーション部と接続されると、接続された前記アプリケーション部が前記データ部と紐づけられているか判定し、
紐づけられていない場合には、接続された前記アプリケーション部に紐づけられた第二のデータ部から前記アプリケーションデータを取得して記憶し、接続された前記アプリケーション部に、該アプリケーション部と接続されている前記データ部と紐づける情報を記憶させることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記データ部はネットワークに接続されており、
前記データ部はさらに、接続された前記アプリケーション部が前記データ部と紐づけられていない場合には、接続された前記アプリケーション部に紐づけられた前記第二のデータ部を前記ネットワークから探索することをと特徴とする情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置であって、
前記アプリケーション部は、最後に接続された前記データ部の識別情報を、前記データ部と紐づける情報として記憶することを特徴とする情報処理装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の情報処理装置であって、
前記アプリケーションデータには、最後に接続された前記アプリケーション部と紐づけるための情報が含まれ、
前記データ部は、接続された前記アプリケーション部に紐づけられた前記第二のデータ部から、前記アプリケーション部に紐づけられた前記アプリケーションデータを取得して記憶することを特徴とする情報処理装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の情報処理装置であって、
前記データ部は、前記アプリケーション部に紐づけられた前記アプリケーションデータを、データの移動により取得することを特徴とする情報処理装置。
【請求項６】
請求項４に記載の情報処理装置であって、
前記データ部はさらに、該データ部に、前記第二のデータ部と同じ前記アプリケーションデータが記憶されている場合には、前記第二のデータ部から前記アプリケーションデータを取得せず、記憶されていない場合に、前記第二のデータ部から前記アプリケーションデータを複製により取得して記憶することを特徴とする情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記データ部はさらに、該データ部に記憶された前記アプリケーション部に紐づけられた前記アプリケーションデータを削除禁止に設定し、前記第二のデータ部に記憶された前記アプリケーション部に紐づけられた前記アプリケーションデータの削除禁止を解除することを特徴とする情報処理装置。
【請求項８】
請求項１乃至７のいずれか一項に記載の情報処理装置であって、
前記データ部はさらに、前記第二のデータ部から前記アプリケーションデータを取得する際に、前記アプリケーションデータを変換する必要があるか否かを判定し、変換する必要がある場合には、前記第二のデータ部から前記アプリケーションデータを取得したデータを変換することを特徴とする情報処理装置。
【請求項９】
請求項１乃至８のいずれか一項に記載の情報処理装置であって、
前記データ部にはさらに、前記アプリケーション部に紐づけられた、前記アプリケーションデータ以外のデータを記憶し、
前記データ部はさらに、該データ部に接続されている前記アプリケーション部に紐づけられた、前記アプリケーションデータ以外のデータが前記第二のデータ部に記憶されている場合には、当該アプリケーションデータ以外のデータも取得して記憶することを特徴とする情報処理装置。
【請求項１０】
請求項１乃至９のいずれか一項に記載の情報処理装置であって、
前記アプリケーションデータ以外のデータにはユーザを認証するためのユーザデータを含み、
前記データ部はさらに、該データ部に接続されている前記アプリケーション部に紐づけられた、前記アプリケーションデータ以外のデータが前記第二のデータ部に記憶されている場合には、当該アプリケーションデータ以外のデータに含まれたユーザデータを用いてユーザ認証を行い、ユーザ認証が成功した場合に、前記第二のデータ部に記憶された前記アプリケーションデータ及び前記アプリケーションデータ以外のデータを取得して記憶することを特徴とする情報処理装置。
【請求項１１】
請求項６に記載の情報処理装置であって、
前記データ部はさらに、該データ部に、前記第二のデータ部と同じ前記アプリケーションデータが記憶されている場合には、前記第二のデータ部から前記アプリケーションデータを取得せず、前記データ部に記憶されている前記アプリケーションデータを、前記データ部に接続されている前記アプリケーションと関連づけることを特徴とする情報処理装置。
【請求項１２】
請求項１１に記載の情報処理装置であって、
前記データ部はさらに、前記第二のデータ部に記憶されている前記アプリケーションデータが複数のデータ部に紐づけられている場合には、前記第二のデータ部に記憶されている前記アプリケーションデータと、前記データ部に接続されている前記アプリケーション部との紐づけを解除し、前記第二のデータ部に記憶されている前記アプリケーションデータがひとつのデータ部に紐づけられている場合には、前記第二のデータ部に記憶されている前記アプリケーションデータを削除することを特徴とする情報処理装置。
【請求項１３】
請求項１乃至１２のいずれか一項に記載の情報処理装置であって、
前記アプリケーション部はユーザインタフェース手段をさらに有し、
前記データ部は、スキャナ手段及びプリンタ手段をさらに有することを特徴とする情報処理装置。
【請求項１４】
少なくとも一つのアプリケーションがインストールされたアプリケーション部と接続できる情報処理装置であって、
前記少なくとも一つのアプリケーションに対応するアプリケーションデータを記憶し、
前記アプリケーション部と接続されると、接続された前記アプリケーション部が前記データ部と紐づけられているか判定し、
紐づけられていない場合には、接続された前記アプリケーション部に紐づけられた第二のデータ部から前記アプリケーションデータを取得して記憶し、接続された前記アプリケーション部に、該アプリケーション部と接続されている前記データ部と紐づける情報を記憶させることを特徴とする情報処理装置。
【請求項１５】
アプリケーションに対応するアプリケーションデータを記憶したデータ部と接続できる情報処理装置であって、
少なくとも一つのアプリケーションがインストールされ、
最後に接続された前記データ部と紐づける情報を記憶することを特徴とする情報処理装置。
【請求項１６】
少なくとも一つのアプリケーションがインストールされたアプリケーション部と、前記少なくとも一つのアプリケーションに対応するアプリケーションデータを記憶するデータ部とを有する情報処理装置によるデータ移行方法であって、前記アプリケーション部と前記データ部とは互いに接続および分離でき、前記方法は、
前記データ部が、
前記アプリケーション部と接続されると、接続された前記アプリケーション部が前記データ部と紐づけられているか判定し、
紐づけられていない場合には、接続された前記アプリケーション部に紐づけられた第二のデータ部から前記アプリケーションデータを取得して記憶し、接続された前記アプリケーション部に、該アプリケーション部と接続されている前記データ部と紐づける情報を記憶させることを特徴とするデータ移行方法。
【請求項１７】
少なくとも一つのアプリケーションがインストールされたアプリケーション部と接続できる情報処理装置によるデータ移行方法であって、
前記少なくとも一つのアプリケーションに対応するアプリケーションデータを記憶し、
前記アプリケーション部と接続されると、接続された前記アプリケーション部が前記データ部と紐づけられているか判定し、
紐づけられていない場合には、接続された前記アプリケーション部に紐づけられた第二のデータ部から前記アプリケーションデータを取得して記憶し、接続された前記アプリケーション部に、該アプリケーション部と接続されている前記データ部と紐づける情報を記憶させることを特徴とするデータ移行方法。
【請求項１８】
請求項１４に記載の情報処理装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばアプリケーション（以下アプリ）等を利用可能な本体部と操作部とを有する情報処理装置、データ移行方法およびプログラムに関する。
【背景技術】
【０００２】
画像形成装置には、コピーや印刷を行うだけでなく、アプリをインストールして利用できるものがある。また、主にユーザに画面を提示してユーザからの操作を受け付ける操作部と、主に画像形成処理を行う本体部とから構成される画像形成装置が知られている（特許文献１）。このような画像形成装置は、操作部にアプリをインストールすることができ、操作部のアプリは本体部と協調動作を行うことがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−５４７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、本体部から分離した操作部を別の本体部に接続し替えて利用することは想定されていなかった。操作部を、それと対になった本体部とは別の本体部に接続し替えて利用しようとした場合、操作部のアプリが利用するデータ（以下アプリデータ）の格納場所が操作部に無い場合に使用できないという課題があった。
【０００５】
本発明は上述した問題を解決するためになされたものであり、アプリとアプリデータの格納場所が分かれている画像形成装置において、操作部を接続されていた本体部から別の本体部に接続し替えた際にもアプリを利用できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明は以下の構成を有する。
【０００７】
本発明の第一の側面によれば、本発明は、少なくとも一つのアプリケーションがインストールされたアプリケーション部と、前記少なくとも一つのアプリケーションに対応するアプリケーションデータを記憶するデータ部とを有する情報処理装置であって、前記アプリケーション部と前記データ部とは互いに接続および分離でき、
前記データ部は、
前記アプリケーション部と接続されると、接続された前記アプリケーション部が前記データ部と紐づけられているか判定し、
紐づけられていない場合には、接続された前記アプリケーション部に紐づけられた第二のデータ部から前記アプリケーションデータを取得して記憶し、
接続された前記アプリケーション部に、該アプリケーション部と接続されている前記データ部と紐づける情報を記憶させることを特徴とする情報処理装置。
【０００８】
本発明の第二の側面によれば、本発明は、少なくとも一つのアプリケーションがインストールされたアプリケーション部と接続できる情報処理装置であって、
前記少なくとも一つのアプリケーションに対応するアプリケーションデータを記憶し、
前記アプリケーション部と接続されると、接続された前記アプリケーション部が前記データ部と紐づけられているか判定し、
紐づけられていない場合には、接続された前記アプリケーション部に紐づけられた第二のデータ部から前記アプリケーションデータを取得して記憶し、
接続された前記アプリケーション部に、該アプリケーション部と接続されている前記データ部と紐づける情報を記憶させることを特徴とする情報処理装置。
【０００９】
本発明の第三の側面によれば、本発明は、アプリケーションに対応するアプリケーションデータを記憶したデータ部と接続できる情報処理装置であって、
少なくとも一つのアプリケーションがインストールされ、
最後に接続された前記データ部と紐づける情報を記憶することを特徴とする情報処理装置。
【発明の効果】
【００１０】
本発明によれば、アプリケーションとアプリケーションデータの格納場所が分かれている情報処理装置において、それぞれの格納場所を接続し替えた際にもアプリケーションデータを引き継ぎ、アプリケーションを利用できる。
【図面の簡単な説明】
【００１１】
【図１】ハードウェア構成を示すブロック図である。
【図２ａ】機能構成を示すブロック図である。
【図２ｂ】機能構成を示すブロック図である。
【図３ａ】データ配置の一例を示す図である。
【図３ｂ】データ配置の一例を示す図である。
【図４】データ移行処理の流れの一例を示すフローチャートである。
【図５】アプリ実行処理の流れの一例を示すフローチャートである。
【図６】データ移行処理の流れの一例を示すフローチャートである。
【図７】データ移行処理の流れの一例を示すフローチャートである。
【図８】データ移行処理の流れの一例を示すフローチャートである。
【図９】データ移行処理の流れの一例を示すフローチャートである。
【図１０】データ移行処理の流れの一例を示すフローチャートである。
【図１１】システムの機器構成の一例を示す図である。
【図１２】データ配置の具体的な一例を示す図である。
【図１３】データ削除処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１３】
＜実施形態１＞
●システム構成
図１１は、本実施形態のシステム構成の一例を示す図である。本実施形態のシステムは複数の画像形成装置２００がネットワーク（ＬＡＮなど）によって接続され、各々の画像形成装置２００はネットワークＩ／Ｆ１１７を通じてデータの送受信を行うことが可能である。画像形成装置２００は本体部１１０と操作部１００とを有している。本実施形態のシステムにはネットワークに画像形成装置２００のＩＰアドレスの対応表を持つサーバなどを接続してもよい。後述するように操作部１００にはアプリケーションがインストールされることからアプリケーション部、本体部１１０にはアプリケーションデータが保存されることからデータ部と呼ぶこともある。またこの画像形成装置２００は、アプリケーションの観点から見ればプログラムを実行する情報処理装置と呼ぶこともできる。
【００１４】
図１は、本実施形態の画像形成装置２００のハードウェア構成の一例を示す図である。画像形成装置２００は、操作部１００と本体部１１０とを備える。操作部１００と本体部１１０は接続Ｉ／Ｆ１０６と接続Ｉ／Ｆ１１６との間でＵＳＢケーブル等を用いて接続されており、分離することが可能である。例えば、本体部１１０の故障や仕事場の引越し等で操作部１００を接続されていた本体部１１０から取り外し、別の本体部１１０に接続し替えることができる。
【００１５】
ＣＰＵ（中央処理装置）１０１は、マイクロプロセッサ等で構成され、操作部１００全体を制御する。ＲＯＭ１０２は、ＣＰＵ１０１により実行されるプログラム等を格納する。ＲＡＭ１０３は、ＣＰＵ１０１により実行中のプログラムを記憶すると共に実行中のプログラムに用いられるデータ等を一時的に記憶する。補助記憶装置１０５は、プログラムやデータ等を記憶する。補助記憶装置１０５はハードディスクやＵＳＢメモリ、ＳＤカード等から構成される。入出力部１０４は、ボタン、タッチディスプレイ、タッチパネル等で構成され、情報を入出力する。入出力部１０４は、入力部と出力部に分かれていてもよい。ネットワークＩ／Ｆ１０７は、外部装置と接続する。接続Ｉ／Ｆ１０６は、操作部１００と本体部１１０を接続し、双方の処理内容の通信を行う。
【００１６】
ＣＰＵ１１１は、マイクロプロセッサ等で構成され、本体部１１０全体を制御する。ＲＯＭ１１２は、ＣＰＵ１１１により実行されるプログラム等を格納する。ＲＡＭ１１３は、ＣＰＵ１１１により実行中のプログラムを記憶すると共に実行中のプログラムに用いられるデータ等を一時的に記憶する。補助記憶装置１１５は、プログラムやデータ等を記憶する。補助記憶装置１１５はハードディスクやＵＳＢメモリ、ＳＤカード等から構成される。補助記憶装置１１５は、補助記憶装置１０５よりも一般的に容量が大きい。エンジン部１１４は画像形成装置のスキャナ、プリンタ等の制御や画像データの処理を行う。本体部１１０は、エンジン部１１４で制御されるスキャナおよびプリンタ（不図示）も含む。ネットワークＩ／Ｆ１１７は、ネットワークＩ／Ｆ１０７と同様、接続Ｉ／Ｆ１１６は、接続Ｉ／Ｆ１０６と同様である。
【００１７】
●アプリケーションおよびアプリケーションデータの配置
図３ａは、本実施形態の画像形成装置のデータ配置の一例を示す図である。図１の画像形成装置２００は、図３ａの画像形成装置２００に相当する。
【００１８】
操作部１００は、紐付け用本体ＩＤ３０１と、複数のアプリ（アプリケーションとも呼ぶ）３０２と、操作部ＩＤ３０３とをもつ。操作部１００のデータは補助記憶装置１０５に記憶されている。操作部ＩＤ３０３などの不変のデータはＲＯＭ１０２に記憶されていてもよい。操作部１００にアプリ３０２が入っていることにより、ユーザはすぐにアプリ３０２を利用できる。
【００１９】
紐付け用本体ＩＤ３０１は、操作部１００が接続されている本体部１１０の本体ＩＤ３０４をコピーしたもので、操作部１００が接続されている本体部１１０を特定するのに用いる。操作部１００が現在どの本体部にも接続されていない状態であれば、紐付け用本体ＩＤ３０１は、操作部１００が最後に接続されていた本体部１１０の本体ＩＤ３０４を示す。
【００２０】
アプリ３０２は、画像形成装置２００のユーザにより直接的または間接的に走査部１００にインストールされた、利用可能なアプリケーションの実行ファイルである。アプリ３０２はその実行にあたり、本体部１１０に格納された１つ以上のアプリデータ（アプリケーションデータとも呼ぶ）３０５を利用する。アプリ３０２には特定の操作部１００で利用可能とするライセンスが付与されていてもよい。操作部ＩＤ３０３は、操作部１００を一意に識別可能な識別子であり、不変である。
【００２１】
本体部１１０は、本体ＩＤ３０４と、複数のアプリデータ３０５と、本体データ３０６とをもつ。データは補助記憶装置１１５に記憶されている。本体部ＩＤ３０３などの不変のデータはＲＯＭ１１２に記憶されていてもよい。アプリデータ３０５が本体部１１０に入っているのは、一般的に操作部１００の容量は小さいからである。
【００２２】
本体ＩＤ３０４は、本体部１１０を一意に識別可能な識別子である。アプリデータ３０５は、アプリ３０２が利用するデータである。アプリデータ３０５は、画像データ、音声データ、動画データなどのリソースのほかに、アプリ３０２の設定ファイルであってもよい。アプリデータ３０５は、操作部ＩＤ３０３に紐付いている。すなわち、たとえばアプリデータ３０５には紐づけられた操作部１００の操作部ＩＤが含まれている。アプリデータ３０５は、アプリ３０２がインストールされる際に同時に本体部に格納されてもよいし、後から追加ダウンロードしたり、アプリ３０２の実行中に生成されたりしてもよい。１つのアプリデータ３０５の表すデータは、複数のデータを格納したフォルダの形態でもよいし、１つのファイルでもよいし、複数のデータを格納した１つのファイルの形態でもよい。
【００２３】
図１２は、本実施形態の画像形成装置２００のデータ配置の具体的な一例を示す図である。図１２に示される画像形成装置２００は、本体ＩＤ３０４が「ＨＯ１２３」である本体部１１０と、操作部ＩＤ３０３が「ＳＯ４５６」である操作部１００とから構成されており、操作部１００は取り外しが可能である。
【００２４】
操作部１００は、接続されている本体部１１０の本体ＩＤ「ＨＯ１２３」と同じ紐付け用本体ＩＤ「ＨＯ１２３」を保持する。紐付け用本体ＩＤは、操作部１００が本体部１１０から取り外されて別の本体部に接続された場合に、新たな本体部１１０の本体ＩＤで書き換えられる。操作部１００には、アプリ３０２の例として、ユーザがコピー処理を行うコピーアプリ１２０１とユーザが画像形成装置の操作方法を確認できる操作説明アプリ１２０２がインストールされており、画像形成装置２００のユーザはこれらのアプリを利用できる。それぞれのアプリが利用するアプリデータは本体部１１０に記憶されている。
【００２５】
コピーアプリ１２０１は、コピーアプリ用のアプリデータであるコピー設定１２１１を利用する。コピー設定１２１１はコピーアプリの印刷方式などの設定項目を保存したアプリデータである。
【００２６】
操作説明アプリ１２０２は、操作説明アプリ用のアプリデータであるアイコン画像１２１２と操作説明動画１２１３とを利用する。アイコン画像１２１２は、操作説明アプリ１２０２の表示するアイコンの画像データであり、操作説明動画１２１３は、操作説明アプリ１２０２の表示する操作説明用の動画データである。
【００２７】
全てのアプリデータは、そのアプリデータを使用できる操作部１００の操作部ＩＤ３０３に紐付けられている。操作部１００が利用できるアプリデータ３０５は自身の操作部ＩＤ３０３に紐付いた操作部１００に格納されたアプリデータである。図１２の例で言えば、操作部ＩＤ「ＳＯ４５６」である操作部１００は操作部ＩＤ「ＳＯ４５６」に紐付けられたアプリデータであるコピー設定を利用する。しかしながら、操作部ＩＤ「ＳＯ７８９」に紐付いたコピー設定は利用しない。操作部１００のコピーアプリ１２０１と操作説明アプリ１２０２は特定の本体部１１０に依存しないため、別の本体部に接続した場合でも利用可能であるが、自身の操作部ＩＤに紐付いたアプリデータを必要とする。以上のように操作部１００にインストールされたアプリ（アプリケーション）３０２は、使用できるアプリデータ（アプリケーションデータ）３０５を制限される。
【００２８】
●画像形成装置の機能構成
図２ａは、本実施形態の画像形成装置２００の機能構成の一例を示す図である。図１の画像形成装置は、図２ａの画像形成装置２００に相当する。操作部１００は、入出力機能２０６と、紐付け用本体ＩＤ管理機能２０７と、アプリ実行機能２０９との機能群から構成される。本体部１１０は、操作部検知機能２０１と、本体ＩＤ確認機能２０２と、本体部探索機能２０３と、データ転送機能２０４と、データ管理機能２０５との機能群から構成される。画像形成装置２００の機能は、ＣＰＵ１０１がＲＯＭ１０２等から読み出したプログラムを実行することにより実現される。なおここで説明する機能は、アプリ３０２を実行することで実現される付加的な機能については除外したいわゆる基本機能である。なお以下で説明する機能は、機能的なまとまりであるので、「部」あるいは「ユニット」などと呼ぶこともできる。
【００２９】
まず操作部１００の機能について説明する。入出力機能２０６は、入出力部１０４によってユーザからの入力を受け付けたり、ユーザに情報を提示したりする。すなわちユーザインタフェースを提供する。本体ＩＤ管理機能２０７は、紐付け用本体ＩＤ３０１を記憶したり、書き換えたりする。アプリ実行機能２０９は、操作部１００にインストールされているアプリ３０２を実行する。また、必要に応じて本体部１１０にアプリデータ３０５を要求する。
【００３０】
本体部１１０において、操作部検知機能２０１は、接続Ｉ／Ｆ１１６によって操作部１００が接続されたことを検知する。本体ＩＤ確認機能２０２は、操作部１００の紐付け用本体ＩＤ３０１と本体部１１０の本体ＩＤ３０４との一致または不一致を判定する。本体部探索機能２０３は、紐付け用本体ＩＤ３０１をキーとして特定の本体部１１０を探索する。データ転送機能２０４は、ネットワークＩ／Ｆ１１７によってアプリデータ３０５を本体部間で転送する。データ管理機能２０５は、アプリデータ３０５を管理し、特定の操作部ＩＤ３０３に紐付けたり、紐付いているかを判定したりする。
【００３１】
●データ移行処理
本実施形態の処理の流れについて、図４からのフローチャートを用いて説明する。まず、本実施形態において、ある本体部から別の本体部へデータを移行する処理の流れの一例を、図４のフローチャートを用いて説明する。図４の処理は、操作部１００との接続が失われた状態の本体部１１０により実行されるコンピュータプログラムにより実現される。
【００３２】
まず、操作部検知機能２０１は、本体部１１０に操作部１００が接続されたことを検知する（Ｓ４０１）。このとき接続された本体部１１０を便宜的に移行先本体部と称する。なお本体部１１０に操作部１００が接続されたことを検知したことをトリガとしてＳ４０２以下の処理を開始するようにしてもよい。
【００３３】
次に、本体ＩＤ確認機能２０２は、接続された操作部１００の紐付け用本体ＩＤ３０１を取得し、その値が、本体部１１０の本体ＩＤ３０４と一致しているかを判定する（Ｓ４０２）。一致していた場合は何もせずに処理を終える。一致していた場合とは、元々接続されていた操作部１００と再度接続し直された場合と判断できる。
【００３４】
一致していなかった場合は、本体部探索機能２０３は、紐付け用本体ＩＤ３０１と同じ本体ＩＤ３０４を持つ本体部１１０をネットワーク上から探索する（Ｓ４０３）。すなわち、元々接続されていた本体部を探索する。探索の結果、発見できなかった場合は処理を終える。
【００３５】
紐付け用本体ＩＤ３０１を利用して本体ＩＤ３０４を持つ本体部１１０を探索する方法としては、例えば本体ＩＤ３０４と本体部１１０のＩＰアドレスとの対応表を持つサーバを用意しておき、その対応表で対応するＩＰアドレスを検索するという方法が考えられるが、他の方法でも良い。たとえば、本体ＩＤ３０４をブロードキャストして問い合わせ、該当する本体部１１０からの応答を待つという方法でもよい。また、本体部１１０に固定ＩＰアドレスを割り当て、本体ＩＤ３０４としてＩＰアドレスを用いれば、アドレス解決プロトコルによって探索することができる。
【００３６】
Ｓ４０３で該当する本体部１１０を発見できた場合（このとき発見された本体部１１０を移行元本体部と称する）、データ管理機能２０５は、移行元本体部内に、移行先本体部に接続された操作部１００の操作部ＩＤ３０３に紐付いており、かつ、移行先本体部に未転送のデータアプリデータ３０５が有るかを問い合わせる。移行元本体部は問い合わせに応じて、該当するデータ３０５の有無を応答する。そしてデータ管理機能２０５は、問い合わせに対する応答に基づいて該当するデータの有無を判定する（Ｓ４０４）。無い場合はＳ４０６に進む。一方、有った場合にはステップＳ４０５へ分岐する。
【００３７】
ステップＳ４０５で、データ転送機能２０４は、Ｓ４０４で有ったと判定されたアプリデータ３０５を移行先本体部に転送するよう、移行元本体部に要求する。そして、データ転送機能２０４は、要求に応じて移行元本体部のデータ転送機能２０４が送信するデータ３０５を受信する。そして、Ｓ４０４に戻り次の未転送のアプリデータ３０５について処理する。なお移行元本体部では、転送が成功したアプリデータ３０５については削除する。
【００３８】
そして、移行元本体部から移行先本体部へと転送すべきアプリデータ３０５の転送を終えたなら、紐付け用本体ＩＤ管理機能２０７は、操作部１００の紐付け用本体ＩＤ３０１を移行先本体部の本体ＩＤ３０４に書き換える（Ｓ４０６）。
【００３９】
以上図４で説明した処理を行うことで、操作部１００の本体部１１０への取り付けをトリガとして、アプリ３０２の利用に必要な移行元本体部に有るアプリデータ３０５を移行先本体部に転送することができる。尚、図４の処理は操作部接知機能２０１が操作部１００の取り付けを検知するたびに繰り返し実行可能である。
【００４０】
ここで、Ｓ４０１において、本体部１１０に電源が入った際に、接続されている操作部１００について検知するようにしてもよい。
【００４１】
Ｓ４０３において、紐付け用本体ＩＤ３０１と同じ本体ＩＤ３０４を持つ本体部１１０を発見できなかった場合、入出力機能２０６を使ってユーザにその旨を提示してもよい。また所定の時間経過後に、再度Ｓ４０３の処理を行うようにしてもよい。またＳ４０３において、紐付け用本体ＩＤ３０１と同じ本体ＩＤ３０４を持つ本体部１１０を発見できなかった場合、移行先本体部１１０において仮のアプリデータ３０５を作成して一時的にアプリ３０２を利用可能としてもよい。
【００４２】
Ｓ４０５において、転送したアプリデータ３０５を利用するアプリ３０２が操作部１００から既にアンインストールされているなどして存在しない場合や移行先本体部でアプリ３０２が利用できない場合には、転送を行わなくともよい。その場合には転送元本体部に対して使用できないアプリデータ３０５の削除要求を出し、転送元本体部においてそのアプリデータ３０５を削除してもよい。
【００４３】
●アプリケーション実行処理
次に、本実施形態の画像形成装置２００において、アプリを実行する処理の流れの一例を、図５のフローチャートを用いて説明する。まず、操作部１００のアプリ実行機能２０９は、入出力機能２０６から指示を受けるなどしてアプリ３０２を起動する（Ｓ５０１）。アプリ実行機能２０９は、アプリ３０２の実行中にアプリデータ３０５が必要になった際には、本体部１１０のデータ管理機能２０５に操作部ＩＤ３０３を伝えてアプリデータ３０５を要求する（Ｓ５０２）。アプリデータ３０５を、たとえばアプリごとに与えたアプリケーション識別情報などによって特定できるように構成しておくことで、アプリに対応したアプリデータを特定できる。この場合には操作部ＩＤ３０３とともにアプリ識別情報（アプリＩＤ）も本体部１１０に伝える。
【００４４】
データ管理機能２０５は、要求されたアプリデータ３０５が１つ以上有ることを確認する（Ｓ５０３）。Ｓ５０３で確認されるアプリデータはたとえば、指定されたアプリに対応したアプリデータである。該当するアプリデータ３０５が無い場合は何もせずに終了する。この場合、アプリ３０２にアプリデータ３０５を利用できないことを通知してもよい。
【００４５】
Ｓ５０３で要求されたアプリデータ３０５が見つかった場合、データ管理機能２０５は見つかった１つ以上のアプリデータ３０５の紐付いている操作部ＩＤ３０３が、操作部１００の操作部ＩＤ３０３と一致しているかを判定する（Ｓ５０４）。一致していない場合は何もせずに終了する。この場合、アプリ３０２にアプリデータ３０５を利用できないことを通知してもよい。
【００４６】
Ｓ５０４で一致していると判定した場合は、アプリ実行機能２０９は、アプリデータ３０５をアプリ３０２で使用する（Ｓ５０５）。
【００４７】
以上図５で説明した処理を行うことで、操作部１００はアプリデータ３０５を利用してアプリ３０２を使用できる。そのためには例えば、該当するアプリデータ３０５を本体部１１０から操作部１００に転送してもよい。この場合、操作部１００に転送されたアプリデータ３０５は操作部１００におけるキャッシュとして扱われる。そのため例えば、アプリ３０２の実行により変更（追加および削除を含む）された場合には、本体部１１０に転送されて書き戻される。また定期的に書き戻して同期させてもよい。
【００４８】
以上説明した構成で、説明した処理を行うことで、アプリ３０２とアプリデータ３０５の格納場所が分かれている画像形成装置において、操作部１００を接続されていた本体部１１０から別の本体部１１０に接続し替えた際にも操作部１００にインストールされたアプリを利用できる。
【００４９】
また、操作部１００の接続し替えによる移行処理は同じ方法で繰り返し実施可能である。そのため、本体部１１０を次々と取り換えても、元々接続されていた本体部１１０に格納されていたアプリデータ３０５を用いてアプリ３０２を実行することができる。また、操作部１００は自身の操作部ＩＤに紐付いたアプリデータ３０５を使うようになっている。すなわち、本体部１１０においては、操作部１００ごとにアプリデータ３０５が管理されている。このため１つの本体部１１０に対して複数の操作部１００の接続が共存できる。
【００５０】
＜実施形態２＞
以下、本発明の第２の実施形態について説明する。第１の実施形態ではアプリデータ３０５を移行元本体部から移行先本体部に移動したが、第２の実施形態ではアプリデータ３０５を複製（コピー）する。尚、データ移行処理とデータ削除処理以外は前述した第１の実施形態と同じため説明を省く。移行処理でアプリデータ３０５を複製すると、移行の度に本体部１１０にアプリデータ３０５が増えていくため、移行処理でアプリデータ３０５を移動するよりも容量を消費する。容量を空けるためにアプリデータ３０５の削除が必要になるが、任意のデータを削除すると移行処理時に複製元となるべきデータを消してしまう可能性がある。これを防ぐためにアプリデータ３０５を削除してはいけないことを表すフラグ（削除禁止フラグ）を利用する。
【００５１】
●削除処理
本実施形態において、アプリデータ３０５は削除禁止フラグを持つ。削除禁止フラグは例えばアプリデータ３０５を削除してはいけない場合は１、削除してもよい場合は０となりアプリデータ３０５を削除してはいけないかが分かるようになっている。削除禁止フラグが「削除禁止」を示している場合には、当該アプリデータ３０５に対する削除要求があってもその要求は拒絶され、アプリデータ３０５が削除されることはない。
【００５２】
本実施形態において、アプリデータ３０５を削除する処理の流れの一例を、図１３のフローチャートを用いて説明する。まずデータ管理機能２０５は、ユーザまたは自身から特定のアプリデータ３０５に対するデータ削除要求を受け付ける（Ｓ１３０１）。
【００５３】
次に、データ管理機能２０５は、指定されたアプリデータ３０５の削除禁止フラグを確認する（Ｓ１３０２）。前記アプリデータ３０５の削除禁止フラグが１ならば処理を終える。
【００５４】
Ｓ１３０２において、前記アプリデータ３０５の削除禁止フラグが０だった場合、データ管理機能２０５は前記アプリデータ３０５を削除する（Ｓ１３０３）。
【００５５】
以上図１３で説明した処理を行うことで、本体部１１０の容量が不足した等の場合にアプリデータ３０５の削除を行う際に、削除してはいけないアプリデータ３０５を削除せずに、削除してもよいアプリデータ３０５のみを削除することができる。
【００５６】
●データ移行処理
本実施形態において、ある本体部から別の本体部へデータを移行する処理の流れの一例を、図６のフローチャートを用いて説明する。Ｓ４０１からＳ４０４、Ｓ４０６の処理の流れは実施形態１と同様である。
【００５７】
Ｓ４０４でアプリデータ３０５があった場合、データ管理機能２０５は、移行先本体部にアプリデータ３０５と同じデータがあるかを判断する（Ｓ６０７）。同じデータとは、同じアプリ３０２のデータというだけではなく、紐づけられた操作部１００も同じデータである。同じデータがある場合はＳ６０８へ進む。
【００５８】
一方Ｓ６０７で同じデータがなかった場合、データ転送機能２０４は、Ｓ４０４で有ったアプリデータ３０５を、移行元本体部から移行先本体部にコピーする（Ｓ６０５）。コピーなので、この処理の後アプリデータ４０５は移行元本体部にも移行先本体部にも存在する。
【００５９】
次に、データ管理機能２０５は、移行先本体部にあるアプリデータ３０５の削除禁止フラグを１にする（Ｓ６０８）。ここで削除禁止の対象となるアプリデータ３０５は、ステップＳ６０７で移行先本体部に有ると判定されたアプリデータ３０５か、またはステップＳ６０５で複製されたアプリデータ３０５である。
【００６０】
次に、データ管理機能２０５は、移行元本体部に残っているアプリデータ３０５の削除禁止フラグを０にする（Ｓ６０９）。ここで削除許可の対象となるアプリデータ３０５は、ステップＳ４０４で移行元本体部に有ると判定されたアプリデータ３０５である。そして、Ｓ４０４に戻り、次のアプリデータ３０５について同様に処理する。ただし本実施形態では複製したアプリデータ３０５は移行元本体部にそのまま残るため、たとえばステップＳ４０３で発見されたアプリデータ３０５のうち、削除禁止フラグが解除されていないアプリデータ３０５を対象としてステップＳ４０４から繰り返せばよい。
【００６１】
以上図６で説明した処理を行うことで、操作部１００の本体部１１０への取り付けをトリガとして、アプリ３０２の利用に必要な移行元本体部に有るアプリデータ３０５を移行先本体部にコピーすることができる。
【００６２】
更に、移行先処理で移行されるアプリデータ３０５の削除禁止フラグを１にすることで、移行時に複製するアプリデータ３０５を保護し、アプリデータ３０５が削除されてしまって移行不能に陥ることを防ぐことができる。
【００６３】
以上説明した構成上で処理を行うことで、一度操作部１００が接続されたことのある本体部１１０にはアプリ３０２のアプリデータ３０５が残っている可能性があるので、残っている場合には再度の移行処理にかかる時間を短くでき、移行先の画像形成装置をすぐに利用できる。更に、移行処理に必要なアプリデータ３０５を保護しつつ、それ以外のアプリデータ３０５は削除可能として本体部１１０の容量が足りなくなることを防ぐことができる。
【００６４】
＜実施形態３＞
以下、本発明の第３の実施形態について説明する。第１の実施形態では、移行元本体部のアプリデータ３０５を移行先本体部にそのまま移動して利用したが、第３の実施形態ではアプリデータ３０５を移行先本体部でそのまま利用できない場合に利用できるデータに変換する。そのまま利用できない場合とは、画像形成装置２００のデバイスの構成やその他機能の制限などにより、ある本体部で利用できるアプリデータ３０５が、移行先本体部ではアプリデータ３０５を移行元本体部から移動しただけでは利用できない場合のことを指す。尚、データ移行処理以外は前述した第１の実施形態と同じため説明は省く。
【００６５】
移行元本体部でのアプリデータ３０５を移行先本体部でそのまま利用できない場合には移行先本体部では移行されたアプリデータ３０５を変換し、変換されたアプリデータ３０５を利用する。このとき、移行先本体部から更に移行元本体部のアプリデータ３０５をそのまま利用できる本体部に移行する場合にも、第１実施形態のようにデータが移動される場合には、変換されたアプリデータ３０５が移行元本体部に移行（移動）されてしまうという課題がある。そこで、変換されたことを表すフラグ（変換フラグ）を利用して、変換される前のアプリデータ３０５を移行するようにする。
【００６６】
本実施形態において、アプリデータ３０５は変換フラグを持つ。変換フラグは例えばアプリデータ３０５が変換されている場合は１、変換されていない場合は０となりアプリデータ３０５が変換されているかが分かるようになっている。本実施形態において、紐付け用本体ＩＤ３０１は、複数の本体ＩＤ３０４が記されている場合がある。その場合については後述する。
【００６７】
●データ移行処理
本実施形態において、ある本体部から別の本体部１１０へ変換の必要なデータを含むデータを移行する処理の流れの一例を、図７のフローチャートを用いて説明する。図７のＳ４０１については、図４のＳ４０１と同様の処理である。操作部１００の接続が検知されるとステップＳ７０２に進む。
【００６８】
次に、本体ＩＤ確認機能２０２は、接続された操作部１００の紐付け用本体ＩＤ３０１のうち最新のものが、本体部１１０の本体ＩＤ３０４と一致しているかを判定する（Ｓ７０２）。一致していた場合は何もせずに処理を終える。ある紐付け用本体ＩＤ３０１が最新か否かは、たとえば本体ＩＤ３０４を時系列で並べたり、あるいは時間情報を持たせたりすることで判定できる。なお以下の説明では単に紐付け用本体ＩＤ３０１といった場合には、最新の紐付け用本体ＩＤ３０１を指す。
【００６９】
ステップＳ７０２において一致していないと判定された場合は、本体部探索機能２０３は、紐付け用本体ＩＤ３０１と同じ本体ＩＤ３０４を持つ本体部１１０をネットワーク上から探索する（Ｓ７０３）。探索の結果、発見できなかった場合は処理を終える。これは、Ｓ４０３と同様の処理である。
【００７０】
Ｓ７０３で本体部１１０を発見できた場合、データ管理機能２０５は、発見された本体部１１０内に、移行先本体部に接続された操作部１００の操作部ＩＤ３０３に紐付いたアプリデータ３０５が有るか問い合わせ、その応答に基づいて該当するアプリデータ３０５の有無を判定する（Ｓ７０４）。無い場合はＳ７１０に進む。ここで発見した本体部１１０を着目本体部と呼ぶことにする。着目本体部は転送元本体部の候補となる本体部である。
【００７１】
Ｓ７０４で該当するアプリデータ３０５が有ると判定された場合、データ管理機能２０５は、アプリデータ３０５が変換されているかを変換フラグを利用して判定する（Ｓ７０６）。この判定も、着目本体部１１０に対する問い合わせにより行うことができる。変換されていない場合はＳ７０８へ進む。
【００７２】
Ｓ７０６では、Ｓ７０４で着目本体部１１０が有するアプリデータ３０５が変換されていると判定した場合は、データ管理機能２０５は、着目本体部１１０に対してそのアプリデータの削除を要求し、要求された着目本体部１１０は削除を要求されたアプリデータ３０５を削除する（Ｓ７０７）。そしてＳ７０４に戻り次のアプリデータ３０５について処理を行う。
【００７３】
Ｓ７０６でアプリデータ３０５が変換されていないと判定した場合は、データ転送機能２０４は、移行先本体部のスペック（仕様情報）を取得してアプリデータ３０５の変換が必要かを判断する（Ｓ７０８）。この場合に、着目本体部が移行元本体部となる。
【００７４】
表１は、アプリデータ３０５の変換が必要かとその変換方法とを表すデータ変換表の具体例である。データ変換表はアプリ３０２に含まれていても良いし、別途サーバを用意しておき問い合わせるようにしてもよい。
【００７５】
【表１】
2019070868.tif 000003
【００７６】
データ変換表のアプリデータは、アプリデータ３０５自体またはアプリデータ３０５に含まれるデータの名称、スペックは画像形成装置の仕様や機能、有効値は、同じ行のアプリデータ３０５が、示されたスペックの画像形成装置に対して取り得る値を示している。例えば、移行元本体部で構成される画像形成装置がカラー印刷の可能なカラー印刷機、移行先本体部で構成される画像形成装置がカラー印刷の不可能なモノクロ印刷機であるとする。このとき、アプリデータ３０５が印刷色設定であり（または印刷色設定を含み）設定値がカラーになっている場合、モノクロ印刷機である移行先本体部の受け入れられる設定値はモノクロだけなので、アプリデータ３０５の変換（例えばカラーからモノクロへ）が必要であると判断できる。このように、移行先本体部の仕様では対応できないアプリデータ３０５については、対応可能な値への変換が必要と判定される。表に掲載されていないアプリデータ３０５や、掲載されていても移行先本体部の有効値にあるアプリデータ３０５は、変換が必要でないと判断できる。
【００７７】
図７の説明に戻る。Ｓ７０８で変換が必要でないと判断した場合は、アプリデータ転送機能２０４は、アプリデータ３０５を、移行元本体部となる発見された本体部１１０から移行先本体部に転送する（Ｓ７０５）。この際、移行元本体部１１０にアプリデータ３０５は残らない。また、転送されたアプリデータ３０５は変換フラグが０である。
【００７８】
Ｓ７０８で変換が必要であると判断した場合は、アプリデータ転送機能２０４は、アプリデータ３０５を移行元本体部１１０から移行先本体部に複製し、データ変換表に基づいて変換する（Ｓ７０９）。この際、移行元本体部１１０にアプリデータ３０５が残る。また、複製され変換されたアプリデータ３０５は変換フラグが１である。
【００７９】
アプリデータ３０５の変換を、表１のデータ変換表を用いて説明する。例えば、移行元本体部で構成される画像形成装置がＯＣＲ利用可能なＯＣＲ対応機、移行先本体部で構成される画像形成装置がＯＣＲ利用不可能なＯＣＲ非対応機であるとする。このときアプリデータ３０５がＯＣＲ設定であり（または含み）内容がＯＣＲを「する」である場合、移行先本体部の受け入れられる値は「しない」のみなので、移行先本体部に複製されたアプリデータ３０５は「しない」に変換され、更に変換フラグが１になる。
【００８０】
図７の説明に戻る。Ｓ７０５またはＳ７０９の処理を終えたら、Ｓ７０４に戻り次のアプリデータ３０５について処理を行う。Ｓ７０４で確認すべきアプリデータ３０５がもうない場合、データ管理機能２０４は着目本体部１１０にアプリデータ３０５が残っているか確認する（Ｓ７１０）。残っている場合はＳ７１２に進む。
【００８１】
Ｓ７１０でアプリデータ３０５が残っていない場合、紐付け用本体ＩＤ管理機能２０７は、着目本体部１１０の本体ＩＤ３０４と同じ本体ＩＤを、操作部１００の紐付け用本体ＩＤ３０１から削除する（Ｓ７１１）。
【００８２】
次に、紐付け用本体ＩＤ管理機能２０７は、まだ確認していない紐付け用本体ＩＤ３０１があるか判断する（Ｓ７１２）。まだ有る場合は、Ｓ７０３に戻り、次の紐付け用本体ＩＤ３０１について処理を行う。もう無い場合はＳ７１３に進む。
【００８３】
Ｓ７１２で確認すべき紐付け用本体ＩＤ３０１がもう無かった場合、紐付け用本体ＩＤ管理機能２０７は、操作部１００の紐付け用本体ＩＤ３０１に移行先本体部の本体ＩＤ３０４を書き加える（Ｓ７１３）。従って、紐付け用本体ＩＤ３０１には複数の本体ＩＤ３０４が記されている場合がある。
【００８４】
以上図７で説明した処理を行うことで、移行元本体部と移行先本体部で構成が異なる場合にアプリデータ３０５の変換を行うことができる。更に、移行元本体部に変換前のアプリデータ３０５を残しているので再度元の本体部と同じ構成を有する移行先本体部へ移行を行う場合に変換前のアプリデータ３０５を利用することができる。
【００８５】
尚、Ｓ７０７において、変換されているアプリデータ３０５の削除を行っているが、この処理は他のアプリデータ３０５の移行が全て終わってから行うのでもよい。
【００８６】
Ｓ７０９において、変換が必要なアプリデータ３０５を複製して変換しているが、移行先本体部に変換していないアプリデータ３０５を配置し、着目本体部１１０からはアプリデータ３０５を削除してもよい。この場合、紐付け用本体ＩＤ３０１には移行先本体部の本体ＩＤ３０４だけ記されていればよい。
【００８７】
以上説明した構成上で処理を行うことで、異なるスペックを持つ画像形成装置間で移行する度に、移行先本体部で構成される画像形成装置に適したアプリデータ３０５を用いてアプリを利用できる。
【００８８】
尚、本実施形態は実施形態２のように、データ移行処理でアプリデータ３０５を複製する形態に適用してもよい。そのようにした場合、移行先本体部に移行対象のアプリデータと同じアプリデータがあるならば移行は行われないので、変換が行われることもない。また、変換の有無を示すフラグを持たずに、必要な変換をアプリデータの移行の都度実施するようにしてもよい。
【００８９】
＜実施形態４＞
以下、本発明の第４の実施形態について説明する。第１から第３の実施形態では、アプリデータ３０５を移行したが、第４の実施形態ではアプリデータ３０５以外の本体部１１０に関するデータの移行も行う。尚、データ配置と、データ移行処理以外は前述した第１の実施形態と同じため説明は省く。図３（ｂ）は、本実施形態の画像形成装置のデータ配置の一例を示す図である。本体データ３０６は、特定のアプリ３０２が利用するアプリケーションデータ以外の本体部１１０に関するデータである。本体データ３０６は、リソースのほかに、本体設定、ログ、画像形成装置のユーザ認証を行うためのユーザデータなどであってもよい。本体データ３０６は、アプリ３０２により利用されるといったような直接的な関連を持たないデータであればよい。本体データ３０６は、操作部ＩＤ３０３に紐付いている。それ以外のデータは図３（ａ）を参照して説明したとおりである。
【００９０】
本実施形態において、データ転送機能２０４は、ネットワークＩ／Ｆ１１７によってアプリデータ３０５と本体データ３０６を本体部間で転送する。本実施形態において、データ管理機能２０５は、アプリデータ３０５と本体データ３０６を管理し、特定の操作部ＩＤ３０３に紐付けたり、紐付いているかを判定したりする。本実施形態において、ある本体部から別の本体部へデータを移行する処理の流れの一例を、図８のフローチャートを用いて説明する。図８において、Ｓ４０１からＳ４０３の処理の流れは実施形態１と同様である。
【００９１】
Ｓ４０３で本体部１１０を発見できた場合、発見した本体部１１０を移行元本体部として、データ管理機能２０５は、移行元本体部内に、まさに図４の処理を実行している移行先本体部１１０に接続された操作部１００の操作部ＩＤ３０３に紐付いた本体データ３０６が有るかを判定する（Ｓ８０７）。無い場合はＳ４０４に進む。
【００９２】
データ転送機能２０４は、Ｓ８０７で有る判定された該当の本体データ３０６を、移行元本体部から移行先本体部に転送する（Ｓ８０８）。この転送は移行元本体部に対して本体データの送信を要求し、移行元本体部がそれに応答して本体データ３０６を送信することで実現される。そして、Ｓ８０７に戻り、未処理の次の本体データ３０６があればそれについても処理する。Ｓ４０４からＳ４０６の処理の流れは実施形態１と同様である。
【００９３】
以上図８で説明した処理を行うことで、アプリデータ３０５だけでなく本体データ３０６も移行することができる。尚、本体データ３０６は複数あってもよい。以上説明した構成上で処理を行うことで、アプリデータ３０５のみならず本体データ３０６も移行できるので、ユーザは更に移行元本体部と同じように移行先本体部を利用できる。尚、本実施形態は実施形態２のように、データ移行でデータを複製する形態に適用してもよいし、実施形態３のように、データ移行でデータを変換する形態に適用してもよい。
【００９４】
＜実施形態５＞
以下、本発明の第５の実施形態について説明する。第４の実施形態では、本体データ３０６も移行したが、第５の実施形態ではユーザが望まない移行処理を防ぐために本体データ３０６を利用する。尚、機能構成とデータ移行処理以外は前述した第４の実施形態と同じため説明は省く。
【００９５】
図２（ｂ）は、本実施形態の画像形成装置の機能構成の一例を示す図である。本体部１１０は、操作部検知機能２０１と、本体ＩＤ確認機能２０２と、本体部探索機能２０３と、データ転送機能２０４と、データ管理機能２０５と、ユーザ認証機能２１０との機能群を有する。ユーザ認証機能２１０は、入出力機能２０６から入力された情報と本体データ３０６にあるユーザデータを用いて（たとえば照合して）画像形成装置のユーザ認証を行う。認証に利用する入力は文字列のほか、ＲＦＩＤなどを利用したＩＣカードや生体情報などでもよい。
【００９６】
本実施形態において、ある本体部から別の本体部へデータを移行する処理の流れの一例を、図９のフローチャートを用いて説明する。Ｓ４０１からＳ４０３の処理の流れは実施形態１と同様である。Ｓ４０３で本体部１１０を発見できた場合、ユーザ認証機能２１０は、移行元本体部内の、移行先本体部に接続された操作部１００の操作部ＩＤ３０３に紐付いた本体データ３０６に含まれるユーザデータを取得し、取得したユーザデータを利用してユーザ認証を行う（Ｓ９０１）。失敗した場合は何もせずに処理を終える。成功した場合はＳ８０７に進む。Ｓ８０７からＳ８０８の処理の流れは実施形態４の図８と同様である。Ｓ４０４からＳ４０６の処理の流れは実施形態１と同様である。
【００９７】
以上図９で説明した処理を行うことで、データの移行処理を開始する前に認証を行うことができる。すなわち、アプリデータの移行および本体データの移行を実行する前にユーザを認証し、認証が成功した場合に初めてデータを移行できる。以上説明した構成上で処理を行うことで、アプリデータの移行を、アプリデータへのアクセス権限を持たないユーザについては制限または禁止することができ、移行元本体部のユーザの望まない移行処理を防ぐことができる。
【００９８】
＜実施形態６＞
以下、本発明の第６の実施形態について説明する。第１の実施形態では、アプリ３０２の利用するアプリデータ３０５を全て移行するが、第６の実施形態では移行しようとするデータと同じデータが既に移行先本体部にあった場合に移行しない。尚、データ移行処理以外は前述した第１の実施形態と同じため説明を省く。本実施形態において、アプリデータ３０５は、複数の操作部ＩＤ３０３に紐付いていることがある。本実施形態において、ある本体部から別の本体部へデータを移行する処理の流れの一例を、図１０のフローチャートを用いて説明する。図１０において、Ｓ４０１からＳ４０４とＳ４０６の処理の流れは実施形態１と同様である。
【００９９】
Ｓ４０４でアプリデータ３０５があった場合、データ管理機能２０５は、移行先本体部に該当するアプリデータ３０５と同じデータ（ただし操作部ＩＤ３０３は異なっていてもよい）があるかを判断する（Ｓ１００７）。同じデータがある場合はＳ１００８へ、無い場合はＳ１００９へ進む。このとき同じデータというのは、中身が同じであり、かつユーザがアプリ３０２を利用したときに変化しないデータである。尚、アプリデータ３０５自体が生成・削除される分には問題が無い。たとえばアプリデータ３０５ごとに識別情報を付し、その識別情報が同一であればその内容も同一であり、かつ所定の識別情報を持つアプリデータ３０５であればアプリ３０２により利用しても不変であると判定できるようアプリデータ３０５を構成してもよい。そのように構成すれば、アプリデータ３０５の識別情報に基づいて、ステップＳ１００７の判定を実現できる。また同一性の判定は、データの内容を直接比較することで行ってもよい。
【０１００】
Ｓ１００７で移行先本体部に同じアプリデータ３０５があった場合、データ管理機能２０５は、移行先本体部の該当するアプリデータ３０５に、移行先本体部に接続されている操作部１００の操作部ＩＤ３０３を既にある紐付けに加える（Ｓ１００８）。そしてＳ１０１０に進む。
【０１０１】
Ｓ１００７で移行先本体部に同じアプリデータ３０５が無かった場合、データ転送機能２０５は、Ｓ４０４で有ると判定されたアプリデータ３０５を移行元本体部から移行先本体部にコピーする（Ｓ１００９）これはＳ６０５と同様の処理である。そして、Ｓ１０１０に進む。
【０１０２】
データ管理機能２０５は、Ｓ４０４で有ると判定された移行元本体部のアプリデータ３０５が複数の操作部ＩＤ３０３に紐付けられているかを判定する（Ｓ１０１０）。複数に紐付けられている場合はＳ１０１１へ、複数に紐付けられていない場合はＳ１０１２へ進む。
【０１０３】
Ｓ１０１０でステップＳ４０４で有ると判定された移行元本体部のアプリデータ３０５が複数の操作部ＩＤ３０３に紐付いている場合、そのアプリデータ３０５から移行先本体部に接続されている操作部１００の操作部ＩＤ３０３の紐付けを解除する（Ｓ１０１１）。たとえば移行先本体部に接続されている操作部１００の操作部ＩＤ３０３を紐付けから削除する。そして、Ｓ４０４に戻り次のアプリデータ３０５について処理する。
【０１０４】
Ｓ１０１０で該当のアプリデータ３０５が複数の操作部ＩＤ３０３に紐付いていない場合、そのアプリデータ３０５を削除する（Ｓ１０１２）。そして、Ｓ４０４に戻り次のアプリデータ３０５について処理する。
【０１０５】
以上図１０で説明した処理を行うことで、移行元本体部にあるアプリデータ３０５と同じデータが移行先本体部に有る場合に移行処理を簡略化することができる。さらに、移行元本体部から移行したデータを削除できる。ただし、移行対象のアプリデータに紐づけられた操作部１００が複数ある場合には、移行元本体部に格納された移行対象のアプリデータと、移行元本体部との接続が解除されて移行先本体部と新たに接続された操作部１００との紐づけを解除する。この場合、アプリデータは、他の操作部１００との関連付けが残っているので削除されない。
【０１０６】
尚Ｓ１００７において、同じデータというのは、この時点で中身が同じであり、その後変化するデータでもよい。但しこの場合はデータが変化する際にデータを複製し、変化したデータに操作部ＩＤ３０３を紐付け、元のデータから操作部ＩＤ３０３の紐付けを削除する。
【０１０７】
以上説明した構成上で処理を行うことで、移行先に同じアプリデータ３０５があった場合に転送量を減らして移行処理にかかる時間を低減すると共に、同じアプリデータ３０５は１つだけ持ち、アプリデータの重複を防止できるので本体部１１０の使用する容量を削減することができる。
【０１０８】
また、再度移行処理を行う場合でも複数の操作部１００から利用されていたアプリデータ３０５は複数の操作部ＩＤ３０３に紐付いているので、アプリデータ３０５の操作部ＩＤ３０３の紐付きを解除するだけで移行元本体部１１０から削除せずに移行できる。
【０１０９】
尚、本実施形態は実施形態２のように、データ移行でデータを複製する形態に適用してもよいし、実施形態３のように、データ移行でデータを変換する形態に適用してもよいし、実施形態４や５のように、本体データ３０６も移行する形態に適用してもよい。また実施形態５のように移行前の本体データを用いてユーザ認証を行う構成とすることもできる。
【０１１０】
＜その他の実施形態＞
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、画像処理装置、ｗｅｂアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１１１】
また、上記実施形態では、アプリデータの同一性はたとえばアプリ３０２との対応（たとえば使用するアプリの識別情報など）により判定してもよいとした。しかしアプリデータ３０５が更新される可能性もあるので、たとえばバージョン情報や更新日時などをアプリデータ３０５に持たせ、それら情報の同一性も併せて判定してもよい。
【０１１２】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１３】
１００  操作部、１１０  本体部、２００  画像形成装置、３０１  紐づけ用本体ＩＤ、３０２  アプリ、３０３  操作部ＩＤ、３０４  本体ＩＤ、３０５  アプリデータ
【図１】
2019070868.tif 000004
【図２ａ】
2019070868.tif 000005
【図２ｂ】
2019070868.tif 000006
【図３ａ】
2019070868.tif 000007
【図３ｂ】
2019070868.tif 000008
【図４】
2019070868.tif 000009
【図５】
2019070868.tif 000010
【図６】
2019070868.tif 000011
【図７】
2019070868.tif 000012
【図８】
2019070868.tif 000013
【図９】
2019070868.tif 000014
【図１０】
2019070868.tif 000015
【図１１】
2019070868.tif 000016
【図１２】
2019070868.tif 000017
【図１３】
2019070868.tif 000018