JP6848034B2 - イベントベースマルチプロトコル通信セッション配信 - Google Patents

イベントベースマルチプロトコル通信セッション配信 Download PDF

Info

Publication number
JP6848034B2
JP6848034B2 JP2019212029A JP2019212029A JP6848034B2 JP 6848034 B2 JP6848034 B2 JP 6848034B2 JP 2019212029 A JP2019212029 A JP 2019212029A JP 2019212029 A JP2019212029 A JP 2019212029A JP 6848034 B2 JP6848034 B2 JP 6848034B2
Authority
JP
Japan
Prior art keywords
protocol
message
communication session
neutral
communication
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.)
Active
Application number
JP2019212029A
Other languages
English (en)
Other versions
JP2020087472A (ja
Inventor
エゼル ジョエル
エゼル ジョエル
Original Assignee
アバイア インコーポレーテッド
アバイア インコーポレーテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by アバイア インコーポレーテッド, アバイア インコーポレーテッド filed Critical アバイア インコーポレーテッド
Publication of JP2020087472A publication Critical patent/JP2020087472A/ja
Application granted granted Critical
Publication of JP6848034B2 publication Critical patent/JP6848034B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Description

[関連出願の相互参照]
本出願は、2018年11月29日に出願された、「EVENT-BASED MULTIPROTOCOL CALL DISTRIBUTION」と題する米国仮特許出願第62/773,107号の利益を主張する。この米国仮特許出願の内容は、引用することによりその全体が本明細書の一部をなす。
本開示は、包括的には、通信システムに関し、特に、マルチプロトコル環境における通信システムの配信(distribution)に関する。
大規模なクラウドベースのサービス型ソフトウェア(SaaS:Software as a Service)通信ソリューションでは、所与の個人について複数の登録されたエンドポイントをサポートすることができることが望ましい。加えて、多数の個人について異なるプロトコルを用いて互いに通信するエンドポイントをサポートすることができることも望ましい。通信エンドポイント及びプロトコルが多数あることから現在生じている問題の1つは、SaaSサービスを効果的にスケーリングすることが困難になるということである。
これらのニーズ及び他のニーズは、本開示の種々の実施形態及び構成によって対処される。異なるプロトコルをサポートする複数の通信エンドポイントが通信することを可能にするために、プロトコル固有メッセージ(例えば、SIP INVITEメッセージ)が、プロトコル中立メッセージに変換される。例えば、SIP INVITEメッセージは、プロトコル中立通信セッション要求メッセージに変換され、プロトコル中立バスに送信される。このバスは、このメッセージをセッション処理エンジンに送達し、セッション処理エンジンは、次に、1つ以上のルールを第1の通信セッションのプロトコル中立要求メッセージに適用する。これらのルールは、通信アプリケーションロジックを第1の通信セッションメッセージに適用するのに用いられ、次いで、第1の通信セッションオファーメッセージを生成する。このメッセージはプロトコル中立バスに発行される。1つ以上のプロトコルをサポートする1つ以上のエッジサーバーが、その第1のオファーメッセージを受信することができる。プロトコル中立メッセージは、そのメッセージの受信者である各エッジサーバーによってプロトコル固有メッセージ(例えば、異なるプロトコルによるもの)に変換され、その後、1つ以上の通信エンドポイントに送信される。これによって、複数のプロトコルを用いる複数の通信エンドポイントのサポートの解決が可能になる。
「少なくとも1つ」、「1つ以上」、「又は」、及び「及び/又は」という語句は、有効時に(in operation)連言的及び選言的の双方であるオープンエンドの表現(open-ended expressions)である。例えば、「A、B及びCのうちの少なくとも1つ」、「A、B、又はCのうちの少なくとも1つ」、「A、B、及びCのうちの1つ以上」、「A、B、又はCのうちの1つ以上」、「A、B、及び/又はC」及び「A、B、又はC」という表現の各々は、A単独、B単独、C単独、A及びBの集合、A及びCの集合、B及びCの集合、又は、A、B及びCの集合を意味する。
数量が指定されないエンティティは、そのエンティティのうちの1つ以上を指す。したがって、数量が指定されない用語、「1つ以上」及び「少なくとも1つ」という用語は、本明細書において互換的に用いることができる。「備える」、「含む」、及び「有する」という用語も、互換的に用いることができることに留意されたい。
「自動」という用語及びその派生形は、本明細書において用いられる場合、プロセス又は動作が実行されるときに実体的な(material)人間の入力を伴わずに行われる、通例連続又は半連続の任意の当該プロセス又は動作を指す。しかしながら、プロセス又は動作の実行が実体的な又は非実体的な人間の入力を用いる場合であっても、その入力がプロセス又は動作の実行前に受信されるときには、そのプロセス又は動作は自動とすることができる。人間の入力は、プロセス又は動作が実行される方法に影響を与える場合、実体的であるとみなされる。プロセス又は動作の実行に同意する(consents)人間の入力は、「実体的」であるとみなされない。
本開示の態様は、本明細書において、「回路」、「モジュール」又は「システム」と総称される場合がある、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、又は、ソフトウェア態様及びハードウェア態様を組み合わせる実施形態の形態を取ることができる。1つ以上のコンピューター可読媒体の任意の組み合わせを利用することができる。コンピューター可読媒体は、コンピューター可読信号媒体、又は、コンピューター可読記憶媒体とすることができる。
コンピューター可読記憶媒体は、例えば、電子、磁気、光学、電磁、赤外線、若しくは半導体のシステム、装置、若しくはデバイス、又は前述のものの任意の適した組み合わせとすることができるが、これらに限定されるものではない。コンピューター可読記憶媒体のより具体的な例(非網羅的なリスト)は、以下のもの、すなわち、1つ以上のワイヤを有する電気接続、ポータブルコンピューターディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバー、ポータブルコンパクトディスクリードオンリーメモリ(CD−ROM)、光学記憶デバイス、磁気記憶デバイス、又は前述のものの任意の適した組み合わせを含む。本文書の文脈において、コンピューター可読記憶媒体は、命令実行システム、装置、若しくはデバイスによって、又はこれらに関連して用いるためのプログラムを格納又は記憶することができる任意の有形媒体とすることができる。
コンピューター可読信号媒体は、例えば、ベースバンドにおいて又は搬送波の一部として、コンピューター可読プログラムコードが具現化された伝播データ信号を含むことができる。そのような伝播信号は、電磁、光学、又はこれらの任意の適した組み合わせを含むがこれらに限定されない、多様な形態のうちの任意のものを取ることができる。コンピューター可読信号媒体は、コンピューター可読記憶媒体ではない任意のコンピューター可読媒体、及び、命令実行システム、装置、若しくはデバイスによって、又は、これらに関連して用いるためのプログラムを通信、伝播、又は伝送することができる任意のコンピューター可読媒体とすることができる。コンピューター可読媒体に具現化されるプログラムコードは、ワイヤレス、ワイヤライン、光ファイバーケーブル、RF等、又は前述のものの任意の適した組み合わせを含むが、これらに限定されない、任意の適した媒体を用いて送信することができる。
「求める」、「算出する」及び「計算する」という用語並びにこれらの派生形は、本明細書において用いられる場合、互換的に用いられ、任意のタイプの方法論、プロセス、数学的演算又は技法を含む。
本明細書において用いられているような用語「セッション開始プロトコル」(SIP)は、インターネットプロトコル(IP)上の音声呼及びビデオ呼等のマルチメディア通信セッションを制御するのに広く用いられる、IETFが定義したシグナリングプロトコルを指す。このプロトコルは、1つ又はいくつかのメディアストリームからなる2パーティセッション(ユニキャスト)又はマルチパーティセッション(マルチキャスト)を作成、変更及び終端するのに用いることができる。この変更は、アドレス又はポートの変更、より多くの参加者の招待、及びメディアストリームの追加又は削除を伴うことができる。他の実現可能なアプリケーション例として、ビデオ会議、ストリーミングマルチメディア配信、インスタントメッセージング、プレゼンス情報、ファイル転送及びオンラインゲームがある。SIPは、2000年11月のインターネットエンジニアリングタスクフォース(IETF)ネットワークワーキンググループから入手可能なRFC3261に記載されているとおりである。この文書及びSIPを記載している他の全てのSIP RFCは、それらが教示している全てについて、それらの全体が引用することによって本明細書の一部をなす。
この文書では、定義されたSIPメッセージ(例えば、SIP INVITE、replacesヘッダーを有するSIP INVITE、SIP JOIN、SIP REGISTER、SIP200 OK、SIP SUBSCRIBE、SIP NOTIFY等)が、現在のSIP規格に従って用いられている。したがって、SIPの当業者であれば、定義された異なるSIPメッセージを互いに自由に交換することができないことを明確に理解しているであろう。なぜならば、これは、現在のSIP規格に違反するからである。例えば、SIP INVITE(通信セッションを確立するのに用いられる)は、replacesヘッダーを有するSIP INVITEメッセージ(SIP通信セッションにおいてダイアログ(すなわち、コールレッグ)を交換するのに用いられる)の代わりに用いることができない。なぜならば、これらのメッセージは、SIP規格によれば、異なる目的に設計されているからである。
本明細書及び特許請求の範囲に記載されているような「プロトコル固有」は、プロトコルが、通常は少なくとも1つのユーザー通信エンドポイントが関与する通信セッション/メディアチャネルを確立するのに用いられることを指す。例えば、ユーザー通信セッションは、音声通信セッション(すなわち、音声呼)、ビデオ通信セッション、マルチメディア通信セッション、仮想現実通信セッション、インスタントメッセージング(IM)通信セッション、電子メール通信セッション、テキストメッセージング通信セッション、ファイル転送等とすることができる。「プロトコル固有メッセージ」は、SIP、WebRTC、ハイパーテキストトランスポート(HTTP)、H.323、ビデオ通信プロトコル、IM通信プロトコル、ファイル転送プロトコル(FTP)、シンプルメール転送プロトコル(SMTP)、ショートメッセージサービス(SMP)等のプロトコルを用いることができる。例えば、プロトコル固有メッセージは、SIP INVITEメッセージ、FTPメッセージ、H.323オープン論理チャネル(OLC)メッセージ、H.264メッセージ、セッション記述プロトコル(SDP)メッセージ等とすることができる。
本明細書または特許請求の範囲に記載されているような「プロトコル」は、物理レイヤプロトコル(例えば、Bluetooth、イーサネット等)、データリンクレイヤプロトコル(例えば、802.3、802.11等)、ネットワークレイヤプロトコル(例えば、インターネットプロトコル(IP)等)、トランスポートレイヤプロトコル(例えば、ユーザーデータグラムプロトコル、伝送制御プロトコル(TCP)、暗号化プロトコル、圧縮プロトコル等)等の下位レイヤプロトコルを指さない。
本明細書に記載されているような「プロトコル中立」は、メッセージが「プロトコル固有」メッセージを識別しない(すなわち、プロトコル独立である)が、代わりに、通信セッション確立の要求等の特定の機能を一般的に識別することを指す。したがって、「プロトコル中立」メッセージは、異なるプロトコルにおける複数のメッセージを表すのに用いることができる。例えば、SIP INVITEメッセージ、H.323オープン論理チャネル(OLC)メッセージ等の代わりに通信要求メッセージを送信することができる。
本明細書において用いられるような用語「手段」には、その可能な限り最も広い解釈が与えられるものとする。したがって、用語「手段」を含む請求項は、本出願において述べられた全ての構造体、材料、又は動作、及びそれらの均等物の全てを包含するものとする。さらに、これらの構造体、材料、又は動作、及びそれらの均等物は、発明の概要、図面の簡単な説明、詳細な説明、要約書、及び特許請求の範囲自体に記載されたそれらの全てを含むものとする。
先行する記載は、本開示のいくつかの態様への理解を提供するための簡略化された概要である。この概要は、本開示及びその種々の実施形態の包括的な概説でもなければ、網羅的な概説でもない。本開示の重要な要素又は必須の要素を識別するのでも、本開示の範囲を画定するのでもなく、以下に提示されるより詳細な説明への導入として、簡略化された形式において、本開示の選択された概念を提示することが意図される。理解されるように、本開示の他の実施形態は、上記で言及された又は以下で詳細に記載される特徴のうちの1つ以上を、単独又は組み合わせで利用することが可能である。また、本開示は、例示の実施形態に関して提示される一方で、本開示の個々の態様は別個に特許請求することができることが理解されるべきである。
イベントベースマルチプロトコル通信セッション配信の第1の例示のシステムのブロック図である。 エッジサーバーのサブスクリプションプロセスのフロー図である。 イベントベースマルチプロトコル通信セッション配信のプロセスのフロー図である。 グループ及び/又はコールフォーキング(call forking)が用いられるイベントベースマルチプロトコル通信セッション配信のプロセスのフロー図である。 マルチプロトコル通信セッションを配信するルールを適用するプロセスのフロー図である。
図1は、イベントベースマルチプロトコル通信セッション配信の第1の例示のシステム100のブロック図である。第1の例示のシステム100は、通信エンドポイント101A〜101N、ネットワーク110A及び110B、プロトコル中立バス120、セッション処理エンジン124、並びにエッジサーバー130A〜130Nを備える。
通信エンドポイント101A〜101Nは、パーソナルコンピューター(PC)、電話機、ビデオシステム、音声会議システム、セルラー電話機、パーソナルデジタルアシスタント(PDA)、タブレットデバイス、ノートブックデバイス、ウェブサーバー、メディアサーバー、スマートフォン等のネットワーク110上で通信することができる任意の通信エンドポイントデバイスとすることもできるし、そのようなデバイスを備えるものであってもよい。通信エンドポイント101A〜101Nは、通信セッションが終了するデバイスである。通信エンドポイント101A〜101Nは、通信マネージャー又はルーターのような、ネットワークにおいて通信セッションを容易にし、及び/又は中継するネットワーク要素ではない。図1に示すように、任意の数の通信エンドポイント101A〜101Nをネットワーク110に接続することができる。
ネットワーク110A及び110Bは、インターネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、ボイスオーバーIPネットワーク(VoIP)、公衆交換電話ネットワーク(PSTN)、パケット交換ネットワーク、回線交換ネットワーク、セルラーネットワーク、これらの組み合わせ等の電子通信を送受信することができる通信機器の任意の集合体とすることもでき、またはそのような集合体を備えるものであってもよい。ネットワーク110A及び110Bは、イーサネット、インターネットプロトコル(IP)、セッション開始プロトコル(SIP)、サービス統合デジタルネットワーク(ISDN)、H.323、WebRTC、ハイパーテキストトランスポートプロトコル(HTTP)、ビデオプロトコル、インスタントメッセージング(IM)プロトコル、電子メールプロトコル、テキストメッセージングプロトコル、ファイル転送プロトコル等の様々な電子プロトコルを用いることができる。したがって、ネットワーク110A及び110Bは、パケット交換通信及び/又は回線交換通信を介してメッセージを搬送するように構成された電子通信ネットワークである。
プロトコル中立バス120は、エッジサーバー130A〜130Nの間のイベント/メッセージを仲介することができるファームウェア/ソフトウェアと結合された任意のハードウェアとすることもできるし、そのようなハードウェアを備えるものであってもよい。例えば、プロトコル中立バス120は、Javaメッセージサービス(JMS)、Apache Kafkaサービス等とすることができる。プロトコル中立バス120は、イベント/メッセージの根底にあるプロトコルを知る必要なく、エッジサーバー130A〜130Nの間で異なるイベント/メッセージを渡すことができるイベントサービスである。プロトコル中立バス120は、イベントブローカー121及びサブスクリプションマネージャー123を更に備える。
イベントブローカー121は、エッジサーバー130A〜130Nの間のプロトコル中立イベント/メッセージの仲介を管理することができるファームウェア/ソフトウェアと結合された任意のハードウェアとすることもできるし、そのようなハードウェアを備えるものであってもよい。イベントブローカー121は、サブスクリプションマネージャー123とともに動作して、エッジサーバー130A〜130Nの間のプロトコル中立イベント/メッセージを仲介する。
サブスクリプションマネージャー123は、エッジサーバー130A〜130Nがイベントブローカー121のイベントにサブスクライブすることを可能にする任意のソフトウェアとすることもできるし、そのようなソフトウェアを備えるものであってもよい。サブスクリプションマネージャー123は、エッジサーバー130からの特定のイベントの通知を受けるサブスクリプションメッセージを受信することができる。例えば、エッジサーバー130Aは、サブスクリプションマネージャー123を用いてサブスクライブし、特定の統一資源識別子(URI)を有する全ての通信セッションの要求を受信することができる。
セッション処理エンジン124は、イベントブローカー121から受信されるイベントを管理することができるとともに、通信セッションに関連したイベントをどのように管理するのかを判断するためにルール122を更に適用することができる任意のソフトウェアとすることもできるし、そのようなソフトウェアを備えるものであってもよい。例えば、セッション処理エンジン124は、種々のルール122を用いて、特定のエッジサーバー130へのイベント/メッセージの送信を行うことができる。セッション処理エンジン124は、単一の要素として示されているが、セッション処理エンジン124は分散されてもよい。例えば、セッション処理エンジン124をネットワーク110B内の種々の要素の間に分散させることができる。
ルール122は、通信セッション及び関連情報を管理する任意のルール122とすることもできるし、そのようなルールを含むものであってもよい。ルール122は、グローバルなルールであってもよい。例えば、ルール122は、法人又は企業のルールであってもよい。ルール122は、特定のユーザー、特定の通信エンドポイント101、特定のグループ(例えば、エンジニアリンググループ)等のルールを含むことができる。1つの実施形態では、ルール122を分散させることができる。例えば、法人/企業ルール122は、プロトコル中立バス120に存在することができ、個人ユーザー/通信エンドポイント101のルール122は、エッジサーバー130のうちの1つ以上に存在することができる。ルール(複数の場合もある)122は、プロトコル中立形式で適用することができる。
エッジサーバー130A〜130Nは、プロトコル固有のメッセージを送受信することができるとともに、プロトコル中立バス120に対してメッセージをプロトコル中立メッセージとして更に送受信することができるファームウェア/ソフトウェアと結合された任意のハードウェアとすることもできるし、そのようなハードウェアを備えるものであってもよい。図1では、エッジサーバー130AはプロトコルAをサポートし、エッジサーバー130NはプロトコルNをサポートする。例えば、エッジサーバー130Aは、SIPをサポートすることができ、エッジサーバー130Nは、H.323をサポートすることができる。
図1では、エッジサーバー130A〜130Nは、単一のプロトコルのみをサポートするものとして示されている。しかしながら、1つの実施形態では、エッジサーバー130A〜130Nのうちの1つ以上は、複数のプロトコルをサポートすることができる。例えば、エッジサーバー130Aは、SIP及びSDPの双方をサポートすることができる。
各エッジサーバー130A〜130Nは、1つ以上の通信エンドポイント101をサポートする。通信エンドポイント101は、特定のプロトコルに基づいてエッジサーバー130に登録することができる。例えば、通信エンドポイント101A及び101B(SIP通信エンドポイント)は、エッジサーバー130A(SIPエッジサーバー)に登録することができ、通信エンドポイント101N(H.323通信エンドポイント)は、エッジサーバー130N(H.323エッジサーバー)に登録することができる。
図2は、エッジサーバー130のサブスクリプションプロセスのフロー図である。例示として、通信エンドポイント101A〜101N、プロトコル中立バス120、イベントブローカー121、サブスクリプションマネージャー123、セッション処理エンジン124、及びエッジサーバー130A〜130Nは、メモリ(すなわち、コンピューターメモリ、ハードディスク等)のようなコンピューター可読記憶媒体に記憶されたプログラム命令を実行することによって、図2〜図5の方法及び本明細書において説明するプロセスを実行するコンピューター又はマイクロプロセッサ等のストアードプログラム制御型エンティティである。図2〜図5に記載された方法は、特定の順序で示されているが、当業者であれば、図2〜図5におけるステップを異なる順序で実施することができ、及び/又は、マルチスレッド型環境において実施することができることを認識するであろう。その上、実施態様に基づいて様々なステップを省略又は追加することができる。
図2のプロセスは、エッジサーバー130が、プロトコル中立バス120からプロトコル中立イベント/メッセージを受信するためにサブスクライブすることを可能にする。通信セッションが(例えば、通信エンドポイント101AがSIP INVITEメッセージを送信することによって)開始されると、エッジサーバー130A(この例では、SIPエッジサーバー130A)は、SIP INVITE(プロトコル固有メッセージ)をプロトコル中立メッセージ(通信セッション要求メッセージ)に変換する。このプロトコル中立メッセージは、プロトコル中立バス120に送信される。図2に記載されたサブスクリプションプロセスは、イベントブローカー121が、イベント/メッセージを受信するためにサブスクライブした適切なエッジサーバー130に通信セッションオファーメッセージを送信することができることを可能にする。
プロセスは、通信エンドポイント101Aが、エッジサーバー130Aに登録する登録メッセージ200を送信すると開始する。例えば、通信エンドポイント101Aは、SIP通信エンドポイント101Aに電源が投入されるとエッジサーバー130A(SIPをサポートするサーバー)に登録するSIP通信エンドポイント101Aとすることができる。ステップ200の登録メッセージの受信に応答して、エッジサーバー130Aは、ステップ202において、サブスクリプションメッセージをプロトコル中立バス120(すなわち、サブスクリプションマネージャー123)に送信する。ステップ202のサブスクリプションメッセージは、この例ではSIPをサポートするエッジサーバー130Aにプロトコル中立バス120を介してメッセージ/イベントを送信するためにセッション処理エンジン124によって用いられる1つ以上の識別子を有する。これらのイベント/メッセージは、最終的には、プロトコル固有メッセージ(SIP)として通信エンドポイント101に送信される。サブスクリプションマネージャー123は、ステップ204において、ステップ202のサブスクリプションメッセージに肯定応答する。1つの実施形態では、ステップ202のサブスクリプションメッセージは、メッセージキューイングテレメトリトランスポート(MQTT:Message Queuing Telemetry Transport)サブスクライブメッセージとすることができる。
サブスクリプションメッセージ202内の識別子は、通信エンドポイント101(例えば、電話番号、IPアドレス等)、1つ以上の通信エンドポイント101に関連付けられたユーザー(例えば、URI(例えば、alice@avaya.com))、1つ以上の通信エンドポイント101に関連付けられたグループ(例えば、marketinggroup@avaya.com)等を識別することができる。1つの実施形態では、識別子は、複数の識別子を含むことができる。例えば、ステップ202のサブスクリプションメッセージは、1人以上のユーザーの複数の電話番号、URI、グループ識別子等の場合のイベントについて、サブスクライブするのに用いることができる。例えば、ステップ202のサブスクリプションメッセージは、数百のユーザー/通信エンドポイント101を登録するためにエッジサーバー130Aによって用いることができる。
例示として、以下の例を考える。ユーザー(Alice(アリス))は、2つのSIP通信エンドポイント101A及び101B(卓上電話機101A及びモバイル電話機101B)を有する。SIP通信エンドポイント101Aは、111−222−3333の電話番号を有し、SIP通信エンドポイント101Bは、444−555−6666の電話番号を有する。加えて、ユーザーAliceは、SIP通信エンドポイント101A及び101Bの双方に関連付けられたURI(alice@avaya.com)を有する。この例では、ステップ202のサブスクリプションメッセージは、3つの識別子111−222−3333、444−555−6666、及びalice@avaya.comの全てを含む。セッション処理エンジン124が、これらの識別子のうちのいずれか1つとの通信セッションを確立する要求をプロトコル中立バス120から受信すると、セッション処理エンジン124は、受信されたサブスクリプションメッセージ202に基づいて、プロトコル中立バスを介して、通信セッションオファーメッセージ(複数の場合もある)をエッジサーバー130Aに送信する。例えば、通信セッション要求メッセージが、識別子111−222−3333を有する場合、セッション処理エンジン124は、サブスクリプションメッセージ202に基づいて、プロトコル中立通信セッションオファーメッセージをエッジサーバー130Aに送信する。
通信エンドポイント101Nは、ステップ206において、登録メッセージ(登録メッセージ200と同様のもの)をエッジサーバー130Nに送信する。ステップ206の登録メッセージの受信に応答して、エッジサーバー130Nは、ステップ208において、ステップ202について上述したのと同様の方法でサブスクリプションメッセージをサブスクリプションマネージャー123に送信する。ステップ208のサブスクリプションメッセージは、その後、ステップ210において、サブスクリプション肯定応答メッセージを用いてサブスクリプションマネージャー123によって肯定応答される。
この例では、エッジサーバー130Nは、異なるプロトコル(例えば、H.323)をサポートする。ステップ208のサブスクリプションメッセージも、1つ以上の識別子(例えば、電話番号(複数の場合もある)、URI(複数の場合もある)、グループ(複数の場合もある)等)を含む。ステップ208のサブスクリプションメッセージの識別子(複数の場合もある)は、ステップ202のサブスクリプションメッセージの識別子(複数の場合もある)と同じ場合もあるし、及び/又は異なる場合もある。例えば、サブスクリプションメッセージは、新たな電話番号777−888−9999、新たなURI(例えば、bob@avaya.com)、及びグループ(marketinggroup@avaya.com)を識別することができる。プロトコル中立バス120が、これらの識別子のうちのいずれかを有する通信セッション要求メッセージを受信した場合、セッション処理エンジン124は、識別子に基づいて、イベントブローカー121を介して通信セッションオファーメッセージをエッジサーバー130Nに送信する。例えば、通信セッション要求メッセージが、識別子marketinggroup@avaya.comを有する場合、通信セッションオファーメッセージは、エッジサーバー130A及びエッジサーバー130Nの双方に送信される。なぜならば、エッジサーバー130A及び130Nの双方が、識別子marketinggroup@avaya.comを用いてサブスクライブしているからである。通信セッション要求メッセージが、識別子777−888−9999を有する場合、通信セッションオファーは、エッジサーバー130Nのみに送信される。エッジサーバー130Nは、次に、プロトコル固有メッセージ(すなわち、H.323オープン論理チャネルメッセージ)を作成する。このメッセージは、対応する通信エンドポイント101(すなわち、エッジサーバー130Nに登録されている通信エンドポイント)に送信される。
1つの実施形態では、図2に記載されているようなサブスクリプションメッセージ202/208を用いる代わりに、セッション処理エンジン124は、通信セッション要求メッセージを受信すると、エッジサーバー130A〜130Nが見ることができる識別子(複数の場合もある)を有する通信セッションオファーを有するブロードキャストメッセージを送信する。特定の識別子(複数の場合もある)をサポートするエッジサーバー(複数の場合もある)130A〜130Nは、次に、適切なプロトコル固有メッセージ(複数の場合もある)を生成し、このメッセージ(複数の場合もある)を、エッジサーバー130に登録している対応する通信エンドポイント(複数の場合もある)101に送信する。この実施形態では、サブスクリプションメッセージ202/208は、識別子を含まない場合がある。代わりに、ブロードキャストメッセージは識別子を含み、特定のエッジサーバー130A〜130Nは、特定の識別子を含むブロードキャストメッセージを探す。
図3は、イベントベースマルチプロトコル通信セッション配信のプロセスのフロー図である。簡単にするために、図3では、プロトコル中立バス120及びセッション処理エンジン124は、1つにまとめて示されている。しかしながら、図1に示すように、セッション処理エンジン124は、プロトコル中立バス120とは別個のエンティティである。例えば、セッション処理エンジン124は、ネットワーク110Bを介して、イベントブローカー121によって発行されたメッセージ/イベント(エッジサーバー130A〜130Nから受信されたもの)に(例えば、アプリケーションプログラミングインターフェースを用いて)アクセスすることができる。セッション処理エンジン124は、次に、(ルール(複数の場合もある)122に基づいて)メッセージ/イベントをエッジサーバー130A〜130Nに送信するためにイベントブローカー121に返信/発行することができる。
プロセスは、通信エンドポイント101Aが、プロトコル固有である通信セッション要求メッセージ(この例では、SIP INVITEメッセージ)をエッジサーバー130A(SIPをサポートする)に送信するステップ300から開始する。エッジサーバー130Aは、ステップ302において、このSIP INVITEメッセージをプロトコル中立通信セッション要求メッセージに変換する。このプロトコル中立通信セッション要求メッセージは、ステップ304において、プロトコル中立バス120を介してセッション処理エンジン124に送信される。セッション処理エンジン124は、ステップ306において、ルール122を用いて、通信セッション要求メッセージをどのようにハンドリングするのかを判断する。例えば、ステップ304の通信要求メッセージ内の識別子(複数の場合もある)に基づいて、処理エンジン124は、ルール122のうちの1つ以上を適用して、ステップ304の通信要求メッセージを用いて何を行うかを判断する。
セッション処理エンジン124は、ステップ308において、ルール122に基づいて、プロトコル中立バス120を介してプロトコル中立通信セッションオファーメッセージを、サブスクリプションメッセージ(例えば、サブスクリプションメッセージ202)に基づいてエッジサーバー130A又は130N(この例では、単一のエッジサーバー130のみ)に送信する。エッジサーバー130A又は130Nは、ステップ310において、プロトコル中立通信セッションオファーメッセージをプロトコル固有通信セッション要求に変換する。例えば、通信エンドポイント101Nが、エッジサーバー130AによってサポートされるSIP通信エンドポイントである場合、エッジサーバー130Aは、ステップ308のプロトコル中立通信セッションオファーメッセージをSIP INVITEメッセージに変換する。一方、通信エンドポイント101Nが、エッジサーバー130NによってサポートされるH.323通信エンドポイントである場合、エッジサーバー130Nは、ステップ310において、ステップ308のプロトコル中立通信セッションオファーメッセージをH.323オープン論理チャネルメッセージに変換する。このプロトコル固有通信セッション要求は、その後、ステップ312において、通信エンドポイント101Nに送信される。
通信エンドポイント101Nは、ステップ314において、プロトコル固有通信セッション受理メッセージを送信する。例えば、通信エンドポイント101NがSIP通信エンドポイントである場合、ステップ314の通信受理メッセージは、SIP200 OKメッセージ、SIP RINGINGメッセージ、SIP TRYINGメッセージ等とすることができる。通信エンドポイント101NがH.323通信エンドポイントである場合、ステップ314の通信受理メッセージは、H.323呼処理メッセージとすることができる。エッジサーバー130A又は130Nは、ステップ316において、ステップ314のプロトコル固有メッセージをプロトコル中立通信セッション受理メッセージに変換する。このプロトコル中立通信セッション受理メッセージは、その後、ステップ318において、プロトコル中立バス120を介してセッション処理エンジン124に送信される。セッション処理エンジン124は、ステップ320において、プロトコル中立バス120を介してプロトコル中立通信セッション受理メッセージをエッジサーバー130Aに送信する(宛先通信エンドポイント101AがSIPベースのものであることによる)。エッジサーバー130Aは、ステップ322において、ステップ320の通信セッション受理メッセージをプロトコル固有メッセージ(SIP200 OK)に変換し、ステップ324において、SIP200 OKを通信エンドポイント101Aに送信する。
このプロセスは、通信セッションを確立するのに必要な任意の追加のメッセージを送受信するのに用いられる。例えば、通信エンドポイント101Aは、SIP規格に従って、SIP ACKメッセージをエッジサーバー130Aに送信する。このSIP ACKメッセージは、その後、エッジサーバー130Aによってプロトコル中立肯定応答メッセージに変換され、プロトコル中立バス120を介してセッション処理エンジン124に送信される。このプロトコル中立肯定応答メッセージは、その後、セッション処理エンジン124によって、プロトコル中立バス120を介して適切なエッジサーバー130A/130Nに送信される。適切なエッジサーバー130A/130Nは、その後、プロトコル中立メッセージをプロトコル固有メッセージ(SIP又はH.323)に変換する。このプロトコル固有メッセージは、通信エンドポイント101Nに送信され、通信セッションが確立される。同様のプロセスは、メディアストリーム(例えば、セッション記述プロトコルを用いた音声呼)の確立にも用いることができる。
プロトコル中立バス120及びプロトコル中立セッション処理エンジン124を用いることの主な利点のうちの1つは、通信セッションの異なる側にある通信エンドポイント101が異なるプロトコルを用いて通信することができるということである。プロトコル中立バス120/セッション処理エンジン124は、通信エンドポイント101A〜101Nによって用いられている異なるプロトコルに対処する必要がないので、セッション処理エンジン124は、ルール(複数の場合もある)122を適用することに集中することができ、プロトコル中立バスは、どのプロトコルが用いられているのかを知る必要なくメッセージをルーティングすることに集中することができる。これによって、システムは、異なるプロトコルを用いる多数の通信エンドポイント101A〜101Nをスケーリング及びサポートすることが可能になる。例えば、プロトコル中立バス120/セッション処理エンジン124は、クラウドベースの通信サービスをサポートするのに用いることができる。
図4は、グループ及び/又はコールフォーキングが用いられるイベントベースマルチプロトコル通信セッション配信のプロセスのフロー図である。簡単にするために、図4では、プロトコル中立バス120及びセッション処理エンジン124は、1つにまとめて示されている(図3と同様)。しかしながら、図1に示すように、セッション処理エンジン124は、プロトコル中立バス120とは別個のエンティティである。プロセスは、通信エンドポイント101Aが、プロトコル固有である通信セッション要求メッセージ(この例では、SIP INVITEメッセージ)をエッジサーバー130A(SIPをサポートする)に送信するステップ400から開始する。エッジサーバー130Aは、ステップ402において、このSIP INVITEメッセージをプロトコル中立通信セッション要求メッセージに変換する。このプロトコル中立通信セッション要求メッセージは、ステップ404において、プロトコル中立バス120を介してセッション処理エンジン124に送信される。
セッション処理エンジン124は、ステップ406において、ルール122を用いて、通信セッション要求メッセージをどのようにハンドリングするのかを判断する。例えば、通信セッション要求メッセージは、識別子marketinggroup@avaya.comを有する場合がある。この例では、エッジサーバー130A及び130Nの双方が、グループ識別子marketinggroup@avaya.comに基づくイベント/メッセージを受信するためにサブスクライブしている。その結果、セッション処理エンジン124は、プロトコル中立通信セッションオファーメッセージをプロトコル中立バス120に送信する。サブスクリプション(例えば、ステップ202)に基づいて、プロトコル中立バス120は、プロトコル中立通信セッションオファーメッセージを、この通信セッションオファーメッセージを受信するためにサブスクライブしたエッジサーバー130Aに送信する。
エッジサーバー130Aは、ステップ410において、プロトコル中立通信セッションオファーメッセージをプロトコル固有通信セッション要求(SIP INVITEメッセージ)に変換する。このプロトコル固有通信セッション要求(SIP INVITEメッセージ)は、その後、ステップ412において、通信エンドポイント101Nに送信される。
通信エンドポイント101Nは、ステップ414において、プロトコル固有通信セッション受理メッセージ(例えば、SIP200 OKメッセージ)を送信する。エッジサーバー130Aは、ステップ416において、ステップ414のプロトコル固有メッセージをプロトコル中立通信セッション受理メッセージに変換する。このプロトコル中立通信セッション受理メッセージは、その後、ステップ418において、プロトコル中立バス120を介してセッション処理エンジン124に送信される。セッション処理エンジン124は、ステップ420において、プロトコル中立バス120を介してプロトコル中立通信セッション受理メッセージをエッジサーバー130Aに送信する(宛先通信エンドポイント101AはSIPベースのものであることによる)。エッジサーバー130Aは、ステップ422において、ステップ420の通信セッション受理メッセージをプロトコル固有メッセージ(SIP200 OK)に変換し、ステップ424において、SIP200 OKを通信エンドポイント101Aに送信する。
加えて、ステップ406(グループ識別子marketinggroup@avaya.comによる)に基づいて、イベントブローカー121は、ステップ426において、プロトコル中立バス120を介してプロトコル中立通信セッションオファーメッセージを、ステップ208のサブスクリプションメッセージに基づいてエッジサーバー130Nに送信する。エッジサーバー130Nは、ステップ428において、プロトコル中立通信セッションオファーメッセージをプロトコル固有通信セッション要求(例えば、H.323オープン論理チャネルメッセージ)に変換する。このプロトコル固有通信セッション要求(H.323オープン論理チャネルメッセージ)は、その後、ステップ430において、通信エンドポイント101Nに送信される。
通信エンドポイント101Nは、ステップ432において、プロトコル固有通信セッション受理メッセージ(例えば、H.323呼処理メッセージ)を送信する。エッジサーバー130Nは、ステップ434において、ステップ432のプロトコル固有メッセージをプロトコル中立通信セッション受理メッセージに変換する。このプロトコル中立通信セッション受理メッセージは、その後、ステップ436において、プロトコル中立バス120を介してセッション処理エンジン124に送信される。セッション処理エンジン124は、ステップ438において、プロトコル中立バス120を介してプロトコル中立通信セッション受理メッセージをエッジサーバー130Aに送信する(宛先通信エンドポイント101AがSIPベースのものであることによる)。エッジサーバー130Aは、ステップ440において、ステップ438の通信セッション受理メッセージをプロトコル固有メッセージ(SIP200 OK)に変換し、ステップ442において、SIP200 OKを通信エンドポイント101Aに送信する。例えば、通信エンドポイント101は、通信エンドポイント101A及び101Nを会議セッションの会議通信に加える会議サーバーとすることができる。
加えて、図4のプロセスは、個人ユーザーの識別子に対する通信のコールフォーキングを作成するのに用いることができる。例えば、コールフォーキングでは、通信のオファーが、プロトコル中立バス120によって複数の通信エンドポイント101A〜101Nに送信され、複数のエッジサーバー130A〜130Nが、(例えば、図2に記載されているように)同じ識別子を用いてサブスクライブしている。例えば、複数のエッジサーバー130A〜130Nは、電話番号111−222−3333に関連したイベント/メッセージについてサブスクライブしている。
図5は、マルチプロトコル通信セッションを配信するルール122を適用するプロセスのフロー図である。図5のプロセスは、図2のサブスクリプションプロセスに加えて用いることができる。例えば、図5に記載されたプロセスは、ユーザー/企業ルール122に基づくことができる。図5のプロセスは、図3及び図4のステップ306/406の一例示的な実施形態である。
ステップ304又は404の後、セッション処理エンジン124は、ステップ500において、通信要求メッセージ内の情報に基づいてルール122を調べる。プロトコル中立バス120は、ステップ502において、通信セッションを要求するパーティ/通信エンドポイント101がブラックリストに掲載されたことがあるか否かを判断する。ステップ502において、要求するパーティがブラックリストに掲載されたことがある場合、セッション処理エンジン124は、ステップ504においてメッセージを拒否する。例えば、この拒否は、セッション処理エンジン124がステップ308/408において通信セッションのオファーを送信しないことに基づくことができる。
ステップ502において、要求するパーティ/通信エンドポイント101が、ブラックリストに掲載されたことがない場合、セッション処理エンジン124は、ステップ512において、ルール122が通信セッションを転送することであるか否かを判断する。例えば、通信エンドポイント101Aのユーザーセットは、呼転送を可能にしている。転送が用いられている場合、セッション処理エンジン124は、ステップ514において、新たな識別子について登録したエッジサーバー130が存在するか否かを確かめるために、識別子(例えば、電話番号)を、通信セッション要求メッセージを受信する通信エンドポイント101に変更する。プロセスは、その後、ステップ518に進む。
そうでない場合、すなわち、転送が、ステップ512において有効にされていない場合、セッション処理エンジン124は、ステップ516において、どのようなルール122がユーザー/企業によって規定されているのかに従って管理を行う。例えば、ルール122に基づいて、呼記録アプリケーションを通信セッションに加えることができる。セッション処理エンジン124は、その後、ステップ518において、オファーをイベントブローカー121に発行する。例えば、ルール122は、管理されたフォーキング(forking)が登録に基づくフォーキング(forking)を優先することを規定することができる。プロセスは、その後、ステップ308/408に進む。
本明細書において記載されるプロセッサの例は、Qualcomm(商標)Snapdragon(商標)800及び801、4G LTE Integration及び64ビット計算機能を有するQualcomm(商標)Snapdragon(商標)610及び615、64ビットアーキテクチャを有するApple(商標)A7プロセッサ、Apple(商標)M7モーションコプロセッサ、Samsung(商標)Exynos(商標)シリーズ、Intel(商標)Core(商標)ファミリーのプロセッサ、Intel(商標)Xeon(商標)ファミリーのプロセッサ、Intel(商標)Atom(商標)ファミリーのプロセッサ、Intel Itanium(商標)ファミリーのプロセッサ、Intel(商標)Core(商標)i5−4670K及びi7−4770K 22nm Haswell、Intel(商標)Core(商標)i5−3570K 22nm Ivy Bridge、AMD(商標)FX(商標)ファミリーのプロセッサ、AMD(商標)FX−4300、FX−6300及びFX−8350 32nm Vishera、AMD(商標)Kaveriプロセッサ、Texas Instruments(商標)Jacinto C6000(商標)自動車インフォテインメント(infotainment)プロセッサ、Texas Instruments(商標)OMAP(商標)自動車グレードモバイルプロセッサ、ARM(商標)Cortex(商標)−Mプロセッサ、ARM(商標)Cortex−A及びARM926EJ−S(商標)プロセッサ、他の産業的に等価なプロセッサのうちの少なくとも1つを含むことができるが、これらには限定されず、これらのプロセッサの例は、任意の既知の又は将来的に展開される規格、命令セット、ライブラリ、及び/又はアーキテクチャを用いて計算機能を実行することができる。
本明細書において論述される任意のステップ、機能、及び動作を、連続的に及び自動的に実行することができる。
一方で、本開示を不必要に曖昧にすることを回避するために、先行する記載は、複数の既知の構造及びデバイスを省略している。この省略は、特許請求される開示の範囲を限定するものとして解釈されるべきではない。本開示への理解を提供するために、特定の詳細が言及される。しかしながら、本開示は、本明細書において言及されるこの特定の詳細を超えて多様な方法において実施することができることが理解されるべきである。
さらに、本明細書において示される例示の実施形態はシステムの種々のコンポーネントが共同配置されていることを示している一方、システムの或る特定のコンポーネントは、LAN及び/又はインターネット等の分散ネットワーク110の遠距離部分において、又は専用システム内で、リモートに配置することができる。それゆえ、システムのコンポーネントは、組み合わせて1つ以上のデバイスにすることもできるし、アナログ及び/又はデジタル電気通信ネットワーク、パケット交換ネットワーク、又は回線交換ネットワーク等の分散ネットワークの特定の1ノード上に共同配置することもできることが理解されるべきである。先行する記載から、計算効率の理由で、システムのコンポーネントは、システムの動作に影響することなく、コンポーネントからなる分散ネットワーク内の任意の位置において配置することができることが理解される。例えば、種々のコンポーネントは、PBX及びメディアサーバー、ゲートウェイ等のスイッチに配置することもできるし、1つ以上の通信デバイス内に配置することもできるし、1つ以上のユーザーの施設に配置することもできるし、これらの何らかの組み合わせとすることもできる。同様に、システムの1つ以上の機能部分は、電気通信デバイス(複数の場合もある)と、それに関連付けられた計算デバイスとの間に分散させることができる。
さらに、要素を接続する種々のリンクは、有線リンク若しくはワイヤレスリンク、又はこれらの任意の組み合わせ、又は、接続された要素にデータを供給し、及び/又は接続された要素からデータを通信することが可能である他の任意の既知の要素(複数の場合もある)若しくは今後展開される要素(複数の場合もある)とすることができることが理解されるべきである。これらの有線リンク又はワイヤレスリンクは、セキュアリンクとすることもでき、暗号化された情報を通信することが可能である場合がある。リンクとして用いられる送信媒体は、例えば、同軸ケーブル、銅ワイヤ及び光ファイバーを含む、電気信号のための任意の適したキャリアとすることができ、電波及び赤外線データ通信中に生成されるもの等の、音響波又は光波の形態を取ることができる。
また、イベントの特定のシーケンスに関係してフローチャートが論述されるとともに例示されている一方で、このシーケンスに対する変更、追加、及び省略を、本開示の動作に実体的に影響することなく行うことができることが理解されるべきである。
本開示の複数の変形形態及び変更形態を用いることができる。本開示のいくつかの特徴を、他の特徴を提供することなく提供することが可能である。
更に別の実施形態では、本開示のシステム及び方法は、専用コンピューター、プログラミングされたマイクロプロセッサ又はマイクロコントローラー及び周辺集積回路要素(複数の場合もある)、ASIC又は他の集積回路、デジタル信号プロセッサ、ディスクリート要素回路等のハードワイヤ電子又は論理回路、PLD、PLA、FPGA、PAL等のプログラマブル論理デバイス又はゲートアレイ、任意の相当する手段等とともに実施することができる。一般に、本明細書において示される方法論を実施することが可能である任意のデバイス(複数の場合もある)又は手段を、本開示の種々の態様を実施するのに用いることができる。本開示に用いることができる例示のハードウェアは、コンピューター、ハンドヘルドデバイス、電話(例えば、セルラー、インターネット対応、デジタル、アナログ、ハイブリッド、及びその他の電話)、及び当該技術分野において既知である他のハードウェアを含む。これらのデバイスのうちのいくつかは、プロセッサ(例えば、単一又は複数のマイクロプロセッサ)、メモリ、不揮発性ストレージ、入力デバイス、及び出力デバイスを含む。さらに、限定されるものではないが、分散処理又はコンポーネント/オブジェクト分散処理、並列処理、又は仮想機械処理を含む代替的なソフトウェア実施態様も、本明細書において記載される方法を実施するのに構築することができる。
更に別の実施形態では、開示される方法は、多様なコンピューター又はワークステーションプラットフォーム上で用いることができるポータブルソースコードを提供するオブジェクト又はオブジェクト指向ソフトウェア開発環境を用いるソフトウェアとともに容易に実施することができる。代替的に、開示されるシステムは、標準的な論理回路又はVLSI設計を用いてハードウェアにおいて部分的に又は完全に実施することができる。本開示によるシステムを実施するのにソフトウェアが用いられるのか又はハードウェアが用いられるのかは、システムの速度及び/又は効率性要件、特定の機能、及び、利用される特定のソフトウェア又はハードウェアシステム又はマイクロプロセッサ又はマイクロコンピューターシステムに依存する。
更に別の実施形態では、開示される方法は、コントローラー及びメモリと協働するプログラミングされた汎用コンピューター、専用コンピューター、マイクロプロセッサ等の上で実行される、記憶媒体上に記憶することができるソフトウェアにおいて部分的に実施することができる。これらの事例において、本開示のシステム及び方法は、アプレット(applet)、JAVA(商標)又はCGIスクリプト等の、パーソナルコンピューター上に組み込まれたプログラム、サーバー又はコンピューターワークステーション上に存在するリソース、専用測定システム、システムコンポーネントにおいて組み込まれるルーティーン等として実施することができる。システムは、システム及び/又は方法をソフトウェア及び/又はハードウェアシステムに実体的に組み込むことによって実施することもできる。
本開示は、特定の規格及びプロトコルを参照して実施形態において実施されるコンポーネント及び機能を記載しているものの、本開示は、そのような規格及びプロトコルに限定されるものではない。本明細書において言及されていない他の類似の規格及びプロトコルが存在し、本開示内に含まれるものと考えられる。その上、本明細書において言及された規格及びプロトコル並びに本明細書において言及されていない他の類似の規格及びプロトコルは、本質的に同じ機能を有するより高速の又はより効率的な均等物に一定期間ごとに取って代わられる。同じ機能を有するそのような代替規格及びプロトコルは、本開示内に含まれる均等物と考えられる。
本開示は、種々の実施形態、構成、及び態様において、種々の実施形態、これらの部分組み合わせ、サブセットを含む、本明細書において実質的に図示されるとともに記載された、コンポーネント、方法、プロセス、システム及び/又は装置を含む。当業者であれば、本開示を理解した後には、本明細書において開示されるシステム及び方法を作成及び使用する方法を理解するであろう。本開示は、種々の実施形態、構成、及び態様において、本明細書において図示及び/又は記載されていないアイテムがない状態でデバイス及びプロセスを提供することを含み、すなわち、本発明の種々の実施形態、構成、又は態様において、例えば性能を改善する、容易性を達成する及び/又は実施のコストを低減させるために、以前のデバイス又はプロセスにおいては用いられていた可能性があるそのようなアイテムがない状態を含む。
本開示の前述の論述は、例示及び説明の目的で提示されてきた。前述の記載は、本開示を、本明細書において開示された単数又は複数の形式に限定する意図はない。例えば前述の詳細な説明において、本開示を簡素化する目的で、本開示の種々の特徴が1つ以上の実施形態、構成、又は態様においてグループ化されてまとめられる。本開示の実施形態、構成、又は態様の特徴は、上述した以外の代替的な実施形態、構成、又は態様において組み合わせることができる。本開示のこの方法は、特許請求される開示が各請求項において明示的に列挙された特徴よりも多くの特徴を要求するという意図を反映したものとして解釈されることはない。むしろ、添付の特許請求の範囲が反映するように、発明的な態様は、単一の前述の開示された実施形態、構成、又は態様の全ての特徴よりも少ない。それゆえ、添付の特許請求の範囲は、このことによってこの詳細な説明に組み込まれ、各請求項は、本開示の別個の好ましい実施形態として、それ自体独立している。
その上、本開示の記載は、1つ以上の実施形態、構成、又は態様並びに或る特定の変形形態及び変更形態の記載を含むが、他の変形形態、組み合わせ、及び変更形態が本開示の範囲内にあり、例えば、これらは、本開示を理解した後には、当該技術分野の能力及び知識内にあり得るものである。特許請求される構造、機能、範囲又はステップに対して代替的な、互換的な及び/又は均等な構造、機能、範囲又はステップを(そのような代替的な、互換的な及び/又は均等な構造、機能、範囲又はステップが本明細書において開示されているか否かにかかわらず、及び、いずれの特許可能な主題も公衆に供することを意図することなく)含む、代替的な実施形態、構成、又は態様を許容される限り含む権利を得ることが意図される。

Claims (10)

  1. マイクロプロセッサと、
    前記マイクロプロセッサと結合されたコンピューター可読媒体であって、前記マイクロプロセッサによって実行されると、
    プロトコル中立であるとともに第1のプロトコル固有メッセージから変換されたものである第1の通信セッションの第1の要求メッセージを受信することと、
    前記第1の通信セッションの前記第1の要求メッセージにプロトコル中立ルールを適用することと、
    プロトコル中立であるとともに第2のプロトコル固有メッセージに変換される前記第1の通信セッションの第1のオファーメッセージを、
    第1のエッジサーバーからの第1のサブスクリプションメッセージに基づいて、又は
    前記第1の通信セッションの前記第1のオファーメッセージ内の識別子に基づいて、
    プロトコル中立バスを介して前記第1のエッジサーバーに送信することと、
    を前記マイクロプロセッサに行わせるマイクロプロセッサ可読実行可能命令を含む、コンピューター可読媒体と、
    を備える、システム。
  2. 前記マイクロプロセッサ可読実行可能命令は、
    プロトコル中立である前記第1の通信セッションの第1の通信セッション受理メッセージを受信することと、
    前記第1の通信セッションの前記第1の通信セッション受理メッセージを前記第1のエッジサーバーに送信することと、
    を前記マイクロプロセッサに更に行わせる、請求項1に記載のシステム。
  3. 受信された前記第1の通信セッションの前記第1の通信セッション受理メッセージは、第3のプロトコル固有メッセージから変換されたものであり、
    送信された前記第1の通信セッションの前記第1の通信セッション受理メッセージは、前記第1のエッジサーバーによって第4のプロトコル固有メッセージに変換される、
    請求項2に記載のシステム。
  4. 前記第1のプロトコル固有メッセージ及び前記第2のプロトコル固有メッセージは、同じプロトコルを用いる、請求項3に記載のシステム。
  5. 前記第1のプロトコル固有メッセージ及び前記第2のプロトコル固有メッセージは、異なるプロトコルを用いる、請求項3に記載のシステム。
  6. 前記識別子は、ユーザーの識別子であり、
    前記マイクロプロセッサ可読実行可能命令は、
    前記第1の通信セッションの前記第1のオファーメッセージを、第2のサブスクリプションメッセージに基づいて第2のエッジサーバーに送信すること、
    を前記マイクロプロセッサに更に行わせる、請求項1に記載のシステム。
  7. 前記第1の通信セッションの前記第1のオファーメッセージは、前記識別子に基づいて前記第1のエッジサーバーに送信される、請求項1に記載のシステム。
  8. 前記適用されるプロトコル中立ルールは、複数のユーザー通信エンドポイント及び複数のユーザーのうちの少なくとも一方に関連付けられた1つ以上の識別子を用い、
    前記第1の通信セッションの前記第1のオファーメッセージは、前記1つ以上の識別子を含む、
    請求項1に記載のシステム。
  9. プロトコル中立であるとともに第1のプロトコル固有メッセージから変換されたものである第1の通信セッションの第1の要求メッセージを、マイクロプロセッサによって受信することと、
    前記第1の通信セッションの前記第1の要求メッセージにプロトコル中立ルールを前記マイクロプロセッサによって適用することと、
    プロトコル中立であるとともに第2のプロトコル固有メッセージに変換される前記第1の通信セッションの第1のオファーメッセージを、第1のエッジサーバーからの第1のサブスクリプションメッセージに基づいて又は前記第1の通信セッションの前記第1のオファーメッセージ内の識別子に基づいて、前記マイクロプロセッサによって前記第1のエッジサーバーに送信することと、
    を含む、方法。
  10. プロセッサに方法を実行させる命令が記憶された非一時的コンピューター可読媒体であって、前記方法は、
    プロトコル中立であるとともに第1のプロトコル固有メッセージから変換されたものである第1の通信セッションの第1の要求メッセージを受信することと、
    前記第1の通信セッションの前記第1の要求メッセージにプロトコル中立ルールを適用することと、
    プロトコル中立であるとともに第2のプロトコル固有メッセージに変換される前記第1の通信セッションの第1のオファーメッセージを、第1のエッジサーバーからのサブスクリプションメッセージに基づいて又は前記第1の通信セッションの前記第1のオファーメッセージ内の識別子に基づいて、プロトコル中立バスを介して前記第1のエッジサーバーに送信することと、
    を含む、非一時的コンピューター可読媒体。
JP2019212029A 2018-11-29 2019-11-25 イベントベースマルチプロトコル通信セッション配信 Active JP6848034B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862773107P 2018-11-29 2018-11-29
US62/773,107 2018-11-29
US16/249,521 US11375049B2 (en) 2018-11-29 2019-01-16 Event-based multiprotocol communication session distribution
US16/249,521 2019-01-16

Publications (2)

Publication Number Publication Date
JP2020087472A JP2020087472A (ja) 2020-06-04
JP6848034B2 true JP6848034B2 (ja) 2021-03-24

Family

ID=68762430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019212029A Active JP6848034B2 (ja) 2018-11-29 2019-11-25 イベントベースマルチプロトコル通信セッション配信

Country Status (4)

Country Link
US (1) US11375049B2 (ja)
EP (1) EP3661156A1 (ja)
JP (1) JP6848034B2 (ja)
CN (1) CN111245885A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11375049B2 (en) * 2018-11-29 2022-06-28 Avaya Inc. Event-based multiprotocol communication session distribution
CN111970363B (zh) * 2020-08-17 2022-08-16 北京金山云网络技术有限公司 基于物联网的数据处理方法及装置
US12010159B2 (en) * 2022-03-30 2024-06-11 Tencent America LLC Triggering of edge server discovery and instantiation by a 5GMS-aware application

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490278B1 (en) * 1998-10-06 2002-12-03 At&T Corp. Method and apparatus for signaling voice compression in a network
EP1093281A3 (en) * 1999-10-15 2002-11-06 Nortel Networks Limited Call redirection through portable device
US6934534B1 (en) * 2001-04-25 2005-08-23 At&T Corp. Common mobility management protocol for multimedia applications, systems and services
US20050097222A1 (en) 2001-06-12 2005-05-05 Wenyu Jiang System and method for call routing in an ip telephony network
CN100365617C (zh) 2003-07-10 2008-01-30 华为技术有限公司 一种用量统计装置及用量统计方法
CN100396046C (zh) 2003-07-10 2008-06-18 华为技术有限公司 一种实现授权验证的方法及其授权验证处理模块
US8135759B2 (en) * 2003-08-07 2012-03-13 Teamon Systems, Inc. Communications system including protocol interface device for use with multiple operating protocols and related methods
CN100461789C (zh) * 2003-10-10 2009-02-11 华为技术有限公司 一种基于二层虚拟专用网的网络通信方法
US7599354B2 (en) 2004-01-08 2009-10-06 M5 Networks, Inc. Architecture and method for rapid development and implementation of voice over IP features
JP4710241B2 (ja) 2004-04-08 2011-06-29 沖電気工業株式会社 サービス提供システムおよびその提供方法
US8194640B2 (en) * 2004-12-31 2012-06-05 Genband Us Llc Voice over IP (VoIP) network infrastructure components and method
KR100716817B1 (ko) * 2005-01-26 2007-05-09 주식회사 팬택 이동 통신 단말기 호 셋업 방법
US20070022289A1 (en) * 2005-07-20 2007-01-25 Mci, Inc. Method and system for providing secure credential storage to support interdomain traversal
US7983254B2 (en) * 2005-07-20 2011-07-19 Verizon Business Global Llc Method and system for securing real-time media streams in support of interdomain traversal
US8184641B2 (en) * 2005-07-20 2012-05-22 Verizon Business Global Llc Method and system for providing secure communications between proxy servers in support of interdomain traversal
US7844701B2 (en) * 2005-08-01 2010-11-30 Network Appliance, Inc. Rule-based performance analysis of storage appliances
US7920692B2 (en) * 2005-10-03 2011-04-05 Verizon Data Services Llc PBX call management
US20070094691A1 (en) * 2005-10-24 2007-04-26 Gazdzinski Robert F Method and apparatus for on-demand content transmission and control over networks
US7467169B2 (en) * 2005-10-31 2008-12-16 Network Appliance, Inc. Circular and bi-directional mirroring of flexible volumes
CN1913529A (zh) 2006-08-18 2007-02-14 科博技术有限公司 一种voip协议互通系统与方法
EP2007105A1 (en) * 2007-06-22 2008-12-24 Accenture Global Services GmbH Session initiation protocol adaptor
CN101488945B (zh) 2008-01-14 2012-09-19 北京大唐高鸿数据网络技术有限公司 一种面向会话初始化协议的鉴权方法
JP4933472B2 (ja) 2008-03-31 2012-05-16 日本電信電話株式会社 情報提供装置、ネットワーク間連携サービス提供システム、及び、ネットワーク間連携サービス提供方法
US20110055412A1 (en) * 2008-06-05 2011-03-03 Telefonaktiebolaget L M Ericsson (Publ) System for Conversion of SIP Messages
US8364745B2 (en) * 2009-11-24 2013-01-29 International Business Machines Corporation Service oriented architecture enterprise service bus with universal ports
JP5568348B2 (ja) 2010-03-24 2014-08-06 株式会社 ネクストジェン 通信制御装置及び通信制御システム
CN101964958A (zh) * 2010-09-27 2011-02-02 北京航空航天大学 机载网络系统及其骨干节点消息处理方法
US8711837B1 (en) * 2010-09-29 2014-04-29 Lockheed Martin Corporation Methods, apparatus, and systems for facilitating control communications between disparate devices
US8811381B2 (en) * 2010-10-13 2014-08-19 Qwest Communications International Inc. Converged voice services
US9350769B2 (en) * 2011-03-10 2016-05-24 Genband Us Llc SIP device-level call/session/service management
US8953501B2 (en) * 2011-03-28 2015-02-10 Avaya Inc. IMS application sequencing optimizer
US20130227006A1 (en) * 2012-02-23 2013-08-29 Samsung Electronics Co., Ltd. System and method for enabling a party to join an established communication session
JP2013232697A (ja) * 2012-04-27 2013-11-14 Sony Corp コンテンツ転送装置及びコンテンツ転送方法、コンテンツ再生装置及びコンテンツ再生方法、コンテンツ配信システム、並びにコンピューター・プログラム
US9602557B2 (en) * 2012-10-15 2017-03-21 Wowza Media Systems, LLC Systems and methods of communication using a message header that includes header flags
FR3005364A1 (fr) * 2013-05-03 2014-11-07 France Telecom Procede et dispositif pour controler l'utilisation d'un flux de donnees d'une communication
US9380126B2 (en) * 2013-05-20 2016-06-28 International Business Machines Corporation Data collection and distribution management
ITMI20131081A1 (it) * 2013-06-28 2014-12-29 Athonet S R L Radio access network control of media session
JP6364496B2 (ja) 2014-02-07 2018-07-25 オラクル・インターナショナル・コーポレイション モバイルクラウドサービスアーキテクチャ
US20170134239A1 (en) * 2014-03-21 2017-05-11 Ptc Inc. Systems and methods for routing messages in distributed computing environments
US9948740B1 (en) * 2014-11-20 2018-04-17 Amazon Technologies, Inc. Caching for multi-protocol media content delivery
CN105141660B (zh) 2015-07-24 2018-04-24 网宿科技股份有限公司 一种流媒体管理方法及系统
US10178177B2 (en) * 2015-12-08 2019-01-08 Honeywell International Inc. Apparatus and method for using an internet of things edge secure gateway
US10397176B2 (en) * 2018-01-10 2019-08-27 Syniverse Technologies, Llc Method and system for interworking of RCS universal profile and pre-universal profile clients
US11375049B2 (en) * 2018-11-29 2022-06-28 Avaya Inc. Event-based multiprotocol communication session distribution
US11153347B2 (en) * 2019-05-29 2021-10-19 Cisco Technology, Inc. Preserving privacy in exporting device classification rules from on-premise systems
US11290331B2 (en) * 2019-05-31 2022-03-29 Cisco Technology, Inc. Detection and resolution of rule conflicts in device classification systems

Also Published As

Publication number Publication date
US11375049B2 (en) 2022-06-28
US20200177709A1 (en) 2020-06-04
CN111245885A (zh) 2020-06-05
JP2020087472A (ja) 2020-06-04
EP3661156A1 (en) 2020-06-03

Similar Documents

Publication Publication Date Title
JP2021193851A (ja) 柔軟なルーティングのためのシステム及び方法
JP6848034B2 (ja) イベントベースマルチプロトコル通信セッション配信
JP4901878B2 (ja) ユニキャスト・セッションとマルチキャスト・セッションとの間で変換を行うための方法
JP5629086B2 (ja) 同一ipポートを使用するアプリケーションの複数のインスタンス間で、受信したセッションを送信するための方法およびシステム
US10587449B2 (en) System and method to use location-aware DNS responses as input to media relay selection for WebRTC
US20190196676A1 (en) System and method for dynamically loaded application/agent terminal integration
CN113632443B (zh) 用于在公共交换电话网络(pstn)端点和web实时通信(webrtc)端点之间建立通信会话的方法、系统和计算机可读介质
KR101705440B1 (ko) 미디어 통신용 하이브리드 클라우드 미디어 아키텍쳐
US11677792B2 (en) IP tolerance and signaling interworking
US10880338B2 (en) System and method for providing to push notifications to communication endpoints
WO2013155939A1 (zh) 因特网与运营商网络业务共享方法、服务方及网页网关
US10412126B2 (en) Detection and auto-correction of talk path problems in communication sessions
WO2010069176A1 (zh) 实现pc客户端绑定硬终端时召开会议的方法、登录服务器、会议服务器及pc客户端
US10938914B2 (en) Inter domain instant messaging bridge
US10757547B2 (en) Sequenced applications for controlling communication features
US20200128050A1 (en) Context based communication session bridging
Emmanuel et al. A peer-to-peer architecture for real-time communication using Webrtc
Stais et al. VoPSI: voice over a publish-subscribe internetwork
US10469538B2 (en) Call preservation for multiple legs of a call when a primary session manager fails
US10666691B2 (en) Dynamic session classification
Chou et al. Web services for service-oriented communication
Yanik et al. Evaluating SIP proxy servers based on real performance data
Chou et al. Web services methods for communication over IP
CN109040007B (zh) 用于应对替代网络地址类型(anat)不兼容性的方法和系统
Bo et al. Concurrent home multimedia conferencing platform using a service component architecture

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210303

R150 Certificate of patent or registration of utility model

Ref document number: 6848034

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250