CN1225472A - 服务器内调度和分派排队客户请求的装置和方法 - Google Patents
服务器内调度和分派排队客户请求的装置和方法 Download PDFInfo
- Publication number
- CN1225472A CN1225472A CN98125972A CN98125972A CN1225472A CN 1225472 A CN1225472 A CN 1225472A CN 98125972 A CN98125972 A CN 98125972A CN 98125972 A CN98125972 A CN 98125972A CN 1225472 A CN1225472 A CN 1225472A
- Authority
- CN
- China
- Prior art keywords
- request
- client
- server
- priority
- client requests
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/465—Distributed object oriented systems
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种在面向对象的异类客户—服务器计算环境中调度并分派客户请求供服务器对象执行的装置,该装置包含:一个存储请求的缓冲器,缓冲器有一个输入端和一个输出端,前者与一个向该装置输送客户请求的通讯通道相连;与缓冲器输出端相连的多个执行线程;一个调度装置,用于将缓冲器中存储的客户请求分配到多个执行线程,其特点是,调度装置根据一个优先级确定规则来排定缓冲器中存储的客户请求的优先顺序,该优先级确定规则既考虑多个执行线程的状态也考虑被存储的各请求的性质。
Description
本发明涉及客户-服务器(也叫“分布式”)计算领域,其中一个计算设备(“客户机”)请求另一个计算设备(“服务器”)去执行客户机的部分工作。
过去几年以来,客户-服务器计算在信息技术世界中已经变得越来越重要。这种分布式计算允许-台计算机将其某些工作委托给另一台计算机,后者-例如-有可能更适于执行该工作。
客户-服务器计算的益处,由于使用了称为面向对象的程序设计(OOP)这种著名的计算机程序设计技术,已经进一步得到加强。面向对象的程序设计允许客户机与服务器位于不同的(异类的)“平台”。平台是计算机用来进行工作的特定硬件-软件-操作系统-通讯协议的一种组合。OOP允许客户应用程序和服务器应用程序在它们自己的平台上运行,而无须考虑客户应用程序的工作请求将如何与服务器应用程序通信并被接受。同样,服务器应用程序无须考虑OOP系统将如何接收、转换服务器应用程序的处理结果并将其传送回发出请求的客户应用程序。
OOP技术如何与异类客户-服务器系统结合,其细节在美国专利号5,440,744和欧洲专利公开申请号EP0677,943A2中有所解释。本文引用这两篇公开文献作为参考。不过,下文将给出一例基本体系结构,以利读者有上下文来理解本发明的环境。
如图1所示,客户机10(例如可以是一台安装了IBMOS/2操作系统的个人电脑)有一个应用程序40在其操作系统上运行(“IBM”和“OS/2”是IBM公司的商标)。应用程序40将定期地要求将工作在服务器计算机20上执行,并且/或者将数据从服务器20返回,供应用程序40以后使用。服务器计算机20例如可以是一个运行IBM的MVS操作系统的高能主计算机(MVS也是IBM公司的商标)。就本发明来说,要求由服务器执行通讯访问的请求,是用户与第一个应用程序40的交互作用提出的,还是应用程序40不依赖用户的交互作用而独立操作、在程序运行期间自动提出请求的,这对于本发明来说无关紧要。
当客户计算机10希望提出一个请求,要求服务器计算机20的服务时,第一应用程序40向第一逻辑装置50通知所要求的服务。通知方法例如是,将某个远程过程的名称连同一列输入和输出参数一起发送给第一逻辑装置50。第一逻辑装置50然后处理这样的任务,即通过查阅在存储器60中存储的对可用通讯服务的定义,建立与第二计算机的必要通讯。所有可能的服务都被定义成一个对象类内聚框架(cohesive framework of object classess),这些类(class)是从一个单一对象类导出的。用这种方法来定义服务在效能和可重用性方面具有很多优点。
为了建立与服务器20的必要通讯,第一逻辑装置50首先判断需要使用框架中的哪个对象类,然后创建该对象的一个实例(instance);向该对象发送一个信息,以使该对象调用它的一个子程序(method)。其结果是通过连接装置80建立了与服务器计算机20的链路,随后发送一个请求到第二逻辑装置90。
第二逻辑装置90将请求传递到服务器计算机20上运行的第二应用程序100(本文以下称为服务应用程序),以便服务应用程序100能执行该请求要求的特定任务,例如运行一个数据检索过程。该任务一旦完成,服务应用程序可能需要将结果发送回第一计算机10。服务应用程序100在执行请求任务期间以及在向第一计算机10反馈结果时,与第二逻辑装置90交互作用。第二逻辑装置90建立对象的实例,并在服务器应用程序100要求时,按要求调用这些对象的适当子程序。对象实例是根据存储器110中存储的对象类内聚框架创建的。
由于采用以上技术,客户应用程序40就不向通讯体系结构暴露。此外,服务应用程序100是通过为其环境的标准机构被调用的,所以它不知道自己正被远程调用。
对象管理组织(OMG)是一个国际性组织,涉及在图1所示异类平台上的客户-服务器计算的各个方面。OMG已经发布了客户计算机(例如10)与服务器计算机(例如20)通讯(以OOP形式)的公开标准。这些标准中有一部分定义了一种对象请求代理器(ORB-Object Request Broker),它起着客户机与服务器计算机之间面向对象的桥路的作用。ORB从面向对象的执行细节中断开客户和服务器应用程序的连接,至少执行第一第二逻辑装置50与90以及连接装置80的部分工作。
图2表示这种系统的常规体系结构。一旦客户请求经过对象请求代理器21进入服务器,对象请求代理器就寻找能执行请求的某个服务器对象,并将请求发送给该服务器对象的对象适配器22(也由OMG标准定义),请求被存储在对象适配器的缓冲器中,等待由服务器对象处理。缓冲器是一个先进先出队列,在缓冲器一端收到的第一个请求第一个从另一端离开。服务器对象有多个并行执行线程(23a、23b、23c),服务器对象可以在其中任何线程上执行自己的一个实例。这样,服务器对象就可以同时处理多个请求。对象适配器22负责查看并行的执行线程中哪个准备好执行另一个请求,并将位于缓冲器外出端的请求分配给下一个可用执行线程。这在上述美国专利中被描述成服务器将排队请求分派给执行线程的“分派”机制。
这种现有体系结构的一个重要问题是,执行客户请求的应答时间不可预测。就是说,某个客户请求在服务器对象的对象适配器队列22中可能排在许多其它请求之后,有时该特定客户请求又可能是队列中的唯一请求。等待回答的客户无法预测何时能收到服务器对象的应答。另一个问题是,在请求对象适配器队列中,非常重要的客户请求可能会排在不太重要的请求之后。
这种可预测性问题阻碍了用异类客户-服务器系统来执行分布式处理,使这类分布式处理-特别是当要求执行环境一致、可预测、有保障时一只能在同类客户-服务器体系结构(例如访问主计算机的计算机终端)上执行。
本发明的一个方面是,提供一种在面向对象的异类客户-服务器计算环境中调度并分派客户请求供服务器对象执行的装置,该装置包含:一个存储请求的缓冲器,缓冲器有一个输入端和一个输出端,前者与一个向该装置输送客户请求的通讯通道相连;与缓冲器输出端相连的多个并行执行线程;一个调度装置,用于将缓冲器中存储的客户请求分配到多个执行线程,其特点是,调度装置根据一个优先级确定规则来排定缓冲器中存储的客户请求的优先顺序,其中,优先级确定规则既考虑多个执行线程的状态也考虑被存储的各请求的性质。
最好是,缓冲器包含在对象适配器内。
最好是,调度装置用优先级确定规则来为缓冲器中的各请求分配优先级值,并将缓冲器中较高优先级值请求放在较低优先级值请求的前面,使最高优先级值的请求下一个被调度,供服务器对象执行。
本发明的第二个方面是,提供一种在面向对象的异类客户-服务器计算环境中调度并分派客户请求供服务器对象执行的方法,该方法包含以下步骤:确定关于多个输入的排队的客户请求中各请求的信息;确定关于服务器对象的多个并行的执行线程中各执行线程的信息;将一个优先级确定规则应用到所述确定步骤所获得的信息;根据所述应用步骤的结果,调度从多个排队请求组成的队列进行分派的顺序。
本发明的第三个方面是,提供一种计算机程序产品,它在计算机上运行时,执行本发明第二个方面的方法。
因此,运用本发明来处理排队客户请求,就能更加有效、更易控制,极大地提高了向客户返回结果的可预测性。高优先级的客户请求能在低优先级的客户请求之前得到处理,可以在执行线程之间进行工作负荷管理,从而使排队请求的处理效率高,可以预测。
要更好地理解上述发明,可以阅读下文结合以下各附图对一个最佳实施例的详细说明。
图1的框图表示一种已知的采用对象技术的异类客户-服务器体系结构,本发明可应用到其上下文。
图2是按照常规设计的一种服务器体系结构的框图。
图3是按照本发明一个最佳实施例的一种服务器体系结构的框图。
图4是表示按照本发明一个最佳实施例的处理步骤的一个流程图。
图5是表示按照本发明一个最佳实施例,在分配优先级之后,对象适配器的队列中的请求。
图6是表示按照本发明一个最佳实施例,在请求被根据所分配优先级而重新排序之后,对象适配器的队列中的请求。
在图3的最佳实施例中,服务器进程接收的来自客户进程的请求,首先由服务器的对象请求代理器31接收。ORB31然后将以某服务器对象为目的地的请求传递到该服务器对象的对象适配器32。该服务器对象有多个并行的执行线程33a、33b、33c,各执行线程上能并行运行该服务器对象的不同实例,以便执行大量的客户请求。这些与上述的图2表示的现有技术类似。
根据图3表示的本发明的最佳实施例,在图2表示的现有技术中附加了软件单元。这些附加软件单元是优先级确定单元34和请求重定序单元35。优先级确定单元34从对象适配器32接收一个输入,也从各执行线程33a~33c接收输入并向对象适配器32提供一个输出。请求重定序单元35与对象适配器32之间有一条输入输出双向连路。
在以下为说明本最佳实施例的操作而描述的例子中,服务器对象代表一个银行帐户。于是对象适配器32中排队的各种请求都是要访问某银行帐户的请求。有一个排队请求是来自某客户ATM(自动柜员机)要求从该帐户提取资金的请求。发出该请求的请求人,拥有该帐户,并希望提取一些资金。发出第二个排队请求的是一个直接存工资的付款方客户。该请求来自该帐户所有人的雇主,雇主正要将雇主发的月工资加到该帐户所有人的银行帐户中。第三个排队请求来自另一个客户ATM,目的是查看该帐户的余额。发出该请求的是帐户所有人的太太,她在城中与所有人不同地点的另一个ATM上。第四个请求是个直接借贷请求,发自向该帐户所有人的家庭供电的电力公司。该请求是要从该帐户转出一个月的电费。
优先级确定单元34根据一个程序化的规则运行,以确定在对象适配器32中等待由服务器对象执行的各排队请求的优先级。例如,规则的一部分规定,查看帐户余额的请求应赋予一个低优先级值,因为对于该客户来说,如果先执行其它等待的请求,然后再答复其请求,则答复结果将更有意义。就是说,如果大笔资金将要通过直接借贷而被转出该帐户,要求查看帐户余额的请求人最好在直接借贷发生之后而不是直接借贷发生之前得到余额通知。只有这样,查看余额的请求人才能得到最新的余额通知。
规则的另一部分规定,如果线程33a、33b和33c上负荷很重(正在执行高于一般层次的处理),处理负荷较轻的请求被赋予较高的优先级值。例如,加入帐户所有人的工资的请求,不需要太多的客户交互作用,诸如验明客户身份的PIN(个人身份号码)查验例程,因为这是向帐户存款的请求,而不是取款请求。因此这种请求涉及的处理负荷较轻,在执行线程负荷很重的时期,应当赋予较高的优先级。
规则的另一部分可能会规定,队列中的某个客户的请求应比其它客户有更高的优先级。例如,在ATM等待的银行帐户的所有人应比直接借贷和直接存款请求的优先级更高。另一种选择是,直接存款请求可以比任何借贷请求的优先级更高,这样就会增加帐户中资金足够用于借贷的机会。
规则的确切细节可以按照程序员希望的特定方式而定夺,这样就能灵活地控制由优先级确定单元34执行的优先确定。
于是,优先级确定单元34从对象适配器32中的排队请求接受输入,以确定各排队请求的性质。优先级确定单元34也从执行线程33a、33b和33c接受输入,以确定它们当前的状态。然后,优先级确定单元34为每个排队请求分配一个优先级值,优先级值的范围是最高值到最低值。
接着,请求重定序单元35检查每个排队请求分到的优先级值,并根据它们的优先级值重新排定排队请求的次序,使最高优先级值的请求排在队列的顶部,下一个分派给执行线程,其它请求按优先级值的降序而降序排列。
应当注意,排队请求的次序可以动态改变,就是说,如果系统状态发生变化,则即使重定序单元35已经重新排定了请求的次序,该次序也可以改变。例如,如果在重定序单元35重新排定了排队请求的次序后,线程33b突然被释放,则优先级确定单元34就执行程序化规则的这样的规定部分,即如果线程33b被释放,则应将高优先级值赋予计算密集型请求(例如帐户所有人要求从ATM提取资金的请求,这种请求涉及PIN查验以及其它的客户交互作用)。这种做法的原因例如是,线程33b特别适合处理较重的处理负荷,所以一旦释放,就应尽快调度一个适当的请求在线程33b上执行,以尽量高效率地平衡各线程间的工作负荷。为此,程序员也可以设置优先级确定单元对其输入应用该项规则的频率。一种选择是,队列中每收到一个新请求时;另一种选择是,每当从队列分派一个请求时;第三种选择是,经过预定的一段时间后(例如5秒)。
再者,程序员可以按照其精确要求来编制由优先级确定单元34遵循的规则。例如,如果程序员认定,有效地平衡工作负荷比向客户报告最新的帐户余额更重要,则可以精确地设定几个优先级,当线程33b释放时,就将比帐户余额查询请求更高级的优先级赋予处理负荷较重的请求。
本发明的最佳实施例执行的步骤如图4的流程图所示。
在步骤41,优先级确定单元34检查在对象适配器32的队列中等待的各个请求。步骤42,优先级确定单元34检查各线程33a、33b和33c的状态。步骤43,优先级确定单元用从步骤41和42收集的信息作为某优先确定规则的输入参数。如上所述,该规则以及预先编制,反映了程序员希望的优先确定方案。
步骤44,优先级确定单元34根据步骤43对各排队请求应用优先确定规则的结果,为每个排队请求分配一个值。确切地说,在对象适配器32的队列中等待的各个请求都被赋予一个数字值,这种值依赖于对该请求应用优先确定规则的结果。
例如,如图5所示,在对象适配器32的队列中等待着3个请求:请求1(若是采用现有技术的先进先出系统,该请求应当是下一个离开队列的请求),请求2(紧邻请求1之后),请求3(紧邻请求2之后)。当在步骤43应用规则后,如果请求1得到优先级值2,请求2得到优先级值3,请求3得到优先级值1,则这些数字值被存储在栏502,该栏与登载各排队请求的列表栏501并排。
步骤45,请求重定序单元35检查对象适配器32的队列的栏502,重新排定栏501中的请求的次序,使得最高优先级的请求(请求3)位于栏501的顶部(见图6),其它两个请求按照它们得到的优先级顺序排在该第一个请求之后。
这样,本发明向分布式异类处理平台上下文提供了为当今商务处理环境所要求的高度可预测、高效率的结果。大量的客户由于系统范围的负荷平衡而因此得以高效地使用服务器可用资源。此外,就客户每次调用位于异类平台的服务器对象的保障处理时间而言,客户也能从服务器得到一致性的、高度可预测的结果。
Claims (8)
1.一种在面向对象的异类客户-服务器计算环境中调度并分派客户请求供服务器对象执行的装置,该装置的特征在于包含:
一个存储请求的缓冲器,缓冲器有一个输入端和一个输出端,前者与一个向该装置输送客户请求的通讯通道相连;
与缓冲器输出端相连的多个并行执行线程;
一个调度装置,用于将缓冲器中存储的客户请求分配到多个执行线程,其特点是:调度装置根据一个优先级确定规则来排定缓冲器中存储的客户请求的优先顺序,该优先级确定规则既考虑多个执行线程的状态也考虑被存储的各请求的性质。
2.权利要求1的装置,其特征在于缓冲器包含在一个对象适配器内。
3.权利要求1的装置,其特征在于,调度装置应用优先级确定规则来为缓冲器中的各请求分配优先级值,并在缓冲器中将较高优先级值请求放在较低优先级值请求的前面,使最高优先级值的请求下一个被调度,供服务器对象执行。
4.一种在面向对象的异类客户-服务器计算环境中调度并分派客户请求供服务器对象执行的方法,该方法包含以下步骤:
确定关于多个输入的排队的客户请求中各请求的信息;
确定关于服务器对象的多个并行的执行线程中各执行线程的信息;
将一个优先级确定规则应用到该确定步骤所获得的信息;
根据该应用步骤的结果,调度从多个排队请求组成的队列进行分派的顺序。
5.权利要求4的方法,其特征在于缓冲器包含在一个对象适配器内。
6.权利要求4的方法,其特征在于,应用步骤的结果是,通过应用优先级确定规则为缓冲器中的各个排队的请求分配优先级值;调度步骤将队列中较高优先级值请求放在较低优先级值请求的前面,使最高优先级值的请求下一个被调度,供服务器对象执行。
7.权利要求4的方法,其特征在于,应用步骤执行的频率由程序员选择。
8.一种在计算机可读介质上存储的计算机程序产品,当用于在计算机上运行时,执行一种在面向对象的异类客户-服务器计算环境中调度并分派客户请求供服务器对象执行的方法,其特征在于包含以下步骤:
确定关于多个输入的排队的客户请求中各请求的信息;
确定关于服务器对象的多个并行的执行线程中各执行线程的信息;
将一个优先级确定规则应用到该确定步骤所获得的信息;
根据该应用步骤的结果,调度从多个排队请求组成的队列进行分派的顺序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9802294A GB2334116A (en) | 1998-02-04 | 1998-02-04 | Scheduling and dispatching queued client requests within a server computer |
GB9802294.0 | 1998-02-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1225472A true CN1225472A (zh) | 1999-08-11 |
Family
ID=10826386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98125972A Pending CN1225472A (zh) | 1998-02-04 | 1998-12-31 | 服务器内调度和分派排队客户请求的装置和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6505250B2 (zh) |
EP (1) | EP0935194A3 (zh) |
JP (1) | JPH11259443A (zh) |
KR (1) | KR100322724B1 (zh) |
CN (1) | CN1225472A (zh) |
GB (1) | GB2334116A (zh) |
TW (1) | TW494357B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1314245C (zh) * | 2003-08-22 | 2007-05-02 | 中国科学院研究生院 | 虚拟目的地排队交换系统的一种调度方法 |
CN100347675C (zh) * | 2004-06-29 | 2007-11-07 | 北京大学 | 应用服务器的性能优化方法 |
CN101295269B (zh) * | 2008-05-26 | 2010-06-09 | 浙江大学 | 一种基于事务的构件交互同步的方法 |
CN101069161B (zh) * | 2004-12-01 | 2010-10-06 | 索尼计算机娱乐公司 | 调度方法、调度装置和多处理器系统 |
CN101299758B (zh) * | 2008-05-21 | 2011-05-11 | 网御神州科技(北京)有限公司 | 一种大规模事件处理的规则群组系统及处理方法 |
WO2012048622A1 (zh) * | 2010-10-15 | 2012-04-19 | 珠海举天软件科技有限公司 | 计算机系统及其工作方法 |
US8296770B2 (en) | 2005-11-08 | 2012-10-23 | Yokogawa Electric Corporation | Systems and methods for allocation of hardware resource to tasks accordance with the device-based relative value for each of the field devices |
CN103164273A (zh) * | 2012-09-06 | 2013-06-19 | 佳都新太科技股份有限公司 | 一种利用自扩展的阻塞算法将同步服务调用转换为异步并行式调用的方法 |
CN103685387A (zh) * | 2012-09-12 | 2014-03-26 | 中国移动通信集团公司 | 一种调度http请求的方法和浏览器装置 |
CN104360965A (zh) * | 2014-12-09 | 2015-02-18 | 浪潮电子信息产业股份有限公司 | 一种cfq调度方法 |
CN111597018A (zh) * | 2020-04-21 | 2020-08-28 | 清华大学 | 一种机器人作业调度方法及装置 |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6976083B1 (en) * | 1999-02-19 | 2005-12-13 | International Business Machines Corporation | Apparatus for providing direct data processing access using a queued direct input-output device |
US7249073B1 (en) * | 1999-08-27 | 2007-07-24 | Diversified Human Resources, Inc. | Methods and apparatus for a personal financial service provider |
EP1081930A1 (en) * | 1999-08-31 | 2001-03-07 | Lucent Technologies ECS Limited | Method and apparatus for establishing communication |
US6665699B1 (en) * | 1999-09-23 | 2003-12-16 | Bull Hn Information Systems Inc. | Method and data processing system providing processor affinity dispatching |
EP1256059A2 (en) * | 2000-02-07 | 2002-11-13 | Epicrealm Operating Inc. | Method and apparatus for dynamic data flow control |
US7454457B1 (en) | 2000-02-07 | 2008-11-18 | Parallel Networks, Llc | Method and apparatus for dynamic data flow control using prioritization of data requests |
US8756342B1 (en) | 2000-02-07 | 2014-06-17 | Parallel Networks, Llc | Method and apparatus for content synchronization |
US6874027B1 (en) * | 2000-04-07 | 2005-03-29 | Network Appliance, Inc. | Low-overhead threads in a high-concurrency system |
US7140018B1 (en) * | 2000-06-20 | 2006-11-21 | International Business Machines Corporation | Method of using a distinct flow of computational control as a reusable abstract data object |
US6832239B1 (en) | 2000-07-07 | 2004-12-14 | International Business Machines Corporation | Systems for managing network resources |
US6763520B1 (en) * | 2000-08-24 | 2004-07-13 | Cognos Incorporated | Fair assignment of processing resources to queued requests |
US7139792B1 (en) * | 2000-09-29 | 2006-11-21 | Intel Corporation | Mechanism for locking client requests to a particular server |
JP3777302B2 (ja) * | 2000-12-21 | 2006-05-24 | 富士通株式会社 | 通信振り分け制御装置、および通信振り分けプログラムを記憶した記憶媒体 |
US6895585B2 (en) * | 2001-03-30 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | Method of mixed workload high performance scheduling |
US20020169680A1 (en) * | 2001-05-10 | 2002-11-14 | International Business Machines Corporation | Method and apparatus for building commercial distributed computing networks via computer cost subsidization |
AU2002222886A1 (en) * | 2001-12-03 | 2003-06-17 | Kent Ridge Digital Labs | A method of connecting a plurality of remote sites to a server |
KR100440577B1 (ko) * | 2001-12-28 | 2004-07-21 | 한국전자통신연구원 | 개방형 멀티서비스 시스템에서 선언적 우선순위를 이용한우선순위기반 분산 객체 호출 실행장치 및 그 방법 |
US7346135B1 (en) | 2002-02-13 | 2008-03-18 | Marvell International, Ltd. | Compensation for residual frequency offset, phase noise and sampling phase offset in wireless networks |
US7114156B2 (en) * | 2002-03-29 | 2006-09-26 | International Business Machines Corporation | System and method for processing multiple work flow requests from multiple users in a queuing system |
KR100899527B1 (ko) * | 2002-06-25 | 2009-05-27 | 주식회사 케이티 | 웹 서비스의 멀티쓰레드 운용 시스템 및 방법 |
US8046832B2 (en) * | 2002-06-26 | 2011-10-25 | Microsoft Corporation | Spam detector with challenges |
CN1230737C (zh) * | 2002-09-23 | 2005-12-07 | 华为技术有限公司 | 一种设备数据轮询调度方法 |
US7653906B2 (en) * | 2002-10-23 | 2010-01-26 | Intel Corporation | Apparatus and method for reducing power consumption on simultaneous multi-threading systems |
US7246192B1 (en) | 2003-01-10 | 2007-07-17 | Marvell International Ltd. | Serial/parallel ATA controller and converter |
US20040158637A1 (en) * | 2003-02-12 | 2004-08-12 | Lee Timothy Charles | Gated-pull load balancer |
US7249162B2 (en) * | 2003-02-25 | 2007-07-24 | Microsoft Corporation | Adaptive junk message filtering system |
US7543053B2 (en) * | 2003-03-03 | 2009-06-02 | Microsoft Corporation | Intelligent quarantining for spam prevention |
US7219148B2 (en) * | 2003-03-03 | 2007-05-15 | Microsoft Corporation | Feedback loop for spam prevention |
US7483947B2 (en) * | 2003-05-02 | 2009-01-27 | Microsoft Corporation | Message rendering for identification of content features |
US7272853B2 (en) * | 2003-06-04 | 2007-09-18 | Microsoft Corporation | Origination/destination features and lists for spam prevention |
US7711779B2 (en) * | 2003-06-20 | 2010-05-04 | Microsoft Corporation | Prevention of outgoing spam |
US7519668B2 (en) * | 2003-06-20 | 2009-04-14 | Microsoft Corporation | Obfuscation of spam filter |
US8533270B2 (en) * | 2003-06-23 | 2013-09-10 | Microsoft Corporation | Advanced spam detection techniques |
WO2005003981A1 (ja) * | 2003-07-02 | 2005-01-13 | Fujitsu Limited | ステータス通知装置およびステータス通知方法 |
US7751315B1 (en) * | 2003-07-15 | 2010-07-06 | Microsoft Corporation | Shared network path contention reduction |
US7373640B1 (en) | 2003-07-31 | 2008-05-13 | Network Appliance, Inc. | Technique for dynamically restricting thread concurrency without rewriting thread code |
US8930583B1 (en) | 2003-09-18 | 2015-01-06 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for controlling data transfer in a serial-ATA system |
US8214438B2 (en) * | 2004-03-01 | 2012-07-03 | Microsoft Corporation | (More) advanced spam detection features |
US20050204006A1 (en) * | 2004-03-12 | 2005-09-15 | Purcell Sean E. | Message junk rating interface |
US20050204005A1 (en) * | 2004-03-12 | 2005-09-15 | Purcell Sean E. | Selective treatment of messages based on junk rating |
US7657892B2 (en) * | 2004-05-20 | 2010-02-02 | Bea Systems, Inc. | System and method for application server with self-tuned threading model |
US7664819B2 (en) * | 2004-06-29 | 2010-02-16 | Microsoft Corporation | Incremental anti-spam lookup and update service |
US7904517B2 (en) * | 2004-08-09 | 2011-03-08 | Microsoft Corporation | Challenge response systems |
US7660865B2 (en) | 2004-08-12 | 2010-02-09 | Microsoft Corporation | Spam filtering with probabilistic secure hashes |
US8230426B2 (en) * | 2004-10-06 | 2012-07-24 | Digipede Technologies, Llc | Multicore distributed processing system using selection of available workunits based on the comparison of concurrency attributes with the parallel processing characteristics |
US20080275992A1 (en) * | 2005-02-09 | 2008-11-06 | Access Systems Americas, Inc. | System and method of managing connections between a computing system and an available network using a connection manager |
US8352504B2 (en) * | 2005-02-24 | 2013-01-08 | International Business Machines Corporation | Method, system and program product for managing a workload on a plurality of heterogeneous computing systems |
US7930353B2 (en) * | 2005-07-29 | 2011-04-19 | Microsoft Corporation | Trees of classifiers for detecting email spam |
US8065370B2 (en) | 2005-11-03 | 2011-11-22 | Microsoft Corporation | Proofs to filter spam |
US7752123B2 (en) * | 2006-04-28 | 2010-07-06 | Townsend Analytics Ltd. | Order management system and method for electronic securities trading |
US8224905B2 (en) | 2006-12-06 | 2012-07-17 | Microsoft Corporation | Spam filtration utilizing sender activity data |
US9588810B2 (en) * | 2007-08-08 | 2017-03-07 | Microsoft Technology Licensing, Llc | Parallelism-aware memory request scheduling in shared memory controllers |
US10002161B2 (en) * | 2008-12-03 | 2018-06-19 | Sap Se | Multithreading and concurrency control for a rule-based transaction engine |
CN101604437A (zh) * | 2009-07-22 | 2009-12-16 | 阿里巴巴集团控股有限公司 | 账户批量实时处理系统及账户批量实时处理方法 |
US9817698B2 (en) | 2011-06-17 | 2017-11-14 | Microsoft Technology Licensing, Llc | Scheduling execution requests to allow partial results |
US8973001B2 (en) * | 2012-01-11 | 2015-03-03 | Bank Of America Corporation | Processing transaction requests using a load balancing utility and multiple operating parameters |
TWI506980B (zh) * | 2012-08-15 | 2015-11-01 | Dynasafe Technologies Inc | 網路服務的隊列處理系統、裝置與方法 |
US20140279451A1 (en) * | 2013-03-15 | 2014-09-18 | Fedbid, Inc. | Escrow Payment System for Transactions |
RU2609089C2 (ru) * | 2015-02-24 | 2017-01-30 | Общество С Ограниченной Ответственностью "Яндекс" | Система и способ выполнения очереди запросов в отношении цифровых объектов |
US10981051B2 (en) | 2017-12-19 | 2021-04-20 | Activision Publishing, Inc. | Synchronized, fully programmable game controllers |
US10901848B2 (en) | 2018-08-03 | 2021-01-26 | Western Digital Technologies, Inc. | Storage systems with peer data recovery |
DE102018125090A1 (de) * | 2018-10-10 | 2020-04-16 | Beckhoff Automation Gmbh | Verfahren zur Datenverarbeitung und speicherprogrammierbare Steuerung |
US11182258B2 (en) * | 2019-01-04 | 2021-11-23 | Western Digital Technologies, Inc. | Data rebuild using dynamic peer work allocation |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU628753B2 (en) | 1990-08-14 | 1992-09-17 | Digital Equipment Corporation | Method and apparatus for implementing server functions in a distributed heterogeneous environment |
US5506987A (en) * | 1991-02-01 | 1996-04-09 | Digital Equipment Corporation | Affinity scheduling of processes on symmetric multiprocessing systems |
US5317568A (en) | 1991-04-11 | 1994-05-31 | Galileo International Partnership | Method and apparatus for managing and facilitating communications in a distributed hetergeneous network |
US5247677A (en) * | 1992-05-22 | 1993-09-21 | Apple Computer, Inc. | Stochastic priority-based task scheduler |
US5437032A (en) * | 1993-11-04 | 1995-07-25 | International Business Machines Corporation | Task scheduler for a miltiprocessor system |
JPH08286962A (ja) | 1994-12-16 | 1996-11-01 | Internatl Business Mach Corp <Ibm> | 処理システム及びオブジェクト活動化をスケジュールする方法 |
US6006247A (en) * | 1995-03-21 | 1999-12-21 | International Business Machines Corporation | Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system |
US5752031A (en) * | 1995-04-24 | 1998-05-12 | Microsoft Corporation | Queue object for controlling concurrency in a computer system |
US5603029A (en) * | 1995-06-07 | 1997-02-11 | International Business Machines Corporation | System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available |
US5940612A (en) * | 1995-09-27 | 1999-08-17 | International Business Machines Corporation | System and method for queuing of tasks in a multiprocessing system |
US5826081A (en) * | 1996-05-06 | 1998-10-20 | Sun Microsystems, Inc. | Real time thread dispatcher for multiprocessor applications |
GB2320112B (en) * | 1996-12-07 | 2001-07-25 | Ibm | High-availability computer server system |
GB2320594A (en) | 1996-12-20 | 1998-06-24 | Ibm | Dispatching client method calls to parallel execution threads within a server |
US6317774B1 (en) * | 1997-01-09 | 2001-11-13 | Microsoft Corporation | Providing predictable scheduling of programs using a repeating precomputed schedule |
-
1998
- 1998-02-04 GB GB9802294A patent/GB2334116A/en not_active Withdrawn
- 1998-06-06 TW TW087108995A patent/TW494357B/zh active
- 1998-08-27 US US09/141,445 patent/US6505250B2/en not_active Expired - Fee Related
- 1998-12-31 CN CN98125972A patent/CN1225472A/zh active Pending
-
1999
- 1999-01-14 KR KR1019990000884A patent/KR100322724B1/ko not_active IP Right Cessation
- 1999-01-18 JP JP11009099A patent/JPH11259443A/ja active Pending
- 1999-02-03 EP EP99300778A patent/EP0935194A3/en not_active Withdrawn
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1314245C (zh) * | 2003-08-22 | 2007-05-02 | 中国科学院研究生院 | 虚拟目的地排队交换系统的一种调度方法 |
CN100347675C (zh) * | 2004-06-29 | 2007-11-07 | 北京大学 | 应用服务器的性能优化方法 |
CN101069161B (zh) * | 2004-12-01 | 2010-10-06 | 索尼计算机娱乐公司 | 调度方法、调度装置和多处理器系统 |
US8296770B2 (en) | 2005-11-08 | 2012-10-23 | Yokogawa Electric Corporation | Systems and methods for allocation of hardware resource to tasks accordance with the device-based relative value for each of the field devices |
CN101305348B (zh) * | 2005-11-08 | 2013-03-27 | 横河电机株式会社 | 分布式系统 |
CN101299758B (zh) * | 2008-05-21 | 2011-05-11 | 网御神州科技(北京)有限公司 | 一种大规模事件处理的规则群组系统及处理方法 |
CN101295269B (zh) * | 2008-05-26 | 2010-06-09 | 浙江大学 | 一种基于事务的构件交互同步的方法 |
WO2012048622A1 (zh) * | 2010-10-15 | 2012-04-19 | 珠海举天软件科技有限公司 | 计算机系统及其工作方法 |
US9898338B2 (en) | 2010-10-15 | 2018-02-20 | Zhuhai Ju Tian Software Technology Company Limited | Network computer system and method for dynamically changing execution sequence of application programs |
CN103164273A (zh) * | 2012-09-06 | 2013-06-19 | 佳都新太科技股份有限公司 | 一种利用自扩展的阻塞算法将同步服务调用转换为异步并行式调用的方法 |
CN103685387A (zh) * | 2012-09-12 | 2014-03-26 | 中国移动通信集团公司 | 一种调度http请求的方法和浏览器装置 |
CN103685387B (zh) * | 2012-09-12 | 2017-05-03 | 中国移动通信集团公司 | 一种调度http请求的方法和浏览器装置 |
CN104360965A (zh) * | 2014-12-09 | 2015-02-18 | 浪潮电子信息产业股份有限公司 | 一种cfq调度方法 |
CN111597018A (zh) * | 2020-04-21 | 2020-08-28 | 清华大学 | 一种机器人作业调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US6505250B2 (en) | 2003-01-07 |
KR19990072255A (ko) | 1999-09-27 |
US20010039575A1 (en) | 2001-11-08 |
TW494357B (en) | 2002-07-11 |
GB9802294D0 (en) | 1998-04-01 |
EP0935194A3 (en) | 2006-07-19 |
KR100322724B1 (ko) | 2002-02-07 |
GB2334116A (en) | 1999-08-11 |
EP0935194A2 (en) | 1999-08-11 |
JPH11259443A (ja) | 1999-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1225472A (zh) | 服务器内调度和分派排队客户请求的装置和方法 | |
US7640547B2 (en) | System and method for allocating computing resources of a distributed computing system | |
CN101266557B (zh) | 在客户机-服务器或主机环境中计算作业的多目标分配 | |
US8037185B2 (en) | Dynamic application placement with allocation restrictions, vertical stacking and even load distribution | |
US7243121B2 (en) | System and method for dividing computations | |
US20080271032A1 (en) | Data Processing Network | |
EP1564638B1 (en) | A method of reassigning objects to processing units | |
US5925098A (en) | Apparatus and method for dispatching client method calls within a server computer system | |
KR20000036178A (ko) | 금전비용을 최적화하는 로드 분산 제어기 | |
US20050262506A1 (en) | Grid non-deterministic job scheduling | |
EP1654647B1 (en) | A method of assigning objects to processing units | |
CN106330987A (zh) | 动态负荷均衡方法 | |
US7627662B2 (en) | Transaction request processing system and method | |
CN110308980A (zh) | 数据的批量处理方法、装置、设备及存储介质 | |
CN1225473A (zh) | 服务器内分派客户请求时执行语义并发控制的装置和方法 | |
US7007150B2 (en) | Memory balancing and optimization services | |
EP1524599B1 (en) | A method of reassigning objects to processing units | |
CN117149372A (zh) | 任务调度方法、装置、设备及存储介质 | |
Manvi et al. | An agent-based resource allocation model for grid computing | |
Lee et al. | Adaptive middleware supporting scalable performance for high-end network services | |
Mondal et al. | Resource Allocation with Task Scheduling in Cloud Computing | |
CN117762587A (zh) | 任务调度方法、装置、终端设备以及存储介质 | |
Rana | Processing Cost Optimization for Tasks Allocation in Distributed System | |
Grando et al. | Analyzing Spark Scheduling And Comparing Evaluations On Sort And Logistic Regression With Albatross | |
Peddi et al. | Exploiting Dynamic Resource Allocation for Efficient Parallel Data Processing In The Cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |