(57)【要約】      （修正有）【課題】プログラム起動時間を短縮すると共に、操作可能状態へ移行するまでの時間短縮を可能とすることを目的とする。【解決手段】電子機器の起動が開始されると、ＲＯＭからユーザ操作に係わるモジュールのモジュール関係依存情報を読み出して、モジュール関係依存情報に関するモジュールを優先的に起動する。すなわち、ユーザ操作に係わる部分を優先的に起動するが、ＵＩ制御部は、ＵＩ管理部及びＵＩ要求受付部と依存関係があり、ＵＩ管理部が入力装置管理部及び出力装置管理部と依存関係があるので、まず、ＵＩ要求受付部、入力装置管理部、及び出力装置管理部の起動を開始し、ＵＩ要求受付部、入力装置管理部、及び出力装置管理部の全ての起動が完了したところで、ＵＩ管理部の起動を開始する。そして、ＵＩ管理部の起動が終了したところで、ＵＩ制御部の起動を開始して、ＵＩ制御部の起動が終了したところで、ユーザ操作が可能となる。【選択図】図５
2006268377.tif 000002
【特許請求の範囲】
【請求項１】
電子機器の機能を制御するモジュールを複数備え、複数の前記モジュールのプログラムを起動するプログラム起動制御装置であって、
複数のモジュール間の依存関係を表す依存情報のうち、予め定めた特定機能を動作するためのモジュール間の依存関係を表す特定機能依存情報を記憶する記憶手段と、
前記記憶手段に記憶された前記特定機能依存情報に係わる前記プログラムを先行して起動するように制御する制御手段と、
を備えることを特徴とするプログラム起動制御装置。
【請求項２】
前記記憶手段は、前記特定機能依存情報として、操作入力に対する応答機能を有するモジュール間の依存関係を表す操作機能依存情報を記憶することを特徴とする請求項１に記載のプログラム起動制御装置。
【請求項３】
モジュールに変更があった場合に、前記記憶装置に記憶された前記特定機能依存情報を更新する更新手段を更に備えることを特徴とする請求項１に記載のプログラム起動制御装置。
【請求項４】
同一のプログラムを記憶した複数の記憶手段と、
前記複数の記憶手段から並行して前記プログラムを読み出す読出手段と、
前記読出手段によって最も早く読み出しが完了した前記プログラムを起動するように制御する制御手段と、
を備えたプログラム起動制御装置。
【請求項５】
同一のプログラムを記憶した２つの記憶手段と、
一方の前記記憶手段に記憶されたプログラムは先頭から、他方の前記記憶手段に記憶されたプログラムは終端からそれぞれ並列に読み出す読出手段と、
前記読出手段によって読み出されたそれぞれのプログラムを合成して前記プログラムを生成して起動するように制御する制御手段と、
を備えたプログラム起動制御装置。
【請求項６】
複数の機能を制御するモジュールを複数備え、複数の前記モジュールのプログラムを起動するプログラム起動制御方法であって、
複数のモジュール間の依存関係を表す依存情報のうち、予め定めた特定機能を動作するためのモジュール間の依存関係を表す特定機能依存情報を予め記憶しておき、
前記特定機能依存情報を読み出して、前記特定機能依存情報に係わるプログラムを先行して起動することを特徴とするプログラム起動制御方法。
【請求項７】
前記特定機能依存情報が、操作入力に対する応答機能を有するモジュール間の依存関係を表す操作機能依存情報であることを特徴とする請求項６に記載のプログラム起動制御方法。
【請求項８】
モジュールに変更があった場合には、記憶された前記特定機能依存情報を更新することを特徴とする請求項６に記載のプログラム起動制御方法。
【請求項９】
同一のプログラムが記憶された複数の記憶手段から前記プログラムを読み出して起動するプログラム起動制御方法であって、
前記複数の記憶手段から並行して前記プログラムを読み出す読出ステップと、
前記読出ステップで最も早く読み出しが完了した前記プログラムを起動するように制御する制御ステップと、
を含むプログラム起動制御方法。
【請求項１０】
同一のプログラムが記憶された２つの記憶手段から前記プログラムを読み出して起動するプログラム起動制御方法であって、
前記２つの記憶手段のうち、一方の記憶手段に記憶されたプログラムは先頭から、他方の記憶手段に記憶されたプログラムは終端からそれぞれ並列に読み出す読出ステップと、
前記読出ステップで読み出したそれぞれのプログラムを合成して前記プログラムを生成して起動するように制御する制御ステップと、
を含むプログラム起動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム起動制御装置及びプログラム起動制御方法にかかり、特に、ハードディスクやＲＯＭ等の記憶装置に記憶されたプログラムを読み出して起動するプログラム起動制御装置及びプログラム起動制御方法に関する。
【背景技術】
【０００２】
コピー、ファクシミリ、プリンタ等の複数の機能を備えた複合機や、その他の電子機器では、電子機器を構成する各部を制御するための複数のプログラムにより統合的に制御されている。このような電子機器では、電源オン時や再起動時に、メモリなどに記憶された全てのプログラムを読み込み、ユーザの指示に応じて必要なプログラムを実行するように構成されている。
【０００３】
このような電子機器では、電源を入れてから動き出すまでの時間や操作指示してから動作開始するまでの時間が短い方が好ましい。
【０００４】
そこで、特許文献１に記載の技術では、プログラム間の依存関係の情報に基づいてプログラムを起動することによりプログラムを可能な限り平行に起動させて、システム全体の起動時間の短縮を図ることが提案されている。
【０００５】
一方、複数の補助記憶装置を使用してファイルの入出力性能を向上する技術として、ディスクアレイ構成などが一般的に知られている。ディスクアレイで補助記憶装置を構成して複数の装置から並列に入出力動作を行わせることにより、ファイルの入出力性能を向上することができる。例えば、特許文献２に記載の技術では、複数の外部記憶装置にまたがるファイルを管理する際に、それぞれの装置特性を考慮することによって、ファイルの入出力特性を低下させないような管理方法が提案されている。
【０００６】
また、ＯＳ（Operating System）の起動という用途では、特許文献３に記載の技術に、圧縮ＯＳイメージを分割して読み出す方法などが提案されている。
【特許文献１】特開平５−２５０１６８号公報
【特許文献２】特開平５−１９７５９９号公報
【特許文献３】特開平４−２０５４２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の技術では、システム全体のスループットを向上することができるものの、特定の機能部分（例えば、ユーザ操作に係わる機能部分等）についての起動速度は必ずしも向上するものではなく、逆に低下する場合もある。また、システムのモジュール全体の依存関係を記憶しておく必要があり、この情報作成や管理にコストがかかってしまう、という問題がある。
【０００８】
また、特許文献２に記載の技術では、一般的なファイルの読み書きを実現できるような構成をとっているために、ある程度複雑な構造となってしまい、起動用ファイルイメージの読込みという用途では、組み込みの困難さや使用時のオーバヘッドへどが大きくなると考えられる。
【０００９】
また、特許文献３に記載の技術では、１つの装置において読み出しと伸張動作間を並列に行う構成を含むだけであり、特に、特定の機能部分を高速に起動することや複数の補助記憶装置で構成された場合などは考慮されていない。
【００１０】
本発明は、上記事実を考慮して成されたもので、プログラム起動時間を短縮すると共に、操作可能状態へ移行するまでの時間短縮を可能とすることを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために請求項１に記載のプログラム起動制御装置は、電子機器の機能を制御するモジュールを複数備え、複数の前記モジュールのプログラムを起動するプログラム起動制御装置であって、複数のモジュール間の依存関係を表す依存情報のうち、予め定めた特定機能を動作するためのモジュール間の依存関係を表す特定機能依存情報を記憶する記憶手段と、前記記憶手段に記憶された前記特定機能依存情報に係わる前記プログラムを先行して起動するように制御する制御手段と、を備えることを特徴としている。
【００１２】
請求項１に記載の発明によれば、記憶手段には、複数のモジュール間の依存関係を表す依存情報のうち、予め定めた特定機能を動作するためのモジュール間の依存関係を表す特定機能依存情報が記憶される。
【００１３】
そして、制御手段では、記憶手段に記憶された特定機能依存情報に係わるプログラムが先行して起動するように制御される。例えば、請求項２に記載の発明のように、特定機能依存情報として、操作入力に対する応答機能を有するモジュール間の依存情報を表す操作機能依存情報を記憶して、当該操作機能依存情報に係わるプログラムを先行して起動することで、操作入力に直ぐに応答することが可能となる。
【００１４】
これに対して、従来の特許文献１に記載の技術のように可能な限りプログラムを並行して起動した場合には、並行起動中の各モジュール単位でみると、起動時間が長くなってしまう場合もあるが、請求項２に記載の発明では、操作機能依存情報に係わるプログラムのみを先行して起動することで、モジュール単位での起動時間が短縮されるので、操作可能状態へ移行するまでの時間を短縮することが可能となる。
【００１５】
また、全てのモジュールの依存関係を記憶する必要がないので、依存関係の作成や管理コストを削減することができる。
【００１６】
また請求項３に記載の発明ではモジュールに、モジュールをカスタマイズを組み合わせるような場合には、モジュールの交換、追加または削除等の変更があった際に、特定機能依存情報を更新することで、モジュールを自由に入れ替えることが可能となる。なおこの更新は双方向どちらから行ってもよく、更新の時期についてもモジュールの変更時、定期的に、もしくはプログラム起動時のいつ行ってもよい。
【００１７】
請求項４に記載のプログラム起動制御装置は、同一のプログラムを記憶した複数の記憶手段と、前記複数の記憶手段から並行して前記プログラムを読み出す読出手段と、前記読出手段によって最も早く読み出しが完了した前記プログラムを起動するように制御する制御手段と、を備えることを特徴としている。
【００１８】
請求項４に記載の発明によれば、複数の記憶手段には同一のプログラムが記憶され、各記憶手段に記憶されたプログラムは読出手段によって並行して読出される。
【００１９】
また、制御手段では、読出手段によって最も早く読み出しが完了したプログラムを起動するように制御される。
【００２０】
すなわち、同一の記憶手段を用いても、使用状況等によって読み出し速度が異なるので、同一のプログラムを複数の記憶手段に記憶しておいて、最も読み出しが早く完了したプログラムを起動することで、プログラムの読み出し時間を短縮することができる。
【００２１】
従って、このようにプログラムの読み出し時間が短縮されることによって、プログラムの起動を高速に行うことができるので、プログラム起動時間を短縮すると共に、操作可能状態へ移行するまでの時間を短縮することが可能となる。
【００２２】
請求項５に記載のプログラム起動制御装置は、同一のプログラムを記憶した２つの記憶手段と、一方の前記記憶手段に記憶されたプログラムは先頭から、他方の前記記憶手段に記憶されたプログラムは終端からそれぞれ並列に読み出す読出手段と、前記読出手段によって読み出されたそれぞれのプログラムを合成して前記プログラムを生成して起動するように制御する制御手段と、を備えることを特徴としている。
【００２３】
請求項５に記載の発明によれば、２つの記憶手段には同一のプログラムが記憶され、各記憶手段に記憶されたプログラムは読出手段によって読出される。この時、読出手段によるプログラムの読出しは、一方の記憶手段に記憶されたプログラムは先頭から、他方の記憶手段に記憶されたプログラムは終端からそれぞれ並列に読出される。
【００２４】
そして、制御手段では、読出手段によって読み出されたそれぞれのプログラムを合成してプログラムを生成して起動するように制御される。
【００２５】
すなわち、同一のプログラムを２つの記憶手段に記憶しておいて、それぞれの記憶手段から分割して読み出すことで、プログラムの読み出し時間を短縮することができる。
【００２６】
従って、このようにプログラムの読み出し時間が短縮されることによって、プログラムの起動を高速に行うことができるので、プログラム起動時間を短縮すると共に、操作可能状態へ移行するまでの時間を短縮することが可能となる。
【００２７】
請求項６に記載のプログラム起動制御方法は、複数の機能を制御するモジュールを複数備え、複数の前記モジュールのプログラムを起動するプログラム起動制御方法であって、複数のモジュール間の依存関係を表す依存情報のうち、予め定めた特定機能を動作するためのモジュール間の依存関係を表す特定機能依存情報を予め記憶しておき、前記特定機能依存情報を読み出して、前記特定機能依存情報に係わるプログラムを先行して起動することを特徴としている。
【００２８】
請求項６に記載の発明によれば、複数のモジュール間の依存関係を表す依存情報のうち、予め定めた特定機能を動作するためのモジュール間の依存関係を表す特定機能依存情報を予め記憶しておいて、記憶された特定機能依存情報に係わるプログラムを先行して起動するように制御する。例えば、請求項７に記載の発明のように、特定機能依存情報として、操作入力に対する応答機能を有するモジュール間の依存情報を表す操作機能依存情報を記憶して、当該操作機能依存情報に係わるプログラムを先行して起動することで、操作入力に直ぐに応答することが可能となる。
【００２９】
これに対して、従来の特許文献１に記載の技術のように可能な限りプログラムを並行して起動した場合には、並行起動中の各モジュール単位でみると、起動時間が長くなってしまう場合もあるが、請求項６に記載の発明では、操作機能依存情報に係わるプログラムのみを先行して起動することで、モジュール単位での起動時間が短縮されるので、操作可能状態へ移行するまでの時間を短縮することが可能となる。
【００３０】
また、全てのモジュールの依存関係を記憶する必要がないので、依存関係の作成や管理コストを削減することができる。また例えば、請求項８に記載の発明のように、モジュールの交換、追加または削除等の変更があった際に、特定機能依存情報を更新する方法では、モジュールをカスタマイズで組み合わせる場合に、モジュールを自由に入れ替えることが可能となる。なおこの更新は双方向どちらから行ってもよく、更新の時期についてもモジュールの変更時、定期的に、もしくはプログラム起動時のいつ行ってもよい。
【００３１】
請求項９に記載のプログラム起動制御方法は、同一のプログラムが記憶された複数の記憶手段から前記プログラムを読み出して起動するプログラム起動制御方法であって、前記複数の記憶手段から並行して前記プログラムを読み出す読出ステップと、前記読出ステップで最も早く読み出しが完了した前記プログラムを起動するように制御する制御ステップと、を含むことを特徴としている。
【００３２】
請求項９に記載のプログラム起動制御方法によれば、複数の記憶手段に同一プログラムが記憶されており、読出ステップでは複数の記憶手段に記憶された同一プログラムを並行して読み出し、制御ステップでは読出ステップで最も早く読み出しが完了したプログラムを起動するように制御する。
【００３３】
すなわち、同一の記憶手段を用いても、使用状況等によって読み出し速度が異なるので、同一のプログラムを複数の記憶手段に記憶しておいて、最も読み出しが早く完了したプログラムを起動することで、プログラムの読み出し時間を短縮することができる。
【００３４】
従って、このようにプログラムの読み出し時間が短縮されることによって、プログラムの起動を高速に行うことができるので、プログラム起動時間を短縮すると共に、操作可能状態へ移行するまでの時間を短縮することが可能となる。
【００３５】
請求項１０に記載のプログラム起動制御方法は、同一のプログラムが記憶された２つの記憶手段から前記プログラムを読み出して起動するプログラム起動制御方法であって、前記２つの記憶手段のうち、一方の記憶手段に記憶されたプログラムは先頭から、他方の記憶手段に記憶されたプログラムは終端からそれぞれ並列に読み出す読出ステップと、前記読出ステップで読み出したそれぞれのプログラムを合成して前記プログラムを生成して起動するように制御する制御ステップと、を含むことを特徴としている。
【００３６】
請求項１０に記載の発明によれば、２つの記憶手段に同一プログラムが記憶されており、読出ステップでは一方の記憶手段に記憶されたプログラムを先頭から、他方の記憶手段に記憶されたプログラムは終端からそれぞれ並列に読み出し、制御ステップでは読出ステップで読み出したそれぞれのプログラムを合成してプログラムを生成して起動するように制御する。
【００３７】
すなわち、同一のプログラムを２つの記憶手段に記憶しておいて、それぞれの記憶手段から分割して読み出すことで、プログラムの読み出し時間を短縮することができる。
【００３８】
従って、このようにプログラムの読み出し時間が短縮されることによって、プログラムの起動を高速に行うことができるので、プログラム起動時間を短縮すると共に、操作可能状態へ移行するまでの時間を短縮することが可能となる。
【発明の効果】
【００３９】
以上説明したように本発明によれば、プログラム起動時間を短縮すると共に、操作可能状態へ移行するまでの時間短縮が可能となる、という効果がある。
【発明を実施するための最良の形態】
【００４０】
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。
［第１実施形態］
図１は、本発明の第１実施形態に係わる電子機器のハードウエア構成を示すブロック図である。
【００４１】
本発明の第１実施形態に係わる電子機器１０は、ＣＰＵ１２Ａ、ＲＯＭ１２Ｂ、及びＲＡＭ１２Ｃを含むシステム制御部１２によって電子機器１０全体の制御が行われる。
【００４２】
システム制御部１２は、ＵＩ（User Interface）装置１４、記憶装置１６、出力装置１８、及び入力装置２０とバス２２を介して接続されている。
【００４３】
ＵＩ装置１４は、例えば、ディスプレイ等からなり、電子機器１０の種々の情報を表示する機能等を有し、記憶装置１６は、例えば、ハードディスク等の記憶装置からなり、入力装置２０から入力されるデータやアプリケーション等を記憶する。
【００４４】
出力装置１８は、例えば、ハードディスク等に記憶されたデータに基づく画像形成を行う画像形成装置等からなり、入力装置２０は、各種データを入力するインタフェース等からなり、種々の情報を入力可能とされている。
【００４５】
図２は、本発明の第１実施形態に係わる電子機器１０のソフトウエア及びハードウエアを含めた機能構成を示す機能ブロック図である。
【００４６】
システム制御部１２は、図２に示すように、ＵＩ制御部２４、ＵＩ管理部２６、ＵＩ要求受付部２８、ジョブ制御部３０、外部ジョブ受付部３２、入力要求制御部３４、データ制御部３６、出力ジョブ制御部３８、入力装置管理部４０、記憶装置管理部４２、及び出力装置管理部４４等のソフトウエアモジュール（以下、単にモジュールという）を含んで構成されている。なお、各モジュールは、各モジュールのプログラムを起動することで、各モジュールの機能を実行する。
【００４７】
ＵＩ制御部２４はＵＩ装置１４に接続されて、ＵＩ装置１４の制御を行い、入力装置管理部４０は入力装置２０に接続されて、入力装置２０から入力される種々情報の管理を行い、記憶装置管理部４２は記憶装置１６に接続されて、記憶装置１６へのデータ書き込み及び読み出しを管理し、出力装置管理部４４は出力装置１８に接続されて、出力装置１８へのデータ出力管理を行う。
【００４８】
ＵＩ制御部２４はＵＩ管理部２６が入力装置管理部４０と出力装置管理部４４から取得した入力装置２０及び出力装置１８の状態をＵＩ装置１４に表示する等によりユーザに提示し、ユーザからの要求をＵＩ要求受付部２８に送る。
【００４９】
ジョブ制御部３０がジョブ起動可能になった時点で、ＵＩ要求受付部２８はジョブの起動を行って、入力装置管理部４０と入力要求制御部３４を起動することで入力装置２０からの入力を受け付けると共に、出力装置管理部４２と出力ジョブ制御部３８を駆動することで出力装置１８へのデータ出力を可能とし、記憶装置管理部４２とデータ制御部３６を起動することで、一時データを記憶装置管理部４２とデータ制御部３６を介して蓄積する。
【００５０】
また、外部ジョブ受付部３２はユーザからの直接操作以外に遠隔操作等によるジョブ要求を受け付けて、同様に、ジョブ制御部３０のジョブ起動可能時点でジョブ起動を実行する。
【００５１】
なお、機器全体はシステム制御部１２のＣＰＵ１２Ａによって統括的に制御される。
【００５２】
図３（Ａ）には、システム制御部１２に含まれる各モジュールを起動する際のモジュール関係依存情報を示す。
【００５３】
本実施形態では、特定機能に関するモジュールのみのモジュール関係依存情報がＲＯＭ１２Ｂ等に予め記憶されている。
【００５４】
本実施形態では、ユーザ操作に係わるモジュールのモジュール関係依存情報のみを記憶しており、当該モジュール関係依存情報に係わる部分を先行して起動するようになっている。詳細には、ＵＩ制御部２４は、ＵＩ管理部２６及びＵＩ要求受付部２８に接続されているので、図３（Ａ）に示すように、ＵＩ制御部２４は、ＵＩ管理部２６及びＵＩ要求受付部２８と依存関係があると共に、ＵＩ管理部２６が入力装置管理部４０及び出力装置管理部４４に接続されているので、ＵＩ管理部２６は、入力装置管理部４０及び出力装置管理部４４と依存関係にある。そこで、本実施形態では、当該依存関係情報のみを予めＲＯＭ１２Ｂに記憶する。
【００５５】
続いて、上述のように構成された電子機器１０の起動時の処理について説明する。図４は、本発明の第１実施形態に係わる電子機器１０の起動時の処理の流れの一例を示すフローチャートである。
【００５６】
まず始めに、ステップ１００では、モジュール関係依存情報がＲＯＭ１２ＢからＣＰＵ１２Ａによって読み出されてステップ１０２へ移行する。
【００５７】
ステップ１０２では、モジュール関係依存情報に係わるモジュールの起動が行われる。すなわち、ユーザ操作に係わるモジュールの起動が先行して行われる。
【００５８】
次にステップ１０４では、モジュール関係依存情報に係わるモジュールの起動が終了したか否かＣＰＵ１２Ａによって判定され、該判定が肯定されるまで待機してステップ１０６へ移行する。
【００５９】
ステップ１０６では、操作入力が行われたか否かＣＰＵ１２Ａによって判定される。すなわち、入力装置２０を介して操作入力が行われたか否かが判定され、該判定が肯定された場合には、ステップ１０８へ移行して、入力装置２０からの入力が受け付けられてステップ１１０へ移行する。すなわち、入力装置２０及びＵＩ管理部２６介してＵＩ制御部２４に入力情報が入力され、ＵＩ制御部２４の制御によってＵＩ装置１４への表示の制御や、ＵＩ要求受付部２８を介して入力に対する処理が行われる。
【００６０】
一方、ステップ１０６の判定が否定された場合には、そのままステップ１１０へ移行する。
【００６１】
ステップ１１０では、その他のモジュール、すなわち、モジュール関係依存情報に含まれないモジュールの起動が行われてステップ１１２へ移行する。
【００６２】
ステップ１１２では、モジュール関係依存情報に含まれないモジュールの起動が終了したか否かＣＰＵ１２Ａによって判定され、該判定が肯定されるまで待機してステップ１１４へ移行する。
【００６３】
ステップ１１４では、ステップ１０８で受け付けた入力があるか否か判定され、該判定が否定された場合には、そのまま電子機器１０の起動の一連の処理を終了する。
【００６４】
また、ステップ１１４の判定が肯定された場合には、ステップ１１６へ移行して、受け付けた入力に対応する処理が実行されて、電子機器１０の起動の一連の処理を終了する。
【００６５】
ここで、上述の電子機器１０の起動時の処理の流れについて図５（Ａ）を参照して詳細に説明する。
【００６６】
システム制御部１２は、電子機器１０の起動が開始されると、ＲＯＭ１２Ｂから上述のモジュール関係依存情報を読み出して、モジュール関係依存情報に関するモジュールを優先的に起動して、各モジュールの起動を開始する。
【００６７】
すなわち、本実施形態では、ユーザ操作に係わる部分を優先的に起動するが、ＵＩ制御部２４は、ＵＩ管理部２６及びＵＩ受付部２８と依存関係があり、ＵＩ管理部２６が入力装置管理部４０及び出力装置管理部４４と依存関係がある。そこで、本実施形態では、まず、ＵＩ要求受付部２８、入力装置管理部４０、及び出力装置管理部４４の起動を開始し、ＵＩ要求受付部２８、入力装置管理部４０、及び出力装置管理部４４の全ての起動が完了したところで（図５（Ａ）では出力装置管理部４４の起動に一番時間が必要となっているので、出力装置管理部４４が起動が終了したところで）、ＵＩ管理部２６の起動を開始する。なお、本実施形態では、出力装置管理部４４が最も起動に時間がかかる例を示すが、これに限るものではない。
【００６８】
そして、ＵＩ管理部２６の起動が終了したところで、ＵＩ制御部２４の起動を開始して、ＵＩ制御部２４の起動が終了したところで、ユーザ操作が可能となる。
【００６９】
続いて、記憶装置管理部４２、入力要求制御部２８、データ制御部３６、出力ジョブ制御部３８、外部ジョブ受付部３２の順にモジュール関係依存情報の他のモジュールの起動が行われ、外部ジョブ受付部３２の起動が終了した時点で外部ジョブが受付可能となり、最後にジョブ制御部２４の起動が開始されてジョブ制御部２４の起動が終了した時点で全ての機能の受付が可能となる。
【００７０】
これに対して、従来の特許文献１に記載の技術の起動方法を適用して本実施形態の電子機器１０を起動した場合には、図３（Ｂ）に示すように、全てのモジュールに対して依存関係情報を記憶しておき、可能な限り平行に起動するので、図５（Ｂ）に示すように、ＵＩ要求受付部２８、入力装置管理部４０、出力装置管理部４４、記憶装置管理部４２、及び外部ジョブ受付部３２を平行して起動する。図５（Ｂ）に示す例では、まずここで、外部ジョブ受付部３２の起動が完了した時点で外部ジョブ受付が可能となる。
【００７１】
また、図５（Ｂ）に示す例では、入力装置管理部４０の起動完了した時点で入力要求制御部３４の起動を開始し、記憶装置管理部４２の起動が完了した時点でデータ制御部３６の起動を開始し、入力装置管理部４０及び出力装置管理部４４の起動が完了した時点で出力ジョブ制御部３８の起動を開始すると共に、ＵＩ管理部２６の起動を開始する。
【００７２】
そして、ＵＩ管理部２６の起動が完了した時点でＵＩ制御部２４の起動を開始してＵＩ制御部２４の起動が完了した時点でユーザ操作可能となる。
【００７３】
一方、出力ジョブ制御部３８、入力要求制御部３４、及びデータ制御部３６の起動が完了した時点でジョブ制御部３０の起動を開始して、終了した時点で全ての機能の受付が可能となる。
【００７４】
このように、従来の特許文献１に記載の技術では、可能な限り複数のモジュールの起動を開始するので、起動時間を短縮することができる。しかしながら、可能な限り複数のモジュールの起動を並行起動するので、各モジュール単位で見ると、本実施形態に対して各モジュールの起動時間が長くなってしまいうと共に、ユーザ操作の受付を優先的に考えていないので、図５（Ａ）の本実施形態と比較してユーザ操作可能となるまでの時間が長くなってしまう。すなわち、本実施形態の方がユーザ操作可能となるまでの時間を短縮することができる。従って、本実施形態では、操作可能状態へ移行するまでの時間を短縮することができる。
【００７５】
また、本実施形態では、モジュール間の起動順序に対する依存関係の情報量を最小限に抑えることができるので、少ない管理コストで、ユーザ操作に対して早く応答することができる。
【００７６】
なお、上記の実施形態において、モジュールをカスタマイズで組み合わせるような場合には、モジュールの交換、追加または削除等の変更があった際に、記憶しているモジュール関係依存情報を更新するようにしてもよい。このように更新を行うことで、モジュールを自由に入れ替えることが可能となる。この更新は双方向どちらから行ってもよく、更新の時期についてもモジュールの変更時、定期的に、もしくはプログラム起動時のいつ行ってもよい。
［第２実施形態］
続いて、本発明の第２実施形態に係わる電子機器について説明する。図６（Ａ）は、本発明の第２実施形態に係わる電子機器のハードウエア構成を示すブロック図である。
【００７７】
本発明の第２実施形態に係わる電子機器５０は、ＣＰＵ５２Ａ、ＲＯＭ５２Ｂ、及びＲＡＭ５２Ｃを含むシステム制御部５２によって電子機器１０全体の制御が行われる。
【００７８】
システム制御部５２は、例えば、複数の補助記憶装置（本実施形態では、２つの補助記憶装置）５４とバス５６を介して接続されている。なお、複数の補助記憶装置５４Ａ、５４Ｂは、同一の補助記憶装置を複数接続するようにしてもよいし、それぞれ異なる種類の補助記憶装置を接続するようにしてもよい。
【００７９】
複数の補助記憶装置５４には、同一のプログラムが記憶されており、本実施形態では、当該プログラムを起動する際には、ＣＰＵ５２Ａの制御によってＲＡＭ５２Ｃにプログラムが読み出されて起動するようになっている。そして、ＲＡＭ５２Ｃにプログラムを読み出す際には、複数の補助記憶装置５４から並行して同一プログラムの読み出しが開始される。
【００８０】
ここで、本発明の第２実施形態に係わる電子機器５０におけるプログラム起動方法について説明する。
【００８１】
図６（Ｂ）は、本発明の第２実施形態に係わる電子機器５０におけるハードウエア及びソフトウエアを含む機能構成を示す機能ブロック図である。
【００８２】
本実施形態では、複数の補助記憶装置５４には、上述したように同一プログラムが記憶されている。
【００８３】
複数の補助記憶装置５４からＲＡＭ５２Ｃへのプログラムの読み出しは、プログラムロード手段６０によって行われる。プログラムロード手段６０は、例えば、ＯＳ（オペレーティングシステム）のローダーなどのソフトウエアからなり、複数の補助記憶装置５４からＲＡＭ５２Ｃへのプログラムの読み出し、及びＲＡＭ５２Ｃへのプログラムの読み出し完了までを監視するようになっている。
【００８４】
そして、ＲＡＭ５２Ｃにプログラムの読み出し完了した時点でＣＰＵ５２Ａによってプログラムの起動が行われる。
【００８５】
続いて、本発明の第２実施形態に係わる電子機器５０で行われるプログラム起動時の処理の流れについて説明する。図７は、本発明の第２実施形態に係わる電子機器５０で行われるプログラム起動時の処理の流れの一例を示すフローチャートである。
【００８６】
まず始めに、ステップ２００では、ＣＰＵ５２Ａがプログラムロード手段６０を制御することによって、複数の補助記憶装置５４Ａ、５４Ｂに記憶された同一プログラムのＲＡＭ５２Ｃへの読み出しが開始される。
【００８７】
次に、ステップ２０２では、複数の補助記憶装置５４のうち何れかの補助記憶装置５４からのプログラムの読み出しが完了したか否かプログラムロード手段６０によって判定される。該判定が否定された場合には、肯定されるまで待機してステップ２０４へ移行する。すなわち、複数の補助記憶装置５４Ａ、５４Ｂが同種の補助記憶装置を使用していても使用状態や記憶容量等によって読み出し速度が異なるので、何れかの読み出しが終了したか否かを判定する。
【００８８】
ステップ２０４では、何れかの補助記憶装置５４からのプログラムの読み出し完了がＣＰＵ５２Ａに通知されると共に、読込みが完了していない他の補助記憶装置５４からのプログラムの読み出しを停止するように、プログラムロード手段６０によって制御される。なお、この時、途中までＲＡＭ５２Ｃに読み出されたプログラムは削除される。
【００８９】
そして、ステップ２０６では、ＣＰＵ５２ＡによってＲＡＭ５２Ｃに読み出されたプログラムの起動が行われて一連の処理を終了する。
【００９０】
このように、本実施形態では、複数の補助記憶装置５４から同一プログラムを並行して読み出し開始して、最も早く読み出し完了したプログラムを起動することで、プログラムが起動可能となるまでの時間を短縮することができ、ディスクアレイ装置のような複雑な構成を用いることなく、複数の補助記憶装置５４を利用して高速にプログラムを起動することができる。
【００９１】
また、本実施形態では、複数の補助記憶装置５４のうち何れかが故障しても他の補助記憶装置５４からプログラムを読み出して起動することができるので、電子機器５０の信頼性を向上することができる。
【００９２】
従って、このようにプログラムを高速に起動することができるので、操作可能状態へ移行するまでの時間を大幅に短縮することができる。
［第３実施形態］
続いて、第３実施形態に係わる電子機器について説明する。図８は、本発明の第３実施形態に係わる電子機器におけるハードウエア及びソフトウエアを含む機能構成を示す機能ブロック図である。なお、ハードウエア構成については第２実施形態と同一であるので、詳細な説明を省略する。また、ハードウエア及びソフトウエアを含む機能構成については、第２実施形態と同一構成については、同一符号を付して説明する。
【００９３】
本実施形態では、補助記憶装置５４は、２つの補助記憶装置５４Ａ、５４Ｂが接続されているものとする。また、本実施形態では、２つの補助記憶装置５４Ａ、５４Ｂには、第２実施形態と同様に、同一プログラムが記憶されている。
【００９４】
２つの補助記憶装置５４Ａ、５４ＢからＲＡＭ５２Ｃへのプログラムの読み出しは、第２実施形態と同様にプログラムロード手段６０によって行われる。プログラムロード手段６０は、例えば、ＯＳのローダーなどのソフトウエアからなり、２つの補助記憶装置５４からＲＡＭ５２Ｃへのプログラムの読み出し、及びＲＡＭ５２Ｃへのプログラムの読み出し完了までを監視するようになっている。
【００９５】
第１実施形態では、複数の補助記憶装置５４Ａ、５４Ｂから並行して同一プログラムの読み出しを開始して、先に読み出し完了した方のプログラムを起動するようにしたが、本実施形態では、プログラムロード手段６０は、２つの補助記憶装置５４Ａ、５４Ｂの一方の補助記憶装置５４からは、プログラムの先頭からプログラムの読み出しを開始し、他方については、プログラムの終端からプログラムの読み出しを開始する。そして、本実施形態のプログラムロード手段６０は、２つの補助記憶装置５４Ａ、５４Ｂから読み出したそれぞれのプログラムを合成して、元のプログラムを生成した後に、プログラムの起動を行うようになっている。
【００９６】
続いて、本発明の第２実施形態に係わる電子機器で行われるプログラム起動時の処理の流れについて説明する。図９は、本発明の第３実施形態に係わる電子機器で行われるプログラム起動時の処理の流れの一例を示すフローチャートである。
【００９７】
まず始めに、ステップ３００では、プログラムロード手段６０によって、２つの補助記憶装置５４Ａ、５４Ｂの一方の補助記憶装置５４に記憶されたプログラムがアドレスの先頭からＲＡＭ５２Ｃへ読み出し開始されると共に、他方の補助記憶装置５４に記憶されたプログラムがアドレスの終端からＲＡＭ５２Ｃへ読み出し開始される。
【００９８】
続いて、ステップ３０２では、それぞれの補助記憶手段５４Ａ、５４Ｂから読み出されたアドレスの差が１になったか否かプログラムロード手段６０によって判定される。すなわち、２つの補助記憶装置５４Ａ、５４Ｂには同一プログラムが記憶されているので、アドレスの先頭から読み出されたプログラムの読み出し完了したアドレスと、アドレスの終端から読み出されたプログラムの読み出し完了したアドレスの差が１か否かを判定することによって、それぞれの補助記憶装置５４Ａ、５４Ｂから読み出されたプログラムで１つのプログラムを構成できるか否かが判定され、該判定が否定された場合には待機してステップ３０４へ移行する。
【００９９】
ステップ３０４では、２つの補助記憶装置５４Ａ、５４Ｂからのプログラムロードを終了し、それぞれ読み出したプログラムがプログラムロード手段６０によって合成される。すなわち、先頭アドレスから読み出したプログラムと、終端アドレスから読み出したプログラムを合成することによって、２つの補助記憶装置５４Ａ、５４Ｂに記憶されたプログラムと同一のプログラムを生成することができる。
【０１００】
そして、ステップ３０６では、ＣＰＵ５２ＡによってＲＡＭ５２Ｃにロードされたプログラムが起動されて一連の処理を終了する。
【０１０１】
このように、本実施形態では、２つの補助記憶装置５４Ａ、５４Ｃに同一プログラムを記憶しておき、一方の補助記憶装置５４からは先頭アドレスからプログラムを読み出して、他方の補助記憶装置５４からは終端アドレスからプログラムを読み出して、それぞれの補助記憶装置５４Ａ、５４Ｂから読み出したプログラムを合成して元のプログラムと同一プログラムを生成することで、プログラムの読み出し時間を短縮することができ、ディスクアレイ装置のような複雑な構成を用いることなく、２つの補助記憶装置５４を利用して高速にプログラムを起動することができる。
【０１０２】
また、本実施形態においても、第２実施形態と同様に、２つの補助記憶装置５４Ａ、５４Ｂの一方が故障しても、他方から全てのプログラムをＲＡＭ５２Ｃに読み出して起動することができるので、電子機器の信頼性を向上することができる。
【０１０３】
従って、このようにプログラムを高速に起動することができるので、操作可能状態へ移行するまでの時間を大幅に短縮することができる。
【図面の簡単な説明】
【０１０４】
【図１】本発明の第１実施形態に係わる電子機器のハードウエア構成を示すブロック図である。
【図２】本発明の第１実施形態に係わる電子機器のハードウエア及びソフトウエアを含めた機能構成を示す機能ブロック図である。
【図３】（Ａ）は本発明の第１実施形態に係わるモジュール関係依存情報を示す図であり、（Ｂ）は従来技術のモジュール関係依存情報を示す図である。
【図４】本発明の第１実施形態に係わる電子機器の起動時の処理の流れの一例を示すフローチャートである。
【図５】（Ａ）は本発明の第１実施形態に係わる電子機器の各モジュール起動の流れを示す図であり、（Ｂ）は従来技術の各モジュール起動の流れを示す図である。
【図６】（Ａ）は本発明の第２実施形態に係わる電子機器のハードウエア構成を示すブロック図であり、（Ｂ）は本発明の第２実施形態に係わる電子機器におけるハードウエア及びソフトウエアを含む機能構成を示すブロック図である。
【図７】本発明の第２実施形態に係わる電子機器で行われるプログラム起動時の処理の流れの一例を示すフローチャートである。
【図８】本発明の第３実施形態に係わる電子機器におけるハードウエア及びソフトウエアを含む機能構成を示す機能ブロック図である。
【図９】本発明の第３実施形態に係わる電子機器で行われるプログラム起動時の処理の流れの一例を示すフローチャートである。
【符号の説明】
【０１０５】
１０、５０    電子機器
１２    システム制御部
１２Ａ    ＣＰＵ
１２Ｂ    ＲＯＭ
１２Ｃ    ＲＡＭ
１４    ＵＩ装置
１８    出力装置
２０    入力装置
２４    ＵＩ制御部
２６    ＵＩ管理部
２８    ＵＩ要求受付部
４０    入力装置管理部
４４    出力装置管理部
５０    システム制御部
５２Ａ    ＣＰＵ
５２Ｂ    ＲＯＭ
５２Ｃ    ＲＡＭ
５４    補助記憶装置
６０    プログラムロード手段
【図１】
2006268377.tif 000003
【図２】
2006268377.tif 000004
【図３】
2006268377.tif 000005
【図４】
2006268377.tif 000006
【図５】
2006268377.tif 000007
【図６】
2006268377.tif 000008
【図７】
2006268377.tif 000009
【図８】
2006268377.tif 000010
【図９】
2006268377.tif 000011