用于电信网络中的数据流的优化路由的方法和系统与流程

文档序号:15204338发布日期:2018-08-21 06:58阅读:218来源:国知局



背景技术:

在数据联网中,动态路由是通过计及传输期间网络中的变化从源/传送方节点向目的/接收方节点发送数据(例如数据流)的方式。如果数据流在不同类型的网络(例如,私有网络、广域网(wan)或云骨干网)上发送,不同网络之间的防火墙可使得传输更为复杂。要考虑的进一步参数可能是例如使用不同协议或需要合成多个流。该挑战是在数据网络的节点中部署处理和转发单元,从而在网络上发送流时可达成最大质量成本。在实况流的情形中,在可能允许的延迟小于约50ms的情况下,网络可在不干扰传输的情况下处置断开线路甚至是更重要的。实况流例如在需要声音传输(诸如在会议或协作环境中)的应用中使用。

当前的会议或协作解决方案通常使用点对点网络或点对服务器来实现。它们中的大多数解决了一个发射机通过使用多点控制单元(mcu)来发送给许多接收机的情形。附加处理能力可能被添加到这些mcu中(例如,转码、合成、换算或调整大小),但是数据流通常通过在网络中具有固定位置的预定义的固定节点来被路由。数据流通常将在最靠近目的点的服务器处进入或退出此类系统。并且路线(以及处理)的可能优化是通过预定义的和固定的规则来获得的。这些解决方案被限定于处理多媒体数据。所谓的“内容提供商”(例如,视频点播)通常需要在不同类型的网络之间并且在大距离上路由,但是它们对与实况流一起工作没有要求。另一方面,在开始传输之前,它们可缓冲数据流达“长时间”,例如若干分钟。并且如果以后需要重新路由,这可在缓冲器时间区间内执行,而不被终端用户注意到。

美国专利us6981055b1描述了如何优化通过多个因特网路线提供商的边界网关的网络中的路由。该方法包括基于与多个替换路径相关联的性能测量来作出路由判定。重新路由是通过使用最近收到的路由表来执行的。



技术实现要素:

在本发明的一个方面中,提供了一种用于在电信网络中路由至少一个数据流的方法,诸如计算机实现的方法,该电信网络具有提供至少一个数据流的至少一个传送方节点、接收该至少一个数据流的至少一个接收方节点、以及零个或更多个处理节点、以及连接所述节点的至少一个链路,该方法包括以下步骤:

所有节点将其能力传达给数据库服务器上的系统数据库,例如所有活跃节点或所有潜在的活跃节点传达其能力,

数据库服务器接收带有用于在两个节点之间发送至少一个数据流的至少一个条件的至少一个请求,

以及对于每个请求,在接收该请求的时刻使用所有节点的能力和存储在单个源或中央数据库中的链路来计算对所述两个节点之间的至少一个路线的测量,每个路线包括至少一个传送方节点、至少一个接收方节点以及零个或更多处理节点,以及

提供指令以仅使用具有符合请求中的至少一个条件的测量的至少一个路线。

这具有流在网络上被发送、在发送(诸)流时计及网络的状态、以及还有仅在(诸)所计算的路线上发送(诸)流的优点。

该方法可包括使用至少一个启发式规则或线性编程来计算最佳路线。本发明的各实施例的优点在于,可计算最佳路线。

对于每一状态节点直接对而言,它们之间的跳可用直接链路来代替。随后,路线成本可被计算,并且如果路线成本降低并且所要求的处理能力仍要提供,则可保持直接链路。这避免了作出不必要的变化。状态节点之间的直接链路的优点在于没有其他状态节点能位于它们之间,而其它类型的节点(例如,中继节点)可位于它们之间。这意味着该步骤将从不移除处理能力,从而将始终满足请求。

在另一步骤中,对于每一状态节点直接对而言,这两个节点之间的所有链路可被移除并且考虑到所要求的处理能力,最短路径可根据dijkstra算法、bellman/ford算法、以及johnson算法之一被添加。这提供了良好的优化。

同样具有处理能力的至少一个节点可被添加或移除,其后是计算路线成本。如果路线成本降低并且所要求的处理能力仍被提供,则可保持直接链路。

根据本发明的实施例中的任一个,路线成本可以是货币成本或等待时间成本。

用目标函数来建模网络并且使用请求来定义该模型中的变量的边界条件以及随后使该目标函数最小化或最大化是有利的。当已经定义了具有约束的目标函数时,存在允许优化的若干数学技术。例如,该模型可包括针对至少一个处理类型和/或至少一个窗口的变量。例如,这些变量可以是二进制的。

如果每个变量具有指数计数器则是有利的,该指数计数器向网络中的每个特定组件给出唯一的变量。

例如,模型中的每个处理步骤可与权重变量相关联。

该模型将通过请求中提供的约束(例如,成本和/或等待时间)来限定。例如,该模型可由网络的实际性质,例如接收和传送带宽和/或编码和解码能力,来限定。

因此,目标函数可在变量约束的限定内被最小化或最大化。

例如,可使用线性编程来找到解。

请求从至少两个不同的传送方节点发送至少两个数据流也是可能的。

网络节点中的至少两个节点可使用不同的协议。例如,所计算的路线的网络节点中的至少两个节点可使用不同的协议。

为了灵活,网络、节点或两者的组合可被添加到网络中的两个事件之间或从中移除。

在本发明的实施例中,至少一个数据流可经由周界网络或藉由传输控制协议隧穿来发送。

该方法可包括请求以按经处理的格式从至少一个传送方节点向至少一个接收节点发送至少一个数据流,计算与传送方节点或接收方节点有关的处理节点的最佳位置,向最佳节点发送至少一个数据流以供处理,以及可能经由另一处理节点向至少一个接收节点发送经处理的数据流。这具有找到用于处理该请求的最佳位置的优势。

可被执行的处理的示例可能是合成、转码、定标、重封装、中继、隧穿或换算、或其任何组合。

为了能够适配用于优化数据递送的链路设置,对于至少一个所计算路线中的每一者而言,至少一个链路的设置可在沿所计算路线发送至少一个数据流之前被修改。

对于重新路由数据流而言,网络的各步骤可被提交给触发以上方法的约定的事件。

至少一个单个源或中央服务器可使用节点的所传达能力来创建每个节点和相关联的链路的经验模型。该优点在于单个源或中央服务器从监视数据中学习。

对于本发明的实施例的任一个而言,请求条件可包括等待时间、成本、计算时间、数据流的质量、帧速率、接受的损失率、数据流的优先级中的任一者或其任何组合。这具有允许可被包括在请求中的条件的数量的优点。

在另一方面中,提供一种执行以上提及的任何方法步骤的系统。

在本发明的又一方面中,提供了一种用于在电信网络中路由至少一个数据流的系统,诸如计算机实现的系统,该电信网络包括至少一个传送方节点、至少一个接收方节点和零个或更多个处理节点、以及连接所述节点的至少一个链路,进一步包括在第二网络上经由客户端连接至所有节点的至少一个单个源或中央服务器,其中对于每个时间点而言,每个节点和链路的能力被存储在单个源或中央服务器上,从而对于每个时间点而言,通过该网络的每个路线与根据属于所述路线的每个节点和链路的能力计算的测量相关联。该服务器优选地始终经由客户端与各节点通信。

