KR20090128405A - Nat 연결 상태 킵-얼라이브의 비용 감소 - Google Patents

Nat 연결 상태 킵-얼라이브의 비용 감소 Download PDF

Info

Publication number
KR20090128405A
KR20090128405A KR1020097018518A KR20097018518A KR20090128405A KR 20090128405 A KR20090128405 A KR 20090128405A KR 1020097018518 A KR1020097018518 A KR 1020097018518A KR 20097018518 A KR20097018518 A KR 20097018518A KR 20090128405 A KR20090128405 A KR 20090128405A
Authority
KR
South Korea
Prior art keywords
keep
alive
network
connection
client
Prior art date
Application number
KR1020097018518A
Other languages
English (en)
Other versions
KR101292349B1 (ko
Inventor
샤이 허조그
Original Assignee
마이크로소프트 코포레이션
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 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20090128405A publication Critical patent/KR20090128405A/ko
Application granted granted Critical
Publication of KR101292349B1 publication Critical patent/KR101292349B1/ko

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 장치로의 킵-얼라이브 메시지들을 촉진하여, 킵-얼라이브 패킷들로 연결에 응답하기 위한 무선 장치의 전력 소비를 감소시키거나 제거한다. 하나의 경우에, 킵-얼라이브 패킷들은 NAT 타임아웃 타이머를 리셋하기 위해 NAT 장치로 전송되고, 이어서 모바일 클라이언트로 전송된다. 클라이언트는 기대되는 킵-얼라이브 패킷들이 클라이언트에서 수신되지 않는 경우에만 응답한다. 다른 하나의 경우에, 킵-얼라이브 패킷들은 연결을 유지하기 위해 NAT 타이머를 리셋하지만 모바일 클라이언트에 도달하기 전에 드롭되거나 자기-파괴되어, 모바일 장치 내에서의 최적 전력 보존을 제공한다. 따라서, 클라이언트는 무선 데이터를 전송하거나 수신하여 배터리를 소모시키는 추가적인 클라이언트 동작을 강요받지 않는다.
킵-얼라이브 패킷, NAT 장치, 내부 네트워크, 외부 네트워크, TTL, NACK

Description

NAT 연결 상태 킵-얼라이브의 비용 감소{COST REDUCTION OF NAT CONNECTION STATE KEEP-ALIVE}
컴퓨팅 장치 및 네트워킹의 기술 발전은 다양한 정보 및 서비스로의 액세스를 용이하게 하여 실질적으로 세계 어느 곳에서든 액세스할 수 있도록 한다. 가상 사무실은 수행되어야 할 작업이 대부분의 장소에서 수행될 수 있으므로 점점 대중적이 되어가고 있다. 예를 들어, 거주자들이 네트워크에 엑세스하기 위한 더 많은 통신 및/또는 컴퓨팅 장치를 가지게 됨에 따라 홈 네트워크가 점점 더 일반적이 되어가고 있다. 유사하게, 기업들은 인트라넷 서비스를 위해 라우터 뒤에 서브네트워크를 이용한다. 각각의 네트워크 장치에 대해 개별 IP 주소를 등록하는 것에 비해, 네트워크 주소 변환(network address translation; NAT)이라 불리는 기술은 라우터 뒤의 다수의 IP 노드가 하나의 공중 IP 주소를 공유할 수 있도록 한다. 다른 말로 하면, 한 세트의 등록되지 않은 IP 주소들이 내부 네트워크 트래픽을 위해 사용되도록 허용하고 다른 한 세트의 IP 주소는 외부 또는 공중 트래픽을 위해 사용되도록 허용하는 표준이 제공된다. 이는 내부 네트워크 주소가 공중 액세스(예를 들어, 인터넷을 통한 액세스)로부터 감추어지도록 허용한다.
NAT 라우터는, 예를 들어, 공중 네트워크로의 외부 인터페이스 및 내부 네트워크나 도메인으로의 내부 인터페이스를 포함한다. 패킷이 도메인을 떠날 때, NAT 장치는 로컬 소스 주소를, 예를 들어, 인터넷에서의 사용을 위해 글로벌 고유 주소로 변환한다. 패킷이 인터넷으로부터 도메인에 들어갈 때, NAT 라우터는 글로벌 고유 주소를 로컬 주소로 변환한다. 도메인의 공유 노드가 아웃바운드 트래픽을 전송할 때, NAT는 트래픽을 전달하고, 주소 매핑 및/또는 포트 매핑 데이터베이스 또는 테이블에 공유 노드를 위한 리버스 매핑 엔트리(reverse mapping entry)를 생성한다. 이 리버스 엔트리는 도메인으로 돌아오는 응답을 올바른 공유 노드로 재지향시키기(redirect) 위해 사용된다.
일반적으로, NAT 장치는 매핑 상태를 위한 구성가능 타임아웃 주기를 갖는 타임아웃 타이머를 사용한다. 만약 특정 엔트리가 타임아웃 주기보다 긴 시간 동안 인바운드 또는 아웃바운드 트래픽에 의해 사용되지 않았다면, NAT 타이머가 만료되고 그 엔트리는 제거된다. 엔트리가 제거되고 나면, NAT 뒤의 공유 노드는 더 이상 이 연결을 통해 도달될 수 없고 새로운 연결이 (예를 들어, 공유 노드에 의해) 개시되어야만 한다. NAT 타이머가 타임아웃(또는 만료)되지 않도록 하는 일반적인 메커니즘은 "킵-얼라이브(keep-alive)" 또는 "하트비트(heartbeat)" 프로세싱이라고 알려져 있다. 킵-얼라이브에서, 타이머를 리셋하기 위해 쓸모없는 트래픽이 연결 상에 NAT 타임아웃 주기보다 짧은 간격으로 생성되고, 그에 의하여 연결이 활성화된 상태로 유지되도록 한다. 주 전력원으로 배터리 전력을 사용하는 휴대용 장치(예를 들어, 스마트폰)의 경우, 종래의 킵-얼라이브 기술은 장치 배터리 수명을 소모시키고, 연결을 살려두기 위한 상당한 무선 동작을 발생시킨다.
다음은 여기에 설명되는 일부 새로운 실시예의 기본적인 이해를 제공하기 위해 단순화된 요약을 제공한다. 이 요약은 광범위한 개요가 아니며, 키/중요 요소들을 식별하거나 그 범위를 서술하도록 의도되지 않았다. 이것의 유일한 목적은 이후 제시되는 더 상세한 설명에 대한 서두로서 단순화된 형태로 일부 개념을 제시하는 것이다.
개시되는 구조는 서버 주도의 킵-얼라이브 메커니즘이 NAT 상태를 리프레시하기 위해 클라이언트에게 현재 연결을 제공하고 있는 NAT 장치로의 킵-얼라이브 메시지들을 촉진하는 기술을 제공한다. 그에 따라, 예를 들어, 연결 상의 사설 네트워크 내의 배터리-구동 모바일 장치에 의한 전력 소모는 클라이언트가 킵-얼라이브 패킷들을 전송하거나 응답할 필요가 전혀 없게 함으로써 감소될 수 있다. 다른 말로 하면, 서버는 현재 연결을 제공하고 있는 NAT 장치로의 킵-얼라이브 관리를 촉진하여, 무선 장치의 전력 소모를 감소시키거나 제거한다.
하나의 방법에서, 킵-얼라이브 패킷들은 NAT 타임아웃 타이머를 리셋하기 위해 NAT 장치로 전송되고, 이어서 모바일 클라이언트로 전송된다. 클라이언트는 기대되는 킵-얼라이브 패킷들이 클라이언트에서 수신되지 않는 경우에만 응답한다. 다른 하나의 방법에서, 킵-얼라이브 패킷들은 연결을 유지하기 위해 NAT 타이머를 리셋하지만 모바일 클라이언트에 도달하기 전에 드롭되거나 자기-파괴되어, 모바일 장치 내에서의 최적 전력 보존을 제공한다. 따라서, 클라이언트는 무선 데이터를 전송하거나 수신하여 배터리를 소모시키는 추가적인 클라이언트 동작을 강요받지 않는다.
또 다른 하나의 구현에서, 킵-얼라이브 서버는 NAT 장치를 조사하고(interrogate) NAT 장치를 위해 어떤 방법을 사용할지 결정한다. 추가적으로, 연결 킵-얼라이브는 연결의 현재 성능에 기초하여 방법들 간에 전환함으로써 관리될 수 있다.
앞의 목적 및 관련 목적을 달성하기 위해, 개시되는 구조의 일부 예시적인 특징이 이하의 설명 및 첨부된 도면과 함께 설명된다. 그러나, 이 특징들은 여기에 개시되는 원리가 사용될 수 있는 다양한 방법들 중의 일부만을 나타내고, 모든 그러한 특징들 및 그들과 동등한 것들을 포함하도록 의도되었다. 다른 장점들 및 새로운 특징들은 이하의 상세한 설명을 도면과 함께 고찰할 때 자명해질 것이다.
도 1은 네트워크 경계 구성요소에서 킵-얼라이브 연결 관리를 촉진하는 컴퓨터-구현 시스템을 도시하는 도면.
도 2는 네트워크 경계 구성요소에서 통신 연결을 관리하는 하나의 방법을 도시하는 도면.
도 3은 서버에 의한 NAT 장치의 조사에 기초하여 유형 검출 및 선택을 사용하는 선택적인 시스템을 도시하는 도면.
도 4는 다수의 NAT 장치 연결을 관리하기 위한 시스템을 도시하는 도면.
도 5는 NAT 장치를 사용하여 연결을 유지시키는 방법을 도시하는 도면.
도 6은 NAT 장치 및 내부 장치의 NACK을 사용하여 연결을 유지시키는 방법을 도시하는 도면.
도 7은 NAT 장치에서 패킷 수명을 종료시키는 방법을 도시하는 도면.
도 8은 NAT 장치 기능에 기초하여 킵-얼라이브 패킷 프로세싱을 선택하는 방법을 도시하는 도면.
도 9는 NAT 장치에서 연결의 성공 또는 실패에 기초하여 킵-얼라이브 패킷 사용법 간에 전환하는 방법을 도시하는 도면.
도 10은 개시되는 구조에 따른 킵-얼라이브 패킷 프로세싱을 실행하도록 동작할 수 있는 컴퓨팅 시스템의 블록도를 도시하는 도면.
도 11은 개시되는 구조에 따른 킵-얼라이브 패킷 프로세싱을 위한 예시적인 컴퓨팅 환경의 개략적인 블록도를 도시하는 도면.
본 구조는 외부 네트워크(예를 들어, 인터넷)와 사설 네트워크(예를 들어, 가정, 인트라넷, 모바일 사업자 네트워크(Mobile Operator networks))의 모바일-가능 배터리-구동 장치(예를 들어, 휴대전화, 휴대용 컴퓨터) 사이의 연결을 네트워크 주소 변환(NAT) 구성요소(예를 들어, NAT 장치)를 통하여 유지하기 위한 기술이다. 외부 네트워크(예를 들어, 서버)는 타이머를 리셋하기 위해 NAT 구성요소로 킵-얼라이브 패킷들을 전송하여, NAT 구성요소를 통한 연결을 유지한다. 그에 따라, 모바일-가능 장치는 연결이 살아있도록 유지하기 위해 추가적인 전력 및 네트워크 트래픽을 소비할 필요가 없어서, 장치 전력 소비량 및 네트워크 트래픽에 관한 비용을 감소시킨다.
하나의 구현에서, 킵-얼라이브 패킷들은 NAT 구성요소를 통하여 모바일-가능 장치로 전달된다. 만약 장치가 패킷들을 수신하는 데 실패하면, 그 경우에만 장치가 연결을 유지하기 위한 킵-얼라이브 패킷들을 전송하도록 외부 장치에 (예를 들어, NAT 구성요소 또는 OOB(out-of-band) 시그널링을 통하여) 응답한다. 다른 하나의 구현에서, 킵-얼라이브 패킷들은 NAT 구성요소로만 전송되며, 모바일-가능 장치로는 전송되지 않는다. 패킷들은 NAT 구성요소에서의 사용 이후에 소멸되거나(decay) 드롭된다. 그에 따라, 모바일-가능 장치는 에너지를 전혀 소비하지 않는다.
이제 전체에서 같은 참조번호가 같은 요소를 가리키는데 사용되는 도면들을 참조하자. 이하의 설명에서, 설명의 목적으로 다수의 특정 세부사항이 그 완전한 이해를 제공하기 위해 설명된다. 그러나, 새로운 실시예들은 이 특정 세부사항들 없이도 실시될 수 있다는 것이 자명할 수 있다. 다른 경우에, 잘 알려진 구조 및 장치가 그 설명을 용이하게 하기 위해 블록도에 도시되었다.
처음으로 도면을 참조하면, 도 1은 네트워크 경계 구성요소(102)의 연결 관리를 용이하게 하는 컴퓨터-구현 시스템(100)을 도시한다. 시스템(100)은 다른 네트워크들 사이에 주소 및/또는 포트를 변환하기 위한 경계 구성요소(102)를 포함한다. 경계 구성요소(102)는 내부 네트워크(106)(예를 들어, RFC 1918에 정의된 바와 같은 주소를 갖는 내부 네트워크(106))의 개인 클라이언트(private client; 104)와 외부 네트워크(108)(예를 들어, 인터넷) 사이의 연결을 용이하게 한다. 경계 구성요소(102)는, 예를 들어, NAT 장치 또는 NAPT(network address port translation) 장치일 수 있다. 여기에서는, NAT는 NAT 및 NAPT 장치 모두를 말하 기 위해 사용될 것이다.
시스템(100)은 또한 하나 이상의 단방향 킵-얼라이브 패킷(들)을 경계 구성요소(102)로 전송하고 킵-얼라이브 패킷에 기초하여 개인 클라이언트(104)로의 연결을 유지시키기 위한 외부 네트워크(108)의 네트워크 킵-얼라이브 구성요소(110)(예를 들어, 서버, 웹 서버, 애플리케이션 서버)를 포함할 수 있다. 다른 말로 하면, 네트워크 구성요소(110)로부터 수신된 킵-얼라이브 패킷들만이 경계 구성요소(102)의 타임아웃 타이머를 리셋하기 위해 프로세싱된다.
선택적인 일 실시예에서, 네트워크 구성요소(110)로부터 전송된 킵-얼라이브 패킷들은 경계 구성요소(102)에 의해 프로세싱되지만, 개인 클라이언트(104)가 패킷들을 프로세싱하는데 에너지를 소비할 필요가 없도록 그 이후에 소멸되거나 자기-파괴된다. 그러나, 만약 개인 클라이언트(104)가 킵-얼라이브 패킷들의 수신을 기대하도록 구성된다면, 그 비-수신은 킵-얼라이브 패킷들을 발행하는 경계 구성요소(102) 및/또는 네트워크 구성요소(110)가 그에 따라 반응하도록(예를 들어, 재전송 또는 경고 발행) 클라이언트(104)가 응답하게 할 것이다.
종래의 접근법에서, 킵-얼라이브 메시지들은 양방향(왕복을 수행함)이어서, 메시지들이 먼저 클라이언트(예를 들어, 개인 클라이언트(104))로부터 서버(예를 들어, 네트워크 구성요소(110))로, 그리고 이어서 서버로부터 클라이언트로 두 번 NAT 장치에 "도달하도록(hit)" 한다. 그러나, 많은 수의 NAT 장치들은 인터넷(예를 들어, 서버)으로부터 오는 단방향 메시지들이 연결과 관련된 적절한 5-튜플(tuple)(예를 들어, 프로토콜 번호, 소스 IP, 소스 포트, 목적지 IP 및 목적지 포트)을 반영하는 한 이들 메시지에 기초하여 연결 타임아웃 상태를 리프레시한다. 이는 킵-얼라이브 패킷들의 수신을 확인하기 위해 클라이언트로부터의 ACK를 요구하지 않으므로, 배터리-구동 클라이언트에서 전력 소비를 감소시킨다는 것을 의미한다. 배터리 수명을 보존하기 위해, 클라이언트는 서버 킵-얼라이브 메시지(들)가 수신되지 않은 경우 NACK를 수행할 수 있고, 킵-얼라이브 메시지들이 수신된 경우에는 가만히 있을 수 있다.
향상되고 진보된 메커니즘은 클라이언트가 응답할 필요가 전혀 없도록 할 수 있다(예를 들어, 수신, ACK 또는 NACK의 필요성을 제거함). 여기서, 킵-얼라이브 서버는 NAT 장치를 (예를 들어, IP 주소를 통하여) 식별하고, nTLL(time-to-live)을 계산하는데, 이는 장치에 도달하기 위한 최소 TTL이다(예를 들어, 이값을 계산하기 위한 단순한 방법은 클라이언트에 의해 전송된 패킷의 원래 TTL을 수신 서버에 의해 관찰된 TTL과 비교하는 것이고, 경로가 대칭이라고 가정하면, 이값은 역방향으로(서버로부터 클라이언트로) 패킷을 전달하기 위해 필요한 TTL을 나타낸다). 서버는 킵-얼라이브 메시지들 상의 TTL 값을 nTTL-1로 설정하여, 패킷이 클라이언트에 도달하기 전에 TTL=0 때문에 드롭되도록 한다. 인터넷 프로토콜(IP)에서, 패킷의 TTL 값은 이 패킷이 드롭되기 전에 얼마나 멀리(라우터의 대략적인 개수로) 여행해야 하는지 결정한다. IP 패킷이 라우터를 통하여 프로세싱될 때마다, 그 TTL 값은 1만큼 감소된다. 결국, 패킷이 TTL=0으로 수신된 때, 패킷은 전달되지 않는다. TTL 메커니즘은 오래되거나 쓸모없는 "좀비" 패킷들이 네트워크 상에 불필요하게 순환하는 것을 방지한다.
클라이언트가 개입되지 않게 배제하는 것은 명백한 장점들을 갖는다: 클라이언트 배터리 소모가 없음 또는 킵-얼라이브 메시지를 위한 추가된 전송 비트들은 또한 클라이언트가 킵-얼라이브 메시지들의 빈도에 민감하지 않다는 것을 의미한다. 서버는 킵-얼라이브 메시지들을 더욱 빠르게 전송할 수 있고 전체 회복력(overall resiliency)를 향상시킬 수 있다.
비록 이 접근법에서는 성공적인 NAT 리프레시 동작을 확인할 직접적인 메커니즘이 없지만, 유선 네트워크의 신뢰도는 매우 높아서 클라이언트로부터의 ACK에 대한 필요가 거의 없고, 서버는 "발사 후 망각(fire-and-forget)" 모드에 따라 킵-얼라이브 메시지들을 전송할 수 있다. 이것은 서버가 킵-얼라이브의 빈도를 최대 NAT 타임아웃 이상으로 실질적으로 증가시키는 경우에 더 그러하다. 경계 구성요소(102)를 통하여(또는 유선으로) 전송되는 실제 애플리케이션 데이터는 연결 상태의 암시적 확인의 역할을 한다는 점에 주목하자. 게다가, 여기에 설명되는 킵-얼라이브 메커니즘은 GPRS(general packet radio service) 연결의 손실과 같은 일반적인 연결 실패를 다룰 필요가 없는데, 이는 클라이언트(104)에 의해 검출되고 핸들링되기 때문이다.
도 2는 통신 연결을 관리하는 방법을 도시한다. 설명의 단순화를 위해, 예를 들어, 순서 차트 또는 순서도의 형태로 여기에 도시된 하나 이상의 방법이 일련의 동작으로 도시되고 설명되었지만, 대상 구조는 동작들의 순서에 한정되지 않고, 일부 동작들은 상이한 순서로 및/또는 여기에 도시되고 설명되는 다른 동작들과 동시에 발생할 수 있다고 이해해야 한다. 예를 들어, 당업자는 방법이 상태도에서와 같이 일련의 상호관련된 상태들 또는 이벤트들로 선택적으로 표현될 수 있다고 이해할 것이다. 게다가, 방법에 도시된 동작들이 모두 새로운 구현을 위해 필요한 것은 아니다.
동작(200)에서, 통신 연결은 네트워크 경계 구성요소를 통하여 외부 네트워크와 내부 네트워크의 무선 장치 사이에 설정된다. 동작(202)에서, 킵-얼라이브 패킷이 외부 네트워크로부터 네트워크 경계 구성요소로 수신된다. 동작(204)에서, 연결 타이머는 킵-얼라이브 패킷에 기초하여 리셋된다. 동작(206)에서, 외부 네트워크와 무선 장치 사이의 네트워크 경계 구성요소를 통한 연결은 외부 네트워크로부터만 수신되는 킵-얼라이브 패킷에 기초하여 유지된다. 다른 말로 하면, 외부 네트워크가 아닌 다른 소스로부터 더 이상 킵-얼라이브 패킷들을 수신할 필요가 없다. 이는 배터리 전원만으로 동작하는 무선 장치(예를 들어, 휴대전화)가 종래의 구조와 같이 킵-얼라이브 패킷을 전송하거나 반환하기 위해 완전 전력 상태로 될 필요가 없을 것이라는 것을 의미한다. 이는 배터리 전원을 보존하고, 네트워크 트래픽을 감소시킨다.
적어도 두 유형의 킵-얼라이브 프로세스가 구현될 수 있다: 킵-얼라이브 패킷들이 서버에 의해 개인 클라이언트까지 전송되어, 킵-얼라이브 패킷이 수신되지 않는 경우에만 클라이언트가 응답하도록 하는 제1 유형(유형 1); 및 패킷들이 경계 구성요소에서 차단되는 제2 유형(유형 2).
도 3은 서버(304)에 의한 NAT 장치(302)의 조사에 기초한 유형 검출 및 선택을 사용하는 선택적인 시스템(300)을 도시한다. 서버(304)는 NAT 장치(302)와 통 신하고 NAT 장치(302)의 유형 데이터(308)를 판독하기 위한 유형 구성요소(306)를 포함한다. 예를 들어, 만약 유형 데이터(308)가 NAT 장치는 제2 유형(또는 유형 2) 장치라고 지시하면, 여기서 킵-얼라이브 패킷들은 NAT 장치(302)로 전송되고 그러한 패킷들이 클라이언트(104)로 전송되지 않도록 차단된다. 만약 유형 2 장치가 아니라면, 서버(304)는 킵-얼라이브 패킷들이 서버(304)로부터 NAT 장치(302)로 전송되고, 이어서 클라이언트(104)로 전송되는 유형 1 장치로 자동으로 디폴트 선택한다. 만약 클라이언트(104)가 기대되는 패킷들을 수신하는데 실패하면, 클라이언트(104)는, 예를 들어, NACK을 다시 서버(304)로 전송하여 응답할 것이다. 서버(304)는 이어서 추가적인 킵-얼라이브 패킷들을 전송할 것이다.
도 4는 다수의 NAT 연결을 관리하기 위한 시스템(400)을 도시한다. 다수의 배터리-구동 모바일 클라이언트들(402)(모바일 클라이언트1, 모바일 클라이언트2, 및 모바일 클라이언트3으로 표시됨)는 NAT 장치(404)를 통하여 외부 네트워크(예를 들어, 인터넷 및 관련 셀룰러 네트워크)와 통신하기 위해 NAT를 사용하여 사설 네트워크 내에서 동작한다. 공중 네트워크의 서버(406)는 NAT 장치(404)를 통하여 동작하는 하나 이상의 연결(410)(연결1, 연결2 및 연결3으로 표시됨)을 유지하기 위해 킵-얼라이브 패킷들을 서버 연결 구성요소(408)를 통하여 NAT 장치(404)로 제공한다. 예를 들어, 서버(406)는 제1 모바일 클라이언트(414)를 위한 제1 연결(412)을 유지하기 위해 NAT 장치(404)로 킵-얼라이브 패킷들(KA1)을 전송한다.
이 예에서, 제1 연결(412)을 위한 제1 연결 킵-얼라이브 패킷들(KA1)은 서버(406)로부터 NAT 장치(404)를 통하여 제1 모바일 클라이언트(414)로 전송될 수 있다. 패킷들을 수신하자마자, NAT 장치(404)는 NAT 타임아웃 구성요소(405)가 제1 연결과 관련된 타임아웃들을 관리하여 제1 연결(412)을 유지하도록 패킷들을 프로세싱한다. 제1 클라이언트(414)에서, 제1 킵-얼라이브 패킷들(KA1)이 수신될 것이 제1 클라이언트(414)에 의해 기대된다. 제1 클라이언트(414)가 킵-얼라이브 패킷들(KA1)이 수신되지 않는다고 검출하는 경우, 제1 클라이언트(414)는 NACK를 NAT 장치(404)로 전송할 수 있고, 거기서 서버(406)로 전송하여 제1 킵-얼라이브 패킷들(KA1)이 수신되지 않았다는 것을 지시할 수 있다. 서버 연결 구성요소(408)는 이어서 킵-얼라이브 패킷들(KA1)이 제1 연결(412)을 통하여 전송되도록 보장할 수 있다. 도시된 바와 같이, 제1 모바일 클라이언트(414)는 NAT 장치(404)(예를 들어, 무선 라우터 또는 게이트웨이)와 무선으로 동작한다.
NAT 장치(404)는 제2 킵-얼라이브 패킷들(KA2)을 수신함으로써 제2 모바일 클라이언트(418)를 위한 제2 연결(416)을 유지한다. 패킷들을 수신하자마자, NAT 장치(404)는 NAT 타임아웃 구성요소(405)가 제2 연결(416)과 관련된 타임아웃들을 관리하여 제2 연결(416)을 유지하도록 패킷들을 프로세싱한다. 제2 패킷들(KA2)은 테더드 연결(tethered connection)(예를 들어, USB)을 통해 제2 클라이언트(418)로 전달된다. 이것이 클라이언트 배터리 소스에 전원을 공급하거나 충전하지 않는 비 전원 연결인 경우, 배터리 전력 보존이 요구된다. 제2 클라이언트(418)가 킵-얼라이브 패킷들(KA2)이 수신되지 않는다고 검출하는 경우, 제2 클라이언트(418)는 NACK를 NAT 장치(404)로 전송할 수 있고, 거기서 서버(406)로 전송하여 제2 킵-얼라이브 패킷들(KA2)이 수신되지 않았다는 것을 지시할 수 있다. 서버 연결 구성요소(408)는 이어서 킵-얼라이브 패킷들(KA2)이 제2 연결(416)을 통하여 전송되도록 보장할 수 있다. 도시된 바와 같이, 제2 모바일 클라이언트(418)는 테더 상으로 통신하지만, 온보드 배터리 소스에 의해 전력이 공급된다.
NAT 장치(404)는 제3 킵-얼라이브 패킷들(KA3)을 수신함으로써 제3 모바일 클라이언트(422)를 위한 제3 연결(420)을 유지한다. 패킷들을 수신하자마자, NAT 장치(404)는 NAT 타임아웃 구성요소(405)가 제3 연결(620)과 관련된 타임아웃들을 관리하여 제3 연결(420)을 유지하도록 패킷들을 프로세싱한다. 제3 패킷들(KA3)은 무선 연결을 통해 제3 클라이언트(422)로 전달된다. 제3 클라이언트(422)가 킵-얼라이브 패킷들(KA3)이 수신되지 않는다고 검출하는 경우, 제3 클라이언트(422)는 NACK를 NAT 장치(404)로 전송할 수 있고, 거기서 서버(406)로 전송하여 제3 킵-얼라이브 패킷들(KA3)이 수신되지 않았다는 것을 지시할 수 있다. 서버 연결 구성요소(408)는 이어서 제3 킵-얼라이브 패킷들(KA3)이 제3 연결(420)을 통하여 전송되도록 보장할 수 있다. 여기서, 제3 킵-얼라이브 패킷들(KA3)은 NAT 장치(404)로부터 제3 클라이언트(422)로 전달되지 않는다. NAT 장치(404)는, 패킷들(KA3)이 사설 네트워크 인터페이스에서 종료되어(또는 드롭되거나 자기-파괴되어) 제3 클라이언트(422)가 패킷들(KA3)을 수신하는 것을 방지하도록, 수신된 제3 킵-얼라이브 패킷들(KA3)을 프로세싱하게 동작한다. 이를 지원하기 위해, NAT 장치는 사설 네트워크 인터페이스에서 (타임아웃 구성요소(405)를 리셋한 후에) 킵-얼라이브 패킷의 nTTL 값을 패킷이 NAT 장치를 벗어나서 제3 모바일 클라이언트(422)에 도달하기 전에 드롭되도록 하는 값으로 자동으로 감소시키도록 (예를 들어, 소프트웨어로) 구성될 수 있다.
하나의 서버(서버(406))만이 도시되었지만, 다수의 서버가 NAT 장치 상태를 유지하기 위해 대응되는 연결들을 위한 킵-얼라이브 패킷들을 각각 전송하기 위해 사용될 수 있다. 예를 들어, 제1 킵-얼라이브 서버는 제1 연결(412)을 위한 상태를 유지하기 위해 패킷들을 전송할 수 있고 제2 킵-얼라이브 서버는 제2 연결(416)을 위한 상태를 유지하기 위해 NAT 장치로 패킷들을 전송할 수 있다.
도 5는 NAT 장치를 사용하여 연결을 유지시키는 방법을 도시한다. 블록(500)에서, IP 연결이 NAT 장치를 통하여 외부 네트워크와 내부 네트워크의 내부 장치 사이에 설정된다. 블록(502)에서, 킵-얼라이브 패킷이 NAT 장치에서 외부 네트워크로부터 수신된다. 블록(504)에서, NAT 장치의 연결 타이머가 각각의 킵-얼라이브 패킷의 수신 및 프로세싱에 따라 리셋된다. 블록(506)에서, 킵-얼라이브 패킷은 내부 장치로 전달된다. 블록(508)에서, 연결은 외부 장치로부터만 수신된 킵-얼라이브 패킷들의 수신에 기초하여 NAT 장치에서 유지된다.
도 6은 NAT 장치 및 내부 장치의 NACK을 사용하여 연결을 유지시키는 방법을 도시한다. 블록(600)에서, IP 연결이 NAT 장치를 통하여 외부 네트워크와 내부 네트워크의 내부 장치 사이에 설정되는데, 내부 장치는 배터리 전원으로 동작한다. 블록(602)에서, 킵-얼라이브 패킷이 NAT 장치에서 외부 네트워크로부터 수신된다. 블록(604)에서, NAT 장치의 연결 타이머가 각각의 킵-얼라이브 패킷의 수신 및 프로세싱에 따라 리셋된다. 블록(606)에서, 킵-얼라이브 패킷은 내부 장치로 전달된다. 블록(608)에서, 내부 장치는 킵-얼라이브 패킷이 수신되지 않는 경우에만 NACK을 전송한다. 블록(610)에서, 외부 네트워크는 NACK에 기초하여 NAT 장치로 킵-얼라이브 패킷을 전송한다. 블록(612)에서, 연결은 외부 네트워크로부터만 오는 킵-얼라이브 패킷들의 수신에 기초하여 NAT 장치에서 유지된다.
도 7은 NAT 장치에서 패킷 수명을 종료시키는 방법을 도시한다. 블록(700)에서, 킵-얼라이브 기능이 있는 외부 서버는 NAT 장치 IP 주소를 식별한다. 블록(702)에서, 서버는 NAT 장치로의 TTL을 계산한다. 블록(704)에서, 서버는 패킷들의 킵-얼라이브 시간이 TTL을 포함하도록 구성한다. 블록(706)에서, 통신 연결은 NAT 장치를 통하여 통신 서버와 내부 네트워크의 모바일 장치 사이에 설정된다. 블록(708)에서, 서버는 연결을 유지시키기 위해 킵-얼라이브 패킷들을 NAT 장치로 전송한다. 블록(710)에서, NAT 장치는 NAT 타이머 또는 각각의 킵-얼라이브 패킷을 리셋하고, 패킷들이 모바일 클라이언트에 도달하기 전에 패킷들을 드롭시키거나 종료시킨다. 블록(712)에서, 연결은 외부 서버로부터만 수신된 킵-얼라이브 패킷 들의 수신에 기초하여 NAT 장치에서 유지된다.
도 8은 NAT 장치 기능에 기초하여 킵-얼라이브 패킷 프로세싱을 선택하는 방법을 도시한다. 블록(800)에서, 서버는 내부 모바일 장치에 대한 통신 요청을 수신한다. 블록(802)에서, 서버는 관련 NAT 장치를 식별하고 장치 유형(또는 기능)에 대해 질의한다(query). 블록(804)에서, NAT 유형에 기초하여, 서버는 킵-얼라이브 패킷들을 생성하고 전송한다. 블록(806)에서, NAT 장치는 그에 따라 패킷들을 프로세싱하고, 그에 의하여 NAT 장치에서 연결을 유지시킨다.
도 9는 NAT 장치에서 연결의 성공 또는 실패에 기초하여 킵-얼라이브 패킷 사용 간에 전환하는 방법을 도시한다. 블록(900)에서, 서버는 내부 모바일 장치에 대한 통신 요청을 수신한다. 블록(902)에서, 서버는 관련 NAT 장치를 식별하고, NAT 유형에 대해 장치에 질의한다(예를 들어, 패킷 통과의 유형 1 및/또는 자기-파괴 패킷의 유형 2). 블록(904)에서, NAT 유형(또는 기능)에 기초하여, 서버는 모바일 장치 상의 최적 배터리 보존을 위해 향상된 패킷 유형(유형 2 자기-파괴 패킷)을 선택하고, 자기-파괴 킵-얼라이브 패킷들을 생성하고 전송한다. 블록(906)에서, NAT 장치는 그에 따라 그 연결에 대한 패킷들을 수신하고 프로세싱한다. 블록(908)에서, 서버는 연결을 모니터링하고, 결함 있는 연결 동작(faulty connection activity)에 기초하여 표준 패킷 유형(유형 1)으로 다시 드롭시킨다. 블록(910)에서, 연결은 표준 패킷 유형에 기초하여 프로세싱되는데, 여기서 패킷들은 NAT 장치를 통하여 모바일 클라이언트로 전달된다. 만약 클라이언트가 패킷을 받는데 실패하면, 클라이언트는 서버에게 킵-얼라이브 패킷들을 계속 전송하도록 신호를 보낸다.
본 출원에 사용된 "구성요소" 및 "시스템"이라는 용어는 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어인 컴퓨터-관련 엔티티를 말하도록 의도되었다. 예를 들어, 구성요소는 프로세서 상에 실행되는 프로세스, 프로세서, 하드디스크 드라이브, 복수의 저장 드라이브(광학 및/또는 자기 저장 매체), 오브젝트, 실행가능 파일, 실행 쓰레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 여기에 한정되지 않는다. 예시적으로, 서버 상에 실행되는 애플리케이션과 서버 모두 구성요소일 수 있다. 하나 이상의 구성요소는 프로세스 및/또는 실행 쓰레드 내에 상주할 수 있고, 구성요소는 하나의 컴퓨터 및/또는 둘 이상의 컴퓨터에 분산되어 위치될 수 있다.
이제 도 10을 참조하면, 개시되는 구조에 따른 킵-얼라이브 패킷 프로세싱을 실행하도록 동작할 수 있는 컴퓨팅 시스템(1000)의 블록도가 도시되어 있다. 컴퓨팅 시스템(1000)은 킵-얼라이브 서버로서 기능할 수 있는데, 예를 들어, 이는 NAT 장치 상태를 유지시키기 위해 킵-얼라이브 패킷들을 발행하고, NAT이 유형 1 또는 유형 2 프로세싱을 핸들링할 수 있는지 결정하기 위해 NAT 조사를 수행하며, NAT 유형들 사이에 전환한다. 그 다양한 특징에 대한 추가적인 내용을 제공하기 위해, 도 10과 이하의 논의는 다양한 특징이 구현될 수 있는 적합한 컴퓨팅 시스템(1000)의 개략적이고 일반적인 설명을 제공하도록 의도되었다. 위의 설명은 하나 이상의 컴퓨터에서 실행될 수 있는 컴퓨터-실행가능 명령어들의 일반적인 내용이지만, 당업자는 새로운 실시예가 다른 프로그램 모듈과 함께 및/또는 하드웨어와 소프트웨 어의 조합으로서 구현될 수도 있다고 이해할 것이다.
일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상적 데이터 유형(abstract data types)을 구현하는 루틴, 프로그램, 구성요소, 데이터 구조 등을 포함한다. 게다가, 당업자는 본 발명의 방법이 기타 컴퓨터 시스템 구성으로 실시될 수 있다고 이해할 것인데, 기타 컴퓨터 시스템 구성은 단일-프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터뿐 아니라 개인 컴퓨터, 핸드헬드 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 소비자 전자기기 등을 포함하고, 이들 각각은 하나 이상의 관련 장치에 동작상 결합될 수 있다.
설명된 특징들은 분산 컴퓨팅 환경에서 실시될 수도 있는데, 여기서 일부 작업들은 통신 네트워크를 통해 연결되는 리모트 프로세싱 장치들에 의해 수행된다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 리모트 메모리 저장 장치 모두에 위치될 수 있다.
컴퓨터는 일반적으로 다양한 컴퓨터-판독가능 매체를 포함한다. 컴퓨터-판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있고, 휘발성 및 비-휘발성 매체, 이동식 및 비-이동식 매체를 포함한다. 한정이 아닌 예시의 방법으로, 컴퓨터-판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터-판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비-휘발성, 이동식 및 비-이동식 매체를 모두 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD 또는 기타 광학 디스크 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 매체를 포함하지만 이에 한정되지는 않는다.
다시 도 10을 참조하면, 다양한 특징을 구현하기 위한 예시적인 컴퓨팅 시스템(1000)은 컴퓨터(1002)를 포함하고, 컴퓨터(1002)는 프로세싱 유닛(1004), 시스템 메모리(1006) 및 시스템 버스(1008)를 포함한다. 시스템 버스(1008)는 시스템 메모리(1006)를 포함하지만 이에 한정되지는 않는 시스템 구성요소들을 위한 프로세싱 유닛(1004)로의 인터페이스를 제공한다. 프로세싱 유닛(1004)은 상업적으로 이용가능한 다양한 프로세서들 중 임의의 것일 수 있다. 듀얼 마이크로프로세서 및 기타 멀티-프로세서 구조도 프로세싱 유닛(1004)으로 사용될 수 있다.
시스템 버스(1008)는 버스 구조들의 몇몇 유형들 중의 임의의 것일 수 있는데, 이는 나아가 상업적으로 이용가능한 다양한 버스 구조들 중 임의의 것을 사용하여 메모리 버스(메모리 제어기가 있거나 없는), 주변장치 버스, 및 로컬 버스와 상호연결될 수 있다. 시스템 메모리(1006)는 ROM(1010) 및 RAM(1012)을 포함한다. BIOS(basic input/output system)는 ROM, EPROM, EEPROM과 같은 비-휘발성 메모리(1010)에 저장되는데, BIOS는 시작(start-up) 과정에서와 같은 컴퓨터(1002) 내의 요소들 간의 정보 전달을 돕는 기초 루틴들을 포함한다. RAM(1012)은 데이터를 캐싱하기 위한 정적 RAM과 같은 고속 RAM을 포함할 수도 있다.
컴퓨터(1002)는 내부 하드디스크 드라이브(HDD)(1014)(예를 들어, EIDE, SATA)(내부 하드디스크 드라이브(1014)는 적합한 섀시(도시 생략)에서의 외부 사용을 위해 구성될 수도 있음), 자기 플로피 디스크 드라이브(FDD)(1016)(예를 들어, 이동식 디스켓(1018)으로부터 판독하거나 기록하기 위해) 및 광학 디스크 드라이브(1020)(예를 들어, CD-ROM 디스크(1022)의 판독 또는 DVD와 같은 기타 고용량 광학 매체로부터 판독하거나 기록하기 위해)를 더 포함한다. 하드디스크 드라이브(1014), 자기 디스크 드라이브(1016) 및 광학 디스크 드라이브(1020)는 순서대로 하드디스크 드라이브 인터페이스(1024), 자기 디스크 드라이브 인터페이스(1026) 및 광학 드라이브 인터페이스(1028)에 의해 시스템 버스(1008)로 연결될 수 있다. 외부 드라이브 구현을 위한 인터페이스(1024)는 USB 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 모두를 포함한다.
드라이버 및 그 관련 컴퓨터-판독가능 매체는 데이터, 데이터 구조, 컴퓨터-실행가능 명령어 등의 비휘발성 저장을 제공한다. 컴퓨터(1002)를 위해, 드라이브 및 매체는 임의의 데이터를 적합한 디지털 포맷으로 저장하는 것을 수용하게 한다. 위의 컴퓨터-판독가능 매체의 설명은 HDD, 이동식 자기 디스켓, 및 CD 또는 DVD와 같은 이동식 광학 매체를 말하지만, 당업자는 집 드라이브(zip drives), 자기 카세트, 플래시 메모리 카드, 카트리지 등과 같은 컴퓨터에 의해 판독가능한 다른 종류의 매체들도 예시적인 동작 환경에서 사용될 수 있다고 이해할 것이고, 나아가 그러한 임의의 매체는 개시된 구조의 방법을 수행하기 위한 컴퓨터-실행가능 명령어들을 보유할 수 있다고 이해할 것이다.
운영체제(1030), 하나 이상의 애플리케이션 프로그램(1032), 기타 프로그램 모듈(1034) 및 프로그램 데이터(1036)를 포함하는 다수의 프로그램 모듈이 드라이브 및 RAM(1012)에 저장될 수 있다. 운영체제, 애플리케이션, 모듈, 및/또는 데이터의 모든 부분은 RAM(1012) 내에 캐싱될 수도 있다. 개시된 구조는 다양한 상업적으로 이용가능한 운영체제 또는 운영체제들의 조합을 이용하여 구현될 수 있다고 이해해야 한다. 예를 들어, 모듈은 도 3의 유형 구성요소(306) 및 도 4의 연결 구성요소(408)를 포함할 수 있다.
사용자는 하나 이상의 유선/무선 입력 장치(예를 들어, 키보드(1038) 및 마우스(1040)와 같은 포인팅 장치)를 통하여 명령 및 정보를 컴퓨터(1002)로 입력할 수 있다. 다른 입력 장치들(도시 생략)은 마이크, IR 리모트 제어기, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린 등을 포함할 수 있다. 이들 입력 장치 및 다른 입력 장치들은 종종 시스템 버스(1008)에 결합된 입력 장치 인터페이스(1042)를 통하여 프로세싱 유닛(1004)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스 등과 같은 다른 인터페이스들에 의해 연결될 수 있다.
모니터(1044) 또는 다른 종류의 디스플레이 장치가 또한 비디오 어댑터(1046)와 같은 인터페이스를 통해 시스템 버스(1008)에 연결될 수 있다. 모니터(1044)에 더해, 컴퓨터는 일반적으로 스피커, 프린터 등과 같은 기타 출력 주변장치들(도시 생략)을 포함한다.
컴퓨터(1002)는 리모트 컴퓨터(들)(1048)와 같은 하나 이상의 리모트 컴퓨터에 유선 및/또는 무선 통신을 통한 논리적 연결을 사용하여 네트워킹된 환경에서 동작할 수 있다. 리모트 컴퓨터(들)(1048)는 워크스테이션, 서버 컴퓨터, 라우터, 개인용 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 엔터테인먼트 기기, 피어 장치 또는 기타 일반 네트워크 노드일 수 있고, 일반적으로 컴퓨터(1002)에 관련되어 설명된 요소들의 다수 또는 전부를 포함하는데, 간결성을 위해 메모리/저장 장치(1050)만이 도시되었다. 도시된 논리 연결은 LAN(1052) 및/또는 더 넓은 네트워크(예를 들어, WAN(1054))로의 유선/무선 연결을 포함한다. 그러한 LAN 및 WAN 네트워킹 환경은 사무실과 회사에서 일반적이고, 인트라넷과 같은 전사적 컴퓨터 네트워크를 용이하게 하는데, 이들 모두는 글로벌 통신 네트워크(예를 들어, 인터넷)에 연결될 수 있다.
LAN 네트워킹 환경에 사용되는 경우, 컴퓨터(1002)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(1056)를 통하여 로컬 네트워크(1052)에 연결된다. 어댑터(1056)는 LAN(1052)으로의 유선 또는 무선 통신을 용이하게 할 수 있는데, 이는 또한 무선 어댑터(1056)와 통신하기 위해 배치된 무선 액세스 포인트를 포함할 수 있다.
WAN 네트워킹 환경에 사용되는 경우, 컴퓨터(1002)는 모뎀(1058)을 포함하거나, WAN(1054) 상의 통신 서버에 연결되거나, 인터넷에 의한 방법과 같이 WAN(1054) 상의 통신을 설정하기 위한 다른 수단을 가질 수 있다. 내부 또는 외부 장치, 그리고 유선 또는 무선 장치일 수 있는 모뎀(1058)은 직렬 포트 인터페이스(1042)를 통하여 시스템 버스(1008)에 연결될 수 있다. 네트워킹된 환경에서, 컴퓨터(1002)에 관해 도시된 프로그램 모듈들, 또는 그 부분들은 리모트 메모리/저 장 장치(1050)에 저장될 수 있다. 도시된 네트워크 연결은 예시적인 것이며, 컴퓨터들 사이의 통신 연결을 설정하기 위한 다른 수단들이 사용될 수 있다고 이해해야 한다.
컴퓨터(1002)는 무선 통신에 동작상 배치된 임의의 무선 장치 또는 엔티티(예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA, 통신 위성, 무선으로 감지가능한 태그와 관련된 장비 또는 위치(예를 들어, 키오스크, 신문 가판대, 화장실)의 임의의 부분, 및 전화기)와 통신하도록 동작할 수 있다. 이는 적어도 Wi-Fi 및 BluetoothTM 무선 기술을 포함한다. 따라서, 종래의 네트워크처럼 미리 정의된 구조 또는 단순히 적어도 두 장치 사이의 에드 혹 통신일 수 있다.
이제 도 11을 참조하면, 개시되는 구조에 따른 킵-얼라이브 패킷 프로세싱을 위한 예시적인 컴퓨팅 환경(1100)의 개략적인 블록도가 도시되어 있다. 시스템(1100)은 하나 이상의 클라이언트(1102)를 포함한다. 클라이언트(들)(1102)는 하드웨어 및/또는 소프트웨어(예를 들어, 쓰레드, 프로세스, 컴퓨팅 장치)일 수 있다. 클라이언트(들)(1102)는, 예를 들어, 하우스 쿠키(들)(house cookie(s)) 및/또는 관련 컨텍스트적 정보일 수 있다.
시스템(1100)은 또한 하나 이상의 서버(1104)를 포함한다. 서버(들)(1104)도 하드웨어 및/또는 소프트웨어(예를 들어, 쓰레드, 프로세스, 컴퓨팅 장치)일 수 있다. 서버들(1104)은, 예를 들어, 구조를 사용함으로써 변환을 수행하기 위해 쓰레드를 하우징할 수 있다. 클라이언트(1102)와 서버(1104) 사이의 하나의 가능한 통신은 둘 이상의 컴퓨터 프로세스 간에 전송되도록 구성된 데이터 패킷의 형태일 수 있다. 데이터 패킷은, 예를 들어, 쿠키 및/또는 관련 컨텍스트적 정보를 포함할 수 있다. 시스템(1100)은 클라이언트(들)(1102)와 서버(들)(1104) 사이의 통신을 용이하게 하기 위해 사용될 수 있는 통신 프레임워크(1106)(예를 들어, 인터넷과 같은 글로벌 통신 네트워크)를 포함한다.
통신은 유선(광섬유를 포함함) 및/또는 무선 기술을 통하여 용이하게 될 수 있다. 클라이언트(들)(1102)는 클라이언트(들)(1102)에 로컬인 정보(예를 들어, 쿠키(들) 및/또는 관련 컨텍스트적 정보)를 저장하는데 사용될 수 있는 하나 이상의 클라이언트 데이터 저장소(1108)에 동작상 연결될 수 있다. 유사하게, 서버(들)(1104)는 서버들(1104)에 로컬인 정보를 저장하는데 사용될 수 있는 하나 이상의 서버 데이터 저장소(1110)에 동작상 연결될 수 있다.
클라이언트들(1102)은 휴대전화, 스마트폰, 휴대용 컴퓨터 등과 같은 유선 및/또는 무선 모바일-가능 클라이언트들을 포함할 수 있다. 통신 프레임워크(1106)는 인터넷뿐 아니라, 클라이언트들(1102)이 통신하고자 하는 셀룰러 네트워크를 포함할 수 있다.
위에서 설명된 것은 개시된 구조의 예들을 포함한다. 구성요소 및/또는 방법의 생각할 수 있는 모든 조합을 설명하는 것은 물론 불가능하지만, 당업자는 많은 추가적인 조합 및 치환이 가능하다고 이해할 수 있다. 그에 따라, 새로운 구조는 첨부된 특허청구범위의 사상 및 범위 내의 그러한 변화, 변경, 치환을 모두 포함하고자 의도되었다.

Claims (20)

  1. 연결 관리를 용이하게 하는 컴퓨터-구현 시스템(100)으로서,
    내부 네트워크의 개인 클라이언트와 외부 네트워크 사이의 연결을 유지시키기 위한 경계 구성요소(boundary component; 102); 및
    상기 경계 구성요소로 킵-얼라이브 패킷을 전송하기 위한, 상기 외부 네트워크의 네트워크 구성요소(104)
    를 포함하고,
    상기 경계 구성요소는 상기 킵-얼라이브 패킷에 기초하여 상기 개인 클라이언트로의 상기 연결을 유지시키는
    컴퓨터-구현 시스템.
  2. 제1항에 있어서,
    네트워크 구성요소는 킵-얼라이브 타임아웃 카운터를 리셋하기 위해 상기 경계 구성요소로 상기 킵-얼라이브 패킷을 전송하는 상기 외부 네트워크의 서버인, 컴퓨터-구현 시스템.
  3. 제1항에 있어서,
    상기 개인 클라이언트는 상기 킵-얼라이브 패킷을 수신한 이후에 상기 네트워크 구성요소에 응답하지 않는, 컴퓨터-구현 시스템.
  4. 제1항에 있어서,
    상기 개인 클라이언트는 상기 개인 클라이언트에서 상기 킵-얼라이브 패킷이 수신되지 않은 경우 상기 네트워크 구성요소에 응답하는, 컴퓨터-구현 시스템.
  5. 제1항에 있어서,
    상기 경계 구성요소는 상기 패킷이 상기 개인 클라이언트에 도달하지 못하도록 상기 킵-얼라이브 패킷을 드롭시키는, 컴퓨터-구현 시스템.
  6. 제1항에 있어서,
    상기 개인 클라이언트는 모바일 클라이언트 또는 무선 컴퓨팅 장치인, 컴퓨터-구현 시스템.
  7. 제1항에 있어서,
    상기 경계 구성요소는 상기 외부 네트워크의 IP 주소를 상기 내부 네트워크의 내부 IP 주소로 변환하기 위한 네트워크 주소 변환(network address translation)을 포함하는, 컴퓨터-구현 시스템.
  8. 제1항에 있어서,
    상기 경계 구성요소는 킵-얼라이브 패킷들을 상기 네트워크 구성요소로부터 만 수신하는, 컴퓨터-구현 시스템.
  9. 제1항에 있어서,
    상기 네트워크 구성요소에 의해 전송되는 상기 킵-얼라이브 패킷은 프로토콜 번호, 소스 IP 주소, 소스 포트 번호, 목적지 IP 주소, 및 목적지 포트 번호를 포함하는, 컴퓨터-구현 시스템.
  10. 제1항에 있어서,
    상기 네트워크 구성요소는 IP-가능 휴대전화인 무선 장치를 위한 통신들을 용이하게 하는 통신 서버이고, 상기 통신 서버는 상기 경계 구성요소를 향상된 킵-얼라이브 패킷 프로세싱 기능에 대해 조사하는, 컴퓨터-구현 시스템.
  11. 통신 연결을 관리하는 컴퓨터-구현 방법으로서,
    네트워크 경계 장치를 통해 외부 네트워크와 내부 네트워크의 무선 장치 사이의 IP 연결을 설정하는 단계(200);
    상기 외부 네트워크로부터 상기 네트워크 경계 구성요소로 킵-얼라이브 패킷을 수신하는 단계(202);
    상기 킵-얼라이브 패킷이 수신될 때 연결 타이머를 리셋하는 단계(204); 및
    상기 외부 네트워크로부터 만의 상기 킵-얼라이브 패킷의 수신에 기초하여 상기 네트워크 경계 구성요소를 통해 상기 외부 네트워크와 상기 무선 장치 사이의 상기 IP 연결을 유지시키는 단계(206)
    를 포함하는 컴퓨터-구현 방법.
  12. 제11항에 있어서,
    상기 무선 장치에서 상기 킵-얼라이브 패킷이 수신되지 않은 경우 상기 무선 장치로부터 응답을 수신하는 단계를 더 포함하는 컴퓨터-구현 방법.
  13. 제11항에 있어서,
    상기 네트워크 경계 장치로의 상기 킵-얼라이브 패킷의 전달 시간(transit time)에 기초하여 TTL(time-to-live) 값을 계산하는 단계 및 상기 패킷을 드롭시키기 위해 상기 킵-얼라이브 패킷 내의 상기 TTL 값을 설정하는 단계를 더 포함하는 컴퓨터-구현 방법.
  14. 제11항에 있어서,
    상기 킵-얼라이브 패킷이, 상기 네트워크 경계 구성요소에 의해 프로세싱되었을 때 상기 무선 장치가 상기 킵-얼라이브 패킷을 수신하지 않도록 상기 경계 구성요소에서 상기 킵-얼라이브 패킷을 종료시키는 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항에 있어서,
    상기 모바일 클라이언트는 킵-얼라이브 패킷이 수신되지 않았을 때 NACK(negative acknowledgement)를 전송하는 시스템.
KR1020097018518A 2007-03-12 2008-02-21 Nat 연결 상태 킵-얼라이브의 비용 감소 KR101292349B1 (ko)

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 (2)

Publication Number Publication Date
KR20090128405A true KR20090128405A (ko) 2009-12-15
KR101292349B1 KR101292349B1 (ko) 2013-08-23

Family

ID=39759888

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097018518A KR101292349B1 (ko) 2007-03-12 2008-02-21 Nat 연결 상태 킵-얼라이브의 비용 감소

Country Status (7)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101139675B1 (ko) * 2008-03-05 2012-05-21 소니 컴퓨터 엔터테인먼트 인코포레이티드 동시 다중 연결을 위한 대칭형 네트워크 주소 변환기 통과 방법
WO2014092779A1 (en) * 2012-12-14 2014-06-19 Intel Corporation Notification by network element of packet drops
KR101593168B1 (ko) * 2014-09-11 2016-02-18 한국전자통신연구원 물리적 단방향 통신 장치 및 방법
US9577791B2 (en) 2012-12-05 2017-02-21 Intel Corporation Notification by network element of packet drops
KR20190118743A (ko) * 2018-04-11 2019-10-21 현대위아 주식회사 차량용 제어기 및 메세지 수신상태 진단 및 복원 방법

Families Citing this family (52)

* 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
US9521625B2 (en) * 2008-09-15 2016-12-13 Apple Inc. Electronic devices for receiving pushed data
US8228848B2 (en) * 2008-11-17 2012-07-24 Sierra Wireless, Inc. Method and apparatus for facilitating push communication across a network boundary
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
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
US8490174B2 (en) * 2010-11-18 2013-07-16 Qualcomm Incorporated Transmitting keep-alive packets on behalf of a mobile communications device within a wireless communications system
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 삼성전자주식회사 휴대단말에서 킵 얼라이브 패킷 동기화 방법 및 장치
EP2673927A4 (en) 2011-02-08 2016-08-24 Sierra Wireless Inc METHOD AND DATA-TRANSFER SYSTEM 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
US9992813B2 (en) * 2011-05-03 2018-06-05 Nokia Technologies Oy Method and apparatus for keep-alive signalling
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
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
US8892710B2 (en) 2011-09-09 2014-11-18 Microsoft Corporation Keep alive management
KR101621346B1 (ko) * 2012-06-20 2016-05-16 후아웨이 테크놀러지 컴퍼니 리미티드 네트워크 테더링 동작을 식별하기 위한 방법, 노드, 휴대 단말 및 시스템
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
US9504026B2 (en) 2012-12-13 2016-11-22 Nokia Technologies Oy Keep alive periodicity determination for WiFi networks
JP6025624B2 (ja) * 2013-03-14 2016-11-16 Kddi株式会社 端末装置、およびKeep−Alive制御システム
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
WO2015177924A1 (ja) * 2014-05-23 2015-11-26 三菱電機株式会社 通信装置及び通信方法及びプログラム
TWI555357B (zh) * 2014-07-04 2016-10-21 Throughtek Technology Shenzhen Co Ltd Effectively maintain the NAT channel service method
US10382580B2 (en) 2014-08-29 2019-08-13 Hewlett Packard Enterprise Development Lp Scaling persistent connections for cloud computing
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
WO2017210208A1 (en) 2016-05-31 2017-12-07 Brocade Communications Systems, Inc. Keepalive technique 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 日本電気株式会社 コンピュータシステム、サーバ装置、プログラム及び障害検出方法
CN112219380B (zh) * 2018-06-11 2023-10-03 瑞典爱立信有限公司 用于操作策略控制实体的方法、策略控制实体及存储介质
CN110958128B (zh) * 2018-09-26 2022-11-25 浙江宇视科技有限公司 告警上报调度方法及装置
KR102123831B1 (ko) * 2018-12-31 2020-06-17 주식회사 케이아이씨텍 킵 얼라이브 트렁킹을 통한 외부망에서의 내부망 접속 방법 및 그 장치
EP3968600A1 (en) * 2020-09-11 2022-03-16 Volkswagen Ag Controlling a communication between a vehicle and a backend device

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304546B1 (en) * 1996-12-19 2001-10-16 Cisco Technology, Inc. End-to-end bidirectional keep-alive using virtual circuits
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
US7299264B2 (en) * 2002-05-07 2007-11-20 Hewlett-Packard Development Company, L.P. System and method for monitoring a connection between a server and a passive client device
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
JP2005117587A (ja) * 2003-10-10 2005-04-28 Newrong Inc 通信方法
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
US7948890B2 (en) * 2004-12-14 2011-05-24 Industrial Technology Research Institute System and method for providing a communication channel
US7460556B2 (en) 2005-02-17 2008-12-02 International Business Machines Corporation Autonomic adjustment of connection keep-alives
US8260372B2 (en) * 2006-06-30 2012-09-04 Nokia Corporation Traffic monitoring for regulating states of a terminal
US7684346B2 (en) * 2006-12-29 2010-03-23 Nokia Corporation Communications control for extending the period over which a terminal is able to have an open connection with a host accessible via a packet data network

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101139675B1 (ko) * 2008-03-05 2012-05-21 소니 컴퓨터 엔터테인먼트 인코포레이티드 동시 다중 연결을 위한 대칭형 네트워크 주소 변환기 통과 방법
US9577791B2 (en) 2012-12-05 2017-02-21 Intel Corporation Notification by network element of packet drops
WO2014092779A1 (en) * 2012-12-14 2014-06-19 Intel Corporation Notification by network element of packet drops
KR101593168B1 (ko) * 2014-09-11 2016-02-18 한국전자통신연구원 물리적 단방향 통신 장치 및 방법
US9749011B2 (en) 2014-09-11 2017-08-29 Electronics And Telecommunications Research Institute Physical unidirectional communication apparatus and method
KR20190118743A (ko) * 2018-04-11 2019-10-21 현대위아 주식회사 차량용 제어기 및 메세지 수신상태 진단 및 복원 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101292349B1 (ko) Nat 연결 상태 킵-얼라이브의 비용 감소
US9927858B2 (en) Remote device waking using a multicast packet
US9104406B2 (en) Network presence offloads to network interface
CN107749797B (zh) 一种计算设备及其实施方法
US8068433B2 (en) Low power operation of networked devices
US8077712B2 (en) Static neighbor wake on local area network
US7881318B2 (en) Out-of-band keep-alive mechanism for clients associated with network address translation systems
Allman et al. Enabling an Energy-Efficient Future Internet Through Selectively Connected End Systems.
US20100332212A1 (en) Method and apparatus for sleep and wake of computer devices
US20080205288A1 (en) Concurrent connection testing for computation of NAT timeout period
US20130311809A1 (en) Reduced power state network processing
US20140208132A1 (en) Wake on cloud
CN102413179A (zh) 自动开机或唤醒机器及其开机或唤醒方法
US8966063B2 (en) Operating a sleep management service
US9134786B2 (en) Methods and systems for implementing wake-on-LAN
Sen et al. Don't Lose Sleep Over Availability: The {GreenUp} Decentralized Wakeup Service
CN201742446U (zh) 自动开机或唤醒机顶盒
CN102299818B (zh) 基于网络访问数据管理计算机工作状态的方法
Agarwal et al. Somniloquy: Maintaining network connectivity while your computer sleeps
Byon et al. An implementation of PC state management in IP networks
Jimeno Saving energy in network hosts with an application layer proxy: design and evaluation of new methods that utilize improved bloom filters
CN115514587A (zh) 一种通信设备、方法、电子设备及存储介质
Sen et al. GreenUp: A decentralized system for making sleeping machines available
Khan Energy-aware home area networking

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 6