基于内容处理消息的系统的制作方法

文档序号:7671467阅读:124来源:国知局
专利名称:基于内容处理消息的系统的制作方法
技术领域
本发明一般地涉及通信领域,更具体地说,涉及基于内容的消息处理方法和设备。
背景技术
对数据通信的需求增长促进了提供利用通信网络来处理更多信息和新型信息的更具成本效益和效率的方法的技术的发展。这种技术之一是将可以是语音或数据消息的信息分割成分组。分组一般是一组二进制数字,包括至少数据和控制信息。综合分组网络(一般为快速分组网络)通常用于承载至少两类业务,这例如可包括连续比特率(“CBR”)、语音(“分组话音”)、数据(“成帧数据”)、图像等。分组网络提供、接收和/或转发协议分组。这些网络内的拥塞和服务质量(“QoS”)问题尚未得到满意的解决,并且仍是悬而未决的问题。虽然消息调度有助于减轻这些问题,但涉及成千上万个实体(实例)的有效工作调度并非一件简单的事情。目前,大多数消息调度基于将分组排队以便在快速分组网络的节点间中继线上传输的最简单技术先入先出(“FIFO”)队列。然而,FIFO排队技术未解决QoS参数。此技术也可允许数字化语音分组和成帧数据分组有超载期,这使得将更大份额的带宽提供给某个业务而损害其它业务,这不是理想的结果。另一种技术即线头优先级(“H0LP”)可赋予数据高于语音的优先级,但未解决数据和语音队列影响彼此的QoS的问题和在大业务量条件下CBR数据快速分组的问题。在赋予语音快速分组高优先级的HOLP中,语音快速分组可影响更低优先级队列的QoS。同样,仅为数据设计的排队方案未解决集成诸如语音和CBR数据等其它业务类型的问题。传统的分组数据路由器利用调度器或实时操作系统(“RT0S”)用软件构造,这将功能(协议或对分组执行的包括转发在内的其它操作)的处理优先级与所述功能在其下运行的任务或进程关联。因此,一个特殊的功能具有某种优先级,由该功能处理的所有分组在该功能对其进行处理期间继承该优先级。如果分组要接受的下一处理步骤设有不同的优先级,则分组继承该处理步骤期间的不同优先级。优先级与应用于分组的功能关联,而不是与分组本身关联。如果所有分组遍历相同的功能集合,则它们具有相同的中央处理器(“CPU”) 访问权,并接收等同的优先级处理。如果所有分组具有相同的优先级,这可能足以满足要求。然而,由于需要销售不同的QoS,以及由于同一网络基础设施承载的多媒体(语音、视频和数据)产生的需求,因此需要为分组指定不同的优先级,改变资源分配(特别是处理时间)以及基于每分组进行转发处理。发明概述本发明提供了一种为分组指定不同优先级,改变资源分配(特别是处理时间),并且基于每分组进行转发处理的系统。本发明可加以调整以适应新消息类型、多媒体应用和多服务应用。它是灵活的,能够适合各种配置和环境,并提高VoIP呼叫的QoS。本发明提供一种含消息和与该消息关联的处理优先级的分组。所述处理优先级可由处理所述消息的功能动态改变。通过将所述处理优先级附加到所述消息的开始处,将所述处理优先级添加到所述消息的末尾,或者使用指针将所述处理优先级链接到所述消息, 即可将所述处理优先级与所述消息关联。将处理优先级关联到消息的系统涉及接收所述消息,确定所述消息的所述处理优先级,并且将所述处理优先级与所述消息关联,以便所述处理优先级可由处理所述消息行的功能动态改变。此过程可采用包含在计算机可读介质中的计算机程序来执行,在所述计算机程序中,每个步骤使用一个或多个代码段来执行。本发明还提供一种用于调度一个或多个消息的方法。所述一个或多个消息经接收,随后基于与所述消息关联的处理优先级和属性将每个消息存储在多维处理队列中。基于某种算法对所述多维处理队列中的每个排队消息进行调度以便加以处理。所述属性可以是虚拟专用网分类、目的软件功能(destination software function)、功能索引、功能类型或其它消息属性。所述算法可以是一种或多种算法,如一种指数加权的、非饥饿的、嵌套循环的、基于消息优先级的方案,或一种加权的、非饥饿的、嵌套循环的、基于类的方案。此过程可采用包含在计算机可读介质中的计算机程序来执行,其中每个步骤使用一个或多个代码段来执行。另外,本发明提供具有一个或多个入口卡、一个或多个信号处理卡、包含一个或多个处理器的一个或多个控制卡以及一个或多个出口卡的通信交换机。交换机还包括交换结构,其以可通信方式连接入口卡、信号处理卡、控制卡和出口卡;TDM总线,其以可通信方式连接入口卡、信号处理卡、控制卡和出口卡;多维处理队列;以及调度器,其以可通信方式连接到每个处理器和所述多维处理队列的。所述调度器接收一个或多个消息,基于所述消息的优先级和属性将每个消息存储在所述多维处理队列中,以及基于某种算法对所述多维处理队列中的每个排队消息进行调度以便加以处理。附图简述通过结合附图,参照以下说明,可更好地理解本发明的上述和其它优点,其中

