JPH08510071A - 待ち行列管理装置および方法 - Google Patents

待ち行列管理装置および方法

Info

Publication number
JPH08510071A
JPH08510071A JP6519969A JP51996994A JPH08510071A JP H08510071 A JPH08510071 A JP H08510071A JP 6519969 A JP6519969 A JP 6519969A JP 51996994 A JP51996994 A JP 51996994A JP H08510071 A JPH08510071 A JP H08510071A
Authority
JP
Japan
Prior art keywords
queue
processing
client
empty
queues
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.)
Ceased
Application number
JP6519969A
Other languages
English (en)
Inventor
マーク イー カミンスキー,
ロベルト ペレルマン,
ペイテル バイピン,
ジャンヌ イチノフスキー,
クリス ユアン,
Original Assignee
シーメンス ロルム コミュニケイションズ インコーポレイテッド
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 シーメンス ロルム コミュニケイションズ インコーポレイテッド filed Critical シーメンス ロルム コミュニケイションズ インコーポレイテッド
Publication of JPH08510071A publication Critical patent/JPH08510071A/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Telephonic Communication Services (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 複数のクライアントをサービスするための待ち行列管理装置では、クライアントは種々異なるクライアントタイプを表し、制御待ち行列はクライアントを所定の順序で待ち行列に入れる。待ち行列管理プログラムは複数の処理待ち行列を、前記クライアントタイプの異なる1つに整合するためアロケートおよびリアロケートする。ここで複数の処理待ち行列の数はクライアントタイプの数より少ない。待ち行列管理プログラムは、制御待ち行列のクライアントの1つを連続的に、整合する処理待ち行列がある場合には、クライアントタイプに整合する処理待ち行列に配置し、整合する処理待ち行列はないが空の処理待ち行列がある場合には、空の処理待ち行列をアロケートまたはリアロケートする。サーバーは処理待ち行列をバッチで空にする。テレフォンシステム環境では、クライアントはメッセージであり、クライアントタイプは種々のデスティネーションに対するメッセージ内のコードである。待ち行列管理プログラムは複数の処理待ち行列の各々を制御待ち行列のデスティネーションの1つに提供し、制御待ち行列の先頭メッセージにアクセスし、整合する場合はメッセージのデスティネーションコードに整合する処理待ち行列にメッセージを配列し、整合する処理待ち行列はないが空の処理待ち行列はある場合は空の処理待ち行列を目的デスティネーションに提供する。

Description

【発明の詳細な説明】 待ち行列管理装置および方法 発明の背景技術 本発明は、種々のタイプのサービスを要求するクライアントの待ち行列を、必 要なサービスを提供するサーバーに割り当てるための方法および手段に関する。 別の面から見ると、本発明はさらに具体的には、記録された電話メッセージの待 ち行列を管理し、メッセージのバッチを意図するデスティネーションに伝送でき るようにする方法および手段に関する。 このような待ち行列管理装置はサービスをクライアントに割り当てる。このク ライアントは変化する処理要求をそれらのタイプに依存して有する。例えばA, B,C等のクライアントの各タイプごとに管理装置は例えばA,B,C等のクラ イアントにサービスすることのできるサーバーの等級を規定する。管理装置はそ の代わりに、ユニバーサルサーバーを提供することもできる。このユニバーサル サーバーは自身を種々異なるサーバーの等級、例えばA,B,C等にクライアン トのニーズとして伝送することができる。 単一待ち行列ストラテジーでは、すべてのクライアントが同じ待ち行列で到着 順に待機し、サービスを一人ずつ受ける。待ち行列の先頭のクライアントが今サ ービスを受けたクライアントと同じタイプ、例えばタイプAであれば、タイプA のクライアントを処理しているサーバーが次のタイプAのクライアントを直ちに 処理することができる。それ以外の場合は、管理装置はサーバーの等級を次のク ライアントに適切なように、例えばタイプBに変化させるか、または最初のタイ プ、すなわちタイプAの次のクライアントを待ち行列の中から検索しなければな らない。 存在する電話ボイスメールシステムの環境では、クライアントが記録メッセー ジのフォームを種々のデスティネーションに対して使用する。単一待ち行列スト ラテジーは次のように機能する。すべてのメッセージが同じ待ち行列にそれらの 到着順に待機し、サーバーは各メッセージを1つずつサービスし、伝送する。同 じデスティネーションに宛てたメッセージが順次連続すれば、管理装置はそれら をバッチとして伝送することができる。それ以外の場合、管理装置はデスティネ ーションを次のメッセージのデスティネーションに変更するか、または最初のメ ッセージと同じデスティネーションに宛てたメッセージを待ち行列で検索し、同 じデスティネーションへの複数のメッセージを相互にバッチとして伝送するため に抽出する。 このような単一待ち行列システムは明らかに非効率的である。このようなシス テムでは、種々のクライアントまたはメッセージの同時サービスに簡単に適応す ることはできない。 多重待ち行列ストラテジーは多重待ち行列を使用し、各待ち行列をクライアン トタイプおよび相応するサーバータイプと関連づける。同じタイプのクライアン トは同じ待ち行列で、それらの到着順に待機する。電話ボイスメールシステムの 環境における多重待ち行列スキーマにより、クライアントは種々のデスティネー ションに対して符号化された記録メッセージである。多重待ち行列のそれぞれは 固有のデスティネーションに対するメッセージを有する。同じデスティネーショ ンに対するメッセージは同じ待ち行列でそれらの到着順に待機する。このような 多重待ち行列構成はデスティネーションの最大数が等しい複数の待ち行列を必要 とする。しかしデスティネーションは非常に大きかったり、未知であったりする 。各メッセージは所定のデスティネーションの待ち行列を通過しなければならな い。 本発明の課題は、待ち行列管理装置を改善し、特にテレフォンシステムに対し てボイスメールを使用できるようにすることである。 本発明の別の課題は、上記の欠点を回避することである。 発明の要約 本発明では、種々のタイプのクライアントすべてを 制御待ち行列に所定の順序でアセンブルし、クライアント数よりも少ない数の処 理待ち行列の各々を空にし、クライアントタイプの各連続するクライアントを、 制御待ち行列から他のクライアントタイプのない処理待ち行列に周期的に伝送す る。これは、各処理待ち行列を1つのクライアントタイプに、処理待ち行列が空 になるまでアロケートし、各空になった処理待ち行列をこれに伝送される次のク ライアントのクライアントタイプにリアロケートする。 待ち行列管理プログラムは、各処理待ち行列に常に、プロセス待ち量行列を常 に含むクライアントの同じタイプを付け加えるから、待ち行列管理プログラムは 本質的に各処理待ち行列をクライアントのタイプにアロケートし、これを待ち行 列管理プログラムはまず処理待ち行列に配置する。このアロケーションはサーバ ーが処理待ち行列を空にするまで続けられる。次に待ち行列管理プログラムが新 たなクライアントタイプを空の処理待ち行列比おけば、待ち行列管理プログラム は処理待ち行列を前のクライアントタイプからデアロケートし、これをもっとも 最近のタイプにリアロケートする。このデアロケートとリアロケートにより、処 理待ち行列の数を、例えば50に制限することができ、任意の数のクライアント タイプ、例えば1000以上を取り扱うことができる。 本発明の別の側面では、すなわち電話環境の1つで は、クライアントが複数のデスティネーションへの伝送のために符号化されたボ イスメールメッセージを記録する。すべてのデスティネーションへのメッセージ すべては制御待ち行列に所定の順序で、例えばファストイン−ファストアウトベ ースで現れる。待ち行列管理プログラムはメッセージを制御待ち行列に1つずつ 処理待ち行列の数で分配する。この処理待ち行列の数は、各連続する第1のメッ セージを制御待ち行列に処理待ち行列に基づいて配置することによりデスティネ ーションの数より少ない。処理待ち行列のデスティネーションは最初のメッセー ジのデスティネーションに整合する。整合する処理待ち行列がなければ、待ち行 列管理プログラムはメッセージを制御待ち行列に、処理待ち行列からのメッセー ジの伝送が処理待ち行列を空にするまで保持する。待ち行列管理プログラムは次 に、伝送に対する処理待ち行列を新たなデスティネーションにだけリアロケート し、次のメッセージを空の処理待ち行列に配置する。 本発明は、制限された数の待ち行列を使用して、多数のクライアントタイプま たはデスティネーションの同時サービスを可能にする。仮想的にはクライアント タイプの数またはデスティネーションの数に制限はない。同じタイプのクライア ントまたは同じデスティネーションへのメッセージは同じ処理待ち行列で待機す る。クライアントまたはメッセージは同じ待ち行列で 待機する。通常は時間順に待機するが、別の順序も可能である。異なるクライア ントタイプまたは異なるメッセージデスティネーションの同時処理は簡単に得ら れる。本発明の装置はダイナミックに待ち行列を各クライアントタイプまたはデ スティネーションにアロケートし、それらを空になったときにデアロケートし、 新たなクライアントタイプまたはメッセージが新たなデスティネーションに到着 する。本発明は共通の属性を、所定のクライアントタイプまたはデスティネーシ ョンの処理に関連して、処理の軽減のため相応する待ち行列により割り当てる。 多重クライアントタイプまたは多重デスティネーション向けメッセージの処理 は、単一待ち行列スキーマよりさらに効率的であり、前に述べた多重待ち行列シ ステムと同等である。本発明は処理における柔軟性が大きい。 本発明の特徴は請求項に記載されており、この明細書の一部を形成する。本発 明の別の目的および利点は、添付図面を見れば当業者には明白である。 図面の簡単な説明 図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のブロック回路図において、待ち行列管理プロ グラムは待ち行列プールを 管理する。すなわち、制御待ち行列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はファストイン−ファストアウト(FIFO)待ち行列である。しかし これは単なる例であり、制御待ち行列はクライアントを別の所望の順序で配列す ることができる。 待ち行列管理プログラムQMは、制御待ち行列QCの各先頭クライアントを処 理待ち行列QP1〜QPnにクライアントタイプに関連して配置する。待ち行列 管理プログラムはクライアントタイプとの関連づけを最初のクライアントのクラ イアントタイプに基づいて確定する。この最初のクライアントを待ち行列管理プ ログラムは空の処理待ち行列QP1〜QPnに配置す る。これは以下のようにして行われる。 始めはすべての処理待ち行列QP1〜QPnが空であり、制御待ち行列QCの 最初のクライアントはタイプTC10のクライアントであると仮定する。この場 合、待ち行列管理プログラムはクライアントを処理待ち行列QP1に配置する。 このステップは、処理待ち行列QP1をクライアントタイプTC10にアロケー トまたは提供する。それにしたがって待ち行列管理プログラムはクライアントタ イプTC10だけを処理待ち行列QP1に、サーバーSEの1つが処理待ち行列 QP1を空にするまで配置する。制御待ち行列QCの次の先頭クライアントがタ イプTC143であれば、待ち行列管理プログラムQMはタイプTC143のク ライアントを処理待ち行列QP2に配置し、したがって、処理待ち行列QP2を クライアントタイプTC143に提供またはアロケートする。 制御待ち行列QCの次の先頭クライアントがタイプTC10であれば、待ち行 列管理プログラムはクライアントを他のクライアントTC10と共に処理待ち行 列QP1に配置し、他の空き処理待ち行列には配置しない。その後、待ち行列管 理プログラムQMは、先頭クライアントをすでにクライアントタイプに対してア ロケートした処理待ち行列に配置し続ける。そしてこのような専用処理待ち行列 が存在しなければ、待ち行列管理プログラムは次の先頭クライアントを空の処理 待ち行列に配置する。空の処理待ち行列がクライアントタイプを受信するたびに 、待ち行列管理プログラムはその処理待ち行列をそのクライアントタイプに提供 する。 待ち行列管理プログラムがすべての処理待ち行列を提供するかアロケートし、 サービスを受ける次のクライアントが処理待ち行列の提供またはアロケートされ ていないタイプであれば、待ち行列管理プログラムは制御待ち行列QCからのク ライアントの分配を停止し、サーバーSEが処理待ち行列QP1〜QPnの1つ を空にするのを待機する。サーバーSEは処理待ち行列QP1〜QPnを個別に 、クライアントを1つずつか、またはバッチでサービスする。このようなサービ スは例えば処理待ち行列を空にし、これにより待ち行列管理プログラムが処理待 ち行列をデアロケートし、これをクライアントの先頭に、制御待ち行列QCの先 頭でリロケートする。 択一的実施例では、クライアントが最大サイズでバッチ処理される。待ち行列 管理プログラムがすべての処理待ち行列を提供するかまたはアロケートし、サー ビスすべき次のクライアントが処理待ち行列がまだ提供されていないかまたはア ロケートされていない場合、待ち行列管理プログラムは制御待ち行列を検査し、 後のクライアントを制御待ち行列に伝送する。この制御待ち行列は、伝送が処理 すべき外部バッチを引き起こ さない場合、処理待ち行列をその処理待ち行列にマッチングする。 待ち行列管理プログラムは、待ち行列情報を各処理待ち行列に対して関連づけ 、または保守する。この待ち行列情報は、瞬時のアロケートされたクライアント タイプを含み、他のフィールドも含むことができる。 本発明は、クライアントタイプの最大数TC1〜TCtが非常に大きくても、 この時点では通常制限されたクライアント数しか実際にはサービスを待機してい ないという認識に基づく。したがって、いくつのクライアントタイプがこのクラ イアントの部分集合において実際にサービスを待機しているかを評価することに より十分な待ち行列QP1〜QPnWQをアロケートし、これを保持することが できる。 待ち行列管理プログラムQMは恒久的にいずれかの処理待ち行列を固定のクラ イアントタイプに提供するのではない。そうではなく、処理待ち行列を同時に1 つのクライアントタイプに割り当てるのである。処理待ち行列QP1〜QPnは 、待ち行列管理プログラムがこれをクライアントタイプに割り当てるときに使用 される。その他の場合は、処理待ち行列は空であり使用可能である。処理待ち行 列は、クライアントがその処理待ち行列にいないときだけ割り当てまたは再割り 当てに使用することができる。 図2は、図1の待ち行列管理装置QMSの動作を説 明するフローチャートである。ステップ100では、待ち行列管理プログラムが 待機を実行し、これにより1つ以上のソースによりクライアントを制御待ち行列 QCに付加することができる。私たちの処理は待機で開始する。これは無効を意 味するが、本当ではない。処理は周期的であり、したがって初期待機の後は、待 機が終了部にあるかのように処理される。多くの場合、装置が始動するときクラ イアントはいない。したがって、処理が待機でスタートしなければ、何も処理せ ずに待機を失敗することになる。したがって待機でスタートすることは通常かな り有効である。他の実行では異なる場合もある。ステップ104で、待ち行列管 理プログラムは制御待ち行列がからかい中を検出する。空であれば、待ち行列管 理プログラムQMはステップ100の待機に戻る。制御待ち行列QCが空でなく 、クライアントを含んでいれば、待ち行列管理プログラムはステップ107へ進 み、最初のクライアントのクライアントタイプを読み出す。ステップ110で、 待ち行列管理プログラムは最初のクライアントのクライアントタイプが処理待ち 行列のいずれかのクライアントタイプと整合するか否か検出する。すなわち、待 ち行列管理プログラムは、それが有するデータから処理待ち行列のいずれかを、 ステップ107に発見されたクライアントタイプにすでにアロケートしているか 否かを検出する。ある意味で、待ち行列管理プログラム QMは、処理待ち行列QP1〜QPnのいずれかがステップ107のタイプのク ライアントタイプをすでに有しているか否かを確定する。 ステップ107でのクライアントタイプが処理待ち行列QP1〜QPnの1つ に整合すれば、待ち行列管理プログラムQMはステップ114へ進み、先頭、ま たは最初のクライアントを制御待ち行列から移動し、これを同じクライアントタ イプにアロケートされた処理待ち行列QP1〜1Pnに追加する。ステップ10 7での最初のクライアントのクライアントタイプがステップ110でのいずれの 処理待ち行列でのクライアントタイプに整合しなければ、待ち行列管理プログラ ムはステップ117へ進み、そこで使用可能な処理待ち行列が存在するか否かを 質問する。すなわち、処理待ち行列QP1〜QPnの1つが空であるか否かを質 問する。処理待ち行列QP1〜QPnの1つが使用可能、すなわち空であれば、 待ち行列管理プログラムはQMはステップ120で、使用可能な新たな処理待ち 行列をそのクライアントタイプに割り当て、ステップ107の最初のクライアン トを移動し、これを処理待ち行列に付加する。次にステップ104に戻り、制御 待ち行列QCが空か否かを質問する。 処理待ち行列QP1〜QPnのいずれもが空きでなければ処理待ち行列は効率 的に混雑している。ステップ124で、待ち行列管理プログラムQMは、サーバ ーSEが少なくとも1つの処理待ち行列のクライアントをサービスしているか、 または反対に混雑しているか否か、またはすべての処理待ち行列がブロックして いるか否かを確定する。クライアントをサービスするための全ブロックが存在し ていなれば、すなわち少なくとも1つの処理待ち行列のサービスがうまく処理さ れていれば、待ち行列管理プログラムQMはステップ100のクライアント待機 に戻り、処理全体の実行を中止する。これにより、処理待ち行列をサービスし、 空にするための時間が得られ、処理待ち行列を使用することができるようになる 。 サーバーが、処理待ち行列のいずれかでクライアントをうまく処理できなけれ ば、すなわち、ブロックされるか、またはすべての処理待ち行列のサービスが混 雑していれば、待ち行列管理プログラムQMは処理待ち行列QP1〜QPnのす べてを、待ち行列を空にし、含まれるクライアントをそれらのソースに戻すこと によって一掃する。この時点で、これらのクライアントはもはや処理の一部でな くなるが、ソースはクライアントを制御待ち行列に戻すことができる。他の動作 を混雑の原因となる問題を補正するために実行することができる。いったん待ち 行列管理プログラムが処理待ち行列QP1〜QPnを一掃すれば、管理プログラ ムはその処理待ち行列を先頭のクライアントのクライアントタイプに対してアロ ケートし、先頭のクライアン トを、処理待ち行列を空にするため制御待ち行列QCに伝送することができる。 本発明の実施例によれば、待ち行列管理プログラムQMは、ステップ127で 処理待ち行列QP1〜QPnの1つまたは複数だけを一掃する。本発明の別の実 施例では、ステップ127で待ち行列管理プログラムはまた制御待ち行列を検査 し、混雑している処理待ち行列の1つにそのタイプがアロケートされたいずれか のクライアントに戻る。本発明の別の実施例によれば、ステップ127で、クラ イアントをそれらのソースにリターンする代わりに、待ち行列管理プログラムは クライアントを制御待ち行列に戻す。2つの条件がこの実施例に対し、適切に動 作するため満たされなければならない。第1は、制御待ち行列での(すなわち未 だ処理待ち行列にない)処理待ち行列に割り当てられたクライアントタイプに対 しするいずれのエントリも、制御待ち行列へ処理待ち行列から戻されたエントリ の後に終了しなければならない。これはそのタイプのクライアントに対して時間 順序を守るためである。第2は、無限ループを回避するため、恒久的問題がある 場合には、処理待ち行列から戻された各クライアントはこれに関連したリターン カウントを有しなければならない。最大リターンカウントが割り当てられ、クラ イアントに関連したリターンカウントが最大値に達したならば、クライアントは 制御待ち行列に戻されるので はなく、そのソースに戻される。 本発明の別の実施例が、図3のフローチャートに示された図2の変形から明ら かである。ここでは、ステップ124での答えが否定であり、処理待ち行列がす べて混雑していなければ、待ち行列管理プログラムはステップ130で待機を開 始する。この待機は、ステップ100での待機と同等である。その後、待ち行列 管理プログラムは直接ステップ117へ戻る。図3での動作はステップ100に 戻る図2のものより、制御待ち行列QCが厳密にFIFOである場合により効率 的である。この場合、処理待ち行列QP1〜QPnのいずれかのクライアントタ イプに整合できなかったトップエントリを置換することができない。したがって 、処理は常にステップ104、107および110〜117に先行して行われる こととなる。図3の実施例では、待ち行列管理プログラムQMはステップ117 へ直接進む。本発明の別の実施例によれば、クライアントのソースは、そのクラ イアントの処理が失敗した場合、サーバーSEによって通報される。 本発明の別の実施例によれば、待ち行列管理プログラムQMは他の待ち行列順 序を制御待ち行列QCまたはQP1〜QPnに導入する。すなわち時間順序以外 の順序である。1つの実施例では、順序は優先度に基づきものである。他の実施 例では、優先度と時間の組み合わせである。いずれもスカラーフィールドも優先 度として使用できる。すなわち、待ち行列管理プログラムQMは上昇または下降 の順序をスカラーフィールドの値によって形成する。 一般的な場合、処理待ち行列QP1〜QPnは多数の異なる優先度を有する多 数のクライアントを所定の時間で含むことができる。同じ事が制御待ち行列QC でも言える。なぜなら、すべての処理待ち行列のすべてのクライアントは制御待 ち行列を最初に通過するからである。実施例によれば、待ち行列管理プログラム QMはヒープまたはリンクリストを使用する。他の実施例では、FIFO待ち行 列が使用され、この待ち行列は補助変数を有していて、これが待ち行列での現在 の最優先値を告げる。この実施例は、セットアップタイムと処理での次のクライ アントを見つける効率との妥協をはかる。 サーバーSEは処理待ち行列QP1〜QPnを図4と図5のフローチャートに 示されたようにサービスする。 図4は、処理の開始を表し、図5は実際の処理を表す。処理の開始および処理 は別個に行われ、これによりサーバーSEは多重待ち行列を同時に処理すること ができる。ステップは、“処理スタート”チェックを含み、これにより多重プロ セスが同じ待ち行列生じないことが保証される。 待ち行列管理プログラムQMの動作タイミングとは 独立して、サーバーSEは処理待ち行列QP1〜QPnのチェックを所定のシー ケンスでステップ200でまず待機することにより開始する。我々の処理は待機 でスタートする。処理は周期的である。したがって初期待機の後、処理は待機が 終了部にあるかのように実行される。多くの場合、装置がスタートするときクラ イアントはいない。したがって、処理が待機でスタートしないと、何の行わない うちに待機を失敗することとなる。したがって待機によりスタートすることは通 常かなり有効である。他の実行では異なることができる。ステップ204でサー バーSEは次の待ち行列を、処理に対して準備のできたクライアントに対しチェ ックする。そしてステップ207で、処理待ち行列がすでにクライアントを有す るか否か質問する。回答が否定であれば、サーバーSEステップ210に行き、 以前にその待ち行列にいてその待ち行列からデアロケートされたクライアントに 関連するすべての待ち行列情報をクリアまたは除去する。次にサーバーはステッ プ214で次の待ち行列のチェックを開始し、ステップ200へ戻る。 ステップ207での回答が肯定であれば、問題の処理待ち行列がクライアント を含んでおり、サーバーはステップ220へ進み、処理待ち行列がすでにスター トしているか否か、またサービスを受けているか否かが検出される。肯定であれ ば、サーバーはステップ2 14へ進み、次の待ち行列のチェックを開始する。回答が否定であれば、サーバ ーはステップ224へ進み、その待ち行列を処理対象にマークし、処理待ち行列 のクライアントのサービスを開始する。次にサーバーSEはステップ227で、 サービスがうまくスタートしたか否か検出する。否定であればサーバーSEはス テップ200へ戻る。肯定であれば、サーバーはその待ち行列を処理中としてス テップ234でマークし、ステップ200へ戻る前にステップ214へ進む。 開始後の処理ステップは図5に示されている。ここではステップ260での待 機の後、サーバーはステップ264で処理を実行する。ステップ267は処理が 成功したか否か質問する。肯定であれば、サーバーはクライアントを待ち行列か らステップ270で転送する。ステップ274では、サーバーは処理中の待ち行 列にそれ以上のクライアントがいるか否か検出する。いなければ、ステップ28 7へ進み、そこでサーバーはその待ち行列を処理なしとしてマークし、この待ち 行列での処理が終了する。まだクライアントがいる場合は、サーバーはステップ 277で、クライアントの最大数が処理されたか否か検出する。クライアントを バッチで取り扱うサーバーもある。このバッチは最大サイズであることも、そう でないこともある。サーバーがクライアントをバッチで処理し、サーバーがクラ イアントの最大数をバッチで取り扱う場合、サーバー は処理を次のパスまで中断する。ステップ277で回答が肯定であれば、サーバ ーは最大数を処理している。そうでなければ、サーバーはステップ280へ進み 、ステップ264へ戻る。ステップ267で回答が否定であれば、サーバーはス テップ284へ進み、エラー処理を行う。本発明の実施例によれば、エラー処理 は、待ち行列を“再試行”に対してマークすること、とリトライタイムを指定す ることも含む。待ち行列処理コントローラは、初期プロセス(図4)では、所定 のリトライタイムまで、再試行にマークされた待ち行列のチェックをスキップす る。 本発明の実施例によれば、サーバーはエラー処理を省略する。 図6のブロック回路図は、テレフォンシステム環境での本発明の実施例を表す 。ここでは、図2のクライアントCL1〜CLmはボイスメールメッセージであ り、そのタイプはそれらのデスティネーションと共に変化する。図6のテレフォ ンシステムでは、電話ブランチ交換局BE1はユーザー位置L1にあり、複数の 電話T1,T2,...Tkを公衆または私用電話網TNと関連するボイスメール システムVM1に接続する。電話網TNはブランチ交換局BE1を複数の他のブ ランチ交換局BE2...BEqに接続する。すべての位置LC1〜LChは場合 により位置L1から離れている。各ブランチ交換局BE2〜BEqは複数の電話 T Lを電話網TNと、それぞれ関連するボイスメールシステムVM2〜VMqに接 続する。各ボイスメールシステムVM1〜VMqは公知の形式であり、電話T1 〜TkおよびTLのいずれからその関連するブランチ交換局BE1〜BEqに到 着したメッセージを記録する。 図6の位置LC1〜LChは広く拡散することができる。ブランチ交換局BE 1とボイスメールシステムVM1の位置L1は例えば、サンタクララ、カリフォ ルニアであり、他の位置は例えばニューヨーク、ニューヨーク;ボストン、マサ チューセッツ;そしてノッティンガム、英国等とすることができる。 ボイスメールシステムVM1は待ち行列管理装置QMTを有する。この管理装 置の詳細は図7のブロック回路図に示されている。ボイスメールシステムVM1 は、ローカル位置L1の電話T1〜Tkからの、またはリモート位置LC1〜L Chの電話TLからのブランチ交換局BE1を介して到着したすべてのメッセー ジを受信および記憶する。これらは、電話T1〜Tkによる検索のためのメッセ ージと、リモート電話TLへ伝送するためのメッセージを含む。各メッセージは 、所定のデスティネーションまたは複数の所定のデスティネーションに対するデ スティネーションコードを有する。 典型的にはデスティネーションは他のボイスメール システム、例えばVM2〜VMqのいずれか1つである。待ち行列管理装置QM Tは、これが複数のメッセージをボイスメールシステムのような単一のデスティ ネーションへバッチ伝送するために収集するときに、最高の効率で動作する。各 メッセージの符号は目的ボイスメールシステムの数と、目的ボイスメールシステ ム内の所定のデスティネーションのメールボックス番号とを含む。デスティネー ションの数は例えば1000である。 ボイスメールシステムVM1では、セレクタ(図示せず)がリモート電話TL への伝送のための記録メッセージをローカル電話T1〜Tkに向けられた記録メ ッセージから分離する。リモート電話は、ボイスメールシステムVM1のブラン チ交換局BE1の外にある位置LC1〜LChにある。ボイスメールシステムV M1により各ローカル電話T1〜Tkは、これらローカル電話に向けられたメッ セージにアクセスすることができる。図7の待ち行列管理装置QMTは、クライ アントとしてメッセージME1〜MEmだけを受信する。これらのメッセージは 、リモート電話TLおよびブランチ交換局BE1の外の位置LC1〜LChにお けるデスティネーションDE1〜DEtへの伝送のために符号化されている。 図7は、待ち行列管理装置QMTの詳細を示す。後者は、図1のシステムQM Sをテレフォンシステム、 特に図6のボイスメールシステムと関連して構成する。図7は図1と次の点を除 いて同じである。すなわち、クライアントCL1〜CLmがメッセージME1〜 MEmの特別の形態をとり、タイプTC1〜TCtがデスティネーションDE1 〜DEtの特別の形態をとり、サーバーSEが待ち行列処理コントローラPCの 特別の形態をとる点である。コントローラPCはリモートデスティネーションを ダイヤルし、メッセージを伝送する。図1からず7と同じ参照符号を用いる。 図7では、制御待ち行列QCはすべてのデスティネーションDE1〜DEtに 対するメッセージME1〜MEmを受信し、それらを到着順に保持する。待ち行 列管理プログラムQMは制御待ち行列QCからのメッセージを同じ順序で転送す る。したがって、制御待ち行列QCはファストイン・ファストアウト(FIFO )待ち行列である。しかしこれは単なる例であり、制御待ち行列は所望の他の順 序でメッセージを配列することができる。 図7では、待ち行列管理プログラムQMは制御待ち行列QCの各先頭メッセー ジを処理待ち行列QP1〜QPnに、デスティネーションの1つに関連して配置 する。待ち行列管理プログラム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に配置し、空の処理待 ち行列の1つに配置することはしない。その後、待ち行列管理プログラムQMは 所定のデスティネーションを有する先頭メッセージを、 待ち行列管理プログラムQMがそのデスティネーションに対してアロケートした 処理待ち行列に配置し続ける。このような提供された処理待ち行列がなければ、 待ち行列管理プログラムは次の先頭クライアントを空の処理待ち行列に配置する 。空の処理待ち行列が所定のデスティネーションを有するメッセージを受信する たびに、待ち行列管理プログラムはその処理待ち行列をそのデスティネーション に提供する。 待ち行列処理コントローラPCは処理待ち行列を、待ち行列管理プログラムQ Mによる動作に無関係にときどき巡回する。各処理待ち行列において、待ち行列 処理コントローラPCは提供された処理待ち行列のデスティネーション番号をダ イヤルする。コールが完了すると、待ち行列処理コントローラPCはメッセージ のバッチをその待ち行列プロセッサにブランチ交換局を介して伝送する。バッチ におけるメッセージの最大数はシステムがいつでも伝送できるメッセージの数に 依存している。これはまた、メッセージの伝送を管理するプロトコルに依存する 。 処理待ち行列のメッセージの数がバッチの最大数より小さければ、このような 動作は処理待ち行列を空にする。これにより、待ち行列管理プログラムQMは、 その処理待ち行列をデアロケートし、これを制御待ち行列QCの先頭にあるメッ セージのでデスティネーションにリアロケートすることができる。しかし処理待 ち行列のメッセージ数がバッチの最大数を越えると、この手続きは待ち行列処理 コントローラPCの次のサイクルまで動作を中止する。コントローラは常に次の 待ち行列がうまくメッセージを送信しているか否かをチェックする。 待ち行列管理プログラムがすべての処理待ち行列を提供またはアロケートし、 制御待ち行列の次のメッセージが、処理待ち行列の提供またはアロケートされて いないデスティネーションに対するものであれば、待ち行列管理プログラムは制 御待ち行列QCからのメッセージの分配を停止し、待ち行列処理コントローラP Cの動作を待機し、ブランチ交換局を空にし、メッセージを処理待ち行列QP1 〜QPnの1つに伝送する。 待ち行列管理プログラムQMと処理コントローラPCは待ち行列情報を各処理 待ち行列に対して関連づけ、維持する。この待ち行列情報は、現在アロケートさ れているデスティネーションコードを含み、他のフィールド、例えば現在処理さ れている処理待ち行列が空か否か、再試行の数、再試行の処理待ち行列、次のリ トライタイム等のフィールドを含むことができる。 本発明は、デスティネーションDE1〜DEtの最大数が1000以上の非常 に大きな数であっても、同時に実際にサービスを待機してるメッセージの数は普 通制限された数であり、ソースの数も制限されている という認識に基づくものである。したがって、いくつのデスティネーションがこ のメッセージの部分集合において実際に伝送を待機しているか評価することによ って、十分な処理待ち行列QP1〜QPn(例えば50)をアロケートしこれを ホールドすることができる。 待ち行列管理プログラムは恒久的に、いずれかの処理待ち行列を固定のデステ ィネーションに提供することはせず、処理待ち行列を1つのデスティネーション にその処理待ち行列が空になるまで割り当てる。待ち行列管理プログラムは次に 、空の待ち行列をリアロケートする。処理待ち行列QP1〜QPnは、待ち行列 管理プログラムQMがこれをデスティネーションに割り当てたときに使用される 。それ以外は、処理待ち行列は空であり、使用可能である。処理待ち行列は、メ ッセージがその処理待ち行列にない場合だけ、割り当てまたは再割り当てに対し て使用することができる。 図8は、図6と図7の待ち行列管理装置QMTの動作を説明するフローチャー トである。動作は図2のそれと似ているが、電話およびボイスメール環境である 点が異なる。ステップ300で、待ち行列管理プログラムQMは待機を実行し、 これによりメッセージを制御待ち行列QCに付加することができる。私たちの処 理は待機でスタートする。これは非効率的に見えるが、実際は違う。処理は周期 的なものであり、したがって 初期待機の後、処理は待機が終了部にあるかのように行われる。多くの場合、装 置がスタートするときクライアントはいない。したがって、処理が待機でスター トしないと、何の動作もせずに待機に失敗することとなる。したがって待機での スタートは通常、かなり効率的である。他の実行は異なることができる。ステッ プ304で、待ち行列管理プログラムは制御待ち行列QCが空であるか否か検査 する。空であれば、待ち行列管理プログラムQMはステップ300に戻る。制御 待ち行列QCが空でなく、メッセージを含んでいれば、待ち行列管理プログラム QMはステップ307に進み、最初のメッセージのデスティネーションコードを 読み出す。ステップ310で、待ち行列管理プログラムは、最初のデスティネー ションコードが処理待ち行列QP1〜QPnのいずれかのデスティネーションコ ードと整合するか否か検出する。すなわち、待ち行列管理プログラムQMはデー タをチェックし、処理待ち行列に関して、処理待ち行列のいずれかをステップ3 07で発見されたデスティネーションにアロケートしたか否かを検出する。ある 意味では、待ち行列管理プログラムQMは、処理待ち行列QP1〜QPnのいず れかがすでに、ステップ307でのデスティネーションへのメッセージを含んで いるか否かを確定する。 ステップ307でのデスティネーションが処理待ち行列QP1〜QPnに整合 すれば、処理待ち管理プログラムQMはステップ314へ進み、先頭または最初 のメッセージを同じデスティネーションにアロケートされている処理待ち行列Q P1〜QPnへ伝送する。ステップ307での最初のメッセージのデスティネー ションがステップ310での処理待ち行列のいずれのデスティネーションとも整 合しなければ、待ち行列管理プログラムはステップ317に進み、空の処理待ち 行列QP1〜QPnが存在しないか否か質問する。処理待ち行列QP1〜QPn の1つが空であれば、処理待ち管理プログラムQMはステップ320で、空の新 たな処理待ち行列をそのメッセージのデスティネーションに割り当て、先頭のメ ッセージをステップ307でその処理待ち行列に伝送する。次にステップ304 に戻り、制御待ち行列QCが空であるか否かを質問する。 整合の欠如または空処理待ち行列QP1〜QPnの欠如は処理待ち行列の混雑 を示唆する。ステップ324で、待ち行列管理プログラムは、待ち行列処理コン トローラPCの結果のチェックから、混雑しているか否か、すべての処理待ち行 列からのメッセージの転送がブロックされているか否かを確定する。転送が完全 にブロックされていなければ、すなわち少なくとも1つの処理待ち行列からの転 送がうまく行っていれば、 待ち行列管理プログラムQMはメッセージを制御待ち行列に残し、ステップ30 0で待機し、処理全体の実行を中止する。これにより処理待ち行列を空にする時 間が得られる。すべての処理待ち行列からのメッセージの転送がブロックされて いれば、待ち行列管理プログラムQMはステップ327に進む。待ち行列管理プ ログラムQMは1つまたはそれ以上の処理待ち行列QP1〜QPnを、待ち行列 を空にしメッセージをそのソースに戻すことによって一掃する。他の動作を混雑 の原因となる問題を補正するために実行することができる。 この一掃処理はメッセージをその送信者に戻す。いったん待ち行列管理プログ ラムが処理待ち行列QP1〜QPnを一掃すれば、これは制御待ち行列からの先 頭メッセージを空の処理待ち行列に伝送することができ、したがってその処理待 ち行列をそのメッセージのデスティネーションにアロケートする。本発明の別の 実施例によれば、待ち行列管理プログラムQMはすべての処理待ち行列QP1〜 QPnを一掃する。 図8では、待ち行列管理プログラムQMはまた別の待ち行列順序を制御待ち行 列QCまたはQP1〜QPnに導入することができる。すなわち、時間順序以外 の順序である。いずれのスカラーフィールドも優先度として使用することができ る。すなわち、待ち行列管理プログラムQMは上昇または下降順序を、そのスカ ラーフィールドの値により形成する。 一般的な場合、処理待ち行列QP1〜QPnは多数の異なる優先度を有する多 数のメッセージを所定の時間に同時に含むことができる。同じ事が制御待ち行列 QCにも当てはまる。なぜなら、すべての処理待ち行列のすべてのメッセージは 制御待ち行列を最初に通過するからである。 待ち行列処理コントローラPCはブランチ交換器BE1に処理待ち行列QP1 〜QPnからのメッセージをそれらに相応するデスティネーションに伝送するこ とを指示する。これは図9と図10のフローチャートに示されている。図9と図 10では、図4と図5のように、待ち行列処理コントローラPCがメッセージの 処理を2つの別個のタスクに分割する。これにより、多重待ち行列を同時に使用 することができる。図9は伝送の初期化を表し、図10は図9のメッセージの伝 送を表す。 図9のステップは待ち行列管理プログラムQMの動作タイミングとは無関係で ある。ここでは、待ち行列処理コントローラPCは所定のシーケンスで処理待ち 行列QP1〜QPnのチェックを開始し、一方では同時に、待ち行列のチェック 間ではステップ400に示されているように待機する。私たちの処理は待機でス タートする。これは非効率的に思えるが、実際はそうでない。処理は周期的であ り、したがって初期待機の 後は、処理は待機が終了部にあるかのように行われる。多くの場合、装置がスタ ートするときにクライアントはいない。したがって、処理が待機でスタートしな いと、何も動作しないうちに待機を失敗することとなる。したがって待機による スタートは通常、かなり効率的である。他の実行では異なることもできる。ステ ップ404では、待ち行列処理コントローラPCが伝送準備のできたメッセージ に対する次の待ち行列をチェックする。そしてステップ407で、処理待ち行列 がメッセージを有するか否か質問する。質問が否定であれば、待ち行列処理コン トローラPCはステップ410へ進み、この待ち行列における以前のメッセージ に関連する待ち行列情報をクリアまたは除去し、この待ち行列をデアロケートす る。待ち行列処理コントローラPCはステップ414で次の待ち行列のチェック を開始し、ステップ400へ戻る。 ステップ407での回答が肯定であれば、問題の処理待ち行列にメッセージが ある。待ち行列処理コントローラPCはステップ420へ進み、ブランチ交換局 BE1がすでに処理待ち行列からのメッセージを伝送しているか否かを検出する 。伝送していれば、待ち行列処理コントローラPCはステップ414へ進み、次 の待ち行列のチェックを開始する。エラー処理のための再試行を行う実施例では 、ステップ414でリトライタイムに達していない再試行中の待ち行列をスキッ プすることができる。回答が否定であれば、待ち行列処理コントローラPCはス テップ424へ進み、待ち行列を伝送対象としてマークし、ブランチ交換局BE 1にメッセージ転送のためのチャネルを要求することによって処理を開始する。 待ち行列処理コントローラPCはステップ427で、チャネルがうまく得られた か否かを検出する。チャネルが得られていなければ、待ち行列処理コントローラ PCはステップ400へ戻る。チャネルが得られれば、待ち行列処理コントロー ラPCは処理の対する待ち行列をステップ434でマークし、ステップ414、 そしてステップ400へ戻る。 処理ステップは図10に示されている。ここではステップ460での待機の後 、処理コントローラPCはステップ464で直接、ブランチ交換局BE1に処理 待ち行列のメッセージのデスティネーション番号をダイヤルさせ、処理待ち行列 の最初のメッセージを使用可能となっているチャネルを介して伝送する。私たち の処理は待機でスタートする。これは非効率的に思えるが、実際はそうでない。 処理は周期的であり、したがって初期待機の後は、処理は待機が終了部にあるか のように行われる。多くの場合、装置がスタートするときクライアントはいない 。そのため、処理が待機でスタートしなければ、何も動作しないで待機に失敗す ることとなる。したがって、待機によるスタートは通 常、かなり効率的である。他の実行では異なることもできる。ステップ467で 、処理コントローラPCは伝送がうまくいったか否かを質問する。うまくいって いれば、ステップ470で待ち行列処理コントローラPCはメッセージを待ち行 列から転送する。ステップ474で、処理コントローラPCは処理待ち行列にま だメッセージがあるかどうかチェックする。回答が肯定であれば、ステップ47 7で、待ち行列処理コントローラは、交換局BE1が各伝送に対するメッセージ の最大数を伝送したか否かを質問する。伝送していなければ、ステップ480で 、待ち行列処理コントローラPCは次のメッセージを獲得し、処理をステップ4 64で再スタートする。 ステップ484はオプションであり、省略することができる。ステップ484 は、ステップ467でブランチ交換局BE1がコールを完了しなかった場合、す なわち処理が失敗した場合に動作する。待ち行列処理コントローラPCは、待ち 行列に関連する待ち行列情報を状況を反映するために更新する。 ステップ467でのメッセージ転送が失敗した場合、本発明の別の複数の実施 例ではエラー処理がステップ484で実行される。1つの実施例では、待ち行列 処理コントローラはメッセージを待ち行列から除去し、これをソースに戻し、処 理待ち行列のサービスを処理コントローラの次のサイクルまでに終了する。別の 実 施例では、待ち行列処理コントローラはすべてのメッセージを待ち行列から除去 し、そのソースに戻す。 別の実施例では、待ち行列処理コントローラはメッセージを待ち行列に残すが 、再試行の時間をセットする。メッセージのこの待ち行列からの転送は再試行と みなされる。待ち行列処理コントローラPCは再試行数の追跡を続ける。待ち行 列管理プログラムは、その待ち行列が再試行であることをマークし、図8のステ ップ324で待ち行列混雑をチェックするとき、すべての待ち行列が再試行でな いことを確認するためモニタする。 メッセージが再試行を行った後でも通じなければ、待ち行列処理コントローラ PCはそのメッセージ(場合によりそのデスティネーションに対する他のすべて )をそのソースに戻す。 待ち行列を循環して処理をスタートさせると、待ち行列処理コントローラは再 試行に対してマークされた待ち行列を処理の時間までスキップする。 エラー処理をステップ484で完了すると、待ち行列処理コントローラPCは ステップ487へ進み、待ち行列を処理なしとしてマークし、この待ち行列に対 する処理を終了する。次に図9のステップにより次の待ち行列の処理の開始を待 機する。 ステップ474で待ち行列処理コントローラPCがその待ち行列にそれ以上メ ッセージがないことを検出 すると、またはステップ477で交換局BE1がメッセージの最大数を処理した ことを検出すると、コントローラPCはステップ487へ進む。 コールがうまく通じれば、待ち行列処理コントローラPCはメッセージの所定 の最大数のバッチを転送し、転送は終了する。バッチの所定数は、処理待ち行列 でのすべてのメッセージの転送を可能にする。しかし、待ち行列処理コントロー ラPCはその次のチェックサイクル中にさらに多くの処理待ち行列を転送するこ とができる。 図11の処理は図9と図10の処理の簡単化実施例である。この実施例では、 1つの待ち行列の処理は、他の待ち行列の処理が開始する前に終了しなければな らない。ここでも、図11のステップは待ち行列管理プログラムQMの動作タイ ミングに無関係である。ここでは、待ち行列処理コントローラPCは処理待ち行 列QP1〜QPnのチェックを所定のシーケンスで開始する。一方では同時に、 待ち行列チェックの間は待機でステップ500に示されている。私たちの処理は 待機でスタートする。これは非効率的に思えるかもしれないが、実際はそうでな い。処理は周期的なものであり、初期待機の後、処理は待機が終了部にあるよう に行われる。多くの場合、装置がスタートするときクライアントはいないから、 処理が待機でスタートしなければ、何の動作もせずに待機を失敗することとなる 。 したがって待機によるスタートは通常かなり効率的である。他の実行では異なる こともできる。ステップ504で、待ち行列処理コントローラPCは次の待ち行 列を伝送準備のできたメッセージに対してチェックし、ステップ507で処理待 ち行列がメッセージを有しているか否かを質問する。回答が否定であれば、待ち 行列処理コントローラPCはステップ510へ進み、この待ち行列の以前のメッ セージに関連する待ち行列譲歩をクリアまたは除去し、この待ち行列をデアロケ ートする。待ち行列処理コントローラPCは次にステップ514で次の待ち行列 のチェックを開始し、ステップ500へ戻る。 ステップ507での回答が肯定であれば、処理待ち行列にメッセージがあり、 待ち行列処理コントローラPCはブランチ交換局BE1に、処理待ち行列のメッ セージのデスティネーション番号をダイヤルすることと、処理待ち行列の最初の メッセージを使用可能としたチャネルを介して伝送することを指示する。ステッ プ567では、処理コントローラPCが伝送がうまくいったか否かを質問する。 うまくいっていればステップ570で、待ち行列コントローラPCが処理待ち行 列にメッセージがあるか否かをチェックする。回答が肯定であれば、ステップ5 77で、待ち行列処理コントローラは交換局BE1がメッセージの最大数を書く 伝送に対して伝送したか否かを質問する。伝送してい なければ、ステップ580で、待ち行列処理コントローラPCは次のメッセージ を獲得し、処理をステップ520で再スタートする。 ステップ574で、待ち行列にメッセージがないことが検出されるか、または ステップ577で、交換局BE1がメッセージの最大数を処理したことが指示さ れれば、コントローラPCはステップ514へ進む。 ステップ584はオプションであり、省略することができる。ステップ567 で、ブランチ交換局BE1がコールを完了していなければ、すなわち、処理が失 敗していれば、ステップ584で待ち行列情報が状況を反映するために更新され る。ステップ584では、メッセージ転送の次の試みが再試行される。メッセー ジが再試行マーク後に通じなければ、待ち行列処理コントローラPCはそのメッ セージを戻し、場合により他のすべてもそのデスティネーションに戻す。 コールがうまく行けば、待ち行列コントローラPCは所定の最大数のメッセー ジのバッチを転送し、転送が終了する。バッチの所定数は処理待ち行列のすべて のメッセージの転送を許可しない。しかし、待ち行列処理コントローラPCはチ ェックの次のサイクル中に、より多くの処理待ち行列を転送することができる。 本発明は、たとえデスティネーションの最大数が例えば1000のように非常 に大きくても効率的なサービスを行うことができるという利点を有する。本発明 は、任意の時点では通常制限された数のデスティネーションしか実際にサービス を受けるのを待機していないという認識に基づく。したがって、少数の処理待ち 行列QP1〜QPn、例えば50だけで多数のデスティネーションをサービスす ることができる。制御待ち行列は、処理待ち行列の数が不十分な場合はオーバー フロー待ち行列としてサービスする。 本発明の利点は、待ち行列管理プログラムが、処理待ち行列QP1〜QPnを 固定のデスティネーションに恒久的に提供せず、それらを一時的に所定のデステ ィネーションに提供することである。処理待ち行列QP1〜QPnの1つは1つ のデスティネーションに提供されたとき使用される。いったん空になれば、処理 待ち行列を他のデスティネーションのアロケートに使用することができる。また 待ち行列管理プログラムは、処理が行われている間にメッセージを処理待ち行列 に付加する。 本発明の別の形態では、処理コントローラPCが他の情報を受信し、これによ り処理待ち行列の作動をいつトリガするか決定する。例えば、転送時間と転送回 数がいつかを決定し、転送処理がメッセージをデスティネーションに送信するこ とを試みるべき場合、および他の再試行がペンディングの場合には、何回試行す べきかを決定する。 本発明の別の実施例では、制御待ち行列QCは待ち 行列に対して時間順序以外の順序法を使用する。1つの例では、制御待ち行列Q Cがメッセージを優先度ベースまたは優先度とファストイン・ファストアウト・ ベースの組み合わせに基づいて配置する。制御待ち行列QCはスカラーフィール ドを優先度として使用することができ、メッセージをそのフィールドの上昇値ま たは下降値の順序で処理する。本発明のさらに別の実施例では、制御待ち行列Q Cは、処理待ち行列QP1〜QPnの1つの多数の異なる優先度を所定の時間で 並べる。効率のためにはヒープまたはリンクリストがファストイン・ファストア ウト待ち行列を置換する。別のスキーマは、付加的変数を有するファストイン・ ファストアウト待ち行列を使用する。この付加変数は現在の待ち行列における最 優先度を指示する。これにより、セットアップタイムと処理すべき次のメッセー ジを発見するための効率との妥協が図られる。本発明の別の実施例によれば、制 御待ち行列管理プログラムQMは異なる処理待ち行列を同じタイプではあるがし かし優先度の異なるクライアントに対して使用する。 本発明の実施例によれば、待ち行列管理プログラムQMは処理待ち行列QP1 〜QPnの混雑を次のようにして取り扱う。待ち行列管理プログラムQMは制御 待ち行列QCからのメッセージの移動を、少なくとも処理待ち行列QP1〜QP nの1つが使用可能になるまで中止する。択一的に、待ち行列管理プログラムQ Mは、次のような処理待ち行列QP1〜QPnを一掃する。すなわち、各処理待 ち行列に関連する処理問題を有する処理待ち行列を一掃する。管理プログラムは 処理待ち行列QP1〜QPnのいくつかを混雑中に使用可能であるとマークし、 処理全体を促進する。 混雑を取り扱う他の方法では、処理待ち行列QP1〜QPn全体が処理問題を かかえるまで待機し、処理待ち行列QP1〜QPn全部を一度に一掃する。これ により、処理待ち行列QP1〜QPnのすべてが使用可能になる。 テレフォンまたはボイスメッセージ環境では、本発明はメッセージを他のデス ティネーションに向けられたメッセージのない処理待ち行列だけに割り当てる。 したがって同じデスティネーションに対するメッセージが同じ処理待ち行列に行 く。これは、仮想的には無限の数のデスティネーションが存在しており、待ち行 列の数は制限されているもそうである。ソースはメッセージを制御待ち行列QC にまず送り出し、待ち行列管理プログラムQMはこれをさらなる処理のため処理 待ち行列の1つに移動する。これは、処理待ち行列QP1〜QPnの知識を待ち 行列管理プログラムQMと処理コントローラPCに対して孤立させる。メッセー ジを制御待ち行列に送信する外部処理は制御待ち行列QCだけを知る。 本発明により、異なるデスティネーションを有する メッセージの同時処理が可能であり、同じメッセージデスティネーションを有す るこれらメッセージに対して時間順序を守る。本発明は、同じメッセージタイプ 、例えばデスティネーションのメッセージをホールドするために待ち行列をダイ ナミックに使用する。処理待ち行列QP1〜QPnの1つは、1つのデスティネ ーションに対するメッセージをある時にホールドし、別のデスティネーションに 対するメッセージを他の時にホールドすることができる。待ち行列管理プログラ ムQMは処理待ち行列が使用されているか、再試行条件にあるか、または空であ り使用可能であるかを知る。 本発明により、メッセージを時間に付加された優先度または時間の代わりの優 先度により配列することができる。本発明は、制限された数の待ち行列を使用し て多数のデスティネーションの同時サービスを可能にする。実際にはデスティネ ーションの数に制限はない。同じデスティネーションに対するメッセージは同じ 処理待ち行列で待機する。同じ処理待ち行列のメッセージは通常、選択的なアプ ローチが所望されない限り、時間順序である。異なるメッセージの同時処理は簡 単に利用できる。装置はダイナミックに処理待ち行列QP1〜QPnを各デステ ィネーションに割り当て、それらをこのようなデスティネーションからデアロケ ートする。本発明は、所定のメッセージの処理に関連する共通の属性を、処理の 簡単化のために相応する待ち 行列に関連づける。 同じデスティネーションに対する多重メッセージの処理は、単一待ち行列シス テムに対するよりもさらに効率的であり、前の多重待ち行列システムに対するの と同等である。本発明により処理に多種多様の柔軟性が得られる。 メッセージ転送が失敗した場合、本発明のいくつかの他の実施例ではエラー処 理が実行される。1つの実施例では、待ち行列処理コントローラまたは待ち行列 管理プログラムがメッセージを待ち行列から除去し、これをソースに戻し、処理 のサービスを処理コントローラの次のサイクルまでに終了する。別の実施例では 、待ち行列処理コントローラまたは待ち行列管理プログラムがすべてのメッセー ジを除去する。他の実施例では待ち行列処理コントローラまたは待ち行列管理プ ログラムはメッセージを待ち行列に残すが、再試行時間をセットする。サイクル が待ち行列を処理スタートのために循環すると、待ち行列処理コントローラはそ の待ち行列を処理の時間までスキップする。 本発明の実施例を詳細に説明したが、当業者には本発明の精神と観点から離れ ることなく本発明を別に実施することができる。例えば、待ち行列管理プログラ ムをボイスメールシステムに関連して説明したが、当業者であれば、上記の方法 および装置を他の形式のメッセージシステムに適切に適用することができる。例 えば本発明の実施例は、ストア・アンド・フォワード・メッセージシステムにも 、例えばファクシミリメッセージ(FAX)、電子メールメッセージ(E−メー ル)、ビデオメッセージ、またそのすべての種類のマルチメディアメッセージに 適用することができる。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ペレルマン, ロベルト アメリカ合衆国 94087 カリフォルニア サニーヴェイル イーグル ドライヴ 1614 (72)発明者 バイピン, ペイテル アメリカ合衆国 95139 カリフォルニア サン ホセ プリンプトン コート 120 (72)発明者 イチノフスキー, ジャンヌ アメリカ合衆国 94301 カリフォルニア パロ アルト グリーンウッド アヴェ ニュー 1051 (72)発明者 ユアン, クリス アメリカ合衆国 945390 カリフォルニア フリモント ビーヴァー コート 823 【要約の続き】 整合する場合はメッセージのデスティネーションコード に整合する処理待ち行列にメッセージを配列し、整合す る処理待ち行列はないが空の処理待ち行列はある場合は 空の処理待ち行列を目的デスティネーションに提供す る。

Claims (1)

  1. 【特許請求の範囲】 1. システム内の複数のクライアントに対する待ち行列管理装置であって、ク ライアントは複数のクライアントタイプを表し、待ち行列管理装置は、 行列に並ぶクライアントに対する制御待ち行列と、複数の処理待ち行列と、 待ち行列管理プログラムとを有し、 前記処理待ち行列の数はクライアント受信のためのクライアントタイプの数 より少なく、 各処理待ち行列は周期的にクライアントを空にされ、 前記待ち行列管理プログラムは、1つのクライアントタイプのクライアント を前記制御待ち行列から、他のクライアントタイプのクライアントのない処理待 ち行列に転送するためのものであり、 処理待ち行列は1つのクライアントタイプに、処理待ち行列が空になるまで アロケートされる ことを特徴とする待ち行列管理装置。 2. 待ち行列管理プログラムはさらにクライアント保持手段を有し、 該保持手段は、あるクライアントタイプを有するクライアントを制御待ち行 列に、空の処理待ち行列がない場合、および前記のクライアントタイプを有する 1つ以上のクライアントを含む処理待ち行列が ない場合に保持する 請求の範囲第1項記載の装置。 3. 前記待ち行列管理プログラムは、 制御待ち行列のクライアントのクライアントタイプを検出するための手段と、 前記のクライアントタイプを備えたクライアントを有する処理待ち行列があ るか否かを検出する手段と、 クライアントを整合する処理待ち行列に転送する手段、すなわち前記クライ アントタイプを備えたクライアントを含む処理待ち行列に転送する手段と を有する請求の範囲第1項記載の装置。 4. 前記待ち行列管理プログラムはさらに、 整合する処理待ち行列がない場合に、空の処理待ち行列を探すための手段と 、 空の処理待ち行列がある場合に、クライアントを空の処理待ち行列に転送す るための手段と を有する請求の範囲第3項記載の装置。 5. 前記待ち行列管理プログラムはさらに、 空の処理待ち行列がないときに、処理待ち行列のいずれかが空か否かを確定 するための手段と、 処理待ち行列が空でない場合に、少なくとも1つの処理待ち行列を空にし、 クライアントを制御待ち行列から空の処理待ち行列の1つに転送するための手段 と を有する請求の範囲第4項記載の装置。 6. 前記処理待ち行列はさらに、 すべての処理待ち行列がアロケートされ、処理待ち行列が空である場合に、 クライアントを制御待ち行列から除去するための処理を中断するための手段を有 する 請求の範囲第5項記載の装置。 7. さらに、前記処理待ち行列の各々において交互にバッチとしてクライアン トを処理するための処理手段と、 バッチで許容されたクライアントの最大数を検出するための手段と、 最大数に達した時を検出するための手段 とを有する請求の範囲第1項記載の装置。 8. 前記処理手段は、 クライアントに対する処理待ち行列をチェックするための手段と、 チェックされた処理待ち行列にクライアントがいない場合に、クライアント に対して次の処理待ち行列をチェックするための手段と、 チェックされた処理待ち行列が処理されているか否かを検査する手段と、 処理待ち行列が処理されていなければ、処理をスタートさせるための手段と をさらに有する請求の範囲第7項記載の装置。 9. 管理装置で複数のクライアントをサービスするための待ち行列管理方法で あって、 クライアントは複数のクライアントタイプを表し、 待ち行列管理方法は、 クライアントを制御待ち行列に転送するステップと、 複数の処理待ち行列の各々を周期的に空にするステップと、 ここで処理待ち行列の数はクライアントタイプの数よりも少なく、 所定のクライアントタイプのクライアントを前記制御待ち行列から、他のク ライアントタイプのない処理待ち行列に転送するステップとからなり、 ここで前記処理待ち行列は、処理待ち行列が空になるまで1つのクライアン トタイプにアロケートされる ことを特徴とする待ち行列管理方法。 10. さらに、空の処理待ち行列がない場合、および前記クライアントタイプを 有する1つ以上のクライアントを備えた処理待ち行列がない場合、制御待ち行列 の所定のクライアントタイプを有するクライアントを保持するステップを有する 請求の範囲第9項記載の方法。 11. 前記転送ステップは、 制御待ち行列のクライアントのクライアントタイ プを検出するステップと、 クライアントを、整合する処理待ち行列、すなわち前記クライアントタイプ を有するクライアントを含む処理待ち行列に転送するステップと を含む請求の範囲第9項記載の方法。 12. 前記転送ステップはさらに、 整合する処理待ち行列がない場合に、空の処理待ち行列を探すステップと、 空の処理待ち行列がある場合、クライアントを空の処理待ち行列に転送する ステップと を含む請求の範囲第11項記載の方法。 13. 前記転送ステップはさらに、 空の処理待ち行列がないときに、処理待ち行列のいずれかが空になるか否か を確定するステップと、 空になる処理待ち行列がない場合に、処理待ち行列の少なくとも1つを空に し、クライアントを制御待ち行列から空の処理待ち行列の1つに転送するステッ プと を含む請求の範囲第12項記載の方法。 14. 前記転送ステップはさらに、 すべての処理待ち行列がアロケートされ、処理待ち行列が空になる場合に、 制御待ち行列からのクライアントの転送処理を中断するステップ を含む請求の範囲第13項記載の方法。 15. 前記処理待ち行列の各々のクライアントを交互 にバッチで処理するステップと、 バッチの許容されたクライアントの最大数を検出するステップと、 いつ最大数に達したかを検出するステップと を有する請求の範囲第16項記載の方法。 16. 前記処理ステップは、 クライアントに対して処理待ち行列をチェックするステップと、 チェックされた緒リマ知行列にクライアントがいない場合、クライアントに 対して次の処理待ち行列をチェックするステップと、 チェックされた処理待ち行列に対し、それらが処理されているか否かを検査 するステップと、 処理待ち行列が処理されていなければ処理をスタートするステップとを 有する請求の範囲第15項記載の方法。 17. デスティネーションコードを有するメッセージを、複数の目的デスティネ ーションの1つに転送するため受信する手段と、 メッセージの順番を待ちための制御待ち行列と、 複数の処理待ち行列と、 ただし当該処理待ち行列の数は目的デスティネーションの数よりも少なく、 デスティネーションコードに対するメッセージを前記制御待ち行列から、他 のデスティネーションコ ードへのメッセージのない処理待ち行列に転送するための待ち行列管理プログラ ムと を有し、 これにより処理待ち行列は、処理待ち行列が空になるまで1つのデスティネ ーションコードにアロケートされる ことを特徴とするストア・アンド・フォワード・メッセージシステム。 18. 前記待ち行列管理プログラムはさらに、 空の処理待ち行列がない場合、およびデスティネーションを有する1つ以上 のクライアントを備えた処理待ち行列がない場合に、デスティネーションコード を有するメッセージを制御待ち行列に保持するための手段を有する 請求の範囲第17項記載のシステム。 19. 前記待ち行列管理プログラムはさらに、 制御待ち行列のメッセージのデスティネーションコードを検出するための手 段と、 デスティネーションコードを備えたメッセージを有する処理待ち行列がある か否かを検出するための手段と、 メッセージを、整合する待ち行列、すなわち前記デスティネーションコード を有するメッセージを含む処理待ち行列に転送するための手段とを有する 請求の範囲第17項記載のシステム。 20. 前記待ち行列管理プログラムはさらに、 整合する処理待ち行列がない場合に空の処理待ち行列を探すための手段と、 空の処理待ち行列がある場合、空の処理待ち行列にメッセージを転送するた めの手段とを有する 請求の範囲第19項記載のシステム。 21. 前記待ち行列管理プログラムはさらに、 空の処理待ち行列がないときに、処理待ち行列のいずれかが空になるか否か を確定するための手段と、 空になる処理待ち行列がない場合、処理待ち行列の少なくとも1つを空にし 、メッセージを制御待ち行列から空の処理待ち行列の1つに転送するための手段 を有する 請求の範囲第20項記載のシステム。 22. 前記待ち行列管理プログラムはさらに、 処理待ち行列のすべてアロケートされ、処理待ち行列が空になる場合、制御 待ち行列からのメッセージの除去処理を中止する手段を有する 請求の範囲第21項記載のシステム。 23. 前記処理待ち行列の各々におけるメッセージを交互にバッチで処理するた めの処理手段と、 バッチで許容されたメッセージの最大数を検出するための手段と、 いつ最大数に達したかを検出するための手段とをさらに有する請求の範囲第 17項記載のシステム。 24. 前記処理手段手段は、 メッセージ対して処理待ち行列をチェックする手段と、 チェックされた処理待ち行列にメッセージがない場合、メッセージに対して 次の処理待ち行列をチェックするための手段と、 チェックされた処理待ち行列を、処理されているか否か検査するための手段 と、 当該処理待ち行列が処理されていなければ、処理をスタートさせるための手 段とを有する 請求の範囲第23項記載のシステム。 25. 複数の所定目的デスティネーションの1つに対するデスティネーションコ ードを有するメッセージの転送のための行列待ち方法であって、 当該方法は、 メッセージを制御待ち行列に転送するステップと、 複数の処理待ち行列の各々を周期的に空にするステップと、 ここで前記処理待ち行列の数はデスティネーションの数より少なく、 デスティネーションに対するメッセージを前記制御待ち行列から、他のデス ティネーションのない処理待ち行列に転送するステップとからなり、 処理待ち行列は、当該処理待ち行列が空になるまで1つのデスティネーショ ンにアロケートされる ことを特徴とする方法。 26. 空の処理待ち行列がなく、デスティネーションを有する1つ以上のメッセ ージを備えた処理待ち行列がない場合、デスティネーションを有するメッセージ を制御待ち行列に保持するステップをさらに含む 請求の範囲第25項記載の方法。 27. 処理待ち行列の少なくとも1つを空にするための手段と、 クライアントを空の処理待ち行列から制御待ち行列に戻すための手段とを有 する 請求の範囲第5項記載の装置。 28. 空の処理待ち行列がない場合に、処理待ち行列のいずれかが空になるか否 かを確定するための手段と、 空になる処理待ち行列がない場合、処理待ち行列の少なくとも1つを空にし 、クライアントのクライアントタイプを有するクライアントを空の処理待ち行列 に制御待ち行列から転送するための手段とを有する 請求の範囲第4項記載の装置。
JP6519969A 1993-03-03 1994-01-24 待ち行列管理装置および方法 Ceased JPH08510071A (ja)

Applications Claiming Priority (3)

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
PCT/US1994/000826 WO1994020904A1 (en) 1993-03-03 1994-01-24 Queue managing system and method

Publications (1)

Publication Number Publication Date
JPH08510071A true JPH08510071A (ja) 1996-10-22

Family

ID=21826664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6519969A Ceased JPH08510071A (ja) 1993-03-03 1994-01-24 待ち行列管理装置および方法

Country Status (15)

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

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971216B2 (en) 1998-09-11 2015-03-03 Alcatel Lucent Method for routing transactions between internal and external partners in a communication center
US9002920B2 (en) 1998-09-11 2015-04-07 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
USRE45583E1 (en) 1999-12-01 2015-06-23 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network
USRE46060E1 (en) 1997-02-10 2016-07-05 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
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
US9516171B2 (en) 1997-02-10 2016-12-06 Genesys Telecommunications Laboratories, Inc. Personal desktop router
US9553755B2 (en) 1998-02-17 2017-01-24 Genesys Telecommunications Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
USRE46438E1 (en) 1999-09-24 2017-06-13 Genesys Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level

Families Citing this family (39)

* 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
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
US6278776B1 (en) * 1997-12-22 2001-08-21 Ser Solutions Outbound switch pacing
US6335962B1 (en) * 1998-03-27 2002-01-01 Lucent Technologies Inc. Apparatus and method for grouping and prioritizing voice messages for convenient playback
RU2268551C2 (ru) * 2000-04-27 2006-01-20 Александр Степанович Ракушин Способ осуществления связи между абонентами телефонной сети (варианты)
RU2257681C2 (ru) * 2000-04-27 2005-07-27 Ракушин Александр Степанович Способ персонального вызова абонента телефонной сети (варианты)
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
CN1332548C (zh) * 2002-08-07 2007-08-15 华为技术有限公司 海量定时器的调度方法
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
CN100473179C (zh) * 2002-11-28 2009-03-25 中兴通讯股份有限公司 一种实现全分散控制排队服务的装置和方法
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
US8199764B2 (en) 2003-08-25 2012-06-12 Cisco Technology, Inc. Scalable approach to large scale queuing through dynamic resource allocation
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
RU2280280C1 (ru) * 2004-12-20 2006-07-20 ООО "Когнитивные технологии" Автоматизированная система передачи данных государственного регистра населения
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
CN101076059B (zh) * 2007-03-28 2012-09-05 腾讯科技(深圳)有限公司 基于即时通讯的客服系统及基于即时通讯的客服方法
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 北京国双科技有限公司 多任务队列中任务的处理方法和装置
US12463910B2 (en) * 2023-12-07 2025-11-04 Arm Limited Method and apparatus for efficient packing of flow control units

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3549816A (en) * 1968-08-08 1970-12-22 Bell Telephone Labor Inc Call rerouting equipment
DE2855473C2 (de) * 1978-12-22 1986-02-06 Telefonbau Und Normalzeit Gmbh, 6000 Frankfurt Verfahren zur Behandlung wartender Anrufe in einer indirekt gesteuerten Fernmelde-, insbesondere Fernsprechvermittlungsanlage
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
SU1292204A1 (ru) * 1985-08-29 1987-02-23 Предприятие П/Я А-3706 Устройство дл приоритетного распределени абонентов
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
SU1628228A1 (ru) * 1989-01-13 1991-02-15 Предприятие П/Я М-5308 Статический определитель
US5006983A (en) * 1989-09-12 1991-04-09 Addax, Inc. Service allocation system
FR2652976A1 (fr) * 1989-10-09 1991-04-12 Js Telecommunications Repartiteur actif pour ispbx.
US5144653A (en) * 1990-03-20 1992-09-01 Kabushiki Kaisha Toshiba Telephone system capable of automatically distributing terminating calls and method of performing communication within the telephone system
US5193110A (en) * 1990-10-09 1993-03-09 Boston Technology, Incorporated Integrated services platform for telephone communication system
US5187740A (en) * 1991-10-01 1993-02-16 Mci Communications Corporation Method and apparatus for telephone call reorigination

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9516171B2 (en) 1997-02-10 2016-12-06 Genesys Telecommunications Laboratories, Inc. Personal desktop router
USRE46243E1 (en) 1997-02-10 2016-12-20 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
USRE46060E1 (en) 1997-02-10 2016-07-05 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
USRE46521E1 (en) 1997-09-30 2017-08-22 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
US9553755B2 (en) 1998-02-17 2017-01-24 Genesys Telecommunications Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
US9350808B2 (en) 1998-09-11 2016-05-24 Alcatel Lucent Method for routing transactions between internal and external partners in a communication center
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
US8971216B2 (en) 1998-09-11 2015-03-03 Alcatel Lucent Method for routing transactions between internal and external partners in a communication center
USRE46387E1 (en) 1998-09-11 2017-05-02 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US9002920B2 (en) 1998-09-11 2015-04-07 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US10218848B2 (en) 1998-09-11 2019-02-26 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
USRE46438E1 (en) 1999-09-24 2017-06-13 Genesys Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
USRE46457E1 (en) 1999-09-24 2017-06-27 Genesys Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
USRE45583E1 (en) 1999-12-01 2015-06-23 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network
USRE46538E1 (en) 2002-10-10 2017-09-05 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
US9854006B2 (en) 2005-12-22 2017-12-26 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH08510071A (ja) 待ち行列管理装置および方法
JP3774076B2 (ja) 呼待機時間を最適にする呼センター・エージェント選択
CN1097913C (zh) Atm流量调节
US6771760B1 (en) Callback imitation as incoming calls
CN1152532C (zh) 有效的输出请求分组交换设备和方法
EP0412799B1 (en) Telephone communication system
US5420574A (en) Channel allocation mechanism
CA2161476C (en) Telecommunication system with synchronous-asynchronous interface
WO1999007176A1 (en) A system and method for providing data services using idle cell resources
CN1155362A (zh) 智能通信网络
EP0716557A2 (en) Telecommunication system with detection and control of packet collisions
CN1225783A (zh) Msc中的ussd程序机
US20060270413A1 (en) Methods and apparatus for allocating resources in a distributed environment
AU739200B2 (en) Call overflow address pointer method and apparatus
JP2001312538A (ja) 予想される作業項目に対する資源をシミュレートされた作業項目を介して予約する方法および装置
US5644575A (en) Managing memory within a local telecommunications network
US7086059B2 (en) Throttling queue
US7065061B1 (en) System and method for providing data services using idle cell resources
CN1078799C (zh) 交换系统的虚拟终端控制装置
KR100625246B1 (ko) 패킷 스케줄러의 주기적인 자원 할당 방법 및 그 데이터구조를 기록한 기록매체
US5905775A (en) Statistical distribution of voice mail messages
US6549617B1 (en) Telephone switch with delayed mail control system
KR960009923B1 (ko) 번호안내 시스팀의 통신제어방법
EP1484939A1 (en) Scheduling unit with optimized jitter and queue occupancy
JPS5819060A (ja) ファクシミリ通信文出力方式

Legal Events

Date Code Title Description
A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20040426

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040525