本發(fā)明涉及基于浮動(dòng)許可證(floating license)的應(yīng)用程序的許可證管理。
背景技術(shù):
作為用于針對(duì)客戶端賦予許可證以使用有償應(yīng)用程序的方法其中之一,存在浮動(dòng)許可證方法。這是一種利用許可證服務(wù)器(以下簡(jiǎn)稱為服務(wù)器)來管理用戶所購買的多個(gè)許可證(即,可同時(shí)使用的多個(gè)許可證)并且使該服務(wù)器將許可證借出至客戶端的方法,從而使這些客戶端能夠暫時(shí)使用該應(yīng)用程序。換句話說,該方法使這些客戶端能夠在所購買的許可證數(shù)量的范圍內(nèi)同時(shí)啟動(dòng)該應(yīng)用程序。應(yīng)用程序自身的主體可以安裝在任意數(shù)量的設(shè)備中。在各客戶端上,在啟動(dòng)了應(yīng)用程序的情況下,該應(yīng)用程序連接至服務(wù)器并且接收許可證的發(fā)出,從而使客戶端能夠使用針對(duì)其發(fā)出了許可證的應(yīng)用程序。服務(wù)器進(jìn)行控制以使得:在用戶所購買的許可證數(shù)量的范圍內(nèi)許可應(yīng)用程序的啟動(dòng),并且一旦借出的許可證數(shù)量達(dá)到了所購買的許可證數(shù)量所確定出的上限,則禁止其它客戶端再啟動(dòng)該應(yīng)用程序。此時(shí),如果任意客戶端結(jié)束了該應(yīng)用程序的使用并且將許可證返還至服務(wù)器,則其它客戶端通過獲取該返還的許可證而變得能夠啟動(dòng)該應(yīng)用程序。利用這樣的浮動(dòng)許可證在不同時(shí)間使用其中的應(yīng)用程序,這使得可以在所購買的許可證數(shù)量以上的多個(gè)客戶端上使用該應(yīng)用程序。
由于如上所述浮動(dòng)許可證對(duì)可以同時(shí)使用應(yīng)用程序的客戶端的數(shù)量存在限制,因此期望如下:客戶端在其想要的作業(yè)期間不中斷地保持持有浮動(dòng)許可證,并且在作業(yè)結(jié)束之后迅速將該浮動(dòng)許可證返還至服務(wù)器。因此,浮動(dòng)許可證的通常使用方式是在啟動(dòng)應(yīng)用程序時(shí)獲取許可證并且在關(guān)閉應(yīng)用程序時(shí)(在處理結(jié)束時(shí))返還許可證。
日本特開2003-108252討論了如下的使用方式:在啟動(dòng)應(yīng)用程序時(shí)獲取許可證并在關(guān)閉應(yīng)用程序時(shí)返還許可證,并且許可證在通信失敗了預(yù)定次數(shù)的情況下到期。
客戶端設(shè)備上的一些操作系統(tǒng)(OS)具有在單個(gè)客戶端上切換多個(gè)賬戶的情況下使用服務(wù)的多賬戶功能。在多賬戶環(huán)境下,各賬戶上所啟動(dòng)的應(yīng)用程序可以在不受其它賬戶環(huán)境影響的情況下獨(dú)立地進(jìn)行工作。
在客戶端OS上,當(dāng)前使用的賬戶環(huán)境變成激活狀態(tài)并且其它賬戶環(huán)境變成非激活狀態(tài)。激活狀態(tài)指如下這種狀態(tài):顯示桌面畫面并且用戶可以自由操作運(yùn)行其上的應(yīng)用程序。另一方面,非激活狀態(tài)指如下這種狀態(tài):賬戶環(huán)境隱藏在激活環(huán)境后方,并且用戶無法操作運(yùn)行其上的應(yīng)用程序。
現(xiàn)在,進(jìn)行如下假設(shè):賬戶環(huán)境A下所啟動(dòng)的應(yīng)用程序獲取浮動(dòng)許可證并且處于工作中。在賬戶環(huán)境切換至另一賬戶環(huán)境B的情況下,該應(yīng)用程序處于工作中的賬戶環(huán)境A成為非激活,但賬戶環(huán)境A下正處于執(zhí)行中的應(yīng)用程序自身繼續(xù)運(yùn)行,因此應(yīng)用程序仍保持持有該許可證。因此,盡管完全沒有賬戶環(huán)境A下的用戶所進(jìn)行的任意操作,但是許可證沒有返還至服務(wù)器,因此該情況導(dǎo)致使其它用戶失去了使用該應(yīng)用程序的機(jī)會(huì)并且減少了許可證的運(yùn)轉(zhuǎn)率(用戶實(shí)際操作的應(yīng)用程序的數(shù)量)。從浮動(dòng)許可證的有效利用的角度而言,這是不期望的。一個(gè)可能的解決方案是:在賬戶被切換的時(shí)刻,強(qiáng)制終止賬戶環(huán)境A下正處于執(zhí)行中的應(yīng)用程序并且返還許可證。
然而,在某些情況下,在僅僅由于暫時(shí)使用而切換賬戶之后,賬戶可能立即被再次切換以返回至原本的賬戶環(huán)境。如果即使在這種情況下一旦賬戶被切換時(shí)也立即關(guān)閉該應(yīng)用程序并且返還許可證,則在再次切換賬戶并且在原本的賬戶環(huán)境下再次使用該應(yīng)用程序的情況下,增加了再次獲取許可證的必要性。另一方面,如上所述,浮動(dòng)許可證針對(duì)容許同時(shí)使用應(yīng)用程序的用戶數(shù)量存在上限,從而使得不一定保證許可證的立即再次獲取。更具體地,存在如下這種風(fēng)險(xiǎn):即使在僅暫時(shí)切換賬戶的情況下,一旦返還許可證,則該返還的許可證也可能被其它用戶獲取,使得在賬戶環(huán)境返回至原本的賬戶環(huán)境的情況下無法立即重新開始作業(yè)。
如上所述,如果許可證被在非激活的賬戶環(huán)境下工作的應(yīng)用程序保持持有預(yù)定時(shí)間段,則這導(dǎo)致許可證的運(yùn)轉(zhuǎn)率降低的問題。然而,如果切換預(yù)期為賬戶的暫時(shí)切換,則在賬戶被切換的時(shí)刻立即返還許可證可能降低了用戶的便利性。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)本發(fā)明的一個(gè)方面,一種客戶端設(shè)備,用于在應(yīng)用程序啟動(dòng)時(shí)從許可證服務(wù)器獲取許可證,所述客戶端設(shè)備包括:獲取單元,用于從所述許可證服務(wù)器獲取具有有效時(shí)間段的許可證;更新單元,用于定期更新所獲取到的許可證;第一判斷單元,用于判斷執(zhí)行所述應(yīng)用程序的環(huán)境是否是非激活的;停止單元,用于在所述第一判斷單元判斷為所述環(huán)境是非激活的情況下,停止所述更新單元所進(jìn)行的許可證的定期更新;第二判斷單元,用于判斷執(zhí)行所述應(yīng)用程序的環(huán)境是否是激活的;再次開始單元,用于在所述第二判斷單元判斷為所述環(huán)境是激活的情況下,再次開始所述更新單元所進(jìn)行的許可證的定期更新;以及到期處理單元,用于在所述許可證的有效時(shí)間段到期的情況下,執(zhí)行針對(duì)所述應(yīng)用程序的許可證到期處理。
根據(jù)本發(fā)明的另一方面,一種許可證管理方法,其由客戶端設(shè)備來執(zhí)行,所述許可證管理方法包括以下步驟:從許可證服務(wù)器獲取具有有效時(shí)間段的許可證;定期更新所獲取到的許可證;作為第一判斷,判斷執(zhí)行應(yīng)用程序的環(huán)境是否是非激活的;在所述第一判斷中判斷為所述環(huán)境是非激活的情況下,停止許可證的定期更新;作為第二判斷,判斷執(zhí)行所述應(yīng)用程序的環(huán)境是否是激活的;在所述第二判斷中判斷為所述環(huán)境是激活的情況下,再次開始許可證的定期更新;以及在所述許可證的有效時(shí)間段到期的情況下,執(zhí)行針對(duì)所述應(yīng)用程序的許可證到期處理。
通過以下參考附圖的典型實(shí)施例的說明,本發(fā)明的其它特征將變得明顯。
附圖說明
圖1示出系統(tǒng)結(jié)構(gòu)。
圖2示出硬件結(jié)構(gòu)。
圖3示出軟件結(jié)構(gòu)。
圖4示出浮動(dòng)許可證的時(shí)序處理。
圖5是示出與許可證的更新有關(guān)的處理的流程圖。
圖6是與根據(jù)第一典型實(shí)施例的許可證處理有關(guān)的時(shí)序圖。
圖7是與根據(jù)第二典型實(shí)施例的許可證處理有關(guān)的時(shí)序圖。
圖8是與根據(jù)第三典型實(shí)施例的許可證處理有關(guān)的時(shí)序圖。
圖9是根據(jù)第三典型實(shí)施例的流程圖。
圖10是根據(jù)第三典型實(shí)施例的在切換賬戶時(shí)獲取任意指定的有效時(shí)間段內(nèi)有效的許可證的情況下的流程圖。
具體實(shí)施方式
系統(tǒng)結(jié)構(gòu)
圖1示出根據(jù)本發(fā)明的第一典型實(shí)施例的浮動(dòng)許可證管理系統(tǒng)的結(jié)構(gòu)。本典型實(shí)施例是如下系統(tǒng),在該系統(tǒng)中,許可證服務(wù)器和多個(gè)客戶端可以經(jīng)由網(wǎng)絡(luò)彼此進(jìn)行通信。局域網(wǎng)(LAN)100是使客戶端110(和客戶端111)與許可證服務(wù)器120能夠彼此進(jìn)行通信的LAN,但也可以是廣域網(wǎng)(WAN)。
應(yīng)用程序300安裝在客戶端110(和客戶端111)中??蛻舳?10(和客戶端111)可以通過從許可證服務(wù)器120獲取使用該應(yīng)用程序300的許可證(浮動(dòng)許可證),來實(shí)現(xiàn)對(duì)該應(yīng)用程序300的一部分或全部所施加的使用限制的解除,由此使用應(yīng)用程序300。
許可證服務(wù)器200是用于向客戶端110(和客戶端111)內(nèi)工作的應(yīng)用程序300發(fā)出浮動(dòng)許可證的許可證服務(wù)器,并且假定持有預(yù)先購買的預(yù)定數(shù)量(一個(gè)以上)的許可證。
浮動(dòng)許可證(以下簡(jiǎn)稱為許可證)是許可證服務(wù)器120暫時(shí)借出至請(qǐng)求許可證的客戶端110的許可證??蛻舳?10(和111)各自可以通過預(yù)先在其內(nèi)安裝應(yīng)用程序300并且在使用該應(yīng)用程序時(shí)從許可證服務(wù)器120接收許可證,來使用該應(yīng)用程序300。在使用完成之后,通過將上述許可證返還至許可證服務(wù)器120,使其它用戶利用該返還的許可證也可以使用應(yīng)用程序300。該機(jī)制使得比許可證數(shù)量多的用戶可以使用該應(yīng)用程序300。
許可證服務(wù)器120所發(fā)出的許可證可以是文件形式的數(shù)據(jù),或者可以是如二進(jìn)制數(shù)據(jù)或使用許可證標(biāo)志的數(shù)據(jù)??梢酝ㄟ^采用任意方法來實(shí)現(xiàn)許可證服務(wù)器120所發(fā)出的許可證,只要該方法可以在許可證服務(wù)器120和客戶端110之間實(shí)現(xiàn)使用許可證的安全應(yīng)對(duì)即可。以下,與介質(zhì)和方法無關(guān)地,客戶端110從許可證服務(wù)器120獲取使用許可證(許可證)被稱為許可證獲取,并且客戶端110將使用許可證返還至許可證服務(wù)器120稱為許可證返還。
硬件結(jié)構(gòu)
圖2示出圖1所示的客戶端110(和客戶端111)的硬件結(jié)構(gòu)(計(jì)算機(jī)的硬件結(jié)構(gòu))。在圖2中,硬件結(jié)構(gòu)包括用于接收用戶操作的輸入的諸如鍵盤和點(diǎn)擊裝置等的輸入裝置205。此外,硬件結(jié)構(gòu)包括用于將表示輸出信息的視覺反饋展現(xiàn)給用戶的顯示單元(顯示器)202。此外,硬件結(jié)構(gòu)包括隨機(jī)存取存儲(chǔ)器(RAM)203、只讀存儲(chǔ)器(ROM)204和諸如硬盤驅(qū)動(dòng)器(HDD)和軟盤驅(qū)動(dòng)器(FDD)等的外部存儲(chǔ)器206,這些存儲(chǔ)器是用于存儲(chǔ)根據(jù)本典型實(shí)施例的各種程序和執(zhí)行信息的存儲(chǔ)裝置。此外,硬件結(jié)構(gòu)包括用于與外部設(shè)備進(jìn)行通信的接口裝置輸入/輸出(I/O)207以及用于執(zhí)行程序的中央處理單元(CPU)201??蛻舳?10和許可證服務(wù)器120經(jīng)由接口裝置I/O 207彼此進(jìn)行通信。此外,許可證服務(wù)器120也可以具有同樣的硬件結(jié)構(gòu)。
CPU 201通過將諸如ROM 204或外部存儲(chǔ)器206等的存儲(chǔ)介質(zhì)中所存儲(chǔ)的程序加載至RAM 203并執(zhí)行所加載的程序來實(shí)現(xiàn)本典型實(shí)施例將描述的處理。換句話說,計(jì)算機(jī)通過執(zhí)行這些設(shè)備各自中所存儲(chǔ)的計(jì)算程序來用作以下將描述的客戶端110(或許可證服務(wù)器120)的各處理單元。
軟件結(jié)構(gòu)
圖3示出客戶端110和許可證服務(wù)器120通過執(zhí)行各計(jì)算機(jī)程序所實(shí)現(xiàn)的軟件結(jié)構(gòu)的一個(gè)示例。
首先,將說明客戶端110上所執(zhí)行的應(yīng)用程序300。應(yīng)用程序300用作輸入單元301、管理單元302、處理執(zhí)行單元303、許可證請(qǐng)求發(fā)送單元304和許可證更新處理單元305。
輸入單元301接收來自用戶的操作輸入,并且將所輸入的請(qǐng)求發(fā)送至管理單元302。如果輸入單元301上所輸入的輸入是用以啟動(dòng)應(yīng)用程序300的請(qǐng)求,則管理單元302判斷為需要許可證,并且指示許可證請(qǐng)求發(fā)送單元304獲取許可證。許可證請(qǐng)求發(fā)送單元304經(jīng)由網(wǎng)絡(luò)100向許可證服務(wù)器120發(fā)出用以獲取許可證的請(qǐng)求。此時(shí),許可證請(qǐng)求發(fā)送單元304將用于使客戶端110能夠被唯一地識(shí)別的客戶端標(biāo)識(shí)符連同該請(qǐng)求一起發(fā)送。介質(zhì)訪問控制(MAC)地址、硬件組件的序列號(hào)或者根據(jù)它們的組合而生成的計(jì)算值等可以用作客戶端標(biāo)識(shí)符。在以下將詳細(xì)說明許可證服務(wù)器120的情況下,許可證請(qǐng)求發(fā)送單元304所進(jìn)行的許可證獲取處理成功,只要剩余可用的許可證即可。在本示例中,假定此時(shí)獲取到被設(shè)置了有效時(shí)間段T2(例如,10分鐘)的許可證。
許可證請(qǐng)求發(fā)送單元304向管理單元302通知許可證獲取處理的成功或失敗以及在結(jié)果是成功的情況下的有效時(shí)間段T2。如果許可證獲取成功,則管理單元302指示處理執(zhí)行單元303啟動(dòng)應(yīng)用程序300。處理執(zhí)行單元303啟動(dòng)應(yīng)用程序300。在處理執(zhí)行單元303成功啟動(dòng)了應(yīng)用程序300之后,管理單元302在從輸入單元301接收到用以執(zhí)行功能的請(qǐng)求或者用以在操作畫面上進(jìn)行處理(編輯文檔或打印指示等)的請(qǐng)求的情況下,還與相同方式指示處理執(zhí)行單元303。另一方面,如果許可證請(qǐng)求發(fā)送單元304的許可證獲取失敗,則管理單元302進(jìn)行控制,以使得不執(zhí)行在輸入單元301上所輸入的用以啟動(dòng)應(yīng)用程序300的請(qǐng)求。在這種情況下,管理單元302可以經(jīng)由消息等向操作客戶端110的用戶通知無法獲取到浮動(dòng)許可證(即,已發(fā)出的許可證的數(shù)量已達(dá)到可以同時(shí)使用的許可證的數(shù)量的上限)。
如果成功獲取到有效時(shí)間段T2內(nèi)有效的許可證,則之后繼續(xù)進(jìn)行用于更新許可證的過程,以防止許可證的有效時(shí)間段到期?,F(xiàn)在,將說明其詳情。
管理單元302指示許可證更新處理單元305定期更新許可證。許可證更新處理單元305指示許可證請(qǐng)求發(fā)送單元304以時(shí)間間隔T1(例如,每隔三分鐘)更新許可證。在接收到用以更新許可證的指示時(shí),許可證請(qǐng)求發(fā)送單元304經(jīng)由網(wǎng)絡(luò)100連接至許可證服務(wù)器120,并且發(fā)出用以更新許可證的請(qǐng)求。通常,如果從當(dāng)前許可使用應(yīng)用程序300的客戶端發(fā)出了該請(qǐng)求,則許可證服務(wù)器120上的更新成功。如果此時(shí)的更新成功,則客戶端110獲取從執(zhí)行該更新時(shí)起直到經(jīng)過了有效時(shí)間段T2(例如,10分鐘)為止進(jìn)一步有效的新許可證。利用該新許可證來覆蓋許可證,并且只要許可證請(qǐng)求發(fā)送單元304的許可證獲取成功,就繼續(xù)維持許可證的有效性。將該處理稱為許可證的更新。
另一方面,如果許可證請(qǐng)求發(fā)送單元304與許可證服務(wù)器120的連接失敗或者從許可證服務(wù)器120的許可證獲取失敗,則不更新許可證。例如,在客戶端110從網(wǎng)絡(luò)100斷開的情況下或者在許可證服務(wù)器120停止的情況下,發(fā)生這些失敗。如果許可證更新失敗,則許可證請(qǐng)求發(fā)送單元304在進(jìn)一步經(jīng)過了預(yù)定時(shí)間間隔之后(例如,三分鐘之后)再次試圖更新許可證。如果許可證請(qǐng)求發(fā)送單元304的許可證獲取繼續(xù)失敗,則作為被判斷為在許可證的有效時(shí)間段T2內(nèi)無法更新許可證的結(jié)果,所獲取到的許可證失去其有效性。此時(shí),管理單元302進(jìn)行某種到期處理。例如,管理單元302可以執(zhí)行諸如對(duì)應(yīng)用程序300的功能施加限制并且促使用戶關(guān)閉應(yīng)用程序300、向用戶顯示表示到期的消息、以及/或者指示許可證更新處理單元305結(jié)束定期更新等的某些動(dòng)作。即使許可證請(qǐng)求發(fā)送單元304的許可證獲取失敗數(shù)次,如果在該許可證到期之前可以再次獲取到該許可證,則也更新該許可證的有效性。
如果經(jīng)由輸入單元301輸入的請(qǐng)求是用以關(guān)閉應(yīng)用程序300的請(qǐng)求,則管理單元302判斷為不需要許可證,并且指示許可證請(qǐng)求發(fā)送單元304返還許可證。許可證請(qǐng)求發(fā)送單元304將許可證返還至許可證服務(wù)器120。
接著,將說明許可證服務(wù)器120。假定許可證服務(wù)器120將預(yù)先購買的(一個(gè)以上的)許可證存儲(chǔ)在許可證池324中。在本系統(tǒng)中,在與已經(jīng)存儲(chǔ)在許可證池324中的許可證的數(shù)量相等的上限內(nèi),許可證服務(wù)器120響應(yīng)于來自客戶端110的請(qǐng)求而發(fā)出(借出)許可證。許可證信息處理單元323至少管理許可證計(jì)數(shù)(剩余許可證的數(shù)量)和使用許可證的許可目的地,并且許可證的總數(shù)被設(shè)置成上述許可證計(jì)數(shù)的初始值。
許可證請(qǐng)求接收單元321接收從應(yīng)用程序300發(fā)出的用以獲取許可證的請(qǐng)求或者用以返還許可證的請(qǐng)求,并且向管理單元322通知該請(qǐng)求。
如果該請(qǐng)求是用以獲取許可證的請(qǐng)求,則管理單元322將與該請(qǐng)求一起接收到的客戶端標(biāo)識(shí)符發(fā)送至許可證信息處理單元323,并且向許可證信息處理單元323詢問是否已經(jīng)向與客戶端標(biāo)識(shí)符相對(duì)應(yīng)的客戶端發(fā)出了許可證。如果許可證信息處理單元323判斷為已經(jīng)向該客戶端發(fā)出了許可證,則這意味著該請(qǐng)求是用以更新許可證的請(qǐng)求,從而管理單元322向許可證請(qǐng)求接收單元321返回成功狀態(tài)以及利用新的有效時(shí)間段T2更新的許可證。此外,許可證信息處理單元323與客戶端標(biāo)識(shí)符相關(guān)聯(lián)地管理許可證更新之后的新的有效期限。
如果在許可證信息處理單元323確認(rèn)了許可證標(biāo)識(shí)符時(shí)沒有向相應(yīng)的客戶端發(fā)出許可證,則該請(qǐng)求被判斷為是新請(qǐng)求。此時(shí),許可證信息處理單元323進(jìn)一步基于許可證計(jì)數(shù)來判斷是否剩余可發(fā)出的許可證。許可證計(jì)數(shù)表示剩余可發(fā)出的許可證的數(shù)量,并且如果許可證計(jì)數(shù)表示一個(gè)以上的數(shù)量,則這意味著仍然剩余可發(fā)出的許可證。在這種情況下,管理單元322指示許可證信息處理單元323從許可證計(jì)數(shù)減去1,并且向許可證請(qǐng)求接收單元321返回成功狀態(tài)以及利用有效時(shí)間段T2而準(zhǔn)備的許可證。此外,許可證信息處理單元323對(duì)發(fā)出了該請(qǐng)求的客戶端的客戶端標(biāo)識(shí)符以及所發(fā)出的該許可證的有效期限彼此關(guān)聯(lián)地進(jìn)行記錄并管理。
如上所述,許可證服務(wù)器120(在不減小許可證計(jì)數(shù)的情況下)向已經(jīng)被許可使用應(yīng)用程序300的客戶端再次發(fā)出有效期限被更新的許可證,而在從許可證計(jì)數(shù)減去1之后向尚未被許可使用應(yīng)用程序300的客戶端發(fā)出許可證。前者和后者分別是響應(yīng)于來自應(yīng)用程序300的用以更新許可證的請(qǐng)求和啟動(dòng)應(yīng)用程序300時(shí)的用以獲取新許可證的請(qǐng)求的過程。
如果許可證計(jì)數(shù)表示0,則這意味著不再剩余可發(fā)出的許可證。在這種情況下,管理單元322向許可證請(qǐng)求接收單元321返回失敗狀態(tài)。
這樣,在接收到用以獲取許可證的請(qǐng)求或者用以更新許可證的請(qǐng)求的情況下,許可證請(qǐng)求接收單元321向客戶端110返回成功或失敗狀態(tài)以及在結(jié)果是成功的情況下的許可證。
如果許可證請(qǐng)求接收單元321從許可證請(qǐng)求發(fā)送單元304接收到用以返還許可證的請(qǐng)求,則管理單元322接收該返還的許可證以及發(fā)出了該請(qǐng)求的客戶端的客戶端標(biāo)識(shí)符。此外,管理單元322指示許可證信息處理單元323使許可證計(jì)數(shù)遞增1,并且刪除作為使用許可證的許可目的地而管理的發(fā)出了該請(qǐng)求的客戶端的客戶端標(biāo)識(shí)符。
還存在停止來自當(dāng)前許可的客戶端110的更新請(qǐng)求并且在不進(jìn)行更新的情況下達(dá)到有效期限的許可證。如果識(shí)別出已經(jīng)達(dá)到其有效期限的許可證,則管理單元322判斷為所發(fā)出的許可證已到期,并且指示許可證信息處理單元323進(jìn)行與許可證被返還時(shí)所進(jìn)行的處理相同的處理。更具體地,在許可證已達(dá)到其有效期限的情況下,許可證信息處理單元323進(jìn)行用于使許可證計(jì)數(shù)遞增1并且刪除該到期的許可證所許可的客戶端的客戶端標(biāo)識(shí)符的處理。此時(shí),在應(yīng)用程序300上無法更新該許可證并且經(jīng)過了有效時(shí)間段T2,導(dǎo)致該許可證的到期以及許可證到期處理的執(zhí)行。
圖4示出浮動(dòng)許可證的獲取、更新和到期的一個(gè)示例。
進(jìn)行如下假定:在接收到啟動(dòng)請(qǐng)求時(shí)(時(shí)刻p1),應(yīng)用程序300連接至許可證服務(wù)器120以請(qǐng)求許可證,并且獲取有效時(shí)間段T2(例如,10分鐘)內(nèi)有效的許可證L1。在經(jīng)過了時(shí)間間隔T1(例如,3分鐘)之后(時(shí)刻p2),應(yīng)用程序300再次請(qǐng)求許可證,以更新許可證L1。如果應(yīng)用程序300可以連接至許可證服務(wù)器120,則在許可證服務(wù)器120上進(jìn)行用于更新許可證的處理,并且應(yīng)用程序300從許可證服務(wù)器120獲取有效時(shí)間段T2內(nèi)有效的許可證L2。如果獲取到許可證L2,則利用許可證L2來覆蓋上述許可證L1。在進(jìn)一步經(jīng)過了時(shí)間間隔T1之后(時(shí)刻p3),應(yīng)用程序300再次請(qǐng)求許可證以更新許可證L2。如果能夠連接至許可證服務(wù)器120,則應(yīng)用程序300可以從許可證服務(wù)器120獲取有效時(shí)間段T2內(nèi)有效的許可證L3,由此以相同的方式來利用許可證L3覆蓋上述許可證L2并且更新許可證。之后,只要更新成功,有效期限就繼續(xù)得以延長(zhǎng)。
另一方面,假設(shè)在時(shí)刻p3更新了許可證之后客戶端110從網(wǎng)絡(luò)100斷開,則在時(shí)刻p4、時(shí)刻p5和時(shí)刻p6用以更新許可證的請(qǐng)求失敗。然后,一旦許可證L3的有效期限到來,則許可證L3到期,由此應(yīng)用程序300進(jìn)行許可證到期處理(例如,施加功能限制)。此時(shí),許可證服務(wù)器120同樣判斷為許可證L3的有效期限到來,并且將發(fā)出至該客戶端的許可證恢復(fù)至許可證池324??梢栽诮?jīng)過了特定時(shí)間段時(shí)或在特定時(shí)刻到來時(shí)、或者在通信失敗了特定次數(shù)時(shí),判斷有效期限。
與切換賬戶環(huán)境時(shí)的許可證更新有關(guān)的處理
圖5示出在具有用于切換賬戶環(huán)境的功能的客戶端110上應(yīng)用程序300所進(jìn)行的與許可證的更新有關(guān)的處理流程。
在輸入單元301接收到用以啟動(dòng)應(yīng)用程序300的請(qǐng)求的情況下,在步驟S501中,許可證請(qǐng)求發(fā)送單元304連接至許可證服務(wù)器120,并且發(fā)出用以獲取許可證的請(qǐng)求(有效時(shí)間段T2)。在步驟S502中,管理單元302判斷許可證請(qǐng)求發(fā)送單元304的許可證獲取是成功還是失敗。如果許可證請(qǐng)求發(fā)送單元304的許可證獲取失敗(步驟S502中為“否”),則處理進(jìn)入步驟S503。如果許可證請(qǐng)求發(fā)送單元304的許可證獲取成功(步驟S502中為“是”),則處理進(jìn)入步驟S504。在步驟S503中,管理單元302進(jìn)行許可證請(qǐng)求發(fā)送單元304的許可證獲取失敗時(shí)所要進(jìn)行的處理,諸如進(jìn)行控制以不啟動(dòng)應(yīng)用程序300并且向用戶通知該消息等。然后,處理結(jié)束。
如果許可證請(qǐng)求發(fā)送單元304的獲取成功(步驟S502中為“是”),則處理進(jìn)入步驟S504。在步驟S504中,管理單元302指示處理執(zhí)行單元303啟動(dòng)應(yīng)用程序300。之后,在步驟S505中,管理單元302指示許可證更新處理單元305開始用于定期更新許可證的處理(許可證定期更新處理)。
現(xiàn)在,將說明許可證更新處理單元305所進(jìn)行的許可證定期更新處理的流程。在從管理單元302指示開始定期更新處理時(shí),許可證更新處理單元305進(jìn)行步驟S511~S514的處理。許可證更新處理單元305在步驟S511和S514之間的循環(huán)內(nèi)重復(fù)步驟S512(發(fā)出用以獲取許可證的請(qǐng)求)和S513(等待)的處理,直到從管理單元302指示停止定期更新處理為止。在步驟S511和S514的循環(huán)記號(hào)中,許可證更新處理單元305判斷是否從管理單元302指示許可證更新處理單元305停止定期更新處理,并且存在用以在判斷為指示了許可證更新處理單元305停止定期更新處理的情況下結(jié)束定期更新處理的循環(huán)處理。在步驟S512中,許可證請(qǐng)求發(fā)送單元304連接至許可證服務(wù)器120并且發(fā)出用以獲取有效時(shí)間段T2內(nèi)有效的許可證的請(qǐng)求(即,用以更新許可證的請(qǐng)求)。如果獲取到許可證,則利用所獲取到的該許可證來覆蓋許可證,這使得許可證的有效期限延長(zhǎng)。在步驟S513中,許可證更新處理單元305等待與時(shí)間間隔T1相對(duì)應(yīng)的時(shí)間段。重復(fù)執(zhí)行步驟S512和S513的處理使得每當(dāng)經(jīng)過了時(shí)間間隔T1時(shí)發(fā)出用以獲取有效時(shí)間段T2內(nèi)有效的許可證的請(qǐng)求(用以更新許可證的請(qǐng)求)。步驟S511~S514的定期更新處理根據(jù)來自管理單元302的開始指示而開始,并且根據(jù)來自管理單元302的停止指示而停止。
在步驟S521中,管理單元302判斷許可證的有效期限是否到期。如果有效期限到期(步驟S521中為“是”),則處理進(jìn)入步驟S522。如果有效期限尚未到期(步驟S521中為“否”),則處理進(jìn)入步驟S523。此時(shí),在許可證定期更新處理成功更新許可證(步驟S511~S514)期間,許可證的有效期限繼續(xù)延長(zhǎng),由此該情況使得進(jìn)入步驟S523。
在步驟S522中,管理單元302進(jìn)行許可證到期時(shí)所要進(jìn)行的處理(許可證到期處理)。此時(shí),管理單元302指示許可證更新處理單元305結(jié)束定期更新,并且對(duì)應(yīng)用程序300的功能施加限制。此時(shí),管理單元302可以進(jìn)行諸如向用戶顯示表示到期的消息等的處理,以促使用戶關(guān)閉應(yīng)用程序300。
接著,將說明在客戶端110的OS上切換賬戶環(huán)境的情況下所進(jìn)行的處理。可以從例如來自O(shè)S的事件信息中獲取是否切換賬戶以及與激活賬戶或非激活賬戶各自有關(guān)的信息。
在步驟S523中,管理單元302判斷(檢測(cè))賬戶環(huán)境是否從執(zhí)行本應(yīng)用程序300的賬戶切換成其它用戶的賬戶。如果賬戶環(huán)境被切換(步驟S523中為“是”),則處理進(jìn)入步驟S524。如果賬戶環(huán)境未被切換(步驟S523中為“否”),則處理進(jìn)入步驟S526。在步驟S524中,管理單元302指示許可證更新處理單元305停止許可證定期更新處理。步驟S525的處理將在以下的第二典型實(shí)施例中進(jìn)行說明,并且在第一典型實(shí)施例中跳過。
在步驟S526中,管理單元302判斷(檢測(cè))賬戶環(huán)境在客戶端110的OS上是否從其它用戶的賬戶切換成執(zhí)行本應(yīng)用程序300的賬戶。如果賬戶環(huán)境被切換(步驟S526中為“是”),則處理進(jìn)入步驟S527。如果賬戶環(huán)境未被切換(步驟S526中為“否”),則處理進(jìn)入步驟S521。在步驟S527中,管理單元302再次開始許可證定期更新處理(步驟S511~S514的處理),并且啟動(dòng)在切換后的賬戶環(huán)境下正執(zhí)行的應(yīng)用程序300。此時(shí),該情況還使得在切換后的賬戶環(huán)境下激活桌面畫面。
接著,將參考圖6所示的時(shí)序圖來說明賬戶環(huán)境被切換時(shí)的許可證處理的流程。
首先,在用戶A的賬戶上指示啟動(dòng)應(yīng)用程序300時(shí)(時(shí)刻p1),在步驟S501中,應(yīng)用程序300請(qǐng)求許可證。如果應(yīng)用程序300成功獲取到有效時(shí)間段T2內(nèi)有效的許可證L1(步驟S502中為“是”),則在步驟S504中,啟動(dòng)應(yīng)用程序300。此時(shí),在步驟S505中,應(yīng)用程序300開始許可證定期更新處理。然后,在步驟S512中,應(yīng)用程序300進(jìn)行許可證定期更新處理,以獲取許可證L2,并且在時(shí)刻p2利用許可證L2來更新許可證L1。
之后,如果在作為定期更新時(shí)刻的時(shí)刻p3之前賬戶被切換成用戶B的賬戶(步驟S523中為“是”),則在步驟S524中,應(yīng)用程序300停止針對(duì)用戶A的賬戶上正執(zhí)行的應(yīng)用程序300的許可證定期更新處理。
之后,如果在許可證L2的有效期限(p2+T2)到來之前的時(shí)刻p4賬戶再次被切換成用戶A的賬戶(步驟S526中為“是”),則在步驟S527中,應(yīng)用程序300再次開始許可證定期更新。然后,在步驟S512中,應(yīng)用程序300獲取許可證L4以更新許可證。
另一方面,如果在賬戶在被切換成用戶B之后未被切換成用戶A的情況下許可證L2的有效期限(p2+T2)已到來(步驟S521中為“是”),則在步驟S522中,應(yīng)用程序300進(jìn)行許可證到期處理。
如上所述,在具有多賬戶功能的客戶端110的OS上,可以防止許可證被在非激活賬戶環(huán)境下正執(zhí)行的應(yīng)用程序300保持持有較長(zhǎng)時(shí)間段。此外,即使在賬戶環(huán)境被切換的情況下,也將許可證保持持有特定時(shí)間段而不是立即返還,這使得在用戶使賬戶環(huán)境馬上返回至原本的賬戶環(huán)境以重新開始利用該應(yīng)用程序300的作業(yè)的情況下用戶能夠迅速重新開始作業(yè),從而提高便利性。
在第一典型實(shí)施例中,直到用戶A的許可證到期為止的寬限期(grace period)在一定程度上根據(jù)賬戶被切換的定時(shí)而改變。更具體地,如果賬戶緊挨在定期更新之后(例如,緊挨在圖6所示的時(shí)刻p2之后)被切換,則幾乎完全保持了直到到期為止的時(shí)間段T2(例如,10分鐘)。然而,如果賬戶緊挨在下一定期更新時(shí)刻之前(例如,緊挨在圖6所示的時(shí)刻p3之前)被切換,則直到到期為止的剩余時(shí)間段僅是時(shí)間段T2-時(shí)間間隔T1(例如,10分鐘-3分鐘=7分鐘)。直到許可證到期為止的寬限期的變化根據(jù)時(shí)間段T1和T2的設(shè)置而增大。換句話說,在不使應(yīng)用程序300的許可證到期的情況下用戶可以將賬戶環(huán)境返回至原本的賬戶環(huán)境的寬限期中,不期望地發(fā)生變化。
因此,在第二典型實(shí)施例中,應(yīng)用程序300被配置為在賬戶被切換時(shí)停止定期更新的時(shí)間點(diǎn)再次獲取許可證,由此即使在賬戶被切換的定時(shí)存在差異的情況下,也在不使應(yīng)用程序300的許可證到期的情況下用戶可以將賬戶環(huán)境返回至原本的賬戶環(huán)境的寬限期中維持一致性。
現(xiàn)在,將參考圖5所示的流程圖以及圖7所示的時(shí)序圖來說明與第一典型實(shí)施例的差別。以下未特別說明的處理是與第一典型實(shí)施例同樣的處理。
在時(shí)刻p1指示在用戶A的賬戶上啟動(dòng)應(yīng)用程序300時(shí),在步驟S501中,應(yīng)用程序300發(fā)出用以獲取許可證的請(qǐng)求。如果應(yīng)用程序300成功獲取到許可證L1(步驟S502中為“是”),則處理進(jìn)入步驟S504。在步驟S504中,啟動(dòng)應(yīng)用程序300。在步驟S512中,在時(shí)刻p2,應(yīng)用程序300進(jìn)行許可證定期更新處理以獲取許可證L2,并且利用許可證L2來更新許可證L1。之后,如果賬戶在作為定期更新時(shí)刻的時(shí)刻p3之前的時(shí)刻p2’被切換成用戶B(步驟S523中為“是”),則處理進(jìn)入步驟S524。在步驟S524中,應(yīng)用程序300停止針對(duì)用戶A的賬戶上正執(zhí)行的應(yīng)用程序300的定期更新處理。在第二典型實(shí)施例中,在步驟S525中,在該時(shí)間點(diǎn),應(yīng)用程序300進(jìn)一步發(fā)出用以獲取時(shí)間段T2內(nèi)有效的許可證的請(qǐng)求。在圖7中,在步驟S525中,應(yīng)用程序300在時(shí)刻p2’發(fā)出用以獲取許可證L3的請(qǐng)求。如果此時(shí)應(yīng)用程序300成功獲取到許可證L3,則對(duì)于用戶而言,時(shí)間段T2保持為從賬戶被切換成用戶B時(shí)開始直到許可證L3到期為止的剩余時(shí)間段(寬限期)。
這樣,用戶可以與許可證定期更新處理處于執(zhí)行中的情況下切換賬戶的時(shí)刻無關(guān)地,確保許可證在預(yù)定時(shí)間段T2期間保持有效。因此,根據(jù)第二典型實(shí)施例,在不使應(yīng)用程序300的許可證到期的情況下用戶可以將賬戶環(huán)境返回至原本的賬戶環(huán)境的寬限期中,不會(huì)發(fā)生變化。
在第二典型實(shí)施例中,將時(shí)間段T2(例如,10分鐘)賦予為在不使許可證到期的情況下用戶可以將賬戶環(huán)境返回至原本的賬戶環(huán)境的寬限期。另一方面,首先,將時(shí)間段T2設(shè)置為從與網(wǎng)絡(luò)100斷開或者轉(zhuǎn)換成睡眠模式的狀態(tài)開始直到恢復(fù)客戶端110為止的寬限期,因此作為用于賬戶切換的寬限期,時(shí)間段T2可能太短。例如,進(jìn)行如下假設(shè):僅在用戶A離開用戶A的桌子30分鐘期間,用戶A讓用戶B使用客戶端PC,之后,當(dāng)用戶A返回時(shí)期望立即繼續(xù)進(jìn)行使用相應(yīng)的應(yīng)用程序300的作業(yè),在這種情況下,10分鐘的有效時(shí)間段是不足的。
因此,在第三典型實(shí)施例中,賦予用于切換賬戶的寬限期T3(比T2長(zhǎng)的時(shí)間段,諸如30分鐘等)。在本典型實(shí)施例中,許可證的有效時(shí)間段T3是系統(tǒng)特有的值,并且在發(fā)出針對(duì)許可證的請(qǐng)求的情況下無法改變。
現(xiàn)在,將參考圖8所示的時(shí)序圖以及圖5和圖9所示的流程圖來說明與第二典型實(shí)施例的差別。在圖9中,與圖5中的流程圖相比,替換了步驟S521及隨后的步驟。以下不說明的處理是與第一典型實(shí)施例同樣的處理。
在時(shí)刻p1指示在用戶A的賬戶上啟動(dòng)應(yīng)用程序300時(shí),在步驟S501中,應(yīng)用程序300發(fā)出用以獲取許可證的請(qǐng)求。如果應(yīng)用程序300成功獲取到許可證L1(步驟S502中為“是”),則處理進(jìn)入步驟S504。在步驟S504中,啟動(dòng)應(yīng)用程序300。在步驟S512中,在時(shí)刻p2,應(yīng)用程序300進(jìn)行許可證定期更新處理以獲取許可證L2,并且利用許可證L2來更新許可證L1。之后,如果賬戶在作為定期更新時(shí)刻的時(shí)刻p3之前的時(shí)刻p2’被切換成用戶B(步驟S523中為“是”),則處理進(jìn)入步驟S701。在圖9所示的步驟S701中,應(yīng)用程序300啟動(dòng)計(jì)時(shí)器。計(jì)時(shí)器的計(jì)時(shí)器時(shí)間段T3a被設(shè)置成T3-T2。時(shí)間段T2與計(jì)時(shí)器時(shí)間段T3a相加等于時(shí)間段T3。
在步驟S526中,應(yīng)用程序300判斷賬戶是否從用戶B的賬戶切換成用戶A的賬戶。如果賬戶被切換(步驟S526中為“是”),則處理進(jìn)入步驟S702。如果賬戶未被切換(步驟S526中為“否”),則處理進(jìn)入步驟S704。在步驟S702中,應(yīng)用程序300重置許可證定期更新處理。然后,在隨后的步驟S703中,應(yīng)用程序300停止計(jì)時(shí)器。
在步驟S704中,應(yīng)用程序300判斷是否經(jīng)過了計(jì)時(shí)器時(shí)間段T3a。如果經(jīng)過了該計(jì)時(shí)器時(shí)間段T3a(步驟S704中為“是”),則處理進(jìn)入步驟S705。如果尚未經(jīng)過該計(jì)時(shí)器時(shí)間段T3a(步驟S704中為“否”),則處理進(jìn)入步驟S521。在步驟S705中,應(yīng)用程序300停止許可證定期更新處理。在步驟S706中,應(yīng)用程序300發(fā)出用以獲取許可證的請(qǐng)求,并且獲取有效時(shí)間段T2內(nèi)有效的許可證L5。換句話說,在賬戶被切換的情況下,步驟S704~S706的處理在經(jīng)過了預(yù)定時(shí)間段(經(jīng)過了計(jì)時(shí)器時(shí)間段T3a)之后進(jìn)行許可證的更新并且還停止許可證的定期更新。
在圖8中,如果賬戶在時(shí)刻p2’被切換成用戶B(步驟S523中為“是”),則處理進(jìn)入步驟S701。在步驟S701中,應(yīng)用程序300使計(jì)時(shí)器開始對(duì)計(jì)時(shí)器時(shí)間段T3a進(jìn)行計(jì)時(shí)。在步驟S511~S514中,應(yīng)用程序300繼續(xù)許可證定期更新處理并且保持持有許可證,直到經(jīng)過了計(jì)時(shí)器時(shí)間段T3a為止。
之后,在應(yīng)用程序300在賬戶未被切換成用戶A的情況下判斷為經(jīng)過了計(jì)時(shí)器時(shí)間段T3a時(shí)(時(shí)刻p5)(步驟S704中為“是”),處理進(jìn)入步驟S705。在步驟S705中,應(yīng)用程序300停止許可證定期更新處理。然后,在步驟S706中,應(yīng)用程序300發(fā)出用以獲取許可證的請(qǐng)求。如果此時(shí)應(yīng)用程序300成功獲取到許可證L5,則對(duì)于用戶而言,時(shí)間段T2保持為從時(shí)刻p5開始直到許可證到期為止的時(shí)間段,這意味著對(duì)于用戶而言,時(shí)間段T3保持為從賬戶被切換成用戶B時(shí)(時(shí)刻p2’)開始直到用戶A的賬戶上正執(zhí)行的應(yīng)用程序300的許可證到期為止的時(shí)間段。
此外,如果賬戶在計(jì)時(shí)器處于工作中的情況下從用戶B切換成用戶A(步驟S526中為“是”),則在步驟S702中應(yīng)用程序300重置許可證定期更新處理,并且在步驟S703中使計(jì)時(shí)器停止對(duì)計(jì)時(shí)器時(shí)間段T3a進(jìn)行計(jì)時(shí)。如果在步驟S702中應(yīng)用程序300請(qǐng)求定期更新處理的重置,則即使在許可證定期更新處理執(zhí)行中的情況下發(fā)出該請(qǐng)求也不存在問題。如果在步驟S705中停止了許可證定期更新處理之后賬戶從用戶B切換成用戶A(步驟S526中為“是”),則處理進(jìn)入步驟S702。在步驟S702中,應(yīng)用程序300再次開始許可證定期更新處理。在步驟S703中,如果應(yīng)用程序300請(qǐng)求用于使計(jì)時(shí)器停止對(duì)計(jì)時(shí)器時(shí)間段T3a進(jìn)行計(jì)時(shí)的處理,則即使在經(jīng)過了計(jì)時(shí)器時(shí)間段T3a之后發(fā)出該請(qǐng)求也不存在問題。在任一情況下,如果在時(shí)刻(p2’+T3)到來之前賬戶從用戶B切換成用戶A,則利用許可證L6來更新用戶A的賬戶上正執(zhí)行的應(yīng)用程序300的許可證,這使得在不使許可證到期的情況下用戶A能夠繼續(xù)進(jìn)行處理。
如上所述,本典型實(shí)施例可以設(shè)置時(shí)間段T3作為用于切換賬戶的寬限期,由此提高了便利性,其中該時(shí)間段T3比被設(shè)置為與網(wǎng)絡(luò)100斷開和睡眠模式所用的寬限期的系統(tǒng)的固有時(shí)間段T2長(zhǎng)。
在許可證系統(tǒng)以許可證的有效時(shí)間段沒有固定為T2而在發(fā)出用以獲取許可證的請(qǐng)求時(shí)可改變的方式進(jìn)行配置的情況下,還可以通過以下處理流程來實(shí)現(xiàn)有效時(shí)間段T3的設(shè)置。
還可以在賬戶在時(shí)刻p2’被切換時(shí),通過修改根據(jù)第二典型實(shí)施例的處理以請(qǐng)求有效時(shí)間段T3內(nèi)有效的許可證而不是請(qǐng)求有效時(shí)間段T2內(nèi)有效的許可證,來實(shí)現(xiàn)同樣的效果。更具體地,將圖5所示的步驟S525中發(fā)出的針對(duì)有效時(shí)間段T2內(nèi)有效的許可證的請(qǐng)求修改成如圖10所示的步驟S711那樣發(fā)出。
該修改使得即使在不使用計(jì)時(shí)器的情況下也將時(shí)間段T3確保為從賬戶被切換成用戶B時(shí)開始直到許可證到期為止的時(shí)間段。
此外,時(shí)間段T3可以以基于來自用戶的指示而能夠改變時(shí)間段T3的設(shè)置的方式來進(jìn)行配置。該能夠改變的設(shè)置使得客戶端110能夠切換在針對(duì)各用戶切換賬戶時(shí)所采用的寬限期,從而進(jìn)一步提高便利性。
本發(fā)明不僅可以應(yīng)用于賬戶被切換時(shí)的情況,而且還可以應(yīng)用于轉(zhuǎn)換成屏幕保護(hù)或密碼保護(hù)畫面以及從屏幕保護(hù)或密碼保護(hù)畫面恢復(fù)的情況。
在第一典型實(shí)施例~第三典型實(shí)施例中,說明了在賬戶的切換觸發(fā)了特定用戶環(huán)境的非激活的情況下所進(jìn)行的處理。另一方面,轉(zhuǎn)換成屏幕保護(hù)或密碼保護(hù)畫面還使得用戶環(huán)境的非激活,并且使得用戶無法操作應(yīng)用程序300。因此,在第四典型實(shí)施例中,可以根據(jù)轉(zhuǎn)換成屏幕保護(hù)模式或密碼保護(hù)畫面模式以及從屏幕保護(hù)模式或密碼保護(hù)畫面模式恢復(fù)的檢測(cè)而不是第一典型實(shí)施例~第三典型實(shí)施例中所進(jìn)行的賬戶的切換的檢測(cè),來進(jìn)行同樣的處理。
更具體地,在步驟S523中,應(yīng)用程序300判斷是否由于轉(zhuǎn)換成屏幕保護(hù)或密碼保護(hù)畫面而使得賬戶環(huán)境成為非激活。此外,在步驟S526中,應(yīng)用程序300判斷是否由于從屏幕保護(hù)或密碼保護(hù)畫面恢復(fù)而使得賬戶環(huán)境成為激活。該處理還可以以與切換賬戶時(shí)的許可證管理同樣的方式來實(shí)現(xiàn)轉(zhuǎn)換成屏幕保護(hù)或密碼保護(hù)畫面時(shí)的許可證的有效管理。
本發(fā)明可以應(yīng)用于向著睡眠狀態(tài)或休眠狀態(tài)的狀態(tài)轉(zhuǎn)換。
在客戶端110的系統(tǒng)進(jìn)入睡眠或休眠狀態(tài)的情況下,之后停止用于自動(dòng)更新許可證的處理。然后,從系統(tǒng)進(jìn)入睡眠或休眠狀態(tài)時(shí)起直到許可證到期為止的寬限期根據(jù)最后獲取到許可證的定時(shí)而改變。這還使得寬限期以與第二典型實(shí)施例同樣的方式發(fā)生改變。
因此,在第五典型實(shí)施例中,應(yīng)用程序300在一旦檢測(cè)到向著睡眠或休眠狀態(tài)的狀態(tài)轉(zhuǎn)換的時(shí)間點(diǎn)就獲取許可證。該處理可以確保作為預(yù)定時(shí)間段的寬限期T2(或T3)。
此外,還可以與許可證是否覆蓋以客戶端為單位的范圍或者以用戶為單位的范圍無關(guān)地應(yīng)用本發(fā)明。以客戶端為單位的許可證是如下這樣的許可證:在該客戶端上僅存在一個(gè)許可證使得能夠從全部用戶賬戶啟動(dòng)應(yīng)用程序。此外,以用戶為單位的許可證是如下這樣的許可證:應(yīng)當(dāng)針對(duì)各用戶獲取該許可證,并且在一個(gè)客戶端上存在多個(gè)用戶賬戶的情況下,這多個(gè)用戶各自需要該許可證。
此外,還可以與自動(dòng)更新處理是運(yùn)行為用戶處理還是系統(tǒng)處理無關(guān)地應(yīng)用本發(fā)明。通常,作為應(yīng)用程序的一部分運(yùn)行的處理經(jīng)常是用戶處理。然而,同一客戶端上的不同用戶賬戶期望共同使用的處理還可以通過作為執(zhí)行文件與應(yīng)用程序分離而作為系統(tǒng)處理(服務(wù))進(jìn)行動(dòng)作。即使在這種情況下,也可以應(yīng)用本發(fā)明。
在許可證覆蓋以客戶端為單位的范圍并且自動(dòng)更新處理作為系統(tǒng)處理進(jìn)行動(dòng)作的情況下,由于在這種情況下使用同一應(yīng)用程序300時(shí)客戶端110中的多個(gè)用戶可以在用戶之間共享單個(gè)許可證,因此是便利的。然而,會(huì)產(chǎn)生以下問題。
進(jìn)行如下假設(shè):用戶A執(zhí)行應(yīng)用程序300并獲取許可證,并且在期待持續(xù)時(shí)間段T2(或T3)的寬限期的情況下將賬戶改變成用戶B。如果立即啟動(dòng)同一應(yīng)用程序300,則用戶B可以繼續(xù)使用用戶A所獲取到的許可證。之后,如果用戶B在短時(shí)間段內(nèi)使用了該許可證之后關(guān)閉應(yīng)用程序300的情況下返還該許可證,則這導(dǎo)致如下:即使在賬戶環(huán)境返回至用戶A的情況下用戶A在經(jīng)過預(yù)期寬限期T2(或T3)之前重新開始作業(yè),也由于用戶B所進(jìn)行的操作而導(dǎo)致許可證已經(jīng)返還。這對(duì)于用戶A而言是不便利的。
因此,在第六典型實(shí)施例中,各應(yīng)用程序300確認(rèn)在啟動(dòng)時(shí)是否已經(jīng)獲取到許可證。如果已經(jīng)獲取到許可證,則應(yīng)用程序300預(yù)先獲取該許可證的有效期限,并且進(jìn)行控制以在上述有效期限之前用戶B關(guān)閉了應(yīng)用程序300的情況下不返還該許可證直到上述有效期限為止。
即使用戶B關(guān)閉了應(yīng)用程序300,在用戶A重新開始作業(yè)的情況下,該處理也使得用戶A在預(yù)期的寬限期T2或T3期間持有該許可證,從而提高了便利性。
其它實(shí)施例
本發(fā)明的實(shí)施例還可以通過如下的方法來實(shí)現(xiàn),即,通過網(wǎng)絡(luò)或者各種存儲(chǔ)介質(zhì)將執(zhí)行上述實(shí)施例的功能的軟件(程序)提供給系統(tǒng)或裝置,該系統(tǒng)或裝置的計(jì)算機(jī)或是中央處理單元(CPU)、微處理單元(MPU)讀出并執(zhí)行程序的方法。
盡管已經(jīng)參考典型實(shí)施例說明了本發(fā)明,但是應(yīng)該理解,本發(fā)明不局限于所公開的典型實(shí)施例。所附權(quán)利要求書的范圍符合最寬的解釋,以包含所有這類修改、等同結(jié)構(gòu)和功能。