KR20120105846A - 다중 통신 경로 기반의 서비스 제공 시스템 - Google Patents

다중 통신 경로 기반의 서비스 제공 시스템 Download PDF

Info

Publication number
KR20120105846A
KR20120105846A KR1020110023526A KR20110023526A KR20120105846A KR 20120105846 A KR20120105846 A KR 20120105846A KR 1020110023526 A KR1020110023526 A KR 1020110023526A KR 20110023526 A KR20110023526 A KR 20110023526A KR 20120105846 A KR20120105846 A KR 20120105846A
Authority
KR
South Korea
Prior art keywords
communication path
mobile
server
communication
mobile terminal
Prior art date
Application number
KR1020110023526A
Other languages
English (en)
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 주식회사 네이블커뮤니케이션즈
Priority to KR1020110023526A priority Critical patent/KR20120105846A/ko
Priority to PCT/KR2012/000506 priority patent/WO2012124891A2/ko
Publication of KR20120105846A publication Critical patent/KR20120105846A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/11Allocation or use of connection identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/677Multiple interfaces, e.g. multihomed nodes
    • 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)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

개시된 기술의 일 실시예에 따른 다중 통신 경로 기반의 서비스 제공 시스템은 어플리케이션 서버, 커넥팅 클라이언트를 구비한 모바일 단말 및 상기 커넥팅 클라이언트와 상기 어플리케이션 서버를 연결하는 커넥팅 서버를 포함한다. 여기에서, 상기 커넥팅 서버와 상기 모바일 단말은 제1 또는 제2 통신 경로로 연결 가능하다. 상기 커넥팅 서버는 상기 어플리케이션 서버로부터 수신된 모바일 데이터를 캡슐화하고, 제1 또는 제2 통신 경로 중 어느 하나를 선택하여 상기 캡슐화된 데이터를 상기 모바일 단말에 전송한다. 상기 커넥팅 클라이언트는 상기 캡슐화된 모바일 데이터를 복원(decapsulation)하여 어플리케이션 모듈에 제공한다.

Description

