CN1099923A - 队列管理系统和方法 - Google Patents

队列管理系统和方法 Download PDF

Info

Publication number
CN1099923A
CN1099923A CN94102225A CN94102225A CN1099923A CN 1099923 A CN1099923 A CN 1099923A CN 94102225 A CN94102225 A CN 94102225A CN 94102225 A CN94102225 A CN 94102225A CN 1099923 A CN1099923 A CN 1099923A
Authority
CN
China
Prior art keywords
processing queue
queue
processing
client
information
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
Application number
CN94102225A
Other languages
English (en)
Other versions
CN1074229C (zh
Inventor
马克·卡明斯基
罗伯特·佩雷尔曼
彼平·佩特尔
珍妮·伊卡诺斯基
克里斯·袁
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.)
Rohm Co Ltd
Siemens Business Communication Systems Inc
Original Assignee
Rohm Co Ltd
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 Rohm Co Ltd filed Critical Rohm Co Ltd
Publication of CN1099923A publication Critical patent/CN1099923A/zh
Application granted granted Critical
Publication of CN1074229C publication Critical patent/CN1074229C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/53Centralised arrangements for recording incoming messages, i.e. mailbox systems
    • H04M3/533Voice mail systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

对多个具有不同客户类型的客户服务的队列管 理系统,控制队列以预置顺序对客户进行排列。队列 管理程序分配和再分配少于客户类型数的多个处理 队列,以与各种客户类型相适应。如果有一相适应的 处理队列时该队列管理程序连续地将客户安置该处 理队列中,如果不存在相适应的处理队列但有一空的 处理队列时该队列管理程序分配或再分配该空的或 被空出的处理队列给该客户类型。上述方法可用于 语音邮政电话系统的环境中。

Description