这一点的优点在于每个路线在每个时间点具有特定测量。例如,测量可以是等待时间、成本、计算时间、数据流的质量、帧速率、接受的损失率、数据流的优先级中的任一者,或其任何组合。

对于每个时间点而言,对于一个测量或对于多个测量的任何组合存在最佳路线。由此,可基于一个或多个测量来找到适合的最佳路线。

例如,路线可包括周界网络或传输控制协议隧穿。这允许使用dmz或tcp隧穿的可能路线。

为了允许灵活性,至少两个网络节点可用不同协议来实现。

所计算路线可包括用不同协议实现的至少两个网络节点。这允许最终路线中的不同协议。

处理节点可设置有实现至少一个转码器、至少一个合成器(compositor)、至少一个中继、至少一个定标器、至少一个重封装功能、或其任何组合中的一些或所有功能的处理能力。另外,处理节点可被适配成执行其它功能。这些功能中的一些功能可能对于系统是未知的,例如因为他们是因应用而异的,例如人脸检测、记录、牌照识别。

预设测量可被指派给路线的至少一个链路。这具有适配链路设置以供优化数据传递的优点。

为了允许灵活的解决方案,网络中的事件发生之前的节点中的任何节点、一些节点或所有节点的能力可能与事件已经发生之后的所述能力不同,和/或网络中的事件发生之前的流的路线可能与事件已经发生之后的路线不同。

单个源或中央服务器可在不同时间点保持对节点的能力的采样。

网络可以是每个节点在至少一个虚拟机的一个或若干实例上实现的覆盖网络。

数据库服务器可包括系统数据库、nosql数据库、知识数据库、数据收集器、数据查询、应用模块和通信总线。

如上所说明的,根据本发明的一方面,每个请求可在请求时刻使用所有节点和链路的能力以计算(并优化)路线,对于新路线被请求时的情形也是如此。

本发明不仅涉及当所有节点是边界网关时(并且因此进行或多或少相同类型的工作)的情形,而且对于本发明的各实施例而言,可存在不同的处理要求,并且重新路由至另一节点必须被计算和优化。

同样根据本发明的实施例的另一方面,各节点(诸如边界网关)向数据库报告其能力。所报告的能力可包括处理能力,诸如举例而言,合成或转码。

由于根据本发明的实施例添加的处理能力,优化可能是更为复杂的,并且可处置具有有不同能力的节点的网络。

另外,这可针对具有短延迟(诸如小于800ms或小于50ms,诸如从500ms下降到30ms)的“实况流”来执行。例如,服务提供商(例如,视频点播或广播)可在高达若干分钟的缓冲余量期间执行重新路由。用户关于在数据已经被发送后立即接收该数据可能是容忍的。然而,本发明的实施例可在会议情况中使用,其中重新路由已经非常快速地发生,例如立即并且仍然满足对合成、转码、等待时间等的要求。

因此,在本发明的实施例中,针对每个数据流计算唯一路线从而数据流可被发送。该路线可在网络中存在事件时被更新。本发明的实施例允许优化所计算路线。

例如,本发明的实施例提供了用于优化(例如,通过使用线性编程,)的方法,该用于优化的方法可被使用在借此可从诸如单个源或中央服务器之类的服务器提供计算能力的路由数据流的方法中。

在本发明的实施例中,路线优化可通过在各流之间不均匀地但以它们对于每个流展现相同质量的方式划分带宽来执行。这依赖于取决于数据流并且计及针对不同类型的数据流的不同要求而分配带宽,例如相比于静态图像内容而言,更多的带宽可被分配给视频。

在本发明的另一方面中,提供了一种用于执行本发明的方法中的任一种的网络元件,诸如计算机实现的网络元件。例如,该网络元件可以是应用服务器。网络元件例如被适配成用于在电信网络中计算至少一个数据流的路由,该网络具有提供至少一个数据流的至少一个传送方节点、接收至少一个数据流的至少一个接收方节点、零个或更多个处理节点、以及连接所述节点的至少一个链路,该网络元件具有对数据库服务器的至少一个访问,

所有节点将其能力传达给数据库服务器上的系统数据库,

数据库服务器接收带有用于在两个节点之间发送至少一个数据流的至少一个条件的至少一个请求,

以及对于每个请求,该网络元件被适配成在接收该请求的时刻使用存储在单个源或中心数据库中的所有节点和链路的能力来计算对所述两个节点之间的至少一个路线的测量,每个路线包括至少一个传送方节点、至少一个接收方节点以及零个或更多个处理节点,以及

提供指令以仅使用具有符合请求中的至少一个条件的测量的至少一个路线。

该网络元件可包括一个或多个微处理器、处理器、控制器、或中央处理单元(cpu)和/或图形处理单元(gpu),以及

可被适配成执行用软件,即一个或多个计算机程序编程的功能。网络可具有存储器(诸如非瞬态计算机可读介质、ram和/或rom)、操作系统、可任选地显示器(诸如固定格式显示器)、数据输入设备(诸如键盘)、指针设备(诸如“鼠标”)、用于与其他设备通信的串行或并行端口、或连接到任何网络的网卡和连接。

该网络元件可被适配成使用至少一个启发式规则或线性编程来计算最佳路线。

对于每一状态节点直接对而言,该网络元件可用直接链路来代替它们之间的跳。随后,路线成本可被计算,并且如果路线成本降低并且所要求的处理能力仍要提供,则可保持直接链路。这避免了作出不必要的变化。

在另一步骤中,对于每一状态节点直接对而言,该网络元件可被适配成移除这两个节点之间的所有链路并且考虑到所要求的处理能力,最短路径可根据dijkstra算法、bellman/ford算法、以及johnson算法之一被添加。这提供了良好的优化。

同样具有处理能力的至少一个节点可被添加或移除,其后是计算路线成本。如果路线成本降低并且所要求的处理能力仍被提供,则可保持直接链路。

如果网络元件具有使用目标函数的网络模型并且该网络元件被适配成使用请求来定义该模型中的变量的边界条件以及随后使该目标函数最小化或最大化,则这是有利的。当已经定义了具有约束的目标函数时,存在允许优化的若干数学技术。例如,该模型可包括针对至少一个处理类型和/或至少一个窗口的变量。例如,这些变量可以是二进制的。

如果每个变量具有指数计数器则是有利的,该指数计数器向网络中的每个特定组件给出唯一的变量。

例如,由网络元件使用的模型中的每个处理步骤可与权重变量相关联。

该模型将通过请求中提供的约束(例如,成本和/或等待时间)来限定。例如,该模型可由网络的实际性质,例如接收和传送带宽和/或编码和解码容量,来限定。

因此,目标函数可在变量约束的限定内被最小化或最大化。

例如,可使用线性编程来找到解。

网络元件被适配成请求从至少两个不同的传送方节点发送至少两个数据流也是可能的。

网络节点中的至少两个节点可使用不同的协议。例如,所计算的路线的网络节点中的至少两个节点可使用不同的协议。

为了灵活,网络、节点或两者的组合可被添加到网络中的两个事件之间或从中移除。

例如,至少一个数据流可经由周界网络或藉由传输控制协议隧穿来发送。

