最小化由多个服务提供商提供的服务的费用的制作方法

文档序号:6489535阅读:254来源:国知局
专利名称:最小化由多个服务提供商提供的服务的费用的制作方法
技术领域
本发明涉及费用最小化,更具体地地说,涉及使多个服务提供商提供的服务的费用最小化。
背景技术
计算机网络是互连通信链路和通信段的地理上分布的集合,用于在节点(例如计算机)之间传送数据。存在从局域网(LAN)到广域网(WAN)很多类型的网段可用。LAN一般通过位于大体相同的物理位置(例如建筑物或园区)中的专用私有通信链路来连接个人计算机和工作站。另一方面,WAN一般通过长距离通信链路(例如公共载波电活线路)来连接大量地理上分散的节点。互联网就是WAN的一个例子,其连接遍及全世界的不同的网络,从而提供各种网络上的节点之间的全球通信。这些节点一般通过根据预定协议(例如传输控制协议/互联网协议(TCP/IP))交换离散的帧或数据分组而在网络上进行通信。在该上下文中,协议由一组定义节点彼此如何交互的规则组成。
计算机网络还可以由例如路由器之类的中间网络节点互连,中间网络节点具有多个可以耦合到网络的端口。为了将地理上分散的计算机网络互连和/或提供互联网连通性,很多组织者依靠一个或多个诸如互联网服务提供商(ISP)之类的服务提供商(SP)的基础设施和设备。ISP一般拥有配置为向例如互联网提供高速连接的一个或多个骨干网。
为了提高可用性,一些组织(客户)订用一个或多个ISP。在此,路由器可以被用作把客户的网络耦合到ISP的网络的“网关”。如果特定ISP的网络变成不可用,则路由器可以配置为自动地把流量(数据)从不可用的ISP网络转移到可用的ISP网络。路由器还可以配置为以一种提高整体网络性能的方式利用多个ISP网络。例如,如果特定ISP连接被过量使用而可能由此导致性能较差,则路由器可以将客户流量的一部分从被过量使用的连接重定向到另一较少使用的ISP的连接上,来提高用户网络的整体网络性能。而且,路由器可以采用“负载共享”方案,在这个方案中,由路由器处理的流量以避免任一ISP连接超载的方式分布在各个ISP连接中。
客户可以加入与ISP达成的服务水平协议(SLA),以确立由ISP提供的服务水平和客户为该服务付费的价格。通常不同的ISP对他们的服务采用不同的定价方案。例如,一些ISP按固定费率基准对客户收费,即每个客户对每个计费期间支付固定的费用,与客户使用的ISP服务的多少无关。其他ISP可能使用分层定价方案对客户收费,其取决于客户所使用的服务量。在典型的分层定价方案中,ISP可以i)对客户到ISP网络的连接上所运载的流出和流入流量进行周期性的测量,并且合计这些测量结果来生成累计(rollup)期间的“累计值”,ii)生成每个训费期间的一个或多个累计值,iii)在栈中从最大值到最小值对计费期间的累训值分级,iv)从栈中丢弃一定比例的最大累计值以适应突发性(accommodate bursting),v)把栈中余下的最大累计值应用到分层结构以确定与累计值相关联的层,以及vi)根据与所确定的层相关联的费用对客户收费。这里所使用的累计值是在一段时间期间(这里被称为累计期间)上进行的测量(例如对流入和/或流出流量的测量)的合计。
通常在分层定价方案中,流出和流入的流量被分别测量,然后测量结果被分别地或按组合方式进行累计(合计)以产生一个或多个累计值。例如,分别对测量结果进行累计可以包括组合(合计)流出的测量结果以生成流出累计值以及组合(合计)流入的测量结果以生成流入累训值。在组合方式中,流出和流入的测量结果可以被组合(合计)在一起以生成单个组合累计值。
在ISP之间,用于确定丢弃哪些累计值的方法通常是各种各样的。一般所采用的方法包括总和、分离以及组合丢弃计算方法。生成累计数值的方式和所用的分级栈的数目通常取决于丢弃方法。例如,总和丢弃方法将流出和流入的测量结果组合以生成累计值,然后在单个分级栈上对其排序。组合丢弃计算方法和分离丢弃计算方法生成分离的流出和流入累计值,然后分别在单个分级栈和分离的分级栈上对其排序。
图1示出了这些丢弃计算方法,该方法针对的累计值丢弃的百分比为6%(大约),累计期间为一天,并且计费期间为三十天。分级栈110和120示出了分离丢弃计算方法。这里,累计期间的流出和流入的测量结果分别进行合计以产生分开的流出和流入累计值。然后,计费期间的累计值被用来生成流出数据分级栈110和流入数据分级栈120。被丢弃的累计值的百分比被应用到每个分级栈,以确定被丢弃的累计值。在这个示例中在计费期间中生成三十个流出累计值和三十个流入累计值,并且这些累计值被分别置于流出分级栈110和流入分级栈120中。每个栈中的值从位于栈顶部的最大值到位于栈底部的最小值进行排序。最大的两个累计值(即流出栈110的第12天和第22天的值以及流入栈120的第15天和第18天的值)从每个栈的顶部丢弃(移除)。然后每个栈中余下的最大累计值(即流出栈110的第3天的值以及流入栈120的第5天的值)被用于确定客户在计费期间要付的费用量。
栈130示出了总和丢弃计算方法。根据这个方法,将累计期间的每个流出和流入的测量结果进行求和以产生每个累计期间的单个累计值。然后计费期间的累计值在单个分级栈上排序,要丢弃的累计值的百分比被应用到每个分级栈以确定被丢弃的累计值,然后这些累计值被丢弃,并且基于余下的最大累计值对客户计费,如上所述。因此,例如对于栈130,每个计费期间生成三十个求和后的累计值,顶部的两个累计值被丢弃(即第12天和第15天的累计值),并且基于栈中余下的最大累计值对客户计费(即第22天的累计值)。
栈140示出了组合丢弃计算方法。这里,流出和流入的测量结果被累计成分开的累计值。然后计费期间的流出和流入累计值在单个分级栈上排序,要丢弃的累计值的百分比被应用到该栈以确定被丢弃的累计值,所述被丢弃的累计值从栈中丢弃,并且根据余下的最大累计值对客户计费,如上所述。因此,例如栈140包含六十个累计值(即三十个流出累计值和三十个流入累计值),顶部的四个累计值被丢弃(即第12天和第3天的流出累计值以及第15天和第12天的流入累计值),并且根据栈中余下的最大累计值对客户计费(即第7天的流出累计值)。
订用多个SP的客户可能想要在使与SP服务相关联的费用最小化的同时最大化对那些SP服务的使用。在数据网络安排中,如上所述,这可以连续地包括i)监控对各种SP网络的访问,ii)根据费用确定哪个SP连接最适合对SP服务的使用,以及iii)重新配置网络以按照使用最便宜的SP连接的方式对服务的使用进行分配。取决于网络配置,执行这些动作可能是昂贵的并且很费劲的,因此可能不会足够高效并且/或者准确以实现显著的费用节省。
而且,不同SP的计费期间可能是不同步的。例如,第一SP的计费期间可能是从月初到月末,而第二SP的计费可能开始于一个月的中间并且结束于下个月的月中。这可能使试图在多个SP之间最小化费用的同时最大化使用率变更复杂。

