CN102067548B - 用于应用的网络感知适配器 - Google Patents

用于应用的网络感知适配器 Download PDF

Info

Publication number
CN102067548B
CN102067548B CN200980123613.1A CN200980123613A CN102067548B CN 102067548 B CN102067548 B CN 102067548B CN 200980123613 A CN200980123613 A CN 200980123613A CN 102067548 B CN102067548 B CN 102067548B
Authority
CN
China
Prior art keywords
bag
data flow
application
qos policy
clone
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.)
Expired - Fee Related
Application number
CN200980123613.1A
Other languages
English (en)
Other versions
CN102067548A (zh
Inventor
N·米斯特里
W·丁
姚忠辉
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.)
Nortel Networks Ltd
BlackBerry Ltd
2256355 Ontario Ltd
Original Assignee
BlackBerry Ltd
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 BlackBerry Ltd filed Critical BlackBerry Ltd
Publication of CN102067548A publication Critical patent/CN102067548A/zh
Application granted granted Critical
Publication of CN102067548B publication Critical patent/CN102067548B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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]
    • 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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • 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
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25

Abstract

来自各种应用的数据业务流可由作为用于过滤的更大平台的一部分的网络感知适配器处理,该网络感知适配器将流传送给智能网络部件。与给定的数据流相关联的区别因子可以被确定,并且用作为该给定数据流选择QoS策略设置的基础。然后,可以将所选择的QoS策略设置以信号告知媒介访问控制层,以利用有效且最佳的(从技术和商业观点都是)的嵌入的下层有效媒介类型的QoS功能来执行该应用的通信。

Description

