CN105830377B - 用于提供对网络流量进行动态编码的方法和装置 - Google Patents

用于提供对网络流量进行动态编码的方法和装置 Download PDF

Info

Publication number
CN105830377B
CN105830377B CN201480069488.1A CN201480069488A CN105830377B CN 105830377 B CN105830377 B CN 105830377B CN 201480069488 A CN201480069488 A CN 201480069488A CN 105830377 B CN105830377 B CN 105830377B
Authority
CN
China
Prior art keywords
coding
network
access point
network flow
client device
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201480069488.1A
Other languages
English (en)
Other versions
CN105830377A (zh
Inventor
荣·潘
阿肖克·克里希纳吉·莫赫
道格拉斯·陈
维杰纳瑞亚南·萨布瑞玛尼安
弗拉维奥·博诺米
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN105830377A publication Critical patent/CN105830377A/zh
Application granted granted Critical
Publication of CN105830377B publication Critical patent/CN105830377B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0273Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • 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/14Multichannel or multilink protocols
    • 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/163In-band adaptation of TCP data exchange; In-band control procedures
    • 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/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • H04W28/0236Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0247Traffic management, e.g. flow control or congestion control based on conditions of the access network or the infrastructure network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link

Landscapes

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

Abstract

在一个实施例中,方法包括:由网络设备确定接入网中的接入网条件,该接入网提供客户端设备和经由数据网络能到达的目的地之间的通信;由网络设备基于接入网条件选择用于客户端设备和目的地之间的网络流量的多个编码方法中的一个编码方法,包括选择用于该一个编码方法的编码参数;以及由网络设备根据该一个编码方法和选择的编码参数,代表客户端设备引起对网络流量执行编码。

Description

用于提供对网络流量进行动态编码的方法和装置
技术领域
本公开通常涉及针对计算网络中的网络使能设备的传输层编码。
背景技术
本节描述了可以采用的方法,但不一定是先前已经构思或采用的方法。因此,除非明确地指定以其他方式,否则本节中所描述的任何方法不是本申请的权利要求的现有技术,并且本节中所描述的任何方法不因被包含在本节中而被承认为现有技术。
由于传输控制协议(TCP)不能辨别因信道错误造成的损失和因拥塞造成的损失,利用TCP在无线链路上传输网络流量遭受了巨大损失。通过向TCP层应用编码来减少网络流量的损失的提议被提出,例如,容失TCP(LT-TCP)。然而,现有提议没有提供可以被大规模地商业化实现的实际解决方案。
发明内容
根据本发明的第一方面,提供了一种用于提供对网络流量进行动态编码的方法。该方法包括:由网络设备确定接入网中的接入网条件,该接入网提供客户端设备和经由数据网络能到达的目的地之间的通信;由网络设备基于接入网条件选择用于客户端设备和目的地之间的网络流量的多个编码方法中的一个编码方法,包括选择用于所述一个编码方法的编码参数;以及由网络设备根据所述一个编码方法和所选择的编码参数,代表客户端设备引起对网络流量执行编码;其中,所述引起包括网络设备向接入网中的接入点输出指定所述一个编码方法和所选择的编码参数的指令,使接入点响应于指令能够在网络流量和经编码的网络流量之间转换。
根据本发明的第二方面,提供了一种用于提供对网络流量进行动态编码的装置。该装置包括:包括一个或多个集成电路的处理器;存储器,存储器存储可执行逻辑,所述处理器在执行所述存储器中存储的可执行逻辑时,被配置为:确定接入网中的接入网条件,该接入网提供客户端设备和经由数据网络能到达的目的地之间的通信,以及基于接入网条件选择用于客户端设备和目的地之间的网络流量的多个编码方法中的一个编码方法,包括选择用于所述一个编码方法的编码参数;以及包括一个或多个集成电路的设备接口电路,该设备接口电路被配置为根据所述一个编码方法和所选择的编码参数,代表客户端设备引起对网络流量执行编码;其中,所述引起包括网络设备向接入网中的接入点输出指定所述一个编码方法和所选择的编码参数的指令,使接入点响应于指令能够在网络流量和经编码的网络流量之间转换。
根据本发明的第三方面,提供了一种计算机可读介质,存储计算机程序,所述计算机程序可被处理器执行以实现以下步骤:由网络设备确定接入网中的接入网条件,该接入网提供客户端设备和经由数据网络能到达的目的地之间的通信;由网络设备基于接入网条件选择用于客户端设备和目的地之间的网络流量的多个编码方法中的一个编码方法,包括选择用于所述一个编码方法的编码参数;以及由网络设备根据所述一个编码方法和所选择的编码参数,代表客户端设备引起对网络流量执行编码;其中,所述引起包括网络设备向接入网中的接入点输出指定所述一个编码方法和所选择的编码参数的指令,使接入点响应于指令能够在网络流量和经编码的网络流量之间转换。
附图说明
参考附图,其中具有相同的数字标号的元件表示贯穿本发明的相似元件,并且其中:
图1A和1B根据示例性实施例分别示出具有基于检测到的接入网条件选择编码方法的装置的示例性系统,该系统代表客户端设备对客户端网络流量进行编码。
图2根据示例性实施例示出图1中的任何一种网络设备的示例性实现方式。
图3根据示例性实施例示出代表客户端设备选择编码方法的示例性方法。
具体实施方式
综述
在一个实施例中,方法包括:由网络设备确定接入网中的接入网条件,该接入网提供客户端设备和经由数据网络能到达的目的地之间的通信;由网络设备基于接入网条件选择用于客户端设备和目的地之间的网络流量的多个编码方法中的一个编码方法,包括选择用于该一个编码方法的编码参数;以及由网络设备根据该一个编码方法和选择的编码参数,代表客户端设备引起对网络流量执行编码。
在另一实施例中,装置包括处理器电路和设备接口电路。该处理器电路被配置为确定接入网中的接入网条件,该接入网提供客户端设备和经由数据网络能到达的目的地之间的通信。该处理器电路还被配置为基于接入网条件选择用于客户端设备和目的地之间的网络流量的多个编码方法中的一个编码方法,包括选择用于该一个编码方法的编码参数。设备接口电路被配置为根据一个编码方法和选择的编码参数,代表客户端设备引起对网络流量执行编码。
在又一个实施例中,逻辑被编码在一个或多个非暂态有形介质中以由机器执行,并且当由机器执行时能操作来:由网络设备确定接入网中的接入网条件,该接入网提供客户端设备和经由数据网络能到达的目的地之间的通信;由网络设备基于接入网条件选择用于客户端设备和目的地之间的网络流量的多个编码方法中的一个编码方法,包括选择用于该一个编码方法的编码参数;以及由网络设备根据该一个编码方法和选择的编码参数,代表客户端设备引起对网络流量执行编码。
具体描述
具体实施例使能对计算网络中的网络流量进行有效以及可扩展的编码部署,该网络流量被客户端设备用来例如经由数据网络(比如,局域网和/或广域网)与目的地进行通信。
图1A和1B是根据示例性实施例示出具有基于检测到的接入网条件选择编码方法的装置12的示例性网络10,网络10用于代表客户端设备对客户端设备网络流量进行编码。装置12(在本文中还被称为“雾服务器装置”、“边缘服务器装置”、或简称为“网络设备”)是物理机器(即,硬件设备),该物理机器被配置为经由网络10实现与其它物理机器(例如,客户端设备14、接入点设备16、路由器设备18、和/或数据中心服务器设备20)的网络通信。因此,装置12是经由网络10实现网络通信的网络使能机器。
如图1A和1B所示,每个客户端设备14可以具有与接入点设备16a的有线数据链接(例如,以太网)22a和/或无线数据链接(例如,WiFi)22b;例如,接入点设备16a可以被实现为移动路由器,该移动路由器向“连接的车辆”24提供无线通信以经由与接入网26的网络接入设备16b的有线或无线通信链路30访问网络10。实现为例如固定无线接入点的网络接入设备16b可以向移动无线接入点16a和/或客户端设备14提供网络接入以用于获取网络服务,包括经由广域网28到达目的地(例如,数据中心服务器)20。目的地20可以提供各种数据中心服务,例如,分布式网页服务、文档共享服务、分布式计算服务、分布式存储服务、分布式应用传送和支持等(在本文中被统称为“云计算服务”)。客户端设备可经由接入网26到达其它目的地设备。
接入网26包括一个或多个接入点16a和/或16b、以及可以提供雾计算服务的一个或多个网络设备12。“雾计算”指的是利用在接入网26(也被称为“雾网络”26)中部署的一个或多个计算设备、网络设备等提供与数据中心服务器20相关联的一个或多个传统云计算服务。换言之,“雾计算”指的是在接入网26内以分布式和/或虚拟化的方式提供一个或多个服务(例如,计算、存储、和/或网络化服务)。本文所述的“雾计算”允许网络边缘设备(例如,16a和16b)和/或网络边缘服务器12充当“代理”以执行通常需要由客户端设备14执行的操作。此外,因为网络边缘设备16a和/或16b建立了针对客户端设备14的最后一跳通信链路22、30,所以网络边缘设备16a和/或16b可以向网络边缘服务器12提供接入网条件,使得网络边缘服务器12能够基于接入网条件确定针对客户端设备14优化的雾计算服务,下文将进一步详细描述。
根据示例性实施例,网络设备12可以基于确定与经由一个或多个数据链路22、30访问接入网26的客户端设备14相关联的接入网条件来优化该客户端设备14和目的地(例如,数据中心服务器)20之间的通信。网络设备12可以选择用于客户端设备14和目的地20之间的网络流量的多个编码方法中的一个。网络设备12还可以选择与选择的一个编码方法相关联的一个或多个编码参数,并且根据选择的编码参数代表客户端设备14引起对网络流量执行选择的编码。
如图1A所示,网络设备12可以向移动无线接入点16a和固定无线接入点16b发送指令,从而使得无线接入点16a和16b充当用于经由无线链路30建立被编码的TCP链路32的对等端点。无线接入点16a和16b可以在由任意一个客户端设备14输出或由任意一个客户端设备14接收的TCP流上执行编码(以及解码)。因此,由客户端设备14输出并且去往目的地20的TCP流可以由移动无线接入点16a编码,无线接入点16a把从客户端设备14接收到的TCP传输替换为根据边缘服务器设备12选择的编码方法的经编码的数据分组的经编码的TCP传输,并且把经编码的TCP传输输出至无线数据链路30上;由固定接入点16b经由无线数据链路30接收的经编码的数据分组的经编码的TCP传输可以由固定接入点16b解码以恢复由客户端设备14输出的原始TCP传输,以经由接入网26和广域网28传送至目的地20。
相反地,来自“目的地”服务器设备20并且去往客户端设备14的TCP传输可以被固定接入点16b替换为根据边缘服务器设备12选择的编码方法和参数的经编码的数据分组的经编码的TCP传输,并且经编码的TCP传输可以由固定接入点16b经由无线链路30作为经编码的TCP链路32输出至移动接入点16a。来自固定接入点并且经由无线数据链路30接收的经编码的TCP传输可以由移动接入点16a解码以恢复由服务器设备20输出的原始TCP传输,以将TCP传输传送至客户端设备14。因此,接入点16a和16b可以操作为“对等端点”以在TCP网络流量和载送经编码的TCP传输的经编码的网络流量之间转换。因此,示例性实施例允许把编码添加至网络流量的传输层协议传输(例如,根据TCP),其中编码是基于接入网条件进行优化的。
如图1B所示,网络设备12可以向移动无线接入点16a和充当相应对等端点的另一网络设备发送指令以建立目的地服务器设备20和客户端设备14之间的经编码的TCP连接32’(包括多个TCP链路32)。例如,网络设备12可以向提供接入网26和广域网(WAN)28之间的连接的入口路由器18a、提供广域网和数据中心之间的连接的出口路由器18b、数据中心中的另一网络设备、或数据中心服务器设备20中的任意一者发送编码指令。因此,网络设备12可以建立经编码的TCP连接32’以在一端处由移动接入点16a端接,并且在另一端处由入口路由器18a、出口路由器18b、数据中心服务器设备20、或与服务器设备20相关联的数据中心中的任意其它网络设备中的任意一个端接。基于下文所述的确定无线数据链路30遭受最小数据损失,离客户端设备14最近的对等端点还可以端接到与客户端设备14或移动无线接入点16a不同的网络设备(例如,接入网26内的路由器设备或固定无线接入点16b)处。
因此,示例性实施例使网络设备12能够由不同于客户端设备14的网络设备利用网络设备12选择的编码方法(以及编码参数),基于确定的接入网条件引起编码的执行。代表客户端设备14引起编码的执行的网络设备12消除了对任意客户端设备14的任意修改(例如,通过在TCP第3层堆栈和互联网协议(IP)第2层堆栈之间插入编码层来修改客户端设备14中的TCP堆栈)的必要性,因为编码是由充当“代理”编码设备的另一网络设备执行的。因此,对TCP堆栈的任意修改(例如,在TCP第3层堆栈和IP第2层堆栈之间插入可执行的编码层)可以在对等端点(例如,图1的16a和16b;图2的16a和18b)中实现。
示例性实施例还消除了客户端设备14分配大量设备资源(例如,CPU处理能力、存储器设备存储能力等)来执行编码的需求。具有不同的计算资源需求并且在数据流上执行编码的不同的编码方法(例如,里德所罗门(Reed Solomon)、Turbo编码、网络编码、XOR编码)可以是计算密集型的。此外,相比于在接入网26和/或广域网28内的网络基础设施中部署的网络设备,客户端设备(例如,笔记本电脑设备、智能电话、智能平板等)14具有缩减的计算能力(CPU处理能力或存储器能力);此外,客户端设备14的功率通常被限制为只在电池电源上操作。因此,示例性实施例允许编码在网络26和/或28中部署的网络设备中被执行并且被优化来执行计算密集型网络服务操作(例如,编码)。
示例性实施例还提供了选择应该被应用于特定TCP传输流的编码方法的灵活性。如下文的进一步详细描述,网络设备12可以基于与需要执行编码的网络设备的可用处理能力相关的检测到的网络条件(包括接入网络中的数据信道(例如,数据链路30)上的损失率、基于策略的值(包括与客户端设备相关联的策略)和/或TCP传输流)在不同的编码方法(例如,XOR编码、里德所罗门、Turbo编码、网络编码等)之间进行选择。因此,网络设备12可以平衡相关编码需求和可用的处理资源,以选择要使用的编码方法以及用于选择的编码方法的编码参数。
示例性实施例允许对根据面向连接的协议(例如,TCP、流控制传输协议(SCTP)等)传输的网络流量进行编码,其中对具有双向通信的反向信道的利用使得对等端点能够协商编码方法和/或编码参数,其中装置12可以识别可以在对等端点之间协商的规定的编码方法和/或参数。对等端点之间的协商可以利用(数据流内的、例如标识编码方法和参数的头部的)带内信令或(例如,利用单独的控制信道进行协商的)带外信令实现;带外信令还可以被用于对根据无连接协议(例如,UDP)传输的网络流量进行编码。
因此,示例性实施例允许动态选择用于代表输出网络流量的客户端设备对(例如,面向连接的或无连接的)网络流量进行编码的编码方法。网络流量的编码可以利用前向纠错(FEC)(例如,里德所罗门、Turbo编码、网络编码、XOR编码等)来向网络流量流中添加冗余以解决数据分组的任何丢失。前向纠错提供的冗余允许修复在通过网络介质传输期间丢失或破坏的任意数据分组。因此,网络流量的基于FEC编码可以减少或消除重传丢失/破坏的数据分组的必要性。不采用FEC的其它编码方法也可以被使用,例如,发送数据分组的冗余副本来避免可能的丢失/破坏的数据分组。针对可靠的协议,这在避免了重传的需求的同时以更高的用于防止丢失/破坏数据分组的带宽作为权衡。
图2根据示例性实施例示出图1的网络设备12、16a、16b、18或20中的任一网络设备的示例性实现方式。每个网络设备12、16a、16b、18和/或20可以包括网络接口电路40、处理器电路42、以及存储器电路44。网络接口电路40可以包括一个或多个不同的物理层收发器,该物理层收发器用于与经由有线或无线数据链路可到达的任意其它网络设备进行通信;网络接口电路40还可以包括用于经由有线以太网链路与图1的设备进行通信的基于IEEE的以太网收发器和/或光纤收发器等。处理器电路42可以被配置为执行本文所述的任意操作,并且存储器电路44可以被配置为存储如本文所述的任意数据或数据分组,例如,在缓冲器中存储数据分组。
网络设备12、16、18或20(包括网络接口电路40、处理器电路42、存储器电路44、以及它们相关联的组件)的被公开的电路中的任何一者可以以多种形式实现。被公开的电路的示例性实现方式包括在逻辑阵列(例如,可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA))中实现的、或者通过掩模编程的集成电路(例如,专用集成电路(ASIC)或任意定制的集成电路)实现的硬件逻辑。这些电路中的任意电路可以利用由相应的内部处理器电路(例如,微处理器电路(未示出))执行的基于软件的可执行资源实现以及利用一个或多个集成电路实现,其中对存储于(存储器电路40内的)内部存储器电路中的可执行代码的执行使得实现处理器电路的(一个或多个)集成电路在处理器存储器中存储应用状态变量,创建执行如本文所述的电路的操作的可执行应用资源(例如,应用实例)。因此,该说明书中使用的术语“电路”是指使用一个或多个集成电路实现的并且包括用于执行所描述的操作的逻辑的基于硬件的电路、或包括处理器电路(利用一个或多个集成电路实现的)的基于软件的电路,处理器电路包括处理器存储器的保留部分,其用于存储由处理器电路通过执行可执行的代码而修改的应用状态数据和应用变量。存储器电路44可以例如使用诸如可编程只读存储器(PROM)或EPROM之类的非易失性存储器、和/或诸如DRAM、SRAM之类的易失性存储器来实现。
此外,对“输出消息”或“输出分组”(等等)的任何提及可以基于创建数据结构形式的消息/分组并且将数据结构存储在所公开的装置中的非暂态有形存储器介质(例如,在传输缓冲器中)中来实现。对“输出消息”或“输出分组”(等等)的任何提及还可以包括将存储于非暂态有形存储器介质中的消息/分组经由通信介质(例如,根据需要为有线链路或无线链路)(根据需要还可以使用光传输)电传输(例如,根据需要经由有线电流或无线电场)到另一网络设备。类似地,对“接收消息”或“接收分组”(等等)的任何提及可以基于所公开的装置检测通信介质上的消息/分组的电的(或光的)传输,并且将检测到的传输作为数据结构存储在所公开的装置中的非暂态有形存储器介质(例如,在接收缓冲器中)中。还要注意的是,存储器电路44可以由处理器电路42动态实现,例如,基于处理器电路42所执行的存储器地址分配和分割。
图3根据示例性实施例示出代表客户端设备选择编码方法的示例性方法。针对图3或任意其它附图所描述的操作可以被实现为(以加密或非加密形式)存储于计算机或机器可读非暂态有形存储介质(例如,软磁盘、硬磁盘、ROM、EEPROM、非易失性RAM、CD-ROM等)上的可执行代码,这些操作基于由使用一个或多个集成电路实现的处理器电路执行代码被完成;本文所描述的操作还可以被实现为被编码在用于执行的一个或多个非暂态有形介质(例如,可编程逻辑阵列或设备、现场可编程门阵列、可编程阵列逻辑、专用集成电路等)中的可执行逻辑。
此外,针对图1-3中的任意附图所描述的操作可以以任意适当的顺序执行或者至少一些操作可以并行执行。如本文所述的操作的执行只是通过举例的方式;同样地,操作不一定需要由如本文所述的基于机器的硬件组件执行;相反地,其它基于机器的硬件组件可以被用于以任意适当的顺序执行所公开的操作或者并行执行至少一些操作。
网络设备12的处理器电路42被配置为在操作50中监控去往或来自与接入网26通信的客户端设备14的TCP流。例如,从边缘路由器(例如,图1的18a)接收进入流量的每个路由器设备和/或每个接入点16可以向网络设备12发送新TCP流的通知。
在操作52中,网络设备12的处理器电路42可以确定接入网条件,以便于为新的TCP流选择编码方法和相关联的编码参数。例如,处理器电路42可以针对相应编码设备的存储器和处理能力确定需要由编码设备同时编码的传送流的数量:如图1A或1B所示,网络设备12的处理器电路42可以确定移动接入点16a可能需要为五(5)个客户端设备14同时经编码的TCP流。网络设备12的处理器电路42还可以在操作52中确定用于客户端设备14和目的地20之间的网络流量的传送的至少一个数据信道30的损失率作为接入网条件中的一个条件;如之前针对图1B所描述的,网络设备12的处理器电路42可以从相应的网络设备(例如,接入点和/或路由器设备)接收针对接入网26(和/或WAN 28)中的任意数据链路的网络性能信息,包括带宽数据速率、误码率、损失率(例如,丢失数据的百分比)等。
网络设备12的处理器电路42还可以(经由相应的设备接口电路40)接收源自客户端设备14、接入点16、边缘路由器18a或18b和/或“目的地”设备20的编码请求,其中编码请求可以指定针对被识别的TCP传送流的被识别的编码方法。网络设备12的处理器电路42还可以选择性地确定传送流是否具有可识别的优先级(例如,识别高优先级网络流量)、可识别的策略(例如,相对于其他可用的保护等级或服务质量,规定的保护等和/或服务质量是否被保证)或可识别的类型(例如,流媒体、文件传送、网页请求和响应、文本消息等)。因此,网络设备12的处理器电路42可以推断特定的客户端设备14(例如,经由有线连接22a连接的笔记本电脑)要求比与无线接入点16a通信的其他客户端设备更高的保护等级。
在操作54中,网络设备12的处理器电路42可以基于确定的接入网条件选择用于一个或多个TCP传送流的多个编码方法中的一个。具体来说,处理器电路42可以针对给定TCP流“A”,基于传送流类型、优先级、策略、无线客户端设备14的标识等分析期望的(或所需的)可接受损失率等级。处理器电路42还可以分析用于在客户端设备14和相应的目的地设备20之间传送TCP流的一个或多个数据信道30的损失率:如先前所述,处理器电路42可以检测接入网26中的一个或多个数据信道30的损失率,例如以接入点16b针对相应的客户端设备16a检测到的分组丢失率的形式。处理器电路42还可以执行关于接入网26的更高级的网络性能操作,包括检测数据速率变化、数据速率变化的分布等。因此,网络设备12的处理器电路42可以应用更高级的流量工程技术来确定接入网26当前的健康状况和条件。网络设备12的处理器电路42还可以将给定TCP流“A”的可接受损失率的期望等级和接入网条件(接入网26及其相关联的数据链路30的当前健康状况和条件)与代表客户端设备14执行选择的编码方法的编码端点(例如,16a和16b)的相关能力进行比较;因此,当给定编码端点(例如,16a)具有用于另一经编码的TCP流的相对少量的可用处理能力时,网络设备12的处理器电路42可以选择较低鲁棒性的编码方法(例如,异或(XOR)编码)。
因此,在操作54中,网络设备12的处理器电路42可以基于接入网条件(其可以包括执行编码的接入点的相关能力)选择用于给定TCP流“A”的多个编码方法中的一个,例如,异或(XOR)编码、里德所罗门编码、Turbo编码、网络编码、如美国专利No.8,271,687中所述的流式网络编码等。网络设备12的处理器电路42还可以根据规定资源确定任意新的编码方法相对于网络设备12所维护的注册编码方法的规定列表是否可用:假设新的编码方法可用,处理器电路42可以更新它的注册编码方法的规定列表,以通知代表客户端设备14执行编码的网络设备。
网络设备12的处理器电路42还可以选择针对选择的编码方法“M”的相关参数“M(p)”。针对基于里德所罗门的编码可选择的示例性参数可以包括被编码产生线性组合“P(i)”的数据块“B”的数量“n”以及用于产生线性组合“P(i)”的随机系数的集合“Xij”,如美国专利No.8,271,687的方程(1)所述。如美国专利No.8,271,687所述,针对流式网络编码可选择的示例性参数可以包括要被编码产生差分编码数据块“P(i)”的数据块的数量“n”和随机种子“seedN”。
在操作56中,网络设备12的网络接口电路40可以根据选择的编码方法“M”和相关联的编码参数“M(p)”引起对网络流量执行编码,例如,基于向接入点16a和16b输出指令以利用使用编码参数“M(A)(p1,…p n)”的被识别的编码方法对被识别的传送流“A”进行编码,使得图1A中的接入点16a和16b在操作58中能够利用接收到的指令将TCP传输替换为经编码的TCP(网络编码的TCP(NC-TCP))传输。如关于图1B所说明的,指令可以沿着客户端设备14和数据中心设备20之间的路径32’被交替发送至另一网络设备,例如,广域网中的路由器18a或18b、与边缘路由器18a通信的接入网26的边缘路由器、或接入网26内的内部路由器设备。在另一实施例中,网络设备12还可以执行如本文所述的编码,以使网络设备12的网络接口电路40能够基于接收(未编码的)TCP传输和/或输出NC-TCP传输导致编码的执行。指令还可以包括对于检索与执行被识别的编码方法相关联的可执行代码的引用,例如,当被识别的编码方法是新注册的编码方法时以统一资源标识符(URI)的形式。
网络设备12的处理器电路42还可以通过在操作62中通过切换编码方法“M”和/或一个或多个相关联的参数来对在操作60中检测到的网络条件的变化进行响应。例如,在操作60中,处理器电路42可以检测相对于上文关于操作52所述的任意被识别的网络条件的变化(包括损失率的改善或恶化、编码设备同时编码的传送流的数量的增大或减小、来自客户端设备或另一网络设备的编码请求变化、或优先级和/或策略的变化(例如,通过网络管理员)。因此,网络设备12可以动态调整网络中的变化以便于在传输层处提供经优化的编码:示例性编码可以包括基于编码(例如,里德所罗门、Turbo编码、网络编码等)的前向纠错(FEC)。
根据示例性实施例,基于针对客户端请求和充当代表客户端设备执行编码的代理的网络设备的相关能力确定接入网内的接入网条件的装置,不同编码方案可以被动态应用于不同的TCP流。因此,编码可以被应用于客户端设备的TCP流(或UDP流),而对客户端设备没有任意修改或副作用。此外,可以针对不同的网络条件选择不同的编码方案,以在接入网内提供对编码的动态优化。基于在接入网26内注册的编码方法,不同的编码方法还可以在接入网26内被动态应用,并且向适当的网络设备(例如,接入点16a、16b)发送指令以取回用于执行的编码方法(例如,从网络设备12识别的规定存储位置,例如,以统一资源标识符的形式)。例如,可以利用向IP流而不是TCP流添加前向纠错的编码方法。
虽然本公开的示例性实施例是结合目前被认为是用于实施所附权利要求中指定的主题的最佳模式进行描述的,但是要理解的是,示例性实施例仅是说明性的,并且不限制所附权利要求中指定的主题。

Claims (20)

1.一种用于提供对网络流量进行动态编码的方法,包括:
由网络设备确定接入网中的接入网条件,所述接入网提供客户端设备和经由数据网络能到达的目的地之间的通信;
由所述网络设备基于所述接入网条件选择用于所述客户端设备和所述目的地之间的网络流量的多个编码方法中的一个编码方法,包括选择用于所述一个编码方法的编码参数;以及
由所述网络设备根据所述一个编码方法和选择的编码参数,代表所述客户端设备引起对所述网络流量执行编码;
其中,所述引起包括所述网络设备向所述接入网中的接入点输出指定所述一个编码方法和所述选择的编码参数的指令,使所述接入点响应于所述指令能够在所述网络流量和经编码的网络流量之间转换。
2.根据权利要求1所述的方法,其中:
所述接入点是固定无线接入点;
所述引起包括所述网络设备向所述固定无线接入点和经由无线数据链路与所述固定无线接入点通信的移动接入点输出所述指令,使所述固定无线接入点和所述移动接入点能够建立通过所述无线数据链路的所述经编码的网络流量。
3.根据权利要求1所述的方法,其中,所述接入点是在连接的车辆中的移动接入点,使所述经编码的网络流量经由所述数据网络能够在所述移动接入点和所述目的地之间传输。
4.根据权利要求1所述的方法,其中,所述引起对所述网络流量执行编码包括根据所述一个编码方法把所述网络流量的传输控制协议TCP传输替换为被编码的数据分组的经编码的TCP传输,所述编码方法包括前向纠错FEC编码或网络编码中的任意一个。
5.根据权利要求1所述的方法,其中,所述确定包括从所述客户端设备接收针对被识别的传送流的编码请求以利用在所述请求中指定的被识别的方法执行所述编码。
6.根据权利要求1所述的方法,其中,所述引起包括响应于在所述接入网条件中检测到的变化,切换根据所述一个编码方法对所述网络流量的至少一个被识别的传送流执行的编码,或者改变所述选择的编码参数。
7.根据权利要求6所述的方法,其中,对接入网条件的所述确定包括以下各项中的至少一项:
针对用于执行所述编码的编码设备的存储器能力或处理能力中的至少一个,确定需要被同时编码的传送流的数量;
确定用于所述客户端设备和所述目的地之间的所述网络流量的传送的至少一个数据信道的损失率;或者
确定至少一个所述被识别的传送流的优先级。
8.根据权利要求7所述的方法,其中,所述切换包括基于相应的损失率、相应的优先级、或需要被同时编码的传送流的所述数量的变化中的任意一项改变至少一个所述被识别的传送流上的所述选择的编码参数。
9.一种用于提供对网络流量进行动态编码的装置,包括:
包括一个或多个集成电路的处理器;
存储器,存储器存储可执行程序,所述处理器在执行所述存储器中存储的可执行程序时,被配置为:
确定接入网中的接入网条件,所述接入网提供客户端设备和经由数据网络能到达的目的地之间的通信,以及
基于所述接入网条件选择用于所述客户端设备和所述目的地之间的网络流量的多个编码方法中的一个编码方法,包括选择用于所述一个编码方法的编码参数;以及
包括一个或多个集成电路的设备接口电路,所述设备接口电路被配置为根据所述一个编码方法和选择的编码参数,代表所述客户端设备引起对所述网络流量执行编码;
其中,所述引起包括所述网络设备向所述接入网中的接入点输出指定所述一个编码方法和所述选择的编码参数的指令,使所述接入点响应于所述指令能够在所述网络流量和经编码的网络流量之间转换。
10.根据权利要求9所述的装置,其中:
所述接入点是固定无线接入点;
所述引起包括所述网络设备向所述固定无线接入点和经由无线数据链路与所述固定无线接入点通信的移动接入点输出所述指令,使所述固定无线接入点和所述移动接入点能够建立通过所述无线数据链路的所述经编码的网络流量。
11.根据权利要求9所述的装置,其中,所述接入点是在连接的车辆中的移动接入点,使所述经编码的网络流量经由所述数据网络能够在所述移动接入点和所述目的地之间传输。
12.根据权利要求9所述的装置,其中,所述引起对所述网络流量执行编码包括根据所述一个编码方法把所述网络流量的传输控制协议TCP传输替换为被编码的数据分组的经编码的TCP传输,所述编码方法包括前向纠错FEC编码或网络编码中的任意一个。
13.根据权利要求9所述的装置,其中,所述确定包括从所述客户端设备接收针对被识别的传送流的编码请求以利用在所述请求中指定的被识别的方法执行所述编码。
14.根据权利要求9所述的装置,其中,所述引起包括响应于在所述接入网条件中检测到的变化,切换根据所述一个编码方法对所述网络流量的至少一个被识别的传送流执行的编码,或者改变所述选择的编码参数。
15.根据权利要求14所述的装置,其中,对接入网条件的所述确定包括以下各项中的至少一项:
针对用于执行所述编码的编码设备的存储器能力或处理能力中的至少一个,确定需要被同时编码的传送流的数量;
确定用于所述客户端设备和所述目的地之间的所述网络流量的传送的至少一个数据信道的损失率;或者
确定至少一个所述被识别的传送流的优先级。
16.根据权利要求15所述的装置,其中,所述切换包括基于相应的损失率、相应的优先级、或需要被同时编码的传送流的所述数量的变化中的任意一项改变至少一个所述被识别的传送流上的所述选择的编码参数。
17.一种计算机可读介质,存储计算机程序,所述计算机程序可被处理器执行以实现以下步骤:
由网络设备确定接入网中的接入网条件,所述接入网提供客户端设备和经由数据网络能到达的目的地之间的通信;
由所述网络设备基于所述接入网条件选择用于所述客户端设备和所述目的地之间的网络流量的多个编码方法中的一个编码方法,包括选择用于所述一个编码方法的编码参数;以及
由所述网络设备根据所述一个编码方法和选择的编码参数,代表所述客户端设备引起对所述网络流量执行编码;
其中,所述引起包括所述网络设备向所述接入网中的接入点输出指定所述一个编码方法和所述选择的编码参数的指令,使所述接入点响应于所述指令能够在所述网络流量和经编码的网络流量之间转换。
18.根据权利要求17所述的计算机可读介质,其中:
所述接入点是固定无线接入点;
所述引起包括所述网络设备向所述固定无线接入点和经由无线数据链路与所述固定无线接入点通信的移动接入点输出所述指令,使所述固定无线接入点和所述移动接入点能够建立通过所述无线数据链路的所述经编码的网络流量。
19.根据权利要求17所述的计算机可读介质,其中,所述接入点是在连接的车辆中的移动接入点,使所述经编码的网络流量经由所述数据网络能够在所述移动接入点和所述目的地之间传输。
20.根据权利要求17所述的计算机可读介质,其中,所述引起对所述网络流量执行编码包括根据所述一个编码方法把所述网络流量的传输控制协议TCP传输替换为被编码的数据分组的经编码的TCP传输,所述编码方法包括前向纠错FEC编码或网络编码中的任意一个。
CN201480069488.1A 2013-12-20 2014-12-18 用于提供对网络流量进行动态编码的方法和装置 Active CN105830377B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/136,062 US9232433B2 (en) 2013-12-20 2013-12-20 Dynamic coding for network traffic by fog computing node
US14/136,062 2013-12-20
PCT/US2014/071089 WO2015095484A1 (en) 2013-12-20 2014-12-18 Dynamic coding for network traffic by fog computing node

Publications (2)

Publication Number Publication Date
CN105830377A CN105830377A (zh) 2016-08-03
CN105830377B true CN105830377B (zh) 2019-07-05

Family

ID=52350344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480069488.1A Active CN105830377B (zh) 2013-12-20 2014-12-18 用于提供对网络流量进行动态编码的方法和装置

Country Status (4)

Country Link
US (1) US9232433B2 (zh)
EP (1) EP3084994B1 (zh)
CN (1) CN105830377B (zh)
WO (1) WO2015095484A1 (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9721036B2 (en) 2012-08-14 2017-08-01 Microsoft Technology Licensing, Llc Cooperative web browsing using multiple devices
US9264478B2 (en) * 2012-10-30 2016-02-16 Microsoft Technology Licensing, Llc Home cloud with virtualized input and output roaming over network
US10146521B2 (en) * 2014-09-09 2018-12-04 Airpro Diagnostics, Llc Device, system and method for updating the software modules of a vehicle
US10999012B2 (en) 2014-11-07 2021-05-04 Strong Force Iot Portfolio 2016, Llc Packet coding based network communication
US10554565B2 (en) 2015-07-07 2020-02-04 Strong Force Iot Portfolio 2016, Llc Network communication recoding node
US10320526B1 (en) 2014-11-07 2019-06-11 Strong Force Iot Portfolio 2016, Llc Packet coding based network communication
US9992126B1 (en) 2014-11-07 2018-06-05 Speedy Packets, Inc. Packet coding based network communication
US9825733B1 (en) 2014-11-07 2017-11-21 Speedy Packets, Inc. Packet coding based network communication
US9992088B1 (en) 2014-11-07 2018-06-05 Speedy Packets, Inc. Packet coding based network communication
US10855597B2 (en) 2015-06-29 2020-12-01 T-Mobile Usa, Inc. Channel coding for real time wireless traffic
KR101773593B1 (ko) 2015-12-15 2017-08-31 경희대학교 산학협력단 멀티-에이전트 기반 코드 오프로딩을 수행하는 모바일 포그 컴퓨팅 시스템 및 그 방법
CN105610944B (zh) * 2015-12-29 2019-03-05 北京物联远信息技术有限公司 一种面向物联网的雾计算架构
US10785625B2 (en) * 2016-02-17 2020-09-22 Wistron Aidge Corporation Internet of Things (IOT) companion device
US20180284758A1 (en) 2016-05-09 2018-10-04 StrongForce IoT Portfolio 2016, LLC Methods and systems for industrial internet of things data collection for equipment analysis in an upstream oil and gas environment
US10165180B2 (en) 2016-08-26 2018-12-25 Cisco Technology, Inc. Dynamic deployment of executable recognition resources in distributed camera devices
CN106413024A (zh) * 2016-08-29 2017-02-15 华侨大学 一种基于雾计算的传感云数据传输算法
CN106357395B (zh) * 2016-09-13 2019-04-23 深圳大学 一种面向雾计算的外包访问控制方法及其系统
US10491329B1 (en) * 2016-12-08 2019-11-26 Amazon Technologies, Inc. Transfer of data-redundancy encoded data via unreliable, connectionless protocol
US10530603B2 (en) 2017-01-11 2020-01-07 Smartiply, Inc. Intelligent multi-modal IOT gateway
US10970942B2 (en) 2017-05-16 2021-04-06 Wistron Aiedge Corporation Fog data agent for connected cars
US10594661B1 (en) * 2017-06-13 2020-03-17 Parallels International Gmbh System and method for recovery of data packets transmitted over an unreliable network
CN111164947A (zh) * 2017-08-14 2020-05-15 英国电讯有限公司 用于对音频和/或视频数据进行编码的方法和设备
US11129033B2 (en) * 2017-08-28 2021-09-21 Mitsubishi Electric Corporation Wireless communication device, wireless communication method and computer readable medium
US10333833B2 (en) * 2017-09-25 2019-06-25 Cisco Technology, Inc. Endpoint path assurance
US10897516B2 (en) 2017-11-15 2021-01-19 Cisco Technology, Inc. Application buffering of packets by fog computing node for deterministic network transport
TWI665893B (zh) * 2017-12-05 2019-07-11 財團法人工業技術研究院 無線通訊方法及應用其之通訊終端裝置
US10932156B2 (en) * 2017-12-29 2021-02-23 Veniam, Inc. Methods and system for distributed transactions in a network of moving things
GB201804479D0 (en) * 2018-03-21 2018-05-02 Nchain Holdings Ltd Computer-implemented system and method
WO2019236476A1 (en) 2018-06-04 2019-12-12 SparkMeter, Inc. Wireless mesh data network with increased transmission capacity
CN108833113B (zh) * 2018-06-08 2020-06-26 北京大学 一种基于雾计算的增强通讯安全的认证方法及系统
KR102177432B1 (ko) * 2019-05-29 2020-11-11 연세대학교 산학협력단 포그 컴퓨팅 기반 무선 네트워크에서 태스크 우선순위별 연산량 오프로딩 장치 및 방법
US10932195B1 (en) 2019-09-18 2021-02-23 Cisco Technology, Inc. Parent device shadow execution for a sleeping low power and lossy network child network device
US11436117B2 (en) 2020-05-08 2022-09-06 International Business Machines Corporation Context aware dynamic relative positioning of fog nodes in a fog computing ecosystem
US11558465B2 (en) * 2020-05-09 2023-01-17 Juniper Networks, Inc. Apparatus, system, and method for wirelessly accessing management interfaces of routers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102165781A (zh) * 2008-07-25 2011-08-24 北方电讯网络有限公司 多段丢失保护
CN103329471A (zh) * 2011-01-28 2013-09-25 思科技术公司 为容量优化的流数据提供前向纠错

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030095995A (ko) * 2002-06-14 2003-12-24 마츠시타 덴끼 산교 가부시키가이샤 미디어 전송방법 및 그 송신장치 및 수신장치
US20060250949A1 (en) 2005-03-30 2006-11-09 At&T Corp. Loss tolerant transmission control protocol
US7366132B2 (en) 2005-03-30 2008-04-29 At&T Corp. Loss tolerant transmission control protocol
US7889654B2 (en) 2005-03-30 2011-02-15 At&T Intellectual Property Ii, L.P. Loss tolerant transmission control protocol
US8271687B2 (en) 2007-06-19 2012-09-18 Cisco Technology, Inc. Streaming network coding
WO2009138076A2 (de) 2008-05-15 2009-11-19 Lysatiq Gmbh Verfahren zum optimieren einer paketorientierten datenübertragung und computerprogramm-produkt
US20100023842A1 (en) 2008-07-25 2010-01-28 Nortel Networks Limited Multisegment loss protection
WO2010118182A2 (en) * 2009-04-08 2010-10-14 Eamonn Gormley Hybrid rate limiting based on data bit and data packet counts
US20120054583A1 (en) 2010-08-27 2012-03-01 Raytheon Company Method and system of sub-packet error correction
WO2014047867A1 (en) * 2012-09-28 2014-04-03 Intel Corporation Processing video data in a cloud
US9264478B2 (en) * 2012-10-30 2016-02-16 Microsoft Technology Licensing, Llc Home cloud with virtualized input and output roaming over network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102165781A (zh) * 2008-07-25 2011-08-24 北方电讯网络有限公司 多段丢失保护
CN103329471A (zh) * 2011-01-28 2013-09-25 思科技术公司 为容量优化的流数据提供前向纠错

Also Published As

Publication number Publication date
US20150181460A1 (en) 2015-06-25
EP3084994B1 (en) 2019-05-15
WO2015095484A1 (en) 2015-06-25
EP3084994A1 (en) 2016-10-26
US9232433B2 (en) 2016-01-05
CN105830377A (zh) 2016-08-03

Similar Documents

Publication Publication Date Title
CN105830377B (zh) 用于提供对网络流量进行动态编码的方法和装置
CN104982006B (zh) 用于提供软件定义协议栈的系统和方法
CN112217637B (zh) 一种基于集中管理与控制网络的量子密钥中继方法和装置
CN106105130B (zh) 一种在源路由中提供熵源的方法和设备
CN105210351B (zh) 增强自适应流中的快速信道变化和其它回放定位变化的性能
US9294973B2 (en) Peer-based handoff performance measurement
US8879613B1 (en) Dynamic frame selection when requesting tone map parameters in mesh networks
WO2017189743A1 (en) Generating packets in a reverse direction of a service function chain
EP2979403B1 (en) Data plane distribution of control messages
CN106688277A (zh) 在时隙化信道调频网络中的有效集中式资源和调度管理
CN104348743B (zh) 一种全网均衡负载的方法及装置
TW201002016A (en) Methods and systems for dynamically configuring and managing communication network nodes at the MAC sublayer
CN105634968B (zh) 用于控制数据流量的传输的装置及方法
US20190317749A1 (en) Upgrading network firmware
Fashandi et al. Path diversity over packet switched networks: Performance analysis and rate allocation
Mohajer et al. QoSCM: QoS-aware coded multicast approach for wireless networks
Wang et al. Software defined autonomic QoS model for future Internet
CN106301570A (zh) 一种软件定义FiWi网络中的NC集中控制方法
EP2876832B1 (en) Communication method and apparatus
CN105594164B (zh) 一种数据包的传输方法和传输设备
CN111064568B (zh) 一种量子密钥分发网络的流量控制方法及装置
Hernández Marcano et al. Throughput, energy and overhead of multicast device‐to‐device communications with network‐coded cooperation
Santos et al. Multipath source routing strategies for video transmission in ad hoc wireless networks
KR101524825B1 (ko) 무선 메쉬 네트워크에서의 패킷 라우팅 방법, 패킷 라우팅 제어 장치 및 패킷 라우팅 시스템
Djukic et al. WLC12-4: Reliable and Energy Efficient Transport Layer for Sensor Networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant