TWI465935B - 用於軟體授權的系統、方法及電腦可讀取媒體 - Google Patents

用於軟體授權的系統、方法及電腦可讀取媒體 Download PDF

Info

Publication number
TWI465935B
TWI465935B TW093126908A TW93126908A TWI465935B TW I465935 B TWI465935 B TW I465935B TW 093126908 A TW093126908 A TW 093126908A TW 93126908 A TW93126908 A TW 93126908A TW I465935 B TWI465935 B TW I465935B
Authority
TW
Taiwan
Prior art keywords
computer program
authorization
call
computer
component
Prior art date
Application number
TW093126908A
Other languages
English (en)
Other versions
TW200515243A (en
Inventor
Caglar Gunyakti
Ning Zhang
Wen Pin Scott Hsu
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 TW200515243A publication Critical patent/TW200515243A/zh
Application granted granted Critical
Publication of TWI465935B publication Critical patent/TWI465935B/zh

Links

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01KANIMAL HUSBANDRY; CARE OF BIRDS, FISHES, INSECTS; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
    • A01K87/00Fishing rods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1063Personalisation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01QANTENNAS, i.e. RADIO AERIALS
    • H01Q1/00Details of, or arrangements associated with, antennas
    • H01Q1/12Supports; Mounting means
    • H01Q1/22Supports; Mounting means by structural association with other equipment or articles
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01QANTENNAS, i.e. RADIO AERIALS
    • H01Q1/00Details of, or arrangements associated with, antennas
    • H01Q1/27Adaptation for use in or on movable bodies
    • H01Q1/32Adaptation for use in or on road or rail vehicles
    • H01Q1/325Adaptation for use in or on road or rail vehicles characterised by the location of the antenna on the vehicle
    • H01Q1/3275Adaptation for use in or on road or rail vehicles characterised by the location of the antenna on the vehicle mounted on a horizontal surface of the vehicle, e.g. on roof, hood, trunk
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • G06Q2220/18Licensing

Description

用於軟體授權的系統、方法及電腦可讀取媒體
本發明係關於電腦軟體領域,且更明確而言係關於一可支援電子授權啟動作業之程式設計介面。
商業生產的軟體傳統上係需在定義使用該軟體之可允許項目的授權下方可使用。當開始實施軟體授權時,授權一般會採取定義該使用者對於該軟體之權利的法律文件形式。這種文件仰賴於執行法律的法律系統。而近來授權已變成需要依電子方式來執行-亦即會需要一種含有能夠主動地阻擋或防止按違反該授權方式使用軟體之程式碼的電腦程式。
多數提供電子授權執行的軟體會提供其本身的基礎架構,以管理該軟體的授權作業及授權使用。因此,一典型商業軟體產品可不僅包含以執行該產品之核心功能的程式碼,同時亦可載荷有用以獲得、評估、保護及管理對於軟體之授權的程式碼。對於各軟體販售廠商,發展及併入此基礎架構於該軟體內通常會是重複耗費人力。從而會希望能夠提供一種系統,可執行有關於軟體授權的基本功能,而其中可由各式各樣的軟體應用程式按一均勻且經定義之方式使用該系統。
有鑑於前文所述,目前業界對於可克服習知缺失之機制存有著需求。
本發明提供一種軟體授權「應用程式設計介面(API)」,此者可提供一些由軟體產品使用的授權功能。一授權服務可執行有關於授權運用的功能,且透過該API將該等功能暴出予該軟體產品。該服務可執行像是取得授權、儲存及管理授權、保護授權而不受破壞、評估一授權的有效性,以及評估一授權是否經正確地綁接於其上運用此授權之機器及/或軟體產品的功能。該軟體能夠藉由呼叫該API之各項方法以運用此項功能。
該API的典型使用裡,一軟體產品呼叫一「開放」API方法,藉以取得一由該授權服務所使用俾識別該應用程式之特別控制碼(handle)。然後該軟體產品呼叫一「消費權利」API方法。在此語意內容下,「消費」意思是執行一標定權利。呼叫該「消費權利」方法可由該軟體產品之控制碼,以及藉待予消費之權利的名稱所參數化。然後該授權服務會試圖定位出一或更多含有所指定之權利的有效、經正確綁付授權。如並不存在該等授權,則會將此失敗訊息通知該軟體產品。如該等授權確實存在,則會將該權利連接於各授權其一者,且會將此項連接處理通知該呼叫軟體產品。在此時,該軟體產品會知悉該權利存在,且可執行與此項權利相關的所有功能。
在一較佳具體實施例裡,該授權服務並未定義在該權利下該軟體能夠或無法作到的項目,或是在運用該軟體時 應執行的重要限項。相反地,該授權服務是按照一軟體產品藉由呼叫該API來決定一權利是否確實,或並非,存在而讓該軟體能夠因此正確運作之方式來管理該授權。例如,可稱一權利為「執行(run)」,表示該使用者有權利執行該軟體產品。該軟體產品可使用該API以決定是否確有一有效(且經正確地連接及未逾期)權利以執行該軟體。不過,若該API呼叫送回一表示沒有權利執行該軟體之指示,則會根據並不存在此項權利,而由該軟體停止操作或是採取一些動作。
可將一權利關聯於一資訊,而此者在成功地呼叫該「消費權利」方法之後變成可用。例如,一給定軟體產品可具有關於何時可允許以編輯、列印、存檔等之個別規則,且可將這些規則儲存在含有該權利之授權內。該API提供一能夠從該授權中擷取出此項資訊之「取得資訊」方法。
本發明之其他特性可如後述。
概論
商業軟體的使用通常是由一授權所掌控,且愈來愈多是按可由該軟體本身加以執行之電子形式來實作此授權。產創一電子授權系統的一項挑戰就是會需要一基礎架構以管理授權使用。對每一軟體產品複製此基礎架構會極為繁瑣及耗費資源。本發明提供一種讓不同軟體產品能夠使用一執行各式授權功能之共同基礎架構的API。
示範性計算環境
第1圖顯示一其中可實作本發明特點之示範性計算環境。該計算系統環境100僅為一適當計算環境之範例,且非為意指對本發明運用及功能性之範圍進行任何限制。該計算環境100亦不應被詮釋為具有對任何關於該示範性操作環境100內各所述元件之任者或組合的依賴性或要求。
本發明可運作於各式其他一般目的或特殊目的計算系統環境或組態。適合運用於本發明之眾知計算系統、環境及/或組態之範例包含,但不限於此,個人電腦、伺服器電腦、手持式或膝上型裝置、多重處理器系統、微處理器基礎式系統、機頂盒、可程式化消費性電子裝置、網路PC、迷你電腦、大型主機電腦、嵌入式系統,含有前述各系統或裝置之任者的分散式計算環境等等。
本發明可按一像是由一電腦所執行之程式模組的電腦可執行指令之一般語意內容所描述。一般說來,程式模組包含副程式、程式、物件、元件、資料結構等,可執行特定任務或是實作特定的抽象資料型態。亦可在一分散式計算環境內實作本發明,其中是由經一通訊網路或其他資料傳送媒體所鏈結之遠端處理裝置來執行各項任務。在一分散式計算環境裡,各項程式模組及其他資料可位於含記憶體儲存裝置之本地及遠端電腦儲存媒體兩者處。
參照第1圖,一用以實作本發明之示範性系統包含一按一電腦110之形式的一般目的計算裝置。該電腦110的 組成元件可包含(但不限於)一處理單元120、一系統記憶體130,以及一可將包含該系統記憶體在內之各式系統元件耦接於該處理單元120的系統匯流排121。該處理單元120可代表多個邏輯處理單元,像是在一多重執行緒處理上所支援者。該系統匯流排121可為多款含有一記憶體匯流排或記憶體控制器之匯流排結構任一者、一週邊匯流排,以及一利用各匯流排架構任一者之區域匯流排。僅為範例,且不限於此,這些架構包含「工業標準架構(ISA)」匯流排、「微通道架構(MCA)」匯流排、改良ISA(EISA)匯流排、「視訊電子標準協會(VESA)」區域匯流排,及「週邊元件互連(PCI)」匯流排(又稱為Mezzanine匯流排)。該系統匯流排121亦可經實作為在各通訊裝置之間的點對點互連,交換構物等。
電腦110通常含有各種的電腦可讀取媒體。電腦可讀取媒體可為任何可由該電腦110存取之可用媒體,且含有揮發性及非揮發性媒體、可移除及非可移除媒體兩者。僅為範例,且非為限制,電腦可讀取媒體可包含電腦儲存媒體及通訊媒體。電腦儲存媒體包括按任何方法或技術所實作,以儲存資訊像是電腦可讀取指令、資料結構、程式模組或其他資料之揮發性及非揮發性、可移除及非可移除媒體兩者。電腦儲存媒體包含,但不限於此,RAM、ROM、EEPROM、快閃記憶體或其他記憶體技術、CD-ROM、DVD光碟或其他光學碟片儲存物、磁匣、磁帶、磁碟儲存物或其他磁性儲存裝置,或是任何其他可用以儲存所欲資訊且 可由該電腦110存取之媒體。通訊媒體通常可於一像是一載波或其他傳送機制之經調變資料信號內具體實作電腦可讀取指令、資料結構、程式模組或其他資料,並且包含任何資訊遞送媒體。該名詞「經調變資料信號」意思是具有一或更多其特徵集合,或是按如將資訊編碼於該信號內之方式而改變的信號。僅以範例,但非限於此,通訊媒體包含像是有線網路或直接有線連線之有線媒體,以及像是音響、RF、紅外線及其他無線媒體之無線媒體。任何上述各者之組合亦應被納入該電腦可讀取媒體的範圍內。
該系統記憶體130包含按揮發性及/或非揮發性記憶體形式之電腦儲存媒體,像是唯讀記憶體(ROM)131及隨機存取記憶體(RAM)132。一基本輸入/輸出系統133(BIOS)包含有助於在該電腦110之各元件間傳送資訊的基本副程式,該者通常會含有立即可存取至及/或現由該處理單元20所操作之資料及/或程式模組。僅以範例,但非限於此,第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之輸入裝置,在此共稱為滑鼠、軌跡球或觸控板,將命令及資訊輸入該電腦20內。其他輸入裝置(未以圖示)可包含一麥克風、搖桿、遊戲板、衛星碟、掃描器等。這些及其他輸入裝置通常是透過一耦接於該系統匯流排之使用者輸入介面160而連接到該處理單元120,但亦可藉由其他介面及匯流排結構所連接,像是平行埠、遊戲埠或一通用序列匯流排(USB)。一監視器191或其他種類的顯示裝置亦可經一像是視訊介面190之介面而連接於該系統匯流排121。除顯示器外,電腦亦可包含其他像是喇 叭197及印表機196的週邊輸出裝置,這些可透過一輸出週邊介面195而連接。
該電腦110可利用接至像是一遠端電腦180之一或更多遠端電腦邏輯的連接而運作於一網接環境內。該遠端電腦180可為一個人電腦、一伺服器、一端點裝置或其他常見網路節點,且通常包含前文對於該電腦110所敘述之許多或所有元件,然第1圖中僅描繪一記憶體儲存裝置181。如第1圖所繪之各邏輯連接包含一區域網路(LAN)171及一廣域網路(WAN)173,但亦可包含其他網路。這些網路環境屬辦公室、企業領域電腦網路、企業內網路及網際網路中所常見者。當運用於一LAN網接環境內時,該電腦110可透過一網路介面或配接器170而連接於該LAN 171。當運用於一WAN網接環境內時,該電腦110通常會包含一數據機172或其他裝置以於像是網際網路之WAN 173上建立通訊作業。該數據機172可為內插式或外接式,且可透過使用者輸入介面160,或是其他適當機制,連接於該系統匯流排121。在一網接環境下,前文對於該電腦110,或其局部,所述之程式模組可儲存在該遠端記憶體儲存裝置內。僅以範例,而非其限制,第1圖係按常駐於記憶體裝置181內之方式來描述遠端應用程式185。應瞭解所繪之各網路連接僅為示範性,且確可採用其他用以在各電腦之間建立一通訊鏈路的方式。
軟體授權服務
第2圖顯示一種可提供一軟體授權服務202之示範性系統。該軟體授權服務202運作於電腦110(如第1圖所示)之內。在一範例裡,該軟體授權服務202係執行於電腦110上之作業系統的一部分。軟體授權服務可維護一授權儲存庫204,其中儲存有對於各軟體之授權檔案。各授權檔案可為例如標定對軟體之權利,且亦可標定實施該等權利之各項條件的「可延伸權利標號語言(XrML)」檔案。軟體204亦維護一信賴儲存庫206。該信賴儲存庫206可按一防竄改之方式來儲存未可辨核、動態資料;該信賴儲存庫206儲存用於授權核可處理之資料。例如,有些授權或具有逾期日期,且為防止藉時鐘回轉而蓋掩過該逾期日期,故可將目前時間(及經過時間)週期性地儲存在該信賴儲存庫206內,以確保時鐘總是會向前行走。
該軟體授權服務202管理該授權儲存庫204及該信賴儲存庫206,並亦可執行關於軟體授權處理之各種功能。例如該軟體授權服務202可含有用以剖析授權檔案之模組、用以將一授權連接於一特定機器及/或至一軟體產品之特定實例之模組,以及一安全計時器/計數器(此係按前述方式運用該信賴儲存庫206)。
該軟體授權服務202可呈現一應用程式設計介面(API)208,讓應用程式軟體(像是應用程式135)能夠利用軟體授權服務202。該應用程式135可藉由對該API 208之方法提出邏輯程序呼叫(LPC),行使該軟體授權服務202的各項 特性。一可由該軟體授權服務202所呈現之API方法的示範性集合可如下述。
由一應用程式利用API 208的方式可參照第3圖所述。首先,該應用程式提出一API呼叫(302)。然後,服務302處理該API呼叫(304),並將該API呼叫的結果送回給應用程式306。例如,一API呼叫可請求執行(「消費」)在一授權所准允之權利,或是以自一授權中擷取資訊。然後該應用程式接收該API呼叫結果,並根據該結果決定該應用程式的行為應為如何(308)。換言之,在一較佳具體實施例裡,該軟體授權服務202並不直接地執行一授權,而是透過可管理及運用哪些授權來提供該基礎架構。例如,若一應用程式提出一API呼叫以消費一權利,而該服務202決定並無有效授權准允此項權利,則在一較佳具體實施例裡該服務202並不阻止該應用程式執行,而是通知該應用程式該權利非屬可用者。如此,該應用程式會利用其本身的機制以回應於非可用權利而決定應如何處理。該API的這種方式可提供軟體販售廠商一種彈性,來決定應如何運用該服務202所提供之授權基礎架構。在其他實作裡,可將應用程式連接於授權服務功能性。
示範性軟體授權API
底下係一可由一軟體授權服務所呈現之API方法的示範性集合:
SLOpen
此SLOpen函式開啟一必須對所有後續SL API呼叫加以運用之SL客戶端控制碼(在整個示範性API說明裡,「SL」是指軟體授權服務。如此,該SL客戶端語意內容控制碼會是由一與該軟體授權服務相通訊之客戶端所使用的控制碼)。
參數 pguidApp
可為一識別一應用程式之應用程式GUID的指標。如此引數為無效值(NULL),則會送回一E_INVALIDARG錯誤。
phSLC
[輸出]SL客戶端語意內容控制碼,或是如失敗則為INVALID_HANDLE_VALUE。
附註說明
利用該SLClose函式以關閉一由SLOpen所送回之 語意內容控制碼。
應用程式GUID:應用程式的唯一ID。對於微軟公司Office應用程式套裝的Windows版本,WinWord具有一不同於Excel之應用程式GUID的應用程式GUID。對於Windows來說,Windows雖係由許多程式所組成,然其本身係一應用程式。
即以Office的情況而言,一使用者可於該機器上安裝Office套裝及WinWord自立式產品兩者。從SL的觀點來看,在兩者產品內的WinWord具有相同的應用程式GUID。WinWord具有關聯於兩個產品GUID的應用程式GUID。換言之,WinWord可使用Office套裝的產品授權或WinWord的產品授權。
當SLOpen成功後:既已建妥一RPC(遠端程序呼叫)連接處理。
於SL服務上產生一語意內容記憶體。可利用該語意內容以保持對該客戶端之呼叫方的狀態資訊。
該SLC控制碼就像是一檔案控制碼。一處理可開啟多個管理語意內容控制碼,但是控制碼是在該呼叫方處理之內為有效。
送回
成功或失敗。
SLClose
此SLClose函式關閉一經開啟之SL客戶端語意內容控制碼。任何在此語意內容中的資訊會被自動釋放。
參數 hSLC
[輸入]至目前SL客戶端語意內容控制碼的控制碼。
附註說明
當完成SLClose後,會釋放該RPC連接處理且摧毀此語意內容。
送回
成功或失敗。
SLInstall
此SLInstall函式可安裝應用程式的授權並登註應用程式的資訊。
參數 hSLC
[輸入]至目前SL客戶端語意內容控制碼的控制碼。
pApp
[輸入]應用程式產品鍵值結構。該產品鍵值可為微軟產品鍵值格式或應用程式的產品鍵值格式。
}SL_PRODKEY;
該eProdKeyType可為如下數值其中一者:SL_PRODKEY_CUSTOM
SL_PRODKEY_MS2002
SL_PRODKEY_MS2003
如果該產品鍵值型態為非微軟產品鍵值(亦即eProdKeyType==SL_PRODKEY_CUSTOM),則呼叫方必須填入其自訂產品鍵值資訊。如該產品利用微軟產品鍵值,則可忽略CustomPrdKeyInfo。
SL_PRODKEY的目前版本編號為1。該呼叫方可利用dwVersion欄位內的SL_CURRENT_PRODKEY_VERSION。
dwNumOfApps
[輸入]pguidApps內的應用程式GUID編號
pguidApps
[輸入]一GUID應用程式列表。該應用程式GUID代表經安裝有授權之應用程式。例如,Office安裝程式可呼叫此函式,以藉由標定pguidApps內的各應用程式GUID來安裝對於Word、Excel之該(等)授權。在此,pguidApp不可為無效值。
dwNumOfApps
[輸入]授權檔案數量。
ppszLicFile
[輸入]字串陣列內的檔案名稱。
送回
成功或失敗。
SLUninstall
此SLUninstall函式可自一應用程式卸除一產品授權。
參數 hSLC
[輸入]至目前SL客戶端語意內容控制碼的控制碼。
pAppPrdKey
[輸入]參見前文有關SLInstall對此之定義。
一應用程式可具有一個以上的產品授權。例如,當該使用者卸除Office套裝時,應移除於Office套裝授權與WinWord之間的關聯性,但是不應移除來自WinWord自立式產品的授權。
當SLUninstall成功時:會移除有關於此產品鍵值之資訊(參見前SLInstall其相關資訊)。
會移除與該應用程式GUID有關的產品鍵值。
會最好保留與該產品GUID有關的授權檔案。
送回
成功或失敗。
SLConsumeRight
此SLConsumeRight函式可讓一應用程式對於一本地儲存授權進行檢查或執行權利。呼叫此函式會將一授權連接 於在pszRightName中所說明之權利。如無法由該目呼叫方執行此權利,則該應用程式失敗。如該函式成功,則可進行與此權利相關的動作(像是減少使用計數、減少時間配額或無)。
參數 hSLC
[輸入]至目前SL客戶端語意內容控制碼的控制碼。
pszRightName
[輸入]需要對權利名稱加以評估。在目前設計裡,該權利名稱是由應用程式所定義。SL開啟該授權,並根據該權利名稱來評估各條件。
pAsyncContext
[輸入/輸出]如pAsyncContext為無效值,則此函式會按同步模式運作,否則該函式會按非同步模式運作。SL_ASYNC_CONTEXT對於呼叫方為不透明,且是由SLC 加以管理。
附註說明
所有與該應用程式GUID(於SLOpen中所標定)相關的授權會概念上被合併為單一邏輯授權。
如該等為該權利的多個可消費准允,則會先消費具有較高優先權的授權。
送回
成功或失敗。
SLInitializeAsyncContext
此SLInitializeAsyncContext函式會將對SLC函式之非同步語意內容加以初始化,俾進行非同步呼叫。
參數 pSyncContext
[輸入/輸出]朝向含非同步呼叫資訊之非同步語意內容的指標。
hEvent
[輸入]用以同步作業之事件物件。
pvReserved
[輸入]保留或延伸。
送回
成功或失敗。
SLCancelAsyncCall
此SLCancelAsyncCall函式係用於取消一非同步呼叫。
參數 pAsyncContext
[輸入]SL非同步呼叫的非同步語意內容。
fAbortCall
[輸入]如為「真」,則立即取消該呼叫。如為「偽」,則等待該SL完成此呼叫。
呼叫方有兩種方式來請求取消一非同步呼叫-中止性及非中止性。在中止性取消裡(fAbortCall為「真」),該SLCancelAsyncCall函式會送出一取消通知給該SLC,且立即取消該呼叫,而不必等待來自該SLC的回應。在非中止性取消裡(fAbortCall為「偽」),該SLCancelAsyncCall函式會通知該SLC進行取消,並且呼叫方會等待SLC完成該呼叫。
送回
成功或失敗。
SLCompleteAsyncCall
此SLCompleteAsyncCall函式係用於完成一SLC非同步呼叫。
參數 pAsyncContext
[輸入]SL非同步呼叫之非同步語意內容。
phrAsyncCall
[輸出]所遞呈之非同步呼叫的錯誤碼。
附註說明
如該呼叫方在回覆抵達之前呼叫此函式,該呼叫會送回E_SLC_ASYNC_CALL_PENDING。緩衝器必須足夠大,以接收該送回數值。如呼叫並未送回E_SLC_ASYNC_CALL_PENDING,則對於該非同步呼叫,此SLComplete AsyncCall行使會為最終。在此函式呼叫之後,無論成功或失敗,都會釋放所有經配置給此非同步呼叫的資源(對於該SLCompleteAsyncCall或SLCompleteAsyncCancle的後續呼叫會具有未定義結果,一直到啟動對SL_ASYNC_CONTEXT結構上的新呼叫為止)。
SLGetInformation
此SLGetInformation函式係用來取得各種資訊。
參數 hSLC
[輸入]至目前SL客戶端語意內容控制碼的控制碼。
dwCategory
[輸入]資訊範疇。
pszKeyName
[輸入]該鍵值之名稱,即如BuildNumber。
pdwType
[輸出]資料型態
pcbValue
[輸出]所配置之緩衝器的大小(按位元組)。
ppbValue
[輸出]如為成功,會由SLC將該資料送回於經配置之緩衝器內。該呼叫方必須呼叫SLFreeMemory以釋放記憶體。
送回
成功或失敗。
SLAcquireLicense
此SLAcquireLicense函式係用於取得對該使用者的線上授權。SLC列舉出與該應用程式相關的產品鍵值,並撿拾出具有最高產品優先權的產品鍵值(參見SLInstall,登註資訊)。然後SL會從該開盒授權取得結算中心(Clearing House)URL,並連接至此結算中心以取得一授權。
SLAcquireLicense或為一冗長程序。應用程式可藉由標定pAsyncContext(「無效值」表示為同步模式),按非同步模式來呼叫此函式。
參數 hSLC
[輸入]至目前SL客戶端語意內容控制碼的控制碼。
pszProdKeyHash
[輸入]產品鍵值雜湊之字串。該產品鍵值雜湊係在當呼叫SLInstall時所產生,且由該授權服務所維護。
pszPublishingLicense
[輸入]刊行授權字串。
pAsyncContext
[輸入]SL非同步呼叫的非同步語意內容。
附註說明
會據此而將所取得之授權儲存在授權儲存庫內,並且亦會登註該授權資訊(參見SLInstall)。
應用程式或需要增加更多的客戶端資訊以供授權。該應用程式可將資訊放在該呼叫的pbAppData內,並且會將此資料送往結算中心。
當此函式成功時:這會將必要的連接資訊送出給所標定的授權伺服器。
這會從該授權伺服器接收授權。
這會將授權儲存在授權儲存庫內。參見前文中有關於SLInstall如何儲存授權檔案之說明。
送回
成功或失敗。
SLGenerateTextChalleng
可產生及安裝待路由傳送到一按一開盒方式(電話、電子郵件、檔案分享等)之授權發出者的挑戰文字。
參數 hSLC
[輸入]至目前SL客戶端語意內容控制碼的控制碼。
pszProdKeyHash
[輸入]產品鍵值雜湊之字串。該產品鍵值雜湊係在當呼叫SLInstall時所產生,且由該授權服務所維護。
bSingleSession
[輸入]標定來自於授權發訊之相對應文字回應是否僅對此SLC會期控制碼之生命時段為有效。
ppszChallenge
[輸出]如為成功,會送回該文字挑戰於由SLC所配置之該緩衝器內。呼叫方會需要呼叫SLFreeMemory以釋放經配置之記憶體。
送回
成功或失敗。
SLDepositTextResponse
將對一安裝挑戰之回應存積於該授權系統內。用以藉由一條件存取碼來啟動一授權。僅有在確有一既已對一授權而發訊之顯著文字挑戰時方為有效。如原始授權標定該挑戰僅係對一單一會期,則必須在關閉該SLC控制碼之前先藉由該回應來呼叫此API,否則存積該回應將會失敗。
參數 hSLC
[輸入]至目前SL客戶端語意內容控制碼的控制碼。
pszProdKeyHash
[輸入]產品鍵值雜湊之字串。
pszChallenge
[輸入]回應文字。
送回
成功或失敗。
SLEnumLicense
此SLEnumLicense函式係用於列舉所安裝之授權,並從該授權取得資訊。
hSLC
[輸入]至目前SL客戶端語意內容控制碼的控制碼。
pguidApp
[輸入]參見SLInstall。如pguidApp非為無效值,則會列舉出與此GUID相關的授權。若該GUID為無效值,則會列舉出所有的授權。
dwIndex
[輸入]待予擷取之授權的索引編號。對於第一次呼叫SLEnumLicense函式,此數值應為零,且按後續呼叫予以增量。
該函式可按任意順序送回授權。
送回
E_SL_NO_MORE_DATA-在所標定之索引處並無授權。
附註說明
若SLEumLicense為成功,則可藉由呼叫SLGet Information來存取所選定之授權資訊,且範疇為SL_CAT_ENUMLICINFO。
範例:
SLFreeMemory
此SLFreeMemory函式係用於釋放由SLC所配置之記憶體。
參數 pvMemBlock
[輸入]待予釋放之先前配置記憶體區塊。
送回
無。
利用軟體授權以控制軟體使用
一種軟體產品,此者可利用本發明API以供各種關於授權處理之目的,包含消費一授權內之各權利,以及從該 授權中擷取資料。即如前述,該API可供軟體決定在該授權中出現哪些權利,但是最好是由軟體來決定如何處置該資訊-即如准允或拒絕存取至一特性、完全停止操作等等。後述第4及5圖之說明顯示一軟體產品如何利用本發明。
第4圖顯示一示範性處理,藉此一應用程式可「消費」一權利。該應用程式呼叫該SLConsumeRight方法(402)。即如前述,對SLConsumeRight函式的引數包含由該授權服務所指配之客戶端管理,以及該權利的名稱(這是由該權利所歸屬之軟體販售廠商所指配)。該授權服務(如第2圖所繪之服務202)接收呼叫(404)。然後該服務定位出含有該項權利的各個授權,並檢查授權連接及有效性。即如前述,該授權位於授權儲存庫內;如有屬於該SLConsumeRight呼叫所歸屬之應用程式軟體的一個以上授權,則可利用一優先權規則以選擇其中一項可適用授權。檢查連接處理的意思是為決定:(1)該授權係經連接於由該客戶端管理所識別之應用程式的產品鍵值;以及(2)該授權係經連接於其上執行該軟體之機器(或是該目前機器所歸屬為成員之一的機器群組)。檢查有效性可包含決定該權利尚未逾期(在標定有一逾期日期之授權的情況裡),以及並未超過該權利的最高使用量(在授權標定可使用該權利(亦即「消費」)之最高次數的情況裡)。
如發現該授權及/或權利為經正確連接且有效(408),則該授權會被連接於該API呼叫中所請求之權利(412)。(應 注意將一授權「連接」於一機器、一環境及一產品鍵值意思是該授權標定哪一(些)機器及可運用之產品鍵值;而將一授權「連接」於一權利意思是該消費函式為成功,且該權利正從一特定授權值中所消費。在本說明全篇中,可自語意內容而清晰看出適用哪一「連接處理」意義)。然後,該API呼叫送回至該呼叫應用程式,並表示該呼叫為成功(414)。如發現該授權及/或權利為無效,或是未經正確連接於該機器、環境或產品ID,則該SLConsumeRight呼叫會送回該呼叫應用程式,並表示該操作失敗(410)。
如該SLConsumeRight呼叫送回一失敗,則無法從一授權中消費在該呼叫內所標定的權利,且不會有關於該權利之資訊會可用於該呼叫應用程式。然而,如成功地消費該權利,則該應用程式可利用對該授權之權利連接,以從該授權取得關於該權利的資訊。例如,一授權可含有一稱為「執行(run)」的一般權利,這表示可執行該應用程式。然而,對於「run」權利,該授權含有更多關於使用該應用程式的特定參數-即如該授權可標定一應用程式之特定特性(即如列印、編輯、存檔等)是否應為開啟或關閉,且可給定特定參數以運用這些特性(即如只能將文件儲存在一特定領域內執行之機器上,或只能使用列印特性30天等)。該SL API並不要求將任何特定型態的資訊關聯於一權利,而卻是提供一機制,一應用程式販售廠商可藉此將各種型態的資訊關聯到一權利,然後可由該應用程式加以擷取及解譯。
假定既已如第4圖所示成功地消費一權利,然後該應用程式可擷取關聯於該權利之資訊。擷取該資訊之處理可如第5圖所示。
首先該應用程式呼叫連接權利上之SLGetInformation方法(502)。可加以擷取之各種資訊可如前文關於SLGet Information方法之說明所敘述。然後,該授權服務接收該呼叫(504)。該服務從含有所連接權利之授權檔案裡擷取所請求的資訊(506)。然後該授權服務將資訊放在一緩衝器內(508),並送回給呼叫應用程式(510)。然後該呼叫應用程式讀取該緩衝器裡的內容,並執行該者根據所擷取資訊而認為屬必要的任何動作。
應注意該授權服務或並不知悉該者正在處理而作為SLGetInformation呼叫之一部分之資訊的意義。即如前述,該授權框架提供一種機制,藉此一軟體販售廠商可產生各項權利,且可將資訊關聯於各權利。本發明亦並不受任何可經關聯於該權利之特定的資訊型態所限制。當從授權中擷取出該資訊時,會僅通過該授權服務而傳到一緩衝器內的應用程式。然後該應用程式解譯該擷取資訊,根據該資訊決定應進行哪些動作,以及利用其本身的安全特性來執行該應用程式的決策。(即如,根據所擷取資訊,若該應用程式決定關閉列印功能,則該應用程式含有真正會關閉此項特性的程式碼,或可能以及為防止駭客入侵破壞列印功能關閉處理的程式碼)。
應注意既已提供各前揭範例僅係為解釋目的,而不應 被詮釋為限制本發明。雖既已按參照於各式具體實施例之方式說明本發明,然應瞭解在此所運用之字詞係為描述及說明性質之詞句,而非限制性質之詞句。此外,本發明雖既已參照於各特定裝置、材料及具體實施例而描述,然本發明不受限於本揭之各特定項目;相反地,本發明可延伸至所有功能性等同結構、方法及使用方式,像是如隨附請求項之範圍者。熟諳本項技藝之人士經閱覽本規格書教示後即可對其進行無數修改,且可加以改變而無虞悖離本發明各項特點之精神及原理。
100‧‧‧計算系統環境
110‧‧‧電腦
120‧‧‧處理單元
121‧‧‧系統匯流排
130‧‧‧系統記憶體
131‧‧‧唯讀記憶體(ROM)
132‧‧‧隨機存取記憶體(RAM)
133‧‧‧基本輸入/輸出系統133(BIOS)
134‧‧‧作業系統
135‧‧‧應用程式
136‧‧‧其他程式模組
137‧‧‧程式資料
140‧‧‧非可移除非揮發性記憶體介面
141‧‧‧硬碟機
144‧‧‧作業系統
145‧‧‧應用程式
146‧‧‧其他程式模組
147‧‧‧程式資料
150‧‧‧可移除非揮發性記憶體介面
151‧‧‧磁碟機
152‧‧‧可移除非揮發性磁性媒體
155‧‧‧光碟機
156‧‧‧可移除非揮發性光學碟片
160‧‧‧使用者輸入介面
161‧‧‧點指裝置
162‧‧‧鍵盤
170‧‧‧網路介面
171‧‧‧區域網路(LAN)
173‧‧‧廣域網路(WAN)
180‧‧‧遠端電腦
181‧‧‧記憶體儲存裝置
185‧‧‧遠端應用程式
191‧‧‧監視器
190‧‧‧視訊介面
195‧‧‧輸出週邊介面
196‧‧‧印表機
197‧‧‧喇叭
202‧‧‧軟體授權服務
204‧‧‧授權儲存庫
206‧‧‧信賴儲存庫
208‧‧‧SL API
302‧‧‧應用程式發出API呼叫
304‧‧‧服務處理API呼叫
306‧‧‧服務送回結果至應用程式
308‧‧‧應用程式根據結果決定行為
402‧‧‧應用程式藉由標定權利來呼叫消費-權利API
404‧‧‧服務接收呼叫
406‧‧‧服務檢查授權連接及有效性
408‧‧‧該授權(或權利)是否經連接且有效?
410‧‧‧消費-權利將失敗送回給應用程式
412‧‧‧授權經連接至所標定之權利
414‧‧‧將成功送回至應用程式
502‧‧‧應用程式呼叫於連接權利上的取得-資訊API
504‧‧‧服務接收該呼叫
506‧‧‧服務從授權檔案擷取資訊;亦可取得或計算其他資訊
508‧‧‧服務將所請求之資訊置放入緩衝器內
510‧‧‧呼叫從服務送回至呼叫應用程式
經併同於各隨附圖式後即可更佳瞭解前揭概述,以及後纂之較佳具體實施例詳細說明。為說明本發明,各附圖中繪示有本發明各項示範性指令;然本發明並不限於本揭之各特定方法及機器。在各圖式裡:第1圖係一示範性計算環境區塊圖,其中可實作本發明。
第2圖係一架構區塊圖,其中一系統可執行授權功能,並呈現一API以供軟體產品使用。
第3圖係一經此一軟體產品可使用一授權API之方法流程圖。
第4圖係一藉此一軟體產品可消費一權利之方法流程圖。
第5圖係一藉此一軟體產品可擷取出有關於一經消費 權利之資訊的方法流程圖。
302‧‧‧應用程式發出API呼叫
306‧‧‧服務送回結果至應用程式
304‧‧‧服務處理API呼叫
308‧‧‧應用程式根據該結果決定 行為

