TWI591989B - 為熱流最佳化之資料流區段 - Google Patents

為熱流最佳化之資料流區段 Download PDF

Info

Publication number
TWI591989B
TWI591989B TW102112814A TW102112814A TWI591989B TW I591989 B TWI591989 B TW I591989B TW 102112814 A TW102112814 A TW 102112814A TW 102112814 A TW102112814 A TW 102112814A TW I591989 B TWI591989 B TW I591989B
Authority
TW
Taiwan
Prior art keywords
connection
flow
hot
stream
data
Prior art date
Application number
TW102112814A
Other languages
English (en)
Other versions
TW201347472A (zh
Inventor
保羅 伊姆瑞 薩寶
彼得M 提恩威爾
提姆西 史卡特 米歇爾斯
Original Assignee
飛五網路股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 飛五網路股份有限公司 filed Critical 飛五網路股份有限公司
Publication of TW201347472A publication Critical patent/TW201347472A/zh
Application granted granted Critical
Publication of TWI591989B publication Critical patent/TWI591989B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/169Special adaptations of TCP, UDP or IP for interworking of IP based networks with other networks 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

為熱流最佳化之資料流區段 【相關申請之交互參照】
本申請案係為2012年5月1日所申請之美國臨時專利申請案第61/641,251號為基礎的發明專利申請案,在此主張之該申請日期的優先權係以35 U.S.C.§119(e)為基礎。
本發明一般而言與封包流量管理有關,且更特別的並不僅是用以決定網路連接流控制資料是否應該被卸載至儲存一高速快取中的資料流區段。
網際網路的大量使用已經增加客戶端裝置與伺服器端裝置之間的通訊連接。一客戶端裝置時常利用習知的通訊協定建立與一伺服器端裝置的網路連接,像是透過傳輸控制協定/網際網路協定(TCP/IP)、使用者資料協定(UDP)與其他類似協定。此網路連接可以透過一特徵或是一些特徵的組合所辨識,像是一來源埠口、一目的地埠口、一來源位址、一目的地位址、一通訊協定及其他類似特徵。一般而言,對於一客戶端裝置與一伺服器端裝置之間的網路連接而言,該來源位址、目的地位址、目的地埠口與通訊協定係相對固定。因此,可以使用該來源埠口來唯一辨識該客戶端 裝置與該伺服器端裝置之間的連接。此外,網際網路的擴張已經導致封包流量管理的改善。一種所述的進步係如同在2001年3月21日申請之美國專利案號7,343,413,標題為「“Method and System for Optimizing a Network by Independently Scaling Control Segments and Data Flow」中所詳細敘述將一控制區段與一資料流區段之間的操作分離的改進,其係藉由引用形式而整體併入本文。因此,本發明係針對這些與其他的考量所建立。
100‧‧‧系統
102‧‧‧客戶端裝置
103‧‧‧客戶端裝置
104‧‧‧客戶端裝置
105‧‧‧客戶端裝置
107‧‧‧網路
108‧‧‧網路
109‧‧‧封包流量管理裝置
110‧‧‧伺服器端裝置
111‧‧‧伺服器端裝置
200‧‧‧客戶端裝置
202‧‧‧處理器
204‧‧‧隨機存取記憶體
206‧‧‧操作系統
208‧‧‧資料儲存器
214‧‧‧應用程式
218‧‧‧瀏覽器
222‧‧‧唯讀記憶體
224‧‧‧基本輸入/輸出系統(BIOS)
226‧‧‧記憶體
228‧‧‧電源供應器
230‧‧‧處理器可讀儲存裝置
234‧‧‧匯流排
236‧‧‧網路介面
238‧‧‧音頻介面
240‧‧‧顯示器
242‧‧‧鍵盤
248‧‧‧輸入/輸出介面
300‧‧‧網路裝置
302‧‧‧處理器
304‧‧‧隨機存取記憶體
306‧‧‧操作系統
308‧‧‧資料儲存器
314‧‧‧應用程式
316‧‧‧網路伺服器
318‧‧‧控制區段
322‧‧‧唯讀記憶體
324‧‧‧基本輸入/輸出系統
326‧‧‧匯流排
328‧‧‧處理器可讀儲存裝置
330‧‧‧網路介面單元
332‧‧‧輸入/輸出介面
334‧‧‧硬碟裝置
336‧‧‧視頻顯示轉接器
338‧‧‧資料流區段
400A‧‧‧系統
400B‧‧‧系統
402‧‧‧客戶端裝置
403‧‧‧客戶端裝置
404‧‧‧封包流量管理裝置
406‧‧‧資料流區段
407‧‧‧資料流區段
408‧‧‧控制區段
409‧‧‧控制區段
410‧‧‧伺服器端裝置
411‧‧‧伺服器端裝置
500‧‧‧序列
502‧‧‧步驟
504‧‧‧步驟
506‧‧‧步驟
508‧‧‧步驟
510‧‧‧步驟
512‧‧‧步驟
514‧‧‧步驟
516‧‧‧步驟
518‧‧‧步驟
520‧‧‧步驟
522‧‧‧步驟
524‧‧‧步驟
600‧‧‧程序
602‧‧‧區塊
604‧‧‧區塊
606‧‧‧區塊
608‧‧‧區塊
610‧‧‧區塊
612‧‧‧區塊
614‧‧‧區塊
700‧‧‧程序
702‧‧‧區塊
704‧‧‧區塊
706‧‧‧區塊
708‧‧‧區塊
710‧‧‧區塊
800‧‧‧程序
802‧‧‧區塊
804‧‧‧區塊
806‧‧‧區塊
808‧‧‧區塊
810‧‧‧區塊
900‧‧‧程序
902‧‧‧區塊
904‧‧‧區塊
906‧‧‧區塊
908‧‧‧區塊
910‧‧‧區塊
912‧‧‧區塊
914‧‧‧區塊
1000‧‧‧程序
1002‧‧‧區塊
1004‧‧‧區塊
1006‧‧‧區塊
1100‧‧‧程序
1102‧‧‧區塊
1104‧‧‧區塊
1106‧‧‧區塊
本發明之非限制及非窮盡的具體實施例係參考該等後續圖示所敘述。在該等圖式中,除具體指明外,否則在該各種圖式中相同的參考編號係指相同的部分。為了對本發明能有一較佳瞭解,將參考下述實施方式,並結合該等伴隨圖式一起閱讀,其中:第一圖為一環境系統圖式,於該環境中可實作本發明之多個具體實施例;第二圖顯示一客戶端裝置之一具體實施例,該客戶端裝置可包含於如第一圖中所示之一系統中;第三圖顯示一網路裝置之一具體實施例,該網路裝置可包含於如第一圖中所示之一系統中;第四A圖與第四B圖描述概觀系統圖式,其根據該等具體實施例,通則性圖示在多個客戶端裝置與多個伺服器端裝置之間 所佈置之一封包流量管理裝置之多個具體實施例;第五圖描述一序列圖式,其根據該等具體實施例,通則性圖示用於在一資料流區段處終結一連接流以及在該資料流區段處建立一新的連接流之一序列具體實施例;第六圖顯示一流程圖,該流程圖圖示根據該各種具體實施例之至少一具體實施例,進行封包流量管理之程序;第七圖顯示一流程圖,該流程圖圖示根據該各種具體實施例之至少一具體實施例,於一資料流區段處處理多個新的連接流的程序;第八圖顯示一流程圖,該流程圖圖示根據該各種具體實施例之至少一具體實施例,於一控制區段處處理多個驅趕訊息的程序;第九圖顯示一流程圖,該流程圖圖示根據該各種具體實施例之至少一具體實施例,決定多個連接流是否係為卸載至該資料流區段之候選連接流的程序;以及第十圖與第十一圖顯示多個流程圖,該等流程圖圖示根據該各種具體實施例之至少一具體實施例,用於辨識多個熱連接流的程序。
在此申請說明書與該等申請專利範圍之中,除非該上下文明顯指示,否則該等下述用詞係具備於此所相關的明確意涵。 本文所稱「在一具體實施例中」,可能但未必指稱同一實施例。此外,本文所稱「在另一具體實施例中」,可能但未必指稱另一不同的實施例。因此,如以下所敘述之不同實施例,在不脫離本發明之範圍或精神的情況下係可輕易結合。
此外,當在此使用時,除非該上下文明顯指示,否則該用詞「或」係為一種包含的「或」用法,並與用詞「及/或」等價。除非該上下文明顯指示,否則該用詞「根據」並非為排他的用法,其允許根據其他為敘述的因素。此外,在此申請規格書中,「一」、「一個」與「該」的意義係包含複數用法。「在某物之中」的意義則包含「在其中」與「在其上」。
當在此使用時,該用詞「SYN」意指使用傳輸控制協定(TCP)所傳輸的封包,其包含在該封包之TCP表頭中的一設定同步控制旗標。
當在此使用時,該用詞「ACK」意指使用TCP所傳輸的封包,其包含在該封包之TCP表頭中的一設定確認旗標。
當在此使用時,該用詞「SYN_ACK」意指使用TCP所傳輸的封包,其包含在該封包之TCP表頭中的一設定同步控制旗標與一設定確認旗標。
當在此使用時,該用詞「FIN」意指使用TCP所傳輸的封包,其包含在該封包之TCP表頭中,從傳送者旗標並無更多資料的一設定旗標。
當在此使用時,該用詞「FIN_ACK」意指使用TCP 所傳輸的封包,其包含在該封包之TCP表頭中,從傳送者旗標並無更多資料的一設定旗標與一設定確認旗標。FIN_ACK壓縮FIN與ACK成為一個TCP封包。
當在此使用時,該用詞「元組(tuple)」意指辨識一連接之一來源與目的地的一組數值。在一具體實施例中,五元組可以包含一來源位址、一目的地位置、一來源埠口、一目的地埠口與一通訊協定識別符。在各種具體實施例之至少一具體實施例中,可以使用多個元組辨識網路流(例如,連接流)。
當在此使用時,該用詞「網路流(network flow)」、「連接流(connection flow)」、「流(flow)」意指一網路通信,該網路通信可於兩終端之間建立。在各種具體實施例之至少一具體實施例中,元組可用於敘述該流。各種具體實施例之至少一具體實施例中,可以使用與多個連接流有關的流控制資料,以確保在一連接流之該等終端之間傳送之該等網路封包可以沿著該相同路徑所配送。在各種具體實施例之至少一具體實施例中,如果使用多個變化路徑及/或指向多個不同終端時,便可能降低連接導向網路協定的效能,例如像是TCP/IP的網路協定。
當在此使用時,該用詞「真正的連接流」意指已經決定與一操作中客戶端-伺服器端通訊通信有關的一連接流。相比之下,非真正的連接流則可能與一惡意攻擊有關,像是SYN洪水型攻擊。在各種具體實施例之至少一具體實施例中,一真正連接流的特徵可以包含TCP/IP握手協定(handshaking)完整性、雙向網路封包交 換的事證或其他類似特徵。同樣的,一連接流係為非真正連接流的事證可以包含半開放連接(不完整的握手協定與連接設定)、如果存在網路封包交換也盡是極少數封包,或其他類似事證。
當在此使用時,該用詞「熱連接流」意指一連接流,其已經被決定為進行卸載至一資料流區段之一候選連接流。熱流連接可以具有多個特徵,像是高頻寬利用、服務品質優先性,或其他類似特徵。
當在此使用時,該用詞「高速流快取」意指以快取為基礎的記憶體,其用於儲存與多個連接流相關之流控制資料。該快取可以利用專用匯流排所存取,並可以根據多種因素的組合提供非常快的效能,該等因素可以包含寬匯流排、快速時脈速度、專用通道、特殊讀取及/或寫入緩衝、硬體近區、溫度控制或其他類似因素。同樣的,該高速流快取可以由非常快的隨機存取記憶體(RAM)元件所構成,像是由靜態RAM(SRAM)、非同步SRAM、爆發式SRAM、延伸資料輸出動態隨機存取記憶體(EDO DRAM)或其他類似元件。在大多數情況中,包含該高速流快取之該高效能元件時常相對昂貴。因此,該高速流快取可以包含在一流量管理裝置之中有價值的「實際資產」。
以下將簡略敘述本發明的各種實施例,讓讀者對本發明的部分特點能有基本理解,然而此簡略敘述並非意在提供本發明全面性的概覽,也非意在指明本發明的主要或關鍵元件,或以此界定、縮小本發明的範圍。此簡略敘述之目的在於用簡化方式呈現本 發明的一些概念,以此為後續更詳盡的敘述預作準備。
簡言之,多個具體實施例關於利用使多個熱連接流之管理最佳化的方式,改善多個網路流量管理裝置的效能。一封包流量管理裝置(PTMD)可以使用一資料流區段(Data Flow Segment,DFS)組件與控制區段(Control Segment,CS)組件。在各種具體實施例之至少一具體實施例中,該CS可以為了維持在該DFS處的連接流,執行高階控制功能與以資料流為處理單位(per-flow)的政策執行,同時該DFS可對於於該DFS處所維持之連接流執行統計資料蒐集、以封包為處理單位(per-packet)的政策執行(例如,封包位址轉譯)或其他類似功能。
可以使用該CS,根據在該封包流量管理裝置處所接收之多個連接流請求,為可以被卸載至該DS之多個連接流產生流控制資料。在一具體實施例中,該CS可以接收由一客戶端裝置所傳送之一新的連接流請求,像是一SYN封包。該CS可以為該連接流請求產生並快取一連接流識別符。在各種具體實施例之至少一具體實施例中,該DFS可以包含多個高速流快取與多個其他高速組件。在各種具體實施例之至少一具體實施例中,可以使該高速流快取儲存一定義量的流控制資料,該定義量的流控制資料可以限制可被卸載至該DFS進行處理的連接流數量。在各種具體實施例之至少一具體實施例中,利用使該熱連接流的數量最大化,以及使惡意及/或非操作性連接流(例如,非真正的資料流)的數量最小化的方式,可以改善該高速流快取容量的有效使用,該惡意及/或非操作性連接 流可能具有儲存在該高速流快取中的流動控制資料。
在各種具體實施例之至少一具體實施例中,如果接收一新的網路連接流,可將其傳遞至一控制區段(CS)。在各種具體實施例之至少一具體實施例中,該CS可以為了該新的網路連接流產生該流控制資料。在一具體實施例中,如果該CS決定該新的網路連接流應該被卸載至該DFS,那麼該CS可以傳送一控制訊息至該DFS,該控制訊息可以包含該流控制資料。在各種具體實施例之至少一具體實施例中,該DFS可以在與該DFS有關之該高速流控制快取中,儲存該已接收的流控制資料。
在各種具體實施例之至少一具體實施例中,該CS可以接收從該DFS所驅趕之多個連接流。在各種具體實施例之至少一具體實施例中,如果該被驅趕之連接係保持有效且/或作用中,那麼該CS可以為該被傳輸之連接流開始處理該等網路封包(例如,除了提供該資料流階層控制與政策執行之外,該CS可以接管該封包層控制)。
在各種具體實施例之至少一具體實施例中,結合管理該等連接流,該CS可以分析流統計資料及應用程式,以辨識多個熱連接流。在各種具體實施例之至少一具體實施例中,如果可以辨識多個熱連接流,該CS可以決定是否有任何熱連接流應該由該DFS所處理以改善效能。
在各種具體實施例之至少一具體實施例中,將一連接流卸載至該DFS以進行處理的方式,使得該DFS可以利用已經由該 CS所產生之流控制資料管理封包轉譯。在各種具體實施例之至少一具體實施例中,卸載至該DFS之多個連接流可以獲得效能改善的優勢,這是因為由構成該DFS該高效能硬體所造成。在各種具體實施例之至少一具體實施例中,如果該連接流可以被卸載至該DFS進行處理,便可以將用於多個連接流之該流控制資料儲存於與該DFS相關之該高速流快取中。
例證操作環境
第一圖圖示一環境具體實施例之多個元件,於該環境中可實作本發明。實作本發明並不需要該等所有元件,而在不背離本發明精神與構想下可以進行該等元件之佈置與形式的變化。
如圖所示,第一圖之系統100包含多個區域網路(LAN)/廣域網路(WAN)之網路108、無線網路107、多個客戶端裝置102-105、封包流量管理裝置(PTMD)109與多個伺服器端裝置110-111。網路108係與多個客戶端裝置102-105、無線網路107與PTMD 109進行通訊,並建立該等元件之間的通訊。載波網路107進一步建立與多個無線裝置之間的通訊,像是該等客戶端裝置103-105。PTMD 109係與網路108與多個伺服器端裝置110-111進行通訊。
以下結合第二圖詳細敘述客戶端裝置102-105之一具體實施例。在一具體實施例中,該等客戶端裝置102-105之至少某些裝置可以透過一有線及/或一無線網路所操作,像是透過網路107及/或108。一般而言,該等客戶端裝置102-105實質上可以包含能夠 透過一網路通訊之任何計算裝置,以傳送並接收包含多個即時訊息之資訊、執行各種線上活動,或是進行其他類似動作。應該認可的是在像是於此敘述之一系統中可以包含較多或較少的客戶端裝置,因此各種具體實施例並不受到所使用客戶端之數量與形式的限制。
可以操作為客戶端裝置102之各種裝置可以包含典型上利用有線或無線通訊媒介所連接的各種裝置,像是個人電腦、伺服器、多處理系統、以微處理器為基礎或可編程消費型電子裝置、網路個人電腦或其他類似裝置。在某些具體實施例中,該等客戶端裝置102-105實質上可以包含能夠連接至另一計算裝置並接收資訊的任何可攜式計算裝置,像是膝上電腦103、智慧手機104、平板電腦105或其他類似裝置。然而,可膝上電腦裝置並不因此受限,並可以包含其他可攜式裝置,像是行動電話、顯示呼叫器、射頻(RF)裝置、紅外線(IR)裝置、個人數位助理(PDA)、手持式電腦、可穿戴式電腦、結合該等前述裝置之一或多項的整合裝置,以及其他類似裝置。因此,該等客戶端裝置102-105一般而言於容量與特徵方面範圍廣泛。此外,該等客戶端裝置102-105可以提供對於各種計算應用程式的存取,包含瀏覽器或其他以網路為基礎的應用程式。
一網路致能的客戶端裝置可以包含一瀏覽器應用程式,該瀏覽器應用程式係經配置以接收並傳送多個網頁、多個以網路為基礎之訊息以及其他類似內容。該瀏覽器應用程式係經配置以 使用實質上任何以網路為基礎的語言接收並展示圖片、文字、多媒體與其他類似內容,該語言則包含無線應用程式通訊協定訊息(WAP)與其他類似語言。在一具體實施例中,該瀏覽器應用程式能夠使用手持設備標示語言(HDML)、無線標示語言(WML)、WMLScript、JavaScript、標準通用標示語言(SGML)、超文件標示語言(HTML)、可延伸性標示語言(XML)與其他類似語言,以展示並傳送一訊息。在一具體實施例中,該客戶端裝置之一使用者可以使用該瀏覽器應用程式以於一網路上執行各種(線上)動作。然而,也可以使用另一應用程式執行各種線上活動。
該等客戶端裝置102-105也可以包含至少一另一客戶端應用程式,該客戶端應用程式經配置以於另一計算之間接收及/或傳送資料。該客戶端應用程式可以包含傳送及/或接收內容,或是其他類似動作的容量。該客戶端應用程式可以進一步提供用於辨識該客戶端應用程式本身的資訊,包含形式、容量、名稱或其他類似資訊。在一具體實施例中,該等客戶端裝置102-105可以透過各種機制之任意機制唯一辨識其本身,包含電話號碼、行動電話機識別碼(MIN)、電子序號(ESN)或其他行動裝置識別符。該資訊也可以指示該行動裝置所能使用之一內容格式。這種資訊可以提供於一網路封包或其他類似內容之中,並於多個其他客戶端裝置、PTMD 109、該等伺服器端裝置110-111、或多個其他計算裝置之間傳送。
該等客戶端裝置102-105可以進一步經配置以包含一 客戶端應用程式,該客戶端應用程式使一終端使用者登入一終端使用者帳號,該帳號可由另一計算裝置所管理,像是由該等伺服器端裝置110-111或其他類似裝置所管理。在一非限制示例中,該等終端使用者帳號可經配置以使該終端使用者管理一或多個線上活動,包含多種搜尋活動、社交網路活動、瀏覽各種網站、與多個其他使用者通訊、參加遊戲、與各種應用程式互動,或進行其他類似活動,但並不限制於此。然而,參與多種線上活動也可以在不登入至該終端使用者帳號的情況下執行。
該無線載波網路107係經配置以將該等客戶端裝置103-105與其多個元件與該網路108連接。該無線載波網路107可以包含各種無線次網路之任何形式,其進一步包含多個獨立無線對等式網路與其他類似形式,以為該等客戶端裝置102-105提供一種無線主從式網路的連接。該等次網路可以包含網狀網路、無線區域網路(WLAN)、蜂巢式網路與其他類似網路。在一具體實施例中,該系統可以包含多於一種的無線網路。
該無線載波網路107可以進一步包含多個終端器、閘道、路由器與其他類似裝置的自主系統,該等裝置以無線式無線電鏈結或其他類似方式連接。這些連接器可經配置以自由隨機移動,並隨意自我組織,因此該無線載波網路107之拓撲可以快速改變。
該無線載波網路107可以進一步使用複數個存取技術,包含蜂巢式系統的第二代(2G)、第三代(3G)、第四代(4G)、第五代(5G)無線電存取技術、WLAN、無線路由器(WR)網狀 網路與其他類似網路。像是2G、3G、4G、5G與多種未來存取網路的存取技術可達到行動裝置的廣域覆蓋,因此該等客戶端裝置103-105可以具有各種程度的移動性。在一非限制示例中,該載波網路107可透過一無線電網路存取達成無線電連接,像是透過全球行動通信系統(GSM)、通用封包無線服務技術(GPRS)、增強數據率GSM服務(EDGE)、分碼多工多重存取(CDMA)、分時多工多重存取(TDMA)、寬頻分碼多工多重存取(WCDMA)、高速下行鏈路封包存取(HSDPA)、長期演進技術(LTE)與其他類似存取技術。基本上,該載波網路107實質上可以包含各種無線通訊機制,藉由該等機制資訊便可以在該等客戶端裝置103-105與另一計算裝置、網路與其他類似裝置之間移動。
該網路108經配置以將多個網路裝置與多個其他裝置連接,包含透過PTMD 109、客戶端裝置102連接該等伺服器端裝置110-111,透過無線載波網路107連接多個客戶端裝置103-105。該網路108可以使用任何形式的電腦可讀媒介,以從一電子裝置通訊資訊至另一電子裝置。同樣的,該網路108除了各種LAN、各種WAN、像是透過通用串列匯流排(USB)埠口的各種直接連接、其他電腦可讀媒介形式,或是以上之任意組合之外,也可以包含網際網路。在LAN的互連組合上,其包含以多個不同結構或通訊協定為基礎的部分,一路由器係可做為多個LAN之間的鏈結,使多個訊息可於彼此之間傳送。此外,多個LAN之中的多個通訊鏈結一般而言包含絞線對或同軸纜線,然而在多個網路之間的多個通訊鏈結以使用類比 電話線、包含T1、T2、T3與T4的完全或部分專用數位線及/或多個其他載波機制,例如包含E載波、整體服務數位網路(ISDN)、數位用戶線路(DSL),無線鏈結包含衛星鏈結或是該發明所屬技術領域中具有通常知識者所熟知的多個其他通訊鏈結。此外,通訊鏈結可以進一步使用各種數位發訊技術的任何技術,例如包含DS-0、DS-1、DS-2、DS-3、DS-4、OC-3、OC-12、OC-48或其他類似技術,但並不限制於此。此外,多個遠端電腦與多個其他相關電子裝置也可以透過一數據機或暫時電話鏈結遠端連接至多個LAN或WAN。在一具體實施例中,該網路108經配置以傳輸一網際網路協定(IP)的資訊。基本上,該網路108包含任何通訊方法,藉由該方法資訊可於多個計算裝置之間移動。
此外,通訊媒介一般而言包含多個電腦可讀指令、資料結構、程式模組或其他傳輸機制,並包含任何資訊傳送媒介。做為示例,通訊媒介包含像是絞線對、同軸纜線、光纖、波導等有線媒介與其他的有線媒介,也包含像是聲波、無線電、紅外線等無線媒介與其他無線媒介。
以下結合第三圖詳細敘述PTMD 109之一具體實施例。然而,簡言之,該PTMD 109實質上可以包含能夠管理該等客戶端裝置102-105與該等伺服器端裝置110-111之間網路流量的任何網路裝置。這種裝置例如包含路由器、代理器、防火牆、負載平衡器、快取裝置、執行網路位址轉譯之多個裝置或其他類似裝置,或是其任意組合。該PTMD 109可以執行配送、轉譯、切換封包或其 他類似的操作。在一具體實施例中,該PTMD 109可以檢查多個來源網路封包,並可以執行一位址轉譯、埠口轉譯、封包序列轉譯與其他類似功能,並至少部分根據該封包檢查配送該等網路封包。在某些具體實施例中,該PTMD 109可以執行負載平衡操作,以決定一伺服器端裝置指導一請求。所述負載平衡操作係可為以網路流量、網路拓撲、一伺服器之容量、所請求之內容或是許多其他流量分配機制為基礎。
該PTMD 109可以包含一控制區段與一分離的資料流區段。該控制區段可以包含多個軟體最佳化操作,該等最佳化操作為了封包流量管理執行多個高階功能與以資料流為處理單位的政策執行。在各種具體實施例之至少一具體實施例中,該控制區段可經配置以管理在該資料流區段處所維持之多個連接流。在一具體實施例中,該控制區段可以提供多個指令至該資料流區段,例如像是一封包轉譯指令,以使該資料流區段配送多個已接收封包至一伺服器端裝置,像是配送至該等伺服器端裝置110-111。該資料流區段可以包含多個硬體最佳化操作,該等最佳化操作為了在該等客戶端裝置與該等伺服器端裝置之間該DFS處所維持的多個連接流,執行統計資料蒐集、以封包為處理單位的政策執行(例如,封包位置轉譯)、高速流快取或其他類似功能,像是於該等客戶端裝置102-105與該等伺服器端裝置110-111之間。
該等伺服器端裝置110-111實質上可以包含任何網路裝置,該等裝置則可操作為一網站伺服器。然而,該等伺服器端裝 置110-111並不限制於網站伺服器,並可以操作為訊息伺服器、檔案傳送協定(FTP)伺服器、資料庫伺服器、內容伺服器,或是其他類似裝置。此外,該等伺服器端裝置110-111之每一裝置可經配置以執行一不同操作。可操作成為該等伺服器端裝置110-111之裝置包含各種網路裝置,包含多個個人電腦、桌上電腦、多處理器系統、以微處理器為基礎或可編程消費型電子裝置、網路個人電腦、伺服器端裝置、網路設備或其他類似裝置,但不限制於此。
雖然第一圖描述該等伺服器端裝置110-111係為單一計算裝置,但本發明並不限制於此。例如,該等伺服器端裝置110-111之每一個的一或多項功能都可分布於一或多個分離的的網路裝置上。此外,該等伺服器端裝置110-111並不限制於一特定配置。因此在一具體實施例中,該等伺服器端裝置110-111可以包含利用主從方式所操作之多個網路裝置,其中該等伺服器端裝置110-111之該些網路裝置之一係經操作以管理及/或組織該等其他網路裝置的多個操作。在其他具體實施例中,該等伺服器端裝置110-111可以操作為一叢集結構、點對點結構之中及/或甚至一雲端結構之中的多個網路裝置。因此,本發明的建構並不限制為一單一環境,其也同時設想到多個其他配置與結構。
例證客戶端裝置
第二圖圖示客戶端裝置200之一具體實施例,該客戶端裝置200可以包含於本發明之一系統實作具體實施例之中。該客戶端裝置200可以包含多於或少於第二圖中所述的元件。然而,所 圖示之該等元件係足夠揭示用於執行本發明之例證具體實施例。例如,該客戶端裝置200可以代表第一圖中該等客戶端裝置102-105之至少一客戶端裝置的具體實施例。
如該圖式中所示,該客戶端裝置200包含一處理器202,該處理器202透過一匯流排234與記憶體226通訊。該客戶端裝置200也包含一電源供應器228、一或多個網路介面236、音頻介面238、顯示器240、鍵盤242與輸入/輸出介面248。
該電源供應器228提供電力至該客戶端裝置200。可以使用一可充電式或不可充電式電池提供電力。也可由一外部電力來源提供電力,像是一交流轉接器或是對一電池補充及/充電之供電座。
該客戶端裝置200可以選擇性與一(未圖示)基地台通訊,或是直接與另一計算裝置通訊。該網路介面236包含將該客戶端裝置200連接至一或多個網路的電路,並經建構以使用一或多種通訊協定及技術,其包含GSM、CDMA、TDMA、HSDPA、LTE、UDP、TCP/IP、短訊服務(SMS)、GPRS、WAP、超寬頻(UWB)、IEEE 802.16全球互通微波存取(WiMax)、會話初始協定/即時傳輸協定(SIP/RTP)或各種其他無線通訊協定之任何協定,但不限制於此。該網路介面236有時候係為已知的收發器、收發裝置或網路介面卡(NIC)。
該音頻介面238係經配置以產生並接收多個音頻訊號,像是人聲的聲響。例如,該音頻介面238可以連接至一(未圖 示)揚聲器與麥克風,以與其他人進行遠端通訊及/或產生某些動作的音頻確認。
該顯示器240可為一液晶顯示器(LCD)、氣體電漿、發光二極體(LED)或是與一計算裝置使用之任何其他顯示器形式。該顯示器240也可以包含一觸控螢幕,該螢幕經佈置以接收來自像是一觸控筆物件的輸入,或是來自一人手手指的輸入。
該鍵盤242可以包含任何輸入裝置,該輸入裝置經佈置以從一使用者接收輸入。例如,該鍵盤242可以包含一按鈕數字撥號盤或是鍵盤。該鍵盤242也可以包含多個命令按鈕,該等命令按鈕係與選擇與傳送多個影像有關。
該客戶端裝置200也包含輸入/輸出介面248,以與多個外部裝置通訊,像是與一耳機通訊,或是與第二圖中所示多個其他輸入或輸出裝置通訊。該輸入/輸出介面248可以使用一或多種通訊技術,像是USB、紅外線、藍芽或是其他類似技術。
該客戶端裝置200也可以包含一(未圖示)GPS收發器,以決定該客戶端裝置200於地球表面上之實體坐標。一GPS收發器一般而言輸出像是經度緯度數值的位置。然而,該GPS收發器也可使用其他地理定位機制,包含三角定位、輔助衛星定位系統(AGPS)、增強測量時間差(E-OTD)、基地台識別符(CI)、服務地區識別符(SAI)、增強時間先行值(ETA)、基地台次系統(BSS)或其他類似機制,但不限制於此,以進一步決定該客戶端裝置200於地球表面上之實體坐標。要瞭解到在不同情況下,一GPS收發器 可以決定該客戶端裝置200毫米等級的實體位置,而在其他情況中,所決定之實體位置精度可能較差,像是以米為等級或是更大的距離。然而在一具體實施例中,該客戶端裝置200可以透過多個其他元件,提供可以用於決定該裝置之一實體位置的其他資訊,例如包含媒體存取控制(MAC)位址、IP位址或其他類似資訊。
該記憶體226包含一隨機存取記憶體(RAM)204、一唯讀記憶體(ROM)222與其他儲存方式。該大量記憶體226描述電腦可讀儲存媒體(裝置)之一示例,以儲存像是多個電腦可讀指令、資料結構、程式模組或其他資料的資訊。該大量記憶體226儲存一基本輸入/輸出系統(BIOS)224以控制該客戶端裝置200的低階操作。該大量記憶體也儲存一操作系統206,以控制該客戶端裝置200的操作。將能體會的是此元件也包含像是UNIX或LINUXTM的版本之一般目的操作系統,或像是Windows MobileTM的專用客戶端通訊操作系統,或是Symbian®操作系統。該操作系統可以包含或與一Java虛擬機器模組介接,其能夠透過Java應用程式控制硬體元件及/或操作系統的各種操作。
該大量記憶體226進一步包含一或多個資料儲存器208,該等資料儲存器208可以由該客戶端裝置200使用以儲存多個應用程式214及/或其他資料與其他事物。例如,該資料儲存器208也可以用於儲存敘述該客戶端裝置200各種容量之資訊。接著可以各種事件之任何事件,提供該資訊至另一裝置,包含在一通訊期間傳送成為一表頭部分、在請求後立即傳送或是其他類似事件。該資 料儲存器208也可以用於儲存社交網路資訊,包含通訊錄、好友清單、別名、使用者數據資料或其他類似資訊。此外,該資料儲存器208也可以儲存訊息、網頁內容或是各種使用者產生內容之任何內容。該資訊之至少一部分也可以儲存在該網路裝置200之另一元件上,包含處理器可讀儲存裝置230、該客戶端裝置200之中(未圖示)磁碟或其他電腦可讀儲存媒體,但不限制於此。
該處理器可讀儲存裝置230可以包含揮發式、非揮發式、可移除式與不可移除式媒介,其以任何方法或技術實作,以儲存資訊,像是儲存多個電腦或處理器可讀指令、資料結構、程式模組或其他資料。該處理器可讀儲存媒介的示例包含RAM、ROM、電子可抹除可規劃唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀記憶光碟(CD-ROM)、數位多功能影音光碟(DVD)或其他光學儲存媒介、磁匣、磁帶、磁碟儲存器或其他磁性儲存裝置,或是可以用於儲存所需要資訊並可由一計算裝置所存取之任何其他實體媒介。在此該處理器可讀儲存裝置230也可以稱為電腦可讀儲存媒介。
該應用程式214可以包含多個電腦可執行指令,當由該客戶端裝置200執行時,便傳輸、接收及/或是處理網路資料。網路資料可以包含訊息(例如,SMS、多媒體訊息服務(MMS)、即時訊息(IM)、電子郵件及/或其他訊息)、音頻、視頻,但不限制於此,並可以與另一客戶端裝置之另一使用者進行遠端通訊。該應用程式214例如可以包含一瀏覽器218。該應用程式214可以包含多 個其他應用程式,其可以包含行事曆、搜尋程式、電子郵件帳戶、IM應用程式、SMS應用程式、網路電話(VOIP)應用程式、聯絡人管理器、工作管理器、解碼器、資料庫應用程式、文字處理程式、安控應用程式、工作表程式、遊戲、搜尋程式等等,但不限制於此。
該瀏覽器218實質上可以包含任何應用程式,該應用程式經配置以接收並展示多個圖片、文字、多媒體即或其他類似內容,並實質上使用任何網路基礎語言。在一具體實施例中,該瀏覽器應用程式係可以使用HDML、WML、WMLScript、JavaScript、SGML、HTML、XML與其他類似語言,以展示並傳送訊息。然而,可以使用各種其他以網路為基礎之程式語言的任何語言。在一具體實施例中,該瀏覽器218可以使該客戶端裝置200之一使用者與另一網路裝置通訊,像是與該PTMD 109及/或與該等伺服器端裝置110-111通訊。
例證網路裝置
第三圖圖示根據本發明之一具體實施例,一網路裝置300之具體實施例。該網路裝置300可以包含多於或少於所圖示之元件。然而,所圖示之該等元件係足夠揭示用於執行本發明之例證具體實施例。該網路裝置300係經配置以操作為一伺服器、客戶端、節點、主機或任何其他裝置。該網路裝置300可以代表例如第一圖之該PTMD 109、第一圖之該等伺服器端裝置110-111及/或多個其他網路裝置。
該網路裝置300包含處理器302、處理器可讀儲存裝置 328、網路介面單元330、一輸入/輸出介面332、硬碟裝置334、視頻顯示轉接器336、資料流區段(DFS)338與一大量記憶體,該等所有元件都透過匯流排326彼此連接。該大量記憶體一般而言包含RAM 304、ROM 322與一或多個永久大量儲存裝置,像是硬碟裝置334、磁帶裝置、光學裝置及/或軟碟裝置。該大量記憶體儲存操作系統306,用以控制該網路裝置300的操作。可以使用任何一般目的的操作系統。也可以提供基本輸入/輸出系統(BIOS)324以控制該網路裝置300的低階操作。如第三圖中所描述,該網路裝置300也可以透過該網路介面單元330與網際網路通訊,或是與某些其他通訊網路通訊,該網路介面單元330係經建構以使用各種通訊協定,包含TCP/IP通訊協定。該網路介面單元330有時候係為已知的收發器、收發裝置或網路介面卡(NIC)。
該網路裝置300也可以包含輸入/輸出介面332,以與多個外部裝置通訊,像是包含一鍵盤或位於第三圖圖示之多個其他輸入或輸出裝置。該輸入/輸出介面332可以使用一或多種通訊技術,像是USB、紅外線、藍芽或是其他類似技術。
如以上敘述之該大量記憶體係描述另一種電腦可讀媒介形式,也就是電腦可讀儲存媒介及/或處理器可讀儲存媒介,包含處理器可讀儲存裝置328。該處理器可讀儲存裝置328可以包含揮發式、非揮發式、可移除式與不可移除式媒介,其以任何方法或技術實作,以儲存資訊,像是儲存多個電腦或處理器可讀指令、資料結構、程式模組或其他資料。該處理器可讀儲存媒介的示例包含 RAM、ROM、EEPROM、快閃記憶體或其他記憶體技術、CD-ROM、數位多功能影音光碟(DVD)或其他光學儲存媒介、磁匣、磁帶、磁碟儲存器或其他磁性儲存裝置,或是可以用於儲存所需要資訊並可由一計算裝置所存取之任何其他媒介。
該資料儲存器308可以包含一資料庫、文字、工作表、資料夾、檔案或其他類似內容,其經配置以保持並儲存多個使用者帳戶識別器、使用者數據資料、電子郵件位址、IM位址及/或其他網路位址,或是其他類似內容。該資料儲存器308可以進一步包含程式碼、資料、演算法或其他類似內容,以由一處理器所使用,像是由中央處理單元302所使用以執行並實作多個動作。在一具體實施例中,該資料儲存器308之至少某些也可以儲存於該網路裝置300之另一元件上,包含處理器可讀儲存裝置328、硬碟裝置334或其他類似裝置,但不限制於此。
該大量記憶體也可以儲存程式碼與資料。一或多個應用程式314可以載入至該大量記憶體之中,並於該操作系統306上執行。應用程式的示例係包含解碼器、排程器、行事曆、資料庫程式、文字處理程式、超文件傳輸協定(HTTP)程式、可客製化使用者介面程式、通訊協定安全(IPSec)應用程式、編碼程式、安全性程式、SMS訊息伺服器、IM伺服器、電子郵件伺服器、帳號管理器等等。網路伺服器316與控制區段(CS)318也可包含於該等應用程式314之中,以成為應用程式。
該網路伺服器316代表各種服務之任何服務,經配置 以透過一網路提供內容,包含多個訊息,至另一計算裝置。因此,該網路伺服器316例如包含一網路伺服器、FTP伺服器、資料庫伺服器、內容伺服器或其他類似伺服器。該網路伺服器316可以透過該網路使用各種格式之任何一種提供多個訊息,包含WAP、HDML、WML、SGML、HTML、XML、小型HTML(cHTML)、可擴充HTML(xHTML)或其他類似格式,但不限制於此。該網路伺服器316也可以經配置以使一客戶端裝置之一使用者瀏覽網站、上傳使用者資料或進行其他類似動作,該客戶端裝置則像是第一圖之該等客戶端裝置102-105。
該網路裝置300也可以包含DFS 338,以維持該等客戶端裝置與該等伺服器端裝置之間的多個連接流,像是第一圖之該等客戶端裝置102-105與第一圖之該等伺服器端裝置110-111之間。在一具體實施例中,該DFS 338可以包含為封包流量管理的多個硬體最佳化操作,像是與封包流量管理有關的多個反覆操作。例如,該DFS 338可以對該DFS 338處所維持之多個連接流,執行統計資料蒐集、以封包為處理單位的政策執行(例如,封包位址轉譯)或其他類似功能。在某些具體實施例中,該DFS 338可以根據為一特定連接流特徵(例如,一已接收封包之五元組。)之多個規則,配送、切換、傳遞、引導及/或是處理多個封包。因此,該DFS 338可以包含多個容量並執行多個工作,像是由一路由器、切換器、路由開關或其他類似裝置所執行的那些工作。在某些具體實施例中,用於一特定連接流特徵之該等規則係以從該CS 318所接收之多個指令為 基礎。在一具體實施例中,該DFS 338可以在一局部記憶體中儲存來自該CS 318所接收之該等指令,成為一表格或某些其他資料結構。在某些具體實施例中,該DFS 338也可以儲存一流狀態表格,以指示在該DFS 338處所維持之多個目前連接流的狀態。在各種具體實施例之至少一具體實施例中,該DFS 338之多個元件可以包含及/或組合工作,以為最佳化封包流量管理提供高速流快取。
在某些具體實施例中,該DFS 338可以提供多個連接流狀態更新至該CS 318。在一具體實施例中,一連接流狀態更新可以包含該連接流之一狀態、該連接流之一目前狀態、與該連接流有關之其他統計資訊或其他類似資訊。該連接流更新也可以包含與該連接流有關之一識別符。該識別符可由該CS 318,於該DFS 338處建立一連接流時產生並提供。在某些具體實施例中,該連接流更新可為在該連接流於該DFS 338終止之後,提供至該CS 318之一連接流刪除更新。該連接流狀態更新及/或該連接流刪除更新可於預定期間或其他類似方式週期提供至該CS 318。在某些具體實施例中,該DFS 338可於提供複數個連接流狀態更新至該CS時,使時間交錯。
在某些其他具體實施例中,該DFS 338可以包含複數個資料流區段。在一非限制性示例中,該DFS338中之一第一資料流區段可以傳遞來自一客戶端裝置所接收之多個封包至一伺服器端裝置,而該DFS 338中之一第二資料流區段可以傳遞及/或配送從一伺服器端裝置所接收之多個封包至一客戶端裝置。在各種具體實 施例之至少一具體實施例中,該DFS 338也可以實作於軟體中。
該CS 318可以包含一控制區段,其包含多個軟體最佳化操作,以為封包流量管理執行多個高階控制功能與以資料流為處理單位的政策執行。該CS 318可經配置以管理在該DFS 338處所維持之多個連接流。在一具體實施例中,該CS 318可以提供多個指令,例如像是一封包位址轉譯指令至該DFS 338,以傳遞已接收多個封包至一伺服器端裝置,像是第一圖之該等伺服器端裝置110-111。在某些具體實施例中,該CS 318可以獨立於該DFS 338於一客戶端裝置與一伺服器端裝置之間傳遞及/或配送多個封包。
在各種具體實施例之至少一具體實施例中,該CS 318可以包含複數個控制區段。在某些具體實施例中,複數個控制區段可以存取及/或管理在一單一資料流區段及/或在複數個資料流區段處之多個連接流。在某些其他具體實施例中,該CS 318可以包含一內部資料流區段。在一所述具體實施例中,該CS 318之該內部資料流區段可從該CS 318所散佈及/或分離。例如,在一具體實施例中,該CS 318可於軟體中使用,然而該內部資料流區段也可以於硬體中使用。在某些其他具體實施例中,該CS 318可以辨識該等連接流是否係從不同資料流區段及/或一DFS 338與一CS 318之間所分離。在至少一具體實施例中,該CS 318也可以實作於硬體中。
在各種具體實施例之至少一具體實施例中,該CS 318可經配置以為了在該DFS 338處所建立之每一連接流產生一識別符。在某些具體實施例中,該CS 318可以使用一SYN之序列號碼, 以為一對應連接流產生一識別符。在一具體實施例中,該識別符可以該序列數字之一雜湊函數為基礎。在另一具體實施例中,該識別符可以該序列數字之一互斥或位元操作為基礎。該CS 318可以在該CS 318處快取該識別符,並提供該識別符至該DFS 338。在某些具體實施例中,該CS 318可為了在該DFS 338處所建立之每一個連接流快取一識別符。
第四A圖描述一系統圖式,其一般性圖示一系統之具體實施例,該系統具有位於該等客戶端裝置與該等伺服器端裝置之間之一封包流量管理裝置。該系統400A可以包含位於該等客戶端裝置402-403與該等伺服器端裝置410-411之間的封包流量管理裝置(PTMD)404。該等客戶端裝置402-403可以包含Client_1至Client_M,其可包含一或多個客戶端裝置,像是第二圖之該等客戶端裝置200。該等伺服器端裝置410-411可以包含Server_1至Server_N,其可包含一或多個伺服器端裝置,像是第一圖之該等伺服器端裝置110-111。
在一具體實施例中,該PTMD 404可為第一圖該PTMD 109之一具體實施例。該PTMD 404可以包含資料流區段(DFS)406,並與控制區段(CS)408通訊。在各種具體實施例之至少一具體實施例中,該DFS 406可為第三圖該DFS 338之一具體實施例。該CS 408可為第三圖該CS 318之一具體實施例。
該CS 408可經配置以與該DFS 406、該等客戶端裝置402-403及/或獨立於該DFS 406與該等伺服器端裝置410-411及/或 其任何組合通訊。該CS 408可在DFS 406處建立多個連接流。在某些具體實施例中,該CS 408可利用提供多個指令至該DFS 406的方式於該DFS 406處建立一連接流,並使該DFS 406傳遞於該PTMD 404處所接收之多個封包,該等指令則包含流控制資料。在一具體實施例中,該CS 408可以執行一負載平衡操作,以選擇該等伺服器端裝置410-411之一伺服器端裝置,以接收從一客戶端裝置所傳送之多個封包,像是從該客戶端裝置402所傳送。在某些其他具體實施例中,當該連接流建立時,該CS 408可以產生並快取一連接流識別符,以提供至該DFS 406。
該DFS 406可經配置以促成該等客戶端裝置402-403與該等伺服器端裝置410-411之間的多個通訊。該DFS 406可以根據從該CS 408所接收之該等指令與流控制資料,處理並傳遞在該PTMD 404處接收的多個封包。例如在一具體實施例中,該DFS 406使用該等指令及/或流控制資料,以傳遞從該客戶端裝置402接收之多個封包至該伺服器端裝置410,並傳遞從該伺服器端裝置410接收之多個封包至該客戶端裝置402。在某些具體實施例中,該DFS 406可以傳遞多個預定封包至該CS 408,像是多個新的連接流請求(例如,與一SYN相關之請求),但不限制於此。而在其他具體實施例中,該DFS 406可以通知該CS 408已經接收並傳遞一封包。在一非限制、非窮盡示例中,該DFS 406可以通知該CS 408,已經從該客戶端裝置402接收一ACK,並傳遞至該伺服器端裝置410。在各種具體實施例之至少一具體實施例中,該DFS 406也可以提供多個連接 流更新與一對應連接流識別符至該CS 408。該CS 408可以比較該對應連接流識別符與該已快取識別符,以決定該連接流更新是否為有效。
在各種具體實施例之至少一具體實施例中,如果一連接流係從該DFS 406所驅趕,該DFS 406可以傳送驅趕訊息至該CS 408。在各種具體實施例之至少一具體實施例中,如果多個新的流抵達,且超過該DFS 406能夠處理該新的連接流的容量時,該DFS 406便可以驅趕一連接流。在各種具體實施例之至少一具體實施例中,如果用於儲存流控制資料之該高速流快取已經超過其可以為該等新連接流儲存該流控制資料的容量,便可以從該DFS 406進行驅趕。在各種具體實施例之至少一具體實施例中,從該DFS 406傳送至該CS 408之該等驅趕訊息可以包含足夠的資訊,以完全辨識該連接流(例如,多個終端、埠口、序列號碼、流狀態或其他類似資訊)。
在各種具體實施例之至少一具體實施例中,該CS 408可以接收並配送與該等已驅趕連接流有關的多個封包,藉此達到該DFS 406之某些功能。在各種具體實施例之至少一具體實施例中,如果該CS 408決定該等連接流係於該CS 408上所管理,或是如果該CS 408決定需要更多的資訊以決定該連接流是否應該被卸載至該DFS 406時,某些新的連接流便可能無法被卸載至該DFS 406。
雖然該PTMD 404係描述該DFS 406與該CS 408為一單一PTMD 404之中的兩部分,但本發明並不因此受限。倒不如說,在某些具體實施例中,該DFS 406與該CS 408可為一相同PTMD 404 中(也就是一相同底座/計算裝置中)的兩功能區塊。在其他具體實施例中,該DFS 406可以由一或多個底座/計算裝置所實作,而與用於實作該CS 408之一或多個底座/計算裝置不同。而在其他具體實施例中,該CS 408可為插入至該DFS 406之中之一模組。此外,本發明也設想到該DFS 406及/或該CS 408之任一者功能,可分別實作於軟體及/或硬體中。
第四B圖描述一系統圖式,其一般性圖示一系統之具體實施例,該系統具有位於該等客戶端裝置與該等伺服器端裝置之間之一封包流量管理裝置。該系統400B可以包含封包流量管理裝置(PTMD)404,位於該等客戶端裝置402-403與該等伺服器端裝置410-411之間。該等客戶端裝置402-403可以包含Client_1至Client_M,其可包含一或多個客戶端裝置,像是第一圖之該等客戶端裝置102-105。該等伺服器端裝置410-411可以包含Server_1至Server_N,其可包含一或多個伺服器端裝置,像是第一圖之該等伺服器端裝置110-111。
在一具體實施例中,該PTMD 404可為第四圖該PTMD 404之一具體實施例。該PTMD 404可以包含多個資料流區段(DFS)406~407與多個控制區段(CS)408~409。該等DFS 406~407可以包含複數個資料流區段,每一個都可為第四A圖該DFS 406之一具體實施例。該等CS 408~409可以包含複數個控制流區段,每一個都可為第四圖該CS 408之一具體實施例。
在某些具體實施例中,該等客戶端裝置402-403與該 等伺服器端裝置410-411之間通訊之資料,可以流過一多個資料流區段406~407。在一具體實施例中,來自該等客戶端裝置402-403的資料可以流過一第一DFS,像是該DFS 406,而來自該等伺服器端裝置110-111的資料可以流過一第二DFS,像是該DFS 407。
在各種具體實施例之至少一具體實施例中,該等DFS 406~407之一或多個資料流區段以與該等CS 408~409之一或多個控制區段通訊。同樣的,該等CS 408~409之一或多個控制區段可以與該等DFS 406~407之一或多個資料流區段通訊。在某些具體實施例中,該等CS 408~409之每一控制區段可以與該等CS 408~409之其他控制區段通訊(未圖示)。在其他具體實施例中,該等DFS 406~407之每一資料流區段可以與該等DFS 406~407之其他資料流區段通訊(未圖示)。
同樣的,在各種具體實施例之至少一具體實施例中,可以根據該網路封包移動的方向,將多個連接流分離成為多個流部分。在各種具體實施例之至少一具體實施例中,來自於該客戶端之該等網路封包可以被視為一不同的連接流,而來自於一伺服器並被導向至一客戶端之該等網路封包可以被視為一不同的連接流。在各種具體實施例之至少一具體實施例中,此方法可以根據一特定分裂之連接流的網路封包流量總量達成最佳化。在各種具體實施例之至少一具體實施例中,這可以使該連接流的上傳與下載方向部分,根據該等連接流之該上傳與下載部分的特性,跨及該等CS 408~409與該等DFS 406~407分裂。例如,在各種具體實施例之至少一具體 實施例中,下載串流視頻可能是一種非常不對稱的操作,其具有許多下載至該客戶端的網路封包,但具有極少上傳至該的網路封包。在各種具體實施例之至少一具體實施例中,在該下載方向中該連接流之該上傳與下載部分可以使一部份利用該DFS與一高速流快取,而另一部份可由該CS以較低效能(較不昂貴)資源處理的方式,被分別最佳化。
第五圖描述用於建立一連接流並將該新的連接流卸載至該資料流區段(DFS)之一序列的具體實施例。該序列500圖示利用TCP/IP網路通訊協定之一具體實施例,但該領域一般技術人員將可體會該序列圖式(或類似的序列)一般而言可以應用於同樣具有其他握手協定(handshaking)序列的其他網路通訊協定。同樣的,雖然該序列500描繪一種包含一客戶端、一DFS、一CS與一應用程式伺服器的序列,但在各種具體實施例之至少一具體實施例中,一或多個資料流區段、控制區段、客戶端與伺服器端都可以加入該握手協定,並參加該連接流卸載作業。同樣的,在各種具體實施例之至少一具體實施例中,該等連接流可被分裂為一連接流的上傳與下載部分,其每一部分都代表該連接流之一方向。
在各種具體實施例之至少一具體實施例中,如果一客戶端開始與由一PTMD所管理之一網路資源連接,像是由該PTMD 109所管理時,該序列500於步驟502開始。如果該客戶端可以利用TCP/IP開始該連接,便可以傳送一SYN封包至該PTMD。
在步驟504,可於一DFS處接收一SYN封包,該DFS 為一PTMD之部分。在各種具體實施例之至少一具體實施例中,在步驟506,因為該DFS可以決定該來源連接代表一新的連接流,該DFS可以傳遞該SYN封包至一CS。在步驟506,一CS可以檢驗該連接流,並可以決定代表該新流的適當流控制資料,並將其傳送至該DFS。在各種具體實施例之至少一具體實施例中,該CS可以應用一或多種已儲存規則,用以為了該新的網路連接流決定該流控制資料。在各種具體實施例之至少一具體實施例中,該等已儲存規則可以實作多個網路流量管理服務,像是負載平衡、應用程式存取控制或是其他類似服務。
在各種具體實施例之至少一具體實施例中,在步驟508,該DFS可以從該CS接收該流控制資料,並儲存流控制資料於一高速流快取中。在各種具體實施例之至少一具體實施例中,可由該DFS使用該流控制資料以傳遞該SYN封包至由可能由該CS所提供之該流控制資料所引導之一適當的伺服器及/或網路資源。
在各種具體實施例之至少一具體實施例中,在步驟510,一伺服器及/或網路資源可以接收該SYN封包並可以回應傳送一SYN_ACK封包至該DFS。在各種具體實施例之至少一具體實施例中,於步驟512,該DFS可以再次使用儲存於該高速流快取中之該流控制資料,以映射及/或轉譯來自一伺服器之該SYN_ACK至該適當的客戶端。
在各種具體實施例之至少一具體實施例中,於步驟514,傳送該初始SYN封包之該客戶端裝置可以接收該對應 SYN_ACK,接著可以以一ACK封包回應。在各種具體實施例之至少一具體實施例中,於步驟516,利用該已儲存流控制資料決定對該伺服器之網路路徑,該DFS可以傳遞該ACK封包至該伺服器。
在各種具體實施例之至少一具體實施例中,於步驟518,該伺服器可以接收與該客戶端裝置對應之該ACK封包。在該ACK已經被接收之後,該網路連接流便處於一建立狀態。在各種具體實施例之至少一具體實施例中,於步驟520-524之間,利用該已建立網路連接流,該伺服器可以開始與該客戶端交換應用程式資料。在各種具體實施例之至少一具體實施例中,在此時為了該資料的每一次交換資料,該DFS可以使用被儲存於該高速流快取中的該流控制資料,以進行該等應用程式伺服器與該客戶端之間的映射,以在該正確路徑上配送該等封包,以維持該連接流。
一般性操作
第六圖圖示一流程圖,該流程圖圖示根據該各種具體實施例之至少一具體實施例,進行封包流量管理之程序。在程序600中,於一開始區塊後,在區塊602,由一DFS接收一網路封包。在各種具體實施例之至少一具體實施例中,該等網路封包可從該網路108所接收,及/或可以透過多個網路、切換器、路由器、其他PTMD或其他類似裝置所傳遞。
在決策區塊604處,在各種具體實施例之至少一具體實施例中,如果該已接收網路封包係與一新的連接流有關,則程序控制便移動至區塊606。否則在各種具體實施例之至少一具體實施 例中,程序控制便移動至決策區塊608。
在各種具體實施例之至少一具體實施例中,一DFS可以檢驗該連接流,並與儲存在一高速流快取中之該流控制資料比較。在各種具體實施例之至少一具體實施例中,可以檢驗與該網路封包有關之元組,以決定該網路封包是否為一新連接流的部分。如果在該高速流快取中,並未發現與該來源網路封包對應之元組,該DFS可以決定該網路封包係為一新連接流之部分。
在區塊606,在各種具體實施例之至少一具體實施例中,可以傳遞與一新的連接流有關之該來源網路封包至一CS,以進行進一步處理。在各種具體實施例之至少一具體實施例中,可以利用一命令匯流排傳送該來源網路封包至一CS,這使的該DFS與該CS元件交換資料與訊息。接著,程序控制便移動至決策區塊614。
在決策區塊608,在各種具體實施例之至少一具體實施例中,如果可利用代表與該網路封包有關之該連接流的流控制資料,則程序控制便移動至區塊610。否則在各種具體實施例之至少一具體實施例中,程序控制便移動至區塊612。
在區塊610,在各種具體實施例之至少一具體實施例中,該DFS可以根據該流控制資料及/或與該網路封包關聯連接流有關的資訊傳遞該網路封包至其次一目的地,該網路封包關聯連接流可以被儲存於與該DFS相關之該高速流快取中。接著,在各種具體實施例之至少一具體實施例中,程序控制移動至決策區塊614。
在區塊612,在各種具體實施例之至少一具體實施例 中,具有一先前可見元組之該網路封包係被儲存於該DFS之一緩衝中,直到由該CS提供流控制資料為止。
在各種具體實施例之至少一具體實施例中,一已接收網路封包可以與已經於先前所觀測之一連接流有關。然而在各種具體實施例之至少一具體實施例中,如果無法利用來自該CS之該流控制資料,該DFS可以儲存與該連接流有關之該等網路封包於一緩衝中,直到從該CS接收該相關的流控制資料為止。
同樣的,在各種具體實施例之至少一具體實施例中,與未知及/或多個新連接流有關之多個來源網路封包可被傳遞至該CS進行緩衝,而非在該DFS上進行緩衝,直到由該CS建立一流控制資料決策為止。
在決策區塊614,在各種具體實施例之至少一具體實施例中,如果存在更多的來源網路封包,則程序控制便回到區塊602。否則在各種具體實施例之至少一具體實施例中,程序控制便可回到一呼叫程序。
第七圖圖示一流程圖,該流程圖圖示根據該各種具體實施例之至少一具體實施例,於一DFS處處理多個新的連接流的程序。在一開始區塊後,於區塊702,一DFS元件可以從一CS接收新的流控制資料。在各種具體實施例之至少一具體實施例中,如果接收到新的流控制資料,該DFS便可以儲存該流資料於一高速流快取中。
在各種具體實施例之至少一具體實施例中,該新的流 控制資料可被傳送至該DFS,做為從該CS傳送至該DFS之一「新流」控制訊息的部分。
在決策區塊704,在各種具體實施例之至少一具體實施例中,如果該DFS高速流快取已經滿了,則程序控制便移動至區塊706。否則在各種具體實施例之至少一具體實施例中,程序控制便移動至區塊708。
在各種具體實施例之至少一具體實施例中,該高速流快取可實作成為一雜湊法,因此可為每一新的連接流根據該連接流的多個性質產生一雜湊鍵,該等性質像是元組、CS產生連接識別符、SYN小型文字檔案或其他類似性質。在各種具體實施例之至少一具體實施例中,如果該雜湊鍵的範圍(唯一數值的數量)大於在該高速流快取中該插槽的數量,便可以截斷該雜湊鍵,因此該雜湊鍵數值機率的數量便可以等於或近似於該高速流快取中該插槽的數量。在各種具體實施例之至少一具體實施例中,雜湊鍵的截斷可能增加該雜湊鍵衝突的數量。如果在各種具體實施例之至少一具體實施例中,一新的連接流雜湊鍵形成雜湊鍵衝突,便可驅趕目前於該快取中之該連接流(例如,從該高速快取移除其流控制資料,而管理該流的責任則移交至該CS),以提供新的連接流空間。
在區塊706,在各種具體實施例之至少一具體實施例中,為了提供從該CS所接收新的流控制資料空間,可從該DFS高速流快取移除(例如,驅趕)一不同、先前快取之連接流的流控制資料。在各種具體實施例之至少一具體實施例中,該DFS可以傳送該 CS一控制訊息,該控制訊息指示已經從該DFS所驅趕之一連接流,係需要從該DFS高速流快取移除該相關的流控制資料。在各種具體實施例之至少一具體實施例中,該驅趕訊息可以包含多個資訊,像是透過此網路流所傳送或接收的封包數量、該網路流的使用時間、元組資訊或其他類似資訊。在各種具體實施例之至少一具體實施例中,傳送至該CS之該控制訊息可以包含足夠的資訊,以使該CS辨識從該DFS所驅趕之該網路流。
在區塊708,在各種具體實施例之至少一具體實施例中,與該新連接流有關之該流控制資料可以儲存於該DFS高速流快取中。在各種具體實施例之至少一具體實施例中,流控制資料可以儲存於該DFS之一或多個元件中,該等元件可以單獨操作或是組合成為一高速流快取。
在區塊710,在各種具體實施例之至少一具體實施例中,該DFS可以利用與該連接流有關並儲存於該高速流快取中之該流控制資料,開始處理與多個已知連接流有關之多個已接收網路封包。
第八圖圖示一流程圖,該流程圖圖示根據該各種具體實施例之至少一具體實施例,於一CS處處理多個驅趕(EVICT)訊息的程序800。在一開始區塊後,於區塊802,該CS可以從一DFS接收一EVICT訊息。
在決策區塊804,在各種具體實施例之至少一具體實施例中,如果該驅趕訊息對應於一關閉及/或終止連接流,則程序控 制便移動至區塊806。否則在各種具體實施例之至少一具體實施例中,程序控制便移動至區塊808。
在區塊806,在各種具體實施例之至少一具體實施例中,可以捨棄該關閉及/或終止連接流與該相關流控制資料。
在區塊808,在各種具體實施例之至少一具體實施例中,管理該已驅趕連接流的責任係轉交至該CS。在各種具體實施例之至少一具體實施例中,透過該已轉換連接流所接收之多個網路封包則由該CS所處理。
在各種具體實施例之至少一具體實施例中,該CS可以儲存該已驅趕連接流之該流控制資料於一局部流快取中。在各種具體實施例之至少一具體實施例中,該CS中之該流快取係經配置以至少包含與利用該DFS上該高速流快取所儲存之多個相關連接流的相同資訊。
在決策區塊810,在各種具體實施例之至少一具體實施例中,如果有更多的驅趕訊息需要處理,則程序控制便回到區塊802。否則在各種具體實施例之至少一具體實施例中,程序控制便回到一呼叫程序。
在各種具體實施例之至少一具體實施例中,根據情況的不同,一連接流可能於一或多個DFS、一或多個CS、或部分於一或多個CS而部分於一或多個DFS上處理。在各種具體實施例之至少一具體實施例中,如果一連接流係已經由該CS所處理,便不能從該DFS接收一新的流網路訊息。同樣的,如果一DFS正在處理一連接 流,便無法傳送一新的流網路訊息至該CS元件,如果該DFS可以將該來源網路流量與一已知的連接流建立關聯。然而在各種具體實施例之至少一具體實施例中,該CS可以分析每一連接流,以決定該等連接流是否係從該DFS所驅趕。
第九圖圖示一流程圖,該流程圖圖示根據該各種具體實施例之至少一具體實施例,決定多個連接流是否係為卸載至該資料流區段之候選連接流的程序900。在一開始區塊後,於區塊902,在各種具體實施例之至少一具體實施例中,該CS可以接收與由該CS所管理之一連接流有關之一網路封包。
在各種具體實施例之至少一具體實施例中,由該CS所接收之多個網路封包可以是相關的多個連接流,該等連接流係於該CS上進行其封包層處理與管理處理,而非由該DFS所進行。在各種具體實施例之至少一具體實施例中,當該CS至少根據該已儲存流控制資料處理該等已接收封包時,可以執行額外的動作以辨識多個熱連接流。
在區塊904,在各種具體實施例之至少一具體實施例中,該CS可以從一DFS接收一流狀態更新(Flow Status Update,FSU)。在各種具體實施例之至少一具體實施例中,該FSU相對於由該CS所接收之該等網路封包可以進行非同步接收。在各種具體實施例之至少一具體實施例中,如果無法利用一FSU,則程序控制便移動至區塊906。
在區塊906,在各種具體實施例之至少一具體實施例 中,該CS可以更新為該等連接流所維持之該等統計資料。在各種具體實施例之至少一具體實施例中,可為了由該CS所直接管理之該等連接流追蹤統計資料,同樣的可為了由該DFS所管理之該等連接流追蹤統計資料(例如,已卸載連接流)。
在各種具體實施例之至少一具體實施例中,可以使用來自一或多個FSU的資訊組合更新該連接流度量指標,而該度量指標可於該CS上蒐集,包含資料位元率、經過一段時間傳送的資料、經過一段時間接收的資料,或其他類似度量指標。在各種具體實施例之至少一具體實施例中,該蒐集之連接流度量指標係以從L1-L4所推演之低階網路資訊以及從L5-L7所推演之較高階網路資訊為基礎(按照該開放式系統互連(Open Systems Interconnection,OSI)模型)。
在區塊908,在各種具體實施例之至少一具體實施例中,該CS可以分析該已收集連接流統計資料,並可以應用多個相關規則以辨識多個熱連接流(見第十圖與第十一圖)。在各種具體實施例之至少一具體實施例中,該CS可以使用至少一連接流度量指標以從該些受管理的連接流決定每一個熱連接流。
在各種具體實施例之至少一具體實施例中,可以定義多個規則,該等規則說明一或多個特定來源、終端、資料形式或其他類似內容,以指示係為熱連接流。否則在各種具體實施例之至少一具體實施例中,可以定義多個規則以根據流型態、來源、端點、資料形式或其他類似內容調整某些連接流的優先性。
在各種具體實施例之至少一具體實施例中,一般而言,可以擴充相同形式的流控制策略規則制訂,以影響多個連接流係如何被指定為熱連接流的辨識與決策。
在決策區塊910,如果多個連接流係被辨識以從該CS移動至該DFS及/或從該DFS移動至該CS以進行處理,則程序控制便移動至區塊912。否則在各種具體實施例之至少一具體實施例中,程序控制便移動至決策區塊914。
在各種具體實施例之至少一具體實施例中,該CS可以運用至少一連接流度量指標以決定該些受管理連接流中的每一個熱連接流。
在區塊912,在各種具體實施例之至少一具體實施例中,如果已經辨識多個連接流係進行移動,該CS可以產生該等相關命令及/或訊息,以傳送至該適當的CS及/或DFS進行處理。在各種具體實施例之至少一具體實施例中,某些連接流可以從一DFS移動至該CS進行處理。在各種具體實施例之至少一具體實施例中,可以運用該DFS處理每一個已決定之熱連接流。
同樣的,在各種具體實施例之至少一具體實施例中,該等連接流的某些係已經被辨識成為熱連接流,可以移動及/或卸載至一DFS以進行處理,以至少獲得與一DFS有關較高效能/處理速度的優勢。接著,在各種具體實施例之至少一具體實施例中,程序控制可以移動至決策區塊914。
在決策區塊914,在各種具體實施例之至少一具體實 施例中,如果存在更多可利用的網路封包,則程序控制便回到區塊902。否則在各種具體實施例之至少一具體實施例中,便回到一呼叫程序。
第十圖與第十一圖描述各種用於辨識一連接流可能為一熱連接流之實施例。該發明所屬技術領域中具有通常知識者將可瞭解用於辨識「熱連接流」之該等技術、參數與條件係可根據一特定時間時由一PTMD所管理之該等應用、該等操作者之該等目標與優先性以及該PTMD之多個使用者而改變。在各種具體實施例之至少一具體實施例中一般而言,用於辨識一熱連接流之條件係可根據該應用與該等使用者目標所定義,而如果一連接流性質滿足該條件,便認為該連接流係為一熱連接流。
在各種具體實施例之至少一具體實施例中,做為決定一連接流是否為卸載至該DFS以進行處理之一候選連接流(例如,熱連接流)的部分,可以檢驗該等已接收網路封包的內容。在各種具體實施例之至少一具體實施例中,檢驗該等網路封包以辨識資料型態與元資料,其可以指示可能為一熱連接流之該連接流可為卸載至該DFS元件之一良好候選連接流。
在各種具體實施例之至少一具體實施例中,如果檢驗該等網路封包,該CS可以辨識應用程式層通訊協定資料、訊息或元資料,以決定該相關連接流是否為一熱連接流。例如,如果一CS可以辨識一連接流係使用HTTP,該CS便可以檢驗多個HTTP表頭,像是Content-Type、Content-Length、Cache-Control或其他類似表 頭,以成為一連接流是否為一熱連接流的決策部分。
在各種具體實施例之至少一具體實施例中,如果決定一網路封包係為一HTTP回應的一第一封包,便可利用傳送該HTTP回應之該伺服器所提供之一內容長度數值。在各種具體實施例之至少一具體實施例中,該HTTP內容長度數值可以指示該網路封包的數量,該數量係可能用於傳輸來自該伺服器之該完整HTTP回應。例如在各種具體實施例之至少一具體實施例中,如果該內容長度數值係指示該回應係使用一單一網路封包,該相關連接流便不為用於卸載至該DFS之一候選連接流,因為對此回應而言並不預期存在其他額外的封包。另一方面,在各種具體實施例之至少一具體實施例中,如果該內容長度數值指示對於該相同回應而言有更多正在路上的網路封包,則可以決定該連接流係為用於卸載至該DFS元件之一候選連接流。在各種具體實施例之至少一具體實施例中,該內容長度數值可以與卸載一連接流至一DFS的可能性相關聯(例如,內容長度數值的增加造成將該連接流卸載至該DFS的機會增加)。
在各種具體實施例之至少一具體實施例中,在某些情況中,一連接流的操作特徵可能具有明顯不同。例如在各種具體實施例之至少一具體實施例中,如果該內容/通訊不均一時,一連接的資料位元率可能有暴衝的傾向。因此在各種具體實施例之至少一具體實施例中,一連接流一旦被決定係為一良好的卸載候選連接流(造成可能卸載至該DFS),可能根據該即時情況及/或該後續通訊通信的特徵,而立刻被決定為不佳的卸載候選連接流(造成可能從 該DFS移除)。
在各種具體實施例之至少一具體實施例中,一連接流可以在該DFS上處理與在該CS上處理之間前後重複循環,或是再次進行處理。在各種具體實施例之至少一具體實施例中,可以至少根據該連接流的操作特徵變異性進行該循環。在各種具體實施例之至少一具體實施例中,這至少利用該連接流操作變異程度的好處,使該連接流的效能與該DFS的利用程度持續最佳化。
例如,在各種具體實施例之至少一具體實施例中,當透過該連接流的網路流量變慢時,可移動該連接流至該CS進行處理。同樣的,在各種具體實施例之至少一具體實施例中,當透過該連接流的網路流量增加時,可移動該連接流至該DFS進行處理。
在各種具體實施例之至少一具體實施例中,在該CS與該DFS元件之間該連接流的循環可以在一通訊通信期間進行一或多次。同樣的,在各種具體實施例之至少一具體實施例中,由該CS與該DFS元件執行之該等循環操作可為無縫並對該通訊通信兩端而言係為不可見/不透明的。
第十圖圖示一流程圖,該流程圖圖示根據該各種具體實施例之至少一具體實施例,用於辨識多個熱連接流之程序1000。在一開始區塊後,於決策區塊1002,在各種具體實施例之至少一具體實施例中,如果在該PTMD正被處理之該連接流數量係小於該DFS的容量,則程序控制便回到該呼叫程序。否則在各種具體實施例之至少一具體實施例中,程序控制便移動至區塊1004。在各種具 體實施例之至少一具體實施例中,如果該DFS上之該高速流快取具有未被使用容量,多個熱連接流與多個「一般」連接流兩者都可以在該DFS上進行處理。
在區塊1004,在各種具體實施例之至少一具體實施例中,可以根據至少一給定的時間間隔透過該連接流所通過、交換或通訊的資料總量,對多個連接流進行排序。
在各種具體實施例之至少一具體實施例中,可以使用多種已知之資料結構與排序演算法,以產生一表格資料結構,其中可根據一時間間隔中透過該連接流所通過的資料總量,以邏輯次序形式排序該等連接流。
在區塊1006,在各種具體實施例之至少一具體實施例中,可以根據排序次序,以該最前面N個流的基礎下,決定並辨識多個熱流候選。
在各種具體實施例之至少一具體實施例中,與決定/定義多個熱連接流有關之該等規則,係可以包含像是「N」的參數(例如,指定最前面多少個連接流成為熱連接流)。在各種具體實施例之至少一具體實施例中,「N」可以根據一方程式決定,其包含額外的參數,像是可根據該連接流形式具有不同的數值。
接著,程序控制便回到一呼叫程序。
第十一圖圖示一流程圖,該流程圖圖示根據該各種具體實施例之至少一具體實施例,用於辨識多個熱連接流之程序1100。在一開始區塊後,在決策區塊1102,在各種具體實施例之至 少一具體實施例中,如果在該PTMD正被處理之該連接流數量係小於該DFS的容量,則程序控制便回到該呼叫程序。否則在各種具體實施例之至少一具體實施例中,程序控制便移動至區塊1104。在各種具體實施例之至少一具體實施例中,如果該DFS上之該高速流快取具有未被使用容量,多個熱連接流與多個「一般」連接流兩者都可以在該DFS上進行處理。
在區塊1104,在各種具體實施例之至少一具體實施例中,可以決定在該CS上正被處理之該等連接流之該中位資料位元率,以用於預測可能由該CS所處理之該連接流之一最大數量。例如,在各種具體實施例之至少一具體實施例中,如果目前在該CS上正被處理之該等連接流之該中位資料位元率係為每秒1百萬位元,而用於處理該等連接流之該CS總頻寬為每秒2000百萬位元,則可被處理之該連接流最大數量便可估計為2000個連接流(每秒2000百萬位元/每秒1百萬位元)。
在區塊1106,在各種具體實施例之至少一具體實施例中,可以根據預期該CS所能處理之該連接流最大數目,以該最前面N排(N-tile)連接流為基礎,辨識熱連接流候選。例如,在各種具體實施例之至少一具體實施例中,如果預期一CS可以處理2000個連接流,則根據資料位元率可辨識前25%的連接流(對於數量而言為500個連接流)係為熱連接流。接著,在各種具體實施例之至少一具體實施例中,程序控制便回到一呼叫程序。
應該瞭解可由電腦程式指令實作該等圖式以及該類 流程圖描述中的動作組合。這些程式指令可提供至一處理器以製造一種機器,因此於該處理器上執行之該等指令便產生一種實作在該等流程圖區塊中所具體指明的動作。該等電腦程式指令可由一處理器執行,以由該處理器執行一連串操作動作,以產生一種電腦實作程序,以實作在該流程圖區塊或多個區塊中所具體指明的動作。這些程式指令可儲存於某些機器可讀儲存媒介上,像是處理器可讀的不可遞移性儲存媒介(processor readable non-transitive storage media),或是其他類似媒介上。
100‧‧‧系統
102‧‧‧客戶端裝置
103‧‧‧客戶端裝置
104‧‧‧客戶端裝置
105‧‧‧客戶端裝置
107‧‧‧網路
108‧‧‧網路
109‧‧‧封包流量管理裝置
110‧‧‧伺服器端裝置
111‧‧‧伺服器端裝置

Claims (21)

  1. 一種利用一流量管理裝置管理透過一網路之通訊的方法,該流量管理裝置包含複數個組件並經操作以執行多個動作,該等動作包含:運用至少一資料流區段元件,以為複數個連接流之一部份提供封包層流處理;運用至少一控制區段元件,以執行多個動作,該等動作包含:管理該些連接流,以及處理該些連接流之一剩餘部分;根據至少一經接收之網路封包,為經管理之該些連接流之至少一者,產生至少一連接流度量指標;運用該至少一連接流度量指標,決定在經管理之該些連接流中的每一個熱連接流;決定待由該資料流區段元件處理的每一個熱連接流,包含根據至少該控制區段元件之一預測連接流容量,來辨識待由該資料流區段元件處理的每一個熱連接流,其中一百分比等級之連接流係被辨識為熱連接流;以及運用該資料流區段元件處理每一個已決定之熱連接流。
  2. 如申請專利範圍第1項之方法,其中運用該至少一連接流度量指標進一步包含在如果經管理之該些連接流係超過該資料流區段元件之容量時,決定由該資料流區段元件所處理之每一個熱連接流。
  3. 如申請專利範圍第1項之方法,其中運用該至少一連接流度量指標進一步包含根據至少經過一時間間隔進行之資料交換總量,對經管理之該些連接流進行排序。
  4. 如申請專利範圍第1項之方法,其中運用該至少一連接流度量指標進一步包含:決定為了將由該控制區段元件所處理之至少一連接流所進行通訊的一中位資料位元率;以及運用為了至少一連接流所進行通訊的該中位資料位元率以及該控制區段元件之至少一位元率容量,來估計該控制區段元件所能處理之該連接流最大數量。
  5. 如申請專利範圍第1項之方法,其中決定待由該資料流區段元件處理的每一個熱連接流進一步包含根據至少經過一時間間隔所通訊之資料總量,來辨識待由該資料流區段元件處理的每一個熱連接流,其中前N個連接流係被辨識為熱連接流。
  6. 如申請專利範圍第1項之方法,其中產生該至少一連接流度量指標進一步包含檢驗該至少一經接收之網路封包之內容,以辨識一資料型態或一元資料之至少其中之一,其指示該些連接流之至少之一係為一熱連接流。
  7. 如申請專利範圍第1項之方法,其中該控制區段元件執行其他多個動作,該等動作包括:將每一個連接流劃分成一上傳部分與一下載部分;為經管理之該些連接流之每一個連接流的每一個上傳部分 及每一個下載部分,產生不同的連接流度量指標;運用每一個連接流度量指標,來決定經管理之該些連接流之每一個熱下載部分與每一個熱上傳部分;決定待由該資料流區段元件處理的經管理之該些連接流的每一個熱上傳部分與每一個熱下載部分;以及運用該資料流區段元件,以處理該些連接流的每一個已決定之熱上傳部分與每一個熱下載部分。
  8. 一流量管理裝置(TMD),係包含複數個元件以管理透過一網路之通訊並經操作以執行多個動作,該裝置包含:一收發器,是經操作以透過該網路進行資料通訊;一記憶體,是經操作以儲存多個指令;一處理器,是經操作以執行多個指令,該等指令係能完成多個動作,該等動作包含:運用至少一資料流區段(資料流區段)元件,以為複數個連接流之一部份提供封包層流處理;運用至少一控制區段元件,以執行多個動作,該等動作包含:管理該些連接流,以及處理該些連接流之一剩餘部分;根據至少一經接收之網路封包,為經管理之該些連接流之至少一者,產生至少一連接流度量指標;運用該至少一連接流度量指標,決定在經管理之該 些連接流中的每一個熱連接流;決定由該資料流區段元件所處理之每一個熱連接流,包含根據至少該控制區段元件之一預測連接流容量,來辨識待由該資料流區段元件處理的每一個熱連接流,其中一百分比等級之連接流係被辨識為熱連接流;以及運用該資料流區段元件處理每一個已決定之熱連接流。
  9. 如申請專利範圍第8項之流量管理裝置,其中運用該至少一連接流度量指標進一步包含在如果經管理之該些連接流係超過該資料流區段元件之容量時,決定由該資料流區段元件所處理之每一個熱連接流。
  10. 如申請專利範圍第8項之流量管理裝置,其中運用該至少一連接流度量指標進一步包含根據至少經過一時間間隔進行之資料交換總量,對經管理之該些連接流進行排序。
  11. 如申請專利範圍第8項之流量管理裝置,其中運用該至少一連接流度量指標進一步包含:決定為了將由該控制區段元件所處理之至少一連接流所進行通訊的一中位資料位元率;以及運用為了至少一連接流所進行通訊的該中位資料位元率以及該控制區段元件之至少一位元率容量,來估計該控制區段元件所能處理之該連接流最大數量。
  12. 如申請專利範圍第8項之流量管理裝置,其中決定待由該資料流區段元件處理的每一個熱連接流進一步包含根據至少經過一時間間隔所通訊之資料總量,辨識待由該資料流區段元件處理的每一個熱連接流,其中前N個連接流係被辨識為熱連接流。
  13. 如申請專利範圍第8項之流量管理裝置,其中產生至少一連接流度量指標進一步包含檢驗該至少一經接收之網路封包之內容,以辨識一資料型態或一元資料之至少其中之一,其指示該些連接流之至少之一係為一熱連接流。
  14. 如申請專利範圍第8項之流量管理裝置,其中該控制區段元件執行其他多個動作,該等動作包括:將每一個連接流劃分成為一上傳部分與一下載部分;為經管理之該些連接流之每一個連接流的每一個上傳部分及每一個下載部分,產生不同的連接流度量指標;運用每一個連接流度量指標,來決定經管理之該些連接流的每一個熱下載部分與每一個熱上傳部分;決定待由該資料流區段元件處理的經管理之該些連接流的每一個熱上傳部分與每一個熱下載部分;以及運用該資料流區段元件,以處理該些連接流的每一個已決定之熱上傳部分與每一個熱下載部分。
  15. 一種處理器可讀的不可遞移性儲存媒介,該儲存媒介係經操作以儲存多個處理器可執行指令,以利用一流量管理裝置管理透過一網路之通訊,該流量管理裝置具有複數個元件,其中由一 處理器進行該等指令之執行以使該流量管理裝置執行多個動作,該等動作包含:運用至少一資料流區段元件,以為複數個連接流之一部份提供封包層流處理;運用至少一控制區段元件,以執行多個動作,該等動作包含:管理該些連接流,以及處理該些連接流之一剩餘部分;根據至少一經接收之網路封包,為經管理之該些連接流之至少一者,產生至少一連接流度量指標;運用該至少一連接流度量指標,決定在經管理之該些連接流中的每一個熱連接流;決定待由該資料流區段元件處理的每一個熱連接流,包含根據至少該控制區段元件之一預測連接流容量,來辨識待由該資料流區段元件處理的每一個熱連接流,其中一百分比等級之連接流係被辨識為熱連接流;以及運用該資料流區段元件處理每一個已決定之熱連接流。
  16. 如申請專利範圍第15項之媒介,其中運用該至少一連接流度量指標進一步包含在如果經管理之該些連接流係超過該資料流區段元件之容量時,決定由該資料流區段元件所處理之每一個熱連接流。
  17. 如申請專利範圍第15項之媒介,其中運用該至少一連接流度 量指標進一步包含根據至少經過一時間間隔進行之資料交換總量,對經管理之該些連接流進行排序。
  18. 如申請專利範圍第15項之媒介,其中運用該至少一連接流度量指標進一步包含:決定為了將由該控制區段元件所處理之至少一連接流所進行通訊的一中位資料位元率;以及運用為了至少一連接流所進行通訊的該中位資料位元率以及該控制區段元件之至少一位元率容量,來估計該控制區段元件所能處理之該連接流最大數量。
  19. 如申請專利範圍第15項之媒介,其中決定待由該資料流區段元件處理的每一個熱連接流進一步包含根據至少經過一時間間隔所通訊之資料總量,來辨識待由該資料流區段元件處理的每一個熱連接流,其中前N個連接流係被辨識為熱連接流。
  20. 如申請專利範圍第15項之媒介,其中產生該至少一連接流度量指標進一步包含檢驗該至少一經接收之網路封包之內容,以辨識一資料型態或一元資料之至少其中之一,其指示該些連接流之至少之一係為一熱連接流。
  21. 如申請專利範圍第15項之媒介,其中該控制區段元件執行其他多個動作,該等動作包括:將每一個連接流劃分成一上傳部分與一下載部分;為經管理之該些連接流之每一個連接流的每一個上傳部分及每一個下載部分,產生不同的連接流度量指標; 運用每一個連接流度量指標,來決定經管理之該些連接流之每一個熱下載部分與每一個熱上傳部分;決定待由該資料流區段元件處理的經管理之該些連接流的每一個熱上傳部分與每一個熱下載部分;以及運用該資料流區段元件,以處理該些連接流的每一個已決定之熱上傳部分與每一個熱下載部分。
TW102112814A 2012-05-01 2013-04-11 為熱流最佳化之資料流區段 TWI591989B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261641251P 2012-05-01 2012-05-01
US13/802,254 US9338095B2 (en) 2012-05-01 2013-03-13 Data flow segment optimized for hot flows

Publications (2)

Publication Number Publication Date
TW201347472A TW201347472A (zh) 2013-11-16
TWI591989B true TWI591989B (zh) 2017-07-11

Family

ID=49512435

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102112814A TWI591989B (zh) 2012-05-01 2013-04-11 為熱流最佳化之資料流區段

Country Status (6)

Country Link
US (2) US9338095B2 (zh)
EP (1) EP2845348A4 (zh)
CN (1) CN104272652A (zh)
HK (1) HK1205837A1 (zh)
TW (1) TWI591989B (zh)
WO (1) WO2013165802A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9338095B2 (en) 2012-05-01 2016-05-10 F5 Networks, Inc. Data flow segment optimized for hot flows
US20150236959A1 (en) * 2012-07-23 2015-08-20 F5 Networks, Inc. Autonomously adaptive flow acceleration based on load feedback
WO2015028090A1 (en) * 2013-08-30 2015-03-05 Nokia Solutions And Networks Oy Methods and apparatus
US9535612B2 (en) 2013-10-23 2017-01-03 International Business Machines Corporation Selecting a primary storage device
US9628503B2 (en) 2014-01-17 2017-04-18 F5 Networks, Inc. Systems and methods for network destination based flood attack mitigation
US9853903B1 (en) * 2015-04-23 2017-12-26 Cisco Technology, Inc. Simultaneous redirecting and load balancing
CN107710812B (zh) * 2015-07-16 2021-08-17 诺基亚技术有限公司 支持承载内子流qos区分的用户平面增强
US9755789B2 (en) * 2015-11-20 2017-09-05 Ringcentral, Inc. Systems and methods for dynamic packet duplication in a network
CN107623702B (zh) * 2016-07-13 2020-09-11 阿里巴巴集团控股有限公司 一种数据缓存方法、装置及系统
JP6828041B2 (ja) * 2016-08-29 2021-02-10 シャープ株式会社 加熱調理器
CN110417712A (zh) * 2018-04-28 2019-11-05 北京资采信息技术有限公司 一种基于网络数据传输设备实时数据采集与解析方法
CN110830535B (zh) * 2018-08-10 2021-03-02 网宿科技股份有限公司 一种超热文件的处理方法、负载均衡设备及下载服务器
US11075840B1 (en) 2019-07-09 2021-07-27 F5 Networks, Inc. Disaggregation of network traffic
US11516133B2 (en) 2020-07-06 2022-11-29 Nokia Solutions And Networks Oy Flow cache management
US11522776B1 (en) * 2021-06-10 2022-12-06 Cradlepoint, Inc. Systems and methods to collect and store network traffic statitics of IP desitnations in time-series format
US11909656B1 (en) 2023-01-17 2024-02-20 Nokia Solutions And Networks Oy In-network decision for end-server-based network function acceleration

Family Cites Families (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3950735A (en) 1974-01-04 1976-04-13 Honeywell Information Systems, Inc. Method and apparatus for dynamically controlling read/write operations in a peripheral subsystem
US4644532A (en) 1985-06-10 1987-02-17 International Business Machines Corporation Automatic update of topology in a hybrid network
US4965772A (en) 1987-06-15 1990-10-23 International Business Machines Corporation Method and apparatus for communication network alert message construction
US5053953A (en) 1990-01-05 1991-10-01 Bull Hn Information Systems Inc. Apparatus for aligning arithmetic operands during fetch
US5023826A (en) 1990-01-11 1991-06-11 Bull Hn Information Systems Inc. Apparatus for skipping arithmetic calculations involving leading zeros
WO1991014326A2 (en) 1990-03-05 1991-09-19 Massachusetts Institute Of Technology Switching networks with expansive and/or dispersive logical clusters for message routing
US5327529A (en) 1990-09-24 1994-07-05 Geoworks Process of designing user's interfaces for application programs
US5367642A (en) 1990-09-28 1994-11-22 Massachusetts Institute Of Technology System of express channels in an interconnection network that automatically bypasses local channel addressable nodes
US5299312A (en) 1990-11-15 1994-03-29 Massachusetts Institute Of Technology Network fault recovery by controllable switching of subnetworks
US5367635A (en) 1991-08-29 1994-11-22 Hewlett-Packard Company Network management agent with user created objects providing additional functionality
US5611049A (en) 1992-06-03 1997-03-11 Pitts; William M. System for accessing distributed data cache channel at each network node to pass requests and data
US6026452A (en) 1997-02-26 2000-02-15 Pitts; William Michael Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data
US5371852A (en) 1992-10-14 1994-12-06 International Business Machines Corporation Method and apparatus for making a cluster of computers appear as a single host on a network
US5596742A (en) 1993-04-02 1997-01-21 Massachusetts Institute Of Technology Virtual interconnections for reconfigurable logic systems
WO1994025913A2 (en) 1993-04-30 1994-11-10 Novadigm, Inc. Method and apparatus for enterprise desktop management
US5406502A (en) 1993-06-29 1995-04-11 Elbit Ltd. System and method for measuring the operation of a device
CA2169449A1 (en) 1993-08-13 1995-02-23 Frank Thomson Leighton Secret key exchange
US5519694A (en) 1994-02-04 1996-05-21 Massachusetts Institute Of Technology Construction of hierarchical networks through extension
US5761484A (en) 1994-04-01 1998-06-02 Massachusetts Institute Of Technology Virtual interconnections for reconfigurable logic systems
US5528701A (en) 1994-09-02 1996-06-18 Panasonic Technologies, Inc. Trie based method for indexing handwritten databases
US5517617A (en) 1994-06-29 1996-05-14 Digital Equipment Corporation Automatic assignment of addresses in a computer communications network
US5606665A (en) 1994-07-01 1997-02-25 Digital Equipment Corporation Buffer descriptor prefetch in network and I/O design
US5768423A (en) 1994-09-02 1998-06-16 Panasonic Technologies Inc. Trie structure based method and apparatus for indexing and searching handwritten databases with dynamic search sequencing
US6085234A (en) 1994-11-28 2000-07-04 Inca Technology, Inc. Remote file services network-infrastructure cache
US5936939A (en) 1995-05-22 1999-08-10 Fore Systems, Inc. Digital network including early packet discard mechanism with adjustable threshold
US5774668A (en) 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US5682382A (en) 1995-09-05 1997-10-28 Massachusetts Institute Of Technology Scalable, self-organizing packet radio network having decentralized channel management providing collision-free packet transfer
US5790554A (en) 1995-10-04 1998-08-04 Bay Networks, Inc. Method and apparatus for processing data packets in a network
US5892932A (en) 1995-11-21 1999-04-06 Fore Systems, Inc. Reprogrammable switching apparatus and method
US5949885A (en) 1996-03-12 1999-09-07 Leighton; F. Thomson Method for protecting content using watermarking
US5959990A (en) 1996-03-12 1999-09-28 Bay Networks, Inc. VLAN frame format
US6111876A (en) 1996-03-12 2000-08-29 Nortel Networks Limited VLAN frame format
US5752023A (en) 1996-04-24 1998-05-12 Massachusetts Institute Of Technology Networked database system for geographically dispersed global sustainability data
US5663018A (en) 1996-05-28 1997-09-02 Motorola Pattern writing method during X-ray mask fabrication
US5913214A (en) 1996-05-30 1999-06-15 Massachusetts Inst Technology Data extraction from world wide web pages
US5802052A (en) 1996-06-26 1998-09-01 Level One Communication, Inc. Scalable high performance switch element for a shared memory packet or ATM cell switch fabric
US5919247A (en) 1996-07-24 1999-07-06 Marimba, Inc. Method for the distribution of code and data updates
US6182139B1 (en) 1996-08-05 2001-01-30 Resonate Inc. Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm
US5774660A (en) 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
WO1998027506A2 (en) 1996-12-17 1998-06-25 Inca Technology, Inc. Ndc consistency reconnect mechanism
US5875296A (en) 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
US5983281A (en) 1997-04-24 1999-11-09 International Business Machines Corporation Load balancing in a multiple network environment
US6006260A (en) 1997-06-03 1999-12-21 Keynote Systems, Inc. Method and apparatus for evalutating service to a user over the internet
US5974460A (en) 1997-06-16 1999-10-26 International Business Machines Corporation Apparatus and method for selecting an optimum telecommunications link
US6263368B1 (en) 1997-06-19 2001-07-17 Sun Microsystems, Inc. Network load balancing for multi-computer server by counting message packets to/from multi-computer server
US6028857A (en) 1997-07-25 2000-02-22 Massachusetts Institute Of Technology Self-organizing network
US6006264A (en) 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6051169A (en) 1997-08-27 2000-04-18 International Business Machines Corporation Vacuum baking process
US6078956A (en) 1997-09-08 2000-06-20 International Business Machines Corporation World wide web end user response time monitor
US6260061B1 (en) * 1997-11-25 2001-07-10 Lucent Technologies Inc. Technique for effectively managing proxy servers in intranets
US6092196A (en) 1997-11-25 2000-07-18 Nortel Networks Limited HTTP distributed remote user authentication system
US6601084B1 (en) 1997-12-19 2003-07-29 Avaya Technology Corp. Dynamic load balancer for multiple network servers
US6246684B1 (en) 1997-12-24 2001-06-12 Nortel Networks Limited Method and apparatus for re-ordering data packets in a network environment
US6118765A (en) 1998-01-13 2000-09-12 Qualcomm Inc. System method and computer program product for eliminating unnecessary retransmissions
US6087196A (en) 1998-01-30 2000-07-11 The Trustees Of Princeton University Fabrication of organic semiconductor devices using ink jet printing
EP0948168A1 (en) 1998-03-31 1999-10-06 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Method and device for data flow control
US6876654B1 (en) 1998-04-10 2005-04-05 Intel Corporation Method and apparatus for multiprotocol switching and routing
SE512672C2 (sv) 1998-06-12 2000-04-17 Ericsson Telefon Ab L M Förfarande och system för överföring av en cookie
US6178423B1 (en) 1998-06-23 2001-01-23 Microsoft Corporation System and method for recycling numerical values in a computer system
US6108703A (en) 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
CA2304041C (en) 1998-07-17 2004-06-01 F. Thomson Leighton Method for image processing to facilitate copy protection
US6327622B1 (en) 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
JP3859369B2 (ja) 1998-09-18 2006-12-20 株式会社東芝 メッセージ中継装置及び方法
US6253230B1 (en) 1998-09-22 2001-06-26 International Business Machines Corporation Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server
US6396833B1 (en) 1998-12-02 2002-05-28 Cisco Technology, Inc. Per user and network routing tables
US6636894B1 (en) 1998-12-08 2003-10-21 Nomadix, Inc. Systems and methods for redirecting users having transparent computer access to a network using a gateway device having redirection capability
US6721271B1 (en) 1999-02-04 2004-04-13 Nortel Networks Limited Rate-controlled multi-class high-capacity packet switch
US6192051B1 (en) 1999-02-26 2001-02-20 Redstone Communications, Inc. Network router search engine using compressed tree forwarding table
US6278995B1 (en) 1999-03-02 2001-08-21 Nms Communications Corporation Apparatus and method for providing a binary range tree search
US6760775B1 (en) 1999-03-05 2004-07-06 At&T Corp. System, method and apparatus for network service load and reliability management
US6751663B1 (en) 1999-03-25 2004-06-15 Nortel Networks Limited System wide flow aggregation process for aggregating network activity records
US6888836B1 (en) 1999-05-26 2005-05-03 Hewlett-Packard Development Company, L.P. Method for allocating web sites on a web hosting cluster
US6781986B1 (en) 1999-06-25 2004-08-24 Nortel Networks Limited Scalable high capacity switch architecture method, apparatus and system
US6650641B1 (en) 1999-07-02 2003-11-18 Cisco Technology, Inc. Network address translation using a forwarding agent
US6742045B1 (en) 1999-07-02 2004-05-25 Cisco Technology, Inc. Handling packet fragments in a distributed network service environment
US6374300B2 (en) 1999-07-15 2002-04-16 F5 Networks, Inc. Method and system for storing load balancing information with an HTTP cookie
US6788704B1 (en) 1999-08-05 2004-09-07 Intel Corporation Network adapter with TCP windowing support
US6868082B1 (en) 1999-08-30 2005-03-15 International Business Machines Corporation Network processor interface for building scalable switching systems
US8380854B2 (en) 2000-03-21 2013-02-19 F5 Networks, Inc. Simplified method for processing multiple connections from the same client
US7343413B2 (en) 2000-03-21 2008-03-11 F5 Networks, Inc. Method and system for optimizing a network by independently scaling control segments and data flow
US6779039B1 (en) 2000-03-31 2004-08-17 Avaya Technology Corp. System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers
US6798777B1 (en) 2000-04-17 2004-09-28 Juniper Networks, Inc. Filtering and route lookup in a switching device
JP3498678B2 (ja) 2000-05-31 2004-02-16 日本電気株式会社 パイプライン処理型シェーピング装置およびその方法
US20070192863A1 (en) 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
US6901052B2 (en) 2001-05-04 2005-05-31 Slt Logic Llc System and method for policing multiple data flows and multi-protocol data flows
CN1194316C (zh) * 2001-06-28 2005-03-23 华为技术有限公司 一种计算机网络远程网络监控方法
US7561517B2 (en) 2001-11-02 2009-07-14 Internap Network Services Corporation Passive route control of data networks
US7359321B1 (en) 2002-01-17 2008-04-15 Juniper Networks, Inc. Systems and methods for selectively performing explicit congestion notification
KR100438183B1 (ko) 2002-07-26 2004-07-01 엘지전자 주식회사 고속 데이터 통신 시스템에서의 과부하 제어 방법
US7711844B2 (en) 2002-08-15 2010-05-04 Washington University Of St. Louis TCP-splitter: reliable packet monitoring methods and apparatus for high speed networks
US6990559B2 (en) 2002-10-03 2006-01-24 Hewlett-Packard Development Company, L.P. Mechanism for resolving ambiguous invalidates in a computer system
US7584352B2 (en) 2002-12-04 2009-09-01 International Business Machines Corporation Protection against denial of service attacks
US20050021702A1 (en) * 2003-05-29 2005-01-27 Govindarajan Rangarajan System and method of network address translation in system/network management environment
US7366101B1 (en) 2003-06-30 2008-04-29 Packeteer, Inc. Network traffic synchronization mechanism
CN100479391C (zh) * 2003-10-31 2009-04-15 中国科学院计算技术研究所 一种分布式网络主动测试结果存储方法
US7254609B2 (en) 2003-12-09 2007-08-07 Viasat, Inc. Method for channel congestion management
US8024483B1 (en) 2004-10-01 2011-09-20 F5 Networks, Inc. Selective compression for network connections
TWI319277B (en) 2005-11-03 2010-01-01 Draytek Corp Network flow/stream simulation method
US7697422B1 (en) 2006-01-17 2010-04-13 Marvell Israel (M.I.S.L.) Ltd. Quality of service marking techniques
US8613088B2 (en) 2006-02-03 2013-12-17 Cisco Technology, Inc. Methods and systems to detect an evasion attack
TWI330964B (en) 2007-01-29 2010-09-21 Via Tech Inc Packet processing method and a network device using the method
US7813277B2 (en) 2007-06-29 2010-10-12 Packeteer, Inc. Lockless bandwidth management for multiprocessor networking devices
CN101136922B (zh) 2007-04-28 2011-04-13 华为技术有限公司 业务流识别方法、装置及分布式拒绝服务攻击防御方法、系统
US20090106426A1 (en) 2007-10-22 2009-04-23 International Business Machines Corporation Method and apparatus for model-based pageview latency management
US8488559B2 (en) 2008-02-04 2013-07-16 Telefonaktiebolaget Lm Ericsson (Publ) Method and an apparatus for providing route optimisation
US8964651B2 (en) 2008-02-14 2015-02-24 Qualcomm Incorporated Traffic management employing interference management messages
TWI389518B (zh) 2008-02-25 2013-03-11 Nat Univ Tsing Hua 網路閘道器及其重置方法
US8327014B2 (en) * 2008-06-30 2012-12-04 Cisco Technology, Inc. Multi-layer hardware-based service acceleration (MHSA)
WO2010042578A1 (en) 2008-10-08 2010-04-15 Citrix Systems, Inc. Systems and methods for real-time endpoint application flow control with network structure component
US8831014B2 (en) * 2009-09-26 2014-09-09 Cisco Technology, Inc. Providing services at a communication network edge
FI20100055A0 (fi) 2010-02-12 2010-02-12 Notava Oy Päätelaite ja menetelmä hallittuun dataliikenteen uudelleenohjaukseen
US8837322B2 (en) 2011-06-20 2014-09-16 Freescale Semiconductor, Inc. Method and apparatus for snoop-and-learn intelligence in data plane
WO2013052163A1 (en) * 2011-10-03 2013-04-11 Intel Corporation Device to device (d2d) communication mechanisms
EP2810408A4 (en) 2012-01-30 2015-08-05 Allied Telesis Holdings Kk HIERARCHICAL NETWORK WITH ACTIVE REDUNDANT LINKS
US9338095B2 (en) 2012-05-01 2016-05-10 F5 Networks, Inc. Data flow segment optimized for hot flows

Also Published As

Publication number Publication date
TW201347472A (zh) 2013-11-16
US20160323185A1 (en) 2016-11-03
US9338095B2 (en) 2016-05-10
WO2013165802A1 (en) 2013-11-07
EP2845348A4 (en) 2015-12-02
US9762492B2 (en) 2017-09-12
US20130294239A1 (en) 2013-11-07
CN104272652A (zh) 2015-01-07
HK1205837A1 (zh) 2015-12-24
EP2845348A1 (en) 2015-03-11

Similar Documents

Publication Publication Date Title
TWI591989B (zh) 為熱流最佳化之資料流區段
US9596184B1 (en) Hot service flow hardware offloads based on service priority and resource usage
US20150236959A1 (en) Autonomously adaptive flow acceleration based on load feedback
US9003065B2 (en) De-duplicating of packets in flows at layer 3
US8417833B1 (en) Metacodec for optimizing network data compression based on comparison of write and read rates
US8381096B2 (en) Managing list tailoring for a mobile device
EP3069316B1 (en) Extending policy rulesets with scripting
Zhang et al. On wide area network optimization
JP2021500802A (ja) 第1のパケットアプリケーション分類のためのシステムおよび方法
EP3149894B1 (en) Assisting application classification using predicted subscriber behavior
US9356824B1 (en) Transparently cached network resources
US9154423B1 (en) Minimize SYN-flood issues with flow cache while maintaining performance
Touati et al. Fair hop-by-hop interest rate control to mitigate congestion in named data networks
EP2965204B1 (en) Server to client reverse persistence
US11457095B1 (en) Stateless communication using a stateful protocol
Yitong et al. Web-of-things framework for WeChat
EP3167575B1 (en) Delayed proxy action
Han et al. A novel UDT-based transfer speed-up protocol for fog computing
US9525632B1 (en) Minimize recycle SYN issues for split TCP hot flows to improve system reliability and performance
Sanadhya Ultra-mobile computing: adapting network protocol and algorithms for smartphones and tablets
Migas et al. Ad hoc routing metrics and applied weighting for QoS support
Chemmagate An experimental study of web transport protocols in cellular networks
Xiaolong et al. An improved unilateral acceleration FAST TCP fairness based on history flows information

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees