调度消息处理的方法和设备的制作方法

文档序号:7741596阅读:207来源:国知局
专利名称:调度消息处理的方法和设备的制作方法
技术领域
本发明与通信领域有关,具体地说,与调度消息去处理的方法和设备有关。
背景技术
对数据通信的日益增长的需求促进了技术的发展,提供更为有效的和高效率的措施利用通信网络处理更多的信息和各种新型的信息。一种这样的技术是将可以是语音或数据通信的信息分成一些分组。一个分组通常是一组至少包括数据和控制信息的二进制数字。综合分组网(通常为快速分组网)通常用来承载至少两类业务,例如可以包括连续比特率(“CBR”)、语音(“分组语音”)、数据(“成帧数据”)、图像等。分组网的源、宿和/或转发协议分组。
这些网络内的拥塞和服务质量(“QoS”)问题还没有得到令人满意的解决,成为需解决的突出问题。虽然消息调度有助于缓解这些问题,但是要高效率地调度数以千计的实体(事例)进行工作并不是一件简单的事情。目前,大多数的消息调度都是基于将分组以先进先出(“FIFO”)队列排队发送到快速分组网节点间干线上这种最简单的技术。然而,FIFO排队技术没有考虑到QoS参数。这种技术也可以允许数字化语音分组和成帧数据分组的一些过载周期,这导致以其他为代价提供更大的带宽共享,一个并不合乎需要的结果。
另一种技术为队列优先级(head-of-line-priority,“HOLP”),可以给数据比语音高的优先级,但是并没有解决数据和语音队列相互影响QoS的问题,也没有解决影响CBR数据快速分组在大业务量状况下的QoS的问题。在HOLP中,给语音快速分组高的优先级,因此语音快速分组可以影响优先级较低的队列的QoS。同样,只是为数据设计的排队方案没有解决将诸如语音和CBR数据之类的其他类型业务综合在一起的问题。
大多数当前的调度消息的技术取决于消息是按FIFO次序还是按优先次序存储。当前的一些消息队列不够灵活,因为它们没有考虑任何当前运行状况或过去的历史运行状况。此外,当前的功能通常取决于单个中央处理单元(“CPU”)和存储器。
因此,有必要开发一种部分根据当前和历史运行状况调度消息的方法和设备。还有必要开发一种在为所有类型的消息维护QoS的同时减少拥塞的方法和设备。
发明概要本发明提供了一种部分根据当前和历史运行状况调度消息的方法和设备。本发明还提供了一种在为所有消息类型维护QoS的同时减少拥塞的方法和设备。本发明适用于新消息类型、多媒体应用和多业务应用。本发明能灵活地适合各种各样的配置和环境,改善VoIP呼叫的QoS。此外,本发明通过它的多个工作模式自我适应于业务量/拥塞级别。此外,这些模式的切换点可以动态调整。
在这里说明的典型实施例提供了一种调度机构或调度器,用来接收消息和部分根据与这些消息关联的各种准则将这些消息存储在一个第一队列和一个第二队列内。这些准则包括消息属性,诸如消息优先级、虚拟专用网络(“VPN”)分类和目的地软件功能。第一队列可以是一个先进先出队列,而第二队列可以是一个多维队列。调度器然后部分根据诸如历史运行数据、当前运行数据和抗不足(anti-starvation)准则之类的各种运行准则调度排队的消息去处理。此外,调度器可以编程成以各种工作模式进行工作。
在一个第一实施例中,本发明提供了一种调度消息的设备,这种设备包括两个队列和一个与这两个队列通信耦合的调度器。调度器具有至少两个工作模式。第一工作模式包括接收消息,根据先进先出次序将每个消息存储在第一队列内,以及根据先进先出次序从第一队列内调度每个排队的消息。第二工作模式包括接收消息,根据一个或多个消息属性将每个消息存储在第二队列内,以及根据操作准则从第二队列内调度每个排队的消息。调度器在第一工作模式工作直到排在第一队列内的消息的数量超过一个预定值和第二队列出空,然后再切换模式。第一工作模式也可以由低消息业务量状况触发。同样,第二工作模式可以由高消息业务量状况触发。可以添加一些额外的队列和工作模式,以扩展本发明的灵活性。
在本发明的第二实施例中,调度器包括一个第三工作模式。调度器在排在第一队列内的消息的数量等于或超过一个预定值时切换到第三工作模式。此时,调度器停止将消息存储在第一队列内,开始将消息存储在第二队列内。然而,调度器继续从第一队列内取出消息去处理直到第一队列出空。第一队列一出空,调度器就返回到在第二工作模式工作。
本发明的另一个实施例包括一个第四工作模式,在这个工作模式,调度器将消息存储在第一队列内而从第二队列内取出消息。调度器在排在第二队列内的消息的数量等于或小于一个预定值时切换到第四工作模式。第四工作模式一直继续到第二队列出空。然后,调度器返回第一工作模式。
本发明还提供了一种调度一个或多个消息的方法,这种方法包括接收一个或多个消息,以及在一个第一工作模式期间选择第一队列用于输入和输出而在一个第二工作模式期间选择一个第二队列用于输入和输出。每当选择第一队列用于输入时根据先进先出次序将每个消息存储在第一队列内,而每当选择第二队列用于输入时根据一个或多个消息属性将每个消息存储在第二队列内。每当选择第一队列用于输出时根据先进先出次序从第一队列内调度每个排队的消息,而每当选择第二队列用于输出时根据一个或多个操作准则从第二队列内调度每个排队的消息。
此外,本发明提供了一种通信交换机,这种通信交换机包括一个或多个入口卡、一个或多个信号处理卡、一个或多个控制卡、一个或多个出口卡、一个交换结构、一个TDM总线、一个调度器及一个第一队列和一个第二队列。每个信号处理卡含有一系列数字信号处理器,而每个控制卡含有一个或多个处理器。交换结构将入口卡、信号处理卡、控制卡和出口卡通信耦合在一起。TDM总线将入口卡、信号处理卡、控制卡和出口卡通信耦合在一起。调度器与每个处理器通信耦合,而且具有至少一个第一工作模式和一个第二工作模式。第一和第二队列与调度器通信耦合。第一工作模式包括的步骤有接收一个或多个消息、根据先进先出次序将每个消息存储在第一队列内和根据先进先出次序从第一队列内调度每个排队的消息。第二工作模式包括的步骤有接收一个或多个消息、根据一个或多个消息属性将每个消息存储在第二队列内和根据一个或多个操作准则从第二队列内调度每个排队的消息。


