(57)【要約】  【課題】ワークステーションで作成されたファイルを制御するシステムをアップデートするシステム及びその方法を提供すること。  【課題手段】アプリケーションの開始を検出するワークステーション管理モジュールを備えたワークステーション101、ワークステーション101からデータを受信し、アプリケーションに関係する１つ以上のカテゴリを決定するアプリケーションサーバモジュール102、多くのアプリケーションサーバモジュール102からアプリケーションを受信するアプリケーションデータベースファクトリ110を備えている。アプリケーションデータベースファクトリ110によって、アプリケーションサーバモジュール102にカテゴリが付与されると、ワークステーション管理モジュールに、ハッシュ／ポリシーテーブルが伝送され、ワークステーション管理モジュールが、開始されたアプリケーションに関係するポリシーを適用する。【選択図】図１
2004280831.tif 000002
【特許請求の範囲】
【請求項１】
ワークステーション上で動作するプロセスを制御する監視システムをアップデートする際に用いられるプログラムデータを収集するシステムであって、
各プログラムに関係する１つ又はそれ以上のポリシーを伴う分類されたアプリケーションプログラムに関するデータベースを有し、プログラムの実行を要求するユーザに対して構築されているワークステーションと、
該ワークステーションに接続され、前記ユーザによって要求されたプログラムを検出し、該プログラムが前記分類されたアプリケーションデータベースに存在するか否かを判断し、前記プログラムが前記分類されたアプリケーションデータベース内に存在しない場合には、前記プログラム及び該プログラムに関係するプログラムデータをアプリケーションサーバモジュールに送信し、前記プログラムに関係する１つ又はそれ以上のポリシーを適用するように構成されたワークステーション管理モジュールであって、前記１つ又はそれ以上のポリシーが前記アプリケーションサーバモジュールから受信されるものであるワークステーション管理モジュールと、
前記ワークステーションに接続され、前記プログラムが前記ワークステーション管理モジュールの前記分類されたアプリケーションデータベース内に存在しない場合には、前記ワークステーション管理モジュールから前記プログラムデータを受信し、前記プログラムがアプリケーションサーバモジュールで予め分類されている否かを判断し、前記プログラムが、予めアプリケーションサーバモジュールで分類されていなかった場合には、前記プログラムデータをアプリケーションデータベースファクトリに送信し、前記プログラムが、予め前記アプリケーションサーバモジュールで分類されていた場合には、予め前記プログラムに関係付けられた１つ又はそれ以上のカテゴリと関係のある１つ又はそれ以上のポリシーを、前記ワークステーション管理モジュールに提供するように構成されたアプリケーションサーバモジュールと
を含んで構成されていることを特徴とするシステム。
【請求項２】
さらに、アプリケーションデータベースファクトリを含み、該アプリケーションデータベースファクトリが、
前記プログラムが、予め前記アプリケーションサーバモジュールで分類されていなかった場合には、前記アプリケーションサーバモジュールから前記プログラムデータを受信し、
前記プログラムが、予め前記アプリケーションデータベースファクトリによって分類されていたか否かを判断し、
前記プログラムが、予めアプリケーションデータベースファクトリによって分類されていなかった場合には、前記プログラムに関係する１つ又はそれ以上のカテゴリを決定して、前記アプリケーションサーバモジュールに１つ又はそれ以上のカテゴリを提供し、
前記プログラムが、予め前記アプリケーションデータベースファクトリによって分類されていなかった場合には、次に、予め前記プログラムに関係付けられた１つ又はそれ以上のカテゴリを、前記アプリケーションサーバモジュールに提供するものであることを特徴とする請求項１に記載のシステム。
【請求項３】
前記分類されたアプリケーションプログラムのデータベースが、ハッシュ値を含むことを特徴とする請求項２に記載のシステム。
【請求項４】
前記プログラムが、前記分類されたアプリケーションプログラムのデータベース内に存在し、1つ又はそれ以上のポリシーに関係していることを特徴とする請求項３に記載のシステム。
【請求項５】
前記アプリケーションサーバモジュールが、１つ又はそれ以上のカテゴリを指示するデータの特性に関するプログラムに関係している前記プログラムデータを分析し、１つ又はそれ以上のインジケータを前記プログラムに関係付けるように構成されていることを特徴とする請求項２に記載のシステム。
【請求項６】
前記プログラムデータの分析が、前記プログラムに関係するテキストストリング上で実行されることを特徴とする請求項５に記載のシステム。
【請求項７】
前記１つ又はそれ以上のインジケータが、カテゴリフラグを含むことを特徴とする請求項５に記載のシステム。
【請求項８】
前記アプリケーションサーバモジュールが、前記プログラムを前記アプリケーションデータベースファクトリに伝送する前に、前記プログラムをスクリーニングするために前記1つ又はそれのインジケータを使用するものであることを特徴とする請求項７に記載のシステム。
【請求項９】
前記ワークステーション管理モジュールがアプリケーションダイジェストジェネレータを含み、該アプリケーションダイジェストジェネレータが、前記プログラムに関係付ける前記プログラムデータを決定するように構成されていることを特徴とする請求項２に記載のシステム。
【請求項１０】
前記プログラムデータが、スイートを含んでいることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記プログラムデータが、発行者を含んでいることを特徴とする請求項９に記載のシステム。
【請求項１２】
前記プログラムデータが、ソースディレクトリを含んでいることを特徴とする請求項９に記載のシステム。
【請求項１３】
前記アプリケーションサーバモジュールが、
前記プログラムに関係する前記１つ又はそれ以上のカテゴリに対して適用される前記1つ又はそれ以上のポリシー選択するために、ネットワーク管理者に対してインタフェースを提供するように構成された分類ユーザインタフェースと、
前記プログラムが予め分類されていなかった場合には、前記プログラム及び関係するデータを格納するように構成された未分類アプリケーションデータベースと、
前記格納されたプログラム及び関係するデータを前記アプリケーションデータベースファクトリに送信し、該アプリケーションデータベースファクトリから前記1つ又はそれ以上のカテゴリを受信するように構成されたアップロード/ダウンロード管理モジュールとを含むことを特徴とする請求項９に記載のシステム。
【請求項１４】
前記未分類のアプリケーションデータベースが、前記プログラムに関係する要求頻度を含み、前記未分類のアプリケーションデータベース内の前記プログラムに対する要求頻度を指示するものであることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記アップロード/ダウンロード管理モジュールが、前記未分類のアプリケーションデータベースからの要求頻度を前記アプリケーションデータベースファクトリに送信するように構成されていることを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記分類されたアプリケーションデータベースが、前記プログラムに関係する要求頻度を含み、前記未分類のアプリケーションデータベース内の前記プログラムに対する要求頻度を示すものであることを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記1つ又はそれ以上のポリシーが、前記プログラム及び前記ユーザに関係している前記1つ又はそれ以上のポリシーに基づく前記ワークステーション上で動作することを、前記プログラムに許可することを含んでいることを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記1つ又はそれ以上のポリシーが、前記プログラム及び前記ユーザに関係している前記1つ又はそれ以上のポリシーに基づく前記ワークステーション上で動作することを、前記プログラムに許可しないことを含んでいることを特徴とする請求項１３に記載のシステム。
【請求項１９】
前記アプリケーションデータベースファクトリが、
前記アプリケーションサーバモジュールからの前記プログラムに関係している前記プログラム及びデータを受信し、前記プログラムが前記アプリケーションデータベースファクトリによって予め分類されたか否かを判断し、１つ又はそれ以上のカテゴリを前記アプリケーションサーバモジュールに提供するように構成されたアップロード/ダウンロードモジュールと、
前記プログラムが予め前記アプリケーションデータベースファクトリによって分類されていなかった場合には、前記プログラムを分類するように構成されたアプリケーションアナリスト分類モジュールと、
前記プログラム及び前記1つ又はそれ以上のカテゴリを格納するように構成されたマスターアプリケーションデータベースとを含むことを特徴とする請求項２に記載のシステム。
【請求項２０】
前記アップロード/ダウンロードモジュールが、前記アプリケーションデータベースファクトリ内の前記プログラムの処理を最優先させるために、前記アプリケーションサーバモジュールから要求頻度を受信するように構成されていることを特徴とする請求項１９に記載のシステム。
【請求項２１】
さらに、第２のワークステーションと、
該第２のワークステーション及び前記アプリケーションデータベースファクトリに接続された第２のアプリケーションサーバモジュールとを含むことを特徴とする請求項１９に記載のシステム。
【請求項２２】
前記アップロード/ダウンロードモジュールが、前記プログラム及び前記第２のワークステーションから受信された第２のプログラムを統合し、ソートするように構成されていることを特徴とする請求項１９に記載のシステム。
【請求項２３】
ワークステーション上のプログラムの動作を制御するシステムのアップデート方法であって、
前記ワークステーション上のアプリケーションの開始を検出するステップと、
前記開始したアプリケーションに関するアプリケーションダイジェストを生成するステップと、
前記アプリケーションが分類されているか否かを判断するステップであって、分類されたアプリケーションが1つ又はそれ以上のポリシーに関係しているステップと、
前記アプリケーションが分類されている場合には、次に、前記アプリケーションに関係する1つ又はそれ以上のポリシーを適用するステップと、
前記アプリケーションが分類されていない場合には、次に、ロギングデータベースに前記アプリケーションを登録するステップと、
前記ロギングデータベースをアプリケーションサーバモジュールにアップロードするステップと、
前記アプリケーションが前記分類されたアプリケーションのアプリケーションインベントリデータベース内に存在するか否かを判断するステップであって、分類されたアプリケーションが1つ又はそれ以上のカテゴリに関係しているステップと、
前記アプリケーションが、前記アプリケーションサーバモジュールの前記アプリケーションインベントリデータベース内に存在しない場合には、次に、未分類のアプリケーションデータベースに前記アプリケーションを登録するステップと、
前記アプリケーションが、前記アプリケーションインベントリデータベース内に存在する場合には、前記アプリケーションに関係する１つ又はそれ以上のポリシーを適用するステップとを含むことを特徴とするシステムのアップデート方法。
【請求項２４】
さらに、
アプリケーションデータベースファクトリに、前記未分類のアプリケーションデータベースをアップロードするステップと、
各アプリケーションが、前記アプリケーションデータベースファクトリによって予め分類されたか否かを判断するステップと、
予め分類されていなかった各アプリケーションに関して、該各アプリケーションに関係する1つ又はそれ以上のカテゴリを選択するために、各アプリケーション及び／又は該アプリケーションに関係するデータを分類するステップと、
選択された１つ又はそれ以上のカテゴリとともに各アプリケーションを、分類されたアプリケーションのデータベースに登録するステップと、
統合するために、前記分類されたアプリケーションのデータベースを、前記アプリケーションインベントリデータベースにダウンロードするステップとを含むことを特徴とする請求項２３に記載のシステムのアップデート方法。
【請求項２５】
さらに、
前記アプリケーションが前記アプリケーションインベントリデータベース内に存在する場合には、前記アプリケーションインベントリデータベースにおける要求頻度をアップデートするステップと、
前記アプリケーションインベントリデータベースの要求頻度及び関係するアプリケーションを、前記アプリケーションデータベースファクトリにアップロードするステップとを含むことを特徴とする請求項２４に記載のシステムのアップデート方法。
【請求項２６】
前記1つ又はそれ以上のポリシーが、前記アプリケーションに、該アプリケーション及び前記ユーザに関係する前記１つ又はそれ以上のカテゴリに基づく動作を許可すること又は禁じることを含むことを特徴とする請求項２４に記載のシステムのアップデート方法。
【請求項２７】
前記1つ又はそれ以上のポリシーが、前記アプリケーションに、前記アプリケーション及び前記ユーザに関係する前記1つ又はそれ以上のカテゴリに基づくワークステーション上での動作を許可することを含むことを特徴とする請求項２４に記載のシステムのアップデート方法。
【請求項２８】
前記ロギングベースが、さらに、前記アプリケーションに関係する追加データを含むことを特徴とする請求項２４に記載のシステムのアップデート方法。
【請求項２９】
前記追加データが、要求頻度を含むことを特徴とする請求項２８に記載のシステムのアップデート方法。
【請求項３０】
前記追加データが、スイートを含むことを特徴とする請求項２８に記載のシステムのアップデート方法。
【請求項３１】
前記追加データが、発行者を含むことを特徴とする請求項２８に記載のシステムのアップデート方法。
【請求項３２】
前記追加データが、ソースディレクトリを含むことを特徴とする請求項２８に記載のシステムのアップデート方法。
【請求項３３】
さらに、
前記アプリケーション、及び／又は前記1つ又はそれ以上のカテゴリを指示するデータ特性に関して前記アプリケーションに関係する前記アプリケーションデータを分析するステップと、
前記アプリケーションに、１つ又はそれ以上のインジケータを関係付けるステップとを含むことを特徴とする請求項２３に記載のシステムのアップデート方法。
【請求項３４】
前記プログラムデータを分析するステップが、前記アプリケーション、及び／又は該アプリケーションに関係する前記追加データに関係しているテキストストリング上で実行されることを特徴とする請求項３３に記載のシステムのアップデート方法。
【請求項３５】
前記１つ又はそれ以上のインジケータが、カテゴリフラグを含むことができることを特徴とする請求項３３に記載のシステムのアップデート方法。
【請求項３６】
さらに、前記アプリケーションデータベースファクトリに、前記未分類アプリケーションデータベースをアップロードすることに先だって、前記１つ又はそれ以上のインジケータを使用することによって、前記アプリケーションをスクリーニングするステップを含むことを特徴とする請求項３５に記載のシステムのアップデート方法。
【請求項３７】
ワークステーションにおけるプログラムの実行を制御するシステムのアップデートに用いるコレクションデータの収集方法であって、
前記ワークステーションでプログラムの動作を開始するステップと、
前記プログラムが、テーブル内に格納されているか否かを判断するステップと、
前記プログラムが格納されている場合には、前記プログラムに関係する第１の規則を適用するステップと、
前記プログラムが格納されていない場合には、前記プログラムをデータベースに登録するステップとを含むことを特徴とするデータの収集方法。
【請求項３８】
さらに、
前記プログラム、及び／又は１つ又はそれ以上のカテゴリを指示するデータの特性に関するプログラムに関係するデータを予めフィルタリングするステップと、
前記データの特性によって指示された前記１つ又はそれ以上のカテゴリの少なくとも一部に基づいて、前記プログラムに第２の規則を関係付けるステップとを含むことを特徴とする請求項３７に記載のデータの収集方法。
【請求項３９】
プログラムがワークステーション上で動作可能か否かを判断するアプリケーションコントロールシステムのアップデートに用いる識別子を処理し、アップロードする方法であって、
アプリケーションデータベースファクトリから、前記識別子及びそれらに関係するカテゴリのダウンロードを要求するステップと、
前記識別子に関するデータベースからの少なくとも1つの識別子が、前記アプリケーションデータベースファクトリにアップロードされることになっているか否かを判断するステップと、
前記少なくとも１つの識別子が、前記アプリケーションデータベースファクトリにアップデートされることになっている場合には、前記識別子のデータベースから、前記少なくとも1つの識別子を検索するステップと、
前記少なくとも1つの識別子を、前記アプリケーションデータベースファクトリにアップロードするステップとを含むことを特徴とするアップロード方法。
【請求項４０】
前記識別子に関するデータベースが、未分類のアプリケーションに関するデータベースを含むことを特徴とする請求項３９に記載のアップロード方法。
【請求項４１】
前記識別子に関するデータベースが、分類されたアプリケーションのデータベースを含むことを特徴とする請求項４０に記載のアップロード方法。
【請求項４２】
さらに、未分類のアプリケーションのデータベースに関係する追加データを、前記アプリケーションデータベースファクトリにアップロードするステップを含むことを特徴とする請求項４０に記載のアップロード方法。
【請求項４３】
前記追加データが、スイートを含むことを特徴とする請求項４２に記載のアップロード方法。
【請求項４４】
前記追加データが、発行者を含むことを特徴とする請求項４２に記載のアップロード方法。
【請求項４５】
前記追加データが、ソースディレクトリを含むことを特徴とする請求項４２に記載のアップロード方法。
【請求項４６】
さらに、前記アプリケーションデータベースファクトリへのアップロードに先だって、前記未分類の識別子及び前記追加データを処理するステップを含むことを特徴とする請求項４２に記載のアップロード方法。
【請求項４７】
前記処理するステップが、
マークアップ言語を使用することによって、前記未分類の識別子及び前記追加データをフォーマットするステップと、
前記未分類の識別子及び前記追加データを含むアップロードファイルのサイズを制限するステップとを含むことを特徴とする請求項４６に記載のアップロード方法。
【請求項４８】
さらに、
前記未分類の識別子及び前記追加データを暗号化するステップと、
前記未分類の識別子及び前記追加データを圧縮するステップとを含むことを特徴とする請求項４７に記載のアップロード方法。
【請求項４９】
前記暗号化するステップが、データ暗号化標準（ＤＢＳ）を使用することによって実行されることを特徴とする請求項４８に記載のアップロード方法。
【請求項５０】
前記識別子に関するデータベースをアップロードするステップが、周期的であることを特徴とする請求項４８に記載のアップロード方法。
【請求項５１】
前記識別子に関するデータベースをアップロードするステップが、ランダムに行われることを特徴とする請求項４８に記載のアップロード方法。
【請求項５２】
前記識別子に関するデータベースをアップロードするステップが、セットされたタイミングで行われることを特徴とする請求項４８に記載のアップロード方法。
【請求項５３】
前記識別子に関するデータベースをアップロードするステップが、前記アプリケーションデータベースファクトリによるポーリングに応答して行われることを特徴とする請求項４８に記載のアップロード方法。
【請求項５４】
ワークステーション上のプログラムの動作を制御するシステムのアップデート方法であって、
前記ワークステーションにおけるアプリケーションの動作の開始を検出するステップと、
動作を開始した前記アプリケーションに関するハッシュ値を生成するステップと、
１つ又はそれ以上の前記ハッシュ値に関係する1つ又はそれ以上のポリシーを含むハッシュ/ポリシーテーブル内の1つ又はそれ以上のハッシュ値と、生成されたハッシュ値とを比較するステップと、
前記生成されたハッシュ値が、前記ハッシュ/ポリシーテーブル内の中の１つ又はそれ以上のハッシュ値とマッチする場合には、次に、前記１つ又はそれ以上のハッシュ値に関係する前記1つ又はそれ以上のポリシーを適用するステップと、
前記生成されたハッシュ値が、前記ハッシュ/ポリシーテーブル内の1つ又はそれ以上のハッシュ値にマッチしない場合には、次に、ロギングデータベースに、前記アプリケーションを登録するステップと、
前記ロギングデータベースを、アプリケーションサーバモジュールにアップロードするステップと、
前記ロギングデータベースを基に、前記アプリケーションが、アプリケーションインベントリデータベース内に存在するか否かを判断するステップと、
前記アプリケーションが、前記アプリケーションインベントリデータベース内に存在しない場合には、次に、未分類アプリケーションデータベースに前記アプリケーションを登録するステップとを含むことを特徴とするシステムのアップデート方法。
【請求項５５】
さらに、前記アプリケーションに関する頻度数を決定するために、前記ロギングデータベースをスキャンニングするステップを含むことを特徴とする請求項５４に記載のシステムのアップデート方法。
【請求項５６】
さらに、
アプリケーションデータベースファクトリに、前記未分類アプリケーションデータベースをアップロードするステップと、
前記アプリケーションが、前記アプリケーションデータベースファクトリによって、予め分類されたか否かを判断するステップと、
予め分類されなかった各アプリケーションに関して、前記アプリケーションに関係する１つ又はそれ以上のカテゴリを選択することによって、各アプリケーションを分類するステップと、
選択された１つ又はそれ以上のカテゴリとともに各アプリケーションを、分類されたアプリケーションのデータベースに登録するステップと、
前記アプリケーションインベントリデータベースに、統合するために分類されたアプリケーションのデータベースをダウンロードするステップとを含むことを特徴とする請求項５４に記載のシステムのアップデート方法。
【請求項５７】
コンピュータ上のアプリケーションを制御する方法であって、
前記コンピュータでアプリケーションを識別するステップと、
前記アプリケーションが、データベース内に存在するか否かを判断するステップと、
前記アプリケーションがデータベース内に存在する場合には、前記アプリケーションに関係する1つ又はそれ以上の所定のポリシーを適用するステップとを含むことを特徴とする制御方法。
【請求項５８】
さらに、前記アプリケーションがデータベース内に存在しない場合には、次に、前記データベースに前記アプリケーションを格納するステップを含むことを特徴とする請求項５７に記載の制御方法。
【請求項５９】
ワークステーション上のアプリケーションを制御する方法であって、
前記ワークステーション上で動作しているアプリケーションを検出するステップと、
前記動作しているアプリケーションが、データベース内に存在するか否かを判断するステップと、
前記動作しているアプリケーションが前記データベース内に存在しない場合には、次に、前記データベースに、前記動作しているアプリケーションを格納するステップとを含むことを特徴とする制御方法。
【請求項６０】
さらに、
前記動作しているアプリケーションに、1つ又はそれ以上のポリシーを関係付けるステップと、
前記1つ又はそれ以上のポリシーに基づいて、前記動作しているアプリケーションを制御するステップとを含むことを特徴とする請求項５９に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータデバイスに関し、さらに詳しくは、それを動作させるアプリケーションファイルの監視及び制御に関する。
【背景技術】
【０００２】
インターネットは、様々なコンピュータが、相互に、シームレスに通信することができるように、まとめてリンクされた世界的なコンピュータシステムである。従業員（コンピュータの使用者）は、ダウンロードを行うためにサーバのコンピュータにアクセスしたり、ログプログラムを作成したり、職場でピアツーピアでファイルの共有を行ったりすることができる。それらはいずれも、雇用者に対しては新たな脅威である。
【０００３】
例えば、多くのインスタントメッセージ（ＩＭ）システムは、コンピュータ間でファイルの伝送ができるようになっているので、インスタントメッセージは、雇用者の企業に対して、セキュリティ上のリスクを生じさせる。その理由は、従業員はインスタントメッセージそれ自体を活用することができるが、雇用者は、コンピュータ間で伝達される事項が機密事項に関するデータであっても、誰が見るかを知ることができない。ただし、インスタントメッセージが企業のポリシーに関係して使用される場合には、生産的な有力な道具にもなり得る。一方、ストリーミングメディアは、ネットワークの回線容量を消費するために、高まりつつある懸案事項である。
【０００４】
このように、企業は、従業員が不法で無認可のソフトウエアを使用することに対して責任を負うことになる。したがって、ワークステーション上で、不法で無認可のソフトウエアを利用することができる従業員は、企業に対して、望ましくない害を及ぼすというリスクを与える可能性がある。
【０００５】
従業員が職場でどのようにインターネットにアクセスするかを管理するために、ソフトウエアを利用することができる。それによって、従業員の生産性を低下させることなく、ネットワークの回線容量や格納コスト(storage cost)を節約し、法的責任を制限し、ネットワークセキュリティを向上させることができる。
【発明の開示】
【０００６】
本発明に係るシステムと方法には、いくつかの要件が含まれ、その望ましい属性に対して、単独で応えられる要件は１つもない。特許請求の範囲に記載されている本発明に係る技術的思想を限定するものではないが、以下に、より代表的な特徴を簡潔に説明する。本発明に係る説明を考慮に入れて、特に「発明を実施するための最良の形態」の項の説明を読むことによって、本発明に係るシステム及び方法が、従来のフィルタシステムに対するいくつかの優位性が、どのようにもたらされるか理解されるであろう。
【０００７】
１つの実施の形態は、ワークステーション上で動作するプロセスを制御する監視システムをアップデートする際に用いられるプログラムデータを収集するシステムである。このシステムは、各プログラムに関係する１つ又はそれ以上のポリシーを伴う分類されたアプリケーションプログラムに関するデータベースを有し、プログラムの実行を要求するユーザに対して構築されているワークステーションを含んでいる。
【０００８】
また、このシステムは、前記ワークステーションに接続され、前記ユーザによって要求されたプログラムを検出し、該プログラムが前記分類されたアプリケーションデータベースに存在するか否かを判断し、前記プログラムが前記分類されたアプリケーションデータベース内に存在しない場合には、前記プログラム及び該プログラムに関係するプログラムデータをアプリケーションサーバモジュールに送信し、前記プログラムに関係する１つ又はそれ以上のポリシーを適用するように構成されたワークステーション管理モジュールを含んでおり、前記１つ又はそれ以上のポリシーは、前記アプリケーションサーバモジュールから受信される。
【０００９】
さらに、このシステムは、前記ワークステーションに接続され、前記プログラムが前記ワークステーション管理モジュールの分類されたアプリケーションデータベース内に存在しない場合には、前記ワークステーション管理モジュールから前記プログラムデータを受信し、前記プログラムがアプリケーションサーバモジュールで予め分類されているか否かを判断し、前記プログラムが、予めアプリケーションサーバモジュールで分類されていなかった場合には、前記プログラムデータをアプリケーションデータベースファクトリに送信するように構成されている。
【００１０】
一方、前記プログラムが、予め前記アプリケーションサーバモジュールで分類されていた場合には、このシステムは、予め前記プログラムに関係付けられた１つ又はそれ以上のカテゴリと関係のある１つ又はそれ以上のポリシーを、前記ワークステーション管理モジュールに提供する。
【００１１】
本発明に係る別の実施の形態は、ワークステーション上で動作するプログラムを制御するシステムをアップデートする方法である。この方法は、前記ワークステーション上のアプリケーションの開始を検出するステップと、前記開始したアプリケーションに関するアプリケーションダイジェストを生成するステップと、分類されたアプリケーションが1つ又はそれ以上のポリシーに関係し、前記アプリケーションが分類されているか否かを判断するステップと、前記アプリケーションが分類されている場合には、次に、前記アプリケーションに関係する1つ又はそれ以上のポリシーを適用するステップとを含んでいる。
【００１２】
一方、前記アプリケーションが分類されていない場合には、次に、ロギングデータベースに前記アプリケーションを登録するるステップと、前記ロギングデータベースをアプリケーションサーバモジュールにアップロードするステップと、前記分類されたアプリケーションが1つ又はそれ以上のカテゴリに関係し、前記アプリケーションが前記分類されたアプリケーションのアプリケーションインベントリデータベース内に存在するか否かを判断するステップとを含んでいる。
【００１３】
前記アプリケーションが、前記アプリケーションサーバモジュールの前記アプリケーションインベントリデータベース内に存在しない場合には、次に、未分類のアプリケーションデータベースに前記アプリケーションを登録するステップを含んでいる。一方、前記アプリケーションが、前記アプリケーションインベントリデータベース内に存在する場合には、前記アプリケーションに関係する１つ又はそれ以上のポリシーを適用するステップを含んでいる。
【００１４】
本発明に係るさらに別の実施の形態は、ワークステーション上で動作するプログラムを制御するシステムをアップデートする方法である。この方法は、前記ワークステーションにおけるアプリケーションの動作の開始を検出するステップと、動作を開始したアプリケーションに関するハッシュ値を生成するステップと、１つ又はそれ以上の前記ハッシュ値に関係する1つ又はそれ以上のポリシーを含むハッシュ/ポリシーテーブル内の1つ又はそれ以上のハッシュ値と、生成されたハッシュ値とを比較するステップと、前記生成されたハッシュ値が、前記ハッシュ/ポリシーテーブル内の中の１つ又はそれ以上のハッシュ値とマッチする場合には、次に、前記１つ又はそれ以上のハッシュ値に関係する前記1つ又はそれ以上のポリシーを適用するステップを含んでいる。一方、前記生成されたハッシュ値が、前記ハッシュ/ポリシーテーブル内の1つ又はそれ以上のハッシュ値にマッチしない場合には、この方法は、次に、ロギングデータベースに、前記アプリケーションを登録するステップと、前記ロギングデータベースを、前記アプリケーションサーバモジュールにアップロードするステップと、前記ロギングデータベースを基に、前記アプリケーションが、アプリケーションインベントリデータベース内に存在するか否かを判断するステップを含んでいる。前記アプリケーションが、前記アプリケーションインベントリデータベース内に存在しない場合には、この方法は、次に、未分類アプリケーションデータベースに前記アプリケーションを登録するステップを含んでいる。
【００１５】
さらに、本発明に係る別の実施の形態は、ワークステーションにおけるプログラムの実行を制御するシステムのアップデートに用いるコレクションデータを収集する方法である。この方法は、前記ワークステーションでプログラムの動作を開始するステップと、前記プログラムが、テーブル内に格納されているか否かを判断するステップと、前記プログラムが格納されている場合には、前記プログラムに関係している第１の規則を適用するステップとを含んでいる。一方、前記プログラムが格納されていない場合には、この方法は、さらに、前記プログラムをデータベースに登録するステップを含んでいる。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明に係る特定の実施の形態を説明するが、本発明は、多くの別のシステム及び方法の形態で実施することもできる。なお、本明細書における説明では、図面に付した符号は、全体を通して、同じ部分には同じ符号（番号）とした。
【００１７】
以下の説明におけるすべてのシステムに含まれる様々な多くの要素（そのいくつかはモジュールと呼ばれる）は、ソフトウエア、ファームウエア、又はハードウエアコンポーネントとして組み込まれる。ハードウエアコンポーネントには、フィールドプログラマブルゲートアレイ(FPGA)、アプリケーションスペシフィック集積回路(ASIC)などがあり、それらはあるタスクを実行するものである。
【００１８】
そのようなコンポーネント又はモジュールは、アドレス可能な記憶媒体上に常駐し、好ましくは1つ又はそれ以上のプロセッサを動作させるように構成されている。このように、モジュールは、例えば、ソフトウェアコンポーネント、オブジェクト指向ソフトウェアコンポーネント、クラスコンポーネント及びタスクコンポーネント、プロセス、機能、属性(attribute)、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウエア、マイクロコード、電気回路、データ、データベース、データ構造、テーブル、アレイ(array)及びその他のコンポーネントを含むことができる。コンポーネント及びモジュールに与えられる機能は、より少ないコンポーネントとモジュールに組み合わされる、又はさらに別のコンポーネントとモジュールに分離されてもよい。さらに、コンポーネント及びモジュールは、1台又はそれ以上のコンピュータを動作させるように装備されていることが好ましい。
【００１９】
図１は、インターネット１０８と、インターネット１０８に接続されたローカルエリアネットワーク（ＬＡＮ）１００と、インターネット１０８に接続されたアプリケーションデータベースファクトリ１１０とで構成されたネットワークを示すブロック図である。説明を分かりやすくするために、１つのＬＡＮ１００を示したが、通常、２つ以上のローカルエリアネットワークが含まれる。同様に、２つ又はそれ以上のアプリケーションデータベースファクトリを含んでいてもよい。
【００２０】
ＬＡＮ１００は、アプリケーションサーバモジュール１０２に接続された１つ又はそれ以上のワークステーション１０１を含んでいる。アプリケーションサーバモジュール１０２は、アプリケーションデータベースファクトリ１１０にあるアプリケーションとアプリケーション関連データをアップロード及びダウンロードするために、インターネット１０８を介して通信することができる。ＬＡＮ１００は、イーサネット１０ベースのＴトポロジを有しているか、又はワイヤレスネットワーク、トークンリングネットワーク(token ring network)などを含む、あらゆるネットワークプロトコルに準拠することができる。
【００２１】
ＬＡＮ１００の中で、ワークステーション１０１は、アプリケーションサーバモジュール１０２と接続されている。例えば、ワークステーション１０１は、マイクロソフトウインドウズ・オペレーティングシステムの下で動作するパーソナルコンピュータであってもよい。また、アップルやその他のシステムで構成された別のコンピュータも使用することもできる。
【００２２】
アプリケーションサーバモジュール１０２は、ＬＡＮ１００とインターネット１０８とを接続するものである。アプリケーションサーバモジュール１０２は、インターネットＴＣＰ／ＩＰプロトコルを、インターネット１０８との通信用の適切なプロトコルに翻訳するために、ルータやその他のデータパケットスイッチング技術などの接続デバイスを介して、インターネット１０８と通信する。与えられたシステムを導入するのに使用される接続デバイスは、ＬＡＮ１００内の別の位置にあってもよく、また別の装置であってもよい。例えば、接続デバイスは、ワークステーション１０１に位置してもよく、またはインターネット１０８の囲りに接続されていてもよい。もっともよい接続デバイスは、ルータモジュール（図示省略）と接続されたファイアウォールモジュール（図示省略）である。
【００２３】
図２は、図１に示したワークステーション１０１に設けられたワークステーション管理モジュール２００を示すブロック図である。ワークステーション管理モジュール２００は、ワークステーション１０１におけるアプリケーションの動作の開始を検出し、ワークステーション１０１及び／又はユーザに対するアクセス権を決定することができる。アクセス権には、例えば、開始したアプリケーションに対して、ワークステーション上での動作を許可することが含まれる。
【００２４】
アクセス権は、１つ又はそれ以上のポリシーや規則の形であってもよい。ワークステーション１０１及び／又はユーザに対するアクセス権を決定するために、ワークステーション管理モジュール２００は、動作を開始したアプリケーションと１つ又はそれ以上のカテゴリとの間における所定の関係を利用することができる。さらに、１つ又はそれ以上のカテゴリは、ワークステーション１０１及び／又はユーザに係るポリシーや規則に関係していてもよい。
【００２５】
ワークステーション管理モジュール２００は、アプリケーションダイジェストジェネレータ２０１、クライアントインベントリモジュール２０２、アップロード／ダウンロードモジュール２０３、ハッシュ／ポリシーテーブル２０４、ロギングデータベース２０６、及び動作開始検出モジュール２１０を含んでいる。
【００２６】
コンピュータやワークステーション上のプログラムが動作を開始すると、動作開始検出モジュール２１０は、動作の開始を検出して、要求されたアプリケーションに関連するデータを分析するように、アプリケーションダイジェストジェネレータ２０１に指示する。その分析の一部として、動作開始検出モジュール２１０は、アプリケーションダイジェストジェネレータ２０１を使用することによって、アプリケーションに対するハッシュを生成することができる。アプリケーションダイジェストジェネレータ２０１は、要求されたアプリケーションの特性を分析する。そのような特性の例には、動作を開始したアプリケーションに関する名称、発行者、スイート、ハッシュ、ファイルサイズ、バージョン、及びその他の情報や特性などが含まれる。
【００２７】
また、動作を開始したアプリケーションに対するハッシュが、そのアプリケーションが固有のセットのビットに関係付けられたバイナリを変換することによって決定される。本技術分野で知られている暗号の形をしたハッシュ関数が、動作を開始したアプリケーションに対するハッシュの決定に用いられる。
【００２８】
このように、ハッシュ関数は、アプリケーションから、選択されたバイナリの入力を取得して、そのバイナリを、ハッシュと呼ばれる固定長のコード化された出力に変換する。その結果が固定サイズのセットのビットを有するハッシュであり、動作を開始したアプリケーションに固有の「電子個人情報(digital fingerprint)」としての役目を果たす。
【００２９】
２つの代表的なハッシュアルゴリズムに、ＭＤ−５とスクエアハッシュアルゴリズム−１（ＳＨＡ−１）とがある。ＭＤ−５ハッシュアルゴリズムは、１２８ビットの出力ハッシュを生成する。ＳＨＡ−１アルゴリズムは、１６０ビットの出力ハッシュを生成する。
【００３０】
分析された特性及び／又は分析された特性に関係するアプリケーションが、動作開始検出モジュール２１０に提供される。動作開始検出モジュール２１０は、ワークステーション１０１からのアプリケーション要求を分析して、次に、ハッシュ／ポリシーテーブル２０４とアプリケーション要求とを比較する。ハッシュ／ポリシーテーブル２０４は、１又はそれ以上の所定の分析された特性と、それに関連する１又はそれ以上のポリシーとを含んでいる。図３を参照して後に説明するように、アプリケーションサーバモジュール１０２は、ワークステーション管理モジュール２００に、ハッシュ／ポリシーテーブル２０４を提供する。
【００３１】
アプリケーションサーバモジュール１０２から受信されるハッシュ／ポリシーテーブル２０４には、アプリケーション名、発行者、スイート、ハッシュ、カテゴリ、及び規則又はそれに関連するポリシーが含まれていてもよい。１つの実施の形態では、ハッシュ／ポリシーテーブル２０４内の１又はそれ以上の分析された特性に、ハッシュ値のリストが含まれる。ハッシュ／ポリシーテーブル２０４は、さらに、リスト内のハッシュ値に関係するポリシーのリストを含んでいる。この実施の形態におけるハッシュ値及びポリシーに加えて、ハッシュ／ポリシーテーブル２０４は、さらにハッシュ値及び／又はポリシーに関連するカテゴリのリストを含んでいてもよい。
【００３２】
また、別の実施の形態では、ハッシュ／ポリシーテーブル２０４はハッシュ値を含んでいない。その代わりに、ハッシュ／ポリシーテーブル２０４は、アプリケーション名、発行者、スイート又はハッシュ／ポリシーテーブル２０４内のアプリケーションを特定する別の特性を含んでいる。
【００３３】
ワークステーションで動作するように要求されているアプリケーションが特定されると、そのアプリケーションに対応するハッシュ／ポリシーテーブル２０４からのポリシーも特定される。動作開始検出モジュール２１０は、そのアプリケーションの特性と、ハッシュ／ポリシーテーブル２０４内の特性とを比較し、どのようなアクセス権又はポリシーが、アプリケーションを動作させるための要求に適用されるべきかを決定する。これらのポリシー又は規則は、例えば、プログラムの実行を許容すること、プログラムの実行を拒否すること、アプリケーションを実行するという要求が登録されることをユーザに警告すること、及びアプリケーションが実行される特定の時間をユーザに許可することを含むことができる。
【００３４】
ワークステーション管理モジュール２００は、上記のポリシーと規則のほかに、アプリケーションを実行するという要求に対応して、選択可能なフィルタと累積的に(cumulatively)呼ばれる別の操作(action)を利用することができる。選択可能なフィルタに関する例には、アプリケーションの実行を延期すること、アプリケーションの実行に対する拒絶を無効にすることをユーザに許可すること、割当てに基づいてアプリケーションへのユーザのアクセスを制限すること、ネットワークロードに基づいてアプリケーションへのユーザのアクセスを制限することなどがある。要求されるそれぞれのアプリケーションは、１つ又はそれ以上のポリシー又は規則に関係していてもよい。
【００３５】
１つの実施の形態では、動作開始モジュール２１０は、チェックを行い、生成されたハッシュが、ハッシュ／ポリシーテーブル２０４内に格納されているいずれかのハッシュにマッチするかどうか確認する。要求されたアプリケーションとハッシュ／ポリシーテーブル２０４内のハッシュとがマッチしている場合には、動作開始検出モジュール２１０は、要求されたアプリケーション及び／又はユーザが要求しているアプリケーションにマッチするハッシュに関係しているポリシー／規則を適用する。
【００３６】
例えば、動作開始検出モジュール２１０によって規則に関するアプリケーションが、要求されたアプリケーションが、ワークステーション１０１で動作すること、又はユーザによって動作されることが許可されていないことを指示している場合には、所定のブロックのページが、要求されたアプリケーションの実行が許可されないこと及びその理由の説明をユーザインタフェースに伝送することができる。また、動作開始検出モジュール２１０は、要求されたアプリケーションがワークステーション１０１で動作することを簡単に停止させることができる。
【００３７】
動作開始検出モジュール２１０が、ハッシュ／ポリシーテーブル２０４内でアプリケーションハッシュを見つけることができない（例えば、アプリケーションが分類されていない）場合には、動作開始検出モジュール２１０は、未分類のアプリケーションを続ける方法を決定する。例えば、動作開始検出モジュール２１０が、要求されたアプリケーションが未分類であると判断すると、アプリケーションの実行が許可される。また、動作開始検出モジュール２１０は、このワークステーションにおけるこのユーザに対するポリシーを基に、要求されたアプリケーションの実行を停止させることができる。
【００３８】
要求されたアプリケーションに対して特定された１つ又はそれ以上のポリシーが、アプリケーションを動作させる要求に対応して適用される。このように、動作開始検出モジュール２１０は、ハッシュ／ポリシーテーブルから、分析された特性、ハッシュ／ポリシーテーブル２０４、及びポリシー／規則を使用することによって、アプリケーションを実行するそれぞれの要求をフィルタリングする。アプリケーションがハッシュ／ポリシーテーブル２０４内にない場合であっても、ポリシーが提供され、利用される。
【００３９】
要求されたアプリケーションがハッシュ／ポリシーテーブル２０４内に存在する場合には、そのイベントがロギングデータベース２０６に登録される。ロギングデータベース２０６に登録される情報には、例えば、アプリケーションに関係している、アプリケーション名、日時、及びハッシュなどを含めることができる。また、ロギングデータベース２０６には、要求されたアプリケーションに関係する追加データを含めることもできる。例えば、要求されたアプリケーションに関する要求頻度又は実行時間を、ロギングデータベース２０６に含めることができる。
【００４０】
未分類のアプリケーションのハッシュが、ロギングデータベース２０６に示されない場合には、動作開始検出モジュール２１０は、アプリケーション名、ハッシュ及びロギングデータベース２０６のアプリケーションダイジェストジェネレータ２０１によって分析された情報を格納することができる。このように、ロギングデータベース２０６は、要求されたアプリケーションに関係しているさらに別の情報を含むことができる。例えば、ロギングデータベース２０６には、発行者、スイート、ファイルサイズ、ハッシュ及びディレクトリ位置を含めることができる。
【００４１】
１つの実施の形態では、図２に示したように、クライアントインベントリモジュール２０２が、ワークステーション１０１上に、アプリケーションの目録を作成する(inventory)ように構成されている。そのために、クライアントインベントリモジュール２０２は、ワークステーション１０１上のアプリケーションが、分類されているか、及び／又は未分類かを決定するために、ハッシュ／ポリシーテーブル２０４にアクセスすることができるようになっている。
【００４２】
また、クライアントインベントリモジュール２０２は、周期的にワークステーション１０１のインベントリを実行するように構成することができる。例えば、クライアントインベントリモジュール２０２は、１日当たり一度又は選択されたある別の間隔で、ワークステーション１０１上に、アプリケーションの目録を作成することができる。クライアントインベントリモジュール２０２は、非稼働時に、インベントリの実行が可能であることが好ましい。ワークステーション１０１が、ユーザによってパワーアップされる時又はパワーダウンされる時に、インベントリが決定される。
【００４３】
ＬＡＮ１００の構築によって、ネットワーク管理者は、クライアントインベントリモジュール２０２に、インベントリを実行するように指示することができる。さらに、インベントリは、アプリケーションサーバモジュール１０２（図１参照）によるポーリングに応答して実行されるようにしてもよい。
【００４４】
図２に示したように、アップロード／ダウンロードモジュール２０３は、アプリケーションサーバモジュール１０２（図１参照）にデータを送り、アプリケーションサーバモジュール１０２からデータを受信することができる。例えば、アップロード／ダウンロードモジュール２０３は、ロギングデータベース２０６からアプリケーションサーバモジュール１０２へデータを送信することができる。１つの実施の形態では、クライアントインベントリモジュール２０２が、ワークステーション１０１上でアプリケーションのインベントリを実行し、インベントリの結果が、アップロード／ダウンロードモジュール２０３によって、アプリケーションサーバモジュール１０２にアップロードされる。
【００４５】
アップロード／ダウンロードモジュール２０３で実行されたアップロードは、ネットワーク管理者の希望に応じて、即座に、又は周期的に実行される。例えば、通常の営業時間後に、毎日のアップロードが実行される。アップロード/ダウンロードモジュール２０３は、ロギングデータベース２０６をスキャンすることにより、要求頻度(request frequency)を計算することができる。それによって、ロギングデータベース内のアプリケーションを、アプリケーションサーバモジュール１０２への伝送に関して最優先させる。
【００４６】
別の実施の形態では、頻度数データベース（図示省略）が、ロギングデータベース２０６内の各エントリに関してアップデートされる。頻度数データベースは、ロギングデータベース２０６内の各エントリに関する要求頻度数を維持する。この実施の形態では、アップロード／ダウンロードモジュール２０３は、アプリケーションを最優先させるために、頻度数データベースにアクセスする。
【００４７】
ロギングデータベース２０６からのデータを、アプリケーションサーバモジュール１０２にアップロードする必要がある場合には、アップロード／ダウンロードモジュール２０３は、ロギングデータベース２０６をスキャンすることによって見つけたアプリケーションに関する要求頻度を参照することができる。要求頻度は、アプリケーションサーバモジュール１０２へアプリケーションの伝送を行うために、ロギングデータベース２０６内のアプリケーションを最優先させるのに利用される。
【００４８】
図３は、ワークステーション管理モジュール２００（図２参照）と通信するアプリケーションサーバモジュール１０２を示すブロック図である。ここで、一度分類されたアプリケーションに関係しているポリシーと同様のアプリケーション特性を含むアプリケーションのリストが、アップロード及びダウンロードされる。例えば、関係しているハッシュ値とポリシーのリストが、ワークステーション管理モジュール２００にダウンロードされる間に、要求されたアプリケーションを基に分析された特性を、アプリケーションサーバモジュール１０２にアップロードすることができる。
【００４９】
さらに、ワークステーション管理モジュール２００に、アプリケーションに関係しているカテゴリを伝送することができる。ワークステーション管理モジュール２００に、アプリケーションに関係しているカテゴリを利用することができる場合には、ワークステーション管理モジュール２００は、ワークステーション、及び／又はアプリケーションに関係している１つ以上のカテゴリに対応するワークステーションに対して、アクセス特権を選択することができる。１つ又はそれ以上のカテゴリがそのアプリケーションに関係し、そのカテゴリがそれに関係する様々なポリシーを有している場合には、規則とポリシーのうちの一方又は両者が、アクセス特権に対して利用される。
【００５０】
アプリケーションサーバモジュール１０２は、アプリケーションインベントリデータベース１０３、ワークステーションアップロード／ダウンロードモジュール１０４、ファクトリアップロード／ダウンロードモジュール１０５、分類ユーザインタフェース１０６、及びポリシーデータベース１０９を含むことができる。アプリケーションインベントリデータベース１０３は、さらに未分類アプリケーションデータベース１０８を含むことができる。また、未分類アプリケーションデータベース１０８は、アプリケーションインベントリデータベース１０３から分離されたデータベースであってもよい。ネットワーク管理者又はそれに類したものと、アプリケーションサーバモジュール１０２とが、分類ユーザインタフェース１０６を介して接続される。
【００５１】
ネットワーク管理者は、分類ユーザインタフェース１０６を介してアプリケーションインベントリデータベース１０３から送信された未分類のアプリケーションを分類することができる。ネットワーク管理者は、ユーザ、ワークステーション及び／又はユーザ／ワークステーションのグループに関するアクセス権／ポリシー／規則を選択し、作成するために、分類ユーザインタフェース１０６を介して、さらにインタフェースによる接続を行うことができる。
【００５２】
上記の規則は、ポリシーデータベース１０９に格納される。これらの規則は、例えば、与えられたワークステーション１０１上で、選択されたカテゴリに関係しているアプリケーションの実行を許可することを含むことができる。また、規則は選択可能なフィルタを含んでいてもよい。例えば、アプリケーションの実行を簡単には許可しないことよりむしろ、ネットワーク管理者は、アプリケーションが要求される時に適用される選択可能なフィルタを選択又は生成するのがよい。その規則は、ワークステーションアップロード／ダウンロードモジュール１０４を介して、ワークステーション管理モジュール２００に提供される。このように、動作開始検出モジュール２１０（図２参照）は、要求されたアプリケーションのカテゴリに関係する規則を適用する。
【００５３】
ワークステーションアップロード／ダウンロードモジュール１０４の機能の１つは、アプリケーション名及び追加データ、又はワークステーション管理モジュール２００から送信されるアプリケーション名に関係する分析された特性に関する識別子を受信することである。例えば、アプリケーション名に関する識別子は、アプリケーション自体のハッシュ値でも、名称でもよい。１つの実施の形態では、アプリケーション名は、ロギングデータベース２０６からの名称を含んでいる。追加データは、ロギングデータベース２０６で見つけられたアプリケーションに関する要求頻度、トレースＩＤ、ワークステーション管理モジュール２００で使用される第一の言語を含んでいてもよい。
【００５４】
説明を容易にするために、本明細書における以下の説明で用いられる用語「コレクションデータ」には、アプリケーションと、それらのアプリケーションに関係するあらゆる追加データが含まれる。さらに、ワークステーションアップロード／ダウンロードモジュール１０４は、以下にさらに詳しく説明するように、アプリケーションインベントリデータベース１０３のすべて又はその一部を、ワークステーション管理モジュール２００にダウンロードする。
【００５５】
また、ワークステーションアップロード／ダウンロードモジュール１０４は、アップロード／ダウンロードモジュール２０３（図２参照）からコレクションデータを受信し、そのコレクションデータを処理する。その処理には、複数のワークステーション管理モジュールからのコレクションデータを統合し、ソートすることが含まれる。ワークステーションアップロード／ダウンロードモジュール１０４は、コレクションデータ内の各アプリケーションを分類する必要があるか否かを判断する。
【００５６】
アプリケーションが予め分類されていない場合には、そのアプリケーションに関係するコレクションデータが、未分類アプリケーションデータベース１０８に格納される。ネットワーク管理者は、未分類アプリケーションデータベース１０８から、コレクションデータ（例えば、アプリケーション情報とそのアプリケーションに関係するあらゆる追加データ）を受信することができる。
【００５７】
次に、ネットワーク管理者は、分類ユーザインタフェース１０６を介して、未分類のアプリケーションを分類し、及び／又はあるポリシーをそのカテゴリ又はアプリケーションに関係付けることができる。いったん分類されると、アプリケーションは、アプリケーションインベントリデータベース１０３に格納される。以下に説明するように、ネットワーク管理者がアプリケーションを分類しない場合でも、アプリケーションデータベースファクトリ１１０によって、コレクションデータが分類されるようになっている。
【００５８】
アプリケーションがネットワーク管理者によっていったん分類される(classified or categorized)と、そのアプリケーション及び関係するカテゴリが、アプリケーションインベントリデータベース１０３に格納される。その後、ワークステーションアップロード／ダウンロードモジュール１０４が、ワークステーション管理モジュール２００（図２参照）に、アプリケーションインベントリデータベース１０３又はその一部を規定通りにコピーする。例えば、アプリケーションインベントリデータベース１０３からのデータが、ハッシュ／ポリシーテーブル２０４にコピーされる。
【００５９】
ポリシーデータベース１０９内のポリシーは、アプリケーションインベントリデータベース１０３からのダウンロードデータに組み入れられるか、又はアプリケーションデータベース１０３と分離してダウンロードされる。イメージされるように、システムは、何千ものワークステーション管理モジュール２００を含むことができる。それぞれのワークステーションは、ハッシュ／ポリシーテーブル２０４に更新後のデータを提供するために、ワークステーションアップロード／ダウンロードモジュール１０４によって、定期的にアップデートされる。
【００６０】
いくつかの実施の形態では、ワークステーションアップロード／ダウンロードモジュール１０４は、アプリケーションインベントリデータベース１０３のいくつかの部分を転送する。例えば、ワークステーション管理モジュール２００は、アップデートされたデータを受信することができるので、データベース全体が転送される必要はない。
【００６１】
別の実施の形態では、ワークステーション管理モジュール１０４が、アプリケーションインベントリデータベース１０３からのデータのサブセットを受信する。例えば、選択されたデータは、ハッシュ値であってもよい。次に、ポリシーデータベース１０９からのポリシーが、ハッシュ値に組み入れられて、ワークステーション管理モジュール１０４にダウンロードされる。図９は、アプリケーションサーバモジュール１０２によって実行されるプロセスを示すフローチャートであり、後に図９を参照してそのプロセスを説明する。
【００６２】
図３に示したように、ファクトリアップロード／ダウンロードモジュール１０５は、アプリケーションインベントリデータベース１０３からアプリケーションデータベースファクトリ１１０へデータを転送するように構成されている。アップロードは、ネットワーク管理者によって必要とされたサービス水準に応じて、即座に行われても、定期的に行われてもよい。例えば、通常の執務時間後おける日常的なアップロードでもよい。
【００６３】
ファクトリアップロード／ダウンロードモジュール１０５は、要求頻度を参照することによって、アプリケーションデータベースファクトリ１１０へのアップロードの伝送に関して、アプリケーションインベントリデータベース１０３内のアプリケーションを最優先させることができる。また、ファクトリアップロード／ダウンロードモジュール１０５は、未分類のアプリケーションデータベース１０８を参照することによって、アプリケーションデータベースファクトリ１１０へのアップロードのためのコレクションデータを選択することができる。
【００６４】
また、未分類のアプリケーションデータベース１０８からのデータが、アプリケーションデータベースファクトリ１１０にアップロードされる必要がある場合には、ファクトリアップロード／ダウンロードモジュール１０５は、要求頻度を参照することによって、未分類のアプリケーションデータベース１０８から、アプリケーションデータベースファクトリ１１０へのアップロードのためのアプリケーションを選択することができる。このように、要求頻度を利用することによって、アプリケーションデータベースファクトリ１１０への伝送に関して、未分類のアプリケーションデータベース１０８内のアプリケーションを最優先させることができる。
【００６５】
ファクトリアップロード／ダウンロードモジュール１０５は、ネットワーク管理者によって分類されたアプリケーションを、さらにアップロードすることができる。上記のように、ネットワーク管理は、分類ユーザインタフェース１０６を介して、アプリケーションを分類(classify)するか、又はカテゴライズすることができる。このように、アプリケーションデータベースファクトリ１１０は、アプリケーションサーバモジュール１０２から、新たに分類されたアプリケーションを受信する。イメージすることができるように、アプリケーションデータベースファクトリ１１０は、数千のアプリケーションサーバモジュール１０２から、アプリケーション及び関連するカテゴリを受信することができる。
【００６６】
ワークステーションアップロード／ダウンロードモジュール１０４は、アップロード／ダウンロードモジュール２０３（図２参照）から、クライアントインベントリモジュール２０２によって取得されたインベントリを受信することができる。いったんアプリケーションサーバモジュール１０２に対するアップロードが行われると、ネットワーク管理者は、どのようなアプリケーションが、各ワークステーション１０１で使用されているかを判断するために、１つ又はそれ以上のインベントリをレビューすることができる。そのインベントリは、分類されたアプリケーションと同様に未分類のアプリケーションを含むことができる。ＬＡＮ１００の構築によって、ネットワーク管理者は、ワークステーション管理モジュール２００（図２参照）にある１つ又はそれ以上のインベントリをレビューすることができる。
【００６７】
図４は、アプリケーションに関係するペアレントグループ及びカテゴリのデータベースに関する１つの実施の形態を示す表である。図示した実施の形態では、データベースに示されたカテゴリの１つ又はそれ以上のものが、さらに危険度に関係している。危険度に関する例には、セキュリティ、ライアビリティ（責任）及びプロダクティビティ（生産性）などがある。規則／ポリシーと各アプリケーションとの間に関係がある場合には、危険度は、ネットワーク管理者にとって有用である。さらに、いくつかの実施の形態では、各規則／ポリシーが、各カテゴリに関係する危険度に基づくアプリケーションに関連している。
【００６８】
図４に示したように、アプリケーションに関する代表的なカテゴリは、オペレーティングシステム、ウイルス駆除ソフト、コンタクトマネージャ、コラボレーション(collaboration)、メディアプレーヤ、アダルト、及び悪質なアプレットとスクリプトなどを含んでいる。さらに、ペアレントグループに、カテゴリを分類することができる。例えば、ペアレントグループは、システム、アクセス／プライバシー、生産性、通信、オーディオ／ビデオ、エンターテインメント、及びマルウエア（malware）を含んでいてもよい。
【００６９】
ペアレントグループ及び／又はカテゴリのそれぞれに対して、ネットワーク管理者は、それに関係する個々のポリシー又は規則を選択することができる。このように、要求されたアプリケーションがいったん分類されると、アプリケーションサーバモジュール１０２は、そのカテゴリに関係するポリシー又は規則を選択することができるようになる。
【００７０】
図５は、インターネット１０８に接続されたアプリケーションデータベースファクトリ１１０を示すブロック図である。アプリケーションデータベースファクトリ１１０は、関連データの格納部を備える１つ又はそれ以上のコンピュータ又はサーバとして提供されてもよい。また、アプリケーションデータベースファクトリ１１０は、アプリケーションサーバモジュール１０２へアプリケーションインベントリデータベースを提供し、未分類のアプリケーション及びその他の情報に関係するデータを処理する。例えば、アプリケーションインベントリデータベース１０３からの使用頻度を処理することができる。１つの実施の形態では、アプリケーションデータベースファクトリ１１０は、未分類のアプリケーション及びアプリケーションサーバモジュール１０２からのアプリケーションに関係するあらゆる追加データを受信して、アプリケーションサーバモジュールに、分類されたアプリケーションをダウンロードする。また、アプリケーションデータベースファクトリ１１０は、アプリケーションに対する要求頻度をアップロードすることもできる。
【００７１】
アプリケーションデータベースファクトリ１１０は、アップロード／ダウンロードモジュール３０１、マスターアプリケーションデータベース３００、及びアプリケーションアナリスト分類モジュール３０２を含むことができる。マスターアプリケーションデータベース３００は、未分類アプリケーションデータベース３０３を含むことができる。
【００７２】
アップロード／ダウンロードモジュール３０１の機能の１つに、アプリケーションサーバモジュール１０２から、コレクションデータ（例えば、アプリケーション及びアプリケーションに関係しているあらゆる追加データ）を受信することがある。１つの実施の形態では、コレクションデータは、未分類アプリケーションデータベース１０８からのアプリケーション、及びアプリケーションインベントリデータベース１０３からのアプリケーションを含んでいる。コレクションデータには、アプリケーションインベントリデータベース１０３（図３参照）で見つけられたアプリケーションに対する要求頻度、未分類アプリケーションデータベース１０８で見つけられたアプリケーションに対する要求頻度、トレースＩＤ、及びアプリケーションサーバモジュール１０２で使用される第一の言語などが含まれる。
【００７３】
アップロード／ダウンロードモジュール３０１は、ファクトリアップロード／ダウンロードモジュール１０５からのコレクションデータを受信する。また、アップロード／ダウンロードモジュール３０１は、コレクションデータを処理する。その処理には、複数のアプリケーションサーバモジュール１０２から送信されるコレクションデータに関する言語を統合すること、ソートすること、決定することなどがある。アップロード／ダウンロードモジュール３０１は、コレクションデータの各アプリケーションの分類を必要とするか否かを判断する。アプリケーションが予め分類されていなかった場合には、アプリケーションアナリスト分類モジュール３０２は、アップロード／ダウンロードモジュール３０１から、アプリケーション、及びアプリケーションに関係しているあらゆる追加データを受信する。
【００７４】
アプリケーションアナリスト分類モジュール３０２は、マスターアプリケーションデータベース３００と接続されている。アプリケーションアナリスト分類モジュール３０２は、マスターアプリケーションデータベース３００からのデータを操作して、管理するように構成されている。また、アプリケーションアナリスト分類モジュール３０２は、マスターアプリケーションデータベース３００から、アプリケーション及びそれらの関係データを受信する。それらの関係データには、例えば、アプリケーションに対応する発行者及びスイートが含まれる。
【００７５】
アプリケーションアナリスト分類モジュール３０２は、分類されたアプリケーションを含むマスターアプリケーションデータベース３００に、次に追加されるアプリケーションを分類(classify)又はカテゴライズする。人間のレビュアは、アプリケーションアナリスト分類モジュール３０２と相互作用し、分類又は再分類を実行する。図１３は、アプリケーションデータベースファクトリ１１０でアプリケーションを分類又はカテゴライズする処理の手順を示すフローチャートである。
【００７６】
人間のレビュアは、１セットのＰＣベースのソフトウエアツールによって、マスターアプリケーションデータベース３００から送信されるアプリケーションを操作し、精査し、又は管理することができる。また、人間のレビュアは、グラフィカルユーザインタフェース（ＧＵＩ）を介して、アプリケーションアナリスト分類モジュール３０２と相互に交信することができる。このように、ＧＵＩによって、人間のレビュアに対して、マスターアプリケーションデータベース３００を操作して、管理するためのグラフィックインタフェースツールが提供される。
【００７７】
このＧＵＩは、アプリケーションＩＤ及び関連するテキスト情報の表示を含んでいる。また、ＧＵＩは、人間のレビュアの生産性を高めるために、アルゴリズム的に派生したヒントが予めロードされたボタンを含むことができる。例えば、アプリケーションのソースとして識別されるＵＲＬに基づいて、これらのアイデンティティを選択することができる。代表的なＧＵＩに関しては、図６を参照して後に説明する。
【００７８】
アプリケーションアナリスト分類モジュール３０２は、マスターアプリケーションデータベース３００から、アプリケーションとそれらに関係するデータとを選択するように構成されている。また、アプリケーションアナリスト分類モジュール３０２は、マスターアプリケーションデータベース３００から送信されるアプリケーションのサブセットを選択するために、規則を利用することができる。これらの規則は、例えば、カテゴリ、言語、スイート、日付、及びソースディレクトリに依存するものでもよい。さらに、アプリケーションアナリスト分類モジュール３０２は、マスターアプリケーションデータベース３００から、分類又は再分類用のサブセットを選択するために、その規則に関連して、ＳＱＬ質問を使用することができる。
【００７９】
アプリケーションアナリスト分類モジュール３０２は、１つ又はそれ以上の適切なカテゴリを決定するために、各アプリケーション、コレクションデータ、アプリケーションに関係するあらゆるテキストオブジェクト、アプリケーションに関係するあらゆる追加データ、及びコレクションデータとは独立の検索されたあらゆる追加データを分析することができる。代表的な独立データには、コレクションデータを利用するインターネット検索によるデータがある。また、分類は、単語分析、適応学習システム及び画像分析に基づいてもよい。
【００８０】
１つの実施の形態では、アプリケーションアナリスト分類モジュール３０２は、インターネット１０８にアクセスして、アプリケーション及びコレクションデータに基づく検索を実行する。１つの実施の形態では、アプリケーションの発行者と共に予めロードされたＧＵＩボタンが、インターネット検索を開始するために、人間のレビュアによって選択される。インターネット検索は、アプリケーションを分類するために、アプリケーションアナリスト分類モジュール３０２に対して、追加情報を伴うアプリケーションアナリスト分類モジュール３０２を提供することができる。
【００８１】
例えば、検索によって、コンピュータのアドレスである一定のリソースロケータ（ＵＲＬ）、又はアプリケーション用の分類プロセスに関係するインターネット上のドキュメントを識別することができる。このＵＲＬは、コミュニケーションプロトコルに続く、コロン及び２つのスラッシュ（例えば、http://）、コンピュータの識別子、及び通常ファイルへのディレクトリへのパスによって構成されている。
【００８２】
コンピュータの識別子は、ドメイン名、例えば、www.m-w.com、又はインターネットプロトコル(I.P.)アドレス、例えば123.456.789.1.の形であってもよい。アドレス、それのコンポーネント（例えば、Ｉ．Ｐ．アドレス、ドメイン名、及び通信プロトコル）がしばしば使われる。そうでない場合は、インターネット上のコンピュータ又はドキュメントを特定するために、別の位置識別子が使用される。なお、以下においては、説明を容易にするために用語としてＵＲＬを使用する。アプリケーションアナリスト分類モジュール３０２は、アプリケーションを分類する際の助けに、アプリケーションに関係するハッシュ及び／又はＵＲＬを利用することができる。
【００８３】
いったん分類されると、アプリケーションアナリスト分類モジュール３０２は、関係する１つ又はそれ以上のカテゴリに沿ったアプリケーションを、アプリケーションのマスターアプリケーションデータベース３００に転送し格納する。アプリケーション用のマスターアプリケーションデータベースは、アプリケーションとそれらの関連カテゴリとを含むことができる。マスターアプリケーションデータベース３００は、Oracle、Sybase、Informix、Microsoft Server、Accessなどの関連するデータベース管理システムに格納されていてもよい。テキストオブジェクトポスティングシステムは、このポスティングを実行することができる。図１３は、アプリケーションアナリスト分類モジュール３０２によって実行されるプロセスを示す詳細なフローチャートである。
【００８４】
いったん、アプリケーションアナリスト分類モジュール３０２が、マスターアプリケーションデータベース３００に、アプリケーション及びそれに関係する１つのカテゴリ又は複数のカテゴリを格納すると、アップロード／ダウンロードモジュール３０１は、その後、アプリケーションサーバモジュール１０２に、マスターアプリケーションデータベース３００を定常的にコピーする。イメージされるように、このシステムは、何千ものアプリケーションサーバモジュール１０２を含むことができる。また、それぞれのアプリケーションサーバモジュール１０２は、アップロード／ダウンロードモジュール３０１によって定期的にアップデートされ、分類されたアプリケーションに関する更新後のデータベースが提供される。
【００８５】
さらに、アップロード／ダウンロードモジュール３０１は、アプリケーションサーバモジュール１０２に、マスターアプリケーションデータベース３００のアップデート部などを部分的に伝送することができるので、データベース全体が伝送されなくてもよい。図１１は、アプリケーションデータベースファクトリ１１０によって実行されるプロセスを示すフローチャートである。後に図１１を参照してフローチャートを説明する。
【００８６】
いくつかの実施の形態では、アプリケーションアナリスト分類モジュール３０２は、その後、アプリケーションサーバモジュール１０２にダウンロードを行うために、マスターアプリケーションデータベース３００から選択された、分類されたアプリケーションを処理することができる。
【００８７】
図６は、アプリケーションアナリスト分類モジュール３０２（図５参照）に関するグラフィカルユーザインタフェースの１つの実施の形態に係る画面を示す図である。図６で、強調して表示されているアプリケーションファイル名は、”cmdide.sys”である。そのア
プリケーションの名称は、「CMD PCI IDE Bus Driver」である。この例では、アプリケーションデータベースファクトリ１１０にアップロードされた追加情報は、発行者として、CMD Technology, Inc.、及びその関連のスイートとして、Microsoft Windows Operating Systemを含んでいる。アプリケーションアナリスト分類モジュール３０２は、アプリケーションを分類する際の手助けとして、人間のレビュアに、この情報を表示する。
【００８８】
図６に示したように、アプリケーション（CMD PCI IDEバスドライバ）は、”http://www.microsoft.com//ddk/ifskit/links.asp”というＵＲＬに関連していた。この例では、
このアプリケーションは、アプリケーションアナリスト分類モジュール３０２によって、アクセス／プライバシーという名称のペアレントグループに分類された。アプリケーションアナリスト分類モジュール３０２は、このアプリケーションを、さらに分類することができる。
【００８９】
例えば、アクセス／プライバシーという名称のペアレントグループでは、ウイルス駆除ソフト、認証、暗号化、ファイアウォール、ハッキング、遠隔アクセス、スパイウエア、又はシステム検査の下で、アプリケーションが分類される。カテゴリのグループ分けには、１つ又はそれ以上の危険度を使用することができる。規則／ポリシーと各アプリケーションとを関係付けると、危険度が、ネットワーク管理者の役に立つ場合がある。上記のように、１つ又はそれ以上のカテゴリを、１つのアプリケーション又はハッシュ値に関係付けるのがよい。
【００９０】
図７は、ワークステーション１０１上で、要求されたアプリケーションの実行を監視して、制御するプロセスを示すフローチャートである。このプロセスは、スタートステップ７００でスタートする。次に、ステップ７０２で、ワークステーション１０１のユーザが、アプリケーションを開始させる。開始されたアプリケーションは、ワークステーション１０１に対する所定のスタートアップシーケンスに応答することができる。
【００９１】
例えば、ワークステーション１０１は、パワーオンスタートアップに基づいて、１つ又はそれ以上のアプリケーションを開始するようにプログラムすることができる。動作開始検出モジュール２１０（図２参照）が、アプリケーションの開始を検出する。次に、ステップ７０４へ進み、アプリケーションダイジェストジェネレータ２０１が、開始されたアプリケーションに関係するデータのダイジェストを生成する。そのダイジェストされたデータは、コレクションデータの形であってもよい。このコレクションデータは、例えば、発行者、スイート、１つ又はそれ以上のハッシュ、及びソースディレクトリを含むことができる。
【００９２】
次に、デシジョンステップ７０６へ進み、そこで、動作開始検出モジュール２１０が、アプリケーションダイジェストジェネレータ２０１によって生成されたハッシュ／ポリシーテーブル２０４に準備されているアプリケーションダイジェストを比較する。例えば、アプリケーションダイジェストジェネレータ２０１によって作成されたハッシュと、ハッシュ／ポリシーテーブル２０４内のハッシュとを比較する。１つの実施の形態では、複数の異なったハッシュを生成させて、ハッシュ／ポリシーテーブル２０４からのハッシュと比較する。例えば、ＭＤ−５ハッシュ及びＳＨＡ−１ハッシュが、要求されたアプリケーションに対して生成され、それらのハッシュと、ハッシュ／ポリシーテーブル２０４内のＭＤ−５ハッシュ及びＳＨＡ−１ハッシュとが比較される。
【００９３】
そのハッシュが、ハッシュ／ポリシーテーブル２０４内に格納されているハッシュに対応している場合には、ステップ７１０へ進み、そこで、要求されたアプリケーションの開始に応答して、ハッシュに関係するポリシーを適用する。例えば、これらのポリシーは、アプリケーションの実行を許可すること、アプリケーションの実行を拒否すること、アプリケーションの実行が、ネットワーク管理者による精査をさらに受信すること又はアプリケーションを実行するためのある長さの時間の許可であることをユーザに警告することを含むことができる。この場合、特定の時間が経過した後では、アプリケーションがワークステーション１０１上で動作し続けることを、動作開始検出モジュール２１０が許可しない。
【００９４】
次に、ステップ７１２で、動作開始検出モジュール２１０が、ロギングデータベース２０６にそのイベントを記録する。このように、ワークステーション１０１上での実行が許可されたアプリケーションについては、記録が維持される。次に、ステップ７１４へ進み、動作開始検出モジュール２１０は、ワークステーション１０１における別のアプリケーションの開始を検出するために、システムを監視する。
【００９５】
ハッシュ／ポリシーテーブル２０４から検索された情報は、ハッシュ値に関係するポリシーをさらに含んでいる。１つの実施の形態では、ハッシュ値に対応するカテゴリ情報は、ポリシーを選択する際に利用される。例えば、ハッシュ値は、ペアレントグループ及び／又はカテゴリに関係していてもよい。また、ペアレントグループ及び／又はカテゴリは、ポリシーに関係していてもよい。
【００９６】
デシジョンステップ７０６に戻り、アプリケーションダイジェストが、ハッシュ／ポリシーテーブル２０４内の分類されたアプリケーション又はハッシュに対応していないと判断した場合には、ステップ７１６へ進む。ステップ７１６では、動作開始検出モジュール２１０が、アプリケーションを実行するという要求に対して、未分類のアプリケーションポリシーを適用する。
【００９７】
未分類のアプリケーションポリシーは、例えば、アプリケーションに実行を許可すること、アプリケーションの実行を拒否すること、又は、アプリケーションの要求に対して追加の精査が適用される予定であることをユーザに警告すること、一方、アプリケーションがワークステーション１０１上での実行を許可される時間が制限されることを含むことができる。
【００９８】
次に、ステップ７１８へ進み、アプリケーションを実行するという要求が、ロギングデータベース２０６に登録される。さらに、ステップ７１４へ進み、上記のように、動作開始検出モジュール２１０は、ワークステーション１０１上の別のアプリケーションが開始されるのを待つ。
【００９９】
図８は、アプリケーションサーバモジュール１０２で、コレクションデータをアップロード及びダウンロードするために、ワークステーション１０１によって実行されるプロセスを示すフローチャートである。プロセスはスタートステップ８００でスタートする。次に、ステップ８０２で、アップロード／ダウンロードモジュール２０３が、ワークステーションアップロード／ダウンロードモジュール１０４から入力信号を受信する。
【０１００】
次に、デシジョンステップ８０４へ進み、アップロード／ダウンロードモジュール２０３が、アプリケーションサーバモジュール１０２から、ハッシュ／ポリシーテーブル２０４をダウンロードするという要求を受信する。ダウンロードファイルを受信するための時間は、周期的でも、ランダムでも、別のセットされた時間でもよく、又はポーリングに応答することでもよい。アップロード／ダウンロードモジュール２０３及び／又はワークステーションアップロード／ダウンロードモジュール１０４は、ワークステーション管理モジュール２００へのダウンロードを開始することができる。
【０１０１】
ステップ８０４で、アップロード／ダウンロードモジュール２０３が、アプリケーションサーバモジュール１０２からダウンロードするという要求を受信していると判断した場合には、ステップ８０６へ進む。ステップ８０６で、アップロード／ダウンロードモジュール２０３が、ハッシュ／ポリシーテーブル２０４又はその一部を受信して、格納する。
【０１０２】
例えば、アプリケーションサーバモジュール１０２は、ハッシュ／ポリシーテーブル２０４にコピーするために、アプリケーションインベントリデータベース１０３からのデータ、及びポリシーデータベース１０９からのポリシーを選別することができる。アプリケーションインベントリデータベース１０３は、アプリケーションデータベースファクトリ１１０によって分類されたアプリケーション、分類ユーザインタフェース１０６を介して分類されたアプリケーションなどを含むことができる。
【０１０３】
いくつかの実施の形態では、ワークステーションアップロード／ダウンロードモジュール１０４は、ハッシュ／ポリシーテーブル２０４の一部を伝送する。例えば、アップロード／ダウンロードモジュール２０３は、すべてのデータベースを伝送する必要がないように、アップデートを受信することができる。他の実施の形態では、アップロード／ダウンロードモジュール２０３は、アプリケーションインベントリデータベース１０３から、データのサブセットを受信する。例えば、選択されたデータは、ポリシーと組み合わされたハッシュ値であってもよい。
【０１０４】
ダウンロードされたデータは、既存のハッシュ／ポリシーテーブル２０４をアップデートすることができる。また、ダウンロードされたデータは、１つ又はそれ以上のソースからのコレクションデータの形であってもよい。そのソースは、分類ユーザインタフェース１０６及びアプリケーションデータベースファクトリ１１０を含むことができる。
【０１０５】
上記のように、コレクションデータは、アプリケーションに関係するあらゆる追加データを含むことができる。例えば、アプリケーションインベントリデータベースからのアプリケーションに関係する要求頻度、及び／又は未分類のアプリケーションデータベース１０８からのアプリケーションに関係する要求頻度、及び／又はインジケータである。次に、ステップ８１０へ進み、アップロード／ダウンロードモジュール２０３は、アプリケーションサーバモジュールから次の開始信号を受信するのを待つ。
【０１０６】
デシジョンステップ８０４に戻り、アップロード／ダウンロードモジュール２０３が、アプリケーションサーバモジュール１０２からダウンロードを要求されていないと判断した場合には、デシジョンステップ８１２へ進む。ステップ８１２では、アプリケーションサーバモジュール１０２は、ワークステーション１０１上のアプリケーションのインベントリ（リスト）を要求することができる。アプリケーションサーバモジュール１０２が、ワークステーション１０１上のアプリケーションのインベントリを要求する場合には、ステップ８１４へ進む。ステップ８１４で、クライアントインベントリモジュール２０２が、ワークステーション１０１上のアプリケーションのインベントリを作成する。
【０１０７】
クライアントインベントリモジュール２０２が、ワークステーション１０１上のアプリケーションのリストを編集すると、ステップ８１５へ進む。ステップ８１５で、アプリケーションダイジェストジェネレータ２０１が、各アプリケーションに関連するデータのダイジェストを生成する。また、アプリケーションダイジェストジェネレータ２０１は、アプリケーションに関する特性を分析する。そのような特性には、例えば、アプリケーションに関係する名称、発行者、スイート、ハッシュ及びバージョンを含んでいる。
【０１０８】
次に、ステップ８２４へ進む。ステップ８２４で、アプリケーション及びダイジェストが、ロギングデータベース２０６に格納される。次に、デシジョンステップ８２０へ進む。ステップ８２０で、クライアントインベントリモジュール２０２は、リストにあるすべてのアプリケーションが、ロギングデータベース２０６に格納されたか否かを判断する。リストにあるすべてのアプリケーションが処理されていない場合には、ステップ８２４に戻る。ステップ８２４で、クライアントインベントリモジュール２０２によってリストが作成された次のアプリケーションが、上記のように処理される。
【０１０９】
デシジョンステップ８２０に戻り、すべてのアプリケーションが処理された場合には、ステップ８１０へ進む。ステップ８１０で、アップロード／ダウンロードモジュール２０３は、アプリケーションサーバモジュールから開始信号を待つ。
【０１１０】
デシジョンステップ８１２に戻り、インベントリが、アプリケーションサーバモジュール１０２によって要求されていない場合には、デシジョンステップ８２６へ進む。ステップ８２６で、アプリケーションサーバモジュール１０２は、未分類のアプリケーションに関するロギングデータベース２０６から、コレクションデータだけを要求しているか否かを判断する。アプリケーションサーバモジュール１０２が、未分類のアプリケーションに関するデータだけを要求している場合には、ステップ８２８へ進む。
【０１１１】
ステップ８２８で、アップロード／ダウンロードモジュール２０３は、アプリケーションサーバモジュール１０２にアップロードするために、ロギングデータベース２０６から、未分類のアプリケーションに関連しているデータを抽出して、フォーマットする。次に、ステップ８３０に進む。ステップ８３０で、未分類のアプリケーションに関係するデータが、アプリケーションサーバモジュール１０２に伝送される。
【０１１２】
アプリケーションサーバモジュール１０２にアップロードされるコレクションデータは、フォーマット済みでもよく、未フォーマットでもよい。さらに、コレクションデータは、コード化されていてもよく、及び／又は圧縮されていてもよい。ワークステーションアップロード／ダウンロードモジュール１０４は、復号化及び／又は非圧縮が要求されている場合には、コレクションデータを復号し、解凍する。また、ワークステーションアップロード／ダウンロードモジュール１０４は、コレクションデータを、アプリケーションのリスト及びアプリケーションに関係するあらゆる追加データに再構成する。さらに、ワークステーションアップロード／ダウンロードモジュール１０４は、コレクションデータを統合し、ソートする。
【０１１３】
次に、ステップ８１０へ進み、ステップ８１０で、ワークステーション管理モジュール２００は、アプリケーションサーバモジュール１０２から、次の開始信号を受信するのを待つ。
【０１１４】
デシジョンステップ８２６に戻り、アプリケーションサーバモジュール１０２が、ロギングデータベース２０６から未分類のアプリケーションに関するコレクションデータだけを要求されていない場合には、ステップ８３２へ進む。ステップ８３２で、アップロード／ダウンロードモジュール２０３が、ロギングデータベース２０６内のアプリケーションデータのすべてを抽出し、フォーマットする。
【０１１５】
このデータは、ハッシュ／ポリシーテーブル２０４内にリストアップされているアプリケーションに関する分類されたデータ、及びハッシュ／ポリシーテーブル２０４内にリストアップされていないアプリケーションに関する未分類のデータを含むことができる。コレクションデータは、フォーマット済みでも、未フォーマットでもよい。さらに、コレクションデータは暗号化及び／又は圧縮されていても、されていなくてもよい。
【０１１６】
次に、ステップ８３０へ進み、ステップ８３０で、ロギングデータベース２０６からのデータが、アプリケーションサーバモジュール１０２にアップロードされる。次に、上記のステップ８３０へ進む。ステップ８３０で、ワークステーション管理モジュール２００は、アプリケーションサーバモジュール１０２から、開始信号を受信するのを待つ。
【０１１７】
図９は、ワークステーション１０１でコレクションデータをアップロードし、ダウンロードするために、アプリケーションサーバモジュール１０２によって実行される処理を示すフローチャートである。プロセスはスタートステップ９００でスタートする。次に、デシジョンステップ９０２で、ワークステーションアップロード／ダウンロードモジュール１０４が、ワークステーション管理モジュール２００へのダウンロードを行うか否かを判断する。ダウンロードを受信するための時間は、周期的でもよく、ランダムでもよく、セットされた時間でもよく、ポーリングに応答することでもよい。
【０１１８】
ワークステーションアップロード／ダウンロードモジュール１０４、及び／又はアップロード／ダウンロードモジュール２０３は、ワークステーション管理モジュール２００へのダウンロードを開始することができる。ワークステーションアップロード／ダウンロードモジュール１０４が、ワークステーション管理モジュール２００にダウンロードする必要がある場合には、ステップ９０４へ進む。ステップ９０４で、ワークステーションアップロード／ダウンロードモジュール１０４が、ポリシーデータベース１０９からポリシーデータを抽出する。ポリシーデータベース１０９は、ペアレントグループへのアクセスの許可、及び／又はダウンロードを受信するワークステーションに基づいた各アプリケーションに関連しているカテゴリへのアクセスの許可に関係する。
【０１１９】
例えば、ワークステーションが、ゲームに関連するアプリケーションを実行するように指定されていない場合には、ポリシーデータベース１０９は、そのワークステーション用のゲームに関係するペアレントグループ又はカテゴリを識別する。ネットワーク管理者は、分類ユーザインタフェース１０６を介して、ポリシーデータベース１０９をアップデートすることができる。ポリシーデータベース１０９は、各ワークステーション１０１に対する異なったアクセス権を含むことができる。このように、異なったアクセス権を含むワークステーション１０１は、そこで動作するアプリケーションに関係する、異なったポリシーを有することができる。
【０１２０】
次に、ステップ９０６へ進む。ステップ９０６で、ワークステーションアップロード／ダウンロードモジュール１０４は、このワークステーションに対して指定されたポリシーに関連するアプリケーションインベントリデータベース１０３から、ハッシュ／ポリシーテーブルを作成する。各ペアレントグループ及び／又はカテゴリは、ダウンロードを受信する１つ又はそれ以上のワークステーションのそれぞれに対するポリシーデータベース１０９から抽出されたポリシーに関係している。アプリケーションインベントリデータベース１０３内の各アプリケーション又はハッシュは、ペアレントグループ及び／又はカテゴリに関係していてもよい。
【０１２１】
上記の例に続いて、ワークステーションアップロード／ダウンロードモジュール１０４は、ゲームに関係するペアレントグループ、又はカテゴリに関係するアプリケーションに関するアプリケーションインベントリデータベース１０３から、ハッシュ値を選択する。このように、同じアプリケーションが、１つのワークステーションで動作することが許されるが、異なったワークステーションで動作することは許されない。
【０１２２】
次に、ステップ９０８へ進み、ワークステーションアップロード／ダウンロードモジュール１０４が、ハッシュ／ポリシーテーブル２０４又はその一部を、アップロード／ダウンロードモジュール２０３に伝送する。ダウンロードファイルは、アプリケーションの名称、ハッシュ値、関係するカテゴリ、及び／又は関係するポリシーを含むことができる。次に、エンドステップ９１０へ進む。
【０１２３】
デシジョンステップ９０２へ戻り、ワークステーションアップロード／ダウンロードモジュール１０４が、ワークステーション１０１に対するダウンロードを行っていない場合には、デシジョンステップ９１２へ進む。ステップ９１２で、ワークステーションアップロード／ダウンロードモジュール１０４が、ワークステーションインベントリのアップロードを要求するか否かを判断する。ワークステーションインベントリは、ロギングデータベース２０６のすべて又は一部を含むことができる。
【０１２４】
ワークステーションアップロード／ダウンロードモジュール１０４が、ワークステーション１０１からのアップロードを要求する場合には、ステップ９１４へ進む。ステップ９１４で、アプリケーションサーバモジュール１０２によって、要求がアップロード／ダウンロードモジュール２０３へ伝送される。次にステップ９１６へ進み、ステップ９１６では、ワークステーションアップロード／ダウンロードモジュール１０４が、ワークステーション１０１から、要求されたアップロードを受信する。アップロードされるデータは、フォーマット済みでも、未フォーマットでもよい。さらに、アップロードされるデータは、暗号化及び／又は圧縮されていても／又はされていなくてもよい。
【０１２５】
次のステップ９１８で、復号化及び／又は非圧縮が必要である場合には、ワークステーションアップロード／ダウンロードモジュール１０４は、アップロードされたデータを復号し、解凍する。
【０１２６】
次に、ステップ９２０へ進む。ステップ９２０で、ワークステーションアップロード／ダウンロードモジュール１０４は、アプリケーションのリスト及びアプリケーションに関係するあらゆる追加データに、アップロードされたデータを再構成する。ワークステーションアップロード／ダウンロードモジュール１０４は、別のワークステーションインベントリにとって重要な頻度数を含む収集されたデータを統合し、ソートする。
【０１２７】
このシステムは、何千ものワークステーション管理モジュールを含むことができる。それらのモジュールは、それぞれ、そのロギングデータベース２０６からデータを定期的にアップロードする。上記のように、アップロードされたデータは、例えばディレクトリロケーションなどのアプリケーションに関係するあらゆる追加データを含むことができる。
【０１２８】
ワークステーションアップロード／ダウンロードモジュール１０４は、アプリケーション又はアプリケーションに関係するあらゆる追加データに基づくアップロードされたデータを統合し、ソートすることができる。例えば、ワークステーションアップロード／ダウンロードモジュール１０４は、１つ又はそれ以上のワークステーション１０１からのアプリケーションをソートし、統合するために、要求頻度を参照することができる。
【０１２９】
図１０は、アプリケーションサーバモジュール１０２で、アプリケーションを分類するプロセスを示すフローチャートである。プロセスはスタートステップ１０００でスタートする。次に、ステップ１００２で、ネットワーク管理者は、ＧＵＩを介して、分類ユーザインタフェース１０６をスタートさせる。このＧＵＩは、ネットワーク管理者が、アプリケーションインベントリデータベース１０３を操作して管理するグラフィックインタフェースツールを提供する。また、ネットワーク管理者は、レビューと分類を行うために、未非分類のアプリケーションデータベース１０８から、アプリケーション及び／又は関連するデータのリストを抽出する。
【０１３０】
次に、ステップ１００４へ進む。ステップ１００４で、アプリケーション及びあらゆる関連データが、レビューを行うために、ネットワーク管理者によって表示される。
次に、ステップ１００６へ進み、ステップ１００６で、ネットワーク管理者が、表示されたデータに基づいてアプリケーションを分類する。さらに、ステップ１００８へ進む。ステップ１００８から、未分類のアプリケーションデータベース１０８から抽出された各アプリケーションに関係するステップ１００４と１００６に戻る。
【０１３１】
図１１は、アプリケーションサーバモジュール１０２へのマスターアプリケーションデータベース３００のダウンロードプロセス、及びアプリケーションサーバモジュール１０２からの登録されたアプリケーションデータのアップロードプロセスを示すフローチャートである。プロセスはスタートステップ１１００でスタートする。
【０１３２】
次に、ステップ１１０２へ進み、ステップ１１０２で、ファクトリアップロード／ダウンロードモジュール１０５が、アプリケーションデータベースファクトリ１１０からの分類されたアプリケーションのダウンロードを要求する。分類されたアプリケーションは、アプリケーションデータベースファクトリ１１０におけるマスターアプリケーションデータベース３００に格納される。分類されたアプリケーションを受信するための時間は、周期的でも、ランダムでも、セットされた時でも、ポーリングに応答する時でもよい。
【０１３３】
ファクトリアップロード／ダウンロードモジュール１０５及び／又はアップロード／ダウンロードモジュール３０１は、アプリケーションサーバモジュール１０２へのダウンロードを開始させることができる。上記のように、ダウンロードされたデータは、アプリケーションに関係するあらゆる追加データを含むことができる。
【０１３４】
次に、デシジョンステップ１１０４へ進む。ステップ１１０４で、ファクトリアップロード／ダウンロードモジュール１０５（図３参照）が、伝送されたすべての未分類のアプリケーションフラグが活性化されているか否かを判断する。ネットワーク管理者は、分類ユーザインタフェース１０６を介して、伝送されたすべての未分類のアプリケーションフラグを選択することができる。伝送されたすべての未分類のアプリケーションフラグが活性化されている場合には、ステップ１１０６へ進む。ステップ１１０６で、ファクトリアップロード／ダウンロードモジュール１０５は、未分類のアプリケーションデータベース１０８から、すべてのアプリケーションを検索する。
【０１３５】
次に、デシジョンステップ１１０８へ進む。ステップ１１０８で、ファクトリアップロード／ダウンロードモジュール１０５は、伝送されたすべてのアプリケーションインベントリフラグが活性化されているか否かを判断する。ネットワーク管理者が、分類ユーザインタフェース１０６を介して、伝送されたすべてのアプリケーションインベントリフラグを活性化してもよい。伝送されたアプリケーションインベントリフラグが活性化されている場合には、ステップ１１１０へ進む。ステップ１１１０で、ファクトリアップロード／ダウンロードモジュール１０５が、アプリケーションインベントリデータベース１０３からのデータを検索する。
【０１３６】
次に、ステップ１１１２へ進み、ステップ１１１２で、例えば、コレクションデータなどの未分類アプリケーション及びそのアプリケーションに関係しているあらゆる追加データをフォーマットすることができる。追加データは、アプリケーションに関係する要求頻度及び／又はインジケータを含むことができる。
【０１３７】
コレクションデータは、フォーマットされている必要はなく、アプリケーションデータベースファクトリ１１０に、直接アップロードされてもよい。さらに、コレクションデータ用のフォーマットの選択は、アプリケーションデータベースファクトリ１１０が、アプリケーションサーバモジュール１０２と関係しているデータ通信のタイプに依存することができる。
【０１３８】
インターネット１０８を介してデータ通信を行うために、ファクトリアップロード／ダウンロードモジュール１０５は、コレクションデータのフォーマットに関して、例えば、エクステンシブルマークアップランゲージ（ＸＭＬ）、スタンダードジェネライズドマークアップ言語（ＳＧＭＬ）、ハイパーテキストマークアップ言語（ＨＴＭＬ）などのマークアップ言語を使用することができる。
【０１３９】
このコレクションデータは、アプリケーションデータベースファクトリ１１０へのアップロードの前に、さらに処理されてもよい。例えば、制限チェックステップ１１１４及び圧縮・暗号化ステップ１１１６で、アプリケーションデータベースファクトリ１１０へのアップロードの前に、コレクションデータの処理を実行することができる。これらのブロックがコレクションデータのアップロードを容易にしている間に、それらが実行される必要はない。また、ステップ１１１４と１１１６とを適用することなく、コレクションデータをアップロードすることができる。このように、処理は代替パス１１１３に従って進むことができる。このように、コレクションデータは、ステップ１１１４及び１１１６が適用されることなく、アプリケーションデータベースファクトリ１１０へ直接アップロードされてもよい。
【０１４０】
さらに処理が望まれている場合には、ステップ１１１４へ進む。ステップ１１１４で、ファクトリアップロード／ダウンロードモジュール１０５は、コレクションデータを、アプリケーションデータベースファクトリ１１０へアップロードするための最大サイズに限定することができる。例えば、１つのワークステーションからのコレクションデータは、最大２０メガバイトに制限される。
【０１４１】
次に、ステップ１１１６へ進む。ステップ１１１６で、コレクションデータは、より少ないスペースに格納されるように圧縮される。さらに、コレクションデータは、例えば、アプリケーションデータベースファクトリ１１０などの認定されたユーザに依らない限り、読み取ることができないように暗号化される。
【０１４２】
次に、ステップ１１１８へ進む。ステップ１１１８で、コレクションデータは、アプリケーションデータベースファクトリ１１０にアップロードされる。上記のように、コレクションデータは、スイート情報などのアプリケーションに関係しているあらゆる追加データを含むことができる。次に、ステップ１１２０へ進む。ステップ１１２０で、アップロード／ダウンロードモジュール３０１は、ファクトリアップロード／ダウンロードモジュール１０５へのダウンロードを続行する。次に、ステップ１１２０へ進み、ダウンロードされたデータが、アプリケーションインベントリデータベース１０３に格納される。
【０１４３】
デシジョンステップ１１０８に戻り、伝送されたすべてのアプリケーションインベントリフラグが、活性化されていない場合には、上記のようにステップ１１１２へ進む。伝送されたすべてのアプリケーションインベントリフラグが活性化されていなかったので、ファクトリアップロード／ダウンロードモジュール１０５は、ステップ１１１２，１１１４，１１１６及び１１１８に関連して説明したように、アプリケーションデータベースファクトリへアップロードするために、ステップ１１０６で検索されたデータをフォーマットする。
【０１４４】
デシジョンステップ１１０４に戻り、伝送されたすべての未分類のアプリケーションフラグが活性化されていなかった場合には、デシジョンステップ１１０８へ進む。ステップ１１０８で、上記のように、ファクトリアップロード／ダウンロードモジュール１０５が、伝送されたすべてのアプリケーションインベントリフラグが、活性化されているか否かを判断する。伝送されたすべてのアプリケーションインベントリフラグが活性化されているか否かに応じて、上記のように処理を続ける。
【０１４５】
図１２は、アプリケーションデータベースファクトリ１１０で、データを収集する手順を示すフローチャートである。プロセスはステップ１２００でスタートする。次に、デシジョンステップ１２０２で、アプリケーションデータベースファクトリ１１０は、アプリケーションサーバモジュール１０２に、マスターアプリケーションデータベース３００をダウンロードすることができる。
【０１４６】
アプリケーションデータベースファクトリ１１０が、アプリケーションサーバモジュール１０２に、マスターアプリケーションデータベース３００をダウンロードする必要がある場合には、ステップ１２０４へ進む。ステップ１２０４で、アップロード／ダウンロードモジュール３０１は、マスターアプリケーションデータベース３００から、分類されたアプリケーションを抽出する。分類されたアプリケーションのサブセットが選択されて、アプリケーションサーバモジュール１０２にダウンロードされてもよい。このサブセットは、発行の準備ができていると考えられる分類されたアプリケーションだけを含むことができる。
【０１４７】
次に、ステップ１２０６へ進み、ステップ１２０６で、マスターアプリケーションデータベース３００から検索されたアプリケーションデータがフォーマットされる。アプリケーションデータは、必ずしもフォーマットされる必要はなく、アプリケーションサーバモジュール１０２へ、直接ダウンロードされてもよい。さらに、データ用のフォーマットは、アプリケーションデータベースファクトリ１１０が、アプリケーションサーバモジュール１０２と関係を有するデータのタイプに応じて選択されてもよい。インターネット１０８を介してデータの通信を行うために、アップロード／ダウンロードモジュール３０１は、例えば、ＸＭＬ、ＳＧＭＬ、ＨＴＭＬなどのマークアップ言語を使用して、コレクションデータをフォーマットすることができる。アプリケーションサーバモジュール１０２へのダウンロードの前に、さらに、ダウンロードされるデータを処理してもよい。
【０１４８】
次に、ステップ１２０８へ進む。ステップ１２０８で、アプリケーションデータが圧縮され、そのアプリケーションデータが占める領域はより小さくなる。さらに、アプリケーションデータは暗号化されるので、例えば、アプリケーションサーバモジュール１０２などの認定ユーザでない限り読み取ることができない。次に、ステップ１２１０へ進み、ステップ１２１０で、アプリケーションデータが、アプリケーションサーバモジュール１０２にダウンロードされる。その後、エンドステップ１２１２へ進む。
【０１４９】
デシジョンステップ１２０２へ戻り、マスターアプリケーションデータベース３００からのアプリケーションデータが、アプリケーションサーバモジュール１０２にダウンロードされない場合には、デシジョンステップ１２１４へ進む。ステップ１２１４で、アプリケーションデータベースファクトリ１１０が、アプリケーションサーバモジュール１０２から、アップロードを受信する。アプリケーションデータベースファクトリ１１０が、アプリケーションサーバモジュール１０２からアップロードを受信する必要がない場合には、エンドステップ１２１２へ進む。
【０１５０】
デシジョンステップ１２１４に戻り、アプリケーションデータベースファクトリ１１０が、アプリケーションサーバモジュール１０２から、アップロードを受信する必要がある場合には、ステップ１２１６へ進む。ステップ１２１６で、アップロード／ダウンロードモジュール３０１が、ファクトリアップロード／ダウンロードモジュール１０５からアップロードを受信する。コレクションデータを受信するための時間は、周期的でも、ランダムでも、セットされた時でも、ポーリングへの応答の時でもよい。
【０１５１】
アップロード／ダウンロードモジュール３０１、及び／又はファクトリアップロード／ダウンロードモジュール１０５は、アプリケーションデータベースファクトリ１１０へのアップロードを開始することができる。上記のように、コレクションデータは、例えば、アプリケーションインベントリデータベース１０３からのアプリケーションに関係している要求頻度、及び／又は未分類のアプリケーションデータベース１０８からのアプリケーションに関係している要求頻度などのアプリケーションに関係するあらゆる追加データを含んでいてもよい。また、コレクションデータは、フォーマットされていても、されていなくてもよい。さらに、コレクションデータは、暗号化及び／又は圧縮されていてもよく、されていなくてもよい。
【０１５２】
ステップ１２１８へ進み、ステップ１２１８で、復号化及び／又は非圧縮が要求されている場合には、アップロード／ダウンロードモジュール３０１は、コレクションデータを復号し、解凍する。次に、ステップ１２２０へ進む。ステップ１２２０で、コレクションデータは、マスターアプリケーションデータベース３００及び未分類のアプリケーションデータベース３０３に統合され、ソートされる。その後、エンドステップ１２１２へ進む。
【０１５３】
図１３は、未分類のアプリケーションデータベース３０３から抽出されたアプリケーションを分類する手順を示すフローチャートである。プロセスはスタートステップ１３００でスタートする。次に、ステップ１３０２へ進む。ステップ１３０２で、アプリケーションアナリスト分類モジュール３０２を介して、ヒューマンレビュアによる分類用の未分類アプリケーションデータベース３０３から、アプリケーションのリストを抽出する。アプリケーションアナリスト分類モジュール３０２は、アプリケーションの適切なカテゴリ又はアプリケーションのカテゴリを決定するために、人間のレビュアにインタフェースで接続される。
【０１５４】
次に、ステップ１３０４で、アプリケーションアナリスト分類モジュール３０２が、アプリケーション及びＧＵＩ上で関係するあらゆるデータを表示するために利用される。関係するデータは、人間のレビュア又はそのアプリケーションが関係するカテゴリを示すことができる。上記のように、アプリケーションアナリスト分類モジュール３０２は、人間のレビュアが、各アプリケーション及びアプリケーションに関係するあらゆる追加データを分析することを許可し、それの適切なカテゴリ又は複数のカテゴリを決定する。
【０１５５】
次に、ステップ１３０６へ進む。ステップ１３０６で、人間のレビュアが、情報に関連するアプリケーション及びインターネットの情報を利用して、アプリケーションをリサーチする。インターネットの情報は、ウェブブラウザサーチエンジンを使用することによって得ることができる。アプリケーションの名称及び関係するあらゆるアプリケーションデータを、インターネット検索に使用することができる。人間のレビュアは、ドキュメント、仕様、マニュアルなどをさらにレビューし、そのカテゴリ又はそのアプリケーションに関係する複数のカテゴリをもっとも適切に決定することができる。
【０１５６】
次に、ステップ１３０８へ進む。ステップ１３０８で、人間のレビュアは、アプリケーションに関係する証拠、関連する情報からのあらゆるヒント、及び／又はその他のリサーチを利用することによって、それぞれのアプリケーションを分類する。
【０１５７】
最後に、ステップ１３１０へ進む。ステップ１３１０で、選択されたカテゴリ又は人間のレビュアが与えられたアプリケーションに関係付けたカテゴリが、マスターアプリケーションデータベース３００に格納される。
【０１５８】
上記のように、様々な実施の形態に適用された本発明に係る新規な特徴を示し、説明し、指摘したが、当業者であれば、本発明の技術的思想を逸脱しない範囲内で、装置又はプロセスに関する形状及び細部に、様々な削除、置換及び変更を行うことが可能であり、それらも本発明の技術的範囲に属することは言うまでもない。本発明に係る技術的範囲は、以上の説明よりもむしろ添付する特許請求の範囲に示されている。また、特許請求の範囲に記載された意味及び均等の範囲に属する変更はすべて、本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【０１５９】
【図１】ワークステーション上のアプリケーションファイルを制御するためのサイト情報収集システムを示すブロック図である。
【図２】ワークステーション管理モジュールを示すブロック図である。
【図３】アプリケーションサーバモジュールを示すブロック図である。
【図４】アプリケーションファイルに関係させることができるペアレントグループ及びカテゴリのデータベースを示す表である。
【図５】アプリケーションデータベースファクトリを示すブロック図である。
【図６】１つの実施の形態に係るアプリケーションアナリスト分類モジュール用のグラフィカルユーザインタフェース（ＧＵＩ）のスクリーンショットを示す図である。
【図７】ワークステーション上で、アプリケーションの開始を監視し、制御するプロセスを示すフローチャートである。
【図８】アプリケーションサーバモジュールに、コレクションデータをアップロード及びダウンロードするためのワークステーションによって実行されるプロセスを示すフローチャートである。
【図９】ワークステーションに、コレクションデータをアップロード及びダウンロードするためのアプリケーションサーバモジュールによって実行されるプロセスを示すフローチャートである。
【図１０】アプリケーションサーバモジュールにおいて、未分類のアプリケーションを分類するプロセスを示すフローチャートである。
【図１１】アプリケーションサーバモジュールからアプリケーションデータベースファクトリへアプリケーションデータをアップロードするプロセスを示すフローチャートである。
【図１２】アプリケーションデータベースファクトリからアプリケーションサーバモジュールへアプリケーションデータをダウンロードするプロセスを示すフローチャートである。
【図１３】アプリケーションデータベースファクトリにおいて、未分類のアプリケーションを分類するプロセスを示すフローチャートである。
【図１】
2004280831.tif 000003
【図２】
2004280831.tif 000004
【図３】
2004280831.tif 000005
【図４】
2004280831.tif 000006
【図５】
2004280831.tif 000007
【図６】
2004280831.tif 000008
【図７】
2004280831.tif 000009
【図８】
2004280831.tif 000010
【図９】
2004280831.tif 000011
【図１０】
2004280831.tif 000012
【図１１】
2004280831.tif 000013
【図１２】
2004280831.tif 000014
【図１３】
2004280831.tif 000015