TW202423123A - 使應用程式快取加速之方法及系統 - Google Patents
使應用程式快取加速之方法及系統 Download PDFInfo
- Publication number
- TW202423123A TW202423123A TW112144509A TW112144509A TW202423123A TW 202423123 A TW202423123 A TW 202423123A TW 112144509 A TW112144509 A TW 112144509A TW 112144509 A TW112144509 A TW 112144509A TW 202423123 A TW202423123 A TW 202423123A
- Authority
- TW
- Taiwan
- Prior art keywords
- content data
- content
- computing device
- server device
- cache
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 102
- 230000001133 acceleration Effects 0.000 title 1
- 230000004044 response Effects 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims description 66
- 230000005540 biological transmission Effects 0.000 claims description 37
- 230000009471 action Effects 0.000 claims description 16
- 230000006835 compression Effects 0.000 claims description 16
- 238000007906 compression Methods 0.000 claims description 16
- 230000005641 tunneling Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 32
- 238000013459 approach Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 11
- 238000012546 transfer Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000005538 encapsulation Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000006837 decompression Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4332—Content storage operation, e.g. storage operation in response to a pause request, caching operations by placing content in organized collections, e.g. local EPG data repository
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一內容傳送網路(CDN)中至一請求裝置之內容資料傳送可由一伺服器裝置使用與該伺服器裝置相關聯之一計算裝置的一內容快取記憶體來處置。該伺服器裝置接收傳送該內容資料之一請求,判定該內容資料之位置在該內容快取記憶體中,且回應於此判定而將指令發送至該計算裝置以將該內容資料提供至該請求裝置。在接收到傳送該內容資料之該請求之前或回應於接收到傳送該內容資料之該請求,該伺服器裝置可獲取該內容資料且將該內容資料提供至該計算裝置以儲存在該內容快取記憶體中。
Description
本揭示內容大體上係關於使應用程式快取使用加速,且更特別地使用裝置之內容快取記憶體來使應用程式快取使用加速。
在典型的內容傳送網路(CDN)中,邊緣叢集伺服器經組態以接收來自下游裝置的對內容之請求,自一或多個上游來源裝置或網路擷取該內容,且經由一或多個下游網路將擷取之內容傳送至請求該內容之每一裝置。
在此等CDN中,內容之擷取及至請求裝置之傳送係一對一地執行。因此,對於多個裝置同時請求及消費之熱門內容,需要將大量資料自來源經由網路傳輸至邊緣叢集伺服器,然後進一步經由網路傳輸至每一請求裝置。
本發明提供一種使應用程式快取加速之方法,該方法包含:伺服器裝置自請求裝置接收傳送內容資料之請求;回應於接收到傳送該內容資料之該請求:判定該內容資料之位置;及回應於判定該內容資料儲存在與該伺服器裝置相關聯之計算裝置的內容快取記憶體中:將指令發送至該計算裝置以將該內容資料提供至該請求裝置,該內容資料在被提供至該請求裝置之前儲存在該計算裝置之該內容快取記憶體中,其中該方法由該伺服器裝置之至少一個處理器執行。
所述的使應用程式快取加速之方法,其中接收傳送該內容資料之該請求包含該伺服器裝置之網路介面卡接收傳送該內容資料之該請求,該請求指示該請求裝置;其中判定該內容資料之該位置包含:該網路介面卡將第一訊息發送至識別該內容資料的該伺服器裝置之處理器;及回應於發送該第一訊息,該網路介面卡接收來自該處理器之第二訊息,該第二訊息指示該內容資料被儲存至該網路介面卡之內容快取記憶體;且其中回應於接收到該等指令而將該內容資料提供至該請求裝置,該網路介面卡將該內容資料自該網路介面卡之該內容快取記憶體傳送至該請求裝置。
所述的使應用程式快取加速之方法,該方法進一步包含:回應於將該等指令發送至該計算裝置以提供該內容資料:自該計算裝置之該內容快取記憶體擷取該內容資料;且將該內容資料傳送至該請求裝置。
所述的使應用程式快取加速之方法,該方法進一步包含:在將該內容資料提供至該請求裝置之前,將該內容資料儲存在該計算裝置之該內容快取記憶體中。
所述的使應用程式快取加速之方法,該方法進一步包含:在將該內容資料儲存在該計算裝置之該內容快取記憶體中之前,藉由執行動作來處理該內容資料,該動作選自包含壓縮操作、轉碼、隧道處理、網路傳輸協定處理及加密操作之群組。
所述的使應用程式快取加速之方法,該方法進一步包含:在將該內容資料提供至該請求裝置之前,藉由執行動作來處理該內容資料,該動作選自包含壓縮操作、轉碼、隧道處理、網路傳輸協定處理及加密操作之群組。
所述的使應用程式快取加速之方法,其中該內容快取記憶體為該計算裝置之組件且實體上與該計算裝置起定位,且其中該內容快取記憶體由該伺服器裝置管理。
所述的使應用程式快取加速之方法,其中該計算裝置之該內容快取記憶體實體上遠離該伺服器裝置而定位,且其中該計算裝置之該內容快取記憶體由該伺服器裝置管理。
所述的使應用程式快取加速之方法,其中該計算裝置為經組態以執行命令束之命令感知硬體處理器。
所述的使應用程式快取加速之方法,其中該計算裝置為與該伺服器裝置電子通信之網路介面卡。
所述的使應用程式快取加速之方法,其中該計算裝置之該內容快取記憶體經組態以根據任何應用協定操作。
本發明更提供一種使應用程式快取加速之方法,該方法包含:伺服器裝置自請求裝置接收傳送內容資料之請求;回應於接收到傳送該內容資料之該請求:判定是否將該內容資料儲存在與該伺服器裝置相關聯之計算裝置的內容快取記憶體中;及回應於判定將該內容資料儲存在該計算裝置之該內容快取記憶體中:將該內容資料提供至該計算裝置以儲存在該計算裝置之該內容快取記憶體中,其中該方法由該伺服器裝置之至少一個處理器執行。
所述的使應用程式快取加速之方法,其中該計算裝置自該伺服器裝置所提供之儲存位置獲得該內容資料以儲存在該計算裝置之該內容快取記憶體中。
所述的使應用程式快取加速之方法,其中該計算裝置為與該伺服器裝置電子通信之網路介面卡,且其中該伺服器裝置將該內容資料發送至該網路介面卡以儲存在該網路介面卡之內容快取記憶體中。
所述的使應用程式快取加速之方法,該方法進一步包含:藉由執行動作來處理該內容資料,該動作選自包含壓縮操作、轉碼、隧道處理、網路傳輸協定處理及加密操作之群組;及在該內容資料之該處理期間,將該計算裝置之該內容快取記憶體用作緩衝器。
所述的使應用程式快取加速之方法,其中判定是否將該內容資料儲存在該計算裝置之該內容快取記憶體中包含判定儲存至該計算裝置之該內容快取記憶體的資料量不超過大小臨限值,且其中回應於判定儲存至該計算裝置之該內容快取記憶體的該資料量不超過該大小臨限值而將該內容資料儲存至計算裝置之該內容快取記憶體。
所述的使應用程式快取加速之方法,該方法進一步包含:判定與該伺服器裝置相關聯之資源利用率超過利用率臨限值;及回應於判定與該伺服器裝置相關聯之該資源利用率超過該利用率臨限值:將第二內容資料自該伺服器裝置移動至該計算裝置之該內容快取記憶體。
所述的使應用程式快取加速之方法,該方法進一步包含:判定與該內容資料相關聯之觸發條件已出現;及回應於與該內容資料相關聯之該觸發條件的出現:自該計算裝置之該內容快取記憶體逐出該內容資料。
本發明還提供一種使應用程式快取加速之系統,該系統包含:
軟體處理器;及
硬體處理器,該硬體處理器經組態以執行第一操作,該等第一操作包含:
在該硬體處理器處接收來自請求裝置的傳送內容資料之請求;
回應於傳送該內容資料之該請求:該硬體處理器將第一訊息傳輸至請求該內容資料之位置的該軟體處理器;
在該硬體處理器處接收來自該軟體處理器之第二訊息,該第二訊息指示該內容資料儲存在該硬體處理器之內容快取記憶體中;及
回應於接收到該第二訊息:該硬體處理器自該硬體處理器之該內容快取記憶體擷取該內容資料;且該硬體處理器將該內容資料傳送至該請求裝置。
所述的使應用程式快取加速之系統,其中該軟體處理器經組態以執行第二操作,該等第二操作包含藉由執行動作來處理該內容資料,該動作選自包含壓縮操作、轉碼、隧道處理、網路傳輸協定處理及加密操作之群組,其中在該內容資料之該處理期間,將該硬體處理器之該內容快取記憶體用作緩衝器,且其中該等第一操作進一步包含,在處理該內容資料之後且在傳送該內容資料之前,將該內容資料儲存在該硬體處理器之該內容快取記憶體中。
本申請案主張於2022年11月17日申請之美國專利申請案第18/056,363號之優先權,該美國專利申請案特此以全文引用之方式併入。
在下面的描述中,出於解釋目的,闡述許多特定細節以便提供透徹的理解。可在沒有此等特定細節的情況下實踐一或多個實施例。在一個實施例中描述之特徵可與在不同實施例中描述之特徵組合。在一些實例中,參考方塊圖形式來描述眾所周知的結構及裝置以便避免不必要地模糊本發明。
參考各個圖及下文之描述來提供特定實施例之細節。熟習此項技術者在閱讀本描述且查看圖式後可能夠確定特定實施例之其他增強、特徵、細節及/或優點。
此外,本文中描述之特定實施例可在本領域中已知的任何計算系統環境中實現,計算系統環境可包括一或多個處理器及經組態以儲存邏輯之電腦可讀媒體,該邏輯由該一或多個處理器實現及/或可由該一或多個處理器執行,以導致該一或多個處理器執行由該邏輯規定之操作。
本文中給出之描述傳達了足夠的資訊以使一般熟習此項技術者能夠製造及使用本發明,且係在本發明之特定實施例的上下文及要求中提供。
亦應注意,對所揭示實施例之各種修改對於一般熟習此項技術者而言將顯而易見的,且本文中定義之一般原理可應用於其他實施例及應用而不脫離本發明之精神及範疇。因此,本發明不欲限於本文中示出且描述之實施例,而應被賦予與本文中揭示之原理及特徵一致的最寬範圍。
此外,除非本文另有確切定義,否則所有術語應賦予其最廣泛的可能解釋,包括說明書暗示的含義以及一般熟習此項技術者所理解的含義及/或如字典、論文等中定義的含義。
此外,術語「約」在本文中用來修飾值時指示包括該值及在合理範圍內小於及大於該值的範圍。在沒有其他指示的情況下,此合理範圍為該值之正負10%。舉例而言,「約10毫秒」指示10 ms ± 1 ms,使得該範圍包括至多包括9 ms且包括11 ms之範圍中的所有值。另外,術語「包含」指示確切描述之彼等元件的包括性清單,但不排除任何其他元件。舉例而言,「清單包含紅色及綠色」指示該清單包括但不限於紅色及綠色。因此,該清單亦可包括未確切描述之其他顏色。
後文將依據下述架構描述本發明提供的實施例:
1. 總體概述
2. 系統架構
2.1 具有用於內容資料傳送之嵌入式內容快取記憶體的系統
2.2 使用內容快取記憶體進行內容資料傳送的系統
3. 實例實施例
3.1 裝置之間用於內容資料傳送的資料流
3.2 實例系統中之資料交換
3.3 將內容資料傳送至請求裝置
3.4 將內容資料儲存在內容快取記憶體中
3.5 自內容快取記憶體獲取內容資料
4. 雜項;擴展
5. 硬體概述
1. 總體概述
在一實施例中,一內容傳送網路(CDN)中至一請求裝置之內容資料傳送可由一伺服器裝置使用與該伺服器裝置相關聯之一計算裝置的一內容快取記憶體來處置。該計算裝置可為該伺服器裝置之一組件、在該伺服器裝置本地及/或直接連接至該伺服器裝置。該伺服器裝置接收傳送該內容資料之一請求,判定該內容資料之位置在該內容快取記憶體中,且回應於此判定而將指令發送至該計算裝置以將該內容資料提供至該請求裝置。
在一個實施例中,在接收到傳送該內容資料之該請求之前或回應於接收到傳送該內容資料之該請求,該伺服器裝置可獲取該內容資料且將該內容資料提供至該計算裝置以儲存在該內容快取記憶體中。
在一或多個實施例中,在指示且發送待儲存在該內容快取記憶體中之該內容資料之前,該伺服器裝置可判定是否應將該內容資料儲存在該內容快取記憶體中。此判定可基於與內容資料在CDN內如何利用有關的許多因素,諸如需求、流行度、使用頻率、大小、年限(age)等。
在一或多個實施例中,一硬體處理器接收來自該請求裝置的傳送該內容資料之該請求。該硬體處理器可為與該伺服器裝置相關聯之一網路介面卡(NIC)之一組件。該NIC可為該伺服器裝置之一組件或與該伺服器裝置電氣通信。回應於此請求,該硬體處理器將一第一訊息傳輸至請求該內容資料之一位置的該伺服器裝置之一軟體處理器。該軟體處理器可為中央處理單元(CPU)、圖形處理單元(GPU)或經組態以執行軟體程式的某一其他類型之積體電路(IC)。該軟體處理器判定該內容資料之該位置。當該內容資料位於該內容快取記憶體中時,該軟體處理器將一第二訊息傳輸至該硬體處理器,該第二訊息指示該內容資料儲存在該內容快取記憶體中。結果,該硬體處理器自該內容快取記憶體擷取該內容資料且將該內容資料傳送至該請求裝置。
本說明書可包括超出在此總體概述部分中描述之彼等實施例的一些實施例,且申請專利範圍可列舉該等實施例。
2. 系統架構
2.1 具有用於內容資料傳送之嵌入式內容快取記憶體的系統
圖1圖示使用計算裝置102中之嵌入式內容快取記憶體104來進行內容資料傳送的實例系統100。系統100包括與計算裝置102電氣耦接之伺服器裝置106,計算裝置102與伺服器裝置106相關聯。在一或多個實施例中,伺服器裝置106包括硬體處理器108且經組態以將內容提供至請求裝置110中之至少一者。在一些實施例中,伺服器裝置106亦包括用於儲存指令及/或內容之記憶體裝置及/或用於執行軟體程式之軟體處理器。
伺服器裝置106可與一或多個內容來源114耦接。來源114可包括伺服器裝置106可存取之任何裝置、網路及/或儲存器,可自該(該等)來源擷取及/或請求內容以傳送至請求裝置110。某一(某些)實例來源114包括但不限於網際網路、串流服務、內容伺服器、伺服器裝置106之快取記憶體及/或記憶體等。伺服器裝置106可經由結構中繼(在一種方法中)及/或經由一或多個額外網路連接至來源114。
計算裝置102可包括任何硬體裝置(其包括硬體處理器及記憶器),諸如NIC、網路介面控制器、網路配接器、實體網路介面等。在系統100中,根據一個實施例,計算裝置102包括用於儲存由伺服器裝置106提供之內容資料的內容快取記憶體104,內容快取記憶體104實現內容資料之快速擷取以滿足來自請求裝置110之請求。內容快取記憶體104可包括任何類型之記憶體,諸如非揮發性隨機存取記憶體(NVRAM)、可程式化唯讀記憶體(PROM)、可抹除PROM (EPROM)、快閃EPROM、內容可定址記憶體(CAM)、三元內容可定址記憶體(TCAM)等。在一些實施例中,內容快取記憶體104包括非常快速存取的記憶體類型,以經由網路112實現具有最小延遲之內容資料傳送。
在一實施例中,內容快取記憶體104可嵌入計算裝置102中。在幾個非限制性實例中,嵌入式內容快取記憶體104可為計算裝置102內之組件,可駐留在計算裝置102之印刷電路板上,可為插入至計算裝置102之印刷電路板的插座中之電子晶片等。
計算裝置102電氣耦接至網路112以連接至請求裝置110。在各種實施例中,請求裝置110亦可電氣耦接至網路112,及/或網路112內之組件。網路112可包括在適當位置處安置於網路112內以進行路由、傳輸、交換且處理網路112內及至/來自網路112外的裝置之資料的一或多個網路裝置。網路裝置可經組態以用各種方法操作資料平面及控制平面,且經組態以連接網路112內及/或網路112外的各種裝置。網路112可為有線網路、無線網路或其組合。在一個實施例中,網路112可為例如用於無線請求裝置之邊緣網路。
對於無線網絡,網路裝置可包括一或多個Gi區域網路(LAN)裝置、N6 LAN裝置、封包資料網路閘道器(P-GW)裝置、服務閘道器(S-GW)裝置、演進封包核心(EPC)裝置、行動回程(MBH)裝置、無線路由器、無線交換器、無線電接收器裝置、無線電發射器裝置等。
對於有線網絡,網路裝置可包括一或多個寬頻網路閘道器(BNG)裝置、住宅閘道器(RG)裝置、客戶端設備(CPE)裝置、乙太網路裝置、光纖裝置、路由器、交換器等。
在一個實施例中,請求裝置110可為安裝在消費者場所(諸如家庭、餐廳等)之機上盒、企業或商業中之訂戶端設備等。
在一個實施例中,伺服器裝置106運行應用程式堆疊以處理來自請求裝置110之應用層請求,且執行用於服務此類請求之所有應用程式策略與業務邏輯,包括應用層協定,諸如超文件傳送協定(HTTP)、超文件傳送協定安全(HTTPS)、網站即時通信(WebRTC)等。伺服器裝置106亦運行傳輸堆疊以與每一請求裝置110通信。舉例而言,傳輸控制協定(TCP)/網際網路協定(IP)、使用者資料包協定(UDP)、QUIC及/或其他傳輸層協定。因為伺服器裝置106管理應用程式堆疊及傳輸堆疊,所以此功能不駐留在計算裝置102上,從而保留計算裝置之處理容量且允許計算裝置102根據任何應用協定(包括但不限於HTTP/1.1、HTTP/2、HTTP/3、WebRTC等)操作。
在一種方法中,伺服器裝置106可接近計算裝置102及/或在計算裝置102附近定位,諸如在同一外殼中、在同一房間中、在同一伺服器機架中、在同一機櫃中等。在此方法中,伺服器裝置106可與計算裝置102共用資源(例如,處理器、記憶體、連接等)。在又一種方法中,計算裝置102 (及內容快取記憶體104)可為伺服器裝置106之組件。
在另一種方法中,計算裝置102之內容快取記憶體104可在實體上遠離伺服器裝置106定位,諸如在不同的房間、不同的建築物、不同的地點、不同的城市、不同的國家等中。然而,即使當遠程定位時,內容快取記憶體104亦可由伺服器裝置106管理。
伺服器裝置106亦可經組態以處置網路112上的關於應用層之所有管理、處理、安全性及策略決策。因此,對內容資料之應用層請求將被傳輸至伺服器裝置106以進行處理,因為網路112內之其他裝置通常將無法理解及/或處理應用層請求。在額外實施例中,其他應用層相關資料亦可被轉送至伺服器裝置106以進行處理,而非由網路112中之任何其他裝置或計算裝置102來處置。
在一個實施例中,內容快取記憶體104可被視為用於在其中儲存內容之通用快取記憶體,如伺服器裝置106所引導的,由此使儲存在內容快取記憶體104中之資料能夠由伺服器裝置106控制。在一個實施例中,內容快取記憶體104經組態以根據任何應用協定(包括但不限於HTTP/1.1、HTTP/2、HTTP/3、WebRTC等)操作。
伺服器裝置106可藉由將指令發送至計算裝置102來控制將什麼資料儲存至內容快取記憶體104。計算裝置102經組態以在例如自伺服器裝置106接收到內容資料時將內容資料(及可能的其他資料,諸如元資料、非內容資訊等)儲存至內容快取記憶體104。計算裝置102亦經組態以諸如回應於由請求裝置110發送且由伺服器裝置106處理的對內容資料之應用層請求,自內容快取記憶體104擷取內容資料且將擷取之內容資料傳送至一或多個請求裝置110。
在一個實施例中,計算裝置102可包括一命令感知硬體架構,該命令感知硬體架構經組態以產生及/或執行命令束,包括自伺服器裝置106發送之命令束。該命令感知硬體架構可用現場可程式化閘陣列(FPGA)、特殊應用積體電路(ASIC)或能夠有效處理命令束之某個其他硬體裝置來實現。
每一命令束為對要執行的所有或一些操作進行編碼之「可執行檔」。命令束為一種緊湊、通用、獨立於硬體之格式,該格式可用於描述要在命令感知硬體架構上執行之任何程式。
命令束中之每一命令為邏輯上獨立之原子操作。每一命令可能很複雜,因為它可能需要執行多個離散函數以執行該命令。每一命令亦明確定義一組輸入(可能為空之資料及自變數)及一組輸出(該等輸出可以簡單或複雜,例如旗標、0或1、自變數、值或值集合、函數等)。
伺服器裝置106可將一命令束傳輸至計算裝置102以供單一硬體平台執行該命令束。該命令束可包括關於如何處置內容資料、在哪裡找到內容資料、在哪裡傳送內容資料等之指令。因此,命令束中之每一命令可在單一硬體實體上執行。在一種方法中,此單一硬體實體可為計算裝置102之命令感知硬體架構的整體。在另一種方法中,此單一硬體實體可為網路112中之另一裝置之命令感知硬體處理器中的單一硬體模組。命令束中之多個命令可一次一個命令地在同一硬體實體上執行。
在一種方法中,指令可由應用裝置在命令束中發送。在又一實施例中,命令束可包括與命令束一起或在命令束內之內容,諸如一或多個參數或自變數。此命令束亦可包括作為一組命令的指令,該等指令規定關於如何處置內容、在哪裡找到內容、在哪裡儲存內容、在哪裡傳送內容等的指令。
在一或多個實施例中,系統100可包括比圖1中圖示之組件更多或更少的組件。圖1中圖示之組件可在彼此本地或彼此遠離。在各種方法中,圖1中圖示之組件可用硬體及/或軟體來實現。關於一個組件描述之操作可改為由另一組件執行。
在一或多個實施例中,資料儲存庫可用於儲存系統100之資訊,且可為用於儲存資料的任何類型之儲存單元及/或裝置(例如,檔案系統、資料庫、表格集合或任何其他儲存機制)。此外,資料儲存庫可包括多個不同的儲存單元及/或裝置。多個不同的儲存單元及/或裝置可為或不為相同類型的或位於同一實體站點。此外,資料儲存庫可在與系統100相同之計算系統上實現或執行。替代地或另外,資料儲存庫可在與系統100分離之計算系統上實現或執行。此外,資料儲存庫可通信地耦接至系統100中之任何裝置,以經由直接連接或經由網路來傳輸及接收資料。
當特定請求裝置110產生對內容資料之請求時,此請求經由網路112傳輸至伺服器裝置106。在一種方法中,計算裝置102可接收該請求,然後將該請求提供至伺服器裝置106。伺服器裝置106處理此內容請求,判定內容資料位於何處以滿足該請求,獲得內容資料,且經由網路112將內容資料傳輸至請求裝置110。
2.2 將內容快取記憶體用於內容資料傳送之系統
圖2圖示關於使用與計算裝置202相關聯之內容快取記憶體204進行內容資料傳送的實例系統200。系統200包括與計算裝置202電氣耦接之伺服器裝置106,計算裝置202與伺服器裝置106相關聯。在一或多個實施例中,伺服器裝置106包括硬體處理器108且經組態以將內容提供至請求裝置110中之至少一者。在一些實施例中,伺服器裝置106亦包括用於儲存指令及/或內容之記憶體裝置及/或用於執行軟體程式之軟體處理器。
伺服器裝置106可與一或多個內容來源114耦接。來源114可包括伺服器裝置106可存取之任何裝置、網路及/或儲存器,可自該(該等)來源擷取及/或請求內容以傳送至請求裝置110。某一(某些)實例來源114包括但不限於網際網路、串流服務、內容伺服器、伺服器裝置106之快取記憶體及/或記憶體等。伺服器裝置106可經由結構中繼(在一種方法中)及/或經由一或多個額外網路連接至來源114。
計算裝置202可包括任何硬體裝置(其包括硬體處理器及記憶器),諸如NIC、網路介面控制器、網路配接器、實體網路介面等。在系統200中,根據一個實施例,計算裝置202可不利用網路112而直接與請求裝置206電氣耦接。以此方式,計算裝置202能夠非常快速地將內容資料提供至可在計算裝置202本地定位之請求裝置206。
計算裝置202與用於儲存由伺服器裝置106提供之內容資料的內容快取記憶體204相關聯,內容快取記憶體204實現內容資料之快速擷取以滿足來自請求裝置110及/或請求裝置206之請求。內容快取記憶體204可包括任何類型之記憶體,諸如NVRAM、PROM、EPROM、快閃EPROM、CAM、TCAM等。在一些實施例中,內容快取記憶體204包括非常快速存取的記憶體類型以實現經由網路112及/或直接至請求裝置206的具有最小延遲之內容資料傳送。
在一實施例中,內容快取記憶體204可在計算裝置202本地定位。在另一實施例中,內容快取記憶體204可與計算裝置202分開或遠端定位。
在各種實施例中,圖1中描述之其他動作可在圖2之架構內操作。在一或多個實施例中,系統200可包括比圖2中圖示之組件更多或更少的組件。圖2中圖示之組件可在彼此本地或彼此遠離。在各種方法中,圖2中圖示之組件可用硬體及/或軟體來實現。關於一個組件描述之操作可改為由另一組件執行。
在一或多個實施例中,資料儲存庫可用於儲存系統200之資訊,且可為用於儲存資料的任何類型之儲存單元及/或裝置(例如,檔案系統、資料庫、表格集合或任何其他儲存機制)。此外,資料儲存庫可包括多個不同的儲存單元及/或裝置。多個不同的儲存單元及/或裝置可為或不為相同類型的或位於同一實體站點。此外,資料儲存庫可在與系統200相同之計算系統上實現或執行。替代地或另外,資料儲存庫可在與系統200分離之計算系統上實現或執行。此外,資料儲存庫可通信地耦接至系統200中之任何裝置,以經由直接連接或經由網路來傳輸及接收資料。
3. 實例實施例
為了清楚起見,在下文描述詳細實例。下文描述之組件及/或操作應被理解為可能不適用於某些實施例之特定實例。因此,下文描述之組件及/或操作不應被解釋為限制技術方案中之任一者的範疇。
3.1 裝置之間用於內容資料傳送的資料流
根據一或多個實施例,圖3圖示裝置之間的實例資料流300。在本說明書中,計算裝置被視為伺服器裝置之NIC。然而,此在本文中描述之各種實施例中並非必需的,且僅用作關聯各種裝置之間的訊息交換的方式。關於圖3描述之奇異訊息中的任一者可包括將資料劃分在多個訊息之間的多個訊息。
訊息302為自請求裝置傳輸至NIC的對特定內容資料之請求。當接收到訊息302時,NIC將訊息302轉送至伺服器裝置及/或將包括訊息302中所含之資訊及請求的另一訊息304傳輸至伺服器裝置。伺服器裝置經組態以處置此等類型之請求,且當伺服器裝置判定內容資料已儲存至NIC之內容快取記憶體時,在訊息306中,伺服器裝置指示NIC提供來自內容快取記憶體之內容資料。在一種方法中,訊息306可包括NIC將找到儲存在內容快取記憶體中之內容資料的儲存位置。一旦NIC獲得內容資料,NIC即在訊息308中將來自內容快取記憶體之內容資料提供至請求裝置。
在各種方法中,資料流300可進一步包括封裝操作、壓縮操作、加密操作或實現更安全、更有效率及/或更可靠之資料傳輸的任何其他封包或訊息修改技術。
根據一或多個實施例,圖4圖示裝置之間的實例資料流400。在本說明書中,計算裝置被視為伺服器裝置之NIC。然而,此在本文中描述之各種實施例中並非必需的,且僅用作關聯各種裝置之間的訊息交換的方式。關於圖4描述之奇異訊息中的任一者可包括將資料劃分在多個訊息之間的多個訊息。
訊息402為自請求裝置傳輸至NIC的對特定內容資料之請求。當接收到訊息402時,NIC將訊息402轉送至伺服器裝置及/或將包括訊息402中所含之資訊及請求的另一訊息404傳輸至伺服器裝置。伺服器裝置經組態以處置此等類型之請求,且在自伺服器裝置之記憶體獲取所請求的內容資料之後,在訊息406中將內容資料發送至NIC。另外,在訊息408中,伺服器裝置為NIC提供儲存位置以將內容資料儲存在NIC之內容快取記憶體中。以此方式,在接收到對相同內容資料之任何後續請求的情況下,伺服器裝置將始終知道特定內容資料儲存在NIC之內容快取記憶體內的何處。
結合在由伺服器裝置規定之位置處將內容資料儲存在內容快取記憶體中,在訊息410中,NIC將來自內容快取記憶體之內容資料提供至請求裝置。
在各種方法中,資料流400可進一步包括封裝操作、壓縮操作、加密操作或實現更安全、更有效率及/或更可靠之資料傳輸的任何其他封包或訊息修改技術。
3.2 實例系統中之資料交換
根據一或多個實施例,圖5圖示實例系統500中之資料交換,其用於自內容快取記憶體擷取內容資料。
系統500包括內容快取記憶體502及伺服器裝置504。內容快取記憶體502可包括任何類型之記憶體,諸如NVRAM、PROM、EPROM、快閃EPROM、CAM、TCAM等。
如圖所示,伺服器裝置504包括用於快速資料儲存及擷取的RAM 506及用於長期資料儲存的一或多個碟片媒體508。儘管未明確展示,但根據各種實施例,可使用其他類型之記憶體儲存來取代RAM 506及碟片媒體508或與RAM 506及碟片媒體508結合使用,諸如本文中描述的彼等其他記憶體類型,或此項技術中已知的其他記憶體類型。
內容資料可具有與內容資料相關聯之特性及參數,該等特性及參數可用於判定將內容資料儲存在系統500內的何處。碟片媒體508提供成本損失的長期儲存,但不提供與內容快取記憶體502及/或RAM 506一樣快速的擷取。因此,可追蹤及/或監測內容資料之某些特性以判定將內容資料儲存在何處。一些實例特性包括內容資料之流行度及/或需求。當判定某些內容資料為更流行的且被請求裝置更頻繁地需要時,伺服器裝置可判定將某些內容資料置放在內容快取記憶體502中。
因此,需求最低、最不流行、最容易擷取等的內容資料可被置放在碟片媒體508中。一旦儲存至碟片媒體508之此內容資料達到臨限流行度、累積請求之臨限數目、在一段時間內被請求臨限次數等,則可將內容資料自碟片媒體508移動518至RAM 506。然而,若彼等參數中之任一者降至低於將內容資料維持在RAM 506中的臨限位準,則可將相同內容資料自RAM 506移動520至碟片媒體508。
在另一實例中,儲存至碟片媒體508的達成更高臨限流行度、累積更大臨限數目之請求、在一段時間內被需要更大臨限次數等的內容資料可直接自碟片媒體508移動516至內容快取記憶體502。然而,若彼等參數中之任一者降至低於將內容資料維持在內容快取記憶體502中或RAM 506中的臨限位準,則可將此相同內容資料移動512至碟片媒體508。
在一實例中,儲存至RAM 506的達成某一臨限流行度、累積某一臨限數目之請求、在一段時間內被需要某一臨限值次數等的內容資料可自RAM 506移動514至內容快取記憶體502。然而,若彼等參數中之任一者降至低於將內容資料維持在內容快取記憶體502中的臨限位準,則可將此相同內容資料移動510至RAM 506。
內容資料進出內容快取記憶體502之智慧置放及移動可在自持久儲存器(例如,自內容快取記憶體502讀取內容資料)至暫時儲存器(例如,提供至CPU快取記憶體、RAM 506、其他裝置記憶體508等)的傳送期間執行。
在各種方法中,資料流500可進一步包括封裝/去封裝操作、壓縮/擴展操作、加密/解密操作或實現更安全、更有效率及/或更可靠之內容資料傳輸的任何其他封包或訊息修改技術。
3.3 將內容資料傳送至請求裝置
根據一或多個實施例,圖6為用於在CDN中將內容資料傳送至請求裝置之實例方法600的流程圖。圖6中圖示之一或多個操作可進行修改、重新排列或一起全部省略。因此,圖6中圖示之特定操作序列不應被解釋為限制一或多個實施例之範疇。在一個實施例中,CDN之計算裝置可執行方法600以為一或多個最終使用者裝置提供內容。在其他實施例中,方法600可由軟體及/或網路中之硬體裝置來執行。對於圖6之描述的其餘部分,將自為連接至CDN之裝置提供內容的伺服器裝置之角度來描述方法600。
在操作602中,該伺服器裝置自一請求裝置接收傳送內容資料之一請求。可跨任何通信通道(諸如有線或無線網路、網際網路、直接連接、無線電射頻(RF)及/或藍牙™連接、近場通信(NFC)通道等)接收請求。該請求裝置可為與該伺服器裝置電氣通信之任何裝置。在一實例中,請求裝置可為內容資料之消費者,諸如機上盒、串流裝置、智慧電視、智慧型手機、平板電腦、遊戲控制台或電腦等。
該請求可包括使該伺服器裝置能夠判定正在請求什麼內容資料之資訊。在一種方法中,該資訊可包括特定於所請求的內容資料之識別符,例如,數位物件識別符(DOI)、通用產品代碼(UPC)等。在一實施例中,該資訊可包括該伺服器裝置可存取及/或擷取所請求的內容資料的位置。
在一個實施例中,該伺服器裝置經組態以在由消費由伺服器裝置傳送之內容的一或多個裝置共用的CDN中操作。
在操作604中,回應於接收到傳送該內容資料之該請求,該伺服器裝置判定該內容資料之一位置。在一個實施例中,該位置可用使得該伺服器裝置能夠定位及/或獲取所請求的內容資料之方式包括在該請求中及/或由該請求引用。
在一個實例中,該請求包括對該內容資料在與該伺服器裝置相關聯之一計算裝置的一內容快取記憶體中之位置的引用。在另一實例中,該伺服器裝置可具有指示所請求的內容資料可在特定位置獲得的先前知識或資訊。此先前知識或資訊可基於先前自此特定位置將所請求的內容資料提供至同一個或不同的請求裝置、藉由接收內容資料儲存在何處的確認、藉由輪詢網路(諸如CDN)中之其他裝置關於儲存至該等裝置各自的內容快取記憶體或其他儲存裝置之資料而可供伺服器裝置利用。
在操作606中,回應於判定該內容資料儲存在與該伺服器裝置相關聯之一計算裝置的一內容快取記憶體中,該伺服器裝置將指令發送至該計算裝置以將該內容資料提供至該請求裝置。在此實施例中,該內容資料在被提供至該請求裝置之前儲存在該計算裝置之該內容快取記憶體中,且該伺服器裝置判定該內容資料儲存在此計算裝置之內容快取記憶體中以獲得且傳送至該請求裝置。
根據一個實施例,該計算裝置可包括經組態以產生及/或執行命令束之一命令感知硬體處理器。該命令感知硬體處理器可用現場可程式閘陣列(FPGA)、特殊應用積體電路(ASIC)、NIC、伺服器共處理器或能夠有效處理命令束之某個其他硬體裝置實現。
在各種方法中,可由計算裝置執行之命令束可經由網路(諸如CDN等)由以下各者提供及/或自以下各者接收:伺服器裝置、計算裝置之組件、另一伺服器裝置。在一實例中,該計算裝置可為與該伺服器裝置電子通信之一NIC。
每一命令束為對要由計算裝置執行的所有或一些操作進行編碼之「可執行檔」。命令束為一種緊湊、通用、獨立於硬體之格式,該格式可用於描述要在命令感知硬體處理器上執行之任何程式。命令束中之每一命令為邏輯上獨立之原子操作。每一命令可能很複雜,因為它可能需要執行多個離散函數以執行該命令。每一命令亦明確定義一組輸入(可能為空之資料及自變數)及一組輸出(該等輸出可以簡單或複雜,例如旗標、0或1、自變數、值或值集合、函數等)。
根據一個實施例,該計算裝置可為一組件及/或位於該伺服器裝置本地,例如用於與網路(例如,CDN)介接的伺服器裝置之NIC。位於本地意味著計算裝置可與伺服器裝置在同一伺服器機架中、與伺服器裝置位於同一伺服器機房中及/或與伺服器裝置位於同一建築物中。
在一種方法中,方法600可包括回應於將該等指令發送至該計算裝置以該提供內容資料而執行之額外操作。此等額外操作可包括自該計算裝置之該內容快取記憶體擷取該內容資料且將該內容資料傳送至該請求裝置。在此方法中,計算裝置可為伺服器裝置之NIC,且回應於判定所請求的內容資料可在NIC之內容快取記憶體中獲得,伺服器裝置可自此本地內容快取記憶體擷取所請求的內容資料且將所請求的內容資料傳送至請求裝置。
根據一個實施例,在將該內容資料提供至該請求裝置之前,該伺服器裝置可使該內容資料儲存在該計算裝置之該內容快取記憶體中。使內容資料儲存在內容快取記憶體中可包括指示及/或引導計算裝置將內容資料儲存在內容快取記憶體中、提供位址以儲存內容快取記憶體、直接將內容資料儲存在內容快取記憶體中等。
此外,在又一實施例中,在將該內容資料儲存在該計算裝置之該內容快取記憶體中之前,該伺服器裝置(或網路中之某個其他組件或裝置)可處理該內容資料。處理該內容資料可包括但不限於以下動作中之一或多個:壓縮及/或解壓縮、轉碼、隧道處理、網路傳輸協定處理、加密及/或解密等。以此方式,內容資料可用實現在自計算裝置之內容快取記憶體擷取後更快地傳送至請求裝置的某種方式進行修改及/或更改。
在一個實施例中,在將該內容資料提供至該請求裝置之前,該伺服器裝置(或網路中之某個其他組件或裝置)可處理該內容資料。此處理可由伺服器裝置執行,而不管伺服器裝置最初是否使內容資料儲存至計算裝置之內容快取記憶體。在此實施例中,該伺服器裝置可藉由但不限於執行以下動作中之一或多個來處理該內容資料:壓縮及/或解壓縮、轉碼、隧道處理、網路傳輸協定處理、加密及/或解密等。以此方式,內容資料可用實現在自計算裝置之內容快取記憶體擷取後更快、更有效率及/或更安全地傳送內容資料至請求裝置的某種方式進行修改及/或更改。
隧道處理可包括封裝及解封裝以及其他可能的操作。網路傳輸協定處理可包括傳輸控制協定(TCP)處理、傳輸層安全(TLS)處理、QUIC處理等。
在一種方法中,計算裝置之內容快取記憶體可實體上位於計算裝置上。此外,在此方法中,內容快取記憶體可由伺服器裝置管理,使得儲存至內容快取記憶體之資料的位置、哪些資料被儲存至內容快取記憶體、儲存的資料保留多長時間、哪些資料被覆寫、哪些資料被移除等可由伺服器裝置指定及/或直接控制。
在一個實施例中,包括所請求內容之一或多個封包可在被傳送至請求裝置之前由網路中之隧道裝置封裝在至少一個疊加封包中。隧道裝置可為路由器、伺服器或能夠在網路內終止及發起隧道之某個其他網路裝置。在一個實施例中,伺服器裝置可包含隧道裝置及/或隧道裝置的用於封裝及解封裝封包及疊加封包之功能。每一疊加封包包括疊加標頭。任何合適之疊加及/或穿隧方法及/或協定可用於疊加封包,諸如虛擬可擴展區域網路(VXLAN)、IP安全(IPSec)、通用封包無線電服務(GPRS)穿隧協定(GTP)等。
3.4 將內容資料儲存至內容快取記憶體
根據一或多個實施例,圖7為用於將內容資料儲存在內容快取記憶體中之實例方法700的流程圖。圖7中圖示之一或多個操作可進行修改、重新排列或一起全部省略。因此,圖7中圖示之特定操作序列不應被解釋為限制一或多個實施例之範疇。在一個實施例中,CDN之計算裝置可執行方法700以為一或多個最終使用者裝置提供內容。在其他實施例中,方法700可由軟體及/或網路中之硬體裝置執行。對於圖7之描述的其餘部分,將自為連接至CDN之裝置提供內容的伺服器裝置之角度來描述方法700。
在操作702中,伺服器裝置自請求裝置接收傳送內容資料之請求。可跨任何通信通道(諸如有線或無線網路、網際網路、直接連接、RF及/或藍牙™連接、NFC通道等)接收請求。該請求裝置可為與該伺服器裝置電氣通信之任何裝置。在一實例中,請求裝置可為內容資料之消費者,諸如機上盒、串流裝置、智慧電視、智慧型手機、平板電腦、遊戲控制台或電腦等。
該請求可包括使該伺服器裝置能夠判定正在請求什麼內容資料之資訊。在一種方法中,該資訊可包括特定於所請求的內容資料之識別符,例如,DOI、UPC等。在一實施例中,該資訊可包括該伺服器裝置可存取及/或擷取所請求的內容資料的位置。
在一個實施例中,該伺服器裝置經組態以在由消費由伺服器裝置傳送之內容的一或多個裝置共用的CDN中操作。
在操作704中,該伺服器裝置判定是否將該內容資料儲存在與該伺服器裝置相關聯之一計算裝置的一內容快取記憶體中。回應於接收到傳送該內容資料之該請求來執行操作704。伺服器裝置可基於伺服器裝置可存取的與內容快取記憶體及/或所請求的內容資料相關之任何相關資訊來判定是否將內容資料儲存在內容快取記憶體中。舉例而言,當內容快取記憶體具有可用於儲存所請求的內容資料之空間時,伺服器裝置可決定將內容資料儲存在內容快取記憶體中。
在一個實施例中,該伺服器裝置判定儲存至該計算裝置之該內容快取記憶體的一資料量不超過一大小臨限值。基於關於目前儲存在內容快取記憶體中之資料之大小的此判定,伺服器裝置可選擇將內容資料儲存至計算裝置之內容快取記憶體。該大小臨限值可由伺服器裝置預先判定,或為基於與資料儲存至內容快取記憶體多長時間、請求且自內容快取記憶體擷取資料的頻率等相關之操作條件調整的動態值。
在操作706中,該伺服器裝置將該內容資料提供至該計算裝置以儲存在該計算裝置之該內容快取記憶體中。回應於該伺服器裝置判定將該內容資料儲存在該計算裝置之該內容快取記憶體中來執行操作706。
根據一種方法,計算裝置可自伺服器裝置提供之儲存位置獲得內容資料以儲存在計算裝置之內容快取記憶體中。在此方法中,伺服器裝置未獲得內容資料且不將內容資料提供至計算裝置,而實際上,計算裝置基於伺服器裝置提供之位置來獲得且儲存內容資料。
在替代方法中,伺服器裝置將內容資料發送至計算裝置以儲存在計算裝置之內容快取記憶體中。在此方法中,若內容資料不駐留在伺服器裝置上,則伺服器裝置可搜尋或預先了解內容資料之當前儲存位置,獲得內容資料,且將內容資料提供至計算裝置以儲存在計算裝置之內容快取記憶體中。
在一個實施例中,計算裝置之內容快取記憶體可實體上位於計算裝置上。此外,在此實施例中,內容快取記憶體可由伺服器裝置管理,使得儲存至內容快取記憶體之資料的位置、哪些資料被儲存至內容快取記憶體、儲存的資料保留多長時間、哪些資料被覆寫、哪些資料被移除等可由伺服器裝置指定及/或直接控制。
根據一實施例,該伺服器裝置(或網路中之某個其他組件或裝置)可處理該內容資料。處理該內容資料可包括但不限於以下動作中之一或多個:壓縮及/或解壓縮、轉碼、隧道處理、網路傳輸協定處理、加密及/或解密等。以此方式,內容資料可用實現在自計算裝置之內容快取記憶體擷取後更快地傳送至請求裝置的某種方式進行修改及/或更改。隧道處理可包括封裝及解封裝以及其他可能的操作。網路傳輸協定處理可能包括TCP處理、TLS處理、QUIC處理等。
在一個實施例中,該伺服器裝置可判定與該伺服器裝置相關聯之資源利用率超過一利用率臨限值。回應於此種判定,該伺服器裝置可將第二內容資料自該伺服器裝置可存取之一儲存位置(CPU快取記憶體、RAM、其他裝置記憶體等)移動至該計算裝置之該內容快取記憶體。
可將任何可量測資源與資源利用率臨限值進行比較。一些實例資源包括但不限於內容快取記憶體中之儲存空間、伺服器裝置中之儲存空間、伺服器裝置之處理容量、計算裝置之處理容量、伺服器裝置與請求裝置之間的一或多個傳送通道之頻寬、伺服器裝置之能量使用、計算裝置之能量使用等。此等各種資源中之任一者的使用可由伺服器裝置監測、追蹤及/或請求以便與指定的使用臨限值進行比較,由此允許伺服器裝置了解在將內容傳送至請求裝置時使用各種資源的效率如何。
特定利用率臨限值之值與正在量測之資源有關。當資源為處理容量時,資源利用率臨限值可為正在使用的處理容量之百分比、單位時間的處理器週期之數目、平均處理器使用率等。當資源為記憶體空間時,資源利用率臨限值可為當前正在儲存資料之記憶體空間的百分比或部分、在一段時間內已儲存資料之記憶體空間的平均百分比等。
在一個實施例中,資源利用率可對應於儲存至內容快取記憶體及/或伺服器裝置的某些內容資料之流行度及/或需求。當某些內容資料被判定為更流行且更頻繁地被請求裝置需求時,伺服器裝置可判定維持某些內容資料在計算裝置之內容快取記憶體中的存在,即使資源利用率臨限值指示某些內容資料應自內容快取記憶體移出。
內容資料進出計算裝置之內容快取記憶體之智慧置放及移動可在自持久儲存器(例如,自內容快取記憶體讀取內容資料)至暫時儲存器(例如,提供至CPU快取記憶體、RAM、碟片媒體、其他裝置記憶體等)的傳送期間執行。
在一個實施例中,該伺服器裝置可判定與該內容資料相關聯之一觸發條件已出現。回應於偵測/判定該觸發條件已出現,該伺服器裝置可自該計算裝置之該內容快取記憶體逐出該內容資料。觸發條件可與降至低於利用率臨限值/高於利用率臨限值的內容資料及/或內容快取記憶體之利用度量相關(例如,儲存至內容快取記憶體之資料量、內容資料之流行度、對內容資料之需求、內容資料的最後使用等)。在各種實例中,自該內容快取記憶體逐出該內容資料可包括自內容快取記憶體刪除、將內容快取記憶體中儲存內容資料之記憶體空間標記為空閒、覆寫內容資料等。
根據一個實施例,該計算裝置可包括經組態以產生及/或執行命令束之一命令感知硬體處理器。該命令感知硬體處理器可用FPGA、ASIC、NIC、伺服器共處理器或能夠有效處理命令束之某個其他硬體裝置實現。在各種方法中,可由計算裝置執行之命令束可經由網路(諸如CDN等)由以下各者提供及/或自以下各者接收:伺服器裝置、計算裝置之組件、另一伺服器裝置。在一實例中,該計算裝置可為與該伺服器裝置電子通信之一NIC。
每一命令束為對要由計算裝置執行的所有或一些操作進行編碼之「可執行檔」。命令束為一種緊湊、通用、獨立於硬體之格式,該格式可用於描述要在命令感知硬體處理器上執行之任何程式。命令束中之每一命令為邏輯上獨立之原子操作。每一命令可能很複雜,因為它可能需要執行多個離散函數以執行該命令。每一命令亦明確定義一組輸入(可能為空之資料及自變數)及一組輸出(該等輸出可以簡單或複雜,例如旗標、0或1、自變數、值或值集合、函數等)。
根據一個實施例,該計算裝置可為一組件及/或位於該伺服器裝置本地,例如用於與網路(例如,CDN)介接的伺服器裝置之NIC。位於本地意味著計算裝置可與伺服器裝置在同一伺服器機架中、與伺服器裝置位於同一伺服器機房中及/或與伺服器裝置位於同一建築物中。
在一個實施例中,包括所請求內容之一或多個封包可在被傳送至請求裝置之前由網路中之隧道裝置封裝在至少一個疊加封包中。隧道裝置可為路由器、伺服器或能夠在網路內終止及發起隧道之某個其他網路裝置。在一個實施例中,伺服器裝置可包含隧道裝置及/或隧道裝置的用於封裝及解封裝封包及疊加封包之功能。每一疊加封包包括疊加標頭。任何合適之疊加及/或穿隧方法及/或協定可用於疊加封包,諸如VXLAN、IPSec、GTP等。
3.5 自內容快取記憶體獲取內容資料
圖8為用於自內容快取記憶體獲取內容資料之實例方法800的流程圖。圖8中圖示之一或多個操作可進行修改、重新排列或一起全部省略。因此,圖8中圖示之特定操作序列不應被解釋為限制一或多個實施例之範疇。在一個實施例中,CDN之計算裝置可執行方法800以為一或多個請求裝置提供內容。在其他實施例中,方法800可由軟體及/或網路中之硬體裝置執行。對於圖8之描述的其餘部分,將自CDN內的伺服器裝置之硬體處理器的角度來描述方法800。
在操作802中,該硬體處理器接收來自一請求裝置的傳送內容資料之一請求。此請求可規定所請求的內容資料之位置、內容資料之識別符及/或硬體處理器可用來搜尋、尋找、獲得及/或獲取所請求的內容資料之資訊。
可跨任何通信通道(諸如有線或無線網路、網際網路、直接連接、RF及/或藍牙™連接、NFC通道等)接收請求。該請求裝置可為與該硬體處理器電氣通信之任何裝置。在一實例中,請求裝置可為內容資料之消費者,諸如機上盒、串流裝置、智慧電視、智慧型手機、平板電腦、遊戲控制台或電腦等。
該請求可包括使該硬體處理器能夠判定正在請求什麼內容資料之資訊。在一種方法中,該資訊可包括特定於所請求的內容資料之識別符,例如,DOI、UPC等。在一實施例中,該資訊可包括該硬體處理器可存取及/或擷取所請求的內容資料的位置。
在一個實施例中,該伺服器裝置(及其硬體處理器)經組態以在由消費由伺服器裝置傳送之內容的一或多個裝置共用的CDN中操作。
根據一個實施例,該計算裝置可包括經組態以產生及/或執行命令束之一命令感知硬體處理器(諸如操作802中之硬體處理器)。該命令感知硬體處理器可用FPGA、ASIC、NIC、伺服器共處理器或能夠有效處理命令束之某個其他硬體裝置實現。在各種方法中,可由計算裝置執行之命令束可經由網路(諸如CDN等)由以下各者提供及/或自以下各者接收:伺服器裝置、計算裝置之組件、另一伺服器裝置。在一實例中,該計算裝置可為與該伺服器裝置電子通信之一NIC。
每一命令束為對要由計算裝置執行的所有或一些操作進行編碼之「可執行檔」。命令束為一種緊湊、通用、獨立於硬體之格式,該格式可用於描述要在命令感知硬體處理器上執行之任何程式。命令束中之每一命令為邏輯上獨立之原子操作。每一命令可能很複雜,因為它可能需要執行多個離散函數以執行該命令。每一命令亦明確定義一組輸入(可能為空之資料及自變數)及一組輸出(該等輸出可以簡單或複雜,例如旗標、0或1、自變數、值或值集合、函數等)。
在操作804中,該硬體處理器將一第一訊息傳輸至請求該內容資料之一位置的(例如,該伺服器裝置之)一軟體處理器。回應於接收到傳送該內容資料之該請求來發送此第一訊息。
該軟體處理器可為CPU、GPU、積體電路、FPGA、ASIC或經組態以管理及/或控制伺服器裝置可存取之內容快取記憶體的某個其他處理器。
在操作806中,該硬體處理器接收來自該軟體處理器之一第二訊息,該第二訊息指示該內容資料儲存在該硬體處理器之一內容快取記憶體中。該第二訊息可由軟體處理器使用任何可用的通信通道(諸如直接連接、匯流排、無線連接等)傳輸至硬體處理器。一些實例通信通道包括但不限於串列、串列週邊介面(SPI)、內部積體電路(I2C)、改良之內部積體電路(I3C)等。此第二訊息可包括位置、位址或其他資訊,硬體處理器可使用該位置、位址或其他資訊以自內容快取記憶體獲取、獲得及/或擷取所請求的內容資料,而不需要輪詢及/或搜尋內容快取記憶體或其索引來尋找內容資料之儲存位置。
在操作808中,回應於接收到該第二訊息,該硬體處理器自該硬體處理器之該內容快取記憶體擷取該內容資料。換言之,該第二訊息提供關於所請求的內容資料儲存在何處的資訊(位置、位址及/或識別符),由此允許硬體處理器獲取所請求的內容資料。硬體處理器可將內容資料全部或按部分或按塊複製至硬體處理器本地之RAM或某個其他快速記憶體裝置,該等部分或塊與被提供及/或傳送至請求裝置的內容資料一起由硬體處理器獲取。
在操作810中,該硬體處理器將該內容資料傳送至該請求裝置。可使用將伺服器裝置連接至請求裝置之任何通信通道(諸如有線或無線網路、網際網路、直接連接、RF及/或藍牙™連接、NFC通道等)來達成傳送。此外,內容資料可作為串流之內容傳送至請求裝置,從而在內容在請求裝置上被消費時連續地傳送所請求的內容之部分或封包。
根據一個實施例,該軟體處理器可經組態以在自該內容快取記憶體擷取之後處理該內容資料。處理該內容資料可包括但不限於壓縮/解壓縮操作、轉碼、隧道處理、網路傳輸協定處理、加密/解密操作等。根據一實施例,在軟體處理器在處理內容資料時的一段時間之前、之後或期間,軟體處理器可將硬體處理器之內容快取記憶體用作用於在處理階段中儲存資料之緩衝器。在此實施例中,在處理內容資料之後且在操作810中的傳送內容資料之前,可將內容資料之至少一部分儲存在硬體處理器之內容快取記憶體中。
在一個實施例中,硬體處理器可處理自TCP釋放後的內容資料,其中自TCP釋放後的處理包括但不限於TLS、壓縮、加密、儲存讀取等。
在一個實施例中,包括所請求內容之一或多個封包可在被傳送至請求裝置之前由網路中之隧道裝置封裝在至少一個疊加封包中。隧道裝置可為路由器、伺服器或能夠在網路內終止及發起隧道之某個其他網路裝置。在一個實施例中,伺服器裝置可包含隧道裝置及/或隧道裝置的用於封裝及解封裝封包及疊加封包之功能。每一疊加封包包括疊加標頭。任何合適之疊加及/或穿隧方法及/或協定可用於疊加封包,諸如VXLAN、IPSec、GTP等。
所揭示實施例之變型亦為可能的,且不需要在本文檔中對其進行明確描述,以便為一般熟習此項技術者提供在閱讀本描述時設想此類變型的能力。
在先前說明書中,本發明之實施例已參考在實現方式之間可能改變的眾多特定細節來描述。因此,說明書及附圖應被視為說明性的而非限制性的。本發明之範疇的唯一且排他性指示及申請人意圖作為本發明之範疇的內容為以發布技術方案所用的特定形式自本申請案發布的技術方案集合之字面等同範疇,包括任何後續更正。
4. 雜項;擴展
實施例係關於一種具有一或多個裝置之系統,該一或多個裝置包括硬體處理器且經組態以執行本文中描述及/或在下文的技術方案中之任一者中敘述的操作中之任一者。在一實施例中,非暫時性電腦可讀儲存媒體包含指令,該等指令在由一或多個硬體處理器執行時導致執行本文中描述及/或在技術方案中之任一者中敘述的操作中之任一者。
根據一或多個實施例,可使用本文中描述之特徵及功能的任何組合。在先前說明書中,實施例已參考在實現方式之間可能改變的眾多特定細節來描述。因此,說明書及附圖應被視為說明性的而非限制性的。本發明之範疇的唯一且排他性指示及申請人意圖作為本發明之範疇的內容為以發布技術方案所用的特定形式自本申請案發布的技術方案集合之字面等同範疇,包括任何後續更正。
5. 硬體概述
根據一個實施例,本文中描述之技術由一或多個專用計算裝置(即,經專門組態以執行某個功能之計算裝置)來實現。專用計算裝置可經硬連線以執行該等技術,或可包括數位電子裝置,諸如經持久程式化以執行該等技術之一或多個ASIC、FPGA或網路處理單元(NPU),或可包括根據韌體、記憶體、其他儲存器或組合中的程式指令進行程式化以執行該等技術之一或多個通用硬體處理器。此類專用計算裝置亦可將客製化硬連線邏輯、ASIC、FPGA或NPU與客製化程式設計組合以完成該等技術。專用計算裝置可為桌上型電腦系統、可攜式電腦系統、手持裝置、資料中心伺服器、網路連接裝置或併有硬連線及/或程式邏輯以實現該等技術的任何其他裝置。
舉例而言,圖9為圖示電腦系統900之方塊圖,本發明之實施例可在電腦系統900上實現。電腦系統900包括用於傳送資訊之匯流排902或其他通信機構,及與匯流排902耦接的用於處理資訊之硬體處理器904。硬體處理器904可為例如通用微處理器。
電腦系統900亦包括耦接至匯流排902的用於儲存將由處理器904執行之資訊及指令的主記憶體906,諸如隨機存取記憶體(RAM)或其他動態儲存裝置。主記憶體906亦可用於在將由處理器904執行之指令的執行期間儲存臨時變數或其他中間資訊。此等指令在儲存於處理器904可存取之非暫時性儲存媒體中時將使電腦系統900呈現為經客製化以執行該等指令中規定之操作的專用機器。
電腦系統900進一步包括耦接至匯流排902的用於儲存靜態資訊及處理器904之指令的唯讀記憶體(ROM) 908或其他靜態儲存裝置。提供諸如磁碟或固態硬碟之儲存裝置910且將儲存裝置910耦接至匯流排902以用於儲存資訊及指令。
電腦系統900可經由匯流排902耦接至顯示器912,諸如液晶顯示器(LCD)、電漿顯示器、電子墨水顯示器、陰極射線管(CRT)監視器或用於向電腦使用者顯示資訊的任何其他類型之裝置。包括字母數字鍵及其他鍵之輸入裝置914可耦接至匯流排902以用於將資訊及命令選擇傳送至處理器904。替代地或另外,電腦系統900可經由游標控制916接收使用者輸入,諸如用於將方向資訊及命令選擇傳送至處理器904且用於控制顯示器912上之游標移動的滑鼠、軌跡球、觸控板、觸控螢幕或游標方向鍵。此輸入裝置通常在兩個軸(第一軸(例如,x)及第二軸(例如,y))上具有兩個自由度,此允許裝置規定平面中之位置。顯示器912可經組態以經由一或多個壓敏感測器、多點觸控感測器及/或手勢感測器接收使用者輸入。替代地或另外,電腦系統900可經由麥克風、攝影機及/或某一其他類型之使用者輸入裝置(未示出)接收使用者輸入。
電腦系統900可使用客製化的硬連線邏輯、一或多個ASIC或FPGA、與電腦系統結合而使電腦系統900成為或程式化為專用機器的韌體及/或程式邏輯來實現本文中描述之技術。根據一個實施例,本文中之技術由電腦系統900回應於處理器904執行主記憶體906中所含之一或多個指令的一或多個序列而執行。此等指令可自諸如儲存裝置910之另一儲存媒體讀取至主記憶體906中。主記憶體906中所含之指令的序列之執行使處理器904執行本文中描述之處理步驟。在替代實施例中,可使用硬連線電路來取代軟體指令或與軟體指令組合。
如本文所用,術語「儲存媒體」係指儲存使機器以特定方式操作之資料及/或指令的任何非暫時性媒體。此種儲存媒體可包含非揮發性媒體及/或揮發性媒體。非揮發性媒體包括例如固態硬碟或磁碟,諸如儲存裝置910。揮發性媒體包括動態記憶體,諸如主記憶體906。儲存媒體之常見形式包括例如軟磁碟、軟性磁碟、硬碟、固態硬碟、磁帶或任何其他磁性資料儲存媒體、CD-ROM、任何其他光學資料儲存媒體、具有孔圖案之任何實體媒體、RAM、可程式化唯讀記憶體(PROM)及可抹除PROM (EPROM)、快閃EPROM、非揮發性隨機存取記憶體(NVRAM)、任何其他記憶體晶片或匣、內容可定址記憶體(CAM)及三態內容可定址記憶體(TCAM)。
儲存媒體不同於傳輸媒體,但可與傳輸媒體結合使用。傳輸媒體參與儲存媒體之間的資訊傳送。舉例而言,傳輸媒體包括同軸電纜、銅線及光纖,包括構成匯流排902的電線。傳輸媒體亦可採用聲波或光波之形式,諸如在無線電波及紅外線資料通信期間產生之彼等波。
各種形式之媒體可涉及將一或多個指令之一或多個序列載運至處理器904以供執行。舉例而言,指令最初可承載在遠端電腦之磁碟或固態硬碟上。遠端電腦可將指令載入至其動態記憶體中,且經由諸如乙太網路控制器或Wi-Fi控制器的NIC經由網路來發送指令。在電腦系統900本端之NIC可自網路接收資料且將資料置放在匯流排902上。匯流排902將資料載運至主記憶體906,處理器904自主記憶體906擷取執行且執行指令。由主記憶體906接收之指令可視情況在由處理器904執行之前或之後儲存在儲存裝置910上。
電腦系統900亦包括耦接至匯流排902之通信介面918。通信介面918提供耦接至網路鏈路920之雙向資料通信,網路鏈路920連接至本地網路922。舉例而言,通信介面918可為整合式服務數位網路(ISDN)卡、電纜數據機、衛星數據機或提供至對應類型之電話線的資料通信連接之數據機。作為另一實例,通信介面918可為區域網路(LAN)卡以提供至相容LAN之資料通信連接。亦可實現無線鏈路。在任何此種實現中,通信介面918發送且接收載運表示各種類型之資訊的數位資料流的電信號、電磁信號或光信號。
網路鏈路920通常經由至其他資料裝置之一或多個網路來提供資料通信。舉例而言,網路鏈路920可經由本地網路922提供至主電腦924或至由網際網路服務供應商(ISP) 926操作之資料設備的連接。ISP 926轉而經由現在通常被稱為「網際網路」928之全球封包資料通信網路來提供資料通信服務。本地網路922及網路928均使用載運數位資料流之電信號、電磁信號或光信號。通過各種網路之信號及在網路鏈路920上且通過通信介面918之信號為傳輸媒體的實例形式,該等信號載運至及自電腦系統900之數位資料。
電腦系統900可經由網路、網路鏈路920及通信介面918來發送及接收包括程式碼的資料。在網際網路實例中,伺服器930可經由網際網路928、ISP 926、本地網路922及通信介面918傳輸應用程式所請求的代碼。接收到的代碼可在其被接收時由處理器904執行,及/或儲存在儲存裝置910或其他非揮發性儲存器中以供稍後執行。
100:系統
102:計算裝置
104:嵌入式內容快取記憶體
106:伺服器裝置
108:硬體處理器
110:請求裝置
112:網路
114:內容來源
200:系統
202:計算裝置
204:內容快取記憶體
206:請求裝置
300:資料流
302:訊息
304:訊息
306:訊息
308:訊息
400:資料流
402:訊息
404:訊息
406:訊息
408:訊息
410:訊息
500:系統
502:內容快取記憶體
504:伺服器裝置
506:RAM
508:碟片媒體/裝置記憶體
510:移動
512:移動
514:移動
516:移動
518:移動
520:移動
600:方法
602:操作
604:操作
606:操作
700:方法
702:操作
704:操作
706:操作
800:方法
802:操作
804:操作
806:操作
808:操作
900:電腦系統
902:匯流排
904:硬體處理器
906:主記憶體
908:唯讀記憶體(ROM)
910:儲存裝置
912:顯示器
914:輸入裝置
916:游標控制
918:通信介面
920:網路鏈路
922:區域網路
924:主機電腦
926:網際網路服務供應商(ISP)
928:網際網路
930:伺服器
各個圖中具有相同數字之參考符號指示相似元件,圖式的具體說明如下:
圖1為本發明提供的實施例的使用內容快取記憶體進行內容傳送的實例系統之方塊示意圖;
圖2為本發明提供的實施例的使用內容快取記憶體進行內容傳送的實例系統之方塊示意圖;
圖3為本發明提供的實施例的裝置之間的實例訊息流之示意圖;
圖4為本發明提供的實施例的裝置之間的實例訊息流之示意圖;
圖5為本發明提供的實施例的實例系統中的用於自內容快取記憶體擷取內容資料之資料交換之方塊示意圖;
圖6為用於在CDN中將內容資料傳送至請求裝置之實例方法的流程圖;
圖7為用於將內容資料儲存在內容快取記憶體中之實例方法的流程圖;
圖8為用於自內容快取記憶體獲取內容資料之實例方法的流程圖;
圖9展示可實現圖1至圖8之特徵及過程的實例計算系統之方塊示意圖。
Claims (20)
- 一種使應用程式快取加速之方法,該方法包含: 一伺服器裝置自一請求裝置接收傳送內容資料之一請求; 回應於接收到傳送該內容資料之該請求:判定該內容資料之一位置;及 回應於判定該內容資料儲存在與該伺服器裝置相關聯之一計算裝置的一內容快取記憶體中:將指令發送至該計算裝置以將該內容資料提供至該請求裝置,該內容資料在被提供至該請求裝置之前儲存在該計算裝置之該內容快取記憶體中, 其中該方法由該伺服器裝置之至少一個處理器執行。
- 如請求項1所述的使應用程式快取加速之方法, 其中接收傳送該內容資料之該請求包含該伺服器裝置之一網路介面卡接收傳送該內容資料之該請求,該請求指示該請求裝置; 其中判定該內容資料之該位置包含: 該網路介面卡將一第一訊息發送至識別該內容資料的該伺服器裝置之一處理器;及 回應於發送該第一訊息,該網路介面卡接收來自該處理器之一第二訊息,該第二訊息指示該內容資料被儲存至該網路介面卡之內容快取記憶體;且 其中回應於接收到該等指令而將該內容資料提供至該請求裝置,該網路介面卡將該內容資料自該網路介面卡之該內容快取記憶體傳送至該請求裝置。
- 如請求項1所述的使應用程式快取加速之方法,該方法進一步包含,回應於將該等指令發送至該計算裝置以提供該內容資料: 自該計算裝置之該內容快取記憶體擷取該內容資料;且 將該內容資料傳送至該請求裝置。
- 如請求項1所述的使應用程式快取加速之方法,該方法進一步包含,在將該內容資料提供至該請求裝置之前,將該內容資料儲存在該計算裝置之該內容快取記憶體中。
- 如請求項4所述的使應用程式快取加速之方法,該方法進一步包含,在將該內容資料儲存在該計算裝置之該內容快取記憶體中之前,藉由執行一動作來處理該內容資料,該動作選自包含壓縮操作、轉碼、隧道處理、網路傳輸協定處理及加密操作之一群組。
- 如請求項4所述的使應用程式快取加速之方法,該方法進一步包含,在將該內容資料提供至該請求裝置之前,藉由執行一動作來處理該內容資料,該動作選自包含壓縮操作、轉碼、隧道處理、網路傳輸協定處理及加密操作之一群組。
- 如請求項1所述的使應用程式快取加速之方法,其中該內容快取記憶體為該計算裝置之一組件且實體上與該計算裝置一起定位,且其中該內容快取記憶體由該伺服器裝置管理。
- 如請求項1所述的使應用程式快取加速之方法,其中該計算裝置之該內容快取記憶體實體上遠離該伺服器裝置而定位,且其中該計算裝置之該內容快取記憶體由該伺服器裝置管理。
- 如請求項1所述的使應用程式快取加速之方法,其中該計算裝置為經組態以執行命令束之一命令感知硬體處理器。
- 如請求項1所述的使應用程式快取加速之方法,其中該計算裝置為與該伺服器裝置電子通信之一網路介面卡。
- 如請求項1所述的使應用程式快取加速之方法,其中該計算裝置之該內容快取記憶體經組態以根據任何應用協定操作。
- 一種使應用程式快取加速之方法,該方法包含: 一伺服器裝置自一請求裝置接收傳送內容資料之一請求; 回應於接收到傳送該內容資料之該請求:判定是否將該內容資料儲存在與該伺服器裝置相關聯之一計算裝置的一內容快取記憶體中;及 回應於判定將該內容資料儲存在該計算裝置之該內容快取記憶體中:將該內容資料提供至該計算裝置以儲存在該計算裝置之該內容快取記憶體中, 其中該方法由該伺服器裝置之至少一個處理器執行。
- 如請求項12所述的使應用程式快取加速之方法,其中該計算裝置自該伺服器裝置所提供之一儲存位置獲得該內容資料以儲存在該計算裝置之該內容快取記憶體中。
- 如請求項12所述的使應用程式快取加速之方法,其中該計算裝置為與該伺服器裝置電子通信之一網路介面卡,且其中該伺服器裝置將該內容資料發送至該網路介面卡以儲存在該網路介面卡之內容快取記憶體中。
- 如請求項12所述的使應用程式快取加速之方法,該方法進一步包含: 藉由執行一動作來處理該內容資料,該動作選自包含壓縮操作、轉碼、隧道處理、網路傳輸協定處理及加密操作之一群組;及 在該內容資料之該處理期間,將該計算裝置之該內容快取記憶體用作一緩衝器。
- 如請求項12所述的使應用程式快取加速之方法,其中判定是否將該內容資料儲存在該計算裝置之該內容快取記憶體中包含判定儲存至該計算裝置之該內容快取記憶體的一資料量不超過一大小臨限值,且其中回應於判定儲存至該計算裝置之該內容快取記憶體的該資料量不超過該大小臨限值而將該內容資料儲存至計算裝置之該內容快取記憶體。
- 如請求項12所述的使應用程式快取加速之方法,該方法進一步包含: 判定與該伺服器裝置相關聯之資源利用率超過一利用率臨限值;及 回應於判定與該伺服器裝置相關聯之該資源利用率超過該利用率臨限值:將第二內容資料自該伺服器裝置移動至該計算裝置之該內容快取記憶體。
- 如請求項12所述的使應用程式快取加速之方法,該方法進一步包含: 判定與該內容資料相關聯之一觸發條件已出現;及 回應於與該內容資料相關聯之該觸發條件的出現:自該計算裝置之該內容快取記憶體逐出該內容資料。
- 一種使應用程式快取加速之系統,該系統包含: 一軟體處理器;及 一硬體處理器,該硬體處理器經組態以執行第一操作,該等第一操作包含: 在該硬體處理器處接收來自一請求裝置的傳送內容資料之一請求; 回應於傳送該內容資料之該請求:該硬體處理器將一第一訊息傳輸至請求該內容資料之一位置的該軟體處理器; 在該硬體處理器處接收來自該軟體處理器之一第二訊息,該第二訊息指示該內容資料儲存在該硬體處理器之一內容快取記憶體中;及 回應於接收到該第二訊息:該硬體處理器自該硬體處理器之該內容快取記憶體擷取該內容資料;且該硬體處理器將該內容資料傳送至該請求裝置。
- 如請求項19所述的使應用程式快取加速之系統, 其中該軟體處理器經組態以執行第二操作,該等第二操作包含藉由執行一動作來處理該內容資料,該動作選自包含壓縮操作、轉碼、隧道處理、網路傳輸協定處理及加密操作之一群組, 其中在該內容資料之該處理期間,將該硬體處理器之該內容快取記憶體用作一緩衝器,且 其中該等第一操作進一步包含,在處理該內容資料之後且在傳送該內容資料之前,將該內容資料儲存在該硬體處理器之該內容快取記憶體中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/056,363 | 2022-11-17 | ||
US18/056,363 US20240171810A1 (en) | 2022-11-17 | 2022-11-17 | Application cache acceleration using device content cache |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202423123A true TW202423123A (zh) | 2024-06-01 |
Family
ID=88920908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112144509A TW202423123A (zh) | 2022-11-17 | 2023-11-17 | 使應用程式快取加速之方法及系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240171810A1 (zh) |
TW (1) | TW202423123A (zh) |
WO (2) | WO2024107330A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7395355B2 (en) * | 2002-07-11 | 2008-07-01 | Akamai Technologies, Inc. | Method for caching and delivery of compressed content in a content delivery network |
US10469609B2 (en) * | 2015-12-31 | 2019-11-05 | Time Warner Cable Enterprises Llc | Methods and apparatus for serving content to customer devices based on dynamic content popularity |
US11616849B2 (en) * | 2021-02-15 | 2023-03-28 | Lilac Cloud, Inc. | Distributed split edge application architecture |
US20220116669A1 (en) * | 2021-12-22 | 2022-04-14 | Francesc Guim Bernat | Methods, systems, apparatus, and articles of manufacture to cache media based on service level agreement type |
-
2022
- 2022-11-17 US US18/056,363 patent/US20240171810A1/en active Pending
-
2023
- 2023-10-31 WO PCT/US2023/036440 patent/WO2024107330A1/en unknown
- 2023-11-03 WO PCT/US2023/036814 patent/WO2024107354A1/en unknown
- 2023-11-17 TW TW112144509A patent/TW202423123A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024107330A1 (en) | 2024-05-23 |
US20240171810A1 (en) | 2024-05-23 |
WO2024107354A1 (en) | 2024-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10901470B2 (en) | Power distribution unit self-identification | |
EP3780523B1 (en) | Network traffic identification method and related device | |
WO2020094034A1 (zh) | 用于终端的无线网络连接方法 | |
US20100205310A1 (en) | System and method for dynamically optimizing tcp window size | |
EP2901806B1 (en) | Methods and systems for dynamic media content output for mobile devices | |
WO2009014875A1 (en) | Data stream control for network devices | |
US20230396684A1 (en) | Distributed split edge application architecture | |
US9356985B2 (en) | Streaming video to cellular phones | |
JP6007697B2 (ja) | キャッシュ装置、キャッシュプログラム及びコンテンツ配信システム | |
CN112104897B (zh) | 视频获取方法、终端及存储介质 | |
WO2022111027A1 (zh) | 视频获取方法、电子设备及存储介质 | |
US9848067B2 (en) | Managing sequence values with added headers in computing devices | |
EP2922337A1 (en) | Method for distinguishing type of communication network and method for providing content using same | |
CN112104893A (zh) | 一种实现网页端无插件播放的视频流管理方法及装置 | |
JP2017511089A (ja) | ネットワークにアクセスする方法、装置、プログラム及び記録媒体 | |
JP6287859B2 (ja) | 通信ノード、制御装置、制御情報エントリの管理方法及びプログラム | |
TW202423123A (zh) | 使應用程式快取加速之方法及系統 | |
CN107231567A (zh) | 一种报文传输方法、装置及系统 | |
CN113726817B (zh) | 一种流媒体数据的传输方法、装置及介质 | |
CN113347386A (zh) | 推送媒体流的方法、拉取媒体流的方法及设备 | |
WO2024187966A1 (zh) | 数据缓存方法、装置、计算机设备和存储介质 | |
US20120284764A1 (en) | Method and system for requesting services by a media device | |
CN116319701A (zh) | 用于音视频的流传输方法及装置、电子设备和介质 | |
US20200195744A1 (en) | Standardized hot-pluggable transceiving unit and method for implementing a micro-caching functionality | |
WO2015164079A1 (en) | Managing sequence values with added headers in computing devices |