CN1819576B - Client / server application task allocation method and application serving system - Google Patents

Client / server application task allocation method and application serving system Download PDF

Info

Publication number
CN1819576B
CN1819576B CN200610007304.6A CN200610007304A CN1819576B CN 1819576 B CN1819576 B CN 1819576B CN 200610007304 A CN200610007304 A CN 200610007304A CN 1819576 B CN1819576 B CN 1819576B
Authority
CN
China
Prior art keywords
resource
task
client computer
application
server
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.)
Expired - Fee Related
Application number
CN200610007304.6A
Other languages
Chinese (zh)
Other versions
CN1819576A (en
Inventor
C·阿加皮
C·W·小克罗斯
N·D·梅蒂亚努
P·D·帕特尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nuance Communications Inc
Original Assignee
Nuance Communications Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nuance Communications Inc filed Critical Nuance Communications Inc
Publication of CN1819576A publication Critical patent/CN1819576A/en
Application granted granted Critical
Publication of CN1819576B publication Critical patent/CN1819576B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine

Abstract

A software method for allocating application tasks between a client and a server can include the step of detecting client-based computing resources for executing at least one application task. At least one indicator of the detected client-based computing resources can be conveyed to a remotely located application server, the application server can determine whether to allocate at least one application task to the client or to a server component based upon at least one indicator.

Description

The method of dispensing applications task and application service system between client-server
Technical field
The present invention relates to Distributed Application, client/server configuration (topography), speech processes field, and the client/server application task that relates in particular to based on accessed client resource distributes.
Background technology
Traditional client/server Distributed Application is not considered the amount of the disposal ability that client computer had in preset time, and does not attempt to make available client resource and task coupling centered by client computer.On the contrary, client/server is used and is followed the clean cut normal form usually, and wherein other client computer of processing mode and each to each client computer is identical.The response that can reduce client computer greatly of ignoring to the disposal ability (aspect available bandwidth, CPU ability, memory and other resource) that can use by client computer.Perhaps, can't visit and utilize available client resource can unnecessarily consume server resource and other limited Internet resources.
The client/server of the defective of single solution for diverse problems normal form on operating in handheld device with limited resources and other computing equipment especially is a problem in using.For example, with the mutual handheld device of various voice application for example the extensive use of smart phone (smart phone), personal digital assistant, calculation equipment, embedded device etc. made speech recognition and become the forefront of software development.The computational resource that speech recognition and phonetic synthesis ability can consume huge amount is cpu cycle, RAM and nonvolatile storage for example.In addition, the ability of utilizing distributed sound to handle the equipment of using has very big variation.As a result, some client devices can local be carried out the speech processes task, the part of the speech processes task that other client devices can local carry out desired, and also have other client devices can not use local resource to carry out important speech processes task.
Because many client devices have the multitasking ability, thereby these client devices can locally be carried out the speech processes task when other activity is low, but be deficient in resources the local speech processes task of carrying out when carrying out other task centered by client computer, it is more complicated that this situation can become.
Therefore, need such mechanism, it can analyze available ability and resource in the client computer, and can analyze dispensing applications task between client-server according to this.Preferably, this mechanism can be used by client resource information static and/or that dynamically determine and come allocating task.
Summary of the invention
Theme given here comprises system, the method and apparatus according to available client resource dispensing applications task between server and/or client computer of being used for of the embodiment that arranges according to invention disclosed in the literary composition.An advantage according to the available resources allocating task is therefore to give client devices with the unloading of sizable part of server load, and the performance that the user of client devices can not be differed from.
Can distribute according to carrying out task specific to the code of using, the software developer can be the task resource allocation threshold value of computation-intensive in this code.It still is to carry out these intensive tasks at server that these threshold values can be determined in client computer.Also can automatically perform the task distribution and not need explicit developer's code.The selectable setting of developer can be opened or close at the autotask of the selectable task of developer and be distributed, thus the optimizing application when allowing design.Therefore, the solution that provides is scheme very flexibly, its can according to be independent of task or arrange at all application tasks or at selected application task specific to the configuration of task and implement.
For example, disclosed invention is used in and distributes the speech processes task between the client-server.In one embodiment, when the speech processes task was voice recognition tasks, the application programmer can specify and will where load grammer and where carry out voice recognition tasks according to the big young pathbreaker of grammer.In addition, client computer can periodically convey to application server with available resources, thereby server can be adjusted live load according to the current available resource of client computer.Application server also can be determined to carry out its live load to the dynamic poll resource information of client computer.These determine institute based on resource can be including, but not limited to available client memory, client cpu ability with for the network throughput that data is sent to client computer.In addition, in concrete arrangement, application server also can receive the indication to the server resource availability, and is used as the basis that its workflow is determined by the performance need of balance task and the available resources of client computer and/or server.
The present invention can implement according to the many aspects consistent with the material that provides in the literary composition.For example, one aspect of the present invention can comprise the software approach for dispensing applications task between client-server.This method can comprise the step based on the computational resource of client computer of detect to be used for carrying out at least one application task.At least one indication of detected computational resource based on client computer can be sent to and be positioned at long-range application server, and remote server can be determined at least one application task is distributed to client computer or server component according at least one indication.
Another aspect of the present invention can comprise application service system, and this system comprises server engine, client engine, load analyzer and sharing of load device.Server engine can be positioned at application server, and can be configured to optionally carry out at least one application task for application server.Client engine can be located in the client computer of remote location of application server, and can be configured to optionally carry out the one or more application tasks for application server.Load analyzer can detect the computational resource of client computer, and sends the indication of this detected computational resource to the sharing of load device.The sharing of load device can be according to the indication that receives from load analyzer dispensing applications task between server engine and client engine optionally.
Should point out that each aspect of the present invention can be embodied as for the control computing equipment realizing the functional programs described in the literary composition, or make computing equipment can carry out program corresponding to the process of the step described in the literary composition.This program can perhaps also can be used as being provided by digitally coded signal via the carrier wave transmission by this procedure stores is provided in disk, CD, semiconductor memory, any other recording medium.Described program can be single program, perhaps can be implemented as a plurality of subprograms, and each subprogram and single computing equipment are mutual or mutual in cyberspace with distribution mode.
Description of drawings
Presently preferred embodiment shown in the accompanying drawing it should be understood that accurate arrangement and the means of the present invention shown in being not limited to.
Fig. 1 is the schematic diagram that the distributed application services system of an embodiment who arranges according to invention disclosed in the literary composition is shown, and this system is according to client resource allocating task between client computer and application server.
Fig. 2 is the flow process according to client resource system of dispensing applications task in client/server environment according to an embodiment of invention disclosed arrangement in the literary composition.
Fig. 3 is the flow chart that is used for the method for dispensing applications task between client-server according to an embodiment of invention disclosed arrangement in the literary composition.
Embodiment
Fig. 1 is the schematic diagram that the distributed application services system 100 of an embodiment who arranges according to invention disclosed in the literary composition is shown, and this system is according to client resource allocating task between client computer 120 and application server cluster 130.System 100 can comprise the client computer 120 that communicates to connect application server cluster 130 via network 140.Client computer 120 can comprise client engine 122, and this engine is the computer memory that is used for carrying out one or more tasks in the client computer 120.Application server cluster 130 can utilize voice server 132 to carry out one or more tasks.For example, voice server 132 can manage tts engine troop 134 and/or identification engine troop 136, they can distinguish execution contexts to voice task and voice recognition tasks.
In one embodiment, client computer 120 can be arranged in computing equipment for example handheld device, embedded device, the calculation equipment etc. with limited resources.Computing equipment with limited resources usually utilizes small-sized operating system platform, and this platform can be for comprising or being embedded in down-scaled version that design, desktop operating system in the equipment of mobile or other limited space.For example, computing equipment can be used to Palm OS, built-in Linux operating system from the PalmSource of California Sunnydale company etc.But client computer 120 also can be positioned to compare with personal digital assistant (PDA) or smart phone and have less restricted resource the traditional calculations equipment that still is confined to a definable batch total operator resource for example desktop computer or notebook.
Load analyzer 112 can be analyze the configuration of client computer 120 and at any given time on can be used for the computation module of the computational resource 124 of client computer 120.As used herein, computational resource 124 can comprise any resource that can suitably influence the ability that client computer 120 executes the task.More specifically, computational resource can and be used for communication throughput level with client computer 120 swap datas including, but not limited to memory, CPU ability.
In one embodiment, load analyzer 112 can be the component software of client computer 120.In other embodiments, load analyzer 112 can be the assembly of application server cluster 130, the routine independently using, comprise in the hardware of the network element of network 140 or the software etc.
Sharing of load device 114 can be according to the indication that receives from load analyzer 112 dispensing applications task 116 optionally between voice server 132 and client engine 122, and the information about resource 124 is passed in wherein said indication.In one embodiment, sharing of load device 114 can be the component software of application server cluster 130.In other embodiments, sharing of load device 114 can be the assembly of client computer 120, the routine independently using, comprise in the hardware of the network element of network 140 or the software etc.
In a specific embodiment, sharing of load device 114 can determine to carry out the necessary resource level of the application task of identifying.In addition, sharing of load device 114 can be considered the performance level of expecting, time of implementation demand and other such factor of application task when determining essential resource level.Sharing of load device 114 is carrying out can utilizing when the task distribution is determined the resource level that is determined, performance level, resource indication and a plurality of inference rule of expectation.
In another embodiment, specific inference rule can be operated according to the resource lower limit of setting up or the resource upper limit of foundation.Have the application task 116 that is defined as being lower than the resource requirement of this resource lower limit by sharing of load device 114 and can always be assigned to client engine 122.Application task with the resource requirement that is higher than the resource upper limit can always be assigned to voice server 132.Application task with the resource requirement between this lower limit and the upper limit can be distributed according to the current available resource of client computer 120 by sharing of load device 114.
In yet another embodiment, the resource of sharing of load device 114 distribute can be based on specific to the factor of the type of the application task that just is being assigned with and wherein associated criteria carry out.For example, when application task was the speech processes task, determining of sharing of load device 114 can be according to making specific to the factor of speech processes.
One type the speech processes task that more specifically, can be assigned with comprises voice recognition tasks.Task distributor 114 can optionally be distributed voice recognition tasks according to the size of the grammer that uses in the voice recognition tasks at least in part.For example, can use following false code to realize distribution specific to voice recognition tasks:
If client engine 122 then distributed to voice recognition tasks in grammer little (for example comprising 50 states of the U.S.)
<grammar?src=″state.jsgf″reco=″local″/>
If voice server 132 then distributed to voice recognition tasks in grammer big (for example comprising 100000 street name)
<grammar?src=″streets.jsgf″reco=″server″/>
If grammer medium (for example comprising 300 cities in the state), then the resource selection ground according to available client computer 120 distributes voice recognition tasks
<grammar?src=″cities.jsgf″reco=″resource_availability_dependent″/>
The situation of " grammer is little " that should be understood that represents the realization of resource requirement lower limit, and the situation of " grammer is big " represents the realization of the resource requirement upper limit.In addition, lower limit and the upper limit can be configured to consider the hardware and software configuration of client computer 210 especially.For example, for mobile phone, " little " can be defined as comprising 50 or more clauses and subclauses, but for more sane computing platform personal digital assistant for example, " little " can comprise thousands of clauses and subclauses.
The speech processes task that is assigned with of another kind of type comprises the Text To Speech convert task.Sharing of load device 114 can optionally distribute the text to the speech conversion task according to the complexity of Text To Speech convert task at least in part.Complexity can be based in the multiple factor any one, the multilingual (hybrid language TTS) of these factors including, but not limited to the tonequality of the length of the text that will be converted, the voice that obtain and the text to the speech conversion required by task.For example, can use following false code to realize specific to the distribution of Text To Speech convert task.
If the TTS complexity is low, then the TTS convert task is distributed to client engine 122
<prompttts=″local″/>
If TTS complexity height is then distributed to voice server 132 with the TTS convert task
<prompttts=″server″/>
If the TTS complexity is medium, then come distribution T TS convert task according to the resource of available client engine 120
<prompttts=″resource_availability_dependent″/>
As shown in FIG., network 140 can represent any communication mechanism that can transmit by digitally coded information.Network 140 can comprise for example for example local area network (LAN) or wide area network, cable system, satellite network, radio network etc. of PSTN (PSTN) or mobile telephone network, computer network of telephone network.In addition, network 140 can use wireless and based on the communication path of circuit.Can for example transmit by digitally coded information via network 140 based on the communication protocol of bag or based on the communication protocol of circuit according to any communication protocol.
Should be understood that disclosed the present invention is not limited to speech processing applications in the literary composition, thereby but also can be applicable to other application of other application and can utilize the dynamic offloading technology that describes in detail in the literary composition.When using with other application, voice server 132 can be replaced with one or more server engines 132 of carrying out the one or more tasks that are used for described other application.
Should be understood that the arrangement shown in Fig. 1 only is used for illustrative purposes, and the present invention is unrestricted in this respect.The mode that client computer 120 and application server cluster 130 can distribute or concentrated mode realize.For example, although typical situation is that application server cluster 130 provides application from for example trooping, considered also that here non-server architecture of trooping for example comprises single, the architecture of application server independently.
In addition, being attributable to the function of each assembly of system 100 can the mode different with the mode shown in the literary composition make up or separates.For example, in one embodiment of the invention, load analyzer 112 and sharing of load device 114 can be implemented as single integrated assembly.In another embodiment of the present invention, the function of load analyzer 112 can realize in the component software of a plurality of separation.
Fig. 2 is the flow process according to the system 200 of client resource dispensing applications task in client/server environment of the embodiment that arranges according to invention disclosed in the literary composition.In one embodiment, but the information flow of system's 200 representative systems 100.In this embodiment kind, application server 205, load analyzer 210, sharing of load device 215, client engine 220 and server engine 230 can correspond respectively to application server cluster 130, load analyzer 112, sharing of load device 114, client engine 122 and voice server 132.But system 200 is not limited thereto, but can carry out in the situation according to the system of client resource allocating task any.
In system 200, shown in flow process 250, can 210 transmission describe the hardware and softwares configuration of client computer and the client computer specification of ability in detail from client engine 220 to load analyzer.In one embodiment, can carry out flow process 250 when being connected to application server 205 during the client registration or when the user of client computer is long-range.In addition, can use client computer specification information to set up threshold value specific to client computer.
In flow process 252, load analyzer 210 can be to client engine 220 poll available resources.Especially, client computer can be arranged in the multitask computing environment, wherein can carry out a plurality of tasks that may have nothing to do with the application that application server 205 provides in client computer.Available resources can be any resource of ability that influences the processing application task of client computer, for example the available network throughput between memory, available cpu cycle and application server 205 and the client engine 220.In flow process 254, client engine 220 can be to load analyzer 210 indication available resources.Flow process 252 and responding process 254 can be repeated to keep the accurate report to Resource Availability every now and then.
In flow process 260, can send application task to sharing of load device 215 from application server 205.Shown in flow process 262, if the resource level of this required by task is lower than lower threshold value, then sharing of load device 215 can be distributed to this task client engine 220.In flow process 264, if the resource level of this required by task is higher than upper threshold value, then this task can be sent to server engine 230.
Flow process 262 and 264 is flow processs optional and that can separately implement, and it can be configurable value when being implemented.The advantage of setting up lower threshold value and upper threshold value is that the acceleration task is distributed.For example, more inessential and when consuming seldom resource, lower threshold value allows this task is distributed to client engine 220 automatically so that local the execution when task.To such an extent as to when task when very the consumption of natural resource client computer can not be carried out this task forever in the capabilities limits of expectation, upper threshold value can allow this task is distributed to server engine 230 automatically.In one embodiment, can on the basis of client computer, adjust these configurable threshold values automatically according to client computer specification 250.
In flow process 266, when the resource level that is used for application task was between lower threshold value and upper threshold value, sharing of load device 215 can be to the available client resource of load analyzer 210 inquiries.This step does not have to carry out among the embodiment of implementing procedure 262 and/or 264 therein alternatively yet.In flow process 268, load analyzer 210 can will be used for determining whether that the data that enough client resources can be used for this application task return to sharing of load device 215.In flow process 270, but when the resource time spent, sharing of load device 215 can assign the task to client engine 220.In flow process 272, when resource was unavailable, sharing of load device 215 can assign the task to server engine 230.
Fig. 3 is the flow chart that is used for the method 300 of dispensing applications task between client-server according to an embodiment of invention disclosed arrangement in the literary composition.Method 300 can be carried out in the situation of system 100 and/or system 200.But method 300 is unrestricted in this respect, and can be therein carries out in the situation according to any system of the resource resource that the assignment profile formula is used between client-server of client computer.The resource of client computer can the specification of hardware by client computer determine statically, and/or by determining that off and on the resource that client computer can be used for carrying out the application server task dynamically determines.
Method 300 can be in step 315 beginning, can detect resource based on client computer in this step.In step 310, detected resource can be indicated to application server.In step 315, can judge whether upgrade resource information.When will be more during the resource of New Client, this method can loop back step 305 from step 315.More new resources can by from the poll application servers client computer, by periodically make client computer with available resources be published to application server, by these two kinds of technology combination or take place by other such technology.When in step 315 not more during the resource of New Client, this method can forward step 320 to, can identify the application task that will be performed in this step.Also can determine to carry out the common resource level that this application task needs in this step.
For example, when this application task is voice recognition tasks, can uses for the size of the grammer of speech recognition language and determine required resource level.In another embodiment, when application task is the Text To Speech convert task, can use the complexity of conversion to determine required resource level.
In optional step 325, be lower than when the resource level that is used for this task under the resource of appointment in limited time, this method can jump to step 340, this task can be distributed to client computer in this step.Otherwise this method can forward step 330 to.In optional step 330, be higher than when the resource level of this task on the resource of appointment in limited time, this method can jump to step 345, this task can be distributed to server in this step.Otherwise this method can forward step 335 to.
In step 335, can determine whether client computer has enough available resources to execute the task in acceptable performance level.When client computer had enough resources, this method can forward step 340 to, this task can be distributed to client computer in this step.When client computer in step 335 did not have enough available resources, this method can forward step 345 to from step 335, this task can be distributed to server in this step.
This method can advance to step 350 from step 340 or 345, can continue to carry out by looping back step 315 in this method of this step, in this step 315, the renewable resources availability, and can identify and distribute other application task according to the client resource availability.
The present invention can realize in the combination of hardware, software or hardware and software.The present invention can be in a computer system realizes in a concentrated manner, and perhaps the distribution mode that is dispersed on the computer system of some interconnection with different elements wherein realizes.The computer system or other device that are suitable for carrying out any kind of the method described in the literary composition all are fit to.The combination of typical hardware and software can be the general-purpose computing system with such computer program, and this computer program is controlled this computer system so that this system carries out the method described in the literary composition when being loaded and carry out.
The present invention also can be comprised in the computer program, and this computer program comprises all features that can enable the method described in the literary composition that realizes, and can carry out these methods in being loaded in computer system the time.Computer program in this context refer to be intended to make have information processing capability system directly or after following any one or whole operation, carry out any expression with any language, code and symbolic representation of one group of instruction of specific function: a) convert another kind of language, code or symbol to; B) reproduce with different material form.
The present invention can be presented as other form and can not deviate from spirit of the present invention or base attribute.Therefore, should indicate scope of the present invention with reference to following claim rather than above stated specification.

