JP2008505405A - 分散型通信プラットフォームにおけるロードバランシング - Google Patents
分散型通信プラットフォームにおけるロードバランシング Download PDFInfo
- Publication number
- JP2008505405A JP2008505405A JP2007519468A JP2007519468A JP2008505405A JP 2008505405 A JP2008505405 A JP 2008505405A JP 2007519468 A JP2007519468 A JP 2007519468A JP 2007519468 A JP2007519468 A JP 2007519468A JP 2008505405 A JP2008505405 A JP 2008505405A
- Authority
- JP
- Japan
- Prior art keywords
- instance
- request
- service
- garbage collection
- class
- 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
Images
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/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/56—Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
Abstract
【選択図】図1
Description
[0001]
この出願は、2005年3月15日に出願された「通信システムのための分散型IPアーキテクチャ(“DISTRIBUTED IP ARCHITECTURE FOR TELECOMMUNICATIONS SYSTEM”)」というタイトルの米国特許出願第11/080,744号の一部継続出願である。
[0002]
本発明は、分散型IPシステム及び通信システムに関し、および、より具体的には、分散型IPアーキテクチャを通じて情報をやりとりする、地理的に分散可能なコンポーネントを伴う多機能通信システムに関する。
この数十年の間に、音声メールは、規模を拡大し続け、ほとんどのビジネスの成功する経営における重要な要素として定着した。典型的な音声メールシステムは、今日、ビジネス電話システムに接続されているパーソナルコンピュータ内で作動することができるコンピュータカード、または、該ビジネス電話システムに直接的に一体化されているコンピュータカードまたはコンポーネント、あるいは、通信会社により提供されるサービスを含む様々な形態をとることができる。
今日、利用可能な音声メールシステムの各々のための共通の要素は、該音声メールシステムを構成するコンポーネントが、互いに通信しなければならず、そのため、同一場所に配設しなければならないということである。これは、地理的に分散した営業所を有する会社にとってはかなり不都合となりうる。
今日の世界経済においては、小さなビジネスでさえも、顧客に応えるために、ベンダーと関係を持つために、または、様々な他の理由のために複数のオフィスに対する必要性を有する可能性がある。インターネット、電子メール及びビデオ会議の出現は、そのような分散した経営がシームレスになる可能性を助ける。しかし、分散したオフィスになお存在する重大な問題は、単一の、同一場所に配設されたシステムとして機能するが、様々なオフィスの要求に応える共通の電話システムを有することである。一般に、それぞれのオフィスは、各オフィスの電話システム間の何らかの直接的インタフェースを伴わない、および何らかの中央制御を伴わない、それぞれの電話システムを購入して、維持する。このことは、重複する可能性のあるハードウェアを購入して、それぞれの場所において維持しなければならないという点で、コストのかかる努力になる可能性がある。加えて、着信転送、音声メール検索等のオフィス間通信のロジスティクスが複雑になる可能性がある。従って、当技術分野においては、遠く離れて配置されたオフィスのためのシームレス・インテグレーションを可能にする通信システムに対する要求がある。
ほとんどの分散型システムにおいては、発生し、また、対処しなければならない共通の問題は、様々なコンポーネント間の処理の分散である。分散型システムにおいては、該コンポーネントからなるサブセットは、処理タスクによって過度の負担がかかる可能性があり、一方、他のコンポーネントは、アイドル状態にあるか、または、使用中である。そのような状態は、該システムの効率及びスループットの著しくかつ不必要な低下をもたらす可能性がある。例えば、負荷を、過負荷のコンポーネントから使用中のコンポーネントに分散させることができる場合、該システムは、処理要件をより効率的に処理することができる。該処理要件を分散型システムにおいてバランスさせる目的で、既に提案され、かつ実施されている多くのそのような方法がある。しかし、そのような方法は、本願明細書に記載した分散型通信プラットフォームにおける要求を満たすのに適していない。例えば、1つ以上のコンポーネントが、例えば、動的音声XMLページを生成する際に、J2EE(JAVA(登録商標)2 Enterprise Edition)環境及びJSP(JAVA(登録商標) Server Pages)を利用する場合、さらなる問題が生じる可能性がある。そのようなコンポーネントにおいて、JAVA(登録商標)エンジンは、メモリを割当て、またメモリの割当てを解除すると共に、いわゆるガベージコレクションを実行する。このことは、もはや参照されない、動的に割当てられたメモリを解放することについて処理する、JAVA(登録商標)の重要な特徴である。ヒープは、ガベージコレクト(garbage−collected)されるため、JAVA(登録商標)のプログラマは、割当てメモリを積極的に解放する必要はない。しかし、ガベージコレクションプロセスを開始する場合、該システムのパフォーマンスに直接影響を及ぼす多大な処理時間を要する可能性がある。従って、当技術分野においては、JAVA(登録商標)ガベージコレクションプロセス及び他の処理要件の影響を回避するか、または軽減する方法で、リソースの再割当てを可能にする分散型システムに対する要求がある。
[0007]
この発明は、分散型通信システム内で、処理負荷をバランスさせる方法を提供する。一般に、処理は、2つのレベル、すなわち、コンポーネントレベルとプロセスレベルとに分散される。コンポーネントレベルにおいては、サービス要求を処理するように構成されているコンポーネントからなる群のうちの1つに該サービス要求をルーティングするために、仮想スイッチが用いられる。決定は、該仮想スイッチにより、または、全体的に、該コンポーネントにより与えられる情報に基づいて、あるいは、これら両方の組合せにより、自立的に行うことができる。プロセスレベルにおいては、各コンポーネントは、供給するプロセスの多数のインスタンスを確立し、その後、該サービス要求を処理するために、1つのインスタンスを選択する。該コンポーネントが、該プロセスの該インスタンスの処理負荷を監視し、パフォーマンスの低下が予想される場合には、該コンポーネントは、該供給プロセスの代替のインスタンスを選択して、後の要求に対処する。
本発明の例示的な実施形態において、上記仮想スイッチは、通信サービス要求を処理するアプリケーションサーバの群から選択するのに用いられる。該アプリケーションサーバは、ガベージコレクションプロセスを含むJ2EEプラットフォームを用いる。該供給プロセスの単一のインスタンスを用いる場合、最終的には、該ガベージコレクションプロセスは、高い実行優先度を要することになり、そのような場合に、該通信システムのユーザは、パフォーマンスの低下を被るであろう。複数のインスタンスは、該ガベージコレクションプロセスを、該ユーザが経験するパフォーマンスに影響を及ぼすことなく、オフラインを機能できるようにする。
[0012]
図1は、本発明の様々な態様及び特徴を用いることができる例示的な次世代通信プラットフォームの構成要素及び接続性を示すシステム図である。図示のシステムは、特に、音声メール、自動転送及び他の通信機能等の通信サービスを提供することができる分散型IPベースのアーキテクチャを含む。図示した実施形態において、次世代通信プラットフォーム100は、分散型IPアーキテクチャを有し、公衆交換電話網(PSTN)110に接続されている。通信プラットフォーム100は、シグナリングゲートウェイ機能(SGF)120と、1つ以上のメディアサーバ(MS)130と、1つ以上のシステム管理ユニット(SMU)140と、1つ以上のアプリケーションサーバ(AS)150と、1つ以上の中央データ及びメッセージストア(CDMS)160とを含むように示されている。図面に示されかつ記述され、それ自体の中に新規な態様を有する機能の分散が、唯一の容認可能な構成ではなく、また、本発明の態様を、より少ないまたはより多いコンポーネントと、該コンポーネント間の機能の異なる構成とを含むシステムに組み込むことができることを理解すべきである。
一般に、SGF120は、PSTN110とのSS7インタフェースとして機能し、また、1つ以上のコンポーネントまたはサブシステムが、同じポイントコードを共有し(それにより、宛先ポイントコード(DPC)の必要性を低減し)、および呼制御のための信号リンクを共有することを可能にする。このことは、該電話システムを、該ネットワーク内の単一のトランク群として見せる。メディアサーバ130は、マルチインタフェースデザインを介して、PSTNからのIPおよび/または回線交換トラフィックを終了させ、また、トランキング(tranking)及び呼制御に関与する。アプリケーションサーバモジュール150は、様々なアプリケーションのためのダイナミック音声XMLページを生成し、該ページをメディアサーバ130を介して与え、ウェブ・アプリケーションサーバ・コンフィギュレーションを介して外部インタフェースを提供する。SMU140は、サービスプロバイダが加入者アカウントを提供して維持し、集中型ウェブインタフェースからのネットワーク要素を管理することを可能にする管理ポータルである。CDMS160は、音声メッセージ、加入者レコードを格納し、通知を含む特定のアプリケーション機能を管理する。以下に、これらの各サブシステムをより詳細に説明する。
上記次世代通信プラットフォーム内のコンポーネントの各々は、単独で拡張可能であり、また、IPネットワーク上に個別に相互接続される。従って、該コンポーネントは、地理的に分散させることができるが、それでもなお、該IPネットワークを通じて互いに通信することができる限り、単一の通信プラットフォームとして機能することができる。このことは、最先端の通信システムでは利用できない、本発明の重要な利点である。
[0015]
SGF120は、次世代通信プラットフォームのための単一の仮想SS7信号ポイントを生成する統合信号インタフェースを提供する。SS7は、大きいか小さいかにかかわらず、ネットワークが必要とする余分な馬力を提供する。多機能メディアサーバ130とのSIGTRANインタフェース(IPを介したIETF SS7回線制御)ならびにIPプロキシ機能は、SGF120を介してサポートされる。該次世代通信プラットフォームの単一のコンポーネント(この場合、SGF120)にSS7を統合することは、低減されたポイントコード、他のコンポーネントのデザインにおける費用効果、および容易なメンテナンスという利点を与える。
SS7ネットワークにおける各信号ポイントは、数字のポイントコードによって固有に識別される。ポイントコードは、各メッセージのソース及び宛先を識別するために、信号ポイント間で交換されたメッセージをシグナリングする際に伝えられる。各信号ポイントは、ルーティングテーブルを用いて、各メッセージのための適切な信号経路を選択する。
SS7ネットワークには、3種類の信号ポイント、すなわち、SSP(サービス交換ポイント)、STP(サービス転送ポイント)及びSCP(サービス制御ポイント)がある。SSPは、呼を発し、終了させ、または連結する。SSPは、呼を完了させるのに必要な音声回線を設定し、管理しおよび開放するために、信号メッセージを他のSSPに送信する。また、SSPは、呼(例えば、北米における、フリーダイヤル1−800/888の呼)をどのようにルーティングするかを決めるために、問合せメッセージを集中型データベース(SCP)へ送信することもできる。SCPは、かけた番号に関連するルーティング番号を含む応答を、発信元SSPに送信する。最初の番号がビジーの場合、または、その呼が特定の時間内に返答がない場合には、代替のルーティング番号を該SSPが用いることができる。実際の呼の機能は、ネットワークごとに、およびサービスごとに変わる。
信号ポイント間のネットワークトラフィックは、サービス転送ポイント(STP)と呼ばれるパケットスイッチを介してルーティングすることができる。STPは、SS7メッセージに含まれるルーティング情報に基づいて、それぞれの入ってくるメッセージを発信信号リンクへルーティングする。該STPは、ネットワークハブとして機能するため、該STPは、信号ポイント間の直接リンクの必要性をなくすことにより、SS7ネットワークの改良された利用を実現できる。STPは、グローバル名称翻訳、宛先信号ポイントがそれによって、信号メッセージ内に存在する数字(例えば、ダイヤルされたフリーダイヤル番号、コーリングカード番号、または、携帯電話加入者識別番号)から決まる処理手順を実行することができる。
また、STPは、他のネットワークと交換されたSS7メッセージを選別する「ファイアウォール」としても機能することができる。SS7ネットワークは、呼の処理に不可欠であるため、SCP及びSTPは、孤立した障害の場合に、ネットワーク全体のサービスを保証するために、通常、別々の物理的位置に、適合したペア構成で配置される。また、信号ポイント間のリンクもペアで設けられる。トラフィックは、そのリンクセット内の全てのリンクで共有される。該リンクのうちの1つが故障すると、該信号トラフィックは、該リンクセット内の別のリンクを通じて再ルーティングされる。SS7プロトコルは、誤り訂正能力及び再送信能力の両方を提供して、信号ポイントまたはリンクの故障時に、継続したサービスを可能にする。
ポイントコードの使用性は、典型的に限定される。信号リンクの統合は、それらのリソースに対する圧力を軽減し、または、追加的なポイントコードの必要性を全くなくす。従って、SGF120内の統合信号インタフェースは、迅速なネットワークの簡素化及びコストの節約をもたらす。SGF120は、メッセージングネットワークの単一の「仮想」ポイントコードを介したSS7ネットワークへの単一の一致の出現を提示し、透過的な方法でメッセージを認識して処理する。SGF120は、必要なポイントコードの最大数を、場合によっては、50からたったの4まで潜在的に低減することができる。
ネットワーキングの観点から見ると、SGF120は、仮想ポイントコードの利用によって、上記次世代通信プラットフォームの様々なコンポーネントにアクセスする、該ネットワークの残りの部分に対するSTPのように見える。本発明の分散型態様によれば、複数のSGFを該システムに組込むことができる。この構成においては、該次世代通信プラットフォームの様々なコンポーネントへの複数の経路が利用可能である。
各SGF120は、上記通信プラットフォーム内の様々なコンポーネントにアクセスするのに用いられる仮想ポイントコードを含む。通信プラットフォーム全体には、単一の宛先ポイントコードが必要である。該SGFは、互いに通信して、上記メディアサーバ、及び該通信プラットフォームに一体化された他のコンポーネントのために該仮想ポイントコードを同期させる。従って、1つのSGFが故障した場合、該通信プラットフォームへのアクセスは、別のSGFによって実行できる。
このことは、同期されたSS7スタックのように見える上記次世代通信プラットフォーム内のコンポーネントの各々に関して、著しい違いであり、かつ利点である。
例示的な実施形態において、SGF120サーバは、冗長構成及び負荷分散構成によって、N+1の故障をサポートし、また、インターネット上に構築される。増加した使用性の場合、負荷分散及び冗長のためには、最低2つのSGFが推奨される。全てのプラットフォーム・コンポーネントに対して同様に、SNMPアラーム、ロギング及び取引情報記録が生成される。該SGFの特徴、効果及び利点は、
[0025]
複数のメディアサーバが、信号リンク及びポイントコードを共有できるようにして、著しいコストの節約を実現できること、
[0026]
集中型SS7信号リンクを実現できること、
[0027]
複数の多機能メディアサーバにわたる1つのトランク群を実現できること、
[0028]
SGF120が、より少ないSS7リンクを要し、その結果として、低減された月間の接続料金をもたらすこと、および
[0029]
SGF120が、上記通信プラットフォームのためのIP分散型アーキテクチャを実施する能力において、重要な構成要素であることを含む。
[0030]
MS130は、SGF120からのIPトラフィック及びPSTN110からの回線交換トラフィックを終了させる。MS130は、上記プラットフォームアーキテクチャ内での呼の設定及び制御に関与する。MS130は、ユーザからの入力を、音声、DTMFフォーマットまたは他の信号方式で処理する(例えば、ウェブクライアントは、ユーザからのキーボード及びマウスクリック入力を収集する)。そして、MS130は、(PCクライアント上の該ユーザへ戻して表示されるグラフィック及びテキストと原理的に同様に)その内容を該ユーザへ音声で戻して提示する。このクライアント/サーバの方法論は、新たなアプリケーションの迅速な形成、およびワールド・ワイド・ウェブ上で使用可能なコンテンツの即時利用を可能にするという点で、該プラットフォームアーキテクチャにおいて重要である。
MS130は、好ましくはHTTPを用いて、AS150への要求によって、着呼処理をする。ロードバランサは、好ましくは、多機能MS130に到達するトラフィックを、複数のAS150のうちの1つへ向ける。この機能は、トラフィックが、アクティブなサーバ間に一様に配分されることを実現する。多機能MS130は、Netscapeのようなクライアントが、PC上のHTMLユーザの代わりに機能するのと同様に、エンドユーザに代わって、音声XMLクライアントとして機能する。多機能メディアサーバに備わっている音声XMLまたは呼制御XML(CCXML)ブラウザは、ユーザへの提示のために、音声XMLドキュメントを解釈実行する。
音声XMLは、音声使用可能なソフトウェアアプリケーションを開発するための規格ベースのスクリプト言語である。このことは、開発者が、音声ベースの電話のアプリケーションを開発する際に、ウェブベースの(HTML)開発技術を用いて活用することを意味する。
[0033]
上記次世代通信プラットフォームのモジュラー式デザインは、音声ダイヤル及び音声ナビゲーション、統合された通信ソリューション、マルチメディアメッセージングサービス、およびプレゼンス及び使用性の管理アプリケーション等の高度なサービスを展開することが容易であるという追加的な利点を有する。該プラットフォームにアプリケーションを追加することは、該共通プラットフォームへの標準アプリケーションサーバ150の追加によって遂行される。
各アプリケーションサーバ150は、内部イーサネット(登録商標)網を介したメディアサーバ130からの要求に応えて、アプリケーションドキュメント(音声XMLページ)を生成する。アプリケーションサーバ150は、ウェブアプリケーションインフラストラクチャを利用して、バックエンドデータストア(メッセージストア、ユーザプロファイルデータベース、コンテンツサーバ)とインタフェースをとり、音声XMLベースのドキュメントを生成する。
ウェブアプリケーションインフラストラクチャ全体は、より拡張可能なアプリケーションアーキテクチャを形成するために、コアサービス論理(すなわち、ビジネスロジックを実行すること)と提示詳細(音声XML、CCXML、SALT、XHTML、WML)とを区別する。アプリケーションサーバ150は、Java(登録商標)2 Enterprise Edition(J2EE)環境及びJSP(Java(登録商標) Server Pages)を用いて、該多機能メディアサーバのためのダイナミック音声XMLページを生成する。これらの技術を組合わせることは、WAP、HTML、XHTML及び音声等のアプリケーション間の相互運用性(マルチモーダル)を実行できるSALT(Speech Application Language Tags)の素早い組込みを可能にし、エンドユーザが、音声コマンドによってデータを同時に入力し、WAPまたはHTMLによってプレゼンテーションを受取ることを可能にする。
簡単なアプリケーション展開のための環境を形成するために、アプリケーションサーバ150は、好ましくは、Template+JSPをサポートする。アプリケーションは、メッセージング機能へのアクセスのためのAPIを用いてJSPに実装される。それらのJSPは、容易に修正可能であり、アプリケーションの動作の変更、および新たなアプリケーションの生成を非常に簡単にする。
メディアサーバ130とアプリケーションサーバ150の連携は、特定の機能のカストマイズを、特定の加入者に提供できるようにする。例えば、ある会社が、西海岸に1つのオフィスを所有し、東海岸に別のオフィスを所有している場合、電話システム、特に、各オフィスの場合のメディアサーバ130及びアプリケーションサーバ150の動作は、全く異なる可能性がある。例えば、音声メールシステム及び自動案内は、東海岸のオフィスでは東部時間午後6時に、また、西海岸のオフィスでは西部時間午後6時に、夜間モードになる。加えて、様々なオフィスによって形成されるメニュー構造及びプロンプトは、かなり異なる可能性がある。例えば、氏名録によるダイヤルは、異なる従業員を含むであろう。本発明の場合、独立したメディアサーバは、それらの2つのオフィスに配置することができ、また、メディアサーバ130は、異なる通信サービスを提供することができる。該異なる通信サービスは、メディアサーバ130と同一場所に配置された、異なるアプリケーションサーバ150から、または、メディアサーバ130の位置またはIDに基づいて、通信サービスアプリケーションを提供することができる共通アプリケーションサーバを介して提供することができる。
また、遠く離れて配置されたメディアサーバ130は、様々な加入者及び発呼者に対して共通の機能を実行することができ、また、加入者及びユーザの両者の視点から、該電話システムのシームレスインテグレーションを実行できる。会社は、該会社の全てのオフィスにシームレスでサービスを提供する音声メール及び自動案内インタフェースを提供したい可能性がある。本発明は、そのような機能性を実現するのに用いることができる。アプリケーションサーバ150は、まず、発呼者があるオフィスを選択できるように、次に、アプリケーションサーバ150および/またはメディアサーバ130が、特定の機能を呼び出して、当該オフィスのためのネームサービスによるダイヤルを実行できるネームまたはメニュー選択機能による段階的ダイヤルを提供することができる。別法として、アプリケーションサーバ150は、該会社の全てのオフィスの全ての加入者情報を含む、単一のCDMS160または複数のCDMS160へのアクセスを維持してもよい。その結果、アプリケーションサーバ150は、氏名録による全社的なダイヤルのための単一レベルのメニュー構造を形成することができる。
[0039]
上記次世代通信プラットフォームは、CDMS160を用いて、音声/オーディオメッセージ、加入者記録を蓄積し、通知スケジュール等の特定のアプリケーション機能を管理する。CDMS160は、好ましくは、冗長なコンポーネントでデザインされ、リフレクティブメモリ、および耐故障性、フェイルオーバー及びリカバリのためのRAID(Redundant Array of Independent Disks)技術を利用する。これは、厳しい環境においてもシステムが利用可能であるという高いレベルの確実性を保証する。必要不可欠なディスクドライブ及びRAIDコントローラコンポーネントは、好ましくは、ホットスワップ可能であり、交換時に該システムを電源オフにする必要性をなくす。CDMS160の場合、パフォーマンスは、音声メッセージングの固有の特性に対して最適化され、パフォーマンスの劣化、すなわち、電子メールストアの検索及び分類を備える不必要な電子メール中心のデータベース機能をなくす。
CDMS160は、シェルフ電子メール保存システムの規格を利用することができる。該メッセージストアは、該メッセージストアの選択を、アプリケーションに対して透過的にするJava(登録商標)ミドルウェアの使用によって抽象化され、各メッセージが、最も効率的なストアに格納できるようにする。
[0041]
SMU140は、全てのネットワーク要素を管理する、サービスプロバイダのための集中型ポイントを形成し、リモートアクセス、メンテナンス及びバックアップ機能を実行できる。SMU140は、プロビジョニング、アラーム、リポート及び加入者移行のための単一のインタフェースを形成する。SMU140は、システムと新たな構成要素及びアプリケーションとを統合して、カスタマイズし、急速に成長するネットワーク及び急増するトラフィック量に曝されているキャリアのために、運用支援及びネットワーク管理機能を実行できる。該SMUコンポーネントのコア機能は、以下の機能を含む。
構成要素自動リカバリ:サービスプロバイダが新たなネットワーク要素を追加した場合、上記SMUは、該要素を自動的に認識し、該新たな要素を、グラフィカルネットワークマップ内に含める。
グラフィカルネットワークマップ:ネットワーク/クラスタマップ及びマップエディタは、ネットワークまたはクラスタ全体のスナップショットを実行でき、また、迅速な問題識別及び解決を容易にする。
時刻同期:中央時刻ソースは、全てのネットワーク要素が、メッセージングネットワーク全域にわたって、均一な時間基準を維持することを実現し、このことは、どんな分散型アーキテクチャにとっても重要である。
集中型ネットワークロギング:メッセージングネットワーク全体のロギングは、SMU140に集中管理される。
SMU140は、デュアルプロセッサコンピュータを用い、SMU140サーバへの、ならびに、テルネットを介した上記システム内の全ての他のサーバへのアクセスのためのリモートダイヤルインを可能にする。システムコンフィギュレーション及び他の重要なデータのバックアップも、該SMUによって遂行することができる。
有利には、上述した次世代通信プラットフォームは、単一のアーキテクチャソースからの全ての様々なアプリケーションの迅速かつ費用効果的な展開を可能にする。オープンソースの利用、すなわち、Java(登録商標)ベースのアプリケーション形成環境は、この高度なフレキシビリティを可能にする。該通信プラットフォーム用いて、オペレータは、基本的な呼応答から、マルチメディアメッセージング及びプレゼンス使用可能ソリューションのような先進的なアプリケーションに及ぶクラス最高のメッセージング及び通信サービスの強力な塊を創り出すことができる。ユーザの経験をさらに容易にするために、該次世代通信プラットフォームは、「セルフサービス」を基盤とする優先度及び機能を追加しおよび修正する、加入者用ウェブインタフェースを備えてもよい。この性能は、消費者による使用を増加させ、カスタマーロイヤルティを向上させ、また、より少ない日常的な修理依頼によって、サービスプロバイダの運用コストも低減される。
上記通信プラットフォームの別の利点は、様々なアプリケーションを含みかつ組込む能力である。該アプリケーションが、元々、該プラットフォーム用に作られたか、あるいは、サードパーティベンダーから供給されたものであるかにかかわらず、該アプリケーションは、該通信プラットフォームを、様々なカスタマー要求及び製品差別化に対してカスタマイズできるようになっている。該通信プラットフォームに容易に組込むことができる該アプリケーションのうちの一部は、以下のものを含む。
音声メール:加入者に、音声メッセージの録音及び記憶、転送、リモート検索等を含む音声メッセージ内容の交換を中心としてデザインされた様々な機能を与える。
不在着信通知:これは、発信者番号通知サービスの内線であり、無線電話または携帯電話の領域で頻繁に利用される。発信者番号通知サービスは、該無線電話が作動中であり、かつ該ネットワークのサービスエリア内にある場合に、着信呼出し番号を単に表示する。しかし、不在着信通知は、ユーザが該携帯電話から離れている間、または、該携帯電話がオフになっている間、該携帯電話の番号に対して行われた呼のリストを加入者に与える、継続的なネットワークベースのサービスを提供する。従って、不在着信通知サービスは、該携帯電話が作動して記録するまで、着呼情報を捕捉して蓄積することになる。そのとき、全ての不在着信のリストを含むSMS(Short Message Service)メッセージが加入者へ送られ、該加入者の都合の良い時に、折り返し電話をすることができるようにする。
マルチメディアメッセージングサービス:MMSは、写真や音楽等の最新のマルチメディアコンテンツとの通信を独自のものにし、従来の通信の限界を破るメッセージングを生成できるようにする。このアプリケーションは、“Message Composer”、“Photo Album”及び“Greeting Cards”のような機能を用いることにより能力が高められ、加入者が、MMSが可能な携帯電話、PDA及びPC上で、動的なマルチメディアコンテンツを送受信することができるようにする。また、加入者は、インターネットを介して、非MMS加入者へマルチメディアコンテンツを送信することもでき、オペレータのウェブサイトへのトラフィックを駆動し、それによって、加入者の使用性を向上させる。
統合された通信:音声、ファックス及び電子メールメッセージング、全てのメッセージタイプのための単一のメールボックス、総合住所録、および特別なオンラインマネジメント及びパーソナライズツールを含む、加入者の要求に対してカスタマイズされたサービスの完璧なパッケージ。
マルチパーティー・パーソナル・コンファレンスサービス:このアプリケーションは、友人/家族との即時の会議を始める能力を加入者に与える。
音声が使用可能なメッセージングサービス:このアプリケーションは、有力な音声が制御する電話サービス。加入者は、自身の個人的コンタクト番号、および自然な言語認識及び任意のテキスト/音声変換能力を特徴とする使い勝手のよい音声インタフェースを介して一連のサービスを利用することができる。音声が使用可能なメッセージングのパッケージソフトに共通する特徴は、音声XML及びSALT等の業界標準に準拠したIPベースのアーキテクチャ上に供給された、音声指示を介した音声メールのナビゲーション、音声ダイヤル及び音声が制御する住所録を含む。
音声MMS:このアプリケーションは、新たに投函された音声メールメッセージを、オーディオクリップの形で、MMSが可能なハンドセットまたはEメールボックスに配信できるようにすることにより、加入者の通信チャネルを通じて、加入者が大量にアクセスし、かつ制御することを可能にする。また、加入者は、電子メールによって音声メッセージを共有することができ、また、音声メッセージを、該音声メールシステムの外部の宛先に転送することができる。
本発明の別の態様は、制御及びデータの配信のためのトランザクション媒体である。上述したような同じSGF120コンポーネントを用いると、SS7プロトコルのTCAPコンポーネントを中心とするトランザクション媒体を実現できる。より具体的には、SS7プロトコルのTCAPコンポーネントを用いて、ショート・メッセージング・サービスを上記次世代通信プラットフォームの分散型アーキテクチャ内に設けることができる。ショート・メッセージの送信者は、上記IPネットワークを通じて、メディアサーバ130との通信を確立する。該送信者は、メディアサーバ130に、SGF120に該ショート・メッセージの配信のためのSS7 TCAPメッセージを送信するように要求させる。この技術は、トランザクション処理への呼処理のためのSGF用STPインタフェースのための、上述したような単一のポイント・アクセス・ノードをもたらす。
従って、上記例示的な通信プラットフォームのための分散型アーキテクチャは、地理的に分散されても、シームレスに統合されたシステムとして機能する通信プラットフォームの様々な機能を可能にする。このような分散型システムにおいて生じる問題は、該システム内でのリソースの共有である。複数のコンポーネントが、サービス要求によって、他のコンポーネントを過負荷にする多くの状況が生じる可能性がある。また、特定のコンポーネントが、あるときに、処理要求に対してより弾力的であり、他のときに、より弾力的でない可能性がある。そのような状況の実例は、1つ以上のコンポーネントが、J2EE環境を含み、未利用のメモリを取り戻すガベージコレクションの使用を用いる場合に生じる。
[0058]
既に述べたように、アプリケーションサーバ150は、J2EE環境及びJSPを利用して、多機能メディアサーバのための動的音声XMLページを生成する。Java(登録商標)の重要な機能は、そのガベージコレクトされたヒープであり、これは、もはや参照されない動的に割当てられたメモリを解放することを管理する。該ヒープは、ガベージコレクトされるため、Java(登録商標)のプログラマは、割当てメモリを積極的に解放する必要はない。一般に、該ガベージコレクションプロセスが始まると、アプリケーションサーバ150は、他の何らかのプロセスによる使用に対して利用不可になり、あるいは、少なくともその使用性は低下する。アプリケーションサーバ150が、音声メールまたは電話システム等の待ち時間に敏感な環境で用いられる場合、アプリケーションサーバ150のガベージコレクションプロセスへの入口は、待ち時間問題を課す可能性がある。すなわち、発呼において、その関係者は、該ガベージコレクションプロセスの間、沈黙に耳を傾けることになるであろう。
より具体的には、J2EEサーバ/ウェブコンテナは、クライアントからの要求をサポートするサーバアプリケーションをサポートするのに用いられるソフトウェアコンポーネントである。いくつかのJ2EEサーバ/ウェブコンテナアプリケーションは、主要なガベージコレクション等のJava(登録商標)仮想マシン(JVM)のガベージコレクションアクティビティにより課されるパフォーマンスオーバヘッドを招くことに対して余裕がないサービス要件を有する。それらのアプリケーションの場合、ガベージコレクションアクティビティに影響を及ぼすサービスが発生するまで、パフォーマンスは許容範囲内にある。
JVMのヒープは、実行中のJava(登録商標)プログラムによって生成された全てのオブジェクトを蓄積する。オブジェクトは、Java(登録商標)プロセスによって生成され、新たなオブジェクトのためのメモリは、ランタイム時に該ヒープ上に割当てられる。ガベージコレクションは、該プログラムによって、もはや参照されないオブジェクトを自動的に解放するプロセスである。「ガベージコレクション」という用語は、該プログラムによって、もはや必要とされないオブジェクトが「不要なデータ」であり、捨てることができることを意味する。オブジェクトが、プログラムによって、もはや参照されない場合、該オブジェクトが専有するヒープスペースは、後の新たなオブジェクトのために利用できるように、再利用しなければならない。ガベージコレクタは、何とかして、どのオブジェクトが、該プログラムによって、もはや参照されないかを判断して、そのような参照されないオブジェクトによって専有されたヒープスペースを使用可能にしなければならない。
参照されないオブジェクトを解放することに加えて、ガベージコレクタは、ヒープの断片化に対抗することもできる。ヒープの断片化は、通常プログラムの実行の過程の間に発生する。新たなオブジェクトが割当てられ、参照されないオブジェクトが解放され、その結果、ヒープメモリのフリーブロックが、生オブジェクトにより専有されたブロック間に残される。新たなオブジェクトを割当てる要求は、現存するヒープの総未利用スペースが十分にあっても、該ヒープのサイズを拡大することによって満たさなければならない可能性がある。このことは、新たなオブジェクトが収まることになる、使用可能な、連続的なフリーヒープスペースが十分にない場合に起きる。仮想メモリシステム上で、増え続けるヒープを供給するのに必要な余計なページングは、実行中のプログラムのパフォーマンスを低下させる可能性がある。
Java(登録商標)プラットフォームに対しては、アプリケーション及びプログラミング方法により、いくつかのガベージコレクション方法を用いることができる。用いる方法に関わらず、該プロセスに付随する待ち時間問題は、たいてい実現する。歴史的に、当業者は、該ガベージコレクションメカニズムにヒントを与えることはできるが、そのことは、該プロセスを調整することを困難にし、その結果、発明者等のリサイクラーソリューションを求めることになる。
ガベージコレクションアルゴリズムは、2つの基本的なことを行う必要がある。第一に、該アルゴリズムは、ガベージオブジェクトを検知しなければならない。第二に、該アルゴリズムは、該ガベージオブジェクトによって使用されるヒープスペースを再要求し、それをプログラムに対して使用可能にしなければならない。ガベージの検知は、通常、ルートのセットを定義し、該ルートから到達可能性を判断することによって、実現される。オブジェクトは、実行プログラムが、それによって該オブジェクトにアクセスすることができる該ルートからの参照のパスがいくつかある場合に到達可能である。該ルートは、常に、該プログラムにアクセス可能である。該ルートから到達可能などのようなオブジェクトも、生であると考えられる。到達可能でないオブジェクトは、プログラム実行の成り行きにもはや影響を及ぼすことができないため、ガベージであると考えられる。
本発明の一つの態様は、J2EEサーバまたはウェブコンテナ(例えば、Resin、Apache Tomcat、BEA WebLogic、IBM WebSphere)が、ガベージコレクションアクティビティに影響を及ぼすサービスが発生する前に、設定可能な期間、要求を単に処理できるようにすることである。全体的な設計手法は、生であると考えられ、新たなセッション要求を処理する該コンテナ/サーバのうちのたった一つを備えるホスト上のウェブコンテナ/サーバのインスタンスが1つ以上あるということである。設定可能な期間の後、およびガベージコレクションアクティビティに影響を及ぼすサービスを避けるために、該アクティブなコンテナ/サーバは、新たなセッション要求を、新たに推進されるアクティブコンテナ/サーバへ向けた状態で、静止され、待機状態にされる。最初の新たなセッション要求を受取る負荷分散コンポーネントは、該要求を、現在アクティブなコンテナ/サーバへ分散させる。コンテナ/サーバが、アクティブな状態から待機状態へ促された後、該負荷分散コンポーネントは、新たなセッション要求を、新たに推進されたコンテナ/サーバへ送る。このプロセスは、該ホストがアクティブである限り続けられる。
上記のメカニズムは、2つ以上のコンテナ/サーバを一度にサポートしようとするものであるが、考察のために、2つのコンテナ/サーバが単一のホスト上に存在するものと仮定する。常に、該コンテナ/サーバのうちの一方のみが作動モードになっており(新たなクライアントからの要求を受け)、他方は待機状態になっている。アクティブなコンテナ/サーバのみが、新たなクライアントからの要求を受け容れることができる(新たなセッションが生成される)。(経験上のデータに基づいて得られる、あるいは、初期値または予測値に対してプログラミングすることができる)設定可能な期間の後、該待機状態のコンテナ/サーバは促されて、新たなセッション要求を受取り始め、一方、これまでアクティブだったコンテナ/サーバは、新たなセッション要求を受取らないが、既存のセッションの要求を処理し続けた後、設定可能な期間の後、静止される。静止されたコンテナ/サーバは、停止されて、設定可能な期間の後、再び、作動モードに促されるまで、待機モードに保持され、再始動される(これにより、どのようなガベージも一掃されて、「白紙状態」が生成される)。このプロセスは、上記ホストが、要求を受け容れるように構成されている限り、繰り返される。その結果、新たな要求が、同じホスト上のアクティブなウェブコンテナ/サーバへ向けられ、その結果、透過的に、および障害を伴うことなく、当該ウェブへのウェブ要求は、JVMガベージコレクションに影響を及ぼすサービスのオーバヘッドを招くことなく、処理される。同様のメカニズムが、2つ以上のコンテナ/サーバをサポートするのに用いられる。
図2は、本発明によるロードバランシングを実現できる一つの可能な構成を示すブロック図である。図示の構成は、4つのメディアサーバ130と、2つのアプリケーションサーバ150とを含む。メディアサーバ130の各々は、2つの仮想スイッチ210のうちの一方を介して、該アプリケーションサーバのいずれかにアクセスすることができる。該仮想スイッチの一つの実施形態は、レイヤ4のロードバランサーからなる冗長なペアとすることができる。仮想スイッチ210は、複数のリクエスタから複数の受信者へサービス要求をリダイレクトするように作動する様々なコンポーネントのうちのいずれかとすることができる。一つのそのようなコンポーネントは、LVS(Linux Virtual Server)とすることができる。LVSは、ロードバランサーをLinuxオペレーティングシステム上で作動させる、実際のサーバのクラスタ上に構築された高度にスケーラブルかつ高度に使用可能なサーバである。
メディアサーバ130から、要求が仮想スイッチ210に到達すると、仮想スイッチ210は、仮想スイッチ210により情報が提供されるアプリケーションサーバ150の現在の負荷及び使用性に基づいて、該要求をアプリケーションサーバ150へルーティングする。その結果、メディアサーバ130は、メッセージを仮想スイッチ210へ送る。該仮想スイッチは、どのアプリケーションサーバ150が、該要求に応答するのに用いられるかを判断し、アプリケーションサーバ150へ通知する。そして、アプリケーションサーバ150は、要求してきたメディアサーバ130に対して返答する。
アプリケーションサーバ150の各々は、ポートを含む。仮想スイッチ210は、要求を適切なポートへ送ることにより、該要求をアプリケーションサーバ150へルーティングする。仮想スイッチ210は、少なくとも2つの方法で、ロードバランシングを実行できる。一つの事例において、仮想スイッチ210は、特定のアプリケーションサーバ150へルーティングされている要求の数を監視し、仮想スイッチ210が、アプリケーションサーバ150が過度に利用されていると判断した場合には、該要求を別のアプリケーションサーバ150へリダイレクトすることができる。仮想スイッチ210は、重み付けプロセスを用いて、この判断を行うことができる。重みは、各ホスト、および該ホストへの接続の現在の数に対して割当てられる。アルゴリズムは、加重最小接続が、この判断を行うための基本として用いられているため、公知である。例えば、仮想スイッチ210は、トラフィックの1%を第1のアプリケーションサーバ150へルーティングし、残りの99%のトラフィックを1つ以上の他のアプリケーションサーバ150へルーティングすることができる。別の事例において、アプリケーションサーバ150は、異なるアプリケーションサーバ150を利用するように、仮想スイッチ210に積極的に指示することができる。例えば、第1のアプリケーションサーバが過度に使用中である場合、アプリケーションサーバ150は、仮想スイッチ210に別の要求を異なるアプリケーションサーバへルーティングするように指示することができる。このことは、不明確な基準で(すなわち、アプリケーションサーバ150が、仮想スイッチ210に、再び使用可能であることを知らせるまで)行うことができ、あるいは、一時的な基準で(すなわち、一定期間、または、一定量のトラフィックに対して)行うことができる。このようにして、仮想スイッチ210は、上記通信プラットフォーム内でロードバランシングを実行するように作動する。
上記LVSは、アプリケーションサーバホスト150上のフィードバックメカニズムによって提供される個々のコンポーネントの負荷情報に基づいて、バランスさせることができる。例えば、該アプリケーションサーバ内のアプリケーションサーバコンテナは、「使用可能です」または「使用不能です」等のステータスを知らせる能力も有する。また、該アプリケーションサーバは、「何%ビジーです」等のパーセンテージビジーステータスを報知することもできる。そのため、このステータス情報は、該LVSにより実行される要求スケジューリングの決定に対する入力として用いることができる。
ロードバランシングは、別の方法で、すなわち、ガベージコレクションで、アプリケーションサーバレベルにも設けられている。ガベージコレクションのパフォーマンスのための本発明の一つの態様は、要求を実行する仮想マシンの2つのインスタンスを生成することである。該仮想マシンの各インスタンスは、それ自体のガベージコレクションプロセスを含む。一般に、仮想スイッチ210は、一定期間、アプリケーションサーバ150内の第1の仮想マシンへ要求をルーティングし、その後、別の要求は、第2の仮想マシンへルーティングされ、該第1の仮想マシンは、ガベージコレクションを実行する。該仮想マシンを切替える決定は、様々な要素に基づかせることができ、本発明は、特定のスキームに限定されない。例えば、一つの実施形態において、その切替えは、定期的に(すなわち、30分毎に)実行することができる。他の実施形態においては、該切替えは、該仮想マシンに送られている要求の数、該仮想マシンに対して使用可能なメモリの量、および該仮想マシンによって処理されているスレッドの数等に基づいて実行することができる。
各仮想マシン内で、該ガベージコレクションプロセスは、一般に、最も低く、または、非常に低い優先度のタスクである。そのため、アプリケーションサーバ150が利用される場合、ガベージコレクション要件は、時間をかけて蓄積する。ある時点で、典型的には、使用可能なメモリが作動していないときに、該ガベージコレクションは、より高い優先度へ移さなければならない。該ガベージコレクションプロセスが始まり、アクティブプロセスがアプリケーションサーバ150によって提供されると、該システムのユーザは、不動作時間または待ち時間に遭遇することになる。
本発明は、この重大な岐路に直面する前に、上記仮想マシンを切替えるように作動する。そのため、一方の仮想マシンのガベージヒープがひどくなって、上記ガベージコレクションプロセスをより高い優先度へ移さなければならなくなり、それによって、システムパフォーマンスが低下する前に、サービスのための別の要求は、他方の仮想マシンへルーティングされる。有利には、このことは、上記第1の仮想マシンが、現在アクティブなプロセスを処理し続けることを可能にし、該ガベージコレクションプロセスは、メモリを必要とする可能性がある新たなプロセスの導入により、より高い優先度が与えられないことになる。要求が、一旦、他方の仮想マシンへルーティングされると、該ガベージは、2つの方法のうちの一方で一掃することができる。該ガベージコレクションプロセスを自動的に呼び出す仮想エンジンを再始動させることができる。しかし、現在、実行されているプロセスは、終了されることになる。そのため、より従順な方法は、現時点でアクティブなプロセスを継続できるようにすることであり、また、処理リソースが利用可能になったときに、あるいは、最後のプロセスが終了した後に、該ガベージコレクションプロセスを実施できるようにすることである。新たな要求は、他方の仮想マシンへルーティングされるため、これは、該ガベージコレクションプロセスを呼び出すことができる前の単純に時間の問題である。該ガベージコレクションプロセスが、一旦、呼び出されると、該第1の仮想マシンは、将来の要求に対処するために、使用可能になることができる。加えて、JVMプロセスが専有する全てのヒープメモリを解放することにつながるJVMプロセスを再始動することができ、それにより、該ガベージコレクションプロセスを完全に避けることができる。
本発明の態様は、2つの仮想マシンを含むものとして記載されているが、どのような数の仮想マシンも用いることができ、また、該仮想マシンへの要求のルーティングを、ラウンドロビン方式で、または他の方法で実施できることを理解すべきである。
従って、本発明は、少なくとも2つの方法で、ロードバランシングを実行できるように作動する。一方のレベルにおいて、上記仮想スイッチは、アプリケーションサーバ150に向けられた負荷をバランスさせる。他方のレベルにおいて、アプリケーションサーバ150は、ガベージコレクションによる待ち時間問題を避けるように、2つ以上の仮想マシン間に、要求の処理を割り振る。
図3は、本発明の様々な態様を示すフロー図である。該フロー図は、仮想スイッチ210を介して1つ以上のアプリケーションサーバ150と通信するメディアサーバ130を示す。単一のメディアサーバ130と、単一の仮想スイッチ210と、2つのアプリケーションサーバ150のみが示されているが、本発明の様々な態様が、これらの構成に限定されないことを理解すべきである。これまで述べたように、本発明は、少なくとも2つの方法で、すなわち、アプリケーションサーバ間で負荷をバランスさせること、およびアプリケーションサーバ内で負荷をバランスさせることで、分散型通信プラットフォームにおけるロードバランシングを実行できる。まず、サービス要求310が、メディアサーバ130により仮想スイッチ210へ供給される。この時点で、仮想スイッチ210は、どのアプリケーションサーバが、サービス要求310を処理するのに適しているかに関しての判断を行う315。この判断は、該仮想スイッチによって自動的に実行する、該アプリケーションサーバに従属する仮想スイッチによって実行する、または、これら2つの両極端の手段の組合せによるもの等の様々な方法で実行することができる。例えば、該仮想スイッチは、要求の数、該要求のための処理要件、および追加的な要求を受け容れて処理する該アプリケーションサーバの能力に関する判断を行うための該アプリケーションサーバの容量を監視してもよい。別法として、該アプリケーションサーバは、現在の処理負荷、および追加的な要求を受け容れて処理する能力を知らせるために、ステータス情報を該仮想スイッチへ送ってもよい。その結果、該仮想スイッチ210は、負荷分散の決定を、(1)自立的に、(2)該アプリケーションサーバからの制御/ステータス情報に基づいて、または、(3)該仮想スイッチにより、該アプリケーションサーバから受取った情報と共に収集された情報に基づいて、実行することができる。
所望のアプリケーションサーバ150が、一旦、選択されると、仮想スイッチ210は、該サービス要求を、選択したアプリケーションサーバ150へ転送する320。最後に、アプリケーションサーバ150は、仮想スイッチ210を介して、または、メディアサーバ130と直接的に、該サービス要求に応答することになる。しかし、アプリケーションサーバ150は、アプリケーションサーバ150の処理割当てに関する追加的なステップを実施することもできる。一つのそのようなプロセスは、入ってくるサービス要求に対処するために用いられる処理プロセスの様々なインスタンスを生成することを含む。これまで述べたように、本発明は、上記ガベージコレクションプロセス中に、パフォーマンスの低下を伴わない、J2EE環境の実施を有利に可能にする。そのため、サービス要求を受ける前または後に、アプリケーションサーバ150は、該処理プロセスの複数のインスタンスを生成した後、特定のインスタンスを識別して現在のサービス要求に対処するように作動することができる325。作動中、アプリケーションサーバ150は、該処理プロセスの異なるインスタンスを用いることにより、処理負荷を分散させることができる。このことは、本願明細書に一部が記載されている様々な方法、ならびに、本発明が先行している、開示されていない他の方法で実現することができる。選択したそれらの方法に関わらず、アプリケーションサーバ150は、処理プロセスのインスタンスが過負荷であるか330を判断し、過負荷である場合には、該過負荷のインスタンスを回復させることができるように作動する335。例えば、一実施形態において、本発明は、該ガベージコレクションプロセスを、より高い優先度へ移す必要が生じる最適点を判断して、追加的なサービス要求を代替のインスタンスへ向け、該ガベージコレクションプロセスによるパフォーマンスの低下を避けるように作動する。
また、アプリケーションサーバ150は、アプリケーションサーバの選択の制御を制御またはサポートするために、情報を集めて分析し、該情報を仮想サーバ210へ戻して報告してもよい。このことは、アプリケーションサーバ150により定期的に行われ、それ自体のステータス340を判断し、その後、この情報を仮想スイッチ210へ報告する345。その結果、該仮想スイッチはスキャンして、どのアプリケーションサーバ150に、追加的なサービス要求をルーティングさせるべきかを判断する際に、この情報を用いる。
本発明を、例証として示し、また、本発明の範囲を限定することを意図していない、本発明の実施形態の詳細な説明を用いて説明してきた。記載した実施形態は、異なる特徴を備え、それらの全てが、本発明の全ての実施形態に必要なわけではない。本発明のいくつかの実施形態は、それらの特徴のうちの一部のみ、または、それらの特徴の可能性がある組合せを用いる。記載されている本発明の実施形態の変形例、および記載された実施形態において述べられた特徴からなる異なる組合せを備える本発明の実施形態が、当業者には思い浮かぶであろう。本発明の範囲は、以下の特許請求の範囲によってのみ限定される。
Claims (20)
- 複数の第1のクラスのコンポーネントが、複数の第2のクラスのコンポーネントのリソースを共有しなければならず、前記第1のクラスのコンポーネントが、1つ以上の切替えシステムを介して、前記第2のクラスのコンポーネントとインタフェースをとる分散型システムにおいて、2つのレベルのロードバランシングを可能にする方法であって、
前記切替えシステムのうちの1つにおいて、前記複数の第1のクラスのコンポーネントのうちの1つからサービス要求を受取るステップと、
前記切替えシステムが、前記要求を処理するために、複数の第2のクラスのコンポーネントのうちの1つを識別するステップと、
前記要求を、前記識別した第2のクラスのコンポーネントへ転送するステップであって、前記識別された第2のクラスのコンポーネントが、前記要求に対処する実行プロセスの少なくとも2つのインスタンスを確立するように作動する、ステップと、
前記識別された第2のクラスのコンポーネントにおいて、前記要求を受取るステップと、
前記要求に対処するサービスプロセスの少なくとも2つのインスタンスのうちの一方に前記要求を割当てるステップであって、該割当てが、前記プロセスの少なくとも2つのインスタンスの現在の処理要件の少なくとも一部に基づいている、ステップと、
を備える、方法。 - 前記識別された第2のクラスのコンポーネントにおける前記実行プロセスの各インスタンスが、使用されていないメモリを解放するためのガベージコレクションプロセスを含み、前記サービスプロセスの少なくとも2つのインスタンスのうちの一方に前記要求を割当てるステップがさらに、前記サービスプロセスのインスタンス内で機能する前記ガベージコレクションプロセスのステータスに基づいている、請求項1に記載の方法。
- 前記識別された第2のクラスのコンポーネントにおける前記実行プロセスの各インスタンスが、使用されていないメモリを解放するためのガベージコレクションプロセスを含み、前記サービスプロセスの少なくとも2つのインスタンスのうちの一方に前記要求を割当てるステップがさらに、前記サービスプロセスのインスタンス内の前記ガベージコレクションプロセスの機能に優先順位を付ける必要性に基づいている、請求項1に記載の方法。
- 前記識別された第2のクラスのコンポーネントにおける前記実行プロセスの各インスタンスがガベージコレクションプロセスを含み、前記ガベージコレクションプロセスが、使用されていないメモリを解放する低優先度のバックグラウンドタスクとして機能し、前記サービスプロセスの少なくとも2つのインスタンスのうちの一方に前記要求を割当てるステップが、第1のインスタンスのための前記ガベージコレクションプロセスの優先度を上げることが必要になるまで、前記サービスプロセスの前記第1のインスタンスに前記要求を割当て、その後、後の要求を、前記サービスプロセスの別のインスタンスに割当てることによって実行される、請求項1に記載の方法。
- 前記識別された第2のクラスのコンポーネントにおける前記実行プロセスの各インスタンスがガベージコレクションプロセスを含み、前記ガベージコレクションプロセスが、使用されていないメモリを解放する低優先度のバックグラウンドタスクとして機能し、前記サービスプロセスの少なくとも2つのインスタンスのうちの一方に前記要求を割当てるステップが、特定の期間、前記サービスプロセスの第1のインスタンスに前記要求を割当て、その後、後の要求を、前記サービスプロセスの別のインスタンスに割当てることによって実行され、前記特定の期間が、前記第1のインスタンスの過負荷を防ぐのに十分である、請求項1に記載の方法。
- 前記識別された第2のクラスのコンポーネントにおける前記実行プロセスの各インスタンスがガベージコレクションプロセスを含み、前記ガベージコレクションプロセスが、使用されていないメモリを解放する低優先度のバックグラウンドタスクとして機能し、前記サービスプロセスの少なくとも2つのインスタンスのうちの一方に前記要求を割当てるステップが、第1のしきいメモリ使用度に達するまで、前記サービスプロセスの第1のインスタンスに前記要求を割当て、その後、後の要求を、前記サービスプロセスの別のインスタンスに割当てることによって実行される、請求項1に記載の方法。
- 前記サービスプロセスの第1のインスタンスにおける前記メモリ使用度が、一旦、第2のしきい値以下に低下すると、前記サービス要求の割当てが、前記サービスプロセスの第1のインスタンスへ戻される、請求項1に記載の方法。
- 前記識別された第2のクラスのコンポーネントにおける前記実行プロセスの各インスタンスがガベージコレクションプロセスを含み、前記ガベージコレクションプロセスが、使用されていないメモリを解放する低優先度のバックグラウンドタスクとして機能し、前記サービスプロセスの少なくとも2つのインスタンスのうちの一方に前記要求を割当てるステップが、第1のしきい数のサービス要求が、第1のインスタンスへ送られるまで、前記サービスプロセスの前記第1のインスタンスに前記要求を割当て、その後、後の要求を、前記サービスプロセスの別のインスタンスに割当てることによって実行される、請求項1に記載の方法。
- 前記要求を処理する複数の第2のクラスのコンポーネントのうちの1つを識別する前記切替えシステムのステップがさらに、前記要求の第1の割合を処理する第1のコンポーネントを識別するステップと、前記要求の残りの割合を処理する第2のコンポーネントを識別するステップとを備える、請求項1に記載の方法。
- 前記要求を処理する複数の第2のクラスのコンポーネントのうちの1つを識別する前記切替えシステムのステップがさらに、前記要求の第1の割合を処理する第1のコンポーネントを識別するステップと、前記要求の残りの割合を処理する第2のコンポーネントを識別するステップとを備える、請求項1に記載の方法。
- 前記要求を処理する複数の第2のクラスのコンポーネントのうちの1つを識別する前記切替えシステムのステップがさらに、前記要求の第1のしきい数を処理する第1のコンポーネントを識別するステップを備える、請求項1に記載の方法。
- 前記要求を処理する複数の第2のクラスのコンポーネントのうちの1つを識別する前記切替えシステムのステップがさらに、
前記コンポーネントの現在の負荷を確認する前記複数の第2のクラスのコンポーネントの各々から指示を受取るステップと、
前記コンポーネントの現在の負荷に少なくとも部分的に基づいて、前記複数の第2のクラスのコンポーネントのうちの1つを選択するステップと、
を備える、請求項1に記載の方法。 - サービス要求の処理のためのロードバランシングを可能にする分散型通信システムであって、
通信サービスを提供する電話システムとインタフェースをとるメディアサーバと、
1つ以上のスイッチと、
前記1つ以上のスイッチを介して、前記メディアサーバとインタフェースがとられる2つ以上のアプリケーションサーバとを備え、
前記アプリケーションサーバの各々が、
実行プロセスの複数のインスタンスを生成し、
第1のインスタンスが、しきい負荷に達するまで、前記実行プロセスの前記第1のインスタンスを用いて、全てのサービス要求を処理し、
前記実行プロセスの別のインスタンスに切替えて、後のサービス要求に対処することにより、
前記メディアサーバから受取った要求を実行するように作動する、分散型通信システム。 - 前記アプリケーションサーバの各々は、前記実行プロセスの各インスタンスが、使用されていないメモリを解放するガベージコレクションプロセスを含む状態で、JAVA(登録商標)2 Enterprise Edition環境を用い、前記アプリケーションサーバの各々は、前記実行プロセスの第1のインスタンスのガベージコレクションプロセスがより高い優先度を必要とする場合に、前記実行プロセスの別のインスタンスに切り替わるように作動する、請求項13に記載の分散型通信システム。
- 前記アプリケーションサーバの各々が、前記実行プロセスの各インスタンスが、使用されていないメモリを解放するガベージコレクションプロセスを含む状態で、JAVA(登録商標)2 Enterprise Edition環境を用い、前記しきい負荷レベルは、前記第1のインスタンスが、サービス要求を処理するのに用いられている時間の量によって決まる、請求項13に記載の分散型通信システム。
- 前記1つ以上のスイッチの各々は、前記メディアサーバからの要求がルーティングされる前記2つ以上のアプリケーションサーバのうちの1つのアプリケーションサーバを選択して、それにより、前記分散型通信システムのためのロードバランシングを実行するように作動する、請求項13に記載の分散型通信システム。
- 前記1つ以上のスイッチの各々は、前記アプリケーションサーバによって処理されている要求の数に基づいて、アプリケーションサーバを選択するように作動する、請求項16に記載の分散型通信システム。
- 前記1つ以上のスイッチの各々は、前記2つ以上のアプリケーションサーバから受取ったステータス情報に基づいて、アプリケーションサーバを選択するように作動する、請求項16に記載の分散型通信システム。
- 前記アプリケーションサーバの各々は、前記実行プロセスの各インスタンスが、使用されていないメモリを解放するガベージコレクションプロセスを含む状態で、JAVA(登録商標)2 Enterprise Edition環境を用い、前記アプリケーションサーバの各々は、前記実行プロセスの第1のインスタンスのガベージコレクションプロセスがより高い優先度を必要とする場合に、前記実行プロセスの別のインスタンスに切り替わるように作動し、前記1つ以上のスイッチの各々は、前記アプリケーションサーバによって処理されている要求の数に基づいて、アプリケーションサーバを選択するように作動する、請求項13に記載の分散型通信システム。
- 前記アプリケーションサーバの各々は、前記実行プロセスの各インスタンスが、使用されていないメモリを解放するガベージコレクションプロセスを含む状態で、JAVA(登録商標)2 Enterprise Edition環境を用い、前記アプリケーションサーバの各々は、前記実行プロセスの第1のインスタンスのガベージコレクションプロセスがより高い優先度を必要とする場合に、前記実行プロセスの別のインスタンスに切り替わるように作動し、前記1つ以上のスイッチの各々は、前記1つ以上のアプリケーションサーバから受取ったステータス情報に基づいて、アプリケーションサーバを選択するように作動する、請求項13に記載の分散型通信システム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58411704P | 2004-06-30 | 2004-06-30 | |
US11/080,744 US20060002403A1 (en) | 2004-06-30 | 2005-03-15 | Distributed IP architecture for telecommunications system |
US11/170,457 US20060209695A1 (en) | 2005-03-15 | 2005-06-29 | Load balancing in a distributed telecommunications platform |
PCT/US2005/023469 WO2006004995A2 (en) | 2004-06-30 | 2005-06-30 | Load balancing in a distributed telecommunications platform |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008505405A true JP2008505405A (ja) | 2008-02-21 |
Family
ID=35783379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007519468A Pending JP2008505405A (ja) | 2004-06-30 | 2005-06-30 | 分散型通信プラットフォームにおけるロードバランシング |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1766881A2 (ja) |
JP (1) | JP2008505405A (ja) |
CA (1) | CA2571120A1 (ja) |
WO (1) | WO2006004995A2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009512936A (ja) * | 2005-10-20 | 2009-03-26 | マイクロソフト コーポレーション | ロードバランシング |
JP2010157225A (ja) * | 2008-12-31 | 2010-07-15 | Nhn Corp | メッセージングネットワークシステムのメッセージ送受信方法 |
JP2010237793A (ja) * | 2009-03-30 | 2010-10-21 | Nec System Technologies Ltd | 稼働状況監視システム、方法、及び、プログラム |
JP2018500834A (ja) * | 2014-12-23 | 2018-01-11 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 仮想化ネットワークにおいてサービスを展開するための方法、及び装置 |
JP2022510306A (ja) * | 2018-11-30 | 2022-01-26 | オラクル・インターナショナル・コーポレイション | 信号中継局(stp)のメッセージプロセッサ間でsigtran接続を分散させる方法、システム、および読み取り可能な媒体 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1835675A1 (en) | 2006-03-14 | 2007-09-19 | Hewlett-Packard Development Company, L.P. | A method of coupling a circuit switched network to an internet protocol network |
CN100466590C (zh) * | 2007-03-26 | 2009-03-04 | 中兴通讯股份有限公司 | 一种V_Switch透传数据实现负荷分担的方法 |
EP1976232B1 (en) | 2007-03-30 | 2014-01-22 | Hewlett-Packard Development Company, L.P. | Signaling status information of an application service |
US9407721B2 (en) | 2013-10-16 | 2016-08-02 | Red Hat, Inc. | System and method for server selection using competitive evaluation |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09218842A (ja) * | 1996-02-14 | 1997-08-19 | Fujitsu Ltd | ロードシェアシステム |
JPH11205339A (ja) * | 1998-01-19 | 1999-07-30 | Hitachi Ltd | Atm交換機 |
JP2000099351A (ja) * | 1997-11-21 | 2000-04-07 | Omron Corp | プログラム制御装置とメモリ割当装置および方法 |
US6223202B1 (en) * | 1998-06-05 | 2001-04-24 | International Business Machines Corp. | Virtual machine pooling |
JP2002529852A (ja) * | 1998-11-05 | 2002-09-10 | ビーイーエイ システムズ, インコーポレイテッド | 安全分散処理システムにおけるクラスター化エンタープライズジャバ |
US6502109B1 (en) * | 1999-11-05 | 2002-12-31 | Lucent Technologies Inc. | Distributed communications system having garbage collecting virtual processes |
JP2003178041A (ja) * | 2001-12-11 | 2003-06-27 | Dainippon Printing Co Ltd | 負荷分散システム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6581088B1 (en) * | 1998-11-05 | 2003-06-17 | Beas Systems, Inc. | Smart stub or enterprise javaTM bean in a distributed processing system |
US20030079018A1 (en) * | 2001-09-28 | 2003-04-24 | Lolayekar Santosh C. | Load balancing in a storage network |
US20040049570A1 (en) * | 2002-09-17 | 2004-03-11 | Frank Ed H. | Method and system for network management in a hybrid wired/wireless network |
US7567504B2 (en) * | 2003-06-30 | 2009-07-28 | Microsoft Corporation | Network load balancing with traffic routing |
-
2005
- 2005-06-30 WO PCT/US2005/023469 patent/WO2006004995A2/en active Application Filing
- 2005-06-30 EP EP05769212A patent/EP1766881A2/en not_active Withdrawn
- 2005-06-30 CA CA002571120A patent/CA2571120A1/en not_active Abandoned
- 2005-06-30 JP JP2007519468A patent/JP2008505405A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09218842A (ja) * | 1996-02-14 | 1997-08-19 | Fujitsu Ltd | ロードシェアシステム |
JP2000099351A (ja) * | 1997-11-21 | 2000-04-07 | Omron Corp | プログラム制御装置とメモリ割当装置および方法 |
JPH11205339A (ja) * | 1998-01-19 | 1999-07-30 | Hitachi Ltd | Atm交換機 |
US6223202B1 (en) * | 1998-06-05 | 2001-04-24 | International Business Machines Corp. | Virtual machine pooling |
JP2002529852A (ja) * | 1998-11-05 | 2002-09-10 | ビーイーエイ システムズ, インコーポレイテッド | 安全分散処理システムにおけるクラスター化エンタープライズジャバ |
US6502109B1 (en) * | 1999-11-05 | 2002-12-31 | Lucent Technologies Inc. | Distributed communications system having garbage collecting virtual processes |
JP2003178041A (ja) * | 2001-12-11 | 2003-06-27 | Dainippon Printing Co Ltd | 負荷分散システム |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009512936A (ja) * | 2005-10-20 | 2009-03-26 | マイクロソフト コーポレーション | ロードバランシング |
US8234378B2 (en) | 2005-10-20 | 2012-07-31 | Microsoft Corporation | Load balancing in a managed execution environment |
US10334031B2 (en) | 2005-10-20 | 2019-06-25 | Microsoft Technology Licensing, Llc | Load balancing based on impending garbage collection in execution environment |
JP2010157225A (ja) * | 2008-12-31 | 2010-07-15 | Nhn Corp | メッセージングネットワークシステムのメッセージ送受信方法 |
JP2010237793A (ja) * | 2009-03-30 | 2010-10-21 | Nec System Technologies Ltd | 稼働状況監視システム、方法、及び、プログラム |
JP2018500834A (ja) * | 2014-12-23 | 2018-01-11 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 仮想化ネットワークにおいてサービスを展開するための方法、及び装置 |
US11038777B2 (en) | 2014-12-23 | 2021-06-15 | Huawei Technologies Co., Ltd. | Method and apparatus for deploying service in virtualized network |
JP2022510306A (ja) * | 2018-11-30 | 2022-01-26 | オラクル・インターナショナル・コーポレイション | 信号中継局(stp)のメッセージプロセッサ間でsigtran接続を分散させる方法、システム、および読み取り可能な媒体 |
JP7336521B2 (ja) | 2018-11-30 | 2023-08-31 | オラクル・インターナショナル・コーポレイション | 信号中継局(stp)のメッセージプロセッサ間でsigtran接続を分散させる方法、システム、およびコンピュータ読み取り可能なプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2006004995A3 (en) | 2006-03-16 |
CA2571120A1 (en) | 2006-01-12 |
EP1766881A2 (en) | 2007-03-28 |
WO2006004995A2 (en) | 2006-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060209695A1 (en) | Load balancing in a distributed telecommunications platform | |
JP2008505405A (ja) | 分散型通信プラットフォームにおけるロードバランシング | |
JP2008505563A (ja) | 通信システムのための分散型ipアーキテクチャ | |
US7953100B2 (en) | System and method for providing a pluggable architecture for state management in a telecommunication service access gateway | |
US7379540B1 (en) | Server with backup capability for distributed IP telephony systems | |
AU2006266467A1 (en) | System and method for managing communications sessions in a network | |
US8363637B2 (en) | Telephony protocol server and telephony protocol client in a distributed IP architecture telecommunications system | |
CN109542659A (zh) | 应用多活方法、设备、数据中心集群及可读存储介质 | |
CN101610322A (zh) | 基于多平台的呼叫中心及呼叫接入方法 | |
US20100232582A1 (en) | System and method for outbound calling from a distributed telecommunications platform | |
WO2008110118A1 (fr) | Procédé de transfert d'appel et système de communication | |
US7970106B2 (en) | Employing VXML to provide enhanced voicemail system | |
US7231021B2 (en) | Distributed customizable voicemail system | |
US20030126263A1 (en) | Multimedia load balancing architecture | |
ZA200610548B (en) | Load balancing in a distributed telecommunications platform | |
US20110051717A1 (en) | System and method for providing redundancy in a distributed telecommunications architecture | |
CN102209306A (zh) | 多媒体邮箱访问方法、装置及通信系统 | |
WO2011044840A1 (zh) | 一种处理短消息业务的设备及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080410 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110719 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110912 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110920 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120612 |