IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧

特許7455164VoIPメディア送信のためのネットワーク経路選択方法及びシステム
<>
  • 特許-VoIPメディア送信のためのネットワーク経路選択方法及びシステム 図1
  • 特許-VoIPメディア送信のためのネットワーク経路選択方法及びシステム 図2
  • 特許-VoIPメディア送信のためのネットワーク経路選択方法及びシステム 図3
  • 特許-VoIPメディア送信のためのネットワーク経路選択方法及びシステム 図4
  • 特許-VoIPメディア送信のためのネットワーク経路選択方法及びシステム 図5
  • 特許-VoIPメディア送信のためのネットワーク経路選択方法及びシステム 図6
  • 特許-VoIPメディア送信のためのネットワーク経路選択方法及びシステム 図7
  • 特許-VoIPメディア送信のためのネットワーク経路選択方法及びシステム 図8
  • 特許-VoIPメディア送信のためのネットワーク経路選択方法及びシステム 図9
  • 特許-VoIPメディア送信のためのネットワーク経路選択方法及びシステム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-14
(45)【発行日】2024-03-25
(54)【発明の名称】VoIPメディア送信のためのネットワーク経路選択方法及びシステム
(51)【国際特許分類】
   H04L 45/851 20220101AFI20240315BHJP
   H04L 43/08 20220101ALI20240315BHJP