本发明涉及用来将需要不同服务类型的客户队列配置到提供有所需服务的服务程序的方法和手段。另一方面更特别地涉及用来管理所记录的电话信息的队列并允许各组信息向所期望的终端传送。
这种将服务赋予具有不同处理要求的客户队列管理系统取决于客户的类型。对于诸如A、B、C等的每一客户类型,它们提供一类诸如A、B、C等可对该客户服务的服务程序。它们可以替代所供给的可将它们本身传送至如该客户所需的例如A、B、C等不同服务程序的通用服务程序。
多数队列管理系统以一预置的顺序服务于客户,例如在一先入先出的基础上服务于客户。它们利用两种排除方案中的一种来实现服务,即利用一种单一的队列策略或一种多重的队列策略实现服务。
在单一队列策略中,所有客户以它们到达的顺序在该同一队列中等待并随后一次对一个客户进行服务。如果在该队列中的该顶端客户是作为一个与当前被服务客户同一类型的客户,例如类型A,那么处理类型A的服务程序可以立即处理下一个类型A客户。否则,该系统必须改变为适合于下一个客户的一类服务程序,例如类型B,或者查询使用第一类型(类型A)的队列中的下一个客户。
在一现行的电话语音邮政系统的环境中,客户具有对各种终端编码的记录信息的形式,该单一队列策略的工作如下所述。在同一队列中的所有信息以它们到达的顺序等待并且一服务程序随后一次一个地对每个信息进行服务和传送。如果几个传送方向为同一终端的信息相互跟随,那么该系统可将它们作为一组而传送。否则,该系统将该终端变为下一个信息的终端,或者查询用于该同一终端的以一个所期望信息作为第一信息的队列并抽出几个共同到该同一终端的信息作为一组来传送。
这样的单一队列系统很显然是一种低效率的系统。它们不可能容易地适应于同时对不同客户或信息的服务。
该多重队列策略利用多个队列并把每个队列与客户类型和相应的服务程序类型联系起来。在同一队列中的同一类型的客户以它们到达的顺序等待。在一具有多重队列方案的电话语音邮政系统的环境情况下,该客户是对各种终端编码的记录信息。该多重队列的每一个包括有用于一特定终端的信息。用于同一终端的信息在同一队列中以它们到达的顺序等待。这种多重队列需要配置的多个队列的数目等于其数量可以很大或未知的终端的最大数。每个信息通过该终端的特定队列。
本发明的目的是要改善队列管理系统,特别是改善使用语音邮政的电话系统。
本发明的另一目的是要克服上面所提及的缺点。
本发明包括将所有各种类型客户以一预置的顺序安置在一控制队列中,周期地空出少于客户类型数的多个处理队列的每一个,并且将来自该控制队列的一客户类型的每个连续客户仅仅传送到一个没有其它客户类型的处理队列中。这就将每个处理队列分配给一种客户类型直至该处理队列被空出并将每个空出的处理队列重新分配为下一个被传送的客户类型。
由于该队列管理程序总是将处理队列已经包含的同一客户类型增补到每个处理队列,该队列管理程序将每个处理队列分配给该队列管理程序首先安置的该处理队列的客户类型。这种分配连续进行直到该服务程序使该处理队列空出为止。如果该队列管理程序现在在该空出的处理队列中安置一新的客户类型,那么该队列管理程序将解除处理队列对前面的客户类型的分配并将它再分配给最新的类型。解除分配和再分配容许一有限的处理队列数目(例如50)去处理任何数量的客户类型(例如1000或更多)。
根据本发明的一特殊方面,即在一电话环境中的条件下,所谓客户是为传送到多个终端而编码的记录语音邮政信息。对于所有终端的所有信息以一预置的顺序出现在该控制队列中,例如以一先入先出为基础。在比其终端数目要少的多个处理队列之间,队列管理程序通过将控制队列中的每个相继的第一信息安置到其终端与该第一信息的终端相适应的处理队列中的方法,一个接一个地分配该控制队列中的信息。如果不存在有相适应的处理队列,但存在一空出的处理队列时,则该队列管理程序将该第一信息置入该空出的处理队列。如果不存在空出的处理队列,则该队列管理程序在控制队列中保持该信息直至所有的处理队列的信息传送而使一处理队列空出为止。该队列管理程序这时将该处理队列再分配仅用来传送到新的终端的信息并将下一个信息安置到该空出的处理队列。
本发明使用了有限数量的队列来提供同时对大量的客户或终端的服务。实际上对不同客户类型或终端并设有限制。用于同一终端的同一类型的客户或信息是在同一队列中等待的。在同一队列中等待的客户或信息,虽然可能有不同的排序,但在正常状态下是以年月日顺序排列的。对不同客户类型或信息终端的同时处理可容易实现。该系统动态地将队列分配给每个客户类型或终端,并当它们变为空出以及需用新终端的新的客户类型或信息到来时将它们重新分配。为了处理容易起见,本发明将与一给定客户类型或终端相关的处理与相应的队列关联起来。
对于多个客户类型或用于多个终端的信息的处理比用于一单一队列方案及对上述多个队列系统的处理变得更为有效。本发明考虑到在处理中有大的适应性。
本发明的这些和其它的特征在构成本说明书的一部分的权利要求中指出。本发明的其它目的和优点为借助于附图阅读时对本领域的技术人员来说将变得显然。
图1是一说明体现本发明特征的队列管理系统的方框图;
图2是说明在图1中所示的并体现了本发明的队列管理系统的操作流程图;
图3是一说明在图1中所示的并体现了本发明的队列管理系统的操作的另一种方法的流程图;
图4是一说明当它们开始图1所示的处理队列的服务时该服务程序的操作的流程图;
图5是说明当它们进行在该队列中的操作时在图1中所示的服务程序的操作的另外的流程图;
图6是一体现本发明的一实施例的一电话系统的方框图;
图7是在图6所示的电话系统的环境中体现本发明的一队列管理系统的一方框图;
图8是一说明在图6和图7中所示的以及体现本发明的队列管理系统的操作步骤的流程图;
图9是一说明在图6和图7中所示的以及体现本发明的该系统的操作方法中的进一步的步骤的流程图;
图10是一说明在图6和图7中所示的及体现本发明的该系统的操作的进一步的步骤的流程图;
图11是说明在图6和图7所示的以及体现本发明的队列处理控制程序的另外操作的流程图。
在图1所示的队列管理系统QMS的方框图中,一队列管理程序QM管理一队列源,即一控制队列QC和若干处理队列QP1,QP2,……,QP(n-1),QPn。控制队列包括一序列需要变换处理类别或类型的不同客户类型TC1至TCt的客户CL1至CLm。处理队列QP1至QPn的数目n小于客户类型TC1至TCt的数目t。处理队列的数目n例如可以是50,客户类型的数目t例如可以是1000。
控制队列QC接收所有客户类型TC1至TCt的所有客户,并按照它们到达的顺序保持它们。队列管理程序QM以同样的顺序移动来自控制队列QC的客户。因而,控制队列QC是一先入先出(FIFO)队列。但这仅仅是一个例子,而该控制队列可随意地以其它的顺序对客户排序。
队列管理程序QM将控制队列QC中的每个顶端客户安置到处理队列QP1至QPn中与这个客户类型相关的一处理队列中。根据该队列管理程序安置QP1至QPn中一空出的处理队列的最初客户的客户类型,该队列管理程序建立与该客户的联系。这种情况如下所述。
假定一开始所有的处理队列QP1至QPn都是空的,并且在该控制队列QC中的最先客户是一个TC10类型客户,队列管理程序将该客户安置在处理队列QP1中。这个步骤分配该处理队列QP1为客户类型TC10或该处理队列QP1是用于客户类型TC10的队列。该队列管理程序随后仅仅安置TC10类型客户进入处理队列QP1直至服务程序SE中的一个程序步骤使该处理队列QP1空出为止。如果在控制队列QC中的下一个顶端客户是类型TC143的客户,那么该队列管理程序QM将类型TC143的客户安置到处理队列QP2中,因而处理队列QP2用于客户类型TC143或分配该处理队列QP2给客户类型TC143。
如果在该控制队列QC中的下一个顶端客户是类型TC10,那么该队列管理程序将这个顶端客户与其它TC10类型的客户一起安置到处理队列QP1中而不是安置到空着的一个处理队列中。之后,该队列管理程序QM仍保持将顶端客户安置到该队列管理程序指定用于该客户类型的处理队列之中,如果没有这种专用的处理队列存在时,则该队列管理程序将下一个客户安置到一空的处理队列之中。每次有一个空出的处理队列接收一个客户类型,该队列管理程序指定该处理队列用于该客户类型。
当该队列管理程序占用或分配了所有处理队列,并且下一个被服务的客户类型不是被专用或分配的处理队列的类型的客户时,该队列管理程序停止对来自控制队列QC的客户的分配并等待服务程序SE使得处理队列QP1至QPn中的一个空出来。该服务程序SE或者以一个接一个的方式或者以成组的方式移动客户来服务于处理队列QP1至QPn。例如,这种服务可以空出一处理队列并允许队列管理程序解除对该处理队列的分配并将该处理队列分配给位于控制队列QC的顶端的客户类型。
在另一其中客户是被以最大可能尺寸成批处理的实施例中,如果队列管理程序已占用或分配了所有的处理队列并且下一个被服务的客户是一未被分配给处理队列的类型的客户时,该队列管理程序检查该控制队列,将在该控制队列中与一处理队列相适应的在后面的客户传送给它的处理队列,如果该传送不会产生新的成批客户需被处理。
该队列管理程序联系或保持每个处理队列的队列信息。该队列信息包括当前的客户类型并可包含其它方面的信息。
本发明是其于这样的认识,即既使客户类型TC1至TCt的最大数可以很大,但在任何一时间里通常仅存在一有限的实际等待服务的客户数量。因此,估算在这个实际等待服务的子集中存在有多少客户类型,它就可能配置足够的处理队列QP1至QPn去保持它们。
该队列管理程序不能永久地指定任何处理队列给一个固定的客户类型,而仅仅在一时间里指定处理队列给一种客户类型。当队列管理程序QM指定它给一种客户类型时,一处理队列QP1至QPn才被使用。反之,该处理队列是空出的和可使用的。只有当在该处理队列中没有客户时,该处理队列才可用来分配或再分配。
图2是说明图1中所示的队列管理系统QMS工作的流程图。在步骤100,队列管理程序执行一等待操作以允许通过一个或多个源处对控制队列QC增补客户。我们的过程由一等待节始。这看来似乎是低效率,而实际并非如此。该过程是周期的,因而在该初始等待之后,所进行的处理如像该等待是在末尾。在大多数情况下,当该系统启动时,不存在有客户,因而如果该过程不是由一等待而开始,则该过程总是进行等待而不做任何事情。因而,具有一等待的起始通常更为有效。其它的执行过程可能不同。在步骤104,该队列管理程序确定该控制队列是否是空的。如果是空的,则该队列管理程序QM返回到步骤100的等待。如果控制队列QC不是空的而装有客户,则该队列管理程序前进到步骤107并读出第一个客户的客户类型。在步骤110,该队列管理程序确定该第一个客户的客户类型是否和处理队列的任何客户类型相适应。也就是,该队列管理程序根据它所保持的数据来确定是否已将某一处理队列分配给由在步骤107中所查寻到的客户类型。在某种意义上来说,该队列管理程序QM确定是否任何的处理队列QP1至QPn已经包含了在步骤107中的该类型的客户类型。
如果在步骤107中的客户类型与一个处理队列QP1至QPn相适应,那么队列管理程序前进到步骤114并从控制队列移动该顶端(第一)客户并将它增补到被分配有相同客户类型的处理队列QP1至PQn。如果在步骤107中的第一个客户的类型在步骤110中与任何处理队列中的该客户类型不相适应,则管理程序进行到步骤117并询问是否还存在有任何可利用的处理队列,即询问一处理队列QPP1至QPn是否是空的。如果处理队列QP1至QPn中的一个队列是可利用的(即空的),则在步骤120中该队列管理程序将该可利用的新的处理队列安置给该客户类型并且移动在步骤107中的该第一个客户并将其增补到处理队列中。然后返回到步骤104并询问该控制队列是否是空的。
如果没有处理队列QP1至QPn是空的,则该处理队列可能实际上已被充满。在步骤124中,该队列管理程序QM确定服务程序SE是否服务于一个处理队列的客户,或者相反地确定是否某物充满或阻塞了所有队列。如果那里对于客户的服务的并不完全阻塞或充满,也就是说,至少有一个处理队列的服务是成功地进行的,则该队列管理程序使客户返回到步骤100去等待,并且暂停整个过程的执行以提供一时间使该处理队列空出,从而使它变得可利用。
如果该服务程序没有成功地服务于在任何处理队列中的客户,也就是说,如果某物阻塞或充满所有处理队列的服务时,则队列管理程序进入步骤127。在步骤127,该队列管理程序QM通过使该队列空出而清除所有处理队列QP1至QPn,并将它们所包含的客户送回到它们各自的源处。在这一点上,尽管该源处可将该客户送回控制队列,但这些客户不再是该过程的部分。为了校正导致拥挤的问题可执行另外的动作。一旦该队列管理程序QM清除了处理队列QP1至QPn中的一个队列,那么它可以分配该顶端客户的客户类型的处理队列并将在该控制队列QC中的顶端客户传送到空出的处理队列中。
根据本发明的一个实施例,在步骤127中该队列管理程序QM仅清除处理队列QP1至QPn中的一个或多个。根据本发明的另一实施例,在步骤127中,该队列管理程序还检验该控制队列,并将所分配类型的任何客户送回到被清除的处理队列中的一个队列。还根据本发明的另一实施例,在步骤127中,该队列管理程序将客户返回到控制队列而不是返回到它们的源处。为了使这种实施例正常地工作,必须满足二个关系。首先,为了将一客户类型安置到一处理队列而在该控制队列上的任何输入(即还未在该处理队列中)必须在该输入从该处理队列返回到该控制队列之后结束,以保持这种类型的客户按年月日顺序所排列的次序。其次,如果存在一永久的问题而为了避免一无限循环,每个从该处理队列返回的客户必须具有一与其相关的返回计数。指定一最大返回计数,并且如果与该客户相关的该返回计数达到这个最大值时,该客户将返回到它的源处而不是返回到该控制队列。
本发明的另一个如图3流程图所示的实施例是图2所示实施例的变型。在图3中,如果步骤124中的回答为“否”,则该处理队列未被全部充满,该队列管理程序启动步骤130中的等待。这个等待类似于步骤100中的等待。其后,该队列管理程序直接返回到步骤117。如果该控制队列QC是严格地按FIFO排序,则在图3中的操作比在图2中返回到步骤100更为有效。即使那样,也无法对不能和任何处理队列QP1至QPN的客户相适应的顶端输入进行转换。因此,处理将总是通过步骤104、107和110进行到步骤117。在图3的实施例中,该队列管理程序直接进行到步骤117。根据本发明的另一个实施例,如果该客户的处理失败了时,则由该服务程序SE通知一客户的源处。
根据本发明的另一实施例,该队列管理程序在该控制队列QC或QP1至QPn中引入另外的队列排序,即一种不是按年月日顺序排列的排序。在一实施例中,该排序是基于优先级而排列的。在另一个实施例中,该顺序是基于优先级和年月日顺序的。所有的标量场都是基于优先级的。也就是说,该队列管理程序QM建立一在该标量场中的数值或增大或减小的顺序。
在一般情况下,一处理队列QP1至QPn可以包括有许多具有在一给定时间里有若干不同优先级的客户。由于所有处理队列的所有客户都是通过控制队列首先来传送的,因而相同情况可发生在该控制队列QC中。根据一个实施例,该队列管理程序使用了大量的连接表。根据另一个实施例,它使用了一带有一用来识别在该队列中存在的当前最高优先级数值的辅助变量的FIFO队列。这些实施例在准备时间和在过程中查找下一个客户的效率之间作折衷选择。
服务程序SE对该处理队列QP1至QPn的服务如图4和5的流程图所示。
图4表明了该处理的起始和图5表明了该实际的处理。将该处理的起始和该处理分别地产生,这样可使该服务程序同时地处理多个队列。这些步骤中包括一“处理开始”的校验步骤以确保对于同一队列不会产生多次处理。
与该队列管理程序QM的同步无关,该服务程序SE在步骤200中的第一次等待以一预置的顺序开始对处理队列QP1至QPn的样验。我们的过程随着一等待而开始。这看来似乎是低效率的,然而实际上并非如此。该处理是周期性的,这样该初始等待之后,所进行的处理好像该等待是在其未尾。在大多数情况下,当该系统开始工作时,并没有客户,这样如果该过程不由一等待开始,那么它将陷入始终处于等待而不做任何事情。因而,由一等待开始通常更为有效。另外的执行过程可能不一样。在步骤204中,该服务程序检验用来准备处理的客户的下一个队列,并且在步骤207中询问该处理队列是否有任何客户。如果回答为“否”,则服务程序到达步骤210,并且清除或移动涉及在该队列中以前的客户的任何队列信息并重新分配该队列。在步骤214中该服务程序然后去检验下一个队列并返回到步骤200。
如果在步骤207中的回答为“是”,那么所讨论的该处理队列包括有客户,则该服务程序到达步骤220以确定该处理队列是否已经启动并是否接受服务。如果“是”,则服务程序进行到步骤214去检验下一个队列。如果回答为“否”,则服务程序进行到步骤224去标记该队列所处理的对象并启动在该处理队列中该客户的服务。在步骤227,该服务程序SE然后确定该服务是否成功地开始。如果不是,则服务程序SE返回到步骤200。如果是,则服务程序在步骤234中标记该队列已被处理并在返回到步骤200之前到达步骤214。
启动之后的处理步骤示于图5。在图5中,在步骤260的等待之后,服务程序执行步骤264的过程。步骤267询问该过程是否成功。如果成功,则服务程序在步骤270中从该队列移动客户。在步骤274中,服务程序确定在该处理的队列中是否存在有更多的客户。如果没有,则服务程序继续进入步骤287,在该步骤中服务程序标记该队列为不再处理并中止该队列的处理。如果有更多的客户,则在步骤227中,服务程序确定是否该客户的最大数被处理。某些服务程序成批处理的客户可能有也可能没有一最大数。如果一服务程序成批地处理客户,并且该服务程序处理在一批中的客户的最大数,那么该服务程序暂停处理直到它的下一个通过为止。如果在步骤277,回答为是,则该服务程序处理了该最大值。如果不是,则该服务程序SE在步骤280得到下一个客户并返回到步骤264。在步骤267,如果回答为“否”,则服务程序到达步骤284进行误差处理。根据本发明的一个实施例,误差处理包括标记该处理队列用于“复算”和规定一个复算时间。当启动处理时(图4),该队列过程控制程序跳过所检验的用于复算的被标记队列直至该所规定的复算时间为止。根据本发明的一个实施例,该服务程序可省略该误差处理。
图6的方框图表明了在一电话系统环境条件下本发明的一个实施例。在图6中,图2的客户CL1至CLm是其类型随着它们的终端而变化的语音邮政消息。在图6的该电话系统中,在用户位置L1上的一电话支线交换机BE1将若干个电话T1,T2,……,TK连接到一公共或私人电话网TN并连接到一相关的语音邮政系统VM1。该电话网TN将该支线交换机BE1连接到其所有位置LC1至LCh均可能远离这位置L1的若干其它的支线交换机BE2.....BEq。每个支线交换机BE2至BEq将多个电话TL连接到电话网TN并与各自相关的语音邮政系统VM2至VMq相连接。每个语音邮政系统VM1至VMq是一已知类型的系统,它记录来自任何电话T1-TK和TL并到达它相关的支线交换机BE1至BEq的信息。
图6所示的位置LC1至LCn可大大地扩展。例如该支线交换机BE1和语音邮政系统VM1可以位于加利福尼亚州的圣克莱拉;同时其它的位置可以位于例如纽约州的纽约;马萨诸塞州的波士顿;和英格兰的诺丁汉等。
该语音邮政系统VM1包括一在图7中详细表明的队列管理系统QMT。该语音邮政系统VM1接收并存贮所有来自支线交换机BE1的或来自本地位置L1的电话T1至TK或来自这距离位置LC1至LCn的电话TL的信息。这些信息包括由电话T1至TK取回的信息和用来传送到远处电话TL的信息。每个信息含有一用于特定终端或终端的特定数目的终端代码。典型情况下,一终端是另一语音邮政系统,诸如VM2至VMq中的任一个。当它收集若干信息以一组的形式传送到诸如一语音邮政系统的一单个终端时,该队列管理系统QMT实现了它的最大效率。每个编码信息包括目标语音邮政系统数目和该目标语音邮政系统内该特定终端的邮政信箱号。例如终端数可以是1000。
在该语音邮政系统VM1中,一选择程序(未示出)分离来自本地电话T1至TK的预期记录信息的用来传送到远处的电话TL(即,位于语音邮政VM1的支线交换机BE1范围以外的LC1至LCn位置上)的记录信息。该语音邮政系统VM1允许每个本地电话T1至TK去访问以这些本地电话为目标的信息。作为客户,在图7中的该队列管理系统QMT仅仅接收用来传送到在远处电话TL的终端DE1至DET和位于支线交换机BE1以外的位置LC1至LCn的编码信息ME1至MEm。
图7详细地表明了该队列管理系统QMT。由图1所示的系统QMS与一电话系统特别是与一图6所示的语音信息系统相联系而构成了图7。除了图7中该客户CL1至CLm具有信息DE1至DEt的特定形式和该服务程序SE具有对远处终端拔号并传送信息的一队列过程控制程序PC之外,图7和图1是相同的。相同的标号符在图1和图7中表示相同的部分。
在图7中,该控制队列QC接收用于所有终端DE1至DEt的信息ME1至MEM,并且以它们到达的顺序来保持它们。该队列管理程序QM以同样的顺序移动来自该控制队列QC的信息。在这里,该控制队列是一先入先出(FIFO)队列。然而,这仅仅是一个例子而该控制队列可以其它所希望的顺序来安置这些信息。
在图7中,该队列管理程序QM将该管理队列QC的每个顶端信息安置到一与某个终端相关的处理队列QP1至QPn之中。该队列管理程序QM根据该队列管理程序QM将该第一个信息置入一空的处理队列的终端而建立与该终端的联系。这种情况将在下面描述。
假设一开始所有的处理队列QP1至QPn是空的,并且在该控制队列QC中的第一个或顶端信息的终端为DE10,队列管理程序QM在处理队列QP1中安置该信息。这个步骤暂时地将该处理队列QP1分配至或用于该终端DE10。队列管理程序QM随后仅将具有目标终端DE10的信息安置到处理队列QP1直至队列处理控制程序PC使处理队列QP1空出来为止。如果在控制队列QC中的下一个顶端信息具有一终端DE143,那么队列管理程序QM将具有终端DE143的信息安置到处理队列QP2之中并因此而将处理队列QP2分配至或用于终端DE143。
如果在控制队列QC中的下一个顶端信息具有一终端DE10,那么该队列管理程序将在具有该终端DE10的另外的信息之后将该信息安置到处理队列QP1之中而不是安置到一个空出的处理队列之中。其后,该队列管理程序QM将具有一特定终端的顶端信息安置到该队列管理程序QM已分配给该终端的处理队列之中。如果不存在这样的已指定的处理队列,则该队列管理程序将下一个顶端客户安置到一空出的处理队列之中。每次一个空出的处理队列接收一个具有一特定终端的信息,该队列管理程序将这个处理队列分配为该终端。
该队列过程控制程序PC周期地通过该处理队列有时与由该队列管理程序QM的操作无关。在每个处理队列中,该队列过程控制程序PC拔通该被专用的处理队列的终端的编号。如果该呼叫被接通,则该队列过程控制程序PC通过该支线交换机传送一组在该队列过程程序中的信息。在一组中信息的最大数取决于任何时间该系统可传送的信息数以及管理信息传送的通讯协议。
如果在该处理队列中的信息数小于批组的最大数。这样的操作将使该处理队列空出。这就允许队列管理程序QM重新分配这个处理队列并再分配在该控制队列QC顶端信息的终端。但是,如果在该处理队列中的信息数超过了批组的最大数时,这个过程暂停工作直至该队列过程控制程序的下一个周期为止。后者总是去检验下一个队列是否成功地发送一消息还是发送未成功。
当该队列管理程序使用或分配了所有的处理队列,并且在该控制队列的下一个信息的终端是未被专用或未被分配的处理队列时,该队列管理程序中止分配来自于该控制队列QC的信息并等待该队列过程控制程序PC和该支线交换机BE1空出的操作并传送在一个处理队列QP1至QPn中的信息。
队列管理程序QM和过程控制程序PC联系或维持每个处理队列的队列信息。该队列信息包括当前被分配的终端代码并可包括其它方面情况,即,是否该当前所处理的处理队列是空的、在重算中处理队列的重算数、下一个重算时间等。
本发明是基于这样一种认识,即既使终端DE1至DEt的最大数可以很大例如1000或更多,但在任何一时间里通常仅存在有一有限的实际等待服务的信息数和仅仅一有限的资源数。因此,通过估算在这个实际等待用来传送的信息的子集中存在有多少终端,它就可以分配足够的处理队列QP1至QPn(例如50个)去保持它们。
队列管理程序不能永久地使任何处理队列使用于一固定的终端,而仅仅给该处理队列分配一个终端直至该处理队列变为空出为止。该队列管理程序然后重新分配该空出的队列。当该队列管理程序QM分配一终端时给一个处理队列QP1至QPn时,该处理队列方被利用。否则,该处理队列是空的并可供再分配。仅当在这个处理队列中没有信息时该处理队列才可用来分配或重新分配。
图8是说明在图6和图7中所示的队列管理系统QMT的操作的流程图。该操作类似于图2的情况,但图8是工作在电话和语音信息的环境中的。在步骤300,队列管理程序QM执行一等待以允许另外的信息加入该控制队列QC。我们的过程由一等待而开始。但该处理是周期性的,这样在初始等待之后,该处理过程好像该等待是在未尾。在多数情况下,当该系统启动时并没有客户存在,这样如果该处理不是由一等待开始,它将自始至终陷入等待而不做任何事情。因此,由一等待开始通常更为有效。其它的执行过程可能不同。在步骤304,队列管理程序确定该控制队列QC是否是空的。如果是,则队列管理程序QC返回到步骤300。如果该控制队列QC不是空的而包含有信息,那么队列管理程序QM前进到步骤307并读出第一个信息的终端代码。在步骤310,队列管理程序确定该第一个终端代码是否适应于处理队列QP1至QPn的任何终端代码。也就是,队列管理程序QM检验其存有的与该处理队列有关的数据以确定是否已经分配了任何处理队列给在步骤307中所查询的终端。在某种意义上来说,该队列管理程序QM确定是否任何处理队列QP1至QPn已经包括了步骤307中的终端的信息。
如果步骤307中的终端与一处理队列QP1至QPn相适应,则队列管理程序QM进入步骤314并传送该顶端(或第一个)信息到被分配为该相同终端的处理队列QP1至QPn中。如果步骤307中的第一个信息的终端在步骤310中与任何处理队列中的终端不相适应,则队列管理程序进入步骤317并询问那里是否存在有任何空的处理队列QP1至QPn。如果有一个处理队列QP1至QPn是空的,那么在步骤320中,该队列管理程序QM分配该空的处理队列给这个信息的终端并将在步骤307中的该顶端信息传送至这个处理队列。然后它返回到步骤304去询问是否控制队列QC是空的。
由于没有相适应的或空的处理队列QP1至QPn,可以假定处理队列已被充满。在步骤324,该队列管理程序由检验该队列过程控制程序PC的结果来确定是否某物充满或阻塞了来自所有处理队列的信息的传送。如果不是整个部分的传送被堵塞,即,至少来自一个队列的传送被成功的进行,则队列管理程序QM将该信息留在该控制队列而在步骤300中进行等待,并暂停整个过程的执行以提供用于一处理队列空出的时间。如果某物阻塞了来自所有处理队列的信息的传送,则该队列管理程序QM到达步骤327。该队列管理程序QM通过空出该队列和将信息返回源处来清除该处理队列QP1至QPn中的一个或多个。还可执行其它动作以校正由于拥挤而引起的问题。
这个清除处理将该信息返回到它们的发送程序。一旦该队列管理程序清除了一个处理队列QP1至QPn,它就可将来自控制队列的顶端信息传送到被空出的处理队列,并因此将该处理队列分配为该信息的终端,根据本发明的另一个实施例,该队列管理程序QM清除所有处理队列QP1至QPn。
在图8中,该队列管理程序QM还可引入在该控制队列QC或QP1至QPn中的其它的排列顺序,即除按年月日排列之外的顺序。任何标量场可利用优先级进行排序。也就是说,该队列管理程序QM利用在该标量场中或增加或减小的数值量来建立一排列顺序。
在通常情况下,在一给定时间里一处理队列QP1至QPn可以包括许多具有很多不同优先级的信息。由于所有处理队列的所有信息首先通过控制队列,因而该同样的情况也可出现在控制队列QC之中。
如同在图9和图10中的流程图所示的那样,该队列过程控制程序控制该支线交换机BE1而将来自处理队列QP1至QPn的信息传送到它们各自的终端。如同在图4和图5中一样,在图9和图10中,该队列过程控制程序PC将该信息的处理分为两个单独的工作部分以便使它可能同时使用多个队列。图9表明了该传送的初始方式,图10则表明了传送图9的信息的方式。
图9所示的各个步骤与队列管理程序QM的操作的同步无关。在图9中,该队列过程控制程序以一预置的顺序每次一个地启动对处理队列QP1至QPn的检验,并在两个队列检验之间进行如步骤400所示的等待。我们的过程由一等待开始。这看来似乎是低效率的,但实际并非如此。该过程是周期性的,因而在初始等待之后,该过程进程好像该等待是在末尾。在许多情况中,当该系统启动时,并不存在有客户,如果该过程不随一等待而开始,它就会始终陷入等待而不做其它事情。因而由一等待开始通常更为有效。其它的执行过程可能不同。在步骤404,该队列过程控制程序PC检验下一个已准备传送信息的队列,并在步骤407中询问该处理队列是否有任何信息。如果回答是“否”,则该队列过程控制程序PC进入步骤410,清除或移去与以前在该队列中的信息相关的任何队列资料并重新分配该队列。该队列过程控制程序PC然后在步骤414中检验下一个队列并返回步骤400。
如果在步骤407中该回答为“是”,则表明在上述所讨论的处理队列中存在有信息,则队列过程控制程序PC进入步骤420去确定该支线交换机BE1是否已经传送了来自该处理队列的信息。如果“是”,则该队列过程控制程序PC进入步骤414去检验下一个队列。在一用于对误差处理重算的实施例中,步骤414可以越过在重算中其重算时间还未到达的任何队列。如果回答为“否”,则该队列过程控制程序PC前进到步骤424去启动由标记该队列作为传送对象的处理并请求该支线交换机BE1以得到一用来传送信息的信道。在步骤427中,该队列过程控制程序PC确定该信道是否成功得到。如果没有成功,则该队列过程控制程序PC返回到步骤400。如果成功,则在步骤434中该队列过程控制程序PC标记该用于处理的队列并返回步骤414并随后返回步骤400。
该处理步骤出现在图10中。在图10中,当步骤460的等待之后,在步骤464中该队列过程控制程序PC控制该支线交换机BE1以拨通在该处理队列中该信息终端的编号并通过该可利用的信道去传送该处理队列的第一个信息。我们的过程由一等待而开始。这看来似乎是低效率的,但实际上并非如此。该过程是周期性的,因而在初始等待之后,该过程的进行好像该等待是在未尾。在大多数情况中,当该系统开始工作时,并不存在客户,因而如果该过程不是一等待开始,它将始终陷入等待而不做任何事情。因此,由一等待开始通常更为有效。其它的执行过程有所不同。在步骤467,该队列过程控制程序PC询问该传送是否成功。如果“是”,则在步骤470中队列过程控制程序PC从该队列中移去该信息。在步骤474中,该队列过程控制程序PC检验在该处理队列中是否存在有任何更多的信息。如果回答为“是”,则在步骤477中,该队列过程控制程序询问该支线交换机BE1是否传送了每个被传送信息的最大数。如果没有,则在步骤480中,该队列过程控制程序PC得到下一个信息并在步骤464中重新开始该过程。
步骤484是可任意选择和可以去除的。如果在步骤467中该支线交换机BE1未完成呼叫,即该过程未成功,则执行步骤484的操作。该队列过程控制程序PC更新与反映情况的队列相关的队列信息。
如果在步骤467中信息传送没有成功,本发明的几个另外的实施例在步骤484中执行误差处理。在一个实施例中,该队列过程控制程序移动来自该队列的信息将它返回到其源处,并终止该处理队列的服务直至该队列过程控制程序的下一个周期。在另一实施例中,该队列过程控制程序移动来自该队列的所有信息并将它们返回到它们的源处。
在另一实施例中,该队列过程控制程序留下在该队列中的信息而设置一再试的时间。下一个传送来自该队列的信息的试图被认为是一次重算。该队列过程控制程序PC保持重算数的轨迹。当在图8中的步骤324中检验队列是否满时,该队列管理程序记下该队列是在重算中并监视确实不是所有的队列是在重算。
如果进行重算之后该信息仍然没有通过,则该队列过程控制程序PC将该信息(也许所有其它的到该终端的信息)返回到它的源处。
当周期地通过该队列而开始一过程时,该队列过程控制程序越过被标记为重算的队列直至该处理时间已满为止。
在步骤484中完成了误差处理之后,该队列过程控制程序PC然后前进到步骤487标记作为不处理的队列并中止该队列的进程。然后按图9的步骤等待开始下一个队列的处理。
如果在步骤474中该队列过程控制程序PC确定在该队列中不存在更多的信息,或者在步骤477中确定该交换机BE1处理了信息的最大数,则该队列过程控制程序PC进入步骤487。
如果呼叫成功,则该队列过程控制程序PC传送一组预置最大数的信息并且中止该传送。在该组中的最大数可能不允许传送在一处理队列中的所有信息。但是,在它的下一个检验该处理队列的周期期间,队列过程控制程序PC可以更多的传送。
图11中所示的过程是图9和图10中所示过程的一被简化的变型。在该实施例中,一个队列的处理必须是在另一队列的处理之前完成。这里再次说明,图11的各步骤与该队列管理程序QM的操作的同步无关。图11中,队列过程控制程序PC以一预置顺序在一时间里一次启动一对处理队列QP1至QPn的检验,并在两个队列的检验之间,出现如步骤500所示的等待。我们的过程由一等待开始。这看来似乎是低效率的,但实际并非如此。该过程是周期性的,这样在起始等待之后,好像该过程进行的等待是在未尾。在大多数情况下,当该系统开始时,没有客户存在,因而如果该过程不是从一等待而开始,那么它将始终陷入等待而不做任何事情。因此,用一等待开始通常更为有效。其它的执行过程可以不同。在步骤504,该队列过程控制程序PC检验下一个准备用于传送信息的队列,并在步骤507中询问该处理队列是否有任何信息。如果回答为“否”,则该队列过程控制程序PC到达步骤510并清除或移动在该队列中与以前的信息有关的任何队列资料并重新分配该队列。然后该队列过程控制程序PC在步骤514中对下一个队列进行检验并返回到步骤500。
如果在步骤507中该回答为“是”,则表明在该处理队列中存在有信息,该队列过程控制程序指向支线交换机BE1以拨通在该处理队列中的信息的终端的编号并通过它的可利用的信道去传送该处理队列的第一个信息。在步骤567中,该队列过程控制程序PC询问该传送是否成功。如果成功,则在步骤570中,该队列过程控制程序PC从该队列中移去该信息。在步骤574中,该队列过程控制程序PC检验在该处理队列中是否存在有更多的信息。如果回答为“是”,则在步骤577中该队列过程控制程序询问该交换机BE1的每次传送是否传送了信息的最大数。如果没有,则在步骤580中,该队列过程控制程序PC给出下一个信息并在步骤520中重新开始该过程。
如果步骤574确定在该队列中没有更多的信息,或者步骤577表明该交换机BE1已处理了最大数的信息,则该队列过程控制程序前进到步骤514。
步骤584是可任意选择的并且可以略去。如果在步骤567,该支线交换机BE1未完成呼叫,也就是说,该过程未成功,则步骤584建立反映该状态的资料。在步骤584,信息传送中的下一个企图是一重算。如果在进行了重算之后该信息仍未通过,那么该队列过程控制程序PC将该信息和所有可能的其它信息返回到该终端。
如果该呼叫成功,则该队列过程控制程序PC传送一组被预置的最大数的信息并中止该传送。在该组中所预置的数可能不允许传送在一处理队列中的所有信息。但是,队列过程控制程序PC在它的下一个检验该处理队列的周期期间可以传送更多的信息。
本发明具有既使终端的最大数可以很大例如为1000时也可提供高效率服务的优点。本发明基于这样一种认识,即在任何一时间里,通常仅仅存在有一有限数量的实际等待服务的终端。因此,仅仅一小数量的处理队列QP1至QPn例如50个队列就可以服务于一大量的终端。如果该处理队列的数量不足,则该控制队列作为上溢队列。
本发明提供了阻止来自垄断该处理队列的用于最忙的终端的信息的优点。由于在该控制队列QC中每个信息必须等待它的返回,所以出现这种情况。
根据本发明,该队列管理程序并不是将处理队列QP1至QPn永久地用于固定的终端而是暂时地将它们用于一指定的终端。当指定一个终端时,处理队列QP1至QPn中的一个被使用。一旦该队列被空出,对于另一个终点而言,该处理队列变为是可能利用的。另外,当处理发生时,该队列管理程序可将信息加到一处理队列中。
根据本发明的另外的特征,队列过程控制程序PC接受另外的信息资料以确定何时去触发一处理队列的操作。例如,传送时间和传送计数确定何时以及是否传送过程试图将一信息传送到一终端,进行了多少次尝试以及是否还有其他的重算是未决的。
根据本发明的另外的实施例,控制队列在队列中除了使用年月日排序之外还使用其它的排序方法。在一个例子中,该控制队列QC将该信息安置在一优先级基底中或安置在一优先级和先入先出组合基底中。该控制队列QC可使用任何标量场作为一优先级以及在该场中的增加值或减少值为顺序的过程信息。还根据本发明的另外的实施例,在一给定的时间在一处理队列QP1至QPn中该控制队列QC安置有若干不同的优先级。为了提高效率,大量的连接表可置换该先入先出队列。另外的方案使用了具有一识别当前在该队列中的最高优先级数值的辅助变量的先入先出队列。其结果是在建立时间和查询下一个处理的信息的效率之间折衷。根据本发明的另外的实施例,控制队列管理程序QM使用了用于其同一类型但不同优先级客户的不同处理队列。
根据本发明的一实施例,该队列管理程序QM如下所述地处理在该处理队列QP1至QPn中的信息拥挤问题。该队列管理程序QM暂停任何信息移动出该控制队列QC之外,直至处理队列QP1至QPn的至少一个变为可利用为止。另一方面,该队列管理程序QM在与每个处理队列相关的队列信息资料的基础上清除任何具有处理问题的处理队列QP1至QPn。这就使得在堵塞期间某些处理队列QP1至QPn可被利用和加快所有的处理进程。
还有另外的处理拥挤问题的方法包括等待直到所有的处理队列都具有处理问题并同时清除所有处理队列QP1至QPn。这就使得所有的处理队列QP1至QPn可利用。
在电话或语音信息环境中,本发明仅仅将信息赋予对其余终端的信息是自由的处理队列。因此即使那里可以存在一个实际上为无限数目的终端和仅仅一有限数目的队列,用于同一终端的信息送到同一处理队列中。信号源首先将信息放置到控制队列QC中,队列管理程序QM再将它们移至用来进一步处理的一个处理队列中。这就隔离了该处理队列QP1至QPn到该队列管理程序QM和过程控制程序PC的认识。将信息传送到控制队列的外部过程仅仅知道控制队列。
本发明允许同时发生对具有不同终端的信息和对于具有同一信息终端的这些信息保持一按年月日排序进行的处理。本发明动态的使用一用来处理同一信息类型(即,终端)的信息队列。处理队列QP1至QPn中的一个可以在一时间里保持用于一终端的信息和在另一时间里保持用于另外终端的信息。该队列管理程序QM知道该处理队列是使用在一重算状态或者是空出和可使用的。
本发明允许除了用按年月日排序信息之外还可由优先级来排序的信息。本发明使用一有限数目的队列而允许对大量的终端进行服务。事实上在不同的终端中不存在限制。用于同一终端的信息是在同一处理队列中等待。在同一处理队列中的信息通常是以年月日来排序的,除非期望另外的排序方案。同时地对不同信息进行处理是可容易达到的。本系统动态地将处理队列QP1至QPn分配给每个终端,然后重新对它们进行分配。为了便于处理起见,本发明相对于具有相应队列的一给定信息的处理而相联系有共同的特征。
用于对同一终端的多个信息的处理比用于对一单个队列系统以及用于对上述多个队列系统的处理更为有效。本发明允许在处理中有更大的适应性。
如果信息传送没有成功,则本发明的几个另外的实施例将执行误差处理。在一个实施例中,该队列过程控制程序或该队列管理程序将从该队列中移动该信息将它返回到该源处,并中止该处理服务直至该处理控制程序的下一个周期为止。在另一实施例中,该队列过程控制程序或该队列管理程序移动所有的信息。在另一实施例中,该队列过程控制程序或该队列管理程序将该信息保留在该队列中而设置一再试的时间。当周期的通过该队列去启动一过程时,该队列过程控制程序越过该队列直至该时间被处理为止。
虽然详细地介绍了本发明的实施例,但很明显本领域的技术人员在不违背本发明的精神和范围的前提下可对本发明作其它的具体化处理。例如,虽然该队列管理程序通过一语音邮政信息系统的形式给予了说明,但本领域的这些或普通技术人员能够容易的了解到上述方法和装置还可应用到所有其它的存贮和传送信息的类型的系统中。例如,本发明的实施例可应用到使用诸如传真信息(FAX)、电子邮政信息(E-mail)、语音信息以及所有种类的多媒体信息的存贮和传送信息系统。

