JPH09501809A - 自動呼分配システムにおけるリアルタイムデータのアクセス方法 - Google Patents
自動呼分配システムにおけるリアルタイムデータのアクセス方法Info
- Publication number
- JPH09501809A JPH09501809A JP7507738A JP50773894A JPH09501809A JP H09501809 A JPH09501809 A JP H09501809A JP 7507738 A JP7507738 A JP 7507738A JP 50773894 A JP50773894 A JP 50773894A JP H09501809 A JPH09501809 A JP H09501809A
- Authority
- JP
- Japan
- Prior art keywords
- request
- data
- shared memory
- client
- host server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/08—Indicating faults in circuits or apparatus
- H04M3/12—Marking faulty circuits "busy"; Enabling equipment to disengage itself from faulty circuits ; Using redundant circuits; Response of a circuit, apparatus or system to an error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
- H04M3/36—Statistical metering, e.g. recording occasions when traffic exceeds capacity of trunks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
Landscapes
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
Abstract
(57)【要約】
複数のクライアントシステム(12,112,212)及びリアルタイムでトランザクションを処理するための少なくとも1つのホストサーバシステム(13)を有する自動呼分配(ACD)システム(10)でデータを実質的に他のデータと同期してかつ該データを生成するイベントと実質的にリアルタイムて生成し報告する方法において、ホストサーバシステム(13)側で、要求が処理され、あたかもリレーショナル・データベースに向けられたものであるかのような問合わせとしてその要求を実行するのに必要な全ての知識を含む実行可能なマシンコードに直接変換する方法が得られる。リアルタイム・インタラクション形の問合わせを用いて、ホストサーバシステム(13)の共用メモリ(44)中のデータにアクセスし、情報、通常は関係するトランザクションに関する状態情報を、その要求を出しているクライアントシステム(12、112または212)に報告する。データベース・マネージャ・モジュール(46)を用いて、静的データベース(48)中のデータをモニタするとともに、適切な情報をデータアクセス・モジュール(42)がアクセスすることができるよう共用メモリ(44)に供給する。
Description
【発明の詳細な説明】
自動呼分配システムにおけるリアルタイムデータのアクセス方法
著作権表示
この特許文書出で開示する内容の一部には、著作権保護の対象となる内容が含
まれている。この著作権の所有者は、何人によるものであれ、特許商標庁の特許
ファイルまたは特許記録に保管されている状態の当該特許文書または当該特許の
開示内容のそのままの複写に対して異議を唱えるものではないが、別途あらゆる
形態における全ての著作権を留保する。
発明の背景
本発明は、リアルタイム情報アクセス技術に関し、より詳しくは、動的リアル
タイム情報が、あらかじめ静的記憶装置あるいは大容量記憶装置のデータ構造の
形で記憶されることなくリアルタイムで問い合わせられる自動呼分配(ACD)
システムの電話呼関連情報にアクセスするための方法に関する。本発明は、特に
、入来呼について最適な経路選択(ルーティング)を行うための上記のようなシ
ステムの構成要素に関する。自動呼ディストリビュータ(分配装置)は、プロン
プト(prompt)への発呼者応答によって、構内交換台または構内交換機(PBX
)設備と共に入ってきた呼の自動ルーティングを行う。ACDは、比較的大きい
会社によって、遠隔のユーザに対するサービスのためあるいは販売する製品また
はサービスに関する要求をルーティングするための電話ベースのサポートの一部
として、呼を予備選択するためにしばしば利用される。
ACDシステムの重要な要件は、連続的で実質的にリアルタイムなシステム動
作及びデータに対するアクセスの利用可能性が必要なことである。本発明に関係
のあるACDシステムにおいては、基本的ハードウェアの故障の影響を最小限に
するために、システム構成が多大な冗長性を含む。
従来、周知のACDシステムには、共用メモリからリアルタイムデータをフレ
キシブルに問い合わせる能力がなかった。フレキシブル問合わせ機構は、エンド
ユーザがどのような特定のデータを検索すべきかをユーザ・インタフェースレベ
ルで定義することを可能にする機構である。フレキシブルな問合わせは、大容量
記憶装置に記憶された静的データベースからの履歴データとのインタラクション
に限定されて来た。共用メモリにおけるリアルタイムデータへのアクセスは、従
来、メーカーによって提供される一定の問合わせプリゼンテーションに限られて
いた。このように、ACDに使用される従来のリアルタイムデータ収集システム
においては、すぐに必要な重要なデータであり、常時流動状態にあるリアルタイ
ムデータをフレキシブル問合わせ機構を介してアクセスすることはできなかった
。その問題点の一部は、従来、大量のデータを大容量記憶装置へ、あるいは大容
量記憶装置から転送する必要があり、これらの転送には遅延が伴うということに
ある。
いくつかの従来技術のACDシステムにおいては、いわゆるリアルタイムデー
タに向けられるエンドユーザの要求は、それらのエンドユーザ要求を満たすには
大きなデータのセットの小さなサブセットしか必要でないかも知れないのに、一
般に全てのファイルのデータの検索が必要であった。また、他の周知のACDシ
ステムの要求/問合わせプロシージャでは、通常、まず大きいデータのセットを
検索してからでないと、適切な情報を調べかつまたは表示することができなかっ
た。出信専用ダイヤリングシステムの一例が、1992年3月31日付で発行さ
れた米国特許第5,101,425号に開示されており、そのシステムでは、ク
ライアントシステムがホストからデータを得、クライアント側でデータを処理し
、クライアント側でデータのサブセットを選択して表示するようになっている。
他の代表的なACDシステムが、AT&T(PBXへ組込み型)及びロックウェ
ル・インターナショナル(独立型ACDシステム)から提示されている。
さらに、従来技術のいくつかのACDシステムにおいては、中央のデータベー
スサーバ(呼センターのホストサーバ)から遠隔のレポーティング・ステーショ
ン(ローカルサイトまたは遠隔サイトの多重クライアントシステム)へ状態情報
を表すデータを転送するのに、プロセッサの負荷処理容量及びサイト間の通信リ
ンクのデータ転送速度(バンド幅)容量の双方の制約による中央のデータベース
サーバの性能に対するマイナスの影響を最小限にするために、さらに遅延が導入
される。従って、この面で必要とされているのは、表示されるデータの無欠性が
連続的にしかも下層にあるバックグランドプロセスの性能に悪影響を及ぼすこと
なく実質的にリアルタイムで維持されるACDシステムにおけるデータ生成/デ
ータ問合わせ技術である。
発明の概要
本発明は、複数のクライアントシステムと、トランザクションをリアルタイム
で処理する少なくとも1つのホストサーバシステムとを有する自動呼分配(AC
D)システムでデータを実質的に他のデータと同期してかつそのデータを生成す
るイベントと実質的にリアルタイムで生成し、フレキシブルに報告するための方
法が提供される。要求を受け取って処理し、あたかも関連するデータベースに向
けられたものであるかのような問合わせとしてその要求を実行するのに必要な全
ての知識を含む実行可能なマシンコードにリアルタイムでその要求を直接変換す
る第1のモジュールをホストサーバシステムに設け、かつその問合わせをリアル
タイム・インタラクション方式で使用してホストサーバシステムの共用メモリ中
のデータにアクセスし、情報、通常は関係のあるトランザクションに関する状態
情報を、要求を発したクライアントシステムに報告する第2のモジュールを設け
る。データのセット及びサブセットは、通常、クライアントシステム上で全てま
とめて報告されるか、あるいは複数のクライアントからの問合わせに応答して実
質的にリアルタイムで同期して報告される。クライアント側からの問合わせは、
あらかじめ選択された更新間隔で発生するよう指定することもでき、その更新間
隔は、一部のデータサブセットについてはたまにだけ更新するよう、ユーザの必
要性に基づいて変えることができる。また、共用メモリから値を返すか、または
共用メモリ中のデータに対する計算に基づいて値を返すための方法及び手段が設
けられる。本発明においては、静的データベース中のデータをモニタし、適切な
情報をデータアクセス・モジュールがアクセスすることができるように共用メモ
リに供給して、データアクセス・モジュールが静的データベースに直接アクセス
しなくても済むようにするために、データベース・マネージャ・モジュールを使
用する。
以下、本発明を添付図面を参照しつつさらに詳細に説明する。
図面の簡単な説明
図1は、複数のホストシステムと複数のクライアントシステムを含む環境を示
すブロック図である。
図2は、本発明によるクライアントシステムとホストサーバの一実施形態を示
すブロック図である。
図3は、本発明による要求マネージャ・モジュールのフローチャートである。
図4は、本発明による問合わせコンパイラモジュールのフローチャートである
。
図5は、本発明によるデータアクセス・モジュールのフローチャートである。
図6は、本発明によるリアルタイムの冗長なコンピュータシステム用の「カッ
ト・ツー・バックアップ(cut to backup)」制御動作のフローチ
ャートである。
特定の実施形態の説明
まず図1を参照して、ACDシステム10は、PC1,PC2、....,P
Cjという番号を付したパーソナル・コンピュータのようなクライアント・コン
ピュータシステム12、112、212と、ネットワーク16によって全て一つ
に接続されたコールセンター、すなわちCC1,CC2,...,CCnと表示
されているホストサーバ13、113、213とで構成されている。ホストシス
テム13、113、213の各々の中には、主コントロールセンター・プロセッ
サ(CC_P1、CC_P2、CC_PN)14、114、214、及び冗長コ
ントロールセンター・プロセッサ(CC_B1、CC_B2、CC_BN)15
、115、215がある。クライアント・コンピュータシステムのファンクショ
ンは十分冗長である。詳しく言うと、各主コントロールセンター・プロセッサの
ファンクションは、これらのプロセッサと各々ペアをなす冗長コントロールセン
ター・プロセッサによって二重化されている。第1の主コントロールセンター・
プロセッサ14は、複数のセッション17、19によってアクセス可能な共用メ
モリ44を有している。そのセッションのファンクションは、第1の冗長コント
ロールセンター・プロセッサ15にある二重化用のセッション117、119の
よ
うに、二重化用の共用メモリ441のサイクルに対して一致するサイクルである
。しかしながら、冗長コントロールセンター・プロセッサ15は、図に示す第2
の主コントロールセンター・プロセッサ114の場合のように主コントロールセ
ンター・プロセッサ14が動作不能でない限り、動作上の役割を担わない。この
ようにして、ホストサーバ13、113、213は、クライアント・コンピュー
タシステムによって、それぞれのクライアント・コンピュータシステム上のウィ
ンドウに対応するセッションを処理する単一のプロセッサシステムと見なされる
。
各クライアントシステム14、114、214のローカルな動作/表示環境中
には、複数のウィンドウW1、W2、W3、W4、W5、W6があり、これらの
ウィンドウ内には、1つ以上のアクティブなセッション・プロセスがある。例え
ば、ウィンドウW1中には、第3の主コントロールセンター・プロセッサ214
のセッションS7(59)に関連するSP7、及び第2の冗長コントロールセン
ター・プロセッサ115のセッションS4(153)に関連するSP4のような
異なる呼センターのセッション・プロセスがあり得る。同様に、ウィンドウW2
中には、第1の主コントロールセンター・プロセッサ14のセッションS1(1
7)に関連するSPL第2の冗長コントロールセンター・プロセッサ115のセ
ッションS3(153)に関連するセッション・プロセスS34のようなセッシ
ョン・プロセスがあり得る。ローカルのクライアントシステムの他のウィンドウ
W3、W4、W5、W6中には、他のセッション・プロセスがあり得る。本発明
によれば、従って、1つのクライアントシステム(より一般的にはPCまたはワ
ークステーションとして知られている)が、複数のホストサーバと同時に対話し
て、共用メモリへのアクセスによりリアルタイムデータと履歴データの混合デー
タに基づいて問合わせし、報告を得ることができ、これらのデータのフォーマッ
トをクライアントシステム側でフレキシビリティをもって定義し、修正すること
ができる。
関連の共用メモリを有する各セッション及びセッション・プロセスは、1つの
システムと見なすことが可能である。図2は、本発明による機能的な動作システ
ムを示す。ACDシステム10は、クライアントシステムまたはワークステーシ
ョン12と呼センターまたはホストサーバ13とを含む。後者のファンクショナ
リティは、共用メモリ44と関連し、クライアント・ネットワークインタフェー
ス18及びホスト・ネットワークインタフェース20を介して相互接続された主
コントロール・プロセッサ14のようなコントロール・プロセッサ上で走るセッ
ション17に組み込まれている。(説明の便宜上、以下ホスト側をホストサーバ
14と称する。)ネットワーク16上のデータは、ネットワークを介しての伝送
の都合上、シリアルデータ・ストリームの形にパケット化される。このために、
クライアントシステム12には受信データ用のシリアル‐パラレル・コンバータ
22、及び送信データ用のパラレル‐シリアル・コンバータ24があり、ネット
ワークはTCP/IPプロトコルをサポートしている。同様に、ホストサーバ1
4には、受信データ用のシリアル‐パラレル・コンバータ26、及び送信データ
用のパラレル‐シリアル・コンバータ28がある。
クライアントシステム12中には、本発明にとって適切な特殊なプロセッサ手
段がある。シリアル‐パラレル・コンバータ24から入力を受け取るようにデー
タルータ30が結合されており、そのデータルータは、この入力をフォーマット
し、処理してユーザ・インタフェース(UI)オブジェクトプロセッサ32に入
力として供給する。オブジェクトプロセッサはオブジェクト指向ユーザ対話型イ
ンタフェースを具備している。UIオブジェクトプロセッサ32は、データルー
タ30から受け取ったデータに基づくオブジェクト指向設定でユーザと対話し、
かつユーザ入力または自動プロセスに応答して、高水準出力をSQLビルダー3
4に入力として供給する。この場合、ユーザは、ローカルのワークステーション
の同様の端末スクリーン上でディスプレイウィンドウを見る可能性があるサービ
スエージェント、マネジメントまたはグループスーパバイザのためにレポート・
ディスプレイウィンドウを設計する個人である。本発明の一実施形態においては
、UIオブジェクトプロセッサ32は、オブジェクト指向ツールのベースセット
上に構築することも可能である。
SQLビルダー34は、SQL問合わせ言語を使用して高水準入力を適宜処理
し、SQL言語構造に基づいた問合わせを作成する。より詳しくは、SQLビル
ダー34は、情報に対するユーザ要求を記述し、特徴付けるユーザにより構築さ
れたオブジェクトを調べ、その要求に対応するSQL問合わせをリアルタイムで
データを問合わせるのに適した形で構築する。データベース問合わせのみに適し
た問合わせを形成することが可能な周知のSQLビルダーと異り、本発明による
SQLビルダー34は、ホストサーバの共用メモリからリアルタイムで情報を検
索するのに適した問合わせを形成することが可能である。実際に利用可能な提案
したシステムの態様は、一般に、それぞれの特殊なタスクのために大きなSQL
ボキャブラリを必要とすることはないので、本発明の特定の実施形態においては
、SQLコマンドのサブセットのみを実装すればよい。このファンクショナリテ
ィのサブセットは、以下よりなる。
−join
−min、max、avg、sum及びcountを含むaggreg
ate
−等号(=)及び「in」及び「where」文節中の論理積を介して
のfiltering
SQLビルダー34は、シリアル化プロセス及びインタフェース18、16、
20等を介してメッセージ及びSQL問合わせをホストサーバ14に送る。ワー
クステーション側においては、下記のメッセージが含まれる。
Logon(ログオン)
Add Request
Alter Request
Remove Request
Synch Request
Version Request
Add Requestは、SQLセレクトステートメントに対応してリアル
タイムメモリから何のデータが必要か、送るべきデータ行の行番号、データをク
ライアントに送信する周波数の指定を含む。Remove Requestは、
その補数である。Alter Requestは、要求された更新周波数及び行
への変更を含む。Alter Requestは、SQL問合わせを変えること
はできない。
本願の付録Aは、パース付きSQL構造のリストを含め、本発明によるセッシ
ョン・プロセスの解説書になっている。ホストは、下記のような一定のメッセー
ジを返すことができる。
バージョンメッセージ
データメッセージ
エラーメッセージ
データメッセージは、本発明において最も重要な要素である。
ホスト14においては、問合わせ及びメッセージは要求マネージャ36として
知られるモジュールによって分析され、ルーティングされる。要求マネージャ3
6は、問合わせエグゼキュタ40として知られるモジュールを制御するために以
下に説明するような問合わせコンパイラ38として知られるモジュールと共に用
いられる。一方、問合わせエグゼキュタ40は、データアクセス・モジュール4
2と対話して、本発明による共用メモリ44からリアルタイム情報を検索する。
SQL問合わせに応じた回答は、ユーザがリアルタイムデータのリレーショナル
・データベース様のビューを受け取るように、問合わせエグゼキュタ40及びデ
ータアクセス・モジュール42から要求マネージャ36を介してクライアントシ
ステム12へ送られる。要素20、26、38、36、38、40、42は、全
体で「セッション」、明確にはセッション17(図1)を定義するファンクショ
ナリティを形成する。各セッション毎にこのようなインスタンスが1つずつある
。
共用メモリは、全てのセッションに対してアクセス可能であり、外部ソース4
5からリアルタイムデータを受け取る。また、共用メモリ44はデータベース・
マネージャ46によってもアクセスされて、これと通信し、一方、データベース
・マネージャ46は共用メモリ44の内容をトラッキングし、データベース48
で必要になった変化を記録する。データベース48は、一般にトランザクション
の終了時にのみ更新されるので、データベース48は履歴データしか含まない。
付録Hには、データベース・マネージャ46が共用メモリ44とどのようにして
対話するかを記述するソースコードのリストが記載されている。一方、共用メモ
リは、以下に説明するように、データアクセス・モジュール42によってアクセ
スされる。
クライアントシステム12、112、212に対してアクセス可能となる全て
のデータは共用メモリに入っている。本発明によれば、共用メモリ44は、デー
タベース48からデータベース・マネージャ46によって供給された履歴データ
の画像と共にフィールドにリアルタイムデータが書き込まれたテーブルを介して
見られる。一実施形態においては、共用メモリ44は、整数タイプ、小数タイプ
、ストリングタイプのデータをサポートする約200フィールドの14のテーブ
ルに編成される。いくつかのテーブルの中の選択されたフィールドは、共用メモ
リ44の他のフィールドから計算することも可能である。このように、データは
未加工形式でも計算された形式でもよく、これらの形式は外部アプリケーション
に透過である。共用メモリには、待ち行列の形で待っている呼の数のような一時
的データ、平均データ、スローサイクル(半時間)更新データ、及び累積データ
等のいくつかの形のカレントデータが書き込まれている。
付録Bには、本発明の一実施形態におけるリアルタイムテーブル及びフィール
ドの記述が記載されている。これらのテーブル及びフィールドについてここで説
明する。テーブルには、エージェント・テーブル、エージエントグループ・テー
ブル、エージェントグループ30分テーブル、エージェントライン・テーブル、
エージェント要約テーブル、アラート・テーブル、アプリケーション・テーブル
、アプリケーション呼待ち行列テーブル、アプリケーション半時間テーブル、シ
ステム・テーブル、チーム・テーブル、トランク・テーブル、トランク群テーブ
ル及びトランク群半時間テーブルがある。これらの各テーブルは、絶対データか
計算された形のデータ用の多数のフィールドを含む。詳細については、やはり付
録Bに記載されている。
共用メモリ44は、他のプロセス49を介してデータベース48と通信するの
で、セッション17は共用メモリ44を読みさえすればよく、データベース48
を直接問合わせる必要がない。データの格納構造に関するデータベース構成情報
を得るために、ユーザ・インタフェース47がデータベース48に結合されてい
る。
コンピュータプログラムとして実装される実施形態のセッション17はC言語
で書かれる。ワークステーション12上で動作するセッション・プロセスSP1
は、コンピュータ言語C++のような言語でオブジェクト指向環境に実装するこ
とが好ましい。次に、セッション及びセッション・プロセスの具体的な実装例に
ついて詳しく説明する。
図3は、本発明による要求マネージャ36モジュールのフローチャートである
。要求マネージャ36は、要求を処理するか、あるいはタイムアウトによってあ
らかじめ定められた間隔で結果を報告するために、タイミング要素(図示省略)
と関連して動作する。要求マネージャ36は、時間をチェックするか、または要
求を取り込む(例えば割込みに応答する)(ステップA)。次に、要求マネージ
ャは、タイムアウトかどうかをチェックする(ステップB)。タイムアウトでな
ければ、“Add”形要求かどうかをチェックする(ステップC)。“Add”
形要求でなければ、リサイクルしてタイムアウトかどうかをチェックし(ステッ
プB)、タイムアウトになるか、Add要求を受け取るまてこのモードを持続す
る。Add要求が発生すると、その要求は直ちに機械可読形式に変換される。以
下に説明するように、問合わせコンパイラ38を介して要求オブジェクトにコン
パイルされる(ステップD)。この要求オブジェクトは、次に、問合わせエグゼ
キュタ40(コンピュータシステムのオペレーティング・システム)を用いて実
行され、結果が得られる(ステップE)。次に、この要求オブジェクトは、他の
要求オブジェクトと共にオブジェクトリストの形の待ち行列に入れられる(ステ
ップF)。その後すぐに、要求マネージャ36は、様々なクライアントに対する
報告機能を呼び出すために用いられるリフレッシュ速度に関するタイムアウトを
チェックし、必要ならば調節する(短縮する)(ステップG)。このタイムアウ
トは、待ち行列に入れられた要求オブジェクトのいずれについても最も短いリフ
レッシュ速度に設定される。次に、このタイムアウトが再度チェックされ、タイ
ムアウトが発生したならば(ステップH)、要求マネージャ36は、最新のデー
タによってカレント要求オブジェクトを更新し、そのデータをクライアントに供
給することができるように結果バッファに格納し(ステップI)、要求またはタ
イムアウトのチェックに戻る(ステップB)。タイムアウトが発生しなかった場
合は、単に要求またはタイムアウトのチェックに戻る(ステップB)。
ここでタイムアウトが発生すると、要求マネージャ36はオブジェクトリスト
から次の要求オブジェクトを読み出し(ステップJ)、時刻をチェックして、そ
のオブジェクトを処理(実行)すべきかどうかを判断する(ステップK)。オブ
ジェクトを実行すべきでない場合は、オブジェクトリストの次のオブジェクトを
読み出すステップ(ステップJ)に戻る。要求マネージャ36は、読み出したオ
ブジェクトが実行すべきオブジェクトである場合、その要求オブジェクトを実行
して共用メモリのテーブルから結果を得(ステップL)、その結果を結果バッフ
ァに格納する(ステップM)。次に、要求マネージャ36は、オブジェクトリス
トの終りに達したかどうかをチェックし(ステップN)、終りに達していなけれ
ば、次の要求オブジェクトを読み出すステップ(ステップJ)に戻る。オブジェ
クトリストの終りに達した場合は、要求マネージャ36は、結果をシリアル化器
28を介してクライアントに送り(ステップP)、リアルタイムサイクルの始め
に戻る(ステップA)。
図4は、要求マネージャ36によって制御される問合わせコンパイラ38の動
作を説明したフローチャートである。問合わせコンパイラ38は、SQLパース
付き問合わせ形の要求を受け取るとすぐに、供給されたパース付き問合わせに基
づいてマシンコードにコンパイルし(ステップBA)、まずその問合わせをチェ
ックして正当であるかどうかを決定する(ステップBB)。問合わせコンパイラ
38は、最初の機能ステップとして、どのテーブルがインデックスをSQL問合
わせの「where」文節で参照されているかを識別し(ステップBC)、次い
で、処理時間を最小限にするために、パース付き問合わせに関連するテーブルを
アクセスのための最適シーケンスに分類する(ステップBD)。
その後すぐに、問合わせコンパイラ38は、各テーブル毎に、データアクセス
・モジュール42を呼び出すコードを生成する(ステップBE)のと併せて、あ
らかじめ設定されたインデックス付き参照に従ってテーブルを走査するために使
用するコードを生成する(ステップBF)。その後、問合わせコンパイラ38は
、データアクセス・モジュールに対する呼のためのコードを生成する(ステップ
BI)のと併せて、SQLの「where」文節の部分をチェックするために使
用するコードを生成し、速度を最適化するコードを選択する(ステップBJ)。
このプロセスが全てのテーブルが終わるまで実行される(ステップBG、BH)
。その後、問合わせコンパイラ38は、いわゆる累計(累積情報の参照)を必要
と
しない中間結果または他の結果を計算するために使用するコードを生成し(ステ
ップBO)、併せて、データアクセス・モジュールへの呼に使用するコードを生
成し(ステップBK)、結果を一時バッファに格納するために使用するコードを
生成する。この問合わせで累計情報が必要でない場合は(ステップBL)、問合
わせコンパイラは実行のためのマシンコードを出力する(ステップBM)。累計
情報が必要な場合は、問合わせコンパイラ38は要求の累計に従って結果を圧縮
するために使用し、かつ累計結果を最終バッファに格納するために使用するコー
ドを生成する(ステップBN)。その結果得られるマシンコードは、要求マネー
ジャによって指示されるに従って直ちに実行される出力である(ステップBM)
。
図2において、問合わせエグゼキュタ40は、要求マネージャ36によって指
示されるに従い、かつデータアクセス・モジュール42により与えられる機能に
基づいて問合わせコンパイラにより作成される機械実行可能コードに単に応答し
、これを実行するだけであるという意味において、従来のオペレーティング・シ
ステムの要素であることが好ましい。問合わせエグゼキュタは、データアクセス
・モジュール42を介して共用メモリ44と対話し、要求マネージャ36が必要
とするとき結果をバッファに返す。本発明によれば、問合わせコンパイラ38に
よって作成されたマシンコードは、要求マネージャ36のコマンドと同時に直ち
に実行することができ、要求マネージャ36は、これによって、クライアントへ
の情報の流れを実質的にリアルタイムで更新された状態に保つ。
図5は、共用メモリ44と対話するように使用される場合におけるデータアク
セス・モジュール42の動作のフローチャートである。データアクセス・モジュ
ール42は、1つの見方では、共用メモリ44の読取りで用いられる機能呼出し
を集めたものである。問合わせコンパイラ38は、データアクセス・モジュール
42を呼び出し、問合わせエグゼキュタ40を介してデータアクセス・モジュー
ルを使用することにより共用メモリ44にアクセスする。
動作について説明すると、図5において、データアクセス・モジュール42は
、問合わせエグゼキュタ40の呼に応答して共用メモリ44の参照された記憶場
所にアクセスする(ステップAA)。次に、データアクセス・モジュール42は
、マシンコードに変換されたコードに従って共用メモリ44を読み取る(ステッ
プ
AB)。フィールドの情報に対して計算が必要ならば(ステップAC)、データ
アクセス・モジュールのコードは、そのフィールドについての値を計算し(ステ
ップAD)、その結果を(一時バッファから)要求マネージャ36に返す(ステ
ップAE)。計算が必要ない場合は(ステップAE)、アクセスされたフィール
ドの値は共用メモリから要求マネージャ36へ直接返される(ステップAF)。
データアクセス・モジュール42の一例が、付録C乃至Gと共に付録Eに示し
てある。付録Cはデータの論理的記述の要素を含むセッションマネージャの概要
である。付録Dには問合わせコンパイラ一部(build.c、parse.c)
を含むデータフィード・コードが記載されている。付録Eはデータアクセス・モ
ジュールである。付録Fには、問合わせコンパイラの構造の定義(build.
h、parse.h)を含むデータタイプの定義が記載されている。付録Gには
、雑要素が記載されている。
ホスト側では、前に説明したように、結果が要求マネージャ36によって報告
される。要求マネージャ36は、その情報の報告をディスプレイの設計者(ユー
ザ)により定義されたところに従って一定間隔で同時に更新する。ディスプレイ
上の結果の更新を同期させることによって、ディスプレイの変化の乱れが最小限
に抑えられる。
主及び冗長プロセッサを有するホストサーバ13の動作の一部としては、動作
を試験して、欠陥のある主コントロールセンター・プロセッサ(CC P1)1
4からこれに付随する冗長コントロールセンター・プロセッサ(CC B1)1
5へ制御を移す仕組みがなければならない。動作については、図6において、「
バックアップへのカット(Cut to Backup)」、すなわち冗長コン
トプロセッサへの制御転送では、一群のテストが用いられる。クライアントシス
テム12の制御プロセスにおいては、「トライ」カウンタがゼロに初期化され(
ステップCA)、トライ・チョイス・セレクタ(Try Choice Sel
ector)は、クライアントシステム12がデフォルトとして主コントロール
・プロセッサ14を選択するように、「主」にセットされる(ステップCB)。
クライアントシステム12は、デフォルト設定とともに指定されたホストサーバ
13(呼センター)に接続することを試み(ステップCC)、これに成功したな
らば(ステップCD)、接続を完了する(ステップCE)。成功しなかった場合
は、クライアントシステム12は、トライ・カウンタがそのカウトントアップ限
界、例えば5トライ・サイクルをオーバーフローしたかどうかチェックし(ステ
ップCF)、オーバーフローしている場合は、上記の接続の試みは指定されたホ
ストが正しく動作していないという理由で中止される(ステップCG)。次にカ
ウントアップ限界を越えていない場合は、トライ・カウンタはインクリメントさ
れて(ステップCH)、トライ・チョイス・セレクタがチェックされる(ステッ
プCI)。そして、主コントロール・センターにセットされていれば、トライ・
チョイス・セレクタはバックアップ(リダンダント)に変えられ(ステップCJ
)、バックアップについて接続を試みるプロセスが繰り返される(ステップCC
)。トライ・チョイス・セレクタがバックアップにセットされていれば(ステッ
プCI)、主コントロール・プロセッサに切り換えられ(ステップCK)、主コ
ントロール・プロセッサについて接続を試みるプロセスが繰り返される(ステッ
プ、CC)。このプロセスは、接続が行われるか、あらかじめ選択された回数だ
け接続の試みが失敗するまで続けられる。代替プロセッサに接続するオプション
をクライアントシステムに組み入れることによって、本発明では、データの消失
や動作劣化のない動作が可能となる。
以上、本発明を特定の実施形態に関連して説明した。当業者にとっては、他の
実施形態も自明であろう。従って、本発明は、請求の範囲に記載するところ以外
によって限定されるものではない。
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 イールリッチ,ジェイソン
アメリカ合衆国 94538 カリフォルニア
州・フレモント・サヴァンナ ロード・
3739
(72)発明者 ブロイレット,ジャン−リューク
アメリカ合衆国 94306 カリフォルニア
州・パロアルト・ヴァードサ ウェイ・
4060
【要約の続き】
2)がアクセスすることができるよう共用メモリ(4
4)に供給する。
Claims (1)
- 【特許請求の範囲】 1.複数のクライアントシステム及びトランザクションをリアルタイムで処理す るための共用メモリを持つ少なくとも1つのホストサーバシステム有する自動電 話呼分配(ACD)システムで、データを生成するイベントとともに実質的にリ アルタイムでデータを検索し、報告する方法において、 クライアントシステムのいずれか1つからの要求をホストサーバシステムで処 理するステップと、 上記要求を直ちに問合わせとして実行するのに必要な全ての知識を含む実行可 能なマシンコードにその要求を直接変換するステップと、 上記問合わせを要求オブジェクトとして実行するステップと、 その後、上記問合わせの実行結果として、上記共用メモリ中のライブデータに 直ちにアクセスして、上記要求を出しているクライアントシステムに共用メモリ の内容のみに基づいて結果を報告するステップと を具備した方法。 2.上記要求を処理するステップが、ホストサーバシステムの要求マネージャを 使用して全ての要求の処理タイミングを設定するステップを含む請求項1記載の 方法。 3.上記要求マネージャを使用して、要求の要求オブジェクトへのコンパイルを 開始させ、コンパイルされた要求オブジェクトの実行を開始させ、コンパイルし たadd形の要求オブジエクトをリストに待ち行列として入れる請求項2記載の 方法。 4.上記要求マネージャを使用して、要求オブジェクトのリフレッシュ速度をい ずれかの要求オブジェクトの最も短いリフレッシュ速度にセットする請求項3記 載の方法。 5.要求マネージャを使用して、最初の実行後及び上記要求を出しているクライ アントに結果を報告する前に、要求オブジェクトの更新を開始させる請求項4記 載の方法。 6.上記要求マネージャを使用して、上記要求を出しているクライアントにタイ ムアウトが起こった時のみ結果を報告する請求項5記載の方法。 7.パース付き問合わせによる情報へのアクセスを容易にするために、共用メモ リ中のデータをテーブル形式に編成するステップをさらに具備した請求項2記載 の方法。 8.共用メモリから結果を取り出すために、上記クライアントシステムの各々1 つを使用して少なくとも1つの上記ホストサーバシステムに対して複数の要求を 出すステップをさらに具備した請求項1記載の方法。 9.問合わせコンパイラを使用して、上記要求を出しているクライアントからパ ース付きSQL問合わせを受け取り、そのSQL問合わせの「where」文節 でインデックスが参照されているテーブルを識別し、インデックス参照によって そのテーブルを走査するために使用することができるコードを生成するステップ をさらに具備した請求項1記載の方法。 10.上記問合わせコンパイラを使用して、共用メモリから結果を検索すること ができるコードを生成する請求項9記載の方法。 11.上記問合わせコンパイラを使用して、共用メモリからの結果を累計結果に 圧縮するために用いることができるコードを生成する請求項10記載の方法。 12.上記の問い合わせを実行するステップが、データアクセス・モジュール手 段を使用して、実質的にリアルタイムで共用メモリにアクセスするとともに、共 用メモリからの生の結果及び共用メモリ中のデータに基づく計算された情報を両 方とも上記要求マネージャに返すステップを具備する請求項2記載の方法。 13.上記ホストサーバシステムが主コントロール・プロセッサ及びその主コン トロール・プロセッサの動作を二重化した形で同期して実行する冗長コントプロ セッサを含んでおり、上記クライアントシステムを使用して、主コントロール・ プロセッサとの接続をチェックし、その主コントロール・プロセッサとの接続が 達成されなかった時すぐに冗長コントロール・プロセッサとの接続を選択するス テップをさらに具備した請求項1記載の方法。 14.上記クライアントシステムが、上記ホストシステムとの接続を達成するこ とができないということを示す所定の回数だけ、上記主コントロール・プロセッ サ及び冗長コントロール・プロセッサとの接続の有無を交互にチェックする請求 項1記載の方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11090293A | 1993-08-24 | 1993-08-24 | |
| US08/110,902 | 1993-08-24 | ||
| PCT/US1994/009549 WO1995006380A1 (en) | 1993-08-24 | 1994-08-23 | Method for accessing real-time data in an automatic call distribution system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09501809A true JPH09501809A (ja) | 1997-02-18 |
Family
ID=22335559
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7507738A Pending JPH09501809A (ja) | 1993-08-24 | 1994-08-23 | 自動呼分配システムにおけるリアルタイムデータのアクセス方法 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5546455A (ja) |
| EP (1) | EP0715790B1 (ja) |
| JP (1) | JPH09501809A (ja) |
| AU (1) | AU1408395A (ja) |
| DE (1) | DE69430429T2 (ja) |
| WO (1) | WO1995006380A1 (ja) |
Families Citing this family (53)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SE514994C2 (sv) * | 1993-12-03 | 2001-05-28 | Ericsson Telefon Ab L M | Sätt och anordning för utvinning av data ur en grupp av data |
| US6141412A (en) * | 1994-06-01 | 2000-10-31 | Davox Corporation | Unscheduled event task processing system |
| US5689697A (en) * | 1994-06-27 | 1997-11-18 | International Business Machines Corporation | System and method for asynchronous database command processing |
| US6463149B1 (en) | 1995-04-10 | 2002-10-08 | Edify Corporation | Web page synchronization system and method |
| US5742810A (en) * | 1995-08-31 | 1998-04-21 | International Business Machines Corporation | System, method and computer program product for passing host variables to a database management system |
| ATE225116T1 (de) * | 1996-03-28 | 2002-10-15 | Markport Ltd | Heimatdatei für mobiles übertragungsnetzwerk |
| US5784451A (en) * | 1996-04-03 | 1998-07-21 | Cogito Economic Systems, Inc. | Virtual telephony data message system and process |
| US5778368A (en) * | 1996-05-03 | 1998-07-07 | Telogy Networks, Inc. | Real-time embedded software respository with attribute searching apparatus and method |
| US5903877A (en) * | 1996-09-30 | 1999-05-11 | Lucent Technologies Inc. | Transaction center for processing customer transaction requests from alternative media sources |
| US6181689B1 (en) | 1996-10-23 | 2001-01-30 | Ncr Corporation | Bi-directional information exchange mechanism for collaborative network navigation among a group of user terminals |
| US6295550B1 (en) * | 1996-10-23 | 2001-09-25 | Ncr Corporation | Session creation mechanism for collaborative network navigation |
| US6487195B1 (en) | 1996-10-23 | 2002-11-26 | Ncr Corporation | Collaborative network navigation synchronization mechanism |
| KR100259912B1 (en) * | 1997-01-17 | 2000-06-15 | Samsung Electronics Co Ltd | Time switch controlling method for diagnosing error of call route |
| US5949994A (en) * | 1997-02-12 | 1999-09-07 | The Dow Chemical Company | Dedicated context-cycling computer with timed context |
| DE19705774C2 (de) * | 1997-02-14 | 1999-06-17 | Siemens Ag | Verfahren und Anordnung zur Integration von Mobilitäts-Funktionen in leitungsgebundene Kommunikationsnetze |
| US5983227A (en) * | 1997-06-12 | 1999-11-09 | Yahoo, Inc. | Dynamic page generator |
| US5933828A (en) * | 1997-06-16 | 1999-08-03 | Eitel; Robert T. | Method of structuring a database of a control system for access by third party software |
| US6366904B1 (en) * | 1997-11-28 | 2002-04-02 | International Business Machines Corporation | Machine-implementable method and apparatus for iteratively extending the results obtained from an initial query in a database |
| US6448981B1 (en) | 1997-12-09 | 2002-09-10 | International Business Machines Corporation | Intermediate user-interface definition method and system |
| US6275695B1 (en) | 1998-10-08 | 2001-08-14 | Nortel Networks Limited | Spectrum yield management in a wireless communication system |
| US6665395B1 (en) * | 1998-12-11 | 2003-12-16 | Avaya Technology Corp. | Automatic call distribution system using computer network-based communication |
| US6658450B1 (en) * | 1999-01-29 | 2003-12-02 | Avaya Technology Corp. | Method and system for memory resident transient storage of data associated with a plurality of collaborating computer processes |
| US6681230B1 (en) * | 1999-03-25 | 2004-01-20 | Lucent Technologies Inc. | Real-time event processing system with service authoring environment |
| US6598078B1 (en) | 1999-04-29 | 2003-07-22 | Aspect Communications Corporation | Method and apparatus for generating a record from a time-marked information stream |
| US6718032B1 (en) | 1999-07-13 | 2004-04-06 | Interactive Intelligence | Read-only in-memory tables for intelligent call processing system |
| US6442269B1 (en) | 1999-08-23 | 2002-08-27 | Aspect Communications | Method and apparatus for integrating business data and transaction data in a transaction processing environment |
| US7228281B1 (en) | 1999-08-23 | 2007-06-05 | Aspect Communications | Method and process for accumulating and summarizing data for defined time intervals within a customer interaction system |
| US6718022B1 (en) | 1999-08-23 | 2004-04-06 | Aspect Communications Corporation | Method and apparatus for universal call identification |
| US7092509B1 (en) | 1999-09-21 | 2006-08-15 | Microlog Corporation | Contact center system capable of handling multiple media types of contacts and method for using the same |
| AU2112301A (en) * | 1999-09-24 | 2001-04-24 | Sun Microsystems, Inc. | Mechanism for enabling session information to be shared across multiple processes |
| US7321298B2 (en) | 2000-02-25 | 2008-01-22 | Harris Corporation | Skills based routing method and system for call center |
| US6707904B1 (en) * | 2000-02-25 | 2004-03-16 | Teltronics, Inc. | Method and system for collecting reports for call center monitoring by supervisor |
| US6970552B1 (en) | 2000-03-22 | 2005-11-29 | Sbc Properties, L.P. | Web-based network monitoring tool |
| US7406515B1 (en) * | 2000-06-27 | 2008-07-29 | Aspect Communications | System and method for automated and customizable agent availability and task assignment management |
| US6606637B1 (en) * | 2000-08-01 | 2003-08-12 | Reuters America, Inc. | System and method for unified data access of financial data |
| US6883170B1 (en) | 2000-08-30 | 2005-04-19 | Aspect Communication Corporation | Method and system to maintain a hierarchy of instantiated application objects and to enable recovery from an applications failure |
| US6678358B2 (en) * | 2001-04-30 | 2004-01-13 | Sigma Communications, Inc. | Automated nodal calling system |
| US7395224B1 (en) * | 2001-05-07 | 2008-07-01 | At&T Corp. | Automated sales support device |
| US20030050994A1 (en) * | 2001-07-27 | 2003-03-13 | Robert Pollack | Method of aggregating, classifying, reporting and cross-tabbing data in real time |
| US6745175B2 (en) * | 2001-08-02 | 2004-06-01 | National Instruments Corporation | System and method for a shared memory architecture for high speed logging and trending |
| DE50308487D1 (de) * | 2002-09-06 | 2007-12-13 | Siemens Entpr Communications | Verfahren zum Verwalten von Daten in einer automatischen Anrufverteilung |
| US6970547B2 (en) | 2003-05-12 | 2005-11-29 | Onstate Communications Corporation | Universal state-aware communications |
| GB2407658A (en) * | 2003-10-31 | 2005-05-04 | Daniele Grazioli | Computer network for processing received event data |
| US7221369B1 (en) * | 2004-07-29 | 2007-05-22 | Nvidia Corporation | Apparatus, system, and method for delivering data to multiple memory clients via a unitary buffer |
| US8400948B2 (en) * | 2005-01-18 | 2013-03-19 | Aspect Software Inc. | Method and system for updating real-time data between intervals |
| US8380742B2 (en) * | 2006-10-10 | 2013-02-19 | Microsoft Corporation | Integration of database reporting with ERP systems |
| US7925002B2 (en) | 2007-10-25 | 2011-04-12 | Aspect Software, Inc. | Administering multiple target ACD systems |
| CN101883190A (zh) * | 2009-05-06 | 2010-11-10 | 华为技术有限公司 | 坐席的处理方法、交换机及呼叫中心 |
| WO2012141762A1 (en) | 2011-02-25 | 2012-10-18 | Telecommunication Systems, Inc. | Mobile internet protocol (ip) location |
| US9317552B2 (en) * | 2012-01-30 | 2016-04-19 | Memsql, Inc. | Reusing existing query plans in a database system |
| US20130197953A1 (en) * | 2012-01-31 | 2013-08-01 | Oracle International Corporation | Method and system for implementing user reporting |
| US10587727B2 (en) | 2016-10-04 | 2020-03-10 | Avaya Inc. | Method and system for integrated optimized reporting |
| US11438459B2 (en) * | 2020-12-18 | 2022-09-06 | Dell Products L.P. | Dynamically modifying call flow management using a common data model interface for automated call distribution systems |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4150428A (en) * | 1974-11-18 | 1979-04-17 | Northern Electric Company Limited | Method for providing a substitute memory in a data processing system |
| US5153909A (en) * | 1989-05-25 | 1992-10-06 | At&T Bell Laboratories | Resource control and data handling for central office based automatic call distributors |
| US5101425A (en) * | 1990-08-07 | 1992-03-31 | Digital Systems International, Inc. | Operations monitoring system |
-
1994
- 1994-08-23 JP JP7507738A patent/JPH09501809A/ja active Pending
- 1994-08-23 WO PCT/US1994/009549 patent/WO1995006380A1/en not_active Ceased
- 1994-08-23 DE DE69430429T patent/DE69430429T2/de not_active Expired - Fee Related
- 1994-08-23 AU AU14083/95A patent/AU1408395A/en not_active Abandoned
- 1994-08-23 EP EP94926006A patent/EP0715790B1/en not_active Expired - Lifetime
- 1994-12-27 US US08/364,063 patent/US5546455A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0715790A1 (en) | 1996-06-12 |
| EP0715790B1 (en) | 2002-04-17 |
| US5546455A (en) | 1996-08-13 |
| EP0715790A4 (en) | 1999-09-29 |
| AU1408395A (en) | 1995-06-06 |
| DE69430429T2 (de) | 2002-11-21 |
| WO1995006380A1 (en) | 1995-03-02 |
| DE69430429D1 (de) | 2002-05-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH09501809A (ja) | 自動呼分配システムにおけるリアルタイムデータのアクセス方法 | |
| JP3075486B2 (ja) | データベースネットワークの管理方法 | |
| US7181474B2 (en) | Database communication system and method for communicating with a database | |
| US7076508B2 (en) | Method, system, and program for merging log entries from multiple recovery log files | |
| US6615223B1 (en) | Method and system for data replication | |
| US7712107B1 (en) | Message integration framework for multi-application systems | |
| US5937168A (en) | Routing information within an adaptive routing architecture of an information retrieval system | |
| US20050028171A1 (en) | System and method enabling multiple processes to efficiently log events | |
| US20120254249A1 (en) | Database Management System | |
| US20040107381A1 (en) | High performance transaction storage and retrieval system for commodity computing environments | |
| Templeton et al. | Mermaid—Experiences with network operation | |
| US20040111417A1 (en) | Data manipulation persisting method in transaction processing system and data manipulating program for remote database | |
| JPH10222542A (ja) | 照会変換システム | |
| JP2969627B2 (ja) | 分散型データベースシステムの管理方法 | |
| WO2024077802A1 (zh) | 跨区域的数据同步方法、系统及计算机可读介质 | |
| US7305395B1 (en) | Centralized storage and management of database parameters | |
| US6804339B1 (en) | Real-time object-oriented database for TAPI service providers | |
| JPH1141588A (ja) | ビデオサーバシステムにおけるアクセス履歴管理システム | |
| KR100218723B1 (ko) | 데이타베이스 관리 시스템의 대화형 질의어 관리방법 | |
| JPH09231243A (ja) | データ処理装置の連結方法、交換局の制御方法、データ処理装置、制御装置、および交換局 | |
| KR100198440B1 (ko) | 메모리-상주 객체지향 디.비.엠.에스에서 메소드 인덱싱 방법 및동적 변경-전파 방법 | |
| KR950005987B1 (ko) | 전전자 교환기의 프로세서간 데이타의 일치성 유지방법 | |
| KR100246624B1 (ko) | 이기종 시스템에서의 데이터 처리 방법 | |
| US20030229655A1 (en) | ClientSync - a synching method between a client computer or computers and server computer supporting one-to-many and many-to-one database synchronization when the network connection between the two is not always available or is a low-speed connection. | |
| CN116089211A (zh) | 基于OpenBMC服务器管理系统的事件日志存储方法 |