【FI】
H04L45/851
H04L43/08
【請求項の数】 7
(21)【出願番号】P 2022123836
(22)【出願日】2022-08-03
(62)【分割の表示】P 2018202492の分割
【原出願日】2018-10-29
(65)【公開番号】P2022153619
(43)【公開日】2022-10-12
【審査請求日】2022-08-03
(31)【優先権主張番号】10-2017-0146803
(32)【優先日】2017-11-06
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】イ サンヒョン
【審査官】大石 博見
(56)【参考文献】
【文献】特開2007-266988(JP,A)
【文献】特開2006-237837(JP,A)
【文献】特開2003-258866(JP,A)
【文献】特開平07-231322(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 45/851
H04L 43/08
(57)【特許請求の範囲】
【請求項1】
サーバで実行される方法であって、
VoIP(voice over internet protocol)でユーザ間のメディア送信が可能なメディアチャネル候補を生成する段階、
前記メディアチャネル候補のうちの1つのメディアチャネルを臨時メディアチャネルとして設定して、前記臨時メディアチャネルと現在メディアチャネルのネットワーク性能の評価結果にしたがって、優れているネットワーク性能を有するメディアチャネルに現在メディアチャネルを切り換える段階
を含み、前記メディアチャネル候補に該当するメディアチャネルそれぞれに対して順に前記切り換える段階繰り返され、
前記方法は、前記生成する段階の前に、メディア送信のためのメディアチャネルとしてデフォルト設定された基本メディアチャネルを先に使用する段階
をさらに含み、前記基本メディアチャネルではない他のメディアチャネルに変更された場合に、前記基本メディアチャネルは維持される、
ことを特徴とする、方法。
【請求項2】
前記生成する段階は、
メディア送信が可能なメディアリレーサーバのアドレスリストを組み合わせて前記メディアチャネル候補を生成すること
を特徴とする、請求項1に記載の方法。
【請求項3】
前記生成する段階は、
P2P(peer to peer)メディアとメディアリレーサーバを利用するサードパーティクラウド(3rd party cloud)のうちの少なくとも1つをさらに含んで前記メディアチャネル候補を生成すること
を特徴とする、請求項2に記載の方法。
【請求項4】
請求項1~のうちのいずれか一項に記載の方法をコンピュータに実行させるためのプログラム。
【請求項5】
サーバであって、
VoIP(voice over internet protocol)でユーザ間のメディア送信が可能なメディアチャネル候補を生成する過程、
前記メディアチャネル候補のうちの1つのメディアチャネルを臨時メディアチャネルとして設定して、前記臨時メディアチャネルと現在メディアチャネルのネットワーク性能の評価結果にしたがって、優れているネットワーク性能を有する前記臨時メディアチャネルに現在メディアチャネルを切り替える過程
を処理し、前記メディアチャネル候補に該当するメディアチャネルそれぞれに対して順に前記切り替える過程繰り返され、
前記サーバは、前記生成する過程を処理する前に、メディア送信のためのメディアチャネルとしてデフォルト設定された基本メディアチャネルを先に使用する過程をさらに処理し、前記基本メディアチャネルではない他のメディアチャネルに変更された場合に、前記基本メディアチャネルは維持される、
ことを特徴とする、サーバ。
【請求項6】
システムであって、
請求項1~のうちのいずれか一項に記載の方法を実行するサーバと、
前記現在メディアチャネルを介してVoIPでユーザ間のメディア送信を実施する複数の電子機器と、
を含む、システム。
【請求項7】
サーバと複数の電子機器とを含むシステムで実施される方法であって、
請求項1~のうちのいずれか一項に記載の方法を含み、
前記複数の電子機器により、前記現在メディアチャネルを介してVoIPでユーザ間のメディア送信を実施する段階を更に含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、VoIP(voice over internet protocol:インターネット電話)でメディア送信のための最適ネットワーク経路を選択する技術に関する。
【背景技術】
【0002】
VoIPは、多くの人によって利用されている技術である。VoIPは、基本的に、ユーザの音声をデジタルデータパケットにエンコードし、このデジタルデータパケットをIP(インターネットプロトコル)ネットワークを介して送信する。
【0003】
例えば、特許文献1(登録日2011年09月26日)には、IP基盤でVoIPインターネット電話サービスを提供する技術が開示されている。
【0004】
周知のように、IPネットワークは、音声だけではなく、各種データサービス(ファイル送信、電子メール、インスタントメッセージングなど)はもちろん、動画、写真、音楽などのようなメディアパケットを送信することもできる。
【先行技術文献】
【特許文献】
【0005】
【文献】韓国登録特許公報第10-1069116号
【発明の概要】
【発明が解決しようとする課題】
【0006】
VoIPにおいて、ユーザ間のメディア送信のための最適ネットワーク経路を選択することができる技術を提供する。
【0007】
クライアントのネットワークオーバーヘッドを最小化したネットワーク経路選択技術を提供する。
【0008】
時間によるクライアントのネットワーク変化の影響を最小化したネットワーク経路選択技術を提供する。
【課題を解決するための手段】
【0009】
コンピュータシステムで実行される方法であって、前記コンピュータシステムは、メモリに含まれたコンピュータで読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記方法は、前記少なくとも1つのプロセッサにおいて、VoIP(voice over internet protocol)でユーザ間のメディア送信が可能なメディアチャネル候補を生成する段階、前記少なくとも1つのプロセッサにおいて、前記メディアチャネル候補のうちの1つのメディアチャネルを臨時メディアチャネルとして設定してネットワーク性能を評価する段階、および前記少なくとも1つのプロセッサにおいて、前記ネットワーク性能の評価結果にしたがって前記臨時メディアチャネルを現在メディアチャネルに変更する段階を含み、前記メディアチャネル候補に該当するメディアチャネルそれぞれに対して順に前記評価する段階と前記変更する段階を繰り返すことを特徴とする方法を提供する。
【0010】
一側面によると、前記生成する段階は、メディア送信が可能なメディアリレーサーバのアドレスリストを組み合わせて前記メディアチャネル候補を生成してよい。
【0011】
他の側面によると、前記生成する段階は、P2P(peer to peer)メディアとメディアリレーサーバを利用するサードパーティクラウド(3rd party cloud)のうちの少なくとも1つをさらに含んで前記メディアチャネル候補を生成してよい。
【0012】
また他の側面によると、前記評価する段階は、現在メディアチャネルと同時に前記臨時メディアチャネルのネットワーク性能を評価して比較してよい。
【0013】
また他の側面によると、前記評価する段階は、前記臨時メディアチャネルを介してプローブパケット(probe packet)を送信し、前記プローブパケットに対する応答を利用してRTT(round trip time)、ディレイ変化量、パケットロス、帯域幅のうちの少なくとも1つのネットワークメトリックを算出してよい。
【0014】
また他の側面によると、メディアストリームとネットワーク環境のうちの少なくとも1つに応じて前記ネットワークメトリックそれぞれの加重値が異なるように設定されてよい。
【0015】
また他の側面によると、前記評価する段階は、通信を要請したユーザと通信要請に応答したユーザのうちの少なくとも1つの位置情報、および前記ユーザ間で以前に選択されたメディアチャネル履歴情報のうちの少なくとも1つに基づいて前記メディアチャネル候補に対するネットワーク性能の評価順を調整してよい。
【0016】
さらに他の側面によると、前記方法は、前記生成する段階の前に、メディア送信のためのメディアチャネルとしてデフォルト設定された基本メディアチャネルを先に使用する段階をさらに含み、前記基本メディアチャネルではなく他のメディアチャネルに変更された場合、前記基本メディアチャネルを維持してよい。
【0017】
前記方法をコンピュータに実行させるためのプログラムが記録されていることを特徴とする、非一時的なコンピュータで読み取り可能な記録媒体を提供する。
【0018】
コンピュータシステムであって、メモリに含まれたコンピュータで読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、VoIP(voice over internet protocol)でユーザ間のメディア送信が可能なメディアチャネル候補を生成する過程、前記メディアチャネル候補のうちの1つのメディアチャネルを臨時メディアチャネルとして設定してネットワーク性能を評価する過程、および前記ネットワーク性能の評価結果にしたがって前記臨時メディアチャネルを現在メディアチャネルに変更する過程を処理し、前記メディアチャネル候補に該当するメディアチャネルそれぞれに対して順に前記評価する過程と前記変更する過程を繰り返すことを特徴とするコンピュータシステムを提供する。
【図面の簡単な説明】
【0019】
図1】本発明の一実施形態における、ネットワーク環境の例を示した図である。
図2】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
図3】本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図である。
図4】本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
図5】本発明の一実施形態における、メディア送信のための最適なネットワーク経路を探索する手順を示した図である。
図6】本発明の一実施形態における、メディアチャネルの探索順を示した図である。
図7】本発明の一実施形態における、ネットワークメトリックを算出する過程の例を示した図である。
図8】本発明の一実施形態における、ネットワークメトリックを算出する過程の例を示した図である。
図9】本発明の一実施形態における、ネットワークメトリックを算出する過程の例を示した図である。
図10】本発明の一実施形態における、メディアチャネル候補の例を示した図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態について、添付の図面を参照しながら詳細に説明する。
【0021】
本発明の実施形態に係るネットワーク経路選択方法は、以下で説明される電子機器やサーバのようなコンピュータシステムによって実行されてよい。このとき、コンピュータシステムには、本発明の一実施形態に係るコンピュータプログラムがインストールおよび駆動されてよく、コンピュータシステムは、駆動するコンピュータプログラムの制御にしたがって本発明の一実施形態に係るネットワーク経路選択方法を実行してよい。上述したコンピュータプログラムは、コンピュータシステムと結合され、ネットワーク経路選択方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されてよい。例えば、サーバは、VoIPサーバの役割を担い、グローバルVoIPサービスにおいて、ユーザ間でメディアパケットを交換するために全世界に配布された多数のメディアリレーサーバのうちから最適なサーバを選択してよい。実施形態によっては、電子機器が最適なネットワーク経路を選択することが考慮されてもよい。
【0022】
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。
【0023】
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。
【0024】
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型パソコン、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレット、ゲームコンソール(game console)、ウェアラブルデバイス(wearable device)、IoT(internet of things)デバイス、VR(virtual reality)デバイス、AR(augmented reality)デバイスなどがある。一例として、図1では、電子機器1(110)の例としてスマートフォンの形状を示しているが、本発明の実施形態において、電子機器1(110)は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することのできる多様な物理的なコンピュータ装置のうちの1つを意味してよい。
【0025】
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網、衛星網)を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的(hierarchical)ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0026】
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第1サービスを提供するシステムであってよく、サーバ160も、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第2サービスを提供するシステムであってよい。より具体的な例として、サーバ150は、複数の電子機器110、120、130、140にインストールされて駆動するコンピュータプログラムとしてのアプリケーションにより、該当のアプリケーションが目的とするサービス(一例として、VoIPサービスなど)を第1サービスとして複数の電子機器110、120、130、140に提供してよい。他の例として、サーバ160は、上述したアプリケーションのインストールおよび駆動のためのファイルを複数の電子機器110、120、130、140に配布するサービスを第2サービスとして提供してもよい。
【0027】
図2は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図2では、電子機器に対する例として電子機器1(110)の内部構成を説明し、サーバに対する例としてサーバ150の内部構成を説明する。また、他の電子機器120、130、140やサーバ160も、上述した電子機器1(110)またはサーバ150と同一または類似の内部構成を有してよい。
【0028】
電子機器1(110)とサーバ150は、メモリ211、221、プロセッサ212、222、通信モジュール213、223、および入力/出力インタフェース214、224を含んでよい。メモリ211、221は、非一時的なコンピュータで読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、ディスクドライブ、SSD(soild state drive)、フラッシュメモリ(flash memory)などのような永久大容量記憶装置(permanent mass storage device)を含んでよい。ここで、ROM、SSD、フラッシュメモリ、ディスクドライブなどのような永久大容量記憶装置は、メモリ211、221とは区分される別の永久格納装置として電子機器1(110)やサーバ150に含まれてもよい。また、メモリ211、221には、オペレーティングシステムと、少なくとも1つのプログラムコード(一例として、電気機器1(110)にインストールされ駆動するブラウザや特定のサービスを提供するために電子機器1(110)にインストールされたアプリケーションなどのためのコード)が格納されてよい。このようなソフトウェア構成要素は、メモリ211、221とは別のコンピュータで読み取り可能な記録媒体からロードされてよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール213、223を通じてメモリ211、221にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム(一例として、上述したサーバ160)がネットワーク170を介して提供するファイルによってインストールされるプログラム(一例として、上述したアプリケーション)に基づいてメモリ211、221にロードされてよい。
【0029】
プロセッサ212、222は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ211、221または通信モジュール213、223によって、プロセッサ212、222に提供されてよい。例えば、プロセッサ212、222は、メモリ211、221のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0030】
通信モジュール213、223は、ネットワーク170を介して電子機器1(110)とサーバ150とが互いに通信するための機能を提供してもよいし、電子機器1(110)および/またはサーバ150が他の電子機器(一例として、電子機器2(120))または他のサーバ(一例として、サーバ160)と通信するための機能を提供してもよい。一例として、電子機器1(110)のプロセッサ212がメモリ211のような記録装置に格納されたプログラムコードにしたがって生成した要求が、通信モジュール213の制御にしたがってネットワーク170を介してサーバ150に伝達されてよい。これとは逆に、サーバ150のプロセッサ222の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール223とネットワーク170を経て電子機器1(110)の通信モジュール213を通じて電子機器1(110)に受信されてもよい。例えば、通信モジュール213を通じて受信したサーバ150の制御信号や命令、コンテンツ、ファイルなどは、プロセッサ212やメモリ211に伝達されてよく、コンテンツやファイルなどは、電子機器1(110)がさらに含むことのできる格納媒体(上述した永久格納装置)に格納されてよい。
【0031】
入力/出力インタフェース214は、入力/出力装置215とのインタフェースのための手段であってよい。例えば、入力装置は、キーボード、マウス、マイクロフォン、カメラなどの装置を含んでよく、出力装置は、ディスプレイ、スピーカ、触覚フィードバックデバイス(haptic feedback device)などのような装置を含んでよい。他の例として、入力/出力インタフェース214は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置215は、電子機器1(110)と1つの装置で構成されてもよい。また、サーバ150の入力/出力インタフェース224は、サーバ150と連結するかサーバ150が含むことのできる入力または出力のための装置(図示せず)とのインタフェースのための手段であってよい。より具体的な例として、電子機器1(110)のプロセッサ212がメモリ211にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ150や電子機器2(120)が提供するデータを利用して構成されるサービス画面やコンテンツが、入力/出力インタフェース214を経てディスプレイに表示されてよい。
【0032】
また、他の実施形態において、電子機器1(110)およびサーバ150は、図2の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器1(110)は、上述した入力/出力装置215のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器1(110)がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラモジュール、物理的な各種ボタン、タッチパネルを利用したボタン、入力/出力ポート、振動のための振動器などのような多様な構成要素が電子機器1(110)にさらに含まれるように実現されてよい。
【0033】
以下では、VoIPにおいてメディア送信のための最適ネットワーク経路を選択する方法およびシステムの具体的な実施形態について説明する。
【0034】
ユーザ間のメディア送信のための最適メディアチャネルを探索する問題を解決するには、サービスのクオリティが改善されなければならない上に、メディアチャネルのクオリティを評価したり比較したりするためのオーバーヘッドが少なくなければならず、現在送信中のメディアに対する影響も低くなければならない。さらに、メディアチャネルを選択する動作によって通話連結時のメディアチャネル生成に遅延が生じてはならず、アクセス網の一時的な品質低下によってチャネルの変更に誤りが生じてもいけない。
【0035】
図3は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図であり、図4は、本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
【0036】
本実施形態に係るサーバ150は、クライアント(client)である複数の電子機器110、120、130、140を対象にグローバルVoIPサービスを提供するプラットフォームの役割を担うものである。サーバ150は、電子機器110、120、130、140上にインストールされたアプリケーションと連動してVoIPサービスを提供し、VoIPサービスにおいて最適なメディアチャネルを探索し、ユーザ間でメディアパケットを送信できるようにする。
【0037】
サーバ150が、図4に係るネットワーク経路選択方法を実行するために、サーバ150のプロセッサ222は、構成要素として、図3に示すように、選択部310および評価部320を備えてよい。実施形態によっては、プロセッサ222の構成要素は、選択的にプロセッサ222に含まれても、除外されてもよい。また、実施形態によっては、プロセッサ222の構成要素は、プロセッサ222の機能の表現のために分離されても、併合されてもよい。
【0038】
このようなプロセッサ222およびプロセッサ222の構成要素は、図4のネットワーク経路選択方法が含む段階410~440を実行するようにサーバ150を制御してよい。例えば、プロセッサ222およびプロセッサ222の構成要素は、メモリ221が含むオペレーティングシステムのコードと少なくとも1つのプログラムのコードによる命令(instruction)を実行するように実現されてよい。
【0039】
ここで、プロセッサ222の構成要素は、サーバ150に格納されたプログラムコードが提供する命令にしたがってプロセッサ222によって実行される、プロセッサ222の互いに異なる機能(different functions)の表現であってよい。例えば、サーバ150がメディア送信のための最適メディアチャネルを選択するように、上述した命令にしたがってサーバ150を制御するプロセッサ222の機能的表現として選択部310が利用されてよい。
【0040】
段階410で、プロセッサ222は、サーバ150の制御と関連する命令がロードされたメモリ221から必要な命令を読み取ってよい。この場合、前記読み取られた命令は、以下で説明される段階420~440をプロセッサ222が実行するように制御するための命令を含んでよい。
【0041】
段階420で、選択部310は、グローバルネットワーク上のメディアリレーサーバから受信されたメディアアドレスリストを利用してメディアチャネル候補を生成してよい。メディアリレーサーバは、ユーザ間のメディアパケット送信のためのものであって、電子機器と通信セッションを連結させてメディアストリーム(RTP/RTCP)を処理するネットワークエレメントを意味するものである。言い換えれば、選択部310は、メディアアドレスリストを組み合わせてメディアチャネル候補を生成してよい。
【0042】
段階430で、評価部320は、メディアチャネル候補を順に現在メディアチャネルと比較し、メディアチャネル候補のうちの1つのメディアチャネルを臨時メディアチャネルとして設定してネットワーク性能を評価してよい。多数のメディア経路クライアントを同時にリアルタイムで比較する方式ではなく、現在メディアチャネルと臨時メディアチャネルの2つの経路だけを比較および評価する方式を適用することにより、クライアントのネットワークオーバーヘッドを減少させることができる。このとき、リレーとP2P(peer to peer)ネットワークを同一線上で利用して候補生成および評価を実行してよい。評価部320は、一定時間に渡ってプローブパケット(probe packet)を送信し、ネットワークメトリック(すなわち、ファクタ)、一例として、RTT(round trip time)、ディレイ変化量(Jitter variance)、パケットロス(loss)、帯域幅(bandwidth)などを算出してよく、このようなメトリックを利用してVoIPクオリティを予測してよい。各メトリックには加重値が付与されてよく、VoIPクオリティを予測するのに利用されるメトリックと加重値は、メディアストリームまたはネットワーク環境などに応じて異なるように設定されてよい。例えば、HDビデオ通信では、他のメトリックに比べて帯域幅を重要な測定基準として使用してよい。評価部320は、このような過程を繰り返しながら順に次の臨時メディアチャネルを選択することにより、現在メディア経路と臨時メディア経路の各ペアを評価してよい。したがって、評価部320は、メディアチャネル候補として1つのメディアチャネルだけを順に生成し、現在メディアチャネルと同時に評価を実行することができる。リアルタイムで複数の代案メディア経路を評価することは、オーバーヘッドの問題により適さないため、一度に1つの臨時メディア経路だけを生成し、この経路品質を測定する。
【0043】
段階440で、選択部310は、ネットワーク性能の評価結果にしたがって、VoIPクオリティが改善されると予想される臨時メディアチャネルを現在メディアチャネルに切り換えてよい。したがって、選択部310は、現在メディアチャネルよりもネットワーク性能が優れた代案メディア経路が探索されれば、このメディア経路に変更することにより、VoIPクオリティを向上させることができる。
【0044】
図5は、本発明の一実施形態における、メディア送信のための最適なネットワーク経路を探索する手順を示した図である。
【0045】
図5を参照すると、プロセッサ222は、ユーザ間の迅速な通話連結のためにデフォルト設定されている基本メディアチャネル(primary session)から使用し(S501)、最適メディアチャネル選択過程(S502)は以後に実行する。基本メディアチャネルではない他のメディアチャネルを使用したとしても、基本メディアチャネルは維持する。最適メディアチャネル選択過程(S502)において、プロセッサ222は、メディアリレーサーバからメディアアドレスリストなどを受信した後、メディアアドレスリストを組み合わせてメディアチャネル候補を生成する。この後、プロセッサ222は、メディアチャネル候補のうちの1つのメディアチャネルを臨時メディアチャネル(temporary session)として設定し、このメディアチャネルのネットワーク性能を評価し、現在メディアチャネルよりも性能が優れている場合、このメディアチャネルへの切り換えを決定する。このような過程を順に繰り返して実行するようになるが、このとき、時間によるクライアントのネットワーク変化の影響を最小限に抑えるために、同時間のアクセス網の影響(ネットワークメトリック)を相対比較しながら最適なメディアチャネルを選択する。言い換えれば、プロセッサ222は、臨時メディア経路と現在メディア経路だけを対象にネットワークメトリックを測定して比較する。
【0046】
メディアチャネル候補が極めて多い場合、最適なメディアチャネルを選択するのにかかる時間が長くなる場合があるが、これを改善するために、プロセッサ222は、メディアチャネル候補に対する測定順を統計的または地域的に調整することで時間を短縮することができる。一例として、プロセッサ222は、同じ相手に対して以前に選択された最適メディアチャネルをローカルキャッシュ(local cache)に格納しておくことで、以後からは該当となるメディアチャネルの評価を最優先に調整してよく、最適メディアチャネル選択過程の初期にネットワーク性能が極めて良くなければ、テストを短縮することも可能である。
【0047】
最適メディアチャネル選択過程中に、ネットワークハンドオーバ(handover)などによってメディア送信環境が変われば、プロセッサ222は、デフォルト設定された基本メディアチャネル(primary media channel)に切り換えてよい。
【0048】
図6は、本発明の一実施形態における最適メディアチャネルの探索順を示した図である。
【0049】
図6を参照すると、プロセッサ222は、初期に通信を要請した電子機器、すなわち要請者UE(initiator)601と、要請者UE(601)の通信要請に応答した電子機器、すなわち応答者UE(responder)602との間の通話連結時に、優先的にデフォルト設定されたメディアリレーサーバ605と設定された基本メディアチャネル(primary session)61を使用し、以後に最適メディアチャネル選択過程60を実行する。最適メディアチャネル選択過程60において、メディアチャネル候補のうちの1つである他のメディアリレーサーバ606と設定された臨時メディアチャネル(temporary session)62のネットワーク性能(VoIPクオリティ)が基本メディアチャネル61よりも高く評価されれば、要請者UE(601)と応答者UE(602)間の通信連結セッションは、ネットワーク性能の高いメディアチャネル62に切り換える。このとき、要請者UE(601)と応答者UE(602)間の通信連結中に、基本メディアチャネル61ではない他のメディアチャネル62が使用されたとしても、基本メディアチャネル61は維持し、以後にネットワークハンドオーバなどによって通信環境が変われば、再び基本メディアチャネル61に切り換えてよい。
【0050】
プロセッサ222は、上述した最適メディアチャネル選択のために、選択部310と評価部320を備える。評価部320は、ネットワーク性能を測定して比較する核心モジュールであって、能動的評価子の役割(active role estimator)と受動的評価子の役割(passive role estimator)とに区分される。能動的評価子はネットワーク性能メトリックを算出する反面、受動的評価子は能動的評価子のプローブ命令だけに応答する。能動的評価子は、ネットワーク性能を評価するためにプローブ命令を使用し、プローブ命令に対する受動的評価子の応答を利用してネットワーク性能テストを実行してよい。
【0051】
図7図9は、本発明の一実施形態における、ネットワークメトリックを算出する過程の例を示した図である。
【0052】
能動的評価子は、シーケンス番号を使用してパケットロスメトリックを計算してよい。このとき、プローブデータ構造のタイムスタンプフィールドは、RTT、ディレイのような測定値が使用される。seq、pair、dummy_bytes、rem_recv_tsの組み合わせは、パケットペア帯域幅推定に使用される。
【0053】
図7に示すように、受動的評価子は、能動的評価子からプローブ命令が受信されると、dummy_bytesを除いて応答(cmmd_res)してよく、これにより、能動的評価子は、受動的評価子の応答(cmmd_res)を利用してネットワーク性能メトリックを算出することができる。
【0054】
他の例として、図8に示すように、受動的評価子は、能動的評価子のプローブ命令に対してdummy_bytesを含んだ応答(cmmd_res_with_dummy)を伝達してよく、これにより、能動的評価子は、受動的評価子の応答(cmmd_res_with_dummy)を利用してネットワーク性能メトリックを算出することができる。
【0055】
また他の例として、図9に示すように、能動的評価子のプローブ命令を受けた受動的評価子は、2つのパケットに順に応答する。1番目のパケットは同じres_with_dummyであり、1番目パケットを送信した直後にもう一度パケットを送信する。連続する2つのパケットにおいて、送信ノード(能動的評価子)から送信されるときの時間間隔と受信ノード(受動的評価子)に到着するときの時間間隔の差を確認してよい。このようなメカニズムは、ネットワーク性能メトリックとしてパケットペア帯域幅を推定するためのものである。
【0056】
選択部310は、評価部320と共に最適メディアチャネル選択過程を実行するモジュールであり、これも同じように、能動的選択肢の役割(active role selector)と受動的選択肢の役割(passive role selector)とに区分される。受動的選択肢は能動的選択肢のメディアチャネル検索を支援し、能動的選択肢は、メディアチャネル候補を生成し、評価部320のネットワーク性能の評価に応じてより優れたメディアチャネルへの切り換えを決定する。
【0057】
要請者UE(601)と応答者UE(602)のうちの1つに能動的選択肢の役割を割り当て、他の1つに受動的選択肢の役割を割り当てる。一例として、要請者UE(601)には受動的選択肢のインスタンスがあり、応答者UE(602)には能動的選択肢のインスタンスがある。応答者UE(602)は、能動的選択肢のインスタンスにしたがってメディアリレーサーバからメディアアドレスリストをロードしてメディアチャネル候補を生成してよい。
【0058】
能動的選択肢は、メディアチャネル候補を生成するようになるが、このとき、メディアリレーサーバのアドレスリストを含み、このとき、P2Pメディア経路を含ませてよい。言い換えれば、能動的選択肢は、リレーとP2Pネットワークを含んだ候補アドレスの組み合わせによってメディアチャネル候補を生成することができる。
【0059】
能動的選択肢は、メディアチャネル候補に対する優先順位を指定してよく、一例として、要請者UE(601)と応答者UE(602)の位置情報や要請者UE(601)と応答者UE(602)との間で以前に選択された最適メディアチャネルの履歴情報、メディアストリーム、またはネットワーク環境などを考慮した加重値に応じて優先順位を決定してよい。メディアチャネル候補を構成するためのリレーポリシーには、他のメディアリレーサーバと結合可能な結合性(combinable)と、他のメディアリレーサーバを経てリレーすることのできない独立性(standalone)が含まれる。チャネルの切り換えを決定するために加重値が利用されてよく、このとき、ネットワーク性能を評価するのに利用されてよい。
【0060】
例えば、図10に示すように、能動的選択肢は、先ず、要請者UE(601)と応答者UE(602)との間のメディア送信のために利用可能なメディアリレーサーバのアドレスリスト1010をロードし、アドレスリスト1010を利用して2つのメディアリレーサーバで構成されたアドレス住所結合1020を生成する。アドレスリスト1010には、メディア送信のために利用可能なすべてのメディアが含まれ、P2Pはもちろん、メディアリレーサーバを利用するサードパーティクラウド(3rd party cloud)などが含まれてよい。このとき、アドレス住所結合1020は、結合性ポリシーと独立性ポリシーに基づいて構成され、独立性ポリシーに含まれた他のアドレスの組み合わせは除去される。
【0061】
評価部320は、選択部310で生成されたアドレス住所結合1020に基づいて順に2つの経路ずつネットワーク性能メトリックを相対比較することにより、クライアントのネットワークオーバーヘッドを最小化し、時間によるクライアントのネットワーク変化の影響を最小化した環境において最適なメディアチャネルを選択することができる。
【0062】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)および前記OS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0063】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ格納媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータで読み取り可能な記録媒体に格納されてよい。
【0064】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてよい。このとき、媒体は、コンピュータによって実行可能なプログラムを継続して格納するものであっても、実行またはダウンロードのために臨時格納するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよいが、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令語が格納されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを流通するアプリストアやその他の多様なソフトウェアを供給あるいは流通するサイト、サーバなどで管理する記録媒体あるいは格納媒体が挙げられてもよい。
【0065】
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0066】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0067】
222:プロセッサ
310:選択部
320:評価部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10