JP2011043932A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2011043932A JP2011043932A JP2009190676A JP2009190676A JP2011043932A JP 2011043932 A JP2011043932 A JP 2011043932A JP 2009190676 A JP2009190676 A JP 2009190676A JP 2009190676 A JP2009190676 A JP 2009190676A JP 2011043932 A JP2011043932 A JP 2011043932A
- Authority
- JP
- Japan
- Prior art keywords
- cmp
- component
- weighted
- information
- components
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【解決手段】 複合機1にインストールされた複数種類のアプリケーションプログラムを動作させるのに必要な複数のソフトウェアコンポーネントについて、HDD3に、各ソフトウェアコンポーネント20の起動順位に関する重み付き依存情報23を保持し、起動部11は、HDD3に保持している各ソフトウェアコンポーネント20の重み付き依存情報23に基づいて各コンポーネントの起動順位を決定し、その決定した起動順位に従って各コンポーネントをそれぞれ起動する。
【選択図】 図1
Description
また、システム起動時に最初に起動するアプリを「優先アプリ」に設定すれば、その優先アプリで実現される機能を最初に表示することができ、その優先アプリを設定により変更することができるが、特に、主電源投入(主電源ON)から優先アプリの起動が完了するまでの時間はより短くすることが期待される。
また、上記重み付き依存情報について、初期化に時間のかかる下位のソフトウェアコンポーネントに対する重み付き依存情報の重みを、その他の下位のソフトウェアコンポーネントに対する重み付き依存情報の重みよりも大きくするとよい。
また、上記重み付き依存情報について、起動しなくても上位のソフトウェアコンポーネントの基本機能を実現できる下位のソフトウェアコンポーネントに対する重み付き依存情報の重みを、その他のソフトウェアコンポーネントに対する重み付き依存情報の重みよりも小さくするとよい。
さらに、上記下位のソフトウェアコンポーネントを、上記上位のソフトウェアコンポーネントの関連する付加機能として選択されるまでは起動しないようにするとよい。
さらにまた、コンポーネントのインストール,アンインストール,又はバージョンアップのタイミングで、上記保存手段に保存された起動順位を再決定して保存し直す手段を設けるとよい。
〔実施例〕
図1は、この発明の情報処理装置の一実施例である複合機の機能構成を示すブロック図である。
この複合機1は、スキャナ,プリンタ,コピー(複写)の各機能を備えた画像形成装置であり、CPUによって実現される制御部2と、大容量の記憶装置であるハードディスク装置(HDD)3と、制御部2が実行するプログラムを記憶したROM、及び制御部2がROMのプログラムを実行する際に作業領域として使用するRAMのメモリ4と、ユーザが各種の操作情報を入力すると共に、ユーザに各種の作業画面やメッセージを表示する操作部5と、原稿の画像を読み取るスキャナユニット6と、画像データに基づく画像を用紙に印刷するプロッタユニット7と、インターネット,ローカルエリアネットワーク,公衆回線を含むネットワークと通信を行う通信ユニット8を備えている。
コンポーネント管理部10は、起動部11,インストール部12,アンインストール部13,バージョンアップ部14の各機能を果たす。
起動部11は、システム起動時、この複合機1に搭載されている複数のソフトウェアコンポーネントをその起動順位に従って起動させる制御を司る。
インストール部12は、この複合機1のシステムにコンポーネントをインストールする制御を司る。
アンインストール部13は、この複合機1のシステムにインストールされたコンポーネントをアンインストールする制御を司る。
バージョンアップ部14は、この複合機1のシステムにインストールされたコンポーネントをバージョンアップする制御を司る。
各コンポーネント20は、そのコンポーネントの機能を実現するプログラム21と、名称,開発元情報,重み付き依存情報23を含む属性情報22と、設定値24を含む。
起動順位情報25は、起動部11が各コンポーネント20の重み付き依存情報23から決定した各コンポーネント20の起動順位である。
優先アプリ設定情報26は、この複合機1のシステム起動時に優先して起動する(最初に起動して最も早い段階で利用可能にする)アプリを示す情報である。
例えば、コンポーネントAが動作するためにはコンポーネントBが必要である場合、コンポーネントAとBには依存関係があり、コンポーネントAはコンポーネントBに依存しているという。
システム起動時には、コンポーネントBがコンポーネントAより先に起動していることが望ましい。このような依存関係を示すデータを依存情報と呼ぶ。
各コンポーネント間の依存関係は、依存する側のコンポーネント(上述の例ではコンポーネントA)の仕様により決定されるものであるため、依存情報は依存する側のコンポーネントの属性情報の1つである。
そして、全てのコンポーネントが保持する依存情報に基づいて各コンポーネントの依存関係をグラフで示すことができる。
図2は、図1に示す複合機1で実行するコピーアプリケーションプログラム(以下「コピーアプリ」と略称する)を動作させるのに必要な各コンポーネントの依存関係を示すグラフの図である。
コピーアプリケーションUI・CMP(以下「コピーアプリUI・CMP」と略称する)30は、この複合機1におけるコピー機能のユーザインターフェースであり、コピー動作の際の読取UI・CMP32,印刷UI・CMP33,蓄積UI・CMP34間を連携させる制御を行う。
コピーアプリケーションCMP(以下「コピーアプリCMP」と略称する)31は、読取UI・CMP32,印刷UI・CMP33,蓄積UI・CMP34の各コンポーネントを利用してコピー機能を実現する制御を行う。
印刷UI・CMP33は、印刷のパラメータ設定を行うためのユーザインターフェースの制御を行う。
蓄積UI・CMP34は、画像蓄積のパラメータ設定を行うためのユーザインターフェースの制御を行う。
UI制御CMP35は、コピーアプリUI・CMP30,読取UI・CMP32,印刷UI・CMP33,蓄積UI・CMP34の各UIコンポーネントを統括し、操作部CMP39を利用して操作部5に各種の作業画面とメッセージの表示と、ユーザからの各種の操作情報の入力を実現する制御を行う。
印刷CMP37は、エンジンCMP40の制御を介してプロッタユニット7を動作させて、メモリ4上の画像データを用紙に印刷する制御を行う。
蓄積CMP38は、HDD・CMP42の制御を介して、メモリ4上の画像データをHDD3に蓄積する制御を行う。
操作部CMP39は、操作部5の入力及び表示のデバイス制御を行う。
エンジンCMP40は、スキャナユニット6,プロッタユニット7の駆動制御を行う。
メモリCMP41は、メモリ4へのデータの読み書きのメモリ管理の制御を行う。
HDD・CMP42は、HDD3へのデータの読み書きの制御を行う。
図2に示すコピーアプリを動作させるために必要な各コンポーネントの場合、依存関係を示すグラフの末端に位置する下位のコンポーネントは、操作部CMP39,エンジンCMP40,メモリCMP41,HDD・CMP42であるから、それらの各コンポーネントを最初に起動し、それらの各コンポーネントについてそれぞれ依存関係を逆にたどるように上位のコンポーネントを順次起動していく。その際、複数のコンポーネントに依存するコンポーネントについては、それらの依存する全てのコンポーネントよりも後に起動する。例えば、読取UI・CMP32は、UI制御CMP35と読取CMP36より後に起動し、コピーアプリCMP32は、読取CMP36,印刷CMP37,蓄積CMP38より後に起動する。
この複合機1では、上記各依存関係に重みを持たせ、その重みに基づいて各コンポーネントの起動順位を決定することにより、起動時間の短縮や優先起動を実現している。
その重みとは、各コンポーネントの依存関係の起動に関する優先順位を表す値であり、値が大きいほど優先順位が高いものとする。
重みは、依存する側のコンポーネントが保持する重み付き依存情報23に付与する。
上述の参考技術では、コンポーネント起動順位の決定方法において、依存関係に重みを付けていない場合であり、これは、全ての依存関係の重みが等しいということである。
重み付き依存情報23は、依存する側のコンポーネントの属性情報として、例えば、図3に示すようなXMLファイルで定義するとよい。
このXMLファイルでは、2行目の<name>タグが対象コンポーネントの名称を表しており、この例はコピーアプリケーションUI・CMPの重み付き依存情報である。
コピーアプリケーションUI・CMPが依存するコンポーネントは、<dependencies>タグ(3行目)の子要素<dependency>のリストとして定義する。4〜7行目では、コピーアプリケーションCMPへの重み付き依存情報が定義され、5行目の<weight>タグで重みが「1」であることを表現している。
8〜11行目でも、同様にして、UI制御CMPへの重み付き依存情報で重みが「2」に定義されている。
起動部11は、各アプリケーションプログラム毎に、そのアプリを動作させるのに必要な複数のコンポーネント(CMP)について、ステップ(図中「S」で示す)1で、HDDの全CMPの重み付き依存情報を参照し、ステップ2で、他のどのCMPからも依存されないCMPの得点を「0」に設定し、ステップ3で、得点計算の終わったCMPだけから依存されるCMPを探し、ステップ4で、探し出したCMPについて依存元CMPの得点と重み付き依存情報から得点を計算し、ステップ5で、全CMPの得点計算を終了したか否かを判断し、終了しなければ、ステップ3へ戻って、次のCMPについての得点計算を実施し、ステップ5の判断で、全CMPの得点計算を終了したら、この処理を終了する。
ここでは、コンポーネント管理部10の起動部11における起動順位の決定アルゴリズムの説明を分かり易くするため、コピーアプリケーションを動作させるために必要な各コンポーネントである、コピーアプリUI・CMP30,コピーアプリCMP31,読取UI・CMP32,印刷UI・CMP33,蓄積UI・CMP34,UI制御CMP35,読取CMP36,印刷CMP37,蓄積CMP38,操作部CMP39,エンジンCMP40,メモリCMP41,HDD・CMP42の各重み付き依存情報の重みを全て同じ値の「1」にした場合を例にしている。
この図では、各コンポーネントを表す矩形内に、そのコンポーネントの得点を括弧書きで記載し、その得点に基づいて決定された起動順位を矩形枠で記載している。
まず、コピーアプリケーションを動作させるために必要な各コンポーネントである、コピーアプリUI・CMP30,コピーアプリCMP31,読取UI・CMP32,印刷UI・CMP33,蓄積UI・CMP34,UI制御CMP35,読取CMP36,印刷CMP37,蓄積CMP38,操作部CMP39,エンジンCMP40,メモリCMP41,HDD・CMP42の内、どのコンポーネントからも依存されないコンポーネント、すなわち、依存の起点となるコンポーネントとして、コピーアプリUI・CMP30を選択し、その得点を「0」に設定する。
得点計算の方法としてはこれに限るものではなく、重みの値を0.5〜1.5の間として、依存元のコンポーネントの得点に掛けた値の合計を、依存されるコンポーネントの得点としてもよい。
次に、各コンポーネントの得点について説明する。
〔1〕コピーアプリUI・CMP30は、各コンポーネントの依存の起点となるコンポーネントとして得点(0)である。
〔2〕コピーアプリCMP31は、コピーアプリUI・CMP30からのみ依存され、コピーアプリUI・CMP30の得点(0)にコピーアプリUI・CMP30の重み付き依存情報の重み(1)を加算し、得点(1)となる。
〔3〕読取UI・CMP32は、コピーアプリUI・CMP30からのみ依存され、コピーアプリUI・CMP30の得点(0)にコピーアプリUI・CMP30の重み付き依存情報の重み(1)を加算し、得点(1)となる。
〔5〕蓄積UI・CMP34は、コピーアプリUI・CMP30からのみ依存され、コピーアプリUI・CMP30の得点(0)にコピーアプリUI・CMP30の重み付き依存情報の重み(1)を加算し、得点(1)となる。
〔6〕UI制御CMP35は、コピーアプリUI・CMP30,読取UI・CMP32,印刷UI・CMP33,蓄積UI・CMP34の4つのコンポーネントから依存され、コピーアプリUI・CMP30の得点(0)にコピーアプリUI・CMP30の重み付き依存情報の重み(1)を加算した値(1)と、読取UI・CMP32の得点(1)に読取UI・CMP32の重み付き依存情報の重み(1)を加算した値(2)と、印刷UI・CMP33の得点(1)に印刷UI・CMP33の重み付き依存情報の重み(1)を加算した値(2)と、蓄積UI・CMP34の得点(1)に蓄積UI・CMP34の重み付き依存情報の重み(1)を加算した値(2)とを合計し、得点(7)となる。
〔8〕印刷CMP37は、コピーアプリCMP31と印刷UI・CMP37の2つのコンポーネントから依存され、コピーアプリCMP31の得点(1)にコピーアプリCMP31の重み付き依存情報の重み(1)を加算した値(2)と、印刷UI・CMP33の得点(1)に印刷UI・CMP33の重み付き依存情報の重み(1)を加算した値(2)とを合計し、得点(4)となる。
〔10〕操作部CMP39は、UI制御CMP35のみに依存され、UI制御CMP35の得点(7)にUI制御CMP35の重み付き依存情報の重み(1)を加算し、得点(8)となる。
〔11〕エンジンCMP40は、読取CMP36と印刷CMP37の2つのコンポーネントから依存され、読取CMP36の得点(4)に読取CMP36の重み付き依存情報の重み(1)を加算した値(5)と、印刷CMP37の得点(4)に印刷CMP37の重み付き依存情報の重み(1)を加算した値(5)とを合計し、得点(10)となる。
〔13〕HDD・CMP42は、蓄積CMP38のみから依存され、蓄積CMP38の得点(4)に蓄積CMP38の重み付き依存情報の重み(1)を加算し、得点(5)となる。
そして、起動順位は、上述のようにして求めたコンポーネントの得点の高い方から降順にする。
また、得点が同じであり、互いに依存関係がないコンポーネントである、読取CMP36,印刷CMP37,蓄積CMP38の3つのコンポーネントを並行に起動してもよいので、それぞれ起動順位を「6番」にする。
さらに、同じく得点が同じであり互いに依存関係がない、コピーアプリCMP31,読取UI・CMP32,印刷UI・CMP33,蓄積UI・CMP34の4つのコンポーネントの起動順位「7番」とする。
そして、最も得点の少ないコピーアプリUI・CMP30を最後の起動順位「8番」とする。
そこで、以降で説明する実施例の各コンポーネントの起動順位の決定アルゴリズムでは、各コンポーネントに付与する重みをうまく設定することにより、アプリケーションプログラムの実行に必要な互いに依存関係にある複数のコンポーネントを起動する際、依存の重みが大きいコンポーネントから順に効率よく起動することにより、アプリケーションが操作可能になるまでの時間を大幅に短縮することができる。
また、依存関係のないコンポーネントは並行に起動しても互いの起動に影響を及ぼさないので、例えば、起動順位「1番」のメモリCMP41と、起動順位「2番」のエンジンCMP40の間には依存関係がないから、メモリCMP41の起動完了を待たずして、エンジンCMP40を並行に起動してもよい。
さらに、各コンポーネントが保持する重み付き依存情報に基づいて汎用的なアルゴリズムで各コンポーネントの起動順位を決定する仕組みを備えたことにより、任意のコンポーネントをインストール又はアンインストールしても、起動順位を簡単に再構成することができる。
そのようなコンポーネントはなるべく早い段階で起動しておくことで、システム全体の起動時間をより短縮することができる。
そこで、初期化に時間のかかる下位のコンポーネントに対する重み付き依存情報の重みを、その他の下位のコンポーネントに対する重み付き依存情報の重みよりも大きくすることで、この制御を実現する。
この例では、操作部CMP39,エンジンCMP40,HDD・CMP42の各コンポーネントに対する依存により重みを付けるため、UI制御CMP35の操作部CMP39に対する重み付き依存情報の重みと、読取CMP36のエンジンCMP40に対する重み付き依存情報の重みと、印刷CMP37のエンジンCMP40に対する重み付き依存情報の重みと、蓄積CMP38のHDD・CMP42に対する重み付き依存情報の重みを、それぞれ「5」にしている。その他のコンポーネントの各重み付き依存情報の重みは上述と同じように「1」のままにしている。
コピーアプリUI・CMP30,コピーアプリCMP31,読取UI・CMP32,印刷UI・CMP33,蓄積UI・CMP34,UI制御CMP35,読取CMP36,印刷CMP37,蓄積CMP38の得点は、上述の図5に示した値と同じなので、説明を省略する。
〔1〕操作部CMP39は、UI制御CMP35のみに依存され、UI制御CMP35の得点(7)にUI制御CMP35の重み付き依存情報の重み(5)を加算し、得点(12)となる。
〔2〕エンジンCMP40は、読取CMP36と印刷CMP37の2つのコンポーネントから依存され、読取CMP36の得点(4)に読取CMP36のエンジンCMP40に対する重み付き依存情報の重み(5)を加算した値(9)と、印刷CMP37の得点(4)に印刷CMP37のエンジンCMP40に対する重み付き依存情報の重み(5)を加算した値(9)とを合計し、得点(18)となる。
〔4〕HDD・CMP42は、蓄積CMP38のみから依存され、蓄積CMP38の得点(4)に蓄積CMP38のHDD・CMP42に対する重み付き依存情報の重み(5)を加算し、得点(9)となる。
以下、起動順位「6番」「7番」「8番」は上述の場合と同じである。
このようにして、初期化に時間のかかるHDD・CMP42の起動順位を、初期化に時間のかからないUI制御CMP35よりも先に起動することができ、起動時間をより短縮することができる。
つまり、いち早くユーザ操作が可能な状態にして、設定等を入力している間に他のコンポーネントの初期化を行うのである。
また、コピーアプリUI・CMP30,読取UI・CMP32,印刷UI・CMP33,蓄積UI・CMP34は、それぞれ対応するロジックコンポーネントであるコピーアプリCMP31,読取CMP36,印刷CMP37,蓄積CMP38に必ず依存するが、それらの重み付き依存情報の重みを他よりも小さくすることで、ロジックコンポーネントの遅延起動を実現する。
この例では、コピーアプリUI・CMP30のUI制御CMP35,読取UI・CMP32,印刷UI・CMP33,蓄積UI・CMP34に対する各重み付き依存情報の重みをそれぞれ「2」にし、コピーアプリCMP31に対する重み付き依存情報の重みは「−2」にしている。
また、読取UI・CMP32については、UI制御CMP35に対する重み付き依存情報の重みを「2」にし、読取CMP36に対する重み付き依存情報の重みを「−2」にしている。
また、蓄積UI・CMP34については、UI制御CMP35に対する重み付き依存情報の重みを「2」にし、蓄積CMP38に対する重み付き依存情報の重みを「−2」にしている。
さらに、UI制御CMP35については、操作部CMP39に対する重み付き依存情報の重みを「2」にしている。
その他は上述と同じように「1」のままである。
〔1〕コピーアプリUI・CMP30は、各コンポーネントの依存の起点となるコンポーネントとして得点(0)である。
〔2〕コピーアプリCMP31は、コピーアプリUI・CMP30からのみ依存され、コピーアプリUI・CMP30の得点(0)にコピーアプリUI・CMP30のコピーアプリCMP31に対する重み付き依存情報の重み(−2)を加算し、得点(−2)となる。
〔3〕読取UI・CMP32は、コピーアプリUI・CMP30からのみ依存され、コピーアプリUI・CMP30の得点(0)にコピーアプリUI・CMP30の読取UI・CMP32に対する重み付き依存情報の重み(2)を加算し、得点(2)となる。
〔4〕印刷UI・CMP33は、コピーアプリUI・CMP30からのみ依存され、コピーアプリUI・CMP30の得点(0)にコピーアプリUI・CMP30の印刷UI・CMP33に対する重み付き依存情報の重み(2)を加算し、得点(2)となる。
〔6〕UI制御CMP35は、コピーアプリUI・CMP30,読取UI・CMP32,印刷UI・CMP33,蓄積UI・CMP34の4つのコンポーネントから依存され、コピーアプリUI・CMP30の得点(0)にコピーアプリUI・CMP30のUI制御CMP35に対する重み付き依存情報の重み(2)を加算した値(2)と、読取UI・CMP32の得点(2)に読取UI・CMP32のUI制御CMP35に対する重み付き依存情報の重み(2)を加算した値(4)と、印刷UI・CMP33の得点(2)に印刷UI・CMP33のUI制御CMP35に対する重み付き依存情報の重み(2)を加算した値(4)と、蓄積UI・CMP34の得点(2)に蓄積UI・CMP34のUI制御CMP35に対する重み付き依存情報の重み(2)を加算した値(4)とを合計し、得点(14)となる。
〔8〕印刷CMP37は、コピーアプリCMP31と印刷UI・CMP37の2つのコンポーネントから依存され、コピーアプリCMP31の得点(−2)にコピーアプリCMP31の印刷CMP37に対する重み付き依存情報の重み(1)を加算した値(−1)と、印刷UI・CMP33の得点(2)に印刷UI・CMP33の印刷CMP37に対する重み付き依存情報の重み(−2)を加算した値(0)とを合計し、得点(−1)となる。
〔10〕操作部CMP39は、UI制御CMP35のみに依存され、UI制御CMP35の得点(14)にUI制御CMP35の操作部CMP39に対する重み付き依存情報の重み(2)を加算し、得点(16)となる。
〔11〕エンジンCMP40は、読取CMP36と印刷CMP37の2つのコンポーネントから依存され、読取CMP36の得点(−1)に読取CMP36のエンジンCMP40に対する重み付き依存情報の重み(1)を加算した値(0)と、印刷CMP37の得点(−1)に印刷CMP37のエンジンCMP40に対する重み付き依存情報の重み(1)を加算した値(0)とを合計し、得点(0)となる。
〔13〕HDD・CMP42は、蓄積CMP38のみから依存され、蓄積CMP38の得点(−1)に蓄積CMP38のHDD・CMP42に対する重み付き依存情報の重み(1)を加算し、得点(0)となる。
つまり、最も多い得点(16)の操作部CMP39の起動順位を「1番」にし、以下、起動順位「2番」をUI制御CMP35にする。
また、得点が同じであり、互いに依存関係がないコンポーネントである、読取CMP36,印刷CMP37,蓄積CMP38の3つのコンポーネントを並行に起動してもよいので、それぞれ起動順位を「3番」にする。
さらに、同じく得点が同じである、コピーアプリUI・CMP30,エンジンCMP40,メモリCMP41,HDD・CMP42の4つのコンポーネント(エンジンCMP40,メモリCMP41,HDD・CMP42については、互いに依存関係がない)の起動順位を「4番」とする。
そして、最も得点の少ないコピーアプリCMP31を最後の起動順位「6番」とする。
こうして、UIコンポーネントが依存するロジックコンポーネントの起動を、UIコンポーネントの起動よりも遅延させ、UIコンポーネントがロジックコンポーネントの機能を使う必要がある場合、ロジックコンポーネントの起動完了を待つようにする。
例えば、利用者がUIでの各設定を完了し、コピージョブ実行開始のためのスタートキーを押下した際に、コピーアプリCMP31の起動が完了していなかったとすると、これが完了するまで待機する。
このようにして、操作部CMP39をいち早く起動してユーザ操作が可能な状態にするので、ユーザが操作可能になるまでの時間を短縮することができる。
例えば、コピーアプリケーションにおいては、蓄積機能が使えない状態でも、プロッタに印刷する基本機能は動作可能である。
このようなケースでは、付加機能に関連する下位のコンポーネントに対する依存の重みを、他の下位のコンポーネントへの依存の重みよりも小さくする。
すなわち、起動しなくても上位のソフトウェアコンポーネントの基本機能を実現できる下位のソフトウェアコンポーネントに対する重み付き依存情報の重みを、その他のソフトウェアコンポーネントに対する重み付き依存情報の重みよりも小さくすることにより、下位のコンポーネントの起動を待たずして、基本機能の利用を可能にすることができる。
この例では、コピーアプリUI・CMP30の蓄積UI・CMP34に対する重み付き依存情報の重みを「−2」にし、コピーアプリCMP31の蓄積CMP38に対する重み付き依存情報の重みを「−2」にし、その他の重み付き依存情報の重みを「1」のままにしている。
コピーアプリUI・CMP30,コピーアプリCMP31,読取UI・CMP32,印刷UI・CMP33,UI制御CMP35,読取CMP36,印刷CMP37,操作部CMP39,エンジンCMP40の得点は、上述の図5に示した値と同じなので、説明を省略する。
〔1〕蓄積UI・CMP34は、コピーアプリUI・CMP30からのみ依存され、コピーアプリUI・CMP30の得点(0)にコピーアプリUI・CMP30の蓄積UI・CMP34に対する重み付き依存情報の重み(−2)を加算し、得点(−2)となる。
〔2〕蓄積CMP38は、コピーアプリCMP31と蓄積UI・CMP34の2つのコンポーネントから依存され、コピーアプリCMP31の得点(1)にコピーアプリCMP31の蓄積CMP38に対する重み付き依存情報の重み(−2)を加算した値(−1)と、蓄積UI・CMP34の得点(−2)に蓄積UI・CMP34の蓄積CMP38に対する重み付き依存情報の重み(1)を加算した値(−1)とを合計し、得点(−2)となる。
〔4〕HDD・CMP42は、蓄積CMP38のみから依存され、蓄積CMP38の得点(−2)に蓄積CMP38のHDD・CMP42に対する重み付き依存情報の重み(1)を加算し、得点(−1)となる。
そして、起動順位は、上述のようにして求めたコンポーネントの得点の高い方から降順にする。
また、得点が同じであり、互いに依存関係がないコンポーネントである、読取CMP36と印刷CMP37の2つのコンポーネントを並行に起動してもよいので、それぞれ起動順位を「5番」にする。
さらに、同じく、コピーアプリCMP31,読取UI・CMP32,印刷UI・CMP33の3つのコンポーネントの起動順位を「6番」とする。
また、コピーアプリUI・CMP30の起動順位を「7番」とする。
そして、最も得点の少ないHDD・CMP42を最後の起動順位「8番」とする。
また、蓄積の機能が選択された場合は、蓄積に関連するコンポーネントの起動完了を待つようにする。
ところで、基本機能実行に必要ないコンポーネントの起動を遅延させることで起動時間の短縮は実現できるが、基本機能のUI操作から実行までと並行して遅延されたコンポーネントが起動するため、起動直後のシステム負荷は高い状態となり、システム性能(例えば、コピー性能)に影響を与える恐れがある。
そのようなシステム性能への影響を低減するために、上記例で負の点数の得点となったコンポーネント、すなわち、蓄積UI・CMP34,蓄積CMP38,HDD・CMP42の各コンポーネントは、システム起動時に起動しないようにするとよい。
そして、それらのコンポーネントは、コピーアプリ(UI)で蓄積の機能が選択された時に起動するようにする。
すなわち、下位のソフトウェアコンポーネントは、上位のソフトウェアコンポーネントの関連する付加機能として選択されるまでは起動しないようにするとよい。
このようにして、上位のコンポーネントの基本機能が利用可能になるまでの時間を短縮することができる。また、使用されない付加機能を起動しないので、メモリ効率が向上する。
この複合機1にインストールされた複数種類のアプリケーションの中から、システム起動時や一定期間ユーザ操作がなかった場合に表示されるアプリケーションを選択して記憶させておくことができ、これを優先アプリ設定と呼ぶ。
そして、優先アプリ設定されたアプリケーションを動作させるために必要なコンポーネントを先に起動することにより、システム起動時に優先アプリが利用可能になるまでの時間を短縮することができる。
図9は、図1に示す複合機1にインストールされたコピーアプリとスキャナアプリの2種類のアプリを動作させるのに必要な各コンポーネントの依存関係を示すグラフの図である。
図10は、図1に示す複合機1にインストールされたコピーアプリとスキャナアプリの2種類のアプリを動作させる際、コピーアプリが優先設定された場合に先に起動するコンポーネントを示すグラフの図である。
操作部5からユーザによりシステム起動時に最初に起動するアプリケーションとしてコピーアプリが設定された場合、起動部11は、コピーアプリとスキャナアプリの動作に必要な各コンポーネントの内、優先アプリ設定されたコピーアプリを動作させるために必要なコピーアプリケーションUI・CMP30を依存の起点とし、その依存の起点としたコピーアプリケーションUI・CMP30と依存する31〜42の各コンポーネントとについてそれぞれの重み付き依存情報に基づいて、上述のようにして起動順位を決定し、依存の起点としたコピーアプリケーションUI・CMP30とそれに依存する31〜42の各コンポーネントとを、その他の50〜54の各コンポーネントよりも先に起動する。
一方、優先アプリ設定としてスキャナアプリが選択された場合の例を示す。
図11は、図1に示す複合機1にインストールされたコピーアプリとスキャナアプリの2種類のアプリを動作させる際、スキャナアプリが優先設定された場合に先に起動するコンポーネントを示すグラフの図である。
このようにして、ユーザが頻繁に利用するアプリとして優先アプリ設定したアプリの起動時間を短縮することができる。
しかし、上記決定した各コンポーネントの起動順位は、システムにインストールされたコンポーネントの構成や、優先アプリ設定の内容が変更されない限りは常に同じである。
従って、上記決定した各コンポーネントの起動順位の情報(「起動順位情報」と呼ぶ)を不揮発メモリ(例えば、図1に示すHDD3の起動順位情報25)に記憶して永続化しておく。
同図に示すように、起動順位情報25は、表形式のデータとして保存する。
そして、システム起動時にこの起動順位情報25を参照してコンポーネントを起動することによって、システム起動毎に同じ計算を実行する処理を省くことができ、起動時間をより短縮することができる。
このようにして、コンポーネントの構成と優先アプリ設定の内容に変更がなければ、システム起動時の度にアプリの動作に必要な各コンポーネントの起動順位の決定処理を行わなくてすむので、2回目のシステム起動からは必要なアプリを使用できるまでの時間をより短縮することができる。
従って、それらのタイミングで、起動順位を再計算し、起動順位情報25の内容を更新するとよい。
したがって、各コンポーネントの重み付き依存情報を保持しておくだけで、システム起動時間を短縮するのに最適なコンポーネントの起動順位が自動的に計算されるため、コンポーネント構成の変更の度にユーザが起動順位をメンテナンスする必要がなくなる。
また、互いに依存関係のある複数のソフトウェアコンポーネントについて、優先起動が設定された優先アプリケーションを起動するのに必要なコンポーネントを優先的に起動することにより、優先アプリケーションの起動までの時間を短縮することができる。
Claims (8)
- 複数のソフトウェアコンポーネントを有し、該各ソフトウェアコンポーネントを起動することによって各種の機能を実現する情報処理装置であって、
前記各ソフトウェアコンポーネントについて、それぞれ依存する下位のソフトウェアコンポーネントの起動順位に関する重み付き依存情報を保持する手段と、
前記保持している重み付き依存情報に基づいて前記各ソフトウェアコンポーネントの起動順位を決定する起動順位決定手段と、
前記決定した起動順位に従って前記各ソフトウェアコンポーネントをそれぞれ起動する起動手段とを備えたことを特徴とする情報処理装置。 - 前記重み付き依存情報について、初期化に時間のかかる下位のソフトウェアコンポーネントに対する重み付き依存情報の重みを、その他の下位のソフトウェアコンポーネントに対する重み付き依存情報の重みよりも大きくすることを特徴とする請求項1記載の情報処理装置。
- 前記重み付き依存情報について、ユーザ操作を実現するソフトウェアコンポーネントに対する重み付き依存情報の重みを、その他のソフトウェアコンポーネントに対する重み付き依存情報の重みよりも大きくすることを特徴とする請求項1記載の情報処理装置。
- 前記重み付き依存情報について、起動しなくても上位のソフトウェアコンポーネントの基本機能を実現できる下位のソフトウェアコンポーネントに対する重み付き依存情報の重みを、その他のソフトウェアコンポーネントに対する重み付き依存情報の重みよりも小さくすることを特徴とする請求項1記載の情報処理装置。
- 前記下位のソフトウェアコンポーネントは、前記上位のソフトウェアコンポーネントの関連する付加機能として選択されるまでは起動しないようにしたことを特徴とする請求項4記載の情報処理装置。
- システム起動時に最初に起動するアプリケーションを設定する設定手段を設け、
前記起動順位決定手段は、前記各ソフトウェアコンポーネントの内、前記設定手段によって設定されたアプリケーションを動作させるために必要なソフトウェアコンポーネントを依存の起点とし、該依存の起点としたソフトウェアコンポーネントと依存する各ソフトウェアコンポーネントとについてそれぞれの重み付き依存情報に基づいて起動順位を決定し、前記起動手段は、前記依存の起点としたソフトウェアコンポーネントと依存する各ソフトウェアコンポーネントとを、その他のソフトウェアコンポーネントよりも先に起動するようにしたことを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。 - 前記決定した起動順位を保存する保存手段を設け、前記起動手段は前記保存手段に保存された起動順位に従って前記各ソフトウェアコンポーネントをそれぞれ起動することを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置。
- コンポーネントのインストール,アンインストール,又はバージョンアップのタイミングで、前記保存手段に保存された起動順位を再決定して保存し直す手段を設けたことを特徴とする請求項7記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009190676A JP2011043932A (ja) | 2009-08-20 | 2009-08-20 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009190676A JP2011043932A (ja) | 2009-08-20 | 2009-08-20 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011043932A true JP2011043932A (ja) | 2011-03-03 |
Family
ID=43831329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009190676A Pending JP2011043932A (ja) | 2009-08-20 | 2009-08-20 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011043932A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013128838A1 (ja) | 2012-03-01 | 2013-09-06 | 日本電気株式会社 | システム構築手順生成装置、システム構築手順生成方法、及び、プログラム |
US9235793B2 (en) | 2012-12-25 | 2016-01-12 | Ricoh Company, Ltd. | Information processing apparatus, storage medium, and information processing system |
JP2017520856A (ja) * | 2014-07-10 | 2017-07-27 | ハーマン インターナショナル インダストリーズ インコーポレイテッド | オペレーティングシステム起動加速 |
JP2017521789A (ja) * | 2014-07-10 | 2017-08-03 | ハーマン インターナショナル インダストリーズ インコーポレイテッド | オペレーティングシステム起動加速 |
JP2017521785A (ja) * | 2014-07-10 | 2017-08-03 | ハーマン インターナショナル インダストリーズ インコーポレイテッド | オペレーティングシステム起動加速 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05250168A (ja) * | 1992-03-06 | 1993-09-28 | Fujitsu Ltd | プログラム起動方式及びプログラムインストール方式 |
JPH07334466A (ja) * | 1994-06-14 | 1995-12-22 | Hitachi Ltd | 分散システムおよび分散システムの自動運転スケジュールの作成方法 |
JPH08292892A (ja) * | 1995-04-24 | 1996-11-05 | Ricoh Co Ltd | 複写システム |
JP2001325240A (ja) * | 2000-05-12 | 2001-11-22 | Fujitsu Ltd | 制御システム及び制御するためのプログラムを記憶した記録媒体 |
JP2005301797A (ja) * | 2004-04-14 | 2005-10-27 | Seiko Epson Corp | 起動候補制御装置、起動候補制御方法および起動候補制御プログラム |
JP2006259873A (ja) * | 2005-03-15 | 2006-09-28 | Ricoh Co Ltd | 情報処理装置、画像形成装置、起動プログラムおよび記憶媒体 |
JP2006268377A (ja) * | 2005-03-23 | 2006-10-05 | Fuji Xerox Co Ltd | プログラム起動制御装置及びプログラム起動制御方法 |
JP2007219977A (ja) * | 2006-02-20 | 2007-08-30 | Fuji Xerox Co Ltd | 情報処理装置 |
JP2008283623A (ja) * | 2007-05-14 | 2008-11-20 | Canon Inc | デジタル複合機 |
JP2009048231A (ja) * | 2007-08-13 | 2009-03-05 | Mitsubishi Electric Corp | 多機能情報機器及び多機能情報機器の起動方法 |
JP2009098789A (ja) * | 2007-10-15 | 2009-05-07 | Canon Inc | 情報処理装置 |
-
2009
- 2009-08-20 JP JP2009190676A patent/JP2011043932A/ja active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05250168A (ja) * | 1992-03-06 | 1993-09-28 | Fujitsu Ltd | プログラム起動方式及びプログラムインストール方式 |
JPH07334466A (ja) * | 1994-06-14 | 1995-12-22 | Hitachi Ltd | 分散システムおよび分散システムの自動運転スケジュールの作成方法 |
JPH08292892A (ja) * | 1995-04-24 | 1996-11-05 | Ricoh Co Ltd | 複写システム |
JP2001325240A (ja) * | 2000-05-12 | 2001-11-22 | Fujitsu Ltd | 制御システム及び制御するためのプログラムを記憶した記録媒体 |
JP2005301797A (ja) * | 2004-04-14 | 2005-10-27 | Seiko Epson Corp | 起動候補制御装置、起動候補制御方法および起動候補制御プログラム |
JP2006259873A (ja) * | 2005-03-15 | 2006-09-28 | Ricoh Co Ltd | 情報処理装置、画像形成装置、起動プログラムおよび記憶媒体 |
JP2006268377A (ja) * | 2005-03-23 | 2006-10-05 | Fuji Xerox Co Ltd | プログラム起動制御装置及びプログラム起動制御方法 |
JP2007219977A (ja) * | 2006-02-20 | 2007-08-30 | Fuji Xerox Co Ltd | 情報処理装置 |
JP2008283623A (ja) * | 2007-05-14 | 2008-11-20 | Canon Inc | デジタル複合機 |
JP2009048231A (ja) * | 2007-08-13 | 2009-03-05 | Mitsubishi Electric Corp | 多機能情報機器及び多機能情報機器の起動方法 |
JP2009098789A (ja) * | 2007-10-15 | 2009-05-07 | Canon Inc | 情報処理装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013128838A1 (ja) | 2012-03-01 | 2013-09-06 | 日本電気株式会社 | システム構築手順生成装置、システム構築手順生成方法、及び、プログラム |
JPWO2013128838A1 (ja) * | 2012-03-01 | 2015-07-30 | 日本電気株式会社 | システム構築手順生成装置、システム構築手順生成方法、及び、プログラム |
US9235793B2 (en) | 2012-12-25 | 2016-01-12 | Ricoh Company, Ltd. | Information processing apparatus, storage medium, and information processing system |
JP2017520856A (ja) * | 2014-07-10 | 2017-07-27 | ハーマン インターナショナル インダストリーズ インコーポレイテッド | オペレーティングシステム起動加速 |
JP2017521789A (ja) * | 2014-07-10 | 2017-08-03 | ハーマン インターナショナル インダストリーズ インコーポレイテッド | オペレーティングシステム起動加速 |
JP2017521785A (ja) * | 2014-07-10 | 2017-08-03 | ハーマン インターナショナル インダストリーズ インコーポレイテッド | オペレーティングシステム起動加速 |
US10423430B2 (en) | 2014-07-10 | 2019-09-24 | Harman International Industries, Incorporated | Operating system startup acceleration |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5724344B2 (ja) | 画像形成装置、カスタマイズ制御方法及びカスタマイズ制御プログラム | |
US20150149759A1 (en) | Electronic Device Including a Memory Technology Device | |
JP2007325251A (ja) | 画像形成装置及びアプリケーション実行方法 | |
JP4039439B2 (ja) | 画像形成装置及び画像形成装置の機能追加方法 | |
JP6015429B2 (ja) | 情報処理装置、プログラム、情報処理システム | |
JP4974546B2 (ja) | 画像処理装置及びその制御方法とプログラム | |
JP2011043932A (ja) | 情報処理装置 | |
JP5821318B2 (ja) | 画像処理装置、マクロ名称決定方法及びマクロ名称決定プログラム | |
JP5458838B2 (ja) | 画像形成装置と画像形成装置の障害復旧方法とプログラム | |
JP5116539B2 (ja) | ジョブ処理装置、ジョブ処理装置の制御方法、記憶媒体及びプログラム | |
JP7080061B2 (ja) | 画像処理装置 | |
JP6961412B2 (ja) | 画像形成装置、画像形成装置の制御方法、およびプログラム | |
JP2012160129A (ja) | 画像形成装置、編集制御方法及び編集制御プログラム | |
JP5169718B2 (ja) | 情報処理装置、表示画面起動方法、及びプログラム | |
CN101841620B (zh) | 信息处理设备和信息处理方法 | |
JP2005269439A (ja) | 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体 | |
JP6669101B2 (ja) | 電子機器及び起動シーケンス生成プログラム | |
JP5353771B2 (ja) | 画像形成装置、画像処理装置、画像処理システム、画像処理方法、プログラム、及び記録媒体 | |
JP2007279988A (ja) | 情報処理装置およびドライバプログラム | |
JP6987530B2 (ja) | 画像形成装置、情報処理方法及びプログラム | |
JP6024782B2 (ja) | 画像形成装置、カスタマイズ制御方法及びカスタマイズ制御プログラム | |
JP2020144565A (ja) | 電子機器及び起動シーケンス生成プログラム | |
JP2010218469A (ja) | 情報処理装置、情報処理方法、プログラムおよび記録媒体 | |
JP5442090B2 (ja) | ジョブ処理装置、ジョブ処理装置の制御方法、及びプログラム | |
JP2012221326A (ja) | 電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120612 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130820 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130919 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131210 |