CN1988548A - 用于处理语音处理请求的方法和系统 - Google Patents
用于处理语音处理请求的方法和系统 Download PDFInfo
- Publication number
- CN1988548A CN1988548A CN200610144548.9A CN200610144548A CN1988548A CN 1988548 A CN1988548 A CN 1988548A CN 200610144548 A CN200610144548 A CN 200610144548A CN 1988548 A CN1988548 A CN 1988548A
- Authority
- CN
- China
- Prior art keywords
- voice
- utilance
- algorithm
- load
- factor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 title claims description 91
- 230000008569 process Effects 0.000 claims description 61
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 230000003068 static effect Effects 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims 1
- 238000007726 management method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 210000000352 storage cell Anatomy 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
一种机器可读存储单元可以包括用于负载均衡的一组指令。所述存储单元可以包括负载均衡器的插入式接收器。所述插入式接收器符合已知行业标准并且可以关联于两个或更多负载均衡算法。所述负载均衡器可以利用从所述负载均衡算法中选出的算法,来确定两个或更多语音服务器中用于处理进入的语音处理请求的语音服务器。从所述负载均衡算法中选出的算法可以包括语音利用率算法。所述语音利用率算法可以基于语音处理指定的因素来计算所述语音服务器中至少一个的语音利用率分数。
Description
技术领域
本发明涉及网络负载均衡的领域,并且更具体地涉及基于语音处理指定的因素的负载均衡。
背景技术
负载均衡器通常用于选择几个可用服务器之一用来处理进入的请求。一种传统的负载均衡方法基于响应时间来确定服务器上的相对负载。例如,负载均衡器可以“ping”服务器,并基于“ping”响应时间来确定负载。另一种传统负载均衡技术在于,使用例如存储器、中央处理单元(CPU)用法等的标准硬件度量来确定服务器负载。
存在多种行业标准负载均衡器,其允许由负载均衡器使用的负载均衡算法以插件的形式被指定、添加或更新。当前使用中的多数负载均衡器在将请求分配给请求处理服务器时,未能考虑区分各个语音服务器的服务器指定的因素。因此,利用传统技术,由负载均衡器以通用的方式来对待语音服务器,即使是不同语音服务器的能力可能彼此之间存在很大差异。
没有已知行业标准的负载均衡器基于语音处理指定的因素来确定负载,其中所述因素例如是与文语转换(TTS)和/或自动语音识别(ASR)功能唯一相关的因素。对于语音服务器和/或由语音服务器执行的语音处理任务为唯一的这些因素,可能对服务器负载和负载确定结果产生显著的实际影响。通过使用如这里所公开的、基于语音处理指定的因素来分配负载的负载均衡器,可以达到语音处理效率上的显著增益。
另外,没有已知的语音服务器以任何方式使用行业标准负载均衡器。相反,多数语音服务器将负载均衡的责任归于语音客户端,其中所述语音客户端典型地采用利用客户侧查寻(hunt)列表的简单循环法路由。
发明内容
提供了一种根据这里公开的本发明安排的实施例的、用于语音服务器的负载均衡算法,该负载均衡算法是基于语音处理指定的因素的。所述负载均衡算法可以基于语音利用率分数,其中所述语音利用率分数反映了语音服务器接受附加的语音服务请求的能力。所述算法可以考虑各种不同的影响语音的因素和资源。另外,所述负载均衡算法可以对应于指定语音服务器,并且可以特别针对该语音服务器而被调整。因此,几个不同的语音服务器每个都可以基于针对该语音服务器而被唯一调整的负载均衡算法来确定语音利用率分数。
本发明可以根据与这里所介绍的素材一致的若干方面来被实现。例如,本发明的一个方面可以包括这样的负载均衡器:其使用与一个或多个语音利用率算法关联的一个或多个插入式接收器(receptor)。所述语音利用率算法可以基于语音处理因素来计算语音服务器负载。所述负载均衡器可以使用这些计算来将语音处理请求路由到具有用于处理所述请求的可用容量的语音服务器。
所述插入式接收器遵循已知的行业标准,并且语音服务器管理员可以使用标准接口来配置语音利用率算法。例如,所述行业标准可以是基于JAVA2企业版(J2EE)的标准。所述插入式接收器遵循JAVA连接器结构(JCA)。所述负载均衡器可以是WEBSPHERE应用服务器(WAS)边缘服务器负载均衡器。由所述负载均衡器管理的一个或多个语音服务器可以是WEBSPHERE语音服务器。所述行业标准和相符合的部件仅用于进行说明,并且本发明不限于此。
本发明的另一方面是一种基于计算机的方法,所述方法用于基于语音利用率负载来自动选择用于处理语音处理请求的语音服务器。计算机向一个或多个语音服务器查询语音处理负载数据。语音利用率分数可以针对每个被查询的语音服务器而被计算,以便每个语音处理请求被路由到通过所述查询的结果而被确定的最小加载的服务器。
本发明的又一方面可以包括用于处理语音处理请求的系统。所述系统可以包括两个或更多语音服务器和至少一个负载均衡器。所述语音服务器可以处理语音处理请求,例如ASR请求和TTS请求。所述语音服务器中每一个都可以包括语音负载均衡器小服务程序和符合J2EE的资源适配器。所述资源适配器可以包括这样的负载均衡算法:其基于至少一个语音处理指定的因素来计算关联服务器的负载。所述语音负载均衡器小服务程序可以用作所述负载均衡器与所述资源适配器之间的接口。
应当指出,本发明的各个方面可以被实现为用于控制计算设备以实现这里描述的功能的程序,或用于使计算设备能够执行与这里公开的步骤相对应的过程的程序。可以通过将所述程序存储在磁盘、光盘、半导体存储器或任何其它记录介质中来提供这个程序。所述程序还可以作为通过载波传送的数字编码的信号而被提供。所描述的程序可以是单个程序,或可以被实现为多个子程序,其中所述多个子程序中每一个在单个计算设备内进行交互,或以分布式的方式跨越网络空间进行交互。
还应当指出,这里详述的方法还可以响应于服务请求而至少部分上由服务代理和/或由服务代理操纵的机器来执行。
附图说明
附图中示出了当前优选的实施例,然而应当理解,本发明不限于所示出的确切安排和手段。
-图1是根据这里公开的本发明安排的实施例的、用于利用多个语音服务器来处理语音处理请求的系统的示意图;
-图2是根据这里公开的本发明安排的实施例的、由负载均衡器所使用的一个预期的语音利用率算法的示例性代码;
-图3是根据这里公开的本发明安排的实施例的、由负载均衡器所使用的另一个预期的语音利用率算法的示例性代码;
-图4是用于根据这里公开的本发明安排的实施例、实现语音利用率算法的方法的流程图;
-图5是一种方法的流程图,其中服务代理可以根据这里公开的本发明安排的实施例为用户配置语音利用率算法。
具体实施方式
图1是根据这里公开的本发明安排的实施例的、用于利用多个语音服务器来处理语音处理请求的系统100的示意图。系统100可以包括客户端110,该客户端经由网络170通信链接到负载均衡器120,其中负载均衡器120经由网络172通信链接到语音服务器130和140。
客户端110可以是语音使能的客户端,其中一个或多个语音处理任务被远程执行。客户端110可以包括语音使能的应用112和语音处理通信器114。语音处理通信器114可以被配置用来向负载均衡器120提交语音处理请求。通信器114还可以被通信链接到语音服务器130和/或140中的一个,以便将所述请求指定的信息传送给所链接的语音服务器,并且可以接收由所链接的语音服务器所执行的语音处理任务的结果。
负载均衡器120可以确定多个语音服务器130和140的负载,并且可以基于所确定的负载来选择所述语音服务器130和140之一用于处理进入的语音处理请求。请求管理和选路可以由请求管理引擎122来处理。语音服务器130和140上的负载可以至少部分上基于语音处理指定的因素。
在一个实施例中,负载均衡器120可以包括插入式接收器124。插入式接收器124可以关联于由请求管理引擎122所利用的一个或多个负载均衡算法。这些负载均衡算法可以在部署后的阶段由被授权的系统管理员或系统技术人员来添加、移除和更新。即,插入式接收器124可以提供一种可扩展的装置,其中由请求管理引擎122使用的负载均衡算法可以通过该装置而被更改。
插入式接收器124遵循已知行业标准,例如J2EE标准。在一个实施例中,J2EE标准可以是基于J2EE连接器结构(JCA)的标准。已知行业标准的利用允许第三方转售商构建或定制操作于系统100中的负载均衡算法。另外,已知行业标准的使用可以允许系统管理员利用遵循已知标准的其它系统的现有知识,而不需要关于负载均衡器120指定的机制广泛培训管理员,其中所述负载均衡器120指定的机制当使用传统技术时通常是销售商指定的专有机制。
设想插入式接收器124可以被配置以使得负载均衡算法可以直接被载入负载均衡器120中,所述算法在该负载均衡器中被执行。还设想插入式接收器124被通信链接到驻留于语音服务器130和/或140内的部件。
在后一设想的配置中,负载均衡算法对于语音服务器130和/或140可以是本地的,并且可以本地执行。有利地,使用对语音服务器130和/或140为本地的负载均衡算法,可以允许负载均衡算法随节点(或随语音服务器)而变化。另外,使用本地负载均衡算法可以允许具有有限特权(例如针对由负载均衡器120管理的群集中的一个语音服务器而不是其它语音服务器的特权)的本地管理来优化针对该语音服务器的算法。此外,在语音服务器的级别执行负载均衡算法来计算语音利用率负载或语音利用率分数,从资源消耗的角度来看可能要比在负载均衡器120执行算法更有效。它还可以允许负载均衡器120被高效地实现在硬件上,其中该硬件与可用于语音服务器的资源相比具有相对有限的计算资源。
也设想了这两种方法的组合,其中所述负载均衡算法的一部分包含于对负载均衡器120为本地的数据存储单元中,并且其中不同的部分包含于对语音服务器130和/或140为本地的数据存储单元中。例如,默认的负载均衡算法可以包含于负载均衡器120中,其通常用于不具有本地配置的负载均衡算法的语音服务器130和/或140。在另一个例子中,所述负载均衡器可以包括一个或多个负载均衡算法,其中所述算法被传送给正被管理的语音服务器130和/或140。所传送的算法可以由语音服务器130和/或140来执行,并且所述算法的结果可以被传送给负载均衡器120。
语音服务器130和/或140中每一个都可以是能够执行一个或多个语音处理任务的应用,所述任务例如是文语转换(TTS)任务和/或自动语音识别(ASR)任务。语音服务器130和/或140可以被归入一个或多个群集中,例如群集147和148。另外,语音服务器140的一部分可以被实现在应用服务器146内。应用服务器146可以是J2EE应用服务器,例如WEBSPHERE应用服务器(WAS)。
用于系统100中的语音服务器不必被实现在应用服务器146内,如通过语音服务器130所示的那样,而是可以以现有技术中已知的多种方式中的任一种被实现。例如,语音服务器130可以是独立的设备,其遵循针对插入式接收器124所指定的行业标准。
语音服务器130和140中每一个都可以包括语音负载均衡器小服务程序132和/或142,以及资源适配器134和/或144。语音负载均衡器小服务程序132和/或134可以是用于与负载均衡器120通信的接口。在一个实施例中,小服务程序132和/或142可以是到插入式接收器124的接口。小服务程序132和/或142还可以是到资源适配器134和/或144的接口。
资源适配器134和/或144可以包括由语音服务器130和/或140中关联的那个所使用的负载均衡算法。所述负载均衡算法可以是包括一个或多个语音处理和/或语音服务器指定的因素的语音利用率算法。资源适配器134和/或144符合J2EE连接器结构(JCA)。资源适配器134和/或144可以使不同负载均衡算法的部署、安装和修改成为相对简单的过程。
管理控制台160和/或162可以由被授权的管理员使用以部署、添加、删除、激活、更新和操纵所述负载均衡算法。管理控制台160和/或162是符合已知行业标准的标准化控制台。例如,管理控制台160可以是用于部署J2EE资源适配器部件的WAS管理控制台。
网络170和/或网络172可以包括针对传送被编码到载波中的数据所必需的任何硬件/软件/固件。数据可以包含于模拟或数字信号中,并且通过数据或语音信道而被传送。网络170和网络172可以包括本地部件和数据路径,其对于要在计算设备部件之中以及在集成设备部件与外围设备之间被交换的通信而言是必要的。网络170和网络172还可以包括共同构成例如互联网的数据网络的网络设备,例如路由器、数据线、集线器和中间服务器。网络170和网络172还可以包括基于电路的通信部件和移动通信部件,例如电话交换机、调制解调器、蜂窝通信塔等。网络170和172可以包括基于线路的和/或无线的通信路径。
应当认识到,系统100的安排仅出于说明的目的,并且这里设想了不同的相容的安排。说明性部件可以被组合以构成实现这里详述的分离部件的功能的单一部件。例如,负载均衡器120可以是应用服务器146的部件。类似地,系统100的单一部件可以被分成多个部件,这多个部件共同拥有这里详述的功能。
图2是根据这里公开的本发明安排的实施例的、由负载均衡器使用的一种期望的语音利用率算法200的示例性代码。图3是根据这里公开的本发明安排的实施例的、由负载均衡器使用的另一种期望的语音利用率算法300的示例性代码。语音利用率算法200和/或算法300每个都可以是确定语音服务器130和/或语音服务器140的语音利用率负载的算法中的一个。
语音利用率算法200和算法300只是用来基于语音处理指定的因素来确定负载的两种期望的算法。本领域的技术人员可以用许多方式来调整算法200和/或算法300的细节,以优化用于特定语音服务器、语音处理群集、针对其而优化群集的语音处理区域等的算法。因此,算法200和算法300应当被构建为这里详述的一般概念的具体例子。本发明不应当被解释为限于包含于算法200和/或算法300中的确切细节,而是应当包括根据一个或多个语音处理因素来确定负载的任何算法。
例如,在另一种期望的语音利用率算法(未示出)中,所述语音利用率分数可能是基于远端语音服务器向呼叫方递送回实时音频的能力。所述算法可以主要用于TTS语音处理任务。例如,实时语音递送度量和/或计算可以说明,音频分组的5%在20毫秒的实时递送速率窗口之外被递送。该百分比可以被转换成级别为1的语音利用率,其中该级别指示相对较轻的负载。因素可以被调整以确保实现语音的实时或接近实时的递送。这些因素中的一些可以包括添加优先化方案,从而与其它不具有实时性能考虑的请求相比,增加具有实时性能考虑的请求的相对优先级。
下列约定用于算法200和300,其每个都接受语音处理指定的因素作为输入。不是专用于语音服务器的其他因素可以与语音处理指定的因素相组合,所述其他因素例如是服务器上消耗的CPU周期、每服务器的CPU数量、ping的响应时间等。应当指出,下面提供的输入并不旨在作为可用来确定语音利用率分数的输入的全面列表,并且并不是这里描述的所有输入都要被每个语音利用率算法所使用。
(1)所分配ASR和/或TTS引擎的数量-定义为使用中的ASR和/或TTS的数量 |
(2)所配置ASR和/或TTS引擎的数量-定义为处理请求的所有ASR和/或TTS引擎的数量 |
(3)针对ASR和/或TTS引擎的每信道CPU MHz-可以是语音处理引擎的实际可用的CPU周期。可以通过被周期性更新的历史使用计算、实时利用率数据等来被计算。许多服务器和/或虚拟化应用允许固定量的CPU处理能力被预留用于指定的语音处理引擎。 |
(4)针对ASR和/或TTS的占空比-可以用各种方式计算 |
(5)平均ASR和/或TTS延迟-获取自实时响应测量 |
(6)平均ASR和/或TTS语法大小(size)-识别语法或语音生成语法的大小 |
(7)ASR和/或TTS处理请求的总数量-获取自实时系统测量 |
(8)激活语音处理会话的数量-获取自实时系统测量 |
(9)所允许的并发语音处理会话的总数量-基于硬件/软件或许可(licensing)限制 |
(10)每会话ASR和/或TTS引擎使用的平均长度-统计地或动态地根据历史数据来计算 |
图表1:算法的输入
语音利用率算法的输出是语音利用率分数。在一个实施例中,这个分数可以表示为所计算的服务器利用率百分比。所述分数或百分比还可以分为各种不同的利用率级别。如下所示,建立了四个利用率级别,包括低、中、高和完全。所使用的利用率级别的数量是可变的,并且可以建立任意数量的级别。在下面使用的约定中,较高的利用率级别或利用率权重指示较大的负载。
服务器利用率 | 负载范围 | 利用率级别 |
低(轻负载) | 0%-33% | 1 |
中(中等负载) | 24%-66% | 2 |
高(重负载) | 67%-99% | 3 |
完全 | 100% | 4 |
图表2:算法的采样输出
算法200是基于相对于所配置引擎的数量的使用中的语音引擎数量,以及例如CPU利用率的其他因素。具体地,机器利用率的百分比可以根据以下来计算:X乘以所利用的CPU百分比,加上Y乘以使用中的ASR的数量除以ASR引擎数量最大值,加上Z乘以使用中的TTS引擎的数量除以TTS引擎数量最大值。这里X、Y和Z代表可配置参数,该参数可以在计算所述语音利用率分数时被调整以增加一个语音处理因素相对于另一因素的权重。
算法200可以被设置为利用静态或动态因素操作,该因素改变计算ASR引擎最大值和TTS引擎最大值所用的方式。当在动态配置中时,ASR引擎最大值和TTS引擎最大值可以基于机器的总处理能力和每机器的CPU数量来被计算。例如,ASR引擎最大值可以等于机器的GHz额定值(rating)乘以百分之六十除以每ASR的CPU数量。所述TTS引擎最大值可以等于机器的GHz额定值乘以百分之六十除以每TTS的CPU数量。
当在静态配置中时,ASR引擎最大值可以等于所配置ASR引擎的总数量。TTS引擎最大值可以等于所配置TTS引擎的总数量。
用于算法200的动态因素计算的例子如下,其中X=0%;Y=100%;
以及Z=0%:
1)每ASR的CPU=50MHz(获取自配置工具)
2)机器的GHz=4GHz(获取自系统信息)
3)使用中的ASR引擎=12(获取自配置工具)
4)ASR引擎最大值=((机器的GHz×60%)/每ASR的CPU)
=4GHz×60%/50MHz
=2.4GHz/50MHz=48。
5)百分比机器利用率=((X×CPU百分比利用率)+(Y×(使用中的ASR引擎×100)/ASR引擎最大值))+(Z×(使用中的TTS引擎×100)/TTS引擎最大值)))
=使用中的ASR引擎/ASR引擎最大值
=12/48=25%
6)25%的利用率级别=1
例1:动态因素计算
算法300基于会话数量、到达速率、占空比和预测来计算语音利用率负载。占空比百分数等于会话中的(ASR或TTS)秒数除以整个会话的秒数。每秒的会话数和每会话的总秒数是通常由语音服务器所维持的统计。
ASR利用率等于每秒的会话数量乘以ASR占空比乘以预测周期加上使用中的ASR引擎的数量再除以所配置ASR引擎的数量。TTS利用率等于每秒的会话数量乘以TTS占空比乘以预测周期加上使用中的TTS引擎的数量再除以所配置TTS引擎的数量。
基于算法300的ASR利用率的例子如下:
1)会话中的ASR秒数=12秒(由系统统计来确定)
2)整个会话的秒数=120秒(由系统统计来确定)
3)ASR占空比=#会话中的ASR秒数/#整个会话的秒数
=12/120=10%
4)每秒的会话=20个会话/秒
5)预测周期=5秒
6)使用中的ASR引擎=15(获取自配置工具)
7)所配置的ASR引擎=30(获取自配置工具)
8)ASR利用率百分比=(每秒的会话×ASR占空比×预测周期+使用中的ASR引擎)/所配置的ASR引擎
=(20个会话/秒×10%×5秒+15个引擎)/30个引擎
=(10个引擎+15个引擎)/30个引擎
=25个引擎/30个引擎=83%
9)83%的利用率级别=3
例2:ASR利用率计算
图4是用于根据这里公开的本发明安排的实施例、实现语音利用率算法的方法400的流程图。方法400可以在负载均衡器的情况下被执行,其中该负载均衡器选择多个语音服务器之一用于处理进入的客户端语音处理请求。在一个实施例中,方法400可以在系统100的情况下被执行。方法400的语音利用率算法可以被实现为算法200、算法300,或者是利用一个或多个语音处理指定的因素来确定语音利用率分数或语音利用率级别的任何算法。
方法400开始于步骤405,其中一个或多个语音利用率算法可以针对一个或多个语音服务器而被安装或配置。在一个实施例中,步骤405可以利用部署资源适配器的管理控制台来被执行,其中该资源适配器包含所述语音服务器内的语音利用率算法。在步骤410,负载均衡器小服务程序将被初始化。所述小服务程序对于包含所述语音利用率算法的语音服务器可以是本地的,和/或对于管理两个或更多语音服务器的语音处理请求的负载均衡器可以是本地的。
在步骤415,所述负载均衡器可以访问所述语音服务器中的一个或多个资源适配器。在步骤420,所述资源适配器可以链接到相应语音服务器的语音利用率算法。因此,所述负载均衡器可以经由所述资源适配器而链接到所述语音利用率算法。
在步骤425,所述负载均衡器可以从客户端接收语音处理请求。在步骤430,所述负载均衡器可以向所述语音服务器中的一个或多个提交负载查询。所述语音服务器可以执行所述语音处理算法以确定语音利用率分数。所述语音利用率分数可以可选地被转换为语音利用率级别。在步骤435,语音利用率分数和/或语音利用率级别可以由所述负载均衡器从所述语音服务器中的一个或多个来接收。在步骤440,所述负载均衡器可以基于所述语音利用率分数和/或语音利用率级别来选择用于处理所述请求的语音服务器。在步骤445,所选择的语音服务器可以处理所述请求。所述请求可以例如是TTS和/或ASR处理请求。
在所述负载均衡器已对所述请求分配语音服务器之后,附加请求可以被接收和/或被分配给可用的语音服务器。因此,所述方法可以从步骤440跳转回步骤425。应当认识到,当所分配的请求正被一个或多个不同的语音服务器处理时,所述负载均衡器可以持续地管理新的请求(如图4所示,步骤445和从步骤440到步骤425的跳转彼此无关地进行)。
图5是方法500的流程图,其中服务代理可以根据这里公开的本发明安排的实施例为用户配置语音利用率算法。方法500可以在系统100的情况下或在使用至少一个语音利用率算法的任何负载均衡系统的情况下被执行。
方法500开始于步骤505,这时用户发起服务请求。所述服务请求可以是这样的请求:使服务代理为一个或多个客户端计算机配置语音处理系统。
参考系统100,客户端110可以是使用由采用服务代理的实体所提供的语音处理服务的用户计算机。所述语音处理服务可以使用负载均衡器120和/或包含多个语音服务器140的J2EE应用服务器146。
在步骤510,人类代理可以被选择以对所述服务请求作出响应。在步骤515,所述人类代理可以分析用户的语音处理需求、设备和配置。另外,所述人类代理可以分析现有语音服务器的可用容量,以确定现有基础设施能够处理由于新的用户请求所引起的增加的负载。所述代理可以适当地重新配置负载均衡器和语音利用率算法,以处理当前的和预期的负载。所述代理还可以在必要时分配附加的语音处理资源,以处理当前的和/或预期的负载。
在步骤520,所述人类代理可以使用一个或多个计算设备来执行或致使计算机设备执行方法400的步骤。例如,所述代理可以配置用户的客户端设备以自动向远端负载均衡器传送语音处理请求。与所述负载均衡器和/或语音服务器进行通信所需要的软件组件也可以被配置。
明显地,所述人类代理所使用的一个或多个计算设备可以包括用户的计算机、所述人类代理所使用的移动计算设备、网络化的计算设备以及其组合。所述人类代理可以对中间件应用服务器和/或利用该中间件服务器的客户端操作的管理信息系统作出调整。例如,所述人类代理可以在中间件应用服务器(例如WAS应用服务器)内加载并配置语音识别应用,并且可以调整用户的计算机系统的接口参数以与应用服务器进行交互。
在可选的步骤525中,所述人类代理可以以这样的方式来配置用户计算机:该用户或该用户的客户端可以执行将来的方法400的一个或多个步骤,例如使用户能够自动执行将来的语音处理请求。在步骤530,所述人类代理可以完成所述服务活动。
应当指出,尽管所述人类代理可以物理地移至本地位置以调整用户计算机或应用服务器,但物理移动可能是不必要的。例如,所述人类代理可以使用远端代理来远端操纵用户计算机系统和/或应用服务器。
本发明可以用硬件、软件或硬件和软件的组合来实现。本发明可以用一个计算机系统内的集中式方式或用分布式方式来实现,在所述分布方式中不同的单元散布于几个互连的计算机系统之中。适于实现这里描述的方法的任何类型的计算机系统或其它装置都是适合的。硬件和软件的典型组合可能是具有计算机程序的通用计算机系统,其中该计算机程序在被加载并执行时控制所述计算机系统以使它实现这里描述的方法。
本发明还可以被嵌入计算机程序产品,该计算机程序产品包括能实现这里描述的方法的所有特征并且在被载入计算机系统中时能够实现这些方法。本上下文中的计算机程序是指一组指令以任何语言、代码或符号的任何表示,其中所述指令旨在致使系统具有直接地或在下列任一操作或两个操作之后执行特定功能的信息处理能力:a)转换为另一语言、代码或符号;b)以不同素材的形式再生。
可以在不脱离本发明的精神或基本属性的情况下以其它形式体现本发明。因此,应当参考以下指示本发明范围的权利要求,而不是前面的描述。
Claims (20)
1.一种机器可读存储单元,其包括一组用于负载均衡的指令,所述存储单元包括:
至少一个插入式接收器,其中,所述插入式接收器符合已知行业标准并且关联于多个负载均衡算法,其中,所述负载均衡器利用从所述负载均衡算法中选出的算法来确定多个语音服务器中用于处理进入的语音处理请求的语音服务器,其中,从所述负载均衡算法中选出的算法中的至少一个包括语音利用率算法;以及
所述语音利用率算法,其被配置用来基于多个语音处理指定的因素而计算所述多个语音服务器中至少一个的语音利用率分数。
2.根据权利要求1的机器可读存储单元,其中,所述已知行业标准是J2EE标准。
3.根据权利要求1的机器可读存储单元,其中,所述插入式接收器符合J2EE连接器结构。
4.根据权利要求1的机器可读存储单元,其中,所述语音利用率算法包含在相应语音服务器的符合J2EE的资源适配器中。
5.根据权利要求1的机器可读存储单元,其中,所述语音服务器中每一个都包括语音负载均衡器小服务程序,并且包括J2EE资源适配器,其中,所述J2EE资源适配器包含用于相应语音服务器的负载均衡算法。
6.根据权利要求1的机器可读存储单元,其中,多个所述负载均衡算法是语音利用率算法,其中不同的语音利用率算法对应于不同的语音服务器。
7.根据权利要求6的机器可读存储单元,其中,所述不同的语音利用率算法基于不同的语音处理指定的因素来计算语音利用率分数。
8.根据权利要求6的机器可读存储单元,其中,所述不同的语音利用率算法基于由不同语音服务器使用的相同语音处理指定的因素来计算语音利用率分数,但是其中所述不同的语音服务器在计算服务器指定的语音利用率分数时将不同的权重应用于所述语音处理指定的因素。
9.根据权利要求1的机器可读存储单元,其中,所述语音处理算法包括静态操作模式和动态操作模式,其中,当以所述静态操作模式操作时,所述语音处理算法利用所述语音处理指定的因素中的静态因素来计算所述语音利用率分数,并且其中,当以所述动态操作模式操作时,所述语音处理算法利用至少一个动态语音处理指定的因素来计算所述语音利用率分数。
10.根据权利要求1的机器可读存储单元,其中,用于计算所述语音利用率分数的所述语音处理指定的因素中的至少一个包括至少两个自动语音识别指定的因素,并且其中,所述语音处理指定的因素中的至少一个包括至少两个文语转换指定的因素。
11.根据权利要求1的机器可读存储单元,其中,用于计算所述语音利用率分数的所述语音处理指定的因素包括从一个组中选出的至少一个因素,所述组包括:所分配自动语音识别引擎的数量、所分配文语转换引擎的数量、所配置自动语音识别引擎的数量、所配置文语转换引擎的数量、针对自动语音识别的每信道CPU MHz、针对文语转换的每信道CPUMHz、针对自动语音识别的占空比、针对文语转换的占空比、平均自动语音识别延迟、平均文语转换延迟、平均自动语音识别语法大小、平均文语转换语法大小、自动语音识别处理请求的总数量、文语转换处理请求的总数量、激活语音处理会话的数量、所允许的并发语音处理会话的总数量、每会话自动语音识别引擎使用的平均长度,以及每会话文语转换引擎使用的平均长度。
12.根据权利要求11的机器可读存储单元,其中,所述至少一个因素包括所述组中的至少两个因素。
13.根据权利要求11的机器可读存储单元,其中,所述语音指定的因素中的至少一个包括所述组中的至少四个因素。
14.根据权利要求11的机器可读存储单元,其中,所述语音指定的因素中的至少一个包括:所分配自动语音识别引擎的数量、所分配文语转换引擎的数量、所配置自动语音识别引擎的数量以及所配置文语转换引擎的数量。
15.根据权利要求11的机器可读存储单元,其中,所述语音指定的因素包括:所分配自动语音识别引擎的数量、所分配文语转换引擎的数量、针对自动语音识别的每信道CPU MHz以及针对文语转换的每信道CPUMHz。
16.根据权利要求11的机器可读存储单元,其中,所述语音指定的因素中的至少一个包括:针对自动语音识别的占空比、所分配自动语音识别引擎的数量以及所配置自动语音识别引擎的数量。
17.一种用于自动选择多个语音服务器之一的方法,该方法包括下列步骤:
接收语音处理请求;
查询至少一个语音服务器以确定语音处理负载,其中,每个所查询的语音服务器的语音利用率分数是利用语音利用率算法来被计算的,其中,所述语音利用率算法包括至少两个语音处理指定的因素;以及
基于所述查询步骤的结果来选择用于处理所述语音处理请求的语音服务器。
18.根据权利要求17的方法,其中,所述至少一个语音利用率算法包含在符合J2EE的资源适配器中。
19.根据权利要求17的方法,其中,所述权利要求17的步骤是由服务代理和由该服务代理操纵的计算设备中的至少一个来执行的,其中响应于服务请求来执行所述步骤。
20.一种用于处理语音处理请求的系统,该系统包括:
用于处理语音处理请求的多个语音服务器,其中,每个语音服务器包括语音负载均衡器小服务程序和符合J2EE的资源适配器,所述资源适配器包括基于至少一个语音处理指定的因素来计算关联服务器的负载的负载均衡算法;以及
被配置用来接收进入的语音处理请求的负载均衡器,其中,所述语音服务器被配置用来为所述负载均衡器断续地提供利用所述负载均衡算法中相关联的一个所计算的负载指示符,其中,所述负载均衡器被配置用来利用所述负载指示符在所述语音服务器中选择用于处理所述进入的请求之一的那个语音服务器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/321,291 | 2005-12-21 | ||
US11/321,291 US7953603B2 (en) | 2005-12-21 | 2005-12-21 | Load balancing based upon speech processing specific factors |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1988548A true CN1988548A (zh) | 2007-06-27 |
CN1988548B CN1988548B (zh) | 2013-01-02 |
Family
ID=38174836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610144548.9A Expired - Fee Related CN1988548B (zh) | 2005-12-21 | 2006-11-10 | 用于处理语音处理请求的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7953603B2 (zh) |
CN (1) | CN1988548B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102668453A (zh) * | 2009-12-22 | 2012-09-12 | 微软公司 | 资源的容错和可缩放的负载分布 |
CN103325371A (zh) * | 2013-06-05 | 2013-09-25 | 杭州网豆数字技术有限公司 | 基于云的语音识别系统与方法 |
CN103971687A (zh) * | 2013-02-01 | 2014-08-06 | 腾讯科技(深圳)有限公司 | 一种语音识别系统中的负载均衡实现方法和装置 |
WO2015062467A1 (en) * | 2013-10-31 | 2015-05-07 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus and system for voice service access |
CN108932946A (zh) * | 2018-06-29 | 2018-12-04 | 百度在线网络技术(北京)有限公司 | 客需服务的语音交互方法和装置 |
CN110428840A (zh) * | 2019-07-19 | 2019-11-08 | 平安科技(深圳)有限公司 | 语音识别系统中的负载均衡实现方法、装置以及计算机设备 |
CN113348505A (zh) * | 2019-02-08 | 2021-09-03 | 谷歌有限责任公司 | 适应第三方服务器的设备状态报告的差异 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032439B2 (en) * | 2003-01-07 | 2011-10-04 | Jpmorgan Chase Bank, N.A. | System and method for process scheduling |
US7734525B2 (en) * | 2005-09-27 | 2010-06-08 | Morgan Stanley | Hybrid multi-thread and multi-process computer simulation system and methods |
US9288333B2 (en) * | 2008-12-01 | 2016-03-15 | At&T Intellectual Property I, L.P. | Voice port utilization monitor |
US9002713B2 (en) | 2009-06-09 | 2015-04-07 | At&T Intellectual Property I, L.P. | System and method for speech personalization by need |
US8346549B2 (en) * | 2009-12-04 | 2013-01-01 | At&T Intellectual Property I, L.P. | System and method for supplemental speech recognition by identified idle resources |
US8140673B2 (en) * | 2010-05-25 | 2012-03-20 | International Business Machines Corporation | Method and apparatus for controlling load admission rate of an application server |
EP2669798A1 (en) * | 2012-05-31 | 2013-12-04 | Alcatel Lucent | Load distributor, intra-cluster resource manager, inter-cluster resource manager, apparatus for processing base band signals, method and computer program for distributing load |
CN103731448B (zh) * | 2012-10-11 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 一种压缩图片的方法和系统 |
US9270746B2 (en) * | 2013-03-14 | 2016-02-23 | Alcatel Lucent | Scalable load balancing |
CN103731280B (zh) * | 2013-11-18 | 2017-12-05 | 广州多益网络科技有限公司 | 一种游戏语音聊天系统 |
US10311464B2 (en) | 2014-07-17 | 2019-06-04 | The Nielsen Company (Us), Llc | Methods and apparatus to determine impressions corresponding to market segments |
WO2019031870A1 (ko) * | 2017-08-09 | 2019-02-14 | 엘지전자 주식회사 | 블루투스 저전력 에너지 기술을 이용하여 음성 인식 서비스를 호출하기 위한 방법 및 장치 |
US11495347B2 (en) | 2019-01-22 | 2022-11-08 | International Business Machines Corporation | Blockchain framework for enforcing regulatory compliance in healthcare cloud solutions |
US11164671B2 (en) * | 2019-01-22 | 2021-11-02 | International Business Machines Corporation | Continuous compliance auditing readiness and attestation in healthcare cloud solutions |
US11521617B2 (en) | 2020-09-03 | 2022-12-06 | International Business Machines Corporation | Speech-to-text auto-scaling for live use cases |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870455A (en) | 1996-08-22 | 1999-02-09 | Mci Worldcom, Inc. | Enhanced voice services load balancing |
US6128646A (en) | 1997-12-24 | 2000-10-03 | Genesys Telecommunications Laboratories Inc. | System for routing electronic mail to best qualified person based on content analysis |
GB2325112B (en) | 1997-05-06 | 2002-07-31 | Ibm | Voice processing system |
US6119087A (en) * | 1998-03-13 | 2000-09-12 | Nuance Communications | System architecture for and method of voice processing |
US6122363A (en) | 1998-07-24 | 2000-09-19 | Mci Communications Corp. | Multi-protocol interface apparatus at a service control point |
US6553113B1 (en) | 1999-07-09 | 2003-04-22 | First Usa Bank, Na | System and methods for call decisioning in a virtual call center integrating telephony with computers |
US6711159B1 (en) | 1999-12-15 | 2004-03-23 | 3Com Corporation | Load balancing among media gateways |
US6768716B1 (en) | 2000-04-10 | 2004-07-27 | International Business Machines Corporation | Load balancing system, apparatus and method |
US20020087325A1 (en) * | 2000-12-29 | 2002-07-04 | Lee Victor Wai Leung | Dialogue application computer platform |
US7406418B2 (en) * | 2001-07-03 | 2008-07-29 | Apptera, Inc. | Method and apparatus for reducing data traffic in a voice XML application distribution system through cache optimization |
US6785654B2 (en) * | 2001-11-30 | 2004-08-31 | Dictaphone Corporation | Distributed speech recognition system with speech recognition engines offering multiple functionalities |
US6898567B2 (en) * | 2001-12-29 | 2005-05-24 | Motorola, Inc. | Method and apparatus for multi-level distributed speech recognition |
US7050424B2 (en) | 2001-12-31 | 2006-05-23 | Innomedia Pte Ltd. | Method and system for automatic proxy server workload shifting for load balancing |
US7016844B2 (en) * | 2002-09-26 | 2006-03-21 | Core Mobility, Inc. | System and method for online transcription services |
US7420937B2 (en) | 2002-12-23 | 2008-09-02 | Broadcom Corporation | Selectively adaptable far-end echo cancellation in a packet voice system |
US8244536B2 (en) * | 2003-08-27 | 2012-08-14 | General Motors Llc | Algorithm for intelligent speech recognition |
US7917364B2 (en) * | 2003-09-23 | 2011-03-29 | Hewlett-Packard Development Company, L.P. | System and method using multiple automated speech recognition engines |
US7218338B2 (en) * | 2003-09-30 | 2007-05-15 | Nortel Networks Limited | Apparatus, method, and computer program for providing pass codes related to conference calls |
US20050117735A1 (en) | 2003-12-02 | 2005-06-02 | Seidman James L. | Method for load distribution with multiple distribution points |
-
2005
- 2005-12-21 US US11/321,291 patent/US7953603B2/en not_active Expired - Fee Related
-
2006
- 2006-11-10 CN CN200610144548.9A patent/CN1988548B/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102668453B (zh) * | 2009-12-22 | 2015-08-26 | 微软技术许可有限责任公司 | 资源的容错和可缩放的负载分布 |
CN102668453A (zh) * | 2009-12-22 | 2012-09-12 | 微软公司 | 资源的容错和可缩放的负载分布 |
CN103971687B (zh) * | 2013-02-01 | 2016-06-29 | 腾讯科技(深圳)有限公司 | 一种语音识别系统中的负载均衡实现方法和装置 |
WO2014117584A1 (en) * | 2013-02-01 | 2014-08-07 | Tencent Technology (Shenzhen) Company Limited | System and method for load balancing in a speech recognition system |
CN103971687A (zh) * | 2013-02-01 | 2014-08-06 | 腾讯科技(深圳)有限公司 | 一种语音识别系统中的负载均衡实现方法和装置 |
CN103325371A (zh) * | 2013-06-05 | 2013-09-25 | 杭州网豆数字技术有限公司 | 基于云的语音识别系统与方法 |
WO2015062467A1 (en) * | 2013-10-31 | 2015-05-07 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus and system for voice service access |
US9609053B2 (en) | 2013-10-31 | 2017-03-28 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus and system for voice service access |
CN108932946A (zh) * | 2018-06-29 | 2018-12-04 | 百度在线网络技术(北京)有限公司 | 客需服务的语音交互方法和装置 |
US11257492B2 (en) | 2018-06-29 | 2022-02-22 | Baidu Online Network Technology (Beijing) Co., Ltd. | Voice interaction method and apparatus for customer service |
CN113348505A (zh) * | 2019-02-08 | 2021-09-03 | 谷歌有限责任公司 | 适应第三方服务器的设备状态报告的差异 |
CN110428840A (zh) * | 2019-07-19 | 2019-11-08 | 平安科技(深圳)有限公司 | 语音识别系统中的负载均衡实现方法、装置以及计算机设备 |
WO2021012506A1 (zh) * | 2019-07-19 | 2021-01-28 | 平安科技(深圳)有限公司 | 语音识别系统中的负载均衡实现方法、装置以及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN1988548B (zh) | 2013-01-02 |
US20070143116A1 (en) | 2007-06-21 |
US7953603B2 (en) | 2011-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1988548B (zh) | 用于处理语音处理请求的方法和系统 | |
CN100556024C (zh) | 用于网络场通信控制的方法和网络场 | |
US7937473B2 (en) | Resource-amount calculation system, and method and program thereof | |
CN104243405B (zh) | 一种请求处理方法、装置及系统 | |
CN103401947A (zh) | 多个服务器的任务分配方法和装置 | |
US7006512B2 (en) | Apparatus and methods for managing queues on a mobile device system | |
CN101167054A (zh) | 用于在多个数据中心之间选择性卸载工作负荷的方法和装置 | |
CN101359295A (zh) | 一种批量任务调度分配方法及系统 | |
CN109831524A (zh) | 一种负载均衡处理方法及装置 | |
CN101499995A (zh) | 一种业务调度的方法及用于业务调度的系统、装置 | |
US11461147B2 (en) | Liaison system and method for cloud computing environment | |
CN108881509A (zh) | 一种基于httpdns的dns查询方法及装置 | |
CN104995899A (zh) | 服务器负载管理 | |
CN112905338B (zh) | 计算资源自动分配方法及装置 | |
CN112269647B (zh) | 节点调度、切换与协调方法及其相应的装置、设备、介质 | |
CN100411367C (zh) | 一种服务器同时处理多业务逻辑的实现方法和装置 | |
CN101702761A (zh) | 多媒体视频交互方法和系统 | |
US12033044B2 (en) | Interactive and dynamic mapping engine (IDME) | |
CN100484127C (zh) | 自主应用服务器使用的状态中枢 | |
CA2397114A1 (en) | Communications network | |
CN103744735A (zh) | 一种多核资源的调度方法及装置 | |
CN115460659B (zh) | 用于带宽调节的无线通信数据分析系统 | |
CN109600432B (zh) | 内容中心移动边缘网络用户动态接入方法 | |
EP3675461B1 (en) | Electronic communication node load balancing system and method | |
CN111163237A (zh) | 呼叫业务流程控制方法和相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130102 Termination date: 20151110 |
|
EXPY | Termination of patent right or utility model |