亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

將軟件包綁定到對允許硬件改變的計算機(jī)系統(tǒng)的簡明硬件標(biāo)識的制作方法

文檔序號:6393886閱讀:283來源:國知局
專利名稱:將軟件包綁定到對允許硬件改變的計算機(jī)系統(tǒng)的簡明硬件標(biāo)識的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于為給定計算機(jī)系統(tǒng)的產(chǎn)生簡明硬件標(biāo)識(compacthardwareidentification,CHWID)的系統(tǒng)和方法。簡明硬件標(biāo)識(CHWID)能根據(jù)對計算機(jī)系統(tǒng)的硬件改變程度,控制在給定的計算機(jī)系統(tǒng)上的軟件使用。簡明硬件標(biāo)識(CHWID)能在如電話那樣的有限帶寬介質(zhì)上以電的形式發(fā)送。
背景技術(shù)
近年來已作了相當(dāng)大的努力來防止或盡量減少計算機(jī)軟件的非法使用。由于其可復(fù)制性和易散布性,在超過許可證協(xié)定的范圍外的計算機(jī)軟件的盜版和非法使用是經(jīng)常發(fā)生的,這大大的侵害了軟件制作者。
為了努力在減少超過許可證協(xié)定的范圍外的計算機(jī)軟件的盜版和非法使用,已經(jīng)發(fā)展了許多方法。然而,那些方法常常以消費(fèi)者不方便的方式對合法的軟件購買者和用戶產(chǎn)生了問題。例如,升級她/他的計算機(jī)的用戶應(yīng)能夠合法的在升級的機(jī)器上重新安裝軟件產(chǎn)品。然而,現(xiàn)在可用的方法或者(i)不允許軟件被安裝,或者(ii)強(qiáng)迫用戶(他很不滿)打電話給軟件制作者請求幫助。
因而,需要改進(jìn)的針對盜版和非法使用的技術(shù)方案,但此方法還考慮到并適應(yīng)合法的軟件購買者和用戶的需要和實(shí)踐。

發(fā)明內(nèi)容
通過發(fā)現(xiàn)了一種改進(jìn)的計算機(jī)系統(tǒng)改善的硬件標(biāo)識,本發(fā)明解決了上面討論的某些困難和問題。本發(fā)明的硬件標(biāo)識提供了盡量減少或防止超過許可證協(xié)議范圍的計算機(jī)軟件的盜版和非法使用的方法,同時考慮了合法軟件用戶的機(jī)器升級。
本發(fā)明的硬件標(biāo)識(這里稱為“簡明硬件標(biāo)識”(CHWID))識別(1)通常用于建立對計算機(jī)系統(tǒng)的硬件配置的若干組件類別,和(2)特定的計算機(jī)系統(tǒng)給定的組件類別中的單個組件設(shè)備或?qū)嵗Mㄟ^考慮在選定個數(shù)的組件類別中的單個組件設(shè)備或?qū)嵗?,產(chǎn)生特定計算機(jī)系統(tǒng)安全可靠的簡明硬件標(biāo)識(CHWID),同時使得特定計算機(jī)系統(tǒng)的硬件配置的組件能有一定程度的改變。
如果在一開始裝載軟件產(chǎn)品到計算機(jī)時有有限量的空間能用于識別特定的硬件,就可以使用簡明硬件標(biāo)識(CHWID)。能存儲簡明硬件標(biāo)識(CHWID)為以后使用,比如(i)當(dāng)相同軟件產(chǎn)品在相同計算機(jī)或相同計算機(jī)的變化上運(yùn)行時,或(ii)當(dāng)相同軟件產(chǎn)品重新裝載到相同計算機(jī)的變化或完全不同的計算機(jī)上時。例如,當(dāng)相同軟件產(chǎn)品在相同計算機(jī)或相同計算機(jī)的變化上運(yùn)行時產(chǎn)生第二簡明硬件標(biāo)識(sCHWID),并與(1)以前存儲的簡明硬件標(biāo)識(iCHWID)或(2)以前存儲的詳備硬件標(biāo)識(VHWID)比較,所述詳備硬件標(biāo)識還將在下面描述。若在第二簡明硬件標(biāo)識(sCHWID)的組件類別與(1)以前存儲的簡明硬件標(biāo)識(iCHWID)或(2)以前存儲的詳備硬件標(biāo)識(VHWID)的對應(yīng)組件類別之間存在所希望的匹配數(shù),則本發(fā)明的方法允許軟件產(chǎn)品運(yùn)行。然而,若在第二簡明硬件標(biāo)識(sCHWID)的組件類別與(1)以前存儲的簡明硬件標(biāo)識(iCHWID)或(2)以前存儲的詳備硬件標(biāo)識(VHWID)的對應(yīng)組件類別之間不存在所希望的匹配數(shù),則本發(fā)明不允許運(yùn)行該軟件產(chǎn)品,因?yàn)閷υ加布到y(tǒng)的改變超越了所希望的限度。
因而本發(fā)明針對簡明硬件標(biāo)識(CHWID),和產(chǎn)生簡明硬件標(biāo)識(CHWID)的方法。本發(fā)明還針對另一個方法,若試圖運(yùn)行軟件產(chǎn)品產(chǎn)生的新的簡明硬件標(biāo)識(CHWID)時,由于對原始計算機(jī)系統(tǒng)一次或多次硬件改變,在與(1)以前存儲的簡明硬件標(biāo)識(iCHWID)或(2)以前存儲的詳備硬件標(biāo)識比較時,CHWID超出了限度,則禁止軟件在該計算機(jī)系統(tǒng)上使用。
在閱讀了所揭示的實(shí)施例的詳細(xì)描述和附后的權(quán)利要求之后,本發(fā)明的這些或其它特征和優(yōu)點(diǎn)將變得一目了然。