Claims (28)

1、一种用于在一系统中的多个客户的队列管理系统,这些客户具有多种用户类型,其特征在于,该队列管理系统包括:
一用来对客户排队的控制队列;
多个少于客户类型数量的用于接收客户的处理队列,并且每个处理队列用来周期地排空客户;和
一用来将一种客户类型的客户传送到一没有其它客户类型的客户的空闲的处理队列之中的队列管理程序,该处理队列被分配有一种客户类型直至该处理队列空出为止。
2、如权利要求1中所述的一种系统,其中该队列管理程序进一步包括有当如果不存在有空的处理队列和如果不存在有一个或多个具有该客户类型的客户的处理队列时用来在该控制队列中保留一具有一种客户类型的客户的手段。
3、如权利要求1中所述的一种系统,其中所述队列管理程序包括:
用来确定在该控制队列中一客户的客户类型的手段;
用来确定是否存在一具有该客户类型的一客户的处理队列的手段;和
用来将一客户传送到一相适应的处理队列,也就是传送到一包括一具有该客户类型的客户的处理队列的手段。
4、如权利要求3中所述的一种系统,其中所述的队列管理程序进一步包括:
如果不存在相适应的处理队列时用来查找一空出的处理队列的手段;和
如果存在一空的处理队列时用来将该客户传送到一空的处理队列的手段。
5、如权利要求4中所述的一种系统,其中所述队列管理程序进一步包括:
当不存在有空出的处理队列时,用来确定哪一个处理队列正在空出的手段;和
如果没有空出的处理队列时,用来空出至少一个处理队列并将一客户从该控制队列传送到一个空出的处理队列的手段。
6、如权利要求5中所述的一种系统,其中所述队列管理程序进一步包括:
如果所有的处理队列均被分配并且所有的处理队列均正被空出时,用来暂停从该控制队列移动客户的过程的手段。
7、如权利要求1中所述的一种系统,进一步包括:
用来成批处理在每个所述处理队列中的客户的处理手段;
用来确定在一组(批)中所允许的客户的最大数的手段;和用来确定何时达到该最大数的手段。
8、如权利要求7中所述的一种系统,其中所述处理手段包括:
用来检验一个用于客户处理的处理队列的手段;
如果在该被检验的处理队列中不存在客户时用来检验下一个处理队列的手段;
用来检查该被检验的处理队列以查看该处理队列是否已被处理的手段;和
如果该处理队列未被处理而用来启动该处理的手段。
9、一种用来对在一系统中的多个客户服务的队列管理方法,这些客户具有多种客户类型,该队列管理方法包括步骤:
将该用户传送到一控制队列;
周期地空出少于客户类型数的多个处理队列的每一个;和
从所述控制队列中将一种客户类型的客户传送到一没有其它客户类型的空的处理队列,从而将该处理队列分配给该种客户类型直至该处理队列被空出为止。
10、如权利要求9所述的一种系统,进一步包括有如果没有空出的处理队列和如果没有带有一个或多个具有该客户类型的客户的处理队列时在该控制队列中保留一具有一种客户类型的客户的步骤。
11、如权利要求9中所述的一种方法,其中所述传送步骤包括:
确定在该控制队列中一客户的客户类型;
确定是否存在一个具有该客户类型的客户的处理队列;和
将一客户传送到一相适应的处理队列,也就是,传送到一包括有具有该客户类型的一客户的处理队列中。
12、如权利要求11中所述的一种方法,其中所述的传送步骤进一步包括有步骤:
如果不存在相适应的处理队列时,查找一空出的处理队列;和
如果存在一空出的处理队列时,将该客户传送到一空出的处理队列。
13、如权利要求12中所述的一种方法,其中所述的传送步骤进一步包括有步骤:
如果不存在空出的处理队列时,确定是否还有处理队列正在空出;和
如果没有空出的处理队列,则空出至少一个处理队列并从该控制队列中将一客户传送到被空出的处理队列。
14、如权利要求13中所述的一种方法,其中所述传送步骤进一步包括:
如果所有的处理队列均被分配和没有处理队列被空出,则暂停从该控制队列移动客户的过程。
15、如权利要求9中所述的一种方法,进一步包括有步骤:
成批处理在每个所述处理队列中的客户;
确定在一批(组)中所允许的客户的最大数;和
确定何时达到该最大数。
16、如权利要求15中所述的一种方法,其中所述的处理步骤包括:
检验一用于客户的处理队列;
如果在该被检验的处理队列中不存在客户时检验下一个用于客户的处理队列;
检查该被检验的处理队列以查看是否该处理队列是否正在处理;和
如果该处理队列未被处理则启动该处理。
17、一存贮-和-传送信息系统包括:
用来接收具有终端代码用于传送到多个目标终端中的一个终端的信息的手段;
用来对该信息排列的一控制队列;
少于该目标终端的多个处理队列;和
用来将一个用于来自所述控制队列的一个终端代码的信息传送到一没有其它终端代码的信息空闲的处理队列中的一队列管理程序,将该终端代码分配给该处理队列直至该处理队列被空出为止。
18、如权利要求17中所述的一种系统,其中所述队列管理程序进一步包括:如果不存在空出的处理队列和如果没有具有该终端代码的一个或多个客户的处理队列时用来在该控制队列中保留一个具有终端代码的信息的手段。
19、如权利要求17中所述的一种系统,其中所述队列管理程序包括:
用来确定在该控制队列中一信息的终端代码的手段;
用来确定是否存在一具有该终端代码的信息的处理队列的手段;和
用来将一信息传送给一相适应的队列,也就是,传送给一包括有该终端代码的信息的处理队列的手段。
20、如权利要求19中所述的一种系统,其中所述队列管理程序进一步包括:
如果不存在相适应的处理队列时,用来查找一空的处理队列的手段;和
如果存在一空的处理队列时,用来将信息传送到该突出的处理队列的手段。
21、如权利要求20中所述的一种系统,其中所述队列管理程序进一步包括:
当不存在空出的处理队列时,用来确定是否有处理队列正在空出的手段;和
如果没有处理队列正在空出时,用来空出至少一个处理队列并用来将一信息从控制队列传送到该空出的处理队列的手段。
22、如权利要求21中所述的一种系统,其中所述队列管理程序进一步包括:
如果所有的处理队列已被分配并且所有的处理队列已空出时,暂停从该控制队列移动信息的过程的手段。
23、如权利要求17中所述的一种系统,进一步包括有:
用来成批(组)依次处理在每个所述处理队列中的信息的处理手段;
用来确定一批(组)中所允许的最大信息数的手段;和
用来确定何时达到该最大数的手段。
24、如权利要求23中所述的一种系统,其中所述处理手段包括:
用来检验用于信息的一处理队列的手段;
如果在该被检验的处理队列中不存在有信息时用来检验下一个用于信息的处理队列的手段;
用来检查该被检验的处理队列以查看是否该处理队列是否正被处理的手段;和
如果该处理队列未被处理则用来启动该处理的手段。
25、一种用来将具有终端代码的信息传送到多个特定目标终端中的一个终端的排队方法,该方法包括有步骤:
将该信息送到一控制队列;
周期地空出少于终端数的多个处理队列的一个;和
将用于一终端的信息从所述控制队列传送到一没有其它终端的空闲的处理队列中,因而该处理队列被分配为这一终端直至该处理队列被空出为止。
26、如权利要求25中所述的一种方法,进一步包括如果没有空出的处理队列和如果没有具有一个或多个具有一终端的信息时则在该控制队列中保留一个具有该终端的信息的步骤。
27、如权利要求5中所述的系统,其中用来空出至少一个该处理队列的手段进一步包括用来将一客户从一空出的处理队列中返回到该控制队列的手段。
28、如权利要求4所述的系统,其中该队列管理程序进一步包括:
当不存在空出的处理队列时,用来确定是否还有任何正被空出的处理队列的手段;和
如果没有正被空出的处理队列时,用来空出至少一个处理队列并从控制队列移动具有在一被空出的处理队列中的客户的类型的客户。
CN94102225A 1993-03-03 1994-03-03 队列管理系统和方法 Expired - Fee Related CN1074229C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/025,538 1993-03-03
US08/025,538 US5844980A (en) 1993-03-03 1993-03-03 Queue managing system and method