Claims (25)

  1. 一種執行軟體授權的系統,該系統包含:一處理器,該處理器用以執行電腦可執行指令;及一電腦可讀取儲存媒體,該電腦可讀取儲存媒體具有編碼於其上的電腦可執行指令以支援執行一電腦程式的授權,該電腦程式包含:在複數個授權下使用的一組指令,在該電腦程式中每一授權允許不同的權利,該等電腦可執行指令包含:一授權元件,該授權元件為該電腦程式的該等複數個授權所共有,該授權元件維護其中儲存有該等授權之一授權儲存庫,該授權元件更維護以一防竄改的方式儲存動態資料的一信賴儲存庫,其中該動態資料用以驗證該等授權,每一授權包含:在該電腦程式中之至少一權利,以及一組與該至少一權利有關之資料,該授權元件將一可呼叫介面呈現於該電腦程式,該可呼叫介面包含:一權利消費元件,該權利消費元件可從該電腦程式接收該權利之一識別碼,並決定是否可執行該權利,該決定是否可執行該權利之步驟係藉由檢查:(1)該授權對於一電腦程式的一產品鍵值之連接;(2)該授權對於該系統的連接,其中該電腦程式在該系統上執行;(3)該權利尚未逾期的一有效性,其中該電腦程式被通知決定該權利是否可被執行的結果,及基於該結果來決定該電腦程式的行為;;以及 一資訊擷取元件,該資訊擷取元件可從該電腦程式接收該權利之該識別碼,並提供該資料組、或是將以該資料組為基礎之資訊提供給該電腦程式。
  2. 如申請專利範圍第1項之系統,其中該授權元件可由複數個不同的電腦程式共有和使用,及該授權儲存庫儲存該等複數個不同的電腦程式之授權,該電腦程式被納入於該等複數個不同的電腦程式內,其中該可呼叫介面更包含:一控制碼(handle)-開啟元件,該控制碼-開啟元件提供一控制碼給該電腦程式;其中該權利消費元件從該電腦程式接收該控制碼,並利用該控制碼以識別出自該者而接收到對該權利消費元件之呼叫的電腦程式,及其中該電腦程式和授權元件位於一單一計算裝置。
  3. 如申請專利範圍第1項之系統,其中該權利消費元件使得該授權元件依據一或更多如下所列之因素來選擇該授權:該授權儲存庫是否與該電腦程式相關連;以及一衝突規則,該衝突規則決定從複數個關聯於該電腦程式之授權中選出何者授權。
  4. 如申請專利範圍第1項之系統,其中該授權元件並未執行對該電腦程式的授權限制,及該可呼叫介面更包含: 一非同步語意內容啟動元件,該非同步語意內容啟動元件建立用於非同步處理之一語意內容,及將該語意內容之一識別碼提供給該電腦程式;其中該權利消費元件從該電腦程式接收到該語意內容之該識別碼,並回應於接收該語意內容之該識別碼以非同步方式處理一權利消費請求。
  5. 如申請專利範圍第1項之系統,其中該權利消費元件係根據該權利是否經識別為在該授權內,來決定是否可執行該權利。
  6. 如申請專利範圍第1項之系統,其中該電腦程式及該授權元件執行於一機器上,且其中該權利消費元件係根據該授權是否經連接於該機器來決定是否可執行該權利。
  7. 如申請專利範圍第6項之系統,其中該電腦程式係關聯於一產品識別碼,且其中該權利消費元件根據該授權是否經連接於該機器、或是經連接於其中該機器歸屬為其成員之一的機器類別來決定是否可執行該權利。
  8. 一種由至少一機器實施的限制使用一電腦程式的方法,該電腦程式包含:在複數個授權下使用的一組指令,每一授權標定出在該電腦程式內之不同的權利,該方法包含: 透過該機器藉由從該電腦程式發出一第一呼叫至該授權服務之一可呼叫介面之第一方法,召喚該等複數個授權共有的一授權服務,而該第一呼叫係由與該權利相關聯之一識別碼所參數化;藉由該授權服務,維護以一防竄改的方式儲存的動態資料之一信賴儲存庫,其中該動態資料用以驗證該等複數個授權;回應於該第一呼叫,藉由該電腦程式接收一指示,該指示係關於:根據該等複數個授權的至少一者而是否執行該權利,其中是否可執行該權利之決定係藉由檢查:(1)該授權對於一電腦程式的一產品鍵值之連接;(2)該授權對於該系統的連接,其中該電腦程式在該系統上執行;(3)該權利尚未逾期的一有效性,其中該電腦程式被通知決定該權利是否可被執行的結果,及基於該結果來決定該電腦程式的行為;以及藉由該電腦程式,若該指示係肯定的,以一第一行為來進行,及若該指示係否定的,以一第二行為來進行。
  9. 如申請專利範圍第8項之方法,其中該第一行為包含:允許該電腦程式執行,且其中該第二行為包含:不再繼續執行該電腦程式。
  10. 如申請專利範圍第8項之方法,其中該第一行為包含:允許該電腦程式執行一第一組函數,且其中該第二行為包 含:允許該電腦程式執行與該第一組函數不同的一第二組函數。
  11. 如申請專利範圍第8項之方法,其中該權利係關聯於一組資料,其中該方法更包含:發出一第二呼叫給該界面的一第二方法,該第二方法係由該權利之一指示所參數化;以及回應於該第二呼叫,接收該組資料。
  12. 如申請專利範圍第11項之方法,更包含:根據該組資料來導引該電腦程式之作業。
  13. 如申請專利範圍第8項之方法,更包含:發出一第二呼叫給該介面之一第二方法;以及回應於該第二呼叫,接收一控制碼;其中該第二呼叫係於該第一呼叫之前即發出,且其中該第一呼叫更進一步由該控制碼所參數化。
  14. 如申請專利範圍第8項之方法,進一步包含:發出一第二呼叫給該介面之一第二方法;以及回應於該第二呼叫,接收一非同步語意內容;其中該第二呼叫係於該第一呼叫之前即發出,且其中該第一呼叫係進一步由該非同步語意內容所參數化,且其中當非同步地處理該第一呼叫時,該電腦程式會執行至 少一個動作。
  15. 如申請專利範圍第8項之方法,其中該第一方法根據包含如下所列之一或更多因素來決定是否為執行該權利:該授權是否連接於其上正執行該電腦程式之一機器或環境;該授權或權利是否連接於與該電腦程式相關連之一產品識別碼;該授權或權利是否既已逾期;以及該權利是否已消費超過在該授權中所標定權利的次數。
  16. 一種於其上具有經編碼之電腦可執行指令以執行促進對一電腦程式執行一授權的方法之電腦可讀取媒體,該電腦程式包含:在複數個授權下使用的一組指令,每一授權在該電腦程式中允許不同的權利,該方法包含:藉由該等複數個授權所共有的一授權服務,接收來自該電腦程式之一第一方法呼叫,該第一方法呼叫可識別該電腦程式內之一權利;藉由該授權服務,決定:該權利係包含於該等複數個授權間的一特定授權中,且該權利藉由該授權服務,透過使用一授權儲存庫和於其中具有儲存的動態資料的一信賴儲存庫而執行,該動態資料係以一防竄改的方式儲存和經使用以驗證該等複數個授權;以及 藉由該授權服務,將執行該權利之一指示送回給該電腦程式,其中是否可執行該權利之決定係藉由檢查:(1)該授權對於一電腦程式的一產品鍵值之連接;(2)該授權對於該系統的連接,其中該電腦程式在該系統上執行;(3)該權利尚未逾期的一有效性,及其中該電腦程式被通知決定該權利是否可被執行的結果,及基於該結果來決定該電腦程式的行為。
  17. 如申請專利範圍第16項之電腦可讀取媒體,其中該指示包含:連接該權利至該特定授權。
  18. 如申請專利範圍第16項之電腦可讀取媒體,其中該決定步驟係基於該權利是否經標定於該特定授權內。
  19. 如申請專利範圍第16項之電腦可讀取媒體,其中該決定步驟係基於該特定授權是否經連接於其上正執行該電腦程式之一機器。
  20. 如申請專利範圍第16項之電腦可讀取媒體,其中該決定步驟係基於該特定授權或該權利是否連接於該電腦程式。
  21. 如申請專利範圍第16項之電腦可讀取媒體,其中該決定步驟係基於該特定授權或該權利是否未逾期。
  22. 如申請專利範圍第16項之電腦可讀取媒體,其中該決定步驟係基於該特定授權是否經消費超過一限制之次數。
  23. 如申請專利範圍第16項之電腦可讀取媒體,其中該方法更包含:接收來自該電腦程式之一第二方法呼叫;以及回應於該第二方法呼叫,將一可識別該電腦程式之一控制碼送回給該電腦程式;其中該第一方法呼叫係接續於該第二方法呼叫而執行,且其中該第一方法呼叫可進一步識別該控制碼。
  24. 如申請專利範圍第16項之電腦可讀取媒體,其中該方法進一步包含:接收來自該電腦程式之一第二方法呼叫;以及回應於該第二方法呼叫,將一非同步語意內容送回給該電腦程式,其中該第一方法呼叫係接續於該第二方法呼叫而執行,且識別該非同步語意內容;以及當該電腦程式執行一動作時,以非同步方式執行該第一方法呼叫。
  25. 如申請專利範圍第16項之電腦可讀取媒體,其中該權利關聯於一組資料,且其中該方法進一步包含:接收指示該權利之一第二方法呼叫;以及 回應於該第二方法呼叫,提供該組資料給該電腦程式。
