TWI492156B - 用以有效下載資料包的方法與系統 - Google Patents
用以有效下載資料包的方法與系統 Download PDFInfo
- Publication number
- TWI492156B TWI492156B TW101126041A TW101126041A TWI492156B TW I492156 B TWI492156 B TW I492156B TW 101126041 A TW101126041 A TW 101126041A TW 101126041 A TW101126041 A TW 101126041A TW I492156 B TWI492156 B TW I492156B
- Authority
- TW
- Taiwan
- Prior art keywords
- client device
- stored
- package
- content
- list
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0892—Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Transfer Between Computers (AREA)
Description
本發明之實施例係有關電腦網路,且尤係有關自網路下載資料包。
目前,許多電腦遊戲網路及智慧型手機網路以封閉平台(closed platform network)網路之方式操作。在本說明書的用法中,封閉平台網路涉及一種禁止外部對網路應用、程式、及與使用該網路的特定用戶端裝置或平台相關聯的其他受限制的內容的修改之網路。在本發明中,在此種網路上操作的用戶端裝置有時被稱為封閉平台裝置。對比之下,在開放平台網路或開放平台裝置中,不禁止此類修改。
舉例而言,且非限制地而言,與遊戲機相關聯的某些電腦遊戲網路被配置成以封閉平台網路之方式操作。在一封閉平台電腦遊戲網路中,與遊戲、應用程式、媒體相關聯之受限制的程式碼及受限制的資料、以及與使用該網路的遊戲機或可攜式遊戲裝置相關聯的其他形式之受限制的內容都被保護,而不被使用者或第三者修改。換言之,一旦受限制的應用程式、受限制的程式、或其他受限制的內容被(以磁碟或光碟、或下載等的方式)載入在該封閉平台內操作的一電腦遊戲系統之後,該資料即保持在其原始形式,直到網路營運商(network operator)決定要修改該
資料為止(例如,藉由更新修補程式(patch)等的方式)。除了經由被授權的管道,不容許電腦遊戲平台或第三者存取及修改該等受限制的資料。在此種封閉平台網路中,對系統應用程式、程式、及資料的管理被大幅簡化,這是因為資料被屏蔽而不會受到未知的/不想要的修改。因此,封閉平台網路可保持知曉在其邊界內運行的每一應用程式、程式、及資料件(piece of data)隨時之狀態。
封閉平台遊戲網路也被配置成將形式為應用程式、程式、及其他資料件之資料自一網路伺服器經由下載而傳輸到一用戶端遊戲系統。視應用程式而定,該資料的大小範圍可自每一傳輸有10 MB(MB:百萬位元組)至每一傳輸有2 GB(GB:十億位元組)。較大的傳輸可能耗用數小時且有時甚至耗用數天才能完成。
此種情況即是產生本發明實施例的環境。
本發明揭示了有效率地下載資料包之方法以及可實施該等方法之用戶端裝置及伺服器。該用戶端裝置將用來識別現有被儲存的內容包(content package)之一清單(inventory)傳送到下載伺服器。該下載伺服器識別被要求的資料包中業已對應於已被儲存在該用戶端裝置上的內容元素(content element)之一些部分,且將用來指示該被要求的資料包中之哪些部分已被儲存在該用戶端裝置上的資訊傳送到該用戶端裝置。該用戶端裝置收集該被要求的
資料包中之已被儲存的部分,且向該下載伺服器要求該被要求的資料包中之其餘部分。該下載伺服器接收對該被要求的資料包中之該其餘部分的該要求,且將該其餘部分傳送到該用戶端裝置。
雖然下文中之詳細說明為了解說之目的而含有許多特定細節,但是對此項技術具有一般知識者當可了解:下文中之細節的許多變化及改變是在本發明的範圍內。因此,下文中將在不喪失本發明的申請專利範圍之任何普遍性,且不對本發明的申請專利範圍加諸限制之情形下,闡述所述之本發明之實施例。
本發明之實施例起因於認知下列事實:大型傳輸可包含將妨礙傳輸程序的效率之數種資料冗餘(data redundancy)。在舉例且非限制之方式下,電腦遊戲系統的一使用者可能希望下載一遊戲的其已擁有之先前版本(例如,SOCOM 3)之最新續集(sequel)(例如,SOCOM 4)。目前,這些遊戲網路被配置成:在不考慮該等兩個版本間之程式碼及資料冗餘的情形下,傳輸整個資料包以供下載。換言之,針對最新續集而被傳輸的該資料包中包含與該最新續集相關聯之所有的視訊資產、音訊資產、遊戲引擎(game engine)、及資料庫內容(library content
)等的資料,且即使該資料包的數個部分可能先前已自該先前版本被下載到該遊戲系統也是如此傳輸。
諸如NetApp、EMC、及其他公司等的某些公司具有用來執行有時被用來作為一種形式的壓縮之"重複資料刪除"("deduplication")之系統。重複資料刪除系統掃描各檔案中之重複部分,除了一重複部分之外移除所有其他該等重複部分,且建立至該剩餘部分之指標,因而可在沒有重複資訊之情形下,以一較小的形式將該檔案儲存在磁碟中。核對和(checksum)被用於某些重複資料刪除實施例中,以便在一檔案系統中尋找可能含有可施加重複資料刪除處理的相同區段(segment)之候選檔案。
為了傳輸檔案的特定部分且將核對和用來尋找業已存在部分而開發出某些系統。例如,某些現代的網路瀏覽器、BitTorrent檔案傳輸法、以及"rsync"軟體等的系統使用了為了填滿部分檔案而要求傳輸該檔案的一些區段之觀念。具體而言,BitTorrent及rsync也使用下列的觀念:檢查現存檔案的核對和部分,而決定是否需要再度傳輸或下載一些特定部分,且建立檔案的任何遺漏區段之列表以供經由網路而傳輸。然而,請注意,BitTorrent及rsync只將使用核對和測試檔案的一部分是否存在及有效之觀念用來在成功的傳輸或下載結束時比較應該是相同的兩個特定檔案。
因為封閉平台網路有易於監視在該網路內載入的所有應用程式、程式、及其他資料件的狀態之能力,所以該等
網路能夠採用經由下載而傳輸資料包的更有效率之機制。
本發明之實施例可讓在一封閉平台網路內操作的一用戶端裝置將對一受限制的資料包之一要求以及用來識別被儲存的內容之一清單(例如,用來識別被儲存的內容的資料包之一列表,而不是用來識別實際內容的拷貝或構成該等資料包的元素之一列表)經由一網路而傳送到在該相同的封閉平台內操作的一伺服器。該伺服器可將該資訊用來決定該被要求的資料包中之哪些部分已被儲存在該用戶端裝置,且將指示該用戶端裝置組合該資料包中業已存在於該用戶端裝置上的該等部分之指令提供給該用戶端裝置。該伺服器然後可在接收到要求之後將該資料包的其餘部分傳送到該裝置。
如第1圖所示,一有效率的封閉平台系統100可包含一或多個用戶端裝置101以及一或多個下載伺服器105。該等用戶端裝置101及下載伺服器105可被配置成經由一封閉平台網路103而相互通訊。在舉例且不喪失普遍性之方式下,網路103可以是一雙向數位通訊網路。網路103可以是一區域網路或廣域網路。可使用諸如被用於有線電視(CATV)雙向網路、整體服務數位網路(ISDN)、或數位用戶線路(xDSL)高速網路之基礎結構(infrastructure)等的一基礎結構而實施該網路103,以便能夠進行用來實施本發明的某些實施例之網路連接。
在舉例且不限制之方式下,用戶端裝置101可以是遊戲機。可在市場上購得的遊戲機之例子包括來自
Microsoft Corporation(位於Redmond,Washington)之Xbox®、來自Nintendo Company,Ltd(位於Kyoto,Japan)之Wii®、以及來自Sony Computer Entertainment(位於Tokyo,Japan)之諸如PlayStation 3等的PlayStation®裝置。Xbox®是Microsoft Corporation(位於Redmond,Washington)之一註冊商標。PlayStation®是Kabushiki Kaisha Sony Computer Entertainment(位於Tokyo,Japan)之一註冊商標。Wii®是Nintendo Company,Ltd(位於Kyoto,Japan)之一註冊商標。在替代實施例中,用戶端裝置101可以是任何其他類型的能夠在封閉平台網路內操作之裝置。在舉例且不限制之方式下,此類能夠在封閉平台網路內操作之裝置可包括智慧型手機(例如,iPhone及Android Phone等的智慧型手機)。
在本說明書的用法中,術語"封閉平台"參照到一種網路,其中與該網路相關聯的某些內容包被屏蔽而不會受到外部的修改。這類內容包可包括應用程式、程式、音訊/視訊媒體、以及與該網路相關聯的其他類型的資料。在經過網路授權之後,才可修改在用戶端裝置101與下載伺服器105之間傳輸的受限制的內容包之某些元素。為了便利,此類元素在本發明中被稱為受限制的內容元素(restricted content element)。用戶或其他第三者非經授權不得修改用戶端裝置101上之受限制的內容元素。因此,對於一封閉平台裝置或封閉平台應用程式而言,可大幅簡化更新的管理。
在本說明書的用法中,術語"資料包"參照到構成將在一下載伺服器105與一用戶端裝置101之間傳輸的一內容包的一些部分之一組資料。在舉例且不限制之方式下,此類資料包可包括應用程式、程式、視訊/音訊媒體、更新修補程式、或將自該下載伺服器傳輸到該用戶端裝置之任何其他組的資料。
用戶端裝置101可自一或多個下載伺服器105接收一些指令、以及資料包的一些部分。一下載伺服器105可使用被連接到該下載伺服器105的一資料庫109而決定被要求的資料包之哪些部分可能位於一用戶端裝置101上。在舉例且不限制之方式下,此種資料庫109可包含與一用戶端裝置的所儲存之受限制的內容有關之資訊、以及與被要求的資料包有關之資訊。在舉例且不限制之方式下,下載伺服器105亦可自一內容伺服器107擷取一資料包之被要求的其餘部分,以供傳輸到用戶端裝置101。在替代實施例中,下載伺服器105可在內部儲存資料包及資料包的一些部分。
如第2圖所示,封閉平台系統100可被配置成根據本發明的一方法200而執行一種有效率地下載受限制的內容的資料包之方法。可藉由執行在用戶端裝置101及/或下載伺服器105上運行的電腦可執行的指令,而執行方法200的各種觀點。具體而言,可諸如將一用戶端裝置101程式化為執行某些用戶端裝置指令201,而配置該用戶端裝置101。此外,一下載伺服器105可被配置成執行某些
下載伺服器指令215。
開始時,如步驟203所示,一用戶端裝置101在可選擇之情形下可將一要求229傳送到下載伺服器105,以便下載一資料包。在舉例且不限制之方式下,該用戶端裝置101之使用者可提出該要求229。例如,一遊戲機的使用者可要求將諸如一遊戲的示範或完整版本等的一受限制的內容包下載到其裝置101。在替代實施例中,可由用戶端裝置101自動地提出該要求229。例如,一用戶端裝置101可按照預定時間週期性地向下載伺服器105提示裝置更新、或內容包之受限制的內容更新。如步驟217所示,下載伺服器105在可選擇之情形下接收要求229。下載伺服器105在接收到該要求229之後,可將該要求229儲存在其本地記憶體(local memory),以供後續的處理。
用戶端裝置101將被儲存的現存內容之一清單231傳送到下載伺服器105。清單231可提供被儲存在用戶端裝置101的所有受限制的內容包之一列表。該列表識別被儲存在該裝置的受限制的內容包,但不包括實際的內容、或構成該等內容包的各元素(例如,程式碼及/或資料檔案)之列表。用戶端裝置101可以作為一下載要求231的一部分之方式傳送該清單,或者可回應來自伺服器105的告知可進行下載之一通知,而傳送該清單。
在本說明書的用法中,術語"內容包"參照到諸如與一常見功能相關聯的一些檔案等的一組電腦可讀取的元素。在本說明書的用法中,術語"內容元素"參照到一電腦可讀
取的元素,例如,參照到係為諸如一應用程式或媒體包(media package)等的一內容包的一成分之一檔案。在舉例且不限制之方式下,內容包可包括與特定應用軟體或遊戲相關聯的所有程式碼及/或資料檔案。
在舉例且不限制之方式下,如果被儲存在該裝置上的該受限制的內容之形式是不同的應用程式,則該列表可以應用程式識別碼(例如,名稱)及對應的版本識別碼(例如,對應的應用程式之版本或建構編號(build number)識別每一應用程式。在舉例且不限制之方式下,具有複數個被儲存的遊戲之一遊戲機可將用來識別被儲存在該裝置上的每一遊戲及對應的版本之一清單傳送到下載伺服器105。請注意,針對每一遊戲,可以有可被儲存為一組檔案之一組對應的元素(例如,程式碼或資料)。可隨著每一不同的版本編號而改變該程式碼及/或資料。然而,如果該裝置係在一封閉平台網路上操作,則可易於自遊戲名稱及版本識別碼識別對應的程式碼及/或資料檔案。此外,可利用對該名稱及版本編號的了解而決定一封閉平台用戶端裝置上的一受限制的內容包內之這些檔案或特定內容元素之位置。在其他的例子中,可將對該名稱及版本編號的了解用來決定對應於構成被儲存在該裝置上的內容包的各元素之識別碼(例如,檔案名稱)之一列表。
並不將清單231限制在所有內容檔案之一列表,而是將清單231限制在內容包識別碼之一列表,因而可節省傳送該列表時的大量頻寬,且可大幅減少準備該列表的複雜
性。
如步驟219所示,下載伺服器105接收該清單231。在接收到清單231之後,下載伺服器105可將該清單儲存在其本地記憶體,以供後續的處理。如步驟221所示,在接收了資料包要求229及用戶端清單231之後,下載伺服器105可自該清單識別該資料包中已被儲存在該用戶端裝置之一些部分。伺服器105尤其可將該資料包中之一組內容元素與自清單231決定之一組現存內容元素比較。在舉例且不限制之方式下,可在一查詢表(lookup table)或資料庫之協助下識別已被儲存的各部分。因為用戶端裝置101及下載伺服器105係在一封閉平台網路中操作,所以被儲存在該封閉平台網路內之任何用戶端裝置上的任何內容必須是一原始版本(original version)或被授權之更新版本(亦即,沒有未經授權的版本)。因此,下載伺服器105只須保存對應於該網路內發佈的每一受限制的內容包的所有內容元素之一資料庫/查詢表。下載伺服器105可將資料包要求229的內容檔案之一列表與該清單231中列出的每一件內容之資料庫/查詢表比較,而決定資料包要求229中之哪些部分已被以某種形式儲存在該用戶端裝置上。
在舉例且不限制之方式下,在電腦遊戲之環境中,許多遊戲共用各種資料(例如,視訊資產、音訊資產、遊戲引擎、及資料庫內容等的資料)的一些部分。此種資料的一些部分之共用尤其適用於一些遊戲在本質上是接續的情
況。因此,識別了一資料包要求229的哪些部分已被儲存在一用戶端裝置時,可有助於更有效率地產生該資料包,且有助於減少經由該網路而被傳輸的總資料量。
在識別了該被要求的資料包中業已存在於該用戶端裝置上的一些部分之後,如步驟223所示,下載伺服器105然後可將包含用來識別已被儲存在該裝置的那些部分的資訊之一回應233傳送到該用戶端裝置。在某些例子中,該回應在可選擇之情形下可指示該用戶端裝置內可供存取每一部分的位置。在某些例子中,該回應中之該資訊可包括該下載包中已被儲存在該用戶端裝置上的內容元素的內容識別碼(例如,檔案名稱)之一列表。如步驟207所示,用戶端裝置101接收用來識別已被儲存在該裝置上的那些部分及可供存取每一部分的位置之該資訊。在接收到回應233之後,用戶端裝置101可將該回應儲存在其記憶體中,以供後續的處理。
可以對檔案或資料部分的額外的可供選擇之掃描及驗證延伸以與第2圖有關之方式說明之實施例,以便保證用戶端裝置101含有伺服器105所預期的相同檔案。例如,除了含有檔案(或資料部分)的列表之回應233之外,如有需要,伺服器105亦可傳送核對和234,且用戶端裝置101可將核對和234用來驗證回應233中之該等檔案(或資料部分)是否對應於該伺服器認為是正確的檔案(或資料部分)。可實施用來清除不匹配回應233中之那些檔案或資料部分的檔案或資料部分或尋找適當的替代物(例如
,可被用來替代回應233中之檔案的第二選擇檔案)之一額外的協商迴圈208、224,以便"協商"該用戶端裝置隨後可在本地複製的下載包。例如,如果用戶端裝置101是一開放平台系統的一部分,則此類功能是有用的。
如步驟209所示,用戶端裝置101然後可使用指令233而自位於該用戶端裝置上之現存內容收集該資料包之被識別的部分。在舉例且不限制之方式下,回應233中之該資訊在可選擇之情形下可包括與用戶端裝置101相關聯的一處理器將執行之碼指令,其中該等碼指令被配置成於收集該資料包中業已存在於該裝置上的該等部分時引導用戶端裝置101。在替代實施例中,用戶端裝置101可被配置成在沒有額外的程式碼之情形下找出且收集該資料包中業已存在於該裝置上的該等部分。在舉例且不限制之方式下,回應233中之該資訊可包括對應於一些受限制的內容檔案的檔案名稱之一列表,其中該等受限制的內容檔案又對應於被傳送到該伺服器的清單中之一內容包及版本編號。在此種情形中,用戶端裝置101可搜尋其本地儲存裝置(例如,硬碟機)中是否有對應於該回應中列出的該等檔案名稱之該等檔案。該等被收集的檔案可包括在步驟208中之一可供選擇的驗證及協商期間識別的一些不匹配的檔案之替代檔案。
在舉例且不限制之方式下,收集該資料包中之被識別的部分之該步驟可包含:複製現有被儲存的內容中對應於該資料包的被識別的部分之一些部分。在替代實施例中,
該用戶端裝置可產生對應於該資料包的該等被識別的部分的現有被儲存的內容之一指標。並不複製被儲存的內容之一些部分,而是該資料包只須主出該被儲存的內容,且於需要時使用將指標用來存取該被儲存的內容。
一旦用戶端裝置101收集了該資料包之被識別的部分之後,如步驟211所示,用戶端裝置101可向伺服器105要求該資料包之其餘部分。在舉例且不限制之方式下,要求235可以只是用來指示用戶端裝置101已完成該資料包的被識別的部分的收集之對伺服器105之一通知。
在替代實施例中,用戶端裝置101可被配置成:執行對被部分地完成的資料包之一掃描,以便決定所需的其餘部分。在該實施例中,用戶端裝置101可獨立地驗證該下載伺服器識別的該資料包之所有部分是否確實已存在於該用戶端裝置中。如步驟225所示,伺服器105接收該要求。
在自用戶端裝置101接收到對該資料包的其餘部分之要求235之後,如步驟227所示,下載伺服器105將該資料包之其餘部分237傳送到用戶端裝置101。在舉例且不限制之方式下,下載伺服器105可自一內容伺服器擷取一資料包之被要求的其餘部分,以供傳輸到用戶端裝置101。在替代實施例中,下載伺服器105可將該資料包的這些其餘部分儲存在其本地儲存裝置內,以供後續的擷取及傳輸。如步驟213所示,用戶端裝置101然後接收該資料包之該其餘部分237。用戶端裝置101然後可將完整的資料包儲存在其本地記憶體或儲存裝置內,以供後續的使用。
在舉例且不限制之方式下,用戶端裝置101可被配置成:在自下載伺服器105接收到該資料包的該其餘部分之後,對該資料包執行一掃描。該額外的掃描提供了已正確地收集了該資料包的所有部分且沒有任何遺漏的部分之額外的保證。
舉例而言,可以第3圖所示之方式配置用戶端裝置101,而第3圖示出根據本發明的一實施例的一用戶端裝置300的各組件之一方塊圖。在舉例且不喪失普遍性之方式下,可將用戶端裝置300實施為諸如遊戲機、智慧型手機、或適於實施本發明的一實施例之其他數位裝置等的一電腦系統。用戶端裝置300可包含被配置成執行應用軟體以及在可選擇之情形下的一作業系統之一處理器模組301。處理器模組301可包含一或多個處理器核心。
用戶端裝置300亦可包含被配置成儲存將被處理器301使用的應用程式及資料之一記憶體305。記憶體305的形式可以是隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、及唯讀記憶體(ROM)等的一積體電路。記憶體305也可以是可被所有的處理器模組存取之一主記憶體。在某些實施例中,處理器模組301可具有與每一核心相關聯的本地記憶體。可以可被該等處理器模組執行的處理器可讀取的指令之形式將一程式303儲存在主記憶體305中。程式303可被配置成執行一有效率地下載資料包之方法。舉例而言,程式303可包含用來執行下列步驟之指令:將下載一資料包的一要求傳送到一下載伺服器;
將用來識別被儲存在用戶端裝置中之現存受限制的內容包的一清單傳送到該下載伺服器;自該下載伺服器接收用來識別該資料包中業已被儲存在該用戶端裝置上的一些部分之資訊、及(在可選擇之情形下)該等部分在該用戶端裝置內之各別的位置;自被儲存在該用戶端裝置上的現存內容收集該資料包之被識別的部分;向該下載伺服器要求該資料包之其餘部分;以及自該下載伺服器接收該其餘部分。可以諸如C、C++、JAVA、組合語言、MATLAB、FORTRAN、及一些其他語言等的任何適當的處理器可讀取之語言撰寫程式303。
亦可將用戶端裝置300自該下載伺服器接收的下載包資訊307儲存在記憶體305。該資訊307可識別該資料包中可在位於該用戶端裝置上的現存內容內找到的一些部分,且亦可識別其各別的位置。資訊307在可選擇之情形下可包括被配置成於收集該資料包中業已存在於該裝置上的一些部分時引導用戶端裝置101之可執行的碼指令。亦可將用戶端裝置300接收的下載包資料308儲存在記憶體305。該被接收的資料308可包括先前並未存在於該用戶端裝置而自該下載伺服器接收的一資料包之一些其餘部分。在程式303之執行期間,可將程式碼的一些部分、下載資訊307、及/或資料308載入各處理器核心之記憶體或本地儲存裝置,以供多個處理器核心之平行處理。
用戶端裝置300亦可包含一些輸入/輸出(Input/Output;簡稱I/O)元件311、一些電源(Power Supply;
簡稱P/S)313、一時鐘(CLK)315、以及一快取記憶體317等的習知支援功能309。裝置300在可選擇之情形下可包含諸如固定磁碟機、抽取式磁碟機、快閃記憶體裝置、磁帶機、唯讀光碟(CD-ROM)、唯讀數位多功能光碟(DVD-ROM)、藍光光碟機、高解析度數位多功能光碟(HD-DVD)、通用媒體光碟(UMD)、或其他光學儲存裝置等的一大量儲存裝置319。儲存裝置319可被用於內容320(例如,應用程式、程式、音訊/視訊等的內容)之暫時或長期儲存。請注意,內容320可包括受限制的內容包322及使用者內容324。如前文所述,受限制的內容包322被保護,而不被裝置300的使用者或第三者修改。受限制的內容包322可包括與諸如應用程式、遊戲、媒體內容、及與裝置300或使用封閉平台網路的其他被類似地配置的封閉平台裝置相關聯的其他形式之受限制的內容相關聯的受限制的程式碼及受限制的資料。可以一種用於封閉平台裝置的一致方式決定構成受限制的內容包322之受限制的內容元素的位置。此即意指:可自儲存裝置319上存在了內容包之事實而預先決定或可以決定構成該儲存裝置內之一內容項目之每一檔案之諸如磁碟區(volume)、磁區(sector)、或位址等的身分及/或位置。
內容320亦可包括沒有修改保護之使用者內容324。換言之,使用者或第三者可產生此種使用者內容,且/或修改該使用者內容。使用者內容324之例子包括(但不限於)使用者設定檔(user profiles)、遊戲儲存(game
saves)、諸如聊天訊息或電子郵件等的使用者產生之訊息、使用者偏好、及裝置設定等的使用者內容。
裝置300在可選擇之情形下可包含用來包住與裝置300間之互動之一顯示單元321及使用者介面單元331。顯示單元321可以是能夠回應來自用戶端裝置300的一信號而顯示視覺資訊之任何裝置,其中包括陰極射線管(CRT)、液晶顯示器(LCD)、電漿、及有機發光二極體(OLED)顯示器。用戶端裝置300可將類比或數位信號提供給顯示單元321。舉例而言,顯示單元321可包括用來顯示文字、數字、圖形符號、或影像之一陰極射線管(Cathode Ray Tube;簡稱CRT)或平板螢幕。此外,顯示器321可包括用來產生可聽的或可以其他方式偵測的聲音之一或多個喇叭。為了有助於產生此種聲音,用戶端裝置300可進一步包含適應於自處理器301提供的指令及/或資料產生類比或數位音訊輸出之一音訊處理器323、記憶體305、及/或儲存裝置319。使用者介面331可包括一鍵盤、滑鼠、搖桿、光筆、或可配合一圖形使用者介面(Graphica User Interface;簡稱GUI)而使用之其他裝置。
裝置300亦可包含用來促進經由一電子通訊網路329而通訊之一網路介面325。網路介面325可被配置成經由區域網路及諸如網際網路等的廣域網路而執行有線或無線通訊。用戶端裝置300可通過網路329而經由一或多個訊息封包327傳送及接收資料及/或對資料包之要求。
用戶端裝置300的其中包括處理器301、記憶體305
、支援功能309、資料儲存裝置319、使用者介面331、顯示器321、音訊處理器323、及網路介面325之該等組件可經由一或多個資料匯流排333而可在操作上相互連接。可以硬體、軟體、韌體、或上述這些組件中之兩個或更多個組件的某一組合實施這些組件。
在舉例且不喪失普遍性之方式下,可以第4圖所示之方式配置系統100中之伺服器105。根據本發明的一實施例,可將下載伺服器400實施為一電腦系統或其他數位裝置。該下載伺服器可包含被配置成執行應用軟體以及在可選擇之情形下的一作業系統之一處理器401。處理器401可包含一或多個處理器核心。在舉例且不限制之方式下,處理器401可以是諸如一單元處理器(Cell Processor)等的一平行處理器模組。
下載伺服器400亦可包含被配置成儲存將被處理器401使用的應用程式及資料之一記憶體405。可以可被處理器401執行的指令之形式將一電腦程式403儲存在記憶體405中。程式403之指令可被配置成執行尤其諸如前文中以與第2圖中之下載伺服器操作215有關之方式述及的一有效率地下載資料包之方法。具體而言,可諸如經由對程式403之適當程式化而將下載伺服器400配置成執行下列步驟:自一用戶端裝置接收下載資料包之一要求;接收被儲存在該用戶端裝置中之現存內容包之清單;識別該資料包中被儲存為該用戶端裝置上的現存內容元素之一些部分;將用來識別對應於資料包的一些部分的現存內容元素
之指令傳送到該用戶端裝置;接收對該資料包的其餘部分之一要求;以及將該資料包之該其餘部分傳送到該用戶端裝置。
亦可將被儲存在該用戶端裝置上的現存內容之一清單407儲存在記憶體405中。該清單407可包括被儲存在該用戶端裝置上的所有內容包之一列表。該列表可(諸如以名稱或其他識別碼)識別內容包,但是無須包含構成該內容包或實際內容本身的該等內容元素之一列表。在舉例且不限制之方式下,具有複數個被儲存的遊戲之一遊戲機(亦即,用戶端裝置)可將列出被儲存在該裝置上的每一遊戲及特定版本之一清單傳送到該下載伺服器。如果該用戶端裝置是一封閉平台裝置,則可自內容包識別碼及版本編號決定構成每一內容包之內容元素。亦可將用戶端裝置提出的每一資料包要求408儲存在記憶體405。該資料包要求408可包括該資料包中並未被包含在已被儲存在該用戶端裝置上的內容元素的各其餘部分之一列表。
下載伺服器400亦可包含諸如輸入/輸出元件(I/O)元件411、電源(P/S)413、時鐘(CLK)415、及快取記憶體417等的習知的支援功能409。下載伺服器400可進一步包含可提供應用程式及資料之非揮發性儲存之一儲存裝置419。儲存裝置419可被用於被配置成將在該封閉平台網路內流傳的所有被授權內容(例如,原始內容及被授權的更新內容等的被授權內容)的一目錄提供給下載伺服器的一資料庫420之長期儲存。可將該用戶端裝置之清
單407及資料包要求408核對資料庫420,以便決定該被要求的資料包中之哪些部分已被儲存在該用戶端裝置上、以及該被要求的資料包中之哪些部分要被傳輸。
下載伺服器400在可選擇之情形下可包含一使用者介面431,用以將來自一或多個使用者的輸入傳送到下載伺服器400。舉例而言,使用者介面431可經由I/O元件411而被耦合到下載伺服器400。使用者介面431之例子可包括一鍵盤、滑鼠、搖桿、光筆、或可配合一圖形使用者介面(GUI)而使用之其他裝置。
下載伺服器400亦可包含用來促進經由一電子通訊網路429而通訊之一網路介面425。網路介面425可被配置成經由區域網路及諸如網際網路等的廣域網路而執行有線或無線通訊。下載伺服器400可通過網路429而經由一或多個訊息封包427傳送及接收資料及/或對檔案之要求。
下載伺服器400的其中包括處理器401、記憶體405、支援功能409、資料儲存裝置419、使用者介面431、及網路介面425之該等組件可經由一或多個資料匯流排433而可在操作上相互連接。可以硬體、軟體、韌體、或上述這些組件中之兩個或更多個組件的某一組合實施這些組件。
本發明之實施例利用一封閉平台網路及被儲存在用戶端裝置上的現存內容內之資料冗餘,而促進有效率地下載資料包。可藉由自現存被儲存之受限制的內容元素收集一被要求的資料包之一些部分,而大幅減少在一下載伺服器
與該用戶端裝置之間傳輸的資料包之實際大小。因而又導致較短的傳輸時間及更有效率的頻寬使用,且不會對該用戶端裝置或下載伺服器造成任何顯著的額外負擔。
請注意,雖然參照涉及視訊遊戲平台之實施方式而說明了某些例子,但本發明之實施例不限於此類實施方式。此外,亦可將本發明之實施例應用於諸如智慧型手機等的其他封閉平台系統。
雖然前中以主要與封閉平台系統有關之方式說明了一些實施例,但是請注意,亦可將本發明之實施例延伸到開放平台系統。例如,如前文所述,如果該用戶端裝置是一開放平台系統的一部分,則可以對檔案及資料部分執行額外的可供選擇之掃描及驗證而確保該用戶端裝置含有該下載伺服器預期的該等資料部分或適當的替代物之方式,延伸以與第2圖有關之方式說明的該實施例。有一些可被修改而包含本發明的特徵之不同的開放平台系統。例如,雖然Windows程式可使用任何數目的安裝程式(installer),但是該等安裝程式中有一子集的安裝程式眾所周知其可被修改而包含本發明之特徵。在Linux系統中,可將追蹤被封裝及安裝的檔案之RPM或apt-get封裝管理員(package manager)調整成也利用此類特徵。此外,Macintosh系統使用一種在許多情形中可被修改而包含將本發明述及的特徵用來有效率地下載資料包之系統安裝程式。雖然前文中完整地說明了本發明之較佳實施例,但是也可以使用各種替代、修改、及等效物。因此,不應參照
前文中之說明而決定本發明之範圍,而是應替代地參照最後的申請專利範圍及其等效物之完整範圍而決定本發明之範圍。可將本發明述及的任何較佳特徵或非較佳特徵與本發明述及的任何其他較佳特徵或非較佳特徵合併。在最後的申請專利範圍中,除非另有明確地陳述,否則不定冠詞"一"("A"或"An")參照到在該冠詞之後的一定數量之一或多個項目。不應將最後的申請專利範圍詮釋為包括手段功能用語(means-plus-function)限制,除非在特定申請專利範圍中使用片語"用於...之裝置"("means for")明確地敘述此種限制。
100‧‧‧封閉平台系統
101,300‧‧‧用戶端裝置
105,400‧‧‧下載伺服器
103‧‧‧封閉平台網路
109,420‧‧‧資料庫
107‧‧‧內容伺服器
301,401‧‧‧處理器
305,405‧‧‧記憶體
303,404‧‧‧程式
307‧‧‧下載包資訊
308‧‧‧下載包資料
311,411‧‧‧輸入/輸出元件
313,413‧‧‧電源
315,415‧‧‧時鐘
317,417‧‧‧快取記憶體
309,409‧‧‧支援功能
319,419‧‧‧儲存裝置
320‧‧‧內容
322‧‧‧受限制的內容包
324‧‧‧使用者內容
321‧‧‧顯示單元
331,431‧‧‧使用者介面
323‧‧‧音訊處理器
325,425‧‧‧網路介面
329,429‧‧‧網路
327,427‧‧‧訊息封包
333,433‧‧‧資料匯流排
407‧‧‧清單
408‧‧‧資料包要求
第1圖是根據本發明的一實施例的一封閉平台系統之一示意圖。
第2圖是根據本發明的一實施例的下載資料包的一有效率方法之一流程圖。
第3圖是根據本發明的一實施例的一用戶端裝置之一方塊圖。
第4圖是根據本發明的一實施例的一下載伺服器之一方塊圖。
101‧‧‧用戶端裝置
105‧‧‧下載伺服器
Claims (27)
- 一種被配置成在網路上操作的用戶端裝置中之有效率地下載資料包之方法,包含下列步驟:(a)將用來識別被儲存在該用戶端裝置中之現存內容包的一清單傳送到在該網路上操作之一伺服器;(b)自該伺服器接收包含用來識別該資料包中對應於被儲存在該用戶端裝置中之一或多個現存內容元素之一或多個部分的資訊之一回應;(c)自被儲存在該用戶端裝置中之現存內容元素收集該資料包內之內容的該一或多個被識別的部分;以及(d)向該伺服器要求該資料包之剩餘部分;以及(e)自該伺服器接收該資料包之該剩餘部分。
- 如申請專利範圍第1項之方法,進一步包含下列步驟:在該(a)步驟之前,先將來自該用戶端裝置的下載該資料包之一要求傳送到該伺服器。
- 如申請專利範圍第2項之方法,其中係回應來自該用戶端裝置的一使用者之一輸入而提出該要求。
- 如申請專利範圍第2項之方法,其中由該用戶端裝置在一預定時間自動地提出該要求。
- 如申請專利範圍第1項之方法,其中現存內容的該清單包括用來識別被儲存在該用戶端裝置中之每一內容項目及每一內容項目之一對應的版本編號之一列表。
- 如申請專利範圍第1項之方法,其中來自該伺服器之該回應包括用來指示被儲存在該用戶端裝置上之該一或 多個現存內容元素中之每一現存內容元素的該用戶端裝置內之位置之資訊。
- 如申請專利範圍第1項之方法,其中來自該伺服器之該回應包括對應於被儲存在該用戶端裝置上之一或多個現存內容元素的識別碼之一列表。
- 如申請專利範圍第1項之方法,其中該回應包括被配置成於收集該回應中識別的該一或多個部分時引導該用戶端裝置之程式碼及/或資料。
- 如申請專利範圍第1項之方法,其中步驟(c)包含下列步驟:複製被儲存在該用戶端裝置中之該一或多個現存內容元素。
- 如申請專利範圍第1項之方法,其中步驟(c)包含下列步驟:產生該資料包的每一被識別的部分之一指標,該指標指示被儲存在該用戶端裝置的一對應的現存內容元素之位置。
- 如申請專利範圍第1項之方法,其中步驟(d)包含下列步驟:執行對該資料包的該等所收集的被識別的部分之一掃描,以便決定該資料包之該剩餘部分。
- 如申請專利範圍第1項之方法,進一步包含下列步驟:(f)檢查該資料包中是否有任何遺漏的部分。
- 如申請專利範圍第1項之方法,其中該用戶端裝置是一封閉平台裝置,且該清單識別被儲存在該用戶端裝置中之現存受限制的內容包。
- 如申請專利範圍第1項之方法,其中該用戶端裝 置是一開放平台裝置,該方法進一步包含下列步驟:驗證該等被識別的部分對應於被儲存在該用戶端裝置中之現存內容元素。
- 如申請專利範圍第14項之方法,其中步驟(d)包含下列步驟:要求不對應於被儲存在該裝置中之內容元素的一或多個不匹配之被識別的部分。
- 如申請專利範圍第14項之方法,其中步驟(c)包含下列步驟:識別不對應於被儲存在該裝置中之內容元素的一或多個不匹配之被識別的部分之一或多個替代;以及自被儲存在該用戶端裝置中之各部分中收集該等替代。
- 一種被配置成在封閉平台網路中操作之用戶端裝置,包含:一處理器;被耦合到該處理器之一記憶體;該記憶體中包含的將被該處理器執行之一或多個指令,該等指令被配置成執行有效率地下載資料包之一方法,該方法包含下列步驟:(a)將用來識別被儲存在該用戶端裝置中之現存內容的一清單傳送到在該封閉平台網路上操作之一伺服器;(b)自該伺服器接收用來識別該資料包中對應於被儲存在該用戶端裝置上之一或多個現存內容元素之一或多個部分之資訊;(c)自被儲存在該用戶端裝置上之現存內容元素收集該資料包之該一或多個被識別的部分;以及 (d)向該伺服器要求該資料包之剩餘部分;以及(e)自該伺服器接收該資料包之該剩餘部分。
- 一種被配置成在網路上操作的伺服器中之有效率地下載資料包至用戶端裝置之方法,包含下列步驟:(a)接收用來識別被儲存在該用戶端裝置中之現存內容包的一清單;(b)自該清單識別該資料包中對應於被儲存在該用戶端裝置上之一或多個現存內容元素之一或多個部分;(c)將用來識別該資料包中被儲存為該用戶端裝置上之現存內容元素的該一或多個部分中之每一部分之資訊傳送到該用戶端裝置;(d)自該用戶端裝置接收對該資料包的剩餘部分之一要求;(e)將該資料包之該剩餘部分傳送到該用戶端裝置。
- 如申請專利範圍第18項之方法,其中該清單包括用來識別被儲存在該用戶端裝置上之每一內容包及被儲存在該用戶端裝置中之每一內容包之一對應的版本編號之一列表。
- 如申請專利範圍第18項之方法,其中步驟(b)包含下列步驟:將該資料包中之一組內容元素與自該清單決定之一組現存內容元素比較。
- 如申請專利範圍第19項之方法,其中步驟(b)包含下列步驟:自該列表上的一或多個內容包之內容包識別碼及版本編號識別該資料包中被儲存為該用戶端裝置上 之現存內容元素之該一或多個部分。
- 如申請專利範圍第20項之方法,其中該步驟(c)中被傳送到該用戶端裝置之該資訊包括用來指示被儲存為該用戶端裝置上之現存內容元素的該資料包的該一或多個部分中之每一部分的該用戶端裝置內之一位置之資訊。
- 如申請專利範圍第18項之方法,其中被傳送到該用戶端裝置之該資訊包括對應於被儲存在該用戶端裝置上之一或多個現存內容元素的識別碼之一列表。
- 如申請專利範圍第18項之方法,其中該用戶端裝置是一封閉平台裝置,且該清單識別被儲存在該用戶端裝置中之現存受限制的內容包。
- 如申請專利範圍第18項之方法,其中該用戶端裝置是一開放平台裝置,該方法進一步包含下列步驟:將該用戶端可用來驗證該等被識別的部分匹配被儲存在該用戶端裝置中之對應的現存內容元素之驗證資訊傳送到該用戶端。
- 如申請專利範圍第25項之方法,其中步驟(c)包含下列步驟:識別不對應於被儲存在該裝置中之內容元素的一或多個不匹配之被識別的部分之一或多個替代;以及將該等替代通知該用戶端裝置。
- 一種被配置成在網路上操作之伺服器,包含:一處理器;一記憶體;以及 該記憶體中包含的將被該處理器執行之一或多個指令,該等指令被配置成執行有效率地下載資料包之一方法,該方法包含下列步驟:(a)接收用來識別被儲存在用戶端裝置上之現存內容包的一清單;(b)自該清單識別該資料包中對應於被儲存在該用戶端裝置上之一或多個現存內容元素之一或多個部分;(c)將用來識別該一或多個現存內容元素之資訊傳送到該用戶端裝置;(d)自該用戶端裝置接收對該資料包的剩餘部分之一要求;(e)將該資料包之該剩餘部分傳送到該用戶端裝置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/190,360 US8880651B2 (en) | 2011-07-25 | 2011-07-25 | Method and system for efficient download of data package |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201319945A TW201319945A (zh) | 2013-05-16 |
TWI492156B true TWI492156B (zh) | 2015-07-11 |
Family
ID=46754865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101126041A TWI492156B (zh) | 2011-07-25 | 2012-07-19 | 用以有效下載資料包的方法與系統 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8880651B2 (zh) |
EP (1) | EP2551766A1 (zh) |
KR (1) | KR101422563B1 (zh) |
CN (2) | CN105516079B (zh) |
BR (1) | BR102012018420B1 (zh) |
RU (1) | RU2538911C2 (zh) |
TW (1) | TWI492156B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150006667A1 (en) * | 2013-06-28 | 2015-01-01 | Jeffrey R. Foerster | Dynamic data compression system |
US9998388B2 (en) | 2014-02-06 | 2018-06-12 | Sony Interactive Entertainment LLC | Congestion control bitrate algorithm |
CN105528722A (zh) * | 2014-09-29 | 2016-04-27 | 阿里巴巴集团控股有限公司 | 数据包发送/接收方法、装置、传输***及移动设备 |
CN113949567B (zh) * | 2016-04-15 | 2023-10-13 | 瑞典爱立信有限公司 | 用户设备容器和网络切片 |
RU2712130C1 (ru) * | 2016-04-27 | 2020-01-24 | Хуавей Текнолоджиз Ко., Лтд. | Способ и устройство обработки файла на основе обновления с патчем, конечное устройство и носитель информации |
US10447430B2 (en) | 2016-08-01 | 2019-10-15 | Sony Interactive Entertainment LLC | Forward error correction for streaming data |
KR102166336B1 (ko) * | 2017-05-15 | 2020-10-15 | 삼성전자주식회사 | 소프트웨어 플랫폼을 제공하는 서버 및 그 동작방법 |
US11224803B2 (en) * | 2019-11-22 | 2022-01-18 | Roblox Corporation | Prominent display of targeted game in search results |
CN111147595A (zh) * | 2019-12-30 | 2020-05-12 | 昆山丘钛微电子科技有限公司 | 一种文档下载方法、***、服务器和客户端 |
CN111782229B (zh) * | 2020-06-30 | 2024-04-23 | 百度在线网络技术(北京)有限公司 | 一种小程序启动方法、装置及电子设备 |
CN111866604B (zh) * | 2020-07-24 | 2022-10-21 | 四川科泰智能电子有限公司 | 一种音视频传输方法及*** |
CN112131263B (zh) * | 2020-09-14 | 2024-02-27 | 微医云(杭州)控股有限公司 | 软件包获取方法、***、装置、电子设备和存储介质 |
KR20230103779A (ko) * | 2021-12-31 | 2023-07-07 | 엘지전자 주식회사 | 가전기기, 가전기기의 업그레이드 방법, 관리서버, 관리서버의 가전기기 업그레이드 방법, 가전기기 업그레이드 시스템 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167567A (en) * | 1998-05-05 | 2000-12-26 | 3Com Corporation | Technique for automatically updating software stored on a client computer in a networked client-server environment |
US6493871B1 (en) * | 1999-09-16 | 2002-12-10 | Microsoft Corporation | Method and system for downloading updates for software installation |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781785A (en) * | 1995-09-26 | 1998-07-14 | Adobe Systems Inc | Method and apparatus for providing an optimized document file of multiple pages |
US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US6434569B1 (en) | 1996-06-06 | 2002-08-13 | Kabushiki Kaisha Toshiba | Integrated medical information system formed of text-based and image-based databases, and display thereof |
US6199107B1 (en) * | 1998-07-22 | 2001-03-06 | Microsoft Corporation | Partial file caching and read range resume system and method |
US6711557B1 (en) * | 2000-08-14 | 2004-03-23 | Adobe Systems Incorporated | Client-based background update monitoring |
JP2002091452A (ja) | 2000-09-11 | 2002-03-27 | Nec Corp | データ配信システム及びその配信方法 |
US6671772B1 (en) | 2000-09-20 | 2003-12-30 | Robert E. Cousins | Hierarchical file system structure for enhancing disk transfer efficiency |
US6941135B2 (en) * | 2001-08-13 | 2005-09-06 | Qualcomm Inc. | System and method for temporary application component deletion and reload on a wireless device |
US6978355B2 (en) | 2001-11-13 | 2005-12-20 | Seagate Technology Llc | Cache memory transfer during a requested data retrieval operation |
US7003644B2 (en) | 2002-03-28 | 2006-02-21 | Seagate Technology Llc | Execution time dependent command schedule optimization |
US6965965B2 (en) | 2002-06-06 | 2005-11-15 | International Business Machines Corporation | Dynamic response shaping for command aging |
US7574706B2 (en) * | 2003-12-15 | 2009-08-11 | Microsoft Corporation | System and method for managing and communicating software updates |
US7590522B2 (en) | 2004-06-14 | 2009-09-15 | Hewlett-Packard Development Company, L.P. | Virtual mass storage device for server management information |
US7260703B1 (en) | 2004-08-20 | 2007-08-21 | Sun Microsystems, Inc. | Method and apparatus for I/O scheduling |
JP4456490B2 (ja) | 2005-01-14 | 2010-04-28 | 富士通株式会社 | Dma装置 |
KR100680296B1 (ko) * | 2005-04-15 | 2007-02-07 | 주식회사 케이티프리텔 | 무선 네트워크를 통한 대용량 컨텐츠 이어받기 서비스 제공방법 및 이를 구현하기 위한 프로그램이 기록된 기록매체 |
KR20080037450A (ko) | 2006-10-26 | 2008-04-30 | 웹싱크 주식회사 | 소프트웨어 실행모듈의 업데이트 시스템 및 방법 |
US7991948B2 (en) | 2008-01-30 | 2011-08-02 | International Business Machines Corporation | Optimizing execution of I/O requests for a disk drive in a computing system |
KR101140636B1 (ko) | 2009-02-02 | 2012-05-03 | 에스케이플래닛 주식회사 | 데이터 세그먼트 정보를 이용한 컨텐츠 전송시스템 및 방법, 그 프록시서버 |
US8239852B2 (en) * | 2009-06-24 | 2012-08-07 | Uniloc Luxembourg S.A. | Remote update of computers based on physical device recognition |
CN101699399B (zh) * | 2009-11-03 | 2014-04-30 | 中兴通讯股份有限公司 | 一种软件更新的***和方法 |
-
2011
- 2011-07-25 US US13/190,360 patent/US8880651B2/en active Active
-
2012
- 2012-07-19 TW TW101126041A patent/TWI492156B/zh active
- 2012-07-24 BR BR102012018420-6A patent/BR102012018420B1/pt active IP Right Grant
- 2012-07-24 RU RU2012131669/08A patent/RU2538911C2/ru active
- 2012-07-25 CN CN201510824575.XA patent/CN105516079B/zh active Active
- 2012-07-25 CN CN201210346540.6A patent/CN102904878B/zh active Active
- 2012-07-25 KR KR1020120080983A patent/KR101422563B1/ko active IP Right Grant
- 2012-07-25 EP EP12177798A patent/EP2551766A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167567A (en) * | 1998-05-05 | 2000-12-26 | 3Com Corporation | Technique for automatically updating software stored on a client computer in a networked client-server environment |
US6493871B1 (en) * | 1999-09-16 | 2002-12-10 | Microsoft Corporation | Method and system for downloading updates for software installation |
Also Published As
Publication number | Publication date |
---|---|
KR101422563B1 (ko) | 2014-07-24 |
BR102012018420B1 (pt) | 2022-01-18 |
US8880651B2 (en) | 2014-11-04 |
EP2551766A1 (en) | 2013-01-30 |
US20130031214A1 (en) | 2013-01-31 |
CN105516079A (zh) | 2016-04-20 |
TW201319945A (zh) | 2013-05-16 |
CN102904878B (zh) | 2015-12-16 |
CN105516079B (zh) | 2019-07-30 |
BR102012018420A2 (pt) | 2013-07-30 |
KR20130012929A (ko) | 2013-02-05 |
CN102904878A (zh) | 2013-01-30 |
RU2538911C2 (ru) | 2015-01-10 |
RU2012131669A (ru) | 2014-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI492156B (zh) | 用以有效下載資料包的方法與系統 | |
US11818224B2 (en) | On demand resources | |
US8756694B2 (en) | Prevention of exploitation of update rollback | |
US9880824B2 (en) | On demand resources | |
EP2783295B1 (en) | System and method for optimizing transfers of downloadable content | |
KR102600025B1 (ko) | 프리캐싱을 위해 클라이언트 머신들 간에 셰이더들을 분배하는 것 | |
US20130165222A1 (en) | Media management system for management of games acquired from a media server | |
TWI506555B (zh) | 傳播更新的驅動程式給行動計算裝置的方法及其傳播系統 | |
US20160285781A1 (en) | Data processing method, apparatus, client, server and system | |
WO2017080366A1 (zh) | 一种识别伪装下载链接的方法和装置 | |
US20120252582A1 (en) | Metagame Translation | |
US10025573B2 (en) | Extensible distribution/update architecture | |
WO2017000929A1 (zh) | 基于客户端的媒体信息投放方法及装置 | |
US20040143586A1 (en) | Method of controlling user application program | |
CN105162805A (zh) | 用户账户登录方法及装置 | |
CN107667343B (zh) | 用于加载按需加载资源的***和方法 | |
CN102904935A (zh) | 基于家庭网关的下载方法、设备和*** | |
KR20110103328A (ko) | 구매 정보에 기초한 어플리케이션/콘텐트 송수신 방법 및 장치 | |
KR20100129439A (ko) | Pc 일체형 tv의 소프트웨어 업데이트 방법 | |
CN110413343A (zh) | 一种即时的插件集成的方法、装置和计算机设备 | |
CN114845168B (zh) | 一种多媒体资源播放方法、装置、电子设备及介质 | |
CN117615215A (zh) | 一种插件应用运行方法以及装置 | |
US20120131085A1 (en) | System and method for providing access to a work |