本发明的以上这些和其他一些优点从以下结合附图所作的说明中可以看得更加清楚,在这些附图中图1为按照现有技术设计的一个典型的综合网络的方框图;图2为例示按照现有技术设计的一个消息调度系统的原理图;图3为例示按照现有技术设计的另一个消息调度系统的原理图;图4为按照本发明设计的一个分组网交换机的示意图;图5为例示按照本发明设计的一个分组操作系统的原理图;图6为例示按照本发明设计的一个消息调度系统的原理图;图7为例示按照本发明的一个实施例设计的将消息存入队列的方法的流程图;以及图8为例示按照本发明的一个实施例设计的从队列内调度或取出排队的消息去处理的方法的流程图。
发明详细说明虽然以下详细说明了本发明的各个实施例的构成和使用,但可以理解,本发明提供了许多可用的创造性构思,可以在各式各样的具体环境内实现。在这里所讨论的这些具体实施例只是例示性地说明构成和使用本发明的具体方式,并不限定本发明的范围。在这里的讨论与通信系统有关,具体地说,与在通信交换机内处理消息有关。可以理解,虽然在这里是就通信环境进行说明的,但本发明的构思可应用于其他环境,诸如通用数据处理之类。
本发明适用于新消息类型、多媒体应用和多业务应用。本发明能灵活地适合各种各样的配置和环境,改善VoIP呼叫的QoS。此外,本发明通过它的多个工作模式自我适应于业务量/拥塞级别。此外,这些模式切换点可以动态调整。
在这里说明的典型实施例提供了一种接收消息和部分根据与这些消息关联的各种准则将这些消息存储在一个第一队列内和一个第二队列内的调度机构或调度器。这些准则包括消息属性,诸如消息优先级、虚拟专用网络(“VPN”)分类和目的地软件功能。第一队列可以是一个先进先出队列,而第二队列可以是一个多维队列。然后,调度器部分根据诸如历史运行数据、当前运行数据和抗不足准则之类的操作准则调度排队的消息去处理。此外,调度器可以编程成以各种工作模式进行工作。
下面就图1-3对现有技术的典型网络(图1)和各种消息调度系统(图2和3)进行简要的说明,图1示出了一个典型的综合网络100,电话机102和传真机104可通信地连接到公共交换电话网(“PSTN”)106上。交换机108可通信地连接到PSTN 106和互联网协议(“IP”)网络110上,将基于时分复用(“TDM”)的通信112转换成基于IP的通信114。交换机108产生含有必要的目的地信息的IP分组,使得这些分组114可以正确地传送到它们各自的目的地,目的地可以是通信耦合到IP网络110上的计算机116或其他设备。网络控制器118通信耦合到PSTN 106和交换机108上,为交换机108提供对基于TDM通信112进行恰当处理的控制信号。网络控制器118还可以通信耦合到IP网络110上。网络控制器118可以起一个媒体网关控制器(“MGC”)的作用。MGC协议是少数与较早的H.323标准竞争所提出的控制和信号标准之一,用于将在诸如PSTN106之类的电话电路上承载的音频信号变换成在诸如IP网络110之类的互联网或其他分组网上承载的数据分组。如本领域技术人员可看到的那样,这个例子并不局限于将基于TDM的通信转换成基于IP的通信,本发明可以应用于任何将多路复用通信转换成基于分组的通信。
IP规定了分组(也称为数据报)的格式和寻址方案。大多数网络将IP与一个称为传送控制协议(“TCP”)的高层协议结合在一起,在目的地和数据源之间建立虚拟连接。IP允许一个封装好的信息包编址后放入一个系统,但是在发送方与接收方之间没有直接链接。另一方面,TCP/IP在两个主机之间建立连接,使它们可以在一段时间内来回发送消息。IP网络110通过交换机108最终使电话机102和/或传真机104可以接收和发送消息。PC 116通过IP网络110接收和发送格式与分组兼容的消息。IP语音(“VoIP”)是通过诸如IP网络110之类的基于IP的数据网络进行电话呼叫和发送传真的能力。综合语音/数据网100允许进一步进行标准化和降低总的设备需求。VoIP可以支持多媒体和多业务应用。
图2和3为例示两个现有技术的消息调度系统200和300的原理图。在图2中,消息202被接收后存储在先进先出(“FIFO”)队列204内。消息202然后按它们的接收次序发送给处理器206。对于队列204除了到达时间之外没有应用其他的处理优先。在图3中,消息302进入数据类型分类器304,其中按数据类型来分离消息302。每个数据类型分别配有一个FIFO队列306a、306b...306n。数据类型分类器304基于匹配数据类型将消息302分发给FIFO队列306a、306b...306n。然后,调度器308从FIFO队列306a、306b...306n取出消息302发送给处理器310。主要的优先还是根据队列306a、306b...306n中的到达时间。调度器308只是协调取出消息302去处理。
下面来看本发明,将结合图4对分组网交换机400进行说明。分组网交换机400可用来处理VoIP、帧中继语音(“VoFR”)及其他类型的呼叫。此外,分组网交换机400与异步传送模式(“ATM”)交换机类似。ATM是一种面向连接的技术,用于局域网(“LAN”)和广域网(“WAN”)环境。这是一种快速分组交换技术,允许自由地为每个信道分配容量。分组网交换机400包括一个或多个入口卡402a和402b、一个或多个信号处理卡404、一个或多个控制卡406、一个或多个出口卡408a和408b、一个交换结构410和一个TDM总线412。每个信号处理卡404含有一系列数字信号处理器(“DSP”)(未示出),而每个控制卡406含有一个或多个处理器(未示出)。交换结构410将入口卡402、信号处理卡404、控制卡406和出口卡408通信耦合在一起。TDM总线412同样也将入口卡402、信号处理卡404、控制卡406和出口卡408通信耦合在一起。可取的是,卡402、404、406和408可以以任何次序插在分组网交换机400内。此外,分组网交换机400应该有足够数量的冗余卡作为卡402、404、406和408的备份,以便在这些卡有故障时使用。
分组网交换机400的主要功能是将用户数据信元从输入端口中继到适当的输出端口。在一个呼叫或通信需由分组网交换机400处理时,网络控制器118(图1)为控制卡408提供必要的呼叫建立信息。控制卡408用这个呼叫建立信息指派入口卡402a或402b内的一个端口从PSTN106(图1)接收呼叫、指派处理卡404内的一个DSP处理呼叫和指派出口卡408a或408b内的一个端口将呼叫发送给IP网110(图1)。基于TDM的通信或消息112通过入口卡402a或402b进入,通过TDM总线412传送给适当的处理卡404。处理卡404内的这些DSP将消息在模拟与数字信息格式之间进行转换,提供数字压缩和交换功能。在一个实施例中,每个处理卡404能处理1024个同时的对话。然后,处理卡404将这些消息从DSP发送给信元交换结构410。信元交换结构410主要负责在各交换单元之间对消息或数据信元(基本传输单元)进行路由选择和传送。交换结构410还可以提供信元缓存、通信量集中和多路复用、容错冗余、组播或广播,以及根据对延迟优先级和拥塞的监视进行信元调度。交换结构410最终将消息传送给出口卡408a或408b。在一个实施例中,每个出口卡408都能处理至少8000个呼叫。出口卡408a和408b在典型情况下将消息发送给一个十亿比特的以太网(未示出)。正如它的名称所标示的那样,十亿比特的以太网支持每秒十亿比特(1,000兆比特)的数据率。
现在来看图5,所示为例示一个具有冗余控制卡502a和502b的分组操作系统500的原理图。控制卡502a和502b安装在单个诸如交换机400(图4)之类的机架内。消息504通过控制卡502a上的接口506进入分组操作系统500。消息504从接口506传播到协议栈508,然后到外围部件互连(“PCI”)总线510。PCI总线510将消息504发送给输入/输出(“I/O”)卡512或DSP卡514。控制卡502b镜像反映控制卡502a的一部分或所有数据。分组操作系统500的控制卡502a和502b各有自己的存储器,因此避免了与共享存储器关联的典型问题,诸如递归调用和具有同步和污染问题。
图6为例示按照本发明设计的消息调度系统600的原理图。本发明的调度系统600包括一个调度器602,它与第一队列604和第二队列606通信耦合。第一队列604可以是一个先进先出(“FIFO”)队列。因此,调度器602将消息按它们的接收次序存入第一队列604(线610)。类似,调度器602按存入第一队列604的次序从第一队列604内取出或调度排队的消息(线612)。第二队列606可以是一个多维队列,可以表示为队列的“集合”,沿X轴和Y轴的第一正方形(诸如正方形606A)表示一个队列的头。注意,第二队列606并不局限于如图6中所示的三维队列。根据一个或多个消息属性指定第二队列606内的各个队列接收消息。这一个或多个消息属性可以包括消息优先级、虚拟专用网(“VPN”)分类、目的地软件功能、其他可区别消息的属性,或者这些属性的组合。消息优先级可以基于QoS参数或者诸如数据、传真、图像、多媒体、语音之类的消息类型。VPN分类可以是各个VPN或VPN组。例如,第二队列606的一种可能的配置可以是在X方向基于VPN分类、在Y方向基于消息优先级而在Z方向基于FIFO。
调度器602用一种根据消息608的一个或多个属性数据驱动的、可以偏重于其中一个属性的调度算法将消息608存入第二队列606。例如,调度算法可以偏重于优先级较高的消息。然而,调度算法将仍然平衡VPN。此外,根据处理实体(功能)来处理消息608也是有效率的,相同类型的功能将要求相同类型的处理。信号灯或计数器可以驱动任务分派。
调度器602根据一个或多个操作准则618来从第二队列606内取出或调度排队的消息,所述操作准则可以是诸如历史运行数据、当前运行数据、一个或多个抗不足准则、一个或多个如上所述的消息属性、或者其组合。例如,处理器620可以将大量的处理花在具有高优先级的消息602上。因此,调度算法可以驱动调度器602开始从第二队列606中选择具有较低的优先级但具有一个共同的VPN或处理实体(功能)的消息(线616)。一旦调度器602无论是从第一队列604内还是从第二队列606内取出或调度一个排队的消息,调度器602都将这个消息发送给处理器620。
或者,也可以有多个具有诸如下面的一个抢先表的分配器

