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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing 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/08—Mobility data transfer
- H04W8/14—Mobility data transfer between corresponding nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2567—NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1043—Gateway controllers, e.g. media gateway control protocol [MGCP] controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W92/00—Interfaces specially adapted for wireless communication networks
- H04W92/02—Inter-networking arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/16—Gateway arrangements
Abstract
Description
관련 출원의 상호 참조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
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
일반적으로 말하면, 각각의 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
헤더 길이 필드(205)는 비트 또는 바이트 단위로 MTM 헤더(200)의 길이를 지정할 수 있다. 이는 헤더(200)를 나머지 데이터로부터 분리시키기 위해 MG 또는 MT에 의해 사용될 수 있다. 누락된 필드(omitted fields) 필드(210)는 누락된 헤더(200) 내의 필드를 지정할 수 있다. 헤더 체크섬 필드(215)는 헤더(200)의 무결성을 검사하는 데 사용될 수 있다. 이것은 IP 헤더의 무결성을 검사하기 위해 IP에서 사용되는 방법과 유사할 수 있다.The
소스 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
주소 유형 비트(230)는 헤더(200)를 생성한 소스 MT에 의해 어떤 유형의 어 드레싱이 사용되는지를 식별해줄 수 있다. 이는, 예를 들어, IP 어드레싱 또는 MTID 어드레싱을 지정할 수 있다. IP 어드레싱은, 헤더를 포함하는 패킷이 패킷의 IP 헤더에 열거되어 있는 목적지 IP 필드로 포워딩되어야 한다는 것을 헤더를 수신하는 MG에 신호한다. MTID 어드레싱은, 목적지 MT의 PRIP를 소스 MT가 모르고 있으며 MG가 목적지 MTID를 사용하여 목적지 MT의 PRIP 주소를 결정할 필요가 있다는 것을 MG에 신호한다.The
연쇄 비트(235)는 MTM 패킷이 적절한 해석을 위해 이후의 패킷(들)과 결합되어야 하는지를 나타내는 데 사용될 수 있다. 연결 ID 필드(240)는 패킷에 포함된 데이터를 발생한 전송 계층 세션을 식별해줄 수 있다. 이는 MT 또는 MG로부터 전송된 데이터가 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)
도 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 헤더(200)가 IP 헤더(310)에서의 옵션 필드(325)에 삽입되어 있는 경우, MTM 헤더(200)의 크기가 옵션 필드(325)에 적합하도록 될 수 있다는 것을 잘 알 것이다. 옵션 필드의 크기는 통상 40 바이트이지만, 1 바이트가 옵션 유형 필드를 위해 사용되고, 1 바이트가 옵션 길이 필드를 위해 사용되며, 따라서 단지 38 바이트만이 이용가능하다. 그에 부가하여, 다른 옵션들이 사용되는 경우(예를 들어, 타임스탬프), MTM 헤더(200)에 이용가능한 공간이 더 제한될 수 있다. 일 실시예에서, MTM 헤더(200)가 옵션 필드(325)에 배치되어 있는 경우, 다른 옵션들의 사용이 배제될 수 있다.It will be appreciated that when the
비록 도시되어 있지는 않지만, 옵션 필드가 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 헤더의 크기가 얼마이든지간에, 옵션 길이 필드에 바이트 단위의 길이가 열거될 수 있다.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
어떤 실시예들에서, 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
디폴트 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
로컬 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
비록 도시되어 있지는 않지만, 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
일 실시예에서, 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,
시그널링: 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
블록(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
그렇지만, 블록(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
블록(520)에 도시된 바와 같이, 질의 메시지가 네트워크 전반에 걸쳐 전파될 때, MG가 질의되는 MT의 MTID 및 PRIP를 포함하고 있지 않더라도, 질의하는 MT의 NTID 및 PRIP는 질의 메시지를 수신하는 MG의 MTID 테이블에 저장될 수 있다.As shown in
블록(525)에서, 질의되는 MT의 PRIP 및 MTID가 MG 네트워크에 저장되어 있는지가 판정된다. 일 실시예에서, MG 네트워크로부터의 응답의 수신를 위한 시간 제한을 부과할 수 있는 이 판정은 로컬 MG에 의해 행해질 수 있다. 시간 제한이 초과된 경우, 로컬 MG는 질의되는 MT의 MTID 및 PRIP 주소가 MG 네트워크에 저장되어 있지 않은 것으로 가정할 수 있으며, 프로세스(500)는 블록(530)으로 진행하여, 로컬 MG가 이름 실패 통지(name failure notification)를 질의하는 MT로 전송할 수 있다.In
그렇지만, 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
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,
비록 도시되어 있지는 않지만, 목적지 MT의 MTID 및 PRIP가, MT에 포함되어 있었는지, DNS 질의를 통해 분석되었는지, 또는 프로세스(500)를 통해 분석되었는지에 상관없이, 이제 프로세스(500)를 개시한 애플리케이션에 할당된 전송 계층 소스 포트와 연관될 수 있다는 것을 잘 알 것이다.Although not shown, the application that initiated the
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
프로세스(600)는 블록(610)으로 계속되어, 수신된 패킷의 IP 헤더에서의 소스 IP 주소(이 시점에서는 소스 MT의 LIP 주소)가, 예를 들어, 로컬 MG의 MTID 테이블을 참조함으로써, 소스 MT의 PRIP 주소와 비교된다. 소스 IP 주소가 PRIP 주소와 동일한 경우, 프로세스(600)는 블록(620)으로 진행한다(예를 들어, 소스 MT가 그 자신의 PR 노드임). 그렇지 않은 경우, 프로세스(600)는 블록(615)으로 진행하여, 블록(620)으로 진행하기 이전에 소스 IP 주소가 소스 MT의 PRIP 주소로 설정된다.
블록(620)에서, 수신된 패킷이 IP 주소형인지 MTID 주소형인지에 관한 판정이 행해진다. 패킷이 IP 주소형인 경우(즉, MTM 헤더에서의 주소 유형 필드가 IP 어드레싱을 나타내는 값으로 설정되어 있는 경우), 프로세스(600)는 블록(655)으로 진행하여, 패킷이 로컬 MG로부터 외부 IP 네트워크로 전송된다.At
그렇지만, 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,
블록(640)에서, 이름 질의가 성공적이었는지의 판정이 행해진다. 일 실시예에서, 이 판정은 MG 네트워크로부터의 응답의 수신을 위한 시간 제한을 부과할 수 있는 로컬 MG에 의해 행해질 수 있다. 시간 제한이 초과되는 경우, 로컬 MG는 질의되는 MT의 MTID 및 PRIP 주소가 MG 네트워크에 캐싱되어 있지 않은 것으로 가정할 수 있고, 프로세스(600)는 블록(650)으로 진행하여, 패킷이 폐기된다. 비록 도 6의 실시예에 도시되어 있지는 않지만, 어떤 실시예들에서, 로컬 MG는 또한 실패 통지를 소스 MT로 전송할 수 있다.At
그렇지만, 이름 질의가 성공적이었고 로컬 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
블록(645)에서 IP 헤더에 있는 목적지 IP 주소가 목적지 MT의 PRIP 주소로 대체된 경우, 프로세스(600)는 블록(655)으로 진행하여, IP 패킷이 외부 IP 네트워 크로 전송된다.If at
데이터 전송: (로컬 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.
프로세스(700)는, 블록(705)으로 나타낸 바와 같이, 로컬 MG가 그의 외부 인터페이스의 IP 주소로 어드레싱되는 IP 패킷을 수신할 때 시작한다. 패킷을 수신한 후에, 프로세스(700)는 블록(710)으로 진행하여, 목적지 MT가 현재 로컬 MG에 등록되어 있는지의 판정이 행해질 수 있다. 이 판정은 패킷의 MTM 헤더로부터 목적지 MTID를 추출하고 이를 MG에 현재 등록되어 있는 MT의 MTID와 비교함으로써 수행될 수 있다. 일치하는 것이 발견되는 경우, 목적지 MT는 현재 로컬 MG에 등록되는 것이며, 프로세스(700)는 블록(740)으로 진행하여, 목적지 MT의 LIP가 IP 헤더의 목적지 IP 필드에 삽입된다.
그렇지만, 일치하는 것이 발견되지 않는 경우, 목적지 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
블록(725)에서, 목적지 MT가 재등록했는지의 판정이 행해진다. 로컬 MG가 패킷을 수신한 이후 할당된 시간 내에 목적지 MT가 로컬 MG에 재등록하지 못하였거나 이름 질의가 성공하지 못한 경우, 블록(750)에 나타낸 바와 같이, 블록(715)에 서 저장된 패킷이 폐기되고, 프로세스(700)가 종료된다. 그렇지만, 목적지 MT가 할당된 시간 내에 로컬 MG에 재등록하였거나 이름 질의가 성공적인 경우, 프로세스(700)는 블록(730)으로 진행하여, 목적지 MT가 로컬 MG에 등록되어 있는지에 관한 판정이 행해진다.At
목적지 MT가 로컬 MG에 등록되어 있는 경우, 프로세스(700)는 블록(740)으로 진행하여, 목적지 MT의 LIP가 IP 헤더에서의 목적지 IP 필드에 삽입되고, 이어서 블록(745)으로 진행하여, 패킷이 MG로부터 목적지 MT로 전송된다.If the destination MT is registered with the local MG, the
목적지 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
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,
도 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
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
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)는 그의 PR MG(940) 자체 및 그의 새로운 업스트림 프록시 MG(930)를 선택한다. MT의 LIP 및 PRIP 주소 변화가 업스트림 프록시 MG(930)로 통지되고 그에 의해 검출될 수 있다. 이 변화에 관한 정보가 업스트림 프록시 MG(930)에 상태 정보로서 전송될 수 있다.In this embodiment, the
먼저, 다운스트림 재라우팅에 대해 기술한다. 업스트림 프록시 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
일 실시예에서, 조기 다운스트림 재라우팅(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
업스트림 재라우팅(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
그 다음에, 오버레이 재라우팅(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
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
일 실시예에서, 핸드오프는 예상적(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,
이제 도 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
그에 부가하여, 일 실시예에서 각각의 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
일 실시예에서, 블록(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
새로운 로컬 MG가 예측된 MG들 중 하나인지 여부에 상관없이, 프로세스(1000)는 이어서 블록(1045)으로 진행하여, 버퍼링된 패킷이 새로운 로컬 MG로부터 MT로 전송된다. 그렇지만, 새로운 로컬 MG가 발견되지 않고 시간 제한에 도달되는 경우, 프로세스(1000)는 블록(1035)으로 진행하여, 모든 예측된 MG들 및 이전의 로컬 MG에서 패킷들이 폐기될 수 있다.Regardless of whether the new local MG is one of the predicted MGs,
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.
프로세스(1100)는 블록(1115)으로 계속하여, 예측된 MG들 중 하나가 상실된 MT에 대한 프록시 MT로서 구성된다. 예측된 MG를 프록시 MT로서 구성하는 데 필요한 정보는 로컬 MG로부터 예측된 MG로 전송될 수 있다. 예를 들어, 로컬 MG는 상실된 MT와 연관되어 있는 예측된 MG로 MTID, 마지막 LIP 주소, 마지막 PRIP 주소 및 다양한 AN 계정 정보를 전송할 수 있다. 이 리스트는 단지 예시적인 것에 불과한데, 그 이유는 선택된 예측된 MG를 프록시 MT로서 설정하는 데 필요한 정보가 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,
프로세스(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
실제 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),
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
그렇지만, 이러한 연결의 다른쪽 단부에 있는 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
따라서, 본 발명의 한 측면은, 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,
일 실시예에서, MT(1205)는, 상태 정보의 하나의 구성요소일 수 있는 conn_id, 또는 보다 상세하게는 MT에서 그 연결을 일의적으로 식별해주는 정수를 신호하기 위해, 더미 MTM 패킷을 그의 열린 연결들 각각의 패킷 스트림에 삽입할 수 있다. conn_id는 하나의 구성요소로서, 보다 상세하게는, 연결을 위한 불변 식별자로서 상태 정보를 구성할 수 있다. 다음과 같은 점을 제외하고는, 연결을 위한 각각의 이러한 더미 패킷은 그의 계층 4(UDP, TCP, 기타) 헤더에서 그 연결의 MTM 데이터 패킷의 것과 동일한 목적지 및 소스 주소-포트 조합을 전달한다: 1) 이것이 conn_id 유형 시그널링 패킷이라는 것을 나타내기 위해 S/D 코드가 설정될 수 있고, 2) 그의 계층 4 페이로드가 실제의 연결 id를 포함한다는 것.In one embodiment,
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
손실에 대한 탄력성(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
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 패킷을 폐기한다.
로컬적으로 등록된 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
본 발명에 따라 구현된 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.
더미 패킷은 연결 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,
그렇지만, 연결 id가 현재 MG에 등록되어 있는 경우, 프로세스(1300)는 블록(1315)으로부터 블록(1320)으로 진행하여, 패킷에서의 소스 포트가 conn_id 테이블에서의 연결 id와 연관되어 있는 새로운 포트 필드와 비교된다. 새로운 포트 필드가 패킷 내부의 소스 포트와 일치하는 경우, 소스 포트가 변경되지 않았고 연결 id에 대한 테이블 엔트리가 갱신될 필요가 없는 것으로 가정될 수 있다. 프로세스(1300)는 이어서 블록(1335)으로 진행하여, 패킷이 폐기된다.However, if the connection id is currently registered with the MG, the
그렇지만, 블록(1320)에서, conn_id 테이블에서의 연결 id와 연관되어 있는 새로운 포트 필드가 패킷에서의 소스 포트와 일치하지 않는 경우, 프로세스(1300)는 블록(1325)으로 진행하여, 연결 id에 대한 conn_id 테이블 엔트리가 갱신된다. 블록(1325)에서, new_port 필드가 패킷에서의 소스 포트로 대체된다. 프로세스(1300)는 이어서 블록(1335)으로 진행하여, 패킷이 폐기된다.However, at
이제 다시 블록(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,
그렇지만, 블록(1340)에서 일치하는 테이블 엔트리가 발견되는 경우, 프로세스(1300)는 블록(1345)으로 진행하여, 패킷에서의 소스 포트가 블록(1340)에서 new_port로서 동일한 연결 id와 연관된 테이블 엔트리에서의 orig_port로 대체될 수 있다. 일 실시예에서, 패킷에서의 소스 포트는 원래의 포트로 대체될 수 있는 반면, 다른 실시예들에서,이는 소스 포트가 orig_port와 일치하지 않을 때에만 대체될 수 있다. 이 실시예와 상관없이, 프로세스(1300)는 블록(1355)으로 진행하여, 패킷이 이어서 MG에 의해 외부 IP 네트워크로 포워드된다.However, if a matching table entry is found at
상기한 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
상기한 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
도 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,
일 실시예에서, 스트림(1580)의 각각의 패킷이 시퀀스 번호를 전달하는 것으로 가정된다. 스트림(1580)이 TCP 또는 RTP 멀티미디어 스트림인 경우, TCP 또는 RTP 시퀀스 번호 자체는 스트림 분할을 위한 시퀀스 번호로서 사용될 수 있다. 그렇지 않은 경우, 오버레이 네트워크(1500)는 그 자신의 시퀀스 번호를 패킷의 IP 헤더의 옵션 필드 내부에서 또는 삽입된 MTM 헤더 내부에서 또는 계층-4 터널링이 2개의 오버레이 노드 사이에서 사용되는 경우 심지어 외부 계층 4(TCP 등) 헤더 내부에서 패킷에 유입시킬 수 있다.In one embodiment, it is assumed that each packet of
이하에서, 스트림 분할 및 재결합에 대해 기술한다. 일 실시예에서, 스트림(예를 들어, 원래의 스트림(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)
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)
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)
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)
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 |
-
2006
- 2006-09-13 WO PCT/US2006/035988 patent/WO2007033363A2/en active Application Filing
- 2006-09-13 WO PCT/US2006/035632 patent/WO2007033238A2/en active Application Filing
- 2006-09-13 KR KR1020087008773A patent/KR20080058382A/en not_active Application Discontinuation
Cited By (13)
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 |