Publications (2)

Publication Number Publication Date
CN1099923A true CN1099923A (zh) 1995-03-08
CN1074229C CN1074229C (zh) 2001-10-31

Family

ID=21826664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN94102225A Expired - Fee Related CN1074229C (zh) 1993-03-03 1994-03-03 队列管理系统和方法

Country Status (15)

Country Link
US (1) US5844980A (zh)
EP (1) EP0687371B1 (zh)
JP (1) JPH08510071A (zh)
CN (1) CN1074229C (zh)
AT (1) ATE166164T1 (zh)
AU (1) AU687381B2 (zh)
CA (1) CA2157504A1 (zh)
DE (1) DE69410243T2 (zh)
ES (1) ES2117253T3 (zh)
FI (1) FI954114A (zh)
HU (1) HU215877B (zh)
RU (1) RU2125767C1 (zh)
SK (1) SK105895A3 (zh)
WO (1) WO1994020904A1 (zh)
ZA (1) ZA941450B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1332548C (zh) * 2002-08-07 2007-08-15 华为技术有限公司 海量定时器的调度方法
CN100473179C (zh) * 2002-11-28 2009-03-25 中兴通讯股份有限公司 一种实现全分散控制排队服务的装置和方法
CN1826768B (zh) * 2003-08-25 2011-06-08 思科技术公司 利用动态资源分配进行的大规模排队的可扩展方法
CN101076059B (zh) * 2007-03-28 2012-09-05 腾讯科技(深圳)有限公司 基于即时通讯的客服系统及基于即时通讯的客服方法

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL111154A0 (en) * 1993-10-21 1994-12-29 Martino Ii John A Systems and methods for electronic messaging
US5907601A (en) * 1995-05-26 1999-05-25 Eis International Inc. Call pacing method
US6263066B1 (en) * 1997-02-06 2001-07-17 Genesys Telecommunications Laboratories, Inc. Multimedia managing and prioritized queuing system integrated with intelligent routing capability
US6480600B1 (en) 1997-02-10 2002-11-12 Genesys Telecommunications Laboratories, Inc. Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality
US6104802A (en) 1997-02-10 2000-08-15 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
US7031442B1 (en) 1997-02-10 2006-04-18 Genesys Telecommunications Laboratories, Inc. Methods and apparatus for personal routing in computer-simulated telephony
US5978770A (en) * 1997-04-24 1999-11-02 Visible Interactive Corporation Assigning and managing patron reservations for distributed services using wireless personal communication devices
FR2762917B1 (fr) * 1997-05-02 1999-06-11 Alsthom Cge Alcatel Procede d'affectation dynamique de taches a des evenements arrivant sur un ensemble de files d'attente
US6223243B1 (en) * 1997-06-12 2001-04-24 Nec Corporation Access control method with plural users having I/O commands prioritized in queues corresponding to plural memory units
US6711611B2 (en) 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
US6985943B2 (en) 1998-09-11 2006-01-10 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level
US6278776B1 (en) * 1997-12-22 2001-08-21 Ser Solutions Outbound switch pacing
US7907598B2 (en) 1998-02-17 2011-03-15 Genesys Telecommunication Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
US6332154B2 (en) 1998-09-11 2001-12-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface
US6335962B1 (en) * 1998-03-27 2002-01-01 Lucent Technologies Inc. Apparatus and method for grouping and prioritizing voice messages for convenient playback
USRE46153E1 (en) 1998-09-11 2016-09-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
US7929978B2 (en) 1999-12-01 2011-04-19 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network
RU2257681C2 (ru) * 2000-04-27 2005-07-27 Ракушин Александр Степанович Способ персонального вызова абонента телефонной сети (варианты)
RU2268551C2 (ru) * 2000-04-27 2006-01-20 Александр Степанович Ракушин Способ осуществления связи между абонентами телефонной сети (варианты)
US7565651B1 (en) * 2000-05-25 2009-07-21 Oracle International Corporation Parallel task scheduling system for computers
US6822945B2 (en) 2000-11-08 2004-11-23 Genesys Telecommunications Laboratories, Inc. Method and apparatus for anticipating and planning communication-center resources based on evaluation of events waiting in a communication center master queue
CA2354990A1 (en) * 2001-08-10 2003-02-10 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for fine dining queuing
US7114158B1 (en) * 2001-10-01 2006-09-26 Microsoft Corporation Programming framework including queueing network
US7222152B1 (en) 2001-10-01 2007-05-22 Microsoft Corporation Generic communications framework
US7373179B2 (en) * 2001-12-13 2008-05-13 At&T Mobility Ii Llc Call queue in a wireless device
CA2372092C (en) * 2002-02-15 2010-04-06 Cognos Incorporated A queuing model for a plurality of servers
US7464138B2 (en) * 2002-03-29 2008-12-09 International Business Machines Corporation Mirror queue in a shared queue environment
US7454501B2 (en) 2002-03-29 2008-11-18 International Business Machines Corporation Most eligible server in a common work queue environment
US7136480B2 (en) * 2002-06-26 2006-11-14 Siemens Communications, Inc. Methods and apparatus for processing a call
GB0225733D0 (en) * 2002-11-05 2002-12-11 Ibm Persistent messaging in a transaction processing environment
US7512142B2 (en) * 2002-11-21 2009-03-31 Adc Dsl Systems, Inc. Managing a finite queue
DE10260296A1 (de) * 2002-12-20 2004-07-08 Siemens Ag Steuerung der dynamischen Adressvergabe für Datenübertragung in Paketnetzen
US7827212B2 (en) * 2003-05-22 2010-11-02 International Business Machines Corporation System and method for improved clearing of JAVA object's variables
RU2253949C1 (ru) * 2003-10-28 2005-06-10 Смоловик Сергей Николаевич Способ записи, сохранения и обмена информацией в сети сотовой связи
FI20045213A0 (fi) * 2004-06-09 2004-06-09 Nokia Corp Lähetyksen ohjausmenetelmä, verkkoelementti, tukiasema ja radioverkko-ohjain
US8036372B2 (en) * 2005-11-30 2011-10-11 Avaya Inc. Methods and apparatus for dynamically reallocating a preferred request to one or more generic queues
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
US20090037324A1 (en) * 2007-08-02 2009-02-05 Jemstone Technologies Limited Method and apparatus for currency exchange
TW201032535A (en) * 2008-10-14 2010-09-01 Ibm A method of handling a message
US9141447B2 (en) * 2010-12-15 2015-09-22 Microsoft Technology Licensing, Llc Conditional deferred queuing
US9311139B1 (en) * 2015-05-29 2016-04-12 Flexera Software Llc Batch processing of oversubscribed system based on subscriber usage patterns
CN108228240B (zh) * 2016-12-14 2021-02-26 北京国双科技有限公司 多任务队列中任务的处理方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4398257A (en) * 1981-02-27 1983-08-09 Ncr Corporation Customer queue control method and system
US4700295A (en) * 1985-04-18 1987-10-13 Barry Katsof System and method for forecasting bank traffic and scheduling work assignments for bank personnel
US4757529A (en) * 1986-02-28 1988-07-12 American Telephone And Telegraph Company, At&T Bell Laboratories Call distribution arrangement
US4855904A (en) * 1986-08-27 1989-08-08 Amdahl Corporation Cache storage queue
US5012409A (en) * 1988-03-10 1991-04-30 Fletcher Mitchell S Operating system for a multi-tasking operating environment
US5006983A (en) * 1989-09-12 1991-04-09 Addax, Inc. Service allocation system
US5193110A (en) * 1990-10-09 1993-03-09 Boston Technology, Incorporated Integrated services platform for telephone communication system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1332548C (zh) * 2002-08-07 2007-08-15 华为技术有限公司 海量定时器的调度方法
CN100473179C (zh) * 2002-11-28 2009-03-25 中兴通讯股份有限公司 一种实现全分散控制排队服务的装置和方法
CN1826768B (zh) * 2003-08-25 2011-06-08 思科技术公司 利用动态资源分配进行的大规模排队的可扩展方法
US8199764B2 (en) 2003-08-25 2012-06-12 Cisco Technology, Inc. Scalable approach to large scale queuing through dynamic resource allocation
CN101076059B (zh) * 2007-03-28 2012-09-05 腾讯科技(深圳)有限公司 基于即时通讯的客服系统及基于即时通讯的客服方法

