TWI550429B - 使用數位執照之軟體啟動 - Google Patents
使用數位執照之軟體啟動 Download PDFInfo
- Publication number
- TWI550429B TWI550429B TW100139971A TW100139971A TWI550429B TW I550429 B TWI550429 B TW I550429B TW 100139971 A TW100139971 A TW 100139971A TW 100139971 A TW100139971 A TW 100139971A TW I550429 B TWI550429 B TW I550429B
- Authority
- TW
- Taiwan
- Prior art keywords
- purchase
- instance
- computing device
- software
- digital
- Prior art date
Links
- 230000004913 activation Effects 0.000 title claims description 31
- 238000000034 method Methods 0.000 claims description 46
- 238000013475 authorization Methods 0.000 claims description 31
- 238000003860 storage Methods 0.000 claims description 24
- 238000009826 distribution Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 8
- 239000000463 material Substances 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 claims 1
- 238000009434 installation Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 230000009471 action Effects 0.000 description 13
- 238000012795 verification Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000699670 Mus sp. Species 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012019 product validation Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/102—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/103—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for protecting copy right
Description
本發明是關於使用數位執照之軟體的啟動。
軟體產品,如作業系統與應用軟體程式通常帶有受到著作權法保護的材料,著作權法賦予原創作品(如,軟體碼)的作者想要利用與散佈該作品的排他權。想要由擁有軟體產品的銷售商得到該軟體產品的複本,使用者與銷售商通常會達成授權協議,以決定使用者可如何使用和/散佈該軟體產品。舉例來說,授權協議可限制使用者得以安裝該軟體的次數和/或該軟體可安裝的電腦數目。
若使用者能夠取得軟體產品的複本而不支付費用,將會損害銷售軟體產品授權的銷售商之權益。為了防止使用者使用此種未經授權的複本,軟體銷售商通常會在使用者嘗試安裝軟體產品之複本時要求使用者完成「啟動」程序。此程序通常涉及決定此複本是否經授權可供安裝(如,該複本是否為該使用者合法購入)和/或該安裝是否符合一或更多適用的授權協議(如,使用者是否已經超出所允許的安裝上限)。
某些傳統的軟體啟動技術使用所謂的「購買證明」,此為一種當使用者合法購買或以其他合法方式取得軟體產品複本時,提供給使用者的資訊,該「購買證明」可作為合法購買產品的「證明」。當此種證明被接受或通過驗證後,會允許使用者完成安裝作業,且會視使用者針對該特定安裝作業所取得的一或多授權而賦能軟體產品中的適當功能。
通常,購自零售商的電腦系統已經擁有由原設備製造商(original equipment manufacturer,OEM)或原設計製造商(original design manufacturer,ODM)預先安裝的軟體。下文,將交替使用OEM與ODM等詞。在此種情形中,一種傳統的軟體啟動方法是基於所謂的「繞道」機制,此是指OEM向軟體銷售商購買一般授權執照,並將與該一般授權有關的靜態字符(static token)儲存於電腦系統的硬體(如,主機板BIOS)中。接著,將個別購買證明貼紙-稱為真品憑證(certificate of authenticity,COA)-貼附於電腦上。COA使得使用者能夠以肉眼確認使用者所購買的軟體是否為真品。使用者可輸入COA以啟動OEM預先安裝的軟體,而不需與軟體銷售商交涉(即,繞道)。
本案發明人發現基於繞道機制的傳統軟體啟動技術有多種缺失,包括可能受到軟體授權執照盜版之問題。一種情形是真品憑證被偽造。另一種情形是當電腦製造商非法安裝一軟體複本於多台新的電腦上並將先前已販售的COA固定於該等新電腦上。
傳統繞道機制的另一種缺點在於實施成本。將COA貼紙貼附於每一台電腦的金錢與人力成本都很高,譬如需要存貨、盤點COA、必須安全地儲存COA、以及安全地運送。舉例來說,有時需要使用有防護鋼板的卡車來運送COA貼紙。基於類似的理由,在處理已購買軟體和/或電腦系統的退貨時,成本也很高。
本案發明人也意識到傳統的繞道機制不容易收集所謂的「相關資料」,也就是對於軟體銷售商或OEM有用的任何資訊。相關資料的例示包括與商業相關的資料,常稱為「商業智慧」(business intelligence),該「商業智慧」包括的資訊有譬如預先安裝軟體產品的電腦數目、該等電腦的硬體組態和/或當該等電腦系統運送後的位置。相關資料的其他例示包括預先安裝該軟體的電腦系統當機的頻率以及該等當機的本質。
本發明的一些實施例藉由使用數位購買證明(即,執照)來取代傳統的COA貼紙,並利用電子傳遞的方式透過安全的網路將數位購買證明由軟體銷售商傳送給OEM;因而解決了該等和/或其他缺點。如此一來,不僅能夠藉由消除與儲存和運送COA貼紙相關的成本而降低軟體啟動程序的成本,還增添了軟體盜版與執照偽造的困難度。
在一些實施例中,在軟體產品安裝於電腦上之後,可將相應的數位購買證明和取決於系統的硬體組態的系統識別碼建立關聯。此種和傳統繞道機制不同之處在於,傳統上每一COA都是關聯到由一般授權所衍生的相同靜態字符。在將該系統運送給使用者之前,OEM可將數位購買證明與系統識別碼儲存於系統硬體上,且可將該兩者回報給軟體銷售商。軟體盜版的一種例子就是將軟體產品的複本非法安裝於多台電腦上,採用此處提出的實施例,使得此種盜版形式更加困難。
在一些實施例中,使用者可傳送啟動請求給軟體銷售商,此啟動請求包括儲存於系統上的購買證明與系統識別碼。軟體銷售商可允許使用者完成安裝作業。此使得軟體盜版更加困難,因為軟體銷售商可以利用將特定購買證明和特定電腦系統建立關聯的資訊來決定是否允許使用者完成安裝作業。
在一些實施例中,OEM與軟體銷售商可彼此共享上述相關資料。譬如,OEM可向軟體銷售商回報過去一年間所銷售的預先安裝特定軟體產品且具有特定硬體組態之系統數目。本案發明人認識到,如果將軟體產品的多個特定複本和特定電腦系統建立關聯,可使得收集與共享該等資訊更為簡單。
上文為本發明的非限制性之概要說明,本發明係由附隨申請專利範圍所限定。
根據本揭示內容的一些實施例,可由軟體啟動程序中所涉及的各方來建立和/或交換識別軟體複本的資訊(如,購買證明)、識別電腦系統的資訊(如,系統識別碼)及識別OEM的資訊(如,OEM識別碼)。在此處,「數位授權資訊集合」(DAIS)一詞係指上述資訊的至少一部份。舉例來說,數位授權資訊集合可包括軟體產品複本的購買證明與系統識別碼。數位授權資訊集合還包括OEM可能想要回報給軟體銷售商的任何資訊,譬如OEM識別碼。
圖1繪示按照一實施例的數位授權資訊集合100,該數位授權資訊集合100包括數位購買證明(PoP)101、OEM識別碼102、系統識別碼103與額外資訊104。
購買證明101包括當顧客(如,OEM、第三方、使用者)合法購買或以其他合法方式取得軟體產品之複本時,該顧客可取得之資訊。PoP可作為顧客擁有之軟體複本合法之「證明」。可將獨一的購買證明和該軟體產品的每一複本建立關聯。
在一些實施例中,可由軟體銷售商產生購買證明101,且該購買證明101可以是任何適當類型。譬如可以是數字或文數字串。
在一些實施例中,購買證明可以是美國專利申請案第12/950,777號(申請日2010年11月19日,代理人文檔編號M1103.70903US00,發明名稱為Secure Software Product Identifier for Product Validation and Activation)所述的產品金鑰,在此以引用之方式將該申請案全文併入於此。此類產品金鑰之概要說明如下。
在一些實施例中,產品金鑰可包括兩個元件:識別元件,該識別元件係用以識別軟體產品的特定複本(或在企業授權的情形中,為一群複本);及安全性元件,該安全性元件可用以確認產品金鑰係由具有適當權限者(如,軟體銷售商)所產生和/或在散佈過程中未經竄改。舉例來說,識別元件可包括序號;而安全性元件可包括對該序號的電子簽署,該電子簽署係利用軟體銷售商之秘密金鑰所產生。
一種例示性的產品金鑰採用俗稱的5x5格式,該等25個字元中有24個字元是選自由24個字元(即,BCDFGHJKMPQRTVWXY2346789)組成的符號表,在一實施例中,第九個位置插入了一特殊字元「N」,如下文實施例1所示:
實施例1
BCDFG-HJK(N)M-PQRTV-WXY23-46789
此格式可和同樣採用5x5格式的既有產品金鑰實施方式相容,且安裝程式可基於輔助目的而利用此特殊字元「N」的位置。
在一些實施例中,將實施例1的產品金鑰中的特殊字元「N」移除後,可將該產品金鑰解碼成114位元的字串。該位元字串中的前50位元可對應至產品金鑰的識別元件,其中前20位元代表群組ID而其餘30位元代表序號。其次的63位元可對應至產品金鑰的安全性元件,其中的40、13與10位元分別分配到第一安全性數值、第二安全性數值與核對和。最後位元可指出與該產品金鑰相關聯之該軟體產品的該複本是否是由第三方所散佈。
回到圖1,OEM識別碼102包括可獨一地識別OEM之資訊,且可以是任何適當的類型。譬如,該OEM識別碼102可以是文數識別碼。可由多種方式獲取OEM識別碼。舉例來說,可由OEM產生,或由另一方指派給OEM。OEM可將OEM識別碼提供給軟體銷售商或第三方,此第三方係指OEM在購買軟體執照的過程中可能的交涉對象。
系統識別碼103可以是電腦系統的識別碼。在一些情形中,系統識別碼103可以是獨一的,而在其他情形中則可以是非獨一的。該系統識別碼103可由OEM產生,且可為任何適當類型,且可以是數字或文數字串。下文實施例2顯示了一種例示的系統識別碼,該系統識別碼為文數字串形式:
實施例2
MAAAAAAAAgABAAIAAAACAAAAAgABAAEAe
qiexgAYen+Y2lp4QrLqGtRfg1FqHv5h
系統識別碼可取決於電腦系統的態樣。譬如系統識別碼可取決於系統的硬體,如主基板、處理器與及隨機存取記憶體(RAM)。在其他實施例中,由於可能需要替換電腦系統的硬體元件,使用不依賴於替換之硬體的系統識別碼可能有用。因此,系統識別碼可僅取決於電腦系統硬體的子集。舉例來說,若系統識別碼不取決於硬碟,則即便替換了電腦的硬碟,該電腦仍會擁有相同的系統識別碼。然而,並非所有本發明的實施例都受限於此實施方式。舉例來說,除了硬體組態之外,系統識別碼亦可取決於已安裝於電腦系統上之軟體。
數位授權資訊集合可包括在軟體啟動程序中有用的額外資訊104。額外資訊可為任何適當類型,且可包括譬如購買軟體和/或系統的日期與時間戳記、文數庫存計量單位(stock-keeping unit,SKU)識別碼、OEM型號、服務標籤以及來自任何軟體經銷商(包括,譬如軟體銷售商、OEM、經銷商與零售商)的與軟體相關的資訊。
圖2繪示用於使用數位執照之軟體啟動的示範性系統200。例示的系統200可包括軟體銷售商元件201、OEM元件203、使用者電腦204與第三方購買證明經銷商元件202;下文分別稱為軟體銷售商、OEM、使用者電腦與第三方購買證明經銷商。圖2中以虛線呈現第三方PoP經銷商202,代表此元件並非必要元件。可以多種方式是來實施例示的系統200。舉例來說,雖然圖2中並未繪示,例示的系統200可包括多個軟體銷售商、多個OEM和/或多個使用者。更有甚者,每一元件201、202、203與204可分別包括電腦或多個電腦。
在例示的系統200中,可透過網路來實踐任何元件子集合(如,軟體銷售商201與OEM 203之間)間的通訊,所述的網路可包括,諸如網際網路、LAN、WAN和/或任何有線或無線網路,或上述的組合。亦可透過可攜式儲存裝置,包括USB碟、可攜式硬碟、光碟和/或任何其他適當的電腦可讀取儲存媒體,來實踐所述通訊。
在一些實施例中,軟體銷售商201可傳遞至少一數位購買證明給OEM 203。可利用多種方式來完成所述的傳遞,譬如可利用安全通道。透過安全通道進行通訊可包括使用超文件傳送協定安全(Hypertext Transfer Protocol Secure,HTTPS)或任何其他經加密的裝置或通訊協定。
在其他實施例中,軟體銷售商201可利用任何方式透過第三人購買證明經銷商202將至少一數位購買證明傳遞給OEM。舉例來說,OEM可先將至少一數位購買證明提供給第三方購買證明經銷商202。之後該第三方購買證明經銷商202可將至少一數位購買證明提供給OEM 203。
在一些實施例中,提供給OEM 203的每一購買證明可授權OEM 203將軟體產品的複本安裝於電腦上。對於OEM 203安裝於電腦系統上的每一軟體產品複本,OEM 203可於該系統硬體上儲存額外資訊,此額外資訊可用於後續軟體啟動程序。舉例來說,OEM 203可產生與該電腦系統相關的系統識別碼,且可將該系統識別碼儲存於該系統硬體上。另一實施例包括將該購買證明儲存於該系統硬體上。又一實施例包括將相關資料儲存於該系統硬體上。OEM 203可產生數位授權資訊集合100,該數位授權資訊集合100包括購買證明與系統識別碼,且可將此數位授權資訊集合100儲存於電子儲存系統中。
OEM 203可向軟體銷售商201警示軟體產品(如,和所傳送的購買證明相關之軟體產品)的複本已經過安裝。可利用多種方法來完成此操作。舉例來說,OEM 203可向軟體銷售商201警示何種購買證明已被使用,該OEM 203可藉由向軟體銷售商201傳送一報告,該報告中包括經儲存的購買證明以及該軟體所儲存的系統之系統識別碼。雖然圖2並未繪示,軟體銷售商201可將此資訊儲存於電子儲存系統中。OEM 203可將預先安裝該軟體的至少一系統運送給使用者205。一旦使用者205收到該系統,此系統就稱為使用者的電腦204。
在一些實施例中,使用者的電腦204可能試圖自動地啟動安裝於該電腦上的軟體。可利用任何適當方式來完成此操作,譬如,建立與軟體銷售商201的連線,並傳送啟動請求。所述的啟動請求可包括購買證明101與儲存於該使用者的電腦204上的系統識別碼103。
在其他實施例中,使用者205試圖啟動安裝於使用者的電腦204上的軟體時,可和軟體銷售商201建立電話連線,並和軟體銷售商201進行資訊通訊,以啟動並驗證該預先安裝的軟體。上述資訊可包括識別數字,該識別數字可由使用者的電腦204所提供,且可取決於使用者的電腦204上的購買證明與系統識別碼。可取而代之地使用任何其他技術,來啟動已安裝於使用者的電腦204上的軟體。譬如,對於不具有與其相關的有效系統識別碼之電腦,在啟動程序中可能不需使用系統識別碼,及可允許啟動該電腦上的軟體。
軟體銷售商201可接收來自使用者的電腦204或使用者205的啟動請求。該啟動請求可包括購買證明101與系統識別碼103。軟體銷售商201可使用任何技術來決定是否允許或拒絕該啟動請求。舉例來說,軟體銷售商可比較該購買證明與該系統識別碼,以決定該購買證明與該系統識別碼是否於一允許誤差內符合OEM 203所回報的購買證明與系統識別碼。
圖3繪示用於使用數位執照的軟體啟動作業之示範性系統元件與技術。例示的系統元件進一步闡明了圖2所示的例示系統200,且包括軟體銷售商的201伺服器該伺服器包括PoP產生伺服器301、PoP傳送伺服器302、回報伺服器308與啟動與驗證伺服器(AVS)309。系統元件還可包括第三方PoP經銷伺服器303,該第三方PoP經銷伺服器303隸屬於第三方PoP經銷商202。系統元件還包括OEM 203伺服器,該OEM 203伺服器包括OEM PoP伺服器304、DAIS匯編伺服器305、回報伺服器307與系統306,其中於OEM工廠組裝系統306並將該系統306運送給使用者205。
可透過網路來實踐任何電腦子集(如,在伺服器301、302、308與309之間)間的通訊,所述網路可包括諸如網際網路、LAN、WAN和/或任何其他有線或無線網路,或其組合。亦可透過可攜式儲存裝置,包括USB碟、可攜式硬碟、光碟和/或任何其他適當的電腦可讀取儲存媒體,來實踐所述通訊。軟體銷售商伺服器301、302、308與309不需要是獨立的多個電腦。於一實施例中,伺服器302、308與309可包括經程式化的指令,該等經程式化的指令可於PoP產生伺服器301上執行。相似地,OEM伺服器304、305、307不需要是獨立的多個電腦。雖然圖3並未繪示,例示的系統元件可包括多個軟體銷售商、多個OEM和/或多個使用者。
圖3所示的例示的系統元件執行一程序,以啟動由OEM預先安裝於電腦上的軟體。所述程序說明了如何可將數位購買證明與個別的硬體系統建立關聯、以及OEM 203是如何建立所得到的購買證明與系統識別碼之配對、如何將所得到的購買證明與系統識別碼之配對傳送給軟體銷售商201、以及如何供使用者205用於後續的啟動程序。
在動作801中,PoP產生伺服器301產生多個數位購買證明並將多個數位購買證明傳送至PoP傳送伺服器302。在動作802中,利用各種方式將多個數位PoP傳送至OEM PoP伺服器304。譬如,可將多個數位PoP由PoP傳送伺服器302直接傳送至OEM PoP伺服器304。另一種可能性是可透過第三方PoP經銷商,將多個PoP由軟體銷售商傳送至OEM。譬如,可先將該等PoP由PoP傳送伺服器302傳送至第三方PoP經銷伺服器303,且之後將該等PoP由第三方PoP經銷伺服器303傳送至OEM PoP伺服器304。可利用任何合適方式安全地傳送該等數位PoP,譬如可利用超文件傳送協定安全(HTTPS)及/或任何其他經加密的程序。
在一些實施例中,OEM可直接由軟體銷售商購入該等PoP。可利用多種方式來完成此交易。舉例來說,OEM可連接至以PoP傳送伺服器302為主機的網站,於一訂單中指明欲購買的購買證明數目,並將所購買的PoP直接下載至OEM PoP伺服器304。亦可使用其他實施方式。譬如可使用不依賴超文件傳送協定(Hypertext Transfer Protocol,HTTP)的連線。
在一些實施例中,OEM可利用任何合適方法向第三方PoP經銷商購買PoP。舉例來說,OEM可連接至以第三方PoP傳送伺服器303為主機的網站,於訂單中指明欲購買的購買證明數目,並將所購買的PoP下載至OEM PoP伺服器304。亦可使用不依賴HTTP連線的替代性實施方式。
在OEM 203自軟體銷售商201接收與軟體產品相關的一或多購買證明之後,可以在OEM 203處組裝系統306,並於系統306上預先安裝該軟體產品之複本,且將系統306運送給使用者205。OEM可產生和/或收集可識別所組裝之系統306的態樣之資訊。舉例來說,在動作803中,DAIS匯編伺服器305可自OEM PoP伺服器304取得PoP 101與OEM識別碼102、產生系統識別碼103並匯編數位授權資訊集合,該數位授權資訊集合包括所述PoP、OEM與系統識別碼及任何額外資訊104。OEM 203可將該等資訊的其中一部份通訊給軟體銷售商201。譬如,OEM 203可將數位授權資訊集合回報給軟體銷售商201。
在動作804中,DAIS匯編伺服器305將該購買證明儲存於該系統硬體(如,於硬碟或主基板BIOS)上。此種將購買證明指派給電腦系統的動作可用以表示該軟體經過使用者205購買。將購買證明儲存於系統硬體上使得使用者205在軟體啟動與驗證程序809中不需輸入該等PoP。下文參照圖4進一步說明將軟體購買證明與系統識別碼建立關聯的程序。
當在動作804中將數位授權資訊集合匯編後,在動作805中將數位授權資訊集合傳送至OEM 203回報伺服器307。在動作807中,回報伺服器307將數位授權資訊集合回報給軟體銷售商的回報伺服器308。所述的回報資料可包括購買證明與系統識別碼。所述的回報資料還可包括系統硬體元件設定檔、OEM識別碼以及OEM 203想要通訊給軟體銷售商201的任何額外資料。在動作806中,OEM 203可將組裝好的系統運送給使用者205。或者是,OEM 203可將組裝好的系統運送給任何適當的實體,譬如零售商店或經銷商。
在接收了數位授權資訊集合之後,軟體銷售商的回報伺服器308可將數位授權資訊集合轉送至AVS 309。該軟體銷售商可利用電子檔案儲存器(圖中未繪示)來儲存OEM所傳送的資訊。可利用任何適當的方式來組織此資訊。舉例來說,電子檔案儲存可具有輸入項,該輸入項係針對連同相關系統識別碼一起儲存於某些系統上的每一購買證明。除此之外和/或可二擇一地,可將整個系統硬體設定檔連同每一購買證明一起儲存。
在動作809中,使用者的電腦204和/或使用者205可聯絡AVS 309以啟動由OEM 203預先安裝於使用者的電腦204上的軟體。亦可在將組裝好的系統306運送給使用者205之前進行所述的啟動與驗證程序809。下文參照圖5與圖6進一步揭示和說明啟動與驗證程序的細節。
軟體銷售商可利用多種方式和OEM 203共享相關資料。舉例來說,軟體銷售商的回報伺服器308可將相關資料回報給OEM回報伺服器307(動作810)。所述的相關資料可來自在多個OEM、多個系統與其他來源中所累積的資訊。示範性實施例包括在兩個日期間(如,在2008年11月與2009年12月)的軟體啟動數目、因為硬體組態或硬體組態所在位置而導致的系統當機數目。亦可額外地或擇一地定義與收集其他相關資料,而本發明的實施例不限於此處所述者。其後,圖3所示的示範性系統元件可執行的程序到此完成。
圖4繪示根據本揭示內容一些實施例之可用以將軟體購買證明和系統識別碼建立關聯的示範性程序400,此程序400可由OEM 203來執行。
在本實施例中,程序400由動作401開始,由OEM 203組裝欲運送806給使用者205的系統306。一旦系統306組裝完成,OEM 203可利用任一種方式和系統306建立連線。譬如,OEM 203可由DAIS匯編伺服器305或任何其他伺服器而遠端地連接至系統306。OEM 203可利用其他方式和系統306介面連接,包括由一人員對系統306進行直接的實體操作。
在動作402中,OEM 203將該軟體產品之複本安裝於系統306上,並將相關的購買證明以任一種方式儲存於系統306的任何位置上(動作804)。舉例來說,可由DAIS匯編伺服器305來儲存購買證明。所述的系統位置可以是可供於系統306上運行之作業系統存取的任一種位置。系統位置的適當實施例包括系統BIOS、檔案系統中的安全位置、登錄檔(若系統306上安裝了一或多微軟視窗家族作業系統時)、文字檔、可透過整合可延伸韌體介面(Unified Extensible Firmware Interface,UEFI)之實作來存取的儲存位置以及受信賴的平台模組(TPM)。其他適當位置包括可供系統306存取的任何電腦可讀取儲存媒體(如,USB碟、磁碟、CD、DVD等)。可利用任何適當的順序,在系統306上進行軟體產品之安裝作業與相關購買證明之儲存,而使儲存購買證明之動作可早於、同時或晚於軟體產品之安裝。
在動作403中,DAIS匯編伺服器305產生與所組裝之系統306相對應的系統識別碼。在動作404中,匯編數位授權資訊集合100,該數位授權資訊集合100包括經儲存的數位購買證明101與所產生的系統識別碼103。數位授權資訊集合還可包括系統硬體設定檔以及OEM 203可能想要通訊給軟體銷售商201的任何額外資料。此程序可建立所安裝之軟體複本(由購買證明所代表)與系統硬體(由系統識別碼與硬體設定檔所代表)之間的連結。可利用任何其他方式取得系統識別碼。可利用任何適當的實體在任何適當的位置產生此系統識別碼。譬如,可由OEM 203在組裝該系統的相同位置產生、由所組裝的電腦系統306產生、或由任何OEM 203伺服器於不同位置產生。習知技藝人士當可想見多種其他的可能方案。
OEM 203可向軟體銷售商201警示軟體產品之複本已經過安裝,並利用任一種方式提供感興趣的任何額外資訊給軟體銷售商201。舉例來說,在動作805中,將所匯編的授權資訊集合回報給OEM回報伺服器307。在將系統306運送給使用者205之後(動作806),程序400終止。
參照圖5,根據本揭示內容一些實施例,所示的示範性程序500可由使用者205和/或使用者的電腦系統204來執行以啟動與驗證該使用者的電腦系統204上的軟體。在替代性的實施方式中,可由其他實體來執行所述的啟動與驗證程序809。在一些實施例中,OEM 203可在將所組裝的系統306運送給使用者之前,啟動與驗證安裝於所組裝的系統306上的軟體。在另一些實施例中,可將經組裝的系統306運送至第三方(如,零售商),由第三方在使用者取得系統306之前先啟動與驗證該軟體。亦可採用多種其他替代性方案。
在圖5所示的實施例中,程序500在動作501開始,其中使用者接收OEM組裝的電腦,下文稱為使用者的電腦系統。程序500可在使用者205參與或不參與的情形下進行。可利用多種方式來完成對於是否需要使用者參與的決定作業。舉例來說,在動作502中,可決定是否有可用的網路連線連接至啟動與驗證伺服器(如,圖3所示的AVS 309)。
若有可用的網路連線連接至AVS,程序500可在不需使用者參與的情形下進行。在動作503,使用者的電腦系統(如,圖2與圖3所示的電腦204)可建立與AVS之連線;並在動作504傳送啟動請求至AVS。所述的啟動請求可包括購買證明(如,產品金鑰)、使用者的電腦之硬體元件設定檔與相關的系統識別碼。所述的啟動請求可包括額外和/或替代性的資訊。若啟動請求受到核准或拒絕,則可進行多種動作。舉例來說,可將啟動作業之通知傳送給使用者、可允許軟體安裝作業完成、以及可於使用者的電腦上賦能軟體功能(動作508)。另一方面,若啟動請求被拒絕,可將安裝作業失敗之通知傳送給提出請求的電腦(動作509)。下文參照圖6進一步揭示和說明在啟動與驗證伺服器進行的決定程序之細節。
若沒有連接至AVS的可用網路連線時,可在有使用者參與的情形下進行程序500。使用者205可協助將任何必要的資訊通訊傳遞給軟體銷售商201。舉例來說,在動作505中,使用者205可和軟體銷售商建立連線(譬如藉由撥打免費客服專線電話)。然而,並非所有需使用者參與的實施例都限於此實作方式。舉例來說,某些實施例可提供一能力而使得使用者205能夠利用不同的電腦或任何其他適當方式來建立和軟體銷售商和/或AVS 309的連線。
使用者205可利用任一種方式將啟動請求通訊至軟體銷售商201。舉例來說,在動作506中,使用者可回傳一識別號碼,該識別號碼可以是由欲啟動之軟體的模組提供和/或可取決於購買證明與系統識別碼。在其他實施例中,使用者205可直接回報購買證明與系統識別碼。該啟動請求可包括額外和/或替代性的資訊。若啟動請求受到核准或拒絕,則可進行多種動作。舉例來說,可將通知使用者該軟體安裝作業經允許可完成,且可提供關於如何賦能軟體功能的指令給使用者(動作508)。若啟動請求被拒絕,則可向使用者通知安裝作業失敗(動作509)。隨後,程序500終止。
可使用任一種其他啟動方法,且不限於圖5所示的程序。在某些情形中,可能不會使用系統識別碼作為啟動與驗證程序的一部份。若電腦系統不具有與電腦系統相關聯的系統識別碼時,此種實施方式非常有用。其他啟動方法可包括利用啟動與驗證伺服器進行線上啟動、利用企業層級大量啟動管理工具在企業網路內進行啟動、完全離線啟動或手動啟動。習知技藝人士還可想見其他可能的實施方式。
參照圖6,根據本揭示內容的一些實施例,所示的示範性程序600可供啟動與驗證伺服器(如圖3所示的AVS 309)用來啟動與驗證使用者的系統上的軟體。可由至少一電腦系統、至少一顧客服務代表、或其組合來進行程序600。
在本實施例中,程序600開始於動作601,程序600係接收來自使用者的啟動請求。所述請求可來自使用者或使用者的電腦。在替代性的實施例中,所述請求可來自任何適當的OEM 203伺服器或任何適當的第三方伺服器。舉例來說,若啟動與驗證程序是在將經組裝的系統306運送給使用者205之前所進行,則OEM 203可產生並傳送啟動請求至啟動與驗證伺服器309。
AVS可進行多種動作以回應該啟動請求。譬如,在動作602中,AVS可檢查使用者的電腦傳送之購買證明是否與OEM回報的任何購買證明相符。若啟動請求中的購買證明和OEM回報之購買證明的差異並未落在第一允許誤差之內時,可傳送關於啟動拒絕和/或安裝作業失敗之通知(動作509)。如此一來,啟動與驗證程序有彈性能夠允許OEM回報的購買證明和啟動請求中的購買證明之間有變異。此種變異可能來自於多種原因其中之一,例如加入額外位元以指明額外資訊和/或通訊錯誤。在某些情形中,可預先指明第一允許誤差;而在其他情形中,可以動態地決定第一允許誤差。
決定第一購買證明是否於第一允許誤差內和第二購買證明相符可包括決定二購買證明之間的距離是否小於第一允許誤差。第一允許誤差可以是數字,該數字指明第一與第二購買證明之間所允許的最大距離,其中可利用任一種方法來測量二購買證明之間的距離。舉例來說,若兩種購買證明都是二進制串,所述距離可以是該位元不同之位置的數目。
若所述啟動請求中的購買證明和OEM回報之購買證明於第一允許誤差內相符,AVS可執行額外的動作以回應啟動請求。舉例來說,AVS可查找與OEM回報之購買證明相關的系統識別碼(動作603)。在動作604中,AVS檢查所述啟動請求中的系統識別碼是否於第二允許誤差內符合OEM回報之系統識別碼。在某些情形中,可預先指明所述第二允許誤差;而在其他情形中,可動態地決定第二允許誤差。
決定第一系統識別碼是否於第二允許誤差符合第二購買證明可包括決定二系統識別碼之間的距離是否小於第二允許誤差。第二允許誤差可以是數字,該數字指明第一與第二系統識別碼之間所允許的最大距離,其中可利用任一種方法來測量二系統識別碼之間的距離。舉例來說,若兩種系統識別碼都是二進制串,所述距離可以是該位元不同之位置的數目。
在一些實施例中,將OEM回報之系統識別碼和使用者提供之系統識別碼進行比較的動作(動作604),可於允許誤差內進行,以便呈現出自將OEM-產生之系統識別碼回報至軟體銷售商(如,圖3之動作807)之時到由使用者電腦向軟體銷售商傳送軟體啟動請求該兩個時間點之間,系統之硬體組態可能發生的改變。系統改變的實施例包括安裝和/或移除硬碟、周邊元件互連(PCI)卡、和/或RAM。PCI卡的實施例進一步包括視訊卡、網路卡、數據機、音效卡、額外外接埠、電視卡與磁碟控制卡。在一些實施例中,OEM回報之系統識別碼和使用者電腦的系統識別碼於某些允許誤差內相符,使得程序600可將使用者的系統和OEM組裝並運送給使用者的系統建立關聯,即便對系統硬體進行了多種更動。
若啟動請求內的系統識別碼並未於第二允許誤差與OEM回報之系統識別碼相符,可將啟動拒絕和/或安裝作業失敗的通知傳送給提出請求的電腦(動作509)。另一方面,若啟動請求中的系統識別碼於第二允許誤差內與OEM回報之系統識別碼相符,可將啟動通知傳送給使用者,且可於使用者的電腦上賦能軟體功能。之後程序600完結。然而,並非所有本發明的實施例都限於此種實施方式。舉例來說,在一些實施例中,即便系統識別碼並未於可允許的誤差內與OEM回報之系統識別碼相符,仍可將啟動通知傳送給使用者。可基於商業考量或任何其他標準,而進行此動作。其他實施例可能涉及進行額外和/或替代性的動作,以回應啟動請求。
圖7為示範性電腦1000的概要圖式,可於其上實施本發明之各種發明性態樣。舉例來說,可於此電腦上實施圖3所示之使用者收到之系統204、購買證明產生伺服器301、購買證明傳送伺服器302、第三方購買證明經銷伺服器303、OEM購買證明伺服器304、DAIS匯編伺服器305、製造之電腦306、OEM回報伺服器307、軟體銷售商的回報伺服器308、啟動與驗證伺服器309及使用者的電腦204來實施此處所述的各種功能。
電腦1000包括處理器或處理單元1001與記憶體1002,記憶體1002可包括揮發性和/或非揮發性記憶體。除了系統記憶體1002之外,電腦1000亦可包括儲存1005(如,一或更多硬碟)。記憶體1002可儲存一或更多指令,來程式化處理單元1001,使處理單元1001執行此處所述的任一功能。記憶體1002亦可儲存一或更多種應用軟體程式和/或應用程式設計介面(API)功能。
電腦1000可具有一或更多種輸入裝置和/或輸出裝置,例如圖7所示的裝置1006與1007。該等裝置可用以呈現使用者介面,但不限於此。可用以提供使用者介面的輸出裝置之實施例包括可供視覺輸出的印表機或顯示器,以及可供聲音輸出的擴音器或其他聲音產生裝置。可用以提供使用者介面的輸入裝置之實施例包括鍵盤與指向裝置(如滑鼠、觸控墊、與數位化平板)。在另一實施例中,電腦可透過語音辨識或其他語音格式來接收輸入資訊。
如圖7所示,電腦1000亦可包括一或更多個網路介面(如,網路介面1010)以可透過各種網路(如網路1020)來進行通訊。網路的實施例包括區域網路或廣域網路,如企業網路或網際網路。此種網路可基於任何適當技術,且可根據任何適當通訊協定來運作,並可包括無線網路、有線網路或光纖網路。
上文已揭示本發明至少一實施例的多種態樣,當可理解習知技藝人士可輕易顯見各種變形、修飾與改進。此類變形、修飾與改進皆屬於本揭示內容之一部份,且為本發明之精神與範圍所涵蓋。因此,上文的實施方式與圖式僅為例示。
可利用任一種方式來實施本發明的上述實施例。譬如,可利用硬體、軟體或其組合來實施該等實施例。以軟體來實作時,可於任何適當處理器或處理器的集合來執行該軟體碼。該等處理器可位於單一電腦中或分散於多個電腦。可將該等處理器實作為積體電路,其中一或更多處理器可位於積體電路元件中。不過,亦可利用任何適當格式的電路來實施該處理器。
當可理解,可將電腦具體實施為多種形式,譬如機架型電腦、桌上型電腦、膝上型電腦或平板電腦。此外,可將電腦內嵌於通常不認為是電腦的裝置中,但此裝置具有適當的程式化能力,包括個人數位助理(PDA)、智慧型手機或任何其他適當的可攜式或固定式電子裝置。
此外,電腦可具有一或更多種輸入與輸出裝置。該等裝置可用以呈現使用者介面,但不限於此。可用以提供使用者介面的輸出裝置之實施例包括可供視覺輸出的印表機或顯示器,以及可供聲音輸出的擴音器或其他聲音產生裝置。可用以提供使用者介面的輸入裝置之實施例包括鍵盤與指向裝置(如滑鼠、觸控墊、與數位化平板)。在另一實施例中,電腦可透過語音辨識或其他語音格式來接收輸入資訊。
此等電腦可透過一或更多網路而互相連接,該等網路可以是任一種適當形式,包括區域網路或廣域網路,譬如企業網路或網際網路。此種網路可基於任何適當技術,且可根據任何適當通訊協定來運作,並可包括無線網路、有線網路或光纖網路。
此外,可將此處提出的多種方法或程序編碼為軟體,軟體可於使用多種作業系統或平台中任一種的一或更多處理器上執行。另外,可利用任何程式語言和/或程式或腳本工具來撰寫此種軟體,且亦可將此種軟體編譯為可執行機器語言碼或中間碼,可執行機器語言碼或中間碼可於主機或虛擬機器上執行。
因此,可將本發明實作為電腦可讀取儲存媒體(或多種電腦可讀取媒體)(如,電腦記憶體、一或更多軟碟、光碟、光碟(CD)、光碟(optical discs)、數位影音碟(DVD)、磁帶、快閃記憶體、場可程式化閘陣列或其他半導體裝置中的電路組態,或其他非不定型、實體的電腦儲存媒體),其上編碼了一或更多程式,當於一或更多電腦或其他處理器上執行時,可執行實施本發明上述各種實施例的方法。電腦可讀取儲存媒體或媒體可為可傳輸的,而使得可將儲存於其上的一或多程式載入至一或更多不同電腦或其他處理器,以實施本發明上述各種態樣。在此處「非不定型電腦可讀取儲存媒體」包含單指電腦可讀取媒體,該電腦可讀取媒體可視為製造物或機器。或者是或額外地,可將本發明實作為電腦可讀取儲存媒體以外的電腦可讀取媒體,譬如傳播信號。
「程式」或「軟體」等詞在此係表示一種上位的概念,「程式」或「軟體」等詞係用以指成任何類型的電腦編碼或一組電腦可執行指令,電腦編碼或一組電腦可執行指令可用以程式化電腦或其他處理器,以實施上文所述之本發明的各種態樣。此外,當可理解,根據本實施例的一態樣,當執行時可進行本發明之方法的一或更多電腦程式不需要位於單一電腦或處理器,且可以模組的形式分散於多個不同電腦或處理器中,以實施本發明的各種態樣。
電腦可執行指令可以是多種形式,例如程式模組,可由一或更多電腦或其他裝置來執行。一般來說,程式模組包括常式、程式、物件、元件、資料結構等,上述程式模組可執行特定任務或實施特定抽象資料類型。於各種實施方式中,可視需求程式模組的典型功能性結合或分散。
再者,可將資料結構以任何適當形式儲存於電腦可讀取媒體中。為求簡明,顯示的資料結構可具有欄位,欄位可和資料結構中的位置相關。可利用相似方法來達到此種關係,此種關係係藉由指派儲存給具有電腦可讀取媒體中之位置的欄位,具有電腦可讀取媒體的位置可建立欄位間的關係。然而,可利用任何適當機制來建立資料結構之多個欄位中的資訊間的關係,包括透過使用指標、標籤或可在資料元件間建立關係的其他機制。
本發明的各種態樣可單獨、組合使用,且可利用上文實施例中具體討論者以外的各種配置,且因而不應將此應用限制於上文實施方式或所示圖式中所提出的細節與元件配置。舉例來說,在一實施例中所述的多個態樣可以任何形式和多個其他實施例中所述的多個態樣結合。
此外,可將本發明實作為方法,上文已提出此方法的實施例。可以任何適當的方式來排序作為該方法之部分的多種動作。因此,在建構實施例時,所執行的動作可和所示順序不同,此可包括同時執行某些動作,即便在示範性實施例中該等動作是依序進行的。
於申請專利範圍中使用序數(如「第一」、「第二」、「第三」等)來修飾所請元件時,並未對所請元件相較於其他元件賦予任何優先性、重要性、或先後順序,亦未對方法中的各動作賦予執行順序;該等序數在此僅係作為一種標示,以將具有某一名稱的元件和具有相同名稱的另一元件加以區隔(而非使用其序數意義),以區分多種所請元件
此外,此處所用的用語與表達皆出於描述之目的,且不應視為限制。此處使用「包含」、「包括」、「具有」、「含有」、「涉及」等詞與其變形,該等詞與變形本意涵蓋了其後所列項目以外的項目及其均等物以及額外的項目。
100...數位授權資訊集合
101...數位購買證明
102...OEM識別碼
103...系統識別碼
104...額外資訊
200...示範性系統
201...軟體銷售商元件
202...第三方購買證明經銷商元件
203...OEM元件
204...使用者電腦
205...使用者
301...PoP產生伺服器
302...PoP傳送伺服器
303...第三方PoP經銷伺服器
304...OEM PoP伺服器
305...DAIS匯編伺服器
306...系統
307、308...回報伺服器
309...啟動與驗證伺服器(AVS)
400-810...方法動作
1000...示範性電腦
1001...處理單元
1002...記憶體
1005...儲存
1006...輸出裝置
1007...輸入裝置
1010...網路介面
1020...通訊網路
附隨圖式不必然依比例繪製。在圖式中,以相似的元件符號來指稱於不同圖面中所繪示的相同或近乎相同之元件。為求清楚明瞭,並未於每一圖式中標示出每一元件,圖式如下:
圖1繪示一表格,以描繪根據本揭示內容的一些實施例之數位授權資訊集合的多種元件。
圖2繪示按照本揭示內容一些實施例之用以使用數位執照的軟體啟動作業的示範性系統。
圖3繪示按照本揭示內容一些實施例之用以使用數位執照的軟體啟動作業的另一示範性系統與一程序。
圖4繪示按照本揭示內容一些實施例之用以將軟體購買證明和系統識別碼建立關聯的一示範性程序。
圖5繪示按照本揭示內容一些實施例之一示範性程序,該程序可供使用者和/或使用者的電腦用來啟動與驗證由OEM預先安裝於該使用者的電腦上的軟體。
圖6繪示按照本揭示內容一些實施例之一示範性程序,該程序可供一啟動與驗證伺服器用以啟動與驗證使用者之系統上的軟體。
圖7概要繪示一示範性電腦,可在該電腦上實施按照本揭示內容之各種實施例。
300‧‧‧系統
301‧‧‧PoP產生伺服器
302‧‧‧PoP傳送伺服器
303‧‧‧第三方PoP經銷伺服器
304‧‧‧OEM PoP伺服器
305‧‧‧DAIS匯編伺服器
306‧‧‧系統
307、308‧‧‧回報伺服器
309‧‧‧啟動與驗證伺服器(AVS)
801-810‧‧‧方法動作
Claims (20)
- 一種用於致使(enabling)軟體的啟動之軟體啟動伺服器計算裝置,該軟體啟動伺服器計算裝置包括:一記憶體及一處理器,該記憶體及該處理器分別經組態以儲存及執行指令,該等指令用以:接收一特定數位購買證明的一分配的一指示,該特定數位購買證明被分配到一客戶計算裝置的一硬體平台的一特定系統識別碼,該指示包含一數位授權資訊集合(DAIS)的一第一實例,該數位授權資訊集合的該第一實例代表該特定數位購買證明至該特定系統識別碼的該分配,該第一實例的該特定數位購買證明被分配到該特定系統識別碼;從該客戶計算裝置接收一啟動請求,其中該啟動請求包括一DAIS的一第二實例,其中該第二實例包含從該客戶計算裝置傳送的一客戶提供的數位購買證明與從該客戶計算裝置傳送的一客戶提供的系統識別碼;比較該DAIS的該第一實例與該DAIS的該第二實例;以及根據該比較的一結果來將針對該啟動請求的一回應傳送至該客戶計算裝置。
- 如請求項1的軟體啟動伺服器計算裝置,其中該第一實例的該特定數位購買證明包括對該軟體之一複本的識別 資訊。
- 如請求項1的軟體啟動伺服器計算裝置,其中該第二實例的該客戶提供的系統識別碼是基於在該啟動請求從該客戶計算裝置傳送時候的該硬體平台之一硬體組態。
- 如請求項1的軟體啟動伺服器計算裝置,其中該第一實例與該第二實例的該比較包括:檢查該第一實例的該特定數位購買證明是否在一第一允許誤差內與該第二實例的該客戶提供的數位購買證明相符,以及檢查該第一實例的該特定系統識別碼是否在一第二允許誤差內與該第二實例的該客戶提供的系統識別碼相符。
- 如請求項4的軟體啟動伺服器計算裝置,其中該檢查該第一實例的該特定系統識別碼是否在一第二允許誤差內與該第二實例的該客戶提供的系統識別碼相符包括:決定該特定系統識別碼與該客戶提供的系統識別碼之間的一距離是否小於該第二允許誤差。
- 如請求項1的軟體啟動伺服器計算裝置,其中該回應的傳送包括:傳送一授權(authorization)以啟動該軟體的特徵和/或傳送一啟動失敗的一通知。
- 如請求項1的軟體啟動伺服器計算裝置,其中:該記憶體及該處理器還用以儲存及執行指令,該等指令行使以下步驟:產生並傳遞數位購買證明給該硬體平台的一製造商,且其中該第一實例的該特定數位購買證明是傳遞至該製造商的該數位購買證明的其中一者。
- 如請求項1的軟體啟動伺服器計算裝置,其中:該記憶體及該處理器還用以儲存及執行指令,該等指令行使以下步驟:產生並傳遞該數位購買證明給一第三方購買證明經銷商,且其中該第一實例的該特定數位購買證明是傳遞至該第三方購買證明經銷商的該數位購買證明的其中一者。
- 如請求項1的軟體啟動伺服器計算裝置,其中該記憶體及該處理器還用以儲存及執行指令,該等指令行使以下步驟:收集相關資料,其中該相關資料包括預先安裝該軟體的多個硬體平台的數目、該等硬體平台的硬體組態和/或該等硬體平台的位置。
- 如請求項9的軟體啟動伺服器計算裝置,其中該記憶體及該處理器還用以儲存及執行指令,該等指令行使以下步驟:回報該相關資料給該等硬體平台的至少一製造商。
- 一種致使(enabling)軟體啟動的方法,該方法包括以下步驟:由一啟動伺服器計算裝置接收一特定數位購買證明的一分配的一指示,該特定數位購買證明被分配到一客戶計算裝置的一硬體平台的一特定系統識別碼,該指示包含一數位授權資訊集合(DAIS)的一第一實例,該數位授權資訊集合的該第一實例代表該特定數位購買證明至該特定系統識別碼的該分配,該第一實例的該特定數位購買證明被分配到該特定系統識別碼;由該啟動伺服器計算裝置接收來自該客戶計算裝置的一啟動請求,其中該啟動請求包括一DAIS的一第二實例,其中該第二實例包含從該客戶計算裝置傳送的一客戶提供的數位購買證明與從該客戶計算裝置傳送的一客戶提供的系統識別碼;由該啟動伺服器計算裝置比較該DAIS的該第一實例與該DAIS的該第二實例;以及將針對該啟動請求的一回應傳送至該客戶計算裝置,該回應是基於該比較。
- 如請求項11的方法,其中該特定系統識別碼是由該硬體平台的一製造商提供,且該客戶提供的系統識別碼是基於在該啟動請求從該客戶計算裝置傳送時候的該硬體平台之一硬體組態。
- 如請求項11的方法,其中該比較包括以下步驟:判定該第一實例的該特定數位購買證明是否在一第一允許誤差內與該第二實例的該客戶提供的數位購買證明相符,以及判定該第一實例的該特定系統識別碼是否在一第二允許誤差內與該第二實例的該客戶提供的系統識別碼相符。
- 如請求項11的方法,其中該方法還包括以下步驟:產生並傳遞數位購買證明至該硬體平台的一製造商,或傳遞至一第三方購買證明經銷商,且其中該第一實例的該特定數位購買證明是傳遞至該製造商或該第三方購買證明經銷商的該等數位購買證明的其中一者。
- 如請求項11的方法,其中該方法還包括以下步驟:收集相關資料,其中該相關資料包括預先安裝該軟體的多個硬體平台的一數目、該等硬體平台的硬體組態和/或該等硬體平台的位置。
- 一種不包括信號本身的電腦可讀取儲存媒體,該電腦可讀取儲存媒體在其上儲存指令以用於行使運作以致使(enabling)軟體的啟動,該等運作包括以下步驟:由一啟動伺服器計算裝置接收一特定數位購買證明的一分配的一指示,該特定數位購買證明被分配到一客戶計算裝置的一硬體平台的一特定系統識別碼,該指示包含一數位授權資訊集合(DAIS)的一第一實例,該數位授權資訊集合的該第一實例代表該特定數位購買證明至該特定系統識別碼的該分配,該第一實例的該特定數位購買證明被分配到該特定系統識別碼;由該啟動伺服器計算裝置接收來自該客戶計算裝置的一啟動請求,其中該啟動請求包括一DAIS的一第二實例,其中該第二實例包含從該客戶計算裝置傳送的一客戶提供的數位購買證明與從該客戶計算裝置傳送的一客戶提供的系統識別碼;由該啟動伺服器計算裝置比較該DAIS的該第一實例與該DAIS的該第二實例;以及將針對該啟動請求的一回應傳送至該客戶計算裝置,該回應是基於該比較。
- 如請求項16的電腦可讀取儲存媒體,其中該特定系統識別碼是由該硬體平台的一製造商提供,且該客戶提供的系統識別碼是基於在該啟動請求從該客戶計算裝置傳送時候的該硬體平台之一硬體組態。
- 如請求項16的電腦可讀取儲存媒體,其中該等運作還包括以下步驟:產生並傳遞數位購買證明至該硬體平台的一製造商,或傳遞至一第三方購買證明經銷商,且其中該特定數位購買證明是傳遞至該製造商或該第三方購買證明經銷商的該等數位購買證明的其中一者。
- 如請求項16的電腦可讀取儲存媒體,其中該客戶提供的數位購買證明是至少儲存在一系統BIOS、一檔案系統上的一安全位置、可透過UEFI的一實作而存取的一儲存位置,或一信任平台模組中。
- 如請求項16的電腦可讀取儲存媒體,其中該DAIS的該第一實例亦包括一OEM識別碼及額外資訊,且其中該額外資訊還包括一時間戳記、硬體設定檔(hardware profile)、文數SKU識別碼、OEM型號和/或服務標籤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/968,021 US8683579B2 (en) | 2010-12-14 | 2010-12-14 | Software activation using digital licenses |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201224841A TW201224841A (en) | 2012-06-16 |
TWI550429B true TWI550429B (zh) | 2016-09-21 |
Family
ID=46200868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100139971A TWI550429B (zh) | 2010-12-14 | 2011-11-02 | 使用數位執照之軟體啟動 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8683579B2 (zh) |
CN (1) | CN102737200B (zh) |
TW (1) | TWI550429B (zh) |
WO (1) | WO2012082459A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8375221B1 (en) | 2011-07-29 | 2013-02-12 | Microsoft Corporation | Firmware-based trusted platform module for arm processor architectures and trustzone security extensions |
US9679288B2 (en) * | 2012-08-21 | 2017-06-13 | Adobe Systems Incorporated | Systems and methods for product purchase and registration |
US20150278805A1 (en) * | 2012-10-01 | 2015-10-01 | Acuity Systems, Inc. | Authentication system |
JP6039364B2 (ja) * | 2012-10-26 | 2016-12-07 | キヤノン株式会社 | 画像形成装置、サーバー装置、情報処理方法及びプログラム |
US9122845B2 (en) * | 2013-03-15 | 2015-09-01 | Microsoft Technology Licensing, Llc | Controlled application distribution |
US10164974B2 (en) * | 2013-03-19 | 2018-12-25 | Traitware, Inc. | Authentication system |
CN103400062A (zh) * | 2013-07-30 | 2013-11-20 | 深圳创维数字技术股份有限公司 | 一种软件授权使用的方法及系统 |
CN104809004B (zh) * | 2014-01-24 | 2018-02-27 | 神讯电脑(昆山)有限公司 | Windows激活自动测试方法 |
US11068905B2 (en) | 2014-03-31 | 2021-07-20 | Red Hat, Inc. | Behavior adjustment based on capabilities of a downstream server |
US9536060B2 (en) * | 2014-05-03 | 2017-01-03 | Clevx, Llc | Network information system with license registration and method of operation thereof |
US20150332026A1 (en) * | 2014-05-16 | 2015-11-19 | Solarwinds Worldwide, Llc | Reusable license activation key |
US9558329B2 (en) * | 2014-06-19 | 2017-01-31 | Dell Products L.P. | License management using a basic input/output system (BIOS) |
US20150381368A1 (en) * | 2014-06-27 | 2015-12-31 | William A. Stevens, Jr. | Technologies for secure offline activation of hardware features |
US9756030B2 (en) * | 2014-08-08 | 2017-09-05 | Eurotech S.P.A. | Secure cloud based multi-tier provisioning |
US10289814B2 (en) | 2014-12-23 | 2019-05-14 | Intel Corporation | Licensing in the cloud |
US10706130B2 (en) * | 2015-02-06 | 2020-07-07 | Macpaw Inc. | System and method for software activation and license tracking |
US9659155B2 (en) * | 2015-02-06 | 2017-05-23 | Macpaw Inc | System and method for software activation and license tracking |
US10055554B2 (en) | 2015-03-02 | 2018-08-21 | Parallel Wireless, Inc. | Software-enabled remote licensing and provisioning |
EP3590035A1 (en) * | 2017-03-03 | 2020-01-08 | Koninklijke Philips N.V. | Systems and methods for three-dimensional printing of spare parts |
CN106971094B (zh) * | 2017-03-21 | 2018-09-21 | 北京深思数盾科技股份有限公司 | 软件数字许可转移方法及系统 |
EP3639174A4 (en) * | 2017-05-22 | 2020-11-18 | Macpaw Inc. | SOFTWARE ACTIVATION AND LICENSE TRACKING SYSTEM AND METHOD |
CN109271757B (zh) * | 2018-08-10 | 2022-03-18 | 神州网信技术有限公司 | 一种软件的离线激活方法及系统 |
US11012241B2 (en) * | 2018-09-10 | 2021-05-18 | Dell Products L.P. | Information handling system entitlement validation |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030156719A1 (en) * | 2002-02-05 | 2003-08-21 | Cronce Paul A. | Delivery of a secure software license for a software product and a toolset for creating the sorftware product |
TW574651B (en) * | 2001-08-08 | 2004-02-01 | Embedded Solution Technology I | Automatic software installation method and device providing wireless transmission recognition |
TWI225195B (en) * | 2002-09-26 | 2004-12-11 | Ibm | System and method for guaranteeing software integrity via combined hardware and software authentication |
TWI229793B (en) * | 2002-06-28 | 2005-03-21 | Intel Corp | Method and apparatus for identifying hardware compatibility and enabling stable software revision selection |
TWI263901B (en) * | 2005-07-28 | 2006-10-11 | Lite On Technology Corp | Program initiation methods and embedded systems utilizing the same |
US20080040701A1 (en) * | 2006-04-19 | 2008-02-14 | Tellabs Operations, Inc. | Secure keys for software activation |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992020021A1 (en) | 1991-05-08 | 1992-11-12 | Digital Equipment Corporation | License management system |
US6029145A (en) | 1997-01-06 | 2000-02-22 | Isogon Corporation | Software license verification process and apparatus |
US7110984B1 (en) * | 1998-08-13 | 2006-09-19 | International Business Machines Corporation | Updating usage conditions in lieu of download digital rights management protected content |
US6223291B1 (en) * | 1999-03-26 | 2001-04-24 | Motorola, Inc. | Secure wireless electronic-commerce system with digital product certificates and digital license certificates |
US6996720B1 (en) | 1999-12-17 | 2006-02-07 | Microsoft Corporation | System and method for accessing protected content in a rights-management architecture |
KR100381416B1 (ko) | 2000-07-27 | 2003-04-23 | 삼성전자주식회사 | 컴퓨터 시스템 및 그 컴퓨터 시스템의 프로덕트 키 저장방법 |
US7149722B1 (en) * | 2000-09-28 | 2006-12-12 | Microsoft Corporation | Retail transactions involving distributed and super-distributed digital content in a digital rights management (DRM) system |
US6898286B2 (en) | 2000-12-19 | 2005-05-24 | International Business Machines Corporation | Method and system verifying product licenses using hardware and product identifications |
US6993664B2 (en) | 2001-03-27 | 2006-01-31 | Microsoft Corporation | Method and system for licensing a software product |
WO2003005144A2 (en) | 2001-07-02 | 2003-01-16 | British Telecommunications Public Limited Company | Program installation process |
US7444506B1 (en) | 2001-12-28 | 2008-10-28 | Ragula Systems | Selective encryption with parallel networks |
US7747531B2 (en) | 2002-02-05 | 2010-06-29 | Pace Anti-Piracy | Method and system for delivery of secure software license information |
US7698225B2 (en) | 2002-08-30 | 2010-04-13 | Avaya Inc. | License modes in call processing |
EP1396798A1 (en) | 2002-09-03 | 2004-03-10 | Hewlett-Packard Company | A license file, a license management module and alicense management system |
JP4343542B2 (ja) * | 2003-01-30 | 2009-10-14 | ソニー株式会社 | 情報処理システム、情報処理装置および情報処理方法、並びにプログラムおよび記録媒体 |
US20040268120A1 (en) | 2003-06-26 | 2004-12-30 | Nokia, Inc. | System and method for public key infrastructure based software licensing |
US20050195978A1 (en) | 2004-03-04 | 2005-09-08 | Miodrag Babic | Method and apparatus for encoding and selective distribution of licensed digital content |
US20050289072A1 (en) | 2004-06-29 | 2005-12-29 | Vinay Sabharwal | System for automatic, secure and large scale software license management over any computer network |
US20060195689A1 (en) | 2005-02-28 | 2006-08-31 | Carsten Blecken | Authenticated and confidential communication between software components executing in un-trusted environments |
JP4794242B2 (ja) | 2005-08-30 | 2011-10-19 | 富士通株式会社 | 制御方法、制御プログラム及び制御装置 |
US20100250400A1 (en) | 2006-11-10 | 2010-09-30 | Media Patents, S.L. | Apparatus and methods for the sale of software products |
US20080114695A1 (en) * | 2006-11-10 | 2008-05-15 | Semantic Components S.L. | Process for implementing a method for the on-line sale of software product use licenses through a data network, and software component which allows carrying out said process |
US8001383B2 (en) | 2007-02-01 | 2011-08-16 | Microsoft Corporation | Secure serial number |
US8620818B2 (en) | 2007-06-25 | 2013-12-31 | Microsoft Corporation | Activation system architecture |
US9336369B2 (en) | 2007-09-28 | 2016-05-10 | Abbyy Development Llc | Methods of licensing software programs and protecting them from unauthorized use |
US20090094372A1 (en) | 2007-10-05 | 2009-04-09 | Nyang Daehun | Secret user session managing method and system under web environment, recording medium recorded program executing it |
US8145537B2 (en) * | 2008-02-21 | 2012-03-27 | Digital River, Inc. | Integrated software network agent |
JP2010211784A (ja) | 2009-02-12 | 2010-09-24 | Ricoh Co Ltd | ライセンス管理装置、機器、ライセンス管理方法、プログラム、及びデータ構造 |
US8549641B2 (en) | 2009-09-03 | 2013-10-01 | Palo Alto Research Center Incorporated | Pattern-based application classification |
US20110098030A1 (en) * | 2009-10-27 | 2011-04-28 | Nokia Corporation | Method and apparatus for activating services |
-
2010
- 2010-12-14 US US12/968,021 patent/US8683579B2/en active Active
-
2011
- 2011-11-02 TW TW100139971A patent/TWI550429B/zh not_active IP Right Cessation
- 2011-12-06 WO PCT/US2011/063462 patent/WO2012082459A1/en active Application Filing
- 2011-12-14 CN CN201110417194.1A patent/CN102737200B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW574651B (en) * | 2001-08-08 | 2004-02-01 | Embedded Solution Technology I | Automatic software installation method and device providing wireless transmission recognition |
US20030156719A1 (en) * | 2002-02-05 | 2003-08-21 | Cronce Paul A. | Delivery of a secure software license for a software product and a toolset for creating the sorftware product |
TWI229793B (en) * | 2002-06-28 | 2005-03-21 | Intel Corp | Method and apparatus for identifying hardware compatibility and enabling stable software revision selection |
TWI225195B (en) * | 2002-09-26 | 2004-12-11 | Ibm | System and method for guaranteeing software integrity via combined hardware and software authentication |
TWI263901B (en) * | 2005-07-28 | 2006-10-11 | Lite On Technology Corp | Program initiation methods and embedded systems utilizing the same |
US20080040701A1 (en) * | 2006-04-19 | 2008-02-14 | Tellabs Operations, Inc. | Secure keys for software activation |
Also Published As
Publication number | Publication date |
---|---|
TW201224841A (en) | 2012-06-16 |
WO2012082459A1 (en) | 2012-06-21 |
CN102737200B (zh) | 2015-07-29 |
US8683579B2 (en) | 2014-03-25 |
CN102737200A (zh) | 2012-10-17 |
US20120151574A1 (en) | 2012-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI550429B (zh) | 使用數位執照之軟體啟動 | |
JP5948008B2 (ja) | ユーザ装置において保護されたコンテンツにアクセスするためにユーザにライセンスを提供するための方法、システム、ライセンスサーバ、およびソフトウェアモジュール | |
CN100470467C (zh) | 对隔离计算环境编程的系统和方法 | |
TWI492085B (zh) | 用於根據使用者識別符增強產品功能的方法、設備及電腦儲存媒體 | |
US8219828B2 (en) | Methods and a device for secure software installation | |
US20060005256A1 (en) | Apparatus and method for managing digital rights with arbitration | |
US8429641B2 (en) | System and method for migration of digital assets | |
US20190026442A1 (en) | Offline activation for application(s) installed on a computing device | |
US20090290716A1 (en) | Digital software license procurement | |
JP2003518282A (ja) | 権利管理アーキテクチャにおける保護コンテンツにアクセスするためのシステムおよび方法 | |
KR20200000448A (ko) | 소프트웨어 활성화 및 라이센스 추적을 위한 시스템 및 방법 | |
KR100443621B1 (ko) | 개인용 컴퓨터 기반의 고유 아이디를 이용한 휴대용 정보단말기의 어플리케이션의 인증방법과 이를 이용한 시스템 | |
US9749374B2 (en) | Systems and methods for digital fulfillment of streaming applications | |
US9100396B2 (en) | System and method for identifying systems and replacing components | |
US10387927B2 (en) | System and method for entitling digital assets | |
US20140317057A1 (en) | Systems and methods for digital fulfillment of system images | |
US20140230068A1 (en) | System and method for packaging and authenticating a software product | |
US20140108616A1 (en) | System and method for entitling digital assets | |
US20140114783A1 (en) | System and method for migration of digital assets | |
US8499333B2 (en) | Secure device feature unlock mechanism third party development | |
US20230044720A1 (en) | Systems and methods to transfer software entitlements between information handling systems | |
US20140108657A1 (en) | System and method for managing entitlement of digital assets | |
US20140108098A1 (en) | System and method for optimizing entitlements of digital assets | |
Shamalka et al. | Blockchain and Smart Contract Based Approach to Mitigate Software Piracy | |
JP2009187475A (ja) | セキュリティ管理システム、セキュリティ装置、セキュリティ管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |