以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
図1は、本発明の実施の形態における画像処理システムの全体概要を示す図である。図1を参照して、画像処理システム1は、それぞれがネットワーク3に接続されたMFP(Multi Function Peripheral)100,100A,100Bと、携帯情報装置200と、無線局5と、を含む。
なお、図ではネットワーク3に、画像処理装置として3台のMFP100,100A,100Bが接続される例を示しているが、MFPの数はこれに限定されるものではなく、1台以上であればよい。また、MFP100,100A,100Bに代えて、例えば、コンピューター、ファクシミリ、プリンタ等であってもよい。
ネットワーク3は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワーク3は、LANに限らず、公衆交換電話網(Public Switched Telephone Networks)を用いたネットワーク等であってもよい。このため、MFP100,100A,100Cは、ネットワーク3を介して互いに通信可能である。さらに、ネットワーク3は、インターネットなどのワイドエリアネットワーク(WAN)に接続されている。このため、MFP100,100A,100Cそれぞれは、インターネットに接続されたコンピューターと通信可能である。
携帯情報装置200は、電子ペーパー等、または、スマートホンなどの通信機能を備えたPDAである。ここでは、携帯情報装置200を、スマートホンとする場合を例に説明する。携帯情報装置200は、携帯電話用基地局と無線で通信することにより携帯電話網に接続し、通話が可能である。また、携帯情報装置200は、無線LAN機能を備えている。
ネットワーク3には無線局5がさらに接続される。無線局5は、ネットワーク3の中継装置であり、無線LAN通信機能を備えた携帯情報装置200と通信して、携帯情報装置200をネットワーク3に接続する。このため、携帯情報装置200は、ネットワーク3に接続された、MFP100,100A,100Bとデータの送受信が可能である。
本実施の形態における画像処理システム1においては、携帯情報装置200が、MFP100,100A,100Bのいずれかと通信し、データが送受信される。データを送受信するプロトコルは、特に限定されることはなく、任意のプロトコルを用いることが可能である。携帯情報装置200は、それに記憶されたデータを、MFP100,100A,100Bのいずれかに送信し、MFP100,100A,100Bのいずれかにデータを保存、表示、送信または画像形成等の処理をさせることができる。携帯情報装置200が記憶するデータは、携帯情報装置200にインストールされたアプリケーションプログラムを実行するタスクによって生成されたデータ、またはアプリケーションプログラムを実行するタスクが処理対象とするデータである。逆に、MFP100,100A,100Bのいずれかに記憶されたデータを、携帯情報装置200に送信し、携帯情報装置200によって処理することも可能である。
なお、本実施の形態においては、携帯情報装置200と、MFP100,100A,100Bとの間の通信を、ネットワーク3を経由した通信とする場合を例に説明するが、携帯情報装置200とMFP100,100A,100Bのいずれかと、を直接接続する形態の通信であってもよい。例えば、近距離無線通信として知られるBluetooth(登録商標)や、赤外線通信を用いるようにしてもよい。
以下の説明では、携帯情報装置200が、MFP100と通信する場合を例に説明する。MFP100,100A,100Bは、ハードウエア構成は同じであってもよく異なっていてもよいが、少なくとも画像データに基づいて紙などの用紙に画像を形成するための画像形成部を備えている。MFP100,100A,100B各々が有するハードウエア構成は同じではない場合があるが、ここではMFP100が、他のMFP100A,100Bの少なくとも1つが有する構成を有しているとし、特に言及しない限りMFP100を例に説明する。
図2は、MFPのハードウエア構成の概要を示すブロック図である。図2を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザーインターフェースとしての操作パネル160とを含む。
メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、EEPROM(Electrically Erasable Programmable ROM)115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、ファクシミリ部117と、CD−ROM(Compact Disc−Read Only Memory)119Aが装着される外部記憶装置119と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取データ(画像データ)を一時的に記憶する。
操作パネル160は、MFP100の上面に設けられる。図3は、操作パネルの一例を示す平面図である。図3を参照して、操作パネル160は、表示部161と操作部163とを含む。表示部161は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、複数のキーを備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部163は、表示部161の表示面の位置を検出するタッチパネル165をさらに含む。タッチパネル165は、表示部161の上面または下面に設けられ、ユーザーにより指示された位置の座標をCPU111に出力する。
図2に戻って、通信I/F部112は、MFP100をネットワーク3に接続するためのインターフェースである。CPU111は、通信I/F部112を介してネットワーク3に接続された他のMFP100A,100Bまたは無線局5との間で通信し、データを送受信する。このため、無線局5が携帯情報装置200と接続されている場合、通信I/F部112は、携帯情報装置200と通信し、データを送受信する。また、通信I/F部112は、ネットワーク3を介してインターネットに接続されたコンピューターと通信が可能である。
ファクシミリ部117は、公衆交換電話網(PSTN)に接続され、ファクシミリデータを送受信する。ファクシミリ部117は、原稿読取部130により読み取られた画像データまたはHDD116に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。また、ファクシミリ部117は、受信されたファクシミリデータをHDD116に記憶するか、画像形成部140にファクシミリデータの画像を用紙に形成させる。
外部記憶装置119は、CD−ROM119Aが装着される。CPU111は、外部記憶装置119を介してCD−ROM119Aにアクセス可能である。CPU111は、外部記憶装置119に装着されたCD−ROM119Aに記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムは、CD−ROM119Aに記録されたプログラムに限られず、HDD116に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、ネットワークに接続された他のコンピューターが、MFP100のHDD116に記憶されたプログラムを書き換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD116に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図4は、携帯情報装置のハードウエア構成の概要を示すブロック図である。図4を参照して、携帯情報装置200は、携帯情報装置200の全体を制御するためのCPU211と、ROM212と、RAM213と、カメラ214と、データを不揮発的に記憶するフラッシュメモリ215と、通話部217と、通話部217と接続された無線通信部216と、情報を表示する表示部218と、ユーザーの操作の入力を受け付ける操作部219と、無線LANインターフェース(I/F)220と、を含む。
ROM212は、CPU211が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM213は、CPU211がプログラムを実行する際の作業領域として用いられる。
無線通信部216は、電話通信網に接続された携帯電話用基地局と無線通信する。無線通信部216は、携帯情報装置200を電話通信網に接続し、通話部217を用いた通話を可能とする。無線通信部216は、携帯電話用基地局から受信した無線信号を復調した音声信号を復号して通話部217に出力する。また、無線通信部216は、通話部217から入力される音声を符号化し、携帯電話用基地局に送信する。通話部217は、マイクおよびスピーカを備え、無線通信部216から入力される音声をスピーカから出力し、マイクから入力される音声を無線通信部216に出力する。さらに、無線通信部216は、CPU211により制御され、携帯電話用基地局を介してデータを送受信し、例えば、携帯情報装置200をインターネットに接続する。
カメラ214は、レンズおよびCMOS(Complementary Metal Oxide Semiconductor)センサー等の光電変換素子を備え、レンズで集光した光をCMOSセンサーに結像し、CMOSセンサーは受光した光を光電変換して画像データをCPU201に出力する。
表示部218は、液晶表示装置(LCD)、有機ELD等の表示装置であり、ユーザーに対する指示メニューや,外部から受信されたデータ等を表示する。操作部219は、複数のキーを備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。
また、操作部219は、タッチパネル219Aを含む。タッチパネル219Aは、表示部218の表示面中でユーザーにより指示された位置を検出する。タッチパネル219Aは、表示部218の上面または下面に設けられ、ユーザーにより指示された位置の座標をCPU211に出力する。タッチパネル219Aは、マルチタッチスクリーンパネルであり、同時に複数の位置がユーザーにより指示される場合、ユーザーにより指示された複数の位置にそれぞれ対応する複数の座標をCPU211に出力する。タッチパネル219Aは、表示部218の表示面と同じまたはそれ以上のサイズであるのが好ましい。タッチパネル219Aは、表示部218に重畳して設けられるので、タッチパネル219Aは、ユーザーが表示部218の表示面を指示すれば、表示部218の表示面中でユーザーが指示した1以上の位置にそれぞれ対応する1以上の座標をCPU211に出力する。タッチパネル219Aは、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式を用いることができ、その方式は限定されない。
無線LANI/F220は、無線局5と通信し、携帯情報装置200をネットワーク3に接続するためのインターフェースである。携帯情報装置200は、無線LANI/F220を介してMFP100,100A、100Bと通信することができ、データの送受信が可能である。
図5は、MFPが備えるCPUのハードウエア構成および機能の一例を、RAMの記憶領域とともに示す図である。図5を参照して、CPU111は、管理用コア11、第1副コア51および第2副コア61を有し、AMP(Asymmetric Multiple Processor)構成のマルチコア・プロセッサである。このため、管理用コア11、第1副コア51および第2副コア61ごとに固有のプログラムを実行する。なお、本実施の形態においては、CPU111が、管理用コア11、第1副コア51および第2副コア61を有する例を示すが、CPU111は、AMP構成のマルチコア・プロセッサであればよく、コアの数を限定するものではない。
ROM113、EEPROM115またはHDD116に、複数種類のオペレーティングシステムプログラムが記憶されており、管理用コア11、第1副コア51および第2副コア61それぞれは、複数種類のオペレーティングシステムプログラムのうちから選択された1つをRAM114にロードして実行する。ここでは、管理用コア11、第1副コア51および第2副コア61それぞれは、MFP100に電源が投入され、起動した直後には、同一の第1のオペレーティングシステムプログラムを実行する。また、ROM113、EEPROM115またはHDD116に、複数種類のアプリケーションプログラムが記憶されており、管理用コア11、第1副コア51および第2副コア61それぞれは、複数種類のアプリケーションプログラムのうちから選択された1以上をRAM114にロードして実行可能である。
RAM114は、管理用コア11に対応する管理用領域91と、第1副コア51に対応する第1領域93と、第2副コア61に対応する第2領域95と、管理用コア11、第1副コア51および第2副コア61が共有する共有領域97と、を有する。
図5に示す機能は、管理用コア11、第1副コア51および第2副コア61それぞれが、ROM113、EEPROM115、HDD166またはCD−ROM119Aに記憶されたオペレーティングシステムプログラムおよびアプリケーションプログラムを実行することにより、管理用コア11、第1副コア51および第2副コア61に形成される機能である。
管理用コア11は、第1のオペレーティングシステムプログラムを実行するタスクである管理用オペレーティング部15と、アプリケーションプログラムを実行するタスクである管理用アプリ実行部13と、を含む。第1副コア51は、第1のオペレーティングシステムプログラムを実行するタスクである第1オペレーティング部55と、アプリケーションプログラムを実行するタスクである第1アプリ実行部53と、を含む。第2副コア61は、第1のオペレーティングシステムプログラムを実行するタスクである第2オペレーティング部65と、アプリケーションプログラムを実行するタスクである第2アプリ実行部63と、を含む。
管理用アプリ実行部13は、管理用コア11、第1副コア51および第2副コア61の状態を監視し、CPU111の全体を制御するアプリケーションプログラムを実行する。また、管理用アプリ実行部13は、連携指示受付部21、機能情報取得部23、負荷検出部25、選択部27、システム情報取得部29、オペレーティングシステム構成部31、禁止部33およびリセット部35、を含む。連携指示受付部21、機能情報取得部23、負荷検出部25、選択部27、システム情報取得部29、オペレーティングシステム構成部31、禁止部33およびリセット部35は、管理用コア11が、ROM113、EEPROM115、HDD166またはCD−ROM119Aに記憶された連携プログラムを実行することにより形成される機能である。
連携指示受付部21は、ユーザーが入力する連携指示を受け付ける。例えば、表示部161に連携設定画面を表示し、ユーザーが操作部163に入力する連携指示を受け付ける。連携設定画面は、連携相手の装置を選択するための画面である。ここでは、携帯情報装置200を連携相手の装置として選択可能な連携設定画面を表示する。連携相手の装置は、予めMFP100に登録されている。連携指示は、連携設定画面において、ユーザーにより指定された連携の相手となる装置、ここでは携帯情報装置200を識別するための装置識別情報を含む。連携指示受付部21は、連携指示を受け付けると、機能情報取得部およびシステム情報取得部29に取得指示を出力する。取得指示は、連携の相手となる装置、ここでは携帯情報装置200を識別するための装置識別情報を含む。
なお、ユーザーが、携帯情報装置200を操作して、携帯情報装置200から連携指示をMFP100に送信するようにしてもよい。この場合、ユーザーが、携帯情報装置200に、連携相手の装置としてMFP100を指定すれば、携帯情報装置200は、MFP100に対して連携要求を送信する。連携指示受付部21は、通信I/F部112が連携要求を受信すると、MFP100から連携指示を受け付ける。連携指示受付部21は、連携要求を送信してきたMFP100を、連携相手として特定する。
機能情報取得部23は、連携指示受付部21から取得指示が入力されることに応じて、取得指示に含まれる装置識別情報で特定される携帯情報装置200から機能情報を取得する。具体的には、通信I/F部112を介して携帯情報装置200に機能情報送信要求を送信し、携帯情報装置が返信する機能情報を通信I/F部112が受信すると、機能情報を取得する。機能情報は、携帯情報装置200が備えるCPU211がプログラムを実行するのに必要な機能に関する情報であり、ここでは、携帯情報装置200が備えるCPU211が作業領域として備えるRAM213の記憶容量としている。機能情報取得部23は、取得された機能情報を選択部27に出力する。
負荷検出部25は、第1副コア51および第2副コア61それぞれの負荷を検出する。第1副コア51および第2副コア61それぞれにおいて、実行可能な状態で常駐しているアプリケーションプログラムを検出する。負荷検出部25は、第1副コア51および第2副コア61それぞれにおいて、常駐しているアプリケーションプログラムを識別するためのアプリ識別情報を選択部27に出力する。
選択部27は、第1副コア51および第2副コア61のうちから携帯情報装置200と連携するために用いるものを選択する。選択部27は、能力判断部41と、負荷優先選択部43と、を含む。
能力判断部41は、機能情報取得部23から機能情報が入力され、第1副コア51および第2副コア61が機能情報に基づき定まる能力を有するか否かを判断する。具体的には、RAM114において、第1副コア51に割り当てられた第1領域93の記憶容量、および第2副コア61に割り当てられた第2領域95の記憶容量それぞれと、機能情報に含まれる携帯情報装置200のRAM213の記憶容量とを比較する。能力判断部41は、第1領域93の記憶容量および第2領域95の記憶容量がともに、機能情報に含まれるRAM213の記憶容量以上ならば、第1副コア51および第2副コア61がともに機能情報に基づき定まる能力を有すると判断し、第1副コア51を識別するためのコア識別情報および第2副コア61のコア識別情報を負荷優先選択部43に出力する。
能力判断部41は、第1領域93の記憶容量および第2領域95の記憶容量のいずれか一方が、機能情報に含まれるRAM213の記憶容量以上で、他方がRAM213の記憶容量以上でなければ、第1副コア51および第2副コア61のうちRAM213の記憶容量以上のものを識別するためのコア識別情報を負荷優先選択部43に出力する。
能力判断部41は、第1領域93の記憶容量および第2領域95の記憶容量のいずれもが、機能情報に含まれるRAM213の記憶容量以上でなければ、第1副コア51および第2副コア61がともに機能情報に基づき定まる能力を有しないと判断し、エラーメッセージを表示部161に表示する。エラーメッセージは、携帯情報装置200と連携処理を実行する能力がないことを示すメッセージである。例えば、「システムの能力が携帯情報装置の能力を下回っているため、連携できません。」である。
負荷優先選択部43は、負荷検出部25から第1副コア51および第2副コア61ごとのアプリ識別情報が入力される。負荷優先選択部43は、能力判断部41から第1副コア51および第2副コア61それぞれのコア識別情報が入力される場合、第1副コア51および第2副コア61のうち、負荷の少ないものを選択する。アプリケーションプログラムごとに、第1副コア51および第2副コア61それぞれの負荷が予め定められているので、第1副コア51および第2副コアごとに負荷を算出し、負荷の少ないものを選択する。負荷優先選択部43は、第1副コア51および第2副コアのうち選択されたものを識別するコア識別情報をオペレーティングシステム構成部31に出力する。負荷優先選択部43は、負荷検出部25から第1副コア51および第2副コア61のいずれか一方のコア識別情報が入力される場合、負荷の判断をすることなく、負荷検出部25から入力されるコア識別情報を、オペレーティングシステム構成部31に出力する。
システム情報取得部29は、連携指示受付部21から取得指示が入力されることに応じて、取得指示に含まれる装置識別情報で特定される携帯情報装置200からシステム情報を取得する。具体的には、通信I/F部112を介して携帯情報装置200にシステム情報送信要求を送信し、携帯情報装置200が返信するシステム情報を通信I/F部112が受信すると、システム情報を取得する。システム情報は、携帯情報装置200が備えるCPU211が実行するオペレーティングシステムプログラムを識別するためのシステム識別情報を含む。システム識別情報は、オペレーションシステムプログラムの種類を示す種別情報と、そのオペレーティングシステムプログラムのバージョンを示すバージョン情報と、を含む。システム情報取得部29は、取得されたシステム情報をオペレーティングシステム構成部31および禁止部33に出力する。
禁止部33は、システム情報取得部29から入力されるシステム情報に含まれるシステム識別情報を、ROM113、EEPROM115またはHDD116に記憶されている複数種類のオペレーティングシステムプログラムそれぞれのシステム情報と比較する。禁止部33は、ROM113、EEPROM115またはHDD116に記憶されている複数種類のオペレーティングシステムプログラムのうちに、システム情報取得部29から入力されるシステム情報に含まれるシステム識別情報で特定されるオペレーティングシステムプログラムと種別が同じで、バージョンがそれ以上のものが存在するか否かを判断する。禁止部33は、ROM113、EEPROM115またはHDD116に記憶されている複数種類のオペレーティングシステムプログラムのうちに、そのようなオペレーティングシステムプログラムが存在すれば、オペレーティングシステム構成部31に許可信号を出力するが、そのようなオペレーティングシステムプログラムが存在しなければ、オペレーティングシステム構成部31に禁止信号を出力する。また、禁止部33は、オペレーティングシステム構成部31に禁止信号を出力する場合、エラーメッセージを表示部161に表示する。エラーメッセージは、携帯情報装置200と連携処理を実行するオペレーティングシステムプログラムがインストールできないことを示すメッセージである。例えば、「オペレーティングシステムが携帯情報装置と整合しないため、連携できません。」である。
オペレーティングシステム構成部31は、選択部27から第1副コア51および第2副コア61いずれか一方のコア識別情報が入力され、システム情報取得部29からシステム情報が入力され、禁止部33から許可信号および禁止信号のいずれか一方が入力される。オペレーティングシステム構成部31は、第1副コア51および第2副コア61のうち選択部27から入力されるコア識別情報で特定されるものを連携コアに設定する。ここでは、選択部27によって第1副コア51が選択され、オペレーティングシステム構成部31に第1副コア51のコア識別情報が入力される場合を例に説明する。この場合、オペレーティングシステム構成部31は、第1副コア51を連携コアに決定する。
また、オペレーティングシステム構成部31は、システム情報取得部29から入力されるシステム情報に基づいて、ROM113、EEPROM115またはHDD116に記憶されている複数種類のオペレーティングシステムプログラムのうちから1つを第2のオペレーティングシステムプログラムに決定する。システム情報取得部29から入力されるシステム情報に含まれるシステム識別情報で特定されるオペレーティングシステムプログラムと種別が同じで、バージョンがそれ以上のものを第2のオペレーティングシステムプログラムに決定する。以下、システム情報に基づき決定される第2のオペレーティングシステムプログラムを連携オペレーティングシステムプログラムという。
オペレーティングシステム構成部31は、禁止部33から許可信号が入力されることを条件に、連携コアである第1副コア51に決定された連携オペレーティングシステムプログラムを実行させる。具体的には、オペレーティングシステム構成部31は、第1副コア51が起動時に実行するブートプログラムを、連携オペレーティングシステムプログラムを実行するように書き換えた後に、第1副コア51をリセットする。さらに、オペレーティングシステム構成部31は、連携コアに決定された第1副コア51のコア識別情報をリセット部35に出力する。
また、オペレーティングシステム構成部31は、連携コアである第1副コア51をリセットする前に、第1副コア51において常駐しているアプリケーションプログラムを、連携コアとして選択されなかった第2副コア61に常駐させる指示を、第2副コア61に出力する。なお、第2副コア61が、第1副コア51において常駐しているアプリケーションプログラムを常駐するだけの能力を有しない場合には、管理用コア11に第1副コア51において常駐しているアプリケーションプログラムを常駐するようにしてもよい。
さらに、オペレーティングシステム構成部31は、連携コアである第1副コア51の状態を監視し、第1副コア51において連携オペレーティングシステムプログラムが実行され、常駐が完了した後に、第1副コア51に起動プログラムを実行させる。例えば、起動プログラムを実行させるためのコマンドを連携コアである第1副コア51に出力する。
リセット部35は、携帯情報装置200との連携の終了を検出すると、オペレーティングシステム構成部31から入力されるコア識別情報で特定される連携コア、ここでは、第1副コア51に連携終了指示を出力する。リセット部35は、ユーザーが操作部163の備える連携終了指示が割り当てられたボタンが指示されると、連携の終了を検出する。また、通信I/F部112が、連携している携帯情報装置200から連携終了指示を受信すると、連携の終了を検出する。
さらに、リセット部35は、連携終了指示を出力した後、第1副コア51の状態を監視し、第1副コア51が連携終了指示に基づく処理の実行が終了すると、第1副コア51が起動時に実行するブートプログラムをデフォルトである第1のオペレーティングシステムプログラムを実行するように書き換えた後に、第1副コア51をリセットするために、リセット信号を第1副コア51に出力する。第1副コア51は、リセットされると、RAM114の第1領域93をリセットする。このため、それまで第1領域93に記憶されていた実行データはすべて消去される。したがって、携帯情報装置200から受信された実行データを、第1領域93に記憶するようにしたので、携帯情報装置200との間の連携が終了した後は、RAM114から実行データを消去することができ、実行データの内容が他人に見られるのを防止することができる。
図6は、連携コアとして起動する第1副コアの機能の一例を示す図である。図6に示す機能は、第1副コア51が、連携オペレーティングシステムプログラムおよび起動プログラムを実行することにより形成される。起動プログラムは、連携プログラムの一部である。図6を参照して、連携コアとして起動する第1副コア51は、連携オペレーティングシステムプログラムを実行するタスクである連携オペレーティング部55Aと、アプリケーションプログラムを実行するタスクである第1アプリ実行部53と、を含む。第1アプリ実行部53は、実行データ取得部71と、実行データ記憶部73と、連携アプリ実行部75と、状態送信部77と、を含む。実行データ取得部71、実行データ記憶部73、連携アプリ実行部75および状態送信部77は、連携コアである第1副コア51が、起動プログラムを実行することにより形成される。
実行データ取得部71は、携帯情報装置200から実行データを取得する。実行データ取得部71には、起動プログラムの引数とし、携帯情報装置200の装置識別情報が与えられ、通信I/F部112を介して、携帯情報装置200に実行データの送信要求を送信する。実行データは、携帯情報装置200が備えるRAM213に記憶されているすべてのデータである。携帯情報装置200は、実行データの送信要求信号を受信すると、実行データを返信するので、実行データ取得部71は、通信I/F部112が受信する実行データを取得する。実行データ取得部71は、取得された実行データを実行データ記憶部73に出力する。携帯情報装置200に、実行データを可逆圧縮して送信させるようにすれば、送信するデータ量を少なくすることができる。
実行データ記憶部73は、実行データを、RAM114の第1副CPU51に割り当てられた第1領域93に記憶する。これにより、携帯情報装置200が備えるRAM213に記憶されているのと同じデータが、RAM114の第1領域93に記憶される。
連携アプリ実行部75は、実行データ記憶部73によって、RAM114に実行データが記憶されると、RAM114に記憶されている実行形式のアプリケーションプログラムを実行する。携帯情報装置200が備えるRAM213に記憶されている実行データは、アプリケーションプログラムの実行形式データと、携帯情報装置200のCPU211がアプリケーションプログラムを実行する際に用いる作業データと、を含む。作業データは、アプリケーションプログラムを実行するタスクが処理対象としているデータ、および作業の内容を示すデータと、を含む。このため、連携アプリ実行部75は、携帯情報装置200で実行されているアプリケーションプログラムを実行し、携帯情報装置200のCPU211が実行している処理と同じ処理を実行する。このため、携帯情報装置200の表示部218に表示されている画像と同じ画像を、表示部161に表示することができる。連携アプリ実行部75は、連携処理の終了を検出すると、終了信号を状態送信部77に出力する。連携アプリ実行部75は、ユーザーが操作部163の備える連携終了指示が割り当てられたボタンが指示されると、連携の終了を検出する。また、通信I/F部112が、連携している携帯情報装置200から連携終了指示を受信すると、連携の終了を検出する。
状態送信部77は、連携アプリ実行部75から終了信号が入力されることに応じて、RAM113の第1領域93に記憶されている作業データを、携帯情報装置200に通信I/F部112を介して送信する。携帯情報装置200においては、作業データを受信すると、受信された作業データで、RAM213に記憶されている作業データを更新する。このため、MFP100において実行された処理を、携帯情報装置200に反映させ、携帯情報装置200においてアプリケーションプログラムを継続して実行させることができる。
このように、連携コアとして機能する第1副コア51において、携帯情報装置200で実行されているオペレーティングシステムプログラムのバージョン以上のバージョンのオペレーティングシステムプログラムが実行され、さらに、携帯情報装置200で実行されているアプリケーションプログラムと同じアプリケーションプログラムが実行される。このため、携帯情報装置200で実行していた処理を、MFP100において継続して実行することができる。さらに、第1副コア51がアプリケーションプログラムを実行することにより第1アプリ実行部53に形成される連携アプリ実行部75と、管理用コア11がアプリケーションプログラムを実行することにより管理用アプリ実行部13に形成されるタスク、または第2副コア61がアプリケーションプログラムを実行することにより第2アプリ実行部63に形成されるタスクとの間で連携した連携処理を実行することができる。この場合、管理用コア11、第1副コア51および第2副コア相互間でのデータの受け渡しは、RAM114が備える共有領域97が用いられる。このため、携帯情報装置200とMFP100との間の連携をスムーズにすることができる。
例えば、携帯情報装置200において、画像を編集するアプリケーションプログラムが実行され、携帯情報装置200において、表示部218に画像が表示されている段階で、MFP100との間で連携すると、携帯情報装置200において処理対象としている画像がRAM213に記憶されているので、RAM114の第2領域にその画像が記憶される。このため、連携アプリ実行部75によって、携帯情報装置200において表示されていた画像と同じ画像が、表示部161に表示される。一方、管理用コア11において、処理を選択する処理を含むアプリケーションプログラムが実行されると、管理用アプリ実行部13に処理を選択するアプリケーションプログラムを実行するタクスが形成され、表示部161にメニュー画面が表示される。このため、表示部161に、連携アプリ実行部75によって携帯情報装置200に表示されていた画像と同じ画像が表示され、管理用アプリ実行部13によってメニュー画面が表示される。連携アプリ実行部75が処理対象とする画像のデータを、管理用アプリ実行部13のタスクに渡す操作をすれば、RAM114の共有領域97を用いて、画像のデータを管理用アプリ実行部13のタスクが処理対象とするデータにすることができる。例えば、画像のデータに、メニュー画面において選択された処理を実行することができる。
図7は、連携操作の一例を示す図である。図7を参照して、表示部161の表示面301に、管理用コア11が表示するメニュー画面311と、携帯情報装置200の外観を示す画像321とを含む。画像321は、連携コアである第1副コア51が画像を編集するアプリケーションプログラムを実行して表示する画像編集画面323を含む。メニュー画面311は、印刷の文字が表されたボタン313と、送信の文字が表されたボタン315と、保存の文字が表されたボタン317と、を含む。ボタン313にはデータの画像を形成する処理が割り当てられ、ボタン315にはデータを送信する処理が割り当てられ、ボタン317にはデータを記憶する処理が割り当てられている。
画像編集画面323は、画像325を含む。画像325は、連携コアである第1副コア51が画像を編集するアプリケーションプログラムを実行し、処理対象とするデータの画像である。ユーザーが指331で、画像325をドラッグして、矢印333で示す軌道で画像325を移動させる様子を示している。この場合、画像325をドラッグされた時点で、ドラッグされた画像325のデータが処理対象に選択され、画像325がボタン313でドロップされると、画像を形成する処理が選択され、画像325のデータの画像を形成する処理が実行される。
図8は、連携処理の流れの一例を示すフローチャートである。連携処理は、MFP100が備えるCPU111の管理用コア11が、ROM113、EEPROM115、HDD166またはCD−ROM119Aに記憶された連携プログラムを実行することにより、管理用コア11により実行される処理である。
図8を参照して、管理用コア11は、連携指示を受け付けたか否かを判断する(ステップS01)。操作部163が備えるキーであって、連携指示が予め割り当てられたキーがユーザーにより指示されると連携指示を受け付ける。連携指示を受け付けるまで待機状態となり、連携指示を受け付けたならば処理をステップS02に進める。
ステップS02においては、携帯情報装置200と連携可能か否かを判断する。連携する相手の装置として携帯情報装置200のネットワークアドレスを予め記憶しており、そのネットワークアドレスを用いて、携帯情報装置200に連携可能か否かを問い合わせるための連携依頼を送信し、許可信号の返信があれば連携可能と判断する。連携可能ならば処理をステップS03に進めるが、そうでなければ処理をステップS18に進める。
ステップS18においては、エラーメッセージを表示し、処理を終了する。処理がステップS02から進む場合のエラーメッセージは、例えば、「連携対象の装置が存在しないため、連携できません。」である。
なお、連携可能な複数の携帯情報装置のネットワークアドレスを予め記憶しておき、複数の携帯情報装置ぞれぞれの装置識別情報をリスト表示し、ユーザーにより選択された装置識別情報の携帯情報装置と通信可能か否かを判断するようにしてもよい。また、ブロードキャストで問い合わせ信号を送信する等して通信可能な携帯情報装置を検索し、検索により検出された通信可能な1以上の携帯情報装置の装置識別情報をリスト表示し、ユーザーにより選択された装置識別情報の携帯情報装置を連携可能な装置として特定するようにしてもよい。
ステップS03においては、機能情報を取得する。連携可能な装置として特定された携帯情報装置200に、機能情報の送信要求信号を通信I/F部112を介して送信し、携帯情報装置200が送信する機能情報を通信I/F部112が受信すると、機能情報を取得する。
次のステップS04においては、第1副コア51および第2副コア61それぞれの能力と、機能情報で特定される能力とを比較する。具体的には、第1副コア51に割り当てられた第1領域93の記憶容量、および第2副コア61に割り当てられた第2領域95の記憶容量それぞれと、機能情報に含まれる携帯情報装置200のRAM213の記憶容量とを比較する。
次のステップS05においては、比較結果に基づいて、第1副コア51および第2副コア61それぞれが能力を満たすか否かを判断する。第1領域93の記憶容量が、機能情報に含まれるRAM213の記憶容量以上ならば第1副コア51が能力を満たすと判断し、RAM213の記憶容量より小さいならば第1副コア51が能力を満たさないと判断する。第2領域95の記憶容量が、機能情報に含まれるRAM213の記憶容量以上ならば第2副コア61が能力を満たすと判断し、RAM213の記憶容量より小さいならば第2副コア61が能力を満たさないと判断する。第1領域93の記憶容量および第2領域95の記憶容量の少なくとも一方が、機能情報に含まれるRAM213の記憶容量以上ならば、処理をステップS06に進めるが、第1領域93の記憶容量および第2領域95の記憶容量のいずれもが、機能情報に含まれるRAM213の記憶容量より小さいならば処理をステップS18に進める。
ステップS18においては、エラーメッセージを表示し、処理を終了する。処理がステップS05から進む場合のエラーメッセージは、例えば、「システムの能力が携帯情報装置の能力を下回っているため、連携できません。」である。
ステップS06においては、ステップS05における能力判断の結果、能力を満たす副コアが複数か否かを判断する。第1副コア51および第2副コア61のいずれもが能力を満たすと能力判断された場合には、処理をステップS07に進めるが、そうでなく、第1副コア51および第2副コア61のいずれか一方が能力を満たすと能力判断された場合には、処理をステップS09に勧める。
ステップS09においては、ステップS05における能力判断の結果、第1副コア51および第2副コア61のうち能力を満たすと判断されたものを連携コアに選択し、処理をステップS10に進める。
ステップS07においては、第1副コア51および第2副コアそれぞれの負荷を比較する。まず、第1副コア51および第2副コア61それぞれにおいて実行可能な状態で常駐しているアプリケーションプログラムを検出する。アプリケーションプログラムごとに、第1副コア51および第2副コア61それぞれの負荷が予め定められているので、第1副コア51および第2副コア61ごとに、検出されたアプリケーションプログラムに基づいて、負荷を算出する。そして、第1副コア51および第2副コア61それぞれにおいて算出された負荷を比較し、処理をステップS08に進める。
ステップS08においては、ステップS07における比較の結果、第1副コア51および第2副コア61のうち負荷の少ないものを、連携コアに選択し、処理をステップS10に進める。ステップS08またはステップS09において、第1副コア51および第2副コア61のいずれか一方が連携コアに選択される。以下、第1副コア51が連携コアに選択された場合を例に説明する。
ステップS10においては、システム情報を取得する。ステップS02において連携可能な装置として特定された携帯情報装置200に、システム情報の送信要求信号を通信I/F部112を介して送信し、携帯情報装置200が送信するシステム情報を通信I/F部112が受信すると、機能情報を取得する。システム情報は、携帯情報装置200が備えるCPU211が実行するオペレーティングシステムプログラムを識別するためのシステム識別情報を含む。システム識別情報は、オペレーションシステムプログラムの種類を示す種別情報と、そのオペレーティングシステムプログラムのバージョンを示すバージョン情報と、を含む。
次のステップS11においては、連携オペレーティングシステムプログラムを決定し、処理をステップS12に進める。MFP100が記憶する複数種類のオペレーティングシステムプログラムのうちから、ステップS10において取得されたシステム情報で特定されるオペレーティングシステムプログラムの種類と同じ種類のオペレーティングシステムプログラムを連携オペレーティングシステムプログラムに決定する。
ステップS12においては、決定された連携オペレーティングシステムプログラムのバージョンを判定し、判定結果に基づいて処理を分岐する。連携オペレーティングシステムプログラムのバージョンが、ステップS10において取得されたシステム情報で特定されるオペレーティングシステムプログラムのバージョン以上ならば処理をステップS13に進めるが、そうでなければ処理をステップS18に進める。
ステップS18においては、エラーメッセージを表示し、処理を終了する。処理がステップS12から進む場合のエラーメッセージは、例えば、「オペレーティングシステムが携帯情報装置と整合しないため、連携できません。」である。
ステップS13においては、第1副コア51および第2副コア61のうち、ステップS08またはステップS09において連携コアに選択されたもの、ここでは、第1副コア51に、連携オペレーティングシステム構成指示を出力する。具体的には、ステップS11において決定された連携オペレーティングシステムプログラムを実行させるために、第1副コア51が起動時に実行するブートプログラムを、連携オペレーティングシステムプログラムを実行するように書き換えた後に、第1副コア51をリセットする。なお、第1副コア51をリセットする前に、第1副コア51において実行されているアプリケーションプログラムを、連携コアとして選択されなかった第2副コア61に実行させる。
ステップS14においては、連携コアにおいて連携オペレーティングシステムの構成が完了したか否かを判断する。具体的には、連携コアである第1副コア51の状態を監視し、連携オペレーティングシステムプログラムの実行が完了し、連携オペレーティングシステムプログラムが常住する状態になったか否かを判断する。連携コアにおいて連携オペレーティングシステムの構成が完了するまで待機状態となり、連携コアにおいて連携オペレーティングシステムの構成が完了したならば処理をステップS15に進める。
ステップS15においては、連携コアに起動プログラムの実行を指示する。具体的には、起動プログラムを実行するコマンドを、連携コアである第1副コア51に出力する。起動プログラムを実行するコマンドは、ステップS02において連携可能と判断された携帯情報装置200の装置識別情報を、含む。これにより、連携コアである第1副コア51において、起動プログラムが実行される。
次のステップS16においては、連携終了指示を検出したか否かを判断する。具体的には、ユーザーが操作部163の備える連携終了指示が割り当てられたボタンが指示されると、連携の終了を検出する。また、通信I/F部112が、連携している携帯情報装置200から連携終了指示を受信すると、連携の終了を検出する。連携終了指示を検出するまで待機状態となり、連携終了指示を検出したならば処理をステップS17に進める。
ステップS17においては、連携コアをリセットし、処理を終了する。具体的には、連携コアである第1副コア51にデフォルトである第1のオペレーティングシステムプログラムを実行させるために、第1副コア51が起動時に実行するブートプログラムを第1のオペレーティングシステムプログラムを実行するように書き換えた後に、第1副コア51にリセット信号を出力する。
図9は、起動処理の流れの一例を示すフローチャートである。起動処理は、連携オペレーティングシステムプログラムを実行する連携コアである第1副コア51が、起動プログラムを実行することにより、第1副コア51により実行される処理である。図9を参照して、第1副コア51は、携帯情報装置200に実行データを要求する(ステップS21)。起動プログラムを実行するコマンドに含まれる装置識別情報から携帯情報装置200を特定し、携帯情報装置200に、通信I/F部112を介して実行データの送信を要求するための実行データの送信要求信号を送信する。実行データは、携帯情報装置200が備えるRAM213に記憶されているすべてのデータである。携帯情報装置200は、実行データの送信要求信号を受信すると、実行データを返信するので、次のステップS22において、通信I/F部112が受信する実行データを取得する。
ステップS22においては、実行データを取得したか否かを判断する。通信I/F部112が実行データを受信するまで待機状態となり、通信I/F部112が実行データを受信したならば処理をステップS23に進める。
ステップS23においては、受信された実行データを、RAM114に記憶する。ここでは、連携コアである第1副コア51に割り当てられた第1領域93に実行データを記憶する。そして、連携アプリを実行する。ステップS24においてRAM114の第1領域93に実行データが記憶されるので、第1領域93に記憶されているアプリケーションプログラムを実行する。携帯情報装置200が備えるRAM213に記憶されている実行データは、実行形式のアプリケーションプログラムのデータと、携帯情報装置200のCPU211がアプリケーションプログラムを実行する際の作業データと、を含む。作業データは、アプリケーションプログラムを実行するタスクが処理対象としているデータ、および作業の内容を示すデータと、を含む。このため、ステップS24においては、携帯情報装置200で実行されているアプリケーションプログラムを実行し、携帯情報装置200のCPU211が実行している処理と同じ処理を実行する。その結果、第1副コア51は、携帯情報装置200の表示部218に表示されている画像と同じ画像を、表示部161に表示することができる。
次のステップS25においては、終了指示を検出したか否かを判断する。ユーザーが操作部163の備える連携終了指示が割り当てられたボタンが指示されると、連携の終了を検出する。また、通信I/F部112が、連携している携帯情報装置200から連携終了指示を受信すると、連携の終了を検出する。連携終了指示を検出したならば処理をステップS26に進めるが、そうでなければ処理をステップS24に戻す。
ステップS26においては、作業データを送信し、処理をステップS27に進める。具体的には、RAM113の第1領域93に記憶されている作業データを、携帯情報装置200に通信I/F部112を介して送信する。携帯情報装置200においては、作業データを受信すると、受信された作業データで、RAM213に記憶されている作業データを更新する。このため、MFP100において実行された処理を、携帯情報装置200に反映させ、携帯情報装置200においてアプリケーションプログラムを継続して実行させることができる。
ステップS27においては、リセット信号が入力されたか否かを判断する。管理用コア11からリセット信号が入力されたならば処理を終了し、そうでなければ処理をステップS24に戻す。
<変形例>
上述した実施の形態においては、連携コアである第1副コア51は、携帯情報装置200か実行データを取得し、RAM114の第1領域93に記憶するようにした。変形例におけるMFPは、連携コアである第1副コア51が、携帯情報装置200からアプリケーションプログラムと、作業データとを受信するようにしたものである。以下、上述したMFP100と異なる点を主に説明する。
図10は、変形例における連携コアとして起動する第1副コアの機能の一例を示す図である。図10に示す機能は、変形例における連携コアとして起動する第1副コア51が、連携オペレーティングシステムプログラムおよび起動プログラムを実行することにより形成される。図10を参照して、変形例における連携コアとして起動する第1副コア51が有する機能は、図6に示した機能と比較して、第1アプリ実行部53に含まれる実行データ取得部71および実行データ記憶部73に代えて、アプリケーション取得部81、インストール部83および作業データ取得部85が追加された点である。その他の機能は、図6に示した機能と同じなのでここでは説明を繰り返さない。
アプリケーション取得部81は、携帯情報装置200からアプリケーションプログラムを取得する。アプリケーション取得部81には、起動プログラムの引数として、携帯情報装置200の装置識別情報が与えられ、通信I/F部112を介して、携帯情報装置200にアプリケーションプログラムの送信要求信号を送信する。携帯情報装置200は、アプリケーションプログラムの送信要求信号を受信すると、アプリケーションプログラムを返信するので、アプリケーション取得部81は、通信I/F部112が受信するアプリケーションプログラムを取得する。携帯情報装置200が送信するアプリケーションプログラムは、携帯情報装置200にインストールされているアプリケーションプログラムのうち、CPU211によって、その時点で実行中のアプリケーションプログラムである。また、携帯情報装置200が送信するアプリケーションプログラムは、実行形式のアプリケーションプログラムではなく、インストール前のソースプログラムである。
アプリケーション取得部81は、取得されたアプリケーションプログラムをRAM114の第1領域93に記憶し、インストール部83にインストール指示をする。携帯情報装置200がアプリケーションプログラムを可逆圧縮して送信すれば、送信するデータ量を少なくすることができる。
インストール部83は、インストール指示が入力されると、RAM114の第1領域93に記憶されたアプリケーションプログラムを、インストールし、インストールが完了すると、連携アプリ実行部75にインストール完了信号を出力する。これにより、第1連携アプリ実行部75においてアプリケーションプログラムを実行可能となる。
作業データ取得部85は、携帯情報装置200から作業データを取得する。作業データ取得部85は、通信I/F部112を介して、携帯情報装置200に作業データの送信要求信号を送信する。作業データは、携帯情報装置200のCPU211がアプリケーションプログラムを実行する際に用いるデータであって、アプリケーションプログラムを実行するタスクが処理対象としているデータ、および作業の内容を示すデータと、を含む。携帯情報装置200は、作業データの送信要求信号を受信すると、作業データを返信するので、作業データ取得部85は、通信I/F部112が受信する作業データを取得する。作業データ取得部85は、取得された作業データを、RAM114の第1領域93に記憶し、連携アプリ実行部75にアプリ実行指示を出力する。これにより、第1連携アプリ実行部75において、作業データに基づいてアプリケーションプログラムが実行される。
連携アプリ実行部75は、作業データ取得部85から実行指示が入力されると、インストール部83によりインストールされ、RAM114に記憶されている実行形式のアプリケーションプログラムを、作業データ取得部85によってRAM114に記憶された作業データに基づいて、実行する。このため、連携アプリ実行部75は、携帯情報装置200で実行されているアプリケーションプログラムを実行し、携帯情報装置200のCPU211が実行している処理と同じ処理を実行する。その結果、携帯情報装置200の表示部218に表示されている画像と同じ画像を、表示部161に表示することができる。
また、携帯情報装置200から受信されたデータであるアプリケーションプログラム、それをインストールした実行形式のアプリケーションプログラムおよび作業データを、第1領域93に記憶するようにしたので、携帯情報装置200との間の連携が終了した後に第1副コア51をリセットした後は、携帯情報装置200から受信されたデータをRAM114から消去することができ、携帯情報装置200から受信されたデータの内容が他人に見られるのを防止することができる。
図11は、変形例における起動処理の流れの一例を示すフローチャートである。変形例における起動処理は、連携オペレーティングシステムプログラムを実行する連携コアである第1副コア51が、変形例における起動プログラムを実行することにより、第1副コア51により実行される処理である。図11を参照して、図9に示した処理と異なる点は、ステップS21〜ステップS23に代えて、ステップS31〜ステップS36が実行される点である。その他の処理は、図9に示した処理と同じなので、ここでは説明を繰り返さない。
第1副コア51は、ステップS31において、携帯情報装置200にアプリケーションプログラムの送信を要求する。起動プログラムを実行するコマンドに含まれる装置識別情報から携帯情報装置200を特定し、携帯情報装置200に、通信I/F部112を介してアプリケーションプログラムの送信を要求するためのアプリケーションプログラムの送信要求信号を送信する。携帯情報装置200は、アプリケーションプログラムの送信要求信号を受信すると、CPU211によって実行中のアプリケーションプログラムを返信するので、次のステップS32において、通信I/F部112が受信するアプリケーションプログラムを取得する。携帯情報装置200が送信するアプリケーションプログラムは、実行形式のアプリケーションプログラムではなく、インストール前のアプリケーションプログラムである。
ステップS32においては、アプリケーションプログラムを受信したか否かを判断する。通信I/F部112がアプリケーションプログラムを受信するまで待機状態となり、通信I/F部112がアプリケーションプログラムを受信したならば、処理をステップS33に進める。
ステップS33においては、受信されたアプリケーションプログラムをRAM114の第1領域93に記憶し、処理をステップS34に進める。ステップS34においては、RAM114の第1領域93に記憶されたアプリケーションプログラムを、インストールする。これにより、第1副コア51においてアプリケーションプログラムを実行可能となる。
次のステップS35においては、携帯情報装置200に作業データの送信を要求する。携帯情報装置200に、通信I/F部112を介して作業データの送信を要求するための作業データの送信要求信号を送信する。携帯情報装置200は、作業データの送信要求信号を受信すると、作業データを返信するので、次のステップS36において作業データを受信する。
ステップS36においては、通信I/F部112が作業データを受信したか否かを判断する。作業データを受信するまで待機状態となり、作業データを受信したならば、作業データを、RAM114の第1領域93に記憶し、処理をステップS24に進める。作業データは、携帯情報装置200のCPU211がアプリケーションプログラムを実行する際に用いるデータであって、アプリケーションプログラムを実行するタスクが処理対象としているデータ、および作業の内容を示すデータと、を含む。このため、作業データがRAM114の第1領域93に記憶されると、第1副コア51において、作業データに基づいてアプリケーションプログラムの実行が可能となる。
ステップS36においてRAM114の第1領域93に作業データが記憶されるので、次のステップS24においては、携帯情報装置200で実行されているアプリケーションプログラムを実行し、携帯情報装置200のCPU211が実行している処理と同じ処理を実行する。このため、第1副コア51は、携帯情報装置200の表示部218に表示されている画像と同じ画像を、表示部161に表示することができる。
以上説明したように本実施の形態におけるMFP100は、画像処理装置として機能し、管理用コア11が、携帯情報装置200で実行されるオペレーティングシステムプログラムに関するシステム情報を取得し、第1副コア51および第2副コア61のうち1つを連携コアとして選択し、連携コアに、携帯情報装置200で実行されるオペレーティングシステムプログラムに対応する第2のオペレーティングシステムプログラム(連携オペレーティングシステムプログラム)を実行させる。このため、携帯情報装置200にインストールされているアプリケーションプログラムと同じアプリケーションプログラムを実行することができる。また、連携コアとして選択された、例えば第1副コア51で、携帯情報装置200により実行されているアプリケーションプログラムを実行するので、携帯情報装置200との間でデータを送受信する必要がなく、携帯情報装置200と連携する処理をスムーズに実行することができる。
また、連携コアとして選択された第1副コア51は、連携オペレーティングシステムプログラムが実行されている状態で、起動アプリケーションプログラムを実行し、携帯情報装置200が備えるCPU211が作業領域として用いるRAM213に記憶されている実行データを取得し、取得された実行データをRAM114の第1副コア51に割り当てられた第1領域93に記憶し、実行データに含まれる実行形式のアプリケーションプログラムを実行する。このため、携帯情報装置200のCPU211が実行していた状態を、第1副コア51で再現することができ、携帯情報装置200で実行されている処理を、第1副コア51で継続して実行することができる。
また、連携コアとして選択された第1副コア51は、携帯情報装置200との間の連携が終了する場合、第1領域93に記憶された作業データを、携帯情報装置200に送信するので、第1副コア51で実行された処理を、携帯情報装置200で継続して実行することができる。
また、管理用コア11は、携帯情報装置200から機能情報を取得し、第1副コア51および第2副コア61のうち取得された機能情報により定まる能力を達成可能なものを連携コアとして選択する。このため、携帯情報装置200で実行されている処理を確実に実行することができる。
また、管理用コア11は、第1副コア51および第2副コア61のいずれもが能力を達成可能な場合、負荷の少ないものを連携コアに選択する。例えば、管理用コア11が第1副コア51を連携コアに選択する場合、連携コアに選択されなかった第2副コア61において、第1副コア51で実行されていたアプリケーションプログラムを実行させるが、負荷の少ない第1副コア51を連携コアに選択するので、第2副コア61で増加する負荷を少なくすることができる。
さらに、管理用コア11は、予め記憶された複数種類のオペレーティングシステムプログラムのうちに、携帯情報装置200のオペレーティングシステムプログラムのバージョン以上のバージョンのオペレーティングシステムプログラムが含まれない場合、連携コアを選択しないので、携帯情報装置200で実行されているアプリケーションプログラムを確実に実行することができる。
さらに、管理用コア11は、携帯情報装置200との間の連携が終了する場合、連携コアとして選択された第1副コア51をリセットし、デフォルトである第1のオペレーティングシステムプログラムを実行させる。このため、連携コアとして選択された第1副コア51において携帯情報装置200にインストールされていたアプリケーションプログラムを実行可能な期間を制限することができる。また、連携コアとして選択された第1副コア51をリセットすることにより、RAM114において第1副コアに割り当てられた第1領域93がリセットされるので、実行データが消去される。このため、実行データが他人に見られるのを防止して、セキュリティを向上させることができる。
さらに、変形例における連携コアとして選択された第1副コア51は、連携オペレーティングシステムプログラムが実行されている状態で、変形例における起動アプリケーションプログラムを実行し、携帯情報装置200にインストールされているアプリケーションプログラムを取得し、インストールするので、携帯情報装置200にインストールされているアプリケーションプログラムを実行させることができる。
また、変形例における連携コアとして選択された第1副コア51は、RAM114において第1副コア51に割り当てられた第1領域93にアプリケーションプログラムをインストールするので、インストールされたアプリケーションプログラムを容易に消去することができる。例えば、第1副コア51が管理用コア11によってリセットされる場合に、第1領域93がリセットされるので、第1領域93に記憶されていたアプリケーションプログラムが消去される。
なお、上述した実施の形態においては、画像処理装置の一例としてMFP100を例に説明したが、図8および図9に示した連携処理、または、図10および図11に示した連携処理をMFP100,100A、100Bそれぞれに実行させる画像形成方法、または、その連携処理をMFP100,100A、100Bそれぞれが備えるCPU111に実行させる連携プログラムとして発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1) 前記複数の演算手段それぞれは、オペレーティングシステムプログラムを実行することによって形成されるオペレーティング手段を含む、請求項1に記載の画像処理装置。
(2) 前記画像処理装置は、前記携帯情報装置と通信する通信手段を、さらに備える、請求項1に記載の画像処理装置。