用于应用的网络感知适配器
技术领域
本申请一般涉及处理由应用产生的业务流,更具体地,涉及用于将流传送给智能网络部件的网络感知适配器。
背景技术
在联网设备的应用层执行的应用传统上通过简单的媒介访问控制(MAC)层在该联网设备所连接到的网络上通信。此外,因为对于不同的连网协议(networking protocol),MAC层不同(即,不同的传输媒介),应用被开发时,要考虑到设备连接到的网络中使用的特定连网协议对应的MAC层的特性。
与较新的连网协议相关的MAC层增加了允许应用指定由应用产生的特定数据业务流所需要的服务质量(QoS)的复杂性。简单的MAC层常常缺少允许应用为特定数据业务流指定所需的QoS的复杂性。因此,大多数的应用没有被提供,或没有被要求具有,使应用充分利用网络技术下层传输所必需的一定程度的智能。
由于不具有一定程度的智能,这样的应用不能充分利用嵌入在一些新的连网技术(例如WiMAX)中的QoS功能的优势,也不能处理这类新的连网技术的一些独特的技术挑战。不幸的是,当在新的应用中建立利用新的连网技术的优势所必需的一定程度的智能时,为执行新的应用所设计的设备的复杂度增加了。因此,所增加的复杂度可能抬高设备的费用,并且可能对专用集成电路技术的物理限度造成困难。
发明内容
数据业务流可以由作为用于过滤的更大平台的一部分的网络感知适配器处理,该网络感知适配器将流传送给智能网络部件。与给定的数据流相关联的区别因子(distinguishing factor)可以被确定,并且用作为该给定数据流选择QoS策略设置的基础。然后,将所选择的QoS策略设置以信号告知媒介访问控制层。
依照本发明的一个方面,提供了一种在数据流进行到媒介访问控制(MAC)层之前适配(adapt)数据流的方法,MAC已经被适配以接收QoS策略设置。该方法包括:接收包(packet),其中该包与数据流相关;确定与数据流相关联的区别因子;基于该区别因子,为数据流选择QoS策略设置;以及将QoS策略设置以信号告知与该包相关联的MAC层。在本发明的其他方面,提供用于实现此方法的计算设备,以及提供用于使处理器适合于实现此方法的计算机可读介质。
通过结合附图回顾以下对本发明的特定实施例的描述,本发明的其他方面和特征对于本领域技术人员将会容易明白。
附图说明
现在参考附图,附图通过举例的方式示出了本发明的实施例,其中:
图1示出了可以连接到数据通信网络的计算设备的部件的互相连接;
图2示出了一种使用Windows管理工具(Windows ManagementInstrumentation)的通信的逻辑结构;
图3示出了一种使用Windows过滤平台(Windows FilteringPlatform)的通信的逻辑结构;
图4示出了依照本发明的一些方面,包含网络感知适配器、过滤器引擎和QoS管理器的Windows过滤平台。
图5示出了依照本发明的一个方面,图4中的过滤器引擎的示例操作方法中的步骤。
图6示出了依照本发明的一个方面,图4中的QoS管理器的示例操作方法中的步骤;以及
图7示出了依照本发明的一个方面,图4中的网络感知适配器的示例操作方法中的步骤。
具体实施方式
图1示出了可以以有线方式或无线方式连接到数据通信网络108的计算设备100的部件的互相连接。被示出的计算设备100的部件包括:微处理器116,和连接到微处理器116的存储设备120、随机存取存储器(RAM)118和网络接口卡(NIC)104。NIC 104允许计算设备100连接到数据通信网络108。
微处理器116在存储的程序的控制下工作,代码被存储在存储设备120中。如图1中所描述的,在工作时,RAM 118存储包括操作系统程序或代码模块136的程序,例如已知的微软WindowsTM操作系统。诸如Windows的操作系统一般将RAM 118空间分为两部分,即用户空间140和受限访问空间,后者诸如是内核空间138或它的功能等价物。RAM 118进一步地存储通常以标号142标识的、一般驻留在用户空间140中的软件应用,和一般驻留在内核空间138中的驱动程序144。
图2示出了使用Windows管理工具(WMI)的通信的逻辑结构,其中通信是在应用202和NIC 104之间进行。WMI是提供操作系统接口的已知的Windows驱动程序模型(Windows Driver Model)的扩展集,装置化的部件通过这些接口提供信息和通知。WMI是源自分布式管理任务组(DMTF)的基于Web的企业管理(WBEM)标准和公共信息模型(CIM)标准的一种微软的实现。
NIC 104需要选自图1的驱动程序144的驱动程序206。驱动程序206,包括MAC层,与内核空间中的网络驱动程序接口规范(NDIS)驱动程序208通信。NDIS驱动程序208实现适用于由微软和3Com公司共同开发的NIC的API。NDIS是逻辑链路控制(LLC),它形成了OSI数据链路层(7层中的第2层)的上子层(upper sublayer),并且充当OSI数据链路层和网络层(7层中的第3层)之间的接口。下子层(lower sublayer)是MAC设备驱动程序。NDIS是一个函数库,常被称为“封套(wrapper)”,其隐藏了下层的NIC 104的硬件的复杂性,并且充当层3网络协议驱动程序和硬件级MAC驱动程序的标准接口。
NDIS驱动程序208与也在内核空间中的WMI模块210通信。模块WMI 210与用户空间中的WMI API 212通信。WMI API 212与应用202通信。
图3示出了使用Windows过滤平台的通信的逻辑结构,其中,该通信是在应用302和NIC 104之间进行。
和图2示出的使用WMI的结构一样,如图3示出的使用WFP的结构包括与驱动程序206通信的NIC 104。驱动程序206又与NDIS驱动程序208通信。与图2的WMI情形不同,NDIS驱动程序208与Windows过滤平台(WFP)310通信。WFP 310跨内核空间138和用户空间140,并与用户空间140中的WFP API 312通信。WFP API312与应用302通信。
微软Windows操作系统的VistaTM版本中包括一种WFP API。该WFP API允许应用捆绑到(tie into)Windows Vista和WindowServer 2008中新的网络堆栈的包处理和过滤流水线中。WFP提供包含集成通信的特性。此外,WFP可被配置为以每一应用为基础来调用处理逻辑。
当计算设备100连接到的网络是传输通信协议(TCP)和因特网协议(IP)网络时,网络堆栈440可被称为TCP/IP堆栈。
根据图4,WFP 310可被实现为:过滤引擎、网络堆栈440、和一组调出(callout)模块。网络堆栈440可包括多个“垫片(shim)”。垫片将包的内部结构作为属性揭示出来。对不同的层的协议,存在不同的垫片。在工作时,过滤引擎将接收到的包中的数据与指定的一组规则相比较。默认认为WFP 310包含一组内置的垫片。此外,其他协议的垫片可利用WFP API 312向过滤引擎注册。这组内置的垫片包括:应用层执行(Application Layer Enforcement,ALE)垫片404;流垫片408;传输层模块(TLM)垫片410;以及网络层模块(NLM)垫片414。图4中示出的已经注册的垫片包括:传输驱动程序接口Winsock内核(TDI WSK)垫片406;转发层垫片412;以及NDIS层垫片416。
提供基本过滤能力的过滤引擎跨内核空间138和用户空间140两者。如图4所示出的那样,过滤引擎位于内核空间138中的部分被称为“过滤器引擎”402,过滤引擎位于用户空间140中的部分被称为“基础过滤引擎”418。
过滤引擎将给定的包中的数据与过滤规则相比较,其中该包中的数据已经被垫片所揭示。基于数据与一个或多个规则之间的匹配,过滤引擎可以要么允许该给定的包通过,要么阻止该给定的包通过。如果另外的操作有必要,可通过使用调出模块来执行该另外的操作。以每一应用为基础来运用过滤规则。
基础过滤引擎418是管理过滤引擎的模块。基础过滤引擎418接受过滤规则并强制执行特定于应用的安全模型。基础过滤引擎418还为WFP 310维护统计数据,并维护WFP 310的状态日志。
调出模块是由过滤驱动程序揭示的回调(callback)函数。过滤驱动程序被用于提供不同于默认过滤能力的过滤能力,其中在默认过滤能力中,要么阻止要么允许包通过。在过滤器规则的注册过程中,调出模块可被指定。当具有与过滤器规则相匹配的数据的包被接收到时,过滤器引擎402通过一组调出API 420来调用相关联的调出模块。该相关联的调出模块然后执行某个特定的过滤能力。
调出模块--其可以在所有的层被注册--扩充了WFP 310的能力。每个调出模块有唯一的全局唯一标识符(GUID)。调出模块可被用于深度检查(Deep Inspection),也就是,执行对网络数据的复杂检查以确定哪些数据要被:阻止;允许;或传递给另一个过滤器。调出模块可被用于包修改(Packet Modification),其可以包括对作为流的一部分被接收的包的头部或净荷的修改,以及将修改过的包注回流中。调出模块的其他用途包括流修改(Stream Modification)和数据记录(Data Logging)。
图4中示出的示例调出模块包括:反病毒调出模块422、家长控制(parental control)调出模块424、入侵检测系统(IDS)调出模块426、和网络地址转换(NAT)调出模块428。
在用户空间140中,基础过滤引擎418与WFP API 312通信,WFP API 312又与诸如应用302、基于操作系统的防火墙450和其他的应用452(其可以是进一步的防火墙)等应用通信。WFP API 312还与QoS管理器432通信,来实现本发明的一些方面。
总的来看,QoS管理器432配置网络感知适配器调出模块430来区分来自应用302、基于OS的防火墙450和其他应用452的流的优先次序。如本领域的普通技术人员将会清楚的,图4所示出的应用302、450、452只不过是例子,并且可能有更多或更少或不同的应用为计算设备100(图1)所需。
在执行上述区分优先次序时,网络感知适配器调出模块430与驱动程序206中的MAC层(未示出)交互。此外,网络感知适配器调出模块430与应用302、450、452以及与策略交互。如本领域普通人员将会清楚的,各种关于处理来自应用302、450、452的流的策略可由计算设备100从中央目录接收。
适配器调出模块430的作用是智能地利用信令以通过使用策略和/或服务特征实现端到端的QoS。网络感知适配器调出模块430能进一步:管理QoS和频谱效率的权衡(trade off);管理终端操作响应和功率保留的权衡;以及管理其他可被嵌入的网络智能,诸如基于位置的服务(LBS)和组播广播服务(MBS)。
在操作中,过滤器引擎402被组织为一组过滤器层,每个层都有相关联的优先级。给定的流可能被阻止,即使有更高优先级的过滤器已经允许了该给定的流。过滤器的结构允许多个动作在同一个流上被执行。过滤器引擎402中的层被分为子层。在子层内,过滤器按权重顺序被评价(evaluate)。在第一次匹配(允许/阻止)时,评价停止。当流和过滤器之间发生匹配时,有关的调出模块被通知。如果被通知的调出返回继续,则下一个匹配过滤器被评价。特别地,流在每个子层被评价。
在操作中,关于即将从应用302到来的流,QoS管理器432传输指令给过滤器引擎402来为网络感知适配器调出模块430初始化调出驱动程序。特别地,该指令可指定卸载(unload)函数。一旦接收到(图5的步骤502)初始化调出驱动程序的指令,过滤器引擎402就可以创建设备对象,并注册该网络感知适配器调出模块430。
QoS管理器432的操作可参照图6进一步加以考虑。最初,QoS管理器432向过滤器引擎402打开会话(步骤602)。QoS管理器432然后指示过滤器引擎402给过滤器引擎402的结构增加子层(步骤604),并指示过滤器引擎402给刚增加的子层增加过滤器(步骤606)。
响应于接收到步骤606中要增加过滤器的指令,过滤器引擎402可增加所要求的过滤器,并执行通知函数(图5的步骤504),其通常被称为“Notifyfn()”,来向网络感知适配器调出模块430表明增加了过滤器。
当来自已经为其设立了过滤器的应用302的流的包到达网络堆栈440时,这些包由过滤器引擎402处理。
特别地,过滤器引擎402可执行分类函数(图5的步骤506),其通常被称为“Classifyfn()”,来向网络感知适配器调出模块430表明在网络堆栈440中来自已经为其设立了过滤器的应用302的流的包的到来。
图7示出了在网络感知适配器调出模块430处适配流的示例方法的步骤。
特别地,网络感知适配器调出模块430最初接收(步骤702)流的包,并确定(步骤704)与该流相关联的区别因子。随后,网络感知适配器调出模块430基于该区别因子为数据流选择(步骤706)QoS策略设置。最后,网络感知适配器调出模块430修改流数据来将所选的QoS策略设置以信号告知(步骤708)驱动程序206中的MAC层(未示出)。
在包级别,为了修改流数据来将所选的QoS策略设置以信号告知(步骤708)MAC层,网络感知适配器调出模块430可以为在步骤702中接收到的包做一个克隆。网络感知适配器调出模块430然后可以修改该克隆以形成一个修改过的克隆,该被修改过的克隆包含所选QoS策略的信号表示。网络感知适配器调出模块430然后可以用Classifyfn()将该克隆注入到网络堆栈440中。
在这里采用术语“QoS策略设置”是为了比已知的术语“服务质量”包含更多涵义。术语“服务质量”已知是包括针对比特率、延迟、抖动、包错误率的设置。除了这些设置之外,术语“QoS策略设置”被用在这里来进一步包括用户优先级或用户组优先级,等等。
区别因子可以是,例如,作为流的起源的应用302的标识、与流相关联的订户的标识、或流中数据的媒介类型的标识。
当数据流是多个因特网协议(IP)包的流时,确定区别因子(步骤704)可包括检查这多个IP包当中的给定包的头部域。在这种情况下,区别因子可以是,例如,源IP地址、目的地IP地址、源端口、或目的地端口。
当区别因子是应用302的标识时,QoS策略设置的选择(图7的步骤706)可以基于与应用302相关联的优先级。另外,应用302的标识可以与应用的类型相关联,并且QoS策略设置的选择(图7的步骤706)可以基于与应用302相关联的类型。示例的应用类型包括视频、语音、游戏、协作、和即时消息。
区别因子可以是,例如,与作为流的起源的应用302相关联的订户的标识。
可替换地,区别因子可以是,例如,网络接口卡104和数据通信网络108(参见图1)之间的链路的媒介类型的标识。媒介类型可被定义为,例如,由电气和电子工程师协会(IEEE)标准所定义的涉及IEEE802.3的有线以太网,诸如:10Mbit/s以太网;快速以太网;G比特以太网;或10G比特以太网。
另外,媒介类型还可以被定义为,例如,“WiFi”,指的是由诸如IEEE 802.11a、IEEE 802.11b、IEEE 802.11g或IEEE 802.11n等电气和电子工程师协会(IEEE)标准所定义的无线网。
此外,媒介类型可被定义为,例如,“WiMAX”(微波访问全球互通),指的是由IEEE 802.16-2004标准和IEEE 802.16e-2004修订所定义的无线网。
媒介类型也可以被定义为,例如,“长期演进(LTE)”。长期演进是第三代合作伙伴项目(3GPP,参见www.3gpp.org)中的一个项目的名称,用以完善通用移动通信系统(Universal MobileTelecommunications System)移动电话标准(该标准也由3GPP持有),来应对将来的需求。
当被过滤器引擎402和网络感知适配器调出模块430处理的流终止时,过滤器引擎402执行流删除函数(图5的步骤508),通常被称为“Flowdeletefn()”,来向网络感知适配器调出模块430表明,流已经终止了。
此外,QoS管理器432可删除(图6的步骤608)过滤器。
响应于步骤608中过滤器的删除,过滤器引擎402可执行通知函数来向网络感知适配器调出模块430表明过滤器的删除。
此外,QoS管理器432还可删除(图6的步骤610)子层,并关闭(步骤612)在步骤602中打开的会话。响应于会话的关闭,过滤器引擎402可卸载(图5的步骤510)调出驱动函数。
在计算设备100工作时,用户可使用用户接口来选择要执行的应用。计算设备100可以是,例如,便携式(即,笔记本)计算机,而且所选的应用可以是视频传输应用。此外,网络接口卡104和数据通信网络108之间的连接可以是WiMAX连接。相应地,驱动程序206中的MAC层是WiMAX MAC层。已知WiMAX MAC层用于接受对QoS参数的指定。QoS管理器432配置过滤器引擎402中的过滤器来向网络感知适配器430发送来自视频传输应用的流中的包。此外,一旦确定流中的数据是视频,网络感知适配器430就选择200kbit/s的带宽,并修改流中的包来以信号告知WiMAX MAC层,该流应该接收200kbit/s的带宽。
在WiMAX MAC层,流中被修改过的包被接收,而且上述信令被处理。根据该处理,WiMAX MAC层可通过数据通信网络108保留至视频流目的地的200kbit/s的带宽。WiMAX MAC层然后可通过数据通信网络108来安排视频流向该目的地的传输。
在可替换情况中,计算设备100的用户可指定QoS策略参数。这些参数可以是详细的,并且可以是常见的QoS参数,诸如比特率、延迟、抖动和丢包率,其可以被直接转换为嵌入在下层媒介类型中的QoS。然而,并不是所有的媒介类型都支持所配置的所有或任意QoS参数。在这种情况下,网络感知适配器430可基于媒介类型进行映射。
前述提供了一种适配数据流的方法,从而可以将所选的QoS策略设置以信号告知MAC层。然而,至今,还没有考虑如何处理当前网络条件不允许将QoS策略设置以信号告知的情况。在这种情况下,网络感知适配器430将尽最大努力来调度与QoS策略设置相关联的流中的业务。可替换地,尤其当QoS策略设置与全有或全无方式(all-or-nothing approach)相关联时,网络感知适配器430可以拒绝该流,并通知起源应用并随之通知用户。进一步可替换地,尤其当QoS策略设置与涉及“可接受降级(degradation is acceptable)”方式的QoS策略相关联时,网络感知适配器430可用降级后的QoS设置来调度流中的业务。对某些网络媒介类型,它们的QoS状态(例如,可用带宽)可以被监控并反馈给网络感知适配器430(通过QoS管理器432)。
有利地,当按照本发明的一个方面执行时,网络感知适配器430可被看作在应用层和MAC之间斡旋,从而减少了对在应用层执行的应用的复杂性的需要。网络感知适配器430可被安排为能够在MAC层实现对QoS参数的指定。当正确使用时,指定的QoS参数可用来提高频谱效率,并方便对数据通信网络108中固有的复杂性的管理。
有利地,应用可按照与网络感知适配器430交互而不是与为特定网络技术特别设计的MAC层交互的预期来开发。
本领域的普通技术人员应该清楚,尽管本发明的各方面是在已知的Windows过滤平台(WFP)情形下给出的,但是WFP的使用对于本发明各方面的工作并不是本质的,并且仅仅充当本发明各方面可在其中实现的环境的一个示例。
上述的本申请的实施例只是为了充当例子。对特定实施例的替换、修改和变化可由本领域技术人员不脱离本申请的范围来实现,该范围由这里所附的权利要求限定。

