(57)【要約】【課題】複数のネットワークが利用可能な携帯端末装置において、アプリケーションの開発効率や移植性、ユーザの利便性を大きく損なうことなく、ＩＰ電話やブラウザ、メールといったサービスが使用するネットワークを個々にかつ動的に変更することを可能とすることである。【解決手段】トランスポート層ＡＰＩフックモジュールは、アプリケーション１から呼び出されるソケットＡＰＩ等のトランスポート層のＡＰＩをフックし、ハンドオーバーマネージャ３を経由して各プロトコル処理部（ＳＩＰ処理部４１やＨＴＴＰ処理部４２等）がＡＰＩの情報を解析し、ハンドオーバーに必要な情報を記憶部（ＳＩＰ記憶部４１１やＨＴＴＰ記憶部４２１等）に記憶する。ハンドオーバーマネージャ３は、アプリケーション１や通信モジュール５からハンドオーバーを要求されると、事前に記憶したハンドオーバーに必要な情報を使用して、ハンドオーバー処理を実行する。【選択図】図１
2007249764.tif 000002
【特許請求の範囲】
【請求項１】
トランスポート層レベルでハンドオーバー処理を行うことを特徴とする自動ハンドオーバー方法。
【請求項２】
請求項１に記載の自動ハンドオーバー方法を用いることを特徴とする自動ハンドオーバーシステム。
【請求項３】
トランスポート層のＡＰＩをフックして得られた情報からハンドーオーバーに必要な情報を抽出、記憶するハンドオーバーマネージャと、ハンドーオーバーするプロトコルごとのプロトコル処理部とを備えたことを特徴とする自動ハンドオーバー方法。
【請求項４】
請求項３に記載の自動ハンドオーバー方法を用いることを特徴とする自動ハンドオーバーシステム。
【請求項５】
ハンドオーバー時に、請求項３に記載の自動ハンドオーバー方法で記憶した情報を使用してハンドオーバー処理を実行することを特徴とする自動ハンドオーバー方法。
【請求項６】
請求項５に記載の自動ハンドオーバー方法を用いることを特徴とする自動ハンドオーバーシステム。
【請求項７】
アプリケーションプログラムがネットワークを使用する際に実行するトランスポート層のＡＰＩをフックするトランスポート層ＡＰＩフックモジュールと、トランスポートＡＰＩフックモジュールから呼び出され、ハンドオーバー処理を管理するハンドオーバーマネージャと、アプリケーションがサービスの提供に使用するプロトコルごとの処理を実行するプロトコル処理部とを有することを特徴とする自動ハンドオーバー方法。
【請求項８】
請求項７に記載の自動ハンドオーバー方法を用いることを特徴とする自動ハンドオーバーシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は移動体通信の移動機である携帯端末装置のハンドオーバーを実現する自動ハンドオーバーシステムおよび方法に関する。
【背景技術】
【０００２】
従来、ネットワークの利用可能状況が変化した場合、たとえば携帯端末装置が、携帯電話網のみが利用可能な状態から、無線ＬＡＮの利用も可能になったような状況において、携帯端末装置で動作するアプリケーションが現在使用中のネットワークを変更するには、そのアプリケーション自らがネットワークの変更処理を行うか、そのアプリケーションがサービスの提供に使用しているプロトコル（ＳＩＰやＨＴＴＰ等）ごとの共通ミドルウェアがネットワークの変更処理を行わなければならなかった。
【０００３】
前者の方法においては、ネットワークを使用するすべてのアプリケーションが、ネットワークを変更するハンドオーバーのための煩雑かつ（各プロトコルで規定された）定型的な処理を各アプリケーション内部に実装しなければならず、各アプリケーションの開発工数が増大し、コスト高となり、無駄が多くなってしまう。
【０００４】
また後者の方法においては、各アプリケーションが共通ミドルウェアを使用することが条件となるため、アプリケーションが汎用性に乏しいものとなり、移植性に欠けるという問題があった。
【０００５】
なお、関連分野の従来技術である特許文献１には、トランスポート層において従来から知られたトランスポート層の処理を施すことを開示した通信端末装置が記載されている。
【０００６】
【特許文献１】特開２００４−２６６３３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述の従来技術には以下のような問題点があった。
【０００８】
すなわち、従来の第１の問題点は、アプリケーション内部にハンドオーバー処理を実装するのは、アプリケーション開発の観点から無駄が多いということである。その理由は、ハンドオーバーを実現するための処理は、使用するプロトコルによって規定されている処理が多く、各アプリケーションがそれらの定型的な処理を実装することになるためである。
【０００９】
また、従来の第２の問題点は、プロトコルごとの共通ミドルウェアでハンドオーバー処理を実装する場合、アプリケーションの移植性が悪くなるということである。その理由は、アプリケーションがプロトコルごとの共通ミドルウェアを使用しなければならず、予めプロトコル処理を実装したアプリケーションを移植するような場合には大幅な改造が必要になるためである。
【００１０】
また、特許文献１に記載の従来技術では、ネットワークの変更処理とトランスポート層における処理との関連については何ら記載されていない。
【００１１】
本発明は上記の点にかんがみてなされたもので、その目的は、複数のネットワークが利用可能な携帯端末装置において、アプリケーションの開発効率や移植性を犠牲にすることなくハンドオーバーを実現する方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の自動ハンドオーバー方法は、図１を参照すると、アプリケーションプログラムがネットワークを使用する際に実行する（ＯＳＩ７層モデルにおける）トランスポート層のＡＰＩ（ソケットＡＰＩ等）をフックするトランスポート層ＡＰＩフックモジュールと、トランスポートＡＰＩフックモジュールから呼び出され、ハンドオーバー処理を管理するハンドオーバーマネージャと、アプリケーションがサービスの提供に使用するプロトコルごとの処理を実行するプロトコル処理部とを有する点を特徴とする。このような構成を採用し、トランスポート層以下でハンドオーバー処理を実行することにより、本発明の目的を達成することができる。
【発明の効果】
【００１３】
本発明によれば、複数のネットワークが利用可能な携帯端末装置において、アプリケーションの開発効率や移植性を犠牲にすることなくハンドオーバーを実現する方法を提供することができる。
【００１４】
すなわち本発明によれば、トランスポート層のＡＰＩをフックし、その中でハンドオーバーに必要な処理を行うため、アプリケーションまたはトランスポート層より上位のプロトコル共通ミドルウェアを変更することなく、自動ハンドオーバー処理を実現することができる。
【発明を実施するための最良の形態】
【００１５】
本発明は複数のネットワーク（無線ＬＡＮや携帯電話網等）の利用が可能な携帯端末装置において、アプリケーションが、あるネットワークを使用して何らかのサービス（ブラウザやメール、ＩＰ電話等）を実行中に、他のネットワークが使用可能になった場合に、そのサービスを切断することなく、使用するネットワークを他のネットワークに自動的に変更（ハンドオーバー）するシステムおよび方法に関する。
【００１６】
ここで、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００１７】
図１を参照すると、本発明の最良の形態は、携帯端末装置の内部に、アプリケーション１と、アプリケーションから呼び出されるトランスポート層のＡＰＩをフックするトランスポート層ＡＰＩフックモジュール２と、ハンドオーバーの制御を行うハンドオーバーマネージャ３と、上位プロトコルレベルのハンドオーバー処理を行うプロトコル処理部４と、トランスポート層より下位の通信機能を提供する通信モジュール５とを有して構成される。
【００１８】
プロトコル処理部４は、トランスポート層より上位のＳＩＰやＨＴＴＰ等の各プロトコルに特化したハンドオーバー処理を実行するＳＩＰ処理部４１やＨＴＴＰ処理部４２等と、各プロトコルのハンドオーバーに必要な情報を保持するＳＩＰ記憶部４１１やＨＴＴＰ記憶部４２１等から構成される。
【００１９】
ネットワークＡ、Ｂは携帯電話網や無線ＬＡＮ等の外部ネットワークをあらわし、通信モジュール５は、これら複数のネットワークに対応するものとする。
【００２０】
次に、図１、図２および図３を参照して、本発明を実施するための最良の形態の動作について詳細に説明する。
【００２１】
アプリケーション１がネットワークを使用したサービスを提供する際にトランスポート層のＡＰＩを実行すると（図２のステップＡ−１参照）、トランスポート層ＡＰＩフックモジュール２がその実行をフックし（ステップＡ−２）、トランスポート層の本来のＡＰＩを呼び出す前に、ハンドオーバーマネージャ３を呼び出す（ステップＡ−３）。
【００２２】
ハンドオーバーマネージャ３は、ＡＰＩの引数をチェックし、関連する上位層のプロトコルを識別し（ステップＡ−４）、プロトコル処理部４のうちの対応する処理部４１〜４３にＡＰＩを引き渡す（ステップＡ−５）。
【００２３】
ここで、ＡＰＩの引数からプロトコルを判別できないようなケースがある場合には、アプリケーション１から事前にハンドオーバーマネージャー３に使用するプロトコルを通知するなどの方法で、プロトコルの判別を行う。
【００２４】
次に、プロトコル処理部４は、ＳＩＰやＨＴＴＰ等の各プロトコルの規定に応じて、ハンドオーバーマネージャ３から渡されたＡＰＩの引数からハンドオーバーに必要となる情報を記憶する（ステップＡ−６）。その後、トランスポート層ＡＰＩフックモジュール２は、本来のトランスポート層のＡＰＩを実行する（ステップＡ−７）。
【００２５】
次に、アプリケーション１または通信モジュール５からハンドーオーバーマネージャー３に対してハンドオーバー要求が起きた場合の動作について説明する。
【００２６】
ハンドオーバーマネージャ３は、ハンドオーバー要求を受け取ると（図３のステップＢ−１参照）、トランスポート層ＡＰＩフックモジュールに対してハンドオーバー処理が終了するまでの間アプリケーションからのＡＰＩの呼び出しをブロックするよう通知する（ステップＢ−２）。その後ハンドオーバーマネージャ３は、プロトコル処理部４の各処理部のうちのハンドオーバー対象プロトコル処理部４１〜４３に対してハンドオーバー要求を発行する（ステップＢ−３）。
【００２７】
プロトコル処理部４１〜４３は、ハンドオーバー処理に必要な情報を対応する記憶部４１１〜４３１から取得し（ステップＢ−４）、各プロトコルで規定されたハンドオーバー処理を通信モジュール５の機能を使用して実行する（ステップＢ−５）。
【００２８】
プロトコル処理部４１〜４３は、ハンドオーバー処理が終了するとそれをハンドオーバーマネージャ３に通知し（ステップＢ−６）、ハンドオーバーマネージャ３は、トランスポート層ＡＰＩフックモジュール２に対してＡＰＩのブロック解除を要求する（ステップＢ−７）。
【実施例】
【００２９】
次に、本発明の実施例を図１、４および５を参照して説明する。
【００３０】
本実施例は、ハンドオーバー対象のサービスとしてＳＩＰを使用したＩＰ電話サービスを、利用可能なネットワークとして携帯電話網と無線ＬＡＮを備えている。
【００３１】
まず始めに図４を参照して、ＩＰ電話セッションを確立する際の一般的なＳＩＰメッセージの送受信について説明する。
【００３２】
ここでは、アプリケーション１が携帯電話網のネットワークを使用して、ＳＩＰメッセージの送受信を行い、ＳＩＰメッセージはＳＩＰサーバーを経由して通信相手に届くものとする。
【００３３】
アプリケーション１が通信相手に対してＩＰ電話を発信する場合、まず始めに、アプリケーション１が通信相手に対してＳＩＰのＩＮＶＩＴＥを発行する（図４のステップＣ１参照）。
【００３４】
このＩＮＶＩＴＥには、通信相手のＳＩＰアドレスやその後の音声データの送受信に使用するアプリケーション１が使用しているネットワークのＩＰアドレス、ポート番号等が含まれている。
【００３５】
このＩＮＶＩＴＥは、携帯電話網を使用してＳＩＰサーバーに送信される（ステップＣ２）。
【００３６】
ＳＩＰサーバーは、ＩＮＶＩＴＥを受け取るとアプリケーション１に対してＴｒｙｉｎｇを返す（ステップＣ３、Ｃ４）と共に、通信相手に対して受信したＩＮＶＩＴＥを送信する（ステップＣ５）。
【００３７】
通信相手は、ユーザに着信を通知すると共にＲｉｎｇｉｎｇを発信元のアプリケーション１に返す（ステップＣ６、Ｃ７、Ｃ８）。その後、通信相手のユーザが着信を許可した場合、通信相手は、アプリケーション１に対してＯＫを返す（ステップＣ９、Ｃ１０、Ｃ１１）。
【００３８】
このＯＫには、通信相手のＩＰアドレスやポート番号等が含まれている。
【００３９】
アプリケーション１は、ＯＫを受け取るとＡＣＫを通信相手に送信し（ステップＣ１２、Ｃ１３）、これによりＩＰ電話のセッションが確立する。
【００４０】
その後、アプリケーション１と通信相手はＩＮＶＩＴＥとＯＫでやりとりしたＩＰアドレスとポート番号を使用して音声データの送受信を行う（ステップＣ１４）。
【００４１】
次に、本発明におけるハンドオーバーの動作について説明する。
【００４２】
ここでは、アプリケーション１が携帯電話網を使用して通信相手とＩＰ電話のセッションを確立した後、ＩＰ電話が使用するネットワークを無線ＬＡＮにハンドオーバーする場合について説明する。
【００４３】
まず始めに図５を参照してハンドオーバー時のＳＩＰメッセージの送受信について説明する。
【００４４】
ＩＰ電話セッションを確立するまでの図５のステップＤ１〜Ｄ１４のＳＩＰメッセージのやりとりに関しては図４のステップＣ１〜Ｃ１４と同様であるが、本例においては、これらのメッセージの送受信を行うＡＰＩをフックして、のちのハンドオーバーに必要となる情報を記憶する点で異なる。
【００４５】
セッションが確立した後に無線ＬＡＮが利用可能となり、ＩＰ電話サービスのハンドオーバーを行う場合、ハンドオーバーマネージャー３は、事前に記憶したデータを使用して通信相手に対してｒｅ−ＩＮＶＩＴＥを発行する。このとき、ＳＩＰプロトコルで規定された方法でハンドオーバー後に使用する無線ＬＡＮ５のＩＰアドレスとポート番号を含める（ステップＤ１５、Ｄ１６）。
【００４６】
相手端末は、ｒｅ−ＩＮＶＩＴＥを受け取るとハンドオーバーマネージャ３に対しＯＫを返し（ステップＤ１７、Ｄ１８）、ハンドオーバーマネージャ３はＯＫを受け取ると通信相手に対してＡＣＫを送信する（ステップＤ１９、Ｄ２０）。
【００４７】
その後、アプリケーション１は無線ＬＡＮを使用して通信相手との通話を開始する（ステップＤ２１）。
【００４８】
この例において図１の各モジュールの動作については、図１、図２および図３を参照しながら説明したものと同様である。
【００４９】
本実施例においては、通信相手からＯＫが返される場合のついてのみ記述したが、その他のレスポンスが返された場合には、ハンドオーバーマネージャ３は、基本的にＳＩＰプロトコルで規定された動作に従うものとする。
【００５０】
最終的にエラーが返された場合には、ハンドオーバーが失敗したことをアプリケーション１に通知する、または何も通知せずそのまま携帯電話網を使用し続けるなどの動作が考えられる。
【産業上の利用可能性】
【００５１】
本発明によれば、複数のネットワークが利用可能な携帯端末装置において、アプリケーションの開発効率や移植性、ユーザの利便性を大きく損なうことなく、ＩＰ電話やブラウザ、メールといったサービスが使用するネットワークを個々にかつ動的に変更することが可能となる。
【図面の簡単な説明】
【００５２】
【図１】本発明を実施するための最良の形態の構成を示すブロック図である。
【図２】本発明の最良の形態の動作を示す流れ図である。
【図３】本発明の最良の形態の動作を示す流れ図である。
【図４】ＩＰ電話セッションを確立する際の一般的なシーケンス図である。
【図５】本発明を実施するための最良の形態の動作を示すシーケンス図である。
【符号の説明】
【００５３】
１  アプリケーション
２  トランスポート層ＡＰＩフックモジュール
３  ハンドオーバーマネージャー
４  プロトコル処理部
５  通信モジュール
４１  ＳＩＰ処理部
４２  ＨＴＴＰ処理部
４３  ＦＴＰ処理部
４１１  ＳＩＰ記憶部
４２１  ＨＴＴＰ記憶部
４３１  ＦＴＰ記憶部
【図１】
2007249764.tif 000003
【図２】
2007249764.tif 000004
【図３】
2007249764.tif 000005
【図４】
2007249764.tif 000006
【図５】
2007249764.tif 000007