该网络元件可被适配成包括请求以按经处理的格式从至少一个传送方节点向至少一个接收节点发送至少一个数据流,计算与传送方节点或接收方节点有关的处理节点的最佳位置,向最佳节点发送至少一个数据流以供处理,以及可能经由另一处理节点向至少一个接收节点发送经处理的数据流。这具有找到用于处理该请求的最佳位置的优势。

可被执行的处理的示例可能是合成、转码、定标、重封装、中继、隧穿或换算、或其任何组合。

为了能够适配用于优化数据递送的链路设置,对于至少一个所计算路线中的每一者而言,至少一个链路的设置可在沿所计算路线发送至少一个数据流之前被修改。

对于重新路由数据流而言,网络的各步骤可被提交给触发以上方法的约定的事件。

网络元件可使用用于传达节点能力的至少一个单个源或中央服务器来创建每个节点和相关联的链路的经验模型。该优点在于单个源或中央服务器从监视数据中学习。

在本发明的另一方面中,软件可被实现为计算机程序产品,该计算机程序产品已被编译用于服务器或网络节点中的任何一者中的处理引擎。计算机程序产品可被存储在非瞬态信号存储介质上,诸如光盘(cd-rom或dvd-rom)数字磁带、磁盘、固态存储器(诸如usb闪存)、rom等等。

附图简述

图1示出了包括经由客户端连接至应用服务器的不同网络节点的本发明的实施例。

图2示出了包括阻塞链路的防火墙的本发明的实施例。

图3示出了包括使用dmz的本发明的实施例。

图4示出了包括经由节点重新路由的本发明的实施例。

图5示出了包括用于合成的处理节点的本发明的实施例。

图6示出了包括处理节点的能力的本发明的实施例。

图7示出了包括转码的本发明的实施例。

图8示出了包括重定位高带宽需求的本发明的实施例。

图9示出了包括区分网络中的不同链路的特性的本发明的实施例。

图10示出了包括在链路故障后重新路由的本发明的实施例。

图11示出了包括描述重新路由的流程图的本发明的实施例。

图12示出了包括监视特定链路的本发明的实施例。

图13示出了包括网络中的不同节点的本发明的实施例。

图14示出了包括启发式规则的应用的本发明的实施例的流程图。

图15示出了包括线性编程的本发明的实施例的流程图。

图16示出了包括若干网络群集的本发明的实施例。

定义

在下文中,“数据流”可包括包含文本、视频、音频、元数据文件或可在网络的节点之间发送并且可被这些节点处理的任何数字化数据中的任一者、其任何组合、或其全部的数据。数据流可包括例如具有头部、或前同步码、中同步码或后同步码、误差校验数据或纠错数据的分组或帧。

“混合网络”可包括用诸如举例而言有线或无线连接的不同通信技术来通信。包括不同网络的混合网络可需要数据流从一个网络到另一个网络的转换。因此,混合网络可包括例如私有网络、广域网(wan)或云骨干网中的一者或一些或所有。

“跳”是当从源节点去往目的地节点时,分组、帧或流所采用路径的一部分。当执行该跳时,分组或流经过网络元件,诸如举例而言路由器、网关、处理节点等。节点可被配置为中继器。

诸如举例而言服务器(诸如应用服务器、数据库服务器)、路由器、网关、处理节点、中继器、编码器、解码器、转码器、加密器、和/或解密器、合成器、调制解调器、换算或调整大小设备、协议转换器、缓冲器等的“网络元件”可以是具有处理引擎(诸如,微处理器或fpga以及还有存储器)并且被解读为微控制器或包括软件的设备,该软件可被执行以创建相关功能,从而可处理数字信息。此类网络元件可具有允许这些网络元件中的每一者与该网络交互的网络接口,诸如网络卡。网络元件可包括编码在介质中的用于执行任何种类的信息处理的逻辑。逻辑可包括逻辑门或编码到盘或其它计算机可读介质中的软件和/或编码到专用集成电路(asic)、现场可编程门阵列(fpga)或其它处理器或硬件中的指令。

使用“单个源服务器”用于存储其复制可能需要同步的一些信息(如果该同步被延迟则可能导致问题)是有利的。此种单个源服务器可被实现为中央服务器。

“链路”是网络中的两个节点之间的通信信道。

“状态节点”可记住其中(例如,与用户、与应用的)交互发生的系统中的一个或多个在先事件。状态节点“直接对”在它们之间的链路中没有其它状态节点。

“客户端”指可在任何类型的计算机(例如,膝上型、台式机、平板、电话…)上运行的一段软件或者是与服务器通信并且有时可与用户交互的物理数字处理设备。它可主存一个或多个类型的节点,例如源节点、目的地节点和/或处理节点。存在各种类型的客户端-服务器方案,诸如瘦客户端、厚客户端等,它们关于客户端设备的智能和独立性的水平而不同。

“应用”是可在或服务器上,或可能主存节点的客户端上运行的计算机程序或软件。应用可通过向应用服务器提交具有关于流的信息的请求联通对它应该如何被发送和接收的要求而在两个节点之间开始流。各节点将使用该网络来向其它节点发送流。

替换地,客户端可请求被主存在另一客户端上的流。

“编解码器”和“传输协议”:参照音频/视频:存在视频编解码器(和/或音频编解码器)和传输协议的任何组合:

视频编解码器:mjpeg、h.263、h.264(=avc)、h.265(=hevc)、vp8、vp9、vmw……

音频编解码器:mp3、flac、oggvorbis、wav、aac……

传输协议:webrtc、rtp、rtsp、dash、hls、rtmp、mirrorop……

在其它数据的情况下,基于套接字的json、基于http的xml……以及许多更多组合是可用的。

缩写:

mjpeg运动jpe(jpeg:联合摄影专家组)

h.263,

h.264(=avc),avc=高级视频编码

h.265(=hevc),hevc=高效视频编码

vp8,

vp9,

vmw窗口媒体视频

mp3,mpeg层3(mpeg:电影专家组)

flac,自由无损音频编解码器

vorbis,

wav,wave

aac高级音频编码

webrtc,web实时通信

rtp,实时传输协议

rtsp,实时流传送协议

dash,基于http的动态自适应流送

hls,http实况流传送

rtmp,实时消息接发协议

mirrorop镜像+操作(针对wepresent的应用)

具体实施方式

将针对具体实施例且参考特定附图来描述本发明,但是本发明不限于此而仅由权利要求书来限定。所描述的附图只是示意性的且是非限定性的。此外,在说明书中且在权利要求中的术语第一、第二、第三等等用于在类似的元件之间进行区分,并且不一定用于描述顺序次序或时间次序。这些术语在适当情况下可互换,并且本发明的实施例可按照不同于本文中描述或解说的其他顺序操作。此外,说明书和权利要求中的术语顶部、底部、上方、下方等等用于描述性的目的并且不一定用于描述相对位置。这样使用的术语可在适当的环境中互换,并且本文中所述的本发明的实施例可以不同于本文中描述或示出的其他取向操作。权利要求中所使用的术语“包括”不应被解释为限于此后列出的装置;它不排除其他元件或步骤。它需要被解释为指定存在所声明的特征、整数、如所称谓的步骤或组件,但是不排除存在或添加一个或多个其他特征、整数、步骤或部件、或者它们的组。由此,表达“器件包括装置a和b”的范围不应限于仅仅由部件a和b组成的器件。其意指关于本发明,设备的唯一相关组件是a和b。类似地,应注意如说明书或权利要求书中所使用的术语“耦合”不应当被解释为仅限于直接连接。因此,表述“设备a耦合至设备b”的范围不应受限于设备a的输出直接连接至设备b的输入的设备或系统。它表示在a的输出与b的输入之间存在路径,该路径可以是包括其它设备或装置的路径。对软件的引用可涵盖用可由处理器直接或间接执行的任何语言的任何类型的程序。对逻辑、硬件、处理器、或电路系统的引用可涵盖任何种类的逻辑或模拟电路系统,可以集成到任何程度,且不限于通用处理器、数字信号处理器、asic、fpga、分立组件或晶体管逻辑门等。

