亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

監(jiān)控演示評(píng)價(jià)軟件運(yùn)行時(shí)間使用的方法

文檔序號(hào):6577513閱讀:569來源:國知局
專利名稱:監(jiān)控演示評(píng)價(jià)軟件運(yùn)行時(shí)間使用的方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及計(jì)算機(jī)軟件領(lǐng)域,具體涉及監(jiān)控演示(“demo”)評(píng)價(jià)軟件運(yùn)行時(shí)間使用的方法。
在當(dāng)今的商業(yè)環(huán)境下,允許潛在用戶在購買新的軟件包之前試用或評(píng)價(jià)該軟件是非常有益的。通常,軟件供應(yīng)商給潛在用戶提供演示或評(píng)價(jià)軟件包,該軟件包代表所購買的實(shí)際軟件。給予用戶一個(gè)預(yù)定的時(shí)間期間去評(píng)價(jià)該軟件,在此之后,演示軟件的使用必須終止,除非供應(yīng)商給予該用戶一個(gè)延長期或該用戶購買實(shí)際的軟件。
有時(shí),演示軟件是實(shí)際軟件包的簡化版本。就是說,演示軟件缺少實(shí)際軟件包中提供的某些功能。其作用是“誘餌”以慫恿用戶購買。有時(shí),可能需要提供實(shí)際軟件包作為演示軟件包??傊脩艚邮諏?shí)際軟件的工作版本,必須小心以保證在不購買軟件的情況下,在評(píng)價(jià)期間終止以后,用戶不能保存和繼續(xù)使用這個(gè)演示軟件。
已提出過幾種方法以限制演示軟件的使用。通常,這些方法是使該軟件在評(píng)價(jià)期間終止以后不能再使用(即,他們采用“演示超時(shí)”)。例如,一種方法是基于使用演示軟件的次數(shù)而提供超時(shí)。這是通過確定使用演示軟件開始之后的次數(shù)實(shí)現(xiàn)的。另一種方法是利用相對(duì)于軟件包安裝日期確定暫停使用。
這些方法不是沒有缺點(diǎn)的。例如,暫停使用并不是根據(jù)實(shí)際的運(yùn)行時(shí)間使用。就是說,這些方法并不監(jiān)控或確定用戶演示軟件包的實(shí)際使用。在基于日期的方法中,用戶可以安裝演示軟件包,但是,一直到以后的日期才有機(jī)會(huì)評(píng)價(jià)該軟件。因此,用戶的評(píng)價(jià)時(shí)間大大地減少了。此外,用戶可以在運(yùn)行演示程序的計(jì)算機(jī)上倒退系統(tǒng)日期,因此,欺騙該軟件在超出演示期間之外運(yùn)行。在基于軟件包開始之后次數(shù)的方法中,用戶可以啟動(dòng)該程序一次,讓它連續(xù)地運(yùn)行,不再重新啟動(dòng),因此,延長了演示期間。與此相反,若程序系統(tǒng)發(fā)生崩潰,要求用戶重新啟動(dòng)演示程序,則減少了使用時(shí)間?;谘菔拒浖?shí)際運(yùn)行時(shí)間使用的演示暫停方法可以減輕這些缺點(diǎn)。所以,需要和渴望一種基于實(shí)際運(yùn)行時(shí)間使用的監(jiān)控演示軟件使用的方法。
有時(shí),要求供應(yīng)商在原先的期間之外延長演示期間。往往,用戶沒有機(jī)會(huì)充分地評(píng)價(jià)演示軟件包。通常,其中部分原因是由于用戶缺乏使用軟件包的經(jīng)驗(yàn)。然而,用戶有時(shí)候把注意力集中到其他的事情上,或根本不可能在分配的期間內(nèi)評(píng)價(jià)該軟件。于是,迫使用戶與供應(yīng)商聯(lián)系,以便得到一個(gè)有新評(píng)價(jià)期間的新演示軟件包。這就可能承擔(dān)運(yùn)輸整個(gè)新副本演示軟件的費(fèi)用,并要求用戶安裝這個(gè)新副本。這對(duì)于供應(yīng)商和用戶來說都是不方便和低效率的。所以,需要和渴望一種簡單,高效和方便的方式延長演示軟件評(píng)價(jià)期間的方法。
本發(fā)明提供一種基于實(shí)際運(yùn)行時(shí)間使用的監(jiān)控演示軟件使用的方法。
本發(fā)明還提供一種簡單,高效和方便的方式延長演示軟件評(píng)價(jià)期間的方法,而同時(shí)允許供應(yīng)商監(jiān)控和保持運(yùn)行時(shí)間使用的統(tǒng)計(jì)數(shù)據(jù)。
本發(fā)明以上和其他的特征和優(yōu)點(diǎn)是通過在執(zhí)行軟件程序期間監(jiān)控CPU(“計(jì)算機(jī)處理單元”)的時(shí)鐘信號(hào)獲得的。在周期性基礎(chǔ)上執(zhí)行程序的整個(gè)過程中,監(jiān)控時(shí)鐘信號(hào),并更新經(jīng)過的運(yùn)行時(shí)間。經(jīng)過的運(yùn)行時(shí)間存儲(chǔ)在隱式文件或軟件注冊(cè)(數(shù)據(jù)庫)內(nèi)的密鑰中。即使在程序崩潰的情況下,周期性基礎(chǔ)上更新運(yùn)行時(shí)間保證準(zhǔn)確的跟蹤運(yùn)行時(shí)間使用,允許用戶重新啟動(dòng)該程序而不會(huì)損失運(yùn)行時(shí)間。軟件包可以繼續(xù)運(yùn)行,直至經(jīng)過的運(yùn)行時(shí)間超過預(yù)定的評(píng)價(jià)時(shí)間;此時(shí),在用戶注冊(cè)軟件包之前,該軟件包完全地或部分地被禁止。不同于隱藏跟蹤文件或注冊(cè)的方法是,利用萬維網(wǎng)(World Wide Web)推入/拉出方法在軟件供應(yīng)商現(xiàn)場(chǎng)存儲(chǔ)運(yùn)行時(shí)間信息,允許供應(yīng)商在每次使用付款的基礎(chǔ)上改變?cè)u(píng)價(jià)期間。
根據(jù)以下給出本發(fā)明幾個(gè)優(yōu)選實(shí)施例的詳細(xì)描述并參照附圖,可以更清楚地了解本發(fā)明以上和其他的優(yōu)點(diǎn)和特征,在這些附圖中