目的地实体从这个抢先表或消息路由选择表中查出。如果目的地实体是远地的,如DST 2,就将消息传送给消息系统,以传送给适当的节点,诸如节点Y,而不涉及本地分配器。然而,如果目的地是本地,诸如DST 1或DST 3,或者如果消息系统为一个本地的实体传送一个接收到的消息,则消息路由选择表将指出哪个本地分配器的队列应处理这个消息。系统可以设计成例如排在DST 3的队列DispQueue #2内的消息优先于排在DST 1的队列DispQueue #1内的消息。因此,由一个优先级较低的分配器执行的对消息的处理将立刻被抢先,直到优先级最高的分配器没有留下消息要处理,此时在优先级处在其次的、有消息剩下要处理的分配器内再继续进行处理。
调度器602具有至少两个工作模式。第一工作模式包括接收消息608,根据先进先出次序将每个消息存储在第一队列604内(如箭头610所示),以及根据先进先出次序从第一队列604内取出或调度每个排队的消息(如箭头612所示)。第一工作模式配置成在消息业务量低的状态期间迅速处理消息608。第二工作模式包括接收消息608,根据一个或多个消息属性将每个消息存储在第二队列606内(如箭头614所示),以及根据一个或多个操作准则从第二队列606内取出或调度每个排队的消息(如箭头616所示)。第二工作模式配置成在消息业务量高的状态期间高效地处理消息608,减少拥塞,同时维护所有消息类型的QoS。
调度器602在消息业务量低的状态期间工作在第一工作模式,这个状态可以由接收和处理消息608的速率确定,或者简单一些就由第一队列604内的消息数量是否超过一个第一预定值来确定;然后它切换模式。这个第一预定值可以是消息的固定数量,也可以是一个基于接收和处理消息608的速率或者基于其他工作参数的可变数量。如本领域技术人员可以看到的那样,本发明可以配置成利用两个以上的队列、以许多其他适合特定的处理目标、应用或业务量状况的工作模式进行工作。
例如,本发明的调度器602可以包括一个第三工作模式和一个第四工作模式,用作在调度器602从第一工作模式向第二工作模式和从第二工作模式向第一工作模式切换时的过渡工作模式。调度器602可以在第一队列604内的消息的数量等于或超过一个第一预定值或者某个其他触发点时切换到第三工作模式。此时,调度器602停止将消息存储在第一队列604内(如线610所示),而开始根据每个消息的一个或多个属性将消息存储在第二队列606内(如线614所示)。然而,调度器602继续从第一队列604内取出或调度排队的消息(如线612所示)去处理,直至第一队列604出空。第一队列604一出空,调度器602就工作在第二工作模式,根据一个或多个操作准则从第二队列606内取出或调度排队的消息(如线616所示)去处理。在第四工作模式期间,调度器602将消息存储在第一队列604内,而根据一个或多个操作准则从第二队列606内取出或调度排队的消息。调度器602在第二队列606内的消息的数量等于或小于一个第二预定值或到达某个其他的触发点时切换到第四工作模式。第二预定值可以是消息的固定数量,也可以是一个基于接收和处理消息608的速率或者基于其他工作参数的可变数量。第四工作模式一直继续到第二队列606出空。然后,调度器602返回第一工作模式,从第一队列604内取出或调度排队的消息(如线612所示)去处理。调度器602的这些工作模式可以归纳如下工作模式消息存入消息取自第一第一队列第一队列第二第二队列第二队列第三第二队列第一队列第四第一队列第二队列现在来看图7,所示为例示按照本发明的一个实施例设计的将消息存入队列700的方法的流程图,下面对这个流程图的说明还将结合图6进行。方法700建立在一个低消息业务量模式(第一工作模式)、一个高消息业务量模式(第二工作模式)和两个过渡模式(第三和第四工作模式)的基础上。方法700开始于方框702,调度器602用所希望的操作参数初始化,一开始设置在第一工作模式。在方框704,调度器602接收下一个消息608。如果调度器602工作在第一工作模式,如在判决方框706所确定的那样,而且处在低消息业务量状态下,如在判决方框708所确定的那样,就在方框710,调度器602将消息608存储在第一队列604内,如线610所示。调度器602然后返回方框704,接收下一个消息608。然而,如果调度器602工作在第一工作模式,如在判决方框706所确定的那样,而不是处在低消息业务量状态下,如在判决方框708所确定的那样,就在方框712,将调度器602设置到第三工作模式,在方框714,根据消息608的一个或多个属性确定在哪里将消息608存储在第二队列606中。然后,在方框716,调度器602将消息608存储在第二队列606内,也如线614所示。调度器602然后返回方框704,接收下一个消息608。
然而,如果调度器602不工作在第一工作模式,如在判决方框706所确定的那样,而是工作在第三工作模式,如在判决方框718所确定的那样,就在方框714,调度器602根据消息608的一个或多个属性确定将消息608存储在第二队列606中。然后,在方框716,调度器602将消息608存储在第二队列606内,也如线614所示。然后,调度器602返回方框704,接收下一个消息608。
然而,如果调度器602不工作在第三工作模式,如在判决方框718所确定的那样,而是工作在第二工作模式,如在判决方框720所确定的那样,而且工作在高消息业务量状态下,如在判决方框722所确定的那样,就在方框714,调度器602根据消息608的一个或多个属性确定将消息608存储在第二队列606中。然后,在方框716,调度器602将消息608存储在第二队列606内,也如线614所示。然后,调度器602返回到方框704,接收下一个消息608。然而,如果调度器602不是工作在高消息业务量状态下,如在判决方框722所确定的那样,就在方框724,将调度器602设置到第四工作模式。然后,在方框710,调度器602将消息608存储在第一队列604内,也如线610所示,再返回到方框704,接收下一个消息608。然而,如果调度器602不是工作在第二工作模式,如在判决方框720所确定的那样,这意味着调度器602工作在第四工作模式,在方框710,调度器602将消息608存储在第一队列604内,也如线610所示,然后,返回到方框704,接收下一个消息608。
现在来看图8,所示为例示按照本发明的一个实施例设计的从一些队列内取出或调度排队的消息去处理的方法800的流程图,下面对这个流程图的说明还将结合图6进行。方法800建立在一个低消息业务量模式(第一工作模式)、一个高消息业务量模式(第二工作模式)和两个过渡模式(第三和第四工作模式)的基础上。方法800开始于方框802,在调度器已经用所希望的操作参数初始化后,一开始设置到第一工作模式(见对图7中的方框702的说明)。如果调度器602工作在第一工作模式,如在判决方框804所确定的那样,在方框806,调度器602从第一队列604内取出或调度下一个排队的消息,如线612所示,将它发送给处理器620。然后,调度器602返回判决方框804,以取出或调度下一个排队的消息去处理。然而,如果调度器602不是工作在第一工作模式,如在判决方框804所确定的那样,而是工作在第三工作模式,如在判决方框808所确定的那样,而且第一队列没有出空,如在判决方框810所确定的那样,就在方框806,调度器602从第一队列604内取出或调度下一个排队的消息,如线612所示,将它发送给处理器620。然后,调度器602返回到判决方框804,以取出或调度下一个排队的消息去处理。然而,如果第一队列604是空的,如在判决方框810所确定的那样,就在方框812,将调度器602设置到第二工作模式。然后,在方框814,调度器602根据一个或多个操作准则确定从第二队列606内取出或调度的下一个排队的消息。接下来,在方框816,调度器602从第二队列606内取出或调度所选的排队的消息,如线616所示,将它发送给处理器620。然后,调度器602返回判决方框804,以取出或调度下一个排队的消息去处理。
然而,如果调度器602不是工作在第三工作模式,如在判决方框808所确定的那样,而是工作在第二工作模式,如在判决方框818所确定的那样,就在方框814,调度器602根据一个或多个操作准则确定从第二队列606内取出或调度的下一个排队的消息。接下来,在方框816,调度器602从第二队列606内取出或调度所选的排队的消息,如线616所示,将它发送给处理器620。然后,调度器602返回判决方框804,以取出或调度下一个排队的消息去处理。然而,如果调度器602不是工作在第二工作模式,如在判决方框818所确定的那样,这意味着调度器602工作在第四工作模式,而且第二队列606不是空的,如在判决方框820所确定的那样,就在方框814,调度器602根据一个或多个操作准则确定从第二队列606内取出或调度的下一个排队的消息。接下来,在方框816,调度器602从第二队列606内取出或调度所选的排队的消息,如线616所示,将它发送给处理器620。然后,调度器602返回判决方框804,以取出或调度下一个排队的消息去处理。然而,如果第二队列606是空的,如在判决方框822所确定的那样,就在方框822,将调度器602设置到第一工作模式。然后,在方框806,调度器602从第一队列604内取出或调度下一个排队的消息,如线612所示,将它发送给处理器620。然后,调度器602返回到判决方框804,以取出或调度下一个排队的消息去处理。
虽然以上详细说明了本发明的一些优选实施例,但本领域技术人员可以理解,在不背离如在所附权利要求书中所给出的本发明的精神和范围的条件下,可以在其中作出各种各样的修改。
权利要求
1.一种调度一个或多个消息的设备,所述设备包括一个第一队列;一个第二队列;一个与第一队列和第二队列通信耦合的调度器,所述调度器具有至少一个第一工作模式和一个第二工作模式;所述第一工作模式包括接收一个或多个消息,根据先进先出次序将每个消息存储在第一队列内,以及根据先进先出次序从第一队列内调度每个排队的消息;以及所述第二工作模式包括接收一个或多个消息,根据一个或多个消息属性将每个消息存储在第二队列内,以及根据一个或多个操作准则从第二队列内调度每个排队的消息。
2.如在权利要求1中所述的设备,其中所述第一工作模式与低消息业务量状态相对应。
3.如在权利要求1中所述的设备,其中当第一队列内排队的消息的数量小于一个第一值而第二队列内排队的消息的数量为零时,所述调度器工作在第一模式。
4.如在权利要求1中所述的设备,其中所述第二工作模式与高消息业务量状态相对应。
5.如在权利要求1中所述的设备,其中当第二队列内排队的消息的数量大于一个第二值而第一队列内排队的消息的数量为零时,所述调度器工作在第二模式。
6.如在权利要求1中所述的设备,所述设备还包括一个第三工作模式,所述第三工作模式包括接收一个或多个消息,根据一个或多个消息属性将每个消息存储在第二队列内,以及根据先进先出次序从第一队列内调度每个排队的消息。
7.如在权利要求6中所述的设备,其中所述第三工作模式与从低业务量到高业务量的过渡相对应。
8.如在权利要求6中所述的设备,其中当第一队列内排队的消息的数量大于或等于第一值时,所述调度器切换到第三工作模式,而且继续工作在第三工作模式,直至当第一队列内排队的消息的数量为零时,所述调度器切换到第二工作模式。
9.如在权利要求6中所述的设备,所述设备还包括一个第四工作模式,所述第四工作模式包括接收一个或多个消息,根据先进先出次序将每个消息存储在第一队列内,以及根据一个或多个操作准则从第二队列内调度每个排队的消息。
10.如在权利要求9中所述的设备,其中所述第四工作模式与从高业务量到低业务量的过渡相对应。
11.如在权利要求9中所述的设备,其中当第二队列内排队的消息的数量小于或等于第二值时,所述调度器切换到第四工作模式,而且继续工作在第四工作模式,直至当第二队列内排队的消息的数量为零时,所述调度器切换到第一工作模式。
12.如在权利要求1中所述的设备,其中所述第二队列是一个多维队列。
13.如在权利要求1中所述的设备,其中所述一个或多个消息属性包括消息优先级。
14.如在权利要求1中所述的设备,其中所述一个或多个消息属性包括虚拟专用网络分类。
15.如在权利要求1中所述的设备,其中所述一个或多个消息属性包括目的地软件功能。
16.如在权利要求1中所述的设备,其中所述一个或多个操作准则基于历史运行数据。
17.如在权利要求1中所述的设备,其中所述一个或多个操作准则基于当前运行数据。
18.如在权利要求1中所述的设备,其中所述一个或多个操作准则基于一个或多个抗不足准则。
19.如在权利要求1中所述的设备,所述设备还包括一个与调度器通信耦合的处理器,用来处理被分派的消息。
20.如在权利要求1中所述的设备,所述设备还包括一个与调度器通信耦合的存储器,用来存储一个或多个操作准则。
21.一种调度一个或多个消息的方法,所述方法包括下列步骤接收一个或多个消息;在第一工作模式期间选择一个第一队列用于输入和输出;在第二工作模式期间选择一个第二队列用于输入和输出;每当选择第一队列用于输入时,根据先进先出次序将每个消息存储在第一队列内,或者每当选择第二队列用于输入时,根据一个或多个消息属性将每个消息存储在第二队列内;以及每当选择第一队列用于输出时,根据先进先出次序从第一队列内调度每个排队的消息,或者每当选择第二队列用于输出时,根据一个或多个操作准则从第二队列内调度每个排队的消息。
22.如在权利要求21中所述的方法,其中所述第一工作模式与低消息业务量状态相对应。
23.如在权利要求21中所述的方法,其中所述第一工作模式出现在第一队列内排队的消息的数量小于一个第一值而第二队列内排队的消息的数量为零时。
24.如在权利要求21中所述的方法,其中所述第二工作模式与高消息业务量状态相对应。
25.如在权利要求21中所述的方法,其中所述第二工作模式出现在第二队列内排队的消息的数量大于一个第二值而第一队列内排队的消息的数量为零时。
26.如在权利要求21中所述的方法,所述方法还包括在一个第三工作模式期间选择第二队列用于输入和选择第一队列用于输出的步骤。
27.如在权利要求26中所述的方法,其中所述第三工作模式与从低业务量到高业务量的过渡相对应。
28.如在权利要求26中所述的方法,其中所述第三工作模式出现在第一队列内排队的消息的数量大于或等于第一值时,而且继续到在第一队列内排队的消息的数量为零时切换到第二工作模式。
29.如在权利要求26中所述的方法,所述方法还包括在一个第四工作模式期间选择第二队列用于输出和选择第一队列用于输入的步骤。
30.如在权利要求29中所述的方法,其中所述第四工作模式与从高业务量到低业务量的过渡相对应。
31.如在权利要求29中所述的方法,其中所述第四工作模式出现在第二队列内排队的消息的数量小于或等于第二值时,而且继续到在第二队列内排队的消息的数量为零时切换到第一工作模式。
32.如在权利要求21中所述的方法,其中所述第二队列是一个多维队列。
33.如在权利要求2 1中所述的方法,其中所述一个或多个消息属性包括消息优先级。
34.如在权利要求21中所述的方法,其中所述一个或多个消息属性包括虚拟专用网络分类。
35.如在权利要求21中所述的方法,其中所述一个或多个消息属性包括目的地软件功能。
36.如在权利要求21中所述的方法,其中所述一个或多个操作准则基于历史运行数据。
37.如在权利要求21中所述的方法,其中所述一个或多个操作准则基于当前运行数据。
38.如在权利要求21中所述的方法,其中所述一个或多个操作准则基于一个或多个抗不足准则。
39.一种包含在一个计算机可读媒体上的调度一个或多个消息的计算机程序,所述计算机程序包括一个接收一个或多个消息的代码段;一个在第一工作模式期间选择一个第一队列用于输入和输出的代码段;一个在第二工作模式期间选择一个第二队列用于输入和输出的代码段;一个每当选择第一队列用于输入时根据先进先出次序将每个消息存储在第一队列内、或者每当选择第二队列用于输入时根据一个或多个消息属性将每个消息存储在第二队列内的代码段;以及一个每当选择第一队列用于输出时根据先进先出次序从第一队列内调度每个排队的消息、或者每当选择第二队列用于输出时根据一个或多个操作准则从第二队列内调度每个排队的消息的代码段。
40.如在权利要求39中所述的计算机程序,其中所述第一工作模式与低消息业务量状态相对应。
41.如在权利要求39中所述的计算机程序,其中所述第一工作模式出现在第一队列内排队的消息的数量小于一个第一值而第二队列内排队的消息的数量为零时。
42.如在权利要求39中所述的计算机程序,其中所述第二工作模式与高消息业务量状态相对应。
43.如在权利要求39中所述的计算机程序,其中所述第二工作模式出现在第二队列内排队的消息的数量大于一个第二值而第一队列内排队的消息的数量为零时。
44.如在权利要求39中所述的计算机程序,所述计算机程序还包括一个在一个第三工作模式期间选择第二队列用于输入而选择第一队列用于输出的代码段。
45.如在权利要求44中所述的计算机程序,其中所述第三工作模式与从低业务量到高业务量的过渡相对应。
46.如在权利要求44中所述的计算机程序,其中所述第三工作模式出现在第一队列内排队的消息的数量大于或等于第一值时,而且继续到在第一队列内排队的消息的数量为零时切换到第二工作模式。
47.如在权利要求44中所述的计算机程序,所述计算机程序还包括一个在一个第四工作模式期间选择第二队列用于输出而选择第一队列用于输入的代码段。
48.如在权利要求47中所述的计算机程序,其中所述第四工作模式与从高业务量到低业务量的过渡相对应。
49.如在权利要求47中所述的计算机程序,其中所述第四工作模式出现在第二队列内排队的消息的数量小于或等于第二值时,而且继续到第二队列内排队的消息的数量为零时切换到第一工作模式。
50.如在权利要求39中所述的计算机程序,其中所述第二队列是一个多维队列。
51.如在权利要求39中所述的计算机程序,其中所述一个或多个消息属性包括消息优先级。
52.如在权利要求39中所述的计算机程序,其中所述一个或多个消息属性包括虚拟专用网络分类。
53.如在权利要求39中所述的计算机程序,其中所述一个或多个消息属性包括目的地软件功能。
54.如在权利要求39中所述的计算机程序,其中所述一个或多个操作准则基于历史运行数据。
55.如在权利要求39中所述的计算机程序,其中所述一个或多个操作准则基于当前运行数据。
56.如在权利要求39中所述的计算机程序,其中所述一个或多个操作准则基于一个或多个抗不足准则。
57.一种通信交换机,所述通信交换机包括一个或多个入口卡;一个或多个信号处理卡,每个信号处理卡含有一系列数字信号处理器;一个或多个含有一个或多个处理器的控制卡;一个或多个出口卡;一个通信耦合所述入口卡、信号处理卡、控制卡和出口卡的交换结构;一个通信耦合所述入口卡、信号处理卡、控制卡和出口卡的TDM总线;一个与每个处理器通信耦合的调度器,该调度器具有至少一个第一工作模式和一个第二工作模式;一个与调度器通信耦合的第一队列;一个与调度器通信耦合的第二队列;所述第一工作模式包括接收一个或多个消息,根据先进先出次序将每个消息存储在第一队列内,以及根据先进先出次序从第一队列内调度每个排队的消息;以及所述第二工作模式包括接收一个或多个消息,根据一个或多个消息属性将每个消息存储在第二队列内,以及根据一个或多个操作准则从第二队列内调度每个排队的消息。
全文摘要
本发明提供了一种调度消息处理的方法和设备。本发明提供了一种调度机构或者调度器(602),用来接收消息(608)和部分根据与消息关联的各种准则将消息(610或614)存储在一个第一队列(604)内或一个第二队列(606)内。这些准则包括消息属性,诸如消息优先级、虚拟专用网络(“VPN”)分类和目的地软件功能。第一队列(604)可以是一个先进先出队列,而第二队列(606)可以是一个多维队列。调度器(602)于是部分根据各种诸如历史运行数据、当前运行数据和抗不足准则之类的操作准则(618)调度排在这些队列内的消息(612或616)。此外,调度器(602)可以编程为工作在各种工作模式。
文档编号H04Q11/04GK1631008SQ02817880
公开日2005年6月22日 申请日期2002年7月12日 优先权日2001年7月13日
发明者A·伯格林 申请人:艾利森公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1