图1示出了包括具有传送方源节点1、4个处理节点2、3、4和5以及一个接收方目的地节点6的电子数字电信网络的本发明的实施例。各节点由不同的客户端主存并且位于不同的云处。附图示出了不同的客户端(正方形)220、221、222、223和224以及至单个源或中央服务器的连接225。源节点1是由客户端220主存的本地节点,节点2由客户端222主存并位于云15处,节点3和节点4由客户端221主存并位于云16处,节点5由客户端223主存并位于云17处并且目的地节点6是由客户端224主存的本地节点。任务是建立源节点1与目的地节点6之间的链路以供发送数据。图1示出了针对如何在节点之间的连接线上完成这一点存在各种替换方案。最终选择了包括链路7、8和9的某个路线。本发明的实施例被适配成使得传输能够满足考虑到网络及其链路的当前状态的某些要求。这些要求例如可以是最大等待时间量、最小质量等级。在存在多个流的情况下,可能需要合成等。

混合网络的节点可分布在一个区域、一个国家、一个大陆或世界范围内的不同类型的网络中,诸如举例而言,私有网、广域网(wan)或骨干云。这些节点被实现为自立设备或由云提供商的物理服务器上的虚拟机的一个或若干实例来实现。针对每个虚拟机可能存在任意数量的节点。所有节点在网络11、12、13、14上并且经由可彼此分开或彼此连接的网络链路225被连接至应用服务器10。应用服务器10从每个节点连续接收关于其能力的信息,由此应用服务器10正实现在每个时间点监视混合网络的状态的功能。在一个实施例中,信息也可被不连续地且在请求时收集。例如,一个请求可以是存在周期性(例如,每小时一次或者任何偏好间隔)开始的带宽测试。在另一示例中,如果新节点被添加到网络,则请求可被启动以测试例如其网络能力和/或连接状态(例如,测试防火墙)以查看它是否可被用于在将来进行连接。

网络中可能存在事件,即影响该网络由此改变其状态的动作。例如,断开链路可出现或者信道可突然被重载从而带宽急剧降低。若有必要,单个源或中央服务器可从网络中的路径中添加或移除节点以增加效率并确保服务质量。节点的引入或移除也是事件。

数据流源自源节点,源节点还可充当传送方节点,并且在其最终目的地处由目的地节点接收,目的地节点还充当接收方节点。处理节点可与(诸)源节点或(诸)目的地节点共享物理设备,或者它可被定位成(诸)源节点与(诸)目的地节点之间的分开节点。处理节点具有向(诸)流应用各种功能的计算能力。这些可以例如是合成、转码……。另外,处理节点可被配置成执行其它功能。这些功能中的一些功能可能对于系统是未知的,例如因为他们是因应用而异的,例如人脸检测、记录、牌照识别。

(诸)处理节点还可充当传送方和接收方节点。在存在事件(例如,断开链路)的情况下,网络状态已经改变并且在可能不再有效之前计算路线。在此种情况下,网络元件(诸如应用服务器)计算可以使用或可以不使用当前主存流的处理节点作为传送方节点的新路线。用于进行与重新路由有关的计算的网络元件(诸如应用服务器)可以包括一个或多个微处理器、处理器、控制器、或中央处理单元(cpu)和/或图形处理单元(gpu),并且可以被适配成通过用软件(即,一个或多个计算机程序)编程来执行功能。网络可具有存储器(诸如非瞬态计算机可读介质、ram和/或rom)、操作系统、可任选地显示器(诸如固定格式显示器)、数据输入设备(诸如键盘)、指针设备(诸如“鼠标”)、用于与其他设备通信的串行或并行端口、或连接到任何网络的网卡和连接。

应用服务器可咨询网络上的静态和动态知识的混合以找到可接受的、良好或更好的路线,例如“正确的”路线。静态知识可例如由系统管理员输入例如以使用网关“x”用于流传送至某个公司网络内部的任何目的地。动态知识是通过从先前判定中习得被添加至系统的知识。

路线的计算可考虑请求、要发送的数据的特性和网络节点的当前能力和/或当前测得状态中的条件的任何一者、一些或所有而被优化。例如,如果链路具有每秒1g的全部能力,并且50%由其它应用使用,则当前测得的状态可能是每秒仅500m可被使用。

图2示出了包括源节点20和目的地节点21的本发明的实施例。它们之间的直接udp(用户数据报协议)链路22被网络24的边界处的防火墙23阻挡。然而,两个设备都能隧穿基于tcp的rtp,从而应用服务器可选择以在链路25上这样做,而非选择处理节点上的路由。

图3示出了根据本发明的网络的实施例,该网络具有位于网络36中的源节点30、周界网络中的目的地节点31和网关节点32、或dmz(非军事区)33。源节点30与目的地节点31之间的直接链路34被防火墙35阻挡。然而,周界网络33包括网关节点32,并且流可经由网关节点32被重新路由并且进一步经由链路39至目的地节点31。网关节点32还由防火墙37和38限定,但是它们例如可被配置成不阻挡来自该网关自己的计算机的流。替换方案是网关节点32具有至防火墙后面的网络的网络接口,以及至不在防火墙后面的网络(未示出)的网络接口。

在一个实施例中,多个流要在网络上被发送。图4a)示出了来自网络42中的节点40和41的2个流如何被请求要被发送给网络44中的节点43。直接路线将是45和46。然而,节点43可能不能在路线之一(例如,路线46)上接收流中的一者。例如,目的地节点43可能不具有处理能力(例如,举例而言,解码和/或合成,或所需的任何其它(一个或多个)功能),或者可能有线路故障或可能有防火墙存在。图4b)示出了应用服务器如何在路线48和49上将两个流重新路由至节点47。各流在节点47处被处理并且结果得到的一个流50现在可被发送给节点43。

图5示出了本发明的实施例,其包括本地站点62处的两个源节点60和61、云65中的两个源节点63和64、云65中的一个处理节点66、本地站点68处的一个处理节点67、周界网络处的一个处理节点69、或本地站点68处的dmz区70和一个目的地节点71。在一个实施例中,来自所有四个源节点60、61、63和64的流72、73、74和75应该被合成为一个流并且发送给目的地节点71。三个处理节点66、67和69使各种解决方案成为可能。一个条件可能是合成必须在其位置靠近源节点或关于源节点最佳间隔的处理节点处执行。或者最佳条件可能与例如带宽、距离、处理能力或任何其它特性有关。图5示出了最佳处理节点是66的示例,该处理节点66位于云65中。由此,流72、73、74和75被发送给处理节点66并且合成为被发送给目的地节点71的一个流76。在一般情形中,处理节点能执行例如合成、转码、定标、重封装、中继、隧穿或换算,或任何其它功能。每个节点可主存一个功能或若干功能的任何组合。

