【実施例】
【0032】
実施例1
データカードを使用する一部の方法において、ウイルス撃退ソフトウェア、又は、システム保護ソフトウェア、又は、他の要因のために、データカードとホストとの間の通信に異常が発生し、データカードは、もはや使用することができない。この場合、データカードがプラグアウトされ、そして、プラグインされても、又は、コンピュータが再起動された場合であっても、データカードは依然として正常な使用に戻すことができない。
図2に示すように、本発明のこの実施例は、データカードの異常から回復する方法を提供する。
ステップは、以下を含む
。
【0033】
201:データカードとホストとの間の通信に異常が発生した場合、ホストのオペレーティングシステムを回復するために、データカードの回復データを実行する。
【0034】
図1において示されるデータカード及びホストの間で通信を実行する方法において、以下の異常が発生し得る。
【0035】
第1の異常として、データカードは、予め設定された期間において、ホストによって送られたミニコンピュータシステムインターフェース命令を受信することに失敗する。データカードが、予め設定された期間で、ホストによって送られたミニコンピュータシステムインターフェース命令を受信することに失敗したか否かが判断される。「はい」の場合は、データカードとホストとの間の通信に異常が発生したと判断される。データカードがホストに接続されたあと、ホストはデータカードを列挙する。データカードは光ディスクディスクリプタをホストに報告し、かつホストは光ディスクディスクリプタに従ってデータカードを光ディスクとしてマップする。ホストは、ミニコンピュータシステムインターフェース命令を、光ディスクとしてマップされるデータカードに配信する。データカードは、ホストによって配信されるミニコンピュータシステムインターフェース命令を受信する。データカードが、予め設定された期間において、ホストによって送られたミニコンピュータシステムインターフェース命令を受信することに失敗した場合に、ホストのオペレーティングシステムのタイプがうまく検出されないために、異常が発生したと考えられる。
【0036】
第2の異常において、データカードのデバイス情報ファイルは、ホストに正しくインストールされることに失敗する。データカードの自動実行(autorun)プログラムの異常終了が発生したか否かが判断される。「はい」の場合は、データカードとホストとの間の通信異常が発生したと判断される。ホストのオペレーティングシステムのタイプがWindows XPであることが検出された場合に、データカードは光ディスクディスクリプタをホストに報告し、かつホストは光ディスクディスクリプタに従って光ディスクとしてデータカードをマップする。光ディスクは、デバイス情報ファイルautorunデバイス情報ファイルを含む。ホストは、自動的にautorunデバイス情報ファイルを実行し、autorunデバイス情報ファイルをホストにインストールする。autorunデバイス情報ファイルの実行のプロセスが失敗し、ホストにインストールされなかった場合、異常が発生したと考えられる。
【0037】
第3の異常において、ネットワークカードモードに切り替えられた後に、データカードは、ホストによって送られたネットワークカードブロードキャストパケットを受信することに失敗する。ネットワークモードに切り替えられた後に、データカードがホストによって送られたネットワークカードブロードキャストパケットを受信したか否かが判断される。「はい」の場合(受信できない場合)は、データカードとホストとの間の通信に異常が発生したと判断される。ホストがすでに対応するデータカードのネットワークドライバをロードし、かつデータカードがこの時点でネットワークカードモードにすでに切り替えられているときに、通常のケースで、ネットワークカードはホストによって配信されるネットワークカードブロードキャストパケットを受信しなければならない。ネットワークカードがホストによって配信されるネットワークカードブロードキャストパケットを受信することに失敗した場合、異常が発生したと考えられる。
【0038】
上述の異常のうちいかなる一つでも発生した場合、データカードの回復データが、ホストのオペレーティングシステムを回復するために実行される。
【0039】
具体的には、上述の異常のうちいかなる一つでも発生した場合、データカードは自動的にデータカードの回復データを実行する。例えば、自動実行プログラムautorunは、データを回復するために使用されてもよい。或いは、ホストのオペレーティングシステムを回復するように、ユーザが手動でデータカードの回復データを実行してもよい。
【0040】
ホストのオペレーティングシステムを回復するデータカードの回復データの実行は、データカードをリセットすること、記憶デバイスディスクリプタを報告すること、記憶デバイスとしてデータカードをマップすること
、及び、ホストのオペレーティングシステムを回復するために、記憶デバイスとしてマップされるデータカードの回復データを実行すること
、を任意に含んでもよい。
【0041】
具体的には、データカードは、ホストがデータカードを列挙するようトリガをかけるために、リセットされる。データカードは、光ディスクディスクリプタをホストに報告する。光ディスクディスクリプタはデータカードを光ディスクとしてマップする。ホストのオペレーティングシステムは、光ディスクとしてマップされるデータカードの回復データに従って回復される。或いは、データカードの命令レジスタがUSBモジュールをリセットし、かつデータカードが光ディスクディスクリプタをホストに報告する。光ディスクディスクリプタはホストが、データカードを光ディスクとしてマップすることを可能にするために使用される。光ディスクとしてマップされたデータカードは、回復データを含む。回復データを実行するための方法は、自動実行プログラムautorunにより回復データを実行してもよく、又は、手動で回復データを実行してもよい。
【0042】
任意に、データカードは、ホストがデータカードを列挙するようトリガするためにリセットされる。データカードは、USB記憶デバイスディスクリプタをホストに報告する。USB記憶デバイスディスクリプタはデータカードをUSB記憶デバイスとしてマップする。ホストのオペレーティングシステムは、USB記憶デバイスとしてマップされたデータカードの回復データに従って回復される。或いは、データカードの命令レジスタはUSBモジュールをリセットし、かつデータカードはUSB記憶デバイスディスクリプタをホストに報告する。USB記憶デバイスディスクリプタはホストがデータカードをUSB記憶デバイスとしてマップすることを可能にするために使用される。USB記憶デバイスとしてマップされたデータカードは、回復データを含む。回復データを実行するための方法は、自動的に自動実行プログラムautorunによる回復データを実行してもよく、又は手動で回復データを実行してもよい。
【0043】
回復データは、ホストのオペレーティングシステムを回復させる。これによって、オペレーティングシステムは、異常が発生する前の状態にリストアされる。データカードとホストとの間の通信を実行するプロセスにおいて、異なる異常が発生したあと、ホストのオペレーティングシステムは異なる状態となる。例えば、第2の異常、又は、第3の異常が発生した場合、データカードの情報はホストのオペレーティングシステムのレジストリにすでに記録され、かつデバイス情報ファイルはインストールされている。この場合、回復オペレーションにおいて、ホストのオペレーティングシステムのレジストリにすでに記録されているデータカードの情報及びホストのデバイス情報ファイルは、削除されることが望ましい。第1の異常が発生した場合、データカードの情報だけがホストのオペレーティングシステムのレジストリに記録され、かつデバイス情報ファイルはまだホストにインストールされないので、回復オペレーションにおいて、ホストのオペレーティングシステムのレジストリにすでに記録されたデータカードの情報だけが削除されることが望ましい。任意に、実際のオペレーションで、便宜のためにオペレーションの中で、ホストのオペレーティングシステム及びホストのデバイス情報ファイルのレジストリにすでに記録されたデータカードの情報を同時に削除する方法が通常採用される。
【0044】
202:データカードをリセットし、かつ光ディスクディスクリプタを報告する。
【0045】
ホストのオペレーティングシステムを回復するように、回復データがうまく実行されたあと、データカードはリセットされ、かつデータカードは光ディスクディスクリプタを報告する。光ディスクディスクリプタはホストがデータカードを光ディスクとしてマップすることを可能にするために使用される。
【0046】
具体的には、データカードの自動命令レジスタ(automatic instruction register)が、USBモジュールをリセットするために使用されてもよく、或いは、データカードをリセットするために、データカードをユーザが手動でプラグアウトし、かつプラグインしてもよい。
【0047】
203:データカードは、受信されたミニコンピュータシステムインターフェース命令に従って、ホストのオペレーティングシステムのタイプを検出する。
【0048】
データカードがホストによって光ディスクとしてマップされたあと、ホストはミニコンピュータシステムインターフェース命令をデータカードに送信し、かつデータカードは受信されたミニコンピュータシステムインターフェース命令に従ってホストのオペレーティングシステムのタイプを検出する。
【0049】
具体的には、オペレーションコード0XA2を含むミニコンピュータシステムインターフェース命令が受信された場合、オペレーティングシステムはWindows VISTA、又は、Windows 7と特定され、かつデータカードはRNDISデバイスディスクリプタをホストに報告する。ディスクリプタはホストがデータカードをRNDISデバイスとしてマップすることを可能にするために使用される。オペレーションコード0XBBを含むミニコンピュータシステムインターフェース命令が受信された場合、オペレーティングシステムはMAC、又は、Linuxと特定され、かつデータカードはCDC−ECMデバイスディスクリプタをホストに報告する。ディスクリプタはホストがデータカードをCDC−ECMデバイスとしてマップすることを可能にするために使用される。上述の2つのタイプのミニコンピュータシステムインターフェース命令のうちいずれも受信されない場合、オペレーティングシステムはWindows XPと特定され、かつデータカードは光ディスクディスクリプタをホストに報告する。光ディスクディスクリプタはホストがデータカードを光ディスクとしてマップすることを可能にするために使用される。
【0050】
さらに、ホストのオペレーティングシステムのタイプがうまく検出されたあと、ホストはデータカードドライバをロードし、かつデータカードはホストによって配信されるネットワークカードブロードキャストパケットを受信する。
【0051】
具体的には、ホストは、受信されたディスクリプタに従って、ディスクリプタに対応するデバイスとしてデータカードをマップする。ホストのオペレーティングシステムは、ディスクリプタに対応するデバイスのネットワークカードドライバをロードし、かつネットワークカードブロードキャストパケットをデータカードに配信する。データカードによって仮想化されたネットワークカードがネットワークカードブロードキャストパケットを受信した場合に、データカードとホストとの間の通信が正常であることを示す。具体的インプリメンテーションは、
図1におけるステップ104〜107に記載されており、再度ここに記載しない。
【0052】
本発明のこの実施例によれば、データカードを使用するプロセスの間、データカードとホストとの間の通信に異常が発生し、したがって、データカードがウイルス撃退ソフトウェア、又は、システム保護ソフトウェア、又は、他の要因のためにもはや使用することができなくなった場合、異常は自動的に回復され、このことにより非常に回復効率を改善し、かつ、回復時間及び回復の複雑度を減少させることが可能である。
実施例2
【0053】
図3は、本発明の実施例においてデータカードの異常から回復する方法を示している。回復する方法は、データカードとwindows xpのオペレーティングシステムのタイプのホストとの間のインプリメントの通信のプロセスにおいて発生した異常に対して提供される。具体的なステップは以下のステップを含む。
【0054】
301:ホストにデータカードを接続する。ホストはデータカードを列挙し、かつデータカードは第1の光ディスクディスクリプタをホストに報告する。
【0055】
データカードがホストのUSBインターフェースに挿入されたあと、データカード及びホストはUSBインターフェースで相互に接続される。ホストは、新規なデバイスがホストに接続されたことを検出する。そして、データカードの情報を得るようにデータカードを列挙する。データカードは、第1の光ディスクディスクリプタをホストに報告する。ディスクリプタは、ホストがデータカードを第1の光ディスクとしてマップすることを可能にする。ホストは、第1の光ディスクディスクリプタに従って第1の光ディスクとしてデータカードをマップする。ホストは、ミニコンピュータシステムインターフェース命令を、第1の光ディスクとしてマップされるデータカードに送信する。データカードは、ホストによって配信されたミニコンピュータシステムインターフェース命令を受信する。
【0056】
302:ホストは、データカードを第1の光ディスクとしてマップし、かつデータカードはホストのオペレーティングシステムのタイプを検出する。
【0057】
データカードは、ホストによって第1の光ディスクとしてマップされる。そして、データカードは、ホストから受信されるミニコンピュータシステムインターフェース命令に従って、ホストのオペレーティングシステムのタイプを検出する。オペレーションコード0XA2を含むミニコンピュータシステムインターフェース命令が受信された場合、オペレーティングシステムはWindows VISTA、又は、Windows 7と特定される。オペレーションコード0XBBを含むミニコンピュータシステムインターフェース命令が受信された場合、オペレーティングシステムはMAC、又は、Linuxと特定される。上述の2つのタイプのミニコンピュータシステムインターフェース命令のうちのいずれも受信されない場合、オペレーティングシステムはWindows XPと特定される。
【0058】
303:ホストのオペレーティングシステムのタイプがうまく検出されたか否か判断する。オペレーティングシステムのタイプがうまく検出され、かつ検出結果がWindows XPである場合、ステップ304に移る。オペレーティングシステムのタイプの検出に失敗した場合、ステップ310に移る。
【0059】
304:ホストのオペレーティングシステムのタイプがWindows XPである場合、データカードは第2の光ディスクディスクリプタをホストに報告する。
【0060】
ホストのオペレーティングシステムのタイプがうまく検出され、かつホストのオペレーティングシステムのタイプがWindows XPである場合、データカードは第2の光ディスクディスクリプタをホストに報告する。ディスクリプタはホストがデータカードを第2の光ディスクとしてマップすることを可能にするために使用され、かつ第2の光ディスクとしてマップされたデータカードは、デバイス情報ファイルautorun.infを含む。
【0061】
305:ホストは、データカードを第2の光ディスクとしてマップし、かつ、第2の光ディスクとしてマップされるデータカードのデバイス情報ファイルautorunデバイス情報ファイルがホストにインストールされる。
【0062】
ホストは、受信された第2の光ディスクディスクリプタに従って、データカードを第2の光ディスクとしてマップする。第2の光ディスクとしてマップされたデータカードは、デバイス情報ファイルautorun.infを含み、デバイス情報ファイルは、ホストにインストールされる。
【0063】
306:autorunデバイス情報ファイルのインストールが正常に終わったことを判断する。
【0064】
autorunデバイス情報ファイルをインストールするプロセスにおいて、アンチウィルスソフトウェアは、autorun.infに対して自動実行を妨げることがある。或いは、システム保護ソフトウェアが動作して自動的にautorun.infの自動実行を妨げることがある。或いは、他の理由で、autorun.infは、インストールを妨げられることがある。これによって、デバイス情報ファイルがホストに正常にインストールされることが失敗に終わる。
【0065】
autorunデバイス情報ファイルのインストールが正常に終わったと判断された場合には、ステップ307に移る。インストールが正常に終わらなかった場合には、ステップ310に移る。
【0066】
307:ホストのオペレーティングシステムは対応するドライバをロードし、かつデータカードによって仮想化されたネットワークカードは、ホストによって配信されるネットワークカードブロードキャストパケットを受信する。
【0067】
autorunデバイス情報ファイルがホストに正常にインストールされたのち、ホストのオペレーティングシステムは対応するデータカードドライバをロードする。この場合には、データカードは、ネットワークカードを仮想化し、かつネットワークカードモードにすでに切り替える。ホストはネットワークカードブロードキャストパケットをデータカードに配信し、かつデータカードはホストによって配信されるネットワークカードブロードキャストパケットを受信する。
【0068】
308:ホストによって配信されるネットワークカードブロードキャストパケットが受信されるか否かが判断される。
【0069】
ステップ307の後、通常のケースで、ネットワークカードとして仮想化されたデータカードは、ホストによって配信されるネットワークカードブロードキャストパケットを受信しなければならないネットワークカードが、ホストによって配信されるネットワークカードブロードキャストパケットを受信することに失敗した場合、異常が発生したと考えられる。
【0070】
ホストによって配信されるネットワークカードブロードキャストパケットが受信されたか否か判断する。「いいえ」の場合は、ステップ310に移る。「はい」の場合は、ステップ309に移る。
【0071】
309:データカードは、正常にホストと通信する。
【0072】
ホストはネットワークカードブロードキャストパケットをデータカードに配信し、かつデータカードはホストによって配信されるネットワークカードブロードキャストパケットを受信する。この場合、データカードは、ホストと正常に通信している。
【0073】
310:命令によって、データカードをリセットする。ホストは再びデータカードを列挙し、かつデータカードは第3の光ディスクディスクリプタをホストに報告する。
【0074】
ステップ303、306及び308で、3つのタイプの異常が発生した後、ステップ310に移る。この場合、データカードの命令レジスタはUSBモジュールがデータカードをリセットすることを可能にする。ホストは再びデータカードを列挙し、かつデータカードは第3の光ディスクディスクリプタをホストに報告する。第3の光ディスクディスクリプタはホストがデータカードを第3の光ディスクとしてマップすることを可能にするために使用され、かつ第3の光ディスクとしてマップされたデータカードは回復データを含む。任意に、データカードは、また、USB記憶デバイスディスクリプタをホストに報告してもよい。USB記憶デバイスディスクリプタはホストがデータカードをUSB記憶デバイスとしてマップすることを可能にするために使用され、かつUSB記憶デバイスとしてマップされたデータカードは回復データを含む。
【0075】
311:ホストはデータカードを第3の光ディスクとしてマップする。ホストのオペレーティングシステムを回復するために、第3の光ディスクとしてマップされたデータカードの回復データを実行する。
【0076】
ホストは、データカードによって報告された第3の光ディスクディスクリプタに従って、データカードを第3の光ディスクとしてマップし、第3の光ディスクとしてマップされたデータカードは、回復データを含む。或いは、ホストは、データカードによって報告されたUSB記憶デバイスディスクリプタに従って、データカードをUSB記憶デバイスとしてマップし、USB記憶デバイスとしてマップされたデータカードは回復データを含む。
ホストのオペレーティングシステムを回復するために、回復データは、実行されることが望ましい。回復データを実行するための方法は、自動実行プログラムにより回復データを自動的に実行してもよく、又は手動で回復データを実行してもよい。ホストのオペレーティングシステムを回復する目的は、ホストのオペレーティングシステムのレジストリにすでに記録されたデータカードの情報を削除し、かつホストのデバイス情報ファイルを削除することである。デバイス情報ファイルは、データカード
からホストにインストールされる。
【0077】
ホストのオペレーティングシステムは、オペレーティングシステムをリストアするために、異常が発生する前の状態に回復される。データカードとホストとの間の通信をインプリメントするプロセスにおいて、異なる異常が発生したあと、ホストのオペレーティングシステムは異なる状態に置かれ得る。例えば、第2の異常、又は、第3の異常が発生した場合、データカードの情報はホストのオペレーティングシステムのレジストリにすでに記録され、かつデバイス情報ファイルはインストールされている。この場合、回復オペレーションにおいて、ホストのオペレーティングシステムのレジストリにすでに記録されたデータカードの情報及びホストのデバイス情報ファイルは、削除されることが望ましい。第1の異常が発生した場合、データカードの情報だけがホストのオペレーティングシステムのレジストリにすでに記録され、かつデバイス情報ファイルはまだホストにインストールされていないため、回復オペレーションにおいて、ホストのオペレーティングシステムのレジストリにすでに記録されたデータカードの情報だけが削除されることが望ましい。任意に、実際のオペレーションで、便宜のためにオペレーションとして、ホストのオペレーティングシステム及びホストのデバイス情報ファイルのレジストリにすでに記録されたデータカードの情報を同時に削除する方法が通常採用される。
【0078】
312:回復オペレーションが正常に終わったかが判断される。
【0079】
311における回復オペレーション311が正常に終わったか否かが判断される。「いいえ」の場合は、もう一度ホストのオペレーティングシステムを回復するために回復データを実行するべくステップ311に移る。「はい」の場合は、ステップ313に移る。
【0080】
313:命令により、データカードをリセットし、又は、プラグアウト及びプラグインにより、データカードをリセットする。
【0081】
回復ソフトウェアがデータカードをリセットするためにうまく実行されたあと、データカードはデータカードに命令を出すことによってリセットされてもよく、又は、データカードを手動でプラグアウトしプラグインすることによってデータカードをリセットしてもよい。
【0082】
データカードがリセットされたあと、データカードとホストとの間の通信を確立する新たなプロセスに入るために、ステップ301に移る。
【0083】
本発明のこの実施例によって、データカードとWindows XPのタイプのオペレーティングシステムを持つホストとの間の通信のプロセスにおいて、データカードとホストとの間で異常が発生した場合であって、ウイルス撃退ソフトウェア又はシステム保護ソフトウェアのために、データカードがもはや使えなくなった場合、この異常は、自動的に回復することができる。これによって、回復の効率を改善し、かつ回復時間及び回復の複雑度を低減することが可能である。
実施例3
【0084】
さらにまた、
図4は、本実施例における本発明のデータカードの異常から回復する他の方法を示す。回復する方法は、データカードとWindows XPであるオペレーティングシステムのタイプを有するホストとの間の通信に発生した異常に提供される。
具体的なステップは以下を含む。
【0085】
401:ホストにデータカードを接続する。ホストはデータカードを列挙し、かつデータカードは光ディスクディスクリプタをホストに報告する。
【0086】
データカードがホストのUSBインターフェースに挿入されると、データカードとホストとはUSBインターフェースで相互に接続される。ホストは、新たなデータカードがホストに接続されたことを検出する。そして、データカードの情報を得るためにデータカードを列挙する。データカードは、光ディスクディスクリプタをホストに報告する。ディスクリプタはホストがデータカードを光ディスクとしてマップすることを可能にする。ホストは、光ディスクディスクリプタに従ってデータカードを光ディスクとしてマップする。ホストは、ミニコンピュータシステムインターフェース命令をデータカードに送信する。データカードは、ホストによって配信されるミニコンピュータシステムインターフェース命令を受信する。
【0087】
光ディスクは、デバイス情報ファイルautorun.infを含み、かつデバイス情報ファイルがホストにインストールされる。データカードとホストとの間の通信を確立するプロセスにおいて、データカードがネットワークカードとして仮想化される前に、データカードは光ディスク状態として存在する。
【0088】
402:ホストはデータカードを光ディスクとしてマップし、かつデータカードはホストのオペレーティングシステムのタイプを検出する。
【0089】
このステップは、ステップ302と同じようにインプリメントされる。
【0090】
403:このステップはステップ302と同様に実行される。ホストのオペレーティングシステムのタイプがうまく検出されたか否かが判断される。オペレーティングシステムのタイプがうまく検出され、かつ検出結果がWindows XPである場合、ステップ404に移る。
オペレーティングシステムのタイプの検出に失敗した場合、ステップ407に移る。
【0091】
404:データカードのデバイス情報ファイルautorun.infデバイス情報ファイルをホストにインストールする。
【0092】
光ディスクとしてマップされたデータカードがデバイス情報ファイルautorun.infを含み、かつ、デバイス情報ファイルがホストにインストールされる。
【0093】
405:autorunのインストールのプロセスにおいて、デバイス情報ファイルのインストールが正常に終わったか否かが判断される。
【0094】
autorunデバイス情報ファイルをインストールするプロセスにおいて、アンチウィルスソフトウェアがautorun.infの自動的な実行を妨げることがある。或いは、システム保護ソフトウェアがautorun.infの自動的な実行を妨げることがある。或いは、他の理由で、autorun.infのインストールが不成功になることがある。これによって、ホストに対してデバイス情報ファイルの正常なインストールが失敗に終わる。
【0095】
autorunデバイス情報ファイルが正常に終わったと判断された場合には、ステップ405に移る。インストールが正常に終わらなかった場合、ステップ407に移る。
【0096】
406:ホストのオペレーティングシステムは対応するドライバをロードし、データカードによって仮想化されたネットワークカードは、ホストによって配信されるネットワークカードブロードキャストパケットを受信する。
【0097】
このステップは、ステップ307と同様に実行される。
【0098】
407:ホストのオペレーティングシステムを回復するために、データカードの回復データを実行する。
【0099】
データカードは常に光ディスク状態にあり、かつ光ディスクとしてマップされたデータカードは回復データを含む。ホストのオペレーティングシステムを回復するために、回復データが実行されることが望ましい。回復データを実行するための方法は、自動実行プログラムにより回復データを自動的に実行してもよく、又は手動で回復データを実行してもよい。ホストのオペレーティングシステムを回復する目的は、ホストのオペレーティングシステムのレジストリにすでに記録されたデータカードの情報を削除し、かつホストのデバイス情報ファイルを削除することである。デバイス情報ファイルは、データカード
からホストにインストールされる。
【0100】
ホストのオペレーティングシステムはオペレーティングシステムを、異常が発生する前の状態にリストアさせるために回復される。データカードとホストとの間の通信を実行するプロセスにおいて、異なる異常が発生したあと、ホストのオペレーティングシステムは異なる状態となり得る。例えば、実施例1の第2の異常が発生した場合、データカードの情報はホストのオペレーティングシステムのレジストリにすでに記録され、かつデバイス情報ファイルはインストールされている。この場合、回復オペレーションにおいて、ホストのオペレーティングシステムのレジストリにすでに記録されたデータカードの情報及びホストのデバイス情報ファイルは、削除されることが望ましい。実施例1の第1の異常が発生した場合、データカードの情報だけがホストのオペレーティングシステムのレジストリにすでに記録され、かつデバイス情報ファイルはまだホストにインストールされていないため、回復オペレーションにおいて、ホストのオペレーティングシステムのレジストリにすでに記録されたデータカードの情報だけが削除されることが望ましい。任意に、実際のオペレーションで、便宜のためにオペレーションにおいて、ホストのオペレーティングシステム及びホストのデバイス情報ファイルのレジストリにすでに記録されたデータカードの情報を同時に削除する方法が、通常採用される。
【0101】
ステップ408及び409は、ステップ312及び313と同様に実行される。
【0102】
さらに、データカードとホストとの間の通信のプロセスの進行中に、データカードは複合デバイスとして常にマップされる。そして、複合デバイスとしてマップされたデータカードは、光ディスクとして常にマップされる。複合デバイスとしてマップされたデータカードは、常に光ディスクを含み、かつ、データカードがネットワークカードとして切り替わった後も、光ディスクは依然として存在する。光ディスクは、回復データを含む。回復データは、ホストのオペレーティングシステムを回復するために使用される。ユーザは、いつでも光ディスクに含まれる回復データによって、システムを回復してもよい。回復データがうまく実行されたあと、データカードはデータカードに命令を出すことによってリセットされる。或いは、データカードは、手動でプラグアウト及びプラグインすることによってリセットされる。
【0103】
本発明のこの実施例によって、データカードとWindows XPのタイプのオペレーティングシステムを有するホストとの間の通信中において、データカードとホストとの間の通信に異常が発生した場合であって、したがって、データカードが、ウイルス撃退ソフトウェア、又は、システム保護ソフトウェア、又は、他の要因のためにもはや使用することができない場合、異常は、自動的に回復される。このことにより回復効率を大きく改善し、かつ、回復時間及び回復の複雑度を減少させることが可能である。
実施例4
【0104】
図5は、本発明の実施例においてデータカードの異常から回復する他の方法を示している。回復する方法は、データカードとオペレーティングシステムとしてWindows VISTA、又は、Windows 7のタイプを有するホストとの間の通信に発生した異常に対して提供される。具体的なステップは以下のとおりである。
【0105】
501−503:ステップ501〜503はステップ301〜303と同様に実行される。
【0106】
504:ホストのオペレーティングシステムのタイプがWindows VISTA、又は、Windows 7である場合、データカードはRNDISデバイスディスクリプタをホストに報告する。
【0107】
ホストのオペレーティングシステムのタイプがうまく検出され、かつオペレーティングシステムのタイプがWindows VISTA、又は、Windows 7である場合、データカードはRNDISデバイスディスクリプタをホストに報告する。RNDISデバイス、ディスクリプタはホストがデータカードをマップすることを可能にするために使用される。
【0108】
505:ホストはデータカードをRNDISデバイスとしてマップする。ホストのオペレーティングシステムは対応するドライバをロードし、かつデータカードによって仮想化されたネットワークカードは、ホストによって配信されるネットワークカードブロードキャストパケットを受信する。
【0109】
ホストは、受信されたRNDISデバイスディスクリプタに従って、データカードをRNDISデバイスとしてマップする。そして、ホストのオペレーティングシステムは、対応するデータカードドライバをロードする。この場合には、データカードは、成功裏にネットワークカードを仮想化しており、すでにネットワークカードのモードにスイッチしている。ホストはネットワークカードブロードキャストパケットをデータカードに配信し、かつデータカードはホストによって配信されたネットワークカードブロードキャストパケットを受信する。
【0110】
506−508:ステップ506〜508はステップ308〜310と同様に実行される。
【0111】
509:ホストはデータカードを光ディスクとしてマップする。ホストのオペレーティングシステムを回復するために光ディスクとしてマップされたデータカードの回復データを実行する。
【0112】
ホストは、データカードによって報告された光ディスクディスクリプタに従って、データカードを光ディスクとしてマップし、かつ光ディスクは回復データを含む。或いは、ホストは、データカードによって報告されたUSB記憶デバイスディスクリプタに従って、データカードをUSB記憶デバイスとしてマップし、かつUSB記憶デバイスは回復データを含む。ホストのオペレーティングシステムを回復するために、回復データは、実行されることが望ましい。回復データを実行するための方法は、自動実行プログラムにより回復データを自動的に実行してもよく、又は手動で回復データを実行してもよい。ホストのオペレーティングシステムを回復する目的は、ホストのオペレーティングシステムのレジストリにすでに記録されたデータカードの情報を削除することである。
【0113】
510−511:ステップ510及び511はステップ312及び313と同様に実行される。
【0114】
本発明のこの実施例によって、データカードとWindows VISTA、又は、Windows 7のオペレーティングシステムのタイプを有するホストとの間の通信中の異常が、データカードとホストとの間の通信に発生した場合、したがって、データカードがウイルス撃退ソフトウェア、又は、システム保護ソフトウェア、又は、他の要因のためにもはや使用することができない場合、異常は、自動的に回復され、このことにより大いに回復効率が改善され、かつ、回復時間及び回復の複雑度を減少させることが可能である。
【0115】
実施例による方法のステップの全て、又は、部分は、関連したハードウェアに命令するプログラムによって実行されてもよい。プログラムは、計算機可読の記憶媒体に記憶されてもよい。プログラムが動作するときに、実施例による方法のステップが実行される。記憶媒体は、プログラムコードを記憶することが可能ないかなる媒体、例えばROM、RAM、磁気ディスク、又は、光ディスクであってもよい。
実施例5
【0116】
図6は、本発明の実施例によって開示されるデータカードとホストとの間での通信異常から回復する方法に対応する本発明の実施例によって提供されるデータカードの模式的な構造図である。データカードは、受信ユニット601、判断ユニット602、検出ユニット603、及び回復ユニット604を有する。
【0117】
受信ユニット601は、ホストによって配信される情報を受信するように構成される。情報は、ホストによって配信された、ミニコンピュータシステムインターフェース
命令、又は、ホストによって配信されたデバイス情報ファイルを正しくインストールされることに失敗した情報、又はホストによって配信されたネットワークカードブロードキャストパケットを含む。
【0118】
判断ユニット602は、データカードとホストとの間の通信に異常が発生したか否かを判断し、かつデータカードが、予め設定された期間において、ホストによって送られたミニコンピュータシステムインターフェース命令を受信することに失敗した場合に、データカードとホストとの間の通信に異常が発生したこと、又は、データカードのデバイス情報ファイルがホストに正しくインストールすされることに失敗したこと、又は、データカードがネットワークカードモードに切り替えられた後に、ホストによって送られたネットワークカードブロードキャストパケットを受信することに失敗したことを判断するように構成される。
【0119】
検出ユニット603は、ホストから受信されるミニコンピュータシステムインターフェース命令に従ってホストのオペレーティングシステムのタイプを特定するように構成される。オペレーションコード0XA2を含むミニコンピュータシステムインターフェース命令が受信された場合、オペレーティングシステムはWindows VISTA、又は、Windows 7と特定される。オペレーションコード0XBBを含むミニコンピュータシステムインターフェース命令が受信された場合、オペレーティングシステムはMAC、又は、Linuxと特定される。前記2つのタイプのミニコンピュータシステムインターフェース命令のいずれも受信されない場合、オペレーティングシステムはWindows XPと特定される。
【0120】
回復ユニット604は、データカードとホストとの間の通信に異常が発生した場合、前記ホストの前記オペレーティングシステムを回復するように、前記データカード内の回復データを実行する。ホストのオペレーティングシステムの回復は
、ホストのオペレーティングシステムのレジストリに、すでに記録されたデータカードの情報を削除すること、又は、ホストのオペレーティングシステムのレジストリに、すでに記録されたデータカードの情報を削除すること、及びホストのデバイス情報ファイルを削除すること、を特に含み、デバイス情報ファイルが、データカード
からホストにインストールされる。
【0121】
本発明のこの実施例によれば、データカードとホストとの間の通信のプロセスの進行中に、データカードとホストとの間の通信に異常が発生した場合、したがって、データカードがウイルス撃退ソフトウェア、又は、システム保護ソフトウェア、又は、他の要因のためにもはや使用することができない場合、異常は自動的に回復され、このことにより非常に回復効率を改善し、かつ回復時間及び回復の複雑度を減少させることが可能である。
実施例6
【0122】
図7は、本発明のこの実施例によって提供されるデータカードの模式的な構造図である。データカードは、受信ユニット601、判断ユニット602、検出ユニット603、及び回復ユニット604を含む。
【0123】
受信ユニット601は、ホストによって配信される情報を受信するように構成される。情報は、ホストによって配信されたミニコンピュータシステムインターフェース
命令、又は、ホストによって配信されたデバイス情報ファイルが正しくインストールされることに失敗した情報、又はホストによって配信されたネットワークカードブロードキャストパケットを含む。
【0124】
判断ユニット602は、データカードとホストとの間の通信に異常が発生したか否かを判断し、及びデータカードが、予め設定された期間において、ホストによって送られたミニコンピュータシステムインターフェース命令を受信することに失敗した場合に、異常がデータカードとホストとの間の通信に発生したこと、又は、データカードのデバイス情報ファイルがホストに正しくインストールされることに失敗したこと、又は、データカードがネットワークカードモードに切り替えられた後に、ホストによって送られたネットワークカードブロードキャストパケットを受信することに失敗したことを判断するように構成される。
【0125】
検出ユニット603は、ホストから受信されるミニコンピュータシステムインターフェース命令に従ってホストのオペレーティングシステムのタイプを特定するように構成される。オペレーションコード0XA2を含むミニコンピュータシステムインターフェース命令が受信された場合、オペレーティングシステムはWindows VISTA、又は、Windows 7と特定される。オペレーションコード0XBBを含むミニコンピュータシステムインターフェース命令が受信された場合、オペレーティングシステムはMAC、又は、Linuxと特定される。前記2つのタイプのミニコンピュータシステムインターフェース命令のいずれも受信されない場合、オペレーティングシステムはWindows XPと特定される。
【0126】
回復ユニット604は、データカードとホストとの間の通信に異常が発生した場合、前記ホストの前記オペレーティングシステムを回復するように、前記データカード内の回復データを実行する。ホストのオペレーティングシステムの回復は
、ホストのオペレーティングシステムのレジストリに、すでに記録されたデータカードの情報を削除すること、又は、ホストのオペレーティングシステムのレジストリに、すでに記録されたデータカードの情報を削除すること、及びホストのデバイス情報ファイルを削除すること、を特に含み、デバイス情報ファイルが、データカード
からホストにインストールされる。
【0127】
さらにまた、データカードは、記憶ユニット605、リセットユニット606、スイッチングユニット607、及びネットワークアクセスユニット608を含む。
【0128】
記憶ユニット605は、回復データを記憶するように構成される。
【0129】
リセットユニット606は、データカードをリセットするように構成される。
【0130】
スイッチングユニット607は、データカードをネットワークカードモードに切り替えるように構成される。
【0131】
ネットワークアクセスユニット608は、ワイヤレスネットワークアクセス機能を実行するように構成される。
【0132】
上述の装置におけるユニット間の情報交換及びインプリメンテーションのプロセスは、本発明の実施例の方法のコンセプトと同様である。したがって、本発明の方法の実施例の詳細な記載を参照することができ、ここでは、同じ記載を繰り返さない。
【0133】
本発明のこの実施例によれば、データカードとホストとの間の通信のプロセスにおいて、データカードとホストとの間の通信に異常が発生し、したがって、データカードがウイルス撃退ソフトウェア、又は、システム保護ソフトウェア、又は、他の要因のためにもはや使用することができない場合、異常は自動的に回復され、このことにより非常に回復効率を改善し、かつ、回復時間及び回復の複雑度を減少させることが可能である。
【0134】
上述の説明は単に本発明の例示的実施形態のみであり、したがって、本発明の保護範囲は本願明細書に制限されない。あらゆる変更態様(均等物)、又は、直ちに考えられる改善は、本発明の技術的な範囲から逸脱することなく、当業者のための本発明の保護範囲に包含される。したがって、本発明の保護範囲は、請求項の保護範囲に依存する。