JP2010521883A - Nat接続状態キープアライブのコスト削減 - Google Patents

Nat接続状態キープアライブのコスト削減 Download PDF

Info

Publication number
JP2010521883A
JP2010521883A JP2009553671A JP2009553671A JP2010521883A JP 2010521883 A JP2010521883 A JP 2010521883A JP 2009553671 A JP2009553671 A JP 2009553671A JP 2009553671 A JP2009553671 A JP 2009553671A JP 2010521883 A JP2010521883 A JP 2010521883A
Authority
JP
Japan
Prior art keywords
keep
network
packet
alive
client
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.)
Granted
Application number
JP2009553671A
Other languages
English (en)
Other versions
JP4800424B2 (ja
JP2010521883A5 (ja
Inventor
ハーゾグ,シャイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010521883A publication Critical patent/JP2010521883A/ja
Publication of JP2010521883A5 publication Critical patent/JP2010521883A5/ja
Application granted granted Critical
Publication of JP4800424B2 publication Critical patent/JP4800424B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • H04W52/0229Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a wanted signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • H04L61/2553Binding renewal aspects, e.g. using keep-alive messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/25Maintenance of established connections
    • 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/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/02Inter-networking arrangements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

NATデバイスのためのキープアライブ処理、およびワイヤレス・クライアントにおける電力消費削減。サーバー駆動キープアライブ・メカニズムが、現在移動体クライアントに接続を提供しているNATデバイスへの、NAT状態をリフレッシュするためのキープアライブ・メッセージを容易にすることにより、キープアライブ・パケットで接続に応答するワイヤレス・デバイスにおける電力消費を低減または排除する。実例の1つでは、NATタイムアウト・タイマをリセットするために、キープアライブ・パケットをNATデバイスに送り、次いで移動体クライアントに送る。クライアントは、予期したキープアライブ・パケットがクライアントにおいて受信されないときにのみ応答する。別の実例では、接続を維持するためにキープアライブ・パケットがNATタイマをリセットするが、移動体クライアントに到達する前に、欠落させるか自己破壊することによって、移動体デバイスにおける最適な電力保存に備える。つまり、ワイヤレス・データーを送るまたは受信するために、クライアントを余分なクライアント活動に関与させることよってバッテリを枯渇させることはない。
【選択図】 図1

Description

従来技術
計算デバイスおよびネットワーキングの技術進歩により、広範囲にわたる種々の情報およびサービスへのアクセスが容易になり、事実上世界のどこからでもアクセスが可能になっている。しなければならない仕事は殆どの場所から行うことができるので、バーチャルオフィスが増々普及しつつある。例えば、居住者がネットワークにアクセスするために通信デバイスおよび/または計算デバイスを取得するに連れて、家庭用ネットワークが増々当たり前になっていく。同様に、会社(business)はイントラネット・サービスのために、ルータの背後にサブネットワークを採用する。ネットワーク・デバイス毎に別個のIPアドレスに加入する代わりに、ネットワーク・アドレス変換(NAT)と呼ばれる技法によって、ルータの背後にある複数のIPノードが1つの公衆IPアドレスを共有することが可能になる。言い換えると、未登録のIPアドレスの一集合をインターネット・ネットワーク・トラフィックのために用いることを可能にし、別のIPアドレス集合を外部または公衆トラフィックのために用いることを可能にする規格が設けられている。これによって、内部ネットワーク・アドレスを(例えば、インターネットを介しての)公衆アクセスから遮蔽することができる。
NATルータは、例えば、公衆ネットワークへの外側インターフェースと、内部ネットワーク即ちドメインへの内側インターフェースとを含む。パケットがドメインを離れるとき、NATデバイスはローカル・ソース・アドレスを、例えば、インターネット上で用いるための、一意のグローバル・アドレスに変換する。パケットがインターネットからドメインに入るとき、NATルータは一意のグローバル・アドレスをローカル・アドレスに変換する。ドメインの共有ノードがアウトバウンド・トラフィックを送るとき、NATはそのトラフィックを転送し、共有ノードのために逆マッピング・エントリを、アドレス・マッピングおよび/またはポート・マッピング・データーベースあるいはテーブルに作成する。この逆エントリは、ドメインに返送される応答を、正しい共有ノードにリダイレクトするために用いられる。
通例、NATデバイスは、マッピング状態に対して設定可能な(configurable)タイムアウト期間を有するタイムアウト・タイマを採用する。タイムアウト期間よりも長い間特定のエントリがインバウンド・トラフィックにもアウトバウンド・トラフィックにも用いられない場合、NATタイマが時間切れとなり、そのエントリを消去する。一旦エントリを消去すると、NATの背後にある共有ノードにはその接続を通じてもはや到達することができず、新たな接続を開始しなければならない(例えば、共有ノードによって)。NATタイマがタイム・アウトする(即ち、時間切れとなる)のを防止する共通のメカニズムに、「キープアライブ」または「ハートビード」処理として知られているものがある。キープアライブの下では、NATタイムアウト期間よりも短い間隔で、接続を通じて無駄なトラフィックを発生して、タイマをリセットし、これによって接続をアクティブに保持する。主要な電源にバッテリ電力を用いる携帯用デバイス(例えば、スマート・フォン)となると、従来のキープアライブ技法は、接続を生かしておくために、デバイスのバッテリ寿命を垂れ流しにし、多大なワイヤレス活動が生ずる。
以下には、本明細書において記載する新規な実施形態の一部について基本的な理解が得られるようにするために、簡略化した摘要を紹介する。この摘要は、広範な全体像ではなく、主要/必須な要素を特定することも、その範囲を正確に叙述することも意図していない。その唯一の目的は、後に紹介する更に詳細な説明に対する序文として、いくつかの概念を簡略化した形態で紹介することである。
開示するアーキテクチャは、サーバー駆動キープアライブ・メカニズムが、NAT状態をリフレッシュするために、現在クライアントに接続を提供するNATデバイスへのキープアライブ・メッセージを容易にする技法を提供する。したがって、例えば、ネットワーク上または私設ネットワーク内にあるバッテリ給電型移動体デバイスによる電力消費に伴うコストは、クライアントにキープアライブ・パケットを送信すること、または応答をすることを全く要求しないことによって、削減される。言い換えると、サーバーは、現在接続を提供しているNATデバイスに対するキープアライブ管理を容易にすることによって、ワイヤレス・デバイスにおける電力消費を低減または排除する。
方法の1つでは、NATタイムアウト・タイマをリセットするために、キープアライブ・パケットをNATに送り、次いで移動体クライアントに送る。クライアントは、予期したキープアライブ・パケットがクライアントにおいて受信されないときにのみ応答する。別の方法では、接続を維持するために、キープアライブ・パケットがNATタイマをリセットするが、移動体クライアントに到達する前に欠落させるかまたは自己破壊することにより、移動体デバイスにおいて最適な電力保存に備える。つまり、ワイヤレス・データーを送るまたは受信するために、クライアントを余分なクライアント活動に関与させることよってバッテリを枯渇させることはない。
更に別の実現例では、キープアライブ・サーバーがNATデバイスに質問し、NATデバイスのためにどの方法を採用するか決定する。加えて、接続の現在の振る舞いに基づいて、方法間で切り換えることにより、接続のキープアライブを管理することができる。
前述の目的および関連する目的の遂行のために、開示するアーキテクチャのある種の例示的態様について、本明細書では以下の説明および添付図面と関連付けて記載する。しかしながら、これらの態様は、本明細書に開示する原理を採用することができる種々の方法の内数個に過ぎず、そのような態様の全ておよびその均等物を含むことを意図している。他の利点や新規な特徴も、以下の詳細な説明を図面と合わせて考察することにより、明白となろう。
図1は、ネットワーク境界コンポーネントにおけるキープアライブ接続管理を容易にするコンピューター実装システムを示す。 図2は、ネットワーク境界コンポーネントにおいて通信接続を管理する方法を示す。 図3は、サーバーによるNATデバイスの質問に基づくタイプ検出および選択を採用する代替システムを示す。 図4は、複数のNATデバイス接続を管理するシステムを示す。 図5は、NATデバイスを用いて接続を維持する方法を示す。 図6は、NATデバイス、および内部デバイスのNACKを用いて接続を維持する方法を示す。 図7は、NATデバイスにおいてパケット寿命を終了させる方法を示す。 図8は、NATデバイスの処理能力に基づいて、キープアライブ・パケット処理を選択する方法を示す。 図9は、NATデバイスにおける接続の成功または失敗に基づいて、キープアライブ・パケットの使用間で切り換える方法を示す。 図10は、開示するアーキテクチャにしたがってキープアライブ・パケット処理を実行するように動作可能な計算システムのブロック図を示す。 図11は、開示するアーキテクチャによるキープアライブ・パケット処理に合わせた計算環境の一例の模式ブロック図を示す。
本アーキテクチャは、ネットワーク・アドレス変換(NAT)コンポーネント(例えば、NATデバイス)を通じて、外部ネットワーク(例えば、インターネット)と私設ネットワーク(例えば、家庭、イントラネット、移動体運営業者のネットワーク)の移動体対応バッテリ給電デバイス(例えば、セル・フォン、携帯用コンピューター)との間において、接続を生かしておく技法である。外部ネットワーク(例えば、サーバー)は、キープアライブ・パケットをNATコンポーネントに送ってタイマをリセットすることにより、NATコンポーネントを通じた接続を維持する。したがって、移動体対応デバイスは、接続を生かしたままにするために余分な電力やネットワーク・トラフィックを拡大する必要がなく、これによってデバイスの電力消耗やネットワーク・トラフィックに伴うコストを削減する。
一実現例では、キープアライブ・パケットは、NATコンポーネントを介して、移動体対応デバイスに受け渡される。デバイスがパケットを受信し損ねた場合ののみ、デバイスは、キープアライブ・パケットを送って接続を維持するために、外部ネットワークに応答する(例えば、NATコンポーネントを通じてまたはアウトオブバンド(OOB)シグナリングによって)。他の実施形態では、キープアライブ・パケットをNATコンポーネントのみに送り、移動体対応デバイスには送らない。パケットは、NATコンポーネントにおける使用の後、崩壊するかまたは欠落させられる。したがって、移動体対応デバイスはエネルギを全く拡張しない(expand)。
これより、図面を参照するが、全体を通じて同様の要素を指すために同様の参照番号を用いることとする。以下の記載では、説明の目的上、完全な理解が得られるようにするために、多数の具体的な詳細を明記する。しかしながら、新規な実施形態はこれら具体的な詳細がなくても実用可能であることは明白であろう。一方、周知の構造やデバイスは、その説明を容易にするために、ブロック図形態で示すこととする。
最初に図面を参照すると、図1は、ネットワーク境界コンポーネント102における接続管理を容易にするコンピューター実装システム100を示す。システム100は、別々のネットワーク間においてアドレスおよび/またはポートを変換する境界コンポーネント102を含む。境界コンポーネント102は、内部ネットワーク106(例えば、RFC1918において定義されるようなアドレスを有する内部ネットワーク106)の私設クライアント104と外部ネットワーク108(例えば、インターネット)との間における接続を容易にする。境界コンポーネント102は、例えば、ネットワーク・アドレス変換(NAT)デバイスまたはネットワーク・アドレス・ポート変換(NAPT)デバイスとすることができる。本明細書において用いる場合、NATはNATデバイスおよびNAPTデバイス双方に言及するために用いることとする。
また、システム100は、1つ以上の単一方向キープアライブ・パケットを境界コンポーネント102に送り、キープアライブ・パケットに基づいて私設クライアント104への接続を維持するために、外部ネットワーク108のネットワーク・キープアライブ・コンポーネント110(例えば、サーバー、ウェブ・サーバー、アプリケーション・サーバー)も含むことができる。言い換えると、ネットワーク・コンポーネント110から受信したキープアライブ・パケットのみを処理して、境界コンポーネント102のタイムアウト・タイマをリセットする。
代替実施形態では、ネットワーク・コンポーネント110から送られるキープアライブ・パケットは、境界コンポーネント102によって処理されるが、その後崩壊または自己破壊し、私設クライアント104が、パケットを処理するエネルギを拡張する必要がなくなるようにしている。しかしながら、私設クライアント104がキープアライブ・パケットの受信を期待するように構成する場合、それを受信しないことが、クライアント104が応答するきっかけとなり、それに応じて境界コンポーネント102および/またはキープアライブ・パケットを発行したネットワーク・コンポーネント110が反応する(例えば、再送するかまたは警告を発行する)ようにする。
従来の手法では、キープアライブ・メッセージは双方向であり(往復送信を行う)、メッセージはNATデバイス(例えば、境界コンポーネント102)に2回、即ち、1回目はクライアント(例えば、私設クライアント104)からサーバー(例えば、ネットワーク・コンポーネント110)、次いでサーバーからクライアントに「ヒットする」。しかしながら、これらのメッセージが接続に関連のあるしかるべき5−タプル(例えば、プロトコル番号、ソースIP、ソース・ポート、宛先IP、および宛先ポート)を反映する限り、大多数のNATデバイスは、インターネット(例えば、サーバー)から来る単一方向メッセージに基づいて、接続タイムアウト状態をリフレッシュする。これが意味するのは、キープアライブ・パケットの受信を確認するために、クライアントからの承認は不要であり、したがって、バッテリ給電型クライアントにおける電力消費が低減するということである。バッテリ寿命を保存するために、クライアントは、サーバー・キープアライブ・メッセージ(群)が受信されない場合に否定承認(NACK)を実行するが、キープアライブ・メッセージが受信されていれば、静観を保つ。
メカニズムの改良および進歩によって、クライアントが応答する必要性を全て排除することができる(例えば、受信、肯定承認、または否定承認の必要性を排除する)。ここでは、キープアライブ・サーバーは、NATデバイスを特定し(例えば、IPアドレスを通じて)、nTTL(生きている時間)を計算する。これはデバイスに到達するための最小TTLである(例えば、この値を計算する単純な方法は、クライアントによって送られたパケットの本来のTTLを、受信側サーバーが観察したTTLと比較することであり、ルートが対称的であると仮定すると、この値は、サーバーからクライアントに逆方向にパケットを配信するために必要なTTLを表す)。サーバーは、キープアライブ・メッセージ上のTTL値をnTTL−1に設定し、パケットがクライアントにヒットする前に、TTL=0によってパケットが欠落する可能性を高くする。インターネット・プロトコル(IP)では、パケットのTTL値によって、このパケットが欠落する前にどこまで進行すべきか(大まかなルータ数に関して)決定する。IPパケットをルータを通じて処理する毎に、TTL値を1だけ減分する。最終的に、TTL=0となったパケットが受信された場合、これは転送されない。TTLメカニズムは、古いまたは無用な「ゾンビ」パケットがネットワーク上において必要もなく循環することを防止する。
クライアントをあらゆる柵から除外することには、明確な利点がある。即ち、クライアントのバッテリ漏れがなく、キープアライブ・メッセージのための送信ビットが増加することは、クライアントがキープアライブ・メッセージの周波数に感応しないことも意味する。サーバーは、一層迅速にキープアライブ・メッセージを送り、全体的な復元力を改善することができる。
この手法では、NATリフレッシュ動作成功を確認する直接的なメカニズムがないが、有線ネットワークの信頼性は非常に高いので、クライアントからの承認の必要性は事実上ない。サーバーは、「ファイア・アンド・フォーゲット」モード(fire-and-forget mode)にしたがってキープアライブ・メッセージを送ることができる。これは、サーバーが最大NATタイムアウトよりも上にキープアライブの周波数を実質的に上昇させた場合の方が、一層該当する。尚、境界コンポーネント102を通じて(またはワイヤ上で)送られる実際のアプリケーション・データーが、接続状態の暗示的な確認としての役割を果たすことを注記しておく。更に、本明細書において記載するキープアライブ・メカニズムは、クライアント104が検出し処理するような、GPRS(総合パケット無線サービス)接続の逸失のような、一般的な接続障害をカバーする必要はない。
図2は、通信接続を管理する方法を示す。説明を簡単にする目的に合わせて、例えば、フロー・チャートまたは流れ図の形態で、ここに示す1つ以上の方法を一連の行為として示し説明するが、一部の行為は、本願によれば、ここに示し説明する順序とは異なる順序で、および/または他の行為と同時に行われてもよいのであるから、主題のアーキテクチャは、行為の順序によって限定されるのではないことは、言外であり認められてしかるべきである。例えば、1つの方法は、状態図におけるように、一連の相互に関連する状態またはイベントとして表すこともできることは、当業者には理解され認められるであろう。更に、1つの方法の図示する行為全てが、新規な実現例に必要ではない場合もある。
200において、外部ネットワークと内部ネットワークのワイヤレス・デバイスとの間に、ネットワーク境界コンポーネントを介して通信接続を確立する。202において、外部ネットワークからネットワーク境界コンポーネントに入るキープアライブ・パケットを受信する。204において、キープアライブ・パケットに基づいて、接続タイマをリセットする。206において、受信したキープアライブ・パケットに基づいて、当該キープアライブ・パケットを外部ネットワークから受信した場合にのみ、ネットワーク境界コンポーネントを経由した外部ネットワークとワイヤレス・デバイスとの間の接続を維持する。言い換えると、外部ネットワーク以外のソースからキープアライブ・パケットを受信する必要性はもはや全くない。これが意味するのは、従来のアーキテクチャにおけるように、キープアライブ・パケットを送出または返送するために、バッテリ電力のみに頼って動作するワイヤレス・デバイス(例えば、セル・フォン)を最大電力状態に移行させる必要がないということである。これによって、バッテリ電力を保存し、ネットワーク・トラフィックを削減する。
少なくとも2種類のキープアライブ・プロセスを実施することができる。第1タイプ(タイプ1)では、サーバーが私設クライアントにキープアライブ・パケットを送り、キープアライブ・パケットが受信されないときにのみ、クライアントが応答するようにする。第2タイプ(タイプ2)では、境界コンポーネントにおいてパケットを終端させる。
図3は、サーバー304によるNATデバイス302の質問に基づく、タイプ検出および選択を採用する代替システム300を示す。サーバー304は、NATデバイス302と通信し、そのタイプ・データー308を読み取るタイプ・コンポーネント306を含む。例えば、タイプ・データー308が、NATデバイスが第2タイプ(即ち、タイプ2)デバイスであることを示す場合、キープアライブ・パケットをNATデバイス302に送り、そしてこのようなパケットがクライアント104に送られないように終端する。タイプ2デバイスではない場合、サーバー304は自動的にタイプ1デバイスと特定し(default)、キープアライブ・パケットをサーバー304からNATデバイス302に送り、次いでクライアント104に送る。クライアント104が期待したパケットを受信し損ねた場合、クライアント104は、例えば、NACKをサーバー304に返送することによって応答する。すると、サーバー304は追加のキープアライブ・パケットを送る。
図4は、複数のNAT接続を管理するシステム400を示す。複数のバッテリ給電型移動体クライアント402(MOBILE CLIENT1、MOBILE CLIENT2、およびMOBILE CLIENT3で示す)が、NATを用いて私設ネットワークにおいて動作し、NATデバイス404を通じて外部ネットワーク(例えば、インターネットおよび関連するセルラ・ネットワーク)と通信する。公衆ネットワークにおけるサーバー406が、キープアライブ・パケットをサーバー接続コンポーネント408を通じてNATデバイス404に供給し、NATデバイス404を通じて動作している接続410(CONNECT1、CONNECT2、およびCONNECT3で示す)の内1つ以上を維持する。例えば、サーバー406はキープアライブ・パケット(KA)をNATデバイス404に送り、第1移動体クライアント414のために第1接続412を維持する。
この例では、第1接続412に向けた第1接続キープアライブ・パケットKAをサーバー406から、NATデバイス404を介して、第1移動体クライアント414に送ることができる。パケットを受信すると、NATデバイス404は、NATタイムアウト・コンポーネント405が、第1接続と関連付けられたタイムアウトを管理することによって、第1接続412を維持するように、パケットを処理する。第1クライアント414において、第1キープアライブ・パケットKAは、第1クライアント414によって受信されることが予期されている。第1クライアント414が、キープアライブ・パケットKAが受信されていないことを検出すると、第1クライアント414はNACKをNATデバイス404に送り、更にそこからサーバー406に送ることができ、第1キープアライブ・パケットKAが受信されていないことを示す。すると、サーバー接続コンポーネント408は、キープアライブ・パケットKAが第1接続412を通じて送られていることを確認することができる。図示のように、第1移動体クライアント414は、NATデバイス404(例えば、ワイヤレス・ルータまたはゲートウェイ)とワイヤレスで動作している。
NATデバイス404は、第2キープアライブ・パケット(KA)を受信することによって、第2移動体クライアント418に対する第2接続416を維持する。パケットを受信すると、NATデバイス404は、NATタイムアウト・コンポーネント405が、第2接続416と関連付けられているタイムアウトを管理することにより、第2接続416を維持するように、パケットを処理する。第2パケットKAを、結び付けられた接続(例えば、USB−ユニバーサル・シリアル・バス)を通じて、第2クライアント418に転送する。これが無電力接続であり、クライアントの電源を充電も給電もしない場合、バッテリ電力保存が望まれる。第2クライアント418が、キープアライブ・パケットKAが受信されていないことを検出すると、第2クライアント418はNACKをNATデバイス404に送り、そこからサーバー406に送ることができ、第2キープアライブ・パケットKAが受信されていないことを示す。すると、サーバー接続コンポーネント408は、キープアライブ・パケットKAが第2接続416を通じて送られていることを確認することができる。図示のように、第2移動体クライアント418は、繋ぎ網(tether)を通じて通信し、その上オンボード電源によって給電を受ける。
NATデバイス404は、第3キープアライブ・パケット(KA)を受信することによって、第3移動体クライアント422に対する第3接続420を維持する。パケットを受信すると、NATデバイス404は、NATタイムアウト・コンポーネント405が第3接続620と関連付けられているタイムアウトを管理することにより、第3接続420を維持するように、パケットを処理する。第3パケットKAを、ワイヤレス接続を通じて第3クライアント422に転送する。第3クライアント422が、第3キープアライブ・パケットKAが受信されていないことを検出すると、第3クライアント422はNACKをNATデバイス404に送り、そこからサーバー406に送ることができ、第3キープアライブ・パケットKAが受信されていないことを示す。すると、サーバー接続コンポーネント408は、第3キープアライブ・パケットKAが第3接続420を通じて送られていることを確認することができる。ここで、第3キープアライブ・パケットKAをNATデバイス404から第3クライアント422に転送する。NATデバイス404は、私設ネットワーク・インターフェースにおいてパケットKAを終端させ(即ち、欠落させるかまたは自己破壊する)、第3クライアント422がパケットKAを受信するのを妨げるように、受信した第3機0プアライブ・パケットKAを処理する。そのサポートのために、NATデバイス404は、私設ネットワーク・インターフェースにおけるキープアライブ・パケットのnTTL値(タイムアウト・コンポーネント405をリセットした後)を、パケットがNATデバイスから出立し第3移動体クライアント422に到達する前に欠落させる値に自動的に減分するように構成することができる(例えば、ソフトウェアで)。
尚、1つのサーバー、即ち、サーバー406のみを示すが、複数のサーバーを採用し、各々がキープアライブ・パケットを対応する接続に送り、NATデバイスの状態を維持することも可能であることは言うまでもない。例えば、第1キープアライブ・サーバーは、第1接続412の状態を維持するためにパケットを送ることができ、第2キープアライブ・サーバーは、第2接続416の状態を維持するためにNATデバイスにパケットを送ることができる。
図5は、NATデバイスを用いて接続を維持する方法を示す。500において、NATデバイスを介して、外部ネットワークと内部ネットワークの内部デバイスとの間にIP接続を確立する。502において、NATデバイスにおいて外部ネットワークからのキープアライブ・パケットを受信する。504において、NATデバイスにおける接続タイマを、キープアライブ・パケットの各受信および処理に応じてリセットする。506において、キープアライブ・パケットを内部デバイスに転送する。508において、外部ネットワークから受信したキープアライブ・パケットの場合にのみ、その受信に基づいて、NATデバイスにおいて接続を維持する。
図6は、NATデバイスと内部デバイスのNACKとを用いて接続を維持する方法を示す。600において、外部ネットワークと内部ネットワークの内部デバイスとの間に、NATデバイスを介してIP接続を確立する。内部デバイスはバッテリの電力で動作する。602において、NATデバイスにおいて外部ネットワークからキープアライブ・パケットを受信する。604において、キープアライブ・パケットの各受信および処理に応じて、NATデバイスにおける接続タイマをリセットする。606において、キープアライブ・パケットを内部デバイスに転送する。608において、キープアライブ・パケットが受信されていない場合にのみ、内部デバイスがNACKを送る。610において、外部ネットワークは、NACKに基づいて、キープアライブ・パケットをNATデバイスに送る。612において、キープアライブ・パケットが外部ネットワークから来た場合にのみ、そのキープアライブ・パケットの受信に基づいてNATデバイスにおいて接続を維持する。
図7は、NATデバイスにおいてパケット寿命を終了させる方法を示す。700において、キープアライブ機能性を有する外部サーバーが、NATデバイスのIPアドレスを特定する。702において、サーバーはNATデバイスに対するTTLを計算する。704において、サーバーはTTLを含むように、パケットのキープアライブ時間を設定する(configure)。706において、通信サーバーと内部ネットワークの移動体デバイスとの間で、NATデバイスを介して通信接続を確立する。708において、サーバーは、接続を維持するために、キープアライブ・パケットをNATデバイスに送る。710において、NATデバイスは受信した各キープアライブ・パケットのNATタイマをリセットし、パケットが移動体クライアントに到達する前に、パケットを欠落または終了させる。712において、キープアライブ・パケットを外部サーバーから受信した場合にのみ、その受信に基づいて、NATデバイスにおいて接続を維持する。
図8は、NATデバイスの処理能力に基づいてキープアライブ・パケット処理を選択する方法を示す。800において、サーバーは内部移動体デバイスに対する通信要求を受信する。802において、サーバーは、関連するNATデバイスを特定し、デバイス・タイプ(または処理能力)について照会する。804においって、NATタイプに基づいて、サーバーはキープアライブ・パケットを作成し送る。806において、NATデバイスはしかるべくパケットを処理することによって、NATデバイスにおいて接続を維持する。
図9は、NATデバイスにおける接続の成功または失敗に基づいて、パケット使用間で切り換える方法を示す。900において、サーバーは内部移動体デバイスに対する通信要求を受信する。902において、サーバーは関連するNATデバイスを特定し、そのデバイスにNATタイプについて照会する(例えば、タイプ1にはパケット通過、および/またはタイプ2には自己破壊パケット)。904において、NATタイプ(または処理能力)に基づいて、サーバーは移動体デバイス上における最適バッテリ保存のために、強化パケット・タイプ(タイプ2自己破壊パケット)を選択し、そして自己破壊キープアライブ・パケットを作成し送る。906において、NATデバイスは、その接続に合わせてパケットを相応に処理する。908において、サーバーは接続を監視し、障害接続活動に基づいて、標準的パケット・タイプ(タイプ1)に落とす。910において、標準的パケット・タイプに基づいて、接続を処理し、NATデバイスを介してパケットを移動体クライアントに受け渡す。クライアントがパケットを受信し損ねた場合、クライアントは、サーバーにキープアライブ・パケットを送り続けるように連絡する。
本願で用いる場合、「コンポーネント」および「システム」という用語は、コンピューター関連エンティティを指すことを意図しており、ハードウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、または実行中ソフトウェア(software in execution)のいずれでもよい。例えば、コンポーネントは、プロセッサー上で走るプロセス、プロセッサー、ハード・ディスク・ドライブ、(光および/または磁気記憶媒体の)多数の記憶装置、オブジェクト、エクゼキュータブル、実行スレッド、プログラム、および/またはコンピューターとすることができるが、これらに限定されるのではない。例示として、サーバー上で走るアプリケーションおよびそのサーバー双方共、コンピューター・コンポーネントであることができる。1つ以上のコンポーネントは、プロセスおよび/または実行スレッド内部に位置することができ、コンポーネントは1つのコンピューターに集中する(localize)ことおよび/または2つ以上のコンピューター間で分散することもできる。
これより図10を参照すると、開示したKAアーキテクチャにしたがってキープアライブ・パケット処理を実行するように動作可能な計算システム1000のブロック図が示されている。計算システム1000は、NATデバイス状態を維持するためにキープアライブ・パケットを発行するキープアライブ・サーバーとして機能することができ、例えば、NATがタイプ1またはタイプ2処理を扱うことができるか否か判断するためにNAT質問を行い、NATタイプ間で切換を行う。以上の実施形態の種々の態様を実施するために追加の文脈を提示するために、図10および以下の論述は、実施形態の種々の態様を実施することができる、適した計算環境1000の端的な総合的な説明を行うことを意図している。以上の説明は、1つ以上のコンピューター上で走るコンピューター・プログラムのコンピューター実行可能命令という一般的な文脈におけるものであったが、他のプログラム・モジュールとの組み合わせでも、および/またはハードウェアとソフトウェアとの組み合わせでも新規な実施形態を実現できることは、当業者には認められよう。
一般に、プログラム・モジュールは、ルーチン、プログラム、コンポーネント、データー構造等を含み、特定のタスクを実行するか、または特定の抽象的データー・タイプを実現する。更に、当業者には、本発明の方法は他のコンピューター・システム構成でも実用化可能であることが認められよう。他のコンピューター・システム構成には、単一プロセッサーまたはマルチプロセッサー・コンピューター・システム、ミニコンピューター、メインフレーム・コンピューター、ならびにパーソナル・コンピューター、ハンド・ヘルド計算デバイス、マイクロプロセッサー主体消費者用電子機器および/またはプログラマブル消費者用電子機器等が含まれ、これらの各々は1つ以上の関連するデバイスと動作的に結合することができる。
また、図示した実施形態の態様は、通信ネットワークを通じてリンクされているリモート処理デバイスがタスクを実行する分散型計算機環境においても実用可能である。分散型計算環境では、プログラム・モジュールは、ローカルおよびリモート記憶媒体双方に配することができる。
コンピューターは、通例、種々のコンピューター読み取り可能媒体を含む。コンピューター読み取り可能媒体は、コンピューターがアクセス可能な入手可能な媒体であればいずれでも可能であり、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。限定ではない一例をあげると、コンピューター読み取り可能媒体は、コンピューター記憶媒体および通信媒体を含むと考えられる。コンピューター記憶媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、またはその他のデーターというような情報の格納のために、あらゆる方法または技術で実施される、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。コンピューター記憶媒体は、RAM、ROM、EEPROM、フラッシュ・メモリーまたはその他のメモリー技術、CD−ROM、ディジタル・バーサタイル・ディスク(DVD)またはその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができしかもコンピューターがアクセス可能なその他のいずれの媒体も含むが、これらに限定されるのではない。
再度図10を参照すると、種々の態様を実施するための計算システム例1000は、コンピューター1002を含む。コンピューター1002は、処理ユニット1004、システム・メモリー1006、およびシステム・バス1008を含むことができる。システム・バス1008は、システム・メモリー1006を含むがこれに限定されないシステム・コンポーネントのために、処理ユニット1004に対するインターフェースを設ける。処理ユニット1004は、市販されている種々のプロセッサーのいずれでもよい。また、二重マイクロプロセッサーやその他のマルチプロセッサー・アーキテクチャも処理ユニット1004として用いることもできる。
システム・バス1008は、数種類のバス構造のいずれでもよく、更に、(メモリー・コントローラを有するまたは有さない)メモリー・バス、周辺バス、ならびに種々の従来のバス・アーキテクチャのいずれかを用いるローカル・バスを含む。システム・メモリー1006は、リード・オンリ・メモリー(ROM)1010およびランダム・アクセス・メモリー(RAM)1012を含む。ROM、EPROM、EEPROM、のような不揮発性メモリー1010に、基本入出力システム(BIOS)が格納されており、BIOSは、起動中のように、コンピューター1002内のエレメント間における情報転送を補助する基本的なルーチンを含む。また、RAM1012は、データーをキャッシュするスタティックRAMのような、高速RAMも含むことができる。
また、コンピューター1002は、更に、内部ハード・ディスク・ドライブ(HDD)1014(例えば、EIDE STATE)も含み、内部ハード・ディスク・ドライブ1014は適したシャーシ(図示せず)において外部の使用に合わせて構成することができる。更に、磁気フロッピ・ディスク・ドライブ(FDD)1016(例えば、リムーバブル・ディスケット1018からの読み取りおよびこれへの書き込みを行なう)、および光ディスク・ドライブ1020(CD−ROMディスク1022を読み取る、あるいはDVDのようなその他の大容量光学媒体からの読み取りおよびこれへの書き込みを行なう)も含む。ハード・ディスク・ドライブ1014、磁気ディスク・ドライブ1016、および光ディスク・ドライブ1020は、ハードウェア・ディスク・ドライブ・インターフェース1024、磁気ディスク・ドライブ・インターフェース1026、および光ドライブ・インターフェース1028によって、それぞれ、システム・バス1008に接続されている。外部ドライブ用インターフェース1024は、ユニバーサル・シリアル・バス(USB)およびIEEE1394インターフェース技術の少なくとも一方または双方を含む。
前述のドライブおよびそれらと関連のあるコンピューター読み取り可能媒体は、データー、データー構造、コンピューター実行可能命令等の不揮発性格納を行う。コンピューター1002のために、ドライブおよび媒体はあらゆるデーターの適したディジタル・フォーマットでの格納に対処する。以上のコンピューター読み取り可能媒体の説明は、HDD、リムーバブル磁気ディスケット、およびCDまたはDVDのようなリムーバブル光媒体に言及したが、zipドライブ、磁気カセット、フラッシュ・メモリー・カード、カートリッジ等のような、コンピューターによる読み取りが可能な他の種類の媒体も、動作環境例において用いることができ、更に、このような媒体はいずれも、開示した方法を実行するためのコンピューター実行可能命令を収容することができることは、当業者には認められてしかるべきである。
多数のプログラム・モジュールを前述のドライブおよびRAM1012に格納することができ、オペレーティング・システム1030、1つ以上のアプリケーション・プログラム1032、その他のプログラム・モジュール1034、およびプログラム・データー1036を含む。オペレーティング・システム、アプリケーション、モジュール、および/またはデーターの全部または一部は、RAM1012にキャッシュすることもできる。尚、本アーキテクチャは、種々の市販のオペレーティング・システムまたはオペレーティング・システムの組み合わせとでも実現できることは認められてしかるべきである。モジュールは、例えば、図3のタイプ・コンポーネント306、および図4の接続コンポーネント404を含むことができる。
ユーザは、1つ以上の有線/ワイヤレス入力デバイス、例えば、キーボード1038およびマウス1040のようなポインティング・デバイスによって、コマンドおよび情報をコンピューター1002に入力することができる。他の入力デバイス(図示せず)には、マイクロフォン、IRリモート・コントロール、ジョイスティック、ゲーム・パッド、スタイラス・ペン、タッチ・スクリーン等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、システム・バス1008に結合されている入力デバイス・インターフェース1042を通じて、処理ユニット1004に接続されているが、パラレル・ポート、IEEE1394シリアル・ポート、ゲーム・ポート、USBポート、IRインターフェース等のようなその他のインターフェースによって接続することも可能である。
モニタ1044またはその他の形式の表示装置も、ビデオ・アダプター1046のようなインターフェースを介して、システム・バス1008に接続されている。モニタ1044に加えて、コンピューターは、スピーカーおよびプリンター等のような、その他の周辺出力装置(図示せず)も含むのが通例である。
尚、コンピューター1002は、論理接続を用いて、リモート・コンピューター1048のような1つ以上のリモート・コンピューターへの有線接続および/またはワイヤレス接続を通じて、ネットワーク環境において動作することも可能である。リモート・コンピューター1048は、ワークステーション、サーバー・コンピューター、ルータ、パーソナル・コンピューター、携帯コンピューター、マイクロプロセッサー主体の娯楽機器、ピア・デバイス、またはその他の共通コンピューター・ノードとすればよく、通例、コンピューター1002に関して先に説明したエレメントの多くまたは全てを含むが、簡略化の目的に沿って、メモリー/記憶装置1050のみを示す。図示する論理接続は、ローカル・エリア・ネットワーク(LAN)1052および/またはそれよりも大きなネットワーク、例えば、ワイド・エリア・ネットワーク(WAN)1054への有線/ワイヤレス接続を含む。このようなLANおよびWANネットワーク環境は、事務所や会社では珍しくなく、イントラネットのような企業全体に及ぶコンピューター・ネットワークが容易にでき、その全ては、大域通信ネットワーク、例えば、インターネットに接続することができる。
LANネットワーキング環境で用いる場合、コンピューター1002は、有線および/またはワイヤレス通信ネットワーク・インターフェースあるいはアダプター1056を介してローカル・ネットワーク1052に接続する。アダプター1056は、LAN1052への有線またはワイヤレス通信を容易にすることができ、LAN1052は、ワイヤレス・アダプター1056と通信するために配置したワイヤレス・アクセス・ポイントも含むことができる。
WANネットワーキング環境で用いる場合、コンピューター1002は、モデム1058を含むことができ、あるいはWAN1054上にある通信サーバーに接続し、あるいはインターネットによってというように、WAN1054上で通信を確立するその他の手段を有する。モデム1058は、内部または外部でも可能であり、更に優先デバイスでもワイヤレス・デバイスでもよく、シリアル・ポート・インターフェース1042を介してシステム・バス1008に接続する。ネットワーク環境では、コンピューター1002に関して図示したプログラム・モジュールまたはその一部を、リモート・メモリー/記憶装置1050に格納することができる。尚、図示のネットワーク接続は一例であり、コンピューター間で通信リンクを確立する他の手段も使用可能であることは認められよう。
コンピューター1002は、ワイヤレス通信内に動作的に配置されているあらゆるワイヤレス・デバイスまたはエンティティ、例えば、プリンター、スキャナー、デスクトップおよび/または携帯コンピューター、携帯データー・アシスタント、通信衛星、ワイヤレスで検出可能なタグと関連付けられた機器または場所(例えば、キオスク、新聞売店、休憩室)の任意のもの、そして電話機と通信するように動作可能である。これには、少なくともWi−FiおよびBluetooth(商標)ワイヤレス技術が含まれる。つまり、通信は、従来のネットワークのように、既定の構造とすることができ、あるいは単に少なくとも2つのデバイス間におけるその場限りの通信とすることもできる。
これより図11を参照すると、開示したアーキテクチャによるキープアライブ・パケット処理に合わせた計算環境1100の一例の模式ブロック図が示されている。システム1100は、1つ以上のクライアント(群)1102を含む。クライアント(群)1102は、ハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、計算デバイス)とすることができる。クライアント(群)1102は、例えば、クッキー(群)および/または関連する文脈情報を収容することができる。
また、システム1100は、1つ以上のサーバー(群)1104も含む。サーバー1104も、ハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、計算デバイス)とすることができる。サーバー1104は、例えば、本アーキテクチャを採用することにより、変換を実行するスレッドを収容することができる。クライアント1102とサーバー1104との間で可能な1つの通信は、2つ以上のコンピューター・プロセス間で送信するように構成したデーター・パケットの形態とすることができる。データー・パケットは、例えば、クッキーおよび/または関連する文脈情報を含むことができる。システム1100は、クライアント1102とサーバー1104との間における通信をし易くするために用いることができる通信フレームワーク1106(例えば、インターネットのような大域通信ネットワーク)を含む。
通信は、有線(光ファイバを含む)および/またはワイヤレス技術によって促進することができる。クライアント(群)1102は、クライアント(群)1102に対してローカルな情報(例えば、クッキーおよび/または関連する文脈情報)を格納するために用いることができる1つ以上のクライアント・データー・ストア(群)1108に動作的に接続されている。同様に、サーバー(群)1104も、サーバー1104に対してローカルな情報を格納するために用いることができる1つ以上のサーバー・データー・ストア(群)1110に動作的に接続されている。
クライアント1102は、セル・フォン、スマート・フォン、携帯用コンピューター等のような、有線および/またはワイヤレス移動体対応クライアントを含むことができる。通信フレームワーク1106は、インターネットだけでなく、クライアント1102が通信することを望むセルラ・ネットワークも含むことができる。
以上説明したことは、開示したアーキテクチャの例を含む。勿論、コンポーネントおよび/または方法論の想起し得る全ての組み合わせを記載することは可能ではないが、実施形態の更に別の多くの組み合わせおよび変形も可能であることは、当業者には認められよう。したがって、本主題は、添付した特許請求の範囲の主旨および範囲に該当するこのような変更、修正、および変形を全て包含することを意図している。更に、「含む」(include)という用語が詳細な説明または特許請求の範囲のいずれかにおいて用いられる限りでは、特許請求の範囲において「備えている」(comprising)が移行句(transitional word) として用いられているときに解釈する際の「備えている」と同様に、このような用語は、包含的であることを意図している。

