JP2009514099A - 分離されたエクステンションおよびデバイスドライバの構成 - Google Patents
分離されたエクステンションおよびデバイスドライバの構成 Download PDFInfo
- Publication number
- JP2009514099A JP2009514099A JP2008537770A JP2008537770A JP2009514099A JP 2009514099 A JP2009514099 A JP 2009514099A JP 2008537770 A JP2008537770 A JP 2008537770A JP 2008537770 A JP2008537770 A JP 2008537770A JP 2009514099 A JP2009514099 A JP 2009514099A
- Authority
- JP
- Japan
- Prior art keywords
- executable instructions
- device driver
- computing resources
- access
- program module
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Abstract
Description
コンピュータサイエンスの領域、特にオペレーティングシステムの技術では、「ソフトウェアプロセス」(又は単に「プロセス」)という用語がよく知られている。アプリケーションはしばしば1又は複数のプロセスで構成される。オペレーティングシステム(OS)はコンピュータ上で実行する1又は複数の個別のプロセスを認識、更に実際には管理、監督している。
記述した実装の少なくとも1つでは、SIPはチャネル上にメッセージを送信することにより排他的に通信を行う。チャネルは2つのプロセス間の双方向行動型の接続である。メッセージは、送信プロセスから受信プロセスに転送される交換ヒープ(Exchange Heap)中の数値又はメッセージブロックのタグが付いた集合である。チャネルに沿ってメッセージ及び有効なメッセージのシーケンスのフォーマットを特定する規約によって、チャネルは型付けされる。
ソフトウェアの作成者は、彼らのシステムのユーザ又はアプリケーションのユーザに要求される完全な機能性を予想するのは稀である。モノリシックなシステムで誰でも満足させようとするよりはむしろ、重要なソフトウェアは大抵追加の実行可能命令をロードすることによりその機能性を強化する機構を提供する。例えば、従来の市販のパーソナルコンピュータのオペレーティングシステムは100,000を超える第三者のデバイスドライバをサポートしており、それによってOSはどのようなハードウェア装置でも大抵制御することができる。同様にして、無数のインターネットブラウザのアドオン及びエクステンションは、ウェブページのためのブラウザインタフェース及びコンポーネントを強化する。エクステンションは新たなソフトウェアバージョンよりも開発及び分散しやすいので、潜在的に変更される可能性はあるが、オープンソースプロジェクトでさえ「プラグイン」機構を提供している。
ドライバの実行可能命令をカーネルの実行可能命令から分離するメカニズムがない状態で、カーネルのアドレス空間及びハードウェア保護ドメインにロードされている従来のデバイスドライバもある。しかしながら、記述した実装の1又は複数は、分離されたデバイスドライバをサポートするオペレーティングシステムについて記述している。
oポート332 → I/Oポート352;
Ioメモリ334 → メモリ354;
IoDma336 → DMAチャネル356;
IoIrq338 → IRQライン358;
エンドポイント340 → チャネルハンドラ312
従来のアプローチとは異なり、本明細書に記述した1又は複数の実装のデバイスドライバコーディネータ214は、ドライバが不適切なメモリ位置又は他のハードウェアリソースにアクセスするのを防ぐ。逆に言えば、デバイスドライバコーディネータは、ドライバが適切なメモリ位置及び他のハードウェアリソースにのみアクセスするのを許可する。更に、ドライバがハードウェア及びリソースに直接アクセスすること(従来のアプローチが許可していること)よりむしろ、ドライバがハードウェア及びリソースにアクセスするのをカーネル210が点検している。
1又は複数の実装ではシステムコンポーネント内でメタデータで符号化された構成要件を使用して、システムの要素を記述し、どのように組み合わせるのかを説明して、システムの他の部分との行動相互作用を特定している。カーネル、アプリケーション、又はデバイスドライバ、及びその構成要件等、システムの各コンポーネントにメタデータは宣言型でラベルを付ける。構成要件は、依存性、エクスポートサービス、及びリソース要求についての情報を含む。ツールによりこのメタデータを使用して、システムの実行前にシステムコンポーネントの実行可能命令が正しく構成されることができるか検証する。このメタデータは、システム実行中にシステムの各コンポーネントを正しく構成するのに使用されるので、プログラマの意図しているように実行することができる。
実行可能なシステムイメージは、メタデータとして埋め込まれたシステム全体に対する構成要件を含んでいる。メタデータを使用して、記述した実装の1又は複数では3つの不変条件を維持している。第1に、別のドライバ又はシステムの別の部分と競合する構成要件のために、うまく起動できないデバイスドライバをOSはインストールしない。第2に、構成の競合又はリソース欠如のどちらかのためにうまく実行できないようなデバイスドライバをOSは起動しない。第3に、デバイスドライバは構成要件の中で宣言されていないリソースを実行時に使用することはできない。
[Signature(”/pci/03/00/5333/8811”)]
class S3Trioconfig : DrivercategoryDeclaration
{
// Hardware resources from PCI config
[IoMemoryRange(0, Default = Oxf8000000, Length = 0x400000)]
IoMemoryRange frameBuffer;
// Fixed hardware resources
[IoFixedMemoryRange(Base = OxbδOOO, Length = 0x8000)]
IoMemoryRange textBuffer;
[IoFixedMemoryRange(Base = 0xa0000, Length = 0x8000)]
IoMemoryRange fontBuffer;
[IoFixedPortRange(Base = OxO3cO, Length = 0x20)]
IoPortRange control ;
[IoFixedPortRange(Base = 0x4ae8, Length = 0x02)]
IoPortRange advanced;
[IoFixedPortRange(Base = 0x9ae8, Length = 0x02)]
IoPortRange gpstat;
// channels
[ExtensionEndpoint(typeof(ExtensionContract.Exp))]
TRef<Extensioncontract. Exp:start> iosys;
[ServiceEndpoint(typeof(VideoDeviceContract. Exp))]
TRef<ServiceProvidercontract. Exp:start> video;
・・・
}
コンパイル時には、高レベル言語のコンパイラは、カスタム属性をメタデータとして、デバイスドライバのための中間言語の実行可能命令を含むファイルに埋め込む。記述した実装の1又は複数は、中間言語メタデータアクセスライブラリを使用して、ファイル内に含まれる実行可能命令を実行することなく、埋め込まれたメタデータを中間言語ファイルから取り出すことができる。
<manifest>
<app1ication identity=”s3Trio64” />
<assemblies>
<assembly filename=”s3Trio64.exe” />
<assembly fi1ename=”Namespace.Contracts.dll ” version=”l.0.0.2299” />
<assemb1y filename=”lo.Contracts.dll ” version=”l.0.0.2299” />
<assembly filename=”Corlib.dll ” version=”l.0.0.2299” />
<assemb1y filename=”Corlibsg.dll ” version=”l.0.0.2299” />
<assembly fi1ename=”System.compi1er.Runtime.dll ” version=”l.0.0.2299” />
<assemb1y fi1ename=”MS.Singsharp.Runtime.dl1 ” version=”l.0.0.2299” />
<assemb1y filename=”ILHelpers.dll” version=”l.0.0.2299” />
<assemb1y filename=”OS.Vl.ill” version=”l.0.0.2299” />
</assemblies>
<drivercategory>
<device signature=”/pci/03/00/5333/8811” />
<ioMemoryRange index=”0” baseAddress=”Oxf8000000” rangeLength=”0x400000” />
<ioMemoryRange baseAddress=”Oxb8000” rangeLength=”0x8000” fixed=”True” />
<ioMemoryRange baseAddress=”0xa0000” rangeLength=”0x8000” fixed=”True” />
<ioPortRange baseAddress=”0x3c0” rangeLength=”0x20” fixed=”True” />
<ioPortRange baseAddress=”0x4ae8” rangeLength=”0x2” fixed=”True” />
<ioPortRange baseAddress=”0x9ae8” rangeLength=”0x2” fixed=”True” />
<extension startstateld=”3” contractName=”MS.OS.Extending-
.ExtensionContract” endpointEnd=”Exp” assembly=”Namespace.contracts” />
<serviceProvider startstateld=”3” contractName=” MS.OS.lo-
.VideoDeviceContract” endpointEnd=”Exp” assembly=”lo.Contracts” />
</driverCategory>
・・・
</manifest>
本明細書に記述した1又は複数の実装では、起動できないデバイスドライバをインストールしないことをシステムは保証している。そのために、デバイスドライバがインストールされる前に、デバイスドライバの構成要件全体を満足できることをシステムが検証する。
実行時にはメタデータは、カーネル、デバイスドライバ、サービス、及びアプリケーションの初期化を駆動する。ブートローダはシステムのマニフェストの一部を読み取り、どのカーネル、デバイスドライバ、及びサービスをロードすべきかを判定する。このロード及び起動が実行される順序はどこにも特定されていない。その代わり、システムが特定の依存性からそれを推察している。
図4はどのようなエクステンション(デバイスドライバ等)でも初期化する方法400を示す。この方法400では、OSがデバイスドライバのマニフェストからメタデータを読み取ってデバイスドライバオブジェクトを生成する。図1に描かれた1又は複数の様々なコンポーネントによりこの方法400を行う。更に、方法400は、ソフトウェア、ハードウェア、ファームウェア、またはその組み合わせで行うことができる。
本明細書に記述した技術は、多くの方法で実装でき、その方法は、(これに限定しないが)プログラムモジュール、汎用及び特殊用途のコンピューティングシステム、ネットワークサーバ及び機器、専用エレクトロニクス及びハードウェア、ファームウェアを、1又は複数のコンピュータネットワークの一部、及び/又はその組み合わせとして含む。
Claims (10)
- プロセッサにより実行される際に1つの方法を実施するプロセッサ実行可能命令を有する1又は複数のプロセッサ可読媒体であって、前記方法は、
デバイスドライバ(300)を取得するステップであって、前記デバイスドライバ(300)は実行可能命令のセットであるステップと、
前記デバイスドライバ(300)の前記実行可能命令のセットを実行するために必要なコンピューティングリソース(312及び350)のセットを判定するステップと、
前記必要なコンピューティングリソース(312及び350)のセットにアクセスするために前記デバイスドライバ(300)により使用される1又は複数のローカルアクセスオブジェクト(332、333、336、338、及び340)を提供するステップであって、前記1又は複数のローカルアクセスオブジェクト(332、333、336、338、及び340)は実行可能命令を有するステップと、
前記デバイスドライバ(300)の前記実行可能命令のセット及び前記1又は複数のローカルアクセスオブジェクト(332、333、336、338、及び340)の前記実行可能命令の実行を開始するステップと
を有することを特徴とするプロセッサ可読媒体。 - 前記判定動作は、前記デバイスドライバ(300)に関連したプロセッサ可読マニフェスト(142)を取得するステップを含み、前記デバイスドライバマニフェスト(142)が前記デバイスドライバ(300)の前記実行可能命令のセットを実行するために必要な前記コンピューティングリソース(312及び350)のセットを特定することを特徴とする請求項1に記載の1又は複数の媒体。
- 前記方法は、前記デバイスドライバ(300)が前記必要なコンピューティングリソース(312及び350)のセットにアクセスすることを許可されていることを確認するステップをさらに有することを特徴とする請求項1に記載の1又は複数の媒体。
- 前記提供動作は、前記必要なコンピューティングリソース(312及び350)のセットにアクセスするために前記デバイスドライバ(300)により使用される1又は複数のローカルアクセスオブジェクト(332、333、336、338、及び340)を生成するステップをさらに有し、前記ローカルアクセスオブジェクトはオペレーティングシステムにより提供されることを特徴とする請求項1に記載の1又は複数の媒体。
- プロセッサにより実行される際に1つの方法を実施するプロセッサ実行可能命令を有する1又は複数のプロセッサ可読媒体であって、前記方法は、
実行可能命令のセットを有する信頼できないプログラムモジュール(300)を取得するステップであって、前記信頼できないプログラムモジュール(300)は1又は複数のコンピューティングリソース(312及び350)にアクセスするように構成されているステップと、
前記信頼できないプログラムモジュール(300)の1又は複数のターゲットコンピューティングリソース(312及び350)を判定するステップであって、前記1又は複数のターゲットコンピューティングリソース(312及び350)は、前記信頼できないプログラムモジュール(300)の前記実行可能命令のセットが実行される際に、前記信頼できないプログラムモジュール(300)がアクセスすることを求めるコンピューティングリソース(312及び350)であるステップと、
1又は複数の信頼できるローカルアクセスオブジェクト(332、333、336、338、及び340)を前記信頼できないプログラムモジュール(300)に提供し、前記提供された1又は複数の信頼できるローカルアクセスオブジェクト(332、333、336、338、及び340)を介して、前記信頼できないプログラムモジュールが前記1又は複数のターゲットコンピューティングリソース(312及び350)へのアクセスを得るステップと
を有することを特徴とするプロセッサ可読媒体。 - 前記信頼できるローカルアクセスオブジェクト(332、333、336、338、及び340)の各々は1又は複数のコンピューティングリソース(312及び350)に関連付けられており、前記信頼できるローカルアクセスオブジェクト(332、333、336、338、及び340)の各々は実行可能命令のセットを有することを特徴とする請求項5に記載の1又は複数の媒体。
- 前記信頼できるローカルアクセスオブジェクト(332、333、336、338、及び340)の各々は1又は複数のコンピューティングリソースに関連付けられており、前記信頼できるローカルアクセスオブジェクト(332、333、336、338、及び340)の各々は実行可能命令を有すること、及び前記提供するステップは、前記1又は複数の信頼できるローカルアクセスオブジェクト(332、333、336、338、及び340)の実行可能命令を構成して、前記1又は複数の信頼できるローカルアクセスオブジェクト(332、333、336、338、及び340)の前記構成された実行可能命令を介して、前記信頼できないプログラムモジュール(300)に、前記1又は複数のターゲットコンピューティングリソース(312及び350)へのアクセスを提供するステップを有することを特徴とする請求項5に記載の1又は複数の媒体。
- 前記信頼できないプログラムモジュール(300)はデバイスドライバ(300)であることを特徴とする請求項5に記載の1又は複数の媒体。
- プロセッサにより実行される際に1つの方法を実施するプロセッサ実行可能命令を有する1又は複数のプロセッサ可読媒体であって、前記方法は、
実行可能命令のセットを有する信頼できないプログラムモジュール(300)を取得するステップであって、前記信頼できないプログラムモジュール(300)は1又は複数のコンピューティングリソース(312及び350)にアクセスするように構成されているステップと、
前記信頼できないプログラムモジュール(300)の1又は複数のターゲットコンピューティングリソース(312及び350)を判定するステップであって、前記1又は複数のターゲットコンピューティングリソース(312及び350)は、前記プログラムモジュール(300)の前記実行可能命令のセットが実行される際に、前記信頼できないプログラムモジュール(300)がアクセスすることを求めるコンピューティングリソース(312及び350)であるステップと、
1又は複数の信頼できるローカルアクセスオブジェクト(332、333、336、338、及び340)を前記信頼できないプログラムモジュール(300)に提供し、前記提供された1又は複数の信頼できるローカルアクセスオブジェクト(332、333、336、338、及び340)を介して、前記信頼できないプログラムモジュールが前記1又は複数のターゲットコンピューティングリソース(312及び350)へのアクセスを得るステップであって、前記1又は複数の信頼できるローカルアクセスオブジェクト(332、333、336、338、及び340)は前記1又は複数のターゲットコンピューティングリソース(312及び350)に関連付けられているステップと、
それらの1又は複数のターゲットコンピューティングリソース(312及び350)に関連付けられた前記1又は複数の信頼できるローカルアクセスオブジェクト(332、333、336、338、及び340)を介してのみ前記プログラムモジュールに前記1又は複数のターゲットコンピューティングリソース(312及び350)へのアクセスを許可するステップと
を有することを特徴とするプロセッサ可読媒体。 - 前記信頼できないプログラムモジュール(300)はデバイスドライバ(300)であることを特徴とする請求項9に記載の1又は複数の媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US73054605P | 2005-10-26 | 2005-10-26 | |
US60/730,546 | 2005-10-26 | ||
US11/428,096 US8074231B2 (en) | 2005-10-26 | 2006-06-30 | Configuration of isolated extensions and device drivers |
US11/428,096 | 2006-06-30 | ||
PCT/US2006/040545 WO2007050364A1 (en) | 2005-10-26 | 2006-10-16 | Configuration of isolated extensions and device drivers |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009514099A true JP2009514099A (ja) | 2009-04-02 |
JP5009299B2 JP5009299B2 (ja) | 2012-08-22 |
Family
ID=37968124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008537770A Active JP5009299B2 (ja) | 2005-10-26 | 2006-10-16 | 分離されたエクステンションおよびデバイスドライバの構成 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8074231B2 (ja) |
EP (1) | EP1952251A4 (ja) |
JP (1) | JP5009299B2 (ja) |
KR (1) | KR101331361B1 (ja) |
BR (1) | BRPI0618027A2 (ja) |
RU (1) | RU2443012C2 (ja) |
WO (1) | WO2007050364A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016517120A (ja) * | 2013-04-22 | 2016-06-09 | マイクロソフト テクノロジー ライセンシング,エルエルシー | アプリケーション・プログラミング・インターフェースへのランタイム・アクセスの制御 |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8849968B2 (en) * | 2005-06-20 | 2014-09-30 | Microsoft Corporation | Secure and stable hosting of third-party extensions to web services |
US20070094495A1 (en) * | 2005-10-26 | 2007-04-26 | Microsoft Corporation | Statically Verifiable Inter-Process-Communicative Isolated Processes |
US20070165765A1 (en) * | 2005-12-01 | 2007-07-19 | Ogami Kenneth Y | Use of placeable channels in the construction of embedded applications |
US8813021B1 (en) | 2006-02-16 | 2014-08-19 | Cypress Semiconductor Corporation | Global resource conflict management for an embedded application design |
US20070234029A1 (en) * | 2006-03-28 | 2007-10-04 | Rothman Michael A | Methods and apparatus for context sensitive component dispatch management |
US8032898B2 (en) | 2006-06-30 | 2011-10-04 | Microsoft Corporation | Kernel interface with categorized kernel objects |
US8789063B2 (en) | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
US20090210888A1 (en) * | 2008-02-14 | 2009-08-20 | Microsoft Corporation | Software isolated device driver architecture |
US8296730B2 (en) * | 2008-03-12 | 2012-10-23 | Microsoft Corporation | Using extension methods to extend COM objects |
US8049918B2 (en) | 2008-11-03 | 2011-11-01 | Microsoft Corporation | Print plug-in isolation |
US20100211988A1 (en) * | 2009-02-18 | 2010-08-19 | Microsoft Corporation | Managing resources to display media content |
US8316384B2 (en) | 2009-02-18 | 2012-11-20 | Microsoft Corporation | Input/output broker model |
US20100215340A1 (en) * | 2009-02-20 | 2010-08-26 | Microsoft Corporation | Triggers For Launching Applications |
US9069585B2 (en) * | 2009-03-02 | 2015-06-30 | Microsoft Corporation | Application tune manifests and tune state recovery |
US9588803B2 (en) | 2009-05-11 | 2017-03-07 | Microsoft Technology Licensing, Llc | Executing native-code applications in a browser |
US20100318964A1 (en) * | 2009-06-12 | 2010-12-16 | Microsoft Corporation | Software extension analysis |
JP5473756B2 (ja) * | 2010-04-27 | 2014-04-16 | キヤノン株式会社 | 情報処理装置、その制御方法及びプログラム |
US9323921B2 (en) | 2010-07-13 | 2016-04-26 | Microsoft Technology Licensing, Llc | Ultra-low cost sandboxing for application appliances |
US8856734B2 (en) | 2011-03-11 | 2014-10-07 | Oracle International Corporation | Type-safe dependency injection of services into enterprise components |
US8661410B2 (en) | 2011-03-11 | 2014-02-25 | Oracle International Corporation | Managed enterprise software components as dynamic services |
US8706881B2 (en) * | 2011-03-22 | 2014-04-22 | Oracle International Corporation | Automatic registration of enterprise resources in a dynamic module system services registry |
US9495183B2 (en) | 2011-05-16 | 2016-11-15 | Microsoft Technology Licensing, Llc | Instruction set emulation for guest operating systems |
US9063776B2 (en) | 2011-05-27 | 2015-06-23 | Microsoft Technology Licensing, Llc | Application activation framework |
US8800051B2 (en) * | 2011-06-29 | 2014-08-05 | Nvidia Corporation | System and method for private information communication from a browser to a driver |
US20130036431A1 (en) * | 2011-08-02 | 2013-02-07 | Microsoft Corporation | Constraining Execution of Specified Device Drivers |
US9413538B2 (en) | 2011-12-12 | 2016-08-09 | Microsoft Technology Licensing, Llc | Cryptographic certification of secure hosted execution environments |
US9389933B2 (en) | 2011-12-12 | 2016-07-12 | Microsoft Technology Licensing, Llc | Facilitating system service request interactions for hardware-protected applications |
US9829715B2 (en) | 2012-01-23 | 2017-11-28 | Nvidia Corporation | Eyewear device for transmitting signal and communication method thereof |
US8997120B1 (en) * | 2012-03-30 | 2015-03-31 | Emc Corporation | Lightweight communication channel for control of device driver components |
US9235404B2 (en) | 2012-06-27 | 2016-01-12 | Microsoft Technology Licensing, Llc | Firmware update system |
US8972973B2 (en) | 2012-06-27 | 2015-03-03 | Microsoft Technology Licensing, Llc | Firmware update discovery and distribution |
US9110761B2 (en) | 2012-06-27 | 2015-08-18 | Microsoft Technology Licensing, Llc | Resource data structures for firmware updates |
WO2014018037A1 (en) * | 2012-07-26 | 2014-01-30 | Hewlett Packard Development Company, L. P. | Periodic access of a hardware resource |
US10453019B1 (en) * | 2012-08-23 | 2019-10-22 | Jpmorgan Chase Bank, N.A. | Business activity resource modeling system and method |
US9569184B2 (en) | 2012-09-05 | 2017-02-14 | Microsoft Technology Licensing, Llc | Generating native code from intermediate language code for an application |
WO2014046974A2 (en) | 2012-09-20 | 2014-03-27 | Case Paul Sr | Case secure computer architecture |
US9811319B2 (en) * | 2013-01-04 | 2017-11-07 | Microsoft Technology Licensing, Llc | Software interface for a hardware device |
US9323543B2 (en) * | 2013-01-04 | 2016-04-26 | Microsoft Technology Licensing, Llc | Capability based device driver framework |
US9405605B1 (en) * | 2013-01-21 | 2016-08-02 | Amazon Technologies, Inc. | Correction of dependency issues in network-based service remedial workflows |
US9183092B1 (en) * | 2013-01-21 | 2015-11-10 | Amazon Technologies, Inc. | Avoidance of dependency issues in network-based service startup workflows |
US20140222670A1 (en) * | 2013-02-01 | 2014-08-07 | Barclays Bank Plc | Contactless payment application management |
US9075985B2 (en) * | 2013-05-31 | 2015-07-07 | Microsoft Technology Licensing, Llc | Restricted transmogrifying driver platform |
US9032423B2 (en) | 2013-06-21 | 2015-05-12 | Microsoft Technology Licensing, Llc | Dependency based configuration package activation |
US9690564B2 (en) * | 2013-09-10 | 2017-06-27 | International Business Machines Corporation | Runtime detection of software configurations and upgrades |
RU2568294C2 (ru) | 2013-12-27 | 2015-11-20 | Закрытое акционерное общество "Лаборатория Касперского" | Способ автоматической установки приложения без участия человека |
EP3796159B1 (en) * | 2014-07-10 | 2022-08-31 | Harman International Industries, Inc. | Operating system startup acceleration |
RU2592461C2 (ru) * | 2014-12-05 | 2016-07-20 | Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук"(ФГУ ФНЦ НИИСИ РАН) | Способ передачи данных между процессами |
US9952853B2 (en) * | 2015-02-10 | 2018-04-24 | Mediatek Inc. | Methods for cross-mounting devices and apparatus utilizing the same |
US10469473B2 (en) * | 2016-08-31 | 2019-11-05 | Hewlett Packard Enterprise Development Lp | Network authentication system extensions |
US10802855B2 (en) * | 2016-09-16 | 2020-10-13 | Oracle International Corporation | Producing an internal representation of a type based on the type's source representation |
US10353686B1 (en) * | 2016-12-28 | 2019-07-16 | Facebook, Inc. | Application installation system |
RU2649293C1 (ru) * | 2017-04-28 | 2018-03-30 | Акционерное общество "Лаборатория Касперского" | Система и способ передачи перехваченных запросов от драйвера к драйверу в процессе инициализации драйверов |
FR3069937B1 (fr) * | 2017-08-07 | 2021-10-01 | Prove & Run | Syteme embarque securise et procede de securisation |
US10783058B2 (en) | 2019-02-14 | 2020-09-22 | Microsoft Technology Licensing, Llc | Extensible device driver verification |
CN113741856A (zh) * | 2021-07-27 | 2021-12-03 | 深圳市广通远驰科技有限公司 | 驱动绑定方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004139396A (ja) * | 2002-10-18 | 2004-05-13 | Ntt Docomo Inc | 入出力制御システム、入出力制御方法、入出力制御プログラム |
JP2005129066A (ja) * | 2003-10-24 | 2005-05-19 | Microsoft Corp | オペレーティングシステムリソース保護 |
Family Cites Families (168)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5A (en) * | 1836-08-10 | Thomas blancharjq | ||
US4916637A (en) | 1987-11-18 | 1990-04-10 | International Business Machines Corporation | Customized instruction generator |
US4885684A (en) | 1987-12-07 | 1989-12-05 | International Business Machines Corporation | Method for compiling a master task definition data set for defining the logical data flow of a distributed processing network |
US5031089A (en) | 1988-12-30 | 1991-07-09 | United States Of America As Represented By The Administrator, National Aeronautics And Space Administration | Dynamic resource allocation scheme for distributed heterogeneous computer systems |
US5057996A (en) | 1989-06-29 | 1991-10-15 | Digital Equipment Corporation | Waitable object creation system and method in an object based computer operating system |
CA2025170A1 (en) | 1989-09-28 | 1991-03-29 | John W. White | Portable and dynamic distributed applications architecture |
US5179702A (en) | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
JP2720904B2 (ja) | 1990-08-31 | 1998-03-04 | 富士通株式会社 | 自己記述によるデータベース管理システムの構成方法および開発/変更方法 |
EP0490636B1 (en) | 1990-12-14 | 1998-09-09 | Sun Microsystems, Inc. | Method and apparatus for interprocess message switching |
US5317568A (en) | 1991-04-11 | 1994-05-31 | Galileo International Partnership | Method and apparatus for managing and facilitating communications in a distributed hetergeneous network |
US5522075A (en) | 1991-06-28 | 1996-05-28 | Digital Equipment Corporation | Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces |
US5469571A (en) | 1991-07-15 | 1995-11-21 | Lynx Real-Time Systems, Inc. | Operating system architecture using multiple priority light weight kernel task based interrupt handling |
US5590281A (en) | 1991-10-28 | 1996-12-31 | The United States Of Americas As Represented By The Secretary Of The Navy | Asynchronous bidirectional application program processes interface for a distributed heterogeneous multiprocessor system |
EP0543560B1 (en) | 1991-11-19 | 1999-12-22 | Sun Microsystems, Inc. | Arbitrating multiprocessor accesses to shared resources |
US5349682A (en) | 1992-01-31 | 1994-09-20 | Parallel Pcs, Inc. | Dynamic fault-tolerant parallel processing system for performing an application function with increased efficiency using heterogeneous processors |
US5361359A (en) | 1992-08-31 | 1994-11-01 | Trusted Information Systems, Inc. | System and method for controlling the use of a computer |
US5329619A (en) | 1992-10-30 | 1994-07-12 | Software Ag | Cooperative processing interface and communication broker for heterogeneous computing environments |
US5481717A (en) | 1993-04-12 | 1996-01-02 | Kabushiki Kaisha Toshiba | Logic program comparison method for verifying a computer program in relation to a system specification |
GB9505939D0 (en) | 1995-03-23 | 1995-05-10 | Intelligence Quotient Int | A method of operating a computer system |
US5455951A (en) | 1993-07-19 | 1995-10-03 | Taligent, Inc. | Method and apparatus for running an object-oriented program on a host computer with a procedural operating system |
JPH0756754A (ja) * | 1993-08-03 | 1995-03-03 | Internatl Business Mach Corp <Ibm> | マルチメディア・グループ資源割当て装置及び方法 |
GB9320982D0 (en) | 1993-10-12 | 1993-12-01 | Ibm | A data processing system |
EP0671685B1 (en) | 1994-03-08 | 1998-11-04 | Digital Equipment Corporation | Method and apparatus for detecting and executing cross-domain calls in a computer system |
US5590001A (en) | 1994-03-15 | 1996-12-31 | Fujitsu Limited | Breather filter unit for magnetic disk drive |
ATE278218T1 (de) * | 1994-05-26 | 2004-10-15 | Commw Of Australia | Gesicherte rechnerarchitektur |
US6763454B2 (en) * | 1994-05-27 | 2004-07-13 | Microsoft Corp. | System for allocating resources in a computer system |
US5551051A (en) | 1994-09-20 | 1996-08-27 | Motorola, Inc. | Isolated multiprocessing system having tracking circuit for verifyng only that the processor is executing set of entry instructions upon initiation of the system controller program |
US5794052A (en) | 1995-02-27 | 1998-08-11 | Ast Research, Inc. | Method of software installation and setup |
US6006328A (en) | 1995-07-14 | 1999-12-21 | Christopher N. Drake | Computer software authentication, protection, and security system |
US5752032A (en) | 1995-11-21 | 1998-05-12 | Diamond Multimedia Systems, Inc. | Adaptive device driver using controller hardware sub-element identifier |
US6009476A (en) | 1995-11-21 | 1999-12-28 | Diamond Multimedia Systems, Inc. | Device driver architecture supporting emulation environment |
US5754776A (en) | 1995-12-28 | 1998-05-19 | Intel Corporation | Re-prioritizing background data transfers in multipoint conferencing |
US5951639A (en) | 1996-02-14 | 1999-09-14 | Powertv, Inc. | Multicast downloading of software and data modules and their compatibility requirements |
US5845129A (en) | 1996-03-22 | 1998-12-01 | Philips Electronics North America Corporation | Protection domains in a single address space |
US6292941B1 (en) | 1996-04-30 | 2001-09-18 | Sun Microsystems, Inc. | Operating system installation |
US5768532A (en) | 1996-06-17 | 1998-06-16 | International Business Machines Corporation | Method and distributed database file system for implementing self-describing distributed file objects |
US6003129A (en) | 1996-08-19 | 1999-12-14 | Samsung Electronics Company, Ltd. | System and method for handling interrupt and exception events in an asymmetric multiprocessor architecture |
US5958050A (en) * | 1996-09-24 | 1999-09-28 | Electric Communities | Trusted delegation system |
US5974572A (en) | 1996-10-15 | 1999-10-26 | Mercury Interactive Corporation | Software system and methods for generating a load test using a server access log |
US5923878A (en) | 1996-11-13 | 1999-07-13 | Sun Microsystems, Inc. | System, method and apparatus of directly executing an architecture-independent binary program |
US5878408A (en) | 1996-12-06 | 1999-03-02 | International Business Machines Corporation | Data management system and process |
US5931938A (en) | 1996-12-12 | 1999-08-03 | Sun Microsystems, Inc. | Multiprocessor computer having configurable hardware system domains |
US6002851A (en) | 1997-01-28 | 1999-12-14 | Tandem Computers Incorporated | Method and apparatus for node pruning a multi-processor system for maximal, full connection during recovery |
US5991826A (en) * | 1997-03-10 | 1999-11-23 | Compaq Computer Coporation | System for configuring computer devices according to configuration patterns |
US6144992A (en) | 1997-05-09 | 2000-11-07 | Altiris, Inc. | Method and system for client/server and peer-to-peer disk imaging |
US6658447B2 (en) | 1997-07-08 | 2003-12-02 | Intel Corporation | Priority based simultaneous multi-threading |
US6247128B1 (en) | 1997-07-22 | 2001-06-12 | Compaq Computer Corporation | Computer manufacturing with smart configuration methods |
US6038399A (en) | 1997-07-22 | 2000-03-14 | Compaq Computer Corporation | Computer manufacturing architecture with two data-loading processes |
US6078744A (en) | 1997-08-01 | 2000-06-20 | Sun Microsystems | Method and apparatus for improving compiler performance during subsequent compilations of a source program |
US5963743A (en) | 1997-08-29 | 1999-10-05 | Dell Usa, L.P. | Database for facilitating software installation and testing for a build-to-order computer system |
US6072953A (en) | 1997-09-30 | 2000-06-06 | International Business Machines Corporation | Apparatus and method for dynamically modifying class files during loading for execution |
US6542926B2 (en) | 1998-06-10 | 2003-04-01 | Compaq Information Technologies Group, L.P. | Software partitioned multi-processor system with flexible resource sharing levels |
US6351850B1 (en) | 1997-11-14 | 2002-02-26 | Frank Van Gilluwe | Computer operating system installation |
US6182275B1 (en) | 1998-01-26 | 2001-01-30 | Dell Usa, L.P. | Generation of a compatible order for a computer system |
US6161150A (en) * | 1998-01-30 | 2000-12-12 | Object Technology Licensing Corporation | System for informing a computer user of a conflict encountered during resource allocation to expansion cards of different types having resource information in different format |
IL123512A0 (en) | 1998-03-02 | 1999-03-12 | Security 7 Software Ltd | Method and agent for the protection against hostile resource use access |
US6912692B1 (en) | 1998-04-13 | 2005-06-28 | Adobe Systems Incorporated | Copying a sequence of commands to a macro |
US6092189A (en) | 1998-04-30 | 2000-07-18 | Compaq Computer Corporation | Channel configuration program server architecture |
US6161051A (en) | 1998-05-08 | 2000-12-12 | Rockwell Technologies, Llc | System, method and article of manufacture for utilizing external models for enterprise wide control |
US6080207A (en) | 1998-06-04 | 2000-06-27 | Gateway 2000, Inc. | System and method of creating and delivering software |
US6279111B1 (en) | 1998-06-12 | 2001-08-21 | Microsoft Corporation | Security model using restricted tokens |
US6381742B2 (en) | 1998-06-19 | 2002-04-30 | Microsoft Corporation | Software package management |
US6202147B1 (en) * | 1998-06-29 | 2001-03-13 | Sun Microsystems, Inc. | Platform-independent device drivers |
US6434694B1 (en) | 1998-06-29 | 2002-08-13 | Sun Microsystems, Inc. | Security for platform-independent device drivers |
US6629152B2 (en) | 1998-06-29 | 2003-09-30 | International Business Machines Corporation | Message passing using shared memory of a computer |
US6321334B1 (en) | 1998-07-15 | 2001-11-20 | Microsoft Corporation | Administering permissions associated with a security zone in a computer system security model |
DE19837871C2 (de) | 1998-08-20 | 2000-06-08 | Manfred Broy | Verfahren zum automatischen Erzeugen eines Programms |
US6324622B1 (en) | 1998-08-24 | 2001-11-27 | International Business Machines Corporation | 6XX bus with exclusive intervention |
US6029174A (en) | 1998-10-31 | 2000-02-22 | M/A/R/C Inc. | Apparatus and system for an adaptive data management architecture |
US6066182A (en) | 1998-11-05 | 2000-05-23 | Platinum Technology Ip, Inc. | Method and apparatus for operating system personalization during installation |
US6438549B1 (en) | 1998-12-03 | 2002-08-20 | International Business Machines Corporation | Method for storing sparse hierarchical data in a relational database |
US6842782B1 (en) | 1998-12-08 | 2005-01-11 | Yodlee.Com, Inc. | Method and apparatus for tracking functional states of a web-site and reporting results to web developers |
US6862735B1 (en) | 1999-02-11 | 2005-03-01 | Sun Microsystems, Inc. | Mechanism by which platform independent software may bind to and access platform dependent software |
US6732220B2 (en) | 1999-02-17 | 2004-05-04 | Elbrus International | Method for emulating hardware features of a foreign architecture in a host operating system environment |
US6341371B1 (en) | 1999-02-23 | 2002-01-22 | International Business Machines Corporation | System and method for optimizing program execution in a computer system |
US6442754B1 (en) | 1999-03-29 | 2002-08-27 | International Business Machines Corporation | System, method, and program for checking dependencies of installed software components during installation or uninstallation of software |
US6546546B1 (en) | 1999-05-19 | 2003-04-08 | International Business Machines Corporation | Integrating operating systems and run-time systems |
US6782541B1 (en) | 1999-05-28 | 2004-08-24 | Avaya Technology Corp. | System and method of exchanging information between software modules |
AU7736000A (en) | 1999-10-01 | 2001-05-10 | Infraworks Corporation | Registry monitoring system and method |
US7167867B1 (en) | 1999-10-05 | 2007-01-23 | Emc Corporation | Self-describing file system |
US6715144B2 (en) | 1999-12-30 | 2004-03-30 | International Business Machines Corporation | Request based automation of software installation, customization and activation |
US6748592B1 (en) | 2000-02-14 | 2004-06-08 | Xoucin, Inc. | Method and apparatus for protectively operating a data/information processing device |
US6567974B1 (en) | 2000-02-25 | 2003-05-20 | Sun Microsystems, Inc. | Small memory footprint system and method for separating applications within a single virtual machine |
US7047534B2 (en) * | 2000-03-17 | 2006-05-16 | Microsoft Corporation | Simplified device drivers for hardware devices of a computer system |
US6871344B2 (en) | 2000-04-24 | 2005-03-22 | Microsoft Corporation | Configurations for binding software assemblies to application programs |
US7155713B1 (en) | 2000-04-27 | 2006-12-26 | Microsoft Corporation | Componentized operating system |
US7310801B2 (en) | 2000-04-27 | 2007-12-18 | Microsoft Corporation | Servicing a component-based software product throughout the software product lifecycle |
US6868539B1 (en) | 2000-06-28 | 2005-03-15 | Microsoft Corp. | System and method providing single application image |
US7124408B1 (en) | 2000-06-28 | 2006-10-17 | Microsoft Corporation | Binding by hash |
US6816905B1 (en) | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
US7089289B1 (en) | 2000-07-18 | 2006-08-08 | International Business Machines Corporation | Mechanisms for efficient message passing with copy avoidance in a distributed system using advanced network devices |
US6973517B1 (en) | 2000-08-31 | 2005-12-06 | Hewlett-Packard Development Company, L.P. | Partition formation using microprocessors in a multiprocessor computer system |
JP3664473B2 (ja) | 2000-10-04 | 2005-06-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムの最適化方法及びこれを用いたコンパイラ |
US7260845B2 (en) | 2001-01-09 | 2007-08-21 | Gabriel Kedma | Sensor for detecting and eliminating inter-process memory breaches in multitasking operating systems |
US7613930B2 (en) * | 2001-01-19 | 2009-11-03 | Trustware International Limited | Method for protecting computer programs and data from hostile code |
JP3610915B2 (ja) | 2001-03-19 | 2005-01-19 | 株式会社デンソー | 処理実行装置及びプログラム |
US7233998B2 (en) | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US20030031404A1 (en) | 2001-08-07 | 2003-02-13 | Corvis Corporation | Optical transmission systems including optical components and optical filters and methods of use therein |
GB2381336B (en) | 2001-08-21 | 2005-09-28 | Silicon Infusion Ltd | Object orientated heterogeneous multi-processor platform |
IL145105A (en) | 2001-08-23 | 2007-02-11 | Gregory Bondar | Method and system for providing a web service by a plurality of web domains through a single ip address |
US6988261B2 (en) | 2001-08-24 | 2006-01-17 | Sun Microsystems, Inc. | Frameworks for generation of Java macro instructions in Java computing environments |
CA2404552C (en) | 2001-09-21 | 2008-12-09 | Corel Corporation | System and method for secure communication |
US6978018B2 (en) | 2001-09-28 | 2005-12-20 | Intel Corporation | Technique to support co-location and certification of executable content from a pre-boot space into an operating system runtime environment |
US7711570B2 (en) | 2001-10-21 | 2010-05-04 | Microsoft Corporation | Application abstraction with dialog purpose |
KR20040058261A (ko) | 2001-10-30 | 2004-07-03 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 분산 소프트웨어 컴포넌트들을 구성하는 방법 |
US6745307B2 (en) | 2001-10-31 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | Method and system for privilege-level-access to memory within a computer |
CN1327347C (zh) | 2002-01-24 | 2007-07-18 | 皇家飞利浦电子股份有限公司 | 在多处理环境中执行进程 |
JP2003233521A (ja) | 2002-02-13 | 2003-08-22 | Hitachi Ltd | ファイル保護システム |
US6977994B2 (en) | 2002-03-27 | 2005-12-20 | Toshiba Tec Kabushiki Kaisha | Portable, high performance messaging system |
US6721871B2 (en) | 2002-04-02 | 2004-04-13 | Nokia Corporation | Method and apparatus for synchronizing data stores with respect to changes in folders |
US7136924B2 (en) | 2002-04-16 | 2006-11-14 | Dean Dauger | Method and system for parallel operation and control of legacy computer clusters |
US7058768B2 (en) | 2002-04-17 | 2006-06-06 | Microsoft Corporation | Memory isolation through address translation data edit control |
EP1361509B1 (en) | 2002-05-08 | 2013-07-10 | Sap Ag | Software delivery manager |
US7222106B2 (en) | 2002-05-21 | 2007-05-22 | International Business Machines Corporation | Mechanisms for handling software license agreements on multi-user system |
US20030221012A1 (en) | 2002-05-22 | 2003-11-27 | International Business Machines Corporation | Resource manager system and method for access control to physical resources in an application hosting environment |
US7062764B2 (en) | 2002-06-17 | 2006-06-13 | Microsoft Corporation | System and method for manipulating offline software |
US7103914B2 (en) | 2002-06-17 | 2006-09-05 | Bae Systems Information Technology Llc | Trusted computer system |
DE10235455B9 (de) | 2002-08-02 | 2008-01-24 | Leo Elektronenmikroskopie Gmbh | Teilchenoptische Vorrichtung und Verfahren zum Betrieb derselben |
US7832011B2 (en) | 2002-08-30 | 2010-11-09 | Symantec Corporation | Method and apparatus for detecting malicious code in an information handling system |
US20040054793A1 (en) | 2002-09-16 | 2004-03-18 | Richard Coleman | System and method for high performance shared web hosting |
ATE516537T1 (de) | 2002-10-01 | 2011-07-15 | Sap Ag | Prüfung von skriptsprachen mit schnittstellen mittels annotationen in xml |
US6944754B2 (en) | 2002-10-02 | 2005-09-13 | Wisconsin Alumni Research Foundation | Method and apparatus for parallel execution of computer software using a distilled program |
US20040078799A1 (en) | 2002-10-17 | 2004-04-22 | Maarten Koning | Interpartition communication system and method |
US7000092B2 (en) | 2002-12-12 | 2006-02-14 | Lsi Logic Corporation | Heterogeneous multi-processor reference design |
EP1431873A1 (en) | 2002-12-19 | 2004-06-23 | Hewlett-Packard Company, A Delaware Corporation | Computer programming |
CN1270229C (zh) * | 2002-12-31 | 2006-08-16 | 上海科泰世纪科技有限公司 | 基于动态内核实现跨地址空间创建构件对象的方法 |
US8255361B2 (en) | 2003-01-31 | 2012-08-28 | Oracle America, Inc. | Method and system for validating differential computer system update |
US7278030B1 (en) | 2003-03-03 | 2007-10-02 | Vmware, Inc. | Virtualization system for computers having multiple protection mechanisms |
US6963960B2 (en) | 2003-03-25 | 2005-11-08 | Microsoft Corporation | System and method for kernel mode memory management having movable kernel objects |
US8136155B2 (en) | 2003-04-01 | 2012-03-13 | Check Point Software Technologies, Inc. | Security system with methodology for interprocess communication control |
CN1312577C (zh) | 2003-05-07 | 2007-04-25 | 中兴通讯股份有限公司 | 一种实现通信过程零拷贝消息队列的方法 |
GB2401445A (en) | 2003-05-08 | 2004-11-10 | Simon Freeman | Web site security model |
US7389512B2 (en) | 2003-05-09 | 2008-06-17 | Sun Microsystems, Inc. | Interprocess communication within operating system partitions |
US20040230963A1 (en) * | 2003-05-12 | 2004-11-18 | Rothman Michael A. | Method for updating firmware in an operating system agnostic manner |
JP4196333B2 (ja) | 2003-05-27 | 2008-12-17 | 日本電気株式会社 | 並列処理システム及び並列処理プログラム |
US8020163B2 (en) | 2003-06-02 | 2011-09-13 | Interuniversitair Microelektronica Centrum (Imec) | Heterogeneous multiprocessor network on chip devices, methods and operating systems for control thereof |
US20050005261A1 (en) | 2003-07-02 | 2005-01-06 | Severin William B. | Component integration engine |
US7533103B2 (en) | 2003-07-22 | 2009-05-12 | Sap Ag | Self-describing business objects |
US7403956B2 (en) | 2003-08-29 | 2008-07-22 | Microsoft Corporation | Relational schema format |
US20050060687A1 (en) | 2003-09-15 | 2005-03-17 | Ghazaleh David Abu | Method and apparatus for documenting and describing object oriented programming logic |
US20050071828A1 (en) | 2003-09-25 | 2005-03-31 | International Business Machines Corporation | System and method for compiling source code for multi-processor environments |
US7516456B2 (en) | 2003-09-25 | 2009-04-07 | International Business Machines Corporation | Asymmetric heterogeneous multi-threaded operating system |
US7093091B2 (en) | 2003-09-26 | 2006-08-15 | Atmel Corporation | Selectable block protection for non-volatile memory |
US20050086667A1 (en) * | 2003-09-30 | 2005-04-21 | Feng Jin | Symmetric Scheduling for parallel execution |
US20050119902A1 (en) | 2003-11-28 | 2005-06-02 | Christiansen David L. | Security descriptor verifier |
US7565653B2 (en) | 2004-02-20 | 2009-07-21 | Sony Computer Entertainment Inc. | Methods and apparatus for processor task migration in a multi-processor system |
US7574709B2 (en) | 2004-04-30 | 2009-08-11 | Microsoft Corporation | VEX-virtual extension framework |
US8190863B2 (en) | 2004-07-02 | 2012-05-29 | Intel Corporation | Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction |
US7844945B2 (en) | 2004-08-04 | 2010-11-30 | Avocent Fremont Corp. | Software and firmware adaptation for unanticipated/changing hardware environments |
US7240137B2 (en) | 2004-08-26 | 2007-07-03 | International Business Machines Corporation | System and method for message delivery across a plurality of processors |
WO2006036815A2 (en) | 2004-09-22 | 2006-04-06 | Xyratex Technology Limited | Xml/soap interprocess intercontroller communication |
US7690033B2 (en) | 2004-09-28 | 2010-03-30 | Exobox Technologies Corp. | Electronic computer system secured from unauthorized access to and manipulation of data |
US7680758B2 (en) | 2004-09-30 | 2010-03-16 | Citrix Systems, Inc. | Method and apparatus for isolating execution of software applications |
US20060123401A1 (en) | 2004-12-02 | 2006-06-08 | International Business Machines Corporation | Method and system for exploiting parallelism on a heterogeneous multiprocessor computer system |
US7882317B2 (en) | 2004-12-06 | 2011-02-01 | Microsoft Corporation | Process isolation using protection domains |
US8020141B2 (en) | 2004-12-06 | 2011-09-13 | Microsoft Corporation | Operating-system process construction |
US7451435B2 (en) | 2004-12-07 | 2008-11-11 | Microsoft Corporation | Self-describing artifacts and application abstractions |
US7600232B2 (en) | 2004-12-07 | 2009-10-06 | Microsoft Corporation | Inter-process communications employing bi-directional message conduits |
US7454477B2 (en) | 2005-05-16 | 2008-11-18 | Microsoft Corporation | Zero-copy transfer of memory between address spaces |
US8849968B2 (en) | 2005-06-20 | 2014-09-30 | Microsoft Corporation | Secure and stable hosting of third-party extensions to web services |
US20070033592A1 (en) | 2005-08-04 | 2007-02-08 | International Business Machines Corporation | Method, apparatus, and computer program product for adaptive process dispatch in a computer system having a plurality of processors |
US7500039B2 (en) | 2005-08-19 | 2009-03-03 | International Business Machines Corporation | Method for communicating with a processor event facility |
US20070094495A1 (en) | 2005-10-26 | 2007-04-26 | Microsoft Corporation | Statically Verifiable Inter-Process-Communicative Isolated Processes |
JP4784827B2 (ja) | 2006-06-06 | 2011-10-05 | 学校法人早稲田大学 | ヘテロジニアスマルチプロセッサ向けグローバルコンパイラ |
US8032898B2 (en) | 2006-06-30 | 2011-10-04 | Microsoft Corporation | Kernel interface with categorized kernel objects |
US8132169B2 (en) | 2006-07-21 | 2012-03-06 | International Business Machines Corporation | System and method for dynamically partitioning an application across multiple processing elements in a heterogeneous processing environment |
US20080244507A1 (en) | 2007-03-30 | 2008-10-02 | Microsoft Corporation | Homogeneous Programming For Heterogeneous Multiprocessor Systems |
US8789063B2 (en) | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
-
2006
- 2006-06-30 US US11/428,096 patent/US8074231B2/en not_active Expired - Fee Related
- 2006-10-16 KR KR1020087010060A patent/KR101331361B1/ko active IP Right Grant
- 2006-10-16 BR BRPI0618027-2A patent/BRPI0618027A2/pt not_active IP Right Cessation
- 2006-10-16 RU RU2008116714/08A patent/RU2443012C2/ru not_active IP Right Cessation
- 2006-10-16 EP EP06817056A patent/EP1952251A4/en not_active Ceased
- 2006-10-16 WO PCT/US2006/040545 patent/WO2007050364A1/en active Application Filing
- 2006-10-16 JP JP2008537770A patent/JP5009299B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004139396A (ja) * | 2002-10-18 | 2004-05-13 | Ntt Docomo Inc | 入出力制御システム、入出力制御方法、入出力制御プログラム |
JP2005129066A (ja) * | 2003-10-24 | 2005-05-19 | Microsoft Corp | オペレーティングシステムリソース保護 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016517120A (ja) * | 2013-04-22 | 2016-06-09 | マイクロソフト テクノロジー ライセンシング,エルエルシー | アプリケーション・プログラミング・インターフェースへのランタイム・アクセスの制御 |
US11003511B2 (en) | 2013-04-22 | 2021-05-11 | Microsoft Technology Licensing, Llc | Controlling runtime access to application program interfaces |
Also Published As
Publication number | Publication date |
---|---|
EP1952251A4 (en) | 2009-01-14 |
JP5009299B2 (ja) | 2012-08-22 |
KR20080070634A (ko) | 2008-07-30 |
RU2008116714A (ru) | 2009-10-27 |
BRPI0618027A2 (pt) | 2011-08-16 |
US8074231B2 (en) | 2011-12-06 |
KR101331361B1 (ko) | 2013-11-22 |
RU2443012C2 (ru) | 2012-02-20 |
EP1952251A1 (en) | 2008-08-06 |
US20070094673A1 (en) | 2007-04-26 |
WO2007050364A1 (en) | 2007-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5009299B2 (ja) | 分離されたエクステンションおよびデバイスドライバの構成 | |
US9329887B2 (en) | System and method for controlling multiple computer peripheral devices using a generic driver | |
US8621279B1 (en) | System and method for generating emulation-based scenarios for Error Handling | |
US8176480B1 (en) | Adaptive instrumentation through dynamic recompilation | |
US8826269B2 (en) | Annotating virtual application processes | |
US7162626B2 (en) | Use of common language infrastructure for sharing drivers and executable content across execution environments | |
US20100205604A1 (en) | Systems and methods for efficiently running multiple instances of multiple applications | |
Zimmer et al. | Beyond BIOS: developing with the unified extensible firmware interface | |
CN101297280B (zh) | 隔离扩展和设备驱动程序的配置 | |
US20090249329A1 (en) | Limited service life through virtualized service images | |
US6834391B2 (en) | Method and apparatus for automated native code isolation | |
US7155703B2 (en) | Virtual method protection | |
US8200938B2 (en) | Computer system and method providing a memory buffer for use with native and platform-independent software code | |
Spear et al. | Solving the starting problem: device drivers as self-describing artifacts | |
EP2941694B1 (en) | Capability based device driver framework | |
US7213098B2 (en) | Computer system and method providing a memory buffer for use with native and platform-independent software code | |
US20220147376A1 (en) | Selective substitution of legacy load module programs with classes for execution in a java virtual machine | |
JP2009501385A (ja) | ノード間通信パイプライン | |
EP2941695A1 (en) | High throughput low latency user mode drivers implemented in managed code | |
van Rossum | Python Setup and Usage | |
MX2008005403A (en) | Configuration of isolated extensions and device drivers | |
Dzikiewicz | Input/Output Subsystem in Singularity Operating System | |
Larus et al. | Using the singularity research development kit | |
Rahman et al. | CLR Execution Model | |
Lam | Thuan Thai |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091007 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120425 |
|
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: 20120525 |
|
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: 20120530 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5009299 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: 20150608 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 |