Claims (21)

1.一种在数据流进行到媒介访问控制MAC层之前适配数据流的方法,所述MAC层已经被适配以接收QoS策略设置,所述方法包括:
接收包,其中所述包与数据流相关联;
确定与所述数据流相关联的区别因子,所述区别因子包括与所述数据流相关联的媒介类型的标识;
基于所述区别因子,为所述数据流选择QoS策略设置;以及
将所述QoS策略设置以信号告知与所述包相关联的所述MAC层,
其中,所述信号告知包括:
做一个所述包的克隆;
对所述克隆进行修改以形成修改后的克隆,所述修改后的克隆包含所选QoS策略设置的信号表示;并且
将所述克隆注入到所述MAC层中。
2.如权利要求1所述的方法,其中所述QoS策略设置包括服务质量设置。
3.如权利要求1所述的方法,其中所述QoS策略设置包括用户体验设置。
4.如权利要求1所述的方法,其中所述数据流是多个因特网协议IP包的流,并且确定所述区别因子包括检查所述多个IP包中的给定包的头部域。
5.如权利要求4所述的方法,其中所述头部域具有关于所述给定包的源地址的指示。
6.如权利要求4所述的方法,其中所述头部域具有关于所述给定包的目的地地址的指示。
7.如权利要求4所述的方法,其中所述头部域具有关于所述给定包的源端口的指示。
8.如权利要求4所述的方法,其中所述头部域具有关于所述给定包的目的地端口的指示。
9.如权利要求1所述的方法,其中所述区别因子包括与所述数据流相关联的应用的标识。
10.如权利要求9所述的方法,其中所述应用与优先级相关联,并且为所述数据流选择所述QoS策略设置包括,基于所述优先级和所述QoS策略设置之间的关联进行选择。
11.如权利要求9所述的方法,其中所述应用包括视频应用。
12.如权利要求9所述的方法,其中所述应用包括语音应用。
13.如权利要求9所述的方法,其中所述应用包括游戏应用。
14.如权利要求9所述的方法,其中所述应用包括协作应用。
15.如权利要求9所述的方法,其中所述应用包括即时消息应用。
16.如权利要求1所述的方法,其中所述区别因子包括与所述数据流相关联的订户的标识。
17.如权利要求1所述的方法,其中所述媒介类型包括基于IEEE802.3标准的有线连网技术。
18.如权利要求1所述的方法,其中所述媒介类型包括基于IEEE802.11标准的无线连网技术。
19.如权利要求1所述的方法,其中所述媒介类型包括基于IEEE802.16标准的有线连网技术。
20.如权利要求1所述的方法,其中所述媒介类型包括基于源自3GPP长期演进项目的标准的无线连网技术。
21.一种在数据流进行到媒介访问控制MAC层之前适配数据流的设备,所述MAC层已经被适配以接收QoS策略设置,所述设备包括:
用于接收包的装置,其中所述包与数据流相关;
用于确定与所述数据流相关联的区别因子的装置,所述区别因子包括与所述数据流相关联的媒介类型的标识;
用于基于所述区别因子,为所述数据流选择QoS策略设置的装置;以及
用于将所述QoS策略设置以信号告知与所述包相关联的所述MAC层的装置;
其中,所述用于信号告知的装置还包括:
做一个所述包的克隆的装置;
对所述克隆进行修改以形成修改后的克隆的装置,所述修改后的克隆包含所选QoS策略设置的信号表示;以及
将所述克隆注入到所述MAC层中的装置。
CN200980123613.1A 2008-05-08 2009-05-08 用于应用的网络感知适配器 Expired - Fee Related CN102067548B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/117,139 2008-05-08
US12/117,139 US7920478B2 (en) 2008-05-08 2008-05-08 Network-aware adapter for applications
PCT/CA2009/000630 WO2009135309A1 (en) 2008-05-08 2009-05-08 Network-aware adapter for applications