图6中示出了其中节点包括若干功能的本发明的一个实施例的示例。处理节点p包括多个处理管线81到85:管线81和82用于转码,管线83和84用于中继而管线85用于合成。转码管线81和82各自分别接收并传送一个流86和87。中继管线81和82各自分别接收流86和87,流86和87被处理并且经处理流93被传送。中继管线82接收流87,流87被处理并且经处理流82被传送给两个目的地。合成管线接收三个流,它将这三个流合成为一个流并且将该流发送给两个目的地。

在本发明的一个实施例中,传送方和接收方节点用不同的协议通信,从而有转码的需要。图7示出了其中使用基于rtp(实时协议)的h.264的节点100位于网络101中的示例。h.264是可由rtp携带的视频编码格式。有目的地节点102位于网络101以外,但直接链路103被阻挡,因为节点102运行基于webrtc(web实时通信)的vp8。vp8是可由webrtc携带的视频压缩格式。webrtc是支持浏览器以浏览通信的应用编程接口。节点104位于云105中,并且包括转码器。应用服务器(未示出)随后可决定经由链路107中的节点104将流重新路由至该节点。流被转码为基于webrtc的vp8并且现在可经由链路106被发送给目的地节点102。

图8示出了其中5个流从位于网络111中的一个节点110被发送给位于111以外的目的地112-116的实施例。这或许靠近节点s的位置产生瓶颈117。应用服务器(未示出)随后可将所有流重新路由至位于云118中的处理节点118,节点118进而将这些流中继至其目的地节点112-116。以此方式,高带宽要求可被移至网络中较不敏感的地方。

图9示出了作为混合网络的本发明的实施例,该混合网络包括源节点120、两个处理节点121和122、以及两个目的地节点123和124。一个流将从源节点120被发送给两个目的地节点123和124。不同的链路将具有不同的性质。例如,处理节点121和122之间的云骨干125通常是快速和可靠的,而例如源节点120与第一处理节点121之间的链路126可展现可变的性能。同样,处理节点122与目的地节点123和124之间的链路127和128可能比125更不可靠。通过选择针对每个链路的恰适链路设置,(诸)流的递送可被进一步优化。例如,如果流应该被发送给多个目的地,但是在不同的编解码器和分辨率中,可能在中间步骤或者跳中选择分辨率和编解码器,以使带宽和处理能力最小化(以降低成本)和/或使处理需求最小化(以降低等待时间)。在另一示例中,使用更可靠的链路,从而可选择对于差错恢复具有较少开销成本的协议。选择链路设置可纳入到整体路线计算中,因为它可能影响路线(例如,存在对在某个位置处可能可用或可能不可用的某个处理节点的需要)。

图10示出了包括源节点130、不同位置中的处理节点131-135和目的地节点136的本发明的实施例。对于某个数据流而言,应用服务器已经计算了链路137、138和139上的路线。如果链路139突然因事件140而故障,则应用服务器(未示出)被通知和触发以重新路由数据流。应用服务器收集源节点130与目的地节点136之间的所有节点的所有能力并计算新路线。该计算可从源节点130或任何其它不可替换(或“状态”)节点,或者从恰好在断开链路之前的处理节点135作出。在该示例中,选择节点131和132上的路线。本发明可管理来自源的其中可能有连续传输形式的实况流。因为一个节点可能向若干节点发出多个流,仅在故障链路上被发送的数据流将需要被重新路由,而正在正常工作链路上进行的路由可被保持不被打扰。节点中的高速缓存时间被限定为几毫秒。

规程被示为图11中的流程图。在步骤150中,至少一个流沿至少一个所计算路线流动,从网络中的至少一个源节点到至少一个目的地节点。在步骤151中,事件发生在网络中,其中至少一个链路断开。在步骤152中,事件触发应用服务器以采样每个节点的能力并且为沿具有断开链路的路线发送的至少一个流中的每一者重新计算路线。沿具有断开链路的路线发送的至少一个流中的每一者随后在其重新计算的路线上被重新路由。

可作出经验模型以预测例如针对某些输入/输出需要每种类型的能力中的多少。这可通过使用组件的摘要描述并且连续监视这些组件来实现。该“大数据”随后可被用于对这些组件进行建模。这些模型可被用于预测组件的行为并且检测异常和/或问题。例如,在某种类型的机器上,类型x的转码器针对1080p视频流消耗中央处理单元的10%。

在一个实施例中,应用服务器在每个时间点收集某些节点和链路的能力。通过考虑例如网络上的实际负载,服务器可用对网络行为的统计来构建数据库。图12显示了某个时间点处两个处理节点160和161之间的链路中的丢包记录。每个链路将其丢包百分比163-167提供给应用服务器162。实际丢包的示例可能是:163为0,1%,164为0%,165为0,2%,166为0,15%以及167为0,09%。应用服务器162随后可学习节点160与161之间的平均丢包为ca0,1%。此种记录的数据可被存储在数据库中以供预测使用。

以上描述的预测可能示出需要附加节点或者一些节点可被移除。

在一个实施例中,应用服务器可取决于当前需要添加或移除节点。图13示出了在某个时间点处网络中的路线的示例。网络具有源节点、目的地节点和处理节点。存在当前未使用的一些节点170-172。应用服务器随后可决定移除这些节点以降低成本。假设需求在稍后时间点处改变,从而附加节点是需要的,则应用服务器可将节点添加至网络。网络是包括被实现为虚拟机的中继网络,可取决于需要而添加或移除这些节点。图14中描述的计算可被用于计算预测以确定各种条件下对节点量和节点类型的需要。此类条件例如可以是在一天/一周或一年的某个时间,或者发送某种类型的数据流或某些类型的数据流的组合的请求。联通关于每个节点的处理能力的信息一起,可预测对节点量的实际需要。

对于包括源节点和目的地节点以及至少一个处理节点的网络而言,针对如何将流从源节点路由至目的地节点可能有至少两种可能方式。可能路线的数量随源节点与目的地节点之间的可用处理节点的数量而增加。网络中的每个节点和链路可与成本(例如用于使用租用网络的货币成本)相关联,或者它可以是在等待时间中测量的成本;除了这些以外的成本测量也是可能的。由此,不同的路线可与不同的成本相关联。因为每个请求伴随特定的要求(对中继、合成、转码等的需要),因此对于每个请求将有不同的可能路线以及与每个路线有关的成本。因此,找到针对该请求的使成本最小化的最佳路线是有利的。这可包括使例如货币成本、等待时间成本或针对变化次数的成本、或任何其它类型的成本、或其任何组合最小化。

该优化可通过使用“强力”恰好执行所有可能的计算来执行,然而这通常是耗时和低效的。替换地,可使用蒙特卡洛法。启发式规则可被用于限定解空间。

本发明的实施例包括根据图14中描述的以下方法来应用启发式规则。

