特開2015-232807(P2015-232807A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧
<>
  • 特開2015232807-電子機器及びプログラム 図000003
  • 特開2015232807-電子機器及びプログラム 図000004
  • 特開2015232807-電子機器及びプログラム 図000005
  • 特開2015232807-電子機器及びプログラム 図000006
  • 特開2015232807-電子機器及びプログラム 図000007
  • 特開2015232807-電子機器及びプログラム 図000008
  • 特開2015232807-電子機器及びプログラム 図000009
  • 特開2015232807-電子機器及びプログラム 図000010
  • 特開2015232807-電子機器及びプログラム 図000011
  • 特開2015232807-電子機器及びプログラム 図000012
  • 特開2015232807-電子機器及びプログラム 図000013
  • 特開2015232807-電子機器及びプログラム 図000014
  • 特開2015232807-電子機器及びプログラム 図000015
  • 特開2015232807-電子機器及びプログラム 図000016
  • 特開2015232807-電子機器及びプログラム 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2015-232807(P2015-232807A)
(43)【公開日】2015年12月24日
(54)【発明の名称】電子機器及びプログラム
(51)【国際特許分類】
   G06F 9/445 20060101AFI20151201BHJP
【FI】
   G06F9/06 610K
【審査請求】未請求
【請求項の数】13
【出願形態】OL
【全頁数】18
(21)【出願番号】特願2014-119520(P2014-119520)
(22)【出願日】2014年6月10日
(71)【出願人】
【識別番号】000005496
【氏名又は名称】富士ゼロックス株式会社
(74)【代理人】
【識別番号】110000752
【氏名又は名称】特許業務法人朝日特許事務所
(72)【発明者】
【氏名】木下 陽介
(72)【発明者】
【氏名】天野 泰
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AA15
5B376AA23
5B376AA33
5B376AA39
5B376AE13
5B376AE44
5B376AE51
5B376AE52
5B376AE61
5B376FA07
(57)【要約】
【課題】起動処理が中断したときにプログラムを起動対象から一律に外す場合に比べて、プログラムの起動が中断される事態を減らしつつ、起動されないプログラムを少なくすること。
【解決手段】第1起動手段101は、第1プログラムを起動させる第1起動処理を行う。第2起動手段102は、第2プログラムを起動する第2起動処理を第1起動処理と並行して行う。制御手段103は、第1プログラムを起動させないように第1起動手段101を制御する。詳細には、制御手段103は、第1起動処理が中断した場合に、中断の際に起動中であった第1プログラムが原因で中断が生じたときには、以降はこの第1プログラムに対する起動停止制御を行い、それ以外の原因で中断が生じたときには、この第1プログラムに対する起動停止制御を行わない。
【選択図】図2
【特許請求の範囲】
【請求項1】
第1プログラムを起動させる第1起動処理を行う第1起動手段と、
前記第1起動処理が中断した場合に、起動中であった前記第1プログラムが原因で当該中断が生じたときには、以降の前記第1起動処理で当該第1プログラムを起動させないように前記第1起動手段を制御し、それ以外の原因で当該中断が生じたときには当該制御を行わない制御手段と
を備える電子機器。
【請求項2】
第2プログラムを起動する第2起動処理を前記第1起動処理と並行して行う第2起動手段を備え、
前記制御手段は、前記中断の際に前記第2起動処理が完了していた場合には、起動中だった前記第1プログラムについて前記制御を行い、前記第2起動処理が完了していなかった場合には当該制御を行わない
請求項1に記載の電子機器。
【請求項3】
前記制御手段は、前記第1起動処理が中断した場合に、当該第1起動処理の開始から中断までに要した時間が閾値以上である場合には、当該中断の際に起動中だった前記第1プログラムについて前記制御を行う
請求項1または2に記載の電子機器。
【請求項4】
前記制御手段は、前記第1起動処理が中断した場合に、当該第1起動処理の開始から中断までに要した時間が閾値未満である場合には、当該中断の際に起動中だった前記第1プログラムについて前記制御を行わない
請求項1乃至3のいずれか1項に記載の電子機器。
【請求項5】
外部機器との接続手段と、
接続された前記外部機器から前記第1プログラムの起動時間に関係する設定情報を取得する設定取得手段とを備え、
前記制御手段は、取得された前記設定情報に応じた前記閾値を用いる
請求項3または4に記載の電子機器。
【請求項6】
前記制御手段は、前記第1プログラムの起動中に中断が生じた回数が閾値以上である場合には、当該第1プログラムについて前記制御を行う
請求項1乃至5のいずれか1項に記載の電子機器。
【請求項7】
前記中断が生じるとその原因に応じたエラー情報を取得するエラー取得手段を備え、
前記制御手段は、決められた種類の前記エラー情報が取得された場合には前記制御を行う
請求項1乃至6のいずれか1項に記載の電子機器。
【請求項8】
前記中断が生じるとその原因に応じたエラー情報を取得するエラー取得手段を備え、
前記制御手段は、決められた種類以外の前記エラー情報が取得された場合には前記制御を行わない
請求項1乃至7のいずれか1項に記載の電子機器。
【請求項9】
第2プログラムを起動する第2起動処理を前記第1起動処理と並行して行う第2起動手段を備え、
前記制御手段は、前記第2起動処理において行われた電源の再起動により前記中断が生じた場合には、当該中断の際に起動中だった前記第1プログラムについて前記制御を行わない
請求項1乃至8のいずれか1項に記載の電子機器。
【請求項10】
外部機器との接続手段を備え、
前記制御手段は、接続された前記外部機器からの要求に基づく電源の再起動により前記中断が生じた場合には、当該中断の際に起動中だった前記第1プログラムについて前記制御を行わない
請求項1乃至9のいずれか1項に記載の電子機器。
【請求項11】
設定に基づいて処理を行う処理手段を備え、
前記制御手段は、前記設定が定められた範囲外であったことまたは前記設定が変更されたことによる電源の再起動により前記中断が生じた場合には、当該中断の際に起動中だった前記第1プログラムについて前記制御を行わない
請求項1乃至10のいずれか1項に記載の電子機器。
【請求項12】
前記第1起動手段は、複数の前記第1プログラムを順次起動させる複数の前記第1起動処理を行い、
前記制御手段は、前記第1起動処理で前記第1プログラムを起動させないように前記第1起動手段を制御する代わりに、当該第1プログラムを起動させる順番を変更するように前記第1起動手段を制御する
請求項1乃至11のいずれか1項に記載の電子機器。
【請求項13】
コンピュータを、
第1プログラムを起動させる第1起動処理を行う第1起動手段と、
前記第1起動処理が中断した場合に、起動中であった前記第1プログラムが原因で当該中断が生じたときには、以降の前記第1起動処理で当該第1プログラムを起動させないように前記第1起動手段を制御し、それ以外の原因で当該中断が生じたときには当該制御を行わない制御手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、起動が完了していないことを示す情報が記録されている場合に起動対象を一部のプログラムに限定する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2012−185800号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、起動処理が中断したときにプログラムを起動対象から一律に外す場合に比べて、プログラムの起動が中断される事態を減らしつつ、起動されないプログラムを少なくすることを目的とする。
【課題を解決するための手段】
【0005】
本発明の請求項1に係る電子機器は、第1プログラムを起動させる第1起動処理を行う第1起動手段と、前記第1起動処理が中断した場合に、起動中であった前記第1プログラムが原因で当該中断が生じたときには、以降の前記第1起動処理で当該第1プログラムを起動させないように前記第1起動手段を制御し、それ以外の原因で当該中断が生じたときには当該制御を行わない制御手段とを備えることを特徴とする。
【0006】
本発明の請求項2に係る電子機器は、請求項1に記載の構成において、第2プログラムを起動する第2起動処理を前記第1起動処理と並行して行う第2起動手段を備え、前記制御手段は、前記中断の際に前記第2起動処理が完了していた場合には、起動中だった前記第1プログラムについて前記制御を行い、前記第2起動処理が完了していなかった場合には当該制御を行わないことを特徴とする。
【0007】
本発明の請求項3に係る電子機器は、請求項1または2に記載の構成において、前記制御手段は、前記第1起動処理が中断した場合に、当該第1起動処理の開始から中断までに要した時間が閾値以上である場合には、当該中断の際に起動中だった前記第1プログラムについて前記制御を行うことを特徴とする。
【0008】
本発明の請求項4に係る電子機器は、請求項1乃至3のいずれか1項に記載の構成において、前記制御手段は、前記第1起動処理が中断した場合に、当該第1起動処理の開始から中断までに要した時間が閾値未満である場合には、当該中断の際に起動中だった前記第1プログラムについて前記制御を行わないことを特徴とする。
【0009】
本発明の請求項5に係る電子機器は、請求項3または4に記載の構成において、外部機器との接続手段と、接続された前記外部機器から前記第1プログラムの起動時間に関係する設定情報を取得する設定取得手段とを備え、前記制御手段は、取得された前記設定情報に応じた前記閾値を用いることを特徴とする。
【0010】
本発明の請求項6に係る電子機器は、請求項1乃至5のいずれか1項に記載の構成において、前記制御手段は、前記第1プログラムの起動中に中断が生じた回数が閾値以上である場合には、当該第1プログラムについて前記制御を行うことを特徴とする。
【0011】
本発明の請求項7に係る電子機器は、請求項1乃至6のいずれか1項に記載の構成において、前記中断が生じるとその原因に応じたエラー情報を取得するエラー取得手段を備え、前記制御手段は、決められた種類の前記エラー情報が取得された場合には前記制御を行うことを特徴とする。
【0012】
本発明の請求項8に係る電子機器は、請求項1乃至7のいずれか1項に記載の構成において、前記中断が生じるとその原因に応じたエラー情報を取得するエラー取得手段を備え、
前記制御手段は、決められた種類以外の前記エラー情報が取得された場合には前記制御を行わないことを特徴とする。
【0013】
本発明の請求項9に係る電子機器は、請求項1乃至8のいずれか1項に記載の構成において、第2プログラムを起動する第2起動処理を前記第1起動処理と並行して行う第2起動手段を備え、前記制御手段は、前記第2起動処理において行われた電源の再起動により前記中断が生じた場合には、当該中断の際に起動中だった前記第1プログラムについて前記制御を行わないことを特徴とする。
【0014】
本発明の請求項10に係る電子機器は、請求項1乃至9のいずれか1項に記載の構成において、外部機器との接続手段を備え、前記制御手段は、接続された前記外部機器からの要求に基づく電源の再起動により前記中断が生じた場合には、当該中断の際に起動中だった前記第1プログラムについて前記制御を行わないことを特徴とする。
【0015】
本発明の請求項11に係る電子機器は、請求項1乃至10のいずれか1項に記載の構成において、設定に基づいて処理を行う処理手段を備え、前記制御手段は、前記設定が定められた範囲外であったことまたは前記設定が変更されたことによる電源の再起動により前記中断が生じた場合には、当該中断の際に起動中だった前記第1プログラムについて前記制御を行わないことを特徴とする。
【0016】
本発明の請求項12に係る電子機器は、請求項1乃至11のいずれか1項に記載の構成において、前記第1起動手段は、複数の前記第1プログラムを順次起動させる複数の前記第1起動処理を行い、前記制御手段は、前記第1起動処理で前記第1プログラムを起動させないように前記第1起動手段を制御する代わりに、当該第1プログラムを起動させる順番を変更するように前記第1起動手段を制御することを特徴とする。
【0017】
本発明の請求項13に係るプログラムは、コンピュータを、第1プログラムを起動させる第1起動処理を行う第1起動手段と、前記第1起動処理が中断した場合に、起動中であった前記第1プログラムが原因で当該中断が生じたときには、以降の前記第1起動処理で当該第1プログラムを起動させないように前記第1起動手段を制御し、それ以外の原因で当該中断が生じたときには当該制御を行わない制御手段として機能させることを特徴とする。
【発明の効果】
【0018】
請求項1、13に係る発明によれば、起動処理が中断したときにプログラムを起動対象から一律に外す場合に比べて、プログラムの起動が中断される事態を減らしつつ、起動されないプログラムを少なくすることができる。
請求項2に係る発明によれば、第2起動処理の状態に関係なく制御を行う場合に比べて、プログラムの起動が中断される事態をより減らすことができる。
請求項3に係る発明によれば、異常の可能性がある第1起動処理を繰り返さないようにすることができる。
請求項4に係る発明によれば、第1起動処理の開始から中断までに要した時間を考慮せずに制御を行う場合と比べて、起動されないプログラムを少なくすることができる。
請求項5に係る発明によれば、 閾値を変化させない場合に比べて、第1起動処理の異常の有無をより正確に区別することができる。
請求項6に係る発明によれば、中断の回数を考慮しない場合に比べて、プログラムの起動が中断される事態をより減らすことができる。
【0019】
請求項7、8に係る発明によれば、エラー情報の種類に関係なく制御を行う場合に比べて、起動されないプログラムをより少なくすることができる。
請求項9に係る発明によれば、第2起動処理での電源の再起動の有無を考慮しない場合に比べて、起動されないプログラムをより少なくすることができる。
請求項10に係る発明によれば、外部機器からの電源の再起動要求の有無を考慮しない場合に比べて、起動されないプログラムをより少なくすることができる。
請求項11に係る発明によれば、設定に起因する電源の再起動の有無を考慮しない場合に比べて、起動されないプログラムをより少なくすることができる。
請求項12に係る発明によれば、プログラムを起動させなくする場合に比べて、起動されないプログラムをより少なくすることができる。
【図面の簡単な説明】
【0020】
図1】電子機器のハードウェア構成を表す図
図2】電子機器の機能構成を表す図
図3】起動設定テーブルに格納された情報の一例を表す図
図4】第2起動状態の例を表す図
図5】第1及び第2起動状態の変遷の一例を表す図
図6】第1及び第2起動状態の変遷の別の一例を表す図
図7】第1起動処理でのフローを表す図
図8】第2実施形態の起動設定テーブルの変遷の一例を表す図
図9】第2実施形態の電子機器の機能構成を表す図
図10】第3実施形態の電子機器の機能構成を表す図
図11】起動設定テーブルに格納された情報の一例を表す図
図12】第4実施形態の電子機器の機能構成を表す図
図13】変形例の起動設定テーブルに格納された情報の一例を表す図
図14】変形例の起動設定テーブルに格納された情報の一例を表す図
図15】変形例の電子機器の機能構成を表す図
【発明を実施するための形態】
【0021】
[1]第1実施形態
[1−1]構成
図1は電子機器10のハードウェア構成を表す。電子機器10は、電子回路等を有し、画像や音声、数値などの情報を処理したりそれらの情報を入出力したりといった動作を行う。電子機器10には、複数のプログラムがインストールされており、それらのプログラムが実行されることで各種の機能が実現される。これらのプログラムには、主要な機能を実現するためのファームウェアと呼ばれるプログラムと、機能の追加や拡張を行うためのプラグインと呼ばれるプログラムとが含まれている。
【0022】
電子機器10は、制御部11と、記憶部12と、通信部13と、操作部14と、表示部15とを有するコンピュータである。制御部11は、CPU(Central Processing Unit)やRAM(Random Access Memory)、不揮発メモリなどを有する。制御部11は、CPUが不揮発メモリに記憶されているプログラムを実行することで、各部の動作を制御する。記憶部12は、不揮発の記憶領域を有する記憶手段であり、上述したファームウェア及びプラグインを含む各種プログラムやデータをその記憶領域に記憶する。通信部13は、外部装置と通信する。操作部14は、電子機器10に対するユーザの操作を受け付ける。表示部15は、操作に必要な情報などを表示するディスプレイ装置を備えている。
【0023】
制御部11のCPUが記憶部12に記憶されているプログラムを実行することで、図2に示す機能が実現される。
図2は電子機器10の機能構成を表す。電子機器10は、第1起動手段101と、第2起動手段102と、制御手段103とを備える。
【0024】
第1起動手段101は、第1プログラムを起動させる第1起動処理を行う。第2起動手段102は、第2プログラムを起動する第2起動処理を第1起動処理と並行して行う。本実施形態では、第1起動手段101が上述したプラグインを第1プログラムとして起動させ、第2起動手段102が上述したファームウェアを第2プログラムとして起動させる。電子機器10には、複数のプラグインがインストールされている。このため、第1起動手段101は、これら複数のプラグイン(複数の第1プログラム)について、順次第1起動処理を行う。
【0025】
制御手段103は、第1プログラムを起動させないように第1起動手段101を制御する。制御手段103がこの制御を行うと、第1起動手段101が以降の第1プログラムの起動を停止する。以下では、この制御のことを「起動停止制御」という。制御手段103は、第1起動処理が中断した場合に、中断の際に起動中であった第1プログラムが原因で中断が生じたときには、以降はこの第1プログラムに対する起動停止制御を行い、それ以外の原因で中断が生じたときには、この第1プログラムに対する起動停止制御を行わない。
【0026】
本実施形態では、制御手段103は、第1起動処理の中断の際に第2起動処理が完了していた場合には、起動中だった第1プログラムについて起動停止制御を行い、完了していなかった場合にはその起動停止制御を行わない。制御手段103は、第1プログラムについて起動停止制御を行うか否かを判断するため、その第1プログラムを起動するか否かを設定した情報(以下「起動設定」という)を用いる。制御手段103は、起動設定等の情報を格納する起動設定テーブルを記憶部12などの不揮発の記憶領域に記憶する。
【0027】
図3は起動設定テーブルに格納された情報の一例を表す。起動設定テーブルには、「第1プログラム」、「第1起動状態」及び「起動設定」が互いに対応付けられて格納されている。「第1プログラム」には、「Plugin−A」及び「Plugin−B」という2つのプラグインのプログラム名が格納されている。なお、プログラム名に代えて第1プログラム自体が格納されてもよいし、パスやファイル名などが格納されてもよい。要するに第1プログラムを特定可能な情報が格納されていればよい。
【0028】
「第1起動状態」は、それに対応付けられた第1プログラムが現在起動中であるか否かを表す。「第1起動状態」は、「起動中」であれば「1」、「起動中以外」であれば「0」で表される。この例では「Plugin−A」が「1(起動中)」で「Plugin−B」が「0(起動中以外)」となっている。この第1起動状態は、例えば第1起動手段101によって更新される。上述したとおり、第1起動手段101は、複数の第1プログラムを順次起動させる。本実施形態では、第1起動手段101は、これらの第1プログラムを、起動設定テーブルでの並び順の順番で(図3の例では上から順番に)起動させる。
【0029】
第1起動手段101は、第1プログラムの第1起動処理を開始すると対応する第1起動状態を「1(起動中)」に更新し、第1起動処理が完了すると対応する第1起動状態を「0(起動中以外)」に更新する。第1起動手段101は、この第1起動状態の更新を起動する第1プログラムがなくなるまで繰り返す。なお、第1起動状態の更新は、例えば第1起動手段101から通知を受けた制御手段103が行ってもよい。
【0030】
「起動設定」は、第1プログラムを「起動」する場合は「1」、起動しない場合(すなわち起動が「停止」される場合)は「0」で表される。制御手段103は、「1(起動)」に対応付けられた第1プログラムには起動停止制御を行わず、「0(停止)」に対応付けられた第1プログラムには起動停止制御を行う。第1プログラムが初めて起動設定テーブルに格納されたときには、いずれも「1(起動)」が起動設定として格納され、その後、必要に応じて「0(停止)」に変更される。この変更の詳細は後述する。
【0031】
制御手段103は、上述した第1起動状態の他に、第2プログラム(本実施形態ではファームウェア)の起動状態を表す第2起動状態についても、記憶部12などの不揮発の記憶領域に記憶する。
図4は第2起動状態の例を表す。図4(a)では第2起動状態が「1(起動中)」となっており、図4(b)では第2起動状態が「0(起動中以外)」となっている。この第2起動状態は、例えば第2起動手段102によって更新される。その場合、第2起動手段102は、第2起動処理を開始すると第2起動状態を「1(起動中)」に更新し、第2起動処理が完了すると第2起動状態を「0(起動中以外)」に更新する。なお、第2起動状態の更新は、例えば第2起動手段102から通知を受けた制御手段103が行ってもよい。
【0032】
図5は第1及び第2起動状態の変遷の一例を表す。図5では、上から下に進むにつれて時間が経過するものとして、第1及び第2起動処理が行われている期間を実線の長方形で表している。第2起動状態は、第2起動処理が開始される前は「0」であり、電源がオンされて第2起動処理が開始されると「1」になって、第2起動処理が完了すると「0」になる。この第2起動処理に並行して、「Plugin−A」及び「Plugin−B」(いずれも起動設定が「1」)の第1起動処理が行われている。それぞれの第1プログラムの第1起動処理が行われているときには、対応する第1起動状態が「1」になっている。
【0033】
図5の例では、第2起動処理が完了した後の時刻t1において、「Plugin−B」の第1起動処理が中断し、電源の再起動が行われている。この場合、第2起動処理は既に完了しているので、中断の原因は第1起動処理にあると考えられる。例えば「Plugin−B」の起動に必須な設定情報等が欠損していたり、設定の値が正常でなかったりすると、それ以上第1起動処理を続けても処理が進まず完了させられないため、例えば第1起動手段101が電源の再起動の処理を行うようになっている。なお、この電源の再起動の処理は、第1起動手段101が第2起動手段102などの他の手段に要求してそれらの手段が行ってもよい。
【0034】
こうして電源の再起動が行われる場合、第1起動処理が完了していないため、第1起動手段101が第1起動状態を更新せず、電源オフの後も「Plugin−B」の第1起動状態が「1」のままになる。その後、電源の再起動が完了すると、制御手段103は、記憶している第1起動状態及び第2起動状態を参照する。このときの第1及び第2起動状態は、第1起動処理の中断の際の状態(第1起動状態が「1」、第2起動状態が「0」)になっている。
【0035】
制御手段103は、第1起動状態が「0」且つ第2起動状態が「0」である場合には、第1及び第2起動処理の両方とも完了しているので、第1プログラムの起動設定を変更しない。図5の例では、「Plugin−A」がそれにあたり、起動設定が「1」から変更されていない。制御手段103は、第1起動状態が「1」且つ第2起動状態が「0」である場合には、第2起動処理は完了した後に第1起動処理が中断しているので、第1プログラムに中断の原因があったものとして、その第1起動状態に対応付けられた起動設定が「1(起動)」であれば「0(停止)」に変更する処理を行う。
【0036】
この起動設定に関する処理(起動設定を変更しない場合も含む)を以下では「設定処理」という。この例であれば、「Plugin−B」がそれにあたり、起動設定が「1(起動)」から「0(停止)」に変更されている。また、制御手段103は、「1(起動中)」であった第1起動状態を「0(起動中以外)」に変更する。その後は起動設定が「1」である「Plugin−A」の第1起動処理が行われ、起動設定が「0」に変更された「Plugin−B」の第1起動処理は行われない。
【0037】
図6は第1及び第2起動状態の変遷の別の一例を表す。図6の例では、図5の例と異なり、第2起動処理が完了する前の時刻t2に、第2起動処理と「Plugin−B」の第1起動処理とが中断し、電源のオフが行われている。この場合、第2起動処理もともに中断しているので、中断の原因は第1起動処理にあるとは限らず、第2起動処理やその他(例えばユーザが電源をオフする操作を行うなど)にあるとも考えられる。図6の例では、時刻t2に電源がオフされた後、「Plugin−B」の第1起動状態とともに、第2起動状態も「1」のままになる。
【0038】
制御手段103は、第1起動状態が「1」且つ第2起動状態が「1」である場合には、中断の原因が第1起動処理にあるとは限らないため、第1プログラムの起動設定を変更しない。図6の例では、「Plugin−B」がそれにあたり、起動設定が「1」から変更されていない。これにより、図5の例とは異なり、起動設定がともに「1」である「Plugin−A」及び「Plugin−B」の第1起動処理が行われる。
【0039】
なお、図5及び図6の例では、電源が再度オンになったときに設定処理が行われたが、電源がオフになるときに設定処理が行われてもよい。例えば電源をオフするときにはいわゆるシャットダウン処理が行われるので、それとともに設定処理が行われてもよい。また、図5及び図6の例では、再度の電源オンの後で第1及び第2起動処理が開始されるよりも前に設定処理が行われたが、例えば第2起動処理が開始されてから設定処理が行われてもよい。また、各第1起動処理が開始される直前に、その第1起動処理で起動される第1プログラムについての設定処理が行われてもよい。要するに、第1プログラムの第1起動処理が行われるまでに、その第1プログラムについて設定処理が行われていればよい。
【0040】
[1−2]動作
図7は第1起動処理でのフローを表す。本実施形態では、電子機器10の電源が投入されることを契機に第1起動処理が行われる。まず、電子機器10は、第2起動処理(ファームウェアを起動させる処理)を開始し(ステップS11)、その第2起動処理において第1起動処理の開始を指示する(ステップS12)。ステップS11及びS12の動作は第2起動手段102が行う。次に、電子機器10は、最初の第1プログラムの起動設定が「1(起動)」であるか否かを判断し(ステップS13)、「起動」である(YES)と判断した場合には、その第1プログラムの第1起動処理を行う(ステップS14)。
【0041】
電子機器10は、ステップS13において「1」でない(NO:すなわち「0(停止)」であった)と判断した場合には、上述した起動停止制御を行う(ステップS15)。電子機器10は、起動停止制御を行った後は、全ての第1プログラムについての第1起動処理が完了したか否かを判断し(ステップS16)、全第1起動処理が完了した(YES)と判断した場合には、第1起動処理を終了する。また、電子機器10は、ステップS16で完了していない(NO)と判断した場合には、ステップS13に戻って動作を行う。ステップS14及びS16の動作は第1起動手段101が行う。
【0042】
電子機器10は、ステップS14で行った第1起動処理が中断せずに完了すると(ステップS17:完了)、ステップS16の動作を行う。また、電子機器10は、第1起動処理が中断すると(ステップS17:中断)、電源のオフ及びオンや電源の再起動を経て、中断の際の第1起動状態及び第2起動状態を参照する。電子機器10は、第1起動状態が「1」で第2起動状態が「0」である場合には(ステップS21:YES)、その第1起動状態に対応する第1プログラムの起動設定を「0」に変更する(ステップS22)。電子機器10は、両起動状態がそのようになっていない場合には(ステップS21:NO)、起動設定を変更することなくステップS13に戻って動作を行う。ステップS13、S15、S21及びS22の動作は制御手段103が行う。
【0043】
以上のとおり、第1実施形態では、第1起動処理が中断した場合に、中断の際に起動中であった第1プログラムが原因であればその第1プログラムは起動対象から外される。この第1プログラムを再度起動していたら、再び中断される可能性があるから、それに比べると、プログラムの起動が中断される事態が減ることになる。一方、第1プログラム以外に中断の原因がある場合には、その第1プログラムは起動対象から外されることなく次回以降も起動される。この第1プログラムには中断の原因がないのだから、次回は第1起動処理が完了することが見込まれる。従って、起動が中断された第1プログラムを起動対象から一律に外す場合に比べて、起動されないプログラムが少なくなる。以上のとおり、本実施形態では、起動処理が中断したときにプログラムを起動対象から一律に外す場合に比べて、プログラムの起動が中断される事態が減少しつつ、起動されないプログラムが少なくなる。
【0044】
また、本実施形態では、第1起動処理の中断の際に第2起動処理が完了していると、起動中の第1プログラムが原因で中断が生じたものとして起動停止制御が行われた。中断の際に第2起動処理が完了しているということは、中断の原因が第2起動処理にある可能性は少なく、第1起動処理に原因がある可能性が高い。また、その第1起動処理で起動されていた第1プログラムも、中断の原因となっている可能性が高い。本実施形態では、このように中断の原因となっている可能性が高い第1プログラムについて起動停止制御が行われるので、第2起動処理の状態に関係なく起動停止制御が行われる場合に比べて、プログラムの起動が中断される事態がより減少する。
【0045】
[2]第2実施形態
本発明の第2実施形態について、以下、第1実施形態と異なる点を中心に説明する。第1実施形態では、第1及び第2起動状態に基づいて起動停止制御が行われたが、第2実施形態では、第1起動処理が中断した場合に、その第1起動処理の開始から中断までに要した時間(以下「第1処理時間」という)が閾値以上であるか否かに基づいて起動停止制御が行われる。本実施形態では、閾値が固定である場合と変化する場合とについて説明する。
【0046】
[2−1]閾値固定
本実施形態の制御手段103は、前述した第1処理時間が閾値以上である場合には、起動中だった第1プログラムについて起動停止制御を行う。また、制御手段103は、第1処理時間が閾値未満である場合にはその起動停止処理を行わない。この閾値は、第1プログラム毎に定められる。例えば、第1プログラムの第1起動処理を複数回行わせて、その開始から完了までに要した時間の平均値またはその平均値を少し大きくした値(例えば1.1倍したり数秒を加えたりした値)を閾値とする。例えば図3等に示した「Plugin−A」及び「Plugin−B」については、閾値がいずれも「4.0秒」だとする。制御手段103は、例えば図3に示した起動設定テーブルに列を加えて、第1起動処理が開始されてから経過した時間を格納する。
【0047】
図8は本実施形態の起動設定テーブルの変遷の一例を表す。図8では、図5の例のように第1及び第2起動処理の期間が示されている。制御手段103は、例えば「Plugin−A」の第1起動処理が完了した時点では対応する第1処理時間として「2.5秒」を格納している。その後、「Plugin−B」の第1起動処理が開始されても、完了時の第1処理時間(この場合「2.5秒」)が格納され続ける。図8の例では、「Plugin−B」の第1起動処理が開始されてから「6.0秒」経過したときに電源の再起動が行われている。このときの「6.0秒」という第1処理時間も、電源の再起動後まで格納され続ける。
【0048】
制御手段103は、電源の再起動後の設定処理で、第1起動処理が中断した「Plugin−B」の第1処理時間を閾値(上述した「4.0秒」)と比較し、第1処理時間が閾値以上であるので、設定処理において「Plugin−B」の起動設定を「1(起動)」から「0(停止)」に変更する。これにより、制御手段103が「Plugin−B」に対して起動停止制御を行う。制御手段103は、次の第1起動処理に備えて、第1処理時間を「0.0秒」に更新する。図8の例で、「Plugin−B」の閾値が例えば「8.0秒」であった場合には、制御手段103は、第1処理時間が閾値未満なので、「Plugin−B」の起動設定を変更せず、起動停止制御も行わない。
【0049】
第1処理時間が閾値以上になるということは、その第1起動処理に、例えば処理のループやボトルネック待ちなどの何らかの異常が発生している可能性がある。本実施形態では、第1処理時間が閾値以上の場合に起動停止制御を行うので、その第1起動処理が繰り返されない。
【0050】
なお、制御手段103は、本実施形態では、第1処理時間が閾値以上である場合における起動停止制御の実行と、第1処理時間が閾値未満である場合における起動停止処理の不実行との両方を実現したが、これに限らず、一方のみを実現してもよい。制御手段103は、例えば第1処理時間が閾値以上である場合には起動停止制御を実行するが、第1処理時間が閾値未満である場合には何か他の条件(例えば後述するエラーの種類など)に基づいて起動停止処理を実行するか否かを判断する、という具合である。また、制御手段103は、第1処理時間が閾値未満である場合には起動停止制御を実行しないが、第1処理時間が閾値以上である場合には何か他の条件に基づいて起動停止処理を実行するか否かを判断してもよい。
【0051】
[2−2]閾値変化
次に、閾値が変化する場合について説明する。
図9は本実施形態の電子機器10bの機能構成を表す。電子機器10bは、接続手段104と、設定取得手段105とを備える。接続手段104は、外部機器と電子機器10とを接続する。接続手段104は、例えば、有線または無線の通信を行い、ハブやスイッチ、ルータなどの通信機器と接続する。設定取得手段105は、接続された外部機器から第1プログラムの起動時間に関係する設定情報を取得する。ここでいう起動時間とは、第1起動処理が開始されてから完了するまでに要する時間のことである。
【0052】
本実施形態では、接続手段104がユーザ認証の機能を有する通信機器と接続し、設定取得手段105がその通信機器のユーザ認証の設定情報を取得する。ユーザ認証の設定情報とは、例えば、ユーザ認証の際にやり取りするデータを暗号化するか否かを表す情報である。この場合、暗号化する場合の方が、暗号化しない場合に比べて、ユーザ認証に要する時間が長くなる。設定取得手段105は、設定情報を取得すると、取得した設定情報を制御手段103に供給する。
【0053】
制御手段103は、設定取得手段105により取得された設定情報に応じた上記の閾値を用いる。例えば、制御手段103は、ユーザ認証の際にやり取りするデータを暗号化することを表す設定情報が取得された場合には第1閾値(例えば10秒や20秒など)を用い、暗号化しないことを表す設定情報が取得された場合には第1閾値よりも小さい第2閾値(例えば3秒や5秒など)を用いる。本実施形態では、このように閾値を変化させることで、閾値を変化させない場合に比べて、第1起動処理の異常の有無がより正確に区別される。
【0054】
なお、設定情報は、前述したものに限らない。例えば第1起動処理において、通信装置を介した外部装置とのセッションの確立が行われる場合に、通信装置が宛先制御(必要な宛先にだけ転送を行う制御)を行うか否かを表す設定情報や、フロー制御(バッファが枯渇したときに送信停止や通信速度の制限等を行う制御)を行うか否かの設定情報などが用いられてもよい。これらの制御を行うか否かによって、外部装置とのセッションが確立されるまでに要する時間が影響を受ける場合には、制御手段103は、その時間が長くなることを表す設定情報が取得された場合には閾値を大きくし、時間が短くなることを表す設定情報が取得された場合には閾値を小さくすればよい。
【0055】
[3]第3実施形態
本発明の第3実施形態について、以下、第1及び第2実施形態と異なる点を中心に説明する。第3実施形態では、第1起動処理の中断の際に発生したエラーの種類に基づいて起動停止制御の有無が判断される。
図10は本実施形態の電子機器10cの機能構成を表す。電子機器10cは、図2に示す第1起動手段101及び制御手段103に加え、エラー取得手段106を備える。
【0056】
エラー取得手段106は、第1起動処理の中断が生じるとその原因に応じたエラー情報を取得する。エラー情報には、大きく分けて2種類ある。1種類目は、第1プログラムに起因するエラーを表すものであり、例えば、第1プログラムの起動に必須の設定情報等の欠損やそれらが正常値でないことなどを表す情報である。これらのエラーが発生した場合、設定情報を書き換えるなど、その原因を取り除く処置を行わない限り、再度起動しても同じエラーが発生する。以下ではこれを「致命的エラー情報」という。
【0057】
2種類目は、第1プログラムには起因しないエラーを表す情報であり、例えば、メモリが不足していることや必要な外部装置が接続されていないことを表す情報である。他にも、通信を行う場合に、IP(Internet Protocol)アドレスが確定していないことやホスト名が解決していないことなどを表すエラー情報も含まれる。これらのエラーが発生した場合には、特に処置を行わずに再度起動したとしても、他の装置やプログラムの稼働状態によっては同じエラーが発生しない場合がある。以下ではこれらを「非致命的エラー情報」という。エラー取得手段106は、これらのエラー情報を取得すると、取得したエラー情報を制御手段103に供給する。
【0058】
本実施形態では、制御手段103は、決められた種類のエラー情報がエラー取得手段106により取得された場合には起動停止制御を行う。また、制御手段103は、それ以外のエラー情報がエラー取得手段106により取得された場合には起動停止制御を行わない。制御手段103は、例えば図3に示した起動設定テーブルに列を加えて、エラー取得手段106から供給されたエラー情報を格納する。
【0059】
図11は起動設定テーブルに格納された情報の一例を表す。図11の例では、「Plugin−A」、「Plugin−B」及び「Plugin−C」という3つの第1プログラムに、「なし」、「非致命的エラー情報」及び「致命的エラー情報」というエラー情報がそれぞれ対応付けられている。制御手段103は、エラー情報に「致命的エラー情報」が格納された場合に、対応する第1プログラムの起動設定を「1(起動)」から「0(停止)」に変更する。制御手段103は、図11の例では、「致命的エラー情報」が格納された「Plugin−C」の起動設定を「0(停止)」に変更し、この第1プログラムを起動停止制御の対象としている。
【0060】
第1起動処理が中断しても、非致命的エラー情報が取得された場合には、起動が中断された第1プログラムを再度起動させても、例えばメモリの空き領域が前回よりも増えていて今度は中断せずに起動が完了することがある。本実施形態では、そのように起動が完了する可能性のある第1プログラムについては起動停止制御が行われない。これにより、エラー情報の種類に関係なく起動停止制御を行う場合に比べて、起動されないプログラムがより少なくなる。
【0061】
なお、制御手段103は、本実施形態では、決められた種類のエラー情報が取得された場合における起動停止制御の実行と、それ以外のエラー情報が取得された場合における起動停止処理の不実行との両方を実現したが、これに限らず、一方のみを実現してもよい。制御手段103は、例えば決められた種類のエラー情報が取得された場合には起動停止制御を実行するが、それ以外のエラー情報が取得された場合には何か他の条件(例えば上述した第1処理時間など)に基づいて起動停止処理を実行するか否かを判断する、という具合である。また、制御手段103は、決められた種類以外のエラー情報が取得された場合には起動停止制御を実行しないが、決められた種類のエラー情報が取得された場合には何か他の条件に基づいて起動停止処理を実行するか否かを判断してもよい。
【0062】
[4]第4実施形態
本発明の第4実施形態について、以下、上記各実施形態と異なる点を中心に説明する。第4実施形態では、第1起動処理とは異なる要因で電子機器10の電源の再起動が行われたか否かに基づいて起動停止制御の有無が判断される。以下では、3通りの要因について説明する。
【0063】
[4−1]第2起動処理
第2起動処理が上述した電源の再起動の要因となる場合がある。例えば、図2に示す第2起動手段102が、第2起動処理の中で、変更したパラメータ等を反映させるなどの目的で電源の再起動を行う場合である。その場合、第2起動手段102は電源の再起動のためのコマンドを発行する。その際、第2起動手段102は、制御手段103に対して、例えば発行したコマンドを供給することで、電源の再起動を行ったことを通知する。こうして電源の再起動が行われると第1起動処理は中断されるので、この通知は、第1起動処理の中断の前後で行われることになる。
【0064】
制御手段103は、前述した通知を受け取った場合、すなわち、第2起動処理において行われた電源の再起動により第1起動処理の中断が生じた場合には、その中断の際に起動していた第1プログラムについて起動停止制御を行わず、それ以外の原因で中断が生じた場合には、その起動停止制御を行う。電源の再起動が第2起動処理に起因している場合には、第1起動処理が中断したとしても、第1プログラムの起動自体には問題がないので、再度第1起動処理が行われれば完了する可能性が高い。本実施形態では、このように第2起動処理での電源の再起動の有無を考慮することで、それを考慮しない場合に比べて、起動されない第1プログラムがより少なくなる。
【0065】
[4−2]外部機器
電子機器が、図2に示す各手段に加え、図9に示す接続手段104を備える場合に、接続手段104により接続された外部機器が電源の再起動の要因となる場合がある。外部機器が接続された電子機器に電源が投入されると、例えばこの外部機器との接続を確立するための処理が行われる。
【0066】
この場合も、第2起動処理の場合のように、変更したパラメータ等を反映させるなどの目的で、外部機器から電子機器に対して電源の再起動を要求してくることがある。具体的には、外部機器からその要求を示す要求データが電子機器に送信されてくる。電子機器は、この要求データを受け取ると、電源の再起動を行う。この再起動は、第1起動手段101や第2起動手段102が行ってもよいし、別の手段が行ってもよい。いずれの手段も、外部機器からの要求データに基づいて再起動を行うと、その旨を制御手段103に通知する。
【0067】
制御手段103は、接続手段104によって接続された外部機器からの要求に基づく電源の再起動により第1起動処理の中断が生じた場合には、その中断の際に起動中だった第1プログラムについて起動停止制御を行わず、それ以外の原因で中断が生じた場合には、その起動停止制御を行う。この場合も、前述した第2起動処理の例のように、外部機器からの電源の再起動要求の有無を考慮することで、それを考慮しない場合に比べて、起動されない第1プログラムがより少なくなる。
【0068】
[4−3]設定値
電子機器で用いられる設定値が電源の再起動の要因となる場合がある。
図12は本実施形態の電子機器10dの機能構成を表す。電子機器10dは、図2に示す第1起動手段101及び制御手段103、図9に示す接続手段104に加え、処理手段107を備える。処理手段107は、設定に基づいて処理を行う。処理手段107は、例えば、自機が記憶するデータに基づく認証(以下「本体認証」という)と、認証局等への問い合わせに基づく認証(以下「外部認証」という)という認証方法の設定に基づいて処理を行う。電子機器10dは、認証方法の設定を変更する際に、その変更を反映するため電源の再起動を行う。
【0069】
接続手段104に接続される外部装置が複数の種類ある場合に、対応する認証方法が外部装置の種類毎に異なることがある。例えば第1外部装置は本体認証に対応し、第2外部装置は外部認証に対応する。電子機器10dに第1外部装置が接続され、本体認証を行う設定になっている場合に、第1外部装置を取り外して第2外部装置を取り付けたとする。その場合、電子機器10dは、第2外部装置が対応していない認証方法(本体認証)を行う設定になっているため、認証方法の設定を第2外部装置が対応している認証方法(外部認証)に変更する。その際、電子機器10dは、前述したとおり電源の再起動を行う。そのため、第1起動処理が行われているときにこの設定の変更が行われると、第1起動処理が電源の再起動により中断されることになる。
【0070】
このように、設定が変更されたことによる電源の再起動により第1起動処理の中断が生じた場合には、制御手段103は、その中断の際に起動中だった第1プログラムについて起動停止制御を行わず、それ以外の原因で中断が生じた場合には、その起動停止制御を行う。なお、電源の再起動は、設定が変更された場合に限らず、設定が定められた範囲外であった場合にも行われる。
【0071】
例えば、電子機器10dが対応していない認証方法が誤って設定されている一方、認証を用いる外部機器は接続されていない場合に、設定を変更するのではなく、設定を無効にし、電源の再起動を行ってそれを反映させる。制御手段103は、このように、設定が定められた範囲外であったことによる電源の再起動により第1起動処理の中断が生じた場合に、前述した動作を行ってもよい。この場合も、前述した第2起動処理の例のように、設定に起因する電源の再起動の有無を考慮することで、それを考慮しない場合に比べて、起動されない第1プログラムがより少なくなる。
【0072】
[5]変形例
上述した各実施形態は、それぞれが本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、上述した各実施形態及び以下に示す各変形例は、必要に応じてそれぞれ組み合わせて実施してもよい
【0073】
[5−1]中断回数
起動停止制御の有無が、第1起動処理が中断した回数に基づいて判断されてもよい。この場合、制御手段103は、第1プログラムの起動中に中断が生じた回数が閾値以上である場合には、その第1プログラムについて起動停止制御を行う。制御手段103は、例えば、図3に示した起動設定テーブルに列を加えて、第1起動処理が中断した回数を第1プログラム毎に格納する。
【0074】
図13は本変形例の起動設定テーブルに格納された情報の一例を表す。図13の例では、「Plugin−A」、「Plugin−B」及び「Plugin−C」という各第1プログラムに対応付けて「0」、「1」及び「4」という中断回数が格納されている。この例では、いずれも閾値が3回であるものとする。制御手段103は、中断回数が閾値以上(4回)である「Plugin−C」の起動設定を「0(停止)」に変更し、この第1プログラムについては起動停止制御を行うようにしている。
【0075】
例えば上述した非致命的エラー情報で表されるエラーが発生した場合、その後の第1起動処理で必ず中断が生じるわけではないが、エラーの内容によっては頻繁に中断が生じることもある。本変形例では、そのように中断が頻繁に生じる第1プログラムについては起動停止制御が行われるので、中断回数を考慮しない場合に比べて、プログラムの起動が中断される事態がより減少することになる。
【0076】
なお、本変形例の閾値は、第1プログラム毎に異なっていてもよい。例えば重要な第1プログラムや使用される頻度が大きい第1プログラムほど、閾値を大きくするという具合である。これにより、それらの第1プログラムは、他の第1プログラム比べて起動される機会が多くなる。
【0077】
[5−2]順番の入れ替え
各実施形態では、第1起動手段101は、複数の第1プログラムを順次起動させる複数の第1起動処理を行っている。この場合に、制御手段103は、第1起動処理で第1プログラムを起動させないように第1起動手段101を制御する代わりに、その第1プログラムを起動させる順番を変更するように第1起動手段101を制御してもよい。制御手段103は、例えば、図3に示した起動設定テーブルに列を加えて、第1起動処理を行う順番を表す値(以下「起動順」という)を格納する。
【0078】
図14は本変形例の起動設定テーブルに格納された情報の一例を表す。図14(a)では、「Plugin−A」、「Plugin−B」及び「Plugin−C」という各第1プログラムに対応付けて「1」、「2」及び「3」という起動順が格納されている。例えばこのうちの「Plugin−B」が中断した場合、制御手段103は、「Plugin−B」の起動順を「1」に変更し、「Plugin−A」の起動順を「1」から「2」に変更する。第1起動手段101は、この起動順が小さい値の第1プログラムから順番に第1起動処理を行う。
【0079】
なお、制御手段103は、図14の例では第1起動処理が中断した第1プログラムの起動順が最初となるように変更したが、これに限らず、最後となるように変更してもよいし、特定の第1プログラムの前後となるように変更してもよい。例えば第1起動処理において通信を行う第1プログラムの場合、起動順が遅いほど通信が行われる状態になっている可能性が高いため、起動順を後ろにするほど第1起動処理が完了しやすくなる。このように、起動順を変更することで第1起動処理が完了しやすくなる場合があるので、本変形例によれば、プログラムの起動を停止させる場合に比べて、起動されないプログラムがより少なくなる。
【0080】
また、電子装置が図10に示すエラー取得手段106を備えている場合に、制御手段103が、取得されたエラー情報に応じて起動順を変更してもよい。例えば通信に関するエラー情報が取得された場合には、前述したとおり時間が経過すると解消することがあるので、起動順を遅い方に変更する。また、制御手段103は、変更した起動順でも中断が生じた場合には、それまで第1起動処理が中断したときの起動順を除いた他の起動順に変更してもよい。この場合、変更を繰り返すうちに、第1起動処理が中断しにくい起動順で第1プログラムが起動されることになる。
【0081】
[5−3]起動設定の通知
電子機器は、起動設定を変更した場合に、それをユーザに通知する通知手段を備えていてもよい。
図15は本変形例の電子機器10eの機能構成を表す。電子機器10eは、図2に示す第1起動手段101及び制御手段103に加え、通知手段108を備える。通知手段108は、起動設定が変更された場合に、その変更された起動設定をユーザに通知する。通知手段108は、例えば、ユーザの宛先(電子メールアドレスやSNS(Social Networking Service)のアカウントなど)を記憶しておき、起動設定をその宛先に送信する。他にも、通知手段108は、自装置の表示部15に起動設定を表示してもよい。なお、通知手段108は、変更された起動設定以外にも、起動状態(第1及び第2起動状態)を通知してもよいし、起動が完了したことを通知してもよい。
【0082】
[5−4]発明のカテゴリ
本発明は、上述した電子機器が実施する処理を実現するための情報処理方法としても捉えられる。また、本発明は、電子機器を制御するコンピュータを、上述した各手段として機能させるためのプログラムとしても捉えられる。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態や、インターネット等の通信回線を介してコンピュータにダウンロード及びインストールさせて利用可能にするなどの形態で提供される。
【符号の説明】
【0083】
10…電子機器、11…制御部、12…記憶部、13…通信部、14…操作部、15…表示部、101…第1起動手段、102…第2起動手段、103…制御手段、104…接続手段、105…設定取得手段、106…エラー取得手段、107…処理手段、108…通知手段
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15