Claims (20)

  1. 接続管理を容易にするコンピューター実装システム(100)であって、
    内部ネットワークの私設クライアントと外部ネットワークとの間において接続を維持する境界コンポーネント(102)と、
    前記境界コンポーネントにキープアライブ・パケットを送る、前記外部ネットワークのネットワーク・コンポーネント(104)であって、前記キープアライブ・パケットに基づいて前記私設クライアントに対する前記接続を維持する、境界コンポーネントと、
    を備えた、コンピューター実装システム。
  2. 請求項1記載のシステムにおいて、前記ネットワーク・コンポーネントは、キープアライブ・タイムアウト・カウンタをリセットするために、前記キープアライブ・パケットを前記境界コンポーネントに送る、前記外部ネットワークのサーバーである、システム。
  3. 請求項1記載のシステムにおいて、前記私設クライアントは、前記キープアライブ・パケットを受信した後、前記ネットワーク・コンポーネントに応答しない、システム。
  4. 請求項1記載のシステムにおいて、前記私設クライアントは、前記キープアライブ・パケットが前記私設クライアントにおいて受信されないときに、前記ネットワーク・コンポーネントに応答する、システム。
  5. 請求項1記載のシステムにおいて、前記境界コンポーネントは、前記パケットが前記私設クライアントに到達し損ねるように、前記キープアライブ・パケットを欠落させる、システム。
  6. 請求項1記載のシステムにおいて、前記私設クライアントは、移動体クライアントまたはワイヤレス計算デバイスである、システム。
  7. 請求項1記載のシステムにおいて、前記境界コンポーネントは、前記外部ネットワークのIPアドレスを前記内部ネットワークの内部IPアドレスに変換するネットワーク・アドレス変換を含む、システム。
  8. 請求項1記載のシステムにおいて、前記境界コンポーネントは、前記ネットワーク・コンポーネントからのみキープアライブ・パケットを受信する、システム。
  9. 請求項1記載のシステムにおいて、前記ネットワーク・コンポーネントが送るキープアライブ・パケットは、プロトコル番号、ソースIPアドレス、ソース・ポート番号、宛先IPアドレス、および宛先ポート番号を含む、システム。
  10. 請求項1記載のシステムにおいて、前記ネットワーク・コンポーネントは、IP対応セル・フォンである前記ワイヤレス・デバイスに対する通信を容易にする通信サーバーであり、前記通信サーバーは、前記境界コンポーネントに、強化キープアライブ・パケット処理能力について質問する、システム。
  11. 通信接続を管理するコンピューター実装方法であって、
    外部ネットワークと内部ネットワークのワイヤレス・デバイスとの間に、ネットワーク境界デバイスを介してIP接続を確立するステップ(200)と、
    前記外部ネットワークから前記ネットワーク境界コンポーネントに入るキープアライブ・パケットを受信するステップ(202)と、
    前記キープアライブ・パケットを受信したときに、接続タイマをリセットするステップ(204)と、
    前記外部ネットワークからのみの前記キープアライブ・パケットの受信に基づいて、前記外部ネットワークと前記ワイヤレス・デバイスとの間に、前記ネットワーク境界コンポーネントを介してIP接続を維持するステップと、
    を備えた、コンピューター実装方法。
  12. 請求項11記載の方法であって、更に、前記ワイヤレス・デバイスにおいて前記キープアライブ・パケットを受信しない場合、前記ワイヤレス・デバイスからの応答を受信するステップを備えた、方法。
  13. 請求項11記載の方法であって、更に、前記ネットワーク境界デバイスへの前記キープアライブ・パケットの移行時間に基づいて、存続時間(TTL)を計算し、前記パケットを欠落させるために前記TTL値を前記キープアライブ・パケットの中に設定するステップを備えた、方法。
  14. 請求項11記載の方法であって、更に、NTTL値を含むように、前記キープアライブ・パケットを設定するステップを備えており、前記NTTL値は、前記ネットワーク境界コンポーネントによって処理されると、前記ワイヤレス・デバイスが前記キープアライブ・パケットを受信しないように、前記境界コンポーネントにおいて前記キープアライブ・パケットを終了させる、方法。
  15. 請求項11記載の方法であって、更に、前記キープアライブ・パケットが前記ワイヤレス・クライアントに到達する前にこれを欠落させる強化キープアライブ・パケット処理を、NATルータである前記ネットワーク境界コンポーネントが扱うことができるか否か判断するために、前記ネットワーク境界コンポーネントに質問するステップを備えた、方法。
  16. 請求項11記載の方法であって、更に、強化キープアライブ・パケット処理モードの利用に基づいて、前記ネットワーク境界コンポーネントのIP接続を監視し、接続状態の品質低下に基づいて、標準的キープアライブ・パケット処理モードに自動的に変更するステップを備えた、方法。
  17. 請求項11記載の方法であって、更に、対応する接続の状態を維持するために、前記外部ネットワークからキープアライブ・パケットを受信することによって、前記境界コンポーネントの複数の接続を同時に管理するステップを備えた、方法。
  18. 公衆ネットワークと、私設ネットワークの移動体クライアントとの間においてIP接続を確立する手段(604)と、
    前記IP接続を確立するために、キープアライブ・パケットを前記手段(604)に送る手段(606)と、
    前記キープアライブ・パケットが受信されたときに、接続タイマをリセットする手段(605)と、
    キープアライブ・パケットを送る前記手段(606)からのみのキープアライブ・パケットの受信に基づいて、前記IP接続を確立する前記手段(604)を介して、前記外部ネットワークと前記移動体クライアントとの間に前記IP接続を維持する手段(608)と、
    を備えた、システム。
  19. 請求項18記載のシステムであって、更に、前記移動体クライアントに到達する前に、終了するように前記キープアライブ・パケットを構成する手段を備えた、システム。
  20. 請求項18記載のシステムにおいて、前記移動体クライアントは、キープアライブ・パケットが受信されないとき、否定承認を送る、システム。