图14示出了其中计算路线的本发明的实施例的流程图。该过程可在两个主要步骤中执行。在步骤180中,执行第一步骤,在于根据收到的请求并且将可用节点考虑在内来在源节点与目的地节点之间建立功能图。该图是用自组织办法建立的,从而所有所请求的功能都存在,但是尚未有任何优化考虑。步骤180是可在诸如800ms或者甚至50ms(例如小于800ms下降至30ms)的时间帧内执行的快速步骤。在第二步骤181中,开始优化处理。该步骤包括针对跳被移除并且用直接链路代替的每个状态节点直接对,并且如果请求仍被满足(或改善),则直接链路保持,而如果请求不被满足,则该变化返回至先前状态。步骤182是优化处理的第二部分,该第二部分包括移除两个节点之间的所有链路并根据dijkstra算法添加最短路径(参见例如“anoteontwoproblemsinconnexionwithgraphs(关于连通图中的两个问题的注记”,numerischemathematik,1959)。该步骤考虑链路具有不同的成本。步骤181和182可在较长时间帧(例如,若干分钟)中执行。该处理还可工作在多个此类时间帧中,其中在每个时间帧的结束,它提供可被接受或拒绝的中间结果。

尽管dijkstra算法是优选的,但其它算法也可以使用。bellman-for算法是计算从加权有向图中的单个源顶点到所有其它顶点的最短路径的算法。对于相同的问题,它比dijkstra算法要慢,但是更通用,因为它能够处置其中一些边缘权重为负数的图。参见例如https://en.wikipedia.org/wiki/bellman%e2%80%93ford_algorithm

由于负成本或等待时间不太有用,所以该算法可以代替dijkstra来被使用,但可能会较慢。

dijkstra算法通过使用bellman-ford算法来计算移除了所有负权重的输入图的变换来起作用,从而允许dijkstra算法被用在经变换图上。

参见例如https://en.wikipedia.org/wiki/johnson%27s_algorithm。

图15示出了本发明的另一实施例,其中步骤190是可在诸如800ms或者甚至50ms(例如小于800ms下降至30ms)的时间帧内执行的快速步骤。步骤191开始包括线性编程的优化处理。步骤191包括考虑网络中的所有节点并且使用对该网络和数据流的已知限定以及对路由的所请求的要求来建立目标函数,以定义边界条件。在步骤192中,用恰适的求解器来求解(即优化)方程。步骤191和192可在较长时间帧(例如,若干分钟)上执行。该处理还可工作在多个此类时间帧中,由此在每个时间帧的结束,提供可被接受或拒绝的中间结果。达成解决方案的时间可取决于自组织网络的复杂性、使用中的求解器工具以及可用的计算能力。

为了减少等待时间,有兴趣对限定网络的跳级数提出要求。

这里跟着当级数被限定于3时的情形的示例;每个级别可具有任意数量的节点。在该示例中,网络包括源、控制器和合成器,但是方程可被扩展至进一步类型的处理。

考虑目标函数

其中xij代表使用原始源,yijk代表让第k个合成器进行定标,而zijk代表让第k个合成器进行定标和合成。xij,yijk和zijk是二进制的。

由此,如果xij=1,xij是针对窗wij使用原始源(如接收到的)的第i个控制器,并且如果yijk=1,yijk是针对窗wij使用经定标的源的第i个控制器,并且定标由第k个合成器作出,并且如果zijk=1,zijk是针对完整布局使用第k个合成器进行定标和合成的第i个控制器。

针对(1)的边界条件是

即,仅一个合成器可执行定标,或者

即,由仅一个合成器作出完整的合成,并且

即,每个源是或原始的或经定标的或者合成的一部分,其中i=1...n,j=1...ni,n是控制器的数量,而ni是控制器i的布局中的窗数量。

wx,wy,wz是可设置“优选”以进行本地合成、定标或云合成的权重。

例如,如果wx>wy>wz,则任何控制器将偏好接收并在其自身上解码(wx为最大),如果这是不可能的,则控制器将依赖于定标(wy是第二大)并且最后选项是控制器将完全依赖于云合成(wz为最小)。

以下边界条件考虑可用带宽:

其中

bctrl是控制器的接收带宽dctrl是控制器的解码能力。

bx是接收原始源所要求的带宽by是接收经定标源所要求的带宽bz是接收一个或多个源的合成所要求的带宽。

进一步,针对编码和解码能力有边界条件:

dx,dy,dz是解码原始源、经定标源或源的合成所要求的解码能力。

bx,by,bz是带宽,如上所述。

dcomp是合成器的解码能力ecomp是合成器的编码能力btxcomp和brxcomp分别是传送和接收带宽。假设所有合成器具有相同限定。

目标是使受制于边界条件(2)到(10)的方程(1)中的m最大化。

在另一实施例中,节点可位于不同网络中。图16示出了可包括任何源或处理功能的节点200。节点200还可被连接至具有高带宽连接(例如,具有100m/s的速度)的群集201、202和203。群集201可包括源节点204和合成器节点205。群集202可包括合成器节点206、控制器节点207和源节点208。群集203可包括源节点209和合成器节点210。若需要,节点200可使用群集201、202和/或203中的资源。群集之间的带宽分别为211、212和213。这些源节点具有是slm格式,其中l是源而m是群集。合成器节点具有是ppkm格式,其中k是合成器而m是群集。控制器节点具有plim格式,其中i是合成器而m是群集。

进一步,我们有

以及

以及

此外,如果源sl位于窗wij中,则fijl=1以及如果源sl不位于窗wij中,则fijl=0。

其中如果群集m具有带宽bm,则针对传出流应该满足以下条件

以及针对传入流应该满足以下条件

slm,plim,ppkm是向模型的输入,并且可容易地被改变。fijl是通过分析每个控制器希望显示什么(所请求的布局)检索的。方程(11)和(12)对群集m以外和群集m中的通量进行建模,其中至m的链路由带宽bm来限定。将约束(11)和(12)添加至模型允许考虑网络和限定。此外,该模型可包括移动的源和控制器,因为slm和plim是可变的。群集大小是任意的,它可以是一个单个合成器或源(在(11)和/或(12)中的括号被消去的情况下)。群集定义允许对本地和远程网络上通信(诸如举例而言远程协作)进行建模。

本发明涉及具有处理能力的各种数字设备,诸如应用服务器、数据库服务器等。这些数字设备中的每一者可包括一个或多个微处理器、处理器、控制器、或中央处理单元(cpu)和/或图形处理单元(gpu),以及

可被适配成执行用软件,即一个或多个计算机程序编程的其相应功能。

这些设备中的任何、一些或全部设备可以具有存储器(诸如非瞬态计算机可读介质、ram和/或rom)、操作系统、可任选地,显示器(诸如固定格式显示器)、数据输入设备(诸如键盘)、指针设备(诸如“鼠标”)、用于与其他设备通信的串行或并行端口、用于连接到任何网络的网卡和网络连接。

软件可被包含在计算机程序产品中,该计算机程序产品被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、asic、fpga等)上执行时执行以下功能:

在电信网络中路由至少一个数据流,该电信网络具有提供至少一个数据流的至少一个传送方节点和接收至少一个数据流的至少一个接收方节点,以及零个或更多个处理节点和连接所述节点的至少一个链路。