Publications (2)

Publication Number Publication Date
CN102067548A CN102067548A (zh) 2011-05-18
CN102067548B true CN102067548B (zh) 2014-06-18

Family

ID=41264376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980123613.1A Expired - Fee Related CN102067548B (zh) 2008-05-08 2009-05-08 用于应用的网络感知适配器

Country Status (7)

Country Link
US (3) US7920478B2 (zh)
EP (1) EP2274888A4 (zh)
JP (1) JP5504256B2 (zh)
KR (1) KR101405340B1 (zh)
CN (1) CN102067548B (zh)
BR (1) BRPI0912191A2 (zh)
WO (1) WO2009135309A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840710B2 (en) * 2005-08-31 2010-11-23 Research In Motion Limited Method, system and apparatus for selective application access and synchronization
US7920478B2 (en) * 2008-05-08 2011-04-05 Nortel Networks Limited Network-aware adapter for applications
US9124642B2 (en) 2009-10-16 2015-09-01 Qualcomm Incorporated Adaptively streaming multimedia
US8601153B2 (en) * 2009-10-16 2013-12-03 Qualcomm Incorporated System and method for optimizing media playback quality for a wireless handheld computing device
US9535762B2 (en) 2010-05-28 2017-01-03 At&T Intellectual Property I, L.P. Methods to improve overload protection for a home subscriber server (HSS)
US9319433B2 (en) 2010-06-29 2016-04-19 At&T Intellectual Property I, L.P. Prioritization of protocol messages at a server
CN102195972B (zh) * 2011-03-24 2014-05-07 北京思创银联科技股份有限公司 利用wfp拦截网络数据的方法
US8966499B2 (en) * 2011-09-09 2015-02-24 Microsoft Technology Licensing, Llc Virtual switch extensibility
US10405235B2 (en) * 2011-09-26 2019-09-03 Qualcomm Incorporated Systems and methods for traffic detection network control
JP6046276B2 (ja) * 2013-02-14 2016-12-14 ヴイエムウェア インコーポレイテッドVMware,Inc. ネットワークでのアプリケーションアウェアネスの方法及び装置
CN104618304B (zh) * 2013-11-01 2017-12-15 新华三技术有限公司 数据处理方法及数据处理系统
CN104125311B (zh) * 2014-06-18 2018-02-02 安一恒通(北京)科技有限公司 基于wfp框架的数据传输方法及装置
CN104022924A (zh) * 2014-07-02 2014-09-03 浪潮电子信息产业股份有限公司 一种http通信内容检测的方法
CN104284397B (zh) * 2014-09-30 2018-07-27 宇龙计算机通信科技(深圳)有限公司 基于通信终端的网络选择方法、装置及终端
US20160328279A1 (en) * 2015-05-07 2016-11-10 Ebay Inc. Method and System for Providing a Framework as a Service
US9769118B2 (en) * 2015-10-05 2017-09-19 Zyxel Communications, Inc. Device for providing security barrier for network
CN105656943B (zh) * 2016-03-15 2019-07-05 上海缔安科技股份有限公司 一种应用数据拦截系统及方法
US11258681B2 (en) 2016-12-16 2022-02-22 Nicira, Inc. Application assessment and visibility for micro-segmentation of a network deployment
US10652213B2 (en) 2017-12-18 2020-05-12 Nicira, Inc. Agent-less micro-segmentation of a network
US11329955B2 (en) * 2018-01-24 2022-05-10 Vmware, Inc. Remote session based micro-segmentation
US11194600B2 (en) 2019-01-16 2021-12-07 Vmware, Inc. Secure digital workspace using machine learning and microsegmentation
US11588854B2 (en) 2019-12-19 2023-02-21 Vmware, Inc. User interface for defining security groups

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1586055A (zh) * 2001-11-13 2005-02-23 皇家飞利浦电子股份有限公司 为ieee802.11e mac提供服务质量信令的设备和方法
US20070028001A1 (en) * 2005-06-21 2007-02-01 Steve Phillips Applying quality of service to application messages in network elements

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859438B2 (en) * 1998-02-03 2005-02-22 Extreme Networks, Inc. Policy based quality of service
JP3676121B2 (ja) * 1999-06-01 2005-07-27 三菱電機株式会社 パラメータ決定装置、パラメータ決定方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
FI20001630A (fi) * 2000-06-30 2001-12-31 Nokia Mobile Phones Ltd Palvelun laadun määritys datavirroille
JP2002300181A (ja) * 2001-03-30 2002-10-11 Nec Corp 統合ネットワークQoS制御方式
CN1173500C (zh) * 2001-12-05 2004-10-27 华为技术有限公司 高速下行数据包接入系统对不同服务质量业务的支持方法
KR100537499B1 (ko) * 2002-07-26 2005-12-19 삼성전자주식회사 전송제어 파라미터 생성방법 및 프레임 특성에 따른선택적 자동 재전송 방법
US20040093359A1 (en) * 2002-11-12 2004-05-13 Sharpe Edward J. Methods and apparatus for updating file systems
US6937591B2 (en) * 2003-02-27 2005-08-30 Microsoft Corporation Quality of service differentiation in wireless networks
US7409707B2 (en) * 2003-06-06 2008-08-05 Microsoft Corporation Method for managing network filter based policies
US7260840B2 (en) * 2003-06-06 2007-08-21 Microsoft Corporation Multi-layer based method for implementing network firewalls
US7509673B2 (en) * 2003-06-06 2009-03-24 Microsoft Corporation Multi-layered firewall architecture
US7308711B2 (en) * 2003-06-06 2007-12-11 Microsoft Corporation Method and framework for integrating a plurality of network policies
WO2005048533A1 (en) * 2003-11-05 2005-05-26 Interdigital Technology Corporation Quality of service management for a wireless local area network
US20050286512A1 (en) * 2004-06-28 2005-12-29 Atul Mahamuni Flow processing
ATE535078T1 (de) * 2004-07-23 2011-12-15 Citrix Systems Inc Verfahren und system zur sicherung von zugriff aus der ferne auf private netze
US20060092963A1 (en) * 2004-10-28 2006-05-04 Ajay Bakre Architecture and method for efficient application of QoS in a WLAN
CN100477616C (zh) * 2004-11-23 2009-04-08 中兴通讯股份有限公司 一种分层的网络服务质量保证方法及其系统
US8139598B2 (en) * 2005-03-21 2012-03-20 Telefonaktiebolaget L M Ericsson (Publ) Automatic QoS configuration
JP2007074194A (ja) * 2005-09-06 2007-03-22 Hitachi Communication Technologies Ltd 無線通信網におけるサービス品質の設定方法および無線通信装置
KR100666992B1 (ko) * 2006-01-13 2007-01-10 삼성전자주식회사 QoS 제공 와이브로 단말 및 와이브로 네트워크에서의QoS 제공 방법
US8683059B2 (en) * 2006-06-15 2014-03-25 Fujitsu Limited Method, apparatus, and computer program product for enhancing computer network security
US8121977B2 (en) * 2006-08-30 2012-02-21 Iwmage Systems, Inc. Ensuring data persistence and consistency in enterprise storage backup systems
US7796536B2 (en) * 2006-10-17 2010-09-14 Honeywell International Inc. Dynamic auto-reconfigurable time division multiple access
US20080132268A1 (en) * 2006-12-01 2008-06-05 Cingular Wireless Ii, Llc Dynamic quality of service adaptation in packet data communications
US7830804B2 (en) * 2007-01-17 2010-11-09 Sierra Wireless, Inc. Quality of service application programming interface over socket
US7848237B2 (en) * 2007-01-18 2010-12-07 Ineoquest Technologies, Inc. System and method for selective packet discard for the transport of multiple transportation streams of streaming media in packet-based networks
WO2008129645A1 (ja) * 2007-04-13 2008-10-30 Fujitsu Limited ピーク抑圧方法
US8982887B2 (en) * 2007-05-18 2015-03-17 International Business Machines Corporation System, method and program for making routing decisions
US7920478B2 (en) * 2008-05-08 2011-04-05 Nortel Networks Limited Network-aware adapter for applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1586055A (zh) * 2001-11-13 2005-02-23 皇家飞利浦电子股份有限公司 为ieee802.11e mac提供服务质量信令的设备和方法
US20070028001A1 (en) * 2005-06-21 2007-02-01 Steve Phillips Applying quality of service to application messages in network elements

