一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

抑制多路径业务流切换的制作方法

2022-09-15 00:03:06 来源:中国专利 TAG:

抑制多路径业务流切换
1.相关申请的交叉引用
2.根据35u.s.c.
§
119,本技术要求于2020年12月2日提交到美国专利商标局的第63/120,383号美国临时申请和于2021年6月1日提交到美国专利商标局的第17/335,449号美国申请的优先权,这些申请的公开内容通过整体引用并入本文中。
技术领域
3.所公开的主题涉及之间具有多于一个可用路径的多个联网计算机的设计和操作,更具体地,使得将业务流从一个路径切换到网络、其他计算机以及其他用户上的另一个路径的影响最小化。


背景技术:

4.在具有多个共享路径的网络中,当发送器将正在发送的业务流从一个路径“切换”到另一个路径时,如果新路径与其他发送器和/或接收器共享,则添加到共享路径的新业务流要竞争路径带宽和容量。如果超过总的路径带宽和容量,则由于排队延迟,导致业务流将要延迟,而且如果沿着路径的网络缓冲区被耗尽,则业务流甚至可能丢失。
5.发送器可通过从过载的路径“切换”到另一个路径,来对该新路径上增加的延迟和业务流丢失做出响应,但是这可能导致路径之间的持续振荡,从而对共享路径上的业务流以及与该业务流相关的计算机和用户造成负面影响。
6.因此,需要一种机制,一方面,该机制足够灵活地在路径之间切换以利用多路径技术,而另一方面,该机制抑制切换量和所产生的振荡,来避免上述负面影响。


技术实现要素:

