"少なくとも1つのコンピュータ可読媒体であって、命令と共にエンコードされ、該命令が、実施されるときに少なくとも1つの処理ユニットに、発信された番号を含む通話呼を受け取ること、前記通話呼を通話呼フローサービスにルーティングすることであって、該フローサービスが、該通話呼フローサービスの負荷に少なくとも部分的に基づいて選択されること、前記通話呼フローサービスにおいて前記通話呼を受け取った後に少なくとも1つのダイヤルプランにアクセスすることであって、該ダイヤルプランが前記発信された番号に少なくとも部分的に基づいて選択されること、および前記発信呼を前記少なくとも1つのダイヤルプランを用いて処理すること、を含むアクションを実行させる、コンピュータ可読媒体。前記ダイヤルプランが相互音声応答を含む、請求項1に記載のコンピュータ可読媒体。前記ダイヤルプランが内線とテレフォニリソースとの間の関連付けを含む、請求項1に記載のコンピュータ可読媒体。前記通話呼がボイスオーバIP形式を用いてフォーマットされ、インターネットを介して受け取られる、請求項1に記載のコンピュータ可読媒体。請求項1に記載のコンピュータ可読媒体において、前記通話呼が第1の通話呼であり、前記命令が、さらに、ダイヤルされる第2の番号を含む第2の通話呼を受け取り、該第2通話呼を受け取った後に、前記第2番号に少なくとも部分的に基づいて前記第1ダイヤルプランとは異なる第2のダイヤルプランにアクセスし、前記第1通話呼が処理されている時間の少なくとも一部の間に前記第2通話呼を処理するための命令を含む、コンピュータ可読媒体。請求項1に記載のコンピュータ可読媒体において、前記命令が、さらに、複数の呼を受け取り、各ダイヤルされた番号に基づいて各前記複数の通話呼のそれぞれについて異なる個別のダイヤルプランにアクセスするための命令を含む、コンピュータ可読媒体。請求項1に記載のコンピュータ可読媒体において、前記命令が、さらに、割当解除信号を受け取るための命令を含み、前記命令が、さらに、前記割当解除信号に応じて、前記少なくとも1つの処理ユニットに、遠隔ストレージデバイスにローカルデータをコピーさせ、更なる通話呼の受け取りを中止させる、コンピュータ可読媒体。コンピュータ可読媒体であって、命令と共にエンコードされ、該命令が、実施されるときに、少なくとも1つの処理ユニットに、テレフォニ通話呼を処理する複数のソフトウェアインスタンについて総負荷を表わす少なくとも1つの値にアクセスすること、前記負荷が総ベースライン負荷値を超えるときに、少なくとも1つの追加のソフトウェアインスタンスをテレフォニ通話呼の処理のために初期化すること、前記複数のソフトウェアインスタンスのうち少なくとも1つがある時間期間の通話呼についての閾値数よりも少なく処理しているときに、前記複数のソフトウェアインスタンスのうち前記少なくとも1つを割当解除すること、を含むアクションを実行させる、コンピュータ可読媒体。請求項8に記載のコンピュータ可読媒体において、前記アクションが、さらに、通話呼を受け取ること、および前記通話呼を、各前記ソフトウェアインスタンスの個々の負荷に少なくとも部分的に基づいて、前記複数のソフトウェアインスタンスのうちの1つに割り当てること、を含むことを特徴とする、コンピュータ可読媒体。請求項9に記載のコンピュータ可読媒体において、前記通話呼を前記複数のソフトウェアインスタンスのうちの1つに割り当てる前記アクションが、前記通話呼を、個々のベースライン負荷よりも少ない負荷を有する、前記複数のソフトウェアインスタンスにおける1つのソフトウェアインスタンスに割り当てることを含む、コンピュータ可読媒体。請求項8に記載のコンピュータ可読媒体において、前記負荷にアクセスする前記アクションが、前記複数のソフトウェアインスタンスのそれぞれについての各負荷にアクセスすることを含み、前記各負荷がFIFOテーブルに格納され、前記通話呼を前記ベースライン負荷よりも小さい負荷を有する1つのソフトウェアインスタンスに割り当てるアクションが、前記通話呼を前記ベースライン負荷よりも少ない複数のソフトウェアインスタンスのうちの1つに割り当てることを含み、該1つが前記テーブル内で最少位置にある、コンピュータ可読媒体。請求項8に記載のコンピュータ可読媒体において、少なくとも1つの追加のソフトウェアインスタンスを初期化する前記アクションが、クラウドプロバイダインタフェースと通信し、クラウドコンピューティング環境で追加の仮想インスタンスを取得することを含む、コンピュータ可読媒体。請求項8に記載のコンピュータ可読媒体において、前記複数のソフトウェアインスタンスのうち少なくとも1つを割当解除する前記アクションが、クラウドプロバイダインタフェースと通信し、クラウドコンピューティング環境での前記少なくとも1つのソフトウェアインタフェースを終了させることを含む、コンピュータ可読媒体。クラウドコンピューティング通話呼センタであって、少なくとも1つの処理ユニット、および実施可能命令でエンコードされ前記少なくとも1つの処理ユニットに結合されたメモリと、前記少なくとも1つの処理ユニットおよびメモリの少なくとも一部を利用するように構成される仮想インスタンスであって、命令を実行して前記少なくとも1つの処理ユニットに、発信された番号を含む通話呼を受け取ること、前記通話呼を通話呼フローサービスにルーティングすることであって、該通話呼フローサービスが該通話呼フローサービスの負荷に少なくとも部分的に基づいて選択されること、前記選択された通話呼フローサービスでの前記通話呼の受け取りの後に、少なくとも1つのダイヤルプランにアクセスすることであって、該ダイヤルプランが発信された番号に少なくとも部分的に基づいて選択されること、および前記少なくとも1つのダイヤルプランを用いて前記通話呼を処理すること、を含むアクションを実行させるように構成される仮想インスタンスと、前記少なくとも1つの処理ユニットおよびメモリの少なくとも一部を利用するように構成される通話呼制御サービスであって、前記仮想インスタンス上の負荷をモニタし、該負荷に少なくとも部分的に基づいて追加の仮想インスタンスを割り当てるように構成される通話呼制御サービスと、を備える、クラウドコンピューティング通話呼センタ。前記通話呼制御サービスが、さらに、前記負荷に少なくとも部分的に基づいて前記仮想インスタンスを割当解除するように構成される、請求項14に記載のクラウドコンピューティング通話呼センタ。請求項14に記載のクラウドコンピューティング通話呼センタにおいて、前記通話呼が第1の通話呼であり、前記命令が、さらに、ダイヤルされる第2の番号を含む第2の通話呼を受け取り、該第2通話呼を受け取った後に、前記第2番号に少なくとも部分的に基づいて前記第1ダイヤルプランとは異なる第2のダイヤルプランにアクセスし、前記第1通話呼が処理されている時間の少なくとも一部の間に前記第2通話呼を処理するための命令を含む、クラウドコンピューティング通話呼センタ。テレフォニ通話呼を処理するための方法であって、着信した通話呼を複数のソフトウェアベーステレフォニスイッチのうちの1つにルーティングするステップであって、該複数のソフトウェアベーステレフォニスイッチのうち少なくとも1つの個々の負荷に少なくとも部分的に基づく、ステップと、前記複数のソフトウェアベーステレフォニスイッチの総負荷をモニタリングするステップと、前記総負荷に少なくとも部分的に基づいて、追加のソフトウェアベーステレフォニスイッチを割り当てるか、または前記複数のソフトウェアベーステレフォニスイッチのうち少なくとも1つを割当解除するステップと、を含む方法。請求項17に記載の方法において、前記複数のソフトウェアベーステレフォニスイッチがクラウドコンピューティング環境で実装され、該ソフトウェアベーステレフォニスイッチのそれぞれが、前記クラウドコンピューティング環境の各仮想インスタンスで実装される、方法。請求項18に記載の方法において、追加のソフトウェアベーステレフォニスイッチを割り当てる前記ステップが、前記クラウドコンピューティング環境における追加の仮想インスタンスを割り当てることを含む、方法。請求項17に記載の方法において、追加のソフトウェアベーステレフォニスイッチを割り当てるか、または前記複数のソフトウェアベーステレフォニスイッチのうち少なくとも1つを割当解除する前記ステップが、前記総負荷が総ベースライン負荷値を超えたときに、少なとも1つの追加のフトウェアベーステレフォニスイッチを初期化すること、および前記複数のソフトウェアベーステレフォニスイッチのうち少なくとも1つがある時間期間の通話呼についての閾値数よりも少なく処理しているときに、前記複数のソフトウェアベーステレフォニスイッチのうち前記少なくとも1つを割当解除すること、を含む、方法。請求項17に記載の方法において、前記通話呼を前記複数のソフトウェアベーステレフォニスイッチのうち少なくとも1つにルーティングする前記ステップが、前記通話呼を、個々のベースライン負荷よりも少ない個々の負荷を有する1つのソフトウェアベーステレフォニスイッチスイッチにルーティングすることを含む、方法。ピアツーピアテレフォニのための方法であって、発信された番号を含む通話呼を受け取るステップと、ピアツーピアテレフォニのカスタマのディレクトリにアクセスするステップと、前記発信された番号が前記ディレクトリ内にある場合に、インターネットを介して前記通話呼を、発信された番号に関連付けられたPBXにルーティングするステップと、前記発信された番号が前記ディレクトリ内にない場合に、前記通話呼を公衆電話網にルーティングするステップと、を含む方法。インターネットを介して前記通話呼をルーティングする前記ステップが、VoIPパケットを前記PBXにルーティングすることを含む、請求項22に記載の方法。インターネットを介して前記通話呼をルーティングする前記ステップが、ソフトウェアルータを用いて前記通話呼を処理するステップを含む、請求項22に記載の方法。前記ソフトウェアルータの数が、処理中の通話呼の総数に少なくとも部分的に基づいて動的に決定される、請求項24に記載の方法。インターネットを介してルーティングされた通話呼のログを保持するステップをさらに含む、請求項24に記載の方法。002電話通信についてのインフラストラクチャは、歴史的には、物理的な、オンプレミススイッチを介して提供されてきた。スイッチは、公衆電話網と通信するのに必要となる接続を行う。したがって、通話呼の一定数に適応するために、対応する数のスイッチが必要とされる。このことは、一般的に、予想されるピークの通話呼ボリュームをサポートするに十分な量のスイッチングハードウェアを維持することを通話呼センタまたは他のテレフォニカスタマに要求する。例えば、ほとんどの時間では通話呼量は予想されたピークの通話呼量の75である。その結果、ほとんどの時間ではスイッチングハードウェアのわずか75しか使用されないにも拘わらず、テレフォニカスタマは、臨時用のピーク通話呼量に対処するために、スイッチングハードウェアについて余分の25を維持し、なおもリソースに投資しなければならない。009本発明の実施形態について充分な理解を供するために、いくらかの詳細を以下に説明する。しかしながら、当業者にとって、本発明の実施形態について様々なこれら特定の詳細がなくとも実施され得ることは明らかである。いくつかの場合において、本発明について説明する実施形態を不要に不明瞭にすることを回避するために、公知のソフトウェア動作、サーバコンポーネント、回路、制御信号またはタイミングプロトコルを詳細に示さなくてもよい。010本発明の実施形態は、一般的に、クラウドコンピューティング通話呼センタに関するものである。クラウドコンピューティング通話呼センタの実施形態は、テレフォニ、PBXおよび通話呼センタの能力についてスケーラブルで動的な割り当てのためのマルチテナントなプラットフォームを提供する。この能力は、カスタマにとって経済性を改善して提供する。通常、本願明細書においてカスタマとは、発信されることができる1つ以上の電話番号に関連付けられたエンティティのことを言う。カスタマは、組織、人その他のコンピュータプログラムプロセスでもよい。本発明の実施形態は、クラウドコンピューティング環境内のソフトウェアテレフォニスイッチの実装を含む。以前のテレフォニシステムとは対照的に、このクラウドコンピューティング通話センタの実施形態では、ソフトウェアベースのPBX、ダイヤルプラン、仮想的な双方向音声応答サービスIVR、および/または他のシステムコンポーネントを特定の通話呼および/またはPBXに動的に割り当てることができる。このようにして、テレフォニコンポーネントの動的な割り当ては、1つの特定クライアントに対しリソースを専用化する必要を回避することができる。011さらに、本発明の実施形態は負荷バランシングを含み、需要が変化するにつれてサーバ容量の割り当ておよび割り当て解除を行うことができる。ハードウェアリソース量は、処理パワーおよびメモリを含み、クラウドコンピューティング通話呼センタの総負荷に基づいて、動的に調整することができる。通話呼処理に充てられるハードウェアリソースは、それ故、通話呼量が変化するにつれ変化させることができる。したがって、通話呼センタプロバイダは、現在の通話呼量に対処するために必要な計算リソースを代償するだけでよく、予想されたピーク要求に対処するのに十分な専用の計算リソースの必要性を回避することができる。012クラウドコンピューティング環境におけるソフトウェアテレフォニスイッチの実装により、大規模で冗長的に配置したサーバを使用したテレフォニ機能の提供を可能にする。以下にさらに説明するように、ソフトウェアテレフォニスイッチの各インスタンスは、少なくとも、カスタマに特有のテレフォニリソースが動的に割り当てることができるという理由で、多くのカスタマに対してサービス提供することができる。したがって、リソースについての動的スケーリングおよび動的割当は、数多くのカスタマに対する数多くの同時通話の処理を許容することができる。いくつかの実施形態では、何十または何百もの同時通話呼をも対処することができる。013加えて、数多くの特徴を、クラウドコンピューティング通話呼センタにおける一部または全部のカスタマに柔軟に提供することができる。特徴について、例えば、音声認識、話者認識および感情検知を含むことができる。特徴は、また、クラウドコンピューティング環境において実施することもでき、また、複数のカスタマが要求により利用することもできる。014他の実施態様において、クラウドコンピューティング通話呼センタの実施例では、公衆電話交換網を通過することなく、カスタマ対カスタマの通話呼を許容することができる。015図1は、本発明の実施形態によるクラウドコンピューティング通話呼センタを含むテレフォニシステムの概略図である。クラウドコンピューティング通話呼センタ105は、サーバ112,114,116を含むクラウドコンピューティングハードウェア110の全体または一部に対して動作することができる。クラウドコンピューティング通話センタは、1つ以上の仮想インスタンス120,122,124,126を含む。仮想インスタンス120のうちの1つは、通話呼制御サービス130を実施することができる。仮想インスタンス122,124,126は、通話呼フローサービス132,134,136をそれぞれ実行する。通話呼フローサービス132,134,136は、公衆電話網145を介した電話網発信側140またはインターネット発信側142、およびインターネット155を介したクラウドコンピューティングセンタ105と通信するエージェント150の間で、通話呼についてサービス提供することができる。通話呼フローサービス132,134,136は、いかなる数の音声処理リソース138により提供されるサービスをも利用することができ、この音声処理リソース138は、クラウドコンピューティング通話呼センタ105によって提供することができる。構成管理ツール160はまた、クラウドコンピューティング通話呼センタ105の状況を管理するために設けることもできる。通常、以下にさらに説明するように、通話呼フローサービス132,134,136は、通話呼に対しカスタマ特有のテレフォニリソースを動的に割り当てることによって、複数のカスタマにサービス提供することができる。さらに、以下にさらに説明するように、通話呼制御サービス130は、クラウドコンピューティング通話呼センタ105での通話呼の量をモニタすることができ、要求にしたがって余分な仮想インスタンスおよび/または余分な通話呼フローサービスの割当および割当解除を行うことができる。このように、クラウドコンピューティング通話呼センタ105は、いくつかの実施形態において、現在の通話呼量に必要とされるのと同程度のクラウドコンピューティングハードウェア110のみを利用することができる。016クラウドコンピューティング通話呼センタ105は、パブリックまたはプライベートのクラウドコンピューティング環境において実施することができる。アマゾンのEC2システムまたは他の類似のシステムといった商用のクラウドコンピューティング環境を使用することができる。いくつかの実施形態では、商用のクラウドコンピューティング環境の組合せを使用することができる。いくつかの実施例において、仮想インスタンスは、別々のクラウドコンピューティング環境において生成することができるが、あたかもそれらの全てが同じクラウドコンピューティング環境内で動作するかのように、同じように機能することができる。通常、クラウドコンピューティング環境は、クラウドコンピューティングハードウェア110を提供することができる。クラウドコンピューティングハードウェア110は、任意の数のサーバ、または処理ユニットおよび電子ストレージのその他の配置を含むことができる。クラウドコンピューティング環境はまた、クラウドコンピューティングハードウェア110の部分上の、仮想インスタンス120,122,124,126といった複数の仮想インスタンスを走らせる能力を提供することもできる。特に、各仮想インスタンスは、一意のオペレーティングシステムおよびソフトウェアスタックをハウジングすることができる物理的なサーバ内の論理パーティションとして実装することができる。したがって、各仮想インスタンス120,122,124,126は、命令と共にエンコードされるコンピュータ可読媒体の全部または一部を含み、当該命令が、クラウドコンピューティングハードウェア110の1つ以上の処理ユニットに、仮想インスタンスが有する説明する機能を実行させる。多くの仮想インスタンスは、単一の物理的なサーバ内で動作中であってよい。いくつかの実施例において、クラウドコンピューティング通話呼センタ105のオペレータは、走っている仮想インスタンスの数およびサイズにしたがって商用クラウドコンピューティングプロバイダに課金を行ってもよい。仮想インスタンスは、インスタンスに割り当てられる処理パワーおよびメモリサイズによって特定されるサイズを有することができ、そして、コストは処理パワーおよびメモリサイズに基づいてもよい。クラウドコンピューティング環境は、仮想インスタンスのオンデマンドの割当を許容し、新規な仮想インスタンスによって、即座にまたは数秒あるいは数分内のうちに処理用に利用可能となる。同様に、仮想インスタンスは、動的な方法でクラウドコンピューティング環境からの割当解除を行うことができる。クラウドコンピューティングハードウェア上の仮想インスタンスを走らせ、物理的なハードウェアを仮想インスタンスに割り当てるための様々な実装は、公知技術であり、使用することができる。017クラウドコンピューティング通話呼センタ105は、通常、通話呼制御サービス130を実施し、いかなる数の電話番号に関連付けられたエンティティへの通話呼をも受け取ることができる。通話呼制御サービス130は、通話呼を利用可能な通話呼フローサービスにルーティングする。このように、各通話呼制御サービス130は、通話呼を複数の通話呼フローサービスにルーティングすることができる。一旦通話呼が通話呼フローサービスにルーティングされると、通話呼制御サービス130は通話呼を処理することにもはや関与できない。各通話呼フローサービスは、各受け取った通話呼ごとに、適切なダイヤルプランまたはそのほかの通話呼の対処法をロードすることができ、また、ロードしたダイヤルプランにしたがって通話呼を処理することができる。ダイヤルプランは、1つ以上の音声処理リソース138の使用を特定することができる。各通話呼フローサービスは、いくつかの実施例では、複数の電話番号を所有するエンティティに同時にサービス提供するための複数のダイヤルプランをロードすることができる。アナログ的なやり方では、アウトバンドコールは、通話呼制御サービス130により、通話呼フローサービスの1つにルーティングすることができ、また、通話呼フローサービスは、アウトバンドの通話呼を作成するカスタマに関連付けられたダイヤルプランをロードすることができる。018単一バージョンの通話呼制御サービス130だけを、いくつかの実施形態では提供する必要があり、複数の通話呼フローサービスに通話呼をルーティングする。いくつかの実施形態において、複数のバージョンの通話呼制御サービス130は、クラウドコンピューティング通話呼センタ105において動作することができ、それはフォールトトレランスおよび冗長性を有利に改善することができる。さらに、更新は自動的にその場で実施することができる。その一方で、通話呼制御サービス130は動作しており、ダイヤルプランまたはその他の通話呼の対処法の情報、および次の通話呼を受け取るときの通話呼フローサービスによってロードされる新規の情報を変更することができる。さらにまた、後に説明するように、通話呼フローサービスは、通話呼の処理を中止するために割当解除を行うこともできる。019したがって、通話呼フローサービスに対する更新が望まれる場合、その更新を採用する新規な通話呼フローサービスは追加され、また、古い通話呼フローサービスはもはや新規の通話呼を受け取ることができず、通話呼が終了すると割当を解除することができる。さらにまた、通話呼制御サービス130への更新が望まれる場合、新規な通話呼制御サービスプログラムは、通話呼制御サービス130と並列して開始することができ、また、その次の通話呼が新規な通話呼制御サービスにルーティングすることができる。通話呼制御サービス130は、次いで、もはや通話呼を処理しないときには、割当を解除することができる。このように、更新は、クラウドコンピューティング通話呼センタ105が動作している間に発生させることができる。0203つの仮想インスタンス120,122,124,126を図1に示したが、しかしながら、いかなる数をも用いることができる、また、クラウドコンピューティング通話呼センタ105に含まれる仮想インスタンスの数は、クラウドコンピューティング通話呼センタ105への負荷にしたがって変更することができる。通話呼制御サービス130は、インスタンス120,122,124,126によって扱われる通話呼の数に基づいて、追加の仮想インスタンスの割当または割当解除をすることができる。すなわち、通話呼制御サービス130は、高い閾値および低い閾値を有するいくつかの実施形態でプログラムすることができる。既存のインスタンスによって扱われる多くの通話呼が高い閾値と等しいかまたはそれを超過する場合に、通話呼制御サービス130は1つ以上の追加インスタンスを追加することができる。既存のインスタンスによって扱われる通話呼の数が低い閾値に等しいかまたはこれより少ない場合、通話呼制御サービス130は1つ以上のインスタンスの割当てを解除することができる。通話呼制御サービスについて、以下に更に説明する。いくつかの実施形態において、1つ以上の追加の通話呼フローサービスを、現在の容量で命じられた数以上に提供することができる。この追加通話呼フローサービスは、負荷の急増に対処するのに有利なものとすることができる。0213つの通話呼フローサービス132,134,136が図1に示され、1つの通話呼フローサービスが仮想インスタンス122,124,126の各々上で走っている。いかなる数の通話呼フローサービスをも使用することができ、また、いくつかの実施形態では、2以上の通話呼フローサービスは単一の仮想インスタンスによって動作することができる。いくつかの実施形態において、通話呼制御サービス130は、通話呼フローサービス132,134,136の1つ以上と同一の仮想インスタンスにおいて実施することができる。仮想インスタンス、クラウドコンピューティングハードウェアならびに通話呼制御サービスと通話呼フローサービスの分散についての配置は、全くフレキシブルであると理解されるのが通常である。各通話呼フローサービス132,134,136は、複数のカスタマについて通話呼に対処することができる。各通話呼フローサービス132,134,136は、双方向音声応答のようなテレフォニリソース、または音声処理リソースのようなカスタマ特有のリソースを通話呼動的に割り当てることができる。このように、通話呼フローサービス132,134,136は、マルチテナントなサービスとすることができる。022通話呼フローサービス132,134,136は、1つ以上の共有音声処理リソース138を通話呼に適用することができる。音声処理リソース138は、例えば、音声認識、話者認識、テキストから音声への変換、感情検知、またはこれらの組み合わせを含むことができる。このように、音声認識のような特徴は、何百または何千もの通話呼までにも、同時に割り当てることができる。023いくつかの実施形態において、通話呼フローサービス132,134,136の1つ以上は、例えば相互接続されることによって結合されることができる。通話呼フローサービスは、音声処理リソース138のようなテレフォニリソースによって、相互接続に割り当てられることを可能にする。これにより、例えば、会議ブリッジが複数の通話呼フローサービス全体に動作することを可能にする。通話呼フローサービス間の接続は、要求に基づいて動的に割り当てることもでき、また、ダイヤルプランによって特定されるために、増加または減少することができる。024発信側140,142は、通常、1つ以上のエージェント150に発信しているエンティティまたは発信された電話番号に関連付けられたその他のエンティティを参照する。発信側140,142は、通常、電話、携帯電話またはインターネット対応デバイスといった、発信する1つ以上のデバイスに関連付けられるがこれに限定されない。エージェント150は、例えばレストランチェーンまたは通話呼センタオペレータといった企業体に関連付けられることができる。発信側142は、ネットワーク155、例えば、ボイスオーバIPVoIPを用いたインターネットを通じて通信することによって、発信を行うことができる。発信側140は、公衆電話網145を通じて通信することによって、発信を行うことができる。クラウドコンピューティング通話呼センタ105は、インターネット155および/または公衆電話網145から通話呼を受け取り、発信側を着信呼エージェント150と接続する。発信されたエージェント150は、インターネット155を介して、または、いくつかの実施形態では公衆電話網145を介してアクセス可能とすることができる。PSTN145への多くの接続が存在することもある。アウトバンドの通話呼は、いくつかの実施形態では、下層のPSTNサービスの総コストに基づいてPSTN145への接続を通じて、外部にルーティングすることができる。クラウドコンピューティング通話呼センタ105は、通話呼を受け取ることができ、通話呼は通話呼フローサービス132,134,136の1つによって処理することができる。通話呼フローサービスは、発信された番号と関連付けられる特定の通話呼の対処法をロードし、および利用することができる。通話呼の対処法は、双方向音声応答または他の機能を含むことができる。このように、通話呼フローサービスは、ソフトウェアPBXとして機能することができる。025構成管理ツール160を提供することができ、また、インターネット155を介してクラウドコンピューティング通話呼センタ105に結合することができて、クラウドコンピューティング通話呼センタ105のパラメータ、例えば、テレフォニリソースまたは発信された番号に関連付けられる1つ以上のエンティティに特有の利用可能なその他の構成、を管理し、または、上記した高低の閾値を調整することによるような、インスタンスの割当または割当解除を行うような方法を制御する。構成管理ツールは、インターネットを通じて利用可能とすることができ、1つ以上のダイヤルプランについて即時の修正を許容することができる。変更態様として、クラウドコンピューティング通話呼センタ105の通話呼フローサービスを即時利用可能としてもよい。追加ツールはまた、カスタマに対し、カスタマの電話番号1または複数に関連付けられたキューイングされた通話呼をモニタする機能、およびキューイング性能、エージェント性能、エージェント状態などをモニタする機能を設けることもできるが、これに限定されない。026図2は、本発明の実施形態によるクラウドコンピューティング通話呼センタが有するいくつかのコンポーネントについての概略図である。通話呼制御サービス130および通話呼フローサービス132の例示のコンポーネントが示されている。通話呼制御サービス130は、ステータスモニタ205、着信呼自動分配210、シグナリングサーバ215を含むことができ、SIPプロキシ、通話呼フローコントローラ220および管理ツール225とすることができる。これらコンポーネントは、仮想インスタンス120および122に関連付けられたクラウドコンピューティングハードウェア上のコンピュータ可読媒体に格納した実行可能命令として、実装することができる。実行可能命令は、クラウドコンピューティングハードウェア110の1つ以上の処理ユニットによって実行することができ、説明の機能を提供する。別のコンポーネントとして示しているものの、コンポーネント205,210,215,220,225の一部もしくは全部は、物理的に別個のものでなくてもよく、また、いくつかの実施形態では同一のコンピュータ可読媒体上でエンコードされるソフトウェアコードで実装することができる。通話呼制御サービス130は、以下にさらに説明するように、クラウドプロバイダインタフェース270と通信することができる。027通話呼制御サービス130は、発信側140,142から通話呼を受け取る。通話呼制御サービス130は、適切な通話呼フローサービスを選択して、各通話呼を処理する。通話呼の選択は、通話呼制御サービス130が受け取る時またはその前後で、通話呼フローサービスの各々の負荷に基づくものとすることができる。次いで、通話呼フローサービス132のような選択された通話呼フローサービスは、発信された番号に基づいて、ダイヤルプランまたはその他のカスタマ特有のリソースをロードすることができる。通話呼フローサービス132は、次いで、ロードしたダイヤルプランにしたがって通話呼を処理することができる。これら機能の実装について、以下に詳細に説明する。028通話呼フローサービス132は、セッションマネージャ230、1つ以上の通話呼マネージャ235,236、メディアプロセッサ240およびレコーダ245を含むことができる。通話呼フローサービス132はまた、ローカルストレージ250を含むこともできる。再度、これらのコンポーネントは、仮想インスタンス120と関連付けられるクラウドコンピューティングハードウェアのコンピュータ可読媒体上に格納される実行可能命令として実装することができる。実行可能命令は、クラウドコンピューティングハードウェア110が有する1つ以上の処理ユニットによって実行することができ、説明の機能を提供する。別個のコンポーネントとして示しているものの、コンポーネント230,235,236,240,245の一部もしくは全部は、物理的に別個のものでなくてもよく、また、いくつかの実施形態では同一のコンピュータ可読媒体でエンコードされるソフトウェアコードで実装することができる。いくつかの実施形態では、通話呼制御サービス130のコンポーネントと結合することができる。物理的な位置およびコンポーネントの実施がフレキシブルとすることができることが理解されるべきである。029通話呼制御サービス130および通話呼フローサービス132は、通話呼センタデータベース255、シグナリングサーバデータベース260、およびクラウドストレージ265に格納されるデータにアクセスすることができる。シグナリングサーバデータベース260は、SIPプロキシデータベースとすることができる。別個のデータベースとして示しているものの、いくつかの実施例では、データベース255,260,265の一部または全部は結合することができる。データベース255,260,265の一部または全部は、図1のクラウドコンピューティングハードウェア110上に備わることができる。030一般に上記説明したように、通話呼フローサービス132は、2以上のカスタマ、すなわち、発信された番号に関連づけられる2以上のエンティティが利用することができる。いくつかの実施形態において、または、特定の時間点において、通話呼フローサービス132が単一のカスタマによって用いられることがある。しかしながら、通話呼フローサービス132は、複数のカスタマによって利用されることを許可するように機能する。通話呼サービス132について指定される着信通話呼は、SIPプロキシのようなシグナリングサーバから通話呼サービス132によって受け取ることができる。以下にさらに説明する。通話呼サービス132のメディアプロセッサ240は、通話呼を処理するように機能することができ、また、例えば、音声ファイルから他のメディア形式への変換を提供し、または通話呼を処理するのに所望の他のメディア処理を実行することができる。031通話呼マネージャ235は、各通話呼のために提供することができ、次いで、メディアプロセッサ240は、通話呼に関する情報を通話呼マネージャ235に提供することができる。特に、通話呼マネージャ235は、いくつかの実施形態では、発信された番号を用いて被発信番号に関する情報を受け取ることができる。いくつかの実施形態において、アウトバンドのコールのために、カスタマは、発信するのに使用されるSIPデバイスに基づいて通話呼を識別することができる。発信された番号またはSIPデバイスに基づいて、通話呼マネージャ235は、例えば、ダイヤルプランおよび/またはの相互音声応答システムと関連付けられた1つ以上の音声ファイルといったカスタマ特有のリソースを、発信された番号と関連づけられたカスタマについてロードすることができる。ダイヤルプランおよび/または音声ファイルは、通話呼センタデータベース255、クラウドストレージ265もしくはその双方に、または、キャッシュまたは通話呼マネージャ235にアクセス可能なほかの位置に格納することができる。032ダイヤルプランは、通話呼対処法とも称され、特定のカスタマおよび/または特定の電話番号に関連付けられる通話呼の処理に関する如何なる様々な情報をも含むことができる。この情報は、例えば、カスタマの全てのエージェントが例えば通話呼をキューに送ることによってビジー状態であるときに、いつ通話呼を4桁または他の内線のダイヤル設定などのボイスメールシステムに転送するかについてのその通話呼の扱い方を含むことができる。いくつかの実施形態において、ダイヤルプランは、音声処理リソースが通話呼にアタッチすることを指定することができる。ダイヤルプランはまた、通話呼が公衆電話網を通じて後方にルーティングされるように指定することもできる。このように、いくつかの実施形態における本システムは、音声処理リソースを、既存の通話呼センタおよび/またはPBXに対して、いくつかの実施例での新しい機器の設置を必ずしも要求する必要なく提供することができる。インバウンドであれアウトバウンドであれ、ダイヤルプランは、通常、通話呼を発生および適用できる特定のルールやアクションを参照する。ダイヤルプランは、スクリプト、音声xml、ソフトウェア、設定パラメータ、またはルールおよびアクションを特定するこれらの組み合わせを含むことができる。取り出した情報はキャッシュ図2に示されないに格納でき、通話呼マネージャ235は、いくつかの実施形態の遠隔データベースを検査する前に、キャッシュにアクセスしてカスタマ特有のデータをロードする。通話呼マネージャ235によってロードされるカスタマに特有のテレフォニリソースは、次いでこの通話呼を実施するために用いることができる。033いくつかの実施形態において、通話呼フローサービスは、ごく最近のバージョンのダイヤルプランがキャッシュに格納されるのを検証することができる。いくつかの実施形態において、最も頻繁に使用されたダイヤルプラン、または使用についての閾値量を超えたダイヤルプランは、最初に新規な通話呼フローサービスのキャッシュに格納することができる。このように、いくつかのダイヤルプランのアクセスタイムは、有利に節約することができる。各通話呼に特有のダイヤルプランをロードすることによって、ダイヤルプランはコンフリクトしている設定を有することもでき、また、通話呼を処理するのになおも用いることができる。例えば、1のカスタマは、内線1234が1つのテレフォニリソース例えば電話、通話呼キューまたは会議の機能であるが、これに限定されないに関連付けられることを指定するダイヤルプランを有することができる一方、別のカスタマは、内線1234が異なるテレフォニリソースに接続されることを指定するダイヤルプランを有することができる。ダイヤルプランは通話呼当たりに基づいて通話呼フローサービスによってロードおよび利用することができるので、表面上コンフリクトするダイヤルプランであっても適切に実施することができる。処理中の通話呼に関する音声情報は、メディアプロセッサ240に提供することができ、また、このメディアプロセッサ240は、通話呼の間に発生するデータまたは通話呼に関する他のデータをローカルストレージ250に書き込むことができる。いくつかの実施形態において、レコーダ245は、通話呼を記録し、それをローカルストレージ250からクラウドストレージ265にアップロードすることができる。他のコンポーネントは、図1の他の音声処理リソース138について実施するために所望のとおり提供することができる。034セッションマネージャ30は、通話呼フローサービス132によって処理される通話呼をモニタする。すなわち、セッションマネージャ230は、メディアプロセッサ240および/または通話呼マネージャ235,236によって処理される通話呼をモニタする。セッションマネージャ230は、通話呼センタ制御サービス130と通信して、処理中の通話呼の数といった、通話呼フローサービス132に関するステータス情報を提供する。通話呼マネージャ235,236、メディアプロセッサ240およびセッションマネージャ230間の通信は、プロセス間通信IPCといったいかなる適切なソフトウェアプロトコルをも使用して実施することができる。035このように、通話呼フローサービス132は、ダイヤルされた番号、ダイヤルプランまたは音声ファイルといった、ダイヤルされた番号に基づくカスタマ特有のリソースをロードし、およびそのロードされたリソースを用いて通話呼を処理することができる。いかなる数の通話呼をも、通話呼フローサービス132は処理することができ、また、1つの通話呼マネージャが各通話呼のために提供することができる。各通話呼マネージャは、異なる通話呼についての異なるカスタマ特有リソースをロードすることができ、したがって、通話呼フローサービス132はマルチテナントな通話呼処理ソリューションを提供することができる。036上記一般的に説明したとおり、通話呼制御サービス130は、クラウドコンピューティング通話呼センタ105に対し、追加的な仮想インスタンスの動的な割当および割当解除を許容する。図2を参照すると、通話呼制御サービス130は、シグナリングサーバ215を含むことができる。いかなる数のエージェントまたは発信側でも、インターネットまたは他のネットワーク接続を介してシグナリングサーバ215に接続することができる。シグナリングサーバ215は、クラウドコンピューティング通話呼センタ105を用いて、カスタマ、エージェントおよび/またはエージェントに対してユーザ登録を維持することができる。シグナリングサーバ215は、通話呼の音声を処理することができないが、受け取った通話呼のシグナリングパラメータを処理することができる。通話呼の音声は、上述した通話呼フローサービスのメディアプロセッサ240によって処理することができる。しかしながら、シグナリングサーバ215は、最初に通話呼を受け取り、受け取った通話呼をクラウドコンピューティング通話呼センタ105で選択された通話呼フローサービスに分配することができる。適切な通話呼フローサービスは、さまざまな方法で選択することができる。いくつかの実施形態において、通話呼がシグナリングサーバ215によって受け取った時間において最も利用されていない通話呼フローサービスを用いることができる。他の実施態様において、異なる時間に測定した最も利用されていない通話呼フローサービスを用いることができる。他の実施態様において、シグナリングサーバ215は、着信した通話呼を、通話呼フローサービスが容量または閾値に達するまで同一の通話呼フローサービスにルーティングすることができ、次いで、他の通話呼フローサービスを後続の通話呼のために選択することができる。図2の実施形態において、シグナリングサーバ215は、着信した通話呼を最も利用されていない通話呼フローサービスにルーティングするように構成することができる。また、通話呼フローサービス132は、クラウドコンピューティング通話呼センタ105において最も利用されていない通話呼フローサービスであってもよい。したがって、着信する通話呼は、シグナリングサーバ215によってメディアプロセッサ240に提供することができる。037上記のように、セッションマネージャ230が通話呼フローサービス132によって処理される通話呼をモニタできることを思い出す。同様に、他の通話呼フローサービスについての他のセッションマネージャは、それら各々のサービスによって処理される通話呼をモニタすることができる。セッションマネージャは、処理中の通話呼の数といった通話呼フローサービスのそれぞれの負荷に関する情報を、通話呼フロー制御サービス132に対して提供することができる。この情報は、例えば、ステータスモニタ205に提供することができる。ステータスモニタ205はまた、通話呼またはサービスの更新に関するセッションマネージャ230から情報を受け取ることもできる。ステータスモニタ205は、受け取った情報を通話呼センタデータベース255、またはステータスモニタにアクセス可能な他のストレージに格納することができる。038ステータスモニタ205は、通話呼フローコントローラ220と通信することができ、通話呼フローサービス132および他の通話呼フローサービスに関する負荷情報を、通話呼フローコントローラ220に対して提供する。他の実施態様において、通話呼フローコントローラ220は、通話呼フローサービス132、またはクラウドコンピューティング通話呼センタ105の他の通話呼フローサービスから直接的に負荷情報を受け取ることができる。通話呼フローコントローラ220は、したがって、クラウドコンピューティング通話呼センタ105における1つ以上の通話呼フローサービスへの負荷をモニタすることができる。通話呼フローコントローラ220は、各通話呼フローサービスごとの負荷情報を、シグナリングサーバデータベース260に格納することができる。負荷情報は、要求されるのと同頻度で更新することができる。通話呼フローコントローラ220は、コマンドをシグナリングサーバ215に提供することができ、データベースの更新に続くシグナリングサーバデータベース260内の情報を問い合わせる。シグナリングサーバデータベース260は、例えば、シグナリングサーバ215の構成として実装することができる。シグナリングサーバ215は、したがって、シグナリングサーバデータベース260に格納される負荷情報を問い合わせることができ、また、どの通話呼フローサービスが次に通話呼を受け取るべきかを決定するために負荷情報を利用することができる。他の実施態様において、他のメッセージングプロトコルは、負荷情報を伝達するために、シグナリングサーバ215と通話呼フローコントローラ220の間で使用することができる。039通話呼フローコントローラ220は、したがって、クラウドコンピューティング通話呼センタ105における通話呼フローサービスに関する負荷情報を受け取る、および/またはアクセスすることができる。通話呼フローコントローラ220はまた、負荷情報に基づいて通話呼フローサービスの割当または割当解除を行うこともできる。例えば、通話呼フローサービスの数が高い閾値に対応する負荷あるいはそれ以上であるときに、通話呼フローコントローラ220は、新規な通話呼フローサービスをクラウドコンピューティング通話呼センタ105に割り当てることができる。割当は、通話呼フローコントローラ220自体によって実行することができ、または、通話呼フローコントローラ220は、商用のクラウドプロバイダにより提供されるAPIといったクラウドプロバイダインタフェース270と通信することができ、その結果、追加のインスタンスをクラウドコンピューティング通話呼センタ105に割り当てる。040同様に、クラウドコンピューティング通話呼センタ105が低い閾値以下の負荷で動作しているとき、通話呼フローコントローラ220は、クラウドコンピューティング通話呼センタ105から1つ以上の通話呼フローサービスの割当解除を行うことができる。特定の通話呼フローサービスが割り当てられることになること、およびどの着信呼もが割当解除した通話呼フローサービスにルーティングされることがないことについての指示は、シグナリングサーバ215に提供することができるか、シグナリングサーバデータベース260に格納することができる。一旦通話が完了すると、通話呼フローサービスは、クラウドコンピューティング通話呼センタ105から割当てを解除される。この割当解除は通話呼フローコントローラ220自体によって実行することができ、または、通話呼フローコントローラ220が、1つ以上のインスタンスの割当解除をするためにクラウドプロバイダインタフェース270と通信することができる。一般的に、いくつかの実施形態において、最も古い通話呼フローサービスが最初に割当解除することになり、それはメモリリークを有利に削減することができ、また、システムの安定性を増すことができる。割当解除の間、通話呼フローサービス自体においてローカルに格納したデータは、クラウドストレージ265にアップロードすることができる。すなわち、例えば、通話呼フローサービス132が、通話呼フローコントローラ220またはクラウドプロバイダインタフェース270から割当解除の指示を受け取ると、ローカルストレージ250または通話呼フローサービス132にローカルな他のストレージに格納されたデータがクラウドストレージ265にアップロードされることができる。このように、データは、クラウドコンピューティング通話呼センタ105における他の通話呼フローサービスまたは通話呼制御サービスにアクセス可能とすることができる。更に、イベントデータといったいかなる報告情報をも、セッションマネージャ230によって、割当解除の指示に応じてステータスモニタ205に提供することができる。このように、ストレージおよび報告の情報は、通話呼フローサービス132から転送することができ、通話呼フローサービス132は安全に割当解除される。041通話呼フロー制御サービス130はまた、1つ以上の自動着信分配ACD210を含むこともできる。ACDは、この技術分野で公知のように、特定のカスタマのエージェントを待ち構えている1つ以上の通話呼をキューングするように機能することができる。ACD210は、各カスタマごとに仮想キューを維持することができ、このキューに関するステータス情報をステータスモニタ205に提供することができる。ACD210は、例えば通話呼フローサービス132といった適切な通話呼フローサービスに対し、キューからの発信側を提供することができる。しかしながら、ACD210は、いくつかの実施形態において、例えば図2に示すように、通話呼フローサービス132の一部でなくてもよく、複数の通話呼フローサービスと通信することができる。このように、キューイングされたユーザは、所望のとおり複数の通話呼フローサービス全体に分散することができる。同様に、アクティブ状態でカスタマにサービス提供しているエージェントは、複数の通話呼フローサービス全体に分散することができる。そして、例えば、ACD210は、適切なエージェント150が通話呼に対処するために利用できるかどうかを決定するために、シグナリングサーバデータベース260にアクセスすることができる。適切なエージェントが利用可能でない場合、ACD210は、通話呼フローサービス132と通信して、維持している音楽を再生することにより、またはカスタマのダイヤルプランで特定されるほかのアクションにより、通話呼を維持する。適切なエージェントが利用可能となった場合、ACD210は、通話呼フローサービス132と通信することができ、その利用可能なエージェントに通話呼をルーティングする。ACD210はクラウドコンピューティング通話呼センタにおける一部または全部の通話呼フローサービスと通信することができるので、ACD210は共用リソースであり、また、各通話呼フローサービスごとに複製される必要がない。さらに、ACD210は多くのカスタマ間で分配することができ、各々がそれら自身のキューを維持する。すなわち、ACD210は、エージェントを待ち構えている発信側の複数のキューを維持することができる。要約すると、いくつかの実施形態において、複数のACDがあり、各ACDは複数の通話呼フローサービスにサービスを提供することができる。さらには、各ACDは、通話呼制御サービスと別個に実装することができる。042通話呼フロー制御サービス130はまた、管理ツール225を含むこともできる。管理ツール225は、カスタマまたは他のエンティティがクラウドコンピューティング通話呼センタ105を管理者となることを許可する。例えば、エージェントを追加するために、閾値を変更するといった通話呼フローコントローラ220によって実施される負荷バランシング処理を管理し、通話呼試験を行い、もしくは、これに限定されないがダイヤルプラン、双方向音声応答のサービスおよび構成、音声アセット、ならびに他のテレフォニリソースといった、カスタマに特有のリソースを変更または追加する。管理ツール225は、ウェブサービスとして実装することができ、また、仮想インスタンスをクラウドコンピューティング通話呼センタ105に追加するためにクラウドプロバイダインタフェース270と通信することもできる。043追加の特徴をクラウドコンピューティング通話呼センタ105に提供することができ、図1の仮想インスタンス120、122および124の一部または全部にアクセス可能とすることができる。この追加の特徴は、これに限定されないが、例えば音声認識または感情認識といった通話呼の間に発生したデータを操作し、または相互作用するためのいかなる処理をも実質的に含むことができる。このように、クラウドコンピューティング通話呼センタ105のいかなるカスタマもが、各通話呼フローサービスごとに特有の特徴を必要とすることなくサービスを利用することができる。044図3は、本発明の実施形態による、クラウドコンピューティング通話呼センタから仮想インスタンスの割当および割当解除を行うのに用いることができる例示のデータについての概略図である。データは、例えば、図2のシグナリングサーバデータベース260に、または、通話呼フローコントローラおよび/またはシグナリングサーバ215にアクセス可能な他の位置に格納することができる。負荷バランシングパラメータは、表305に格納することができる。負荷バランシングパラメータは、ベースライン容量307を含むことができる。ベースライン容量307は、図3に示した実施形態での250つの通話呼に等しいが、いかなる適切な数をも用いることができる。ベースライン容量307は、いくつかの実施形態において異なる通話呼フローサービスに次の着信呼を提供する前に、単一の通話呼フローサービスによって扱われることになる通話呼の数を参照する。ベースライン容量は、すべての利用可能な通話呼フローサービスがベースライン容量で利用されるまで、使用することができる。ベースライン容量307は、上記の高い閾値としてサービス提供することができる。045サージ容量310はまた、特定され格納されることもできる。サージ容量310は、すべての利用できる通話呼フローサービスがベースライン容量以上であるときに、単一の通話呼フローサービスによって扱われる通話呼の数を参照する。サージ容量310は、図3に示した実施形態では300個の通話呼であるが、いかなる適切な数をも用いることができる。サージ容量310はまた、上記の高い閾値としてサービス提供することもできる。新規なサーバを始動するために必要な時間315を格納することもできる。時間は、図3の実施形態では90秒であるが、新しく割り当てられた仮想インスタンス上の通話呼フローサービスをセットアップするために必要な時間に従って変えることができる。時間は、新規な仮想インスタンスが新規な通話呼にサービス提供するのに利用可能であるときに考慮することができる。さらに以下に説明する。未使用の通話呼フローサービスを削除する前の時間320もまた格納することもできる。時間は、図3の実施形態では300秒であるが、いかなる数をも用いることができる。また、時間は、通話呼フローコントローラまたは通話呼の到着間レートに基づく他のシステムコンポーネントによって、動的に算出することができる。046現在負荷の表325をまた格納することもできる。現在負荷の表325は、クラウドコンピューティング通話呼センタの現在負荷327を特定することができ、その時点における8083個の通話呼について図3に示される。現在負荷327は、例えば、図2の通話呼フローコントローラ220によって報告することができる。現在負荷の表325はまた、最大ベースライン負荷330を格納することもできる。最大ベースライン負荷330は、図3に示した実施形態では7500個の通話呼であり、そして、最大ベースライン負荷330は、通常は、ベースライン容量307によって増やされる利用可能な通話呼フローサービスの数に等しくなる。最大総負荷335をまた、格納することもできる。最大総負荷335は、図3に示した実施形態での9000個の通話呼であり、通常は、サージ容量310によって増やされる利用可能な通話呼フローサービスの数に等しい。動作中の通話呼フローサービス340の総数をまた、格納することもでき、図3に示した実施形態では30個に等しい。動作中の通話呼フローサービス340の総数は、クラウドコンピューティング通話呼センタにおいて利用可能な通話呼フローサービスの数を反映する。不足サービス342もまた、格納することもできる。不足サービス342は、通常、現在負荷327を最大ベースライン負荷330に等しいかそれ以下にするために必要となる、追加の呼フローサービスの数に等しい。不足サービス342は、図3の実施形態では3個の通話呼フローサービスである。何故ならば、現在負荷327は最大ベースライン負荷を583超える通話呼であり、そして、サービス当たり250個の通話呼ベースライン容量での3個の追加の通話呼フローサービスを十分に増加させて、現在負荷327に適応するからである。047図3に別個の表として示したものの、負荷バランシングパラメータ305および現在負荷325の表は結合することができる。いくつかの実施形態において、示した項目の全てが各表に存在してもよいというわけではなく、いくつかの実施形態では、追加パラメータを含めることができる。図2の通話呼フローコントローラ220は、現在負荷327および動作中の全ての通話呼フローサービス340を含むがこれに限定されない表305および325のパラメータを更新することができる。管理ツール225はまた、そのベースライン容量307、サージ容量310、新規な通話呼フローサービス315を開始する時間、および通話呼フローサービス320の未使用通話呼を削除する前の時間を含むがこれに限定されない、表305および325の値を更新することもできる。048動作中サービスの表350をまた、格納することもできる。動作中サービスの表350は、ファーストインファーストアウトの表とすることができる。但し、他の実施態様を用いることができる。動作中サービスの表350は、各利用可能な通話呼フローサービスについての識別子と通話呼フローサービスによって処理される通話呼の数を提供する。例えば、0―29と番号付けされた通話呼フローサービスが、各通話呼フローサービスが取り扱っている通話呼の数とともに、図3に示される。図3に示すように、0-10で特定される通話呼フローサービスは、300個の通話呼のサージ容量で動作している。11-16、18-19、21-23および25-29で特定される通話呼フローサービスは、250個の通話呼のベース容量で動作している。シグナリングサーバ215は、どこに次の着信呼をルーティングするべきかについて決定するために、動作中サービスの表350にアクセスすることができる。いくつかの実施形態において、次の着信呼は、ベースライン容量以下で、動作中サービスの表350で最も低いもの、例えば、図3の実施形態では通話呼フローサービスの符号17に対してルーティングすることができる。2つの通話呼フローサービスがベースライン容量以下である場合、いくつかの実施形態では、表上で最も低い通話呼フローサービスを使用することができる。但し、他の実施態様が着信呼をルーティングするために用いることができる。例えば、通話呼は、図3の符号24で特定される通話呼フローサービスのように、最少の数の通話呼の全体を有する通話呼フローサービスに、ルーティングすることができる。通常、新規の通話呼フローサービスは表350の最上部に追加することができ、また、FIFOである表350の最下部から割当解除をすることができる。但し、他の実施態様を用いることができる。動作中サービスの表350は、図2の通話呼フローコントローラ220によって更新および維持することができる。049ビットテーブル355は、シグナリングサーバ215またはその他のキューイング処理を支援して適切な通話呼フローサービスに通話呼をルーティングするために格納することができる。ビットテーブル355は、各利用可能な通話呼フローサービスの識別、および通話呼フローサービスがベースライン容量357かサージ容量359について利用可能かどうかの指標を含む。例えば、通話呼フローサービス17,20,24は、図3のベースライン容量について利用可能とすることができ、その一方で、通話呼フローサービス11-29はサージ容量について利用可能とすることができる。シグナリングサーバ215は、ビットテーブル355にアクセスすることができ、直ちに、ベースライン容量について利用可能な最も低い。通話呼フローサービス、または、通話呼フローがベースライン容量について利用可能でない場合には、サージ容量について利用可能な最も低い通話呼フローサービスを特定して着信呼をルーティングする。指標は図3ではYで示される。但し、0または1を含むいかなる指標をも用いることができる。050初期化されているサービスについての表360をまた格納することもできる。表360は、ファーストインファーストアウトの表とすることができる。但し、他の実施態様を用いることができる。表360は、初期化されている通話呼フローサービスについての識別子、および通話呼フローサービスが初期化している時間量を含むことができる。どの通話呼フローサービスも初期化されていないときには、通話呼フローコントローラ220は、いくつかの実施形態において新規な通話呼フローサービスを初期化する処理を始めることができる。他の実施態様において、システムの負荷といった異なるトリガを用いることができ、第1の追加の通話呼フローサービスがいつ初期化されるべきかについて決定することができる。図3の実施例では、追加の通話呼フローサービス0は、初期化される最後の追加通話呼フローサービスが利用可能とされた85秒前に、初期化され始めた。現在負荷327フィールドに示されるように、システムの負荷が、初期化されている通話呼フローサービスの数のベースライン容量を加えたベースライン負荷330を超過したときには、通話呼フローコントローラ220は追加の通話呼フローサービスの初期化を開始することができる。したがって、図3で、表360の追加の通話呼フローサービス1は、現在負荷が初期化した通話呼フローサービス0のベースライン容量を加えた最大ベースライン負荷を超過した12秒前に初期化され始めた。同様に、追加の通話呼フローサービス2は、現在の負荷が初期化したサービス0および1の容量を加えた最大ベースライン容量を超過した2秒前に初期化され始めた。通話呼フローサービスの初期化が終了したときに、初期化された表360にあるサービスから削除され、動作中サービスの表350に追加されることができる。いくつかの実施形態において、例えば履歴上のシステム性能または負荷といった経験的データは、予測される将来の要求をサポートするのに追加の通話呼フローサービスを割り当てるべきか否かを決定するのに用いることができる。このように、システムの性能は、システム負荷の増加に先立って増加することができる。同様に、経験的データは、通話呼フローサービスの割当解除をすべきかいか否かを決定するために用いることができる。051したがって、マルチテナントなクラウドコンピューティング通話呼センタについてのシステムの実施例では、通話呼を処理するために用いる利用可能な通話呼フローサービスの数を調整するために負荷バランシングを利用することができるものと上記説明してきた。このまとめとして、クラウドコンピューティング通話呼センタを動作する例示の方法について、これから説明する。052図4は、本発明の実施形態によるクラウドコンピューティング通話呼センタにおいて通話呼をサービス提供する例示の方法について説明しているフローチャートである。ブロック410において、通話呼を受け取る。通話呼は、例えば、SIPプロトコルに従って受け取ることができる。ブロック415において、通話呼は、利用可能な通話呼フローサービスの負荷に少なくとも部分的に基づいて、利用可能な通話呼フローサービスに、ルーティングすることができる。053いくつかの実施形態において、通話呼フローサービスの割当および割当解除は、仮想インスタンスの割当および割当解除に対応する。いくつかの実施形態において、追加の通話呼フローサービスは、既存の仮想インスタンスに追加することができるか、または存続している仮想インスタンスから割当解除することができる。054図2のシグナリングサーバ215は、ブロック415におけるルーティングを実行することができる。上記一般的に説明したように、最も低い負荷全体を有する通話呼フローサービスが選択されることができ、または、ベースライン容量以下の負荷を有する図3の動作中サービスの表350上の最も低い通話呼フローサービスが選択されることができる。すべての利用可能な通話呼フローサービスがベースライン容量以上のときは、サージ容量以下の最も低い負荷全体をもつ通話呼フローサービスを選択することができ、または、サージ容量以下の負荷を有する図3の動作中サービスの表350上の最も低い通話呼フローサービスを選択することができる。他の実施態様において、他の要因は、通話呼フローサービスを選択するのに用いることができる。ブロック420において、一旦通話呼が選択した通話呼フローサービスにルーティングされると、選択された通話呼フローサービスは、発信された番号に少なくとも部分的に基づいてカスタマ特有リソースをロードすることができる。ロードは、図2の通話呼マネージャ235によって実行することができ、上記に説明した。このように、単一の通話呼フローサービスは、複数のカスタマ向けに通話呼を扱うことができる。ブロック425において、通話呼は、ロードしたカスタマ特有リソースを用いて処理される。055図5は、本発明の実施形態による通話呼フローサービスの割当および割当解除についての例示的な方法を説明しているフローチャートである。ブロック505において、クラウドコンピューティング通話呼センタの総負荷にアクセスすることができる。図2の通話呼フローコントローラ220は、シグナリングサーバデータベース260および通話呼センタデータベース255内に格納された情報にアクセスすることによって、または、総負荷のステータスモニタ205からの指標を受け取ることによって、総負荷にアクセスすることができる。通話呼フローコントローラ220は、いくつかの実施形態での利用可能な通話呼フローサービスによって報告される個々の負荷に基づいて、総負荷を計算することができる。ブロック510において、総負荷をベースライン負荷と比較することができる。図2の通話呼フローコントローラ220がこの比較を実行することができる。ベースライン負荷は、例えば図3の表325に格納することができる。現在負荷がベースライン負荷以上の場合、ブロック515で、新規な通話呼フローサービスが通話呼フローコントローラ220によって初期化されることになる。通話呼フローコントローラ220は、直接的に、上記に説明したようにクラウドプロバイダインタフェースを通じて、新規な通話呼フローサービスの初期化を開始することができる。いくつかの実施形態において、現在負荷がすでに初期化されたいかなる通話呼フローサービスのベースライン容量をも加えたベースライン負荷を超過するときに、新規な通話呼フローサービスは初期化される。現在負荷がベースライン負荷以下である場合には、ブロック520において、1つ以上の通話呼フローサービスの割当解除をすることができる。いくつかの実施形態において、負荷に拘らず、最も古い通話呼フローサービスを割当解除することができる。いくつかの実施形態において、利用可能な通話呼フローサービスの負荷は、閾値時間以上またはそれと同等の時間の間未使用であったいかなる通話呼フローサービスをも識別するためにアクセスすることができる。閾値時間は、例えば、図3の表305に格納することができ、また、通話呼フローコントローラ220は、いくつかの実施例では低い閾値以下の負荷を有する通話呼フローサービスといったいかなる未使用の通話呼フローサービスをも識別するために動作中サービスの表350にアクセスすることができる。通話呼フローサービスが閾値時間と同等またはそれより長い時間の間未使用であった場合には、ブロック525において通話呼フローサービスを割当解除することができる。通話呼フローコントローラ220は、それ自身で通話呼フローサービスの割当解除をすることができ、または、クラウドプロバイダインタフェースを通じて割当解除をすることができる。056したがって、クラウドコンピューティング通話呼センタを提供するシステム及び方法について上記に説明してきた。通話呼フローサービスについて、初期化するさいに様々なカスタマについて構成することができ、また、通話呼の処理が完了するときに、一意のデータを格納しないと説明してきた。このように、動的スケールおよびマルチタレントは、クラウドベースのテレフォニシステムにおいて提供することができる。クラウドベースのテレフォニシステムのプロバイダは、したがって、処理パワーおよび消費されたストレージ容量に基づいてサービスの料金を払うことができ、ならびに、ピーク容量とは対照的な実際の使用に基づいてカスタマに課金することができる。057本発明の実施形態はまた、従来のPBX間にピアツーピアのテレフォニ通信を提供することもできる。上記説明したクラウドコンピューティング通話呼センタは、例えば図2のACD210のコンポーネントまたはメディアプロセッサ240を含むことによって、それ自身でPBX機能を含むものであった。いくつかの実施形態では、従来のPBX機能を提供しないクラウドテレフォニシステムを提供することができる。058図6は、本発明の実施形態によるピアツーピアのクラウドテレフォニシステムを含むシステムの概略図である。ピアツーピアのクラウドテレフォニシステム605は、グローバルディレクトリ610、通話呼ディレクター615、通話呼履歴ログ620および請求モジュール625を含む。1つ以上のRTP630,632のルータを提供することができる。RTPルータ630,632は、通話呼を処理しないが、例えばPBX640,642といった異なるPBX間でトラフィックをルーティングすることができる。ピアツーピアのクラウドテレフォニシステム605を通じて通信をルーティングすることによって、ユーザは、公衆電話網650を回避することができる。059グローバルディレクトリ610は、ピアツーピアのクラウドテレフォニサービスで登録した番号を格納することができる。登録された番号は、ピアツーピアのクラウドテレフォニサービス605の通話呼ルーティング機能を利用することができる。通話呼ディレクター615は、グローバルディレクトリ610において登録されるそれらに対して、着信呼を照合することができる。その番号がサービスに登録されている場合、通話呼はRTPルータのうち1つを経由することができる。その番号がサービスに登録されていない場合、通話呼は公衆電話網650を経由してルーティングすることができる。通話呼がRTPルータ630,632の1つを経由してルーティングされる場合、通話呼の記録は、通話呼履歴620に格納され、また、請求モジュール625は通話呼履歴620に従ってカスタマに請求することができる。ピアツーピアのシステムの実施例として、いかなる種類のインターネットのようなネットワーク接続、およびVoIPのような適切な通話呼プロトコルをも使用して実施することができる。060図6に示される実施例では、ブロック655において、ユーザは、PBX640を用いた番号1.999555.1212へ発信することができる。PBX640は、通話呼に関するデータをピアツーピアのクラウドテレフォニシステム605と通信することができ、また、通話呼ディレクターは、グローバルディレクトリ610にアクセスし、番号1.999555.1212がグローバルディレクトリ610に登録されていると判断することができる。したがって、通話呼はRTPルータ630に供給されることができ、RTPルータ630はPBX642へ番号に従って通話呼をルーティングすることができる。ブロック660において、1.999.555.1212でアクセス可能なピアツーピアのクラウドテレフォニシステム605のカスタマは、通話呼を受け取ることができる。061他の実施例では、ブロック665において、ユーザは、PBX640を通じて1.999.999.1234にダイヤルすることができる。ピアツーピアのクラウドテレフォニシステム605は、グローバルディレクトリ610に対して番号を照合することができ、番号1.999999.1234がピアツーピアのクラウドテレフォニシステム605に登録されていないと判断することができる。したがって、通話呼は、宛先のPBX670に公衆電話網650を経由してルーティングすることができる。ブロック675において、1.999.999.1234への通話呼が受け取られる。062したがって、PBX640および642は、ピアツーピアのクラウドテレフォニシステム605に登録することができ、公衆電話網650を使用することなくピアツーピアのクラウドテレフォニシステム605によってサービス提供することができるかについて各着信呼ごとにピアツーピアのクラウドテレフォニシステム605と通信するように構成することができる。これにより、公衆電話網650を関連コストと共に迂回することを可能にする。063ピアツーピアのクラウドテレフォニシステム605は、通話呼フローサービスの割当および割当解除について、通常は上記のとおり、要求に応じてRTPルータの割当および割当解除を動的に行うことができる。しかしながら、図6の実施例では、音声は、ピアツーピアのクラウドテレフォニシステム605によっては処理されない。いくつかの実施例において、通話呼データをルーティングするためのピアツーピアのクラウドテレフォニシステム605は、図1のクラウドコンピューティング通話呼センタ105のようなクラウドコンピューティング通話呼センタと組み合わせて、通話呼のサービス提供、および、ピアツーピアの通話呼データのルーティングの両方を行うために提供されることもある。064いくつかの実施形態において、RTPルータは、PBX640からPBX642まで通話呼を接続することを必要としない。例えば、ピアツーピアのクラウドテレフォニシステム605は、PBX642に直接PBX640から通話呼を接続するために、NAT通過技術を利用することができる。065いくつかの実施形態において、ピアツーピアのテレフォニソリューションは、ワイヤレスキャリアおよび従来の公衆電話交換ネットワークプロバイダといった主要データ通信プロバイダ間での電話の移送を可能にすることができる。066上記のことから言うまでもなく、本発明の特定の実施形態について説明の目的で本願明細書において説明してきたが、さまざまな修正が本発明の趣旨と範囲から逸脱することなく行うことができるものである。"