圖1是為實(shí)現(xiàn)本發(fā)明的示例性操作環(huán)境的某些主要組件的流程圖;圖2描繪出包含8個組件類別和分布在這8個組件類別中的總共19個組件設(shè)備實(shí)例的示例性硬件配置;圖3描繪出對圖2中所示的示例性硬件配置的可能的詳備硬件標(biāo)識(VHWID)和對應(yīng)的簡明硬件標(biāo)識(CHWID);圖4-8是流程圖,示出在確定硬件配置的簡明硬件標(biāo)識(CHWID)時的示例性步驟;和圖9-10是流程圖,示出通過比較產(chǎn)生的簡明硬件標(biāo)識(CHWID)與(1)以前存儲的簡明硬件標(biāo)識(iCHWID)或(2)以前存儲的詳備硬件標(biāo)識(VHWID),判斷軟件產(chǎn)品是否能在計算機(jī)硬件系統(tǒng)上使用的示例性步驟。
具體實(shí)施例方式
為促進(jìn)本發(fā)明的原理的理解,進(jìn)行本發(fā)明的特定實(shí)施例的描述,且用特定的語言描述該特定實(shí)施例。然而應(yīng)理解,不試圖通過使用特定語言限止本發(fā)明的范圍。
對與本發(fā)明有關(guān)專業(yè)的普通人士,所討論的本發(fā)明的原理的變更、進(jìn)一步修改和進(jìn)一步應(yīng)用都被認(rèn)為是正常的。
本發(fā)明針對由簡明硬件標(biāo)識(CHWID)識別給定計算機(jī)系統(tǒng)的硬件配置的方法。本發(fā)明還針對通過識別在選定數(shù)目的組件類別中的每一個中單個組件實(shí)例產(chǎn)生簡明硬件標(biāo)識(CHWID)的方法。本發(fā)明還針對使用簡明硬件標(biāo)識(CHWID)判斷軟件產(chǎn)品是否能在某一計算機(jī)硬件配置上使用的方法。
對包括各種硬件組件的計算機(jī)系統(tǒng)能產(chǎn)生簡明硬件標(biāo)識(CHWID)。示例性計算機(jī)系統(tǒng)能包括若干硬件組件,它們被分組成不同類別,包括但不限于硬盤驅(qū)動器、光盤驅(qū)動器、網(wǎng)卡、顯示適配器、只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)和基本輸入/輸出系統(tǒng)(BIOS)。下面描述用于實(shí)現(xiàn)本發(fā)明的示例性計算機(jī)系統(tǒng)和示例性操作環(huán)境。
示例性操作環(huán)境下面將參考附圖描述本發(fā)明的示例性實(shí)施例,其中相同的序號表示類似的單元。圖1示出為實(shí)施本發(fā)明的示例性操作環(huán)境。示例性操作環(huán)境包括以傳統(tǒng)的個人計算機(jī)20形式的通用計算設(shè)備。通常,個人計算機(jī)20包括處理單元21、系統(tǒng)存儲器22和將包括系統(tǒng)存儲器22的各種系統(tǒng)組件耦接到處理單元21的系統(tǒng)總線23。系統(tǒng)總線23能是若干類型總線結(jié)構(gòu)的任一種、包括存儲總線或存儲控制器、外圍總線,和使用各種總線體系結(jié)構(gòu)中的任一種的本地總線。系統(tǒng)存儲器包括只讀存儲器(ROM)24和隨機(jī)存取存儲器(RAM)25。包含幫助(如在起動期間)在個人計算機(jī)20的各單元之間傳輸信息的基本例行程序的基本輸入/輸出系統(tǒng)(BIOS)26存儲在ROM24中。
個人計算機(jī)20還包括用于讀寫硬盤(未示出)的硬盤驅(qū)動器27、用于讀寫可移磁盤29的磁盤驅(qū)動器28和用于讀寫如CD-ROM或其它光介質(zhì)的可移光盤31的光盤驅(qū)動器30。硬盤驅(qū)動器27、磁盤驅(qū)動器28和光盤驅(qū)動器30分別通過硬盤驅(qū)動器接口32、磁盤驅(qū)動器接口33和光盤驅(qū)動器接口34連接系統(tǒng)總線23。雖然這里描述的示例性實(shí)施例采用硬盤27、可移磁盤29和可移光盤31,本專業(yè)熟練人士知道,在示例性操作環(huán)境中也能使用其它類型能存儲由計算機(jī)訪問的數(shù)據(jù)的計算機(jī)可讀介質(zhì),如盒式磁帶、閃存卡、數(shù)字視頻盤、伯努利式盒帶、RAM、ROM等。驅(qū)動器和他們相關(guān)的計算機(jī)可讀介質(zhì)為個人計算機(jī)20提供了計算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲。例如一個或多個數(shù)據(jù)文件60(未示出)能存儲在個人計算機(jī)20的RAM25和/或硬盤驅(qū)動器27。
若干程序模塊能存在硬盤27、磁盤29、光盤31、ROM24或RAM25中,包括操作系統(tǒng)35、應(yīng)用程序36、其它程序模塊37和程序數(shù)據(jù)38。程序模塊包括但不限于執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)結(jié)構(gòu)的例行程序、子程序、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。本發(fā)明的各方面能作為應(yīng)用程序模塊36的整個部分或作為其它程序模塊37的部分實(shí)現(xiàn)。
用戶能通過如鍵盤40和定位設(shè)備42那樣的輸入設(shè)備輸入命令和信息到個人計算機(jī)20。其它輸入設(shè)備(未示出)可以包括話筒、操縱桿、游戲手柄、衛(wèi)星碟式天線、掃描器等。這些和其它輸入設(shè)備常通過連結(jié)系統(tǒng)總線23的串行接口46連結(jié)處理單元22,但能通過其它接口連接,如并行口、游戲口、通用串行總線(USB)等。監(jiān)視器47或其它類型顯示設(shè)備也能經(jīng)由如視頻適配器48的接口連結(jié)系統(tǒng)總線23。除監(jiān)視器外,個人計算機(jī)通常包括如揚(yáng)聲器和打印機(jī)等其他外圍輸出設(shè)備(未示出)。
使用到一個或多個遠(yuǎn)程計算機(jī)49的邏輯連接,個人計算機(jī)20能在網(wǎng)絡(luò)環(huán)境中操作。遠(yuǎn)程計算機(jī)49可以是另外的個人計算機(jī)、服務(wù)器、客戶機(jī)、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它公共網(wǎng)絡(luò)節(jié)點(diǎn)。雖然遠(yuǎn)程計算機(jī)49通常包括以上與個人計算機(jī)20有關(guān)的單元中的多個或所有,在圖1中只示出存儲設(shè)備50。圖1中描繪出的邏輯連接包括局域網(wǎng)(LAN)51和廣域網(wǎng)(WAN)52。那樣的網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)范圍的計算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。
在LAN網(wǎng)絡(luò)環(huán)境使用時,個人計算機(jī)20通過網(wǎng)絡(luò)接口或適配器53連到局域網(wǎng)51。在WAN網(wǎng)絡(luò)環(huán)境使用時,個人計算機(jī)20通常包括調(diào)制解調(diào)器54或其他裝置,用于建立經(jīng)過如因特網(wǎng)那樣的WAN52上的通訊。內(nèi)置或外接的調(diào)制解調(diào)器54經(jīng)串行接口46連結(jié)系統(tǒng)總線23。在網(wǎng)絡(luò)環(huán)境中,相對于個人計算機(jī)畫出的程序模塊或其一部分能存儲在遠(yuǎn)程存儲設(shè)備50。可以理解,示出的網(wǎng)絡(luò)連接是示例性的,可以使用在計算機(jī)之間建立通訊鏈路的其它裝置。
此外,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明能在其它計算機(jī)系統(tǒng)配置中實(shí)現(xiàn),包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程的消費(fèi)型電子設(shè)備、網(wǎng)絡(luò)個人計算機(jī)、小型機(jī)、大型主機(jī)等。本發(fā)明也能在分布式計算機(jī)環(huán)境中實(shí)現(xiàn),其中任務(wù)通過經(jīng)通訊網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備完成。在分布式計算機(jī)環(huán)境中,程序模塊能位于本地和遠(yuǎn)程存儲設(shè)備中。
本發(fā)明的示例性實(shí)施例的實(shí)現(xiàn)如上所述,計算機(jī)系統(tǒng)通常包括多種類別的硬件組件。此外,計算機(jī)系統(tǒng)能包括再每個硬件組類別中的多個組件(如二個硬盤驅(qū)動器)。
本發(fā)明的簡明硬件標(biāo)識(CHWID)考慮在用于確定CHWID的每個希望的類別的硬件組件中的單個組件設(shè)備(這里也能稱為“實(shí)例”)。本發(fā)明的簡明硬件標(biāo)識(CHWID)也能考慮在計算機(jī)硬件系統(tǒng)的給定的組件類別中不存在的組件設(shè)備。例如,在檢查給定的計算機(jī)硬件配置之前能作出用于識別給定的計算機(jī)硬件配置的組件類別的判斷。計算機(jī)硬件配置可以包括或可以不包括對用于產(chǎn)生計算機(jī)硬件配置的簡明硬件標(biāo)識(CHWID)的每個選定的組件類別的組件實(shí)例。
下面給出用于產(chǎn)生簡明硬件標(biāo)識(CHWID)的示例性方法。此外,下面還描述了使用簡明硬件標(biāo)識(CHWID)作為反盜版工具的本發(fā)明的示例性方法。
I.對計算機(jī)系統(tǒng)產(chǎn)生簡明硬件標(biāo)識(CHWID)下面給出示例性簡明硬件標(biāo)識(CHWID)的各部分的描述。
A.簡明硬件標(biāo)識(CHWID)給定計算機(jī)系統(tǒng)的簡明硬件標(biāo)識(CHWID)希望包括兩個不同的部分(1)可選的版本組件和(2)散列組件。每個可能的簡明硬件標(biāo)識(CHWID)部分能從給定計算機(jī)系統(tǒng)的硬件配置導(dǎo)出。圖2中示出計算機(jī)硬件配置和在每個組件類別中的實(shí)例的例子。
如圖2所示,示例性計算機(jī)硬件配置20包括8個不同的組件類別21-28,在組件配備21-28中分布著總共19個組件實(shí)例200。CDRom組件類別21包括4個組件實(shí)例;IDE組件類別22包括2個組件實(shí)例;驅(qū)動器組件類別23包括1個組件實(shí)例;顯示組件類別24包括1個組件實(shí)例;SCSI組件類別25包括2個組件實(shí)例;盤組件類別26包括6個組件實(shí)例;網(wǎng)卡組件類別27包括1個組件實(shí)例;處理器(即CPU)組件類別28包括2個組件實(shí)例。圖2中的行29列出一串?dāng)?shù)字,表示在8個組件類別21-28的每一個中組件實(shí)例的個數(shù)。
需要指出的是,在給定組件類別中的組件實(shí)例的數(shù)能在0和表示給定硬件配置所需要的個數(shù)之間變化,盡管在一種實(shí)現(xiàn)中也能任意的限止每個組件類別的組件實(shí)例數(shù)。通常,給定的硬件配置對每個組件類別包括0到約6個組件實(shí)例。如下所述,即使一組件類別不包含組件實(shí)例,在組件類別中不存在組件實(shí)例也提供了一段信息加入到簡明硬件標(biāo)識(CHWID)中。
圖3示出示例的簡明硬件標(biāo)識(CHWID)。圖3的示例性簡明硬件標(biāo)識(CHWID)35是一種識別圖2示出的計算機(jī)硬件配置的可能方式。如上討論,簡明硬件標(biāo)識(CHWID)35可希望包括兩個獨(dú)立的組件版本組件31’和散列組件33’。圖3中描繪出簡明硬件標(biāo)識(CHWID)35的兩個獨(dú)立部分中的每一個。
頭部部分31的版本組件310用于識別詳備硬件標(biāo)識(VHWID)34及其相應(yīng)的簡明硬件標(biāo)識(CHWID)35的特定的版本,詳備硬件標(biāo)識(VHWID)34及其相應(yīng)的簡明硬件標(biāo)識(CHWID)35被用來標(biāo)識給定計算機(jī)系統(tǒng)。例如,通過使用一組參數(shù)創(chuàng)建版本1,同時使用獨(dú)立的不同的一組參數(shù)創(chuàng)建版本2,詳備硬件標(biāo)識(VHWID)或簡明硬件標(biāo)識(CHWID)的特定版本(如版本“1”)能不同于詳備硬件標(biāo)識(VHWID)或簡明硬件標(biāo)識(CHWID)的另外版本(如版本“2”)。能使用各種參數(shù)創(chuàng)建詳備硬件標(biāo)識(VHWID)及其對應(yīng)的簡明硬件標(biāo)識(CHWID)的給定版本。合適的參數(shù)包括但不限于(1)在簡明硬件標(biāo)識(CHWID)35中表示的組件類別的數(shù)目;(2)用于創(chuàng)建詳備硬件標(biāo)識(CHWID)34的組件類別的最大和/或最小數(shù)目;(3)在給定的VHWID組件類別中所需考慮的組件實(shí)例的最大和/或最小數(shù)目;(4)用于對詳備硬件標(biāo)識(VHWID)34中的每個組件實(shí)例產(chǎn)生散列值的第一散列函數(shù);(5)用于形成詳備硬件標(biāo)識(VHWID)34的每個散列結(jié)果的長度;(6)詳備硬件標(biāo)識(VHWID)34的最大長度;(7)用于創(chuàng)建簡明硬件標(biāo)識(CHWID)35的組件類別散列結(jié)果的最大和/最小數(shù)目;(8)用于對每個組件實(shí)例產(chǎn)生第二散列值的第二散列函數(shù);(9)用于形成簡明硬件標(biāo)識(CHWID)35的每個第二散列結(jié)果的長度;和(10)簡明硬件標(biāo)識(CHWID)35的最大長度。
某些組件類別不能具有多個組件實(shí)例,它們被確定為單實(shí)例類別。總的系統(tǒng)RAM就是單實(shí)例類別的一個例子。單實(shí)例類別的數(shù)據(jù)被散列并在需要時被截斷,然后存入頭部部分31的截斷數(shù)值部分312。在頭部中表示的每個單實(shí)例類別具有相關(guān)的截斷數(shù)值部分312。
希望的是簡明硬件標(biāo)識(CHWID)35的版本組件31’有固定的長度,它對所有具有特定版本類型(如版本1的CHWID)的簡明硬件標(biāo)識是一致的。
計數(shù)部分32包括一串n個數(shù)字,表示在用于準(zhǔn)備詳備硬件標(biāo)識(CHWID)34的n個組件類別的每一個中的組件實(shí)例數(shù)。如圖3所示,計數(shù)部分32包括數(shù)字串“42112612“,對應(yīng)于圖2中示出的組件類別21-28中組件實(shí)例。應(yīng)注意,若一個組件類別不包含組件實(shí)例,對該特定的組件類別計數(shù)部分32包含“0”。
用于創(chuàng)建詳備硬件標(biāo)識(VHWID)34的散列部分33包括表示在圖2中示出的組件類別21-28中19個組件實(shí)例的每一個的第一散列值的級聯(lián)串,每個獨(dú)立的散列值能具有最多約160比特的散列結(jié)果。希望的是,每個獨(dú)立的散列結(jié)果具有從約10個到20個比特的長度,更希望的是大約16比特。
詳備硬件標(biāo)識(VHWID)34的散列部分33的長度根據(jù)給定硬件配置的n個組件類別中的組件實(shí)例數(shù)而改變。散列部分33的總長度等于組件實(shí)例的個數(shù)乘以對每個組件實(shí)例散列結(jié)果所希望的散列結(jié)果長度。在此例中,詳備硬件標(biāo)識(VHWID)34的最終散列部分33具有希望的304比特(即19×16=304)的總長度。
簡明硬件標(biāo)識(VHWID)35的散列部分33’不同于用于創(chuàng)建詳備硬件標(biāo)識(VHWID)34的散列部分33。在本發(fā)明的一個示例性實(shí)施例中,簡明硬件標(biāo)識(CHWID)35的散列部分33’包括每個組件類別的一個組件實(shí)例第二散列值,它是從在每個組件類別的一個組件實(shí)例第一散列值上執(zhí)行第二散列函數(shù)得到的。組件實(shí)例第一散列值從用于創(chuàng)建詳備硬件標(biāo)識(VHWID)34的散列部分33的n個組件類別中的一個或多個選擇。在將要進(jìn)一步通過第二散列函數(shù)處理的散列部分中選擇組件實(shí)例第一散列值的方法是(i)借助隨機(jī)選擇過程或(ii)借助預(yù)定的方法。一個示例性預(yù)定方法包括,如圖3所示在每個組件類別中選擇第一實(shí)例。
簡明硬件標(biāo)識(CHWID)35的最終散列部分33’包括由在散列部分33的選擇組件實(shí)例第一散列值上執(zhí)行第二散列函數(shù)而得到的組件實(shí)例第二散列值(v’x)的級聯(lián)串。每個獨(dú)立的組件實(shí)例第二散列值能具有最多約16比特的長度。希望的是,每個分別的組件實(shí)例第二散列值具有總共8比特的長度,更希望的是從約3比特到約6比特。組件實(shí)例第二散列值(v’x)示于圖3,并通過在下列第一散列值的串上執(zhí)行第二散列函數(shù)得到v1、v5、v7、v8、v9、v11、v17和v18,以產(chǎn)生組件實(shí)例第二散列值v’1、v’5、v’7、v’8、v’9、v’11、v’17和v’18。
簡明硬件標(biāo)識(CHWID)35的散列部分33’通常具有小于約64比特的長度。散列部分33’的長度能根據(jù)下列而變化(i)用于創(chuàng)建散列部分33’的組件實(shí)例第一散列值的數(shù)目,和(ii)對每個單獨(dú)的組件實(shí)例第二散列值的第二散列值長度。
如圖3所示,詳備硬件標(biāo)識(VHWID)34能由頭部部分31、計數(shù)部分32和散列部分33的級聯(lián)串表示。類似的,簡明硬件標(biāo)識(CHWID)35能由版本組件31’和散列部分33’的級聯(lián)串表示。下面描述對計算機(jī)硬件配置確定詳備硬件標(biāo)識(VHWID)34和簡明硬件標(biāo)識(CHWID)35的示例性方法。
應(yīng)注意,本發(fā)明的簡明硬件標(biāo)識(CHWID)可以只包括上述部分之一。在本發(fā)明的一個示例性實(shí)施例中,給定計算機(jī)硬件配置的簡明硬件標(biāo)識(CHWID)35只包括散列部分33’。在此實(shí)施例中,簡明硬件標(biāo)識(CHWID)35不包括版本組件31’。
不管用于創(chuàng)建簡明硬件標(biāo)識(CHWID)35的組件,簡明硬件標(biāo)識(CHWID)35希望地具有小于約256比特的總長度。在本發(fā)明的示例性實(shí)施例中,簡明硬件標(biāo)識(CHWID)35具有從約32比特到約64比特的總長度。
B.對計算機(jī)系統(tǒng)確定詳備硬件標(biāo)識(VHWID)本發(fā)明的VHWID能由在圖4-6中示出的示例性方法確定。示例性方法的步驟能由在客戶計算機(jī)上(類似于上述參考圖1描述的計算機(jī)20)的軟件產(chǎn)品中的軟件代碼實(shí)現(xiàn)。如圖4-6所示,對給定的計算機(jī)硬件配置(這里稱為“HW1”)的VHWID的示例性確定從步驟401開始,其中選擇組件類別數(shù)n以識別給定的計算機(jī)硬件配置HW1。如上討論,給定的計算機(jī)系統(tǒng)能包括各種硬件組件和硬件組件的類別。示例性硬件組件類別包括但不限于硬盤驅(qū)動器、邏輯盤分區(qū)、光盤、網(wǎng)卡、顯示適配器、只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、IDE設(shè)備、聲卡、視頻卡、處理器、SCSI設(shè)備和系統(tǒng)BIOS。希望的是,硬件組件類別的個數(shù)n是從2到約16的整數(shù)。通常,為了(i)更準(zhǔn)確地識別給定的計算機(jī)系統(tǒng),和(ii)更精確地度量給定計算機(jī)系統(tǒng)的限度,希望n盡可能大。
在步驟401選擇組件類別的個數(shù)n之后,在步驟402識別每個組件類別。組件類別可以包括如硬盤驅(qū)動器類別那樣上述組件類別的任一個。在下面表1中給出用于識別樣本硬件配置HW1的組件類別的示例性列表。
表1.用于識別樣本硬件配置HW1的硬件組件類別的示例性列表

