(57)【特許請求の範囲】
【請求項１】
ネットワークコンピューティング環境においてクライアントコンピュータ装置を識別する方法であって、
前記クライアントコンピュータ装置により送信された探索データレコードを受信することであって、前記探索データレコードは、前記クライアントコンピュータ装置のハードウェア識別および前記クライアントコンピュータ装置の論理識別を含み、前記ハードウェア識別及び前記論理識別は、クライアントコンピュータ装置にインストールされたクライアント識別デバイスによりクライアントコンピュータ装置上で生成され、前記クライアント識別デバイスは、ソフトウェアモジュールを備え、前記ハードウェア識別及び前記論理識別は、前記クライアントコンピュータ装置上に記録され、前記論理識別は、前記クライアント識別装置がクライアントコンピュータ装置上にインストールされている限り、固定されたままであり、前記ハードウェア識別は前記論理識別と異なることを特徴とする受信すること、
マッチするクライアントレコードを探して複数のクライアントレコードに照会すること、
前記照会でマッチするクライアントレコードが識別された場合は、前記マッチしたクライアントレコードを前記受信した探索データレコードと比較して前記クライアントコンピュータ装置を識別すること、および、
前記照会でマッチするクライアントレコードが識別された場合は、前記マッチしたクライアントレコードを更新して、前記受信した探索データレコードに含まれる追加情報を含めること
を備えたことを特徴とする方法。
【請求項２】
前記ハードウェア識別は、前記クライアントコンピュータ装置の一意の識別子であることを特徴とする請求項１に記載の方法。
【請求項３】
前記ハードウェア識別は、前記クライアントコンピュータ装置の基本入出力システムのシリアル番号であることを特徴とする請求項１に記載の方法。
【請求項４】
前記ハードウェア識別は、前記クライアントコンピュータ装置のＭＡＣアドレスであることを特徴とする請求項１に記載の方法。
【請求項５】
前記ハードウェア識別は、前記クライアントコンピュータ装置の資産タグであることを特徴とする請求項１に記載の方法。
【請求項６】
前記ハードウェア識別は、複数のハードウェア識別子の組合せであることを特徴とする請求項１に記載の方法。
【請求項７】
前記論理識別は、ランダムに生成される数値であることを特徴とする請求項１に記載の方法。
【請求項８】
前記論理識別は、前記クライアントコンピュータ装置の一意の識別であることを特徴とする請求項１に記載の方法。
【請求項９】
前記論理識別は、変更できることを特徴とする請求項１に記載の方法。
【請求項１０】
前記論理識別は、前記クライアントコンピュータ装置のオペレーティングシステムを再インストールすることによって変更できることを特徴とする請求項９に記載の方法。
【請求項１１】
前記論理識別は、前記クライアントコンピュータ装置のハードウェアコンポーネントを変更することによって変更できることを特徴とする請求項９に記載の方法。
【請求項１２】
前記論理識別は、ユーザによって変更できることを特徴とする請求項９に記載の方法。
【請求項１３】
マッチするクライアントレコードを探して複数のクライアントレコードに照会することは、前記受信した論理識別を前記複数の各クライアントレコードの論理識別と比較することを含むことを特徴とする請求項１に記載の方法。
【請求項１４】
前記マッチしたクライアントレコードを前記受信した探索データレコードと比較することは、前記受信したハードウェア識別が、前記マッチしたクライアントレコードのハードウェア識別とマッチするかどうかを判断することを含むことを特徴とする請求項１に記載の方法。
【請求項１５】
前記マッチしたクライアントレコードを更新することは、前記マッチしたクライアントレコードの前記ハードウェア識別を更新して前記受信したハードウェア識別を含めることを含むことを特徴とする請求項１に記載の方法。
【請求項１６】
前記マッチしたクライアントレコードを前記受信した探索データレコードと比較することは、
前記受信した探索データレコードが以前の論理識別を含むかどうかを判断すること、および、
前記受信した探索データレコードが以前の論理識別を含むという判断に応答して、前記受信した以前の論理識別にマッチする論理識別を含む前記複数の各クライアントレコードを廃止とマークすること
を含むことを特徴とする請求項１に記載の方法。
【請求項１７】
前記照会でマッチするクライアントレコードが識別されなかった場合は、前記受信したハードウェア識別にマッチするハードウェア識別を含む前記複数の各クライアントレコードを廃止とマークすることをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１８】
前記マッチしたクライアントレコードを前記受信した探索データレコードと比較することは、
前記受信した探索データレコードが以前の論理識別を含むかどうかを判断すること、
前記受信した探索データレコードが以前の論理識別を含むという判断に応答して、前記受信した以前の論理識別にマッチする論理識別を含む前記複数の各クライアントレコードを廃止とマークすること、および、
新しいクライアントレコードを生成すること
を含むことを特徴とする請求項１に記載の方法。
【請求項１９】
前記マッチしたクライアントレコードを前記受信した探索データレコードと比較することに応答して、前記マッチしたクライアントレコードをアクティブに設定することをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項２０】
クライアントコンピュータ装置を識別するための探索データレコードを生成する方法であって、
クライアントコンピュータ装置の既存の論理識別およびハードウェア属性を検索すること、
既存の論理識別およびハードウェア属性が検索された場合は、前記検索されたハードウェア属性が既存のハードウェア属性に類似しているかどうかを判断すること、および、
前記検索されたハードウェア属性が前記既存のハードウェア属性に類似していると判断された場合は、前記検索された論理識別およびハードウェア識別および追加の情報を含む探索データレコードを生成することであって、前記ハードウェア識別及び前記論理識別は、クライアントコンピュータ装置にインストールされたクライアント識別デバイスによりクライアントコンピュータ装置上で生成され、前記クライアント識別デバイスは、ソフトウェアモジュールを備え、前記ハードウェア識別及び前記論理識別は、前記クライアントコンピュータ装置上に記録され、前記論理識別は、前記クライアント識別装置がクライアントコンピュータ装置上にインストールされている限り、固定されたままであり、前記ハードウェア識別は前記論理識別と異なることを特徴とする生成すること、
前記検索されたハードウェア属性が前記既存のハードウェア属性に類似していないと判断された場合は、
新しい論理識別を生成すること、
ハードウェア識別を生成すること、
追加の情報を生成すること、
および
前記新しい論理識別、前記ハードウェア識別、および、追加の情報を含む探索データレコードを生成すること
を備えたことを特徴とする方法。
【請求項２１】
前記生成された探索データレコードは、前記検索された論理識別をさらに含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
前記生成された探索データレコードは、追加の情報として、キーデータをさらに含むことを特徴とする請求項２０に記載の方法。
【請求項２３】
既存の論理識別およびハードウェア属性が検索されなかった場合は、
新しい論理識別を生成すること、
ハードウェア識別を生成すること、および、
前記新しい論理識別および前記ハードウェア識別を含む探索データレコードを生成すること
をさらに備えたことを特徴とする請求項２０に記載の方法。
【請求項２４】
前記ハードウェア識別は、前記クライアントコンピュータ装置の既存のハードウェア属性から生成されることを特徴とする請求項２０に記載の方法。
【請求項２５】
前記論理識別は、ランダムに生成された数値であることを特徴とする請求項２０に記載の方法。
【請求項２６】
前記論理識別は、前記クライアントコンピュータ装置の一意の識別であることを特徴とする請求項２０に記載の方法。
【請求項２７】
前記論理識別は、変更し得ることを特徴とする請求項２０に記載の方法。
【請求項２８】
クライアントコンピュータ装置、探索データマネージャ、および前記クライアントコンピュータ装置と前記探索データマネージャの間で情報を伝送するための通信路を有するコンピュータ装置識別管理システムにおいて、クライアントコンピュータ装置を識別する方法であって、
前記クライアントコンピュータ装置から探索データレコードを受信すること、
前記探索データレコードが論理識別を含むかどうかを判断すること、
前記探索データレコードが論理識別を含むと判断された場合は、
前記論理識別がクライアントレコードの論理識別とマッチするかどうかを判断すること、
前記クライアントレコードを取得すること、
前記探索データレコードが論理識別を含まないと判断された場合は、
前記探索データレコードのキーデータにマッチする追加の情報としてのキーデータを含むクライアントレコードを取得すること、および、
前記取得したクライアントレコードに基づいて前記クライアントコンピュータ装置を識別することを備え、
前記ハードウェア識別及び前記論理識別は、クライアントコンピュータ装置にインストールされたクライアント識別デバイスによりクライアントコンピュータ装置上で生成され、前記クライアント識別デバイスは、ソフトウェアモジュールを備え、前記ハードウェア識別及び前記論理識別は、前記クライアントコンピュータ装置上に記録され、前記論理識別は、前記クライアント識別装置がクライアントコンピュータ装置上にインストールされている限り、固定されたままであり、前記ハードウェア識別は前記論理識別と異なること
を特徴とする方法。
【請求項２９】
前記論理識別がクライアントレコードの論理識別にマッチしないと判断された場合は、前記クライアントレコードのキーデータが前記探索データレコードのキーデータにマッチするかどうかを判断すること、および、
前記クライアントレコードのキーデータが前記探索データレコードの前記キーデータにマッチするとの判断に応答して、前記クライアントレコードを取得すること
をさらに備えたことを特徴とする請求項２８に記載の方法。
【請求項３０】
前記クライアントレコードを取得することは、
前記クライアントレコードのすべてのデータが前記探索データレコードの前記追加データにマッチするとの判断に応答して、前記クライアントレコードが論理識別を含むかどうかを判断すること、および、
前記クライアントレコードが論理識別を含むと判断された場合は、前記クライアントレコードを取得すること
を含むことを特徴とする請求項２９に記載の方法。
【請求項３１】
前記探索データレコードのキーデータにマッチする追加データを含むクライアントレコードを取得することは、
前記探索データレコードが前記クライアントレコード以外の追加データを含むかどうかを判断すること、および、
前記探索データレコードが前記クライアントレコード以外の追加データを含むと判断された場合は、前記クライアントレコードを前記探索データレコードで置換すること
をさらに備えたことを特徴とする請求項２８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
一般に、本発明はコンピュータの管理に関し、より詳細には、ネットワークコンピューティング環境においてコンピュータ装置の識別情報を管理し、確認し、更新するためのシステム、方法および装置に関する。
【背景技術】
【０００２】
コンピュータ装置、コンピュータネットワーク、コンピュータソフトウェア、およびネットワークアプリケーションの進歩により、コンピュータ装置がネットワークに接続されネットワークコンピューティング環境に配置される多様さおよび複雑さが増してきている。例えば、企業では多数のコンピュータが配置され、それらが情報サービス部門によって管理されることも多い。各コンピュータ装置がネットワークコンピューティング環境で管理される以外に、それらのコンピュータのアプリケーションやハードウェアを管理することがある。コンピュータ、コンピュータのハードウェア、およびコンピュータ上に設置されたアプリケーションまたはソフトウェアの管理のことを、本明細書では「資産管理（asset management）」と呼ぶ。
【０００３】
コンピュータの資産管理を適切に実施するためには、ネットワークコンピューティング環境内に設置された各コンピュータは識別可能でなければならない。要するに、ある特定のコンピュータから情報を送受信するときは、情報を伝送するコンピュータは、そのコンピュータの識別情報に正確にマッチさせる必要がある。完全な機能を提供するために、コンピュータを識別情報にマッチさせるプロセスは、５つの要件を満たす必要がある。第１に、コンピュータは、一意にかつ一貫して単一の識別情報にマッチする必要がある。第２に、このプロセスは、コンピュータの物理的または論理的構成の特定の変更に対し、影響を受けなくする必要がある。第３に、このプロセスは、構成変更の間にコンピュータの識別情報を維持するために、ユーザの介在を利用すべきではない。第４に、このプロセスは、新しい識別情報を生成して、変更されていないコンピュータに新しい識別情報を割り当てることができるようにする必要がある。第５に、コンピュータの新しい識別情報が生成されたとき、そのコンピュータの以前の識別情報がもはやそのコンピュータのものではない（すなわち、廃止された）ことを識別できる必要があり、またその新しい識別情報は容易にそのコンピュータに関連づけられる必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
コンピュータを識別する代表的な諸技術は、１または複数のこれらの要件を満たすことはできるが、これら５つの全てを満たすことはできない。したがって、完全な機能を提供することはできない。ネットワークコンピューティング環境内のコンピュータを識別する代表的な技術は、そのコンピュータの識別情報として各コンピュータに論理識別を割り当てる。その論理識別を使用してコンピュータを識別する。しかし、コンピュータの論理識別は、コピーすることが可能であり、第２のコンピュータが不正な識別を使用してネットワークにアクセスすることが可能になる。コピーされた識別情報を有するコンピュータがネットワークにアクセス可能なことにより、潜在的なセキュリティの問題が生じることになり、不正確なコンピュータ資産管理が行われることにもなる。さらに、ある論理識別情報に関連したコンピュータの物理的または論理的な構成変更によって、資産管理アプリケーションが、その論理識別をそのコンピュータとマッチさせることができなくなる可能性もある。さらに、コンピュータの構成変更が行われたとき、構成変更によってコンピュータの論理識別情報が失われないことを保証するために、ユーザの介在が必要になることもある。
【０００５】
ネットワークコンピューティング環境内のコンピュータを識別する他の代表的な技術は、ハードウェア識別を使用する。この技術は、コンピュータのハードドライブなどのハードウェアアイテムを選択し、そのハードウェアの識別子を使用してコンピュータを識別する。しかし、コンピュータのハードウェア識別は変更することができないので、ハードウェアも同時に変更される場合を除き、新しい識別情報を用いてそのコンピュータを再配置する機能は失われる。さらに、ハードウェア識別を取得した特定のハードウェアアイテムが置換された場合や除去された場合は、その特定のコンピュータの識別情報が失われることになる。
【０００６】
したがって、コンピュータを正確に識別し、コンピュータに変更を加えることを可能にし、かつコンピュータに新しい識別情報を割り当てる機能を提供する、コンピュータ管理のためのシステム、方法および装置が必要とされている。さらに、ユーザの介在なしに、このような目的を実現するシステムも必要とされている。
【課題を解決するための手段】
【０００７】
本発明の各実施形態は、ネットワークコンピューティング環境内の特定のコンピュータ装置をそのコンピュータ装置の識別情報に正確にマッチさせる機能を提供する。一態様によれば、ネットワークコンピューティング環境におけるクライアントコンピュータ装置を識別する方法が提供される。この方法は、ハードウェア識別と論理識別を含む探索データレコードを受信し、それに応答して、マッチするクライアントレコードを探して複数のクライアントレコードに照会する。その照会によって、マッチするクライアントレコードが識別された場合は、そのクライアントレコードを、受信した探索データレコードと比較してクライアントコンピュータ装置を識別する。
【０００８】
他の態様によれば、クライアントコンピュータ装置を識別するための探索データレコードを生成する方法が提供される。この方法は、クライアントコンピュータ装置の既存の論理識別、およびハードウェア属性を検索することによって開始される。既存の論理識別、およびハードウェア属性が検索された場合には、この方法は、検索されたハードウェア属性が既存のハードウェア属性と類似しているかどうかを判断する。検索されたハードウェア属性が既存のハードウェア属性と類似していると判断された場合は、検索された論理識別およびハードウェア識別を含む探索データレコードが生成される。
【０００９】
他の態様によれば、クライアントコンピュータ装置、探索データマネージャ、ならびにクライアントコンピュータ装置と探索データマネージャの間の情報を伝送するための通信路を備えたコンピュータ装置識別管理システムが提供される。コンピュータ装置識別管理システムは、クライアントコンピュータ装置を識別するための方法を実施するように構成される。この方法は、クライアントコンピュータ装置から探索データレコードを受信することに応答して開始され、探索データレコードが論理識別を含むかどうかを判断する。探索データレコードが論理識別を含む場合は、次に、その論理識別がクライアントレコードの論理識別とマッチするかどうかが判断される。マッチする場合は、そのクライアントレコードを取得する。一方、受信した探索データレコードが論理識別を含まない場合は、探索データレコードのキーデータをクライアントレコードのキーデータと比較して、マッチするキーデータを有するクライアントレコードを識別する。識別されたクライアントレコードを使用してクライアントコンピュータ装置を識別する。
【００１０】
本発明の前述の態様および付随する利点の多くについては、以下の詳細な説明を添付の図面と併せて参照することによってよりよく理解し、より容易にその価値を評価できるようになるはずである。
【発明を実施するための最良の形態】
【００１１】
コンピュータ装置の識別は、どのような資産管理アプリケーションにおいてもコアになる機能である。ネットワークコンピューティング環境内の各コンピュータ装置を正確に識別できないコンピュータ装置資産管理アプリケーションでは、資産目録が不正確になり、ネットワークコンピューティング環境内のコンピュータ装置になされた変更の結果をそのネットワークコンピュータ装置の資産目録と一致させることができなくなる可能性がある。本発明の各実施形態では、ネットワークコンピューティング環境内の特定のコンピュータ装置をそのコンピュータ装置の識別に正確にマッチさせる機能が提供される。あるコンピュータ装置から受信した情報は、一意にかつ一貫して単一の識別にマッチさせることができる。また、コンピュータ装置を識別情報にマッチさせるプロセスは、そのコンピュータ装置の物理的または論理的な構成変更の影響を受けない。さらに、本発明の実施形態では、そのコンピュータ装置の識別情報を正確に維持するために、コンピュータ装置の構成変更の間にユーザの介在を利用することはない。さらに、変更されていないコンピュータ装置のために新しい識別を生成して、そのコンピュータ装置を新しい識別情報でネットワーク内に再配置することもできる。さらに、コンピュータ装置の新しい識別が生成されたときに、そのコンピュータ装置の以前の識別情報が、もはやそのコンピュータ装置に属していないことが識別でき、また新しい識別を容易にそのコンピュータ装置に関連づけることもできる。
【００１２】
本明細書での議論は、ネットワークコンピューティング環境内のコンピュータ装置の識別について説明しているが、本発明の実施形態を使用して、ネットワークに含み得るどのような種類の通信装置でも識別できることが理解されよう。コンピュータ装置の例として、これに限定されるものではないが、パーソナルコンピュータ、デスクトップコンピュータ、携帯電話、メモリ装置、サーバ、データベースなどがある。さらに、本明細書の議論は、資産管理のためにコンピュータ装置を識別することを対象としているが、当業者には、コンピュータ装置の識別がどのような種類のネットワークアプリケーションにも使用できることが理解されよう。例えば、本発明の実施形態を使用して、各コンピュータ装置の識別を維持するディレクトリサービスアプリケーション用にコンピュータ装置を識別することもできる。
【００１３】
図１は、本発明の実施形態にかかる各コンピュータ装置を識別できるネットワークコンピューティング環境を示すブロック図である。詳細には、図１は、クライアント−１（１０１）、クライアント−２（１０３）、クライアント−３（１０５）など複数の「クライアントコンピュータ装置」と、コンピュータ装置１２５、コンピュータ装置１２７など複数の「非クライアントコンピュータ装置」とを含むネットワークコンピューティング環境１００を示す。本明細書に記載のクライアントコンピュータ装置とは、ＣＩＤ−１（１１９）、ＣＩＤ−２（１２１）、ＣＩＤ−３（１２３）などのクライアント識別デバイス（「ＣＩＤ」）を含むコンピュータ装置のことである。本発明の実施形態では、ＣＩＤは、ソフトウェアプログラム、ソフトウェアサブルーチン、ソフトウェア要素などとして実装することができる。本明細書に記載の非クライアントコンピュータ装置とは、ＣＩＤを含まないコンピュータ装置のことである。
【００１４】
各コンピュータ装置はネットワーク１１３に接続されており、探索データマネージャ１０７と通信することができる。ネットワーク１１３は、相互接続ネットワーク、インターネット、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）など、任意の種類のネットワークを用いることができる。さらに、各コンピュータ装置のネットワーク１１３への接続は、任意の伝送形態によって行うことができる。例えば、無線、有線、赤外などで接続することができる。
【００１５】
探索データマネージャ１０７も、やはりネットワーク１１３に接続される。探索データマネージャ１０７は、クライアントレコード１１１を含むクライアントレコードデータベース１０９を備え、ネットワークコンピューティング環境１００内の各クライアントコンピュータ装置を識別する。探索データマネージャ１０７には、ネットワーク１１３と通信できる任意の種類のコンピュータ装置を用いることができ、ネットワーク１１３上の各コンピュータ装置と通信するためのソフトウェアを含めることができる。当業者には理解できようが、ネットワークコンピューティング環境１００内には、識別を必要とする任意の数のクライアントコンピュータ装置と非クライアントコンピュータ装置、およびその組合せを備えることができる。さらに、ネットワークコンピューティング環境１００内には、非クライアントコンピュータ装置は無い場合もある。探索データマネージャ１０７は、各コンピュータ装置を、ＣＩＤとの通信によってクライアントコンピュータ装置であると識別する。
【００１６】
ＣＩＤは、ネットワークコンピューティング環境１００内のコンピュータ装置に追加されたとき、およびその後のある時間間隔で、ＤＤＲ−１、ＤＤＲ−２、ＤＤＲ−３などの探索データレコードを生成し、探索データマネージャ１０７に送信する。探索データレコードには「論理識別」および「ハードウェア識別」が含まれており、その両方を使用してＣＩＤが配置されたコンピュータ装置が正確に識別される。論理識別は、ランダムに生成される一意の値であり、クライアントコンピュータ装置の論理的な識別を表すために使用される。ハードウェア識別は、クライアントコンピュータ装置のハードウェアの様々な特性に基づき確定的に生成される識別子であり、クライアントコンピュータ装置の物理的な識別を表すために使用される。
【００１７】
探索データレコードは、ネットワークコンピューティング環境１００内に配置されたコンピュータ装置にＣＩＤが追加されたとき、およびその後のある時間間隔で送信されて、クライアントコンピュータ装置の状態に関して探索データマネージャ１０７を更新する。例えば、ＣＩＤによって探索データレコードを生成し、それをクライアント−２（１０３）などのクライアントコンピュータ装置から、週に１度、探索データマネージャ１０７に送信することができる。様々な時点で探索データレコードを送信することによって、ネットワークコンピューティング環境１００内のクライアントコンピュータ装置が引き続きアクティブであることや、その装置の現在の状態を探索データマネージャに知らせる。
【００１８】
ＣＩＤ以外の装置が探索データレコードを生成し、探索データマネージャ１０７に送信することもできる。例えば、ＣＩＤを含まない、したがってクライアントではないコンピュータ装置をネットワークコンピューティング環境１００に照会する照会装置から探索データレコードを受信することができる。ＣＩＤ以外の装置によって生成された探索データレコードには、ネットワークコンピューティング環境内のコンピュータ装置に関する一般的な情報が含まれる。このような装置を使用して、ネットワークコンピューティング環境内のコンピュータ装置についてのクライアントレコードデータベースの初期母集団（initial population）を求めることができる。さらに、このような装置を使用して、ネットワークコンピューティング環境内のコンピュータ装置であるが、探索データマネージャのクライアントではないコンピュータ装置を識別することもできる。
【００１９】
クライアント−２（１０３）の論理識別−２（１１５）などの論理識別は、ＣＩＤによってランダムに生成され、クライアントコンピュータ装置に格納される。ＣＩＤは、それが同一のクライアントコンピュータ装置上にあると判断される限りは、論理識別は固定されたままである。例えば、ＣＩＤを含むディスクイメージをあるコンピュータ装置から他のコンピュータ装置に移転することにより、ＣＩＤは新しい論理識別を生成することになる。さらに、クライアントコンピュータ装置の大幅なハードウェア変更の結果、そのクライアントコンピュータ装置のＣＩＤが新しい論理識別を生成することもある。
【００２０】
さらに論理識別は、保管された論理識別が破損された場合などには、ユーザがクライアントコンピュータ装置にオペレーティングシステムを再インストールすることによって変更することができる。
【００２１】
クライアント−２（１０３）のハードウェア識別−２（１１７）などのハードウェア識別は、可能な限り確定的にかつ一意になるように選択される。ハードウェア識別は、クライアントシステムおよび／またはオペレーティングシステムが削除され再インストールされたかどうか、あるいは論理識別が変更されたかどうかにかかわらず、ある特定のコンピュータ装置上では常に同一である。ハードウェア識別としては、これに限定されるものではないが、クライアントコンピュータ装置のＢＩＯＳ（Basic Input/Output System）のシリアル番号、クライアントコンピュータ装置のＭＡＣ（Media Access Control）アドレス、資産タグなどを用いることができる。代替実施形態では、ハードウェア識別は、クライアントコンピュータ装置のハードウェア識別子の組合せによって生成することができる。例えば、クライアントコンピュータ装置のシステムＢＩＯＳおよびＭＡＣアドレスをマージしてハードウェア識別を生成することができる。
【００２２】
論理識別およびハードウェア識別を含む探索データレコードに加えて、クライアントおよびクライアントコンピュータ装置に関する追加データを探索データレコードに含めることもできる。追加データとしては、クライアントコンピュータ装置のバージョン種別、クライアントコンピュータ装置の種類、クライアントコンピュータ装置のオペレーティングシステムの種類、クライアントコンピュータ装置の名前、クライアントコンピュータ装置上のハードウェアのリスト、クライアントコンピュータ装置上のソフトウェアのリストなどを含めることができる。追加データのいくつかは、クライアントコンピュータ装置の識別をさらに確認するために使用される「キーデータ」と見なすこともできる。一般に、キーデータは、各々が一意にコンピュータを識別する高い可能性を単独で有し得ると見なされる（ハードウェア属性などの）特性を含む。例えば、キーデータは、これに限定されるものではないが、ＣＩＤ名、クライアントコンピュータ装置名、およびクライアント識別子ビットを含むことができる。
【００２３】
探索データマネージャ１０７は、ネットワークコンピューティング環境１００内のあらゆるクライアントの識別を管理する。詳細には、探索データマネージャ１０７は、受信した探索データレコードを処理し、既存のクライアントレコードの情報を更新し、新しく追加されたクライアントの新しいクライアントレコードを生成する。クライアントレコード１１１は、クライアントコンピュータ装置から探索データレコードの形で送信された論理識別、ハードウェア識別、および追加データを含む。クライアントレコードは、探索データマネージャ１０７によって維持されるクライアントレコードデータベース１０９に格納される。当業者には、クライアントレコードデータベースとして、リレーショナルデータベース、ハイパーテキストデータベース、フラットファイルデータベースなど任意の種類のデータベースを用いることができることが理解されよう。
【００２４】
図２は、本発明の実施形態にかかるネットワークコンピューティング環境２００における、クライアントコンピュータ装置２０１と探索データマネージャ２０３の間の探索データレコードの送信およびその識別を示すブロック図である。以下でより詳細に説明するように、クライアントコンピュータ装置２０１上のＣＩＤ２０７は、探索データレコードを取得しかつ／または生成し、それを探索データマネージャ２０３に送信する。例えば、ＣＩＤ２０７が初めてネットワークコンピューティング環境２００に追加された場合、ＣＩＤは、クライアントコンピュータ装置２０１を識別する一意の論理識別、ハードウェア識別、および追加データを生成する。あるいは、ＣＩＤ２０７およびクライアントコンピュータ装置２０１が、すでにネットワークコンピューティング環境２００の一部であった場合は、ＣＩＤ２０７は、格納された論理識別および格納されたハードウェア識別を使用して探索データレコードを作成し送信する。この探索データレコードは、探索データマネージャ２０３に送信されて識別用およびステータス更新用として使用される。
【００２５】
クライアントコンピュータ装置２０１から探索データマネージャ２０３に探索データレコードが送信されたとき、探索データマネージャは、クライアントレコードデータベース２０５と通信して、受信した探索データレコードに含まれる情報がクライアントレコードデータベース２０５に格納されたクライアントレコードにマッチするかどうかを判断する。マッチしていることが分かった場合は、そのクライアントコンピュータ装置２０１は、いずれかの既存のクライアントとして識別され、必要な場合には、そのクライアントレコードが更新される。識別された後で、クライアントコンピュータ装置２０１は、ネットワーク内の各サーバからファイルをコピーして他の情報を取得すること、ネットワーク内の各サーバに情報を格納することなどを行うことができる。さらに、探索データマネージャ２０３は、ネットワークコンピューティング環境２００内のクライアントコンピュータ装置２０１の識別を使用することで、そのクライアントのステータスに関する追加の情報をクライアントコンピュータ装置２０１に照会し、かつ／またはそのクライアントコンピュータ装置２０１から受信し、それによってクライアントコンピュータ装置２０１の正確な資産目録を維持することができる。
【００２６】
例えば、クライアントコンピュータ装置２０１が識別されると直ぐに、クライアントコンピュータ装置２０１は、クライアントコンピュータ装置２０１上にあるハードウェアコンポーネントの識別、クライアントコンピュータ装置２０１上のソフトウェア、およびクライアントコンピュータ装置２０１に関するその他情報を探索データマネージャに提供する。それらの情報は、探索データマネージャ２０３によって資産管理ルーチンの一部として維持される。代替実施形態では、これらの情報を、探索データレコードとともに送信される追加データの一部に含めることができる。
【００２７】
図３は、本発明の実施形態にかかる探索データレコードを生成するプロセスを示す流れ図である。図３〜５は、本発明の実施形態に従って実装可能な他のルーチンを示す。図３〜５は、特定の機能を実施するためのブロックを示す。代替実施形態では、より多くのブロックを使用することも、より少ないブロックで済ませることもできる。本発明の一実施形態では、ブロックは、ソフトウェアプログラム、ソフトウェアオブジェクト、ソフトウェア関数、ソフトウェアサブルーチン、ソフトウェアメソッド、ソフトウェアインスタンス、コードフラグメント、ハードウェア動作、またはユーザ操作を、単独でまたは組合せた形で表すことができる。
【００２８】
図３に戻って、探索データレコード生成ルーチン３００は、ブロック３０１で始まり、ブロック３０３で、格納された論理識別および格納されたハードウェア属性を探してクライアントコンピュータ装置を検索する。本発明の一実施形態では、探索生成ルーチン３００は、クライアントコンピュータ装置上のＣＩＤによって実施することができる。コンピュータ装置がすでに探索データマネージャのクライアントである場合は、論理識別およびハードウェア属性をそのコンピュータ上に格納することができる。例えば、上記のように、ネットワークコンピューティング環境内のＣＩＤが初期化されると直ぐに、そのＣＩＤが配置されたクライアントコンピュータ装置の一意の論理識別が生成される。生成された論理識別は、クライアントコンピュータ装置に格納される。さらに、論理識別生成時にハードウェア属性もまた決定され、クライアントコンピュータ装置に格納される。
【００２９】
判断ブロック３０５で、ＣＩＤが格納された論理識別を検索できたかどうかが判断される。判断ブロック３０５で、格納された論理識別が無いと判断された場合は、ブロック３０７で、その特定のクライアントコンピュータ装置の一意の論理識別が生成される。次に、その論理識別は、クライアントコンピュータ装置に格納される。さらに、ブロック３０９に示したように、そのクライアントコンピュータ装置のハードウェア属性が決定され、クライアントコンピュータ装置に格納される。ブロック３１１で、決定されたハードウェア属性を使用して、ハードウェア識別が生成され、そのクライアントコンピュータ装置に格納される。ハードウェア識別とは、上記のように、クライアントコンピュータ装置に存在するハードウェアの特定のアイテムに対する一意のハードウェア識別子のことである。代替実施形態では、ハードウェア識別は、クライアントコンピュータ装置のハードウェア識別子の組合せによって生成することができる。例えば、クライアントコンピュータ装置のシステムＢＩＯＳとＭＡＣアドレスをマージしてハードウェア識別を生成することができる。
【００３０】
判断ブロック３０５に戻って、既存の論理識別がクライアントコンピュータ装置に存在すると判断された場合は、判断ブロック３１３で、クライアントコンピュータ装置に格納されたハードウェア属性がそのクライアントコンピュータ装置の既存のハードウェア属性に類似しているかどうかが判断される。格納されたハードウェア属性が既存のハードウェア属性に類似しているかどうかを判断することによって、このルーチンに、クライアントコンピュータ装置のハードウェアにいくつかの変更を加えてもなお格納された論理識別を継続的に使用してそのクライアントコンピュータ装置を正確に識別することができる機能を提供する。判断ブロック３１３で、格納されたハードウェア属性が、既存のハードウェア属性と類似していないと判断された場合は、ブロック３１７で、そのクライアントコンピュータ装置用の新しい論理識別を生成し、そのクライアントコンピュータ装置に格納する。さらに、ブロック３１９で、既存のハードウェア属性もクライアントコンピュータ装置に格納される。ブロック３２１で、ハードウェア識別が生成され、そのクライアントコンピュータ装置に格納される。ブロック３２３で、探索データレコード生成ルーチン３００は、そのクライアントコンピュータ装置およびＣＩＤに関して新しく生成された論理識別（ブロック３１７）、判断ブロック３０５で識別された以前の論理識別、ブロック３２１で生成されたハードウェア識別、および、キーデータなどの追加データを含む探索データレコードを生成する。生成された探索データレコードは、探索データマネージャに送られる。
【００３１】
判断ブロック３１３に戻って、格納されたハードウェア属性が既存のハードウェア属性と類似していると判断された場合は、ブロック３１５で、格納された論理識別および格納されたハードウェア識別を使用して探索データレコードが生成される。探索データレコード生成ルーチン３００は、ブロック３２５で終了する。
【００３２】
図４は、本発明の実施形態にかかるネットワークコンピューティング環境内のクライアントコンピュータ装置を正確に識別するためのクライアントコンピュータ装置識別ルーチンを示すブロック図である。本発明の一実施形態では、クライアントコンピュータ装置識別ルーチン４００は、探索データレコードの受信に応答して、探索データマネージャによって実施される。
【００３３】
クライアントコンピュータ装置識別ルーチン４００は、ブロック４０１で始まり、ブロック４０３で探索データレコードを受信する。探索データレコードの受信に応答して、ブロック４０５で、マッチする有効なクライアントレコードをクライアントレコードデータベースに照会する。本発明の一実施形態では、受信した探索データレコードに含まれる論理識別にマッチする論理識別を探してクライアントレコードに照会することによって、マッチする有効なクライアントレコードをクライアントレコードデータベースに照会する。クライアントレコードデータベースから有効なクライアントレコードを取得するためのサブルーチンは、図５に関してより詳細に説明する。
【００３４】
判断ブロック４０７で、クライアントレコードがクライアントレコードデータベースから取得されたかどうかを判断する。判断ブロック４０７で、クライアントレコードがクライアントレコードデータベースから取得されたと判断された場合は、ブロック４０９で、マッチしたクライアントレコードが受信した探索データレコードと比較され、マッチしたクライアントレコードに含まれていないが、受信した探索データレコードには含まれている追加のまたは異なるデータがあれば、そのクライアントレコードを更新する。
【００３５】
判断ブロック４０７に戻って、クライアントレコードデータベースからマッチするクライアントレコードが取得されなかったと判断された場合は、ブロック４１１で、クライアントレコードデータベース内の、受信した探索データレコードのハードウェア識別と同一のハードウェア識別を有する有効なすべてのクライアントレコードを廃止するとしてマークする。代替実施形態では、同一のハードウェア識別を有する有効なすべてのレコードを廃止とマークする前に、そのデータベース内に同一のハードウェア識別を有する２つ以上の有効なレコードが存在するかどうかを判断することができる。２つ以上の有効なマッチするレコードが存在する場合は、ハードウェア識別の生成に失敗した可能性があるので、この代替実施形態では、どの有効なレコードも廃止とマークされることはない。しかし、マッチするハードウェア識別を有すると識別された有効なレコードがただ１つの場合には、ブロック４１１に示されたように、そのレコードは廃止とマークされる。
【００３６】
判断ブロック４１３で、受信した探索データレコードが以前の論理識別を含むかどうかが判断される。受信した探索データレコードが以前の論理識別を含むと判断された場合は、ブロック４１５で、以前の論理識別にマッチする論理識別を含む全ての有効なクライアントレコードが廃止とマークされる。有効なレコードを廃止とマークすることによって、そのクライアントレコードがもはや探索データマネージャの現在のクライアントを表していないことを示す。
【００３７】
受信した探索データレコードが以前の論理識別を含まないと判断ブロック４１３で判断した場合、または（ブロック４１５で）クライアントレコードを廃止とマークした後で、ブロック４１７で、受信した探索データレコードに含まれた情報を含む新しいクライアントレコードを生成する。詳細には、新しいクライアントレコードは、受信した探索データレコードに含まれていた、受信した論理識別、ハードウェア識別、および追加データを含む。
【００３８】
判断ブロック４１９では、受信した探索データレコードがネットワークのクライアントから受信したものかどうかが判断される。上記のように、探索データレコードは、ネットワークコンピューティング環境内の、ＣＩＤを含まないコンピュータ装置を識別するために生成することができる。受信した探索データレコード中に論理識別が含まれていない場合は、その探索データレコードがクライアントから受信したものではないと判断することができる。他の例として、クライアントバージョンや、クライアントビットなどの追加データを調査して、受信した探索データレコードがクライアントからのものかどうかを判断することもできる。
【００３９】
判断ブロック４１９で、探索データレコードがクライアントから受信したものだと判断した場合は、ブロック４２１に示したように、そのレコードをアクティブに設定して、そのクライアントレコードに関連するクライアントコンピュータ装置がネットワークコンピューティング環境のアクティブなクライアントであることをルーチン４００に指示する。受信した探索データレコードがクライアントコンピュータ装置からのものではないと判断ブロック４１９で判断した場合、またはブロック４３１でレコードがアクティブに設定された後で、ブロック４２３でルーチン４００は終了する。
【００４０】
図５は、本発明の実施形態にかかる有効なクライアントレコードを取得するためのクライアントレコード取得サブルーチン５００のブロック図である。図５は、ブロック４０５（図４）として上で参照した、クライアントレコードデータベースから有効なクライアントレコードを取得するルーチンをより詳細に説明したものである。有効なクライアントレコードを取得するサブルーチン５００は、ブロック５０１で始まり、ブロック５０３で探索データレコードを受信する。判断ブロック５０５で、受信した探索データレコードが論理識別を含むかどうかが判断される。判断ブロック５０５で、受信した探索データレコードが論理識別を含むと判断された場合は、判断ブロック５０７で、クライアントレコードデータベース中に、それと同一の論理識別を含む、マッチする有効なクライアントレコードが含まれているかどうかが判断される。判断ブロック５０７で、マッチする有効なクライアントレコードがあると判断された場合は、ブロック５０９で、そのレコードが取得されサブルーチンが終了する。
【００４１】
一方、判断ブロック５０７で、同一の論理識別を有するマッチする有効なクライアントレコードが無いと判断された場合は、ブロック５１１で、サブルーチン５００は、クライアントレコードに含まれるキーデータと受信した探索データレコードに含まれるキーデータとの厳密なマッチングを要求する。正確なマッチングを要求するように設定すると直ぐに、サブルーチン５００はブロック５１３に進む。あるいは、判断ブロック５０５で、受信した探索データレコードが論理識別を含まないと判断された場合も、サブルーチン５００はブロック５１３に進む。
【００４２】
ブロック５１３で、サブルーチン５００は、クライアントレコードデータベースから、受信した探索データレコードのデータと最も良くマッチするデータを含む有効なクライアントレコードを識別する。同量のマッチングデータを含む有効なクライアントレコードが２つ以上あった場合は、最も新しいレコードを取得する。判断ブロック５１４で、レコードが取得されたかどうかが判断される。レコードが取得されなかった場合は、ブロック５２５で示されるように、レコードを返さずにサブルーチンは終了する。受信した探索データレコードとマッチするデータを含む有効なレコードが無い場合は、レコードが取得できないことがある。判断ブロック５１４でレコードが取得されたと判断された場合は、判断ブロック５１５で、クライアントレコードのキーデータと受信した探索データレコードのキーデータとの厳密なマッチを有効なクライアントレコード取得サブルーチン５００が要求しているかどうかが判断される。判断ブロック５１５で、厳密なマッチが要求されていないと判断された場合は、ブロック５１７で、有効なクライアントレコードが取得されサブルーチンは終了する。
【００４３】
一方、判断ブロック５１５で、サブルーチン５００がキーデータの厳密なマッチを要求していると判断した場合は、判断ブロック５１９で、受信した探索データレコードのすべてのキーデータがそのクライアントレコードのキーデータとマッチしているかどうかが判断される。判断ブロック５１９で、すべてのキーデータが厳密にマッチしていると判断された場合は、判断ブロック５２１で、そのクライアントレコードが論理識別を含むかどうかが判断される。判断ブロック５２１で、クライアントレコードが論理識別を含まないと判断された場合は、ブロック５２３でレコードが取得され、サブルーチンは終了する。一方、判断ブロック５２１で、クライアントレコードが論理識別を含むと判断された場合は、そのクライアントレコードを、受信した探索データレコードと関連づけてはならない場合がある。したがって、ブロック５２５に示したように、クライアントレコードは取得されず、レコードは返されない。あるいは、判断ブロック５１９で、マッチしないキーデータがあると判断された場合も、ブロック５２５で、クライアントレコードを返すことなくサブルーチンは終了する。
【００４４】
本発明の好ましい実施形態について図示し説明してきたが、本発明の趣旨および範囲を逸脱することなく、本発明に様々な変更を加え得ることを理解されたい。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施形態にかかる各コンピュータ装置を識別できるネットワークコンピューティング環境を示すブロック図である。
【図２】本発明の一実施形態にかかるネットワークコンピューティング環境における、クライアントコンピュータ装置と探索データマネージャの間の探索データレコードの送信およびその識別を示すブロック図である。
【図３】本発明の一実施形態にかかる探索データレコードを生成するプロセスを示す流れ図である。
【図４】本発明の一実施形態にかかるネットワークコンピューティング環境内のクライアントコンピュータ装置を正確に識別するためのクライアントコンピュータ装置識別ルーチンを示すブロック図である。
【図５】本発明の一実施形態にかかるクライアントレコードを取得するためのクライアントレコード取得サブルーチンを示すブロック図である。
【符号の説明】
【００４６】
１０１，１０３，１０５  クライアントコンピュータ装置
１０７  探索データマネージャ
１０９  クライアントレコードデータベース
１１１  クライアントレコード
１１３  ネットワーク
１１５  論理識別−２
１１７  ハードウェア識別−２
１１９，１２１，１２３  クライアント識別デバイス
１２５，１２７  コンピュータ装置
【図１】
0004799018.tif 000002
【図２】
0004799018.tif 000003
【図３】
0004799018.tif 000004
【図４】
0004799018.tif 000005
【図５】
0004799018.tif 000006