7.在一个实施例中,提供一种在包括多个共享路径的网络中管理多路径业务流切换的方法,该方法包括:从多个共享路径中选择第一路径;将初始定时器设置为初始定时器值;在第一路径上发送网络业务流;基于确定第一路径的至少一个路径特性不满足要求且初始定时器尚未到期,通过使初始定时器值增大来生成更新定时器值;以及基于确定第一路径的至少一个路径特性不满足要求且初始定时器已到期,选择第二路径,在第二路径上发送网络业务流,以及将更新定时器设置为更新定时器值。
8.在一个实施例中,提供一种用于在包括多个共享路径的网络中管理多路径业务流切换的设备,该设备包括:至少一个存储器,配置成存储程序代码;以及至少一个处理器,配置成读取程序代码并根据程序代码的指令来操作,程序代码包括:选择代码,配置成使得至少一个处理器从多个共享路径中选择第一路径;设置代码,配置成使得至少一个处理器将初始定时器设置为初始定时器值;发送代码,配置成使得至少一个处理器在第一路径上发送网络业务流;第一生成代码,配置成使得至少一个处理器基于确定第一路径的至少一个路径特性不满足要求且初始定时器尚未到期,通过使初始定时器值增大来生成更新定时器值;以及第一重定向代码,配置成使得至少一个处理器基于确定第一路径的至少一个路径
特性不满足要求且初始定时器已到期,选择第二路径,在第二路径上发送网络业务流,以及将更新定时器设置为更新定时器值。
9.在一个实施例中,提供一种非暂时性计算机可读介质,非暂时性计算机可读介质存储有指令,该指令包括一个或多个指令,一个或多个指令在由用于在包括多个共享路径的网络中管理多路径业务流切换的设备的至少一个处理器执行时,使得至少一个处理器:从多个共享路径中选择第一路径;将初始定时器设置为初始定时器值;在第一路径上发送网络业务流;基于确定第一路径的至少一个路径特性不满足要求且初始定时器尚未到期,通过使初始定时器值增大来生成更新定时器值;以及基于确定第一路径的至少一个路径特性不满足要求且初始定时器已到期,选择第二路径,在第二路径上发送网络业务流,以及将更新定时器设置为更新定时器值。
附图说明
10.根据以下详细描述和附图,所公开的主题的进一步特征、性质和各种优点将更加明显,在附图中:
11.图1是根据一个实施例的通信系统的简化框图的示意图。
12.图2是根据一个实施例的具有多路径能力的联网计算机使用路径x的示意图。
13.图3是根据一个实施例的具有多路径能力的联网计算机在将业务流切换到路径y之后的示意图。
14.图4是根据一个实施例的具有多路径能力的联网计算机将业务流切换到共享路径y的示意图。
15.图5是根据一个实施例的示出用于抑制多路径业务流切换的解决方案的高级过程的示例性过程的流程图。
16.图6是根据一个实施例的用于在包括多个共享路径的网络中管理多路径业务流切换的示例性过程的流程图。
17.图7是根据一个实施例的计算机系统的示意图。
具体实施方式
18.图1示出了根据本公开的一个实施例的通信系统(100)的简化框图。系统(100)可包括通过网络(150)互连的至少两个终端(110-120)。对于单向数据传输,第一终端(110)可以在本地位置对数据进行编码,以通过网络(150)传输到另一终端(120)。第二终端(120)可从网络(150)接收另一终端的已编码数据,并对该数据进行解码。单向数据传输在媒体服务等应用中可以是较常见的。
19.图1示出了设置成支持数据的双向传输的第二终端对(130,140)。对于双向数据传输,每个终端(130,140)可对数据进行编码,以通过网络(150)传输到另一终端。每个终端(130,140)还可接收由另一终端传输的已编码数据,可对已编码数据进行解码。
20.在图1中,终端(110-140)可被示出为服务器、个人计算机和智能手机,但是本公开的原理可以不限于此。本公开的实施例还可应用于膝上型计算机、平板电脑、媒体播放器等。网络(150)表示在终端(110-140)之间传送数据的任何数量的网络,包括例如有线和/或无线通信网络。通信网络(150)可以在电路交换和/或分组交换信道中交换数据。代表性的
网络包括电信网络、局域网、广域网和/或互联网。出于本讨论的目的,除非在下文中有所解释,否则网络(150)的架构和拓扑对于本公开的操作来说可能是无关紧要的。
21.图2示出了根据实施例的具有多路径能力的网络(200)的示例。网络200可包括一个或多个发送器,例如发送器a(201),以及包括一个或多个接收器,例如接收器1(202),发送器和接收器通过两个或更多个路径例如路径x(203)和路径y(204)来连接,这些路径穿过一个或多个网络(204)。在图2中,仅绘制了一个发送器和一个接收器。
22.发送器a(201)能够在多于一个路径例如路径“a至x”(203)和路径“a至y”(204)上发送业务流,且接收器202能够从多于一个路径例如路径“x至1”(203)和路径“y至1”(204)接收业务流。
23.在一些环境中,每个可用路径(例如路径(203)和路径(204))的特性可能是不可区分的,但是在许多环境中,各种路径可具有明显不同的路径特性,此类路径特性包括可用带宽和容量、测量的往返时间或单向延迟的差异、错误率的差异、优先级以及每个路径的成本的差异。
24.这些差异可以在发送器(201)处配置、由发送器(201)测量、由接收器(202)测量且反馈给发送器(201)、或者由一些接入连接发送器和接收器的网络(205)中的一个或多个网络的第三方来测量。
25.发送器可基于大量考虑中的一个或多个考虑来选择路径,此类考虑包括使用路径作为活动路径或备用路径、针对可用的路径带宽权衡路径延迟、跨多个路径的带宽聚合、跨多个路径的负载平衡、每个路径的往返时间、在多个路径上发送相同信息以实现关键信息的冗余、以及成本最小化。
26.在图2中,发送器(201)使用被描绘为实线的“路径x”203来用于业务流,而“路径y”(204)空闲、被描绘为点划线。
27.图3示出了根据实施例的具有多路径能力的网络(300)。在图3中,发送器(301)将业务流切换到被描绘为实线的“路径y”(304)上,因此“路径x”(303)现在不活跃、被描绘为点划线。
28.图4示出了根据实施例的具有多路径能力的网络(400)。在图4中,在发送器(401)已将业务流切换到“路径y”(404)上之后,该业务流现在承载在路径(404)上,该路径(404)还由第二发送器例如发送器b(406)使用来通过路径“b至y”和“y至2”向第二接收器例如接收器2(407)发送业务流。发送器b(406)和接收器2(407)可具有可用于业务流的其他路径,但是其他路径未在图3中描绘出来。活动路径(404)可连接额外的发送器和接收器,但是其他发送器和接收器未在图4中描绘出来。
29.如果其他发送器和接收器确实具有其他可用路径,则其他发送器还可做出同样的决定将业务流切换到其他路径,且所有发送器在没有协调的情况下独立地做出这些决定。
30.由每个发送器发送的业务流会发生什么,将取决于每个发送器现在共享的路径的特性,但是如果共享的影响超过路径带宽和容量,则受影响的每个发送器可做出额外的决定将其业务流切换到不同的路径。只要新选择的路径无法给正在发送的业务流提供期望的路径特性,切换到不同路径的该过程可无限期地继续。随着每次切换到不同的共享路径,来自其他发送器的业务流被中断,可能导致业务流丢失、额外的单向延迟和增加的往返时间、以及增加的实时业务流的抖动。
31.如上文所讨论的,当发送器将正在发送的业务流从一个路径“切换”到另一个路径时,如果新路径与其他发送器和/或接收器共享,则添加到共享路径的新业务流要竞争路径带宽和容量。如果超过总的路径带宽和容量,则由于排队延迟,导致业务流将要延迟,而且如果沿着路径的网络缓冲区被耗尽,则业务流甚至可能丢失。发送器可通过从过载的路径“切换”到另一个路径,来对该新路径上增加的延迟和业务流丢失做出响应,但是这可导致路径之间的持续振荡,从而对共享路径上的业务流以及与该业务流相关的计算机和用户造成负面影响。
32.因此,实施例可提供一种机制,一方面,该机制足够灵活地在路径之间切换以利用多路径技术,而另一方面,该机制“抑制”切换量和所产生的振荡,来避免上述负面影响。
33.图5是根据一个实施例的示出用于抑制多路径业务流切换的解决方案的高级过程的示例性过程500的流程图。在图5中,发送器通过初始化t1定时器值(“t1v”)而开始(框501)。可规定t1v的初始值,或者可以从该路径上发送器和接收器之间的先前操作中记住t1v的初始值。
34.发送器选择将处于活动状态的路径(框502)。
35.发送器将t1定时器设置为初始t1v(框503)。发送器监测活动路径特性(框504)。
36.以适当的时间间隔,发送器将测量的路径特性与期望的路径特性进行比较(框505)。期望的路径特性可以是适合于将在该路径上发送的业务流的许多因素的任何组合。例如,路径特性和期望的路径特性可对应于上文针对图2至图4讨论的任何特性。
37.如果测量的路径特性提供期望的路径特性,则发送器继续监测活动路径特性(框504)。
38.如果测量的路径特性没有提供期望的路径特性,则发送器检查t1定时器是否已到期(框506)。
39.如果t1定时器尚未到期,则发送器增加t1v(框507)且继续监测路径特性(框504)。可规定t1v增加的量、可通过实验确定t1v增加的量、或者可自适应地选择t1v增加的量。在一个实施例中,每当发送器确定活动路径没有提供期望的路径特性时,使t1v加倍,则可以在重复的路径切换之间提供指数“抑制”,这使得针对该发送器/接收器对以及与该发送器/接收器对共享至少一个路径的任何其他发送器/接收器对的路径切换的中断最小化。可规定t1v的最大值,或者可允许t1v的最大值不受约束地增长。
40.如果t1定时器已到期,则发送器重新准备t1定时器,将t1定时器设置为当前t1v(框508),选择新的活动路径(框509),以及继续监测活动路径特性(框504)。
41.当活动路径“稳定”时,即发送器不会比t1定时器到期的切换更频繁地切换路径时,图5中描绘的示例不会减小t1v。在实施例中,在将t1定时器设置为t1v的当前值之后,可以在框508中减小t1v。可规定减小的量、可通过实验确定减小的量、或者可自适应地选择减小的量,但是只要框508中减小的量小于框507中增加的量,则解决方案仍然是稳定的,且将适应路径特性的改进。
42.在一些实施例中,当在发送器和接收器之间可使用任何数量的路径时,使用所公开的解决方案。“抑制”应用于一组活动路径。
43.在一些实施例中,当额外的路径变得可用或变得不可用时,使用所公开的解决方案。“抑制”应用于一组活动路径。
44.在一些实施例中,当路径特性明显改变时(例如,原因是在一个或多个正在来回移动的网络中进行重新路由,或者原因是发送器或接收器从一个网络“漫游”到另一个网络,如在现代蜂窝网络中那样),使用所公开的解决方案。因为解决方案是自适应的,所以即使当一组路径改变时,t1定时器值仍将朝向活动路径的合适值移动。
45.因此,实施例可涉及一种用于减少多路径业务流切换对在包括第一路径的多个共享路径上来回移动的业务流的影响的方法。该方法可包括:在第一路径上发送业务流;监测第一路径的第一路径特性;响应于第一路径特性不满足预定路径特性,将定时器值向上调节预定量;以及当定时器到期时且响应于第一路径特性不满足预定路径特性,从第一路径切换到第二不同的路径。
46.图6是用于在包括多个共享路径的网络中管理多路径业务流切换的示例性过程600的流程图。在一些实现方式中,图6的一个或多个过程框可以是上文讨论的任何设备和元素。
47.如图6所示,过程600可包括从多个共享路径中选择第一路径(框601)。
48.如图6进一步所示,过程600可包括将初始定时器设置为初始定时器值(框602)。在实施例中,该初始定时器值可对应于上文讨论的t1v。
49.如图6进一步所示,过程600可包括在第一路径上发送网络业务流(框603)。
50.如图6进一步所示,过程600可包括确定第一路径的路径特性是否满足要求(框604)。路径特性可以是适合于将在该路径上发送的业务流的许多因素的任何组合。例如,路径特性可对应于上文针对图2至图5讨论的任何特性,且出于与路径特性相关联的任何原因,可认为路径特性满足要求或不满足要求。
51.如图6进一步所示,基于确定第一路径的路径特性满足要求(在框604处,为是),过程600可返回到框603。
52.如图6进一步所示,基于确定第一路径的至少一个路径特性不满足要求(在框604处,为否),过程600可进行到框605。
53.如图6进一步所示,过程600可包括确定初始定时器是否已到期(框605)。
54.如图6进一步所示,基于确定初始定时器尚未到期(在框605处,为否),过程600可包括通过使初始定时器值增大来生成更新定时器值(框606),然后过程返回到框603。
55.如图6进一步所示,基于确定初始定时器已到期(在框605处,为是),过程600可包括选择第二路径,在第二路径上发送网络业务流,以及将更新定时器设置为更新定时器值(框605)。
56.在实施例中,可通过使初始定时器值增加预定量,来生成更新定时器值。
57.在实施例中,可通过使初始定时器值增加基于第一路径的至少一个路径特性自适应地确定的量,来生成更新定时器值。
58.在实施例中,生成的更新定时器值可小于或等于预定最大定时器值。
59.在实施例中,更新定时器值可包括第一更新定时器值,且更新定时器可包括第一更新定时器,以及方法可进一步包括:通过在设置更新定时器之后使第一更新定时器值减小,来生成第二更新定时器值;以及基于确定第二路径的至少一个路径特性不满足要求且第一更新定时器已到期,选择第三路径,在第三路径上发送网络业务流,以及将第二更新定时器设置为第二更新定时器值。
60.在实施例中,可基于确定多个共享路径是可用的,将初始定时器设置为初始定时器值。
61.在实施例中,可基于确定额外的路径添加到多个共享路径,将初始定时器设置为初始定时器值。
62.在实施例中,可基于检测到第一路径的至少一个路径特性的改变,将初始定时器设置为初始定时器值。
63.虽然图6示出了过程600的示例框,但是在一些实现方式中,过程600可包括额外的框、更少的框、不同的框、或与图6所描绘的那些框不同地布置的框。另外或者替选地,过程600的两个或更多个框可并行地执行。
64.此外,所提出的方法可通过处理电路(例如,一个或多个处理器或者一个或多个集成电路)来实现。在一个示例中,一个或多个处理器执行存储在非暂时性计算机可读介质中的程序以执行所提出的方法中的一个或多个方法。
65.上文描述的技术可使用计算机可读指令实现为计算机软件,且物理地存储在一个或多个计算机可读介质中。例如,图7示出了适于实现所公开的主题的某些实施例的计算机系统700。
66.可使用任何合适的机器代码或计算机语言对计算机软件进行编码,任何合适的机器代码或计算机语言可经受汇编、编译、链接或类似的机制以创建包括指令的代码,该指令可由计算机中央处理单元(cpu)、图形处理单元(gpu)等直接执行或通过解释、微代码执行等执行。
67.指令可在各种类型的计算机或其组件上执行,计算机或其组件包括例如个人计算机、平板计算机、服务器、智能手机、游戏设备、物联网设备等。
68.图7所示的计算机系统700的组件本质上是示例性的,并不旨在对实施本公开的实施例的计算机软件的使用范围或功能提出任何限制。组件的配置也不应被解释为对计算机系统700的示例性实施例中所示的组件中的任何一个组件或组件的组合有任何依赖或要求。
69.计算机系统700可包括某些人机接口输入设备。此类人机接口输入设备可响应于一个或多个人类用户通过例如下述的输入:触觉输入(例如:击键、划动、数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(例如:手势)、嗅觉输入(未描绘)。人机接口设备还可用于捕获不一定与人的意识输入直接相关的某些媒介,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描的图像、从静止图像相机获取摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
70.输入人机接口设备可包括下述中的一项或多项(每种中仅示出一个):键盘701、鼠标702、触控板703、触摸屏710和关联的图形适配器750、数据手套、操纵杆705、麦克风706、扫描仪707和相机708。
71.计算机系统700还可包括某些人机接口输出设备。此类人机接口输出设备可例如通过触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感官。此类人机接口输出设备可包括触觉输出设备(例如触摸屏710、数据手套或操纵杆705的触觉反馈,但也可以有不作为输入设备的触觉反馈设备)、音频输出设备(例如:扬声器709、耳机(未描绘))、视觉输出设备(例如包括阴极射线管(crt)屏幕、液晶显示器(lcd)屏幕、等离子屏幕、有机发
光二极管(oled)屏幕的屏幕710,每种屏幕都有或没有触摸屏输入功能,每种屏幕都有或没有触觉反馈功能-其中的一些屏幕能够通过诸如立体图像输出之类的装置、虚拟现实眼镜(未描绘)、全息显示器和烟箱(未描绘)以及打印机(未描绘)来输出二维视觉输出或超过三维的输出)。
72.计算机系统700还可包括人类可访问存储设备及其关联介质,例如,包括具有cd/dvd等介质721的cd/dvd rom/rw 720的光学介质、指状驱动器722、可拆卸硬盘驱动器或固态驱动器723、诸如磁带和软盘之类的传统磁性介质(未描绘)、诸如安全软件狗之类的基于专用rom/asic/pld的设备(未描绘)等。
73.本领域技术人员还应该理解,结合当前公开的主题使用的术语“计算机可读介质”不涵盖传输介质、载波或其他暂时性信号。
74.计算机系统700还可包括通到一个或多个通信网络(1155)的接口。网络可例如是无线网络、有线网络、光网络。网络可进一步是本地网络、广域网络、城域网络、车辆和工业网络、实时网络、延迟容忍网络等。网络的示例包括诸如以太网之类的局域网、无线lan、包括全球移动通信系统(gsm)、第三代(3g)、第四代(4g)、第五代(5g)、长期演进(lte)等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络、包括canbus的车辆和工业用网络等。某些网络通常需要连接到某些通用数据端口或外围总线(1149)的外部网络接口适配器(1154)(例如,计算机系统700的通用串行总线(usb)端口);如下所述,其他网络接口通常通过连接到系统总线而集成到计算机系统700的内核中(例如,连接到pc计算机系统中的以太网接口或连接到智能手机计算机系统中的蜂窝网络接口)。作为示例,网络755可使用网络接口754连接到外围总线749。计算机系统700可使用这些网络中的任何一个网络与其他实体通信。此类通信可以是仅单向接收的(例如,广播电视)、仅单向发送的(例如,连接到某些canbus设备的canbus)或双向的,例如,使用局域网或广域网数字网络连接到其他计算机系统。如上所述,可在那些网络和网络接口(1154)中的每一个上使用某些协议和协议栈。
75.上述人机接口设备、人机可访问的存储设备和网络接口可附接到计算机系统700的内核740。
76.内核740可包括一个或多个中央处理单元(cpu)741,图形处理单元(gpu)742,现场可编程门区域(fpga)743形式的专用可编程处理单元、用于某些任务的硬件加速器744等。这些设备以及只读存储器(rom)745、随机存取存储器(ram)746、诸如内部非用户可访问的硬盘驱动器、固态驱动器(ssd)等之类的内部大容量存储器747可通过系统总线748连接。在一些计算机系统中,可以以一个或多个物理插头的形式访问系统总线748,以能够通过附加的cpu、gpu等进行扩展。外围设备可直接连接到内核的系统总线748或通过外围总线749连接到内核的系统总线748。外围总线的体系结构包括外部组件互连(pci)、usb等。
77.cpu 741、gpu 742、fpga743和加速器744可执行某些指令,这些指令可以组合来构成上述计算机代码。该计算机代码可存储在rom 745或ram 746中。过渡数据也可存储在ram 746中,而永久数据可例如存储在内部大容量存储器747中。可通过使用高速缓存来进行到任何存储设备的快速存储及检索,该高速缓存可与下述紧密关联:一个或多个cpu 741、gpu 742、大容量存储器747、rom 745、ram 746等。
78.计算机可读介质可在其上具有用于执行各种由计算机实现的操作的计算机代码。
介质和计算机代码可以是出于本公开的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可用的类型。
79.作为非限制性示例,可由于一个或多个处理器(包括cpu、gpu、fpga、加速器等)执行包含在一种或多种有形的计算机可读介质中的软件而使得具有架构700,特别是内核740的计算机系统提供功能。此类计算机可读介质可以是与如上所述的用户可访问的大容量存储相关联的介质,以及某些非暂时性的内核740的存储器,例如内核内部大容量存储器747或rom 745。可将实施本公开的各实施例的软件存储在此类设备中并由内核740执行。根据特定需要,计算机可读介质可包括一个或多个存储设备或芯片。软件可使得内核740,特别是其中的处理器(包括cpu、gpu、fpga等)执行本文所描述的特定过程或特定过程的特定部分,包括定义存储在ram 746中的数据结构以及根据由软件定义的过程来修改此类数据结构。附加地或替代地,可由于硬连线或以其他方式体现在电路(例如,加速器744)中的逻辑而使得计算机系统提供功能,该电路可替换软件或与软件一起运行以执行本文描述的特定过程或特定过程的特定部分。在适当的情况下,提及软件的部分可包含逻辑,反之亦然。在适当的情况下,提及计算机可读介质的部分可包括存储用于执行的软件的电路(例如集成电路(ic))、体现用于执行的逻辑的电路或包括两者。本公开包括硬件和软件的任何合适的组合。
80.虽然本公开已经描述了多个示例性实施例,但是存在落入本公开的范围内的更改、置换和各种替换等效物。因此,应当理解,本领域技术人员将能够设计出许多虽然未在本文中明确示出或描述,但是体现了本公开的原理,因此落入本公开的精神和范围内的系统和方法。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献