图1是根据现有技术的代表性综合网络的方框图;图2是显示根据现有技术的消息调度系统的示意图;图3是显示根据现有技术的另一消息调度系统的示意图;图4A、4B和4C是显示根据本发明不同实施例,具有关联处理优先级的分组的方框图;图5是显示根据本发明一个实施例,将优先级与消息关联的方法的流程图;图6是根据本发明的分组网络交换机的示意图;图7是显示根据本发明的分组操作系统的示意图;图8是显示根据本发明的消息调度系统的示意图;以及图9是显示根据本发明一个实施例,将消息调度到队列中的方法的流程图。发明详细说明虽然下面详细描述了本发明不同实施例的实施和使用,但应理解,本发明提供了可在各种具体场景中实施的许多可用发明概念。本文所述的特定实施例只是描述实施和利用本发明的特定方式,未限定本发明的范围。本文所述内容涉及通信系统,更具体地说,涉及在通信交换机内处理消息。虽然本文所述涉及通信环境,但可理解,本发明的概念适用于其它环境,如通用数据处理。本发明提供了一种为分组指定不同优先级,改变资源分配(特别是处理时间)和基于每分组的转发处理的系统。本发明可适应新的消息类型、多媒体应用和多服务应用。它是灵活的,能够适应各种配置和环境并改善VoIP呼叫的QoS。现在将简要地参考图1-3,根据现有技术描述代表性网络(图1)和各种消息调度系统(图2和图3)。图1显示了代表性综合网络100,其中电话102和传真机104以可通信方式连接到公共交换电话网(“PSTN”)106。交换机108以可通信方式连接到PSTN 106 和因特网协议(“IP”)网络110,以将基于时分复用(“TDM”)的通信112转换成基于IP 的通信114。交换机108创建包含必需目的地信息的IP分组,以便分组114可正确路由到其目的地,目的地包括计算机116或其它以可通信方式连接到IP网络110的装置。网络控制器118以可通信方式连接到PSTN 106和交换机108,并且向交换机108提供控制信号以正确处理基于TDM的通信112。网络控制器118也可以通信方式连接到IP网络110。网络控制器118可充当媒体网关控制(“MGC”)。MGC协议是与更旧的H. 323标准竞争的少数建议的控制与信号标准之一,用于将诸如PSTN 106等电话电路上承载的语音信号转换成通过因特网或其它分组网络如IP网110承载的数据分组。本领域的技术人员会理解,此示例不限于将基于TDM的通信转换到基于IP的通信;相反,本发明可用于将复用通信到基于分组的通信的任何转换。IP规定了分组格式(亦称数据报)和寻址方案。大多数网络将IP与称为传输控制协议(“TCP”)的高级协议相结合,其中TCP可在目的端与源端之间建立虚连接。IP允许在系统中将分组编址和丢弃,但在发送者与接收者之间没有直接链路。另一方面,TCP/IP 在两台主机之间建立连接,以便它们可在一定时期内来回发送消息。IP网络110通过交换机108发送和接收消息,并最终到电话102和/或传真机104。PC 116通过分组兼容格式的IP网络110发送和接收消息。IP电话(“VoIP”)指通过诸如IP网络110等基于IP的数据网络进行电话呼叫和发送传真的能力。综合话音/数据网络110允许更多的标准化, 并减少总设备需求。VoIP可以支持多媒体和多服务应用。图2和图3是显示根据现有技术的两个消息调度系统200和300的示意图。在图 2中,消息202被接收并存储在先入先出(“FIFO”)队列204中。随后,消息202以它们被接收的顺序发送到处理器206。在队列204中未采用除到达时间外的其它处理优先考虑。 在图3中,消息302进入数据类型分类器304,在该分类器中按数据类型分离消息302。对于每个单独的数据类型,存在FIFO队列306a、306b、…、306η。数据类型分类器304根据匹配的数据类型将消息302发送到FIFO队列306a、306b、…、306η。调度器308随后将消息302从FIFO队列306a、306b、…、306η中拉出,并将消息302发送到处理器310。在队列 306a、306b、…、306η中,基本的优先安排再次基于到达时间。调度器308只协调消息302 的拉出以便处理。现在参照图4Α、4Β和4C讨论本发明,图中显示了说明根据本发明不同实施例,具有关联处理优先级402的分组400、410和420的框图。本发明将处理优先级或优先级标准 402关联到分组或消息404内或附加到其中,使得优先级或优先级标准402随分组或消息 402 一起遍历系统。优先级或优先级标准402可以是一个或多个经评估以产生消息404的优先级的参数。此外,当作出有关优先级/标准402的决定时,可在遍历期间动态地修改优先级或优先级标准402。优先级/优先级标准402与分组/消息404关联,使得对一项的引用可以引用另一项,它们一起遍历系统,并且处理分组/消息404的功能具有改变优先级/优先级标准402 的能力。在与本发明的其它方面结合使用时,动态地改变优先级/优先级标准402会形成一个处理环境,在该环境中,消息/分组404的优先级/优先级标准402控制工作分配或调度。由于传送消息到系统各处的系统硬件和软件不同,本发明至少提供三种将可经评估以产生消息404的优先级402的优先级或参数关联到消息404的方式。优先级/优先级标准402可附加到消息404的开始处(图4A),附加到消息404的末尾(图4B),或者链接到消息404(图4C)。对于图4C,消息首部和消息本身存储在非相邻的存储单元,并通过存储指针或允许引用用于定位和引用另一部分的某一部分的一些其它手段链接在一起。现在参照图5,所示流程图显示了根据本发明一个实施例,将优先级与消息关联的方法500。该过程从方框502开始,并且在方框504接收消息。消息的处理优先级在方框 506确定。随后将处理优先级与消息关联,这样,在方框508中可由处理消息的功能动态改变处理优先级。随后,对每个新接收的消息重复过程500。要注意的是,此方法500可实现为包含在计算机可读介质中的计算机程序,其中,每个方框由一个或多个代码段执行。现在参照图6描述分组网络交换机600。分组网络交换机600可用于处理VoIP、 帧中继上的话音(“VoFR”)和其它类型的呼叫。此外,分组网络交换机600类似于异步传送模式(“ATM”)交换机。ATM是一种在局域网(“LAN”)和广域网(“WAN”)二者中使用的面向连接的技术。它是快速分组交换技术,允许将容量自由分配给每个信道。分组网络交换机600包括一个或多个入口卡60 和602b、一个或多个信号处理卡604、一个或多个控制卡606、一个或多个出口卡608a和608b、交换结构610和TDM总线612。每个信号处理卡604包含数字信号处理器(“DSP”)阵列(未显示),并且每个控制卡606包含一个或多个处理器(未显示)。交换结构610以可通信方式将入口卡602、信号处理卡604、控制卡606和出口卡608连接在一起。TDM总线612也以可通信方式将入口卡602、信号处理卡 604、控制卡606和出口卡608连接在一起。卡602、604、606和608最好可以任意顺序插入分组网络交换机600内。此外,分组网络交换机600应包括足够数量的冗余卡,以在卡602、 604,606和608出现故障时充当备用卡。分组网络交换机600的主要功能是将用户数据信元从输入端口传递到造当的输出端口。呼叫或通信要由分组网络交换机600处理时,网络控制器118(图1)为控制卡608 提供必需的呼叫建立信息。控制卡608利用此呼叫建立信息来将入口卡60 或602b中的某个端口指配用于接收来自PSTN 106(图1)的呼叫,将处理卡604内的某个DSP指配用于处理呼叫,以及将出口卡608a或608b中的某个端口指配用于将呼叫发送到IP网络110(图 1)。基于TDM的通信或消息112通过入口卡60 或602b输入,并通过TDM总线612路由到适当的处理卡604。处理卡604中的DSP在模拟与数字信息格式之间对消息进行转换,并提供数字压缩和交换功能。在一个实施例中,每个处理卡604能够处理IOM个同时会话。 处理卡604随后将消息从DSP发送到信元交换结构610,信元交换结构610主要负责在交换机单元之间对消息或数据信元(最基本的传输单元)进行路由和传送。交换结构610还可提供信元缓冲、业务集中和复用、容错冗余、多播或广播以及基于延迟优先级和拥塞监控的信元调度。交换结构610最终将消息路由到出口卡608a或608b。在一个实施例中,每个出口卡608能够处理至少8000个呼叫。出口卡608a和608b通常将消息发送到千兆比特以太网(未显示)。顾名思义,千兆比特以太网支持每秒1000兆比特的数据率。现在转到图7,所示示意图显示了具有冗余控制卡70 和702b的分组操作系统 700。控制卡70 和702b安装在诸如交换机600(图6)的单个机箱内。消息704通过控制卡70 上的接口 706进入分组操作系统700。消息704从接口 706行进到协议栈708,然后到外围组件互连(“PCI”)总线710。PCI总线710将消息704发送到输入/输出(“I/ 0”)卡712或DSP卡714。控制卡702b镜像控制卡70 的一部分或所有数据。分组操作系统700的每个控制卡70 和702b具有其自己的存储器,因此避免了与共享存储器相关的典型问题,如递归调用以及同步和讹误的问题。图8是显示根据本发明的消息调度系统800的示意图。本发明的调度系统800包括以可通信方式连接到多维队列804的调度器802。调度器802可包括接收器功能和分配器功能。多维队列804可描述为一“组”队列,其中,沿X轴和Y轴的第一个正方形如队列 804A表示队列头。要注意的是,多维队列804并不限于图8所示的三维队列。多维队列804 内的每个队列设计为基于与消息关联的处理优先级或标准和属性接收消息。消息属性可包括虚拟专用网(“VPN”)分类、目的地软件功能、功能类型或区分消息的其它属性或它们的组合。处理优先级可基于QoS参数或消息类型,如数据、传真、图像、多媒体、话音等。VPN分类可以是个体VPN或VPN组。例如,多维队列804的一种可能配置可基于X方向上的VPN分类、Y方向上的处理优先级和Z方向上的先入先出(“FIFO”)。此外,每个功能可具有由多维构成的一个槽位 (slot)。也可将第四维添加到多维队列804中,方法是使它成为三维队列的阵列,其中,每一个队列由一类功能处理。为让多维队列804的调度器或分配器802调用正确的功能,可使用功能索引和跳转表。多维队列804可表征为一种高级队列结构,该队列结构由捆绑在单个接收队列中的多个子队列组成,其中,每个子队列服务一组消息806。消息806可按其优先级(第一维) 和消息分类或服务类(第二维)进行分类。将根据一种或多种算法如指数加权循环方案服务优先级子队列。在每个优先级内,会有表示多个VPN服务类的多个子队列。VPN将映射到这些服务类。各服务类本身之间会有某种加权方案,使得可以提供不同的服务质量。在此示例中,多维队列804是二维队列,由p*c个单一子队列组成,其中,ρ是消息优先级数量,c 是VPN服务类数量。多维队列804本身是三维队列,因为p*c个子队列中的每一个子队列表示第三维(子队列的深度)。每个一维子队列内的消息按FIFO顺序接受服务。调度器802的接收器功能基于与消息806关联的处理优先级或优先级标准和属性,在多维队列804中存储消息806 (由箭头808表示)。要注意的是,多个属性可用于确定消息806在多维队列804中的存储位置。一个特殊功能可用于将消息806插入多维队列 804。例如,此特殊功能可使用功能索引、VPN、优先级和/或任何其它重要标准将消息806 插入多维队列804中。调度器802的分配器功能基于某种算法将多维队列804中的排队消息拉出或对其进行调度(由箭头810表示),以便由一个或多个处理器812进行处理。上述算法可将操作标准(operating criteria)纳入考虑,所述操作条件如历史操作数据、当前操作数据、抗饥饿标准、如上所述的一个或多个消息属性或它们的组合。例如,所述算法可以是一种指数加权的、非饥饿的、嵌套循环的、基于消息优先级的方案,或是一种加权的、非饥饿的、嵌套循环的、基于类的方案,或是其任意组合。视特定的应用而定,可根据本发明采用其它合适的算法。所述算法也可在某个时期内向某个功能或处理实体提供仅预定数量的连续消息。一旦调度器802拉出或调度排队的消息,调度器802便会将消息发送到处理器 812。现在参照图9,所示流程图显示了根据本发明一个实施例,用于调度一个或多个消息以便处理的方法900。过程900从方框902开始,并在方框904接收一个或多个消息。在方框906中,基于与消息关联的处理优先级和属性,将各消息存储在多维处理队列中。之后,在方框908中,基于某种算法对多维处理队列中的每个排队消息进行调度以便加以处理。随后,对每个新接收的消息重复过程900,直到对多维队列中的所有消息进行了调度为止。要注意的是,此方法900可实现为包含在计算机可读介质中的计算机程序,其中,每个方框由一个或多个代码段执行。还要注意的是,最好是赋予系统消息最高优先级(标签查找等)。优先级别通常在编译时设定,而服务级由网络管理员设置。另外,本发明提供了一种通信交换机,其具有一个或多个入口卡、一个或多个信号处理卡、一个或多个包含一个或多个处理器的控制卡以及一个或多个出口卡。该交换机还包括以可通信方式连接入口卡、信号处理卡、控制卡和出口卡的交换结构、以可通信方式连接入口卡、信号处理卡、控制卡和出口卡的TDM总线、多维处理队列及以可通信方式连接到每个处理器和多维处理队列的调度器。调度器接收一个或多个消息,基于消息的优先级和属性将每个消息存储在所述多维处理队列中,并且基于某种算法对多维处理队列中的每个排队消息进行调度以便加以处理。本发明使用的算法可以是依据各种操作标准选择采用的一种算法或多种算法。 例如,可采用一种指数加权的、非饥饿的、嵌套循环的、基于消息优先级的方案。加权意味着较高优先级消息接受服务的频率高于较低优先级消息。在连续优先级之间存在指数服务率。非饥饿的意味着较低优先级消息最终将获得服务。循环意味着服务机制以循环方式从一个优先级移到另一级。嵌套赋予指数服务加权,例如,假定有三个消息优先级高、中和低。另外假定在任一给定时间队列中有消息。随后,服务的顺序和数量将为高-中-高-低-高-中-高,并且以相同的顺序重复。因此,会为四个高优先级消息、两个中优先级消息和一个低优先级消息提供服务。另外,在服务一个高优先级消息后,在服务另一高优先级消息前,将最多为一个较低优先消息提供服务。下表的图表可能更好地解释了服务顺序。
权利要求
1.一种用于调度一个或多个消息的方法,它包括以下步骤 接收所述一个或多个消息;基于与所述消息关联的处理优先级和属性,将每个消息存储在多维处理队列中;以及基于算法对所述多维处理队列中的每个排队消息进行调度以便加以处理。
2.如权利要求1所述的方法,其中,所述属性是虚拟专用网分类。
3.如权利要求1所述的方法,其中,所述算法是指数加权的、非饥饿的、嵌套循环的、基于消息优先级的方案。
4.如权利要求1所述的方法,其中,所述算法是加权的、非饥饿的、嵌套循环的、基于类的方案。
5.如权利要求1所述的方法,其中,所述算法在一时间间隔内为功能提供仅仅预定数量的连续消息。
6.如权利要求1所述的方法,其中,所述处理优先级包括一个或多个经评估以产生所述消息的优先级的参数。
7.如权利要求1所述的方法,其中,所述处理优先级可由操作所述消息的功能动态改变。
8.一种包含在计算机可读介质中的、用于调度一个或多个消息的计算机程序,它包括用于接收所述一个或多个消息的代码段;用于基于与所述消息关联的处理优先级和属性将每个消息存储在多维处理队列中的代码段;以及用于基于算法对所述多维处理队列中的每个排队消息进行调度以便加以处理的代码段。
9.如权利要求8所述的计算机程序,其中,所述属性是虚拟专用网分类。
10.如权利要求8所述的计算机程序,其中,所述算法是指数加权的、非饥饿的、嵌套循环的、基于消息优先级的方案。
11.如权利要求8所述的计算机程序,其中,所述算法是加权的、非饥饿的、嵌套循环的、基于类的方案。
12.如权利要求8所述的计算机程序,其中,所述算法在一时间间隔内为功能提供仅仅预定数量的连续消息。
13.如权利要求8所述的计算机程序,其中,所述处理优先级包括一个或多个经评估以产生所述消息的优先级的参数。
14.如权利要求8所述的计算机程序,其中,所述处理优先级可由操作所述消息的功能动态改变。
15.一种通信交换机,它包括 一个或多个入口卡;一个或多个信号处理卡,每个信号处理卡包含一个数字信号处理器阵列; 一个或多个包含一个或多个处理器的控制卡; 一个或多个出口卡;以可通信方式耦合所述入口卡、所述信号处理卡、所述控制卡和所述出口卡的交换结构;以可通信方式耦合所述入口卡、所述信号处理卡、所述控制卡和所述出口卡的TDM总线.一入 ,多维处理队列;以可通信方式耦合到每个处理器和所述多维处理队列的调度器;所述调度器接收一个或多个消息,基于所述消息的优先级和属性将每个消息存储在所述多维处理队列中,以及基于算法对所述多维处理队列中的每个排队消息进行调度以便加以处理。
全文摘要
基于内容处理消息的系统。本发明提供具有消息(400)和与该消息关联的处理优先级(402)的一种分组(400、410或420)。处理优先级(402)可由处理消息(404)的功能动态改变。本发明还提供了一种通过如下步骤将处理优先级(402)与消息(404)关联的方法接收消息(504),确定消息(506)的处理优先级,以及将处理优先级与消息关联以便处理优先级可由处理消息的功能动态改变。另外,本发明提供了一种通过如下步骤调度一个或多个消息(904)的方法接收一个或多个消息(904);基于处理优先级和与消息关联的属性,将每个消息存储在多维处理队列中(906);以及基于某种算法对所述多维处理队列中的每个排队消息进行调度以便加以处理(908)。
文档编号H04L12/58GK102158418SQ20111013141
公开日2011年8月17日 申请日期2003年12月12日 优先权日2002年12月13日
发明者L·艾尔斯 申请人:艾利森公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1