(57)【要約】【課題】ユーザが所望する機能を優先的に起動し、ユーザにとっての利便性を向上させること。【解決手段】プログラムを実行するプロセッサと、ユーザの入力を受け付ける受付手段とを備え、前記プログラムを実行することにより制御対象を制御する制御装置であって、前記プロセッサは、前記制御装置の起動時に、前記受付手段を機能させるためのプログラムを起動した後、前記制御対象が実行可能な複数の機能のうち、前記受付手段を用いてユーザが選択した機能を実行させるためのプログラムを、他の機能を実行させるためのプログラムよりも優先的に起動することを特徴とする、制御装置。【選択図】図７
2013190950.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行するプロセッサと、ユーザの入力を受け付ける受付手段とを備え、前記プログラムを実行することにより制御対象を制御する制御装置であって、
前記プロセッサは、前記制御装置の起動時に、前記受付手段を機能させるためのプログラムを起動した後、前記制御対象が実行可能な複数の機能のうち、前記受付手段を用いてユーザが選択した機能を実行させるためのプログラムを、他の機能を実行させるためのプログラムよりも優先的に起動することを特徴とする、
制御装置。
【請求項２】
請求項１記載の制御装置であって、
前記プロセッサは、第１のプロセッサと第２のプロセッサを含み、
前記第１のプロセッサが、前記受付手段を機能させるためのプログラムを実行し、
前記第２のプロセッサが、前記制御対象に機能を実行させるためのプログラムを実行する、
制御装置。
【請求項３】
請求項１又は２記載の制御装置であって、
前記プロセッサは、前記制御装置の起動時に、プログラムの起動に関する関連性に基づいて、前記優先的に起動されるプログラムと関連性の高いプログラムを、関連性の低いプログラムよりも優先的に起動することを特徴とする、
制御装置。
【請求項４】
請求項３記載の制御装置であって、
前記プロセッサは、前記プログラムの起動に関する関連性を学習して記憶手段に格納し、該記憶手段に格納した関連性に基づいて、前記優先的に起動されるプログラムと関連性の高いプログラムを、関連性の低いプログラムよりも優先的に起動することを特徴とする、
制御装置。
【請求項５】
請求項２記載の制御装置であって、
前記第１のプロセッサは、前記制御対象とは異なる他の制御対象を制御する他の制御装置との通信を行う機能を有し、前記制御装置の起動時に、前記受付手段を機能させるためのプログラムを起動した後、前記受付手段を用いてユーザが選択した機能を実行可能な、他の制御対象に関する情報をユーザに提供することを特徴とする、
制御装置。
【請求項６】
請求項５記載の制御装置であって、
前記第１のプロセッサは、前記他の制御対象の動作状態を前記他の制御装置から取得し、前記受付手段を用いてユーザが選択した機能を実行可能な他の制御対象の一覧を、動作状態と共にユーザに提供することを特徴とする、
制御装置。
【請求項７】
請求項１項記載の制御装置であって、
前記プロセッサは、前記制御対象とは異なる他の制御対象を制御する他の制御装置との通信を行う機能を有し、
前記他の制御装置との間でプログラムを送受信することにより、前記他の制御装置との間で前記制御対象の制御機能の配置を変更可能であることを特徴とする、
制御装置。
【請求項８】
プログラムを実行するプロセッサと、ユーザの入力を受け付ける受付手段とを備え、前記プログラムを実行することにより制御対象を制御する制御装置の起動方法であって、
前記プロセッサが、前記制御装置の起動時に、
前記受付手段を機能させるためのプログラムを起動し、
前記受付手段を機能させるためのプログラムを起動した後、前記制御対象が実行可能な複数の機能のうち、前記受付手段を用いてユーザが選択した機能を実行させるためのプログラムを、他の機能を実行させるためのプログラムよりも優先的に起動することを特徴とする、
起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象機器を制御する制御装置、及びその起動方法に関する。
【背景技術】
【０００２】
従来、情報処理装置の起動速度を高速化するための試みがなされている。特に、ＭＦＰ（Multifunction  Peripheral）やプロジェクタ等に組み込まれた組み込みコンピュータの場合、電源投入直後からユーザが各種機能を利用したいと望む場合があるため、起動速度を高速化する要求は大きいものである。
【０００３】
しかしながら、装置が大型になればなるほど、ＯＳ（カーネル）、ミドルウェア、アプリケーション等の全てをプログラムメモリからＲＡＭ（Random  Access  Memory）に展開するまでの時間が長くなり、起動時間が長くなる傾向にある。この結果、ユーザは、全てのプログラムが読み込まれるまで待つ必要があった。
【０００４】
特許文献１には、複数の機能を備える画像処理装置の発明が開示されている。この画像処理装置は、ユーザ情報ごとに優先的に起動する機能を記憶しておき、電源時や省電力状態からの復帰時に、ユーザ情報を入力させ、入力されたユーザ情報に対応する優先的に起動する機能を実行するためのプログラムを、他のプログラムより先に読み出して起動するように制御している。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の画像処理装置では、起動時に、ユーザが装置内に記憶された機能とは異なる機能を先に利用したいと望んだ場合に、当該機能の起動を早めることができない。
【０００６】
本発明は、一側面では、ユーザが所望する機能を優先的に起動し、ユーザにとっての利便性を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するための本発明の一態様は、
プログラムを実行するプロセッサと、ユーザの入力を受け付ける受付手段とを備え、前記プログラムを実行することにより制御対象を制御する制御装置であって、
前記プロセッサは、前記制御装置の起動時に、前記受付手段を機能させるためのプログラムを起動した後、前記制御対象が実行可能な複数の機能のうち、前記受付手段を用いてユーザが選択した機能を実行させるためのプログラムを、他の機能を実行させるためのプログラムよりも優先的に起動することを特徴とする、
制御装置である。
【０００８】
ここで、「プログラムを起動する」とは、そのプログラムを実行開始可能な状態に置くことをいい、具体的には、例えばＲＯＭ（Read  Only  Memory）やＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read  Only  Memory）、フラッシュメモリ、ＨＤＤ（Hard  Disk  Drive）等のプログラムメモリから、ＲＡＭの所定領域に展開すること等をいう。
【発明の効果】
【０００９】
本発明の一側面によれば、ユーザが所望する機能を優先的に起動し、ユーザにとっての利便性を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例に係る複数の画像形成装置等が形成するシステムのハードウェア構成例である。
【図２】画像形成装置１０００のハードウェア構成例である。
【図３】ＳｏＣ１２００のハードウェア構成例である。
【図４】コア間通信を行う手法を説明するための説明図である。
【図５】各コアによって実行されるソフトウェア階層を例示した図である。
【図６】本実施例の画像形成装置１０００の機能構成例である。
【図７】画像形成装置１０００の起動時において実行され得る処理の流れを示すシーケンス図である。
【図８】画像形成装置１０００の起動時において操作部１６００により表示される画面の変化例である。
【図９】画像形成装置１０００の起動時において実行され得る処理の流れを示すシーケンス図の他の例である。
【図１０】画像形成装置１０００の起動時において操作部１６００により表示される画面の変化例である。
【図１１】画像形成装置１０００と連携する他の画像形成装置に関する機器連携情報６０１０の一例である。
【図１２】機能間の関連性を学習した結果を模式的に示す図である。
【図１３】画像形成装置１０００が画像形成装置２０００、２１００、２２００と能力交換を行う様子を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００１２】
以下、図面を参照し、本発明の一実施例に係る画像形成装置、及びシステムについて説明する。
【００１３】
［ハードウェア構成等］
図１は、本発明の一実施例に係る複数の画像形成装置等が形成するシステムのハードウェア構成例である。このシステムは、例えば、画像形成装置１０００、２０００、２１００、２２００、２３００、２４００、及び情報処理装置２５００がネットワーク３０００に接続された構成となっている。ネットワーク３０００は、例えばＷＡＮ（Wide  Area  Network）やＬＡＮ（Local  Area  Network）である。
【００１４】
各画像形成装置は、例えばＭＦＰであり、コピー、プリント、ＦＡＸ、ＳＣＡＮ機能等を有する。また、各画像形成装置は、ネットワーク３０００を介して情報を共有することにより、上記各機能を互いに連携して行うことができる。
【００１５】
情報処理装置２５００は、各画像形成装置に対して各種機能設定を指示したり、遠隔操作を行ったり、ネットワーク３０００の状態を監視したりする。具体的には、情報処理装置２５００は、各画像形成装置に対して起動時に優先的に起動させる機能を指示したり、所望のファイルの内容をプリントするように指示したりする。図１では情報処理装置２５００が単独のものとしたが、複数の情報処理装置２５００がネットワーク３０００に接続されてもよい。
【００１６】
図２は、画像形成装置１０００のハードウェア構成例である。画像形成装置１０００は、例えば、ＳｏＣ１２００、シリアルバス１３００、ＬＡＮポート１４００を有するコントローラ１１００と、ＨＤＤ１５００と、操作部（オペレーションパネル）１６００と、ファックス制御部１７００と、エンジン部１８００とを有する。
【００１７】
ＳｏＣ１２００は、ＣＰＵ（Central  Processing  Unit）やメモリ、それらを接続するバス等が一チップ上に搭載されたハードウェアである。シリアルバス１３００は、ＳｏＣ１２００と、ＰＣＩデバイス、周辺デバイス等を接続する。ＬＡＮポート１４００は、ＳｏＣ１２００と、ネットワーク３０００とを接続する。
【００１８】
ＨＤＤ１５００は、画像データ、プログラム、フォントデータ、フォーム等を格納する。
【００１９】
操作部（オペレーションパネル）１６００は、例えばタッチパネルディスプレイやボタン等を有し、ユーザの入力操作を受け付けると共に、ユーザに対する情報提供のための各種画面を表示する。
【００２０】
ファックス制御部１７００は、ＦＡＸ通信を制御するためのハードウェアである。エンジン部１８００は、プリント出力をするためのハードウェアであるプロッタ１８１０と、スキャナ入力するためのハードウェアであるスキャナ１８２０とを有する。これらのハードウェアの具体的内容については、種々の文献等が公知となっているため説明を省略する。
【００２１】
図３は、ＳｏＣ１２００のハードウェア構成例である。ＳｏＣ１２００は、例えば、マルチコアＣＰＵであるＣＰＵ１２１０を備える。ＣＰＵ１２１０は、コア１（１２１１）と、コア２（１２１２）と、ＳＣＵ（Snoop  Control  Unit）１２１３と、割込みコントローラ１２１４と、を有する。各コアは、プログラムカウンタや命令デコーダ、各種演算器、ＬＳＵ（Load  Store  Unit）、汎用レジスタ、キャッシュメモリ等を有するプロセッサである。ＳＣＵ１２１３は、コア１、コア２のキャッシュメモリの一貫性を維持する。
【００２２】
本実施例では、コア１が、ＵＩ（ユーザインターフェース）・通信等のユーザや装置間のインタラクティブな機能を実行し、コア２が、画像形成装置１０００の機能であるコピー、プリント、ＦＡＸ、ＳＣＡＮ等を制御する。割込みコントローラ１２１４は、コア間割込みを制御したり、外部からの割り込み信号を受け付けたりする。
【００２３】
また、ＳｏＣ１２００は、主にコア１によって利用されるハードウェアとして、バス１（１２２０）と、シリアルコントローラ１２２１と、不揮発性メモリ１（１２２２）と、ＧＭＡＣ（Gigabit  Ethernet  Media  Access  Controller）１２２３とを備える。不揮発性メモリ１は、例えばＥＥＰＲＯＭやフラッシュメモリ等であり、コア１のＯＳ（カーネル）やアプリケーションプログラムを格納する。不揮発性メモリ１は、マスクＲＯＭを含んでもよい。バス１は、コア１の処理用に設けられた専用のデータ・アドレスの転送経路であり、コア１は、バス１を介して不揮発性メモリ１からＯＳやアプリケーションプログラムを読み込み、ＲＡＭ１２７０に展開（ロード）することにより起動する。シリアルコントローラ１２２１は、シリアルバス１３００に接続され、ＰＣＩデバイスや周辺デバイス等を制御する。ＧＭＡＣ１２２３は、ＬＡＮポート１４００に接続され、ネットワーク３０００を介した他の画像形成装置や情報処理装置２５００との通信を制御する通信コントローラである。コア１は、ＧＭＡＣ１２２３を介して他の画像形成装置との連携を行うことができる。
【００２４】
また、ＳｏＣ１２００は、主にコア２によって利用されるハードウェアとして、バス２（１２３０）と、不揮発性メモリ２（１２３１）と、画像処理回路１２３２とを備える。不揮発性メモリ２は、例えばＥＥＰＲＯＭやフラッシュメモリ等であり、コア２のＯＳ（カーネル）やアプリケーションプログラムを格納する。不揮発性メモリ２は、マスクＲＯＭを含んでもよい。バス２は、コア２の処理用に設けられた専用のデータ・アドレスの転送経路であり、コア２は、バス２を介して不揮発性メモリ２からＯＳやアプリケーションプログラムを読み込み、ＲＡＭ１２７０に展開（ロード）することにより起動する。画像処理回路１２３２は、画像処理回路１２３２は、コピー、プリントといったアプリケーションを高速に実行するための専用回路である。
【００２５】
更に、ＳｏＣ１２００は、コア１とコア２によって共用されるハードウェアとして、メモリコントローラ１２６０と、ＲＡＭ１２７０とを備える。メモリコントローラ１２６０は、ＲＡＭ１２７０に対するリード・ライト等のアクセス要求を調停する。ＲＡＭ１２７０は、画像形成装置１０００の描画用メモリ、コア１とコア２の間のデータ共有、アプリケーションプログラムの一時データ格納領域等として利用される。メモリコントローラ１２６０には、バス３（１２４０）を介して、ＬＣＤＣ（Liquid  Crystal  Display  Controller）１２４１と、ＶｉｄｅｏＯｕｔ１２４２と、ＶｉｄｅｏＩＮ１２４３とが接続される。バス３は、ＳｏＣ１２００と、操作部１６００やエンジン部１８００との間のデータの入出力用の伝送経路である。ＬＣＤＣ１２４１は、操作部１６００への映像信号出力を制御するハードウェア回路である。ＶｉｄｅｏＯｕｔ１２４２・ＶｉｄｅｏＩＮ１２４３は、プロッタ１８１０やスキャナ１８２０との間で画像情報の入出力を行うハードウェア回路である。
【００２６】
図４は、コア間通信を行う手法を説明するための説明図である。コア１からコア２に対して命令やデータを送信する場合、コア１は、送信したい命令やデータをＲＡＭ１２７０の共有メモリ領域に書き込み、割込みコントローラ１２１３に対して割込み信号を送信する。割込みコントローラ１２１３は、コア１からの割込み信号をコア２に転送する。コア２はコア１からの割込み信号を受けて、ＲＡＭ１２７０の共有メモリ領域から命令やデータを読み込むことにより、コア１が送信したい命令やデータを受け取ることができる。コア２からコア１への通信についても同様である。
【００２７】
図５は、各コアによって実行されるソフトウェア階層を例示した図である。図示するように、コア１には、Ａｎｄｒｏｉｄ（登録商標）やＬｉｎｕｘ（登録商標）等の汎用ＯＳ４２００が搭載され、汎用ＯＳ４２００上でＵＩ・通信アプリケーション４０００が動作する。一方、コア２には、ｉＴｒｏｎ（登録商標）などのリアルタイムＯＳ５２００が搭載され、リアルタイムＯＳ５２００上で画像処理アプリケーション５０００が動作する。なお、各コアに搭載されるＯＳの種類についてはあくまで一例であり、特段の限定は存在しない。
【００２８】
［機能構成］
図６は、本実施例の画像形成装置１０００の機能構成例である。図示するように、画像形成装置１０００は、起動制御部３５００と、電源・メカ制御部３６００と、ＵＩ・通信アプリケーション４０００が実行されることにより機能する各機能部と、画像処理アプリケーション５０００が実行されることにより機能する各機能部とを備える。各機能部は、ＨＤＤ１５００に格納される機器連携情報６０１０や優先起動情報６０２０を参照して動作する。
【００２９】
起動制御部３５００は、デバイスの初期化、ＯＳやアプリケーションのロードを制御する。電源・メカ制御部３６００は、画像形成装置１０００の各部への電源供給等を制御する。
【００３０】
ＵＩ・通信アプリケーション４０００が実行されることにより機能する機能部は、例えば、操作画面制御部４０１０、操作画面表示部４０２０と、優先起動情報管理部４０３０、機器連携制御部４０４０、ユーザ認証部４０５０、連携情報管理部４０６０、能力交換部４０７０、コア間通信部４０８０、通信サーバ４０９０、及び通信クライアント４１００を含む。
【００３１】
操作画面制御部４０１０は、ユーザのボタン押下などのアクションイベントに応じて画面遷移を制御し、操作画面表示部４０２０に操作部１６００への表示を要求する。操作画面表示部４０２０は、操作画面制御部４０１０からの要求を受けて操作部１６００に画面を表示させる。
【００３２】
優先起動情報管理部４０３０は、後述する優先起動される機能と他の機能との間の関連度（図１２参照）を保持し、ユーザが指定した機能とセットで使われる可能性の高いプログラムから優先的に読み込むための優先起動情報６０２０を管理する。優先起動情報６０２０は、例えば、画像形成装置１０００を利用するユーザ全員の利用履歴から算出した情報と、ユーザ毎の利用履歴から算出した優先起動情報の２つを含み、起動時にユーザ認証がなされた場合には、ユーザ毎の利用履歴から算出した優先起動情報が利用される。
【００３３】
機器連携制御部４０４０は、操作画面制御部４０１０でユーザから選択された機能と連携先から、連携先に対して、指定された機能を実行するように通信クライアント５１００を介して要求を送信する。
【００３４】
ユーザ認証部４０５０は、ユーザ認証を実行する。ユーザ認証が実行されると起動制御部３５００と操作画面制御部４０１０に認証結果を通知する。認証が成功した場合、起動制御部３５００は、優先起動情報管理部４０３０からユーザ毎の利用履歴から算出した優先起動情報を取得し、優先起動を実行する。
【００３５】
連携情報管理部４０６０は、機器連携情報６０１０を管理する。詳しくは、後述する。
【００３６】
能力交換部４０７０は、機器間で連携するために必要な情報を事前に交換する機能部である。能力交換は、ユーザが指定したタイミングで定期的に実行可能なものとする。交換する情報は、機器の状態、利用可能な機能一覧、通信時間などである。同一ネットワーク内の場合には能力交換の要求をブロードキャストすることによりユーザが宛先を指定しなくても自動的に検知して連携先に設定することが可能なものとする。
【００３７】
コア間通信部４０８０は、コア２との通信を行うためのＲＡＭ１２７０の共有メモリ領域への書込みや割込み信号の生成等の制御を行う。
【００３８】
通信サーバ４０９０は、他の画像形成装置から機能実行の要求を受付ける。機能実行の要求を受付けると、機器連携制御部４０４０が、当該機能を実行可能か否か判定し、実行可能であればアプリケーションを実行し、実行結果を通信サーバ４０９０が他の画像形成装置に送信する。
【００３９】
通信クライアント４１００は、他の画像形成装置に対して機能実行を要求する。通信結果は、機器連携制御部４０４０に通知し、操作画面制御部４０１０と操作画面表示部４０２０を介して操作部１６００に表示させる。
【００４０】
一方、画像処理アプリケーション５０００が実行されることにより機能する機能部は、例えば、プリンタ部５０１０、ＳＣＡＮ部５０２０、ＦＡＸ部５０３０、コピー部５０４０、及びコア間通信部５０５０を含む。プリンタ部５０１０、ＳＣＡＮ部５０２０、ＦＡＸ部５０３０、及びコピー部５０４０は、画像形成装置１０００のプリント機能、ＳＣＡＮ機能、ＦＡＸ機能、コピー機能を実行するための制御を行う。コア間通信部５０５０は、コア１との通信を行うためのＲＡＭ１２７０の共有メモリ領域への書込みや割込み信号の生成等の制御を行う。
【００４１】
［起動時の処理］
以下、画像形成装置の起動時における処理について説明する。ここで、「起動時」とは、例えば、電源投入時、及び休止状態からの復帰時等を含んでよいが、以下の説明では、起動時は電源投入時であるものとする。
【００４２】
図７は、画像形成装置１０００の起動時において実行され得る処理の流れを示すシーケンス図である。
【００４３】
まず、ユーザが電源スイッチを操作して電源をオンにすると、コア１のハードウェアが起動する（Ｓ１００）。
【００４４】
コア１は、メモリコントローラ１２６０や画像処理回路１２３２等のハードウェアデバイスを初期化する（Ｓ１０１）。
【００４５】
次に、コア１がコア２を起動させる（Ｓ１０２）。続いて、コア１は、汎用ＯＳ４２００とＵＩ・通信アプリケーション４０００をロードする（Ｓ１０３、Ｓ１０４）。一方、コア２は、リアルタイムＯＳ５２００をロードする（Ｓ１０５）。
【００４６】
コア１は、ＵＩ・通信アプリケーション４０００のロードが完了すると、操作部１６００にユーザ要求受付画面を表示させる（Ｓ１０６）。
【００４７】
図８は、画像形成装置１０００の起動時において操作部１６００により表示される画面の変化例である。これらのうち、図８（Ａ）は、Ｓ１０６の処理により表示されるユーザ要求受付画面の一例である。ユーザ要求受付画面は、ＵＩ・通信アプリケーション４０００をロード完了し、ユーザの要求を受け付けられる状態になったときに表示される。ユーザ要求受付画面では、例えば、コピー、プリント、ＦＡＸ、ＳＣＡＮの４機能についてボタンが配置され、その下には現在の起動のステータスが示されている。
【００４８】
ここで、ユーザが機能Ａ（図８ではＳＣＡＮ機能）を選択したものとする（Ｓ１０７）。この場合、コア１は、コア２に対して機能Ａを優先的に起動するように指示する割込み信号を送信する（Ｓ１０８）。コア２は、割り込み信号に応じて機能Ａを実行するためのプログラムを、他のプログラムよりも優先的にロードする（Ｓ１０９）。
【００４９】
続いて、コア１は、選択された機能Ａを実行可能な画像形成装置を示す、実行可能機器一覧画面を操作部１６００に表示させる（Ｓ１１０）。
【００５０】
図８（Ｂ）は、Ｓ１１０の処理によって操作部１６００により表示される実行可能機器一覧画面の一例である。実行可能機器一覧画面では、画像形成装置１０００と連携する（連携先の）他の画像形成装置のうち、選択された機能を実行可能な画像形成装置名と、起動ステータスが表示される。また、実行可能機器一覧画面では、利用可能な画像形成装置名だけでなく、通信時間や利用可能な機能などを表示してもよい。
【００５１】
ここで、ユーザが図８（Ｂ）の画面から画像形成装置２０００を選択したものとする（Ｓ１１１）。図８（Ｃ）は、ユーザにより画像形成装置２０００が選択された後の実行要求受付画面の一例である。実行要求受付画面では、機能ＡであるＳＣＡＮのパラメータを設定することができる。ユーザは、実行要求受付画面でカラーや保存するファイル形式、ＳＣＡＮした情報の送り先などを指定して実行ボタンを押下する。ユーザが、ＳＣＡＮを実行する画像形成装置を変えたい場合やＳＣＡＮ自体を行わない場合には、戻るボタンを押下する。
【００５２】
上記の処理が行われ、実行要求が受け付けられると、コア１は、画像形成装置２０００に機能Ａの実行要求を送信する（Ｓ１１２）。図８（Ｄ）は、コア１が画像形成装置２０００に機能Ａの実行要求を送信した際に操作部１６００により表示される画面の一例である。ユーザは、機能Ａの実行を中断したい場合には、キャンセルボタンを押下する。
【００５３】
画像形成装置２０００は、受信した実行要求に応じて機能Ａを実行する（Ｓ１１３）。画像形成装置２０００が機能Ａを実行している間、例えば図８（Ｅ）に示す画面が操作部１６００により表示される。ユーザは、機能Ａの実行を中断したい場合には、キャンセルボタンを押下する。画像形成装置２０００は、機能Ａの実行が完了すると、実行完了応答をコア１に送信する（Ｓ１１４）。実行完了応答を受信すると、コア１は、例えば図８（Ｆ）に示す画面を操作部１６００により表示させる。ユーザはＯＫボタンを押下することで処理完了を確認したことを画像形成装置１０００に伝える。機能Ａの実行に失敗した場合、コア１は、再度、実行可能機器一覧画面を操作部１６００に表示させる。
【００５４】
なお、機能Ａの実行が、画像形成装置１０００から画像形成装置２０００にデータ転送を行うことにより、画像形成装置２０００において実行可能である場合は、機能の実行が自動的に画像形成装置２０００に引き渡されるが、紙からのコピーのように、ユーザが処理を行う画像形成装置を手動操作する必要がある処理の場合、Ｓ１１２の処理は、例えば「機能Ａを実行可能な状態になるように要求する」ものとなり、ユーザがその画像形成装置に足を運んで手動操作を行うことになる。
【００５５】
コア２は、機能Ａを実行するためのプログラムのロードが完了し、機能Ａを実行できる状態になると、割込み信号で機能Ａが実行できることをコア１に伝達する（Ｓ１１５）。その後、コア２は、機能Ａと関連性の高い機能を優先的に起動する（Ｓ１１６）。「関連性の高い機能」については後述する。
【００５６】
［起動時の他の処理］
ところで、実行可能機器一覧画面からユーザが他の画像形成装置を選択しなかった場合、或いは、連携先の画像形成装置が登録されていない場合は、処理の流れが図７とは異なるものとなる。図９は、画像形成装置１０００の起動時において実行され得る処理の流れを示すシーケンス図の他の例である。
【００５７】
図９におけるＳ１００〜Ｓ１１０までの処理は、図７と共通するため、説明を省略する。図１０（Ａ）は、Ｓ１０６の処理により表示されるユーザ要求受付画面の一例であり、図１０（Ｂ）は、Ｓ１１０の処理によって操作部１６００により表示される実行可能機器一覧画面の一例である。
【００５８】
ユーザが画像形成装置２０００を選択せずに、コア２が、機能Ａを実行するためのプログラムのロードを完了し、機能Ａを実行できる状態になると、割込み信号で機能Ａが実行できることをコア１に伝達する（Ｓ１２０）。この場合、コア１は、実行可能機器一覧画面に画像形成装置１０００（自機）を追加し、操作部１６００に表示させる（Ｓ１２１）。図１０（Ｃ）は、Ｓ１２１の処理によって操作部１６００により表示される実行可能機器一覧画面の一例である。その後、コア２は、機能Ａと関連性の高い機能を優先的に起動する（Ｓ１２２）。
【００５９】
［連携先の登録］
図１１は、画像形成装置１０００と連携する（連携先の）他の画像形成装置に関する機器連携情報６０１０の一例である。機器連携情報６０１０は、例えば、連携先の画像形成装置の名称、宛先（ＩＰアドレス）、装置の状態、連携可能な機能リスト、通信時間等を含む。連携先の画像形成装置は、例えばユーザが任意に設定する。宛先の形式に特段の制約は無く、ＩＰｖ６で設定されてもよく、サブネットマスクやＤＮＳサーバアドレス、デフォルトゲートウェイ等の通信に必要な情報を含めてもよい。装置の状態は、例えば、Idle、Processing、Sleepの３種類に分類され、すぐに利用可能である（Idle）、利用可能であるが処理速度は遅くなる可能性がある（Processing）、電源オフ又は休止状態のために利用できない（Sleep）等の状態が把握できる。機能一覧は、画像形成装置１００から遠隔的に利用可能な機能を示している。通信時間は、例えば後述する能力交換時に要した通信時間に基づき算出され、画像形成装置１００との通信時間を、速い、普通、遅い、の３段階で評価した情報である。機器連携情報６０１０は、例えば図８（Ｂ）や図１０（Ｂ）で示す画面が操作部１６００により表示されているときに、ユーザ操作によって画面を切り替えて表示される。また、機器連携情報６０１０は、コア１が、実行可能機器一覧画面を操作部１６００に表示させる際に参照する情報としても用いられる。
【００６０】
［関連性の評価］
前述したように、コア２は、ユーザによって選択された機能と関連性の高い機能を優先的に起動する。コア２は、ユーザ毎に、例えば画像形成装置１０００の各機能が連続して利用された回数等をカウントして機能の関連性を学習し、学習した関連性を優先起動情報６０２０の一部として保持する。
【００６１】
図１２は、機能間の関連性を学習した結果を模式的に示す図である。図中、関連度は、例えば、「ある機能が利用された後、所定時間以内に次の機能が利用された」回数を示している。コア２は、図１２に示される情報を、例えばポインタを用いた木構造、すなわち、各ノード（機能）が、自ノードを示すデータ内容（機能名）と、分岐先のノード名（図１２では矢印の先の機能名）を保持する構造で、ＨＤＤ１５００等に格納する。これによって、例えばテーブルデータの形式で学習結果を保持する場合に比して、データサイズを小さくすることができる。
【００６２】
［ユーザが機能を選択しない場合］
なお、コア２は、コア１によりＵＩ・通信アプリケーション４０００のロードが完了し、操作部１６００にユーザ要求受付画面が表示されたにも拘わらず、ユーザが機能を選択しない場合は、ユーザ毎の機能の利用頻度等に基づいて、プログラムの起動順を決定する。
【００６３】
［能力交換］
また、本実施例の画像形成装置１０００は、他の画像形成装置との間で、機能を交換、或いは付与、受け取り等することができる。図１３は、画像形成装置１０００が画像形成装置２０００、２１００、２２００と能力交換を行う様子を示すシーケンス図である。能力交換は、例えば装置の状態が互いにIdleのときに行うことができる。図示するように、能力交換要求が画像形成装置１０００から他の画像形成装置に送信されると、他の画像形成装置は、例えばアプリケーションプログラムを画像形成装置１０００に送信することによって、自己が有している機能を画像形成装置１０００に移管或いは付与する。
【００６４】
［まとめ］
以上説明した本実施例の画像形成装置１０００が有するＳｏＣ１２００によれば、画像形成装置１０００の起動時すなわちＳｏＣ１２００の起動時に、操作部１６００をユーザインターフェースとして機能させるためのＵＩ・通信アプリケーション４０００を起動した後、操作部１６００を用いてユーザが選択した機能を実行させるためのプログラムを、他の機能を実行させるためのプログラムよりも優先的に起動するため、ユーザが所望する機能を優先的に起動し、ユーザにとっての利便性を向上させることができる。
【００６５】
また、コア１がＵＩ・通信アプリケーション４０００を起動し、コア２が操作部１６００を用いてユーザが選択した機能を実行させるためのプログラムを起動することにより、処理の分散化が行われ、起動時間を短縮することができる。
【００６６】
また、コア２が優先的に起動したプログラムに続いて、優先的に起動したプログラムに係る機能と、関連性の高い機能を実行するためのプログラムを優先的に起動するため、ユーザが連続して複数の機能を利用する場合に、それらの機能を優先的に起動し、ユーザの待ち時間を更に短縮することができる。
【００６７】
また、他の画像形成装置との通信を行う機能を有し、操作部１６００を用いてユーザが選択した機能を実行可能な、他の画像形成装置に関する情報をユーザに提供するため、ユーザは、画像形成装置１０００において機能が起動されるのを待つか、他の画像形成装置に機能を代行させるかを判断することができる。また、この際に他の画像形成装置の動作状態を取得し、この動作状態をユーザに提供するため、ユーザは、他の画像形成装置に機能を代行させるか否かを判断する際の判断材料とすることができる。
【００６８】
また、他の画像形成装置との間で、機能を交換、或いは付与、受け取り等することができるため、画像形成装置群が形成するシステムにおいて、自由な機能配置を実現することができる。
【００６９】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【００７０】
例えば、本発明の制御装置の一例であるＳｏＣ１２００は、マルチコア・プロセッサであるものとしたが、メインメモリをプロセッサ毎に備えたマルチプロセッサ装置であってもよい。
【符号の説明】
【００７１】
１０００、２０００、２１００、２２００、２３００、２４００  画像形成装置
１１００  コントローラ
１２００  ＳｏＣ
１２１０  ＣＰＵ
１２１１  コア１
１２１２  コア２
１２１３  ＳＣＵ
１２１４  割込みコントローラ
１２２０  バス１
１２２１  シリアルコントローラ
１２２２  不揮発性メモリ１
１２２３  ＧＭＡＣ
１２３０  バス２
１２３１  不揮発性メモリ２
１２３２  画像処理回路
１２４０  バス３
１２６０  メモリコントローラ
１２７０  ＲＡＭ
１３００  シリアルバス
１４００  ＬＡＮポート
１５００  ＨＤＤ
１６００  操作部
１７００  ファックス制御部
１８００  エンジン部
２５００  情報処理装置
３０００  ネットワーク
【先行技術文献】
【特許文献】
【００７２】
【特許文献１】特開２０１１‐１５１８０６号公報
【図１】
2013190950.tif 000003
【図２】
2013190950.tif 000004
【図３】
2013190950.tif 000005
【図４】
2013190950.tif 000006
【図５】
2013190950.tif 000007
【図６】
2013190950.tif 000008
【図７】
2013190950.tif 000009
【図８】
2013190950.tif 000010
【図９】
2013190950.tif 000011
【図１０】
2013190950.tif 000012
【図１１】
2013190950.tif 000013
【図１２】
2013190950.tif 000014
【図１３】
2013190950.tif 000015