專利名稱:用于數(shù)據(jù)包的高效下載的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施例涉及計(jì)算機(jī)網(wǎng)絡(luò),更具體地涉及從網(wǎng)絡(luò)下載數(shù)據(jù)包。
背景技術(shù):
目前,很多計(jì)算機(jī)游戲網(wǎng)絡(luò)以及智能手機(jī)網(wǎng)絡(luò)以封閉平臺網(wǎng)絡(luò)方式運(yùn)行。此處使用的,封閉平臺網(wǎng)絡(luò)是指禁止外部修改的網(wǎng)絡(luò),該外部修改是網(wǎng)絡(luò)應(yīng)用、程序以及與使用網(wǎng)絡(luò)的特定客戶端設(shè)備或平臺關(guān)聯(lián)的其他受限制內(nèi)容的外部修改。這里,運(yùn)行于此網(wǎng)絡(luò)上的客戶端設(shè)備有時被稱為封閉平臺設(shè)備。兩相對比,在開放平臺網(wǎng)絡(luò)或開放平臺設(shè)備中,不禁 止此類修改。
發(fā)明內(nèi)容
舉例說明,并非為限定范圍,與視頻游戲機(jī)有關(guān)的某些計(jì)算機(jī)游戲網(wǎng)絡(luò)被配置以作為封閉平臺網(wǎng)絡(luò)運(yùn)行。在封閉平臺計(jì)算機(jī)游戲網(wǎng)絡(luò)中,與游戲標(biāo)題、應(yīng)用、介質(zhì)有關(guān)的受限制代碼和受限制數(shù)據(jù)以及與使用該網(wǎng)絡(luò)的游戲機(jī)或便攜游戲設(shè)備有關(guān)的其他形式的受限制內(nèi)容被保護(hù)以免受用戶或第三方的修改。換句話說,一旦已經(jīng)將受限制應(yīng)用、受限制程序或受限制內(nèi)容的其他片段加載(例如,通過磁盤、通過下載等等)到在封閉環(huán)境中運(yùn)行的計(jì)算機(jī)游戲系統(tǒng)中,則數(shù)據(jù)保持其原始形式直到網(wǎng)絡(luò)的操作者決定修改它(例如,通過更新補(bǔ)丁等等)。除了通過授權(quán)的渠道外,不允許計(jì)算機(jī)游戲平臺的用戶或第三方訪問并修改那些受限制數(shù)據(jù)。在這樣的封閉平臺網(wǎng)絡(luò)中,由于對數(shù)據(jù)屏蔽了未知的/不需要的修改,所以極大地簡化了系統(tǒng)應(yīng)用、程序以及數(shù)據(jù)的管理。正因如此,封閉平臺網(wǎng)絡(luò)可以總是保持了解每個運(yùn)行于其邊界內(nèi)的應(yīng)用、程序以及數(shù)據(jù)片段的狀態(tài)。封閉平臺游戲網(wǎng)絡(luò)也被配置經(jīng)由以應(yīng)用、程序及其他數(shù)據(jù)片段的形式通過從網(wǎng)絡(luò)服務(wù)器到客戶游戲系統(tǒng)的下載來傳輸數(shù)據(jù)。取決于應(yīng)用,這樣的數(shù)據(jù)可以是從每次傳輸IOMB到每次傳輸2GB不等。更大的傳輸可以花費(fèi)幾個小時有時甚至是幾天來完成。在這種背景下提出本發(fā)明的實(shí)施例。
圖I是圖示根據(jù)本發(fā)明的實(shí)施例的封閉環(huán)境系統(tǒng)的示意圖。圖2是圖示根據(jù)本發(fā)明的實(shí)施例的用于下載數(shù)據(jù)包的高效方法的流程圖。圖3是圖示根據(jù)本發(fā)明的實(shí)施例的客戶端設(shè)備的方框圖。圖4是圖示根據(jù)本發(fā)明的實(shí)施例的下載服務(wù)器的方框圖。
具體實(shí)施例方式盡管下列的詳細(xì)描述包含出于演示目的的很多具體細(xì)節(jié),但是任何本領(lǐng)域的普通技術(shù)人員將評價對下列細(xì)節(jié)的很多變化和改變是在本發(fā)明范圍內(nèi)的。因此,沒有任何所要求的發(fā)明的通用性損失并沒有在所要求的發(fā)明上強(qiáng)加限制地闡述以下描述的本發(fā)明的示例性實(shí)施例。引言由大型傳輸可能包括妨礙傳輸過程的效率的一些數(shù)據(jù)冗余的事實(shí)的認(rèn)識提出本發(fā)明。舉例說明而非限制,計(jì)算機(jī)游戲 系統(tǒng)的用戶可 能希望下載他已經(jīng)擁有的之前版本(例如,S0C0M3)的游戲標(biāo)題的最新的續(xù)篇(例如,S0C0M4)。目前,這些游戲網(wǎng)絡(luò)被配置以傳輸用于下載的整個數(shù)據(jù)包而不統(tǒng)計(jì)兩個版本之間在代碼和數(shù)據(jù)中的冗余。換句話說,為最新續(xù)篇而傳輸?shù)臄?shù)據(jù)包包括所有與最新續(xù)集關(guān)聯(lián)的視頻內(nèi)容、音頻內(nèi)容、游戲引擎以及庫內(nèi)容等,甚至如果該數(shù)據(jù)包的一些部分可能已經(jīng)在之前的版本中被下載到游戲系統(tǒng)中。如NetApp、EMC及其他的一些公司具有進(jìn)行“去重”的系統(tǒng),“去重”有時被用作壓縮形式。去重系統(tǒng)為了重復(fù)部分而掃描文件,除了一個重復(fù)部分外移除其他所有重復(fù)部分,并建立指向該一個剩余部分的指針從而文件可以以沒有重復(fù)信息的更小的形式存儲在磁盤上。在一些去重實(shí)現(xiàn)中使用校驗(yàn)和,以便于發(fā)現(xiàn)文件系統(tǒng)中的候選文件,該文件系統(tǒng)可能包含可以向它們應(yīng)用去重處理的一致部分。存在為傳送文件的特定部分以及使用校驗(yàn)和以找到已經(jīng)存在的部分的一些系統(tǒng)。例如除了別的以外,一些現(xiàn)代網(wǎng)頁瀏覽器、BitTorrent文件傳送方法和“rsync”軟件使用請求將要被傳送的文件的部分去填充部分文件的概念。具體地,BitTorrent和rsync也使用現(xiàn)有文件的校驗(yàn)和部分的概念確定特定段是否需要被再次傳送或下載,并建立用于在網(wǎng)絡(luò)上傳送的文件的任何丟失段的列表。但是注意,使用校驗(yàn)和以測試部分文件的存在性和有效性的概念只能由BitTorrent和rsync比較兩個特定文件來使用,該兩個特定文件在成功傳輸或下載的結(jié)束應(yīng)該是一致的。因?yàn)榉忾]平臺網(wǎng)絡(luò)具有輕松監(jiān)控所有應(yīng)用、程序及其中裝載的數(shù)據(jù)的其他片段的狀態(tài)的能力,它們可能能夠采用更有效的用于經(jīng)由下載傳輸數(shù)據(jù)包的機(jī)制。本發(fā)明的實(shí)施例允許客戶端設(shè)備在封閉平臺網(wǎng)絡(luò)中運(yùn)行以通過網(wǎng)絡(luò)的方式向運(yùn)行于該相同封閉平臺網(wǎng)絡(luò)的服務(wù)器發(fā)送對受限數(shù)據(jù)包的請求,一同請求的還有識別所存儲的內(nèi)容的清單(例如,識別所存儲的內(nèi)容的包的列表而不是實(shí)際內(nèi)容的拷貝或組成包的元素的列表)。服務(wù)器可使用該信息確定所請求的數(shù)據(jù)包的哪些部分已經(jīng)存儲在客戶端設(shè)備上并向客戶端設(shè)備提供指令以引導(dǎo)它裝配已存在于客戶端設(shè)備上的數(shù)據(jù)包的部分。然后服務(wù)器可根據(jù)請求發(fā)送數(shù)據(jù)包的剩余部分給該設(shè)備。如圖I所示,有效的封閉平臺系統(tǒng)100可包括一個或多個客戶端設(shè)備101和一個或多個下載服務(wù)器105。該客戶端設(shè)備101和下載服務(wù)器105可被配置以通過封閉平臺網(wǎng)絡(luò)103彼此通信。舉例說明,并且沒有通用性的損失,網(wǎng)絡(luò)103可以是雙向數(shù)字通信網(wǎng)絡(luò)。該網(wǎng)絡(luò)103可以是局域網(wǎng)或廣域網(wǎng)。該網(wǎng)絡(luò)103可以例如,使用基礎(chǔ)架構(gòu)實(shí)現(xiàn),諸如用于CATV雙向網(wǎng)絡(luò)、ISDN或xDSL高速網(wǎng)絡(luò)以使能用于實(shí)現(xiàn)本發(fā)明的特定實(shí)施例的網(wǎng)絡(luò)連接的基礎(chǔ)構(gòu)架之類。舉例說明,并且沒有通用性的損失,客戶端設(shè)備101可以是視頻游戲機(jī)。市售游戲機(jī)的示例包括來自華盛頓雷德蒙德的微軟公司的Xbox 、來自日本京都任天堂有限公司的Wii 和來自日本東京索尼電腦娛樂的諸如PlayStation3之類的PlayStation 設(shè)備。Xbox 是華盛頓雷德蒙德的微軟公司的注冊商標(biāo)。PlayStation 是日本東京的索尼電腦娛樂株式會社的注冊商標(biāo)。Wii 是日本京都任天堂有限公司的注冊商標(biāo)。替代地,客戶端設(shè)備101可以是任何其他類型的封閉環(huán)境網(wǎng)絡(luò)可用的設(shè)備。舉例說明,而非限定,這樣的封閉環(huán)境網(wǎng)絡(luò)可用的設(shè)備可以包括智能手機(jī)(例如,iPhone, Android手機(jī)等)。此處使用的術(shù)語“封閉平臺”指與網(wǎng)絡(luò)關(guān)聯(lián)的特定內(nèi)容包屏蔽了外部修改的網(wǎng)絡(luò)。這樣的內(nèi)容包可以包括應(yīng)用、程序、音頻/視頻介質(zhì)以及與網(wǎng)絡(luò)關(guān)聯(lián)的其他類型數(shù)據(jù)。在客戶端設(shè)備101和下載服務(wù)器105之間傳輸?shù)氖芟拗苾?nèi)容包的特定元素可以僅根據(jù)網(wǎng)絡(luò)授權(quán)修改。方便起見,這樣的元素在此稱為受限制內(nèi)容元素。除非被授權(quán),否則客戶端設(shè)備101上的受限制內(nèi)容元素不可以被客戶或任何第三方改變。因此,對于封閉平臺設(shè)備或封閉平臺應(yīng)用,可以極大地簡化更新的管理。正如這里所使用的,術(shù)語“數(shù)據(jù)包”指構(gòu)成在下載服務(wù)器105和客戶端設(shè)備101之間傳輸?shù)膬?nèi)容包的部分的數(shù)據(jù)的聚集。舉例說明,而非限定,這樣的數(shù)據(jù)包可以包括應(yīng)用、程序、視頻/音頻介質(zhì)、更新補(bǔ)丁或?qū)南螺d服務(wù)器傳輸?shù)娇蛻舳嗽O(shè)備的任可其他數(shù)據(jù)的
口 O 客戶端設(shè)備101可以從一個或多個下載服務(wù)器105接收指令和數(shù)據(jù)包的部分。下載服務(wù)器105可以通過使用連接到下載服務(wù)器105的數(shù)據(jù)庫109確定所請求的數(shù)據(jù)包的哪些部分可能位于客戶端設(shè)備101上。舉例說明,而非限定,這樣的數(shù)據(jù)庫109可以包括與客戶端設(shè)備的所存儲的受限制內(nèi)容有關(guān)的信息以及與所請求的數(shù)據(jù)包有關(guān)的信息。舉例說明,而非限定,該下載服務(wù)器105也可為了向客戶端設(shè)備101的傳輸而從內(nèi)容服務(wù)器107取回所請求的數(shù)據(jù)包的剩余部分。替代地,下載服務(wù)器105可以內(nèi)部地存儲數(shù)據(jù)包及其部分。如圖2所示,封閉環(huán)境系統(tǒng)100可被配置以實(shí)現(xiàn)根據(jù)發(fā)明方法200的用于受限制內(nèi)容的數(shù)據(jù)包的有效下載方法。該方法200的各個方面可以通過在客戶端設(shè)備101和/或下載服務(wù)器105上運(yùn)行的計(jì)算機(jī)可執(zhí)行指令的執(zhí)行而實(shí)現(xiàn)。具體地,例如可以通過合適的編程配置客戶端設(shè)備101以實(shí)現(xiàn)特定客戶端設(shè)備指令201。此外,下載服務(wù)器105可以被配置為實(shí)現(xiàn)特定下載服務(wù)器指令215。首先,如在203處所指示的,客戶端設(shè)備101可以選擇性地發(fā)送請求229到下載服務(wù)器105以下載數(shù)據(jù)包。舉例說明,而非限定,這樣的請求229可以由客戶端設(shè)備101的用戶做出。例如,游戲機(jī)的用戶可以請求下載諸如游戲標(biāo)題的演示或完整版本之類的受限制內(nèi)容包到他的設(shè)備101上。替代地,請求229可以由客戶端設(shè)備101自動地做出。例如,客戶端設(shè)備101在預(yù)定時間定期地向下載服務(wù)器105提示設(shè)備更新或內(nèi)容包的受限制內(nèi)容更新。如在217處所指示的,下載服務(wù)器105選擇性地接收請求229。接收請求229后,下載服務(wù)器105為了后續(xù)處理可以將請求229存儲在它的本地存儲器中??蛻舳嗽O(shè)備101發(fā)送所存儲的現(xiàn)有內(nèi)容的清單231到下載服務(wù)器105。該清單231可以提供在客戶端設(shè)備101上存儲的所有受限制內(nèi)容包的列表。該列表識別了在該設(shè)備上存儲的受限制內(nèi)容包,但不包括實(shí)際內(nèi)容或構(gòu)成內(nèi)容包的元素(例如,代碼和/或數(shù)據(jù)文件)的列表??蛻舳嗽O(shè)備101可以將該清單作為下載請求231的部分發(fā)送,或響應(yīng)于來自服務(wù)器105的下載可用的通知而發(fā)送該清單。正如此處所使用的,術(shù)語內(nèi)容包指計(jì)算機(jī)可讀元素的集合,例如,與常用功能關(guān)聯(lián)的文件。正如此處所使用的,術(shù)語內(nèi)容元素指計(jì)算機(jī)可讀元素,例如,文件,是諸如應(yīng)用或介質(zhì)包之類的內(nèi)容包的組成的文件。舉例說明,而非限定,該內(nèi)容包可以包括與給定的軟件應(yīng)用或游戲標(biāo)題關(guān)聯(lián)的所有代碼和/或數(shù)據(jù)文件。
舉例說明,而非限定,如果在所述設(shè)備上存儲的受限制內(nèi)容是不同應(yīng)用程序的形式,則列表通過應(yīng)用識別符(例如,標(biāo)題)和對應(yīng)的版本識別符(例如,用于對應(yīng)應(yīng)用的版本或版本號)識別每個應(yīng)用。舉例說明,而非限定,具有多個已存儲的游戲的游戲機(jī)可以發(fā)送清單到下載服務(wù)器105,該服務(wù)器識別在該設(shè)備中存儲的每個游戲標(biāo)題和對應(yīng)的版本。注意,對于每個游戲標(biāo)題可能有對應(yīng)元素的集合(例如,代碼或數(shù)據(jù)),這些元素可以作為文件的集合而存儲。所述代碼和/或數(shù)據(jù)隨著每個不同的版本號變化。但是,如果該設(shè)備運(yùn)行于封閉平臺網(wǎng)絡(luò)中,則可以輕易地從游戲標(biāo)題和版本識別符識別對應(yīng)的代碼和/或數(shù)據(jù)文件。此外,從標(biāo)題或 版本號的獲知可以確定封閉平臺客戶端設(shè)備上的這些文件或受限制內(nèi)容包內(nèi)的特定內(nèi)容元素的位置或該位置是可確定的。在其他情況下,標(biāo)題和版本號的獲知可以被用于確定識別符(例如,文件名)的列表,該標(biāo)示符對應(yīng)于組成在該客戶端設(shè)備上存儲的內(nèi)容包的元素。通過將清單231限定為內(nèi)容包識別符的列表,而不是所有內(nèi)容文件的列表,在發(fā)送該列表時可以顯著地節(jié)省帶寬并且可以極大地降低準(zhǔn)備該列表的復(fù)雜性。如在219處所指示的,下載服務(wù)器105接收此列表231。在接收所述列表231之后,下載服務(wù)器105可將該列表231存儲在它的本地存儲器中以用于后續(xù)處理。如在221處所指示的,在數(shù)據(jù)包請求229和客戶端清單231兩者都接收后,該下載服務(wù)器105可以識別已經(jīng)存儲在客戶端設(shè)備上的數(shù)據(jù)包的部分。特別是,服務(wù)器105可以將數(shù)據(jù)包中的內(nèi)容元素的集合與從該清單231中確定的現(xiàn)有內(nèi)容元素的集合比較。舉例說明,而非限定,可以借助于查找表或數(shù)據(jù)庫識別已經(jīng)存儲的部分。因?yàn)榭蛻舳嗽O(shè)備101和下載服務(wù)器105運(yùn)行在封閉平臺網(wǎng)絡(luò)中,在該封閉平臺網(wǎng)絡(luò)中的任何客戶端設(shè)備上存儲的任何內(nèi)容必須是初始版本或授權(quán)后的更新版本(即,無未授權(quán)的版本存在)。因此,下載服務(wù)器105可以簡單地為對應(yīng)于在網(wǎng)絡(luò)內(nèi)發(fā)布的每個受限制內(nèi)容包的所有內(nèi)容元素而保留數(shù)據(jù)庫/查找表。該下載服務(wù)器105可以通過將用于數(shù)據(jù)包請求229的內(nèi)容文件的列表與用于在清單231中列出的每個片段的內(nèi)容的數(shù)據(jù)庫/查找表比較,來確定數(shù)據(jù)包請求229的哪些部分已經(jīng)以一種或另一種形式存儲在客戶端設(shè)備上。舉例說明,而非限定,在計(jì)算機(jī)游戲的背景下,許多游戲標(biāo)題共享數(shù)據(jù)的各種部分(例如,視頻內(nèi)容、音頻內(nèi)容、游戲引擎、內(nèi)容庫等)。在游戲標(biāo)題本質(zhì)上是連續(xù)的情況下尤其如此。如此,識別數(shù)據(jù)包請求229中的哪些部分已經(jīng)存儲在客戶端設(shè)備上可以便于更有效地創(chuàng)建數(shù)據(jù)包并且可以減少跨網(wǎng)傳輸?shù)臄?shù)據(jù)的總量。在識別已存在于客戶端設(shè)備上的所請求的數(shù)據(jù)包的部分后,如在223處所指示的,下載服務(wù)器105可以發(fā)送響應(yīng)233到客戶端設(shè)備,該客戶端設(shè)備包含識別在設(shè)備上已經(jīng)存儲的那些部分的信息。在一些情況下,該響應(yīng)可以選擇性地指示客戶端設(shè)備中的位置以訪問每個部分。在一些情況下,在該響應(yīng)中的信息可以包括用于下載包中的內(nèi)容元素的內(nèi)容識別符(例如,文件名)的列表,該下載包已經(jīng)存儲在該客戶端設(shè)備上。如在207處所指示的,客戶端設(shè)備101接收識別那些已存儲在設(shè)備上的那些部分的信息和用于訪問每個部分的位置。在接收該響應(yīng)233之后,客戶端設(shè)備101可以為后續(xù)處理而在其存儲器中存儲該響應(yīng)。關(guān)于圖2描述的實(shí)施例可以用額外可選的掃描和文件或數(shù)據(jù)部分驗(yàn)證來擴(kuò)展以確??蛻舳嗽O(shè)備101包含服務(wù)器105期待的相同的文件。例如,除了包括文件(或數(shù)據(jù)部分)的列表的響應(yīng)233之外,如果需要,該服務(wù)器105還可以發(fā)送校驗(yàn)和234,客戶端101可以使用該校驗(yàn)和234驗(yàn)證對應(yīng)于服務(wù)器認(rèn)為的、該響應(yīng)233中的文件(或數(shù)據(jù)部分)是正確的。用于消除與響應(yīng)233中的那些文件或數(shù)據(jù)部分不匹配的文件或數(shù)據(jù)部分或用于找到合適的替代文件(例如,可以替代響應(yīng)233中的文件的第二選擇文件)的額外的否定循環(huán)208、224可以實(shí)現(xiàn)以“協(xié)商”客戶隨后可以本地復(fù)制的下載包的片段。例如,如果客戶端設(shè)備101是開放平臺系統(tǒng)的部分,則這樣的特征是有用的。如在209處所指示的,然后,客戶端設(shè)備101可以使用指令233從位于客戶端設(shè)備的現(xiàn)有內(nèi)容收集數(shù)據(jù)包的已識別部分。舉例說明,而非限定,響應(yīng)233中的信息可以選擇性地包括由與客戶端設(shè)備101關(guān)聯(lián)的處理器執(zhí)行的代碼指令,該代碼指令被配置以引導(dǎo)所述客戶端設(shè)備101在已經(jīng)存在于設(shè)備上的數(shù)據(jù)包的部分的收集中引導(dǎo)該客戶端101。替代地,客戶端設(shè)備101可以被配置以定位并收集已存在于設(shè)備上數(shù)據(jù)包的部分,而沒有額外代碼。舉例說明,而非限定,該響應(yīng)233中的信息可以包括對應(yīng)于受限制內(nèi)容文件的文件名的列表,該受限制內(nèi)容文件順序?qū)?yīng)于向服務(wù)器發(fā)送的清單上的內(nèi)容包和版本 號。在此情況下,客戶端設(shè)備101可以為了對應(yīng)于該響應(yīng)中列出的文件名的文件而搜索其本地存儲設(shè)備(例如,硬盤)。所收集的文件可以包括不匹配文件的代替者,該不匹配文件是在208處的選擇性驗(yàn)證和協(xié)商期間被識別的。舉例說明,而非限定,收集數(shù)據(jù)包的已識別部分可以復(fù)制現(xiàn)有的所存儲的內(nèi)容的部分,該部分對應(yīng)于數(shù)據(jù)包的已識別的部分。替代地,客戶端設(shè)備可以創(chuàng)建指向?qū)?yīng)于數(shù)據(jù)包的已識別部分的現(xiàn)有的所存儲的內(nèi)容的指針。該數(shù)據(jù)包可以簡單地定位已存儲的內(nèi)容并在需要時使用指針訪問它,而不是復(fù)制已存儲的內(nèi)容的部分。如在211處所指示的,一旦數(shù)據(jù)包的已識別部分已經(jīng)由客戶端設(shè)備101收集,則客戶端設(shè)備101可以從服務(wù)器105請求數(shù)據(jù)包的剩余部分。舉例說明,而非限定,請求235可以簡單地是對服務(wù)器105的通知,該通知指示客戶端設(shè)備101已經(jīng)完成收集數(shù)據(jù)包的已識別部分。替代地,客戶端設(shè)備設(shè)備101可以被配置以運(yùn)行部分完成的數(shù)據(jù)包的掃描以確定所需的剩余部分。在這樣的實(shí)現(xiàn)中,該客戶端設(shè)備101可以獨(dú)立地驗(yàn)證由下載服務(wù)器識別的數(shù)據(jù)包的所有部分是否確實(shí)已經(jīng)存在于該客戶端設(shè)備上。如在225處所指示的,下載服務(wù)器105接收這個請求。如在227處所指示的,在從客戶端設(shè)備101接收用于數(shù)據(jù)包的剩余部分的請求235之后,下載服務(wù)器105發(fā)送該數(shù)據(jù)包的剩余部分237到客戶端設(shè)備101。舉例說明,而非限定,下載服務(wù)器105可以從內(nèi)容服務(wù)器取回所請求的數(shù)據(jù)包的剩余部分用于到客戶端設(shè)備101的傳輸。替代地,下載服務(wù)器105可以在其本地存儲中存儲這樣的數(shù)據(jù)包的所請求的剩余部分用于后續(xù)取回和傳輸。如在213處所指示的,然后,客戶端設(shè)備101接收數(shù)據(jù)包237的剩余部分。然后客戶端設(shè)備101可以在其本地存儲器或存儲中為后續(xù)使用而存儲完整的數(shù)據(jù)包。舉例說明,而非限定,在從下載服務(wù)器105接收數(shù)據(jù)包的剩余部分之后,客戶端設(shè)備101可以被配置以進(jìn)行該數(shù)據(jù)包的掃描。此額外的掃描提供額外的保證,即數(shù)據(jù)包的所有部分已經(jīng)正確地收集并且沒有丟失片段。舉例說明,客戶端設(shè)備101可以配置為如圖3中所示,圖3描述了圖示根據(jù)本發(fā)明的實(shí)施例的客戶端設(shè)備300的組件的方框圖。舉例說明,而非喪失通用性,客戶端300可以作為計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn),諸如視頻游戲機(jī)、智能手機(jī),或適于實(shí)踐本發(fā)明的實(shí)施例的其他數(shù)字設(shè)備??蛻舳嗽O(shè)備300可以包括處理器模塊301,其被配置以運(yùn)行軟件應(yīng)用并可選擇地運(yùn)行操作系統(tǒng)。處理器模塊301可以包括一個或多個處理器核??蛻舳嗽O(shè)備300也可以包括被配置以存儲由處理器301使用的應(yīng)用和數(shù)據(jù)的存儲器305。該存儲器305可以是集成電路的形式,例如,RAM、DRAM、R0M等等。該存儲器305也可以是所有處理器模塊可訪問的主存儲器。在一些實(shí)施例中,處理器模塊301可以具有與每個核關(guān)聯(lián)的本地存儲器。程序303可以以處理器模塊可以執(zhí)行的處理器可讀指令的形式存儲在主存儲器305中。程序303可被配置以實(shí)現(xiàn)有效下載數(shù)據(jù)包的方法。舉例說明,程序303可以包括指令以向下載服務(wù)器發(fā)送請求以下載數(shù)據(jù)包、向下載服務(wù)器發(fā)送識別在客戶端中存儲的現(xiàn)有的受限制內(nèi)容包的清單、從下載服務(wù)器接收信息,該信息識別已經(jīng)存儲在客戶端設(shè)備上的數(shù)據(jù)包的部分和(可選擇地)它們在客戶端設(shè)備中的各自的位置、從 在客戶端設(shè)備上存儲的現(xiàn)有內(nèi)容中收集數(shù)據(jù)包的已識別部分、從下載服務(wù)器請求數(shù)據(jù)包的剩余部分以及從下載服務(wù)器接收數(shù)據(jù)包的剩余部分。程序303可以以諸如C、C++-、JAVA、匯編、MATLAB、FORTRAN以及若干其他語言的任何適合的處理器可讀語言編寫。由客戶端設(shè)備300從下載服務(wù)器接收的下載包信息307也可以存儲在存儲器305中。這樣的信息307可以識別數(shù)據(jù)包的部分,該數(shù)據(jù)包的部分可以在位于客戶端設(shè)備上的現(xiàn)有內(nèi)容中發(fā)現(xiàn),并且也可以識別它們各自的位置。該信息307可以選擇性地包括可執(zhí)行代碼指令,該可執(zhí)行代碼指令被配置以引導(dǎo)客戶端設(shè)備300收集已存在于設(shè)備上數(shù)據(jù)包的部分。由客戶端設(shè)備300接收的下載包數(shù)據(jù)308也可以存儲在存儲器305中。這樣的所接收的數(shù)據(jù)308可以包括從下載服務(wù)器接收的數(shù)據(jù)包的剩余部分,該數(shù)據(jù)包的剩余部分之前不存在于客戶端設(shè)備。在程序303的執(zhí)行期間,程序代碼的部分、下載信息307和/或數(shù)據(jù)308可以由多個處理器核加載到用于并行處理的處理器核的存儲器或本地存儲中??蛻舳嗽O(shè)備300也可以包括公知的支持功能309,諸如輸入/輸出(I/O)元素311、電源(P/S)313、時鐘(CLK) 315和緩存317之類。設(shè)備300可以選擇性地包括大容量存儲設(shè)備319,諸如固定磁盤驅(qū)動器、可移除磁盤驅(qū)動器、閃存設(shè)備、磁帶驅(qū)動器、⑶-ROM、DVD-ROM、藍(lán)光、HD-DVD, UMD或其他光學(xué)存儲驅(qū)動器。存儲設(shè)備319可以被用于內(nèi)容320(例如,應(yīng)用、程序、音頻/視頻等)的臨時或長期存儲。注意,內(nèi)容320可以包括受限制內(nèi)容包322和用戶內(nèi)容324。如上所述,受限制內(nèi)容包322被保護(hù)免受設(shè)備300的用戶或第三方的修改。該受限制內(nèi)容包322可以包括例如與如應(yīng)用標(biāo)題、游戲標(biāo)題、介質(zhì)內(nèi)容關(guān)聯(lián)的受限制代碼和受限制數(shù)據(jù),以及與設(shè)備300或其他類似配置的使用封閉平臺網(wǎng)絡(luò)的封閉平臺設(shè)備關(guān)聯(lián)的其他形式的受限制內(nèi)容。構(gòu)成受限制內(nèi)容包322的受限制內(nèi)容元素的位置可以以對于封閉平臺設(shè)備統(tǒng)一的方式確定。這意味著從內(nèi)容包存在于存儲設(shè)備上的事實(shí),構(gòu)成存儲設(shè)備319內(nèi)的內(nèi)容的項(xiàng)的每個文件的識別符和/或位置(例如,卷、扇區(qū)或地址)可以被確定或者是可以確定的。內(nèi)容320也可以包括用戶內(nèi)容324,該用戶內(nèi)容324不被保護(hù)以免受修改。換句話說,用戶或第三方可以創(chuàng)建這樣的用戶內(nèi)容和或修/改它。用戶內(nèi)容324的示例包括,但不限定于,用戶配置文件、游戲存檔、諸如聊天或電子郵件之類用戶生成的消息、用戶偏好、設(shè)備設(shè)置等。設(shè)備300可以選擇性地包括顯示單元321和用戶接口單元331以方便與設(shè)備300交互。顯示單元321可以是能夠響應(yīng)于來自客戶端設(shè)備300的信號而顯示視覺信息的任何設(shè)備,包括CRT、IXD、等離子和OLED顯示器??蛻舳嗽O(shè)備300可以向顯示單元321提供模擬或數(shù)字信號。舉例說明,該顯示單元321可以包括顯示文本、數(shù)字、圖形符號或圖像的平板顯示器或陰極射線管(CRT)。此外,顯示器321可以包括產(chǎn)生可聽見的或其他可檢測的聲音的一個或多個音頻揚(yáng)聲器。為了方便生成這樣的聲音,客戶端設(shè)備300可以進(jìn)一步包括音頻處理器323,該音頻處理器323適配于從由處理器301、存儲器305和/或存儲319提供的指令和/或數(shù)據(jù)生成模擬或數(shù)字音頻輸出。用戶接口 331可以包括鍵盤、鼠標(biāo)、操縱桿、光筆或可以被用于結(jié)合圖形用戶接口(GUI)的其他設(shè)備。設(shè)備300也可已包括網(wǎng)絡(luò)接口 325以方便經(jīng)由電子通訊網(wǎng)絡(luò)329的通信。網(wǎng)絡(luò)接口 325可以被配置以在局域網(wǎng)和諸如Iternet之類的廣域網(wǎng)上實(shí)現(xiàn)有線或無線通信。客戶端設(shè)備300可以在網(wǎng)絡(luò)329上經(jīng)由一個或多個消息包327發(fā)送并接收數(shù)據(jù)和/或請求數(shù)據(jù)包??蛻舳嗽O(shè)備300包括處理器301、存儲器305、支持功能309、數(shù)據(jù)存儲319、用戶接 口 331、顯示器321、音頻處理器323和網(wǎng)絡(luò)接口 325,該客戶端設(shè)備300的組件經(jīng)由一條或多條數(shù)據(jù)總線333彼此可操作地連接。這些組件可以以硬件、軟件或固件,或者這些的兩者或多個的一些組合來實(shí)現(xiàn)。舉例說明,而無通用性的損失,系統(tǒng)100中的下載服務(wù)器105可以被配置為如圖4中所示。根據(jù)本發(fā)明的實(shí)施例,下載服務(wù)器400可以作為計(jì)算機(jī)系統(tǒng)或其他數(shù)字設(shè)備實(shí)現(xiàn)。下載服務(wù)器可以包括處理器401,其被配置以運(yùn)行軟件應(yīng)用并選擇性地運(yùn)行操作系統(tǒng)。處理器401可以包括一個或多個處理器核。舉例說明而無限定,處理器401可以是諸如單元處理器之類的并行處理器模塊。下載服務(wù)器400也可以包括存儲器405,其被配置以存儲由處理器401使用的應(yīng)用和數(shù)據(jù)。計(jì)算機(jī)程序403可以以可以由處理器401執(zhí)行的指令形式存儲在存儲器405中。除其他事項(xiàng)之外,程序403的指令可以被配置以實(shí)現(xiàn)數(shù)據(jù)包的高效下載的方法,例如,如關(guān)于根據(jù)圖2中的下載服務(wù)器操作215描述的。具體地,下載服務(wù)器400可以例如通過程序403的恰當(dāng)編程被配置,從客戶端設(shè)備接收請求以下載數(shù)據(jù)包、接收在客戶端設(shè)備存儲上的現(xiàn)有內(nèi)容包的清單、識別作為現(xiàn)有內(nèi)容元素存儲在客戶端設(shè)備上的數(shù)據(jù)包的部分、發(fā)送到客戶端設(shè)備,識別對應(yīng)于數(shù)據(jù)包的部分的現(xiàn)有內(nèi)容元素、接收數(shù)據(jù)包的剩余部分的請求以及發(fā)送數(shù)據(jù)包的剩余部分到客戶端設(shè)備。存儲在客戶端設(shè)備上的現(xiàn)有內(nèi)容的清單407也可以存儲在存儲器405中。這樣的清單407可以包括存儲在客戶端設(shè)備上的所有內(nèi)容包的列表。該列表可以識別內(nèi)容包(例如,通過標(biāo)題或其他識別符),但無需包括構(gòu)成包的內(nèi)容元素的列表或的實(shí)際內(nèi)容自身的列表。舉例說明,而非限定,有多個已存儲的游戲的游戲機(jī)(即,客戶端設(shè)備)可以發(fā)送清單給下載服務(wù)器,該下載服務(wù)器列出了在該設(shè)備上存儲的每個游戲標(biāo)題和特定的版本。如果該客戶端設(shè)備是封閉平臺設(shè)備,則可以從內(nèi)容包識別符和版本號中確定構(gòu)成每個內(nèi)容包的內(nèi)容元素。由客戶端設(shè)備做出的每個數(shù)據(jù)包請求408也可以存儲在存儲器405中。這樣的數(shù)據(jù)包請求408可以包括各種數(shù)據(jù)包的剩余部分的列表,該數(shù)據(jù)包的剩余部分沒有被包括在存儲在客戶端設(shè)備上的內(nèi)各兀素中。下載服務(wù)器400也可以包括公知的支持功能409,諸如輸入/輸出(I/O)元素411、電源(P/S)413、時鐘(CLK)415和緩存417之類。下載服務(wù)器400可以進(jìn)一步包括存儲設(shè)備419,該存儲設(shè)備419為應(yīng)用和數(shù)據(jù)提供非易失性存儲。存儲設(shè)備419可以用于數(shù)據(jù)庫420的長期存諸,該數(shù)據(jù)庫420被配置以向下載服務(wù)器400提供在封閉環(huán)境網(wǎng)絡(luò)中傳播的所有已授權(quán)內(nèi)容(例如,原始內(nèi)容、已授權(quán)的更新內(nèi)容等)的目錄。客戶端設(shè)備的清單407和數(shù)據(jù)包請求408可以對照數(shù)據(jù)庫420檢查以確定所請求的數(shù)據(jù)包的哪些部分已經(jīng)存儲在客戶端設(shè)備上以及所請求的數(shù)據(jù)包的哪些部分將被傳送。下載服務(wù)器400可以選擇性地包括用戶接口 431以從一個或多個用戶向該下載服務(wù)器400傳達(dá)用戶輸入。舉例說明,該用戶接口 431可以經(jīng)由I/O元素411耦接到該下載服務(wù)器400。用戶接口 431的示例可以包括鍵盤、鼠標(biāo)、操縱桿、光筆或可以用于結(jié)合圖形用戶接口(⑶I)的其他設(shè)備。下載服務(wù)器400也可以包括網(wǎng)絡(luò)接口 425以方便經(jīng)由電子通訊網(wǎng)絡(luò)429的通信。網(wǎng)絡(luò)接口 425可被配置以在局域網(wǎng)和諸如Internet的廣域網(wǎng)上實(shí)現(xiàn)有線或無線通信。該下載服務(wù)器400可以在網(wǎng)絡(luò)429上經(jīng)由一個或多個消息包427發(fā)送和接收數(shù)據(jù)和/或請求 文件。下載服務(wù)器400的組件包括處理器401、存儲器405、支持功能409、數(shù)據(jù)存儲器419、用戶接口 431和網(wǎng)絡(luò)接口 425,該組件經(jīng)由一條或多條數(shù)據(jù)總線433彼此可操作地連接。這些組件可以以硬件、軟件或固件,或者這些的兩個或多個的一些組合來實(shí)現(xiàn)。本發(fā)明的實(shí)施例通過利用在封閉環(huán)境網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)冗余和存儲在客戶端設(shè)備上的現(xiàn)有內(nèi)容方便了數(shù)據(jù)包的高效下載。通過從現(xiàn)有的已存儲的受限制內(nèi)容元素中收集所請求數(shù)據(jù)包的部分,在下載服務(wù)器和客戶端設(shè)備之間傳輸?shù)臄?shù)據(jù)包的實(shí)際大小可極大地減少。這反而導(dǎo)向較短的傳送時間和較高效的帶寬使用,而在客戶端設(shè)備或下載服務(wù)器上無任何顯著的額外壓力。注意,盡管從包括視頻游戲平臺的實(shí)現(xiàn)的方面來描述特定示例,但是本發(fā)明的實(shí)施例不限定于這樣的實(shí)現(xiàn)。替代地,本發(fā)明的實(shí)施例也可以應(yīng)用于諸如智能手機(jī)之類的其他封閉平臺系統(tǒng)。盡管上述實(shí)施例大部分涉及封閉平臺系統(tǒng),但是注意,本發(fā)明的實(shí)施例也可以擴(kuò)展到開放平臺系統(tǒng)。例如,如上所述,如果用戶設(shè)備是開放平臺系統(tǒng)的部分,則關(guān)于圖2描述的實(shí)施例可以用文件的額外的可選的掃描和檢證或數(shù)據(jù)部分來確保客戶端設(shè)備擇一地包含下載服務(wù)器預(yù)期的數(shù)據(jù)部分或合適的替代品。存在一些不同的開放平臺系統(tǒng),其可以修改以合并本發(fā)明的特征。例如,當(dāng)Windows程序可以使用任意數(shù)量的安裝器時,存在足夠公知的子集(例如WISE安裝程序),可以修改該子集以合并本發(fā)明的特征。在Linux系統(tǒng)上,持續(xù)跟蹤打包的和已安裝的文件的RPM或aptget包管理器也能被利用以使用這樣的特征。此外,Macintosh系統(tǒng)使用系統(tǒng)安裝器,該安裝器可以在許多情況下被修改以使用本文所描述的特征合并數(shù)據(jù)包的高效下載。盡管以上是本發(fā)明的優(yōu)選實(shí)施例的完整描述,仍可以使用各種替換、改進(jìn)和等同物。所以,本發(fā)明的范圍不應(yīng)參照以上描述而確定,相反,應(yīng)參照附加的權(quán)利要求連同它們的等同物的全部范圍一起確定。此處描述的、無論是否是優(yōu)選的任何特征,可以與此處所描述的無論是否是優(yōu)選的任何其他特征組合。在下列的權(quán)利要求中,不定冠詞“一個”或“一種”指一些跟隨在冠詞之后的或多個術(shù)語,除非另有明確說明。所附權(quán)利要求不被解釋為包括手段加功能的限定,除非這樣的限定在使用詞語“手段用于”的給定權(quán)利要求中明 確闡述。
權(quán)利要求
1.一種在被配置以在網(wǎng)絡(luò)上運(yùn)行的客戶端設(shè)備中用于數(shù)據(jù)包的高效下載的方法,包括 a)發(fā)送識別已存儲在所述客戶端設(shè)備中的現(xiàn)有內(nèi)容包的清單到運(yùn)行在所述網(wǎng)絡(luò)上的服務(wù)器; b)從所述服務(wù)器接收包含識別所述數(shù)據(jù)包的對應(yīng)于在所述客戶端設(shè)備上存儲的一個或多個現(xiàn)有內(nèi)容元素的一個或多個部分的信息的響應(yīng); c)從存儲在所述客戶端設(shè)備上的現(xiàn)有內(nèi)容元素中收集所述數(shù)據(jù)包內(nèi)的所述一個或多個的內(nèi)容已識別部分;以及 d)從所述服務(wù)器請求所述數(shù)據(jù)包的剩余部分;以及 e)從所述服務(wù)器接收所述數(shù)據(jù)包的所述剩余部分。
2.權(quán)利要求I的方法,進(jìn)一步包括,在a)之前,從所述客戶端設(shè)備向所述服務(wù)器發(fā)送請求以下載所述數(shù)據(jù)包。
3.權(quán)利要求2的方法,其中所述請求響應(yīng)于來自所述客戶端設(shè)備的用戶的輸入而做出。
4.權(quán)利要求2的方法,其中所述請求在預(yù)定時間由所述客戶端設(shè)備自動做出。
5.權(quán)利要求I的方法,其中所述現(xiàn)有內(nèi)容的清單包括列表,該列表識別存儲在所述客戶端設(shè)備中的每個內(nèi)容項(xiàng)和每個內(nèi)容項(xiàng)的對應(yīng)的版本號。
6.權(quán)利要求I的方法,其中來自所述服務(wù)器的響應(yīng)包括信息,該信息為存儲在所述客戶端設(shè)備上的一個或多個現(xiàn)有內(nèi)容元素的每個而指示在所述客戶端設(shè)備中的位置。
7.權(quán)利要求I的方法,I其中來自所述服務(wù)器的響應(yīng)包括對應(yīng)于存儲在所述客戶端設(shè)備上的一個或多個現(xiàn)有內(nèi)容元素的識別符的列表。
8.權(quán)利要求I的方法,其中所述響應(yīng)包括代碼和/或數(shù)據(jù),該代碼和/或數(shù)據(jù)被配置以引導(dǎo)所述客戶端設(shè)備收集所述響應(yīng)中的一個或多個被識別的部分。
9.權(quán)利要求I的方法,其中c)包括復(fù)制在所述客戶端設(shè)備中存儲的一個或多個現(xiàn)有內(nèi)容元素。
10.權(quán)利要求I的方法,其中C)包括為所述數(shù)據(jù)包的每個被識別的部分而生成指針,所述指針指示在所述客戶端設(shè)備中存儲的對應(yīng)的現(xiàn)有內(nèi)容元素的位置。
11.權(quán)利要求I的方法,其中d)包括進(jìn)行已收集的所述數(shù)據(jù)包的被識別部分的掃描,以確定所述數(shù)據(jù)包的剩余部分。
12.權(quán)利要求I的方法,進(jìn)一步包括f)為任何丟失部分而檢查數(shù)據(jù)包
13.權(quán)利要求I的方法,其中所述客戶端設(shè)備是封閉平臺設(shè)備并且所述清單識別在所述客戶端設(shè)備中存儲的現(xiàn)有受限制內(nèi)容包。
14.權(quán)利要求I的方法,其中所述客戶端設(shè)備是開放平臺設(shè)備,所述方法進(jìn)一步包括驗(yàn)證所述被識別的部分對應(yīng)于在所述客戶端設(shè)備中存儲的現(xiàn)有內(nèi)容元素。
15.權(quán)利要求14的方法,其中d)包括清求一個或多個不匹配的被識別的部分,該部分不對應(yīng)于在所述設(shè)備中存儲的內(nèi)容元素。
16.權(quán)利要求14的方法,其中c)包括識別一個或多個不匹配的被識別部分的一個或多個替代品,所述一個或多個不匹配的被識別部分不對應(yīng)在所述設(shè)備中存儲的內(nèi)容元素,并包括從在所述客戶端設(shè)備存儲的部分中收集所述替代品。
17.一種客戶端設(shè)備,該客戶端設(shè)備被配置以運(yùn)行在封閉平臺網(wǎng)絡(luò)中的客戶端設(shè)備,包括 處理器; 耦接到處理器的存儲器; 一個或多個包含在存儲器中用于被所述處理器的執(zhí)行的指令,所述指令被配置為實(shí)現(xiàn)用于高效下載數(shù)據(jù)包的方法,所述方法包括 a)發(fā)送識別已存儲在所述客戶端設(shè)備中的現(xiàn)有內(nèi)容包的清單到運(yùn)行在所述網(wǎng)絡(luò)上的服務(wù)器; b)從所述服務(wù)器接收識別所述數(shù)據(jù)包的對應(yīng)于存儲在所述客戶端設(shè)備上的一個或多個現(xiàn)有內(nèi)容元素的一個或多個部分的信息; c)從存儲在所述客戶端設(shè)備上的現(xiàn)有內(nèi)容元素中收集所述數(shù)據(jù)包內(nèi)的所述一個或多個的內(nèi)容已識別部分;以及 d)從所述服務(wù)器請求所述數(shù)據(jù)包的剩余部分;以及 e)從所述服務(wù)器接收所述數(shù)據(jù)包的剩余部分。
18.在被配置以在網(wǎng)絡(luò)上運(yùn)行的服務(wù)器中,一種用于高效下載數(shù)據(jù)包的方法,包括 a)接收識別存儲在客戶端設(shè)備中的現(xiàn)有內(nèi)容包的清單; b)從所述清單識別對應(yīng)于存儲在所述客戶端設(shè)備上的一個或多個現(xiàn)有內(nèi)容元素的所述數(shù)據(jù)包的一個或多個部分; c)發(fā)送識別作為現(xiàn)有內(nèi)容元素存儲在所述客戶端設(shè)備上的所述數(shù)據(jù)包的每個所述一個或多個部分的信息給所述客戶端設(shè)備; d)從客戶端設(shè)備接收對所述數(shù)據(jù)包的剩余部分的請求; e)發(fā)送所述數(shù)據(jù)包的剩余部分到所述客戶端設(shè)備。
19.權(quán)利要求18的方法,其中所述清單包括列表,該列表識別在所述客戶端設(shè)備中存儲的每個內(nèi)容包和在所述客戶端設(shè)備中存儲的每個內(nèi)容包的對應(yīng)的版本號。
20.權(quán)利要求18的方法,其中b)包括比較在所述數(shù)據(jù)包中的內(nèi)容元素的集合與從所述清單確定的現(xiàn)有內(nèi)容元素的集合。
21.權(quán)利要求20的方法,其中b)包括從列表上的內(nèi)容包識別符和一個或多個內(nèi)容包的版本號中識別在所述客戶端設(shè)備上作為現(xiàn)有內(nèi)容元素存儲的所述數(shù)據(jù)包的一個或多個部分。
22.權(quán)利要求20的方法,其中在c)中被發(fā)送給所述客戶端設(shè)備的所述信息包括信息,該信息為每個在所述客戶端設(shè)備上作為現(xiàn)有內(nèi)容元素存儲的所述數(shù)據(jù)包的一個或多個部分指示在所述客戶端設(shè)備中的位置。
23.權(quán)利要求18的方法,其中發(fā)送給所述客戶端設(shè)備的信息包括識別符的列表,該識別符的列表對應(yīng)于在所述客戶端設(shè)備上存儲的一個或多個現(xiàn)有內(nèi)容元素。
24.權(quán)利要求18的方法,其中所述客戶端設(shè)備是封閉平臺設(shè)備,并且所述清單識別了在所述客戶端設(shè)備中存儲的現(xiàn)有受限制內(nèi)容包。
25.權(quán)利要求18的方法,其中所述客戶端設(shè)備是開放平臺設(shè)備,所述方法進(jìn)一步包括發(fā)送驗(yàn)證信息到所述客戶端,所述客戶端可以使用所述驗(yàn)證信息驗(yàn)證所述被識別的部分與在所述客戶端設(shè)備中存儲的對應(yīng)的現(xiàn)有內(nèi)容元素匹配。
26.權(quán)利要求25的方法,其中c)包括識別一個或多個不匹配的被識別部分的一個或多個替代品,所述不匹配的被識別部分不對應(yīng)于在所述設(shè)備中存儲的內(nèi)容元素,并通知所述客戶端設(shè)備所述替代品。
27.一種被配置以在網(wǎng)絡(luò)上允許的服務(wù)器,包括 處理器; 存儲器;以及 一個或多個包含在存儲器中用于被所述處理器的執(zhí)行的指令,所述指令被配置為實(shí)現(xiàn)用于高效下載數(shù)據(jù)包的方法,所述方法包括 a)接收識別存儲在客戶端設(shè)備中的現(xiàn)有內(nèi)容包的清單; b)從所述清單識別對應(yīng)于存儲在所述客戶端設(shè)備上的一個或多個現(xiàn)有內(nèi)容元素的所述數(shù)據(jù)包的一個或多個部分; c)發(fā)送識別作為現(xiàn)有內(nèi)容元素存儲在所述客戶端設(shè)備上的所述數(shù)據(jù)包的每個所述一個或多個部分的信息給所述客戶端設(shè)備; d)從客戶端設(shè)備接收對所述數(shù)據(jù)包的剩余部分的請求; e)發(fā)送所述數(shù)據(jù)包的剩余部分到所述客戶端設(shè)備。
全文摘要
公開用于高效下載數(shù)據(jù)包的方法以及可以實(shí)現(xiàn)該方法的客戶端設(shè)備和服務(wù)器。該客戶端設(shè)備向下載服務(wù)器發(fā)送識別現(xiàn)有已存儲的內(nèi)容數(shù)據(jù)包的清單。該下載服務(wù)器識別已經(jīng)與已在客戶端存儲的內(nèi)容元素相對應(yīng)的所請求數(shù)據(jù)包的部分,并向客戶端設(shè)備發(fā)送信息指示所請求數(shù)據(jù)包的哪部分已經(jīng)存儲在客戶端上。該客戶端設(shè)備收集所請求數(shù)據(jù)包的已存儲的部分并從下載服務(wù)器請求所請求數(shù)據(jù)包的剩余部分。該下載服務(wù)器接收所請求的數(shù)據(jù)包的剩余部分的請求并向客戶端設(shè)備發(fā)送剩余部分。
文檔編號H04L29/06GK102904878SQ201210346540
公開日2013年1月30日 申請日期2012年7月25日 優(yōu)先權(quán)日2011年7月25日
發(fā)明者S·E·尼爾森 申請人:索尼電腦娛樂美國公司