软件可被包含在计算机程序产品中,该计算机程序产品被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、asic、fpga等)上执行时执行以下功能:

所有节点将其能力传达给数据库服务器上的系统数据库,数据库服务器接收具有用于在两个节点之间发送至少一个数据流的至少一个条件的至少一个请求,以及对于每个请求,在接收请求的时间点使用存储在中央数据库中的所有节点和链路的能力以计算针对所述两个节点之间的至少一个路线的测量,每个路线包括至少一个传送方节点、至少一个接收方节点以及零个或更多个处理节点,以及

提供指令以仅使用具有符合请求中的至少一个条件的测量的至少一个路线。

软件可被包含在计算机程序产品中,该计算机程序产品被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、asic、fpga等)上执行时执行以下功能:

使用至少一个启发式规则或线性编程来计算最佳路线。对于每个状态节点直接对而言,用直接链路代替它们之间的跳,计算路线成本,以及如果该路线成本降低并且仍然提供所要求的处理能力,则保持直接链路。

软件可被包含在计算机程序产品中,该计算机程序产品被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、asic、fpga等)上执行时执行以下功能:

对于每一状态节点直接对而言,移除这两个节点之间的所有链路并且考虑到所要求的处理能力,根据dijkstra算法、bellman/ford算法、以及johnson算法之一添加最短路径。

软件代码部分可允许或促成当在处理引擎上执行时,添加或移除具有处理能力的至少一个节点,计算路线成本,如果该路线成本降低并且仍然提供所要求的处理能力,则保持该直接链路,由此路线成本是货币成本或等待时间成本。

软件可被包含在计算机程序产品中,该计算机程序产品被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、asic、fpga等)上执行时执行以下功能:

用目标函数对网络进行建模并且使用请求以限定模型中的变量的边界条件,并且使目标函数最小化或最大化,由此该模型可包括针对至少一个处理类型和/或至少一个窗的变量。变量可以是二进制的并且每个变量可具有指数计数器,该指数计数器向网络中的每个特定组件给出唯一的变量。

软件可被包含在计算机程序产品中,该计算机程序产品被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、asic、fpga等)上执行时执行以下功能:

模型中的每个处理步骤与权重变量相关联。

该模型通过请求中提供的约束(例如,成本和/或等待时间)来限定。

该模型由网络的实际性质,例如接收和传送带宽和/或编码和解码能力,来限定。

目标函数可在变量约束的限定内被最小化或最大化,由此可通过使用线性编程来找到解。

软件可被包含在计算机程序产品中,该计算机程序产品被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、asic、fpga等)上执行时执行以下功能:

请求从至少两个不同的传送方节点发送至少两个数据流,由此网络节点中的至少两个网络节点可使用不同的协议,并且所计算的路线的网络节点中的至少两个网络节点可使用不同的协议。

软件可被包含在计算机程序产品中,该计算机程序产品被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、asic、fpga等)上执行时执行以下功能:

在网络中的两个事件之间添加或移除网络节点,或两者的组合。

经由周界网络或藉由传输控制协议隧穿来发送至少一个数据流。

请求以按经处理的格式从至少一个传送方节点向至少一个接收节点发送至少一个数据流,计算与传送方节点或接收方节点有关的处理节点的最佳位置,向最佳节点发送至少一个数据流以供处理,以及可能经由另一处理节点向至少一个接收方节点发送经处理的数据流,由此该处理可以是合成、转码、定标、重封装、中继、隧穿或换算或其任何组合。

软件可被包含在计算机程序产品中,该计算机程序产品被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、asic、fpga等)上执行时执行以下功能:

对于至少一个所计算路线中的每一者而言,在沿所计算路线发送至少一个数据流之前修改至少一个链路的设置。

至少一个单个源或中央服务器使用节点的所传达能力来创建每个节点和相关联的链路的经验模型。

请求条件包括等待时间、成本、计算时间、数据流的质量、帧速率、接受的损失率、数据流的优先级中的任一者,或其任何组合。

软件可被包含在计算机程序产品中,该计算机程序产品被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、asic、fpga等)上执行时执行以下功能:

测量包括等待时间、成本、计算时间、数据流的质量、帧速率、接受的损失率、数据流的优先级中的任一者,或其任何组合。

对于每个时间点而言,对于一个测量或对于多个测量的任何组合存在最佳路线。

预设测量被指派给路线的至少一个链路。

单个源或中央服务器在不同时间点保持对节点的能力的采样。

上述软件中的任何软件可被实现为计算机程序产品,该计算机程序产品已被编译用于服务器或网络节点中的任何一者中的处理引擎。计算机程序产品可被存储在非瞬态信号存储介质上,诸如光盘(cd-rom或dvd-rom)数字磁带、磁盘、固态存储器(诸如usb闪存)、rom等等。

权利要求书(按照条约第19条的修改)

1.一种用于在电信网络中路由至少一个数据流的方法,所述电信网络具有提供至少一个数据流的至少一个传送方节点、接收所述至少一个数据流的至少一个接收方节点,以及处理节点和连接所述节点的至少一个链路,

所述方法包括以下步骤:

所有节点将其能力传达给数据库服务器上的系统数据库,

所述数据库服务器接收带有用于在两个节点之间发送至少一个数据流的至少一个条件的至少一个请求,

以及对于每个请求,在接收所述请求的时刻使用存储在单个源或中央服务器中的所有节点和链路的能力来计算对所述两个节点之间的至少一个路线的测量,每个路线包括至少一个传送方节点、至少一个接收方节点以及一个或多个处理节点,所述请求为以按经处理的格式从所述至少一个传送方节点向所述至少一个接收节点发送至少一个数据流,计算与所述传送方节点或所述接收方节点有关的处理节点的最佳位置,向最佳节点发送所述至少一个数据流以供处理,由此所述处理可以是合成、转码、定标、重封装、中继、隧穿或换算中的任一者、或其任何组合,以及将所述经处理的数据流发送给所述至少一个接收方节点,以及

提供指令以仅使用具有符合所述请求中的至少一个条件的测量的至少一个路线。

2.如权利要求1所述的方法,其特征在于,包括使用至少一个启发式规则或线性编程来计算最佳路线。

3.如权利要求2所述的方法,其特征在于,对于每个状态节点直接对而言,用直接链路代替它们之间的跳,计算路线成本,以及如果所述路线成本降低并且所要求的处理能力仍然被提供,则保持所述直接链路。

4.如权利要求2所述的方法,其特征在于,包括对于每一状态节点直接对而言,移除这两个节点之间的所有链路并且考虑到所要求的处理能力,根据dijkstra算法、bellman/ford算法、以及johnson算法之一添加最短路径。

5.如权利要求1到4中任一项所述的方法,其特征在于,包括添加或移除具有处理能力的至少一个节点,计算路线成本以及如果所述路线成本降低并且所要求的处理能力仍然被提供,则保持所述直接链路。

6.如权利要求3到5中任一项所述的方法,其特征在于,所述路线成本是货币成本或等待时间成本。

7.如权利要求2到6中任一项所述的方法,其特征在于,包括用目标函数来对所述网络进行建模,并且使用所述请求以定义所述模型中的变量的边界条件,以及使所述目标函数最小化或最大化。