Also Published As

Publication number Publication date
CN102067548A (zh) 2011-05-18
US20130010599A1 (en) 2013-01-10
KR101405340B1 (ko) 2014-06-10
JP2011526092A (ja) 2011-09-29
BRPI0912191A2 (pt) 2015-10-06
WO2009135309A1 (en) 2009-11-12
US8576718B2 (en) 2013-11-05
JP5504256B2 (ja) 2014-05-28
US7920478B2 (en) 2011-04-05
EP2274888A1 (en) 2011-01-19
US20110158179A1 (en) 2011-06-30
US8811219B2 (en) 2014-08-19
KR20110026415A (ko) 2011-03-15
US20090279547A1 (en) 2009-11-12
EP2274888A4 (en) 2012-04-04

Similar Documents

Publication Publication Date Title
CN102067548B (zh) 用于应用的网络感知适配器
EP3447973B1 (en) Packet switching service recognition method and terminal
EP1303086B1 (en) A hierarchical protocol classification engine
US8855127B2 (en) Method and system for intelligent deep packet buffering
US6594277B1 (en) Dynamic-rate, differential class-based quality of service agent for internet protocol exchange systems
KR100728279B1 (ko) 브이오아이피 네트워크에서 큐오에스 보장을 위한 대역폭관리 시스템 및 그 방법
WO2019166081A1 (en) Transparent integration of 3gpp network into tsn based industrial network
US11582143B2 (en) Techniques for policy management of multi-connectivity network protocols
US8514712B1 (en) Non-stop VoIP support
US11159423B2 (en) Techniques for efficient multipath transmission
US20050201412A1 (en) Communication of packet data units over signalling and data traffic channels
JP2004515182A (ja) 分散されたネットワークアクセスシステムのためのメッセージ、制御および報告インターフェイス
WO2010133911A1 (en) Systems and method for communicating priority information for use in scheduling the transmission of data
JP2004515156A (ja) 分散されたサービス制御を有するプログラム可能なアクセス装置を含むネットワークアクセスシステム
JP2004515181A (ja) 分散されたネットワークアクセスシステムのための外部プロセッサ
WO2007036786A2 (en) Application layer metrics monitoring
CN101001177A (zh) 用于高级负载均衡及故障排除功能性的单一逻辑网络接口
US20100195492A1 (en) Controlling Traffic in a Packet Switched Communications Network
WO2020224958A1 (en) Method and apparatus for port management of ethernet bridges
US20160295301A1 (en) Communication protocol control method and device in smart tv apparatus
EP2115977B1 (en) Methods and apparatus for controlling signaling associated with a private branch exchange within a session over internet protocol network
US20070127456A1 (en) Communications apparatus and method
WO2012110527A1 (en) Distributed middleware for mobile devices
US11469990B2 (en) Techniques for interaction between network protocols
US20200163158A1 (en) Data transmission process of heterogeneous lwa network and associated base station for mobile communication

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: YANXING BIDEKE CO., LTD.

Free format text: FORMER OWNER: NORTEL NETWORKS CORP.

Effective date: 20130106

Owner name: RESEARCH IN MOTION LTD.

Free format text: FORMER OWNER: 2256355 ONTARIO LIMITED

Effective date: 20130106

Owner name: 2256355 ONTARIO LIMITED

Free format text: FORMER OWNER: YANXING BIDEKE CO., LTD.

Effective date: 20130106

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20130106

Address after: Voight, Ontario, Canada

Applicant after: RESEARCH IN MOTION Ltd.

Address before: Ontario

Applicant before: 2256355 Ontario Limited

Effective date of registration: 20130106

Address after: Ontario

Applicant after: 2256355 Ontario Limited

Address before: American New York

Applicant before: NORTEL NETWORKS LTD.

Effective date of registration: 20130106

Address after: American New York

Applicant after: NORTEL NETWORKS LTD.

Address before: Quebec

Applicant before: NORTEL NETWORKS Ltd.

C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Voight, Ontario, Canada

Applicant after: BlackBerry Ltd.

Address before: Voight, Ontario, Canada

Applicant before: Research In Motion Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: RESEARCH IN MOTION LTD. TO: BLACKBERRY LTD.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140618

Termination date: 20170508

CF01 Termination of patent right due to non-payment of annual fee