分案說(shuō)明
本申請(qǐng)屬于申請(qǐng)日為2013年5月7日的中國(guó)發(fā)明專(zhuān)利申請(qǐng)201380050072.0的分案申請(qǐng)。
相關(guān)申請(qǐng)的交叉引用
本申請(qǐng)要求于2012年7月30日提交的題為“transferringastateofanapplicationfromafirstcomputingdevicetoasecondcomputingdevice”的美國(guó)專(zhuān)利申請(qǐng)序列號(hào)13/562,209的權(quán)益,其通過(guò)引用全文合并于此。
背景技術(shù):
在計(jì)算設(shè)備上運(yùn)行的應(yīng)用能夠在該計(jì)算設(shè)備上的各個(gè)位置存儲(chǔ)各種文件。例如,應(yīng)用可以使數(shù)據(jù)存儲(chǔ)在易失性存儲(chǔ)器(例如ram)和非易失性存儲(chǔ)器(例如硬盤(pán))中的各個(gè)位置。例如,在其它位置中,web瀏覽器可以將數(shù)據(jù)存儲(chǔ)在cookie文件夾、臨時(shí)互聯(lián)網(wǎng)文件夾、收藏文件夾和歷史文件夾中。
技術(shù)實(shí)現(xiàn)要素:
所公開(kāi)的主題涉及一種用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的計(jì)算機(jī)實(shí)現(xiàn)的方法。該方法包括從第一計(jì)算設(shè)備接收將第一計(jì)算設(shè)備上的第一應(yīng)用的狀態(tài)傳輸至第二計(jì)算設(shè)備的第一請(qǐng)求。第二計(jì)算設(shè)備上的第二應(yīng)用被配置為恢復(fù)所述第一應(yīng)用的狀態(tài)。該方法進(jìn)一步包括基于第一請(qǐng)求向第二計(jì)算設(shè)備發(fā)送許可發(fā)起第一應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備向第二計(jì)算設(shè)備傳輸?shù)牡诙?qǐng)求。該方法進(jìn)一步包括響應(yīng)于發(fā)送第二請(qǐng)求從第二計(jì)算設(shè)備接收發(fā)起第一應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備向第二計(jì)算設(shè)備傳輸?shù)脑S可。該方法進(jìn)一步包括基于所接收到的許可從第一計(jì)算設(shè)備接收該第一應(yīng)用的狀態(tài)。該方法進(jìn)一步包括將所接收到的第一應(yīng)用的狀態(tài)發(fā)送至第二設(shè)備。
所公開(kāi)的主題進(jìn)一步涉及一種用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的系統(tǒng)。該系統(tǒng)包括存儲(chǔ)器和處理器,該存儲(chǔ)器包括用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的指令。該處理器被配置為執(zhí)行該指令以從第一計(jì)算設(shè)備接收將在第一計(jì)算設(shè)備上的第一應(yīng)用的狀態(tài)傳輸至第二計(jì)算設(shè)備的第一請(qǐng)求。該第一應(yīng)用的狀態(tài)對(duì)應(yīng)于該第一應(yīng)用在第一計(jì)算設(shè)備上的第一會(huì)話(huà)。第二計(jì)算設(shè)備上的第二應(yīng)用被配置為恢復(fù)該第一應(yīng)用的狀態(tài)以在第二應(yīng)用內(nèi)繼續(xù)該第一會(huì)話(huà)。該處理器進(jìn)一步被配置為基于該第一請(qǐng)求向第二計(jì)算設(shè)備發(fā)送許可發(fā)起將該第一應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的第二請(qǐng)求。該處理器進(jìn)一步被配置為響應(yīng)于發(fā)送該第二請(qǐng)求而從第二計(jì)算設(shè)備接收發(fā)起將該第一應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的許可。該處理器進(jìn)一步被配置為基于所接收到的許可從第一計(jì)算設(shè)備接收該第一應(yīng)用的狀態(tài)。該處理器進(jìn)一步被配置為將所接收到的該第一應(yīng)用的狀態(tài)發(fā)送至第二設(shè)備。該處理器進(jìn)一步被配置為從第二計(jì)算設(shè)備接收成功接收到該第一應(yīng)用的狀態(tài)的確認(rèn)。該處理器進(jìn)一步被配置為基于所接收到的確認(rèn)向第一計(jì)算設(shè)備發(fā)送第二計(jì)算設(shè)備成功接收到該第一應(yīng)用的狀態(tài)的通知,其中該第一應(yīng)用被配置為基于該通知從第一計(jì)算設(shè)備去除該第一應(yīng)用的狀態(tài)。
所公開(kāi)的主題進(jìn)一步涉及一種包括機(jī)器可讀指令的機(jī)器可讀介質(zhì),該機(jī)器可讀指令用于使得處理器執(zhí)行一種用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的方法。該方法包括從第一計(jì)算設(shè)備接收用于將該第一計(jì)算設(shè)備上的第一應(yīng)用的狀態(tài)傳輸至第二計(jì)算設(shè)備的第一請(qǐng)求。該第二計(jì)算設(shè)備接近于該第一計(jì)算設(shè)備。該第二計(jì)算設(shè)備上的第二應(yīng)用被配置為恢復(fù)該第一應(yīng)用的狀態(tài)。該方法進(jìn)一步包括基于該第一請(qǐng)求向第二計(jì)算設(shè)備發(fā)送許可發(fā)起將該狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的第二請(qǐng)求。該方法進(jìn)一步包括響應(yīng)于發(fā)送該第二請(qǐng)求而從第二計(jì)算設(shè)備接收發(fā)起將該第一應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的許可。該許可基于第二計(jì)算設(shè)備與第一計(jì)算設(shè)備的接近性。該方法進(jìn)一步包括基于所接收到的許可從第一計(jì)算設(shè)備接收該第一應(yīng)用的狀態(tài)。該方法進(jìn)一步包括將所接收到的該第一應(yīng)用的狀態(tài)發(fā)送至第二設(shè)備。
所公開(kāi)的主題進(jìn)一步涉及一種將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的計(jì)算機(jī)實(shí)現(xiàn)的方法。該方法包括向第二計(jì)算設(shè)備發(fā)送發(fā)起傳輸?shù)谝挥?jì)算設(shè)備上的第一應(yīng)用的狀態(tài)的請(qǐng)求。第二計(jì)算設(shè)備上的第二應(yīng)用被配置為恢復(fù)該第一應(yīng)用的狀態(tài)。該方法進(jìn)一步包括響應(yīng)于發(fā)送的請(qǐng)求而從第二計(jì)算設(shè)備接收發(fā)起傳輸?shù)脑S可。該方法進(jìn)一步包括基于所接收到的許可向第二計(jì)算設(shè)備發(fā)送該第一應(yīng)用的狀態(tài)。
所公開(kāi)的主題進(jìn)一步涉及一種用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的系統(tǒng)。該系統(tǒng)包括存儲(chǔ)器和處理器,該存儲(chǔ)器包括用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的指令。該處理器被配置為執(zhí)行該指令以基于第二計(jì)算設(shè)備與第一計(jì)算設(shè)備的接近性來(lái)檢測(cè)第二計(jì)算設(shè)備的存在。該處理器進(jìn)一步被配置為向第二計(jì)算設(shè)備發(fā)送發(fā)起傳輸?shù)谝挥?jì)算設(shè)備上的第一應(yīng)用的狀態(tài)的請(qǐng)求。第二計(jì)算設(shè)備上的第二應(yīng)用被配置為恢復(fù)該第一應(yīng)用的狀態(tài)。該處理器進(jìn)一步被配置為響應(yīng)于發(fā)送的請(qǐng)求而從第二計(jì)算設(shè)備接收發(fā)起傳輸?shù)脑S可。該處理器進(jìn)一步被配置為基于所接收到的許可將該第一應(yīng)用的狀態(tài)發(fā)送至第二計(jì)算設(shè)備。該處理器進(jìn)一步被配置為從第二計(jì)算設(shè)備接收成功傳輸?shù)闹甘尽T撎幚砥鬟M(jìn)一步被配置為基于所接收到的指示從第一計(jì)算設(shè)備去除該第一應(yīng)用的狀態(tài)。
所要理解的是,主題技術(shù)的其它配置將通過(guò)以下詳細(xì)描述而對(duì)于本領(lǐng)域技術(shù)人員變得顯而易見(jiàn),其中該主題技術(shù)的各種配置通過(guò)圖示被示出并描述。如將會(huì)意識(shí)到的,該主題技術(shù)支持其它且不同的配置并且其若干細(xì)節(jié)能夠在各個(gè)其它方面進(jìn)行修改,所有這些都并不背離該主題技術(shù)的范圍。因此,附圖和詳細(xì)描述在本質(zhì)上要被視為是說(shuō)明性而非限制性的。
附圖說(shuō)明
該主題技術(shù)的某些特征在所附權(quán)利要求中給出。然而,被包括以提供進(jìn)一步理解的附圖圖示了所公開(kāi)的方面并且連同描述一起用來(lái)解釋所公開(kāi)的方面的原理。在附圖中:
圖1圖示了用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的架構(gòu)的示例。
圖2是圖示來(lái)自圖1的架構(gòu)的第一計(jì)算設(shè)備、第二計(jì)算設(shè)備和服務(wù)器的示例的框圖。
圖3a圖示了用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的過(guò)程的第一示例。
圖3b圖示了用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的過(guò)程的第二示例。
圖4a是與圖3a的示例過(guò)程相關(guān)聯(lián)的系統(tǒng)的第一示例的圖示。
圖4b是與圖3b的示例過(guò)程相關(guān)聯(lián)的系統(tǒng)的第二示例的圖示。
圖5在概念上圖示了可以用來(lái)實(shí)現(xiàn)該主題技術(shù)的一些方面的電子系統(tǒng)。
具體實(shí)施方式
以下所給出的詳細(xì)描述意在作為對(duì)主題技術(shù)的各種配置的描述而并非意在表示該主題技術(shù)可以進(jìn)行實(shí)踐的僅有配置。附圖被合并于此并且構(gòu)成該詳細(xì)描述的一部分。該詳細(xì)描述出于提供對(duì)主題技術(shù)的全面理解的目的而包括具體細(xì)節(jié)。然而,對(duì)于本領(lǐng)域技術(shù)人員將會(huì)清楚并顯而易見(jiàn)的是,該主題技術(shù)并不局限于這里所給出的具體細(xì)節(jié)并且可以在沒(méi)有這些具體細(xì)節(jié)的情況下進(jìn)行實(shí)踐。在一些情況下,公知結(jié)構(gòu)和組件以框圖形式示出以免對(duì)主題技術(shù)的概念造成混淆。
使用第一計(jì)算設(shè)備上的應(yīng)用的用戶(hù)可能希望在第二計(jì)算設(shè)備上繼續(xù)使用該應(yīng)用。作為示例,可以考慮使用基于web的文字處理應(yīng)用撰寫(xiě)文檔的用戶(hù)。該用戶(hù)在移動(dòng)的基于觸摸的平板計(jì)算機(jī)上開(kāi)始撰寫(xiě)文檔。發(fā)現(xiàn)在平板計(jì)算機(jī)的觸摸屏上進(jìn)行打字不如在鍵盤(pán)上打字那樣有效,該用戶(hù)決定繼續(xù)在其臺(tái)式計(jì)算機(jī)上撰寫(xiě)該文檔。
在該示例中,該基于web的文字處理應(yīng)用在計(jì)算機(jī)設(shè)備本地存儲(chǔ)操作歷史。如這里所使用的短語(yǔ)“操作歷史”涵蓋了其普遍且常規(guī)的含義,包括但并不局限于該用戶(hù)和/或應(yīng)用所執(zhí)行的任意操作。作為示例,如果用戶(hù)鍵入了一些文本,則該用戶(hù)例如能夠通過(guò)按壓ctrl-z來(lái)撤銷(xiāo)鍵入。該用戶(hù)例如還能夠通過(guò)按壓ctrl-y而重做該鍵入。操作能夠基于操作歷史被撤銷(xiāo)和/或重做。
在該示例中,由于基于web的文字處理應(yīng)用在計(jì)算設(shè)備的本地存儲(chǔ)操作歷史,所以用戶(hù)僅能夠在該設(shè)備上撤銷(xiāo)和/或重做操作。因此,在這種情況下,當(dāng)用戶(hù)開(kāi)始使用臺(tái)式計(jì)算機(jī)時(shí),用戶(hù)將不能撤銷(xiāo)或重做其在該文檔內(nèi)的任何操作。
根據(jù)主題技術(shù)的某些方面,提供了用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備(例如平板計(jì)算機(jī))傳輸至第二計(jì)算設(shè)備(例如臺(tái)式計(jì)算機(jī))的系統(tǒng)和方法。
如這里所使用的術(shù)語(yǔ)“應(yīng)用狀態(tài)”和/或“應(yīng)用的狀態(tài)”涵蓋了其普遍且常規(guī)的含義,包括但并不局限于由應(yīng)用在計(jì)算設(shè)備上本地生成和/或存儲(chǔ)的任意數(shù)據(jù)。應(yīng)用狀態(tài)可以被存儲(chǔ)任意長(zhǎng)度的時(shí)間,并且被存儲(chǔ)在計(jì)算設(shè)備上任意類(lèi)型的存儲(chǔ)器(例如易失性、非易失性)中。
圖1圖示了用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的架構(gòu)100的示例。架構(gòu)100包括通過(guò)網(wǎng)絡(luò)140連接的計(jì)算設(shè)備110和服務(wù)器170。
計(jì)算設(shè)備110例如可以是移動(dòng)計(jì)算機(jī)、平板計(jì)算機(jī)、移動(dòng)設(shè)備(例如智能電話(huà)或pda)、臺(tái)式計(jì)算機(jī)、機(jī)頂盒(例如用于電視)、視頻游戲機(jī)或者具有適當(dāng)處理能力、通信能力以及存儲(chǔ)器的任意其它設(shè)備。每個(gè)計(jì)算設(shè)備110被配置為包括用于接受用戶(hù)輸入的輸入設(shè)備以及用于向用戶(hù)顯示信息的輸出設(shè)備。
計(jì)算設(shè)備110可以連接至網(wǎng)絡(luò)140。網(wǎng)絡(luò)140可以包括任意的一個(gè)或多個(gè)個(gè)人域網(wǎng)絡(luò)(pan)、局域網(wǎng)(lan)、校園網(wǎng)(can)、城域網(wǎng)(man)、廣域網(wǎng)(wan)、寬帶網(wǎng)絡(luò)(bbn)、互聯(lián)網(wǎng)等。另外,網(wǎng)絡(luò)140可以包括但并不局限于任意一種或多種以下網(wǎng)絡(luò)拓?fù)?,包括總線(xiàn)網(wǎng)絡(luò)、星形網(wǎng)絡(luò)、環(huán)形網(wǎng)絡(luò)、網(wǎng)狀網(wǎng)絡(luò)、星形-總線(xiàn)網(wǎng)絡(luò)、樹(shù)形或?qū)蛹?jí)網(wǎng)絡(luò)等。
任意一個(gè)計(jì)算設(shè)備110都可以是第一計(jì)算設(shè)備110a,并且另一個(gè)計(jì)算設(shè)備110可以是第二計(jì)算設(shè)備110b。例如,在圖1中,臺(tái)式計(jì)算機(jī)被圖示為第一計(jì)算設(shè)備110a的示例,而膝上計(jì)算機(jī)被圖示為第二計(jì)算設(shè)備110b的示例。每個(gè)計(jì)算設(shè)備110(例如110a、110b)包括應(yīng)用。例如,第一計(jì)算設(shè)備110a包括第一應(yīng)用,并且第二計(jì)算設(shè)備110b包括第二應(yīng)用。
服務(wù)器170例如可以是獨(dú)立服務(wù)器、共享服務(wù)器、專(zhuān)用服務(wù)器、集群/網(wǎng)格服務(wù)器(例如服務(wù)器群)或者是云服務(wù)器。每個(gè)服務(wù)器170可以包括一個(gè)或多個(gè)處理器、通信模塊和存儲(chǔ)器。服務(wù)器170可以被配置為在多個(gè)服務(wù)器之間分布工作負(fù)載(例如用于負(fù)載平衡)。
圖2是圖示根據(jù)本公開(kāi)的某些方面的圖1的架構(gòu)100中的第一計(jì)算設(shè)備110a、第二計(jì)算設(shè)備110b和服務(wù)器170的示例的框圖200。
第一計(jì)算設(shè)備110a包括輸入設(shè)備202a、輸出設(shè)備204a、處理器220a、通信模塊222a和存儲(chǔ)器240a。輸入設(shè)備202a可以是觸摸屏、鼠標(biāo)、鍵盤(pán)或者使得用戶(hù)能夠向第一計(jì)算設(shè)備110a提供輸入206a的任意其它設(shè)備。輸出設(shè)備204a可以是顯示屏。經(jīng)由輸入設(shè)備202a接收的輸入206a能夠在第一計(jì)算設(shè)備110a上本地進(jìn)行處理和/或在服務(wù)器170上進(jìn)行處理。
第一計(jì)算設(shè)備110a經(jīng)由通信模塊222a連接至網(wǎng)絡(luò)140。通信模塊222被配置為與網(wǎng)絡(luò)140對(duì)接以發(fā)送和接收信息,諸如數(shù)據(jù)、請(qǐng)求、響應(yīng)以及針對(duì)網(wǎng)絡(luò)140上的其它設(shè)備的命令。通信模塊222a例如可以是調(diào)制解調(diào)器或以太網(wǎng)卡。
存儲(chǔ)器240a包括第一應(yīng)用250a,其能夠被用戶(hù)用來(lái)與第一計(jì)算設(shè)備110a和/或服務(wù)器170進(jìn)行交互,并且能夠被用來(lái)向用戶(hù)顯示信息。第一應(yīng)用250a可以在第一計(jì)算設(shè)備110a本地安裝和/或從服務(wù)器170下載。
存儲(chǔ)器240a進(jìn)一步包括能夠被處理器220a讀取以實(shí)現(xiàn)第一應(yīng)用狀態(tài)模塊242a的軟件指令。第一應(yīng)用250a和/或第一應(yīng)用狀態(tài)模塊242a所生成和/或存儲(chǔ)的數(shù)據(jù)能夠被存儲(chǔ)為第一應(yīng)用狀態(tài)數(shù)據(jù)244a。應(yīng)當(dāng)注意的是,第一應(yīng)用狀態(tài)模塊242a可以被實(shí)現(xiàn)為第一應(yīng)用250a的一部分或者與之分離。
第二計(jì)算設(shè)備110b在許多方面可以類(lèi)似于第一計(jì)算設(shè)備110a。例如,第二計(jì)算設(shè)備110b包括輸入設(shè)備202b、輸出設(shè)備204b、處理器220b、通信模塊222b和存儲(chǔ)器240b。第二輸入設(shè)備202b可以是觸摸屏、鼠標(biāo)、鍵盤(pán)或者使得用戶(hù)能夠向第二計(jì)算設(shè)備110b提供第二輸入206b的任意其它設(shè)備。輸出設(shè)備204b可以是顯示屏。經(jīng)由輸入設(shè)備202b接收的輸入206b能夠在第二計(jì)算設(shè)備110b上本地進(jìn)行處理和/或在服務(wù)器170上進(jìn)行處理。
第二計(jì)算設(shè)備110b經(jīng)由通信模塊222b連接至網(wǎng)絡(luò)140。通信模塊222b被配置為與網(wǎng)絡(luò)140對(duì)接以發(fā)送和接收信息,諸如數(shù)據(jù)、請(qǐng)求、響應(yīng)以及針對(duì)網(wǎng)絡(luò)140上的其它設(shè)備的命令。通信模塊222b例如可以是調(diào)制解調(diào)器或以太網(wǎng)卡。
存儲(chǔ)器240b進(jìn)一步包括能夠被處理器220b讀取以實(shí)現(xiàn)第二應(yīng)用狀態(tài)模塊242b的軟件指令。第二應(yīng)用250b和/或第二應(yīng)用狀態(tài)模塊242b所生成和/或存儲(chǔ)的數(shù)據(jù)能夠被存儲(chǔ)為第二應(yīng)用狀態(tài)數(shù)據(jù)244b。應(yīng)當(dāng)注意的是,第二應(yīng)用狀態(tài)模塊242b可以被實(shí)現(xiàn)為第二應(yīng)用250b的一部分或者與之分離。
計(jì)算設(shè)備110(例如110a、110b)的處理器(例如220a、220b)被配置為執(zhí)行指令,諸如被物理編碼到處理器(例如220a、220b)中的指令,從存儲(chǔ)器(例如240a、240b)讀取的指令,或者二者的組合。作為示例,基于從存儲(chǔ)器240a讀取的指令,第一處理器能夠被配置為執(zhí)行用于將應(yīng)用(例如250a)的狀態(tài)(例如244a)從第一計(jì)算設(shè)備(例如110a)傳輸至第二計(jì)算設(shè)備(例如110b)的方法。
例如,考慮第一計(jì)算設(shè)備110a,一旦來(lái)自存儲(chǔ)器240a的指令被加載,處理器220a就被配置為向第二計(jì)算設(shè)備(例如110b)發(fā)送發(fā)起傳輸?shù)谝挥?jì)算設(shè)備(例如110a)上的第一應(yīng)用(例如250a)的狀態(tài)(例如244a)的請(qǐng)求,其中該第二計(jì)算設(shè)備(例如110b)具有被配置為在第二計(jì)算設(shè)備(例如110b)上恢復(fù)第一應(yīng)用(例如250a)的狀態(tài)(例如244a)的第二應(yīng)用(例如250b)。處理器220a進(jìn)一步被配置為響應(yīng)于發(fā)送的請(qǐng)求而從第二計(jì)算設(shè)備(例如110b)接收發(fā)起傳輸?shù)脑S可。處理器220a進(jìn)一步被配置為基于所接收到的許可向第二計(jì)算設(shè)備(例如110b)發(fā)送第一應(yīng)用(例如250a)的狀態(tài)(例如244a)。
服務(wù)器170包括存儲(chǔ)器280、處理器260和通信模塊262。存儲(chǔ)器280包括能夠由處理器260讀取以實(shí)現(xiàn)應(yīng)用狀態(tài)服務(wù)器模塊282的軟件指令。應(yīng)用狀態(tài)服務(wù)器模塊282將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備(例如110a)傳輸至第二計(jì)算設(shè)備(例如110b)。應(yīng)用狀態(tài)服務(wù)器模塊282所生成和/或存儲(chǔ)的數(shù)據(jù)(例如臨時(shí)副本)可以作為應(yīng)用狀態(tài)服務(wù)器數(shù)據(jù)284被存儲(chǔ)在服務(wù)器170的存儲(chǔ)器280中。
應(yīng)用狀態(tài)服務(wù)器模塊282從第一計(jì)算設(shè)備(例如110a)接收將第一計(jì)算設(shè)備(例如110a)上的第一應(yīng)用(例如250a)的狀態(tài)(例如244a)傳輸至第二計(jì)算設(shè)備(例如110b)的第一請(qǐng)求。第二計(jì)算設(shè)備(例如110b)上的第二應(yīng)用(例如250b)被配置為恢復(fù)第一應(yīng)用(例如250a)的狀態(tài)(例如244a)。應(yīng)用狀態(tài)服務(wù)器模塊282基于該第一請(qǐng)求向第二計(jì)算設(shè)備(例如110b)發(fā)送許可發(fā)起將第一應(yīng)用(例如250a)的狀態(tài)(例如244a)從第一計(jì)算設(shè)備(例如110a)傳輸至第二計(jì)算設(shè)備(例如110b)的第二請(qǐng)求。應(yīng)用狀態(tài)服務(wù)器模塊282響應(yīng)于發(fā)送該第二請(qǐng)求而從第二計(jì)算設(shè)備(例如110b)接收發(fā)起將第一應(yīng)用(例如250a)的狀態(tài)(例如244a)從第一計(jì)算設(shè)備(例如110a)傳輸至第二計(jì)算設(shè)備(例如110b)的許可。應(yīng)用狀態(tài)服務(wù)器模塊282基于所接收到的許可從第一計(jì)算設(shè)備(例如110a)接收第一應(yīng)用(例如250a)的狀態(tài)(例如244a)。應(yīng)用狀態(tài)服務(wù)器模塊282將所接收到的第一應(yīng)用(例如250a)的狀態(tài)(例如244a)發(fā)送至第二計(jì)算設(shè)備(例如110b)。
服務(wù)器170經(jīng)由通信模塊262連接至網(wǎng)絡(luò)140。通信模塊262被配置為與網(wǎng)絡(luò)140對(duì)接以發(fā)送和接收信息,諸如數(shù)據(jù)、請(qǐng)求、響應(yīng)以及針對(duì)網(wǎng)絡(luò)140上的其它設(shè)備的命令。通信模塊262例如可以是調(diào)制解調(diào)器或以太網(wǎng)卡。
服務(wù)器170的處理器260被配置為執(zhí)行指令,諸如被物理編碼到處理器260中的指令,從存儲(chǔ)器280讀取的指令,或者二者的組合。作為示例,服務(wù)器170的處理器260執(zhí)行應(yīng)用狀態(tài)服務(wù)器模塊282的指令。
一旦來(lái)自存儲(chǔ)器280的指令被加載,處理器260就被配置為從第一計(jì)算設(shè)備(例如110a)接收將第一計(jì)算設(shè)備(例如110a)上的第一應(yīng)用(例如250a)的狀態(tài)(例如244a)傳輸至第二計(jì)算設(shè)備(例如110b)的第一請(qǐng)求。第二計(jì)算設(shè)備(例如110b)上的第二應(yīng)用(例如250b)被配置為恢復(fù)第一應(yīng)用(例如250a)的狀態(tài)(例如244a)。處理器260進(jìn)一步被配置為基于該第一請(qǐng)求向第二計(jì)算設(shè)備(例如110b)發(fā)送許可發(fā)起將第一應(yīng)用(例如250a)的狀態(tài)(例如244a)從第一計(jì)算設(shè)備(例如110a)傳輸至第二計(jì)算設(shè)備(例如110b)的第二請(qǐng)求。處理器260進(jìn)一步被配置為響應(yīng)于發(fā)送該第二請(qǐng)求而從第二計(jì)算設(shè)備(例如110b)接收發(fā)起將第一應(yīng)用(例如250a)的狀態(tài)(例如244a)從第一計(jì)算設(shè)備(例如110a)傳輸至第二計(jì)算設(shè)備(例如110b)的許可。處理器260進(jìn)一步被配置為基于所接收到的許可從第一計(jì)算設(shè)備(例如110a)接收第一應(yīng)用(例如250a)的狀態(tài)(例如244a)。處理器260進(jìn)一步被配置為將所接收到的第一應(yīng)用(例如250a)的狀態(tài)(例如244a)發(fā)送至第二設(shè)備(例如110b)。
圖3a-b圖示了用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的過(guò)程300a-b的示例。
圖3a圖示了用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的過(guò)程300a的第一示例。
在步驟310,服務(wù)器170從第一計(jì)算設(shè)備110a接收將第一計(jì)算設(shè)備110a上的第一應(yīng)用250a的狀態(tài)244a傳輸至第二計(jì)算設(shè)備110b的第一請(qǐng)求。第二計(jì)算設(shè)備110b上的第二應(yīng)用250b被配置為恢復(fù)第一應(yīng)用250a的狀態(tài)244a。
第一應(yīng)用250a的狀態(tài)244a可以包括在第一計(jì)算設(shè)備110a上生成和/或存儲(chǔ)的任意數(shù)據(jù)(例如本地副本、臨時(shí)數(shù)據(jù))。也就是說(shuō),作為第一應(yīng)用110a的操作結(jié)果而出現(xiàn)在第一計(jì)算設(shè)備110a上的任何信息都能夠被認(rèn)為是應(yīng)用狀態(tài)244a的一部分。作為示例,當(dāng)?shù)谝粦?yīng)用250a是文字處理應(yīng)用時(shí),應(yīng)用狀態(tài)244a可以包括用戶(hù)對(duì)其進(jìn)行工作的文檔、操作歷史(例如撤銷(xiāo)歷史、重做歷史)、用戶(hù)設(shè)置(例如文件保存位置)、滾動(dòng)條位置、文字處理應(yīng)用的窗口位置、臨時(shí)文件(當(dāng)該文檔被加載到存儲(chǔ)器中以便進(jìn)行編輯時(shí)所創(chuàng)建的臨時(shí)文件)等等。
第一應(yīng)用250a的狀態(tài)244a可以以各種格式進(jìn)行表達(dá)。例如,第一應(yīng)用250a的狀態(tài)244a可以以文檔對(duì)象模型(dom)格式進(jìn)行表達(dá)。作為另一個(gè)示例,第一應(yīng)用250a的狀態(tài)244a能夠被表達(dá)為單個(gè)存檔(例如壓縮文件)。
第一計(jì)算設(shè)備110a和第二計(jì)算設(shè)備110b可以是類(lèi)似或不同的。作為示例,第一計(jì)算設(shè)備110a可以是膝上計(jì)算機(jī),而第二計(jì)算設(shè)備110b可以是平板計(jì)算機(jī)。類(lèi)似地,第一計(jì)算設(shè)備110a可以是智能電話(huà),而第二計(jì)算設(shè)備110b可以是臺(tái)式計(jì)算機(jī)。
在步驟320,服務(wù)器170基于該第一請(qǐng)求向第二計(jì)算設(shè)備110b發(fā)送許可發(fā)起將第一應(yīng)用250a的狀態(tài)244a從第一計(jì)算設(shè)備110a傳輸至第二計(jì)算設(shè)備110b的第二請(qǐng)求。該第二請(qǐng)求可以與第一請(qǐng)求相同。也就是說(shuō),該第一請(qǐng)求可以在沒(méi)有實(shí)質(zhì)性改變的情況下被中繼至第二計(jì)算設(shè)備110b作為第二請(qǐng)求。替選地,第二請(qǐng)求可以由服務(wù)器170基于第一請(qǐng)求來(lái)生成。
用于許可的第二請(qǐng)求可以以各種方式來(lái)實(shí)現(xiàn)。例如,服務(wù)器170能夠使得第二計(jì)算設(shè)備110b在輸出設(shè)備204b(例如顯示器)上向用戶(hù)顯示通知,并且提示用戶(hù)經(jīng)由輸入設(shè)備202b(例如鼠標(biāo))提供輸入206b(例如點(diǎn)擊按鈕)以指示許可。服務(wù)器170可以在沒(méi)有來(lái)自用戶(hù)的任何交互的情況下從第二計(jì)算設(shè)備110b接收許可。例如,第二計(jì)算設(shè)備110b能夠被預(yù)先配置為響應(yīng)于來(lái)自服務(wù)器170的請(qǐng)求而提供許可。
在步驟330,服務(wù)器170響應(yīng)于發(fā)送該第二請(qǐng)求而從第二計(jì)算設(shè)備110b接收發(fā)起將第一應(yīng)用250a的狀態(tài)244a從第一計(jì)算設(shè)備110a傳輸至第二計(jì)算設(shè)備110b的許可。來(lái)自第二計(jì)算設(shè)備110b的許可可以以各種方式被接收。例如,從第二計(jì)算設(shè)備110b接收的安全令牌能夠指示許可發(fā)起傳輸。
在步驟340,服務(wù)器170基于所接收到的許可從第一計(jì)算設(shè)備110a接收第一應(yīng)用250a的狀態(tài)244a。
在步驟350,服務(wù)器170將所接收到的第一應(yīng)用250a的狀態(tài)244a發(fā)送至第二設(shè)備110b。第二計(jì)算設(shè)備110b上的第二應(yīng)用250b能夠恢復(fù)第一應(yīng)用250a的狀態(tài)244a。也就是說(shuō),通過(guò)使用應(yīng)用狀態(tài)244a,第二應(yīng)用250b能夠像第一應(yīng)用250a那樣顯現(xiàn)和表現(xiàn)。
在一個(gè)方面,服務(wù)器170能夠從第二計(jì)算設(shè)備110b接收成功接收了第一應(yīng)用250a的狀態(tài)244a的確認(rèn)。服務(wù)器170能夠基于所接收的確認(rèn)向第一計(jì)算設(shè)備110a發(fā)送第一應(yīng)用250a的狀態(tài)244a被第二計(jì)算設(shè)備110b成功接收的通知。發(fā)送的通知可以與所接收的確認(rèn)相同。也就是說(shuō),所接收的確認(rèn)能夠在沒(méi)有實(shí)質(zhì)性改變的情況下被中繼至第一計(jì)算設(shè)備110a作為發(fā)送的通知。替選地,發(fā)送的通知能夠由服務(wù)器170基于所接收到的確認(rèn)來(lái)生成。
基于該發(fā)送的通知,第一應(yīng)用250a能夠從第一計(jì)算設(shè)備110a去除狀態(tài)244a。
圖3b圖示了用于將應(yīng)用的狀態(tài)從第一計(jì)算設(shè)備傳輸至第二計(jì)算設(shè)備的過(guò)程300b的第二示例。
在步驟315,第一計(jì)算設(shè)備110a向第二計(jì)算設(shè)備110b發(fā)送發(fā)起傳輸?shù)谝挥?jì)算設(shè)備110a上的第一應(yīng)用250a的狀態(tài)244a的請(qǐng)求。第二計(jì)算設(shè)備110b具有被配置為在第二計(jì)算設(shè)備110b上恢復(fù)第一應(yīng)用250a的狀態(tài)244a的第二應(yīng)用250b。
步驟315中所發(fā)送的請(qǐng)求能夠以各種方式被觸發(fā)。例如,當(dāng)?shù)谝挥?jì)算設(shè)備110a檢測(cè)到存在第二計(jì)算設(shè)備110b時(shí),能夠提供第一通知(例如顯示)以指示存在第二計(jì)算設(shè)備110b。第一計(jì)算設(shè)備110a能夠基于第二計(jì)算設(shè)備110b與第一計(jì)算設(shè)備110a的物理接近性和/或網(wǎng)絡(luò)接近性來(lái)檢測(cè)第二計(jì)算設(shè)備110b的存在。
作為物理接近性的示例,第一計(jì)算設(shè)備110a可以基于藍(lán)牙技術(shù)來(lái)檢測(cè)第二計(jì)算設(shè)備110b的存在。類(lèi)似地,第一計(jì)算設(shè)備110a可以基于紅外、wifi或者將會(huì)使得第二計(jì)算設(shè)備110b發(fā)射可辨識(shí)信號(hào)的任意其它技術(shù)來(lái)檢測(cè)第二計(jì)算設(shè)備110b的存在。
第一計(jì)算設(shè)備110a可以基于第二計(jì)算設(shè)備110b所導(dǎo)致的影響來(lái)檢測(cè)第二計(jì)算設(shè)備110b的存在。例如,第一計(jì)算設(shè)備110a可以基于第二計(jì)算設(shè)備110b所發(fā)射的特定聲音模式來(lái)檢測(cè)第二計(jì)算設(shè)備110b。
作為網(wǎng)絡(luò)接近性的示例,第一計(jì)算設(shè)備110a能夠針對(duì)其它計(jì)算設(shè)備110的存在而探測(cè)網(wǎng)絡(luò)。例如,第一計(jì)算設(shè)備110a能夠針對(duì)第二計(jì)算設(shè)備110b的硬件地址(例如mac地址)而掃描網(wǎng)絡(luò)。
第一計(jì)算設(shè)備110a所提供(例如顯示)以指示第二計(jì)算設(shè)備110b的存在的第一通知可以被配置為接受第一命令(例如第一輸入)。該第一命令可以導(dǎo)致第一計(jì)算設(shè)備110a向第二計(jì)算設(shè)備110b發(fā)送發(fā)起將第一應(yīng)用250a的狀態(tài)244a從第一計(jì)算設(shè)備110a傳輸至第二計(jì)算設(shè)備110b的請(qǐng)求。
應(yīng)當(dāng)注意的是,該第一通知可以要求或不要求用戶(hù)交互。也就是說(shuō),該通知以及相對(duì)應(yīng)的第一命令可以基于第一計(jì)算設(shè)備的配置而自動(dòng)發(fā)生。
在步驟325,第一計(jì)算設(shè)備110a響應(yīng)于該發(fā)送的請(qǐng)求而從第二計(jì)算設(shè)備110b接收發(fā)起傳輸?shù)脑S可。在步驟325中所接收的許可可以以各種方式被觸發(fā)。例如,當(dāng)?shù)谝挥?jì)算設(shè)備110a發(fā)送發(fā)起傳輸?shù)恼?qǐng)求時(shí),第二計(jì)算設(shè)備110b能夠提供(例如顯示)指示發(fā)起傳輸?shù)恼?qǐng)求的第二通知。第二計(jì)算設(shè)備110b所提供(例如顯示)的第二通知可以被配置為接受第二命令而使得第二計(jì)算設(shè)備110b向第一計(jì)算設(shè)備110a發(fā)送許可以發(fā)起傳輸。
在步驟335,第一計(jì)算設(shè)備110a從第二計(jì)算設(shè)備110b接收該許可,并且基于所接收到的許可向第二計(jì)算設(shè)備110b發(fā)送第一應(yīng)用250a的狀態(tài)244a。
在一個(gè)方面,第一計(jì)算設(shè)備110a可以從第二計(jì)算設(shè)備110b接收第一應(yīng)用250a的狀態(tài)244a成功傳輸?shù)闹甘尽;谒邮盏降闹甘?,第一?yīng)用250a能夠從第一計(jì)算設(shè)備110a去除狀態(tài)244a。
應(yīng)當(dāng)注意的是,雖然以上關(guān)于圖1和2的系統(tǒng)對(duì)過(guò)程300a-b進(jìn)行了描述,但是過(guò)程300a-b并不局限于此,并且能夠由其它系統(tǒng)和/或配置來(lái)執(zhí)行。例如,步驟310的第一請(qǐng)求和/或步驟320的許可可以基于步驟315和325中所描述的接近性的檢測(cè)。也就是說(shuō),可以使得第一應(yīng)用250a的狀態(tài)244a的傳輸(例如出于安全原因)取決于第一計(jì)算設(shè)備110a與第二計(jì)算設(shè)備110b的接近性。
現(xiàn)在將使用圖3a-b的過(guò)程300a-b的示例對(duì)一個(gè)示例進(jìn)行描述。在圖4a所圖示的第一示例中,將使用平板計(jì)算機(jī)作為第一計(jì)算設(shè)備110a,該平板計(jì)算機(jī)上的第一web瀏覽器將被用作第一應(yīng)用250a,該第一web瀏覽器上隨后被稱(chēng)作第一瀏覽會(huì)話(huà)的瀏覽會(huì)話(huà)將被用作第一應(yīng)用250a的狀態(tài)244a,將使用臺(tái)式計(jì)算機(jī)作為第二計(jì)算設(shè)備110b,并且該臺(tái)式計(jì)算機(jī)上的第二web瀏覽器將被用作第二應(yīng)用250b。
在該示例中,使用平板計(jì)算機(jī)110a的用戶(hù)決定從在線(xiàn)零售商處購(gòu)買(mǎi)一本書(shū)。當(dāng)用戶(hù)開(kāi)始結(jié)算過(guò)程以完成購(gòu)買(mǎi)時(shí),該用戶(hù)被要求輸入其送貨和賬單信息。該用戶(hù)發(fā)現(xiàn)在平板計(jì)算機(jī)的觸摸屏上打字很麻煩,決定切換至臺(tái)式計(jì)算機(jī)。
過(guò)程300a在用戶(hù)決定將第一瀏覽會(huì)話(huà)244a從平板計(jì)算機(jī)傳輸至臺(tái)式計(jì)算機(jī)110b時(shí)開(kāi)始。
在步驟310,服務(wù)器170從平板計(jì)算機(jī)110a接收將平板計(jì)算機(jī)110a上的第一web瀏覽器250a的第一瀏覽會(huì)話(huà)244a傳輸至臺(tái)式計(jì)算機(jī)110b的第一請(qǐng)求。臺(tái)式計(jì)算機(jī)110b上的第二web瀏覽器250b被配置為恢復(fù)第一web瀏覽器250a的瀏覽244a。
平板計(jì)算機(jī)110a上的第一瀏覽會(huì)話(huà)244a包括與用戶(hù)的web活動(dòng)相關(guān)的所有文件。例如,該第一瀏覽會(huì)話(huà)包括用戶(hù)所觀看的特定網(wǎng)頁(yè)、相關(guān)聯(lián)的臨時(shí)文件、cookie、url歷史、窗口和/或標(biāo)簽位置等等。該示例中的第一瀏覽會(huì)話(huà)244a以文檔對(duì)象模型(dom)格式進(jìn)行表達(dá)。
在步驟320,服務(wù)器170基于該第一請(qǐng)求向臺(tái)式計(jì)算機(jī)110b發(fā)送許可發(fā)起將第一web瀏覽器250a的第一瀏覽會(huì)話(huà)244a從平板計(jì)算機(jī)110a傳輸至臺(tái)式計(jì)算機(jī)110b的第二請(qǐng)求。在該示例中,發(fā)送至臺(tái)式計(jì)算機(jī)110b的第二請(qǐng)求由服務(wù)器170基于從平板計(jì)算機(jī)110a所接收的第一請(qǐng)求來(lái)生成。
臺(tái)式計(jì)算機(jī)110b被配置為自動(dòng)接受來(lái)自平板計(jì)算機(jī)110a的進(jìn)入傳輸。因此,臺(tái)式計(jì)算機(jī)110b自動(dòng)向服務(wù)器170發(fā)送許可。
在步驟330,服務(wù)器170從臺(tái)式計(jì)算機(jī)110b接收發(fā)起從平板計(jì)算機(jī)110a傳輸?shù)谝粀eb瀏覽器250a的第一瀏覽會(huì)話(huà)244a的許可。
在步驟340,基于所接收的許可,服務(wù)器170從平板計(jì)算機(jī)110a接收第一瀏覽會(huì)話(huà)244a。
在步驟350,服務(wù)器170將瀏覽會(huì)話(huà)244a發(fā)送至臺(tái)式計(jì)算機(jī)110b。第一瀏覽會(huì)話(huà)244a以及基于步驟340的操作所存儲(chǔ)(例如作為臨時(shí)副本)或生成的任意其它數(shù)據(jù)可以被存儲(chǔ)在服務(wù)器170上作為應(yīng)用狀態(tài)服務(wù)器數(shù)據(jù)284。
臺(tái)式計(jì)算機(jī)110b上的第二web瀏覽器250b隨后恢復(fù)第一web瀏覽器250a的第一瀏覽會(huì)話(huà)244a。用戶(hù)隨后從臺(tái)式計(jì)算機(jī)110b完成購(gòu)買(mǎi)。
在圖4b所圖示的第二示例中,將使用臺(tái)式計(jì)算機(jī)作為第一計(jì)算設(shè)備110a,該臺(tái)式計(jì)算機(jī)上的第一基于web的文字處理應(yīng)用將被用作第一應(yīng)用250a,與該第一基于文本的文字處理應(yīng)用相關(guān)聯(lián)的文件將被用作第一應(yīng)用250a的狀態(tài)244a,將使用膝上計(jì)算機(jī)作為第二計(jì)算設(shè)備110b,并且該膝上計(jì)算機(jī)上的第二基于web的文字處理應(yīng)用將被用作第二應(yīng)用250b。
在該示例中,用戶(hù)處于其辦公室中,并且正在使用基于web的文字處理應(yīng)用來(lái)編輯文檔。該基于web的應(yīng)用能夠離線(xiàn)創(chuàng)建和/或編輯文檔。該用戶(hù)必須搭乘飛機(jī)進(jìn)行商務(wù)旅行以去往另一個(gè)位置參加會(huì)議。
過(guò)程300b在該用戶(hù)決定將第一基于web的文字處理應(yīng)用250a的狀態(tài)244a傳輸至用戶(hù)將在其商務(wù)旅行時(shí)攜帶的膝上計(jì)算機(jī)110b時(shí)開(kāi)始。該用戶(hù)決定傳輸狀態(tài)244a,使得其能夠訪(fǎng)問(wèn)到其正在編輯的文檔的操作歷史(例如撤銷(xiāo)歷史)。
在操作315,臺(tái)式計(jì)算機(jī)110a向膝上計(jì)算機(jī)110b發(fā)送發(fā)起傳輸臺(tái)式計(jì)算機(jī)110a上的第一基于web的文字處理應(yīng)用250a的狀態(tài)244a的請(qǐng)求。膝上計(jì)算機(jī)110b具有web瀏覽器,其已經(jīng)被存儲(chǔ)了隨后離線(xiàn)使用的基于web的文字處理應(yīng)用,下文被稱(chēng)作第二基于web的文字處理應(yīng)用250b。第二基于web的文字處理應(yīng)用250b被配置為恢復(fù)第一基于web的文字處理應(yīng)用250a的狀態(tài)244a。
步驟315中所發(fā)送的請(qǐng)求在臺(tái)式計(jì)算機(jī)110a檢測(cè)到膝上計(jì)算機(jī)110b的存在時(shí)被觸發(fā)。臺(tái)式計(jì)算機(jī)110a基于從膝上計(jì)算機(jī)110b所接收到的藍(lán)牙信號(hào)來(lái)檢測(cè)膝上計(jì)算機(jī)110b。
在步驟325,臺(tái)式計(jì)算機(jī)110a響應(yīng)于該發(fā)送的請(qǐng)求而從膝上計(jì)算機(jī)110b接收發(fā)起傳輸?shù)脑S可。步驟325中的許可為臺(tái)式計(jì)算機(jī)110a從膝上計(jì)算機(jī)110b所接收的安全令牌的形式。
在步驟335,基于所接收到的許可,臺(tái)式計(jì)算機(jī)110a將第一基于web的文字處理應(yīng)用250a的狀態(tài)244a發(fā)送至膝上計(jì)算機(jī)110b。第二基于web的文字處理應(yīng)用250a隨后恢復(fù)狀態(tài)244a,并且用戶(hù)隨后能夠繼續(xù)在膝上計(jì)算機(jī)110b上對(duì)該文檔進(jìn)行工作。
圖5在概念上圖示了可以用來(lái)實(shí)現(xiàn)該主題技術(shù)的一些方面的電子系統(tǒng)。例如,圖5圖示了能夠利用其來(lái)實(shí)現(xiàn)圖2的計(jì)算設(shè)備110或服務(wù)器170的計(jì)算機(jī)系統(tǒng)500的示例。在某些方面,計(jì)算機(jī)系統(tǒng)500可以使用硬件或者軟件和硬件的組合在專(zhuān)用服務(wù)器中實(shí)現(xiàn),或者被集成到另一個(gè)實(shí)體之中,或者跨多個(gè)實(shí)體進(jìn)行分布。
計(jì)算機(jī)系統(tǒng)500(例如計(jì)算設(shè)備110、服務(wù)器170)包括總線(xiàn)508或者用于傳輸信息的其它通信機(jī)制,以及與總線(xiàn)508耦合以便處理信息的處理器502(例如處理器220、處理器260)。作為示例,計(jì)算機(jī)系統(tǒng)500可以被實(shí)現(xiàn)為具有一個(gè)或多個(gè)處理器502。處理器502可以是通用微處理器、微控制器、數(shù)字信號(hào)處理器(dsp)、專(zhuān)用集成電路(asic)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)、可編程邏輯設(shè)備(pld)、控制器、狀態(tài)機(jī)、門(mén)邏輯、離散硬件組件,或者能夠執(zhí)行計(jì)算或其它信息操控的任意其它適當(dāng)實(shí)體。
除硬件之外,計(jì)算機(jī)系統(tǒng)500可以包括創(chuàng)建所討論的計(jì)算機(jī)程序的執(zhí)行環(huán)境的代碼,例如構(gòu)成存儲(chǔ)在所包括的存儲(chǔ)器504(例如存儲(chǔ)器240、存儲(chǔ)器280)中的處理器固件、協(xié)議棧、數(shù)據(jù)庫(kù)管理系統(tǒng)、操作系統(tǒng)或者它們中一個(gè)或多個(gè)的組合的代碼,上述存儲(chǔ)器504諸如隨機(jī)存取存儲(chǔ)器(ram)、閃存、只讀存儲(chǔ)器(rom)、可編程只讀存儲(chǔ)器(prom)、可擦除prom(eprom)、寄存器、硬盤(pán)、可移動(dòng)盤(pán)、cd-rom、dvd,或者任意其它適當(dāng)存儲(chǔ)設(shè)備,其耦合至總線(xiàn)508以便存儲(chǔ)要由處理器502執(zhí)行的信息和指令。處理器502和存儲(chǔ)器504可以被補(bǔ)充以專(zhuān)用邏輯電路或者結(jié)合于其中。
指令可以存儲(chǔ)在存儲(chǔ)器504中并且在一個(gè)或多個(gè)計(jì)算機(jī)程序產(chǎn)品中實(shí)施,上述計(jì)算機(jī)程序產(chǎn)品即編碼在計(jì)算機(jī)可讀介質(zhì)上以便由計(jì)算機(jī)系統(tǒng)500執(zhí)行或者控制其操作的計(jì)算機(jī)程序指令的一個(gè)或多個(gè)模塊,并且根據(jù)本領(lǐng)域技術(shù)人員所公知的任意方法,其包括但并不局限于計(jì)算機(jī)語(yǔ)言,諸如面向數(shù)據(jù)的語(yǔ)言(例如sql、dbase)、系統(tǒng)語(yǔ)言(例如c、objective-c、c++、匯編)、架構(gòu)語(yǔ)言(例如java、.net)和應(yīng)用語(yǔ)言(例如php、ruby、perl、python)。指令還可以以諸如陣列語(yǔ)言、面向方面的語(yǔ)言、匯編語(yǔ)言、編輯語(yǔ)言、命令行接口語(yǔ)言、編譯語(yǔ)言、并行編程語(yǔ)言、波形括號(hào)語(yǔ)言、數(shù)據(jù)流語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)化語(yǔ)言、聲明語(yǔ)言、深?yuàn)W編程語(yǔ)言、擴(kuò)展語(yǔ)言、第四代語(yǔ)言、功能語(yǔ)言、交互模式語(yǔ)言、解釋語(yǔ)言、迭代語(yǔ)言、基于列表的語(yǔ)言、小型語(yǔ)言、基于邏輯的語(yǔ)言、機(jī)器語(yǔ)言、宏語(yǔ)言、元程序設(shè)計(jì)語(yǔ)言、多范例語(yǔ)言、數(shù)字分析、非基于英語(yǔ)的語(yǔ)言、面向?qū)ο蟮幕陬?lèi)的語(yǔ)言、面向?qū)ο蟮幕谠驼Z(yǔ)言、越位規(guī)則語(yǔ)言、過(guò)程語(yǔ)言、反射語(yǔ)言、基于規(guī)則的語(yǔ)言、腳本語(yǔ)言、基于棧的語(yǔ)言、同步語(yǔ)言、語(yǔ)義處理語(yǔ)言、視覺(jué)語(yǔ)言、wirth語(yǔ)言、嵌入式語(yǔ)言和基于xml的語(yǔ)言的計(jì)算機(jī)語(yǔ)言來(lái)實(shí)現(xiàn)。存儲(chǔ)器504也可以被用于在要被處理器502執(zhí)行的指令的執(zhí)行期間存儲(chǔ)臨時(shí)變量或其它中間信息。
如這里所討論的計(jì)算機(jī)程序可以不必對(duì)應(yīng)于文件系統(tǒng)中的文件。程序能夠被存儲(chǔ)在保存其它程序或數(shù)據(jù)(例如標(biāo)記語(yǔ)言文檔中所存儲(chǔ)的一個(gè)或多個(gè)腳本)的文件的一部分中,存儲(chǔ)在專(zhuān)用于所討論程序的單個(gè)文件中,或者存儲(chǔ)在多個(gè)協(xié)同文件中(例如存儲(chǔ)一個(gè)或多個(gè)模塊、子程序或代碼部分的文件)。計(jì)算機(jī)程序可以被部署為在一臺(tái)計(jì)算機(jī)或多臺(tái)計(jì)算機(jī)上執(zhí)行,該多臺(tái)計(jì)算機(jī)位于一個(gè)地點(diǎn)或者跨多個(gè)地點(diǎn)分布并且通過(guò)通信網(wǎng)絡(luò)進(jìn)行互連。該說(shuō)明書(shū)中所描述的過(guò)程和邏輯流程能夠由一個(gè)或多個(gè)可編程處理器執(zhí)行,所述一個(gè)或多個(gè)可編程處理器執(zhí)行一個(gè)或多個(gè)計(jì)算機(jī)程序以通過(guò)對(duì)輸入數(shù)據(jù)進(jìn)行操作并生成輸出來(lái)執(zhí)行功能。
計(jì)算機(jī)系統(tǒng)500進(jìn)一步包括諸如磁盤(pán)或光盤(pán)的數(shù)據(jù)存儲(chǔ)設(shè)備506,其耦合至總線(xiàn)508以便存儲(chǔ)信息和指令。計(jì)算機(jī)系統(tǒng)500可以經(jīng)由輸入/輸出模塊510耦合至各個(gè)設(shè)備。輸入/輸出模塊510可以是任意的輸入/輸出模塊。輸入/輸出模塊510的示例包括諸如usb端口的數(shù)據(jù)端口。輸入/輸出模塊510被配置為連接至通信模塊512。通信模塊512的示例(例如通信模塊222、通信模塊262)包括網(wǎng)絡(luò)接口卡,諸如以太網(wǎng)卡和調(diào)制解調(diào)器。在某些方面,輸入/輸出模塊510被配置為連接至諸如輸入設(shè)備514(例如輸入設(shè)備202)和/或輸出設(shè)備516(例如輸出設(shè)備204)的多個(gè)設(shè)備。輸入設(shè)備514的示例包括鍵盤(pán)以及諸如鼠標(biāo)或軌跡球的指示設(shè)備,用戶(hù)能夠通過(guò)其向計(jì)算機(jī)系統(tǒng)500提供輸入。也能夠使用其它類(lèi)型的輸入設(shè)備514來(lái)提供與用戶(hù)的交互,諸如觸覺(jué)輸入設(shè)備、視覺(jué)輸入設(shè)備、音頻輸入設(shè)備或者腦力計(jì)算機(jī)接口設(shè)備。例如,提供給用戶(hù)的反饋可以是任意形式的感官反饋,例如視覺(jué)反饋、聽(tīng)覺(jué)反饋或觸覺(jué)反饋;并且來(lái)自用戶(hù)的輸入能夠以任意形式被接收,包括聲音、語(yǔ)音、觸覺(jué)或腦波輸入。輸出設(shè)備516的示例包括用于向用戶(hù)顯示信息的顯示設(shè)備,諸如crt(陰極射線(xiàn)管)或lcd(液晶顯示器)監(jiān)視器。
根據(jù)本公開(kāi)的一個(gè)方面,計(jì)算設(shè)備110可以響應(yīng)于處理器502執(zhí)行存儲(chǔ)器504中所包含的一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列而使用計(jì)算機(jī)系統(tǒng)500來(lái)實(shí)現(xiàn)。這樣的指令可以從諸如數(shù)據(jù)存儲(chǔ)設(shè)備506的另一個(gè)機(jī)器可讀介質(zhì)被讀入存儲(chǔ)器504。執(zhí)行主存儲(chǔ)器504中所包含的指令序列使得處理器502執(zhí)行這里所描述的過(guò)程步驟。多處理布置中的一個(gè)或多個(gè)處理器也可以被用來(lái)執(zhí)行存儲(chǔ)器504中所包含的指令序列。在替選的方面,可以替代軟件指令或者與之相結(jié)合地使用硬線(xiàn)電路來(lái)實(shí)現(xiàn)本公開(kāi)的各個(gè)方面。因此,本公開(kāi)的多個(gè)方面并不局限于硬件電路和軟件的任何具體組合。
該說(shuō)明書(shū)中所描述的主題的各個(gè)方面能夠在計(jì)算系統(tǒng)中實(shí)現(xiàn),該計(jì)算系統(tǒng)包括例如作為數(shù)據(jù)服務(wù)器的后端組件,或者包括例如應(yīng)用服務(wù)器的中間件組件,或者包括例如計(jì)算計(jì)算機(jī)的前端組件,或者一個(gè)或多個(gè)這樣的后端、中間件或前端組件的任意組合,上述計(jì)算計(jì)算機(jī)具有用戶(hù)能夠通過(guò)其與該說(shuō)明書(shū)所描述的主題的實(shí)現(xiàn)方式進(jìn)行交互的圖形用戶(hù)界面或應(yīng)用。該系統(tǒng)的組件能夠通過(guò)例如通信網(wǎng)絡(luò)之類(lèi)的任意形式或介質(zhì)的數(shù)字?jǐn)?shù)據(jù)通信進(jìn)行互連。通信網(wǎng)絡(luò)(例如網(wǎng)絡(luò)140)能夠包括例如任意個(gè)域網(wǎng)絡(luò)(pan)、局域網(wǎng)(lan)、校園網(wǎng)(can)、城域網(wǎng)(man)、廣域網(wǎng)(wan)、寬帶網(wǎng)絡(luò)(bbn)、互聯(lián)網(wǎng)等中的一個(gè)或多個(gè)。另外,通信網(wǎng)絡(luò)例如可以包括但并不局限于包括以下網(wǎng)絡(luò)拓?fù)渲械娜我庖环N或多種:總線(xiàn)網(wǎng)絡(luò)、星形網(wǎng)絡(luò)、環(huán)形網(wǎng)絡(luò)、網(wǎng)狀網(wǎng)絡(luò)、星形-總線(xiàn)網(wǎng)絡(luò)、樹(shù)形或?qū)蛹?jí)網(wǎng)絡(luò)等。通信模塊例如可以是調(diào)制解調(diào)器或以太網(wǎng)卡。
計(jì)算系統(tǒng)500可以包括計(jì)算設(shè)備和服務(wù)器。計(jì)算設(shè)備和服務(wù)器通?;ハ噙h(yuǎn)離并且典型地通過(guò)通信網(wǎng)絡(luò)進(jìn)行交互。計(jì)算設(shè)備和服務(wù)器的關(guān)系源自于在相應(yīng)計(jì)算機(jī)上運(yùn)行并且互相具有計(jì)算-服務(wù)器關(guān)系的計(jì)算機(jī)程序。計(jì)算機(jī)系統(tǒng)500例如可以是臺(tái)式計(jì)算機(jī)、膝上計(jì)算機(jī)或平板計(jì)算機(jī),但是并不局限于此。計(jì)算機(jī)系統(tǒng)500還可以嵌入在另一個(gè)設(shè)備中,例如移動(dòng)電話(huà)、個(gè)人數(shù)字助理(pda)、移動(dòng)音頻播放器、全球定位系統(tǒng)(gps)接收器、視頻游戲機(jī)和/或電視機(jī)頂盒,但是并不局限于此。
如這里所使用的術(shù)語(yǔ)“機(jī)器可讀存儲(chǔ)介質(zhì)”或“計(jì)算機(jī)可讀介質(zhì)”是指參與向處理器502提供指令以供執(zhí)行的任意介質(zhì)。這樣的介質(zhì)可以采用許多形式,包括但并不局限于非易失性介質(zhì)、易失性介質(zhì)和傳輸介質(zhì)。非易失性介質(zhì)例如包括光盤(pán)或磁盤(pán),諸如數(shù)據(jù)存儲(chǔ)設(shè)備506。易失性介質(zhì)包括動(dòng)態(tài)存儲(chǔ)器,諸如存儲(chǔ)器504。傳輸介質(zhì)包括同軸線(xiàn)纜、銅線(xiàn)和光纖,包括包含總線(xiàn)508在內(nèi)的線(xiàn)路。機(jī)器可讀介質(zhì)的常見(jiàn)形式例如包括軟盤(pán)、軟質(zhì)盤(pán)、硬盤(pán)、磁帶、任意其它磁性介質(zhì)、cd-rom、dvd、任意其它光學(xué)介質(zhì)、打孔卡、紙帶、任意其它具有孔洞圖案的物理介質(zhì)、ram、prom、eprom、flasheprom、任意其它存儲(chǔ)器芯片或卡盒,或者計(jì)算機(jī)能夠從其進(jìn)行讀取的任意其它介質(zhì)。機(jī)器可讀存儲(chǔ)介質(zhì)可以是機(jī)器可讀存儲(chǔ)設(shè)備、機(jī)器可讀存儲(chǔ)基片、存儲(chǔ)器設(shè)備、影響機(jī)器可讀傳播信號(hào)的事物組合,或者它們中一個(gè)或多個(gè)的組合。
雖然該說(shuō)明書(shū)包含了許多具體細(xì)節(jié),但是這些并不應(yīng)當(dāng)被理解為對(duì)可以請(qǐng)求保護(hù)的范圍的限制,相反要被理解為該主題的特定實(shí)現(xiàn)方式的描述。在該說(shuō)明書(shū)中以主題技術(shù)的單獨(dú)實(shí)現(xiàn)方式為背景所描述的某些特征也能夠組合在單個(gè)實(shí)現(xiàn)方式中來(lái)實(shí)現(xiàn)。相反,在單個(gè)實(shí)現(xiàn)方式的背景下描述的各個(gè)特征也能夠單獨(dú)在多個(gè)實(shí)現(xiàn)方式中實(shí)現(xiàn)或者以任意適當(dāng)?shù)淖咏M合形式來(lái)實(shí)現(xiàn)。此外,雖然特征可以在上文中被描述為以某種組合進(jìn)行操作并且甚至最初如此要求保護(hù),但是來(lái)自所請(qǐng)求保護(hù)的組合的一個(gè)或多個(gè)特征在一些情況下能夠從該組合中被去除,并且所請(qǐng)求保護(hù)的組合可以針對(duì)子組合或子組合的變化形式。
類(lèi)似地,雖然操作在圖中以特定順序進(jìn)行描繪,但是這并不應(yīng)當(dāng)被理解為要求這樣的操作以所示出的特定順序或連續(xù)順序來(lái)執(zhí)行,或者所有所圖示的操作都要被執(zhí)行,才能實(shí)現(xiàn)所期望的結(jié)果。在某些環(huán)境中,多任務(wù)和并行處理可能是有利的。此外,以上所說(shuō)明的方面中各個(gè)系統(tǒng)組件的劃分不應(yīng)當(dāng)被理解為在所有的方面中要求這樣的劃分,并且應(yīng)當(dāng)理解的是,所描述的程序組件和系統(tǒng)一般能夠共同集成在單個(gè)軟件產(chǎn)品中或者被封裝為多個(gè)軟件產(chǎn)品。
已經(jīng)在特定方面對(duì)該說(shuō)明書(shū)的主題進(jìn)行了描述,但是其它方面也能夠?qū)崿F(xiàn)并且處于所附權(quán)利要求的范圍之內(nèi)。例如,在權(quán)利要求中記載的動(dòng)作可以以不同順序來(lái)執(zhí)行并且仍然獲得所期望的結(jié)果。作為一個(gè)示例,在附圖中描繪的過(guò)程并非必然要求所示出的特定順序或連續(xù)順序來(lái)實(shí)現(xiàn)所期望的結(jié)果。在某些實(shí)現(xiàn)方式中,多任務(wù)和并行處理可能是有利的。其它變化處于所附權(quán)利要求的范圍之內(nèi)。
這些和其它實(shí)現(xiàn)方式處于所附權(quán)利要求的范圍之內(nèi)。