【手続補正書】
【提出日】平成19年4月2日(2007.4.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
拡張ランタイムホスティングのための方法であって、
ホストアプリケーションによって公開された、前記ホストアプリケーションによってサポートされる各実行環境アブストラクションに対応する１つまたは複数のホストアブストラクションインタフェース（ＨＡＩ）を識別するステップと、
ランタイムマネージコードの実行中、前記各実行環境アブストラクションのうちの識別した１つに関連するアクションまたはイベントに応答して、前記ランタイムにより、前記ＨＡＩのうち特定の１つに対応する少なくとも１つの特定のインタフェースまたはオブジェクトを呼び出すステップとを備え、
識別し呼び出すオペレーションは、前記ホストアプリケーションに対してホストアプリケーションカスタマイズ可能ランタイムホスト環境を提供し、
１つまたは複数の実行環境アブストラクションは、メモリ、スレッド／タスク、Ｉ／Ｏ完了、同期、ランタイムエントリ／退出通知、および／またはガーベッジコレクション（ＧＣ）に関する管理サービスに対応し、
前記呼び出すステップは、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、スレッド／タスクをホストアプリケーション実装スレッドプールにキューイングするステップ、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、前記ホストアプリケーション実装スレッドプールのサイズを設定するステップ、および／または
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して前記ホストアプリケーション実装スレッドプールに照会するステップをさらに含む
ことを特徴とする方法。
【請求項２】
前記呼び出すステップは、前記ランタイムにより、前記ホストアプリケーションによって実装された前記少なくとも１つの特定のインタフェースまたはオブジェクトを介してメモリ割振りを要求するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記呼び出すステップは、
前記ランタイムにより、前記少なくとも１つの特定インタフェースまたはオブジェクトを介してオペレーティングシステム（ＯＳ）から前記ホストアプリケーションにメモリ不足通知を通信するステップ、および／または
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して特定のメモリ割振りが失敗したという結果を前記ホストアプリケーションに通知し、それによって前記ホストアプリケーションが、メモリ割振りが失敗したに間違いない場合に前記ランタイムが取るべきアクションをカスタマイズすることが可能となるステップとをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記呼び出すステップは、前記ランタイムにより、前記ホストアプリケーションによって実装された前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して新しいスレッド／タスクを作成するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記呼び出すステップは、前記ランタイムにより、前記ホストアプリケーションによって実装された前記少なくとも１つの特定のインタフェースまたはオブジェクトを介してタスクのランタイム実装部分を再利用またはプールするステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記呼び出すステップは、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトあるいはプーリングを介して、タスクを異なる物理的なオペレーティングシステム（ＯＳ）スレッドに移動することができず、指定の時間ウィンドウの間、前記タスクの実行をブロックすることができないことを、前記ホストアプリケーションに通知するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記呼び出すステップは、
タスクが動作可能状態または動作不能状態に移行したときに前記ランタイムに通知するために、前記ランタイムにより、前記少なくとも１つの特定のオブジェクトまたはインタフェースを介して前記ホストアプリケーションに対するコールバックを指示するステップと、
前記タスクが動作不能状態に移行した場合、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、可能な限り早く前記タスクを前記ホストアプリケーションによって再スケジュールすべきであることを指定するステップとをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項８】
前記呼び出すステップは、
タスクが異なるロケールに移行したこと、またはロケールが前記タスクに関して変化したことを前記ランタイムに通知するために、前記ホストアプリケーションに対するコールバックを提供するステップ、および／または
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスクが異なるロケールに移行したこと、またはロケールが前記タスクに関して変化したことを前記ホストアプリケーションに通知するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項９】
前記呼び出すステップは、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、ホストアプリケーションのタスク打切りを遅延するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項１０】
前記呼び出すステップは、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスクの優先順位を調整するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項１１】
前記呼び出すステップは、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスク／スレッドが前記ランタイムからアンマネージコードに退出すべきであることを前記ホストアプリケーションに通知するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項１２】
前記呼び出すステップは、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスク／スレッドが前記ランタイムからアンマネージコードに逆退出すべきであることを前記ホストアプリケーションに通知するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項１３】
前記呼び出すステップは、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスク／スレッドがアンマネージコードから前記ランタイムに進入すべきであることを前記ホストアプリケーションに通知するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項１４】
前記呼び出すステップは、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスク／スレッドがアンマネージコードから前記ランタイムに逆進入すべきであることを前記ホストアプリケーションに通知するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項１５】
前記呼び出すステップは、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、１つまたは複数のＩ／Ｏ完了ポート上のサービス要求にとって利用可能となる最大スレッド／タスク数を指定するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項１６】
前記呼び出すステップは、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、ハンドルをＩ／Ｏ完了ポートまたは前記ホストアプリケーションにバインドするステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項１７】
前記呼び出すステップは、前記ホストアプリケーションに対するランタイム実装コールバックを供給するステップをさらに含み、前記ランタイム実装コールバックは、非同期Ｉ／Ｏオペレーションが完了したときに前記ホストアプリケーションによって起動すべきである
ことを特徴とする請求項１に記載の方法。
【請求項１８】
前記呼び出すステップは、
前記ホストアプリケーションに対するランタイム実装コールバックを供給するステップであって、前記ランタイム実装コールバックは、非同期Ｉ／Ｏオペレーションが完了したときに前記ホストアプリケーションによって起動すべきであるステップをさらに含み、
前記供給するステップにより、前記ホストアプリケーションが、前記ホストアプリケーションによって前記ランタイム実装コールバックに渡された構造の終りに、状態情報を提供するカスタムデータを挿入することが可能となる
ことを特徴とする請求項１に記載の方法。
【請求項１９】
前記呼び出すステップは、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介してタスクを生成するステップをさらに含み、
前記方法は、前記ランタイムにより、前記少なくとも１つの特定のオブジェクトまたはインタフェースを介して、前記タスクが前記タスクに対するロックのホストアプリケーション知識を実質上保証するための１つまたは複数の同期オブジェクトを作成するステップをさらに備え、前記１つまたは複数の同期オブジェクトは、クリティカルセクション、手動および／または自動リセットイベント、セマフォー、リーダ／ライタロック、および／またはタスクモニタを含む
ことを特徴とする請求項１に記載の方法。
【請求項２０】
前記ランタイムにより、前記ランタイムによって公開される１つまたは複数のランタイムインタフェースを前記ホストアプリケーションに通知するステップをさらに備え、前記ランタイムインタフェースにより、前記ホストが、一定のイベントを前記ランタイムに通知し、かつ／またはプロセス実行中に追加の情報を得ることが可能となることを特徴とする請求項１に記載の方法。
【請求項２１】
拡張ランタイムホスティングのためのコンピュータ読み取り可能な記録媒体であって、
該コンピュータ読み取り可能な記録媒体は、
ランタイムにより、ホストアプリケーションによってサポートされる任意の実行環境アブストラクションを識別するよう前記ホストアプリケーションに要求し、
要求に応答して、１つまたは複数のホストアブストラクションインタフェース（ＨＡＩ）を受け取り、
ランタイムマネージコードの実行中、前記ランタイムにより、前記ＨＡＩのうち特定の１つに対応する少なくとも１つの特定のインタフェースまたはオブジェクトを呼び出し、
識別し呼び出すオペレーションが、前記ホストアプリケーションに対してホストアプリケーションカスタマイズ可能ランタイムホスト環境を提供し、
１つまたは複数の実行環境アブストラクションが、メモリ、スレッド／タスク、Ｉ／Ｏ完了、同期、ランタイムエントリ／退出通知、および／またはガーベッジコレクション（ＧＣ）に関する管理サービスに対応する
ための、プロセッサで実行可能なコンピュータプログラム実行可能命令を備え、
前記コンピュータプログラム実行可能命令は、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、スレッド／タスクをホストアプリケーション実装スレッドプールにキューイングし、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、前記ホストアプリケーション実装スレッドプールのサイズを設定し、かつ／または
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して前記ホストアプリケーション実装スレッドプールに照会する
ための命令をさらに含む
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２２】
前記１つまたは複数の実行環境アブストラクションは、ホスト実装メモリ、スレッド／タスク、Ｉ／Ｏ完了、同期、イベント通知、および／またはガーベッジコレクション（ＧＣ）機能に対応する
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項２３】
判定のための前記コンピュータプログラム命令は、前記ランタイムにより、インタフェース識別子（ＩＩＤ）を前記ホストアプリケーションに通信するための命令をさらに含み、前記ＩＩＤは、アブストラクション特有のインタフェースに対応する
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項２４】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介してオペレーティングシステム（ＯＳ）から前記ホストアプリケーションにメモリ不足通知を通信するための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項２５】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して特定のメモリ割振りが失敗したという結果を前記ホストアプリケーションに通知し、それによって前記ホストアプリケーションが、メモリ割振りが失敗したに間違いない場合に前記ランタイムが取るべきアクションをカスタマイズすることが可能となる命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項２６】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記ホストアプリケーションによって実装される前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して新しいスレッド／タスクを作成するための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項２７】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記ホストアプリケーションによって実装された前記少なくとも１つの特定のインタフェースまたはオブジェクトを介してタスクのランタイム実装部分を再利用またはプールするための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項２８】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトあるいはプーリングを介して、タスクを異なる物理的なオペレーティングシステム（ＯＳ）スレッドに移動することができず、指定の時間ウィンドウの間、前記タスクの実行をブロックすることができないことを、前記ホストアプリケーションに通知するための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項２９】
呼出しのための前記コンピュータプログラム命令は、
タスクが動作可能状態または動作不能状態に移行したときに前記ランタイムに通知するために、前記ランタイムにより、前記少なくとも１つの特定のオブジェクトまたはインタフェースを介して前記ホストアプリケーションに対するコールバックを指示し、
前記タスクが動作不能状態に移行した場合、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、可能な限り早く前記タスクを前記ホストアプリケーションによって再スケジュールすべきであることを指定する
ための命令をさらに含むことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項３０】
呼出しのための前記コンピュータプログラム命令は、タスクが異なるロケールに移行したことを前記ランタイムに通知する目的で、前記ホストアプリケーションに対するコールバックを提供するための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項３１】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスクが異なるロケールに移行したことを前記ホストアプリケーションに通知するための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項３２】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、ホストアプリケーションのタスク打切りを遅延するための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項３３】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスクの優先順位を調整するための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項３４】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスク／スレッドが前記ランタイムからアンマネージコードに退出すべきであることを前記ホストアプリケーションに通知するための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項３５】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスク／スレッドが前記ランタイムからアンマネージコードに逆退出すべきであることを前記ホストアプリケーションに通知するための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項３６】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスク／スレッドがアンマネージコードから前記ランタイムに進入すべきであることを前記ホストアプリケーションに通知するための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項３７】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスク／スレッドがアンマネージコードから前記ランタイムに逆進入すべきであることを前記ホストアプリケーションに通知するための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項３８】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、１つまたは複数のＩ／Ｏ完了ポート上のサービス要求にとって利用可能となる最大スレッド／タスク数を指定するための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項３９】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、ハンドルをＩ／Ｏ完了ポートまたは前記ホストアプリケーションにバインドするための命令をさらに含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項４０】
呼出しのための前記コンピュータプログラム命令は、前記ホストアプリケーションに対するランタイム実装コールバックを供給するための命令をさらに含み、前記ランタイム実装コールバックは、非同期Ｉ／Ｏオペレーションが完了したときに前記ホストアプリケーションによって起動すべきである
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項４１】
呼出しのための前記コンピュータプログラム命令は、
前記ホストアプリケーションに対するランタイム実装コールバックを供給するための命令であって、前記ランタイム実装コールバックは、非同期Ｉ／Ｏオペレーションが完了したときに前記ホストアプリケーションによって起動すべきである命令をさらに含み、
前記供給により、前記ホストアプリケーションが、前記ホストアプリケーションによって前記ランタイム実装コールバックに渡された構造の終りに、状態情報を提供するカスタムデータを挿入することが可能となる
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項４２】
呼出しのための前記コンピュータプログラム命令は、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介してタスクを生成するための命令をさらに含み、
前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のオブジェクトまたはインタフェースを介して、前記タスクが前記タスクに対するロックのホストアプリケーション知識を実質上保証するための１つまたは複数の同期オブジェクトを作成するための命令をさらに含み、前記１つまたは複数の同期オブジェクトは、クリティカルセクション、手動および／または自動リセットイベント、セマフォー、リーダ／ライタロック、および／またはタスクモニタを含む
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項４３】
前記ランタイムにより、前記ランタイムによって公開される１つまたは複数のランタイムインタフェースを前記ホストアプリケーションに通知するためのコンピュータプログラム命令をさらに備え、前記ランタイムインタフェースにより、前記ホストが、一定のイベントを前記ランタイムに通知し、かつ／またはプロセス実行中に追加の情報を得ることが可能となる
ことを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項４４】
拡張ランタイムホスティングのためのコンピューティング装置であって、請求項２１に記載のコンピュータ読み取り可能な記録媒体に結合されたプロセッサを備え、前記プロセッサが、前記コンピュータ読み取り可能な記録媒体上に格納された前記コンピュータプログラム命令を実行するように構成される
ことを特徴とするコンピューティング装置。
【請求項４５】
拡張ランタイムホスティングのためのコンピューティング装置であって、
プロセッサと、
前記プロセッサに結合されたメモリとを備え、
前記メモリは、前記プロセッサで実行可能なコンピュータプログラム命令を含み、前記コンピュータプログラム命令は、
ホストアプリケーションによって公開された、前記ホストアプリケーションによってサポートされる各実行環境アブストラクションに対応する１つまたは複数のホストアブストラクションインタフェース（ＨＡＩ）を識別し、
ランタイムマネージコードの実行中、前記各実行環境アブストラクションのうちの識別した１つに関連するアクションまたはイベントに応答して、前記ランタイムにより、前記１つまたは複数のＨＡＩのうち特定の１つに対応する少なくとも１つの特定のインタフェースまたはオブジェクトを呼び出す
ための命令であり、
識別し呼び出すオペレーションは、前記ホストアプリケーションに対してホストアプリケーションカスタマイズ可能ランタイムホスト環境を提供し、
前記１つまたは複数の実行環境アブストラクションは、メモリ、スレッド／タスク、Ｉ／Ｏ完了、同期、ランタイムエントリ／退出通知、および／またはガーベッジコレクション（ＧＣ）に関する管理サービスに対応し、
呼出しのための前記コンピュータプログラム命令は、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、スレッド／タスクをホストアプリケーション実装スレッドプールにキューイングし、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、前記ホストアプリケーション実装スレッドプールのサイズを設定し、かつ／または
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して前記ホストアプリケーション実装スレッドプールに照会する
ための命令をさらに含む
ことを特徴とするコンピューティング装置。
【請求項４６】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して特定のメモリ割振りが失敗したという結果を前記ホストアプリケーションに通知し、それによって前記ホストアプリケーションが、メモリ割振りが失敗したに間違いない場合に前記ランタイムが取るべきアクションをカスタマイズすることが可能となる命令をさらに含む
ことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項４７】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記ホストアプリケーションによって実装された前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して新しいスレッド／タスクを作成するための命令をさらに含む
ことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項４８】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記ホストアプリケーションによって実装された前記少なくとも１つの特定のインタフェースまたはオブジェクトを介してタスクのランタイム実装部分を再利用またはプールするための命令をさらに含む
ことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項４９】
呼出しのための前記コンピュータプログラム命令は、前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトあるいはプーリングを介して、タスクを異なる物理的なオペレーティングシステム（ＯＳ）スレッドに移動することができず、指定の時間ウィンドウの間、前記タスクの実行をブロックすることができないことを、前記ホストアプリケーションに通知するための命令をさらに含む
ことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項５０】
呼出しのための前記コンピュータプログラム命令は、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、ホストアプリケーションのタスク打切りを遅延し、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスクの優先順位を調整する
ための命令をさらに含むことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項５１】
呼出しのための前記コンピュータプログラム命令は、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスク／スレッドが前記ランタイムからアンマネージコードに退出すべきであることを前記ホストアプリケーションに通知し、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスク／スレッドが前記ランタイムからアンマネージコードに逆退出すべきであることを前記ホストアプリケーションに通知する
ための命令をさらに含むことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項５２】
呼出しのための前記コンピュータプログラム命令は、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスク／スレッドがアンマネージコードから前記ランタイムに進入すべきであることを前記ホストアプリケーションに通知し、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、タスク／スレッドがアンマネージコードから前記ランタイムに逆進入すべきであることを前記ホストアプリケーションに通知する
ための命令をさらに含むことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項５３】
呼出しのための前記コンピュータプログラム命令は、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、ハンドルをＩ／Ｏ完了ポートまたは前記ホストアプリケーションにバインドし、
前記ランタイムにより、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介して、１つまたは複数のＩ／Ｏ完了ポート上のサービス要求にとって利用可能となる最大スレッド／タスク数を指定する
ための命令をさらに含むことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項５４】
呼出しのための前記コンピュータプログラム命令は、
前記ホストアプリケーションに対するランタイム実装コールバックを供給するための命令であって、前記ランタイム実装コールバックは、非同期Ｉ／Ｏオペレーションが完了したときに前記ホストアプリケーションによって起動すべきである命令をさらに含み、
供給のための前記命令により、前記ホストアプリケーションが、前記ホストアプリケーションによって前記ランタイム実装コールバックに渡された構造の終りに、状態情報を提供するカスタムデータを挿入することが可能となる
ことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項５５】
呼出しのための前記コンピュータプログラム命令は、前記少なくとも１つの特定のインタフェースまたはオブジェクトを介してタスクを生成するための命令をさらに含み、前記方法は、前記ランタイムにより、前記少なくとも１つの特定のオブジェクトまたはインタフェースを介して、前記タスクがＯＳスレッドのロックのホストアプリケーション知識を実質上保証するための１つまたは複数の同期オブジェクトを作成し、前記１つまたは複数の同期オブジェクトは、クリティカルセクション、手動および／または自動リセットイベント、セマフォー、リーダ／ライタロック、および／またはタスクモニタを含む
ことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項５６】
拡張ランタイムホスティングのためのソフトウェアアーキテクチャでコード化されたコンピュータ読み取り可能な記録媒体であって、前記ソフトウェアアーキテクチャは、
アプリケーションと、
前記アプリケーションがホストするように構成されたランタイムとを備え、
前記ランタイムは、ランタイムアプリケーションプログラムインタフェース（ＲＩ）を公開し、前記ＲＩにより、前記アプリケーションが、前記ランタイムに対するホストアブストラクションインタフェース（ＨＡＩ）に指示することが可能となり、前記ＨＡＩは、アプリケーション抽象化実行環境機能を識別し、
前記ランタイムは、前記ＨＡＩのうち１つまたは複数の部分を介して前記アプリケーション抽象化実行環境機能を実装するために、プロセス実行中にアクションおよび／またはイベントを前記アプリケーションに戻すようにさらに構成され、
１つまたは複数の実行環境アブストラクションは、メモリ、スレッド／タスク、Ｉ／Ｏ完了、同期、ランタイムエントリ／退出通知、および／またはガーベッジコレクション（ＧＣ）に関する管理サービスに対応する
ことを特徴とするンピュータ読み取り可能な記録媒体。