JP4651947B2 - 時間および重みに基づく柔軟で耐性のあるハードウエアidを提供するシステムおよび方法 - Google Patents

時間および重みに基づく柔軟で耐性のあるハードウエアidを提供するシステムおよび方法 Download PDF

Info

Publication number
JP4651947B2
JP4651947B2 JP2004001490A JP2004001490A JP4651947B2 JP 4651947 B2 JP4651947 B2 JP 4651947B2 JP 2004001490 A JP2004001490 A JP 2004001490A JP 2004001490 A JP2004001490 A JP 2004001490A JP 4651947 B2 JP4651947 B2 JP 4651947B2
Authority
JP
Japan
Prior art keywords
component
identification information
hardware
type included
component type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004001490A
Other languages
English (en)
Other versions
JP2004213676A5 (ja
JP2004213676A (ja
Inventor
ダブリシュ プラトゥル
ガニャキ カグラー
ティー.ヒューズ エイデン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004213676A publication Critical patent/JP2004213676A/ja
Publication of JP2004213676A5 publication Critical patent/JP2004213676A5/ja
Application granted granted Critical
Publication of JP4651947B2 publication Critical patent/JP4651947B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/02Constructional features of telephone sets
    • H04M1/04Supports for telephone transmitters or receivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/10Earpieces; Attachments therefor ; Earphones; Monophonic headphones
    • H04R1/1033Cables or cables storage, e.g. cable reels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2117User registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Description

本発明は、コンピュータシステムに関する識別情報を提供すること、およびそのコンピュータシステムが保存された識別情報の版数に合致するか否かを評価することのための方式および方法に関する。より詳細には、本発明は、コンピュータシステム使用中に起こる通常の変動に対し柔軟で耐性のある、コンピュータシステムからの情報を識別することに基づく、そのコンピュータシステムのためのハードウエアIDを提供するシステムおよび方法に関する。
ソフトウエアの使用は時としてソフトウエア使用許諾により規制される。ソフトウエアは販売後容易に複製できるため、関連する使用許諾の無いソフトウエアの使用を防ぐことは困難である。ソフトウエアが不正に複製され著作権を侵害するコピーが許可されていないコンピュータシステム上で使用するためにインストールされるというような使用は、著作権の侵害になる。加えて、著作権を侵害していないコピーの購入者でも関連する使用許諾の範囲外でソフトウエアを不適切に使用することがある。たとえば、ユーザが使用許諾で許可されたものより多数のコンピュータシステムにそのソフトウエアをインストールする可能性がある。
使用許諾は、このような弊習に対抗する要求に対して法律的手段を提供するものであるが、現実問題としては強要するには困難な場合がある。したがって、使用許諾の条件外でのソフトウエアの使用量を減少させるための他の手段を求める必要がある。そのような方法の一つは、そのソフトウエアを使用する使用許諾を交付されているユーザのコンピュータシステムに対して識別子を創ることを基本とするものである。"Software Anti-Piracy System That Adapts to Hardware Upgrades"という名称の特許文献1、および公告米国特許申請番号第20010044782は、この方法を詳述する。
コンピュータシステムは、一般に、ディスク駆動装置、CDROM駆動装置、および処理装置を含む、種々のハードウエア部品を含む。これらのハードウエア部品はそれぞれ
システムにより、たとえばPnP(Plug and Play)処理を実行することにより、呼び出すことができる識別子(通し番号または品名)を有する。ハードウエア識別子(HWID)を創るために、これらの構成要素識別子を、予め決められた方法により結合して、特定のコンピュータシステムを識別するために用いる方法が考えられる。
意義深いことに、HWIDは、ソフトウエア使用許諾の一部としてまたはそれと結合されて、特定のコンピュータシステムで使用するために許可されたソフトウエアがそのコンピュータシステムでのみ使用されることを確実にするために適用することができる。特に、HWIDを特定した使用許諾を有するソフトウエアは、稼働時にコンピュータシステムに対して算出したHWIDが、ソフトウエア使用許諾に特定されたHWIDに合致したときにのみコンピュータシステムで動作するであろう。
しかしながら、コンピュータシステムのユーザが、たとえば修理や改良の目的で、システムの構成要素を加え、削除し、または交換すると、HWIDは変化する。それぞれの新しい、または交換された構成要素は新しい構成要素識別子を有するであろう。したがって、システムのHWIDが算出されると、新しい構成要素識別子の存在により、HWIDが変化してしまう。ユーザが自分のコンピュータシステムの古い版に対するHWIDを特定するソフトウエアの使用許諾を得ている場合には問題が発生する。
したがって、新たに計算されたHWIDと比較するときに、事実上合致したとして、蓄積されたHWIDを受け容れる方法が知られている。たとえば、上記した特許文献1は、HWIDとして5つの構成要素識別子を含み、そのうちの任意の4つが合致すると認識されれば、そのソフトウエア製品はそのコンピュータシステムで動作することが可能となる。
米国特許第6,243,468号明細書
従来技術で対応できないのは、ある構成要素群が他に比し、より頻繁に交換されるような事態や、時間の進行につれソフトウエアの価値が減少するため、使用許諾に対するコンピュータシステム照合の必要性が時間の経過とともに減退して行く場合である。これらの場合に対応するHWIDに基づく使用許諾システムは安全性を増加させ、時間経過に伴う動的な安全性を提供する。
上記した状況を考慮すると、ハードウエアシステムの変更を包含し、時間の経過に適合するための要求を満たす柔軟性を持って正規ユーザのコンピュータシステムにおける変更を許容しつつ、1つのコンピュータシステムに対するソフトウエアの使用許諾された具現化を識別しリンクするために、HWIDを使用することを可能とするシステムに対する必要性が存在する。
上記したように、本発明はシステム構成が変更されてもなお有効性を維持するHWIDを提供するシステムおよび方法を提供する。
一実施形態においては、ソフトウエアが有効化される際にシステムのHWIDが計算される。ソフトウエアまたはシステムの他のどこかにある製品有効化コードにより現在のハードウエア構成要素に問い合わせてそれら構成要素に関する情報を収集する。たとえば、ネットワークカードに問い合わせてMAC(Media Access Control)アドレスを判定する。各ハードウエア構成要素のタイプのハードウエア構成要素に関する情報はハッシュ化される。ハッシュ化された値はHWIDに結合される。
有効化時に計算されたHWIDは使用許諾データファイルに含まれる。また各ハードウエア構成要素ごとの、時間および重みの値を持つ時間および重みのベクトルもこの有効化時のHWIDとともに含まれる。閾値数値も使用許諾データファイルに含まれる。この使用許諾データファイルはソフトウエアが使用される都度、評価されねばならない。使用許諾のためにコンピュータシステムの確認が要求された場合には、システムのHWIDは再評価され、新たに計算されたHWIDが有効化時のHWIDと比較される。
新たに計算されたHWIDと有効化時のHWIDとが、両HWIDが合致するか否かを判定するため比較されるとき、その比較には時間ベクトルと重みベクトルが使用される。構成要素に対する時間ベクトルの値は、新たに計算されたHWIDが有効化時のHWIDと事実上合致するか否かを判定する際に、考慮されるかどうかを決めるものである。構成要素に対する重みのベクトルの値は、新たに計算されたHWIDが有効化時のHWIDと事実上合致するか否かを判定する際に、その構成要素についての合致に対し与えられる重みを決めるものである。
本発明の他の特徴および実施形態は以下に述べられる。
本発明による一般的な透明性のある先進的な対応付けを提供するシステムおよび方法は、以下に添付される図面を参照してさらに説明される。
概要
一実施形態においては、現在のハードウエア識別子が計算される。考慮されるべき一連の構成要素タイプの中の各構成要素タイプに対して、そのタイプの構成要素が問い合わせを受ける。一実施形態においては、その各問い合わせ結果はハッシュ化され、得られた値から現在のHWIDが構成される。
一実施形態において、ソフトウエアに関連付けられた使用許諾データファイルには有効化時のHWID、時間ベクトル、重みベクトル、および閾値数値が格納される。そのソフトウエアの使用を許可するため、そのコンピュータシステムの現在のHWIDが有効化時のHWIDと事実上合致しなければならない。時間ベクトル、重みベクトル、および閾値数値は事実上合致しているか否かの判定のため使用される。
現在のHWIDが有効化時のHWIDと事実上合致しているか否かの判定のため、各構成要素のタイプについて、そのタイプの構成要素に対する格納された各ハッシュ化値は、そのタイプの現在の各構成要素に対するハッシュ化値と比較される。一実施形態において、比較照合得点(matching score)は全体にわたる比較に対して計算される。合致するということは、格納されているHWIDが計算された時点において、そのシステムに存在した構成要素が、依然としてそのシステムに存在するということを意味する。このような合致が得られると、その比較に対する比較照合得点が歩進される。比較照合得点が閾値数値より大または等しいと、現在のHWIDが有効化時のHWIDと事実上合致しているということになる。
重みベクトルは、各構成要素のタイプについて、その各構成要素タイプが合致したときに与えられるべき重みを意味する。ある構成要素タイプについての1つの合致により比較照合得点が歩進される場合には、その構成要素タイプについての重み値だけ比較照合得点が歩進されることになる。
時間ベクトルもまた格納されたHWIDと関連付けられる。各構成要素のタイプについて、時間ベクトルは満了期間を示すことができる。満了期間が経過した後は、構成要素についての合致が得られなくとも、比較照合得点はその重み値だけ歩進される。このようにして、異なる構成要素について、異なる重みを割り付けることが可能で、かつハードウエアの変更に対しさらに柔軟に許容できるHWID方式が、コンピュータシステムにおいて提供される。別の実施形態においては、時間ベクトルのみが使用される。また、他の実施形態においては、重みベクトルのみが使用される。
例示的なコンピュータ処理装置
図1および以下の説明は、本発明が実施されるにふさわしいコンピュータ処理環境の簡潔な一般的記述を提供することを意図している。しかしながら上記したように、ハンドヘルド、携帯型、他のすべての種類のコンピュータ処理装置およびコンピュータ処理器具が、本発明に関連して使用されることが考えられると理解すべきである。したがって、以下では汎用コンピュータについて述べられるが、これは単なる一例であり、本発明はネットワークとバスとの間の相互運用性と相互動作性を有するシンクライアント(thin client)のような、他のコンピュータ処理装置でも実施することができる。また、極めて少ない最小限度のクライアント資源だけが関係する、ネットワーク化されたホスティッドサービス(hosted service)の環境、たとえば、クライアント装置が電気製品、または他のコンピュータ処理装置および器具などに置かれた物体のように、単にネットワークとバスとに対するインタフェースの役をするだけのネットワーク化された環境、においても、本発明を実施することができる。本質的には、データが格納され、または、引き出されるすべての場所が、本発明に従う動作のための望ましく適切な環境になる。
必須条件ではないが、本発明は、装置または器具のためのサービスの開発者が使用するため、OS(Operating System)により実施することができ、および/または本発明に従って動作するアプリケーションソフトウエアに含めることができる。ソフトウエアは、クライアントワークステーション、サーバ、および他の装置、のような1または複数のコンピュータにより実行されるプログラムモジュールのように、一般にコンピュータで実行可能な命令に関連して述べられることが多い。一般には、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および同様なものを含み、特定の処理を行い、また抽象的なデータ形式を満足させる。一般的には、プログラムモジュールの機能性は種々の実施形態において望まれるように結合され、または分散されるであろう。さらに、当業者は本発明が他のコンピュータ構成においても実行できることを理解するであろう。本発明を使用するために適当な他の周知のコンピュータシステム、環境、および/または構成には、PC(Personal Computer)、現金自動支払い機(ATM:Automated Teller Machine)、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能な家電製品、ネットワークPC、器具、照明、環境制御要素、ミニコンピュータ、大型汎用コンピュータ、および同様なものが含まれるが、これらに限定されるものではない。また、本発明は、通信ネットワークとバス、または他の伝送媒体を通して結合された遠隔処理装置により処理が為される、分散コンピュータ処理環境においても実施することができる。分散コンピュータ処理環境においては、プログラムモジュールはローカルと遠隔の両方の、メモリー記憶装置を含むコンピュータ記憶媒体に位置し、クライアントノードがサーバノードとして代わりに振る舞う場合がある。
このように、図1は本発明が実施されるに適当なコンピュータ処理システム環境100の一例を示す。上記で明確にしたように、このコンピュータ処理システム環境100は適切なコンピュータ処理システム環境の一例であるに過ぎず、本発明の使用または機能性の範囲に関するどんな制限をも示唆することを意図したものではない。さらに、このコンピュータ処理システム環境100は、この例示的な動作環境100に示した構成要素のどの1つまたはその組み合わせに対しても依存性または関連性を有する、と理解されるべきではない。
図1に示すように、本発明が実施されるための例示的なシステムはコンピュータシステム110の形態の汎用コンピュータ処理装置を含む。コンピュータシステム110の構成要素として、処理ユニット120,システムメモリー130,およびシステムメモリーを含むシステムの種々の構成要素を処理ユニット120に結合する、システムバス121が含まれるが、これに限定されるものではない。システムバス121は、メモリーバスまたはメモリー制御器、周辺バス、および種々のバス構造の任意のものを用いるローカルバスを含む種々のタイプのバスアーキテクチャのうちの任意の形をとる。このアーキテクチャの例としては、限定するものではないが、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびPCI(Peripheral Component Interconnect)バス(Mezzanineバスとしても知られている)が含まれる。
コンピュータシステム110は一般的には種々のコンピュータで読み取り可能な媒体を含む。コンピュータで読み取り可能な媒体は、コンピュータシステム110がアクセスすることができ、揮発性、および不揮発性の両方の、着脱可能、および固定式の媒体を含む、任意の入手可能な媒体であり得る。例として、限定するものではないが、コンピュータで読み取り可能な媒体は、コンピュータの記憶媒体および通信媒体を備える場合がある。コンピュータの記憶媒体は揮発性、および不揮発性の、着脱可能、および固定式の媒体を含み、コンピュータで読み取り可能な命令、データ構造、プログラムモジュール、または他のデータのような情報の蓄積のために任意の方法または技術により実現される。コンピュータの記憶媒体には、限定するものではないが、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュメモリーまたは他のメモリー技術、CDROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)または他の光学的ディスク記憶媒体、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶装置、または他の任意の記憶媒体が含まれ、必要な情報を格納するために使用され、コンピュータシステム110によりアクセスされる。通信媒体は一般的には、コンピュータで読み取り可能な命令、データ構造、プログラムモジュール、または他のデータを搬送波または他の伝達機構のような変調されたデータ信号に具現化し、任意の情報伝達媒体を含む。用語「変調されたデータ信号」は、1または複数の特性値群を有する信号、または信号の中の情報を符号化するべく変形させた信号を意味する。例として、限定するものではないが、通信媒体は有線ネットワークまたは直接配線接続のような有線の媒体、および音響、RF、赤外線、その他無線媒体のような無線媒体を含む。上記の任意の組み合わせもまたコンピュータで読み取り可能な記録媒体の範囲に含まれるべきである。
システムメモリー130は、ROM131、およびRAM132のような、揮発性および/または不揮発性メモリーの形態のコンピュータ記憶媒体を含む。基本入出力システム(BIOS)133は一般的にはROM131に格納され、起動の間などにコンピュータシステム110の中の要素間の情報を転送する役を担う基本的なルーチンより構成される。RAM132は一般的には処理ユニット120により直ちにアクセスが可能な、および/または現に動作させられているデータおよび/またはプログラムモジュールを含む。例として、限定するものではないが、図1はオペレーティングシステム134、アプリケーションプログラム135,他のプログラムモジュール136,およびプログラムデータ137を示す。
またコンピュータシステム110は他の着脱可能/固定式の、揮発性/不揮発性のコンピュータ記憶媒体を含む場合がある。図1は単なる例として、固定式、不揮発性の磁気媒体から読み出し、またそこへ書き込むハードディスク駆動装置141,着脱可能、不揮発性の磁気ディスク152から読み出し、またそこへ書き込む磁気ディスク駆動装置151,および着脱可能、不揮発性の、CD−ROMまたは他の光学媒体のような、光学ディスク156から読み出し、またそこへ書き込む、光学ディスク駆動装置155を示す。例示的な動作環境において用いられ得る他の着脱可能/固定式の、揮発性/不揮発性のコンピュータ記憶媒体としては、磁気テープカセット、フラッシュメモリーカード、DVD、ディジタルビデオテープ、半導体RAM、半導体ROM、および同様なものが含まれるが、これらに限定されるものではない。ハードディスク駆動装置141は一般的にはインタフェース140のような、固定式メモリーインタフェースを通してシステムバス121に接続され、磁気ディスク駆動装置151および光学ディスク駆動装置155は一般的にはインタフェース150のような、着脱可能メモリーインタフェースを通してシステムバス121に接続される。
上記し、図1に示した駆動装置およびその関連する記憶媒体はコンピュータシステム110のためのコンピュータで読み取り可能な命令、データ構造、プログラムモジュール、または他のデータの記憶装置を提供する。たとえば、図1において、ハードディスク駆動装置141はオペレーティングシステム144,アプリケーションプログラム145,他のプログラムモジュール146,およびプログラムデータ147を格納するとして示される。これらの構成要素はオペレーティングシステム134、アプリケーションプログラム135,他のプログラムモジュール136,およびプログラムデータ137と同一、または別物のいずれでもあり得ることに注意して下さい。ここでは、少なくとも異なるコピーであることを示すため、オペレーティングシステム144,アプリケーションプログラム145,他のプログラムモジュール146,およびプログラムデータ147というように異なる番号を与えている。キーボード162および、一般にマウス、トラックボール、またはタッチパッドと呼ばれる指示装置161のような入力装置を通してユーザはコンピュータシステム110にコマンドや情報を入力することができる。他の入力装置(図示されていない)としてはマイクロホン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ、または同様なものが含まれ得る。これらおよびその他の入力装置はしばしばシステムバス121に結合されたユーザ入力インタフェース160を通して処理ユニット120に接続されるが、パラレルポート、ゲームポート、またはUSB(Universal Serial Bus)のような他のインタフェースおよびバス構成で接続されることがある。ノースブリッジのようなグラフィクインタフェース182もまたシステムバス121に接続されることがある。ノースブリッジは、CPUまたはホスト処理ユニット120と通信するチップセットであり、AGP(Accelerated Graphics Port)通信のための役割を担う。1または複数のGPU(Graphics Processing Unit)184はグラフィクインタフェース182と通信することができる。このため、GPU184は、一般にレジスタ記憶装置のようなオンチップメモリーを含み、GPU184はビデオメモリー186と通信する。しかしながら、GPU184はひとつのコプロセッサ(coprocessor)の単なる一例であり、このように種々のコプロセッシング装置がコンピュータシステム110に含まれ得る。また表示器191または他の型の表示装置がビデオインタフェース190のようなインタフェースを経由してシステムバス121に接続され、順番にビデオメモリー186と通信する場合がある。またコンピュータシステムは、表示器191に加えて、出力周辺インタフェース195を通し接続される、スピーカー197およびプリンター196のようなその他の周辺出力装置を含む場合がある。
コンピュータシステム110は、遠隔コンピュータ180のような1または複数の遠隔コンピュータへの論理的接続を用いて、ネットワーク化され、または分散化された環境で稼働する場合がある。遠隔コンピュータ180にはPC、サーバ、ルータ、ネットワークPC、ピアー装置、または他の共通ネットワークノードがなり得る。そして、一般的には、コンピュータシステム110に関連して上述された多くの、またはすべての要素が含まれる場合があるが、図1ではメモリー記憶装置181のみが示されている。図1で描かれている論理的接続はLAN(Local Area Network)171,およびWAN(Wide Area Network)173であるが、また他のネットワーク/バスを含む場合がある。このようなネットワーク化された環境は家庭、事務所、企業内コンピュータネットワーク、イントラネット、およびインターネットにおいて一般的である。
LANでネットワーク化された環境において使用される場合は、コンピュータシステム110は、ネットワークインタフェースまたはネットワークアダプタ170を通して、LAN171に接続される。WANでネットワーク化された環境において使用される場合は、コンピュータシステム110は、一般的には、インターネットのようなWAN173を介して通信を確立するため、モデム172または他の手段を含む。モデム172は、内蔵または外付けであっても良く、ユーザ入力インタフェース160、または他の適切な仕組みを通して、システムバス121に接続される。ネットワーク化された環境においてコンピュータシステム110に関連して描かれているプログラムモジュール、またはその部分は遠隔メモリー記憶装置に格納される場合がある。例として、限定するものではないが、図1はメモリー記憶装置181に存在するものとして遠隔アプリケーションプログラム185を示す。ここで示されたネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段が用いられる場合があることは理解されよう。
個人用コンピュータ処理とインターネットの統合に鑑みて、種々の分散化されたコンピュータ処理の枠組みが開発されており、かつ開発されつつある。個人およびビジネスユーザは、アプリケーションソフトウェアおよびコンピュータ処理装置のための、継ぎ目のない相互に動作可能なそしてウェブ技術を用いた(Web-enabled)インタフェースを等しく提供されており、コンピュータ処理の状況はますますウェブブラウザまたはネットワーク志向になりつつある。
たとえば、マイクロソフト社の.NETプラットフォームは、サーバ、ウェブに基づくデータ記憶装置のようなビルディングブロック型のサービス、およびダウンロード可能なデバイスソフトウェアを含む。ここでは例示的な実施形態はコンピュータ処理装置に存在するソフトウェアに関連して述べられるが、本発明の1または複数の部分はまた、プロセッサ、表示装置、および要求オブジェクトのいずれかの間での、オペレーティングシステム、API(Application Programming Interface)、または「仲介人(middle man)」オブジェクトを通して実施される場合がある。たとえば、本発明に従う動作は、.NETの言語およびサービスに支援され、または全面的にこれを通してアクセスすることにより、および他の分散化されたコンピュータ処理の枠組みにおいても同様に、為される場合がある。
使用許諾の処理
使用許諾の処理はユーザがコンピュータシステム110で動かすためにソフトウェア製品を購入したときまたはその後に生起する。たとえば、ソフトウェア製品はDVD、CDROM、またはフロッピー(登録商標)ディスクのような、可搬型のコンピュータで読み取り可能な記憶媒体に格納されたソフトウェアプログラムを有するシュリンクラップされた製品である場合がある。またソフトウェア製品は電子的にネットワークを経由して伝達される場合がある。ユーザはソフトウェア製品をコンピュータシステム110にロードする。しかしながら、ソフトウェアは使用許諾データなしでは動作できない場合がある。この使用許諾データを受け取るため、ユーザは使用許諾情報センターのような、そのソフトウェアの使用許諾を与える人に信用されているエンティティに連絡することにより、そのソフトウェアを有効化せねばならない。この情報センターは、たとえば、その製品のメーカ、または認定された第3者である。有効化手順により、顧客は必要な使用許諾データを提供され、その顧客はソフトウェア製品を有効化し、特定のコンピュータシステムでインストールしそして使用することができるようになる。
情報センターとの連絡は、コンピュータシステム110からインターネットのようなネットワークを経由し、またはダイアルアップ接続により、情報センターのコンピュータに対して行われ、有効化が成功すると、そこからコンピュータシステム110に使用許諾データが送られることになる。あるいは、ソフトウェア製品のグラフィックなユーザインタフェース(UI)の対話ウィンドウを用いて、ユーザが情報センターのサービス員を呼ぶことにより有効化の支援を受けられる。UIウィンドウはユーザがサービス員に伝える情報を表示し、サービス員から使用許諾情報が得られたときにこれを入れるための記入欄を含み、この情報はソフトウェアを使用できるようにするための使用許諾データを創生するために使用される。
時間および重みに基づく柔軟で耐性のあるハードウエアIDの提供
一実施形態において、ソフトウェアに関連付けられた使用許諾ファイルには、有効化時のHWID、時間ベクトル、重みベクトル、および閾値数値が含まれる。使用許諾が審査される際に、現在のハードウエアID(HWID)が計算される。考慮されるべき一連の構成要素タイプの中の各構成要素タイプに対して、そのタイプの構成要素が問い合わせを受ける。各問い合わせ結果はハッシュ化される。得られた値が現在のHWIDを構成する。ソフトウェアの使用を許可するため、コンピュータシステムの現在のHWIDは有効化時のHWIDに事実上合致しなければならない。事実上合致しているか否かを判定するために時間ベクトル、重みベクトル、および閾値数値が用いられる。
一実施形態においては、図2に示されるように、使用許諾データ200は、有効化時HWID210、重みベクトル220、時間ベクトル230、および閾値数値240を含む。この情報は現在のシステムのHWIDが現在のシステムでそのソフトウェアが使用されることを許可することが容認できることを示すか否かを動作時に判定するために用いられる。
一実施形態においては、図1に示すように、HWIDを計算するために使用される構成要素タイプは、サウンドカード(出力周辺インタフェース195に位置する)、ネットワークカード(ネットワークインタフェース170に位置する)、BIOS133,CDROM駆動装置155、表示装置アダプタ(GPU184を備える)、磁気ディスク駆動装置151,SCSIアダプタ、ディスクアダプタ、処理ユニット120、およびRAM132である。もちろん、他の構成要素も本発明の精神および範囲から外れることなく使用することができ、これらの構成要素の1または複数の任意の組み合わせも用いることができる。
HWIDが計算される際に、PnPの問い合わせ、または他の問い合わせが、これらの構成要素の識別子を判定するために実行される。処理ユニット120のように一部のものは通し番号により識別することができる。BIOS133のように他のものは、たとえばROM131に格納されたBIOSの最初の2キロバイトというように、BIOS133の部分により識別することができる。たとえばRAM132は、その全体記憶容量により識別することができる。
さらなる例として、ネットワークカードはMACアドレスにより識別することができる。MACアドレスはネットワークカードを識別する一意なアドレスである。LAN、または他のネットワークについて、MACアドレスはコンピュータシステムの一意なハードウエア番号として用いられる。コンピュータシステムがインターネットに接続される際に、そのコンピュータシステムのための正しいIPアドレスを索引するために、この番号が用いられる。ネットワークカードのMACアドレスは一意な番号であり、その製造メーカによりネットワークカードに焼き付けられる。アドレスの一部分は各ネットワークカード製造メーカに割り当てられ、その部分はそのネットワークカードに用いられるチップの中に直接書き込まれている。
図示されるように、有効化時HWID210は、各構成要素タイプに対し、有効化時に存在したそのタイプの構成要素の数を含む。また、有効化時HWID210は各構成要素に対する値を含む。一実施形態においては、ハードウエア識別子はハッシュ化されハッシュ値が算出され、HWIDに含められる。たとえば図2では、有効化時に4台のCDROMが取り付けられている。一実施形態においては、各構成要素に対するハッシュ値はHWIDに格納される。たとえば、cdrom1,cdrom2,cdrom3,およびcdrom4が例示的な有効化時HWID210におけるその4台のCDROMについてのハッシュ化された識別子である。
一実施形態において、構成要素識別子をハッシュ化するために使用されるハッシュ函数はモジュロ函数である。たとえば、HWID210におけるBIOS構成要素を表すハッシュ値BIOS1はBIOSの最初の2キロバイトのモジュロ8であっても良い。またもちろん、本発明の精神および範囲から外れることなく、他の任意のハッシュ函数を使用することができる。
また一実施形態において、使用許諾データ200には重みベクトル220、および閾値数値240が含まれる。システムに存在する特定の構成要素タイプの各構成要素に問い合わせて新たに計算されたHWIDが、有効化時HWID210と比較されることにより、コンピュータシステムが使用許諾データ200に対応してソフトウェアを動作させることが許可されるか否かの判定を下すことができる。特定の構成要素タイプの現存する各構成要素に対し、問い合わせはハッシュ化されて、ハッシュ化された構成要素識別子を生成する。これらのハッシュ化された構成要素識別子は新たに計算されたHWIDに含まれる。
有効化時HWIDおよび新たに計算されたHWIDは比較され、その時点までの比較照合得点合計が保持される。各構成要素タイプにつき、新たに計算されたHWIDにおけるそのタイプのある構成要素に対するいずれかのハッシュ値が有効化時HWID210におけるその構成要素タイプに対するいずれかのハッシュ値に合致する場合には、比較照合得点が歩進される。比較照合得点が計算された後、比較照合得点が閾値数値より大または等しい場合、現在のHWIDは有効化時HWIDと事実上合致することになる。他の実施形態においては、比較照合得点が歩進されるためには、両HWIDが厳密に一致せねばならない。他の実施形態においては、有効化時HWIDにおいて存在した所定の構成要素タイプに対し比較照合得点が歩進されるためには、新たに計算されたHWIDにおいて、そのタイプの各構成要素が存在しなければならない。また構成要素タイプに対するHWID同士間の合致を判定する他の手段も考えられ、本発明の精神と範囲から外れることなく適用され得る。
重みベクトル220は歩進の量を制御する。たとえば、BIOS識別子が合致すると、比較照合得点が3だけ歩進され、一方CDROM識別子が合致すると、比較照合得点が1だけ歩進されるであろう。
加えて、一実施形態において、時間ベクトル230が比較照合得点を計算する際に適用される場合がある。ある構成要素について、時間ベクトル230がその構成要素についての値を含む場合には、両HWIDの比較に際しその構成要素を使用する満了期限を示す。たとえば、図2に示される例示的な使用許諾データ200において、時間期間が一部の構成要素について格納されている。例示的な使用許諾データ200においては、CDROM構成要素についての格納されている時間期間は2年である。したがって、使用許諾以降2年が経過すれば、コンピュータシステムに現在存在するCDROMに対応する値が不一致な値でも、比較照合得点に否定的に影響すべきではない。このため、有効化時HWIDにおいて格納された値(すなわち、cdrom1,cdrom2,cdrom3,およびcdrom4)に識別子が合致するCDROMがコンピュータシステムに見付かるか否かにかかわらず、比較照合得点は1(重みベクトル220の値)だけ歩進されるであろう。他の実施形態においては、比較照合得点が比較照合によるのでなく期限満了により歩進される場合は、比較照合得点は(重みベクトル220の値に拘わらず)予め特定された値だけ歩進される。
期限満了の発生を認識するため、使用許諾データ200には使用許諾日を含むことができる。代替えとして、各時間ベクトル230の値を設定日として表現しても良い。加えて、システム時計の再設定で時間比較が無効にされないような防衛手段を実施することができる。構成要素タイプに対する時間ベクトル230において有効なデータが存在しない場合(一実施形態においては値がゼロに設定された場合)、その構成要素は比較照合得点を決定するために常に使用される。たとえば、時間ベクトル230ではMAC,CDROM,および表示装置構成要素のみに期限切れがあり、他の構成要素にはない。
一実施形態においては、使用許諾データの中に時間ベクトルはなく、重みベクトルのみが含まれる。この実施形態においては、2つのHWIDを比較するため、各構成要素が評価対象とされ、比較照合得点は、合致したときにのみ歩進される。図3に示されるように、ステップ310において、システムの関連する各構成要素についての現在の識別情報が収集される。ステップ320において、現在の識別情報は、有効化時HWIDからの格納された構成要素識別情報と比較される。ハッシュ函数が用いられる場合、識別情報はハッシュ化され、こちらもまたハッシュ化され格納された構成要素識別情報と比較される。ステップ330において、所定の構成要素タイプについて合致するものがあった場合、比較照合得点が、その構成要素タイプに関連付けされた重みベクトル220の値だけ歩進される。そしてステップ340において、すべての構成要素が評価された後、比較照合得点が比較照合得点の閾値数値と比較され、比較照合が受け容れられるか否かが判定される。この判断は多くの方法で使用され得る。たとえば、システムがソフトウェアを動作させるために使用許諾されているかを判定するために比較が為されているのであれば、比較照合が受け容れられれば、そのコンピュータシステムはそのソフトウェアを動作させることを許可される。
他の実施形態においては、重みベクトルではなく、時間ベクトルのみが使用許諾データ200に含まれる。この実施形態においては、構成要素の合致が見つけられた場合には、比較された構成要素のタイプに拘わらず、比較照合得点として同一の値が加算される。しかしながら、構成要素タイプに対し特定された時間値が経過した場合、合致が見出されなくとも、比較照合得点は歩進されるであろう。図4に示されるように、ステップ410において、HWIDの構成要素について、システムの関連する各構成要素についての現在の識別情報が収集される。ステップ420において、現在の識別情報は、有効化時HWIDからの格納された構成要素識別情報と比較される。ステップ430において、所定の構成要素タイプについて合致するものがあるか、またはその構成要素タイプについて満了期間が経過した場合に、比較照合得点が歩進される。上述と同様に、ステップ440において、比較照合得点が比較照合得点の閾値数値と比較され、比較照合が受け容れられるか否かが判定される。
一実施形態において、比較照合得点は使用許諾データ200に含まれる。他の実施形態においては、比較照合得点は事実上の合致が存在するか否かの計算の中に固定的に組み込まれている。このように、使用許諾データ200は、時間ベクトルのみ、重みベクトルのみ、または時間および重みベクトルの両方を含む場合があり、かつ任意のこれらの組み合わせにおいて比較照合得点を含む場合、または代替えとして、事実上の合致が存在するか否かの計算の中に固定的に組み込まれている比較照合得点に依存する場合がある。
時間ベクトル、重みベクトル、またはそれら両方を用いることにより、使用許諾はもはや受け身のデータではなく、使用許諾比較データとしての役割を演じる。使用許諾者または情報センターは、ユーザの挙動に関しより多くの管理をすることが可能となる。たとえば、使用許諾者はユーザを調査し、彼等のかなりの割合がビデオカードを2年ごとに交換していると思われることを見出すかも知れない。このことは、使用許諾者に、新しい使用許諾ではビデオカードに対する時間値を2年に設定させることになるかも知れない。後に、新しいビデオカードが市場に6ヶ月以内に届けられ、ほとんどのユーザが彼等のビデオカードをそのときに交換しようとしていることが判明するかも知れない。この場合は、使用許諾者は新しい使用許諾では時間値を6ヶ月に設定するかも知れない。ユーザがCDROMを何時交換するかについては大きな分散があるが、他の時間値は大変正確にユーザの挙動を表現すると判定されるかも知れない。このことは、使用許諾者に、CDROMについての重みベクトルの値を、他の構成要素についての重みベクトルの値より低く設定させることになるかも知れない。
一実施形態においては、重みベクトルはユーザに関する情報に生じた変化に対応するために使用される。ユーザがソフトウェアに対して第1の使用許諾を取得する。次に、たとえば、評価期間が終了したとき、ユーザがソフトウェアに対して第2の使用許諾を取得する。第1の有効化時HWIDは第2の有効化時HWIDと比較され、構成要素についての重み値は適切に調整される。かような一実施形態においては、交換された構成要素は、交換されなかった構成要素に比較して、重みを増加される。このことは、最近交換された構成要素は再びは交換されないであろうという仮定を反映する。もう一つのかような実施形態においては、交換された構成要素は、交換されなかった構成要素に比較して、重みを削減される。このことは、ユーザは、ユーザが過去に交換した構成要素を試験し、または交換しがちであるという仮定を反映する。
結論
上記したように、本発明の例示的な実施形態は種々のコンピュータ処理装置、およびネットワーク構造に関連し述べられているが、基本となる概念はハードウェアIDを実施することが好ましい任意のコンピュータ処理装置またはシステムに適用することができる。このように、本発明の方法および方式は種々のアプリケーションおよび装置に適用することができる。たとえば、本発明のアルゴリズムは、装置上の別個のオブジェクトとして、他のオブジェクトの部分として、サーバからのダウンロード可能なオブジェクトとして、装置またはオブジェクトおよびネットワークの間の「仲介人」として、分散化されたオブジェクトとして、等として提供され、コンピュータ処理装置のOSに適用することができる。ここでは種々の選択の代表として例示的なプログラミング言語、名称、および例が選択されているが、これらの言語、名称、および例は限定することを意図したものではない。当業者であれば、本発明により達成できるものと同一の、類似の、または等価なシステムおよび方法を実現するオブジェクト符号を提供する無数の方法があることを理解するであろう。
ここに述べられる種々の技術はハードウェアまたはソフトウェアあるいは、適切な場合には、両者の組み合わせと関連して実施することができる。このように、本発明の方法および装置、あるいはその態様または部分は、フロッピー(登録商標)ディスク、CD−ROM、ハードディスク駆動装置、または他の任意の機械で読み取り可能な記憶媒体のような具体的な媒体の中に具現化されたプログラム符号(すなわち、命令)となって表され、そのプログラム符号がコンピュータのような機械により読み込まれ、実行された際に、その機械が本発明を実施するための装置になる。プログラム可能なコンピュータ上でのプログラム符号の実行の場合には、そのコンピュータ処理装置は一般的にはプロセッサ、プロセッサにより読み取り可能な記憶媒体(揮発性および不揮発性メモリー、および/または記憶要素を含む)、少なくとも1つの入力装置、および少なくとも1つの出力装置を含むであろう。たとえば、データ処理APIまたは同様なものを通して、本発明の信号処理サービスを利用することができる1または複数のプログラムは、コンピュータと通信するために、好ましくはハイレベルプロシージャ型またはオブジェクト指向型プログラム言語により実施される。しかしながら、プログラムは、もし望まれるなら、アセンブラ、すなわち機械語で実現することもできる。いずれの場合においても、言語はコンパイラ言語またはインタプリタ言語であり、かつハードウェアでの実施と結合される場合がある。
また本発明の方法および装置は、プログラム符号の形において具現化された通信を通し実施され、その通信は、電子配線またはケーブルを通し、光ファイバを通し、または他の任意の伝送形態に依るような、何らかの伝送媒体を通して伝達され、そのプログラム符号が機械により受信され、読み込まれ、実行された際に、EPROM,ゲートアレー、PLD(Programmable Logic Device)、クライアントコンピュータ、ビデオレコーダ、または同様なもの、または上記した一般的な実施形態で述べられた信号処理能力を有する受信装置のようなものが本発明を実施するための装置になる。汎用プロセッサ上で実施される際に、プログラム符号がプロセッサと結合され、本発明の機能を実施するために動作する一意な装置を提供する。加えて、本発明に関連して用いられる任意の記憶技術は常にハードウェアおよびソフトウェアの結合となるであろう。
本発明が種々の図面の好ましい実施形態に関連して述べられたが、理解されるように、本発明と同一の機能を実現するため、本発明から逸脱することなく、他の同様な実施形態を使用することができ、または上述した実施形態について変更および追加を為すことができる。さらに、特に無線でネットワーク化された多くの装置のような、携帯装置のOSおよび他の特定な応用のためのOSを含む種々のコンピュータプラットフォームが急増しつつあると考えられる。さらにまた、本発明は複数のプロセッサチップまたは装置において、またはまたがって実施することができ、記憶装置が同様に複数の装置にまたがって使用される場合がある。したがって、本発明は、どれか単一の実施形態に限定されるべきではなく、むしろ添付された特許請求の範囲にしたがって幅および範囲を解釈されるべきである。
本発明にかかる、例示的な、限定的でないコンピュータ処理システムを示すブロック図である。 本発明の一実施形態における、使用許諾データを示すブロック図である。 蓄積された各構成要素の識別情報を現在の構成要素の識別情報と、重みベクトルを用いて比較する方法を示すブロック図である。 蓄積された各構成要素の識別情報を現在の構成要素の識別情報と、時間ベクトルを用いて比較する方法を示すブロック図である。
符号の説明
100 コンピュータ処理システム環境
110 コンピュータシステム
120 処理ユニット
121 システムバス
130 システムメモリー
131 ROM
132 RAM
133 BIOS
134 OS
135 アプリケーションプログラム
136 他のプログラムモジュール
137 プログラムデータ
140 固定式・不揮発性メモリーインタフェース
141 ハードディスク駆動装置
144 OS
145 アプリケーションプログラム
146 他のプログラムモジュール
147 プログラムデータ
150 着脱可能・不揮発性メモリーインタフェース
151 磁気ディスク駆動装置
152 着脱可能・不揮発性磁気ディスク
155 光学ディスク駆動装置
156 光学ディスク
160 ユーザ入力インタフェース
161 指示装置
162 キーボード
170 ネットワークインタフェース
171 LAN
172 モデム
173 WAN
180 遠隔コンピュータ
181 メモリー記憶装置
182 グラフィクインタフェース
184 GPU
185 遠隔アプリケーションプログラム
186 ビデオメモリー
190 ビデオインタフェース
191 表示器
195 出力周辺インタフェース
196 プリンター
197 スピーカー
200 使用許諾データ
210 有効化時のHWID
220 重みベクトル
230 時間ベクトル
240 閾値数値

Claims (30)

  1. コンピュータシステムから収集可能であり構成要素を識別する構成要素識別情報と、一連の構成要素タイプに含まれる構成要素タイプとに対応する1または複数の構成要素を備えるコンピュータシステムにより使用されるソフトウェア製品のソフトウェア使用許諾条件の適用を可能にする方法であって、
    ソフトウェアが有効化されると、ソフトウェア使用許諾条件に対応する使用許諾データをネットワークから処理ユニットが取得して、前記取得された使用許諾データをシステムメモリーに前記処理ユニットが格納するステップと、
    前記ソフトウェアが使用されると、一連の構成要素タイプに含まれる各構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を前記コンピュータシステムから前記処理ユニットが収集するステップと、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記収集された現在の構成要素識別情報を、前記格納された使用許諾データ内の構成要素識別情報と前記処理ユニットが比較するステップと、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記比較の結果が肯定的である場合には、前記一連の構成要素タイプに含まれる各構成要素タイプに対応する、前記格納された使用許諾データ内の構成要素タイプの重みを比較照合得点に加算することにより前記比較照合得点を前記処理ユニットが計算するステップであって、
    各構成要素タイプに対して、満了期間が経過したかどうかを前記処理ユニットが判定するステップと、
    各構成要素タイプに対して、前記満了期間が経過した場合には、対応する構成要素が見つかるかどうかに関わらず前記格納された構成要素タイプの重みを前記比較照合得点に前記処理ユニットが加算するステップと
    を含む、計算するステップと、
    前記比較照合得点を、前記格納された使用許諾データ内の比較照合得点の閾値と前記処理ユニットが比較するステップと、
    前記比較照合得点が前記比較照合得点の閾値を越える場合には、前記ソフトウェア製品に関して前記ソフトウェア使用許諾条件により与えられる動作を前記処理ユニットが実行させるステップと
    を備えることを特徴とする方法。
  2. 前記一連の構成要素タイプに含まれる各構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を収集するステップが、構成要素タイプのすべての構成要素に対して、個別の現在の構成要素識別情報を前記処理ユニットが収集するステップを含むことを特徴とする請求項1に記載の方法。
  3. 一連のハードウェア構成要素タイプに含まれる少なくとも1つのハードウェア構成要素タイプに対して、格納された構成要素識別情報が1または複数の個別の格納された構成要素識別情報を含み、前記一連のハードウェア構成要素タイプに含まれる各ハードウェア構成要素タイプに対して、現在の構成要素識別情報を格納された構成要素識別情報と比較するステップが、前記個別の格納された構成要素識別情報のいずれかが前記個別の現在の構成要素識別情報のいずれかに合致する場合には、肯定的結果を前記処理ユニットが返すステップを含むことを特徴とする請求項2に記載の方法。
  4. 一連のハードウェア構成要素タイプに含まれる各ハードウェア構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を収集するステップが、
    前記ハードウェア構成要素タイプのハードウェア構成要素に、前記ハードウェア構成要素に関する情報を前記処理ユニットが問い合わせるステップと、
    前記問い合わせたハードウェア構成要素に関する情報を前記処理ユニットがハッシュ化するステップと
    を含むことを特徴とする請求項1に記載の方法。
  5. 前記一連の構成要素タイプが次の、サウンドカード、ネットワークカード、BIOS、CDROPM駆動装置、表示装置アダプタ、ディスク駆動装置、SCSIアダプタ、ディスクアダプタ、プロセッサ、およびRAMの中から選択された1または複数を含むことを特徴とする請求項1に記載の方法。
  6. コンピュータシステムから収集可能であり構成要素を識別する構成要素識別情報と、一連の構成要素タイプに含まれる構成要素タイプとに対応する1または複数の構成要素を備えるコンピュータシステムにより使用されるソフトウェア製品のソフトウェア使用許諾条件の適用を可能にする方法であって、
    ソフトウェアが有効化されると、ソフトウェア使用許諾条件に対応する使用許諾データをネットワークから処理ユニットが取得して、前記取得された使用許諾データをシステムメモリーに前記処理ユニットが格納するステップと、
    前記ソフトウェアが使用されると、一連の構成要素タイプに含まれる各構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を前記コンピュータシステムから前記処理ユニットが収集するステップと、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記収集された現在の構成要素識別情報を、前記格納された使用許諾データ内の構成要素識別情報と前記処理ユニットが比較するステップと、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記比較の結果が肯定的である場合、または前記一連の構成要素タイプに含まれる少なくとも1つの構成要素タイプに対応する、前記格納された使用許諾データ内の満了期間が経過した場合には、比較照合得点を増加させることにより前記比較照合得点を前記処理ユニットが計算するステップと、
    前記比較照合得点を、前記格納された使用許諾データ内の比較照合得点の閾値と前記処理ユニットが比較するステップと、
    前記比較照合得点が前記比較照合得点の閾値を越える場合には、前記ソフトウェア製品に関して前記ソフトウェア使用許諾条件により与えられる動作を前記処理ユニットが実行させるステップと
    を備えることを特徴とする方法。
  7. 前記一連の構成要素タイプに含まれる各構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を収集するステップが、構成要素タイプのすべての構成要素に対して、個別の現在の構成要素識別情報を前記処理ユニットが収集するステップを含むことを特徴とする請求項6に記載の方法。
  8. 一連のハードウェア構成要素タイプに含まれる少なくとも1つのハードウェア構成要素タイプに対して、格納された構成要素識別情報が1または複数の個別の格納された構成要素識別情報を含み、前記一連のハードウェア構成要素タイプに含まれる各ハードウェア構成要素タイプに対して、現在の構成要素識別情報を格納された構成要素識別情報と比較するステップが、前記個別の格納された構成要素識別情報のいずれかが前記個別の現在の構成要素識別情報のいずれかに合致する場合には、肯定的結果を前記処理ユニットが返すステップを含むことを特徴とする請求項7に記載の方法。
  9. 一連のハードウェア構成要素タイプに含まれる各ハードウェア構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を収集するステップが、
    前記ハードウェア構成要素タイプのハードウェア構成要素に、前記ハードウェア構成要素に関する情報を前記処理ユニットが問い合わせるステップと、
    前記問い合わせたハードウェア構成要素に関する情報を前記処理ユニットがハッシュ化するステップと
    を含むことを特徴とする請求項6に記載の方法。
  10. 前記一連の構成要素タイプが次の、サウンドカード、ネットワークカード、BIOS、CDROPM駆動装置、表示装置アダプタ、ディスク駆動装置、SCSIアダプタ、ディスクアダプタ、プロセッサ、およびRAMの中から選択された1または複数を含むことを特徴とする請求項6に記載の方法。
  11. コンピュータシステムから収集可能であり構成要素を識別する構成要素識別情報と、一連の構成要素タイプに含まれる構成要素タイプとに対応する1または複数の構成要素を備えるコンピュータシステムに、ソフトウェア製品のソフトウェア使用許諾条件の適用を可能にするためのプログラムを記録したコンピュータで読み取り可能な記録媒体であって、
    ソフトウェアが有効化されると、ソフトウェア使用許諾条件に対応する使用許諾データをネットワークから取得する手順と、
    前記ソフトウェアが使用されると、一連の構成要素タイプに含まれる各構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を前記コンピュータシステムから収集する手順と、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記収集された現在の構成要素識別情報を、前記取得された使用許諾データ内の構成要素識別情報と比較する手順と、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記比較の結果が肯定的である場合には、前記一連の構成要素タイプに含まれる各構成要素タイプに対応する、前記取得された使用許諾データ内の構成要素タイプの重みを比較照合得点に加算することにより前記比較照合得点を計算する手順であって、
    各構成要素タイプに対して、満了期間が経過したかどうかを判定する手順と、
    各構成要素タイプに対して、前記満了期間が経過した場合には、対応する構成要素が見つかるかどうかに関わらず前記格納された構成要素タイプの重みを前記比較照合得点に加算する手順と
    を含む、計算する手順と、
    前記比較照合得点を、前記取得された使用許諾データ内の比較照合得点の閾値と比較する手順と、
    前記比較照合得点が前記比較照合得点の閾値を越える場合には、前記ソフトウェア製品に関して前記ソフトウェア使用許諾条件により与えられる動作を実行させる手順と
    を実行させるためのプログラムを記録したことを特徴とするコンピュータで読み取り可能な記録媒体。
  12. 前記一連の構成要素タイプに含まれる各構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を収集する手順が、構成要素タイプのすべての構成要素に対して、個別の現在の構成要素識別情報を収集する手順を含むことを特徴とする請求項11に記載のコンピュータで読み取り可能な記録媒体。
  13. 一連のハードウェア構成要素タイプに含まれる少なくとも1つのハードウェア構成要素タイプに対して、格納された構成要素識別情報が1または複数の個別の格納された構成要素識別情報を含み、前記一連のハードウェア構成要素タイプに含まれる各ハードウェア構成要素タイプに対して、現在の構成要素識別情報を格納された構成要素識別情報と比較する手順が、前記個別の格納された構成要素識別情報のいずれかが前記個別の現在の構成要素識別情報のいずれかに合致する場合には、肯定的結果を返す手順を含むことを特徴とする請求項12に記載のコンピュータで読み取り可能な記録媒体。
  14. 一連のハードウェア構成要素タイプに含まれる各ハードウェア構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を収集する手順が、
    前記ハードウェア構成要素タイプのハードウェア構成要素に、前記ハードウェア構成要素に関する情報を問い合わせる手順と、
    前記問い合わせたハードウェア構成要素に関する情報をハッシュ化する手順と
    を含むことを特徴とする請求項11に記載のコンピュータで読み取り可能な記録媒体。
  15. 前記一連の構成要素タイプが次の、サウンドカード、ネットワークカード、BIOS、CDROPM駆動装置、表示装置アダプタ、ディスク駆動装置、SCSIアダプタ、ディスクアダプタ、プロセッサ、およびRAMの中から選択された1または複数を含むことを特徴とする請求項11に記載のコンピュータで読み取り可能な記録媒体。
  16. コンピュータシステムから収集可能であり構成要素を識別する構成要素識別情報と、一連の構成要素タイプに含まれる構成要素タイプとに対応する1または複数の構成要素を備えるコンピュータシステムに、ソフトウェア製品のソフトウェア使用許諾条件の適用を可能にするためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    ソフトウェアが有効化されると、ソフトウェア使用許諾条件に対応する使用許諾データをネットワークから取得する手順と、
    前記ソフトウェアが使用されると、一連の構成要素タイプに含まれる各構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を前記コンピュータシステムから収集する手順と、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記収集された現在の構成要素識別情報を、前記取得された使用許諾データ内の構成要素識別情報と比較する手順と、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記比較の結果が肯定的である場合、または前記一連の構成要素タイプに含まれる少なくとも1つの構成要素タイプに対応する、前記取得された使用許諾データ内の満了期間が経過した場合には、比較照合得点を増加させることにより前記比較照合得点を計算する手順と、
    前記比較照合得点を、前記取得された使用許諾データ内の比較照合得点の閾値と比較する手順と、
    前記比較照合得点が前記比較照合得点の閾値を越える場合には、前記ソフトウェア製品に関して前記ソフトウェア使用許諾条件により与えられる動作を実行させる手順と
    を実行させるためのプログラムを記録したことを特徴とするコンピュータで読み取り可能な記録媒体。
  17. 前記一連の構成要素タイプに含まれる各構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を収集する手順が、構成要素タイプのすべての構成要素に対して、個別の現在の構成要素識別情報を収集する手順を含むことを特徴とする請求項16に記載のコンピュータで読み取り可能な記録媒体。
  18. 一連のハードウェア構成要素タイプに含まれる少なくとも1つのハードウェア構成要素タイプに対して、格納された構成要素識別情報が1または複数の個別の格納された構成要素識別情報を含み、前記一連のハードウェア構成要素タイプに含まれる各ハードウェア構成要素タイプに対して、現在の構成要素識別情報を格納された構成要素識別情報と比較する手順が、前記個別の格納された構成要素識別情報のいずれかが前記個別の現在の構成要素識別情報のいずれかに合致する場合には、肯定的結果を返す手順を含むことを特徴とする請求項17に記載のコンピュータで読み取り可能な記録媒体。
  19. 一連のハードウェア構成要素タイプに含まれる各ハードウェア構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を収集する手順が、
    前記ハードウェア構成要素タイプのハードウェア構成要素に、前記ハードウェア構成要素に関する情報を問い合わせる手順と、
    前記問い合わせたハードウェア構成要素に関する情報をハッシュ化する手順と
    を含むことを特徴とする請求項16に記載のコンピュータで読み取り可能な記録媒体。
  20. 前記一連の構成要素タイプが次の、サウンドカード、ネットワークカード、BIOS、CDROPM駆動装置、表示装置アダプタ、ディスク駆動装置、SCSIアダプタ、ディスクアダプタ、プロセッサ、およびRAMの中から選択された1または複数を含むことを特徴とする請求項16に記載のコンピュータで読み取り可能な媒体。
  21. コンピュータシステムから収集可能であり構成要素を識別する構成要素識別情報と、一連の構成要素タイプに含まれる構成要素タイプとに対応する1または複数の構成要素を備えるコンピュータシステムにより使用されるソフトウェア製品のソフトウェア使用許諾条件の適用を可能にする方法であって、
    ソフトウェアが有効化されると、ソフトウェア使用許諾条件に対応する使用許諾データをネットワークから処理ユニットが取得して、前記取得された使用許諾データをシステムメモリーに前記処理ユニットが格納するステップと、
    前記ソフトウェアが使用されると、一連の構成要素タイプに含まれる各構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を前記コンピュータシステムから前記処理ユニットが収集するステップと、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記収集された現在の構成要素識別情報を、前記格納された使用許諾データ内の構成要素識別情報と前記処理ユニットが比較するステップと、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記比較の結果が肯定的である場合には、前記一連の構成要素タイプに含まれる各構成要素タイプに対応する、前記格納された使用許諾データ内の構成要素タイプの重みを比較照合得点に加算することにより前記比較照合得点を前記処理ユニットが計算するステップであって、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記格納された使用許諾データ内の満了期間が経過したかどうかを前記処理ユニットが判定するステップと、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記満了期間が経過した場合には、予め特定された期間満了の増分を比較照合得点に前記処理ユニットが加算するステップ
    を含む、計算するステップと、
    前記比較照合得点を、前記格納された使用許諾データ内の比較照合得点の閾値と前記処理ユニットが比較するステップと、
    前記比較照合得点が前記比較照合得点の閾値を越える場合には、前記ソフトウェア製品に関して前記ソフトウェア使用許諾条件により与えられる動作を前記処理ユニットが実行させるステップと
    を備えることを特徴とする方法。
  22. 前記一連の構成要素タイプに含まれる各構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を収集するステップが、構成要素タイプのすべての構成要素に対して、個別の現在の構成要素識別情報を前記処理ユニットが収集するステップを含むことを特徴とする請求項21に記載の方法。
  23. 一連のハードウェア構成要素タイプに含まれる少なくとも1つのハードウェア構成要素タイプに対して、格納された構成要素識別情報が1または複数の個別の格納された構成要素識別情報を含み、前記一連のハードウェア構成要素タイプに含まれる各ハードウェア構成要素タイプに対して、現在の構成要素識別情報を格納された構成要素識別情報と比較するステップが、前記個別の格納された構成要素識別情報のいずれかが前記個別の現在の構成要素識別情報のいずれかに合致する場合には、肯定的結果を前記処理ユニットが返すステップを含むことを特徴とする請求項22に記載の方法。
  24. 一連のハードウェア構成要素タイプに含まれる各ハードウェア構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を収集するステップが、
    前記ハードウェア構成要素タイプのハードウェア構成要素に、前記ハードウェア構成要素に関する情報を前記処理ユニットが問い合わせるステップと、
    前記問い合わせたハードウェア構成要素に関する情報を前記処理ユニットがハッシュ化するステップと
    を含むことを特徴とする請求項21に記載の方法。
  25. 前記一連の構成要素タイプが次の、サウンドカード、ネットワークカード、BIOS、CDROPM駆動装置、表示装置アダプタ、ディスク駆動装置、SCSIアダプタ、ディスクアダプタ、プロセッサ、およびRAMの中から選択された1または複数を含むことを特徴とする請求項21に記載の方法。
  26. コンピュータシステムから収集可能であり構成要素を識別する構成要素識別情報と、一連の構成要素タイプに含まれる構成要素タイプとに対応する1または複数の構成要素を備えるコンピュータシステムに、ソフトウェア製品のソフトウェア使用許諾条件の適用を可能にするためのプログラムを記録したコンピュータで読み取り可能な記録媒体であって、
    ソフトウェアが有効化されると、ソフトウェア使用許諾条件に対応する使用許諾データをネットワークから取得する手順と、
    前記ソフトウェアが使用されると、一連の構成要素タイプに含まれる各構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を前記コンピュータシステムから収集する手順と、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記収集された現在の構成要素識別情報を、前記取得された使用許諾データ内の構成要素識別情報と比較する手順と、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記比較の結果が肯定的である場合には、前記一連の構成要素タイプに含まれる各構成要素タイプに対応する、前記取得された使用許諾データ内の構成要素タイプの重みを比較照合得点に加算することにより前記比較照合得点を計算する手順であって、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記取得された使用許諾データ内の満了期間が経過したかどうかを判定する手順と、
    前記一連の構成要素タイプに含まれる各構成要素タイプに対して、前記満了期間が経過した場合には、予め特定された期間満了の増分を比較照合得点に加算する手順
    を含む、計算する手順と、
    前記比較照合得点を、前記取得された使用許諾データ内の比較照合得点の閾値と比較する手順と、
    前記比較照合得点が前記比較照合得点の閾値を越える場合には、前記ソフトウェア製品に関して前記ソフトウェア使用許諾条件により与えられる動作を実行させる手順と
    を実行させるためのプログラムを記録したことを特徴とするコンピュータで読み取り可能な記録媒体。
  27. 前記一連の構成要素タイプに含まれる各構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を収集する手順が、構成要素タイプのすべての構成要素に対して、個別の現在の構成要素識別情報を収集する手順を含むことを特徴とする請求項26に記載のコンピュータで読み取り可能な記録媒体。
  28. 一連のハードウェア構成要素タイプに含まれる少なくとも1つのハードウェア構成要素タイプに対して、格納された構成要素識別情報が1または複数の個別の格納された構成要素識別情報を含み、前記一連のハードウェア構成要素タイプに含まれる各ハードウェア構成要素タイプに対して、現在の構成要素識別情報を格納された構成要素識別情報と比較する手順が、前記個別の格納された構成要素識別情報のいずれかが前記個別の現在の構成要素識別情報のいずれかに合致する場合には、肯定的結果を返す手順を含むことを特徴とする請求項27に記載のコンピュータで読み取り可能な記録媒体。
  29. 一連のハードウェア構成要素タイプに含まれる各ハードウェア構成要素タイプに対して、対応する構成要素の現在の構成要素識別情報を収集する手順が、
    前記ハードウェア構成要素タイプのハードウェア構成要素に、前記ハードウェア構成要素に関する情報を問い合わせる手順と、
    前記問い合わせたハードウェア構成要素に関する情報をハッシュ化する手順と
    を含むことを特徴とする請求項26に記載のコンピュータで読み取り可能な記録媒体。
  30. 前記一連の構成要素タイプが次の、サウンドカード、ネットワークカード、BIOS、CDROPM駆動装置、表示装置アダプタ、ディスク駆動装置、SCSIアダプタ、ディスクアダプタ、プロセッサ、およびRAMの中から選択された1または複数を含むことを特徴とする請求項26に記載のコンピュータで読み取り可能な媒体。
JP2004001490A 2003-01-06 2004-01-06 時間および重みに基づく柔軟で耐性のあるハードウエアidを提供するシステムおよび方法 Expired - Fee Related JP4651947B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/337,064 US7302590B2 (en) 2003-01-06 2003-01-06 Systems and methods for providing time-and weight-based flexibly tolerant hardware ID

Publications (3)

Publication Number Publication Date
JP2004213676A JP2004213676A (ja) 2004-07-29
JP2004213676A5 JP2004213676A5 (ja) 2007-02-22
JP4651947B2 true JP4651947B2 (ja) 2011-03-16

Family

ID=32655428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004001490A Expired - Fee Related JP4651947B2 (ja) 2003-01-06 2004-01-06 時間および重みに基づく柔軟で耐性のあるハードウエアidを提供するシステムおよび方法

Country Status (14)

Country Link
US (2) US7302590B2 (ja)
EP (1) EP1452940B1 (ja)
JP (1) JP4651947B2 (ja)
KR (1) KR101014140B1 (ja)
CN (1) CN100377022C (ja)
AT (1) ATE419587T1 (ja)
AU (1) AU2004200043B2 (ja)
BR (1) BRPI0400061B1 (ja)
CA (1) CA2454842C (ja)
DE (1) DE60325550D1 (ja)
DK (1) DK1452940T3 (ja)
ES (1) ES2318085T3 (ja)
MX (1) MXPA04000166A (ja)
RU (1) RU2372653C2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200220865A1 (en) * 2019-01-04 2020-07-09 T-Mobile Usa, Inc. Holistic module authentication with a device

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644442B2 (en) * 2003-01-31 2010-01-05 Microsoft Corporation Systems and methods for using machine attributes to deter software piracy in an enterprise environment
US7290149B2 (en) * 2003-03-03 2007-10-30 Microsoft Corporation Verbose hardware identification for binding a software package to a computer system having tolerance for hardware changes
US20050027657A1 (en) * 2003-08-01 2005-02-03 Yuri Leontiev Distinguishing legitimate hardware upgrades from unauthorized installations of software on additional computers
US7379918B2 (en) * 2004-07-30 2008-05-27 Microsoft Corporation Method and system for single reactivation of software product licenses
US9547780B2 (en) 2005-03-28 2017-01-17 Absolute Software Corporation Method for determining identification of an electronic device
US20140013449A1 (en) 2005-07-28 2014-01-09 Adobe Systems Incorporated Delayed validation for software licensing and activation
US8712973B2 (en) * 2006-04-11 2014-04-29 International Business Machines Corporation Weighted determination in configuration management systems
US8769703B2 (en) 2006-04-27 2014-07-01 Unisys Corporation System and method for providing a mechanism to virtualize a perpetual, unique system identity on a partitioned computer system
US8521652B2 (en) * 2006-05-19 2013-08-27 Hewlett-Packard Development Company, L.P. Discovering licenses in software files
US7610483B2 (en) * 2006-07-25 2009-10-27 Nvidia Corporation System and method to accelerate identification of hardware platform classes
US20080183690A1 (en) 2007-01-26 2008-07-31 Ramachandran Puthukode G Method for providing assistance in making change decisions in a configurable managed environment
FR2912529A1 (fr) * 2007-02-13 2008-08-15 France Telecom Couplage d'un programme informatique ou de donnees a un systeme de reference et verification associee.
US8528109B2 (en) * 2007-10-09 2013-09-03 Microsoft Corporation Optimizing amount of data passed during software license activation
WO2009105002A1 (en) * 2008-02-20 2009-08-27 Telefonaktiebolaget Lm Ericsson (Publ) Flexible node identity for telecom nodes
US8676714B2 (en) * 2009-06-11 2014-03-18 Microsoft Corporation Hardware specific product license validation
US20100332400A1 (en) * 2009-06-24 2010-12-30 Craig Stephen Etchegoyen Use of Fingerprint with an On-Line or Networked Payment Authorization System
US20110093503A1 (en) * 2009-10-19 2011-04-21 Etchegoyen Craig S Computer Hardware Identity Tracking Using Characteristic Parameter-Derived Data
US8316421B2 (en) * 2009-10-19 2012-11-20 Uniloc Luxembourg S.A. System and method for device authentication with built-in tolerance
US9256899B2 (en) * 2010-01-15 2016-02-09 Dell Products, L.P. System and method for separation of software purchase from fulfillment
US9235399B2 (en) * 2010-01-15 2016-01-12 Dell Products L.P. System and method for manufacturing and personalizing computing devices
US10387927B2 (en) * 2010-01-15 2019-08-20 Dell Products L.P. System and method for entitling digital assets
US9100396B2 (en) * 2010-01-29 2015-08-04 Dell Products L.P. System and method for identifying systems and replacing components
US8170783B2 (en) 2010-03-16 2012-05-01 Dell Products L.P. System and method for handling software activation in entitlement
DE112010005349B4 (de) * 2010-04-13 2020-08-06 Hewlett-Packard Development Company, L.P. Sicherheitssystem und Verfahren zur Erkennung einer Beeinträchtigung einer Komponente in einer Vorrichtung
GB2484268A (en) 2010-09-16 2012-04-11 Uniloc Usa Inc Psychographic profiling of users of computing devices
US8656996B2 (en) 2010-11-19 2014-02-25 Exxonmobil Upstream Research Company Systems and methods for enhanced waterfloods
US8739869B2 (en) 2010-11-19 2014-06-03 Exxonmobil Upstream Research Company Systems and methods for enhanced waterfloods
US8657000B2 (en) 2010-11-19 2014-02-25 Exxonmobil Upstream Research Company Systems and methods for enhanced waterfloods
US8974661B2 (en) 2010-12-30 2015-03-10 Exxonmobil Upstream Research Company Methods for separation of bitumen from oil sands
US20140007252A1 (en) 2011-03-15 2014-01-02 Irdeto B.V. Change-Tolerant Method of Generating an Identifier for a Collection of Assets in a Computing Environment Using a Secret Sharing Scheme
AU2011101296B4 (en) 2011-09-15 2012-06-28 Uniloc Usa, Inc. Hardware identification through cookies
US8949401B2 (en) 2012-06-14 2015-02-03 Dell Products L.P. Automated digital migration
US9779219B2 (en) 2012-08-09 2017-10-03 Dell Products L.P. Method and system for late binding of option features associated with a device using at least in part license and unique ID information
US8856757B2 (en) * 2012-11-08 2014-10-07 International Business Machines Corporation Automatic license entitlement calculation
AU2013100802B4 (en) 2013-04-11 2013-11-14 Uniloc Luxembourg S.A. Device authentication using inter-person message metadata
US8695068B1 (en) 2013-04-25 2014-04-08 Uniloc Luxembourg, S.A. Device authentication using display device irregularity
CN104850519A (zh) * 2015-04-10 2015-08-19 宁波萨瑞通讯有限公司 电子产品中硬件id更换情况的远程统计系统及方法
US10365931B2 (en) * 2017-02-27 2019-07-30 Microsoft Technology Licensing, Llc Remote administration of initial computer operating system setup options
US20230297724A1 (en) * 2022-03-15 2023-09-21 Microsoft Technology Licensing, Llc Hardware identity restoration post-device repair

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309156A (ja) * 1993-04-23 1994-11-04 Nec Corp 有償プログラムプロダクト利用チェック装置
JPH10283271A (ja) * 1997-03-31 1998-10-23 Victor Co Of Japan Ltd 暗号鍵生成方法,光ディスク,情報再生方法及びその装置
US6148407A (en) * 1997-09-30 2000-11-14 Intel Corporation Method and apparatus for producing computer platform fingerprints

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU678985B2 (en) * 1992-09-21 1997-06-19 Uniloc Corporation Pty Limited System for software registration
US5715403A (en) * 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US5815709A (en) * 1996-04-23 1998-09-29 San Microsystems, Inc. System and method for generating identifiers for uniquely identifying object types for objects used in processing of object-oriented programs and the like
US6501846B1 (en) * 1997-11-25 2002-12-31 Ethentica, Inc. Method and system for computer access and cursor control using a relief object image generator
US6243468B1 (en) * 1998-04-29 2001-06-05 Microsoft Corporation Software anti-piracy system that adapts to hardware upgrades
US7503072B2 (en) * 1998-04-29 2009-03-10 Microsoft Corporation Hardware ID to prevent software piracy
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6697948B1 (en) 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
DE10023820B4 (de) * 2000-05-15 2006-10-19 Siemens Ag Software-Schutzmechanismus
DE10155752A1 (de) * 2001-11-14 2003-05-22 Siemens Ag Lizenzierungsverfahren
JP4313941B2 (ja) * 2000-09-29 2009-08-12 株式会社東芝 半導体記憶装置
KR100375220B1 (ko) * 2000-10-12 2003-03-07 삼성전자주식회사 플래시 메모리 장치 형성방법
US6898286B2 (en) * 2000-12-19 2005-05-24 International Business Machines Corporation Method and system verifying product licenses using hardware and product identifications
US20040073789A1 (en) * 2002-10-15 2004-04-15 Powers John Stephenson Method for collaborative software licensing of electronically distributed computer programs
TWI255683B (en) * 2005-01-05 2006-05-21 Asustek Comp Inc Portable electronic device and battery module thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309156A (ja) * 1993-04-23 1994-11-04 Nec Corp 有償プログラムプロダクト利用チェック装置
JPH10283271A (ja) * 1997-03-31 1998-10-23 Victor Co Of Japan Ltd 暗号鍵生成方法,光ディスク,情報再生方法及びその装置
US6148407A (en) * 1997-09-30 2000-11-14 Intel Corporation Method and apparatus for producing computer platform fingerprints

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200220865A1 (en) * 2019-01-04 2020-07-09 T-Mobile Usa, Inc. Holistic module authentication with a device

Also Published As

Publication number Publication date
KR101014140B1 (ko) 2011-02-14
ATE419587T1 (de) 2009-01-15
ES2318085T3 (es) 2009-05-01
BRPI0400061B1 (pt) 2016-08-09
AU2004200043A1 (en) 2004-07-22
AU2004200043B2 (en) 2009-07-16
RU2004100639A (ru) 2005-06-10
EP1452940A1 (en) 2004-09-01
US7779274B2 (en) 2010-08-17
BRPI0400061A (pt) 2004-10-19
EP1452940B1 (en) 2008-12-31
CA2454842A1 (en) 2004-07-06
KR20040063824A (ko) 2004-07-14
DE60325550D1 (de) 2009-02-12
MXPA04000166A (es) 2005-06-17
RU2372653C2 (ru) 2009-11-10
CN1609746A (zh) 2005-04-27
JP2004213676A (ja) 2004-07-29
DK1452940T3 (da) 2009-03-23
US20080040619A1 (en) 2008-02-14
US20040133792A1 (en) 2004-07-08
US7302590B2 (en) 2007-11-27
CN100377022C (zh) 2008-03-26
CA2454842C (en) 2012-10-23

Similar Documents

Publication Publication Date Title
JP4651947B2 (ja) 時間および重みに基づく柔軟で耐性のあるハードウエアidを提供するシステムおよび方法
US9092598B2 (en) Version-based software product activation
US7788730B2 (en) Secure bytecode instrumentation facility
US7565323B2 (en) Hardware ID to prevent software piracy
KR100991061B1 (ko) 컴팩트 하드웨어 id 생성 방법, 소프트웨어 제품의 사용가능성 결정 방법, 및 그를 위한 컴퓨팅 시스템 및 컴퓨터 판독 가능 기록 매체
KR100713128B1 (ko) 바이러스 방역 장치 및 시스템
US7475254B2 (en) Method for authenticating software using protected master key
JP5276438B2 (ja) オペレーティングシステムおよびその他のソフトウェアのインストールを制限するハッカー対策プロテクト
US7962952B2 (en) Information processing apparatus that executes program and program control method for executing program
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
US20090063870A1 (en) Method, Apparatus, and Product for Prohibiting Unauthorized Access of Data Stored on Storage Drives
JP2016197399A (ja) オペレーティング・システム・リソースに対する機械語のネイティブイメージのアクセス制御のシステム及び方法
EP2756443A1 (en) Security mechanism for developmental operating systems
JP2007179087A (ja) データ利用制約システム、データ利用制約方法およびデータ利用制約プログラム
US11914717B2 (en) Information handling systems and related methods to cryptographically verify information handling system platform components and track events associated with the platform components
US20090077671A1 (en) Protection of software on portable medium
WO2004114528A2 (en) Method and system for operating system anti-tampering
JP2019003275A (ja) 確認システム、制御装置及び確認方法
JP2004086588A (ja) ソフトウェア不正使用防止システム
JP2007018344A (ja) ライセンス情報の更新方法
KR20130094153A (ko) 컴퓨터 및 휴대용 전자기기의 프로그램 관리 장치 및 방법
JP2007026352A (ja) ライセンス情報の更新方法
TWM607372U (zh) 企業電腦中應用程式稽查管理系統
WO2020027159A1 (ja) 情報処理装置、検証方法および検証プログラム
JP2005128812A (ja) プログラムの更新方法および更新プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101215

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4651947

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees