JP5127722B2 - アプリケーションの遅延起動 - Google Patents

アプリケーションの遅延起動 Download PDF

Info

Publication number
JP5127722B2
JP5127722B2 JP2008543425A JP2008543425A JP5127722B2 JP 5127722 B2 JP5127722 B2 JP 5127722B2 JP 2008543425 A JP2008543425 A JP 2008543425A JP 2008543425 A JP2008543425 A JP 2008543425A JP 5127722 B2 JP5127722 B2 JP 5127722B2
Authority
JP
Japan
Prior art keywords
startup
computer
priority
application
startup application
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
JP2008543425A
Other languages
English (en)
Other versions
JP2009517784A (ja
JP2009517784A5 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009517784A publication Critical patent/JP2009517784A/ja
Publication of JP2009517784A5 publication Critical patent/JP2009517784A5/ja
Application granted granted Critical
Publication of JP5127722B2 publication Critical patent/JP5127722B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Description

コンピュータオペレーティングシステムは、コンピュータが電源を入れられるか又はユーザがログオンする場合に起動されるアプリケーションを登録する多数の方法を提供する。これらのスタートアップアプリケーションは、ブート(電源を入れる)時及びログオン時の性能問題の主な原因である可能性がある。インストール時に、ソフトウェアアプリケーションは多くの場合に自身をスタートアップアプリケーションとして登録し、この際、このことがユーザにとって必要であるか否かは考慮されない。ユーザは多くの場合に混乱し且つこのオプションを無効にする方法を知らず、最終的な結果として、多数のスタートアップアプリケーションが平均的なユーザのマシン上に存在し、当該マシンを初期化するのに時間がかかることになる。この初期化中に、それらのスタートアップアプリケーションのほとんどがユーザによって即座に必要とされないか又は望まれないものであり、より遅いペースで起動することができる場合であっても、それらのスタートアップアプリケーションはマシン上のシステム資源を消費する。Microsoft Windows(登録商標)の多数の利用者は、この問題のために、ログオン後に自身のコンピュータの使用を開始することが可能になるまで長い間待たなければならない。当然のことながら、インスタントメッセンジャーアプリケーション、アンチウイルスアプリケーション又はアンチスパイウェアアプリケーション等の必要且つ重要なスタートアップアプリケーションは存在する。
或る特定のアプリケーションの起動を遅延させることにより、システムの性能を知覚される程に改善することができる。これは、これらのプロセスを起動する時間を遅延することによって、且つ/又はプロセッサ資源、I/O資源若しくはメモリ資源等の様々なシステム資源に対する、これらのプロセスの優先順位を低くすることによって達成することができる。これによって、ユーザがいかなる目的を望んでいようとこれらの資源をより迅速にユーザが利用できるようにすることができ、ユーザは、スタートアップアプリケーションが初期化を終了するのを待つ必要はない。さらに、ユーザがスタートアップ優先順位を調整することを可能にするために、ユーザインタフェースを開示することができる。
以下の文は、多数の異なる実施形態の詳細な説明を記載するが、この説明の法定の範囲は、本特許の特許請求の範囲の文言によって画定されることを理解されたい。この詳細な説明は、例示としてのみ解釈され、あらゆる可能な実施形態を説明するものではない。これは、あらゆる可能な実施形態を説明することは、不可能ではないとしても、実際的ではないためである。多数の代替の実施形態は、現在の技術、又は本特許の出願日後に開発される技術のいずれかを使用して実施することができ、これは、依然として本特許請求の範囲の範囲内にある。
また、用語が、「本明細書において使用される場合、用語『 』は本明細書によって、…を意味するように定義される」という文又は同様の文を使用して本特許において明示的に定義されない限り、その用語の意味を、その明白な又は通常の意味を超えて、明示的にも、暗黙的にも限定する意図はなく、そのような用語は、(本特許請求の範囲の文言以外の)本特許の任意の節において述べられる任意の文に基づいて範囲が限定されるものと解釈するべきではない。本特許の特許請求の範囲に記載されるあらゆる用語が単一の意味を有するように本特許において参照される限りにおいては、これは、読者を困惑させないために明瞭さのためにのみ行われ、そのような請求項の用語が、暗示又はその他によってその単一の意味に限定されることは意図されない。最後に、請求項の構成要素が、構造を一切記載せずに単語「手段」及び機能を記載することによって規定されない限り、あらゆる請求項の構成要素の範囲が、米国特許法第112条第6パラグラフの適用に基づいて解釈されることは意図されない。
図1に、特許請求される方法のステップ及び装置に関するシステムを実装することができる適切なコンピューティングシステム環境100の一例を示す。コンピューティングシステム環境100は、適切なコンピューティング環境の一例に過ぎず、特許請求の範囲に記載の装置の方法の使用又は機能の範囲についていかなる限定をも示唆するようには意図されない。また、コンピューティング環境100は、例示的な動作環境100に示す構成要素のうちの任意の1つ又はそれらの組合せに関連するなんらかの依存又は必要要件を有するものとも解釈すべきでない。
特許請求される方法のステップ及び装置は、多数の他の汎用又は特殊目的のコンピューティングシステムの環境又は構成と共に動作する。特許請求の範囲に記載の方法又は装置に使用するのに適している可能性がある既知のコンピューティングシステム、コンピューティング環境、及び/又はコンピューティング構成の例には、限定はしないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイス又はラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能な家電製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステム若しくはデバイスのうちのいずれかを含む分散コンピューティング環境等が含まれる。
特許請求される方法のステップ及び装置は、コンピュータによって実行されるプログラムモジュール等のコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等が含まれる。本方法及び本装置は、通信ネットワークを通じてつながれている遠隔の処理デバイスによってタスクが実行される分散コンピューティング環境で実装することもできる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカル及びリモートの両方のコンピュータ記憶媒体に置くことができる。
図1を参照すると、特許請求される方法のステップ及び装置を実装する例示的なシステムは、コンピュータ110の形態の汎用コンピューティングデバイスを含む。コンピュータ110の構成要素には、限定はしないが、処理装置120と、システムメモリ130と、システムメモリを含む各種のシステム構成要素を処理装置120に結合するシステムバス121とが含まれ得る。システムバス121は、各種のバスアーキテクチャのうちのいずれかを使用する、メモリバス又はメモリコントローラ、ペリフェラルバス、及びローカルバスを含む数種のバス構造のうちのいずれかとすることができる。限定ではなく例として、そのようなアーキテクチャには、インダストリスタンダードアーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクススタンダードアソシエーション(VESA)ローカルバス、及び、メザニンバスとしても知られている周辺装置相互接続(PCI)バスが含まれる。
コンピュータ110は通常、各種のコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110によるアクセスが可能な任意の利用可能媒体とすることができ、揮発性の媒体及び不揮発性の媒体の両方、並びに取り外し可能な媒体及び取り外し不能な媒体の両方を含む。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体とから成ることができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータ等の情報を記憶するあらゆる方式又は技術で実装される、揮発性の媒体及び不揮発性の媒体の両方、並びに取り外し可能な媒体及び取り外し不能な媒体の両方が含まれる。コンピュータ記憶媒体には、限定はしないが、RAM、ROM、EEPROM、フラッシュメモリ、若しくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、若しくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、若しくは他の磁気記憶装置、又は必要とする情報を記憶するために使用することができると共にコンピュータ110によるアクセスが可能な他の任意の媒体が含まれる。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを、搬送波又は他の移送機構等の変調データ信号で実施し、任意の情報伝達媒体を含む。用語「変調データ信号」とは、信号中に情報を符号化するような方式でその特性のうちの1つ又は複数を設定又は変化させた信号を意味する。限定ではなく例として、通信媒体には、有線ネットワーク又は直接配線接続等の有線媒体と、音響、RF、赤外線、及び他の無線媒体等の無線媒体とが含まれる。上記のうちの任意のものの組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
システムメモリ130は、読み取り専用メモリ(ROM)131及びランダムアクセスメモリ(RAM)132等の揮発性メモリ及び/又は不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動中等にコンピュータ110内の要素間の情報転送を助ける基本ルーチンを含む基本入出力システム133(BIOS)は、通常、ROM131に記憶される。RAM132は、通常、処理装置120から即座にアクセス可能な且つ/又は処理装置120によって現在操作されているデータ及び/又はプログラムモジュールを保持する。限定ではなく例として、図1には、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、及びプログラムデータ137が示される。
コンピュータ110は、この他の取り外し可能/取り外し不能な、揮発性/不揮発性のコンピュータ記憶媒体も含むことができる。例としてのみ、図1には、取り外し不能な不揮発性の磁気媒体の読み書きを行うハードディスクドライブ140と、取り外し可能な不揮発性の磁気ディスク152の読み書きを行う磁気ディスクドライブ151と、CD−ROM又は他の光媒体等の取り外し可能な不揮発性の光ディスク156の読み書きを行う光ディスクドライブ155が示される。例示的な動作環境で使用することができる他の取り外し可能/取り外し不能な、揮発性/不揮発性のコンピュータ記憶媒体には、限定はしないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM等が含まれる。ハードディスクドライブ141は通常、インタフェース140等の取り外し不能メモリインタフェースを通じてシステムバス121に接続され、磁気ディスクドライブ151及び光ディスクドライブ155は、通常、インタフェース150等の取り外し可能メモリインタフェースによってシステムバス121に接続される。
上述され且つ図1に示されるドライブとそれに関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、及び他のデータの記憶をコンピュータ110に提供する。図1では、例えば、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、及びプログラムデータ147を記憶しているように示される。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、及びプログラムデータ137と同じとすることができるか、又は異なるものとすることができることに留意されたい。ここでは、それらが最低でも異なるコピーであることを示すために、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、及びプログラムデータ147には、異なる参照符号を付している。ユーザは、キーボード162、及び一般にはマウス、トラックボール又はタッチパッドと称されるポインティングデバイス161等の入力デバイスを通じてコンピュータ20にコマンド及び情報を入力することができる。他の入力デバイス(図示せず)としては、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナ等を含むことができる。これらの入力デバイス及び他の入力デバイスは、多くの場合、システムバスに結合されているユーザ入力インタフェース160を通じて処理装置120に接続されるが、パラレルポート、ゲームポート、又はユニバーサルシリアルバス(USB)等の他のインタフェース及びバス構造によって接続することもできる。モニタ191又は他のタイプの表示デバイスも、ビデオインタフェース190等のインタフェースを介してシステムバス121に接続される。モニタに加えて、コンピュータは、スピーカ197及びプリンタ196等の他の周辺出力デバイスも含むことができ、それらの周辺出力デバイスは、出力周辺インタフェース190を通じて接続されることができる。
コンピュータ110は、リモートコンピュータ180等の1つ又は複数のリモートコンピュータとの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、又は他の一般的なネットワークノードとすることができ、図1にはメモリ記憶装置181のみが示されているが、通常は、コンピュータ110に関連して上述した要素の多く又はすべてを含む。図1に示す論理接続は、ローカルエリアネットワーク(LAN)171及びワイドエリアネットワーク(WAN)173を含むが、他のネットワークを含むことも可能である。このようなネットワーキング環境は、オフィス、企業内のコンピュータネットワーク、イントラネット、及びインターネットで一般的である。
LANネットワーキング環境で使用される場合、コンピュータ110は、ネットワークインタフェース又はアダプタ170を通じてLAN171に接続される。WANネットワーキング環境で使用される場合、コンピュータ110は、通常、インターネット等のWAN173を通じて通信を確立するモデム172又は他の手段を含む。モデム172は、内蔵型でも外付け型でもよく、ユーザ入力インタフェース160又は他の適切な機構を介してシステムバス121に接続することができる。ネットワーク環境では、コンピュータ110に関連して図示するプログラムモジュール又はその一部は、遠隔のメモリ記憶デバイスに記憶することができる。限定ではなく例として、図1は、リモートアプリケーションプログラム185がメモリデバイス181にあるように示す。図示されるネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段を使用することができることは理解されるであろう。
アプリケーションの遅延起動
「Run」レジストリキー等の種々の登録ポイントからスタートアップアプリケーションを削除することによってスタートアッププロセスからスタートアップアプリケーションを「削除する」オプションをユーザに提供することは有用であると考えられるが、この機能には幾つかの問題がある。第1に、スタートアップアプリケーションは多くの場合に、これらの登録ポイントをモニタリングし、自身を再び追加する。第2に、完全にアプリケーションをスタートアップシーケンスから削除することによって、幾つかの機能を不注意により壊すか又は失う場合がある。
ユーザに、ログオン時の自身のコンピュータの制御を取り消すことを可能にすると共に、スタートアップからスタートアップアプリケーションを完全に削除する必要がないことを可能にするスタートアップアプリケーションを「遅延する」方法は、1つのソリューションであり、以下において説明される。スタートアップアプリケーションがユーザのシステムに与える影響は、CPU、I/O及びメモリといった種類のシステム資源に対するこれらのプロセスの各優先順位を低くすることによって、これらのプロセスのCPU消費、I/O消費及びメモリ消費を制限することによって低減することができる。スタートアップアプリケーションが起動されると、本方法は、それらのCPU、I/O及びページの優先順位を低くし、それらをトラッキングオブジェクトに置くことができる。この方法は、「ボックス化」と称される。設定可能な期間の後に、本方法は、それらの優先順位を元の設定に戻すことができる。
図2は、本特許請求の範囲による方法を高水準で示すものとすることができる。ブロック200において、ユーザは、ユーザインタフェースを使用して或る特定のアプリケーションを遅延するように設定することができる。ブロック205において、本方法は、メモリに記憶されるべく選択されたアプリケーションを記憶することができる。ブロック210において、オペレーティングシステムが起動することができる。ブロック215において、本方法は、スタートアップアプリケーションを起動することができる。ブロック220において、本方法は、特定のアプリケーションが遅延されるべきプロセスとしてブロック210において記憶されているか否かを判断することができる。その判断が「いいえ」である場合は、ブロック225において、本方法を通常通りに開始することができ、本方法を終了させることができる。ブロック220における判断が「はい」である場合は、本方法は、特定のアプリケーションに関する生成プロセスを保留することができる(230)。ブロック235において、本方法は、遅延される特定のアプリケーションをジョブコンテナオブジェクトに加えることができる。ブロック240において、本方法は、特定のアプリケーションに対するプロセス優先順位を低くすることができ、ワーキングセットを制限することができる。ブロック245において、タイマを起動することができ、ブロック250において、そのタイマは終了することができる。ブロック255において、特定のアプリケーションの優先順位を戻すことができ、本方法は、ワーキングセットの制限を解除することができる。
一実施形態では、システムレジストリの保護されているキーに、画像パス毎にボックス化を有効にするか又は無効にすることを可能にする例外リストが含まれる。例えば、例外リストにリスト化されていないすべてのアプリケーションは、コンテナオブジェクトにボックス化、すなわち置くことができる。
オペレーティングシステムは、ボックス化されている初期プロセス及び派生プロセスをトラッキングする必要がある。例えば、スタートアップアプリケーションがボックス化されており且つ所定のアプリケーションプロセスが子プロセスを起動させる場合、その子プロセスもボックス化されるべきであり、親(初期)プロセスがボックス化解除される場合に、同様にボックス化解除されるべきである。Microsoft Windows(登録商標)では、ジョブオブジェクトを使用してこのタスクを果たすことができる。
本方法は、スタートアップアプリケーションがルールによりボックス化解除される前に自身の優先順位を高くし直すこと(これは、本方法の利点を大幅に低減するであろう)に対して保護されることが可能である場合に、最も効率的になるであろう。Microsoft Windows(登録商標)では、ジョブオブジェクトを使用して、プロセスに対して逃れることができない優先順位制約を課すことができるが、これは、ジョブオブジェクトの元の生成者(つまりボックス、ひいてはオペレーティングシステム)が、所定のアプリケーションをボックス化解除する場合等にその制約を取り除くことを自ら進んで決定する場合には該当しない。
本方法は、システムレジストリを使用して、プロセスがスタートアップアプリケーションとして実行される場合に当該プロセスを(その実行可能な画像ファイルの名前を介して)ボックス化するか否かに関して画像毎のファイル名設定を記憶することができる。Windows(登録商標)システムでは、多数の異なる機能を実行することができる「rundll32.exe」のようなユニバーサルメカニズムに対して特別な注意を払う必要がある場合がある。したがって、ユーザの意図は、「rundll32.exe」に対する全面的な制限よりもきめ細かい制御がこれらの機能に対して行われる場合に、最も良く反映することができる。本方法は、キーをアクセス制御制限(「ACL」)し、一般的なスタートアップアプリケーションがそのキーにおける自身の設定を変更できないようにする必要がある場合がある。
本方法は、すべてのスタートアップアプリケーションを起動すると、或る特定の設定可能なタイムアウト(例えば30秒)の後にジョブを解放する(プロセスを当該プロセスの制約から解放し且つ当該プロセスの優先順位を戻す)ようにボックスオブジェクトを設定することができる。
本方法はまた、オペレーティングシステムの他の部分と共同して、ユーザがボックス化アプリケーションとインタラクションしているか否かを検出すると共に、その情報を使用して、ボックス化タイムアウトが満了する前に所定のアプリケーションをボックス化解除することができる。これによって、オペレーティングシステムが、一般的な場合に望ましくないスタートアップアプリケーションのコストを低減できることになるが、ユーザにアプリケーションが必要となった場合に、優先順位制約がそのシステムを使用するユーザエクスペリエンスに対してどの時点で有害となるかをオペレーティングシステムが動的に検出することもできるようになる。これらのアプリケーションに関するユーザアクティビティを検出する方法は、アプリケーションによってアクティビティをスプーフィング(spoofing)することを防止するべきである。これは、このスプーフィングは本方法の有用性を損なうためである。スタートアップアプリケーションがインタラクティブに使用されているという知識は、履歴データとして保つこともでき、後においてそのスタートアップアプリケーションがボックス化されることを防止するために使用することができる。このことは、ユーザエクスペリエンスを改善する可能性がある。ユーザがスタートアップアプリケーションとインタラクションしている時を判断する1つの簡単な例としての手法は、スタートアップアプリケーションのウィンドウのいずれかが最前面にあるウィンドウになっているか否か、及びマウスカーソルがそのウィンドウ内に位置しているか否かを繰り返し調べることである。
図3は、本特許請求の範囲による方法の別の実施形態を示すものとすることができる。ブロック300において、本方法によって、優先順位が、プロセスの優先順位クラス、I/O優先順位、優先順位ページ、ワーキングセット及びネットワーキング能力のうちの1つに割り当てられることを許可する。ブロック305において、本方法は、プロセスをジョブオブジェクトに置くことができ、それによって、プロセス及び従属するプロセスをトラッキングすることができる。ブロック310において、本方法によって、起動時に優先順位を調整してより低くすることを許可する。ブロック315において、本方法によって、起動後の或る期間の遅延の後に優先順位を調整してより高くすることを許可する。ブロック320において、本方法によって、使用率が高い期間中に優先順位を調整してより低くすることを許可する。ブロック325において、本方法によって、使用率が高い期間の後に優先順位を調整してより高くすることを許可する。ブロック330において、本方法は、すべてのスタートアップアプリケーションが加わるセッション規模のジョブオブジェクトを生成することができる。ブロック335において、本方法は、複数のプロセスを1つのグループとしてボックス化し、単一のプロセスが単独でボックス化解除されるのを不可能にすることができる。ブロック340において、本方法は、スレッドレベルのストレージを使用してボックス化が要求されているという情報をシステムに伝送することができる。これは、(CBox)オブジェクトを「スタートアップアプリケーションスレッドを実行(Run Startup Apps Thread)」に生成すること、及びスレッドレベルのストレージポインタを(CBox)に隣接して確保することによって達成することができる。ブロック345において、本方法は、変更されたAPIスタックを使用してボックス化が要求されているという情報をシステムに伝送することができる。ブロック350において、本方法は、プロセス生成において、スレッドレベルのストレージから(CBox)オブジェクトを発行し、プロセスをボックス化するか否かを判断する。ブロック355において、本方法は、参照カウントポインタであるポインタを使用することができる。ブロック360において、本方法は、スレッドレベルのストレージスロットによって指し示されるボックスオブジェクトに対する(to)参照カウンタをインクリメントすることができる。ブロック365において、本方法は、設定可能な時間期間後にボックスオブジェクトからジョブを解放するように設定することができる。ブロック370において、本方法は、レジストリを使用して、プロセスがスタートアップアプリケーションとして実行される場合に画像をボックス化するか否かに関する画像毎のビューア設定を記憶することができる。ブロック375において、本方法は、レジストリに対するキーをアクセス制御リストに置くことができ、その結果、一般的なスタートアップアプリケーションがそのキーにおける自身の設定を変更できないようにする。ブロック375において、本方法は、ボックス化アプリケーションが優先順位設定を壊すことができず、ジョブとの結合はジョブオブジェクトが破壊されるまで壊すことができず、ジョブオブジェクトによって設定される制約はボックス化プロセスによって上書きすることができないようにプロセスが起動されるように、プロセスを制約付きのジョブオブジェクトに置くことができる。ブロック380において、本方法は、I/O及びページの優先順位の制限を制御するジョブオブジェクト制限構造を生成することができる。
上記の文は、多数の異なる実施形態の詳細な説明を記載するが、本特許の範囲は、本特許の最後に記載される特許請求の範囲の文言によって画定されることを理解されたい。この詳細な説明は、例示としてのみ解釈されるべきであり、あらゆる可能な実施形態を説明するものではない。これは、あらゆる可能な実施形態を説明することは、不可能ではないとしても、実際的ではないためである。多数の代替の実施形態は、現在の技術、又は本特許の出願日後に開発される技術のいずれかを使用して実施することができ、これは、依然として本特許請求の範囲の範囲内にある。
したがって、多数の変更及び変形を、本特許請求の範囲の精神及び範囲から逸脱することなく、本明細書に記載及び図示される技法及び構造において行うことが可能である。したがって、本明細書に記載される方法及び装置は、単に例示にすぎず、本特許請求の範囲の範囲を限定しないことを理解されたい。
本特許請求の範囲に従って動作することができるコンピューティングシステムのブロック図である。 本特許請求の範囲による方法を高水準で示すことができる図である。 本特許請求の範囲による方法の別の実施形態を示すことができる図である。

Claims (8)

  1. スタートアップアプリケーションのシステム資源に対する優先順位を管理するためのコンピュータにより実施される方法であって、
    ユーザインターフェースにより設定されたスタートアップアプリケーションをメモリに記憶するステップ、
    オペレーティングシステムの起動により、前記記憶されたスタートアップアプリケーションを、システム資源に対する優先順位を低下させてコンテナオブジェクトに置くステップ、及び、
    前記オペレーティングシステムの起動後の或る期間の遅延後に、前記コンテナオブジェクトに置かれたスタートアップアプリケーションのシステム資源に対する優先順位を元の設定に戻すステップ、
    を含む、方法。
  2. 請求項1に記載の方法であって、使用率が高い期間(periods of high use)中に前記優先順位を調整してより低くすることを許可するステップをさらに含む、方法。
  3. 請求項1に記載の方法であって使用率が高い期間後に、前記優先順位を調整してより高くすることを許可するステップをさらに含む、方法。
  4. 請求項1に記載の方法であって、前記コンテナオブジェクトに複数のスタートアップアプリケーションを1つのグループとして加えるステップをさらに含む、方法。
  5. 請求項1に記載の方法であって、設定可能な時間期間後に前記スタートアップアプリケーションを前記コンテナオブジェクトから解放するように設定するステップをさらに含む、方法。
  6. 請求項1に記載の方法であって、前記コンテナオブジェクトに特定のスタートアップアプリケーションが置かれることを防止するように履歴情報を使用するステップをさらに含む、方法。
  7. コンピュータに請求項1〜6の何れか1項に記載のステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  8. コンピュータに請求項1〜6の何れか1項に記載のステップを実行させるためのプログラム。
JP2008543425A 2005-11-30 2006-11-29 アプリケーションの遅延起動 Active JP5127722B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/290,105 US7500091B2 (en) 2005-11-30 2005-11-30 Delay start-up of applications
US11/290,105 2005-11-30
PCT/US2006/045708 WO2007064717A1 (en) 2005-11-30 2006-11-29 Delay start-up of applications

Publications (3)

Publication Number Publication Date
JP2009517784A JP2009517784A (ja) 2009-04-30
JP2009517784A5 JP2009517784A5 (ja) 2010-01-21
JP5127722B2 true JP5127722B2 (ja) 2013-01-23

Family

ID=38087430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008543425A Active JP5127722B2 (ja) 2005-11-30 2006-11-29 アプリケーションの遅延起動

Country Status (10)

Country Link
US (1) US7500091B2 (ja)
EP (1) EP1955200B1 (ja)
JP (1) JP5127722B2 (ja)
KR (1) KR101312819B1 (ja)
CN (1) CN101317171B (ja)
AU (1) AU2006320589B2 (ja)
BR (1) BRPI0618430A2 (ja)
CA (1) CA2628416C (ja)
RU (1) RU2419840C2 (ja)
WO (1) WO2007064717A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1944690A3 (de) * 2006-12-19 2009-05-20 Continental Automotive GmbH Verfahren, Vorrichtung und System
US8176314B2 (en) * 2008-02-22 2012-05-08 International Business Machines Corporation System startup with applications using configurable options
CN101296199A (zh) * 2008-06-27 2008-10-29 腾讯科技(深圳)有限公司 一种即时通讯工具调度任务的方法和即时通讯工具
US8370613B1 (en) * 2009-06-30 2013-02-05 Symantec Corporation Method and apparatus for automatically optimizing a startup sequence to improve system boot time
JP5590114B2 (ja) * 2010-03-11 2014-09-17 富士通株式会社 ソフトウェア制御装置、ソフトウェア制御方法、およびソフトウェア制御プログラム
NL2004913C2 (en) * 2010-06-17 2011-12-20 Sytse S Professional Ict Solutions Method, computer system and computer program product stored on a computer system readable medium for starting up of a computer system.
JP5631112B2 (ja) * 2010-08-23 2014-11-26 キヤノン株式会社 画像形成装置
JP2012058879A (ja) * 2010-09-07 2012-03-22 Toshiba Corp オペレーティングシステム起動管理装置
US8935697B2 (en) 2011-08-10 2015-01-13 Microsoft Corporation Suspension and/or throttling of processes for connected standby
US8788863B2 (en) * 2011-08-10 2014-07-22 Microsoft Corporation System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state
US8677158B2 (en) 2011-08-10 2014-03-18 Microsoft Corporation System and method for assigning a power management classification including exempt, suspend, and throttling to an process based upon various factors of the process
JP5831324B2 (ja) * 2012-03-27 2015-12-09 富士通株式会社 制御装置,制御方法,プログラム及び分散処理システム
TW201416979A (zh) * 2012-10-29 2014-05-01 Acer Inc 開機加速方法與電腦系統裝置
JP6310469B2 (ja) * 2012-10-31 2018-04-11 ボルケーノ コーポレイション マルチモダリティ医療システムにおいての依存性に基づくスタートアップ
CN103019706A (zh) * 2012-11-29 2013-04-03 北京奇虎科技有限公司 针对启动项目的处理方法和装置
US9959187B2 (en) * 2014-04-25 2018-05-01 Lenovo (Singapore) Pte. Ltd. Decoalescing resource utilization at boot
CN104142828A (zh) * 2014-07-30 2014-11-12 北京奇虎科技有限公司 应用加速方法及装置
JP5862722B2 (ja) * 2014-07-31 2016-02-16 富士通株式会社 マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム
DE102015205378A1 (de) * 2015-03-25 2016-09-29 Volkswagen Aktiengesellschaft Informations- und Unterhaltungssystem für ein Fahrzeug
CN107220077B (zh) * 2016-10-20 2019-03-19 华为技术有限公司 应用启动的管控方法和管控设备
CN109753209B (zh) * 2018-06-21 2020-05-05 北京字节跳动网络技术有限公司 一种应用程序启动方法、装置及设备
CN109213537A (zh) * 2018-08-16 2019-01-15 Oppo广东移动通信有限公司 应用程序的启动控制方法、装置、存储介质及终端
KR20200125258A (ko) 2019-04-26 2020-11-04 삼성전자주식회사 어플리케이션 실행을 제어하기 위한 방법, 이를 위한 전자 장치 및 저장 매체

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732266A (en) * 1994-09-02 1998-03-24 Compaq Computer Corporation Storage medium storing application programs and application initialization files and automatic launching of computer applications stored on the storage medium
US5968173A (en) * 1996-10-01 1999-10-19 Texas Instruments Incorporated Method and system for maximizing the apparent initial processing capability of a computer
US6091414A (en) * 1996-10-31 2000-07-18 International Business Machines Corporation System and method for cross-environment interaction in a computerized graphical interface environment
US5867160A (en) * 1996-10-31 1999-02-02 International Business Machines Corporation System and method for task prioritization in computerized graphic interface environments
JPH10283084A (ja) * 1997-04-10 1998-10-23 Canon Inc 情報処理装置及びその制御方法及び記憶媒体
TW403864B (en) * 1997-10-08 2000-09-01 Sony Corp Program startup apparatus and program startup method for use in electronic machine, and medium
US6564318B1 (en) * 1997-12-10 2003-05-13 Phoenix Technologies Ltd. Method and apparatus for execution of an application during computer pre-boot operation and post-boot under normal OS control
US6122677A (en) * 1998-03-20 2000-09-19 Micron Technology, Inc. Method of shortening boot uptime in a computer system
US6324546B1 (en) * 1998-10-12 2001-11-27 Microsoft Corporation Automatic logging of application program launches
US6367074B1 (en) * 1998-12-28 2002-04-02 Intel Corporation Operation of a system
US6697851B1 (en) * 1999-09-02 2004-02-24 International Business Machines Corporation Method and apparatus for identifying clients using incoming option data
US6785808B2 (en) * 2000-02-04 2004-08-31 Insyde Software, Inc. System and method for altering an operating system start-up sequence prior to operating system loading
JP2001265598A (ja) * 2000-03-15 2001-09-28 Matsushita Electric Ind Co Ltd 情報処理装置
JP4132623B2 (ja) * 2000-09-29 2008-08-13 株式会社リコー 電源投入後に立上制御を行う装置及びその立上制御方法並びにその立上制御プログラムを書き込んだ記憶媒体
US6631653B2 (en) * 2000-12-06 2003-10-14 Caterpillar Inc. System for definable single lever control shift pattern joint
US20020147967A1 (en) * 2001-02-14 2002-10-10 Ncr Corporation Operating software scheduling priority recorder
US20020147966A1 (en) * 2001-02-14 2002-10-10 Ncr Corporation Operating software performance monitor
US6948165B1 (en) * 2001-02-28 2005-09-20 Western Digital Ventures, Inc. Method for installing an application program, to be executed during each bootload of a computer system for presenting a user with content options prior to conventional system startup presentation, without requiring a user's participation to install the program
JP2002259010A (ja) * 2001-03-05 2002-09-13 Fujitsu Ltd ショートカットアイコンの自動作成・削除プログラム
GB0107639D0 (en) * 2001-03-27 2001-05-16 Marconi Comm Ltd Network tunnelling
US7814532B2 (en) * 2001-05-02 2010-10-12 Lenovo (Singapore) Pte. Ltd. Data processing system and method for password protecting a boot device
DE10220341C1 (de) * 2002-05-07 2003-10-30 Siemens Ag Verfahren zur Ermittlung der prioritätsabhängigen Rechenzeitverteilung in einem prioritätsgesteuerten MehrProzess-Rechensystem
US7299346B1 (en) * 2002-06-27 2007-11-20 William K. Hollis Method and apparatus to minimize computer apparatus initial program load and exit/shut down processing
TW588284B (en) * 2002-11-12 2004-05-21 Mitac Technology Corp Computer real-time power-on system and method
JP4187151B2 (ja) * 2003-01-08 2008-11-26 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7243245B2 (en) * 2003-06-20 2007-07-10 International Business Machines Corporation Method and system for performing automatic startup application launch elimination
KR101017372B1 (ko) * 2003-12-23 2011-02-28 삼성전자주식회사 작업 스케쥴러를 이용한 다수의 디바이스 초기화 방법
US7275150B2 (en) * 2004-03-15 2007-09-25 International Business Machines Corporation Method and system for adding frequently selected applications to a computer startup sequence
JP2005284491A (ja) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp 計算機の起動時間短縮方式
JP4604543B2 (ja) * 2004-04-30 2011-01-05 日本電気株式会社 計算機、計算機起動方法、管理サーバ装置およびプログラム
US7735085B2 (en) * 2004-05-26 2010-06-08 Qualcomm Incorporated System for application priority based on device operating mode

Also Published As

Publication number Publication date
US20070121665A1 (en) 2007-05-31
CN101317171A (zh) 2008-12-03
US7500091B2 (en) 2009-03-03
JP2009517784A (ja) 2009-04-30
RU2008121719A (ru) 2009-12-10
EP1955200A1 (en) 2008-08-13
AU2006320589A1 (en) 2007-06-07
CA2628416A1 (en) 2007-06-07
EP1955200B1 (en) 2018-11-14
BRPI0618430A2 (pt) 2011-08-30
RU2419840C2 (ru) 2011-05-27
KR20080072699A (ko) 2008-08-06
EP1955200A4 (en) 2009-01-28
AU2006320589B2 (en) 2011-01-20
KR101312819B1 (ko) 2013-09-27
WO2007064717A1 (en) 2007-06-07
CA2628416C (en) 2014-09-02
CN101317171B (zh) 2010-09-15

Similar Documents

Publication Publication Date Title
JP5127722B2 (ja) アプリケーションの遅延起動
US9582311B2 (en) System, method and computer program product for data processing and system deployment in a virtual environment
KR101242312B1 (ko) 낮은 권한으로 실행하는 인터넷 애플리케이션에 대한컴퓨터 구현 방법
US7872975B2 (en) File server pipelining with denial of service mitigation
US8006254B2 (en) Bequeathing privilege to a dynamically loaded module
US20090019226A1 (en) Methods and systems for providing a level of access to a computing device
US8918776B2 (en) Self-adapting software system
US8966142B2 (en) Method and apparatus for inputting/outputting virtual operating system from removable storage device on a host using virtualization technique
US20140082275A1 (en) Server, host and method for reading base image through storage area network
US7155741B2 (en) Alteration of module load locations
KR20060063643A (ko) 운영 체제의 성능을 향상시키는 방법 및 시스템
JP6079357B2 (ja) 情報処理装置、仮想pc型シンクライアントシステム、ログイン負荷軽減方法、及びログイン負荷軽減プログラム
US7797473B2 (en) System for executing system management interrupts and methods thereof
US7757023B1 (en) Storage-centric manageability in a system
US20120271972A1 (en) Adaptive semaphore
US20220374256A1 (en) Information processing system, information processing apparatus, method of controlling the same, and storage medium
US20090313429A1 (en) Disk-based operating environment management system and method thereof
KR101434794B1 (ko) 프로그램 해킹 방어 방법 및 시스템
JP6721860B2 (ja) 情報処理システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120905

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: 20121001

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121030

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5127722

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250