圖1表示按照本發(fā)明建立跟蹤文件的流程圖形式典型方法;
圖2表示本發(fā)明方法所采用的典型跟蹤文件;圖3a和3b表示按照本發(fā)明一個(gè)實(shí)施例監(jiān)控演示軟件使用的流程圖形式典型方法;圖4表示可以實(shí)行本發(fā)明方法的基于處理器的系統(tǒng);圖5表示用戶與軟件供應(yīng)商之間通過因特網(wǎng)的連接;和圖6表示按照本發(fā)明另一個(gè)實(shí)施例監(jiān)控演示軟件使用的流程圖形式典型方法。
本發(fā)明適用于跟蹤軟件程序的實(shí)際運(yùn)行時(shí)間使用,且特別適用于跟蹤演示程序的實(shí)際運(yùn)行時(shí)間使用,演示程序通常有受限制的評(píng)價(jià)時(shí)間。雖然,此處描述的本發(fā)明是參照演示軟件程序或軟件包,應(yīng)當(dāng)理解,本發(fā)明也適用于任何的軟件應(yīng)用程序,其中要求或需要監(jiān)控運(yùn)行時(shí)間使用。
圖1表示按照本發(fā)明建立跟蹤文件的流程圖形式典型方法10。圖2表示典型的跟蹤文件。如圖所示,跟蹤文件包括三個(gè)項(xiàng)目運(yùn)行時(shí)間使用,終止符和寄存標(biāo)識(shí)符(ID)。應(yīng)當(dāng)注意,寄存ID項(xiàng)目是任選的(以下描述)。運(yùn)行時(shí)間使用項(xiàng)目包括用戶累積的演示運(yùn)行時(shí)間使用(即,經(jīng)過時(shí)間)或它可以包括剩余的使用時(shí)間。例如,這個(gè)時(shí)間可以用秒或總時(shí)鐘報(bào)時(shí)信號(hào)表示。終止符項(xiàng)目通常包括對(duì)應(yīng)于運(yùn)行時(shí)間使用項(xiàng)目的編碼值(即,它是存儲(chǔ)在第一項(xiàng)目中運(yùn)行時(shí)間使用的函數(shù))。在解碼時(shí),存儲(chǔ)在終止符項(xiàng)目中的值必須與存儲(chǔ)在運(yùn)行時(shí)間使用項(xiàng)目中的值一致,否則程序執(zhí)行被終止(以下給出更詳細(xì)的解釋)。寄存ID項(xiàng)目可以包括代表合法寄存ID的編碼值。如上所述,寄存ID不必駐留在跟蹤文件。相反,寄存ID可以硬編碼到演示程序中。如在以下參照?qǐng)D3a和3b時(shí)更詳細(xì)地描述的,本發(fā)明方法50所利用的跟蹤文件內(nèi)含信息跟蹤演示軟件程序的實(shí)際運(yùn)行時(shí)間使用,并作出判定是否應(yīng)該終止該程序。
再參照?qǐng)D1,在用戶計(jì)算機(jī)上(或在供應(yīng)商的站點(diǎn),如以下參照?qǐng)D5所討論的)安裝演示軟件程序時(shí),要求建立跟蹤文件。必須注意,用戶安裝接收演示程序的方式并不重要。例如,演示程序可以存儲(chǔ)在軟磁盤或CD-ROM(“只讀光盤存儲(chǔ)器”)上,通過因特網(wǎng)之類的網(wǎng)絡(luò),或任何其他適當(dāng)媒體從服務(wù)器計(jì)算機(jī)下載。此外,演示程序可以是壓縮文件,即,“zipped”或“stuffed”文件,需要利用實(shí)用程序解壓縮或“unzip”它,或演示程序可以是可執(zhí)行文件,在用戶啟動(dòng)以后自動(dòng)安裝。文件的類型是不重要的,只要可以按照方法10與跟蹤文件一起安裝演示程序。然而,為了簡化,術(shù)語“安裝盤”指的是包含安裝跟蹤文件和演示程序所需文件的媒體。類似地,術(shù)語“安裝程序”指的是利用安裝盤與跟蹤文件一起安裝演示程序所需的可執(zhí)行程序,實(shí)用程序,等等程序。
一旦用戶有了安裝盤,可以開始實(shí)施方法10。首先,在步驟12,用戶通過執(zhí)行安裝盤中的安裝程序啟動(dòng)演示程序的安裝。在安裝時(shí),演示程序文件放入到用戶硬驅(qū)動(dòng)器或合適容量的其他存儲(chǔ)媒體上正確目錄中(步驟14)。安裝程序還建立和初始化跟蹤文件所需要的信息(步驟16)。然后,該信息存儲(chǔ)在作為圖2所示跟蹤文件的隱式文件中(步驟18)?;蛘?,該信息可以存儲(chǔ)在本領(lǐng)域?qū)I(yè)人員熟知的軟件注冊(cè)中密鑰內(nèi)。一個(gè)要求是存儲(chǔ)的跟蹤信息能夠被演示程序訪問(參照以下圖3a和3b所描述的)。為了簡化,余下的描述涉及跟蹤文件,但是,應(yīng)當(dāng)明白,同樣的描述也適用于注冊(cè)。一旦建立了跟蹤文件和安裝好演示程序,就可以執(zhí)行本發(fā)明的方法。
圖3a和3b表示按照本發(fā)明一個(gè)實(shí)施例監(jiān)控演示軟件使用的典型方法50。我們要求,方法50中的步驟54至66和步驟100至108是在演示程序的啟動(dòng)/初始化過程之前或作為其中的一部分被執(zhí)行。應(yīng)當(dāng)注意,方法50中的步驟54至66和步驟100至108可以作為演示程序的獨(dú)立功能調(diào)用或與演示程序中其他的指令/功能一起被執(zhí)行。首先,用戶運(yùn)行演示程序(步驟52)。在運(yùn)行程序時(shí),打開跟蹤文件,運(yùn)行時(shí)間和其他編碼的跟蹤參數(shù)從該文件中讀出(步驟54)。所有編碼的參數(shù)被解碼。用于編碼/解碼參數(shù)的具體方法或工具是不重要的,可以利用任何商品化或?qū)S玫木幋a/解碼方法。如以下所描述的,這些參數(shù)與跟蹤文件互相交換,并不斷地由方法50進(jìn)行更新。
在步驟56,通過考察跟蹤文件是否為有效的注冊(cè)ID項(xiàng)目,該方法確定軟件是否已注冊(cè)。若該軟件已注冊(cè),即,在跟蹤文件中找到有效的注冊(cè)ID值,則方法50進(jìn)行到執(zhí)行正常演示程序的步驟66。否則,方法50確定演示程序的訪問是否已終止(步驟58)。這是通過比較解碼的終止符項(xiàng)目與預(yù)定的終止碼實(shí)現(xiàn)的。必須小心,防止隨機(jī)存儲(chǔ)器(RAM)中未加密的值被用普通的方式檢查。若終止符與終止碼一致,則演示程序的訪問已終止。當(dāng)程序訪問已終止時(shí),方法50進(jìn)行到終止演示程序(和方法50)訪問的步驟110。然而,若步驟58中確定程序訪問沒有終止,則方法50進(jìn)行到步驟60。
其次,方法50檢查是否用人工方法改變了跟蹤文件(步驟60)。這是通過檢查解碼的終止符項(xiàng)目和運(yùn)行時(shí)間使用項(xiàng)目值實(shí)現(xiàn)的。若這兩個(gè)值不一致,則用戶很可能用人工方法改變了運(yùn)行時(shí)間使用項(xiàng)目。由于用戶不知道終止符值是如何編碼的,該用戶就不能夠以類似于運(yùn)行時(shí)間使用項(xiàng)目的方法改變終止符,所以,很容易地檢測(cè)到欺詐。應(yīng)當(dāng)注意,如果得到保證,步驟58和60可以組合,因?yàn)檫@兩個(gè)步驟都與使用終止符項(xiàng)目有關(guān)。同樣,如果需要,也可以利用兩個(gè)分開的終止符項(xiàng)目。應(yīng)當(dāng)理解,把步驟58與步驟60分開,供應(yīng)商可以區(qū)分開已運(yùn)行完時(shí)間的誠實(shí)用戶和不誠實(shí)用戶,不誠實(shí)用戶試圖免費(fèi)和在沒有供應(yīng)商同意情況下延長評(píng)價(jià)時(shí)間。
若步驟60確定已用人工方法改變了跟蹤文件,則在步驟100中借助于跟蹤文件終止程序運(yùn)行時(shí)間訪問,且在步驟102還終止目前執(zhí)行的演示程序(和方法50)。就是說,與預(yù)定終止碼相關(guān)的特定編碼終止符寫入到跟蹤文件中,所以,在下一次執(zhí)行方法50和演示程序時(shí),該程序在步驟110被終止(如上描述)。否則,若步驟60確定跟蹤文件沒有被改變,則方法50通過檢查運(yùn)行時(shí)間使用項(xiàng)目計(jì)算到目前為止的運(yùn)行時(shí)間使用(步驟62)。如上所述,存儲(chǔ)在運(yùn)行時(shí)間使用項(xiàng)目中的值可以是時(shí)鐘信號(hào),秒或任何其他的運(yùn)行時(shí)間使用表示。因此,該項(xiàng)目可能需要轉(zhuǎn)換或快速計(jì)算以確定到目前為止演示程序?qū)嶋H的運(yùn)行時(shí)間使用。
在步驟64,確定運(yùn)行時(shí)間使用是否到期。即,運(yùn)行時(shí)間使用值是否大于預(yù)定的評(píng)價(jià)使用值。若確定運(yùn)行時(shí)間使用還沒有到期,則方法50進(jìn)行到執(zhí)行正常程序的步驟66。若確定運(yùn)行時(shí)間使用已經(jīng)到期,則在步驟104用戶得到一個(gè)注冊(cè)該程序的機(jī)會(huì)(即,購買該軟件)。若在步驟104確定用戶不要求注冊(cè)該程序,則在步驟108終止演示程序(和方法50)的執(zhí)行。
若在步驟104確定用戶要求注冊(cè)該演示程序,則該用戶能夠輸入注冊(cè)代碼。在步驟106,把輸入的代碼與存儲(chǔ)在演示程序或它的一個(gè)數(shù)據(jù)文件中的預(yù)定注冊(cè)ID進(jìn)行比較。若這兩個(gè)代碼一致,則注冊(cè)ID的編碼版本寫入到跟蹤文件(或供應(yīng)商的站點(diǎn)),且方法50進(jìn)行到執(zhí)行正常程序的步驟66。若這兩個(gè)代碼不一致,則該方法進(jìn)行到終止演示程序(和方法50)執(zhí)行的步驟108。與連續(xù)的循環(huán)過程不同,終止操作減小了找到正確代碼值之前用戶輸入任意編碼值的機(jī)會(huì)。
應(yīng)當(dāng)理解,可以用不同的方法完成注冊(cè)過程,不局限于以上描述的系列步驟。例如,本領(lǐng)域?qū)I(yè)人員知道,可以利用軟件保護(hù)器(dongles),智能卡,定時(shí)軟件保護(hù)器,密鑰盤,定時(shí)序列(無線電密鑰)和磁條閱讀器(例如,信用卡閱讀器)實(shí)行注冊(cè)。
參照?qǐng)D3b,連續(xù)跟蹤/更新運(yùn)行時(shí)間使用的嵌入式更新環(huán)路68是方法50的一部分。這個(gè)環(huán)路68嵌入在演示程序的基本主程序運(yùn)行中。在步驟70,若演示軟件沒有注冊(cè),則環(huán)路68更新運(yùn)行時(shí)間使用值,并把它寫入到跟蹤文件中。而且,此時(shí)終止符是代表運(yùn)行時(shí)間使用值的編碼值,該終止符也被更新,并寫入到該文件中。通過訪問執(zhí)行程序的CPU時(shí)鐘信號(hào),運(yùn)行時(shí)間使用被更新。訪問時(shí)鐘信號(hào)的方式取決于寫成方法50和演示程序所用的軟件語言。應(yīng)當(dāng)注意,使用的軟件語言或編譯程序是不重要的,只要能夠容易地確定演示程序開始執(zhí)行以后的CPU時(shí)鐘信號(hào)或CPU時(shí)間。
在本實(shí)施例中,我們要求環(huán)路68在每秒的基礎(chǔ)上(即,周期性地每秒執(zhí)行一次)連續(xù)地更新跟蹤文件。因此,把環(huán)路68并入到演示程序中,可以周期性地每秒執(zhí)行它一次。應(yīng)當(dāng)注意,1秒是所要求的更新速率,但可采用其他任何的速率(快些或慢些),且本發(fā)明不局限于任何特定的更新速率。還可以利用分開的過程,目標(biāo)或線程實(shí)施方法50,所以,它不會(huì)影響演示評(píng)價(jià)軟件的時(shí)間極限部分。
在步驟74,確定使用運(yùn)行時(shí)間是否已到期。即,運(yùn)行時(shí)間使用值是否大于預(yù)定評(píng)價(jià)使用值。若確定運(yùn)行時(shí)間使用沒有到期,則方法50進(jìn)行到步驟76的演示程序中主程序外殼/操作。有時(shí),在主程序操作期間,確定用戶是否希望借助于用戶啟動(dòng)的請(qǐng)求注冊(cè)演示程序(步驟78)。如上所述,環(huán)路68嵌入在演示程序內(nèi)。因此,實(shí)際上在何時(shí)和何處執(zhí)行步驟70至78是不重要的,只要這些步驟是在執(zhí)行演示程序的一些基本操作期間被執(zhí)行的,因此,可以使環(huán)路68準(zhǔn)確地檢測(cè),確定和更新實(shí)際的運(yùn)行時(shí)間使用。
若在步驟78中確定用戶不希望注冊(cè)該軟件,則方法50在步驟70中繼續(xù),等待另一次通過環(huán)路68。若在步驟78確定用戶希望注冊(cè)該程序,則該用戶就能輸入一個(gè)注冊(cè)代碼。在步驟80,把輸入的代碼與演示程序中的預(yù)定注冊(cè)ID進(jìn)行比較。若這兩個(gè)代碼一致,則利用注冊(cè)ID的編碼版本更新跟蹤文件,該編碼版本根本上禁止環(huán)路68監(jiān)控和更新運(yùn)行時(shí)間使用。然后,該方法50在步驟70中繼續(xù),等待另一次通過環(huán)路68,但如以上所提到的,由于不再執(zhí)行步驟72和74,環(huán)路68根本上被禁止。
若在步驟80確定輸入的注冊(cè)代碼與預(yù)定的代碼不一致,則方法50在步驟70中繼續(xù),等待另一次通過沒有被禁止的環(huán)路68。而且,要求每秒執(zhí)行該環(huán)路一次。請(qǐng)注意,可以增加一種檢查,確定用戶嘗試注冊(cè)演示軟件的次數(shù)。若用戶的嘗試次數(shù)已超過預(yù)定的嘗試次數(shù),該程序被終止(即,若用戶不正確地嘗試注冊(cè)演示超過預(yù)定的次數(shù),則方法50可以在步驟92中繼續(xù))。與連續(xù)的循環(huán)過程不同,終止操作減小了找到正確代碼值之前用戶輸入任意編碼值的機(jī)會(huì)。
若在步驟74確定運(yùn)行時(shí)間使用已經(jīng)到期,則方法50進(jìn)行到步驟90;在步驟90,確定用戶是否希望注冊(cè)演示程序。若用戶不希望注冊(cè)該程序,則方法50在步驟92中繼續(xù);在步驟92,終止演示程序(和方法50)的執(zhí)行。若在步驟90確定用戶希望注冊(cè)該程序,則該方法50在步驟80中繼續(xù)(如上所述)。
應(yīng)當(dāng)注意,方法50是執(zhí)行演示程序的一部分,或稱之為執(zhí)行演示程序的功能。因此,用戶的輸入,例如,注冊(cè)ID,應(yīng)當(dāng)適應(yīng)于演示程序的形式。因此,它們可以是鍵盤,鼠標(biāo)或其他類型的入口通路,且用戶輸入信息到方法50和演示中的方式是不重要的。
圖4表示基于處理器的系統(tǒng)200,在該系統(tǒng)中可以執(zhí)行本發(fā)明的方法50(圖3a和3b)。計(jì)算機(jī)系統(tǒng)200包括通過總線220與輸入/輸出(I/O)裝置210通信的中央處理單元(CPU)202。應(yīng)當(dāng)注意,只畫出單條總線220,但是,本領(lǐng)域?qū)I(yè)人員現(xiàn)在知道,它可以包括多于一條總線和總線橋。還畫出第二個(gè)I/O裝置214,但不是必需的。系統(tǒng)200還包括非易失性存儲(chǔ)器207,隨機(jī)存儲(chǔ)器(RAM)216,只讀存儲(chǔ)器(ROM)218,還可以包括諸如軟磁盤驅(qū)動(dòng)器204和CD-ROM驅(qū)動(dòng)器206的外圍設(shè)備,它們也是通過總線220與CPU 202通信。必須注意,系統(tǒng)200的具體結(jié)構(gòu)是不重要的,只要方法50可以在系統(tǒng)200中運(yùn)行,各種計(jì)算機(jī)兼用裝置的任何組合可以并入到系統(tǒng)200中。此外,實(shí)施方法50的CPU 202程序可以存儲(chǔ)在CD-ROM 210,軟磁盤208,硬驅(qū)動(dòng)器或能夠存儲(chǔ)程序的任何其他媒體。在執(zhí)行程序期間,在系統(tǒng)200中操作系統(tǒng)的控制下,該程序裝入到RAM 216,而跟蹤文件駐留在非易失性存儲(chǔ)器207中。本領(lǐng)域?qū)I(yè)人員知道,所有這些裝置都與CPU 202通信。
本領(lǐng)域一般專業(yè)人員都明白,CPU 202完成本發(fā)明方法所要求的邏輯和數(shù)學(xué)運(yùn)算,例如,數(shù)據(jù)操縱和比較,以及其他的算術(shù)和邏輯功能。本領(lǐng)域一般專業(yè)人員都明白,利用RAM 216存儲(chǔ)實(shí)施本發(fā)明方法所要求的數(shù)據(jù)和程序指令,RAM 216可以包括普通的隨機(jī)存儲(chǔ)器(RAM),大容量存儲(chǔ)器,或二者的組合。如上所述,可以利用非易失性存儲(chǔ)器207存儲(chǔ)跟蹤文件和在重新啟動(dòng)或電源故障之后保持其狀態(tài)所要求的任何其他信息。本領(lǐng)域一般專業(yè)人員都明白,I/O裝置212和214負(fù)責(zé)與系統(tǒng)200操作員的接口,例如,I/O裝置可以是鍵盤,鼠標(biāo),顯示器,等裝置,或者與硬驅(qū)動(dòng)器或其他裝置(未畫出)之類的外圍數(shù)據(jù)裝置一起接收或分配數(shù)據(jù)。
圖5表示用戶計(jì)算機(jī)系統(tǒng)200與軟件供應(yīng)商服務(wù)器計(jì)算機(jī)240之間通過因特網(wǎng)230的連接。這個(gè)連接是有用的,例如,用于傳送演示程序或?qū)嶋H程序給用戶。這個(gè)連接還可以是放置跟蹤文件在供應(yīng)商服務(wù)器計(jì)算機(jī)240上的機(jī)構(gòu)。把跟蹤文件放置在供應(yīng)商服務(wù)器計(jì)算機(jī)240上,在用戶希望購買更多的時(shí)間而沒有購買整個(gè)軟件包的情況下,可以容易地改變?cè)u(píng)價(jià)時(shí)間。在用戶因系統(tǒng)崩潰或購買新計(jì)算機(jī)而重新安裝該程序時(shí),這種方法還可以繼續(xù)跟蹤已使用的時(shí)間。當(dāng)用戶從供應(yīng)商請(qǐng)求更多的時(shí)間和供應(yīng)商滿足這個(gè)請(qǐng)求時(shí),按照新同意的評(píng)價(jià)時(shí)間改變運(yùn)行時(shí)間使用和跟蹤文件的終止符項(xiàng)目,可以完成跟蹤已使用的時(shí)間。這種改變可以在付款的基礎(chǔ)上進(jìn)行,因此,有效地使演示程序轉(zhuǎn)變成雙方之間的一種特許。類似地,圖5所示的連接可以使軟件更新和注冊(cè)過程更加方便。
本領(lǐng)域?qū)I(yè)人員知道,可以采用推入/拉出方法以保證跟蹤文件準(zhǔn)確地反映用戶的運(yùn)行時(shí)間使用。就是說,用戶計(jì)算機(jī)系統(tǒng)200有本機(jī)的跟蹤文件,所以,方法50能夠正確地監(jiān)控和更新運(yùn)行時(shí)間使用,如果需要,可以禁止演示程序的執(zhí)行。此外,供應(yīng)商的服務(wù)器計(jì)算機(jī)240也可以包含跟蹤文件副本,在因特網(wǎng)訪問功能失效的情況下可以執(zhí)行跟蹤文件。通過周期性地從用戶計(jì)算機(jī)系統(tǒng)200拉出(經(jīng)因特網(wǎng)230)跟蹤文件,可以更新供應(yīng)商的跟蹤文件。類似地,通過推入跟蹤文件(經(jīng)因特網(wǎng)230)到用戶計(jì)算機(jī)系統(tǒng)200,可以發(fā)射供應(yīng)商作出的任何更新給用戶。這種推入/拉出操作是大多數(shù)因特網(wǎng)服務(wù)供應(yīng)商(ISPs)以及軟件集成和軟件更新當(dāng)今采用的常規(guī)操作。
圖6表示按照本發(fā)明另一個(gè)實(shí)施例監(jiān)控演示軟件運(yùn)行時(shí)間使用的流程圖形式典型方法350。方法350中的大部分是與方法50(圖3a和3b)相同的,所以,不再對(duì)此作進(jìn)一步的討論。然而,新的系列步驟,步驟75a至75e,插入在步驟74與76之間。當(dāng)運(yùn)行時(shí)間使用接近于評(píng)價(jià)時(shí)間限額時(shí),這些新的步驟給用戶提示。
首先,在步驟74,確定運(yùn)行時(shí)間使用是否到期;在步驟75a,計(jì)算剩余的演示時(shí)間,即,評(píng)價(jià)時(shí)間限額減去實(shí)際運(yùn)行時(shí)間使用。在步驟75b,確定剩余的演示時(shí)間是否小于或等于預(yù)定的剩余提示時(shí)間。例如,可以最初設(shè)置提示時(shí)間為1小時(shí)。提示時(shí)間隨評(píng)價(jià)時(shí)間的長短而變化。就是說,若評(píng)價(jià)時(shí)間非常長,例如,1,000小時(shí),則可以設(shè)置提示時(shí)間為50小時(shí)。類似地,若評(píng)價(jià)時(shí)間相對(duì)較短,則可以選取較短的提示時(shí)間。
若在步驟75b確定剩余時(shí)間不小于或等于提示時(shí)間,則方法50進(jìn)行到步驟76(參照以上圖3b所解釋的)。若確定剩余時(shí)間小于或等于提示時(shí)間,則方法50進(jìn)行到步驟75c。在步驟75c,給用戶提示剩余時(shí)間。在步驟75d,還可以給用戶提示注冊(cè)演示程序。在步驟75e,如果需要,計(jì)算新的提示時(shí)間。計(jì)算新的提示時(shí)間是為了避免發(fā)生這樣的情況,一旦原先的提示時(shí)間已到,不斷地給用戶提示該時(shí)間已用完。因此,應(yīng)當(dāng)設(shè)置提示時(shí)間為零以便有效地禁止提示(由于安排提示在運(yùn)行時(shí)間使用已結(jié)束的時(shí)間),或設(shè)置提示時(shí)間為另一個(gè)不會(huì)使用戶感到困惑的適當(dāng)時(shí)間。一旦計(jì)算了新的提示時(shí)間,方法50進(jìn)行到步驟76(參照以上圖3b所解釋的)。
應(yīng)當(dāng)理解,實(shí)施本發(fā)明方法所需要的軟件指令可以駐留在大型計(jì)算機(jī)或服務(wù)器計(jì)算機(jī)上。然后,該指令可以通過計(jì)算機(jī)總線下載到用戶計(jì)算機(jī)系統(tǒng),而CPU可以執(zhí)行實(shí)施本發(fā)明方法的指令。
必須注意,本發(fā)明的實(shí)施是作為在計(jì)算機(jī)系統(tǒng)上執(zhí)行的程序??梢杂貌煌挠?jì)算機(jī)語言寫入本發(fā)明到不同的計(jì)算機(jī)系統(tǒng)中。本發(fā)明可以存儲(chǔ)在任何合適的存儲(chǔ)媒體上,例如,硬驅(qū)動(dòng)器,軟盤,CD-ROM,或已知的或待開發(fā)的其他永久性或半永久性存儲(chǔ)媒體。本領(lǐng)域?qū)I(yè)人員知道,體現(xiàn)本發(fā)明的程序也可以分成程序代碼段,例如,從服務(wù)器計(jì)算機(jī)下載,或作為載波中的數(shù)據(jù)信號(hào)被發(fā)射。
雖然本發(fā)明的詳細(xì)描述是結(jié)合當(dāng)時(shí)已知的幾個(gè)優(yōu)選實(shí)施例,應(yīng)當(dāng)明白,本發(fā)明不受這些公開實(shí)施例的限制。更確切地說,本發(fā)明可以作這樣一些改變,合并以上沒有描述過的任意多個(gè)變化,改動(dòng),替換或相當(dāng)?shù)陌才牛?,這些變化,改動(dòng),替換或相當(dāng)?shù)陌才哦际桥c本發(fā)明的精神和范圍一致的。所以,本發(fā)明不是以上描述的這些內(nèi)容,而僅僅受所附權(quán)利要求書的限制。
權(quán)利要求
1.一種監(jiān)控執(zhí)行軟件應(yīng)用程序的運(yùn)行時(shí)間使用的方法,該軟件應(yīng)用程序有運(yùn)行時(shí)間的截止時(shí)間,所述方法包括以下步驟輸入代表執(zhí)行軟件運(yùn)行時(shí)間的時(shí)間參數(shù),該時(shí)間參數(shù)代表該軟件開始它當(dāng)前執(zhí)行以來的運(yùn)行時(shí)間;利用輸入的時(shí)間參數(shù)更新累積的運(yùn)行時(shí)間使用;和確定累積的運(yùn)行時(shí)間是否超過運(yùn)行時(shí)間的截止時(shí)間。
2.按照權(quán)利要求1的方法,其中所述方法還包括若確定累積的運(yùn)行時(shí)間已超過運(yùn)行時(shí)間的截止時(shí)間,則禁止該軟件應(yīng)用程序的繼續(xù)執(zhí)行。
3.按照權(quán)利要求1的方法,其中所述方法還包括若確定累積的運(yùn)行時(shí)間已超過運(yùn)行時(shí)間的截止時(shí)間,則提示軟件應(yīng)用程序的用戶注冊(cè)該軟件應(yīng)用程序。
4.按照權(quán)利要求3的方法,其中所述方法還包括若用戶沒有注冊(cè)該軟件,則禁止該軟件應(yīng)用程序的繼續(xù)執(zhí)行。
5.按照權(quán)利要求3的方法,其中若確定了用戶要求注冊(cè)該軟件,則所述方法還包括以下步驟輸入注冊(cè)標(biāo)識(shí)碼;確認(rèn)注冊(cè)標(biāo)識(shí)碼;和若注冊(cè)標(biāo)識(shí)碼有效,則終止所述方法。
6.按照權(quán)利要求3的方法,其中若確定了用戶要求注冊(cè)軟件,則所述方法還包括步驟利用軟件保護(hù)器注冊(cè)該軟件。
7.按照權(quán)利要求3的方法,其中若確定了用戶要求注冊(cè)軟件,則所述方法還包括步驟利用密鑰盤注冊(cè)該軟件。
8.按照權(quán)利要求3的方法,其中若確定了用戶要求注冊(cè)軟件,則所述方法還包括步驟利用時(shí)間序列密鑰注冊(cè)該軟件。
9.按照權(quán)利要求3的方法,其中若確定了用戶要求注冊(cè)軟件,則所述方法還包括步驟利用磁條閱讀器注冊(cè)該軟件。
10.按照權(quán)利要求1的方法,其中所述確定步驟中的所述輸入步驟是周期性地以預(yù)定速率進(jìn)行的。
11.按照權(quán)利要求10的方法,其中所述預(yù)定速率約為每秒一次。
12.按照權(quán)利要求1的方法,其中所述方法把累積的運(yùn)行時(shí)間使用存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)媒體上的數(shù)據(jù)文件中。
13.按照權(quán)利要求12的方法,其中所述方法編碼累積的運(yùn)行時(shí)間使用,并把編碼的累積運(yùn)行時(shí)間使用存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)媒體中。
14.按照權(quán)利要求13的方法,其中所述方法還包括以下步驟確定累積的運(yùn)行時(shí)間使用是否已被用戶改變;和若所述累積的運(yùn)行時(shí)間使用已被用戶改變,則禁止該軟件應(yīng)用程序的繼續(xù)執(zhí)行。
15.按照權(quán)利要求14的方法,其中所述確定累積的運(yùn)行時(shí)間使用是否已改變的步驟是通過累積的運(yùn)行時(shí)間使用與編碼的累積運(yùn)行時(shí)間使用之間的比較完成的。
16.按照權(quán)利要求12的方法,其中計(jì)算機(jī)可讀存儲(chǔ)媒體是經(jīng)網(wǎng)絡(luò)連接到執(zhí)行軟件的計(jì)算機(jī)系統(tǒng)。
17.按照權(quán)利要求16的方法,其中網(wǎng)絡(luò)是因特網(wǎng)。
18.按照權(quán)利要求17的方法,其中所述方法還包括步驟當(dāng)存在預(yù)定的條件時(shí),延長截止時(shí)間。
19.按照權(quán)利要求18的方法,其中所述延長步驟包括改變存儲(chǔ)的累積運(yùn)行時(shí)間使用;和從計(jì)算機(jī)存儲(chǔ)媒體傳送新存儲(chǔ)的累積運(yùn)行時(shí)間使用到執(zhí)行軟件應(yīng)用程序的計(jì)算機(jī)系統(tǒng)。
20.按照權(quán)利要求17的方法,其中所述方法還包括步驟當(dāng)存在一個(gè)或多個(gè)預(yù)定的條件時(shí),延長截止時(shí)間。
21.按照權(quán)利要求20的方法,其中一個(gè)或多個(gè)預(yù)定條件包括接收延長命令。
22.按照權(quán)利要求1的方法,其中所述輸入步驟是通過讀出執(zhí)行軟件應(yīng)用程序的計(jì)算機(jī)處理單元中的時(shí)鐘完成的。
23.按照權(quán)利要求1的方法,其中所述方法是通過執(zhí)行正在被監(jiān)控的軟件應(yīng)用程序完成的。
24.按照權(quán)利要求1的方法,其中軟件應(yīng)用程序是演示軟件應(yīng)用程序。
25.一種計(jì)算機(jī)可讀存儲(chǔ)媒體,包含計(jì)算機(jī)可讀代碼,該代碼用于運(yùn)行計(jì)算機(jī)以實(shí)現(xiàn)監(jiān)控執(zhí)行軟件應(yīng)用程序的運(yùn)行時(shí)間使用的方法,該軟件應(yīng)用程序有運(yùn)行時(shí)間的截止時(shí)間,所述方法包括以下步驟輸入代表執(zhí)行軟件運(yùn)行時(shí)間的時(shí)間參數(shù),時(shí)間參數(shù)代表該軟件開始它當(dāng)前執(zhí)行以來的運(yùn)行時(shí)間;利用輸入的時(shí)間參數(shù)更新累積的運(yùn)行時(shí)間使用;和確定累積的運(yùn)行時(shí)間是否超過運(yùn)行時(shí)間的截止時(shí)間。
26.按照權(quán)利要求25的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述方法還包括若確定累積的運(yùn)行時(shí)間已超過運(yùn)行時(shí)間的截止時(shí)間,則禁止該軟件應(yīng)用程序的繼續(xù)執(zhí)行。
27.按照權(quán)利要求25的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述方法還包括若確定累積的運(yùn)行時(shí)間已超過運(yùn)行時(shí)間的截止時(shí)間,則提示軟件應(yīng)用程序的用戶注冊(cè)該軟件應(yīng)用程序。
28.按照權(quán)利要求27的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述方法還包括若用戶沒有注冊(cè)該軟件,則禁止該軟件應(yīng)用程序的繼續(xù)執(zhí)行。
29.按照權(quán)利要求27的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中若確定了用戶要求注冊(cè)該軟件,則所述方法還包括以下步驟輸入注冊(cè)標(biāo)識(shí)碼;確認(rèn)注冊(cè)標(biāo)識(shí)碼;和若注冊(cè)標(biāo)識(shí)碼有效,則終止所述方法。
30.按照權(quán)利要求27的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中若確定了用戶要求注冊(cè)軟件,則所述方法還包括步驟利用軟件保護(hù)器注冊(cè)該軟件。
31.按照權(quán)利要求27的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中若確定了用戶要求注冊(cè)軟件,則所述方法還包括步驟利用密鑰盤注冊(cè)該軟件。
32.按照權(quán)利要求27的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中若確定了用戶要求注冊(cè)軟件,則所述方法還包括步驟利用時(shí)間序列密鑰注冊(cè)該軟件。
33.按照權(quán)利要求27的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中若確定了用戶要求注冊(cè)軟件,則所述方法還包括步驟利用磁條閱讀器注冊(cè)該軟件。
34.按照權(quán)利要求27的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述方法的所述確定步驟中所述輸入步驟是周期性地以預(yù)定速率進(jìn)行的。
35.按照權(quán)利要求34的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述預(yù)定速率約為每秒一次。
36.按照權(quán)利要求25的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述方法把累積的運(yùn)行時(shí)間使用存儲(chǔ)在第二計(jì)算機(jī)可讀存儲(chǔ)媒體的數(shù)據(jù)文件中。
37.按照權(quán)利要求36的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述方法編碼累積的運(yùn)行時(shí)間使用,并把編碼的累積運(yùn)行時(shí)間使用存儲(chǔ)在第二計(jì)算機(jī)可讀存儲(chǔ)媒體中。
38.按照權(quán)利要求37的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述方法還包括以下步驟確定累積的運(yùn)行時(shí)間使用是否已被用戶改變;和若所述累積的運(yùn)行時(shí)間使用已被用戶改變,則禁止該軟件應(yīng)用程序的繼續(xù)執(zhí)行。
39.按照權(quán)利要求38的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述確定累積的運(yùn)行時(shí)間使用是否已改變的步驟是通過累積的運(yùn)行時(shí)間使用與編碼的累積運(yùn)行時(shí)間使用之間的比較完成的。
40.按照權(quán)利要求36的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中第二計(jì)算機(jī)可讀存儲(chǔ)媒體是經(jīng)網(wǎng)絡(luò)連接到執(zhí)行軟件應(yīng)用程序的計(jì)算機(jī)系統(tǒng)。
41.按照權(quán)利要求40的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中網(wǎng)絡(luò)是因特網(wǎng)。
42.按照權(quán)利要求40的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述方法還包括步驟當(dāng)存在一個(gè)或多個(gè)預(yù)定的條件時(shí),延長截止時(shí)間。
43.按照權(quán)利要求42的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述延長步驟包括改變存儲(chǔ)的累積運(yùn)行時(shí)間使用;和從第二計(jì)算機(jī)存儲(chǔ)媒體發(fā)射新存儲(chǔ)的累積運(yùn)行時(shí)間使用到執(zhí)行軟件應(yīng)用程序的計(jì)算機(jī)系統(tǒng)。
44.按照權(quán)利要求25的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述輸入步驟是通過讀出執(zhí)行軟件應(yīng)用程序的計(jì)算機(jī)處理單元中的時(shí)鐘完成的。
45.按照權(quán)利要求25的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述方法是通過執(zhí)行正在被監(jiān)控的軟件應(yīng)用程序完成的。
46.按照權(quán)利要求25的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中軟件應(yīng)用程序是演示軟件應(yīng)用程序。
47.一種計(jì)算機(jī)系統(tǒng),包括程控處理器,所述程控處理器用于輸入代表執(zhí)行軟件應(yīng)用程序運(yùn)行時(shí)間的時(shí)間參數(shù),時(shí)間參數(shù)代表該軟件開始它當(dāng)前執(zhí)行以來的運(yùn)行時(shí)間;利用輸入的時(shí)間參數(shù)更新累積的運(yùn)行時(shí)間使用;和確定累積的運(yùn)行時(shí)間是否超過運(yùn)行時(shí)間的截止時(shí)間。
48.按照權(quán)利要求47的系統(tǒng),其中若確定累積的運(yùn)行時(shí)間已超過運(yùn)行時(shí)間的截止時(shí)間,則所述處理器禁止該軟件應(yīng)用程序的繼續(xù)執(zhí)行。
49.按照權(quán)利要求47的系統(tǒng),其中若確定累積的運(yùn)行時(shí)間已超過運(yùn)行時(shí)間的截止時(shí)間,則所述處理器提示軟件應(yīng)用程序的用戶注冊(cè)該軟件應(yīng)用程序。
50.按照權(quán)利要求47的系統(tǒng),其中若用戶沒有注冊(cè)軟件,則禁止該軟件應(yīng)用程序的繼續(xù)執(zhí)行。
51.按照權(quán)利要求47的系統(tǒng),其中所述處理器把累積的運(yùn)行時(shí)間使用存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)媒體的數(shù)據(jù)文件中。
52.按照權(quán)利要求51的系統(tǒng),其中所述文件是隱式文件。
53.按照權(quán)利要求51的系統(tǒng),其中所述文件是軟件注冊(cè)中的密鑰。
54.按照權(quán)利要求51的系統(tǒng),其中所述處理器編碼累積的運(yùn)行時(shí)間使用,并把編碼的累積運(yùn)行時(shí)間使用存儲(chǔ)在所述計(jì)算機(jī)可讀存儲(chǔ)媒體中。
55.按照權(quán)利要求54的系統(tǒng),其中所述處理器還確定累積的運(yùn)行時(shí)間使用是否已被用戶改變,若所述累積的運(yùn)行時(shí)間已被用戶改變,則所述處理器禁止該軟件應(yīng)用程序的繼續(xù)執(zhí)行。
56.按照權(quán)利要求55的系統(tǒng),其中通過累積的運(yùn)行時(shí)間使用與編碼的累積運(yùn)行時(shí)間使用之間的比較,所述處理器確定累積的運(yùn)行時(shí)間使用是否已被改變。
57.按照權(quán)利要求51的系統(tǒng),其中所述存儲(chǔ)媒體是經(jīng)網(wǎng)絡(luò)連接到所述計(jì)算機(jī)系統(tǒng)。
58.按照權(quán)利要求57的系統(tǒng),其中網(wǎng)絡(luò)是因特網(wǎng)。
59.一種從服務(wù)器計(jì)算機(jī)傳送的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序用于監(jiān)控執(zhí)行軟件應(yīng)用程序運(yùn)行時(shí)間的截止時(shí)間,所述計(jì)算機(jī)程序包括第一程序代碼段,用于輸入代表執(zhí)行軟件運(yùn)行時(shí)間的時(shí)間參數(shù),時(shí)間參數(shù)代表該軟件開始它當(dāng)前執(zhí)行以來的運(yùn)行時(shí)間;第二程序代碼段,利用輸入的時(shí)間參數(shù)更新累積的運(yùn)行時(shí)間使用;和第三程序代碼段,確定累積的運(yùn)行時(shí)間是否超過運(yùn)行時(shí)間的截止時(shí)間。
全文摘要
在執(zhí)行軟件程序期間監(jiān)控CPU(“計(jì)算機(jī)處理單元”)的時(shí)鐘信號(hào)。在周期性基礎(chǔ)上執(zhí)行程序的整個(gè)過程中,監(jiān)控時(shí)鐘信號(hào),并更新經(jīng)過的運(yùn)行時(shí)間。經(jīng)過的運(yùn)行時(shí)間存儲(chǔ)在隱式文件或軟件注冊(cè)(數(shù)據(jù)庫)內(nèi)的密鑰中。即使在程序崩潰的情況下,周期性基礎(chǔ)上更新運(yùn)行時(shí)間保證準(zhǔn)確的跟蹤運(yùn)行時(shí)間使用,允許用戶重新啟動(dòng)該程序而不會(huì)有運(yùn)行時(shí)間的損失。軟件包可以繼續(xù)運(yùn)行,直至經(jīng)過的運(yùn)行時(shí)間超過預(yù)定的評(píng)價(jià)時(shí)間。
文檔編號(hào)G06F21/10GK1283819SQ0012195
公開日2001年2月14日 申請(qǐng)日期2000年7月26日 優(yōu)先權(quán)日1999年7月27日
發(fā)明者斯科特·L·布勞廷, 敏道格斯·F·道塔特斯, 小約翰·W·思泰特 申請(qǐng)人:朗迅科技公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1