JP4286798B2 - ハードドライブにドライバファイルをインストールする方法、コンピュータ及びコンピュータ読取可能な記憶媒体 - Google Patents

ハードドライブにドライバファイルをインストールする方法、コンピュータ及びコンピュータ読取可能な記憶媒体 Download PDF

Info

Publication number
JP4286798B2
JP4286798B2 JP2005057356A JP2005057356A JP4286798B2 JP 4286798 B2 JP4286798 B2 JP 4286798B2 JP 2005057356 A JP2005057356 A JP 2005057356A JP 2005057356 A JP2005057356 A JP 2005057356A JP 4286798 B2 JP4286798 B2 JP 4286798B2
Authority
JP
Japan
Prior art keywords
driver
file
computer
files
name
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.)
Expired - Fee Related
Application number
JP2005057356A
Other languages
English (en)
Other versions
JP2005251204A5 (ja
JP2005251204A (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 JP2005251204A publication Critical patent/JP2005251204A/ja
Publication of JP2005251204A5 publication Critical patent/JP2005251204A5/ja
Application granted granted Critical
Publication of JP4286798B2 publication Critical patent/JP4286798B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H1/00Buildings or groups of buildings for dwelling or office purposes; General layout, e.g. modular co-ordination or staggered storeys
    • E04H1/12Small buildings or other erections for limited occupation, erected in the open air or arranged in buildings, e.g. kiosks, waiting shelters for bus stops or for filling stations, roofs for railway platforms, watchmen's huts or dressing cubicles
    • E04H1/1205Small buildings erected in the open air
    • E04H1/1216Public W.C.s
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24DDOMESTIC- OR SPACE-HEATING SYSTEMS, e.g. CENTRAL HEATING SYSTEMS; DOMESTIC HOT-WATER SUPPLY SYSTEMS; ELEMENTS OR COMPONENTS THEREFOR
    • F24D13/00Electric heating systems
    • F24D13/02Electric heating systems solely using resistance heating, e.g. underfloor heating
    • F24D13/022Electric heating systems solely using resistance heating, e.g. underfloor heating resistances incorporated in construction elements
    • F24D13/024Electric heating systems solely using resistance heating, e.g. underfloor heating resistances incorporated in construction elements in walls, floors, ceilings
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24HFLUID HEATERS, e.g. WATER OR AIR HEATERS, HAVING HEAT-GENERATING MEANS, e.g. HEAT PUMPS, IN GENERAL
    • F24H3/00Air heaters
    • F24H3/02Air heaters with forced circulation
    • 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/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04FFINISHING WORK ON BUILDINGS, e.g. STAIRS, FLOORS
    • E04F2290/00Specially adapted covering, lining or flooring elements not otherwise provided for
    • E04F2290/02Specially adapted covering, lining or flooring elements not otherwise provided for for accommodating service installations or utility lines, e.g. heating conduits, electrical lines, lighting devices or service outlets
    • E04F2290/023Specially adapted covering, lining or flooring elements not otherwise provided for for accommodating service installations or utility lines, e.g. heating conduits, electrical lines, lighting devices or service outlets for heating
    • 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
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Thermal Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Stored Programmes (AREA)

Description

本発明は、複数の共通の名前を有するドライバを同時にインストールおよびロードさせることを対象とする。
ドライバイメージファイル(あるいは「ドライバ」)は、コンピューティングデバイスのオペレーティングシステムを周辺装置に連係するプログラムルーチンである。ドライバイメージファイルは、対応するプログラムコードによって要求される機能を行うために周辺装置によって利用される機械言語を含んでいる。コンピューティングデバイスと連携して使用することのできる周辺装置の場合、ドライバイメージファイルを含む、関連付けられたドライバファイルを含んだドライバパッケージがコンピューティングデバイスのハードドライブにインストールされ、インストール後、周辺装置は意図される機能を行うことができる。
コンピューティングデバイスのハードドライブにインストールされるドライバパッケージの数は、コンピューティングデバイスのオペレーティングシステムにサポートされる周辺装置の数に伴って増す。詳細には、コンピューティングデバイスとの関連で使用される周辺装置のほぼ大半では、常に継続的にドライバパッケージがコンピューティングデバイスのハードドライブにインストールされて、既存のドライバパッケージまたは既存のドライバパッケージに関連付けられたドライバファイルに取って代わるか、それらを更新する。
不都合な点として、周辺装置とそれに対応するドライバパッケージのベンダは、しばしば、前述のドライバパッケージに関連付けられたドライバファイルの新バージョンおよび更新されたバージョンに同じ名前を使用する。通常、新しいドライバパッケージまたは更新されたドライバパッケージ、あるいはそれに関連付けられたドライバファイルがコンピューティングデバイスのハードドライブにインストールされる際には、共通の名前を持つドライバファイルが同じ周辺装置に関連するかどうかに関係なく、共通の名前を持つ関連付けられたドライバファイルを有する以前にインストールされたドライバパッケージの上に書き込まれる。したがって、ドライバファイル名を繰返し使用すると、当業者が称するところの「ドライバ衝突」を招く。ドライバファイル衝突が生じると、特定のドライバファイルを使用する周辺装置は、意図されるドライバファイルと同じ名前を持つ別のドライバファイルを実際に呼び出すか、あるいは、周辺装置は、後からインストールされた同じ名前を持つドライバファイルによって上書きされてしまったために単にもはや存在しないドライバファイルを呼び出す可能性がある。
ワシントン州レドモンドのマイクロソフトコーポレーションの研究者は、Windows(登録商標)オペレーティングシステムの現在のバージョンでは157,000個を超えるドライバファイルがサポートされているが、そのドライバファイルのうち一意の名前を持つものはおよそ26,000個に過ぎないことを明らかにした。すなわち、同オペレーティングシステムでサポートされている131,000に近いドライバファイルは名前が重複している。さらに、この調査では、周辺装置のベンダから提出される、一意の名前を持つドライバファイルの数は、一日に少なくとも12個ずつ増えているが、同オペレーティングシステムでサポートされる新しいドライバファイルの総数は、一日に150個を超える割合で増えていることが判明した。換言すると、繰り返し使用される名前を持つドライバファイルが、一日におよそ138個追加される。したがって、ドライバ衝突の率も増大する。
以下のシナリオで、冗長な名前を持つドライバファイルがオペレーティングシステムにロードされた結果生じる問題の典型例を説明する。この例では、コンピュータにプリンタをプラグで接続し、プリンタに対応するドライバパッケージをインストールするユーザを考える。ドライバパッケージは、そのドライバパッケージに含まれているファイルを示す情報ファイル「INF」を含む。通例、INFファイルは、少なくとも、ユーザのコンピュータのハードドライブにインストールされるドライバイメージファイル(例えば「foo.sys」)の存在を示す。この例ではさらに、ユーザがその後コピー機をコンピュータにつなぎ、同じく「foo.sys」という名前のドライバイメージファイルを有する対応するドライバパッケージをインストールするものと考える。現在実施される解決法では、一番最近接続されたコピー機に対応するドライバイメージファイルfoo.sysは、プリンタに対応する、より古いドライバイメージファイルfoo.sysに上書きしてインストールされる。その結果、プリンタを使用しようとすると、対応するアプリケーションプログラムが使用するために、コピー機に対応するfoo.sysをコンピュータのメモリにロードする試みがなされた時に、ドライバ衝突が発生する。そのため、ユーザのコンピュータでプリンタを操作することができない。
別の例示的なシナリオは、自社の周辺装置の異なるバージョンを、異なるバージョンのドライバイメージファイルで駆動させるようとするベンダに関する。しかし、ベンダが、前のバージョンのドライバイメージファイルを更新またはアップグレードする際に、ドライバイメージファイルのうち少なくとも1つのファイルの名前を変更しないと、コンピューティングデバイスのハードドライブにある古いバージョンのドライバイメージファイルが、更新されたドライバイメージファイルによって上書きされてしまう。その結果、新しいバージョンのドライバイメージファイルが、同じ名前を有する以前のバージョンのドライバイメージファイルに上書きされると、以前のバージョンのドライバファイルを必要とする周辺装置は、意図するドライバイメージファイルをメモリにロードすることができず、したがって、その周辺装置は、コンピューティングデバイス上で動作することができない。すなわち、以前のバージョンのドライバイメージファイルと同じ名前を有する新しいまたは更新されたドライバイメージファイルが、以前のバージョンのドライバイメージファイルに代わって、コンピューティングデバイスのハードドライブにインストールされてしまっている。
ドライバの共存した(side−by−side)インストールおよびロードを本明細書で説明する。
コンピュータとの関連で使用することが可能な周辺装置を支援するために、ドライバパッケージが、コンピューティングデバイスのハードドライブにインストールされる。そのようなドライバパッケージに対しストロングネームを生成することができる。そして、ドライバパッケージとそれに関連するドライバファイルが他のドライバパッケージおよびそれに関連するドライバファイルと同じ名前を共有するかどうかに関係なく、ドライバパッケージとそれに関連するドライバファイルに共通ストレージの一意のサブディレクトリ位置を割り当てる基盤として、ストロングネームを使用することができる。
以下の詳細な説明では、当業者には以下のこの詳細な説明から各種の変更と修正が明らかになるであろうから、単なる例示として実施形態を説明する。図面では、参照符号の一番左の数字が、その参照符号が一番初めに現れる図を特定する。異なる図面で同じ参照符号が使用される場合は、同様または同一の項目を意味する。
以下の説明は、関連付けられたドライバファイルを含むドライバパッケージをインストールおよびロードする技術を対象とする。少なくともドライバイメージファイルを含むドライバファイルは、対応するコンピューティングデバイスと有線または無線方式で協働することができる周辺装置をサポートするために、ドライバパッケージの一部としてコンピューティングデバイスのハードドライブにインストールされる。しかし、新しいバージョンおよび更新されたバージョンのドライバファイルは、しばしば、以前にインストールされたドライバファイルと同じ名前を持つので、各種の周辺装置を操作する際に頻繁にドライバ衝突が発生する。
ここで説明する実施形態は、共通の名前を持つドライバパッケージとそれに関連付けられたドライバファイルを共存させてインストールおよびロードすることを可能にする。すなわち、これらの実施形態は、共通の名前を持つ複数のドライバパッケージおよび/または関連付けられたドライバファイルを、処理上の衝突を招くことなく、同じハードドライブにインストールし、メモリにロードできるようにする。より詳細には、インストールすることは、個々のドライバパッケージとそれに関連付けられたドライバファイルを、共通ストレージの一意に割り当てられたサブディレクトリに格納することを含む。このサブディレクトリは、共通の名前を持つ他のドライバパッケージとそれに関連付けられたドライバファイルをインストールする他のサブディレクトリと、隣り合ってはいなくとも、近接している。各サブディレクトリは、個々のドライバパッケージのストロングネームに従って割り当てられる。ストロングネームは、ドライバパッケージの一意の識別(identity)であり、ストロングネームを使用して、どのコンピューティングデバイス上のドライバパッケージでも識別することができる。
図1に、共存インストーラ115を使用してドライバパッケージ110をインストールするコンピューティングデバイス105の一例を示す。ドライバファイルを含むドライバパッケージ110は、コンピューティングデバイス105のハードドライブにインストールされて、有線または無線方式でコンピューティングデバイス105と協働することができる周辺装置をサポートする。コンピューティングデバイス105と協働することが可能な周辺装置の例の、網羅的とは程遠いリストとして、コピー機120、プリンタ125、ゲームコンソール130、携帯情報端末(PDA)135、無線電話機140、およびビデオカメラ145が挙げられる。図示しない他の周辺装置は、視聴覚データの入出力、データファイルの転送などに関連するかもしれない。そのような周辺装置は、コンピューティングデバイス105にインストールされ、または接続され、またはプラグで接続されると、あるいは、無線でコンピューティングデバイス105と通信するときコンピューティングデバイス105と協働することができる。
さらに、コンピューティングデバイス105は、デスクトップパーソナルコンピュータ(PC)、ワークステーション、メインフレームコンピュータ、インターネット機器、ゲームコンソールを含む各種従来のコンピューティングデバイスのいずれでよい。さらに、コンピューティングデバイス105は、これらに限定しないが、有線リンクおよび/または無線リンクでネットワークと通信することが可能な、PDA、ラップトップコンピュータ、携帯電話120などを含む、ネットワークに関連するデバイスであってよい。クライアントデバイスまたはサーバデバイスの例示的実施形態は、下記で図6を参照してさらに詳しく説明する。
ドライバパッケージ110は、共存インストーラ115によりコンピューティングデバイス105のハードドライブにインストールすることができる。関連付けられたドライバファイルを含むドライバパッケージ110は、これらに限定しないがCD−ROM、フラッシュメモリ、フロッピー(登録商標)ディスクを含む、コンピュータによるアクセスが可能な媒体を介して、コンピューティングデバイス105の共存インストーラ115によって受け取られることができる。あるいは、ドライバパッケージ110と、関連付けられたファイルは、ウェブサイトあるいは中央のサーバデバイスから、オペレーティングシステムのアップデートあるいは他の種類のデータ転送の一部として、ネットワークを通じて、コンピューティングデバイス105の共存インストーラ115により受け取られることもできる。
図2に、ドライバパッケージ110の一例を示す。ただし、本明細書で説明する例に従い共存してインストールされるドライバパッケージまたはそれに関連付けられたドライバファイルは、図2の描写に限定されない。
周辺装置のベンダは、通常、コンピューティングデバイス105上の周辺装置の機能をサポートするために、ドライバパッケージ110とそれに関連付けられたドライバファイルを提供する。ドライバパッケージ110に関連付けることが可能なドライバファイルの例には、デバイスセットアップ情報ファイル(すなわちINF)210、少なくとも1つのドライバイメージファイル(すなわち「.sys」)215、ドライバカタログファイル220、1つまたは複数のコインストーラ(co−installer)ファイル225、および、カスタムデバイスローディングアプリケーション、デバイスアイコン、ドライバライブラリファイルなどを含む他のファイル230、が挙げられる。
デバイスセットアップ情報(INF)ファイル210は、オペレーティングシステムが周辺装置に対するサポートをロードするために、セットアップコンポーネントによって利用される情報を含んでいる。
ドライバイメージファイル215は、ドライバのイメージファイルを含む。ドライバイメージファイルの拡張子の非限定的な例は、Microsoft Windows(登録商標)オペレーティングシステムで使用される「.sys」である。ドライバイメージファイルは、オペレーティングシステムと、コンピューティングデバイス105と連携して使用される周辺装置との間のインタフェースを提供することから、しばしば「ドライバ」と総称される。
ドライバカタログファイル220は、周辺装置および/またはドライバパッケージのベンダに対応するデジタル署名を含む。ドライバカタログファイル220は、デジタル署名に組み込まれるか、またはデジタル署名に付加された、ベンダに対応する公開鍵または公開鍵トークンも含むことができる。
コインストーラ225は、コンピューティングデバイス105にインストールまたは接続される周辺装置のインストールと管理を助けるオプションのドライバファイルである。
図3に、ドライバファイルを共存させてインストールする例示的な処理の流れを実施する実施形態の機能コンポーネントを示す。
図3の例によると、周辺装置が有線または無線方式でコンピューティングデバイス105に関連付けられる前または後に、インストーラ115が、コンピューティングデバイス105上にドライバパッケージ110を受け取る。上述したように、ドライバパッケージ110は、例えばCD−ROM、フラッシュメモリ、フロッピー(登録商標)ディスクなどコンピュータによりアクセスできる媒体から、またはネットワークを通じてオンラインで受け取られることができる。
インストーラ115は、ドライバパッケージ110を受け取り、ドライバパッケージ110の「ストロングネーム」305を生成する、コンピューティングデバイス105に関連付けられたモジュールまたはコンポーネントである。ストロングネーム305は、少なくともコンピューティングデバイス105上のドライバパッケージ110の一意の識別である。さらに、ストロングネーム305を利用して、ドライバパッケージ110と、ドライバパッケージ110に関連付けられたドライバファイル210、215、220、225、および230のいずれかを一意に識別することができる。
インストーラ115は、ドライバパッケージ110に含まれるデータ、ドライバパッケージ110に関連するデータ、または付加されたデータの関数としてストロングネーム305を生成する。より詳細には、ストロングネーム305は、ドライバパッケージ110に関連付けられたドライバファイル210、215、220、225、および230に含まれるデータの任意の組み合わせのハッシュとして、そのようなデータの任意の連結として、またはハッシュと連結の可変の組み合わせとして生成することができる。一例として、ストロングネーム305は、ドライバカタログファイル220のSHA1ハッシュ(20バイト)と、デバイスセットアップ情報ファイル(INF)210の少なくとも一部分と、デバイスセットアップ情報ファイル210のバージョン、日付け、アーキテクチャ、および言語の少なくとも1つとを使用して生成することができる。あるいは、ストロングネーム305は、例えばINFファイルの一部としてドライバパッケージ110に含めることができる。そのような情報は、ドライバファイルのバージョンまたは製造者名を含むことができる。したがって、ストロングネーム305の「生成」は、単に、ドライバパッケージ中の該当するファイルからストロングネームを抽出する機能である。
ストロングネーム305を生成することの望ましい効果は、ドライバパッケージ110とそれに関連付けられたドライバファイルを、後に行われる識別とサポートの目的で、ベンダに再度結びつけることである。したがって、ストロングネーム305はさらに、ベンダ名、ベンダの公開鍵または公開鍵トークン、ドライバパッケージのバージョン、およびドライバパッケージ110に関連付けられた他のドライバファイルの任意の組み合わせのハッシュおよび/または連結を含めることができる。このようなデータは、単なる例として提供しており、進化するドライバパッケージの性質を考えると、特に制限することを意図するものではない。
図3の例で、インストーラ115は、ストロングネーム305を利用して、ドライバファイル310に、ドライバストア315における一意の記憶場所を割り当てることができる。一意の記憶場所は、ドライバパッケージ110全体、またはドライバパッケージ110に関連付けられたドライバファイルの1つまたは複数に割り当てることができ、これらには、ドライバパッケージ110自体、または、デバイスセットアップ情報ファイル210、ドライバイメージファイル215、ドライバカタログファイル220、コインストーラ225、あるいは「その他の」ファイル230の任意の組み合わせを含めることができる。
ドライバストア315は、複数のサブディレクトリを含む、コンピューティングデバイス105に関連付けられた記憶コンポーネントまたはモジュールであり、各サブディレクトリは、ストロングネーム305が生成される個々のドライバパッケージまたはそれに関連する少なくとも1つのドライバファイルに割り当てられる。ドライバストア315の例示的実施形態は、下記で図4を参照してさらに詳しく説明する。
図3の例ではさらに、ドライバパッケージ110のドライバファイルの1つから抽出された特定のデータをストロングネーム305に基づいて格納することを検討する。特に、この例では、ドライバパッケージ110のドライバセットアップ情報(INF)ファイル210から抽出され、サービスネームデータベース325中に一意の記憶場所が割り当てられたサービスネーム320を示す。サービスネームとそれに関連付けられたパラメータは、周辺装置が、その周辺装置をサポートするドライバファイルへのイメージパスを確立するために、オペレーティングシステムによって利用される。サービスネームデータベース325の例示的実施形態は、下記で図5を参照してさらに詳しく説明する。
図4にドライバストア315の一例を示す。ドライバストア315は、コンピューティングデバイス105に関連付けられた記憶モジュールまたはコンポーネントである。ドライバストア315は、複数のサブディレクトリを含み、各サブディレクトリは、個々のドライバパッケージまたは少なくとも1つの関連付けられたドライバファイルのストロングネーム305に与えられる。したがって、各サブディレクトリは、ストロングネーム305に基づいて、ドライバパッケージ110またはそれに関連付けられたドライバファイルをインストールする。
ドライバストア315は、ドライバイメージファイルを含む、共通の名前を持つドライバパッケージまたは関連付けられたドライバファイルを共存させてインストールすることにより、システムが、ドライバイメージの衝突の発生を減らすことを可能にする。ベンダは、複数バージョンのドライバファイル、特にドライバイメージファイルに繰返し同じ名前を用いる。あるいは、異なるベンダが、異なる周辺装置に関連するドライバファイル(例えばドライバイメージファイル)に、しばしば共通の名前を使用する。そのため、ストロングネーム305などの一意の識別に基づいてドライバパッケージとそれに関連付けられたドライバファイルを格納する実施形態は、共通の名前を持つドライバファイルをドライバストア315に共存させてインストールできるようにする。
図4の例では、図3のドライバストア315にインストールされたドライバファイル310が、異なるドライバパッケージに対応するドライバイメージファイルであると仮定する。より詳細には、図4では、それぞれ異なるfoo.sysという名前の3つのドライバイメージファイルが、ドライバストア315のサブディレクトリ405、410、415に共存してインストールされる。foo.sysという名前の個々のドライバイメージファイルは、個々のドライバイメージファイルが得られた個々のドライバパッケージに対し生成されたストロングネーム「strongname.1」、「strongname.2」、および「strongname.3」に従って、サブディレクトリ405、410、および415にインストールされる。図4の例の結果、異なるドライバパッケージにあった共通の名前を持つドライバファイルを、コンピューティングデバイス105に共存させてインストールすることができる。さらに、コンピューティングデバイス105のハードドライブのドライバストア315にインストールされる順序に関係なく、foo.sysという名前のドライバイメージファイルはいずれも、別のドライバイメージファイルを上書きしない。
図5に、ドライバファイルのロードを支援するために提供されるサービスネームデータベース325の一例を示す。詳細には、オペレーティングシステムが、周辺装置のドライバイメージファイルをドライバストア315からコンピューティングデバイス105のメモリにロードする際に、ドライバの衝突が回避される。詳細には、オペレーティングシステムは、サブディレクトリ405、410、415のどれが、コンピューティングデバイス105のオペレーティングシステムを周辺装置に連係する適切なドライバイメージファイルをインストールしているかを判定する。
図5で、サービスネームデータベース325は、コンピューティングデバイス105に関連付けられた記憶モジュールまたはコンポーネントである。サービスネームデータベース325は、ドライバパッケージとそれに関連付けられたドライバファイルのストロングネームに与えられた複数のサブディレクトリを識別する。したがって、サービスネームデータベース325の各サブディレクトリは、サービスキー、イメージパス、または、ドライバストア315にインストールされたドライバパッケージ110またはそれに関連付けられたドライバファイルに対応する他の情報などの、ドライバに関連するパラメータを格納する。サービスネームデータベースは、所与の周辺装置のための特定のドライバをオペレーティングシステムに指示するモジュールの一例に過ぎない。
サービスネームデータベース325は、図4のドライバイメージファイルに対応するサービスキー、イメージパス、およびサービスに関連する他の情報を含む。サブディレクトリモジュール505、510、および515はそれぞれ、図4のストロングネーム「StrongName.1」、「StrongName.2」、および「StrongName.3」を有するドライバイメージファイルに対応するサービスキー、イメージパス、およびその他の情報を格納する。
例えば、図5で、サービスキー「ServiceName.StrongName.l」505は、ストロングネーム「StrongName.1」を与えられたドライバパッケージから抽出されたサービスネームを含む。イメージパス「%DriverStore%\StrongName.1\Foo.Sys」510は、ドライバストア315のサブディレクトリ%DriverStore%\StrongName.1 405(図4参照)にインストールされたドライバイメージファイルfoo.sysを周辺装置のプログラムコードに指示する。パラメータ「その他の情報」には、有線または無線方式でコンピューティングデバイス105と現在または今後協働する周辺装置をサポートするために利用できる、サービスネームに関連する任意の他のデータが含まれる。したがって、オペレーティングシステムは、サービスネームデータベース325にアクセスし、適切なサービスネームパラメータにより、ドライバストア315にインストールされた正しいドライバイメージファイルに誘導されて、周辺装置のためのプログラムコードをオペレーティングシステムに連係することができる。したがって、オペレーティングシステムは、foo.sysという名前の正しいドライバイメージファイルを、コンピューティングデバイス105のメモリにロードして周辺装置を操作することができる。
例示的実施形態によれば、ドライバパッケージとそれに関連付けられたドライバファイルは、共存させてインストールされる。ただし、別のドライバファイルが同じ名前を共有している場合は、関連付けられたドライバファイル(例えばドライバイメージファイル)のすべてが、各自のドライバストアの場所からコンピューティングデバイスのメモリにロードされるわけではない。INFファイルの代替実施形態は、ドライバパッケージに関連付けられたドライバファイルをドライバストア315からロードできることをオペレーティングシステムに知らせるフラグを含むことができる。後者に対応するコードの一例は、以下のように提供される。
#if_SETUPAPI_VER>= 0x0600
//
//(AddService) サービスを共存してインストールする
//
#define SPSVCINST_SIDE_BY_SIDE (0x00000800)
#endif//_SETUPAPI_VER>= 0x0600
非限定的な例として提供されるフラグ「SPSVCINST_SIDE_BY_SIDE」は、ドライバストア315にインストールされたドライバパッケージのドライバイメージファイルをドライバストア315からコンピューティングデバイス105のメモリにロードして周辺装置を操作してよいことを確定する。
図6に、上記のようにドライバファイルを共存させてロードする技術を実施するために使用することができる一般的なコンピュータ環境600を示す。コンピュータ環境600は、コンピューティング環境の一例に過ぎず、このコンピュータおよびネットワークアーキテクチャの使用または機能の範囲について限定を示唆することを意図するものではない。また、コンピュータ環境600は、例示的コンピュータ環境600に図示する構成要素のいずれか1つまたは組み合わせに関連する依存性または必要性を有するものとも解釈すべきでない。
コンピュータ環境600は、コンピュータ602の形態の汎用コンピューティングデバイスを含み、コンピュータ602は、コンピューティングデバイス105を含むことができる。コンピュータ602の構成要素には、これらに限定しないが、1つまたは複数のプロセッサあるいは処理装置604、システムメモリ606、およびプロセッサ604を含む各種のシステム構成要素をシステムメモリ606につなぐシステムバス608が含まれる。
システムバス608は、各種のバスアーキテクチャのいずれかを使用したメモリバスまたはメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィックポート、およびプロセッサバスまたはローカルバスを含む数種のバス構造の1つまたは複数を表す。例として、そのようなアーキテクチャとしては、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、メザニンバスとも称されるPCI(Peripheral Component Interconnects)バス、PCI Expressバス、USB(Universal Serial Bus)、SD(Secure Digital)バス、あるいは、IEEE1394バスすなわちFireWireバスが挙げられる。
コンピュータ602は、各種のコンピュータ読み取り可能な媒体を含むことができる。そのような媒体は、コンピュータ602によるアクセスが可能な任意の利用可能媒体でよく、揮発性および不揮発性、取り外し可能および固定の媒体を含む。
システムメモリ606は、ランダムアクセスメモリ(RAM)610などの揮発性メモリ、および/または読み出し専用メモリ(ROM)612またはフラッシュRAMなどの不揮発性メモリの形態のコンピュータ読み取り可能な媒体を含む。起動時などにコンピュータ602内の要素間の情報転送を助ける基本ルーチンを含んだ基本入出力システム(BIOS)614は、ROM612またはフラッシュRAMに記憶される。RAM610は通常、処理装置604から即座にアクセス可能な、かつ/または処理装置604によって現在操作されているデータおよび/またはプログラムモジュールを含んでいる。
コンピュータ602は、この他の取り外し可能/固定、揮発性/不揮発性のコンピュータ記憶媒体も含むことができる。例として、図6には、固定、不揮発性の磁気媒体(図示せず)の読み書きを行うハードディスクドライブ616、取り外し可能、不揮発性の磁気ディスク620(「フロッピー(登録商標)ディスク」など)の読み書きを行う磁気ディスクドライブ618、および、CD−ROM、DVD−ROM、または他の光学媒体などの取り外し可能、不揮発性の光ディスク624の読み書きを行う光ディスクドライブ622を示す。ハードディスクドライブ616、磁気ディスクドライブ618、および光ディスクドライブ622はそれぞれ、1つまたは複数のデータ媒体インタフェース625によりシステムバス608に接続される。あるいは、ハードディスクドライブ616、磁気ディスクドライブ618、および光ディスクドライブ622は、1つまたは複数のインタフェース(図示せず)でシステムバス608に接続してもよい。
これらのディスクドライブとそれに関連付けられたコンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、および他のデータの不揮発性の記憶をコンピュータ602に提供する。この例ではハードディスク616、取り外し可能磁気ディスク620、および取り外し可能光ディスク624を例に挙げるが、磁気カセット、または他の磁気記憶装置、フラッシュメモリカード、CD−ROM、デジタル多用途ディスク(DVD)、または他の光学ストレージ、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、EEPROM(erasable programmable read−only memory)など、コンピュータからアクセス可能なデータを記憶することができる他の種類のコンピュータ読み取り可能な媒体も、この例示的コンピューティングシステムおよび環境を実施するために利用することができることは理解されよう。
ハードディスク616、磁気ディスク620、光ディスク624、ROM612、および/またはRAM610には任意数のプログラムモジュールを記憶することができ、これには、例として、オペレーティングシステム626、1つまたは複数のアプリケーションプログラム628、他のプログラムモジュール630、およびプログラムデータ632が含まれる。そのようなオペレーティングシステム626、1つまたは複数のアプリケーションプログラム628、他のプログラムモジュール630、およびプログラムデータ632(またはそれらの何らかの組み合わせ)はそれぞれ、分散ファイルシステムをサポートする常駐(resident)コンポーネントのすべてまたは一部を実装することができる。
ユーザは、キーボード634およびポインティングデバイス636(例えば「マウス」)などの入力装置を介してコンピュータ602にコマンドと情報を入力することができる。他の入力装置638(具体的には図示せず)としては、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、シリアルポート、スキャナなどが可能である。これらおよび他の入力装置は、システムバス608につながれた入出力インタフェース640を介して処理装置604に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)などの他のインタフェースおよびバス構造で接続してもよい。
モニタ642および他の種類の表示装置も、ビデオアダプタ644などのインタフェースを介してシステムバス608に接続することができる。モニタ642以外に、他の出力周辺装置には、I/Oインタフェース640を介してコンピュータ602に接続することができる、スピーカ(図示せず)やプリンタ646などのコンポーネントを含めることができる。
コンピュータ602は、リモートコンピューティングデバイス648などの1つまたは複数のリモートコンピュータとの論理接続を使用するネットワーク環境で動作することができる。例として、リモートコンピューティングデバイス648は、PC、携帯型コンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピアデバイス、または他の一般的なネットワークノードとすることができる。リモートコンピューティングデバイス648は、図では、コンピュータ602との関連で説明した要素および機能の多くまたはすべてを含むことができる携帯型コンピュータとして示している。あるいは、コンピュータ602は、非ネットワーク環境で動作することもできる。
コンピュータ602とリモートコンピュータ648間の論理接続は、図では、ローカルエリアネットワーク(LAN)650および一般的なワイドエリアネットワーク(WAN)652として示す。このようなネットワーキング環境は、オフィス、企業内のコンピュータネットワーク、イントラネット、およびインターネットに一般的に見られる。
LANネットワーキング環境で実施される場合、コンピュータ602は、ネットワークインタフェースあるいはアダプタ654を介してローカルネットワーク650に接続される。WANネットワーキング環境で実施される場合、コンピュータ602は通常、ワイドネットワーク652を通じて通信を確立するためのモデム656または他の手段を含む。モデム656は、コンピュータ602の内部にあっても外部にあってもよく、I/Oインタフェース640または他の適切な機構を介してシステムバス608に接続することができる。図のネットワーク接続は例であり、コンピュータ602と648の間に少なくとも1つの通信リンクを確立する他の手段を用いることができることは理解されるべきである。
コンピューティング環境600で説明するようなネットワーク環境では、コンピュータ602に関連して図示したプログラムモジュール、またはその一部は、遠隔のメモリ記憶装置に記憶することができる。例として、リモートアプリケーションプログラム658がリモートコンピュータ648のメモリ装置に存在する。説明のために、アプリケーションまたはプログラム、およびオペレーティングシステムなどの他の実行可能プログラムコンポーネントは、ここでは別個のブロックとして図示するが、そのようなプログラムおよびコンポーネントは、様々なときに、コンピューティングデバイス602の様々な記憶コンポーネントに存在し、コンピュータの少なくとも1つのデータプロセッサによって実行されることが理解されよう。
ここでは、1つまたは複数のコンピュータまたは他のデバイスによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで、各種のモジュールおよび技術を説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか、特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。通常、プログラムモジュールの機能は、各種実施形態で必要に応じて組み合わせても、分散してもよい。
こうしたモジュールおよび技術の実装は、何らかの形態のコンピュータ読み取り可能な媒体に記憶するか、そうした媒体を通じて伝送することができる。コンピュータ読み取り可能な媒体は、コンピュータからのアクセスが可能な任意の利用可能媒体とすることができる。限定ではなく例として、コンピュータ読み取り可能な媒体は、「コンピュータ記憶媒体」と「通信媒体」を含むことができる。
「コンピュータ記憶媒体」には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための方法または技術として実施された揮発性および不揮発性、取り外し可能および固定の媒体が含まれる。コンピュータ記憶媒体には、これらに限定しないが、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶装置、または所望の情報を記憶するために使用することができ、コンピュータによるアクセスが可能な他の媒体が含まれる。
「通信媒体」は通常、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、あるいは他のデータを、搬送波や他のトランスポート機構などの変調されたデータ信号中に具現化する。通信媒体は、情報伝達媒体も含む。用語「変調されたデータ信号」とは、信号中に情報を符号化するような方式でその特徴の1つまたは複数を設定または変更させた信号を意味する。単なる非限定的な例として、通信媒体には、有線ネットワークや直接配線接続などの有線媒体と、音響、RF、赤外線、および他の無線媒体などの無線媒体が含まれる。上記の媒体の組み合わせもコンピュータ読み取り可能な媒体の範囲に含まれる。
本発明の例示的な実施形態と応用例を例示し、説明したが、本発明は、上記の通りの構成およびリソースに限定されないことを理解されたい。特許権が請求される本発明の範囲から逸脱せずに、当業者には自明の各種の修正、変更、および変形を、本明細書に開示される本発明の方法およびシステムの構成、動作、および細部に行うことができる。
コンピューティングデバイスにプラグ接続または接続することが可能な複数の周辺装置の少なくとも1つをサポートするドライバパッケージをインストールする例示的コンピューティングデバイスの図である。 例示的実施形態によりインストールすることができる例示的なドライバパッケージの図である。 共存したドライバのインストールを実施する機能コンポーネントの例を示し、それに関連する、それらのコンポーネントを伴うプロセスフローを説明する図である。 図3の例に含まれる例示的記憶コンポーネントの図である。 図3の例の別の例示的記憶コンポーネントの図である。 ここに記載される技術を実施するために使用することができる一般的なコンピュータネットワーク環境の一例の図である。
符号の説明
110 ドライバパッケージ
115 共存ドライバインストーラ
604 処理装置
606 システムメモリ
608 システムバス
625 データ媒体インタフェース
634 キーボード
636 マウス
640 I/Oインタフェース
642 モニタ
644 ビデオアダプタ
646 プリンタ
648 リモートコンピューティングデバイス
652 インターネット
654 ネットワークアダプタ
656 モデム

Claims (3)

  1. 少なくとも、共存ドライバインストーラ、ハードドライブ、サービスネームデータベース及びファイルを入力するための入力手段とを備えたコンピュータが前記ハードドライブにドライバファイルをインストールする方法であって、
    前記共存ドライバインストーラが、
    前記入力手段を介してドライバパッケージを入力するステップであって、当該ドライバパッケージは、複数のドライバファイルを含み、前記複数のドライバファイルには、一以上のドライバイメージファイルと、デバイスセットアップ情報ファイルが含まれ、かつ、前記デバイスセットアップ情報ファイルは、前記ドライバイメージファイルを識別するサービスネームを含むステップと、
    前記ドライバイメージファイルの任意のデータの組合せをハッシュしてストロングネームを生成するステップと、
    前記ストロングネームを使用して、前記ハードドライブにおける前記ドライバファイルの記憶位置を示すイメージパスを生成し、当該記憶位置に前記ドライバファイルを格納するステップと、
    前記サービスネームを含むサービスキーを生成し、当該サービスキーと前記イメージパスとを対応づけて前記サービスネームデータベースに格納するステップと
    を含むことを特徴とする方法。
  2. 少なくとも、ハードドライブ、サービスネームデータベース及びファイルを入力するための入力手段とを備えたコンピュータに、前記ハードドライブにドライバファイルをインストールさせるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体であって、
    コンピュータに、
    前記入力手段を介してドライバパッケージを入力するステップであって、当該ドライバパッケージは、複数のドライバファイルを含み、前記複数のドライバファイルには、一以上のドライバイメージファイルと、デバイスセットアップ情報ファイルが含まれ、かつ、前記デバイスセットアップ情報ファイルは、前記ドライバイメージファイルを識別するサービスネームを含むステップと、
    前記ドライバイメージファイルの任意のデータの組合せをハッシュしてストロングネームを生成するステップと、
    前記ストロングネームを使用して、前記ハードドライブにおける前記ドライバファイルの記憶位置を示すイメージパスを生成し、当該記憶位置に前記ドライバファイルを格納するステップと、
    前記サービスネームを含むサービスキーを生成し、当該サービスキーと前記イメージパスとを対応づけて前記サービスネームデータベースに格納するステップと
    を実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記憶媒体。
  3. 少なくとも、共存ドライバインストーラ、ハードドライブ、サービスネームデータベース及びファイルを入力するための入力手段とを備え、前記ハードドライブにドライバファイルをインストールするコンピュータであって、
    前記共存ドライバインストーラが、
    前記入力手段を介してドライバパッケージを入力する処理であって、当該ドライバパッケージは、複数のドライバファイルを含み、前記複数のドライバファイルには、一以上のドライバイメージファイルと、デバイスセットアップ情報ファイルが含まれ、かつ、前記デバイスセットアップ情報ファイルは、前記ドライバイメージファイルを識別するサービスネームを含む処理と、
    前記ドライバイメージファイルの任意のデータの組合せをハッシュしてストロングネームを生成する処理と、
    前記ストロングネームを使用して、前記ハードドライブにおける前記ドライバファイルの記憶位置を示すイメージパスを生成し、当該記憶位置に前記ドライバファイルを格納する処理と、
    前記サービスネームを含むサービスキーを生成し、当該サービスキーと前記イメージパスとを対応づけて前記サービスネームデータベースに格納する処理とを
    実行することを特徴とするコンピュータ。
JP2005057356A 2004-03-02 2005-03-02 ハードドライブにドライバファイルをインストールする方法、コンピュータ及びコンピュータ読取可能な記憶媒体 Expired - Fee Related JP4286798B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/791,586 US7216344B2 (en) 2004-03-02 2004-03-02 Side-by-side drivers

Publications (3)

Publication Number Publication Date
JP2005251204A JP2005251204A (ja) 2005-09-15
JP2005251204A5 JP2005251204A5 (ja) 2008-02-21
JP4286798B2 true JP4286798B2 (ja) 2009-07-01

Family

ID=34838858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005057356A Expired - Fee Related JP4286798B2 (ja) 2004-03-02 2005-03-02 ハードドライブにドライバファイルをインストールする方法、コンピュータ及びコンピュータ読取可能な記憶媒体

Country Status (5)

Country Link
US (1) US7216344B2 (ja)
EP (1) EP1577766A3 (ja)
JP (1) JP4286798B2 (ja)
KR (1) KR100988961B1 (ja)
CN (1) CN100461097C (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7251812B1 (en) * 2001-10-31 2007-07-31 Microsoft Corporation Dynamic software update
US7293272B1 (en) 2004-02-26 2007-11-06 Veritas Operating Corporation Device driver processing for automated system restores
US7523089B2 (en) * 2005-09-30 2009-04-21 Microsoft Corporation Offline servicing of image files
JP2008146601A (ja) * 2006-12-13 2008-06-26 Canon Inc 情報処理装置及び情報処理方法
JP4710837B2 (ja) * 2007-01-22 2011-06-29 富士ゼロックス株式会社 画像処理装置及びプログラム
US7996831B2 (en) * 2007-02-19 2011-08-09 Kabushiki Kaisha Toshiba Office equipment and program installation support method
US20090307680A1 (en) * 2008-06-06 2009-12-10 Microsoft Corporation Side-by-side driver installation
CN103294617A (zh) * 2012-02-29 2013-09-11 鸿富锦精密工业(深圳)有限公司 扩展电子装置的设备驱动的方法及便携式智能电子装置
US8972973B2 (en) 2012-06-27 2015-03-03 Microsoft Technology Licensing, Llc Firmware update discovery and distribution
US9235404B2 (en) 2012-06-27 2016-01-12 Microsoft Technology Licensing, Llc Firmware update system
US9110761B2 (en) 2012-06-27 2015-08-18 Microsoft Technology Licensing, Llc Resource data structures for firmware updates
US9032423B2 (en) 2013-06-21 2015-05-12 Microsoft Technology Licensing, Llc Dependency based configuration package activation
US20160070557A1 (en) * 2014-09-09 2016-03-10 Tsuyoshi Yamada Information processing apparatus, information processing method, and information processing system
CN104360889B (zh) * 2014-12-08 2017-11-10 中科创达软件股份有限公司 一种驱动程序加载方法及装置
KR20170010574A (ko) 2015-07-20 2017-02-01 삼성전자주식회사 정보처리장치, 영상처리장치 및 그들의 제어방법
US11223537B1 (en) 2016-08-17 2022-01-11 Veritas Technologies Llc Executing custom scripts from the host during disaster recovery
CN108536465A (zh) * 2017-12-31 2018-09-14 广州用能互联网有限公司 一种电网监测硬件设备驱动程序配置及安装方法
US10990371B2 (en) * 2018-01-17 2021-04-27 Crowdstrike, Inc. Device driver non-volatile backing-store installation
US11423186B2 (en) 2018-01-17 2022-08-23 Crowdstrike, Inc. Verified inter-module communications interface

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802365A (en) * 1995-05-05 1998-09-01 Apple Computer, Inc. Dynamic device matching using driver candidate lists
US5978912A (en) * 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
US7506257B1 (en) * 1999-06-30 2009-03-17 Microsoft Corporation System and method for providing help contents for components of a computer system
JP2002366501A (ja) * 2001-06-11 2002-12-20 Murata Mfg Co Ltd 周辺デバイス、コンピュータシステム、及びインストーラプログラム
US20030160989A1 (en) * 2002-02-25 2003-08-28 Xerox Corporation System for installing a printer driver on a network
US6976252B2 (en) * 2002-05-17 2005-12-13 Hewlett-Packard Development Company, L.P. Systems and methods for driver installation
US7334099B2 (en) * 2002-06-28 2008-02-19 Microsoft Corporation Method and system for managing image files
US7457831B2 (en) * 2003-03-31 2008-11-25 Microsoft Corporation Peripheral device driver maintenance scheme for networked peripheral device clients

Also Published As

Publication number Publication date
KR100988961B1 (ko) 2010-10-20
KR20060043307A (ko) 2006-05-15
JP2005251204A (ja) 2005-09-15
EP1577766A2 (en) 2005-09-21
US20050197996A1 (en) 2005-09-08
CN100461097C (zh) 2009-02-11
US7216344B2 (en) 2007-05-08
EP1577766A3 (en) 2007-06-27
CN1667574A (zh) 2005-09-14

Similar Documents

Publication Publication Date Title
JP4286798B2 (ja) ハードドライブにドライバファイルをインストールする方法、コンピュータ及びコンピュータ読取可能な記憶媒体
RU2421785C2 (ru) Автоматизированное управление драйверами устройств
US8266685B2 (en) Firewall installer
JP5058450B2 (ja) 効率的なパッチ当て
JP5254582B2 (ja) マルチプロセッサ・データ処理システムにおけるファームウェア更新を実施するための方法
US7062764B2 (en) System and method for manipulating offline software
US8196137B2 (en) Remote auto provisioning and publication of applications
US8645672B2 (en) Configuring a computer system for a software package installation
US8819708B2 (en) System and method to abstract hardware routing via a correlatable identifier
JP2010532047A (ja) セキュアなソフトウェア配備
JP5106625B2 (ja) ファイアウォールを構成する方法、システム、およびコンピュータ・プログラム
US20070282801A1 (en) Dynamically creating and executing an application lifecycle management operation
US7617214B2 (en) Porting security application preferences from one system to another
US20080222043A1 (en) System and method for trans-vendor license registration and recovery
CN116028163A (zh) 一种容器组的动态链接库调度方法、装置及存储介质
US20050210448A1 (en) Architecture that restricts permissions granted to a build process
US20090183149A1 (en) Data imaging system and methods
US7934214B2 (en) Computer implemented method, system and computer program product for controlling software entitlement
US10325003B2 (en) Configuration resolution for transitive dependencies
CN112270000A (zh) 密码服务提供方法、装置和计算机可读存储介质
JP4666231B2 (ja) アプリケーション競合管理システム及びその方法並びにそれを用いた情報処理端末
CN114731326B (zh) 区块链系统、程序及网络连接装置
JP5526663B2 (ja) 情報処理装置、ソフトウェア管理システム、及びソフトウェア管理方法
JP6539701B2 (ja) 端末装置、シンクライアント変換方法およびシンクライアント変換プログラム
JP2016174255A (ja) ネットワークシステム、dhcpサーバ、ネットワーク制御方法およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071226

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071226

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080501

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080530

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080902

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090202

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

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

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

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4286798

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130403

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20140403

Year of fee payment: 5

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

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

LAPS Cancellation because of no payment of annual fees