Claims (16)

1. method that is used for dispensing applications task between client-server, this method may further comprise the steps:
Detection can be carried out the computational resource based on client computer of at least one application task;
At least one indication of this detected computational resource based on client computer sent to be positioned at long-range application server; And
This application server determines that according to this at least one indication at least one application task is distributed to client computer still distributes to server component,
Wherein, described at least one application task comprises voice recognition tasks or Text To Speech convert task, and wherein said determining step perhaps arrives the complexity of speech conversion task at least in part at least in part based on the size of the grammer that uses in this voice recognition tasks based on the text.
2. according to the process of claim 1 wherein, described detection step also comprises the current available resource based on client computer of detection of dynamic, and wherein this method is further comprising the steps of:
When the operation of described application server, repeat described detection of dynamic and transfer step, undertaken by updated information off and on thereby this determining step is based on.
3. according to the process of claim 1 wherein, described determining step is further comprising the steps of:
To be compared with at least one resource threshold before determined that is relevant to described application task by the computational resource based on client computer of described at least one indication indication; And
When described computational resource based on client computer surpasses the resource threshold that this had before determined, this at least one application task is distributed to client computer, otherwise this at least one application task is distributed to server component.
4. according to the method for claim 1, further comprising the steps of:
Be application server task creation resource lower limit;
All application server tasks that will be associated with the resource requirement less than this resource lower limit are distributed to client computer.
5. according to the method for claim 1, further comprising the steps of:
Be the application server task creation resource upper limit;
All application server tasks that will be associated with the resource requirement greater than this resource upper limit are distributed to server component.
6. according to the method for claim 2, further comprising the steps of:
Be application server task creation resource lower limit;
All application server tasks that will be associated with the resource requirement less than this resource lower limit are distributed to client computer;
Be the application server task creation resource upper limit;
All application server tasks that will be associated with the resource requirement greater than this resource upper limit are distributed to server component; And
Carry out described determining step and have all application server tasks of the resource requirement between this resource lower limit and the resource upper limit optionally to distribute.
7. according to the method for claim 1, further comprising the steps of:
Set up following grammer size, all voice recognition tasks that wherein use had the grammer of the size that is associated that is lower than described following grammer size are distributed to client computer.
8. according to the method for claim 1, further comprising the steps of:
Grammer size in the foundation, all voice recognition tasks that wherein use had the grammer of the size that is associated that is higher than described last grammer size are distributed to server component.
9. according to the process of claim 1 wherein, described complexity is to determine according in the required tonequality of the voice of the length of the text that will be changed by Text To Speech and the text-converted that obtains at least one.
10. according to the process of claim 1 wherein, described complexity is to determine according to generating the required multilingual of Text To Speech result.
11. an application service system, this system comprises:
Be positioned at application server and be configured to optionally carry out server engine at least one application task of this application server;
Be located in the client computer of remote location of described application server and be configured to optionally carry out client engine for described at least one application task of this application server;
The load analyzer that is configured to detect the computational resource of described client computer and the indication of these computational resources that are detected is sent to the sharing of load device; And
Be configured to according to the indication that receives from this load analyzer sharing of load device of dispensing applications task between this server engine and this client engine optionally,
Wherein, described application task comprises at least one voice recognition tasks or at least one Text To Speech convert task, and wherein said sharing of load device optionally distributes this voice recognition tasks according to the size of the grammer that uses in this voice recognition tasks at least in part, perhaps distributes the text to the speech conversion task according to the text to the complexity of speech conversion task at least in part.
12. according to the system of claim 11, wherein, described load analyzer is configured to dynamically be identified for the current available resource of described client computer, and wherein this sharing of load device is distributed to this client computer according to current Resource Availability with application task.
13. according to the system of claim 11, wherein, described load analyzer is positioned at this client computer, and wherein this client computer is handheld computing device.
14. according to the system of claim 11, wherein, the computational resource that described load analyzer detects comprise client computer memory capacity, client computer the CPU ability and be used for the communication throughput level of clients exchange data at least two.
15. according to the system of claim 12, wherein, described sharing of load device also comprises:
The resource lower limit, the application task that wherein has the resource requirement that is lower than this resource lower limit always is assigned to described client engine;
The resource upper limit, the application task that wherein has the resource requirement that is higher than this resource upper limit always is assigned to described server engine.
16. according to the system of claim 11, wherein complexity is based at least one factor of the tonequality of the voice that are selected from the length that comprises the text that will be converted, obtain and the text group in the multilingual of speech conversion required by task.
CN200610007304.6A 2005-02-11 2006-02-07 Client / server application task allocation method and application serving system Expired - Fee Related CN1819576B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/056,493 US7548977B2 (en) 2005-02-11 2005-02-11 Client / server application task allocation based upon client resources
US11/056,493 2005-02-11

