專(zhuān)利名稱(chēng):便攜式應(yīng)用程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲(chǔ)器設(shè)備和應(yīng)用程序,尤其涉及便攜式應(yīng)用程序。
背景技術(shù):
計(jì)算機(jī)已經(jīng)在我們的生活普及,可以在我們的家庭和工作場(chǎng)所,以及諸如圖書(shū)館、機(jī)場(chǎng)、咖啡店等越來(lái)越多的各種公共場(chǎng)所找到它的身影。因?yàn)槿藗冊(cè)絹?lái)依賴(lài)計(jì)算機(jī),他們?cè)谌魏蔚胤绞褂糜?jì)算機(jī)的期望可能也在日益增長(zhǎng)。例如,當(dāng)用戶在家或辦公室以外的地方旅游時(shí),他們常常期望訪問(wèn)那些他們習(xí)慣于從家庭或辦公室訪問(wèn)的程序和/或數(shù)據(jù)。但是,這存在著問(wèn)題,因?yàn)橛脩魺o(wú)法指望程序可在遠(yuǎn)離他們的家或辦公室的計(jì)算機(jī)上使用,更無(wú)法指望他們所需的數(shù)據(jù)可在遠(yuǎn)離他們的家或辦公室的計(jì)算機(jī)上使用。
可用來(lái)解決這些問(wèn)題的一個(gè)解決方案是讓用戶購(gòu)買(mǎi)并在旅行途中隨身攜帶便攜式計(jì)算機(jī)。但是,便攜式計(jì)算機(jī)有其它的問(wèn)題,因?yàn)樗鼈兛赡苓^(guò)大過(guò)重而不便在旅行途中隨身攜帶,過(guò)于昂貴而不利于購(gòu)買(mǎi),并且可能使用戶成為偷竊的目標(biāo)。
可用來(lái)解決這些問(wèn)題的另一個(gè)解決方案是讓用戶在旅行時(shí)隨身攜帶硬盤(pán)驅(qū)動(dòng)器。這一解決方案也可能有問(wèn)題,因?yàn)榇蜷_(kāi)硬盤(pán)驅(qū)動(dòng)器并斷開(kāi)到其計(jì)算機(jī)的連接,以及將硬盤(pán)驅(qū)動(dòng)器安裝到另一個(gè)計(jì)算機(jī)上需要相當(dāng)大的力氣;使得他們的計(jì)算機(jī)沒(méi)有硬盤(pán)驅(qū)動(dòng)器,從而通常無(wú)法使用;產(chǎn)生兼容性問(wèn)題,因?yàn)橐褂脖P(pán)驅(qū)動(dòng)器在另一個(gè)計(jì)算機(jī)上工作可能需要大量重新配置;并且可能產(chǎn)生法律問(wèn)題,因?yàn)橛脩艨赡懿槐辉试S打開(kāi)和篡改公共場(chǎng)所的計(jì)算機(jī)。
可用來(lái)解決這些問(wèn)題中的至少一部分的另一個(gè)解決方案是將數(shù)據(jù)存儲(chǔ)到通用串行總線(USB)閃存設(shè)備中。這些USB閃存設(shè)備變得越來(lái)越常見(jiàn),它們插在計(jì)算機(jī)上的USB端口中。這類(lèi)USB設(shè)備允許用戶將數(shù)據(jù)從一個(gè)計(jì)算機(jī)轉(zhuǎn)移到USB設(shè)備,然后將該USB設(shè)備插入另一個(gè)計(jì)算機(jī)并訪問(wèn)該USB設(shè)備上的數(shù)據(jù)。但是,此類(lèi)USB設(shè)備僅僅解決了問(wèn)題的一部分,因?yàn)樗鼈兺ǔH僅用來(lái)存儲(chǔ)數(shù)據(jù)。如果用戶所使用的計(jì)算機(jī)沒(méi)有正確的程序,那么數(shù)據(jù)通常不能以有用的形式供用戶訪問(wèn)。
可用來(lái)解決這些問(wèn)題中的至少一部分的另一種解決方案是讓用戶在旅行途中隨身攜帶盤(pán)(通常是CD或DVD)上的程序,如果程序在他或她所使用的計(jì)算機(jī)上不可用,那么用戶可將該程序安裝到該計(jì)算機(jī)上。但是,此解決方案僅僅解決了問(wèn)題的一部分,因?yàn)榇祟?lèi)盤(pán)上通常沒(méi)有存儲(chǔ)用戶的數(shù)據(jù)。此外,此解決方案還有其它問(wèn)題,因?yàn)楸P(pán)在某種程度上來(lái)說(shuō)是易碎的,并且在旅行期間可能受到損壞,將程序安裝到計(jì)算機(jī)上的過(guò)程可能是很耗費(fèi)時(shí)間的(如果程序與計(jì)算機(jī)上運(yùn)行的其它程序不兼容,則可能耗費(fèi)更多時(shí)間),用戶在計(jì)算機(jī)上可能沒(méi)有足夠使用權(quán)限來(lái)安裝程序,此類(lèi)多計(jì)算機(jī)上的安裝常常違反程序的許可協(xié)議,并且計(jì)算機(jī)的所有者(特別是在公共場(chǎng)合)通常不想要人們將其自己的程序安裝到計(jì)算機(jī)上。此解決方案的又一個(gè)問(wèn)題是,當(dāng)用戶從計(jì)算機(jī)上卸載程序時(shí),各種從未用過(guò)的注冊(cè)信息、數(shù)據(jù)等常常被遺留。
因此,有一種改進(jìn)的方法,讓用戶從一個(gè)計(jì)算機(jī)移到另一個(gè)計(jì)算機(jī),并可輕易地訪問(wèn)他們所需的程序及可選地他們所需的數(shù)據(jù)將會(huì)是有利的。
發(fā)明內(nèi)容
本文描述便攜式應(yīng)用程序。
根據(jù)某幾個(gè)方面,便攜式存儲(chǔ)設(shè)備包括接口以及一個(gè)或多個(gè)存儲(chǔ)元件。這一個(gè)或多個(gè)存儲(chǔ)元件存儲(chǔ)一個(gè)或多個(gè)可執(zhí)行文件,這些文件可由該設(shè)備所耦合的主計(jì)算機(jī)執(zhí)行,且即使這一個(gè)或多個(gè)可執(zhí)行文件包括訪問(wèn)環(huán)境設(shè)置的指令,也不會(huì)改變主計(jì)算機(jī)上的任何環(huán)境設(shè)置。
根據(jù)另外幾個(gè)方面,應(yīng)用程序被綁定到存儲(chǔ)一個(gè)或多個(gè)可執(zhí)行文件的便攜式存儲(chǔ)設(shè)備,執(zhí)行這些可執(zhí)行文件將運(yùn)行該應(yīng)用程序。
根據(jù)另外幾個(gè)方面,接收將便攜式應(yīng)用程序安裝在耦合到計(jì)算機(jī)的便攜式存儲(chǔ)設(shè)備上的請(qǐng)求。便攜式應(yīng)用程序的一個(gè)或多個(gè)可執(zhí)行文件被寫(xiě)到便攜式存儲(chǔ)設(shè)備中,關(guān)于便攜式應(yīng)用程序的信息被寫(xiě)到便攜式存儲(chǔ)設(shè)備上的專(zhuān)用存儲(chǔ)中。
全文使用相同標(biāo)號(hào)來(lái)引用相同的組件和/或特征。
圖1所示是可使用便攜式應(yīng)用程序的示例性環(huán)境的框圖。
圖2更詳細(xì)地示出一種示例性便攜式存儲(chǔ)設(shè)備。
圖3所示是一種用于執(zhí)行便攜式應(yīng)用程序的示例性過(guò)程的流程圖。
圖4所示是一種用于激活便攜式應(yīng)用程序的示例性過(guò)程的流程圖。
圖5所示是一種用于將便攜式應(yīng)用程序安裝在便攜式存儲(chǔ)設(shè)備上的示例性過(guò)程的流程圖。
圖6示出可使用本文所述的便攜式應(yīng)用程序的通用計(jì)算機(jī)環(huán)境。
具體實(shí)施例方式
本文描述便攜式應(yīng)用程序。一個(gè)或多個(gè)應(yīng)用程序被安裝在便攜式存儲(chǔ)設(shè)備上。當(dāng)便攜式存儲(chǔ)設(shè)備被插入或者耦合到一計(jì)算機(jī),該設(shè)備上所安裝的便攜式應(yīng)用程序被自動(dòng)檢測(cè),并可隨同用戶可能存儲(chǔ)在該設(shè)備上的任何數(shù)據(jù)供用戶使用。便攜式應(yīng)用程序不改變計(jì)算機(jī)上的任何環(huán)境設(shè)置,并且數(shù)據(jù)文件仍然保持在便攜式存儲(chǔ)設(shè)備上。用戶從而可訪問(wèn)他或她所需要的應(yīng)用程序,與此同時(shí)在他或她結(jié)束計(jì)算機(jī)的使用之后,不會(huì)導(dǎo)致環(huán)境設(shè)置的改變,也不會(huì)遺留任何數(shù)據(jù)文件。
圖1所示是可使用便攜式應(yīng)用程序的示例性環(huán)境的框圖。環(huán)境100包括便攜式存儲(chǔ)設(shè)備102和主計(jì)算機(jī)104。便攜式存儲(chǔ)設(shè)備102可被耦合到主計(jì)算機(jī)104以及多個(gè)其它計(jì)算機(jī)(圖1中未示出),并可輕易地從其移除。便攜式存儲(chǔ)設(shè)備102可使用各種協(xié)議中的任何一種與主計(jì)算機(jī)104通信。例如,設(shè)備102可使用諸如USB版本1.0或版本2.0等通用串行總線(USB)連接,或使用諸如IEEE1394a或1394b等IEEE1394連接(有時(shí)稱(chēng)為固件),或使用個(gè)人計(jì)算機(jī)存儲(chǔ)卡國(guó)際協(xié)會(huì)(PCMCIA)連接耦合到計(jì)算機(jī)104。或者,設(shè)備102可使用各種其它公有或私有的連接協(xié)議中的任何一種耦合到計(jì)算機(jī)104。
用來(lái)將設(shè)備102耦合到計(jì)算機(jī)104的連接協(xié)議通常是“即插即用”連接協(xié)議。即插即用連接協(xié)議指允許主計(jì)算機(jī)自動(dòng)檢測(cè)并將其自身配置成訪問(wèn)連接到該主計(jì)算機(jī)的外圍設(shè)備的協(xié)議。當(dāng)外圍設(shè)備被插入到計(jì)算機(jī)104,計(jì)算機(jī)104可自動(dòng)標(biāo)識(shí)并安裝在計(jì)算機(jī)104上運(yùn)行所需的任何設(shè)備驅(qū)動(dòng)器或其它模塊,以使在計(jì)算機(jī)104上運(yùn)行的程序能訪問(wèn)外圍設(shè)備。
便攜式存儲(chǔ)設(shè)備102包括接口106以及一個(gè)或多個(gè)存儲(chǔ)元件108,而計(jì)算機(jī)104包括處理器120、系統(tǒng)存儲(chǔ)器122(例如,隨機(jī)存取存儲(chǔ)器(RAM))、以及接口124。接口106和124允許設(shè)備102和計(jì)算機(jī)104根據(jù)連接協(xié)議相互傳遞信號(hào)。這些信號(hào)可以是數(shù)據(jù)信號(hào)和/或命令信號(hào)。
一個(gè)或多個(gè)存儲(chǔ)元件108可由一個(gè)或多個(gè)各種不同類(lèi)型的存儲(chǔ)元件(諸如一個(gè)或多個(gè)閃存、一個(gè)或多個(gè)硬磁盤(pán)驅(qū)動(dòng)器(例如,微驅(qū)動(dòng)器)、一個(gè)或多個(gè)光盤(pán)驅(qū)動(dòng)器、等等)組成。一個(gè)或多個(gè)存儲(chǔ)元件108包括應(yīng)用程序部分110和數(shù)據(jù)部分112。應(yīng)用程序部分110可存儲(chǔ)一個(gè)或多個(gè)便攜式應(yīng)用程序,它們可由計(jì)算機(jī)104的處理器120執(zhí)行。便攜式應(yīng)用程序是被設(shè)計(jì)成從存儲(chǔ)元件108運(yùn)行、并且即使應(yīng)用程序包括訪問(wèn)系統(tǒng)設(shè)置的請(qǐng)求也不會(huì)改變主計(jì)算機(jī)104上的任何環(huán)境設(shè)置的應(yīng)用程序。如以下將更詳細(xì)討論的,便攜式應(yīng)用程序通常也被綁定到便攜式存儲(chǔ)設(shè)備102。
數(shù)據(jù)部分112可存儲(chǔ)一個(gè)或多個(gè)應(yīng)用程序的數(shù)據(jù)。存儲(chǔ)在部分112中的數(shù)據(jù)可供存儲(chǔ)在部分110中的便攜式應(yīng)用程序和/或其它應(yīng)用程序使用。
計(jì)算機(jī)104的處理器120與系統(tǒng)存儲(chǔ)器122和接口124通信以執(zhí)行包括存儲(chǔ)在存儲(chǔ)元件108中的應(yīng)用程序在內(nèi)的應(yīng)用程序。存儲(chǔ)在應(yīng)用程序部分110中的每一個(gè)應(yīng)用程序都是可由處理器120執(zhí)行(稱(chēng)為執(zhí)行或運(yùn)行該應(yīng)用程序)的一個(gè)指令集。這些指令可由處理器120直接從存儲(chǔ)元件108加載并執(zhí)行,或者可在由處理器120加載和執(zhí)行以前被轉(zhuǎn)移到系統(tǒng)存儲(chǔ)器122中。還可在由處理器120執(zhí)行這些指令以前將這些指令從存儲(chǔ)元件108轉(zhuǎn)移到計(jì)算機(jī)104中的一個(gè)或多個(gè)高速緩存存儲(chǔ)器中。
可通過(guò)將便攜式存儲(chǔ)設(shè)備102插入到計(jì)算機(jī)104,來(lái)將其耦合到計(jì)算機(jī)104。此設(shè)備102到計(jì)算機(jī)104的耦合可以是直接連接或間接連接。便攜式存儲(chǔ)設(shè)備102可被直接連接到計(jì)算機(jī)104,諸如設(shè)備102上的插孔或連接器被插入到計(jì)算機(jī)104上的插孔或連接器。便攜式存儲(chǔ)設(shè)備102還可被間接地連接到計(jì)算機(jī)104,諸如通過(guò)一條或多條電纜或延長(zhǎng)線路、一個(gè)或多個(gè)其它控制器(例如,USB集線器)、一個(gè)或多個(gè)其它外圍設(shè)備等方式。計(jì)算機(jī)104和便攜式存儲(chǔ)設(shè)備102之間的耦合可以是有線和/或無(wú)線的耦合。便攜式存儲(chǔ)設(shè)備102被稱(chēng)為便攜式,因?yàn)樗辉O(shè)計(jì)成可由終端用戶輕易地耦合到一個(gè)或多個(gè)計(jì)算機(jī)104,并可輕易地從其去耦合,并且可由用戶輕易地運(yùn)送。
當(dāng)便攜式存儲(chǔ)設(shè)備102被耦合到計(jì)算機(jī)104時(shí),計(jì)算機(jī)104自動(dòng)檢測(cè)設(shè)備102的存在。此檢測(cè)是作為例如即插即用連接協(xié)議的一部分來(lái)執(zhí)行的。一旦被檢測(cè)到,便攜式存儲(chǔ)設(shè)備102即可被計(jì)算機(jī)104上執(zhí)行的應(yīng)用程序和操作系統(tǒng)訪問(wèn),以進(jìn)行數(shù)據(jù)存儲(chǔ)和應(yīng)用程序執(zhí)行。
在便攜式存儲(chǔ)設(shè)備102被檢測(cè)到以后,計(jì)算機(jī)104自動(dòng)訪問(wèn)設(shè)備102,并可運(yùn)行存儲(chǔ)在應(yīng)用程序110部分中的任何應(yīng)用程序,和/或給予計(jì)算機(jī)104的用戶運(yùn)行存儲(chǔ)在應(yīng)用程序部分110中的任何應(yīng)用程序的選擇。數(shù)據(jù)部分112也可被計(jì)算機(jī)104訪問(wèn),以允許計(jì)算機(jī)104檢索存儲(chǔ)在部分112中的任何數(shù)據(jù),以及將新的數(shù)據(jù)存儲(chǔ)到部分112中。
許多當(dāng)今的操作系統(tǒng)包括適當(dāng)?shù)脑O(shè)備驅(qū)動(dòng)器以允許訪問(wèn)便攜式存儲(chǔ)設(shè)備。如果當(dāng)便攜式閃存設(shè)備102被耦合到計(jì)算機(jī)104時(shí)這些設(shè)備驅(qū)動(dòng)器未被安裝,則安裝這些設(shè)備驅(qū)動(dòng)器(例如,作為即插即用控制協(xié)議的一部分)。但是,應(yīng)當(dāng)注意,不需要在主計(jì)算機(jī)104上安裝任何其它的設(shè)備驅(qū)動(dòng)器或其它驅(qū)動(dòng)器或軟件以使便攜式存儲(chǔ)設(shè)備102上的便攜式應(yīng)用程序被執(zhí)行。例如,不需要在主計(jì)算機(jī)104上安裝專(zhuān)屬于任何特定便攜式應(yīng)用程序的、或便攜式應(yīng)用程序通用的驅(qū)動(dòng)程序。
圖2更詳細(xì)地示出一種示例性便攜式存儲(chǔ)設(shè)備。便攜式存儲(chǔ)設(shè)備102包括接口106以及一個(gè)或多個(gè)存儲(chǔ)元件108。存儲(chǔ)元件108包括自動(dòng)運(yùn)行模塊160、一個(gè)或多個(gè)應(yīng)用程序文件162、專(zhuān)用存儲(chǔ)164、專(zhuān)用本地概況166、以及數(shù)據(jù)區(qū)168。數(shù)據(jù)區(qū)168包括在圖1的數(shù)據(jù)部分112中,而應(yīng)用程序文件162包括在圖1的應(yīng)用程序部分110中。自動(dòng)運(yùn)行模塊160通常包括在應(yīng)用程序部分110中,盡管模塊160或可包括在數(shù)據(jù)部分112中。專(zhuān)用存儲(chǔ)164和專(zhuān)用本地概況166通常都包括在數(shù)據(jù)部分112中,盡管存儲(chǔ)164和概況166或可包括在應(yīng)用程序部分110中。
應(yīng)當(dāng)注意,便攜式存儲(chǔ)設(shè)備102不包括用于執(zhí)行便攜式應(yīng)用程序的處理器。便攜式存儲(chǔ)設(shè)備102不是便攜式或手持式計(jì)算機(jī),相反,便攜式存儲(chǔ)設(shè)備102是存儲(chǔ)設(shè)備。但是,在某幾個(gè)實(shí)施例中,便攜式存儲(chǔ)設(shè)備102可包括為安全目的或加密使用的處理器,但該處理器并非用于執(zhí)行存儲(chǔ)在便攜式存儲(chǔ)設(shè)備102上的便攜式應(yīng)用程序。
自動(dòng)運(yùn)行模塊160被執(zhí)行以訪問(wèn)存儲(chǔ)在便攜式存儲(chǔ)設(shè)備102上的應(yīng)用程序。自動(dòng)運(yùn)行模塊160是用哪些應(yīng)用程序被存儲(chǔ)在便攜式存儲(chǔ)設(shè)備102上的知識(shí),或者用如何確定哪些應(yīng)用程序被存儲(chǔ)在便攜式存儲(chǔ)設(shè)備102上(諸如通過(guò)訪問(wèn)包括該信息的數(shù)據(jù)文件,掃描存儲(chǔ)元件108以尋找應(yīng)用程序模塊,等等)、以及如何執(zhí)行這些應(yīng)用程序的知識(shí)來(lái)編程的。自動(dòng)運(yùn)行模塊160隨即可向便攜式存儲(chǔ)設(shè)備102所耦合到的主設(shè)備上的操作系統(tǒng)標(biāo)識(shí)哪些應(yīng)用程序162應(yīng)被加載并執(zhí)行,以執(zhí)行所期望的應(yīng)用程序。所期望的應(yīng)用程序可由例如用戶選擇,或可被自動(dòng)編程到自動(dòng)運(yùn)行模塊160中。
自動(dòng)運(yùn)行模塊160可選地現(xiàn)實(shí)用戶界面,該用戶界面向用戶呈現(xiàn)用于與便攜式存儲(chǔ)設(shè)備102交互的各種選擇。這些選擇可包括,例如,存儲(chǔ)在便攜式存儲(chǔ)設(shè)備102上并可由用戶運(yùn)行的的應(yīng)用程序列表,以及存儲(chǔ)在便攜式存儲(chǔ)設(shè)備102上并可由用戶訪問(wèn)(例如,讀取、刪除、復(fù)制、等等)的數(shù)據(jù)文件列表。用戶界面還可擔(dān)當(dāng)用戶拖放文件圖標(biāo)、以將對(duì)應(yīng)文件復(fù)制到便攜式存儲(chǔ)設(shè)備102中的目的地。用戶界面還可支持瀏覽功能,從而控制便攜式存儲(chǔ)設(shè)備102所耦合到的主設(shè)備上的操作系統(tǒng),以允許用戶訪問(wèn)便攜式存儲(chǔ)設(shè)備102以及主設(shè)備的其它存儲(chǔ)設(shè)備、甚至經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)耦合到主設(shè)備的其它存儲(chǔ)設(shè)備上的不同文件夾或目錄。
自動(dòng)運(yùn)行模塊160還允許特定文件類(lèi)型與設(shè)備102的特定便攜式應(yīng)用程序相關(guān)聯(lián)。例如,一類(lèi)文件可以是文件名以“.doc”結(jié)尾的文件,它們可與文字處理便攜式應(yīng)用程序相關(guān)聯(lián),而另一類(lèi)文件可以是文件名以“.xls”結(jié)尾的文件,它們可與電子數(shù)據(jù)表便攜式應(yīng)用程序相關(guān)聯(lián)。特定文件類(lèi)型到特定便攜式應(yīng)用程序的關(guān)聯(lián)可在自動(dòng)運(yùn)行模塊160內(nèi),在專(zhuān)用存儲(chǔ)164中、或者設(shè)備102上的其它地方維護(hù)。特定文件類(lèi)型與特定便攜式應(yīng)用程序的關(guān)聯(lián)是由設(shè)備102(例如,由自動(dòng)運(yùn)行模塊160使用存儲(chǔ)在專(zhuān)用存儲(chǔ)164中的數(shù)據(jù)),而不是由設(shè)備102所耦合的主設(shè)備實(shí)現(xiàn)的。
將特定文件類(lèi)型與特定便攜式應(yīng)用程序相關(guān)聯(lián)允許自動(dòng)運(yùn)行模塊160在相關(guān)聯(lián)類(lèi)型的文件被用戶選擇時(shí)(例如,由用戶雙擊表示文件的圖標(biāo)、由用戶使用鍵盤(pán)來(lái)導(dǎo)航到表示文件的圖標(biāo)或文件名,等等)自動(dòng)運(yùn)行正確的便攜式應(yīng)用程序。例如,如果文件名以“.doc”結(jié)尾的文件與文字處理便攜式應(yīng)用程序相關(guān)聯(lián),那么如果用戶選擇“MyReport.doc”,則自動(dòng)運(yùn)行模塊160可自動(dòng)運(yùn)行文字處理便攜式應(yīng)用程序并將MyReport.doc文檔加載到文字處理便攜式應(yīng)用程序中。
將特定文件類(lèi)型與特定便攜式應(yīng)用程序相關(guān)聯(lián)還允許自動(dòng)運(yùn)行模塊160以其用戶界面的部分的形式呈現(xiàn)表示特定類(lèi)型文件的特定圖標(biāo)。例如,可為所有文件名以“.doc”結(jié)尾的文件顯示標(biāo)識(shí)文字處理便攜式應(yīng)用程序的特定圖標(biāo)。為特定文件類(lèi)型顯示的特定圖標(biāo)可在自動(dòng)運(yùn)行模塊160內(nèi)、在專(zhuān)用存儲(chǔ)164中、或在設(shè)備102上的其它地方維護(hù)。
在某幾個(gè)實(shí)施例中,自動(dòng)運(yùn)行模塊160由便攜式存儲(chǔ)設(shè)備102所耦合到的主設(shè)備的操作系統(tǒng)自動(dòng)加載并執(zhí)行。在這些實(shí)施例中,主設(shè)備上的操作系統(tǒng)被配置成在檢測(cè)到便攜式存儲(chǔ)設(shè)備被耦合到主設(shè)備時(shí)隨時(shí)自動(dòng)搜索自動(dòng)運(yùn)行模塊160。例如,操作系統(tǒng)可搜索存儲(chǔ)元件108或存儲(chǔ)元件108上特定的一個(gè)或多個(gè)文件夾或文件目錄,以尋找具有特定名稱(chēng)(諸如“Autorun.inf”)的自動(dòng)運(yùn)行模塊,訪問(wèn)存儲(chǔ)元件108的特定已知位置,等等。當(dāng)找到自動(dòng)運(yùn)行模塊160時(shí),操作系統(tǒng)執(zhí)行自動(dòng)運(yùn)行模塊160中的指令。
或者,能以其它方式啟動(dòng)自動(dòng)運(yùn)行模塊160的執(zhí)行。例如,主設(shè)備的用戶能以常規(guī)方式通過(guò)操作系統(tǒng)訪問(wèn)便攜式存儲(chǔ)設(shè)備102,而不是在便攜式存儲(chǔ)設(shè)備102被耦合到主設(shè)備時(shí)自動(dòng)運(yùn)行模塊160。用戶隨即可通過(guò)導(dǎo)航存儲(chǔ)在存儲(chǔ)元件108上的所有目錄或文件并選擇要執(zhí)行的文件名或圖標(biāo)(例如,通過(guò)雙擊文件名或圖標(biāo))來(lái)定位對(duì)應(yīng)于自動(dòng)運(yùn)行模塊160的文件名或圖標(biāo)。
在一些替換實(shí)施例中,用戶(或者另一個(gè)應(yīng)用程序或操作系統(tǒng))可手動(dòng)地導(dǎo)航存儲(chǔ)在存儲(chǔ)元件108上的所有目錄或文件夾以標(biāo)識(shí)要執(zhí)行的便攜式應(yīng)用程序,而不是使用自動(dòng)運(yùn)行模塊160。例如,如果主計(jì)算機(jī)104在運(yùn)行Windows操作系統(tǒng)中的一種,則用戶可使用Windows操作系統(tǒng)瀏覽器來(lái)手動(dòng)搜索存儲(chǔ)元件108中的所有文件夾。
應(yīng)用程序文件162包括用于運(yùn)行便攜式應(yīng)用程序的若干指令,以及用于運(yùn)行便攜式應(yīng)用程序的任何相關(guān)聯(lián)的數(shù)據(jù)文件,其中這些指令可被組織成一個(gè)或多個(gè)應(yīng)用程序模塊。應(yīng)用程序文件162是存儲(chǔ)在便攜式存儲(chǔ)設(shè)備102上的可執(zhí)行文件,以及便攜式應(yīng)用程序其它相關(guān)聯(lián)的文件。為了運(yùn)行便攜式應(yīng)用程序,由主計(jì)算機(jī)執(zhí)行這些可執(zhí)行文件中的一個(gè)或多個(gè)。各種不同應(yīng)用程序中的任何一種都可作為便攜式存儲(chǔ)設(shè)備102上的便攜式應(yīng)用程序被包括。此類(lèi)應(yīng)用程序的例子包括文字處理應(yīng)用程序、電子數(shù)據(jù)表應(yīng)用程序、數(shù)據(jù)庫(kù)應(yīng)用程序、演示應(yīng)用程序、參考應(yīng)用程序、游戲應(yīng)用程序、電子郵件(email)客戶程序、等等。這些應(yīng)用程序可以是被設(shè)計(jì)成安裝在臺(tái)式計(jì)算機(jī)上并在其上運(yùn)行的相同應(yīng)用程序的便攜式版本。例如,可有MicrosoftWord文字處理應(yīng)用程序的便攜式版本。便攜式版本與其對(duì)應(yīng)的臺(tái)式版本相比功能可能有所減少。例如,應(yīng)用程序中的某個(gè)功能在便攜式應(yīng)用程序中可能不讓其自身工作,諸如要求擴(kuò)展名被注冊(cè)到主設(shè)備的系統(tǒng)注冊(cè)表中(這將改變環(huán)境設(shè)置,而便攜式應(yīng)用程序不作此類(lèi)改變,如以下將詳細(xì)討論)的功能等。
許多操作系統(tǒng)使用系統(tǒng)信息存儲(chǔ)來(lái)維護(hù)計(jì)算機(jī)上運(yùn)行的操作系統(tǒng)以及計(jì)算機(jī)上安裝的應(yīng)用程序的數(shù)據(jù)。在MicrosoftWindows操作系統(tǒng)家族中,此類(lèi)系統(tǒng)信息存儲(chǔ)通常被稱(chēng)為系統(tǒng)注冊(cè)表。系統(tǒng)注冊(cè)表可存儲(chǔ),例如設(shè)備和應(yīng)用程序配置設(shè)置、文件類(lèi)型(例如,基于其擴(kuò)展名)與特定應(yīng)用程序的關(guān)聯(lián)、用戶偏好、性能調(diào)整參數(shù)、等等。通常,在計(jì)算機(jī)上安裝應(yīng)用程序期間,有關(guān)應(yīng)用程序的配置設(shè)置的各種信息被寫(xiě)到系統(tǒng)信息存儲(chǔ)中。相反,對(duì)于便攜式存儲(chǔ)設(shè)備102上的便攜式應(yīng)用程序而言,此類(lèi)設(shè)置不被寫(xiě)到系統(tǒng)信息存儲(chǔ)中。
為使便攜式應(yīng)用程序與其它應(yīng)用程序通信,而無(wú)須在系統(tǒng)信息存儲(chǔ)中維護(hù)關(guān)于便攜式應(yīng)用程序的信息,便攜式應(yīng)用程序利用環(huán)境的運(yùn)行時(shí)查詢(xún)。環(huán)境的運(yùn)行時(shí)查詢(xún)指一種應(yīng)用程序可發(fā)布有關(guān)其它哪個(gè)(些)應(yīng)用程序提供特定功能的查詢(xún)的技術(shù)。響應(yīng)于此類(lèi)查詢(xún),如果一便攜式應(yīng)用程序提供該功能,則該便攜式應(yīng)用程序用標(biāo)識(shí)如何調(diào)用該功能的信息響應(yīng)于該查詢(xún)。此查詢(xún)通常通過(guò)操作系統(tǒng)來(lái)代理,因此不是一個(gè)應(yīng)用程序直接查詢(xún)另一個(gè)應(yīng)用程序,而是應(yīng)用程序查詢(xún)操作系統(tǒng),后者進(jìn)而查詢(xún)其它應(yīng)用程序并將該查詢(xún)的結(jié)果返回給該應(yīng)用程序。因此,可查詢(xún)應(yīng)用程序以獲得關(guān)于如何調(diào)用該特定功能的信息,而不是檢查系統(tǒng)信息存儲(chǔ)以尋找有關(guān)如何調(diào)用便攜式應(yīng)用程序的特定功能的信息。
盡管關(guān)于便攜式應(yīng)用程序的數(shù)據(jù)不被寫(xiě)到系統(tǒng)信息存儲(chǔ)中,但是便攜式應(yīng)用程序本身可被設(shè)計(jì)成訪問(wèn)信息存儲(chǔ),包括將數(shù)據(jù)寫(xiě)到信息存儲(chǔ)中,及從信息存儲(chǔ)中讀取數(shù)據(jù)。為了適應(yīng)此類(lèi)訪問(wèn),在便攜式存儲(chǔ)設(shè)備102上包括專(zhuān)用存儲(chǔ)164。專(zhuān)用存儲(chǔ)164維護(hù)便攜式應(yīng)用程序的設(shè)置信息——通常在主計(jì)算機(jī)的系統(tǒng)信息存儲(chǔ)中維護(hù)的設(shè)置信息被改為在專(zhuān)用存儲(chǔ)164中維護(hù)。可為每個(gè)便攜式應(yīng)用程序維護(hù)單獨(dú)的專(zhuān)用存儲(chǔ)164,或者可為便攜式應(yīng)用程序集合或一組便攜式應(yīng)用程序維護(hù)單個(gè)專(zhuān)用存儲(chǔ)164。
每個(gè)便攜式應(yīng)用程序都被設(shè)計(jì)成訪問(wèn)專(zhuān)用存儲(chǔ)164,而不是主計(jì)算機(jī)上的系統(tǒng)信息存儲(chǔ)。因此,便攜式應(yīng)用程序可能寫(xiě)到信息存儲(chǔ)中的任何數(shù)據(jù)是作為便攜式應(yīng)用程序文件被寫(xiě)到同一便攜式存儲(chǔ)設(shè)備102上的專(zhuān)用存儲(chǔ)164中,因此主計(jì)算機(jī)上的系統(tǒng)信息存儲(chǔ)不會(huì)被寫(xiě)入用于任何便攜式應(yīng)用程序的配置或其它數(shù)據(jù)。在主計(jì)算機(jī)包括系統(tǒng)注冊(cè)表的某些實(shí)現(xiàn)中,因?yàn)楸銛y式應(yīng)用程序訪問(wèn)專(zhuān)用存儲(chǔ)164而不是系統(tǒng)注冊(cè)表,所以專(zhuān)用存儲(chǔ)164還可被稱(chēng)為專(zhuān)用注冊(cè)表。
便攜式應(yīng)用程序可被設(shè)計(jì)成以不同方式訪問(wèn)專(zhuān)用存儲(chǔ)164而不是主計(jì)算機(jī)上的系統(tǒng)信息存儲(chǔ)。在某些實(shí)施例中,主計(jì)算機(jī)上的系統(tǒng)信息存儲(chǔ)包括應(yīng)用程序編程接口(API),它具有可由應(yīng)用程序調(diào)用以訪問(wèn)系統(tǒng)信息存儲(chǔ)的多個(gè)接口。此訪問(wèn)可包括,例如從信息存儲(chǔ)中讀取值,將值寫(xiě)到信息存儲(chǔ)中,將值從信息存儲(chǔ)中刪除,在信息存儲(chǔ)中修改值,等等。專(zhuān)用存儲(chǔ)164包括具有類(lèi)似接口的類(lèi)似的API,這些接口通常和系統(tǒng)信息存儲(chǔ)的接口執(zhí)行相同的功能,但它們具有不同的名稱(chēng),并且在專(zhuān)用存儲(chǔ)164、而不是在系統(tǒng)信息存儲(chǔ)上操作。在某些實(shí)現(xiàn)中,便攜式應(yīng)用程序調(diào)用這些專(zhuān)用存儲(chǔ)接口,而不是系統(tǒng)信息存儲(chǔ)接口。
在其它實(shí)現(xiàn)中,便攜式應(yīng)用程序通過(guò)中介訪問(wèn)專(zhuān)用存儲(chǔ)接口。單個(gè)中介可作為一個(gè)便攜式應(yīng)用程序,或者便攜式應(yīng)用程序集合或一組便攜式應(yīng)用程序的中介。便攜式應(yīng)用程序中想要訪問(wèn)存儲(chǔ)的各個(gè)功能和指令與中介所給出的API交互。中介進(jìn)而與專(zhuān)用存儲(chǔ)所給出API交互。這一具有中介的結(jié)構(gòu)對(duì)程序設(shè)計(jì)者而言可能是有幫助的,因?yàn)樵O(shè)計(jì)者可設(shè)計(jì)應(yīng)用程序功能和指令,而無(wú)須考慮該應(yīng)用程序會(huì)是訪問(wèn)系統(tǒng)信息存儲(chǔ)的非便攜式應(yīng)用程序,還是訪問(wèn)專(zhuān)用存儲(chǔ)的便攜式應(yīng)用程序,從而設(shè)計(jì)兩個(gè)中介(一個(gè)用于訪問(wèn)專(zhuān)用存儲(chǔ)的便攜式應(yīng)用程序,另一個(gè)用于訪問(wèn)系統(tǒng)信息存儲(chǔ)的非便攜式應(yīng)用程序)。
在某些情況中,便攜式應(yīng)用程序可能需要或想要從存儲(chǔ)中檢索先前沒(méi)有存儲(chǔ)在專(zhuān)用存儲(chǔ)164中的信息。在此類(lèi)情況中,便攜式應(yīng)用程序(或中介)可訪問(wèn)主計(jì)算機(jī)上的系統(tǒng)信息存儲(chǔ)以讀取所需信息。此類(lèi)信息通常不是專(zhuān)屬于一個(gè)或多個(gè)便攜式應(yīng)用程序的信息,而是關(guān)于主計(jì)算機(jī)的一般信息。便攜式應(yīng)用程序(或中介)被設(shè)計(jì)成知道對(duì)于便攜式應(yīng)用程序所需的特定信息而言,是應(yīng)訪問(wèn)系統(tǒng)信息存儲(chǔ)以獲取該特定信息,還是應(yīng)訪問(wèn)專(zhuān)用存儲(chǔ)164以獲取該特定信息。但是,注意,要被寫(xiě)到存儲(chǔ)中、或從存儲(chǔ)中刪除的任何信息不會(huì)被寫(xiě)到系統(tǒng)信息存儲(chǔ)中或從系統(tǒng)信息存儲(chǔ)中刪除。
或者,當(dāng)便攜式存儲(chǔ)設(shè)備102被耦合到主計(jì)算機(jī)時(shí),該主計(jì)算機(jī)的系統(tǒng)信息存儲(chǔ)中的信息可被復(fù)制到專(zhuān)用存儲(chǔ)164中,盡管已經(jīng)在專(zhuān)用存儲(chǔ)164中的任何數(shù)據(jù)不會(huì)被此復(fù)制所覆蓋。因此,在此替換實(shí)施例中,不應(yīng)出現(xiàn)便攜式應(yīng)用程序訪問(wèn)先前沒(méi)有存儲(chǔ)在專(zhuān)用存儲(chǔ)164中的信息的情況。在其它替換實(shí)施例中,專(zhuān)用存儲(chǔ)164可用默認(rèn)值來(lái)預(yù)編程或配置,這些默認(rèn)值被使用,直至它們?yōu)楸銛y式應(yīng)用程序所覆蓋。
類(lèi)似與專(zhuān)用存儲(chǔ)164,便攜式存儲(chǔ)設(shè)備102還包括專(zhuān)用本地概況166。專(zhuān)用本地概況166存儲(chǔ)便攜式存儲(chǔ)設(shè)備102的用戶的本地概況,該本地概況存儲(chǔ)各種用戶設(shè)置和偏好信息。通過(guò)保存此類(lèi)信息,便攜式存儲(chǔ)設(shè)備102允許用戶定制他或她的體驗(yàn),并且即使他或她可能在多個(gè)不同的主計(jì)算機(jī)上使用該便攜式存儲(chǔ)設(shè)備102,該定制仍被保持??蔀槊總€(gè)便攜式應(yīng)用程序維護(hù)單獨(dú)的專(zhuān)用本地概況166,或者可為便攜式應(yīng)用程序集合或一組便攜式應(yīng)用程序維護(hù)單個(gè)專(zhuān)用本地概況166。
使用專(zhuān)用本地概況166,而不是通常在主計(jì)算機(jī)上找到的本地概況來(lái)存儲(chǔ)此類(lèi)信息。類(lèi)似于專(zhuān)用存儲(chǔ)164,專(zhuān)用本地概況166由便攜式應(yīng)用程序可選地經(jīng)由代表便攜式應(yīng)用程序的中介來(lái)訪問(wèn),基于便攜式應(yīng)用程序所請(qǐng)求的動(dòng)作,所請(qǐng)求的數(shù)據(jù)被適當(dāng)?shù)貦z索、寫(xiě)入、刪除、修改、等等。專(zhuān)用本地概況166以及任何中介可給出類(lèi)似于以上關(guān)于專(zhuān)用存儲(chǔ)164的討論的API。
在某些實(shí)施例中,在被讀取的數(shù)據(jù)不在專(zhuān)用本地概況166中的情況下,對(duì)本地概況的讀訪問(wèn)被定向(例如,由中介)到存儲(chǔ)在主計(jì)算機(jī)上的本地概況?;蛘撸鎯?chǔ)在主計(jì)算機(jī)上的本地概況可被復(fù)制到專(zhuān)用本地概況166,盡管專(zhuān)用本地概況166中已經(jīng)存在的任何設(shè)置的數(shù)據(jù)不會(huì)被此復(fù)制過(guò)程所覆蓋。在其它替換實(shí)施例中,專(zhuān)用本地概況166可用默認(rèn)值來(lái)預(yù)編程或配置,這些默認(rèn)值被使用,直至它們被便攜式應(yīng)用程序所覆蓋。
因此,通過(guò)在便攜式存儲(chǔ)設(shè)備102上維護(hù)應(yīng)用程序文件以及應(yīng)用程序數(shù)據(jù)、信息存儲(chǔ)數(shù)據(jù)和本地概況數(shù)據(jù),不需要對(duì)主計(jì)算機(jī)作任何永久性改變。當(dāng)執(zhí)行、或?yàn)榱藞?zhí)行便攜式存儲(chǔ)設(shè)備102上的便攜式應(yīng)用程序時(shí),不對(duì)主機(jī)上的計(jì)算機(jī)系統(tǒng)信息存儲(chǔ)或主計(jì)算機(jī)上的本地概況作任何改變。存儲(chǔ)在主計(jì)算機(jī)的系統(tǒng)信息存儲(chǔ)和本地概況中的信息可被稱(chēng)為主計(jì)算機(jī)上的環(huán)境設(shè)置,當(dāng)執(zhí)行便攜式應(yīng)用程序時(shí)不對(duì)此環(huán)境作任何改變。此外,應(yīng)用程序文件以及數(shù)據(jù)文件存儲(chǔ)在便攜式存儲(chǔ)設(shè)備102上,因此沒(méi)有任何應(yīng)用程序文件或數(shù)據(jù)文件被寫(xiě)到主計(jì)算機(jī)中。
在某些實(shí)施例中,當(dāng)執(zhí)行便攜式應(yīng)用程序時(shí),沒(méi)有任何文件或環(huán)境設(shè)置被寫(xiě)到主計(jì)算機(jī)中。如果便攜式應(yīng)用程序在執(zhí)行期間的確利用任何臨時(shí)文件,則這些臨時(shí)文件被存儲(chǔ)在便攜式存儲(chǔ)設(shè)備102上,而不是主系統(tǒng)上。在替換實(shí)施例中,在便攜式應(yīng)用程序執(zhí)行期間,一個(gè)或多個(gè)臨時(shí)文件可被寫(xiě)到主計(jì)算機(jī)中。在執(zhí)行期間將臨時(shí)文件寫(xiě)到主計(jì)算機(jī)中的便攜式應(yīng)用程序在該應(yīng)用程序執(zhí)行被終止時(shí),刪除那些臨時(shí)文件,作為關(guān)閉其自身的一部分?;蛘?,便攜式應(yīng)用程序可依靠諸如主計(jì)算機(jī)上的操作系統(tǒng)等另一個(gè)組件,在便攜式應(yīng)用程序停止運(yùn)行時(shí),或在有規(guī)律或無(wú)規(guī)律的時(shí)間間隔來(lái)刪除那些臨時(shí)文件。
此外,在某些實(shí)施例中,便攜式存儲(chǔ)設(shè)備102可能具有特定的主計(jì)算機(jī),與之同步數(shù)據(jù)文件。此“起始”或“基礎(chǔ)”主計(jì)算機(jī)上、或者便攜式存儲(chǔ)設(shè)備102上的應(yīng)用程序?qū)z測(cè)便攜式存儲(chǔ)設(shè)備102何時(shí)被耦合到該起始或基礎(chǔ)主計(jì)算機(jī),然后檢查是否已對(duì)數(shù)據(jù)區(qū)168中的數(shù)據(jù)文件作出任何修改(例如,基于數(shù)據(jù)文件的最后修改日期和時(shí)間,或者任何數(shù)據(jù)文件的添加或刪除)。任何新文件,或最后修改日期和時(shí)間晚于起始或基礎(chǔ)主計(jì)算機(jī)上的最后修改日期和時(shí)間的任何文件隨即被復(fù)制到起始或基礎(chǔ)主計(jì)算機(jī)上。用戶可選地被提示認(rèn)證他或她想要這一同步發(fā)生。
圖3所示是一種用于執(zhí)行便攜式應(yīng)用程序的示例性過(guò)程200的流程圖。過(guò)程200由便攜式存儲(chǔ)設(shè)備所耦合到的主計(jì)算機(jī)執(zhí)行。過(guò)程200可在軟件、固件、硬件、或其組合中實(shí)現(xiàn)。
開(kāi)始,主計(jì)算機(jī)檢測(cè)便攜式存儲(chǔ)設(shè)備(動(dòng)作202)。如以上所討論,此檢測(cè)在便攜式存儲(chǔ)設(shè)備被插入或者耦合到主計(jì)算機(jī)時(shí)被自動(dòng)執(zhí)行。
主計(jì)算機(jī)隨即標(biāo)識(shí)便攜式存儲(chǔ)設(shè)備上的便攜式應(yīng)用程序(動(dòng)作204)。如以上所討論,此標(biāo)識(shí)可由主計(jì)算機(jī)自動(dòng)執(zhí)行,或可由導(dǎo)航到便攜式存儲(chǔ)設(shè)備的用戶手動(dòng)執(zhí)行。隨后可選地向用戶呈現(xiàn)運(yùn)行所標(biāo)識(shí)的便攜式應(yīng)用程序的選擇(動(dòng)作206)。如以上所討論,可向用戶顯示用戶界面,以允許用戶選擇他或她想要運(yùn)行哪個(gè)(些)便攜式應(yīng)用程序?;蛘?,主計(jì)算機(jī)可自動(dòng)選擇運(yùn)行便攜式存儲(chǔ)設(shè)備上便攜式應(yīng)用程序中的一個(gè)或多個(gè)。
所標(biāo)識(shí)的便攜式應(yīng)用程序隨即在主計(jì)算機(jī)上運(yùn)行,而不改變主計(jì)算機(jī)上的任何環(huán)境設(shè)置(動(dòng)作208)。如以上所討論,在便攜式存儲(chǔ)設(shè)備上維護(hù)專(zhuān)用存儲(chǔ)和專(zhuān)用本地概況,因此在便攜式應(yīng)用程序的執(zhí)行期間,不需要對(duì)存儲(chǔ)在主計(jì)算機(jī)上的系統(tǒng)信息存儲(chǔ)或概況作任何改變。
回到圖2,一些應(yīng)用程序制造商用來(lái)確保用戶滿足許可義務(wù)的一種當(dāng)前的技術(shù)是,要求用戶在將應(yīng)用程序安裝到用戶的計(jì)算機(jī)上以后激活該應(yīng)用程序。應(yīng)用程序通常要求在特定時(shí)間范圍之內(nèi)(諸如在第一次運(yùn)行該應(yīng)用程序后的特定天數(shù)之內(nèi),或者在運(yùn)行該應(yīng)用程序某個(gè)次數(shù)以前)執(zhí)行此激活。激活過(guò)程將應(yīng)用程序綁定到特定計(jì)算機(jī),以將應(yīng)用程序的特定副本與特定計(jì)算機(jī)相關(guān)聯(lián)。激活過(guò)程通常涉及用戶或其它個(gè)人輸入隨應(yīng)用程序副本所附的字母數(shù)字序列或密鑰。如果在所要求的時(shí)間范圍之內(nèi)應(yīng)用程序未被成功激活,則該應(yīng)用程序或者不能被運(yùn)行,或者只能在功能有所減少的狀態(tài)下運(yùn)行(例如,沒(méi)有某些特征或功能性部分),直至該應(yīng)用程序被成功激活。
通過(guò)維護(hù)應(yīng)用程序的特定副本與特定計(jì)算機(jī)的關(guān)聯(lián),應(yīng)用程序制造商可檢測(cè)是否有任何將應(yīng)用程序的同一副本綁定到多個(gè)計(jì)算機(jī)的企圖。如果像時(shí)常出現(xiàn)的情形那樣,在多個(gè)計(jì)算機(jī)上使用應(yīng)用程序的同一副本違反許可協(xié)議,則副本在第二或后續(xù)的計(jì)算機(jī)上的激活可被拒絕,許可協(xié)議的條款得到支持。
但是在便攜式應(yīng)用程序的實(shí)例中,將應(yīng)用程序綁定到特定計(jì)算機(jī)的激活技術(shù)是不合乎需要的,因?yàn)楸銛y式應(yīng)用程序的基本概念之一就是其上存儲(chǔ)便攜式應(yīng)用程序的便攜式存儲(chǔ)設(shè)備可被輕易地從一個(gè)計(jì)算機(jī)移到另一個(gè)計(jì)算機(jī),并在兩個(gè)計(jì)算機(jī)上運(yùn)行。因此,在便攜式應(yīng)用程序的實(shí)例中,便攜式應(yīng)用程序被綁定到便攜式存儲(chǔ)設(shè)備,而不是特定計(jì)算機(jī)。
通過(guò)使用便攜式存儲(chǔ)設(shè)備的標(biāo)識(shí)符來(lái)將便攜式應(yīng)用程序綁定到便攜式存儲(chǔ)設(shè)備。這一標(biāo)識(shí)符被設(shè)計(jì)成兩個(gè)不同的便攜式存儲(chǔ)設(shè)備很不可能具有相同的標(biāo)識(shí)符。因此,這一標(biāo)識(shí)符可被用來(lái)確定是否有將同一應(yīng)用程序綁定到多個(gè)不同的便攜式存儲(chǔ)設(shè)備的企圖。
便攜式存儲(chǔ)設(shè)備的標(biāo)識(shí)符能以不同方式生成。標(biāo)識(shí)符可由制造商分配,并在制造過(guò)程期間,或作為制造商所使用的預(yù)配置過(guò)程的一部分被包括到便攜式存儲(chǔ)設(shè)備中。標(biāo)識(shí)符可被包括在便攜式存儲(chǔ)設(shè)備的非可重寫(xiě)部分(諸如使用可被寫(xiě)一次,但不可被擦除或重寫(xiě)的存儲(chǔ)器的部分)中,以使其以后不會(huì)被修改。
或者,便攜式存儲(chǔ)設(shè)備的標(biāo)識(shí)符可以是設(shè)備的簽名,該簽名是基于便攜式存儲(chǔ)設(shè)備的各個(gè)硬件方面。此簽名可由便攜式存儲(chǔ)設(shè)備上的應(yīng)用程序(諸如由被激活的便攜式應(yīng)用程序或由某個(gè)其它應(yīng)用程序)生成。簽名可被存儲(chǔ)在便攜式存儲(chǔ)設(shè)備上以供后續(xù)使用,或可在每次需要它時(shí)重新生成?;蛘?,簽名可由某個(gè)其它組件(例如,由便攜式存儲(chǔ)設(shè)備的制造商的系統(tǒng))生成,并存儲(chǔ)在便攜式存儲(chǔ)設(shè)備上。
在其它替換方案中,便攜式存儲(chǔ)設(shè)備的標(biāo)識(shí)符從便攜式存儲(chǔ)設(shè)備上的處理組件直接或間接傳達(dá)。例如,處理組件可包括能執(zhí)行公鑰加密操作的加密處理器。一個(gè)質(zhì)詢(xún)(例如,字母數(shù)字符號(hào)和/或其它符號(hào)序列)可從請(qǐng)求者(諸如將便攜式應(yīng)用程序綁定到便攜式存儲(chǔ)設(shè)備的設(shè)備或服務(wù))向加密處理器傳達(dá)。加密處理器使用加密處理器的私鑰將質(zhì)詢(xún)加密,并將已加密的質(zhì)詢(xún)返回給請(qǐng)求者。請(qǐng)求者隨即可使用加密處理器的已知公鑰來(lái)認(rèn)證加密處理器的身份,從而認(rèn)證該加密處理器所駐留的便攜式存儲(chǔ)設(shè)備的身份。因?yàn)槊恳粋€(gè)加密處理器都有不同的公鑰/私鑰對(duì),所以不同的便攜式存儲(chǔ)設(shè)備可被分別標(biāo)識(shí)。
一旦被激活,信息即可被寫(xiě)回便攜式存儲(chǔ)設(shè)備中,從而便攜式存儲(chǔ)設(shè)備上的便攜式應(yīng)用程序知道它已被成功激活?;蛘撸銛y式應(yīng)用程序不是將此類(lèi)數(shù)據(jù)寫(xiě)回便攜式存儲(chǔ)設(shè)備中,而是使用主計(jì)算機(jī)的網(wǎng)絡(luò)連接來(lái)訪問(wèn)服務(wù)器(例如,經(jīng)由因特網(wǎng)),以檢查該應(yīng)用程序是否已被成功激活。
圖4所示是一種用于激活便攜式應(yīng)用程序的示例性過(guò)程250的流程圖。過(guò)程250可在軟件、固件、硬件、或其組合中實(shí)現(xiàn)。
開(kāi)始,獲得設(shè)備標(biāo)識(shí)符和便攜式應(yīng)用程序密鑰(動(dòng)作252)。設(shè)備標(biāo)識(shí)符可通過(guò)檢索先前存儲(chǔ)到便攜式存儲(chǔ)設(shè)備中的標(biāo)識(shí)符,或者通過(guò)生成標(biāo)識(shí)符(例如,如以上所討論的便攜式存儲(chǔ)設(shè)備的簽名)來(lái)獲得。便攜式應(yīng)用程序密鑰能以不同方式獲得,但通常由用戶手動(dòng)將密鑰輸入到便攜式存儲(chǔ)設(shè)備所耦合到的主計(jì)算機(jī)中來(lái)獲得。當(dāng)購(gòu)買(mǎi)便攜式應(yīng)用程序或已安裝便攜式應(yīng)用程序的便攜式存儲(chǔ)設(shè)備時(shí),此密鑰可被包括在例如包裝中。便攜式應(yīng)用程序的每一個(gè)副本通常都被分配一個(gè)不同的密鑰。
隨即向激活服務(wù)傳達(dá)設(shè)備標(biāo)識(shí)符和便攜式應(yīng)用程序密鑰(動(dòng)作254)。激活服務(wù)是在一個(gè)或多個(gè)設(shè)備上實(shí)現(xiàn)的服務(wù),它負(fù)責(zé)確定便攜式應(yīng)用程序是否已被綁定到最大允許個(gè)數(shù)的設(shè)備。此確定是通過(guò)分析先前激活的應(yīng)用程序的記錄,并檢查便攜式應(yīng)用程序密鑰是否已與最大允許個(gè)數(shù)的設(shè)備相關(guān)聯(lián)(基于與便攜式應(yīng)用程序相關(guān)聯(lián)的許可)來(lái)作出的。激活服務(wù)還負(fù)責(zé)確定便攜式應(yīng)用程序密鑰的有效性。便攜式應(yīng)用程序密鑰的有效性能以各種方式中的任何一種來(lái)確定,諸如有有效密鑰列表,有處理便攜式應(yīng)用程序密鑰以確定有效性的算法,等等。
然后過(guò)程250基于便攜式應(yīng)用程序的激活是否成功來(lái)繼續(xù)前進(jìn)(動(dòng)作256)。如果便攜式應(yīng)用程序密鑰尚未被綁定到最大允許個(gè)數(shù)的設(shè)備(或如果該便攜式應(yīng)用程序密鑰先前曾被綁定到此設(shè)備標(biāo)識(shí)符),并且便攜式應(yīng)用程序密鑰是有效密鑰,則激活是成功的。但是,如果便攜式應(yīng)用程序密鑰已被綁定到最大允許個(gè)數(shù)的設(shè)備,或如果便攜式應(yīng)用程序密鑰不是有效密鑰,則激活是不成功的。
如果激活是成功的,則激活服務(wù)維護(hù)該便攜式應(yīng)用程序密鑰與該設(shè)備標(biāo)識(shí)符相關(guān)聯(lián)的記錄(動(dòng)作258)。便攜式應(yīng)用程序已被激活的指示被返回給便攜式應(yīng)用程序,且便攜式應(yīng)用程序已被激活的指示也可被存儲(chǔ)在便攜式存儲(chǔ)設(shè)備中,如以上所討論。此指示可以是,例如特定標(biāo)識(shí)符或數(shù)據(jù)值、其真實(shí)性可由便攜式應(yīng)用程序使用加密算法來(lái)認(rèn)證的數(shù)字證書(shū)、等等。但是,如果激活是不成功的,則激活失敗(動(dòng)作260),且激活已失敗的指示被返回給便攜式應(yīng)用程序。
回到圖2,便攜式應(yīng)用程序可被預(yù)安裝在便攜式存儲(chǔ)設(shè)備102上,或可由用戶安裝。便攜式應(yīng)用程序可由便攜式存儲(chǔ)設(shè)備102的制造商,或由某個(gè)其它實(shí)體(例如,轉(zhuǎn)售者、發(fā)行者、制造商所雇傭的第三方等等)預(yù)安裝。因此,用戶將購(gòu)買(mǎi)其上已存儲(chǔ)有一個(gè)或多個(gè)便攜式應(yīng)用程序的便攜式存儲(chǔ)設(shè)備102。或者,一個(gè)或多個(gè)便攜式應(yīng)用程序可由用戶安裝到便攜式存儲(chǔ)設(shè)備102上。例如,用戶可購(gòu)買(mǎi)盤(pán)上的便攜式應(yīng)用程序,或通過(guò)網(wǎng)絡(luò)(諸如因特網(wǎng)等)購(gòu)買(mǎi)便攜式應(yīng)用程序,并將所購(gòu)買(mǎi)的應(yīng)用程序安裝到便攜式存儲(chǔ)設(shè)備102上。
在安裝過(guò)程期間,無(wú)論安裝過(guò)程是由便攜式存儲(chǔ)設(shè)備102的購(gòu)買(mǎi)者還是由某個(gè)其它個(gè)人執(zhí)行,必要的文件都作為應(yīng)用程序文件112被復(fù)制到存儲(chǔ)元件108中,且對(duì)那些文件任何必要的改變或配置都被執(zhí)行。此外,通常作為安裝過(guò)程的一部分會(huì)被寫(xiě)到系統(tǒng)信息存儲(chǔ)中的任何信息改為被寫(xiě)到專(zhuān)用存儲(chǔ)164中。通常,執(zhí)行建立文件以安裝便攜式應(yīng)用程序。當(dāng)執(zhí)行建立文件時(shí),它執(zhí)行這些各種功能以安裝應(yīng)用程序。
圖5所示是一種用于將便攜式應(yīng)用程序安裝在便攜式存儲(chǔ)設(shè)備上的示例性過(guò)程280的流程圖。過(guò)程280可在軟件、固件、硬件、或其組合中實(shí)現(xiàn)。
開(kāi)始,接收將便攜式應(yīng)用程序安裝到便攜式存儲(chǔ)設(shè)備上的請(qǐng)求(動(dòng)作282)。此請(qǐng)求可以是手動(dòng)的用戶選擇,諸如用戶雙擊“安裝”或“建立”圖標(biāo),或者將一個(gè)或多個(gè)文件(諸如“安裝”或“建立”文件或圖標(biāo))從源介質(zhì)拖放到便攜式存儲(chǔ)設(shè)備?;蛘咴撜?qǐng)求可以是某個(gè)其它動(dòng)作中所固有的,諸如將安裝盤(pán)插入到便攜式存儲(chǔ)設(shè)備所耦合到的同一計(jì)算機(jī)中,或?qū)⒈銛y式存儲(chǔ)設(shè)備耦合到特定計(jì)算機(jī)(例如,在制造商或某個(gè)其它第三方位置處)等。
響應(yīng)于該請(qǐng)求,便攜式應(yīng)用程序的一個(gè)或多個(gè)應(yīng)用程序文件被寫(xiě)到便攜式存儲(chǔ)設(shè)備中(動(dòng)作284)。這些應(yīng)用程序文件是,例如圖2的應(yīng)用程序文件162。應(yīng)用程序文件隨即被適當(dāng)?shù)嘏渲?動(dòng)作286)。作為安裝過(guò)程的一部分,需要什么配置(如果有的話)可能根據(jù)不同的便攜式應(yīng)用程序而改變。所需的任何此類(lèi)配置通常在與便攜式應(yīng)用程序相關(guān)聯(lián)的安裝文件中被標(biāo)識(shí)(這通常實(shí)現(xiàn)過(guò)程280)。
除了配置應(yīng)用程序文件以外,自動(dòng)運(yùn)行模塊160還可在動(dòng)作286中被配置。自動(dòng)運(yùn)行模塊160的這一配置包括向自動(dòng)運(yùn)行模塊160添加標(biāo)識(shí)便攜式存儲(chǔ)設(shè)備上存在便攜式應(yīng)用程序的信息,以及關(guān)于如何執(zhí)行該便攜式應(yīng)用程序的信息(例如,要執(zhí)行哪個(gè)(些)文件以開(kāi)始運(yùn)行該便攜式應(yīng)用程序,存儲(chǔ)了該便攜式應(yīng)用程序的那些文件夾文件,等等)。
關(guān)于便攜式應(yīng)用程序的信息隨即被寫(xiě)到便攜式存儲(chǔ)設(shè)備上的專(zhuān)用存儲(chǔ)中(動(dòng)作288)。寫(xiě)到專(zhuān)用存儲(chǔ)中的信息可以是關(guān)于便攜式應(yīng)用程序的任何信息,諸如應(yīng)用程序的配置設(shè)置,在應(yīng)用程序運(yùn)行時(shí)提高其性能的性能調(diào)整參數(shù),哪些文件類(lèi)型與該便攜式應(yīng)用程序相關(guān)聯(lián)(例如,從而為該類(lèi)型的文件顯示正確的圖標(biāo),以向用戶可視化地標(biāo)識(shí)這些文件與該便攜式應(yīng)用程序相關(guān)聯(lián)),等等。如以上所討論,此類(lèi)信息被寫(xiě)到便攜式存儲(chǔ)設(shè)備上的專(zhuān)用存儲(chǔ)中,而不是該便攜式存儲(chǔ)設(shè)備所耦合到的計(jì)算機(jī)上的系統(tǒng)信息存儲(chǔ)中。在一些情況中,第一次為特定的便攜式存儲(chǔ)設(shè)備執(zhí)行動(dòng)作288時(shí),專(zhuān)用存儲(chǔ)可能尚未被創(chuàng)建。在此類(lèi)情形中,作為動(dòng)作288的一部分,在便攜式存儲(chǔ)設(shè)備上創(chuàng)建專(zhuān)用存儲(chǔ)。
應(yīng)當(dāng)注意,在替換實(shí)施例中,安裝過(guò)程可能有所不同。例如,在一個(gè)或多個(gè)文件從源介質(zhì)被復(fù)制到便攜式存儲(chǔ)設(shè)備中處可使用拖放技術(shù)。又如,可創(chuàng)建包括所有可執(zhí)行文件、專(zhuān)用存儲(chǔ)、專(zhuān)用本地概況和自動(dòng)運(yùn)行模塊的存儲(chǔ)元件的映像,如其在便攜式應(yīng)用程序的安裝以后應(yīng)存在的形式,而不是從諸如安裝文件來(lái)執(zhí)行安裝過(guò)程280。然后此映像可被簡(jiǎn)單地復(fù)制到便攜式存儲(chǔ)設(shè)備的存儲(chǔ)元件上,結(jié)果形成具有所有所需的可執(zhí)行文件、以及用適當(dāng)數(shù)據(jù)填充的專(zhuān)用存儲(chǔ)和/或?qū)S帽镜馗艣r的便攜式存儲(chǔ)設(shè)備。這一預(yù)生成映像并將該映像復(fù)制到便攜式存儲(chǔ)設(shè)備上的過(guò)程通常為便攜式存儲(chǔ)設(shè)備的制造商,或者制造、發(fā)送或銷(xiāo)售用相同便攜式應(yīng)用程序配置的大量便攜式存儲(chǔ)設(shè)備的第三方所使用。
回到圖2,應(yīng)當(dāng)注意,盡管圖示存儲(chǔ)元件108中包括模塊160、文件162、存儲(chǔ)164、概況166以及數(shù)據(jù)區(qū)168,但是這些組件中的一個(gè)或多個(gè),或者一個(gè)或多個(gè)這些組件的部分可存儲(chǔ)在不同類(lèi)型的存儲(chǔ)器中。例如,可使用非可重寫(xiě)只讀存儲(chǔ)器,而不是可重寫(xiě)存儲(chǔ)元件來(lái)存儲(chǔ)一個(gè)或多個(gè)組件或其部分??杀淮鎯?chǔ)在非可重寫(xiě)只讀存儲(chǔ)器中的組件或其部分將是不可改變的組件或部分,諸如應(yīng)用程序的特定指令(應(yīng)用程序文件162的全部或一部分)、本文中所討論的自動(dòng)運(yùn)行功能的指令(自動(dòng)運(yùn)行模塊160的全部或一部分)、等等。
此外,應(yīng)當(dāng)注意,便攜式存儲(chǔ)設(shè)備102可以是各種不同設(shè)備中的任何一種。例如,便攜式存儲(chǔ)設(shè)備102可以是便攜式USB閃存存儲(chǔ)設(shè)備、便攜式硬盤(pán)驅(qū)動(dòng)器設(shè)備、或包括閃存或其它存儲(chǔ)元件的某種其它設(shè)備,諸如數(shù)字?jǐn)z像機(jī)等。
因此,可以看到,本文中所討論的便攜式應(yīng)用程序允許便攜式存儲(chǔ)設(shè)備上的應(yīng)用程序有簡(jiǎn)單易行的便攜性。可簡(jiǎn)單地通過(guò)將便攜式存儲(chǔ)設(shè)備插入、或?qū)⒈銛y式存儲(chǔ)設(shè)備耦合到不同的主計(jì)算機(jī),在不同主計(jì)算機(jī)上運(yùn)行便攜式應(yīng)用程序。對(duì)主計(jì)算機(jī)中的任何一個(gè)的環(huán)境設(shè)置都不作任何改變,也不在主計(jì)算機(jī)中的任何一個(gè)上安裝任何文件。因此,即使便攜式應(yīng)用程序在主計(jì)算機(jī)上運(yùn)行,該主計(jì)算機(jī)上的環(huán)境設(shè)置仍保持原樣,并且用戶的隱私被保持,因?yàn)楸銛y式應(yīng)用程序不會(huì)遺留可能泄漏關(guān)于用戶或者他或她曾處理的數(shù)據(jù)的信息的任何文件或設(shè)置。
圖6示出可使用本文所述的便攜式應(yīng)用程序的通用計(jì)算機(jī)環(huán)境300。計(jì)算機(jī)環(huán)境300指示計(jì)算環(huán)境的一個(gè)示例,并不試圖對(duì)計(jì)算機(jī)和網(wǎng)絡(luò)體系結(jié)構(gòu)的使用范圍或功能提出任何限制。也不應(yīng)將計(jì)算機(jī)環(huán)境300解釋為具有涉及示例性計(jì)算機(jī)環(huán)境300中所示的任何組件或其組合的依賴(lài)性或要求。
計(jì)算機(jī)環(huán)境300包括計(jì)算機(jī)302形式的通用計(jì)算設(shè)備。計(jì)算機(jī)302可以是,例如圖1的主計(jì)算機(jī)104。計(jì)算機(jī)302的組件可包括,但不限于,一個(gè)或多個(gè)處理器或處理單元304、系統(tǒng)存儲(chǔ)器306、以及將包括處理器304在內(nèi)的各種系統(tǒng)組件耦合到系統(tǒng)存儲(chǔ)器306的系統(tǒng)總線308。
系統(tǒng)總線308標(biāo)識(shí)若干類(lèi)型的總線結(jié)構(gòu)中的一種或數(shù)種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、加速圖形端口、使用各種總線體系結(jié)構(gòu)中的任何以后德宗處理器或局部總線。作為示例,此類(lèi)體系結(jié)構(gòu)可包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)的ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線、以及也稱(chēng)為Mezzanine總線的外圍組件互連(PCI)總線。
計(jì)算機(jī)302通常包括各種計(jì)算機(jī)可讀介質(zhì)。此類(lèi)介質(zhì)可以是計(jì)算機(jī)302可訪問(wèn)的任何可用介質(zhì),并包括易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。
系統(tǒng)存儲(chǔ)器306包括諸如隨機(jī)存取存儲(chǔ)器(RAM)310等易失性存儲(chǔ)器形式的計(jì)算機(jī)可讀介質(zhì),和/或諸如只讀存儲(chǔ)器(ROM)312等非易失性存儲(chǔ)器。包含諸如在啟動(dòng)期間幫助在計(jì)算機(jī)302內(nèi)的各元件之間傳送消息的基本例程的基本輸入/輸出系統(tǒng)(BIOS)312存儲(chǔ)在ROM312中。RAM310通常包含處理304即時(shí)可訪問(wèn)的、和/或當(dāng)前正由其操作的數(shù)據(jù)和/或程序模塊。
計(jì)算機(jī)302還可包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。作為示例,圖6示出用于讀或?qū)懖豢梢苿?dòng)、非易失性磁介質(zhì)(未示出)的硬盤(pán)驅(qū)動(dòng)器316,用于讀或?qū)懣梢苿?dòng)、非易失性磁盤(pán)320(例如,“軟盤(pán)”)的磁盤(pán)驅(qū)動(dòng)器332,以及用于讀和/或?qū)懼T如CD-ROM、DVD-ROM或其它光介質(zhì)等可移動(dòng)、非易失性光盤(pán)324的光盤(pán)驅(qū)動(dòng)器322。硬盤(pán)驅(qū)動(dòng)器316、磁盤(pán)驅(qū)動(dòng)器332和光盤(pán)驅(qū)動(dòng)器322每一個(gè)都由一個(gè)或多個(gè)數(shù)據(jù)介質(zhì)接口326連接到系統(tǒng)總線308?;蛘?,硬盤(pán)驅(qū)動(dòng)器316、磁盤(pán)驅(qū)動(dòng)器332和光盤(pán)驅(qū)動(dòng)器322可由一個(gè)或多個(gè)接口(未示出)連接到系統(tǒng)總線308。還可將其它計(jì)算機(jī)存儲(chǔ)介質(zhì)作為計(jì)算機(jī)302的部分包括在內(nèi),諸如以上所討論的便攜式閃存設(shè)備。
磁盤(pán)存儲(chǔ)及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為計(jì)算機(jī)302提供計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲(chǔ)。盡管該例示出硬盤(pán)316、可移動(dòng)磁盤(pán)320和可移動(dòng)光盤(pán)324,應(yīng)當(dāng)認(rèn)識(shí)到,還可利用諸如磁帶盒或其它磁存儲(chǔ)設(shè)備,閃存卡,CD-ROM、數(shù)字多功能盤(pán)(DVD)或其它光存儲(chǔ)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)等能夠存儲(chǔ)可計(jì)算機(jī)可訪問(wèn)的數(shù)據(jù)的其它類(lèi)型的計(jì)算機(jī)可讀介質(zhì)來(lái)實(shí)現(xiàn)該示例性計(jì)算系統(tǒng)和環(huán)境。
任何數(shù)量的程序模塊可被存儲(chǔ)在硬盤(pán)316、磁盤(pán)320、光盤(pán)324、ROM 312、和/或RAM310上,例如包括,操作系統(tǒng)326、一個(gè)或多個(gè)應(yīng)用程序328、其它程序模塊330、以及程序數(shù)據(jù)332。這些操作系統(tǒng)326、一個(gè)或多個(gè)應(yīng)用程序328、其它程序模塊330、以及程序數(shù)據(jù)332中的每一個(gè)(或其某種組合)可實(shí)現(xiàn)支持分布式文件系統(tǒng)的所有常駐組件或其中的一部分。
用戶可經(jīng)由諸如鍵盤(pán)334和定位設(shè)備336(例如,“鼠標(biāo)”)等輸入設(shè)備將命令和信息輸入到計(jì)算機(jī)302中。其它輸入設(shè)備338(未具體示出)可包括話筒、操縱桿、游戲墊、圓盤(pán)式衛(wèi)星天線、串行端口、掃描儀、和/或其它。這些及其它輸入設(shè)備經(jīng)由耦合到系統(tǒng)總線308的輸入/輸出接口340連接到處理單元304,但也可通過(guò)諸如并行端口、游戲端口、通用串行總線(USB)或固件(IEEE1394)總線等其它接口或總線結(jié)構(gòu)連接。
監(jiān)視器342或其它類(lèi)型的顯示設(shè)備也可經(jīng)由諸如視頻適配器344等接口連接到系統(tǒng)總線308。除了監(jiān)視器342之外,其它輸出外圍設(shè)備可包括諸如揚(yáng)聲器(未示出)和打印機(jī)346等可經(jīng)由輸入/輸出接口340連接到計(jì)算機(jī)302的組件。
計(jì)算機(jī)302可使用到諸如遠(yuǎn)程計(jì)算設(shè)備348等一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接在聯(lián)網(wǎng)中工作。作為示例,遠(yuǎn)程計(jì)算設(shè)備348可以是個(gè)人計(jì)算機(jī)、便攜式計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)計(jì)算機(jī)、對(duì)等設(shè)備、或其它普通網(wǎng)絡(luò)節(jié)點(diǎn)、等等。圖示遠(yuǎn)程計(jì)算設(shè)備348為可包括本文中相對(duì)于計(jì)算機(jī)302所描述的許多或所有元件和特征的便攜式計(jì)算機(jī)。
圖示計(jì)算機(jī)302和遠(yuǎn)程計(jì)算機(jī)348之間的邏輯連接為局域網(wǎng)(LAN)350和一般廣域網(wǎng)(WAN)352。此類(lèi)網(wǎng)絡(luò)環(huán)境常見(jiàn)于辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)、以及因特網(wǎng)。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中實(shí)現(xiàn)時(shí),計(jì)算機(jī)302經(jīng)由網(wǎng)絡(luò)接口或適配器354連接到局域網(wǎng)350。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中實(shí)現(xiàn)時(shí),計(jì)算機(jī)302通常包括調(diào)制解調(diào)器356或用于通過(guò)廣域網(wǎng)352建立通信的其它裝置??梢?xún)?nèi)置或外置于計(jì)算機(jī)302的調(diào)制解調(diào)器356可經(jīng)由輸入/輸出接口340或其它適當(dāng)機(jī)制連接到系統(tǒng)總線308。應(yīng)當(dāng)認(rèn)識(shí)到,所示網(wǎng)絡(luò)連接是示例性的,且可使用在計(jì)算機(jī)302和348之間建立通信鏈路的其它裝置。
在諸如計(jì)算環(huán)境300所示的聯(lián)網(wǎng)環(huán)境中,相對(duì)于計(jì)算機(jī)302所示的程序模塊或其部分可存儲(chǔ)在遠(yuǎn)程記憶存儲(chǔ)設(shè)備中。作為示例,遠(yuǎn)程應(yīng)用程序358駐留在遠(yuǎn)程計(jì)算機(jī)348的存儲(chǔ)器設(shè)備上。出于說(shuō)明目的,本文中將應(yīng)用程序及諸如操作系統(tǒng)等其它可執(zhí)行程序組件示為離散的框,盡管可以認(rèn)識(shí)到,這些程序和組件在各個(gè)時(shí)間駐留在計(jì)算設(shè)備302的不同存儲(chǔ)組件中,并由計(jì)算機(jī)的數(shù)據(jù)處理器執(zhí)行。
本文在由一個(gè)或多個(gè)計(jì)算機(jī)或其它設(shè)備執(zhí)行的、諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令的上下文中描述各種模塊和技術(shù)。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等。通常,在各個(gè)實(shí)施例中,可按序組合或分布各程序模塊的功能。
這些模塊和技術(shù)的一個(gè)實(shí)現(xiàn)可存儲(chǔ)在某種形式的計(jì)算機(jī)可讀介質(zhì)上,或可通過(guò)其來(lái)發(fā)送。計(jì)算機(jī)可讀介質(zhì)可以是能被計(jì)算機(jī)訪問(wèn)的任何可用介質(zhì)。作為示例,而非限制,計(jì)算機(jī)可讀介質(zhì)可包括“計(jì)算機(jī)存儲(chǔ)介質(zhì)”和“通信介質(zhì)”。
“計(jì)算機(jī)存儲(chǔ)介質(zhì)”包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù),CD-ROM、數(shù)字多功能盤(pán)(DVD)或其它光存儲(chǔ),磁帶盒、磁帶、磁盤(pán)存儲(chǔ)或其它磁存儲(chǔ)設(shè)備,或可用來(lái)存儲(chǔ)所需信息并可由計(jì)算機(jī)訪問(wèn)的任何其它介質(zhì)。
“通信介質(zhì)”通常具體化為諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。通信介質(zhì)還包括任何信息傳遞介質(zhì)。術(shù)語(yǔ)“已調(diào)制數(shù)據(jù)信號(hào)”指以在信號(hào)中將信息編碼的方式設(shè)置或改變其一個(gè)或多個(gè)特征的信號(hào)。作為示例,而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接連線連接等有線介質(zhì),以及諸如聲學(xué)、RF、紅外和其它無(wú)線介質(zhì)等無(wú)線介質(zhì)。以上任何介質(zhì)的組合也包括在計(jì)算機(jī)可讀機(jī)制的范圍之內(nèi)。
盡管以上描述使用專(zhuān)屬于結(jié)構(gòu)化特征和/或方法性動(dòng)作的語(yǔ)言,但是應(yīng)當(dāng)理解,在所附權(quán)利要求書(shū)中定義的本發(fā)明不限于所描述的具體特征或動(dòng)作。相反,這些具體特征和動(dòng)作是作為實(shí)現(xiàn)本發(fā)明的示例性形式來(lái)揭示的。
權(quán)利要求
1.一種便攜式存儲(chǔ)設(shè)備,包括接口;以及一個(gè)或多個(gè)存儲(chǔ)元件,所述一個(gè)或多個(gè)存儲(chǔ)元件存儲(chǔ)一個(gè)或多個(gè)可執(zhí)行文件,所述一個(gè)或多個(gè)可執(zhí)行文件可由所述設(shè)備所耦合到的主計(jì)算機(jī)執(zhí)行,即使所述一個(gè)或多個(gè)可執(zhí)行文件包括訪問(wèn)環(huán)境設(shè)置的指令也不會(huì)改變所述主計(jì)算機(jī)上的任何環(huán)境設(shè)置。
2.如權(quán)利要求1所述的便攜式存儲(chǔ)設(shè)備,其特征在于,所述主計(jì)算機(jī)上的環(huán)境設(shè)置包括所述主計(jì)算機(jī)的系統(tǒng)注冊(cè)表中的信息。
3.如權(quán)利要求1所述的便攜式存儲(chǔ)設(shè)備,其特征在于,所述主計(jì)算機(jī)上的環(huán)境設(shè)置包括所述主計(jì)算機(jī)的本地概況中的信息。
4.如權(quán)利要求1所述的便攜式存儲(chǔ)設(shè)備,其特征在于,所述訪問(wèn)主計(jì)算機(jī)上的環(huán)境設(shè)置的指令包括寫(xiě)環(huán)境指令的指令。
5.如權(quán)利要求1所述的便攜式存儲(chǔ)設(shè)備,其特征在于,所述一個(gè)或多個(gè)可執(zhí)行文件包括訪問(wèn)所述主計(jì)算機(jī)上的環(huán)境設(shè)置的指令,且其中,所述一個(gè)或多個(gè)可執(zhí)行文件包括一中介,所述中介用于接收訪問(wèn)所述主計(jì)算機(jī)上的環(huán)境設(shè)置的請(qǐng)求,并且響應(yīng)于所述請(qǐng)求而訪問(wèn)所述一個(gè)或多個(gè)存儲(chǔ)元件中的設(shè)置,而不是所述主計(jì)算機(jī)上的環(huán)境設(shè)置。
6.如權(quán)利要求1所述的便攜式存儲(chǔ)設(shè)備,其特征在于,所述便攜式存儲(chǔ)設(shè)備不包括執(zhí)行所述一個(gè)或多個(gè)可執(zhí)行文件的指令的處理器。
7.如權(quán)利要求1所述的便攜式存儲(chǔ)設(shè)備,其特征在于,所述一個(gè)或多個(gè)存儲(chǔ)元件還存儲(chǔ)自動(dòng)運(yùn)行模塊,所述自動(dòng)運(yùn)行模塊可由所述主計(jì)算機(jī)訪問(wèn)以呈現(xiàn)用戶界面,所述用戶界面標(biāo)識(shí)可通過(guò)執(zhí)行所述一個(gè)或多個(gè)可執(zhí)行文件來(lái)運(yùn)行的應(yīng)用程序。
8.如權(quán)利要求7所述的便攜式存儲(chǔ)設(shè)備,其特征在于,所述自動(dòng)運(yùn)行模塊為與所述應(yīng)用程序中的一個(gè)相關(guān)聯(lián)的類(lèi)型的數(shù)據(jù)文件呈現(xiàn)與所述一個(gè)應(yīng)用程序相關(guān)聯(lián)的圖標(biāo),作為所述用戶界面的一部分,所述一個(gè)或多個(gè)存儲(chǔ)元件存儲(chǔ)所述數(shù)據(jù)文件。
9.如權(quán)利要求7所述的便攜式存儲(chǔ)設(shè)備,其特征在于,當(dāng)用戶選擇與所述一個(gè)應(yīng)用程序相關(guān)聯(lián)的文件時(shí),所述自動(dòng)運(yùn)行模塊自動(dòng)運(yùn)行所述一個(gè)應(yīng)用程序。
10.如權(quán)利要求1所述的便攜式存儲(chǔ)設(shè)備,其特征在于,所述一個(gè)或多個(gè)存儲(chǔ)元件還存儲(chǔ)多個(gè)數(shù)據(jù)文件,其中,所述多個(gè)數(shù)據(jù)文件中的幾個(gè)與所述一個(gè)或多個(gè)可執(zhí)行文件相關(guān)聯(lián),所述多個(gè)數(shù)據(jù)文件中的幾個(gè)不與所述一個(gè)或多個(gè)可執(zhí)行文件中的任一個(gè)相關(guān)聯(lián)。
11.如權(quán)利要求1所述的便攜式存儲(chǔ)設(shè)備,其特征在于,所述一個(gè)或多個(gè)可執(zhí)行文件被執(zhí)行,以運(yùn)行被綁定到所述便攜式存儲(chǔ)設(shè)備的應(yīng)用程序。
12.如權(quán)利要求1所述的便攜式存儲(chǔ)設(shè)備,其特征在于,所述一個(gè)或多個(gè)存儲(chǔ)元件包括一個(gè)或多個(gè)閃存。
13.如權(quán)利要求12所述的便攜式存儲(chǔ)設(shè)備,其特征在于,所述便攜式存儲(chǔ)設(shè)備包括通用串行總線(USB)閃存設(shè)備。
14.一種方法,包括將一應(yīng)用程序綁定到一便攜式存儲(chǔ)設(shè)備,所述便攜式存儲(chǔ)設(shè)備存儲(chǔ)要被執(zhí)行以運(yùn)行所述應(yīng)用程序的一個(gè)或多個(gè)可執(zhí)行文件。
15.如權(quán)利要求14所述的方法,其特征在于,所述便攜式存儲(chǔ)設(shè)備包括通用串行總線(USB)設(shè)備。
16.如權(quán)利要求14所述的方法,其特征在于,所述便攜式存儲(chǔ)設(shè)備包括閃存設(shè)備。
17.如權(quán)利要求14所述的方法,其特征在于,所述綁定是作為激活所述應(yīng)用程序的一部分來(lái)執(zhí)行的。
18.如權(quán)利要求14所述的方法,其特征在于,還包括在所述便攜式存儲(chǔ)設(shè)備上保存所述應(yīng)用程序已被激活的指示。
19.如權(quán)利要求14所述的方法,其特征在于,還包括維護(hù)所述應(yīng)用程序被綁定到所述便攜式存儲(chǔ)設(shè)備的記錄。
20.一種在計(jì)算機(jī)中實(shí)現(xiàn)的方法,所述方法包括標(biāo)識(shí)存儲(chǔ)在耦合到所述計(jì)算機(jī)的便攜式存儲(chǔ)設(shè)備上的便攜式應(yīng)用程序;以及運(yùn)行所述便攜式應(yīng)用程序而不改變所述計(jì)算機(jī)上的環(huán)境設(shè)置。
21.如權(quán)利要求20所述的方法,其特征在于,還包括呈現(xiàn)一用戶界面,所述用戶界面標(biāo)識(shí)存儲(chǔ)在所述便攜式存儲(chǔ)設(shè)備上的多個(gè)便攜式應(yīng)用程序;以及接收用戶對(duì)所述多個(gè)便攜式應(yīng)用程序之一的選擇,運(yùn)行所述多個(gè)便攜式應(yīng)用程序,即使所述便攜式應(yīng)用程序包括訪問(wèn)環(huán)境設(shè)置的一個(gè)或多個(gè)請(qǐng)求,也不改變所述計(jì)算機(jī)上的環(huán)境設(shè)置。
22.如權(quán)利要求20所述的方法,其特征在于,所述計(jì)算機(jī)上的環(huán)境設(shè)置包括所述計(jì)算機(jī)的系統(tǒng)注冊(cè)表中的信息。
23.如權(quán)利要求20所述的方法,其特征在于,運(yùn)行所述便攜式應(yīng)用程序還包括運(yùn)行所述便攜式應(yīng)用程序而不要求在所述計(jì)算機(jī)上安裝任何其它驅(qū)動(dòng)程序。
24.一種在計(jì)算機(jī)上實(shí)現(xiàn)的方法,所述方法包括接收在耦合到所述計(jì)算機(jī)的便攜式存儲(chǔ)設(shè)備上安裝便攜式應(yīng)用程序的請(qǐng)求;將所述便攜式應(yīng)用程序的一個(gè)或多個(gè)可執(zhí)行文件寫(xiě)到所述便攜式存儲(chǔ)設(shè)備中;以及將有關(guān)所述便攜式應(yīng)用程序的信息寫(xiě)到所述便攜式存儲(chǔ)設(shè)備上的專(zhuān)用存儲(chǔ)中。
25.如權(quán)利要求24所述的方法,其特征在于,所述寫(xiě)信息包括將關(guān)于所述便攜式應(yīng)用程序的信息寫(xiě)到所述便攜式存儲(chǔ)設(shè)備上的專(zhuān)用存儲(chǔ)中,而不將所述信息寫(xiě)到所述計(jì)算機(jī)行的系統(tǒng)信息存儲(chǔ)中。
26.如權(quán)利要求24所述的方法,其特征在于,還包括將所述便攜式存儲(chǔ)設(shè)備上的自動(dòng)運(yùn)行模塊配置成標(biāo)識(shí)所述便攜式存儲(chǔ)設(shè)備上存在所述便攜式應(yīng)用程序。
27.如權(quán)利要求24所述的方法,其特征在于,還包括在將信息寫(xiě)到所述專(zhuān)用存儲(chǔ)之前,在所述便攜式存儲(chǔ)設(shè)備上創(chuàng)建所述專(zhuān)用存儲(chǔ)。
28.如權(quán)利要求24所述的方法,其特征在于,所述專(zhuān)用存儲(chǔ)先前已用信息填充,并被復(fù)制到所述便攜式存儲(chǔ)設(shè)備中。
29.如權(quán)利要求24所述的方法,其特征在于,所述專(zhuān)用存儲(chǔ)包括專(zhuān)用注冊(cè)表。
30.一個(gè)或多個(gè)其上存儲(chǔ)多個(gè)指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)由計(jì)算機(jī)的一個(gè)或多個(gè)處理器執(zhí)行所述指令時(shí),使所述一個(gè)或多個(gè)處理器不在所述計(jì)算機(jī)上存儲(chǔ)任何永久文件;以及訪問(wèn)所述存儲(chǔ)設(shè)備上的環(huán)境設(shè)置以及所述計(jì)算機(jī)上的環(huán)境設(shè)置。
31.如權(quán)利要求30所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,訪問(wèn)所述存儲(chǔ)設(shè)備上的環(huán)境設(shè)置以及所述計(jì)算機(jī)上的環(huán)境設(shè)置是從所述存儲(chǔ)設(shè)備和所述計(jì)算機(jī)讀取環(huán)境設(shè)置,但僅將環(huán)境設(shè)置寫(xiě)到所述存儲(chǔ)設(shè)備中。
32.如權(quán)利要求30所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,所述一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)是便攜式存儲(chǔ)設(shè)備的一部分。
33.如權(quán)利要求30所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,所述多個(gè)指令還使所述一個(gè)或多個(gè)處理器在終止所述多個(gè)指令的執(zhí)行之前,刪除所述多個(gè)指令存儲(chǔ)在所述計(jì)算機(jī)上的任何臨時(shí)文件。
34.如權(quán)利要求30所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,所述多個(gè)指令是一便攜式應(yīng)用程序的一部分,僅在所述便攜式應(yīng)用程序已被激活的情況下,所述便攜式應(yīng)用程序才會(huì)被執(zhí)行。
35.如權(quán)利要求30所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,所述多個(gè)指令是一便攜式應(yīng)用程序的一部分,在所述便攜式應(yīng)用程序尚未被激活的情況下,所述便攜式應(yīng)用程序在功能有所減少的狀態(tài)下被執(zhí)行。
36.如權(quán)利要求34所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,所述便攜式應(yīng)用程序被綁定到所述便攜式存儲(chǔ)設(shè)備。
全文摘要
一種便攜式存儲(chǔ)設(shè)備包括接口以及一個(gè)或多個(gè)閃存。這一個(gè)或多個(gè)閃存存儲(chǔ)一個(gè)或多個(gè)可執(zhí)行文件,它們可由該設(shè)備所耦合到的主計(jì)算機(jī)執(zhí)行,即使這一個(gè)或多個(gè)可執(zhí)行文件包括訪問(wèn)環(huán)境設(shè)置的指令,也不改變主計(jì)算機(jī)上的任何環(huán)境設(shè)置。此外,在激活過(guò)程期間,應(yīng)用程序被綁定到便攜式存儲(chǔ)設(shè)備。
文檔編號(hào)G06F13/00GK1790265SQ200510125030
公開(kāi)日2006年6月21日 申請(qǐng)日期2005年11月15日 優(yōu)先權(quán)日2004年12月15日
發(fā)明者A·T·休斯, P·C·巴, A·Y·尼沙諾瓦, D·A·亞洛夫司基, J·A·伊斯特 申請(qǐng)人:微軟公司