TW201722118A - 資料通信裝置、資料通信控制方法及程式 - Google Patents
資料通信裝置、資料通信控制方法及程式 Download PDFInfo
- Publication number
- TW201722118A TW201722118A TW105130530A TW105130530A TW201722118A TW 201722118 A TW201722118 A TW 201722118A TW 105130530 A TW105130530 A TW 105130530A TW 105130530 A TW105130530 A TW 105130530A TW 201722118 A TW201722118 A TW 201722118A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- unit
- amount
- receiving
- transmitting
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L13/00—Details of the apparatus or circuits covered by groups H04L15/00 or H04L17/00
- H04L13/02—Details not particular to receiver or transmitter
- H04L13/08—Intermediate storage means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- 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
-
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0858—One way delays
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本發明之資料通信裝置具備:接收部,自傳送裝置接收資料;傳送部,將前述資料往接收裝置傳送;設定部,前述接收部開始前述資料之接收時,將由前述接收部接收之前述資料的量,設定為與自前述傳送部往前述接收裝置之前述資料的傳送速度獨立之設定量;更新部,前述接收部已接收前述設定量的前述資料後,將前述設定量更新為因應於前述傳送速度的更新量;以及抑制部,於前述接收部已接收前述更新量的前述資料後至前述傳送部已傳送前述更新量的前述資料為止,使前述傳送裝置傳送前述資料之情事中斷。
Description
本發明係關於資料通信裝置、資料通信控制方法及程式。
在TCP/IP(Transmission Control Protocol / Internet Protocol;傳輸控制通訊協定/網際網路通訊協定)等設定有窗口尺寸(無須確認響應(ACK:Acknowledgement)之接收而可傳送的資料量)的通信方法中,普知有以處理率之提昇為目的而設置代理伺服器裝置之技術。 具體而言,在內容伺服器裝置與客戶端裝置之間設置代理伺服器裝置。在下行鏈路之通信(自伺服器裝置往客戶端裝置之通信),將代理伺服器裝置的窗口尺寸設定為大於客戶端裝置的窗口尺寸。藉此,能將來自內容伺服器裝置之資料先緩衝在代理伺服器裝置。又,代理伺服器裝置係設置在由客戶端裝置來看比內容伺服器裝置靠客戶端裝置側。藉此,客戶端裝置與代理伺服器裝置之通信的處理率快於客戶端裝置與內容伺服器裝置之通信的處理率。藉此,能高速化客戶端裝置與內容伺服器裝置之通信(改善處理率)。
當於代理伺服器裝置已緩衝來自內容伺服器裝置之資料之狀態下,若代理伺服器裝置與客戶端裝置之通信受到切斷,則代理伺服器裝置已緩衝之資料失去用處。因此,浪費使用內容伺服器裝置與代理伺服器裝置之通信頻寬。 為了降低如此通信頻寬之浪費,須要控制代理伺服器所緩衝之資料量,且吾人提案有些許以此為目的之技術。專利文獻1所記載之資料通信裝置之中,TCP模組基於壅塞窗(cwnd)而決定傳送緩衝區的最大量。而且,TCP模組因應於傳送緩衝區待保持之資料量,而決定向傳送終端機通知之窗口尺寸。 藉此,則專利文獻1之中,即使接收終端機已產生巨大的延遲,資料通信裝置亦不大量累積資料,能避免非預期之傳輸延遲產生在端對端的終端機間,且能緩和緩衝區容量的緊縮。 [先前技術文獻] [專利文獻]
日本特開2005-348107號公報
[發明所欲解決之問題] 藉由設置資料通信裝置(例如代理伺服器裝置),而能高速化傳送裝置(例如內容伺服器裝置)與接收裝置(例如客戶端裝置)之通信。此情況下,宜有效活用傳送裝置與資料通信裝置之通信頻寬,並加上降低自資料通信裝置往接收裝置之資料傳送的延遲。尤其,動態圖像的串流遞送等要求即時性的通信之中,當自資料通信裝置往接收裝置之資料傳送延遲時,則會有接收裝置所行之動態圖像的播放產生遲滯等不良狀況產生之可能性。因此,要求即時性的通信之中,吾人尤其期望降低自資料通信裝置往接收裝置之資料傳送的延遲。
本發明之目的之一範例,為提供能解決上述問題之資料通信裝置、資料通信控制方法及程式。 [解決問題之方法]
依據本發明的第一態樣,則資料通信裝置具備:接收部,自傳送裝置接收資料;傳送部,將前述資料往接收裝置傳送;設定部,前述接收部開始前述資料之接收時,將由前述接收部接收之前述資料的量,設定為與自前述傳送部往前述接收裝置之前述資料的傳送速度獨立之設定量;更新部,前述接收部已接收前述設定量的前述資料後,將前述設定量更新為因應於前述傳送速度的更新量;抑制部,於前述接收部已接收前述更新量的前述資料後至前述傳送部傳送前述更新量的前述資料為止,使前述傳送裝置傳送前述資料之情事中斷。
依據本發明的第二態樣,則資料通信控制方法包含:接收步驟,藉由接收部而自傳送裝置接收資料;傳送步驟,藉由傳送部而將前述資料往接收裝置傳送;設定步驟,前述接收部開始前述資料之接收時,將由前述接收部接收之前述資料的量,設定為與自前述傳送部往前述接收裝置之前述資料的傳送速度獨立的設定量;更新步驟,前述接收部已接收前述設定量的前述資料後,將前述設定量更新為因應於前述傳送速度的更新量;以及中斷步驟,於前述接收部已接收前述更新量的前述資料後至前述傳送部傳送前述更新量的前述資料為止,使前述傳送裝置傳送前述資料之情事中斷。
依據本發明的第三態樣,則程式用以使電腦執行下述步驟,前述電腦控制資料通信裝置,且前述資料通信裝置具備將來自傳送裝置的資料接收之接收部、將前述資料往接收裝置傳送之傳送部:設定步驟,前述接收部開始前述資料之接收時,將由前述接收部接收之前述資料的量,設定為與自前述傳送部往前述接收裝置之前述資料的傳送速度獨立之設定量;更新步驟,前述接收部已接收前述設定量的前述資料後,將前述設定量更新為因應於前述傳送速度的更新量;以及中斷步驟,於前述接收部已接收前述更新量的前述資料後至前述傳送部傳送前述更新量的前述資料為止,使前述傳送裝置傳送前述資料之情事中斷。 [發明之效果]
依據此發明,則能有效活用傳送裝置與資料通信裝置之通信頻寬,並能降低自資料通信裝置往接收裝置之資料傳送的延遲。 本發明可使用於資料通信裝置、資料通信控制方法及程式。
[實施發明之較佳形態] 以下說明本發明的實施形態,但以下實施形態不限定申請專利範圍之發明。又,就發明之解決方法而言,不一定須要實施形態中所說明之全部的特徵的組合。 圖1係將本發明的一實施形態之通信系統的功能構成加以顯示之概略方塊圖。如圖1所示,通信系統1具備內容伺服器裝置100、代理伺服器裝置200、客戶端裝置300。
內容伺服器裝置100與代理伺服器裝置200經由廣域網路901而彼此進行通信。代理伺服器裝置200與客戶端裝置300經由行動網路902而彼此進行無線電通信。 通信系統1所含之客戶端裝置300的數量,不限於圖1所示之一個,而亦可為複數個。通信系統1所含之代理伺服器裝置200的數量,亦不限於圖1所示之一個,也可為複數個。通信系統1所含之內容伺服器裝置100的數量,亦不限於圖1所示之一個,尚可為複數個。
圖1所示之範例,顯示通信路徑已建立在一個客戶端裝置300與一個內容伺服器裝置100之間的狀態。箭號B11及箭號B12均表示下行串流(Downstream)的方向。如箭號B11及箭號B12所示,通信系統1將來自內容伺服器裝置100之內容資料,經由廣域網路901、代理伺服器裝置200、及行動網路902而往客戶端裝置300傳送。
於此所稱之「內容」係指動態圖像、靜態圖像、聲音、或文字(文章)、或者此等的組合。於此所稱之「內容資料」係指將內容加以顯示的資料。 通信系統1所傳送之資料不限於內容資料而能為各式各樣的資料。
通信系統1自內容伺服器裝置100往客戶端裝置300傳送內容資料。 內容伺服器裝置100記憶有內容資料,且因應來自客戶端裝置300之要求而傳送內容資料。內容伺服器裝置100係構成為使用電腦之伺服器裝置。內容伺服器裝置100相當於傳送裝置的範例。
代理伺服器裝置200係為了高速化內容伺服器裝置100與客戶端裝置300之間的通信而設置的裝置。具體而言,通信系統1以TCP/IP進行通信,且代理伺服器裝置200係設置為TCP代理伺服器裝置(PEP:Performance Enhanced Proxy;效能增強伺服器)。尤其,代理伺服器裝置200的窗口尺寸大於客戶端裝置300的窗口尺寸。藉此,相較於內容伺服器裝置100與客戶端裝置300進行直接通信之情形,內容伺服器裝置100可無須等待ACK之接收而傳送的資料量變多。在這方面,能高速化內容伺服器裝置100與客戶端裝置300之間的通信。 其中,通信系統1的通信方法不限於TCP/IP,亦可為將無須確認響應之接收而可傳送的資料量加以設定之任意通信方法。 代理伺服器裝置200係構成為使用電腦之伺服器裝置。代理伺服器裝置200相當於資料通信裝置的範例。
客戶端裝置300向內容伺服器裝置100要求內容資料之傳送,並將內容伺服器裝置100所傳送的內容資料加以接收。以下,就客戶端裝置300所進行之通信的等待時間係可變化之範例而言,以客戶端裝置300進行無線電通信之情形為例說明。然而,客戶端裝置300亦可使用有線電進行通信。 客戶端裝置300例如係構成為使用智慧型手機或個人電腦等情報處理裝置(電腦)之終端機裝置。客戶端裝置300相當於接收裝置的範例。
廣域網路901媒合內容伺服器裝置100與代理伺服器裝置200之通信。廣域網路901可係例如網際網路(Internet)等通用網路,亦可係通信系統1專用的網路。 行動網路902媒合代理伺服器裝置200與客戶端裝置300之通信。尤其,客戶端裝置300以無線電通信連接行動網路902。其中,如同上述,客戶端裝置300亦可以有線電通信連接行動網路902。
圖2係將代理伺服器裝置200的層級構造加以顯示之說明圖。如該圖所示,代理伺服器裝置200具備接收側NIC部210、TCP模組部220、代理處理部230、傳送側NIC(Network Interface Controller;網路介面控制器)部240。TCP模組部220具備接收緩衝區221、傳送緩衝區22。 圖2顯示代理伺服器裝置200進行下行鏈路側(自內容伺服器裝置100往客戶端裝置300)之通信之功能構成。然而,本實施形態不限定於圖2所示之範例。代理伺服器裝置200亦可進行上行鏈路側(自客戶端裝置300往內容伺服器裝置100)之通信。
接收側NIC部210係代理伺服器裝置200與廣域網路901進行通信之物理性介面。尤其,接收側NIC部210將從廣域網路901接收的信號往TCP模組部220輸出。 TCP模組部220執行TCP。 接收緩衝區221以FIFO(First In First Out;先進先出)暫時儲存(緩衝)來自內容伺服器裝置100之接收資料。 傳送緩衝區222以FIFO暫時儲存往客戶端裝置300之傳送資料。
代理處理部230控制代理伺服器裝置200所執行之應用程式。尤其,代理處理部230從接收緩衝區221讀取資料而儲存在傳送緩衝區222。 傳送側NIC部240係代理伺服器裝置200與行動網路902進行通信之物理性介面。尤其,傳送側NIC部240將從TCP模組部220輸出之信號往行動網路902傳送。
若將代理伺服器裝置200的功能構成分類為三層(Layer),則接收側NIC部210及傳送側NIC部240含於NIC層,TCP模組部220含於核心(kernel)層,代理處理部230含於使用者層。NIC層係物理層(以硬體層次進行通信之層)。核心層係OS(Operating System;作業系統)的核心進行處理之層。使用者層係將應用程式加以執行之層。 圖2顯示代理伺服器裝置200分開具備接收緩衝區221與傳送緩衝區222之情形的範例。然而,本實施形態不限於圖2所示之範例。代理伺服器裝置200亦可將單一緩衝區使用於接收緩衝區221及傳送緩衝區222二者。
圖3係將代理伺服器裝置200的功能構成加以顯示之概略方塊圖。如圖3所示,代理伺服器裝置200具備接收緩衝區221、傳送緩衝區222、通信部410、記憶部480、控制部490。通信部410具備接收部411、傳送部412。控制部490具備資料量初期設定部491、資料量更新部492、資料傳送抑制部493。資料量初期設定部491有時僅稱為設定部491。資料量更新部492有時僅稱為更新部492。資料傳送抑制部493有時僅稱為抑制部493。 將圖3的各部分中之與圖2的各部分對應而具有同樣功能之部分標註同一符號(200、221、222)而省略說明。
通信部410與內容伺服器裝置100及客戶端裝置300進行通信。 接收部411對應於圖2的接收側NIC部210,且將內容伺服器裝置100所傳送之內容資料加以接收。 傳送部412對應於圖2的傳送側NIC部240,且往客戶端裝置300傳送內容資料。
記憶部480係使用代理伺服器裝置200所具備之記憶設備而構成,並記憶各種資料。接收緩衝區221及傳送緩衝區222亦可構成為記憶部480的一部分。 控制部490控制代理伺服器裝置200的各部分而執行各種功能。控制部490例如係代理伺服器裝置200所具備之CPU(Central Processing Unit;中央處理裝置)從記憶部480讀取程式並執行而構成。控制部490對應於圖2的TCP模組部220及代理處理部230。
接收部411所行之資料接收開始時,設定部491將接收部411的接收資料量,設定為與自傳送部412往客戶端裝置300之資料的傳送速度獨立之資料量。於此所稱之「與資料的傳送速度獨立之資料量」,係指不拘於自傳送部412往客戶端裝置300之資料之傳送速度的差異,而均為固定資料量。
設定部491進行上述資料量之設定,藉以無論自傳送部412往客戶端裝置300之資料的傳送速度,而均將固定程度的量的資料確保在傳送緩衝區222。藉此,能於代理伺服器裝置200與客戶端裝置300之通信狀況改善而通信速度提昇之際,使缺乏自代理伺服器裝置200往客戶端裝置300之傳送資料之可能性降低。在這方面,能使自代理伺服器裝置200往客戶端裝置300之資料傳送之延遲降低。
接收部411將設定部491所設定之資料量的資料加以接收後,更新部492將接收部411的接收資料量的設定値,更新為自傳送部412往客戶端裝置300之資料的傳送速度所因應之資料量。尤其,更新部492,每當接收部411將接收更新部492所更新之資料量的資料、且傳送部412傳送此資料量的資料時,將接收部411的接收資料量,更新為自傳送部412往客戶端裝置300之資料的傳送速度所因應之資料量。
更新部492進行上述資料量之設定値之更新,藉以將接收部411所行之接收資料量定為因應於傳送部412所行之傳送資料量之資料量。藉此,能降低接收緩衝區221或傳送緩衝區222溢出(Overflow)而代理伺服器裝置200拋棄資料之可能性。在這方面,能有效利用內容伺服器裝置100與代理伺服器裝置200之通信頻寬。
接收部411接收更新部492所更新之資料量的資料後至傳送部412傳送此資料量的資料為止,抑制部493將內容伺服器裝置100所行之資料的傳送加以抑制(亦即,停止內容伺服器裝置100所行之資料的傳送)。尤其,每當更新部492更新接收部411的接收資料量的設定値時,抑制部493於接收部411將更新後之資料量的資料加以接收後至傳送部412傳送此資料量的資料為止,將內容伺服器裝置100所行之資料的傳送加以抑制。
抑制部493能藉由如同上述抑制資料傳送,而抑制(停止)內容伺服器裝置100傳送比代理伺服器裝置200可處理之資料量更多資料量的資料。舉例而言,能如同上述避免接收緩衝區221或傳送緩衝區222溢出而代理伺服器裝置200拋棄資料。在這方面,能有效利用內容伺服器裝置100與代理伺服器裝置200之通信頻寬。
又,抑制部493如同上述抑制資料傳送。因此,能降低於代理伺服器裝置200與客戶端裝置300之通信受到中途切斷之情形下,內容伺服器裝置100已向代理伺服器裝置200傳送,但代理伺服器裝置200不往客戶端裝置300傳送而拋棄之內容資料的量。在這方面,能有效活用內容伺服器裝置100與代理伺服器裝置200之通信頻寬。
圖4係傳送緩衝區222的容量的說明圖。如圖4所示,代理伺服器裝置200從內容伺服器裝置100接收之資料,係儲存在接收緩衝區221。而且,控制部490(代理處理部230)從接收緩衝區221讀取資料而將此資料往傳送緩衝區222儲存。圖4所示之範例之中,使用「2c」表示傳送緩衝區222的容量(可儲存資料量),使用「Dsum」表示傳送緩衝區222所儲存之資料量。傳送緩衝區222所儲存之資料係往客戶端裝置300傳送。
其次,參照圖5而說明代理伺服器裝置200的動作。 圖5係將代理伺服器裝置200進行之處理的順序加以顯示之流程圖。代理伺服器裝置200例如於建立與內容伺服器裝置100之通信而開始內容資料之接收之情形下,開始圖5的處理。
圖5的處理之中,設定部491基於傳送緩衝區大小(傳送緩衝區222的大小(容量))而決定來自內容伺服器裝置100之讀取規模(自內容伺服器裝置100接收的資料量)(步驟S101)。 具體而言,設定部491(代理處理部230)基於式(1)而算出來自內容伺服器裝置100之讀取規模Buf1。
【數學式1】
「2c」表示傳送緩衝區222的大小(傳送緩衝區222可儲存的資料量)。「B」表示正的常數。舉例而言,使用2作為「B」値(預設值)。 Buf1表示來自內容伺服器裝置100之初次的讀取規模。具體而言,當建立與內容伺服器裝置100之通信而開始內容資料之接收時,則代理伺服器裝置200在步驟S101待命至接收讀取規模Buf1額度的內容資料並儲存至接收緩衝區221為止。 讀取規模Buf1相當於下者的範例:與自傳送部412往客戶端裝置300之資料的傳送速度獨立之資料量。
當接收部411從內容伺服器裝置100接收讀取規模Buf1額度的內容資料時,則抑制部493使內容伺服器裝置100中斷內容資料之傳送。就抑制部493向內容伺服器裝置100通知使內容資料傳送之情事中斷之方法而言,例如能使用零窗(Zero Window)通知等已知方法。就其他方法而言,亦可預先制定用以表示讀取規模的資料之讀取已結束之專用信號,且使抑制部493將此信號經由通信部410而傳送至內容伺服器裝置100。 其次,控制部490(代理處理部230)從接收緩衝區221,讀取在步驟S101決定之讀取規模Buf1的資料,並儲存至傳送緩衝區222(步驟S102)。
圖6係將步驟S102之資料的讀取前狀態下之接收緩衝區221及傳送緩衝區222的資料量的範例加以顯示之說明圖。圖2所示,控制部490(代理處理部230)以FIFO(亦即,儲存在接收緩衝區之時機早者起依序)讀取接收緩衝區221所儲存之Buf1額度的資料。圖6的範例之中,傳送緩衝區222所儲存之資料量為0。
圖7係將圖5步驟S102之資料的讀取及儲存後狀態下之接收緩衝區及傳送緩衝區的資料量的範例加以顯示之說明圖。 圖7所示之範例之中,控制部490(代理處理部230)從接收緩衝區221讀取之資料量(讀取規模Buf1)的資料,係儲存在傳送緩衝區222。又,針對傳送緩衝區222的資料量而設定有再接收閾値Th。 圖7所示之範例之中,將接收緩衝區221所儲存之資料量(讀取規模Buf1)的資料全部讀取,藉以使接收緩衝區221所儲存之資料量成為0。
於資料儲存在傳送緩衝區222之情形下,控制部490(TCP模組部220)經由傳送部412而將此資料往客戶端裝置300傳送。此際,控制部490不須將下者同步:來自內容伺服器裝置100之資料接收;以及自接收緩衝區221往傳送緩衝區222之資料轉移。亦即,於資料儲存在傳送緩衝區222之情形下,無論是否從內容伺服器裝置100接收資料,控制部490均將儲存在傳送緩衝區222之資料經由傳送部412而往客戶端裝置300傳送。又,於資料儲存在傳送緩衝區222之情形下,無論是否將資料自接收緩衝區221往傳送緩衝區222傳輸,控制部490均將儲存在傳送緩衝區222之資料往客戶端裝置300傳送。
控制部490(代理處理部230)設定再接收閾値(步驟S103)。舉例而言,於常數B為2之情形下,控制部490基於式(2)算出再接收閾値Th,藉此,控制部490將再接收閾値Th設定為讀取規模Buf1以下的大小。
【數學式2】
控制部490將再接收閾値Th設定為讀取規模Buf1以下的大小,藉以使再接收閾値Th成為傳送緩衝區222所儲存之資料量以下的値。
步驟S103之後,控制部490(TCP模組部220)判斷傳送緩衝區222的累積量(傳送緩衝區222所儲存之資料的量)是否小於再接收閾値Th(步驟S104)。 於控制部490判斷出傳送緩衝區222的累積量係再接收閾値Th以上之情形(步驟S104:NO)下,返回處理步驟S104。 於控制部490判斷出傳送緩衝區222的累積量小於再接收閾値Th之情形(步驟S104:YES)下,更新部492(代理處理部230)基於式(3)算出來自內容伺服器裝置100之讀取規模Buf2(步驟S111)。
【數學式3】
「C」表示正的常數。例如使用2作為「C」的値(預設值)。「MTU(Maximum Transmission Unit;最大傳輸單元)」係表示IP封包的最大大小之常數。「cwnd」表示壅塞窗。「cwnd」以封包數表示壅塞窗的大小。式(3)的「MTU×cwnd」以資料大小(範例如位元組單位)表示壅塞窗的大小。
控制部490(TCP模組部220)因應於代理伺服器裝置200與客戶端裝置300之間的延遲變動,而增減壅塞窗。舉例而言,控制部490基於代理伺服器裝置200與客戶端裝置300之間的延遲之量測,而於延遲增加之情形下減少壅塞窗、於延遲減少之情形下增加壅塞窗。又,往客戶端裝置300傳送之封包消失之情形下,控制部490減少壅塞窗。
如上所述,壅塞窗的大小cwnd係因應於自傳送部412往客戶端裝置300之資料的傳送速度而設定,且傳送速度較大者設定為較大的値。讀取Buf2相當於下者的範例:因應於自傳送部412往客戶端裝置300之資料的傳送速度之資料量。
圖8係將傳送緩衝區的累積量小於再接收閾値之範例加以顯示之說明圖。圖8的範例之中,傳送緩衝區222的累積量(傳送緩衝區222所儲存之資料量)Dsum小於再接收閾値Th。 步驟S111之後,控制部490(代理處理部)230從接收緩衝區221讀取在步驟S111決定之讀取規模Buf2的資料,並儲存在傳送緩衝區222(步驟S112)。
具體而言,代理伺服器裝置200(抑制部493)向內容伺服器裝置100要求內容資料之傳送。而且,接收部411接收讀取規模Buf2額度的內容資料,且控制部490將接收部411所接收之內容資料儲存在接收緩衝區221。當接收讀取規模Buf2額度的內容資料時,則代理伺服器裝置200(抑制部493)使內容伺服器裝置100中斷內容資料之傳送。而且,控制部490(代理處理部230)從接收緩衝區221將讀取規模Buf2額度的內容資料加以讀取,並儲存在傳送緩衝區222。
其次,控制部490(代理處理部230)再次設定再接收閾値Th(步驟S113)。舉例而言,控制部490基於式(4)算出再接收閾値Th。
【數學式4】
其中,Dsum表示傳送緩衝區222現在保持之資料量(亦即,傳送緩衝區222所儲存之資料量)。
圖9係將圖5步驟S112之資料的讀取前狀態下之接收緩衝區的資料量的範例加以顯示之說明圖。圖9所示,控制部490(代理處理部230)以FIFO讀取接收緩衝區221所儲存之資料中之Buf2額度的資料。
圖10係將圖5步驟S112之資料的讀取及儲存後狀態下之接收緩衝區及傳送緩衝區的資料量的範例加以顯示之說明圖。 圖10的範例之中,控制部490(代理處理部230)從接收緩衝區221讀取之資料量(讀取規模Buf2)的資料,係儲存在傳送緩衝區222。 又,針對傳送緩衝區222的資料量而設定有再接收閾値Th。此處之再接收閾値Th係設定為自傳送緩衝區222所儲存之資料量Dsum減去讀取規模Buf2而得之資料量。 步驟S113之後,返回處理步驟S104。
如上所述,每當基於在步驟S112設定之再接收閾値Th而自傳送緩衝區222減少讀取規模Buf2額度的內容資料時,控制部490(代理處理部230)重複步驟S111~S113之處理。亦即,每當自傳送緩衝區222減少與所儲存資料相同資料量的資料時,控制部490(代理處理部230)重複進行讀取規模Buf2之設定、及此讀取規模Buf2額度的資料之往傳送緩衝區之儲存。藉此,步驟S112之往傳送緩衝區222之資料(內容資料)的儲存前狀態下之傳送緩衝區222的資料量大致維持為固定資料量。
於控制部490(代理處理部230)不能無視「在步驟S104判斷出是(YES)至執行步驟S113為止之間」之傳送緩衝區222之資料量之情形下,亦可使用常數取代式(4)的資料量Dsum。舉例而言,控制部490將在步驟S103基於式(2)算出之再接收閾値Th的値,先記憶為常數Th1。然後,控制部490在步驟S113,取代資料量Dsum而使用常數Th1算出再接收閾値Th。亦即,控制部490使用「Th=Th1-Buf2」的式算出再接收閾値Th。
藉此,於不能無視上述資料量之減少之情形下,步驟S112之往傳送緩衝區222之資料的儲存前狀態下之傳送緩衝區222的資料量,亦大致維持為固定資料量。 另一方面,如同式(4),於控制部490偵測出資料量Dsum而算出再接收閾値Th之情形下,不須先記憶常數Th1。在這方面,能降低記憶部480的記憶體容量。
控制部490(代理處理部230)亦可不等待接收部411所行之讀取規模的資料之接收結束,而自接收緩衝區221往傳送緩衝區222傳輸資料。 具體而言,在步驟S102,當接收部411將內容資料接收而往接收緩衝區221儲存時,則控制部490亦可不等待讀取規模Buf1的資料之接收結束,而自接收緩衝區221往傳送緩衝區222傳輸資料。此情形下,控制部490偵測出接收部411所行之接收資料量,且當此接收資料量到達讀取規模Buf1時,則將內容伺服器裝置100所行之內容資料之傳送加以中斷。 接收部411所行之接收資料量,能由下者之合計算出:接收緩衝區221所儲存之資料量;以及控制部490自接收緩衝區221往傳送緩衝區222傳輸之資料的量。
同樣,在步驟S112,當接收部411將內容資料加以接收而往接收緩衝區221儲存時,則控制部490亦可不等待讀取規模Buf2的資料之接收結束,而自接收緩衝區221往傳送緩衝區222傳輸資料。此情形下,控制部490偵測出接收部411所行之接收資料量,且當此接收資料量到達讀取規模Buf2時,則將內容伺服器裝置100所行之內容資料的傳送加以中斷。
如上所述,接收部411所行之資料接收開始時,設定部491將接收部411的接收資料量,設定為與自傳送部412往客戶端裝置300之資料的傳送速度獨立之資料量(亦即,接收部411所行之資料接收開始時,設定部491將接收部411的接收資料量不取決於傳送部412往客戶端裝置300之資料的傳送速度而進行設定)。又,接收部411接收設定部491所設定之資料量的資料後,更新部492將接收部411之接收資料量的設定値,更新為自傳送部412往客戶端裝置300之資料的傳送速度所因應之資料量。又,接收部411接收更新部492所更新之資料量的資料後,抑制部493將傳送裝置所行之資料的傳送抑制至傳送部412傳送此資料量的資料為止。
設定部491進行上述之資料量的設定,藉以能無論自傳送部412往客戶端裝置300之資料的傳送速度,而均將固定程度的量的資料確保在傳送緩衝區222。藉此,能降低於代理伺服器裝置200與客戶端裝置300之通信狀況改善而通信速度提昇之際,自代理伺服器裝置200往客戶端裝置300之傳送資料缺乏之可能性。在這方面,依據代理伺服器裝置200,則能降低自代理伺服器裝置200往客戶端裝置300之資料傳送的延遲。
又,抑制部493如同上述抑制資料傳送。因此,能降低於代理伺服器裝置200與客戶端裝置300之通信受到中途切斷之情形下,雖然內容伺服器裝置100已向代理伺服器裝置200傳送,但代理伺服器裝置200不往客戶端裝置300傳送而拋棄之內容資料的量。在這方面,能有效活用內容伺服器裝置100與代理伺服器裝置200之通信頻寬。 如上所述,依據代理伺服器裝置200,則能有效活用內容伺服器裝置100與代理伺服器裝置200之通信頻寬,且能降低自代理伺服器裝置200往客戶端裝置300之資料傳送的延遲。
其次,參照圖11而說明本發明的實施形態的構成。 圖11係將本發明的實施形態之資料通信裝置的構成加以顯示之概略方塊圖。圖11所示之資料通信裝置10具備接收部11、接收緩衝區12、傳送緩衝區13、傳送部14、資料量初期設定部15、資料量更新部16、資料傳送抑制部17。
此構成之中,接收部11接收來自傳送裝置的資料。而且,傳送部14將接收部11所接收之資料往接收裝置傳送。接收緩衝區12儲存接收部11所接收之資料。傳送緩衝區13將待傳送部14所行之傳送之資料加以儲存。 接收部11所行之資料接收開始時,資料量初期設定部15將接收部11的接收資料量,設定為與自傳送部14往接收裝置之資料的傳送速度獨立的資料量。接收部11接收資料量初期設定部15所設定之資料量的資料後,資料量更新部16將接收部11之接收資料量的設定値,更新為自傳送部14往接收裝置之資料的傳送速度所因應之資料量。自接收部11接收資料量更新部16所更新之資料量的資料後,至傳送部14傳送此資料量的資料為止,資料傳送抑制部將傳送裝置所行之資料的傳送加以抑制。
資料量初期設定部15進行上述之資料量的設定,藉以能無論自傳送部14往接收裝置之資料的傳送速度,而均將固定程度的量的資料確保在傳送緩衝區13。藉此,能降低於資料通信裝置10與接收裝置之通信狀況改善而通信速度提昇之際,自資料通信裝置10往接收裝置之傳送資料缺乏之可能性。在這方面,依據資料通信裝置10,則能降低自資料通信裝置10往接收裝置之資料傳送的延遲。
又,資料傳送抑制部17如同上述抑制資料傳送。因此,能降低於資料通信裝置10與接收裝置之通信受到中途切斷之情形下,雖然傳送裝置已向資料通信裝置10傳送,但資料通信裝置10不往接收裝置傳送而拋棄之資料的量。在這方面,能有效活用傳送裝置與資料通信裝置10之通信頻寬。 如上所述,依據資料通信裝置10,則能有效活用傳送裝置與資料通信裝置10之通信頻寬,且能降低自資料通信裝置10往接收裝置之資料傳送的延遲。
以上,已參照圖式詳述此發明之實施形態,但具體構成不限於此實施形態,亦包含不脫離此發明主要意旨之範圍的設計等。 此申請出願主張2015年9月25日所申請之日本專利申請特願2015-188491為基礎之優先權,並將其揭示內容全部引用至此。
1‧‧‧通信系統 10、100‧‧‧內容伺服器裝置 11、411‧‧‧接收部 12、221‧‧‧接收緩衝區 13、222‧‧‧傳送緩衝區 14、412‧‧‧傳送部 15、491‧‧‧資料量初期設定部 16、492‧‧‧資料量更新部 17、493‧‧‧資料送信抑制部 2c‧‧‧容量 200‧‧‧代理伺服器裝置 210‧‧‧接收側NIC部 220‧‧‧TCP模組部 230‧‧‧代理處理部 240‧‧‧傳送側NIC部 300‧‧‧客戶端裝置 410‧‧‧通信部 480‧‧‧記憶部 490‧‧‧控制部 901‧‧‧廣域網路 902‧‧‧行動網路 Buf1、Buf2‧‧‧讀取規模 Dsum‧‧‧資料量 S101~S113‧‧‧步驟 th‧‧‧再接收閾值
圖1係將本發明的一實施形態之通信系統的功能構成加以顯示之概略方塊圖。 圖2係將圖1所示之通信系統的代理伺服器裝置的層級構造加以顯示之說明圖。 圖3係將圖2所示之代理伺服器裝置的功能構成加以顯示之概略方塊圖。 圖4係圖3所示之代理伺服器裝置的傳送緩衝區的容量之說明圖。 圖5係將圖3所示之代理伺服器裝置進行之處理的順序加以顯示之流程圖。 圖6係將圖5步驟S102之資料的讀取前狀態下之接收緩衝區及傳送緩衝區的資料量的範例加以顯示之說明圖。 圖7係將圖5步驟S102之資料的讀取及儲存後狀態下之接收緩衝區及傳送緩衝區的資料量的範例加以顯示之說明圖。 圖8係將圖4所示之傳送緩衝區的累積量小於再接收閾値之範例加以顯示之說明圖。 圖9係將圖5步驟S112之資料的讀取前狀態下之接收緩衝區的資料量的範例加以顯示之說明圖。 圖10係將圖5步驟S112之資料的讀取及儲存後狀態下之接收緩衝區及傳送緩衝區的資料量的範例加以顯示之說明圖。 圖11係將本發明的實施形態之資料通信裝置的構成加以顯示之概略方塊圖。
200‧‧‧代理伺服器裝置
210‧‧‧接收側NIC(Network Interface Controller;網路介面控制器)部
220‧‧‧TCP(Transmission Control Protocol/Internet Protocol;傳輸控制通訊協定)模組部
221‧‧‧接收緩衝區
222‧‧‧傳送緩衝區
230‧‧‧代理程序部
240‧‧‧傳送側NIC部
Claims (5)
- 一種資料通信裝置,具備: 接收部,自傳送裝置接收資料; 傳送部,將該資料往接收裝置傳送; 設定部,該接收部開始接收該資料時,將由該接收部接收之該資料的量,設定為與自該傳送部往該接收裝置之該資料的傳送速度獨立之設定量; 更新部,於該接收部已接收到該設定量的該資料後,將該設定量更新為因應於該傳送速度的更新量;以及 抑制部,於該接收部已接收該更新量的該資料後至該傳送部已傳送該更新量的該資料為止,使該傳送裝置傳送該資料之情事中斷。
- 如申請專利範圍第1項之資料通信裝置,其中, 更具備: 接收緩衝區,儲存該接收部所接收之資料;以及 傳送緩衝區,儲存待由該傳送部進行傳送的資料。
- 如申請專利範圍第1或2項之資料通信裝置,其中, 該更新部,每當由該接收部接收且由該傳送部傳送該更新量的該資料時,將由該接收部所接收之資料的量,更新為因應於該傳送速度的量, 該抑制部,每當該更新部更新由該接收部所接收之資料的量時,於該接收部已接收該更新量的該資料後至該傳送部傳送該更新量的該資料為止,使該傳送裝置傳送該資料之情事中斷。
- 一種資料通信控制方法,包含: 接收步驟,藉由接收部自傳送裝置接收資料; 傳送步驟,藉由傳送部將該資料往接收裝置傳送; 設定步驟,於該接收部開始接收該資料時,將由該接收部接收之該資料的量,設定為與自該傳送部往該接收裝置之該資料的傳送速度獨立之設定量; 更新步驟,該接收部已接收該設定量的該資料後,將該設定量更新為因應於該傳送速度的更新量;以及 中斷步驟,於該接收部已接收該更新量的該資料後至該傳送部傳送該更新量的該資料為止,使該傳送裝置傳送該資料之情事中斷。
- 一種程式,用以使電腦執行下述步驟,且該電腦控制資料通信裝置,該資料通信裝置具備將來自傳送裝置的資料予以接收之接收部、將該資料往接收裝置傳送之傳送部: 設定步驟,於該接收部開始接收該資料時,將由該接收部接收之該資料的量,設定為與自該傳送部往該接收裝置之該資料的傳送速度獨立之設定量; 更新步驟,於該接收部已接收該設定量的該資料後,將該設定量更新為因應於該傳送速度的更新量;以及 中斷步驟,於該接收部已接收該更新量的該資料後至該傳送部傳送該更新量的該資料為止,使該傳送裝置傳送該資料之情事中斷。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015-188491 | 2015-09-25 | ||
JP2015188491 | 2015-09-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201722118A true TW201722118A (zh) | 2017-06-16 |
TWI649991B TWI649991B (zh) | 2019-02-01 |
Family
ID=58386025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105130530A TWI649991B (zh) | 2015-09-25 | 2016-09-22 | 資料通信裝置、資料通信控制方法及程式 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20180278537A1 (zh) |
JP (1) | JP6766817B2 (zh) |
TW (1) | TWI649991B (zh) |
WO (1) | WO2017051860A1 (zh) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05176000A (ja) * | 1991-12-20 | 1993-07-13 | Nec Corp | データ中継装置 |
DE60119866T2 (de) * | 2000-09-27 | 2007-05-10 | International Business Machines Corp. | Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern |
EP1204276A3 (en) * | 2000-10-10 | 2007-01-03 | Matsushita Electric Industrial Co., Ltd. | Apparatus for processing a digital Audio Video signal |
EP1872543A1 (fr) * | 2005-04-18 | 2008-01-02 | France Telecom S.A. | Procede et systeme de transmission d un flux multicast en reseau d echange de donnees |
US9084276B2 (en) * | 2009-09-11 | 2015-07-14 | Aerovironment, Inc. | Dynamic transmission control for a wireless network |
JP2012090071A (ja) * | 2010-10-20 | 2012-05-10 | Nec Corp | 中継装置、通信システム及びそれらに用いるフロー制御方法 |
TWI424322B (zh) * | 2011-02-08 | 2014-01-21 | Kinghood Technology Co Ltd | 提供大量資料流存取的資料流管理系統 |
JP5258938B2 (ja) * | 2011-07-26 | 2013-08-07 | 株式会社日立製作所 | 通信装置 |
US8903952B2 (en) * | 2011-08-16 | 2014-12-02 | Arris Enterprises, Inc. | Video streaming using adaptive TCP window size |
EP2605469A1 (en) * | 2011-12-13 | 2013-06-19 | Thomson Licensing | Method and apparatus to control a multipath adaptive streaming session |
US8782221B2 (en) * | 2012-07-05 | 2014-07-15 | A10 Networks, Inc. | Method to allocate buffer for TCP proxy session based on dynamic network conditions |
-
2016
- 2016-09-22 TW TW105130530A patent/TWI649991B/zh active
- 2016-09-23 WO PCT/JP2016/077990 patent/WO2017051860A1/ja active Application Filing
- 2016-09-23 US US15/762,151 patent/US20180278537A1/en not_active Abandoned
- 2016-09-23 JP JP2017541583A patent/JP6766817B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
TWI649991B (zh) | 2019-02-01 |
US20180278537A1 (en) | 2018-09-27 |
WO2017051860A1 (ja) | 2017-03-30 |
JP6766817B2 (ja) | 2020-10-14 |
JPWO2017051860A1 (ja) | 2018-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11044290B2 (en) | TCP cross traffic rate control | |
US8996718B2 (en) | TCP-aware receive side coalescing | |
US9961585B2 (en) | Network-side buffer management | |
KR101746056B1 (ko) | 요청 관리자 및 연결 관리자 기능을 수행하는 전송 가속기 | |
TWI559717B (zh) | 互動式即時媒體之傳輸協議 | |
CN110445722B (zh) | 拥塞控制方法、装置、设备及存储介质 | |
WO2017097201A1 (zh) | 一种数据传输方法、发送装置及接收装置 | |
CN112104562B (zh) | 拥塞控制方法及装置、通信网络、计算机存储介质 | |
WO2014187114A1 (zh) | 一种文件传输方法、装置及存储介质 | |
US9369392B2 (en) | SCTP bundling | |
WO2013139010A1 (zh) | 确认包的处理方法、设备及系统 | |
KR101141160B1 (ko) | 네트워크 장치를 위한 버퍼 제어 방법 | |
WO2017161967A1 (zh) | 包每秒流量监管方法、装置和计算机存储介质 | |
WO2022017243A1 (zh) | 调度终端设备的方法、装置、介质、网络设备、终端及计算机程序产品 | |
JP2004304806A (ja) | 通信システム内のフロー制御のための方法 | |
CN111132225B (zh) | 一种am模式下的rlc实体的接收侧及其接收数据的方法 | |
JP6234236B2 (ja) | 通信装置 | |
WO2014067322A1 (zh) | 消息发送方法及装置 | |
WO2021101640A1 (en) | Method and apparatus of packet wash for in-time packet delivery | |
TW201722118A (zh) | 資料通信裝置、資料通信控制方法及程式 | |
WO2021103822A1 (zh) | 用于获取共用最大分段大小mss的方法及装置 | |
CN105337704A (zh) | 报文处理方法及装置 | |
JP2006279867A (ja) | Adsl通信装置、プログラム及び方法 | |
JP2014220621A (ja) | パケット処理方法及びパケット処理装置 | |
CN112532535B (zh) | 一种用于优化网络拥塞的方法和装置 |