Publications (2)

Publication Number Publication Date
CN1819576A CN1819576A (en) 2006-08-16
CN1819576B true CN1819576B (en) 2013-07-10

Family

ID=36816904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610007304.6A Expired - Fee Related CN1819576B (en) 2005-02-11 2006-02-07 Client / server application task allocation method and application serving system

Country Status (2)

Country Link
US (1) US7548977B2 (en)
CN (1) CN1819576B (en)

Families Citing this family (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9564004B2 (en) 2003-10-20 2017-02-07 Igt Closed-loop system for providing additional event participation to electronic video game customers
US9613491B2 (en) 2004-12-16 2017-04-04 Igt Video gaming device having a system and method for completing wagers and purchases during the cash out process
US9083798B2 (en) * 2004-12-22 2015-07-14 Nuance Communications, Inc. Enabling voice selection of user preferences
US20060242647A1 (en) * 2005-04-21 2006-10-26 Kimbrel Tracy J Dynamic application placement under service and memory constraints
US20060287865A1 (en) * 2005-06-16 2006-12-21 Cross Charles W Jr Establishing a multimodal application voice
US20060288309A1 (en) * 2005-06-16 2006-12-21 Cross Charles W Jr Displaying available menu choices in a multimodal browser
US8090584B2 (en) 2005-06-16 2012-01-03 Nuance Communications, Inc. Modifying a grammar of a hierarchical multimodal menu in dependence upon speech command frequency
US20060287858A1 (en) * 2005-06-16 2006-12-21 Cross Charles W Jr Modifying a grammar of a hierarchical multimodal menu with keywords sold to customers
US7917365B2 (en) 2005-06-16 2011-03-29 Nuance Communications, Inc. Synchronizing visual and speech events in a multimodal application
US8032825B2 (en) * 2005-06-16 2011-10-04 International Business Machines Corporation Dynamically creating multimodal markup documents
JP5394739B2 (en) * 2005-08-09 2014-01-22 モバイル・ヴォイス・コントロール・エルエルシー Voice-controlled wireless communication device / system
US8073700B2 (en) 2005-09-12 2011-12-06 Nuance Communications, Inc. Retrieval and presentation of network service results for mobile device using a multimodal browser
US8719034B2 (en) 2005-09-13 2014-05-06 Nuance Communications, Inc. Displaying speech command input state information in a multimodal browser
US9330668B2 (en) * 2005-12-20 2016-05-03 International Business Machines Corporation Sharing voice application processing via markup
US8992304B2 (en) 2006-04-13 2015-03-31 Igt Methods and systems for tracking an event of an externally controlled interface
US8968077B2 (en) 2006-04-13 2015-03-03 Idt Methods and systems for interfacing with a third-party application
US8784196B2 (en) 2006-04-13 2014-07-22 Igt Remote content management and resource sharing on a gaming machine and method of implementing same
US10026255B2 (en) 2006-04-13 2018-07-17 Igt Presentation of remotely-hosted and locally rendered content for gaming systems
US8777737B2 (en) * 2006-04-13 2014-07-15 Igt Method and apparatus for integrating remotely-hosted and locally rendered content on a gaming device
US8512139B2 (en) 2006-04-13 2013-08-20 Igt Multi-layer display 3D server based portals
US9028329B2 (en) 2006-04-13 2015-05-12 Igt Integrating remotely-hosted and locally rendered content on a gaming device
US9208785B2 (en) * 2006-05-10 2015-12-08 Nuance Communications, Inc. Synchronizing distributed speech recognition
US20070274297A1 (en) * 2006-05-10 2007-11-29 Cross Charles W Jr Streaming audio from a full-duplex network through a half-duplex device
US7848314B2 (en) * 2006-05-10 2010-12-07 Nuance Communications, Inc. VOIP barge-in support for half-duplex DSR client on a full-duplex network
JP4800837B2 (en) * 2006-05-22 2011-10-26 株式会社日立製作所 Computer system, power consumption reduction method thereof, and program thereof
US8073941B2 (en) 2006-05-25 2011-12-06 AppToU Technologies Ltd. Method and system for providing remote access to applications
US8332218B2 (en) * 2006-06-13 2012-12-11 Nuance Communications, Inc. Context-based grammars for automated speech recognition
US7676371B2 (en) * 2006-06-13 2010-03-09 Nuance Communications, Inc. Oral modification of an ASR lexicon of an ASR engine
US8145493B2 (en) * 2006-09-11 2012-03-27 Nuance Communications, Inc. Establishing a preferred mode of interaction between a user and a multimodal application
US8374874B2 (en) 2006-09-11 2013-02-12 Nuance Communications, Inc. Establishing a multimodal personality for a multimodal application in dependence upon attributes of user interaction
US8086463B2 (en) 2006-09-12 2011-12-27 Nuance Communications, Inc. Dynamically generating a vocal help prompt in a multimodal application
US7957976B2 (en) * 2006-09-12 2011-06-07 Nuance Communications, Inc. Establishing a multimodal advertising personality for a sponsor of a multimodal application
US8073697B2 (en) 2006-09-12 2011-12-06 International Business Machines Corporation Establishing a multimodal personality for a multimodal application
US8355709B2 (en) * 2006-10-23 2013-01-15 Qualcomm Incorporated Device that determines whether to launch an application locally or remotely as a webapp
US20090156303A1 (en) 2006-11-10 2009-06-18 Igt Bonusing Architectures in a Gaming Environment
US9311774B2 (en) 2006-11-10 2016-04-12 Igt Gaming machine with externally controlled content display
US7827033B2 (en) * 2006-12-06 2010-11-02 Nuance Communications, Inc. Enabling grammars in web page frames
US8069047B2 (en) * 2007-02-12 2011-11-29 Nuance Communications, Inc. Dynamically defining a VoiceXML grammar in an X+V page of a multimodal application
US7801728B2 (en) 2007-02-26 2010-09-21 Nuance Communications, Inc. Document session replay for multimodal applications
US8150698B2 (en) 2007-02-26 2012-04-03 Nuance Communications, Inc. Invoking tapered prompts in a multimodal application
US8713542B2 (en) * 2007-02-27 2014-04-29 Nuance Communications, Inc. Pausing a VoiceXML dialog of a multimodal application
US20080208589A1 (en) * 2007-02-27 2008-08-28 Cross Charles W Presenting Supplemental Content For Digital Media Using A Multimodal Application
US7840409B2 (en) * 2007-02-27 2010-11-23 Nuance Communications, Inc. Ordering recognition results produced by an automatic speech recognition engine for a multimodal application
US9208783B2 (en) * 2007-02-27 2015-12-08 Nuance Communications, Inc. Altering behavior of a multimodal application based on location
US7822608B2 (en) * 2007-02-27 2010-10-26 Nuance Communications, Inc. Disambiguating a speech recognition grammar in a multimodal application
US7809575B2 (en) * 2007-02-27 2010-10-05 Nuance Communications, Inc. Enabling global grammars for a particular multimodal application
US8938392B2 (en) * 2007-02-27 2015-01-20 Nuance Communications, Inc. Configuring a speech engine for a multimodal application based on location
US20080208586A1 (en) * 2007-02-27 2008-08-28 Soonthorn Ativanichayaphong Enabling Natural Language Understanding In An X+V Page Of A Multimodal Application
US8843376B2 (en) 2007-03-13 2014-09-23 Nuance Communications, Inc. Speech-enabled web content searching using a multimodal browser
US7945851B2 (en) * 2007-03-14 2011-05-17 Nuance Communications, Inc. Enabling dynamic voiceXML in an X+V page of a multimodal application
US8670987B2 (en) * 2007-03-20 2014-03-11 Nuance Communications, Inc. Automatic speech recognition with dynamic grammar rules
US8515757B2 (en) 2007-03-20 2013-08-20 Nuance Communications, Inc. Indexing digitized speech with words represented in the digitized speech
US20080235029A1 (en) * 2007-03-23 2008-09-25 Cross Charles W Speech-Enabled Predictive Text Selection For A Multimodal Application
US8909532B2 (en) * 2007-03-23 2014-12-09 Nuance Communications, Inc. Supporting multi-lingual user interaction with a multimodal application
US8788620B2 (en) * 2007-04-04 2014-07-22 International Business Machines Corporation Web service support for a multimodal client processing a multimodal application
US8862475B2 (en) * 2007-04-12 2014-10-14 Nuance Communications, Inc. Speech-enabled content navigation and control of a distributed multimodal browser
US8725513B2 (en) * 2007-04-12 2014-05-13 Nuance Communications, Inc. Providing expressive user interaction with a multimodal application
US8108864B2 (en) * 2007-06-01 2012-01-31 International Business Machines Corporation Method and system for dynamically tracking arbitrary task dependencies on computers in a grid environment
US8065429B2 (en) 2007-06-28 2011-11-22 Nokia Corporation System, apparatus and method for associating an anticipated success indication with data delivery
US8229081B2 (en) * 2008-04-24 2012-07-24 International Business Machines Corporation Dynamically publishing directory information for a plurality of interactive voice response systems
US8082148B2 (en) * 2008-04-24 2011-12-20 Nuance Communications, Inc. Testing a grammar used in speech recognition for reliability in a plurality of operating environments having different background noise
US8121837B2 (en) * 2008-04-24 2012-02-21 Nuance Communications, Inc. Adjusting a speech engine for a mobile computing device based on background noise
US8214242B2 (en) * 2008-04-24 2012-07-03 International Business Machines Corporation Signaling correspondence between a meeting agenda and a meeting discussion
US9349367B2 (en) * 2008-04-24 2016-05-24 Nuance Communications, Inc. Records disambiguation in a multimodal application operating on a multimodal device
US8903981B2 (en) * 2008-05-05 2014-12-02 International Business Machines Corporation Method and system for achieving better efficiency in a client grid using node resource usage and tracking
US8516037B2 (en) * 2008-06-16 2013-08-20 International Business Machines Corporation Methods for dynamic partitioning of applications in client-server environments
US8108467B2 (en) * 2008-06-26 2012-01-31 International Business Machines Corporation Load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer
US8387064B2 (en) 2008-10-09 2013-02-26 International Business Machines Corporation Balancing a data processing load among a plurality of compute nodes in a parallel computer
JP5448032B2 (en) * 2008-12-25 2014-03-19 インターナショナル・ビジネス・マシーンズ・コーポレーション Resource management apparatus, resource management program, and resource management method
US7925760B2 (en) * 2009-03-18 2011-04-12 International Business Machines Corporation Achieving at least substantially constant processing request throughput within environment having varying resource availability
US9412137B2 (en) * 2009-04-01 2016-08-09 Honeywell International Inc. Cloud computing for a manufacturing execution system
US8555381B2 (en) * 2009-04-01 2013-10-08 Honeywell International Inc. Cloud computing as a security layer
US7970830B2 (en) * 2009-04-01 2011-06-28 Honeywell International Inc. Cloud computing for an industrial automation and manufacturing system
US9218000B2 (en) 2009-04-01 2015-12-22 Honeywell International Inc. System and method for cloud computing
US8204717B2 (en) * 2009-04-01 2012-06-19 Honeywell International Inc. Cloud computing as a basis for equipment health monitoring service
US8380513B2 (en) * 2009-05-19 2013-02-19 International Business Machines Corporation Improving speech capabilities of a multimodal application
US9239740B2 (en) * 2009-06-16 2016-01-19 Microsoft Technology Licensing, Llc Program partitioning across client and cloud
US8290780B2 (en) 2009-06-24 2012-10-16 International Business Machines Corporation Dynamically extending the speech prompts of a multimodal application
US8510117B2 (en) * 2009-07-09 2013-08-13 Nuance Communications, Inc. Speech enabled media sharing in a multimodal application
US8838797B2 (en) * 2009-07-10 2014-09-16 Empire Technology Development Llc Dynamic computation allocation
US8416714B2 (en) * 2009-08-05 2013-04-09 International Business Machines Corporation Multimodal teleconferencing
US8620879B2 (en) * 2009-10-13 2013-12-31 Google Inc. Cloud based file storage service
US9141433B2 (en) * 2009-12-18 2015-09-22 International Business Machines Corporation Automated cloud workload management in a map-reduce environment
US20110184740A1 (en) * 2010-01-26 2011-07-28 Google Inc. Integration of Embedded and Network Speech Recognizers
US8930896B1 (en) * 2010-07-23 2015-01-06 Amazon Technologies, Inc. Data anonymity and separation for user computation
US9467507B2 (en) * 2011-01-03 2016-10-11 Verizon Patent And Licensing Inc. Wireless network cloud computing resource management
CN102622265A (en) * 2011-01-28 2012-08-01 天脉聚源(北京)传媒科技有限公司 Method and system for task distribution
US8612580B2 (en) 2011-05-31 2013-12-17 Microsoft Corporation Distributed computing framework
US9466173B2 (en) 2011-09-30 2016-10-11 Igt System and method for remote rendering of content on an electronic gaming machine
US9524609B2 (en) 2011-09-30 2016-12-20 Igt Gaming system, gaming device and method for utilizing mobile devices at a gaming establishment
US10165036B1 (en) * 2011-12-21 2018-12-25 Amazon Technologies, Inc. Network resource remote process execution
US9129469B2 (en) 2012-09-11 2015-09-08 Igt Player driven game download to a gaming machine
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US9065829B2 (en) * 2013-03-21 2015-06-23 Nextbit Systems Inc. Automatic resource balancing for multi-device applications
EP2863584A1 (en) * 2013-10-17 2015-04-22 Alcatel Lucent Method and device for the allocation of software tasks
JP6302096B2 (en) * 2014-02-24 2018-03-28 華為技術有限公司Huawei Technologies Co.,Ltd. Information processing method and apparatus in M2M
US9734817B1 (en) * 2014-03-21 2017-08-15 Amazon Technologies, Inc. Text-to-speech task scheduling
DE102014108483A1 (en) * 2014-06-17 2015-12-17 Datenlotsen Informationssysteme Gmbh Client-server system and terminal
JP6349264B2 (en) * 2015-01-19 2018-06-27 株式会社日立製作所 Computing resource allocation method and system
US10503145B2 (en) 2015-03-25 2019-12-10 Honeywell International Inc. System and method for asset fleet monitoring and predictive diagnostics using analytics for large and varied data sources
US10055930B2 (en) 2015-08-11 2018-08-21 Igt Gaming system and method for placing and redeeming sports bets
US10671428B2 (en) * 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9667708B1 (en) 2015-12-30 2017-05-30 International Business Machines Corporation Boost orchestrator for client-server architectures
US10657199B2 (en) 2016-02-25 2020-05-19 Honeywell International Inc. Calibration technique for rules used with asset monitoring in industrial process control and automation systems
US10776706B2 (en) 2016-02-25 2020-09-15 Honeywell International Inc. Cost-driven system and method for predictive equipment failure detection
US10878318B2 (en) 2016-03-28 2020-12-29 Google Llc Adaptive artificial neural network selection techniques
US10192555B2 (en) 2016-04-28 2019-01-29 Microsoft Technology Licensing, Llc Dynamic speech recognition data evaluation
US10853482B2 (en) 2016-06-03 2020-12-01 Honeywell International Inc. Secure approach for providing combined environment for owners/operators and multiple third parties to cooperatively engineer, operate, and maintain an industrial process control and automation system
US10310467B2 (en) 2016-08-30 2019-06-04 Honeywell International Inc. Cloud-based control platform with connectivity to remote embedded devices in distributed control system
US10725759B2 (en) * 2016-10-03 2020-07-28 Avaya Inc. Web application system and method to dynamically select between local installed and cloud-based resources
US10768970B2 (en) 2017-12-29 2020-09-08 Virtual Instruments Corporation System and method of flow source discovery
US11223534B2 (en) 2017-12-29 2022-01-11 Virtual Instruments Worldwide, Inc. Systems and methods for hub and spoke cross topology traversal
US11237550B2 (en) 2018-03-28 2022-02-01 Honeywell International Inc. Ultrasonic flow meter prognostics with near real-time condition based uncertainty analysis
CN108829513A (en) * 2018-05-21 2018-11-16 深圳市沃特沃德股份有限公司 Wireless headset distributes the method and device thereof of task automatically
WO2020092852A1 (en) * 2018-10-31 2020-05-07 Virtual Instruments Corporation Methods and system for throttling analytics processing
DE102019206923B3 (en) * 2019-05-13 2020-08-13 Volkswagen Aktiengesellschaft Method for running an application on a distributed system architecture
WO2020258098A1 (en) * 2019-06-26 2020-12-30 Orange Deploying computing tasks on client computing apparatus
KR20220064056A (en) * 2020-11-11 2022-05-18 삼성전자주식회사 Electronic device for managing task for processing audio signal
US11687370B2 (en) * 2020-11-23 2023-06-27 International Business Machines Corporation Activity assignment based on resource and service availability

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546538A (en) * 1993-12-14 1996-08-13 Intel Corporation System for processing handwriting written by user of portable computer by server or processing by the computer when the computer no longer communicate with server
CN1489856A (en) * 2000-12-22 2004-04-14 Communication apparatus and method for communication system having interactive voice function

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08287162A (en) * 1995-02-14 1996-11-01 Toshiba Corp Work flow system
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US6826580B2 (en) * 2000-01-20 2004-11-30 Emc Corporation Distributed storage resource management in a storage area network
US7140020B2 (en) * 2000-01-28 2006-11-21 Hewlett-Packard Development Company, L.P. Dynamic management of virtual partition computer workloads through service level optimization
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US6937986B2 (en) * 2000-12-28 2005-08-30 Comverse, Inc. Automatic dynamic speech recognition vocabulary based on external sources of information
US7111300B1 (en) * 2001-01-12 2006-09-19 Sun Microsystems, Inc. Dynamic allocation of computing tasks by second distributed server set
EP1310869A1 (en) * 2001-11-12 2003-05-14 Hewlett-Packard Company Data processing system and method
US20040021764A1 (en) 2002-01-28 2004-02-05 Be Here Corporation Visual teleconferencing apparatus
US20030236813A1 (en) 2002-06-24 2003-12-25 Abjanic John B. Method and apparatus for off-load processing of a message stream
US20030236890A1 (en) 2002-06-25 2003-12-25 Intel Corporation Wireless communication device and method for sharing device resources
US7016845B2 (en) * 2002-11-08 2006-03-21 Oracle International Corporation Method and apparatus for providing speech recognition resolution on an application server

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546538A (en) * 1993-12-14 1996-08-13 Intel Corporation System for processing handwriting written by user of portable computer by server or processing by the computer when the computer no longer communicate with server
CN1489856A (en) * 2000-12-22 2004-04-14 Communication apparatus and method for communication system having interactive voice function

Also Published As

Publication number Publication date
US7548977B2 (en) 2009-06-16
CN1819576A (en) 2006-08-16
US20060184626A1 (en) 2006-08-17

Similar Documents

Publication Publication Date Title
CN1819576B (en) Client / server application task allocation method and application serving system
CN108510082B (en) Method and device for processing machine learning model
US8140674B2 (en) Autonomic service routing using observed resource requirement for self-optimization
JP4481944B2 (en) Method and system for migrating applications between different devices
CN100418057C (en) Method and system for grid-enabled virtual machines with distributed management of applications
CN110851237B (en) Container cross-isomerism cluster reconstruction method for domestic platform
CN1684034A (en) Application of data-binding mechanism to perform command binding
US7302681B2 (en) Method and system for customized information handling system support updates
CN112313627B (en) Mapping mechanism of event to serverless function workflow instance
CN110471735A (en) Operational view interface method for pushing and device
CN100596139C (en) System and method for building component applications using metadata defined mapping between message and data domains
JP2021121921A (en) Method and apparatus for management of artificial intelligence development platform, and medium
US8495664B2 (en) System, method and program product for invoking a remote method
CN114490086A (en) Method, device, electronic equipment, medium and program product for dynamically adjusting resources
US20030046660A1 (en) Computer program for generating another computer program based on STM
CN101039320A (en) Method and apparatus for providing an interface between a client application and a web service
CN106302125A (en) A kind of solicited message is responded method, Apparatus and system
CN116820714A (en) Scheduling method, device, equipment and storage medium of computing equipment
Benoit et al. Scheduling skeleton-based grid applications using PEPA and NWS
CN109660392A (en) Hardware unitizes adaptive management dispositions method and system under a kind of linux system
WO2019139738A1 (en) Extensible input stack for processing input device data
CN113138900B (en) Data acquisition processing method and device and electronic equipment
CN115145722A (en) System and method for switching micro-service architecture and single architecture
CN112765022B (en) Webshell static detection method based on data stream and electronic equipment
CN101520861A (en) Data event sending method and device and event handling system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NEW ANST COMMUNICATION CO.,LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINE CORP.

Effective date: 20091002

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20091002

Address after: Massachusetts, USA

Applicant after: Nuance Communications Inc

Address before: American New York

Applicant before: International Business Machines Corp.

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: 20130710

Termination date: 20170207

CF01 Termination of patent right due to non-payment of annual fee