KR101467726B1 - 데이터 패킷 관련성에 대한 정보를 제공하고, 데이터 패킷을 전달하는 개념 - Google Patents

데이터 패킷 관련성에 대한 정보를 제공하고, 데이터 패킷을 전달하는 개념 Download PDF

Info

Publication number
KR101467726B1
KR101467726B1 KR1020137025963A KR20137025963A KR101467726B1 KR 101467726 B1 KR101467726 B1 KR 101467726B1 KR 1020137025963 A KR1020137025963 A KR 1020137025963A KR 20137025963 A KR20137025963 A KR 20137025963A KR 101467726 B1 KR101467726 B1 KR 101467726B1
Authority
KR
South Korea
Prior art keywords
data packet
information
relevance
current
network entity
Prior art date
Application number
KR1020137025963A
Other languages
English (en)
Other versions
KR20140052979A (ko
Inventor
마이클 샤프
토마스-롤프 바니자
Original Assignee
알까뗄 루슨트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알까뗄 루슨트 filed Critical 알까뗄 루슨트
Publication of KR20140052979A publication Critical patent/KR20140052979A/ko
Application granted granted Critical
Publication of KR101467726B1 publication Critical patent/KR101467726B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/086Load balancing or load distribution among access entities
    • H04W28/0861Load balancing or load distribution among access entities between base stations
    • H04W28/0865Load balancing or load distribution among access entities between base stations of different Radio Access Technologies [RATs], e.g. LTE or WiFi
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

현재 데이터 패킷을 현재 소스 네트워크 엔티티로부터 현재 목적지 네트워크 엔티티로 전달하기 위한 장치(100)로서, 현재 목적지 네트워크 엔티티는 복수의 목적지 네트워크 엔티티들로부터 선택되는 장치(100)가 제공된다. 장치(100)는 현재 데이터 패킷을 수신하도록 구성된 수단(110) 및 부하 균형 기준에 기초하여 현재 목적지 네트워크 엔티티를 선택하도록 구성된 수단(120)을 포함한다. 장치(100)는 현재 데이터 패킷을 현재 목적지 네트워크 엔티티로 전달하도록 구성된 수단(130) 및 현재 네트워크 목적지 엔티티로부터 응답 데이터 패킷을 수신하도록 구성된 수단(140)을 더 포함하고, 응답 데이터 패킷은 데이터 패킷 관련성에 대한 정보를 포함하며, 데이터 패킷 관련성은 데이터 소스와 데이터 목적지 사이의 데이터 세션에 속하는 복수의 상이한 데이터 패킷들 사이의 관련성이다. 선택하도록 구성된 수단(120)은 관련성에 대한 정보를 저장하도록 더 구성된다.

Description

데이터 패킷 관련성에 대한 정보를 제공하고, 데이터 패킷을 전달하는 개념{CONCEPT FOR PROVIDING INFORMATION ON A DATA PACKET ASSOCIATION AND FOR FORWARDING A DATA PACKET}
본 발명은 통신 네트워크에 관한 것으로서, 특히, 제한적인 것은 아니지만, 통신 네트워크에서의 다중경로 또는 연결된 송신에 관한 것이다.
패킷 교환 통신 네트워크들은 유선 및 무선 통신들의 두 분야에 있어서 꾸준히 확장되고 있다. 데이터 패킷 서비스들에 대한 요구가 증가함에 따라, 네트워크의 능력 뿐만 아니라 그것의 부하가 증가되고 있다. 일부 서비스들의 경우, 데이터에 대한 요구는 단일 서버 또는 데이터 소스의 능력보다 높을 수 있다. 따라서, 일부 능력 강화 개념들은, 동일한 서비스를 제공하기 위해, 예를 들면, 서버 팜들(server farms)과 같은 다수의 네트워크 엔티티들을 이용할 것으로 보인다. 요구 및 관련된 트래픽 부하는, 부하 균형(load balancing)을 이용하여 동일한 데이터 서비스를 제공하는 이러한 네트워크 엔티티들 사이에서 공유될 수 있다.
부하 균형기들은 인터넷에서, 특히 HTTP(Hyper Text Transfer Protocol)를 이용하는 월드 와이드 웹(World Wide Web; WWW)에 대해, 서비스 공급을 조정하기 위해 널리 이용되는 해결책이다. 대부분 인터넷 프로토콜(Internet Protocol; IP)에 기초하는 이러한 WWW 서비스들은, 그것이 일반적인 것이 되는 경우 단일의 서버에 의해 제공될 수 없는데, 그 결과적인 이용은 강력한 서버 디바이스 일지라도 쉽게 과부하가 될 수 있기 때문이다. 한 가지의 널리 개발된 해결책은, 단일의 서버 팜에서 또는 지리적으로 퍼져있는 서버들 사이에서, 수 개의 서버들 사이에 부하를 분배하는 것이다. "부하 균형기"는 인입되는 서비스 요청들, 예를 들면, TCP(Transmission Control Protocol) 접속들 또는 HTTP 요청들을 수 개의 서버들 중 하나로 분배할 수 있는 네트워크 엔티티이다. 서버에 대한 실제의 디스패치는 상이한 방법들에 의해 실현될 수 있다. 한편으로, 이것은 링크 계층 어드레스들의 지능적인 이용 및/또는 어드레스 및 포트 필드들을 번역하는 패킷 재기입 기법들을 포함한다. 이러한 해결책들은 단말기에게 투명한 것인데, 즉, 클라이언트는 서비스가 하나보다 많은 서버에 의해 서빙되고 있음을 의식하지 못한다. 다른 한편으로, 투명하지 않은, HTTP 리디렉션(redirection), 콘텐츠 재기입(content rewriting), 또는 DNS(Domain Name System) 기반 부하 균형과 같은 메카니즘들이 있다.
몇몇 현존하는 부하 균형기 해결책들은 표준 TCP 접속들을 위해 설계된다. 멀티미디어 서비스들의 경우, UDP(Universal Datagram Protocol) 트래픽에 대해 동등한 부하 균형기들이 존재할 수도 있다. 이하에서는 TCP 기반 서비스들이 고려될 것이다. IETF(Internet Engineering Task Force)는 수 개의 잠재적으로 분리된 경로들을 통한 동시 데이터 전송들을 가능하게 하도록, "서브플로우들(subflows)" 이라고도 지칭되는, 수개의 연결된 접속들을 이용하는 TCP 확장으로서 현재 다중경로 TCP(Multipath TCP; MPTCP)를 표준화하고 있다. 개별적인 서브플로우는 TCP 접속과 유사하지만, 전형적으로는 데이터의 서브셋만을 전송한다. 다중경로 TCP는 애플리케이션들에 대해 투명하며, 그것은 단일의 TCP 접속과 같은, 서로 관련되는 데이터 패킷들 또는 수개의 서브플로우들로 구성되는 세션에 액세스할 수 있다.
실시예들은, TCP 접속들의 연결은 부하 균형기를 이용하는 시나리오에서 문제점들을 초래할 수 있다는 사실에 기초할 수 있다. 다중경로 TCP를 이용하는 서비스는 현존하는 부하 균형기 해결책들에 의해 저하될 수 있는데, 그들이 TCP 접속들의 연결을 인지하지 못하기 때문이다. 실시예들은, 다중경로 서비스들이 그러한 부하 균형기에서의 추가적인 지원에 의해 향상될 수 있다는 사실에 더 기초할 수 있다.
실시예들은, 다중경로 TCP 세션의 서브플로우들은, 그들이 완전히 상이한 소스 및 목적지 IP 어드레스들 및 TCP 포트 번호들을 이용하는 경우에도 연결될 수 있다는 사실에 더 기초할 수 있다. 일반적으로, 그러한 서브플로우는 복수의 데이터 패킷으로 구성될 수 있다. 현재의 다중경로 TCP 프로토콜 사양에 따라, 이것은 접속 셋업 동안 교환되는 "토큰" 으로서도 지칭되는 TCP 프로토콜 헤더에서의 추가적인 식별자에 의해 실현될 수 있다. 즉, 상이한 서브플로우들의 데이터 패킷들은 서로 관련될 수 있으며, 데이터 패킷 관련성에 대한 정보를 포함할 수 있다. 다중경로 TCP 세션의 엔드포인트들은, 이러한 방식으로 새로운 다중경로 TCP 서브플로우가 어느 세션에 속하는지를 결정하고, 그것을 이 세션에 추가할 수 있다. 따라서, 실시예들은 그러한 식별자를 이용하거나, 또는 일반적으로 그러한 데이터 패킷들에 포함된 데이터 패킷 관련성에 대한 정보를 이용할 수 있다.
실시예들은, 예를 들면, 투명한 부하 균형기는 TCP/IP 게이트웨이, 예를 들면, 계층 4 게이트웨이로서 동작할 수 있으며, 균형기들은 특정한 정책들에 따라 인입 TCP 접속의 데이터 패킷들을 수 개의 서버들 중 하나로 디스패치할 수 있다는 사실에 더 기초할 수 있다. 예컨대, 하나의 IP 어드레스로부터 동일한 서버로 모든 접속들을 할당하여, 하나의 클라이언트의 모든 HTTP 요청들이 동일한 웹 서버에 의해 서빙되도록 하는 것을 이해할 수 있다. 실시예들에서, 예를 들면, MPTCP를 이용할 때와 같이, 데이터 패킷들이 상이한 네트워크 엔티티들로부터 시작되는 경우, IP 어드레스 구동 할당은 실패들을 초래할 수 있는데, 상이한 서브플로우들의 관련된 데이터 패킷이 상이한 IP 어드레스들을 가질 수 있고, 따라서 상이한 서버들에 할당될 수 있기 때문이라는 다른 사실을 알 수 있다. 몇몇 다른 시나리오들이 차후에 보다 상세히 기술될 것이다.
실시예들은, 현재 데이터 패킷을 현재 소스 네트워크 엔티티로부터 현재 목적지 네트워크 엔티티로 전달하도록 구성된 장치를 제공하며, 현재 목적지 네트워크 엔티티는 복수의 목적지 네트워크 엔티티로부터 선택된다. 장치는 현재 데이터 패킷을 수신하도록 구성된 수단 및 부하 균형 기준에 기초하여 현재 목적지 네트워크 엔티티를 선택하도록 구성된 수단을 포함한다. 장치는 현재 데이터 패킷을 현재 목적지 네트워크 엔티티로 전달하도록 구성된 수단 및 현재 네트워크 목적지 엔티티로부터 응답 데이터 패킷을 수신하도록 구성된 수단을 더 포함하며, 응답 데이터 패킷은 데이터 패킷 관련성에 대한 정보를 포함한다. 데이터 패킷 관련성은 데이터 소스와 데이터 목적지 사이의 데이터 세션에 속하는 복수의 상이한 데이터 패킷들 사이의 관련성이다. 예를 들어, 데이터 소스로서의 단말기는, 다수의 데이터 패킷들로 구성되는 적어도 2개의 서브플로우를 갖는 MPTCP를 이용하여, 데이터 목적지로서의 서버와의 데이터 세션을 갖는다. 그 다음, 2개의 서브플로우의 데이터 패킷들은 데이터 패킷 관련성에서 관련된다. 선택하도록 구성된 수단이 관련성에 대한 정보를 저장하도록 더 구성된다.
즉, 소정의 실시예에서, 장치는 데이터 패킷에서의 데이터 패킷 관련성에 대한 정보를 모니터링할 수 있으며, 예를 들어, 장치는 부하 균형기로 구현될 수 있으며, MPTCP 토큰들을 모니터링할 수 있다. 예컨대, 그러한 접속이 셋업될 때, 데이터 패킷 관련성에 대한 정보가, 수반되는 소스와 목적지 네트워크 엔티티들 사이에서 교환될 수 있다. 장치는 정보를 모니터링하고, 그것을 예를 들면, 메모리에 저장할 수 있다.
일부 실시예들에서, 수신하도록 구성된 수단이 상이한 소스 네트워크 엔티티로부터 관련된 데이터 패킷을 수신하도록 더 구성될 수 있으며, 관련된 데이터 패킷은 응답 데이터 패킷 이후에 수신되고, 관련된 데이터 패킷은 데이터 세션에 속하며, 데이터 패킷 관련성에 대한 정보를 포함한다. 즉, 장치는 후속하여 상이한 소스 네트워크 노드 또는 엔티티로부터 다른 데이터 패킷을 수신할 수 있다. 후속하여 수신된 다른 데이터 패킷은, 예컨대, 상이한 소스 네트워크 노드 또는 엔티티로부터 시작되는 상이한 어드레스, 예를 들면, 상이한 IP 어드레스 및/또는 포트 번호로 수신될 수 있으며, 상이한 소스 또는 엔티티는, 예를 들면, 상이한 라우터로서의 물리적으로 상이한 노드 또는 동일한 기원(origin)의 상이한 인터페이스에 대응할 수 있다. 선택하도록 구성된 수단은 데이터 패킷 관련성에 대한 정보에 기초하여 현재 목적지 네트워크 엔티티를 선택하도록 더 구성될 수 있으며, 전달하도록 구성된 수단은 관련된 데이터 패킷을 현재 목적지 네트워크 엔티티에 전달하도록 더 구성될 수 있다. 따라서, 소정의 실시예에서, 상이한 소스로부터 오는 데이터 패킷은, 데이터 패킷 관련성에 대한 저장된 정보 및 데이터 패킷에 포함된 데이터 패킷 관련성에 대한 정보에 기초하여, 데이터 패킷 관련성에 속하는 것으로서 식별될 수 있으며, 그 후 동일한, 정확한 목적지로 전달될 수 있다. 실시예들은, 예를 들면, IP 어드레스 구동 부하 균형에 의해 제기된 문제점들을 극복할 수 있으며, 가능하게는 관련된 데이터 패킷들을 상이한 목적지들로 할당한다.
실시예들에서, 응답 데이터 패킷에 포함된 데이터 패킷 관련성에 대한 정보는, 관련된 데이터 패킷에 포함된 데이터 패킷 관련성에 대한 정보와 동일할 수 있다. 일부 실시예들에서, 관련된 데이터 패킷은 동일한 토큰을 이용할 수 있다. 즉, 일부 실시예들에서, 데이터 패킷 관련성에 대한 정보는 다중경로 TCP의 토큰 또는 다중경로 TCP의 상이한 토큰들의 세트에 대응할 수 있다. 토큰은 임의의 종류의 식별, 예를 들면, 비트들의 시퀀스 또는 번호 등으로서 해석될 수 있다. 일부 실시예들에서, 예를 들면, 토큰들의 세트가 관련성에 대해 이용될 때, 응답 데이터 패킷에 포함된 데이터 패킷 관련성에 대한 정보는, 관련된 데이터 패킷에 포함된 정보와 상이할 수 있다. 다른 실시예들에서, 데이터 세션의 상이한 서브플로우들의 관련된 패킷들에서의 토큰들이, 초기 서브플로우에서 교환된 정보 및 두 엔드포인트들에 의해 공유된 잠재적으로 추가적인 정보로부터의 함수에 의해 계산될 수 있다. 즉, 토큰들의 세트가 이용될 때, 상이한 서브플로우들이 상이한 토큰들을 이용할 수 있지만, 장치의 실시예는, 토큰들의 세트가 저장될 수 있으므로, 정확한 목적지 네트워크 엔티티들을 여전히 선택할 수 있다. 실시예들에서, 응답 데이터 패킷에 포함된 데이터 패킷 관련성에 대한 정보는 다중경로 TCP의 상이한 토큰들의 세트에 대응할 수 있고, 관련된 데이터 패킷에 포함된 데이터 패킷 관련성에 대한 정보는 다중경로 TCP의 상이한 토큰들의 세트에 포함된 다중경로 TCP의 단일의 토큰에 대응할 수 있다. 선택하도록 구성된 수단은 데이터 패킷 관련성에 대한 정보와 함께 현재 목적지 네트워크 엔티티에 대한 정보를 저장하도록 더 구성될 수 있다.
다른 실시예들에서, 선택하도록 구성된 수단은 데이터 패킷 관련성에 대한 정보를 포함하는 데이터 패킷을 수신하지 않고서 미리 정의된 시간이 경과한 후에 저장소로부터 데이터 패킷 관련성에 대한 정보를 제거하도록 더 구성될 수 있다. 대안적으로, 정보는 모든 서브플로우들 또는 MPTCP 세션, 또는 데이터 패킷 관련성이 명시적으로 폐쇄된 경우에 제거될 수 있다. 즉, 장치의 실시예들은 타임-아웃(time-out) 메카니즘을 이용할 수 있으며, 특정 시간 기간 동안 특정 패킷 관련성으로부터 어떠한 패킷들도 수신되지 않을 경우, 데이터 패킷 관련성에 대한 정보는 저장소로부터 제거될 수 있다. 그러므로, 예를 들어, 토큰 또는 토큰들의 세트가 재이용될 수 있으며, 관련된 데이터 패킷들이 수신되지 않을 때 확장된 기간들 동안 차단되지 않는다.
더욱이, 예를 들어, 데이터 패킷 관련성의 셋업 페이즈 동안, 다른 패킷 데이터 관련성에 의해 이미 이용중인 토큰이 이용된다면, 실시예는 새로운 데이터 관련성이 이러한 토큰으로 형성되는 것을 방지할 수 있다. 수신하도록 구성된 수단은 상이한 네트워크 목적지 엔티티로부터 추가의 응답 데이터 패킷을 수신하도록 더 구성될 수 있으며, 추가의 응답 데이터 패킷은 데이터 패킷 관련성에 대한 정보를 포함한다. 장치는 추가의 응답 데이터 패킷으로부터 데이터 관련성에 대한 정보를 제거하도록 구성된 수단을 포함할 수 있다. 데이터 패킷 관련성에 대한 재이용된 정보를 제거함으로써, 실시예들은 데이터 패킷 관련성의 모호성에 의해 제기되는 실패를 방지할 수 있다. 일부 실시예들에서, 수신하도록 구성된 수단은 상이한 네트워크 목적지 엔티티로부터 추가의 응답 데이터 패킷을 수신하도록 더 구성될 수 있으며, 추가의 응답 데이터 패킷은 데이터 패킷 관련성에 대한 정보를 포함한다. 장치는 추가의 응답 데이터 패킷에서의 데이터 관련성에 대한 정보를 데이터 패킷 관련성에 대한 상이한 정보로 변경하도록 구성된 수단을 포함할 수 있다. 즉, 장치는 모호성 검출시에 데이터 패킷 관련성에 대한 정보를 변경하도록 구성된 수단을 포함할 수 있다.
다른 실시예들에서, 데이터 패킷 관련성에 대한 정보는 모호성들을 피하기 위해 다른 네트워크 엔티티들, 예를 들면, 토큰 할당 또는 데이터 패킷 관련성들에 대한 정보의 중앙의 조정을 위한 엔티티로부터 수신될 수도 있다. 따라서, 장치는 네트워크 엔티티로부터 데이터 관련성 패킷을 수신하도록 구성된 다른 수단을 포함할 수 있으며, 데이터 관련성 패킷은 상이한 데이터 패킷 관련성에 대한 정보를 포함한다. 수신하도록 구성된 수단은 임의의 인터페이스에 대응할 수 있다. 실시예들에서, 장치는 부하 균형기에 포함될 수 있다.
실시예들은 데이터 소스 네트워크 엔티티, 전술한 장치를 포함하는 부하 균형기 및 다수의 서버들 또는 목적지 네트워크 엔티티들을 갖는 시스템을 또한 제공할 수 있다.
실시예들은 예를 들면, 중앙 조정을 위한 네트워크 엔티티에서, 데이터 패킷 관련성에 대한 정보를 네트워크 엔티티에 제공하기 위한 장치를 더 제공할 수 있다. 장치는 데이터 패킷 관련성에 대한 식별을 생성하도록 구성된 수단을 포함할 수 있으며, 데이터 패킷 관련성에 대한 식별은 소정의 시간 기간 동안 유효하다. 생성하도록 구성된 수단은 데이터 패킷 관련성들에 대한 복수의 식별을 생성하도록 더 구성될 수 있으며, 복수의 식별들 각각은 그러한 시간 기간 동안 생성될 때 데이터 패킷 관련성에 대한 식별과는 상이하다. 장치는 데이터 패킷 관련성의 식별에 대한 정보를 포함하는 데이터 패킷 관련성에 대한 정보를 상이한 네트워크 엔티티들에 제공하도록 구성된 수단을 더 포함할 수 있다. 실시예들에서, 식별은 토큰에 대응할 수 있다.
또한, 실시예들은 현재 데이터 패킷을 현재 소스 네트워크 엔티티로부터 현재 목적지 네트워크 엔티티로 전달하는 방법을 포함하며, 현재 목적지 네트워크 엔티티는 복수의 목적지 네트워크 엔티티로부터 선택된다. 방법은 현재 데이터 패킷을 수신하는 단계 및 부하 균형 기준에 기초하여 현재 목적지 네트워크 엔티티를 선택하는 단계를 포함할 수 있다. 방법은 현재 데이터 패킷을 현재 목적지 네트워크 엔티티로 전달하는 단계 및 현재 네트워크 목적지 엔티티로부터 응답 데이터 패킷을 수신하는 단계를 더 포함할 수 있으며, 응답 데이터 패킷은 데이터 패킷 관련성에 대한 정보를 포함하고, 데이터 패킷 관련성은 데이터 소스와 데이터 목적지 사이의 데이터 세션에 속하는 복수의 상이한 데이터 패킷들 사이의 관련성이다. 방법은 관련성에 대한 정보를 저장하는 것을 더 포함할 수 있다.
더욱이, 실시예들은 데이터 패킷 관련성에 대한 정보를 네트워크 엔티티에 제공하는 방법을 제공하며, 방법은 데이터 패킷 관련성에 대한 식별을 생성하는 단계를 포함하고, 데이터 패킷 관련성에 대한 식별은 소정의 시간 기간 동안 유효하다. 방법은 데이터 패킷 관련성의 식별에 대한 정보를 포함하는 데이터 패킷 관련성에 대한 정보를 상이한 네트워크 엔티티들로 제공하는 단계를 더 포함한다. 방법은 데이터 패킷 관련성들에 대한 복수의 식별을 생성하는 단계를 더 포함할 수 있으며, 복수의 식별들 각각은 그러한 시간 기간 동안 생성될 때 데이터 패킷 관련성에 대한 식별과는 상이하다.
더욱이, 실시예들은 컴퓨터 프로그램이 컴퓨터 또는 프로세서 상에서 실행될 때, 상기 방법들 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램을 제공할 수 있다.
몇몇 다른 특징들 또는 양상들이, 단지 예를 통해서, 첨부된 도면들을 참조하여, 장치들 및/또는 방법들 및/또는 컴퓨터 프로그램들에 대한 이하의 비제한적인 실시예들을 이용하여 기술될 것이다.
도 1a는 전달하도록 구성된 장치의 실시예에 대한 블록도를 도시한다.
도 1b는 제공하기 위한 장치의 실시예에 대한 블록도를 도시한다.
도 2는 부하 균형기의 실시예를 이용한 인터넷 시나리오의 블록도를 도시한다.
도 3은 부하 균형기의 실시예를 이용한 인터넷 시나리오의 다른 블록도를 도시한다.
도 4는 소정의 실시예에 의해 이용된 바와 같은 MPTCP 셋업의 메시지 시퀀스 챠트를 도시한다.
도 5는 소정의 실시예에 의해 이용된 바와 같은 MPTCP 셋업의 다른 메시지 시퀀스 챠트를 도시한다.
도 6a는 전달하기 위한 방법의 실시예를 나타내는 흐름도를 도시한다.
도 6b는 전달하기 위한 방법의 실시예를 나타내는 다른 흐름도를 도시한다.
도 7a는 소정의 방법의 실시예를 나타내는 흐름도를 도시한다.
도 7b는 소정의 방법의 실시예를 나타내는 다른 흐름도를 도시한다.
도 8은 부하 균형기에서의 실시예의 다른 블록도를 도시한다.
도 9는 MPTCP를 갖는 실시예를 도시한다.
실시예들의 예시적인 설명이, 첨부된 도면들과 결합하여 보다 상세히 제공될 것이다. 이해를 위한 목적으로, 일부 기술적인 용어들이 먼저 설명된다.
이하에서, 단일의 접속은 양방향 통신을 위한 2개의 엔드포인트들(개시자 및 응답자) 사이의 관련성에 대응한다. 예를 들어, 하나의 방향에서 개시자는 데이터 소스일 수 있고, 응답자는 데이터 목적지일 수 있으며, 다른 방향에서는 각각 반대일 수 있다. 접속은, 예컨대, 두 엔드포인트들에서의 IP 어드레스들 및 포트 번호들에 의해 정의될 수 있다. 표준 TCP는 호스트들, 예를 들면, 데이터 소스와 데이터 목적지 사이의 데이터 전송들을 위해 그러한 단일의 접속들을 이용한다.
연결된 접속은 단일의 접속과 같은, 그러나 독립적이지 않은, 그러나 세션의 일부인 유사한 프로토콜 의미들을 이용하는 2개의 엔드포인트들 사이의 관련성에 대응한다. 하나의 세션의 데이터 패킷들은, 예를 들면, 특정 식별자 또는 토큰을 이용함으로써 관련될 수 있다. 특히, 그러한 관련성들은 토큰을 포함하는 셋업 메시지들을 이용하여 셋업될 수 있으며, 토큰은 세션에서 교환된 모든 메시지들에 존재하지 않을(필요하지 않을) 수 있다. 데이터 패킷들의 관련성은 다수의 데이터 패킷들을 세션에 관련시키는 프로토콜 특성일 수 있고, 세션은 다수의 서브플로우들을 포함할 수 있으며, 서브플로우들 각각은 후속하는 데이터 패킷들을 포함할 수 있다. 데이터 패킷들은 모두 세션에 관련될 수 있고, 데이터 패킷들은 세션 또는 다른 서브플로우에 관련될 수 있는 서브플로우에 관련될 수 있고/있거나, 데이터 패킷들은 예를 들면, 상이한 서브플로우의 데이터 패킷들에 대해, 서로 간에 관련될 수 있다. 다중경로 TCP의 문맥에서만이 아니라, 연결된 접속은 서브플로우 라고도 지칭된다. 실시예들에서, 네트워크 엔티티들은 패킷들을 분석함으로써 단일 및 연결된 접속들을 구별할 수 있다.
세션은, 예를 들면, 클라이언트/단말기 및 서버, 데이터 소스 및 데이터 목적지 등의 2개의 호스트들 사이의 하나 이상의 연결된 접속(들)의 결합을 지칭한다. 다중경로 TCP의 경우, 세션은 "MPTCP 접속" 이라고도 지칭된다. 세션은 데이터 소스와 데이터 목적지 사이의 프로토콜 컨택스트일 수 있으며, 여기서 다수의 관련된 서브플로우들이 데이터 송신을 위해 이용된다. 서브플로우들 각각은 복수의 데이터 패킷들로 구성될 수 있으며, 여기서 상이한 플로우들의 데이터 패킷들이 세션에 관련되고, 서로 간의 그것과 관련된다.
세션의 제1 (연결된) 접속 또는 제1 서브플로우는, 세션에서의 초기 또는 제1 서브플로우에 속하는 후속하는 데이터 패킷들에 대응할 수 있다. 추가적인 (연결된) 접속은 세션의 임의의 다른 연결된 접속, 또는 추가적인 서브플로우에 대응할 수 있다. 추가적인 서브플로우에 속하는 후속하는 데이터 패킷들은 데이터 패킷 관련성에 대한 정보, 예를 들면, 그들이 속하는 공통 세션에 대한 정보를 이용하여, 제1 서브플로우에 속하는 후속하는 데이터 패킷들에 관련될 수 있다.
도 1a는 전달하도록 구성된 장치(100)의 실시예에 대한 블록도를 도시한다. 장치(100)는 현재 데이터 패킷을 현재 소스 네트워크 엔티티로부터 현재 목적지 네트워크 엔티티로 전달하도록 구성되며, 현재 목적지 네트워크 엔티티는 복수의 목적지 네트워크 엔티티로부터 선택된다. 장치(100)는 예를 들면, 수신기, 또는 이더넷 인터페이스 또는 임의의 공중 인터페이스로서의 인터페이스 등으로서 구현된, 현재 데이터 패킷을 수신하도록 구성된 수단(110)을 포함한다. 더욱이, 장치(100)는 예를 들면, 선택기, 제어기, 프로세서 등으로서 구현된, 부하 균형 기준에 기초하여 현재 목적지 네트워크 엔티티를 선택하도록 구성된 수단(120)을 포함한다. 더욱이, 장치(100)는 현재 데이터 패킷을 현재 목적지 네트워크 엔티티로 전달하도록 구성된 수단(130)을 포함하며, 수단(130)은 전달기, 송신기, 인터페이스 등으로서 구현될 수 있다. 더욱이, 장치(100)는 현재 네트워크 목적지 엔티티로부터 응답 데이터 패킷을 수신하도록 구성된 수단(140)을 포함하며, 응답 데이터 패킷은 데이터 패킷 관련성에 대한 정보를 포함하고, 데이터 패킷 관련성은 데이터 소스와 데이터 목적지 사이의 데이터 세션에 속하는 복수의 상이한 데이터 패킷들 사이의 관련성이다. 수신하도록 구성된 수단(140)은 수신기, 또는 이더넷 인터페이스 또는 임의의 공중 인터페이스 등으로서 다시 구현될 수 있다. 일부 실시예들에서, 수단(120) 및 수단(140)은 별도로 구현될 수 있으며, 일부 실시예들에서, 이들은 동일한 기능적 엔티티에서 구현될 수 있다. 선택하도록 구성된 수단(120)은 데이터 패킷 관련성에 대한 정보를 저장하도록 더 구성된다. 즉, 장치(100)는 데이터 세션의 제1 서브플로우의 셋업 동안 데이터 패킷 관련성에 대한 정보를 저장할 수 있다.
도 1b는 데이터 패킷 관련성에 대한 정보를 제공하기 위한 장치(150)의 실시예에 대한 블록도를 도시한다. 데이터 패킷 관련성에 대한 정보를 네트워크 엔티티에 제공하기 위한 장치(150)는 데이터 패킷 관련성에 대한 식별을 생성하도록 구성된 수단(160)을 포함하며, 데이터 패킷 관련성에 대한 식별은 소정의 시간 기간 동안 유효하다. 그러한 식별은 MPTCP 세션에 대한 토큰에 대응할 수 있다. 수단(160)은 예를 들면, 난수 생성기(random number generator), 의사 난수 생성기 등으로서 구현된 발생기에 대응할 수 있다. 생성하도록 구성된 수단(160)은 데이터 패킷 관련성들에 대한 복수의 식별들을 생성하도록 더 구성되며, 복수의 식별들 각각은 시간 기간 동안 생성될 때 데이터 패킷 관련성에 대한 식별과는 상이하다. 즉, 실시예들에서, 장치(150)는 그것의 유효 시간 동안 그것이 고유한 것이도록 식별을 생성할 수 있다. 장치(150)는 데이터 패킷 관련성의 식별에 대한 정보를 포함하는 데이터 패킷 관련성에 대한 정보를 상이한 네트워크 엔티티들로 제공하도록 구성된 수단(170)을 포함한다. 즉, 그러한 고유한 식별은 다수의 네트워크 엔티티들에게 제공될 수 있으며, 다수의 네트워크 엔티티들은, 예를 들면, MPTCP 토큰들의 중앙 생성을 수행하는 장치로부터 식별들을 수신한다. 그와 함께, 토큰들의 분배된 생성, 즉, 다수의 네트워크 엔티티들에서의 토큰들의 독립적인 생성에 관련된 모호성 문제들이 실시예들에 의해 해결될 수 있다.
도 2는 전술한 장치들(100, 150) 중 하나 또는 둘다를 포함할 수 있는 부하 균형기(220)의 실시예를 이용한 인터넷 시나리오의 블록도를 도시한다. 도 2는 예를 들면, 소스 IP 어드레스 IPterm을 갖는 인터페이스(205) 상에서의 IP 서비스를 이용하여, 인터넷(210)을 통해, 모두 동일한 서비스를 제공할 수 있는 복수의 서버들(230, 232, 234, 236, 238) 중 하나와 통신하는 단말기(200)를 도시한다. 부하 균형기(220)는 가능하게는 하나의 IP 어드레스 IPservice, 또는 수 개의 어드레스들을 이용하는 하나 이상의 IP 인터페이스들(215)을 이용하여, 인터텟(210)을 통해 단말기(200)와 통신하고, IP 서비스들을 복수의 서버들(230-238) 사이에 분배한다.
예컨대, HTTP 요청이 단말기(200)로부터 도달한다면, 즉, 새로운 TCP 접속이 셋업된다면, 부하 균형기(220)는 그것을 서버들(230-238) 중 하나, 예를 들면, 서버(230)에 할당할 수 있다. 이하에서, 이러한 TCP 접속에 속하는 모든 패킷들은 이러한 서버(230)로 송신될 수 있다. 하나의 가능성으로서, 부하 균형기(220)는 입력되는 패킷들의 소스 포트 번호 및 소스 IP 어드레스 뿐만 아니라, 가능하게는 다른 헤더 필드들 및 이용가능한 서버들(230-238)에 대한 정보를, 이러한 요청을 처리하기 위한 서버(230)를 선택하도록, 부하 균형 기준, 예를 들면, 해시 함수로서의 선택 알고리즘에 대한 입력으로서 이용한다는 것이다. 그러한 단순한 정책은, 주어진 목적지 IP 어드레스 및 포트 번호에 대해 소스 IP 어드레스 및 소스 포트 번호의 조합이 이러한 접속의 수명 동안의 주어진 TCP 접속에 대해 고유한 것이기 때문에 기능을 할 수 있다. 다중경로 TCP 접속들의 경우, 그러한 정책 단독으로는 충분하지 않을 수 있다.
도 3은 부하 균형기(220)의 실시예를 이용한 인터넷 시나리오의 다른 블록도를 도시한다. 도 3에 도시된 시나리오는 도 2에 대하여 위에서 설명된 것과 유사한 구성요소들을 도시하며, 유사한 참조 부호들은 동일하거나 유사한 구성요소들을 나타낸다. 추가적으로, 도 3은 단말기(200)가, 예를 들면, 어드레스 IPa로부터 액세스 "a" 네트워크(208)를 통해 제1 서브플로우를 셩성하고, 어드레스 IPb로부터 액세스 "b" 네트워크(209)를 통해 추가적인 서브플로우를 형성하기 위해, 2개의 네트워크 인터페이스들(206, 207)을 포함하는 것으로 도시한다. 도 3에 도시된 시나리오에서, 액세스 네트워크들(208, 209) 둘다, 전술한 인터넷(210)에 접속된다. 예컨대, 상이한 액세스 네트워크들(208, 209) 및 그에 따른 인터페이스들(206, 207)은, 예를 들면, 이더넷 인터페이스 및 무선 인터페이스로서의, 예를 들면, WLAN(Wireless Local Area Network), 또는 3GPP(3rd Generation Partnership Project) 또는 3GPP2에 의해 표준화된 무선 인터페이스 중 하나로서의 유선 인터페이스에 대응할 수 있다. 실시예들에서, 다중경로 TCP에 대한 하나의 용도는, 단말기(200)가 도 3에 도시된 바와 같이 병렬로 그것들을 이용함으로써 수 개의 상이한 액세스 링크들(208, 209)의 용량을 이용하는 것이다. 단말기의 네트워크 인터페이스들(206, 207)은 통상적으로 상이한 IP 어드레스들을 가지므로, 예를 들면, 다중경로 TCP 세션을 형성하는 상이한 서브플로우들이 상이한 소스 IP 어드레스들을 가질 것이다. 이것을 인지하지 못하는 부하 균형기(220)는, 전술한 메카니즘에 의해, 다중경로 TCP 세션을 형성하는 모든 접속들이 동일한 서버(230)에 전달되도록 보장할 수 없다. 다중경로 TCP가 이러한 문제를 검출하고, 하위의 호환가능한 TCP 통신으로 물러날 수 있다고 해도, 이 경우에는 다중경로 TCP의 추가된 값이 존재하지 않을 것이다. 실시예들은 이러한 문제를 극복하는 메카니즘을 제공할 수 있다. 실시예들은 특정 다중경로 TCP 세션의 모든 서브플로우들의 모든 패킷들이 동일한 서버로 적절하게 전달되도록 보장하기 위해 다중경로 TCP 프로토콜의 일부 요소들을 이용할 수 있다.
실시예들은 TCP 및 MPTCP로 제한되지 않을 수 있지만, 일반적으로 부하 균형기들이, 다수의 연결된 접속들을 이용하는 전송 프로토콜과 결합하여 이용되는 경우에 발생되는 문제들을 해결할 수 있다. 예를 들어, 연결된 접속들 또는 데이터 패킷 관련성들을 유사한 방식으로 이용할 수 있는 다른 프로토콜은 SCTP(Stream Control Transmission Protocol) 및 동시 다중경로 전송을 위한 확장들이다. 이하에서, 부하 균형에 대한 일부 다른 배경 정보가 제공되고, 실시예들이 TCP 및 다중경로 TCP에 대해 설명되지만, 기술된 원리들은 연결되거나 또는 관련된 접속들을 이용할 수 있는 다른 프로토콜들을 이용하는 실시예들에 대해서도 유효하다. 이하에서, "연결된 접속", "관련된 데이터 패킷들" 및 "서브플로우" 라는 용어들은 동의어로 이용된다.
도 3에 도시된 시나리오에서, 변경되지 않은 부하 균형기(220)는 단일의 및 연결된 접속들/서브플로우들 사이를 구별하지 않을 것이다. 연결된 접속들의 셋업은, 인지하지 못하는 부하 균형기(220)가, 가능하게는 상이한 IP 어드레스들로부터 발생되어 상이한 서버들(230-238)로 향하는 연결된 접속들을 할당할 수 있는 한, 결정론적으로 발생되지 않을 것이다. 다중경로 TCP 사양에 따르면, 두 접속 엔트포인트들은, 연결된 접속이 실제로 동일한 피어에 대해 형성되었는지의 여부를 토큰들의 비교에 의해 체크할 것이다. 부하 균형기(220)가, 연결된 접속을 다른 서버(230-238)로 디스패치하는 경우, 이러한 테스트는 실패할 것이며, 연결된 접속은 셋업되지 않을 것이다. 그 결과, 다중경로 전송은 가능하지 않을 수 있다. 이러한 경우에서의 다중경로 TCP는 표준 TCP 전송으로 물러날 수 있는데, 즉, 통신은 여전히 가능하지만, 덜 효율적이게 된다. 요약하면, 하나 이상의 부하 균형기(들)(220)을 갖는 경로에 대한 다중경로 TCP는, 부하 균형기들(220)이 본 명세서에서 기술된 메카니즘들 중 하나를 지원하는 실시예를 포함하는 경우, 단지 추가된 값을 가질 수 있다.
변경되지 않은 부하 균형기(220)의 경우, 상이한 엔드 시스템들에 대한 접속들이, 그들이 뜻하지 않게 동일한 토큰들을 이용하는 경우, 잘못하여 연결될 수 있는 한, 작은 보안 위험들이 존재할 수 있다. 따라서, 실시예들은 장치(150)를 제공하거나 또는 토큰들에 대한 고유성 체크를 포함할 수도 있다. 실시예들은, 예를 들면, IETF의 다중경로 TCP 프로토콜 설계 및 그 특성들을 이용한다. 예를 들어, 접속들을 연결하기 위해 토큰들을 교환하는 기본 메카니즘은, 예를 들면, 애플리케이션 계층 프로토콜들 등으로서 다른 프로토콜들을 이용할 수도 있는 실시예들에서 이용될 수 있다.
실시예들은 부하 균형기에 포함될 수 있으며, 연결된 접속들을 처리하기 위해 동작을 개선할 수 있다. 부하 균형기의 그러한 실시예는 연결된 접속들의 셋업 동안 교환된 프로토콜 정보를 결정 및 저장하기 위한 기능들을 이용할 수 있으며, 이러한 정보를 이용하여, 도 1a의 도움으로 이미 기술된 바와 같이, 세션의 연결된 접속들을 동일한 서버에 디스패치할 수 있다. 일부 실시예들에서, 부하 균형기는 토큰들, 즉, 접속 셋업 단계 동안 및 후속하는 데이터 패킷 교환 동안 교환되는 데이터 패킷 관련성에 대한 정보를 판독 및 처리할 수 있다. 실시예들은 연결된 접속들을 이용하여 전송 프로토콜과의 상호작용을 가능하게 할 수 있다.
이하에서, 연결된 접속들을 셋업하는 것의 원리가, 실시예들을 이해하기 위한 배경 정보로서 간단히 설명된다. 이하의 실시예에 대해 제공된 메카니즘은 다중경로 TCP에 대해 현재 정의된 것이다. 세션의 일부분인 연결된 접속은, 소스 IP 어드레스, 소스 포트 번호, 목적지 IP 어드레스 및 목적지 포트 번호의 조합에 의해 식별될 수 있다. 연결된 접속들을 식별하고, 연결하기 위해, 그리고 보안상의 이유로 인해, 연결된 접속이 속하는 세션을 고유하게 식별할 수 있는 적어도 하나의 추가적인 식별자(통상적으로 토큰이라고 지칭됨)가 실시예들에서 이용될 수 있다. 세션당 하나의 토큰을 이용하는 대신에, 엔드포인트들에서 국부적으로 고유한 2개(또는 그 이상)의 토큰들을 이용할 수도 있다. 연결된 접속들을 식별하는 잠재적인 방법에 대한 세부사항들은, 예컨대, 본 명세서에서 통합될 수 있는, 다중경로 TCP의 프로토콜 사양인에서 찾아볼 수 있으며, A. Ford, C. Raicui, M. Handley, "TCP Extensions for Multipath Operation with Multiple Addresses", IETF Internet Draft, work in progress, October 2010, draft-ietf-mptcp-multiaddressed-02, 또는 대안적인 프로토콜 설계인 M. Scharf, "Multi-Connection TCP (MCTCP) Transport", IETF Internet Draft, work in progress, July 2010, draft-schart-mptcp-mctcp-01을 참조하면 된다. 이하에서, 다중경로 프로토콜들의 세부사항들은, 실시예들을 이해하는데 필요한 만큼만 기술된다.
도 4는 소정의 실시예에 의해 이용된 바와 같은 MPTCP 셋업의 메시지 시퀀스 챠트를 도시한다. 도 4는 세션을 형성하는 연결된 접속들의 셋업을 간략화된 형태로 도시한다. 제1 접속의 셋업 동안, 2개의 엔드포인트들이, 각각의 엔드포인트에서 연결된 접속을 식별하는데 이용될 토큰들을 교환한다(메시지들을 '할당'). 단말기 측에서, 도 4는 2개의 인터페이스들(206, 207)을 도시하며, 도 4에서 화살표들에 의해 나타내지는, 2개의 인터페이스들로부터의 메시지들이, 예를 들면, 어드레스 IPservice를 갖는 그에 따른 인터페이스를 또한 갖는 서버(230)에 송신된다. 먼저, 2개의 할당 메시지들(305, 310)가 네트워크 인터페이스(206)와 서버(230) 사이에 교환된다. 메시지(305)는 전술한 현재 데이터 패킷에 대응하는, 단말기(200)로부터의 토큰을 포함할 수 있고, 메시지(310)는 전술한 응답 데이터 패킷에 대응하는, 서버(230)로부터의 토큰을 포함할 수 있다. 이러한 토큰들은 제1 접속(제1 패킷들)의 셋업 동안 교환된다. 후속하여, 가능하게는 데이터 전송(315)이 제1 접속 상에서 수행될 수 있다. 이러한 데이터 전송 동안, 다른 제어 정보가 또한 교환될 수 있다. 도 4에 더 나타낸 바와 같이, 추가적인 서브플로우가 메시지들(320, 325)을 이용하여, 인터페이스(207)로부터 서버(230)로 셋업될 수 있다. 다시, 인터페이스(207)로부터의 토큰이 결합-메시지(321)에서 서버(230)로 전송될 수 있고, 서버(230)로부터의 토큰이 대응하는 응답 결합-메시지(325)에서 전송될 수 있다. 후속하여, 가능하게는 데이터 전송(330)이, 세션의 일부분인, 제2 인터페이스(207)와 서버(230) 사이에서 수행될 수 있다.
2개의 토큰들은 토큰을 생성하는 호스트에 대해 국부적으로 고유한 것일 수 있다. 엔드포인트들 중 하나가 현존하는 세션에 추가적인 접속을 추가하고자 원한다면, 추가적인 접속의 셋업 동안 '결합' 메시지(320, 325)로 이것을 시그널링할 수 있다. 포함된 정보는 다른 엔드포인트가 새로운 연결된 접속을 현존하는 세션에 통합하도록 허용한다.
('할당', '결합') 이라는 이름의 메시지는, 다중경로 프로토콜들에서 이용되는 2개의 상이한 프로토콜 기능들에 대한 플레이스홀더(placeholder)들일 뿐이다. 더욱이, '결합' 메시지들(320, 325)은 토큰 값들을 평문(plain text)으로 전송하지 않을 수도 있다. 그 대신에, 임의의 잘 알려진 기능을 이용하여, 토큰들로부터의 식별자를 계산하고, 가능하게는 엔드포인트들이 액세스를 갖는 다른 정보를 계산할 수 있으며, '결합' 메시지들(320, 325)은 그러한 식별자를 포함할 수 있다. 유일한 제약은, 두 엔드포인트들이, 연결된 접속이 속하는 세션을 고유하게 결정할 수 있다는 것일 수 있다.
도 5는 부하 균형기에서 구현된 실시예(220)에 의해 이용된 바와 같은 MPTCP 셋업의 다른 메시지 시퀀스 챠트를 도시한다. 도 5는 도 4에 의해 설명된 것과 유사한 메시지들을 도시하지만, 부하 균형기(220)는 송신 경로에서, 인터페이스들(206, 207)을 갖는 단말기(200)와 서버(230) 사이에 위치된다. 도 5에 도시된 실시예에서, 장치(100)의 실시예는 부하 균형기(220)에 포함되는 것으로 가정한다. 장치(100)는 현재 데이터 패킷, 즉, 할당 메시지(305)를, 현재 소스 네트워크 엔티티(206)로부터 현재 목적지 네트워크 엔티티(230)로 전달하도록 구성되고, 현재 목적지 네트워크 엔티티(230)는 복수의 목적지 네트워크 엔티티들(230-238)로부터 선택되며, 도 3을 참조하면 알 수 있다. 도 5로부터 볼 수 있듯이, 메시지(305)는 부하 균형기(220)에 의해 수신되는데, 즉, 장치(100)는 현재 데이터 패킷을 수신하도록 구성된 수단(110)을 포함한다. 더욱이, 장치(100)는 부하 균형 기준에 기초하여 현재 목적지 네트워크 엔티티(230)를 선택하도록 구성된 수단(120) 및 현재 데이터 패킷(305)을 현재 목적지 네트워크 엔티티(230)에 전달하도록 구성된 수단(130)을 포함한다. 예를 들어, 부하 균형기는 소스 IP 및 TCP 포트를 고려하는 정책에 의해 서버 1(서버(230)에 대응함)을 선택하고, 패킷을 서버 1에 전달하고, 선택된 서버에 대한 접속의 할당을 "제1 테이블"에 저장할 수 있다. 테이블 엔트리는 소스 IP 어드레스 및 소스 포트, 선택된 서버, 및 잠재적으로는 또한 다른 정보, 예를 들면, 목적지 IP 어드레스 및 목적지 포트를 포함할 수 있다. 그에 응답하여, 서버(230)는, 응답 데이터 패킷(310)이라고도 지칭되는 할당 메시지(310)를 제공한다. 따라서, 장치(100)는 현재 네트워크 목적지 엔티티(230)로부터 응답 데이터 패킷(310)을 수신하도록 구성된 수단(140)을 포함하고, 응답 데이터 패킷(310)은 데이터 패킷 관련성에 대한 정보를 포함하며, 데이터 패킷 관련성은 데이터 소스(200)와 데이터 목적지(230) 사이의 데이터 세션에 속하는 복수의 상이한 데이터 패킷들 사이의 관련성이다. 선택하도록 구성된 수단(120)은 관련성에 대한 정보를 저장하도록 더 구성된다. 즉, 부하 균형기(220)는 토큰을 검출하고, 서버에 대한 토큰의 할당을 "제2 테이블"에 저장할 수 있다. 테이블 엔트리는 토큰 및 동작하는 서버(서버 1), 및 잠재적으로는 또한, 다중경로 세션을 기술하는 다른 정보를 포함할 수 있다.
실시예들에서, 부하 균형기(220)는 연결된 접속들을 그에 따라 처리할 수 있다. 실시예들은 부하 균형기가 연결된 접속들에 대해 실행할 수 있는 상이한 단계들을 이용할 수 있다. 그러한 개선된 부하 균형기(220)는 접속 셋업 동안 교환된 토큰 정보를 결정 및 저장하고, 이러한 정보를 이용하여 세션의 연결된 접속들을 동일한 서버(230)에 디스패치할 수 있다. 연결된 접속들이 서버 팜(230-238) 상에 호스팅된 서비스들에 액세스하는데 이용된다면, 단말기(200)와 서버(230) 사이의 통신은 '계층 4' 게이트웨이로서 기능하는 부하 균형기(220)를 패스할 수 있다. 이러한 경우에 대해서는 도 3을 이용하여 이미 설명되었다.
실시예들은 하나 (또는 수 개의) 공개적으로 볼 수 있는 IP 어드레스(들)을 갖는 투명 '계층 4' 게이트웨이로서 기능하며, 어드레스들의 재기록과 같은 다른 전달 메카니즘에 의해 패킷들을 서버들(230-238)에 전달하는 부하 균형기(220)를 제공할 수 있다. 클라이언트들 또는 단말기들(200)의 관점으로부터, 모든 연결된 접속들은 부하 균형기(220)에서 종료될 수 있다. 부하 균형기(220)는 연결된 접속들을 지원하는 호스트에서 요구되는 것들과 유사한 기능들을 수행할 수 있다.
후속하여, 가능하게는 데이터 전송(315)이 제1 접속 상에서 수행될 수 있다. 전술한 내용 및 도 5에 따르면, 새로운 접속이 단말기(200) 측으로부터 셋업될 때, 부하 균형기(220)는 먼저 패킷이 (다중경로 TCP와 같은) 연결된 접속들을 이용하는 프로토콜에 대한 셋업 패킷인지 여부를 체크한 후, 그러한 경우에 이하의 단계들을 실행할 수 있다. 일부 실시예들에서, 부하 균형기(220)는 접속 셋업 패킷(305), 즉, 현재 데이터 패킷 또는 TCP SYN이 '결합' 메시지(320)를 포함하는지를 체크할 수 있다. 만약 어떠한 '결합' 메시지(320)도 발견되지 않는다면, 부하 균형기(220)는 서버 선택 메카니즘, 예를 들면, 소스 IP 어드레스 및 소스 포트 번호 또는 일부 다른 부하 균형 기준 상의 해시를 적용하여 서버(230)를 선택할 수 있다. 그 다음, 서버(230) 및 패킷의 소스 IP/소스 포트의 조합 뿐만 아니라, 가능하게는 다른 정보가 "제1 룩업 테이블"에 추가되고, 패킷은 선택된 서버(230)로 전달될 수 있다. "제1 룩업 테이블"은 흐름을 서버(230)에 맵핑하고, 그것은 또한 단일의 접속들을 위해 이용될 수 있다. 이하에서, 용어들 "제1 룩업 테이블" 및 "제1 테이블"은 동의어로 이용될 것이며, 용어들 "제2 룩업 테이블" 및 "제2 테이블"에 대해서도 동일하게 적용된다.
세션의 제1 접속의 경우에, 서버(230), 즉, 현재 목적지 네트워크 엔티티는 접속 셋업 패킷(305)(TCP SYN), 즉, 현재 데이터 패킷에 대해, 토큰, 즉, 예를 들면, 새로운 연결된 접속에 대한 서버(230)로부터 선택된 데이터 패킷 관련성에 대한 정보를 갖는 '할당' 메시지를 포함하는 수신확인 패킷(TCP SYN/ACK)(310), 즉, 응답 데이터 패킷으로 응답할 수 있다. '할당' 메시지(310)가 검출된다면, 부하 균형기(220)는 시작하는 서버(230)를 결정하고, 토큰 및 서버(230)의 조합을 "제2 룩업 테이블"에 저장할 수 있다. 그 다음, 패킷의 처리가 계속되며, 그것은 인터넷으로 전달된다. 즉, 선택하도록 구성된 수단(120)은 데이터 패킷 관련성에 대한 정보와 함께 현재 목적지 네트워크 엔티티에 대한 정보를 저장하도록 더 구성될 수 있다.
실시예들에서, 수신하도록 구성된 수단(110)은 상이한 소스 네트워크 엔티티(207)로부터 관련된 데이터 패킷(320)을 수신하도록 더 구성될 수 있으며, 관련된 데이터 패킷(320)은 응답 데이터 패킷(310) 이후에 수신되고, 관련된 데이터 패킷(320)은 데이터 세션에 속하며, 데이터 패킷 관련성에 대한 정보(토큰)를 포함한다. 선택하도록 구성된 수단(120)은 데이터 패킷 관련성에 대한 정보에 기초하여 현재 목적지 네트워크 엔티티(230)를 선택하도록 더 구성될 수 있으며, 전달하도록 구성된 수단(130)은 관련된 데이터 패킷(320)을 현재 목적지 네트워크 엔티티(230)로 전달하도록 더 구성될 수 있다. 즉, '결합' 메시지(320)가 인터넷(210)에서 발생되는 접속 셋업 패킷(즉, TCP SYN)에서 발견된다면, 이미 현존하는 연결된 접속의 일부분으로서의 추가적인 접속이 요청될 수 있다. 이러한 경우, 부하 균형기(220)는 '결합' 메시지(320)로부터 정보(토큰)를 취할 수 있으며, 그것을 "제2 룩업 테이블"에서의 입력으로서 이용하여, 제1 접속에 대한 것과 동일한 서버(230)를 찾아서 선택할 수 있다. 부하 균형기(220)는 토큰을 검출하고, 토큰 할당 리스트("제2 테이블")로부터 서버 1을 선택하고, 패킷을 서버 1에 전달하고, 선택된 서버에 대한 접속의 맵핑을, 예를 들면, 할당(소스 IP 및 포트, 서버 1)을 저장함으로써, "제1 테이블"에 저장할 수 있다. 더욱이, 서버(230) 및 제1 패킷의 소스 IP/소스 포트와 같은, 연결된 접속에 관한 정보가 "제1 룩업 테이블"에 추가되고, 패킷(320)이 서버로 전달될 수 있다. 실시예들에서, 이러한 세션의 모든 다른 입력되는 데이터 패킷들에 대해, 부하 균형기(220)는 예컨대, 패킷의 소스 IP/소스 포트를 입력으로서 이용하여 "제1 룩업 테이블"로부터 서버(230)를 선택하고, 패킷을 할당된 서버(230)에 전달할 수 있다. 더욱이, 데이터 패킷들, 즉, 임의의 서버(230-238)에 의해 송신되지 않은 접속의 제1 패킷이 아닌 모든 패킷들이, 추가의 처리없이 인터넷(210)으로 전달된다. 부하 균형기(220)는 IP 어드레스 및 포트 할당 리스트("제1 테이블")로부터 서버 1을 선택하고, 패킷을 서버 1로 전달할 수 있다.
실시예들에서, 데이터 패킷 관련성에 대한 정보, 즉, 응답 데이터 패킷(310)에 포함된 세션 및/또는 서브플로우가, 관련된 데이터 패킷(320)에 포함된 데이터 패킷 관련성에 대한 정보와 동일할 수 있는데, 즉, 일부 실시예들에서, 제1 서브플로우에 대해 이용된 토큰은 추가적인 서브플로우에 대해 이용된 토큰과 동일할 수 있다. 데이터 패킷 관련성에 대한 정보는 다중경로 TCP의 토큰 또는 다중경로 TCP의 상이한 토큰들의 세트에 대응할 수 있다. 다른 실시예들에서, 응답 데이터 패킷(310)에 포함된 데이터 패킷 관련성에 대한 정보는, 관련된 데이터 패킷(320)에 포함된 정보와 상이할 수 있다. 응답 데이터 패킷(310)에 포함된 데이터 패킷 관련성에 대한 정보는, 다중경로 TCP의 상이한 토큰들의 세트에 대응할 수 있으며, 관련된 데이터 패킷(320)에 포함된 데이터 패킷 관련성에 대한 정보는 다중경로 TCP의 상이한 토큰들의 세트에 포함된 다중경로 TCP의 하나의 특정 토큰에 대응할 수 있다. 선택하도록 구성된 수단(120)은 데이터 패킷 관련성에 대한 정보(토큰)와 함께 현재 목적지 네트워크 엔티티(230)에 대한 정보를 저장하도록 더 구성될 수 있다.
도 6a는 전달하기 위한 방법의 실시예를 나타내는 흐름도를 도시한다. 위의 내용에 따르면, 방법은 현재 데이터 패킷(305)을 현재 소스 네트워크 엔티티(206)로부터 현재 목적지 네트워크 엔티티(230)로 전달하기 위한 것이며, 현재 목적지 네트워크 엔티티(230)는 복수의 목적지 네트워크 엔티티들(230-238)로부터 선택된다. 방법은 현재 데이터 패킷을 수신하는 단계(600) 및 부하 균형 기준에 기초하여 현재 목적지 네트워크 엔티티를 선택하는 단계(610)를 포함한다. 더욱이, 방법은 현재 데이터 패킷을 현재 목적지 네트워크 엔티티(230)로 전달하는 단계(620)를 포함한다. 방법은 현재 네트워크 목적지 엔티티로부터 응답 데이터 패킷을 수신하는 단계(630)를 더 포함하며, 응답 데이터 패킷은 데이터 패킷 관련성에 대한 정보를 포함하고, 데이터 패킷 관련성은 데이터 소스와 데이터 목적지 사이의 데이터 세션에 속하는 복수의 상이한 데이터 패킷들 사이의 관련성이다. 방법은 관련성에 대한 정보를 저장하는 단계(640)를 더 포함한다.
도 6b는 전달하기 위한 방법의 실시예를 나타내는 다른 흐름도를 도시한다. 후속하여 보다 상세히 기술되는 바와 같이, 방법은 데이터 패킷 관련성에 대한 정보를 네트워크 엔티티(200, 220, 230-238)에 제공하기 위한 것이다. 방법은 데이터 패킷 관련성에 대한 식별을 생성하는 단계(650)를 포함하며, 데이터 패킷 관련성에 대한 식별은 소정의 시간 기간 동안 유효하다. 방법은 데이터 패킷 관련성의 식별에 대한 정보를 포함하는 데이터 패킷 관련성에 대한 정보를 상이한 네트워크 엔티티들에게 제공하는 단계(660)를 포함할 수 있다. 방법은 데이터 패킷 관련성들에 대한 복수의 식별들을 생성하여, 복수의 식별들 각각이, 시간 기간 동안에 생성될 때의 데이터 패킷 관련성에 대한 식별과는 상이하도록 하는 단계(670)를 더 포함한다.
도 7a는 현재 데이터 패킷을 현재 소스 네트워크 엔티티로부터 현재 목적지 네트워크 엔티티로 전달하기 위한 방법으로서, 현재 목적지 네트워크 엔티티는 복수의 목적지 네트워크 엔티티들로부터 선택되는 방법의 실시예를 나타내는 흐름도를 도시한다. 흐름도는 도 3에 도시된 시나리오와 함께, 데이터 패킷이 인터넷으로부터 수신되는 때의 방법을 도시한다. 현재 데이터 패킷을 수신한 후, 제1 단계(700)에서, 패킷 헤더, 예를 들면, IP 또는 TCP 패킷 헤더가 분석된다. 단계(701)에서, 방법은 상기 패킷이 접속에 대한 셋업 패킷인지를 결정할 수 있다. 패킷이 셋업 패킷에 대응되지 않는다면, 방법은, 후속 단계(702)에서, 저장소로부터, 예를 들면, 제1 룩업 테이블로부터 대응하는 서버 어드레스를 룩업할 수 있다. 서버 어드레스를 룩업한 후, 패킷은 단계(703)에서 서버로 디스패치될 수 있다. 만약, 단계(701)에서, 패킷이 접속에 대한 셋업 패킷에 대응하는 것으로 결정된다면, 후속하여, 단계(704)에서, 패킷이 접속들을 연결하는 프로토콜에 대한 셋업 패킷에 대응하는지 여부가 더 결정될 수 있다. 그러한 패킷이 결정되지 않는다면, 서버 결정을 위한 부하 균형 메카니즘들이 단계(706)에서, 통상적인 TCP 접속들을 위한 것으로서 이용될 수 있다. 즉, 현재 목적지 네트워크 엔티티가, 수신된 데이터 패킷이 관련된 패킷 또는 셋업 메시지가 아닌 때에, 부하 균형 기준에 기초하여 현재 데이터 패킷에 유사한 패킷들에 대해 선택된다. 단계(707)에서, 데이터 패킷 및 서버의 맵핑이, 예를 들면, 제1 룩업 테이블에 저장될 수 있다.
후속하여, 단계(708)에서, 데이터 패킷이 선택된 서버로 디스패치될 수 있다. 단계(704)에서, 접속들을 연결하는 프로토콜에 대한 셋업 패킷이 검출된다면, 후속하여 단계(710)에서, 패킷이 제1 접속 할당을 나타내는지 여부가 결정될 수 있다. 즉, 패킷이 세션의 제1 접속을 셋업, 즉, 패킷이 위에서의 현재 데이터 패킷에 대응하는 것을 의미한다고 결정될 수 있다. 단계(712)에서 그러한 패킷이 결정되지 않는다면, 패킷에 포함된 토큰이 이미 저장되었는의 여부가 체크될 수 있으며, 소정의 실시예에서, 룩업 테이블, 즉 토큰들에 대한 제2 룩업 테이블이 이용될 수 있다. 즉, 패킷이 관련된 데이터 패킷에 대응하는지의 여부가 체크된다. 단계(714)에서, 토큰이 발견되지 않는다면, 단계(716)에서 에러가 검출될 수 있으며, 예를 들면, 패킷이 그 다음에 임의의 서버로 디스패치되거나 또는 에러 메시지가 송신될 수 있다. 그에 따른 토큰이 단계(714)에서 발견된다면, 후속하는 단계(720)에서, 룩업 테이블, 즉 제2 룩업 테이블이 체크될 수 있으며, 서버 어드레스가 제2 룩업 테이블로부터, 즉, 관련된 데이터 패킷에 대해 결정될 수 있으며, 현재 목적지 네트워크 엔티티가 저장소로부터 결정될 수 있다. 단계(710)에서, 제1 접속에 대한 셋업 패킷이 결정된다면, 후속하여 단계(718)에서, 그에 따른 서버가 부하 균형 정책에 따라 결정될 수 있다. 단계(718) 이후에, 그리고 또한 단계(720) 이후에, 단계(722)에서 맵핑이 제1 룩업 테이블에 저장될 수 있다. 또한, 실시예는 정보를 제2 룩업 테이블에도 저장하여, 예를 들면, 이후의 단계에서의 엔트리의 추가를 준비할 수 있다. 후속하여, 단계(724)에서, 패킷이 선택된 서버로 디스패치될 수 있다.
도 7b는 소정의 방법의 실시예를 나타내는 다른 흐름도를 도시하며, 도 7b에서 데이터 패킷이 서버로부터 수신되는 때의 방법의 단계들이 도시된다. 제1 단계(730)에서, 수신된 데이터 패킷의 패킷 헤더가 분석된다. 후속하는 단계(732)에서, 방법은 패킷이 접속들을 연결하는 프로토콜에 대한 셋업 패킷에 대응하는지의 여부를 결정한다. 즉, 단계(732)에서, 패킷이 응답 데이터 패킷에 대응할 수 있는지의 여부가 체크된다. 데이터 패킷이 응답 데이터 패킷에 대응하지 않는 것으로 결정된다면, 단계(734)에서, 그것은 후속하여 통상적인 방식으로 인터넷으로 전달된다. 그러나, 단계(732)에서, 수신된 데이터 패킷이 접속들을 연결하는 프로토콜에 대한 셋업 패킷에 대응하는 것으로 결정된다면, 후속하여 단계(736)에서, 패킷이 제1 접속 할당에 대응하는지, 즉, 전술한 바와 같은 응답 데이터 패킷에 대응하는지의 여부가 더 체크된다. 만약 그렇지 않다면, 단계(738)에서, 패킷은 통상적인 방식으로 인터넷으로 전달된다. 단계(736)에서, 패킷이 제1 접속 할당, 즉, 응답 데이터 패킷에 대응한다고 결정된다면, 단계(740)에서, 토큰의 고유성에 대한 선택적인 체크가 수행될 수 있다. 단계(742)에서, 서버 및 토큰의 맵핑이, 단계(744)에서 패킷이 인터넷으로 전달되기 전에, 제2 룩업 테이블에 저장될 수 있다. 단계(740)에 대한 보다 세부적인 사항들, 즉, 데이터 패킷 관련성에 대한 정보 또는 토큰의 고유성 체크는 후속하여 상세히 기술될 것이다.
도 8은 부하 균형기(800)에서의 실시예의 다른 블록도를 도시한다. 도 8은 전술한 장치(100)를 포함하는 부하 균형기(800)의 실시예를 도시한다. 도 8은 서버들(810)과 인터넷(815) 사이에 데이터 패킷들을 전송하는 데이터 경로(805)를 도시한다. 인터넷(815) 쪽으로 IP 서비스가 제공될 수 있으며, 서버(810) 쪽으로, 예를 들면, 서버 어드레스 맵핑이 이용될 수 있다. 더욱이, 부하 균형기(800)는 서버들에 대한 제어 접속들(820)을 가질 수 있으며, 블록(825)에 도시된 서버 상태를 모니터링할 수 있다. 전술한 내용에 따르면, 부하 균형기(800)는 어느 소스 데이터 패킷들이 어느 서버에 전달되는지를 저장하기 위해 제1 룩업 테이블(835)과 함께 서버 선택 알고리즘(855)을 이용할 수 있다. 구성 및 관리 엔티티(830)가 이들 구성요소들을 제어할 수 있다. 더욱이, 부하 균형기(800)는, 그 안에 장치(100)가 구현될 수 있는 연결된 접속 처리 엔티티(850)를 포함할 수 있다. 저장을 위한 목적으로, 연결된 접속 처리 엔티티(850)가 제2 룩업 테이블(840)에 접속되어, 데이터 패킷 관련성에 대한 정보, 토큰들 및 서버 어드레스들을 각각 저장할 수 있다. 도 8에서, 부하 균형기(800)의 주요 구성요소들이 도시된다. 연결된 접속들을 처리하기 위한 기능들은 연결된 접속 처리 박스(850) 및 선택적인 제2 룩업 테이블(840)에 의해 표현된다. 2개의 테이블인, "제1 테이블"(835) 및 "제2 테이블"(840)은 상이한 정보를 개념적으로 저장할 수 있다. 다른 실시예들은 정보를 하나의 테이블에 통합할 수 있다.
전술한 실시예에 따르면, 장치(100)는 부하 균형기(800)에서의 데이터 패킷 관련성들 및 연결된 접속들의 처리를 가능하게 할 수 있다. 다른 실시예들에서, 선택하도록 구성된 수단(120)은 데이터 패킷 관련성에 대한 정보를 포함하는 데이터 패킷을 수신하지 않고서 미리 정의된 시간이 경과된 후에, 또는 접속 및/또는 세션을 닫는 시그널링 정보의 수신 이후에, 저장소로부터 데이터 패킷 관련성에 대한 정보를 제거하도록 더 구성될 수 있다. 실시예들은, 룩업 테이블들의 크기의 과도한 성장을 피하기 위해, 세션의 끝을 검출하고, 관련된 엔트리들을 테이블들에서 제거할 수 있다. 즉, 수단(140) 및/또는 수단(120)은 세션 패킷의 끝을 수신하도록 구성될 수 있으며, 그러한 패킷의 수신시에 저장소로부터 각각의 데이터 패킷 관련성에 대한 정보를 제거할 수 있다. 대안적으로, 잘 알려진 노화된 메카니즘 또는 더 이상 이용되지 않는 테이블 엔트리들이 실시예들에서 적용될 수 있다. 더욱이, 실시예들에서, 장치(100)는 데이터 관련성에 대한 정보의 제거 또는 변경에 대해 상이한 네트워크 목적지 엔티티에게 통지하도록 구성된 수단을 포함할 수 있다.
실시예들은 데이터 패킷 관련성에 대한 정보 또는 토큰의 고유성을 처리하기 위한 메카니즘을 더 포함할 수 있다. 에러들을 피하기 위해, 부하 균형기 뒤의 2개의 서버들이 동일한 토큰을 이용하지 않을 수 있는데, 즉, 토큰은 부하 균형기에 대해 고유한 것이거나 또는 공중 IP 어드레스마다 적어도 고유해야 한다. 실시예에서, 서버들에 의한 토큰들의 이용은 전술한 장치(150)에 의해 조정되어, 부하 균형기 뒤의 모든 서버들 사이의 토큰 고유성이 보장되도록 한다. 따라서, 소정의 실시예에서, 서버는 다른 엔티티, 예를 들면, 장치(150)의 실시예로부터 토큰 또는 데이터 패킷 관련성에 대한 정보를 수신하도록 구성될 수 있다. 장치(100)의 다른 실시예에서, 수신하도록 구성된 수단(140)은 상이한 네트워크 목적지 엔티티로부터 추가의 응답 데이터 패킷을 수신하도록 더 구성될 수 있으며, 추가의 응답 데이터 패킷은 데이터 패킷 관련성에 대한 정보를 포함하고, 장치는 추가의 응답 데이터 패킷으로부터 데이터 관련성에 대한 정보를 제거하거나 또는 데이터 관련성에 대한 정보를 추가의 응답 데이터 패킷에서의 데이터 관련성에 대한 상이한 정보로 변경하도록 구성된 수단을 포함한다. 즉, 동일한 데이터 패킷 관련성에 대한 동일한 정보를 포함하는, 즉, 동일한 토큰을 이용하는 2개의 응답 데이터 패킷들이 수신된다면, 실시예는 데이터 패킷 관련성에 대한 제2 정보를 제거하거나 또는 변경할 수 있다. 부하 균형기와의 상호작용 또는 조정없이 토큰들이 서버들에 의해 선택되는 시나리오에서, 그러한 실시예들은 충돌을 방지할 수 있다.
부하 균형기의 실시예는 각각의 토큰에 대해, 그것이 아직 사용중이 아님을 입증할 수 있다. 중첩 또는 충돌의 경우에, 부하 균형기는 예를 들면, 다중경로 TCP에 대한 SYN/ACK 패킷으로부터 대응하는 TCP 옵션을 제거함으로써, 다중경로 전송의 이용을 방지할 수 있다. 다른 실시예들에서, 부하 균형기는 세션의 모든 연결된 접속들에 대해, 토큰을 다른 값에 의해 투명하게 대체할 수 있다. 다른 실시예들에서, 서버 팜의 앞에서의 수 개의 부하 균형기들이 이용될 수 있다. 그 다음, 부하 균형기들은, 예를 들면, 시그널링 방법에 의해 조정하여, 전술한 방법을 실행할 수 있다. 즉, 그러한 실시예들에서, 장치(100)는 네트워크 엔티티로부터 데이터 관련성 패킷을 수신하도록 구성된 수단을 더 포함할 수 있으며, 데이터 관련성 패킷은 상이한 데이터 패킷 관련성들에 대한 정보를 포함한다. 즉, 그러한 실시예들에서, 예를 들면, 데이터 관련성 패킷들을 이용하여 서로 간에 데이터 패킷 관련성에 대한 정보를 조정하는 다수의 장치들이 실현될 수 있다.
도 9는 MPTCP를 갖는 실시예를 도시한다. 도 9는 소정의 시나리오의 실시예를 도시하며, MPTCP 지원을 갖는 모바일 단말기(900)는 3G(3rd generation cellular network)(905) 무선 인터페이스를 통한 연결된 접속 및 Wi-Fi(910)를 통한 제2 연결된 접속을 이용하여 인터넷(915)에 접속한다. 두 접속들은 함께 MPTCP 세션(920)을 형성한다. 모바일 단말기(900)는 웹 서버로부터 데이터를 요청하고, 도 9에 도시된 시나리오에서, 전술한 장치(100)의 실시예를 포함하는 MPTCP 인지 부하 균형기(925) 뒤에 웹 서버 팜(930)이 존재한다. 다중경로 TCP(MPTCP)는 IETF에 의해 현재 표준화되는 TCP 확장이다. 현재의 프로토콜 설계는 IETF 드래프트에 기술되어 있는데, A. Ford, C. Raicui, M. Handley, "TCP Extensions for Multipath Operation with Multiple Addresses", IETF Internet Draft, work in progress, July 2010, draft-ietf-mptcp-multiaddressed-01을 참조하면 된다. 현재의 프로토콜 사양에 따르면, MPTCP는 TCP 헤더에서의 TCP 옵션들에 의해 '할당' 및 '결합' 메시지들을 구현한다. 두 메시지들은 SYN 플래그를 갖는 패킷들에서만 나타날 것이며, 그것은 부하 균형기(925)에 대해 메시지들을 검출 및 분석하기 쉽게 만든다. 두 경우들에 있어서, 토큰 정보는 TCP 옵션 내에서 인코딩된다. 도 9에 도시된 실시예에서, 모바일 단말기(900)는 멀티-홈드 단말기(multi-homed terminal), 즉, 하나보다 많은 액티브 네트워크 인터페이스를 갖는 단말기인 것으로 가정한다. 이러한 경우, MPTCP는 TCP 접속에 대한 두 인터페이스들의 병렬 이용을 허용한다. 도 9의 실시예에서, 모바일 단말기(900)는 3G(905) 및 Wifi(910) 인터페이스(WiFi-Alliance)를 통해 웹 사이트에 액세스한다. 웹 사이트는 웹 서버 팜(930)에서 호스팅되며, 부하 균형기(925)가 트래픽을 n개의 웹 서버들(930)에 분배한다. 단말기(900)는 최상부에 도시된 제1 웹 서버와 통신하는 것으로 가정한다. 서버 팜(930)의 앞쪽에서의 부하 균형기(925)는 실시예를 이용하여, MPTCP 세션을 형성하는 2개의 연결된 접속들이 실제로 동일한 웹 서버에 할당되는 것을 보장한다.
더욱이, 실시예들은 컴퓨터 프로그램이 컴퓨터 또는 프로세서 상에서 실행될 때, 전술한 방법들 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램을 제공할 수 있다. 본 기술분야의 당업자라면, 전술한 다양한 방법들의 단계들은 프로그래밍된 컴퓨터들에 의해 수행될 수 있음을 쉽게 인식할 것이다. 여기서, 일부 실시예들은 인스트럭션들의 머신 또는 컴퓨터 판독가능 및 인코드 머신 실행가능 또는 컴퓨터 실행가능 프로그램들인 프로그램 저장 디바이스들, 예를 들면, 디지털 데이터 저장 매체를 커버하도록 또한 의도되며, 상기 인스트럭션들은 전술한 방법들의 단계들 중 일부 또는 전부를 수행한다. 프로그램 저장 디바이스들은, 예를 들면, 디지털 메모리들, 자기 디스크들 및 자기 테이프들과 같은 자기 저장 매체, 하드 드라이브들, 또는 선택적으로 판독가능한 디지털 데이터 저장 매체일 수 있다. 또한, 실시예들은 전술한 방법들의 상기 단계들을 수행하도록 프로그래밍된 컴퓨터들을 커버하도록 의도된다.
설명 및 도면은 단지 본 발명의 원리들을 예시하는 것이다. 따라서, 본 기술분야의 당업자라면, 본 명세서에서 명시적으로 기술되거나 또는 도시되지 않았지만, 본 발명의 원리들을 구현하며, 본 발명의 사상 및 영역 내에 포함되는 다양한 구성들을 고안할 수 있음을 이해할 것이다. 더욱이, 본 명세서에서 인용된 모든 예들은, 본 발명의 원리들 및 발명자(들)에 의해 제공된 개념들에 대한 이해를 돕기 위한 교육적인 목적들만을 주로 명시적으로 의도하며, 그러한 구체적으로 인용된 예들 및 조건들로 제한되지 않는 것으로 이해된다. 더욱이, 본 발명의 원리들, 양상들, 및 실시예들을 서술하는 본 명세서에서의 모든 설명들 뿐만 아니라, 그 특정한 예들은, 그것의 등가물들을 포함하는 것으로 의도된다.
"수단", "수신하도록 구성된 수단", "선택하도록 구성된 수단", "전달하도록 구성된 수단", "제거하도록 구성된 수단", "변경하도록 구성된 수단", "통지하도록 구성된 수단", "생성하도록 구성된 수단" 또는 "제공하도록 구성된 수단"으로서 라벨링된 임의의 기능 블록들을 포함하는, 도면들에 도시된 다양한 요소들의 기능들은, 예를 들면, 수신기, 선택기, 전달기, 제거기, 변경기, 통지기, 생성기, 제공기, 프로세서, 제어기, 트랜시버로서의 전용 하드웨어 뿐만 아니라, 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 수 있는 하드웨어의 이용을 통해 제공될 수 있다. 프로세서에 의해 제공될 때, 기능들은 단일의 전용 프로세서에 의해, 단일의 공유된 프로세서에 의해, 또는 그 일부는 공유될 수 있는 복수의 개별적인 프로세서들에 의해 제공될 수 있다. 더욱이, "프로세서" 또는 "제어기" 라는 용어의 명시적인 이용은, 소프트웨어를 실행할 수 있는 하드웨어만을 지칭하는 것으로 해석되지 않아야 하며, 암시적으로는, 제한없이, 디지털 신호 프로세서(DSP) 하드웨어, 네트워크 프로세서, ASIC(application specific integrated circuit), FPGA(field programmable gate array), 소프트웨어를 저장하기 위한 ROM(read only memory), RAM(random access memory), 및 비휘발성 저장소를 포함할 수 있다. 통상적인 및/또는 관습적인 다른 하드웨어도 포함될 수 있다.
본 기술분야의 당업자라면, 본 명세서에서의 임의의 블록도들은 본 발명의 원리들을 구현하는 예시적인 회로의 개념적인 모습을 나타냄을 이해해야 한다. 유사하게, 임의의 플로우 챠트들, 흐름도들, 상태 천이도들, 의사 코드 등은, 컴퓨터 판독가능 매체에서 실질적으로 표현될 수 있으며, 그러므로 컴퓨터 또는 프로세서에 의해, 그러한 컴퓨터 또는 프로세서가 명시적으로 도시되는지의 여부와 관계없이, 실행될 수 있는 다양한 프로세스들을 나타냄을 이해할 것이다.

Claims (12)

  1. 현재 데이터 패킷을 현재 소스 네트워크 엔티티로부터 현재 목적지 네트워크 엔티티로 전달하도록 구성된 장치(100) - 상기 현재 목적지 네트워크 엔티티는 복수의 목적지 네트워크 엔티티들로부터 선택됨 - 로서,
    상기 현재 데이터 패킷을 수신하도록 구성된 수단(110)과,
    부하 균형 기준에 기초하여 상기 현재 목적지 네트워크 엔티티를 선택하도록 구성된 수단(120)과,
    상기 현재 데이터 패킷을 상기 현재 목적지 네트워크 엔티티로 전달하도록 구성된 수단(130)과,
    상기 현재 네트워크 목적지 엔티티로부터 응답 데이터 패킷을 수신하도록 구성된 수단(140) - 상기 응답 데이터 패킷은 데이터 패킷 관련성에 대한 정보를 포함하고, 상기 데이터 패킷 관련성은 데이터 소스와 데이터 목적지 사이의 데이터 세션에 속하는 복수의 상이한 데이터 패킷들 사이의 관련성임 - 을 포함하고,
    상기 선택하도록 구성된 수단(120)은 상기 관련성에 대한 정보 및 상기 현재 목적지 네트워크 엔티티에 대한 정보를 저장하도록 더 구성되고, 상기 수신하도록 구성된 수단(110)은 상이한 소스 네트워크 엔티티로부터 관련된 데이터 패킷을 수신하도록 더 구성되고, 상기 관련된 데이터 패킷은 상기 응답 데이터 패킷 이후에 수신되고, 상기 관련된 데이터 패킷은 상기 데이터 세션에 속하며 상기 데이터 패킷 관련성에 대한 정보를 포함하고, 상기 선택하도록 구성된 수단(120)은 상기 데이터 패킷 관련성에 대한 정보에 기초하여 상기 현재 목적지 네트워크 엔티티를 선택하도록 더 구성되고, 상기 전달하도록 구성된 수단(130)은 상기 관련된 데이터 패킷을 상기 현재 목적지 네트워크 엔티티로 전달하도록 더 구성되는
    장치.
  2. 제1항에 있어서,
    상기 응답 데이터 패킷에 포함된 상기 데이터 패킷 관련성에 대한 정보는, 상기 관련된 데이터 패킷에 포함된 상기 데이터 패킷 관련성에 대한 정보와 동일한
    장치.
  3. 제2항에 있어서,
    상기 데이터 패킷 관련성에 대한 정보는 다중경로 TCP의 토큰에 대응하는
    장치.
  4. 제1항에 있어서,
    상기 응답 데이터 패킷에 포함된 상기 데이터 패킷 관련성에 대한 정보는, 상기 관련된 데이터 패킷에 포함된 정보와는 상이한
    장치.
  5. 제4항에 있어서,
    상기 응답 데이터 패킷에 포함된 상기 데이터 패킷 관련성에 대한 정보는 다중경로 TCP의 상이한 토큰들의 세트에 대응하고, 상기 관련된 데이터 패킷에 포함된 상기 데이터 패킷 관련성에 대한 정보는 상기 다중경로 TCP의 상이한 토큰들의 세트에 포함된 다중경로 TCP의 토큰에 대응하는
    장치.
  6. 제1항에 있어서,
    상기 선택하도록 구성된 수단(120)은 상기 데이터 패킷 관련성에 대한 정보와 함께 상기 현재 목적지 네트워크 엔티티에 대한 정보를 저장하도록 더 구성되는
    장치.
  7. 제1항에 있어서,
    상기 선택하도록 구성된 수단(120)은 상기 데이터 패킷 관련성에 대한 정보를 포함하는 데이터 패킷을 수신하지 않고서 미리 정의된 시간이 경과한 후에, 또는 상기 데이터 패킷 관련성을 해제(tear down)하기 위한 요청을 포함하는 데이터 패킷들의 수신 후에, 저장소로부터 상기 데이터 패킷 관련성에 대한 정보를 제거하도록 더 구성되는
    장치.
  8. 제1항에 있어서,
    상기 수신하도록 구성된 수단(140)은 상이한 네트워크 목적지 엔티티로부터 추가의 응답 데이터 패킷을 수신하도록 더 구성되고, 상기 추가의 응답 데이터 패킷은 상기 데이터 패킷 관련성에 대한 정보를 또한 포함하고, 상기 장치는 상기 추가의 응답 데이터 패킷으로부터 상기 데이터 패킷 관련성에 대한 정보를 제거하거나 또는 상기 추가의 응답 데이터 패킷에서의 상기 데이터 패킷 관련성에 대한 정보를 변경하도록 구성된 수단을 포함하는
    장치.
  9. 제8항에 있어서,
    상기 데이터 패킷 관련성에 대한 정보의 제거 또는 변경에 대해 상기 상이한 네트워크 목적지 엔티티에게 통지하도록 구성된 수단을 더 포함하는
    장치.
  10. 제7항에 있어서,
    네트워크 엔티티로부터 데이터 관련성 패킷을 수신하도록 구성된 수단을 더 포함하고, 상기 데이터 관련성 패킷은 상이한 데이터 패킷 관련성들에 대한 정보를 포함하는
    장치.
  11. 현재 데이터 패킷을 현재 소스 네트워크 엔티티로부터 현재 목적지 네트워크 엔티티로 전달하는 방법 - 상기 현재 목적지 네트워크 엔티티는 복수의 목적지 네트워크 엔티티들로부터 선택됨 - 으로서,
    상기 현재 데이터 패킷을 수신하는 단계(600)와,
    부하 균형 기준에 기초하여 상기 현재 목적지 네트워크 엔티티를 선택하는 단계(610)와,
    상기 현재 데이터 패킷을 상기 현재 목적지 네트워크 엔티티로 전달하는 단계(620)와,
    상기 현재 네트워크 목적지 엔티티로부터 응답 데이터 패킷을 수신하는 단계(630) - 상기 응답 데이터 패킷은 데이터 패킷 관련성에 대한 정보를 포함하고, 상기 데이터 패킷 관련성은 데이터 소스와 데이터 목적지 사이의 데이터 세션에 속하는 복수의 상이한 데이터 패킷들 사이의 관련성임 - 와,
    상기 관련성에 대한 정보 및 상기 현재 목적지 네트워크 엔티티에 대한 정보를 저장하는 단계(640)와,
    상이한 소스 네트워크 엔티티로부터 관련된 데이터 패킷을 수신하는 단계 - 상기 관련된 데이터 패킷은 상기 응답 데이터 패킷 이후에 수신되고, 상기 관련된 데이터 패킷은 상기 데이터 세션에 속하고, 상기 데이터 패킷 관련성에 대한 정보를 포함함 - 와,
    상기 데이터 패킷 관련성에 대한 정보에 기초하여 상기 현재 목적지 네트워크 엔티티를 선택하는 단계와,
    상기 관련된 데이터 패킷을 상기 현재 목적지 네트워크 엔티티로 전달하는 단계를 포함하는
    방법.
  12. 컴퓨터 프로그램이 컴퓨터 또는 프로세서 상에서 실행될 때, 제11항의 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램을 포함하는 컴퓨터 판독가능 저장 매체.
KR1020137025963A 2011-03-02 2012-02-16 데이터 패킷 관련성에 대한 정보를 제공하고, 데이터 패킷을 전달하는 개념 KR101467726B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11156508.1A EP2495927B1 (en) 2011-03-02 2011-03-02 Concept for providing information on a data packet association and for forwarding a data packet
EP11156508.1 2011-03-02
PCT/EP2012/052699 WO2012116897A1 (en) 2011-03-02 2012-02-16 Concept for providing information on a data packet association and for forwarding a data packet

Publications (2)

Publication Number Publication Date
KR20140052979A KR20140052979A (ko) 2014-05-07
KR101467726B1 true KR101467726B1 (ko) 2014-12-01

Family

ID=44176247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137025963A KR101467726B1 (ko) 2011-03-02 2012-02-16 데이터 패킷 관련성에 대한 정보를 제공하고, 데이터 패킷을 전달하는 개념

Country Status (5)

Country Link
US (1) US9674054B2 (ko)
EP (1) EP2495927B1 (ko)
JP (1) JP5726336B2 (ko)
KR (1) KR101467726B1 (ko)
WO (1) WO2012116897A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US9455897B2 (en) * 2010-04-06 2016-09-27 Qualcomm Incorporated Cooperative bandwidth aggregation using multipath transport
JP5960690B2 (ja) * 2011-04-19 2016-08-02 株式会社Murakumo ネットワークアクセスシステム
US9451415B2 (en) 2011-06-17 2016-09-20 Qualcomm Incorporated Cooperative data transport
US9264353B2 (en) 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
EP2898639A1 (en) * 2012-09-24 2015-07-29 Telefonaktiebolaget L M Ericsson (publ) Traffic shaping and steering for a multipath transmission control protocol connection
CN104854837B (zh) * 2012-12-14 2017-10-20 瑞典爱立信有限公司 处理通信网络中的多路径传输控制协议信令的方法和装置
DE102013206661A1 (de) * 2013-04-15 2014-10-16 Robert Bosch Gmbh Kommunikationsverfahren zum Übertragen von Nutzdaten sowie entsprechendes Kommunikationssystem
CN103269358B (zh) * 2013-04-24 2015-11-18 陕西师范大学 一种机会网络下的视频流共享方法
CN103327006B (zh) * 2013-05-17 2016-12-28 北京邮电大学 多接入网络中的安全方法
GB201309249D0 (en) * 2013-05-22 2013-07-03 Vodafone Ip Licensing Ltd Content optimisation using 3G measurements
US9456464B2 (en) 2013-06-06 2016-09-27 Apple Inc. Multipath TCP subflow establishment and control
KR102139721B1 (ko) * 2013-08-29 2020-07-30 삼성전자주식회사 다중 경로 프로토콜에서 이중으로 네트워크 코딩을 적용하는 방법 및 그 장치
EP2854357A1 (en) * 2013-09-30 2015-04-01 Thomson Licensing Method for connecting a first host and a second host within at least one communication network through a relay module, corresponding relay module
US20150281367A1 (en) * 2014-03-26 2015-10-01 Akamai Technologies, Inc. Multipath tcp techniques for distributed computing systems
US9935918B2 (en) * 2014-05-30 2018-04-03 Apple Inc. Cloud-based infrastructure for determining reachability of services provided by a server
US9578109B2 (en) * 2014-05-30 2017-02-21 Apple Inc. Long-lived MPTCP sessions
KR101746191B1 (ko) * 2014-06-27 2017-06-12 주식회사 케이티 다중 경로 통신을 위한 네트워크 장치 및 단말, 이들의 동작 방법, 그리고 동작 방법을 구현한 프로그램
FR3024004A1 (fr) * 2014-07-21 2016-01-22 Orange Procede de communication tcp via des chemins multiples entre deux terminaux
EP3163830B1 (en) * 2014-07-21 2018-09-19 Huawei Technologies Co., Ltd. Link control node, link control method and medium
US10296973B2 (en) * 2014-07-23 2019-05-21 Fortinet, Inc. Financial information exchange (FIX) protocol based load balancing
US10142965B2 (en) 2014-08-01 2018-11-27 Alcatel Lucent Methods and devices for providing application services to users in communications network
JP6468506B2 (ja) * 2014-09-30 2019-02-13 華為技術有限公司Huawei Technologies Co.,Ltd. マルチパス伝送制御プロトコルによる通信のためのアドレス管理装置、システム、および方法
US10244580B2 (en) * 2014-10-16 2019-03-26 Nokia Of America Corporation Methods and devices for providing application services to users in communications network
US9497123B2 (en) * 2014-12-18 2016-11-15 Telefonaktiebolaget L M Ericsson (Publ) Method and system for load balancing in a software-defined networking (SDN) system upon server reconfiguration
US10924533B2 (en) * 2015-04-01 2021-02-16 Telefonaktiebolaget Lm Ericsson (Publ) System, apparatus and method for load balancing
FR3038475A1 (fr) * 2015-07-01 2017-01-06 Orange Procede d' optimisation de la charge d' un concentrateur de connexions reseau
US10476992B1 (en) * 2015-07-06 2019-11-12 F5 Networks, Inc. Methods for providing MPTCP proxy options and devices thereof
WO2017007705A1 (en) 2015-07-06 2017-01-12 Shape Security, Inc. Asymmetrical challenges for web security
WO2017028898A1 (en) * 2015-08-17 2017-02-23 Telefonaktiebolaget Lm Ericsson (Publ) Remote access to a residential multipath entity
WO2017144123A1 (en) * 2016-02-26 2017-08-31 Nec Europe Ltd. Load balancer for multipath-capable clients and servers
EP3244581B1 (en) 2016-05-09 2020-03-04 Alcatel Lucent Multi-path wireless communication
CN109691152B (zh) 2016-11-08 2020-09-08 华为技术有限公司 融合控制器选择方法、设备及系统
EP3364624A1 (en) * 2017-02-20 2018-08-22 Nokia Solutions and Networks Oy A method of distributing a sub-flow associated with a session and a network apparatus
WO2018165190A1 (en) 2017-03-07 2018-09-13 Akamai Technologies, Inc. Cooperative multipath
EP3603027A1 (en) * 2017-03-31 2020-02-05 Convida Wireless, LLC Interworking lpwan end nodes in mobile operator network
KR20220035977A (ko) * 2017-08-11 2022-03-22 아이디에이씨 홀딩스, 인크. 다수의 액세스 네트워크 간의 트래픽 조종 및 스위칭
CN110004286B (zh) * 2018-01-04 2020-10-27 中冶长天国际工程有限责任公司 基于烧结低氮氧化物燃烧的改性焦粉及改性方法和系统、铁矿烧结方法
CN113132248A (zh) * 2019-12-30 2021-07-16 网宿科技股份有限公司 负载均衡方法、设备及系统
US11979457B2 (en) 2020-11-06 2024-05-07 F5, Inc. Managing network services using multipath protocols
WO2022148981A1 (en) * 2021-01-08 2022-07-14 Citrix Systems Inc. Validating session tokens using network properties
US11647083B2 (en) * 2021-07-20 2023-05-09 Citrix Systems, Inc. Cluster-aware multipath transmission control protocol (MPTCP) session load balancing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6856991B1 (en) * 2002-03-19 2005-02-15 Cisco Technology, Inc. Method and apparatus for routing data to a load balanced server using MPLS packet labels

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120743A1 (en) * 2001-02-26 2002-08-29 Lior Shabtay Splicing persistent connections
JP4326764B2 (ja) * 2001-10-31 2009-09-09 富士通株式会社 負荷分散装置
US8090866B1 (en) * 2002-01-18 2012-01-03 Cisco Technology, Inc. TCP proxy connection management in a gigabit environment
US20050108397A1 (en) * 2003-11-14 2005-05-19 International Business Machines Corporation Reducing number of messages processed by control processor by bundling control and data messages and offloading the TCP connection setup and termination messages
US20060029000A1 (en) * 2004-05-14 2006-02-09 International Business Machines Corporation Connection establishment in a proxy server environment
US20070149123A1 (en) * 2005-12-28 2007-06-28 Arto Palin Multiple radio usage in a wireless communications device
US7643427B2 (en) * 2006-03-28 2010-01-05 Nec Laboratories America, Inc. Multipath routing architecture for large data transfers
US20080235382A1 (en) * 2007-01-22 2008-09-25 The Regents Of The University Of Colorado Fault tolerant tcp splice systems and methods
WO2010109054A1 (en) * 2009-03-24 2010-09-30 Nokia Corporation Selection of transmission parameters for wireless connection
US20120144062A1 (en) * 2010-06-04 2012-06-07 Interdigital Patent Holdings, Inc. MPTCP And Mobile IP Interworking
US8843645B2 (en) * 2010-06-24 2014-09-23 Citrix Systems, Inc. Systems and methods for detecting incomplete requests, TCP timeouts and application timeouts
US20120054316A1 (en) * 2010-09-01 2012-03-01 Canon Kabushiki Kaisha Tcp multiplexing over a proxy
US8400923B2 (en) * 2010-10-15 2013-03-19 Telefonaktiebolaget L M Ericsson (Publ) Multipath transmission control protocol proxy
TW201233111A (en) * 2010-10-15 2012-08-01 Interdigital Patent Holdings Socket application program interface (API) extension
US8547835B2 (en) * 2010-10-21 2013-10-01 Telefonaktiebolaget L M Ericsson (Publ) Controlling IP flows to bypass a packet data network gateway using multi-path transmission control protocol connections
US20120331160A1 (en) * 2011-06-22 2012-12-27 Telefonaktiebolaget L M Ericsson (Publ) Multi-path transmission control protocol proxy service

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6856991B1 (en) * 2002-03-19 2005-02-15 Cisco Technology, Inc. Method and apparatus for routing data to a load balanced server using MPLS packet labels

Also Published As

Publication number Publication date
JP2014511624A (ja) 2014-05-15
WO2012116897A1 (en) 2012-09-07
EP2495927A1 (en) 2012-09-05
EP2495927B1 (en) 2014-10-08
US9674054B2 (en) 2017-06-06
JP5726336B2 (ja) 2015-05-27
US20130318239A1 (en) 2013-11-28
KR20140052979A (ko) 2014-05-07

Similar Documents

Publication Publication Date Title
KR101467726B1 (ko) 데이터 패킷 관련성에 대한 정보를 제공하고, 데이터 패킷을 전달하는 개념
US9876760B2 (en) Peer-to-peer connection establishment using turn
US9762494B1 (en) Flow distribution table for packet flow load balancing
US10574763B2 (en) Session-identifer based TWAMP data session provisioning in computer networks
CN102075445B (zh) 负载均衡方法及装置
US11277341B2 (en) Resilient segment routing service hunting with TCP session stickiness
WO2017209932A1 (en) Link status monitoring based on packet loss detection
US11075836B2 (en) Reverse forwarding information base enforcement
US10412159B1 (en) Direct load balancing using a multipath protocol
CN103597794B (zh) 用于提供关于数据数组关联的信息以及用于转发数据数组的设想
WO2017209923A1 (en) Detecting source network address translation in a communication system
CN108881018B (zh) 用于在diameter信令路由器处路由diameter消息的方法、系统及装置
US10367893B1 (en) Method and apparatus of performing peer-to-peer communication establishment
US11784912B2 (en) Intelligently routing internet traffic
WO2021008591A1 (zh) 数据传输方法、装置及系统
EP3750073B1 (en) A method for seamless migration of session authentication to a different stateful diameter authenticating peer
CN114503531A (zh) 分布式端点的管理
Barré et al. Implementation and evaluation of the Shim6 protocol in the Linux kernel
EP3364624A1 (en) A method of distributing a sub-flow associated with a session and a network apparatus
WO2020048622A1 (en) A method, apparatus & computer program
Bagnulo et al. An incremental approach to IPv6 multihoming
Binet et al. Multipath TCP (MPTCP): motivations, status, and opportunities for the future internet
Nelson Internet-scale reactive routing and mobility
Bonaventure One path is not enough anymore

Legal Events

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

Payment date: 20171116

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191029

Year of fee payment: 6