TW093126908A 2003-10-24 2004-09-06 用於軟體授權的系統、方法及電腦可讀取媒體 TWI465935B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/692,868 US10437964B2 (en) 2003-10-24 2003-10-24 Programming interface for licensing

Publications (2)

Publication Number Publication Date
TW200515243A TW200515243A (en) 2005-05-01
TWI465935B true TWI465935B (zh) 2014-12-21

Family

ID=34394578

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093126908A TWI465935B (zh) 2003-10-24 2004-09-06 用於軟體授權的系統、方法及電腦可讀取媒體

Country Status (18)

Country Link
US (2) US10437964B2 (zh)
EP (1) EP1526427A3 (zh)
JP (1) JP4851703B2 (zh)
KR (1) KR101231266B1 (zh)
CN (1) CN100468325C (zh)
AU (1) AU2004216596B2 (zh)
BR (1) BRPI0404376A (zh)
CA (1) CA2482182C (zh)
CO (1) CO5630045A1 (zh)
IL (1) IL164074A (zh)
MX (1) MXPA04009395A (zh)
MY (1) MY153272A (zh)
NO (1) NO331572B1 (zh)
NZ (1) NZ535532A (zh)
RU (1) RU2377634C2 (zh)
SG (1) SG111200A1 (zh)
TW (1) TWI465935B (zh)
ZA (1) ZA200407586B (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030130953A1 (en) * 2002-01-09 2003-07-10 Innerpresence Networks, Inc. Systems and methods for monitoring the presence of assets within a system and enforcing policies governing assets
US10437964B2 (en) 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
US20070143228A1 (en) * 2005-12-15 2007-06-21 Microsoft Corporation Licensing matrix
US7921059B2 (en) * 2005-12-15 2011-04-05 Microsoft Corporation Licensing upsell
US20070250711A1 (en) * 2006-04-25 2007-10-25 Phonified Llc System and method for presenting and inputting information on a mobile device
EP1901190A1 (en) * 2006-09-15 2008-03-19 Sony DADC Austria AG Method and system for managing access to add-on data files
US11201868B2 (en) * 2006-10-23 2021-12-14 Nokia Technologies Oy System and method for adjusting the behavior of an application based on the DRM status of the application
US20080134348A1 (en) * 2006-12-05 2008-06-05 Microsoft Corporation Conditional policies in software licenses
KR101389928B1 (ko) 2007-01-30 2014-04-30 삼성전자주식회사 상호 배제 기능을 수행하기 위한 방법 및 이를 이용한drm 디바이스
US20090228904A1 (en) * 2008-03-04 2009-09-10 Microsoft Corporation Declarative support for asynchronous methods
JP5065100B2 (ja) * 2008-03-05 2012-10-31 京セラドキュメントソリューションズ株式会社 ライセンス管理システムおよびライセンス管理プログラム
JP5084577B2 (ja) 2008-03-24 2012-11-28 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
US8538889B2 (en) * 2008-06-25 2013-09-17 Microsoft Corporation Application hierarchy and state manipulation
US8935528B2 (en) 2008-06-26 2015-01-13 Microsoft Corporation Techniques for ensuring authentication and integrity of communications
CN101534319B (zh) * 2008-11-11 2012-01-04 全旅通(北京)信息服务有限公司 一种解除指令间依赖关系的方法、系统和代理服务器
US20100293103A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Interaction model to migrate states and data
US9424399B2 (en) 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments
US20100293536A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
JP5633302B2 (ja) * 2010-10-22 2014-12-03 株式会社リコー 情報管理装置、情報管理プログラム及び情報管理システム
US9165332B2 (en) * 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing
EP2648125B1 (de) * 2012-03-05 2014-11-19 Steinberg Media Technologies GmbH Verfahren zur Autorisierung eines Programmablaufs
US10242164B2 (en) 2015-10-19 2019-03-26 Microsoft Technology Licensing, Llc Managing application specific feature rights
US20170213305A1 (en) * 2016-01-21 2017-07-27 Blackberry Limited Distribution of licenses for a third-party service operating in association with a licensed first-party service
CN106934254B (zh) * 2017-02-15 2020-05-26 中国银联股份有限公司 一种开源许可证的分析方法及装置
US11663337B2 (en) * 2018-07-20 2023-05-30 George Mason University Methods and systems for system call reduction
CA3143247A1 (en) * 2019-06-11 2020-12-17 Net-Thunder, Llc Automatically deployed information technology (it) system and method with enhanced security

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5629980A (en) * 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
CN1207530A (zh) * 1997-05-28 1999-02-10 西门子公司 保护软件的计算机系统及一种保护软件的方法
US6115777A (en) * 1998-04-21 2000-09-05 Idea Corporation LOADRS instruction and asynchronous context switch
US20030088516A1 (en) * 1999-12-21 2003-05-08 Eric B. Remer Software anti-piracy licensing

Family Cites Families (293)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5847820B2 (ja) 1975-12-17 1983-10-25 株式会社日立製作所 カラ−ジユゾウカン
US5023907A (en) 1988-09-30 1991-06-11 Apollo Computer, Inc. Network license server
US5155806A (en) 1989-03-15 1992-10-13 Sun Microsystems, Inc. Method and apparatus for displaying context sensitive help information on a display
GB8918553D0 (en) 1989-08-15 1989-09-27 Digital Equipment Int Message control system
US5287514A (en) 1990-01-08 1994-02-15 Microsoft Corporation Method and system for customizing a user interface in a computer system
JP3270102B2 (ja) * 1991-03-11 2002-04-02 ヒューレット・パッカード・カンパニー ライセンス付与方法及びシステム
EP0538464B1 (en) 1991-05-08 1998-12-30 Digital Equipment Corporation License management system
WO1992020022A1 (en) 1991-05-08 1992-11-12 Digital Equipment Corporation Management interface and format for license management system
US5204897A (en) * 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
JP2967961B2 (ja) 1991-12-16 1999-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 月別の予定表表示の提示方法
US5519606A (en) 1992-01-21 1996-05-21 Starfish Software, Inc. System and methods for appointment reconciliation
JPH0785216B2 (ja) 1992-02-07 1995-09-13 インターナショナル・ビジネス・マシーンズ・コーポレイション メニュー表示装置および方法
US5416895A (en) 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US6236396B1 (en) 1992-05-27 2001-05-22 Apple Computer, Inc. Method and apparatus for controlling a scheduler
US5570109A (en) 1992-05-27 1996-10-29 Apple Computer, Inc. Schedule and to-do list for a pen-based computer system
US5544295A (en) 1992-05-27 1996-08-06 Apple Computer, Inc. Method and apparatus for indicating a change in status of an object and its disposition using animation
US5659693A (en) 1992-08-27 1997-08-19 Starfish Software, Inc. User interface with individually configurable panel interface for use in a computer system
US5734915A (en) 1992-11-25 1998-03-31 Eastman Kodak Company Method and apparatus for composing digital medical imagery
US5500936A (en) 1993-03-12 1996-03-19 Asymetrix Corporation Multi-media slide presentation system with a moveable, tracked popup menu with button and title bars
US5588107A (en) 1993-03-22 1996-12-24 Island Graphics Corporation Method and apparatus for selectably expandable menus
JPH06342357A (ja) 1993-06-01 1994-12-13 Mitsubishi Electric Corp ユーザインタフェース方式
US5634128A (en) 1993-09-24 1997-05-27 International Business Machines Corporation Method and system for controlling access to objects in a data processing system
US5495411A (en) * 1993-12-22 1996-02-27 Ananda; Mohan Secure software rental system using continuous asynchronous password verification
WO1995022011A1 (en) 1994-02-08 1995-08-17 Plastic Bearings & Housings Australasia Pty. Ltd. Plain bearing
EP0742918B1 (en) 1994-03-21 1997-10-15 Object Technology Licensing Corp. Apparatus and method for document processing
US5563946A (en) * 1994-04-25 1996-10-08 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for passing encrypted files between data processing systems
EP0760122B1 (en) 1994-05-16 2002-01-30 Apple Computer, Inc. Switching between appearance/behavior themes in graphical user interfaces
US6404433B1 (en) 1994-05-16 2002-06-11 Apple Computer, Inc. Data-driven layout engine
US5555364A (en) 1994-08-23 1996-09-10 Prosoft Corporation Windowed computer display
WO1996009579A1 (en) 1994-09-22 1996-03-28 Izak Van Cruyningen Popup menus with directional gestures
US5588108A (en) 1994-09-27 1996-12-24 Micrografx, Inc. System and method for generating graphics charts
US5721847A (en) 1994-10-21 1998-02-24 Microsoft Corporation Method and system for linking controls with cells of a spreadsheet
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US5831606A (en) 1994-12-13 1998-11-03 Microsoft Corporation Shell extensions for an operating system
US5625783A (en) 1994-12-13 1997-04-29 Microsoft Corporation Automated system and method for dynamic menu construction in a graphical user interface
US5748964A (en) * 1994-12-20 1998-05-05 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions
US5760773A (en) 1995-01-06 1998-06-02 Microsoft Corporation Methods and apparatus for interacting with data objects using action handles
US5893125A (en) 1995-01-27 1999-04-06 Borland International, Inc. Non-modal database system with methods for incremental maintenance
US5664208A (en) 1995-05-16 1997-09-02 Apple Computer, Inc. Methods and apparatuses for seamless compound document processing
US5940847A (en) 1995-06-07 1999-08-17 Microsoft Corporation System and method for automatically correcting multi-word data entry errors
US5778402A (en) 1995-06-07 1998-07-07 Microsoft Corporation Method and system for auto-formatting a document using an event-based rule engine to format a document as the user types
US5619631A (en) 1995-06-07 1997-04-08 Binaryblitz Method and apparatus for data alteration by manipulation of representational graphs
US5671412A (en) * 1995-07-28 1997-09-23 Globetrotter Software, Incorporated License management system for software applications
US5778404A (en) 1995-08-07 1998-07-07 Apple Computer, Inc. String inserter for pen-based computer systems and method for providing same
US5634100A (en) 1995-08-07 1997-05-27 Apple Computer, Inc. System and method for event parameter interdependence and adjustment with pen input
JP2986078B2 (ja) 1995-08-28 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション カレンダーの表示方法及び表示装置
US5821936A (en) 1995-11-20 1998-10-13 Siemens Business Communication Systems, Inc. Interface method and system for sequencing display menu items
US20010011253A1 (en) * 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US5855006A (en) 1996-03-01 1998-12-29 Humware Personal activity scheduling apparatus
US5838321A (en) 1996-05-06 1998-11-17 Ast Research, Inc. User interface with embedded objects for personal computers and the like
US6493006B1 (en) 1996-05-10 2002-12-10 Apple Computer, Inc. Graphical user interface having contextual menus
US5933841A (en) 1996-05-17 1999-08-03 Ameritech Corporation Structured document browser
WO1997046962A1 (en) 1996-06-07 1997-12-11 At & T Corp. Finding an e-mail message to which another e-mail message is a response
US6085206A (en) 1996-06-20 2000-07-04 Microsoft Corporation Method and system for verifying accuracy of spelling and grammatical composition of a document
US6073108A (en) 1996-06-21 2000-06-06 Paul, Hastings, Janofsky & Walker Task-based classification and analysis system
US5899979A (en) 1996-07-22 1999-05-04 International Business Machines Corporation Method and system for automatically integrating scheduled work items onto an electronic calendar
US5828376A (en) 1996-09-23 1998-10-27 J. D. Edwards World Source Company Menu control in a graphical user interface
US6018343A (en) 1996-09-27 2000-01-25 Timecruiser Computing Corp. Web calendar architecture and uses thereof
US5842009A (en) 1996-09-30 1998-11-24 Apple Computer, Inc. System for automatically retrieving information relevant to a user's scheduled event
US5926806A (en) 1996-10-18 1999-07-20 Apple Computer, Inc. Method and system for displaying related information from a database
EP0932865B1 (en) * 1996-10-25 2002-08-14 SCHLUMBERGER Systèmes Using a high level programming language with a microcontroller
JP3383170B2 (ja) * 1996-10-29 2003-03-04 株式会社東芝 消費電力制限機能つきプロセッサ
US6012075A (en) 1996-11-14 2000-01-04 Microsoft Corporation Method and system for background grammar checking an electronic document
EP0847019A1 (en) 1996-12-04 1998-06-10 Koninklijke Philips Electronics N.V. Method and system for selecting an information item in an information processing system, and local station in such a system
US7248150B2 (en) 1997-01-29 2007-07-24 Directed Electronics, Inc. Menu-driven remote control transmitter
US5999938A (en) 1997-01-31 1999-12-07 Microsoft Corporation System and method for creating a new data structure in memory populated with data from an existing data structure
US6034683A (en) 1997-03-26 2000-03-07 Netscape Communications Corporation Time line for desktop metaphor
EP0970416B1 (en) 1997-03-28 2002-06-12 Sun Microsystems, Inc. Method and apparatus for configuring sliding panels
US6118480A (en) 1997-05-05 2000-09-12 Flashpoint Technology, Inc. Method and apparatus for integrating a digital camera user interface across multiple operating modes
US5940078A (en) 1997-06-17 1999-08-17 Sun Microsystems, Inc. Method and apparatus for changing the appearance of icon images on a computer display monitor
US6384849B1 (en) 1997-07-14 2002-05-07 Microsoft Corporation Method for displaying controls in a system using a graphical user interface
DE19730112A1 (de) 1997-07-14 1999-01-21 Ericsson Telefon Ab L M Empfangs- und Speichervorrichtung für Übertragungseinheiten
US6188995B1 (en) * 1997-07-28 2001-02-13 Apple Computer, Inc. Method and apparatus for enforcing software licenses
GB2328539B (en) 1997-08-22 2001-04-18 Ibm Data charting
US6882354B1 (en) 1997-09-17 2005-04-19 Sun Microsystems, Inc. Scroll bars with user feedback
JP2001517822A (ja) * 1997-09-19 2001-10-09 パク,ヒョ,ジョーン 独立的ソフトウェア登録サーバを利用したソフトウェア使用権管理システム
US6289502B1 (en) * 1997-09-26 2001-09-11 Massachusetts Institute Of Technology Model-based software design and validation
US6433801B1 (en) 1997-09-26 2002-08-13 Ericsson Inc. Method and apparatus for using a touch screen display on a portable intelligent communications device
US6192381B1 (en) 1997-10-06 2001-02-20 Megg Associates, Inc. Single-document active user interface, method and system for implementing same
US5970466A (en) 1997-10-06 1999-10-19 Impromed, Inc. Graphical computer system and method for appointment scheduling
US6121965A (en) 1997-10-17 2000-09-19 Lucent Technologies Inc. User interface for graphical application tool
JP3377419B2 (ja) * 1997-11-11 2003-02-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 命令列生成方法及び装置、変換方法、及びコンピュータ
US6289505B1 (en) * 1997-11-18 2001-09-11 Sun Microsystems, Inc. Method, apparatus and computer programmed product for binary re-optimization using a high level language compiler
US6216122B1 (en) 1997-11-19 2001-04-10 Netscape Communications Corporation Electronic mail indexing folder having a search scope and interval
US6188403B1 (en) 1997-11-21 2001-02-13 Portola Dimensional Systems, Inc. User-friendly graphics generator using direct manipulation
US5898436A (en) 1997-12-05 1999-04-27 Hewlett-Packard Company Graphical user interface for digital image editing
US5960406A (en) 1998-01-22 1999-09-28 Ecal, Corp. Scheduling system for use between users on the web
US6211879B1 (en) 1999-01-13 2001-04-03 Planetweb, Inc. System and method for navigating in multiple windows
JP2938420B2 (ja) 1998-01-30 1999-08-23 インターナショナル・ビジネス・マシーンズ・コーポレイション ファンクション選択方法及び装置、ファンクションを選択するための制御プログラムを格納した記憶媒体、オブジェクトの操作方法及び装置、オブジェクトを操作するための制御プログラムを格納した記憶媒体、複合アイコンを格納した記憶媒体
US6385596B1 (en) * 1998-02-06 2002-05-07 Liquid Audio, Inc. Secure online music distribution system
US6219670B1 (en) 1998-02-18 2001-04-17 International Business Machines Corporation Method and apparatus for filtering a table list before opening with a graphical user interface
US6067087A (en) 1998-03-03 2000-05-23 Microsoft Corporation Method for building menus during idle times
US6189146B1 (en) 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
GB2335822B (en) 1998-03-25 2003-09-10 Nokia Mobile Phones Ltd Context sensitive pop-up window for a portable phone
US6173316B1 (en) 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6226747B1 (en) 1998-04-10 2001-05-01 Microsoft Corporation Method for preventing software piracy during installation from a read only storage medium
US6175363B1 (en) 1998-05-29 2001-01-16 Hewlett-Packard Company Method and system to provide functionality access based on user approach to network and system management tasks
US6301704B1 (en) * 1998-06-16 2001-10-09 Silicon Graphics, Inc. Method, system, and computer program product for using static single assignment form as a program representation and a medium for performing global scalar optimization
US6133915A (en) 1998-06-17 2000-10-17 Microsoft Corporation System and method for customizing controls on a toolbar
US6101480A (en) 1998-06-19 2000-08-08 International Business Machines Electronic calendar with group scheduling and automated scheduling techniques for coordinating conflicting schedules
US6727919B1 (en) 1998-07-07 2004-04-27 International Business Machines Corporation Flexible mouse-driven method of user interface
US6414700B1 (en) 1998-07-21 2002-07-02 Silicon Graphics, Inc. System for accessing a large number of menu items using a zoned menu bar
US6307544B1 (en) 1998-07-23 2001-10-23 International Business Machines Corporation Method and apparatus for delivering a dynamic context sensitive integrated user assistance solution
US6359634B1 (en) 1998-08-25 2002-03-19 International Business Machines Corporation Method and computer program product for graphical user interface (GUI) organization control for extending GUI applications
GB2341052B (en) 1998-08-26 2003-05-14 Nokia Mobile Phones Ltd Wireless communication terminal
US6166738A (en) * 1998-09-14 2000-12-26 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects
US6373507B1 (en) 1998-09-14 2002-04-16 Microsoft Corporation Computer-implemented image acquistion system
US6232971B1 (en) 1998-09-23 2001-05-15 International Business Machines Corporation Variable modality child windows
US6480865B1 (en) 1998-10-05 2002-11-12 International Business Machines Corporation Facility for adding dynamism to an extensible markup language
EP1145157A4 (en) 1998-10-28 2007-10-17 Yahoo Inc METHOD FOR CONTROLLING INTERFACE OF INTERNET BROWSER AND CONTROLLABLE BROWSER INTERFACE
US6305012B1 (en) * 1998-12-03 2001-10-16 International Business Machines Corporation Method and apparatus for dynamic selection of instructions for compiling using tags
US20030097361A1 (en) 1998-12-07 2003-05-22 Dinh Truong T Message center based desktop systems
US6546417B1 (en) 1998-12-10 2003-04-08 Intellinet, Inc. Enhanced electronic mail system including methods and apparatus for identifying mime types and for displaying different icons
US6353451B1 (en) 1998-12-16 2002-03-05 Intel Corporation Method of providing aerial perspective in a graphical user interface
US6635089B1 (en) 1999-01-13 2003-10-21 International Business Machines Corporation Method for producing composite XML document object model trees using dynamic data retrievals
US6493731B1 (en) 1999-01-27 2002-12-10 Xerox Corporation Document management system for recording and viewing the history of document use
US6459441B1 (en) 1999-03-03 2002-10-01 Dassault Systemes Software interface
US6369840B1 (en) 1999-03-10 2002-04-09 America Online, Inc. Multi-layered online calendaring and purchasing
US6429882B1 (en) 1999-03-15 2002-08-06 Sun Microsystems, Inc. User interface component
US6308322B1 (en) * 1999-04-06 2001-10-23 Hewlett-Packard Company Method and apparatus for reduction of indirect branch instruction overhead through use of target address hints
US6466236B1 (en) 1999-04-08 2002-10-15 Palm, Inc. System and method for displaying and manipulating multiple calendars on a personal digital assistant
US6587881B1 (en) * 1999-04-09 2003-07-01 Microsoft Corporation Software server usage governor
US6697948B1 (en) * 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
JP2001034775A (ja) 1999-05-17 2001-02-09 Fuji Photo Film Co Ltd 履歴画像表示方法
US7100112B1 (en) 1999-05-20 2006-08-29 Microsoft Corporation Dynamic properties of documents and the use of these properties
WO2000077085A1 (en) 1999-06-11 2000-12-21 Sydney Hyman Image making medium
US6691281B1 (en) 1999-06-15 2004-02-10 Microsoft Corporation Publishing/republishing data tables in HTML documents while maintaining formatting and functionality for restoring back the data tables
US6456304B1 (en) 1999-06-30 2002-09-24 Microsoft Corporation Procedural toolbar user interface
US6621504B1 (en) 1999-08-06 2003-09-16 Avid Technology, Inc. Editor for effect tree parameters
EP1076279A1 (en) * 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
US7188073B1 (en) 1999-08-18 2007-03-06 Tam Tommy H On-line appointment system with electronic notifications
US6538673B1 (en) 1999-08-23 2003-03-25 Divine Technology Ventures Method for extracting digests, reformatting, and automatic monitoring of structured online documents based on visual programming of document tree navigation and transformation
GB2353679A (en) 1999-08-25 2001-02-28 Ibm Prioritized display of messages
US6405216B1 (en) 1999-09-17 2002-06-11 International Business Machines Corporation Internet-based application program interface (API) documentation interface
US6732330B1 (en) 1999-09-30 2004-05-04 International Business Machines Corporation Scripting language blocks to support multiple scripting languages in a single web page
US7082567B1 (en) 1999-10-18 2006-07-25 Rose Blush Software Llc Enhanced human computer user interface system for searching and browsing documents
US6578192B1 (en) 1999-10-20 2003-06-10 International Business Machines Corporation Method and system for supporting dynamic document content expressed in a component-level language
US7152207B1 (en) 1999-11-05 2006-12-19 Decentrix Inc. Method and apparatus for providing conditional customization for generating a web site
US6734880B2 (en) 1999-11-24 2004-05-11 Stentor, Inc. User interface for a medical informatics systems
US6924797B1 (en) 1999-11-30 2005-08-02 International Business Machines Corp. Arrangement of information into linear form for display on diverse display devices
US6686938B1 (en) 2000-01-05 2004-02-03 Apple Computer, Inc. Method and system for providing an embedded application toolbar
US6904449B1 (en) 2000-01-14 2005-06-07 Accenture Llp System and method for an application provider framework
US6621508B1 (en) 2000-01-18 2003-09-16 Seiko Epson Corporation Information processing system
EP1287416B1 (en) 2000-04-07 2007-06-13 Viatech Technologies Inc. System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files
US6618732B1 (en) 2000-04-11 2003-09-09 Revelink, Inc. Database query handler supporting querying of textual annotations of relations between data objects
US20030206646A1 (en) 2000-04-24 2003-11-06 Brackett Charles C. Imaging system having means for creating, managing and selecting from list of exam descriptions
US7249325B1 (en) 2000-05-11 2007-07-24 Palmsource, Inc. Automatically centered scrolling in a tab-based user interface
US6785868B1 (en) 2000-05-31 2004-08-31 Palm Source, Inc. Method and apparatus for managing calendar information from a shared database and managing calendar information from multiple users
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US7111238B1 (en) 2000-06-23 2006-09-19 Microsoft Corporation System and method for maintaining text formatting consistency within an electronic document
EP1354263A2 (en) 2000-07-07 2003-10-22 Openwave Systems Inc. Graphical user interface features of a browser in a hand-held wireless communication device
US7178098B2 (en) 2000-07-13 2007-02-13 International Business Machines Corporation Method and system in an electronic spreadsheet for handling user-defined options in a copy/cut—paste operation
US6583798B1 (en) 2000-07-21 2003-06-24 Microsoft Corporation On-object user interface
US6871195B2 (en) 2000-09-13 2005-03-22 E-Promentor Method and system for remote electronic monitoring and mentoring of computer assisted performance support
JP3530475B2 (ja) 2000-09-25 2004-05-24 三洋電機株式会社 折畳式通信端末装置および情報表示方法
US6988241B1 (en) 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
US6825859B1 (en) 2000-11-13 2004-11-30 Corel Corporation System and method for processing content changes of on-screen items
US7020848B2 (en) 2000-12-20 2006-03-28 Eastman Kodak Company Comprehensive, multi-dimensional graphical user interface using picture metadata for navigating and retrieving pictures in a picture database
US6925605B2 (en) 2000-12-28 2005-08-02 International Business Machines Corporation Collating table for email
US7266768B2 (en) 2001-01-09 2007-09-04 Sharp Laboratories Of America, Inc. Systems and methods for manipulating electronic information using a three-dimensional iconic representation
US6801227B2 (en) 2001-01-16 2004-10-05 Siemens Medical Solutions Health Services Inc. System and user interface supporting user navigation and concurrent application operation
US20020149623A1 (en) 2001-01-26 2002-10-17 Alan West State and data driven dynamic menu and toolbar architecture
CA2437726A1 (en) 2001-02-15 2002-08-22 Suffix Mail Inc. E-mail messaging system
US7110936B2 (en) 2001-02-23 2006-09-19 Complementsoft Llc System and method for generating and maintaining software code
US6906717B2 (en) 2001-02-27 2005-06-14 Microsoft Corporation Multiple chart user interface
US20020133557A1 (en) 2001-03-03 2002-09-19 Winarski Donna Ilene Robinson Sorting e-mail
US6964025B2 (en) 2001-03-20 2005-11-08 Microsoft Corporation Auto thumbnail gallery
EP1243998B1 (en) 2001-03-21 2017-04-19 Excalibur IP, LLC A technique for license management and online software license enforcement
GB2373604B (en) 2001-03-23 2004-10-27 Ibm A method and system for controlling use of software programs
US7174514B2 (en) 2001-03-28 2007-02-06 Siebel Systems, Inc. Engine to present a user interface based on a logical structure, such as one for a customer relationship management system, across a web site
TW502180B (en) 2001-03-30 2002-09-11 Ulead Systems Inc Previewing method of editing multimedia effect
CN1237804C (zh) 2001-04-19 2006-01-18 松下电器产业株式会社 许可证管理系统、许可证管理设备、中继设备和终端设备
US20030098891A1 (en) 2001-04-30 2003-05-29 International Business Machines Corporation System and method for multifunction menu objects
US20020163538A1 (en) 2001-05-07 2002-11-07 Koninklijke Philips Electronics N.V. Electronic mail guide
US7039647B2 (en) 2001-05-10 2006-05-02 International Business Machines Corporation Drag and drop technique for building queries
US7334196B2 (en) 2001-06-25 2008-02-19 Siemens Medical Solutions Health Services Corporation User interface display navigation and item selection system
US6826729B1 (en) 2001-06-29 2004-11-30 Microsoft Corporation Gallery user interface controls
US20030011638A1 (en) 2001-07-10 2003-01-16 Sun-Woo Chung Pop-up menu system
US7620911B2 (en) 2001-07-12 2009-11-17 Autodesk, Inc. Collapsible dialog window
US20030066025A1 (en) 2001-07-13 2003-04-03 Garner Harold R. Method and system for information retrieval
US7251776B2 (en) 2001-07-13 2007-07-31 Netview Technologies, Inc. System and method for efficiently and flexibly utilizing spreadsheet information
GB2377858B (en) 2001-07-19 2005-04-20 Inventec Appliances Corp Method for simplifying cellular phone menu selection
US6999068B2 (en) 2001-08-21 2006-02-14 Hewlett-Packard Development Company, L.P. System and method for enabling users to edit graphical images
US7046848B1 (en) 2001-08-22 2006-05-16 Olcott Peter L Method and system for recognizing machine generated character glyphs and icons in graphic images
US8504479B2 (en) * 2001-08-29 2013-08-06 Conexant Systems, Inc. Key interface for secure object manipulation
US20030043211A1 (en) 2001-09-05 2003-03-06 Kremer Karl Heinz Image-forming system having a graphic user interface with print option representation using thumbnail images
US20030076957A1 (en) * 2001-10-18 2003-04-24 Nadarajah Asokan Method, system and computer program product for integrity-protected storage in a personal communication device
JP2003141020A (ja) 2001-10-31 2003-05-16 Toshiba Tec Corp 情報保管出力システム及び情報保管出力サービス
US7032210B2 (en) 2001-11-11 2006-04-18 International Business Machines Corporation Method and system for generating program source code of a computer application from an information model
US7363590B2 (en) 2001-11-27 2008-04-22 International Business Machines Corporation Calendar bar interface for electronic mail interaction
US7359936B2 (en) 2001-11-27 2008-04-15 International Business Machines Corporation Method and apparatus for electronic mail interaction with grouped message types
US6801230B2 (en) 2001-12-18 2004-10-05 Stanley W. Driskell Method to display and manage computer pop-up controls
US20030233419A1 (en) 2002-01-08 2003-12-18 Joerg Beringer Enhanced email management system
US7039596B1 (en) 2002-01-18 2006-05-02 America Online, Inc. Calendar overlays
US6947928B2 (en) 2002-02-26 2005-09-20 International Business Machines Corporation Graphical user interface for building queries with hierarchical conditions
US6850255B2 (en) 2002-02-28 2005-02-01 James Edward Muschetto Method and apparatus for accessing information, computer programs and electronic communications across multiple computing devices using a graphical user interface
US7003730B2 (en) 2002-03-08 2006-02-21 International Business Machines Corporation Graphical user interface to build event-based dynamic searches or queries using event profiles
US20040117451A1 (en) 2002-03-22 2004-06-17 Chung Michael Myung-Jin Methods and systems for electronic mail internet target and direct marketing and electronic mail banner
US20030195937A1 (en) 2002-04-16 2003-10-16 Kontact Software Inc. Intelligent message screening
US20040012633A1 (en) 2002-04-26 2004-01-22 Affymetrix, Inc., A Corporation Organized Under The Laws Of Delaware System, method, and computer program product for dynamic display, and analysis of biological sequence data
WO2003098500A1 (en) 2002-05-16 2003-11-27 Decision Curve Limited Method and apparatus for automatically producing spreadsheet-based models
US6972762B2 (en) 2002-05-21 2005-12-06 Microsoft Corporation System and method for interactive grouping of pie chart slices
US20040100504A1 (en) 2002-05-24 2004-05-27 Jored Sommer Item selection systems and methods of displaying the same
US7434163B2 (en) 2002-05-31 2008-10-07 Sap Aktiengesellschaft Document structures for delta handling in server pages
US20030227487A1 (en) 2002-06-01 2003-12-11 Hugh Harlan M. Method and apparatus for creating and accessing associative data structures under a shared model of categories, rules, triggers and data relationship permissions
US7191411B2 (en) 2002-06-06 2007-03-13 Moehrle Armin E Active path menu navigation system
GB2389499B (en) 2002-06-06 2005-09-28 Focus Solutions Group Plc Electronic data capture and verification
EP1376337A1 (en) 2002-06-12 2004-01-02 Commerce One Operations, Inc. Action/command/business object application framework
US20040003351A1 (en) 2002-06-28 2004-01-01 Microsoft Corporation Navigating a resource browser session
GB2391148B (en) 2002-07-19 2006-01-04 Autodesk Canada Inc Selecting functions via a graphical user interface
US20040109025A1 (en) 2002-08-28 2004-06-10 Jean-Marie Hullot Computer program comprising a plurality of calendars
EP2584510A3 (en) 2002-09-09 2013-10-09 Apple Inc. A computer program comprising a plurality of calendars
US20040056894A1 (en) 2002-09-19 2004-03-25 Igor Zaika System and method for describing and instantiating extensible user interfaces
US7386535B1 (en) 2002-10-02 2008-06-10 Q.Know Technologies, Inc. Computer assisted and/or implemented method for group collarboration on projects incorporating electronic information
US20040230508A1 (en) 2002-10-29 2004-11-18 Minnis Raymond Albert System for generating financial statements using templates
US20040100505A1 (en) 2002-11-21 2004-05-27 Cazier Robert Paul System for and method of prioritizing menu information
US20040107197A1 (en) 2002-11-29 2004-06-03 Shen Yu Yong System, method and user interface allowing customized portfolio management
CA2414053A1 (en) 2002-12-09 2004-06-09 Corel Corporation System and method for manipulating a document object model
US7360174B2 (en) 2002-12-19 2008-04-15 Microsoft Corporation Contact user interface
US7376698B2 (en) 2002-12-20 2008-05-20 Sap Ag System for preserving scripting objects and cloning the objects to a new document in response to a reload of the new document
US20040133854A1 (en) 2003-01-08 2004-07-08 Black Karl S. Persistent document object model
US20060111931A1 (en) 2003-01-09 2006-05-25 General Electric Company Method for the use of and interaction with business system transfer functions
US20040186775A1 (en) 2003-01-29 2004-09-23 Margiloff William A. Systems and methods for providing an improved toolbar
US7212208B2 (en) 2003-02-25 2007-05-01 Bahram Khozai System and method to present and display multiple data using enhanced box charts
US7539985B2 (en) 2003-02-26 2009-05-26 Bea Systems, Inc. Systems and methods for dynamic component versioning
US9003295B2 (en) 2003-03-17 2015-04-07 Leo Martin Baschy User interface driven access control system and method
US6983889B2 (en) 2003-03-21 2006-01-10 Home Comfort Zones, Inc. Forced-air zone climate control system for existing residential houses
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7188308B2 (en) 2003-04-08 2007-03-06 Thomas Weise Interface and method for exploring a collection of data
US7328409B2 (en) 2003-04-17 2008-02-05 International Business Machines Corporation Method, system, and computer program product for user customization of menu items
US7337185B2 (en) 2003-04-30 2008-02-26 Yahoo! Inc. System and method for providing an improved graphical user interface for search
JP4347123B2 (ja) 2003-05-02 2009-10-21 キヤノン株式会社 文書処理システムおよび文書処理方法およびコンピュータが読取り可能な記憶媒体およびプログラム
US7567964B2 (en) 2003-05-08 2009-07-28 Oracle International Corporation Configurable search graphical user interface and engine
WO2004109557A1 (en) 2003-06-03 2004-12-16 Forbes Holten Norris, Iii Flexible, dynamic menu-based web-page architecture
US7178101B2 (en) 2003-06-24 2007-02-13 Microsoft Corporation Content template system
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US20050005249A1 (en) 2003-07-01 2005-01-06 Microsoft Corporation Combined content selection and display user interface
US7392249B1 (en) 2003-07-01 2008-06-24 Microsoft Corporation Methods, systems, and computer-readable mediums for providing persisting and continuously updating search folders
US7716593B2 (en) 2003-07-01 2010-05-11 Microsoft Corporation Conversation grouping of electronic mail records
US7027463B2 (en) 2003-07-11 2006-04-11 Sonolink Communications Systems, Llc System and method for multi-tiered rule filtering
WO2005008432A2 (en) 2003-07-11 2005-01-27 Sonolink Communications Systems, Llc System and method for advanced rule creation and management within an integrated virtual workspace
US20050044500A1 (en) 2003-07-18 2005-02-24 Katsunori Orimoto Agent display device and agent display method
US20050021504A1 (en) 2003-07-22 2005-01-27 Charles Atchison Methods, systems, and computer program products for querying a database for employee data and organizing the obtained data
JP2005056233A (ja) 2003-08-06 2005-03-03 Nec Corp 移動体通信装置、移動体通信装置の電子メールの受信動作方法及びその電子メールの受信動作プログラム
US7325204B2 (en) 2003-08-29 2008-01-29 Yahoo! Inc. Slideout windows
US7472286B2 (en) * 2003-08-29 2008-12-30 Microsoft Corporation Selectively authorizing software functionality after installation of the software
US20050144241A1 (en) 2003-10-17 2005-06-30 Stata Raymond P. Systems and methods for a search-based email client
US20050086135A1 (en) 2003-10-20 2005-04-21 Li-Chin Lu Automatic bookkeeping system
US6990637B2 (en) 2003-10-23 2006-01-24 Microsoft Corporation Graphical user interface for 3-dimensional view of a data collection based on an attribute of the data
US7346769B2 (en) 2003-10-23 2008-03-18 International Business Machines Corporation Method for selective encryption within documents
US10437964B2 (en) 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
US20050117179A1 (en) 2003-11-06 2005-06-02 Tatsuo Ito Output information providing method, output information providing system, document outputting method, and document outputting system
US7996514B2 (en) 2003-12-23 2011-08-09 Microsoft Corporation System and method for sharing information based on proximity
US20050172262A1 (en) 2004-01-30 2005-08-04 Ahika Corporation Site menu - browser toolbar-based user interface for navigating web site pages
US7856596B2 (en) 2004-02-17 2010-12-21 Microsoft Corporation Method and system for separation of content and layout definitions in a display description
US7469385B2 (en) 2004-02-20 2008-12-23 Microsoft Corporation Methods and systems for abstraction of logical editing operations
KR101236619B1 (ko) 2004-03-15 2013-02-22 야후! 인크. 사용자 주석이 통합된 검색 시스템 및 방법
US7574674B2 (en) 2004-04-02 2009-08-11 Microsoft Corporation Method for controlling filename display for image and video file types
US20060026638A1 (en) 2004-04-30 2006-02-02 Vulcan Inc. Maintaining a graphical user interface state that is based on a selected type of content
US20050278656A1 (en) 2004-06-10 2005-12-15 Microsoft Corporation User control for dynamically adjusting the scope of a data set
US7954050B2 (en) 2004-06-25 2011-05-31 Icesoft Technologies Canada Corp. Systems and methods for rendering and increasing portability of document-based user interface software objects
US7720845B2 (en) 2004-08-13 2010-05-18 Yahoo! Inc. Systems and methods for updating query results based on query deltas
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US7505954B2 (en) 2004-08-18 2009-03-17 International Business Machines Corporation Search bar with intelligent parametric search statement generation
US8239375B2 (en) 2004-08-31 2012-08-07 Research In Motion Limited Method of searching for personal information management (PIM) information and handheld electronic device employing the same
US20090094332A1 (en) 2004-09-02 2009-04-09 Zimbra, Inc. System and method for enabling offline use of email through a browser interface
US8126895B2 (en) 2004-10-07 2012-02-28 Computer Associates Think, Inc. Method, apparatus, and computer program product for indexing, synchronizing and searching digital data
US20060095865A1 (en) 2004-11-04 2006-05-04 Rostom Mohamed A Dynamic graphical user interface for a desktop environment
US8402384B2 (en) 2004-11-09 2013-03-19 Research In Motion Limited Dynamic bar oriented user interface
WO2006051905A1 (ja) 2004-11-12 2006-05-18 Justsystems Corporation データ処理装置およびデータ処理方法
CN100458774C (zh) 2004-11-29 2009-02-04 国际商业机器公司 文档编辑器及文档编辑方法
US7546522B2 (en) 2004-12-20 2009-06-09 Microsoft Corporation Method, system, and computer-readable medium for applying a global formatting scheme to a chart in an electronic document
US20060173824A1 (en) 2005-02-01 2006-08-03 Metalincs Corporation Electronic communication analysis and visualization
US7921372B2 (en) 2005-03-25 2011-04-05 Microsoft Corporation System and method for pinning tabs in a tabbed browser
US7530029B2 (en) 2005-05-24 2009-05-05 Microsoft Corporation Narrow mode navigation pane
JP2007006373A (ja) 2005-06-27 2007-01-11 Konica Minolta Business Technologies Inc 書類データ管理システム、画像形成装置、書類データ管理方法、およびコンピュータプログラム
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US7739259B2 (en) 2005-09-12 2010-06-15 Microsoft Corporation Integrated search and find user interface
US7627561B2 (en) 2005-09-12 2009-12-01 Microsoft Corporation Search and find using expanded search scope
US7484180B2 (en) 2005-11-07 2009-01-27 Microsoft Corporation Getting started experience
US7975224B2 (en) 2005-12-21 2011-07-05 Xerox Corporation WYSIWYG multifunction device finishing options
JP2007287136A (ja) 2006-03-23 2007-11-01 Oce Technologies Bv オブジェクトの順序付けられた集合に対する処理動作をプログラミングするためのシステム
US20070240057A1 (en) 2006-04-11 2007-10-11 Microsoft Corporation User interface element for displaying contextual information
US8209308B2 (en) 2006-05-01 2012-06-26 Rueben Steven L Method for presentation of revisions of an electronic document
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US20080034304A1 (en) 2006-08-02 2008-02-07 Feuerbacher Frank P Method, System, and Program Product for Focus Switching Delay in a Graphical User Interface
US7805705B2 (en) 2006-08-04 2010-09-28 Apple Inc. Graphically depicting program code depth
US7793226B2 (en) 2006-08-14 2010-09-07 International Business Machines Corporation Method and system for grouping and stacking tab user interface objects with icon status indicators
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5629980A (en) * 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
CN1207530A (zh) * 1997-05-28 1999-02-10 西门子公司 保护软件的计算机系统及一种保护软件的方法
US6115777A (en) * 1998-04-21 2000-09-05 Idea Corporation LOADRS instruction and asynchronous context switch
US20030088516A1 (en) * 1999-12-21 2003-05-08 Eric B. Remer Software anti-piracy licensing

Also Published As

Publication number Publication date
IL164074A0 (en) 2005-12-18
JP2005129049A (ja) 2005-05-19
US20050091168A1 (en) 2005-04-28
NZ535532A (en) 2006-11-30
US20200034516A1 (en) 2020-01-30
AU2004216596A1 (en) 2005-05-12
CN100468325C (zh) 2009-03-11
KR101231266B1 (ko) 2013-02-07
EP1526427A2 (en) 2005-04-27
CO5630045A1 (es) 2006-04-28
RU2004131031A (ru) 2006-04-10
IL164074A (en) 2010-06-30
JP4851703B2 (ja) 2012-01-11
AU2004216596B2 (en) 2010-03-11
ZA200407586B (en) 2005-05-25
SG111200A1 (en) 2005-05-30
EP1526427A3 (en) 2005-07-06
KR20050039537A (ko) 2005-04-29
US10437964B2 (en) 2019-10-08
NO331572B1 (no) 2012-01-30
TW200515243A (en) 2005-05-01
RU2377634C2 (ru) 2009-12-27
MY153272A (en) 2015-01-29
NO20044099L (no) 2005-04-25
MXPA04009395A (es) 2005-05-16
CA2482182C (en) 2017-03-28
BRPI0404376A (pt) 2005-06-21
CN1609802A (zh) 2005-04-27
CA2482182A1 (en) 2005-04-24

Similar Documents

Publication Publication Date Title
TWI465935B (zh) 用於軟體授權的系統、方法及電腦可讀取媒體
US7747533B2 (en) Digital application operating according to aggregation of plurality of licenses
CN101960446B (zh) 基于安全浏览器的应用
JP3546787B2 (ja) アクセス制御システム、アクセス制御方法、及び記憶媒体
US20090276269A1 (en) Software identifier based correlation
JP2005259126A (ja) コードのメータリングされた実行
EP2093693A1 (en) System, method and program for controlling access rights
US20070198427A1 (en) Computer service licensing management
US9805172B2 (en) System and methods of resource usage using an interoperable management framework
TW201040783A (en) Enhanced product functionality based on user identification
CN101772764A (zh) 多线程业务编程库
JP7228751B2 (ja) 権限管理のための方法および装置、コンピュータ機器ならびに記憶媒体
US7594274B2 (en) Method of authenticating an application for personal digital assistant using a unique ID based on a personal computer and system using thereof
US8776258B2 (en) Providing access rights to portions of a software application
US20210286767A1 (en) Architecture, method and apparatus for enforcing collection and display of computer file metadata
US11245701B1 (en) Authorization pre-processing for network-accessible service requests
JP2005251070A (ja) ライセンス管理システムおよびライセンス管理方法
JP2007531153A (ja) Reaモデルを利用したセキュリティを提供するシステムおよび方法
JP2008520036A (ja) 権利表現の発行が許可されていることを確認するための方法、システム、および装置
JP2015026187A (ja) 管理システム、管理装置、及びコンピュータプログラム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees