(57)【要約】【課題】ウィルスの交換を防止するための方法および装置を提供すること。【解決手段】あるデバイスの既存の内容を第１の位置に維持する。そのデバイスに関連する新しい内容を第２の位置に配置するが、その新しい内容は既存の内容に対する更新である。既存の内容と新しい内容を第３の位置で結合してマージされた内容を形成する。新しい内容の転送を実行する前に、マージされた内容についてウィルスの有無のチェックを実行する。【選択図】図２
2004512612.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムにおいてウィルスの交換を防止するための方法であって、
あるデバイスの既存の内容を第１の位置に維持するステップと、
前記デバイスに関連する新しい内容を第２の位置に配置するステップであって、前記新しい情報が前記既存の内容に対する更新であるステップと、
前記既存のデータと前記新しい内容を第３の位置で結合してマージされた内容を形成するステップと、
前記新しい内容の転送を実行する前に、前記マージされた内容についてウィルスの有無のチェックを実行するステップとを含む方法。
【請求項２】
前記マージされた内容にウィルスが存在しない場合に、前記マージされた内容を前記デバイスに送信するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記マージされた内容にウィルスが存在しない場合に、前記マージされた内容を前記既存の内容として記憶するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記デバイスがワイヤレス・デバイスである、請求項１に記載の方法。
【請求項５】
前記デバイスが、携帯情報端末、ラップトップ・コンピュータ、無線電話、パーソナル・コンピュータのうちの１つである、請求項１に記載の方法。
【請求項６】
前記第１の位置が前記データ処理システム内のハード・ディスク・ドライブである、請求項１に記載の方法。
【請求項７】
前記第１の位置が、前記データ処理システムにとってリモートの記憶システム内のハード・ディスク・ドライブである、請求項１に記載の方法。
【請求項８】
前記第３の位置が前記データ処理システム内のランダム・アクセス・メモリである、請求項１に記載の方法。
【請求項９】
前記配置ステップ、維持ステップ、および実行ステップが、前記データ処理システムと前記デバイスとの同期プロセスに応答して開始される、請求項１に記載の方法。
【請求項１０】
データ処理システムにおいてウィルスの伝送を防止するための方法であって、
あるデバイスを同期させるための要求を受信するステップと、
前記デバイスに関連する新しい内容を識別するステップと、
前記新しい内容と既存の内容を結合してマージされた内容を形成するステップと、
前記デバイスを同期させる前に、ウィルスの有無について前記マージされた内容をチェックするステップとを含む方法。
【請求項１１】
前記新しい内容が前記デバイスから受信した内容である、請求項１０に記載の方法。
【請求項１２】
前記新しい内容が前記デバイスに送信すべき内容である、請求項１０に記載の方法。
【請求項１３】
バス・システムと、
前記バス・システムに接続されたメモリであって、１組の命令を含むメモリと、
前記バス・システムに接続された処理装置であって、あるデバイスの既存の内容を第１の位置に維持し、前記デバイスに関連する新しい内容を第２の位置に配置し、前記新しい情報が前記既存の内容に対する更新であり、前記既存の内容と前記新しい内容を第３の位置で結合してマージされた内容を形成し、前記マージされた内容についてウィルスの有無のチェックを実行するために、前記１組の命令を実行する処理装置とを含む、データ処理システム。
【請求項１４】
前記バス・システムが、１次バスと、２次バスとを含む、請求項１３に記載のデータ処理システム。
【請求項１５】
前記バス・システムが単一バスを含む、請求項１３に記載のデータ処理システム。
【請求項１６】
前記処理装置が複数のプロセッサを含む、請求項１３に記載のデータ処理システム。
【請求項１７】
前記処理装置が単一プロセッサを含む、請求項１３に記載のデータ処理システム。
【請求項１８】
ウィルスの交換を防止するためのデータ処理システムであって、
あるデバイスの既存の内容を第１の位置に維持するための維持手段と、
前記デバイスに関連する新しい内容を第２の位置に配置するための配置手段であって、前記新しい情報が前記既存の内容に対する更新である配置手段と、
前記既存の内容と前記新しい内容を第３の位置で結合してマージされた内容を形成するための結合手段と、
前記新しい内容の転送を実行する前に、前記マージされた内容についてウィルスの有無のチェックを実行するための実行手段とを含む、データ処理システム。
【請求項１９】
前記マージされた内容にウィルスが存在しない場合に前記マージされた内容を前記デバイスに送信するための送信手段をさらに含む、請求項１８に記載のデータ処理システム。
【請求項２０】
前記マージされた内容にウィルスが存在しない場合に前記マージされた内容を前記既存の内容として記憶するための記憶手段をさらに含む、請求項１８に記載のデータ処理システム。
【請求項２１】
前記デバイスがワイヤレス・デバイスである、請求項１８に記載のデータ処理システム。
【請求項２２】
前記デバイスが、携帯情報端末、ラップトップ・コンピュータ、無線電話、パーソナル・コンピュータのうちの１つである、請求項１８に記載のデータ処理システム。
【請求項２３】
前記第１の位置が前記データ処理システム内のハード・ディスク・ドライブである、請求項１８に記載のデータ処理システム。
【請求項２４】
前記第１の位置が、前記データ処理システムにとってリモートの記憶システム内のハード・ディスク・ドライブである、請求項１８に記載のデータ処理システム。
【請求項２５】
前記第３の位置が前記データ処理システム内のランダム・アクセス・メモリである、請求項１８に記載のデータ処理システム。
【請求項２６】
前記配置ステップと、維持ステップと、実行ステップが、前記データ処理システムと前記デバイスとの同期プロセスに応答して開始される、請求項１８に記載のデータ処理システム。
【請求項２７】
ウィルスの伝送を防止するためのデータ処理システムであって、
あるデバイスを同期させるための要求を受信するための受信手段と、
前記デバイスに関連する新しい内容を識別するための識別手段と、
前記新しい内容と既存の内容を結合してマージされた内容を形成するための結合手段と、
前記デバイスを同期させる前に、ウィルスの有無について前記マージされた内容をチェックするためのチェック手段とを含む、データ処理システム。
【請求項２８】
前記新しい内容が前記デバイスから受信した内容である、請求項２７に記載のデータ処理システム。
【請求項２９】
前記新しい内容が前記デバイスに送信すべき内容である、請求項２７に記載のデータ処理システム。
【請求項３０】
ウィルスの交換を防止するためにデータ処理システム内で使用するためのコンピュータ可読媒体内のコンピュータ・プログラム製品であって、
あるデバイスの既存の内容を第１の位置に維持するための第１の命令と、
前記デバイスに関連する新しい内容を第２の位置に配置するための第２の命令であって、前記新しい情報が前記既存の内容に対する更新である第２の命令と、
前記既存の内容と前記新しい内容を第３の位置で結合してマージされた内容を形成するための第３の命令と、
前記新しい内容の転送を実行する前に、前記マージされた内容についてウィルスの有無のチェックを実行するための第４の命令とを含む、コンピュータ・プログラム製品。
【請求項３１】
ウィルスの伝送を防止するためにデータ処理システム内で使用するためのコンピュータ可読媒体内のコンピュータ・プログラム製品あって、
あるデバイスを同期させるための要求を受信するための第１の命令と、
前記デバイスに関連する新しい内容を識別するための第２の命令と、
前記新しい内容と既存の内容を結合してマージされた内容を形成するための第３の命令と、
前記デバイスを同期させる前に、ウィルスの有無について前記マージされた内容をチェックするための第４の命令とを含む、コンピュータ・プログラム製品。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に、改良されたデータ処理システムに関し、特に、ソフトウェアに対する無許可の変更を防止するための方法および装置に関する。より詳細には、本発明は、データ処理システムをウィルスから保護するための方法および装置を提供する。
【０００２】
【従来の技術】
コンピュータ分野は一般に、コンピュータ「ウィルス」、「ワーム」、または「トロイの木馬」として知られるプログラムが導入されることに悩まされてきた。このようなプログラムは、悪意で導入される場合が多く、記憶データにもその他のソフトウェアにも重大な損害を与える場合が多い。コンピュータ・ファイルの完全性に対して増大するこの脅威を阻止するのを助けるために、多くのソフトウェア解決策が考案されている。このような解決策の中には、特定の既知のウィルスを捜して１つのファイルまたは１組のファイルをスキャンする一般的なウィルス・スキャナ・プログラムがある。このウィルス検出方法は、既知のウィルスに対して特に有効である。
【０００３】
コンピュータ・ウィルスは、自己複製し、従ってあるコンピュータ・ファイルから他のコンピュータ・ファイルに、あるコンピュータ・ボリュームから他のコンピュータ・ボリュームに、最終的にはあるマシンから他のマシンに広がることができるという特定の特性を有する。ウィルスは、意図的に悪意のあることを実行するように設計されていない場合もあるが、ウィルスと見なすには、自己複製の能力を備えていなければならない。これにより、コンピュータ・ウィルスは「トロイの木馬」などのプログラムとは区別される。
【０００４】
ウィルスはいくつかの方法で広がる可能性がある。たとえば、ウィルスは、あるコンピュータ上の何らかのプログラム内にすでに存在するコードに自己を追加し、その後、新たに追加されたウィルス・コードが実行されるように既存のコードを変更することによって広がることができる。これにより、ウィルスは、さらに他のプログラムで再度実行され、自己複製することができるようになる。
【０００５】
エンタープライズ・サーバの使用とともに、新しいクラスのパーベイシブ・デバイスがインターネットに接続されていることにより、ウィルスがこのようなパーベイシブ・デバイスにも感染するよう設計される可能性がある。このようなパーベイシブ・デバイスとしては、パーム・パイロット（パーム・コンピューティング社から入手可能）などの携帯情報端末（ＰＤＡ）、アナログおよびディジタル・セルラーホン、所与の冷蔵庫などのネットワーク接続の家電品、自動車用コンピュータ、データ通信と音声通信を併用するスクリーンホン、対話式テレビジョン・プログラミング、ウェブ・アクセス、パーソナル通信をサポートするウェブ使用可能テレビを含む。パーベイシブ・デバイスの数がＰＣおよびラップトップ・コンピュータの現在の数を上回ることが予想されるので、パーベイシブ・デバイスがウィルスによって感染すると、より壊滅的な損害をもたらし、ウィルス駆除がより困難になるだろう。このようなパーベイシブ・デバイスの接続スタイルがそれぞれ異なるため、ウィルスの交換からパーベイシブ・デバイスを保護することは新たな難題を課すことになる。たとえば、多くのパーベイシブ・デバイスは、断続的にコンピュータ・ネットワークに接続されるだけである。さらに、これらのコンピュータは、サーバとデータ更新を交換すること（同期と呼ばれるプロセス）によって動作し、デバイス上のデータ・ストアとサーバ（同期サーバ）上のデータ・ストアが一貫した状態に保持されることを保証する。パーベイシブ・デバイスは通常、プロセッサおよびメモリ資源が限られているので、このようなデバイスを保護する作業はより複雑なものになる。その結果、このようなデバイスは、常にスキャン中のマシン上の相当なプロセッサおよびメモリ資源を必要とする高度なウィルス・スキャン矯正プログラムを実行することができない。
【０００６】
【発明が解決しようとする課題】
したがって、ウィルスの交換からパーベイシブ・デバイスおよびサーバを保護するための改良された方法および装置を有することは有利となろう。
【０００７】
【課題を解決するための手段】
本発明は、データ処理システムにおいてウィルスの交換を防止するための方法を提供する。あるデバイスの既存の内容を第１の位置に維持する。そのデバイスの新しい内容を第２の位置に配置するが、その新しい情報は既存のデータに対する更新である。既存の内容と新しいデータを第３の位置で結合してマージされた内容を形成する。新しい内容の転送を実行する前に、マージされたデータについてウィルスの有無のチェックを実行する。
【０００８】
本発明に特有と思われる新規の特徴は特許請求の範囲に示されている。しかし、本発明自体ならびにその好ましい使用形態、その他の目的および利点については、添付図面に関連して以下に示す例示的な実施形態の詳細な説明を参照することによって、最も良く理解されるだろう。
【０００９】
【発明の実施の形態】
ここで添付図面を参照すると、図１は本発明を実施可能な分散データ処理システムの絵画表現を示している。分散データ処理システム１００は、本発明を実施可能な複数コンピュータのネットワークである。分散データ処理システム１００は、分散データ処理システム１００内で互いに接続された様々なデバイスおよびコンピュータ間の通信リンクを提供するために使用する媒体であるネットワーク１０２を含む。ネットワーク１０２は、ワイヤまたは光ファイバ・ケーブルなどの永久接続または電話接続によりなされる一時的接続を含むことができる。
【００１０】
図示の例のサーバ１０４は、記憶装置１０６とともにネットワーク１０２に接続されている。さらに、クライアント１０８、１１０、１１２もネットワーク１０２に接続されている。これらのクライアント１０８、１１０、１１２は、たとえば、パーソナル・コンピュータまたはネットワーク・コンピュータにすることができる。本出願では、ネットワーク・コンピュータとは、あるネットワークに結合され、そのネットワークに結合された他のコンピュータからプログラムまたは他のアプリケーションを受信する任意のコンピュータである。上記の例のクライアント１１４および１１６は、ワイヤレス通信リンクを使用して通信するパーベイシブ・デバイスである。クライアント１１４および１１６は、たとえば、ＰＤＡまたはその他のハンドヘルド・コンピューティング・デバイスにすることができる。このようなクライアントはワイヤレス・リンクを使用してネットワーク１０２と通信するが、電話回線またはイーサネット（Ｒ）などの物理接続を使用することもできる。
【００１１】
図示の例のサーバ１０４は、ブート・ファイル、オペレーティング・システム画像、アプリケーションなどのデータをクライアント１０８〜１１６に提供する。クライアント１０８〜１１６はサーバ１０４に対するクライアントである。分散データ処理システム１００は、図示していない追加のサーバ、クライアント、その他のデバイスを含むことができる。図示の例の分散データ処理システム１００は、インターネットならびに互いに通信するためにＴＣＰ／ＩＰプロトコル一式を使用するネットワークとゲートウェイの世界的な集合を表すネットワーク１０２である。インターネットの中心には、大ノードまたはホスト・コンピュータ間の高速データ通信回線からなるバックボーンがあり、データおよびメッセージを経路指定する何千もの商用、政府、教育、その他のコンピュータ・システムから構成される。当然のことながら、分散データ処理システム１００は、たとえば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、または広域ネットワーク（ＷＡＮ）など、数通りのタイプのネットワークとしても実施可能である。このようなネットワークは、上記の例のワイヤレス通信リンク用のメカニズムも含む。図１は、本発明の構造上の制限を意図するものではなく、一例として示すものである。
【００１２】
図２を参照すると、本発明の好ましい実施形態により、図１のサーバ１０４などのサーバとして実施可能なデータ処理システムのブロック図が示されている。本発明のプロセスは、上記の例のデータ処理システム２００などのサーバ内で実施される。データ処理システム２００は、システム・バス２０６に接続された複数のプロセッサ２０２および２０４を含む、対称型マルチプロセッサ（ＳＭＰ）システムにすることができる。別法として、単一プロセッサ・システムを使用することもできる。また、システム・バス２０６には、ローカル・メモリ２０９へのインタフェースとなるメモリ・コントローラ／キャッシュ２０８も接続されている。Ｉ／Ｏバス・ブリッジ２１０は、システム・バス２０６に接続され、Ｉ／Ｏバス２１２へのインタフェースとなる。メモリ・コントローラ／キャッシュ２０８とＩ／Ｏバス・ブリッジ２１０は、図示のように統合することができる。
【００１３】
Ｉ／Ｏバス２１２に接続された周辺装置相互接続（ＰＣＩ）バス・ブリッジ２１４はＰＣＩローカル・バス２１６へのインタフェースとなる。ＰＣＩバス２１６にはいくつかのモデムを接続することができる。典型的なＰＣＩバスの実施例では、４つのＰＣＩ拡張スロットまたはアドイン・コネクタをサポートすることになる。図１のネットワーク・コンピュータ１０８〜１１２への通信リンクは、アドイン・ボードによりＰＣＩローカル・バス２１６に接続されたモデム２１８およびネットワーク・アダプタ２２０によって提供することができる。
【００１４】
追加のＰＣＩバス・ブリッジ２２２および２２４は、追加のＰＣＩバス２２６および２２８のインタフェースとなり、それにより追加のモデムまたはネットワーク・アダプタをサポートすることができる。このようにして、データ処理システム２００は複数のネットワーク・コンピュータへの接続を可能にする。Ｉ／Ｏバス２１２には、図示の通り、直接または間接的にメモリマップ形グラフィック・アダプタ２３０およびハード・ディスク２３２も接続することができる。
【００１５】
図２に示すハードウェアが変化可能であることを当業者なら理解するであろう。たとえば、図示のハードウェアに追加してまたはその代わりとして、光ディスク・ドライブなどの他の周辺装置も使用することができる。図示の例は、本発明に関する構造上の制限を暗示するためのものではない。
【００１６】
図２に示すデータ処理システムは、たとえば、本出願人の製品であり、拡張対話式エグゼクティブ（ＡＩＸ）オペレーティング・システムを実行するＩＢＭ　ＲＩＳＣ／システム６０００というシステムにすることができる。
【００１７】
次に図３に移行すると、本発明の好ましい実施形態によるクライアントのブロック図が示されている。この例のデータ処理システム３００は、図１のクライアント１０８またはクライアント１１６などのクライアントの一例である。データ処理システム３００は、処理装置３０４と、記憶装置３０６と、入出力（Ｉ／Ｏ）装置３０８と、通信装置３１０とを相互接続し、これらの間の通信を可能にするバス３０２を含む。処理装置３０４は、１つまたは複数のプロセッサを含むことができ、記憶装置３０６内に位置する命令を実行する。記憶装置３０６は、様々な機能を実行するための命令ならびにデータを含み、クライアントのタイプに応じて様々な形を取ることができる。たとえば、記憶装置３０６は、ランダム・アクセス・メモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、不揮発性ＲＡＭ（ＮＶＲＡＭ）、またはハード・ディスク・ドライブにすることができる。Ｉ／Ｏ装置３０８は、データ処理システム３００との対話を可能にし、通常、表示装置ならびにキーボード、タッチパッド、マウス、タッチ・スクリーンなどの入力装置を含む。通信装置３１０は、他のシステムとのデータの交換を可能にするものである。通信装置３１０は、たとえば、ワイヤレス・モデムまたはネットワーク・アダプタなど、様々な形を取ることができる。
【００１８】
本発明は、ウィルスの交換からクライアントおよびサーバを保護するための方法、装置、およびコンピュータ実施命令を提供する。本発明では、パーベイシブ・デバイスなどの多くのクライアントが同期によりサーバと通信するものと認識している。このタイプの通信では、結果的に、クライアントのためにデータまたはソフトウェアに対する増分更新がサーバ上に記憶されることになる。このような状況では、１つのウィルスに２つ以上の部分が含まれ、その個々の部分が無害であることはあり得ることである。しかし、すべての部分を寄せ集めると、その集合体がウィルスになる。上記のような潜在的ウィルスは、増分更新によりサーバおよびその他のクライアントに伝搬される可能性がある。本発明のメカニズムは、ウィルスを持ち込んで広めるというこのようなタイプの脅威を解消するものである。このメカニズムは、通信の主要手段としてサーバを使用するクライアントにとって特に有用である。クライアントのためのデータまたはソフトウェアに対する更新または追加は、ウィルスの有無についてこのデータの和集合をテストするまで、クライアントに送信されず、クライアント用の既存データとともにサーバに記憶されることもない。
【００１９】
次に図４に移行すると、本発明の好ましい実施形態によりクライアントとサーバとの間のウィルスの広がりを防止する際に使用する構成要素を示すブロック図が示されている。この例のサーバ４００は、クライアント４０２への通信を可能にし、クライアント４０２にデータを提供する。クライアント４０２はデバイス・データ４０４を含むが、これはクライアント４０２のユーザが行う更新またはサーバ４００から受信した更新により変化する可能性がある。サーバ４００はデバイス・データ・キャッシュ４０６を含み、これはクライアント４０２または他のソースから受信した変更により定期的に更新可能なデータを含む。このデバイス・データ・キャッシュ４０６は、データに加え、ソフトウェアまたはプログラムも含むことができる。このソフトウェアまたはデータあるいはその両方は、このクライアント用の「内容」とも呼ばれる。
【００２０】
サーバ４００は、サンドボックス４０８と合併エリア４１０も含む。この２つの構成要素は、上記の例のサーバ４００内の１つまたは複数の記憶装置内に位置する。たとえば、ＲＡＭなどのメモリを使用するか、またはハード・ディスク・ドライブなどの記憶装置を使用して、これらの構成要素を実現することができる。サンドボックス４０８は、クライアント４０２に送信中かまたはクライアント４０２から受信中の更新用の保持エリアである。更新がクライアント４０２に転送されるかまたはサンドボックス４０８からデバイス・データ・キャッシュ４０６内に配置される前に、内容の和集合または合併が作られ、それが合併エリア４１０内に配置される。マージされる内容は、デバイス・データ・キャッシュ４０６内の内容と、サンドボックス４０８内に位置する更新である。マージされた内容をスキャンまたは分析し、結合またはマージされた内容にウィルスが存在するかどうかを判定する。合併エリア４１０は、ウィルスが存在するかどうかの判定以外の目的でそのエリア内の内容のいずれかを実行または使用することができるエリアではなく、単に保持エリアになるように設計または構成されている。
【００２１】
ウィルスが存在しない場合は、データ・フローに応じて、マージされた内容がデバイス・データ・キャッシュ４０６に記憶されるかまたは更新がクライアント４０２に送信される。これに対して、ウィルスが見つかった場合は、サーバ４００上の更新をデバイス・データ・キャッシュ４０６に記憶する前または更新をクライアント４０２に送信する前に、ウィルスを除去することができる。このようにして、その内容がその宛先に到達する前に、感染したデータを検出してウィルス駆除するかまたはそのデータを除去することができる。さらに、クライアントから直接受信したウィルスは同期の時点でウィルス駆除し、ウィルスがさらに広がるのを防止することができる。
【００２２】
次に図５に移行すると、本発明の好ましい実施形態によりクライアントから更新を受信するために使用するプロセスの流れ図が示されている。図５に示すプロセスは、図２のデータ処理システム２００などのサーバで実施することができる。このような更新は通常、クライアントとサーバとの同期プロセスの結果として発生する。
【００２３】
このプロセスは、クライアントがサーバとの同期を最後に実行して以来クライアント側のデバイス・データに対して行われた更新のリストとともに同期要求を受信することから開始する（ステップ５００）。このような更新を図４のサンドボックス４０８などのサンドボックス内に配置する（ステップ５０２）。このサンドボックスは、クライアントの代わりにサーバ上に記憶されたデバイス・データ・キャッシュに対して更新を適用すべきかどうかが判定されるまでその更新を保持するために使用する。ウィルスの有無についてデバイス・データ・キャッシュの現在の内容と更新との和集合の分析ができるまで、その更新はクライアント用のデバイス・データ・キャッシュに適用されない。次に、更新とデバイス・データ・キャッシュの現在の内容とをマージして、一時的位置に配置する（ステップ５０４）。この位置は、たとえば、図４の合併エリア４１０である。次に、ウィルスの有無についてマージされた内容をスキャンまたは分析する（ステップ５０６）。このウィルス・スキャン・プロセスは、当業者にとって周知の様々なプロセスを使用して実施することができる。このスキャンは、現在実行中の同期の対象となるタイプのクライアントで発生する恐れがあるウィルスを検出しようとするものである。このスキャンは任意選択で、他のタイプのパーベイシブ・コンピューティング・デバイスで発生する恐れがあるウィルスについてもサーチすることができる。また、このスキャンは任意選択で、サーバ・コンピュータ自体で発生する恐れがあるウィルスについてもサーチすることができる。
【００２４】
次に、ウィルスが存在するかどうかについて判定を行う（ステップ５０８）。ウィルスが存在しない場合は、サンドボックス内の更新をデバイス・データ・キャッシュに適用し（ステップ５１０）、その後、プロセスが終了する。
【００２５】
もう一度ステップ５０８を参照すると、ウィルスが存在する場合は、従来技術で周知の技法を使用して、ウィルスを除去しようと試みる（ステップ５１２）。その後、依然としてウィルスが存在するかどうかについて判定を行う（ステップ５１４）。ウィルスがもはや存在しない場合は、上記のようにプロセスはステップ５１０に移行する。そうではない場合は、サーバの記憶域からマージされた内容を削除し、エラー・メッセージを発生し（ステップ５１６）、その後、プロセスが終了する。当然のことながら、エラー・メッセージを発生する代わりに他のアクションを行うこともできる。たとえば、ウィルスを含む更新を自動的に削除するか、あるいは、更新を削除すべきかまたは先へ進んで更新とクライアントの内容をマージするべきかに関する入力を要求するメッセージをクライアントに送信することもできる。さらに、この事象をログ・ファイルに記録するか、または直ちにシステム管理者に通知することもできる。その後の分析のためにウィルスに関する診断情報（ウィルス自体を含む）を記憶することもできる。
【００２６】
次に図６を参照すると、本発明の好ましい実施形態によりクライアントに更新を送信するために使用するプロセスの流れ図が示されている。このプロセスも、図２のデータ処理システム２００などのサーバで実施される。
【００２７】
このプロセスは、クライアント用の１つまたは複数の更新を識別することから開始する（ステップ６００）。このような更新は、クライアントの代わりにサーバに記憶されたデバイス・データ・キャッシュに対してサーバ側のアプリケーションが行おうとする１組の変更を表すが、サーバ側のアプリケーションによって直接提供される場合もある。このクライアント用の更新をサンドボックス内に配置する（ステップ６０２）。更新は、サンドボックス内に配置されるが、デバイス・データ・キャッシュとマージされることも、クライアントに送達されることもない。このステップは、２つ以上の部分を寄せ集めたときに活動状態になる潜在的ウィルスの問題を回避するのを支援する。次に、更新とデバイス・データ・キャッシュの現在の内容とをマージして、一時的位置に配置する（ステップ６０４）。ウィルスの有無についてマージされた内容をスキャンする（ステップ６０６）。このウィルス・スキャン・プロセスは、当業者にとって周知のものである。このスキャンは、現在実行中の同期の対象となるタイプのクライアントで発生する恐れがあるウィルスを検出しようとするものである。このスキャンは任意選択で、他のタイプのパーベイシブ・コンピューティング・デバイスで発生する恐れがあるウィルスについてもサーチすることができる。また、このスキャンは任意選択で、サーバ・コンピュータ自体で発生する恐れがあるウィルスについてもサーチすることができる。
【００２８】
次に、ウィルスが存在するかどうかについて判定を行う（ステップ６０８）。ウィルスが存在しない場合は、更新をクライアントに送信し（ステップ６１０）、サーバに記憶されたデバイス・データ・キャッシュに更新を適用し（ステップ６１２）、その後、プロセスが終了する。
【００２９】
これに対して、ステップ６０８でウィルスが存在する場合は、ウィルスを除去するかまたは更新に対してウィルス駆除しようと試みる（ステップ６１４）。依然としてウィルスが存在するかどうかについてもう一度判定を行う（ステップ６１６）。ウィルスがもはや存在しない場合は、上記のようにプロセスはステップ６１０に移行する。そうではない場合は、エラー・メッセージを発生し（ステップ６１８）、その後、プロセスが終了する。前記のように、エラー・メッセージを発生する代わりに他のアクションを行うこともできる。たとえば、ウィルスを含む更新を自動的に削除するか、あるいは、更新を削除すべきかまたは先へ進んで更新とクライアントの内容をマージするべきかに関する入力を要求するメッセージをクライアントに送信することもできる。さらに、この事象をログ・ファイルに記録するか、または直ちにシステム管理者に通知することもできる。その後の分析のためにウィルスに関する診断情報（ウィルス自体を含む）を記憶することもできる。
【００３０】
したがって、本発明は、ウィルスの交換からクライアントおよびサーバを保護するための改良された方法および装置を提供する。本発明のメカニズムは、ウィルスの有無についてクライアントの内容と更新との和集合をスキャンまたは分析できるまで更新とその内容との結合を回避することにより、ウィルスが交換される可能性を低減する。このメカニズムは、サーバと通信する際に同期プロセスを使用するデバイスについて、ウィルスの広がりを防止するために特に有用である。また、このメカニズムは、受信したウィルスが他のクライアントに広がるのも防止する。受信したウィルスは、本発明のメカニズムを使用して同期の時点で除去またはウィルス駆除され、ウィルスがさらに広がるのを防止する。
【００３１】
完全に機能するデータ処理システムに関連して本発明を説明してきたが、本発明のプロセスは複数命令からなるコンピュータ可読媒体の形および様々な形態で配布可能であり、その配布を実行するために実際に使用する特定のタイプの信号運搬媒体にかかわらず本発明は等しく適用されることを当業者なら理解するであろうことに留意するのは重要である。コンピュータ可読媒体の例としては、フロッピー（Ｒ）・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、ＣＤ−ＲＯＭなどの記録可能タイプの媒体と、ディジタルおよびアナログ通信リンクなどの伝送タイプの媒体を含む。
【００３２】
本発明の説明は、例示および説明のために提示したものであり、網羅するものまたは開示した形態の本発明に限定されるものではない。当業者には多くの修正形態および変形形態が明らかになろう。たとえば、例示した実施例は内容の同期を対象とするが、本発明のメカニズムは同期以外の他のタイプの更新にも適用することができる。このような代替実施形態のサーバは、たとえばクライアント上で実行されるブラウザからのウェブ要求の結果として、プログラムおよび命令をクライアントに送達することができる。この場合、クライアントに送達する前に、プログラムまたは命令を合併エリア内に配置して、ウィルスの有無についてスキャンすることができる。また、本発明のメカニズムは、サーバ以外の場所で実施することもできる。たとえば、このようなプロセスは、一部をサーバ上で、一部をゲートウェイ上で実施することができる。デバイス・データ・キャッシュがサーバ上に位置し、サンドボックスおよび合併エリアがゲートウェイ内に位置する場合もある。実際のマージおよびスキャン・プロセスはゲートウェイ内で実施することができる。上記の実施形態は、本発明の原理および実用例を最も良く説明し、企図された特定の用途に適した様々な修正形態とともに様々な実施形態について当業者が本発明を理解できるようにするために、選択し説明したものである。
【図面の簡単な説明】
【図１】
本発明を実施可能な分散データ処理システムの絵画表現である。
【図２】
本発明の好ましい実施形態により、図１のサーバ１０４などのサーバとして実施可能なデータ処理システムのブロック図である。
【図３】
本発明の好ましい実施形態によるクライアントのブロック図である。
【図４】
本発明の好ましい実施形態によりクライアントとサーバとの間のウィルスの広がりを防止する際に使用する構成要素を示すブロック図である。
【図５】
本発明の好ましい実施形態によりクライアントから更新を受信するために使用するプロセスの流れ図である。
【図６】
本発明の好ましい実施形態によりクライアントに更新を送信するために使用するプロセスの流れ図である。
【図１】
2004512612.tif 000003
【図２】
2004512612.tif 000004
【図３】
2004512612.tif 000005
【図４】
2004512612.tif 000006
【図５】
2004512612.tif 000007
【図６】
2004512612.tif 000008
【国際公開パンフレット】
2004512612.tif 000009
2004512612.tif 000010
2004512612.tif 000011
2004512612.tif 000012
2004512612.tif 000013
2004512612.tif 000014
2004512612.tif 000015
2004512612.tif 000016
2004512612.tif 000017
2004512612.tif 000018
2004512612.tif 000019
2004512612.tif 000020
2004512612.tif 000021
2004512612.tif 000022
2004512612.tif 000023
2004512612.tif 000024
2004512612.tif 000025
2004512612.tif 000026
2004512612.tif 000027
2004512612.tif 000028
2004512612.tif 000029
2004512612.tif 000030
2004512612.tif 000031
2004512612.tif 000032
2004512612.tif 000033
2004512612.tif 000034
2004512612.tif 000035
2004512612.tif 000036
【国際公開パンフレット（コレクトバージョン）】
2004512612.tif 000037
2004512612.tif 000038
【国際調査報告】
2004512612.tif 000039
2004512612.tif 000040
2004512612.tif 000041