JP2009553671A 2007-03-12 2008-02-21 Nat接続状態キープアライブのコスト削減 Active JP4800424B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/716,929 US8023432B2 (en) 2007-03-12 2007-03-12 Cost reduction of NAT connection state keep-alive
US11/716,929 2007-03-12
PCT/US2008/054486 WO2008112396A1 (en) 2007-03-12 2008-02-21 Cost reduction of nat connection state keep-alive

Publications (3)

Publication Number Publication Date
JP2010521883A true JP2010521883A (ja) 2010-06-24
JP2010521883A5 JP2010521883A5 (ja) 2011-08-04
JP4800424B2 JP4800424B2 (ja) 2011-10-26

Family

ID=39759888

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009553671A Active JP4800424B2 (ja) 2007-03-12 2008-02-21 Nat接続状態キープアライブのコスト削減

Country Status (7)

Country Link
US (2) US8023432B2 (ja)
EP (1) EP2119132B1 (ja)
JP (1) JP4800424B2 (ja)
KR (1) KR101292349B1 (ja)
CN (1) CN101632269B (ja)
TW (1) TWI393388B (ja)
WO (1) WO2008112396A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014504066A (ja) * 2010-11-18 2014-02-13 クアルコム,インコーポレイテッド ワイヤレス通信システム内でのモバイル通信デバイスに代わるキープアライブパケットの送信
JP2014179787A (ja) * 2013-03-14 2014-09-25 Kddi Corp Keep−Aliveパケット送信装置、端末装置、Keep−Alive制御システム、Keep−Aliveパケット送信方法およびコンピュータプログラム
WO2015177924A1 (ja) * 2014-05-23 2015-11-26 三菱電機株式会社 通信装置及び通信方法及びプログラム
KR102123831B1 (ko) * 2018-12-31 2020-06-17 주식회사 케이아이씨텍 킵 얼라이브 트렁킹을 통한 외부망에서의 내부망 접속 방법 및 그 장치

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1946062A (zh) * 2006-10-10 2007-04-11 华为数字技术有限公司 保活nat设备中会话表项的方法和系统
US8477811B2 (en) * 2008-02-02 2013-07-02 Qualcomm Incorporated Radio access network (RAN) level keep alive signaling
US7856506B2 (en) * 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US9521625B2 (en) * 2008-09-15 2016-12-13 Apple Inc. Electronic devices for receiving pushed data
US8924486B2 (en) 2009-02-12 2014-12-30 Sierra Wireless, Inc. Method and system for aggregating communications
WO2010054471A1 (en) 2008-11-17 2010-05-20 Sierra Wireless, Inc. Method and apparatus for network port and network address translation
US8228848B2 (en) * 2008-11-17 2012-07-24 Sierra Wireless, Inc. Method and apparatus for facilitating push communication across a network boundary
US7978630B2 (en) * 2009-04-30 2011-07-12 Sony Ericsson Mobile Communications Ab Method and system of maintaining a connection in a network communication system
US8375134B2 (en) * 2009-06-08 2013-02-12 Microsoft Corporation Determining an efficient keep-alive interval for a network connection
US9313800B2 (en) * 2009-06-23 2016-04-12 Nokia Technologies Oy Method and apparatus for optimizing energy consumption for wireless connectivity
US8887310B2 (en) * 2009-11-19 2014-11-11 Motorola Mobility Llc Secure consumer programming device
US9143428B1 (en) 2010-03-22 2015-09-22 Sprint Communications Company L.P. Keep-alive message integration over a wireless communication network
WO2011153693A1 (zh) * 2010-06-09 2011-12-15 北京和信锐智科技有限公司 保持网络nat绑定的方法
US9098279B2 (en) * 2010-09-14 2015-08-04 Google Inc. Methods and systems for data interchange between a network-connected thermostat and cloud-based management server
US9046898B2 (en) 2011-02-24 2015-06-02 Google Inc. Power-preserving communications architecture with long-polling persistent cloud channel for wireless network-connected thermostat
KR20120076859A (ko) * 2010-12-30 2012-07-10 삼성전자주식회사 휴대단말에서 킵 얼라이브 패킷 동기화 방법 및 장치
US9037724B2 (en) 2011-02-08 2015-05-19 Sierra Wireless, Inc. Method and system for forwarding data between network devices
WO2012110103A1 (en) 2011-02-18 2012-08-23 Birdstep Technology Method, gateway, and client for optimizing keep-alive message handling
US8667513B1 (en) 2011-03-29 2014-03-04 Sprint Communications Company L.P. Dormancy timer adjustment in a wireless access node based on wireless device application status
CN103503555A (zh) * 2011-05-03 2014-01-08 诺基亚公司 用于保持活动信号发送的方法和设备
WO2012151692A1 (en) * 2011-05-06 2012-11-15 Sierra Wireless, Inc. Method and apparatus for management of network communications
US9232560B2 (en) * 2011-08-26 2016-01-05 Open Invention Network, Llc Mobile wide area network IP translation configuration
US8892710B2 (en) 2011-09-09 2014-11-18 Microsoft Corporation Keep alive management
US8806250B2 (en) 2011-09-09 2014-08-12 Microsoft Corporation Operating system management of network interface devices
US9049660B2 (en) 2011-09-09 2015-06-02 Microsoft Technology Licensing, Llc Wake pattern management
CN102870445B (zh) * 2012-06-20 2016-09-28 华为技术有限公司 一种识别网络共享行为的方法、节点、移动终端及系统
CN103516700A (zh) * 2012-06-29 2014-01-15 联想(北京)有限公司 一种发送数据包的方法及终端设备
US9756089B2 (en) * 2012-08-28 2017-09-05 Facebook, Inc. Maintain persistent connections between servers and mobile clients
US9577791B2 (en) 2012-12-05 2017-02-21 Intel Corporation Notification by network element of packet drops
US9504026B2 (en) 2012-12-13 2016-11-22 Nokia Technologies Oy Keep alive periodicity determination for WiFi networks
US8989017B2 (en) * 2012-12-14 2015-03-24 Intel Corporation Network congestion management by packet circulation
US9203906B2 (en) * 2013-06-30 2015-12-01 Vonage Network, Llc Systems and methods for enabling data communications to a telephony device
CN104348522B (zh) * 2013-07-23 2016-09-21 普天信息技术研究院有限公司 一种适用于低功耗蓝牙设备的心跳保持的方法
US9226141B1 (en) 2013-11-04 2015-12-29 Sprint Communications Company L.P. Identifying unsubscribed tethering in a wireless network
WO2015075763A1 (ja) * 2013-11-21 2015-05-28 富士通株式会社 情報処理システム、情報処理装置、及びデータ通信方法
US9912636B1 (en) * 2013-11-29 2018-03-06 8X8, Inc. NAT traversal in VoIP communication system
US20150341858A1 (en) * 2014-05-21 2015-11-26 Qualcomm Incorporated Apparatus, methods, and computer program products providing power savings in sps-configured volte with c-drx
TWI555357B (zh) 2014-07-04 2016-10-21 Throughtek Technology Shenzhen Co Ltd Effectively maintain the NAT channel service method
WO2016032532A1 (en) * 2014-08-29 2016-03-03 Hewlett Packard Enterprise Development Lp Scaling persistent connections for cloud computing
KR101593168B1 (ko) * 2014-09-11 2016-02-18 한국전자통신연구원 물리적 단방향 통신 장치 및 방법
CN104320500B (zh) * 2014-10-13 2017-11-10 中国联合网络通信集团有限公司 一种nat设备的保活方法及装置
US9660866B1 (en) * 2014-12-31 2017-05-23 Juniper Networks, Inc. Readiness detection for data plane configuration of label-switched paths
CN106550058A (zh) * 2015-09-17 2017-03-29 群晖科技股份有限公司 网络地址转换穿透方法以及使用该方法的系统
US11496579B2 (en) * 2016-01-19 2022-11-08 Comcast Cable Communications, Llc Connection manager
CN107241453B (zh) * 2016-03-28 2020-07-24 华为技术有限公司 一种网络地址转换映射保活方法及装置
US11824827B1 (en) 2016-04-13 2023-11-21 8X8, Inc. Region-based network address translation
WO2017210209A1 (en) 2016-05-31 2017-12-07 Brocade Communications Systems, Inc. Keepalive scheduler in a network device
WO2018036613A1 (en) * 2016-08-23 2018-03-01 Telefonaktiebolaget Lm Ericsson (Publ) A method, network node and system for controlling tethering
JP6380774B1 (ja) * 2017-03-31 2018-08-29 日本電気株式会社 コンピュータシステム、サーバ装置、プログラム及び障害検出方法
KR102037073B1 (ko) * 2018-04-11 2019-10-28 현대위아 주식회사 차량용 제어기 및 메세지 수신상태 진단 및 복원 방법
WO2019238252A1 (en) * 2018-06-11 2019-12-19 Telefonaktiebolaget Lm Ericsson (Publ) Tethering policy for cellular networks
CN110958128B (zh) * 2018-09-26 2022-11-25 浙江宇视科技有限公司 告警上报调度方法及装置
EP3968600A1 (en) * 2020-09-11 2022-03-16 Volkswagen Ag Controlling a communication between a vehicle and a backend device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6538988B1 (en) * 1996-12-19 2003-03-25 Cisco Technology, Inc. End-to-end bidirectional keep-alive using virtual circuits
US20030212801A1 (en) * 2002-05-07 2003-11-13 Siew-Hong Yang-Huffman System and method for monitoring a connection between a server and a passive client device
JP2005117587A (ja) * 2003-10-10 2005-04-28 Newrong Inc 通信方法
US20060126596A1 (en) * 2004-12-14 2006-06-15 Ce-Kuen Shieh System and method for providing a communication channel
US20080039032A1 (en) * 2006-06-30 2008-02-14 Nokia Corporation Traffic monitoring
US20080159163A1 (en) * 2006-12-29 2008-07-03 Nokia Corporation Communications control

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212175B1 (en) * 1997-04-22 2001-04-03 Telxon Corporation Method to sustain TCP connection
US20030009561A1 (en) 2001-06-14 2003-01-09 Sollee Patrick N. Providing telephony services to terminals behind a firewall and /or network address translator
US20030055978A1 (en) * 2001-09-18 2003-03-20 Microsoft Corporation Methods and systems for enabling outside-initiated traffic flows through a network address translator
US6721907B2 (en) * 2002-06-12 2004-04-13 Zambeel, Inc. System and method for monitoring the state and operability of components in distributed computing systems
US7305481B2 (en) * 2003-01-07 2007-12-04 Hexago Inc. Connecting IPv6 devices through IPv4 network and network address translator (NAT) using tunnel setup protocol
US8019321B2 (en) * 2003-03-31 2011-09-13 Varia Holdings Llc Wireless mobile phone with authenticated mode of operation including heart beat profile based authentication
US7526556B2 (en) * 2003-06-26 2009-04-28 International Business Machines Corporation Method and apparatus for managing keepalive transmissions
US20050050209A1 (en) * 2003-08-27 2005-03-03 Main James David Method and apparatus to maintain wireless network communications through a firewall
CN100382552C (zh) * 2003-10-17 2008-04-16 西安大唐电信有限公司 穿透防火墙建立voip通信的方法
US7426569B2 (en) * 2004-02-25 2008-09-16 Research In Motion Limited System and method for maintaining a network connection
US8949391B2 (en) * 2004-08-04 2015-02-03 Rockstar Consortium Us Lp Network management across a NAT or firewall
US20060072569A1 (en) * 2004-10-04 2006-04-06 Wizzysoft Corporation Network address translation protocol for transmission control protocol connections
US7460556B2 (en) * 2005-02-17 2008-12-02 International Business Machines Corporation Autonomic adjustment of connection keep-alives

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6538988B1 (en) * 1996-12-19 2003-03-25 Cisco Technology, Inc. End-to-end bidirectional keep-alive using virtual circuits
US20030212801A1 (en) * 2002-05-07 2003-11-13 Siew-Hong Yang-Huffman System and method for monitoring a connection between a server and a passive client device
JP2005117587A (ja) * 2003-10-10 2005-04-28 Newrong Inc 通信方法
US20060126596A1 (en) * 2004-12-14 2006-06-15 Ce-Kuen Shieh System and method for providing a communication channel
US20080039032A1 (en) * 2006-06-30 2008-02-14 Nokia Corporation Traffic monitoring
US20080159163A1 (en) * 2006-12-29 2008-07-03 Nokia Corporation Communications control

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014504066A (ja) * 2010-11-18 2014-02-13 クアルコム,インコーポレイテッド ワイヤレス通信システム内でのモバイル通信デバイスに代わるキープアライブパケットの送信
JP2014179787A (ja) * 2013-03-14 2014-09-25 Kddi Corp Keep−Aliveパケット送信装置、端末装置、Keep−Alive制御システム、Keep−Aliveパケット送信方法およびコンピュータプログラム
WO2015177924A1 (ja) * 2014-05-23 2015-11-26 三菱電機株式会社 通信装置及び通信方法及びプログラム
JPWO2015177924A1 (ja) * 2014-05-23 2017-04-20 三菱電機株式会社 通信装置及び通信方法及びプログラム
KR102123831B1 (ko) * 2018-12-31 2020-06-17 주식회사 케이아이씨텍 킵 얼라이브 트렁킹을 통한 외부망에서의 내부망 접속 방법 및 그 장치