发明内容
本发明涉及一种技术,用于高效且准确地最小化与多个服务提供商(SP)提供的服务相关联的费用,其中每个SP根据分层定价结构对使用其服务进行收费。分层定价结构包括一个或多个层,其中每一层都与SP提供的服务量和相关联的费用相关。
根据所述技术,收集表示对SP服务的使用的测量数据。在累计期间的结束时,从在累计期间中收集到的测量数据生成一个或多个累计值。对于计费期间中前N/P+1个累计期间,其中“N”是被丢弃的累计值的数目,“P”是每个累计期间生成的累计值的数目,基于测量数据和SP的分层费用结构,通过“遍历(walking up)”SP的分层费用结构,并且以使SP提供的服务的费用最小化的方式分配使用,从而在多个SP之间分配对SP服务的使用。在累计期间的结束时,测量后的数据被用来生成累计值,这些累计值被累积在分级栈中。
对于计费期间中余下的累计期间,基于被累积的累计值对每个SP生成目标层,目标层表示SP的分层定价结构中的一层。在累计期间内,收集表示对每个SP服务的使用的测量数据。基于目标层和测量数据等,为每个SP生成临时目标使用率(MTUR),其表示在(例如累计期间内)特定时刻对SP服务的累积使用。基于每个SP的MTUR和分层定价结构,在SP之间以使SP提供的服务的费用最小化的方式分配对SP服务的使用。如果在累计期间中,测量数据显示已超过目标层,则为该SP生成新的目标层。在累计期间的结束,测量数据被用于生成所述期间的累计值,该值被累积在分级栈中。
在所示出的实施例中,包含中间节点的用户网络被耦合到多个SP。中间节点配有与SP用来对SP提供给用户网络的服务进行计费的方法有关的信息。该信息可以包括在累计期间中每个SP所收集的测量数据的类型、SP的测量数据采样期间(两次测量数据收集之间的时间)、SP的累计期间、SP的计费期间、被SP丢弃的累训值的数量、SP所用的丢弃计算方法以及SP的分层费用结构。
中间节点包含费用最小化处理块和数据收集器,后者收集表示用户网络对各种SP提供的服务的使用的测量数据。例如,该测量数据包括在将每个SP耦合到中间节点的连接上传输的流出和流入字节。对于前N/P+1个累计期间,其中“N”是被丢弃的累计值的数目,“P”是每个累计期间生成的累计值的数目,数据收集器收集测量数据,而费用最小化处理块处理测量数据,“遍历”SP的定价层,并且基于收集到的测量数据和SP的分层定价结构,以使SP提供的服务的费用最小化的方式在SP之间分配对SP的服务的使用。在每个累计期间的结束,从测量数据生成一个或多个累计值,并且将其置于一个或多个分级栈中。
对于计费期间中余下的累计期间,费用最小化处理块基于包含在每个SP的分级栈中的累计值生成目标层。数据收集器收集表示对SP服务的使用的测量数据。费用最小化处理块处理测量数据,为每个SP生成MTUR,并且基于SP的MTUR在SP之间分配对SP服务的使用。此外,费用最小化处理块确定测量数据是否显示已超过SP的目标层。如果是,则费用最小化处理块为上述SP生成新的目标层。值得注意的是,每个SP的目标层和MTUR基于落入计费期间内的累计期间独立地生成,而不依赖于对其他SP的服务的使用。
有利地是,本发明包含了一种高效且准确的技术,用于通过以下方式最小化与多个SP提供的服务相关联的费用,所述方式即了解SP的费用结构,主动监控对SP服务的使用,并且以最小化SP提供的服务费用的方式按需要在SP之间分配对SP服务的使用。而且,本发明不要求SP之间计费期间同步,因为每个SP的目标层是单独确定的。


