特許第6758139号(P6758139)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ LINE株式会社の特許一覧

特許6758139効率的な呼処理のためのシステムおよび方法
<>
  • 特許6758139-効率的な呼処理のためのシステムおよび方法 図000002
  • 特許6758139-効率的な呼処理のためのシステムおよび方法 図000003
  • 特許6758139-効率的な呼処理のためのシステムおよび方法 図000004
  • 特許6758139-効率的な呼処理のためのシステムおよび方法 図000005
  • 特許6758139-効率的な呼処理のためのシステムおよび方法 図000006
  • 特許6758139-効率的な呼処理のためのシステムおよび方法 図000007
  • 特許6758139-効率的な呼処理のためのシステムおよび方法 図000008
  • 特許6758139-効率的な呼処理のためのシステムおよび方法 図000009
  • 特許6758139-効率的な呼処理のためのシステムおよび方法 図000010
  • 特許6758139-効率的な呼処理のためのシステムおよび方法 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6758139
(24)【登録日】2020年9月3日
(45)【発行日】2020年9月23日
(54)【発明の名称】効率的な呼処理のためのシステムおよび方法
(51)【国際特許分類】
   H04M 3/00 20060101AFI20200910BHJP
   H04L 12/70 20130101ALI20200910BHJP
【FI】
   H04M3/00 B
   H04L12/70 A
