TWI634789B - 提供多媒體內容之內容部分至用戶端之方法及對應之快取 - Google Patents
提供多媒體內容之內容部分至用戶端之方法及對應之快取 Download PDFInfo
- Publication number
- TWI634789B TWI634789B TW103121790A TW103121790A TWI634789B TW I634789 B TWI634789 B TW I634789B TW 103121790 A TW103121790 A TW 103121790A TW 103121790 A TW103121790 A TW 103121790A TW I634789 B TWI634789 B TW I634789B
- Authority
- TW
- Taiwan
- Prior art keywords
- cache
- client
- request
- representations
- cache memory
- Prior art date
Links
Classifications
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2183—Cache memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/44—Browsing; Visualisation therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- 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/2866—Architectures; Arrangements
- H04L67/2885—Hierarchically arranged intermediate devices, e.g. for hierarchical caching
-
- 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/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/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/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本發明係為一種提供一多媒體內容之一內容部分至一用戶端之方法,一或多個快取記憶體設置於沿著該用戶端與一遠端伺服器間之傳輸路徑上,該內容部分有數個表徵可用,該方法包括以下步驟:- 在一第一快取記憶體(R)自該用戶端接收(S0)接收一請求以用於該內容部分之一已知表徵,其屬於一組允許表徵,係選自該內容部分之該等可用表徵,該請求尚包括該組另外表徵之一清單及輔助資訊,用以指定該請求之範圍;- 在該第一快取記憶體(R)檢查(S1)該已知表徵是否儲存於該快取記憶體中;- 倘若未快取到該已知表徵,即在該第一快取記憶體(R)瀏覽(S2)列出之數個另外表徵。
Description
本發明一般相關例如但非專特在HTTP(超文件傳輸協定)上的適應性串流技術領域,尤其相關提供一多媒體內容的一內容部分到一用戶端的方法,一快取記憶體設置在沿著該用戶終與一遠端伺服器之間的傳輸路徑上。
本段落希望介紹讀者此藝中的各種不同方面,係相關本發明在以下說明及/或申請專利範圍中的各種不同方面,相信本討論有助於提供讀者背景資訊,俾更了解本發明的各種方面。因此,應瞭解這些敍述將由這個觀點閱讀,並非要作為先前技術的認可。
在HTTP上的適應性串流(亦稱為多重位元率交換)正迅速成為多媒體內容分配的主要技術,在已使用的HTTP適應性串流協定之中,最有名的是源自蘋果電腦公司(Apple)的HTTP即時串流(HLS),源自微軟公司(Microsoft)的銀光平滑串流(SSS),Adobe公司的Adobe動態串流(ADS),及由3GPP SA4群組所研發在HTTP上的動態適應性串流(DASH)。
當一用戶端希望播放在適應性串流中的一影音內容(或A/V內容)時,首先必須得到一檔案描述如何可取得此A/V內容,完成此步驟通常是藉由透過HTTP協定從一URL(全球資源定址器)得到一描述檔,即所謂的載貨清單,但也可藉由其他方式來達成(例如廣播,電子郵件,SMS(簡訊服務)等)。載貨清單基本上列出此一A/V內容(依照位元率、解析度及其他特性)的可用表徵(亦稱為例子或版本);每一品質等級(位元率)有一表徵。各表徵係由一系列相等持續時間的資料塊所作成,可由一分開的URL存取,並具有一組附加的描述元件供客戶端選取,該載貨清單例如是由一遠端伺服器預先產生並傳給用戶端。
的確,在一HTTP伺服器上可利用不同品質取得對應到A/V內容的資料流,最高品質與一高位元率相關聯;最低品質與一低位元率相關聯,這允許對許多不同終端機的分配可取決於高度多樣化的網路條
件。
將各表徵的整個資料流分割成數個相等持續時間的資料塊,如此形成資料塊,使一用戶端可在二資料塊之間從一品質等級平順地切換到另一品質等級,結果,視訊品質在播放時會有不同卻極少受到中斷之苦(亦稱停格)。
在用戶端,該等資料塊是根據傳輸路徑的可用頻寬測定來選取,尤其一用戶端通常請求一資料塊的表徵是對應到一位元率編碼,因此是符合測定頻寬的品質。
當一快取記憶體是在沿著一用戶端與一遠端伺服器之間的傳輸路徑上,這是通常發生的情形,倘若另一客戶先前已利用相同表徵請求相同資料塊,或一內容傳送網路(CDN)已在該快取記憶體中預備有該資料塊,則一已知資料塊的一表徵會早已儲存在該快取記憶體中。因此,對該已知資料塊的一HTTP請求的回應會比資料塊若是來自遠端伺服器的情形快,並可避免雙重傳輸,有效地節省網路資源。
然而,HTTP適應性串流看起來並非是友善地快取到(或至少是比所謂的分層式交換如H264-SVC較不友善地快取到),的確,若一第一用戶端請求一已知資料塊的一表徵r,及一第二用戶端(是與該第一用戶端共享一部分傳輸路徑及一快取記憶體)請求該已知資料塊的一表徵r’(在一較高或較低品質),則未命中該快取記憶體,在該快取記憶體與該伺服器之間的網路區段上導致較高負載,隨之而來是造成擁塞的風險。接著是快取的有利之處完全被毀,目前數個快取記憶體尚無法用以改善這種情形。
本發明著重在防止網路擁塞,尤其在努力操作可能在沿著一用戶端與一或多個遠端伺服器之間的傳輸路徑上的數個快取記憶體。
本發明涉及一種提供一多媒體內容的一內容部分到一用戶端的方法,一或多個快取記憶體設置在沿著該用戶端與一遠端伺服器之間的傳輸路徑上,該內容部分有數個表徵可用,其特徵在於,該方法包括以下步驟:
- 在一第一快取記憶體自該用戶端接收一請求以用於該內容部分的一已知表徵,其屬於一組允許表徵,係選自該內容部分的該等可用表徵,該請求尚包括該組另外表徵的一清單及輔助資訊,用以指定該請求的範圍;- 在該第一快取記憶體檢查該已知表徵是否儲存在該快取記憶體中;- 倘若未快取到該已知表徵,即在該第一快取記憶體瀏覽列出的數個另外表徵。
因此,由於本發明,可藉由快取以減少一用戶端(即一HTTP適應性串流用戶端)與對應的原伺服器之間的端對端流量,目標是增加快取命中的數目。為此目的,一快取記憶體配置成支援一用戶端傳送的請求的一指示,因此當未快取到該已知表徵時,該快取記憶體可擷取此指示中包括的另外表徵,然後可在該用戶端與原伺服器之間帶來較少流量,結果就較少擁塞。因此,本發明可提供終端用戶較佳的使用者經驗,如限制自伺服器下載數個資料塊的需要。
在一較佳實施例的第一方面,該輔助資訊可定義配置在用戶端與伺服器之間的剩餘快取記憶體數目,其倘若未儲存有該已知表徵及該等另外表徵,允許將該請求轉寄到下一個快取記憶體。
尤其地,當剩餘快取記憶體的最後快取記憶體沒有該已知表徵及該等另外表徵時,可傳送一錯誤訊息到用戶端。
在該較佳實施例的第二方面,該輔助資訊可定義沿著該傳輸路徑配置的一最終快取記憶體,俾倘若該已知表徵及該等另外表徵未儲存在該最終快取記憶體時,該最終快取記憶體就不再轉寄該請求。
有利地是,當該最終快取記憶體沒有該已知表徵及該等另外表徵時,可傳送一錯誤訊息到用戶端。
此外,較佳依照偏好順序以瀏覽該等另外表徵,例如是依照偏好程度漸減的順序列出該等另外表徵。
此外,各另外表徵較佳具有一對應位元率是比該已知表徵的一位元率低,當然,在一變化中,至少一另外表徵可具有一對應位元率是比該已知表徵的一位元率高。
此外,該組允許表徵可有利地各具有一對應位元率是至多
與在該用戶端與該遠端伺服器之間的傳輸路徑的頻寬相等。
在該較佳實施例的另一方面,使用的傳輸協定係HTTP,該請求是一HTTP請求,及該HTTP請求的快取控制延伸檔名包括該另外表徵清單。
在一變化中或作為一補充,該請求可包括額外資訊,俾若快取到,該快取記憶體即傳回請求的表徵或列出的另一表徵,或倘若未快取到該已知表徵及任一列出的另外表徵,即傳回一回應訊息。
尤其地,當使用的傳輸協定係HTTP,該額外資訊包含在該HTTP請求的快取控制延伸檔名之內。
此外,本發明亦涉及一種快取記憶體,配置用以提供一多媒體內容的一內容部分到一用戶端,該快取記憶體係設置在沿著該用戶端與一遠端伺服器之間的傳輸路徑上,該內容部分有數個表徵可用。
根據本發明,該快取記憶體包括:- 一介面模組,用以自該用戶端接收一請求以用於該內容部分的一已知表徵,其屬於該可用表徵中選出的一組允許表徵,該請求尚包括該組另外表徵的一清單及輔助資訊,用以指定該請求範圍;- 一控制模組,用以檢查是否儲存有該已知表徵;- 一瀏覽模組,倘若未快取到該已知表徵,就形成用以瀏覽所列出的數個另外表徵。
較佳地,可依照偏好順序以瀏覽該等另外表徵。
在一較佳實施例的第一方面,輔助資訊定義在用戶端與伺服器之間配置,倘若未儲存有該已知表徵及該等另外表徵,允許轉寄該請求到下一個快取記憶體的剩餘快取記憶體數目,在該快取記憶體,當剩餘快取記憶體數目等於零時,較佳不再轉寄該請求。
在該較佳實施例的又一方面,輔助資訊定義沿著該傳輸路徑配置的一最終快取記憶體,倘若是以下情況,較佳不再轉寄該請求:- 在該快取記憶體中未儲存有該已知表徵及該等另外表徵;及- 該快取記憶體對應到該最終快取記憶體。
以下提出與所揭露實施例範圍相當的數個特定方面,應瞭解提出此等方面僅為提供讀者一簡短概要以說明本發明可採取的某些形
式,及此等方面並非希望限制本發明的範圍,實際上,本發明可涵蓋未在以下提出的各種不同方面。
1‧‧‧連接介面
2‧‧‧通訊模組
3‧‧‧適應性串流模組
4‧‧‧視訊播放器
5‧‧‧處理器
6‧‧‧儲存裝置
7‧‧‧頻寬估測器
8‧‧‧選取模組
9‧‧‧儲存模組
10‧‧‧介面模組
11‧‧‧控制模組
12‧‧‧瀏覽模組
B1‧‧‧內部匯流排
C‧‧‧用戶端
GW‧‧‧閘道器
In,In-1‧‧‧資料塊
M‧‧‧機構
N1,N2‧‧‧網路
R‧‧‧快取記憶體
r,r’‧‧‧表徵
S‧‧‧伺服器
S0,S1,S2,S3‧‧‧步驟
以下將參考附圖並藉由一實施例及數個執行範例以描述本發明,俾審查委員能更進一步瞭解本發明的技術特徵,圖中:圖1係以示意圖描繪一主從式(Client-Server)網路架構,其中可實施本發明;圖2係根據本發明的一較佳實施例以方塊圖描繪一用戶端範例;圖3根據本發明的一較佳實施例以方塊圖描繪一快取記憶體範例;圖4以流程圖描繪藉由圖3的快取記憶體所實施的方法,用以檢索一已知資料塊的一表徵。
在圖1至圖3中,所示方塊單純是功能實體,不必對應到實質分開的實體,意即,它們可在軟體、硬體的形式中研發,或在一或多個積體電路中實施,包括有一或多個處理器。
在任何可能情況下,全部附圖中將使用相同參考數字符號以表示相同或類似的零件。
應瞭解,為求清楚瞭解本發明,已簡化本發明的附圖及說明以描述數個相關的元件,並為求清晰,已將典型數位多媒體內容傳送方法及系統中發現的許多其他元件消去未顯示。然而,因為此類元件為此藝所熟知,本文中不再提供此類元件的詳細討論,本揭露內容目標是熟諳此藝者習知的所有此類變化及修改。
根據一較佳實施例,描述本發明相關HTTP適應性串流協定,本發明的確並非侷限於此一特定環境,當然可考量及實施其他適應性串流協定。
如圖1所示,主從式(Client-Sever)網路架構,其中可實施本發明,包括一用戶端C,一閘道器GW及一或多個HTTP伺服器S(圖1中只顯示一個伺服器)。
用戶端C透過一第一網路N1(例如一家庭網路或一企業網路)連接到閘道器GW,希望透過一第二網路N2(例如網際網路)請求一遠端伺服器S上所儲存的一多媒體內容,第一網路N1是由於閘道器GW而連接到第二網路N2。
HTTP伺服器S依照用戶端請求,經由一或多個TCP/IP連接,使用HTTP適應性串流協定以串流提供數個資料塊到用戶端C。
根據圖2所示的較佳實施例,該用戶端C至少包括:- 一連接介面1(有線及/或無線,例如Wi-Fi無線網路、乙太網路等),連接到第一網路N1:- 一通訊模組2,包含與HTTP伺服器S通訊用的協定堆疊,尤其通訊模組2包括此藝熟知的TCP/IP堆疊,當然也可以是能使用戶端C與HTTP伺服器S通訊的任何其他類型的網路及/或通訊裝置;- 一適應性串流模組3,其自HTTP伺服器S接收HTTP串流多媒體內容,該模組連續地選取一資料塊的表徵,其對應的位元率較佳匹配以下說明的數個限制;- 一視訊播放器4,調適用以解碼及取得該多媒體內容;- 一或多個處理器5,用以執行客戶端C的非揮發性記憶體中儲存的應用程式及程式;- 儲存裝置6,如一揮發性記憶體,用以將接收自HTTP伺服器S的資料塊在傳輸到視訊播放器4前加以緩衝;- 一內部匯流排B1,用以連接各種不同模組與熟諳此藝者習知的所有裝置以執行一般的用戶端功能。
作為一範例,用戶端C係一可攜式媒體裝置、一行動電話、一平板電腦或一膝上型電腦,用戶端C當然可不包括一完整視訊播放器,而僅是一些次元件,例如將媒體內容解多工及解碼並可靠著一外部裝置將解碼內容顯示給終端用戶的那些次元件,在此情況,用戶端C係能解碼一HTTP適應性串流(HAS)的視訊解碼器,如一機上盒。
根據圖1所示的較佳實施例,閘道器GW包括一快取記憶體R,其設置在沿著用戶端C與一伺服器S之間的傳輸路徑上,在一變化中,該快取記憶體R可設置在第一網路N1的一代理器中或設置在沿著該
傳輸路徑上的任何其他位置中。
在以下說明中,假定用戶端C向遠端伺服器S請求一HTTP適應性串流(HAS)多媒體內容,該HAS多媒體內容是可在一系列資料塊作成的數個表徵中取得。應了解各表徵的品質是與媒體編碼品質、媒體編碼類型(如2D對3D)、媒體編碼色彩設計等相關。
為此目的,如圖2所示,用戶端C尚包括:- 一頻寬估測器7,配置用以估測傳輸路徑的頻寬;- 一選取模組8,配置用以判定用戶端C可請求的一組允許表徵,該等允許表徵係選自該多媒體內容的一已知資料塊In的可用表徵,如在相關聯載貨清單中所列者,尤其地,模組8可依據一或多個效能標準以判定已知資料塊In的該組允許表徵,例如:■估測器7所估測的頻寬;■用戶端C的性能;■先前請求的資料塊In-1的表徵;■用戶端C的一終端用戶所要求的經驗品質。
明顯地,在一變化中,選取模組8可整合在適應性串流模組3之內。
可了解《允許的》表徵的意義是依實施而定,藉由與先前請求的資料塊In-1的表徵相比較,允許表徵的確可表示一已知資料塊In中品質升級或降級的表徵。
若一已知資料塊In的請求表徵具有一對應品質明顯地低於(即終端用戶可看出)先前請求資料塊In-1中的一表徵品質,選取模組8可配置成在操作潛在快取資料塊時不會努力進一步使品質降級,除非是受到可用頻寬的限制。
在符合本發明的一繪示但非限定範例中,一已知資料塊In的允許表徵(係選自載貨清單中所列的可用表徵)具有一對應位元率(相關一已知品質)至多是與估測頻寬相等。此外,該組允許表徵的位元率亦可至少與一定義門檻相等,此門檻以下的品質不為用戶端C的終端用戶接受。
明顯地,作為一變化或作為一補充,該組判定的允許表徵
可包括一或多個表徵是具有一位元率高於估測頻寬,為要試著擷取快取記憶體R中已儲存的一表徵。
此外,適應性串流模組3配置用以自該組允許表徵中,請求該HAS多媒體內容的一已知資料塊的一較佳表徵,例如,資料塊In的較佳表徵r可對應到具有一相關聯位元率剛好低於估測頻寬的表徵。
為此目的,通訊模組2傳送一HTTP請求,其中該請求檔頭的快取控制延伸檔名包括指示”altlist(另外清單)”,其允許用戶端C依照偏好順序或優先順序列出另外數個表徵r’,倘若未快取到該較佳表徵r時可由快取記憶體R傳回的另外表徵。
”altlist(另外清單)”指示的另外表徵r’較佳對應到該判定組的允許表徵,明顯地,可加入數個額外表徵(例如,具有一位元率高於估測頻寬)。
以下是包括有”altlist(另外清單)”指示的此一HTTP請求範例,:GET/hi/fileSequence2681.tsHTTP/1.1 Host:example.com Cache_Control:altlist=http://example.com/med/fileSequence2681.ts,http://example.com/low/fileSequence2681.ts(取得/高/檔案順序2681.tsHTTP/1.1主機:範例.com快取_控制:另外清單=http://範例.com/中/檔案順序2681.ts,http://範例.com/低/檔案順序2681.ts)
根據該較佳實施例,應了解到該快取記憶體R支援”altlist(另外清單)”指示,意即該快取記憶體配置用以直譯該指示的內容,此一快取記憶體R以下稱為”智慧型”快取記憶體,其他快取記憶體稱為舊有快取記憶體(亦即不是智慧型快取記憶體)。
為此目的,根據該實施例,並如圖3所示,智慧型快取記憶體R包括:- 一儲存模組9,如一揮發性記憶體及/或一永久性記憶體,用以將接收自一或多個伺服器S的數個多媒體內容資料塊,在傳輸到請求此類多
媒體內容的用戶端C前加以儲存;- 一介面模組10,配置用以自用戶端C接收一HTTP請求以用於該內容部分的一較佳表徵r,該較佳表徵r屬於該組允許表徵,假定該HTTP請求(在”altlist(另外清單)”指示內)指明數個另外表徵r’,倘若未快取到該較佳表徵r,就可由用戶端C接受作為代替;- 一控制模組11,形成用以檢查智慧型快取記憶體R是否已具有請求的較佳表徵r;及- 一瀏覽模組12,倘若未快取到較佳表徵r,調適用以依照偏好順序瀏覽用戶端C傳送的HTTP請求的”altlist(另外清單)中所列的數個另外表徵,在一變化中,該控制模組與該瀏覽模組形成單一模組。
一旦自用戶端C接收此一請求以用於一已知資料塊In的一較佳表徵r,智慧型快取記憶體R的控制模組11即檢查是否快取到該較佳表徵r:- 若快取到,智慧型快取記憶體R就將較佳表徵r傳回到用戶端C;- 若未快取到,瀏覽模組12就瀏覽該HTTP請求的”altlist(另外清單)”指示,依照偏好順序不斷地檢查是否快取到另一表徵r’。
當快取到”altlist(另外清單)”指示的此一另外表徵r’時,智慧型快取記憶體R就將該另一表徵r’傳回到用戶端C。
倘若未快取到”altlist(另外清單)”指示的任一另外表徵r’,智慧型快取記憶體R就配置用以朝伺服器S釋出用戶端C傳送的HTTP請求。
接著,釋出的HTTP請求可由沿著智慧型快取記憶體R與遠端伺服器S之間的傳輸路徑上的下一個快取記憶體攔截,因此,若下一個快取記憶體是智慧型快取記憶體,則表現就像智慧型快取記憶體R。不然的話(下一個快取記憶體未支援”altlist(另外清單)”指示),則可傳回一錯誤訊息或可朝伺服器S釋出該HTTP請求。
在一改良中,由用戶端C的通訊模組2傳送的HTTP請求可在其檔頭的快取控制延伸檔名中包括輔助指示(定義輔助資訊)”Time-To-Live(存活時間)”(TTL)。”Time-To-Live(存活時間)”指示(亦稱記號)允許”altlist(另外清單)”指示的遞迴,為此目的,TTL指示與一TTL
值相關聯,該值定義在用戶端C與伺服器S之間配置的剩餘快取記憶體數目,其倘若未儲存有該較佳表徵及該等另外表徵,允許轉寄該請求到下一個快取記憶體。事實上,在該請求的TTL值漸減的同時,自一用戶端接收一請求的各快取記憶體(智慧型快取記憶體或舊有快取記憶體)會處理該請求並轉寄該請求,當該請求的TTL值等於零時,不再轉寄該請求並傳送具有一錯誤碼的回應到用戶端C,該回應中可加入失敗的原因。
以下是包括有"altlist(另外清單)”及”TTL(存活時間)”指示的此一HTTP請求範例:GET/hi/fileSequence2681.tsHTTP/1.1 Host:example.com Cache_Control:altlist=http://example.com/med/fileSequence2681.ts,http://example.com/low/fileSequence2681.ts,TTL=3(取得/高/檔案順序2681.tsHTTP/1.1主機:範例.com快取_控制:另外清單=http://範例.com/中/檔案順序2681.ts,http://範例.com/低/檔案順序2681.ts,存活時間=3)
在又一改良或一補充中,由用戶端C的通訊模組2所傳送的HTTP請求可在其檔頭的快取控制延伸檔名中包括輔助指示”until element(截止元素)”。”until element(截止元素)”指示與識別一最終快取記憶體的一值(如快取記憶體的IP位址、合格網域名稱,或任何其他類的識別符)相關聯。
”until element(截止元素)”指示的操作方式與TTL指示相似,除外情況是,若識別為最終快取記憶體未包括該較佳表徵或”altlist(另外清單)”指示的另外表徵,當HTTP請求抵達該最終快取記憶體時將不再轉寄該請求。在該情況中,較佳產生具有錯誤碼(例如412)的一回應並傳送到用戶端C,並可在該回應中加入失敗原因。
如圖4所示,根據該較佳實施例,快取記憶體R配置用以實施以下機構M,用以提供一HAS多媒體內容的一已知資料塊In的一請求表徵到用戶端C。該機構M包括以下步驟:- 自該用戶端C接收(步驟S0)一HTTP請求以用於該已知資料塊In的一
較佳表徵r,其屬於先前定義的一組允許表徵,該HTTP請求尚包括列出該組另外表徵的”altlist(另外清單)”指示,;- 檢查(步驟S1)該較佳表徵r是否儲存在儲存模組9中;- 倘若未快取到該較佳表徵r,就依照偏好順序瀏覽(步驟S2)該”altlist(另外清單)”指示)所列的數個另外表徵r’;- 倘若在智慧型快取記憶體R的儲存模組9中未快取到任一另外表徵r’,就朝伺服器S釋出(步驟S3)該HTTP請求。
在該較佳實施例的一變化中,用戶端C傳送的一HTTP請求的快取控制延伸檔名尚可包括一額外指示(定義額外資訊),稱為”only_if_cached(僅若快取到)”,”altlist(另外清單)”指示保持優先順序在快取控制檔頭的”only_if_cached(僅若快取到)”指示之上。以下是具有上述指示的此一HTTP請求範例:GET/hi/fileSequence2681.tsHTTP/1.1 Host:example.com Cache_Control:only_if_cached,altlist=http://example.com/med/fileSequence2681.ts,http://example.com/low/fileSequence2681.ts(取得/高/檔案順序2681.tsHTTP/1.1主機:範例.com快取_控制:僅若快取到,另外清單=http://範例.com/中/檔案順序2681.ts,http://範例.com/低/檔案順序2681.ts)
在此變化中,一旦收到此一HTTP請求(包含指示”only_if_cached(僅若快取到)”及”altlist(另外清單)”兩者),以用於一已知資料塊In的一較佳表徵r,智慧型快取記憶體R即檢查是否快取到該較佳表徵r:- 若快取到,智慧型快取記憶體R就將該較佳表徵r傳回到用戶端C;- 若未快取到,瀏覽模組12就瀏覽該HTTP請求的”altlist(另外清單)”指示,依照偏好順序連續地檢查是否快取到另一表徵r’。
當快取到”altlist(另外清單)”指示的此另一表徵r’,智慧型快取記憶體R就將該另一表徵r’傳回到用戶端C。
倘若未快取到”altlist(另外清單)”指示的任一另外表徵r’,
由於”only_if_cached(僅若快取到)”指示,智慧型快取記憶體R則配置用以傳回一錯誤訊息(例如”http/1.1 504 altlist supported(http/1.1 504支援另外清單)”,用以指明以下兩者:- 未快取到該較佳表徵r;- 快取記憶體R支援”altlist(另外清單)”指示,因此可由收到此一錯誤訊息得知未快取到”altlist(另外清單)”指示的任一另外表徵r’。
在又一步驟中,用戶端C可傳送一新請求到遠端伺服器S,用以直接從伺服器S檢索出該已知資料塊In的該較佳表徵r,為此目的,在此新請求的檔頭中不使用”only_if_cached(僅若快取到)”指示,也不用”altlist(另外清單)”指示。明顯地,此新請求亦可只包括”altlist(另外清單)”指示,而不用”only_if_cached(僅若快取到)”指示。
本說明書所揭露的參考資料、申請專利範圍及附圖可獨立地提供或以任何適當結合方式來提供,只要適當,數個特徵可在硬體、軟體或結合兩者的方式中實施。
本申請專利範圍中出現的參考數字符號僅為描繪說明,在本申請專利範圍的範疇上並不具有限制效果。
本發明已在其較佳實施例中加以說明,明顯地,在熟諳此藝者的能力範圍內並不需運用發明能力即能夠作出許多修改及實施例,因此,本發明的範圍將由以下申請專利範圍的範疇來界定。
在本申請專利範圍中,任何元件描述作為執行一特定功能的一裝置(如適應性串流模組3、頻寬估測器7、選取模組8、控制模組11、瀏覽模組12等),希望用以涵蓋執行該功能的任何方式,例如,a)執行該功能的數個電路元件(例如一或多個處理器)的組合,或b)任何形式的軟體,因此包括韌體、微碼或類似物,結合適當電路設計用以執行該軟體以施行該功能。本發明由此類申請專利範圍所界定的原則存在以下事實:各種引用裝置所提供的功能是在本申請專利範圍要求的方式中合併及結合起來,因此任何可提供該等功能的裝置應視為同等於本文所示者。
Claims (15)
- 一種提供一多媒體內容之一內容部分至一用戶端(C)之方法,一或多個快取記憶體(R)設置於沿著該用戶端(C)與一遠端伺服器(S)間之傳輸路徑上,該內容部分有數個表徵可用,該方法包括以下步驟:在一第一快取記憶體(R)自該用戶端(C)接收(S0)一請求以用於該內容部分之一已知表徵,其屬於一組允許表徵,係選自該內容部分可用之該數個可用表徵,該請求尚包括該組另外表徵之一清單及輔助資訊,用以指定該用戶端和該遠端伺服器間之請求範圍;在該第一快取記憶體(R)檢查(S1)該已知表徵是否儲存在該快取記憶體(R)中;倘若未快取到該已知表徵,即在該第一快取記憶體(R)瀏覽(S2)列出之數個另外表徵。
- 如申請專利範圍第1項所述之方法,其中輔助資訊定義於該用戶端與該伺服器間配置之複數個剩餘快取記憶體數目,其倘若未儲存有該已知表徵及該等另外表徵,允許轉寄該請求至下一快取記憶體。
- 如申請專利範圍第2項所述之方法,其中當該複數個剩餘快取記憶體之最後快取記憶體沒有該已知表徵及該等另外表徵時,傳送一錯誤訊息至該用戶端。
- 如申請專利範圍第1至3項中任一項所述之方法,其中輔助資訊定義沿著該傳輸路徑配置之一最終快取記憶體,俾若該最終快取記憶體中未儲存有該已知表徵及該等另外表徵,該最終快取記憶體即不再轉寄該請求。
- 如申請專利範圍第4項所述之方法,其中當該最終快取記憶體沒有該已知表徵及該等另外表徵時,傳送一錯誤訊息至該用戶端。
- 如申請專利範圍第1項所述之方法,其中依照偏好順序以瀏覽該等另外表徵。
- 如申請專利範圍第1項所述之方法,其中各另外表徵具有一對應位元率係比該已知表徵之一位元率低。
- 如申請專利範圍第7項所述之方法,其中該組允許表徵各具有一對應位元率係至多與該用戶端(C)與該遠端伺服器(S)間之傳輸路徑之頻寬相等。
- 如申請專利範圍第1項所述之方法,其中使用之傳輸協定係HTTP,該請求係一HTTP請求及該HTTP請求之快取控制延伸檔名包括該另外表徵清單。
- 如申請專利範圍第1項所述之方法,其中該請求包括額外資訊,俾若快取到,該第一快取記憶體(R)即傳回該請求表徵或列出之一另外表徵,或倘若未快取到該已知表徵及任一列出之另外表徵,即傳回一回應訊息。
- 如申請專利範圍第10項所述之方法,其中當使用的傳輸協定係HTTP時,該額外資訊包含於該HTTP請求之快取控制一伸檔名之內。
- 一種快取記憶體,配置用以提供一多媒體內容之一內容部分至一用戶端(C),該快取記憶體(R)配置於沿著該用戶端(C)與一遠端伺服器(S)間之傳輸路徑上,該內容部分有數個表徵可用,其特徵在於,該快取記憶體包括:一介面模組(10),用以自該用戶端(C)接收一請求以用於該內容部分之一已知表徵,其屬於一組允許表徵,係選自該內容部分可用之該數個可用表徵,該請求尚包括該組另外表徵之一清單及額外資訊,用以指定該用戶端和該遠端伺服器間之請求範圍;一控制模組(11),用以檢查是否儲存有該已知表徵;一瀏覽模組(12),倘若未快取到該已知表徵,即形成用以瀏覽所列出之數個另外表徵。
- 如申請專利範圍第12項所述之快取記憶體,其中依照偏好順序以瀏覽該等另外表徵。
- 如申請專利範圍第12或13項所述之快取記憶體,其中輔助資訊定義配置於該用戶端與該伺服器間之剩餘快取記憶體數目,其倘若未儲存有該已知表徵及該等另外表徵,允許轉寄該請求至下一個快取記憶體,當在該快取記憶體,剩餘快取記憶體數目等於零時,不再轉寄該請求。
- 如申請專利範圍第12項所述之快取記憶體,其中輔助資訊定義沿著該傳輸路徑配置之一最終快取記憶體,倘若是以下情形況即不再轉寄該請求:- 該已知表徵及該等另外表徵未儲存在該快取記憶體中;及- 該快取記憶體對應到該最終快取記憶體。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14305015 | 2014-01-07 | ||
??14305015.1 | 2014-01-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201528806A TW201528806A (zh) | 2015-07-16 |
TWI634789B true TWI634789B (zh) | 2018-09-01 |
Family
ID=49999852
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103121790A TWI634789B (zh) | 2014-01-07 | 2014-06-25 | 提供多媒體內容之內容部分至用戶端之方法及對應之快取 |
TW103121791A TW201527979A (zh) | 2014-01-07 | 2014-06-25 | 調適快取行為之方法及對應之快取 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103121791A TW201527979A (zh) | 2014-01-07 | 2014-06-25 | 調適快取行為之方法及對應之快取 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10735544B2 (zh) |
EP (1) | EP3092811B1 (zh) |
JP (1) | JP6538061B2 (zh) |
KR (1) | KR102212973B1 (zh) |
CN (1) | CN105900433B (zh) |
AU (1) | AU2014377337B2 (zh) |
BR (1) | BR112016015878B1 (zh) |
TW (2) | TWI634789B (zh) |
WO (1) | WO2015104070A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10033824B2 (en) * | 2014-06-30 | 2018-07-24 | Samsung Electronics Co., Ltd. | Cache manifest for efficient peer assisted streaming |
US10152080B2 (en) | 2015-09-23 | 2018-12-11 | Adobe Systems Incorporated | Power efficient multimedia content streaming based on media segment duration |
WO2021009597A1 (en) | 2019-07-12 | 2021-01-21 | Carrier Corporation | A system and a method for streaming videos by creating object urls at client |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030217113A1 (en) * | 2002-04-08 | 2003-11-20 | Microsoft Corporation | Caching techniques for streaming media |
US20040044740A1 (en) * | 2000-09-01 | 2004-03-04 | Richard Cudd | Downloading and uploading data in information networks |
EP2410744A1 (en) * | 2010-07-23 | 2012-01-25 | Alcatel Lucent | Method for transferring video segments, client entity and proxy entity realizing such a method |
US20120284371A1 (en) * | 2011-05-03 | 2012-11-08 | Cisco Technology, Inc. | Reducing Fetching Load on Cache Servers in Adaptive Streaming |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8756342B1 (en) * | 2000-02-07 | 2014-06-17 | Parallel Networks, Llc | Method and apparatus for content synchronization |
US6820114B2 (en) * | 2001-09-27 | 2004-11-16 | Sap Aktiengesellschaft | Identifying object suppliers in a network |
US8650266B2 (en) * | 2002-03-26 | 2014-02-11 | At&T Intellectual Property Ii, L.P. | Cache validation using smart source selection in a data network |
US7085894B2 (en) * | 2003-09-11 | 2006-08-01 | International Business Machines Corporation | Selectively accepting cache content |
JP2006171822A (ja) * | 2004-12-13 | 2006-06-29 | Nippon Telegr & Teleph Corp <Ntt> | コンテンツ配信方法 |
EP2127230A4 (en) | 2007-02-09 | 2014-12-31 | Onmobile Global Ltd | METHOD AND APPARATUS FOR ADAPTING MULTIMEDIA CONTENT IN TELECOMMUNICATIONS NETWORKS |
US20090094224A1 (en) * | 2007-10-05 | 2009-04-09 | Google Inc. | Collaborative search results |
US8799409B2 (en) * | 2009-01-15 | 2014-08-05 | Ebay Inc. | Server side data cache system |
US9310959B2 (en) * | 2009-06-01 | 2016-04-12 | Zya, Inc. | System and method for enhancing audio |
KR101218828B1 (ko) * | 2009-07-02 | 2013-01-04 | (주)에임투지 | 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법 |
US8000259B2 (en) * | 2009-09-04 | 2011-08-16 | Viasat, Inc. | Distributed cache—adaptive multicast architecture for bandwidth reduction |
US8560598B2 (en) * | 2009-12-22 | 2013-10-15 | At&T Intellectual Property I, L.P. | Integrated adaptive anycast for content distribution |
US20120194534A1 (en) * | 2011-02-02 | 2012-08-02 | Alcatel-Lucent Usa Inc. | System and Method for Managing Cache Storage in Adaptive Video Streaming System |
EP2487609A1 (en) | 2011-02-07 | 2012-08-15 | Alcatel Lucent | A cache manager for segmented multimedia and corresponding method for cache management |
EP2924990A1 (en) * | 2011-03-16 | 2015-09-30 | Electronics and Telecommunications Research Institute | Apparatus and method for providing streaming content using representations |
CN102204218B (zh) * | 2011-05-31 | 2015-01-21 | 华为技术有限公司 | 数据处理方法、缓存节点、协作控制器及系统 |
JP2013069073A (ja) | 2011-09-21 | 2013-04-18 | Nec Corp | 配信ネットワークとサーバ及び配信方法 |
US8977704B2 (en) * | 2011-12-29 | 2015-03-10 | Nokia Corporation | Method and apparatus for flexible caching of delivered media |
US9729603B2 (en) * | 2012-09-27 | 2017-08-08 | Alcatel Lucent | Content stream delivery using variable cache replacement granularity |
US9621399B1 (en) * | 2012-12-19 | 2017-04-11 | Amazon Technologies, Inc. | Distributed caching system |
EP2819368A1 (en) | 2013-06-28 | 2014-12-31 | Thomson Licensing | Method for providing a content part of a multimedia content to a client terminal, corresponding cache |
US9887958B2 (en) * | 2013-09-16 | 2018-02-06 | Netflix, Inc. | Configuring DNS clients |
US8819187B1 (en) * | 2013-10-29 | 2014-08-26 | Limelight Networks, Inc. | End-to-end acceleration of dynamic content |
US9325639B2 (en) * | 2013-12-17 | 2016-04-26 | At&T Intellectual Property I, L.P. | Hierarchical caching system for lossless network packet capture applications |
US20160050112A1 (en) * | 2014-08-13 | 2016-02-18 | PernixData, Inc. | Distributed caching systems and methods |
-
2014
- 2014-06-12 CN CN201480072421.3A patent/CN105900433B/zh active Active
- 2014-06-12 EP EP14730149.3A patent/EP3092811B1/en active Active
- 2014-06-12 JP JP2016544798A patent/JP6538061B2/ja active Active
- 2014-06-12 WO PCT/EP2014/062215 patent/WO2015104070A1/en active Application Filing
- 2014-06-12 KR KR1020167018200A patent/KR102212973B1/ko active IP Right Grant
- 2014-06-12 US US15/110,210 patent/US10735544B2/en active Active
- 2014-06-12 BR BR112016015878-4A patent/BR112016015878B1/pt active IP Right Grant
- 2014-06-12 AU AU2014377337A patent/AU2014377337B2/en active Active
- 2014-06-25 TW TW103121790A patent/TWI634789B/zh active
- 2014-06-25 TW TW103121791A patent/TW201527979A/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040044740A1 (en) * | 2000-09-01 | 2004-03-04 | Richard Cudd | Downloading and uploading data in information networks |
US20030217113A1 (en) * | 2002-04-08 | 2003-11-20 | Microsoft Corporation | Caching techniques for streaming media |
EP2410744A1 (en) * | 2010-07-23 | 2012-01-25 | Alcatel Lucent | Method for transferring video segments, client entity and proxy entity realizing such a method |
US20120284371A1 (en) * | 2011-05-03 | 2012-11-08 | Cisco Technology, Inc. | Reducing Fetching Load on Cache Servers in Adaptive Streaming |
Non-Patent Citations (1)
Title |
---|
Dilip Kumar Krishnappa; Divyashri Bhat; Michael Zink, "DASHing YouTube: An analysis of using DASH in YouTube video service",38th Annual IEEE Conference on Local Computer Networks, Year: 2013, Pages: 407-415. * |
Also Published As
Publication number | Publication date |
---|---|
BR112016015878B1 (pt) | 2023-02-23 |
AU2014377337B2 (en) | 2019-08-01 |
AU2014377337A1 (en) | 2016-08-18 |
BR112016015878A2 (zh) | 2017-08-08 |
TW201528806A (zh) | 2015-07-16 |
KR102212973B1 (ko) | 2021-02-04 |
CN105900433B (zh) | 2020-02-21 |
US20160330289A1 (en) | 2016-11-10 |
JP6538061B2 (ja) | 2019-07-03 |
TW201527979A (zh) | 2015-07-16 |
EP3092811A1 (en) | 2016-11-16 |
WO2015104070A1 (en) | 2015-07-16 |
CN105900433A (zh) | 2016-08-24 |
KR20160105803A (ko) | 2016-09-07 |
US10735544B2 (en) | 2020-08-04 |
EP3092811B1 (en) | 2020-02-12 |
JP2017510120A (ja) | 2017-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102356621B1 (ko) | 클라이언트 단말기들과 적어도 하나의 서버 사이의 전송 경로를 따라 배열된 캐시를 동작시키기 위한 방법, 및 대응하는 캐시 | |
TWI634789B (zh) | 提供多媒體內容之內容部分至用戶端之方法及對應之快取 | |
TWI683559B (zh) | 沿著用戶終端機與至少一伺服器間傳輸路徑所設置網路設備之操作方法,及對應之網路設備 | |
JP6532764B2 (ja) | クライアント端末と少なくとも1つのサーバとの間の伝送路に配置されたキャッシュを操作する方法、および対応するキャッシュ | |
TW201501526A (zh) | 提供多媒體內容之內容部分至用戶端之方法及對應之快取 | |
US10348789B2 (en) | Method for retrieving, by a client terminal, a content part of a multimedia content |