計(jì)算系統(tǒng)和相關(guān)的技術(shù)影響社會(huì)的許多方面。事實(shí)上,計(jì)算系統(tǒng)處理信息的能力已經(jīng)改變了我們生活和工作的方式。計(jì)算系統(tǒng)現(xiàn)在通常執(zhí)行眾多任務(wù)(例如,字處理、調(diào)度、會(huì)計(jì)等等),這些工作在計(jì)算系統(tǒng)出現(xiàn)之前是人工執(zhí)行的。最近,計(jì)算系統(tǒng)互相耦合,并且耦合到其他電子設(shè)備,諸如電話和平板裝置,以形成有線和無線計(jì)算機(jī)網(wǎng)絡(luò),計(jì)算系統(tǒng)和其他電子設(shè)備可通過這些網(wǎng)絡(luò)傳遞電子數(shù)據(jù)。
許多時(shí)候,大量臺(tái)式計(jì)算機(jī)、膝上型電腦、電話、平板裝置等等在基于云的服務(wù)/網(wǎng)絡(luò)內(nèi)互相耦合在一起。例如,某個(gè)家庭(并且該家庭的各個(gè)成員具有臺(tái)式計(jì)算機(jī)、平板裝置和智能電話)可以通過基于云的服務(wù)/網(wǎng)絡(luò)耦合這些設(shè)備的每個(gè)設(shè)備?;谠频姆?wù)/網(wǎng)絡(luò)然后可以允許各個(gè)家庭成員訪問文檔、照片、視頻,并且使得它們被創(chuàng)建在彼此的設(shè)備上。
本文所要求保護(hù)的主題不限于解決任何缺點(diǎn)的或僅僅在諸如上述的那些環(huán)境中運(yùn)行的實(shí)施例。而是,本
背景技術(shù):
僅僅被提供來圖示其中可以實(shí)踐本文描述的某些實(shí)施例的一個(gè)示例性技術(shù)領(lǐng)域。
技術(shù)實(shí)現(xiàn)要素:
本文描述的至少某些實(shí)施例涉及用于路由數(shù)據(jù)、數(shù)據(jù)的導(dǎo)出版本、和數(shù)據(jù)變換的邏輯操作的使用。在某些實(shí)施例中,與常駐于第一計(jì)算系統(tǒng)上的數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù)被發(fā)送到至少第二計(jì)算系統(tǒng)。元數(shù)據(jù)被構(gòu)建成使得當(dāng)被所述第二計(jì)算系統(tǒng)解譯時(shí),所述第二計(jì)算系統(tǒng)提供該數(shù)據(jù)存在于本地的表現(xiàn)。第一計(jì)算系統(tǒng)然后接收來自第二計(jì)算系統(tǒng)的通信,說明用戶已經(jīng)在第二計(jì)算系統(tǒng)上與該數(shù)據(jù)的表現(xiàn)進(jìn)行交互。響應(yīng)于該通信,第一計(jì)算系統(tǒng)然后把數(shù)據(jù)的變換發(fā)送到至少第二計(jì)算系統(tǒng)。其他實(shí)施例認(rèn)為第二計(jì)算系統(tǒng)為:解譯元數(shù)據(jù)以提供該數(shù)據(jù)是本地存在的表現(xiàn);檢測(cè)用戶與該表現(xiàn)進(jìn)行交互;并且因此從第一計(jì)算系統(tǒng)請(qǐng)求所述數(shù)據(jù)的至少一個(gè)變換。
在其他實(shí)施例中,包括標(biāo)識(shí)符并且與常駐于第一計(jì)算系統(tǒng)上的數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù)被發(fā)送到至少第二計(jì)算系統(tǒng)。然后,應(yīng)用邏輯操作來確定如何和何時(shí)把數(shù)據(jù)的導(dǎo)出版本發(fā)送到至少第二計(jì)算系統(tǒng)?;谕ㄟ^應(yīng)用邏輯操作而作出的確定,數(shù)據(jù)的導(dǎo)出版本以與對(duì)于整個(gè)數(shù)據(jù)的標(biāo)識(shí)符相關(guān)聯(lián)的方式被發(fā)送到至少第二計(jì)算系統(tǒng)。
本概要被提供來以簡(jiǎn)化的形式介紹一系列概念,這些概念還將在下面的詳細(xì)說明中進(jìn)行描述。本概要既不打算標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不打算被使用來作為確定所要求保護(hù)的主題的范圍的輔助。
附圖說明
為了描述可以得到本發(fā)明的上述的和其他的優(yōu)點(diǎn)和特征的方式,以上概略描述的本發(fā)明的更具體的描述將通過參考其中在附圖上圖示的具體的實(shí)施例而被呈現(xiàn)。應(yīng)該理解,這些附圖僅僅描繪本發(fā)明的典型的實(shí)施例而且因此不被看作為限制其范圍,本發(fā)明將通過使用附圖以附加特性和細(xì)節(jié)而進(jìn)行描述和解釋,圖中:
圖1圖示了其中可以運(yùn)行本文描述的原理的示例計(jì)算系統(tǒng);
圖2圖示了用于使得在第一計(jì)算系統(tǒng)處生成的數(shù)據(jù)可用于通過所生成的數(shù)據(jù)的虛擬代表通過網(wǎng)絡(luò)可用的計(jì)算系統(tǒng)的環(huán)境;
圖3圖示了用于使得在第一計(jì)算系統(tǒng)處生成的數(shù)據(jù)通過所生成的數(shù)據(jù)的虛擬代表通過網(wǎng)絡(luò)可用于計(jì)算系統(tǒng)的計(jì)算環(huán)境的具體示例;
圖4圖示了用于使用元數(shù)據(jù)準(zhǔn)備使得常駐于第一計(jì)算系統(tǒng)上的數(shù)據(jù)中的至少一部分?jǐn)?shù)據(jù)可用于網(wǎng)絡(luò)上的其他計(jì)算系統(tǒng)的方法的流程圖;
圖5圖示了用于使用邏輯操作把數(shù)據(jù)的至少一個(gè)變換發(fā)送到至少第二計(jì)算系統(tǒng)的方法的流程圖;以及
圖6圖示了可應(yīng)用來確定何時(shí)應(yīng)當(dāng)把數(shù)據(jù)的至少一個(gè)導(dǎo)出版本發(fā)送到第二計(jì)算系統(tǒng)的邏輯操作的具體示例的流程圖。
具體實(shí)施方式
本文描述的至少某些實(shí)施例涉及用于路由數(shù)據(jù)、數(shù)據(jù)的導(dǎo)出版本、和數(shù)據(jù)變換的邏輯操作的使用。例如,邏輯操作可以是基于用戶的習(xí)慣、帶寬的可供性、用戶的偏好等等。例如,所使用的邏輯操作可包括在發(fā)送該數(shù)據(jù)的導(dǎo)出版本之前,基于與相似類型的數(shù)據(jù)的過去的用戶交互,延遲一段規(guī)定的時(shí)間段。延遲可以是用戶丟棄不想要的數(shù)字圖片和編輯想要的數(shù)字圖片所花費(fèi)的平均時(shí)間。所使用的邏輯操作也可以按照用戶的偏好進(jìn)行動(dòng)態(tài)地更新。
在某些實(shí)施例中,與常駐于第一計(jì)算系統(tǒng)上的數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù)被發(fā)送到至少第二計(jì)算系統(tǒng)。元數(shù)據(jù)被構(gòu)建成使得當(dāng)被第二計(jì)算系統(tǒng)解譯時(shí),所述第二計(jì)算系統(tǒng)提供該數(shù)據(jù)是本地存在的表現(xiàn)。第一計(jì)算系統(tǒng)然后接收來自第二計(jì)算系統(tǒng)的通信,說明用戶已經(jīng)在第二計(jì)算系統(tǒng)上與該數(shù)據(jù)的表現(xiàn)進(jìn)行交互。響應(yīng)于該通信,第一計(jì)算系統(tǒng)然后把數(shù)據(jù)的變換發(fā)送到至少第二計(jì)算系統(tǒng)。其他實(shí)施例認(rèn)為第二計(jì)算系統(tǒng)為:解譯元數(shù)據(jù)以提供該數(shù)據(jù)是本地存在的表現(xiàn),檢測(cè)用戶與該表現(xiàn)進(jìn)行交互,并且因此從第一計(jì)算系統(tǒng)請(qǐng)求所述數(shù)據(jù)的至少一個(gè)變換。
在其他實(shí)施例中,包括標(biāo)識(shí)符并且與常駐于第一計(jì)算系統(tǒng)上的數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù)被發(fā)送到至少第二計(jì)算系統(tǒng)。然后,應(yīng)用邏輯操作來確定如何和何時(shí)把數(shù)據(jù)的導(dǎo)出版本發(fā)送到至少第二計(jì)算系統(tǒng)?;谕ㄟ^應(yīng)用邏輯操作而作出的確定,數(shù)據(jù)的導(dǎo)出版本以與對(duì)于整個(gè)數(shù)據(jù)的標(biāo)識(shí)符相關(guān)聯(lián)的方式被發(fā)送到至少第二計(jì)算系統(tǒng)。
雖然本主題是以對(duì)于結(jié)構(gòu)特征和/或方法動(dòng)作的特定的語言描述的,但應(yīng)當(dāng)理解,在所附權(quán)利要求中規(guī)定的本主題不一定限于所描述的特征或本文描述的動(dòng)作的次序。而是,所描述的特征和動(dòng)作被公開為實(shí)施權(quán)利要求的示例形式。
計(jì)算系統(tǒng)現(xiàn)在采用越來越多的多種多樣的形式。計(jì)算系統(tǒng)例如可以是手持式設(shè)備、家用電器、膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、大型主機(jī)、分布式計(jì)算系統(tǒng)、或甚至傳統(tǒng)上不認(rèn)為是計(jì)算系統(tǒng)的設(shè)備。在本說明中和在權(quán)利要求書中,術(shù)語 “計(jì)算系統(tǒng)”被廣義地定義為包括任何設(shè)備或系統(tǒng)(或它們的組合),其包括至少一個(gè)物理的和有形的處理器,以及物理的和有形的存儲(chǔ)器,其能夠把可以由處理器執(zhí)行的計(jì)算機(jī)可執(zhí)行指令存儲(chǔ)在其上。
圖1圖示了示例計(jì)算系統(tǒng)100。在其最基本的配置中,計(jì)算系統(tǒng)100典型地包括至少一個(gè)處理單元102和存儲(chǔ)器104。存儲(chǔ)器104可以是物理系統(tǒng)存儲(chǔ)器,其可以是易失性、非易失性、或二者的某種組合。術(shù)語 “存儲(chǔ)器”也可以在本文中被用來指非易失性大容量存儲(chǔ)裝置,諸如物理存儲(chǔ)介質(zhì)。如果計(jì)算系統(tǒng)是分布式的,則處理、存儲(chǔ)器和/或存儲(chǔ)能力也可以是分布式的。
本文描述的計(jì)算系統(tǒng)中的每個(gè)計(jì)算系統(tǒng)可以通過網(wǎng)絡(luò)(或可以是網(wǎng)絡(luò)的一部分)而互相連接,諸如例如,局域網(wǎng)(“LAN”)、廣域網(wǎng)( “WAN”)、和甚至是互聯(lián)網(wǎng)。因此,分布式計(jì)算系統(tǒng)以及任何其他連接的計(jì)算系統(tǒng)和其部件中的任一項(xiàng)可以創(chuàng)建消息有關(guān)的數(shù)據(jù)和通過網(wǎng)絡(luò)交換消息有關(guān)的數(shù)據(jù)(例如,互聯(lián)網(wǎng)協(xié)議(“IP”)數(shù)據(jù)報(bào)和其他的利用IP數(shù)據(jù)報(bào)的更高層協(xié)議,諸如傳輸控制協(xié)議(“TCP”)、超文本傳送協(xié)議(“HTTP”)、簡(jiǎn)單郵件傳送協(xié)議(“SMTP”)等等)。
正如本文使用的,術(shù)語“可執(zhí)行模塊”或“可執(zhí)行部件”可以是指可以在計(jì)算系統(tǒng)上被執(zhí)行的軟件對(duì)象、路由、或方法。本文描述的不同的部件、模塊、引擎、和服務(wù)可以被實(shí)施為在計(jì)算系統(tǒng)上執(zhí)行的對(duì)象或進(jìn)程(例如,作為分開的線程)。
在下面的說明中,實(shí)施例是參照由一個(gè)或多個(gè)計(jì)算系統(tǒng)執(zhí)行的動(dòng)作被描述的。如果這樣的動(dòng)作以軟件被實(shí)施,則執(zhí)行動(dòng)作的相關(guān)聯(lián)的計(jì)算系統(tǒng)的一個(gè)或多個(gè)處理器響應(yīng)于已執(zhí)行計(jì)算機(jī)可執(zhí)行指令而引導(dǎo)計(jì)算系統(tǒng)的操作。例如,這樣的計(jì)算機(jī)可執(zhí)行指令可以在形成計(jì)算機(jī)程序產(chǎn)品的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上被體現(xiàn)。這樣的操作的一個(gè)示例牽涉到數(shù)據(jù)的操控。計(jì)算機(jī)可執(zhí)行指令(以及操控的數(shù)據(jù))可被存儲(chǔ)在計(jì)算系統(tǒng)100的存儲(chǔ)器104中。計(jì)算系統(tǒng)100還可以包含通信信道108,其允許計(jì)算系統(tǒng)100通過例如網(wǎng)絡(luò)110而與其他消息處理器通信。計(jì)算系統(tǒng)110還可以具有顯示器112,用來為用戶顯示用戶界面,并且當(dāng)然,如果用戶要把數(shù)據(jù)輸入到計(jì)算系統(tǒng)中,還具有相關(guān)聯(lián)的輸入設(shè)備(未示出)。
本文描述的實(shí)施例可包括或利用專用或通用計(jì)算系統(tǒng),其包括計(jì)算機(jī)硬件,諸如例如一個(gè)或多個(gè)處理器和系統(tǒng)存儲(chǔ)器,如在下面更詳細(xì)地討論的。系統(tǒng)存儲(chǔ)器可被包括在全體存儲(chǔ)器104內(nèi)。系統(tǒng)存儲(chǔ)器也可以被稱為 “主存儲(chǔ)器”,并且包括可由至少一個(gè)處理單元102通過存儲(chǔ)器總線進(jìn)行訪問的存儲(chǔ)器位置,在這種情形下,地址位置被稱為在存儲(chǔ)器總線本身上。系統(tǒng)存儲(chǔ)器傳統(tǒng)上是易失性的,但本文描述的原理也應(yīng)用在其中系統(tǒng)存儲(chǔ)器部分地或甚至于全部是非易失性的環(huán)境中。
在本發(fā)明范圍內(nèi)的實(shí)施例也包括物理的和其他的計(jì)算機(jī)可讀介質(zhì),用于承載或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)。這樣的計(jì)算機(jī)可讀介質(zhì)可以是可被通用或?qū)S糜?jì)算系統(tǒng)訪問的任何可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)可讀介質(zhì)是計(jì)算機(jī)存儲(chǔ)介質(zhì)。因此,作為示例但不是限制,本發(fā)明的實(shí)施例可包括至少兩種明顯不同類型的計(jì)算機(jī)可讀介質(zhì):計(jì)算機(jī)存儲(chǔ)介質(zhì)和傳輸介質(zhì)。
計(jì)算機(jī)存儲(chǔ)介質(zhì)是存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理存儲(chǔ)介質(zhì)。物理存儲(chǔ)介質(zhì)包括可記錄類型的存儲(chǔ)設(shè)備,諸如RAM、ROM、EEPROM、固態(tài)驅(qū)動(dòng)(“SSD”)、快閃存儲(chǔ)器、相變存儲(chǔ)器(“PCM”)、光盤存儲(chǔ)裝置、磁盤存儲(chǔ)裝置或其他磁存儲(chǔ)裝置、或任何其他(一個(gè)或者多個(gè))物理硬件存儲(chǔ)介質(zhì),其可被用來存儲(chǔ)具有計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的形式的程序代碼和其可以由通用或?qū)S糜?jì)算系統(tǒng)進(jìn)行訪問和執(zhí)行來實(shí)施本文描述的功能。
傳輸介質(zhì)可包括網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路,其可被用來承載具有計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的形式的程序代碼,和其可以由通用或?qū)S糜?jì)算系統(tǒng)進(jìn)行訪問?!熬W(wǎng)絡(luò)”被定義為一個(gè)或多個(gè)數(shù)據(jù)鏈路,其使得能夠在計(jì)算系統(tǒng)和/或模塊和/或其他電子裝置之間輸送電子數(shù)據(jù)。當(dāng)信息通過網(wǎng)絡(luò)或其他通信連接(無論是硬連接、無線、還是硬連接與無線的組合)被傳送或被提供到計(jì)算系統(tǒng)時(shí),計(jì)算系統(tǒng)可以把該連接看作為傳輸介質(zhì)。以上的組合也應(yīng)當(dāng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
而且,在到達(dá)各種計(jì)算系統(tǒng)部件時(shí),具有計(jì)算機(jī)可執(zhí)行指令或者數(shù)據(jù)結(jié)構(gòu)的形式的程序代碼可以自動(dòng)從傳輸介質(zhì)被傳送到計(jì)算機(jī)存儲(chǔ)介質(zhì)(或反之亦然)。例如,通過網(wǎng)絡(luò)或數(shù)據(jù)鏈路接收的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接口模塊(例如,“NIC”)內(nèi)的RAM中,并且然后最終被傳送到計(jì)算系統(tǒng)RAM和/或到計(jì)算系統(tǒng)處不太易失的計(jì)算機(jī)存儲(chǔ)介質(zhì)。因此,應(yīng)當(dāng)理解,計(jì)算機(jī)存儲(chǔ)介質(zhì)可以被包括在也(或甚至是主要)利用傳輸介質(zhì)的計(jì)算系統(tǒng)中。
計(jì)算機(jī)可執(zhí)行指令包括例如指令和數(shù)據(jù),其當(dāng)在一個(gè)或多個(gè)處理器處被執(zhí)行時(shí)使得通用計(jì)算系統(tǒng)、專用計(jì)算系統(tǒng)、或?qū)S锰幚碓O(shè)備執(zhí)行某個(gè)功能或一組功能。計(jì)算機(jī)可執(zhí)行指令可以是例如二進(jìn)制、中間格式指令,諸如匯編語言,或甚至源代碼。
本領(lǐng)域技術(shù)人員將會(huì)看到,本發(fā)明可以在帶有許多類型的計(jì)算系統(tǒng)配置的網(wǎng)絡(luò)計(jì)算環(huán)境中被實(shí)踐,所述計(jì)算系統(tǒng)配置包括個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、可穿戴裝置(例如,智能手表)、PDA、平板裝置、尋呼機(jī)、路由器、交換機(jī)等等。本發(fā)明也可以在分布式系統(tǒng)環(huán)境下被實(shí)踐,其中通過網(wǎng)絡(luò)被鏈接的(或者通過硬連接的數(shù)據(jù)鏈路,無線數(shù)據(jù)鏈路,或通過硬連接的數(shù)據(jù)鏈路和無線數(shù)據(jù)鏈路的組合)本地和遠(yuǎn)程計(jì)算系統(tǒng)都執(zhí)行任務(wù)。這樣,在分布式系統(tǒng)環(huán)境中,計(jì)算系統(tǒng)可包括多個(gè)構(gòu)成的計(jì)算系統(tǒng)。在分布式系統(tǒng)環(huán)境下,程序模塊可以被放置在本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)裝置中。
本領(lǐng)域技術(shù)人員還將會(huì)看到,本發(fā)明可以在云計(jì)算環(huán)境中被實(shí)踐。云計(jì)算環(huán)境可以是分布式的,雖然這不一定是要求的。云計(jì)算環(huán)境當(dāng)是分布式時(shí),可以國際性地分布在一個(gè)組織內(nèi),和/或具有占用跨多個(gè)組織的部件。在本說明和以下的權(quán)利要求書中, “云計(jì)算”被定義為使得能夠按要求網(wǎng)絡(luò)訪問可配置的計(jì)算資源(例如,網(wǎng)絡(luò)、服務(wù)器、應(yīng)用、和服務(wù))的共享庫的模型。 “云計(jì)算”的定義不限于當(dāng)被適當(dāng)部署時(shí)可以從這樣的模型得到的其他許多優(yōu)點(diǎn)中的任一項(xiàng)。
圖2圖示了按照本文描述的原理的計(jì)算系統(tǒng)環(huán)境200。所述環(huán)境200包括第一計(jì)算系統(tǒng)201、第二計(jì)算系統(tǒng)202和被插入在第一和第二計(jì)算系統(tǒng)之間的網(wǎng)絡(luò)220。第一計(jì)算系統(tǒng)201被圖示為存儲(chǔ)數(shù)據(jù)210。第二計(jì)算系統(tǒng)202被示為存儲(chǔ)數(shù)據(jù)220。網(wǎng)絡(luò)230允許至少計(jì)算系統(tǒng)201與202通過本文描述的任何裝置進(jìn)行連接。橢圓203代表經(jīng)由網(wǎng)絡(luò)230被連接到計(jì)算系統(tǒng)201和202的任何數(shù)目的附加計(jì)算系統(tǒng)。計(jì)算系統(tǒng)201和計(jì)算系統(tǒng)202(以及由橢圓203代表的任何數(shù)目的附加計(jì)算系統(tǒng))是計(jì)算系統(tǒng)100的示例。
數(shù)據(jù)210可以是可由計(jì)算系統(tǒng)解譯的任何類型的數(shù)據(jù)。例如,數(shù)據(jù)210可以是數(shù)字圖片(例如,jpg或bmp文件)、文檔(例如,txt或doc文件)、數(shù)字音頻(例如,mp3文件)、視頻文件、或任何其他類型的數(shù)據(jù)。相似地,數(shù)據(jù)210可以是單個(gè)文件(例如,數(shù)字圖片、.doc、.pdf等等),或可以是許多文件(例如,2G字節(jié)的數(shù)字圖片、文件夾等等)。數(shù)據(jù)210還可以是流數(shù)據(jù)。由帶有點(diǎn)線的矩形代表的數(shù)據(jù)220可以是與數(shù)據(jù)210相關(guān)聯(lián)的任何類型的數(shù)據(jù)。例如,數(shù)據(jù)220可以是與數(shù)據(jù)210相關(guān)聯(lián)的元數(shù)據(jù)、數(shù)據(jù)210的導(dǎo)出版本、數(shù)據(jù)210的變換、整個(gè)數(shù)據(jù)210等等。
圖3圖示了用于實(shí)踐本文描述的原理的計(jì)算環(huán)境300的更具體的示例,并且將相對(duì)于圖2的計(jì)算環(huán)境200進(jìn)行描述。環(huán)境300包括智能電話301、膝上型電腦302、云計(jì)算系統(tǒng)303、同步引擎304、和允許所有的這些部件進(jìn)行通信的網(wǎng)絡(luò)305。智能電話301被示為存儲(chǔ)數(shù)據(jù)310。膝上型電腦302被示為存儲(chǔ)數(shù)據(jù)320。云計(jì)算系統(tǒng)303被示為存儲(chǔ)數(shù)據(jù)330。同步引擎304允許數(shù)據(jù)或數(shù)據(jù)的變換以將在下面更詳細(xì)地描述的方式進(jìn)行同步。網(wǎng)絡(luò)305允許在環(huán)境300中示出的所有計(jì)算系統(tǒng)進(jìn)行連接。應(yīng)當(dāng)指出,如在圖2中由橢圓203說明的,可以存在通過網(wǎng)絡(luò)305進(jìn)行連接的任何數(shù)目的計(jì)算系統(tǒng)。相似地,所示出的計(jì)算系統(tǒng)可以是技術(shù)上已知的和/或是本文描述的(例如,智能電話、平板裝置、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、云計(jì)算系統(tǒng)、照相機(jī)等等)。
因?yàn)樵趫D4到圖6的流程圖中所描述的方法可以在環(huán)境300中被執(zhí)行,所以那些方法將經(jīng)常參照?qǐng)D3進(jìn)行描述。在圖4到圖6,由第一計(jì)算系統(tǒng)(諸如圖2的第一計(jì)算系統(tǒng)201,或圖3的計(jì)算系統(tǒng)301)執(zhí)行的動(dòng)作將被列在每圖的左列中,在標(biāo)題“第一計(jì)算系統(tǒng)”下。另一方面,由第二計(jì)算系統(tǒng)(諸如圖2的第二計(jì)算系統(tǒng)202,或圖3的計(jì)算系統(tǒng)302)執(zhí)行的動(dòng)作將被列在每圖的右列中,在標(biāo)題“第二計(jì)算系統(tǒng)”下。與從第一計(jì)算系統(tǒng)到第二計(jì)算系統(tǒng)的數(shù)據(jù)(或其變換)的初始同步相關(guān)聯(lián)的動(dòng)作被圖示在實(shí)線框中。與由第二計(jì)算系統(tǒng)對(duì)于數(shù)據(jù)(或其變換)的隨后的編輯相關(guān)聯(lián)的動(dòng)作被圖示在虛線框中。
在圖4到圖6,為了圖示本文描述的原理,具體情景現(xiàn)在將在本說明中概述并且使用。在這個(gè)情景中,一組用戶全都訂閱云計(jì)算服務(wù),其為每個(gè)用戶的設(shè)備(計(jì)算系統(tǒng))提供共享數(shù)據(jù)和互相通信的媒介。
圖4圖示了用于使用元數(shù)據(jù)來準(zhǔn)備使得常駐于第一計(jì)算系統(tǒng)上的數(shù)據(jù)中的至少一部分?jǐn)?shù)據(jù)在相同網(wǎng)絡(luò)中的其他計(jì)算系統(tǒng)上可用的方法400的流程圖。方法400從用戶之一在網(wǎng)絡(luò)中的第一計(jì)算系統(tǒng)上生成數(shù)據(jù)時(shí)開始(動(dòng)作411)。在進(jìn)行的情景中,數(shù)據(jù)生成可以在用戶之一通過使用智能電話301拍攝數(shù)字圖片310時(shí)發(fā)生。在某些實(shí)施例中,第一計(jì)算系統(tǒng)可包括分布式計(jì)算系統(tǒng),諸如與云計(jì)算系統(tǒng)303相結(jié)合的智能電話301。在其他實(shí)施例中,第一計(jì)算系統(tǒng)可以是單個(gè)計(jì)算系統(tǒng),諸如智能電話301。還應(yīng)當(dāng)指出,在網(wǎng)絡(luò)中的計(jì)算系統(tǒng)中的任一項(xiàng)在數(shù)據(jù)在該特定計(jì)算系統(tǒng)上被生成的情形下可以被看作為“第一計(jì)算系統(tǒng)”。
一旦數(shù)據(jù)被生成,同步引擎304就可以識(shí)別新生成的數(shù)據(jù)310,和進(jìn)行編輯和添加附加信息到數(shù)據(jù)的元數(shù)據(jù)320、330中。附加信息可包括標(biāo)識(shí)符,其允許網(wǎng)絡(luò)中任何的計(jì)算系統(tǒng)標(biāo)識(shí)數(shù)據(jù)310的位置、從所述位置檢索數(shù)據(jù)310、以及顯示該數(shù)據(jù)310(例如,IP地址、源路徑、文件大小等等)。
相似地,附加信息可包括已包括的元數(shù)據(jù)的解譯。例如,在7月4日拍攝的數(shù)字圖片可被解譯為在獨(dú)立日拍攝。在其他實(shí)施例中,已被包括的元數(shù)據(jù)的解譯可包括所述數(shù)據(jù)被生成的位置(例如,在美國華盛頓州西雅圖400 Broad St附近拍攝的圖片被解譯為在太空針(Space Needle)處拍攝的)、數(shù)據(jù)生成時(shí)的時(shí)間(例如,在12月25日10:00 a.m.拍攝的圖片可被解譯為在圣誕節(jié)早晨拍攝的)等等。
元數(shù)據(jù)320、330可以以如下方式被構(gòu)建,即:當(dāng)它被網(wǎng)絡(luò)中的計(jì)算系統(tǒng)接收和解譯時(shí),元數(shù)據(jù)的解譯示為數(shù)據(jù)310的表現(xiàn)。換句話說,一旦第二計(jì)算系統(tǒng)接收到元數(shù)據(jù),對(duì)于終端用戶來說,其將表現(xiàn)為就好像數(shù)據(jù)310本地常駐于第二計(jì)算系統(tǒng)。
同步引擎304可包括硬件、軟件、或二者的組合。同樣地,同步引擎304可包括常駐在單個(gè)計(jì)算系統(tǒng)上的部件或被分布在多個(gè)計(jì)算系統(tǒng)上的部件。例如,同步引擎304可以單獨(dú)地常駐在云計(jì)算系統(tǒng)303上,或客戶端計(jì)算系統(tǒng)301/302上。在其他實(shí)施例中,同步引擎304可被分布在云計(jì)算系統(tǒng)303與客戶計(jì)算系統(tǒng)301、302之間。
一旦同步引擎識(shí)別了生成的數(shù)據(jù),并且把附加信息添加到元數(shù)據(jù),如上所述的,元數(shù)據(jù)就被發(fā)送到至少第二計(jì)算系統(tǒng)(動(dòng)作412)。通常,元數(shù)據(jù)將被發(fā)送到網(wǎng)絡(luò)中的每個(gè)計(jì)算系統(tǒng)。在正在進(jìn)行的示例中,與數(shù)字圖片310相關(guān)聯(lián)的元數(shù)據(jù)320、330可以從智能電話301發(fā)送到膝上型電腦302和云計(jì)算系統(tǒng)303。
在某些實(shí)施例中,同步引擎304可以提醒云計(jì)算系統(tǒng)303生成的數(shù)據(jù),這導(dǎo)致云計(jì)算系統(tǒng)從智能電話301拉出元數(shù)據(jù),并且然后作為中介,把元數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)中的所有計(jì)算系統(tǒng)。在其他實(shí)施例中,智能電話301可以通過云計(jì)算系統(tǒng)303、對(duì)等連接、或任何其他適當(dāng)?shù)耐ㄐ欧椒ò言獢?shù)據(jù)推入到網(wǎng)絡(luò)中的其他計(jì)算系統(tǒng)。在又一其他實(shí)施例中,同步引擎304可以提醒網(wǎng)絡(luò)中的至少第二計(jì)算系統(tǒng)新生成的數(shù)據(jù),導(dǎo)致至少第二計(jì)算系統(tǒng)從第一計(jì)算系統(tǒng)拉出元數(shù)據(jù)。
在元數(shù)據(jù)被發(fā)送后,至少第二計(jì)算系統(tǒng)將接收元數(shù)據(jù)(動(dòng)作421)。例如,第二計(jì)算系統(tǒng)可以是膝上型電腦302,它接收與數(shù)字圖片310相關(guān)聯(lián)的元數(shù)據(jù)320。
一旦元數(shù)據(jù)被接收,第二計(jì)算系統(tǒng)然后就解譯元數(shù)據(jù)(動(dòng)作422)。如上所述,元數(shù)據(jù)以以下這種方式構(gòu)建,即:一旦它被第二計(jì)算系統(tǒng)解譯,該數(shù)據(jù)看起來就好像本地常駐在第二計(jì)算系統(tǒng)上(動(dòng)作423)。在正在進(jìn)行的示例中,膝上型電腦302可以接收和解譯與數(shù)字圖片310相關(guān)聯(lián)的元數(shù)據(jù)320。解譯的元數(shù)據(jù)320然后可以對(duì)于膝上型電腦302的終端用戶看起來就好像是數(shù)字圖片310的本地存儲(chǔ)的(即,被本地存儲(chǔ)在膝上型電腦302上的)副本的縮略圖。在某些實(shí)施例中,解譯的元數(shù)據(jù)的表現(xiàn)可以表現(xiàn)為縮略圖、圖標(biāo)、文件夾、文件名稱、或數(shù)據(jù)的任何其他適當(dāng)?shù)拇?表現(xiàn)。
圖5圖示了用于在圖4的元數(shù)據(jù)被發(fā)送后使用邏輯操作來發(fā)送數(shù)據(jù)的至少一個(gè)變換到至少第二計(jì)算系統(tǒng)的方法500。一旦元數(shù)據(jù)被發(fā)送,就在第一計(jì)算系統(tǒng)處進(jìn)行邏輯操作,以確定何時(shí)把至少所生成的數(shù)據(jù)的導(dǎo)出版本發(fā)送到至少第二計(jì)算系統(tǒng)(動(dòng)作511)。應(yīng)當(dāng)指出,數(shù)據(jù)310的導(dǎo)出版本(如元數(shù)據(jù))可以分別由計(jì)算系統(tǒng)302和303的方塊320和330代表。數(shù)據(jù)310的導(dǎo)出版本320、330可以是與整個(gè)數(shù)據(jù)310一樣多、與數(shù)據(jù)310的元數(shù)據(jù)一樣少、或是在它們之間的任何量。
在某些實(shí)施例中,所應(yīng)用的邏輯操作可以按照用戶偏好動(dòng)態(tài)地更新。在其他實(shí)施例中,所應(yīng)用的邏輯操作可包括基于特定用戶過去與相似類型的數(shù)據(jù)的交互,在發(fā)送數(shù)據(jù)310的導(dǎo)出版本320之前延遲一段所規(guī)定的時(shí)間段。例如,在進(jìn)行的情景中,所應(yīng)用的邏輯操作可包括考慮到特定用戶(即,拍攝數(shù)字圖片310的用戶)為丟棄不想要的數(shù)字圖片和編輯想要的數(shù)字圖片所花費(fèi)的平均時(shí)間,在發(fā)送數(shù)據(jù)310的至少一個(gè)導(dǎo)出版本之前的延遲。這樣,系統(tǒng)可以避免同步還沒有經(jīng)受用于選擇最佳數(shù)字圖片的通常的初始刪除的數(shù)字圖片。正如前面討論的,應(yīng)當(dāng)指出,數(shù)據(jù)310還可以包括許多數(shù)據(jù)文件,諸如數(shù)字圖片的文件夾。
在某些實(shí)施例中,所應(yīng)用的邏輯操作可以確定第一計(jì)算系統(tǒng)301應(yīng)當(dāng)把數(shù)據(jù)310的導(dǎo)出版本320 推入到至少第二計(jì)算系統(tǒng)302。替換地,所應(yīng)用的邏輯操作可以確定第二計(jì)算系統(tǒng)302應(yīng)當(dāng)從第一計(jì)算系統(tǒng)301拉出數(shù)據(jù)310的至少一個(gè)導(dǎo)出版本320。導(dǎo)出版本可以通過使用任何適當(dāng)?shù)膮f(xié)議(例如,HTTP、FTP、SMB、web服務(wù)呼叫等等)而被拉出/取出。在其他實(shí)施例中,第二計(jì)算系統(tǒng)可以利用云計(jì)算系統(tǒng)303作為用于取出數(shù)據(jù)310的導(dǎo)出版本320的媒介。
在某些實(shí)施例中,生成數(shù)據(jù)310的終端用戶能夠給數(shù)據(jù)標(biāo)記上重要性水平。例如,終端用戶可以創(chuàng)建網(wǎng)絡(luò)中某個(gè)人/每個(gè)人急于接收的文檔,并且因此,可以把該文檔標(biāo)記為非常重要/急迫的。所應(yīng)用的邏輯操作可包括取決于所生成的數(shù)據(jù)的大小、所生成的數(shù)據(jù)的類型、哪個(gè)用戶生成數(shù)據(jù)、數(shù)據(jù)在何處被生成(例如,在其中生成數(shù)據(jù)的設(shè)備、在其中生成數(shù)據(jù)的文件夾等等)、特定用戶習(xí)慣、用戶是否處在Wi-Fi上、用戶是否正在使用付費(fèi)網(wǎng)絡(luò)數(shù)據(jù)計(jì)劃、可用的資源(例如,網(wǎng)絡(luò)可供性、帶寬等等)、數(shù)據(jù)類型的重要性等等的規(guī)則,或任何其他適當(dāng)?shù)倪壿嫴僮饕?guī)則。相似地,所應(yīng)用的邏輯操作可以按照本文描述的因素中的任何因素動(dòng)態(tài)地更新。
響應(yīng)于邏輯操作的應(yīng)用,第一計(jì)算系統(tǒng)然后以與用于整個(gè)數(shù)據(jù)的標(biāo)識(shí)符相關(guān)聯(lián)的方式發(fā)送數(shù)據(jù)的至少一個(gè)導(dǎo)出版本到第二計(jì)算系統(tǒng)(動(dòng)作512)。在某些實(shí)施例中,與用于整個(gè)數(shù)據(jù)的標(biāo)識(shí)符相關(guān)聯(lián)的方式包括:數(shù)據(jù)310的導(dǎo)出版本320被包括在與元數(shù)據(jù)相同的傳輸中。在其他實(shí)施例中,與用于整個(gè)數(shù)據(jù)的標(biāo)識(shí)符相關(guān)聯(lián)的方式包括同步引擎304把附加信息添加到數(shù)據(jù)310的導(dǎo)出版本320,這可以允許第二計(jì)算系統(tǒng)標(biāo)識(shí)整個(gè)數(shù)據(jù)310的位置。
在某些實(shí)施例中,數(shù)據(jù)310的導(dǎo)出版本320是整個(gè)數(shù)據(jù)的變換。數(shù)據(jù)的變換可包括允許用戶預(yù)覽所述數(shù)據(jù)的縮略圖。在其他實(shí)施例中,變換可包括帶有比起與該變換相關(guān)聯(lián)的原始數(shù)字圖片更低分辨率的數(shù)字圖片。在又一其他實(shí)施例中,變換可包括在原始數(shù)據(jù)內(nèi)被識(shí)別的并且從原始數(shù)據(jù)提取的數(shù)字圖片。例如,原始數(shù)據(jù)310可以是MICROSOFT? POWERPOINT?呈現(xiàn),以及變換320可包括已經(jīng)從POWERPOINT識(shí)別和提取的關(guān)鍵字,因此,使得該P(yáng)OWERPOINT是可搜索的。這可以允許終端用戶在本地搜索數(shù)據(jù)310(即,不用使用網(wǎng)絡(luò)305與網(wǎng)絡(luò)中其他計(jì)算系統(tǒng)通信),并且仍舊能夠標(biāo)識(shí)該P(yáng)OWERPOINT所常駐的位置(即,計(jì)算系統(tǒng))。
同樣地,數(shù)據(jù)310的導(dǎo)出版本/變換320可以是數(shù)據(jù)的增補(bǔ),其包括通過數(shù)據(jù)310的評(píng)估而被制定的附加數(shù)據(jù)。數(shù)據(jù)310的評(píng)估可以在網(wǎng)絡(luò)中的第一計(jì)算系統(tǒng)、第二計(jì)算系統(tǒng)處被計(jì)算,或可以被分布在網(wǎng)絡(luò)中的多于一個(gè)的計(jì)算系統(tǒng)之間。增補(bǔ)可包括推論的數(shù)據(jù),該數(shù)據(jù)基于數(shù)據(jù)310的評(píng)估而被估計(jì)為正確的,但其基于數(shù)據(jù)310的評(píng)估而并不確信為正確的。例如,推論的數(shù)據(jù)可包括在數(shù)字圖片中的個(gè)人的所估計(jì)的身份或當(dāng)數(shù)字圖片被拍攝時(shí)個(gè)人面對(duì)的所估計(jì)的地標(biāo)。推論的數(shù)據(jù)還可以包括所估計(jì)的溫度、地理位置、時(shí)間、光學(xué)特性識(shí)別、產(chǎn)品識(shí)別等等。
應(yīng)當(dāng)指出,本文中用來描述數(shù)據(jù)的變換/導(dǎo)出版本的任何實(shí)施例可以等同地應(yīng)用到本文中描述的元數(shù)據(jù)。相似地,本文中用來描述元數(shù)據(jù)的實(shí)施例中的任何實(shí)施例同樣可以被理解為應(yīng)用到數(shù)據(jù)的變換/導(dǎo)出版本。例如,元數(shù)據(jù)可包括相似于以上關(guān)于數(shù)據(jù)的變換/導(dǎo)出版本描述的增補(bǔ)。
第二計(jì)算系統(tǒng)然后接收整個(gè)數(shù)據(jù)的發(fā)送的導(dǎo)出版本(動(dòng)作521)。在正在進(jìn)行的示例中,例如,導(dǎo)出版本320可以是比起原始數(shù)字圖片310更低分辨率的數(shù)字圖片。在某些實(shí)施例中,數(shù)據(jù)的導(dǎo)出版本可能與整個(gè)數(shù)據(jù)的相似程度太低而不足以滿足終端用戶的需求,在這種情形下,用戶然后可以取出整個(gè)數(shù)據(jù)。例如,終端用戶可以在接收不足以滿足終端用戶的需求的較低分辨率的數(shù)字圖片后取出完全分辨率的數(shù)字圖片310。用來取出數(shù)據(jù)310的協(xié)議可以是HTTP、FTP、SMB、web服務(wù)調(diào)用、或任何其他適當(dāng)?shù)膮f(xié)議。雖然導(dǎo)出版本320剛才被描述為較低分辨率的數(shù)字圖片,但它可以是以上描述的任何形式。
導(dǎo)出版本320也可以允許用戶進(jìn)行以下的任選步驟:使用、操控、或編輯數(shù)據(jù)的導(dǎo)出版本(動(dòng)作522)。在正在進(jìn)行的示例中,終端用戶可以使用過濾器在膝上型電腦320上編輯較低分辨率的數(shù)字圖片320。編輯/操控?cái)?shù)據(jù)310的導(dǎo)出版本320可以是適合于所接收的數(shù)據(jù)的類型的任何類型(例如,編輯文本文檔的文本、裁剪數(shù)字圖片、使得pdf是可搜索的等等)。
一旦在第二計(jì)算系統(tǒng)上對(duì)于數(shù)據(jù)的導(dǎo)出版本進(jìn)行編輯,所編輯的數(shù)據(jù)就被同步到第一計(jì)算系統(tǒng)(動(dòng)作513)。雖然同步的動(dòng)作在圖5中被示為在第一計(jì)算系統(tǒng)上執(zhí)行,但同步可以由網(wǎng)絡(luò)中的計(jì)算系統(tǒng)中的任一項(xiàng)或是單獨(dú)地或是以分布式的形式完成。在某些實(shí)施例中,同步引擎304可以識(shí)別:編輯已經(jīng)在第二計(jì)算系統(tǒng)上完成,并且進(jìn)行到把編輯的數(shù)據(jù)同步回第一計(jì)算系統(tǒng)。在其他實(shí)施例中,云計(jì)算系統(tǒng)303可以起到代理的作用,把在網(wǎng)絡(luò)中的計(jì)算系統(tǒng)上完成的任何編輯同步回原始生成數(shù)據(jù)的第一計(jì)算系統(tǒng),以及同步到網(wǎng)絡(luò)中任何其他的可應(yīng)用的計(jì)算系統(tǒng)。
圖6圖示了可被應(yīng)用來確定何時(shí)應(yīng)當(dāng)把數(shù)據(jù)的至少一個(gè)導(dǎo)出版本發(fā)送到第二計(jì)算系統(tǒng)的邏輯操作的具體示例。更具體地,圖6圖示了用于應(yīng)用包括確定要響應(yīng)于用戶與在圖4的方法400中描述的數(shù)據(jù)的表現(xiàn)進(jìn)行的交互而發(fā)送的數(shù)據(jù)的變換的邏輯操作的方法600。
方法600從在第二計(jì)算系統(tǒng)處檢測(cè)到用戶與該第二計(jì)算系統(tǒng)上的整個(gè)數(shù)據(jù)的元數(shù)據(jù)/表現(xiàn)(在方法400中描述的)的交互時(shí)開始(動(dòng)作621)。在正在進(jìn)行的情景中,例如,膝上型電腦302可能檢測(cè)到,用戶嘗試在膝上型電腦上打開數(shù)字圖片310的縮略圖320。響應(yīng)于用戶交互的檢測(cè),第二計(jì)算系統(tǒng)然后從第一計(jì)算系統(tǒng)請(qǐng)求整個(gè)數(shù)據(jù)的至少一個(gè)變換(動(dòng)作622)。
第一計(jì)算系統(tǒng)然后接收來自第二計(jì)算系統(tǒng)的通信,其指示用戶已經(jīng)與整個(gè)數(shù)據(jù)的表現(xiàn)進(jìn)行交互(動(dòng)作611)。例如,第一計(jì)算系統(tǒng)可以接收說明膝上型電腦302的終端用戶嘗試打開與常駐在智能電話301上的數(shù)字圖片310相關(guān)聯(lián)的縮略圖320的通信。響應(yīng)于接收到該通信,第一計(jì)算系統(tǒng)然后把數(shù)據(jù)310的至少一個(gè)變換發(fā)送到第二計(jì)算系統(tǒng)(動(dòng)作612)。
響應(yīng)于所述請(qǐng)求,第二計(jì)算系統(tǒng)然后從第一計(jì)算系統(tǒng)接收整個(gè)數(shù)據(jù)的至少一個(gè)變換(動(dòng)作623)。在正在進(jìn)行的示例中,例如,變換320可以僅僅是比在智能電話301上生成的原始數(shù)字圖片310稍微更低分辨率的數(shù)字圖片。雖然變換320在以前的示例中被描述為較低分辨率的數(shù)字圖片,但它可以具有以上描述的任何形式。
所述變換320也可以允許用戶進(jìn)行任選的步驟:使用、操控、或編輯數(shù)據(jù)的變換(動(dòng)作624)。例如,用戶可以在膝上型電腦302處接收較低分辨率的圖片320,并且決定裁剪照片用于特定應(yīng)用。變換的可能的編輯/操控可以是上述的任何類型。
一旦在第二計(jì)算系統(tǒng)上對(duì)于數(shù)據(jù)的變換320進(jìn)行編輯,編輯的數(shù)據(jù)就被同步回第一計(jì)算系統(tǒng)(動(dòng)作613)。如上所述,雖然同步的動(dòng)作在圖6中示為在第一計(jì)算系統(tǒng)上執(zhí)行,但同步也可以由網(wǎng)絡(luò)中的計(jì)算系統(tǒng)中的任一項(xiàng)單個(gè)地或者以分布式的方式執(zhí)行。
因此,本文中描述的原理提供一種用于使得用戶能夠在其相應(yīng)設(shè)備/系統(tǒng)上看到數(shù)據(jù)的表現(xiàn),而不必實(shí)際必須同步整個(gè)數(shù)據(jù)的機(jī)制。而且,一旦用戶與所述表現(xiàn)進(jìn)行交互,如果數(shù)據(jù)(或其變換)在同時(shí)還沒有同步到設(shè)備/系統(tǒng),則同步機(jī)制提供數(shù)據(jù)(或其變換)。而且,邏輯操作規(guī)則可相關(guān)于確定同步操作的時(shí)序而被應(yīng)用,以便在給定的環(huán)境下使得感知到的性能最大化。
本發(fā)明可以以其他具體形式被體現(xiàn),而不背離它的精神或本質(zhì)特性。所描述的實(shí)施例應(yīng)當(dāng)在所有方面僅僅被看作為是說明性而不是限制性的。本發(fā)明的范圍因此由所附權(quán)利要求指示,而不是由以上說明指示。在權(quán)利要求的等價(jià)的意義和范圍內(nèi)出現(xiàn)的所有改變應(yīng)當(dāng)被包含在其范圍內(nèi)。