다중 통신 경로 기반의 서비스 제공 시스템 {SERVICE SYSTEM BASED ON MULTI COUMMNICATION PATHS}
개시된 기술은 다중 경로 기반의 서비스 제공 기술에 관한 것으로, 특히 모바일 단말의 접속 환경에 따라 최적화된 통신 경로를 유지할 수 있는 다중 경로 기반의 서비스 제공 기술에 관한 것이다.
통신 기술의 발전에 따라 모바일 단말은 다양한 통신망에 접속이 가능하다. 그러나, 모바일 기기의 이동성 및 통신망마다 통신 가능 지역의 범위가 달라, 서비스를 수행하기 위한 통신 경로의 설정이 효율적이지 못한 문제점이 있다. 가령 WiFi 모듈과 3G 모듈을 가진 스마트 폰의 경우, WiFi 망을 사용하는 것이 대역폭이나 통신 비용 측면에서 유리하나 WiFi망의 불안정, WiFi 불안정 지역에서의 낮은 처리량 등의 문제로 3G망과 WiFi망간의 잦은 핸드오프(handoff)가 발생할 수 있고 이에 따라 사용자의 체감 품질이 저하되는 문제가 있다. 또한 스마트 폰의 어플리케이션을 개발함에 있어서도 통신망의 변경에 따라 통신 경로를 갱신할 수 있도록 개발해야 하고, HTTPS 등과 같은 보안 통신 환경 또는 로그인이 필요한 통신 환경에서 통신망의 변경이 발생하면 다시 필요한 절차를 재수행해야 하므로 서비스의 연속성(seamless)을 확보하는 것이 어려운 문제점이 있다.
실시예들 중에서, 통신 경로 연결 방법은 어플리케이션 서버와 모바일 단말을 연결시키고 상기 모바일 단말과 제1 또는 제2 통신 경로로 연결될 수 있는 커넥팅 서버에서 수행된다. 여기에서, 상기 모바일 단말은 상기 어플리케이션 서버의 관점에서 제3 모바일 IP 주소를 가지고 상기 커넥팅 서버의 관점에서 제1 또는 제2 모바일 IP 주소를 가지며, 상기 제1 모바일 IP 주소는 상기 제1 통신 경로에 매핑되고 상기 제2 모바일 IP 주소는 상기 제2 통신 경로에 매핑된다. 상기 통신 경로 연결 방법은 (a) 상기 어플리케이션 서버로부터 상기 제3 모바일 IP 주소를 가지는 모바일 데이터를 수신하는 단계, (b) 상기 제1 또는 제2 모바일 IP 주소를 목적지로 선택하여 상기 수신된 모바일 데이터를 캡슐화(encapsulation)하는 단계 및 (c) 상기 모바일 단말에 해당 통신 경로를 통해 상기 선택된 목적지로 상기 캡슐화된 모바일 데이터를 송신하는 단계를 포함한다.
실시예들 중에서, 통신 경로 연결 방법은 커넥팅 서버를 경유하여 어플리케이션 서버와 통신하는 모바일 단말의 커넥팅 클라이언트에서 수행된다. 상기 모바일 단말은 제1 또는 제2 통신 경로를 통하여 상기 커넥팅 서버와 연결 가능하다. 상기 통신 경로 연결 방법은 (a) 모바일 단말의 어플리케이션으로부터 상기 어플리케이션 서버로 전송할 모바일 데이터를 제공받는 단계, (b) 상기 제1 또는 제2 통신 경로 중 적어도 하나를 동적으로 선택하는 단계 및 (c) 상기 제공된 모바일 데이터를 캡슐화(encapsulation)하여 상기 선택된 통신 경로를 통해 송신하는 단계를 포함한다.
실시예들 중에서, 다중 통신 경로 기반의 서비스 제공 시스템은 어플리케이션 서버, 커넥팅 클라이언트를 구비한 모바일 단말 및 상기 커넥팅 클라이언트와 상기 어플리케이션 서버를 연결하는 커넥팅 서버를 포함한다. 여기에서, 상기 커넥팅 서버와 상기 모바일 단말은 제1 또는 제2 통신 경로로 연결 가능하다. 상기 커넥팅 서버는 상기 어플리케이션 서버로부터 수신된 모바일 데이터를 캡슐화하고, 제1 또는 제2 통신 경로 중 어느 하나를 선택하여 상기 캡슐화된 데이터를 상기 모바일 단말에 전송한다. 상기 커넥팅 클라이언트는 상기 캡슐화된 모바일 데이터를 복원(decapsulation)하여 어플리케이션 모듈에 제공한다.
도 1은 개시된 기술의 다중 통신 경로 기반의 서비스 제공 시스템을 설명하는 구성도이다.
도 2는 도 1의 커넥팅 서버의 일 실시예를 설명하기 위한 블록도이다.
도 3은 도 2의 커넥팅 서버의 동작에 대한 일실시예를 설명하는 순서도이다.
도 4는 도 1의 모바일 단말의 일 실시예를 설명하기 위한 블록도이다.
도 5는 도 4의 커넥팅 클라이언트의 일 실시예를 설명하기 위한 블록도이다.
도 6은 도 5의 커넥팅 클라이언트의 동작에 대한 일 실시예를 설명하기 위한 순서도이다.
도 7은 개시된 기술의 패킷 구조를 설명하는 도면이다.
도 8은 IP 주소를 할당하기 위한 각 구성요소 간의 동작을 설명하기 위한 흐름도이다.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
"및/또는"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및/또는 제3 항목"의 의미는 제1, 제2 또는 제3 항목뿐만 아니라 제1, 제2 또는 제3 항목들 중 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 개시된 기술의 다중 통신 경로 기반의 서비스 제공 시스템을 설명하는 구성도이다.
도 1을 참조하면, 다중 통신 경로 기반의 서비스 제공 시스템(100, 이하 서비스 제공 시스템)은 어플리케이션 서버(110), 커넥팅 서버(120) 및 모바일 단말(130)을 포함한다.
어플리케이션 서버(110)는 모바일 단말(130)의 어플리케이션과 데이터를 주고 받아서 사용자가 원하는 서비스를 제공할 수 있다. 예를 들면, 어플리케이션 서버(110)는 웹 서버, VoD 서버, VoIP 서버 등이 될 수 있고, 모바일 단말(130)의 어플리케이션은 그에 대한 웹 브라우저, VoD 클라이언트, VoIP 클라이언트 등이 될 수 있다.
커넥팅 서버(120)는 어플리케이션 서버(110)로부터 수신된 데이터(이하, 모바일 데이터)를 복수의 통신 경로 중 하나를 통하여 모바일 단말(130)에 전송하고, 또한 모바일 단말 (130)으로부터 복수의 통신경로중 하나를 통하여 수신된 데이터를 어플리케이션 서버로 전송한다. 이하에서는, 복수의 통신 경로를 제1 통신 경로 및 제2 통신 경로로서 일반화하여 설명한다. 또한, 설명의 편의를 위하여 제1 통신 경로는 3G 통신망을 통하여 설정된 경로로서, 제2 통신 경로는 WiFi 통신망을 통하여 설정된 경로로서 가정하고 설명하나, 이러한 가정이 개시된 발명을 제한하지 않음은 명백하다. 커넥팅 서버(120)의 구체적인 설명에 대해서는 도 2 내지 도 3을 참조하여 후술한다.
모바일 단말(130)은 커넥팅 서버(120)를 경유하여 어플리케이션 서버(110)로부터 해당 서비스를 제공받을 수 있다. 모바일 단말(130)은 커넥팅 서버(120)와 통신하기 위한 커넥팅 클라이언트가 탑재될 수 있고, 커넥팅 클라이언트는 모바일 단말(130)에서 수행되는 어플리케이션 프로그램에 모바일 데이터를 제공할 수 있다. 이러한 모바일 단말(130)은 복수의 통신 기능을 구비한 휴대용 단말(예컨대, 스마트 폰)로서 구현될 수 있다. 이하에서는, 3G 통신 기능 및 WiFi 통신 기능을 가진 모바일 단말(130)을 가정하여 설명하나, 당업자의 요구에 따라 서로 다른 세가지 이상의 통신 방법으로 통신 가능함은 자명하다. 모바일 단말(130)의 구체적인 설명에 대해서는 도 4 내지 도 6을 참조하여 후술한다.
도 1에서, 어플리케이션 서버(110)의 IP 주소는 "AS IP 주소"로, 제1 통신 경로에 기초한 커넥팅 서버(120)의 주소는 "제1 서버 IP 주소", 제2 통신 경로에 기초한 커넥팅 서버(120)의 주소는 "제2 서버 IP 주소"로, 제1 통신 경로에 기초한 모바일 단말(130)의 주소는 "제1 모바일 IP 주소", 제2 통신 경로에 기초한 모바일 단말(130)의 주소는 "제2 모바일 IP 주소", 모바일 단말(130)의 커넥팅 클라이언트가 관리하는 인터넷 주소는 "모바일 IP 주소"로 표현한다. 일 실시예에서, "제1 서버 IP 주소"와 "제2 서버 IP 주소"는 동일할 수 있다. 일 실시예에서, 어플리케이션 서버(110)와 모바일 단말(130)의 어플리케이션은 "AS IP 주소" 및 "모바일 IP 주소"만으로 데이터를 송수신할 수 있고, 통신 경로의 전환에 따른 데이터 전송은 커넥팅 서버(120) 및 커넥팅 클라이언트 사이에서만 수행될 수 있다. 따라서, 어플리케이션 서버(110)와 모바일 단말(130)의 어플리케이션은 실제 어느 통신망을 통해서 데이터가 전송이 되어도 무관하며, 하나의 망만 존재할 경우와 동일하게 동작하면서도 서비스를 제공할 수 있다.
이하, 어플리케이션 서버(110)로부터 모바일 단말(130)로 향하는 방향을 다운링크라 하고, 모바일 단말(130)로부터 어플리케이션 서버(110)로 향하는 방향을 업링크라 표현하다.
이하에서는, 모바일 단말의 WiFi IP 주소와 커넥팅 서버가 보는 WiFi망을 통한 모바일 단말의 주소를 동일하게 "제2 모바일 IP 주소"로 사용하나, WiFi 통신망에는 NAT(Network Address Translation)가 존재할 수 있으며 이러한 경우 단말의 실제 WiFi IP 주소와 커넥팅 서버가 보는 WiFi IP 주소는 다를 수 있다. 이하에서는 설명의 편의를 위하여 NAT가 없는 경우를 가정하여 "제2 모바일 IP 주소"로서 설명을 하나, NAT가 존재하는 경우라도 당업자의 수준에서 용이하게 이해되고 실시될 수 있으며 개시된 발명의 권리 범위에 속함은 자명하다. 3G 통신망에 대해서도 마찬가지로 가정하고 설명한다.
모바일 단말(130)의 어플리케이션에 따라서는 " 모바일 IP 주소"를 이용하지 않고, 어플리케이션이 직접 "제1 모바일 IP 주소" 또는 " 제2 모바일 IP 주소"를 이용할 수 있다. 다시 말해, 어플리케이션의 종류에 따라 특정 어플리케이션은 커넥팅 클라이언트를 이용하여 서비스를 제공받을 수 있고, 다른 어플리케이션은 커넥팅 클라이언트를 이용하지 않고 직접 서비스를 제공받을 수 있다. 또한, 하나의 모바일 단말(130)에 특정 어플리케이션과 다른 어플리케이션이 동시에 탑재될 수도 있다.
도 2는 도 1의 커넥팅 서버의 일 실시예를 설명하기 위한 블록도이고, 도 3은 도 2의 커넥팅 서버의 동작에 대한 일실시예를 설명하는 순서도이다.
도 2를 참조하면, 커넥팅 서버(120)는 IP 통신 모듈(210), 데이터 변환부(220), 통신 경로 선택부(230), 3G 통신 모듈(240), WiFi 통신 모듈(250), 및 IP 주소 관리부(260)를 포함할 수 있다. 일 실시예에서, 커넥팅 서버(120)는 통신망 확인부 (270) 또는 히스토리 저장부(280)를 더 포함할 수 있다.
IP 통신 모듈(210)은 어플리케이션 서버(110)로부터 모바일 단말(130)로 향하는 다운링크 패킷를 수신하거나, 모바일 단말(130)로부터 수신된 업링크 패킷을 어플리케이션 서버(110)로 송신 할 수 있다.
데이터 변환부(220)는 모바일 데이터를 캡슐화(encapsulation)하거나 캡슐화된 데이터를 복원(decapsulation)할 수 있다. 다운링크 전송을 위한 일 실시예에서, 데이터 변환부(220)는 통신 경로 선택부(230)로부터 선택된 제1 또는 제2 모바일 IP 주소를 목적지로 하여 모바일 데이터를 캡슐화할 수 있다. 이러한 데이터 변환부(220)의 캡슐화/복원을 통하여 (1) 모바일 IP 주소와 (2) 제1 또는 제2 모바일 IP 주소가 상호 변환되는 효과를 가질 수 있다.
일 실시예에서, 데이터 변환부(220)는 모바일 데이터에 대하여 암호화 또는 복호화를 수행할 수 있다. 이를 위하여, 데이터 변환부(220)는 커넥팅 클라이언트와 통신하여 암호화를 위한 키(KEY)를 설정하고, 그 설정된 키를 이용하여 암호화(다운링크) 또는 복호화(업링크)를 수행할 수 있다. 여기에서, 암호/복호화를 위하여 공개키 기반의 암호 방법이나 비밀키 기반의 암호 방법 등 다양한 암호 기술이 사용될 수 있고, 데이터 변환부(220)는 해당 암호/복호화를 위한 모듈이나 알고리즘을 구비할 수 있다.
일 실시예에서, 데이터 변환부(220)는 통신 경로 선택부(230)에서 선택한 경로 마다 서로 상이하게 모바일 데이터를 캡슐화 또는 암호화할 수 있다. 캡슐화의 일 예를 들면, 데이터 변환부(220)는 캡슐화 수행시 발신 인터넷 주소 및/또는 수신 인터넷 주소를 통신 경로에 따라 다르게 지정할 수 도 있다. 또는 캡슐화의 프로토콜 (UDP, TCP, GRE등)을 다르게 지정할 수도 있다. 암호화의 일 예를 들면, 데이터 변환부(220)는 통신 경로에 따라 다른 암호 기술을 사용할 수 있다.
통신 경로 선택부(230)는 모바일 단말의 커넥팅 클라이언트(430)와 업링크 또는 다운링크 통신을 수행할 통신 경로를 동적으로 선택할 수 있다. 통신 경로 선택부(230)는 선택된 통신 경로에 매핑되는 커넥팅 클라이언트(430)의 IP 주소를 데이터 변환부(220)에 제공할 수 있다. 예를 들어, 제1 통신 경로를 선택하였다면, 통신 경로 선택부(230)는 "제1 모바일 IP 주소"를 데이터 변환부(220)에 제공할 수 있고, 그 결과로 캡슐화된 모바일 데이터를 커넥팅 클라이언트(430)에 제공할 수 있다.
다운링크 통신의 일 실시예에서, 통신 경로 선택부(230)는 제1 및 제2 통신 경로의 상태를 확인하여, 보다 양호한 상태의 통신 경로를 선택하여 다운링크 통신을 실시할 수 있다.
다운링크 통신의 다른 일 실시예에서, 통신 경로 선택부(230)는 모바일 단말(130)-더 상세히는 커넥팅 클라이언트(430)-로부터 수신된 업랭크 패킷의 히스토리를 확인하여 통신 경로를 선택할 수 있다.
예를 들어, 통신 경로 선택부(230)는 제2 통신 경로(WiFi)를 통해 수신된 업링크 패킷의 수신 시간에 기초하여 선택될 수 있다. 다시 말해, 통신 경로 선택부(230)는 제2 통신 경로(WiFi)를 통해 커넥팅 클라이언트(430)로부터 가장 최근에 수신된 업링크 패킷의 수신 시각을 확인하고, 확인된 수신 시각으로부터 설정된 시간 이내이면 제2 통신 경로를 선택할 수 있다. 만약, 최근의 업링크 패킷의 수신 시간으로부터 설정된 시간이 경과되었다면 제1 통신 경로를 선택할 수 있다. 업링크 패킷은 WiFi 통신망의 NAT의 포트 바인딩(port binding)을 위하여 모바일 단말(130)이 송신한 주기적인 데이터일 수 있고, 또는 어플리케이션 서버(110)에 대한 응답 데이터일 수 있다. 여기에서, 설정된 시간은 WiFi 통신망의 NAT의 포트 바인딩(port binding) 시간을 고려하여 설정될 수 있다.
일 실시예에서, 통신경로 선택부(230)는 특정 통신 경로로 데이터가 갈 수 있나 확인을 하기 위하여 KeepAlive 패킷을 보낼수 있다. 예를 들어, 보낼 다운 링크 패킷 있을 때, 일정 시간 동안 제2 통신 경로를 통해 수신된 업링크 패킷이 없었으면 제 2 통신 경로로 KeepAlive 패킷을 보내어 모바일 단말(130)이 이에 응답하도록 요청할 수 있다. 모바일 단말(130)부터 해당 응답이 수신되면, 통신경로 선택부(230)는 제2 통신 경로가 사용 가능함을 확인하고 확인된 제2 통신 경로를 통하여 다운링크 데이터를 보낼 수 있다. 통신경로 선택부(230)는 해당 응답이 수신될 때 까지 다운링크 패킷을 버퍼링하고 있을 수도 있고, 또는 사용 가능한 채널인 제1 통신경로를 통하여 모바일 단말(130)로 전송할 수도 있다.
다운링크 통신의 또 다른 일 실시예에서, 통신 경로 선택부(230)는 업링크 패킷의 히스토리를 확인하여 최근의 업링크를 확인할 수 있고, 확인된 최근의 업링크가 유효한지 검증하여 유효하면 해당 업링크 패킷을 수신한 통신 경로를 선택할 수 있다. 여기에서, 업링크를 확인하기 위하여 통신 경로 선택부(230)는 응답을 요구하는 확인용 패킷을 해당 통신 경로를 통하여 송신할 수 있다. 예를 들어, 업링크 패킷의 히스토리를 확인한 결과, 최근의 업링크가 제2 통신 경로를 통하여 수신된 패킷이면, 제2 통신 경로를 통하여 모바일 단말(130)에 응답을 요청하는 확인용 패킷을 전송하여 그에 대한 응답이 수신되면 제2 통신 경로가 유효한지 검증할 수 있다.
업링크 통신의 일 실시예에서, 통신 경로 선택부(230)는 제1 및 제2 통신 경로의 상태를 확인하여, 보다 양호한 상태의 통신 경로를 선택하여 그에 대한 정보를 커넥팅 클라이언트(430)에 제공할 수 있다. 이러한 실시예는, 업링크의 주체가 되는 모바일 단말(130)은 보다 유리한 통신 경로를 확인하기 위한 사전 통신이 자주 발생하면 전원관리 상의 문제가 발생할 수 있으므로, 커넥팅 서버(120)에서 보다 양호한 통신 경로에 대한 정보를 제공하도록 하는 것이다.
3G 통신 모듈(240)은 제1 통신 경로를 통해 모바일 단말(130)과 패킷을 송수신할 수 있다. 다시 말해, 커넥팅 서버(110)는 3G 통신 모듈(240)을 이용하여 3G 기반의 IP 통신망을 통해 모바일 단말(130)와 연결될 수 있다. 일 실시예에서, 모바일 단말(130)이 3G 기반의 무선 통신 신호를 수신할 수 있는 지역에 위치하면 모바일 단말(130)은 "제1 모바일 IP 주소"를 계속 유지할 수 있고, 커넥팅 서버(120)와 커넥팅 클라이언트(430)는 TCP 연결을 계속적으로 유지하여 모바일 단말(130)과 항상 연결될 수 있는 상태를 유지할 수 있다. 즉, 커넥팅 서버(120)가 주소 "제1 모바일 IP 주소"로 TCP 연결을 통해서 데이터를 보내면 모바일 단말(130)은 이를 연결이 유지되는 한 언제든지 수신할 수 있다.
WiFi 통신 모듈(250)은 제2 통신 경로를 통해 모바일 단말(130)과 패킷을 송수신할 수 있다. 다시 말해, 커넥팅 서버(110)는 WiFi 통신 모듈(250)을 이용하여 WiFi 기반의 IP 통신망을 통해 모바일 단말(130)과 연결될 수 있다. 일 실시예에서, 모바일 단말(130)이 WiFi 기반의 무선 통신 신호를 수신할 수 있는 지역에 위치하면, 커넥팅 서버(120)는 WiFi 통신 모듈(250)을 통해 모바일 단말(130)와 선택적으로 연결될 수 있다. 여기에서,커넥팅 서버(120)와 모바일 단말(130)이 선택적으로 연결되는 이유는 다음과 같다. 모바일 단말(130)의 경우 배터리의 소모를 최소화하기 위하여 WiFi 기반의 무선 통신 신호를 수신하지 않도록 동작할 수 있다. 예를 들어, 모바일 단말(130)은 WiFi 통신 모듈(250)과의 사이에 존재하는 NAT(Network Address Translation)로 인해 주기적으로 패킷을 전송해야만 포트 바인딩(port binding)이 유지될 수 있고, 이러한 경우에 한하여 다운링크 데이터를 수신할 수 있으나, NAT에 따라서는 이 시간이 매우 짧을 수 있어서 포트 바인딩을 위한 주기적 데이터를 계속 보내면 배터리 소모가 많아지는 문제가 발생할 수 있다. 따라서, 모바일 단말(130)은 배터리의 소모를 줄이기 위하여 포트 바인딩을 위한 패킷을 전송하지 않을 수 있기 때문에 선택적으로 연결될 수 있는 것이다. 또한, 모바일 단말(130)은 배터리 소모를 줄이기 위해 WiFi 통신망을 끄거나 "sleep" 모드로 만들수도 있으므로, WiFi 통신 신호가 있는 지역이라해도 수신을 못하는 상태로 전환될 수 있다.
도 2에서는, 3G 통신 모듈(240)과 WiFi 통신 모듈(250)을 별도로 도시하였으나, 실제 구현에서는 하나의 모듈로 구현될 수 있다. 따라서, "제1 서버 IP 주소"의 값과 "제2 서버 IP 주소"의 값이 다르게 구현될 수도 있고 동일하게 구현 될 수도 있다. 또한, IP 통신모듈(210)의 IP 주소값도 "제1 서버 IP 주소" 및/또는 "제2 서버 IP 주소"와 동일하게 구현될수도 있다.
IP 주소 관리부(260)는 모바일 단말에 할당된 (1)제1 및 제2 모바일 IP 주소 및 (2)그에 매핑되는 "모바일 IP 주소"를 저장할 수 있다. 여기에서, (i)"모바일 IP 주소"는 "제1 모바일 IP 주소" 및 "제2 모바일 IP 주소"와 매핑될 수 있고, (ii)"제1 모바일 IP 주소"는 "제1 서버 IP 주소"와 매핑될 수 있고, (iii)"제2 모바일 IP 주소"는 "제2 서버 IP 주소"와 매핑될 수 있다.
일 실시예에서, IP 주소 관리부(260)는 할당되지 않은 "모바일 IP 주소"를 저장한 모바일 IP 주소 풀을 보유할 수 있으며, 모바일 단말(130)에 "모바일 IP 주소"를 할당하기 위하여, 통신 경로 선택부(230)는 모바일 IP 주소 풀에서 "모바일 IP 주소"를 선택하여 커넥팅 클라이언트(430)에 제공할 수 있다.
통신망 확인부(270)는 제1 및 제2 통신 경로들의 상태를 확인할 수 있다. 일 실시예에서, 통신망 확인부(270)는 제1 및 제2 통신 경로들의 상태를 확인하기 위하여, 해당 모바일 단말(130)에 응답을 요구하는 확인용 패킷을 제1 및 제2 통신 경로들 각각을 통하여 송신할 수 있다. 일 실시예에서, 통신망 확인부(270)는 해당 모바일 단말(130)로부터 응답을 요구하는 확인용 패킷을 수신하면 이에 대한 응답을 수행할 수 있다. 일 실시예에서, 통신망 확인부(270)는 확인된 제1 및 제2 통신 경로들의 상태를 통신 경로 선택부(230)에 제공할 수 있다.
히스토리 저장부(280)는 각각의 모바일 단말과 통신을 수행한 패킷의 히스토리를 저장하고 있다. 전술한 바와 같이, 통신 경로 선택부(230)는 히스토리 저장부(280)에 저장된 패킷의 히스토리를 이용하여 다운링크로 사용할 통신 경로를 결정할 수 있다.
히스토리 저장부(280)에 저장되는 데이터 및 그를 이용하는 통신 경로 선택부(230)의 예시에 대하여 설명한다. 이는 하나의 예시에 불과하며, 다른 형태로서 구현될 수도 있다. 제2 통신 경로를 통해 커넥팅 클라이언트(430)로부터 업링크 패킷이 수신되면, 히스토리 저장부(280)는 이를 저장하고 카운트를 시작할 수 있다. 히스토리 저장부(280)는 카운트 값이 설정 시간(예를 들어, 1분)을 초과하면 통신 경로 선택부(230)에 이를 알릴 수 있다. 일 실시예에서, 통신 경로 선택부(230)가 일정 조건을 가지는 패킷에 대하여 확인을 요청하는 경우(예를 들어, 특정 5 tuple-source주소, source port, destination 주소, destination port, protocol-을 가지는 패킷), 히스토리 저장부(280)는 그에 해당하는 업링크로 패킷을 받은 마지막 시간이 언제인지 알려줄 수도 있다. 다른 일 실시예에서, 히스토리 저장부(280)는 제2 통신 경로를 통한 다운링크 패킷에 대해서도 동일한 동작을 할 수 있다. 예를 들어, 히스토리 저장부(280)는 업링크와 다운링크에 대해 카운트 정보를 각각 통신 경로 선택부(230)에게 전송할 수도 있고, 두 개의 링크에 대한 정보를 매핑(마지막으로 다운링크 또는 업링크 패킷이 온 시점으로부터 현재까지 경과된 시간 정보를 포함)하여 전송할 수도 있다. 일 실시예에서, 다운링크의 정보는 사용하지 않고 업링크의 정보만 사용한 이유는, 다운링크 패킷이 제2 통신 경로를 통해서 보내졌다고 해서 이것이 반드시 모바일 단말(130)에 도달하였다는 보장이 없기 때문이다. 또한, 데이터가 업링크 전송으로 커넥팅 서버(120)에 도착하였다는 것은 모바일 단말(130)로부터 커넥팅 서버(120)로 오는 WiFi 통신망이 살아있다는 것을 의미하고 다운링크 전송도 WiFi 통신망을 통해 커넥팅 서버(120)에서 모바일 단말(130)로 일정 시간동안은 갈수 있음을 알 수 있기 때문이다.
도 3은 커넥팅 서버의 동작에 대한 일실시예-제2 통신 경로로 수신된 업링크 패킷을 이용하여 다운링크 통신 경로를 선택-를 설명하는 순서도이다.
통신 경로 선택부(230)는 IP 통신 모듈(210)에서 다운링크 데이터가 수신되면(단계 S310), 히스토리 저장부(280)에 저장된 제2 통신 경로를 통하여 수신된 가장 최근의 업링크 패킷의 수신 시각을 확인할 수 있다(단계 S320). 만일 해당 수신 시각으로부터의 카운트 값이 설정 시간을 경과하지 않은 경우(단계 S330,예), 통신 경로 선택부(230)는 제2 통신 경로를 선택하고, WiFi 통신 모듈(250)을 통해 다운링크 패킷을 커넥팅 클라이언트(430)에 송신할 수 있다(단계 S340). 또는 카운트 값이 설정 시간을 경과하였다면(단계 S330,예), 통신 경로 선택부(230)는 제1 통신 경로를 선택하고, 3G 통신 모듈(240)을 통해 다운링크 패킷을 커넥팅 클라이언트(340)에 송신할 수 있다(단계 S350). 다른 일 실시예로, 도 6을 참조하여 설명될 커넥팅 클라이언트로부터의 명령기반의 전송 방법과 병행하여 수행할 수 있다. 일 실시예에서,단계 S330에서 설정시간 이내가 아닌 경우 제1 통신 경로 및 제2 통신 경로 모두를 통하여 다운링크 패킷을 커넥팅 클라이언트(340)로 송신할 수 있다.
커넥팅 서버(120)가 업링크 동작을 수행하는 일 실시예에서, 커넥팅 서버(120)가 수신한 업링크 패킷은 서로 중복되어서 도착하거나 또는 순서가 바뀌어서 도착할 수가 있다. 이러한 경우, 커넥팅 서버(120)는 중복된 업링크 패킷은 제거하고 순서가 바뀐 업링크 패킷은 순서를 바로 잡아서 어플리케이션 서버(110)에 전송할 수 있다.
도 4는 도 1의 모바일 단말의 일 실시예를 설명하기 위한 블록도이다.
도 4를 참조하면, 모바일 단말(130)은 3G 통신 모듈(410), WiFi 통신 모듈(420), 커넥팅 클라이언트(430) 및 어플리케이션 모듈(440)을 포함할 수 있다. 여기에서, 어플리케이션 모듈(440)은 하나로 도시되어 있으나, 커넥팅 클라이언트(430)는 동시 또는 순차로 복수의 어플리케이션 모듈들(440)에 대하여 동작을 수행할 수 있다. 3G 통신 모듈(410)은 제1 통신 경로를 통해 커넥팅 서버(120)와 패킷을 송수신할 수 있다. 다시 말해, 모바일 단말(130)은 3G 통신 모듈(410)을 이용하여 3G 기반의 IP 통신망을 통해 커넥팅 서버(110)와 연결될 수 있다. 일 실시예에서, 모바일 단말(130)이 3G 기반의 무선 통신 신호를 수신할 수 있는 지역에 위치하면, 모바일 단말(130)은 "제1 모바일 IP 주소"를 계속 유지할 수 있고 커넥팅 서버(120)와 커넥팅 클라이언트(430)는 TCP 연결을 계속해서 맺고 있으므로 항상 연결될 수 있는 상태를 유지할 수 있다. 즉, 커넥팅 서버(120)가 "제1 모바일 IP 주소"로 TCP 연결을 통해서 데이터를 보내면 모바일 단말(130)은 이를 수신할 수 있다.
WiFi 통신 모듈(420)은 제2 통신 경로를 통해 커넥팅 서버(120)와 패킷을 송수신할 수 있다. 다시 말해, 모바일 단말(130)은 WiFi 통신 모듈(420)을 이용하여 WiFi 기반의 IP 통신망을 통해 커넥팅 서버(110)와 연결될 수 있다. 일 실시예에서, 모바일 단말(130)이 WiFi 기반의 무선 통신 신호를 수신할 수 있는 지역에 위치하면, WiFi 통신 모듈(420)은 커넥팅 서버(120)와 선택적으로 연결될 수 있다. 모바일 단말(130)와 커넥팅 서버(120)가 선택적으로 연결되는 이유는 도 2의 설명에서 설명된 내용과 동일하다.
커넥팅 클라이언트(430)는 제1 또는 제2 통신 경로를 통하여 커넥팅 서버(120)로부터 수신한 캡슐화된 모바일 데이터를 복원하여 어플리케이션 모듈(440)에 제공할 수 있다. 여기에서, 캡슐화는 ME(Minimal Encapsulation), UDP encapsulation, TCP encapsulation이나 GRE(Generic Routing Encapsulation)등을 이용하여 실시될 수 있다. 여기에서, 커넥팅 클라이언트(430)는 커넥팅 서버(120)의 IP 주소를 미리 알고 있거나(예를 들어, 미리 설정되어 저장될 수 있다) "DNS lookup" 등을 통하여 커넥팅 서버(120)의 IP 주소를 알아낼 수 있다. 또한 커넥팅 클라이언트(430)는 커넥팅 서버(120)로부터 "모바일 IP 주소"를 할당받을 수 있다.
일 실시예에서, 커넥팅 클라이언트(430)는 제1 및/또는 제2 통신 경로에 대한 연결 가능 여부를 확인하여 커넥팅 서버(120)에 제공할 수 있다. 이러한 실시예에서, 제1 및/또는 제2 통신 경로에 대한 연결 가능 여부는 주기적 시간마다 이루어질 수 있고, 커넥팅 클라이언트(430)는 모바일 단말(130)의 잔여 전력에 따라 동적으로 주기를 제어할 수 있다. 예를 들어, 모바일 단말(130)의 잔여 전력량이 많으면 제1 및/또는 제2 통신 경로에 대한 연결 가능 여부는 보다 짧은 주기마다 이루어질 수 있고, 잔여 전력량이 적으면 제1 및/또는 제2 통신 경로에 대한 연결 가능 여부는 보다 긴 주기마다 이루어질 수 있다. 이러한 실시예에서, 제1 및/또는 제2 통신 경로에 대한 연결 가능 여부의 확인은 커넥팅 클라이언트(430)가 업링크로 보낼 패킷이 있는 경우 또는 다운링크로 패킷을 받는 경우에 이루어 질수 있다.
일 실시예에서, 데이터가 암호화된 경우, 커넥팅 클라이언트(430)는 이를 복호화할 수 있다. 여기에서, 암호화 및 복호화는 IP-SEC, TLS등을 이용할 수 있다.
일 실시예에서, 커넥팅 클라이언트(430)가 수신한 다운링크 데이터가 중복되거나 또는 순서가 바뀐 경우, 커넥팅 클라이언트(430)는 중복된 패킷은 제거하고 순서가 바뀐 패킷은 순서를 바로 잡아서 어플리케이션 모듈(440)에 제공할 수 있다.
커넥팅 클라이언트(430)는 어플리케이션 모듈(440)로부터 전달받은 모바일 데이터(업링크 데이터)를 캡슐화하고, 제1 또는 제2 통신 경로를 통하여 커넥팅 서버(120)에 송신할 수 있다. 더 상세히 설명하면, 커넥팅 서버(120)에 보낼 업링크 데이터가 있을 때, 커넥팅 클라이언트(430)는 WiFi 통신 모듈(420) 이나 3G통신 모듈(410) 중 아무 것이나 이용하여 업링크 데이터를 보낼수 있다(WiFi 신호와 3G 신호가 모두 수신되는 경우로 가정). 이것은 커넥팅 서버(120)에서 커넥팅 클라이언트(430)로 다운링크 데이터를 보내는 경우와는 상이하다. 그 이유로는 첫째, 커넥팅 서버(120)와 커넥팅 클라이언트(430) 사이에 NAT등이 있을 때 업링크 방향으로는 항상 데이터를 보낼 수 있으나 다운링크 방향으로는 NAT 의 port binding이 살아 있는 동안에만 보낼 수가 있기 때문이고, 둘째, 모바일 단말(130)에서는 필요하면 언제든지 모뎀을 켜고 서버와 연결을 맺고 데이터를 보낼 수 있는데 반해, 서버는 단말의 모뎀에 이런 동작을 하게 할 수 없기 때문이다.
일 실시예에서, 커넥팅 클라이언트(430)는 커넥팅 서버(120)로부터 제1 및 제2 통신 경로의 상태에 관한 정보를 수신하고, 수신된 정보를 이용하여 업링크 전송을 실시할 통신 경로를 결정할 수 있다.
일 실시예에서, 커넥팅 클라이언트(430)는 제2 통신 경로의 연결 여부를 확인하여 제2 통신 경로가 연결된 경우 WiFi 통신 모듈(420)을 통해 데이터를 전송할 수 있고, 제2 통신 경로가 연결되지 않은 경우 3G 통신 모듈(410)을 통해 데이터를 전송할 수 있다. 여기에서, 제2 통신 경로의 연결 여부의 확인은 WiFi 기반의 무선 통신 신호의 수신 여부에 상응할 수 있다. 또는 통신 경로의 연결 여부를 확인하기 위하여 실제로 데이터를 송신할 수 있다. 즉, 커넥팅 클라이언트(430)는 해당 통신경로(여기서는, WiFi 망)을 통하여 커넥팅 서버(120)에 "응답을 요구하는 패킷"을 송신하고, 그에 대한 커넥팅 서버의 응답을 확인하여 통신 경로의 연결 여부를 확인할 수 있다. 또한, 최근에 해당 통신 경로를 통하여 다운링크 데이터를 받은 적이 있는지의 정보도 활용하여 제2 통신 경로의 연결 여부를 확인할 수도 있다.
어플리케이션 모듈(440)은 모바일 단말(130)에서 수행되는 어플리케이션을 실행할 수 있다. 여기에서, 어플리케이션 모듈(440)은 "모바일 IP 주소"와 "AS 서버 IP 주소"만을 이용하여 어플리케이션 서버(110)와 통신을 수행할 수 있다.
일 실시예에서, 어플리케이션 모듈(440)은 어플리케이션 서버(110)로 전송할 모바일 데이터를 커텍팅 클라이언트(430)에 제공할 수 있다. 다시 말해, 어플리케이션 모듈(440)은 "제1 모바일 IP 주소", "제2 모바일 IP 주소", "제1서버 IP 주소" 및 "제2 서버 IP 주소"를 알 필요 없이, 어플리케이션 서버(110)의 주소("AS IP 주소)만 알아도 커텍팅 클라이언트(430)를 통하여 통신을 수행할 수 있다.
도 5는 도 4의 커넥팅 클라이언트의 일 실시예를 설명하기 위한 블록도이고, 도 6은 도 5의 커넥팅 클라이언트의 동작에 대한 일 실시예를 설명하기 위한 순서도이다.
도 5를 참조하면, 커넥팅 클라이언트(430)는 통신망 확인부(510), 통신 경로 선택부(520), 데이터 변환부(530) 및 IP 주소 저장부(540)을 포함할 수 있다.
통신망 확인부(510)는 모바일 단말(130)이 3G 및/또는 WiFi 통신망에 연결 가능여부를 확인할 수 있다. 예를 들어, 연결 여부는 해당 통신 경로의 감도를 감지하여 확인할 수 있다. 또는 응답 확인용 패킷을 커넥팅 서버(120)에 보내보고, 그에 대한 응답을 확인하여 통신 경로에 연결 가능한지 여부를 확인할 수 있다. 일 실시예에서, 3G 통신 모듈(410)과 WiFi 통신 모듈(420)은 자신들이 각각 해당 통신망에 연결 가능한지를 통신망 확인부(510)에 알려줄 수 있다.
통신 경로 선택부(520)는 통신망 확인부(510)의 확인 결과를 수신하며, 수신된 정보를 기초로 업링크 패킷을 송신할 통신 경로를 선택할 수 있다. 일 실시예에서, 통신 경로 선택부(520)는 제1 또는 제2 통신 경로에 대하여 우선 순위를 지정할 수 있다. 예를 들어, 통신 경로 선택부(520)는 제2 통신 경로를 우선적으로 사용할 수 있다. 즉, 제2 통신 경로가 연결되지 않은 경우 제1 통신 경로를 선택하여 통신할 수 있다.
일 실시예에서, 통신 경로 선택부(520)는 통신망 확인부(510)의 확인 결과와 함께, 수신된 정보 및/또는 다른 정보들 (예를 들면, 제 2 통신 경로를 통해 마지막으로 데이터를 주고받은 시간)등을 더 이용하여 다운링크 패킷을 수신할 통신 경로를 선택하고 선택된 경로를 커넥팅 서버(120)에 알려줄 수 있다. 만일, 통신 경로들의 상황이 바뀌어 다운링크 패킷을 수신할 통신 경로가 바뀌게 되면 그때마다 선택된 경로를 커넥팅 서버에 알려줄 수 있다. 이러한 실시예의 경우, 커넥팅 서버(120)는 통신 경로 선택부(520)에서 알려준 통신 경로를 통해 모바일 메시지를 커넥팅 클라이언트(430)로 전송할 수 있다.
다른 일 실시예에서, 통신 경로 선택부(520)는 선택된 경로를 커넥팅 서버(120)에 알리지 않을 수 있다. 이러한 경우 커넥팅 서버(120)는 다운링크 패킷을 전송할 통신 경로를 직접 선택할 수 있다.
또 다른 일 실시예에서, 통신 경로 선택부(520)가 다운링크 패킷을 수신할 통신 경로를 선택하여 이를 커넥팅 서버(120)에 알려준 경우라 하더라도, 커넥팅 서버(120)는 통신 경로 선택부(520)에서 선택된 통신 경로와 커넥팅 서버(120)가 얻어낸 정보 (예를 들면, 히스토리 정보 등)를 모두 이용하여 다운링크 패킷을 전송할 통신 경로를 직접 선택할 수 있다.
데이터 변환부(530)는 다운링크 패킷의 경우 수신된 데이터를 변환할 수 있다. 일 실시예에서, 데이터가 캡슐화 또는 암호화된 경우, 데이터 변환부(530)는 캡슐화 또는 암호화된 데이터를 복원 또는 복호화할 수 있다. 데이터 변환부(530)는 업링크 패킷의 경우 통신 경로 선택부(520)가 선택한 통신 경로에 맞게 갭슐화 및/또는 암호화를 진행한다.
IP 주소 저장부(540)는 "모바일 IP 주소"와 제1 통신 경로 및 제2 통신 경로에 의한 커넥팅 클라이언트의 인터넷 주소("제1 모바일 IP 주소" 및 "제2 모바일 IP 주소")를 매핑하고, 제1 통신 경로 및 제2 통신 경로에 의한 커넥팅 서버의 인터넷 주소("제1 서버 IP 주소" 및 "제2 서버 IP 주소")를 매핑하여 저장할 수 있다. 예를 들어, "모바일 IP 주소"는 "제1 모바일 IP 주소" 및 "제2 모바일 IP 주소"와 매핑되고, "제1 모바일 IP 주소"는 "제1 서버 IP 주소"와 매핑되고 "제2 모바일 IP 주소"는 "제2 서버 IP 주소"와 매핑되어 저장될 수 있다.
도 6에서, 통신 경로 선택부(520)는 통신망 확인부(510)의 확인 결과에 따라 각각의 통신 경로의 상태를 확인할 수 있고(단계 S610), 연결이 가능한 통신망이 있는 경우(단계 S620) 해당 통신 경로를 다운링크를 위한 통신 경로로서 커넥팅 서버(120)에 알려줄 수 있으며(단계 S630), 커넥팅 서버(120)로부터 해당 통신 경로를 통해 모바일 데이터를 수신할 수 있다(단계 S640).
도 7은 개시된 기술의 패킷 구조를 설명하는 도면이다.
도 7을 참조하면, 커넥팅 서버(120)와 커넥팅 클라이언트(430)는 각각 IP 주소 관리부 (260) 또는 IP 주소 저장부(540)에 저장된 매핑 정보에 기초하여 데이터를 송수신할 수 있다. 일 실시예에서, 커넥팅 서버(120)와 커넥팅 클라이언트(430)간의 데이터 전송은 캡슐화 과정을 수행하며 이루어질 수 있다. 여기에서, 캡슐화 과정은 ME(Minimal Encapsulation), TCP encapsulation, UDP encapsulation이나 GRE 등으로 실시될 수 있으며, 당업자의 요구에 따라 다양한 캡슐화 방식을 적용할 수 있음은 물론이다. 개시된 기술에서는 하나의 예로 GRE를 이용하여 캡슐화하는 것으로 설명하기로 한다. 이는 NAT가 Port 번호도 바꾸는 동작을 수행하는 경우는 GRE를 이용하여 캡슐화를 수행하면 문제가 발생할 수 있으므로 실제적으로는 TCP나 UDP로 캡슐화를 수행해야 하나, 여기서는 설명을 간단하게 하기 위해 NAT가 IP주소만 바꾸고 Port 번호는 바꾸지 않는다고 가정하고 GRE로 캡슐화 하는 것으로 설명한다. 예를 들어, 메시지는 전송될 통신 경로에 상응하는 송신측 IP 주소 및 수신측 IP 주소, GRE 헤더(Header) 및 다운링크/업링크 패킷을 포함할 수 있다.
또한, 실제로는 보통 WiFi 망에 NAT가 존재하여 IP 할당 등에 관여할 수 있어,모바일 단말(130)이 알고 있는 제2 모바일 IP 주소와 커넥팅 서버(120)가 알고 있는 제2 모바일 IP 주소와 다를 수 있다. 그러나 여기서는 설명의 편의를 위하여 마치 NAT가 IP를 변경하는 등의 동작을 수행하지 않는 것으로 가정하여 설명한다. 실제로는 3G 통신망에도 NAT가 존재할 수 있으나 같은 이유로 NAT가 IP를 변경하는 등의 동작을 수행하지 않는 것으로 가정하여 설명한다.도 7에서, 제1 통신 경로를 통해 어플리케이션 모듈(440)에서 어플리케이션 서버(110)로 데이터(도 7에서 업링크 패킷으로 도시함)를 전송하는 과정을 살펴보면, 어플리케이션 모듈(440)은 송신측 인터넷 주소를 "모바일 IP", 수신측 인터넷 주소를 "AS 서버 IP "로 포함하는 데이터를 생성하여 커넥팅 클라이언트(430)로 전송할 수 있고, 커넥팅 클라이언트(430)는 IP 주소 저장부(540)에 저장된 매핑정보에 기초하여 송신측 인터넷 주소를 "제1 모바일 IP", 수신측 인터넷 주소를 " 제1 서버 IP "로 하고 GRE로 캡슐화된 패킷을 생성하여 커넥팅 서버(120)로 전송할 수 있다. 이를 수신한 커넥팅 서버(120)는 GRE 캡슐화를 풀어서 송신측 인터넷 주소를 "제1 모바일 IP", 수신측 인터넷 주소를 " 제1 서버 IP "으로 포함하는 원 데이터를 복원하여 어플리케이션 서버(110)로 전송할 수 있다.
도 7에서, 제2 통신 경로를 통해 어플리케이션 서버(110)에서 어플리케이션 모듈(440)로 데이터(도 7에서 다운링크 패킷으로 도시함)를 전송하는 과정을 살펴보면, 어플리케이션 서버(110)는 송신측 인터넷 주소를 "AS 서버 IP", 수신측 인터넷 주소를 "모바일 IP"로 포함하는 데이터를 생성하여 인터넷 망으로 전송하면 인터넷 망은 해당 데이터를 "모바일 IP" 주소를 보고 라우팅(routing)하여 커넥팅 서버(120)에 도착하도록 할 수 있고, 커넥팅 서버(120)는 IP 주소 저장부(270)에 저장된 매핑정보에 기초하여 송신측 인터넷 주소를 "제2 서버 IP", 수신측 인터넷 주소를 "제2 모바일 IP"로 포함하고 GRE로 캡슐화된 패킷을 생성하여 커넥팅 클라이언트(430)로 전송할 수 있으며, 커넥팅 클라이언트(430)는 GRE 캡슐화를 풀어서 송신측 인터넷 주소를 "AS 서버 IP", 수신측 인터넷 주소를 "모바일 IP"로 포함하는 원 데이터를 복원하여 어플리케이션 모듈(440)로 전송할 수 있다.
도 7을 참조하면, 제1 통신 경로를 통한 다운링크 패킷의 전송 과정과 제2 경로를 통한 업링크 패킷의 전송과정은 이상의 설명에 상응함을 알 수 있다.
여기에서, 모바일 단말(130)의 어플리케이션은 어플리케이션 서버(110)와 통신을 하기 위하여 커넥팅 클라이언트(430)에 데이터 통신 소켓을 열어달라고 요청을 할 수 있다. 이때, 커넥팅 클라이언트(430)는 할당받은 "모바일 IP" 주소를 이용하여 소켓을 열어주고 "모바일 IP" 주소를 어플리케이션에게 알려줄 수 있다. 어플리케이션은 이후 이 소켓을 통해서 "모바일 IP" 주소를 자신의 source IP주소로 사용할 수 있다.
결과적으로 어플리케이션 서버(110) 및 어플리케이션 모듈(440)은 "모바일 IP"와 "AS 서버 IP"만으로도 효율적인 데이터 전송을 수행할 수 있다. 따라서, 기존의 어플리케이션 서버와 어플리케이션을 변경하지 않고서도 쉽게 적용할 수 있다.
이하에서, 도 8을 설명함에 있어, 개시된 기술의 일 실시예를 설명하기 위한 중요 메시지를 중심으로 나타내었으며, 당업자의 요구에 따라 추가될 수 있는 메시지들은 생략하여 설명한다. 도 8은 IP 주소를 할당하기 위한 각 구성요소 간의 동작을 설명하기 위한 흐름도이다.
도 8을 참조하면, 커넥팅 클라이언트(430)는 제1 통신 경로를 통하여 "모바일 IP" 주소를 요청하는 메시지(모바일 IP_Req)를 커넥팅 서버(120)에 전송할 수 있다(단계 S901). 커넥팅 서버(120)는 모바일 IP 주소 풀에서 하나의 모바일 IP 주소를 선택하여 해당 커넥팅 클라이언트(430)의 "모바일 IP" 주소를 포함하는 메시지(AS 모바일 IP_Res)를 커넥팅 클라이언트(430)에 전송할 수 있다(단계 S902). 이 단계는 잘 알려진 DHCP등을 이용하여 구현될 수도 있다. 일 실시예에서, "모바일 IP" 주소는 커넥팅 서버(120)에 의하여 고유하게 정의 될 수 있다. 여기에서, 전술한 요청이 3G 통신모듈(110)을 통하여 실시되는 것으로 도시되었다. 이는 일반적으로 3G 통신망의 접속 가능 지역이 WiFi 통신망보다 넓기 때문이다. 그러나 반드시 "모바일 IP" 주소를 위한 요청이 3G 통신모듈(110)에 의해서만 실시될 수 있다고 한정하는 것은 아니다. 즉, 이러한 요청은 연결 가능한 어느 통신 모듈이든 사용될 수 있다. 그림에서는 생략하였지만 커넥팅 클라이언트(430)와 커넥팅 서버(120) 사이에는 TCP연결이 계속 맺어져 있을 수 있고, 이를 위해서 주기적인 KeepAlive등이 있을 수 있다. 또한 커넥팅 서버(120)가 커넥팅 클라이언트(430)를 인증하기 위한 소정의 단계가 실시될 수도 있다.
도시된 예에서처럼, 제1 통신 경로를 통해 통신을 수행한 경우 별도의 과정이 없이도 커넥팅 서버(120)는 "제1 모바일 IP"를 자동적으로 알 수 있다. 만약, 제1 통신 경로가 아닌 다른 통신 경로로 통신을 수행한 경우 커넥팅 서버(120)에 "제1 모바일 IP"를 알려주는 과정이 필요할 수 있다. 이후, 커넥팅 클라이언트(430)는 수신된 "모바일 IP" 주소와 제1 통신 경로에 의한 커넥팅 클라이언트(430)의 IP 주소("제1 모바일 IP")를 매핑하여 저장할 수 있다(단계 S903). 도시되지 않았으나, 커넥팅 서버(120)도 전송한 "모바일 IP"와 해당 모바일 단말(110)의 제1 통신 경로에 의한 커넥팅 클라이언트(430)의 IP 주소("제1 모바일 IP")를 매핑하여 저장할 수 있다.
커넥팅 클라이언트(430)는 할당받은 "모바일 IP" 주소를 어플리케이션에 제공할 수 있다(단계 S904). 어플리케이션은 어플리케이션 서버(110)와 통신을 하기 위하여 커넥팅 클라이언트(430)에 필요한 소켓을 열어달라고 요청할 수 있다. 또한 어플리케이션은 어플리케이션 서버(110)에 보낼 업링크 데이터를 상기 맺은 소켓을 통해 보낼 수 있다(단계 S905). 이때 source IP주소는 "모바일 IP" 주소이고 destination주소는 어플리케이션 서버의 IP("AS 서버 IP")이다. 커넥팅 클라이언트(430)는 망의 상태를 보고 업링크 데이터를 보낼 통신 경로를 선택하고(단계 S906), 선택된 통신 경로를 통하여 업링크 데이터를 송신할 수 있다. 이하에서는, 3G 통신 경로를 선택하여 업링크를 수행하는 것으로 가정하고 설명한다. 커넥팅 클라이언트(430)는 3G 통신 경로를 통해 커넥팅 서버에 업링크 데이터를 캡슐화하여서 전송할 수 있다(단계 S907). 이때 소스 IP 주소는 "제1 모바일 IP"이고 destination IP 주소는 "제1 서버 IP"이다.
커넥팅 서버(120)는 이 데이터를 받아서 캡슐화를 해제한 후(단계 S908), 해제된 모바일 데이터를 어플리케이션 서버(110)에 보낼 수 있다(단계 S909).
어플리케이션 서버(110)는 이 데이터를 받고 필요시 source IP주소는 "AS 서버 IP", destination IP 주소는 "모바일 IP"로 설정된 송신하고자 하는 모바일 데이터을 송신할 수 있다. 송신된 모바일 데이터는 커넥팅 서버(120)에 도달할 수 있다(단계 S910).
어플리케이션 서버(110)로부터 다운링크를 위한 모바일 데이터를 수신받은 커넥팅 서버(120)는 다운링크 데이터를 보내기 위한 통신 경로를 결정하고(제1 통신 경로-3G 통신모듈-를 선택했다고 가정함, 단계 S911), 캡슐화(Encapsulation)를 수행한 후 캡슐화된 패킷을 커넥팅 클라이언트(430)로 전송할 수 있다(단계 S912).
커넥팅 클라이언트(430)는 캡슐화된 패킷을 복원(Recapsulation)한 후(단계 S913), 복원된 모바일 데이터를 어플리케이션 모듈(440)로 전송할 수 있다(단계 S914).
여기에서, 통신 과정에 대한 보안성을 향상시키고자 할 경우, 커넥팅 서버(120)와 커넥팅 클라이언트(430)가 암호화키(Key)를 서로 주고 받고, 이를 이용하여 암호화하거나, 인증을 위한 해싱(hashing) 과정 등을 수행할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
일 실시예에 따른 다중 통신 경로 기반의 서비스 제공 시스템은 서비스 전송의 효율성을 높일 수 있다. Wifi 통신망에 존재하는 NAT 장치에 대하여 지속적인 패킷 전송을 유지할 필요가 없으므로, WiFi 통신망의 데이터 트래픽을 최소화할 수 있고 모바일 단말의 배터리 소모를 최소화할 수 있기 때문이다.
또한 일 실시예에 따른 다중 통신 경로 기반의 서비스 제공 시스템은 3G망의 부하를 효과적으로 줄여줄 수 있다. 데이터을 안정적으로 3G망과 WiFi망 사이에 나누어 보낼 수 있으므로 WiFi 망을 안정적으로 사용하면서 3G망의 부하를 줄일 수 있기 때문이다.
또한, 일 실시예에 따른 다중 통신 경로 기반의 서비스 제공 시스템은 보다 효율적으로 IP 주소를 관리할 수 있다. 커넥팅 서버와 커넥팅 클라이언트가 선택하는 통신망에 대하여 별도의 IP 주소를 생성하여 통신을 수행하고, 어플리케이션 서버 및 어플리케이션은 통신망의 전환을 위하여 새로운 IP 주소를 등록하지 않아도 되기 때문이다.
또한, 일 실시예에 따른 다중 통신 경로 기반의 서비스 제공 시스템은 종래의 어플리케이션 서비스 시스템에 쉽게 적용할 수 있다. 종래의 어플리케이션 서버 및 모바일 단말에 탑재된 어플리케이션을 변경하지 않고, 커넥팅 서버와 커넥팅 클라이언트만을 추가하여 운용이 가능하기 때문이다.
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 출원의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (19)

  1. 어플리케이션 서버와 모바일 단말을 연결시키고 상기 모바일 단말과 제1 또는 제2 통신 경로로 연결될 수 있는 커넥팅 서버에서 수행되는 통신 경로 연결 방법에 있어서, -상기 모바일 단말은 상기 어플리케이션 서버의 관점에서 제3 모바일 IP 주소를 가지고 상기 커넥팅 서버의 관점에서 제1 또는 제2 모바일 IP 주소를 가지며, 상기 제1 모바일 IP 주소는 상기 제1 통신 경로에 매핑되고 상기 제2 모바일 IP 주소는 상기 제2 통신 경로에 매핑됨-
    (a) 상기 어플리케이션 서버로부터 상기 제3 모바일 IP 주소를 가지는 모바일 데이터를 수신하는 단계;
    (b) 상기 제1 또는 제2 모바일 IP 주소를 목적지로 선택하여 상기 수신된 모바일 데이터를 캡슐화(encapsulation)하는 단계; 및
    (c) 상기 모바일 단말에 해당 통신 경로를 통해 상기 선택된 목적지로 상기 캡슐화된 모바일 데이터를 송신하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  2. 제1항에 있어서, 상기 (b) 단계는
    (b-1) 상기 제1 또는 제2 통신 경로 중 어느 하나를 동적으로 선택하는 단계; 및
    (b-2) 상기 동적으로 선택된 통신 경로에 매핑되는 제1 또는 제2 모바일 IP 주소 중 어느 하나를 상기 목적지로 선택하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  3. 제2항에 있어서, 상기 (b-1) 단계는
    상기 제1 및 제2 통신 경로들의 상태를 확인하는 단계; 및
    상기 확인한 결과, 보다 양호한 상태의 통신 경로를 선택하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  4. 제2항에 있어서, 상기 (b-1) 단계는
    상기 모바일 단말로부터 수신된 업링크 패킷의 히스토리를 확인하는 단계; 및
    상기 확인한 결과 최근의 업링크가 유효하면, 상기 업링크 패킷을 수신한 통신 경로를 선택하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  5. 제2항에 있어서, 상기 (b-1) 단계는
    상기 모바일 단말로부터 수신된 업링크 패킷의 히스토리를 확인하는 단계; 및
    상기 확인한 결과, 상기 제2 통신 경로를 통하여 최근에 수신된 업링크 패킷의 수신시각으로부터 설정된 시간 이내이면, 상기 제2 통신 경로를 선택하는 단계를 포함하고, 상기 제2 통신 경로는 WiFi 통신망을 경유하는 것을 특징으로 하는 통신 경로 연결 방법.
  6. 제1항에 있어서, 상기 통신 경로 연결 방법은 상기 (b) 단계 이전에
    상기 모바일 단말에 대하여 상기 제3 모바일 IP 주소를 할당하는 단계를 더 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  7. 제6항에 있어서, 상기 제3 모바일 IP 주소를 할당하는 단계는
    모바일 단말에 할당된 상기 제3 모바일 IP 주소를 상기 모바일 단말에 제공하는 단계를 더 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  8. 제1항에 있어서, 상기 (b) 단계는
    (b-1) 상기 모바일 단말과 암호화를 위한 키(KEY)를 설정하는 단계; 및
    (b-1) 상기 암호화를 위한 키를 이용하여 상기 수신된 모바일 데이터를 암호화하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  9. 커넥팅 서버를 경유하여 어플리케이션 서버와 통신하는 모바일 단말의 커넥팅 클라이언트에서 수행되는 통신 경로 연결 방법에 있어서, -상기 모바일 단말은 제1 또는 제2 통신 경로를 통하여 상기 커넥팅 서버와 연결 가능함-
    (a) 모바일 단말의 어플리케이션으로부터 상기 어플리케이션 서버로 전송할 모바일 데이터를 제공받는 단계;
    (b) 상기 제1 또는 제2 통신 경로 중 적어도 하나를 동적으로 선택하는 단계; 및
    (c) 상기 제공된 모바일 데이터를 캡슐화(encapsulation)하여 상기 선택된 통신 경로를 통해 송신하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  10. 제9항에 있어서, 상기 (b) 단계는
    (b-1) 상기 제1 및 제2 통신 경로들 각각에 대해 연결이 가능한지 확인하는 단계; 및
    (b-2) 상기 확인한 결과를 기초로 통신 경로를 선택하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  11. 제10항에 있어서, 상기 (b) 단계는
    상기 제1 및 제2 통신 경로를 통하여 상기 커넥팅 서버에 응답을 요구하는 패킷을 송신하고, 그에 대한 상기 커넥팅 서버의 응답을 확인하는 단계; 및
    상기 제1 및 제2 통신 경로에 대한 무선 통신 신호의 수신 여부를 확인하는 단계 중 적어도 하나를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  12. 제 10항에 있어서, 상기 (b-1) 단계는
    상기 제1 및 제2 통신 경로를 통한 패킷의 히스토리 정보를 확인하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.

  13. 제9항에 있어서, 상기 (c) 단계는
    (c-1) 상기 커넥팅 서버와 암호화를 위한 키(KEY)를 설정하는 단계; 및
    (c-1) 상기 암호화를 위한 키를 이용하여 상기 제공된 모바일 데이터를 암호화하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  14. 어플리케이션 서버, 커넥팅 클라이언트를 구비한 모바일 단말 및 상기 커넥팅 클라이언트와 상기 어플리케이션 서버를 연결하는 커넥팅 서버를 포함하는 서비스 제공 시스템에 있어서, -상기 커넥팅 서버와 상기 모바일 단말은 제1 또는 제2 통신 경로로 연결 가능함-
    상기 어플리케이션 서버로부터 수신된 모바일 데이터를 캡슐화하고, 제1 또는 제2 통신 경로 중 어느 하나를 선택하여 상기 캡슐화된 데이터를 상기 모바일 단말에 전송하는 커넥팅 서버; 및
    상기 캡슐화된 모바일 데이터를 복원(decapsulation)하여 어플리케이션 모듈에 제공하는 커넥팅 클라이언트를 포함하는 모바일 단말을 포함하는 것을 특징으로 하는 다중 통신 경로 기반의 서비스 제공 시스템.
  15. 제14항에 있어서, 상기 커넥팅 서버는
    상기 제1 또는 제2 통신 경로 중 어느 하나를 동적으로 선택하는 통신 경로 선택부를 포함하는 것을 특징으로 하는 다중 통신 경로 기반의 서비스 제공 시스템.
  16. 제15항에 있어서, 상기 커넥팅 서버는
    상기 커넥팅 클라이언트로부터 수신된 업랭크 패킷을 저장하는 히스토리부를 포함하고,
    상기 통신 경로 선택부는 상기 저장된 업랭크 패킷을 이용하여 상기 제2 통신 경로의 유효성을 판단하고, 만일 유효하면 상기 제2 통신 경로를 선택하고,
    상기 제2 통신경로는 WiFi 통신망을 경유하는 것을 특징으로 하는 다중 통신 경로 기반의 서비스 제공 시스템.
  17. 제15항에 있어서, 상기 커넥팅 서버는
    상기 제1 및 제2 통신 경로들의 상태를 확인하는 통신망 확인부를 더 포함하고,
    상기 통신 경로 선택부는 상기 확인된 제1 및 제2 통신 경로들의 상태를 기초로 통신 경로를 선택하는 것을 특징으로 하는 다중 통신 경로 기반의 서비스 제공 시스템.
  18. 제14항에 있어서, 상기 커넥팅 서버는
    상기 제1 및 제2 통신 경로에서 상기 모바일 단말에 해당하는 제1 및 제2 모바일 IP 주소를 할당하는 모바일 IP 관리부를 더 포함하는 것을 특징으로 하는 다중 통신 경로 기반의 서비스 제공 시스템.
  19. 제14항에 있어서, 상기 커넥팅 클라이언트는
    상기 제1 및 제2 통신 경로들에 대한 연결 가능 여부를 확인하여 상기 커넥팅 서버에 제공하는 것을 특징으로 하는 다중 통신 경로 기반의 서비스 제공 시스템.
KR1020110023526A 2011-03-16 2011-03-16 다중 통신 경로 기반의 서비스 제공 시스템 KR20120105846A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110023526A KR20120105846A (ko) 2011-03-16 2011-03-16 다중 통신 경로 기반의 서비스 제공 시스템
PCT/KR2012/000506 WO2012124891A2 (ko) 2011-03-16 2012-01-19 다중 통신 경로 기반의 서비스 제공 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110023526A KR20120105846A (ko) 2011-03-16 2011-03-16 다중 통신 경로 기반의 서비스 제공 시스템

Publications (1)

Publication Number Publication Date
KR20120105846A true KR20120105846A (ko) 2012-09-26

Family

ID=46831145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110023526A KR20120105846A (ko) 2011-03-16 2011-03-16 다중 통신 경로 기반의 서비스 제공 시스템

Country Status (2)

Country Link
KR (1) KR20120105846A (ko)
WO (1) WO2012124891A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101506852B1 (ko) * 2013-06-26 2015-04-08 모다정보통신 주식회사 네트워크 모드 선택 방법과 그를 위한 모바일 라우터
KR20180096884A (ko) * 2017-02-22 2018-08-30 한남대학교 산학협력단 다중채널 데이터 전송 시스템 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7441043B1 (en) * 2002-12-31 2008-10-21 At&T Corp. System and method to support networking functions for mobile hosts that access multiple networks
KR100605934B1 (ko) * 2003-09-30 2006-08-01 삼성전자주식회사 이동통신 시스템과 무선랜간의 연동을 위한 시스템 및 방법
CN101156488B (zh) * 2005-04-05 2012-09-26 松下电器产业株式会社 无线电通信系统和无线电通信方法
KR100842624B1 (ko) * 2005-04-29 2008-06-30 삼성전자주식회사 셀룰러 망과 무선 랜간의 연동을 위한 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101506852B1 (ko) * 2013-06-26 2015-04-08 모다정보통신 주식회사 네트워크 모드 선택 방법과 그를 위한 모바일 라우터
KR20180096884A (ko) * 2017-02-22 2018-08-30 한남대학교 산학협력단 다중채널 데이터 전송 시스템 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Also Published As

Publication number Publication date
WO2012124891A3 (ko) 2012-11-08
WO2012124891A2 (ko) 2012-09-20

Similar Documents

Publication Publication Date Title
US11088942B2 (en) Method of QUIC communication via multiple paths
US8824480B2 (en) Method and apparatus for end-host based mobility, multi-homing and multipath protocols
EP3007478B1 (en) Mobile secret communications method based on quantum key distribution network
CN101124568B (zh) 通过计算机网络的单向链路路由isis流量的系统和方法
KR101514647B1 (ko) 이종 무선 네트워크간의 데이터 트래픽을 분산하는 장치
US10499313B2 (en) Efficient hybrid resource and schedule management in time slotted channel hopping networks
EP2708001B1 (en) Label switched routing to connect low power network domains
US9319439B2 (en) Secured wireless session initiate framework
US20070064950A1 (en) Wireless communication system, wireless communication device, method of wireless communication, and computer program
CN101827111A (zh) Tcp链接方法、网络系统、客户端和服务器
EP3021555B1 (en) Message processing method and device
US8086210B2 (en) Flow based layer 2 handover mechanism for mobile node with multi network interfaces
US20160112300A1 (en) Method and device for selecting a communication interface
JP4806364B2 (ja) ルータ切替方法、およびルータ装置
KR20120105846A (ko) 다중 통신 경로 기반의 서비스 제공 시스템
JP2017028393A (ja) 通信システム、通信装置およびvpn構築方法
KR101192389B1 (ko) Push 서비스 제공 방법 및 이를 수행하는 push 서비스 제공 시스템
WO2013141193A1 (ja) 通信システム、制御装置、通信装置、情報中継方法及びプログラム
US20220408432A1 (en) Configuration system for a wireless communication network
JP5692406B2 (ja) 通信システム、通信方法、エッジ装置、エッジ装置制御方法、エッジ装置制御プログラム、非エッジ装置、非エッジ装置制御方法、及び、非エッジ装置制御プログラム
CN116418743A (zh) 中继装置和中继方法
KR20120046912A (ko) 이동 단말, 통신 네트워크 및 그것의 이동성 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application