Also Published As

Publication number Publication date
CN101632269B (zh) 2014-05-07
US20080225865A1 (en) 2008-09-18
EP2119132B1 (en) 2019-03-27
TW200843418A (en) 2008-11-01
WO2008112396A1 (en) 2008-09-18
US20110286373A1 (en) 2011-11-24
US8553701B2 (en) 2013-10-08
JP4800424B2 (ja) 2011-10-26
TWI393388B (zh) 2013-04-11
EP2119132A4 (en) 2016-05-25
EP2119132A1 (en) 2009-11-18
US8023432B2 (en) 2011-09-20
KR20090128405A (ko) 2009-12-15
CN101632269A (zh) 2010-01-20
KR101292349B1 (ko) 2013-08-23

Similar Documents

Publication Publication Date Title
JP4800424B2 (ja) Nat接続状態キープアライブのコスト削減
US9927858B2 (en) Remote device waking using a multicast packet
US8068433B2 (en) Low power operation of networked devices
US8498229B2 (en) Reduced power state network processing
US8077712B2 (en) Static neighbor wake on local area network
US9104406B2 (en) Network presence offloads to network interface
US9219641B2 (en) Performing failover in a redundancy group
US20070004436A1 (en) Local network proxy for a remotely connected mobile device operating in reduced power mode
JP2010124231A (ja) 電源管理プロキシ装置、サーバ装置、プロキシ装置を用いたサーバ電源管理方法、プロキシ装置電源管理プログラム、サーバ装置電源管理プログラム
JP2008042665A (ja) ネットワーク仮想化装置及びネットワーク仮想化プログラム
Khan et al. Smart proxying for reducing network energy consumption
US20230224207A1 (en) Methods, Systems, and Computer Program Products for Enabling an Operative Coupling to a Network
JP2022529459A (ja) Rplネットワークにおける効率的なメッセージ送信とループ回避
WO2013159667A1 (en) Virtual router redundancy protocol load balancing mode (vrrpe)
Bolla et al. Network connectivity proxy: An optimal strategy for reducing energy waste in network edge devices
Agarwal et al. Somniloquy: Maintaining network connectivity while your computer sleeps
US8228794B2 (en) Minimizing pathological flooding of a network
Byon et al. An implementation of PC state management in IP networks
Khan Energy-aware home area networking
JP2012142787A (ja) サーバ所在地追跡装置、方法、およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110620

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20110620

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110628

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: 20110705

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110803

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4800424

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250