KR101557853B1 - 애플리케이션 계층에서 다수의 인터페이스들의 결속/애그리게이트 - Google Patents
애플리케이션 계층에서 다수의 인터페이스들의 결속/애그리게이트 Download PDFInfo
- Publication number
- KR101557853B1 KR101557853B1 KR1020147032450A KR20147032450A KR101557853B1 KR 101557853 B1 KR101557853 B1 KR 101557853B1 KR 1020147032450 A KR1020147032450 A KR 1020147032450A KR 20147032450 A KR20147032450 A KR 20147032450A KR 101557853 B1 KR101557853 B1 KR 101557853B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet data
- network interfaces
- requests
- data communication
- routing table
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
클라이언트의 번들러 유틸리티는 애플리케이션 계층이 이용할 수 있는 대역폭을 증가시키기 위해, 애플리케이션 계층에서 2개 또는 그 초과의 네트워크 인터페이스들을 결속/애그리게이트하는 목적을 달성한다. 이 인터페이스는 디바이스의 라우팅 테이블 내의 가장 긴 프리픽스 매치에 의해 결정된다. 번들러 유틸리티는, IP 스택에 대해 변경을 도입시키기 보다는, 클라이언트 소프트웨어에 어떠한 변경도 요구하지 않고(즉, 브라우저 변경없이) 그리고 웹 서버들 상에서 변경들을 요구하지 않고, 전개될 수 있는 링크 애그리게이션 문제에 대한 솔루션을 제시한다.
Description
본 특허 출원은, 2009년 12월 18일에 출원되고 본 양수인에게 양도되고 본 명세서에 참조로 명백하게 포함되고 발명의 명칭이 "HTTP Optimization, Multi-Homing, Mobility and Priority"인 가출원 제 61/288,119호에 대해 우선권을 주장한다.
본 개시는 일반적으로 통신에 관한 것이고, 더 구체적으로는 무선 통신 네트워크에서 하이퍼텍스트(hypertext) 패킷 데이터 컨텐츠를 리트리브(retrieve)하기 위한 기술들에 관한 것이다.
하이퍼텍스트 전송 프로토콜(HTTP)은 웹 브라우저들 및 웹 애플리케이션들에 의해 이용되는 주요 통신 프로토콜이다. 컨텐츠 전달 네트워크들의 형태로 HTTP 프로토콜의 효율적인 동작을 지원하기 위해, 인터넷 내에서 큰 인프라구조가 성장하고 있다. 그 결과, 증가하는 수의 애플리케이션들이 HTTP 프로토콜로 이동하고 있다. 이러한 이동에 대한 다른 이유들(예를 들어, 네트워크 어드레스 변환(NAT) 및 방화벽 횡단(firewall traversal))이 존재하지만, 이는 메인 드라이버인 웹 인프라구조의 대량의 확장성을 레버리지하는 능력이다.
현재의 웹 사이트들은 각각 HTTP를 이용하여 개별적으로 요청되어야 하는 수십 또는 수백개의 객체들을 포함하여 종종 극도로 복잡하다. 객체들이 서버로부터 클라이언트로 전달될 수 있게 하는 속도를 개선하기 위해 HTTP 내에서 다양한 최적화들이 정의되어 왔다. 유선 네트워크들 내에서는 이 최적화들의 애플리케이션에 대해 상당량의 작업이 행해져 왔지만, 높은 라운드 트립 시간(RTT) 및 매우 가변적인 대역폭을 갖는 더 도전적인 모바일 환경들에서 이 특징들이 어떻게 동작하고 결합하는지를 이해하는 것은 풀리지 않은 문제점으로 남아있다. 특히, 많은 HTTP 작업은, 모바일 네트워크들의 특성들이 현재와는 상당히 다른 수년전에 수행되었음을 유의해야 한다.
하기 설명은 개시된 양상들 중 몇몇 양상들의 기본적 이해를 제공하기 위해 간략화된 요약을 제공한다. 이 요약은 포괄적인 개요는 아니며, 핵심적이거나 중요한 엘리먼트들을 식별하거나, 이러한 양상들의 범위를 기술하고자 하는 의도는 아니다. 그 유일한 목적은 후에 제시되는 더 상세한 설명에 대한 도입부로서 간략화된 형태로 설명된 특징들의 몇몇 개념들을 제시하기 위함이다.
일 양상에서, 복수의 네트워크 인터페이스들을 번들링(bundling)하는 단계, 번들링된 복수의 네트워크 인터페이스들을 통해 패킷 데이터 통신을 위한 다수의 병렬 접속들을 구축하는 단계, 및 웹 서버들 상에 각각 저장된 패킷 데이터 부분들로 이루어진 하이퍼텍스트 전송 프로토콜(http) 객체들을 리트리브하기 위해 다수의 병렬 접속들을 통해 복수의 요청들을 송신하는 단계에 의한, 패킷 데이터 통신들을 위한 방법이 제공된다.
다른 양상에서, 패킷 데이터 통신들을 위한 적어도 하나의 프로세서가 제공된다. 제 1 모듈이 복수의 네트워크 인터페이스들을 번들링한다. 제 2 모듈이 번들링된 복수의 네트워크 인터페이스들을 통해 패킷 데이터 통신을 위한 다수의 병렬 접속들을 구축한다. 제 3 모듈이 웹 서버들 상에 각각 저장된 패킷 데이터 부분들로 이루어진 http 객체들을 리트리브하기 위해 다수의 병렬 접속들을 통해 복수의 요청들을 송신한다.
추가적 양상에서, 코드의 세트들을 저장하는 비일시적(non-transitory) 컴퓨터 판독가능 매체를 포함하는 패킷 데이터 통신들을 위한 컴퓨터 프로그램 물건이 제공된다. 코드의 제 1 세트가 컴퓨터로 하여금, 복수의 네트워크 인터페이스들을 번들링하게 한다. 코드의 제 2 세트가 컴퓨터로 하여금, 번들링된 복수의 네트워크 인터페이스들을 통해 패킷 데이터 통신을 위한 다수의 병렬 접속들을 구축하게 한다. 코드의 제 3 세트가 컴퓨터로 하여금, 웹 서버들 상에 각각 저장된 패킷 데이터 부분들로 이루어진 http 객체들을 리트리브하기 위해 다수의 병렬 접속들을 통해 복수의 요청들을 송신하게 한다.
추가적 양상에서, 패킷 데이터 통신들을 위한 장치가 제공된다. 장치는 복수의 네트워크 인터페이스들을 번들링하기 위한 수단을 포함한다. 장치는 번들링된 복수의 네트워크 인터페이스들을 통해 패킷 데이터 통신을 위한 다수의 병렬 접속들을 구축하기 위한 수단을 포함한다. 장치는 웹 서버들 상에 각각 저장된 패킷 데이터 부분들로 이루어진 http 객체들을 리트리브하기 위해 다수의 병렬 접속들을 통해 복수의 요청들을 송신하기 위한 수단을 포함한다.
또 다른 양상에서, 복수의 네트워크 인터페이스들을 이용한 패킷 데이터 통신들을 위한 장치가 제공된다. 번들러(bundler) 유틸리티가 복수의 네트워크 인터페이스들을 번들링한다. 번들러 유틸리티는 번들링된 복수의 네트워크 인터페이스들을 통해 패킷 데이터 통신을 위한 다수의 병렬 접속들을 구축한다. 복수의 네트워크 인터페이스들이 웹 서버들 상에 각각 저장된 패킷 데이터 부분들로 이루어진 http 객체들을 리트리브하기 위해 다수의 병렬 접속들을 통해 복수의 요청들을 송신한다.
상술한 목적 및 관련된 목적들을 달성하기 위해서, 하나 또는 그 초과의 양상들이, 아래에서 완전히 설명되고 특히 청구항에서 특정되는 특징들을 포함한다. 하기 설명 및 첨부된 도면들은 특정한 예시적인 양상들을 상세히 기술하고, 이 양상들의 원리들이 이용될 수 있는 다양한 방식들 중 오직 일부만을 표시한다. 다른 이점들 및 신규한 특징들은 도면들과 관련하여 고려할 때 하기 상세한 설명으로부터 명백해질 것이고, 개시된 양상들은 모든 이러한 양상들 및 이들의 균등물들을 포함하도록 의도된다.
본 개시의 특징들, 성질 및 이점들은 도면들과 관련하여 볼 때 아래에서 기술되는 상세한 설명으로부터 더 명백해질 것이고, 도면들에서 유사한 참조 부호들은 전체에 걸쳐 대응하는 부분을 식별한다.
도 1은 하이퍼텍스트 전송 프로토콜(HTTP) 최적화를 위해 네트워크 인터페이스들 및 프록시 서버의 번들링을 이용하는 통신 시스템의 개략도를 도시한다.
도 2는 HTTP 최적화를 위한 예시적인 무선 액세스 기술들을 위한 통신 시스템의 개략도를 도시한다.
도 3은 네트워크 인터페이스들의 번들링을 위한 방법에 대한 흐름도를 도시한다.
도 4는 네트워크 인터페이스들의 번들링을 위한 전기 컴포넌트들의 로직 그룹의 시스템을 도시한다.
도 5는 HTTP 최적화를 위한 통신 시스템의 개략도를 도시한다.
도 6은 HTTP 최적화를 수행하는 모바일 디바이스에 대한 블록도를 도시한다.
도 1은 하이퍼텍스트 전송 프로토콜(HTTP) 최적화를 위해 네트워크 인터페이스들 및 프록시 서버의 번들링을 이용하는 통신 시스템의 개략도를 도시한다.
도 2는 HTTP 최적화를 위한 예시적인 무선 액세스 기술들을 위한 통신 시스템의 개략도를 도시한다.
도 3은 네트워크 인터페이스들의 번들링을 위한 방법에 대한 흐름도를 도시한다.
도 4는 네트워크 인터페이스들의 번들링을 위한 전기 컴포넌트들의 로직 그룹의 시스템을 도시한다.
도 5는 HTTP 최적화를 위한 통신 시스템의 개략도를 도시한다.
도 6은 HTTP 최적화를 수행하는 모바일 디바이스에 대한 블록도를 도시한다.
증가하는 라운드 트립 시간(RTT)의 영향을 극복하기 위해 병렬 HTTP 접속들 및 파이프라이닝을 결합하는 것에 이점들이 존재한다. 비록 병렬 접속들의 수가, 접촉되어야 하는 별개의 서버들의 세트에 의해 영향을 받을지라도, 일반적으로 알려진 브라우저들은 고정된 수의 병렬 접속들 및 고정된 수의 미처리 요청들을 이용한다.
이제, 도면들을 참조하여 다양한 양상들이 설명된다. 하기 기재에서는, 설명을 위해, 하나 또는 그 초과의 양상들의 철저한 이해를 제공하기 위해 다수의 특정한 세부사항들이 기술된다. 그러나, 이 특정한 세부사항들 없이도 다양한 양상들이 실시될 수 있음은 자명할 것이다. 다른 예들에서, 이 양상들의 설명을 용이하게 하기 위해, 주지의 구조들 및 디바이스들은 블록도 형태로 도시된다.
도 1에는, 인터넷(20)으로 도시된 패킷 데이터 네트워크를 통해 서버(18)로의 패킷 데이터 통신을 위해 프록시(16)에 대한 다수의 인터페이스들(14)을 갖는 클라이언트(12)의 통신 시스템(10)이 도시되어 있다. 프록시(16)를 통한 클라이언트(12)의 번들러 유틸리티(22)는, 애플리케이션 계층(24)이 이용할 수 있는 대역폭을 증가시킬 목적으로, 애플리케이션 계층(24)에서 2개 또는 그 초과의 네트워크 인터페이스들(14)을 함께 결속/애그리게이트(aggregate)하는 목적을 달성한다.
따라서, 클라이언트(12)는, 많은 통신 디바이스들(예를 들어, 랩탑들 및 핸드헬드 디바이스들)이 하나보다 많은 인터페이스(예를 들어, WIFI, 3G, 유선 이더넷 등)를 구비하고 있다는 점에서 도전을 극복할 수 있다. 클라이언트 상의 애플리케이션이 수신지 IP 어드레스에 패킷을 전송하는 경우, 패킷은 단일한 인터페이스를 통해 이동하도록 결속된다. 이 인터페이스는 디바이스의 라우팅 테이블 내의 가장 긴 프리픽스 매치에 의해 결정된다. 본 혁신안은, IP 스택에 대해 변경을 도입시키기 보다는, 클라이언트 소프트웨어에 어떠한 변경도 요구하지 않고(즉, 브라우저 변경없이) 그리고 웹 서버들 상에서 변경들을 요구하지 않고, 전개될 수 있는 링크 애그리게이션(aggregation) 문제에 대한 솔루션을 제시한다.
도 2에는, 예시적인 양상이 통신 시스템(40)을 도시하고, 여기서, 클라이언트(42)는 2개 또는 그 초과의 NIC(Network Interface Controller) 카드들을 갖는 프록시 (서버)(50)를 이용하여 단일한 인터페이스를 지시하는 라우팅 테이블(48)을 회피함으로써 애플리케이션(46)의 동작을 최적화하는 번들러 유틸리티(44)를 통합한다.
클라이언트(42)의 라우팅 테이블(48)은 프록시 IP 어드레스들 각각에 대한 별개의 루트들(52, 54)을 갖도록 구성되고, 이들 별개의 라우팅 테이블 엔트리들 각각은 클라이언트 상의 상이한 인터페이스에 결속된다. 예를 들어, 프록시의 IP 어드레스 IP_1로 향하는 패킷들은 클라이언트의 WIFI 인터페이스를 통해 전송되고, 프록시의 IP 어드레스 IP_2로 향하는 패킷들은 클라이언트의 3G 인터페이스를 통해 전송된다. 예시적인 도시에서, 제 1 루트는, 고속 패킷 액세스(HSPA) 인터페이스(56), 에어 인터페이스(58), 인터넷(62)을 통하는 프록시 서버(50)에 대한 HSPA 네트워크(60)를 포함하여, 결국 수신지 웹 서버(64)에 액세스할 수 있다. 제 2 루트는, 또한 EVDO(Evolution Data Only)로도 알려진 에볼루션 데이터 최적화 인터페이스(66), 에어 인터페이스(68), 인터넷(62)을 통하는 프록시 서버(50)에 대한 EVDO 네트워크(70)를 포함하여, 결국 수신지 웹 서버(64)에 액세스할 수 있다.
단일한 프록시 서버(50)에 대해 대안적으로 또는 그에 부가하여, 동일한 네트워크 인터페이스, 상이한 네트워크 인터페이스들 또는 이들의 조합을 이용하여 복수의 프록시 서버들(50)이 이용될 수 있다. 개별적인 서버들을 이용하는 것은, 클라이언트의 네트워크 인터페이스들 각각에 대한 각각의 프록시 서버가 그 인터페이스에 대한 게이트웨이에 더 근접한 위치에 상주할 수 있다는 장점을 가질 수 있다. 예를 들어, HSPA 인터페이스에 대한 프록시는 HSPA 네트워크 게이트웨이에 근접하게 상주할 수 있고, EVDO 프록시의 경우에도 마찬가지이다.
이제, 브라우저와 같은 애플리케이션(46)은 HTTP GET 커맨드들을 다수의 프록시 IP 어드레스들에 걸쳐 분산시킬 필요가 있다. 이것은, PAC 스크립트(Proxy auto-configuration script)를 이용하여 행해질 수 있다. PAC 스크립트는 URL을 프록시 어드레스에 맵핑한다. 거의 모든 브라우저들/OS들이 PAC 스크립트들을 지원한다. 다음은 2개의 클라이언트 인터페이스들을 번들링하기 위한 예시적인 PAC 스크립트이다. 이 스크립트에서, proxy_a 및 proxy_b는 프록시(또는 프록시들)와 연관된 2개의 IP 어드레스들이다.
var N = 2;
function FindProxyForURL(url, host)
{
var i = url.length % N;
if (i == 0)
return "PROXY proxy_a:8080; "
else if (i == 1)
return "PROXY proxy_b:8080; "
}
테이블 A에서, 활성 루트들은, EVDO 및 HSPA에 대한 각각의 모뎀 어드레스("인터페이스")를 포함하는 2개의 프록시 어드레스들을 포함할 수 있다.
도 3에는, 데이터 통신을 위한 방법(80)이 도시되어 있다. 블록(82)에서, 클라이언트는 복수의 네트워크 인터페이스들을 번들링한다. 블록(84)에서, 클라이언트는 번들링된 복수의 네트워크 인터페이스들을 통해 패킷 데이터 통신을 위한 다수의 병렬 접속들을 구축한다. 블록(86)에서, 클라이언트는 웹 서버들 상에 각각 저장된 패킷 데이터 부분들로 이루어진 하이퍼텍스트 전송 프로토콜(http) 객체들을 리트리브하기 위해 다수의 병렬 접속들을 통해 복수의 요청들을 송신한다.
예를 들어, 큰 시청각 파일(예를 들어, 영화)을 다운로드하기 위한 것과 같이, 다수의 객체들을 병렬로 다운로드하거나 큰 객체의 부분들을 병렬로 다운로드하기 위해 번들러 유틸리티 또는 방법이 이용될 수 있다. 그 목적으로, 클라이언트는 영화의 상이한 세그먼트들에 대한 요청들을 상이한 인터페이스들을 통해 병렬로 제출(submit)할 수 있다. 따라서, HTTP 객체의 상이한 세그먼트들은 다수의 네트워크 인터페이스들을 통해 병렬로 수신될 수 있다.
다른 양상에서, 복수의 네트워크 인터페이스들을 번들링하는 것은 이더넷, 제 1 무선 액세스 기술(RAT)의 무선 광역 네트워크(WWAN), 제 2 RAT의 WWAN, 유선 네트워크 인터페이스, 유선 로컬 액세스 네트워크(LAN), 무선 로컬 액세스 네트워크(WLAN) 및 유선 LAN에 의할 수 있다. 선택된 2개가 동일한 유형의 네트워크 인터페이스일 수 있다.
일 양상에서, 다수의 병렬 접속들을 구축하는 것은, 이용가능한 인터페이스들의 대역폭이 동일한 정도(order)의 크기라고 결정하는 것에 대한 응답일 수 있다.
추가적인 양상에서, 복수의 요청들을 송신하는 것은, 접속 라운드 로빈에 의해 멀티-호밍된(homed) 호스트들에 대한 링크들을 애그리게이트함으로써 풀(full) 링크 활용을 유지하기 위해 행해질 수 있다.
또한, 복수의 요청들을 송신하는 것은, 프록시 서버들 각각의 IP 어드레스를 라우팅 테이블 내의 수신지 어드레스로서 클라이언트의 네트워크 인터페이스들 중 하나에 결속시키는 정적 라우팅 테이블 엔트리들을 인스톨하는 것에 의할 수 있다.
추가적인 양상에서, 결정론적(deterministic) 프로세스 또는 랜덤 프로세스에 의해 HTTP 요청들을 다수의 프록시 서버들에 걸쳐 분산시키기 위해 프록시 자동 구성(PAC)이 이용될 수 있다.
일 양상에서, 복수의 네트워크 인터페이스들을 번들링하는 것은, 프록시 서버 상의 각각의 그리고 대응하는 네트워크 인터페이스들에 링크시키는 것과 같이, 클라이언트 상의 각각의 인터페이스에 각각 결속되는 복수의 별개의 라우팅 테이블 엔트리들을 정의하는 것에 의할 수 있다.
도 4를 참조하면, 패킷 데이터 통신들을 위한 시스템(90)이 도시되어 있다. 예를 들어, 시스템(90)은 사용자 장비(UE) 내에 적어도 부분적으로 상주할 수 있다. 시스템(90)은 기능 블록들을 포함하는 것으로 도시되어 있고, 이 기능 블록들은 컴퓨팅 플랫폼, 프로세서, 소프트웨어 또는 이들의 조합(예를 들어, 펌웨어)에 의해 구현되는 기능들을 표현하는 기능 블록들일 수 있음이 인식될 것이다. 시스템(90)은 함께 동작할 수 있는 전기 컴포넌트들의 로직 그룹(92)을 포함한다. 예를 들어, 로직 그룹(92)은 복수의 네트워크 인터페이스들을 번들링하기 위한 전기 컴포넌트(94)를 포함할 수 있다. 또한, 로직 그룹(92)은 번들링된 복수의 네트워크 인터페이스들을 통해 패킷 데이터 통신을 위한 다수의 병렬 접속들을 구축하기 위한 전기 컴포넌트(95)를 포함할 수 있다. 또한, 로직 그룹(92)은 웹 서버들 상에 각각 저장된 패킷 데이터 부분들로 이루어진 HTTP 객체들을 리트리브하기 위해 다수의 병렬 접속들을 통해 복수의 요청들을 송신하기 위한 전기 컴포넌트(96)를 포함할 수 있다. 또한, 시스템(90)은 전기 컴포넌트들(94-98)과 연관된 기능들을 실행하기 위한 명령들을 보유하는 메모리(98)를 포함할 수 있다. 메모리(98)의 외부에 있는 것으로 도시되어 있지만, 전기 컴포넌트들(94-98) 중 하나 또는 그 초과는 메모리(98) 내에 존재할 수 있음을 이해할 것이다.
도 5에서는, 통신 시스템(100)에서, 모바일 디바이스, 액세스 단말 또는 사용자 장비(UE)(102)가, 복수의 서버들(112-114) 상에 저장된 객체들(106, 108, 110)을 포함하는 하이퍼텍스트 컨텐츠(104)에 대한 파이프라이닝된 요청들(103)을 행한다. 예시적인 양상에서, 모바일 디바이스(102)는, 객체들(106-110)을 수신하고 따라서 하이퍼텍스트 컨텐츠(104)를 렌더링하는데 요구되는 라운드 트립 시간(RTT)을 악화시키는 에어링크(116)를 통해 액세스를 획득한다. 일 양상에서, 모바일 디바이스(102)는 노드(예를 들어, 매크로셀, 펨토셀, 중계기)(119)와의 통신을 위한 라디오 트랜시버(118)를 가지며, 상기 노드(119)는 코어 네트워크(CN)(예를 들어, 인터넷)(124)에 호스팅되는 서버들(112-114)로의 인터넷 프로토콜 멀티미디어 서브시스템(IMS)(122)에 대한 무선 광역 네트워크(WWAN)(120)의 일부로서 서빙한다.
대안적으로 또는 추가적으로, 모바일 디바이스(102)는, CN(124)을 통해 서버들(112-114)에 액세스하기 위한 무선 로컬 영역 네트워크(WLAN)를 서빙하는 노드(128)와 통신하기 위한 트랜시버(126)를 갖는다.
대안적으로 또는 추가적으로, 모바일 디바이스(102)는, 개인 액세스 네트워크(PAN)(136)를 서빙하고 CN(124)을 통해 서버들(112-114)에 도달하기 위해 140에 도시된 바와 같은 WLAN(130) 또는 138에 도시된 바와 같은 WWAN(120)에 커플링되는 노드(134)와 통신하기 위한 트랜시버(132)를 갖는다.
일 양상에서, 트랜시버(들)(118, 126, 132)는 패킷 데이터 통신을 위한 다수의 병렬 접속들을 구축한다. 트랜시버(들)(118, 126, 132)는, 복수의 서버들 상에 각각 저장된 패킷 데이터 부분들로 이루어진 하이퍼텍스트 객체를 리트리브하기 위해, 다수의 병렬 접속들을 통해 복수의 파이프라이닝된 요청들을 추가로 송신한다.
모바일 디바이스(102)의 컴퓨팅 시스템(124)은, 풀 링크 활용을 유지하면서 미처리 요청들을 감소시키기 위해 병렬 접속들을 통한 파이프라이닝된 요청들 및 상기 병렬 접속들의 수를 동적으로 변화시키는 HTTP 최적화 모듈(144)을 갖는다.
도 6은, 본 명세서에서 설명되는 기능의 다양한 양상들을 구현하는데 이용될 수 있는 다른 시스템(800)의 블록도이다. 일례에서, 시스템(800)은 모바일 단말(802)을 포함한다. 도시된 바와 같이, 모바일 단말(802)은 하나 또는 그 초과의 기지국들(804)로부터 신호(들)를 수신할 수 있고, 하나 또는 그 초과의 안테나들(808)을 통해 하나 또는 그 초과의 기지국들(804)에 송신할 수 있다. 또한, 모바일 단말(802)은 안테나(들)(808)로부터 정보를 수신하는 수신기(810)를 포함할 수 있다. 일례에서, 수신기(810)는 수신된 정보를 복조하는 복조기(812)와 동작가능하게 연관될 수 있다. 그 다음, 복조된 심볼들은 프로세서(814)에 의해 분석될 수 있다. 프로세서(814)는, 모바일 단말(802)과 관련된 데이터 및/또는 프로그램 코드들을 저장할 수 있는 메모리(816)에 커플링될 수 있다. 또한, 모바일 단말(802)은 본 명세서에 설명된 방법들을 수행하기 위해 프로세서(814)를 이용할 수 있다. 모바일 단말(802)은 또한 안테나(들)(808)를 통한 송신기(820)에 의한 송신을 위해 신호를 멀티플렉싱할 수 있는 변조기(818)를 포함할 수 있다.
모바일 단말(802)은 복수의 네트워크 인터페이스들(840, 842)을 가질 수 있고, 네트워크 인터페이스(842)는 기지국들(846)에 도달하기 위해 안테나(들)(844)를 활용하는 것으로 도시되어 있다. 예를 들어, 기지국(804, 846)은 이더넷, 제 1 무선 액세스 기술(RAT)의 무선 광역 네트워크(WWAN), 제 2 RAT의 WWAN, 유선 로컬 액세스 네트워크(LAN) 및 무선 로컬 액세스 네트워크(WLAN) 중 하나 또는 그 초과를 지원할 수 있다. 번들러 유틸리티(850)는, 애플리케이션(854)이 본 명세서에 개시된 양상들에 따라 복수의 네트워크 인터페이스들(840, 842)을 이용하도록 라우팅 테이블(852)을 최적화할 수 있다.
당업자들은, 본 명세서에 개시된 양상들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어 또는 이 둘의 조합으로 구현될 수 있음을 추가로 인식할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 그들의 기능적 관점에서 앞서 기술되었다. 이러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 대해 부과된 설계 제한들에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 이러한 구현 결정들이 본 개시의 범위를 벗어나는 것을 야기하는 것으로 해석되어서는 안 된다.
본 출원에서 사용되는 바와 같이, 용어들 "컴포넌트", "모듈", "시스템" 등은, 하드웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어와 같은 컴퓨터-관련 엔티티를 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서 상에서 실행되는 프로세스, 프로세서, 객체, 실행가능한 것, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예시로서, 서버 상에서 실행되는 애플리케이션 및 서버 모두가 컴포넌트일 수 있다. 하나 또는 그 초과의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수 있고, 일 컴포넌트는 하나의 컴퓨터 내에 로컬화될 수 있고, 그리고/또는 2개 또는 그 초과의 컴퓨터들 사이에 분산될 수 있다.
본 명세서에서 용어 "예시적인"은 예, 예시, 또는 예증으로서 기능하는 것을 의미하는 것으로 사용된다. "예시적인" 것으로서 본 명세서에서 설명되는 임의의 양상 또는 설계는 다른 양상들 또는 설계들에 비하여 반드시 바람직하거나 유리한 것으로서 해석할 필요는 없다.
다수의 컴포넌트들, 모듈들 등을 포함할 수 있는 시스템들의 관점에서 다양한 양상들이 제시될 것이다. 다양한 시스템들은 추가적 컴포넌트들, 모듈들 등을 포함할 수 있고, 그리고/또는 도면들과 관련하여 설명되는 모든 컴포넌트들, 모듈들 등을 포함하지는 않을 수 있음을 이해하고 인식할 것이다. 이 접근방식들의 조합이 또한 이용될 수 있다. 본 명세서에서 설명되는 다양한 양상들은, 터치 스크린 디스플레이 기술들 및/또는 마우스-및-키보드 유형의 인터페이스들을 활용하는 디바이스들을 포함하는 전기 디바이스들 상에서 수행될 수 있다. 이러한 디바이스들의 예들은, 컴퓨터들(데스크탑 및 모바일), 스마트폰들, 개인 휴대 정보 단말들(PDAs), 및 유선 및 무선 모두의 다른 전자 디바이스들을 포함한다.
또한, 본 명세서에서 개시되는 양상들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들 및 회로들은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에서 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합에 의해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들어 DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 그 초과의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수 있다.
또한, 하나 또는 그 초과의 버전들은, 개시된 양상들을 구현하도록 컴퓨터를 제어하기 위해 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합을 생성하는 표준 프로그래밍 및/또는 엔지니어링 기술들을 이용하는 방법, 장치 또는 제조 물품으로서 구현될 수 있다. 본 명세서에서 사용되는 용어 "제조 물품"(또는 대안적으로, "컴퓨터 프로그램 물건")은 임의의 컴퓨터 판독가능 디바이스, 캐리어 또는 매체(media)로부터 액세스 가능한 컴퓨터 프로그램을 포함하도록 의도된다. 예를 들어, 컴퓨터 판독가능 매체는 자기 저장 디바이스들(예를 들어, 하드 디스크, 플로피 디스크, 자기 스트립들, 등), 광학 디스크들(예를 들어, 컴팩트 디스크(CD), 디지털 다기능 디스크(DVD), 등), 스마트 카드들, 및 플래쉬 메모리 디바이스들(예를 들어, 카드, 스틱)을 포함하지만, 이들로 제한되는 것은 아니다. 또한, 전자 메일을 송신 및 수신하거나 인터넷 또는 로컬 영역 네트워크(LAN)와 같은 네트워크에 액세스하는데 이용되는 것들과 같은 컴퓨터 판독가능 전자 데이터를 반송하기 위해 반송파가 활용될 수 있음을 인식해야 한다. 물론, 이 분야의 당업자들은, 개시된 양상들의 범주를 벗어남이 없이 이 구성에 대한 다수의 변형들이 행해질 수 있음을 인식할 것이다.
본 명세서에 개시된 양상들과 관련하여 설명되는 방법 또는 알고리즘의 단계들은 직접적으로 하드웨어, 프로세서에 의해 실행되는 소프트웨어 모듈, 또는 이 둘의 조합으로 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래쉬 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 착탈식 디스크, CD-ROM, 또는 이 분야에 공지된 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링될 수 있다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수도 있다. ASIC는 사용자 단말에 상주할 수 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말에서 이산 컴포넌트들로서 상주할 수 있다.
개시된 양상들의 상기 설명은 이 분야의 당업자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이 양상들에 대한 다양한 변형들은 이 분야의 당업자들에게 쉽게 명백할 것이며, 본 명세서에 정의된 일반적인 원리들은 본 개시의 사상 또는 범주를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 따라서, 본 개시는 본 명세서에 도시된 실시예들에 한정되는 것으로 의도되지 않고, 본 명세서에 개시된 원리들 및 신규한 특징들과 부합하는 가장 넓은 범위에 따른다.
*위에서 설명된 예시적인 시스템들의 관점에서, 개시된 요지에 따라 구현될 수 있는 방법들이 몇몇 흐름도들을 참조하여 설명되었다. 설명의 단순화를 위해, 방법들은 일련의 블록도들로 도시 및 설명되지만, 몇몇 블록들은 상이한 순서들로 그리고/또는 본 명세서에서 도시되고 설명되는 것과는 다른 블록들과 동시에 발생할 수 있기 때문에, 청구되는 요지는 블록들의 순서에 의해 제한되지 않음을 이해하고 인식할 것이다. 또한, 본 명세서에서 설명되는 방법들을 구현하기 위해, 도시된 모든 블록들이 요구되지는 않을 수 있다. 또한, 본 명세서에 개시된 방법들은, 이러한 방법들을 컴퓨터들로 전달 및 전송하는 것을 용이하게 하기 위해 제조 물품 상에 저장될 수 있음을 추가로 인식해야 한다. 본 명세서에서 사용되는 바와 같은 용어 제조 물품은 임의의 컴퓨터 판독가능 디바이스, 캐리어 또는 매체로부터 액세스될 수 있는 컴퓨터 프로그램을 포함하도록 의도된다.
본 명세서에 참조로 통합된 것으로 언급된 임의의 특허, 공보 또는 다른 개시 자료는, 전체적으로 또는 부분적으로, 그 통합된 자료가 기존의 정의들, 또는 본 개시에 기술된 다른 개시 자료와 충돌하지 않는 범위에서만 본 명세서에 통합됨을 인식해야 한다. 따라서, 필요한 범위까지, 본 명세서에 명시적으로 기술된 개시는 본 명세서에 참조로 통합된 임의의 충돌하는 자료를 대체한다. 본 명세서에 참조로 통합된 것으로 언급되지만, 본 명세서에 기술된 기존의 정의들, 진술들, 또는 다른 개시 자료와 충돌하는 임의의 자료 또는 그 일부는, 그 통합된 자료와 기존의 개시 자료 사이에 충돌이 발생하지 않는 범위에서만 통합될 것이다.
Claims (24)
- 패킷 데이터 통신을 위한 방법으로서,
복수의 네트워크 인터페이스들을 번들링(bundling)하는 단계;
번들링된 복수의 네트워크 인터페이스들을 통해 패킷 데이터 통신을 위한 다수의 병렬 접속들을 구축하는 단계; 및
복수의 상이한 서버들 상에 각각 저장된 패킷 데이터 부분들을 포함하는 적어도 하나의 객체를 리트리브(retrieve)하기 위해, 상기 다수의 병렬 접속들을 통해 복수의 요청들을 송신하는 단계를 포함하고,
상기 복수의 요청들은 상기 적어도 하나의 객체의 상이한 세그먼트들을 병렬로 리트리브하도록 구성되고, 그리고 상기 상이한 세그먼트들은 상기 복수의 상이한 서버들 상에 각각 저장된 패킷 데이터 부분들에 대응하고,
상기 복수의 요청들을 송신하는 단계는, 상기 복수의 요청들을 송신하기 위해 접속 라운드 로빈으로 멀티-호밍된(multi-homed) 호스트들에 대한 링크들을 애그리게이트(aggregate)함으로써 풀 링크 활용을 유지하는 단계를 더 포함하는,
패킷 데이터 통신을 위한 방법. - 제 1 항에 있어서,
상기 복수의 네트워크 인터페이스들을 번들링하는 단계는, 이더넷, 제 1 무선 액세스 기술(RAT)의 무선 광역 네트워크(WWAN), 제 2 RAT의 WWAN, 유선 네트워크 인터페이스, 유선 로컬 액세스 네트워크(LAN) 및 무선 로컬 액세스 네트워크(WLAN)로 이루어진 그룹으로부터 적어도 2개의 네트워크 인터페이스들을 선택하는 단계를 더 포함하고,
선택된 적어도 2개의 네트워크 인터페이스들은 동일한 유형의 네트워크 인터페이스일 수 있는, 패킷 데이터 통신을 위한 방법. - 제 1 항에 있어서,
상기 다수의 병렬 접속들을 구축하는 단계는, 이용가능한 인터페이스들의 대역폭이 동일한 정도(order)의 크기라고 결정하는 단계를 더 포함하는, 패킷 데이터 통신을 위한 방법. - 삭제
- 제 1 항에 있어서,
상기 복수의 요청들을 송신하는 단계는, 라우팅 테이블에 정적 라우팅 테이블 엔트리들을 인스톨하는 단계를 더 포함하고,
상기 라우팅 테이블은 복수의 프록시 서버들 각각의 인터넷 프로토콜(IP) 어드레스를 상기 라우팅 테이블 내의 수신지 어드레스로서 클라이언트의 네트워크 인터페이스들 중 하나에 결속시키는, 패킷 데이터 통신을 위한 방법. - 제 5 항에 있어서,
상기 복수의 프록시 서버들에 걸쳐 요청들을 분산시키기 위해, 프록시 자동 구성(PAC)을 이용하는 단계를 더 포함하는, 패킷 데이터 통신을 위한 방법. - 제 6 항에 있어서,
상기 PAC를 이용하는 단계는, 결정론적(deterministic) 프로세스 및 랜덤 프로세스 중 선택된 프로세스에 따라 분산시키는 단계를 더 포함하는, 패킷 데이터 통신을 위한 방법. - 제 1 항에 있어서,
상기 복수의 네트워크 인터페이스들을 번들링하는 단계는, 클라이언트 상에서 각각의 인터페이스에 각각 결속되는 복수의 별개의(distinct) 라우팅 테이블 엔트리들을 정의하는 단계를 더 포함하는, 패킷 데이터 통신을 위한 방법. - 제 8 항에 있어서,
상기 복수의 별개의 라우팅 테이블 엔트리들을 정의하는 단계는, 프록시 서버 상에서 각각의 그리고 대응하는 네트워크 인터페이스들에 링크시키는 단계를 더 포함하는, 패킷 데이터 통신을 위한 방법. - 제 1 항에 있어서,
상기 적어도 하나의 객체는 하이퍼텍스트 전송 프로토콜(HTTP) 객체를 포함하는, 패킷 데이터 통신을 위한 방법. - 패킷 데이터 통신을 위한 적어도 하나의 프로세서로서,
복수의 네트워크 인터페이스들을 번들링하기 위한 제 1 모듈;
번들링된 복수의 네트워크 인터페이스들을 통해 패킷 데이터 통신을 위한 다수의 병렬 접속들을 구축하기 위한 제 2 모듈; 및
복수의 상이한 서버들 상에 각각 저장된 패킷 데이터 부분들을 포함하는 적어도 하나의 객체를 리트리브하기 위해, 상기 다수의 병렬 접속들을 통해 복수의 요청들을 송신하기 위한 제 3 모듈을 포함하고,
상기 복수의 요청들은 상기 적어도 하나의 객체의 상이한 세그먼트들을 병렬로 리트리브하도록 구성되고, 그리고 상기 상이한 세그먼트들은 상기 복수의 상이한 서버들 상에 각각 저장된 패킷 데이터 부분들에 대응하고,
상기 복수의 요청들을 송신하는 것은, 상기 복수의 요청들을 송신하기 위해 접속 라운드 로빈으로 멀티-호밍된 호스트들에 대한 링크들을 애그리게이트함으로써 풀 링크 활용을 유지하는 것을 더 포함하는,
패킷 데이터 통신을 위한 적어도 하나의 프로세서. - 패킷 데이터 통신을 위한 컴퓨터 판독가능 매체로서,
컴퓨터로 하여금, 복수의 네트워크 인터페이스들을 번들링하게 하기 위한 제 1 세트의 코드;
상기 컴퓨터로 하여금, 번들링된 복수의 네트워크 인터페이스들을 통해 패킷 데이터 통신을 위한 다수의 병렬 접속들을 구축하게 하기 위한 제 2 세트의 코드; 및
상기 컴퓨터로 하여금, 복수의 상이한 서버들 상에 각각 저장된 패킷 데이터 부분들을 포함하는 적어도 하나의 객체를 리트리브하기 위해, 상기 다수의 병렬 접속들을 통해 복수의 요청들을 송신하게 하기 위한 제 3 세트의 코드를 포함하고,
상기 복수의 요청들은 상기 적어도 하나의 객체의 상이한 세그먼트들을 병렬로 리트리브하도록 구성되고, 그리고 상기 상이한 세그먼트들은 상기 복수의 상이한 서버들 상에 각각 저장된 패킷 데이터 부분들에 대응하고,
상기 복수의 요청들을 송신하는 것은, 상기 복수의 요청들을 송신하기 위해 접속 라운드 로빈으로 멀티-호밍된 호스트들에 대한 링크들을 애그리게이트함으로써 풀 링크 활용을 유지하는 것을 더 포함하는,
컴퓨터 판독가능 매체. - 패킷 데이터 통신을 위한 장치로서,
복수의 네트워크 인터페이스들을 번들링하기 위한 수단;
번들링된 복수의 네트워크 인터페이스들을 통해 패킷 데이터 통신을 위한 다수의 병렬 접속들을 구축하기 위한 수단; 및
복수의 상이한 서버들 상에 각각 저장된 패킷 데이터 부분들을 포함하는 적어도 하나의 객체를 리트리브하기 위해, 상기 다수의 병렬 접속들을 통해 복수의 요청들을 송신하기 위한 수단을 포함하고,
상기 복수의 요청들은 상기 적어도 하나의 객체의 상이한 세그먼트들을 병렬로 리트리브하도록 구성되고, 그리고 상기 상이한 세그먼트들은 상기 복수의 상이한 서버들 상에 각각 저장된 패킷 데이터 부분들에 대응하고,
상기 복수의 요청들을 송신하는 것은, 상기 복수의 요청들을 송신하기 위해 접속 라운드 로빈으로 멀티-호밍된 호스트들에 대한 링크들을 애그리게이트함으로써 풀 링크 활용을 유지하는 것을 더 포함하는,
패킷 데이터 통신을 위한 장치. - 패킷 데이터 통신을 위한 장치로서,
복수의 네트워크 인터페이스들; 및
상기 복수의 네트워크 인터페이스들을 번들링하기 위한 번들러(bundler)를 포함하고,
상기 번들러는, 번들링된 복수의 네트워크 인터페이스들을 통해 패킷 데이터 통신을 위한 다수의 병렬 접속들을 구축하기 위한 것이고; 그리고
상기 복수의 네트워크 인터페이스들은, 복수의 상이한 서버들 상에 각각 저장된 패킷 데이터 부분들을 포함하는 적어도 하나의 객체를 리트리브하기 위해, 상기 다수의 병렬 접속들을 통해 복수의 요청들을 송신하기 위한 것이고,
상기 복수의 요청들은 상기 적어도 하나의 객체의 상이한 세그먼트들을 병렬로 리트리브하도록 구성되고, 그리고 상기 상이한 세그먼트들은 상기 복수의 상이한 서버들 상에 각각 저장된 패킷 데이터 부분들에 대응하고,
상기 복수의 요청들을 송신하는 것은, 상기 복수의 요청들을 송신하기 위해 접속 라운드 로빈으로 멀티-호밍된 호스트들에 대한 링크들을 애그리게이트함으로써 풀 링크 활용을 유지하는 것을 더 포함하는,
패킷 데이터 통신을 위한 장치. - 제 14 항에 있어서,
상기 번들러는 추가적으로, 상기 적어도 하나의 객체의 상이한 세그먼트들을 리트리브함으로써 상기 적어도 하나의 객체를 리트리브하기 위한 것인, 패킷 데이터 통신을 위한 장치. - 제 14 항에 있어서,
상기 번들러는 추가적으로, 이더넷, 제 1 무선 액세스 기술(RAT)의 무선 광역 네트워크(WWAN), 제 2 RAT의 WWAN, 유선 네트워크 인터페이스, 유선 로컬 액세스 네트워크(LAN) 및 무선 로컬 액세스 네트워크(WLAN)로 이루어진 그룹으로부터 적어도 2개의 네트워크 인터페이스들을 선택함으로써, 상기 복수의 네트워크 인터페이스들을 번들링하기 위한 것이고,
선택된 적어도 2개의 네트워크 인터페이스들은 동일한 유형의 네트워크 인터페이스일 수 있는, 패킷 데이터 통신을 위한 장치. - 제 14 항에 있어서,
상기 번들러는 추가적으로, 이용가능한 인터페이스들의 대역폭이 동일한 정도의 크기라고 결정함으로써 상기 다수의 병렬 접속들을 구축하기 위한 것인, 패킷 데이터 통신을 위한 장치. - 삭제
- 제 14 항에 있어서,
상기 번들러는 추가적으로, 라우팅 테이블에 정적 라우팅 테이블 엔트리들을 인스톨하기 위한 것이고,
상기 라우팅 테이블은 복수의 프록시 서버들 각각의 인터넷 프로토콜(IP) 어드레스를 상기 라우팅 테이블 내의 수신지 어드레스로서 클라이언트의 네트워크 인터페이스들 중 하나에 결속시키는, 패킷 데이터 통신을 위한 장치. - 제 19 항에 있어서,
상기 번들러는 추가적으로, 상기 복수의 프록시 서버들에 걸쳐 요청들을 분산시키기 위해, 프록시 자동 구성(PAC)을 이용하기 위한 것인, 패킷 데이터 통신을 위한 장치. - 제 20 항에 있어서,
상기 번들러는 추가적으로, 결정론적 프로세스 및 랜덤 프로세스 중 선택된 프로세스에 따라 분산시킴으로써 상기 PAC를 이용하기 위한 것인, 패킷 데이터 통신을 위한 장치. - 제 14 항에 있어서,
상기 번들러는 추가적으로, 클라이언트 상에서 각각의 인터페이스에 각각 결속되는 복수의 별개의 라우팅 테이블 엔트리들을 정의함으로써 상기 복수의 네트워크 인터페이스들을 번들링하기 위한 것인, 패킷 데이터 통신을 위한 장치. - 제 22 항에 있어서,
상기 번들러는 추가적으로, 프록시 서버 상에서 각각의 그리고 대응하는 네트워크 인터페이스들에 링크시킴으로써 상기 복수의 별개의 라우팅 테이블 엔트리들을 정의하기 위한 것인, 패킷 데이터 통신을 위한 장치. - 제 14 항에 있어서,
상기 적어도 하나의 객체는 하이퍼텍스트 전송 프로토콜(HTTP) 객체를 포함하는, 패킷 데이터 통신을 위한 장치.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28811909P | 2009-12-18 | 2009-12-18 | |
US61/288,119 | 2009-12-18 | ||
US12/965,700 US20110314129A1 (en) | 2009-12-18 | 2010-12-10 | Binding/aggregating multiple interfaces at application layer |
US12/965,700 | 2010-12-10 | ||
PCT/US2010/061362 WO2011075739A1 (en) | 2009-12-18 | 2010-12-20 | Binding/aggregating multiple interfaces at application layer |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127018931A Division KR20120103721A (ko) | 2009-12-18 | 2010-12-20 | 애플리케이션 계층에서 다수의 인터페이스들의 결속/애그리게이트 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140140136A KR20140140136A (ko) | 2014-12-08 |
KR101557853B1 true KR101557853B1 (ko) | 2015-10-06 |
Family
ID=43530024
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147032450A KR101557853B1 (ko) | 2009-12-18 | 2010-12-20 | 애플리케이션 계층에서 다수의 인터페이스들의 결속/애그리게이트 |
KR1020127018931A KR20120103721A (ko) | 2009-12-18 | 2010-12-20 | 애플리케이션 계층에서 다수의 인터페이스들의 결속/애그리게이트 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127018931A KR20120103721A (ko) | 2009-12-18 | 2010-12-20 | 애플리케이션 계층에서 다수의 인터페이스들의 결속/애그리게이트 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20110314129A1 (ko) |
EP (1) | EP2514165A1 (ko) |
JP (2) | JP5701902B2 (ko) |
KR (2) | KR101557853B1 (ko) |
CN (1) | CN102656862A (ko) |
BR (1) | BR112012014985A2 (ko) |
TW (1) | TWI444079B (ko) |
WO (1) | WO2011075739A1 (ko) |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008038261A2 (en) | 2006-09-26 | 2008-04-03 | Liveu Ltd. | Remote transmission system |
WO2009093252A1 (en) | 2008-01-23 | 2009-07-30 | Liveu Ltd | Live uplink transmissions and broadcasting management system and method |
US9170870B1 (en) | 2013-08-27 | 2015-10-27 | Sprint Communications Company L.P. | Development and testing of payload receipt by a portable electronic device |
US8412802B2 (en) * | 2009-02-11 | 2013-04-02 | American Express Travel Related Services Company, Inc. | System and method to optimize data communication in a computational network |
US8964757B2 (en) | 2009-12-18 | 2015-02-24 | Qualcomm Incorporated | HTTP optimization, multi-homing, mobility and priority |
US8705580B2 (en) * | 2010-01-22 | 2014-04-22 | Aruba Networks, Inc. | Aggregating multiple wireless channels |
CN102845042B (zh) * | 2010-02-26 | 2016-01-20 | 塔塔咨询服务有限公司 | 一种应用层多个活动物理接口的带宽聚集***及方法 |
US8612967B1 (en) | 2011-05-31 | 2013-12-17 | Sprint Communications Company L.P. | Loading branded media outside system partition |
KR101222432B1 (ko) * | 2011-07-06 | 2013-01-15 | 주식회사에어플러그 | 고정 호스트 주소에 기반하여 복수의 이종망(異種網)들을 선택적으로 사용하여 데이터 송수신할 수 있게 하는 장치와 이를 위한 방법 |
IL217040A0 (en) * | 2011-12-15 | 2012-02-29 | Liveu Ltd | Remote wireless reception |
US8666383B1 (en) | 2011-12-23 | 2014-03-04 | Sprint Communications Company L.P. | Automated branding of generic applications |
US10455071B2 (en) | 2012-05-09 | 2019-10-22 | Sprint Communications Company L.P. | Self-identification of brand and branded firmware installation in a generic electronic device |
US8787966B2 (en) | 2012-05-17 | 2014-07-22 | Liveu Ltd. | Multi-modem communication using virtual identity modules |
EP2684398A4 (en) | 2012-05-17 | 2015-05-13 | Liveu Ltd | MULTIMODEM COMMUNICATION USING VIRTUAL IDENTITY MODULES |
US9198027B2 (en) | 2012-09-18 | 2015-11-24 | Sprint Communications Company L.P. | Generic mobile devices customization framework |
US8909291B1 (en) | 2013-01-18 | 2014-12-09 | Sprint Communications Company L.P. | Dynamic remotely managed SIM profile |
US9191777B2 (en) * | 2013-01-22 | 2015-11-17 | Airsense Wireless Ltd. | Clientless method for context driven wireless interactions |
US9549009B1 (en) | 2013-02-08 | 2017-01-17 | Sprint Communications Company L.P. | Electronic fixed brand labeling |
US9100769B2 (en) | 2013-02-08 | 2015-08-04 | Sprint Communications Company L.P. | System and method of storing service brand packages on a mobile device |
US9100819B2 (en) | 2013-02-08 | 2015-08-04 | Sprint-Communications Company L.P. | System and method of provisioning and reprovisioning a mobile device based on self-locating |
US9369921B2 (en) | 2013-05-31 | 2016-06-14 | Liveu Ltd. | Network assisted bonding |
US9980171B2 (en) | 2013-03-14 | 2018-05-22 | Liveu Ltd. | Apparatus for cooperating with a mobile device |
US9338650B2 (en) | 2013-03-14 | 2016-05-10 | Liveu Ltd. | Apparatus for cooperating with a mobile device |
US9204286B1 (en) | 2013-03-15 | 2015-12-01 | Sprint Communications Company L.P. | System and method of branding and labeling a mobile device |
US20140297818A1 (en) * | 2013-03-29 | 2014-10-02 | Microsoft Corporation | Parallel and Dynamic Interface Selection |
US9280483B1 (en) | 2013-05-22 | 2016-03-08 | Sprint Communications Company L.P. | Rebranding a portable electronic device while maintaining user data |
JP6180225B2 (ja) | 2013-08-08 | 2017-08-16 | キヤノン株式会社 | 携帯型デバイス及び通信制御方法 |
US9532211B1 (en) | 2013-08-15 | 2016-12-27 | Sprint Communications Company L.P. | Directing server connection based on location identifier |
US9161209B1 (en) | 2013-08-21 | 2015-10-13 | Sprint Communications Company L.P. | Multi-step mobile device initiation with intermediate partial reset |
US9204239B1 (en) * | 2013-08-27 | 2015-12-01 | Sprint Communications Company L.P. | Segmented customization package within distributed server architecture |
US9125037B2 (en) | 2013-08-27 | 2015-09-01 | Sprint Communications Company L.P. | System and methods for deferred and remote device branding |
US9143924B1 (en) | 2013-08-27 | 2015-09-22 | Sprint Communications Company L.P. | Segmented customization payload delivery |
CN103532878B (zh) * | 2013-09-26 | 2017-01-04 | 华为技术有限公司 | 数据包的处理方法和网络流量的管理方法及装置和*** |
US9743271B2 (en) | 2013-10-23 | 2017-08-22 | Sprint Communications Company L.P. | Delivery of branding content and customizations to a mobile communication device |
US10506398B2 (en) | 2013-10-23 | 2019-12-10 | Sprint Communications Company Lp. | Implementation of remotely hosted branding content and customizations |
US9301081B1 (en) | 2013-11-06 | 2016-03-29 | Sprint Communications Company L.P. | Delivery of oversized branding elements for customization |
US9363622B1 (en) | 2013-11-08 | 2016-06-07 | Sprint Communications Company L.P. | Separation of client identification composition from customization payload to original equipment manufacturer layer |
US9161325B1 (en) | 2013-11-20 | 2015-10-13 | Sprint Communications Company L.P. | Subscriber identity module virtualization |
US9392395B1 (en) | 2014-01-16 | 2016-07-12 | Sprint Communications Company L.P. | Background delivery of device configuration and branding |
US9420496B1 (en) | 2014-01-24 | 2016-08-16 | Sprint Communications Company L.P. | Activation sequence using permission based connection to network |
US9603009B1 (en) | 2014-01-24 | 2017-03-21 | Sprint Communications Company L.P. | System and method of branding a device independent of device activation |
US9681251B1 (en) | 2014-03-31 | 2017-06-13 | Sprint Communications Company L.P. | Customization for preloaded applications |
US10241641B1 (en) * | 2014-04-14 | 2019-03-26 | Sprint Communications Company L.P. | Notification of a wireless local area network by a browser application of a wireless communication device |
US9201840B2 (en) * | 2014-04-21 | 2015-12-01 | Iboss, Inc. | Generating proxy automatic configuration scripts |
US9426641B1 (en) | 2014-06-05 | 2016-08-23 | Sprint Communications Company L.P. | Multiple carrier partition dynamic access on a mobile device |
US20160037509A1 (en) * | 2014-07-30 | 2016-02-04 | Onavo Mobile Ltd. | Techniques to reduce bandwidth usage through multiplexing and compression |
US9307400B1 (en) | 2014-09-02 | 2016-04-05 | Sprint Communications Company L.P. | System and method of efficient mobile device network brand customization |
US10986029B2 (en) | 2014-09-08 | 2021-04-20 | Liveu Ltd. | Device, system, and method of data transport with selective utilization of a single link or multiple links |
US9992326B1 (en) | 2014-10-31 | 2018-06-05 | Sprint Communications Company L.P. | Out of the box experience (OOBE) country choice using Wi-Fi layer transmission |
WO2016126491A1 (en) | 2015-02-02 | 2016-08-11 | Eero, Inc. | Systems and methods for intuitive home networking |
US9398462B1 (en) | 2015-03-04 | 2016-07-19 | Sprint Communications Company L.P. | Network access tiered based on application launcher installation |
US9357378B1 (en) | 2015-03-04 | 2016-05-31 | Sprint Communications Company L.P. | Subscriber identity module (SIM) card initiation of custom application launcher installation on a mobile communication device |
US9736019B2 (en) * | 2015-05-14 | 2017-08-15 | Eero Inc. | Methods for dynamic router configuration in a mesh network |
CN105120509A (zh) * | 2015-06-26 | 2015-12-02 | 努比亚技术有限公司 | 网络接入方法和装置 |
US10182020B2 (en) * | 2016-05-31 | 2019-01-15 | Anchorfree Inc. | System and method for improving an aggregated throughput of simultaneous connections |
US9913132B1 (en) | 2016-09-14 | 2018-03-06 | Sprint Communications Company L.P. | System and method of mobile phone customization based on universal manifest |
US10021240B1 (en) | 2016-09-16 | 2018-07-10 | Sprint Communications Company L.P. | System and method of mobile phone customization based on universal manifest with feature override |
CN106790480B (zh) * | 2016-12-12 | 2020-08-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种用于链路聚合链接条件下的文件传输方法 |
US10306433B1 (en) | 2017-05-01 | 2019-05-28 | Sprint Communications Company L.P. | Mobile phone differentiated user set-up |
US11088947B2 (en) | 2017-05-04 | 2021-08-10 | Liveu Ltd | Device, system, and method of pre-processing and data delivery for multi-link communications and for media content |
EP3580929B1 (en) | 2017-05-18 | 2023-08-16 | DriveU Tech Ltd. | Device, system, and method of wireless multiple-link vehicular communication |
CN111343215A (zh) * | 2018-12-18 | 2020-06-26 | 中国电信股份有限公司 | 内容获取方法和*** |
CN109600388B (zh) * | 2019-01-03 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、计算机可读介质及电子设备 |
CN110099403B (zh) * | 2019-05-17 | 2022-07-19 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、设备及存储介质 |
US11991525B2 (en) | 2021-12-02 | 2024-05-21 | T-Mobile Usa, Inc. | Wireless device access and subsidy control |
CN114615242A (zh) * | 2022-03-10 | 2022-06-10 | 北京沃东天骏信息技术有限公司 | 数据交互方法、服务器、终端及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070030826A1 (en) * | 2005-08-03 | 2007-02-08 | Toshiba America Research, Inc. | Seamless network interface selection, handoff and management in multi-IP network interface mobile devices |
US20070116026A1 (en) * | 2005-10-31 | 2007-05-24 | Huang Yiren R | Scatter and gather scheme for aggregating multiple high speed point-to-point interfaces |
US20080195743A1 (en) * | 2004-04-30 | 2008-08-14 | Brueck David F | Apparatus, system, and method for multi-bitrate content streaming |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7230921B2 (en) * | 2001-04-02 | 2007-06-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Concurrent use of communication paths in a multi-path access link to an IP network |
US6801940B1 (en) * | 2002-01-10 | 2004-10-05 | Networks Associates Technology, Inc. | Application performance monitoring expert |
US20060031520A1 (en) * | 2004-05-06 | 2006-02-09 | Motorola, Inc. | Allocation of common persistent connections through proxies |
JP2005341310A (ja) * | 2004-05-27 | 2005-12-08 | Fujitsu Ten Ltd | 通信装置 |
CA2588781A1 (en) * | 2004-11-19 | 2006-05-26 | The Trustees Of The Stevens Institute Of Technology | Multi-access terminal with capability for simultaneous connectivity to multiple communication channels |
JP2007043678A (ja) * | 2005-06-29 | 2007-02-15 | Ntt Docomo Inc | 通信端末及び通信方法 |
US20070124310A1 (en) * | 2005-07-26 | 2007-05-31 | Novo Innovations, Inc. | Distributed Computing System to Enable the Secure Exchange of Information Between Remotely Located Healthcare Applications |
JP4658142B2 (ja) * | 2005-11-30 | 2011-03-23 | 富士通株式会社 | 通信装置およびフレーム制御方法 |
JP2007281731A (ja) * | 2006-04-05 | 2007-10-25 | Mitsubishi Electric Corp | 通信装置及び通信方法及びプログラム |
US8027293B2 (en) * | 2007-07-16 | 2011-09-27 | Cellport Systems, Inc. | Communication channel selection and use |
JP5049069B2 (ja) * | 2007-08-02 | 2012-10-17 | ソフトバンクテレコム株式会社 | 無線通信端末装置、及び通信ネットワークプログラム |
JP5097620B2 (ja) * | 2008-06-03 | 2012-12-12 | 株式会社日立製作所 | マルチパス通信システム |
-
2010
- 2010-12-10 US US12/965,700 patent/US20110314129A1/en not_active Abandoned
- 2010-12-20 KR KR1020147032450A patent/KR101557853B1/ko not_active IP Right Cessation
- 2010-12-20 WO PCT/US2010/061362 patent/WO2011075739A1/en active Application Filing
- 2010-12-20 CN CN2010800574928A patent/CN102656862A/zh active Pending
- 2010-12-20 KR KR1020127018931A patent/KR20120103721A/ko not_active Application Discontinuation
- 2010-12-20 JP JP2012544947A patent/JP5701902B2/ja not_active Expired - Fee Related
- 2010-12-20 TW TW099144799A patent/TWI444079B/zh not_active IP Right Cessation
- 2010-12-20 EP EP10801054A patent/EP2514165A1/en not_active Ceased
- 2010-12-20 BR BR112012014985A patent/BR112012014985A2/pt not_active IP Right Cessation
-
2014
- 2014-12-01 JP JP2014243425A patent/JP2015084543A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080195743A1 (en) * | 2004-04-30 | 2008-08-14 | Brueck David F | Apparatus, system, and method for multi-bitrate content streaming |
US20070030826A1 (en) * | 2005-08-03 | 2007-02-08 | Toshiba America Research, Inc. | Seamless network interface selection, handoff and management in multi-IP network interface mobile devices |
US20070116026A1 (en) * | 2005-10-31 | 2007-05-24 | Huang Yiren R | Scatter and gather scheme for aggregating multiple high speed point-to-point interfaces |
Also Published As
Publication number | Publication date |
---|---|
CN102656862A (zh) | 2012-09-05 |
EP2514165A1 (en) | 2012-10-24 |
BR112012014985A2 (pt) | 2016-04-05 |
US20110314129A1 (en) | 2011-12-22 |
TW201146071A (en) | 2011-12-16 |
KR20140140136A (ko) | 2014-12-08 |
KR20120103721A (ko) | 2012-09-19 |
JP2015084543A (ja) | 2015-04-30 |
JP2013515400A (ja) | 2013-05-02 |
JP5701902B2 (ja) | 2015-04-15 |
TWI444079B (zh) | 2014-07-01 |
WO2011075739A1 (en) | 2011-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101557853B1 (ko) | 애플리케이션 계층에서 다수의 인터페이스들의 결속/애그리게이트 | |
KR101450293B1 (ko) | Http 최적화, 멀티-호밍, 이동성 및 우선순위 | |
US20170302724A1 (en) | Virtual Channel Joining | |
CN101986666B (zh) | 基于虚拟网络接口和反向地址转换的网络数据传输方法 | |
CN101841463B (zh) | 基于sctp的多路径并发传输方法 | |
CN102437964B (zh) | 业务下发方法、装置及通信*** | |
Pitkänen et al. | Opportunistic web access via wlan hotspots | |
EP3588906B1 (en) | Multi-path management with http/2 | |
CN102014053A (zh) | 业务下发方法、装置及通信*** | |
CN109150953A (zh) | 控制通信***中的连接的装置和方法 | |
KR20090086950A (ko) | 네트워크 프로토콜 스택의 핸드오프 및 최적화 | |
US9742797B2 (en) | Method for incorporating network port hopping with minimal or no impact to underlying systems | |
WO2013154473A1 (en) | Method for optimising downloading of data | |
Kanagarathinam et al. | QSOCKS: 0-RTT proxification design of SOCKS protocol for QUIC | |
WO2015100283A1 (en) | Systems and methods for delivering content to clients that are suboptimally mapped | |
Mineki et al. | Spdy accelerator for improving web access speed | |
KR101373863B1 (ko) | 요청 대행 프록시를 이용한 모바일 인터넷 접속 방법 및 시스템 | |
JP6128580B2 (ja) | 通信装置、通信制御方法およびプログラム | |
Anand | Multi-interface connectivity on android | |
WO2023246488A1 (zh) | 内容提供方法及装置 | |
CN115118593A (zh) | 一种多台设备网络共享时对流量优化的方法及其*** | |
MX2014000641A (es) | Sistema para el uso simultaneo de multiples interfaces de red heterogeneas para mejorar el rendimiento de red en dispositivos con varias interfaces. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
LAPS | Lapse due to unpaid annual fee |