JP2002532784A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2002532784A5 JP2002532784A5 JP2000587276A JP2000587276A JP2002532784A5 JP 2002532784 A5 JP2002532784 A5 JP 2002532784A5 JP 2000587276 A JP2000587276 A JP 2000587276A JP 2000587276 A JP2000587276 A JP 2000587276A JP 2002532784 A5 JP2002532784 A5 JP 2002532784A5
- Authority
- JP
- Japan
- Prior art keywords
- code
- software interface
- rerouting
- driver
- section
- 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.)
- Pending
Links
- 230000000903 blocking Effects 0.000 description 19
- 230000001808 coupling Effects 0.000 description 11
- 238000010168 coupling process Methods 0.000 description 8
- 238000005859 coupling reaction Methods 0.000 description 8
- 238000009434 installation Methods 0.000 description 8
- 230000003068 static Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 1
- UIIMBOGNXHQVGW-UHFFFAOYSA-M buffer Substances [Na+].OC([O-])=O UIIMBOGNXHQVGW-UHFFFAOYSA-M 0.000 description 1
- 230000003139 buffering Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
Description
【特許請求の範囲】
【請求項1】
一連の命令が格納されている機械可読媒体であって、該一連の命令は、プロセッサによって実行されたときにおいて、
該プロセッサによって実行されているネットワークドライバソフトウェアインタフェース内の少なくとも第1のセクションのコンピュータコードへのアクセスを、該第1のセクションのコンピュータコードの前に実行されるコンピュータコードをブロッキングコンピュータコードで上書きすることによって、ディセーブルする動作であって、該ネットワークドライバソフトウェアインタフェースは、一組の結合に従って、コンピュータシステム内の一つ以上のプロトコルドライバおよび一つ以上のメディアアクセス制御ユニット間の通信を提供する、動作と、
該プロセッサを用いて該ブロッキングコンピュータコードを実行する動作と、
該ネットワークドライバソフトウェアインタフェースの該ブロッキングコンピュータコードが該プロセッサによって実行されている間において、かつ該ネットワークドライバソフトウェアインタフェースの完全な動作を停止することなしに、該第1のセクションのコンピュータコードをパッチする動作であって、該第1のセクションのコードのパッチが、該ネットワークドライバソフトウェアインタフェースからの呼び出し命令を転送するためのテンプレートジャンプをリルーティングドライバ内のテンプレートに挿入することを包含し、該テンプレートは、通信を制御するための新たなコンピュータコードを含み、該テンプレートジャンプおよびテンプレートは、該コンピュータシステム内の一つ以上のプロトコルドライバおよび一つ以上のメディアアクセス制御ユニット間の通信を該リルーティングドライバが制御することを可能にする、動作と、
該ブロッキングコンピュータコードを該パッチされた第1のセクションのコンピュータコードで置換することによって、該パッチされた第1のセクションのコンピュータコードへのアクセスを再イネーブルする動作と
を該プロセッサに実行させる、機械可読媒体。
【請求項2】
前記パッチが静的パッチである、請求項1に記載の機械可読媒体。
【請求項3】
前記プロトコルドライバへのCALL命令が前記リルーティングドライバ内の前記テンプレートへのJUMPで置換されるように、前記テンプレートジャンプが前記ネットワークドライバソフトウェアインタフェースに挿入され、該テンプレートが、該CALL命令を含む、請求項2に記載の機械可読媒体。
【請求項4】
前記第1のセクションのコンピュータコードの前記パッチが、前記ネットワークドライバソフトウェアインタフェースと前記リルーティングドライバとの間において少なくとも1つの新たな結合を作成する、請求項2に記載の機械可読媒体。
【請求項5】
前記少なくとも1つの新たな結合が、前記リルーティングドライバ内の取得ユニットと一つ以上のメディアアクセス制御ユニットとの間における通信を提供する、請求項4に記載の機械可読媒体。
【請求項6】
前記取得ユニットが、前記少なくとも1つの新たな結合を介した通信を傍受するために用いられる、請求項5に記載の機械可読媒体。
【請求項7】
前記パッチが動的パッチである、請求項1に記載の機械可読媒体。
【請求項8】
前記動的パッチが、前記リルーティングドライバ内のダイナミックパッチコンピュータコードと少なくとも1つのメディアアクセス制御ユニットとの間の新たな結合を確立することを含む、請求項7に記載の機械可読媒体。
【請求項9】
前記プロトコルドライバへのCALL命令が前記リルーティングドライバ内の前記テンプレートへのJUMPで置換されるように、前記テンプレートジャンプが前記ネットワークドライバソフトウェアインタフェースに挿入され、該テンプレートが、該CALL命令を含む、請求項8に記載の機械可読媒体。
【請求項10】
遠隔ホストからネットワーク上の第1のターゲットコンピュータへとインストレーションアプリケーションおよびリルーティングドライバを送信することと、
該遠隔ホストから該第1のターゲットコンピュータへと該第1のターゲットコンピュータに該インストレーションアプリケーションを実行させるためのコマンドを送信することと、
該コマンドの受信に応答して、該第1のターゲットコンピュータが該インストレーションアプリケーションを実行することであって、該第1のターゲットコンピュータが、一組の結合に従って、一つ以上のメディアアクセス制御ユニットと一つ以上のプロトコルドライバとの間における通信を提供するネットワークドライバソフトウェアインタフェースを含む、ことと、
該ネットワークドライバソフトウェアインタフェースが該第1のターゲットコンピュータによって実行されている間において、かつ該第1のターゲットコンピュータを再起動させることなしに、該インストレーションアプリケーションの実行に応答して、該第1のターゲットコンピュータが、該ネットワークドライバソフトウェアインタフェースの改良に、該リルーティングドライバを該一組の結合によって提供された一つ以上の通信経路に挿入させる、ことであって、該第1のターゲットコンピュータがマルチプロセッサシステムを含み、該リルーティングドライバの挿入が、
該第1のセクションの前にコードをブロッキングコードで上書きすることによって、該ネットワークドライバソフトウェアインタフェースの完全な動作を停止せずに、該インストレーションアプリケーションが、該ネットワークドライバソフトウェアインタフェース内の少なくとも第1のセクションのコードへのアクセスをディセーブルすることと、
該ブロッキングコードが該プロセッサによって実行されている間において、該インストレーションアプリケーションが該第1のセクションのコードをパッチすることであって、該パッチは、該ネットワークドライバソフトウェアインタフェースからの呼び出し命令を転送するためのテンプレートジャンプをリルーティングドライバ内のテンプレートに挿入することを包含し、該テンプレートは、通信を制御するための新たなコンピュータコードを含み、該テンプレートジャンプおよびテンプレートは、該一つ以上のプロトコルドライバと該一つ以上のメディアアクセス制御ユニット間の通信を該リルーティングドライバが制御することを可能にする、ことと
をさらに包含する、ことと
を包含する、コンピュータに実装された方法。
【請求項11】
前記ネットワークドライバソフトウェアインタフェースの改良が、静的パッチによってなされる、請求項10に記載のコンピュータに実装された方法。
【請求項12】
前記プロトコルドライバへのCALL命令が前記リルーティングドライバ内の前記テンプレートへのJUMPで置換されるように、前記テンプレートジャンプが前記ネットワークドライバソフトウェアインタフェースに挿入され、該テンプレートが、該CALL命令を含む、請求項11に記載のコンピュータに実装された方法。
【請求項13】
前記ネットワークドライバソフトウェアインタフェースの改良が、動的パッチによってなされる、請求項10に記載のコンピュータに実装された方法。
【請求項14】
前記動的パッチが、前記リルーティングドライバ内のダイナミックパッチコードと少なくとも1つのメディアアクセス制御ユニットとの間の新たな結合を確立することをさらに含む、請求項13に記載のコンピュータに実装された方法。
【請求項15】
前記プロトコルドライバへのCALL命令が前記リルーティングドライバ内の前記テンプレートへのJUMPで置換されるように、前記テンプレートジャンプが前記ネットワークドライバソフトウェアインタフェースに挿入され、該テンプレートが、該CALL命令を含む、請求項14に記載のコンピュータに実装された方法。
【請求項16】
プロセッサを備えたコンピュータシステムであって、該プロセッサは、
プロトコルドライバと、
ネットワークドライバソフトウェアインタフェースと、
メディアアクセス制御ユニットと、
リルーティングドライバであって、該リルーティングドライバのインストールの間において、該ネットワークドライバソフトウェアインタフェースの完全な動作が停止されないように、該ネットワークドライバソフトウェアインタフェース内の第1のセクションのコードは、該第1のセクションのコードの前に位置しているコードをブロッキングコードで上書きすることによってディセーブルされ、次いで、該ネットワークドライバソフトウェアインタフェースからの呼び出し命令を転送するためのテンプレートジャンプをリルーティングドライバ内のテンプレートに挿入することによって、該第1のセクションのコードがパッチされ、該テンプレートは、通信を制御するための新たなコンピュータコードを含み、該テンプレートジャンプおよびテンプレートは、一つ以上のプロトコルドライバおよび一つ以上のメディアアクセス制御ユニット間の通信を該リルーティングドライバが制御することを可能にする、リルーティングドライバと
を同時に実行し、
該ネットワークドライバソフトウェアインタフェースは、該プロトコルドライバと該メディアアクセス制御ユニットとの間における通信経路を規定する第1の結合を格納し、該ネットワークドライバソフトウェアインタフェースは、該メディアアクセス制御ユニットとパケットを通信するように結合されており、該ネットワークドライバソフトウェアインタフェースは、該リルーティングドライバと該パケットを通信するようにパッチされており、
該リルーティングドライバは、該ネットワークドライバソフトウェアインタフェースと同時に該プロセッサによって実行され、また、該プロトコルドライバと該パケットを通信するように結合されている、コンピュータシステム。
【請求項17】
前記リルーティングドライバが、静的パッチコードをさらに含む、請求項16に記載のコンピュータシステム。
【請求項18】
前記リルーティングドライバが、動的パッチコードをさらに含む、請求項16に記載のコンピュータシステム。
【請求項19】
前記リルーティングドライバが、評価用に前記パケットのうちの一つ以上をバッファに格納するための取得ユニットをさらに含む、請求項16に記載のコンピュータシステム。
【請求項20】
前記ネットワークインタフェースが、前記リルーティングドライバと、前記メディアアクセス制御ユニットとの間における通信経路を規定する第2の結合をさらに格納し、該取得ユニットが、該リルーティングユニットに決まっている前記パケットを前記バッファに格納する、請求項19に記載のコンピュータシステム。
【請求項21】
コンピュータシステムにネットワークドライバおよびソフトウェアを遠隔からインストールし、該インストールの後に該コンピュータシステムを再起動しないためのリルーティングドライバであって、該コンピュータシステムは、オペレーティングシステムとマルチプロセッサとを有しており、該マルチプロセッサにおいて、ネットワークドライバソフトウェアインタフェースは、該コンピュータシステム上の少なくとも1つのプロトコルドライバと少なくとも1つのメディアアクセス制御ユニットとの間における情報の通信を提供し、該リルーティングドライバは、
該リルーティングドライバを制御するための制御コードと、
該ネットワークドライバソフトウェアインタフェースと該リルーティングドライバとが同時に実行されている間において、該リルーティングドライバが該少なくとも1つのメディアアクセス制御ユニットに結合されるように、該ネットワークドライバソフトウェアインタフェースにおいて少なくとも1つの結合を確立するための結合コードと、
該ネットワークドライバソフトウェアインタフェースにおける少なくとも第1のセクションのコードにテンプレートジャンプを挿入するためのパッチコードであって、該テンプレートジャンプは、該ネットワークドライバソフトウェアインタフェースと該リルーティングドライバとが同時に実行されている間において、該少なくとも1つのプロトコルドライバに宛先決定さている該少なくとも1つメディアアクセス制御ユニットからの情報が該リルーティングドライバにリルーティングされるように、該リルーティングドライバ内のテンプレートへのジャンプを提供する、パッチコードと、
該ネットワークドライバソフトウェア内の少なくとも1つのテンプレートジャンプから情報を受取り、通信を制御するための挿入コードを備えている少なくとも1つのテンプレートと、
ブロッキングコードであって、該ブロッキングコードの後ろに配置されている該パッチコードの処理を防止し、該ネットワークドライバソフトウェアインタフェースの連続動作を可能にする、ブロッキングコードと、
該挿入コードであって、該ブロッキングコードを置換し、該テンプレートジャンプによって受信されたリルーティングされた情報を評価する、挿入コードと
を備える、リルーティングドライバ。
【請求項22】
前記制御コードが、前記ネットワークドライバインタフェース命令コードの開始メモリアドレスを識別し、前記第1のセクションのコードへのアクセスをディセーブルし、さらに、前記パッチコードが、該ブロッキングコードを用いたアクセスの該ディセーブルに続いて、全ての所定のメモリアドレスがパッチされるように、該第1のセクションのコードと、さらなる所定のメモリアドレスとを上書きするように動作する、請求項21に記載のリルーティングドライバ。
【請求項23】
前記パッチコードが、前記ネットワークドライバソフトウェアインタフェースから送信された情報の受信に応答して、該ネットワークドライバインタフェースから情報が受信されるとメモリアドレスがインクリメント的にパッチされるように、該情報を送信した命令コードアドレスを決定し、該アドレスにおける前記第1のセクションのコードを上書きする、請求項21に記載のリルーティングドライバ。
【請求項24】
共有メモリとネットワークドライバソフトウェアインタフェースとを有しているマルチプロセッサシステム内のコードへのアクセスをディセーブルおよび再イネーブルするための方法であって、
該ネットワークドライバソフトウェアインタフェースの実行中において修正されるべき、中央処理装置内の該ネットワークドライバソフトウェアインタフェースの第1のセクションのコードを選択することと、
該ネットワークドライバソフトウェアインタフェースの実行中において該中央処理装置のキャッシュメモリに該ネットワークドライバソフトウェアインタフェースの該第1のセクションのコードを書き込むことと、
該キャッシュメモリ内の該第1のセクションのコードの一部をブロッキングコードで上書きすることであって、該ブロッキングコードは、該ネットワークドライバソフトウェアインタフェースの実行中において第1のバージョンのコードを作成するためにシリアル化命令のループをさせるコードを含んでいる、ことと、
該ネットワークドライバソフトウェアインタフェースの実行中において該第1のバージョンのコードを該共有メモリに書き込むことと、
該キャッシュメモリにおいて該第1のバージョンのコードを修正して第2のバージョンのコードを作成することであって、該ネットワークドライバソフトウェアインタフェースが該共有メモリ内で実行されているときにおいて該ネットワークドライバソフトウェアインタフェースの静的パッチをもたらすために、該ブロッキングコードの後のコードの一部が、テンプレートへの呼び出しを転送するためのテンプレートジャンプで上書きされ、該テンプレートは、通信を制御するための新たなコンピュータコードを含んでおり、該テンプレートジャンプとテンプレートとは、該新たなコンピュータコードが該一つ以上のメディアアクセス制御ユニットと該一つ以上のプロトコルドライバとの間における通信を制御することを可能にする、ことと、
該ネットワークドライバソフトウェアインタフェースの実行中において、該第2のバージョンのコードを該共有メモリに書き込むことと、
該キャッシュメモリにおいて該第2のバージョンのコードを第3のバージョンのコードを作成するためのコードを用いて修正することであって、該ネットワークドライバソフトウェアインタフェースの実行中において該ブロッキングコードを除去するように、該ブロッキングコードが上書きされる、ことと、
該ネットワークドライバソフトウェアインタフェースの実行中において、該第3のバージョンのコードを該共有メモリに書き込むことと
を包含する、方法。
【請求項25】
命令を格納している機械可読媒体であって、該命令は、実行されたときにおいて、
ネットワークドライバソフトウェアインタフェースの実行中において、該ネットワークドライバソフトウェアインタフェースの第1のセクションのコードへのアクセスを、該第1のセクションのコードの前に配置されているコードをブロッキングコードで上書きすることによって、ディセーブルすることであって、該第1のセクションのコードは、メディアアクセス制御ユニットとアプリケーションとの間における通信経路を提供し、該第1のセクションのコードは一般的な呼び出しを含んでいる、ことと、
該ネットワークドライバソフトウェアインタフェースが該ブロッキングコードを実行している間において、該第1のセクションのコードを第2のセクションのコードで上書きすることと、
該ブロッキングコードを該第2のセクションのコードで上書きすることであって、該ネットワークドライバソフトウェアインタフェースの完全な動作は停止しない、ことと、
リルーティングドライバにおいて第3のセクションのコードに実行フローがリルーティングされるように、該第2のセクションのコードを実行することであって、該第2のセクションのコードは該第1のコードよりも大きくない、ことと、
該第3のセクションのコードが実行されていて、該ネットワークドライバソフトウェアインタフェースが該第2のセクションのコードを実行しているときにおいて、該通信経路を完全にし、実行フローをリターンすることであって、該第3のセクションのコードは、該第1のセクションのコードに存在しないさらなるコードを含んでおり、該第1のセクションのコードは、ここでは、該通信経路に挿入されており、該メディアアクセス制御ユニットと該アプリケーションとの間の通信を制御する、ことと
を一組の一つ以上のプロセッサに実行させる、機械可読媒体。
【請求項26】
前記第2のセクションのコードが、前記第3のセクションのコード内のテンプレートへのテンプレートジャンプを含んでいる、請求項25に記載の機械可読媒体。
【請求項1】
一連の命令が格納されている機械可読媒体であって、該一連の命令は、プロセッサによって実行されたときにおいて、
該プロセッサによって実行されているネットワークドライバソフトウェアインタフェース内の少なくとも第1のセクションのコンピュータコードへのアクセスを、該第1のセクションのコンピュータコードの前に実行されるコンピュータコードをブロッキングコンピュータコードで上書きすることによって、ディセーブルする動作であって、該ネットワークドライバソフトウェアインタフェースは、一組の結合に従って、コンピュータシステム内の一つ以上のプロトコルドライバおよび一つ以上のメディアアクセス制御ユニット間の通信を提供する、動作と、
該プロセッサを用いて該ブロッキングコンピュータコードを実行する動作と、
該ネットワークドライバソフトウェアインタフェースの該ブロッキングコンピュータコードが該プロセッサによって実行されている間において、かつ該ネットワークドライバソフトウェアインタフェースの完全な動作を停止することなしに、該第1のセクションのコンピュータコードをパッチする動作であって、該第1のセクションのコードのパッチが、該ネットワークドライバソフトウェアインタフェースからの呼び出し命令を転送するためのテンプレートジャンプをリルーティングドライバ内のテンプレートに挿入することを包含し、該テンプレートは、通信を制御するための新たなコンピュータコードを含み、該テンプレートジャンプおよびテンプレートは、該コンピュータシステム内の一つ以上のプロトコルドライバおよび一つ以上のメディアアクセス制御ユニット間の通信を該リルーティングドライバが制御することを可能にする、動作と、
該ブロッキングコンピュータコードを該パッチされた第1のセクションのコンピュータコードで置換することによって、該パッチされた第1のセクションのコンピュータコードへのアクセスを再イネーブルする動作と
を該プロセッサに実行させる、機械可読媒体。
【請求項2】
前記パッチが静的パッチである、請求項1に記載の機械可読媒体。
【請求項3】
前記プロトコルドライバへのCALL命令が前記リルーティングドライバ内の前記テンプレートへのJUMPで置換されるように、前記テンプレートジャンプが前記ネットワークドライバソフトウェアインタフェースに挿入され、該テンプレートが、該CALL命令を含む、請求項2に記載の機械可読媒体。
【請求項4】
前記第1のセクションのコンピュータコードの前記パッチが、前記ネットワークドライバソフトウェアインタフェースと前記リルーティングドライバとの間において少なくとも1つの新たな結合を作成する、請求項2に記載の機械可読媒体。
【請求項5】
前記少なくとも1つの新たな結合が、前記リルーティングドライバ内の取得ユニットと一つ以上のメディアアクセス制御ユニットとの間における通信を提供する、請求項4に記載の機械可読媒体。
【請求項6】
前記取得ユニットが、前記少なくとも1つの新たな結合を介した通信を傍受するために用いられる、請求項5に記載の機械可読媒体。
【請求項7】
前記パッチが動的パッチである、請求項1に記載の機械可読媒体。
【請求項8】
前記動的パッチが、前記リルーティングドライバ内のダイナミックパッチコンピュータコードと少なくとも1つのメディアアクセス制御ユニットとの間の新たな結合を確立することを含む、請求項7に記載の機械可読媒体。
【請求項9】
前記プロトコルドライバへのCALL命令が前記リルーティングドライバ内の前記テンプレートへのJUMPで置換されるように、前記テンプレートジャンプが前記ネットワークドライバソフトウェアインタフェースに挿入され、該テンプレートが、該CALL命令を含む、請求項8に記載の機械可読媒体。
【請求項10】
遠隔ホストからネットワーク上の第1のターゲットコンピュータへとインストレーションアプリケーションおよびリルーティングドライバを送信することと、
該遠隔ホストから該第1のターゲットコンピュータへと該第1のターゲットコンピュータに該インストレーションアプリケーションを実行させるためのコマンドを送信することと、
該コマンドの受信に応答して、該第1のターゲットコンピュータが該インストレーションアプリケーションを実行することであって、該第1のターゲットコンピュータが、一組の結合に従って、一つ以上のメディアアクセス制御ユニットと一つ以上のプロトコルドライバとの間における通信を提供するネットワークドライバソフトウェアインタフェースを含む、ことと、
該ネットワークドライバソフトウェアインタフェースが該第1のターゲットコンピュータによって実行されている間において、かつ該第1のターゲットコンピュータを再起動させることなしに、該インストレーションアプリケーションの実行に応答して、該第1のターゲットコンピュータが、該ネットワークドライバソフトウェアインタフェースの改良に、該リルーティングドライバを該一組の結合によって提供された一つ以上の通信経路に挿入させる、ことであって、該第1のターゲットコンピュータがマルチプロセッサシステムを含み、該リルーティングドライバの挿入が、
該第1のセクションの前にコードをブロッキングコードで上書きすることによって、該ネットワークドライバソフトウェアインタフェースの完全な動作を停止せずに、該インストレーションアプリケーションが、該ネットワークドライバソフトウェアインタフェース内の少なくとも第1のセクションのコードへのアクセスをディセーブルすることと、
該ブロッキングコードが該プロセッサによって実行されている間において、該インストレーションアプリケーションが該第1のセクションのコードをパッチすることであって、該パッチは、該ネットワークドライバソフトウェアインタフェースからの呼び出し命令を転送するためのテンプレートジャンプをリルーティングドライバ内のテンプレートに挿入することを包含し、該テンプレートは、通信を制御するための新たなコンピュータコードを含み、該テンプレートジャンプおよびテンプレートは、該一つ以上のプロトコルドライバと該一つ以上のメディアアクセス制御ユニット間の通信を該リルーティングドライバが制御することを可能にする、ことと
をさらに包含する、ことと
を包含する、コンピュータに実装された方法。
【請求項11】
前記ネットワークドライバソフトウェアインタフェースの改良が、静的パッチによってなされる、請求項10に記載のコンピュータに実装された方法。
【請求項12】
前記プロトコルドライバへのCALL命令が前記リルーティングドライバ内の前記テンプレートへのJUMPで置換されるように、前記テンプレートジャンプが前記ネットワークドライバソフトウェアインタフェースに挿入され、該テンプレートが、該CALL命令を含む、請求項11に記載のコンピュータに実装された方法。
【請求項13】
前記ネットワークドライバソフトウェアインタフェースの改良が、動的パッチによってなされる、請求項10に記載のコンピュータに実装された方法。
【請求項14】
前記動的パッチが、前記リルーティングドライバ内のダイナミックパッチコードと少なくとも1つのメディアアクセス制御ユニットとの間の新たな結合を確立することをさらに含む、請求項13に記載のコンピュータに実装された方法。
【請求項15】
前記プロトコルドライバへのCALL命令が前記リルーティングドライバ内の前記テンプレートへのJUMPで置換されるように、前記テンプレートジャンプが前記ネットワークドライバソフトウェアインタフェースに挿入され、該テンプレートが、該CALL命令を含む、請求項14に記載のコンピュータに実装された方法。
【請求項16】
プロセッサを備えたコンピュータシステムであって、該プロセッサは、
プロトコルドライバと、
ネットワークドライバソフトウェアインタフェースと、
メディアアクセス制御ユニットと、
リルーティングドライバであって、該リルーティングドライバのインストールの間において、該ネットワークドライバソフトウェアインタフェースの完全な動作が停止されないように、該ネットワークドライバソフトウェアインタフェース内の第1のセクションのコードは、該第1のセクションのコードの前に位置しているコードをブロッキングコードで上書きすることによってディセーブルされ、次いで、該ネットワークドライバソフトウェアインタフェースからの呼び出し命令を転送するためのテンプレートジャンプをリルーティングドライバ内のテンプレートに挿入することによって、該第1のセクションのコードがパッチされ、該テンプレートは、通信を制御するための新たなコンピュータコードを含み、該テンプレートジャンプおよびテンプレートは、一つ以上のプロトコルドライバおよび一つ以上のメディアアクセス制御ユニット間の通信を該リルーティングドライバが制御することを可能にする、リルーティングドライバと
を同時に実行し、
該ネットワークドライバソフトウェアインタフェースは、該プロトコルドライバと該メディアアクセス制御ユニットとの間における通信経路を規定する第1の結合を格納し、該ネットワークドライバソフトウェアインタフェースは、該メディアアクセス制御ユニットとパケットを通信するように結合されており、該ネットワークドライバソフトウェアインタフェースは、該リルーティングドライバと該パケットを通信するようにパッチされており、
該リルーティングドライバは、該ネットワークドライバソフトウェアインタフェースと同時に該プロセッサによって実行され、また、該プロトコルドライバと該パケットを通信するように結合されている、コンピュータシステム。
【請求項17】
前記リルーティングドライバが、静的パッチコードをさらに含む、請求項16に記載のコンピュータシステム。
【請求項18】
前記リルーティングドライバが、動的パッチコードをさらに含む、請求項16に記載のコンピュータシステム。
【請求項19】
前記リルーティングドライバが、評価用に前記パケットのうちの一つ以上をバッファに格納するための取得ユニットをさらに含む、請求項16に記載のコンピュータシステム。
【請求項20】
前記ネットワークインタフェースが、前記リルーティングドライバと、前記メディアアクセス制御ユニットとの間における通信経路を規定する第2の結合をさらに格納し、該取得ユニットが、該リルーティングユニットに決まっている前記パケットを前記バッファに格納する、請求項19に記載のコンピュータシステム。
【請求項21】
コンピュータシステムにネットワークドライバおよびソフトウェアを遠隔からインストールし、該インストールの後に該コンピュータシステムを再起動しないためのリルーティングドライバであって、該コンピュータシステムは、オペレーティングシステムとマルチプロセッサとを有しており、該マルチプロセッサにおいて、ネットワークドライバソフトウェアインタフェースは、該コンピュータシステム上の少なくとも1つのプロトコルドライバと少なくとも1つのメディアアクセス制御ユニットとの間における情報の通信を提供し、該リルーティングドライバは、
該リルーティングドライバを制御するための制御コードと、
該ネットワークドライバソフトウェアインタフェースと該リルーティングドライバとが同時に実行されている間において、該リルーティングドライバが該少なくとも1つのメディアアクセス制御ユニットに結合されるように、該ネットワークドライバソフトウェアインタフェースにおいて少なくとも1つの結合を確立するための結合コードと、
該ネットワークドライバソフトウェアインタフェースにおける少なくとも第1のセクションのコードにテンプレートジャンプを挿入するためのパッチコードであって、該テンプレートジャンプは、該ネットワークドライバソフトウェアインタフェースと該リルーティングドライバとが同時に実行されている間において、該少なくとも1つのプロトコルドライバに宛先決定さている該少なくとも1つメディアアクセス制御ユニットからの情報が該リルーティングドライバにリルーティングされるように、該リルーティングドライバ内のテンプレートへのジャンプを提供する、パッチコードと、
該ネットワークドライバソフトウェア内の少なくとも1つのテンプレートジャンプから情報を受取り、通信を制御するための挿入コードを備えている少なくとも1つのテンプレートと、
ブロッキングコードであって、該ブロッキングコードの後ろに配置されている該パッチコードの処理を防止し、該ネットワークドライバソフトウェアインタフェースの連続動作を可能にする、ブロッキングコードと、
該挿入コードであって、該ブロッキングコードを置換し、該テンプレートジャンプによって受信されたリルーティングされた情報を評価する、挿入コードと
を備える、リルーティングドライバ。
【請求項22】
前記制御コードが、前記ネットワークドライバインタフェース命令コードの開始メモリアドレスを識別し、前記第1のセクションのコードへのアクセスをディセーブルし、さらに、前記パッチコードが、該ブロッキングコードを用いたアクセスの該ディセーブルに続いて、全ての所定のメモリアドレスがパッチされるように、該第1のセクションのコードと、さらなる所定のメモリアドレスとを上書きするように動作する、請求項21に記載のリルーティングドライバ。
【請求項23】
前記パッチコードが、前記ネットワークドライバソフトウェアインタフェースから送信された情報の受信に応答して、該ネットワークドライバインタフェースから情報が受信されるとメモリアドレスがインクリメント的にパッチされるように、該情報を送信した命令コードアドレスを決定し、該アドレスにおける前記第1のセクションのコードを上書きする、請求項21に記載のリルーティングドライバ。
【請求項24】
共有メモリとネットワークドライバソフトウェアインタフェースとを有しているマルチプロセッサシステム内のコードへのアクセスをディセーブルおよび再イネーブルするための方法であって、
該ネットワークドライバソフトウェアインタフェースの実行中において修正されるべき、中央処理装置内の該ネットワークドライバソフトウェアインタフェースの第1のセクションのコードを選択することと、
該ネットワークドライバソフトウェアインタフェースの実行中において該中央処理装置のキャッシュメモリに該ネットワークドライバソフトウェアインタフェースの該第1のセクションのコードを書き込むことと、
該キャッシュメモリ内の該第1のセクションのコードの一部をブロッキングコードで上書きすることであって、該ブロッキングコードは、該ネットワークドライバソフトウェアインタフェースの実行中において第1のバージョンのコードを作成するためにシリアル化命令のループをさせるコードを含んでいる、ことと、
該ネットワークドライバソフトウェアインタフェースの実行中において該第1のバージョンのコードを該共有メモリに書き込むことと、
該キャッシュメモリにおいて該第1のバージョンのコードを修正して第2のバージョンのコードを作成することであって、該ネットワークドライバソフトウェアインタフェースが該共有メモリ内で実行されているときにおいて該ネットワークドライバソフトウェアインタフェースの静的パッチをもたらすために、該ブロッキングコードの後のコードの一部が、テンプレートへの呼び出しを転送するためのテンプレートジャンプで上書きされ、該テンプレートは、通信を制御するための新たなコンピュータコードを含んでおり、該テンプレートジャンプとテンプレートとは、該新たなコンピュータコードが該一つ以上のメディアアクセス制御ユニットと該一つ以上のプロトコルドライバとの間における通信を制御することを可能にする、ことと、
該ネットワークドライバソフトウェアインタフェースの実行中において、該第2のバージョンのコードを該共有メモリに書き込むことと、
該キャッシュメモリにおいて該第2のバージョンのコードを第3のバージョンのコードを作成するためのコードを用いて修正することであって、該ネットワークドライバソフトウェアインタフェースの実行中において該ブロッキングコードを除去するように、該ブロッキングコードが上書きされる、ことと、
該ネットワークドライバソフトウェアインタフェースの実行中において、該第3のバージョンのコードを該共有メモリに書き込むことと
を包含する、方法。
【請求項25】
命令を格納している機械可読媒体であって、該命令は、実行されたときにおいて、
ネットワークドライバソフトウェアインタフェースの実行中において、該ネットワークドライバソフトウェアインタフェースの第1のセクションのコードへのアクセスを、該第1のセクションのコードの前に配置されているコードをブロッキングコードで上書きすることによって、ディセーブルすることであって、該第1のセクションのコードは、メディアアクセス制御ユニットとアプリケーションとの間における通信経路を提供し、該第1のセクションのコードは一般的な呼び出しを含んでいる、ことと、
該ネットワークドライバソフトウェアインタフェースが該ブロッキングコードを実行している間において、該第1のセクションのコードを第2のセクションのコードで上書きすることと、
該ブロッキングコードを該第2のセクションのコードで上書きすることであって、該ネットワークドライバソフトウェアインタフェースの完全な動作は停止しない、ことと、
リルーティングドライバにおいて第3のセクションのコードに実行フローがリルーティングされるように、該第2のセクションのコードを実行することであって、該第2のセクションのコードは該第1のコードよりも大きくない、ことと、
該第3のセクションのコードが実行されていて、該ネットワークドライバソフトウェアインタフェースが該第2のセクションのコードを実行しているときにおいて、該通信経路を完全にし、実行フローをリターンすることであって、該第3のセクションのコードは、該第1のセクションのコードに存在しないさらなるコードを含んでおり、該第1のセクションのコードは、ここでは、該通信経路に挿入されており、該メディアアクセス制御ユニットと該アプリケーションとの間の通信を制御する、ことと
を一組の一つ以上のプロセッサに実行させる、機械可読媒体。
【請求項26】
前記第2のセクションのコードが、前記第3のセクションのコード内のテンプレートへのテンプレートジャンプを含んでいる、請求項25に記載の機械可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11129298P | 1998-12-07 | 1998-12-07 | |
US60/111,292 | 1998-12-07 | ||
PCT/US1999/029117 WO2000034885A1 (en) | 1998-12-07 | 1999-12-07 | A method and apparatus for remote installation of network drivers and software |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002532784A JP2002532784A (ja) | 2002-10-02 |
JP2002532784A5 true JP2002532784A5 (ja) | 2007-02-15 |
Family
ID=22337653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000587276A Pending JP2002532784A (ja) | 1998-12-07 | 1999-12-07 | ネットワークドライバおよびソフトウェアのリモートインストールの方法および装置 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1175646A1 (ja) |
JP (1) | JP2002532784A (ja) |
AU (1) | AU2355500A (ja) |
WO (1) | WO2000034885A1 (ja) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255456B2 (en) | 2005-12-30 | 2012-08-28 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
US8261057B2 (en) | 2004-06-30 | 2012-09-04 | Citrix Systems, Inc. | System and method for establishing a virtual private network |
US8301839B2 (en) | 2005-12-30 | 2012-10-30 | Citrix Systems, Inc. | System and method for performing granular invalidation of cached dynamically generated objects in a data communication network |
US8351333B2 (en) | 2004-07-23 | 2013-01-08 | Citrix Systems, Inc. | Systems and methods for communicating a lossy protocol via a lossless protocol using false acknowledgements |
US8495305B2 (en) | 2004-06-30 | 2013-07-23 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
US8499057B2 (en) | 2005-12-30 | 2013-07-30 | Citrix Systems, Inc | System and method for performing flash crowd caching of dynamically generated objects in a data communication network |
US8549149B2 (en) | 2004-12-30 | 2013-10-01 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing |
US8559449B2 (en) | 2003-11-11 | 2013-10-15 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
US8700695B2 (en) | 2004-12-30 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP pooling |
US8706877B2 (en) | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
US8739274B2 (en) | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
US8856777B2 (en) | 2004-12-30 | 2014-10-07 | Citrix Systems, Inc. | Systems and methods for automatic installation and execution of a client-side acceleration program |
US8892778B2 (en) | 2004-07-23 | 2014-11-18 | Citrix Systems, Inc. | Method and systems for securing remote access to private networks |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954595B2 (en) | 2004-12-30 | 2015-02-10 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP buffering |
WO2006074072A2 (en) | 2004-12-30 | 2006-07-13 | Citrix Systems, Inc. | Systems and methods for providing client-side acceleration techniques |
JP7201069B2 (ja) * | 2019-03-18 | 2023-01-10 | 日本電気株式会社 | ファームウェア書き換え装置、ファームウェア書き換え方法、及び、制御プログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4819234A (en) * | 1987-05-01 | 1989-04-04 | Prime Computer, Inc. | Operating system debugger |
US5630061A (en) * | 1993-04-19 | 1997-05-13 | International Business Machines Corporation | System for enabling first computer to communicate over switched network with second computer located within LAN by using media access control driver in different modes |
US5764890A (en) * | 1994-12-13 | 1998-06-09 | Microsoft Corporation | Method and system for adding a secure network server to an existing computer network |
JPH08227387A (ja) * | 1995-02-21 | 1996-09-03 | Sony Corp | 通信方法および通信システム |
US5761504A (en) * | 1996-02-16 | 1998-06-02 | Motorola, Inc. | Method for updating a software code in a communication system |
US5950012A (en) * | 1996-03-08 | 1999-09-07 | Texas Instruments Incorporated | Single chip microprocessor circuits, systems, and methods for self-loading patch micro-operation codes and patch microinstruction codes |
US5881236A (en) * | 1996-04-26 | 1999-03-09 | Hewlett-Packard Company | System for installation of software on a remote computer system over a network using checksums and password protection |
JPH1021067A (ja) * | 1996-06-28 | 1998-01-23 | Toshiba Corp | プログラムの動的修正方法 |
US6016553A (en) * | 1997-09-05 | 2000-01-18 | Wild File, Inc. | Method, software and apparatus for saving, using and recovering data |
-
1999
- 1999-12-07 EP EP99967236A patent/EP1175646A1/en not_active Withdrawn
- 1999-12-07 JP JP2000587276A patent/JP2002532784A/ja active Pending
- 1999-12-07 AU AU23555/00A patent/AU2355500A/en not_active Abandoned
- 1999-12-07 WO PCT/US1999/029117 patent/WO2000034885A1/en not_active Application Discontinuation
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8559449B2 (en) | 2003-11-11 | 2013-10-15 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
US8739274B2 (en) | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
US8726006B2 (en) | 2004-06-30 | 2014-05-13 | Citrix Systems, Inc. | System and method for establishing a virtual private network |
US8495305B2 (en) | 2004-06-30 | 2013-07-23 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
US8261057B2 (en) | 2004-06-30 | 2012-09-04 | Citrix Systems, Inc. | System and method for establishing a virtual private network |
US8351333B2 (en) | 2004-07-23 | 2013-01-08 | Citrix Systems, Inc. | Systems and methods for communicating a lossy protocol via a lossless protocol using false acknowledgements |
US8897299B2 (en) | 2004-07-23 | 2014-11-25 | Citrix Systems, Inc. | Method and systems for routing packets from a gateway to an endpoint |
US8892778B2 (en) | 2004-07-23 | 2014-11-18 | Citrix Systems, Inc. | Method and systems for securing remote access to private networks |
US8634420B2 (en) | 2004-07-23 | 2014-01-21 | Citrix Systems, Inc. | Systems and methods for communicating a lossy protocol via a lossless protocol |
US8914522B2 (en) | 2004-07-23 | 2014-12-16 | Citrix Systems, Inc. | Systems and methods for facilitating a peer to peer route via a gateway |
US8549149B2 (en) | 2004-12-30 | 2013-10-01 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing |
US8856777B2 (en) | 2004-12-30 | 2014-10-07 | Citrix Systems, Inc. | Systems and methods for automatic installation and execution of a client-side acceleration program |
US8706877B2 (en) | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
US8700695B2 (en) | 2004-12-30 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP pooling |
US8788581B2 (en) | 2005-01-24 | 2014-07-22 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
US8848710B2 (en) | 2005-01-24 | 2014-09-30 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
US8301839B2 (en) | 2005-12-30 | 2012-10-30 | Citrix Systems, Inc. | System and method for performing granular invalidation of cached dynamically generated objects in a data communication network |
US8255456B2 (en) | 2005-12-30 | 2012-08-28 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
US8499057B2 (en) | 2005-12-30 | 2013-07-30 | Citrix Systems, Inc | System and method for performing flash crowd caching of dynamically generated objects in a data communication network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002532784A5 (ja) | ||
US5577226A (en) | Method and system for coherently caching I/O devices across a network | |
US7286252B2 (en) | Printing system with enhanced efficiency in power-saving, printer, substitute server, and method and program used by the substitute server | |
US6954852B2 (en) | System for and method of network booting of an operating system to a client computer using hibernation | |
US8352624B2 (en) | System for and method of streaming data to a computer in a network | |
WO2004038539A3 (en) | System and method for explicit communication of messages between processes running on different nodes in a clustered multiprocessor system | |
JPH08221346A (ja) | 入出力操作の実行を制御するための方法およびシステム | |
WO2004036350A3 (en) | Secure file system server architecture and methods | |
WO2003025742A3 (en) | Software update method, apparatus and system | |
EP3629111B1 (en) | Process control system, process control apparatus and program update method | |
WO2000034885A1 (en) | A method and apparatus for remote installation of network drivers and software | |
JP3612043B2 (ja) | 執行中のプログラムファイルをアップデートすることができるシステムおよびその方法 | |
US20130268930A1 (en) | Performance isolation within data processing systems supporting distributed maintenance operations | |
EP1495418B1 (en) | System for and method of network booting of an operating system to a client computer using hibernation | |
CN106357454B (zh) | 日志系统控制装置及其控制方法 | |
CN110750289A (zh) | 一种分布式系统的灰度切换状态保持方法 | |
US20060184735A1 (en) | Methodology for effectively utilizing processor cache in an electronic system | |
US7336664B2 (en) | Data processing device and its input/output method and program | |
CA2545451A1 (en) | System and method for operating dual bank read-while-write flash | |
CN110888759A (zh) | 固件升级保护方法及移动电源租赁设备 | |
JPH02207364A (ja) | データ転送方式 | |
JPH10340228A (ja) | マイクロプロセッサ | |
KR960012659B1 (ko) | 서버 크라이언트 방식의 계산기 시스템에 있어서 리모트 사전 멘테넌스 시스템 | |
JP2001127780A5 (ja) | ネットワークシステム、ネットワークシステムの初期化方法、およびノード装置 | |
JPH07210378A (ja) | マルチプロセッサシステムのソフトウェア交換方法 |