国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      計算機程序應用許可證管理方法和系統(tǒng)的制作方法

      文檔序號:6405277閱讀:345來源:國知局
      專利名稱:計算機程序應用許可證管理方法和系統(tǒng)的制作方法
      此項發(fā)明涉及對計算機程序的使用進行控制的領域,特別是在計算機連網的領域,為計算機程序在網絡結點中運行,管理許可證的可用性。
      過去,人們采用各種方法防止對計算機程序的非法復制和使用。在單獨的計算機,例如個人計算機上,人們采用稱為防止復制的方法和設備來控制計算機程序的使用。這種個人計算機都帶有一個中央處理機(即CPU),系統(tǒng)內存,還可以選配磁盤存貯器,例如磁盤驅動器,簡稱為磁盤。一般來說,當許多個人計算機聯(lián)接在一起組成一個計算機網時,上述防止復制的方法和設備的作用就不夠了。
      當多個個人計算機聯(lián)接成網時,這些個人計算機就稱為網中的節(jié)點。這種網中也可有一個文件服務器,它的作用是對系統(tǒng)中的數據,包括對在特定節(jié)點上使用計算機程序的可能性做集中總控。有些文件服務器系統(tǒng)要求應用程序檢查文件服務器的序號以便能在該服務器上運行。例如在Doug和DaleCabell合寫的《軟件保護》一文中(載于MicroCommunicatious,1985年第2卷,第5期,35-37頁)指出,應用程序是靠發(fā)出一個特定的網上呼叫和把呼叫的結果與予定的回答相比較來檢查上述序號的。如果序號正確,應用程序就收到一個完成碼。如果序號不正確,為了防止應用程序被運行,用戶被強行注銷。
      另外一些系統(tǒng)要求在節(jié)點上的計算機裝有專門的硬件板以便控制計算機程序在其上的運行。因此,這類系統(tǒng)就被限制在具備這種硬件板的工作站上運行。作用基于硬件的防止復制的方法時,在一特定節(jié)點的硬件板中有一認證碼,并要求被保護的計算機程序中帶有相應的匹配碼以便在該節(jié)點上運行。這種解決防止復制問題的方法是著眼于計算機程序的。因為非法復制來的程序將沒有與工作站中的硬件板內的認證碼相一至的匹配碼。然而,這種防止復制的方法在下述情況下不適用當網中任一節(jié)點都帶有可被認證的序號,網中多個節(jié)點同時運行某一計算機程序的要求超過了允許該程序運行的許可證的數目時。
      雖然人們提出了這種或那種方法和系統(tǒng)來解決問題,文獻表明在使用計算機網絡時,用戶仍然面臨著問題,就是究竟允許在網中同時運行多個特定的計算機程序。
      此發(fā)明的目的是提供方法和系統(tǒng)來控制計算機程序的使用。
      此發(fā)明的另一個目的是在計算機聯(lián)網的節(jié)點上用許可證的可能性來管理計算機程序在這些節(jié)點上的運行。
      與此目的相關,本發(fā)明將使一特定計算機程序的一個副本在任何時刻,在該網絡中的任何一個節(jié)點上能運行,其前提是在請求在該網絡中該節(jié)點上運行該副本時,該網絡中正在運行的該計算機程序的其它副本的總數,比批準在該網絡中同時運行該程序的許可證的總數小。
      此發(fā)明的另一目的是給網絡中的一個節(jié)點一個許可證文件,該文件中包括首先,至少有一個許可證,它可以有效地批準運行一個給定計算機程序的副本;其次,一個唯一的標識,它與給定計算機程序的副本同在一處,并共同先確定前述唯一標識是有效的,然后再使用前述許可證,批準給定計算機程述的前述副本運行。
      此發(fā)明的進一步目標是提供能在節(jié)點之間傳送的許可證,以便在特定的節(jié)點上運行特定的程序。其中,許可證的傳送受控于賦予每一個許可證的標識,并且被傳送到特定節(jié)點上的許可證的標識是唯一的。
      此發(fā)明更進一步的目的是為網絡中每個計算機程序提供一個許可證管理設施,即如果上述至少含有一個許可證的許可證文件所具有的唯一標識碼與系統(tǒng)記錄中的標識碼相匹配,就允許計算機程序在特定節(jié)點上運行,而當這個特定節(jié)點的許可證文件無效時,許可證管理設施就在其它節(jié)點的許可證文件中搜尋批準在此節(jié)點上運行計算機程序的許可證。
      許可證管理設施附加的目的是把可用的許可證從遠程節(jié)點傳送到需要使眉撲慊絳虻謀鏡亟詰?,同蕚涿设施给传送氮勭R亟詰閔系男砜芍じ秤櫳碌奈ㄒ槐曄恫⑸鏡粼凍探詰閔系南嚶鍬跡庋瞇砜芍ぞ橢輝謁淮偷醬锏謀鏡亟詰閔嫌行А 根據以上提到的這樣和那樣的目的,此發(fā)明提供的管理系統(tǒng)可控制計算機程序在由眾多節(jié)點(或工作站)組成的網絡中的可運行性。計算機程序的賣方可能希望在每個節(jié)點上運行單個或多個計算機程序時都要有許可證,而計算機網的所有者則可能要求在網絡中運行特定計算機程序的可用許可證的數目要小于網中節(jié)點的總數,或者最多等于該網的所有用戶可能會要求同時使用該計算機程序的副本的總數。本系統(tǒng)滿足賣方和網的所有者的利益的方式如下。
      為了滿足聯(lián)網的所有者的利益,裝入網中的許可證的總數小于網中節(jié)點的總數,而且在一般情況下,通常也小于網中所有用戶可能會同時使用該計算機程序副本的數目。一般而言,網中總有一個許可證文件,例如在某特定節(jié)點上。在此發(fā)明的一個具體實例中,一個許可證文件內可能只含有一個許可證,在一個或多個節(jié)點上則可能裝有許多這樣的許可證文件。在另一具體實例中,許可證文件含有任意數目的某一特定計算機的許可證。系統(tǒng)設施(如操作系統(tǒng))賦予每一個許可證文件一個唯一的標識(UID),此標識與網內其它許可證文件的標識不同。當要求在選定的節(jié)點上運行某計算機程序時,就檢查許可證文件以確定其是否有效。檢查的方法是比較許可證文件的標識與系統(tǒng)設施賦予該許可證文件的標識。如果這兩個標識相匹配,就進一步檢查這許可證文件內諸許可證中有無一個可用于選定的節(jié)點。當在有效的許可證文件內找到了可用的許可證后,管理系統(tǒng)就在選定的節(jié)點上啟動計算機程序。如果沒有找到有效的許可證文件,或者全部有效的許可證文件內的許可證正被使用者,或這些許可證不能用,則管理系統(tǒng)回送給計算機程序一個狀態(tài),指示不允許它啟動。
      此發(fā)明的其它目的涉及到許可證管理方法,該方法用來限制在網中諸節(jié)點上同時運行某計算機程序的副本的數目(以下用S表示此數)。此限制是根據該網所具有的該計算機程序的許可證數目(以下用L表示此數)做出的。為了保護計算機程序賣方的利益,此管理方法限制S小于或等于L。在每個運行特定計算機程序節(jié)點內都有許可證存貯器(例如在磁盤上)和系統(tǒng)存貯器。許可證存貯器保存許可證文件,該文件里存有給定計算機程序的一個或多個許可證。許可證存貯器中還保存著目錄文件。該目錄文件內有許可證文件的名字以及該許可證文件的唯一標識(UID)。
      該管法還包括有把給定計算機程序加載到網上至少一個節(jié)點的許可證存貯器里去的步驟。在時間方面來要求,該程序必須是有效的,還沒有超過賣方授權使用的期限。下一步驟是把一個或多個許可證文件加載到網內至少一個帶點的許可證存貯器里。在前面提到的第一個具體實例中,許可證文件含有一個某計算機程序的許可證,要用許可許可證文件提供L個許可證。而在第二個例子中,只需要用一個許可證文件,它應含有L個許可證。
      然后,給每一個加載好的許可證文件分配一個標識,該標識在加載過程中是唯一的,不同于其它許可證文件的標識。在一個許可證還沒有被用于允許運行計算機程序的副本時,它處于待用狀態(tài)。我們把節(jié)點分為本地節(jié)點和遠程節(jié)點。用戶請求在其上運行計算機程序的節(jié)點是本地節(jié)點。網中任一其它節(jié)點是遠程節(jié)點。
      在前述第一個實例中,許可證文件里的許可證只能允許在該許可證文件所在的本地節(jié)點上運行一個計算機程序的副本。當需要時,可把許可證文件(從別處)傳到該本地節(jié)點來。在第二個實例中,在許可證文件里的任一許可證,都可以允許在任一本地或遠程節(jié)點上運行特定計算機程序的副本。
      對在本地節(jié)點上運行某一計算機程序的請求的響應是在該本地節(jié)點的目錄文件里尋找許可證文件。在確定(本地節(jié)點里)無有效的許可證文件,或雖然許可證文件有效,但其內無可用的許可證后,就在各遠程節(jié)點的目錄里尋找有效的許可證文件。
      在前述第一個實例中,如發(fā)現(xiàn)某遠程節(jié)點里的許可證文件有效,且其內的許可證應處于待用狀態(tài),就把該遠程節(jié)點里正在待用的許可證傳送到本地節(jié)點。然后,賦予被傳送到本地節(jié)點的許可證一個唯一的標識并把該遠程節(jié)點里的許可證文件刪除。然后,一個狀態(tài)信息被送回到計算機程序,說明該程序已獲得許可證,可在本地節(jié)點上運行。
      在第二個實例中,如果在某遠程節(jié)點里有有效的許可證文件且該文件內有一個可用的許可證,本地節(jié)點里與該計算機程序副本有關聯(lián)的許可證管理程序就批準使用該副本并修改該遠程節(jié)點的許可證文件里的記錄,說明該可用的許可證現(xiàn)已被占用,不允許其它節(jié)點使用了。
      附圖的簡介細讀下述各細節(jié)及有關圖示,為更清楚地了解此發(fā)明的其它目的、特征和優(yōu)點。這些圖包括

      圖1是一個計算機網絡的框圖。它們顯示了聯(lián)網的節(jié)點;網上某計算機程序的可用許可證數目小于對這些許可證可能的需求數;
      圖2A,2B和2C是某節(jié)點上磁盤存貯器某區(qū)的框圖。它顯示了此發(fā)明第一個實例中的目錄文件的內容,說明在該節(jié)點里有許可證文件和計算機程序;它們還顯示了根據許可證文件是否有效和是否含有可用的許可證,計算機程序文件內的許可證管理程序管理著該計算機程序副本的使用;
      圖3A和3B構成一個流程圖。它們顯示了此發(fā)明的第一個實例中許可證管理程序所執(zhí)行的功能,即無論起始在某一本地節(jié)點里是否有可用的某計算機程序的許可證,都要使該計算機程序的副本可在這個本地節(jié)點上運行;
      圖4是一個流程圖。它顯示在此發(fā)明第一個實例中,許可證起初是如何裝入某節(jié)點里的許可證文件中去的,以及如何賦予該許可證文件一個唯一的標識碼,并且當該許可證被傳送到另一節(jié)點時,該唯一標識碼如何被改變;
      圖5A,5B和5C是某節(jié)點上磁盤存貯器某區(qū)的框圖。它們顯示了此發(fā)明第二個實例中的目錄文件的內容,說明在該節(jié)點里有許可證文件和計算機程序,該許可證文件里含有多個許可證;它們還顯示該許可證文件和一個在計算機文件內的許可證管理程序;
      圖6是一個流程圖。它顯示了第二個實例中許可證管理程序執(zhí)行的功能,即根據許可證文件的有效性和該文件內的諸許可證中有無可用的許可證,來控制該計算機程序副本的使用;
      圖7A是一個流程圖。它顯示了第二個實例中許可證文件起初是如何裝入某個節(jié)點并被賦予唯一的標識符;
      圖7B是一個流程圖。它顯示了第二個實例中,一個庫源文件,它被提供給客戶,以供應許可證。
      對所選實例的詳細介紹概述請看圖1。如圖所示,此發(fā)明的管理系統(tǒng)(10)用于網絡(11),網絡(11)中有多個節(jié)點(12),各節(jié)點之間由網絡線(13)相聯(lián)。為了敘述方便,取眾多節(jié)點之一做為本地節(jié)點,或稱第一個節(jié)點(14)。注意任意一個節(jié)點(12)都可能或為本地節(jié)點(14)。每一個節(jié)點里(12)都有操作系統(tǒng)(15),系統(tǒng)存貯器(16),加載安裝程序(17)和中央處理器-CPU(18)。各節(jié)點(12)也都具有外圍存貯設備例如磁盤(19)。相對于本地節(jié)點(14)而言,其它非本地節(jié)點的節(jié)點稱為遠程節(jié)點(20)。
      許可證文件傳送的實例如圖1,圖2A至2C,圖5A至5C所示,在磁盤(19)里有多個文件。對此發(fā)明的第一個實例(簡稱為許可證傳送實例),這些文件包括目錄文件21A(圖2A),許可證文件22A(圖2B)和計算機程序文件33A(圖2C)。在文件23A內的計算機程序24A可能是一個標準的應用程序,例如是Auto-trol技術公司的產品-5000系列高級圖形軟件。計算機程序文件23A里也可能有一個許可證管理的計算機程序。對于許可證傳送實例,該許可證管理的計算機程序稱作許可證管理程序25A,詳見圖3A和3B。在目錄文件21A內,有此許可證傳送實例的目錄26A。許可證文件23A可能在,也可能不在磁盤19里,它取決于網絡(11)在工作中當時的情況。對于此許可證傳送實例,許可證文件22A內有一許可證27。
      許可證庫實例的文件對于此發(fā)明的第二個實例(簡稱為許可證庫實例),我們稱其許可證文件為22B(圖5B),22B可能含有多個許可證27,其數目可能等于允許同時運行計算機程序24B(圖5C)的副本的數目。類似地,目錄文件稱 1B(圖5A),21B含有目錄26B,26B反映許可證文件22B中的許可證庫28的情況。計算機程序24B放在計算機程序文件23B(圖5C)里,23B里還有許可證管理程序25B。計算機程序24B可能是不同于24A的一個應用程序。
      計算機程序24A和24B的控制此發(fā)明的設施和方法可有效地控制計算機程序24A和24B的運行,比在本地節(jié)點(14)上。起初,計算機程序24A和24B是分別放在本地節(jié)點(14)或任一個遠程節(jié)點(20)里的計算機程序文件23A和23B中的。無論何種情況,當某用戶想在本地節(jié)點(14)上運行計算機程序24A和24B的副本時,計算機程序24A,24B以及其相應許可證管理程序25A或25B將從相應的計算機程序文件23A或23B調出,寫入到本地節(jié)點(14)的系統(tǒng)存貯器(16)里。而且,在網絡(11)的所有者的控制下,存貯在網絡(11)的節(jié)點(12)里的許可證數量就少于網絡(11)里節(jié)點(12)的總數。同樣,在網絡所有者的控制下,因為允許多個計算機程序24A或24B的副本在某一節(jié)點(12)上同時運行,在諸節(jié)點(12)的許可證文件(多個22A或單個22B)內的許可證27的數目無需與節(jié)點(12)的數目相關,并可以小于該網的所有用戶可能請求同時運行計算機程序24A或24B的副本的總數。因為網絡的所有者必須購買計算機程序24A和24B的許可證27,計算機程序的賣方的利益就受到保護。所購的許可證27的總數就限制了可以同時運行計算機程序24A和24B的副本的總數。
      操作系統(tǒng)(15)賦予每個許可證文件22A或22B一個標識,本地節(jié)點(14)里具有許可證27的許可證文件22A也不例外。本地節(jié)點(14)內操作系統(tǒng)(15)與加載安裝程序(17)聯(lián)合運行的結果使得在不同的時間賦予許可證文件22A的標識是不同的。為便于表達,把在特定時間賦給節(jié)點(12)上的許可證文件22A或22B的標識記做UID。
      當某用戶在本地節(jié)點(14)要求在該節(jié)點上運行計算機程序24A或24B時,相應的許可證管理程序25A或25B就啟動,在該本地節(jié)點(14)里相應的目錄26A或26B中尋找相應許可證文件22A或22B的名子,以確定該本地節(jié)點(14)里是否有許可證文件22A或22B。如果有的話,就比較此許可證文件22A或22B的實際UID和操作系統(tǒng)(15)賦予許可證文件22A或22B的UID。如果這兩個UID相同,相應的許可證管理程序25A和25B就檢查在相應的許可證文件22A或22B中有無可用的許可證27可在本地節(jié)點(14)上使用。如果有可用的許可證27,并且它還沒有失效,則相應的許可證管理程序25A或25B就使在該本地節(jié)點(14)里的計算機程序24A或24B能在該本地節(jié)點(14)中運行。
      當許可證文件22A或22B在本地節(jié)點(14)的磁盤(19)中時,此發(fā)明的方法可以控制計算機程序24A和24B在該節(jié)點上的運行。當提出請求在該節(jié)點上運行計算機程序24A或24B時,如該節(jié)點上沒有許可證文件22A或22B,這方法仍可使用。在上述兩種情況下,此方法都是管理許可證27,以限制在網絡中諸節(jié)點(12)上運行計算機程序24A或24B的副本的數目。這個限制是由網絡(11)中可用的許可證17的總數L決定的。
      在使用此法時,在把計算機程序24A或24B加載到至少一個節(jié)點(12)之后,把需要的L個許可證27加載到需要多的節(jié)點(12)上。在許可證傳送實例中,就是把L個許可證文件22A或加載到選定的諸節(jié)點(12)上,而在許可證庫實例中,就是把僅僅一個許可證文件22B加載到一個節(jié)點(12)上,但此許可證文件22B內有
      個許可證27構成的許可證庫28。計算機程序24A或24B的許可證數L通常小于網絡(11)中的節(jié)點(12)的總數。然而,當需要在某節(jié)點(12)上運行多于一個程序24A的副本時,網中許可證27的總數L會小于該網用戶可能會請求同時運行程序24A的副本的總數。
      每個被加載到節(jié)點(12)上的許可證文件22A或22B被賦予一個UID(即唯一標識,下同)。如要求在本地節(jié)點(14)上運行程序24A或24B的的副本,就在該節(jié)點的相應目錄26A或26B尋找,在此例中,尋找的結果確定該節(jié)點的磁盤(19)里無許可證文件22A或22B。然后就逐個搜尋在遠程節(jié)點(20)中的相應目錄26A或26B。一旦尋找到了某些遠程節(jié)點(20)中的有許可證文件22A或22B,就把該節(jié)點中相應的許可證文件22A或22B的UID,與操作系統(tǒng)(15)寫入該遠程節(jié)點(20)的相應目錄26A或26B的此許可證文件22A或22B的UID相比較。如果這兩個UID相同,在兩個實例中同樣都要再確定在所找到的許可證文件22A或22B內的許可證27是否已被占用。如果沒被占用,請求在本地節(jié)點(14)上誦械募撲慊絳 4A或24B被允許運行。
      在許可證傳送實例中,當兩個UID相同且在許可證文件22A里有可用許可證時,就修改該許可證文件22A。此修改即把該遠程節(jié)點(20)里的許可證27傳送到本地節(jié)點(14)的系統(tǒng)存貯器(16)中。然后本地節(jié)點(14)的操作系統(tǒng)(15)賦予傳送來的許可證27一個新的UID并把此UID寫入該本地節(jié)點(14)的系統(tǒng)存貯器(16)中。而對那個遠程節(jié)點(20)里的許可證文件22A的修改則是將其中的許可證27刪除,這就保證相應于原來在該遠程節(jié)點(20)中的那個許可證27,網絡中仍然只有一個許可證27。然后,對這種系統(tǒng)存貯器(16)中的被傳送的許可證27的記錄和為了這種被傳送的許可證27的新UID被標記為正在使用(見圖2B)。上述被傳送來的許可證27的新UID及圖2B中所示的其它許可證信息被加密,并加密存貯在本地節(jié)點(14)的系統(tǒng)存貯器(16)里。然后,這些關于傳送來的許可證27的加密信息也寫入本地節(jié)點(14)的磁盤(19)里。
      在許可證庫的實例中,當兩個UID相同并且在許可證文件22B的許可證庫28里有任意一個許可證27可用時,許可證文件22B也要被修改,此修改也就是減少可用的許可證27的數目,就是說,庫中的可用許可證27的數目要減1。
      許可證傳送實例工作的細述請細看圖1,網絡(11)中的每個節(jié)點(12)都可能是一臺獨立的計算機-例如阿波羅DN3000計算機。該計算機具有中央處理器CPU(18),系統(tǒng)存貯器(16)及在該存貯器(16)內存放的操作系統(tǒng)(15)和加載安裝程序(17)。
      在對網絡(11)中的每個節(jié)點(12)進行初始化時,每個將要在網中任一節(jié)點(12)上運行的計算機程序24A(該節(jié)點可是本地節(jié)點(14)或遠程節(jié)點(20)照原樣被加載到至少一個節(jié)點(12)里。如圖2C所示,磁盤(19)里的元件23A存放著計算機程序24A及許可證管理程序25A。
      許可證裝入的步驟參見圖4,裝入諸節(jié)點(12)里的許可證27的總個數L取決于網絡( )的所有者購買了多少個計算機程序24A的副本。即所有 購買了L個某計算機程序24A的許可證27,在網上同一時間里就最多允許L個該計算機程序24A的副本同時運行。例如如果在網絡(11)中有10個節(jié)點(12),且如果在同一時刻在某一節(jié)點(12)上最多允許某計算機程序24A的3份副本同時運行,那么有時就可能出現(xiàn)同時運行30份該程序24A的副本的請求。然而,如果只有10個該程序24A的許可證27裝在網絡中,各節(jié)點(12)上的許可證管理程序25A(見圖2C,3A和3B)就只允許前述30份程序24A的副本里的10同時運行。就這樣,在網絡(11)中,不論當許可證27的數目少于節(jié)點(12)(當每個節(jié)點(12)上只能運行程序24A的一份副本)總數,或者當許可證的數目少于對許可證的要求數目(當一個節(jié)點(12)上可同時運行多份計算機程序24A的副本)時,該許可證管理程序25A可以限制在同一時刻可在網絡(11)中運行的該程序24A的副本的總數。
      圖4顯示了把某許可證27裝入到網絡(11)的一個節(jié)點(12)上所用的步驟。一開始,先把許可證27從安裝上的媒介29拷貝到磁盤(19)里的許可證文件22A內,比如說節(jié)點(14)的磁盤(19)中的22A內。如圖2B所示,許可證文件22A內至少還有一個許可證27的失效日期。同時,操作系統(tǒng)(15)賦予許可證文件一個UID。由于在許可證文件22A內只有一個許可證27,所以這個UID也是該許可證27的UID。但此時,許可證27還不真正有效。為使其生效,安裝加載程序(17)從磁盤(19)讀出許可證文件22A的UID并給它加密以構成第一個授權碼,稱為Cl。使用者或容戶然后呼叫已裝入節(jié)點(12)的計算機程序24A的賣方并告訴賣方加密的授權碼Cl。賣方檢查Cl碼以確定許可證27是否合法。如果Cl合法,賣方用另一種算法對Cl再次生成第二個授權碼,稱為C2。賣方把加密的C2送往客戶??蛻舭咽盏降腃2輸入到加載安裝程序(17)里,加載安裝程序(17)對C2進行檢查,看它是否由賣方的計算機所生成。如果是,加載安裝程序把許可證文件22A的UID及其它許可證信息加密并寫入本地節(jié)點(14)的磁盤(19)里的許可證文件22A中。到此,我們應當理解,在做出或可以做出任何使用計算機程序24A的請求之前,必須把UID與許可證27存在本地節(jié)點(14)上的許可證文件22A里。
      然后,此許可證裝入過程反復多次,直到網絡(11)的諸節(jié)點(12)里獲得計算機程序24A的L個許可證文件22A,這些文件中有所要求的L個許可證27。到此時,網絡(11)中將已裝入至少一個計算機程序24A的副本及該程序24A的符合要求的L個許可證27。網絡(11)已準備好接受用戶在某節(jié)點(12),例如在本地節(jié)點(14)上運行計算機程序24A的副本的請求。
      請求在本地節(jié)點(14)上運行計算機程序24A此發(fā)明的許可證傳送實例所用的方法和設施通過參閱圖3A和3B更易被理解。在圖3A和3B中,用流程圖顯示了許可證管理程序25A所執(zhí)行的功能。首先,必須知道許可證管理程序25A(圖2C)是每個存放在計算機程序文件23A中的計算機程序24A的副本的一個組成部分。在此發(fā)明選用的實例中,可使磁盤(19)中的文件23A里的計算機程序24A帶有許可證管理順序25A做到此。例如每當把計算機程序24A的一份副本寫入某節(jié)點(12)的系統(tǒng)存貯器(16)中去時,相應的許可證管理程序25A也被寫入該系統(tǒng)存貯器(16)。
      圖3A和3B顯示了與每個計算機程序24A相應的許可證管理程序25A執(zhí)行的功能。為敘述方便,假設客戶網上的用戶想在本地節(jié)點(14)上運行該計算機程序24A的副本。該本地節(jié)點(14)里的該計算機程序24A的副本就調用一子程序與該本地節(jié)點(14)里的許可證管理程序25A聯(lián)系。做為響應,許可證管理程序25A就查問(步驟30)在該本地節(jié)點(14)里是否有計算機程序24A的許可證27。此查問的第一步是確定該本地節(jié)點(14)的磁盤(19)是否有許可證文件22A(即許可證27)。如果有,許可證管理程序25A走“是”路徑31。然后在步驟32檢測此許可證27是否已被占用或者在工作,即步驟32將檢測出那時中央處理機(18)是否正在使用該許可證27,也即是否正有一個計算機程序24A的副本在許可證27的批準下在本地節(jié)點(14)上運行。如果許可證27正在工作,許可證管理程序25A就走“是”路徑33,返回到步驟34。如果本地節(jié)點(14)的許可證不是正在工作,許可證管理程序25A還要檢查此不在工作的許可證是否有效。查法是問操作系統(tǒng)(15)該許可證27的UID,此UID是從前在該本地節(jié)點(14)上由操作系統(tǒng)(15)存入到系統(tǒng)存貯器(16)的一個記錄中去的。然而,許可證管理程序25A把存有該許可證27的許可證文件22A的UID解密并把它與從操作系統(tǒng)(15)所得到的該許可證27的UID相比較。如果兩個UID不同,則該許可證無效。在無效的情況下,許可證管理程序25A就走“是”路徑33返回到步驟34。如果兩個UID相同,許可證管理程序25A還要比較當天的日期是否晚于該不在工作的許可證27的失效日期(見圖2B)。如果晚了,就說明該許可證已經滿期,許可證管理程序25A也要走路徑33返回步驟34。如果還未滿期,許可證管理程序25A就走路徑35,這表明許可證27沒被占用,沒過期并且有效。順路徑35到達步驟36,在步驟36就要給許可證27做標記,說明它正在工作,已被占用。以供回答其它新的使用計算機程序24A的請求。(見圖2B,文件22A的第二項)。這樣就可防止正在工作中的當前有效的許可證27被分配到其它節(jié)點上去工作。許可證管理程序然后走路徑37到達步驟38。在步驟38把一狀態(tài)信息送回到計算機程序24A,批準它運行。即使程序24A可在本地節(jié)點(14)的中央處理機(18)上運行。
      尋找在遠程節(jié)點(20)上的許可證27如前所述,在本地節(jié)點(14)上,對步驟32中所提問題的回答可能是肯定的,也可能是否定。如果任意一個回答是“是”,就說明在本地節(jié)點(14)上沒有對計算機程序24A可用的許可證27。在步驟34中注明,要搜尋節(jié)點(14)和諸遠程節(jié)點(20)。如果搜遍了所有的節(jié)點,就回答“是”,走路徑39到步驟40。例如,如果還沒搜尋第一個遠程節(jié)點(20),就走路徑41到步驟42。步驟42檢查網絡(11)的下一個節(jié)點(12)-在上例中是第一個遠程節(jié)點(20)上是否存在許可證27。如果在該遠程節(jié)點(20)的許可證文件22A內無許可證27,走“NO”路徑43,許可證管理程序25A再執(zhí)行步驟34,確定是否已在所有的節(jié)點(12)里尋找過許可證 7。在上例中,因為只搜尋過本地節(jié)點(14)和第一個遠程節(jié)點(20),又走路徑41,許可證管理程序25 循環(huán)到步驟42。又在網絡(11)的下一個,也就是第二個遠程節(jié)點里尋找是否有許可證27。假設網絡(11)里反時針方向的下一個節(jié)點就是下一個遠程節(jié)點,并且在此遠程節(jié)點(20)的磁盤(19)的許可證文件22A里有一許可證27,就走“是”路徑44到步驟45。步驟45同前述步驟32一樣,許可證管理程序25A要檢查在第二個遠程節(jié)點(20)的許可證文件22A里的許可證27是否已被占用,有效期是否未過,是否無效等等。如果是其中任一情況,就走“是”路徑46到步驟34,就再次檢查是否所有節(jié)點(12)已被搜尋。
      把許可證27傳送到本地節(jié)點(14)如果在第二個遠程節(jié)點(20)的許可證文件22A里的許可證27沒有滿期,沒被占用而且是有效的,就走“NO”路徑47到步驟48。步驟48是把許可證27傳送到本地節(jié)點(14)的第一步。以后我們稱這樣傳送的許可證27為“被傳送的許可證”。在步驟48,許可證管理程序25A把找到的許可證存入本地節(jié)點(14)的系統(tǒng)存貯器16里。然后,許可證管理程序25A走路徑49到步驟50。步驟50在要運行計算機程序24A的副本的本地節(jié)點(14)里建立一個新的空的許可證文件22A,這是由該本地節(jié)點(14)的操作系統(tǒng)15完成的。在步驟50,該操作系統(tǒng)50還要賦給許可證27一個新的唯一標識碼UID,并把此UID寫入該本地節(jié)點(14)的系統(tǒng)存貯器16里。傳送操作由路徑51引至步驟52將把第二個遠程節(jié)點(20)的許可證文件22A里已被傳送的許可證27刪除掉。許可證管理程序25A是在操作系統(tǒng)(15)的幫助下完成刪除工作的,該刪除工作僅當第二個遠程節(jié)點(20)的許可證文件22A里“被傳送的許可證27”以前未曾被刪掉時才能實現(xiàn)。然后,經路徑53到步驟54。步驟54查問刪掉工作是否已完成。如果沒有完成刪除工作。操作系統(tǒng)(15)給許可證管理程序25A“否”信息并走路徑55到步驟56。步驟56把本地節(jié)點(14)里新建的許可證文件22A刪掉,程序又回到步驟34,再次檢查“所有的節(jié)點都搜尋過嗎?”。
      參見圖1,假定“被傳送的許可證27”已從第二個遠程節(jié)點(20)的許可證文件22A內刪除,這就使僅僅在本地節(jié)點(14)的系統(tǒng)存貯器16里剩下“被傳送的許可證27”,因此也就不可能再使用該遠程節(jié)點(20)里的“被傳送的許可證27”了。進一步考察,可發(fā)現(xiàn)此刪除還可應付如下情況當在兩個不同節(jié)點(12)上的用戶都想使用計算機程序24A的副本,而該程序及其許可證都不在這兩個用戶各自的本地節(jié)點(14)上,而在例如某一遠程節(jié)點(20B)上的情況。在這種情況下,假定第一個使用者(例如在節(jié)點(14A))完成了步驟52的刪除工作(即把遠程節(jié)點(20B)的許可證文件22A里的“被傳送的許可證27”刪除掉)將使他可以使用此“被傳送的許可證”。而當在另一個本地節(jié)點(14B)上的許可證管理程序25A試圖再次從遠程節(jié)點(20B)的許可證文件22A里刪除該“被傳送的許可證27”時,步驟54得到的信息及其后的步驟56將防止完成把許可證27也傳送到本地節(jié)點(14B)上。這樣,從本地節(jié)點(14B)來的請求就會被進一步處理,即重新到步驟34去查問“所有的節(jié)點都搜尋過嗎?”。
      在完成了對遠程節(jié)點(20)的刪除工作后,許可證管理程序25A走路徑57到步驟58。步驟58給本地節(jié)點(14)的系統(tǒng)存貯器16里的“被傳送的許可證27”做“已被使用”的標記,以防止在不同節(jié)點(12)上的用戶偶然訪問該“被傳送的許可證”,甚至把它從該本地節(jié)點調走。然后,許可證管理程序25A走路徑59到步驟60。在步驟60,把所有的數據,即在本地節(jié)點(14)的系統(tǒng)存貯器16里的“被傳送的許可證27”的許可證信息,包括新的許可證文件22A的UID都加密。然后,許可證管理程序25A走路徑61到步驟62,并把這些加密的許可證信息寫入本地節(jié)點(14)的磁盤(19)里的那個新的許可證文件22A里。再走路徑62到步驟38,送回計算機程序24A,一個狀態(tài)信息,說明批準程序24A運行,即使計算機程序24A可在本地節(jié)點(14)的中央處理機CPU(18)上運行。
      圖3A和3B的流程圖也可以用指令表示。這些指令即許可證管理程序25A的指令。這些指令可以完成前述各項功能。在附錄A里給出了這些建立的指令。
      許可證庫實例工作的細述請再細看圖1,許可證庫實例也利用網絡(11)。網絡(11)同樣有中央處理機CPU(18),系統(tǒng)存貯器(16)及其中存放的操作系統(tǒng)(15)和加載安裝程序(17)。
      在網絡(11)的各節(jié)點(12)的初始化時,要在網上任一節(jié)點(12)-如本地節(jié)點(14)或遠程節(jié)點(20)-上運行的計算機程序24B,要照原樣加載到至少一個節(jié)點(12)上。圖5C顯示的磁盤(19)里的元件23B就裝上了計算機程序24B,并包括了許可證管理程序25B。
      許可證裝入步驟參閱圖7A,裝入到諸節(jié)點(12)的許可證27的總數L,取決于網絡(11)的所有者購買了多少份計算機程序24B的副本。不論當加載到網絡(11)中的許可證27的數目少于節(jié)點(12)的總數(當一個節(jié)點(12)上僅能運行一個計算機程序24B的副本),或者當加載到網絡(11)中的許可證27的數目少于需求的許可證數(當一個節(jié)點(12)上可運行多個計算機程序24B的副本)時,各個許可證管理程序25B可以有效地限制在同一時刻允許在網絡(11)上運行的計算機程序24B的副本的總數。
      圖7B顯示了網絡(11)的所有者得自賣方的置于媒介29上的庫源文件64。文件64內還有下列各種信息要將存放許可證庫28的許可證文件22B所在節(jié)點(12)的標識符i.d.;批準計算機程序24B運行的許可證的總數L;許可證庫28的失效日期。有時也可能有幾個庫源文件64。這些庫源文件將被裝入到不同的節(jié)點(12)上。例如,當有兩個庫源文件64A和64B時,64A中應有數字L1,64B中應有L2,L1和L2分別表示64A和64B中的許可證數,L1+L2=L,L為總的許可證數。
      圖7A顯示了送根庫源文件64內的標識符i.d.,把多個許可證裝入網絡(11)的指定節(jié)點(12)的步驟。開始時,安裝媒體29內的庫源文件64被拷貝到一任意節(jié)點(12),例如本地節(jié)點(14)上。裝配的程序17為許可證庫28把庫源文件64里的信息解密。然后,根據該庫源文件64里指定的節(jié)點的標識符i.d.,裝配的程序17在相應節(jié)點(12)的磁盤(19)里建立許可證文件22B。然后,該節(jié)點的操作系統(tǒng)(15)賦予該許可證文件22B一個標識UID。因為在該許可證文件22B里可能有許多許可證27,所以該標識UID是該許可證庫28里所有許可證27的公共的UID。但在此時,該許可證庫28還不真正有效。為使許可證庫28生效,裝配的程序17也從該操作系統(tǒng)(15里得到剛生成許可證文件22B的UID,并把此UID和庫源文件64里其它(前述)許可證信息加密,再把這些加密信息注入由前述標識i.d.指定的節(jié)點(12)的磁盤(19)里的許可證文件22B內。至此,我們應當理解,在做出或可以做出任何使用計算機程序24B的請求之前,要把UID同許可證庫28和在指定的節(jié)點12上的許可證文件22B里的L個許可證27一同存貯起來。
      與前述許可證傳送實例相比,由于網絡的所有者在裝配的許可證庫源文件64時無須與賣方交涉,所以我們更樂意使用許可證庫的工作方式。同時,舉例來說,如果只使用了一個許可證庫28,就只需要一次裝入操作。但是要提供更多的調用許可證的機會,就必須使裝有許可證庫28的那個節(jié)點(12)不被使用。所以我們更傾向于至少使用兩個許可證庫28,它們分別裝在兩個節(jié)點上。如前所述它們分別裝有L1和L2個許可證27。
      到此時,網絡(11)中將已裝如至少一個計算機程序24B的副本以及所需要的L個該程序24B的許可證27。網絡(11)已準備好在某節(jié)點(12),接受用戶例如本地節(jié)點(14)上運行該計算機程序24B的請求。
      在本地節(jié)點(14)上請求運行計算機程序24B此發(fā)明的許可證實例所用的方法和設施通過參閱圖6更易被理解。在圖6中,用流程圖顯示了許可證管理程序25B所執(zhí)行的功能。首先,必須理解許可證管理程序25B(見圖5C)是每個存放在系統(tǒng)存貯器16內的計算機程序文件23B里的計算機程序24B的副本的一個組成部分。此發(fā)明所選擇的實例里使用了計算機阿波羅DN3000。分開的存放計算機程序24B的文件23B和許可證管理程序25B是在磁盤(19)內的。當把文件23B裝入系統(tǒng)存貯器16內時,計算機程序24B和許可證管理程序25B就被接在一起。另一方面,就象每當一個計算機程序24B的副本寫入某節(jié)點(12)的系統(tǒng)存貯器(16)時,相應的許可證管理程序25B也寫入該系統(tǒng)存貯器(16)一樣,此種連接也可用把磁盤(19)里的文件23B內的計算機程序24B接上許可證管理程序25B來實現(xiàn)。每一個許可證管理程序25B管理一個相應的計算機程序24B的副本。所執(zhí)行的管理功能如圖6所示。為敘述方便,假設客戶網絡的一個用戶要在本地節(jié)點(14)上運行計算機程序24B的一個副本。該本地節(jié)點(14)上計算機程序24B的該副本就調用一個子程序(步驟65)與該本地節(jié)點(14)上的許可證管理程序聯(lián)系。做為響應,該啟動了的許可證管理程序25B就查問該本地節(jié)點(14)里是否有計算機程序24B的許可證庫28。此查問的第一步確定該本地節(jié)點(14)的磁盤(19)里有無許可證文件22B(即有無許可證庫28和許可證27)。如果有的話,許可證管理程序25B走“是”路徑67,并在步步72確定該許可證庫是否有效。這是靠查問操作系統(tǒng)(15)關于許可證庫28的UID實現(xiàn)的。而該UID是由該本地節(jié)點(14)的操作系統(tǒng)(15)放入該系統(tǒng)存貯器(16)里的然后,許可證管理程序25B把許可證庫28把許可證庫28所在所可證文件22B的UID解密,并與前述由操作系 15)取得的許可證庫28的UID相比較。如果這兩個UID不同,則許可證庫28及其中的許可證27無效。在許可證無效的情況下,許可證管理程序走“否”路徑73到步驟70。如果兩個UID相同,許可證管理程序再檢查確定該有效的許可證庫28是否未期滿(見圖5B)。如果已期滿,則許可證庫28終止,許可證管理程序25B也走路徑73回到步驟70。如果沒有期滿,許可證管理程序再檢查確定許可證庫28內有無許可證閑著。而步驟72要確定當時是否所有的許可證27都在諸節(jié)點(12)上允許計算機程序24B的副本在運行。如果所有的許可證27都在使用中,許可證管理程序25B走“否”路徑73回到步驟70。如果某許可證27閑著,許可證管理程序25B走路徑74,這就表示至少有一個許可證27不在工作,沒過期并有效。經路徑74到步驟75后,就給剛才找到的許可證27做標記,說明它正在工作,已被占用(見圖5B中文件22B的第三項)。“做標記”即修改許可證文件22B,例如把文件22B的第三項之值減小,以減少許可證庫28中可用許可證27的數目。這樣就可以避免把此不在工作,沒過期且有效的許可證27分配給任何其它節(jié)點(12)。然后,許可證管理程序25B走路徑76到步驟77。步驟77向許可證文件22B內的許可證庫28寫入信息,說明本地節(jié)點(14)正在使用剛剛提供來工作的許可證27。然后許可證管理程序走路徑78到步驟79。在步驟79把一狀態(tài)信息送回到計算機程序24B,批準它運行。即使計算機程序24B可在本地節(jié)點(14)的中央處理機(18)上運行。
      尋找在遠程節(jié)點(20)上的許可證27如前所述,在本地節(jié)點(14)上,對步驟66所提問題的回答可能是肯定的,也可能是否定的。如果問題是“否”,就說明在本地節(jié)點(14)上沒有許可證庫28,也即沒有許可證27供計算機程序24B使用。在這種情況下,許可證管理程序25B就走路徑80到步驟70。在步驟70,已搜尋過的節(jié)點(14)和諸遠程節(jié)點(20)都被記錄在案。如果所有的節(jié)點(14)和(20)都搜尋過了,就走“是”路徑81到步驟82。在此例中,如果第一個遠程節(jié)點(20)尚未被搜尋,就在其中尋找許可證庫28-這是通過路徑83到達步驟68后所做的事。步驟68確定網絡(11)里下一個節(jié)點(12)-在本例中即第一個遠程節(jié)點(20)-上有無許可證庫28。如果在該遠程節(jié)點(20)上無許可證庫28,許可證管理程序25B就再次判斷是否還沒有在所有的節(jié)點(12)里搜尋過許可證庫28。在此例中,因為只搜尋過本地節(jié)點(14)和第一個遠程節(jié)點(20),許可證管理程序25B就循環(huán)執(zhí)行,再在網絡(11)的下一個節(jié)點,即第二個遠程節(jié)點(20)上搜尋是否有許可證庫28。假設網絡(11)里反時針方向的下一個節(jié)點(12)就是下一個遠程節(jié)點,并且在此遠程節(jié)點(20)的磁盤(19)里的許可證文件22B內有許可證庫28,管理程序25B就走“是”路徑83到步驟68。然后,許可證管理程序25B確定在第二個遠程節(jié)點(20)的許可證文件22B內的許可證庫是否有效(正像在前述步驟72中所做的);如果有效,再做步驟72里的其它工作,確定許可證庫28里有無任何可用的許可證27;如果有,它是否未滿期。在下述情況下在有效的許可證庫28里無可用的許可證27,或許可證庫28已過期失效,就走“否”路徑73到步驟70,再次檢查確定是否所有的節(jié)點(12)都已搜尋過了。
      在本地節(jié)點(14)上使用許可證27如果在第二個遠程節(jié)點(20)上的許可證文件22B沒有過期作廢,其中的一個許可證27沒被占用且許可證庫28是有效的,就走路徑74到步驟75。在步驟75,本地節(jié)點(14)的許可證管理程序并不把許可證庫28里的可用的,未過期的許可證27傳來送去,而只是把在第二個遠程節(jié)點(20)上的許可證庫28的內容略加改變,例如把該節(jié)點(20)上的許可證文件22B的第三項減1。因此,使用許可證27需在步驟75計算一下,而不像在許可證傳送實例要經過步驟50,52,54和60那么多。在步驟79,一個狀態(tài)信息被送回計算機程序24B,批準它運行。即使計算機程序24B可在本地節(jié)點(14)的中央處理機CPUCPU(18)上運行。
      釋放許可證27當用戶結束使用由許可證27批準運行的計算機程序24A或24B的副本時,該副本就調用相應的許可證管理程序25A或25B。
      如果調用的是許可證傳送實例中的許可證管理程序25A,則它在本地節(jié)點(14)上。該許可證管理程序25A就把該本地接點(14)的許可證文件22A的第二項改成非正在使用(見圖2B)。
      如果調用的是許可證庫實例中的許可證管理程序25B,在所舉例中它就在第二個遠程節(jié)點(20)上。該計算機程序24B的副本調用該許可證管理程序25B并要求釋放所占用的許可證27。通過與許可證庫28有關的許可證文件22B的第4項,可知第二個遠程節(jié)點(20)的i.d.,這樣就確定了相應的許可證庫28的處所(見圖5B)。然后,遠程節(jié)點(20)上的許可證文件22B(見圖5B)的第3項被加1,且從第4項中刪除說明該許可證27正在使用的標記。
      然后,該許可證管理程序25B返回本地節(jié)點(14)上的計算機程序24B的副本,使該副本以人所共知的方式,例如執(zhí)行“EXIT”命令停止運行。
      從以上說明中,可知此發(fā)明的兩個實例都不使用在網絡(11)的單個結點(12)上的文件服務器。盡管如此,在網絡中節(jié)點上的許可證文件22A或22B必須是有效的,否則許可證27就不能被用來批準計算機程序24A或24B的副本運行,雖然這些副本是可以在任何節(jié)點(12)上工作的。由于許可證文件22A和22B可在網絡中諸節(jié)點(12)中的任何一個節(jié)點(12)上,所以即使當網絡鏈路(13)或另一節(jié)點(12)停止工作時,仍然可以訪問本地節(jié)點(14)上的許可證文件22A或22B以尋找可用的許可證27。
      在敘述了選擇的實例以說明此發(fā)明的基本關系的同時,還應明白無需脫離此發(fā)明的理論和概念,可對這些實例做大量變更和修正。同樣,必須清楚地理解以上對此發(fā)明的敘述方式以及所附的圖示,僅僅是表達示意,而不意味著限制此發(fā)明的作用范圍,影響下述權利要求。
      附錄A許可證管理系統(tǒng)程序2.5A指令IF(licenseexistsonlocalnodeANDlicenseisnotinuseANDlicenseisvalidANDlicensehasnotlapsed)THENMarkthelicenseinuseTellcomputerprogramitcanrunELSE10WHILE(notallnodesinnetworkhavebeensearchedANDalicensehasnotbeenfound)DOIF(licenseexistsonnextremotenodeANDlicenseisnotinuseANDexpirationdatehasnotlapsedANDlicenseisvalidonnextremotenode)THENSavethelicenseinformationinmemoryCreatenewlicensefileonlocalnodeDeleteoldlicensefilefromsecondremotenodeIF(oldlicensefiledeleted)THEN20MarklicensefileinformationasbeinginuseEncryptUIDofnewlicenseandlicenseinformationWriteencryptedUIDandinformationintonewlicensefileTellcomputerprogramitcan、runELSEdeletenewlicensefileENDIFENDIF
      ENDWHILEIF(licensewasnotfound)THENTellcomputerprogramthatitcannotrunENDIFENDIF
      附錄B許可證管理系統(tǒng)程序25B指令found=FALSEIF(licensepoolexistsonlocalnodeANDlicensepoolisvalidANDalicenseisavailableinlicensepool)THENfound=TRUEENDIFWHILE(found紽ALSEAND10notallnodessearched)DOIF(license、poolisvalidANDalicenseisavailableinlicensepool)THENfound=TRUEENDIFENDWHILEIF(found=TRUE)THENDecrementnumberofavailablelicensesinpoolWriteinformationrelatedtoComputerProgramintolicensepool20Setstatusto“authorizedtorun”ELSESetstatusto“notauthorizedtorun”ENDIFRETURN(status)10255oreign.AT權利要求
      1.許可證管理系統(tǒng),該系統(tǒng)用于限制允許在一個網絡的一個或多個節(jié)點上同時運行一指定計算機程序的副本的個數,在網絡中,上述節(jié)點相連,上述限制是指批準在上述網絡中運行上述指定計算機程序的許可證個數,該系統(tǒng)其特征為,包括許可證文件方法,它在至少一個上述節(jié)點上存貯至少一個上述許可證;程序庫方法,它在上述每一個節(jié)點上存貯上述指定計算機程序的一個副本,在上述節(jié)點上,要求運行上述指定計算機程序的一個副本;許可證管理方法,它有效地把許可證連接到上述每一個副本,上述許可證管理方法響應副本的請求,在上述節(jié)點上尋找確定一個上述的許可證文件方法,被確定的許可證文件內有在上述發(fā)出請求的本地節(jié)點上可用的許可證,上述尋找首先在上述本地節(jié)點上進行,如果沒有找到這樣的許可證文件方法,則上述本地節(jié)點上沒有可用的許可證,上述尋找繼續(xù)逐個地在上述節(jié)點上進行,最終找到了這樣的許可證文件方法即找到一個可用許可證,或最終尋找過了所有的上述節(jié)點也沒找到這樣的許可證文件方法即無可用許可證;上述許可證管理方法在尋找過了所有的上述節(jié)點而沒有找到這樣的許可證文件方法,即無可用許可證之后,還回答給上述本地節(jié)點上的上述副本一個信息,以防止應上述請求在上述本地節(jié)點上運行上述副本。
      2.根據權利要求1,許可證管理系統(tǒng)還包括賦予上述每一個許可證文件方法一個唯一的標識的方法,而這又意味著;上述許可證管理方法,在找到任意一個上述許可證文件方法后,就把上述所找到的許可證文件方法的唯一標識主上述由許可證管理賦予該許可證文件方法的唯一標識相比較,以確定上述許可證文件方法是否有效,如果上述許可證文件方法是有效的,上述許可證管理就確定上述許可證文件內的許可證是否正被占用。上述許可證管理還負責如果上述許可證文件管理中的上述唯一標識無效,或者上述許可證被占用,就使上述許可證不能批準上述計算機程序的上述副本運行。
      3.管理系統(tǒng),它用于控制在任何一個由多個工作站連接在一起的網絡中的計算機程序的可操作性,在此網絡中,要在上述一個工作站上運行一個上述計算機程序的副本,必須為上述工作站提供一個可用的許可證,網絡中,批準在該網運行特定計算機程序的許可證的數目小于或等于能夠在該網中同時運行的上述特定計算機的副本的數目,上述系統(tǒng)其特征為,包括許可證文件方法,該方法即在至少選一個在前述工作站上,存貯至少一個前述許可證;系統(tǒng)方法,該方法為上述許可證文件方法賦予并存貯一個標識(UID),該標識不同于其它許可證文件方法的標識,因而是唯一的,以及響應在前述選定工作站上運行前述指定計算機程序的一個副本的請求,在該工作站上搜尋,以找到一個在該工作站上的前述許可證文件方法的方法;上述搜尋方法即比較上述的許可證文件方法的UID,與前述系統(tǒng)方法為上述許可證文件方法保存的UID的方法,以及如果上述被比較的兩個UID相同,且如果在上述找到的許可證文件中的前述許可證不是正在使用中,就使該計算機程序能在該選定工作站上運行。
      4.帶有專門程序,可執(zhí)行專門功能的計算機,這些專門程序的專門功能是控制在任何由多個工作站連接在一起的復雜網絡中計算機程序的可運行性,在這個網絡中,要在上述諸工作站中一特殊的工作站上運行上述計算機程序的一個副本,必須有一個可用的許可證,且在上述網絡中,給予上述網絡的上述許可證的數目小于能夠在上述網絡中同時運行特定上述計算機程序的副本的數目,其特征為專門的功能包括至少在上述工作站之一上存貯一個許可證文件,上述許可證文件內至少有一個上述許可證,存貯的上述許可證的數目小于能夠在上述諸工作站上同時運行上述特定計算機程序的副本的數目;賦予每個上述存貯的許可證文件一個標識(UID),該UID不同于所有其它上述許可證文件的UID;響應在上述諸如工作站中之一特殊工作站上運行上述程序的一個副本的要求,在上述特殊工作上尋找確定該特殊工作站上有無上述許可證文件;作為對上述特殊工作站上找到了上述許可證文件的響應,比較該找到的許可證文件的UID和系統(tǒng)記錄的該許可證文件的UID;上述兩個被比較的UID如果相同,就確定在上述許可證文件中有無一個上述的許可證對上述特殊的工作站可用;如果有這樣一個可用的許可證,就批準在上述特殊的工作站上運行上述計算機程序。
      5.許可證管理系統(tǒng),該系統(tǒng)用于控制在網絡中諸相連之節(jié)點上特定計算機程序的可運行性,在網絡中,同時運行的上述計算機程序的每一個副本都有一個許可證,給予該網絡和該特定計算機程序的許可證之總數小于能夠在該網上同時運行的上述特定計算機程序的副本之總數。在上述每一個節(jié)點上都有一個目錄,用于指示某一特定節(jié)點上有哪些許可證(如果有的話),這樣,當在某第一個上述節(jié)點上沒有可用許可證,而在下一個節(jié)點上有可用許可證時,用戶可以要求在該第一個節(jié)點上運行上述計算機程序的一個副本,上述系統(tǒng)其特征為包括許可證文件方法,該方法在每一個節(jié)點上都有,用來存貯至少一個上述許可證;系統(tǒng)方法,該方法賦予在上述諸節(jié)點上的每一個許可證文件方法一個唯一的標識,該方法還有效地為上述每一個唯一標識存貯一個記錄;初始管理方法,該方法與前述第一個節(jié)點上的上述計算機程序相連;的上述計算機程序相連接,以便接收上述請求和在上述下一個節(jié)點上尋找上述許可證文件方法并確定上述許可證文件方法在上述下一個節(jié)點上;上述初始管理方法通過比較在上述下一個節(jié)點上的上述UID,與前述系統(tǒng)存入前述記錄的前述UID之異同,有效地做出判斷,以確定在上述下一個節(jié)點上的上述許可證文件方法是有效的,然后還要判斷在該許可證文件方法內至少有一個許可證非正在使用;上述初始管理方法在做出上述兩個判斷之后,還有效地向上述任意一個節(jié)點上的上述特定計算程序的上述副本送回一個狀態(tài)信息,說明該副本被批準運行。
      6.管理系統(tǒng),該管理系統(tǒng)用于控制在任何多個工作站相連而成的網絡中,特定計算機程序的多個副本的可運行性。在該網絡中,允許一個以上的該特定計算機程序的副本在上述工作站中之一的特定工作站上同時運行,上述每一個運行的副本都必須有一個可用的許可證,給予該網絡中該特定計算機程序的可用許可證之總數,小于能夠在該網中諸工作站上同時運行該特定程序的副本之總數;該管理系統(tǒng)其特征為包括許可證文件,它存于上述諸工作站中之一選定的工作站上,用戶希望在該工作站上運行一個以上的該特定計算機程序的副本,因此該許可證文件內至少有兩個上述許可證;系統(tǒng)分配指定該許可證文件的方法,即存貯該許可證的唯一標識的方法;響應在上述選定的工作站上運行至少兩個上述計算機程序的要求的方法,為找到上述選定的工作站而尋找上述許可證文件的方法;以及為此而比較該許可證文件的標識和前述由系統(tǒng)方法存貯的該許可證文件的標識的方法;和如果該比較的結果是兩個標識相同,確定有兩個許可證(在許可證文件內)非正在使用的方法,和批準該兩個相應的上述特定的計算機程序的副本在選定的工作站上運行的方法。
      7.一種用于控制計算機程序的多個副本在任何一個由多個工作站相聯(lián)而成的復雜網絡的可運行性的方法,在該網絡中,要運行上述程序的一個副本,必須有一個可用的許可證,給予該網絡的上述計算機程序的許可證的數目是有限的,上述方法其特征為包括下列步驟在上述諸工作站中選定至少一個工作站的一個許可證文件內 存放至少一個上述許可證;分配給每個上述許可證文件一個標識(UID),該UID必須不同于其它許可證文件的UID;響應在上述選定的工作站上運行上述計算機程序的副本的請求,搜尋并確定在該選定的工作站上有無上述許可證文件;在選定工作站上找到該許可證文件后,比較所找到的該許可證文件的UID,和前述分配給該許可證文件的UID;以及如果上述比較說明兩個UID相同,并且如果在該許可證文件內的上述許可證非被占用,就批準在上述選定的工作站上運行計算機程序的一個上述副本。
      8.管理許可證的方法,該方法用來限制在網絡中諸節(jié)點上同時運行一特定計算機程序的副本的數目(S),限制使S小于或等于數目L,L是給予上述網絡和上述計算機程序的許可證的數目,每個上述節(jié)點上有系統(tǒng)存貯器,最多能存貯L個上述許可證的許可證存貯器以及用于識別在上述許可證存貯器內的上述許可證的目錄,該方法其特征為包括的步驟有向每一個希望運行上述特定程序的副本的上述節(jié)點上,裝入一個該副本,該副本都是當前可用的,即日期或時間沒有滿期、失效;向上述許可證存貯器里裝入L個許可證,意味著在上述網絡的上述各節(jié)點上共有L個許可證,這樣的該網絡中最多可以同時運行L個上述特定計算機程序的副本;在上述各節(jié)點上,裝入許可證的同時,分配給上述各許可證存貯器一個唯一的標識,使其不同于在上述各節(jié)點上的其它許可證存貯器;響應在上述各節(jié)點中某第一個節(jié)點上運行上述計算機程序的一個副本的請求,在該第一個節(jié)點上的前述目錄里尋找許可證存貯器;如果確定了該節(jié)點上無許可證存貯器,或上述許可證存貯器內的全部許可證正被占用著,或上述許可證存貯器的唯一標識是無效的,則順序在上述其它節(jié)點上的前述目錄里尋找許可證存貯器;以及如果在另一個節(jié)點上找到一個許可證存貯器,并且它有有效的唯一標識,并且它帶有沒被占用,沒過期失效的許可證,就給在前述第一個節(jié)點上的上述特定計算機程序的上述副本一個回答運行信息,批準該程述的該副本在該第一個節(jié)點上運行。
      9.許可證管理系統(tǒng),該系統(tǒng)用于限制允許在一個網絡的一個或多個節(jié)點上同時運行一指定計算機程序的副本的個數,在網絡中,上述各節(jié)點相連,上述限制是指批準在上述網絡中運行上述指定計算機程序的許可證的個數,上述許可證裝在一個或多個上述節(jié)點上;上述許可證管理系其特征為包括在希望運行上述指定計算機程序的副本的每一個上述節(jié)點上,存貯該副本的方法;許可證管理,它有效地把許可證與上述每一個副本相連系,上述許可證管理響應各個副本的請求,在上述各節(jié)點上尋找一個上述許可證,該許可證可用于發(fā)生上述請求的本地節(jié)點上;上述尋找首先在上述本地節(jié)點上進行;如果在該本地節(jié)點上找不到可用的許可證,就逐個地在上述各節(jié)點上尋找,直到找到一個可用的許可,或者找過了所有上述各節(jié)點也找不到一個可用的許可證;對于后一種情況,該許可證管理向上述本地節(jié)點上的上述副本返回一個信息,阻應上述請求在該本地節(jié)點上運行該副本。
      10.管理系統(tǒng),該管理系統(tǒng)用于控制在任何一由多個工作站相連而成的網絡中計算機程序的可運行性,在該網絡中,要在上述工作站之一上運行上述計算機程序的一個副本,必須有一個在該工作站上可用的許可證,給予該網絡的某一特定計算機程序的許可證的數目,小于能夠在該網絡上同時運行的該特定計算機程序的副本的數目,上述管理系統(tǒng)其特征為包括把上述許可證之一存貯在至少一個從上述工作站中選定的工作站上的方法,存貯上述許可證的上述工作站的數目,小于能夠在上述工作站上同時運行的上述特定計算機程序的副本的數目;系統(tǒng)分配指定每一上述被存貯的許可證的方法,即存貯與其它所有上述許可證的UID不同的標識(UID)的方法;響應在上述選定的工作站上運行上述特定計算機程序的一個副本的請求的方法,即在該選定的工作站上尋找以判斷有無上述許可證可用于該選定的工作站的方法;以及該選定的工作站確定上述可用許可證的方法,即比較上述正被尋找的,存貯著的許可證的UID,與前述由系統(tǒng)分配給該許可證并存貯的UID的方法;如果比較的結果是兩個UID相同,使上述計算機程序在上述所選定的工作站上能運行的方法。
      11.帶有專門程序,可執(zhí)行專門功能的計算機,這些專門程序的專門功能是控制在任何由多個工作站連接在一起的網絡中計算機程序的可運行性,在此網絡中,要求上述一個工作站上運行上述計算機程序的一個副本,在上述那個工作站上必須有一個許可證,給予上述網絡的上述許可證的數目,小于能夠在該網中同時運行的上述該計算機程序的副本的數目;其特征為專門的功能包括在上述工作站中,至少選定一個工作站存貯一個上述許可證,存貯著上述許可證的上述工作站的數目,小于能夠在上述諸工作站中同時運行的上述該計算機程序的副本的數目;分配給上述存貯好的每個許可證一個標識(UID),該UID不同于所有其它上述許可證的UID;響應在前述選定的工作站上運行上述計算機程序的一個副本的請求,搜尋該選定的工作站,以確定該工作站上有無上述許可證可用;為在該工作站上找到上述可用的許可證,比較上述正被尋找的,存貯著的許可證的UID,與前述由系統(tǒng)記錄存貯的該許可證的UID;以及當被比較的兩個UID相同時,使上述計算機程序能在上述選定的工作站上運行。
      12.許可證管理系統(tǒng),該系統(tǒng)用于控制在連接在一個網絡中的諸節(jié)點上,一個給定計算機程序的多個副本的可運行性,在該網中,要在每一個節(jié)點上運行上述計算機程序的一個副本,在該節(jié)點上必須有一個許可證,給予該網絡和該給定計算機程序的許可證的數目,小于或等于能夠在該網中同時運行的該給定計算機程序的副本的數目,在那里,對每一個上述結點提供一個許可證文件用于指出上述那個許可證是在上述結點上,在上述每一個節(jié)點上的目錄,表明有哪些許可證(如果有的話)在指定節(jié)點上,在該網絡中,當在某第一個節(jié)點上沒有可用的許可證,而在某第二個節(jié)點上有該許可證時,可以要求在該第一個節(jié)點上運行該計算機程序的一個副本,該網絡具有系統(tǒng)方法,給上述諸節(jié)點上的每個許可證分配指定一個唯一的標識;該系統(tǒng)方法能有效地把上述唯一標識存入一個記錄;該系統(tǒng)其特征為,包括初始管理方法,它與上述第一個節(jié)點的上述計算機程序相連,以便接收請求和在上述第二個節(jié)點上尋找許可證文件以確定前述可用許可證在該第二個節(jié)點上;該初始管理方法還能有效地響應上述確定,即如果在上述第二個節(jié)點上的許可證有效,沒有過期時,把該許可證從該第二個節(jié)點傳送到該第一個節(jié)點;以及該初始管理方法還能有效地請求前述系統(tǒng)方法分配給傳送到該第一個節(jié)點的許可證一個唯一的標識。
      13.管理系統(tǒng),該管理系統(tǒng)用于控制在任何一個由多個工作站相連而成的網絡中,以給定計算機程序的多個副本的可運行性,在該網中,允許一個以上的該計算機程序的副本在上述諸工作站中之一的特定工作站上同時運行,上述每一個運行的副本都必須有一個可用的許可證,給予該網絡的該特定計算機程序的可用許可證的總數,小于能夠在該網絡中同時運行的該特定計算機程序的副本的數目;該管理系統(tǒng)其特征為包括完成下述各種工作的方法或手段在上述諸工作站中選定的一個工作站上,存貯至少兩個上述許可證;在該站上,用戶希望運行一個以上的上述給定計算機程序的副本;分配或指定每一個上述被存貯的許可證的系統(tǒng)方法,即存貯標識。在該網中,每個許可證的標識都是互不相同的;響應在上述選定的工作站上運行至少兩個上述計算機程序的要求,而在該工作站上檢查以確定該工作站上是否有一個或多個上述許可證可用;以及在該選定的工作站上,每一個上述存貯著的許可證的標識與前述由系統(tǒng)方法分配給該許可給該許可證并存貯起來的標志相比較,且如果其中有兩個相應的標識是相同的,且相應許可證非正在占用,就使上述給定計算機程序的相應副本能在上述選定的工作站上運行。
      14.一個許可證管理系統(tǒng),它限制了一個網絡結點上可同時運行一個給予的計算機程序的副本的數量(S)要小于或等于上述網絡充許上述給予的計算機程序的副本的數量(L),每一個上述結點都有一個存貯器,許可證存貯器方法用于指出上述許可證的性質,一個目錄用于識別在許可證存貯器方法中貯存的許可證,上述許可證管理系統(tǒng)其特征為包括裝入上述給予的計算機程序的副本到每一個上述的結點上的方法,而在該結點上希望運行上述給予的計算機程序,當每一個副本的認可使用項還沒有過期,每一個這樣的副本就時間而論是當前的;把L個許可證裝入上述許可證存貯器的方法,這種方法在上述網絡的上述結點上使得不多于L個上述給予的計算機程序的副本可被同時運行,上述裝入方法對每一個上述許可證分配一個標識,這種標識對上述結點的上述許可證在這樣分配的時刻不是唯一的;許可證管理方法用于識別上述選擇的一個結點上的一個不起作用的上述許可證,而在這個結點上希望使用上述計算機程序,上述不起作用的許可證是指在上述的一個結點上,上述計算機程序的一個副本沒在使用,上述許可證管理方法包括對每一個上述結點一個單獨的許可證操作管理器與上述結點的上述計算機程序的副本相聯(lián),也就是在第一個上述結點有一個第一個許可證管理器和一個第一個計算機程序,在第二個這樣的結點有一個第二個許可證管理器和一個第二個計算機程序;上述第一個計算機程序對應從上述第一個許可證管理器的申請,在上述第一個結點執(zhí)行上述第一個計算機程序;上述第一個許可證管理器響應上述要求,在上述第一個結點的上述目錄尋找一個上述的許可證,在確定上述第一個結點沒有可用的上述許可證時,上述許可證管理器就執(zhí)行在第二個結點的目錄中尋找一個許可證;上述第一個許可證管理器在上述第二個結點上相對于確定一個不起作用的當前許可證把上述許可證轉移到上述第一個結點的系統(tǒng)存貯器中,上述第一個許可證管理器在上述轉移生效后使得上述被轉移到上述第一個結點上的許可證分配一個唯一的標識;把上述許可證轉移到上述系統(tǒng)存貯器的有效方法是把上述被轉移的許可證從上述第二個結點的許可證存貯器中清除;上述第一個許可證管理器可有效地把唯一的標識和許可證寫入到上述第一個結點的上述許可證存貯器中的方法;上述第一個結點的上述許可證管理器可有效地比較在上述許可證中的唯一標識的方法,上述系統(tǒng)存貯器中的上述唯一標識萬一匹配,上述第一個許可證管理器就有效地返回一個信息,以使得上述第一個計算機程序能在上述第一個結點上執(zhí)行的方法。
      15.一種方法,該方法用于控制在任何一個由多個工作站相連而成的復雜網絡中,計算機程序的多個副本的可運行性,在該網絡中,要在其中一個工作站上運行一個或多個上述計算機程序的副本,則在該站上必須有一個可用的許可證,給予該網絡的上述特定計算機程序的許可證數目是有限的;上述方法其特征為包括如下步驟在上述諸工作站中至少選定一個工作站,存貯一個上述許可證;賦予每一個被存貯的許可證一個標識(UID),該UID不同于所有其它上述許可證的UID;響應在上述選定的工作站上運行上述計算機程序的一個副本的要求,搜尋該選定的工作站以確定在該工作站上是否有可用的許可證;在該站上發(fā)現(xiàn)可用的許可證之后,使該許可證存貯的UID與前述賦予該許可證,并存在一記錄中的UID相比較;以及如果被比較的兩個UID相同,使上述計算機程序的一個副本能夠在該選定的工作站上運行。
      16.管理許可證的方法,該方法用來限制在網絡中諸節(jié)點上同時運行一特定計算機程序的副本的數目(S),限制S小于或等于L。L是給予該網絡和該特定計算機程序的許可證的數目,每個上述節(jié)點上都有一個系統(tǒng)存貯器,許可證存貯器和一個目錄,許可證存貯器用來說明上述許可證的性質特征,目錄用來標識存在上述許可證存貯器里的上述許可證,此管理方法其特征為包括如下步驟對每一個希望在其上運行上述給定計算機程序的副本的節(jié)點,向該節(jié)點的上述許可證存貯器里裝入該給定計算機程序的一個副本,這些副本在日期和時間上都是有效的,沒有過期;向上述網絡中上述諸節(jié)點上的上述許可證存貯器里裝入L個許可證,這樣,最多有L個上述特定計算機程序的副本可在該網絡上同時運行;賦予每一個存入的許可證一個標識,該標識對加載的當時,在上述節(jié)點內的上述許可證是唯一的;在上述已加入許可證的諸節(jié)點中選定的一個節(jié)點上,找出一個許可證,驗明它是沒被占用的,當上述計算機程序沒在該選定的節(jié)點上工作時,該許可證就是沒被占用的;響應在上述諸節(jié)中某第一節(jié)點上運行上述計算機程序的一個副本的請求,在該第一個節(jié)點的上述目錄中搜尋許可證;當確定了在該節(jié)點上無許可證,或該節(jié)點上所有的許可證都正在工作時,就在上述其它節(jié)點上順序搜尋非正在工作,沒有過期的許可證;把在其它節(jié)點上找到的非正在工作,沒有過期的許可證傳送到上述第一個節(jié)點上去;賦予被傳送到該第一節(jié)點上的許可證一個唯一標識;在上述那個其它節(jié)點上刪去被傳送的許可證的唯一標識;以及返回一個運行信息,使上述計算機程序的上述到本能在上述第一個節(jié)點上運行。
      17.在權利要求10的管理系統(tǒng)的基礎上的下列方法或手段當在前述選定的工作站尋找不到一個前述可用的許可證時,就在其它的工作站上的那些許可證中尋找一個許可證的方法;確定此在上述其它工作站上的許可證在該工作站上可用之后,能夠有效地把該許可證從該其它工作站傳送到該選定的工作站的方法;上述傳送完成之后,使前述該系統(tǒng)賦予傳送到選定的工作站上的許可證一個新的不同的UID的方法。
      18.在權利要求17的管理系統(tǒng)的基礎上上述在選定的工作站上賦予被傳送的許可證(新的)UID完成之后,前述的比較將針對該新賦予的UID,和前述由系統(tǒng)方法存貯的該被傳送的許可證的UID;如果這兩個UID相同,該比較就使前述計算機程序能在該選定的工作站上運行。
      19.在權利要求10的管理系統(tǒng)中所謂比較方法也包括確定的工作站上可用的許可證是否過期失效,如果沒有過期失效,且被比較的UID相同,上述比較方法使該計算機程序能在該選定的工作站上運行。
      20.在權利要求10的管理系統(tǒng)中所謂存貯方法也包括把前述UID加密的方法;以及所謂比較方法也包括先把前述UID解密,然后再執(zhí)行前述比較。
      21.在權利要求10的管理系統(tǒng)中所謂存貯方法也包括存貯表明該許可證是否有效,是否被占用的數據資料。
      22.在權利要求17的管理系統(tǒng)中所提供的下述方法加密傳送到選定工作站上的前述許可證;在前述其它工作站上刪去前述被傳送的許可證,以便使該被傳送的許可證只在該選定的工作站上可被執(zhí)行,使用。
      23.在權利要求22的管理系統(tǒng)中提及的許可證原來是存在前述其它工作站的一個許可證文件內的;所謂確定的方法包括把該許可證文件拷貝到該選定工作站的方法,以及所謂刪除的方法在上述拷貝的方法運行之后才生效。
      24.在權利要求11定義的計算機中,專門的功能還包括為了在其它工作站,而不是該選定的工作站上搜尋一個可用的許可證,確定在其它工作站上的許可證是有效的和沒有過期失效的;把上述可用的,沒有過期失效并有效的許可證從上述其它工作站傳送到該選定的工作站上;以及在上述傳送完成之后,賦予被傳送到該選定的工作站上的該許可證一個新的,不同的UID。
      25.在權利要求24定義的計算機中,專門的功能還包括存貯上述賦予被傳送的許可證的UID;上述傳送完成之后,提及的比較功能將比較新賦予被傳送的許可證的UID,與由前述系統(tǒng)存貯的該許可證的UID;以及如果上述被比較的UID相同時,使上述計算機程序能夠在該選定的工作站上運行。
      26.在權利要求11定義的計算機中,專門的功能還包括加密提到的UID;存貯被加密的UID;以及在執(zhí)行提到的比較之前,把被存貯的UID解密。
      27.在權利要求11定義的計算機中,專門的功能還包括在該選定的工作站中找不到可用的許可證之后,在其它諸工作站中尋找一個可用的許可證;如果在任何其它諸工作站中都找不到一個可用的許可證,阻止應該請求在選定的工作站上運行該計算機程序的副本。
      28.在權利要求11定義的計算機的基礎上,網絡中別的工作站上有一個目錄(該目錄不在選定的工作站上),專門的功能還包括響應前述請求并確定在該選定的工作站上沒有可用的許可證之后,搜尋該目錄以找到一個前述的許可證,并在該時該處確定在該目錄中的該許可證是可用的;執(zhí)行前述比較功能以確定該可用的許可證是有效的;以及如果在該目錄中該可用的許可證是有效的,就把它傳送到前述選定的工作站上。
      29.在權利要求12定義的系統(tǒng)還包括提及的初始管理方法還包括確定前述第二節(jié)點的UID的有效性的方法,即能有效地比較該第二個節(jié)點上的許可證的唯一標識,與由前述系統(tǒng)方法賦予并記錄的該許可證的唯一標識。
      30.在權利要求29定義的系統(tǒng)中提及的確定方法要防止前述的初始管理方法中提及的傳送操作,除非上述有效性被證實,即所比較的兩個唯一標識被發(fā)現(xiàn)是相同的。
      31.在權利要求12定義的系統(tǒng)中提及的初始管理方法,還包括下述確定所謂有效性的方法對賦予前述第二個節(jié)點上的可用許可證的唯一標識加密或解密;在完成上述對第二個節(jié)點上可用許可證唯一標識的解密之后,接收前述由系統(tǒng)方法存貯的該節(jié)點上的該許可證的唯一標識的方法;以及比較上述兩個唯一標識的方法;以及在確定上述兩個唯一標識相同之后,提供把上述可用許可證從該第二節(jié)點傳送到前述第一個節(jié)點上使用的方法。
      32.在權利要求12的系統(tǒng)中,當被傳送的許可證仍然在前述第一個節(jié)點上時,也可以要求在前述第二個節(jié)點上運行前述計算機程序的一個副本,因此該系統(tǒng)還包括第二種管理方法,此方法與在前述第二個節(jié)點上的該計算機程序的一個副本相聯(lián),此方法接收上述在第二個結點上的請求,在該第二個節(jié)點的目錄中搜尋,確定在該第二個節(jié)點上無上述許可證;該第二種管理方法能有效地在上述第一個節(jié)點的目錄中尋找,確定在該第一個節(jié)點上有可用的許可證;如果上述在第一個節(jié)點上的許可證被確定是有效的,非被占用的,也沒有過期作廢的,該第二種管理方法要有效地把它從該第一個節(jié)點傳送到該第二個節(jié)點上使用;該第二種管理方法在上述傳送完成之后,還得有效地要求前述系統(tǒng)方法,賦予該許可證一個唯一的標識。
      33.在權利要求14的許可證管理系統(tǒng)中當已經有L個特定計算機程序正在運行時,初始管理方法和后續(xù)管理方法都得有效地拒絕運行該特定計算機程序的一個副本的請求,阻止任何一個該特定計算機程序的副本運行,直到該L個許可證中的一個又變成非被占用的之后。
      34.在權利要求33的許可證管理系統(tǒng)中提及的初始許可證管理方法給賦予上述被傳送的許可證的唯一標識加密,并把該被加密的唯一標識存貯到該第一個節(jié)點上的許可證存貯器里。
      35.在權利要求15的方法中還包括下述步驟在選定的工作站中找不到可用的許可證之后,繼續(xù)在該網的另一個工作站上搜尋;在另一個工作站上找到前述許可證并確定此許可證在此工作站上可用之后,執(zhí)行下列比較步驟把該許可證從該工作站傳送到前述選定的工作站上;以及完成上述傳送之后,使一個新的唯一標識賦給在選定的工作站上的這個被傳送的許可證。
      36.在權利要求35的方法中在完成了賦予被傳送到選定工作站上的上述許可證一個上述UID之后,執(zhí)行前述的比較步驟,即比較該新賦予的UID,與記錄中的該被傳送的許可證的UID;以及當所比較的兩個UID相同時,使前述計算機程序能在該選定的工作站上運行。
      37.在權利要求15的方法中還包括下列步驟把前述賦予一個存貯著的許可證的UID如密;以及在執(zhí)行前述比較步驟之前,把上述UID解密。
      38.在權利要求35的方法中,還包括下列步驟與上述許可證一起存貯數據資料,說明該許可證是否有效,是否被占用;以及如果上述數據說明在上述選定的工作站上的上述許可證是非正被占用的,就執(zhí)行前述比較步驟。
      39.在權利要求16的方法中,還包括下列步驟把傳送到前述選定的工作站上的許可證的UID加密;以及從前述其它工作站上刪去被傳送走的許可證的UID,這樣,被傳送的許可證就只在前述選定的工作站上有效。
      40.在權利要求16的許可證管理方法中還包括下列步驟把賦予每一個前述許可證唯一標識加密;以及把在第二個節(jié)點上的前述許可證的唯一標識解密,就可以在把該許可證傳送到前述第一節(jié)點之前,確定該許可證是沒有過期失效,沒被占用的。
      41.在權利要求12的許可證管理系統(tǒng)中提及的初始管理方法還搜尋前述第二個節(jié)點以外的諸節(jié)點,直到找到一個前述的可用許可證,或者所有諸節(jié)點都搜尋過而找不到一個可用的許可證;在所有的諸節(jié)點都搜尋過而找不到一個可用的許可證之后,該初始管理方法給在前述第一個節(jié)點上的上述計算機程序一個信息,以阻止該程序在該節(jié)點上運行,這樣,在該網中同時運行的該計算機程序的副本的數目就被限制在批準的數目之內。
      42.在權利要求2的許可證管理系統(tǒng)中提及的許可證文件方法包括一個許可證庫,該庫能存貯全部批準給與該網絡的許可證;以及提及的許可證管理方法還負責在確定前述找到的許可證文件方法是有效的,并確定在該許可證文件方法里的一個許可證是可用的之后,在該許可證文件方法里減少許可證的數目。
      43.在權利要求42的許可證管理系統(tǒng)中提及的許可證管理方法還向許可證庫寫入數據資料,以說明在前述許可證的批準下,前述指定計算機程序哪一個的副本正在運行。
      44.在權利要求2的許可證管理系統(tǒng)中提及的許可證管理方法包括把賦予前述許可證文件方法的前述唯一標識加密的方法,和在比較該唯一標識之前,把該唯一標識解密的方法。
      45.在權利要求3的管理系統(tǒng)中提及的許可證文件方法包括一個許可證庫,該庫能夠存貯全部批準給與該網絡的許可證;以及提及的許可證管理方法還負責在確定前述找到的許可證文件方法是有效的,并確定在該許可證文件方法里的一個許可證是可用的之后,在該許可證方法里減少許可證的數目。
      46.在權利要求45的管理系統(tǒng)中提及的許可證管理方法還向許可證庫寫入數據資料,以說明在前述許可證的批準下,前述指定計算機程序的哪一個副本正在運行。
      47.在權利要求4的計算機中,當有多個許可證在前述許可證文件中時,該計算機要被編程執(zhí)行以下附加功能在確定了前述諸許可證中有一個是可用的之后,修改上述許可證文件,以說明能夠批準使用前述指定計算機程序的一個副本的可用許可證減少了一個。
      48.在權利要求47的計算機,還要編程執(zhí)行下述附加功能進一步修改前述許可證文件,以說明在前述原來可用的許可證的認可下,前述計算機程序的一個副本正在前述特殊工作站上運行。
      49.在權利要求5的許可證管理系統(tǒng)中在前述諸節(jié)點上的每一個前述許可證文件方法內有一個以上的前述許可證;只有當在前述第一個節(jié)點上的許可證文件方法是無效的,或者在該第一個節(jié)點上的所有前述許可證都被占用著時,前述初始管理方法才在前述下一個節(jié)點上尋找許可證文件;以及上述初始管理方法還負責在修改該下一個節(jié)點上的許可證文件方法之后,送回一個前述狀態(tài)信息,這樣,在該下一個節(jié)點上的許可證文件方法里就增加了一個使用著的許可證。
      50.在權利要求7的方法(該方法用于控制計算機程序的多個副本的可運行性)中提及的存貯步驟把批準的許可證的總數存入前述選定的工作站上的前述許可證文件里;每次使一個前述計算機程序的副本能運行時,就更新該許可證文件,減小其內未在工作的許可證的數字。
      51.在權利要求50的方法(該方法用于控制計算機程序的多個副本的可運行性)中每次更新前述許可證文件時,數據資料也同時被輸入,這些數據資料說明哪一個前述計算機程序的副本被批準運行了,還說明批準在哪一個工作站上運行該副本。
      52.在權利要求8的方法中,前述加載步驟只向前述第一個節(jié)點的許可證存貯器內裝入前述L個許可證,上述方法還包括下列步驟確定了在前述任何一個節(jié)點上都沒有可用許可證之后,返回一個狀態(tài)信息給在前述第一節(jié)點上的前述計算機程序的前述副本,說明不批準該副本運行。
      全文摘要
      許可證管理方法和系統(tǒng)使計算機程序的許可證能夠用在每一個由多個節(jié)點形成的網絡上。如果在本地節(jié)點上的一個有效的許可證文件內有一個沒過期的,可以使用的許可證,在該本地節(jié)點上的一個許可證管理就允許該計算機程序在該有要求的本地節(jié)點上運行。如果在這本地節(jié)點的有效許可證文件里沒有可用的許可證,該許可證管理器就搜尋其它的節(jié)點,以找到一個有效的,含有沒過期的,可用的許可證。
      文檔編號G06F12/14GK1035192SQ8810773
      公開日1989年8月30日 申請日期1988年11月9日 優(yōu)先權日1987年11月10日
      發(fā)明者喬恩H·巴伯, 羅納德A·伍德沃德, 理查德M·勃克利, 伊文L·萊姆, 馬休W·杰克遜, 道格拉斯M·揚格 申請人:奧托·特羅技術公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1