【手続補正書】
【提出日】平成19年8月9日(2007.8.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デバイスドライバからアプリケーションにデータを引き渡すためのコンピュータ実行可能命令を記録するコンピュータ読み取り可能な記録媒体であって、
前記コンピュータ実行可能命令は、
前記デバイスドライバを実行するステップであって、前記デバイスドライバの実行がデバイスドライバ・スレッドによって制御されるステップと、
前記アプリケーションを実行するステップであって、前記アプリケーションの実行がアプリケーション・スレッドによって制御されるステップと、
前記デバイスドライバが、データキューと通信を行い、前記デバイスドライバから前記アプリケーションに同期引き渡しされる準備ができているデータアイテムを前記データキューに投入するステップと、
前記データキュー内のデータアイテムの量を判定するステップと、
前記データキュー内のデータアイテムの量が閾値以上の場合、前記デバイスドライバが、前記アプリケーションからの同期データリクエストに応答して、少なくも１つのデータアイテムを前記データキューから前記アプリケーションに同期引き渡しするステップと、
前記データキュー内のデータアイテムの量が前記閾値未満の場合、前記デバイスドライバ・スレッド又は前記アプリケーション・スレッドの少なくとも１つの実行を変更して前記データキューに新たなデータアイテムを投入するステップ
を含むことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２】
前記アプリケーションを実行するステップであって、前記アプリケーションの実行が前記コンピュータのプロセッサ上で実行中のアプリケーション・スレッドによって制御されるステップを更に含み、
前記デバイスドライバ・スレッド又は前記アプリケーション・スレッドの少なくとも１つの実行を変更して前記データキューに新たなデータアイテムを投入するステップは、前記アプリケーション・スレッドが前記プロセッサを前記コンピュータ上で実行中の別のスレッドに譲ることを含むことを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項３】
前記デバイスドライバ・スレッド又は前記アプリケーション・スレッドの少なくとも１つの実行を変更して前記データキューに新たなデータアイテムを投入するステップは、前記デバイスドライバ・スレッドの実行優先度を上げることを含むことを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項４】
前記デバイスドライバ・スレッド又は前記アプリケーション・スレッドの少なくとも１つの実行を変更して前記データキューに新たなデータアイテムを投入するステップは、前記アプリケーション・スレッドの実行優先度を下げることを含むことを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項５】
前記デバイスドライバが、前記アプリケーションに引き渡すために、データアイテムを第２のドライバのバッファから前記データキュー内に移動するステップを更に含むことを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項６】
前記データアイテムは、Ｗｅｂリクエストであることを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項７】
第２のドライバが、インターネットからＷｅｂリクエストを受け取るステップと、
前記第２のドライバが、前記受け取ったＷｅｂリクエストをバッファ内に格納するステップと、
前記デバイスドライバが、前記アプリケーションからの同期データリクエストに応答して、前記アプリケーションに同期引き渡しするために、前記バッファ内の前記Ｗｅｂリクエストを前記データキュー内に移動するステップ
を更に含むことを特徴とする請求項６記載のコンピュータ読み取り可能な記録媒体。
【請求項８】
前記デバイスドライバ・スレッド又は前記アプリケーション・スレッドの少なくとも１つの実行を変更して前記データキューに新たなデータアイテムを投入するステップは、前記コンピュータのスレッドスケジューリングを変更するためにＡＰＩ機能を呼び出すことを含むことを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項９】
デバイスドライバが、コンピュータ上で実行中のスレッドスケジューリングを実施するアプリケーションにデータを引き渡す方法であって、
前記デバイスドライバが、データキューと通信を行い、前記デバイスドライバから前記アプリケーションに同期引き渡しされる準備ができているデータアイテムを前記データキューに投入するステップと、
前記データキュー内のデータアイテムの量を判定するステップと、
前記データキュー内のデータアイテムの量が閾値以上の場合、前記データキュー内のデータアイテムを前記アプリケーションに同期引き渡しするステップと、
前記データキュー内のデータアイテムの量が前記閾値未満の場合、スレッドスケジューリングを用いて前記デバイスドライバのスレッドを促進するステップ
を含み、
スレッドスケジューリングを用いて前記デバイスドライバの前記スレッドを促進するステップは、前記デバイスドライバの前記スレッドの実行速度を速めて、前記データキューに新たなデータアイテムを投入することを含むことを特徴とする方法。
【請求項１０】
前記デバイスドライバの前記スレッドを促進するステップは、前記アプリケーションのスレッドを別のスレッドに譲ることを含むことを特徴とする請求項９記載の方法。
【請求項１１】
前記デバイスドライバの前記スレッドを促進するステップは、前記デバイスドライバの前記スレッドの実行優先度を上げることを含むことを特徴とする請求項９記載の方法。
【請求項１２】
前記デバイスドライバの前記スレッドを促進するステップは、前記アプリケーションのスレッドの実行優先度を下げることを含むことを特徴とする請求項９記載の方法。
【請求項１３】
前記デバイスドライバが、前記アプリケーションに引き渡すために、データアイテムを第２のドライバのバッファから前記データキュー内に移動するステップを更に含むことを特徴とする請求項９記載の方法。
【請求項１４】
前記データアイテムは、Ｗｅｂリクエストであることを特徴とする請求項９記載の方法。
【請求項１５】
第２のドライバが、インターネットからＷｅｂリクエストを受け取るステップと、
前記第２のドライバが、前記受け取ったＷｅｂリクエストをバッファ内に格納するステップと、
前記デバイスドライバが、前記アプリケーションに同期引き渡しするために、前記バッファ内の前記Ｗｅｂリクエストを前記データキュー内に移動するステップ
を更に含むことを特徴とする請求項１４記載の方法。
【請求項１６】
前記デバイスドライバの前記スレッドを促進するステップは、前記コンピュータのスレッドスケジューリングを変更するＡＰＩ機能を呼び出すことを含むことを特徴とする請求項９記載の方法。
【請求項１７】
コンピュータ実行可能命令を格納するメモリと、
前記コンピュータ実行可能命令を実行するように構成されたプロセッサ
を備えたコンピュータシステムであって、
前記コンピュータ実行可能命令は、
前記コンピュータシステムのスレッドをスケジューリングする命令と、
データアイテムをデータキューに格納する命令と、
前記データキュー内の前記データアイテムの総数が閾値以上か又は閾値未満であるかを判定する命令と、
前記データキュー内の前記データアイテムの総数が前記閾値以上である場合には、前記アプリケーションに前記データアイテムを同期引き渡しする命令と、
前記データキュー内の前記データアイテムの総数が前記閾値未満になった場合に、前記コンピュータシステムの前記スレッドの１つを促進して、前記データキュー内に新たなデータアイテムを格納する命令
を含むことを特徴とするコンピュータシステム。
【請求項１８】
前記データキュー内の前記データアイテムの総数が前記閾値未満になった場合に前記コンピュータシステムの前記スレッドの１つを促進する命令は、前記アプリケーションのスレッドを別のスレッドに譲ることを含むことを特徴とする請求項１７記載のコンピュータシステム。
【請求項１９】
前記データキュー内の前記データアイテムの総数が前記閾値未満になった場合に前記コンピュータシステムの前記スレッドの１つを促進する命令は、前記デバイスドライバのスレッドの実行優先度を上げることを含むことを特徴とする請求項１７記載のコンピュータシステム。
【請求項２０】
前記データキュー内の前記データアイテムの総数が前記閾値未満になった場合に前記コンピュータシステムの前記スレッドの１つを促進する命令は、前記アプリケーションのスレッドの実行優先度を下げることを含むことを特徴とする請求項１７記載のコンピュータシステム。
【請求項２１】
前記アプリケーションによって処理されることになるデータアイテムを受け取る第１のドライバを更に備え、
前記第１のドライバは、第２のデバイスドライバによる検索のために、前記受け取ったデータアイテムをバッファ内に配置し、
前記第２のデバイスドライバは、前記受け取ったデータアイテムを前記アプリケーションに転送することを特徴とする請求項１７記載のコンピュータシステム。
【請求項２２】
ＡＰＩ機能を用いて前記コンピュータシステムのスレッドスケジューリングを変更する命令を更に含み、
前記アプリケーションは、前記ＡＰＩ機能を呼び出して、前記第２のデバイスドライバのスレッドを促進することを特徴とする請求項２１記載のコンピュータシステム。