Also Published As

Publication number Publication date
ZA941450B (en) 1994-09-26
HUT71367A (en) 1995-11-28
EP0687371B1 (en) 1998-05-13
CN1074229C (zh) 2001-10-31
FI954114A0 (fi) 1995-09-01
WO1994020904A1 (en) 1994-09-15
AU6094494A (en) 1994-09-26
ATE166164T1 (de) 1998-05-15
FI954114A (fi) 1995-09-01
EP0687371A1 (en) 1995-12-20
DE69410243D1 (de) 1998-06-18
ES2117253T3 (es) 1998-08-01
US5844980A (en) 1998-12-01
CA2157504A1 (en) 1994-09-15
HU215877B (hu) 1999-03-29
RU2125767C1 (ru) 1999-01-27
SK105895A3 (en) 1996-11-06
HU9502569D0 (en) 1995-10-30
AU687381B2 (en) 1998-02-26
JPH08510071A (ja) 1996-10-22
DE69410243T2 (de) 1998-11-19

Similar Documents

Publication Publication Date Title
CN1074229C (zh) 队列管理系统和方法
CN1161957C (zh) 一种用于使传真机成为电子邮件客户机的方法和装置
CN1138207C (zh) 使用远程java对象分配程序的方法和装置
CN1227942C (zh) 带宽预留系统的服务级别和公正原则
CN1084113C (zh) 呼叫排队路由分配方法
CN1131859A (zh) 用户信息服务系统
CN1849587A (zh) 共享处理器和网络接口的多个操作系统
CN1691593A (zh) 数据发送装置和数据发送时刻的变更方法
CN1125867A (zh) 客户机服务器型网络
CN1422059A (zh) 无线固定电信网中电话用户“一号多机”业务的实现方法
CN1198438C (zh) 建立至少一种新拨号方案的电信系统、业务控制点和方法
CN1449160A (zh) 用于包括无阻塞交换结构和线路卡接口的系统的包调度
CN1156764C (zh) 图像数据的发送装置和接收装置、及其发送和接收的方法
CN1008875B (zh) 用于单元间通讯的控制系统
CN1759412A (zh) 客房分配设备和客房分配程序
CN1045508C (zh) 远程计算机数据包交换系统
CN1145317C (zh) 在智能网上实现业务语音动态加载的方法及其系统组网
CN1946120A (zh) 实现话单关联的方法及系统
CN1233193C (zh) 专用小交换机系统
CN1435978A (zh) 通信请求处理系统、通信请求处理方法以及通信请求处理装置
CN1071970C (zh) 通信系统
CN1203644C (zh) 数字内容分配系统及其装置
CN1845526A (zh) 一种分组公平调度方法及设备
CN1798131A (zh) 处理代理的消息的装置和方法
CN1825876A (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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee