CN106797319B - 网络服务感知路由器及其应用 - Google Patents
网络服务感知路由器及其应用 Download PDFInfo
- Publication number
- CN106797319B CN106797319B CN201580046108.7A CN201580046108A CN106797319B CN 106797319 B CN106797319 B CN 106797319B CN 201580046108 A CN201580046108 A CN 201580046108A CN 106797319 B CN106797319 B CN 106797319B
- Authority
- CN
- China
- Prior art keywords
- router
- thread
- service
- network
- user
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
- H04L45/563—Software download or update
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
在实施例中,计算机实现的方法在网络上提供服务。该方法包括以下步骤:(a)在路由器上向远程服务器请求可执行指令,所述可执行指令指定所述路由器如何操作以提供所述网络的用户请求的服务;(b)接收所述指令;(c)在所述路由器上初始化用以执行所接收的指令的线程;(d)确定所述路由器的配置已经改变;以及(e)当确定所述路由器的配置已经改变时,在初始化的线程上执行所述指令以根据所述路由器的配置的改变来应用所述服务。
Description
技术领域
本领域大体上涉及网络配置。
背景技术
通信网络可以例如提供允许在两个地理上远离的位置之间传送数据的网络连接。网络连接可以跨多个连接通信设备(例如,路由器)的链路。根据链路通过通信设备相互连接的方式,网络可以具有不同拓扑。给定具体的网络拓扑,在源与目的地之间可存在多种路由。
服务提供商可以配置通信网络以提供网络服务(例如连接服务)。服务提供商可以维护特定服务级别的连接服务,例如特定级别的带宽、延迟或抖动。例如,用户可以请求在其两个位置之间的具有400兆比特/秒带宽的以太网连接。
为了配置通信网络以提供网络服务,配置服务器可以向沿着网络连接的路由上的路由设备发送配置消息。配置消息例如可以向路由设备指示在来自特定用户的传输中或在服务中提供的路由数据的方式或者服务级别。
为了添加或改变网络服务,服务提供商网络通常使用清单数据库。清单数据库跟踪不同的用户、其关联的网络服务、以及用于提供网络服务的路由设备。当向清单数据库添加新服务时,配置服务器可以向清单数据库中的关联的路由设备推送配置消息。当修改现有服务(例如,改变服务等级)时,配置服务器可以查看清单数据库以确定向哪些路由设备发送消息。以这种方式,中央配置服务器和清单数据库通常确定需要配置哪些路由设备。
尽管让中央配置服务器确定要配置哪些路由设备可能具有优点,但是它也会造成瓶颈。这可能导致配置服务的延迟。此外,路由设备可能是异构的,并且让配置服务器配置各种不同类型的设备可能导致附加的复杂性。
发明内容
在实施例中,一种计算机实现的方法在网络上提供服务。所述方法包括以下步骤:(a)在路由器上向远程服务器请求能够执行的指令,所述能够执行的指令指定所述路由器如何操作以提供所述网络的用户请求的服务;(b)接收所述指令;(c)在所述路由器上初始化用以执行所接收的指令的线程;(d)确定所述路由器的配置已经改变;以及(e)当确定所述路由器的配置已经改变时,在初始化的线程上执行所述指令以根据所述路由器的配置的改变来应用所述服务。
还公开了系统和计算机程序产品实施例。
下面将参考附图详细描述本发明的其他实施例、特征和优点以及各种实施例的结构和操作。
附图说明
并入本文中并且形成说明书的一部分的附图示出了本公开,与描述一起进一步用于解释本公开的原理并使本领域技术人员能够实施和使用本文公开。
图1是根据实施例的用于向路由设备提供可执行服务的系统的示图。
图2根据实施例的更详细地示出了图1中的系统中的路由设备的示图。
图3是根据实施例的用于向交换机配置新服务的方法的流程图。
图4是根据实施例的用于改变交换机配置的方法的流程图。
要素第一次出现的附图通常由对应附图标记中的最左侧数字来表示。在附图中,相似的附图标记表示相同或功能相似的要素。
具体实施方式
如上所述,让中央配置服务器和清单数据库编排网络服务会导致延迟和复杂性。为了解决这一点,本文的实施例允许路由设备动态地学习服务改变,而不需要编排过程。
图1是根据实施例的用于向路由设备提供可执行服务的系统100的示图。系统100包括服务提供商网络106,其连接两个用户站点:用户站点102和用户站点104。
在一个示例中,每个用户站点102和104可以是客户的位置,并且客户可以请求服务提供商网络106提供在这两个位置之间的连接。服务提供商网络106可以是局域网(LAN)、城域网(MAN)或广域网(WAN)。可以使用任何点对点或多点对多点的联网协议。所使用的网络访问协议可以包括例如多协议标签交换(MPLS)、以太网、异步传输模式(ATM)、高级数据链路控制(HDLC)或数据包中继。
服务提供商网络106包括多个路由设备,如路由设备120、122和124。为了方便,路由设备120、122和124有时在本文中被称为路由器。路由设备或路由器通过链路互连。例如,路由设备120和122经由链路130连接。路由设备是转发数据分组的设备,包括数据链路层(开放系统互连层2)和网络层(开放系统互连层3)的设备。
在接收到分组时,路由设备可以基于路由器自身的配置(例如路由器的路由表)和分组的特性(例如分组的目的地地址)确定在哪个链路上转发。如上所述,在典型系统中,对该配置的改变是通过中央编排系统完成的。例如,用户可以针对将来的某一时间调度带宽增加。当编排服务器确定所调度的时间到来时,编排服务器将向路由设备发送改变它们的配置的指令,以允许带宽增加。用这种方式,编排服务器将执行描述如何提供网络服务改变的功能。
在这里公开的实施例中,确定如何提供网络服务的功能将不发生在编排服务器上,而是发生在路由设备自身上。具体地,路由设备120、122和124均具有运行指定如何实现该服务的进程:进程140、142和144。进程或守护进程可以在其路由设备内运行其自身的执行线程。当接收到属于特定用户或被指派给该服务的新业务时,可以执行某一功能。此外,当配置改变位于服务器上时,可以执行某一功能。此外,可以周期性地执行某一功能,而与接收到的业务无关。用这种方式,实施例使路由器自身能够实现网络服务。
但是,让路由设备执行用以实现网络服务的功能仍可能不能消除对一些外部远程服务器的需求。具体地,系统100包括网络控制服务器110,路由设备120、122和124与网络控制服务器110通信以加载它们各自的服务进程140、142和144。为了与路由设备120、122和124通信,网络控制服务器110可被包括在服务提供商网络106中或与服务提供商网络106耦合。
网络控制服务器110包括配置(provisioning)模块114和服务模块112。配置模块114维护服务提供商网络106的订阅用户和相关联的服务的列表。当路由设备检测到属于新用户的业务时,路由设备可以向网络控制服务器110发送消息,网络控制服务器110进而将所述消息转发给配置模块114。响应于该消息,配置模块114可以查询例如数据库(未示出)之类的存储器,所述存储器将标识具体用户的数据(例如源地址或子网)映射至相关联的服务。然后,配置模块114可以将查询结果发送回做出该请求的路由设备。该响应可以标识用户订阅的每个服务。
当路由设备接收到服务列表时,它可以向网络控制服务器110发送另一消息,网络控制服务器110这次将该请求转发给服务模块112。服务模块112可以包括列出由服务提供商网络106提供的所有服务的储存库。对于每个服务,该储存库可以包括可执行文件,该可执行文件包括关于路由设备如何操作以提供服务的指令。可执行文件可以是例如编译的二进制可执行文件或未编译的脚本。响应于该请求,服务模块112可以检索所请求的服务的可执行文件,并将它们返回给路由设备。尽管为了清楚起见,服务模块112和配置模块114在这里被示出在单个服务器上,但是它们也可以在分离的服务器上实现。
一旦接收到可执行文件,路由设备可以初始化针对每个服务的线程。线程提供所请求的服务的功能。
图1标识了具有不同参考标号的进程140、142和144,原因在于它们在不同的路由设备上运行。但是,进程140、142和144中的每一个可以是从服务模块112检索到的同一可执行文件的实例化。该可执行文件可以指定整个服务的功能和参与提供该服务的每个路由设备120、122和124的功能。但是,即使进程140、142和144可以执行相同的服务可执行文件,它们可能具有不同的功能。具体地,服务可执行文件可以为不同的路由设备指定不同的功能。一旦启动,进程可以检查路由设备的配置以识别设备并执行可执行文件针对该特定设备指定的功能。
在一个示例中,用户可以订阅收集关于用户的网络业务的度量的服务。传统地,为了实现该服务,编排服务器将使用它对用户业务中涉及的路由设备的知识来周期性地向路由设备发送向它们查询度量的请求。然而,在这里公开的实施例中,进程140、142和144可以收集数据并且如订阅的服务所指定的那样提供数据。在另一示例中,用户可以订阅随时间改变特定服务等级的动态容量服务。该改变可以发生在调度的时间,或者该改变可以响应于网络条件发生。例如,如果特定使用度量(例如带宽利用率)超过阈值,则服务可以改变路由器上的策略器以允许更大的带宽用于连接。传统地,编排服务器将监测时间条件或网络条件,并且当满足调度时间或网络连接时向路由设备发送指令。然而,在这更公开的实施例中,在路由设备自身上运行的进程140、142和144可以使用路由器的配置信息(例如其配置的时间或使用信息)确定何时出现适当时间或何时条件被触发。当进程确定适当时间出现或条件被触发时,该进程改变路由设备配置以根据订阅的动态容量服务提供新的服务等级。
在一些实施例中,多个进程140、142和144可以彼此通信以形成它们自己的服务网络150,服务网络150是协同工作以提供服务的一组路由器。为了建立服务网络150,进程140、142和144中的至少一个可以发现哪些其他路由器参与提供服务。进程之一可以占主导地位,并广播发现消息以识别哪些其他设备正在参与服务。或者,进程可以将彼此视为对等,并且交换标识在提供服务中涉及的相邻路由设备的分组。
例如,进程140、142和144可以彼此通信以发现如何通过服务网络150转发数据。每个进程可以记住路由设备的邻居,并将该信息传送给服务网络150中的其他路由器。例如,进程144可以通过查看其配置信息来获知路由器124的邻居。根据配置信息,进程144可以获知:路由器144通过端口162与用户站点104连接。然后,进程144可以将该信息传送给路由器122及其服务进程142。进而,服务进程142可以向路由器122和服务进程140发送指示它可以通过路由器144达到用户站点104的消息。使用该可达性信息,路由器可以通过服务网络转发数据。例如,当服务进程140接收到来自用户站点102的且目的地为用户站点104的业务时,服务进程140可以将该业务路由至路由设备122,路由设备122进而可以将该业务通过路由设备124路由至用户站点104。通过用这种方式发现服务网络,进程140、142和144可以协作以根据订阅的服务来路由业务,而不需要编排服务器向每个路由设备发送路由指令。
除了使用服务网络将业务从源路由至目的地之外,服务网络还可以在从源到目的地的不同路由之间进行负载均衡。例如,假设图1中的路由设备126是服务网络150的一部分。例如,进程140可以(例如,通过如上所述广播发现分组)发现服务网络拓扑。进程140可以根据该拓扑确定:多个路径连接用户站点102与用户站点104。具体地,当路由器120接收到来自用户站点102的且目的地为用户站点104的数据时,进程14()可以确定是将数据路由至路由器122还是126,路由器122和126二者都通过路由器124导向用户站点104。为了均衡网络上的业务,进程140可以基于来自相应路径上的路由器的使用信息来做出该确定,所述信息可能由其他服务进程本身收集并发送给进程140。备选地,进程140可以使用轮询(round-robin)或本领域技术人员将认识到的其他方式来均衡路径之间的业务。
用这种方式,实施例将提供服务的功能从编排服务器移动至路由设备。图2更详细地示出了示例路由设备。
图2是更详细示出路由设备120的示图200。路由设备120包括内核204。
如计算领域中已知的,内核204是路由设备120的操作系统。它是这样的计算机程序,所述计算机程序管理来自软件的输入请求和输出请求,并将它们转换为用于中央处理单元和路由设备的其他电子组件的数据处理指令。它还管理路由设备120上的各种并发执行线程。
在路由设备120上存储的是配置文件202。配置文件202可以知道订阅到服务提供商网络106的所有不同用户,或者可以至少知道订阅到使用路由器120的服务的所有不同用户。例如,配置文件202可以指示:路由器120的特定端口属于特定用户。在示图200中,路由器120例如具有端口220、222和224。端口220在用户站点102处与网络连接。配置文件202可以将端口220与具有用户站点102处的网络的用户相关联。在其他示例中,路由设备120可以通过检查其源地址来识别数据属于特定用户。在该示例中,配置文件202可以具有与每个用户相关联的源地址或源地址范围(例如互联网协议子网)。
在一个实施例中,管理员可以定义配置文件202的各方面。
在其他示例中,由例如路由器120上的服务加载器进程210从网络控制服务器110加载配置文件202或其一部分。路由器120或内核204可被配置为在开机时启动服务加载器210。一旦启动,服务加载器210向网络控制服务器110查询当前用户的列表。服务加载器210也可以周期性地查询网络控制服务器110以检查当前用户列表中的更新。如上面参照图1所述,当服务加载器210检测到新用户时,其可以首先向网络控制服务器110查询用户订阅的服务的列表,并然后再次向网络控制服务器110查询与服务相对应的可执行文件。
一旦在路由器120、内核204或服务加载器210处接收到可执行文件
,就可以发起它们作为服务守护进程208。服务守护进程208中的每一个是相对于图1所描述的实现执行服务的功能的进程。为了执行服务,服务守护进程208可以例如侦听对配置文件202的改变。响应于改变,服务守护进程208可以向配置文件202写入附加的改变,例如用于更新路由器的路由表或其他配置信息以实现服务。在一些实施例中,服务守护进程208还可以侦听进入的业务,并且在接收到满足某些条件(例如源自某个地址)的业务时获得通知。
这种架构是灵活的,原因在于服务可以自动更新。
服务守护进程208可以检测何时需要改变并且向网络控制服务器110报告以访问更新。例如,服务守护进程208可以检测其路由器120是否不再与服务网络中的其他路由器连接,并根据需要报告给网络控制服务器110以更新所安装的服务。此外,由于服务功能是分散的,它更具弹性。例如,在常规系统中,单个配置服务器可以负责整个网络上的编排服务。如果该配置服务器关闭,则在备份到位之前,服务提供商网络上的大部分服务可能不可操作。有效地,单个配置服务器创建单个故障点。但是,当路由器自己实现服务并且路由器故障时,仅故障路由器提供的服务可能受到影响。用这种方式,使路由器更自主,并且使网络更具弹性。
图3是根据实施例用于向交换机配置新服务的方法300的流程图。
当路由器120确定用户新连接到网络时,方法300开始于步骤302。例如,当更新路由器120的配置文件以反映新用户已经订阅到服务提供商网络时,该步骤可以发生。配置文件可以由运营商或例如配置系统响应于来自用户的命令而进行更新。
在步骤304,路由器120发送查询远程服务器(具体地,网络控制服务器110)的请求,以查找用户订阅的服务的列表。响应于该查询,在步骤306,网络控制服务器110查找服务并将标识用户订阅的服务的信息发送回路由器120。
在接收到标识用户订阅了哪些服务的信息时,路由器120确定它需要哪些服务可执行文件。对于某些服务,路由器120可能已经具有可执行文件的副本,并且甚至可能已经运行服务守护程序。对于那些没有的可执行文件,路由器120在步骤308中向网络控制服务器110发送另一个请求。该请求标识服务。网络控制服务器110可以确定:该路由器不需要运行任何可执行文件以向该用户提供该服务。但如果确定路由器需要运行可执行文件,网络控制服务器110返回每个请求的服务的可执行文件。
一旦接收到可执行文件,路由设备120初始化每个所接收的可执行文件的进程。随着进程运行,它们可以参与提供网络服务。如图4所示,为了提供网络服务,进程可以侦听路由器配置的改变。
图4是根据实施例的用于改变交换机配置的方法400的流程图。
当内核204检测到路由器配置的改变时,方法400开始于步骤402。当内核204检测到路由器配置的改变时,它在步骤404通知任何守护进程(在本例中是守护进程208)侦听改变。例如,可以通过内核204在发生特定改变时调用的回调函数来异步地发出通知。在另一示例中,守护进程208可以周期性地检查路由器配置的变化。
在接收到通知时,守护进程208执行在可执行文件中指定的功能以提供服务。例如,在动态容量示例中,路由器配置将包括关于用户的带宽使用的数据,并且在步骤404,将向守护进程208通知该使用级别的变化。在步骤406,守护进程208将检查以查看使用级别是否满足诸如阈值之类的条件,并且如果满足,则它将改变路由器配置以改变与用户相关联的带宽限制。
如上所述,可以在各种各样的服务中提供守护进程208。在上面的示例中,守护进程208可以:提供网络连接(例如以太网e线),收集网络度量,提供动态容量,以及提供路由确定和负载均衡。其他服务也可以由守护进程208提供。例如,守护进程208可以提供人工神经网络、压缩、防火墙、入侵检测或广域网(WAN)加速。
如上所述,在不同进程上运行的各种服务进程可以彼此通信以形成一起参与提供服务的一组路由器。在上面的示例中,路由器组可以一起工作以提供路由确定和负载均衡。该组可以提供的其他服务可以是业务交换、重新路由(例如,响应于拥塞或者出故障的组件进行的重新路由)、以及收集反映整个路由器组的使用率的聚合度量。
可以用硬件、软件、固件或其任意组合来实现图1和图2中的设备和模块的每一个。
可以在相同或不同计算设备上实现图1和图2中的设备和模块的每一个。这种计算设备可以包括但不限于个人计算机、移动设备(例如移动电话)、工作站、嵌入式系统、游戏控制台、电视、机顶盒或任意其他计算设备。此外,计算设备可以包括但不限于用于执行并存储指令的具有处理器和存储器(包括非暂时性存储器)的设备。存储器可以有形地体现数据和程序指令。软件可以包括一个或多个应用和操作系统。硬件可以包括但不限于处理器、存储器和图形用户界面显示器。计算设备还可以具有多个处理器和多个共享或分离的存储器组件。例如,计算设备可以是集群式或分布式计算环境或服务器群的一部分或整体。
诸如“(a)”、“(b)”、“(i)”、“(ii)”等的标识符有时用于不同的要素或步骤。使用这些标识符是为了清楚而不一定指定要素或步骤的顺序。
以上已经在示出指定功能及其关系的实现方式的功能构建块的辅助下,描述了本发明。为了便于描述,本文已经任意定义了这些功能构建块的边界。只要所指定的功能及其关系被适当地执行,就可以定义备选边界。
特定实施例的上述描述将完全揭示本发明的总体性质,其他人可以在不过度实验、不脱离本发明的总体构思的情况下,通过应用本领域技术知识来容易地修改和/或适配这些特定实施例的各种应用。因此,基于本文提出的教导和引导,这种适应和修改旨在落在所公开的实施例的等同物的含义和范围内。将理解的是,本文的措辞和术语是用于描述而非限制的目的,使得本领域技术人员根据教导和引导来解释本说明书的措辞或术语。本发明的阔度和范围不限于上述任何示例实施例,而是应由以下权利要求及其等同物来定义。
Claims (20)
1.一种用于在网络上提供服务的计算机实现的方法,包括:
(a)在路由器上向远程服务器请求能够执行的指令,所述能够执行的指令指定所述路由器如何操作以提供所述网络的用户请求的服务;
(b)接收所述指令;
(c)在所述路由器上初始化用以执行所接收的指令的线程;
(d)确定所述路由器的配置已经改变;以及
(e)当确定所述路由器的配置已经改变时,在初始化的线程上执行所述指令以根据所述路由器的配置的改变来应用所述服务,
其中,所述路由器是第一路由器,并且所述方法还包括:
(f’)在第一线程处接收来自在第二路由器上运行的第二线程的分组,所述第二线程执行来自远程服务器的指令;以及
(g’)在所述第一线程处确定所述第二线程也在参与提供所述服务。
2.根据权利要求1所述的方法,还包括:
(f)在所述路由器上确定所述用户是新连接到所述网络的;以及
(g)当路由器确定所述用户是新连接的时,向所述远程服务器查询所述用户订阅的服务。
3.根据权利要求1所述的方法,其中,所述网络上的多个路由器提供所述服务,并且所述能够执行的指令指定所述多个路由器中的所有路由器如何操作以提供所指定的服务,其中所述多个路由器包括所述第一路由器和所述第二路由器。
4.根据权利要求1所述的方法,还包括:
(f)评估所述路由器处的网络业务,以确定所述业务是否与所述网络的所述用户相关联;以及
(g)当所述路由器确定所述业务与所述网络的所述用户相关联时,通知所述线程对所述业务应用服务。
5.根据权利要求1所述的方法,还包括:
(f)周期性地检查所述远程服务器以检查服务的改变;以及
(g)当所述服务改变时,在所述路由器处接收指定所述路由器将如何操作的更新后的能够执行的所述指令。
6.根据权利要求1所述的方法,还包括:
(f)在所述线程处接收来自在第二路由器上运行的第二线程的分组,所述第二线程执行来自远程服务器的指令;以及
(g)在所述线程处确定所述第二线程也在参与提供所述服务。
7.根据权利要求6所述的方法,还包括:
(h)在所述线程处接收来自在第三路由器上运行的第三线程的分组,所述第三线程执行来自所述远程服务器的指令;
(i)在所述第一线程处确定所述第三线程在参与提供所述服务;
(j)在所述第一路由器处接收目的地为能够通过所述第二路由器和第三路由器二者到达的地址的业务;以及
(k)根据所述指令,确定是在所述第二路由器还是在所述第三路由器上转发所述业务。
8.根据权利要求1所述的方法,
其中确定(d)包括:接收与网络业务相关的更新后的度量,所述网络业务与所述用户相关联并由所述路由器转发,以及
其中所述执行(e)包括:将所述度量发送给所述远程服务器。
9.根据权利要求1所述的方法,其中确定(d)包括:接收描述与所述用户相关联的带宽业务量的更新后的信息;以及
其中所述执行(e)包括:
(i)确定更新后的信息是否满足条件;以及(ii)更新路由器的配置以改变当服务提供时分配给所述用户的带宽量。
10.一种有形地具有指令程序的非瞬时性程序存储设备,所述指令可由至少一个机器执行以实现用于在网络上提供服务的方法,所述方法包括:
(a)在路由器上向远程服务器请求能够执行的指令,所述能够执行的指令指定所述路由器如何操作以提供所述网络的用户请求的服务;
(b)接收所述指令;
(c)在所述路由器上初始化用以执行所接收的指令的线程;
(d)确定所述路由器的配置已经改变;以及
(e)当确定所述路由器的配置已经改变时,在初始化的线程上执行所述指令以根据所述路由器的配置的改变来应用所述服务,
其中,所述路由器是第一路由器,并且所述方法还包括:
(f’)在第一线程处接收来自在第二路由器上运行的第二线程的分组,所述第二线程执行来自远程服务器的指令;以及
(g’)在所述第一线程处确定所述第二线程也在参与提供所述服务。
11.根据权利要求10所述的程序存储设备,所述方法还包括:
(f)在所述路由器上确定所述用户是新连接到所述网络的;以及
(g)当路由器确定所述用户是新连接的时,向所述远程服务器查询用户订阅的服务。
12.根据权利要求10所述的程序存储设备,其中,所述网络上的多个路由器提供所述服务,并且所述能够执行的指令指定所述多个路由器中的所有路由器如何操作以提供所指定的服务,其中所述多个路由器包括所述第一路由器和所述第二路由器。
13.根据权利要求10所述的程序存储设备,所述方法还包括:
(f)评估所述路由器处的网络业务,以确定所述业务是否与所述网络的所述用户相关联;以及
(g)当所述路由器确定所述业务与所述网络的所述用户相关联时,通知所述线程对所述业务应用服务。
14.根据权利要求10所述的程序存储设备,所述方法还包括:
(f)周期性地检查远程服务器以检查服务的改变;以及
(g)当所述服务改变时,在所述路由器处接收指定所述路由器将如何操作的更新后的能够执行的指令。
15.根据权利要求10所述的程序存储设备,所述方法还包括:
(f)在所述线程处接收来自在第二路由器上运行的第二线程的分组,所述第二线程执行来自远程服务器的所述指令;以及
(g)在所述线程处确定所述第二线程也在参与提供所述服务。
16.根据权利要求15所述的程序存储设备,所述方法还包括:
(h)在所述第一线程处接收来自在第二路由器上运行的第三线程的分组,所述第三线程执行来自所述远程服务器的指令;
(i)在所述第一线程处确定所述第三线程在参与提供所述服务;
(j)在所述第一路由器处接收目的地为能够通过所述第二路由器和第三路由器二者到达的地址的业务;以及
(k)根据所述指令,确定是在所述第二路由器还是在所述第三路由器上转发所述业务。
17.根据权利要求10所述的程序存储设备,其中确定(d)包括:接收与网络业务相关的更新后的度量,所述网络业务与所述用户相关联并由所述路由器转发,以及
其中所述执行(e)包括:将所述度量发送给所述远程服务器。
18.根据权利要求10所述的程序存储设备,其中确定(d)包括接收描述与所述用户相关联的带宽业务量的更新后的信息;以及
其中所述执行(e)包括:
(i)确定更新后的信息是否满足条件;以及(ii)更新所述路由器的配置以改变当服务提供时分配给所述用户的带宽量。
19.一种用于在网络上提供服务的系统,包括:
第一路由设备;
第二路由设备;
远程服务器;
实现在所述第一路由设备上的服务加载器,配置为:(i)从所述远程服务器请求能够执行的指令,所述能够执行的指令指定所述第一路由设备如何操作以提供网络的用户请求的服务,(ii)接收所述指令,以及(iii)在所述第一路由设备上初始化用以执行所接收的指令的第一线程;以及
在所述第一路由设备上的内核,配置为:确定所述第一路由设备的配置已经改变,以及
其中,当确定所述第一路由设备的配置已经改变时,初始化的第一线程执行所述指令以根据所述第一路由设备的配置的改变来应用所述服务,
其中所述第一路由设备被配置为:
在所述第一线程处接收来自在所述第二路由设备上运行的第二线程的分组,所述第二线程执行来自所述远程服务器的指令;以及
在所述第一线程处确定所述第二线程也在参与提供所述服务。
20.一种用于在网络上提供服务的计算机实现的方法,包括:
(a)在服务器处接收来自路由器的针对能够执行的指令的请求,所述能够执行的指令指定所述路由器如何操作以提供所述网络的用户请求的服务;以及
(b)将所述指令发送给所述路由器以初始化为执行所请求的指令的线程,
其中,所述路由器确定所述路由器的配置是否已经改变,以及当确定所述路由器的配置已经改变时,在初始化的线程上执行所述指令以根据所述路由器的配置的改变来应用所述服务,
其中,所述路由器是第一路由器,所述线程是第一线程,并且所述方法还包括:
(c)在所述服务器处接收来自第二路由器的针对能够执行的指令的分组,所述能够执行的指令指定第二路由器如何操作以提供所述服务;以及
(d)将在(c)中请求的指令发送给所述第二路由器以初始化为执行在(c)中请求的指令的第二线程,
其中,所述第一线程接收来自第二线程的分组以确定所述第二线程是否也在参与提供所述服务。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/473,476 US8964596B1 (en) | 2014-08-29 | 2014-08-29 | Network service aware routers, and applications thereof |
US14/473,476 | 2014-08-29 | ||
US14/599,207 | 2015-01-16 | ||
US14/599,207 US9634894B2 (en) | 2014-08-29 | 2015-01-16 | Network service aware routers, and applications thereof |
PCT/US2015/047496 WO2016033502A1 (en) | 2014-08-29 | 2015-08-28 | Network service aware routers, and applications thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106797319A CN106797319A (zh) | 2017-05-31 |
CN106797319B true CN106797319B (zh) | 2020-09-01 |
Family
ID=55400688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580046108.7A Active CN106797319B (zh) | 2014-08-29 | 2015-08-28 | 网络服务感知路由器及其应用 |
Country Status (6)
Country | Link |
---|---|
US (4) | US9634894B2 (zh) |
EP (1) | EP3186919B1 (zh) |
JP (1) | JP2017529768A (zh) |
CN (1) | CN106797319B (zh) |
CA (1) | CA2959511C (zh) |
WO (1) | WO2016033502A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9634894B2 (en) | 2014-08-29 | 2017-04-25 | Level 3 Communications, Llc | Network service aware routers, and applications thereof |
US20170317901A1 (en) * | 2016-04-29 | 2017-11-02 | Cisco Technology, Inc. | Integrated approach to monitor gbp health and adjust policy service level |
US9785735B1 (en) | 2016-10-11 | 2017-10-10 | International Business Machines Corporation | Parallel incremental global routing |
US10977552B2 (en) | 2017-09-20 | 2021-04-13 | International Business Machines Corporation | ISA-based compression in distributed training of neural networks |
RU2702274C1 (ru) * | 2018-12-28 | 2019-10-07 | федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский политехнический университет Петра Великого" (ФГАОУ ВО "СПбПУ") | Способ генерации универсального входного сигнала для нейросетевых детекторов компьютерных вторжений в межмашинных сетях |
TWI719655B (zh) * | 2019-09-27 | 2021-02-21 | 啟碁科技股份有限公司 | 自動設定路由器的方法和路由系統 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6493341B1 (en) * | 1999-12-31 | 2002-12-10 | Ragula Systems | Combining routers to increase concurrency and redundancy in external network access |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555100A (en) * | 1993-10-07 | 1996-09-10 | Audiofax, Inc. | Facsimile store and forward system with local interface translating DTMF signals into store and forward system commands |
US5915008A (en) * | 1995-10-04 | 1999-06-22 | Bell Atlantic Network Services, Inc. | System and method for changing advanced intelligent network services from customer premises equipment |
US6765864B1 (en) | 1999-06-29 | 2004-07-20 | Cisco Technology, Inc. | Technique for providing dynamic modification of application specific policies in a feedback-based, adaptive data network |
US6904449B1 (en) * | 2000-01-14 | 2005-06-07 | Accenture Llp | System and method for an application provider framework |
JP4021841B2 (ja) * | 2003-10-29 | 2007-12-12 | 富士通株式会社 | スパニングツリープロトコルにおける制御パケット処理装置および方法 |
JP3924502B2 (ja) * | 2002-07-04 | 2007-06-06 | 富士通株式会社 | モバイル通信方法およびモバイル通信システム |
JP4276568B2 (ja) * | 2004-03-26 | 2009-06-10 | 株式会社日立コミュニケーションテクノロジー | ルータ及びsipサーバ |
US7360154B2 (en) | 2004-11-17 | 2008-04-15 | Cisco Technology, Inc. | System and method for virtual router enabled electronic documents |
US7904518B2 (en) | 2005-02-15 | 2011-03-08 | Gytheion Networks Llc | Apparatus and method for analyzing and filtering email and for providing web related services |
US7958271B2 (en) * | 2007-02-27 | 2011-06-07 | Aruba Networks Cayman | Method and system for radio frequency management in a mesh network with a path distance factor |
JP2009055327A (ja) | 2007-08-27 | 2009-03-12 | Hitachi Ltd | ネットワークシステム |
US9338083B2 (en) * | 2007-12-28 | 2016-05-10 | At&T Intellectual Property I, Lp | ECMP path tracing in an MPLS enabled network |
US10057775B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
US9954975B2 (en) * | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US8040822B2 (en) * | 2009-06-04 | 2011-10-18 | Alcatel Lucent | Configuring communication services using policy groups |
JP5482453B2 (ja) * | 2010-05-27 | 2014-05-07 | 富士通株式会社 | ルータ、情報処理装置及びプログラム |
US9025951B2 (en) | 2010-10-18 | 2015-05-05 | Calix, Inc. | Provisioning network devices in Ethernet-based access networks |
JP2015534769A (ja) | 2012-09-25 | 2015-12-03 | エイ10 ネットワークス インコーポレイテッドA10 Networks, Inc. | データネットワークにおける負荷分散 |
US10104704B2 (en) * | 2014-02-07 | 2018-10-16 | Cisco Technology, Inc. | Dynamic acceleration of prioritized mobile application traffic |
US9549385B2 (en) * | 2014-03-23 | 2017-01-17 | Avaya Inc. | Configuration of networks using client device access of remote server |
US9430663B2 (en) * | 2014-06-11 | 2016-08-30 | Live Nation Entertainment, Inc. | Dynamic filtering and precision alteration of query responses responsive to request load |
US9351182B2 (en) * | 2014-06-30 | 2016-05-24 | At&T Intellectual Property I, Lp | Method and apparatus for monitoring and adjusting multiple communication services at a venue |
US9634894B2 (en) | 2014-08-29 | 2017-04-25 | Level 3 Communications, Llc | Network service aware routers, and applications thereof |
US8964596B1 (en) | 2014-08-29 | 2015-02-24 | Level 3 Communications, Llc | Network service aware routers, and applications thereof |
EP3357189A4 (en) * | 2015-09-28 | 2019-04-24 | Evenroute, LLC | AUTOMATIC QUALITY OF SERVICE (QOS) OPTIMIZATION IN NETWORK EQUIPMENT |
-
2015
- 2015-01-16 US US14/599,207 patent/US9634894B2/en active Active
- 2015-08-28 CA CA2959511A patent/CA2959511C/en active Active
- 2015-08-28 CN CN201580046108.7A patent/CN106797319B/zh active Active
- 2015-08-28 JP JP2017510661A patent/JP2017529768A/ja active Pending
- 2015-08-28 WO PCT/US2015/047496 patent/WO2016033502A1/en active Application Filing
- 2015-08-28 EP EP15835544.6A patent/EP3186919B1/en active Active
-
2017
- 2017-04-06 US US15/481,099 patent/US9942108B2/en active Active
-
2018
- 2018-04-09 US US15/948,717 patent/US10164845B2/en active Active
- 2018-12-21 US US16/230,881 patent/US10530669B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6493341B1 (en) * | 1999-12-31 | 2002-12-10 | Ragula Systems | Combining routers to increase concurrency and redundancy in external network access |
Also Published As
Publication number | Publication date |
---|---|
US10530669B2 (en) | 2020-01-07 |
US20160065408A1 (en) | 2016-03-03 |
EP3186919A4 (en) | 2018-02-21 |
CA2959511A1 (en) | 2016-03-03 |
CN106797319A (zh) | 2017-05-31 |
US20170214586A1 (en) | 2017-07-27 |
US10164845B2 (en) | 2018-12-25 |
US9634894B2 (en) | 2017-04-25 |
WO2016033502A1 (en) | 2016-03-03 |
CA2959511C (en) | 2021-08-17 |
US20190123979A1 (en) | 2019-04-25 |
EP3186919B1 (en) | 2019-03-27 |
EP3186919A1 (en) | 2017-07-05 |
US20180227196A1 (en) | 2018-08-09 |
US9942108B2 (en) | 2018-04-10 |
JP2017529768A (ja) | 2017-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10530669B2 (en) | Network service aware routers, and applications thereof | |
US10673741B2 (en) | Control device discovery in networks having separate control and forwarding devices | |
CN114073052B (zh) | 用于基于切片的路由的系统、方法及计算机可读介质 | |
US9143439B2 (en) | System and method for cluster link aggregation control in a network environment | |
KR100680888B1 (ko) | 상태 동기를 갖는 클러스터에 대한 버츄얼 멀티캐스트라우팅 | |
CN110535760B (zh) | 聚合接口的转发检测 | |
US20150350023A1 (en) | Data center network architecture | |
EP2774329B1 (en) | Data center network architecture | |
CN110278139B (zh) | 在计算机网络内转发分组的方法、网络设备及存储介质 | |
CN116668305A (zh) | 多级网络结构的简化配置 | |
CN103825826A (zh) | 一种动态路由的实现方法和装置 | |
JP6109954B2 (ja) | 仮想シャーシシステムにおけるパススルーモードのためのシステムおよび方法 | |
CN113992569A (zh) | Sdn网络中多路径业务收敛方法、装置及存储介质 | |
US8964596B1 (en) | Network service aware routers, and applications thereof | |
US20050177572A1 (en) | Method of organising servers | |
KR101802037B1 (ko) | Sdn 환경에서 서비스 기능 체이닝을 위한 oam 메시지 전송 방법 및 시스템 | |
US9019964B2 (en) | Methods and systems for routing application traffic | |
Sharma | Programmable Ethernet Switch Networks and Their Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |