(57)【特許請求の範囲】
【請求項１】
コミュニケーションネットワークであって、このコミュニケーションネットワークは、
複数のネットワークノードと、
１以上の前記ネットワークノードを制御するように動作する電話サーバとを含み、
前記電話サーバは制御インターフェースを含み、
前記制御インターフェースは、
前記ネットワークと電話コールにアクティブなネットワークノードとでなされる電話呼に関する情報を有する呼モデルと、
少なくとも１つの第１の当事者の呼構成要素と少なくとも１つの第３の当事者の呼構成要素とを含む呼構成要素であって、前記第１の当事者及び第３の当事者の呼構成要素は前記電話呼を制御するように動作する、呼構成要素と、を含み、
電話呼の送信元または送信先にあり、前記電話呼にアクティブなネットワークノードは、前記電話呼の送信元または送信先のノードからの前記電話呼を制御できる第１の当事者の呼構成要素により表され、
前記電話呼の送信元と送信先の間に位置し前記電話呼にアクティブなネットワークノードは、前記電話呼の送信元と送信先との間のノードからの前記電話呼を制御できる第３の当事者の呼構成要素によって表され、
前記電話呼に対する各第１の当事者及び第３の当事者の呼構成要素は単一の呼モデルにリンクされている、コミュニケーションネットワーク。
【請求項２】
請求項１のコミュニケーションネットワークでの接続のための電話サーバ。
【請求項３】
請求項２の電話サーバに搭載するコンピュータ電話インターフェース。
【請求項４】
請求項３のコンピュータ電話インターフェースを動作させるソフトウェアを有する機械的に読み取り可能な媒体。
【請求項５】
複数のネットワークノードを含むコミュニケーションネットワークに搭載された電話サーバを動作する方法であって、
前記電話サーバは、前記コミュニケーションネットワークでなされる電話呼と前記電話呼を制御するように動作する呼構成要素とに関連する情報を含む呼モデルを含み、
前記方法は、
ａ）呼構成要素で電話呼にアクティブな各ネットワークノードを表現するステップと、
ｂ）１以上の前記呼構成要素を選択するステップと、
ｃ）前記各選択された呼構成要素を前記呼モデルに組み込むステップと、
ｄ）前記呼モデルを介して、前記選択された呼構成要素に対応する前記ネットワークモデルを制御して、前記コミュニケーションネットワークに呼を確立するステップとを含み、
前記表現するステップは、
ａ１）電話呼の送信元または送信先に位置し、前記電話呼にアクティブな前記各ネットワークノードを第１の当事者の呼構成要素で表現するステップと、
ａ２）前記電話呼の送信元と送信先との間にあり、前記電話呼にアクティブな前記各ネットワークノードを第３の当事者の呼構成要素で表現するステップとを含む、方法。
【請求項６】
請求項５の方法を実行するソフトウェアを有する機械読み取り可能な媒体。
【発明の詳細な説明】
【０００１】
発明の属する技術分野
本発明は通信システム、とくにこのようなシステムで使用するコンピュータ電話インターフェイス（ＣＴＩ）に関する。
【０００２】
発明が解決しようとする課題
本発明の第１の態様にしたがって、同時性をもっている（コンカーレント）第１の当事者の呼構成要素（コンポーネント）と第３の当事者の呼構成要素とを含むコンピュータ電話インターフェイス（ＣＴＩ）を提供する。
【０００３】
コンピュータ電話インターフェイスは、通信ネットワークにおいて1以上のノードを構成または制御するコンピュータ上で使用される制御インターフェイスであり、例えばマイクロソフトのＴＡＰＩ(telephony application programmers interface)（電話アプリケーションプログラマズインターフェイス）はNetMeeting（商標）のようなプログラムと一緒に使用して、例えばイントラネットに接続された他のＰＣとのオーディオ／ビジュアル通信用に使用されるＰＣを制御することができる。このような制御インターフェイスは接続に関係する当事者の一方の視点から呼をモデル化して、制御するので、“first party call component（第１の当事者の呼構成要素）”として知られている。その代わりに、呼の送信元ノードまたは送信先ノードの何れでもないプラットフォームから呼をモデル化し、制御してもよい。例えば、Ｈ３２３プロトコルを使用する呼は、呼スイッチング機能専用であり、“バーチャルスイッチ”（時折、“ゲートキーパ”と呼ばれる）と呼ばれるコンピュータプラットフォームを介して行なうことができる。このようなバーチャルスイッチは、例えばジャバ電話アプリケーションプログラマインターフェイス(Java telephony application programmers interface)（ＪＴＡＰＩ）を使用して構成される制御インターフェイスをもっていてもよい。呼の制御は送信元の当事者の呼でも、または送信先の当事者の呼でもない呼のビュー（とらえ方）に基いているので、これは第３の当事者の呼構成要素の例である。
【０００４】
本発明では初めて、第1の当事者呼構成要素と第３の当事者呼構成要素の両方を同時に使用する制御インターフェイスを提供した。従来のＰＢＸおよび公衆ネットワークでは、第１の当事者または第３の当事者の何れかによって制御されていた。しかしながらネットワーク機能は多くの構成要素において分配されているので、本発明によって1以上のノードまたはスイッチを制御するために与えられた能力は、コンピュータ実行／コンピュータ制御用の通信ネットワークの全機能の制御および使用を可能にした。
【０００５】
本発明の第２の態様にしたがって、呼中に活動状態の複数のそれぞれ異なるネットワークノードの複数の同時性を有する呼構成要素を含むコンピュータ電話インターフェイスを提供する。
【０００６】
複数の同時（性を有する）呼構成要素は第1の当事者の呼構成要素と第３の当事者の呼構成要素とを含むことが好ましい。
【０００７】
前記呼構成要素の１つは、マルチ呼通信プロトコルを動作するネットワーク資源を制御するようにされていることが好ましい。
【０００８】
従来のコンピュータ電話インターフェイスの限界はとくに、マルチ呼プロトコルを実行するデバイスを制御するのに使用されるときに注目されるようになる。マルチ呼プロトコルでは、各ネットワークノードは一度に２以上の呼と関係することができるプロトコルである。このようなマルチ呼プロトコルの例にはＨ．３２３があり、このＨ．３２３はマイクロソフトのネットミーティングおよび他のオーディオ／ビジュアル会議アプリケーションで使用されている。
【０００９】
異なる呼構成要素は単一呼構成要素の親クラスのサブクラスであることが好ましい。
【００１０】
本発明の別の態様にしたがって、上述の態様の何れか１つにしたがうコンピュータ電話インターフェイスを含み、遠隔通信システムにおける接続用の電話サーバを提供する。
【００１１】
本発明のさらに別の態様にしたがって、複数の異なるネットワーク資源を制御するコンピュータであって、本発明の上述の態様の何れか1つにしたがうコンピュータ電話インターフェイスを含むコンピュータを含む通信システムを提供する。
【００１２】
本発明の別の態様にしたがって、通信ネットワークに接続されたコンピュータ処理システムを動作する方法であって：
ａ）第１の当事者呼構成要素および第３の当事者呼構成要素の両方を含む複数の呼構成要素の1以上を選択することと；
ｂ）コンピュータ処理システム上で実行される呼モデル内に該または各選択された呼構成要素を組込むことと；
ｃ）該または各選択された呼構成要素に対応する前記呼モデルネットワーク資源を介して制御して、前記通信ネットワーク内で呼を設定することとを含む方法を提供する。
【００１３】
本発明はさらに、ネットワークを動作する方法、すなわち上述の態様のコンピュータ電話インターフェイスを使用してネットワークノードを動作する方法を含む。
【００１４】
ここで本発明を実現するシステムをさらに詳しく例示的に添付の図面を参照して記載することにする。
【００１５】
発明の実施の形態
図１ａは、例えば企業のイントラネットのような通信ネットワークへ接続11をもつパーソナルコンピュータ10を示す。この従来技術の例においてＰＣ上で実行される通信クライアントはマイクロソフトの“NetMeeting”である。マイクロソフトの電話アプリケーションプログラマインターフェイス（ＴＡＰＩ）12を使用して、NetMeeting（ＮＭ）クライアント13を制御する。ＴＡＰＩインターフェイスは、より高いレベルのアプリケーションプログラムによって制御され、例えば個人情報マネージャアプリケーションでは、ＴＡＰＩおよびＮＭを使用して、アドレスブックから読取られる送信先番号へ呼を開始することができる。この例におけるＴＡＰＩインターフェイスは、呼の送信元ノードのビューからＮＭクライアントの動作をモデル化して、制御する。このＴＡＰＩインターフェイスは、ネットワークから戻された情報に基づいて、ネットワークおよび他のノードの制限されたビューのみをもつ。ＮＭクライアントへのＴＡＰＩインターフェイスは、この例において第1の当事者の呼構成要素を構成する。
【００１６】
図１ｂは、テレマーケティング呼センタで使用するためにＢＴによって開発された通信システムを示し、“Ｍｅｌｏｄｙ”として知られている。ＰＣノード14、15は（例えばイーサネット（商標）を使用して）データネットワークを介して、バーチャルスイッチとして機能するコンピュータ16へ接続される。パーソナルコンピュータ14、15はスイッチ16を介して互いに通信するインターネット電話クライアントを使用する。パーソナルコンピュータ14、15はさらに、電話サーバ上で実行される呼センタアプリケーション17とも通信する。呼センタアプリケーションはＳｕｎのジャバ電話アプリケーションプログラマインターフェイス(Java telephony application programmers interface（商標）)（ＪＴＡＰＩ）18によって構成されたコンピュータ電話インターフェイスを使用してバーチャルスイッチ16を制御する。ＪＴＡＰＩインターフェイスはバーチャルスイッチ16の制御専用であり、第３の当事者の呼構成要素を構成する。
【００１７】
図１ｂに示したシステムは、本発明の発明者の係属中の特許出願PCT/GB97/01884(“Processing Device Network” filed 11 July 1997)に記載され、権利を主張されている。本明細書ではこの先行出願PCT/GB97/01884の内容を参考文献として取り上げる。
【００１８】
図２は、本発明を実現するシステムを示す。アプリケーション21は、例えば、テレマーケティング呼センタにおいてエージェント間で呼を分配するのに使用される上述の呼センタアプリケーションであってもよく、コンピュータ電話インターフェイス22を介してネットワーク資源を制御する。このインターフェイスはここでもＳｕｎのＪＴＡＰＩを使用して構成することができる。しかしながら従来技術のシステムとは対照的に、このインターフェイスは、バーチャルスイッチの動作専用の第３の当事者呼構成要素のような単一の呼構成要素を使用することに制限されず、それに代って多数の異なる呼構成要素を同時に動作することができ、これらの構成要素にはノードＡのビューから呼をモデル化する第１の当事者の呼構成要素26、バーチャルスイッチ24から呼のビューをモデル化する第３の当事者の呼制御構成要素27、および他のノードＢのビューから呼をモデル化する別の第1の当事者の呼制御構成要素28を含む。このやり方では、インターフェイス22はネットワークの全ての能力の効率的な制御を完全に捕えて、実行する。この例のネットワークは、ＮＭクライアントが実行される第１のＰＣのような送信元ノード23に加えて、同じくNetMeetingクライアントが実行される第３のＰＣ Ｃに対応する第３のノード29と接続されたバーチャルスイッチ24、およびＮＭが実行される別のＰＣノード25を含む。図２のダイヤグラムに示したように、第３のノード29はバーチャルスイッチ24の第３の当事者のビューから得られた呼構成要素内には存在するが、エンドノード23、25の呼構成要素内には存在しない。
【００１９】
図３は、本発明を実行する際に使用するのに適した模式的なネットワークを示す。これは本発明者によって２＋１０ネットワークと呼ばれている。バーチャルスイッチ31は、NetMeetingおよびＨ３２３プロトコルを使用して、ローカルエリアネットワークを介して多数の（例えば、１０）のパーソナルコンピュータ32に接続されている。バーチャルスイッチ31はさらに、ＬＡＮを介して電話ゲートウエイ33に接続されている。バーチャルスイッチ31はＵＮＩＸ（商標）ワークステーションであってもよく、一方でゲートウエイ33はＷｉｎｄｏｗｓ  ＮＴ（商標）を実行するワークステーションであってもよい。ゲートウエイ33は２つの交換ライン34、35を介して公衆交換電話ネットワーク36へ接続されている。交換ラインは、例えばＩＳＤＮラインであってもよい。バーチャルスイッチ31はさらにイントラネット37およびインターネット38にも接続されていてもよい。
【００２０】
図４は、図３のネットワーク内のＰＣの１つの構成要素をさらに詳しく示している。第１の当事者呼構成要素ＣＣＡ41は、NetMeeting ＳＤＫ（ソフトウエアデベロッパーキット）42およびNetMeetingアプリケーション（ＡＰＰ）ウインドウ43とを介してＰＣの遠隔通信機能を制御する。制御インターフェイス44は、ノードＡおよびＢに対する会議オブジェクトおよびアドレスオブジェクトを含んでいる。インターフェイスではプリミティブをNetMeeting Ｈ３２３クライアント45と通信する。図５に示したように、異なる呼構成要素間で高レベルの通信が行なわれる。この例では、電話サーバはNetMeeting呼構成要素51と呼構成要素ファクトリ52とを含み、呼構成要素ファクトリ52は、ＰＣとのＣＯＲＢＡインターフェイスまたはソケットインターフェイスのようなリンク53を介して通信する。ＰＣは、上述のNetMeeeting ＳＤＫを実行する通信アプリケーション（ＣＯＭＭＳ）54を含み、代わってNetMeetingクライアント56を制御する。
【００２１】
図６と７は、本発明を構成するコンピュータ電話インターフェイスにおけるクラスのダイヤグラムである。このダイヤグラムは、ラショナルローズ(Rational ROSE,商標)ツールを使用して生成され、このツールを使ってコードフラグメントを生成するために使用できる。インターフェイスは呼構成要素クラス61を含み、呼構成要素クラス61は子クラスをもち、子クラスはNetMeeting呼構成要素62およびバーチャルスイッチ呼構成要素63を含む。NetMeeting呼構成要素は第１の当事者呼構成要素であり、バーチャルスイッチ呼構成要素は第３の当事者呼構成要素である。呼構成要素61のインターフェイスの生成は、呼構成要素クラスファクトリ64によって管理される。呼構成要素ファクトリ64はサブクラスをもち、サブクラスはNetMeeting呼構成要素62の例を生成するNetMeeting呼構成要素ファクトリ641と、バーチャルスイッチ呼構成要素63の例を生成するバーチャルスイッチ呼構成要素ファクトリ642とを含む。
【００２２】
好ましい実施形態において、図８に示された呼および会議管理システムは、ＪａｖａおよびＪＴＡＰＩを使用して構成される。システムは、Ｈ．３２３  ＩＰ（インターネットプロトコル）ビデオ／音声およびデータ呼能力を用意している。システムはまばらな(thin)クライアントを使用して、呼センタ管理、会議呼、ディレクトリシステム、および管理アプリケーションを含むネット中心のアプリケーションを支援する。システムは、同時に第１の当事者、第３の当時者、および“第ｎの”当事者の呼構成要素を使用して、多数のノードおよび多数のドメインにおいて呼を管理する。動作にあたり、呼または会議内の各ノードはバーチャルノード内の呼構成要素（ＣＣ）としてモデル化される。ノードは物理的に、例えばＨ３２３クライアント、ＴＡＰＩカード、ネットワークゲートキーパまたはゲートウエイ、あるいはＰＢＸスイッチとして実現することができる。各呼構成要素は、単一のＣＴＩジャバ呼モデル（ＪＣＭ）(CTI Java Call Model,商標)にリンクされる。したがって多数のバーチャルノードにおける呼中に、通常第１の当事者および第３の当事者の呼構成要素を含む多くの呼構成要素は単一のジャバ呼モデルにリンクされる。ジャバ呼モデル内の呼構成要素のリストは、呼がシステムにルート設定されるときに動的に構成される。呼または会議が生成される前に、デフォルト（省略時の）呼構成要素の知識をもつＪＣＭが与えられる。例えば、最も簡単な呼構成要素はクライアント呼構成要素であって、例えばＴＡＰＩカードまたはＨ．３２３クライアントに対応する。呼センタまたは呼ルート設定動作の場合を除く最も簡単な呼では、クライアント呼構成要素は、主要なおよび省略時の呼構成要素である。簡単な呼に使用されるジャバ呼モデルはjava.core packageであってもよい。２当事者の呼または３当事者の呼は、例えば多数のＨ．３２３クライアント呼構成要素を使用して設定することができる。しかしながら多数の会議を取扱うために、メディアミキシング能力をもつＭＣＵ会議ブリッジに対応する呼構成要素を選択することが好ましい。
【００２３】
Ｈ．３２３それ自体は、ＰＢＸの機能をエミュレートできないが、この制限は、ゲートキーパ技術としても知られているＨ．３２３バーチャルスイッチ（ＶＳ）を使用することによって克服することができる。このアプローチでは、始めと終わりのレッグ（脚）で呼をモデル化することができる。呼を転送するために、レッグの一方を取除き、新しいレッグを他のクライアントに設定する。本発明のシステムは、バーチャルスイッチ呼構成要素（ＶＳＣＣ）を含み、このようなバーチャルスイッチをモデル化する。java.callcontrol呼が要求されるとき、システムは省略時によってＶＳＣＣを選択する。
【００２４】
上述のような省略時のまたは主要な呼構成要素を使用することに加えて、呼設定中に追加の呼構成要素をJava Call Modelへ動的に追加してもよい。
【００２５】
図８に示したシステムは、２つの層（レイヤ）に分割される。ＪＴＡＰＩ層は呼または会議を簡単に示した図を表わし、この図とルート設定要求とを統合する責務がある。呼構成要素層はバーチャルスイッチによって呼をモデル化し、呼構成要素とＪＴＡＰＩ呼とを結合する責務を負う。ここでこれらの2つの層をさらに詳しく記載することにする。
【００２６】
ＪＴＡＰＩ層は、ＪＴＡＰＩ層を使用するアプリケーションの観点から標準通りに動作する。この例では、ＪＴＡＰＩ層は単一のプロバイダシステムとして設計され、単一のＡＰＩを一定の範囲のマルチメディアおよびＣＴＩシステムへ送る。ＪＴＡＰＩ層内でモデル化されたＪＴＡＰＩパッケージはcore（コア）、callcontrol（呼制御）、およびcallcentre（呼センタ）である。
【００２７】
ＪＴＡＰＩ呼クラスは、呼を行なう前に少なくとも１つの呼構成要素にアクセスすることができる。この呼構成要素は、既に記載したように、デフォルトまたは主要な呼構成要素である。外部の呼がシステムに入るとき、ＪＴＡＰＩ層は対応する呼構成要素をモデル化し、呼構成要素をＪＴＡＰＩ呼に追加する。他の関係する呼構成要素はシステムドメインにおいて活動状態であり、呼に追加されるので、ＪＴＡＰＩ呼は呼の全体的な状態をモデル化し続ける。安定状態では、ＪＴＡＰＩ呼クラスは、ＪＴＡＰＩアプリケーションによってこうするように要求されると、呼構成要素にインターロゲートして、呼転送、会議、およびゲートウエイのような別のオプションを要求する。番号変換がゲートウエイにおいて行われるとき、ＪＴＡＰＩ呼は正しい接続状態をモデル化する。最後に、呼が終了するとき、ＪＴＡＰＩ呼クラスは非活動の呼構成要素を取除き、それ自体を非活動状態にする。
【００２８】
呼構成要素層では、呼構成要素は調和した振る舞い、イベント、および特性をＪＴＡＰＩ呼モデルに示すようにされている。呼構成要素の振る舞いは、アドレスＡをアドレスＢ、会議Ａ、Ｂ、Ｃ、およびＤへ接続するか、または到来呼をＢへルート設定することによって、一定の範囲の呼制御能力を提供する。既に記載したように、システムは呼の全ての構成要素が単一のＪＴＡＰＩ呼モデルによってモデル化することができるように設計されている。ジャバ呼モデルは、呼構成要素にインターロゲートして、何れの呼構成要素が一定の機能を支援するかを見付ける。添付の表１は呼構成要素能力を記載している。
【００２９】
呼構成要素には次の状態、すなわちアイドル、活動状態、非活動状態がある。アイドルは、呼構成要素が加えられる前の状態を表わし、活動状態は呼中に１以上の呼構成要素接続がされているときに発生し、非活動状態は呼構成要素接続が接続解除されたときに入る状態である。
【００３０】
上述の主なオブジェクトおよびクラスに加えて、好ましい構成では多数の補助クラスが使用されている。
【００３１】
CCconnection：活動状態の各呼構成要素には、少なくとも１つのCCconnectionおよび関係するCCAddressがある。これは、ＪＴＡＰＩ呼モデルの振る舞いをモデル化する。CCConnectionの状態の組はidle、altering、ringing、connectedを含む。状態の組はAutomatic Call Distribution、queues、ＩＶＲ状態を含むように拡張してもよい。
【００３２】
CCAddress：これはアドレス(Address)の振る舞いをモデル化し、ＩＰアドレスを表わす能力をもつ。このクラスの2つのサブクラスは、NetMeeting UserおよびVirtual Switch Userである。TerminalおよびTerminal ConnectionのＪＴＡＰＩの概念は使用されない。
【００３３】
Call Component Class Factory(3CF)：これは特定のノードタイプに対して呼を生成する特定のクラスである。ＪＣＭは、接続が行なわれる前に多数の３ＣＦにアクセスし、この機構によって生成されたＣＣの能力を表わす。ＣＣが生成されると、３ＣＦはＪＣＭによって最早調べられない。能力エミュレーションはＣＣとの直接的な対話によって行われる。３ＣＦはNetMeeting CCおよびVirtual Switch CCに対して規定される。
【００３４】
Call Component Manager：これは、制御ノードのみを介して送られる呼、すなわちＪＴＡＰＩ層から生成されない呼を捕捉するために存在する。例えば、
呼センタが別のネットワークからドメインに入るとき、または既存の呼が制御ノードを介してルート設定されるとき、新しいＣＣがＣＣＭによって生成される。次にＣＣＭはＪＴＡＰＩ呼登録にインターロゲートして、ＪＴＡＰＩ呼が存在するか否かを判断する。ＪＣＭが存在するときは、新しく生成されたＣＣはＪＣＭに追加される。ＪＣＭが存在しないときは、新しいＪＣＭが生成され、ＣＣが追加される。ＣＣＭは、フィルタを追加して、他のドメイン内のノードをモニタするように改良することができる。したがって遠隔のＣＣＭは一定のタイプの呼およびアドレスをモニタすることができる。例えばシンガポール内のサイトから発信している呼は香港へ転送されるには、ＪＣＭが２つのドメイン内に存在することが必要である。呼が転送される場合に、両方のサイトは呼モデルにおける関心を保持しているので、各サイトは遠隔の能力をもつ呼モデルをもつ。
【００３５】
ＪＴＡＰＩ呼登録：これを使用して全ての活動状態の呼をドメイン内に登録する。このクラスはＪＴＡＰＩプロバイダクラスの拡張として構成することができる。呼登録を使用して、ＣＣＭを介して生成されたＣＣが新しいＪＣＭ（ジャバ呼モデル）または既存のＪＣＭと関係するか否かを判断するのに、呼登録は重要である。
【００３６】
【表１】
0004361212.tif 000002
【００３７】
【図面の簡単な説明】
【図１】  従来技術の通信システムを示す模式図（図１ａおよび１ｂ）。
【図２】  本発明を実現する通信システムを示す模式図。
【図３】  図２のシステムを構成するネットワークを示す模式図。
【図４】  図３のネットワーク内のＰＣノードの構成要素を示す模式図。
【図５】  電話サーバおよびＰＣ通信クライアント間の通信リンクを模式的に示すダイヤグラム。
【図６】  本発明を構成するコンピュータ電話インターフェイスを示すオブジェクトのダイヤグラム。
【図７】  本発明を構成するコンピュータ電話インターフェイスを示す、図６に続くオブジェクトのダイヤグラム。
【図８】本発明を構成するシステムの別の例を示すダイヤグラム。
【図１】
0004361212.tif 000003
【図２】
0004361212.tif 000004
【図３】
0004361212.tif 000005
【図４】
0004361212.tif 000006
【図５】
0004361212.tif 000007
【図６】
0004361212.tif 000008
【図７】
0004361212.tif 000009
【図８】
0004361212.tif 000010