【請求項の数】8
【全頁数】17
(21)【出願番号】特願2016-185562(P2016-185562)
(22)【出願日】2016年9月23日
(65)【公開番号】特開2017-63421(P2017-63421A)
(43)【公開日】2017年3月30日
【審査請求日】2019年9月13日
(31)【優先権主張番号】10-2015-0136898
(32)【優先日】2015年9月25日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】501333021
【氏名又は名称】LINE株式会社
(74)【代理人】
【識別番号】110002516
【氏名又は名称】特許業務法人白坂
(74)【代理人】
【識別番号】100185971
【弁理士】
【氏名又は名称】高梨 玲子
(72)【発明者】
【氏名】カク ジョンナム
(72)【発明者】
【氏名】チェ ヒョングク
【審査官】 白川 瑞樹
(56)【参考文献】
【文献】 特開2015−154360(JP,A)
【文献】 米国特許出願公開第2016/0241607(US,A1)
【文献】 韓国公開特許第10−2015−0047970(KR,A)
【文献】 特開2010−212825(JP,A)
【文献】 特開2008−067225(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B7/24−7/26
H04L12/00−12/26
12/50−12/955
H04M3/00
3/16−3/20
3/38−3/58
7/00−7/16
11/00−11/10
H04W4/00−99/00
(57)【特許請求の範囲】
【請求項1】
発信電子機器で、発信リクエストを生成してVoIPサーバへ送信する送信手段と、
着信電子機器から発信されたインバイト(INVITE)リクエストを、前記VoIPサーバを通じて前記発信電子機器が受信する受信手段と、
前記発信電子機器において、前記VoIPサーバが前記発信電子機器と、前記着信電子機器との間に生成する通話セッションを通じて、前記着信電子機器と通信する通信手段と、を有し、
前記インバイトリクエストは、前記発信リクエストを受信した前記VoIPサーバがプッシュサーバを通じて、前記着信電子機器に提供されるプッシュ通知に基づいて、前記着信電子機器から前記VoIPサーバに配信されることを特徴とするシステム。
【請求項2】
前記VoIPサーバは、前記着信電子機器から前記インバイトリクエストを受信する場合、前記発信電子機器と前記着信電子機器との関係を示すSIPダイアログ(Session Initiation Protocol dialog)を生成することを特徴とする請求項1に記載のシステム。
【請求項3】
前記VoIPサーバは、前記着信電子機器から前記インバイトリクエストを受信する以前に、前記発信電子機器から発信取消リクエストを受信した場合、前記発信リクエストに対応するSIPダイアログを生成せずに、前記プッシュサーバを通じて発信取消メッセージを前記着信電子機器に送信して、前記発信電子機器による発信を取り消すことを特徴とする請求項1又は2に記載のシステム。
【請求項4】
前記VoIPサーバは、前記着信電子機器から前記インバイトリクエストを受信する以前に、前記着信電子機器から着信拒絶リクエストを受信した場合、前記発信リクエストに対応するSIPダイアログを生成せずに、前記着信拒絶リクエストを前記発信電子機器に送信して、前記発信電子機器による発信を取り消すことを特徴とする請求項1から3のいずれか1項に記載のシステム。
【請求項5】
発信電子機器が、発信リクエストを生成してVoIPサーバへ送信する送信ステップと、
前記発信電子機器が、着信電子機器から発信されたインバイト(INVITE)リクエストを、前記VoIPサーバを通じて受信する受信ステップと、
前記発信電子機器が、前記VoIPサーバが前記発信電子機器と、前記着信電子機器との間に生成する通話セッションを通じて、前記着信電子機器と通信する通信ステップと、を実行し、
前記インバイトリクエストは、前記発信リクエストを受信した前記VoIPサーバがプッシュサーバを通じて、前記着信電子機器に提供されるプッシュ通知に基づいて、前記着信電子機器から前記VoIPサーバに配信されることを特徴とする呼処理方法。
【請求項6】
前記VoIPサーバが、前記着信電子機器から前記インバイトリクエストを受信する場合、前記発信電子機器と前記着信電子機器との関係を示すSIPダイアログ(Session Initiation Protocol dialog)を生成する生成ステップを実行することを特徴とする請求項5に記載の呼処理方法。
【請求項7】
前記VoIPサーバが、前記着信電子機器から前記インバイトリクエストを受信する以前に、前記発信電子機器から発信取消リクエストを受信した場合、前記発信リクエストに対応するSIPダイアログを生成せずに、前記プッシュサーバを通じて発信取消メッセージを前記着信電子機器に送信して、前記発信電子機器による発信を取り消す取消ステップを実行することを特徴とする請求項5又は6に記載の呼処理方法。
【請求項8】
前記VoIPサーバが、前記着信電子機器から前記インバイトリクエストを受信する以前に、前記着信電子機器から着信拒絶リクエストを受信した場合、前記発信リクエストに対応するSIPダイアログを生成せずに、前記着信拒絶リクエストを前記発信電子機器に送信して、前記発信電子機器による発信を取り消す取消ステップを実行することを特徴とする請求項5から7のいずれか1項に記載の呼処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
下記の説明は、効率的な呼処理のためのシステムおよび方法に関する。
【背景技術】
【0002】
VoIP(Voice over Internet Protocol)環境において通信装置間の連動のために利用されるプロトコルであるSIP(Session Initiation Protocol)では、クライアントが呼び出しを開始すると、サーバ(一例として、VoIPサーバまたはSIPサーバ)がその呼び出しに応答をするクライアント/サーバ構造に基盤を置いている。
【0003】
このようなSIPにおいて、発信を希望するすべての発信電子機器それぞれは、サーバにインバイト(INVITE)をリクエストし、サーバはインバイトリクエストに応じてSIPダイアログ(dialog)を生成して管理する。このようなSIPダイアログは、一定時間内に存在する2つのSIPユーザエージェント(SIP user−agent、発信クライアント、着信クライアント)との関係を示すものであって、発信電子機器と着信電子機器との間のSIPメッセージシーケンス(SIP message sequence)情報、SIPリクエストルーティング(SIP request routing)情報などを管理する。ここで、SIPユーザエージェントとは、SIP処理が可能な装置であって、発信クライアント、着信クライアント、およびSIPサーバがSIPユーザエージェントに該当する。
【0004】
このようなSIPダイアログは、SIPメッセージを翻訳するためのコンテクスト(context)を含み、それぞれのSIPユーザエージェントは、ダイアログ識別子(dialog ID)を利用してSIPダイアログを管理する。SIPダイアログは、1つ以上のSIPトランザクション(SIP transaction(SIPrequest/response))を含む。このようなSIPダイアログを生成するSIPメソッド(SIP method)にはインバイト(INVITE)とサブスクライブ(SUBSCRIBE)があり、インバイトメソッドは通話セッション(call session)の生成のために利用される。
【0005】
言い換えれば、SIP呼処理を行う装置(発信クライアント、着信クライアント、およびSIPサーバ)は、インバイトリクエストに応じてSIPダイアログを生成して管理し、SIPダイアログは、終了リクエスト(BYE request)またはインバイトエラー応答(INVITE error response)のような呼終了メッセージと共に終わる。このとき、それぞれのSIPユーザエージェントは、SIPダイアログのライフサイクル(life−cycle)中に発生したサブシーケンスSIPリクエストを処理するためにSIPダイアログを管理しなければならない。
【0006】
SIPにおいて、インバイトリクエストは、SIP呼を生成するSIPメソッドであって、従来技術では発信電子機器が発信リクエストのためにインバイトリクエストをSIPサーバに送信し、SIPサーバが受信したインバイトリクエストを着信電子機器に伝達して呼受信を知らせる。このようなインバイトメッセージは、各SIPユーザエージェントがSIPダイアログを生成するようにするため、SIPサーバは呼処理数に比例するSIPダイアログを生成および管理しなければならない。例えば、1秒間に1万回のインバイトリクエストが発生した場合、SIPサーバは、1秒間に1万個のSIPダイアログを生成および管理しなければならない。したがって、SIPサーバでは、SIPダイアログの効率的な管理が性能および容量に大きな影響を及ぼすようになる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】PCT/KR/2014/010167
【特許文献2】US2014/0019540A1
【特許文献3】US2013/0332543A1
【特許文献4】US2013/0260893
【発明の概要】
【発明が解決しようとする課題】
【0008】
着信電子機器が通話を受諾する場合にだけインバイトリクエストが発生するように処理することで、SIPダイアログの生成回数自体を減らし、SIPサーバ(VoIPサーバ)の性能および容量を画期的に向上させることができるシステムおよび方法を提供する。
【課題を解決するための手段】
【0009】
発信電子機器で、発信リクエストを生成してVoIPサーバへ送信する送信手段と、着信電子機器から発信されたインバイト(INVITE)リクエストを、前記VoIPサーバを通じて前記発信電子機器が受信する受信手段と、前記発信電子機器において、前記VoIPサーバが前記発信電子機器と、前記着信電子機器との間に生成する通話セッションを通じて、前記着信電子機器と通信する通信手段と、を有し、前記インバイトリクエストは、前記発信リクエストを受信した前記VoIPサーバがプッシュサーバを通じて、前記着信電子機器に提供されるプッシュ通知に基づいて、前記着信電子機器から前記VoIPサーバに配信されることを特徴とするシステムを提供する。
【0010】
発信電子機器が、発信リクエストを生成してVoIPサーバへ送信する送信ステップと、前記発信電子機器が、着信電子機器から発信されたインバイト(INVITE)リクエストを、前記VoIPサーバを通じて受信する受信ステップと、前記発信電子機器が、前記VoIPサーバが前記発信電子機器と、前記着信電子機器との間に生成する通話セッションを通じて、前記着信電子機器と通信する通信ステップと、を実行し、前記インバイトリクエストは、前記発信リクエストを受信した前記VoIPサーバがプッシュサーバを通じて、前記着信電子機器に提供されるプッシュ通知に基づいて、前記着信電子機器から前記VoIPサーバに配信されることを特徴とする呼処理方法を提供する。
【発明の効果】
【0012】
着信電子機器が通話を受諾する場合にだけインバイトリクエストが発生するように処理することにより、SIPダイアログの生成回数自体を減らし、SIPサーバ(VoIPサーバ)の性能および容量を画期的に向上させることができる。
【図面の簡単な説明】
【0013】
図1】本発明の一実施形態における、ネットワーク環境の例を示した図である。
図2】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
図3】本発明の一実施形態における、VoIPサーバのプロセッサが含むことのできる構成要素の例を示した図である。
図4】本発明の一実施形態における、VoIPサーバが実行することのできる呼処理方法の例を示したフローチャートである。
図5】本発明の一実施形態における、プッシュサーバのプロセッサが含むことのできる構成要素の例を示した図である。
図6】本発明の一実施形態における、プッシュサーバが実行することのできる呼処理方法の例を示したフローチャートである。
図7】本発明の一実施形態における、全体システムにおける呼処理工程の例を示した図である。
図8】本発明の一実施形態における、全体システムにおける発信終了工程の例を示した図である。
図9】本発明の一実施形態における、全体システムにおける発信取り消し工程の例を示した図である。
図10】本発明の一実施形態における、全体システムにおける着信拒絶工程の例を示した図である。
【発明を実施するための形態】
【0014】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【0015】
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。
【0016】
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定型端末や移動型端末であってもよい。複数の電子機器110、120、130、140の例としては、スマートフォン(smart phone)、携帯電話、ナビゲーション、コンピュータ、ノート型パソコン、デジタル放送用端末、PDA(Personal Digital Assistants)、PMP(Portable Multimedia Player)、タブレットPCなどがある。一例として、電子機器1(110)は、無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信してもよい。
【0017】
通信方式が制限されることはなく、ネットワーク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つ以上を含んでもよいが、これに制限されることはない。
【0018】
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてもよい。
【0019】
一例として、サーバ160は、ネットワーク170を介して接続した電子機器1(110)にアプリケーションのインストールのためのファイルを提供してもよい。この場合、電子機器1(110)は、サーバ160から提供されたファイルを利用してアプリケーションをインストールしてもよい。また、電子機器1(110)が含むオペレーティングシステム(Operating System:OS)および少なくとも1つのプログラム(一例として、ブラウザや前記インストールされたアプリケーション)の制御にしたがってサーバ150に接続し、サーバ150が提供するサービスやコンテンツの提供を受けてもよい。例えば、電子機器1(110)がアプリケーションの制御にしたがってネットワーク170を介してサービスリクエストメッセージをサーバ150に送信すると、サーバ150はサービスリクエストメッセージに対応するコードを電子機器1(110)に送信してもよく、電子機器1(110)はアプリケーションの制御にしたがってコードに基づいた画面を構成して表示することにより、ユーザにコンテンツを提供してもよい。他の例として、サーバ150は、メッセージングサービスのための通信セッションを設定し、設定された通信セッションを通じて複数の電子機器110、120、130、140間のメッセージ送受信をルーティングしてもよい。
【0020】
特に、本発明の実施形態において、サーバ150は、発信電子機器としての電子機器1(110)と着信電子機器としての電子機器2(120)との間の呼処理を実行するVoIPサーバ(またはSIPサーバ)であってもよく、サーバ160は、発信リクエストに対応する着信電子機器である電子機器2(120)にプッシュ通知を伝達するプッシュサーバであってもよい。
【0021】
図2は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図2では、1つの電子機器に対する例として電子機器1(110)を、1つのサーバに対する例としてサーバ150の内部構成を説明する。他の電子機器120、130、140やサーバ160も、同一または類似の内部構成を備えてもよい。
【0022】
電子機器1(110)とサーバ150は、メモリ211、221、プロセッサ212、222、通信モジュール213、223、および入力/出力インタフェース214、224を含んでもよい。メモリ211、221は、コンピュータで読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永久大容量記憶装置(permanent mass storage device)を含んでよい。また、メモリ211、221には、オペレーティングシステムと、少なくとも1つのプログラムコード(一例として、電気機器1(110)にインストールされ駆動するブラウザや上述したアプリケーションなどのためのコード)が格納されてよい。このようなソフトウェア構成要素は、ドライブメカニズム(drive mechanism)を利用してメモリ211、221とは別のコンピュータで読み取り可能な記録媒体からロードされてもよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピーディスク、ディスク、テープ、DVD/CD−ROM、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール213、223を利用してメモリ211、221にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム(一例として、上述したサーバ160)がネットワーク170を介して提供するファイルによってインストールされるプログラム(一例として、上述したアプリケーション)に基づいてメモリ211、221にロードされてもよい。
【0023】
プロセッサ212、222は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ211、221または通信モジュール213、223によって、プロセッサ212、222に提供されてよい。例えば、プロセッサ212、222は、メモリ211、221のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてもよい。
【0024】
通信モジュール213、223は、ネットワーク170を介して電子機器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)がさらに含むことのできる格納媒体に格納されてもよい。
【0025】
入力/出力インタフェース214、224は、入力/出力装置215とのインタフェースのための手段であってもよい。例えば、入力装置は、マイクロフォン、キーボード、またはマウスなどの装置を、また出力装置はアプリケーションの通信セッションを表示するためのディスプレイやスピーカのような装置を含んでもよい。他の例として、入力/出力インタフェース214は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。より具体的な例として、電子機器1(110)のプロセッサ212は、メモリ211にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ150や電子機器2(120)が提供するデータを利用して構成されるサービス画面やコンテンツが、入力/出力インタフェース214を通じてディスプレイに表示されてもよい。
【0026】
また、他の実施形態において、電子機器1(110)およびサーバ150は、図2の構成要素よりもさらに多くの構成要素を含んでもよい。しかし、大部分の従来技術の構成要素を明確に図に示す必要はない。例えば、電子機器1(110)は、上述した入力/出力装置215のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ(transceiver)、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【0027】
図3は、本発明の一実施形態における、VoIPサーバのプロセッサが含むことのできる構成要素の例を示した図であり、図4は、本発明の一実施形態における、VoIPサーバが実行することのできる呼処理方法の例を示したフローチャートである。
【0028】
本実施形態において、サーバ150は、VoIPサーバ(またはSIPサーバ)に対応してもよく、サーバ150のプロセッサ222は、送受信制御部310、プッシュリクエスト制御部320、および通話管理制御部330を備えてもよい。このようなプロセッサ222およびプロセッサ222の構成要素は、図4の呼処理方法が含むステップ410〜ステップ450を実行するようにサーバ150を制御してもよい。例えば、プロセッサ222およびプロセッサ222の構成要素は、サーバ150のメモリ221が含むオペレーティングシステムのコードと少なくとも1つのプログラムコードによる命令を実行するように実現されてもよい。
【0029】
ステップ410で、プロセッサ222は、呼処理方法のためのプログラムファイルに格納されたプログラムコードをメモリ221にロードしてもよい。例えば、サーバ150には、プログラムファイルにしたがってプログラムがインストール(install)されてもよい。このとき、サーバ150にインストールされたプログラムが実行される場合、プロセッサ222は、プログラムコードをメモリ221にロードしてもよい。ここで、プロセッサ222が備える送受信制御部310、プッシュリクエスト制御部320、および通話管理制御部330それぞれは、メモリ221にロードされたプログラムコードのうち対応するコードによる命令を実行して以後のステップ420〜ステップ450を実行するように実現されてもよい。
【0030】
以下で、プロセッサ222の構成要素がサーバ150を制御することは、プロセッサ222がサーバ150の他の構成要素を制御するものと理解されてもよい。例えば、プロセッサ222は、サーバ150が含む通信モジュール223を制御してサーバ150が電子機器(一例として、電子機器1(110))や他のサーバ(一例として、サーバ160)と通信するようにサーバ150を制御してもよい。
【0031】
ステップ420で、送受信制御部310は、発信電子機器から発信リクエストを受信するようにサーバ150を制御してもよい。従来技術に係るSIPでは、発信をリクエストする工程で、SIPダイアログの生成と通話セッション(call session)の生成のためにインバイトリクエストをVoIPサーバ(または、SIPサーバ)に送信していたが、本発明の実施形態では、このようなインバイトリクエストのための工程は省略されてもよい。
【0032】
ステップ430で、プッシュリクエスト制御部320は、発信リクエストに対応する着信電子機器にプッシュ通知を提供することをプッシュサーバにリクエストするようにサーバ150を制御してもよい。例えば、発信リクエストは、着信電子機器を識別するための情報を含んでもよく、サーバ150は、このような情報に基づいてプッシュサーバに着信電子機器へのプッシュ通知の提供をリクエストしてもよい。プッシュサーバは、このようなリクエストに応じてプッシュ通知を着信電子機器に提供してもよい。例えば、着信電子機器には、プッシュサーバと関連するアプリケーションがインストールされていてもよい。このとき、プッシュサーバは、リクエストにしたがい、プッシュ通知を着信電子機器にインストールされたアプリケーションを通じて着信電子機器にプッシュしてもよい。着信電子機器にインストールされたアプリケーションは、発信電子機器にも同じようにインストールされてもよく、発信電子機器と着信電子機器はこのようなアプリケーションを通じて通話を処理してもよい。
【0033】
ステップ440で、通話管理制御部330は、発信取消リクエストの受信の可否を確認してもよい。例えば、通話管理制御部330は、インバイトリクエストを受信する以前に発信電子機器から発信取消リクエストが受信されたか否かを確認してもよい。発信取消リクエストが受信された場合にはステップ450が実行されてもよく、発信取消リクエストが受信されていない場合にはステップ460が実行されてもよい。
【0034】
ステップ450で、通話管理制御部330は、インバイトリクエストを受信する以前に発信電子機器から発信取消リクエストが受信された場合、発信リクエストに対応するSIPダイアログ(Session Initiation Protocol dialog)を生成せずに発信を取り消してもよい。発信が取り消された場合、図4の呼処理方法は終了されてもよい。
【0035】
ステップ460で、通話管理制御部330は、着信拒絶リクエストの受信の可否を確認してもよい。例えば、通話管理制御部330は、インバイトリクエストを受信する以前に着信電子機器から着信拒絶リクエストが受信されたか否かを確認してもよい。着信拒絶リクエストが受信された場合にはステップ470が実行されてもよく、着信拒絶リクエストが受信されていない場合にはステップ480が実行されてもよい。
【0036】
ステップ470で、通話管理制御部330は、インバイトリクエストを受信する以前に着信電子機器から着信拒絶リクエストが受信された場合、発信リクエストに対応するSIPダイアログ(Session Initiation Protocol dialog)を生成せずに発信を取り消してもよい。発信が終了された場合、図4の呼処理方法は終了されてもよい。
【0037】
言い換えれば、ステップ440およびステップ450は、発信電子機器から発信取消リクエストが受信された場合に実行されてもよく、ステップ460およびステップ470は、着信電子機器から着信拒絶リクエストが受信された場合に実行されてもよい。したがって、発信取消リクエストや着信拒絶リクエストが受信されなかった場合、ステップ430以後にはステップ480が実行されてもよい。
【0038】
ステップ480で、送受信制御部310は、着信電子機器からプッシュ通知に基づいて送信されたインバイト(INVITE)リクエストを受信するようにサーバ150を制御してもよい。このようなインバイトリクエストは、着信電子機器が着信に応答する場合に着信電子機器で生成されてサーバ150に送信されてもよい。
【0039】
ステップ490で、通話管理制御部330は、インバイトリクエストに応じて前記発信電子機器と前記着信電子機器との間の通話セッション(call session)を生成してもよい。また、通話管理制御部330は、着信電子機器からインバイトリクエストを受信することによって発信電子機器にインバイトリクエストを送信するようにサーバ150を制御してもよい。このとき、発信電子機器がサーバ150からのインバイトリクエストに基づいて通話セッションに連結されてもよい。さらに、通話管理制御部330は、着信電子機器からインバイトリクエストを受信することによってSIPダイアログ(Session Initiation Protocol dialog)を生成して管理してもよい。
【0040】
また、図4の呼処理方法は、インバイトリクエストの受信にしたがってSIPダイアログ(Session Initiation Protocol dialog)を生成して管理するステップ(図示せず)を、ステップ490以後またはステップ490以前にさらに含んでもよい。このような図に示されていないステップは、通話管理制御部330によって実行されてもよい。
【0041】
このように、本発明の実施形態では、着信電子機器が着信に応答した場合にだけインバイトリクエストを生成することができる。したがって、サーバ150は、すべての発信リクエストに対してインバイトリクエストを生成する必要がないため、サーバ150が生成しなければならないSIPダイアログの数を画期的に減少させることができる。例えば、発信リクエストに対して着信応答が発生する割合が50%であれば、サーバ150が生成しなければならないSIPダイアログの数は半減するようになり、これによってサーバ150の性能と容量を大きく向上させることができる。
【0042】
発信電子機器がインバイトリクエストをサーバ150に伝達しなくとも、サーバ150は、プッシュサーバからのプッシュ通知の送信によって呼リクエストを着信電子機器に伝達することができる。
【0043】
図5は、本発明の一実施形態における、プッシュサーバのプロセッサが含むことのできる構成要素の例を示した図であり、図6は、本発明の一実施形態における、プッシュサーバが実行することのできる呼処理方法の例を示したフローチャートである。
【0044】
本実施形態において、サーバ160は、プッシュサーバに対応してもよく、サーバ160のプロセッサ510は、リクエスト受信制御部511およびプッシュ通知送信制御部512を備えてもよい。このようなプロセッサ510およびプロセッサ510の構成要素は、図6の呼処理方法が含むステップ610〜ステップ630を実行するようにサーバ160を制御してもよい。例えば、プロセッサ510およびプロセッサ510の構成要素は、サーバ160のメモリ(図示せず)が含むオペレーティングシステムのコードと少なくとも1つのプログラムコードによる命令を実行するように実現されてもよい。
【0045】
ステップ610で、プロセッサ510は、呼処理方法のためのプログラムファイルに格納されたプログラムコードをサーバ160のメモリにロードしてもよい。例えば、サーバ160には、プログラムファイルにしたがってプログラムがインストール(install)されてもよい。ここで、サーバ160にインストールされたプログラムが実行される場合、プロセッサ510は、プログラムコードをメモリにロードしてもよい。このとき、プロセッサ510が備えるリクエスト受信制御部511およびプッシュ通知送信制御部512それぞれは、メモリにロードされたプログラムコードのうち対応するコードによる命令を実行して以後のステップ620およびステップ630を実行するように実現されてもよい。
【0046】
ステップ620で、リクエスト受信制御部511は、VoIPサーバからプッシュ通知リクエストを受信するようにサーバ160を制御してもよい。このとき、プッシュ通知リクエストは、VoIPサーバで発信電子機器からの発信リクエストに応じて発信リクエストに対応する着信電子機器に対して生成されてもよい。
【0047】
ステップ630で、プッシュ通知送信制御部512は、プッシュ通知リクエストに応答して着信電子機器にプッシュ通知を送信するようにサーバ160を制御してもよい。このとき、着信電子機器でプッシュ通知に基づいてインバイトリクエストをVoIPサーバに送信してもよく、VoIPサーバでインバイトリクエストに応じて発信電子機器と着信電子機器との間の通話セッション(call session)を生成してもよい。
【0048】
上述したように、サーバ160と関連するアプリケーションが着信電子機器にインストールされてもよく、プッシュ通知は、このようなアプリケーションを通じて着信電子機器にプッシュされてもよい。
【0049】
以下では、より具体的な実施例を参照しながら、本発明の実施形態に係る呼処理工程について説明する。
【0050】
図7は、本発明の一実施形態における、全体システムにおける呼処理工程の例を示した図である。ここで、図7は、発信電子機器710、VoIPサーバ720、プッシュサーバ730、および着信電子機器740間のメッセージ送受信工程の例を示している。
【0051】
1.setup工程は、発信電子機器710上で発信リクエスト750が発生されることにより、発信電子機器710がVoIPサーバ720に発信リクエストを送信する工程であってもよい。
【0052】
2.req.PUSH工程は、VoIPサーバ720が受信した発信リクエストに対応する着信電子機器740にプッシュ通知を送信するようにプッシュサーバ730にリクエストする工程であってもよい。
【0053】
3.PUSH通知工程は、プッシュサーバ730がVoIPサーバ720のリクエストに応じて着信電子機器740にプッシュ通知を提供する工程であってもよい。
【0054】
4.rsp.PUSH工程は、プッシュサーバ730がVoIPサーバ720のリクエストを処理したことをVoIPサーバ720に知らせるための応答工程であってもよい。
【0055】
5.200 OK工程は、VoIPサーバ720が発信電子機器710のリクエストを処理したことを発信電子機器710に知らせるための応答工程であってもよい。ここで、「200 OK」とは、SIPで定義された応答メッセージであり、既に広く知られている。
【0056】
このとき、着信電子機器740がプッシュ通知にしたがって着信登録760を処理しようとする場合、6.reg工程が実行されてもよい。
【0057】
6.reg工程は、着信電子機器740がVoIPサーバ720に自身を登録する工程であってもよい。このような登録は、着信電子機器740がVoIPサーバ720に自身の存在を知らせるものに過ぎず、VoIPサーバ720は、SIPダイアログがまだ生成されていないため、発信電子機器710と着信電子機器740との関係を知ることはできない。
【0058】
7.200 OK工程は、VoIPサーバ720が着信電子機器740の登録が処理されたことを着信電子機器740に知らせるための応答工程であってもよい。
【0059】
このとき、着信電子機器740が着信応答770を処理しようとする場合、8.INVITE工程が実行されてもよい。
【0060】
8.INVITE工程は、着信電子機器740がVoIPサーバ720にインバイトリクエストを送信する工程であってもよい。このとき、VoIPサーバ720は、インバイトリクエストに基づいてSIPダイアログを生成および管理してもよい。
【0061】
9.INVITE工程は、VoIPサーバ720が発信電子機器710にインバイトリクエストを送信する工程であってもよい。一例として、VoIPサーバ720は、着信電子機器740が送信したインバイトリクエストを発信電子機器710に伝達してもよい。
【0062】
10.200 OK工程は、発信電子機器710がVoIPサーバ720にインバイトリクエストに対する応答を送信する応答工程であってもよい。
【0063】
11.200 OK工程は、VoIPサーバ720が着信電子機器740にインバイトリクエストに対する応答を送信する応答工程であってもよい。
【0064】
12.ACK工程は、着信電子機器740がVoIPサーバ720に応答を送信する応答工程であってもよい。
【0065】
13.ACK工程は、VoIPサーバ720が発信電子機器710に応答を送信する応答工程であってもよい。
【0066】
このような工程により、発信電子機器710と着信電子機器740は、VoIPサーバ720がインバイトリクエストに基づいて生成した通話セッションに連結されてもよく、互いに通話を行うことができるようになる。
【0067】
着信応答770にしたがって着信電子機器740からインバイトリクエストが受信されなければ、SIPダイアログが生成されないため、多数の発信リクエストを考慮したとき、VoIPサーバ720の性能を大きく向上させることができる。
【0068】
図8は、本発明の一実施形態における、全体システムにおける発信終了工程の例を示した図である。図8は、図7において発信電子機器710と着信電子機器740との間の通話が行われる工程以後に、発信電子機器710から通話終了810がリクエストされた場合の工程について説明する。
【0069】
14.BYE工程は、発信電子機器710がVoIPサーバ720に発信終了メッセージを送信する工程であってもよい。「BYE」とは、SIPで定義された終了メッセージであり、既に広く知られている。
【0070】
15.BYE工程は、VoIPサーバ720が発信電子機器710から受信した終了メッセージを着信電子機器740に伝達する工程であってもよい。
【0071】
16.200 OK工程は、着信電子機器740が終了メッセージの受信による応答をVoIPサーバ720に送信する応答工程であってもよい。
【0072】
17.200 OK工程は、VoIPサーバ720が発信電子機器710に応答を送信する応答工程であってもよい。
【0073】
このような工程の後、発信電子機器710と着信電子機器740との間の通話が終了されてもよい。着信電子機器740上から先に通話終了がリクエストされると、着信電子機器740は、VoIPサーバ720に終了メッセージを送信してもよく、VoIPサーバ720を通じて終了メッセージが発信電子機器710に送信されて通話が終了されてもよい。
【0074】
図9は、本発明の一実施形態における、全体システムにおける発信取消工程の例を示した図である。図9は、図7において、着信登録760によって7.200 OK工程まで進んだ後に、発信電子機器710上で発信取消910がリクエストされた場合の実施形態について説明する。
【0075】
8.cancel工程は、発信電子機器710がVoIPサーバ720に発信取消メッセージを送信する工程であってもよい。
【0076】
9.cancel工程は、VoIPサーバ720がプッシュサーバ730に発信取消メッセージを伝達する工程であってもよい。
【0077】
10.cancel工程は、プッシュサーバ730が着信電子機器740に発信取消メッセージを伝達する工程であってもよい。
【0078】
言い換えれば、VoIPサーバ720は、インバイトリクエストを受信しておらず、SIPダイアログを生成していなかった。このような場合に発信が取り消されたため、VoIPサーバ720は、プッシュサーバ730を通じて発信取消メッセージを着信電子機器740に送信することができる。
【0079】
11.200 OK工程、12.200 OK工程、および13.200 OK工程は、着信電子機器740の応答をプッシュサーバ730およびVoIPサーバ720を通じて発信電子機器710に伝達する工程であってもよい。
【0080】
このように、発信が取り消された場合にはインバイトリクエストが発生せず、これによってSIPダイアログも生成されないことが分かる。
【0081】
図10は、本発明の一実施形態における、全体システムにおける着信拒絶工程の例を示した図である。図10は、図7において、着信登録760によって7.200 OK工程まで進んだ後に、着信電子機器740上で着信拒絶1010リクエストが発生した場合の例を示している。
【0082】
8.reject工程は、着信電子機器740がVoIPサーバ720に着信拒絶メッセージを送信する工程であってもよい。
【0083】
9.reject工程は、VoIPサーバ720が発信電子機器710に着信拒絶メッセージを伝達する工程であってもよい。
【0084】
10.200 OK工程および11.200 OK工程は、発信電子機器710の応答がVoIPサーバ720を通じて着信電子機器740に伝達される工程であってもよい。
【0085】
このように、着信が拒絶された場合にもインバイトリクエストが発生せず、これによってSIPダイアログも生成されないことが分かる。
【0086】
このように、本発明の実施形態によると、着信電子機器が通話を受諾する場合にだけインバイトリクエストが発生するように処理することにより、SIPダイアログの生成回数自体を減らし、SIPサーバ(VoIPサーバ)の性能および容量を画期的に向上させることができる。
【0087】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてもよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてもよい。処理装置は、オペレーティングシステム(OS)および前記OS上で実行される1つ以上のソフトウェアアプリケーションを実行してもよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。便宜的な理解のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素(processing element)および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでもよい。また、並列プロセッサ(parallel processor)のような、他の処理構成(processing configuration)も可能である。
【0088】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に(collectively)処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供するために、いかなる種類の機械、コンポーネント、物理装置、仮想装置(virtual equipment)、コンピュータ格納媒体または装置、または送信される信号波(signal wave)に永久的または一時的に具現化(embody)されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された方法によって格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータで読み取り可能な記録媒体に格納されてもよい。
【0089】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてもよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでもよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピーディスク、および磁気テープのような磁気媒体、CD−ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。上述したハードウェア装置は、実施形態の動作を実行するために1つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同じである。
【0090】
以上のように、実施形態を限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能である。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、および/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0091】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0092】
110、120、130、140:電子機器
150、160:サーバ
170:ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10