通过结合附图参考以下描述,可以更好地理解本发明的上述和其他优点,在附图中,相似的标号表示等同或功能上相似的元素图1示出了各种丢弃计算方法;图2是便于与本发明一起使用的计算机网络的示意性框图;图3是便于与本发明一起使用的中间节点的高层部分示意框图图4是根据本发明的技术可以用来使用总和或组合丢弃计算方法生成目标层的一系列步骤的流程图;图5是根据本发明的技术可以用来使用分离丢弃计算方法生成目标层的一系列步骤的流程图;图6是根据本发明的技术可以用于使中间节点与多个服务提供商之间的连接在计费期间内费用最小化的一系列步骤的流程图;图7A-B是示出了根据本发明的技术使用总和训算方法生成目标层的表格;图8A-B是示出了根据本发明的技术使用组合计算方法生成目标层的表格;图9A-C是示出了根据本发明的技术使用分离计算方法生成目标层的表格;以及图10是计算机网络的示意性框图,其中本发明技术的各个方面分布在多个网络节点中。
具体实施例方式
图2是便于与本发明一起使用的计算机网络的示意性框图。计算机网络200包括用户网络220,其经由多个服务提供商(SP)270耦合到例如互联网280之类的广域网(WAN),以创建互联网连接的节点的网络。具体地说,用户网络220包括一个或多个端节点210,其经由局域网(LAN)连接240耦合到中间节点300,例如用户边缘(CE)中间节点300。中间节点300经由一个或多个WAN链路230耦合到每个服务提供商270,每个服务提供商270然后经由链路240耦合到互联网280。每个服务提供商网络270可以包含一个或多个网络节点(未示出),例如聚合路由器,这些网络节点经由各利通信链路互连,以形成允许用户网络220接入互联网280的数据网络。互联网连接的节点可以包含这样的计算机系统,其使这些节点通过根据预定的协议组(例如传输控制协议/互联网协议(TCP/IP))交换数据分组来互相通信。
图3是中间节点300(以路由器做示例)的高层部分示意框图。便于与本发明一起使用的路由器例如是可以从Cisco Systems Incorporated,SanJose,CA得到的Cisco 7200系列互联网路由器。下面就IP路由来描述路由器300的操作,尽管路由器300可以配置用于其他的应用,例如加密。
路由器300包括多个互连的组件,包括转发引擎390、各种存储器、排队逻辑310、选择器350、服务处理器360、以及网络接口卡(线路卡)340。时钟模块370同步控制包含在路由器300中的各个组件的操作,但是应当注意,转发引擎390的阵列元件(下面会描述)可以操作配置为异步运转。在示例性实施例中,时钟模块370以例如200兆赫兹的频率(即时钟周期为5纳秒)生成时钟信号,并且经由时钟线路将它们全而分布到路由器300的各个组件。
缓冲和排队单元(BQU)310被连接到分组存储器320和队列存储器330,分组存储器320用于存储分组,队列存储器330用于在组织为队列的数据结构(例如链接列表)中存储分组的网络层和链路层头部。BQU310还包括数据接口电路,用于经由具有仲裁器355的选择器电路350将转发引擎390和服务处理器360与线路卡340互连。线路卡340例如可以包括异步传输模式(ATM)、帧中继(FR)和吉比特以太网(GE)端口,它们中的每一个都包括传统的接口电路,该接口电路可以包括用接口将线路卡与物理介质和在该介质上运行的协议连接起来所需要的信号、电和机械的特征、以及交换电路。
转发引擎390可以包括具有多个处理元件(未示出)的对称多处理器系统。例如,每个处理元件包括流水线处理器,该处理器包含多个算术逻辑单元(ALU)和寄存器堆等,寄存器堆具有多个通用寄存器,存储由ALU处理过的中间结果信息。处理元件可以排成多个行和列的阵列,从而进一步配置成多维的脉动(systolic)阵列。例如,在嵌入在输入缓冲器(未示出)和输出缓冲器(未示出)之间4×8阵列配置中,处理元件被排列四(4)行八(8)列。但是,应当注意,其他的安排(例如8×8阵列结构)也是便于与本发明一起使用的。
每行的处理元件被配置成“流水线”上的多级,它们顺序对由输入缓冲器加载的临时数据(例如,分组的头部)执行操作,而每列的处理元件并行操作来对临时数据执行基本相同的操作,但是带有阶段偏移。每个阶段都包括一段预定的周期,例如128个周期。输入缓冲器的定序电路通过确保每个元件在加载新的临时数据到流水线(在新的阶段处)之前完成对当前临时数据的处理,从而控制每个流水线的处理元件。一般地,当这些元件完成了对它们的当前临时数据(当前上下文)的处理并且新的到来临时数据(新上下文)被输入缓冲器完全接收的时候,新的处理阶段开始,即执行了上下文切换。
转发引擎390被耦合到外部存储器380,该存储器的一部分被分成多个“列”存储器,其中每个列存储器都被耦合到处理元件的特定列。存储器380优选组织成一个或多个库(bank),并且用快速循环随机访问存储器(FCRAM)器件实现,但是也可以使用其他器件,例如减少延迟的动态随机访问存储器(RLDRAM)器件。外部存储器380存储非临时数据,例如转发数据库,这些非临时数据被组织成一系列用于在处理临时数据时使用的数据结构。
服务处理器360包括耦合到处理器存储器363的传统中央处理单元(CPU)362。CPU362是包含传统逻辑的处理器,该传统逻辑使CPU362能够访问存储器363,并且执行和操纵包含在其中的数据。处理器存储器363是计算机可读介质,例如包括高速随机访问存储器(RAM)器件,例如动态随机访问存储器(DRAM)器件。存储器363还包含操作系统367和各种数据结构。操作系统367包括计算机可执行指令(代码),其在功能上组织服务处理器369来使各种功能能够被执行,所述功能包括包含本发明技术的多个方面的功能。应当注意,本领域的技术人员将认识到其它计算机可读介质(例如磁盘驱动器或者一个或多个闪存设备)也可以被用来存储实施这里所描述的本发明技术的计算机可执行指令。
由操作系统367执行的功能包括执行传统的路由协议等,这些协议例如开放最短路径优先(OSPF)协议和边界网关协议(BGP)。路由协议般包括在中间节点之间交换的用来根据例如目的地IP地址确定通过网络的优选路径的拓扑信息。这些协议提供被服务处理器360用来创建和维护包含在外部存储器380中的各种转发数据库(未示出)的信息。转发引擎390使用所述数据库执行例如第二层(L2)和第三层(L3)的转发操作。例如,当根据IP路由处理分组的头部时,转发引擎390通过以下方式确定将分组发送到哪里,即使用包含在头部中的IP地址堆包含在存储器380中的转发数据库进行索引。执行转发操作的结果是转发引擎390重写分组头部的目的地媒体访问控制(MAC)地址以识别与所述分组相关联的输出端口。
本发明涉及一种技术,用于高效且准确地最小化与多个服务提供商(SP)提供的服务相关联的费用,其中每个SP基于分层定价结构对使用其服务进行收费。分层定价结构包括一个或多个层,其中每一层都与SP提供的服务量和相关联的费用相关。
根据所述技术,收集代表对SP的服务的使用的测量数据。在累计期间的结束时,从在累计期间收集到的测量数据生成一个或多个累计值。对于计费期间中的前N/P+1个累计期间(其中“N”是被丢弃的累计值的数目,“P”是每个累计期间生成的累计值的数目),基于测量数据和SP的分层费用结构,通过“遍历”SP的分层费用结构,并且以下述方式分配对SP的服务的使用,从而在多个SP之间分配对这些SP的服务的使用,所述方式为使由SP提供的服务的费用最小化。在累计期间的结束时,测得的数据被用来生成累计值,这些累计值被累积在分级栈中。
对于计费期间中余下的累计期间,基于被累积的累计值针对每个SP生成目标层,该目标层代表该SP的分层定价结构中的一层。在累计期间内,收集代表对每个SP的服务的使用的测量数据。基于目标层和测量数据等,针对每个SP生成瞬时目标使用率(MTUR),该瞬时目标使用率代表在特定时刻(例如在累计期间内)对SP的服务的累积使用。基于每个SP的MTUR和分层定价结构以使SP提供的服务的费用最小化的方式在SP之间分配对SP服务的使用。如果在累计期间中,测量数据显示已超过目标层,则为该SP生成新的目标层。在累计期间的结束时,测量数据被用于生成该期间的累计值,这个值被累积在分级栈中。
根据本发明的技术,操作系统367包括例如被组织成软件处理块的代码,所述代码在操作系统367的控制下运行,并且使服务处理器360能够监控对SP270服务的使用,并且使SP270提供的服务的费用最小化。例如,这些处理块包括数据收集器处理块368和费用最小化处理块369。数据收集器368包括配置为收集与用户网络220对SP服务的使用相关联的信息(数据),所述收集例如是按照类似于单独的SP270收集信息的方式进行。这一数据可以代表每个SP用来确定该SP在计费期间中的计费量的数据。例如,收集到的数据包括在中间节点300和SP270之间的链路230上传输的流入和流出字节的数目。费用最小化处理块369包含这样的代码,其对收集到的数据进行处理并且配置节点300按照使SP提供的服务的费用最小化的方式分配对SP服务的使用。
测量数据364是例如保存数据收集器368收集到的数据的一种数据结构。费用最小化处理块369从这一数据生成累计值,并且将这些累计值置于累计数据365中,所述累计数据365是配置为保存这些值的数据结构。例如,累计值包括在累计期间由数据收集器368所收集到的测量数据的聚集。
分级栈数据366包含一个或多个累计值的分级栈(未示出),它们被组织成一个或多个有序组。这里所使用的有序组是一组“M”值,其中值M(k)大于等于值M(k+1)。应当注意以不同方式排列的组(例如其中M(k)小于等于M(k+1)的组“M”)也可以利用本发明的技术。对于每个SP270,所生成的分级栈(组)的数目取决于该SP所使用的丢弃计算方法。例如,对于分离丢弃计算方法,为流出和流入累计值分别生成分级栈,而对于总和法和组合法,则生成单个的栈。
例如,假设SP270a(图2)基于表1中所示出的分层定价结构对其服务进行计费。
表1

