(57)【特許請求の範囲】
【請求項１】
通信サーバのユーザが互いに連絡できるようにする方法であって、
第１のユーザのクライアントアプリケーションからデータ・ネットワークを介して連絡のための第２のユーザのＩＤを受信するステップと、
前記第１のユーザが前記第２のユーザに連絡するために、前記第２のユーザへの呼びのルートを前記第１のユーザが決定する必要性を軽減するように、公衆交換電話網（ＰＳＴＮ）、ファクシミリ・ネットワーク、ポケットベル・ネットワーク、及びボイスオーバーＩＰ（ＶＯＩＰ）ネットワークを含む複数の異なる通信ネットワークの一つを通じて通信チャネルを通信サーバにより開始及び制御するステップと、
前記第１のユーザの現在の位置と、その位置での現在の電話番号を前記クライアントアプリケーションのユーザインターフェースに表示するステップと、
前記ユーザインターフェースにおける前記第１のユーザによる選択を介して前記第１のユーザから、前記現在の位置が新しい位置に変更されたという表示を受信し、前記クライアントアプリケーションの前記ユーザインターフェースに前記新しい位置を表示するステップとを含み、
前記通信サーバが、前記第２のユーザが、前記第１のユーザの現在の電話番号を選択する必要なくして、前記第１のユーザに連絡できるようにすることを特徴とする方法。
【請求項２】
前記第２のユーザの前記ＩＤがインターネット上のネットワーク・ブラウザ・プログラムを介して前記サーバにより受信されることを特徴とする請求項１に記載の方法。
【請求項３】
前記通信チャネルがＰＳＴＮを介したアナログ音声チャネルであり、前記サーバが電話交換機に信号を送って前記第１のユーザを呼ぶことにより前記チャネルが開始され、前記第２のユーザが彼等のそれぞれの電話番号を使用することを特徴とする請求項２に記載の方法。
【請求項４】
前記通信チャネルがＶＯＩＰネットワークを介したＶＯＩＰチャネルであり、前記サーバが前記ＶＯＩＰネットワークに連結された電話交換機に信号を送って前記第１のユーザを接続することにより前記チャネルが開始され、前記第２のユーザが彼等のそれぞれのＩＰネットワークアドレスを使用することを特徴とする請求項１に記載の方法。
【請求項５】
前記通信チャネルがポケットベル・ネットワークを介しており、前記サーバが電話交換機に信号を送ってポケットベル・ネットワークによりポケットベルに連絡することにより前記チャネルが開始されることを特徴とする請求項１に記載の方法。
【請求項６】
前記通信チャネルがファクシミリ・ネットワークを介しており、前記サーバがファクシミリ伝送をサポートする電話交換機に信号を送ることにより前記チャネルが開始されることを特徴とする請求項１に記載の方法。
【請求項７】
複数のユーザが互いに連絡できるように通信ネットワーク上の通信チャネルのユーザを制御するシステムであって、このシステムは、
第１のユーザのクライアントアプリケーションから連絡すべき第２のユーザのＩＤをデータ・ネットワークを介して受信する通信サーバを備え、前記サーバは、公衆交換電話網（ＰＳＴＮ）、ファクシミリ・ネットワーク、ポケットベル・ネットワーク、及びボイスオーバーＩＰ（ＶＯＩＰ）ネットワークを含む複数の異なる通信ネットワークの一つを通じて通信チャネルを開始および制御して、前記第１のユーザが前記第２のユーザへの呼びのルートを決定する必要性を軽減する方法で、前記ユーザが前記第２のユーザにコンタクトできるようにし、
前記サーバは、前記第１のユーザの現在の位置とその位置における現在の電話番号を前記クライアントアプリケーションのユーザインターフェースに表示し、前記ユーザインターフェースにおける前記第１のユーザによる選択を介して前記現在の位置が新しい位置に変更されたという表示を前記第１のユーザから受信し、前記クライアントアプリケーションの前記ユーザインターフェースに前記新しい位置を表示し、
前記通信サーバは、前記第２のユーザが前記第１のユーザの現在の電話番号を選択する必要なく、前記第１のユーザに連絡できるようにすることを特徴とするシステム。
【請求項８】
前記サーバは、インターネット上のネットワーク・ブラウザ・プログラムを介し、連絡すべき前記第２のユーザの前記ＩＤを受信することを特徴とする請求項７に記載のシステム。
【請求項９】
前記サーバは、前記ＰＳＴＮを介してアナログ音声チャネルとして前記通信チャネルを開始および制御し、前記サーバが電話交換機に信号を送って前記第１のユーザを呼び、かつ前記第２のユーザが前記のそれぞれの電話番号を使用することによって、前記チャネルが開始されることを特徴とする請求項７に記載のシステム。
【請求項１０】
前記サーバは、ＩＰネットワークの音声に連結された電話交換機に信号を送ることによってＩＰチャネルの音声として前記通信チャネルを開始および制御し、前記第１と第２のユーザを、前記それぞれのＩＰネットワークアドレスを使用して接続することを特徴とする請求項７に記載のシステム。
【請求項１１】
前記サーバは、電話交換機に信号を送ってポケットベル・ネットワーク上の前記第２のユーザのポケットベルに連絡することによって、前記ポケットベル・ネットワークを介して前記通信チャネルを開始および制御することを特徴とする請求項７に記載のシステム。
【請求項１２】
前記サーバは、前記サーバがファクシミリ伝送をサポートする電話交換機に信号を送ることによって、ファクシミリチャネルとして前記通信チャネルを開始および制御することを特徴とする請求項７に記載のシステム。
【発明の詳細な説明】
【０００１】
（発明の背景）
（発明の分野）
本発明は、通信ネットワークの分野に関する。具体的には、本発明は、通信ネットワーク内の通信チャネルの使用を制御するシステムに関する。
【０００２】
（関連技術の説明）
通信システムは複数の別個のネットワークからなる。公衆交換電話網（ＰＳＴＮ）がその一例である。他の例には、ファクシミリ・ネットワークが含まれる。ファクシミリ機は、通常はＰＳＴＮを使用してファクシミリを伝送するが、ファクシミリ機はＰＳＴＮの音声内容と相互に動作できない。その意味で、ファクシミリ機は、簡単にＰＳＴＮとリンクされない、通信装置の別個のネットワークを形成している。同様に、ポケットベルが装置のネットワークを形成する。他のネットワークには、インターネットおよび私設ネットワークなどのデータ伝送ネットワークが含まれる。また、ボイスオーバーＩＰ(voice over IP）が一般的になりつつあるが、別のネットワークを形成している。
【０００３】
各ネットワークは、異なるプロトコルに基づいて動作し、あるネットワークのユーザが、自分で選んだネットワークを使用する別のネットワーク上のユーザと通信することは困難である。単一のネットワークの個々のユーザが、同一ネットワーク上の複数の人と同時に通信することも困難になることもある。
【０００４】
したがって、異なる通信ネットワークのユーザが、使用される通信チャネルを制御する単一のインターフェースを介して１人または複数のユーザと通信できるようにするシステムが必要である。
【０００５】
（発明の概要）
通信ネットワーク内の通信チャネルの使用を制御するシステムを説明する。このシステムには、イーサネット（登録商標）、私設イントラネット、公衆インターネットのサブネットワーク、または他のタイプのネットワークなどのネットワークが含まれる。ネットワークは複数の組にグループ化されるサービス・ノードを有する。各組は、同一のタイプの１つまたは複数のサービス・ノードを有する。たとえば、サービス・ノードのある組が請求機能(billing function)を提供することができる。請求機能の組に４つのサービス・ノードが存在することができる。
【０００６】
組の１つが、リモート端末と通信するインターフェースを備えたメンバ・ノードを有する。このインターフェースは、ネットワークにリモート端末のユーザを含めるために、ユーザ・インターフェース・プロセスに結合される。ユーザ・インターフェース・プロセスは、Ｒｅｎｄｅｚｖｏｕｓ（商標）Ｒｏｕｔｉｎｇ  Ｄａｅｍｏｎまたは、リモート端末のユーザがネットワークに連絡し、サービス・ノードにメッセージを送信できるようにする他のインターフェースとすることができる。組の１つが、通信ネットワークへのインターフェースを備えたメンバ・ノードを有する。これは、交換機コントローラとすることができる。交換機コントローラは、ユーザ用の通信チャネルの確立を制御する、インターフェースに結合されたプロセスを有する。
【０００７】
このシステムには、リモート端末から１人または複数の人に連絡する要求を受信し、ネットワーク内でメッセージを転送し、要求に応答し、リモート端末への要求に関してネットワーク内でメッセージを転送するロジックを含めることができる。たとえば、ユーザが、自分自身と３人の他の人との間での会議コール（会議呼）を要求することができる。メッセージは、リモート端末からユーザ・インターフェース・プロセスに送信され、その後、ネットワーク内に転送される。会議コールの状況、ルーティング、および他の態様に関するメッセージが、ネットワークからリモート端末に転送される。
【０００８】
一実施態様では、各要求に、一意のトランザクション識別子が割り当てられる。一実施態様では、トランザクション識別子が割り当てられると、ネットワーク内のそのトランザクションに関するすべてのメッセージに、そのトランザクション識別子が含まれる。
【０００９】
一実施態様では、サービス・ノードの組のそれぞれが、分散キューの一部である。類似する機能を実行するすべてのサービス・ノードの間でサービス機能に関する要求を分散キューによって分散することが可能になる。
【００１０】
一実施態様では、サービス・ノードが、マルチキャスト・プロトコルを使用して、メッセージを互いに送信する。もう１つの実施態様では、ユーザ・データグラム・プロトコルが、メッセージ送信に使用される。もう１つの実施態様では、インターネット・プロトコル（ＩＰ）上の伝送制御プロトコルがメッセージ送信に使用される。
【００１１】
一実施態様では、システムのサービス・ノードが私設サブネットワーク内に配置される。
【００１２】
通信ネットワークは、公衆交換電話網、ボイスオーバーＩＰネットワーク、または他のタイプの通信ネットワークとすることができる。
【００１３】
通信チャネルには、音声チャネル、データ・チャネル、音声会議チャネル、または通信ネットワーク内の他のタイプのチャネルを含めることができる。
【００１４】
サービス機能の１つはサービス・マネージャとして働くものにすることができる。サービス・マネージャは、リモート端末からのメッセージと、システムの残りとの間の仲介物として働く。サービス・マネージャは、通信チャネルに関するユーザ要求を受信し、要求内のアカウント情報の検証を要求し、検証に応答して要求を交換機コントローラに転送する。
【００１５】
サービス機能の１つが請求機能である。請求機能は、通信チャネルの使用に関する要求を受信し、要求内のアカウント情報を検証し、通信チャネルの使用に関する情報を保管する。請求機能は、通信チャネルおよび通信サービスの使用についてクレジット・カードに請求することもできる。
【００１６】
もう１つのサービス機能がログ記録機能である。ログ記録機能には、ネットワーク内のメッセージを監視し、事前に定義された判断基準に一致するメッセージを保管する能力が含まれる。このロガー機能には、保管されたメッセージを取り出し、システムの状況の表現を生成する能力も含まれる。
【００１７】
サービス機能の１つがノーティファイヤである。ノーティファイヤは、事前に定義された判断基準に一致するメッセージに指定されたアクションを用いて応答する。ノーティファイヤは、通信ネットワークを使用してシステムのオペレータに連絡することによって、エラー状態に応答することができる。ノーティファイヤは、通信チャネルの使用に関するユーザ要求を指定された時まで保管し、その指定された時にネットワーク内にその要求を転送することもできる。
【００１８】
もう１つのサービス機能が交換機コントローラである。交換機コントローラは、通信チャネルの使用に関する要求を受信し、その要求を通信ネットワーク内に転送する。交換機コントローラは、通信チャネルおよび通信ネットワークに関する状況情報を受信する。交換機コントローラは状況情報をリモート端末に転送する。また、交換機コントローラは、ユーザに関して使用可能な残りの信用を監視し、使用可能な信用が所定の量未満になった時に追加の信用を要求する。交換機コントローラは、使用可能な信用が０に達した時に、通信チャネルの使用を終了させることができる。
【００１９】
いくつかの実施態様では、このシステムが、ＣＤ−ＲＯＭまたはフロッピ・ディスケットなどのコンピュータ使用可能媒体上のコンピュータ・プログラム製品上で実施される。コンピュータ使用可能媒体は、コンピュータに通信セッションを制御させるコンピュータ可読プログラム・コードを有する。このコンピュータ・プログラムは人と通信するためのユーザからの要求を受信する命令を有する。このプログラムは、通信セッションを要求する、上記のシステムなどの通信サーバへのメッセージを作成する命令を有する。このプログラムは、通信セッションの状況を監視する命令と、通信セッションを制御する命令とを有する。
【００２０】
コンピュータ・プログラムはユーザの現在位置およびユーザのその位置での現在の電話番号を識別する命令を有する。このプログラムは、ユーザ・アカウント情報を識別する命令と、電話番号を要求するか呼び出される人の電話番号を判定する命令とを有する。
【００２１】
コンピュータ・プログラムには、ユーザの電話番号および連絡される人のそれぞれの電話番号をユーザのアカウント番号と共に含むメッセージを生成する命令が含まれる。コンピュータ・プログラムには、ネットワークを介して通信サーバにメッセージを送信する命令が含まれる。
【００２２】
コンピュータ・プログラムは、通信セッションの時間をメッセージに挿入し、それを通信サーバに通信する命令を有する。これは、指定された時刻に会議コールをセットアップするのに使用することができる。
【００２３】
コンピュータ・プログラムは通信サーバから状況メッセージを受信する命令を含む。状況メッセージでは、呼に対するすべての当事者のオンフック状況、オフフック状況、および呼出し中状況を示すことができる。コンピュータ・プログラムは、通信セッションに対する当事者の状況を反映するようにコンピュータ表示を更新することができる。一実施態様では、アイコンを使用して、各電話機の状況に対する、電話機の呼出し中、電話機のオフフック、および電話機のオンフックの応答を示す。
【００２４】
コンピュータ・プログラムには、人を通信セッションに追加する命令、人を通信セッションから除去する命令、当事者の会話能力を消音する命令、および通信セッション中に発呼者を保留状態にする命令が含まれる。コンピュータ・プログラムは通信セッションを終了しなければならないことを示す命令も含む。
【００２５】
通信セッションへの複数の参加者が、通信サーバを使用している時に、コンピュータ・プログラムは、データ・ネットワークを介する通信サーバの他のユーザへのメッセージングをサポートする。
【００２６】
コンピュータ・プログラムには、人を突き止める命令と、その人に関する状況情報を通信サーバに要求する命令が含まれる。状況情報では、その人の現在の電話番号と、その人が電話機のそばにいるか否かを示すことができる。
【００２７】
コンピュータ・プログラムには、使用されたサービスに関する請求情報を要求する命令が含まれる。
【００２８】
一実施態様では、公衆交換電話網を介する２人の人の間の匿名通信がサポートされる。この方法は、各人の電話番号を、お互いではなくコンピュータに供給することから開始される。その後、そのコンピュータは、公衆交換電話網内の会議コールで、第１の人および第２の人を呼び出す。２人の当事者は、電話番号を知らせずに通信することができる。一実施態様では、リンクがウェブ・ページに含まれて、そのウェブ・ページを見る誰かが、別の当事者と匿名で通信できるようにされる。もう１つの実施態様では、リンクがチャット・ルームに含まれて、そのチャット・ルームの２人の参加者が、匿名で会話できるようにされる。
【００２９】
一実施態様コンピュータ・ライブラリが、メッセージ定義の組およびサービス機能インターフェースを提供する。メッセージ定義には、アカウント・メッセージ定義、メンバ・メッセージ定義、および呼メッセージ定義が含まれる。サービス機能インターフェースには、サービス・マネージャ用のインターフェース請求マネージャ用のインターフェース、ノーティファイヤ用のインターフェース、ロガー用のインターフェース、および交換機コントローラ用のインターフェースが含まれる。インターフェースでは、サービス機能が実施しなければならないプログラム呼び出しが記述される。
【００３０】
（詳細な説明）
Ａ．システムの概要
図１は、通信商取引サーバを示すブロック図である。通信商取引サーバは、に使用することができる。
【００３１】
この段落では、図１の要素を列挙する。図１には、通信ネットワークの組１００、ユーザ１０２、ユーザ１０４、ユーザ１０６、および通信サーバ１１０が含まれる。通信ネットワークの組１００には、ポケットベル・ネットワーク１３２、ボイスオーバー・インターネットプロトコル（ＩＰ）ネットワーク１３４、電話ネットワーク１３６、データ・ネットワーク１３８、およびファクシミリ・ネットワーク１４０が含まれる。ユーザ１０２は、セル電話機１１２、オフィスの電話機１１４、家庭の電話機１１６、オフィスのファクシミリ機１１８、携帯情報端末（ＰＤＡ）１２０、およびオフィスのコンピュータ１２２を有する。ユーザ１０４は、コンピュータ１２４および家庭の電話機１２６を有する。ユーザ１０６は、家庭の電話機１２８およびファクシミリ機１３０を有する。
【００３２】
この段落では、図１の要素の間の相互接続を説明する。セル電話機１１２、家庭の電話機１１６、家庭の電話機１２６、および家庭の電話機１２８は、電話ネットワーク１３６と通信するように結合されている。オフィスの電話機１１４は、ボイスオーバーＩＰネットワーク１３４と通信するように結合されている。オフィスのファクシミリ機１１８およびファクシミリ機１３０は、ファックス・ネットワーク１４０と通信するように結合されている。ＰＤＡ１２０は、ポケットベル・ネットワーク１３２と通信するように結合されている。オフィスのコンピュータ１２２およびコンピュータ１２４は、データ・ネットワーク１３８と通信するように結合されている。ＰＤＡ１２０、オフィスのコンピュータ１２２、およびコンピュータ１２４は、通信サーバ１１０と通信するように結合されている。通信サーバ１１０は、通信ネットワークの組１００のネットワークのそれぞれと通信するように結合されている。
【００３３】
図１の要素のそれぞれをこれから説明する。通信ネットワークの組１００は、異なる通信ネットワークの集合である。一実施形態では、通信ネットワークの組に、電話ネットワーク１３６およびボイスオーバーＩＰネットワーク１３４が含まれる。電話ネットワーク１３６は、時々公衆交換電話網（ＰＳＴＮ）と称するが、番号計画に従って各局にアドレスを与える。北米では、Ｎｏｒｔｈ  Ａｍｅｒｉｃａｎ  Ｎｕｍｂｅｒｉｎｇ  Ｐｌａｎ（ＮＡＮＰ）が使用され、各電話回線が、３桁の市外番号とその後の７桁の番号の形の１０桁の電話番号を有する。番号は、個人ではなく電話回線に割り当てられる。その結果、単一の人が、複数の電話番号を有することができる。対照的に、ＩＰネットワークでは、ＩＰアドレスが使用され、この場合、ＩＰｖ４規格の下では、各アドレスが４バイトである。ＩＰアドレスはユーザではなく特定のステーションにリンクされている。したがって、単一の人が複数のＩＰアドレスを有することができる。したがって、電話ネットワーク１３６のユーザは、１０桁の番号を使用することによって互いに連絡することができ、ボイスオーバーＩＰネットワーク１３４のユーザは、ＩＰアドレスを使用することによって互いに連絡することができる。しかし、この２つのネットワークの一方だけのユーザは追加ブリッジがなければ互いに連絡することができない。
【００３４】
ファクシミリ・ネットワーク１４０は、通常は、電話ネットワーク１３６のサブセットとみられてきた。これは、ほとんどのファクシミリ機がＰＳＴＮを介して通信するからである。しかし、ファクシミリは、インターネットまたはデータ・ネットワーク１３８などのデータ・ネットワークを介して送信することができる。同様に、ファクシミリ機はボイスオーバーＩＰネットワーク１３４などのネットワーク上で動作することもできる。通常、ファクシミリ局はＮＡＮＰに従ってアドレスが与えられる。ファクシミリ・ネットワーク１４０はデータ・ネットワーク１３８とは別である。この２つの異なるネットワークの一方だけのユーザは追加ブリッジがなければ他方のユーザに連絡できないからである。たとえば、従来の電話だけを有するユーザは追加ブリッジがなければファクシミリ機にファクシミリを送信することができない。さらに、データ・ネットワーク１３８に結合されたファクシミリ機は電話ネットワーク１３６に結合されたファクシミリ機と通信することができないであろう。
【００３５】
ポケットベル・ネットワーク１３２は、通常は、ＮＡＮＰに従ってアドレスを与えられる。しかし、多くのポケットベルは、インターネットやデータ・ネットワーク１３８などのデータネットワークを介してアドレスすることもできる。ポケットベルは電話ネットワーク１３６のユーザが連絡することができるが、これは、ひとえに、ポケットベル会社が、電話呼を受け、デュアル・トーン・マルチフリーケンシ（ＤＴＭＦ）信号をデコードして、ポケットベル・ネットワークを介してポケットベルにメッセージを送信する特殊化されたブリッジング・ソフトウェアをインストールしているからである。
【００３６】
データ・ネットワーク１３８は、インターネット、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、または他のタイプのデータ・ネットワークなどのデータ・ネットワークである。データ・ネットワークは、電話ネットワーク１３６などの他のネットワークを介して動作することができる。データ・ネットワークは、通常は、音声通信用に設計されてはいない。しかし、ボイスオーバーＩＰなどのプロトコルによって、データ・ネットワーク１３８を介する音声通信が可能になる。データ・ネットワーク１３８のユーザに、追加ブリッジなしで電話ネットワーク１３６のユーザが音声によって通信することはできない。
【００３７】
通信サーバ１１０は、通信ネットワークの組１００内の異なるネットワークをブリッジするように働く。通信サーバ１１０は、ユーザが他の人に連絡できるようにする均一な機構も提供する。通信サーバ１１０は、ユーザによって使用される多数の通信サービスに関する統一された請求機構も提供する。
【００３８】
ユーザ１０２、ユーザ１０４、およびユーザ１０６は個人である。ユーザ１０２およびユーザ１０４は通信サーバ１１０のユーザである。ユーザ１０６は、通信サーバ１１０を使用しない個人である。ユーザ１０２ないし１０６は、図１に示されているように、複数の異なる連絡点および連絡機構を有する。たとえば、ユーザ１０２は、その人に連絡できる６つの異なる方法すなわち、セル電話機１１２、オフィスの電話機１１４、家庭の電話機１１６、オフィスのファクシミリ機１１８、ＰＤＡ１２０、およびオフィスのコンピュータ１２２を有する。
【００３９】
通信サーバ１１０の加入者ではないユーザ１０６がユーザ１０２に連絡することを望む時には、ユーザ１０６は複数のステップを実行しなければならない。ユーザ１０６は通信ネットワークを選択しなければならない。ユーザ１０６は、その通信ネットワーク内でのユーザ１０２のアドレスを見つけなければならず、ユーザ１０６はその通信ネットワーク内でのユーザ１０２のアドレスを通信装置に与えなければならない。ユーザ１０２が自宅とオフィスのどちらにいるかをユーザ１０６がはっきりとは知らない場合には、ユーザ１０６は、そのユーザに連絡するためにどの電話番号をダイヤルすべきかがわからないであろう。
【００４０】
対照的に、通信サーバ１１０は、ユーザ１０２とその連絡相手との間でより簡単に通信できるようにする。ユーザ１０２は通信サーバ１１０にアクセスして自分の現在の位置を識別する。その後、ユーザ１０２は、連絡する相手を識別するが、その人が通信サーバ１１０の加入者である必要はない。その後、通信サーバ１１０が、ユーザ１０２と他の１人または複数の人との間の通信チャネルを制御する。
【００４１】
通信サーバ１１０は、さまざまなサービス・ノードからなるものとすることができる。サービス・ノードは、それぞれがサービス機能を提供するためにさまざまなプログラムを実行することができる。単一のサービス・ノードが複数のサービス機能を提供することも可能である。サービス・ノードは、単一の位置に配置するか、異なる位置に分散してもよい。通常、通信ネットワーク機器に対する制御を提供するサービス・ノードは、そのネットワーク機器の近くに配置される。その結果、サービス・ノードを複数の位置に分散し、私設ネットワークによって接続することができる。
【００４２】
用語、通信サーバは、サービス・ノードおよびサービス機能のすべてを指すことができるが、交換機コントローラ・ノードおよび交換機コントローラ機能以外のサービス・ノードのすべてを含むサービス・ノードおよびサービス機能のサブセットを指すのに使用することもできる。この用語が使用されるのは、通信業者が、容量およびさまざまな位置での需要に基づいて複数の交換機グループをセット・アップすることができるからである（図３を参照されたい）。
【００４３】
Ｂ．発呼
図２は、本発明の一実施形態で、加入者と非加入者の間の通信チャネルをどのように制御できるかを示すブロック図である。図２では、通信サーバ１１０が異なる通信ネットワークの間のブリッジとしてどのように働くかと、通信サーバ１１０が通信チャネルをどのように選択し、制御するかも示されている。
【００４４】
この段落では、図２の要素を列挙する。図２には、ユーザ１０４、ユーザ１０６、通信サーバ１１０、電話ネットワーク１３６、データ・ネットワーク１３８、交換機コントローラ２１０、および電話交換機２１２が含まれる。通信サーバ１１０は、サービス・マネージャ２０２請求エンジン２０４、ロガー２０６、およびノーティファイヤ２０８からなる。
【００４５】
この段落では、図２の要素の間の相互接続を説明する。コンピュータ１２４はデータ・ネットワーク１３８と通信するように結合されている。データ・ネットワーク１３８は通信サーバ１１０と通信するように結合されている。通信サーバ１１０は交換機コントローラ２１０と通信するように結合されている。交換機コントローラ２１０は電話交換機２１２と通信するように結合されている。電話交換機２１２は電話ネットワーク１３６と通信するように結合されている。電話ネットワーク１３６は家庭の電話機１２６および家庭の電話機１２８と通信するように結合されている。
【００４６】
図２の各要素をこれから説明する。ユーザ１０４は、コンピュータ１２４を使用して、データ・ネットワーク１３８を介して通信サーバ１１０に接続する。コンピュータ１２４は通信サーバ１１０と通信するプログラムを実行することができ、また、通信サーバ１１０に、ウェブ・ブラウザ・プログラムを使用してワールド・ワイド・ウェブ（ＷＷＷ）を介して連絡することができる。ユーザ１０４は通信サーバ１１０に対して自分自身と自分の位置を識別した後に、通信サーバ１１０とのインターフェースを使用して個人に連絡することができる。ユーザ１０４は、リストまたは何らかの他の手段からユーザ１０６を選択することによって、ユーザ１０６に連絡することを望むことを知らせることができる。ユーザ１０６が複数の連絡位置を有し、通信サーバ１１０の加入者でない場合には、ユーザ１０４は連絡位置を選択するようにプロンプトされる。しかし、通信サーバ１１０の加入者であるユーザ１０２に連絡することをユーザ１０４が望む場合には、通信サーバ１１０がプロンプトなしにユーザ１０２の正しい連絡位置を判定することができる。というのは、ユーザ１０２が、最も最近に通信サーバに対して自分自身を識別した時に、通信サーバ１１０に対して自分の位置も識別しているからである。
【００４７】
連絡番号、この場合ではユーザ１０６の家庭の電話機１２８を選択した後に、コンピュータ１２４のクライアント・プログラムがデータ・ネットワーク１３８を介して通信サーバにメッセージを送信して呼を開始する。このメッセージは、暗号化することができる。通信サーバ１１０はサービス・マネージャ２０２内にメッセージを受信する。
【００４８】
サービス・マネージャ２０２は、メッセージに対するいくつかの基本的な検査および検証を実行し、その後、メッセージを請求エンジン２０４に送ることができる。請求エンジン２０４は要求を検証する。検証処理には、要求元のユーザのアカウントの検査と、呼の許可が含まれる。ユーザ１０４のアカウントに関連するクレジット・カードへの請求もその検証処理に含めることができる。請求エンジン２０４は、アカウント情報を検証した後に、メッセージをサービス・マネージャ２０２に送って、呼を開始する。請求エンジンから検証を受け取った時に、呼を開始するように交換機コントローラ２１０にサービス・マネージャ２０２が指示する。
【００４９】
交換機コントローラ２１０は電話交換機２１２を制御することができる。電話交換機２１２は、開始側の当事者この場合ではユーザ１０４と、受信側の当事者この場合ではユーザ１０６の両方を呼び出す。電話交換機２１２が当事者を呼び出す際に、交換機コントローラ２１０を介してコンピュータ１２４上のクライアント・プログラムにメッセージが送り返されて、呼への参加者の電話回線の呼出し中状況および呼状況が表示される。交換機コントローラ２１０からのメッセージに応答して、コンピュータ１２４の表示を更新して、各参加者の電話回線の呼出し中状況およびオン／オフフック状況を反映することができる。
【００５０】
呼全体を通じて、交換機コントローラ２１０がアカウントの残りの信用を監視する。より多くの信用が必要な場合には、呼の進行中に、ユーザ１０４のアカウントに関連するクレジット・カードに請求することができる。これは、交換機コントローラ２１０が、メッセージを請求エンジン２０４に送って、より多くの信用を要求することによって行われる。通信サーバ１１０は、各当事者が呼の自分のレッグについて支払う会議コールもサポートする。
【００５１】
コンピュータ１２４のクライアント・プログラムを用いて、ユーザ１０４が電話呼に他の当事者を追加することができる。このプログラムを用いて、ユーザ１０４は電話呼中に個々の当事者が話す能力を選択的に制限することもできる。このプログラムを用いて、ユーザ１０４は、電話呼中に個々の当事者が聞き、話す能力を選択的に制限することもできる。たとえば、ユーザ１０４が、第三者、たとえばユーザ１０２を追加しなければならないことをコンピュータ１２４で知らせる場合に、ユーザ１０４は、他の参加者の誰が話し、聞くことができるかをクライアント・プログラムを用いて制御することができる。
【００５２】
また、通信サーバ１１０は、コンピュータ１２４などのコンピュータのクライアント・プログラムが、通信サーバ１１０と通信するように結合されている他のユーザにメッセージを送れるようにする。通信サーバ１１０の他の加入者との会議コール中に、これによって、使用される音声チャネルおよび会議チャネルの他に、通信の第２のチャネルが提供される。
【００５３】
通信サーバ１１０およびコンピュータ１２４のクライアント・プログラムは、ユーザ１０４が自分の呼をルーティングする方法を決定する必要を軽減する。さらに、通信サーバ１１０は、さまざまな技術のブリッジングをサポートする。たとえば、電話交換機２１２をボイスオーバーＩＰルータに結合することができ、これによって、ボイスオーバーＩＰネットワーク１３４と通信するように結合されているユーザ１０２に属するオフィスの電話機１１４との通信が可能になる。ユーザ１０４は、連絡したい相手を示すだけでよく、通信サーバ１１０が、他の詳細を処理し、使用される通信サービスに関する単一の統一された請求書を供給する。
【００５４】
ロガー２０６は、ネットワーク内で伝送されるメッセージをログ記録し、これらを保管するように働く。ロガー２０６は、ネットワーク状況を監視し、ネットワーク動作を維持するのに有用なサポートを提供する。
【００５５】
ノーティファイヤ２０８は、メッセージに対するビジネス・ルール固有の応答を提供する。たとえば、ノーティファイヤ２０８が、ネットワーク内のエラー・メッセージをリスンするようにプログラムすることができる。ノーティファイヤ２０８は、通信サーバ１１０のオペレータによって提供されるビジネス・ルールを介してエラー・メッセージを処理し、適当な処置を講ずることができる。処置には、ネットワーク監督者のポケットベルの呼出し、電話による複数の職員メンバへの連絡、電子メール・メッセージの送信、故障した交換機などのシステムの部分のシャット・ダウン、または他の処置を含めることができる。
【００５６】
ノーティファイヤ２０８は、スケジューリングされた会議コール通知もサポートする。ユーザ１０４は、特定の時刻について会議コールをスケジューリングすることができ、ノーティファイヤ２０８が、スケジューリングされた時刻に会議参加者への処置をトリガすることができる。
【００５７】
Ｃ．通信サーバの詳細
図３は、通信商取引サーバの一実施形態ならびに複数の交換機コントローラのブロック図である。図３には、通信サーバのスケーラブルで分散された性質も示されている。
【００５８】
通信サーバ１１０は、単一のコンピュータで稼動する必要はなく、単一のサブネットワーク上または単一のネットワーク上で稼動する必要もない。一実施形態では、通信サーバ１１０の構成要素が、ＴＩＢ（登録商標）／Ｒｅｎｄｅｚｖｏｕｓ（商標）メッセージングを使用してインターネット・プロトコル（ＩＰ）ネットワークを介して通信するモジュールである。ＴＩＢ（登録商標）／Ｒｅｎｄｅｚｖｏｕｓ（商標）は、米国カリフォルニア州パロ・アルトのＴｉｂｃｏ，Ｉｎｃ．社によって供給される。メッセージは、ユーザ・データグラム・プロトコル（ＵＤＰ）、マルチキャスト・プロトコル、または伝送制御プロトコル（ＴＣＰ）によるものとすることができる。Ｒｅｎｄｅｚｖｏｕｓ（商標）ルーティング・デーモンによって、構成要素を異なるネットワークに分散できるようになり、構成要素が通信できるようにするための必要に応じたプロトコル変換が処理される。このメッセージング・アーキテクチャは、１９９０年１２月２１日出願の米国特許第５５５７７９８号明細書、表題「Ａｐｐａｒａｔｕｓ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｐｒｏｖｉｄｉｎｇ  Ｄｅｃｏｕｐｌｉｎｇ  ｏｆ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ  Ｄｅｔａｉｌｓ  ｆｏｒ  Ｐｒｏｖｉｄｉｎｇ  Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｂｅｔｗｅｅｎ  Ｓｏｆｔｗａｒｅ  Ｐｒｏｃｅｓｓｅｓ」、出願人Ｍａｒｉｏｎ  Ｄ．Ｓｋｅｅｎ他に開示されている。
【００５９】
通信サーバ１１０の構成要素は、それぞれが、互いに通信するように結合されているコンピュータ・プログラム、アプリケーション、アプレット、または他のタイプのプログラムである。これらは、複数のプロセッサを有する単一のコンピュータ、または異なる物理的位置にある複数のコンピュータに配置することができる。一実施形態では、通信サーバ１１０の構成要素が、通信するように結合された複数のＩＰサブネットワークを有する単一の物理的施設内の複数のコンピュータに配置される。この構成によって、フォールト・トレランス、冗長性、および負荷平衡がサポートされる。
【００６０】
一実施形態では、負荷平衡、フォールト・トレランス、および冗長性も、ＴＩＢ（登録商標）／Ｒｅｎｄｅｚｖｏｕｓ（商標）システムによって供給される分散キュー・アーキテクチャを使用することによってサポートされる。たとえば、通信サーバ１１０が、４つのサービス・マネージャ２０２Ａないし２０２Ｄを有することができる。各サービス・マネージャは、単一の分散キューすなわち、分散サービス・マネージャ・キュー３００に属する。同様に、４つの請求エンジン２０４Ａないし２０４Ｄを設けることができる。各請求エンジンは、単一の分散キューすなわち、分散請求エンジン・キュー３０２に属する。通信サーバ１１０はより少数のロガーを有することができる。この例では、２つのロガーすなわち、ロガー２０６Ａおよび２０６Ｂだけが供給される。各ロガーは、単一の分散キューすなわち、分散ロガー・キュー３０４に属する。
【００６１】
分散キュー・アーキテクチャは極端に柔軟である。たとえば、通信サーバ１１０は、現在動作中のノーティファイヤを１つだけ、すなわちノーティファイヤ２０８Ａだけを有する。それにもかかわらず、このノーティファイヤは分散ノーティファイヤ・キュー３０６に属する。これによって、必要に応じてより多くのコンピュータ・リソースを集中することが可能になる。追加のノーティファイヤが必要な場合には、別のノーティファイヤ・プログラムを実行するか、新しいコンピュータを追加するか、新しいネットワーク・サイトをオン・ラインにするなどを行うことができ、分散キュー・アーキテクチャによって、複数のノーティファイヤの間の負荷平衡が可能になる。一実施形態では、各サービスのうちの少なくとも１つが、通信サーバ１１０の物理サイトにある２つのＩＰサブネットワークのそれぞれで稼動している。これによって、通信サーバ１１０が機能を継続できるようにしながら、ＩＰサブネットワークの障害が許容される。
【００６２】
分散キューによって、分散交換機コントローラ・キュー３０８によって示されるように、リモートに配置された装置を結合することもできる。この例では、２つの通信業者交換機グループ３３０Ａおよび３３０Ｂがある。通信業者交換機グループ３３０Ａがニューヨークにあり、通信業者交換機グループ３３０Ｂがロサンゼルスにあるようにすることができる。分散交換機コントローラ・キュー３０８を、通信サーバ１１０の他の構成要素と一緒に、サンフランシスコに配置することもできる。
【００６３】
各通信業者交換機グループは、複数の交換機コントローラ２１０Ａないし２１０Ｆと、複数の電話交換機２１２Ａないし２１２Ｄを有する。通信業者交換機グループを構成する固定された数の交換機コントローラまたは電話交換機はない。各通信業者交換機グループは、その通信業者交換機グループに必要な交換容量に基づいて、任意の数のリソースを有することができる。ユーザが、単一の通信業者について購入された時間だけを有する場合には請求エンジン２０４Ａないし２０４Ｄおよび分散交換機コントローラ・キュー３０８が、そのユーザが特権を有する通信業者のネットワークを介する呼だけが行われることを保証する。
【００６４】
交換機コントローラ２１０Ａないし２１０Ｆは、Ｓｕｎ（商標）Ｓｐａｒｃｓｔａｔｉｏｎ（商標）などのＵＮＩＸ（登録商標）ワークステーションまたはＷｉｎｄｏｗｓ（登録商標）ＮＴワークステーション上で稼動しているものとすることができる。米国マサチューセッツ州ボクスバラのＭａｒａｔｈｏｎ  Ｔｅｃｈｎｏｌｏｇｉｅｓ社のＭａｒａｔｈｏｎ  Ｅｎｄｕｒａｎｃｅ（登録商標）などの製品を使用して、Ｗｉｎｄｏｗｓ（登録商標）ＮＴの下で追加のフォールト・トレランスを実現することができる。Ｍａｒａｔｈｏｎ  Ｅｎｄｕｒａｎｃｅ（登録商標）を用いると、マルチプロセッサ・ワークステーションが、プロセッサ障害継続機能を有することができるようになる。
【００６５】
分散キューによって、複数のオペレータ定義の判断基準に基づくスケジューリングが可能になる。分散サービス・マネージャ・キュー３００では、主に、現在の呼負荷に基づくラウンド・ロビン・スケジューリングが使用される。サービス・マネージャ２０２Ａないし２０２Ｄのそれぞれが容量を有する。サービス・マネージャ２０２Ａないし２０２Ｃが１０００の容量を有し、サービス・マネージャ２０２Ｄが２０００の容量を有するようにしてもよい。分散サービス・マネージャ・キューは、呼要求をサービス・マネージャに割り当る時に、最も高い残り容量を有するサービス・マネージャにその要求を割り当てる。したがって、最初の１０００個の呼は、すべてのサービス・マネージャの負荷が１０００になるまで、サービス・マネージャ２０２Ｄに割り当てられる。呼がサービス・マネージャに割り当てられるたびに容量が１つ減る。呼が完了した時に、サービス・マネージャの容量が１つ増える。これによって、サービス・マネージャの間での呼負荷の比較的均等な分配が保証され、新しいサービス・マネージャがオン・ラインにされる時に、負荷がすばやく均等化されることも保証される。
【００６６】
分散請求エンジン・キュー３０２は、類似する形で動作する。しかし、分散請求エンジン・キュー３０２は、選択されたメッセージが各請求エンジンによって個別に受信されることも保証する。これによって請求情報がすべての請求エンジンにあるので、冗長性がサポートされる。分散ロガー・キュー３０４および分散ノーティファイヤ・キュー３０６は請求エンジン・キューと同一の形で動作する。
【００６７】
分散交換機コントローラ・キューでは、交換機を簡単に割り振れるようにし、新技術の簡単な配置も可能にするスケジューリング・アルゴリズムが実装される。負荷平衡を可能にするスケジューリング・アルゴリズムが分散交換機コントローラ・キュー３０８のために開発された。各交換機に、重みと容量が割り当てられる。重みは電話交換機の一般的な信頼性に対応する。たとえば、新しいボイスオーバーＩＰ電話交換機は、２５０の重みを割り当てられ、１０００チャネルの容量を有する。Ｓｕｍｍａ（商標）４交換機は、１０００の重みを与えられ、４０００チャネルの容量を有することができる。
【００６８】
Ｄ．電話交換機の詳細
図４は、電話交換機のブロック図である。図４には、通信サーバ１１０が、電話ネットワーク１３６および他のネットワークとどのように通信できるかが示されている。
【００６９】
通信サーバ１１０は、交換機コントローラ２１０と通信するように結合され、この交換機コントローラ２１０は、電話交換機２１２と通信するように結合されている。電話交換機２１２には、会議コール・リソース４０２、音声リソース４０４、リソース・カード４０６、プライマリ・レート・インターフェース（ＰＲＩ）４０８、およびＰＲＩ４１０が含まれる。ＰＲＩ４０８は、ボイスオーバーＩＰルータ４１２に結合され、ボイスオーバーＩＰルータ４１２は、ボイスオーバーＩＰネットワーク１３４と通信するように結合されている。ＰＲＩ４１０は、クラス４スイッチ４１４に結合され、クラス４スイッチ４１４は電話ネットワーク１３６と通信するように結合されている。
【００７０】
電話交換機２１２は、Ｓｕｍｍａ（商標）４、クラス５スイッチ、または他のタイプの電話交換機などのプログラマブル電話交換機とすることができる。電話交換機２１２は、交換機要求に応答し、これらの要求に対して交換機応答を提供する。交換機コントローラ２１０は、通信サーバ１１０からの通信サービス要求を電話交換機２１２用の交換機要求に変換するように働く。また、交換機コントローラ２１０は、電話交換機２１２からの交換機応答を通信サーバ１１０用の通信サービス応答に変換する。交換機コントローラ２１０は装置固有の制御の知識を有する。新しいタイプの電話交換機が配置される場合には、交換機コントローラ２１０だけが追加のプログラミングを必要とする。
【００７１】
電話交換機２１２は、会議コール・リソース４０２を介する会議コールを提供するのに必要なものを備えている。音声リソース４０４によって、電話交換機２１２がオーディオ・プロンプトを生成できるようになる。オーディオ・プロンプトは、「Ｅｘｔｅｎｓｉｏｎ  Ｆｏｕｒ−Ｏｎｅ−Ｔｈｒｅｅ  ｐｌｅａｓｅ（内線４１３をお願いします）」または他の話されたテキストなどのアナウンスとすることができる。オーディオ・プロンプトによって、電話交換機２１２は人間によって操作される交換台を有する非呼者への呼出しを完了することができる。音声リソース４０４は、会議コール中に信用が不足した場合などにプロンプトを生成するのにも使用することができ、呼が指定された時刻に終了することを示すメッセージを再生することができる。電話交換機２１２はＤＴＭＦ信号の生成およびデコードも行うことができる。これによって、電話交換機２１２はＤＴＭＦによって連絡可能な内線を有する非呼者への呼出しを完了することができる。これを、ポケットベル・ネットワーク１３２を介してポケットベルに連絡するのに使用することもできる。ファクシミリ・リソースを電話交換機２１２に追加して、ファクシミリ送信をサポートすることができる。リソース・カード４０６は、使用可能なリソースを追跡し、監視するために、電話交換機２１２によって使用される。リソース・カード４０６は、Ｓｕｍｍａ（商標）４交換機によって使用されるが、他の電話交換機によって使用されない場合がある。
【００７２】
ＰＲＩ４０８および４１０は電話回線を供給する。各ＰＲＩが１５本のアナログ電話回線をサポートする。代替として、他のリソースを使用して電話回線をサポートすることができる。必要と容量に応じて、電話交換機２１２が、より多くのＰＲＩ、会議コール・リソース４０２、および他のリソースを有することができる。ＰＲＩ４１０は、ｐｌａｉｎ  ｏｌｄ  ｔｅｌｅｐｈｏｎｅ  ｓｅｒｖｉｃｅ（ＰＯＴＳ）を処理する。Ｎｏｒｔｅｌ  ＤＭＳ  ２５０またはＡＴ＆Ｔ  ５ＥＳＳなどのクラス４スイッチを使用して、ＰＲＩ４１０からの呼を電話ネットワーク１３６に搬送する。代替構成が可能であり、プログラム可能な電話交換機であればどれでも使用することができる。または、ある点で、電話ネットワーク１３６が修正されて、クラス５スイッチが電話ネットワーク１３６への呼を直接に搬送できるようになった場合に、Ｓｕｍｍａ（商標）４がＰＲＩ４１０からの呼を電話ネットワーク１３６に直接に伝えることができる。ＰＲＩ４０８は、ボイスオーバーＩＰルータ４１２に結合される。ボイスオーバーＩＰルータ４１２によって、電話交換機２１２が、ボイスオーバーＩＰネットワーク１３４と通信することが可能になる。
【００７３】
Ｅ．詳細な呼セットアップ・フロー
図５Ａおよび図５Ｂは、本発明の一実施形態での電話呼をセット・アップする方法を示す流れ図である。図５Ａおよび図５Ｂには、通信サーバ１１０の柔軟な性質が示されている。
【００７４】
１．主題ベースのメッセージング
図５Ａおよび図５Ｂの処理を理解するためには、本発明の一実施形態で通信サーバ１１０の構成要素によって使用される主題ベースのメッセージングを理解することが助けになる。主題ベースのメッセージングは、本発明で使用することができるメッセージング技法の１つであるが、他のメッセージング・システムまたは他の通信アーキテクチャを使用することができる。ＴＩＢ（登録商標）／Ｒｅｎｄｅｚｖｏｕｓ（商標）メッセージング・システムが、公開／申込メッセージングおよび要求／応答メッセージングを提供する。
【００７５】
公開／申込メッセージングを用いると、単一のメッセージを、単一の時に１つの主題名について公開できるようになる。特定の主題名に関心を持つ構成要素はその主題名を申し込む。ＴＩＢ（登録商標）／Ｒｅｎｄｅｚｖｏｕｓ（商標）ソフトウェアは、主題名に基づくメッセージの信頼性のあるルーティングを効率的に処理する。証明されたメッセージ配信もサポートされる。
【００７６】
要求／応答メッセージングはデマンド・ドリブンである。通常、これは、サーバに個別の応答を要求するためにクライアントによって使用される。たとえば、サービス・マネージャが、アカウントの有効性に関して請求エンジンに応答を要求することができる。やはり、ＴＩＢ（登録商標）／Ｒｅｎｄｅｚｖｏｕｓ（商標）ソフトウェアが、主題名に基づくメッセージのルーティングを処理する。
【００７７】
ＴＩＢ（登録商標）システムの主題名は複数の構成要素からなる。完全な主題は、主題名の各構成要素の間にピリオドを置くことによって書かれる。したがって、メッセージ「ＴＳ．ＣＭ．ＳＴＡＲＴＣＡＬＬ」は、３つの構成要素からなる単一の主題名である。構成要素が重要になるのは、ＴＩＢ（登録商標）システムを使用するソフトウェア・モジュールがワイルドカード主題名を申し込むことができるからである。たとえば、ロガーが「ＴＳ．＞」を申し込むことができ、ここで、「＞」ワイルドカード・オペレータは、主題名にリテラル構成要素と少なくとも１つの追加の主題名構成要素が含まれる場合に一致する。これに一致するメッセージには、「ＴＳ．ＣＭ．ＳＴＡＲＴＣＡＬＬ」、「ＴＳ．ＳＭ．ＶＡＬＩＤＡＴＥ」、「ＴＳ．｛ｔｒａｎｓＩＤ｝．ＥＲＲＯＲ」などが含まれる。
【００７８】
主題名を記述する際に、時々、主題名構成要素が、たとえば「ＴＳ．｛ｔｒａｎｓＩＤ｝．ＥＲＲＯＲ」の｛ｔｒａｎｓＩＤ｝のように、大括弧によって囲まれて記述される。この規約は、メッセージの主題名が、識別子の現在値を書き込まれることを示すのに使用され、たとえばトランザクション識別子が９４５の場合には、この主題名は、「ＴＳ．９４５．ＥＲＲＯＲ」になる。
【００７９】
２．メッセージ
主題ベースのアドレッシングが、通信サーバの構成要素の間でメッセージを伝送する機構を提供する。通信サーバによって使用される複数の共通のメッセージ・タイプがある。
【００８０】
通信サーバによって使用されるメッセージは、すべて、サービス・メッセージに関するメッセージの単一の基本クラスに依存しない。サービス・メッセージ・クラスは、さらに、電話呼、ファクシミリ、ポケットベル、および他のサービスのサブクラスに分割される。サブクラスはネットワーク固有の機能性に関するメソッドおよびインスタンス変数を提供する。電話呼のメッセージをここで詳細に検討する。
【００８１】
ａ．呼メッセージ
呼メッセージは呼セット・アップに関する情報を提供するのに使用される。呼メッセージはメンバ・メッセージの集合と共に、呼固有の情報の集合からなる。呼メッセージは会議コールのレッグごとに１つのメンバ・メッセージを有する。呼メッセージには、会議コール名、会議コールパスワード、開始時刻、終了時刻、トランザクション識別子、交換機識別子、ログイン識別子、呼を開始する時刻、および他のフィールドを含めることができる。これらのフィールドは、すべてが同時に書き込まれるのではない。呼処理の説明全体を通じて、フィールドの使用法を説明する。
【００８２】
ｂ．メンバ・メッセージ
メンバ・メッセージは連絡される人に関する情報を提供するのに使用される。メンバ・メッセージは、通常は、呼メッセージを用いてカプセル化されるが、それだけでも送信される。呼メッセージの場合には、各レッグがレッグ識別子またはｌｅｇＩＤを有し、ｌｅｇＩＤ  ０が、呼を制御することができ、通常は呼のすべてのレッグについて請求される呼発信元である。
【００８３】
メンバ・メッセージには呼び出される人に連絡するための連絡先情報が含まれる。このメッセージには、名前、番号、内線、内線に到達する方法に関する情報、状況メッセージ、レッグ識別子、アカウント・メッセージ、異なる電話番号および連絡点の情報、レッグの開始時刻および終了時刻、および他のフィールドを含めることができる。これらのフィールドはすべてが同時に書き込まれるのではない。呼処理の説明全体を通じて、フィールドの使用法を説明する。
【００８４】
ｃ．アカウント・メッセージ
アカウント・メッセージは、アカウント情報および許可を提供するのに使用される。アカウント・メッセージには、通常は、アカウント番号、パスワード、使用可能な信用の現在の量、および他のフィールドが含まれる。パスワードは、暗号化することができる。このメッセージはアカウントを検証した時を示すフィールドも有する。これらのフィールドはすべてが同時に書き込まれるのではない。呼処理の説明全体を通じて、フィールドの使用法を説明する。
【００８５】
３．呼セットアップ・フェーズ
ステップ５００で、処理が開始される。処理は、並列に図示されているが、ステップが並列に実行される必要はない。
【００８６】
ステップ５０２で、サービス・マネージャが「ＴＳ．ＣＭ．ＳＴＡＲＴＣＡＬＬ」を申し込む。サービス・マネージャはサービス・マネージャ２０２とすることができる。これは、クライアントが呼の開始を要求するのに使用する主題名である。複数のサービス・マネージャがある場合には、それらは、メッセージを受信し、メッセージを処理するためにサービス・マネージャのうちの１つを割り当てる分散キューに属する。
【００８７】
ステップ５０４で、交換機コントローラが、「ＴＳ．ＳＭ．ＳＴＡＲＴＣＡＬＬ」を申し込む。交換機コントローラは交換機コントローラ２１０とすることができる。交換機コントローラ２１０は、「ＴＳ．ＳＭ．ＳＴＡＲＴＣＡＬＬ」で公開されたメッセージが、サービス・マネージャから来ることを検証するようにプログラムされる。これによって、クライアントが請求システムを迂回できないことが保証される。
【００８８】
ステップ５０６で請求エンジンが「ＴＳ．ＳＭ．ＶＡＬＩＤＡＴＥ」を申し込む。請求エンジンは請求エンジン２０４とすることができる。
【００８９】
次に、ステップ５０８で、クライアントが、主題「ＴＳ．ＣＭ．ＳＴＡＲＴＣＡＬＬ」に関するメッセージを公開する。これは、電話呼の開始に使用される主題名である。クライアントは、通信サーバ１１０へのＷＷＷインターフェースを使用するか、通信サーバ１１０と通信するように設計されたプログラムを使用することができる。メッセージの内容は伝送のために暗号化することができる。公開されるメッセージは、呼メッセージ・フィールドと、呼発信元を含む参加者ごとに１つのメンバ・メッセージとからなる呼メッセージである。発信元のメンバ・メッセージにアカウント・メッセージが含まれる。当初は、クライアント・プログラムが、所望される場合に会議の名前、および所望される場合に会議のパスワードを書き込む。これらのフィールドのどちらもが、必須ではない。しかし、これらによって、非加入者が会議コールの名前によってＷＷＷを介して会議名を介して会議に参加することが可能になる。呼メッセージに、呼の現在のメンバの数をリストしたフィールドがある。そのフィールドは、何個のメンバ・メッセージが呼メッセージの一部であるかに関する情報を提供する。メンバ・メッセージは、呼び出される人の名前を書き込まれるか、それが発信元の場合には発信元の名前を書き込まれ、その後、その人が現在使用している電話番号と、必要な場合には内線番号およびその位置での内線タイプを書き込まれる。発信元のメンバ・メッセージには、ユーザのＩＤおよびパスワードを書き込まれたアカウント・メッセージが含まれる。後に、そのアカウント・メッセージが請求エンジンによって検証され、使用可能な信用が書き込まれる。
【００９０】
次に、ステップ５１０で、クライアントが「ＴＳ．ＳＭ．ＳＴＡＲＴＣＡＬＬ」を申し込む。
【００９１】
ステップ５１２で、サービス・マネージャが、分散キューを介して、ステップ５０８でクライアントによって主題「ＴＳ．ＣＭ．ＳＴＡＲＴＣＡＬＬ」について公開されたメッセージを処理するために割り当てられる。メッセージが、公衆インターネット上で暗号化された場合にはメッセージを暗号化解除する。サービス・マネージャはメッセージ内容に対する予備検査を実行することができる。その後、サービス・マネージャは、トランザクション識別子またはｔｒａｎｓＩＤを呼に割り当て、主題「ＴＳ．ＳＭ．ＶＡＬＩＤＡＴＥ」に関する要求／応答メッセージングを使用して、アカウント情報を請求エンジンに検証させる。呼メッセージのメンバ・メッセージのすべてに含まれる各アカウント・メッセージが検証される。この検証には、使用可能な信用の量を提供することと、クライアント・プログラムによって供給されたアカウント番号およびパスワードに基づくアカウントの検証が含まれる。
【００９２】
次に、ステップ５１４で請求エンジンが、分散キューを介して、ステップ５１２のサービス・マネージャによる要求を処理するために割り当てられる。請求エンジンは請求エンジン２０４とすることができる。請求エンジンは、アカウント情報を検証し、サービス・マネージャに応答する責任を負う。請求エンジンは複数の形で動作することができる。たとえば、カスタム・アカウンティング・データベースをＰｏｒｔａｌなどの業界標準製品と同様に使用することができる。異なる請求エンジンが、永久的にまたは請求システム間のトランザクション中のいずれかに、異なるシステムに対して動作することができる。
【００９３】
次に、ステップ５１６で、アカウントが検証された後に請求エンジンが「ＴＳ．ＳＣ．｛ｔｒａｎｓＩＤ｝．＞」を申し込む。これによって請求エンジンが、回線がつながった時などの呼に関する交換機コントローラからの公開された情報をリスンすることができる。これらのメッセージは呼に関してユーザに請求するのに使用される。
【００９４】
ステップ５１８で、サービス・マネージャが、「ＴＳ．ＳＭ．ＶＡＬＩＤＡＴＥ」要求に対する応答を受信し、エラーがない場合に、主題名「ＴＳ．ＳＭ．ＳＴＡＲＴＣＡＬＬ」に対して公開する。この時点で、呼メッセージが請求エンジンからのアカウント検証情報を増補されている。さらに、サービス・マネージャは、すでに、交換機ＩＤ、トランザクションＩＤ、およびサービス・マネージャが必要とする他のフィールドを供給されている。
【００９５】
分散キューを介する交換機コントローラと、クライアントの両方が、「ＴＳ．ＳＭ．ＳＴＡＲＴＣＡＬＬ」主題をリスンしている。ステップ５２０で、クライアントが、主題「ＴＳ．ＳＭ．ＳＴＡＲＴＣＡＬＬ」に関する、呼が交換機によって開始されることを示すメッセージを受信し、これに応答して、制御がステップ５２２に移り、クライアントが、主題「ＴＳ．ＳＣ．｛ｔｒａｎｓＩＤ｝．＞」に関する呼に関する交換機コントローラからのメッセージを申し込む。この主題は、呼状況に関するメッセージを公開するために、交換機コントローラによって使用される。
【００９６】
ステップ５２４で、交換機コントローラが、主題「ＴＳ．ＳＭ．ＳＴＡＲＴＣＡＬＬ」に関する、呼を開始しなければならないことを示すメッセージを受信し、それに応答して、制御がステップ５２６に移り、交換機コントローラが、主題「ＴＳ．ＣＭ．｛ｔｒａｎｓＩＤ｝．＞」に関する呼に関するクライアントからのメッセージを申し込む。これらの主題は、呼を制御するためのメッセージを公開するために、クライアント・プログラムによって使用される。たとえば、この主題に関するメッセージを使用して、会議コールへのレッグの追加、会議コールからのレッグの除去、新しい参加者の追加、参加者をリスン・オンリーにする、および会議コールの終了を行うことができる。
【００９７】
制御は、ステップ５２８に移り、呼セットアップ・フェーズが完了し、呼自体が行われる。
【００９８】
４．呼処理フェーズ
ステップ５３０で、交換機コントローラが、すでに呼を開始するために電話交換機に信号を送っており、呼が接続されたか否かが検査される。制御はステップ５３２に進み、交換機コントローラが、主題「ＴＳ．ＳＣ．｛ｔｒａｎｓＩＤ｝．ｓｔａｔｕｓＣｈａｎｇｅｄ」に関するメッセージを公開して、呼の進行を示す。その主題に関して公開されるメッセージは、呼出し中、オフ・フック、および話中が含まれる。元の呼メッセージで、複数の参加者が要求される時には、制御は、すべての参加者が接続されるまで、ステップ５３０ないし５３４のループを進む。しかし、最初の参加者が接続された後に、参加者は、ステップ５３６で、発信元と話し始めることができる。
【００９９】
ステップ５３４で、トランザクション識別子に関する交換機コントローラ・メッセージのすべてに申し込んだクライアントが、主題「ＴＳ．ＳＣ．｛ｔｒａｎｓＩＤ｝．ｓｔａｔｕｓＣｈａｎｇｅｄ」に関するメッセージを受信し、クライアント表示を適宜更新する。制御は、呼が接続されるか、エラーに起因して呼を接続できなくなるまでステップ５３０で進行する。
【０１００】
呼が接続された後に、制御は、ステップ５３０からステップ５３６に進む。このステップでは、クライアントのユーザが自分の会話を行うことができる。請求エンジンが、交換機コントローラに関して、ある量の時間または金額についてユーザを許可しているので、クライアントは、交換機コントローラと直接に通信することができる。ユーザは、主題「ＴＳ．ＣＭ．｛ｔｒａｎｓＩＤ｝．ＡＤＤＬＥＧ」、「ＴＳ．ＣＭ．｛ｔｒａｎｓＩＤ｝．ＤＲＯＰＬＥＧ」、「ＴＳ．ＣＭ．｛ｔｒａｎｓＩＤ｝．ＭＵＴＥ」、「ＴＳ．ＣＭ．｛ｔｒａｎｓＩＤ｝．ＬＩＳＴＥＮＯＮＬＹ」、および「ＴＳ．ＣＭ．｛ｔｒａｎｓＩＤ｝．ＥＮＤＣＡＬＬ」に関する交換機コントローラとの通信を介して、会議コールを制御することができる。ａｄｄ  ｌｅｇおよびｄｒｏｐ  ｌｅｇ主題は、それぞれ会議コールにレッグを追加するか、会議コールからレッグを除去するのに使用される。ｍｕｔｅ主題は、消音されている間にある人が聞くことも話すこともできなくするのに使用される。ｌｉｓｔｅｎ  ｏｎｌｙ主題によって、ある人が、ｌｉｓｔｅｎ  ｏｎｌｙに設定されている間に、聞くことだけができ、話すことができなくなる。ｅｎｄ  ｃａｌｌメッセージは、クライアントによって呼の完全な終了を知らせるのに使用される。会議コールを処理する交換機コントローラは、主題「ＴＳ．ＣＭ．｛ｔｒａｎｓＩＤ｝．＞」を申し込んでいるので、これらのメッセージを受信する。
【０１０１】
呼が終了される時に、制御がステップ５３８に進み、交換機コントローラが、サービス詳細レコードを生成し、主題「ＴＳ．ＳＣ．｛ｔｒａｎｓＩＤ｝．ＳＤＲ」に関してそれを公開する。サービス詳細レコードには、呼の各レッグの開始時刻および終了時刻が、必要な請求情報と共に含まれる。各レッグの開始時刻および終了時刻は、交換機コントローラに供給されるメンバ・メッセージに書き込まれる。
【０１０２】
ステップ５４０で、ステップ５１６でその主題を申し込んだので請求エンジンがサービス詳細レコードを受信する。請求エンジンは、レッグの詳細を請求データベースに入力し請求情報は、即座に、クライアントによって照会可能になる。クライアントは、必ず、最新の呼およびすべての会議レッグおよびコストを含む最新の請求情報を見ることができる。いくつかの実施形態では、進行中の呼の詳細も入手可能である。
【０１０３】
Ｆ．ユーザ・インターフェースの表示
図６は、通信サーバを制御するユーザ・インターフェースのブロック図である。このユーザ・インターフェースは通信サーバ１１０を制御するのに使用することができる。
【０１０４】
この段落では図６の要素を列挙する。図６はウィンドウ６００を含む。ウィンドウ６００は、コントロール・ボタンおよびメニュー・ペイン６０２、アクション・ペイン６０４、状況ペイン６０６、位置選択ペイン６０８、ｃｏｎｔａｃｔｓ（連絡）ボタン６０９、ｇｒｏｕｐｓ（グループ）ボタン６１０、ｍｅｓｓａｇｅｓ（メッセージ）ボタン６１２、ａｃｃｏｕｎｔ（アカウント）ボタン６１４、状況表示６１６、および状況表示６１８を含む。状況表示６１６は状況インジケータ６２０および参加者の説明６２２を含む。状況表示６１８は状況インジケータ６２４および参加者の説明６２６を含む。
【０１０５】
図６の要素のそれぞれをこれから説明する。ユーザ・インターフェース・ウィンドウ６００には、通信サーバを制御するためのボタン、コントロール、およびペインが表示される。ペインは、複数のレイアウトで配置することができ、ＨＴＭＬ文書のフレームまたはテーブル項目とするか、コンピュータ・プログラムのウィンドウ内のペインとすることができる。
【０１０６】
コントロール・ボタンおよびメニュー・ペイン６０２には、さまざまな動作のためのメニューおよびコントロール・ボタンが含まれる。ボタンおよびメニューは、アクション・ペイン６０４での選択、状況ペイン６０６での選択、ネットワークの状況、および会議コールの状況に依存する文脈依存とすることができる。コントロール・ボタンおよびメニュー・ペイン６０２には、会議コールへの参加者の追加および除去、会議コールへの参加者の消音、会議コール参加者のリスン・オンリーへの設定、および会議コールの終了のためのボタンが含まれる。メニューには、ユーザ・プリファレンスを構成し、さまざまなソースから連絡先をインポートするオプションが含まれる。たとえば、連絡先は、Ｍｉｃｒｏｓｏｆｔ社のＯｕｔｌｏｏｋ（商標）、ＡＣＴ（商標）、Ｓｃｈｅｄｕｌｅ  Ｐｌｕｓおよび他の個人情報マネージャなどのプログラムからインポートすることができる。インポートされた連絡先情報は、クライアント・プログラムによって使用可能なフォーマットで保管される。この情報は、クライアント・コンピュータ、ＷＷＷサーバ、または他のコンピュータまたはサーバに保管することができる。連絡先の最新のリストには、ｃｏｎｔａｃｔｓボタン６０９で信号を送ることによってアクセスすることができる。さらに、コントロール・ボタンおよびメニュー・ペイン６０２には、連絡先をクライアント・プログラムの連絡先リストに追加または削除できるようにするコントロール・ボタンがある。他の特徴には、連絡先リストを連絡先マネージャと同期化する能力が含まれる。
【０１０７】
位置選択ペイン６０８に、ユーザの現在位置が表示され、位置選択ペイン６０８を用いて、ユーザが自分の現在位置を示すことができる。たとえば、位置選択ペイン６０８によって、「Ｏｆｆｉｃｅ（オフィス）」を示すことができる。通信サーバ１１０は、ユーザが自分のオフィスにいることを知り、その位置のユーザの電話番号を知る。ユーザは、位置選択ペイン６０８で信号を送り、自分の位置を「Ｈｏｍｅ（家庭）」に変更すると、位置選択ペイン６０８に、ユーザが自宅にいることが示される。ユーザの位置が変更される時に、クライアントは通信サーバ１１０にメッセージを送信して、ユーザの位置を更新する。通信サーバ１１０の他のユーザが、そのユーザに連絡することを望む時に、この位置情報を通信サーバ１１０によって使用して、他のユーザが、そのユーザの現在の電話番号を選択する必要なしにそのユーザに連絡できるようにすることができる。
【０１０８】
状況ペイン６０６には、呼進行状況情報が表示され、ユーザ用の１つの状況表示である状況表示６１６と、電話呼の参加者ごとに１つの状況表示がある。さらに、状況ペイン６０６をユーザがカスタマイズして、通信サーバ１１０の他のユーザの状況を示すことができる。この例では、会議コールの参加者の状況が状況表示６１８に示されている。
【０１０９】
各状況表示は、状況インジケータと、状況を表示されている人の名前および電話番号を有する。この例では、状況インジケータ６２０に、位置選択ペイン６０８から選択された現在位置にいる通信サーバ１１０のユーザの電話または他の通信装置の状況が示される。状況インジケータは、通信装置のタイプに基づいて、アイコンまたはアイコンの集合とすることができる。一実施形態では、これらが、オン・フックの電話機のアイコン、呼出し中の電話機のアイコン、話中の電話機のアイコン、およびオフ・フックの電話機のアイコンである。参加者の説明６２２には、ユーザの名前と、その人の現在位置での電話番号がリストされる。状況に応じて、他の情報を表示することができる。たとえば、クライアント・プログラムが、参加者の名前のとなりに会議コールの時間の量または状況表示に関係する他の情報を示すオプションを有することができる。状況インジケータ６２４には、参加者の電話機の状況が示される。参加者の説明６２６には、参加者の名前と呼び出された位置での電話番号が示される。呼処理中に、状況インジケータ６２４が、参加者の電話機ベルが鳴る時と、その後受話器が取られるか話中と判定された時に変化する。
【０１１０】
アクション・ペイン６０４には、選択された表示に応じて異なる情報が表示される。ウィンドウ６００の最下部の４つのボタンを使用して表示を変更することができる。たとえば、ｃｏｎｔａｃｔｓボタン６０９が選択された時には、アクション・ペイン６０４に現在の連絡先のリストが表示される。Ｗｉｎｄｏｗｓ（商標）オペレーティング・システムの下では、各連絡先の名前が、Ｗｉｎｄｏｗｓ（商標）Ｅｘｐｌｏｒｅｒで使用される「＋」拡張セレクタと共にリストされて、ユーザが、連絡先に関連する情報の表示を選択的に展開または縮小できるようになる。各連絡先はアクション・ペイン６０４内に展開可能な項目を有する。展開された時には、異なる電話番号、電子メール・アドレス、ポケットベル番号、ファクシミリ番号、およびユーザの他の番号のすべてが展開される。縮小された時には、連絡先の名前だけが示される。
【０１１１】
ｇｒｏｕｐｓボタン６１０が選択された時には、連絡先のユーザ定義グループが、１つのコヒーレントな項目として示される。やはり、展開セレクタを用いて、ユーザがグループ内の連絡先のリストを選択的に展開することができる。連絡先をさらに展開して、個々の連絡先情報を示すことができる。たとえば、ユーザは、「Ｍｅｒｇｅｒ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ（合併作業グループ）」に関する連絡先のグループを作成することができる。このグループには、そのユーザの会社と、その会社が合併を計画している会社の両方の連絡先を含めることができる。会議コールは、単純に、アクション・ペイン６０４内で「Ｍｅｒｇｅｒ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ」を選択し、発呼しなければならないことを知らせることによって行うことができる。さらに、ユーザは、「Ｍｅｒｇｅｒ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ」を展開し、連絡するグループまたはメッセージから個々の連絡先を選択することができる。
【０１１２】
ｍｅｓｓａｇｅｓボタン６１２が選択された時には、アクション・ペイン６０４に、受信したメッセージ用のメッセージ区域が示され、ユーザがメッセージを送信できるようになる。メッセージは、状況ペイン６０６または連絡先リストから参加者を選択することによって送信することができる。その後、メッセージをメッセージ入力ペインで作成することができる。メッセージを作成した後に、アクション・ペイン内のボタンで信号を送ることによるか、他の信号によって、メッセージを送信することができる。メッセージング・システムによって、会議コール中にデータ・ネットワーク１３８上で第２の通信のチャネルが可能になる。
【０１１３】
ａｃｃｏｕｎｔボタン６１４が選択された時には、アクション・ペイン６０４に、最も最近に完了した通信トランザクションを含めてそれまでの、現在の請求書を含む、ユーザ固有のアカウント情報が示される。
【０１１４】
会議コール中に、状況ペイン６０６の状況表示６１６および６１８を標準の選択技法を使用して選択して、複数の継続的状況表示および非継続的状況表示を可能にすることができる。１つまたは複数の状況表示６１６および６１８が選択された時に、コントロール・ボタンおよびメニュー・ペイン６０２からのアクションによって、選択された参加者に影響を及ぼすことができる。これによって、参加者の、選択的な消音、選択的なリスン・オンリー、選択的な除去、および選択的なメッセージングが可能になる。
【０１１５】
Ｇ．追加の機能性
１．準備された会議コール
通信サーバを用いて、ユーザが会議コールを準備することができる。ユーザは、会議コールの時間を設定し、通信サーバに、参加者のすべてに連絡させることができる。システムは、加入者が現在そこにいることをシステムに知らせた位置で通信サーバへの加入者に連絡することができる。会議コールの他の参加者について、会議コールをセット・アップするユーザが連絡先電話番号を供給する。
【０１１６】
２．名前付きの会議コール
ユーザが、名前と、任意選択として他者が参加するためのパスワードを有する会議コールをセット・アップすることが可能である。呼をセット・アップする時に、呼の各レッグのコストを誰が支払うかをユーザが制御することができる。たとえば、ユーザが、各参加者が呼の自分のレッグについて支払う呼をセット・アップすることができる。ユーザは、クライアント・ソフトウェア内で名前によって、または通信サーバへのＷＷＷインターフェースで会議コールの名前およびパスワードを入力することによってその呼に参加する。ユーザによってセット・アップされた規則に従って、呼に関する請求のすべてを通信サーバが処理する。
【０１１７】
３．呼中のメッセージング
呼が行われている間に、クライアント・ソフトウェアおよびＷＷＷインターフェースが、データ・ネットワーク１３８を介するメッセージングをサポートすることができる。テキスト・メッセージングは、リストから１人または複数の人を選択し、テキスト・メッセージを入力することによって行うことができる。選択された人だけがそのテキスト・メッセージを受信する。これによって、会議コール中に追加のプライベートな会話を行うことを求める当事者間で、追加の電話呼を必要とせずに、電話呼中の通信用の第２のチャネルがもたらされる。
【０１１８】
メッセージングは、２人の商取引サーバ・ユーザの間で行うこともできる。さらに、メッセージが送信された時にユーザがログ・オンしていない場合には、そのメッセージは、そのユーザがログ・インするまで保持される。メッセージは、英数字ポケットベルに送信することもできる。
【０１１９】
４．公衆−私設ネットワーク環境
暗号化は比較的高い計算コストを招くので、環境を公衆ネットワーク・セグメントと私設ネットワーク・セグメントに区分することが望ましい。クライアント・プログラムから通信サーバ１１０または他のクライアント・プログラムへのメッセージなどの公衆インターネットまたは他のデータ・ネットワーク１３８を介して送信されるメッセージを、暗号化するか、署名するか、その両方を行うことができる。具体的には、「ＴＳ．ＣＭ．ＳＴＡＲＴＣＡＬＬ」主題の下で公開されるアカウント情報を暗号化して、ユーザのアカウントの許可されない使用を防ぐことができる。
【０１２０】
通信サーバ１１０の構成要素をファイヤウォールの背後に配置し、公衆インターネットまたは他のデータ・ネットワーク１３８から分離することができる。したがって、この私設ネットワークまたはサブネットワーク上のメッセージは暗号化や署名を必要としない。同様に、通信サーバ１１０および交換機コントローラ２１０を、私設ネットワークまたは仮想プライベート・ネットワークによって通信する状態で結合することができる。一実施形態では、フレーム・リレー・クラウドを使用して、通信サーバ１１０と交換機コントローラ２１０を結合する。したがって、この通信サーバ１１０と交換機コントローラの間のメッセージは、暗号化や署名を必要としない。
【０１２１】
しかし、メッセージのいずれかまたはすべてを、暗号化するか、署名するか、その両方を行って、通信サーバ１１０がより公衆性の高いネットワーク環境で動作できるようにすることができる。
【０１２２】
５．ファクシミリ伝送
通信サーバ１１０は、上で説明したもの以外のメッセージをサポートする。たとえば、ファクシミリ伝送を、主題名「ＴＳ．ＣＭ．ＳＴＡＲＴＦＡＸ」を使用して処理することができる。他の通信ネットワークを同様の形で追加し、除去することができる。主題ベースのメッセージングによって、複数の目的に同一のメッセージ内容および技法を使用する柔軟性が提供される。ファクシミリの場合、メッセージに開始メッセージの一部としてファクシミリ自体を含めるか請求エンジンがアカウントを検証した後に別のメッセージとして含めることができる。
【０１２３】
６．音声インターフェース
本発明は、電話ネットワーク１３６を使用して通信サーバ１１０を制御するインターフェースをサポートする。電話ネットワーク・インターフェースを用いると、ユーザ１０２などのユーザが自分の家庭の電話番号から通信サーバ１１０に連絡し、通信サーバ１１０を使用することができるようになる。ユーザは、通信サーバ１１０にダイヤル・インし、自分自身を識別する。音声リソース４０４によって、ユーザ１０２に、自分のアカウント番号、アカウント情報、およびパスワードを入力するための音声プロンプトが提供される。ユーザは、自分の電子メール・アカウントに関する適当な情報を用いて通信サーバ１１０を構成した場合に、自分の電子メールを読ませることができる。これは、音声リソース４０４と、データ・ネットワーク１３８にアクセスする通信サーバ１１０の能力とによってサポートされる。さらに、通信サーバ１１０は、会議コールおよび上で説明した他の特徴のすべてをセット・アップするためのインターフェースとして電話ネットワーク１３６を使用できるようにすることができる。これによって、ユーザが、空港または他の位置から通信サーバ１１０にコール・インできるようになり、他の公衆電話位置および音声リソース４０４が、会議コールおよび類似物をセット・アップし、制御できるようにする信号を検出し、受信することができる。
【０１２４】
７．統一された請求
通信サーバ１１０による統一された請求がサポートされる。請求エンジン２０４は、あるユーザが使用したすべての通信サービスに関する単一の請求書を提供することができる。たとえば、会議コールおよび通常の電話呼が、ファクシミリ伝送ならびにポケットベル・トランザクションおよび他の通信トランザクションと共にリストされる。これによって、通信出費に関するユーザのための単一のソースがもたらされる。また請求書は、リアルタイムで更新され、その結果、各トランザクションが完了した時に、ユーザがレビューするために請求書が使用可能になる。
【０１２５】
８．オペレータによって制御されるクレジット・カード請求
通信サーバ１１０は請求のための、ユーザのクレジット・カードへの増分式の請求をサポートする。通信サーバ１１０のオペレータが請求額、たとえば１００ドルを識別する。これは、通信サーバ１１０が、ユーザのクレジット・カードから請求額のブロック単位で信用を要求することを意味する。アカウントにクレジット・カードによって請求することは必要ではないが、この機能性がサポートされる。通信サーバ１１０のオペレータは、ユーザに、毎月または他の取り決めによって支払わせることを選択することができる。
【０１２６】
請求エンジン２０４が呼開始要求を検証する時に請求エンジン２０４はそのユーザが使用可能な現在の信用の量を書き込む。使用可能な信用は、ユーザのクレジット・カードに請求された信用の最後のブロックから行われた呼のコストを差し引いた残りに基づく。使用可能な信用は呼メッセージの一部として交換機コントローラ２１０に供給される。
【０１２７】
電話呼が行われる時に、交換機コントローラ２１０が、使用に伴って使用可能な信用を減分する。残りの信用が、通信サーバ１１０のオペレータによって設定される閾値、たとえば１０ドルに達した時に、交換機コントローラ２１０が請求エンジン２０４にメッセージを送信して、別のブロックの信用、ここでは１００ドルを請求する。請求エンジン２０４が、ユーザのクレジット・カードに別のブロックの信用を請求できない場合には、交換機コントローラ２１０は、電話交換機２１２の音声リソース４０４を使用して、会議コール参加者に呼が終了することを示し、使用可能な信用が呼の継続をサポートするのに少なすぎる時に呼を終了することができる。
【０１２８】
請求エンジン２０４が、信用のブロックを請求できる場合には、交換機コントローラ２１０が請求エンジン２０４からのメッセージを受信した時に、残りの信用にその信用のブロックを加算する。たとえば請求エンジンが、より多くの信用に関する要求を処理している間に、残りの信用が９ドルに低下した場合である。追加の１００ドルが請求エンジン２０４から来た時に、１０９ドルが使用可能になる。この処理は、呼が進行中であり、追加の信用が必要である限り継続される。
【０１２９】
呼の終りに、残りの信用が、後続の使用のために交換機コントローラ２１０によって請求エンジン２０４に返される。
【０１３０】
９．ＬｉｂＴＳＭｓｇ
ＬｉｂＴＳＭｓｇは、他の装置、他のサーバ、および他のクライアントを通信サーバとして定義する単純な方法を提供する。ＬｉｂＴＳＭｓｇは、共有ライブラリまたはダイナミック・リンク・ライブラリなどのリンク可能なプログラム・ライブラリである。メッセージのすべてがＬｉｂＴＳＭｓｇでプロトタイプ化される。構成要素のすべてが、ＬｉｂＴＳＭｓｇでプロトタイプ化される。具体的に言うと、さまざまなタイプのサービスのためのコア・プロトタイプがある。さらに、異なるサービス、サービス・マネージャ請求エンジン、ノーティファイヤ、ロガー、および交換機コントローラのそれぞれについて、コア・プロトタイプから構築された派生クラスがある。これらのサービスのいずれかの実装者は、定義されたクラス・メソッドに応答するプログラム・コードを提供するだけでよい。これによって、異なる会社がソフトウェアを提供する場合であっても、ソフトウェアの異なるバージョンが共存できるようになる。たとえば、デフォルトの請求エンジンを、カスタマイズされた請求ソフトウェアと共に動作するように設計された請求エンジンに置換することができる。
【０１３１】
ＬｉｂＴＳＭｓｇの機能の多くが、ＴＩＢ（登録商標）／Ｒｅｎｄｅｚｖｏｕｓ（商標）システムに頼る。このシステムによって、通信サーバの一実施形態で使用されるメッセージ・パッシング機構が実装される。
【０１３２】
１０．統合されたＬＤＡＰサーバ
ｌｉｇｈｔｗｅｉｇｈｔ  ｄｉｒｅｃｔｏｒｙ  ａｃｃｅｓｓ  ｐｒｏｔｏｃｏｌ（ＬＤＡＰ）はディレクトリに関するインターネット・プロトコルである。通信サーバ１１０はＬＤＡＰサーバとの統合をサポートする。ＬＤＡＰサーバはメンバ状況のルック・アップ、メンバに関する連絡先番号の突き止め、および他の目的に使用することができる。
【０１３３】
クライアント・プログラムまたはワールド・ワイド・ウェブ（ＷＷＷ）インターフェースを用いて、通信サーバ１１０のユーザが、どの情報をＬＤＡＰサーバで使用可能にするかを制御することができる。たとえば、ユーザは、個人情報のすべてをＬＤＡＰサーバ上で公開しないことを許可することができる。その代わりに、ユーザが、許可を与えられた人だけが自分の名前をルック・アップすることを許可することができる。もう１つのオプションは、匿名の連絡だけを許可することである。これによって、人が、自分の名前を入力し、クライアント・プログラムまたはＷＷＷインターフェースだけを使用することによって、ユーザに連絡することが可能になる。これによって、ユーザが、自分の電話番号を知らせずに連絡を受けられるようになる。
【０１３４】
１１．匿名電話呼
通信サーバは匿名電話呼をサポートするのにも使用することができる。これは、Ｉｎｔｅｒｎｅｔ  Ｒｅｌａｙ  Ｃｈａｔ（ＩＲＣ）または他の種類のチャット・ルームなどのチャット・ルーム内で使用することができる。これは、ＷＷＷ上でサービスされるハイパーテキスト・マークアップ言語（ＨＴＭＬ）で使用することもできる。これによって、チャット・サーバのユーザまたはＷＷＷページを見る人が、自分の電話番号を広めずに、別のユーザに電話することが可能になる。チャット・サービスまたはＷＷＷページのオペレータは、複数のユーザが互いに電話できるようにするボタンまたはリンクを画面上に設ける。各ユーザは、チャット・サービス接続またはハイパーテキスト転送プロトコル（ＨＴＴＰ）接続を介して自分の電話番号を供給する。この情報は、移動中に暗号化することができる。チャット・サーバまたはウェブ・サーバは、その番号を通信サーバに通信し、電話呼が、当事者の間で開始される。
【０１３５】
これは、２人のユーザが、お互いに自分の番号を知らせたくないが、互いに通信することを望む情況で有用な特徴である。
【０１３６】
１２．ソフトウェア
いくつかの実施形態で、通信サーバ１１０、サービス・マネージャ２０２請求エンジン２０４、ロガー２０６、ノーティファイヤ２０８、および交換機コントローラ２１０で使用されるプログラムがＣＤ−ＲＯＭ、フロッピ・ディスク、または他の媒体などの１つまたは複数のコンピュータ使用可能媒体に取り込まれる。
【０１３７】
本発明のいくつかの実施形態は電波で伝送できる。電波には、商取引サーバ１１０プログラム、サービス・マネージャ２０２プログラム請求エンジン２０４プログラム、ロガー２０６プログラム、ノーティファイヤ２０８プログラム、および交換機コントローラ２１０プログラムなどの情報が含まれる。電波に、ネットワークを介してアクセスされるプログラムを含めることができる。
【０１３８】
Ｈ．結論
本発明のさまざまな実施形態の説明を例示と説明のために提示した。本発明を開示された正確な形態に制限することは意図されていない。多数の修正形態および同等配置が明白である。したがって、当業者は、そのような同等構造のすべてが請求の範囲およびその法的同等物に含まれることを理解されたい。
【図面の簡単な説明】
【図１】  通信商取引サーバを示すブロック図である。
【図２】  通信商取引サーバの一実施形態で、加入者と非加入者の間の通信チャネルをどのように制御できるかを示すブロック図である。
【図３】  通信商取引サーバの一実施形態のブロック図である。
【図４】  電話交換機のブロック図である。
【図５Ａ】  本発明の一実施形態での電話呼をセット・アップする方法を示す流れ図の前半である。
【図５Ｂ】  本発明の一実施形態での電話呼をセット・アップする方法を示す流れ図の後半である。
【図６】  通信サーバを制御するユーザ・インターフェースのブロック図である。
【図１】
0004601831.tif 000002
【図２】
0004601831.tif 000003
【図３】
0004601831.tif 000004
【図４】
0004601831.tif 000005
【図５Ａ】
0004601831.tif 000006
【図５Ｂ】
0004601831.tif 000007
【図６】
0004601831.tif 000008