説明

ネットワークアドレス変換器及び/又はファイアウォールの背後に位置するサーバとのトランスポートレベル接続を確立するためのシステム、端末、方法、及びコンピュータプログラム製品

【課題】IPに従って通信するためのシステム及び方法、特に終端ネットワークノードとのIP接続を確立するためのシステム及び方法を提供する。
【解決手段】システム、終端ノード、方法、及びコンピュータプログラム製品は、送信元ノードから終端ノードに非IPベースのメッセージを送信し、それによって終端ノードに送信元ノードとのIPベースの通信を開始させることにより、公衆ネットワーク内の送信元ノードがプライベートネットワーク内の終端ノードと通信することを可能にする。プライベートネットワーク内のNAT及び/又はファイアウォールの背後のクライアントは、一般的に、公衆ネットワーク内のサーバに接続してそれに対してTCP/IPセッションを確立することができることになるので、これは、終端ノードと必要に応じていつでも通信するための送信元ノードの機能を改善する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、全体的に、「インターネットプロトコル(IP)」に従って通信するためのシステム及び方法に関し、より詳細には、終端ネットワークノードとのIP接続を確立するためのシステム及び方法に関する。
【背景技術】
【0002】
IPv4のような「インターネットプロトコル(IP)」の様々なバージョンの制約の1つは、それが限られたアドレス空間を有する点である。従って、アドレスを節約するために、企業及び他の管理ドメインは、プライベートアドレスの使用という策をとっている。プライベートアドレスとは、IPアドレスが、10.0.0.0−10.255.255.255、172.16.0.0−172.31.255.255、又は192.168.0.0−192.168.255.255の範囲に含まれるネットワークアドレスである。
【0003】
プライベートネットワーク内部の管理エンティティにより割り当てられるプライベートアドレスは、各々のプライベートネットワーク内部で関連性を有するに過ぎない。従って、このようなプライベートアドレスは、典型的には、プライベートネットワークの外部では見えない。しかし、プライベートアドレスを使用する利点は、異なるプライベートネットワークが、衝突を全く懸念することなく各々のプライベートネットワーク内で同じプライベートIPアドレスをホストに割り当てることができる点である。一方、プライベートネットワーク内部でプライベートアドレスを割り当てられたホストが、送信ホストのプライベートネットワークの外部にいるホストにIPデータグラムを送信したい時には、「ネットワークアドレスポート変換器(NAPT)」としても機能することができる「ネットワークアドレス変換器(NAT)」を使用することができる。NATは、このNATに関連付けられたプライベートネットワークの外部にIPデータグラムが送信される前に、プライベートIPアドレス(及び、場合によってはデータグラム内部で選択された他のフィールド)をパブリックIPアドレスに変換する。NAPTの付加機能により、NATは、更に、「伝送制御プロトコル(TCP)」又は「ユーザデータグラムプロトコル(UDP)」ポートのようなポートをプライベートネットワークから公衆ネットワークに変換することができる。同様に、NATに関連付けられた管理ドメインの外部にいるホストからプライベートアドレスを有するホストにIPデータグラムが送信される際には、NATがパブリックIPアドレスをプライベートIPアドレスに変換し、NATの付加機能により、公衆ネットワーク内のポートをプライベートネットワーク内のポートに変換する。
【0004】
アドレス及びポート変換を提供することに加え、NATは、関連付けられたプライベートネットワークに対してセキュリティ機構として作動するファイアウォール及び/又はゲートウェイと通信することができる。この点において、ファイアウォール/ゲートウェイは、受信データグラムがNATの変換処理を通過する前及び/又は送信データグラムがNATの変換処理を通過した後でファイアウォール/ゲートウェイがこのようなデータグラムを保証することができるという点で、セキュリティを提供するように作動することができる。更に、プライベートIPアドレスをパブリックIPアドレスに変換することにより、NATは、プライベートIPアドレスに関連付けられたものに対してプライバシーの手段を提供することができる。
【0005】
プライベートネットワーク内部でのプライベートアドレスの使用及びプライベートネットワークの端でのNATの使用は、企業内で幅広く採用されて展開されている。しかし、NATの使用に付随する欠点がある。この点において、汎用パケット無線サービス(GPRS)ネットワークのような移動ネットワークを含み、そのネットワークに接続した又はそれ以外の方法で関連付けられたプライベートネットワークを考える。このような場合に、移動ネットワークを超えて通信を行う移動端末のような終端ノードは、一般的に、NATを超えてIP装置とのパケット交換(例えば、IP)接続を開始することができる。しかし、通常、NATを超えて終端ノードとの同様のパケット交換接続をIP装置が開始することはできない。更に、終端ノードは、典型的には固定IPアドレスのような静的で公共の識別子を欠いているので、IP装置は、NATに対して望ましい終端ノードを識別することができないことが多い。
【0006】
いくつかの理由から、移動ネットワークは、典型的にはIP装置が各終端ノードとパケット交換接続を開始しないような方法で設定されている。第1に、移動ネットワークのトポロジーによっては、移動ネットワーク内部の終端ノードへのIP接続を有効にすることは、移動ネットワークを超えるIPトラフィックがない時にでも、望ましくない量のリソースを消費するか又は移動ネットワークの性能を低下させる可能性がある。第2に、移動ネットワークには、多くのプライベートネットワークのように、利用可能なIPアドレスよりも多くの終端ノードが存在する場合がある。従って、移動ネットワークは、NAT、動的に割り当てられたIPアドレス、及び/又はプライベートIPアドレスを含むことができる。第3に、多くの移動ネットワークのセキュリティ必要性及びポリシーにより、様々なIPトラフィックが移動ネットワークに入らないようにする必要がある。そのような事例ではまた、移動ネットワークが関連付けられたファイアウォール/ゲートウェイを含む時には特に、頻繁にNATを使用する結果になる。
【0007】
TCP/IPプロトコル群を使用しており、かつプライベートネットワーク内に位置するクライアントは、典型的には、TCP/IPプロトコル群を使用しており、かつ公衆ネットワーク内に位置するサーバにコンタクトして接続することができる。反対方向における、すなわち、公衆ネットワーク内のクライアントがプライベートネットワーク内のサーバに接続する場合の接続は、通常、より非常に複雑であり、以下の2つの理由から可能でないことが多い。(1)プライベートネットワーク内のノードは、プライベートネットワーク外部のクライアントには無意味で、このクライアントによって使用することのできないプライベートな経路指定不能IPアドレスを有し、(2)ファイアウォールは、セキュリティ上の理由からそのような接続を全てブロックするように設定されていることが多いからである。
【0008】
このNAT/ファイアウォール全探索問題に対処するために、いくつかの解決法が提案されている。1つの解決法では、NAT/ファイアウォールとして作用するノードがノード自身のパブリックIPアドレスに関連付けられたポートを公開し、このポートに対する入力接続が、望ましいサーバに対する入力接続として変換されて中継される。更に、多くのシステムがエージェント、プロキシ、アプリケーションゲートウェイ、及び仮想プライベートネットワーク(VPN)ゲートウェイなどのような仲介ノードを用いて解決法を提供する。これらの解決法は、クライアントとサーバの間に配置された1つ又はそれよりも多くの仲介ノード(例えば、NAT、ファイアウォール、VPNゲートウェイ、アプリケーションゲートウェイなど)がこれら2つのノード間の接続が成功するために介在するように設定することに依存する。これらの解決法がNAT/ファイアウォール全探索を可能にするとしても、クライアントとサーバの間の接続を仲介ノードが助ける必要がある点で欠点がある。例えば、一般的に、ユーザではなくオペレータ及び/又は管理者がこれらの仲介ノードを制御し、その結果、ユーザによる制御は、僅かであるか又はないことになる。また、新しいサーバがプライベートネットワークに追加されると、ネットワーク管理者又はユーザは、通信を可能にするために、NAT/ファイアウォールを頻繁に再設定する必要が生じる。従って、中間ネットワークノードの特殊設定を必要とすることなく、及び、エンドノード内の既存のクライアント及びサーバのTCP/IPアプリケーションへの変更を必要とすることなく、NAT/ファイアウォール全探索を可能にするシステム及び方法を有することが望ましい。
【0009】
【非特許文献1】T.Okoshi、M.Mochizuki、Y.Tobe、及びH.Tokuda著「Javaアプリケーションのための継続作動に向けて」、IEEEコンピュータ通信及びネットワークに関する国際会議(ICCCN)、1999年
【非特許文献2】V.Zandy及びB.Miller著「信頼性の高いネットワーク接続」、「ACM MOBICOM」、2002年9月
【非特許文献3】X.Qu、J.Xu Yu、及びR.Brent著「移動TCPソケット」、ソフトウエアエンジニアリング(SE)に関する国際会議、1997年11月
【非特許文献4】A.Snoeren著「インターネットの移動性のためのセッションベースのアーキテクチャ」、博士論文、MIT、2003年2月
【発明の開示】
【0010】
従って、公衆ネットワーク内の送信元ノードからプライベートネットワーク内の終端ノードに非IPベースのメッセージを送信し、それによって終端ノードに送信元ノードとのIPベースの通信を開始させることにより、公衆ネットワーク内の送信元ノードがプライベートネットワーク内の終端ノードと通信することを可能にするシステム、終端ノード、方法、及びコンピュータプログラム製品が提供される。プライベートネットワーク内のNAT及び/又はファイアウォールの背後のクライアントは、一般的に、公衆ネットワーク内のサーバに対して接続してTCP/IPセッションを確立することができるので、これは、終端ノードと必要に応じていつでも通信するための送信元ノードの機能を改善することができる。IPベースの通信セッションが確立された状態で、2つのノードは、これらのノード間の接続がいずれかのノードによって終了されるまで双方向でデータを交換することができる。
【0011】
この点において、終端ノードとの「インターネットプロトコル(IP)」接続を確立するためのシステムは、送信元ノード及び終端ノードを含む。終端ノードは、非IPベースの通信技術を通じて送信元ノードから通信要求を受信し、この通信要求に応答して送信元ノードとのIPベースの通信を開始することができる。送信元ノードは、口頭伝達、電話技術、テキストメッセージング、無線周波数(RF)通信、ショートメッセージングサービス(SMS)通信、マルチメディアメッセージングサービス(MMS)通信、及びインスタントメッセージを含む群から非IPベースの通信技術を選択することができる。通信要求は、送信元ノードにおけるソケットのインターネットプロトコル(IP)アドレス及びポート番号を定めることができる。更に、終端ノードは、通信要求によって定められるセキュリティ情報を用いて、この通信要求の妥当性を検証することができる。
【0012】
一実施形態では、終端ノードは、更に、アプリケーション層、ミドルウェア層、及びシステム層を含み、送信元ノードは、アプリケーション層、ミドルウェア層、及びシステム層を含む。終端ノードは、更に、終端ノードのアプリケーション層と終端ノードのミドルウェア層との間に仮想サーバソケットを作成することができる。送信元ノードは、更に、送信元ノードのアプリケーション層と送信元ノードのミドルウェア層との間に仮想クライアントソケットを作成することができる。送信元ノードは、更に、送信元ノードのミドルウェア層から終端ノードのミドルウェア層に非IPベースの通信技術を通じて通信要求を送信することができる。終端ノードは、更に、終端ノードのミドルウェア層と終端ノードのシステム層との間にクライアントソケットを作成することができる。送信元ノードは、更に、送信元ノードのミドルウェア層と送信元ノードのシステム層との間にサーバソケットを作成することができる。終端ノードは、更に、終端ノードのミドルウェア層で通信要求を受信することができ、この通信要求は、送信元ノードにおけるサーバソケットのインターネットプロトコル(IP)アドレス及びポート番号を定める。
【0013】
一実施形態では、終端ノードは、更に、終端ノードのクライアントソケットにより接続成功メッセージを受信し、終端ノードのミドルウェアによりこの接続成功メッセージを受入成功メッセージに変換し、終端ノードの仮想ソケットでこの受入成功メッセージを受信することができる。送信元ノードは、更に、送信元ノードのサーバソケットにより受入成功メッセージを受信し、送信元ノードのミドルウェアによりこの受入成功メッセージを接続成功メッセージに変換し、送信元ノードの仮想ソケットでこの接続成功メッセージを受信することができる。
【0014】
送信元ノードは、公衆ネットワーク内に位置することができ、終端ノードは、プライベートネットワーク内に位置することができる。一実施形態では、プライベートネットワークは、ファイアウォール及びネットワークアドレス変換器のうちの少なくとも一方を有する。
上述のようにIP接続を確立するためのシステムに加え、本発明の他の態様は、IP接続を確立するためのシステムの対応する終端ノード、送信元ノード、方法、及びコンピュータプログラム製品に関する。
本発明をこのように一般的に説明したが、ここで、必ずしも正確な縮尺で描かれているわけではない添付図面を参照する。
【発明を実施するための最良の形態】
【0015】
本発明の例示的な実施形態は、本発明の好ましい実施形態が示されている添付図面を参照して以下により詳細に説明する。しかし、本発明は、多くの異なる形式で実施することができ、本明細書で説明する実施形態に限定されるものとして解釈されるべきではなく、むしろ、これらの実施形態は、本発明の開示が十分かつ完全であるように、及び当業者に対して本発明の範囲を十分に伝えるために提供するものである。本明細書全体にわたり、同じ数字は、同じ要素を示している。本発明の例示的な実施形態は、主にTCPを用いた通信を円滑にすることに関して説明されるが、本発明の実施形態は、UDPのような他のトランスポートプロトコルを用いた通信を円滑にするためにも使用することができる。
【0016】
図1によれば、本発明の実施形態から恩典を受けると考えられる1つのタイプのシステムの図が示されている。本発明の実施形態のシステム及び方法は、主に移動通信用途に関して説明される。しかし、本発明の実施形態のシステム及び方法は、移動通信業界内及び移動通信業界外部の両方で、他の様々な用途と共に利用することができる点を理解すべきである。
図示のように、システム10は、「インターネット」のような公衆「インターネットプロトコル(IP)」ネットワークのような公衆ネットワーク12を含む。公衆ネットワークは、いくつかのネットワークノードを含み、この各々が通常、サーバコンピュータ、パーソナルコンピュータ、又はラップトップコンピュータなどのような処理要素を含む。より詳細には、公衆ネットワークは、固定端末14を含む1つ又はそれよりも多くのネットワークノードを含むことができ、この各々が、公衆ネットワーク内部で又はこれを超えて通信することができる。公衆ネットワーク12のネットワークノードはまた、「セッション開始プロトコル(SIP)」プロキシのようなプロキシ16を含むことができる。認められるように、SIPプロキシは、SIPクライアントとして作動する固定端末を含むネットワーク間のSIP信号伝達メッセージのようなSIP信号伝達メッセージを受信及び転送することができる。
【0017】
更に、公衆ネットワーク12は、1つ又はそれよりも多くのドメイン名システム(DSN)サーバ18を含むことができる。この点において、各ネットワークノードは、一般的に、典型的には思い出しやすい関連付けられたホストDSN名を有する独特なIPアドレスを有する。次に、DNSサーバは、このネットワークトラフィックを適切なネットワークノードに経路指定することができるように、ホストのDSN名を関連付けられたIPアドレスに変換することができる。以下でより詳細に説明するように、いずれか1つ又はそれよりも多くの固定端末を含むネットワークノードのいずれか1つ又はそれよりも多くが送信元ノード20として作動し、公衆ネットワークを超えて終端ノードと通信を行うことができる。更に、送信元ノードの終端ノードとの通信を円滑にするために、公衆ネットワークは、更に、中間ノード22を含む1つ又はそれよりも多くのネットワークノードを含むことができ、これについても以下でより詳細に説明する。
【0018】
公衆ネットワーク12に加え、システム10は、ローカルエリアネットワーク(LAN)のような1つ又はそれよりも多くのプライベートネットワーク24を含む。各プライベートネットワークは、公衆ネットワークのように、いくつかのネットワークノードを含むことができる。また、公衆ネットワーク12のように、各プライベートネットワークのネットワークノードは、1つ又はそれよりも多くのDSNサーバ26を含むことができる。上記と同様に、プライベートネットワークのDNSサーバは、このネットワークトラフィックを適切な公衆又はネットワークノードに経路指定することができるように、ホストのDSN名を関連付けられたIPアドレスに変換することができる。プライベートネットワークはまた、移動端末32を含む1つ又はそれよりも多くのネットワークノードを含むことができ、この各々がプライベートネットワーク内部で又はこれを超えて通信することができる。端末32は、例えば、携帯電話、携帯情報端末(PDA)、ポケットベル、ラップトップコンピュータ、スマートカード、及び他のタイプの電子システムを含むことができる。移動端末に加えて、プライベートネットワークは、パーソナルコンピュータのような固定端末を含むことができる。
【0019】
端末32のプライベートネットワークへのアクセスを円滑にするために、プライベートネットワーク24は、1つ又はそれよりも多くの無線アクセスポイント(AP)(図示しない)を含むことができ、この各々は、1つ又はそれよりも多くの端末に結合することができる。この点において、APは、例えば、無線周波数(RF)、Bluetooth(BT)、赤外線(IrDA)、又は無線ローカルエリアネットワーク(WLAN)を含むいくつかの異なる無線ネットワーキング技術のいずれか、又は有線技術を含む他の技術のような技術に従って端末と通信するように設定されたアクセスポイントを含むことができる。また、プライベートネットワークは、公衆ネットワークのように、送信元ノード20及び/又は中間ノード22を含むことができ、この両方については以下でより詳細に説明する。これも以下で説明するように、プライベートネットワークは、中間ノードを通じて送信元ノードと通信することができる終端ノード36を含むことができる。これも以下で説明するように、プライベートネットワークの端末の1つ又はそれよりも多くは、送信元ノード又は中間ノードとして作動することができる。
【0020】
公衆ネットワーク12のネットワークノードとプライベートネットワーク24のネットワークノードとの間の通信を円滑にするために、各プライベートネットワークは、更に、公衆ネットワーク及びプライベートネットワークを相互接続する「ネットワークアドレス[背景技術]の節で上述のように、各NATは、公衆ネットワークと各プライベートネットワークとの間の通信のために、公衆ネットワークからのパブリックIPアドレスを各プライベートネットワークのネットワークノードのプライベートIPアドレスに変換すること、及びその逆を行うことができる。認められるように、NATはまた、例えば、アプリケーションプロトコルデータユニット(PDU)に組み込まれたIPアドレスを変換することができるアプリケーションレベルゲートウェイ(ALG)(図示しない)を含むことができる。更に、NATは、各プライベートネットワークのファイアウォール及び/又はゲートウェイを含むことができ、又はこれらに関連付けることができる。図示のように、ファイアウォール/ゲートウェイを含むか又はこれらに関連付けられたNATは、これ以降、NAT/FW28として示される。
【0021】
システム10はまた、1つ又はそれよりも多くの移動又はセルラーネットワーク30を含むことができる。セルラーネットワークは、いくつかの異なる移動ネットワークの1つ又はそれよりも多くを含むことができる。この点において、セルラーネットワークは、いくつかの第1世代(1G)、第2世代(2G)、2.5G、及び/又は第3世代(3G)セルラーネットワークのいずれか、及び/又は本発明の実施形態に従って作動することができる他のいくつかのセルラーネットワークのいずれかを含むことができる。例えば、各セルラーネットワークは、GSM(移動通信用グローバルシステム)、IS−136(時間領域多重アクセス−TDMA)、IS−95(符号分割多重アクセス−CDMA)、CDMA200、又はEDGE(強化データGSM環境)ネットワークを含むことができる。代替的に、セルラーネットワークの1つ又はそれよりも多くは、GPRS(汎用パケット無線システム)又はGPRSベース(例えば、ユニバーサルモバイルテレコミュニケーションシステム−UMTS)ネットワークを含むことができる。
【0022】
公衆ネットワーク12及びプライベートネットワーク24のように、セルラーネットワーク30も、1つ又はそれよりも多くのネットワークノードを含む。この点において、各セルラーネットワークのネットワークノードは、各セルラーネットワーク内部で及び/又はこれを超えて通信することができる1つ又はそれよりも多くの移動端末32を含むことができる。更に以下で説明するように、移動端末の1つ又はそれよりも多くは、公衆及びプライベートネットワークの送信元ノードと同じ方法におけるように送信元ノード20として作動することができる。更に、これも以下で説明するように、移動端末の1つ又はそれよりも多くは、上述して以下でも説明するように、中間ノード22を通じて送信元ノードと通信することができる終端ノード36として作動することができる。本明細書では、送信元及び終端ノードを一般的に移動端末として説明しているが、別の実施形態では、送信元及び終端ノードは、固定端末とすることができる。
【0023】
セルラーネットワーク30内において、ネットワークノードはまた、1つ又はそれよりも多くのSGSN(信号伝達GPRSサポートノード)38のような1つ又はそれよりも多くのネットワーク信号伝達サポートノード、及び1つ又はそれよりも多くのGGSN(ゲートウェイGPRSサポートノード)40のような1つ又はそれよりも多くのゲートウェイサポートノードを含むことができる。例えば、ネットワークノードは、「3Gパートナーシッププロジェクト(3GPP)」のいくつかの仕様書に説明されているように、1つ又はそれよりも多くのSGSN及び1つ又はそれよりも多くのGGSNを含むことができる。当業者によって認められるように、SGSNは、移動端末32との通信を経路指定することができ、端末が他のネットワークノードとの通信セッションに関わる場合は、そのようなネットワークノードに接続を提供することができる。一方、GGSNは、セルラーネットワーク及びプライベートネットワーク24を相互接続することができる。この点において、GGSNは、公知のように、従来のゲートウェイアクションを実行することができる。セルラーネットワークは、SGSN及びGGSNを含むことができるが、セルラーネットワークは、他のタイプのセルラーネットワークに関して同様に作動する他のネットワークノードを含むことができる点に注意すべきである。
【0024】
ここで、本発明の一実施形態に従って公衆ネットワーク12、プライベートネットワーク24、又はセルラーネットワーク30の内部でネットワークノード(例えば、送信元ノード20、中間ノード22、NAT/FW28、終端ノード36、SGSN38、GGSN40など)として作動することができるエンティティのブロック図を示している図2を参照する。別々のエンティティとして示されているが、一部の実施形態では、1つ又はそれよりも多くのエンティティは、論理的には別々であるがエンティティ内部の同一場所に配置されたネットワークノードの1つ又はそれよりも多くをサポートすることができる。例えば、単一のエンティティは、論理的には別々であるが同一場所に配置された送信元ノード(例えば、固定端末14、プロキシ16、DNS18、移動端末32など)及び中間ノードをサポートすることができる。また、例えば、上述のように、単一のエンティティは、論理的には別々であるが同一場所に配置されたNAT及びファイアウォール/ゲートウェイをサポートすることができる。
【0025】
ネットワークノードとして作動することができるエンティティは、本明細書でより詳細に示して説明する機能を含む本発明の例示的な実施形態による1つ又はそれよりも多くの機能を実行するための様々な手段を含む。しかし、エンティティの1つ又はそれよりも多くは、本発明の精神及び範囲から逸脱することなく、1つ又はそれよりも多くの同様の機能を実行するための代替手段を含むことができる点を理解すべきである。より詳細には、例えば、図2に示すように、エンティティは、一般的に、メモリ44に接続したコントローラ42又はプロセッサなどのようなエンティティの様々な機能を制御するための手段を含むことができる。コントローラはまた、少なくとも1つのインタフェース46、又はデータ又はコンテンツなどを送受信するための他の手段に接続することができる。メモリは、揮発性及び/又は不揮発性メモリを含むことができ、典型的にはコンテンツ又はデータなどを格納する。例えば、メモリは、典型的にはコントローラがエンティティの作動に関連付けられた段階を本発明の実施形態に従って実行するためのソフトウエアアプリケーション又は命令などを格納する。また、例えば、メモリは、典型的にはネットワークノードとの間で送受信されるコンテンツを格納する。
【0026】
図3は、本発明の実施形態に従って移動端末32として、及び従って送信元ノード20又は終端ノード36として作動することができる移動局の機能図を示している。ここに示されて以下に説明される移動局は、単に本発明の恩典を受ける1つのタイプの移動端末の一例にすぎず、従って、本発明の範囲を限定するものととらえるべきではない。例示の目的のために移動局のいくつかの実施形態が示されて以下に説明されるが、携帯情報端末(PDA)、ポケットベル、ラップトップコンピュータ、及び他のタイプの音声及びテキスト通信システムのような他のタイプの移動端末は、容易に本発明の実施形態を採用することができる。更に別の実施形態では、パーソナルコンピュータのような固定端末が、代わりに送信元ノード及び/又は終端ノードとしての役目を果たすことができる。
【0027】
移動局は、本明細書でより詳細に示して説明する機能を含む本発明の例示的な実施形態による1つ又はそれよりも多くの機能を実行するための様々な手段を含む。しかし、移動局は、本発明の精神及び範囲から逸脱することなく、1つ又はそれよりも多くの同様の機能を実行するための代替手段を含むことができる点を理解すべきである。より詳細には、例えば、図3に示すように、移動局は、送信機48、受信機50、並びに送信機及び受信機からそれぞれ信号を送受信するコントローラ52のような手段を含む。これらの信号は、適用可能なセルラーシステムの無線インタフェース規格に従う信号伝達情報、及びユーザ音声及び/又はユーザ作成データを含む。この点において、移動局は、1つ又はそれよりも多くの無線インタフェース規格、通信プロトコル、変調タイプ、及びアクセスタイプで作動することができる。より詳細には、移動局は、いくつかの1G、2G、2.5G、及び/又は3G通信プロトコルなどのいずれかに従って作動することができる。例えば、移動局は、2G無線通信プロトコルIS−136(TDMA)、GSM、及びIS−95(CDMA)に従って作動することができる。また、例えば、移動局は、2.5G無線通信プロトコルGPRS又は「強化データGSM環境(EDGE)」などに従って作動することができる。デュアルモード又はそれよりも高いモードの移動局(例えば、デジタル/アナログ又はTDMA/CDMA/アナログ電話)であれば、TACSと同様に一部の狭帯域AMPS(NAMPS)の移動局もまた、本発明の実施形態から恩典を受けることができる。
【0028】
コントローラ52は、移動局のオーディオ及び論理機能を実施するために必要な回路を含む。例えば、コントローラは、デジタルシグナルプロセッサ装置、マイクロプロセッサ装置、及び様々なアナログデジタル変換器、デジタルアナログ変換器、及び/又は他のサポート回路から構成することができる。移動局の制御及び信号処理機能は、これらの装置の各機能に従って装置間に配置される。従って、コントローラはまた、変調及び送信前にメッセージ及びデータを畳み込み符号化及びインタリーブするための機能性も含む。コントローラは、更に、内部音声符号器(VC)52Aを含むことができ、内部データモデム(DM)52Bを含むこともできる。更に、コントローラは、メモリに格納することができる1つ又はそれよりも多くのソフトウエアアプリケーションを作動させるための機能性を含むことができる。
【0029】
移動局はまた、従来型イヤホン又はスピーカ54、ベル56、マイクロフォン60、ディスプレイ62、及びユーザ入力インタフェースを含むユーザインタフェースを含み、これらの全てがコントローラ52に結合されている。移動局がデータを受信することを可能にするユーザ入力インタフェースは、キーパッド64、タッチディスプレイ(図示しない)、又は他の入力装置のような移動局がデータを受信することを可能にするいくつかの装置のいずれかを含むことができる。キーパッドを含む実施形態では、キーパッドは、従来型の数字(0−9)及び関連キー(#、*)、並びに移動局を作動させるために用いられる他のキーを含む。
【0030】
移動局はまた、加入者識別モジュール(SIM)66又は取外し可能ユーザ識別モジュール(R−UIM)などのようなメモリを含むことができ、これらは、典型的には移動加入者に関連する情報要素を格納する。SIMに加え、移動局は、他のメモリを含むことができる。この点において、移動局は、揮発性メモリ68並びに他の不揮発性メモリ70を含むことができ、これらは、埋め込み及び/又は取外し可能にすることができる。例えば、他の不揮発性メモリは、埋め込み又は取外し可能なマルチメディアメモリカード(MMC)、ソニー・コーポレーション製造の「メモリスティック」、EEPROM、フラッシュメモリ、又はハードディスクなどを含むことができる。メモリは、移動局の機能を実施するために移動局によって用いられるいくつかの情報断片及びデータのあらゆるものを格納することができる。例えば、メモリは、移動局を一意的に識別することができる国際携帯電話機体識別番号(IMEI)コード、国際携帯電話加入者識別番号(IMSI)コード、又は移動局総合サービスデジタル通信網(MSISDN)コードなどのような識別子を格納することができる。メモリはまた、送信元ノード20との間で送受信するコンテンツのようなコンテンツも格納することができる。
【0031】
移動局はまた、いくつかの異なる有線及び/無線技術のいずれかに従って他のネットワークノードのような電子装置からデータを共有及び/又は取得するための1つ又はそれよりも多くの手段を含むことができる。例えば、移動局は、無線周波数及び/又は赤外線技術に従ってデータを共有及び/又は取得することができるように、無線周波数(RF)送受信機72及び/又は赤外線(IR)送受信機74を含むことができる。また、例えば、移動局は、Bluetooth転送技術に従ってデータを共有及び/又は取得することができるように、Bluetooth(BT)送受信機76を含むことができる。図示していないが、移動局は、追加で又は代替的に、ローカルエリアネットワーク(LAN)及び/又は無線LAN(WLAN)及び/又は他の無線技術を含むいくつかの異なる有線及び/又は無線ネットワーキング技術に従って、電子装置との間でデータを送受信することができる。
【0032】
[背景技術]の節で上述のように、送信元ノード20のようなIP装置が移動端末のような終端ノード36とのIP接続を開始することを可能にするための従来技術は、公衆ネットワーク12(例えば、「インターネット」)のような公衆ドメインの制約を無視し、これは、公衆ネットワークを各々のプライベートネットワーク24に相互接続するのにNAT/FW28の使用をもたらす。すなわち、そのような技術は、利用可能なパブリックIPアドレスの制約を無視する。従って、本発明の実施形態は、終端ノードが、セルラー又はそうでなければ移動ネットワークのようなプライベートネットワーク内に常駐する場合に、終端ノードと通信するための改善されたシステム及び方法を提供する。より詳細には、本発明の実施形態は、公衆ネットワーク内の送信元ノードからプライベートネットワーク内の終端ノードに非IPベースのメッセージを送信し、それによって終端ノードに送信元ノードとのIPベースの通信を開始させることにより、公衆ネットワーク内の送信元ノードがプライベートネットワーク内の終端ノードと通信することを可能にするシステム、終端ノード、方法、及びコンピュータプログラム製品を提供する。この点において、送信元ノード(すなわち、クライアント)は、終端ノードがトランスポートレベル接続を開始するのを待つ点でサーバのように機能する。同様に、終端ノード(すなわち、サーバ)は、非IPベースのメッセージに応答して送信元ノードとのトランスポートレベル接続を開始する点でクライアントのように機能する。
【0033】
標準(例えば、バークレー)ソケットのアプリケーションプログラムインタフェース(API)の使用を通じて透過的に、又は仮想ソケットAPIの使用を通じて、TCP/IPクライアント及びサーバアプリケーションに「仮想ソケット」インタフェースを提供するいくつかのフレームワークが提案されている。TCP/IPアプリケーションによるこれらの仮想ソケットの使用は、標準ソケットAPIに類似するか又は同一な場合さえある(すなわち、仮想ソケットは、TCP/IPアプリケーションに対して透過とすることができる)。しかし、これらの仮想ソケットは、TCP/IPプロトコルスタックを用いてエンドツーエンド接続を作成するためのAPIを提供する以外に、エンドツーエンドのTCP/IPセッションをサポートするいくつかの拡張サービスも提供する。例えば、「エンドツーエンドセッションサポート(e2e−SS)」サービスは、エンドツーエンドの移動性のサポート、及びTCPソケットレベルでの接続断に備えるサポートを提供する。このようなe2e−SSサービスの例は、MobileSocket(例えば、T.Okoshi、M.Mochizuki、Y.Tobe、及びH.Tokuda著「Javaアプリケーションのための継続作動に向けて」、IEEEコンピュータ通信及びネットワークに関する国際会議(ICCCN)、1999年を参照)、ROCKS/RACKS(例えば、V.Zandy及びB.Miller著「信頼性の高いネットワーク接続」、「ACM MOBICOM」、2002年9月を参照)、移動TCPソケット(例えば、X.Qu、J.Xu Yu、及びR.Brent著「移動TCPソケット」、ソフトウエアエンジニアリング(SE)に関する国際会議、1997年11月を参照)、及びMigrate(例えば、A.Snoeren著「インターネットの移動性のためのセッションベースのアーキテクチャ」、博士論文、MIT、2003年2月を参照)を含む。
【0034】
これらのフレームワークは、エンドノードにより又はエンドノードにおいて全体的に実行されるか又は場合によってはエンドノードと共に作用するプロキシにより実行されるかに関わらず、それらがアプリケーションとエンド(すなわち、送信元及び終端)ノードのネイティブシステムネットワーキングサポートとの間にそれ自体を介入させることでサポートを提供し、異なるエンドノードのアプリケーション層間の通信を助けるので、通信ミドルウェアとして特徴付けることができる。このようなミドルウェアは、典型的には標準ソケットAPIを用いて必要に応じて実際のネットワークソケットを作成、変更、及び破棄することができる。この作成、変更、及び破棄は、TCP/IPアプリケーションに対して透過であり、TCP/IPアプリケーションは、アプリケーションとミドルウェアとの間に作成された仮想ソケットしか認識しない。これらのフレームワークの1つの特性は、このようなフレームワークがインフラストラクチャー又はいずれの中間ノードに対してもサポートを要求することなく、2つのエンドノードの協働を要求するにすぎない点である。本発明の例示的な実施形態は、このようなフレームワークを利用して、典型的にはアプリケーションに対する変更又はいずれの中間ノードに対する特殊設定も行うことなく、クライアント及びサーバが協働してNAT/ファイアウォール全探索問題に対処することを可能にする。
【0035】
ミドルウェアは、それを通じてアプリケーションが通信することができる仮想ソケットインタフェースをTCP/IPアプリケーションに設けることができる。仮想ソケットを使用すると、IPアドレスの変更、接続断、及びTCPの満了を処理するために発生及び必要に応じて実際のネットワークソケットを破棄及び置換することができる。仮想ソケットは、ネットワーク(すなわち、システム)層で発生している事柄からTCP/IPアプリケーションを分離させる。従って、アプリケーションは、実際の(本物の)ネットワーキングソケットを開く代わりに、アプリケーション層とミドルウェア層の間の仮想ネットワーキングソケットであるミドルウェアに対するソケットを開き、ミドルウェアが、ネットワーク(システム)層との実際のネットワーキングソケットを開く。それによってミドルウェアは、アプリケーションに影響を与えることなく実際のネットワーク接続を作成及び破棄することができ、従って、アプリケーション層をネットワーク層から分離する。上述のように、仮想ソケットは、アプリケーションに対して透過であるので、TCP/IPアプリケーションには、アプリケーションが仮想ソケットではなく実ソケットと通信しているように見える。一部の手法では、アプリケーションが仮想ソケットを認識して、ミドルウェアがアプリケーションの通信を制御していることを認識することができる場合がある。ミドルウェアにより、エンドノードは、接続断及び他の不具合に関して実際の通信接続をモニタ及びサポートすることができ、かつ移動環境におけるTCP接続に関連する問題のような通信接続関連の問題からアプリケーション層のアプリケーションを保護することができる。ミドルウェアは、典型的にはインフラストラクチャー又は中間ノードに対してサポートを全く要求しない。むしろミドルウェアは、エンドノードの各々に常駐して、ミドルウェアがアプリケーションのネットワーク接続をサポートするために機能する方法に関してエンドノードの協働を可能にする。基本的に、通信をサポートするための情報はインフラストラクチャーからエンドノードに移されている。従って、ミドルウェアは、アドホックシナリオ及びインフラストラクチャーのサポートのないシナリオを含むトランスポートレベル接続のための適切な解決法である。
【0036】
図4を参照すると、本発明の例示的な一実施形態によりNAT及び/又はファイアウォールの背後に位置するサーバとのトランスポートレベル接続を確立する方法の流れ図が示されている。本発明の実施形態は、ミドルウェアを使用して送信元ノードから終端ノードに非IPベースのメッセージを送信し、それによって終端ノードに送信元ノードとのIPベースの通信を開始させる。プライベートネットワーク内に位置するサーバ(すなわち、終端ノード)は、サーバが通信要求を受信することができるようにサーバソケット(リスニングソケットとも呼ばれる)を作成することができ、それに応答してミドルウェアが、通常はサーバに仮想サーバソケットを戻すことになる。図4のブロック150を参照されたい。公衆ネットワーク内に位置するホストのクライアントアプリケーション(すなわち、「クライアントエンド」又は送信元ノード)が終端ノードのサーバアプリケーションに接続するためにソケット(クライアントソケット又は接続ソケットと呼ばれる)を作成すると、ミドルウェアは、クライアントアプリケーションに仮想クライアントソケットを戻すことになる。ブロック152を参照されたい。ミドルウェアはまた、標準ソケットAPIを使用して送信元ノードにおいて実サーバソケット(又はリスニングソケット)も作成する。ブロック154を参照されたい。ミドルウェアは、次に、非IPベース(帯域外とも呼ばれる)の通信機構(例えば、口頭伝達、電話技術、テキストメッセージング、無線周波数(RF)通信、ショートメッセージングサービス(SMS)通信、マルチメディアメッセージングサービス(MMS)通信、インスタントメッセージ、アドホックネットワークリンク、近視野通信(例えば、無線周波数識別)、又は赤外線リンク)を用いて、送信元ノードが通信を望んでいるノード(すなわち、プライベートネットワーク内に位置する終端ノード)に対してメッセージを送信する。ブロック156を参照されたい。この非IPベースのメッセージは、送信元ノードがTCP/IP接続を確立したいことを終端ノードに通知する。このメッセージは、典型的には送信元ノードのサーバソケット(すなわち、リスニングソケット)を識別する情報、例えば、リスニングソケットのIPアドレス及びポート番号のような情報、及びセキュリティ情報(例えば、パスワード又は公開暗号化鍵)のようなTCP/IP接続の確立に必要な可能な他のあらゆるパラメータを含む。更に、このメッセージは、セキュリティを更に高めるために暗号化することができる。メッセージが暗号化される場合、送信元ノード及び終端ノードは、典型的にはメッセージの暗号化/復号化を可能にするための暗号化鍵を共有するように事前設定されるであろう。送信元ノードがこの非IPベースのメッセージを終端ノードに送信することができるように、送信元ノードのミドルウェアは、典型的には、クライアントアプリケーションにより使用されるIPベースの識別子(例えば、IPアドレス又はDSN名)を、対応する非IPベースの通信方法を通じて終端ノードに通信メッセージを送信するために使用することができる非IPベースの識別子(例えば、電話番号、電子メールアドレス、IMスクリーン名)に変換するための相互参照表のような情報を含む。相互参照表は、例えば、(クライアントアプリケーションが特定のサーバとのTCP/IP接続を要求するために使用することができる)DNS名と(クライアントのミドルウェアが特定のサーバのミドルウェアにSMSメッセージを送信するために使用することができる)対応する携帯電話番号との間の相互参照を含むことができる。このメッセージは、終端ノード内に位置するミドルウェアによって受信することができる。ブロック158を参照されたい。このメッセージを受信すると、終端ノード内に位置するミドルウェアは、次に、典型的には、ネイティブソケットAPIを用いてクライアントソケットを作成し、送信元ノードでリスン中のサーバソケットに接続する。ブロック160を参照されたい。このTCP/IP接続は、プライベートネットワーク内部のノード(すなわち、終端ノード)によって開始されるので、TCP/IP接続が公衆ネットワーク内部のノード(すなわち、送信元ノード)によって開始された場合よりも成功する確率が高い。送信元ノードのミドルウェアは、次に、サーバソケットに対する接続を受け入れる(典型的には何らかのセキュリティハンドシェイクの後に)。ブロック162を参照されたい。送信元ノードのサーバソケットは、典型的には、クライアントソケットからの接続要求のサーバソケットの受入が成功したことを示す「受入成功」メッセージを受信する。ブロック164を参照されたい。クライアントアプリケーションは、アプリケーション層とミドルウェア層との間に(仮想)クライアントソケットを開いているので、クライアントソケットは、「接続成功」メッセージの受信を予期している。従って、ミドルウェアは、サーバソケットで受信した受入成功メッセージを接続成功メッセージに変換し、次に、このメッセージを仮想クライアントソケットで受信することができる。ブロック166を参照されたい。同時に又は殆ど同時に、終端ノードのクライアントソケットは、典型的には、サーバソケットへのクライアントソケットの接続要求が成功したことを示す「接続成功」メッセージを受信する。ブロック168を参照されたい。サーバアプリケーションは、アプリケーション層とミドルウェア層との間に(仮想)サーバソケットを開いているので、サーバソケットは、「受入成功」メッセージの受信を予期している。従って、ミドルウェアは、典型的にはクライアントソケットで受信した接続成功メッセージを受入成功メッセージに変換し、次に、このメッセージを仮想サーバソケットで受信することができる。ブロック170を参照されたい。これが行われた状態で、IPベースの接続リンクが確立され、TCP/IPデータは、クライアントとサーバアプリケーションとの間を流れることができる。ブロック172を参照されたい。接続は、典型的にはノードの一方によって終了されるまで開いたままになる。
【0037】
図5を参照すると、本発明の例示的な一実施形態による図4及び上記で詳細を示す方法によりNAT及び/又はファイアウォールの背後に位置するサーバとのトランスポートレベル接続を確立することができるシステムの機能ブロック図が示されている。図5のシステム80は、公衆ネットワーク86内に送信元ノード82及びプライベートネットワーク内部に終端ノード84を含む。終端ノード84は、NAT/ファイアウォール90の背後に位置する。NAT/ファイアウォール90は、NAT、ファイアウォール、又はその両方のいずれかとすることができることを認めるべきである。送信元ノード82及び終端ノード84の両方は、3つの層、すなわち、アプリケーション層92、ミドルウェア層94、及びシステム層96を含む。アプリケーション層92の内部に、送信元ノードは、クライアントアプリケーション98及びミドルウェアAPI100を含む。ミドルウェアAPIは、クライアントアプリケーションの作動を送信元ノードのミドルウェア102と協働させるように制御信号86に指令する。同様に、アプリケーション層92の内部に、終端ノードは、サーバアプリケーション114及びミドルウェアAPI116を含む。ミドルウェアAPIは、サーバアプリケーションの作動を終端ノードのミドルウェア118と協働させるように制御信号86に指令する。
【0038】
送信元ノード及び終端ノードの両方において、ミドルウェア102、118は、アプリケーション層との仮想ソケット通信を制御するためのトップハンドラ104、120、及びネットワーク層との実際のネットワークソケット通信との通信を制御するためのデフォルトハンドラ108、124を含むことができる。上述のように、仮想クライアントソケット112は、クライアントアプリケーション98とミドルウェア102との間に確立することができ、実サーバソケット132は、送信元ノードにおいてミドルウェア102により確立することができる。更に、仮想サーバソケット126は、終端ノードにおいてサーバアプリケーション114とミドルウェア118との間に確立することができる。ミドルウェア102は、典型的にはNAT及び/又はファイアウォール全探索サービス106を含む。仮想クライアントソケット112を作成すると、NAT及び/又はファイアウォール全探索サービスは、非IPベースの通信要求メッセージ130を送信するように非IP通信装置110に指令することができる。上述のように、非IPベースの通信要求メッセージ及び非IP通信装置110は、あらゆる数の異なる通信方法を利用することができる。非IPベースの通信メッセージ130は、典型的には、終端ノードにおいて対応する非IP通信装置128により受信されるであろう。非IPベースの通信要求メッセージ130を受信すると、NAT及び/又はファイアウォール全探索サービス122は、典型的には実クライアントソケット134を作成する。典型的には、何らかのハンドシェイクの後、トランスポートレベル通信接続136が、クライアントソケット134とサーバソケット132との間に確立されると考えられる。
【0039】
本発明の例示的な一態様によれば、ネットワークノードのようなシステムのエンティティの1つ又はそれよりも多くによって実行される機能は、上述を含むハードウエア及び/又はファームウエアのような様々な手段により、単独で及び/又はコンピュータプログラム製品の制御下で実行することができる。本発明の実施形態の方法を実行するためのコンピュータプログラム製品は、不揮発性記憶媒体のようなコンピュータ読取可能記憶媒体、及びコンピュータ読取可能記憶媒体に具体化された一連のコンピュータ命令のようなコンピュータ読取可能プログラムコード部分を含む。
【0040】
この点において、図4は、本発明による方法及びプログラム製品の流れ図である。流れ図の各段階及び流れ図における段階の組合せは、コンピュータプログラム命令により実施することができることが理解されるであろう。これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブル装置上で実行される命令が流れ図の段階に指定された機能を実施するための手段を発生させるように、コンピュータ、又は機械を生成するための他のプログラマブル装置上にロードすることができる。これらのコンピュータプログラム命令はまた、コンピュータ読取可能メモリに格納された命令が流れ図の段階に指定された機能を実施する命令手段を含む製品を発生させるように、コンピュータ又は他のプログラマブル装置に特定の方法で機能するように指令することができるコンピュータ読取可能メモリに格納することができる。コンピュータプログラム命令はまた、コンピュータ又は他のプログラマブル装置上にロードされて、コンピュータ又は他のプログラマブル装置上で実行される命令が流れ図の段階に指定された機能を実施するための段階を発生させるように、コンピュータ又は他のプログラマブル装置上で一連の作動段階を実行させてコンピュータ実装処理を発生させることができる。
【0041】
更に、流れ図の段階は、指定された機能を実行するための手段の組合せ、指定された機能を実行するための段階の組合せ、及び指定された機能を実行するためのプログラム命令手段をサポートする。流れ図の各段階及び流れ図における段階の組合せは、指定された機能又は段階を実行する特殊用途のハードウエアベースのコンピュータシステム、又は特殊用途のハードウエア及びコンピュータ命令の組合せにより実施することができることも理解されるであろう。
【0042】
以上の説明及び関連図面で示された教示から恩典を受ける本発明に関連する当業者は、本発明の多くの修正及び他の実施形態を想起するであろう。従って、本発明は、開示された特定的な実施形態に限定されるのではなく、修正及び他の実施形態が特許請求の範囲に含まれるように想定されていることは理解されるものとする。本明細書では特定の用語を用いているが、それらは、一般的及び説明的な意味でのみ用いられており、限定する目的ではない。
【図面の簡単な説明】
【0043】
【図1】送信元ノード、中間ノード、及び終端ノードが直接的又は間接的に双方向で結合された少なくとも1つの移動ネットワーク及び少なくとも1つの公衆及び/又はプライベートネットワークを含む本発明の実施形態から恩典を受ける通信システムの略ブロック図である。
【図2】本発明の実施形態に従ってネットワークノードとして作動することができるエンティティの略ブロック図である。
【図3】本発明の実施形態に従って移動端末として作動することができる移動局の略ブロック図である。
【図4】本発明の例示的な一実施形態によりNAT及び/又はファイアウォールの背後に位置するサーバとのトランスポートレベル接続を確立する方法の流れ図である。
【図5】本発明の例示的な一実施形態によりNAT及び/又はファイアウォールの背後に位置するサーバとのトランスポートレベル接続を確立することができるシステムの機能ブロック図である。
【符号の説明】
【0044】
10 システム
12 公衆ネットワーク
14 固定端末
16 プロキシ

【特許請求の範囲】
【請求項1】
終端ノードとの「インターネットプロトコル(IP)」接続を確立するためのシステムであって、
送信元ノードと、
非IPベース通信技術を通じて前記送信元ノードから通信要求を受信することができ、更に、該通信要求に応答して該送信元ノードとのIPベース通信を開始することができる終端ノードと、
を含むことを特徴とするシステム。
【請求項2】
前記送信元ノードは、口頭伝達、電話技術、テキストメッセージング、無線周波数(RF)通信、ショートメッセージングサービス(SMS)通信、マルチメディアメッセージングサービス(MMS)通信、及びインスタントメッセージングを含む群から前記非IPベース通信技術を選択することを特徴とする請求項1に記載のシステム。
【請求項3】
前記通信要求は、前記送信元ノードでのソケットのインターネットプロトコル(IP)アドレス及びポート番号を定めることを特徴とする請求項1に記載のシステム。
【請求項4】
前記終端ノードは、更に、前記通信要求の妥当性を該通信要求によって定められたセキュリティ情報を用いて検証することができることを特徴とする請求項1に記載のシステム。
【請求項5】
前記終端ノードは、更に、アプリケーション層、ミドルウェア層、及びシステム層を含み、前記送信元ノードは、アプリケーション層、ミドルウェア層、及びシステム層を含み、該終端ノードは、更に、該終端ノードでの該アプリケーション層と該終端ノードでの該ミドルウェア層との間に仮想サーバソケットを作成することができ、
前記送信元ノードは、更に、該送信元ノードでの前記アプリケーション層と該送信元ノードでの前記ミドルウェア層との間に仮想クライアントソケットを作成することができ、
前記送信元ノードは、更に、該送信元ノードでの前記ミドルウェア層から前記終端ノードでの前記ミドルウェア層に前記非IPベース通信技術を通じて前記通信要求を送信することができ、
前記終端ノードは、更に、該終端ノードでの前記ミドルウェア層と該終端ノードでの前記システム層との間にクライアントソケットを作成することができ、
前記送信元ノードは、更に、該送信元ノードでの前記ミドルウェア層と該送信元ノードでの前記システム層との間にサーバソケットを作成することができ、
前記終端ノードは、更に、前記送信元ノードでの前記サーバソケットのインターネットプロトコル(IP)アドレスとポート番号とを定める前記通信要求を該終端ノードの前記ミドルウェア層で受信することができる、
ことを特徴とする請求項1に記載のシステム。
【請求項6】
前記終端ノードは、更に、該終端ノードでの前記クライアントソケットによって接続成功メッセージを受信し、該終端ノードでの前記ミドルウェア層によって該接続成功メッセージを受入成功メッセージに変換し、該終端ノードでの前記仮想ソケットで該受入成功メッセージを受信することができ、
前記送信元ノードは、更に、該送信元ノードでの前記サーバソケットによって受入成功メッセージを受信し、該送信元ノードでの前記ミドルウェア層によって該受入成功メッセージを接続成功メッセージに変換し、該送信元ノードでの前記仮想ソケットで該接続成功メッセージを受信することができる、
ことを特徴とする請求項5に記載のシステム。
【請求項7】
前記送信元ノードは、公衆ネットワークに位置し、前記終端ノードは、プライベートネットワークに位置することを特徴とする請求項1に記載のシステム。
【請求項8】
前記プライベートネットワークは、ファイアウォール及びネットワークアドレス変換器のうちの少なくとも一方を有することを特徴とする請求項7に記載のシステム。
【請求項9】
前記送信元ノードは、更に、前記終端ノードのIPベース識別子を該終端ノードの非IPベース識別子に変換することができ、
前記送信元ノードは、更に、前記非IPベース識別子を使用して前記通信要求を前記非IPベース通信技術を通じて前記終端ノードに送信することができる、
ことを特徴とする請求項1に記載のシステム。
【請求項10】
「インターネットプロトコル(IP)」接続を通じて送信元ノードと通信するための終端ノードであって、
非IPベース通信技術を通じて前記送信元ノードから通信要求を受信することができ、更に、該通信要求に応答して該送信元ノードとのIPベース通信を開始することができるプロセッサ、
を含むことを特徴とするノード。
【請求項11】
前記非IPベース通信技術は、口頭伝達、電話技術、テキストメッセージング、無線周波数(RF)通信、ショートメッセージングサービス(SMS)通信、マルチメディアメッセージングサービス(MMS)通信、及びインスタントメッセージングを含む群から選択されることを特徴とする請求項10に記載の終端ノード。
【請求項12】
前記通信要求は、前記送信元ノードでのソケットのインターネットプロトコル(IP)アドレス及びポート番号を定めることを特徴とする請求項10に記載の終端ノード。
【請求項13】
前記プロセッサは、更に、前記通信要求の妥当性を該通信要求によって定められたセキュリティ情報を用いて検証することができることを特徴とする請求項10に記載の終端ノード。
【請求項14】
アプリケーション層、ミドルウェア層、及びシステム層を更に含み、
前記プロセッサは、更に、前記アプリケーション層と前記ミドルウェア層の間に仮想サーバソケットを作成することができ、該プロセッサは、更に、前記送信元ノードでのサーバソケットのインターネットプロトコル(IP)アドレス及びポート番号を定める前記通信要求を該ミドルウェア層で受信することができ、該プロセッサは、更に、該ミドルウェア層と該システム層の間にクライアントソケットを作成することができる、
ことを特徴とする請求項10に記載の終端ノード。
【請求項15】
前記プロセッサは、更に、前記クライアントソケットで接続成功メッセージを受信し、前記ミドルウェア層によって該接続成功メッセージを受入成功メッセージに変換し、前記仮想ソケットで該受入成功メッセージを受信することができることを特徴とする請求項14に記載の終端ノード。
【請求項16】
プライベートネットワークに位置することを特徴とする請求項10に記載の終端ノード。
【請求項17】
前記プライベートネットワークは、ファイアウォール及びネットワークアドレス変換器のうちの少なくとも一方を有することを特徴とする請求項16に記載の終端ノード。
【請求項18】
終端ノードとの「インターネットプロトコル(IP)」接続を確立するための送信元ノードであって、
終端ノードが、通信要求に応答して送信元ノードとのIPベース通信を開始することができるように、非IPベース通信技術を通じて該終端ノードに該通信要求を送信することができるプロセッサ、
を含むことを特徴とするノード。
【請求項19】
前記プロセッサは、前記非IPベース通信技術を口頭伝達、電話技術、テキストメッセージング、無線周波数(RF)通信、ショートメッセージングサービス(SMS)通信、マルチメディアメッセージングサービス(MMS)通信、及びインスタントメッセージングを含む群から選択することができることを特徴とする請求項18に記載の送信元ノード。
【請求項20】
前記通信要求は、送信元ノードでのソケットのインターネットプロトコル(IP)アドレス及びポート番号を定めることを特徴とする請求項18に記載の送信元ノード。
【請求項21】
前記通信要求は、セキュリティ情報を定め、それによって前記終端ノードは、該セキュリティ情報を用いて該通信要求の妥当性を検証することができることを特徴とする請求項18に記載の送信元ノード。
【請求項22】
アプリケーション層、ミドルウェア層、及びシステム層を更に含み、
前記プロセッサは、更に、前記アプリケーション層と前記ミドルウェア層の間に仮想クライアントソケットを作成することができ、該プロセッサは、更に、前記非IPベース通信技術を通じて該ミドルウェア層から前記通信要求を送信することができ、該プロセッサは、更に、該ミドルウェア層と前記システム層の間にサーバソケットを作成することができ、該通信要求は、該サーバソケットのインターネットプロトコル(IP)アドレス及びポート番号を定める、
ことを特徴とする請求項18に記載の送信元ノード。
【請求項23】
前記プロセッサは、更に、前記サーバソケットによって受入成功メッセージを受信し、前記ミドルウェア層によって該受入成功メッセージを接続成功メッセージに変換し、前記仮想ソケットで該接続成功メッセージを受信することができることを特徴とする請求項22に記載の送信元ノード。
【請求項24】
公衆ネットワークに位置し、
前記終端ノードは、プライベートネットワークに位置する、
ことを特徴とする請求項18に記載の送信元ノード。
【請求項25】
前記プライベートネットワークは、ファイアウォール及びネットワークアドレス変換器のうちの少なくとも一方を有することを特徴とする請求項24に記載の送信元ノード。
【請求項26】
前記プロセッサは、更に、前記終端ノードのIPベース識別子を該終端ノードの非IPベース識別子に変換することができ、該プロセッサは、更に、該非IPベース識別子を使用して前記通信要求を該終端ノードに前記非IPベース通信技術を通じて送信することができることを特徴とする請求項18に記載の送信元ノード。
【請求項27】
終端ノードとの「インターネットプロトコル(IP)」接続を確立する方法であって、
非IPベース通信技術を通じて送信元ノードから通信要求を終端ノードで受信する段階と、
前記通信要求に応答して前記送信元ノードとのIPベース通信を前記終端ノードによって開始する段階と、
を含むことを特徴とする方法。
【請求項28】
前記非IPベース通信技術は、口頭伝達、電話技術、テキストメッセージング、無線周波数(RF)通信、ショートメッセージングサービス(SMS)通信、マルチメディアメッセージングサービス(MMS)通信、及びインスタントメッセージングを含む群から選択されることを特徴とする請求項27に記載の方法。
【請求項29】
前記通信要求は、前記送信元ノードでのソケットのインターネットプロトコル(IP)アドレス及びポート番号を定めることを特徴とする請求項27に記載の方法。
【請求項30】
前記通信要求の妥当性を該通信要求によって定められたセキュリティ情報を用いて前記終端ノードで検証する段階、
を更に含むことを特徴とする請求項27に記載の方法。
【請求項31】
前記終端ノードでのアプリケーション層と該終端ノードでのミドルウェア層との間に仮想サーバソケットを作成する段階と、
前記送信元ノードでのアプリケーション層と該送信元ノードでのミドルウェア層との間に仮想クライアントソケットを作成する段階と、
前記非IPベース通信技術を通じて前記送信元ノードでの前記ミドルウェア層から前記終端ノードでの前記ミドルウェア層に前記通信要求を送信する段階と、
前記終端ノードでの前記ミドルウェア層と該終端ノードでのシステム層との間にクライアントソケットを作成する段階と、
前記送信元ノードでの前記ミドルウェア層と該送信元ノードでのシステム層との間にサーバソケットを作成する段階と、
を更に含み、
前記通信要求は、前記ミドルウェア層によって前記終端ノードで受信され、該通信要求は、前記送信元ノードでの前記サーバソケットのインターネットプロトコル(IP)アドレス及びポート番号を定め、前記IPベース通信は、該終端ノードでの前記ミドルウェア層によって開始される、
ことを特徴とする請求項27に記載の方法。
【請求項32】
前記終端ノードでの前記クライアントソケットによって接続成功メッセージを受信する段階と、
前記終端ノードでの前記ミドルウェア層によって前記接続成功メッセージを受入成功メッセージに変換する段階と、
前記終端ノードでの前記仮想ソケットで前記受入成功メッセージを受信する段階と、
前記送信元ノードでの前記サーバソケットによって受入成功メッセージを受信する段階と、
前記送信元ノードでの前記ミドルウェア層によって前記受入成功メッセージを接続成功メッセージに変換する段階と、
前記送信元ノードでの前記仮想ソケットで前記接続成功メッセージを受信する段階と、
を更に含むことを特徴とする請求項31に記載の方法。
【請求項33】
前記送信元ノードは、公衆ネットワークに位置し、前記終端ノードは、プライベートネットワークに位置することを特徴とする請求項27に記載の方法。
【請求項34】
前記プライベートネットワークは、ファイアウォール及びネットワークアドレス変換器のうちの少なくとも一方を有することを特徴とする請求項33に記載の方法。
【請求項35】
前記終端ノードのIPベース識別子を、前記非IPベース通信技術を通じて前記通信要求を該終端ノードに送信するのに使用される該終端ノードの非IPベース識別子に前記送信元ノードによって変換する段階、
を更に含むことを特徴とする請求項27に記載の方法。
【請求項36】
終端ノードとの「インターネットプロトコル(IP)」接続を確立するためのコンピュータプログラム製品であって、
コンピュータ読取可能プログラムコード部分を格納した少なくとも1つのコンピュータ読取可能記憶媒体、
を含み、
前記コンピュータ読取可能プログラムコード部分は、
非IPベース通信技術を通じて送信元ノードから通信要求を終端ノードで受信することができる第1の実行可能部分と、
前記通信要求に応答して前記終端ノードによって前記送信元ノードとのIPベース通信を開始することができる第2の実行可能部分と、
を含む、
ことを特徴とする製品。
【請求項37】
前記非IPベース通信技術は、口頭伝達、電話技術、テキストメッセージング、無線周波数(RF)通信、ショートメッセージングサービス(SMS)通信、マルチメディアメッセージングサービス(MMS)通信、及びインスタントメッセージングを含む群から選択されることを特徴とする請求項36に記載のコンピュータプログラム製品。
【請求項38】
前記通信要求は、前記送信元ノードでのソケットのインターネットプロトコル(IP)アドレス及びポート番号を定めることを特徴とする請求項36に記載のコンピュータプログラム製品。
【請求項39】
前記通信要求の妥当性を該通信要求によって定められたセキュリティ情報を用いて前記終端ノードで検証することができる第3の実行可能部分、
を更に含むことを特徴とする請求項36に記載のコンピュータプログラム製品。
【請求項40】
前記終端ノードでのアプリケーション層と該終端ノードでのミドルウェア層との間に仮想サーバソケットを作成することができる第3の実行可能部分と、
前記送信元ノードでのアプリケーション層と該送信元ノードでのミドルウェア層との間に仮想クライアントソケットを作成することができる第4の実行可能部分と、
前記送信元ノードでの前記ミドルウェア層から前記終端ノードでの前記ミドルウェア層に前記非IPベース通信技術を通じて前記通信要求を送信することができる第5の実行可能部分と、
前記終端ノードでの前記ミドルウェア層と該終端ノードでのシステム層との間にクライアントソケットを作成することができる第6の実行可能部分と、
前記送信元ノードでの前記ミドルウェア層と該送信元ノードでのシステム層との間にサーバソケットを作成することができる第7の実行可能部分と、
を更に含み、
前記通信要求は、前記ミドルウェア層によって前記終端ノードで受信され、該通信要求は、前記送信元ノードでの前記サーバソケットのインターネットプロトコル(IP)アドレス及びポート番号を定め、前記IPベース通信は、該終端ノードでの該ミドルウェア層によって開始される、
ことを特徴とする請求項36に記載のコンピュータプログラム製品。
【請求項41】
前記終端ノードでの前記クライアントソケットによって接続成功メッセージを受信することができる第3の実行可能部分と、
前記終端ノードでの前記ミドルウェア層によって前記接続成功メッセージを受入成功メッセージに変換することができる第4の実行可能部分と、
前記終端ノードでの前記仮想ソケットで前記受入成功メッセージを受信することができる第5の実行可能部分と、
前記送信元ノードでの前記サーバソケットによって受入成功メッセージを受信することができる第6の実行可能部分と、
前記送信元ノードでの前記ミドルウェア層によって前記受入成功メッセージを接続成功メッセージに変換することができる第7の実行可能部分と、
前記送信元ノードでの前記仮想ソケットで前記接続成功メッセージを受信することができる第8の実行可能部分と、
を更に含むことを特徴とする請求項40に記載のコンピュータプログラム製品。
【請求項42】
前記送信元ノードは、公衆ネットワークに位置し、前記終端ノードは、プライベートネットワークに位置することを特徴とする請求項36に記載のコンピュータプログラム製品。
【請求項43】
前記プライベートネットワークは、ファイアウォール及びネットワークアドレス変換器のうちの少なくとも一方を有することを特徴とする請求項42に記載のコンピュータプログラム製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2008−547299(P2008−547299A)
【公表日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願番号】特願2008−517619(P2008−517619)
【出願日】平成18年6月8日(2006.6.8)
【国際出願番号】PCT/IB2006/001626
【国際公開番号】WO2006/136908
【国際公開日】平成18年12月28日(2006.12.28)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(398012616)ノキア コーポレイション (1,359)
【Fターム(参考)】