8.如权利要求7所述的方法,其特征在于,所述模型包括针对至少一个处理类型和/或至少一个窗的变量。

9.如权利要求7或8中任一项所述的方法,其特征在于,所述变量是二进制的。

10.如权利要求7到9中任一项所述的方法,其特征在于,每个变量具有指数计数器,所述指数计数器向所述网络中的每个特定组件给出唯一变量。

11.如权利要求7到10中任一项所述的方法,其特征在于,所述模型中的每个处理步骤与权重变量相关联。

12.如权利要求7到11中任一项所述的方法,其特征在于,所述模型由所述请求中提供的约束,例如成本和/或等待时间,来限定。

13.如权利要求7到12中任一项所述的方法,其特征在于,所述模型由所述网络的实际性质,例如接收和传送带宽和/或编码和解码能力,来限定。

14.根据权利要求7到13中任一项所述的方法,其特征在于,所述目标函数在变量约束的限定内被最小化或最大化。

15.如权利要求7到14中任一项所述的方法,其特征在于,通过使用线性编程来找到解。

16.如前述权利要求中任一项所述的方法,其特征在于,包括请求以从至少两个不同的传送方节点发送至少两个数据流。

17.如前述权利要求中任一项所述的方法,其特征在于,包括所述网络节点中的至少两个网络节点使用不同的协议。

18.如前述权利要求中任一项所述的方法,其特征在于,包括所计算路线的所述网络节点中的至少两个网络节点使用不同的协议。

19.如前述权利要求中任一项所述的方法,其特征在于,包括在所述网络中的两个事件之间添加或移除网络节点,或两者的组合。

20.如前述权利要求中任一项所述的方法,其特征在于,包括经由周界网络或藉由传输控制协议隧穿来发送至少一个数据流。

21.如前述权利要求中任一项所述的方法,其特征在于,包括向至少一个接收节点发送经处理的数据流,或者经由另一处理节点向所述至少一个接收节点发送经处理的数据流。

22.如前述权利要求中任一项所述的方法,其特征在于,包括对于至少一个所计算路线中的每一者而言,在沿所述所计算路线发送所述至少一个数据流之前修改所述至少一个链路的设置。

23.如前述权利要求中任一项所述的方法,其特征在于,包括至少一个单个源或中央服务器使用节点的所传达能力来创建每个节点和相关联的链路的经验模型。

24.如前述权利要求中任一项所述的方法,其特征在于,所述请求条件包括等待时间、成本、计算时间、数据流的质量、帧速率、接受的损失率、数据流的优先级中的任一者或其任何组合。

25.一种包括重新路由数据流的方法,包括网络的步骤被提交到触发如权利要求1或权利要求2到25中任一项所述的方法的约定的事件。

26.一种用于在电信网络中路由至少一个数据流的系统,所述电信网络包括至少一个传送方节点、至少一个接收方节点和处理节点、以及连接所述节点的至少一个链路,进一步包括在第二网络上经由客户端连接至所有节点的至少一个单个源或中央服务器,其中对于每个时间点而言,每个节点和链路的能力被存储在所述单个源或中央服务器上,从而对于每个时间点而言,通过所述网络的每个路线与根据属于所述路线的每个节点和链路的所述能力计算的测量相关联,所述系统被适配成接收请求以在用于发送所述至少一个数据流的至少一个条件下按经处理的格式从所述至少一个传送方节点向所述至少一个接收节点发送至少一个数据流,计算与所述传送方节点或所述接收方节点有关的处理节点的最佳位置,向最佳节点发送所述至少一个数据流以供处理,由此所述处理可以是合成、转码、定标、重封装、中继、隧穿或换算中的任一者、或其任何组合,以及提供指令以仅使用具有符合所述请求中的所述至少一个条件的测量的所述至少一个路线。

27.如权利要求26所述的系统,其特征在于,测量包括等待时间、成本、计算时间、数据流的质量、帧速率、接受的损失率、数据流的优先级中的任一者,或其任何组合。

28.如权利要求26到27中任一项所述的系统,其特征在于,对于每个时间点而言,对于一个测量或对于多个测量的任何组合存在最佳路线。

29.如权利要求26到28中任一项所述的系统,其特征在于,路线包括周界网络或传输控制协议隧穿。

30.如权利要求26到29中任一项所述的系统,其特征在于,至少两个网络节点用不同的协议来实现。

31.如权利要求26到30中任一项所述的系统,其特征在于,所计算路线包括用不同的协议来实现的至少两个网络节点。

32.如权利要求26到31中任一项所述的系统,其特征在于,处理节点包括至少一个转码器、至少一个合成器、至少一个中继、至少一个定标器、至少一个重封装功能中的任一者或其任何组合。

33.如权利要求26到32中任一项所述的系统,其特征在于,预设测量被指派给路线的至少一个链路。

34.如权利要求26到33中任一项所述的系统,其特征在于,所述网络中的事件发生之前所有节点的所述能力与所述事件发生之后的所述能力不同。

35.如权利要求26到34中任一项所述的系统,其特征在于,所述网络中的事件发生之前流的所述路线与所述事件发生之后的所述路线不同。

36.如权利要求26到35中任一项所述的系统,其特征在于,所述单个源或中央服务器在不同时间点保持对节点的能力的采样。

37.如权利要求26到36中任一项所述的系统,其特征在于,所述网络是每个节点被实现在至少一个虚拟机的一个或若干实例上的覆盖网络。

38.如权利要求26到37中任一项所述的系统,其特征在于,所述数据库服务器包括系统数据库、nosql数据库、知识数据库、数据收集器、数据查询、应用模块和通信总线。

39.一种适配成执行如权利要求1到25的方法中的任一者的系统。

40.一种适配成用于在电信网络中计算至少一个数据流的路线的网络元件,所述电信网络具有提供所述至少一个数据流的至少一个传送方节点、接收所述至少一个数据流的至少一个接收方节点和处理节点、以及连接所述节点的至少一个链路,所有节点将其能力传达给数据库服务器上的系统数据流,所述数据库服务器接收具有用于在两个节点之间发送至少一个数据流的至少一个条件的至少一个请求,并且对于每个请求而言,其中所述网络元件被适配成在接收所述请求的时刻,使用存储在单个源或中央服务器中的所有节点和链路的所述能力以计算对所述两个节点之间的至少一个路线的测量,每个路线包括至少一个传送方节点、至少一个接收方节点以及处理节点,以接收请求以在用于发送所述至少一个数据流的至少一个条件下按经处理的格式从所述至少一个传送方节点向所述至少一个接收节点发送至少一个数据流,计算与所述传送方节点或所述接收方节点有关的处理节点的最佳位置,向最佳节点发送所述至少一个数据流以供处理,由此所述处理可以是合成、转码、定标、重封装、中继、隧穿或换算中的任一者、或其任何组合,以及向所述至少一个接收方节点发送经处理的数据流,以及提供指令以仅使用具有符合所述请求中的所述至少一个条件的测量的所述至少一个路线。

41.一种计算机程序产品,当在处理引擎上执行时所述计算机程序产品执行权利要求1至25所述的方法中的任一种。

42.一种非瞬态信号存储介质,所述非瞬态信号存储介质存储权利要求41所述的计算机程序产品。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1