如表1所示,在此例中n等于8,識別的硬件組件類別包括(1)CdRom類別;(2)IDE設(shè)備類別;(3)驅(qū)動器類別;(4)顯示適配器設(shè)備類別;(5)SCSI設(shè)備類別;(6)盤類別;(7)網(wǎng)卡類別;和(8)CPU處理器類別。
在步驟402識別每個組件類別后,在步驟403識別在每個硬件組件類別中的所有設(shè)備或?qū)嵗T诓襟E403還確定“計數(shù)”(即在每個組件類別中的組件設(shè)備或?qū)嵗膫€數(shù))。希望在特定組件類別中的每個實(shí)例由與該實(shí)例相關(guān)的最唯一的識別串識別。例如,硬件配置能包含由NEC公司制造并具有識別串“NECCDRW24 S15”的CdRom。用于判斷給定實(shí)例的最唯一的識別串的可用方法能在本發(fā)明中使用。在步驟404示出對每個組件實(shí)例賦予識別串的步驟。
一旦對每個組件實(shí)例賦予識別串,在步驟405準(zhǔn)備詳備硬件標(biāo)識(VHWID)的頭部部分。在步驟406,詳備硬件標(biāo)識(VHWID)的特定版本被輸入到頭部以形成頭部部分310(如圖3所示)。如上所述,版本號能表示用于確定詳備硬件標(biāo)識(VHWID)及其對應(yīng)的簡明硬件標(biāo)識(CHWID)的一個或多個參數(shù)。
在步驟407,識別在頭部表示的組件類別。通常,能只具有單個組件實(shí)例的組件類別,即單實(shí)例類別,在VHWID的頭部部分表示。能在VHWID的頭部部分表示的合適的組件類別包括但不限于存儲器組件類別、計算機(jī)可檢修能力的組件類別(即計算機(jī)是否可檢修)、BIOS或其組合。在本發(fā)明的示例性實(shí)施例中,VHWID的頭部部分包括從硬件配置單個組件類別來的信息。
方法從步驟407進(jìn)到判斷框409。在判斷框409作出判斷,即形成頭部的一部分的組件實(shí)例標(biāo)識串是否來源于一個散列函數(shù)。識別串能來源于一個散列函數(shù)或被截斷成希望的比特數(shù)。雖然作為一種選擇未在圖5中示出,應(yīng)注意只要識別串小于字符的希望最大值,識別串能逐字地使用,但通常不大于16比特的。
若識別串來源于一個散列函數(shù),方法進(jìn)行到步驟411,其中在組件實(shí)例的識別串上執(zhí)行散列函數(shù)并截斷到希望的比特長度。希望將散列結(jié)果截斷到約16比特的長度。在步驟412,截斷的散列結(jié)果輸入到頭部31的截斷數(shù)值部分312(如圖3所示)。若識別串不來源于散列函數(shù),方法進(jìn)到步驟410,在那里識別串截斷到希望的長度并輸入到頭部部分31的截斷數(shù)值部分312。希望地,識別串被截斷到小于約16比特的長度。
一旦從步驟412來的截斷散列結(jié)果或從步驟410來的截斷的識別串輸入到頭部部分31的截斷數(shù)值部分312,方法進(jìn)行到判斷框413。在判斷框413作出判斷,是否增加其他組件類別的細(xì)節(jié)到VHWID的頭部部分31。若其他組件類別的附加細(xì)節(jié)被加到VHWID的頭部部分31,方法返回到步驟407,并如上述那樣進(jìn)行。若沒有信息要加到VHWID的頭部部分31,方法進(jìn)行步驟414,在那里準(zhǔn)備VHWID的計數(shù)部分32。如上討論,VHWID的計數(shù)部分32包括n個數(shù)字的數(shù)字串,它表示用于形成VHWID的n個組件類別的每一個中的組件實(shí)例的個數(shù)(見圖3的計數(shù)部分32)。
在步驟415,在對VHWID的計數(shù)部分32中表示的每個組件實(shí)例的識別串上執(zhí)行第一散列函數(shù)。若給定的組件類別不包含組件實(shí)例,產(chǎn)生專門的第一散列結(jié)果用于VHWID,其中專門的第一散列結(jié)果表明,給定的組件類別不包含組件實(shí)例。另選地,不存儲第一散列值,對應(yīng)于所沒有的組件類別的計數(shù)部分32的那一部分被設(shè)置成零,表明該組件類別空缺。對每個組件實(shí)例的第一散列結(jié)果被截斷成希望的長度。在本發(fā)明的示例性實(shí)施例中,每個第一散列函數(shù)結(jié)果被截斷成約10到約20個比特,更希望在約16比特。
只要散列函數(shù)能接收任意長度的識別串并產(chǎn)生具有小于約160比特的固定長度的散列輸出或結(jié)果,在本發(fā)明中能使用任何已知的散列函數(shù)。合適的散列函數(shù)的例子包括散列函數(shù)算法HAVAL、MD2、MD4、MD5和SHA-1,但不限于這些,所有這些都為本領(lǐng)域普通技術(shù)人員公知。合適的散列函數(shù)及其描述能在Bruce Schneier的“應(yīng)用密碼學(xué)(Applied Cryptography)”中找到,它由John Wiley & Sons(ISBN#0471117099)出版,其揭示內(nèi)容整體地引入這里。
在本發(fā)明的實(shí)施例中,在對給定的組件實(shí)例執(zhí)行第一散列函數(shù)之前,一個“鹽值(salt value)”能加到組件實(shí)例標(biāo)識符。在此實(shí)施例中,加入鹽值使能基于同一計算機(jī)硬件配置產(chǎn)生不同的VHWID。在運(yùn)行不同應(yīng)用或不同過程時,同一硬件配置的不同VHWID是有益的。下面討論對同一硬件配置的不同VHWID是有益的情況的例子。
例如,若用戶激活從同一經(jīng)銷商來的多個軟件包,有可能使用VHWID聯(lián)系獨(dú)立的激活記錄,以建立該用戶軟件購買的習(xí)慣的圖。為預(yù)防此情況,通過使用如hashx=MD5[(鹽值(salt value))x+ID String]那樣的散列函數(shù)(其中對每個軟件包鹽值是不同的)構(gòu)造每個獨(dú)立的散列,使從相同機(jī)器來的不同的VHWID看來是無聯(lián)系的。
在步驟416,對每個組件實(shí)例的第一散列結(jié)果被級聯(lián),以形成詳備硬件標(biāo)識(VHWID)34的散列部分33(如圖3所示)。在步驟417,通過級聯(lián)頭部部分31、計數(shù)部分32和散列部分33來組裝最終的詳備硬件標(biāo)識(VHWID)34。
在步驟418,存儲最終的對硬件配置HW1的詳備硬件標(biāo)識,為以后使用。對硬件配置HW1的詳備硬件標(biāo)識(VHWID)能存儲在本地(如在寄存器,文件系統(tǒng),或安全存儲中),在可訪問的遠(yuǎn)處(如數(shù)據(jù)庫),或發(fā)送到交換所服務(wù)器,用于獲取許可證。
雖然上述示例性方法產(chǎn)生包含頭部31、計數(shù)部分32和散列部分33的詳備硬件標(biāo)識(VHWID),在本發(fā)明的某些實(shí)施例中,對硬件配置HW1的詳備硬件標(biāo)識(VHWID)可以只包含(i)僅僅散列部分33或(ii)與散列部分33結(jié)合的計數(shù)部分32,如使VHWID包括與散列部分33級聯(lián)的計數(shù)部分32。
C.對計算機(jī)系統(tǒng)確定簡明硬件標(biāo)識(CHWID)本發(fā)明的簡明硬件標(biāo)識(CHWID)能如圖7-8所示那樣確定。用于形成簡明硬件標(biāo)識(CHWID)的示例性方法的步驟能由在客戶計算機(jī)(類似于參考圖1描述的計算機(jī)20)上的軟件產(chǎn)品中的軟件代碼執(zhí)行。如圖7-8所示,形成對硬件配置HW1的一個可能的簡明硬件標(biāo)識(CHWID)的示例性方法開始于步驟420。
在步驟420,第二散列函數(shù)在一個組件實(shí)例第一散列值上執(zhí)行,后者來自于從用于創(chuàng)建詳備硬件標(biāo)識(VHWID)34的散列部分33的一個或多個組件類別(n個)中選擇的q個組件類別的每一個。如上所述,第二散列函數(shù)能在一個或多個組件實(shí)例第一散列值上執(zhí)行,其中從n個組件類別的一個或多個中選擇組件實(shí)例第一散列值的方法通過(i)隨機(jī)選擇過程或(ii)預(yù)定方法完成。希望地,一個組件實(shí)例散列值從至少(n-5)組件類別中選擇,更希望地,從至少(n-3)個組件類別選擇,進(jìn)一步希望地,從至少(n-2)個組件類別選擇。在本發(fā)明的示例性實(shí)施例中,從所有n個組件類別中選擇一個組件實(shí)例第一散列值,以形成對應(yīng)的組件實(shí)例第二散列值。
在用于形成詳備硬件標(biāo)識(VHWID)34的散列部分33的第一散列函數(shù)的場合,在本發(fā)明中能使用任何已知的散列函數(shù),只要該散列函數(shù)能接受最多約160比特的組件實(shí)例第一散列值,并產(chǎn)生具有小于約32比特的固定長度的組件實(shí)例第二散列值。合適的第二散列函數(shù)的例子包括如上討論為本專業(yè)普通人士眾知的散列函數(shù)算法HAVAL、MD2、MD4、MD5和SHA-1,但不限于這些。
在本發(fā)明的實(shí)施例中,在對給定的組件實(shí)例第一散列值執(zhí)行第二散列函數(shù)之前,可將“鹽值(salt value)”加到組件實(shí)例第一散列值。在此實(shí)施例中,加入鹽值使得能根據(jù)相同的計算機(jī)硬件配置產(chǎn)生不同的簡明硬件標(biāo)識(CHWID)。對相同硬件配置不同的簡明硬件標(biāo)識(CHWID)在運(yùn)行不同應(yīng)用或不同過程時是有益的。下面討論對相同硬件配置的不同的CHWID是有益的情況的一個例子。
例如,若用戶激活從同一經(jīng)銷商來的多個軟件包,有可能使用CHWID聯(lián)系分別的激活記錄,以建立該用戶軟件購買的習(xí)慣的圖。為預(yù)防此情況,通過使用如hashx=MD5[(鹽值(salt value))x+ID String]那樣的散列函數(shù)(其中對每個軟件包鹽值是不同的)構(gòu)造每個獨(dú)立的散列,使從不同機(jī)器來的不同的CHWID看來是無聯(lián)系的。
在步驟421,級聯(lián)組件實(shí)例第二散列值,以形成簡明硬件標(biāo)識(CHWID)35的散列部分33’(如圖3所示)。
在步驟427,簡明硬件標(biāo)識(CHWID)的版本組件31’與簡明硬件標(biāo)識(CHWID)的散列部分33’級聯(lián)以形成對硬件配置HW1的最終簡明硬件標(biāo)識(CHWID)。然后方法進(jìn)到步驟428?;氐缴鲜雠袛嗫?25,若簡明硬件標(biāo)識(CHWID)不包括版本組件31’,方法直接進(jìn)到步驟428。
在步驟428,存儲對硬件配置HW1最終的簡明硬件標(biāo)識(CHWID),為以后使用。如下所述,對硬件配置HW1的簡明硬件標(biāo)識(CHWID)能存儲在本地(如在寄存器、文件系統(tǒng)、或安全存儲中)、或在可訪問的遠(yuǎn)處(如數(shù)據(jù)庫)。
如上討論,在本發(fā)明的某些實(shí)施例中,對硬件配置HW1的簡明硬件標(biāo)識(CHWID)可以只包含散列部分33’。
H.使用簡明硬件標(biāo)識(CHWID)使得能在計算機(jī)系統(tǒng)上使用軟件產(chǎn)品本發(fā)明還針對使用簡明硬件標(biāo)識(CHWID)使得能在具有給定的計算機(jī)硬件配置的計算機(jī)系統(tǒng)上使用軟件產(chǎn)品的方法。在本發(fā)明的實(shí)施例中,使用簡明硬件標(biāo)識(CHWID)使得能在具有給定的計算機(jī)配置的計算機(jī)系統(tǒng)上使用軟件產(chǎn)品的方法在以下情況被啟用(1)除了初始安裝以外在計算機(jī)上軟件的任何安裝期間,(ii)在運(yùn)行已經(jīng)存在于計算機(jī)硬件配置中的組件上的軟件產(chǎn)品或應(yīng)用期間,或(iii)兩者。在圖9-10中描述使用簡明硬件標(biāo)識(CHWID)的示例性方法。示例性方法的步驟能由在客戶計算機(jī)(類似于參考圖1描述的計算機(jī)20)上的軟件產(chǎn)品中的軟件代碼實(shí)行。
如圖9的步驟501所示,軟件產(chǎn)品在具有硬件配置HW2的計算機(jī)上裝載或起動。計算機(jī)硬件配置HW2(i)能與用于產(chǎn)生初始的詳備硬件標(biāo)識(稱之為iVHWID)或初始的簡明硬件標(biāo)識(稱之為iCHWID)的硬件配置相同,或(ii)能是完全不同的計算機(jī)。
在步驟502,對計算機(jī)硬件配置HW2產(chǎn)生新的簡明硬件標(biāo)識(稱之為nCHWID)。能如上所述并如圖4-8所示地對計算機(jī)硬件配置HW2產(chǎn)生新的簡明硬件標(biāo)識(nCHWID)。一旦對計算機(jī)硬件配置HW2產(chǎn)生了新的簡明硬件標(biāo)識(nCHWID),在步驟503檢索存儲的詳備硬件標(biāo)識(VHWID)或存儲的簡明硬件標(biāo)識(CHWID)。通常,存儲的詳備硬件標(biāo)識(VHWID)是初始的詳備硬件標(biāo)識(iVHWID),它在軟件產(chǎn)品初始安裝到第一計算機(jī)硬件配置HW1期間在HW1上產(chǎn)生。類似地,存儲的簡明硬件標(biāo)識(CHWID)通常是初始的簡明硬件標(biāo)識(iCHWID),它在軟件產(chǎn)品初始安裝到第一計算機(jī)硬件配置HW1期間在HW1上產(chǎn)生。
在判斷框504作出判斷,以前存儲的硬件標(biāo)識是否為存儲的簡明硬件標(biāo)識(CHWID)。若以前存儲的硬件標(biāo)識是存儲的簡明硬件標(biāo)識(sCHWID),方法進(jìn)到步驟505,其中硬件配置HW2的新簡明硬件標(biāo)識(nCHWID)與硬件配置HW1的以前存儲的簡明硬件標(biāo)識(sCHWID)相比較。若以前存儲的硬件標(biāo)識是存儲的詳備硬件標(biāo)識(sVHWID),方法進(jìn)到步驟509。在步驟509,新的簡明硬件標(biāo)識(CHWID)與存儲的詳備硬件標(biāo)識(VHWID)比較。對在存儲的詳備硬件標(biāo)識(VHWID)的每個組件類別中的每個第一散列值執(zhí)行第二散列函數(shù),且其結(jié)果與在新的簡明硬件標(biāo)識(CHWID)中每個組件類別相關(guān)的第二散列值比較。方法隨后進(jìn)到判斷框506。
在判斷框506作出判斷,組件類別匹配的個數(shù)是否等于或超過為了能在硬件配置HW2上使用軟件產(chǎn)品所必需的組件類別匹配數(shù)m。若組件類別匹配數(shù)等于或超過所需的組件類別匹配數(shù)m,方法進(jìn)到步驟507,其中方法使得能在硬件配置HW2上使用該軟件產(chǎn)品。若組件類別匹配數(shù)小于所需的組件類別匹配數(shù)m,方法進(jìn)到步驟508,其中該方法使得不能在硬件配置HW2上使用該軟件產(chǎn)品。
在步驟505,硬件配置HW2的新簡明硬件標(biāo)識(nCHWID)與(1)硬件配置HW1以前存儲的簡明硬件標(biāo)識(CHWID)或(2)硬件配置HW1的以前存儲的詳備硬件標(biāo)識(VHWID)作比較,這里后兩者一起稱為“硬件配置HW1的硬件標(biāo)識(HWID)”,此比較涉及一個或多個規(guī)則,用于判斷對給定的組件類別是否存在匹配。希望地,使用簡明硬件標(biāo)識(CHWID)使得能使用軟件產(chǎn)品的方法包括一個或多個下列規(guī)則,用于確定在對硬件配置HW2新產(chǎn)生的簡明硬件標(biāo)識(nCHWID)與硬件配置HW1的簡明硬件標(biāo)識(CHWID)或詳備硬件標(biāo)識(VHWID)之間的組件類別匹配數(shù)(i)在表示在硬件配置HW2的一個或多個組件類別中的選擇組件實(shí)例的新簡明硬件標(biāo)識(nCHWID)中的每個組件實(shí)例第二散列結(jié)果與在硬件配置HW1的簡明硬件標(biāo)識(CHWID)中的或從HW1的詳備硬件標(biāo)識(VHWID)推導(dǎo)出的對應(yīng)的一個或多個組件類別中的每個組件實(shí)例第二散列結(jié)果進(jìn)行比較;(ii)當(dāng)在對硬件配置HW2的新的簡明硬件標(biāo)識(nCHWID)的組件類別中的一個第二組件實(shí)例散列結(jié)果與在硬件配置HW1的簡明硬件標(biāo)識(CHWID)中的或從HW1的詳備硬件標(biāo)識(VHWID)推導(dǎo)出的對應(yīng)的組件類別中的任何一個第二組件實(shí)例散列結(jié)果匹配時,則在硬件配置HW2的組件類別與硬件配置HW1的對應(yīng)組件類別之間存在匹配;(iii)當(dāng)在用于形成對硬件配置HW2的新簡明硬件標(biāo)識(nCHWID)的組件類別中的一個第二組件實(shí)例散列結(jié)果與在用于形成硬件配置HW1的詳備硬件標(biāo)識(VHWID)的對應(yīng)組件類別中二個或多個導(dǎo)出的第二組件實(shí)例散列結(jié)果相匹配時,在硬件配置HW2的組件類別和硬件配置HW1的對應(yīng)組件類別之間存在單個匹配;(iv)當(dāng)在硬件配置HW2中的組件類別不包含第二組件實(shí)例散列結(jié)果,且在硬件配置HW1中對應(yīng)的組件類別的確包含第二組件實(shí)例散列結(jié)果時,在硬件配置HW2的組件類別和硬件配置HW1的對應(yīng)組件類別之間不存在匹配;(v)當(dāng)硬件配置HW2中的組件類別包含單個第二組件實(shí)例散列結(jié)果,且在硬件配置HW1中的對應(yīng)組件類別不包含第二組件實(shí)例結(jié)果時,在硬件配置HW2的組件類別和硬件配置HW1的對應(yīng)的組件類別之間不存在匹配;和(vi)當(dāng)在硬件配置HW2中的組件類別不包含第二組件實(shí)例散列結(jié)果,且在硬件配置HW1中的對應(yīng)組件類別中不包含第二組件實(shí)例散列結(jié)果時,在硬件配置HW2的組件類別和硬件配置HW1的對應(yīng)組件類別之間存在匹配;和(vii)在硬件配置HW2和硬件配置HW1之間的所需組件類別匹配數(shù)m可以是預(yù)定的并嵌入到給定的軟件產(chǎn)品的代碼中。
需要的組件類別匹配的數(shù)m根據(jù)對硬件配置組件改變所要求的限度進(jìn)行選擇。所需組件類別匹配數(shù)m可以是(i)與在確定詳備硬件標(biāo)識(VHWID)期間考慮的組件類別的總數(shù)n一樣大,或(ii)與在確定簡明硬件標(biāo)識(CHWID)期間考慮的選擇組件類別的總數(shù)q一樣大,或(iii)象1那樣小。當(dāng)m增加時,對計算機(jī)硬件配置改變的富余程度減少。例如,若組件類別的總數(shù)n等于10而m等于7,為使得能加載或運(yùn)行軟件產(chǎn)品,10個組件類別中的7個必須匹配至少一個組件實(shí)例。若組件類別匹配的數(shù)小于7,該軟件產(chǎn)品將不能在該計算機(jī)硬件配置上運(yùn)行或加載。
所需的組件類別匹配數(shù)m可以由軟件制造商預(yù)定,并編碼到用于產(chǎn)生簡明硬件標(biāo)識(CHWID)的軟件產(chǎn)品代碼中。在本發(fā)明的一個示例性實(shí)施例中,希望地,m等于(n-3)。更希望地,m等于(n-2)。在本發(fā)明的另外示例性實(shí)施例中,希望地,m等于(q-3)。更希望地,m等于(q-2)。然而,如上指出,m能從1到n。
上面所描述并示于圖4-10的方法步驟能在本地或遠(yuǎn)處執(zhí)行。通常,客戶購買能在如圖1所示的計算機(jī)20那樣的給定計算機(jī)上運(yùn)行的軟件產(chǎn)品。軟件產(chǎn)品能是具有存儲在可運(yùn)輸?shù)挠嬎銠C(jī)可讀介質(zhì)(如CD-ROM或軟盤)上的軟件程序的熱塑料包裝的產(chǎn)品。另選地,軟件產(chǎn)品能在網(wǎng)絡(luò)(如局域網(wǎng)(LAN)51,或廣域網(wǎng)(WAN)52)上電子地傳遞??蛻魧④浖a(chǎn)品作為存儲在系統(tǒng)存儲器22上的程序加載到計算機(jī)20上。
在軟件產(chǎn)品安裝期間,通常提示用戶輸入軟件產(chǎn)品的軟件產(chǎn)品標(biāo)識(PID)的一部分到計算機(jī)20。例如,PID能從印刷在熱塑料包裝袋的標(biāo)簽上的CD密鑰得到??蛻糨斎肱c該軟件產(chǎn)品的軟件程序有關(guān)的PID。PID存在計算機(jī)20本地和/或遠(yuǎn)程地存在可由第三方(如激活機(jī)構(gòu))訪問的位置,該位置既可以在局域網(wǎng)(LAN)51上也可以在廣域網(wǎng)(WAN)52上。
如上所述,在安裝或激活軟件產(chǎn)品期間,還利用在軟件產(chǎn)品中的代碼生成或由軟件產(chǎn)品的安裝觸發(fā)詳備硬件標(biāo)識(VHWID)和/或簡明硬件標(biāo)識(CHWID)。由本發(fā)明的方法產(chǎn)生的詳備硬件標(biāo)識(VHWID)和/或簡明硬件標(biāo)識(CHWID)與軟件產(chǎn)品標(biāo)識(PID)有關(guān),并與軟件產(chǎn)品標(biāo)識一起存在本地計算機(jī)20上和/或遠(yuǎn)程地存在可由第三方(如激活機(jī)構(gòu))訪問的位置,該位置既可以在局域網(wǎng)(LAN)51上也可以在廣域網(wǎng)(WAN)52上。
作為安裝過程的一部分,需要客戶用激活機(jī)構(gòu)來激活該軟件產(chǎn)品。例如,此機(jī)構(gòu)可以是產(chǎn)品制造者或授權(quán)的第三方。激活過程意在強(qiáng)迫客戶激活軟件產(chǎn)品(I)在特定計算機(jī)上安裝和使用或(ii)按產(chǎn)品許可證的協(xié)定安裝和使用。這樣的激活過程詳細(xì)描述在轉(zhuǎn)讓予Microsoft Corporation(Redmond,WA)的美國NO.6,243,468專利中,其內(nèi)容整體引入這里作為參考。
由本發(fā)明的方法產(chǎn)生的詳備硬件標(biāo)識(VHWID)和/或簡明硬件標(biāo)識(CHWID)和軟件產(chǎn)品標(biāo)識(PID)能本地存在計算機(jī)20上和/或遠(yuǎn)程地存在可由激活機(jī)構(gòu)訪問的位置,該位置既可以在局域網(wǎng)(LAN)51上也可以在廣域網(wǎng)(WAN)52上。希望地,該軟件產(chǎn)品(i)在計算機(jī)20上存儲(a)詳備硬件標(biāo)識(VHWID)和/或簡明硬件標(biāo)識(CHWID)和(b)有關(guān)的軟件產(chǎn)品標(biāo)識(PID),以及(ii)在廣域網(wǎng)(WAN)52上電子地發(fā)送(a)詳備硬件標(biāo)識(VHWID)和/或簡明硬件標(biāo)識(CHWID)和(b)相關(guān)的軟件產(chǎn)品標(biāo)識(PID)到激活服務(wù)器。希望地,該軟件產(chǎn)品在首次起動時自動地顯示圖形用戶界面(UI)對話窗口,它提示用戶起動與激活服務(wù)器的連接以便激活。激活服務(wù)器維持一個數(shù)據(jù)庫,存儲(a)接收到的詳備硬件標(biāo)識(VHWID)和/或簡明硬件標(biāo)識(CHWID)和(b)有關(guān)的軟件產(chǎn)品標(biāo)識(PID)。
對給定軟件產(chǎn)品的詳備硬件標(biāo)識(VHWID)和/或簡明硬件標(biāo)識(CHWID)和相關(guān)的軟件產(chǎn)品標(biāo)識能被存儲無限長時間,直到軟件產(chǎn)品被重新安裝到另外計算機(jī)或在第一臺計算機(jī)(即在初始安裝期間使用的計算機(jī))上起動。當(dāng)同樣的軟件產(chǎn)品在另外計算機(jī)重新安裝或在第一臺計算機(jī)上起動時,根據(jù)本發(fā)明,在軟件產(chǎn)品上的代碼起動產(chǎn)生新的簡明硬件標(biāo)識(CHWID)的方法。軟件產(chǎn)品還從本地計算機(jī)20或經(jīng)局域網(wǎng)(LAN)51或廣域網(wǎng)(WAN)52從遠(yuǎn)處檢索以前存儲的(a)詳備硬件標(biāo)識(VHWID)和/或簡明硬件標(biāo)識(CHWID)和(b)軟件產(chǎn)品的相關(guān)的軟件產(chǎn)品標(biāo)識(PID)。如上所述,在新的簡明硬件標(biāo)識(CHWID)與以前存儲的簡明硬件標(biāo)識(CHWID)之間作出比較。
在作為替換的手動情形,客戶通過電話向服務(wù)代表提供簡明硬件標(biāo)識(CHWID),而服務(wù)代表根據(jù)該簡明硬件標(biāo)識(CHWID)向客戶提供確認(rèn)標(biāo)識(CID)??蛻敉ㄟ^UI窗口輸入確認(rèn)標(biāo)識(CID)。
當(dāng)由于第一臺計算機(jī)(即在初始安裝期間使用的計算機(jī))的硬件配置中的重大改變,使得軟件產(chǎn)品的使用被拒絕時,向客戶提供一個對話框,說明該軟件產(chǎn)品的使用被拒絕,能從給定的源獲得有關(guān)該軟件產(chǎn)品進(jìn)一步使用的信息。
III.簡明硬件標(biāo)識(CHWID)的其它使用本發(fā)明的簡明硬件標(biāo)識(CHWID)也能用于除上述以外的其它目的。在本發(fā)明的一個實(shí)施例中,使用簡明硬件標(biāo)識(CHWID)來創(chuàng)建半唯一的安裝ID以跟蹤機(jī)器。在本發(fā)明的另外實(shí)施例中,當(dāng)授予在客戶機(jī)上使用軟件的許可證時,在交換所服務(wù)器上使用簡明硬件標(biāo)識(CHWID 。
雖然已參考特定的實(shí)施例作了詳細(xì)說明,本領(lǐng)域普通技術(shù)人員在理解了以上描述之后應(yīng)容易地想象出對這些實(shí)施例的更改、變化和等效物。因而,本發(fā)明的范圍應(yīng)被評估為附后的權(quán)利要求及其等效物的范圍。
權(quán)利要求
1.一種對具有第一硬件配置的第一計算機(jī)系統(tǒng)產(chǎn)生簡明硬件標(biāo)識(CHWID)的方法,該方法包括選擇n個組件類別;確認(rèn)n個組件類別的每一個中的所有組件實(shí)例;產(chǎn)生多個組件實(shí)例第一散列結(jié)果,其中該多個組件實(shí)例第一散列結(jié)果包括對每個組件實(shí)例的第一散列結(jié)果和對n個組件類別的至少一個第一散列結(jié)果;產(chǎn)生多個組件實(shí)例第二散列結(jié)果,其中該多個組件實(shí)例第二散列結(jié)果包括在一個或多個選擇組件類別中的選擇組件實(shí)例第一散列結(jié)果上執(zhí)行第二散列函數(shù)而得到的第二散列結(jié)果;和級聯(lián)多個第二散列結(jié)果以形成散列部分,其中散列部分形成對第一計算機(jī)系統(tǒng)的簡明硬件標(biāo)識(CHWID)。
2.如權(quán)利要求1的方法,其特征在于包括級聯(lián)(i)版本組件和(ii)簡明硬件標(biāo)識(CHWID)的散列部分,以形成對第一計算機(jī)系統(tǒng)的簡明硬件標(biāo)識(CHWID)。
3.如權(quán)利要求1的方法,其特征在于n是最大約16的整數(shù)。
4.如權(quán)利要求2的方法,其特征在于版本組件包括版本號。
5.如權(quán)利要求1的方法,其特征在于n個組件類別的至少一個包含兩個或更多組件實(shí)例。
6.如權(quán)利要求1的方法,其特征在于n個組件類別的每一個包含從0到14個組件實(shí)例。
7.如權(quán)利要求1的方法,其特征在于每個組件實(shí)例第一散列結(jié)果被截斷成16比特的數(shù)。
8.如權(quán)利要求1的方法,其特征在于每個組件實(shí)例第二散列結(jié)果被截斷成少于8比特的數(shù)。
9.如權(quán)利要求1的方法,其特征在于對第一計算機(jī)系統(tǒng)的簡明硬件標(biāo)識(CHWID)具有最多256比特的長度。
10.如權(quán)利要求9的方法,其特征在于對第一計算機(jī)系統(tǒng)的簡明硬件標(biāo)識(CHWID)具有從約32到約64比特的長度。
11.如權(quán)利要求1的方法,其特征在于該方法在加載軟件產(chǎn)品到第一計算機(jī)系統(tǒng)的步驟期間起動。
12.一種計算機(jī)系統(tǒng),所述系統(tǒng)包括至少一個能在該計算機(jī)系統(tǒng)上使用的應(yīng)用模塊的,其中所述至少一個應(yīng)用模塊包括用于執(zhí)行權(quán)利要求1的方法的應(yīng)用程序代碼。
13.一種計算機(jī)可讀介質(zhì),具有存儲其上用于完成權(quán)利要求1的方法的計算機(jī)可執(zhí)行指令。
14.一種判斷軟件產(chǎn)品是否能在具有第二硬件配置的第二計算機(jī)系統(tǒng)上使用的方法,其中第二計算機(jī)系統(tǒng)與具有第一硬件配置的計算機(jī)系統(tǒng)相同或不同,所述軟件產(chǎn)品初始安裝在第一計算機(jī),其中該方法包括對第二硬件配置產(chǎn)生第二簡明硬件標(biāo)識(sCHWID);將對第二硬件配置的第二簡明硬件標(biāo)識(sCHWID)與(i)對第一硬件配置的第一簡明硬件標(biāo)識(fCHWID)或(ii)對第一硬件配置的第一詳備硬件標(biāo)識(fVHWID)進(jìn)行比較;若在第二硬件配置的組件類別和第一硬件配置的對應(yīng)的組件類別之間存在若干匹配,且匹配數(shù)等于或超過需要的組件類別匹配數(shù)m,加載軟件產(chǎn)品到第二計算機(jī)系統(tǒng),和若匹配數(shù)小于m,阻止軟件產(chǎn)品加載到第二計算機(jī)系統(tǒng)。
15.如權(quán)利要求14的方法,其特征在于第二簡明硬件標(biāo)識(sCHWID)由一個方法產(chǎn)生,該方法包括選擇第二硬件配置的n個組件類別;確認(rèn)在第二硬件配置的n個組件的每一個中的所有組件實(shí)例;產(chǎn)生多個組件實(shí)例第一散列結(jié)果,其中多個組件實(shí)例第一散列結(jié)果包括對每個組件實(shí)例的第一散列結(jié)果和對第二硬件配置的n個組件類別的至少一個第一散列結(jié)果;產(chǎn)生多個組件實(shí)例第二散列結(jié)果,其中多個組件實(shí)例第二散列結(jié)果包括在第二硬件配置的一個或多個選擇組件類別中的選擇組件實(shí)例第一散列結(jié)果上執(zhí)行第二散列函數(shù)所得到的第二散列結(jié)果;和級聯(lián)多個第二散列結(jié)果以形成散列部分,其中散列部分形成對第二硬件配置的第二簡明硬件標(biāo)識(sCHWID)。
16.如權(quán)利要求14的方法,其特征在于第一簡明硬件標(biāo)識(fCHWID)由一個方法產(chǎn)生,該方法包括選擇第一硬件配置的n個組件類別;確認(rèn)在第一硬件配置的n個組件類別的每一個中的所有組件實(shí)例;產(chǎn)生多個組件實(shí)例第一散列結(jié)果,其中多個組件實(shí)例第一散列結(jié)果包括對每個組件實(shí)例的第一散列結(jié)果和對第一硬件配置的n個組件類別的至少一個第一散列結(jié)果;產(chǎn)生多個組件實(shí)例第二散列結(jié)果,其中多個組件實(shí)例第二散列結(jié)果包括在第一硬件配置的一個或多個選擇組件類別中的選擇組件實(shí)例第一散列結(jié)果上執(zhí)行第二散列函數(shù)得到的第二散列結(jié)果;和級聯(lián)多個第二散列結(jié)果以形成散列部分,其中散列部分形成對第一硬件配置的第一簡明硬件標(biāo)識(fCHWID)。
17.如權(quán)利要求14的方法,其特征在于第一詳備硬件標(biāo)識(fVHWID)由一個方法產(chǎn)生,該方法包括選擇第一硬件配置的n個組件類別;確認(rèn)在第一硬件配置的n個組件類別的每一個中的所有組件實(shí)例;產(chǎn)生多個組件實(shí)例第一散列結(jié)果,其中多個組件實(shí)例第一散列結(jié)果包括對每個組件實(shí)例的第一散列結(jié)果和對第一硬件配置的n個組件類別的至少一個第一散列結(jié)果;和級聯(lián)多個第一散列結(jié)果以形成散列部分,其中散列部分形成對第一硬件配置的第一詳備硬件標(biāo)識(fVHWID)。
18.如權(quán)利要求14的方法,其特征在于當(dāng)在對第二硬件配置的第二簡明硬件標(biāo)識的組件類別中的一個第二組件實(shí)例散列結(jié)果匹配(i)對第一硬件配置的第一簡明硬件標(biāo)識(fCHWID)的或(ii)從對第一硬件配置的詳備硬件標(biāo)識(fVHWID)的第一組件實(shí)例散列推導(dǎo)出的對應(yīng)的組件類別中的第二組件實(shí)例散列結(jié)果的任一個時,在第二硬件配置的組件類別和第一硬件配置的對應(yīng)組件類別之間存在匹配。
19.如權(quán)利要求14的方法,其特征在于當(dāng)在對第二硬件配置的第二簡明硬件標(biāo)識(sCHWID)的組件類別中的一個第二組件實(shí)例散列結(jié)果匹配在對第一硬件配置的第一詳備硬件標(biāo)識(fVHWID)的對應(yīng)的組件類別中從第一組件實(shí)例散列中推導(dǎo)的二個或更多第二組件實(shí)例散列結(jié)果時,在第二硬件配置的組件類別和第一硬件配置的對應(yīng)組件類別之間存在單個匹配。
20.如權(quán)利要求14的方法,其特征在于(a)當(dāng)在第一硬件配置中的組件類別不包含組件實(shí)例,且在第二硬件配置中的對應(yīng)組件類別包含組件實(shí)例,和(b)當(dāng)在第一硬件配置中的組件類別包含單個組件實(shí)例,且在第二硬件配置中的對應(yīng)組件類別不包含組件實(shí)例時,在第二硬件配置的組件類別和第一硬件配置的對應(yīng)組件類別之間不存在匹配。
21.如權(quán)利要求14的方法,其特征在于當(dāng)在第一硬件配置中的組件類型不包含組件實(shí)例,且在第二硬件配置中的對應(yīng)組件類型不包含組件實(shí)例時,在第二硬件配置的組件類別和第一硬件配置的對應(yīng)組件類別之間存在匹配。
22.如權(quán)利要求14的方法,其特征在于m等于(n-3),其中n表示在用于形成第二簡明硬件標(biāo)識(sCHWID)的第二硬件配置中的組件類別數(shù)。
23.一種計算機(jī)系統(tǒng),所述系統(tǒng)包括至少一個能在該計算機(jī)系統(tǒng)上使用的應(yīng)用模塊的,其中所述至少一個應(yīng)用模塊包括用于執(zhí)行權(quán)利要求14的方法的應(yīng)用程序代碼。
24.一種計算機(jī)可讀介質(zhì),具有存儲其上用于完成權(quán)利要求14的方法的計算機(jī)可執(zhí)行指令。
25.一種計算機(jī)可讀介質(zhì),其上存儲有計算機(jī)可執(zhí)行指令,該計算機(jī)可執(zhí)行指令執(zhí)行對具有第一硬件配置的第一計算機(jī)系統(tǒng)產(chǎn)生簡明硬件標(biāo)識(CHWID)的一種方法,其中該方法包括選擇n個組件類別;確認(rèn)n個組件類別的每一個中的所有組件實(shí)例;產(chǎn)生多個組件實(shí)例第一散列結(jié)果,其中該多個組件實(shí)例第一散列結(jié)果包括對每個組件實(shí)例的第一散列結(jié)果和對n個組件類別的至少一個第一散列結(jié)果;產(chǎn)生多個組件實(shí)例第二散列結(jié)果,其中該多個組件實(shí)例第二散列結(jié)果包括在一個或多個選擇組件類別中的選擇組件實(shí)例第一散列結(jié)果上執(zhí)行第二散列函數(shù)而得到的第二散列結(jié)果;和級聯(lián)多個第二散列結(jié)果以形成散列部分,其中散列部分形成對第一計算機(jī)系統(tǒng)的簡明硬件標(biāo)識(CHWID)。
26.如權(quán)利要求25的計算機(jī)可讀介質(zhì),其特征在于還包括級聯(lián)(i)版本組件和(ii)簡明硬件標(biāo)識(CHWID)的散列部分,以形成對第一計算機(jī)系統(tǒng)的簡明硬件標(biāo)識(CHWID)。
27.如權(quán)利要求25的計算機(jī)可讀介質(zhì),其特征在于n是最大約16的整數(shù)。
28.如權(quán)利要求27的計算機(jī)可讀介質(zhì),其特征在于版本組件包括版本號。
29.如權(quán)利要求25的計算機(jī)可讀介質(zhì),其特征在于n個組件類別的至少一個包含兩個或更多組件實(shí)例。
30.如權(quán)利要求25的計算機(jī)可讀介質(zhì),其特征在于n個組件類別的每一個包含從0到14個組件實(shí)例。
31.如權(quán)利要求25的計算機(jī)可讀介質(zhì),其特征在于對第一計算機(jī)系統(tǒng)的簡明硬件標(biāo)識(CHWID)具有最多256比特的長度。
32.如權(quán)利要求25的計算機(jī)可讀介質(zhì),其特征在于該方法在加載軟件產(chǎn)品到第一計算機(jī)系統(tǒng)的步驟期間起動。
33.一種計算機(jī)可讀介質(zhì),其上存儲有計算機(jī)可執(zhí)行指令,該計算機(jī)可執(zhí)行指令用于執(zhí)行判斷軟件產(chǎn)品是否能在具有第二硬件配置的第二計算機(jī)系統(tǒng)上使用的一種方法,其中第二計算機(jī)系統(tǒng)與具有第一硬件配置的計算機(jī)系統(tǒng)相同或不同,所述軟件產(chǎn)品初始安裝在第一計算機(jī),其中該方法包括對第二硬件配置產(chǎn)生第二簡明硬件標(biāo)識(sCHWID);將對第二硬件配置的第二簡明硬件標(biāo)識(sCHWID)與(i)對第一硬件配置的第一簡明硬件標(biāo)識(fCHWID)或(ii)對第一硬件配置的第一詳備硬件標(biāo)識(fVHWID)進(jìn)行比較;若在第二硬件配置的組件類別和第一硬件配置的對應(yīng)的組件類別之間存在若干匹配,且匹配數(shù)等于或超過需要的組件類別匹配數(shù)m,加載軟件產(chǎn)品到第二計算機(jī)系統(tǒng),和若匹配數(shù)小于m,阻止軟件產(chǎn)品加載到第二計算機(jī)系統(tǒng)。
34.如權(quán)利要求33的計算機(jī)可讀介質(zhì),其特征在于第二簡明硬件標(biāo)識(sCHWID)由一個方法產(chǎn)生,方法包括選擇第二硬件配置的n個組件類別;確認(rèn)在第二硬件配置的n個組件的每一個中的所有組件實(shí)例;產(chǎn)生多個組件實(shí)例第一散列結(jié)果,其中多個組件實(shí)例第一散列結(jié)果包括對每個組件實(shí)例的第一散列結(jié)果和對第二硬件配置的n個組件類別的至少一個第一散列結(jié)果;產(chǎn)生多個組件實(shí)例第二散列結(jié)果,其中多個組件實(shí)例第二散列結(jié)果包括在第二硬件配置的一個或多個選擇組件類別中的選擇組件實(shí)例第一散列結(jié)果上執(zhí)行第二散列函數(shù)所得到的第二散列結(jié)果;和級聯(lián)多個第二散列結(jié)果以形成散列部分,其中散列部分形成對第二硬件配置的第二簡明硬件標(biāo)識(sCHWID)。
35.如權(quán)利要求33的計算機(jī)可讀介質(zhì),其特征在于第一簡明硬件標(biāo)識(fCHWID)由一個方法產(chǎn)生,該方法包括選擇第一硬件配置的n個組件類別;確認(rèn)在第一硬件配置的n個組件類別的每一個中的所有組件實(shí)例;產(chǎn)生多個組件實(shí)例第一散列結(jié)果,其中多個組件實(shí)例第一散列結(jié)果包括對每個組件實(shí)例的第一散列結(jié)果和對第一硬件配置的n個組件類別的至少一個第一散列結(jié)果;產(chǎn)生多個組件實(shí)例第二散列結(jié)果,其中多個組件實(shí)例第二散列結(jié)果包括在第一硬件配置的一個或多個選擇組件類別中的選擇組件實(shí)例第一散列結(jié)果上執(zhí)行第二散列函數(shù)得到的第二散列結(jié)果;和級聯(lián)多個第二散列結(jié)果以形成散列部分,其中散列部分形成對第一硬件配置的第一簡明硬件標(biāo)識(fCHWID)。
36.如權(quán)利要求33的計算機(jī)可讀介質(zhì),其特征在于第一詳備硬件標(biāo)識(fVHWID)由一個方法產(chǎn)生,該方法包括選擇第一硬件配置的n個組件類別;識別在第一硬件配置的n個組件類別的每一個中的所有組件實(shí)例;產(chǎn)生多個組件實(shí)例第一散列結(jié)果,其中多個組件實(shí)例第一散列結(jié)果包括對每個組件實(shí)例的第一散列結(jié)果和對第一硬件配置的n個組件類別的至少一個第一散列結(jié)果;和級聯(lián)多個第一散列結(jié)果以形成散列部分,其中散列部分形成對第一硬件配置的第一詳備硬件標(biāo)識(fVHWID)。
37.如權(quán)利要求33的計算機(jī)可讀介質(zhì),其特征在于,其特征在于當(dāng)在對第二硬件配置的第二簡明硬件標(biāo)識的組件類別中的一個第二組件實(shí)例散列結(jié)果匹配(i)對第一硬件配置的第一簡明硬件標(biāo)識(fCHWID)的或(ii)從對第一硬件配置的詳備硬件標(biāo)識(fVHWID)的第一組件實(shí)例散列推導(dǎo)出的對應(yīng)的組件類別中的第二組件實(shí)例散列結(jié)果的任一個時,在第二硬件配置的組件類別和第一硬件配置的對應(yīng)組件類別之間存在匹配。
38.如權(quán)利要求33的計算機(jī)可讀介質(zhì),其特征在于當(dāng)在對第二硬件配置的第二簡明硬件標(biāo)識(sCHWID)的組件類別中的一個第二組件實(shí)例散列結(jié)果匹配在對第一硬件配置的第一詳備硬件標(biāo)識(fVHWID)的對應(yīng)的組件類別中從第一組件實(shí)例散列中推導(dǎo)的二個或更多第二組件實(shí)例散列結(jié)果時,在第二硬件配置的組件類別和第一硬件配置的對應(yīng)組件類別之間存在單個匹配。
39.如權(quán)利要求33的計算機(jī)可讀介質(zhì),其特征在于(a)當(dāng)在第一硬件配置中的組件類別不包含組件實(shí)例,且在第二硬件配置中的對應(yīng)組件類別包含組件實(shí)例,和(b)當(dāng)在第一硬件配置中的組件類別包含單個組件實(shí)例,且在第二硬件配置中的對應(yīng)組件類別不包含組件實(shí)例時,在第二硬件配置的組件類別和第一硬件配置的對應(yīng)組件類別之間不存在匹配。
40.如權(quán)利要求33的計算機(jī)可讀介質(zhì),其特征在于當(dāng)在第一硬件配置中的組件類型不包含組件實(shí)例,且在第二硬件配置中的對應(yīng)組件類型不包含組件實(shí)例時,在第二硬件配置的組件類別和第一硬件配置的對應(yīng)組件類別之間存在匹配。
41.如權(quán)利要求33的計算機(jī)可讀介質(zhì),其特征在于m等于(n-3),其中n表示在用于形成第二簡明硬件標(biāo)識(sCHWID)的第二硬件配置中的組件類別數(shù)。
42.一種計算機(jī)系統(tǒng),所述系統(tǒng)包括至少一個能在該計算機(jī)系統(tǒng)上使用的應(yīng)用模塊的,其中所述至少一個應(yīng)用模塊包括用于執(zhí)行一種對具有第一硬件配置的第一計算機(jī)系統(tǒng)產(chǎn)生簡明硬件標(biāo)識(CHWID)的方法的應(yīng)用程序代碼,該方法包括選擇n個組件類別;確認(rèn)n個組件類別的每一個中的所有組件實(shí)例;產(chǎn)生多個組件實(shí)例第一散列結(jié)果,其中該多個組件實(shí)例第一散列結(jié)果包括對每個組件實(shí)例的第一散列結(jié)果和對n個組件類別的至少一個第一散列結(jié)果;產(chǎn)生多個組件實(shí)例第二散列結(jié)果,其中該多個組件實(shí)例第二散列結(jié)果包括在一個或多個選擇組件類別中的選擇組件實(shí)例第一散列結(jié)果上執(zhí)行第二散列函數(shù)而得到的第二散列結(jié)果;和級聯(lián)多個第二散列結(jié)果以形成散列部分,其中散列部分形成對第一計算機(jī)系統(tǒng)的簡明硬件標(biāo)識(CHWID)。
43.如權(quán)利要求42的計算機(jī)系統(tǒng),其特征在于還包括級聯(lián)(i)版本組件和(ii)簡明硬件標(biāo)識(CHWID)的散列部分,以形成對第一計算機(jī)系統(tǒng)的簡明硬件標(biāo)識(CHWID)。
44.如權(quán)利要求42的計算機(jī)系統(tǒng),其特征在于n是最大約16的整數(shù)。
45.如權(quán)利要求43的計算機(jī)系統(tǒng),其特征在于版本組件包括版本號。
46.如權(quán)利要求42的計算機(jī)系統(tǒng),其特征在于n個組件類別的至少一個包含兩個或更多組件實(shí)例。
47.如權(quán)利要求42的計算機(jī)系統(tǒng),其特征在于n個組件類別的每一個包含從0到14個組件實(shí)例。
48.如權(quán)利要求42的計算機(jī)系統(tǒng),其特征在于對第一計算機(jī)系統(tǒng)的簡明硬件標(biāo)識(CHWID)具有最多256比特的長度。
49.如權(quán)利要求42的計算機(jī)系統(tǒng),其特征在于該方法在加載軟件產(chǎn)品到第一計算機(jī)系統(tǒng)的步驟期間起動。
50.一種計算機(jī)系統(tǒng),所述系統(tǒng)包括至少一個能在該計算機(jī)系統(tǒng)上使用的應(yīng)用模塊的,其中所述至少一個應(yīng)用模塊包括用于執(zhí)行一種判斷軟件產(chǎn)品是否能在具有第二硬件配置的第二計算機(jī)系統(tǒng)上使用的方法的應(yīng)用程序代碼,其中第二計算機(jī)系統(tǒng)與具有第一硬件配置的計算機(jī)系統(tǒng)相同或不同,所述軟件產(chǎn)品初始安裝在第一計算機(jī),其中該方法包括對第二硬件配置產(chǎn)生第二簡明硬件標(biāo)識(sCHWID);將對第二硬件配置的第二簡明硬件標(biāo)識(sCHWID)與(i)對第一硬件配置的第一簡明硬件標(biāo)識(fCHWID)或(ii)對第一硬件配置的第一詳備硬件標(biāo)識(fVHWID)進(jìn)行比較;若在第二硬件配置的組件類別和第一硬件配置的對應(yīng)的組件類別之間存在若干匹配,且匹配數(shù)等于或超過需要的組件類別匹配數(shù)m,加載軟件產(chǎn)品到第二計算機(jī)系統(tǒng),和若匹配數(shù)小于m,阻止軟件產(chǎn)品加載到第二計算機(jī)系統(tǒng)。
51.如權(quán)利要求50的計算機(jī)系統(tǒng),其特征在于第二簡明硬件標(biāo)識(sCHWID)由一個方法產(chǎn)生,該方法包括選擇第二硬件配置的n個組件類別;確認(rèn)在第二硬件配置的n個組件的每一個中的所有組件實(shí)例;產(chǎn)生多個組件實(shí)例第一散列結(jié)果,其中多個組件實(shí)例第一散列結(jié)果包括對每個組件實(shí)例的第一散列結(jié)果和對第二硬件配置的n個組件類別的至少一個第一散列結(jié)果;產(chǎn)生多個組件實(shí)例第二散列結(jié)果,其中多個組件實(shí)例第二散列結(jié)果包括在第二硬件配置的一個或多個選擇組件類別中的選擇組件實(shí)例第一散列結(jié)果上執(zhí)行第二散列函數(shù)所得到的第二散列結(jié)果;和級聯(lián)多個第二散列結(jié)果以形成散列部分,其中散列部分形成對第二硬件配置的第二簡明硬件標(biāo)識(sCHWID)。
52.如權(quán)利要求50的計算機(jī)系統(tǒng),其特征在于第一簡明硬件標(biāo)識(fCHWID)由一個方法產(chǎn)生,該方法包括選擇第一硬件配置的n個組件類別;確認(rèn)在第一硬件配置的n個組件類別的每一個中的所有組件實(shí)例;產(chǎn)生多個組件實(shí)例第一散列結(jié)果,其中多個組件實(shí)例第一散列結(jié)果包括對每個組件實(shí)例的第一散列結(jié)果和對第一硬件配置的n個組件類別的至少一個第一散列結(jié)果;產(chǎn)生多個組件實(shí)例第二散列結(jié)果,其中多個組件實(shí)例第二散列結(jié)果包括在第一硬件配置的一個或多個選擇組件類別中的選擇組件實(shí)例第一散列結(jié)果上執(zhí)行第二散列函數(shù)得到的第二散列結(jié)果;和級聯(lián)多個第二散列結(jié)果以形成散列部分,其中散列部分形成對第一硬件配置的第一簡明硬件標(biāo)識(fCHWID)。
53.如權(quán)利要求50的計算機(jī)系統(tǒng),其特征在于第一詳備硬件標(biāo)識(fVHWID)由一個方法產(chǎn)生,該方法包括選擇第一硬件配置的n個組件類別;確認(rèn)在第一硬件配置的n個組件類別的每一個中的所有組件實(shí)例;產(chǎn)生多個組件實(shí)例第一散列結(jié)果,其中多個組件實(shí)例第一散列結(jié)果包括對每個組件實(shí)例的第一散列結(jié)果和對第一硬件配置的n個組件類別的至少一個第一散列結(jié)果;和級聯(lián)多個第一散列結(jié)果以形成散列部分,其中散列部分形成對第一硬件配置的第一詳備硬件標(biāo)識(fVHWID)。
54.如權(quán)利要求50的計算機(jī)系統(tǒng),其特征在于當(dāng)在對第二硬件配置的第二簡明硬件標(biāo)識的組件類別中的一個第二組件實(shí)例散列結(jié)果匹配(i)對第一硬件配置的第一簡明硬件標(biāo)識(fCHWID)的或(ii)從對第一硬件配置的詳備硬件標(biāo)識(fVHWID)的第一組件實(shí)例散列推導(dǎo)出的對應(yīng)的組件類別中的第二組件實(shí)例散列結(jié)果的任一個時,在第二硬件配置的組件類別和第一硬件配置的對應(yīng)組件類別之間存在匹配。
55.如權(quán)利要求50的計算機(jī)系統(tǒng),其特征在于當(dāng)在對第二硬件配置的第二簡明硬件標(biāo)識(sCHWID)的組件類別中的一個第二組件實(shí)例散列結(jié)果匹配在對第一硬件配置的第一詳備硬件標(biāo)識(fVHWID)的對應(yīng)的組件類別中從第一組件實(shí)例散列中推導(dǎo)的二個或更多第二組件實(shí)例散列結(jié)果時,在第二硬件配置的組件類別和第一硬件配置的對應(yīng)組件類別之間存在單個匹配。
56.如權(quán)利要求50的計算機(jī)系統(tǒng),其特征在于(a)當(dāng)在第一硬件配置中的組件類別不包含組件實(shí)例,且在第二硬件配置中的對應(yīng)組件類別包含組件實(shí)例,和(b)當(dāng)在第一硬件配置中的組件類別包含單個組件實(shí)例,且在第二硬件配置中的對應(yīng)組件類別不包含組件實(shí)例時,在第二硬件配置的組件類別和第一硬件配置的對應(yīng)組件類別之間不存在匹配。
57.如權(quán)利要求50的計算機(jī)系統(tǒng),其特征在于當(dāng)在第一硬件配置中的組件類型不包含組件實(shí)例,且在第二硬件配置中的對應(yīng)組件類型不包含組件實(shí)例時,在第二硬件配置的組件類別和第一硬件配置的對應(yīng)組件類別之間存在匹配。
58.如權(quán)利要求50的計算機(jī)系統(tǒng),其特征在于m等于(n-3),其中n表示在用于形成第二簡明硬件標(biāo)識(sCHWID)的第二硬件配置中的組件類別數(shù)。
全文摘要
揭示了對給定計算機(jī)系統(tǒng)產(chǎn)生簡明硬件標(biāo)識(CHWID)的系統(tǒng)和方法。簡明硬件標(biāo)識(CHWID)能用于根據(jù)對計算機(jī)系統(tǒng)硬件改變的程度,控制軟件在給定計算機(jī)系統(tǒng)的使用。簡明硬件標(biāo)識(CHWID)能在如電話那樣的有限帶寬介質(zhì)上以電的形式發(fā)送。
文檔編號G06F12/00GK1530790SQ200410028648
公開日2004年9月22日 申請日期2004年3月3日 優(yōu)先權(quán)日2003年3月3日
發(fā)明者C·古尼亞克迪, F·J·阿拉布拉巴, A·T·休斯, C 古尼亞克迪, 休斯, 阿拉布拉巴 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1