类似的,假设SP270b基于表2中所示出的分层定价结构对其服务进行计费。
表2


此外,假设每个SP270对至少第一层进行计费,不管服务是否被使用,每个SP270丢弃针对每个计费期间所生成的累计值的6%(大约),并且每个计费期间的累计期间的数目为30个。而且,假设对于总和丢弃计算方法,每个累计期间生成一个累计值,其包括该累计期间的流出和流入测量结果的总和。另外,对于组合及分离丢弃计算方法,假设每个累计期间生成两个累计值,包括流出累计值和流入累计值,该流出累计值包括所述累计期间的流出测量结果的总和,该流入累计值包括所述累计期间的流入测量结果的总和。
图4是根据本发明的技术可以被用来生成累计期间的目标层的一系列步骤的流程图,此处SP使用总和丢弃计算方法或组合丢弃计算方法。这里所使用的“N”是在计费期间中被SP丢弃的累计值的数目,并且“P”是在累计期间中生成的累计值的数目。
该序列开始于步骤405并且前进到步骤410,在此进行检查以确定所述累计期间是否处于累计期间的“中间范围”。例如,累计期间的中间范围包括落在从累计期间“N/P+2”到累计期间“T-N/P”的闭区间范围内的累计期间,其中“T”是每个计费期间中累计期间的总数目。如果所述累计期间处于累计期间的中间范围,则该流程进入到步骤420,在此生成中间范围的累计期间的目标层。如果M(k)是到目前为止在计费期间中所生成的组M的累计值中的第“k”大的累计值,则所生成的目标层就是在SP的费用结构中与累计值M(N+1)相关联的那一层。例如,假设SP270a使用总和丢弃计算方法,N等于2并且前四个累计期间的累计值为21、15、48和35,分别表示使用率21%、15%、48%和35%。组M被表示为{48,35,21,15},并且累计值M(N+1)为21。在SP270a的定价结构中与这个值相关联的层是第2层;因此所生成的目标层就是第2层。然后该流程结束于步骤495。
在步骤430处,为最后的N/P个累计期间生成目标层。具体地说,如果与累计值M((N+1)-J)相关联的定价结构层和与累计值M(N+1)相关联的定价结构层相匹配,其中“J”是仍要生成的累计值的数目,则被生成的目标层就是“最大”层(下面会描述)。否则,所生成的目标层是与累计值M(N+1)相关联的层。例如,假设如上所述SP270a使用总和丢弃计算方法,N等于2,组M被表示成{65,62,48,35,30,30,26,21,15...},并且要为计费期间生成另一个累计值。由于与累计值M((N+1)-J)相关联的定价结构层(即第4层)不等于与累计值M(N+1)相关联的定价结构层(即第3层),因此所生成的目标层是与累计值M(N+1)相关联的层,即第3层。在步骤495处,该流程结束。
例如,作为“最大”层的目标层涉及这样的层,该层确保服务的最大安全容限,并且为避免突然超出服务的全部容量而保留了充足的“余量”。例如,如果耦合节点300和SP270a的数据链路230(图2)是155兆比特每秒(Mps)的链路,则为了确保20%的余量以适应突发性,最大目标层应为与对该链路的使用率多至80%相关联的层,即第4层。
图5是根据本发明的技术可以用来生成累计期间的目标层的一系列步骤的流程图,在此SP使用分离丢弃计算方法。如上所述,对于分离丢弃计算方法,分别从被数据收集器368收集的流出和流入测量数据生成分开的流出和流入累计值。这些累计值分别在包含在分级栈数据366中的流出和流入分级栈(组)中排序。分开的流出和流入分级栈(有序组)在此这样表示,即用组符号M’表示流出分级栈(流出有序组),并且用M”表示流入分级栈(流入有序组)。
该流程开始于步骤505并且进入到步骤510,在此进行检查以确定所述累计期间是否处于累计期间的中间范围(如上所述)。如果是,则该流程进入到步骤520,在此为中间范围的累计期间生成目标层。具体地说,对于每个SP270,费用最小化处理块369确定与累计值M’(N+1)相关联的SP270的定价结构层是否大于与累计值M”(N+1)相关联的SP270的定价结构层。如果是,则费用最小化处理块369生成目标层,该目标层是在SP270的定价结构中与流出有序组中的累计值M’(N+1)相关联的层。否则,所生成的目标层是在SP270的定价结构中与流入有序组中的累计值M”(N+1)相关联的层。例如,对于SP270a,假设累计值M’(N+1)表示对SP270a的服务的64%的使用率,累计值M”(N+1)表示42%的使用率。与累计值M’(N+1)相关联的定价结构层为第4层,其大于与累计值M”(N+1)相关联的定价结构层(第3层)因此,所生成的目标层为第4层。然后该流程结束于步骤595。
在步骤530和540中,为最后的N/P个累计期间分别生成流出和流入目标层。具体地说,在步骤530中,费用最小化处理块369确定与累计值M’((N+1)-J’)相关联的SP270的定价结构层是否和与累计值M’(N+1)相关联的SP270的定价结构层相匹配,其中“J’”是要生成的流出累计值的剩余数目。如果是,则处理块369按上面所描述的方式生成目标层,即最大分层。否则,处理块369确定与累计值M’((N+1)-J’)相关联的SP270的定价结构层是否大于与累计值M”(N+1)相关联的SP270的定价结构层,如果是,则生成的目标层是SP270的定价结构中与累计值M’(N+1)相关联和与累计值M”(N+1)相关联的层的较大者。否则,处理块369生成的目标层为最大层。
在步骤540处,费用最小化处理块369确定与累计值M”((N+1)-J”)相关联的SP270的定价结构层是否和与累计值M”(N+1)相关联的SP270的定价结构层相匹配,其中“J””是要生成的流入累计值的剩余数目。如果是,则处理块369生成的目标层为最大层。否则,处理块369确定与累计值M”((N+1)-J”)相关联的SP270的定价结构层是否大于与累计值M’(N+1)相关联的SP270的定价结构层,如果是,则生成的目标层是SP270的分层定价结构中与累计值M’(N+1)相关联和与累计值M”(N+1)相关联的层的较大者。否则,处理块369生成的目标层为最大层。该流程结束于步骤595。
例如,根据本发明的技术,在累计期间的开始处生成SP270的目标层。在SP270的累计期间内,生成瞬时目标使用率(MTUR)。MTUR表示在累计期间内的特定时刻对SP270的服务的累积使用率。例如,MTUR表示为在累计期间内被使用的总的可用服务的百分比。如下所述,MTUR被用于确定SP270的目标层是否已被超过。如果是,则生成新的目标层,并且基于每个SP270的MTUR和目标层在SP270中重新分配对SP270的服务的使用。
例如,耦合到SP270的数据链路的MTUR用下式进行计算MTUR=TMU+((TMU*LC*TSI)-CTM)/(LC*(TS-TSI))和MUC中的小者,其中MTUR是瞬时目标使用率,表示为对服务的使用的百分比,用百分比表示;CTM是按兆字节(Mb)度量的累计期间的累积流量;TS是累计期间中的总秒数;TSI是进入所述累计期间的秒数;TMU是目标层的最大使用率,用百分比来表示;LC是以兆字节每秒(Mps)表示的数据链路容量;以及MUC是最大可用容量,其用与“最大”层(上面已描述)相关联的总容量的百分比表示。
例如,假设TMU为60%,CTM为2.16×1012,TS为8.64×104,TSI=4.32×104,LC为1×108Mps,并且MUC为80%。MTUR为70%。因此,在累计期间中的该时刻,使用率可以达到70%而不必将目标层提高到下个定价结构层。
如上所述,由上述公式生成的结果被限制最大为MUC。这意味着MTUR是MUC和由上述公式生成的结果中的较小者。
图6是根据本发明的技术可以用于使中间节点与SP之间的连接在计费期间(循环)中费用最小化的一系列步骤的流程图。该流程开始于步骤605并且进入到步骤610,在此节点300配有与SP270所提供的服务相关联的信息。这个信息可以包括每个SP270用来对SP提供的服务进行计费的信息,例如在每个累计期间中所测量数据的类型(例如在用户网络220和SP270之间传输的流出/流入字节),采样期间或测量间隔(例如5分钟),累计期间(例如24小时),计费期间(例如30天),丢弃量(例如大约6%),丢弃计算方法(例如总和、组合、分离),以及SP的分层定价结构。其他信息可以包括计费开始日期以及中间节点300的时区和SP270的时区之间的时差。
在步骤615处,费用最小化处理块369初始化测量数据364和累计数据365。在步骤620处,对于前N/P+1个累计期间,费用最小化处理块369通过以下方式在多个SP之间对SP服务的使用进行分配,即“遍历”SP的分层费用结构,并且以使SP提供的服务的费用最小化的方式分配对其服务的使用。“遍历”定价分层包括以最小化SP服务的费用的方式在SP之间分配对SP的服务的使用,SP服务的费用在SP的分层定价结构中示出。如上所述,由于两个SP270对第一层进行收费,因此处理块369例如在两个SP之间平均分配对SP服务的使用。当对SP270a的服务的合计使用率达到20%时,节点300将对SP服务的使用从SP270a转移(分配)到SP270b,直到对SP270b的服务的合计使用率超过45%为止。同样地,当对SP270b的服务的合计使用率超过45%时,节点300将对SP服务的使用从SP270b转移到SP270a,这是由于SP270a的第2层和第3层在费用上低于SP270b的第2层。当对SP270a的服务的使用率超过第2层和第3层时,节点将对SP服务的使用从SP270a转移到SP270b,等等。
在步骤625处,费用最小化处理块369为每个SP270生成目标层。具体地说,费用最小化处理块369使用图4中所描述的方法(如果SP270使用总和或组合丢弃计算方法)或者图5中所描述的方法(如果SP270使用分离丢弃计算方法)为每个SP270生成目标层。
在步骤630处,数据收集器368以上述方式收集测量数据,并且费用最小化处理块369以上述方式处理收集到的数据,包括为每个SP生成MTUR。使用为每个SP270生成的MTUR和目标层,处理块369以最大化对每个SP270的服务的使用并且最小化SP270所提供的服务的费用的方式在SP270之间分配对SP270的服务的使用。例如,假设第一SP270的MTUR显示在SP270的目标层内可用的SP270的服务中很大一部分早已其累计期间中被使用。对应于这一状况,处理块369可以将对第一SP270服务的使用分配到第二SP270,所述第二SP270的MTUR显示在其累计期间内对其服务使用较低,并且与其目标层相关联的费用低于与第一SP270的目标层之后的下一个最高层相关联的费用。值得注意的是,以这种方式使用MTUR使得对服务的使用被更好地在SP270之间分配,并且避免当另一SP270中有可用的更低费用的服务时特定SP270提高其目标层。
在步骤640处,对于每个SP270,费用最小化处理块369确定累计期间中累积的所述SP270的测量数据是否显示SP270的目标层被超过。如果是,该流程进入到步骤645,在此为SP270生成新的目标层。例如,所生成的新的目标层是SP的分层定价结构中的下一层。或者,可以按上而图4和图5中所描述的方式生成新的目标层。
在步骤650处,费用最小化处理块369确定对于给定的SP270,累计期间是否已经结束。如果不是,则该流程返回步骤630。否则,该流程进入步骤655,在此处理块369从在累计期间中收集到的测量数据生成一个或多个累计值,并且将所述累计值置于包含在累计数据365中的一个或多个有序组中。例如,如果SP270使用分离丢弃计算方法,则处理块369为流出和流入数据生成分开的累计值,如上所述。然后,这些累计值被分别置于包含在分级栈数据366中的流出和流入分级栈中。在步骤660处,费用最小化处理块369确定计费期间是否已结束。如果不是,则该流程返回步骤620;否则该流程结束于步骤695。
图7A-B、8A-B和9A-C为示例性表格,其示出了根据本发明的技术,对于总和、组合、分离丢弃计算方法,分别生成目标层的值的方法。在表格中所示出的“持续的层(sustained tier)”涉及计费期间用于计费目的。
在下面对图7、图8和图9的描述中,为了说明的目的,假设与累计值相关联的SP的目标层与累计值相同。参考图7A-B,例如,累计期间是一天,每个期间生成一个累计值。计费期间中的累计期间的总数为30,并且被丢弃的累计值的百分比为5%(大约);因此被丢弃的累计值的数目(即N)为2。对于前N+1个累计期间,即累计期间1到3,所应用的规则为“遍历分层”规则,即步骤620(图6)。
从累计期间N+2到累计期间T-N,即累计期间4到28的闭区间,使用“M(N+1)”规则确定目标层,即步骤420(图4)。例如,在累计期间10,测量到的流出使用的累计值为6,测量到的流入使用的累计值为4,并且总的累计值的和为10。由于这是到目前为止遇到的第一最大测量结果,因此它被置于分级栈的位置M(1)中。之前的第一最大值(即9)被移到位置M(2),并且之前的第二最大值(即8)被移到位置M(3),即位置M(N+1)。根据步骤420中的规则,目标层被设置为与值8相关联的层,在此情形中即第8层。
从累计期间T-N之后到计费期间的结束,即累计期间29和30,使用与步骤430相关联的规则生成目标层。例如,在累计期间29的开始处,J为2,并且在M((N+1)-J)处的累计值为11(即最大值)。由于与M((N+1)-J)的累计值相关联的SP的层(即11)和与在M(N+1)处的累计值相关联的层(即10)不匹配,因此为期间29生成的目标层为10,即与M(N+1)相关联的层。同样地,在累计期间30的开始处,J为1并且与M((N+1)-J)的累计值相关联的层为10。由于这一层和与M(N+1)处的累计值相关联的层(即10)相匹配,因此所生成的目标层为最大层。
图8A-B中的表格类似于图7A-B中示出的表格,除了流出和流入累计值保持为分开的累计值而不是单个的求和后的累计值。
参考图9A-C,对于前N+1个累计期间,所应用的规则为“遍历分层”的规则,即步骤620。对于中间的累计期间,即累计期间3到28的闭区间,应用步骤520中的规则并且所生成的流入和流出目标层是与累计值M,(N+1)或M”(N+1)相关联的SP的定价结构分层中的较大者。例如,在累计期间5的开始处,与累计值M’(N+1)相关联的层为3,并且与累计值M”(N+1)相关联的层为2。由于3大于2,因此所生成的目标层为3。
对于余下的累计期间,即累计期间29和30,使用与步骤530到540相关联的规则生成目标层。例如,在累计期间30的开始处,对于流出目标值,应用与步骤530相关联的规则。由于与M’((N+1)-J)处的累计值相关联的层(即6)和与M’(N+1)处的累计值相关联的层相匹配,因此所生成的目标层为最大层。
上述所示出的本发明的实施例描述了在单个中间节点上进行的本发明的数据收集器和费用最小化两个方面;但是这不希望成为对本发明的限制。而在其他的实施例中,本发明的这些和其他方面可以分布在多个节点中。
例如,图10是计算机网络1000的示意性框图,其中本发明的技术的各个方面分布在多个网络节点中。网络1000包括耦合到多个边界节点1060的控制节点1020,所述边界节点1060又被耦合到多个SP1080。边界节点1060是网络节点,例如边界路由器,其配置为根据本发明的技术执行各种功能等,这些功能例如与上述的数据收集器处理块368相关联。这些功能可以包括以上面所描述的方式收集与数据收集器处理块368所收集到的信息相类似的信息。控制节点1040是例如计算机系统或中间节点之类的节点,其被耦合到边界节点1060。控制节点1040配置为根据本发明的技术执行各种功能等,这些功能例如与上述的费用最小化处理块369相关联。这些功能可以包括汇集由边界节点1060所收集的信息,处理所述信息并且以最小化费用的方式重新配置边界节点1060,如上所述。
还应当注意,在本发明的上述实施例中,只有一个SP270经由单个链路在链路230上被耦合到用户网络220;但是,这也不希望成为对本发明的限制。经由单个链路被耦合到多个SP的中间节点也可以利用本发明的技术,对于每个SP,以上述方式获取测量数据并对其处理。
前面的描述针对于本发明的特定实施例。很清楚可以对所描述的实施例进行其他的变化和修改,并且获得它们的一些或者全部优点。因此,所附权利要求述的目的在于覆盖落入本发明的实质精神和范围内的所有变化和修改。
权利要求
1.一种用于使与多个服务提供商(SP)提供的服务相关联的费用最小化的方法,其中每个SP基于分层定价结构对使用其服务进行收费,所述分层定价结构包括一个或多个层,并且其中每层与所述SP提供的服务量和费用相关联,所述方法包括以下步骤基于对所述SP的服务的使用为每个SP生成目标层,其中所述目标层表示包含在所述SP的分层定价结构中的层;基于为所述SP生成的目标层以及对所述SP的服务的使用为每个SP生成瞬时目标使用率(MTUR),其中所述MTUR表示在特定时刻对SP的服务的累积使用;以及基于每个SP的所述MTUR和分层定价结构以使所述SP提供的服务的费用最小化的方式在所述SP之间分配对所述SP的服务的使用。
2.如权利要求1所述的方法,包括以下步骤收集测量数据,所述测量数据表示对所述SP的服务的使用。
3.如权利要求2所述的方法,其中所述数据在计费期间中被收集,并且所述计费期间包括一个或多个累计期间。
4.如权利要求3所述的方法,包括以下步骤从在累计期间收集到的测量数据生成一个或多个累计值。
5.如权利要求4所述的方法,其中每个所述SP的服务都与丢弃计算方法相关联,所述丢弃计算方法确定从所述计费期间丢弃的累计值的数目。
6.如权利要求4所述的方法,包括以下步骤对于所述计费期间中前N/P+1个累计期间,以所述SP的分层定价结构和所述测量数据所指示的使所述SP提供的服务的费用最小化的方式在所述SP之间分配需求,其中N是在所述计费期间丢弃的累计值的数目,并且P是每个累计期间生成的累计值的数目。
7.如权利要求4所述的方法,包括以下步骤将所述一个或多个累计值置于有序组(M)中。
8.如权利要求7所述的方法,包括以下步骤生成目标层,即在SP的费用结构中与在所述有序组中M(N+1)的值相关联的层,其中N是在所述计费期间丢弃的累计值的数目。
9.如权利要求8所述的方法,包括以下步骤确定在所述SP的分层定价结构中的与在所述有序组中M((N+1)-J)的值相关联的层是否与在所述SP的分层定价结构中的与在所述有序组中的M(N+1)的值相关联的层相匹配,其中J是在所述计费期间还要生成的累计值的数目;以及如果是,则生成为最大层的目标层。
10.如权利要求3所述的方法,包括以下步骤收集表示对SP的服务的第一使用的第一测量数据;从所述第一测量数据生成第一累计值;将所述第一累计值置于第一有序组(M’)中;收集表示对所述SP的服务的第二使用的第二测量数据;从所述第二测量数据生成第二累计值;以及将所述第二累计值置于第二有序组(M”)中。
11.如权利要求10所述的方法,其中所述第一测量数据是对通过耦合到所述SP的数据链路传输的流出字节的计数,所述第二测量数据是对通过所述数据链路传输的流入字节的数目。
12.如权利要求10所述的方法,包括以下步骤确定在所述SP的分层定价结构中的与在所述第一有序组中的M’(N+1)的值相关联的层是否大于在所述SP的分层定价结构中的与在所述第二有序组中的M”(N+1)的值相关联的层,其中N是丢弃的累计值的数目;如果是,则生成下述目标层,所述目标层是在所述SP的分层定价结构中的与在所述第一有序组中的M’(N+1)的值相关联的层;以及否则,生成下述目标层,所述目标层是在所述SP的分层定价结构中的与在所述第二有序组中M”(N+1)的值相关联的层。
13.如权利要求10所述的方法,包括以下步骤确定在所述SP的分层定价结构中的与在所述第一有序组中M’((N+1)-J)的值相关联的层是否与在所述SP的分层定价结构中的与在所述第一有序组中的M’(N+1)的值相关联的层相匹配,其中N是丢弃的累计值的数目,J是在所述计费期间还要收集的累计值的数目;如果是,则生成为最大层的目标层;确定在所述SP的分层定价结构中的与在所述第一有序组中的M’((N+1)-J)的值相关联的层是否大于在所述SP的分层定价结构中的与在所述第二有序组中的M”(N+1)的值相关联的层;以及如果是,则生成下述目标层,所述目标层是在所述SP的分层定价结构中的与所述M’(N+1)和M”(N+1)的值相关联的层中的较大者,否则,生成为最大层的目标层。
14.如权利要求10所述的方法,包括以下步骤确定在所述SP的分层定价结构中的与在所述第二有序组中的M”((N+1)-J)的值相关联的层是否与在所述SP的分层定价结构中的与在所述第二有序组中的M”(N+1)的值相关联的层相匹配,其中N是丢弃的累计值的数目,J是在所述计费期间还要收集的累计值的数目;如果是,则生成为最大层的目标层;确定在所述SP的分层定价结构中的与在所述第二有序组中的M”((N+1)-J)的值相关联的层是否大于在所述SP的分层定价结构中的与在所述第一有序组中的M’(N+1)的值相关联的层;以及如果是,则生成下述目标层,所述目标层是在所述SP的分层定价结构中的与所述M’(N+1)和M”(N+1)的值相关联的层中的较大者,否则,生成为最大层的目标层。
15.一种系统,包括耦合到多个服务提供商(SP)并且配置为使得能够访问所述SP提供的服务的连接,其中每个SP都基于分层定价结构对使用其服务进行收费,所述分层定价结构包括一个或多个层,并且其中每层都与所述SP提供的服务量和费用相关;用于基于对所述SP的服务的使用为每个SP生成目标层的装置,其中所述目标层表示包含在所述SP的分层定价结构中的层;用于基于为所述SP生成的目标层和对所述SP的服务的使用为每个SP生成瞬时目标使用率(MTUR)的装置,其中所述MTUR表示在特定时刻对所述SP的服务的累积使用;以及用于基于每个SP的MTUR和分层定价结构以使所述SP提供的服务的费用最小化的方式在所述SP之间分配对所述SP的服务的使用的装置。
16.一种中间节点,包括一个或多个连接,其被耦合到多个服务提供商(SP)并且配置为使得能够访问所述SP提供的服务,其中每个SP基于分层定价结构对使用其服务进行收费,所述分层定价结构包括一个或多个层,并且其中每层与所述SP提供的服务量和费用相关;以及处理器,其配置为监控对所述SP的服务的使用;基于对所述SP的服务的使用为每个SP生成目标层,其中所述目标层表示包含在所述SP的分层定价结构中的层,基于为所述SP生成的目标层和对所述SP的服务的使用为每个SP生成瞬时目标使用率(MTUR),其中所述MTUR表示在特定时刻对所述SP的服务的累积使用;以及基于每个SP的MTUR和分层定价结构,以使所述SP提供的服务的费用最小化的方式在所述SP之间分配对所述SP的服务的使用。
17.如权利要求16所述的中间节点,其中所述处理器配置为收集表示对所述SP的服务的使用的测量数据。
18.如权利要求17所述的中间节点,其中所述数据在计费期间中被收集,并且其中所述计费期间包括一个或多个累计期间。
19.如权利要求18所述的中间节点,其中所述处理器配置为从在累计期间中收集到的测量数据中生成一个或多个累计值。
20.一种包含计算机可执行指令的计算机可读介质,所述计算机可执行指令用于在处理器中执行来以执行以下步骤基于对SP的服务的使用为多个SP中的每个SP生成目标层,其中所述目标层表示包含在所述SP的分层定价结构中的层;基于为所述SP生成的目标层和对所述SP的服务的使用为每个SP生成瞬时目标使用率(MTUR),其中所述MTUR表示在特定时刻对所述SP的服务的累积使用;以及基于每个SP的所述MTUR和分层定价结构,以使所述SP提供的服务的费用最小化的方式在所述SP之间分配对所述SP的服务的使用。
全文摘要
本发明提供了一种技术,用于高效且准确地使与多个服务提供商提供的服务相关联的费用最小化,其中所述服务提供商基于分层费用结构对其服务进行计费。基于对SP的服务的使用和所述SP的费用结构生成目标层。监控对SP的服务的使用。基于对SP的服务的累积使用和该SP的目标层为每个SP生成瞬时目标使用率(MTUR)。基于所生成的MTUR以使费用最小化的方式分配对SP的服务的使用。如果对SP的服务的使用显示已经超过MTUR,则生成新的目标层和MTUR,并且以使费用最小化的方式在SP之间重新分配对SP的服务的使用。
文档编号G06Q99/00GK101019150SQ200480021618
公开日2007年8月15日 申请日期2004年7月20日 优先权日2003年7月31日
发明者拉胡尔·G·帕特尔, 菲利普·C·雅各布斯 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1