(57)【特許請求の範囲】
【請求項１】
ストレージサーバのクライアントの少なくとも１つからの、前記ストレージサーバに記憶された複数のファイルに対する複数のリクエストを、前記ストレージサーバにおいて受け取るステップと、
前記複数のファイルのそれぞれのために前記ストレージサーバからクラスタを構成する複数の装置の一つに対し前記複数のファイルのそれぞれの識別子を送信するステップを備え、前記クラスタを構成する複数の装置に対しウィルスについて前記複数のファイルを同時にスキャンするリクエストを行うステップと、
前記スキャンに関する結果を、前記クラスタを構成する複数の装置から受け取るステップと、
前記結果に基づいて、前記複数のリクエストに応答するステップと、を有する方法。
【請求項２】
前記結果に基づいて、前記複数のリクエストに応答するステップは、
前記複数のファイルそれぞれに関し、前記結果が前記識別子に対応するファイルを送信しても安全であると示唆する場合に、前記対応するファイルをリクエストしたクライアントに対し、前記対応するファイルを送信するステップを含む請求項１に記載の方法。
【請求項３】
前記ファイルは、ウィルスに感染していない場合に、安全であると判断される請求項２に記載の方法。
【請求項４】
前記クラスタを構成する複数の装置は、相互接続したパーソナルコンピュータである請求項１に記載の方法。
【請求項５】
さらに、前記結果をデータベースに保存するステップを有し、
前記複数のファイルの１つのファイルに対する、以後のリクエストに対し、前記データベースに保存された前記結果に基づいて応答する請求項１に記載の方法。
【請求項６】
前記送信は、不均等メモリアクセス、通信ネットワーク、および、直接接続、の少なくともいずれか１つを用いて実行される請求項１に記載の方法。
【請求項７】
前記クラスタを構成する複数の装置は、前記ストレージサーバとは別個の装置である請求項１に記載の方法。
【請求項８】
前記ストレージサーバは、ウェブサーバである請求項１に記載の方法。
【請求項９】
クライアント−サーバ環境においてウィルスからの保護を与えることを試みるサーバであって、
複数のクライアント装置との通信リンクと、
複数のファイルを保存するための大容量記憶装置と、
リクエストされたファイルを前記クライアント装置に送信するための命令を実行するためのプロセッサとを有し、
前記命令は、請求項１ないし８のいずれか１つに記載の方法を前記サーバに実行させる命令を含んでいる、サーバ。
【請求項１０】
コンピュータシステム上で実行され、前記コンピュータに請求項１ないし８のいずれか１つに記載の方法を実行させるプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【発明の背景】
【０００１】
技術分野
本発明はネットワーク環境におけるウィルススキャンに関する。
【０００２】
関連技術
コンピュータネットワークおよびインターネットにより、エンドユーザはあらゆる種類の情報への国際的な共通基盤に基づく、新しいアクセスを享受している。情報へのアクセスは、電話線を用いてある種のコンピュータ装置をネットワークに接続するように簡便にできる。ワイヤレス通信の急増に伴い、今やユーザは事実上、どこからでもコンピュータネットワークにアクセスできる。
【０００３】
このような規模の接続性が、コンピュータウィルスの影響度を拡大している。「メリッサ(Melissa)」および「アイラブユー(I love you)」といったウィルスは、全世界のコンピュータシステムに壊滅的な打撃を与えた。ウィルス処置に要するコストはしばしば、数百万ドルにもまた数千万ドルにも達する。近年、ハンドヘルド型コンピュータ装置もまたウィルスに感染しやすいことがわかっている。
【０００４】
ウィルス保護ソフトウェアはウィルス対策において非常に効果的であり、またウィルス保護ソフトウェアはパーソナルコンピュータのような一般的なコンピュータ装置向けのものが広く流通している。しかしながら、ファイラ（データの記憶および検索に特化した装置）のような特殊なコンピュータ装置に固有の問題が存在する。市販のウィルス保護ソフトウェアは、特殊なコンピュータ装置上では、修正を加えない限り、実行されず、別のプラットフォームで稼動するようにソフトウェアを書き替えることは非常に高くつく。
【０００５】
第１の周知の方法はデータソースにおけるウィルススキャンである。特殊なコンピュータ装置によってデータが提供されようとすれば、その特殊なコンピュータ装置をスキャンする必要がある。装置内のファイルをスキャンするために、その装置用のウィルス保護ソフトウェアを記述しなければならない。
【０００６】
この第１の周知の方法は、ファイルに対してウィルススキャンをするには効果的な方法だが、幾つかの不利益を有する。先ず、特殊なコンピュータ装置を有する会社は、かなりの資産をかけてウィルス保護ソフトウェアを作りあげ、そして、現われる新しいウィルスから保護してくれるよう、データファイルを最新型に維持しなければならない。
【０００７】
そのうえ、特殊なコンピュータ装置の製造業者は、主流となっているウィルス保護ソフトウェアを作っている法人の賛助を得てカスタムアプリケーションを記述し、ライセンシーになることは可能だが、このことが、選択したアンチ−ウィルスソフトウェアベンダーの信頼性、ハードウェアがアップグレードされた場合の互換性に関する課題、および、多大な財務費用といった問題を引き起こしている。
【０００８】
第２の周知の、コンピュータウィルスから保護する方法は、エンドユーザに彼らのクライアント装置上でアンチ−ウィルスソフトウェアを実行させることである。アンチ−ウィルスソフトウェアは、マカフィー(McAfee)やシマンテック(Symantec)といった会社から提供されている。これらのプログラムはコンピュータのブート段階中にロードされ、バックグラウンドジョブとして動作してメモリおよびファイルを開いたり、保存したりしながら監視している。
【０００９】
この第２の周知の方法はクライアント装置の感染を阻止し、保護する上では効果的だが、幾つかの不利益を有する。これは連鎖における最終可能リンクに、検出の負担を設定している。いかなる理由があろうと、エンドユーザに到達するよりも先にウィルスを検出しなければ、ウィルスは最大の被害（ファイルの破壊、ならびに、他のコンピュータユーザおよびシステムへの拡大）を及ぼすであろうコンピュータ装置に到達する。
【００１０】
何百万というユーザへ送信されるかもしれないソースからファイルを駆除(sanitize)するほうが、そのファイルを送信し、そして、エンドユーザに、ファイルが感染している場合にそのファイルに対処するための用意をしておくことを期待するよりもずっとよい。エンドユーザはしばしば古いバージョンのアンチ−ウィルスソフトウェア、および／または、そのソフトウェアが新しく発見されたウィルスから確実に護れるようにするためのデータファイルにアップデートしていない。従って、大量配信されるポイントにおける検出を行うことがより重要である。
【００１１】
また、ハンドヘルド型コンピュータ装置もウィルスに感染しやすいが、これら装置のウィルスに対処する装備は不十分である。一般に、ハンドヘルド型コンピュータ装置はデスクトップシステムと比較して、非常に制限されたメモリリソースを有する。これらのリソースの一部分をウィルス保護に費やすと、ハンドヘルド型装置が効率的に動作する能力を厳しく制限する。情報ソースにおける信頼できるウィルススキャンが最も効率的でありかつ効果的な方法である。
【００１２】
ウィルスからの保護は絶え間の無い戦いである。新しいウィルスは毎日創出され、ウィル保護ソフトウェア製造者は新しいデータファイル（アンチ−ウィルスソフトウェアが使用する解決用アルゴリズム）を作り出す必要に迫られる。ファイルのソースにおいて保護することで、ウィルスはさらに効率よく、効果的に除去可能である。
【００１３】
一般にデータのセキュリティーは重要である。同程度に重要なのがエンドユーザの信用である。これは会社に先行する評判に由来し、また、ウェブコマースに従事する会社は、その評判によって生きることも死ぬこともる。それは丁度、エンドユーザがウェブベースの売買取引のために開示したクレジットカードの番号が安全であると信じているように、受信するファイルも安全であることを望んでいる。
【００１４】
従い、特殊なコンピュータ装置をスキャンして、変更、削除、または、修正の必要があるかもしれない、ウィルスおよび他の悪質なもしくは望まざる内容を調べる技術を提供することが望まれている。
【発明の概要】
【００１５】
本発明は、（ファイラのような）特殊なコンピュータ装置に対してウィルススキャンする方法およびシステムを提供する。好適な実施形態においては、ファイラは１以上の補助的コンピュータ装置と接続されており、この補助的コンピュータ装置がエンドユーザへの送信の前に、要求されたファイルをスキャンしてウィルスフリーであることを確かめる。エンドユーザがファイラからファイルを要求すると、以下のステップが実施される。第１に、要求されたファイルはエンドユーザに向けて送信する前にスキャンされなければならないかどうかを判断する。第２に、ファイラは外部コンピュータ装置の１つへのチャンネルを開き、ファイル名を送る。第３に、その外部コンピュータ装置がそのファイルを開いてスキャンする。第４に、外部コンピュータ装置がファイラへファイルスキャン操作のステータスを報告する。第５に、ファイラは、前記ステータスが送信してもよいことを示せば、ファイルをエンドユーザに送る。
【００１６】
本システムは、ファイルが修正されるか、または、新しいウィルスから保護するための新しいデータファイルが付加されないかぎり、たった一度だけファイルをウィルススキャンする必要があるという点で、非常に効率的でありまた効果的である。スキャンしたファイルのスキャンレポートは、１以上の外部コンピュータ装置、１以上のファイラに記憶されてもよく、そして、スキャンレポートのある部分はエンドユーザに送信されてもよい。
【００１７】
本発明の代替的実施形態においては、１以上のコンピュータ装置が、ファイルの圧縮や暗号化といった他の補助的アプリケーションを独立に、または、組み合わせて、実行していてもよい。
【好適な実施形態の詳細な説明】
【００１８】
以下の説明にて、本発明の好適な実施形態を、その好適な処理工程およびデータ構造に着目し、説明する。当業者であれば本出願を精読した後には、本発明の実施形態は１以上の一般目的もしくは特殊目的プロセッサ、または、他の、本明細書に記載の特定の処理工程およびデータ構造に適合した回路を用いて実施可能であること、ならびに、必要以上の試験または更なる発明を必要とせずに本明細書に記載の処理工程およびデータ構造を実施することができることを理解するであろう。
【００１９】
辞書編集(Lexicography)
以下の用語は、以下に説明する本発明の態様を、言及または関連する。これら用語に関する一般的な意味についての記載は、制限を加えることを目的としたものではなく、単に例示目的にすぎない。
・ウィルス−一般的に、人間が作り出したプログラムまたはコードの断片であって、コンピュータユーザの認識なしに、そのコンピュータにロードされ、そして、ユーザの意に反して実行される。たいていのウィルスは自己複製可能であり、さらに危険なタイプのウィルスにあってはネットワークを介して自身を送信し、セキュリティーシステムを迂回する能力を有する。
・クライアントおよびサーバ−一般的に、これら用語は２つの装置間の関係性について述べている。特に、クライアントおよびサーバという関係性を述べる上で必ずしも特定の物理的な装置を必要としない。
例えば、これに制限されないが、第１サーバ装置と第１の関係性を有する特定のクライアント装置が、第２クライアント装置と第２の関係性を有してサーバ装置として機能することが可能である。好適な実施形態においては一般に、比較的少数のサーバ装置が比較的多数のクライアント装置に対して情報提供を行う。
・クライアント装置およびサーバ装置−一般に、これら用語は、（ＨＴＴＰウェブクライアントおよびウェブサーバのように）クライアント−サーバ関係においてクライアント装置またはサーバ装置の役割を果たす装置をいう。いかなるクライアント装置またはサーバ装置も個別的な物理的装置でなければならないという特別な要求はない。これらは単一の装置であっても、協働する装置群であっても、装置の部分であっても、または、それらのうちのある組み合わせであってもよい。
例えば、これに制限されないが、クライアント−サーバ関係におけるクライアント装置およびサーバ装置は、実際には物理的に同一の装置とすることが可能であり、第１ソフトウェア要素群によりクライアント機能が発揮され、第２ソフトウェア要素群によりサーバ機能が発揮される。
・ウェブクライアントおよびウェブサーバ（もしくはウェブサイト）−本明細書中にて用いられる用語「ウェブクライアント」および「ウェブサーバ」（もしくは「ウェブクライアント」）は、インターネット、ワールドワイドウェブ、または、その均等物もしくはその拡張物におけるクライアント−サーバ環境において、ウェブクライアントまたはウェブサーバの役割を果たす、あらゆる装置の組み合わせまたはソフトウェアをいう。ウェブクライアントが個別的な装置でなければならないという特別な要求はない。これらは単一の装置であっても、協働する装置群であっても、装置の部分であっても、または、それらのうちのある組み合わせであってもよい（たとえば、ウェブサーバ機能を有する装置がユーザのエージェントとして動作しているように）。
【００２０】
上述のように、これらの用語に関する一般的な意味についての説明は、それらに限定することを意図したものではなく、例示を目的としている。本発明の他の、そして、さらなる適用は、これらの用語および概念の拡張も含まれているが、本出願を精読した後には、当業者にとっては明瞭であろう。これらの他の、そして、さらなる適用は本発明の範囲および本発明の思想の一部であり、それらは当業者であれば別の発明または必要以上の試験をせずとも明らかである。
【００２１】
システムの要素
図１は分散化装置によるウィルススキャンのためのシステムに関するブロック図を示す。
【００２２】
システム１００はユーザ１１１と関連するクライアント装置１１０、通信ネットワーク１２０、ファイラ１３０、および、処理クラスタ１４０を有する。
【００２３】
クライアント装置１１０はプロセッサ、主メモリ、および、命令を実行するためのソフトウェア（図示せず、だが当業者であれば理解する。）を有する。クライアント装置１１０およびファイラ１３０は別個の装置として示されるが、これらが物理的に分離していることを要求しない。
【００２４】
好適な実施形態において、通信ネットワーク１２０はインターネットを含む。代替的実施形態において、通信ネットワーク１２０は、イントラネット、エクストラネット、仮想プライベートネットワーク、ダイレクト通信リンク、または、それらの組み合わせもしくは結合といった、代替的通信形態を含んでもよい。
【００２５】
通信リンク１１５はクライアント装置１１０と通信ネットワーク１２０を接続している。
【００２６】
ファイラ１３０はプロセッサ、主メモリ、命令を実行するためのソフトウェア（図示せず、だが当業者であれば理解する。）、および、大容量記憶装置１３１を有する。クライアント装置１１０およびファイラ１３０は個別の装置として示されているが、これらが個別的な装置である必要性はない。ファイラ１３０は通信ネットワーク１２０に接続されている。
【００２７】
大容量記憶装置１３１は、クライアント装置１１０からリクエスト可能な、少なくとも１つのファイル１３３を有する。
【００２８】
処理クラスタ１４０は、１以上のクラスタ装置１４１を有し、クラスタ装置１４１それぞれはプロセッサ、主メモリ、命令を実行するためのソフトウェア、および、大容量記憶装置（図示せず、だが当業者であれば理解する。）を備えている。ファイラ１３０および処理クラスタ１４０は個別の装置として示されているが、これらが個別的な装置である必要性はない。
【００２９】
好適な実施形態においては、処理クラスタ１４０は、相互通信およびファイラ１３０との直接通信可能な相互接続クラスタにおける複数のパーソナルコンピュータである。
【００３０】
クラスタリンク１３５は、処理クラスタ１４０とファイラ１３０とを接続する。クラスタリンク１３５は不均等メモリアクセス、または、イントラネット、エクストラネット、仮想プライベートネットワーク、ダイレクト通信リンク、または、それらの組み合わせもしくは結合による通信を含んでいてもよい。
【００３１】
操作方法
図２は分散化装置のウィルススキャンのためのシステムの処理流れ図である。
【００３２】
方法２００は、一組の流れのポイントおよび一組のステップを有する。システム１００が方法２００を実施する。方法２００は連続的に説明されているが、個々の要素は連動的または並列的に、非同期的にパイプライン方式で、また、その他の方式で、方法２００のステップを実施可能である。方法２００は、そのように指示されている場合を除き、本明細書に羅列したステップの順番と同一の順番で実施される必要性を有しない。
【００３３】
流れのポイント２００において、システム１００は方法２００を実施開始する用意ができている。
【００３４】
ステップ２０１において、ユーザ１１１はクライアント装置１１０を利用し、ファイル１３３に対するリクエストを開始する。リクエストは通信ネットワーク１２０を介してファイラ１３０に送信される。好適な実施形態においては、ファイラ１３０はウェブサーバ（図示せず、だが当業者であれば理解する。）の指示でファイル検索および記憶を実行する。
【００３５】
ステップ２０３において、ファイラ１３０はファイル１３３に対するリクエストを受け、ファイルＩＤおよびファイル１３３のパスを処理クラスタ１４０へ送信し、処理クラスタにおいて、クラスタ装置１４１のうちの１つがそれを受信する。
【００３６】
ステップ２０５において、クラスタ装置１４１はファイルＩＤおよびパスを利用してファイラ１３０の大容量記憶装置１３１のファイル１３３を開く。
【００３７】
ステップ２０７において、クラスタ装置１４１はファイル１３３のウィルススキャンを行う。好適な実施形態においては、ファイルは総当り方式(round robin fashion)で処理クラスタに課せられる(be tasked to the processing cluster 140)。代替的実施形態において、ファイルはクラスタ装置１４１によって個別的に処理されてもよく、複数のクラスタ装置１４１によって同時的にされてもよく、また、それらの組み合わせでもよい。処理クラスタ１４０内における処理の最大効率化を確保する目的で、負荷分散(load balancing)を用いてもよい。
【００３８】
パーソナルコンピュータ向けのウィルス保護ソフトを提供するベンダーは数社あるので、ファイラ１３０の操作者は使用したい製品なら何でも選んでよい。また、処理クラスタ１４０において複数ベンダーの製品を組み合わせて使用することすらかまわない。本発明の代替的実施形態においては、ファイラ１３０のあらゆるファイル１３３に対して継続的にスキャンが行われてもよい。
【００３９】
処理クラスタ１４０は高度な拡張性を有する。パーソナルコンピュータの価格は、ファイラのような専用の装置に較べて低価格であるので、このような構成は非常に望ましいものである。加えて、クラスタの構成により、クラスタ装置１４１が機能停止した場合における代理機能システム(redundant systems)を提供し、処理クラスタ内部においてフェイルオーバー(failover)およびテイクオーバー(takeover)も可能である。
【００４０】
ステップ２０９において、クラスタ装置１４１はスキャンリポートをファイラ１３０に送信する。スキャンリポートは主としてファイルが送信しても安全であるかについて報告する。別の情報についても、データベースに統計上の目的で保存してもよい（例えば、どれくらいのファイルが感染していると特定されたか、ウィルスソフトウェアはそのファイルを駆除(sanitize)できたか、または、ファイルは削除されたか）。続いて受信されたリクエストに基づく送信に際し、その前にファイル１３３をスキャンする必要があるかどうかを、前記データベースを参考にして決定してもよい。ファイル１３３が、最後にスキャンを受けて以来、変更を受けておらず、かつ、さらなるウィルスデータファイルが処理クラスタに付加されていなければ、ファイル１３３は、おそらくスキャンを受ける必要はない。つまり、ファイル１３３はさらに迅速に送信可能である。
【００４１】
他の中間的アプリケーションも、処理クラスタ１４０内において独立して実行しても、他のアプリケーションと結合して実行しても、または、その組み合わせとして実行してもよい。圧縮および暗号化ユーティリティはこれらアプリケーションの例である。ウィルススキャンを含むこれらのアプリケーションは、非常にＣＰＵに負担をかけるものであり、したがってアウトソーシングによりファイラのような専用の装置が最もすべきことを実行し、他のタスクは処理クラスタ１４１に請け負わせることが可能となり、よりよいパフォーマンスをもたらす。
【００４２】
ステップ２１１において、ファイラ１３０は、処理クラスタ１４０によるスキャンを受けて報告される利用可能性に基づいてファイル１３３をクライアント１１０に向けて送信する、または、送信しない。スキャンレポートのある部分については、ユーザへ送信してもよい。
【００４３】
本ステップにおいて、ファイル１３３に対するリクエストは受信されており、前記リクエストは処理され、そして、可能であるのならばファイル１３３は配信される。本処理は後のリクエストに対して、ステップ２０１から繰り返されてよい。
【００４４】
本発明の一般性
本発明は、ファイルに対する処理要求の別の態様に対して広範な利用可能性および一般性を有する。
【００４５】
本発明は、１以上の、以下を含むような環境に、または、それらの組み合わせに対して利用可能である。
・ファイル圧縮
・ファイル暗号化、および、
・ＣＰＵに負担をかけるタスクを専用装置から多目的コンピュータへ委託する、一般的なアウトソーシング。
【００４６】
代替的実施形態
本明細書において好適な実施形態について開示したが、本発明の概念、範囲、および、思想の範囲内においてさまざまな変形例が可能である。これらの変形例は、本出願を精読の後には当業者にとって明白である。
【図面の簡単な説明】
【００４７】
【図１】分散化された装置でのウィルススキャンのためのシステムのブロック図である。
【図２】分散的ウィルススキャンのためのシステムの処理の流れ図である。
【符号の説明】
【００４８】
１００  ・・  システム                １１０  ・・  クライアント装置
１１１  ・・  ユーザ                  １１５  ・・  通信リンク
１２０  ・・  通信ネットワーク        １３０  ・・  ファイラ
１３１  ・・  大容量記憶装置          １３３  ・・  ファイル
１３５  ・・  クラスタリンク          １４０  ・・  処理クラスタ
１４１  ・・  クラスタ装置
【図１】
0004537651.tif 000002
【図２】
0004537651.tif 000003