JP7814907B2 - 情報処理装置、制御方法、およびプログラム - Google Patents

情報処理装置、制御方法、およびプログラム

Info

Publication number
JP7814907B2
JP7814907B2 JP2021201545A JP2021201545A JP7814907B2 JP 7814907 B2 JP7814907 B2 JP 7814907B2 JP 2021201545 A JP2021201545 A JP 2021201545A JP 2021201545 A JP2021201545 A JP 2021201545A JP 7814907 B2 JP7814907 B2 JP 7814907B2
Authority
JP
Japan
Prior art keywords
information processing
processing device
program
restart
enabled
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.)
Active
Application number
JP2021201545A
Other languages
English (en)
Other versions
JP2023087257A (ja
JP2023087257A5 (ja
Inventor
裕佑 松井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2021201545A priority Critical patent/JP7814907B2/ja
Priority to US18/063,184 priority patent/US20230185553A1/en
Priority to EP22212228.5A priority patent/EP4195024B1/en
Priority to CN202211601228.7A priority patent/CN116263647A/zh
Priority to KR1020220174122A priority patent/KR20230089565A/ko
Publication of JP2023087257A publication Critical patent/JP2023087257A/ja
Publication of JP2023087257A5 publication Critical patent/JP2023087257A5/ja
Application granted granted Critical
Publication of JP7814907B2 publication Critical patent/JP7814907B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00344Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a management, maintenance, service or repair apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00413Display of information to the user, e.g. menus using menus, i.e. presenting the user with a plurality of selectable options
    • H04N1/00416Multi-level menus
    • H04N1/00435Multi-level menus arranged in a predetermined sequence, e.g. using next and previous buttons
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、デバイスドライバのインストールの技術に関する。
デバイスドライバのインストール処理を行う場合、デバイスドライバを正常に動作させるための安全な手段として、OS(Operating System)の再起動を行ない、OSにシステムの初期化処理を行わせるのが一般的である。また、特許文献1では、デバイスドライバをコンピュータにインストールする際に、更新内容に応じて再起動が必要かどうかを判定することで不要な再起動を減らす方法に関して記載されている。
特開2009―277253号公報
適切にソフトウェアをインストールする技術が求められている。
そこで本発明は、ソフトウェアを適切にインストールすることを目的とする。
本発明の一様態に係るプログラムは、第1のプログラムであって、情報処理装置に対してシャットダウン操作が行われた場合に前記情報処理装置を完全シャットダウンせずに前記情報処理装置を休止状態にするための機能である所定の機能を有する前記情報処理装置であって、前記所定の機能が有効化されている状態で前記情報処理装置に対してシャットダウン操作が行われた場合に完全シャットダウンせずに休止状態になり、前記所定の機能が有効化されていない状態で前記情報処理装置に対して前記シャットダウン操作が行われた場合に完全シャットダウンする前記情報処理装置のコンピュータに、前記第1のプログラムと異なる第2のプログラムをインストールするための処理を実行する処理ステップと、前記情報処理装置において前記所定の機能が有効化されているか否かを判定する判定ステップと、前記情報処理装置を再起動するようユーザに通知するための所定の通知を、前記情報処理装置において前記所定の機能が有効化されていると判定されたことに基づいて実行する通知ステップと、を実行させることを特徴とする。
本発明によれば、ソフトウェアを適切にインストールすることができる。
システムの構成図である。 画像処理装置のハードウェア構成図の一例である。 画像処理装置と接続されるデバイスのハードウェア構成図の一例である。 画像処理装置のソフトウェア構成図の一例である。 アプリケーションが表示するUI画面の一例を示す図である。 アプリケーションが表示するメッセージボックスの一例を示す図である。 常駐アプリが表示するポップアップの一例を示す図である。 アプリケーションの全体の処理の流れを示すフローチャートである。 アプリケーションの再起動案内処理S802の流れを示すフローチャートである。 常駐アプリの全体の流れを示すフローチャートである。 画像処理装置のソフトウェア構成図である。 不具合履歴情報の一例を示す図である。 ドライバの不具合レベルと対応レベルとを示す図である。 アプリケーションの全体の処理の流れを示すフローチャートである。 対応レベル判定の処理の流れを示すフローチャートである。 ドライバインストール処理の流れを示すフローチャートである。 再起動案内処理の流れを示すフローチャートである。
以下、添付図面を参照して本発明の好適な実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものではない。また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
本実施形態を説明する前に、従来のデバイスドライバのインストール処理について説明する。デバイスドライバのインストール処理を行った場合、デバイスドライバを正常に動作させるためにOSの再起動を行ない、OSにシステムの初期化処理を行わせるのが一般的かつ安全な手段である。この際、インストーラの終了時に、即座に再起動をするか、あるいは後で再起動をするかをユーザーに選択させる選択指示画面(図6(a)参照)をコンピュータの画面に表示することが考えられる。
再起動を避けたい場合には、ユーザーは、必要な処理が終わってから再起動するよう該コンピュータに前述の選択指示画面を介して選択指示することで、インストール処理終了後の再起動を行わせないようにしている。このような状況は例えば、終日稼動中のコンピュータに対してデバイスドライバをインストールする場合など、インストール処理終了の際に、極力再起動を避けたいといった場合である。一方で、デバイスドライバのインストールにおいて、条件によっては、再起動を行わなくてもシステムの動作を保証しているようなケースも存在する。
しかしながら、デバイスドライバがインストールされるシステムは、再起動の要否を判断することなく、固定的な再起動指示入力画面を一律に表示している。従って、ユーザーはシステムの再起動の要否をすべて自分の判断で行う必要がある、という問題がある。また、システムの再起動が必要か不要かを判断するためには、OS、デバイスドライバ、またはシステムが提供するサービスなどの専門的な知識が必要となり、一般ユーザーが独自に判断するのは困難であるという、問題もある。
さらに、ユーザーが再起動の要否を適切に判断できずにコンピュータの操作を行うと、再起動が必要である場合であるにも関わらず、再起動を行わなかった結果、システムが適切に動作しなくなるという虞がある。また、逆に再起動が不要な場合であっても、ユーザーがこれを判断できず、システムの不必要な再起動を行ってしまうという虞がある。
さらに、Windows(登録商標)OSにおいては、高速スタートアップという機能がWindows8(登録商標)以降から備わっている。高速スタートアップ機能を有効にすることで、シャットダウン操作が行われたことによりWindowsPCをシャットダウンする際に、完全シャットダウン(電源を完全に落とすシャットダウン)ではなく休止状態にすることが可能となる。PCを休止状態にしておくことで、次回PCを立ち上げる際に通常より早く起動できる。なお、高速スタートアップ機能が有効にされていない状態でシャットダウン操作が行われた場合は、完全シャットダウンが実行される。
しかし、高速スタートアップが機能しているOS環境の場合、ユーザーがインストーラによって提示されるPCの即時再起動を拒否し、かつ、シャットダウン操作をした場合、インストールしたドライバは更新されないままとなる虞がある。これは上述したように、高速スタートアップ機能が有効な状態では、シャットダウン操作が行われたとしても、完全シャットダウンが実行されないためである。なお高速スタートアップ機能が有効な状態でも、再起動操作が行われた場合は、再起動にあたり完全シャットダウンが実行される。そのため上記の場合、ユーザーがPCを再起動(完全シャットダウン)しない限り、ドライバの更新は適応されないままとなる。
従って、以下の実施形態では、高速スタートアップ機能が有効状態にあるPCにおいて、ユーザーにPCの「再起動」が必要となる旨を通知することで、デバイスドライバを正常に更新インストールできない問題を未然に防ぐ方法を説明する。
<実施形態1>
図1は、情報処理装置(PC101)を含むネットワークシステムの構成の一例を示すブロック図である。図1に示すシステムではPC101と、デバイス102と、ルーター103とが、ネットワーク104を介して接続されている。各装置は、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルとUDP(User Datagram Protocol)とにしたがって通信を行う。ネットワーク104は、ルーター103を介して外部ネットワーク105と接続されている。デバイス102は、プリンタ、複写機、ファクシミリ、またはスキャナ等の周辺機器またはそれらの複合機能を備える装置である。PC101はそれぞれのドライバをインストールすることでデバイス102を制御可能となる。
デバイス102は、TCP/IPプロトコルに対応する。また、UPnP(Universal Plug and Play)に対応したWindows OS標準のネットワークプロトコルであるWSD(Web Services on Devices)に対応する。また、近隣のネットワークデバイスの名前解決ができるLLMNR(Link-Local Multicast Name Resolution)プロトコルにも対応する。また、デバイス102のWSD機能、またはLLMNR機能は、ユーザーがデバイス102を直接操作して機能の有効/無効の切り替えができる。ルーター103は、DHCP(Dynamic Host Configuration Protocol)サーバー機能を有し、PC101、デバイス102にIPアドレスを割り当てる。
図2は、PC101のハードウェア構成図である。PC101は、モニタ201と、CPU202と、ROM203と、RAM204と、補助記憶装置205と、キーボード206と、ポインティングデバイス207と、ネットワークボード208とを備える。各構成要素は、バス209を介して相互に接続される。モニタ201は、アプリケーション401等のアプリケーションまたはドライバのUser Interface(以下、UI)を表示する。CPU202は、ROM203または補助記憶装置205が記憶する、アプリケーションまたはドライバ等のプログラムをRAM204にロードして、ロードしたプログラムを実行する。ROM203は、BIOS等の基本ソフトウェアまたは、PC101で実行する処理を実現するための各種プログラムを格納する。RAM204は、アプリケーション、ドライバなどのソフトウェア、またはそれらが利用するデータを一時的に記憶する。補助記憶装置205は、例えば、ハードディスクである。補助記憶装置205は、OS、アプリケーション、ドライバ、または種々のモジュールなどのソフトウェア(プログラム)を記憶する。補助記憶装置205が記憶するドライバには、デバイス102を制御するデバイスドライバ(スキャナドライバ、プリンタドライバ、またはファクシミリドライバ等)が含まれる。また、補助記憶装置205が記憶するドライバには、モニタ201における表示を制御する表示制御ドライバ、キーボード206を制御するキーボードドライバ、またはポインティングデバイス207を制御するポインティングデバイスドライバが含まれる。さらに、補助記憶装置205が記憶するドライバには、ネットワークボード208の通信を制御するネットワークドライバが含まれる。補助記憶装置205が記憶するアプリケーションには、図4に示すアプリケーション401、が含まれる。アプリケーション401は、TCP/IPによるデバイスの検索機能を有する。なお、アプリケーション401が、当該検索機能を有するモジュールを呼び出して、それらの機能を実行させるようにしてもよい。また、当該検索機能と当該情報設定機能とが、それぞれ別のモジュールに設けられていてもよい。キーボード206およびポインティングデバイス207は、ユーザーからの指示を入力する入力装置である。ネットワークボード208は、ネットワークを介して、デバイスとの通信を行う。
図3は、デバイス102がプリンタである場合のハードウェア構成の一例である。デバイス102は、CPU301と、ROM302と、RAM303と、通信部304と、記録部305と、操作部306と、表示部307とを備える。デバイス102を構成する各種構成要素は、バス308を介して相互に接続される。CPU301は、例えばマイクロプロセッサである。
CPU301は、デバイス102の中央処理装置として機能する。CPU301は、ROM302が記憶するプログラムをRAM303にロードし、ロードしたプログラムを実行することによって、通信部304、記録部305、操作部306および表示部307を制御する。ROM302は、デバイス102で実行する処理を実現するための各種プログラムを記憶する。RAM303は、CPU301のワークエリアとして用いられる。RAM303は、各種データを一時的に記憶する。通信部304は、ネットワークを介して、他のデバイスとの通信を行う。記録部305は、例えば、画像データを紙などの記録媒体に印刷する。
操作部306は、ボタンまたはタッチパネル等の入力装置で構成される。表示部307は、デバイス102を操作するための画面、またはデバイス102の各種情報を表示する。なお、デバイス102がプリンタ以外のデバイスである場合には、デバイス102は、記録部305に代えて、または記録部305に加えて、他の構成要素を備える。例えば、デバイス102がスキャナであれば、デバイス102は、他の構成として原稿上の画像を読み取る読取部を備える。
図4は、PC101のソフトウェア構成を示すブロック図である。図4に示すように、PC101は、アプリケーション401と、ドライバINFファイル402と、プリンタドライバ403と、スキャナドライバ404と、ファックスドライバ405とを備える。
アプリケーション401は、ドライバインストーラであり、PC101と接続しているデバイス102を検索し、検出したデバイスに係る情報をモニタ201に表示させる。そして、該表示された情報のうちユーザーにより選択された情報に対応するデバイスのドライバをPC101にインストールする。
ドライバINFファイル402には、アプリケーション401がインストールするドライバ(プリンタドライバ403、スキャナドライバ404、またはファックスドライバ405)に対応するデバイスの機種が含まれる。
アプリケーション401は、ドライバインストール部406と、再起動判定部407とを備える。図4に示す各部は、PC101のCPU202が補助記憶装置205に記憶されているアプリケーション401を読み出して実行することで実現される。本実施形態では、アプリケーション401は、同一ネットワーク内にあるデバイスを検索し、検出したデバイスをPC201が備えるモニタ201に表示する。一方、同一ネットワーク内にあるデバイスを検索できなかった場合、アプリケーション401はデバイスを1台も検出できなかった旨をモニタ201に表示する。
ドライバインストール部406は、ドライバをインストールする。なお、ドライバインストール部406は、デバイスの種類によって、インストールするドライバが異なる。例えば、デバイスがプリンタの場合、アプリケーション401はプリンタドライバ403をPC101にインストールする。また、デバイスがスキャナの場合、アプリケーション401はスキャナドライバ404をPC101にインストールする。さらに、デバイスがMFP(Multi-Function Printer)の場合、アプリケーション401はプリンタドライバ403と、スキャナドライバ404と、ファックスドライバ405とをPC101にインストールする。
再起動判定部407は、デバイスドライバのインストールにおいて、PC101の再起動が必要かどうか判定する。そして、判定の結果によってPC101のモニタ201に再起動を促す案内画面を表示する。また、デバイス102と通信してPC101に生成可能なポートの種類を特定する。常駐アプリ408は、インストーラが表示するユーザーへのPC101の即時再起動の案内に対して拒否した場合、一定間隔の時間でユーザーにPC再起動案内を通知する常駐アプリである。
図5は、アプリケーション401が表示するUI画面の一例を示す図である。図5(a)の画面は、アプリケーション401がドライバインストール部406、または再起動判定部407の処理を実行しているときに表示される。インストール中画面501は、内部処理のステータスを示す内部処理ステータス502を含む。例えば、アプリケーション401がドライバインストール部406の処理を実行している場合、内部処理ステータス502には「ドライバインストール中・・・」などのメッセージと進捗バー503が表示される。
図5(b)は、図5(a)の内部処理が完了したときに表示される、インストール完了画面504を示す図である。例えば、ドライバインストール部406の処理が完了した場合には、インストール完了画面504内に、インストール完了メッセージ505が表示される。なお、インストール完了画面504は、インストール中画面501とは異なる画面として表示しても良いし、インストール中画面501と同一画面内で表示内容を変えることで、その画面をインストール完了画面504としても良い。また、インストール完了画面504において、「終了」ボタン506または画面右上の×ボタンをユーザーが押下すると、アプリケーション401が再起動判定部407における処理を実行する。
図6は、アプリケーション401が表示するメッセージボックスの一例を示す図である。
アプリケーション401が再起動判定部407を実行した結果、PC101の再起動が必要と判断した場合、図6(a)に示すPC再起動選択メッセージ601を表示する。一方、アプリケーション401が再起動判定部407を実行した結果、PC101の再起動が不要と判断した場合、アプリケーション401はインストール完了画面504を閉じる。
図6(b)は、アプリケーション401が表示するメッセージボックスの一例である。具体的には、PC101の高速スタートアップ機能が有効状態であり、かつ、ユーザーがPC再起動選択メッセージ601の「いいえ」ボタン603または画面右上の×ボタンを押下した場合に表示される。このメッセージは、ユーザーに、最新のドライバに更新されるためにPC101の「シャットダウン」ではなく「再起動」が必要であることを通知するためのメッセージである。言い換えればこのメッセージは、ユーザーを、PC101の「再起動」のための操作を実行するよう促すためのメッセージである。さらに言い換えればこのメッセージは、ユーザーに、PC101の「再起動」が行われるまで最新のドライバに更新されないことを通知するためのメッセージである。なお本メッセージボックスには、例えば、PC101の高速スタートアップ機能が有効状態であることをユーザーに通知するためのメッセージが含まれていても良い。PC101のシステム設定において「高速スタートアップ機能」が有効となっているPCにおいて、「シャットダウン」は、「休止状態」となり、更新インストールの適用に必要な「完全シャットダウン」が実行されないためである。なお、「再起動」は、PCの完全シャットダウンを経由するため、更新インストールが適用される。
図7は、常駐アプリ408が表示するPC再起動通知ポップアップ701の一例である。PC再起動通知ポップアップ701は、PC再起動選択メッセージ604において、ユーザーが「OK」ボタンまたは画面右上の×ボタンを押下した後に、常駐アプリ408がユーザーに対し定期的に再起動を促す通知を表示するためのポップアップである。ユーザーが、「今すぐ再起動」ボタン702を押下すると、常駐アプリ408が終了しPC101を再起動する。ユーザーが、「あとで再起動」ボタン703または画面右上の×ボタンを押下すると、常駐アプリ408がPC再起動通知ポップアップ701を閉じる。常駐アプリ408がPC再起動通知ポップアップ701を閉じてから一定間隔の時間(例えば、30分)が経過したら、常駐アプリ408はPC再起動通知ポップアップ701を再表示する。なお、ユーザーがPC再起動通知ポップアップ701において、チェックボックス704を有効にして「あとで再起動」ボタン703を押下した場合、一定間隔の時間が経過したとしても常駐アプリ408はPC再起動通知ポップアップ701を再表示しない。
図8は、アプリケーション401が起動されてから終了するまでの処理を示すフローチャートである。本フローチャートは、アプリケーション401が備える各機能が実行する処理である。すなわち、PC101の補助記憶装置205に格納されたプログラムをCPU202がRAM204に展開して実行することで実現される。なお、各処理の説明における記号「S」は、当該フローチャートにおけるステップであることを意味し、図8以降についても同様である。
本フローチャートはユーザーがプリンタドライバ403、スキャナドライバ404、またはファックスドライバ405等の更新インストール操作を実行することで開始される。
S801においてアプリケーション401は、インストール中画面501を表示する。そして、アプリケーション401はドライバインストール処理を実行する。ドライバインストール処理はドライバインストール部406が行う。S801の後、アプリケーション401は、UI画面をインストール中画面501からインストール完了画面504に切り替える。インストール完了画面504において、ユーザーが「終了」ボタン、または画面右上の×ボタンを押下するとS802へ進む。なお、図5(a)において、ドライバインストール処理が完了した際、図5(b)のインストール完了画面504を表示せずにS802に進んでもよい。
S802においてアプリケーション401は、インストール完了画面504(またはインストール中画面501)を閉じて再起動案内処理を実行する。S802の詳細な処理は、図9で後述する。S802の後、アプリケーション401は本フローの処理を終了する。
図9は、図8の再起動案内処理の流れの詳細を示すフローチャートである。まず、S901において再起動判定部407は、ドライバインストール処理でドライバをインストールした結果、更新内容を適用するためにPC101を再起動する必要があるかを判定する。ここで、再起動をする必要があるかどうかの判定は、例えば、過去の同様の更新処理の際にドライバのインストールが必要であったかどうか、を基に作成された、「要PC再起動情報」を再起動判定部407がPC101から取得することで行ってもよい。PCの再起動が必要ないと判定された場合(S901においてNOと判定された場合)、再起動判定部407は図9の処理を終了する。一方、PC101を再起動する必要がある場合(S901においてYESと判定された場合)、S902に進む。
S902において再起動判定部407は、PC再起動選択メッセージ601を表示する。S903においてユーザーが、PC再起動選択メッセージ601にて「はい」ボタン602を押下した場合、再起動判定部407はS904に進み、PC101の即時再起動を実行する。S904の後、再起動判定部407は本フローを終了する。
一方、S903においてユーザーがPC再起動選択メッセージ601にて「いいえ」ボタン603または画面右上の×ボタンを押下した場合、S905に進む。
S905において再起動判定部407は、PC101の高速スタートアップ機能が有効になっているかを判定する。判定は、例えば、再起動判定部407がPC101から、現在のPC101においての高速スタートアップ機能の状態が記載された「高速スタートアップ機能状態情報」を取得することで行ってもよい。S905において、PC101の高速スタートアップ機能が無効状態、または、非サポートの場合、再起動判定部407は本フローを終了する。一方、S905においてPC101の高速スタートアップ機能が有効であった場合、S906に進む。
S906において再起動判定部407は、PC再起動喚起メッセージ604をモニタ201に表示する。ユーザーがPC再起動喚起メッセージ604に対して「OK」ボタン605、または画面右上の×ボタンを押下すると、再起動判定部407はPC再起動喚起メッセージ604を閉じる。S906においてPC再起動喚起メッセージ604が閉じられた後、S907において再起動判定部407は、常駐アプリ408が定期的にPC再起動通知ポップアップを表示するための現在時刻情報をPC101内のレジストリに登録する。
S908において、再起動判定部407は、常駐アプリ408をインストールする。常駐アプリ408のインストール処理後、常駐アプリ408を起動し、OSのスタートアップ登録、またはサービス登録することで、常駐起動を実現する。S908の後、再起動判定部407は本フローを終了する。
図10は、アプリケーション401がインストールした常駐アプリ408の処理の流れを示すフローチャートである。本フローチャートは、常駐アプリ408が実行する処理である。即ち、PC101の補助記憶装置205に格納されたプログラムをCPU202がRAM204に展開して実行することで実現される。
まず、S1001において、常駐アプリ408が起動する。常駐アプリ408は、S908においてアプリケーション401が常駐アプリ408のインストール処理を行った後、またはPC101起動時によるOS機能によって起動する。
S1002において、常駐アプリ408は、PC101内のレジストリからアプリケーション401が登録した時刻情報を取得する。S1002において、レジストリに時刻情報が登録されておらず時刻情報が取得できない場合にはS1010に進む。一方、S1002においてレジストリに時刻情報が登録されていた場合S1003に進む。S1003において常駐アプリ408は、レジストリに登録された時刻からの経過時間を確認する。レジストリに登録された時刻から一定時刻(例えば、30分)経過していなかった場合、S1010に進む。
一方、S1003においてレジストリに登録された時刻から一定時刻経過していた場合S1004に進む。S1004において常駐アプリ408はPC再起動通知ポップアップ701をモニタ201に表示する。S1005において常駐アプリ408は、ユーザーによって、PC再起動通知ポップアップ701上の「今すぐ再起動」ボタン702が押下された場合S1006に進む。一方、ユーザーが、PC再起動通知ポップアップ701上の「あとで再起動」ボタン703または画面右上の×ボタンを押下した場合、S1007に進む。
S1006において常駐アプリ408は、PC101に対して即時再起動を指示し、S1010に進む。S1007において常駐アプリ408は、「今後、通知を表示しない」チェックボックス704の状態を確認する。即ち、S1006において、ユーザーが「今後、通知を表示しない」チェックボックス704にチェックをした状態で、「あとで再起動」ボタン703を押した場合、本ステップ後、S1009に進む。
一方、ユーザーが「今後、通知を表示しない」チェックボックス704にチェックをしていない状態で、「あとで再起動」ボタン703を押した場合、本ステップ後、S1008に進む。S1008において常駐アプリ408は、レジストリに登録されている時刻情報を現在の時刻に更新し、S1010に進む。S1009において常駐アプリ408は、レジストリに登録されている時刻情報を削除し、S1010に進む。
S1010において、常駐アプリ408は、PC101のシャットダウンまたは再起動が行われたかを判定する。PC101のシャットダウンまたは再起動が行われた場合(即ち、YESと判定した場合)、常駐アプリ408はループ処理を抜けて本フローを終了する。一方、PC101のシャットダウンまたは再起動が行われていない場合(即ち、NOと判定した場合)、常駐アプリ408はループ処理の先頭(S1001)に移動する。本実施形態においては、S1002、S1008、およびS1009からS1010に進んだ場合、S1010での判定はNOとなりS1001に移動する。一方、S1007からS1010に進んだ場合、S1010での判定はYESとなり本フローは終了する。なお、本フローの終了とともに常駐アプリ408は、常駐起動を停止してもよい。
以上説明したように、本実施形態によれば、デバイスドライバを正常に更新インストールすることができる。具体的には、アプリケーション401は、ドライバを正常に更新インストールするためにPC再起動が必要であると判断した場合、PCの高速スタートアップ機能が有効状態であるかを確認する。これにより、高速スタートアップ機能が有効であることを把握していないユーザーに対して、PCシャットダウンではドライバを更新インストールできないことを通知することができる。また、ユーザーが即時再起動を拒否した場合でも常駐アプリ408などが定期的にPC再起動通知ポップアップを表示することで、ユーザー自身によるPC再起動のし忘れを防止することができる。
なお、本実施形態では、PC再起動通知ポップアップ701において、今後、「この通知を表示しない」チェックボックス704を設ける例を示したが、これに限定されるものではない。例えば、PC再起動喚起メッセージ604内に同様の機能を持つチェックボックスを設けても良い。
また、本実施形態では、アプリケーション401と一緒に同梱している常駐アプリ408からPC再起動通知ポップアップ701を表示する例を示したが、これに限定されるものではない。例えば、既にPC101内にある他のアプリケーションから通知ポップアップを表示するようにしても良いし、PC101に内蔵しているOSに、表示内容または表示間隔を指定できるポップアップ表示機能などが搭載されていれば、その機能を使用しても良い。
また、例えばプリンタドライバ403およびスキャナドライバ404の二つのドライバの更新インスト―ルを行う際、常駐アプリ408は、1つの起動で複数のドライバインストールに関する再起動の通知の管理を行ってもよい。
また上述ではアプリケーション401の処理として、S906の後にS907、S908が実行されているが、S907、S908が実行されずに処理が終了されても良い。これに伴い、図10に示した常駐アプリ408の処理も実行されなくても良い。
<実施形態2>
実施形態1の説明によれば、高速スタートアップ機能が有効であることを把握していないユーザーに対して、PCシャットダウンではドライバを更新インストールできないことを通知することができる。また、ユーザーが即時再起動拒否した場合でも常駐アプリなどが定期的にPC再起動通知ポップアップを表示することで、ユーザー自身によるPC再起動のし忘れを防止することができる。
本実施形態では、さらに以下のようなユースケースを想定する。即ち、例えば、既にインストールされているドライバの障害が軽微(例えば、ドライバのUI(User Interface)文言が文字欠けしている等)の場合である。インストール済みドライバの障害が重大(デバイス本体がエラーになる等)の場合、正常にインストールするためにはPC再起動が必要となるため実施形態1の方法は効果がある。しかし、既にインストールされているドライバの障害が軽微の場合はPC再起動により正常に更新インストールを行わなくてもデバイスドライバの利用に差支えがない。また、ポップアップなどで頻繁にユーザーへPC再起動を喚起するとユーザーによっては煩わしさを感じてしまう虞がある。
本実施形態では、上記のようなユースケースの場合でも、インストール済みデバイスドライバに残存する障害の重症度に応じてインストールシーケンスまたはPC再起動の案内方法を切り替えること方法を説明する。なお、実施形態1と重複する構成については説明を省略する。
図11は、本実施形態における、デバイス102と通信するPC101のソフトウェア構成を示すブロック図である。不具合履歴情報1101は、過去にデバイスドライバで発生した不具合情報を管理した外部ファイルである。不具合情報とは、不具合の重症度(以下、不具合レベル)と、不具合発生バージョンと、不具合の内容と、が段階的に対応付けられたものである。不具合履歴情報取得部1102は、不具合履歴情報1101に登録されている不具合レベルと不具合発生バージョンとを取得する。
ドライババージョン取得部1103は、PC101に既にインストールされているデバイスドライバのバージョン情報を取得する。ここで、取得するインストール済みドライバのバージョン情報は、ドライバINFファイル402に登録されているデバイス名称と同一のものを対象とする。対応レベル判定部1104は、インストール済みドライバの不具合レベルと、インストール済みドライバのバージョン情報と、PC101の高速スタートアップ機能の状態とを基に、アプリケーション401の対応レベルを決定する。
図12は、不具合履歴情報1101の一例を示す図である。例えば、バージョンがv1.5.70において、特定の用紙種で印刷するときのみ、エラーが発生する、という内容の不具合は、不具合レベル2として記載されている。
図13は、対応レベル決定の際の条件を示す図、および対応レベルに応じたアプリケーションの処理内容を示す図である。図13の(a)は、本実施形態におけるアプリケーション401が対応レベル判定部1104の対応レベルを決定する条件の一例を示す表である。
図13の(b)は、本実施形態におけるアプリケーション401が処理する対応レベル毎の処理内容の一例を示す表である。図13(a)、(b)に示すように、対応レベルは、インストール済みドライバの不具合レベルと高速スタートアップ機能とに基づいて段階的に設定されており、本実施形態では3段階に分けられている。アプリケーション401は対応レベルに応じた処理を実行することで、不具合に対しての処理を行っている。
図14は、本実施形態におけるアプリケーション401が起動されてから終了するまでの処理の流れを示すフローチャートである。本フローチャートは、アプリケーション401が備える各機能が実行する処理である。即ち、PC101の補助記憶装置205に格納されたプログラムをCPU202がRAM204に展開して実行することで実現される。
本フローは、ユーザーがアプリケーション401を起動するとことで開始される。S1401においてアプリケーション401は、インストール中画面501を表示するし対応レベルを決定する。
次に、S1402においてアプリケーション401は、デバイスドライバをインストールする。インストールが完了するとアプリケーション401は、UI画面をインストール中画面501からインストール完了画面504に切り替える。
インストール完了画面504において、ユーザーが「終了」ボタン506または画面右上の×ボタンを押下すると、アプリケーション401はインストール完了画面504を閉じてS1403へ移行し、PC101の再起動案内を実行する。S1403の後、アプリケーション401は図14の処理を終了する。なお、S1401にて判定した対応レベルは、S1402、S1403におけるドライバインストール処理、再起動案内処理の際の処置内容に反映される。以下、図14の対応レベル判定処理、ドライバインストール処理、および再起動案内処理の詳細な処理のフローをそれぞれ説明していく。
図15は、図14の対応レベル判定処理(S1401)の詳細な流れを示すフローチャートである。
まず、S1501においてアプリケーション401はPC101にインストール対象となるデバイスドライバが既にインストール済みかどうかを判定する。デバイスドライバがインストール済みでない場合、アプリケーション401は、図15の処理を終了する。一方、デバイスドライバをインストール済みである場合S1502に進む。
S1502において不具合履歴情報取得部1102は、不具合履歴情報1101から不具合情報を取得する。S1503においてドライババージョン取得部1103は、PC101にインストールされているインストール済みドライバからバージョン情報を取得する。
次に、S1504、S1505、およびS1506では対応レベル判定部1104は、インストール済みドライバのバージョンと不具合情報に含まれるバージョン情報とが一致したときの不具合レベルを判定する。S1504において対応レベル判定部1104は、インストール済みドライバのバージョンから不具合レベルが3であると判定した場合、S1507にて対応レベルを3に決定して本フローを終了する。S1504において不具合レベルが3でないと判定した場合はS1505に進む。S1505において対応レベル判定部1104は、不具合レベルが2であるかどうか判定する。不具合レベルが2であると判定した場合、S1508に進む。一方、不具合レベルが2でないと判定した場合、S1506に進む。S1508において対応レベル判定部1104は、PC101の高速スタートアップ機能の有効/無効状態を判定する。S1508において高速スタートアップ機能が有効状態の場合、対応レベル判定部1104は対応レベルを2に決定して、図15の処理を終了する。一方、S1508において高速スタートアップ機能が無効状態の場合、対応レベル判定部1104は対応レベルを1に決定して本フローを終了する。
さらにS1506において対応レベル判定部1104は、不具合レベルが1であると判定した場合、S1510に進み対応レベルを1に決定して、本フローを終了する。一方、インストール済みドライバのバージョンが不具合情報に含まれる不具合レベルと一致するバージョンがないと判定した場合(S1506でNOと判定した場合)対応レベル判定部1104は本フローを終了する。
図16は、図14のドライバインストール処理(S1402)の詳細な処理の流れを示すフローチャートである。まず、S1601においてドライバインストール部406は、対応レベル判定処理S1401の結果が対応レベル3かどうか判定する。対応レベル3以外と判定した場合はS1602へと進み、対応レベル3と判定した場合はS1603へと進む。なお、本ステップに用いる対応レベルは、S1401にて対応レベル判定部1104が判定した対応レベルをドライバインストール部406が取得したものである。
S1602においてドライバインストール部406は、アプリケーション401と一緒に同梱されている各種ドライバ(プリンタドライバ403、スキャナドライバ404、またはファックスドライバ405)をインストールする。その後、本フローを終了する。
一方、S1601でYESと判定した場合、ドライバインストール部406はS1603に進み、インストール済みドライバをアンインストールする。S1604においてアプリケーション401は、プリントスプーラを再起動する。これは、既にPC101にインストールされているドライバモジュールがプリントスプーラを握っていることで、PC101の再起動を行わないと正常に更新インストールを適応できない、という状況を避けるためである。S1604の後、S1602においてドライバインストール部406はアプリケーション401と一緒に同梱されている各種ドライバをインストールする。その後、本フローを終了する。
図17は、図14の再起動案内処理(S1403)の詳細な処理の流れを示すフローチャートである。
まずS1701において再起動判定部407は、図9のS901での処理と同様に、ドライバインストール処理S1402でドライバインストールした結果、ドライバを更新インストールするためにPC101を再起動する必要があるかを判定する。PCの再起動が必要ないと判定した場合、再起動判定部407は本フローを終了する。一方、PC101を再起動する必要がある場合と判定した場合、再起動判定部407は、S1702に進む。
S1702において再起動判定部407は、PC101のモニタ201にPC再起動選択メッセージ601を表示する。S1703においてユーザーがPC再起動選択メッセージ601の「はい」ボタン602を押下した場合S1704に進み、再起動判定部407はPC101の即時再起動を実行する。その後、再起動判定部407は本フローを終了する。一方S1703において、ユーザーがPC再起動選択メッセージ601の「いいえ」ボタン603または画面右上の×ボタンを押下した場合、S1705に進む。
S1705において再起動判定部407は、対応レベル判定処理S1401で確定した対応レベルが2かどうか判定する。対応レベルが2以外の場合(S1705においてNOと判定した場合)、再起動判定部407は本フローを終了する。一方、対応レベルが2の場合(S1705においてYESと判定した場合)、S1706に進む。
S1706において再起動判定部407は、モニタ201にPC再起動喚起メッセージ604を表示する。ユーザーがPC再起動喚起メッセージ604に対して「OK」ボタン605、または画面右上の×ボタンを押下すると、再起動判定部407はPC再起動喚起メッセージ604を閉じる。
S1707において再起動判定部407は、常駐アプリ408が定期的にPC再起動通知ポップアップを表示するための現在時刻情報をPC101内のレジストリに登録する。S1707の後、再起動判定部407は常駐アプリ408をインストールする。常駐アプリ408での処理に関しては図10と同様である。S1708の後、再起動判定部407は本フローを終了する。
以上のように、本実施形態によれば、アプリケーション401は、対応レベルに応じてインストールシーケンスまたはユーザーへのPC101再起動の案内方法を変更する。このような構成により、PC101に既にインストールされている古いデバイスドライバに障害が残っていたとしても、ユーザーがインストール済みドライバの障害に直面するのを極力防ぐことができる。また、本実施形態は、実施形態1に比べて、ユーザーがメッセージボックスまたはポップアップで再通知される機会を最小限に抑えることができる。
また、本実施形態によれば、アプリケーション401は対応レベル3の処理内容として、インストール済みドライバのアンインストールとプリントスプーラの再起動を実行する説明をした。しかし一方で、PC101のスペックによっては、新規インストールまたは更新インストールに比べてインストール中画面501の表示時間が長くなる虞がある。このため、アプリケーション401は、スプーラ再起動を行わずOSの動作仕様に則ってPC再起動を案内しても良い。また、更新インストールの対象となるモジュールがプリントスプーラによって握られたドライバモジュール以外の場合、アプリケーション401はインストール済みドライバのアンインストールS1603およびスプーラ再起動S1604をスキップしても良い。
なお、本実施形態では、図13の不具合レベルまたは図13の対応レベルを3段階とする例を示したが、これに限定されるものではない。例えば、不具合レベルと対応レベルとの段階を増やしても良いし減らしても良い。また、不具合レベルと対応レベルとを同じ段階に合わせなくても良い。
また、本実施形態では、図13のように、対応レベルとアプリケーション401の処理内容とを紐づけた例を示したが、これに限定されるものではない。例えば、対応レベル3と2の処理内容を逆にしても良いし、また異なる処理内容に変更しても良い。
また、本実施形態では、不具合履歴情報1101をアプリケーション401と同じパッケージに同梱されている例を示したが、これに限定されるものではない。例えば、不具合履歴情報1101をWebサーバー上で管理し、アプリケーション401がネットワーク経由でサーバーにアクセスして、内容を参照や自動ダウンロードして情報を取得しても良い。
<その他の実施形態>
前述の実施形態では、ドライバの更新インストールの際の処理について記載したが、これに限定されない。例えば高速スタートアップ機能を備えるPCにおいて、一般的なソフトウェアの更新インストールの際にも前述の実施形態を適用してもよい。また、更新インストールではなく、新規でソフトウェアをインストールする場合においても、前術の実施形態は有効である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。又、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (15)

  1. 第1のプログラムであって、
    情報処理装置に対してシャットダウン操作が行われた場合に前記情報処理装置を完全シャットダウンせずに前記情報処理装置を休止状態にするための機能である所定の機能を有する前記情報処理装置であって、前記所定の機能が有効化されている状態で前記情報処理装置に対してシャットダウン操作が行われた場合に完全シャットダウンせずに休止状態になり、前記所定の機能が有効化されていない状態で前記情報処理装置に対して前記シャットダウン操作が行われた場合に完全シャットダウンする前記情報処理装置のコンピュータに、
    前記第1のプログラムと異なる第2のプログラムをインストールするための処理を実行する処理ステップと、
    前記情報処理装置において前記所定の機能が有効化されているか否かを判定する判定ステップと、
    前記情報処理装置を再起動するようユーザに通知するための所定の通知を、前記情報処理装置において前記所定の機能が有効化されていると判定されたことに基づいて実行する通知ステップと、
    を実行させることを特徴とするプログラム。
  2. 前記情報処理装置において前記所定の機能が無効化されていると判定された場合、前記所定の通知が実行されないことを特徴とする請求項1に記載のプログラム。
  3. 前記情報処理装置を再起動するか否かの選択をユーザから受け付けるための選択画面を、前記第2のプログラムをインストールするための処理が実行された後に表示する表示制御ステップと、
    前記情報処理装置を再起動するための処理を、前記選択画面において前記情報処理装置を再起動する選択が行われたことに基づいて実行する再起動ステップと、
    をさらに実行させ、
    前記所定の通知は、前記選択画面において前記情報処理装置を再起動しない選択が行われたこと及び、前記情報処理装置において前記所定の機能が有効化されていると判定されたことに基づいて実行される、
    ことを特徴とする請求項1又は2に記載のプログラム。
  4. 前記選択画面において前記情報処理装置を再起動する選択が行われた場合、前記情報処理装置において前記所定の機能が有効化されているか否かにかかわらず、前記所定の通知が実行されずに前記情報処理装置を再起動するための処理が実行されることを特徴とする請求項3に記載のプログラム。
  5. 前記選択画面において前記情報処理装置を再起動しない選択が行われ、且つ、前記情報処理装置において前記所定の機能が有効化されていないと判定された場合、前記所定の通知が実行されないことを特徴とする請求項3又は4に記載のプログラム。
  6. 前記所定の機能は、高速スタートアップ機能であることを特徴とする請求項1乃至5のいずれか1項に記載のプログラム。
  7. 前記所定の機能は、前記情報処理装置のシャットダウン操作が行われた後の前記情報処理装置の起動を早くするための機能であることを特徴とする請求項1乃至6のいずれか1項に記載のプログラム。
  8. 前記第1のプログラムは、前記第2のプログラムをインストールするためのインストーラであることを特徴とする請求項1乃至7のいずれか1項に記載のプログラム。
  9. 前記第2のプログラムは、プリンタドライバであることを特徴とする請求項1乃至8のいずれか1項に記載のプログラム。
  10. 前記第1のプログラム及び前記第2のプログラムと異なる第3のプログラムをインストールするための処理を実行する第2処理ステップをさらに有し、
    前記第3のプログラムによっても、前記所定の通知が実行されることを特徴とする請求項1乃至9のいずれか1項に記載のプログラム。
  11. 前記第3のプログラムは、所定の時間が経過したことに基づいて前記所定の通知を実行することを特徴とする請求項10に記載のプログラム。
  12. 前記第1のプログラムにより実行される前記所定の通知によって表示される画面と、前記第3のプログラムにより実行される前記所定の通知によって表示される画面は異なることを特徴とする請求項10又は11に記載のプログラム。
  13. 前記第2のプログラムにより実行される前記所定の通知によって表示される画面は、前記情報処理装置を再起動するか否かの選択をユーザから受け付けるための領域を含むことを特徴とする請求項12に記載のプログラム。
  14. 第1のプログラムを有し、情報処理装置に対してシャットダウン操作が行われた場合に前記情報処理装置を完全シャットダウンせずに前記情報処理装置を休止状態にするための機能である所定の機能を有する前記情報処理装置であって、前記所定の機能が有効化されている状態で前記情報処理装置に対してシャットダウン操作が行われた場合に完全シャットダウンせずに休止状態になり、前記所定の機能が有効化されていない状態で前記情報処理装置に対して前記シャットダウン操作が行われた場合に完全シャットダウンする前記情報処理装置の制御方法であって、
    前記第1のプログラムと異なる第2のプログラムをインストールするための処理を実行する処理ステップと、
    前記情報処理装置において前記所定の機能が有効化されているか否かを判定する判定ステップと、
    前記情報処理装置を再起動するようユーザに通知するための所定の通知を、前記情報処理装置において前記所定の機能が有効化されていると判定されたことに基づいて実行する通知ステップと、
    を有することを特徴とするコンピュータにより実行される制御方法。
  15. 第1のプログラムを有し、情報処理装置に対してシャットダウン操作が行われた場合に前記情報処理装置を完全シャットダウンせずに前記情報処理装置を休止状態にするための機能である所定の機能を有する前記情報処理装置であって、前記所定の機能が有効化されている状態で前記情報処理装置に対してシャットダウン操作が行われた場合に完全シャットダウンせずに休止状態になり、前記所定の機能が有効化されていない状態で前記情報処理装置に対して前記シャットダウン操作が行われた場合に完全シャットダウンする前記情報処理装置であって、
    前記第1のプログラムと異なる第2のプログラムをインストールするための処理を実行する処理手段と、
    前記情報処理装置において前記所定の機能が有効化されているか否かを判定する判定手段と、
    前記情報処理装置を再起動するようユーザに通知するための所定の通知を、前記情報処理装置において前記所定の機能が有効化されていると判定されたことに基づいて実行する通知手段と、
    を有することを特徴とする情報処理装置。
JP2021201545A 2021-12-13 2021-12-13 情報処理装置、制御方法、およびプログラム Active JP7814907B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2021201545A JP7814907B2 (ja) 2021-12-13 2021-12-13 情報処理装置、制御方法、およびプログラム
US18/063,184 US20230185553A1 (en) 2021-12-13 2022-12-08 Information processing apparatus, control method of information processing apparatus, and storage medium
EP22212228.5A EP4195024B1 (en) 2021-12-13 2022-12-08 Information processing apparatus, control method of information processing apparatus, and storage medium
CN202211601228.7A CN116263647A (zh) 2021-12-13 2022-12-13 信息处理设备、信息处理设备的控制方法和存储介质
KR1020220174122A KR20230089565A (ko) 2021-12-13 2022-12-13 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 저장 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021201545A JP7814907B2 (ja) 2021-12-13 2021-12-13 情報処理装置、制御方法、およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2026009354A Division JP2026067944A (ja) 2026-01-23 情報処理装置、制御方法、およびプログラム

Publications (3)

Publication Number Publication Date
JP2023087257A JP2023087257A (ja) 2023-06-23
JP2023087257A5 JP2023087257A5 (ja) 2024-12-16
JP7814907B2 true JP7814907B2 (ja) 2026-02-17

Family

ID=84463074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021201545A Active JP7814907B2 (ja) 2021-12-13 2021-12-13 情報処理装置、制御方法、およびプログラム

Country Status (5)

Country Link
US (1) US20230185553A1 (ja)
EP (1) EP4195024B1 (ja)
JP (1) JP7814907B2 (ja)
KR (1) KR20230089565A (ja)
CN (1) CN116263647A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009277253A (ja) 2002-02-14 2009-11-26 Canon Inc 情報処理装置、情報処理方法、および情報処理装置制御プログラム
US20120191999A1 (en) 2011-01-26 2012-07-26 Canon Kabushiki Kaisha Data processing apparatus capable of controlling power supply, control method therefor, and storage medium
JP2013545207A (ja) 2010-12-06 2013-12-19 マイクロソフト コーポレーション 高速コンピュータースタートアップ
JP2014501976A (ja) 2010-12-06 2014-01-23 マイクロソフト コーポレーション 高速コンピューター起動
JP2021048607A (ja) 2020-11-25 2021-03-25 キヤノン株式会社 情報処理装置、制御方法、およびそのプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308215A (ja) * 2002-02-14 2003-10-31 Canon Inc 情報処理装置、制御方法、制御プログラム
JP2004157871A (ja) * 2002-11-07 2004-06-03 Ntt Communications Kk ファームウェア更新方法、装置およびプログラム
US8234486B2 (en) * 2007-09-14 2012-07-31 International Business Machines Corporation Managing reboot operations
CN103153707B (zh) * 2011-08-31 2016-08-10 观致汽车有限公司 管理车辆中来电信息的系统和方法
US9075499B2 (en) * 2012-08-24 2015-07-07 Cellco Partnership Method and apparatus for providing reference content
US20160103750A1 (en) * 2014-10-10 2016-04-14 Adp, Llc Application programming interface monitoring tool notification and escalation method and system
JP6242930B2 (ja) * 2016-03-17 2017-12-06 株式会社東芝 センサデータ管理装置、センサデータ管理方法およびプログラム
CN107193591B (zh) * 2017-05-17 2020-12-18 南京投知科技有限公司 应用快速启动方法与移动终端以及计算机可读介质
JP7484386B2 (ja) * 2020-04-28 2024-05-16 ブラザー工業株式会社 プログラムおよび情報処理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009277253A (ja) 2002-02-14 2009-11-26 Canon Inc 情報処理装置、情報処理方法、および情報処理装置制御プログラム
JP2013545207A (ja) 2010-12-06 2013-12-19 マイクロソフト コーポレーション 高速コンピュータースタートアップ
JP2014501976A (ja) 2010-12-06 2014-01-23 マイクロソフト コーポレーション 高速コンピューター起動
US20120191999A1 (en) 2011-01-26 2012-07-26 Canon Kabushiki Kaisha Data processing apparatus capable of controlling power supply, control method therefor, and storage medium
JP2021048607A (ja) 2020-11-25 2021-03-25 キヤノン株式会社 情報処理装置、制御方法、およびそのプログラム

Also Published As

Publication number Publication date
CN116263647A (zh) 2023-06-16
KR20230089565A (ko) 2023-06-20
EP4195024A1 (en) 2023-06-14
JP2023087257A (ja) 2023-06-23
EP4195024B1 (en) 2024-11-27
US20230185553A1 (en) 2023-06-15

Similar Documents

Publication Publication Date Title
US8286167B2 (en) Image processing apparatus, job management method, and storage medium
US9529560B2 (en) Information processing apparatus, information processing method, and program
US20190171443A1 (en) Method of Updating Application and Recording Medium
JP5699500B2 (ja) インストールプログラム、インストール方法、画像形成装置、及び記録媒体
JP2003308215A (ja) 情報処理装置、制御方法、制御プログラム
EP2175361A2 (en) Control device setting method and program
JP2003131879A (ja) リブートを行うことなくウィンドウズ(登録商標)インストーラサービスをインストールするシステム及び方法
JP7662018B2 (ja) 電子機器、情報処理システムおよび情報処理方法
US8341385B2 (en) Information processing device, information processing method, and computer readable medium therefor
JP7814907B2 (ja) 情報処理装置、制御方法、およびプログラム
US8452898B2 (en) Information processing apparatus, method therefor, and computer-readable storage medium
JP5458838B2 (ja) 画像形成装置と画像形成装置の障害復旧方法とプログラム
JP2026067944A (ja) 情報処理装置、制御方法、およびプログラム
EP2234014A2 (en) Information processing apparatus, information processing method, and information processing system
JP6488618B2 (ja) 端末装置とコンピュータプログラム
JP2004334679A (ja) 情報処理装置、情報処理装置のプログラム実行方式、情報処理装置のプログラム実行方式を記録した記憶媒体
US20170244846A1 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
US20260056819A1 (en) Storage medium, information processing apparatus, and control method
US11509788B2 (en) Information processing apparatus and non-transitory computer readable medium
US20250138809A1 (en) Terminal device, information processing system, and application updating method
KR20140062241A (ko) Pc의 원격 복구 구성 장치, 원격 복구 시스템 및 원격 복구 방법
JP2025164602A (ja) 画像処理装置及びファームウェア更新方法
JP2024047709A (ja) 情報処理装置及びプログラム
JP2025041336A (ja) プログラム、デバイスの指定方法、および情報処理装置
JP2025164599A (ja) 画像処理装置及びファームウェア更新方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241205

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20250801

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20251007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20251015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20251028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260204

R150 Certificate of patent or registration of utility model

Ref document number: 7814907

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150