KR20080058382A - System and method for providing packet connectivity between heterogeneous networks, and component and packet therefor - Google Patents

System and method for providing packet connectivity between heterogeneous networks, and component and packet therefor Download PDF

Info

Publication number
KR20080058382A
KR20080058382A KR1020087008773A KR20087008773A KR20080058382A KR 20080058382 A KR20080058382 A KR 20080058382A KR 1020087008773 A KR1020087008773 A KR 1020087008773A KR 20087008773 A KR20087008773 A KR 20087008773A KR 20080058382 A KR20080058382 A KR 20080058382A
Authority
KR
South Korea
Prior art keywords
packet
header
address
terminal
destination
Prior art date
Application number
KR1020087008773A
Other languages
Korean (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 KR20080058382A publication Critical patent/KR20080058382A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/08Mobility data transfer
    • H04W8/14Mobility data transfer between corresponding nodes
    • 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/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • 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
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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
    • H04L61/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1043Gateway controllers, e.g. media gateway control protocol [MGCP] controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/02Inter-networking arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/16Gateway arrangements

Abstract

There is provided a system comprising a first logical gateway, a second logical gateway, a source terminal and a destination terminal. The first logical gateway is coupled to at least a first access network, and the second logical gateway is coupled to at least a second access network, where the first and second logical gateways are to communicate over a third network. The source terminal is coupled to the first access network and is in communication with the first logical gateway, and the destination terminal is coupled to the second access network and is in communication with the second logical gateway. Here, the first and second gateways transfer data packets between the source terminal and the destination terminal, and the first and second gateways are further to exchange state information for the source terminal and destination terminal in order to maintain universal connectivity between the source terminal and destination terminal.

Description

이기종 네트워크들 간의 패킷 연결을 제공하는 시스템 및 방법, MTM 헤더 및 IP 헤더를 포함하는 패킷 처리 네트워크 노드, 패킷 기반 통신 방법, 이러한 방법을 수행하는 컴퓨터-실행가능 명령어들을 저장하는 컴퓨터-판독가능 매체, 프로토콜 계층 아키텍처, MTM 프로토콜 패킷, 및 MTM 프로토콜 패킷을 표현하는 컴퓨터 데이터 신호{SYSTEM AND METHOD FOR PROVIDING PACKET CONNECTIVITY BETWEEN HETEROGENEOUS NETWORKS, AND COMPONENT AND PACKET THEREFOR}A system and method for providing packet connectivity between heterogeneous networks, a packet processing network node comprising an MMT header and an IP header, a packet-based communication method, a computer-readable medium storing computer-executable instructions for performing such a method, SYSTEM DATA METHOD FOR PROVIDING PACKET CONNECTIVITY BETWEEN HETEROGENEOUS NETWORKS, AND COMPONENT AND PACKET THEREFOR}

관련 출원의 상호 참조Cross Reference of Related Application

본 출원은 2005년 9월 13일자로 출원된 미국 가특허 출원 제60/716,815호, 2006년 2월 16일자로 출원된 미국 가특허 출원 제60/774,720호, 및 2006년 4월 6일자로 출원된 미국 가특허 출원 제60/790,240호 각각을 우선권 주장한다.This application is filed September 13, 2005, US Provisional Patent Application 60 / 716,815, filed February 16, 2006, US Provisional Patent Application 60 / 774,720, and April 6, 2006. Prioritized, respectively, US Provisional Patent Application No. 60 / 790,240.

본 발명은 일반적으로 모바일 단말기에 대한 데이터 네트워킹 서비스에 관한 것으로서, 상세하게는 이기종 액세스 네트워크를 통해 연결되어 있는 서로 다른 유형의 모바일 단말기 간에 패킷-기반 데이터 연결성을 제공하는 것에 관한 것이다.FIELD OF THE INVENTION The present invention generally relates to data networking services for mobile terminals, and more particularly, to providing packet-based data connectivity between different types of mobile terminals that are connected through heterogeneous access networks.

현재, 이동 전화 사업자(mobile phone carrier)에 의해 제공되는 데이터 서비스는 대체로 클라이언트가 모바일 단말기(MT)이고 서버가 임의의 인터넷 프로토콜(IP) 네트워크 내의 하나 이상의 고정 노드(사업자의 네트워크 내부에 있든지 외 부에 있든지 상관없음)에 존재하는 클라이언트-서버 패러다임으로 제한되어 있다. 그러나, 화상-전화(video-phony), 화상 회의(video conferencing) 및 VoIP 등의 모바일간(mobile-to-mobile) 및 피어간(peer-to-peer) 실시간 데이터 스트리밍 서비스가 이제 이동 전화 사업자에 의해 점차적으로 실시(deploy)되고 있다. 이들 모바일간 세션의 대부분이 현재는 세션의 설정(setup), 해제(teardown) 및 기타 시그널링 기능을 위해 SIP(Session Initiation Protocol) 표준 기반구조를 사용한다. SIP는 비디오 및 음성 등의 스트리밍 통신(streaming communication)을 판이하게 다른 디스플레이, 처리 및 네트워킹 기능을 갖는 판이하게 이기종인 MT들을 연결하는 데 사용될 수 있다. 그렇지만, SIP는 임의의 SIP-지원 최종 호스트(SIP-enabled end-host)에 대해 전역 SIP 이름과 <IP 주소, 포트>쌍 간의 매핑의 시그널링만을 처리한다. 즉, SIP는 기본적으로 요구 시에 매핑을 제공한다. 따라서, SIP는 최종 호스트들 간의 실제 데이터 전송을 처리하지 않는다. 이들 최종 호스트가 잠재적으로 서로 다른 서비스 제공자의 네트워크에 있으며 세계의 임의의 곳에 있는 셀 전화 등의 모바일 단말기인 경우, MT들이 사설 IP 주소를 가질 수 있고, 이동성일 수 있으며, 종종 RF 링크 단절(RF link disruption)로 인해 서비스 제공자의 네트워크로부터 연결 해제(disconnect)될 수 있는 경우에, 한 MT로부터 다른 MT로의 호(call) 또는 세션을 설정하는 효율적인 해결책이 없다. 게다가, 호 경로가 사설 IP 주소 및 포트를 공개 IP 주소 및 포트로 변환하는 NAT(Network Address Translation) 라우터를 지나가는 경우, SIP 호가 동작할 것으로 보장되지 않는다. 따라서, SIP의 결점을 해결할 수 있는 새로운 해결책이 필요하다.Currently, data services provided by mobile phone carriers generally include one or more fixed nodes (either inside or outside of the operator's network) within which the client is a mobile terminal (MT) and the server is in any Internet Protocol (IP) network. It is limited to the client-server paradigms that exist in the department). However, mobile-to-mobile and peer-to-peer real-time data streaming services such as video-phony, video conferencing, and VoIP are now available to mobile operators. It is being gradually deployed. Most of these inter-mobile sessions currently use the Session Initiation Protocol (SIP) standard infrastructure for session setup, teardown, and other signaling functions. SIP can be used to connect heterogeneous heterogeneous MTs with different display, processing and networking functions, such as streaming communication such as video and voice. However, SIP only handles signaling of mappings between global SIP names and <IP address, port> pairs for any SIP-enabled end-host. That is, SIP basically provides a mapping on demand. Thus, SIP does not handle the actual data transfer between end hosts. If these end hosts are potentially mobile terminals, such as cell phones, located in networks of different service providers and anywhere in the world, the MTs may have private IP addresses, may be mobile, and often have RF link disconnection (RF). In the case where link disruption can cause disconnection from the service provider's network, there is no efficient solution for establishing a call or session from one MT to another. In addition, if the call route goes through a Network Address Translation (NAT) router that translates private IP addresses and ports into public IP addresses and ports, it is not guaranteed that the SIP call will work. Thus, there is a need for a new solution that can address the drawbacks of SIP.

SIP는 또한 많은 응용에, 특히 MT 사이에서 폭발적 데이터 세션(bursty data session)을 사용하는 응용에 적합하지 않다. 이러한 통신의 예는 다음과 같은 것들이 있다.SIP is also not suitable for many applications, especially for applications that use bursty data sessions between MTs. Examples of such communication include the following.

전화, PDA, 기타 등등을 통해 다수의 사용자들에 의해 플레이되는 상호작용 분산 온라인 게임(interactive distributed online game),Interactive distributed online game played by multiple users via phone, PDA, etc.,

MT에서 실행되는 모바일 웹 서버,Mobile web server running on MT,

MT에 위치하는 파일 서버로부터의 파일 다운로드,Download files from file servers located on the MT,

SSH(secure shell)과 같은 상호작용 쉘 세션(interactive shell session),Interactive shell sessions, such as secure shell (SSH),

단기의 폭발적 인스턴트 메시징(short duration and bursty instant messaging), 및Short duration and bursty instant messaging, and

PTV(push-to-view) 비디오 및 이미지 전송 등의 푸시 서비스(push service) 및 오프라인 메시징(offline messaging).Push services and offline messaging, such as push-to-view video and image transmission.

게다가, 모바일 단말기가 한 네트워크에서 다른 네트워크로 이동할 때 연결을 유지하기 위해, 현재는 IETF(Internet Engineering Task Force) 표준을 따르는 종래의 MIP(Mobile IP) 기술들만이 널리 실시되고 있다. 그렇지만, MIP 기술은 매크로-이동성(macro-mobility), 즉 드물게 있는 모바일 단말기의 인접한 네트워크 간의 느린 이동만을 처리한다. 이 기술은 MT의 인접한 네트워크 또는 기지국 사이의 더 빠른 마이크로 이동(micro movement)을 성공적으로 처리할 수 없다. 이 기술은 특히 호 품질(call quality)을 열화시키는데, 그 이유는 MIP의 홈 네트워크를 통한 간접 라우팅 방식(indirect routing scheme)이 외부 네트워크(foreign network)를 방문하는 모바일에 대한 호 설정 시간(call setup time) 및 세션 QoS를 심하게 열화시키기 때문이다.In addition, only conventional MIP (Mobile IP) technologies are currently widely practiced to comply with the Internet Engineering Task Force (IETF) standard in order to maintain connectivity as the mobile terminal moves from one network to another. However, MIP technology only handles macro-mobility, i.e., slow movement between adjacent networks of rarely mobile terminals. This technique cannot successfully handle faster micro movement between adjacent networks or base stations of the MT. This technique particularly degrades call quality, because the call setup time for mobiles where the indirect routing scheme through MIP's home network visits foreign networks time) and session QoS are severely degraded.

상호 연동하는 이기종 무선 네트워크(inter-working heterogeneous wireless network)에 대한 IMS(Internet Multimedia Subsystem) 표준의 SIP 이동성 확장은 MIP와 유사한 간접 라우팅 문제를 가지며, 이로 인해 호 설정 시간이 길게 된다. 이 때문에, 상기한 단점들을 극복하는, 이기종 액세스 네트워크(heterogeneous access network)를 통해 연결되어 있는 모바일 단말기 간의 패킷 연결성(packet connectivity)을 제공하는 시스템 및 방법이 필요하다.The SIP mobility extension of the Internet Multimedia Subsystem (IMS) standard for inter-working heterogeneous wireless networks has an indirect routing problem similar to MIP, which leads to long call setup time. To this end, there is a need for a system and method that provides packet connectivity between mobile terminals that are connected through a heterogeneous access network, overcoming the above drawbacks.

따라서, 본 발명의 목적은, 호 품질을 그다지 열화시키지 않고 빈번한 매크로 이동을 처리할 수 있고 NAT 라우터들에 걸쳐 동작하는 것으로 보증되는, 이기종 액세스 네트워크를 통해 연결되어 있는 모바일 단말기 간의 패킷 연결성을 제공하는 시스템 및 방법을 제공하는 데 있다.Accordingly, it is an object of the present invention to provide packet connectivity between mobile terminals connected through heterogeneous access networks that can handle frequent macro movements without degrading call quality and are guaranteed to operate across NAT routers. A system and method are provided.

본 발명의 양호한 실시예에 따르면, 상기한 목적을 달성하기 위해, 적어도 제1 액세스 네트워크에 연결되어 있는 제1 논리적 게이트웨이, 적어도 제2 액세스 네트워크에 연결되어 있는 제2 논리적 게이트웨이 - 상기 제1 및 제2 논리적 게이트웨이는 제3 네트워크를 통해 통신함 -, 상기 제1 액세스 네트워크에 연결되어 있고 상기 제1 논리적 게이트웨이와 통신을 하는 소스 단말기, 및 상기 제2 액세스 네트워크에 연결되어 있고 상기 제2 논리적 게이트웨이와 통신을 하는 목적지 단말기를 포함하며, 상기 제1 및 제2 게이트웨이는 상기 소스 단말기와 상기 목적지 단말기 사이에서 데이터 패킷을 전송하고, 상기 제1 및 제2 게이트웨이는 또한 상기 소스 단말기와 상기 목적지 단말기 사이의 범용 연결성(universal connectivity)을 유지하기 위해 상기 소스 단말기와 상기 목적지 단말기에 대한 상태 정보를 교환하는 것인 시스템이 제공된다.According to a preferred embodiment of the present invention, in order to achieve the above object, a first logical gateway connected to at least a first access network, a second logical gateway connected to at least a second access network-the first and the first A second logical gateway communicates via a third network, a source terminal connected to the first access network and in communication with the first logical gateway, and connected to the second access network and to the second logical gateway. A destination terminal for communicating, wherein the first and second gateways transmit data packets between the source terminal and the destination terminal, and the first and second gateways also communicate between the source terminal and the destination terminal. With the source terminal to maintain universal connectivity A system is provided for exchanging status information for the destination terminal.

본 발명의 다른 양호한 실시예에 따르면, 소스 단말기를 적어도 제1 액세스 네트워크에 연결되어 있는 제1 논리적 게이트웨이에 등록하는 단계, 목적지 단말기를 적어도 제2 액세스 네트워크에 연결되어 있는 제2 논리적 게이트웨이에 등록하는 단계 - 상기 제1 및 제2 논리적 게이트웨이는 제3 네트워크를 통해 통신함 -, 상기 소스 단말기와 상기 목적지 단말기 사이에서 각각 상기 제1 및 제2 게이트웨이를 사용하여 데이터 패킷들을 전송하는 단계, 및 상기 소스 단말기와 상기 목적지 단말기 간의 범용 연결성을 유지하기 위해, 상기 제1 게이트웨이와 상기 제2 게이트웨이 사이에서, 상기 소스 단말기 및 상기 목적지 단말기에 대한 상태 정보에 관련된 상태 정보를 교환하는 단계를 포함하는 방법이 제공된다.According to another preferred embodiment of the invention, registering a source terminal with at least a first logical gateway connected to a first access network, registering a destination terminal with at least a second logical gateway connected with a second access network. Step-said first and second logical gateways communicate over a third network-transmitting data packets between said source terminal and said destination terminal using said first and second gateways respectively, and said source Exchanging status information related to status information for the source terminal and the destination terminal between the first gateway and the second gateway to maintain universal connectivity between the terminal and the destination terminal. do.

본 발명의 또다른 양호한 실시예에 따르면, MTM(mobile-to-mobile) 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드가 제공되며, 이 네트워크 노드는, 상기 패킷의 상기 MTM 헤더를 처리하도록 구성되어 있는 제1 모듈 - 상기 MTM 헤더는 소스 MTID(mobile terminal identification) 필드 및 목적지 MTID 필드 중 적어도 하나를 포함함 -, 상기 패킷의 상기 IP 헤더를 처리하도록 구성되어 있는 제2 모듈, 및 다른 네트워크 노드와 상기 패킷을 통신하도록 구성되어 있는 네트워크 인터페이스를 포함한다.According to another preferred embodiment of the present invention, there is provided a network node for processing a packet comprising a mobile-to-mobile (MTM) header and an IP header, the network node being configured to process the MTM header of the packet. A first module configured, wherein the MTM header includes at least one of a source mobile terminal identification (MTID) field and a destination MTID field; a second module, configured to process the IP header of the packet, and another network And a network interface configured to communicate the packet with a node.

본 발명의 또다른 양호한 실시예에 따르면, 패킷을 작성하는 단계, MTM 헤더를 상기 패킷에 도입시키는 단계 - 상기 MTM 헤더는 상기 패킷의 최종 목적지를 지정함 -, IP 헤더를 상기 패킷에 도입시키는 단계 - 상기 IP 헤더는 게이트웨이로 전달될 패킷을 지정함 -, 및 상기 패킷을 상기 게이트웨이로 전송하는 단계를 포함하는 패킷-기반 통신 방법이 제공된다.According to another preferred embodiment of the present invention, there is provided a method comprising: composing a packet, introducing an MTM header into the packet, wherein the MTM header specifies a final destination of the packet, and introducing an IP header into the packet. The IP header designating a packet to be forwarded to a gateway, and transmitting the packet to the gateway.

본 발명의 또다른 양호한 실시예에 따르면, 패킷을 수신하는 단계 - 상기 패킷은 상기 패킷의 최종 목적지의 정보를 포함함 -, 상기 최종 목적지의 정보를 하나 이상의 IP 주소로 분석하는 단계, 및 상기 하나 이상의 IP 주소에 의해 식별된 하나 이상의 네트워크 노드로 상기 패킷을 전송하는 단계를 포함하는 패킷-기반 통신 방법이 제공된다.According to another preferred embodiment of the present invention, there is provided a method comprising: receiving a packet, the packet including information of the final destination of the packet, resolving the information of the final destination to one or more IP addresses, and the one A packet-based communication method is provided that includes transmitting the packet to one or more network nodes identified by the at least one IP address.

본 발명의 또다른 양호한 실시예에 따르면, 제1 게이트웨이로부터 신호를 수신하는 단계 - 상기 신호는 단말기의 상기 제1 게이트웨이로의 연결 손실(lost connection)을 나타냄 -, 상기 신호의 수신에 응답하여, 상기 단말기로 보내지게 되어 있는 패킷을 제2 게이트웨이에서 버퍼링하는 단계, 상기 단말기가 상기 제2 게이트웨이에 등록되어 있음을 검출하는 단계, 및 상기 단말기가 상기 제2 게이트웨이에 등록되어 있음을 검출한 것에 응답하여, 상기 버퍼링된 패킷을 상기 제2 게이트웨이로부터 상기 단말기로 전송하는 단계를 포함하는 방법이 제공된다.According to another preferred embodiment of the invention, receiving a signal from a first gateway, the signal indicating a lost connection of a terminal to the first gateway, in response to receiving the signal, Buffering a packet to be sent to the terminal at a second gateway, detecting that the terminal is registered with the second gateway, and detecting that the terminal is registered with the second gateway To transmit the buffered packet from the second gateway to the terminal.

본 발명의 양호한 실시예들에 따른 방법들은 컴퓨터 판독가능 매체에 저장된 컴퓨터-실행가능 명령어들에 따라 수행될 수 있다.Methods in accordance with preferred embodiments of the present invention may be performed in accordance with computer-executable instructions stored on a computer readable medium.

본 발명의 또다른 양호한 실시예에 따르면, 패킷의 MTM 헤더를 처리하는 MTM 프로토콜 계층 - 상기 MTM 헤더는 상기 패킷의 최종 목적지를 지정하는 목적지 MTID 필드를 포함함 -, 및 상기 MTM 계층 아래에 위치하여, 상기 패킷의 IP 헤더를 처리하는 네트워크 계층 - 상기 IP 헤더는 상기 패킷이 전달될 그 다음 네트워크 노드를 지정하는 목적지 IP 주소 필드를 포함함 - 을 포함하는 프로토콜 계층 아키텍처가 제공된다.According to another preferred embodiment of the present invention, an MTM protocol layer for processing an MTM header of a packet, wherein the MTM header includes a destination MTID field specifying a final destination of the packet, and located below the MTM layer And a network layer for processing the IP header of the packet, the IP header including a destination IP address field specifying the next network node to which the packet is to be forwarded.

본 발명의 또다른 양호한 실시예에 따르면, 네트워크 노드에 대한 적어도 하나의 GUID(globally unique identifier)를 포함하는 MTM 헤더 - 상기 GUID는 상기 네트워크 노드가 한 액세스 네트워크로부터 다른 액세스 네트워크로 이동할 때에도 변하지 않은 채로 있음 -, 및 목적지 IP 주소 필드를 포함하는 IP 헤더 - 상기 목적지 IP 주소 필드 내의 값은 상기 패킷이 라우팅 경로를 따라 이동하는 동안 변동됨 - 를 포함하는 MTM 프로토콜 패킷이 제공된다.According to another preferred embodiment of the present invention, an MTM header containing at least one globally unique identifier (GUID) for a network node, the GUID remains unchanged even when the network node moves from one access network to another. Is present, and an IP header including a destination IP address field, the value in the destination IP address field being varied while the packet travels along a routing path.

본 발명의 양호한 실시예들에 따른 MTM 프로토콜 패킷은 반송파로 구현된 컴퓨터 데이터 신호에 의해 표현될 수 있다.The MTM protocol packet according to the preferred embodiments of the present invention may be represented by a computer data signal implemented by a carrier wave.

본 발명의 다른 측면, 특징 및 기술은 본 발명의 이하의 상세한 설명으로부터 당업자에게는 명백하게 될 것이다.Other aspects, features and techniques of the present invention will become apparent to those skilled in the art from the following detailed description of the invention.

도 1은 본 발명의 하나 이상의 측면들이 구현될 수 있는 통신 시스템의 시스템도의 일 실시예를 나타낸 도면.1 illustrates one embodiment of a system diagram of a communication system in which one or more aspects of the invention may be implemented;

도 2는 하나 이상의 실시예에 따른, 모바일 단말기로부터 전송되는 데이터 패킷들에 포함될 수 있는 헤더를 나타낸 도면.2 illustrates a header that may be included in data packets transmitted from a mobile terminal, in accordance with one or more embodiments.

도 3a 및 도 3b는 하나 이상의 실시예들에 따른, IP 패킷에서의 MTM 헤더의 상대 위치의 예들을 나타낸 도면.3A and 3B illustrate examples of relative positions of an MTM header in an IP packet, in accordance with one or more embodiments.

도 4는 하나 이상의 실시예에 따른, 모바일 단말기가 모바일 게이트웨이에 등록을 할 수 있는 방법을 나타낸 도면.4 illustrates a method in which a mobile terminal can register with a mobile gateway, in accordance with one or more embodiments.

도 5는 하나 이상의 실시예들에 따른, 모바일 단말기가 다른 모바일 단말기의 주소를 찾기 위해 그의 로컬 게이트웨이에 질의를 할 수 있는 방법을 나타낸 도면.5 illustrates a method in which a mobile terminal can query its local gateway to find the address of another mobile terminal, in accordance with one or more embodiments.

도 6은 로컬 게이트웨이가 로컬 소스 모바일 단말기로부터 전송된 IP 패킷을 수신하고 이를 외부 IP 네트워크로 포워드할 수 있는 방법의 일 실시예를 나타낸 도면.6 illustrates an embodiment of a method in which a local gateway can receive an IP packet sent from a local source mobile terminal and forward it to an external IP network.

도 7은 로컬 게이트웨이가 외부 IP 네트워크로부터 IP 패킷을 수신하고 이를 로컬적으로 등록된 목적지 모바일 단말기로 포워드할 수 있는 방법의 일 실시예를 나타낸 도면.7 illustrates an embodiment of a method in which a local gateway can receive an IP packet from an external IP network and forward it to a locally registered destination mobile terminal.

도 8은 본 발명의 일 실시예에 따른, 시그널링 및 데이터 전송 단계에서의 이벤트들의 타임라인을 나타낸 도면.8 illustrates a timeline of events in the signaling and data transmission phases, in accordance with an embodiment of the present invention.

도 9는 네트워크간 소프트 및 하드 핸드오프 기능(internetwork soft and hard handoff capabilities)이 내장되어 있는 도 1의 시스템의 다른 실시예를 나타낸 도면.FIG. 9 illustrates another embodiment of the system of FIG. 1 incorporating internetwork soft and hard handoff capabilities. FIG.

도 10은 본 발명의 일 실시예에 따라 구성된 시스템이 한 액세스 네트워크로부터 다른 액세스 네트워크로의 모바일 단말기의 네트워크간 핸드오프(inter- network handoff)를 처리할 수 있는 방법의 일 실시예를 나타낸 도면.FIG. 10 illustrates an embodiment of a method in which a system configured in accordance with one embodiment of the present invention can handle inter-network handoff of a mobile terminal from one access network to another.

도 11은 프록시 모바일 단말기(proxy mobile terminal)가 네트워크간 핸드오프 동안에 모바일 단말기에 대한 패킷을 버퍼링하는 데 사용될 수 있는 방법의 일 실시예를 나타낸 도면.FIG. 11 illustrates an embodiment of a method in which a proxy mobile terminal can be used to buffer packets for a mobile terminal during an inter-network handoff. FIG.

도 12는 주소-포트쌍 변동(address-port pair change)에도 불구하고 네트워크간 연결이 유지될 수 있는 방법의 일 실시예를 나타낸 도면.FIG. 12 illustrates one embodiment of how an inter-network connection can be maintained despite address-port pair change. FIG.

도 13은 본 발명의 원리들에 따른, ICI(invariant-connection-id) 방식을 구현하는 일 실시예를 나타낸 도면.13 illustrates an embodiment for implementing an invariant-connection-id (ICI) scheme, in accordance with the principles of the present invention.

도 14는 다운링크 방향에서의 MBPF(Multi-Base-station Packet Forwarding) 동작의 구현의 일 실시예를 나타낸 도면.14 illustrates an embodiment of an implementation of a Multi-Base-station Packet Forwarding (MBPF) operation in the downlink direction.

도 15는 본 발명의 원리들에 따른, 인터넷 상에 오버레이된 MOSTNET(Mobile Overlay STreaming NETwork)을 나타낸 도면.15 illustrates Mobile Overlay STreaming NETwork (MOSTNET) overlaid on the Internet, in accordance with the principles of the present invention.

본 발명에 따른 상기의 목적 및 특징과 기타의 목적 및 특징이 첨부 도면과 관련하여 제공된 양호한 실시예들에 대한 이하의 설명으로부터 명백하게 될 것이다.The above and other objects and features according to the present invention will become apparent from the following description of the preferred embodiments provided in connection with the accompanying drawings.

이후부터, 본 발명의 양호한 실시예들이 첨부 도면을 참조하여 기술될 것이다. 이하의 설명에서, 본 발명의 철저한 이해를 제공하기 위해 수많은 구체적인 상세가 제공된다. 그렇지만, 본 발명이 이들 구체적인 상세의 일부 또는 그 전부가 없더라도 실시될 수 있다는 것이 당업자에게는 명백할 것이다. 다른 경우에, 본 발명을 불필요하게 불명료하게 하지 않기 위해 공지의 프로세스 단계들 또는 구성요소들이 상세히 기술되어 있지 않다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. In the following description, numerous specific details are provided to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without some or all of these specific details. In other instances, well known process steps or components have not been described in detail in order not to unnecessarily obscure the present invention.

모바일 단말기들 간의 범용 연결성(universal connectivity)을 제공하는 MTM(Mobile-to-Mobile) 패킷 전송 시스템 및 방법이 개시되어 있다. 범용( universal)이란, MT가 움직이고, 지리적으로 아무렇게나 떨어져 있으며, 서로 다른 제공자의 네트워크에 있고, 사설망 내부에 '숨겨져' 있으며, 무선 링크 단절을 겪고, 및/또는 제한된 배터리 전력으로 방해를 받을 때에도 이들 간에 패킷 전송이 유지된다는 것을 의미한다.Disclosed are a system and method for mobile-to-mobile packet transmission that provides universal connectivity between mobile terminals. Universal means that even when the MT is moving, geographically separated, on different providers' networks, 'hidden' inside a private network, experiencing wireless link breakdown, and / or interrupted by limited battery power, This means that packet transmission is maintained between them.

SIP(Session Initiated Protocol)와 달리, 본 발명의 한 측면은 시그널링 및 데이터 전송 둘다에 대한 해결책을 제공한다. 게다가, 본 발명에 따른 시그널링 방식은 SIP의 방식보다 더 효율적이고 신속한 연결 설정에 아주 적합함은 물론, 상호작용 온라인 게임, 웹 페이지 및 파일 전송, UNIX 쉘 세션, 기타 등등의 MT들 간에 실행되는 폭발적-통신 애플리케이션(bursty-communication application)에 대한 효율적인 폭발적 데이터 전송(bursty data transfer)이다.Unlike the Session Initiated Protocol (SIP), one aspect of the present invention provides a solution to both signaling and data transmission. In addition, the signaling scheme according to the present invention is well suited to more efficient and faster connection setup than the SIP scheme, as well as explosive execution between MTs of interactive online games, web pages and file transfers, UNIX shell sessions, and the like. -Efficient bursty data transfer for bursty-communication applications.

컴퓨터 프로그래밍 분야의 당업자의 실무에 따라, 본 발명은 컴퓨터 시스템 또는 유사한 전자 시스템에 의해 수행될 수 있는 동작들을 참조하여 이하에서 기술된다. 이러한 동작들은 때때로 컴퓨터 실행되는 것으로 말해진다. 상징적으로 표현되어 있는 동작들이 데이터 비트를 나타내는 전기 신호를 프로세서(중앙 처리 장치 등)로 조작하는 것 및 시스템 메모리 등의 메모리 장소에 데이터 비트를 유지하는 것은 물론 신호들의 다른 처리를 포함한다는 것을 잘 알 것이다. 데이터 비트 들이 유지되는 메모리 장소는 데이터 비트에 대응하는 특정의 전기적, 자기적, 광학적, 또는 유기적 특성을 갖는 물리적 장소이다. 용어 "네트워크 노드", "송신기" 및 "수신기"는 중앙 처리 장치 등의 프로세서를 포함할 수 있는 임의의 전자 장치를 포함하는 것으로 이해된다.In accordance with the practice of those skilled in the computer programming art, the present invention is described below with reference to operations that may be performed by a computer system or similar electronic system. These operations are sometimes said to be computer executed. It is well understood that symbolically represented operations include the manipulation of electrical signals representing data bits with a processor (such as a central processing unit) and the maintenance of data bits in memory locations, such as system memory, as well as other processing of signals. will be. The memory location in which the data bits are maintained is a physical location having specific electrical, magnetic, optical, or organic characteristics corresponding to the data bits. The terms "network node", "transmitter" and "receiver" are understood to include any electronic device that may include a processor, such as a central processing unit.

소프트웨어로 구현될 때, 본 발명의 구성요소들은 필요한 작업들을 수행하는 코드 세그먼트(code segment)일 수 있다. 코드 세그먼트는 프로세서 판독가능 매체에 저장되거나 전송 매체 또는 통신 링크를 통해 반송파에 구현되는 컴퓨터 데이터 신호에 의해 전송될 수 있다. "프로세서 판독가능 매체"는 정보를 저장 또는 전송할 수 있는 모든 매체를 포함할 수 있다. 프로세서 판독가능 매체의 일례로는 전자 회로, 반도체 메모리 장치, ROM, 플래쉬 메모리 또는 기타 비휘발성 메모리, 플로피 디스켓, CD-ROM, 광 디스크, 하드 디스크, 광 섬유 매체, 무선(RF) 링크, 기타 등등이 있다. 컴퓨터 데이터 신호는 전자 네트워크 채널, 광 섬유, 공기, 전자기, RF 링크, 기타 등등의 전송 매체를 통해 전파할 수 있는 어떤 신호라도 포함할 수 있다. 코드 세그먼트는 인터넷, 인트라넷, 기타 등등의 컴퓨터 네트워크를 통해 다운로드될 수 있다.When implemented in software, the components of the present invention may be a code segment that performs the necessary tasks. The code segment may be stored in a processor readable medium or transmitted by a computer data signal implemented on a carrier via a transmission medium or a communication link. A "processor readable medium" may include any medium that can store or transmit information. Examples of processor readable media include electronic circuitry, semiconductor memory devices, ROMs, flash memory or other nonvolatile memory, floppy diskettes, CD-ROMs, optical disks, hard disks, optical fiber media, wireless (RF) links, and the like. There is this. The computer data signal may include any signal capable of propagating through transmission media such as electronic network channels, optical fibers, air, electromagnetics, RF links, and the like. Code segments can be downloaded via computer networks such as the Internet, intranets, and the like.

정의Justice

명확한 설명을 위해 어떤 용어들의 일반적인 의미가 이하에 제공된다. 그렇지만, 본 발명의 원리들이 적용될 수 있는 한, 이들 의미가 등가의 범위까지 확장될 수 있다는 것을 잘 알 것이다.The general meaning of certain terms is given below for clarity. Nevertheless, it will be understood that these meanings may be extended to the equivalent ranges as long as the principles of the present invention can be applied.

상태 정보(state information): 네트워크 노드의 불변적인 식별자(invariant identifier), 네트워크 노드의 현재의 IP 주소-포트쌍, IP 주소-포트쌍의 변화에 관한 정보, 네트워크 노드에 관련된 연결에 대한 불변적인 식별자, 기타 등등의 액세스 네트워크에 연결되어 있는 네트워크 노드의 이동성(mobility)에 관련된 정보를 말한다.State information: an invariant identifier of the network node, the current IP address-port pair of the network node, information about the change of the IP address-port pair, and an immutable identifier of the connection associated with the network node. Information relating to the mobility of a network node that is connected to an access network.

패킷의 adport(adport of a packet): 쌍 <IP 주소, 포트 번호>를 말하며, 여기서 IP 주소는 IP 헤더로 전달되고 포트 번호는 패킷의 계층-4(TCP 또는 UDP) 헤더로 전달된다.Adport of packet: A pair <IP address, port number> where the IP address is carried in an IP header and the port number is carried in a layer-4 (TCP or UDP) header of the packet.

패킷 내의 세션-튜플(session-tuple inside a packet): 쌍 <소스 adport, 목적지 adport, 프로토콜>을 말하며, 여기서 소스 adport는 패킷의 소스 IP 주소 및 소스 포트 번호 필드로 전달되는 adport이고, 목적지 adport에 대해서도 마찬가지이다. 여기서, 프로토콜은 패킷의 IP 프로토콜 필드에 지정된다(예를 들어, TCP 또는 UDP).Session-tuple inside a packet: A pair <source adport, destination adport, protocol>, where the source adport is the adport passed to the packet's source IP address and source port number fields, The same applies to the same. Here, the protocol is specified in the IP protocol field of the packet (eg TCP or UDP).

세션의 원래의 세션-튜플(original session-tuple): 세션-설립 패킷 내부의 세션-튜플, 즉 2개의 단말기가 그들 간에 그들의 애플리케이션 세션(application session)을 설립했을 때 이들 단말기에 의해 교환된 첫번째 패킷을 말한다. 일 실시예에서, 주어진 TCP 세션의 세션-튜플은 SYN, SYN-ACK 및 ACK 패킷에서 보이는 튜플이다. UDP 세션의 경우, 세션-설립 패킷은 특정의 응용에 의존할 수 있다. 예를 들어, VoIP 세션의 경우, 이들은 각각의 방향에서의 첫번째 RTSP(Real-Time Streaming Protocol) 또는 RTP(Real-Time Transport Protocol) 패킷일 수 있다. 게다가, 원래의 세션-튜플은 또한 세션을 일의적으로 정의한다. 즉, 이동 동안에, 세션의 패킷 내부에서 전달되는 세션-튜플이 변할지도 모르지만, 세션의 원래의 세션-튜플은 고정되어 있다.Original session-tuple of a session: a session-tuple inside a session-establishment packet, ie the first packet exchanged by these terminals when two terminals have established their application session between them Say In one embodiment, the session-tuple of a given TCP session is the tuple seen in the SYN, SYN-ACK and ACK packets. In the case of a UDP session, the session-establishment packet may depend on the particular application. For example, for a VoIP session, they may be the first Real-Time Streaming Protocol (RTSP) or Real-Time Transport Protocol (RTP) packets in each direction. In addition, the original session-tuple also uniquely defines the session. That is, during a move, the session-tuple delivered inside the packet of the session may change, but the original session-tuple of the session is fixed.

MT의 LIP 주소: 본 발명의 어떤 실시예들에서, 각각의 MT는 그의 네트워크 제공자에 의해 그에 할당된 IP 주소를 갖는 것으로 가정된다. 이 IP 주소는 MT의 LIP(local IP) 주소라고 한다. MT가 네트워크 또는 서브넷을 가로질러 이동할 때, 그의 LIP 주소가 변할 수 있다.LIP address of MT: In some embodiments of the present invention, each MT is assumed to have an IP address assigned to it by its network provider. This IP address is called the MT's local IP (LIP) address. As the MT moves across a network or subnet, its LIP address may change.

MTM: MTM이 Mobile-to-Mobile에 대한 두문자이지만, MT는 모바일 셀 전화일 필요는 없다. 용어 MT는 네트워크 제공자의 액세스 네트워크에 연결될 수 있는 호스트라면 어느 것에라도 똑같이 적용가능하다. 예를 들어, CDMA 또는 GSM 또는 멀티-모드 전화 등의 셀룰러 전화 이외에, MT는 WiFi-지원 호스트, 또는 모뎀으로서 구성된 셀 전화를 통해 셀룰러 제공업자 네트워크에 연결된 임의의 호스트, 또는 심지어 ISP의 네트워크에 연결된 유선 호스트일 수 있다. 그에 부가하여, 용어 "MTM 노드"는 MTM-지원 MT 또는 MTM-지원 게이트웨이(즉, MG) 중 어느 하나를 말한다.MTM: Although MTM is an acronym for Mobile-to-Mobile, the MT does not need to be a mobile cell phone. The term MT is equally applicable to any host capable of connecting to the network provider's access network. For example, in addition to cellular phones such as CDMA or GSM or multi-mode phones, the MT is connected to a cellular provider network through a WiFi-enabled host, or a cellular phone configured as a modem, or even to a network of an ISP. It may be a wired host. In addition, the term “MTM node” refers to either an MTM-supported MT or an MTM-supported gateway (ie, MG).

NAT: 호스트의 아웃바운드 패킷 내부의 비공개 소스 adport(private source adport)를 공개적으로 이용가능한 공개 소스 adport(public source adport)로 변환하는, 사설망의 가장자리에 있는 경계 라우터(border router)에 의해 수행되는 네트워크 주소 변환(Network Address Translation)을 말한다.NAT: A network performed by a border router on the edge of a private network that converts a private source adport inside a host's outbound packet into a publicly available public source adport. Refers to network address translation.

패킷의 공개 세션-튜플(public session-tuple): MT로부터 전송되는 패킷이 그의 경로에 있는 모든 NAT 라우터는 물론 그의 공중-접속가능(publicly- reachable) MTM 게이트웨이(PR MG) 전부를 지나간 후의 패킷 내부의 세션-튜플을 말한다. 이것은 MTM의 업스트림 프록시 MG로 전송되는 패킷에서 관찰될 수 있는 세션-튜플이며, 이후에 기술될 것이다. 업스트림 프록시(upstream proxy)란 업스트림 데이터 경로에 있는 MG를 말한다.Public session-tuple of packets: Inside a packet after a packet sent from the MT has passed through all of its publicly-reachable MTM gateways (PR MG) as well as all NAT routers in its path. Speaks session-tuple. This is a session-tuple that can be observed in packets sent to the upstream proxy MG of the MTM, which will be described later. An upstream proxy is an MG in the upstream data path.

MTM 게이트웨이(MG)MTM Gateway (MG)

이제 도면들을 참조하면, 도 1은 본 발명의 일 실시예에 따른, MG(120-1 내지 120-4)의 오버레이 네트워크(overlay network)와 서로 다른 액세스 네트워크(130-1, 130-2, 140)에 위치하는 서로 다른 MT(110-1, 110-2)의 시스템(100)을 나타낸 것이다. 도시된 바와 같이, MG(120-1 내지 120-4)는 MT 트래픽의 경로를 따라 어떤 지점에라도 위치할 수 있다. 일 실시예에서, MG(120-1 내지 120-4)는 통신사업자/제공업자의 코어 네트워크(예를 들어, 액세스 네트워크(130-1, 130-2) 및 외부 IP 네트워크(140)) 중 하나의 가장자리에 위치할 수 있다. 보다 구체적으로는, MG(120-1 내지 120-4)는 CDMA2000의 PDSN, WiBro의 ARC, WiFi의 액세스포인트 라우터(AccessPoint Router), 기타 등등의 경계 라우터의 PSN(Packet Service Node)(150-1 내지 150-3)과 동일한 서브넷에 위치할 수 있다. 어떤 실시예에서, 동일한 액세스 네트워크(130)에 대해 다수의 MG가 있을 수 있다.Referring now to the drawings, FIG. 1 illustrates an access network 130-1, 130-2, 140 different from an overlay network of MGs 120-1 through 120-4, in accordance with an embodiment of the present invention. Shows a system 100 of different MT (110-1, 110-2) located in the). As shown, the MGs 120-1 through 120-4 may be located at any point along the path of MT traffic. In one embodiment, the MGs 120-1 through 120-4 are one of the carrier / provider's core networks (e.g., access networks 130-1 and 130-2 and external IP network 140). It can be located at the edge of. More specifically, the MGs 120-1 to 120-4 are PSNs 150-1 of boundary routers such as PDSN of CDMA2000, ARC of WiBro, AccessPoint Router of WiFi, and the like. To 150-3). In some embodiments, there may be multiple MGs for the same access network 130.

2개보다 더 많은 또는 더 적은 MT가 있을 수 있고 MT(110-1, 110-2)가 셀룰러 전화, 개인 휴대 단말기(PDA), 랩톱 컴퓨터, 데스크톱 컴퓨터, 및 임베디드 컴퓨터 등의 데이터 패킷을 전송 및 수신할 수 있는 장치들로 이루어져 있을 수 있다는 것을 잘 알 것이다. MT(110-1, 110-2)는 무선 또는 유선 링크를 통해 무선 제 공업자(130-1, 130-2)와 통신하고 있을 수 있으며, 이동식(mobile) 또는 고정식(stationary)일 수 있다. 각각의 MT(110)는 그가 통신하고 있는 네트워크에 의해 그에 할당된 인터넷 프로토콜(IP) 주소를 가질 수 있거나, IP 주소가 MT 내에 프로그램되어 있을 수 있다. 예를 들어, 셀룰러 전화인 MT는 액세스 네트워크(130) 중 하나에 의해 그에 할당된 IP 주소를 가질 수 있으며, 여기서 무선 제공업자는 셀룰러 데이터 네트워크이다. 이 IP 주소는 MT(110)의 LIP(Local IP) 주소라고 할 수 있으며, 이에 대해서는 이하에서 더 상세히 기술한다. MT(110-1, 110-2)에서의 프로토콜 스택(도시 생략)은 MT(110-1, 110-2)가 MT(110-1, 110-2)를 위한 등록(registration), 이름 분석(name resolution), 및 패킷 포워딩(packet forwarding) 서비스들을 구현하기 위해 MG(120-1 내지 120-4)에 의해 사용될 수 있는 "MTM(Mobile to Mobile)" 헤더를 포함하는 패킷을 삽입할 수 있게 해주는 소프트웨어를 포함한다. 이 소프트웨어는 "MTM 계층"이라고 할 수 있으며, OSI(Open Systems Interconnect) 모델에서 전송 계층(즉, 계층 4, TCP, UDP)과 네트워크 계층(즉, 계층 3, IP) 사이의 씬 계층(thin layer)으로서 또는 수정된 네트워크 계층으로서 개념화될 수 있다. MG(120-1 내지 120-4)에서의 프로토콜 스택이 패킷 내의 MTM 헤더를 판독할 수 있고 등록, 이름 분석 및 패킷 포워딩 서비스를 구현할 수 있는 호환 계층(compatible layer)을 갖는다는 것을 잘 알 것이다. MG(120-1 내지 120-4)에서의 호환 계층 또한 "MTM 계층"이라고 할 수 있다.There may be more or less MTs than two, and MTs 110-1 and 110-2 transmit and transmit data packets such as cellular phones, personal digital assistants (PDAs), laptop computers, desktop computers, and embedded computers. It will be appreciated that it may consist of devices that can receive. The MT 110-1 and 110-2 may be in communication with the wireless manufacturers 130-1 and 130-2 via a wireless or wired link, and may be mobile or stationary. Each MT 110 may have an Internet Protocol (IP) address assigned to it by the network with which it is communicating, or an IP address may be programmed in the MT. For example, an MT, which is a cellular telephone, may have an IP address assigned to it by one of the access networks 130, where the wireless provider is a cellular data network. This IP address may be referred to as a Local IP (LIP) address of the MT 110, which will be described in more detail below. The protocol stack (not shown) in the MTs 110-1 and 110-2 is defined by the MT 110-1 and 110-2 for registration and name resolution for the MT 110-1 and 110-2. name resolution, and allows the insertion of packets containing a "Mobile to Mobile" header that can be used by MGs 120-1 through 120-4 to implement packet forwarding services. Includes software. This software can be referred to as the "MTM layer" and is a thin layer between the transport layer (ie Layer 4, TCP, UDP) and the network layer (ie Layer 3, IP) in the Open Systems Interconnect (OSI) model. Or as a modified network layer. It will be appreciated that the protocol stack in MGs 120-1 through 120-4 has a compatible layer capable of reading MTM headers in packets and implementing registration, name resolution and packet forwarding services. The compatibility layer in the MGs 120-1 through 120-4 may also be referred to as an "MTM layer".

계속하여 도 1을 참조하면, 액세스 네트워크(130-1, 130-2)의 예시적인 유형이 CDMA2000 1x(Code Division Multiple Access 2000 1x) 네트워크, CDMA2000 1xEVDO(Code Division Multiple Access 2000 1x Evolution Data Only) 네트워크, GPRS(General Packet Radio Services) 네트워크, UMTS(Universal Mobile Telecommunications System) 네트워크, UTRAN(Universal Terrestrial Radio Access Network) 네트워크, EDGE(Enhanced Data for GSM Evolution) 네트워크, WiFi 네트워크, WiMax 네트워크 및 WiBro 네트워크를 포함한다. 적용가능한 유선 네트워크는 다이얼-업 네트워크와 이더넷(Ethernet) 및 토큰링(Token Ring) 네트워크 등의 LAN(local area network)을 포함한다. 적용가능한 네트워크들의 상기 리스트는 단지 예시적인 것이며, IP 등의 하나 이상의 네트워크 계층 프로토콜을 사용하여 다른 네트워크에 연결될 수 있는 어떤 네트워크라도 사용될 수 있다는 것을 잘 알 것이다.With continued reference to FIG. 1, exemplary types of access networks 130-1 and 130-2 are CDMA2000 Code Division Multiple Access 2000 1x (CDMA2000 1x) networks, CDMA2000 Code Division Multiple Access 2000 1x Evolution Data Only (EVDO) networks. , General Packet Radio Services (GPRS) network, Universal Mobile Telecommunications System (UMTS) network, Universal Terrestrial Radio Access Network (UTRAN) network, Enhanced Data for GSM Evolution (EDGE) network, WiFi network, WiMax network, and WiBro network . Applicable wired networks include dial-up networks and local area networks (LAN), such as Ethernet and Token Ring networks. It will be appreciated that the above list of applicable networks is merely exemplary and that any network that can be connected to another network using one or more network layer protocols such as IP may be used.

외부 IP 네트워크(140)는 하나의 네트워크 또는 다수의 상호 연결된 네트워크들로 이루어질 수 있다. 외부 IP 네트워크(140)를 구성할 수 있는 네트워크들의 예로는 인터넷, LAN, 원거리 통신망(WAN), 디지털 가입자 회선(DSL) 네트워크, 및 케이블 네트워크가 있다. 이들은 패킷-교환 네트워크 또는 회선 교환 네트워크일 수 있다. 외부 IP 네트워크(140)를 구성할 수 있는 네트워크들의 상기 리스트는 단지 예시적인 것이며, 인터넷 프로토콜(IP) 등의 네트워크 계층 프로토콜을 사용하여 다른 네트워크에 연결될 수 있는 어떤 네트워크라도 사용될 수 있다는 것을 잘 알 것이다.The external IP network 140 may consist of one network or multiple interconnected networks. Examples of networks that may constitute the external IP network 140 include the Internet, LANs, telecommunication networks (WANs), digital subscriber line (DSL) networks, and cable networks. These may be packet-switched networks or circuit switched networks. It will be appreciated that the above list of networks that may make up the external IP network 140 is exemplary only, and any network that can be connected to another network using a network layer protocol such as Internet Protocol (IP) may be used. .

일반적으로 말하면, 각각의 MT는 적절히 선택된 MG에 등록을 할 수 있으며, 이후로 그 선택된 MG는 그 주어진 MT에 대한 로컬 MG라고 지칭된다. 일 실시예에 서, 이것은, 예를 들어, cdma2000 네트워크에서 PPP를 통해 주어진 네트워크에 대해 하위-계층 연결이 설립된 직후에 일어난다. 일반적으로 로컬 MG가 MT의 액세스 네트워크의 가장자리에 위치할 수 있지만, 반드시 이러할 필요는 없다. 적절한 로컬 MG의 주소를 MT에 반환하도록 제공업자의 PSN이 업그레이드되는 것. 다음과 같은 것들을 비롯하여, MT가 그의 로컬 MG를 발견할 수 있는 많은 방법들이 있다는 것을 잘 알 것이다: 적절한 로컬 MG의 주소를 MT에 반환하도록 제공업자의 PSN이 업그레이드되는 것에 부가하여, PSN은 MT를 대신하여 MT 등록 자체를 할 수 있다: 로컬 MG가 PSN의 주소로부터 고정된 기지(known)의 오프셋에 있는 IP 주소를 갖는 네트워크 인터페이스를 갖는 것. 이것은 특히 MG의 네트워크 인터페이스가 PDSN과 동일한 서브넷에 있는 경우에 구현하기가 용이하다; MG가 DNS 도메인 이름들을 가지며, 이들은 DNS 질의를 사용하여 IP 주소로 분석되고, 그 후에 MG들 중 하나가 MT에 대한 로컬 MG로서 선택되는 것.Generally speaking, each MT can register with an appropriately selected MG, which is then referred to as the local MG for that given MT. In one embodiment, this occurs immediately after a sub-layer connection is established for a given network, for example, via PPP in the cdma2000 network. Typically the local MG can be located at the edge of the MT's access network, but this is not necessary. The provider's PSN is upgraded to return the address of the appropriate local MG to the MT. It will be appreciated that there are many ways that MT can discover its local MG, including the following: In addition to upgrading the provider's PSN to return the appropriate local MG's address to the MT, the PSN will be able to Instead, you can do MT registration itself: the local MG has a network interface with an IP address at a fixed known offset from the PSN's address. This is particularly easy to implement if the network interface of the MG is on the same subnet as the PDSN; The MG has DNS domain names, which are resolved to IP addresses using DNS queries, after which one of the MGs is selected as the local MG for the MT.

MT에 대한 PRIP 주소 및 PR 노드PRIP address and PR node for MT

공중-접속가능 IP(PRIP) 주소는, 그 패킷 내의 목적지 주소 필드가 PRIP 주소로 설정되어 있기만 하다면, 인터넷 상의 임의의 소스 노드로부터 IP 패킷이 도달할 수 있는 IP 주소이다.A public-accessible IP (PRIP) address is an IP address that an IP packet can reach from any source node on the Internet, as long as the destination address field in that packet is set to a PRIP address.

어떤 실시예들에서, 각각의 MT에 대해 지정된 PRIP 주소가 있을 수 있다. 이 주소를 처리하는 MTM 노드를 그 MT에 대한 PR 노드라고 한다. PR 노드는 MT 자체 또는 그의 로컬 MG 중 어느 하나일 수 있다. 이하는 MT에 대한 PRIP 및 PR 노드의 선택의 서로 다른 실시예들이다:In some embodiments, there may be a PRIP address assigned for each MT. The MTM node that handles this address is called the PR node for that MT. The PR node may be either the MT itself or its local MG. The following are different embodiments of the selection of PRIP and PR nodes for MT:

MT의 LIP 주소는 공개적(public)인 것이고(예를 들어, CDMA2000 네트워크에서 필수적은 아니나 일반적임) 그의 PRIP 주소로서 선택된다. 따라서, MT는 그 자신의 PR 노드이다; MT의 LIP 주소는 공개적인 것이지만, 그것의 PR 노드로서 어떤 MG가 선택된다. (재연결 이후의 CDMA2000에서와 같이) MT의 LIP 주소가 동적으로 변하는 경우에(이 경우에 이 주소는 PRIP 주소로서 사용될 수 없음) 이것이 바람직하다; MT의 LIP 주소는 비공개이며, 이 경우 어떤 MG가 그의 PR 노드로서 선택되는 것이 필요하게 된다.The LIP address of the MT is public (eg, not necessary but common in CDMA2000 networks) and is chosen as its PRIP address. Thus, MT is its own PR node; The LIP address of the MT is public, but any MG is chosen as its PR node. This is desirable if the LIP address of the MT (as in CDMA2000 after reconnection) changes dynamically (in this case this address cannot be used as a PRIP address); The LIP address of the MT is private, in which case it is necessary for which MG to be selected as its PR node.

MTM 패킷 헤더MTM packet header

어떤 실시예에서, MTM의 동작은 계층-2(PPP, 이더넷, 기타) 위쪽과 계층-4(UDP, TCP, 기타) 아래쪽의 임의의 지점에서 수행된다.In some embodiments, the operation of the MTM is performed at any point above Layer-2 (PPP, Ethernet, etc.) and below Layer-4 (UDP, TCP, etc.).

패킷으로 전달되는 모든 MTM 정보의 세트를 그의 MTM 헤더라고 한다. MTM 헤더를 전달하는 패킷은 MTM 패킷이라고 한다. 일반적으로, MTM 헤더는 계층-2 프레임 내부에서 패킷 내의 여러 곳에 분산되어 있을 수 있다. MTM 헤더 내의 각각의 정보는 MTM 헤더 필드라고 한다. 여러가지 종류의 이러한 필드는 MT 및 MG에 의해 어떤 MTM 작업이 수행되고 있는지에 따라 그들의 이동성 관련 상태 정보를 조정하기 위해 서로에게 신호하기 위해 사용될 수 있다. MTM 패킷은 애플리케이션 세션 데이터를 포함할 수 있거나, 순전히 MTM 시그널링을 전달하기 위해 노드에서 MTM 스택에 의해 생성되는 순서 시그널링 패킷일 수도 있다. MTM 패킷에, 가능한 MTM 필드 전부가 아니라 가능한 MTM 필드들의 부분집합이 존재할 수도 있다. 한가지 중요한 MTM 헤더 필드 유형은 MTID(MT Identification)이다. 소스 MTID 및 목 적지 MTID 필드는 모든 가능한 인터넷 호스트들 중에서 패킷의 소스 및 목적지 호스트를 일의적으로 식별해준다. 2개의 MT 간의 TCP/IP 세션 동안에, 소스 또는 목적지 MTID가 모든 패킷에 운반될 필요는 없으며, 단지 얼마간 규칙적으로 전송되기만 하면 된다. MTID는 하나의 구성요소로서, 보다 상세하게는 인터넷 호스트에 대한 불변 식별자(invariant identifier)로서, 상태 정보를 구성할 수 있다.The set of all MTM information carried in a packet is called its MTM header. A packet carrying an MTM header is called an MTM packet. In general, the MTM header may be distributed in several places within the packet within a layer-2 frame. Each piece of information in the MTM header is called an MTM header field. These fields of various kinds can be used to signal each other to adjust their mobility related status information depending on what MTM work is being performed by the MT and MG. The MTM packet may include application session data or may be an ordered signaling packet generated by the MTM stack at a node purely to convey MTM signaling. In an MTM packet, there may be a subset of the possible MTM fields rather than all of the possible MTM fields. One important MTM header field type is MT Identification (MTID). The source MTID and destination MTID fields uniquely identify the source and destination host of the packet among all possible Internet hosts. During a TCP / IP session between two MTs, the source or destination MTID does not need to be carried in every packet, but only needs to be sent regularly for some time. The MTID may configure state information as one component, and more specifically, as an invariant identifier for the Internet host.

MTM 헤더는 IP 옵션으로서 구현될 수 있으며, 이는 정상적인 TCP IP 스택 순서를 보존함으로써 기존의 TCP/IP 스택 구현에 포함시키는 것이 더 쉽게 된다. 일 실시예에서, 이것은 MTM 헤더를 새로운 IP 옵션 유형으로서 정의함으로써 가능하게 된다. 이 실시예는, MTM의 새로운 옵션 유형이 IP 패킷의 IP 헤더에 존재하더라도, MTM 트래픽 경로를 따라 있는 라우터들이 IP 패킷을 폐기시키지 않고 평상시와 같이 IP 패킷을 포워드하는 경우에, 덜 파괴적이라는 이익을 본다.The MTM header can be implemented as an IP option, which makes it easier to include in existing TCP / IP stack implementations by preserving normal TCP IP stack order. In one embodiment, this is made possible by defining the MTM header as a new IP option type. This embodiment has the advantage that even if a new option type of MTM is present in the IP header of the IP packet, it is less destructive when routers along the MTM traffic path forward the IP packet as usual without discarding the IP packet. see.

MTM 헤더를 구현하는 다른 실시예는 별도의 계층-3.5 헤더로서이다. 일 실시예에서, 이것은 MTM이 IP 헤더의 프로토콜-유형 필드에 입력되어 있음을 나타내는 새로운 프로토콜 번호를 사용하여 구현될 수 있다. MTM 헤더는 차례로 상위 계층(UDP, TCP, 기타 등등)의 프로토콜 유형을 포함한다. 일 실시예에서, IP-in-IP 터널링이 사용될 수 있다.Another embodiment that implements the MTM header is as a separate layer-3.5 header. In one embodiment, this may be implemented using a new protocol number indicating that the MTM is entered in the protocol-type field of the IP header. The MTM header in turn contains the protocol type of the upper layer (UDP, TCP, etc.). In one embodiment, IP-in-IP tunneling may be used.

도 2는 MT에 있는 프로토콜 스택에 의해 발생되어 다른 장치(예를 들어, 다른 MT 또는 MG)로 보내지게 되어 있는 패킷에 삽입될 수 있는 예시적인 "MTM 헤더"(200)의 일 실시예를 나타낸 것이다. 헤더(200) 내의 필드들은 헤더 길이(header length)(205), 누락된 필드(omitted field)(210), 헤더 체크섬(header checksum)(215), 소스 MTID(220), 목적지 MTID(225), 주소 유형 비트(address type bit)(230), 연쇄 비트(concatenate bit)(235), 연결 ID(connection ID)(240), 시그널링/데이터(signaling/data, S/D) 코드(245), 및 프로토콜 유형(250)을 포함한다. 특정의 실시예에 따라, 헤더(200) 내의 필드들 중 하나 이상이 누락되고 및/또는 헤더(200) 내의 필드들의 순서가 변경될 수 있다는 것을 잘 알 것이다. 또한, 각각의 필드의 크기(바이트 또는 비트 단위로 표현됨)가 변할 수 있고, 다른 필드들이 추가될 수 있다.2 illustrates one embodiment of an example “MTM header” 200 that may be inserted into a packet generated by a protocol stack in an MT and intended to be sent to another device (eg, another MT or MG). will be. Fields in the header 200 may include a header length 205, a missing field 210, a header checksum 215, a source MTID 220, a destination MTID 225, Address type bit (230), concatenate bit (235), connection ID (240), signaling / data (S / D) code 245, and Protocol type 250. It will be appreciated that according to certain embodiments, one or more of the fields in header 200 may be missing and / or the order of the fields in header 200 may be changed. In addition, the size of each field (expressed in bytes or bits) may vary, and other fields may be added.

헤더 길이 필드(205)는 비트 또는 바이트 단위로 MTM 헤더(200)의 길이를 지정할 수 있다. 이는 헤더(200)를 나머지 데이터로부터 분리시키기 위해 MG 또는 MT에 의해 사용될 수 있다. 누락된 필드(omitted fields) 필드(210)는 누락된 헤더(200) 내의 필드를 지정할 수 있다. 헤더 체크섬 필드(215)는 헤더(200)의 무결성을 검사하는 데 사용될 수 있다. 이것은 IP 헤더의 무결성을 검사하기 위해 IP에서 사용되는 방법과 유사할 수 있다.The header length field 205 may specify the length of the MTM header 200 in units of bits or bytes. This can be used by the MG or MT to separate the header 200 from the rest of the data. Omitted fields Field 210 may designate fields in the missing header 200. The header checksum field 215 can be used to check the integrity of the header 200. This may be similar to the method used in IP to check the integrity of the IP header.

소스 MTID 필드(220)는 헤더(200)를 포함하는 패킷을 발생한 소스 MT를 식별해줄 수 있다. 목적지 MTID 필드(225)는 헤더(200)를 포함하는 패킷의 목적지 MT를 식별해줄 수 있다. 소스 MT의 MTID가 소스 MT의 PRIP와 동일한 어떤 실시예에서, 소스 MTID 필드(420)는 특정의 값(예를 들어, 0)일 수 있는 "예비된 MTID"로 설정될 수 있다. MT 또는 MG가 MTID가 0으로 설정되어 있는 패킷을 수신할 때, MT 또는 MG는 소스 MTID가 소스 PRIP와 같다고 판정할 수 있다.The source MTID field 220 may identify the source MT that generated the packet including the header 200. The destination MTID field 225 may identify the destination MT of the packet including the header 200. In some embodiments, where the MTID of the source MT is equal to the PRIP of the source MT, the source MTID field 420 may be set to a "spare MTID" which may be a specific value (eg, 0). When the MT or MG receives a packet whose MTID is set to 0, the MT or MG may determine that the source MTID is equal to the source PRIP.

주소 유형 비트(230)는 헤더(200)를 생성한 소스 MT에 의해 어떤 유형의 어 드레싱이 사용되는지를 식별해줄 수 있다. 이는, 예를 들어, IP 어드레싱 또는 MTID 어드레싱을 지정할 수 있다. IP 어드레싱은, 헤더를 포함하는 패킷이 패킷의 IP 헤더에 열거되어 있는 목적지 IP 필드로 포워딩되어야 한다는 것을 헤더를 수신하는 MG에 신호한다. MTID 어드레싱은, 목적지 MT의 PRIP를 소스 MT가 모르고 있으며 MG가 목적지 MTID를 사용하여 목적지 MT의 PRIP 주소를 결정할 필요가 있다는 것을 MG에 신호한다.The address type bit 230 may identify what type of addressing is used by the source MT that generated the header 200. This may specify, for example, IP addressing or MTID addressing. IP addressing signals the MG receiving the header that the packet containing the header should be forwarded to the destination IP field listed in the packet's IP header. MTID addressing signals the MG that the source MT does not know the PRIP of the destination MT and that the MG needs to determine the PRIP address of the destination MT using the destination MTID.

연쇄 비트(235)는 MTM 패킷이 적절한 해석을 위해 이후의 패킷(들)과 결합되어야 하는지를 나타내는 데 사용될 수 있다. 연결 ID 필드(240)는 패킷에 포함된 데이터를 발생한 전송 계층 세션을 식별해줄 수 있다. 이는 MT 또는 MG로부터 전송된 데이터가 NAT PSN을 지나가야 할 때 사용될 수 있다.Concatenation bit 235 may be used to indicate whether the MTM packet should be combined with subsequent packet (s) for proper interpretation. The connection ID field 240 may identify the transport layer session that generated the data included in the packet. This can be used when data sent from the MT or MG must pass through the NAT PSN.

시그널링/데이터(S/D) 코드 필드(245)는 MT 또는 MG에 패킷에 포함되어 있는 메시지의 유형을 식별해줄 수 있다. 예를 들어, S/D 코드 필드(245) 내의 번호는 패킷이 MRq(MTM Registration request), NRq(Name Resolution request), 또는 데이터를 포함한다는 것을 패킷을 수신하는 MG에 신호할 수 있다. 프로토콜 유형 필드(250)는 패킷에 포함된 데이터를 발생하는 데 관여했던 전송 계층 프로토콜을 식별해줄 수 있다(예를 들어, TCP, UDP).The signaling / data (S / D) code field 245 may identify the type of message included in the packet in the MT or MG. For example, the number in the S / D code field 245 may signal the MG receiving the packet that the packet contains an MTM Registration request (MRq), a Name Resolution request (NRq), or data. The protocol type field 250 may identify the transport layer protocol that was involved in generating the data contained in the packet (eg, TCP, UDP).

도 3a 및 도 3b는 소스 MT에 의해 발생될 수 있는 IP 패킷(300)에서의 MTM 헤더(200)의 상대적 위치의 2가지 실시예를 나타낸 것이다. 도 3a에서, MTM 헤더(200)는 IP 헤더(310)와 전송 계층 헤더(315) 사이에 존재한다. 도 3b에서, MTM 헤더(200)는 IP 헤더(310)에서의 옵션 필드(325) 내부에 위치한다. 도 3b의 실시 예와 유사한 IP 패킷(300)이 도 3A의 실시예와 유사한 IP 패킷(300)보다 기존의 라우터를 더 용이하게 지나갈 수 있다는 것을 잘 알 것이다.3A and 3B illustrate two embodiments of the relative location of the MTM header 200 in the IP packet 300 that may be generated by the source MT. In FIG. 3A, the MTM header 200 is between the IP header 310 and the transport layer header 315. In FIG. 3B, the MTM header 200 is located inside the option field 325 in the IP header 310. It will be appreciated that an IP packet 300 similar to the embodiment of FIG. 3B can more easily pass through an existing router than an IP packet 300 similar to the embodiment of FIG. 3A.

MTM 헤더(200)가 IP 헤더(310)에서의 옵션 필드(325)에 삽입되어 있는 경우, MTM 헤더(200)의 크기가 옵션 필드(325)에 적합하도록 될 수 있다는 것을 잘 알 것이다. 옵션 필드의 크기는 통상 40 바이트이지만, 1 바이트가 옵션 유형 필드를 위해 사용되고, 1 바이트가 옵션 길이 필드를 위해 사용되며, 따라서 단지 38 바이트만이 이용가능하다. 그에 부가하여, 다른 옵션들이 사용되는 경우(예를 들어, 타임스탬프), MTM 헤더(200)에 이용가능한 공간이 더 제한될 수 있다. 일 실시예에서, MTM 헤더(200)가 옵션 필드(325)에 배치되어 있는 경우, 다른 옵션들의 사용이 배제될 수 있다.It will be appreciated that when the MTM header 200 is inserted in the option field 325 in the IP header 310, the size of the MTM header 200 may be adapted to the option field 325. The size of the option field is typically 40 bytes, but 1 byte is used for the option type field and 1 byte is used for the option length field, so only 38 bytes are available. In addition, if other options are used (eg, timestamps), the space available to the MTM header 200 may be further limited. In one embodiment, when the MTM header 200 is placed in the option field 325, the use of other options may be excluded.

비록 도시되어 있지는 않지만, 옵션 필드가 MTM 헤더(200)를 포함하고 있음을 나타내기 위해 옵션 유형 필드가 설정될 수 있다는 것을 잘 알 것이다. 옵션 유형 필드에 옵션을 식별해주는 3개의 플래그가 있다. 필드에서의 첫번째 비트는 복사 플래그로서, 발생될 수 있는 임의의 IP 프래그먼트의 헤더로 옵션이 복사되어야 하는지를 나타낸다. 일 실시예에서, 이 비트는 발생될 임의의 IP 프래그먼트의 헤더로 옵션(MTM 헤더(200))이 복사되도록 설정될 수 있다. 필드에서의 그 다음 2 비트는 옵션 클래스 플래그(option class flag)를 정의한다. 일 실시예에서, 이들은 옵션 클래스가 네트워크 제어 옵션(network control option)임을 나타내기 위해 0으로 설정된다. 마지막 5 비트는 옵션 클래스에 따라 특정의 옵션을 식별해준다. 어떤 옵션이 이미 등록되어 있고 이들 번호가 MTM 헤더 옵션을 식별하는 데 사용될 수 없다는 것을 잘 알 것이다.Although not shown, it will be appreciated that the option type field may be set to indicate that the option field includes the MTM header 200. There are three flags in the option type field that identify the option. The first bit in the field is a copy flag, indicating whether the option should be copied to the header of any IP fragment that may be generated. In one embodiment, this bit may be set such that the option (MTM header 200) is copied into the header of any IP fragment to be generated. The next two bits in the field define the option class flag. In one embodiment, they are set to zero to indicate that the option class is a network control option. The last five bits identify a specific option, depending on the option class. It will be appreciated that some options are already registered and these numbers cannot be used to identify MTM header options.

옵션 길이 필드는 옵션의 길이를 지정하는 데 사용된다. 이는 바이트 단위로 측정된다. 따라서, MTM 헤더의 크기가 얼마이든지간에, 옵션 길이 필드에 바이트 단위의 길이가 열거될 수 있다.The option length field is used to specify the length of the option. This is measured in bytes. Thus, whatever the size of the MTM header, the length in bytes may be listed in the option length field.

MTID의 특정의 실시예Specific Embodiments of MTID

MTID는 SIP 이름, MSIDN(Mobile Station ID number), [email protected] 등의 NAI(Network Access Identifier), 이들의 어떤 조합, 또는 임의의 다른 생각가능한 식별자 등의 전역 식별자(global identifier)일 수 있다. 일 실시예에서, 어떤 다른 MT의 MTID를 질의하는 임의의 MT가 한 RTT(Round Trip Time)의 수분의 1 내에 이를 획득할 수 있도록 MTID 방식이 선택된다. 또한, MTID가 패킷에 작은 오버헤드를 유입하도록 충분히 짧거나 충분히 압축가능한 것이 바람직할 수 있다. 예로서, MTID에 대한 적당한 선택의 어떤 실시예는 다음과 같다.The MTID may be a global identifier such as a SIP name, Mobile Station ID number (MSIDN), Network Access Identifier (NAI) such as [email protected], any combination thereof, or any other conceivable identifier. . In one embodiment, the MTID scheme is chosen such that any MT querying the MTID of any other MT can obtain it within one minute of one round trip time (RTT). It may also be desirable for the MTID to be short enough or compressible enough to introduce small overhead into the packet. As an example, some embodiments of suitable choices for MTID are as follows.

PRIP 주소: PRIP 주소가 애플리케이션 세션(application session)의 길이 동안에 정적이도록 보증되어 있는 경우, PRIP 주소는 MTID로서 사용될 수 있다. 모바일 IP와 유사하게, 홈 PR 노드가 MT에 대해 지정되어 있는 경우 이러하다. 이 경우에, MTID는 실제로 Home_PRIP_Address::LIP_Address이다. 이것은 또한 MT가 애플리케이션 세션에 걸쳐 그의 PR 노드인 채로 있는 동일한 MG에 등록된 채로 있는 경우에도 마찬가지이다. MTID로서 PRIP를 갖는 경우, 패킷의 MTM 헤더에 있는 소스 MTID는 그의 IP 헤더에 있는 소스 IP 필드와 동일하게 될 수 있다. 이 경우에, 소스 MTID 필드는 예비된 MTID인 0으로 설정될 수 있다. 그러면, 이 패킷을 수신하는 어떤 MTM 노드라도, 소스 MTID 필드가 0인 경우, 소스 MTID가 IP 헤더 내의 소스 IP 필드인 것으로 판정할 것이다. 목적지 MTID에 대해서도 마찬가지이다.PRIP Address: If the PRIP address is guaranteed to be static for the length of the application session, the PRIP address may be used as the MTID. Similar to mobile IP, this is the case if a home PR node is specified for the MT. In this case, the MTID is actually Home_PRIP_Address :: LIP_Address. This is also true if the MT remains registered with the same MG that remains its PR node throughout the application session. If you have PRIP as the MTID, then the source MTID in the MTM header of the packet may be the same as the source IP field in its IP header. In this case, the source MTID field may be set to 0, which is a reserved MTID. Any MTM node that receives this packet will then determine that if the source MTID field is zero, the source MTID is the source IP field in the IP header. The same applies to the destination MTID.

MT의 정적 공개 LIP 주소(Static Public LIP Address): 그의 LIP 주소 중 하나가 MT가 참여하는 임의의 LP 세션의 길이 동안에 정적인 채로 있을 것으로 보증되는 경우, 그 주소가 그의 MTID로서 선택될 수 있다.MT's Static Public LIP Address: If one of its LIP addresses is guaranteed to remain static during the length of any LP session in which the MT participates, that address may be chosen as its MTID.

<소켓 IP 주소(Socket IP Address), 소켓 포트(Socket Port)> 조합: 소스 MTID는 이 패킷이 속하는 연결의 (애플리케이션이 볼 수 있는) 종단점인 소켓의 <소스 IP 주소, 소스 포트>가 된다. '소스'를 '목적지'로 대체하면 목적지 MTID에 대해서도 마찬가지이다. 이러한 MTID는 최초로 연결을 연 소켓이 그의 주소-포트 종단점을 동적으로 변경하지 않기만 하다면 유효하며, 대부분의 소켓 구현에 대해 마찬가지일 수 있다.<Socket IP Address, Socket Port> Combination: The source MTID is the <source IP address, source port> of the socket that is the endpoint (as seen by the application) of the connection to which this packet belongs. Replacing 'source' with 'destination' does the same for the destination MTID. This MTID is valid as long as the first open socket does not dynamically change its address-port endpoint, and may be the same for most socket implementations.

NAI(Network Access Identifier): NAI는 사용자를 일의적으로 식별하기 위해 셀룰러 통신사업자에 의해 사용된다. 이는 사용자가 애플리케이션 세션 전체에 걸쳐 고유의 MT로부터 고유의 제공업자로 로그인된 채로 있는 경우 또는 NAI가 전역적 정적 식별자(global static identifier), 예를 들어, user@home_provider.com인 경우 MTID로서 실시가능하다.Network Access Identifier (NAI): NAI is used by cellular carriers to uniquely identify a user. This can be done as an MTID if the user remains logged in as a unique provider from a unique MT throughout the application session or if the NAI is a global static identifier, for example user@home_provider.com. Do.

MSID::NAI 조합: 여기서 MSID는 MT에 주어지는 고유의 ID, 예를 들어, ITU E.212 표준의 IMSI 또는 ESN(Electronic Serial Number)이다. 이것은 애플리케이션 세션 동안에 다른 MT들로부터 로그인할 수 있는 동일한 사용자를 처리하기 위한 상기 NAI 방식의 개선이다.MSID :: NAI Combination: where MSID is a unique ID given to the MT, for example IMSI or Electronic Serial Number (ESN) of the ITU E.212 standard. This is an improvement on the NAI approach for handling the same user who can log in from other MTs during an application session.

DNS 도메인 이름(Domain Name): 애플리케이션 세션 동안에 MT-DNS 이름 매핑이 고정되어 있고 일대일인 채로 있는 경우, DNS가 MTID로서 사용될 수 있다. 이는 보통 [email protected] 또는 [email protected]의 형태를 갖는다.DNS Domain Name: If MT-DNS name mapping is fixed and one-to-one during an application session, DNS can be used as the MTID. This usually takes the form of [email protected] or [email protected].

SIP 이름(Name): SIP 이름은 SIP 세션의 종단점으로서 MT를 일의적으로 식별해주고, 그 자체로서 SIP 트래픽에 이상적이다.SIP Name: The SIP Name uniquely identifies the MT as an endpoint of a SIP session and is ideal for SIP traffic by itself.

이더넷 MAC 주소: 오버헤드가 허용될 수 있기만 하다면 또한 오버헤드를 패킷 스니퍼(packet sniffer)에게 노출시키는 것을 방지하기 위해 어떤 형태로 스크램블 또는 암호화될 수 있기만 하다면, MAC 주소가 MTID로서 사용될 수 있다.Ethernet MAC Address: The MAC address can be used as the MTID if the overhead can be allowed and if it can be scrambled or encrypted in some form to prevent exposing the overhead to a packet sniffer.

다수의 유형의 MTID의 동시 사용Concurrent use of multiple types of MTIDs

다수의 유형의 MTID를 동시에 사용할 때, 전체 MTID가 쌍 (type::mtid)으로서 지정될 수 있다. 이 경우에, 'type'은 MTID의 종류를 식별해준다, 예를 들어, 이더넷 MAC 어드레싱 = 1 , MSIDN/CDMA = 2, 기타 등등이다. 다른 대안으로서, 'type' 필드는 설명적 ASCII 문자열일 수 있다, 예를 들어, "이더넷 MAC 주소" 또는 "MSIDN/CDMA," 기타 등등일 수 있다.When using multiple types of MTIDs simultaneously, the entire MTID can be specified as a pair (type :: mtid). In this case, 'type' identifies the type of MTID, for example Ethernet MAC addressing = 1, MSIDN / CDMA = 2, and so on. As another alternative, the 'type' field may be a descriptive ASCII string, for example "Ethernet MAC Address" or "MSIDN / CDMA," or the like.

MG에서의 MTM 패킷 동작MTM Packet Behavior in MG

MG가 MT에 대한 PR 노드이고 그 MT로 보내지게 되어 있는 패킷이 MG로부터 전송될 때, MG는 양호하게는 패킷의 IP 헤더의 목적지 IP 필드가 MT의 LIP 주소로 대체되도록 할 수 있다. 추가로, 그 MT로부터 발신된 패킷이 MG로부터 전송될 때, MG는 양호하게는 패킷의 IP 헤더의 소스 IP 필드가 MT의 PRIP 주소로 대체되도록 할 수 있다.When a MG is a PR node for an MT and a packet intended to be sent to that MT is sent from the MG, the MG can preferably cause the destination IP field of the packet's IP header to be replaced with the MT's LIP address. In addition, when a packet originating from that MT is transmitted from the MG, the MG may preferably cause the source IP field of the packet's IP header to be replaced with the MT's PRIP address.

게다가, MG가 어떤 순수 MTM 시그널링(예를 들어, 등록, MTID 이름 분석, 기타)을 피기백(piggyback)하는 애플리케이션 데이터 패킷인 MTM 패킷을 수신하는 경우, MG는 피기백된 패킷을 추출하여 별도의 패킷으로 만들 수 있으며, 이 별도의 패킷이 이어서 시그널링 작업 또는 데이터 포워딩 규칙에 따라 처리되도록 할 수 있는데, 이에 대해서는 이하에 기술될 것이다. 다른 실시예에서, 패킷을 네트워크 인터페이스로 포워딩하여 내보내기 이전에, MG는 이를 적절한 패킷에 다시 피기백하기로 결정할 수 있다.In addition, when the MG receives an MTM packet, which is an application data packet that piggybacks some pure MTM signaling (e.g. registration, MTID name resolution, etc.), the MG extracts the piggybacked packet and Packets, which can then be processed in accordance with signaling tasks or data forwarding rules, as will be described below. In another embodiment, prior to forwarding and exporting the packet to the network interface, the MG may decide to piggyback it back to the appropriate packet.

순수 시그널링 패킷의 구현Implementation of Pure Signaling Packets

어떤 실시예에서, 각각의 유형의 순수 MTM 시그널링 패킷이 특정의 포트 상에서는 UDP 패킷으로 특정의 포트 상에서는 TCP 패킷으로 구현될 수 있다. UDP 패킷의 경우에, 이것은 UDP 체크섬의 사용 및 TCP 연결 설정 지연이 없는 빠른 등록의 이점을 갖는다. TCP 패킷 구현의 경우에, TCP는 신뢰성있는 전달을 해결하기 위해 남겨둘 수 있다. 연결 설정 오버헤드가 1 RTT이지만, 이것은 MT로/로부터 양방향에서 시그널링 패킷을 TCP SYN 및 SYN-ACK 패킷 상에 피기백시킴으로서 완화될 수 있다.In some embodiments, each type of pure MTM signaling packet may be implemented as a UDP packet on a particular port and a TCP packet on a particular port. In the case of UDP packets, this has the advantage of fast registration without the use of UDP checksums and TCP connection establishment delays. In the case of a TCP packet implementation, TCP can be left to resolve reliable delivery. Although the connection establishment overhead is 1 RTT, this can be mitigated by piggybacking signaling packets on TCP SYN and SYN-ACK packets in both directions to and from the MT.

MT 순수 시그널링 및 데이터 패킷의 디멀티플렉싱MT pure signaling and demultiplexing of data packets

임의의 MTM 노드(MT 또는 MG)에서, 패킷을 수신할 시의 첫번째 동작은 패킷이 순수 시그널링 패킷인지 또는 애플리케이션 데이터를 포함하는지를 검사하는 것일 수 있다. 노드는 그에 따라, 이하의 섹션들에 기술하는 바와 같이, 대응하는 시그널링 및 데이터 작업을 호출한다.At any MTM node (MT or MG), the first action upon receiving a packet may be to check whether the packet is a pure signaling packet or contains application data. The node thus invokes the corresponding signaling and data operation, as described in the sections below.

시그널링: MT 등록Signaling: MT Registration

MT 기능이 MT에서 처음으로 턴온될 때, 또는 MT의 LIP 주소가 변할 때, 또는 MT가 그 자신의 PR 노드이고 그의 PRIP 주소가 변할 때, 일 실시예에서, MT는 먼저 연관성 튜플 <MTID, PRIP 주소, LIP 주소>를 지정하는 MRq(MTM Registration Request) 메시지를 포함하는 MIP 패킷(들)을 그의 로컬 MG로 전송한다. 유의할 점은, MT가 그 자신의 PR 노드가 아닌 경우, MRq에서의 PRIP 필드가 널(null)일 수 있다는 것이다.When the MT function is first turned on in the MT, or when the MT's LIP address changes, or when the MT is its own PR node and its PRIP address changes, in one embodiment, the MT first associates an association tuple <MTID, PRIP. Send MIP packet (s) containing an Mq Registration Request (MRq) message specifying address, LIP address> to its local MG. Note that if the MT is not its own PR node, the PRIP field in the MRq may be null.

MRq 패킷을 수신하면, 로컬 MG는 이어서 IP 패킷을 사용하여 MT에 MRp(MTM Registration Reply) 메시지로 응답할 수 있다. 통상적으로, MRp 메시지는 하나의 IP 패킷에 들어가지만, 이는 복수의 IP 패킷에 걸쳐 있을 수 있다. 일 실시예에서, MRp 메시지는 등록의 성공 또는 등록 실패의 이유 중 어느 하나를 나타내는 에러 코드를 포함한다. MRp를 포함하는 IP 패킷을 수신할 시에, MT는 이어서 패킷의 IP 헤더로부터 로컬 MG의 소스 IP 주소를 추출하고, 아직 저장되지 않은 경우, 이를 로컬적으로 저장할 수 있다.Upon receiving the MRq packet, the local MG may then reply to the MT with an MR Registration Reply (MRp) message using the IP packet. Typically, an MRp message fits into one IP packet, but it can span multiple IP packets. In one embodiment, the MRp message includes an error code indicating either the success of registration or the reason of registration failure. Upon receiving an IP packet that includes an MRp, the MT may then extract the source IP address of the local MG from the packet's IP header and store it locally if not already stored.

MRq를 전송한 후에, MT는 이어서 타임아웃-재전송 방식(timeout-and-retransmit scheme)을 사용하여 MRp를 기다릴 수 있다. 포기하여 사용자 또는 애플리케이션에 'MTM 이용불가'를 선언하기 이전에, 타임아웃-재전송 사이클이 미리 정해진 횟수만큼 반복될 수 있다.After sending the MRq, the MT may then wait for the MRp using a timeout-and-retransmit scheme. The timeout-retransmission cycle may be repeated a predetermined number of times before giving up and declaring 'MTM unavailable' to the user or application.

또한 유의할 점은 MG가 어떤 적절히 효율적인 유포 프로토콜(이는 본 발명의 범위를 벗어남)을 사용하여 그들 사이에 등록 정보를 유포(disseminate)할 수 있다는 것이다. 이러한 유포는 차례로 이하에 기술되는 이름 분석(Name Resolution) 단계에서 질의 트랜잭션 프로토콜(query transaction protocol)의 응답성(responsiveness)을 향상시킬 수 있다.Also note that the MG can disperse registration information between them using any reasonably efficient dissemination protocol (which is outside the scope of the present invention). This dissemination may in turn improve the responsiveness of the query transaction protocol in the Name Resolution step described below.

이제 도 4를 참조하면, MT를 그의 로컬 MG에 등록하는 프로세스(400)의 일 실시예가 도시되어 있다. 등록 프로세스(400)는 MT 내의 MTM 모듈이 턴온될 때, MT의 LIP 주소가 변할 때, 또는 MT가 그 자신의 PR 노드이고 그의 PRIP 주소가 변할 때 행해질 수 있다. MT가 로컬 MG에 연결 또는 재연결할 필요가 있을 때마다 또는 MT가 로컬 MG를 변경할 때 등록 프로세스(400)가 행해질 수 있기 때문에, 상기 리스트가 단지 예시적인 것에 불과하다는 것을 잘 알 것이다. 프로세스(400)는, 블록(405)으로 나타낸 바와 같이, MT가 MRq(MTM Registration Request)를 포함하는 MTM 패킷을 디폴트 MTM 게이트웨이로 전송할 때 시작한다. 디폴트 MTM 게이트웨이는 선택된 로컬 MG일 수 있다. 패킷이 MRq를 포함한다는 것을 나타내기 위해 MRq를 포함하는 패킷(예를 들어, IP 패킷(300)) 내의 MTM 헤더(예를 들어, MTM 헤더(200))의 S/D 코드 필드(예를 들어, S/D 코드 필드(245))가 설정될 수 있다는 것을 잘 알 것이다. MRq는 MT의 MTID, MT의 LIP 주소, 및 MT의 PRIP 주소를 지정할 수 있지만, MT가 그 자신의 PR 노드가 아닌 경우에, MRq 내의 PRIP 필드가 널일 수 있는데, 그 이유는 로컬 MG의 외부 IP 주소가 MT의 PRIP이기 때문이다. 다른 데이터가 MRq에 포함될 수 있다는 것과 MRq가 2개 이상의 패킷에 걸쳐 있을 수 있다는 것을 잘 알 것이다. 또한, MTID가 로컬 MG에 의해 또는 다른 MG에 의해 발생 되는 경우, MTID가 MRq에 지정되지 않을 수 있으며, 이 경우에 MTID를 발생하는 데 필요한 정보가 MRq로 전달될 수 있다는 것을 잘 알 것이다.Referring now to FIG. 4, one embodiment of a process 400 for registering an MT with its local MG is shown. The registration process 400 can be done when the MTM module in the MT is turned on, when the MT's LIP address changes, or when the MT is its own PR node and its PRIP address changes. It will be appreciated that the list is merely exemplary, as the registration process 400 can be done whenever the MT needs to connect or reconnect to the local MG or when the MT changes the local MG. Process 400 begins when the MT sends an MTM packet containing an MTM Registration Request (MRq) to the default MTM gateway, as indicated by block 405. The default MTM gateway can be the selected local MG. S / D code field (e.g., MTM header (e.g., MTM header 200)) in a packet containing an MRq (e.g., IP packet 300) to indicate that the packet contains an MRq. It will be appreciated that the S / D code field 245 may be set. The MRq may specify the MTID of the MT, the LIP address of the MT, and the PRIP address of the MT, but if the MT is not its own PR node, the PRIP field in the MRq may be null, because the external IP of the local MG This is because the address is the PRIP of the MT. It will be appreciated that other data may be included in the MRq and that the MRq may span more than two packets. Also, it will be appreciated that if the MTID is generated by the local MG or by another MG, the MTID may not be assigned to the MRq, in which case the information needed to generate the MTID may be passed to the MRq.

어떤 실시예들에서, MT는 프로세스(400)가 행해지기 이전에 액세스 네트워크에 등록될 수 있다. 그렇지만, 다른 실시예들에서, 프로세스(400)는 MT의 액세스 네트워크에의 등록과 동시에 행해질 수 있다. (적용가능한 경우) MT가 인증되어 LIP 주소를 할당받았다면, MT는 액세스 네트워크에 등록된 것으로 간주될 수 있다. 예를 들어, MT가 CDMA2000 1x 호환 장치인 경우, CDMA2000 1x AN에서 MT와 PDSN 사이에 PPP 세션이 설정되어 있고 PDSN이 LIP 주소를 MT에 할당했을 때 MT는 CDMA2000 1x 액세스 네트워크(AN)에 등록된 것으로 간주될 수 있다.In some embodiments, the MT may be registered with the access network before process 400 is performed. However, in other embodiments, process 400 may be performed concurrently with registration of the MT to the access network. If the MT has been authenticated and assigned a LIP address (if applicable), the MT may be considered registered with the access network. For example, if the MT is a CDMA2000 1x compatible device, when a PPP session is established between the MT and the PDSN in the CDMA2000 1x AN and the PDSN assigns the LIP address to the MT, the MT is registered with the CDMA2000 1x Access Network (AN). May be considered.

디폴트 MTM 게이트웨이는 로컬 MG 또는 PSN 등의 다른 장치일 수 있다. 어떤 실시예들에서, 디폴트 MTM 게이트웨이는 로컬 MG를 포함하는 PSN일 수 있다. 디폴트 MTM 게이트웨이가 로컬 MG가 아닌 경우, 이는 MRq를 로컬 MG로 포워드하도록 구성될 수 있다. 어떤 실시예들에서, 로컬 MG의 내부 인터페이스는 PSN의 인터페이스와 동일한 부분집합에 있을 수 있으며, MG의 내부 인터페이스의 IP 주소는 PSN의 인터페이스의 IP 주소로부터 기지(known)의 양만큼 오프셋되어 있을 수 있다. 이들 실시예에서, MT는 게이트웨이를 거칠 필요없이 MRq를 로컬 MG의 내부 인터페이스의 IP 주소로 직접 전송할 수 있다.The default MTM gateway can be another device, such as a local MG or a PSN. In some embodiments, the default MTM gateway can be a PSN that includes a local MG. If the default MTM gateway is not the local MG, it may be configured to forward the MRq to the local MG. In some embodiments, the internal interface of the local MG may be in the same subset as the interface of the PSN, and the IP address of the internal interface of the MG may be offset by a known amount from the IP address of the interface of the PSN. have. In these embodiments, the MT can send the MRq directly to the IP address of the internal interface of the local MG without having to go through the gateway.

블록(410)에서, MRq가 디폴트 게이트웨이로부터 로컬 MG로 포워드된다. 로컬 MG의 내부 인터페이스의 IP 주소를 MT가 알고 있으며 MRq가 MT로부터 로컬 MG로 전송된 경우, 단계(410)가 생략될 수 있다는 것을 잘 알 것이다. 그렇지만, 로컬 MG를 MT가 모르고 있고 및/또는 MRq가 로컬 MG로 전송되지 않은 경우, MRq는 게이트웨이로부터 로컬 MG로 포워드될 수 있다.At block 410, the MRq is forwarded from the default gateway to the local MG. It will be appreciated that if the MT knows the IP address of the internal interface of the local MG and the MRq is sent from the MT to the local MG, step 410 may be omitted. However, if the MT does not know the local MG and / or the MRq is not sent to the local MG, then the MRq may be forwarded from the gateway to the local MG.

로컬 MG가 MRq를 수신하면, 로컬 MG는 연관성 튜플, 즉 MT의 LIP 주소, MT의 MTID 및 MT의 PRIP 주소(PRIP 주소가 MRq에 지정되어 있는 경우)를 저장할 수 있다. 로컬 MG가 그에 등록되어 있는 MT의 PRIP 주소, MTID 및 LIP 주소를 포함하는 MTID 테이블을 유지할 수 있다. 어떤 실시예들에서, 이 MTID 테이블은 또한 다른 MG에 등록되어 있는 MT의 PRIP 주소 및 MTID를 포함할 수 있다. MRq에 포함된 데이터를 저장한 후에, 로컬 MG는 이어서, 블록(415)에 나타낸 바와 같이, MRp(MTM registration response, MTM 등록 응답)을 MT로 전송한다. MRp는 MG의 내부 인터페이스의 IP 주소를 포함하고 있을 수 있다. MT의 MTID가 로컬 MG 또는 다른 MG에 의해 발생되는 경우, MRp는 또한 MT의 MTID를 포함할 수 있다. MRp에 있는 MTM 헤더 내의 S/D 코드 필드는 등록이 성공적이었는지 여부를 나타낼 수 있다. MG의 내부 인터페이스의 IP 주소가 MRp의 IP 헤더의 소스 IP 필드에 포함되어 있을 수 있거나 MRp의 데이터에 있을 수 있다.When the local MG receives the MRq, the local MG may store an association tuple, that is, the MT's LIP address, the MT's MTID, and the MT's PRIP address (if a PRIIP address is specified in the MRq). The local MG may maintain an MTID table containing the PRIP address, MTID and LIP address of the MT registered therein. In some embodiments, this MTID table may also include the PRIP address and MTID of an MT registered with another MG. After storing the data contained in the MRq, the local MG then sends an MRp (MTM registration response) to the MT, as shown in block 415. The MRp may contain the IP address of the MG's internal interface. If the MTID of the MT is generated by the local MG or another MG, the MRp may also include the MTID of the MT. The S / D code field in the MTM header in the MRp may indicate whether registration was successful. The IP address of the internal interface of the MG may be included in the source IP field of the MRp's IP header or may be in the MRp's data.

비록 도시되어 있지는 않지만, MTID가 로컬 MG 또는 다른 MG에 의해 발생되는 실시예들에서, 로컬 MG 또는 다른 MG는 MRq를 수신한 이후 MRp를 MT로 전송하기 이전에 MTID를 발생할 수 있다.Although not shown, in embodiments where the MTID is generated by the local MG or other MG, the local MG or other MG may generate the MTID after receiving the MRq but before transmitting the MRp to the MT.

블록(420)에서, MT는 로컬 MG로부터 MRp를 수신하고 로컬 MG의 내부 인터페이스의 IP 주소를 추출 및 저장한다. 비록 도 4에 도시되어 있지는 않지만, MRp에서의 MTM 헤더 내의 S/D 코드 필드가 등록이 성공적이지 않았음을 나타내는 경우, 또는 MT가 MRp를 수신하지 않는 경우, 타임아웃-재전송 방식(timeout-and-retransmission scheme)을 사용할 수 있으며, 이 때 MT가 미리 정의된 횟수 동안 또는 미리 정의된 기간 동안 로컬 MG로 다수의 등록 요청을 전송한다는 것을 잘 알 것이다.At block 420, the MT receives the MRp from the local MG and extracts and stores the IP address of the internal interface of the local MG. Although not shown in FIG. 4, if the S / D code field in the MTM header at the MRp indicates that the registration was unsuccessful, or if the MT does not receive the MRp, timeout-and -retransmission scheme), it will be appreciated that the MT sends a number of registration requests to the local MG for a predefined number of times or for a predefined period.

일 실시예에서, MT의 등록이 성공적인 경우, 프로세스(400)는 MT의 MTID 및 PRIP 주소가 MG 오버레이 네트워크 내의 하나 이상의 다른 MG들로 유포되는 블록(425)을 포함할 수 있으며, 이들 다른 MG들은 그들의 MTID 데이터베이스를 갱신할 수 있다. BGP(Border Gateway Protocol), OSPF(Open Shortest Path First) 프로토콜 등의 몇가지 유포 프로토콜(dissemination protocol)이 사용될 수 있다. 이들 프로토콜의 동작은 본 출원의 범위를 벗어나 있다.In one embodiment, if the registration of the MT is successful, process 400 may include block 425 in which the MTID and PRIP address of the MT are disseminated to one or more other MGs in the MG overlay network, the other MGs You can update their MTID database. Several dissemination protocols may be used, such as Border Gateway Protocol (BGP) and Open Shortest Path First (OSPF) protocol. The operation of these protocols is outside the scope of this application.

시그널링: MTID 분석(Signaling: MTID Resolution) Signaling: MTID analysis (Signaling: MTID Resolution)

이 단계에서, 클라이언트(질의하는) MT는 어떤 MT의 MTID를 그의 PRIP 주소로 분석하도록 오버레이 MG 네트워크에 요청한다. 각각의 분석은 보통 데이터 전송 세션의 시작 이전에, 예를 들어, 브라우저가 웹사이트의 주소의 분석을 요구하기 이전에 애플리케이션에 의해 개시된다. MTID가 DNS 이름인 경우, 이는 통상적으로 DNS 서버에 질의함으로써 PRIP 주소로 분석될 수 있다. 유의할 점은 MTID가 PRIP 주소 자체인 경우에, 이 이름 분석 단계가 필요하지 않다는 것이다.In this step, the client (querying) MT requests the overlay MG network to resolve the MTID of any MT to its PRIP address. Each analysis is usually initiated by the application before the start of a data transfer session, for example, before the browser requires analysis of the website's address. If the MTID is a DNS name, it can typically resolve to a PRIP address by querying a DNS server. Note that if the MTID is the PRIP address itself, this name resolution step is not necessary.

이 분석을 요청하는 클라이언트 MT는 로컬 MG에 MTM NRq(Name Resolution Request) 시그널링 메시지를 전송함으로써 그렇게 할 수 있다. NRq는 순수 시그널링 패킷과 별도로 전송될 수 있거나, 다른 대안으로서, 다른 데이터 패킷에 피기백 될 수 있다. MT로부터 그의 로컬 MG로 전송되는 NRq 패킷에서, 이 특정의 패킷이 NRq 메시지의 일부를 전달한다는 것을 나타내기 위해 어떤 MTM 헤더 필드가 설정될 수 있다. 게다가, 소스 및 목적지 MTID가 각각 질의하는(querying) 및 질의되는(queried)(타겟 목적지) MT에 대한 것일 수 있다. 이와 유사하게, IP 헤더에서의 소스 및 목적지 주소 필드는 각각 질의하는 MT의 LIP 주소 및 로컬 MG의 접속가능 IP 주소이다.The client MT requesting this analysis can do so by sending an MTM Name Resolution Request (NRq) signaling message to the local MG. The NRq may be sent separately from the pure signaling packet, or alternatively, may be piggybacked into another data packet. In an NRq packet sent from the MT to its local MG, some MTM header field may be set to indicate that this particular packet carries a portion of the NRq message. In addition, the source and destination MTIDs may be for the queried and queried (target destination) MTs, respectively. Similarly, the source and destination address fields in the IP header are the LIP address of the querying MT and the reachable IP address of the local MG, respectively.

임의의 인터페이스를 통해 NRq 메시지를 수신하면, MG는 이어서 그의 로컬 캐쉬 또는 어쩌면 그의 MTID 테이블이 분석 질의(resolution query)에 대답할 수 있는지를 검사할 수 있다. 대답할 수 없는 경우, MG는 NRq 메시지를 NR 질의 트랜잭션 요청으로서 MG의 네트워크로 중계할 수 있다. 양호하게는 TCP를 통해 실행되는 정확한 NR 질의 트랜잭션 프로토콜은 본 설명의 범위를 넘어선다.Upon receiving the NRq message via any interface, the MG can then check whether its local cache or maybe its MTID table can answer the resolution query. If it cannot answer, the MG can relay the NRq message to the MG's network as an NR query transaction request. Preferably the exact NR query transaction protocol executed over TCP is beyond the scope of this description.

이와 함께, 많은 효율적인 질의 방법이 존재하며 본 발명에서 일관성있게 사용될 수 있다. 유의할 점은 MG의 외부 인터페이스에서 수신되는 NRq 메시지의 전부 또는 그 일부를 포함하는 IP 패킷이 또한 각각 패킷의 MTM 및 IP 헤더에서의 소스 MTID 및 소스 IP 필드로 인해 질의하는 MT 자체의 MTID-PRIP 매핑도 포함한다는 것이다. 이 매핑은 그의 외부 인터페이스를 통해 NRq 메시지가 방문하는 임의의 MG에 의해 캐싱될 수 있다.In addition, many efficient query methods exist and can be used consistently in the present invention. Note that the MTID-PRIP mapping of the MT itself that IP packets containing all or part of the NRq message received on the MG's external interface also queries due to the source MTID and source IP fields in the packet's MTM and IP header, respectively. It also includes. This mapping can be cached by any MG that the NRq message visits via its external interface.

일 실시예에서, NRq 질의 응답은 MTM 패킷을 통해 전달되는 NRp(Name Resolution Reply) 메시지이다. 질의 트랜잭션 프로토콜로부터 MG에 수신되는 NRp MTM 패킷에서, 이 패킷이 NRp 메시지의 일부를 전달한다는 것을 나타내기 위해 어 떤 MTM 헤더 필더가 설정될 수 있으며, 소스 및 목적지 MTID가 각각 질의되는 및 질의하는 MT에 대한 것일 수 있다.In one embodiment, the NRq query response is a Name Resolution Reply (NRp) message carried over an MTM packet. In an NRp MTM packet received at the MG from a query transaction protocol, some MTM header fields can be set to indicate that this packet carries a portion of an NRp message, and the source and destination MTIDs are queried and queried, respectively. It may be about.

NRp 패킷을 수신하면, MG는 이어서 목적지 MTID가 로컬적으로 등록된 MT에 대한 것인지를 검사할 수 있다. 그러한 경우, 패킷의 IP 헤더 내의 목적지 IP 필드를, 질의하는 MT의 LIP 주소(예를 들어, 테이블 탐색으로부터 발견됨)로 각각 설정할 수 있다. MG는 이어서 NRp 패킷을 질의하는 MT로 포워드할 수 있다.Upon receiving the NRp packet, the MG may then check whether the destination MTID is for a locally registered MT. In such a case, the destination IP field in the IP header of the packet may be set to the LIP address (eg, found from a table search) of the querying MT, respectively. The MG may then forward to the MT querying the NRp packet.

일 실시예에 따르면, NRp 응답의 내용은 질의되는 MT의 PRIP 주소이다. 어떤 실시예들에서, 이는 NRp 패킷의 IP 페이로드로 전달되거나 효율성을 위해 NRp 패킷의 IP 헤더 자체의 소스 IP 필드로 전달될 수 있다. 전자의 경우에, 그 소스 IP 필드는 MG의 내부 인터페이스 주소로 설정된다.According to one embodiment, the content of the NRp response is the PRIP address of the MT being queried. In some embodiments, this may be carried in the IP payload of the NRp packet or in the source IP field of the IP header itself of the NRp packet for efficiency. In the former case, the source IP field is set to the internal interface address of the MG.

무선 RTT 시에 저장하기 위해, NRq 메시지는 보통 실제 애플리케이션의 세션 설정 요청인 이하의 MTM 데이터 패킷(예를 들어, 브라우저의 HTTP/TCP 세션 설정 요청, RTSP/RTP 세션 설정 요청, 기타)을 피기백할 수 있다.To store at the time of wireless RTT, the NRq message piggybacks the following MTM data packets (e.g., HTTP / TCP session establishment request from the browser, RTSP / RTP session establishment request, etc.), which are typically session requests from actual applications. can do.

이제 도 5를 참조하면, 동 도면은 질의하는 MT가 질의되는 MT의 PRID 주소가 아니라 MTID를 가질 때, MT(질의하는 MT)가 다른 MT(질의되는 MT)의 PRIP 주소를 찾기 위해 그의 로컬 MG에 질의를 할 수 있는 방법의 일 실시예를 나타낸 것이다. 어떤 상황에서, 질의되는 MT의 PRIP 주소가 다른 프로세스를 사용하여 분석될 수 있다는 것을 잘 알 것이다. 예를 들어, 질의되는 MT가 DNS 도메인 이름을 갖는 경우, 질의하는 MT는, 기술 분야에 공지된 바와 같이, DNS 질의를 사용하여 DNS 도메인 이름을 질의되는 MT의 PRIP 주소로 분석할 수 있다.Referring now to FIG. 5, when the querying MT has the MTID, not the PRID address of the queried MT, the MT (query MT) finds its local MG to find the PRIP address of another MT (MT queried). One embodiment of a method for querying is shown. It will be appreciated that in some situations, the PRIP address of the queried MT can be resolved using other processes. For example, if the MT being queried has a DNS domain name, the querying MT can resolve the DNS domain name to the PRIP address of the queried MT using DNS queries, as is known in the art.

이름 분석 프로세스(500)는, 블록(505)에 나타낸 바와 같이, NRq(name resolution request)가 질의하는 MT로부터 그의 로컬 MG로 전송될 때 시작한다. NRq 메시지라는 것을 나타내기 위해 NRq 메시지에서의 MTM 헤더 내의 S/D 코드 필드가 설정될 수 있다는 것을 잘 알 것이다. 그에 부가하여, MTM 헤더에서의 소스 및 목적지 MTID 필드는 각각 질의하는 및 질의되는 MT의 MTID로 설정될 수 있고, NRq의 IP 헤더에서의 소스 및 목적지 IP 필드가 각각 질의하는 MT의 LIP 주소 및 로컬 MG의 내부 인터페이스의 IP 주소로 설정될 수 있다.The name resolution process 500 begins when a name resolution request (NRq) is sent from the querying MT to its local MG, as shown in block 505. It will be appreciated that the S / D code field in the MTM header in the NRq message may be set to indicate that it is an NRq message. In addition, the source and destination MTID fields in the MTM header may be set to the MTID of the queried and queried MT, respectively, and the LIP address and local of the MT queried by the source and destination IP fields in the IP header of NRq respectively. It can be set to the IP address of the MG's internal interface.

블록(505)에서 NRq 메시지가 전송된 후에, 이름 분석 프로세스(500)는 로컬 MG가 NRq를 수신하고 목적지 MTID를 PRIP로 매핑할 수 있는지를 판정하는 블록(510)으로 계속된다. 앞서 참조된 바와 같이, 로컬 MG는 그에 등록되어 있는 MT의 MTID 및 PRID 주소를 포함하는 MTID 테이블을 유지할 수 있다. MTID 테이블은 또한 다른 MG에 등록되어 있는 MT의 MTID 및 PRIP 주소를 저장할 수 있다. 게다가, 로컬 MG는 앞서 참조된 MTID 및 PRIP 주소쌍을 포함하는 다른 저장 유닛, 예를 들어, 로컬 캐쉬를 유지할 수 있다. 로컬 MG 내의 MTID 데이터베이스가 질의되는 MT의 MTID 및 PRIP 주소를 포함하는 경우, 프로세스(500)는 로컬 MG가 질의되는 MT의 PRIP 주소를 포함할 수 있는 NRp(name resolution reply)를 발생하는 블록(545)으로 진행한다. 어떤 실시예들에서, 질의되는 MT의 PRIP 주소는 NRp 패킷의 IP 페이로드로 또는 NRp 패킷의 IP 헤더의 소스 IP 필드로 전달될 수 있다. MTM 헤더 내의 S/D 코드 필드가 NRp 메시지를 나타내는 값으로 설정될 수 있다는 것을 잘 알 것이다.After the NRq message is sent in block 505, the name resolution process 500 continues to block 510 to determine if the local MG can receive the NRq and map the destination MTID to PRIP. As referenced above, the local MG may maintain an MTID table containing the MTID and PRID address of the MT registered therein. The MTID table may also store MTID and PRIP addresses of MTs registered in other MGs. In addition, the local MG may maintain other storage units, such as the local cache, including the MTID and PRIP address pairs referenced above. If the MTID database in the local MG includes the MTID and PRIP address of the queried MT, the process 500 generates a block 545 that generates a name resolution reply (NRp) that may include the PRIP address of the MT to which the local MG is queried. Proceed to). In some embodiments, the PRIP address of the queried MT may be passed in the IP payload of the NRp packet or in the source IP field of the IP header of the NRp packet. It will be appreciated that the S / D code field in the MTM header may be set to a value indicating an NRp message.

그렇지만, 블록(510)에서 로컬 MG가 질의되는 MT의 MTID를 그의 PRIP 주소로 분석할 수 없는 경우, 프로세스(500)는 블록(515)으로 진행하여, 로컬 MG가 질의되는 MT의 PRIP 주소를 찾기 위해 MG 네트워크에 질의를 한다. 이 질의 메시지는 NRq의 전부 또는 그 일부분을 포함할 수 있다.However, if the MTID of the MT whose local MG is queried at block 510 cannot resolve to its PRIP address, process 500 proceeds to block 515 to find the PRIP address of the MT whose local MG is queried. To query the MG network. This query message may include all or part of the NRq.

블록(520)에 도시된 바와 같이, 질의 메시지가 네트워크 전반에 걸쳐 전파될 때, MG가 질의되는 MT의 MTID 및 PRIP를 포함하고 있지 않더라도, 질의하는 MT의 NTID 및 PRIP는 질의 메시지를 수신하는 MG의 MTID 테이블에 저장될 수 있다.As shown in block 520, when the interrogation message is propagated throughout the network, the NTID and PRIP of the interrogating MT receive the interrogation message, even if the MG does not include the MTID and PRIP of the interrogated MT. It may be stored in the MTID table.

블록(525)에서, 질의되는 MT의 PRIP 및 MTID가 MG 네트워크에 저장되어 있는지가 판정된다. 일 실시예에서, MG 네트워크로부터의 응답의 수신를 위한 시간 제한을 부과할 수 있는 이 판정은 로컬 MG에 의해 행해질 수 있다. 시간 제한이 초과된 경우, 로컬 MG는 질의되는 MT의 MTID 및 PRIP 주소가 MG 네트워크에 저장되어 있지 않은 것으로 가정할 수 있으며, 프로세스(500)는 블록(530)으로 진행하여, 로컬 MG가 이름 실패 통지(name failure notification)를 질의하는 MT로 전송할 수 있다.In block 525, it is determined whether the PRIP and MTID of the queried MT are stored in the MG network. In one embodiment, this determination, which may impose a time limit for receipt of a response from the MG network, may be made by the local MG. If the time limit is exceeded, the local MG may assume that the MTID and PRIP address of the queried MT are not stored in the MG network, and process 500 proceeds to block 530 where the local MG fails to name. A name failure notification can be sent to the querying MT.

그렇지만, MG 네트워크에 있는 MG들 중 하나가 질의되는 MT의 MTID 및 PRIP 주소를 포함하고 있는 경우, 프로세스(500)는 블록(535)으로 진행하여, 적용가능한 MG가 질의되는 MT의 MTID 및 PRIP 주소를 포함하는 NRp를 생성하고, 이는 이어서 블록(540)에서 적용가능한 MG로부터 로컬 MG로 전송된다. 일 실시예에서, 질의되는 MT의 MTID 및 PRIP 주소는 동일한 이름의 보다 빠른 분석을 위해 로컬 MG에 저장될 수 있다.However, if one of the MGs in the MG network contains the MTID and PRIP address of the queried MT, then process 500 proceeds to block 535 where the MTID and PRIP address of the MT for which the applicable MG is queried. Generates an NRp comprising the, which is then transmitted from the applicable MG to the local MG at block 540. In one embodiment, the MTID and PRIP address of the queried MT may be stored in the local MG for faster resolution of the same name.

NRp가 로컬 MG에서 또는 MG 오버레이 네트워크 내의 다른 MG에서 발생되는지에 상관없이, 프로세스(500)는 블록(550)으로 진행하여, NRp가 로컬 MG로부터 질의하는 MT로 전송된다.Regardless of whether the NRp is generated at the local MG or at another MG in the MG overlay network, process 500 proceeds to block 550, where the NRp is sent from the local MG to the MT querying.

비록 도시되어 있지는 않지만, 목적지 MT의 MTID 및 PRIP가, MT에 포함되어 있었는지, DNS 질의를 통해 분석되었는지, 또는 프로세스(500)를 통해 분석되었는지에 상관없이, 이제 프로세스(500)를 개시한 애플리케이션에 할당된 전송 계층 소스 포트와 연관될 수 있다는 것을 잘 알 것이다.Although not shown, the application that initiated the process 500 now, regardless of whether the MTID and PRIP of the destination MT were included in the MT, resolved via a DNS query, or resolved through the process 500. It will be appreciated that it may be associated with a transport layer source port assigned to.

MT에서의 데이터 전송Data Transfer from MT

패킷을 송출하기 이전에, MTM 헤더 정보가 MT에 의해 주어진 패킷에 추가될 수 있다. 일 실시예에서, 소스 및 목적지 MTID는 송출된 모든 패킷에서 운반된다. 다른 실시예에서, 어떤 유형의 어드레싱이 사용되는지를 나타내기 위해 주소 유형 필드가 MT에 의해 추가될 수 있다. 어드레싱 유형은 이하의 것들을 포함할 수 있다.Prior to sending the packet, MTM header information may be added to the packet given by the MT. In one embodiment, the source and destination MTIDs are carried in every packet sent. In another embodiment, an address type field may be added by the MT to indicate what type of addressing is used. The addressing type may include the following.

IP-주소형 패킷(IP-addressed packet): MTM 헤더에서의 주소-유형 비트가 0으로 설정된다. 이 경우에, IP 헤더에서의 목적지 IP 주소는 목적지 MT의 PRIP 주소로 설정된다.IP-addressed packet: The address-type bit in the MTM header is set to zero. In this case, the destination IP address in the IP header is set to the PRIP address of the destination MT.

MTID-주소형 패킷(MTID-addressed packet): MTM 헤더에서의 주소 유형 비트가 1로 설정된다. 이 경우에, IP 헤더에서의 목적지 IP 주소는 로컬 MG의 접속가능 IP 주소로 설정되지만, 패킷은 목적지의 MTID를 전달한다. 로컬 MG는 이어서 동작 중에 목적지 MTID를 목적지 PRIP 주소로 변환하고 패킷을 이하에 기술하는 바 와 같이 포맷(format) 및 포워드하기 위해 조치를 취할 수 있다.MTID-addressed packet: The address type bit in the MTM header is set to one. In this case, the destination IP address in the IP header is set to the connectable IP address of the local MG, but the packet carries the MTID of the destination. The local MG may then take action to translate the destination MTID into a destination PRIP address during operation and to format and forward the packet as described below.

어떤 실시예들에서, 미지의 PRIP 주소를 갖는 목적지 MT로 전송되기 위해 기다리고 있는 애플리케이션 데이터를 전달하는 임의의 MTM 패킷은 MT에 의해 MTID-주소형으로서 포맷될 수 있다. 이는 또한 동일한 목적지 MT로 전송되기 위해 현재 준비되어 있는 MRq 시그널링 패킷 또는 NRq 패킷에 피기백될 수 있다.In some embodiments, any MTM packet carrying application data waiting to be sent to the destination MT with an unknown PRIP address may be formatted as MTID-address by the MT. It can also be piggybacked in an MRq signaling packet or an NRq packet that is currently ready to be sent to the same destination MT.

MG에서의 데이터 전송: 외부 IP 클라우드에서의 포워딩 및 라우팅Data Transfer in MG: Forwarding and Routing in External IP Clouds

일 실시예에서, 수신된 MTM 데이터 패킷의 어드레싱 유형에 기초하여 2가지 종류의 라우팅 방법이 MG에서 사용될 수 있다. 첫째, MTM 헤더에서의 주소-유형 비트가 IP-어드레싱을 나타내는 경우, 수신된 패킷의 IP 헤더에서의 목적지 주소는 통상의 IP 라우팅 표준에 따라 그 다음 홉을 결정하는 데 사용된다. 반면에, MTM 헤더에서의 주소-유형 비트가 MTID-어드레싱을 나타내는 경우, MG는 먼저 MTM 헤더에서의 목적지 MTID를, 목적지의 PRIP 주소로 분석하기 위해 테이블을 탐색(look up)할 수 있으며, 이는 이어서 패킷의 목적지 IP 주소 필드에 기입된다. 이 탐색에 의해 야기되는 처리 부하 및 지연을 완화시키기 위해, 최근의 탐색 결과가 고속-액세스 데이터 구조에 캐싱될 수 있다. 이어서, 통상적인 IP 라우팅에서와 같이, 패킷을 그 다음 홉으로 포워드하기 위해 탐색된 PRIP 주소가 사용될 수 있다. 그렇지만, PRIP 주소 테이블에서 목적지 MTID에 대한 엔트리가 발견되지 않은 경우, MG에 의한 가능한 조치들로는 1) 패킷을 폐기하는 조치, 또는 2) 패킷을 저장하고 MG 네트워크와 이름 분석(DNS 또는 NRq를 사용함) 트랜잭션을 개시하고, 그 후에 그 트랜잭션의 완료 및 패킷의 목적지에 대한 PRIP 주소의 수신 시에, 그 패킷이 IP-주소형 패킷으로서 포맷되어 임의의 IP-주소형 MTM 데이터 패킷과 동일한 방식으로 라우팅되도록 하는 조치 등이 있을 수 있다.In one embodiment, two kinds of routing methods may be used in the MG based on the addressing type of the received MTM data packet. First, if the address-type bit in the MTM header indicates IP-addressing, the destination address in the IP header of the received packet is used to determine the next hop according to conventional IP routing standards. On the other hand, if the address-type bit in the MTM header indicates MTID-addressing, the MG may first look up the table to resolve the destination MTID in the MTM header to the destination's PRIP address, which is It is then written to the destination IP address field of the packet. In order to mitigate the processing load and delay caused by this search, recent search results can be cached in the fast-access data structure. The searched PRIP address can then be used to forward the packet to the next hop, as in conventional IP routing. However, if no entry for the destination MTID is found in the PRIP address table, possible actions by the MG include: 1) dropping the packet, or 2) storing the packet and resolving the name with the MG network (using DNS or NRq). Initiating a transaction and then upon completion of the transaction and receipt of the PRIP address for the destination of the packet, the packet is formatted as an IP-addressed packet and routed in the same manner as any IP-addressed MTM data packet. There may be measures to be taken.

도 6을 참조하면, 로컬 MG가 로컬 소스 MT로부터 전송된 IP 패킷을 수신하고 이를 외부 IP 네트워크(예를 들어, 외부 IP 네트워크(140))로 포워드할 수 있는 방법의 일 실시예가 도시되어 있다. 포워딩 프로세스(600)는 블록(605)에서 시작하며, 이때 로컬적으로 등록된 소스 MT로부터의 IP 패킷이 로컬 MG의 내부 인터페이스에 수신된다.Referring to FIG. 6, one embodiment of a method in which a local MG can receive an IP packet sent from a local source MT and forward it to an external IP network (eg, external IP network 140) is shown. The forwarding process 600 begins at block 605 where IP packets from a locally registered source MT are received at the internal interface of the local MG.

프로세스(600)는 블록(610)으로 계속되어, 수신된 패킷의 IP 헤더에서의 소스 IP 주소(이 시점에서는 소스 MT의 LIP 주소)가, 예를 들어, 로컬 MG의 MTID 테이블을 참조함으로써, 소스 MT의 PRIP 주소와 비교된다. 소스 IP 주소가 PRIP 주소와 동일한 경우, 프로세스(600)는 블록(620)으로 진행한다(예를 들어, 소스 MT가 그 자신의 PR 노드임). 그렇지 않은 경우, 프로세스(600)는 블록(615)으로 진행하여, 블록(620)으로 진행하기 이전에 소스 IP 주소가 소스 MT의 PRIP 주소로 설정된다.Process 600 continues at block 610, where the source IP address (at this point the LIP address of the source MT) in the IP header of the received packet is referenced, for example, by referring to the MTID table of the local MG. Compared with the MT's PRIP address. If the source IP address is the same as the PRIP address, process 600 proceeds to block 620 (eg, the source MT is its own PR node). If not, process 600 proceeds to block 615 where the source IP address is set to the PRIP address of the source MT before proceeding to block 620.

블록(620)에서, 수신된 패킷이 IP 주소형인지 MTID 주소형인지에 관한 판정이 행해진다. 패킷이 IP 주소형인 경우(즉, MTM 헤더에서의 주소 유형 필드가 IP 어드레싱을 나타내는 값으로 설정되어 있는 경우), 프로세스(600)는 블록(655)으로 진행하여, 패킷이 로컬 MG로부터 외부 IP 네트워크로 전송된다.At block 620, a determination is made whether the received packet is of an IP address type or an MTID address type. If the packet is of type IP address (i.e., the address type field in the MTM header is set to a value indicating IP addressing), process 600 proceeds to block 655 where the packet is forwarded from the local MG to the external IP network. Is sent to.

그렇지만, MTM 패킷이 MTID 주소형인 경우, 프로세스(600)는 블록(625)으로 진행하여, 로컬 MG가 그의 MTID 테이블에 목적지 MT의 MTID 및 PRIP 주소를 포함하 고 있는지를 판정한다. 포함하고 있는 경우, 프로세스(600)는 블록(645)으로 진행하여, 패킷 헤더에 있는 목적지 IP 주소(이 시점에서는 로컬 MG의 내부 인터페이스의 IP 주소)가 목적지 MT의 PRIP 주소로 대체된다. 로컬 MG가 그의 MTID 테이블에 목적지 MT의 MTID 및 PRIP 주소를 포함하지 않는 경우, 프로세스(600)는 블록(625)에서 블록(630)으로 진행하여, 패킷이 로컬 MG에 버퍼링된다. 이어서 블록(635)에서 로컬 MG는 MG 네트워크에 대해 이름 질의(name query)를 개시한다. 이 이름 질의는 프로세스(500)에 기술된 이름 질의와 유사할 수 있다.However, if the MTM packet is of MTID address type, process 600 proceeds to block 625 to determine if the local MG includes the MTID and PRIP address of the destination MT in its MTID table. If so, process 600 proceeds to block 645 where the destination IP address in the packet header (at this point the IP address of the internal interface of the local MG) is replaced with the PRIP address of the destination MT. If the local MG does not include the MTID and PRIP address of the destination MT in its MTID table, process 600 proceeds from block 625 to block 630 where the packet is buffered in the local MG. In block 635 the local MG then initiates a name query against the MG network. This name query may be similar to the name query described in process 500.

블록(640)에서, 이름 질의가 성공적이었는지의 판정이 행해진다. 일 실시예에서, 이 판정은 MG 네트워크로부터의 응답의 수신을 위한 시간 제한을 부과할 수 있는 로컬 MG에 의해 행해질 수 있다. 시간 제한이 초과되는 경우, 로컬 MG는 질의되는 MT의 MTID 및 PRIP 주소가 MG 네트워크에 캐싱되어 있지 않은 것으로 가정할 수 있고, 프로세스(600)는 블록(650)으로 진행하여, 패킷이 폐기된다. 비록 도 6의 실시예에 도시되어 있지는 않지만, 어떤 실시예들에서, 로컬 MG는 또한 실패 통지를 소스 MT로 전송할 수 있다.At block 640, a determination is made whether the name query was successful. In one embodiment, this determination may be made by the local MG, which may impose a time limit for receipt of a response from the MG network. If the time limit is exceeded, the local MG may assume that the MTID and PRIP address of the queried MT are not cached in the MG network, and process 600 proceeds to block 650 where the packet is discarded. Although not shown in the embodiment of FIG. 6, in some embodiments, the local MG may also send a failure notification to the source MT.

그렇지만, 이름 질의가 성공적이었고 로컬 MG가 목적지 MT와 연관된 PRIP 주소를 포함하는 MG 네트워크로부터의 응답을 수신하는 경우, 프로세스(600)는 블록(640)으로부터 블록(645)으로 진행하여, 패킷 헤더에 있는 목적지 IP 주소가 목적지 MT의 PRIP 주소로 대체된다.However, if the name query was successful and the local MG receives a response from the MG network that includes the PRIP address associated with the destination MT, the process 600 proceeds from block 640 to block 645 to the packet header. The destination IP address in question is replaced with the PRIP address of the destination MT.

블록(645)에서 IP 헤더에 있는 목적지 IP 주소가 목적지 MT의 PRIP 주소로 대체된 경우, 프로세스(600)는 블록(655)으로 진행하여, IP 패킷이 외부 IP 네트워 크로 전송된다.If at block 645 the destination IP address in the IP header has been replaced with the PRIP address of the destination MT, process 600 proceeds to block 655 where the IP packet is sent to the external IP network.

데이터 전송: (로컬 MG로부터 목적지 MT로의) 마지막 홉 라우팅(Last Hop Routing)Data Transfer: Last Hop Routing (Local MG to Destination MT)

MG가 외부 인터페이스로부터 MTM 데이터 패킷을 수신할 때, 또 수신된 패킷 내의 목적지 MTID가 현재 로컬적으로 등록되어 있는 경우, 일 실시예에서, MG는 패킷의 IP 헤더 내의 목적지 IP 필드를, 등록-테이블 탐색으로부터 획득한 MT의 LIP 주소로 대체하고, 이어서 패킷을 정확한 내부 인터페이스를 통해 적절히 라우팅한다.When the MG receives an MTM data packet from an external interface, and if the destination MTID in the received packet is currently registered locally, the MG is configured to register the destination IP field in the packet's IP header in a registration-table. Replace with the LIP address of the MT obtained from the search, then route the packet appropriately through the correct internal interface.

그렇지만, 외부 인터페이스로부터의 MTM 데이터 패킷이 로컬적으로 등록되어 있지 않은 목적지 MTID를 가지고 있는 경우, MG는 T초 동안 패킷을 큐잉할 수 있으며, 여기서 T는 동적으로 결정될 수 있다. 나중에, MT가 재등록되거나 그의 새로운 PRIP 주소가 다른 MG에 의해 통지될 때(이하의 이동성 확장을 참조할 것), MT로 보내지게 되어 있는 모든 보류 중인 패킷들이 큐잉되었다가 MT로 또는 경우에 따라서 그의 새로운 PRIP 주소로 전송될 수 있다.However, if the MTM data packet from the external interface has a destination MTID that is not registered locally, the MG may queue the packet for T seconds, where T may be determined dynamically. Later, when the MT is re-registered or its new PRIP address is notified by another MG (see mobility extension below), all pending packets that are supposed to be sent to the MT are queued and then to the MT or, as the case may be, Can be sent to its new PRIP address.

그를 위해, 도 7은 로컬 MG가 외부 IP 네트워크로부터 IP 패킷을 수신하고 이를 로컬적으로 등록된 목적지 MT로 포워드할 수 있는 방법의 일 실시예를 나타낸 것이다. 프로세스(700)는, 로컬 MG가 로컬적으로 등록된 목적지 MT에 대한 PR 노드이고, 패킷의 IP 헤더에 있는 목적지 IP 주소가 MG의 외부 인터페이스로 어드레싱될 때, 사용될 수 있다. 목적지 MT가 그 자신의 PR 노드이고 패킷의 IP 헤더 내의 목적지 IP 주소가 목적지 MT의 LIP 주소로 어드레싱되는 경우에는, 표준의 IP 라우팅 프로토콜이 IP 패킷을 목적지 MT로 전달하는 데 사용될 수 있다는 것을 잘 알 것이다.For that purpose, FIG. 7 illustrates one embodiment of a method by which a local MG can receive an IP packet from an external IP network and forward it to a locally registered destination MT. Process 700 may be used when the local MG is a PR node for a locally registered destination MT and the destination IP address in the packet's IP header is addressed to the MG's external interface. If the destination MT is its own PR node and the destination IP address in the IP header of the packet is addressed to the LIP address of the destination MT, it is well understood that a standard IP routing protocol can be used to forward the IP packet to the destination MT. will be.

프로세스(700)는, 블록(705)으로 나타낸 바와 같이, 로컬 MG가 그의 외부 인터페이스의 IP 주소로 어드레싱되는 IP 패킷을 수신할 때 시작한다. 패킷을 수신한 후에, 프로세스(700)는 블록(710)으로 진행하여, 목적지 MT가 현재 로컬 MG에 등록되어 있는지의 판정이 행해질 수 있다. 이 판정은 패킷의 MTM 헤더로부터 목적지 MTID를 추출하고 이를 MG에 현재 등록되어 있는 MT의 MTID와 비교함으로써 수행될 수 있다. 일치하는 것이 발견되는 경우, 목적지 MT는 현재 로컬 MG에 등록되는 것이며, 프로세스(700)는 블록(740)으로 진행하여, 목적지 MT의 LIP가 IP 헤더의 목적지 IP 필드에 삽입된다.Process 700 begins when the local MG receives an IP packet addressed to the IP address of its external interface, as indicated by block 705. After receiving the packet, process 700 proceeds to block 710 where a determination can be made whether the destination MT is currently registered with the local MG. This determination may be performed by extracting the destination MTID from the MTM header of the packet and comparing it with the MTID of the MT currently registered in the MG. If a match is found, the destination MT is currently registered with the local MG, and process 700 proceeds to block 740 where the LIP of the destination MT is inserted in the destination IP field of the IP header.

그렇지만, 일치하는 것이 발견되지 않는 경우, 목적지 MT는 이전에 등록되어 있었을지는 모르지만 현재는 로컬 MG에 등록되어 있지 않은 것이며, 프로세스(700)는 블록(715)으로 진행하여, 패킷이 로컬 MG에 버퍼링되고, 이어서 블록(720)으로 진행하여, 로컬 MG는 일정 기간 동안 목적지 MT가 MG 네트워크에 재등록하기를 기다린다. 비록 도시되어 있지는 않지만, 다른 실시예에서, 로컬 MG는 목적지 MT가 다른 MG에 등록하였는지를 판정하기 위해 MG 네트워크에 질의를 할 수 있다. 이 질의는 프로세스(700)에 기술된 이름 질의와 유사할 수 있다.However, if no match is found, the destination MT may have previously been registered but is not currently registered with the local MG, and process 700 proceeds to block 715 where packets are buffered in the local MG. The process then proceeds to block 720 where the local MG waits for the destination MT to re-register with the MG network for a period of time. Although not shown, in another embodiment, the local MG may query the MG network to determine if the destination MT has registered with another MG. This query may be similar to the name query described in process 700.

블록(725)에서, 목적지 MT가 재등록했는지의 판정이 행해진다. 로컬 MG가 패킷을 수신한 이후 할당된 시간 내에 목적지 MT가 로컬 MG에 재등록하지 못하였거나 이름 질의가 성공하지 못한 경우, 블록(750)에 나타낸 바와 같이, 블록(715)에 서 저장된 패킷이 폐기되고, 프로세스(700)가 종료된다. 그렇지만, 목적지 MT가 할당된 시간 내에 로컬 MG에 재등록하였거나 이름 질의가 성공적인 경우, 프로세스(700)는 블록(730)으로 진행하여, 목적지 MT가 로컬 MG에 등록되어 있는지에 관한 판정이 행해진다.At block 725, a determination is made whether the destination MT has re-registered. If the destination MT fails to re-register with the local MG or the name query is unsuccessful within the allotted time after the local MG receives the packet, the packet stored at block 715 is discarded, as indicated at block 750. Process 700 ends. However, if the destination MT has re-registered with the local MG within the allotted time or if the name query is successful, process 700 proceeds to block 730 where a determination is made as to whether the destination MT is registered with the local MG.

목적지 MT가 로컬 MG에 등록되어 있는 경우, 프로세스(700)는 블록(740)으로 진행하여, 목적지 MT의 LIP가 IP 헤더에서의 목적지 IP 필드에 삽입되고, 이어서 블록(745)으로 진행하여, 패킷이 MG로부터 목적지 MT로 전송된다.If the destination MT is registered with the local MG, the process 700 proceeds to block 740 where the LIP of the destination MT is inserted into the destination IP field in the IP header, and then proceeds to block 745, where the packet It is transmitted from this MG to the destination MT.

목적지 MT가 로컬 MG에 등록되어 있지 않지만, MG 네트워크 내의 다른 MG에 등록되어 있는 경우, 프로세스(700)는 블록(735)으로 진행하여, 패킷(및 임의의 다른 버퍼링된 패킷)이 MG로부터 목적지 MT의 새로운 PRIP 주소로 전송된다. IP 헤더에서의 목적지 IP 필드가 목적지 MT의 새로운 PRIP 주소로 설정될 수 있다는 것을 잘 알 것이다. MT가 현재 등록되어 있는 MG는 이어서 프로세스(700)를 사용하여 패킷을 목적지 MT로 포워드한다.If the destination MT is not registered with the local MG but is registered with another MG in the MG network, the process 700 proceeds to block 735 where a packet (and any other buffered packet) is sent from the MG to the destination MT. Is sent to the new PRIP address. It will be appreciated that the destination IP field in the IP header can be set to the new PRIP address of the destination MT. The MG with which the MT is currently registered then forwards the packet to the destination MT using process 700.

MTM에서의 시그널링 및 데이터 전송 이벤트의 타임라인Timeline of signaling and data transfer events in MTM

도 8은 시그널링 및 데이터 전송 단계에서의 이벤트들의 일반적인 타임라인을 나타낸 것이다. 도시된 바와 같이, MT1(805)은 그의 로컬 MG1(810)과 통신을 하고 있다. 로컬 MG1(810)은, 차례로 MT2(820)의 로컬 MG2(815)와 통신을 하고 있다.8 shows a general timeline of events in the signaling and data transmission phases. As shown, MT1 805 is in communication with its local MG1 810. The local MG1 810 is in communication with the local MG2 815 of the MT2 820 in turn.

도 8의 시그널링 타임라인(800)은 MT(805)와 로컬 MG(810) 간의 등록 단계(WRTTI)로 시작한다. 그 후에, MT2(820)의 MTID를 획득하기 위한 이름 분석 단 계(WRTT2)가 MT1(805), MG1(810) 및 MG2(815) 간의 간단한 질의-응답 교환으로서 나타내어져 있다. 일반적으로, MG1(810)은 MT2(820)의 이름-MTID 맵을 소유하는 원격 MG들 중 임의의 것으로부터 가능한 가장 빠른 응답을 받기 위해 질의 프로토콜을 사용할 수 있다. MT1(805)과 MT2(820) 간의 데이터 전송 단계(WRTT3)가 이어서 행해질 수 있다. 유의할 점은 NRq 및 데이터 패킷을 MRq 패킷 상에 피기백함으로써 시그널링 및 데이터 전송을 파이프라이닝하면 애플리케이션 세션에서의 초기 데이터가 MT1(805)로부터 MT2(820)에 도달하기 위한 WRTT2+WRTT3의 오버헤드 시간이 제거된다. 또한, 패킷에서 높은 헤더-데이터 오버헤드 비율(header-to-data overhead ratio)를 갖는 VoIP 등의 지연에 민감한 애플리케이션은 압축된 피기백으로부터 이득을 본다.The signaling timeline 800 of FIG. 8 begins with a registration step (WRTTI) between the MT 805 and the local MG 810. Thereafter, the name resolution step WRTT2 for obtaining the MTID of the MT2 820 is shown as a simple query-response exchange between the MT1 805, the MG1 810, and the MG2 815. In general, MG1 810 may use a query protocol to receive the fastest response possible from any of the remote MGs that own the name-MTID map of MT2 820. The data transfer step WRTT3 between MT1 805 and MT2 820 may then be performed. Note that pipelining signaling and data transfer by piggybacking NRq and data packets onto MRq packets causes the overhead time of WRTT2 + WRTT3 for initial data in the application session to reach MT2 820 from MT1 805. Is removed. In addition, latency sensitive applications such as VoIP, which have a high header-to-data overhead ratio in the packet, benefit from compressed piggybacks.

MTM 네트워크간 핸드오프(MTM Inter-Network Handoff)MTM Inter-Network Handoff

도 9를 참조하면, 네트워크간 소프트(make-before-break) 및 하드(make-after-break) 핸드오프 기능이 내장되어 있는 도 1의 시스템의 다른 실시예가 도시되어 있다. 도 9의 시스템(900)에서, MT(905)는 PR MG(935)(그의 업스트림 프록시이기도 함)에 등록을 하고 액세스 네트워크(910-1)를 통해 이들 간에 다운스트림 경로(960) 및 업스트림 경로(965)를 설정한다.With reference to FIG. 9, another embodiment of the system of FIG. 1 is shown with built-in make-before-break and make-after-break handoff functionality. In the system 900 of FIG. 9, the MT 905 registers with the PR MG 935 (which is also its upstream proxy) and the downstream path 960 and upstream path between them via the access network 910-1. (965) is set.

MT(905)가 그의 현재 액세스 네트워크(910-1)에서 새로운 네트워크(910-2)로 이동하여 그곳에서 새로운 LIP 주소를 획득할 때, MT(905)는 새로운 PR MG(940)(이 실시예에서, MT(905)의 이전의 PR MG(935)와 다름)에 재등록을 할 수 있다. 따라서, MT는 새로운 PRIP 주소도 획득할 수 있다. 도 9의 목적상, 움직이는 MT가 MTM 을 구현하지 않는 원격 CT(Correspondent Terminal)(915)와 애플리케이션 세션(s)을 실행하고 있는 것으로 가정된다. 게다가, IP 네트워크(920)는, 도시된 바와 같이, MG(925, 930, 935, 940)의 오버레이 네트워크를 통해 액세스 네트워크(910-1 내지 910-3) 각각과 상호연결되어 있다.When the MT 905 moves from its current access network 910-1 to a new network 910-2 and obtains a new LIP address there, the MT 905 starts a new PR MG 940 (this embodiment). , Different from the previous PR MG 935 of the MT 905). Thus, the MT can also obtain a new PRIP address. For the purposes of FIG. 9, it is assumed that a moving MT is executing an application session s with a remote Correspondent Terminal (CT) 915 that does not implement MTM. In addition, IP network 920 is interconnected with each of access networks 910-1 through 910-3 via an overlay network of MGs 925, 930, 935, 940, as shown.

이 실시예에서, MT(905)는 그의 PR MG(940) 자체 및 그의 새로운 업스트림 프록시 MG(930)를 선택한다. MT의 LIP 및 PRIP 주소 변화가 업스트림 프록시 MG(930)로 통지되고 그에 의해 검출될 수 있다. 이 변화에 관한 정보가 업스트림 프록시 MG(930)에 상태 정보로서 전송될 수 있다.In this embodiment, the MT 905 selects its PR MG 940 itself and its new upstream proxy MG 930. The LIP and PRIP address changes of the MT may be notified to and detected by the upstream proxy MG 930. Information about this change may be sent to the upstream proxy MG 930 as status information.

먼저, 다운스트림 재라우팅에 대해 기술한다. 업스트림 프록시 MG(930)는 나머지 MG들(예를 들어, MG(925))에, CT(915)로부터의 패킷(960)의 종전의 다운스트림 경로를 새로운 PR MG(940)로 전환(deflect)할 것을 신호한다. 일 실시예에서, 업스트림 프록시(930)는 이전의 PR MG(935) 및 세션(s)의 다운스트림 경로에서 만난 첫번째 MG(즉, MG2(925))에게만 (예를 들어, 본 명세서에 기술된 세션 갱신(Session Update) 메시지를 사용하여) 신호한다. 이전의 PR MG(935)로 이미 전송되고 있던 세션(s)의 CT(915)로부터의 패킷들은 이제 그에 의해 새로운 PR MG(940)으로 리디렉션된다(라인(955)로 나타냄).First, downstream rerouting is described. The upstream proxy MG 930 deflects the previous downstream path of the packet 960 from the CT 915 to the new PR MG 940 to the remaining MGs (eg, MG 925). Signal to do In one embodiment, upstream proxy 930 is only available to the first MG (ie, MG2 925) that has been encountered in the previous PR MG 935 and downstream path of session s (eg, as described herein. (Using a Session Update message). Packets from the CT 915 of the session s that were already being sent to the old PR MG 935 are now redirected to the new PR MG 940 by this (indicated by line 955).

일 실시예에서, 조기 다운스트림 재라우팅(early downstream rerouting)이 행해질 수 있다. MG2(925)가 세션 갱신 메시지를 수신한 후에 MG2(925)에 도달하는 CT(915)로부터의 더 새로운 패킷들이, 이전의 PR MG(935)까지 전파될 필요없이, MG2(925)로부터 새로운 PR MG(940)로 리디렉션된다.In one embodiment, early downstream rerouting may be done. Newer packets from CT 915 arriving at MG2 925 after MG2 925 receives the session update message do not need to be propagated to the previous PR MG 935, without having to propagate the new PR from MG2 925. You are redirected to MG 940.

업스트림 재라우팅(upstream rerouting)과 관련하여, MT(905)로부터 CT(915)로 전파하는 세션(s)의 패킷들은 먼저 PR MG(940)를 지나가고, 이어서 업스트림 프록시(930)에 도달하며, 이 프록시(930)는 이 세션의 첫번째 패킷에서 운반된 원래의 값을 가리키도록 패킷들의 세션-튜플(소스 adport 및 목적지 adport)을 스왑한다. 이것은 CT(915)가 그에게 전달되는 패킷들을 MT(905)의 핸드오프 동안 및 그 이후에도 계속하여 세션(S)의 유효한 패킷으로서 인식하도록 해준다. 따라서, 새로운 PR MG(940)와 업스트림 프록시(930) 간의 업스트림 패킷(945-1)은 새로운 공개 세션-튜플(public session-tuple)을 전달하는 반면, 업스트림 프록시(930)와 다른 MG2(925) 간의 업스트림 패킷(945-2)은 세션(s)에 대한 원래의 세션-튜플을 전달한다.With regard to upstream rerouting, packets of session s propagating from MT 905 to CT 915 first pass through PR MG 940 and then reach upstream proxy 930, which The proxy 930 swaps the session-tuples of the packets (source adport and destination adport) to point to the original value carried in the first packet of this session. This allows the CT 915 to recognize the packets delivered to him as valid packets of the session S during and after the handoff of the MT 905. Thus, the upstream packet 945-1 between the new PR MG 940 and the upstream proxy 930 carries a new public session-tuple, while the upstream proxy 930 and the other MG2 925 are different. Upstream packet 945-2 carries the original session-tuple for session s.

그 다음에, 오버레이 재라우팅(overlay re-routing)에 대해 기술한다. 일반적으로, MG는 기반 인터넷의 라우팅을 방해하지 않는 오버레이 라우팅을 생성하기 위해 데이터 및 신호 패킷을 서로에게 포워드한다. 최적의 오버레이 경로에 대한 특정의 기준으로는, 오버레이 MG 네트워크에서의 최단 길이 경로, 최단 지연 경로, 최고 대역폭 경로, 기타 등등이 있다. 이러한 최적-라우팅 실시예에서, 상기한 다운스트림 재라우팅이 반드시 MG2(925)에서 조기에 수행되는 것은 아니다. 그 대신에, 새로운 최적의 경로는 중간 어딘가에 위치하는 어떤 다른 MG의 선택을 강요할 수 있다. 게다가, 여러가지 MG(925, 930, 935, 940) 간의 이동성 시그널링(mobility signaling)(950)은 핸드오프 프로세스를 용이하게 해준다.Next, overlay re-routing is described. In general, MGs forward data and signal packets to each other to create overlay routing that does not interfere with the routing of the underlying Internet. Specific criteria for the optimal overlay path include the shortest length path, the shortest delay path, the highest bandwidth path, etc. in the overlay MG network. In this best-routing embodiment, the downstream rerouting described above is not necessarily performed early at MG2 925. Instead, the new optimal path may force the choice of any other MG located somewhere in between. In addition, mobility signaling 950 between the various MGs 925, 930, 935, 940 facilitates the handoff process.

MG의 확장성(scalability)의 측면에서 볼 때, 일 실시예에서는, CT(915)가 MTM-지원하는 경우에는 언제나, CT(915)가 MG 대신에 재라우팅을 수행하도록 될 수 있다. MTM의 재라우팅이 모바일 IP(mobile IP) 내의 홈 에이전트를 통한 간접 라우팅과 어떻게 다른지에 주목해야 하는데, 그 이유는 MTM이 MT에 대한 고정된 홈 MG를 지정하지 않기 때문이다.In terms of scalability of the MG, in one embodiment, the CT 915 may be configured to perform rerouting instead of the MG whenever the CT 915 is MTM-supported. Note how the rerouting of the MTM differs from indirect routing through the home agent in the mobile IP, since the MTM does not specify a fixed home MG for the MT.

일 실시예에서, 핸드오프는 예상적(anticipatory) 또는 예측적(predictive)이다, 즉 다운스트림 패킷이 다운스트림 재라우팅 MG(예를 들어, MG2(925))에 의해 이전의 PRIP 주소(예를 들어, MG1(935)) 및 이동하는 MT(905)의 예측된 새로운 PRIP 주소 세트(예를 들어, PR MG(940)) 양쪽으로 사전에 멀티캐스트된다. 이러한 예측된 새로운 PRIP 주소 세트는 MT의 핸드오프전 네트워크(pre-handoff network)(예를 들어, 액세스 네트워크(910-1))의 이웃에 있는 것으로 알려진 MG들의 어떤 부분집합이다. 이 예측된 세트를 선택하는 많은 방법들이 있다. 예를 들어, 새로운 네트워크에 대한 예측은 그의 지리적 위치 추적에 기초하거나 단순히 MT의 핸드오프전 네트워크의 이웃에 있는 모든 네트워크에 서비스를 제공하는 MG들 전부를 선택하는 것에 의할 수 있다. MG들에게, 예측된 새로운 PRIP 주소로서 그 MG들이 선택되었음을 통지하는 작업은, 이전의 로컬 MG(예를 들어, MG1(935)) 또는 MT(905)의 재라우팅 MG(예를 들어, PR MG(940)) 중 어느 하나로부터의 특별한 "예측된_새로운 시그널링 메시지(predicted_new signaling message)"에 의해 수행될 수 있다. 이들 시그널링 메시지는 이동성 시그널링(950)의 일부로서 전달될 수 있다.In one embodiment, the handoff is anticipatory or predictive, i.e., the downstream packet is sent to a previous PRIP address (e.g., by the downstream rerouting MG (e.g., MG2 925). For example, MG1 935 and pre-multicast to both the predicted new PRIP address set (eg, PR MG 940) of the moving MT 905. This set of predicted new PRIP addresses is some subset of MGs known to be in the neighborhood of the MT's pre-handoff network (eg, access network 910-1). There are many ways to select this predicted set. For example, the prediction for the new network may be based on its geographical location tracking or simply by selecting all of the MGs serving all networks in the neighborhood of the network before the MT's handoff. The task of notifying the MGs that the MGs have been selected as the predicted new PRIP address is the rerouting MG of the previous local MG (eg MG1 935) or MT 905 (eg PR MG). 940) may be performed by a special &quot; predicted_new signaling message &quot; These signaling messages may be delivered as part of mobility signaling 950.

이제 도 10을 참조하면, 본 발명에 따른 MTM 시스템이 한 액세스 네트워크로 부터 다른 액세스 네트워크로의 MT의 네트워크간 핸드오프를 처리할 수 있는 방법에 대한 프로세스(1000)의 일 실시예가 나타내어져 있다. 프로세스(1000)는 MT가 그의 로컬 MG와의 연결을 상실할 때 블록(1005)에서 시작한다. 일 실시예에서, MG는, 예를 들어, MT로 패킷을 전달할 수 없는 것에 의해, 상실된 연결을 검출할 수 있다. 다른 실시예들에서, MG는 액세스 네트워크(AN)의 컴포넌트에 의해 상실된 연결을 통보받을 수 있다. 예를 들어, CDMA2000 네트워크에서, PSN은 그와 MT 간의 PPP 연결의 종료를 검출하고 이어서 로컬 MG에 통보할 수 있다. 상실된 연결이 어떻게 검출되는지에 상관없이, 프로세스(1000)는 블록(1010)으로 진행하여, 로컬 MG가 "예측된_새로운 시그널링 메시지(predicted_new signaling message)"를 하나 이상의 MG(이후부터 예측된 MG라고 함)로 전송한다. 예측된 새로운 시그널링 메시지는 예측된 MG들에 MT가 MG 네트워크에 재연결될 때 그들이 새로운 로컬 MG로서 선택될 수 있음을 통보하고 그들에게로 전송되는 MT에 대한 임의의 패킷을 수락하도록 지시한다. 로컬 MG는 (알려져 있는 경우) MT와 통신할 수 있는 액세스 네트워크 및 로컬 MG에 대한 지리적 근접성을 비롯한 몇가지 인자들에 기초하여 예측된 MG를 선택할 수 있다.Referring now to FIG. 10, one embodiment of a process 1000 for a method in which an MTM system in accordance with the present invention may handle an inter-network handoff of an MT from one access network to another is shown. Process 1000 begins at block 1005 when the MT loses its connection with its local MG. In one embodiment, the MG may detect lost connections, for example, by not being able to deliver packets to the MT. In other embodiments, the MG may be informed of a lost connection by a component of an access network (AN). For example, in a CDMA2000 network, the PSN may detect the end of the PPP connection between him and the MT and then notify the local MG. Regardless of how the lost connection is detected, process 1000 proceeds to block 1010 where the local MG calls the " predicted_new signaling message " at least one MG (hereafter predicted MG). To send). The predicted new signaling message informs the predicted MGs that when the MT is reconnected to the MG network they can be selected as the new local MG and instructs them to accept any packet for the MT sent to them. The local MG may select the predicted MG based on several factors including the geographic proximity to the local MG and an access network capable of communicating with the MT (if known).

그에 부가하여, 일 실시예에서 각각의 CT에 대해 재라우팅 노드가 선택될 수 있다. 이 재라우팅 노드는 (적용가능한 경우) CT에 대한 로컬 MG 또는 CT와 로컬 MG 사이의 연결 경로에 있는 다른 MG일 수 있다.In addition, in one embodiment a rerouting node may be selected for each CT. This rerouting node may be a local MG for the CT (if applicable) or another MG in the connection path between the CT and the local MG.

예측된 MG가 선택된 후에, 이어서 블록(1015)에 나타낸 바와 같이, 로컬 MG에 의해 수신되는 MT로 보내지게 되어 있는 패킷이 로컬 MG로부터 예측된 MG들로 멀티캐스트된다. 재라우팅 노드가 선택된 경우, 패킷들은 재라우팅 노드로부터 로컬 MG 및 예측된 MG들로 멀티캐스트될 수 있다. 패킷들이 어떻게 멀티캐스트되는지에 상관없이, 이들은 이어서, 블록(1020)에 나타낸 바와 같이, 예측된 MG들에 버퍼링된다.After the predicted MG is selected, then the packet that is supposed to be sent to the MT received by the local MG is multicast from the local MG to the predicted MGs, as shown in block 1015. If the rerouting node is selected, packets can be multicast from the rerouting node to the local MG and the predicted MGs. Regardless of how the packets are multicast, they are then buffered in the predicted MGs, as shown in block 1020.

일 실시예에서, 블록(1025, 1030)에 각각 나타낸 바와 같이, 새로운 로컬 MG가 발견될 때까지 또는 시간 제한에 도달될 때까지, 패킷들은 예측된 MG들로 멀티캐스트되어 그곳에 버퍼링된다. 새로운 로컬 MG가 발견되는 경우, 즉 MT가 MG 네트워크에 재연결되는 경우, 프로세스(1000)는 블록(1040)으로 진행하여, 새로운 로컬 MG가 아닌 예측된 MG에서는 버퍼링된 패킷이 폐기된다. 새로운 로컬 MG가 이전의 로컬 MG일 수 있다는 것을 잘 알 것이다. 비록 프로세스(1000)에 도시되어 있지는 않지만, 또한 새로운 로컬 MG가 예측된 MG들 중 어느 것도 아닐 수 있다는 것을 잘 알 것이다. 이러한 경우에, 버퍼링된 패킷이 적절히 선택된 예측된 MG 또는 이전의 로컬 MG로부터 로컬 MG로 포워드될 수 있다. 버퍼링된 패킷을 새로운 로컬 MG로 전송하기 위해 선택된 특정의 MG는 중요하지 않으며, 이를 선택하기 위해 다양한 방법들이 사용될 수 있다.In one embodiment, as shown in blocks 1025 and 1030, respectively, packets are multicast to the predicted MGs and buffered there until a new local MG is found or until a time limit is reached. If a new local MG is found, that is, if the MT is reconnected to the MG network, process 1000 proceeds to block 1040 where the buffered packet is discarded at the predicted MG rather than the new local MG. It will be appreciated that the new local MG may be the old local MG. Although not shown in process 1000, it will also be appreciated that the new local MG may not be any of the predicted MGs. In such a case, the buffered packet may be forwarded from the appropriately selected predicted MG or the previous local MG to the local MG. The particular MG selected to send the buffered packet to the new local MG is not critical, and various methods can be used to select it.

새로운 로컬 MG가 예측된 MG들 중 하나인지 여부에 상관없이, 프로세스(1000)는 이어서 블록(1045)으로 진행하여, 버퍼링된 패킷이 새로운 로컬 MG로부터 MT로 전송된다. 그렇지만, 새로운 로컬 MG가 발견되지 않고 시간 제한에 도달되는 경우, 프로세스(1000)는 블록(1035)으로 진행하여, 모든 예측된 MG들 및 이전의 로컬 MG에서 패킷들이 폐기될 수 있다.Regardless of whether the new local MG is one of the predicted MGs, process 1000 then proceeds to block 1045 where the buffered packet is sent from the new local MG to the MT. However, if no new local MG is found and a time limit is reached, process 1000 proceeds to block 1035 where packets may be discarded at all predicted MGs and the previous local MG.

MG에서 MT에 대한 예측된 새로운 PRIP 주소에 도달하는 사전 멀티캐스트 패킷(advance multicast packet)은, 이하의 2가지 이벤트 중 하나가 일어날 때까지, 그 MG에 버퍼링될 수 있다.Advance multicast packets that arrive at the predicted new PRIP address for the MT in the MG may be buffered in that MG until one of the following two events occurs.

이 MG가 예측된_새로운 메시지를 통해 통지된 이후로 T_b의 기간이 경과함. 이 경우에, 버퍼 내의 패킷들은 폐기될 수 있다.The duration of T_b has elapsed since this MG was notified through a predicted new message. In this case, packets in the buffer can be discarded.

MT가 이제 그의 새로운 네트워크에 연결되어 이 MG를 그의 PR MG로서 등록함. 그 경우에, 이 MG 자체는 MT에 대한 실제의 새로운 PR MG이다. 따라서, 이는 패킷 헤더에 대해 통상적인 최종-홉 PR MG 처리를 수행하고 버퍼링된 패킷을 MT로 포워드한다. 그렇지 않은 경우, 이 MG는 MT에 대한 새로운 PR MG가 아님을 통지받거나 그의 새로운 다운스트림 세션 경로에 있다. 그 경우에, MG는 그의 버퍼에 있는 패킷을 폐기할 수 있다.MT is now connected to his new network and registers this MG as his PR MG. In that case, this MG itself is the actual new PR MG for the MT. Thus, it performs typical last-hop PR MG processing on the packet header and forwards the buffered packet to the MT. If not, this MG is notified that it is not a new PR MG for the MT or is in its new downstream session path. In that case, the MG may discard the packet in its buffer.

총 네트워크간 핸드오프 기간 및 사전 패킷을 예측된 MG에 버퍼링하는 기간은 MT가 그 네트워크 도메인으로 물리적으로 이동하기 전일지라도 미리 MT를 그의 예상된 새로운 네트워크에 연결시킴으로써 추가적으로 감소될 수 있다. 이 사전 연결은 새로운 네트워크에 적절히 위치하거나 MT에 대한 선택된 예측된 새로운 로컬 MG들 중 하나 내부에 위치한 프록시 MT 노드에 의해 행해질 수 있다. 프록시 MT는 그가 새로운 네트워크에 대한 실제 MT인 것처럼 연결하기 위해 필요로 하는 모든 정보를 전송받는다. 따라서, MT는 새로운 네트워크를 사용하고 DHCP 라우터 등의 네트워크의 주소 할당 서버로부터 새로운 로컬 IP 주소를 얻기 위해 권한을 부여받고 인증될 수 있다. 나중에, 실제의 MT가 물리적으로 (MAC 계층에서) 새로 운 네트워크에 접속될 때, 새로운 네트워크에의 그의 IP 연결을 기술하는, 새로운 로컬 IP 주소를 비롯한 전체 상태 정보가 프록시 MT로부터 그에게로 전송된다. 일 실시예에서, 이것은 총 핸드오프 기간을 거의 0으로 감소시킬 수 있다.The total inter-network handoff period and the duration of buffering the advance packet in the predicted MG can be further reduced by connecting the MT to its expected new network in advance, even before the MT physically moves to its network domain. This pre-connection may be done by a proxy MT node either properly located in the new network or located inside one of the selected predicted new local MGs for the MT. The proxy MT is sent all the information he needs to connect as if it is the real MT for the new network. Thus, the MT can be authorized and authenticated to use a new network and obtain a new local IP address from an address assignment server in a network such as a DHCP router. Later, when the actual MT is physically connected to the new network (at the MAC layer), full status information, including the new local IP address, is sent to him from the proxy MT, describing his IP connection to the new network. . In one embodiment, this may reduce the total handoff period to near zero.

도 11은 프록시 MT가 네트워크간 핸드오프 동안에 MT에 대한 패킷을 버퍼링하는 데 사용될 수 있는 방법의 일 실시예를 나타낸 것이다. 프로세스(1100)는 MT가 그의 로컬 MG와의 연결을 상실할 때 시작한다. 이것은 프로세스(1000)에서 기술된 바와 같이 검출될 수 있다. 프로세스(1100)는 블록(1110)으로 계속하여, 로컬 MG가 예측된 새로운 시그널링 메시지를 예측된 MG들(프로세스(1000)에서 기술된 바와 같이 선택될 수 있음)로 전송한다.FIG. 11 illustrates one embodiment of a method in which a proxy MT can be used to buffer packets for an MT during an inter-network handoff. Process 1100 begins when the MT loses its connection with its local MG. This may be detected as described in process 1000. Process 1100 continues to block 1110, where the local MG sends the predicted new signaling message to the predicted MGs (which may be selected as described in process 1000).

프로세스(1100)는 블록(1115)으로 계속하여, 예측된 MG들 중 하나가 상실된 MT에 대한 프록시 MT로서 구성된다. 예측된 MG를 프록시 MT로서 구성하는 데 필요한 정보는 로컬 MG로부터 예측된 MG로 전송될 수 있다. 예를 들어, 로컬 MG는 상실된 MT와 연관되어 있는 예측된 MG로 MTID, 마지막 LIP 주소, 마지막 PRIP 주소 및 다양한 AN 계정 정보를 전송할 수 있다. 이 리스트는 단지 예시적인 것에 불과한데, 그 이유는 선택된 예측된 MG를 프록시 MT로서 설정하는 데 필요한 정보가 AN마다 다를 수 있기 때문이다.Process 1100 continues to block 1115, configured as a proxy MT for the MT in which one of the predicted MGs is lost. Information needed to configure the predicted MG as a proxy MT may be sent from the local MG to the predicted MG. For example, the local MG may send the MTID, last LIP address, last PRIP address and various AN account information to the predicted MG associated with the lost MT. This list is merely exemplary, since the information needed to set the selected predicted MG as a proxy MT may vary from AN to AN.

예측된 MG가 프록시 MT로서 구성되는 데 필요한 정보를 가지고 있는 경우, 그 MG는 실제 MT인 것처럼 연결되는 AN에서 권한 부여 및 인증될 수 있다. 예를 들어, 그 MG는 네트워크의 주소 할당 서버에 새로운 LIP 주소를 요청할 수 있다. 일 실시예에서, 프록시 MT는 이어서 그의 PRIP 주소를, 실제 MT와 통신을 하고 있 는 CT로 전송할 수 있는 반면, 다른 실시예에서는, 그러지 않을 수 있다.If the predicted MG has the information needed to be configured as a proxy MT, that MG can be authorized and authenticated at the connected AN as if it were a real MT. For example, the MG can request a new LIP address from an address assignment server on the network. In one embodiment, the proxy MT may then send its PRIP address to the CT in communication with the actual MT, while in other embodiments it may not.

프록시 MT가 구성되어 새로운 MT에 연결된 후에, 프로세스(1100)는 블록(1120)으로 계속하여, 프로세스(1000)에서 기술한 바와 같이, 이전의 로컬 MG 또는 아마도 재라우팅 노드에 의해 수신된 실제 MT의 패킷이 프록시 MT로 전송되어 그곳에 버퍼링된다. 패킷들은 또한, 프로세스(1000)에서 기술한 바와 같이, 프록시 MT가 아닌 예측된 MG들로 멀티캐스트되어 그곳에 버퍼링될 수 있다는 것을 잘 알 것이다.After the proxy MT is configured and connected to the new MT, process 1100 continues to block 1120 to determine the actual MT received by the previous local MG or possibly the rerouting node, as described in process 1000. The packet is sent to the proxy MT and buffered there. It will be appreciated that the packets may also be multicast and buffered there into predicted MGs, not the proxy MT, as described in process 1000.

프로세스(1000)와 유사하게, 블록(1130, 1135)에 각각 나타낸 바와 같이, 새로운 로컬 MG가 발견될 때까지 또는 시간 제한에 도달될 때까지, 패킷들은 프록시 MT 및 아마도 다른 예측된 MG들로 멀티캐스트되어 그곳에 버퍼링될 수 있다. 새로운 로컬 MG가 발견되는 경우, 즉 MT가 MG 네트워크에 재연결되는 경우, 프로세스(1100)는 블록(1150)으로 진행하여, 새로운 로컬 MG가 아닌 예측된 MG들에서는 버퍼링된 패킷이 폐기되고, 프록시 MT로부터 실제 MT로 버퍼링된 패킷들이 전송된다. 프록시 MT인 MG가 새로운 로컬 MG가 아닌 상황에서, 패킷들이 새로운 로컬 MG로 전송될 수 있고 이 MG가 이어서 이들을 실제 MT로 전송할 수 있다는 것을 잘 알 것이다. 버퍼링된 패킷들을 실제 MT로 전송하는 것에 부가하여, 블록(1115)에서 결정되는 연결 정보(예를 들어, LIP 주소)도 역시 프록시 MT로부터 실제 MT로 전송될 수 있다. 이 접속 정보는 실제 MT가 AN에 접속될 때 실제 MT와 AN 간에 협상되는 접속 정보를 대체할 수 있다.Similar to process 1000, as shown in blocks 1130 and 1135, respectively, packets are multiplied into the proxy MT and possibly other predicted MGs until a new local MG is found or until a time limit is reached. It can be cast and buffered there. If a new local MG is found, that is, if the MT is reconnected to the MG network, the process 1100 proceeds to block 1150, where the buffered packet is discarded at the predicted MGs other than the new local MG, and the proxy Packets buffered from the MT to the actual MT are transmitted. It will be appreciated that in situations where the proxy MT MG is not a new local MG, packets can be sent to the new local MG and this MG can then send them to the real MT. In addition to sending the buffered packets to the real MT, the connection information (eg, LIP address) determined at block 1115 may also be sent from the proxy MT to the real MT. This connection information may replace the connection information negotiated between the real MT and the AN when the real MT is connected to the AN.

실제 MT가 프록시 MT가 연결되어 있는 AN이 아닌 AN에 연결되는 상황에서, 프록시 MT 또는 다른 예측된 MG들 중 하나가 버퍼링된 패킷들만을 실제 MT로 전송할 수 있다는 것을 잘 알 것이다. 이들 상황에서, 프록시 MT가 연결 정보를 전송할 필요가 없을 수 있는데, 그 이유는 연결 정보가 프록시 MT가 연결되어 있는 AN에만 적용가능하고 실제 MT가 연결되어 있는 새로운 AN에는 적용가능하지 않을 수 있기 때문이다.It will be appreciated that in a situation where the actual MT is connected to the AN rather than the AN to which the proxy MT is connected, the proxy MT or one of the other predicted MGs can only send buffered packets to the real MT. In these situations, the proxy MT may not need to send connection information because the connection information may be applicable only to the AN to which the proxy MT is connected and may not be applicable to the new AN to which the actual MT is connected. to be.

프로세스(1000)와 유사하게, 어떤 시간 제한 내에 새로운 로컬 MG가 결정되지 않은 경우(즉, 실제 MT가 AN에 재연결하지 않는 경우), 프로세스(1100)는 블록(1145)으로 진행하여, 프록시 MT에 있는 버퍼링된 패킷 및 임의의 연결 정보가 폐기된다. 그에 부가하여, 프록시 MT가 프록시 MT로서 선택 해제된다. 패킷이 다른 예측된 MG에 버퍼링되어 있는 경우, 이들도 역시 폐기될 수 있다는 것을 잘 알 것이다. 본 발명은, 상기한 MTM 네트워크간 핸드오프가 본 발명으로 가능하기 때문이 다시금 유익하다.Similar to process 1000, if no new local MG is determined within a certain time limit (i.e., the actual MT does not reconnect to the AN), process 1100 proceeds to block 1145, where the proxy MT The buffered packet and any connection information in is discarded. In addition, the proxy MT is deselected as a proxy MT. It will be appreciated that if packets are buffered in other predicted MGs, they too may be discarded. The present invention is again advantageous because the above-described inter-MTM network handoff is possible with the present invention.

NAT PSN의 전방에서 MG 동작을 위한 MTM 확장MTM extension for MG operation in front of NAT PSN

이하의 설명을 위해, MT가 NAT PSN에 의해 사설 어드레싱(private addressing)을 할당받은 것으로 가정한다. 따라서, MG는 MT에 대한 PRIP 노드이며, 이는 PSN으로부터 수신된 네트워크-아웃바운드 패킷(network-outbound packet) 내부의 소스 IP 주소를 PRIP 주소(즉, 그 자신의 외부 인터페이스 주소)로 대체한다는 것을 의미한다.For the following description, assume that MT has been assigned private addressing by NAT PSN. Thus, MG is a PRIP node for MT, meaning that it replaces the source IP address inside the network-outbound packet received from the PSN with the PRIP address (ie its own external interface address). do.

도 12는, 예를 들어, 주소-포트쌍 변화에도 불구하고, 연결이 유지될 수 있는 방법의 일 실시예를 나타낸 것이다. 상세하게는, 제공업자의 네트워크의 PSN은 보안을 위해 일반적인 NAT 기능을 수행한다. 이는 보통 MT로부터의 각각의 패킷에 있는 사설 주소 및 UDP 또는 TCP 연결 포트 번호를 public_address::public_port 쌍(본 명세서에서 adport 쌍이라고 함)으로 변환한다. 각각의 MT로부터의 각각의 연결에 대해 고유의 adport쌍이 PSN에 의해 할당된다. 문제는, 그의 이전의 애플리케이션 연결이 여전히 열려있는 동안에, MT(예를 들어, MT(1205))가 연결 해제되었다가 이어서 재연결될 때 또는 다른 방식으로 한 PSN(1210)으로부터 새로운 PSN(1215)으로 이동할 때, 새로운 PSN(125)이 새로운 adport쌍을 그 이전의 연결들 각각에 할당할지도 모른다는 것이다.12 illustrates one embodiment of how a connection can be maintained, for example, despite an address-port pair change. In particular, the PSN of the provider's network performs a general NAT function for security. This usually translates the private address and UDP or TCP connection port number in each packet from the MT into a public_address :: public_port pair, referred to herein as an adport pair. A unique adport pair is assigned by the PSN for each connection from each MT. The problem is that while the previous application connection is still open, when the MT (e.g., MT 1205) is disconnected and then reconnected or otherwise in one way from the PSN 1210 to the new PSN 1215 When moving, the new PSN 125 may assign a new adport pair to each of its previous connections.

그렇지만, 이러한 연결의 다른쪽 단부에 있는 MT(1220)는 이 새로운 adport쌍을 인식하지 않을 것이고 패킷 및 연결을 폐기할 수도 있다. 예를 들어, TCP 연결(1225)이 개시되었을 때, 이는 PSN(1210)에 의해 adport쌍 a1:p1을 할당받는다. 그 후에, MT(1205)가 그의 연결 경로를 접속(1230)으로 이동할 때, PSN(1215)은 MT(1205)에 a3:p3로 지정된 새로운 adport쌍을 할당한다. MT(1220)가 새로운 소스 포트(p3)를 갖는 연결(1230)로부터 패킷을 수신할 때, MT(1220)는 그것을 MT(1205)와의 연결에 속하는 것으로 인식하려 하지 않고 패킷을 폐기하거나 심지어 더 위험하게도 이들을 다른 연결에 속하는 것으로 잘못 생각할 수 있다.However, the MT 1220 at the other end of this connection will not recognize this new adport pair and may discard the packet and the connection. For example, when TCP connection 1225 is initiated, it is assigned an adport pair a1: p1 by PSN 1210. Thereafter, when MT 1205 moves its connection path to connection 1230, PSN 1215 assigns MT 1205 a new adport pair, designated a3: p3. When the MT 1220 receives a packet from a connection 1230 with a new source port p3, the MT 1220 discards the packet or even more risks without trying to recognize it as belonging to the connection with the MT 1205. It is easy to mistake them for belonging to different connections.

따라서, 본 발명의 한 측면은, ICI(invariant-connection-id) 방식이라고 하는 것을 사용하여, PSN의 NAT에 의한 adport쌍 변경 후에 이전의 연결이 제대로 기능하게 함으로써 상기한 시나리오를 방지하는 것이다. ICI 방식은 패킷이 적절히 식별되도록 연결의 패킷으로 전달되는 공개 소스 포트를 다시 그의 원래의 공개 소 스 포트로 변환한다. 예를 들어, 일 실시예에서, MG(1235)는 패킷을 MT(1220)으로 포워드하기 이전에 연결(1230)의 모든 패킷 내부에서 포트(p3)를 다시 p1으로 변환한다. 유의할 점은 ICI 방식이 또한 패킷 내에서 포트 번호 뿐만 아니라 IP 주소도 변환할 수 있다는 것이다.Accordingly, one aspect of the present invention is to avoid the above scenario by using an invariant-connection-id (ICI) scheme to allow the previous connection to function properly after the adport pair change by the NAT of the PSN. The ICI method converts the open source port forwarded in the connection's packet back to its original public source port so that the packet is properly identified. For example, in one embodiment, MG 1235 converts port p3 back to p1 within every packet of connection 1230 before forwarding the packet to MT 1220. Note that the ICI scheme can also translate IP addresses as well as port numbers within packets.

일 실시예에서, MT(1205)는, 상태 정보의 하나의 구성요소일 수 있는 conn_id, 또는 보다 상세하게는 MT에서 그 연결을 일의적으로 식별해주는 정수를 신호하기 위해, 더미 MTM 패킷을 그의 열린 연결들 각각의 패킷 스트림에 삽입할 수 있다. conn_id는 하나의 구성요소로서, 보다 상세하게는, 연결을 위한 불변 식별자로서 상태 정보를 구성할 수 있다. 다음과 같은 점을 제외하고는, 연결을 위한 각각의 이러한 더미 패킷은 그의 계층 4(UDP, TCP, 기타) 헤더에서 그 연결의 MTM 데이터 패킷의 것과 동일한 목적지 및 소스 주소-포트 조합을 전달한다: 1) 이것이 conn_id 유형 시그널링 패킷이라는 것을 나타내기 위해 S/D 코드가 설정될 수 있고, 2) 그의 계층 4 페이로드가 실제의 연결 id를 포함한다는 것.In one embodiment, MT 1205 sends a dummy MTM packet to its open to signal conn_id, which may be one component of state information, or more specifically an integer that uniquely identifies the connection in MT. It can insert into the packet stream of each of the connections. conn_id is a component and, more specifically, may configure state information as an invariant identifier for connection. Each such dummy packet for a connection carries the same destination and source address-port combination as that of the connection's MTM data packet in its Layer 4 (UDP, TCP, etc.) header except for the following: 1) S / D code may be set to indicate that this is a conn_id type signaling packet, and 2) its Layer 4 payload contains the actual connection id.

ICI 방식의 어떤 실시예들에서, 연결 id가 MT(1205)에서 연결 자체의 로컬(사설) 소스 포트로서 또는 연결을 위한 로컬 주소-소스-포트쌍의 해쉬로서 선택될 수 있다.In some embodiments of the ICI scheme, the connection id may be selected as a local (private) source port of the connection itself in the MT 1205 or as a hash of a local address-source-port pair for the connection.

손실에 대한 탄력성(resilience)을 위해, 이 더미 패킷이 연결의 패킷 스트림 내에 적절히 규칙적으로 삽입될 수 있다. 일 실시예에서, 연결 id는, 가능한 한 조기에, 예컨대, 연결 개시 이후 또는 MT(1205)의 재등록 이후에 접속의 어떤 진짜 패킷보다도 먼저 시그널링될 수 있다. 이것은 접속을 위한 공개 포트 변경이 아직 MG에 의해 등록되어 있지 않은 "개방-루프" 단계를 최소화시킴으로서 원격 MT(1220)에서의 패킷 폐기를 강제시킨다.For resilience to loss, this dummy packet can be properly and regularly inserted into the packet stream of the connection. In one embodiment, the connection id may be signaled as early as possible, such as after the connection initiation or after re-registration of the MT 1205, before any real packets of the connection. This forces the packet discard at the remote MT 1220 by minimizing the "open-loop" phase where the public port change for the connection has not yet been registered by the MG.

MG(1235)는 각각의 MT에 대한 로컬 conn_id 테이블을 유지할 수 있다. 일 실시예에서, 각각의 엔트리는 튜플 (conn_id::orig_port::new_port)이다. 로컬적으로 등록된 MT(예를 들어, MT(1205))로부터 conn_id 유형 시그널링 패킷을 수신할 시에, MG(1235)는 그의 conn_id 테이블에서 그 MT를 검색할 수 있다. 패킷으로 전달되는 연결 id와 일치하는 conn_id 필드를 갖는 테이블 엔트리가 발견되는 경우, new_port와 그 소스 포트가 일치하지 않는다고 가정할 때, 그 테이블 엔트리의 new__port 필드가 패킷 내부의 소스 포트로 대체된다. 패킷 내부의 소스 포트는 그 테이블 엔트리의 orig_port 필드로 대체될 수 있다. 그렇지만, 패킷에서의 연결 id와 일치하는 테이블 엔트리가 발견되지 않는 경우, MG(1235)는 새로운 엔트리를 생성할 수 있으며, 이 새로운 엔트리의 conn_id 필드는 패킷으로 전달된 conn_id로 설정되고, orig_port 및 new_port 필드는 패킷 내부의 소스 포트로 설정된다. 상기 테이블 갱신을 종료한 후에, 일 실시예에 따르면, MG(1235)는 conn_id 패킷을 폐기한다.MG 1235 may maintain a local conn_id table for each MT. In one embodiment, each entry is a tuple (conn_id :: orig_port :: new_port). Upon receiving a conn_id type signaling packet from a locally registered MT (eg, MT 1205), MG 1235 may retrieve that MT from its conn_id table. If a table entry with a conn_id field that matches the connection id carried in the packet is found, assuming that new_port and its source port do not match, the new__port field of that table entry is replaced with the source port inside the packet. The source port in the packet can be replaced with the orig_port field of the table entry. However, if no table entry is found that matches the connection id in the packet, the MG 1235 can create a new entry, the conn_id field of this new entry being set to the conn_id passed in the packet, orig_port and new_port The field is set to the source port inside the packet. After terminating the table update, according to one embodiment, MG 1235 discards the conn_id packet.

로컬적으로 등록된 MT로부터 MTM 데이터 패킷을 수신할 시에, MG(1235)는 그의 conn_id 테이블에서 그 MT를 검색할 수 있다. 패킷 내부의 소스 포트와 일치하는 new_port 필드를 갖는 테이블 엔트리가 발견되는 경우, 패킷에서의 그 소스 포트가 테이블 엔트리의 orig_port 필드로 대체될 수 있다. 로컬적으로 등록된 MT로 보내지게 되어 있는 MTM 데이터 패킷을 수신할 시에, MG는 그의 conn_id 테이블을 검색할 수 있다. 패킷 내부의 목적지 포트와 일치하는 orig_port 필드를 갖는 테이블 엔트리가 발견되는 경우, 패킷에서의 그 목적지 포트는 테이블 엔트리의 new_port 필드로 대체될 수 있다. 따라서, ICI 방식에서, MT로부터의 임의의 연결의 다른쪽 단부는 임의의 NAT 라우터가 그의 연결을 위한 adport쌍을 변경함에도 불구하고 유일한(unique) 주소-포트쌍을 보게 된다.Upon receiving an MTM data packet from a locally registered MT, the MG 1235 may retrieve that MT from its conn_id table. If a table entry with a new_port field that matches the source port inside the packet is found, that source port in the packet may be replaced with the orig_port field of the table entry. Upon receiving an MTM data packet that is intended to be sent to a locally registered MT, the MG can search its conn_id table. If a table entry with an orig_port field that matches the destination port inside the packet is found, that destination port in the packet can be replaced with the new_port field of the table entry. Thus, in the ICI scheme, the other end of any connection from the MT sees a unique address-port pair even though any NAT router changes the adport pair for its connection.

본 발명에 따라 구현된 ICI 방식의 일 실시예가 도 13에 도시되어 있다. 상세하게는, 도 13은 로컬 MG가 NAT PSN을 통해 로컬적으로 등록된 MT로부터 패킷을 수신하고, 필요한 경우, 패킷을 외부 IP 네트워크로 전송하기 이전에, 소스 주소 및 소스 포트를 원래의 소스 주소 및 소스 포트로 변경할 수 있는 방법을 나타낸 것이다. 프로세스(1300)는 블록(1305)에서 시작하며, 이때 로컬 MG는 로컬 MT로부터 패킷을 수신한다. 프로세스(1300)는 블록(1310)으로 계속하여, 패킷이 연결 id를 포함하는 "더미 패킷"인지가 판정된다. 이것은 패킷의 MTM 헤더에서의 S/D 코드 필드를 조사함으로써 판정될 수 있다. 더미 패킷은 더미 패킷이라는 것을 나타내는 값으로 설정된 S/D 코드 필드를 갖는다. 일 실시예에서, MT에 있는 MTM 모듈은 전송 계층 세션 동안에 데이터 패킷들 사이에 산재되어 있는 더미 패킷을 주기적으로 전송할 수 있다. 양호한 실시예에서, 임의의 등록 패킷들 중에서 세션을 위해 전송된 첫번째 패킷이 더미 패킷이다.One embodiment of an ICI scheme implemented in accordance with the present invention is shown in FIG. Specifically, Figure 13 shows the source address and source port of the original source address before the local MG receives the packet from the MT registered locally via the NAT PSN and, if necessary, forwards the packet to the external IP network. And how to change to the source port. Process 1300 begins at block 1305, where the local MG receives a packet from the local MT. Process 1300 continues to block 1310 where it is determined whether the packet is a "dummy packet" containing a connection id. This can be determined by examining the S / D code field in the MTM header of the packet. The dummy packet has an S / D code field set to a value indicating that the dummy packet is a dummy packet. In one embodiment, the MTM module in the MT may periodically transmit dummy packets interspersed among data packets during the transport layer session. In the preferred embodiment, the first packet sent for the session among any registration packets is a dummy packet.

더미 패킷은 연결 id를 그의 전송 계층 페이로드에 포함할 수 있다. 이 연결 id는 세션의 로컬 소스 포트(즉, TCP 또는 UDP 세션에 할당된 TCP 또는 UDP 포트) 또는 세션이 열려 있는 동안에 변하지 않는 어떤 다른 고유의 식별자로서 선택 될 수 있다. 일 실시예에서, 연결 id는 세션에 대한 소스 포트 및 LIP의 해쉬일 수 있다.The dummy packet may include the connection id in its transport layer payload. This connection id may be chosen as the local source port of the session (ie the TCP or UDP port assigned to the TCP or UDP session) or any other unique identifier that does not change while the session is open. In one embodiment, the connection id may be a hash of the source port and LIP for the session.

패킷이 더미 패킷인 경우, 프로세스(1300)는 블록(1315)으로 진행하여, 패킷에서의 연결 id가 현재 로컬 MG에 등록되어 있는지가 판정된다. 로컬 MG는 MT에서 현재 열려 있는 모든 세션에 대한 연결 id를 포함하는 테이블을 유지할 수 있다. 이 테이블은 conn_id 테이블이라 할 수 있다. 연결 id가 현재 MG에 등록되어 있지 않은 경우, 프로세스(1300)는 블록(1330)으로 진행하여, 연결 id에 대한 새로운 엔트리가 conn_id 테이블에 입력될 수 있다. conn_id 테이블에서의 엔트리는 연결 id(connection id), 세션의 원래의 포트(original port), 및 새로운 포트(new port)를 포함할 수 있다. 이 시점에서, 이 특정의 세션에 대해 conn_id 테이블에 현재 엔트리가 없기 때문에, 연결 id 필드는 패킷에서의 연결 id로 설정되고, 원래의 포트 및 새로운 포트 필드 둘다가 패킷에서의 전송 계층 헤더 내부의 소스 포트로 설정된다. 테이블 엔트리가 conn_id 테이블에 입력된 후에, 블록(1335)에 나타낸 바와 같이, 패킷이 폐기될 수 있다.If the packet is a dummy packet, process 1300 proceeds to block 1315 to determine whether the connection id in the packet is currently registered with the local MG. The local MG may maintain a table containing the connection ids for all sessions currently open in MT. This table can be called the conn_id table. If the connection id is not currently registered with the MG, the process 1300 proceeds to block 1330 where a new entry for the connection id can be entered in the conn_id table. The entry in the conn_id table may include a connection id, an original port of the session, and a new port. At this point, since there is no current entry in the conn_id table for this particular session, the connection id field is set to the connection id in the packet, and both the original port and the new port field are the source inside the transport layer header in the packet. It is set to the port. After the table entry is entered in the conn_id table, the packet may be discarded, as shown in block 1335.

그렇지만, 연결 id가 현재 MG에 등록되어 있는 경우, 프로세스(1300)는 블록(1315)으로부터 블록(1320)으로 진행하여, 패킷에서의 소스 포트가 conn_id 테이블에서의 연결 id와 연관되어 있는 새로운 포트 필드와 비교된다. 새로운 포트 필드가 패킷 내부의 소스 포트와 일치하는 경우, 소스 포트가 변경되지 않았고 연결 id에 대한 테이블 엔트리가 갱신될 필요가 없는 것으로 가정될 수 있다. 프로세스(1300)는 이어서 블록(1335)으로 진행하여, 패킷이 폐기된다.However, if the connection id is currently registered with the MG, the process 1300 proceeds from block 1315 to block 1320 so that the new port field where the source port in the packet is associated with the connection id in the conn_id table. Is compared with. If the new port field matches the source port in the packet, it can be assumed that the source port has not changed and the table entry for the connection id does not need to be updated. Process 1300 then proceeds to block 1335 where the packet is discarded.

그렇지만, 블록(1320)에서, conn_id 테이블에서의 연결 id와 연관되어 있는 새로운 포트 필드가 패킷에서의 소스 포트와 일치하지 않는 경우, 프로세스(1300)는 블록(1325)으로 진행하여, 연결 id에 대한 conn_id 테이블 엔트리가 갱신된다. 블록(1325)에서, new_port 필드가 패킷에서의 소스 포트로 대체된다. 프로세스(1300)는 이어서 블록(1335)으로 진행하여, 패킷이 폐기된다.However, at block 1320, if the new port field associated with the connection id in the conn_id table does not match the source port in the packet, process 1300 proceeds to block 1325, for the connection id. The conn_id table entry is updated. At block 1325, the new_port field is replaced with the source port in the packet. Process 1300 then proceeds to block 1335 where the packet is discarded.

이제 다시 블록(1310)을 참조하면, MT로부터 전송된 패킷이 더미 패킷이 아닌 경우, 프로세스(1300)는 블록(1340)으로 진행하여, 패킷에서의 소스 포트가 conn_id 테이블에서의 새로운 포트 필드와 비교된다. 실제의 데이터 패킷에 연결 id가 전달되지 않을지도 모르기 때문에, 패킷에서의 소스 포트가 conn_id 테이블에서의 새로운 포트 필드와 비교된다는 것을 잘 알 것이다. conn_id 테이블에서의 어떤 새로운 포트 필드도 패킷에서의 소스 포트와 일치하지 않는 경우, 프로세스(1300)는 블록(1355)으로 진행하여, 패킷이 MG로부터 외부 IP 네트워크로 포워드된다. MT가, 세션의 시작 시에 또는 PSN에 재연결할 때, 데이터 패킷을 전송하기 이전에 더미 패킷을 전송하지 않는 실시예들에서는, 엔트리가 발견되지 않을 수 있다는 것을 잘 알 것이다. 따라서, 블록(1340)에서 일치하는 엔트리가 발견되지 않기 때문에, NAT PSN이 소스 포트를 변경한 경우, 블록(1355)에서 포워드되는 데이터 패킷이 목적지 MT에 의해 거부될지도 모른다.Referring now again to block 1310, if the packet sent from the MT is not a dummy packet, process 1300 proceeds to block 1340, where the source port in the packet is compared with the new port field in the conn_id table. do. Since the connection id may not be passed in the actual data packet, it will be appreciated that the source port in the packet is compared to the new port field in the conn_id table. If no new port field in the conn_id table matches the source port in the packet, process 1300 proceeds to block 1355, where the packet is forwarded from the MG to the external IP network. It will be appreciated that in embodiments where the MT does not send a dummy packet prior to sending the data packet at the start of the session or when reconnecting to the PSN, an entry may not be found. Thus, because no matching entry is found at block 1340, if the NAT PSN changed the source port, the data packet forwarded at block 1355 may be rejected by the destination MT.

그렇지만, 블록(1340)에서 일치하는 테이블 엔트리가 발견되는 경우, 프로세스(1300)는 블록(1345)으로 진행하여, 패킷에서의 소스 포트가 블록(1340)에서 new_port로서 동일한 연결 id와 연관된 테이블 엔트리에서의 orig_port로 대체될 수 있다. 일 실시예에서, 패킷에서의 소스 포트는 원래의 포트로 대체될 수 있는 반면, 다른 실시예들에서,이는 소스 포트가 orig_port와 일치하지 않을 때에만 대체될 수 있다. 이 실시예와 상관없이, 프로세스(1300)는 블록(1355)으로 진행하여, 패킷이 이어서 MG에 의해 외부 IP 네트워크로 포워드된다.However, if a matching table entry is found at block 1340, process 1300 proceeds to block 1345, where the source port in the packet is associated with the same connection id as new_port at block 1340. Can be replaced with orig_port. In one embodiment, the source port in the packet may be replaced with the original port, while in other embodiments it may be replaced only when the source port does not match orig_port. Regardless of this embodiment, process 1300 proceeds to block 1355 where the packet is then forwarded to the external IP network by the MG.

상기한 ICI 방식의 다른 실시예가 더미 패킷을 사용하지 않고 구현될 수 있다. 이 실시예에서, 연결 id는 MTM 헤더 자체 내부의 부가적인 필드로 전달될 수 있다. 이와 같이, 연결 id는 어떤 적절한 규칙성으로 MTM 데이터 패킷 자체 내부에서 전달될 수 있다. 그러면, MG의 동작이 얼마간 간단화될 수 있다. 예를 들어, 로컬적으로 등록된 MT로부터 MTM 데이터 패킷을 수신할 시에, MG는 그의 conn_id 테이블에서 그 MT를 검색할 수 있다. 그 패킷에 대한 일치하는 테이블 엔트리는 패킷의 MTM 헤더 내부에 연결 id가 존재하는 경우 패킷 내부의 연결 id와 일치하는 conn_id 필드를 갖는 것 또는 패킷의 MTM 헤더 내부에 연결 id가 존재하지 않는 경우에 패킷 내부의 소스 포트와 일치하는 new_port 필드를 갖는 것이다. 이어서, 일치하는 테이블 엔트리가 발견된 경우, 패킷에서의 소스 포트는 일치하는 테이블 엔트리의 orig_port 필드로 대체될 수 있다.Another embodiment of the above-described ICI scheme may be implemented without using a dummy packet. In this embodiment, the connection id may be carried in additional fields inside the MTM header itself. As such, the connection id may be conveyed inside the MTM data packet itself with some proper regularity. The operation of the MG can then be simplified to some extent. For example, upon receiving an MTM data packet from a locally registered MT, the MG may retrieve that MT from its conn_id table. The matching table entry for that packet has a conn_id field that matches the connection id inside the packet if there is a connection id inside the packet's MTM header or the packet if there is no connection id inside the packet's MTM header. It has a new_port field that matches the internal source port. Then, if a matching table entry is found, the source port in the packet may be replaced with the orig_port field of the matching table entry.

나아가, 로컬적으로 등록된 MT로 보내지게 되어 있는 MTM 데이터 패킷을 수신할 시에, MG는 다시금 그의 conn_id 테이블에서 그 MT를 검색할 수 있다. 그 패킷에 대한 일치하는 테이블 엔트리는 패킷의 MTM 헤더 내부에 연결 id가 존재하는 경우 패킷 내부의 연결 id와 일치하는 conn_id 필드를 갖는 것 또는 패킷의 MTM 헤더 내부에 연결 id가 존재하지 않는 경우 패킷 내부의 소스 포트와 일치하는 orig_port 필드를 갖는 대안의 것이다. 이어서, 일치하는 테이블 엔트리가 발견된 경우, 패킷에서의 소스 포트는 일치하는 테이블 엔트리의 new_port 필드로 대체될 수 있다.Further, upon receiving an MTM data packet that is intended to be sent to a locally registered MT, the MG may again retrieve that MT from its conn_id table. The matching table entry for that packet shall have a conn_id field that matches the connection id inside the packet if there is a connection id inside the packet's MTM header or if there is no connection id inside the packet's MTM header. An alternative would be to have an orig_port field that matches the source port of. Then, if a matching table entry is found, the source port in the packet may be replaced with the new_port field of the matching table entry.

더미 패킷의 오버헤드를 방지하는 것 이외에, 상기한 수정된 ICI 방식의 이점은 모든 MTM 데이터 패킷으로 연결 id를 전달하는 극단적인 실시예를 사용함으로써, 상기한 더미-패킷 ICI 방식에서 있을 수 있는 "개방-루프" 단계를 방지할 수 있다는 것이다.In addition to avoiding the overhead of dummy packets, the benefit of the modified ICI scheme described above is that it may be possible in the dummy-packet ICI scheme described above by using an extreme embodiment of passing the connection id in every MTM data packet. Open-loop "steps can be avoided.

이들 실시예에서 알 수 있는 바와 같이, 본 발명은 호 품질의 열화 등의 간접적인 라우팅 문제 없이 빈번한 마이크로 이동(micro movement)은 물론 매크로 이동성(macro mobility)도 처리할 수 있는 개선된 이동성을 제공할 수 있다.As can be seen in these embodiments, the present invention provides improved mobility that can handle macro mobility as well as frequent micro movements without indirect routing problems such as degradation of call quality. Can be.

MTM 헤더에서의 MTID를 압축 또는 회피하기 위한 MTX 방식MTX scheme to compress or avoid MTID in MTM header

MTX 방식은 기본적으로 등록 단계 동안에 MTID를 MTX라고 하는 짧은 MT 인덱스(short MT index)로 해싱하는 것이다. MT로부터의 모든 장래의 MTM 패킷에서, MTX가 MTID 대신에 전달된다. MT로부터 MRq 등록 패킷을 수신할 시에, MG는 MRq 패킷 내부의 MTID를 MTX라고 하는 MT 인덱스로 해싱한다.The MTX method basically hashes the MTID to a short MT index called MTX during the registration step. In all future MTM packets from the MT, the MTX is delivered instead of the MTID. Upon receiving the MRq registration packet from the MT, the MG hashes the MTID inside the MRq packet with an MT index called MTX.

일 실시예에서, MTX는 전역적으로 고유한 것이다. MT 등록 동안에, 로컬 MG는 먼저 모든 다른 MG들에 질의를 하고, 이들 중 어느 것이라도 질의에서 전달된 MTID에 대해 MTX로 응답할 수 있다. 그렇지만, 나머지 MG들 중 어느 것도 응답하지 않는 경우, 로컬 MG는 이어서 해싱에 의해 MTX를 생성할 수 있다. 고장-내성 커밋 프로토콜(fault-tolerant commit protocol)이 또한 각각의 MT에 대해 전역적 으로 고유한 MTX를 보장하기 위해 모든 MG들 간의 MTX 질의-응답에 대해 구현될 수 있다. 일 실시예에서, 전역적 MTX는 단순히 연쇄(MG_id:: local_MT_id)이며, 여기서 MG_id는 모든 MG의 세트 중에서 MT의 로컬 MG의 고유한 id 번호이고, local_MT_id는 그의 로컬 MG에 부착된 모든 MT들 중의 MT의 고유한 로컬 id이다.In one embodiment, the MTX is globally unique. During MT registration, the local MG first queries all other MGs and any of these may respond with MTX for the MTID passed in the query. However, if none of the remaining MGs respond, the local MG can then generate the MTX by hashing. A fault-tolerant commit protocol can also be implemented for MTX query-response between all MGs to ensure a globally unique MTX for each MT. In one embodiment, the global MTX is simply concatenated (MG_id :: local_MT_id), where MG_id is the unique id number of the MT's local MG among the set of all MGs, and local_MT_id is of all the MTs attached to its local MG Unique local id of the MT.

다른 실시예에서, MTX는 MG-특정적일 수 있다. 즉, MTX는 MG에 로컬적으로 등록된 MT들 중에 유일한 것일 수 있다. 그렇지만, 로컬 MT의 등록 후에, MG는 모든 다른 MG들로 MG_address-MTID-MTX 튜플을 브로드캐스트한다. MT가 새로운 MG에 재등록할 때, 이는 그의 이전의 MG의 PRIP 주소, 그의 이전의 MTID 및 이전의 MTX를 새로운 MG로 전송할 수 있다.In other embodiments, the MTX may be MG-specific. That is, the MTX may be the only one among the MTs registered locally in the MG. However, after registration of the local MT, the MG broadcasts the MG_address-MTID-MTX tuple to all other MGs. When the MT re-registers with the new MG, it can send its previous MG's PRIP address, its previous MTID and the old MTX to the new MG.

IP-계층 멀티-AN 패킷 포워딩(IP-layer Multi-AN Packet Forwarding, MAPF)IP-layer Multi-AN Packet Forwarding (MAPF)

MAPF의 경우, MG는, 각각의 MT에 대해, MT가 현재 연결되어 있는 각각의 AN에 대한 MT의 AN-관련 IP 주소들 및 모든 액세스 네트워크(AN)의 리스트를 유지한다. 이 데이터는 등록 단계 동안에 MT로부터 MG로 전달된다. 예를 들어, 듀얼-모드 MT는 그 네트워크 내의 액세스 라우터에 의해 할당되는 각자의 IP 주소를 사용하여 WiFi 및 WiMax 액세스 네트워크에 연결하는 데 각각 사용되는 WiFi 및 WiMax 네트워크 인터페이스를 가질 수 있다(예를 들어, 듀얼-모드 MT는 그의 사설 WiFi-관련 IP 주소로서 192.168.11.120를 가지고 그의 공개 WiBro-관련 IP 주소로서 22.231.113.80를 가질 수 있다.) 어떤 실시예들에서, MT가 이전에 등록 단계 동안에 AN-관련 IP 주소들을 전달하였다는 사실로 인해, MG는 다수의 AN으로 패킷을 포워드하거나 그로부터 패킷을 수신할 수 있다.In the case of MAPF, the MG maintains a list of all access networks (ANs) and the AN-related IP addresses of the MTs for each AN to which the MT is currently connected, for each MT. This data is transferred from the MT to the MG during the registration phase. For example, a dual-mode MT may have WiFi and WiMax network interfaces used to connect to WiFi and WiMax access networks, respectively, using their respective IP addresses assigned by access routers within that network (eg, The dual-mode MT may have 192.168.11.120 as its private WiFi-related IP address and 22.231.113.80 as its public WiBro-related IP address. Due to the fact that it has forwarded the relevant IP addresses, the MG can forward the packet to or receive packets from multiple ANs.

먼저 패킷 흐름을, MT 상에서 실행 중인 동일한 애플리케이션 인스턴스에 속하는 MT로/로부터의 패킷들(예를 들어, HTTP 브라우징 또는 FTP 세션, 기타 등등으로부터의 패킷들)의 시퀀스로서 정의하는 것이 유용하다. MAPF 송신기는 다운링크 방향에 대해서는 MG를 지칭하고 업링크 방향에 대해서는 MT를 지칭한다. MAPF 수신기는 업링크 방향에 대해서는 MG를 지칭하고 다운링크 방향에 대해서는 MT를 지칭한다. 이것을 염두에 두고, MAPF에 대한 스트라이핑 모드(striping mode) 및 멀티캐스트 모드(multicast mode)에 대해 이제부터 기술한다.It is first useful to define a packet flow as a sequence of packets to / from the MT (eg, packets from an HTTP browsing or FTP session, etc.) belonging to the same application instance running on the MT. The MAPF transmitter refers to MG for the downlink direction and MT for the uplink direction. The MAPF receiver refers to MG for the uplink direction and MT for the downlink direction. With this in mind, the striping mode and multicast mode for MAPF will now be described.

MAPF의 스트라이핑 모드에서, 패킷 흐름은 다수의 서브-흐름으로 분할되고, 그 각각이 서로 다른 AN을 통해 전파한다. 양호한 실시예에서, 각각의 패킷은 다른쪽(디스트라이핑(de-striping)) 종단에서 패킷 흐름이 그의 서브-흐름들로부터 그의 원래의 순서로 재조립될 수 있도록 스트라이핑-시퀀스 번호(striping-sequence number)를 전달한다. 본 발명의 특정의 실시예들에서, TCP 및 RTP의 시퀀스 번호와 같은 상위 계층 프로토콜의 시퀀스 번호가 스트라이핑-시퀀스 번호로서 재사용될 수 있다.In the striping mode of MAPF, the packet flow is divided into a number of sub-flows, each of which propagates through different ANs. In a preferred embodiment, each packet has a striping-sequence number so that at the other (de-striping) end, the packet flow can be reassembled from its sub-flows in its original order. ). In certain embodiments of the invention, the sequence number of a higher layer protocol, such as the sequence number of TCP and RTP, may be reused as a striping-sequence number.

본 발명의 특정 실시예는 AN들 간에 패킷 흐름을 분할하기 위해 다른 알고리즘을 사용한다. 예를 들어, 단순한 가중 분할 알고리즘(weighted split algorithm)이 사용될 수 있다. 이 경우에, 흐름은 서로 다른 AN들 간에 고정된 비율로 분할된다. 이 비율은 서로 다른 AN에 대한 무선 링크의 기지의 평균 대역폭 레벨에 기초할 수 있다(예를 들어, 900 Kbps WiBro 링크 및 100 Kbps CDMA 1x 링크를 통한 스트라이핑의 경우, WiBro를 통해 패킷의 90%를 스트라이핑하고 CDMA 링크 를 통해 패킷의 10%를 스트라이핑함). 분할 알고리즘의 다른 예는 스마트 동적 분할 알고리즘(smart dynamic split algorithm)이다. 이 경우에, 이 흐름은 서로 다른 AN에 대한 현재의 추정된 무선 링크 조건(보통 대역폭, 손실 및 에러율의 어떤 조합)의 함수인 동적 비율로 분할된다. 링크 조건 추정 자체는 링크, IP 또는 전송 계층에서 행해질 수 있다.Certain embodiments of the present invention use different algorithms to split packet flow between ANs. For example, a simple weighted split algorithm can be used. In this case, the flow is split at a fixed rate between different ANs. This ratio may be based on the known average bandwidth level of the radio link for different ANs (e.g., for striping over a 900 Kbps WiBro link and a 100 Kbps CDMA 1x link, 90% of packets over WiBro are Striping and striping 10% of the packets over the CDMA link). Another example of a split algorithm is a smart dynamic split algorithm. In this case, this flow is divided into a dynamic ratio that is a function of the current estimated radio link condition (usually some combination of bandwidth, loss and error rate) for different ANs. Link condition estimation itself can be done at the link, IP or transport layer.

MAPF 수신기는 흐름의 패킷들을 상위 계층 또는 그 다음 노드로 전달하기 이전에 그의 스트라이핑-시퀀스 번호에 따라 그 패킷들을 정렬할 수 있다. 이 패킷 정렬(packet ordering)은 TCP에 의해 사용되는 알고리즘과 유사한 알고리즘을 사용하여 행해질 수 있다. 일 실시예에서, 상위 계층(TCP 또는 RTP 등)이 시퀀스 번호를 사용하는 경우, MAPF는 스트라이핑 시퀀스 번호 부여를 생략하고 상위 계층이 그를 처리하게 할 수 있다.The MAPF receiver may sort the packets according to their striping-sequence number before delivering packets in the flow to the higher layer or the next node. This packet ordering can be done using an algorithm similar to the algorithm used by TCP. In one embodiment, if a higher layer (such as TCP or RTP) uses the sequence number, MAPF may omit the striping sequence numbering and have the higher layer process it.

MAPF의 멀티캐스트 모드에서, 패킷 흐름은 서로 다른 AN들 상에서 복제된다. 이것은, CDMA2000에서와 같이, 물리 계층 소프트 핸드오프 방식에서 일어나는 서로 다른 기지국으로의 멀티캐스트 IP-계층 버전이다.In the multicast mode of MAPF, packet flows are replicated on different ANs. This is a multicast IP-layer version to different base stations taking place in a physical layer soft handoff scheme, as in CDMA2000.

MAPF 송신기는 각각의 IP 패킷을 멀티캐스트-변형(m-변형)(multicast-variant (m-invariant))으로 변환하며, 여기서 각각의 m-변형은 하나의 AN을 거쳐 포워드될 수 있다. 예컨대 다음과 같은 점들을 제외하고는, AN(i)를 통해 포워드된 m-변형은 원래의 패킷과 동일하다: 1) 그의 헤더에 있는 MT의 IP 주소 필드가 AN(i)에 대한 MT의 IP 주소로 설정되고, 2) 동일한 원래의 패킷의 모든 m-변형에 대해 동일하게 설정된 MAPF id 번호를 전달하는 것. 본 발명의 어떤 실시예들에 서, 상위 계층 프로토콜의 시퀀스 번호(예를 들어, TCP 헤더, RTP 헤더, IP 헤더의 ID 필드, 기타)는 MAPF id 번호로서 재사용될 수 있다. 유의할 점은 MAPF 송신기 및 수신기 둘다에서, 원래의 패킷의 m-변형 각각이 그 쌍(IP 헤더에서의 MT의 IP 주소::MAPF id 번호)에 의해 일의적으로 식별될 수 있다는 것이다.The MAPF transmitter converts each IP packet into a multicast-variant (m-invariant), where each m-variant can be forwarded through one AN. For example, the m-variance forwarded through AN (i) is the same as the original packet, except for the following points: 1) MT's IP address field in its header is MT's IP for AN (i). 2) passing the MAPF id number set to the address, and 2) identically set for all m-variants of the same original packet. In some embodiments of the present invention, the sequence number of the upper layer protocol (eg, TCP header, RTP header, ID field of IP header, etc.) may be reused as a MAPF id number. Note that in both the MAPF transmitter and receiver, each of the m-variants of the original packet can be uniquely identified by its pair (MT's IP address :: MAPF id number in the IP header).

MAPF 수신기에서, 동일한 원래의 패킷의 m-변형의 세트는 원래의 패킷의 M개의 복사본으로 정리된다. 패킷의 목적지에서, 이들 M개의 복사본 전부가 상위 계층(보통 TCP 또는 UDP임)으로 전달될 수 있다. 여기서, M은 성능을 최적화하기 위해 엔지니어/구현자에 의해 동적으로 조정되거나 통계적으로 조절될 수 있는 파라미터이다. M 파라미터가 클수록, 그 M개의 패킷 중 하나가 오염되지 않고 따라서 그의 목적지의 상위 계층 체크섬에 의해 폐기되지 않을 가능성이 더 크다. 그렇지만, M 파라미터가 클수록, 중복 패킷을 처리함에 있어서 상위 계층의 오버헤드가 더 높다. 유의할 점은, MAPF 수신기가 MG일 때, M은 1로 설정될 수 있는데, 그 이유는 패킷의 목적지를 중복 패킷으로 부담을 주지 않는 것이 안전하기 때문이다.In a MAPF receiver, the set of m-variants of the same original packet is organized into M copies of the original packet. At the destination of the packet, all of these M copies can be delivered to a higher layer (usually TCP or UDP). Where M is a parameter that can be dynamically adjusted or statistically adjusted by the engineer / implementer to optimize performance. The larger the M parameter, the more likely that one of those M packets is not corrupted and therefore not discarded by the higher layer checksum of its destination. However, the larger the M parameter, the higher the overhead of the upper layer in handling duplicate packets. Note that when the MAPF receiver is MG, M may be set to 1 because it is safe to not burden the destination of the packet with duplicate packets.

본 발명의 특정의 실시예들은 다른 알고리즘을 사용하여 패킷을 정리한다. 예를 들어, 처음 M개의 수신된 m-변형이 원래의 패킷의 복사본들로 변환될 수 있고 그 패킷의 나머지 m-변형 전부가 폐기될 수 있는 간단한 정리 알고리즘(collapse algorithm)이 사용될 수 있다. 변환은 단순히 MAPF id 번호를 제거하는 것 및 MT의 IP 주소를 원래의 패킷의 IP 주소로 대체하는 것을 포함할 수 있다.Certain embodiments of the present invention use other algorithms to organize packets. For example, a simple collapse algorithm can be used in which the first M received m-variants can be converted into copies of the original packet and all remaining m-variants of the packet can be discarded. The translation may include simply removing the MAPF id number and replacing the MT's IP address with the IP address of the original packet.

다른 대안으로서, 스마트 정리 알고리즘도 역시 사용될 수 있다. 이 경우에, 패킷의 모든 변형이 수신되고, m-변형들 중 오염될 가능성이 낮은 순으로 M번 째 내에 해당하는 M개가 선택된다. 일 실시예에서, MAPF 기능 자체가 각각의 m-변형에 대해 IP 헤더 체크섬 및 상위 계층의 체크섬 동작을 수행한다. 그 다음에, 올바른 체크섬을 갖는 m-변형들 중 M개 또는 그들 전부 중에서, 더 적은 수를 갖는 쪽이 상위 계층으로 전달될 수 있다. 잘못된 IP 헤더 또는 상위 계층 체크섬을 갖는 패킷이 폐기될 수 있다. 어떤 실시예에서, M=1로 설정하는 것이 바람직할 수 있는데, 그 이유는 올바른 체크섬이 보통 오염되지 않은 패킷을 나타내고 중복된 오염되지 않은 패킷을 상위 계층으로 전달할 필요가 없기 때문이다.As another alternative, smart theorem algorithms may also be used. In this case, all modifications of the packet are received, and the corresponding M pieces in the Mth order are selected in the order of low probability of being contaminated among the m-variants. In one embodiment, the MAPF function itself performs the IP header checksum and higher layer checksum operation for each m-variant. Then, of the M or all of the m-variants with the correct checksum, the one with the smaller number can be passed to the upper layer. Packets with bad IP headers or higher layer checksums may be discarded. In some embodiments, it may be desirable to set M = 1 because the correct checksum usually indicates uncontaminated packets and there is no need to forward duplicate uncontaminated packets to higher layers.

MAPF 스트라이핑 또는 멀티캐스트의 2가지 특별한 경우가 소위 "소프트 핸드오프(soft handoff)" 및 "선택-변환(select-cast)"이다. 소프트 핸드오프의 경우, 패킷 흐름이 스트라이핑 또는 멀티캐스트되지만, MT가 2개 이상의 AN에 연결되었을 때부터 시작하는 소프트-핸드오프 구간(soft-handoff interval)이라고 하는 어떤 제한된 시간 구간 동안만이다. 소프트-핸드오프 구간 이후에, 흐름은 하나의 AN을 통해 전달되도록 완전히 전환된다. 선택-변환(select-case)의 경우, 패킷 흐름은 또한 어떤 제한된 시간 구간 동안 스트라이핑 또는 멀티캐스트된다. 그렇지만, 이 경우에, 그 구간 후에, MG는 대역폭, 에러/손실율, 기타 등등의 어떤 링크 품질 기준에 기초하여 가능한 최상의 AN을 선택한다. 이어서, 패킷 흐름은 이 선택된 AN을 통해서만 전달된다.Two special cases of MAPF striping or multicast are so-called "soft handoff" and "select-cast". For soft handoff, the packet flow is striped or multicast, but only for some limited time period, called a soft-handoff interval, starting from when the MT is connected to two or more ANs. After the soft-handoff interval, the flow is completely switched to pass through one AN. In the case of select-case, the packet flow is also striped or multicast for some limited time period. However, in this case, after that interval, the MG selects the best AN possible based on some link quality criteria such as bandwidth, error / loss rate, and so forth. The packet flow then passes only through this selected AN.

IP-계층 AN내 다중-기지국 패킷 포워딩(IP-layer Intra-AN MuIti-Base-station Packet Forwarding)(MBPF)IP-layer Intra-AN MuIti-Base-station Packet Forwarding (MBPF)

본 발명의 다른 측면은 제공업자의 네트워크 가장자리에 있는 PSN(Packet Service Node)과 MT 사이에서 패킷들을 전송/수신하기 위해 다수의 기지국을 사용하기 위한 IP-계층 솔루션으로서 MBPF 방식을 사용하는 것이다. 따라서, 이는 동일한 액세스 네트워크의 다수의 기지국 내에서 물리-계층 소프트 핸드오프의 IP-계층 일반화이다.Another aspect of the present invention is to use the MBPF scheme as an IP-layer solution for using multiple base stations to transmit / receive packets between a Packet Service Node (PSN) and an MT at the edge of the provider's network. Thus, this is an IP-layer generalization of physical-layer soft handoff within multiple base stations of the same access network.

MBPF 방식은 IP 헤더로 BSID(Base Station Id)를 전달하며, 이는 MTID에서와 유사한 방식으로 생각될 수 있다. BSID는 패킷이 어느 기지국을 통해 포워드되는지를 나타내기 위해 사용될 수 있다. 특정의 실시예는 IP 헤더의 옵션 필드로 또는 다른 대안으로서 별도의 계층 3.5 헤더로 BSID를 전달하는 것을 포함한다.The MBPF scheme carries a Base Station Id (BSID) as an IP header, which can be thought of in a similar manner as in MTID. The BSID may be used to indicate through which base station the packet is forwarded. Certain embodiments include conveying the BSID in an optional field of the IP header or alternatively in a separate layer 3.5 header.

MAPF와 유사하게, MBPF 송신기도 다운링크 방향에 대해서는 MG 또는 PSN에서 구현될 수 있고 업링크 방향에 대해서는 MT이다. MBPF 수신기는 업링크 방향에 대해서는 MG 또는 PSN에서 구현될 수 있고 다운링크 방향에 대해서는 MT이다.Similar to MAPF, the MBPF transmitter can also be implemented in MG or PSN for the downlink direction and MT for the uplink direction. The MBPF receiver can be implemented in MG or PSN for uplink direction and MT for downlink direction.

MBPF 송신기는 패킷이 대응하는 기지국으로의 전송을 위해 하위 계층 또는 그 다음 노드로 가기 바로 전에 각각의 패킷에 BSID를 설정할 수 있다. 일 실시예에서, 하위 계층 또는 그 다음 노드는 BSID를 올바른 기지국에 매핑할 수 있으며, 그에 따라 패킷이 그 기지국에 도달하게 하도록 패킷을 라우팅/전송할 수 있다. MBPF 수신기는 수신된 패킷을 여타 IP 계층 처리로 전달하기 이전에 패킷으로부터 BSID를 제거한다.The MBPF transmitter may set the BSID in each packet just before the packet goes to the lower layer or the next node for transmission to the corresponding base station. In one embodiment, the lower layer or the next node may map the BSID to the correct base station and thus route / transmit the packet so that the packet reaches that base station. The MBPF receiver removes the BSID from the packet before forwarding the received packet to other IP layer processing.

이제 도 14를 참조하면, 다운링크 방향에서의 MBPF 동작의 구현의 일 실시예가 도시되어 있다. 일 실시예에서, MBPF 송신기의 가능한 위치는 MTM 게이트웨이(1405) 또는 PSN(1410)이다. 패킷(1415)은 게이트웨이(1405)로부터 PSN(1410)으 로 전송된다. 패킷(1415)이 기지국(1420-1, 1420-2)으로 송출되기 이전에, 기지국(1420-1, 1420-2) 중 하나에 대응하는 BSID가 패킷(1415)의 IP 헤더로 인코딩된다. 그 후에, 패킷(1415)이 패킷(1425-1, 1425-2)으로서 기지국(1420-1, 1420-2)으로 각각 전송될 수 있고, 여기서 패킷(1425-1)은 기지국(1420-1)에 대응하는 BSID로 인코딩되고, 패킷(1425-2)은 기지국(1420-2)에 대응하는 BSID로 인코딩된다. 그 후에, MT(1430)은 패킷(1425-1, 1425-2) 둘다를 수신하고 이들이 어느 기지국으로부터 왔는지를 알 수 있다. 일 실시예에서, MBPF 수신기(1435)는 처리를 위해 수신된 패킷들을 통과시키기 이전에 수신된 패킷으로부터 BSID를 제거한다.Referring now to FIG. 14, one embodiment of an implementation of an MBPF operation in the downlink direction is shown. In one embodiment, the possible location of the MBPF transmitter is MTM gateway 1405 or PSN 1410. Packet 1415 is sent from gateway 1405 to PSN 1410. Before the packet 1415 is sent to the base stations 1420-1 and 1420-2, the BSID corresponding to one of the base stations 1420-1 and 1420-2 is encoded into the IP header of the packet 1415. Thereafter, packet 1415 may be sent to base stations 1420-1 and 1420-2 as packets 1425-1 and 1425-2, where packet 1425-1 is transmitted to base station 1420-1. Is encoded with a BSID corresponding to the packet 1425-2. The packet 1425-2 is encoded with a BSID corresponding to the base station 1420-2. Thereafter, the MT 1430 receives both packets 1425-1 and 1425-2 and knows which base station they came from. In one embodiment, the MBPF receiver 1435 removes the BSID from the received packet before passing the received packets for processing.

상기한 MAPF 방식과 유사하게, MBPF 방식도 2가지 포워딩 모드, 즉 스트라이핑 및 멀티캐스트를 갖는다.Similar to the MAPF scheme described above, the MBPF scheme also has two forwarding modes: striping and multicast.

스트라이핑 모드(striping mode)에서, 패킷 흐름은 다수의 서브-흐름으로 분할되며, 그 각각은 다른 기지국을 통해 전파된다. 각각의 패킷은 양호하게는 패킷 흐름이 다른쪽 종단에서 IP 계층 내부에서 그의 서브-흐름들로부터 재조립될 수 있도록 스트라이핑-시퀀스 번호를 전달한다. 어떤 실시예에서, TCP 및 RTP의 시퀀스 번호와 같은 상위 계층 프로토콜의 시퀀스 번호가 스트라이핑-시퀀스 번호로서 재사용될 수 있다. MBPF 수신기에서의 가능한 분할 및 패킷 재정렬 알고리즘(splitting and packet reordering algorithm)은, AN이 기지국으로 대체되어 있는 것을 제외하고는, MAPF 방식을 참조하여 상기한 것들과 동일할 수 있다.In the striping mode, the packet flow is divided into a number of sub-flows, each of which propagates through different base stations. Each packet preferably carries a striping-sequence number such that the packet flow can be reassembled from its sub-flows inside the IP layer at the other end. In some embodiments, sequence numbers of higher layer protocols, such as those of TCP and RTP, may be reused as striping-sequence numbers. The possible splitting and packet reordering algorithm in the MBPF receiver may be the same as described above with reference to the MAPF scheme, except that the AN is replaced by a base station.

멀티캐스트 모드(multicast mode)에서, 패킷 흐름이 복제되어 다수의 기지국을 통해 전달된다. 이것은 CDMA2000에서와 같이 물리 계층 소프트 핸드오프 방식 에서 일어나는 동일한 액세스 네트워크의 서로 다른 기지국으로의 멀티캐스트의 IP-계층 버전이다.In multicast mode, packet flows are replicated and passed through multiple base stations. This is an IP-layer version of multicast to different base stations in the same access network that occurs in a physical layer soft handoff scheme as in CDMA2000.

MBPF 송신기는 각각의 IP 패킷을 멀티캐스트-변형 또는 (m-변형)으로 변환하고, 여기서 각각의 m-변형은 하나의 기지국을 통해 포워드된다. 기지국(i)을 통해 포워드된 m-변형은, 기지국(i)을 나타내기 위해 BSID 필드가 설정되어 있고 동일한 원래의 패킷의 모든 m-변형에 대해 동일하게 설정되어 있는 MBPF id 번호를 전달하는 것을 제외하고는, 원래의 패킷과 동일할 수 있다. 어떤 실시예에서, 상위 계층 프로토콜의 시퀀스 번호(예를 들어, TCP 헤더, RTP 헤더, IP 헤더의 ID 필드, 기타)는 MBPF id 번호로서 재사용될 수 있다. 유의할 점은 MBPF 송신기 및 수신기 둘다에서, 원래의 패킷의 각각의 m-변형이 쌍 (BSID:: MBPF id 번호)에 의해 일의적으로 식별될 수 있다는 것이다.The MBPF transmitter converts each IP packet into a multicast-or (m-modified), where each m-modified is forwarded through one base station. The m-variant forwarded through base station i is intended to convey an MBPF id number with the BSID field set to indicate base station i and the same for all m-variants of the same original packet. Except for the original packet may be the same. In some embodiments, sequence numbers of higher layer protocols (eg, TCP headers, RTP headers, ID fields of IP headers, etc.) may be reused as MBPF id numbers. Note that in both the MBPF transmitter and receiver, each m-variant of the original packet can be uniquely identified by a pair (BSID :: MBPF id number).

MBPF 수신기에서, 동일한 원래의 패킷의 m-변형의 세트가 원래의 패킷의 M개의 복사본으로 정리될 수 있다. 패킷의 목적지에서, 이들 M개의 복사본 전부가 상위 계층(보통 TCP 또는 UDP임)으로 전달될 수 있다. 여기서, M은 성능을 최적화하기 위해 동적으로 조정되거나 통계적으로 조절될 수 있는 파라미터이다. M이 클수록, 그 M개의 패킷들 중 하나가 오염되지 않고 따라서 그의 목적지의 상위 계층 체크섬에 의해 폐기되지 않을 가능성이 더 크다. 그렇지만, M이 클수록, 중복 패킷을 처리함에 있어서의 상위 계층의 오버헤드가 더 커진다. 유의할 점은, 업링크 방향에 대해, 즉 MG 또는 PSN에 있는 MBPF 수신기에서, M=1로 설정하는 것이 바람직할 수 있는데, 그 이유는 중복 패킷으로 패킷의 목적지에 부담을 주지 않는 것이 안전하기 때문이다.In an MBPF receiver, the set of m-variants of the same original packet can be organized into M copies of the original packet. At the destination of the packet, all of these M copies can be delivered to a higher layer (usually TCP or UDP). Here, M is a parameter that can be dynamically adjusted or statistically adjusted to optimize performance. The larger M is, the more likely that one of those M packets is not corrupted and therefore not discarded by the higher layer checksum of its destination. However, the larger M, the greater the overhead of the higher layer in handling duplicate packets. Note that it may be desirable to set M = 1 for the uplink direction, i.e. in the MBPF receiver at MG or PSN, because it is safe to not burden the destination of the packet with duplicate packets. to be.

MBPF 멀티캐스트 수신기는 다양한 서로 다른 알고리즘을 사용하여 패킷을 분석할 수 있다. 한가지 이러한 알고리즘은 처음 M개의 수신된 m-변형이 원래의 패킷의 복사본들로 변환되고 그 패킷의 나머지 m-변형 전부가 폐기되는 간단한 분석 알고리즘이다. 변환은 단순히 IP 헤더로부터 MBPF id 및 BSID 번호를 제거하는 것으로 이루어져 있다. 다른 가능한 알고리즘은 패킷의 모든 m-변형이 수신되고 이어서 이들 m-변형 중 오염될 가능성이 낮은 순으로 M번째 내에 해당하는 M개가 선택되는 스마트 분석 알고리즘이다. 일 실시예에서, MBPF 기능 자체가 각각의 m-변형에 대해 IP 헤더 체크섬 및 상위 계층의 체크섬 동작을 수행한다. 그 다음에, 올바른 체크섬을 갖는 m-변형들 중 M개 또는 그들 전부 중에서, 더 적은 수를 갖는 것이 상위 계층으로 전달될 수 있다. 잘못된 IP 헤더 또는 상위 계층 체크섬을 갖는 패킷은 폐기된다. 어떤 실시예들에서, M=1로 설정하는 것이 바람직할 수 있는데, 그 이유는 올바른 체크섬이 보통 오염되지 않은 패킷을 나타내고 중복된 오염되지 않은 패킷을 상위 계층으로 전달할 필요가 없기 때문이다.MBPF multicast receivers can analyze packets using a variety of different algorithms. One such algorithm is a simple analysis algorithm in which the first M received m-variants are converted to copies of the original packet and all remaining m-variants of the packet are discarded. The translation simply consists of removing the MBPF id and BSID numbers from the IP header. Another possible algorithm is a smart analysis algorithm in which all m-variants of a packet are received and then the M corresponding to the Mth are selected in order of the likelihood of being contaminated among these m-variants. In one embodiment, the MBPF function itself performs the IP header checksum and higher layer checksum operation for each m-variant. Then, of M or all of the m-variants with the correct checksum, the one with the smaller number can be passed to the upper layer. Packets with bad IP headers or higher layer checksums are discarded. In some embodiments, it may be desirable to set M = 1 since the correct checksum usually indicates uncontaminated packets and there is no need to forward duplicate uncontaminated packets to higher layers.

MAPF와 유사하게, MBPF 소프트 핸드오프 및 선택-변환은 MBPF 스트라이핑 또는 멀티캐스트의 특별한 경우이고, MAPF 구현을 참조하여 상기한 동작들과 비슷하다.Similar to MAPF, MBPF soft handoff and select-conversion is a special case of MBPF striping or multicast and is similar to the operations described above with reference to MAPF implementation.

MAPF 또는 MBPF에서의 QoS 인식 스트라이핑(QoS-aware Striping in MAPF or MBPF)QoS-aware striping in MAPF or MBPF

어떤 실시예들에서, MAPF 및 MBPF 둘다에서의 상기한 스트라이핑 특 징(feature)은 패킷이 스트라이핑되고 있는 애플리케이션의 QoS 요건을 알고 있을 수 있다. 이하의 논의에서, MAPF(또는 MBPF) 송신기 및 수신기는 각각 스트라이퍼(striper) 및 디스트라이퍼(de-striper)라고 한다. 나아가, 용어 '링크'는 MAPF에서는 특정의 액세스 네트워크를 통한 패킷의 경로 또는 MBPF에서는 특정의 기지국을 통한 패킷의 경로를 말하는 데 사용된다.In some embodiments, the above striping feature in both MAPF and MBPF may be aware of the QoS requirements of the application in which the packet is being striped. In the discussion that follows, MAPF (or MBPF) transmitters and receivers are referred to as stripers and destripers, respectively. Further, the term 'link' is used to refer to the path of a packet through a particular access network in MAPF or the path of a packet through a particular base station in MBPF.

일 실시예에서, QoS 인식 스트라이핑 방식은 다수의 링크의 대역폭 및 지연 차이로 인한 추가의 지연 또는 지연 지터를 패킷 흐름에 그다지 유입시키지 않고 다수의 링크의 가용 대역폭을 효과적으로 통합할 수 있다. 예를 들어, TCP 애플리케이션은 종단간 지연 한계를 필요로 하고, VoIP는 종단간 지연 및 지연 지터 한계 둘다를 필요로 하며, 스트리밍 비디오는 지연 지터 한계 및 최대 대역폭을 필요로 한다. 애플리케이션의 QoS 요건별 추가의 지연 및 지연 지터는 이하의 조치들 중 하나 이상을 사용하여 제한될 수 있다.In one embodiment, the QoS aware striping scheme can effectively incorporate the available bandwidth of multiple links without introducing much additional delay or delay jitter due to the bandwidth and delay differences of the multiple links into the packet flow. For example, TCP applications require end-to-end delay limits, VoIP requires both end-to-end delay and delay jitter limits, and streaming video requires delay jitter limits and maximum bandwidth. Additional delays and delay jitter per application's QoS requirements may be limited using one or more of the following measures.

1. 특별한 시그널링 프로브 또는 "ping" 메시지를 통해 또는 데이터 패킷 자체를 통해 또는 링크-계층 정보를 통해 대역폭 및 링크 지연(m)이 계속적으로 모니터링되고 추정된다. 패킷의 종단간 지연도 역시 모니터링될 수 있다.1. Bandwidth and link delay m are continuously monitored and estimated through a special signaling probe or "ping" message or through the data packet itself or through link-layer information. End-to-end delay of packets can also be monitored.

2. 애플리케이션이 시퀀싱된 패킷을 필요로 하거나 패킷 재정렬(packet reordering)에 민감한 경우, 스트라이퍼와 디스트라이퍼 간의 패킷 흐름 경로에 대한 유효 지연은, 스트라이핑에 포함된 임의의 링크의 최대 지연 d_max이다. 이 경우에, 결과적인 d_max가 종단간 지연을 실제 애플리케이션의 요구된 지연 한계를 넘어 증가시키지 않도록 하는 링크들만이 스트라이핑에 포함된다.2. If the application requires sequenced packets or is sensitive to packet reordering, the effective delay for the packet flow path between the striper and the striper is the maximum delay d_max of any link involved in the striping. In this case, only links are included in the striping so that the resulting d_max does not increase the end-to-end delay beyond the required delay limit of the actual application.

3. 2번과 유사하게, 스트라이퍼-디스트라이퍼 경로에 의해 추가되는 최악의 경우의 지연 지터는 스트라이핑에 포함되어 있는 임의의 2개의 링크 간의 최대 지연차 delta_max이다. 이 경우에, 결과적인 delta_max가 종단간 지연 지터를 실제 애플리케이션의 요구된 한계를 넘어 증가시키지 않도록 하는 링크들만이 스트라이핑에 포함된다.3. Similarly to No. 2, the worst case delay jitter added by the striper-striper path is the maximum delay difference delta_max between any two links involved in the striping. In this case, only the links are included in the striping so that the resulting delta_max does not increase end-to-end delay jitter beyond the required limit of the actual application.

4. 패킷들이 각각의 링크를 통해 가능한 한 주기적으로 전송될 수 있다. 따라서, 일 실시예에서, 스트라이퍼는 서로 다른 링크를 통해 패킷을 스케쥴링하기 위해 '가중된 라운드 로빈(weighted round robin)'을 수행할 수 있다, 예를 들어, 링크 1이 링크 2보다 10배의 대역폭을 갖는 경우, 스트라이퍼는 매 11번째 패킷을 링크 2를 통해 전송하고 나머지를 링크 1을 통해 전송한다.4. Packets can be sent on each link as periodically as possible. Thus, in one embodiment, the striper may perform a 'weighted round robin' to schedule packets over different links, for example, link 1 has 10 times the bandwidth of link 2 If, the striper sends every 11th packet on link 2 and the rest on link 1.

5. 엄격한 실시간 애플리케이션에 대한 더 정확한 실시예는 어느 링크가 패킷을 전송해야 하는지에 관하여 각각의 패킷에 대해 신규의 스트라이핑 결정(fresh striping decision)을 한다. 일 실시예에서, t가 현재 시간인 경우, q가 링크 x를 통해 전송되는 경우 패킷 q가 스트라이퍼에 도착하는 추정 도착 시간 t_{q,x}이 t_{q,x} = t + L/b_x + d_x로서 표현될 수 있고, 여기서 L은 패킷 q의 길이이고, b_x 및 d_x는 각각 링크 x의 대역폭 및 지연이다. 이어서, t_{q,x} - t_{p,x}를 최소화하는 링크를 선택하며, 여기서 p는 q 이전의 패킷이다.5. A more accurate embodiment for strict real-time applications makes a fresh striping decision for each packet as to which link should send the packet. In one embodiment, when t is the current time, the estimated arrival time t_ {q, x} where packet q arrives at the striper when q is transmitted over link x is equal to t_ {q, x} = t + L / b_x It can be expressed as + d_x, where L is the length of packet q and b_x and d_x are the bandwidth and delay of link x, respectively. Then, select a link that minimizes t_ {q, x}-t_ {p, x}, where p is the packet before q.

MT 및 MG의 모바일 오버레이 스트리밍 네트워크(Mobile Overlay STreaming NETwork (MOSTNET))MT and MG's Mobile Overlay Streaming Network (MOSTNET)

MOSTNET는 데이터 스트림(예를 들어, 비디오)을 '투명하게' 포워딩, 분할 및 멀티캐스트하는 오버레이 네트워크이며, 투명하다는 것은 아무렇게나 이동할 수 있는 최종 호스트에서 네트워크 라우터 또는 TCP/IP 스택 또는 애플리케이션을 수정할 필요가 없다는 것을 의미한다. 일 실시예에서, 각각의 MOSTNET 오버레이 노드는 MT 또는 MG이다. MG는 오버레이 노드를 형성하고, 이전의 섹션들에서 기술한 바와 같이, 매끄러운 스트림 이동성을 보장할 수 있다.MOSTNET is an overlay network that 'transparent' forwards, splits, and multicasts data streams (e.g. video), and transparent means that you don't have to modify your network router or TCP / IP stack or application on the endless host. It means no. In one embodiment, each MOSTNET overlay node is MT or MG. The MG forms an overlay node and can ensure smooth stream mobility, as described in the previous sections.

"스트림"은 베이스 네트워크를 통해 송신기(송신 애플리케이션)로부터 수신기(수신 애플리케이션)로 전달될 임의의 콘텐츠 비트 시퀀스를 말한다. 일반적으로, 베이스 네트워크는 IP 라우터들의 인터넷이고, 비트들이 IP 패킷의 계층 4 페이로드 내부에서 전송된다. 수신 애플리케이션은 송신 애플리케이션으로부터 전송된 동일한 순서로 모든 비트들을 수신할 수 있다. 손실-내성 스트림(loss-tolerant stream)은 스트림으로부터 어떤 비트들이 손실됨에도 불구하고 수신 애플리케이션이 올바르게 동작할 수 있는 것을 말한다. 이와 유사하게, 에러-내성 스트림(error-tolerant stream)은 스트림에서의 어떤 비트의 값의 변경에도 불구하고 수신 애플리케이션이 올바르게 동작할 수 있는 것을 말한다. 예들로는 손실 및 에러-내성적인 디지털적으로 인코딩된 비디오, 오디오 스트림(예를 들어, MPEG 스트림)은 물론, 뉴스 피드(news feed), 주식 정보, 기타 등등의 기타 데이터 스트림이 있다. 유의할 점은 용어 "스트림"이 네트워크를 통해 전송될 임의의 비트 시퀀스를 포함하고 따라서 인터넷에서의 모든 TCP 또는 UDP를 포함한다는 것이다."Stream" refers to any sequence of content bits to be delivered from the transmitter (sending application) to the receiver (receiving application) via the base network. In general, the base network is the Internet of IP routers, and bits are transmitted inside the Layer 4 payload of the IP packet. The receiving application may receive all the bits in the same order sent from the transmitting application. A loss-tolerant stream is one in which the receiving application can operate correctly despite some bits being lost from the stream. Similarly, an error-tolerant stream is one in which the receiving application can operate correctly despite a change in the value of any bit in the stream. Examples are lossy and error-tolerant digitally encoded video, audio streams (eg MPEG streams), as well as other data streams such as news feeds, stock information, and the like. Note that the term "stream" includes any bit sequence to be transmitted over the network and thus includes all TCP or UDP on the Internet.

수신 애플리케이션으로의 스트림의 투명한 전달(transparent delivery)은 스트림 비트들이 전송된 것과 동일한 순서로 또 스트림이 그의 최초의 송신기로부터 오고 있는 것처럼 수신 애플리케이션이 그 스트림을 올바르게 소비하도록 수신 애플리케이션에 도달한다는 것을 의미한다. 따라서, 일 실시예에서, 오버레이 네트워크는 수신 애플리케이션에게 보이지 않는다.Transparent delivery of a stream to a receiving application means that the receiving application arrives at the receiving application in the same order in which the stream bits were sent and so that the receiving application consumes the stream correctly as if the stream is coming from its original transmitter. . Thus, in one embodiment, the overlay network is not visible to the receiving application.

베이스 네트워크에서 적당한 지점에 존재하는 노드들의 오버레이 네트워크의 사용은 이하의 작업들 중 하나 이상을 달성하기 위해 사용될 수 있다.The use of an overlay network of nodes present at appropriate points in the base network may be used to accomplish one or more of the following tasks.

1. 스트림 시그널링 및 제어: 이하의 것들을 공동으로 달성하기 위해 오버레이 노드의 스트림 비트 처리 및 포워딩 동작을 조정 및 제어하기 위해 노드간 시그널링을 사용한다.1. Stream signaling and control: Use inter-node signaling to coordinate and control the stream bit processing and forwarding operation of the overlay node to jointly achieve the following.

2. 스트림 분할(Stream Splitting): 모든 오버레이 노드가 이용가능한 베이스 네트워크 대역폭 전부를 효율적으로 사용하는 등을 위해, 오버레이 네트워크에서 다수의 경로를 통해 라우팅되는 몇개의 서브-스트림으로 스트림의 지능적 분할을 달성한다.2. Stream Splitting: achieves intelligent splitting of streams into several sub-streams routed through multiple paths in the overlay network, such as for all overlay nodes to efficiently use all of the available base network bandwidth. do.

3. 스트림 포워딩/수신(Stream Forwarding/Receiving, FR): 요청하는 수신기에 있는 수신 애플리케이션으로의 스트림의 투명한 전달을 보장하는 등을 위해, 패킷의 IP 또는 상위 계층 헤더에 적당한 변환 또는 추가를 한 후에 스트림에 속하는 IP 패킷을 다른 다운스트림 노드로 포워드한다. 패킷을 다운스트림 노드로 전송하기 이전에, FR은 다른 패킷 처리 또는 복구 작업, 예를 들어, 업스트림 노드로부터의 손실된 패킷의 복구, FR 자신과 다운스트림 노드 간의 흐름 제어를 하기 위한 패킷의 버퍼링, 기타 등등을 할 수 있다3. Stream Forwarding / Receiving (FR): After appropriate conversion or addition to the IP or higher layer header of the packet, to ensure transparent delivery of the stream to the receiving application at the requesting receiver. Forward IP packets belonging to the stream to other downstream nodes. Prior to sending the packet to the downstream node, the FR may perform other packet processing or recovery operations, for example, recovery of lost packets from the upstream node, buffering the packet for flow control between the FR itself and the downstream node, Etc.

4. 스트림 저장 및 재생(Stream Storage and Replay): 스트림의 수신된 IP 패킷들의 어떤 부분집합은 임의적인 시간 동안 노드에 순수 페이로드(추출된 스트림 비트)로서 또는 패킷 형태로, 즉 IP 계층 3, 4 또는 그 이상에서 보이는 것과 같은 정확한 수신된 시퀀스의 패키스로서 저장된다. 나중에, 이 저장된 부분집합은 네트워크에 있는 임의의 요청하는 수신기에 의한 요구 시에 재생된다. 이 재생은 정확한 원래의 시퀀스의 IP 패킷(이로부터 부분집합이 생성되고 저장됨)을 복제하는 것 및 이들을 로컬 스트림 포워더(local stream forwarder)로 전송하는 것으로 이루어져 있다. 중간 저장 장치는 따라서, 마치 스트림이 최초의 송신기로부터 오고 있는 것처럼 스트림을 보게 되는 요청하는 수신기의 애플리케이션에게는 보이지 않은 채로 있다.4. Stream Storage and Replay: Any subset of the received IP packets of a stream may be in the form of a pure payload (extracted stream bits) or in the form of packets, ie IP layer 3, Stored as a package of the correct received sequence as seen at 4 or more. Later, this stored subset is reproduced on demand by any requesting receiver in the network. This playback consists of duplicating the exact original sequence of IP packets (a subset created and stored therefrom) and sending them to a local stream forwarder. The intermediate storage device thus remains invisible to the application of the requesting receiver to see the stream as if the stream was coming from the original transmitter.

5. 스트림 이동성(Stream Mobility): 송신기 또는 수신기가 서로 다른 네트워크 간에 이동하거나 스트림 세션 동안에 그의 IP 주소 또는 포트 번호를 변경함에도 불구하고, 수신기에서 스트림의 투명한 전달을 유지한다. 이들 노드는 심지어 NAT 라우터 후방에 있는 사설망들 간에도 이동할 수 있다. 이들 노드는 심지어 오버레이 네트워크 자체에서도 이동할 수 있다, 즉 스트림 세션 동안에도 오버레이 노드들의 서로 다른 세트로/로부터 스트림을 전송/수신하고자 할 수 있다. 투명한 전달은 이러한 이동 중에도 유지된다.5. Stream Mobility: Although the transmitter or receiver moves between different networks or changes its IP address or port number during the stream session, the receiver maintains transparent delivery of the stream. These nodes can even move between private networks behind the NAT router. These nodes may even move in the overlay network itself, ie, may wish to send / receive streams to / from different sets of overlay nodes during a stream session. Transparent delivery is maintained even during this movement.

일 실시예에서, 베이스 네트워크에서 적절한 지점들에 존재하는 노드들의 네트워크의 오버레이가 상기 작업 1을 수행하기 위해 사용될 수 있다. 다른 실시예에서, 작업 1 및/또는 작업 2 둘다가 수행될 수 있다. 또다른 실시예에서, 작업 1 및/또는 작업 2가 상기 작업 3, 작업 4 및 작업 5 중 하나 이상과 함께 수행될 수 있다.In one embodiment, an overlay of the network of nodes present at appropriate points in the base network may be used to perform task 1 above. In other embodiments, both task 1 and / or task 2 may be performed. In another embodiment, task 1 and / or task 2 may be performed in conjunction with one or more of tasks 3, 4, and 5 above.

MOSTNET 컴포넌트의 예시적인 실시예Example Embodiment of a MOSTNET Component

도 15는 인터넷 상에 오버레이된 MOSTNET(1500)을 나타낸 것으로서, 그의 컴포넌트 작업들이 오버레이 노드들 중 하나 내부에 도시되어 있다. 상세하게는, MOSTNET(1500)은 노드(1510-1 내지 1510-5)로 이루어져 있으며, 여기서 도 15에 나타낸 바와 같이, 송신기 애플리케이션/스트림 송신기(1520)는 노드(1510-1)에 연결되어 있고, 수신기 애플리케이션/스트림 수신기(1530)는 노드(1510-5)에 있다. 예시적인 노드(1510-4)의 확대는 또한 스트림 포워더/수신기(1540), 스트림 분할기(1550) 및 스트림 저장/재생(1560)을 포함하는 것으로 도시되어 있다. 노드(1510-4)를 통한 3가지 가능한 패킷 경로는 경로(1570-1 내지 1570-3)로 나타내어져 있다.15 shows an MOSTNET 1500 overlaid on the Internet, whose component tasks are shown inside one of the overlay nodes. Specifically, MOSTNET 1500 is comprised of nodes 1510-1 through 1510-5, where the transmitter application / stream transmitter 1520 is connected to node 1510-1 as shown in FIG. 15. The receiver application / stream receiver 1530 is at node 1510-5. Magnification of example node 1510-4 is also shown to include a stream forwarder / receiver 1540, a stream splitter 1550, and a stream store / playback 1560. Three possible packet paths through node 1510-4 are represented by paths 1570-1 through 1570-3.

도 15에 도시한 바와 같이, 원래의 스트림(1580)이 송신기 애플리케이션(1520)에 의해 MOSTNET(1500)에 제공된다. 노드(1510-1)는 원래의 스트림(1580)을 분할하고 서브-스트림(1590-1 내지 1590-3)을 송출한다. 나아가, 노드(1510-4)는 수신된 서브-스트림(1590-2, 1590-3)을 결합하는 것으로 도시되어 있으며, 결합된 서브-스트림(1595)을 목적지 노드(1510-5)로 보냈다.As shown in FIG. 15, original stream 1580 is provided to MOSTNET 1500 by transmitter application 1520. Node 1510-1 splits original stream 1580 and sends sub-streams 1590-1 through 1590-3. Further, node 1510-4 is shown as combining the received sub-streams 1590-2, 1590-3, and sent the combined sub-stream 1595 to destination node 1510-5.

일 실시예에서, 스트림(1580)의 각각의 패킷이 시퀀스 번호를 전달하는 것으로 가정된다. 스트림(1580)이 TCP 또는 RTP 멀티미디어 스트림인 경우, TCP 또는 RTP 시퀀스 번호 자체는 스트림 분할을 위한 시퀀스 번호로서 사용될 수 있다. 그렇지 않은 경우, 오버레이 네트워크(1500)는 그 자신의 시퀀스 번호를 패킷의 IP 헤더의 옵션 필드 내부에서 또는 삽입된 MTM 헤더 내부에서 또는 계층-4 터널링이 2개의 오버레이 노드 사이에서 사용되는 경우 심지어 외부 계층 4(TCP 등) 헤더 내부에서 패킷에 유입시킬 수 있다.In one embodiment, it is assumed that each packet of stream 1580 carries a sequence number. If the stream 1580 is a TCP or RTP multimedia stream, the TCP or RTP sequence number itself may be used as the sequence number for stream splitting. Otherwise, the overlay network 1500 may replace its own sequence number within the option field of the packet's IP header, within the inserted MTM header, or even if the layer-4 tunneling is used between two overlay nodes. 4 (TCP, etc.) can be introduced into the packet inside the header.

이하에서, 스트림 분할 및 재결합에 대해 기술한다. 일 실시예에서, 스트림(예를 들어, 원래의 스트림(1580))은 다수의 서브-스트림(예를 들어, 1590-1 내지 1590-3)으로 분할될 수 있으며, 그 각각은 전역적으로 고유한 서브-스트림 식별자(globally unique sub-stream identifier) substream_id에 의해 식별가능하다. 서브-스트림의 패킷의 시퀀스는 논리적으로 스트림 섹션들로 분할되고, 그 각각은 고유의 섹션 id에 의해 식별가능하다. 섹션(s)에 대한 섹션 id는 따라서 튜플 <substream_id, length, skip_length, next_position>이고, 여기서 substream_id는 그가 속하는 서브-스트림이고, length는 이 섹션 내의 패킷의 수이며, skip_length는 이 섹션 내의 연속적인 패킷의 시퀀스 번호의 차이이고, next_position은 서브-스트림에서의 그 다음 섹션의 첫번째 패킷의 시퀀스 번호이다. 전체 섹션 id는 섹션의 시작에, 일반적으로 섹션의 첫번째 패킷의 헤더 내부에서 전달된다. 따라서, substream_id가 모든 패킷에서 전달될 필요가 없으며, 각각의 섹션에 대해 한번씩만 전달되면 된다.In the following, stream splitting and recombination are described. In one embodiment, the stream (eg, the original stream 1580) may be divided into a number of sub-streams (eg, 1590-1 to 1590-3), each of which is globally unique. It is identifiable by a globally unique sub-stream identifier substream_id. The sequence of packets of the sub-stream is logically divided into stream sections, each of which is identified by a unique section id. The section id for section (s) is thus a tuple <substream_id, length, skip_length, next_position>, where substream_id is the sub-stream to which it belongs, length is the number of packets in this section, and skip_length is the consecutive packets in this section. Is the difference of the sequence numbers of and next_position is the sequence number of the first packet of the next section in the sub-stream. The full section id is passed at the beginning of the section, usually inside the header of the first packet of the section. Thus, the substream_id does not need to be delivered in every packet, but only once for each section.

임의의 노드(예를 들어, 노드(1510-1 내지 1510-5))에서, 스트림에 대한 착신 패킷 시퀀스는 서로 다른 서브-스트림으로부터의 섹션들의 일반적인 혼합이다. 노드는 각각의 섹션이 언제 시작되고 끝나는지를 결정하기 위해 각각의 패킷에서 시퀀스 번호를 본다. 일 실시예에서, 각각의 서브-스트림은 그의 버퍼를 가지며, 이 버퍼 안에 각각의 패킷 또는 조립된 섹션이 그의 시퀀스 번호의 순서로 큐잉된다. 이들 버퍼는 이어서 스트림 저장장치(예를 들어, 스트림 저장 장치(1560)) 또는 스트림 포워더(예를 들어, 스트림 포워더/수신기(1540)) 또는 스트림 재결합기(예를 들어, 스트림 분할기/재결합기(1550))으로 피드할 수 있다.At any node (eg, nodes 1510-1 through 1510-5), the incoming packet sequence for the stream is a general mix of sections from different sub-streams. The node looks at the sequence number in each packet to determine when each section starts and ends. In one embodiment, each sub-stream has its buffer, in which each packet or assembled section is queued in the order of its sequence number. These buffers may then be stored in stream storage (e.g., stream storage 1560) or stream forwarder (e.g., stream forwarder / receiver 1540) or stream recombiner (e.g., stream splitter / recombiner (e.g., 1550).

스트림 재결합기(예를 들어, 스트림 분할기/재결합기(1550))는 스트림의 다수의 착신 서브-스트림(예를 들어, 서브-스트림(1590-2, 1590-3))을 결합하고 이들을 다수의 발신 서브-스트림(예를 들어, 서브-스트림(1595))으로 재조립하는 데 사용될 수 있다. 예를 들어, 각각이 스트림의 홀수 및 짝수 패킷을 전달하는 2개의 서브-스트림, 즉 (1,3,5...) 및 (2,4,6,..)으로 분할되는 스트림을 생각해보자. 재결합기는 이어서 이들 2개의 서브-스트림을 3개의 발신 스트림, 즉 (1,4,7,..), (2,5,8,..) 및 (3,6,9,..)으로 재결합할 수 있다. 이들 3개의 발신 스트림은 이들이 임의의 수신 노드에 의해 전역적으로 일의적으로 식별가능하게 되도록 하기 위해 할당된 새로운 서브-스트림 식별자를 갖게 된다.A stream recombiner (eg, stream splitter / recombiner 1550) combines multiple incoming sub-streams (eg, sub-streams 1590-2, 1590-3) of the stream and combines them It may be used to reassemble into an outgoing sub-stream (eg, sub-stream 1595). For example, consider a stream that is divided into two sub-streams (1,3,5 ...) and (2,4,6, ..), each carrying odd and even packets of the stream. . The recombiner then recombines these two sub-streams into three outgoing streams: (1,4,7, ..), (2,5,8, ..) and (3,6,9, ..) can do. These three outgoing streams will have new sub-stream identifiers assigned to them so that they are globally uniquely identifiable by any receiving node.

시그널링 및 제어(SC)에 대해 이하에서 설명한다. 스트림의 오버레이는 각각의 오버레이 노드(n)에서 분할/재결합 및 그 다음 홉을 지정함으로써 일의적으로 정의된다. 분할/재결합과 관련하여, 그의 서브-스트림의 일부가 노드(n)에서 수신되는 각각의 스트림(x)에 대해, SC는 n으로부터의 발신 서브-스트림인 out(x, n)를 규정한다. 그 다음 홉과 관련하여, SC는 n으로부터의 각각의 발신 서브-스트림(y)에 대한 그 다음 홉 노드인 next(y,n)를 규정한다.Signaling and control (SC) will be described below. The overlay of the stream is uniquely defined by specifying split / recombine and next hop at each overlay node n. With regard to splitting / recombination, for each stream x where a portion of its sub-stream is received at node n, the SC defines out (x, n), which is the originating sub-stream from n. In terms of the next hop, the SC defines next (y, n), the next hop node for each originating sub-stream (y) from n.

하나 이상의 오버레이 노드 또는 심지어 외부 전용 노드가 스트림 제어기로 서 기능할 수 있다. 어떤 실시예에서, 이들 노드는 각각의 x,y,n에 대해 out(x,n) 및 next(y,n)을 결정하기 위해 그들 자체 사이에서 스트림 오버레이 알고리즘을 실행할 수 있다. 다중-상품 흐름 알고리즘(multi-commodity flow algorithm) 등의 트래픽 엔지니어링 방법(traffic engineering method)을 통해 또는 당업자에 의해 휴리스틱하게(heuristically) 베이스 네트워크의 토폴로지 및 대역폭에 대한 지식을 사용하여, 정확한 알고리즘이 설계될 수 있다. 각각의 노드(n)에 대해, 제어기는 n에서 예상되는 모든 쌍 (x,y)에 대한 out(x,n) 및 next(y,n) 정보를 n에 신호할 수 있다.One or more overlay nodes or even external dedicated nodes may function as the stream controller. In some embodiments, these nodes may execute a stream overlay algorithm between themselves to determine out (x, n) and next (y, n) for each x, y, n. Accurate algorithms can be designed using knowledge of the topology and bandwidth of the base network through traffic engineering methods such as multi-commodity flow algorithms or heuristically by those skilled in the art. Can be. For each node n, the controller can signal out (x, n) and next (y, n) information for n for all pairs (x, y) expected in n.

MOSTNET 갱신은 1) 새로운 오버레이 노드가 MOSTNET에 가입할 때, 2) 기존의 오버레이 노드가 드롭될 때, 또는 3) 오버레이 노드가 그의 이웃 노드들의 세트를 변경할 필요가 있을 때, 일어날 수 있다. 일 실시예에서, 스트림 품질을 향상시키기 위해 MOSTNET 갱신이 행해질 수 있다. 또한, 이는 어떤 노드들의 고장 노드의 이동성으로 인해 일어날 수 있다. 이웃 노드들의 새로운 세트가 노드 자체에 의해 로컬적으로 또는 제어기에 의해 중앙에서 결정될 수 있다.The MOSTNET update may occur when 1) a new overlay node joins MOSTNET, 2) an existing overlay node is dropped, or 3) the overlay node needs to change its set of neighbor nodes. In one embodiment, MOSTNET updates may be made to improve stream quality. This can also happen due to the mobility of a failed node in some nodes. A new set of neighbor nodes can be determined locally by the node itself or centrally by the controller.

이러한 MOSTNET 갱신은 또한 기록계 노드(registrar node)로 전송될 수 있다. 제어기 및 기록계 노드는 동일한 물리적 서버에 구현될 수 있다. 어떤 오버레이 노드라도 그 자체가 기록계 또는 제어기로서 역할할 수 있다. 기록계 노드는 제어기 노드에 MOSTNET 갱신을 알려주고, 이는 그에 따라 그들의 알고리즘을 재실행하여 스트림 오버레이를 갱신하고 모든 관련 오버레이 노드에 스트림 오버레이 갱신을 신호한다.This MOSTNET update may also be sent to a registrar node. The controller and recorder node can be implemented on the same physical server. Any overlay node may itself serve as a recorder or controller. The recorder node informs the controller node of the MOSTNET update, which reruns their algorithm accordingly to update the stream overlay and signal the stream overlay update to all relevant overlay nodes.

대규모 또는 지리적으로 광범위한 스트림 배포를 위해, 각각의 수신기는 로컬 제어기를 갖는 로컬 오버레이 네트워크에만 속한다. 이들 제어기는 전역적 오버레이 네트워크(global overlay net)를 달성하기 위해 서로 통신을 한다.For large or geographically wide stream distribution, each receiver belongs only to a local overlay network with a local controller. These controllers communicate with each other to achieve a global overlay net.

스트림 포워딩/수신(FR)에 대해 이하에서 기술한다. 각각의 노드는 그 자신의 현재 IP 주소 및 각각의 스트림에 대한 포트 번호(그 노드에서의 그 스트림에 대한 FR adport라고 함)를 갖는 스트림 FR 모듈(예를 들어, 스트림 포워더/수신기(1540))을 갖는다.Stream forwarding / receiving (FR) is described below. Each node has its own current IP address and a port number for each stream (called FR adport for that stream at that node) (e.g., stream forwarder / receiver 1540). Has

임의의 노드(n)에서, IP 패킷을 다운스트림 노드로 전송하기 이전에, FR 모듈은 패킷의 헤더에 있는 원래의 소스 및 목적지 adport를 각각 n 및 다운스트림 노드의 FR 모듈의 adport로 대체한다. 이들 원래의 adport는 이제 패킷의 IP/계층-4 헤더 내의 다른 적당한 곳에서, 예를 들어, IP 옵션 필드에서, 또는 계층 3 또는 계층 4 터널링이 사용되는 경우, 내부 IP/계층-4 헤더에서 전달된다.At any node n, prior to sending the IP packet to the downstream node, the FR module replaces the original source and destination adports in the header of the packet with the adports of the n and downstream nodes' FR modules, respectively. These original adports are now forwarded elsewhere within the IP / layer-4 header of the packet, for example in the IP option field, or in the inner IP / layer-4 header when layer 3 or layer 4 tunneling is used. do.

이와 반대로, 업스트림 노드로부터 IP 패킷을 수신한 후에, FR 모듈은 그의 adport 필드를 패킷의 헤더 내부로부터 추출된(그리고 소거된) 원래의 adport로 대체한다.Conversely, after receiving an IP packet from an upstream node, the FR module replaces its adport field with the original adport extracted (and erased) from within the packet's header.

노드가 이동하고 있는 경우, 스트림에 대한 그의 FR adport는 언제라도 변할 수 있다. 그러면, 노드들은 서로에게 또는 효과적으로 MG로서 기능하는 어떤 공통의 제3 노드에게 adport 변화를 신호함으로써 서로의 변하는 FR adport를 추적할 수 있다. 정확하게 어느 노드가 누구에게 패킷을 전송했는지에 관한 완전한 명확함을 위해, 전역적으로 고유한 MTID가 패킷으로 전달될 수 있다.If a node is moving, its FR adport for the stream can change at any time. The nodes can then track each other's changing FR adports by signaling the adport change to each other or to some common third node functioning effectively as the MG. For complete clarity on exactly which node sent the packet to whom, a globally unique MTID can be delivered in the packet.

스트림 저장 및 재생(SR)에 대해 이하에 기술한다. 스트림의 로컬 저장을 위해, 저장될 스트림 패킷의 계층 4의 페이로드(예를 들어, TCP 페이로드, 또는 RTP 헤더를 포함하는 RTP 패킷)가, FR 모듈에 의해서 다운스트림 노드로 계층-4 터널링되지 않고, 해당 노드 상에서 실행되고 로컬 계층-4 연결 포트를 통해 리스닝하는 로컬 SR 애플리케이션(예를 들어, 스트림 저장/재생(1560))으로 계층-4 터널링된다. 일 실시예에서, 이 애플리케이션은 운영 체제의 사용자 공간에서 실행되지만, 충분한 CPU/메모리 자원이 이용가능한 경우, 부분적으로 커널 공간에서도 실행될 수 있다. 일반적으로, SR 애플리케이션은, 예를 들어, 스트림 품질을 향상시키기 위해 손실 비트를 복구하거나 트랜스코딩 동작을 수행함으로써 원래의 스트림 비트를 수정할 수 있다.Stream storage and playback (SR) is described below. For local storage of the stream, the layer 4 payload (eg, TCP payload, or RTP packet containing the RTP header) of the stream packet to be stored is not layer-4 tunneled to the downstream node by the FR module. Instead, it is layer-4 tunneled to a local SR application (eg, stream store / playback 1560) that runs on that node and listens on the local layer-4 connection port. In one embodiment, the application runs in user space of the operating system, but may also run partially in kernel space if sufficient CPU / memory resources are available. In general, an SR application may modify the original stream bits, for example, by recovering lost bits or performing a transcoding operation to improve stream quality.

스트림의 저장된 섹션이 나중에 원격지의 요청하는 수신기로 전달되어야만 할 때, SR 애플리케이션은 스트림의 최초의 송신기인 것처럼 저장된 스트림을 재패킷화한다. 이들 패킷은 이어서 다시 FR 모듈로 전송될 수 있다.When the stored section of the stream must later be delivered to the remote requesting receiver, the SR application repackets the stored stream as if it were the original transmitter of the stream. These packets can then be sent back to the FR module.

스트림 이동성(stream mobility)에 대해 이하에 기술한다. 스트림 이동성은 오버레이 노드 내부에서 효과적인 MG의 구현을 사용함으로써 효과적으로 달성될 수 있다. 일 실시예에서, 오버레이 노드 내부의 MG는 그에 등록하고자 하는 임의의 다른 오버레이 노드를 등록한다. 임의의 등록된 노드의 adport가 변하는 경우, 그의 MG에 그 변화를 신호할 수 있으며, 이는 차례로 그 변화를 그 노드의 모든 이웃 노드들로 전달한다.Stream mobility is described below. Stream mobility can be effectively achieved by using an effective MG implementation inside the overlay node. In one embodiment, the MG inside the overlay node registers any other overlay node it wishes to register with. If the adport of any registered node changes, it can signal its change to its MG, which in turn conveys the change to all neighboring nodes of that node.

어떤 실시예들에서, MOSTNET 갱신으로 인해, 노드가 새로운 MG에 재등록하 고, 스트림 세션의 중간에 이웃 노드들의 새로운 세트를 가질 필요가 있을 수 있다. 이러한 경우에, 이상에서 상세히 기술한 MTM 핸드오프 절차를 사용하여, 스트림이 이전의 MG로부터 새로운 MG로 또한 이전의 이웃 노드 세트로부터 새로운 이웃 노드 세트로 핸드오프될 수 있다.In some embodiments, due to MOSTNET update, the node may need to re-register with the new MG and have a new set of neighbor nodes in the middle of the stream session. In this case, using the MTM handoff procedure detailed above, the stream may be handed off from the old MG to the new MG and from the old neighbor node set to the new neighbor node set.

상기한 바와 같이, 본 발명은 IMS/SIP 및 MIP 둘다의 연결성 및 품질 문제에 대한 경량의, 확장가능하고, 통합된 대안 또는 솔루션, 및 당업자라면 잘 알 수 있는 많은 다른 이점을 제공할 수 있다.As noted above, the present invention may provide a lightweight, scalable, integrated alternative or solution to the connectivity and quality issues of both IMS / SIP and MIP, and many other advantages as will be appreciated by those skilled in the art.

본 발명이 다양한 실시예들과 관련하여 기술되어 있지만, 당업자라면 첨부된 청구항들에 정의된 본 발명의 범위를 벗어나지 않고 다양한 변경 및 수정이 행해질 수 있다는 것을 잘 알 것이다.While the invention has been described in connection with various embodiments, those skilled in the art will recognize that various changes and modifications can be made without departing from the scope of the invention as defined in the appended claims.

Claims (82)

적어도 제1 액세스 네트워크에 연결되어 있는 제1 논리적 게이트웨이,A first logical gateway connected to at least a first access network, 적어도 제2 액세스 네트워크에 연결되어 있는 제2 논리적 게이트웨이 - 상기 제1 및 제2 논리적 게이트웨이는 제3 네트워크를 통해 통신함 -,A second logical gateway connected to at least a second access network, the first and second logical gateways communicating over a third network; 상기 제1 액세스 네트워크에 연결되어 있고 상기 제1 논리적 게이트웨이와 통신을 하는 소스 단말기, 및A source terminal connected to said first access network and in communication with said first logical gateway, and 상기 제2 액세스 네트워크에 연결되어 있고 상기 제2 논리적 게이트웨이와 통신을 하는 목적지 단말기를 포함하며,A destination terminal coupled to the second access network and in communication with the second logical gateway, 상기 제1 및 제2 게이트웨이는 상기 소스 단말기와 상기 목적지 단말기 사이에서 데이터 패킷을 전송하고,The first and second gateways transmit data packets between the source terminal and the destination terminal, 상기 제1 및 제2 게이트웨이는 또한 상기 소스 단말기와 상기 목적지 단말기 사이의 범용 연결성(universal connectivity)을 유지하기 위해 상기 소스 단말기와 상기 목적지 단말기에 대한 상태 정보를 교환하는 것인 시스템.Wherein the first and second gateways also exchange status information for the source terminal and the destination terminal to maintain universal connectivity between the source terminal and the destination terminal. 제1항에 있어서, 상기 상태 정보는 IP 주소-포트쌍 변경 정보(IP address-port pair change information)를 포함하는 것인 시스템.2. The system of claim 1, wherein said status information includes IP address-port pair change information. 제1항에 있어서, 상기 데이터 패킷들 각각은 세션-특정적인 정보(session-specific information)를 포함하는 가상 헤더(virtual header)를 포함하는 것인 시 스템.10. The system of claim 1, wherein each of the data packets includes a virtual header that includes session-specific information. 제3항에 있어서, 상기 가상 헤더는 상기 소스 단말기에 대한 GUID(globally unique identifier) 및 상기 목적지 단말기에 관한 목적지 정보를 더 포함하는 것인 시스템.4. The system of claim 3, wherein the virtual header further comprises a globally unique identifier (GUID) for the source terminal and destination information for the destination terminal. 제1항에 있어서, 상기 소스 단말기는 특정의 네트워크 연결과 연관된 로컬 IP 주소(local IP address), 및 상기 소스 단말기를 찾아내어 그 소스 단말기로 전송을 하기 위해 외부 네트워크들에 연결된 단말기들에 의해 사용가능한 공중-접속가능 IP 주소(publicly-reachable IP address)를 할당받는 것인 시스템.The method of claim 1, wherein the source terminal is used by local IP addresses associated with a particular network connection and terminals connected to external networks to locate and transmit the source terminal to the source terminal. The system is assigned a publicly-reachable IP address. 제1항에 있어서, 상기 소스 단말기는 새로운 네트워크에 연결할 시에 제3 논리적 게이트웨이에 등록을 하고, 그 네트워크와의 통신 경로를 설정하는 것인 시스템.The system of claim 1, wherein the source terminal registers with a third logical gateway when connecting to a new network, and establishes a communication path with the network. 제6항에 있어서, 상기 제3 논리적 게이트웨이로부터의 프록시 게이트웨이 업스트림은 상기 데이터 패킷들이 상기 제1 논리적 게이트웨이 대신에 상기 제3 논리적 게이트웨이로 라우팅되어야만 한다는 것을 복수의 다른 게이트웨이에 신호하는 것인 시스템.7. The system of claim 6, wherein a proxy gateway upstream from the third logical gateway signals a plurality of other gateways that the data packets should be routed to the third logical gateway instead of the first logical gateway. 제1항에 있어서, 상기 제1 및 제2 게이트웨이 각각은 이용가능한 액세스 네트워크들 및 상기 이용가능한 액세스 네트워크들에 연결된 단말기들에 대한 IP 주소들의 리스트를 유지하는 것인 시스템.The system of claim 1, wherein each of the first and second gateways maintains a list of available access networks and IP addresses for terminals connected to the available access networks. 제8항에 있어서, 상기 소스 단말기로부터의 패킷 흐름(packet flow)은 상기 이용가능한 액세스 네트워크들을 통해 이동하는 복수의 서브-흐름(sub-flow)로 분할되고,The method of claim 8, wherein a packet flow from the source terminal is divided into a plurality of sub-flows traveling through the available access networks, 상기 복수의 서브-흐름은 상기 목적지 단말기에 도달하기 이전에 상기 패킷 흐름으로 재조립되는 것인 시스템.The plurality of sub-flows are reassembled into the packet flow prior to reaching the destination terminal. 제8항에 있어서, 상기 소스 단말기로부터의 패킷 흐름은 복제되어 상기 이용가능한 액세스 네트워크들을 통해 멀티캐스트되고,9. The method of claim 8, wherein the packet flow from the source terminal is replicated and multicast over the available access networks, 상기 복수의 서브-흐름은 상기 목적지 단말기에 도달하기 이전에 상기 패킷 흐름으로 재조립되는 것인 시스템.The plurality of sub-flows are reassembled into the packet flow prior to reaching the destination terminal. 제1항에 있어서, 상기 시스템은 상기 제1 및 제2 게이트웨이를 포함하는 복수의 노드를 포함하고,The system of claim 1, wherein the system comprises a plurality of nodes including the first and second gateways, 상기 복수의 노드는 데이터 스트림 처리를 조정 및 제어하기 위해 시그널링 방식(signaling scheme)을 이용하는 것인 시스템.And wherein the plurality of nodes uses a signaling scheme to coordinate and control data stream processing. 제11항에 있어서, 상기 데이터 스트림 처리는 네트워크 대역폭의 효율적인 사용을 증가시키기 위해 원래의 데이터 스트림을 상기 복수의 노드를 거쳐 개별적으로 라우팅되는 복수의 서브-스트림으로 분할(split)하는 것을 포함하는 것인 시스템.12. The method of claim 11, wherein processing the data stream comprises splitting the original data stream into a plurality of sub-streams that are individually routed through the plurality of nodes to increase the efficient use of network bandwidth. System. 소스 단말기를 적어도 제1 액세스 네트워크에 연결되어 있는 제1 논리적 게이트웨이에 등록하는 단계,Registering the source terminal with at least a first logical gateway connected to the first access network, 목적지 단말기를 적어도 제2 액세스 네트워크에 연결되어 있는 제2 논리적 게이트웨이에 등록하는 단계 - 상기 제1 및 제2 논리적 게이트웨이는 제3 네트워크를 통해 통신함 -,Registering a destination terminal with at least a second logical gateway connected to a second access network, wherein the first and second logical gateways communicate over a third network; 상기 소스 단말기와 상기 목적지 단말기 사이에서 각각 상기 제1 및 제2 게이트웨이를 사용하여 데이터 패킷들을 전송하는 단계, 및Transmitting data packets between the source terminal and the destination terminal using the first and second gateways, respectively; 상기 소스 단말기와 상기 목적지 단말기 간의 범용 연결성을 유지하기 위해, 상기 제1 게이트웨이와 상기 제2 게이트웨이 사이에서, 상기 소스 단말기 및 상기 목적지 단말기에 대한 상태 정보에 관련된 상태 정보를 교환하는 단계를 포함하는 방법.Exchanging state information related to state information for the source terminal and the destination terminal between the first gateway and the second gateway, to maintain universal connectivity between the source terminal and the destination terminal. . 제13항에 있어서, 세션-특정적인 정보를 포함하는 가상 헤더를 상기 데이터 패킷들 각각에 포함시키는 단계를 더 포함하는 방법.15. The method of claim 13, further comprising including in each of the data packets a virtual header comprising session-specific information. 제14항에 있어서, 상기 소스 단말기에 대한 GUID(globally unique identifier), 및 상기 목적지 단말기에 관한 목적지 정보를 상기 가상 헤더에 포함시키는 단계를 더 포함하는 방법.15. The method of claim 14, further comprising including a globally unique identifier (GUID) for the source terminal, and destination information for the destination terminal in the virtual header. 제13항에 있어서, 특정의 네트워크 연결과 연관된 로컬 IP 주소를 상기 소스 단말기에 할당하는 단계, 및14. The method of claim 13, further comprising: assigning a local IP address associated with a particular network connection to the source terminal, and 상기 소스 단말기를 찾아내어 그 소스 단말기로 전송을 하기 위해 외부 네트워크들에 연결된 단말기들에 의해 사용가능한 공중-접속가능 IP 주소를 상기 소스 단말기에 할당하는 단계를 더 포함하는 방법.And assigning to said source terminal a public-accessible IP address usable by terminals connected to external networks for locating said source terminal and transmitting to said source terminal. 제13항에 있어서, 새로운 네트워크에 연결할 시에 상기 소스 단말기를 제3 논리적 게이트웨이에 등록하는 단계,The method of claim 13, further comprising: registering the source terminal with a third logical gateway when connecting to a new network; 상기 제3 논리적 게이트웨이와 상기 소스 단말기 간의 통신 경로를 설정하는 단계, 및Establishing a communication path between the third logical gateway and the source terminal, and 상기 제3 논리적 게이트웨이로부터의 프록시 게이트웨이 업스트림에 의해, 상기 데이터 패킷들이 상기 제1 논리적 게이트웨이 대신에 상기 제3 논리적 게이트웨이로 라우팅되어야만 한다는 것을 복수의 다른 게이트웨이에 신호하는 단계를 더 포함하는 방법.Signaling, by a proxy gateway upstream from the third logical gateway, a plurality of other gateways that the data packets should be routed to the third logical gateway instead of the first logical gateway. 제13항에 있어서, 상기 제1 및 제2 게이트웨이 각각에 의해, 이용가능한 액 세스 네트워크들 및 상기 이용가능한 액세스 네트워크들에 연결된 단말기들에 대한 IP 주소들의 리스트를 유지하는 단계를 더 포함하는 방법.The method of claim 13, further comprising maintaining, by each of the first and second gateways, a list of available access networks and IP addresses for terminals connected to the available access networks. 제18항에 있어서, 상기 소스 단말기로부터의 패킷 흐름을 상기 이용가능한 액세스 네트워크들을 통해 이동하는 복수의 서브-흐름으로 분할하는 단계, 및19. The method of claim 18, further comprising: dividing a packet flow from the source terminal into a plurality of sub-flows traveling through the available access networks, and 상기 목적지 단말기에 도달하기 이전에 상기 복수의 서브-흐름을 상기 패킷 흐름으로 재조립하는 단계를 더 포함하는 방법.Reassembling the plurality of sub-flows into the packet flow prior to reaching the destination terminal. 제18항에 있어서, 상기 소스 단말기로부터의 패킷 흐름을 복제하는 단계,19. The method of claim 18, further comprising: duplicating packet flows from the source terminal; 상기 이용가능한 액세스 네트워크들을 통해 상기 복제된 패킷 흐름을 멀티캐스트하는 단계, 및Multicasting the replicated packet flow over the available access networks, and 상기 목적지 단말기에 도달하기 이전에 상기 복수의 서브-흐름을 상기 패킷 흐름으로 재조립하는 단계를 더 포함하는 방법.Reassembling the plurality of sub-flows into the packet flow prior to reaching the destination terminal. 제13항에 있어서, 상기 제1 및 제2 게이트웨이를 포함하는 복수의 노드에서, 데이터 스트림 처리를 조정 및 제어하기 위해 시그널링 방식을 이용하는 단계를 더 포함하는 방법.15. The method of claim 13, further comprising using a signaling scheme in the plurality of nodes including the first and second gateways to coordinate and control data stream processing. 제21항에 있어서, 네트워크 대역폭의 효율적인 사용을 증가시키기 위해 원래의 데이터 스트림을 상기 복수의 노드를 거쳐 개별적으로 라우팅되는 복수의 서브- 스트림으로 분할하는 단계를 더 포함하는 방법.22. The method of claim 21, further comprising dividing the original data stream into a plurality of sub-streams that are individually routed through the plurality of nodes to increase the efficient use of network bandwidth. MTM(mobile-to-mobile) 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드로서,A network node for processing a packet comprising a mobile-to-mobile (MTM) header and an IP header. 상기 패킷의 상기 MTM 헤더를 처리하도록 구성되어 있는 제1 모듈 - 상기 MTM 헤더는 소스 MTID(mobile terminal identification) 필드 및 목적지 MTID 필드 중 적어도 하나를 포함함 -,A first module configured to process the MTM header of the packet, the MTM header comprising at least one of a source mobile terminal identification (MTID) field and a destination MTID field; 상기 패킷의 상기 IP 헤더를 처리하도록 구성되어 있는 제2 모듈, 및A second module configured to process the IP header of the packet, and 다른 네트워크 노드와 상기 패킷을 통신하도록 구성되어 있는 네트워크 인터페이스를 포함하는, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.A network node for processing a packet comprising an MTM header and an IP header, the network interface comprising a network interface configured to communicate the packet with another network node. 제23항에 있어서, 상기 제1 모듈은 OSI 참조 모델의 제2 계층과 제4 계층 사이에 위치한 프로토콜 계층에서 데이터 패킷 통신을 수행하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.24. The network of claim 23, wherein the first module performs data packet communication at a protocol layer located between a second layer and a fourth layer of an OSI reference model. Node. 제23항에 있어서, 상기 소스 MTID 필드는 소스 단말기에 대한 제1 MTID를 포함하고,24. The method of claim 23, wherein the source MTID field includes a first MTID for a source terminal, 상기 목적지 MTID 필드는 목적지 단말기에 대한 제2 MTID를 포함하며,The destination MTID field includes a second MTID for a destination terminal. 상기 MTID는 전역 식별자(global identifier)인 것인, MTM 헤더 및 IP 헤더 를 포함하는 패킷을 처리하는 네트워크 노드.Wherein the MTID is a global identifier. A network node for processing a packet comprising an MTM header and an IP header. 제23항에 있어서, 상기 MTM 헤더는 상기 패킷에서 사용되는 어드레싱 유형을 식별해주는 주소 유형 필드(address type field)를 더 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.24. The network node of claim 23, wherein the MTM header further comprises an address type field identifying an addressing type used in the packet. 제26항에 있어서, 상기 어드레싱 유형은 IP 어드레싱 및 MTID 어드레싱 중 하나인 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.27. The network node of claim 26, wherein the addressing type is one of IP addressing and MTID addressing. 제23항에 있어서, 상기 IP 헤더는 패킷이 포워드될 때 통과되는 기지국을 나타내는 BSID(base station id)를 더 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.24. The network node of claim 23, wherein the IP header further comprises a base station id (BSID) that indicates the base station passed when the packet is forwarded. 제23항에 있어서, 상기 MTM 헤더는 IP 옵션으로서 구현되는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.24. The network node of claim 23, wherein the MTM header is implemented as an IP option. 제23항에 있어서, 상기 MTM 헤더는 별도의 계층-3.5 헤더로서 구현되는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.24. The network node of claim 23, wherein the MTM header is implemented as a separate layer-3.5 header. 제23항에 있어서, 상기 패킷을 작성(construct)하도록 구성되어 있는 제3 모 듈을 더 포함하며,24. The apparatus of claim 23, further comprising a third module configured to construct the packet. 상기 제1 모듈은 상기 MTM 헤더를 상기 패킷에 도입하도록 구성되어 있는 모듈을 포함하고,The first module comprises a module configured to introduce the MTM header into the packet, 상기 제2 모듈은 상기 IP 패킷을 상기 패킷에 도입하도록 구성되어 있는 모듈을 포함하며,The second module comprises a module configured to introduce the IP packet into the packet, 상기 IP 헤더는 게이트웨이로 전달될 패킷을 지정하고,The IP header specifies a packet to be delivered to the gateway, 상기 네트워크 인터페이스는 또한 상기 패킷을 상기 게이트웨이로 전송하도록 구성되어 있는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.The network interface is further configured to send the packet to the gateway, the network node processing a packet comprising an MTM header and an IP header. 제31항에 있어서, 상기 게이트웨이의 IP 주소를 저장하도록 구성되어 있는 저장 장치를 더 포함하며,32. The apparatus of claim 31, further comprising a storage device configured to store an IP address of the gateway, 상기 네트워크 인터페이스는 또한 상기 네트워크 노드의 등록에 대한 요청 패킷(request packet for registration)을 전송하고 상기 게이트웨이로부터 응답 패킷(reply packet)을 수신하도록 구성되어 있고, 상기 응답 패킷은 상기 게이트웨이의 IP 주소를 포함하며,The network interface is also configured to send a request packet for registration of the network node and to receive a reply packet from the gateway, the response packet including the IP address of the gateway. , 상기 제1 모듈은 상기 응답 패킷으로부터 상기 게이트웨이의 IP 주소를 추출하고 상기 게이트웨이의 IP 주소를 상기 저장 장치에 저장하도록 구성되어 있는 모듈을 더 포함하고,The first module further comprises a module configured to extract an IP address of the gateway from the response packet and store the IP address of the gateway in the storage device, 상기 제2 모듈은 상기 저장 장치로부터 상기 게이트웨이의 IP 주소를 검색하 고 상기 게이트웨이의 IP 주소에 기초하여 상기 IP 헤더를 작성하도록 구성되어 있는 모듈을 더 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.The second module further comprises a module configured to retrieve an IP address of the gateway from the storage device and to create the IP header based on the gateway's IP address. Network node that handles packets. 제23항에 있어서, 상기 네트워크 인터페이스는 또한 패킷들 - 이 패킷들이 모여서 패킷 흐름을 형성함 - 을 수신하도록 구성되어 있으며, 상기 패킷들 각각은 스트라이핑-시퀀스 번호(striping-sequence number)를 전달하고,24. The apparatus of claim 23, wherein the network interface is further configured to receive packets, the packets gathering to form a packet flow, each of the packets carrying a striping-sequence number, 상기 제1 모듈은 상기 스트라이핑-시퀀스 번호에 기초하여 상기 패킷 흐름을 조립하도록 구성되어 있는 디스트라이핑 모듈(de-striping module)을 더 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.Wherein the first module further comprises a de-striping module configured to assemble the packet flow based on the striping-sequence number. Network node. 제23항에 있어서, 상기 네트워크 인터페이스는 또한 상기 패킷의 하나 이상의 멀티캐스트-변형(multicast-variant)들을 수신하도록 구성되어 있고,24. The apparatus of claim 23, wherein the network interface is further configured to receive one or more multicast-variants of the packet, 상기 제1 모듈은 상기 멀티캐스트-변형들을 상기 패킷으로 정리(collapse)하도록 구성되어 있는 모듈을 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.And the first module comprises a module configured to collapse the multicast-variants into the packet. 제23항에 있어서, 상기 네트워크 인터페이스는 또한 상기 패킷을 소스 단말기로부터 수신하도록 구성되어 있으며,24. The apparatus of claim 23, wherein the network interface is further configured to receive the packet from a source terminal, 상기 제1 모듈은, 상기 패킷의 MTM 헤더가 상기 목적지 MTID 필드를 포함하 고 있는 경우, 상기 목적지 MTID 필드에 포함된 목적지 MTID를 하나 이상의 IP 주소로 분석(resolve)하도록 구성되어 있고,The first module is configured to resolve the destination MTID included in the destination MTID field to one or more IP addresses when the MTM header of the packet includes the destination MTID field, 상기 네트워크 인터페이스는 또한 상기 패킷을 상기 하나 이상의 IP 주소로 식별되는 하나 이상의 네트워크 노드로 전송하도록 구성되어 있는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.The network interface is further configured to forward the packet to one or more network nodes identified by the one or more IP addresses. 제35항에 있어서, 상기 제2 모듈은 상기 패킷의 하나 이상의 복사본을 만들고 상기 하나 이상의 IP 주소를 상기 패킷의 상기 하나 이상의 복사본에 각각 기입하도록 구성되어 있는 모듈을 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.36. The MTM header and IP of claim 35 wherein the second module comprises a module configured to make one or more copies of the packet and write the one or more IP addresses to the one or more copies of the packet, respectively. Network node that processes packets that contain headers. 제35항에 있어서, 상기 하나 이상의 IP 주소는 상기 목적지 MTID에 의해 식별되는 목적지 네트워크 노드의 PRIP(publicly-reachable IP) 주소 및 상기 목적지 네트워크 노드의 일련의 예측된 PRIP 주소들을 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.36. The MTM of claim 35 wherein the one or more IP addresses include a public-reachable IP address of a destination network node identified by the destination MTID and a series of predicted PRIP addresses of the destination network node. Network node that processes a packet that includes a header and an IP header. 제35항에 있어서, 상기 하나 이상의 IP 주소는 상기 목적지 MTID에 의해 식별되는 목적지 단말기의 하나 이상의 LIP(local IP) 주소를 포함하고,36. The method of claim 35, wherein the one or more IP addresses comprise one or more local IP (LIP) addresses of a destination terminal identified by the destination MTID, 상기 네트워크 인터페이스는 또한 상기 패킷을 하나 이상의 액세스 네트워크를 통해 상기 목적지 단말기로 전송하도록 구성되어 있으며,The network interface is further configured to send the packet to the destination terminal via one or more access networks, 상기 목적지 단말기는 상기 하나 이상의 액세스 네트워크와 연관된 상기 하나 이상의 LIP 주소를 할당받은 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.And wherein the destination terminal has been assigned the one or more LIP addresses associated with the one or more access networks. 제38항에 있어서, 상기 패킷이 모여서 패킷 흐름을 형성하고,The method of claim 38, wherein the packets are collected to form a packet flow, 상기 네트워크 노드는 스트라이핑-시퀀스 번호를 상기 패킷에 도입하고 상기 패킷 흐름을 하나 이상의 서브-흐름으로 분할하도록 구성되어 있는 스트라이핑 모듈을 더 포함하며,The network node further comprises a striping module configured to introduce a striping-sequence number into the packet and to divide the packet flow into one or more sub-flows, 상기 네트워크 인터페이스는 또한 상기 서브-흐름들을 개별적으로 상기 하나 이상의 액세스 네트워크를 통해 상기 목적지 단말기로 전송하도록 구성되어 있는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.The network interface is further configured to send the sub-flows individually through the one or more access networks to the destination terminal. 제39항에 있어서, 상기 스트라이핑 모듈은,The method of claim 39, wherein the striping module, 상기 하나 이상의 액세스 네트워크의 대역폭 및/또는 링크 지연을 추정하도록 구성되어 있는 모듈, 및A module configured to estimate bandwidth and / or link delay of the one or more access networks, and 상기 하나 이상의 액세스 네트워크의 상기 추정된 대역폭 및/또는 링크 지연에 기초하여 상기 패킷 흐름을 상기 하나 이상의 서브-흐름으로 분할하도록 구성되어 있는 모듈을 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.A module comprising an MTM header and an IP header, comprising a module configured to divide the packet flow into the one or more sub-flows based on the estimated bandwidth and / or link delay of the one or more access networks. Network nodes that process. 제38항에 있어서, 상기 패킷을 하나 이상의 멀티캐스트-변형으로 변환하도록 구성되어 있는 변환 모듈을 더 포함하고,39. The apparatus of claim 38, further comprising a transform module configured to transform the packet into one or more multicast-modifications, 상기 네트워크 인터페이스는 또한 상기 하나 이상의 멀티캐스트-변형을 개별적으로 상기 하나 이상의 액세스 네트워크를 통해 상기 목적지 단말기로 전송하도록 구성되어 있는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.The network interface is further configured to send the one or more multicast-modifications individually through the one or more access networks to the destination terminal. 제35항에 있어서, 상기 패킷이 상기 네트워크 노드에 등록되어 있지 않은 단말기로 보내지게 되어 있는지를 판정하도록 구성되어 있는 모듈,36. The module of claim 35, configured to determine whether the packet is to be sent to a terminal not registered with the network node; 상기 패킷이 상기 네트워크 노드에 등록되어 있지 않은 단말기로 보내지게 되어 있는 것으로 판정되는 경우 상기 패킷을 버퍼링하도록 구성되어 있는 버퍼링 모듈, 및A buffering module, configured to buffer the packet when it is determined that the packet is to be sent to a terminal not registered with the network node, and 상기 네트워크 노드에 대한 상기 단말기의 등록 또는 다른 네트워크 노드에 대한 상기 단말기의 등록을 검출하도록 구성되어 있는 검출 유닛을 더 포함하며,A detection unit, configured to detect registration of the terminal with the network node or registration of the terminal with another network node, 상기 버퍼링 유닛은 또한 상기 네트워크 노드에 대한 상기 단말기의 등록이 검출될 때 상기 버퍼링된 패킷을 상기 단말기로 전송하고, 상기 다른 네트워크 노드에 대한 상기 단말기의 등록이 검출될 때 상기 버퍼링된 패킷을 상기 다른 네트워크 노드로 전송하도록 구성되어 있는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.The buffering unit also sends the buffered packet to the terminal when the registration of the terminal with the network node is detected, and sends the buffered packet to the other when the registration of the terminal with the other network node is detected. A network node for processing a packet comprising an MTM header and an IP header, configured to transmit to a network node. 제42항에 있어서, 상기 네트워크 노드는,The network node of claim 42, wherein the network node comprises: 상기 단말기의 등록 이전에 상기 단말기의 LIP 주소를 할당하도록 구성되어 있는 모듈, 및A module configured to assign a LIP address of the terminal prior to registration of the terminal, and 상기 네트워크 노드에 대한 상기 단말기의 등록이 검출될 때 상기 할당된 LIP 주소를 상기 단말기로 전송하도록 구성되어 있는 모듈을 더 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.And a module configured to send the assigned LIP address to the terminal when registration of the terminal with the network node is detected. 제35항에 있어서, 상기 패킷이 MTM 시그널링 메시지를 포함하는지를 판정하도록 구성되어 있는 목적지 모듈, 및36. The destination module of claim 35, further comprising: a destination module configured to determine whether the packet includes an MTM signaling message; 상기 패킷이 MTM 시그널링 메시지를 포함하는 것으로 판정되는 경우, 상기 MTM 시그널링 메시지에 지시된 작업들을 처리하도록 구성되어 있는 처리 모듈을 더 포함하는, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.And if it is determined that the packet contains an MTM signaling message, further comprising a processing module configured to process the operations indicated in the MTM signaling message. 제44항에 있어서, 상기 게이트웨이는 LIP(local IP) 주소, MTID 및 PRIP 주소의 튜플(tuple)을 유지하도록 구성되어 있는 연관성 저장 장치(association storage)를 더 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.45. The MTM header and IP header of claim 44, wherein the gateway further comprises an association storage configured to maintain tuples of LIP (local IP) addresses, MTIDs, and PRIP addresses. Network node processing a packet comprising a. 제44항에 있어서, 상기 패킷의 MTM 헤더는 상기 패킷의 유형을 식별해주는 시그널링/데이터 코드 필드를 더 포함하고,45. The method of claim 44, wherein the MTM header of the packet further includes a signaling / data code field that identifies the type of the packet, 상기 판정 모듈은 상기 시그널링/데이터 코드 필드에 기초하여 상기 패킷이 상기 MTM 시그널링 메시지를 포함하는지를 판정하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.And the determining module is to determine whether the packet includes the MTM signaling message based on the signaling / data code field. 제46항에 있어서, 상기 처리 모듈은, 상기 패킷이 상기 단말기의 등록에 대한 요청 메시지를 포함하는 것으로 판정되는 경우, 상기 패킷으로부터 상기 단말기의 LIP 주소를 추출하고 상기 단말기의 LIP 주소를, 상기 단말기의 MTID 및 상기 단말기의 PRIP 주소와 함께, 상기 연관성 저장 장치에 등록하도록 구성되어 있는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.47. The terminal of claim 46, wherein when it is determined that the packet includes a request message for registration of the terminal, the processing module extracts the LIP address of the terminal from the packet and obtains the LIP address of the terminal. And a MTM header and an IP header configured to register with the associative storage device, together with the MTID of the terminal and the PRIP address of the terminal. 제47항에 있어서, 상기 단말기의 등록에 응답하여, 상기 단말기로 보내지게 되어 있는 패킷들을 상기 네트워크 노드로 라우팅하도록 하나 이상의 다른 네트워크 노드에 신호하도록 구성되어 있는 모듈을 더 포함하는, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.48. The MTM header and IP of claim 47 further comprising a module configured to, in response to registration of the terminal, signal one or more other network nodes to route packets destined for the terminal to the network node. Network node that processes packets that contain headers. 제46항에 있어서, 상기 처리 모듈은,The method of claim 46, wherein the processing module, 상기 패킷이 MTID의 분석(resolution)을 위한 메시지를 포함하는 것으로 판정되는 경우, 상기 패킷으로부터 상기 MTID를 추출하도록 구성되어 있는 모듈,A module configured to extract the MTID from the packet if it is determined that the packet includes a message for resolution of an MTID; 상기 MTID를 PRIP 주소로 분석하도록 구성되어 있는 분석 모듈(resolving module), 및A resolving module configured to resolve the MTID to a PRIP address, and 응답 패킷을 작성하도록 구성되어 있는 모듈을 포함하며, 상기 응답 패킷은 상기 PRIP 주소를 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.And a module configured to compose a response packet, wherein the response packet includes the PRIP address. 제49항에 있어서, MTID 및 PRIP 주소의 매핑을 저장하도록 구성되어 있는 캐쉬를 더 포함하며,50. The system of claim 49, further comprising a cache configured to store a mapping of MTID and PRIP addresses, 상기 분석 모듈은,The analysis module, 상기 MTID를 찾기 위해 상기 캐쉬를 탐색하도록 구성되어 있는 모듈,A module configured to search the cache to find the MTID, 상기 MTID를 찾기 위해 상기 연관성 저장 장치를 탐색하도록 구성되어 있는 모듈, 및A module configured to search the associative storage device to find the MTID, and 상기 MTID의 분석을 위한 메시지를 하나 이상의 다른 네트워크 노드로 중계하도록 구성되어 있는 모듈을 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.And a module configured to relay the message for resolution of the MTID to one or more other network nodes. 제50항에 있어서, 다른 네트워크 노드로부터 상기 메시지가 수신될 때, 상기 패킷으로부터 상기 단말기의 MTID 및 PRIP 주소를 추출하도록 구성되어 있는 모듈, 및51. The module of claim 50, configured to extract the MTID and PRIP address of the terminal from the packet when the message is received from another network node, and 상기 단말기의 MTID 및 PRIP 주소를 상기 캐쉬에 등록하도록 구성되어 있는 모듈을 더 포함하는, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.And a module configured to register the MTID and PRIP address of the terminal in the cache. 제51항에 있어서, 상기 단말기의 PRIP 주소는 상기 패킷의 IP 헤더의 소스 IP 필드에서 전달되는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.52. The network node of claim 51 wherein the PRIP address of the terminal is carried in a source IP field of an IP header of the packet. 제35항에 있어서, 연결 식별자(connection identifier), 원래의 포트(original port) 및 새로운 포트(new port)의 튜플을 유지하도록 구성되어 있는 저장 장치,36. The storage device of claim 35, wherein the storage device is configured to maintain a tuple of a connection identifier, an original port, and a new port; 상기 패킷에서 소스 포트 번호를 획득하도록 구성되어 있는 모듈,A module configured to obtain a source port number in the packet, 상기 소스 포트 번호와 동일한 상기 새로운 포트를 포함하는 튜플을 검색하도록 구성되어 있는 모듈, 및A module configured to retrieve a tuple containing the new port equal to the source port number, and 상기 패킷 내의 상기 소스 포트 번호를 상기 검색된 튜플 내의 상기 원래의 포트로 대체하도록 구성되어 있는 모듈을 더 포함하는, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.And a module configured to replace the source port number in the packet with the original port in the retrieved tuple. 제23항에 있어서, 세션 튜플(session tuple)과 원래의 세션 튜플(orginal session tuple) 간의 매핑을 유지하도록 구성되어 있는 저장 장치를 더 포함하고,24. The device of claim 23, further comprising a storage device configured to maintain a mapping between a session tuple and an original session tuple, 상기 네트워크 인터페이스는 또한 다른 네트워크 노드로부터 상기 패킷을 수신하도록 구성되어 있으며,The network interface is further configured to receive the packet from another network node, 상기 제1 모듈은 상기 패킷으로 전달되는 세션 튜플을 찾기 위해 상기 저장 장치를 탐색하고 상기 패킷 내의 상기 세션 튜플을 그에 매핑된 상기 원래의 세션 튜플로 대체하도록 구성되어 있는 모듈을 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.The first module comprises a module configured to search the storage device to find a session tuple carried in the packet and replace the session tuple in the packet with the original session tuple mapped thereto. Network node that processes a packet that includes a header and an IP header. 제23항에 있어서, 상기 IP 헤더는 소스 주소와 포트 번호, 및 목적지 주소와 포트 번호를 포함하며,The terminal of claim 23, wherein the IP header includes a source address and a port number, and a destination address and a port number. 상기 네트워크 노드는,The network node, 상기 패킷이 포워딩되어질 다른 네트워크 노드를 식별하도록 구성되어 있는 모듈, 및A module configured to identify another network node to which the packet is to be forwarded, and 상기 소스 주소 및 포트 번호를 상기 네트워크 노드의 주소 및 포트 번호로 대체하고 상기 목적지 주소 및 포트 번호를 상기 다른 네트워크 노드의 주소 및 포트 번호로 대체하도록 구성되어 있는 포워딩 유닛을 더 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.And a forwarding unit, configured to replace the source address and port number with the address and port number of the network node and replace the destination address and port number with the address and port number of the other network node. Network node that processes a packet that includes a header and an IP header. 제55항에 있어서, 상기 패킷이 모여서 스트림을 형성하고,56. The apparatus of claim 55, wherein the packets are collected to form a stream, 상기 네트워크 노드는,The network node, 상기 스트림을 하나 이상의 서브-스트림으로 분할하도록 구성되어 있는 스트림 분할기(stream splitter), 및A stream splitter configured to split the stream into one or more sub-streams, and 상기 서브-스트림들 각각에 GUID(globally unique identifier)를 할당하도록 구성되어 있는 식별자 할당 유닛(identifier assignment unit)을 더 포함하는 것 인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.Further comprising an identifier assignment unit configured to assign a globally unique identifier (GUID) to each of the sub-streams. 제55항에 있어서, 상기 패킷이 모여서 스트림을 형성하고, 이 스트림은 하나 이상의 서브-스트림으로 분할되며,56. The apparatus of claim 55, wherein the packets are collected to form a stream, the stream being divided into one or more sub-streams, 상기 네트워크 인터페이스는 다른 네트워크 노드로부터 하나 이상의 착신 서브-스트림을 수신하도록 구성되어 있고,The network interface is configured to receive one or more incoming sub-streams from another network node, 상기 네트워크 노드는 상기 착신 서브-스트림들을 결합시켜 상기 스트림을 형성하도록 구성되어 있는 스트림 재결합기(stream recombiner)를 더 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.The network node further comprising a stream recombiner configured to combine the incoming sub-streams to form the stream. 제56항에 있어서, 상기 패킷이 모여서 스트림을 형성하고,57. The method of claim 56, wherein the packets are collected to form a stream, 상기 네트워크 노드는,The network node, 상기 스트림을 저장하도록 구성되어 있는 저장 장치, 및A storage device configured to store the stream, and 상기 네트워크 노드가 상기 스트림의 최초의 송신자인 것처럼 상기 저장된 스트림을 재패킷화(re-packetize)하도록 구성되어 있는 스트림 재생 유닛(stream replay unit)을 더 포함하는 것인, MTM 헤더 및 IP 헤더를 포함하는 패킷을 처리하는 네트워크 노드.An MTM header and an IP header, further comprising a stream replay unit configured to re-packetize the stored stream as if the network node is the first sender of the stream. Network node that handles packets. 패킷-기반 통신 방법으로서,A packet-based communication method, 패킷을 작성하는 단계,Creating a packet, MTM 헤더를 상기 패킷에 도입시키는 단계 - 상기 MTM 헤더는 상기 패킷의 최종 목적지를 지정함 -,Introducing an MTM header into the packet, the MTM header specifying the final destination of the packet; IP 헤더를 상기 패킷에 도입시키는 단계 - 상기 IP 헤더는 상기 패킷이 게이트웨이로 전달될 것을 지정함 -, 및Introducing an IP header into the packet, the IP header specifying that the packet is to be forwarded to a gateway; and 상기 패킷을 상기 게이트웨이로 전송하는 단계를 포함하는, 패킷-기반 통신 방법.Sending the packet to the gateway. 제59항에 있어서, 상기 패킷이 모여서 패킷 흐름을 형성하고,60. The apparatus of claim 59, wherein the packets are collected to form a packet flow, 상기 방법은,The method, 스트라이핑-시퀀스 번호를 상기 패킷에 도입시키는 단계,Introducing a striping-sequence number into the packet, 상기 패킷 흐름을 하나 이상의 서브-흐름으로 분할하는 단계, 및Dividing the packet flow into one or more sub-flows, and 상기 서브-흐름을 개별적으로 하나 이상의 액세스 네트워크를 통해 전송하는 단계를 더 포함하는 것인, 패킷-기반 통신 방법.Transmitting the sub-flows individually over one or more access networks. 제60항에 있어서, 상기 분할하는 단계는,61. The method of claim 60, wherein dividing comprises: 상기 하나 이상의 액세스 네트워크의 대역폭 및/또는 링크 지연을 추정하는 단계, 및Estimating bandwidth and / or link delay of the one or more access networks, and 상기 하나 이상의 액세스 네트워크의 상기 추정된 대역폭 및/또는 링크 지연에 기초하여 상기 패킷 흐름을 상기 하나 이상의 서브-흐름으로 분할하는 단계를 포함하는 것인, 패킷-기반 통신 방법.Dividing the packet flow into the one or more sub-flows based on the estimated bandwidth and / or link delay of the one or more access networks. 제59항에 있어서, 등록을 위해 요청 패킷을 게이트웨이로 전송하는 단계,60. The method of claim 59, further comprising: sending a request packet to a gateway for registration; 상기 게이트웨이로부터 응답 패킷을 수신하는 단계 - 상기 응답 패킷은 상기 게이트웨이의 IP 주소를 포함함 -,Receiving a response packet from the gateway, the response packet including an IP address of the gateway; 상기 응답 패킷으로부터 상기 게이트웨이의 IP 주소를 추출하는 단계, 및Extracting the IP address of the gateway from the response packet, and 상기 게이트웨이의 IP 주소를 저장하는 단계를 더 포함하며,Storing the IP address of the gateway; 상기 IP 헤더를 상기 패킷에 포함시키는 단계는 상기 게이트웨이의 상기 저장된 IP 주소에 기초하여 상기 IP 헤더를 작성하는 단계를 포함하는 것인, 패킷-기반 통신 방법.Incorporating the IP header into the packet comprises creating the IP header based on the stored IP address of the gateway. 패킷-기반 통신 방법으로서,A packet-based communication method, 패킷을 수신하는 단계 - 상기 패킷은 상기 패킷의 최종 목적지의 정보를 포함함 -,Receiving a packet, the packet including information of a final destination of the packet; 상기 최종 목적지의 정보를 하나 이상의 IP 주소로 분석하는 단계, 및Resolving the information of the final destination to one or more IP addresses, and 상기 하나 이상의 IP 주소에 의해 식별되는 하나 이상의 네트워크 노드로 상기 패킷을 전송하는 단계를 포함하는, 패킷-기반 통신 방법.Sending the packet to one or more network nodes identified by the one or more IP addresses. 제63항에 있어서, 단말기로부터 등록 요청 패킷을 수신하는 단계 - 상기 등록 패킷은 상기 단말기의 LIP(local IP) 주소를 포함함 -,64. The method of claim 63, further comprising: receiving a registration request packet from a terminal, wherein the registration packet includes a local IP (LIP) address of the terminal; 상기 패킷으로부터 상기 단말기의 LIP 주소를 추출하는 단계,Extracting the LIP address of the terminal from the packet; 상기 단말기에 대한 MTID(mobile terminal identification) 및 PRIP(publicly-reachable IP) 주소를 획득하는 단계, 및Obtaining a mobile terminal identification (MTID) and a publicly-reachable IP (PRIP) address for the terminal; and 상기 LIP 주소, 상기 단말기의 상기 MTID 및 상기 PRIP 주소를 포함하는 튜플을 유지하는 단계를 더 포함하는, 패킷-기반 통신 방법.And maintaining a tuple containing the LIP address, the MTID of the terminal, and the PRIP address. 제63항에 있어서, 상기 최종 목적지의 정보는 목적지 MTID이고,76. The method of claim 63, wherein the information of the final destination is a destination MTID, 상기 최종 목적지의 정보를 하나 이상의 IP 주소로 분석하는 단계는,Resolving the information of the final destination to one or more IP addresses, 상기 목적지 MTID에 대응하는 상기 하나 이상의 IP 주소를 검색하기 위해 MTID 및 IP 주소의 매핑을 유지하는 로컬 저장 장치에서 탐색을 수행하는 단계, 및Performing a search in a local storage device maintaining a mapping of MTID and IP address to retrieve the one or more IP addresses corresponding to the destination MTID, and 탐색이 실패하는 경우, 상기 목적지 MTID에 대응하는 상기 하나 이상의 IP 주소를 찾기 위해 하나 이상의 다른 MG에 질의하는 단계를 포함하는 것인, 패킷-기반 통신 방법.If the search fails, querying one or more other MGs to find the one or more IP addresses corresponding to the destination MTID. 제65항에 있어서, 상기 하나 이상의 다른 MG로부터 응답 메시지를 수신하는 단계 - 상기 응답 메시지는 상기 목적지 MTID에 대응하는 상기 하나 이상의 IP 주소를 포함함 -, 및67. The method of claim 65, further comprising: receiving a response message from the one or more other MGs, wherein the response message includes the one or more IP addresses corresponding to the destination MTID 상기 하나 이상의 IP 주소 및 상기 목적지 MTID를 상기 로컬 저장 장치에 저장하는 단계를 더 포함하는, 패킷-기반 통신 방법.Storing the one or more IP addresses and the destination MTID in the local storage device. 제65항에 있어서, 하나 이상의 다른 MG에 질의를 하는 단계는,66. The method of claim 65, wherein querying one or more other MGs: 질의 메시지를 상기 하나 이상의 다른 MG로 전송하는 단계 - 상기 질의 메시지는 상기 패킷을 발신한 단말기의 MTID 및 PRID를 포함함 -, 및Sending a query message to the one or more other MGs, wherein the query message includes an MTID and a PRID of the terminal that sent the packet; and 상기 단말기의 MTID 및 PRID 주소를 상기 하나 이상의 다른 MG의 로컬 저장 장치에 저장하는 단계를 포함하는 것인, 패킷-기반 통신 방법.Storing the MTID and PRID address of the terminal in the local storage of the one or more other MGs. 제63항에 있어서, 상기 패킷이 모여서 패킷 흐름을 형성하고,66. The apparatus of claim 63, wherein the packets are collected to form a packet flow, 상기 방법은,The method, 상기 패킷에 스트라이핑-시퀀스 번호를 도입하는 단계,Introducing a striping-sequence number into the packet, 상기 패킷 흐름을 하나 이상의 서브-흐름으로 분할하는 단계, 및Dividing the packet flow into one or more sub-flows, and 상기 서브-흐름들을 하나 이상의 라우팅 경로를 통해 개별적으로 전송하는 단계를 더 포함하는 것인, 패킷-기반 통신 방법.Transmitting the sub-flows individually over one or more routing paths. 제68항에 있어서, 상기 분할하는 단계는,The method of claim 68, wherein the dividing comprises: 상기 하나 이상의 액세스 네트워크의 대역폭 및/또는 링크 지연을 추정하는 단계, 및Estimating bandwidth and / or link delay of the one or more access networks, and 상기 하나 이상의 라우팅 경로의 상기 추정된 대역폭 및/또는 링크 지연에 기초하여 상기 패킷 흐름을 상기 하나 이상의 서브-흐름으로 분할하는 단계를 포함하는 것인, 패킷-기반 통신 방법.Dividing the packet flow into the one or more sub-flows based on the estimated bandwidth and / or link delay of the one or more routing paths. 제63항에 있어서, 상기 패킷을 하나 이상의 멀티캐스트-변형으로 변환하는 단계, 및64. The method of claim 63, further comprising: transforming the packet to one or more multicast-modifications, and 상기 하나 이상의 멀티캐스트-변형을 하나 이상의 라우팅 경로를 통해 개별적으로 전송하는 단계를 더 포함하는, 패킷-기반 통신 방법.Separately transmitting the one or more multicast-modifications through one or more routing paths. 제63항에 있어서, 상기 패킷은 목적지 주소 및 포트 번호를 포함하고,66. The apparatus of claim 63, wherein the packet comprises a destination address and a port number, 상기 방법은,The method, 상기 패킷이 포워딩될 네트워크 노드를 식별하는 단계,및Identifying a network node to which the packet is to be forwarded, and 상기 목적지 주소 및 포트 번호를 상기 네트워크 노드의 주소 및 포트 번호로 대체하는 단계를 더 포함하는 것인, 패킷-기반 통신 방법.Replacing the destination address and port number with the address and port number of the network node. 제71항에 있어서, 상기 패킷이 모여서 스트림을 형성하고,72. The method of claim 71 wherein the packets are collected to form a stream, 상기 방법은,The method, 상기 스트림을 하나 이상의 서브-스트림으로 분할하는 단계,Dividing the stream into one or more sub-streams, 상기 서브-스트림들 각각에 GUID(globally unique identifier)를 할당하는 단계, 및Assigning a globally unique identifier (GUID) to each of the sub-streams, and 상기 서브-스트림들을 하나 이상의 라우팅 경로를 통해 개별적으로 포워드하는 단계를 더 포함하는 것인, 패킷-기반 통신 방법.Forwarding the sub-streams individually through one or more routing paths. 제71항에 있어서, 상기 패킷이 모여서 스트림을 형성하고, 이 스트림은 하나 이상의 서브-스트림으로 분할되며, 상기 서브-스트림은 상기 서브-스트림을 식별해 주는 GUID(globally unique identifier)를 포함하고,72. The method of claim 71, wherein the packets gather to form a stream, the stream being divided into one or more sub-streams, the sub-streams comprising a globally unique identifier (GUID) that identifies the sub-streams, 상기 방법은,The method, 하나 이상의 착신 서브-스트림을 수신하는 단계, 및Receiving one or more incoming sub-streams, and 상기 GUID에 기초하여 상기 착신 서브-스트림들을 결합시켜 상기 스트림을 형성하는 단계를 더 포함하는 것인, 패킷-기반 통신 방법.Combining the incoming sub-streams based on the GUID to form the stream. 제63항에 있어서, 상기 패킷은 소스 포트 번호 필드를 포함하고,66. The apparatus of claim 63, wherein the packet comprises a source port number field, 상기 방법은,The method, 튜플들을 유지하는 단계 - 상기 튜플들 각각은 세션 식별자, 원래의 포트 번호 및 새로운 포트 번호를 포함함 -,Maintaining tuples, each of the tuples including a session identifier, an original port number and a new port number; 상기 소스 포트 번호 필드에 있는 값과 동일한 새로운 포트 번호를 갖는 튜플을 검색하는 단계, 및Retrieving a tuple having a new port number equal to the value in the source port number field, and 상기 소스 포트 번호 필드에 있는 값과 동일한 새로운 포트 번호를 갖는 튜플이 발견되는 경우, 상기 튜플 내의 원래의 포트 번호를 상기 패킷의 소스 포트 번호 필드에 덮어쓰기(overwrite)하는 단계를 더 포함하는 것인, 패킷-기반 통신 방법.If a tuple having a new port number equal to the value in the source port number field is found, overwriting the original port number in the tuple with the source port number field of the packet. Packet-based communication method. 제74항에 있어서, 상기 튜플들을 유지하는 단계는,75. The method of claim 74, wherein maintaining the tuples comprises: 세션 식별자 및 소스 포트 번호를 포함하는 더미 패킷을 수신하는 단계,Receiving a dummy packet comprising a session identifier and a source port number, 상기 더미 패킷의 세션 식별자와 동일한 세션 식별자를 갖는 튜플을 검색하 는 단계,Searching for a tuple having a session identifier equal to the session identifier of the dummy packet; 상기 더미 패킷의 세션 식별자와 동일한 세션 식별자를 갖는 튜플이 발견되는 경우, 상기 튜플의 새로운 포트 번호를 상기 더미 패킷의 소스 포트 번호로 갱신하는 단계, 및If a tuple having the same session identifier as the session identifier of the dummy packet is found, updating the new port number of the tuple with the source port number of the dummy packet, and 상기 더미 패킷의 세션 식별자와 동일한 세션 식별자를 갖는 튜플이 발견되지 않는 경우, 상기 더미 패킷의 세션 식별자 및 소스 포트 번호에 기초하여 새로운 튜플을 생성하는 단계를 포함하는 것인, 패킷-기반 통신 방법.If a tuple having a session identifier equal to the session identifier of the dummy packet is not found, generating a new tuple based on the session identifier and source port number of the dummy packet. 제1 게이트웨이로부터 신호를 수신하는 단계 - 상기 신호는 단말기의 상기 제1 게이트웨이로의 연결 손실(lost connection)을 나타냄 -,Receiving a signal from a first gateway, the signal indicating a lost connection of a terminal to the first gateway; 상기 신호의 수신에 응답하여, 상기 단말기로 보내지게 되어 있는 패킷을 제2 게이트웨이에서 버퍼링하는 단계,In response to receiving the signal, buffering a packet to be sent to the terminal at a second gateway, 상기 제2 게이트웨이에 대한 상기 단말기의 등록을 검출하는 단계, 및Detecting registration of the terminal with the second gateway, and 상기 제2 게이트웨이에 대한 상기 단말기의 등록을 검출한 것에 응답하여, 상기 버퍼링된 패킷을 상기 제2 게이트웨이로부터 상기 단말기로 전송하는 단계를 포함하는 방법.In response to detecting registration of the terminal with the second gateway, sending the buffered packet from the second gateway to the terminal. 제76항에 있어서, 상기 제2 게이트웨이는 상기 제1 게이트웨이와 동일하거나 상기 제1 게이트웨이와 분리되어 있는 것인 방법.77. The method of claim 76, wherein the second gateway is the same as or separate from the first gateway. 제76항에 있어서, 제3 게이트웨이로부터 제2 신호를 수신하는 단계 - 상기 제2 신호는 상기 제3 게이트웨이에 대한 상기 단말기의 등록을 나타냄 -, 및77. The method of claim 76, further comprising: receiving a second signal from a third gateway, the second signal indicating registration of the terminal with the third gateway; 상기 제2 신호의 수신에 응답하여, 상기 제2 게이트웨이에서 상기 버퍼링된 패킷을 폐기(drop)시키는 단계를 더 포함하는 방법.In response to receiving the second signal, dropping the buffered packet at the second gateway. 제13항 내지 제78항 중 어느 한 항의 방법을 수행하는 컴퓨터-실행가능 명령어들을 저장하는 컴퓨터-판독가능 매체.79. A computer-readable medium storing computer-executable instructions for performing the method of any one of claims 13-78. 프로토콜 계층 아키텍처로서,Protocol layer architecture, 패킷의 MTM 헤더를 처리하는 MTM 프로토콜 계층 - 상기 MTM 헤더는 상기 패킷의 최종 목적지를 지정하는 목적지 MTID 필드를 포함함 -, 및An MTM protocol layer that processes an MTM header of a packet, the MTM header including a destination MTID field specifying a final destination of the packet; and 상기 MTM 계층 아래에 위치하여, 상기 패킷의 IP 헤더를 처리하는 네트워크 계층 - 상기 IP 헤더는 상기 패킷이 전달될 그 다음 네트워크 노드를 지정하는 목적지 IP 주소 필드를 포함함 - 을 포함하는, 프로토콜 계층 아키텍처.A protocol layer architecture located below the MTM layer, the network layer processing an IP header of the packet, the IP header including a destination IP address field specifying the next network node to which the packet is to be forwarded. . MTM 프로토콜 패킷으로서,As an MTM protocol packet, 네트워크 노드에 대한 적어도 하나의 GUID(globally unique identifier)를 포함하는 MTM 헤더 - 상기 GUID는 상기 네트워크 노드가 한 액세스 네트워크로부터 다른 액세스 네트워크로 이동할 때에도 변하지 않은 채로 있음 -, 및An MTM header containing at least one globally unique identifier (GUID) for a network node, the GUID remaining unchanged when the network node moves from one access network to another; and 목적지 IP 주소 필드를 포함하는 IP 헤더 - 상기 목적지 IP 주소 필드 내의 값은 상기 패킷이 라우팅 경로를 따라 이동하는 동안 변동됨 - 를 포함하는, MTM 프로토콜 패킷.An IP header including a destination IP address field, wherein a value in the destination IP address field varies while the packet travels along a routing path. 제81항의 MTM 프로토콜 패킷을 나타내는, 반송파로 구현된 컴퓨터 데이터 신호.A computer data signal implemented with a carrier representing the MTM protocol packet of claim 81.
KR1020087008773A 2005-09-13 2006-09-13 System and method for providing packet connectivity between heterogeneous networks, and component and packet therefor KR20080058382A (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US71681505P 2005-09-13 2005-09-13
US60/716,815 2005-09-13
US77472006P 2006-02-16 2006-02-16
US60/774,720 2006-02-16
US79024006P 2006-04-06 2006-04-06
US60/790,240 2006-04-06

Publications (1)

Publication Number Publication Date
KR20080058382A true KR20080058382A (en) 2008-06-25

Family

ID=37865548

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087008773A KR20080058382A (en) 2005-09-13 2006-09-13 System and method for providing packet connectivity between heterogeneous networks, and component and packet therefor

Country Status (2)

Country Link
KR (1) KR20080058382A (en)
WO (2) WO2007033363A2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010147605A1 (en) * 2009-06-19 2010-12-23 Zte (Usa) Inc. Internetworking techniques for transferring packets between source and target serving gateways
WO2012165794A2 (en) * 2011-06-03 2012-12-06 에스케이 텔레콤주식회사 System and method for simultaneous data transmission service in heterogeneous network
KR101484157B1 (en) * 2010-05-19 2015-01-20 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. Digital multi-media broadcast (dmb) having efficient data transmission for limiting access in a transport stream packet comprising the program association table (pat)
US9363735B2 (en) 2011-06-03 2016-06-07 Sk Telecom Co., Ltd. Device and method for providing simultaneous data transmission service over heterogeneous networks
WO2016178458A1 (en) * 2015-05-05 2016-11-10 엘지전자 주식회사 Method for processing request message in wireless communication system and apparatus therefor
US9525628B2 (en) 2013-12-26 2016-12-20 Huawei Technologies Co., Ltd. Packet forwarding method and system

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE502464T1 (en) 2007-07-06 2011-04-15 Alcatel Lucent METHOD FOR ROUTING A TRAFFIC FLOW IN A RADIO ACCESS NETWORK AND NODES FOR IMPLEMENTING SUCH METHOD
EP2111011A1 (en) 2008-04-16 2009-10-21 Thomson Telecom Belgium Device and method for sharing files
KR100949280B1 (en) 2008-04-16 2010-03-25 포항공과대학교 산학협력단 Method for controlling interface buffer during hand-over in network interface
US20120188949A1 (en) * 2011-01-20 2012-07-26 Motorola-Mobility, Inc. Wireless communication device, wireless communication system, and method of routing data in a wireless communication system
US8942193B2 (en) 2011-04-08 2015-01-27 Blackberry Limited Routing different subsets of an internet protocol flow over different points of attachment
CN105704759A (en) * 2011-05-27 2016-06-22 上海华为技术有限公司 Data stream transmission method and network equipment
US9471538B2 (en) 2012-09-25 2016-10-18 Qualcomm Technologies, Inc. Network on a chip socket protocol
CN104685480B (en) * 2012-09-25 2017-07-14 高通科技公司 Network on chip socket protocol
PL2945415T3 (en) 2014-05-15 2021-12-13 Deutsche Telekom Ag Method for real time traffic management in a mobile communication network, a mobile communication network and a multipath combining gateway
CN110225074B (en) * 2019-01-04 2023-04-14 国网浙江省电力有限公司 Communication message distribution system and method based on equipment address domain
CN114666072B (en) * 2020-12-04 2023-06-02 中国联合网络通信集团有限公司 Illegal switching point detection method, server, platform, system and storage medium
CN115603921A (en) * 2021-06-24 2023-01-13 支付宝(杭州)信息技术有限公司(Cn) Method and device for private computing multi-network resource cooperation
US11729588B1 (en) 2021-09-30 2023-08-15 T-Mobile Usa, Inc. Stateless charging and message handling

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745837A (en) * 1995-08-25 1998-04-28 Terayon Corporation Apparatus and method for digital data transmission over a CATV system using an ATM transport protocol and SCDMA
US6434139B1 (en) * 1999-08-10 2002-08-13 Lucent Technologies Inc. Method for optimizing mobile wireless communications routed across plural interconnected networks
US6668167B2 (en) * 2000-01-26 2003-12-23 Mcdowell Mark Method and apparatus for sharing mobile user event information between wireless networks and fixed IP networks
US9143477B2 (en) * 2000-10-25 2015-09-22 Syniverse Icx Corporation Address recognition database
US6674758B2 (en) * 2002-06-06 2004-01-06 Clinton Watson Mechanism for implementing voice over IP telephony behind network firewalls
GB2395091A (en) * 2002-11-06 2004-05-12 Nokia Corp Connection set-up to facilitate global mobile communications roaming over a packet switching network
CN1301611C (en) * 2003-01-21 2007-02-21 三星电子株式会社 Gateway for supporting communications between network devices of different private networks
US6862446B2 (en) * 2003-01-31 2005-03-01 Flarion Technologies, Inc. Methods and apparatus for the utilization of core based nodes for state transfer
JP4269226B2 (en) * 2003-11-14 2009-05-27 ソニー株式会社 Information communication system and method, information processing apparatus and method, program, and recording medium

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8243686B2 (en) 2009-06-19 2012-08-14 Zte (Usa) Inc. Internetworking techniques for transferring packets between source and target serving gateways
WO2010147605A1 (en) * 2009-06-19 2010-12-23 Zte (Usa) Inc. Internetworking techniques for transferring packets between source and target serving gateways
US8873511B2 (en) 2009-06-19 2014-10-28 Zte (Usa) Inc. Internetworking techniques for transferring packets between source and target serving gateways
US9179370B2 (en) 2009-06-19 2015-11-03 Zte (Usa) Inc. Internetworking techniques for transferring packets between source and target serving gateways
US9307287B2 (en) 2010-05-19 2016-04-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Transport-stream provider, DAB signal provider, transport stream analyzer, DAB receiver, method, computer program, and transport stream signal
US9986287B2 (en) 2010-05-19 2018-05-29 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Transport stream provider, DAB signal provider, transport stream analyzer, DAB receiver, method, computer program, and transport stream signal
KR101484157B1 (en) * 2010-05-19 2015-01-20 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. Digital multi-media broadcast (dmb) having efficient data transmission for limiting access in a transport stream packet comprising the program association table (pat)
WO2012165794A3 (en) * 2011-06-03 2013-03-28 에스케이 텔레콤주식회사 System and method for simultaneous data transmission service in heterogeneous network
US9338738B2 (en) 2011-06-03 2016-05-10 Sk Telecom Co., Ltd. System, device and method for providing simultaneous data transmission service based on heterogeneous networks
US9363735B2 (en) 2011-06-03 2016-06-07 Sk Telecom Co., Ltd. Device and method for providing simultaneous data transmission service over heterogeneous networks
WO2012165794A2 (en) * 2011-06-03 2012-12-06 에스케이 텔레콤주식회사 System and method for simultaneous data transmission service in heterogeneous network
US9525628B2 (en) 2013-12-26 2016-12-20 Huawei Technologies Co., Ltd. Packet forwarding method and system
WO2016178458A1 (en) * 2015-05-05 2016-11-10 엘지전자 주식회사 Method for processing request message in wireless communication system and apparatus therefor

Also Published As

Publication number Publication date
WO2007033238A3 (en) 2007-05-31
WO2007033238A2 (en) 2007-03-22
WO2007033363A2 (en) 2007-03-22
WO2007033363A3 (en) 2007-07-05

Similar Documents

Publication Publication Date Title
KR20080058382A (en) System and method for providing packet connectivity between heterogeneous networks, and component and packet therefor
EP1316174B1 (en) Methods and apparatus for supporting mobility within a radio access network
US8064404B2 (en) Method of subnet roaming within a network
US7080151B1 (en) Method and system for mobile IP home agent redundancy by using home agent control nodes for managing multiple home agents
JP4431112B2 (en) Terminal and communication system
US7443786B2 (en) Apparatus and methods for home agent resiliency for mobile IPv4
JP4088540B2 (en) Packet communication system, communication network, and IP address selection method in mobile node
JP2004129165A (en) Communication system, mobile terminal, transfer device, and communication method
WO2010139115A1 (en) Method and device for multiple rendezvous points processing multicast services of mobile multicast source jointly
Dreibholz et al. A new scheme for IP-based Internet-mobility
US20040141477A1 (en) Method, system and mobile host for mobility pattern based selection of a local mobility agent
JP2007214742A (en) Communication repeater, wireless terminal, and computer program
JP2008541516A (en) Communication method between IPv6 communicating node and mobile IPv6 node, and communicating node proxy gateway
Wang et al. Software-defined mobility support in IP networks
Kuntz et al. Multiple mobile routers in nemo: How neighbor discovery can assist default router selection
Chen et al. Fast link layer and intra-domain handoffs for mobile Internet
Milner et al. Performance and scalability of mobile wireless base-station-oriented networks
JP3928443B2 (en) Mobile communication system
KR101556031B1 (en) Method and system of distributed mobility control on network
Estrela et al. Design and evaluation of etimip-an overlay micro-mobility architecture based on timip
Huang et al. A comparison between SIP and network layer mobility management protocols in IP-based wireless networks
Halsana Implementation of Cellular IP and Its Performance Analysis
Lee et al. MobCast: overlay architecture for seamless ip mobility using scalable anycast proxies
JP2004328223A (en) Mobile communication system, communication terminal, communication path switching method and program for communication path switching
Qiu et al. A distributed mapping system to support mobility in identifier/locator separation architecture

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid