KR20140054382A - System and method for mobility and multi-homing content retrieval applications - Google Patents
System and method for mobility and multi-homing content retrieval applications Download PDFInfo
- Publication number
- KR20140054382A KR20140054382A KR1020147008171A KR20147008171A KR20140054382A KR 20140054382 A KR20140054382 A KR 20140054382A KR 1020147008171 A KR1020147008171 A KR 1020147008171A KR 20147008171 A KR20147008171 A KR 20147008171A KR 20140054382 A KR20140054382 A KR 20140054382A
- Authority
- KR
- South Korea
- Prior art keywords
- content
- interface
- server
- received
- application
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 46
- 238000012546 transfer Methods 0.000 claims description 14
- 230000002401 inhibitory effect Effects 0.000 claims 1
- 230000007723 transport mechanism Effects 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 38
- 230000004044 response Effects 0.000 description 14
- 230000008859 change Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- 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/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
-
- 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
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
- H04W36/0011—Control or signalling for completing the hand-off for data sessions of end-to-end connection
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Abstract
TCP/IP 스택 또는 세션 계층 내의 클라이언트 애플리케이션 하에 있는 제어기 기능은 세션 기반 애플리케이션 계층 기능들(예를 들어, 컨텐츠 검색)과 연관되는 상태 및 상태 정보를 모니터링하고 하나 이상의 세션들을 제 1 클라이언트 인터페이스로부터 제 2 클라이언트 인터페이스(예를 들어, 3G, 4G, LTE, 802.11x, WiMAX)로 그리고 상이한 애플리케이션 기능 서빙 엔티티(예를 들어, 상이한 컨텐츠 서버, 캐시 서버, 서비스 제공자)로 이동시키기 위해 이 정보를 사용한다.The controller function under the client application in the TCP / IP stack or session layer monitors status and status information associated with session-based application layer functions (e.g., content retrieval) and sends one or more sessions from the first client interface (E.g., 3G, 4G, LTE, 802.11x, WiMAX) and to different application function serving entities (e.g., different content servers, cache servers, service providers).
Description
본 발명은 일반적으로 멀티-호밍(multi-homing)식 또는 모바일 호스트(mobile host)들에 관한 것으로, 더 구체적이지만 배타적이지 않게, 상기 호스트들이 통신 네트워크들 사이에서 전이될 때 컨텐츠 검색이 끊김 없이 세션 이동하는 것을 제공하는 것이다.
The present invention relates generally to multi-homing or mobile hosts, and more specifically but not exclusively, that content search is seamlessly performed when the hosts transition between communication networks, Lt; / RTI >
모바일 또는 멀티-호밍(multi-homing)식 호스트는 컨텐츠 검색 세션(session)을 가동하고 있는 동안, 예를 들어 클라이언트가 원격 서버로부터의 데이터를 검색하고 있는 동안 자체의 계층 3 네트워크 액세스 포인트(Layer 3 network access point)(즉, IP 어드레스)를 변경해야만 할 것이다. 그와 같은 인터페이스 변경은 “신(new)” 인터페이스가 “구(old)” 인터페이스보다 링크 품질이 더 좋거나 네트워크 혼잡(congestion)이 더 낮기 때문에 바람직할 수 있다. 인터페이스는 또한 사용자가 하나의 네트워크 커버리지 에어리어(coverage area)에서 다른 커버리지 에어리어로 이동할 때 변해야만 할 것이다.A mobile or multi-homing host may use its own Layer 3 network access point (Layer 3) while a content search session is running, for example while the client is retrieving data from a remote server. network access point (i.e., IP address). Such an interface change may be desirable because the " new " interface is better than the " old " interface and the network congestion is lower. The interface will also have to change as the user moves from one network coverage area to another.
클라이언트의 신 인터페이스의 경우, 데이터를 전달하는 데에는 다른 서버가 데이터를 호스트의 구 인터페이스로 송신하는 서버보다 더 적합할 수 있다. 이것은 신 서버가 클라이언트의 신 인터페이스에 더욱 가까이 근접되어 있기 때문일 수 있다. 인터페이스들 중 하나에 접속하는 네트워크는 애플리케이션 계층 프록시(layer proxy)를 보유하지만 다른 인터페이스를 지원하는 네트워크는 그러한 프록시를 보유하지 않거나 또는 다른 프록시를 가지는 것 또한 가능하다. 그러한 프록시 정보가 모바일/멀티-호밍식 호스트 상에서 미리 구성될 수 있을지라도, 컨텐츠 검색에 사용되는 원격 어드레스는 인터페이스가 변할 때 변경되어야만 한다.For a client's new interface, data transfer may be more appropriate for a server than another server to send data to the host's old interface. This may be because the new server is closer to the client's new interface. It is also possible that a network connecting to one of the interfaces has an application layer proxy, while a network supporting another interface may not have such a proxy or have a different proxy. Although such proxy information may be preconfigured on a mobile / multi-homing host, the remote address used for content retrieval must be changed when the interface changes.
적어도 상기 이유들 때문에, 클라이언트에 의해 컨텐츠 검색을 위해 사용되는 인터페이스와 함께 컨텐츠를 전달하는 서버를 변경하는 능력들을 제공하는 것이 바람직하다.For at least the above reasons, it is desirable to provide the ability to change the server delivering content along with the interface used for content retrieval by the client.
컨텐츠 검색 애플리케이션들은 전형적으로 클라이언트를 컨텐츠 서버에 접속시키고 컨텐츠를 신뢰성 있고 적법하게 전달하는 것을 보장하는 TCP, SCTP 또는 MPTCP와 같은 스트림-지향 전송 프로토콜들을 사용한다. TCP가 기저의 전송 프로토콜로서 사용될 때, 전송 접속은 대체 클라이언트-서버 세션을 방해하지 않고 상이한 인터페이스로 이동될 수 없다. SCTP가 사용될 때, 클라이언트는 트래픽을 구 인터페이스에서 신 인터페이스로 이동시킬 수 있다. 그러나, 서버를 동시에 변경하는 것은 가능하지 않은데, 왜냐하면 구 서버 상의 SCTP 제어 블록이 신 서버와 공유되지 않는 접속-특정 정보를 보유하기 때문이다. MPTCP가 접속에 사용되는 경우 동일한 문제가 발생한다. 더욱이, SCTP 및 MPTCP는 일반적으로 인터넷 상에서 지원되지 않는다.Content retrieval applications typically use stream-oriented transport protocols such as TCP, SCTP, or MPTCP to ensure that the client connects to the content server and delivers the content reliably and legitimately. When TCP is used as the underlying transport protocol, the transport connection can not be moved to a different interface without interfering with alternate client-server sessions. When SCTP is used, the client can move traffic from the old interface to the new interface. However, it is not possible to change the server at the same time, because the SCTP control block on the old server holds connection-specific information that is not shared with the new server. The same problem occurs when MPTCP is used for connection. Moreover, SCTP and MPTCP are not generally supported on the Internet.
계층 3 상에서 세션 엔드포인트(end point) 이동의 기능을 수용하고 따라서 전송 및 애플리케이션 계층에 투명한 여러 이동성/멀티-호밍 프로포콜들이 있다. 모바일 IP 프로토콜 군, SHIM6 및 LTE가 예들이다. 이 해법들 중 일부는 홈 에이전트들 또는 특수화된 게이트웨이들(MIPv4, MIPv6, DSMIP, PMIP, LTE)과 같은 추가 네트워크 노드들을 필요로 한다. 불행하게도, 이 해법들 어느 것도 진행 중인 데이터 검색 중에 컨텐츠 서버가 변경되도록 하지 못 한다.There are several mobility / multi-homing protocols that accept the functionality of session endpoint mobility on Layer 3 and thus are transparent to the transport and application layer. Mobile IP protocol families, SHIM6 and LTE are examples. Some of these solutions require additional network nodes such as home agents or specialized gateways (MIPv4, MIPv6, DSMIP, PMIP, LTE). Unfortunately, none of these solutions allow the content server to change during ongoing data retrieval.
컨텐츠 검색 세션 동안 이동성/멀티-호밍 및 컨텐츠 소스 이동을 가능하게 하는 컨텐츠 중심 네트워크들(예를 들어, Jacobson 등의 "Networking Named Content", CoNEXT'09, 신홍 네트워킹 전문가 및 기술(Emerging Networking Experiments and Technologies)에 대한 제 5 차 국제회의 회보)로서 칭해지는 제안들이 있다. 그러나, 이 제안들은 현재의 IP-계층 및 전송-계층 프로토콜들과 부합하지 않는다. 동일한 이유로 인해, 이들은 기존 네트워크 기반구조 또는 인터넷과 더 부합하지 않는다.Content-centric networks (e.g., "Networking Named Content" such as Jacobson et al., CoNEXT'09, Emerging Networking Experiments and Technologies ), Which is the fifth International Conference of the United Nations. However, these proposals do not match current IP-layer and transport-layer protocols. For the same reason, they do not match existing network infrastructure or the Internet.
애플리케이션-계층 해법들이 있는데, 여기에서는 접속 포인트 변경들 및 서버 변경들이 클라이언트 애플리케이션 자체 내로 구축된다. 그와 같은 애플리케이션들은 중간에 데이터 전송을 중단시키고, 대응하는 전송 접속을 종료시키고, 새 전송 접속을 재설정하고 동일한 또는 새로운 서버로부터 나머지 데이터를 요청할 수 있다. 이 해법들은 컨텐츠의 데이터 유형뿐만 아니라 특정한 애플리케이션 계층 프로토콜에 맞춤화될 수 있지만, 이것들은 모든 클라이언트 애플리케이션에 의해서 별개로 구현될 필요가 있다. 이것은 매우 성가시고, 본질상, 기존 또는 레거시(legacy) 애플리케이션들을 지원하지 않는다.There are application-layer solutions where connection point changes and server changes are built into the client application itself. Such applications may intercept the data transfer in the middle, terminate the corresponding transfer connection, reset the new transfer connection and request the remaining data from the same or new server. These solutions can be tailored to specific application layer protocols as well as data types of content, but they need to be implemented separately by all client applications. This is very cumbersome and, by its nature, does not support legacy or legacy applications.
불행히도, 컨텐츠를 전달하는 서버 및/또는 컨텐츠 검색을 위해 클라이언트에 의해 사용되는 인터페이스를 변경하기 위한 여러 컨텐츠 검색 기술들이 있을지라도, 이들 기술들 중 어느 것도 기존의 또는 진보하는 전송 프로토콜들과의 부합성을 유지하면서도 기존 클라이언트 애플리케이션들을 지원하는 것이 가능하지 않다.
Unfortunately, even though there are several content retrieval techniques for changing the server used to deliver content and / or the interface used by the client for content retrieval, none of these techniques are compatible with existing or emerging transport protocols But it is not possible to support existing client applications.
본 발명의 목적은 상술한 문제를 해결하는 것이다.
An object of the present invention is to solve the above-mentioned problems.
멀티 호밍식 또는 모바일 호스트에 의해 검색되는 실질적으로 연속하는 컨텐츠가 클라이언트에 대한 컨텐츠 검색 세션을 방해하지 않고 컨텐츠 검색 동안 자체의 인터페이스뿐만 아니라 클라이언트 세션에 의해 사용되는 컨텐츠 서버를 변경할 수 있도록 하는 실시예들에 의해 종래 기술의 다양한 결점들이 처리된다.Embodiments in which substantially contiguous content retrieved by a multi-homing or mobile host may change its own interface during content retrieval as well as the content server used by the client session without interfering with the content retrieval session for the client The various drawbacks of the prior art are addressed.
다양한 실시예들에서, TCP/IP 스택(stack) 내 또는 세션 계층 상의 클라이언트 애플리케이션 하에서의 제어기 기능이 구현된다. 제어기 기능은 애플리케이션 계층 기능들(예를 들어, 컨텐츠 검색)과 연관되는 상태 및 상태 정보를 유지하기 위해 애플리케이션 계층 프로토콜에 의해 사용되는 다양한 명령들을 모니터링함으로써, 애플리케이션 계층 기능들이 상이한 클라이언트 인터페이스(예를 들어, 3G, 4G, LTE 802.11x, WiMAX)로 그리고/또는 상이한 애플리케이션 기능 서빙 엔티티(serving entity)(예를 들어, 상이한 컨텐츠 서버, 캐시 서버, 서비스 제공자)로 이동될 수 있다.In various embodiments, controller functionality is implemented within a TCP / IP stack or under a client application on a session layer. The controller function monitors the various commands used by the application layer protocol to maintain state and status information associated with application layer functions (e.g., content retrieval), so that the application layer functions can communicate with different client interfaces (E.g., 3G, 4G, LTE 802.11x, WiMAX) and / or to different application function serving entities (e.g., different content servers, cache servers, service providers).
하나의 실시예에서, 호스트에 있는 컨텐츠 검색 애플리케이션과 연관되는 컨텐츠 검색 세션을 제 1 인터페이스를 통하는 제 1 서버로부터 제 2 인터페이스를 통하는 제 2 서버로 이동시키는 장치는 프로세서를 포함하고, 상기 프로세서는 제 2 인터페이스를 사용하여 제 2 서버와의 전송 접속을 설정하고; 제 2 인터페이스를 통해 제 2 서버로 컨텐츠 요청 메시지를 송신하고 -컨텐츠 요청 메시지는 검색되는 컨텐츠와 연관되는 식별자 및 컨텐츠 검색 애플리케이션에 의해 수신되는 컨텐츠 부분들의 표시를 포함함-; 컨텐츠 검색 애플리케이션에 의해 수신되는 추가적인 컨텐츠 부분들을 식별하기 위해 제 2 인터페이스를 통해 수신되는 컨텐츠 함유 데이터 스트림(content bearing data stream)을 분석하고; 컨텐츠 검색 애플리케이션으로, 컨텐츠 검색 애플리케이션에 의해 수신되지 않은 식별된 컨텐츠 부분들을 전송하도록 구성된다.In one embodiment, an apparatus for moving a content retrieval session associated with a content retrieval application at a host from a first server through a first interface to a second server via a second interface includes a processor, 2 interface to establish a transport connection with the second server; Sending a content request message to a second server via a second interface, the content request message including an identifier associated with the content being searched and an indication of the content portions received by the content search application; Analyzing a content bearing data stream received via a second interface to identify additional content portions received by the content search application; To the content search application, to transmit identified content portions that have not been received by the content search application.
다른 실시예에서, 호스트에 있는 컨텐츠 검색 애플리케이션과 연관되는 컨텐츠 검색 세션을 제 1 인터페이스를 통하는 제 1 서버로부터 제 2 인터페이스를 통하는 제 2 서버로 이동시키는 방법은, 제 2 인터페이스를 사용하여 제 2 서버와의 전송 접속을 설정하는 단계; 제 2 인터페이스를 통해 제 2 서버로 컨텐츠 요청 메시지를 송신하는 단계 - 컨텐츠 요청 메시지는 검색되는 컨텐츠와 연관되는 식별자 및 상기 컨텐츠 검색 애플리케이션에 의해 수신되는 컨텐츠 부분들의 표시를 포함함-; 컨텐츠 검색 애플리케이션에 의해 수신되는 추가적인 컨텐츠 부분들을 식별하기 위해 제 2 인터페이스를 통해 수신되는 컨텐츠 함유 데이터 스트림을 분석하는 단계; 및 컨텐츠 검색 애플리케이션으로, 컨텐츠 검색 애플리케이션에 의해 수신되지 않은 식별된 컨텐츠 부분들을 전송하는 단계를 포함한다.In another embodiment, a method of moving a content retrieval session associated with a content retrieval application at a host from a first server through a first interface to a second server via a second interface includes: Establishing a transmission connection with the terminal; Transmitting a content request message to a second server via a second interface, the content request message including an identifier associated with the content being searched and an indication of content portions received by the content search application; Analyzing a content-containing data stream received via a second interface to identify additional content portions received by the content search application; And sending, to the content retrieval application, the identified content portions that have not been received by the content retrieval application.
다양한 실시예들에서, TCP/IP 스택 또는 세션 계층에서 클라이언트 애플리케이션 하의 제어기 기능은 세션 기반 애플리케이션 계층 기능들(예를 들어 컨텐츠 검색)과 연관되는 상태 및 상태 정보를 모니터링하고 하나 이상의 세션들을 제 1 클라이언트 인터페이스로부터 제 2 클라이언트 인터페이스(예를 들어, 3G, 4G, LTE, 802.11x, WiMAX)로 상이한 애플리케이션 기능 서빙 엔티티(예를 들어, 상이한 컨텐츠 서버, 캐시 서버, 서비스 제공자)로 이동시키기 위해 이 정보를 이용한다.
In various embodiments, the controller function under the client application in the TCP / IP stack or session layer may monitor status and status information associated with session-based application layer functions (e.g., content retrieval) (E.g., a different content server, a cache server, a service provider) with a second client interface (e.g., 3G, 4G, LTE, 802.11x, WiMAX) .
본원에서의 내용들은 첨부 도면들과 함께 다음의 상세한 설명을 고려함으로써 더 용이하게 이해될 수 있다.
도 1은 하나의 실시예에 따라 호스트 디바이스를 포함하는 통신 시스템의 고 레벨 블록도이다.
도 2 내지 도 3은 도 1의 통신 시스템에서 사용하는 데 적합한 호스트 디바이스들의 고 레벨 블록도들이다.
도 4는 하나의 실시예에 따른 방법론을 도시하는 프로토콜 다이어그램이다.
도 5는 하나의 실시예에 따른 방법론을 도시하는 흐름도이다.
도 6은 본원에 기술되는 기능들을 수행하는 데 사용하기 적합한 컴퓨터의 고 레벨 블록도이다.
이해를 용이하게 하기 위해, 도면들에 공통인 동일한 요소들을 지칭하는 데, 가능한 경우 동일한 참조 번호들이 이용되었다.The contents herein can be more readily understood by considering the following detailed description together with the accompanying drawings.
1 is a high-level block diagram of a communication system including a host device in accordance with one embodiment.
Figures 2 to 3 are high-level block diagrams of host devices suitable for use in the communication system of Figure 1.
4 is a protocol diagram illustrating a methodology in accordance with one embodiment.
5 is a flow chart illustrating a methodology in accordance with one embodiment.
Figure 6 is a high-level block diagram of a computer suitable for use in performing the functions described herein.
To facilitate understanding, like reference numerals have been used, where possible, to designate identical elements that are common to the figures.
멀티 호밍식 또는 모바일 호스트들이 클라이언트에 의해 사용되는 인터페이스와 함께 컨텐츠를 전달하는 서버를 컨텐츠 검색 애플리케이션에 투명한 방식으로 변경할 수 있는 전반적인 케이퍼빌리티(capability)가 본원에서 도시되고 기술되지만, 다양한 다른 관련되고/관련되거나 관련되지 않은 케이퍼빌리티들 또한 개시될 수 있다.While the overall capability to change a server that delivers content along with an interface used by a multi-homing or mobile host to a client to a content retrieval application in a transparent manner is shown and described herein, / Capabilities that are related or unrelated can also be initiated.
다양한 실시예들은 기존 그리고 진화하는 전송 프로토콜들과의 부합성(compliance)을 유지하면서도 컨텐츠 검색을 위해 클라이언트에 의해 사용되는 인터페이스와 함께 컨텐츠를 변경하기 위해서 멀티 호밍식 또는 모바일 호스트들 내에 있는 기존 클라이언트 애플리케이션들을 지원한다.Various embodiments may be used to modify content with an interface used by a client for content retrieval while maintaining compliance with existing and evolving transport protocols, .
다양한 실시예들은 네트워크 상에 상주하는 서버들로부터의 컨텐츠 검색을 위한 애플리케이션들을 이용하는 모바일 및/또는 멀티 호밍식 호스트들에 적용 가능하다. 그와 같은 컨텐츠 검색 세션들의 예들은 웹 브라우징 세션들, 웹 기반 비디오 스트리밍 세션들, HTTP 기반 파일 전송 세션들 및 다른 비 상태기반 컨텐츠 검색 세션들 동안 수행되는 것과 같이 웹서버들로부터의 다운로드들을 포함한다. 실시예들은 호스트가 클라이언트 애플리케이션으로의 데이터 전달을 계속 진행하면서도, 즉, 애플리케이션을 중단시키거나 다시 시작하지 않으면서도 컨텐츠 전달 서버뿐만 아니라 네트워크 인터페이스들을 투명하게 변경하는 것이 가능하다.Various embodiments are applicable to mobile and / or multi-homing hosts that utilize applications for content retrieval from servers residing on the network. Examples of such content search sessions include downloads from web servers, such as those performed during web browsing sessions, web based video streaming sessions, HTTP based file transfer sessions and other non-state based content search sessions . Embodiments are able to transparently change the network interfaces as well as the content delivery server while the host continues to deliver data to the client application, i. E. Without interrupting or restarting the application.
실시예들은 클라이언트 애플리케이션에 의해 사용되는 안전하고 멱등(idempotent)의 메소드 호출(method invocation)을 제공하고, 이 메소드 호출은 오프셋(offset) 피처(feature)를 지원하고 예시적으로 컨텐츠의 시작부에 대해 특정한 오프셋으로 컨텐츠 전달을 시작하라고 원격 서버에게 명령한다.Embodiments provide a secure, idempotent method invocation used by a client application that supports an offset feature and is illustratively described with respect to the beginning of the content Instructs the remote server to start delivering content at a specific offset.
하나의 실시예에서, 컨텐츠 검색은 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol; HTTP) 프로토콜에 기초하고, 클라이언트는 컨텐츠 검색 세션을 호출하기 위해 GET 방법을 사용한다. HTTP 프로토콜은 그와 같은 오프셋 피처를 지원한다. HTTP의 경우, 이미 수신된 컨텐츠들의 양의 옥테트(octet)들과 함께 HTTP 요청 헤더 내에 삽입 되어야 하는 RANGE 명령이 사용될 수 있다.In one embodiment, the content retrieval is based on the Hypertext Transfer Protocol (HTTP) protocol, and the client uses the GET method to invoke the content retrieval session. The HTTP protocol supports such an offset feature. In the case of HTTP, the RANGE command, which should be inserted in the HTTP request header with the octets of the amount of already received content, can be used.
도 1은 하나의 실시예에 따라 호스트 디바이스를 포함하는 통신 시스템의 고 레벨 블록도를 도시한다. 구체적으로, 도 1은 멀티 호밍식 또는 모바일 호스트(110)가 복수의 네트워크들(120)과 통신하고 이 네트워크들로부터 각각의 컨텐츠 소스들(140)로부터의 컨텐츠를 검색할 수 있는 시스템(100)을 도시한다.1 illustrates a high-level block diagram of a communication system including a host device in accordance with one embodiment. 1 illustrates a
본원에서 논의되는 다양한 실시예들에 따르면, 호스트(110)는 컨텐츠 배포(content distribution)를 다시 시작하거나 이와는 달리 호스트 컨텐츠 검색 애플리케이션을 방해하지 않으면서 제 1 네트워크와 연관되는 서버로부터의 컨텐츠를 검색하기 위한 세션을 제 2 네트워크와 연관되는 서버로부터의 컨텐츠를 검색하기 위한 세션으로 전이할 수 있다.According to various embodiments discussed herein, the
호스트(110)는 예시적으로, 제 1 네트워크(120-1)와 인터페이스하는 제 1 인터페이스(112-1), 제 2 네트워크(120-2)와 인터페이스하는 제 2 인터페이스(112-2), 제어기(114), 클라이언트(116) 및 인터페이스 관리자(118)를 포함한다.
클라이언트(116)는 컨텐츠 검색 애플리케이션(content retrieval application; CRA)을 포함하는 것으로 도시되고, 이 애플리케이션은 컨텐츠 서버들과 같은 원격 엔티티(entity)들과의 세션들을 설정하고, 컨텐츠 서버들로부터 원하는 컨텐츠의 전달을 요청하고, 전달된 컨텐츠를 수신하고, 수신된 컨텐츠를 호스트(110)와 연관되는 저장 디바이스(도시되지 않음) 및/또는 프리젠테이션 회로소자(도시되지 않음)로 전파하기 위하여 모든 필요한 상호 작용 및 시그널링을 제공하는 데 이용된다.The
제어기(114)는 클라이언트(116) 및 인터페이스들(112) 사이에 국지적으로 위치된다. 다양한 실시예들에서, 제어기(114)는 클라이언트(116) 및 인터페이스들(112) 사이에서 전파되는 데이터 트래픽 및/또는 제어 신호들 중 일부 또는 모두를 모니터링한다. 제어기(114)는 클라이언트(116)에 의해 인터페이스들(112)의 사용을 적응시키기 위해 인터페이스 관리자(118)에 응답한다. 일반적으로, 제어기(114)의 동작은 클라이언트(116)에게 보이지 않을 수 있다. 다양한 실시예들에서, 인터페이스 관리자(118)는 제어기(114)로 하여금 제 1 인터페이스(112-1)만을 통하거나 제 2 인터페이스(112-2)만을 통하거나 또는 제 1 및 제 2 인터페이스들의 일부의 결합부(112)를 통하여 흐르는 제어 신호들 및/또는 데이터 트래픽을 발생시키도록 한다.The
인터페이스 관리자(118)는 제어기(114)로 하여금 인터페이스들(112) 중 어떤 인터페이스가 클라이언트(116) 및 인터페이스들(112) 사이의 데이터 트래픽 및/또는 제어 신호들을 지원하는 데 이용될지를 선택하도록 한다. 인터페이스 관리자(118)는 인터페이스 제어(IC) 신호 경로를 통해 제어기(114)와 통신하는 것으로 도시된다.The
일부 실시예들에서, IC 신호 경로는 인터페이스 관리자가 이용 가능한 인터페이스들(112) 중 어떤 인터페이스가 클라이언트(116)에 의한 사용을 위해 제어기(114)에 의해 선택되어야 하는지를 표현하는 점에서 단방향(unidirectional)이다.In some embodiments, the IC signal path is unidirectional in that it represents which interface of the interfaces 112 available to the interface manager is to be selected by the
일부 실시예들에서, IC 신호 경로는 인터페이스 관리자(118) 및 제어기(114)가 클라이언트 요건들, 인터페이스 요건들, 인터페이스(112)의 여건, 통신 네트워크들(120)의 여건 등을 이해하는 데 유용한 정보를 전송하기 위해 서로 통신하는 점에 있어서 양방향(bidirectional)이다. 유사하게, 인터페이스 관리자(118)는 제어기(114)에 의해 발생한 것으로서 감지될 때 제어기(114)가 새로운 인터페이스(112)를 선택하거나 일부 다른 기능을 수행하는 결과를 발생시키는 조건부 트리거(trigger) 여건들을 통신할 수 있다.In some embodiments, the IC signal path may be used by the
다양한 실시예들에서, 특정한 인터페이스(112)의 선택과 연관되는 여건들이 제어기(114)를 통해 인터페이스 관리자(118)에게 통신된다. 다양한 실시예들에서, 그와 같은 여건들은 인터페이스들(112) 중 하나 이상을 통해 호스트에 동작 가능하게 접속되는 네트워크 관리 시스템(network management system; NMS), 서비스 제공자 또는 어떤 다른 엔티티(entity)에 의해 제공된다. 예를 들어, 네트워크들(120)의 각각과 연관되는 혼잡 정보는 각각의 인터페이스들(112)을 통해 제어기(114) 및/또는 인터페이스 관리자(118)에 통신될 수 있다.In various embodiments, conditions associated with the selection of a particular interface 112 are communicated to the
다른 여건들은 네트워크 제공자들과 연관되는 선호도들, 특정한 모바일 네트워크 제공자와 연관되는 “무료” 핫 스팟들을 식별하는 핫 스팟 식별 정보 등을 포함한다. 예를 들어, 호스트(110)가 각각의 인터페이스(112)에 의해 3G 및 802.11에 액세스할 수 있는 경우에, 일부 핫스팟들은 서비스 레벨 동의들, 제공자 상호 동의들 등에 따라, 사용하는 데 무료이거나 비용이 더 적게 들 수 있다.Other circumstances include preferences associated with network providers, hot spot identification information identifying " free " hot spots associated with a particular mobile network provider, and the like. For example, if the
그러므로, 다양한 실시예들에서, 인터페이스 관리자(118)에 의해 제어기(114)로 전파되는 제어 신호는 제 1 인터페이스를 통해 수신되는 혼잡 레벨 표시자, 제 2 인터페이스를 통해 수신되는 혼잡 레벨 표시자, 선호되는 서비스 제공자가 제 2 인터페이스와 연관되어 있다는 결정, 선호되는 서비스가 제 2 인터페이스와 연관되어 있다는 결정, 감소되는 비용이 제 2 인터페이스와 연관되어 있다는 결정, 성능 증가가 제 2 인터페이스와 연관되어 있다는 결정, 선호되는 네트워크가 제 2 인터페이스와 연관되어 있다는 결정 등 중의 하나 이상과 연관될 수 있다.Thus, in various embodiments, the control signal propagated by the
다양한 실시예들에서, 인터페이스 선택 여건들은, 컨텐츠 검색 애플리케이션(content retrieval application; CRA)에 의해 개시되고/되거나 관리되는 컨텐츠 검색 세션의 상황 내에서 컨텐츠를 검색하기 위한 것과 같이 인터페이스들(112) 중 어떤 인터페이스가 클라이언트(116)에 의해 사용될 것인지에 대한 결정을 행하기 위해서 제어기(114) 및 인터페이스 관리자(118) 중 하나 또는 이 둘 모두에 의해 사용될 수 있다.In various embodiments, the interface selection conditions may include any of the interfaces 112, such as for retrieving content within the context of a content search session initiated and / or managed by a content retrieval application (CRA) May be used by
본원에서 2개의 인터페이스들(112)이 도시될지라도, 다양한 실시예들의 상황 내에서 3 이상의 인터페이스들(112)이 또한 사용될 수 있음이 인정될 것이다. 인터페이스들(112)의 각각은 대응하는 네트워크(120)와 통신하는 것이 가능하다.It will be appreciated that although two interfaces 112 are shown herein, more than two interfaces 112 may also be used within the context of various embodiments. Each of the interfaces 112 is capable of communicating with the corresponding network 120.
네트워크들(120)의 각각은 호스트(110) 및 컨텐츠 소스(140) 사이의 통신을 가능하게 하는데 충분한 하나 이상의 액세스 네트워크들, 코어 네트워크 등을 포함한다. 네트워크들(120)의 각각은 각각의 도메인 네임 서버(domain name server; DNS)(130)와 연관되는 것으로 도시되지만, 임의의 하나의 네트워크(120)의 상황에서 추가 도메인 네임 서버들이 사용될 수 있다.Each of the networks 120 includes one or more access networks, a core network, or the like, sufficient to enable communication between the
컨텐츠 소스들(140)의 각각은 각각의 네트워크(120)와 통신하는 인터페이스(142) 및 일반적으로 클라이언트(116)와의 세션을 설정하고, 클라이언트(116)과 상호 작용하고, 클라이언트(116)에 컨텐츠를 제공하도록 적응되는 컨텐츠 서버(144)를 포함하는 것으로 도시된다. 컨텐츠 서버(140)는 세션 기반 컨텐츠 배포 및/또는 스트리밍이 가능한 임의의 유형의 컨텐츠 배포 시스템 또는 컨텐츠 서버를 포함할 수 있다.Each of the content sources 140 establishes a session with an interface 142 and generally a
하나의 실시예에서, 호스트는 제 1 인터페이스(112-1)를 통하는 무선 모바일 네트워크들 및 제 2 인터페이스(112-2)에 의한 무선 “핫스팟들”과 통신하도록 구성되는 스마트폰 또는 다른 모바일 디바이스를 포함한다.In one embodiment, the host may be a smart phone or other mobile device configured to communicate with wireless " hot spots " by the second interface 112-2 and wireless mobile networks via the first interface 112-1 .
구체적으로, 이 실시예에서, 제 1 인터페이스(112-1)는 제 1 통신 네트워크(120-1)(예시로 3G, 4G, LTE 또는 다른 무선 모바일/액세스 네트워크)와 통신하는 데 필요한 하드웨어 및 소프트웨어 구성요소들을 포함하도록 구성될 수 있고, 반면에 제 2 인터페이스(112-2)는 제 2 통신 네트워크(120-2)(예시로 802.11x와 같은 무선 “핫스팟” 유형의 네트워크, WiMAX, 무선 기가비트 또는 다른 유사한 또는 고정된 무선 네트워크)와 통신하는 데 필요한 하드웨어 및 소프트웨어 구성요소들을 포함하도록 구성될 수 있다.Specifically, in this embodiment, the first interface 112-1 includes hardware and software necessary to communicate with the first communication network 120-1 (e.g., 3G, 4G, LTE, or other wireless mobile / The second interface 112-2 may be configured to include a second communication network 120-2 (e.g., a wireless " hotspot " type network such as 802.11x, WiMAX, wireless gigabit (E. G., Other similar or fixed wireless networks). ≪ / RTI >
명료성을 위해 제외될지라도, 호스트(110), 네트워크들(120), 도메인 네임 서버들(130) 및 컨텐츠 소스들(140)과 연관되는 다양한 기능들은 일반적으로 호스트(110)의 상황 내에서 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현되는 컴퓨터 기반 기능들을 포함하는 것이 인정될 것이다. 그러므로, 호스트(110)는 하나 이상의 프로세서들, 메모리 소자들, 입력-출력 회로들 등과 같은 범용 컴퓨팅 요소들을 포함하고, 이들 소자들은 명료성을 강화하기 위해 도 1에서는 생략된다. 그와 같은 요소들을 제공하는 컴퓨팅 디바이스의 실시예는 도 6과 관련하여 더 상세하게 기술된다.The various functions associated with the
본원에서 기술되는 다양한 실시예들은 모바일/멀티 호밍식 호스트가 클라이언트에 대한 컨텐츠 검색 세션을 방해하지 않고도 컨텐츠 검색 동안 클라이언트 세션에 의해 사용되는 컨텐츠 서버뿐만 아니라 자체의 인터페이스를 변경하는 것을 가능하게 한다.The various embodiments described herein enable a mobile / multihoming host to change its own interface as well as the content server used by the client session during content retrieval without interfering with the content retrieval session for the client.
다양한 실시예들에서, 제어기(114)는 클라이언트를 지원하는 소프트웨어 계층 하부의 소프트웨어 계층 내에서 구현되는 소프트웨어 기능을 포함한다. 구체적으로, 제어기 기능은 TCP/IP 스택(stack) 내 또는 세션 계층 상에서 클라이언트 애플리케이션 하부에 상주한다. 제어기 기능은 자체의 계층을 통하는 트래픽의 적어도 일부를 모니터링하고 애플리케이션 계층 프로토콜에 의해 사용되는 명령들의 적어도 일부를 인식 또는 이해할 수 있다.In various embodiments, the
일반적으로 말해서, 제어기(114)는 4개의 주요 임무들을 수행한다: (1) 클라이언트(116) 및 인터페이스(112) 사이의 트래픽을 모니터링하여 이로부터 요청되는 컨텐츠의 식별 및 클라이언트에 의해 수신되는 요청되는 컨텐츠의 양을 도출하고; (2) 요청되는 컨텐츠를 포함하는 새로 선택된 인터페이스 상에서 서버를 식별하고; (3) 식별된 서버로의 전송 접속을 개시하고; (4) 클라이언트에 의해 아직 수신되지 않은 상기 컨텐츠의 부분을 클라이언트로 재지향한다.Generally speaking, the
구체적으로, 클라이언트 호스트의 인터페이스가 변경될 경우, 제어기는 새로운 인터페이스 상에서 이 컨텐츠에 대해 사용될 가장 적절한 서버를 결정한다. 구 인터페이스를 통해 컨텐츠를 제공하는 서버는 “구(old)” 서버로 표시되고, 반면에 새로운 인터페이스를 통해 컨텐츠를 제공하도록 선택되는 서버를 “신(new)” 서버로 표시된다. 신 서버 및 구 서버는 컨텐츠 제공자 장비의 구성에 따라 서로 동일할 수 있음이 지적된다.Specifically, when the interface of the client host is changed, the controller determines the most appropriate server to be used for this content on the new interface. A server providing content via the old interface is denoted as an " old " server, while a server selected to serve content through a new interface is denoted as a " new " It is pointed out that new servers and old servers may be identical to each other depending on the configuration of content provider equipment.
제어기 기능은 신 서버로의 전송 접속을 개시하고 예시로 원 컨텐츠 검색 요청의 카피를 신 서버에 송신한다.The controller function initiates a transfer connection to the new server and for example sends a copy of the original content retrieval request to the new server.
제어기 기능은 또한 예시로 애플리케이션 계층 프로토콜에 의해 제공되는 명령을 신 서버에 송신하고, 이 명령은 신 서버에게 명시된 오프셋에 따라 컨텐츠 전달을 시작하도록 지시하고, 상기 오프셋은 이전 인터페이스를 통해 이미 수신된 데이터의 양에 기초한다.The controller function also sends, by way of example, the command provided by the application layer protocol to the new server, which instructs the new server to start delivering content according to the specified offset, . ≪ / RTI >
제어기는 그 후에 신 서버에 의해 전달되는 데이터를 클라이언트 애플리케이션으로 재지향하고 구 서버로의 접속을 종료한다.The controller then redirects the data delivered by the new server to the client application and terminates the connection to the old server.
이 단계들은 일반적으로 클라이언트 애플리케이션에 투명하고, 이에 따라 제 1 네트워크 인터페이스에서 제 2 네트워크 인터페이스로의 검색된 컨텐츠 스트림의 끊어짐 없는 전이가 용이해진다.These steps are generally transparent to the client application, thereby facilitating a seamless transition of the retrieved content stream from the first network interface to the second network interface.
오프셋을 위해, (1) 수신되는 컨텐츠의 양을 충분히 특성화하고, (2) 애플리케이션 계층 프로토콜과 부합되고, 그러므로 서버에 의해 이해되고, (3) 수신되는 컨텐츠 스트림(들)을 모니터링함으로써 도출될 수 있는 어떠한 표현도 사용될 수 있다.Can be derived for the offset by (1) fully characterizing the amount of content received, (2) conforming to the application layer protocol, and therefore understood by the server, and (3) monitoring the received content stream Any expression can be used.
오프셋은 수신되는 컨텐츠의 양의 옥테트들을 나타내는 수를 포함할 수 있고, 이는 수신되는 데이터 객체들의 식별자들의 목록을 포함할 수 있고, 여기서 객체들은 표준화된 포맷(예를 들어, XML, html 등)을 통해 제공된다. 오프셋은 수신되는 비디오 스트림 또는 이의 일부분들과 연관되는 시간 간격, 프레임 계수, 프로그램 클럭 레퍼런스(program clock reference; PCR) 등과 연관되는 시간 간격과 같은 다른 메트릭(metric)들을 나타낼 수 있다.The offset may include a number representing the number of octets of content received, which may include a list of identifiers of the received data objects, wherein the objects are in a standardized format (e.g., XML, html, etc.) Lt; / RTI > The offset may represent other metrics such as the time interval associated with a received video stream or portions thereof, a frame count, a time interval associated with a program clock reference (PCR), and the like.
도 2 내지 도 3은 도 1의 통신 시스템에서 사용하는 데 적합한 호스트 디바이스들의 고 레벨 블록도들을 도시한다. 구체적으로, 도 2 내지 도 3은 도 1과 관련하여 상술한 호스트(110)와 유사한 방식으로 동작하는 호스트들(110)을 도시한다.Figures 2-3 illustrate high level block diagrams of host devices suitable for use in the communication system of Figure 1; Specifically, FIGS. 2-3 illustrate
도 2에 관하여, 세션 계층 구현은 제어기(114)의 기능들이 클라이언트(116)를 통해 호출되거나 액세스되는 함수들의 라이브러리 내에서 구현되도록 라이브러리 함수를 사용하여 제공된다. 더욱이, 커널 공간은 제 1 인터페이스(112-1)와 연관되는 제 1 TCP/IP 스택(113-1) 및 제어기(114)에 의해 호출되거나 액세스되는 제 2 TCP/IP 스택(113-2)을 포함한다.2, a session layer implementation is provided using a library function such that the functions of the
유용하게, 이 구현은 기존 멀티 호밍식 또는 모바일 호스트들 상의 기존 애플리케이션들이 라이브러리 함수를 업그레이드하여 제어기(114) 및 인터페이스 관리자(118)의 기능을 포함함으로써 본원에 기술되는 다양한 실시예들의 기능을 지원하도록 업그레이드될 수 있는 메커니즘을 제공한다. 불행하게도, 커널 공간 기능들에 직접적으로 액세스함으로써 라이브러리 함수들을 우회하는 상기 애플리케이션들의 경우, 다양한 실시예들과 연관되는 제어기 기능들 중 일부를 구현하는 것이 가능하지 않을 수 있다.Advantageously, this implementation allows existing applications on existing multi-homing or mobile hosts to upgrade the library functions to include the functionality of
도 3과 관련하여, 전송 계층 구현은 커널 공간 내에 제어기(114) 및 인터페이스 관리자(118)를 포함하고, 부가적으로 제어기(114)를 TCP/IP 스택들(113)과 통합시킴으로써 제공된다.3, a transport layer implementation is provided by including
유리하게, 이 구현은 기존 멀티 호밍식 또는 모바일 호스트들 상의 기존 애플리케이션들이 라이브러리들을 사용하지 않는 평범한 애플리케이션들이었고, 라이브러리 함수와 연관되는 애플리케이션 프로그래밍 인터페이스(application programming interface; API)들 등이 본원에서 기술되는 다양한 실시예들에 따라 여전히 동작할 수 있을 메커니즘을 제공하는데, 왜냐하면 커널 공간 함수들은 라이브러리 함수들과 같은 사용자 공간 함수들과 같이 쉽게 애플리케이션들에 의해 우회될 수 없기 때문이다.Advantageously, this implementation is commonplace applications where existing applications on existing multi-homing or mobile hosts do not use libraries, and application programming interfaces (APIs) associated with library functions, etc. are described herein It provides a mechanism that will still work in accordance with various embodiments, since kernel space functions can not be easily bypassed by applications, such as user space functions such as library functions.
도 4는 하나의 실시예에 따른 방법론을 예시하는 프로토콜 다이어그램을 도시한다. 구체적으로, 도 4는 방법(400)을 도시하고 여기서 단계들 401, 402 등 최대 411(및 선택적으로 그 이상)의 각각에서 정보는 도 1에 관하여 상술한 다양한 기능 요소들 사이에서 전달되는 것으로 도시되어서 이에 의해 다양한 실시예들을 설명할 수 있다.4 illustrates a protocol diagram illustrating a methodology in accordance with one embodiment. 4 illustrates
단계 401에서, 클라이언트(116)는 도메인 네임 서버(domain name server; DNS)(130-1)로부터 제 1 컨텐츠 서버(140-1)에 대한 IP 어드레스를 검색하기 위해 제 1 인터페이스(112-1)(또한 본원에서 IF1으로 표시된다)를 통해 제 1 네트워크(120-1)와 연관되는 도메인 네임 서버(DNS)(130-1)에 DNS 요청을 송신한다. 이 단계 동안, 제어기(114)는 DNS 요청을 인터셉트하고 DNS 요청과 연관되는 균일 자원 식별자(uniform resource identifier; URI)를 캐싱(cashing)한다. 이 프로세스가 HTTP 환경의 상황 내에서 필요하지 않음이 당업자에 의해 인정될 것이다.In
단계 402에서, DNS 서버(130-1)는 DNS 응답을 클라이언트(116)에 역으로 전파한다. 이 단계 동안, 제어기(114)는 DNS 서버(130-1)로부터의 응답을 인터셉트하고 IP 어드레스들을 요청의 URI와 함께 캐싱한다. 이 프로세스가 HTTP 환경의 상황 내에서 필요하지 않음이 당업자에 의해 인정될 것이다.At
단계 403에서, 클라이언트(116)는 제 1 컨텐츠 서버(140-1)의 IP 어드레스들을 사용하여 제 1 인터페이스(112-1)를 통해 전송 세션을 개시하고 컨텐츠 검색 요청을 송신한다. 제어기(114)는 셋업 요청을 인터셉트하고, 접속의 원격 IP 어드레스에 기초하여 컨텐츠의 URI를 식별하고(HTTP에 대해 필요하지 않다), 클라이언트에 의해 송신되는 컨텐츠 요청 메시지를 캐싱하고, 이 전송 접속을 모니터링하기 시작한다.In
단계 404에서, 제 1 컨텐츠 서버(140-1)는 응답 헤더, 그리고 잠재적으로 컨텐츠 데이터의 제 1 부분을 포함하는 응답 패킷을 클라이언트(116)에 송신한다. 제어기는 이 패킷을 인터셉트하고 응답하여 클라이언트에 전송되는 컨텐츠 데이터를 추적하기 시작한다.In
단계 405에서, 제 1 컨텐츠 서버(140-1)는 요청되는 컨텐츠 데이터의 추가 부분들을 포함하는 패킷들의 스트림을 클라이언트에 송신하는 것을 계속한다. 제어기는 이 패킷들을 인터셉트하고 클라이언트에 전송되는 컨텐츠 부분들을 추적하는 것을 계속한다.In
단계 406에서, 인터페이스 관리자(118)는 트리거(trigger)를 제어기(114)에, 예시적으로 IC 신호 경로에 송신한다. 트리거는 제어기가 제 1 인터페이스(112-1)에서 제 2 단계(112-2)로 스위칭되어야 함을 나타낸다. 이 트리거에 응답하여, 제어기(114)는 캐싱된 DNS 요청(또는 초기 컨텐츠 요청과 연관되는 URI의 다른 표시자)의 카피를 제 2 인터페이스(112-2)를 통해 제 2 네트워크(120-2)로 송신한다.In
대안으로, 제어기(116)는 자신이 클라이언트의 초기 컨텐츠 요청 메시지로부터 검색한 URI를 포함하는 자기 자신의 DNS 요청을 생성한다. 다른 수정들 또한 발명자들에 의해 고려된다.Alternatively, the
단계 407에서, 제 2 DNS 서버(130-2)는 원하는 컨텐츠를 제공할 수 있는 제 2 네트워크(120-2) 내에서 서버들에 대한 IP 어드레스들의 세트를 제공함으로써 단계 406에서 수신되는 DNS 요청에 응답한다. 제어기(114)는 하나의 실시예에서 이 세트로부터 도 4에서 제 2 컨텐츠 서버(140-2)를 칭하는 것으로 도시되는 IP 어드레스를 선택한다.In
단계 408에서, 제어기(114)는 예를 들어 TCP RST를 통해 제 1 인터페이스(112-1) 및 제 1 컨텐츠 서버(140-1) 사이의 전송 접속을 종료한다. 더욱이, 제어기(114)는 클라이언트가 원 전송 접속을 통해 수신했던 컨텐츠의 총량을 결정한다.In
단계 409에서, 제어기(114)는 제 2 컨텐츠 서버(140-2)와 연관되는 IP 어드레스를 사용하여 제 2 인터페이스(112-2)를 통하는 새로운 전송 접속을 설정한다. 추가로, 제어기(114)는 오프셋뿐만 아니라 컨텐츠 검색 요청의 카피를 이 신 전송 접속을 통해 컨텐츠 검색 요청으로 송신하고, 이 오프셋은 제 1 인터페이스(112-1)를 통하는 구 전송 접속을 통해 이미 검색되었던 컨텐츠의 양을 나타낸다.In
단계 410에서, 제 2 컨텐츠 서버(140-2)는 응답 헤더, 그리고 가능하다면 상기 오프셋에서 시작하는 컨텐츠 데이터의 제 1 부분을 포함하는 응답 패킷을 제어기(114)에 송신한다. 제어기(114)는 응답 헤더를 제거하고 임의의 수신된 후-오프셋(post offset) 데이터 부분들을 클라이언트(116)에 전송한다. 제어기(114)는 또한 클라이언트에 전송되는 컨텐츠 데이터를 추적하는 것을 계속한다. 클라이언트가 제어기(114)의 동작 및 특히 제어기(114)에 의해서 행해진 컨텐츠 요청을 인지하지 못하므로, 대응하는 응답 헤더는 이 때에 클라이언트에 의해 예상되지 않으므로 제어기(114)에 의해 제거되는 것이 지적된다.In
단계 411에서, 제 2 컨텐츠 서버(140-2)는 요청되는 컨텐츠 데이터의 추가 부분들을 포함하는 패킷들의 스트림을 클라이언트(116)에 송신하는 것을 계속한다. 제어기(114)는 이 패킷들을 인터셉트하고 클라이언트에 전송되는 컨텐츠 부분들을 추적하는 것을 계속한다.At
도 5는 하나의 실시예에 따른 방법론을 예시하는 흐름도를 도시한다. 도 5와 관련하여 본원에서 논의되는 방법론은 일반적으로 HTTP가 애플리케이션 계층 프로토콜로서 사용되고 컨텐츠를 요청하기 위해 HTTP GET 방법이 사용되는 것을 고려한다. 다른 곳에서 논의되는 바와 같이, 다양한 다른 소프트웨어 계층들 상의 프로토콜들뿐만 아니라 다양한 다른 프로토콜들이 구현될 수 있다.Figure 5 shows a flow diagram illustrating a methodology in accordance with one embodiment. The methodology discussed herein with respect to FIG. 5 generally considers HTTP to be used as an application layer protocol and to use the HTTP GET method to request content. As discussed elsewhere herein, various other protocols as well as protocols on various different software layers may be implemented.
단계 510 및 박스 511를 참조하면, 제어기는 자신이 지원하는 애플리케이션 계층 프로토콜과 관련되는 인출하는 메소드 호출들을 모니터링한다. TCP 또는 MPTCP를 사용하여 전송 층 상에 제어기를 구현하기 위해, 제어기는 클라이언트에 의해 개시되는 SYN/ACK 핸드쉐이크(handshake) 이후에 제 1 인출 데이터 패킷을 분석한다. SCTP의 경우에, INIT 핸드쉐이크 이후의 제 1 인출 데이터 패킷이 분석되어야 한다. 세션 계층 구현들의 경우에, CONNECT() 호(call) 이후에 제 1 데이터 패킷이 분석되어야 한다.Referring to
단계 515 및 박스 516을 참조하면, 제어기는 인출 메소드 호출에 대응하는 URI 또는 URL을 식별한다. 이 URI 또는 URL은 컨텐츠 검색에 사용되는 서버의 IP 어드레스와 함께 캐싱된다. 하나의 실시예에서, 이것은 DNS 응답에 포함되는 IP 어드레스들과 함께 DNS 요청의 URI/URL를 캐싱함으로써 그리고 호스트에 의해 개시되는 DNS 요청/응답 핸드쉐이크들을 모니터링하는 제어기에 의해 달성될 수 있다. 이 캐싱된 데이터 및 인출 메소드 호출의 목적지 어드레스에 기초하여, 메소드 호출의 대응하는 URI/URL이 발견될 수 있다. HTTP가 애플리케이션 계층 프로토콜로서 사용되는 경우에, URI/URL은 GET 호 내에 포함되는 HTTP 헤더로부터 도출될 수 있고, HTTP 프록시가 인터페이스에 대하여 구성되는 경우에 프록시는 컨텐츠 서버를 표현할 수 있다.Referring to
단계 520 및 박스 521을 참조하면, 제어기는 선택사양으로 이동성/멀티 호밍 지원이 애플리케이션 클라이언트에 대해 필요하지 않고 어떤 이유로 인해 허용되지 않는 경우 모니터링을 중단할 수 있다. 구체적으로, 컨텐츠 검색 세션이 상기 단계들을 통해 식별되었다면, 제어기는 이 애플리케이션 층 세션이 이동성/멀티 호밍을 위한 지원을 요구하는지를 더 결정할 수 있다. 이 결정은 호스트에 의해 지원되는 다수 및 임의의 유형의 인터페이스들과 같은 외부 기준뿐만 아니라 다른 기준을 수반할 수 있다. 다음의 제어기 기능들의 상황 내에서, 컨텐츠 검색 세션은 그러한 이동성/멀티 호밍 지원을 요구하는 것으로 가정된다.Referring to step 520 and
단계 525 및 박스 526을 참조하면, 제어기는 세션 접속 식별자들 또는 전송 접속 식별자들을 캐싱한다. 이 식별자들은 클라이언트 애플리케이션으로 향하고 제어기에 의해 개시되었던 장래의 접속들에 도달하는 컨텐츠 데이터 부분들을 전달하기 위하여 제어기에 의해 사용된다. 세션 계층 상에 있는 제어기 기능의 경우에, 그와 같은 식별자는 애플리케이션에 의해 사용되는 프로세스 ID 및 소켓 기술자로 구성될 수 있다. 투명 계층 상에 있는 제어기 기능의 경우, 커널 내의 대응하는 프로토콜 제어 블록에 대한 포인터일 수 있다. Referring to
단계 530 및 박스 531을 참조하면, 제어기는 클라이언트 애플리케이션에 의해 컨텐츠 검색 서버로 송신되는 메소드-호출 호 내에 포함되는 정보를 캐싱한다. HTTP가 애플리케이션 계층 프로토콜인 경우, 이 정보는 HTTP GET 호의 HTTP 요청 헤더를 칭한다.Referring to step 530 and
단계 535 및 박스 536을 참조하면, 제어기는 클라이언트의 메소드 호출에 응답하여, 컨텐츠 서버에 의해 송신되는 모든 데이터를 모니터링하고 분석한다. 제어기는 수신되었던 컨텐츠의 양을 결정한다. 이 프로세스에서, 제어기는 HTTP 응답 헤더들과 같이, 애플리케이션 계층 프로토콜에 의해 제공되는 시그널링 정보를 무시해야만 할 수도 있다.Referring to step 535 and box 536, the controller monitors and analyzes all data sent by the content server in response to the client's method call. The controller determines the amount of content that has been received. In this process, the controller may have to ignore the signaling information provided by the application layer protocol, such as HTTP response headers.
하나의 실시예에서, 컨텐츠는 옥테트들 또는 비트들의 단위들로 명시된다. 다른 실시예에서, 컨텐츠는 객체 식별자들의 목록으로 표현된다. 다른 실시예에서, 컨텐츠는 비디오 스트림 및/또는 오디오 스트림에 대해서와 같이, 수신되는 다수의 프레임들 또는 축 유닛(axis unit)들과 관련하여 명시되고, 다른 실시예에서 컨텐츠는 비디오 스트림의 수신되는 프랙션(fraction)(코드 타임스탬프(code timestamp; DTS)들, 프레젠테이션 타임스탬프(presentation timestamp; PTS)들, 프로그램 클럭 레퍼런스(program clock reference; PCR)들 등을 사용하여 계산되는 바와 같은)을 재생하는 데 걸리는 시간 간격과 관련하여 명시된다.In one embodiment, the content is specified in units of octets or bits. In another embodiment, the content is represented by a list of object identifiers. In another embodiment, the content is specified in terms of a plurality of frames or axis units to be received, such as for a video stream and / or an audio stream, and in another embodiment, (Such as those computed using fractions (code timestamps (DTS), presentation timestamps (PTS), program clock references (PCRs), etc.) And the time interval it takes to complete the process.
단계 540를 참조하면, 제어기는 컨텐츠 검색에 사용되는 인터페이스가 변경될 것임을 표시하기 위해 인터페이스 관리자로부터 제어 신호를 대기한다. 제어 신호로서의 그러한 시간이 수신될 때까지, 제어기는 제 1 컨텐츠 서버(140-1)로부터 제 1 인터페이스(112-1)를 통해 수신되는 컨텐츠 부분들을 모니터링 및 분석하는 것을 계속한다.Referring to step 540, the controller waits for a control signal from the interface manager to indicate that the interface used for content retrieval is to be changed. Until such time as a control signal is received, the controller continues to monitor and analyze content portions received via the first interface 112-1 from the first content server 140-1.
단계 545 및 박스 546을 참조하면, 인터페이스 변경 중독성 제어 신호를 수신한 후에, 제어기는 신 인터페이스 상에서의 컨텐츠 전달을 위한 적절한 서버를 식별한다. 상기 목적을 위해, 제어기는 클라이언트 애플리케이션에 의해 초기 메소드 호출로 매핑되는 URI를 포함하는 새로운 인터페이스 상의 DNS 요청을 개시할 수 있다. DNS 응답이 구 컨텐츠 서버의 IP 어드레스를 포함하지 않으면, 신 컨텐츠 서버를 사용하는 것이 바람직할 수 있다. HTTP가 애플리케이션 계층 프로토콜로서 사용되고 HTTP 프록시가 구 인터페이스 상에서 사용되었다면, 신 인터페이스에 대해 신 컨텐츠 서버를 사용하는 것이 바람직할 수 있다. 새로운 인터페이스가 HTTP 프록시를 구비하여 구성되는 경우, HTTP 프록시 자체는 컨텐츠 서버의 기능을 클라이언트로 가져갈 수 있다. 다음에는, 각각의 구 및 신 인터페이스들에 관한 “구 서버” 및 “신 서버”를 언급한다. 구 및 신 서버는 동일하거나, 상이하거나, 그리고/또는 프록시 서버를 칭할 수 있다.Referring to
단계 550 및 박스 551을 참조하면, 제어기는 구 서버로의 구 전송 접속을 종료한다. 호스트가 단지 한 번에 하나의 인터페이스를 지원하는 경우, 이 단계는 새로운 인터페이스 상에서 컨텐츠를 전달하기 위해 적절한 서버를 식별하는 단계 이전에 수행된다. 제어기가 전송 계층 상에 구현되고 TCP가 전송 프로토콜로서 사용되는 경우, 제어기는 접속을 종료하라는 RST 명령들을 송신할 수 있다. 이를 위해, 제어기는 전송 접속 식별자를 알고 있을 필요가 있다. 제어기가 세션 계층 상에서 구현되는 경우, 제어기는 CLOSE() 호를 통해 접속을 종료할 수 있다. 이를 위해, 제어기는 소켓 기술자 및 결국은 프로세스 식별자를 알고 있을 필요가 있다.Referring to step 550 and
단계 555를 참조하면, 제어기는 새로운 서버와의 새로운 인터페이스를 통해 새로운 전송 접속을 설정한다. 전송 계층에 제어기 기능이 있는 실시예들에서, 이는 동일한 프로토콜 제어 블록을 유용하게 사용할 수 있다. 그러나, 이는 새로운 인터페이스를 통해 새로운 서버와 접속 셋업 시그널링 핸드쉐이크(handshake)를 겪어야만 한다. 이것은 새로운 컨텐츠 서버에 의해 전달되는 추가 컨텐츠 데이터가 동일한 클라이언트 애플리케이션으로 전송될 수 있는 것을 보장한다. 제어기가 세션 계층에 있는 실시예들에서, 새로운 컨텐츠 서버로부터 수신되는 컨텐츠 데이터 부분들은 동일한 애플리케이션 계층프로세스 상의 동일한 소켓 기술자로 전송된다.Referring to step 555, the controller establishes a new transport connection via a new interface with the new server. In embodiments where the transport layer has a controller function, it may be useful to use the same protocol control block. However, it must undergo a connection setup signaling handshake with the new server through the new interface. This ensures that additional content data delivered by the new content server can be transferred to the same client application. In embodiments where the controller is at the session layer, portions of the content data received from the new content server are forwarded to the same socket descriptor on the same application layer process.
단계 560 및 박스 561을 참조하면, 제어기는 캐시된 메소드 호출을 신 전송 접속 상의 새로운 서버로 송신한다. 제어기는 컨텐츠 서버가 이미 수신된 양의 컨텐츠 데이터를 전달하는 것을 생략하도록 하는 오프셋을 포함하는 명령들을 삽입한다. 이 명령은 애플리케이션 계층 프로토콜에 특정된다. HTTP의 경우, HTTP 요청 헤더 내에 삽입 되어야 하는 RANGE 명령이 이미 수신된 컨텐츠의 양의 옥테트들과 함께 사용될 수 있다.Referring to step 560 and
단계 565를 참조하면, 제어기는 새로운 접속 상에서 수신되는 모든 컨텐츠를 클라이언트 애플리케이션에 전송한다. 이를 위해, 제어기는 자신이 이 컨텐츠 검색 세션에 대해 캐싱했던 세션 접속 또는 전송 접속 식별자를 사용한다. 새로운 접속 상에서, 통과하는 컨텐츠 데이터 부분들의 계수는 추가 접속 이동 사건들이 수행될 수 있도록 계속되고, 다양한 실시예들에서 단계 565에서의 동작은 단계 535 및 박스 536에 관하여 상술한 것들과 유사하다.Referring to step 565, the controller sends all content received on the new connection to the client application. To this end, the controller uses the session connection or transport connection identifier that it has cached for this content retrieval session. On the new connection, the counting of the pieces of content data passing continues to allow additional connection movement events to be performed, and in various embodiments the operation at
도 6은 본원에 기술되는 기능들을 수행하는데 이용하기 적합한 컴퓨터의 고 레벨 블록도를 도시한다.Figure 6 shows a high-level block diagram of a computer suitable for use in performing the functions described herein.
도 6에 도시되는 바와 같이, 컴퓨터(600)는 프로세서 요소(602)(예를 들어 중앙 처리 장치(CPU) 및/또는 다른 적절한 프로세서(들)), 메모리(604)(예를 들어, 랜덤 액세스 메모리(random access memory; RAM), 판독 전용 메모리(read only memory; ROM) 등), 협력 모듈/프로세스(605) 및 다양한 입력 출력/디바이스들(606)(예를 들어, 사용자 입력 디바이스(키보드, 키패드, 마우스 등과 같은), 사용자 출력 디바이스(디스플레이, 스피커 등과 같은), 입력 포트, 출력 포트, 수신기, 송신기, 저장 디바이스(예를 들어, 테이프 드라이브, 플로피 드라이브, 하드 디스크 드라이브, 컴팩트 디스크 드라이브 등))을 포함한다.6, the
본원에서 도시되고 기술되는 기능들은 소프트웨어 및/또는 하드웨어로, 예를 들어 범용 컴퓨터, 하나 이상의 주문형 반도체(ASIC)들, 및/또는 임의의 다른 하드웨어 등가물들을 사용하여 구현될 수 있음이 주목되어야 한다. 하나의 실시예에서, 협력 프로세스(605)는 메모리(604) 내로 로딩되고 프로세서(602)에 의해 실행되어 본원에서 논의된 기능들을 구현할 수 있다. 그러므로, 협력 프로세스(605)(연관된 데이터 구조들을 포함하는)는 컴퓨터 판독 가능 저장 매체, 예를 들어 RAM 메모리, 자기 또는 광 드라이브 또는 디스켓 등에 저장될 수 있다.It should be noted that the functions shown and described herein may be implemented in software and / or hardware, for example, using a general purpose computer, one or more application specific integrated circuits (ASICs), and / or any other hardware equivalent. In one embodiment,
도 6에 도시된 컴퓨터(600)는 본원에 기술된 기능 요소들 및/또는 본원에 기술된 기능 요소들의 일부를 구현하는데 적합한 범용 아키텍처 및 기능을 제공하는 것이 인정될 것이다. 예를 들어, 컴퓨터(600)는 호스트(110), 컨텐츠 서버들(140), 도메인 네임 서버들(130) 및/또는 이들의 일부들 등 중 하나 이상을 구현하는 데 적합한 일반적인 아키텍터 및 기능을 제공한다.It will be appreciated that the
본원에서 소프트웨어 방법들로 논의된 단계들 중 일부는 하드웨어 내에서, 예를 들어 다양한 방법 단계들을 실행하는 프로세서와 협력하는 회로소자로서 구현될 수 있음이 고려된다. 본원에서 기술되는 기능들/요소들의 일부들은 컴퓨터 프로그램 제품으로 구현될 수 있고 여기서 컴퓨터 명령어는 컴퓨터에 의해 프로세싱될 때 컴퓨터의 동작을 적응시킴으로써 본원에서 기술된 방법들 및/또는 기술들이 인보킹(invoking)되거나 그렇지 않으면 제공되도록 한다. 본 발명의 방법들을 인보킹하기 위한 명령어는 고정 또는 제거 가능 매체에 저장되고/되거나, 브로드캐스트 또는 다른 신호 보유 매체(signal bearing medium)에서 데이터 스트림을 통해 전송되고/되거나 명령어에 따라 동작하는 컴퓨팅 디바이스 내의 메모리 내에 저장될 수 있다.It is contemplated that some of the steps discussed herein with software methods may be implemented in hardware, for example, as circuit elements that cooperate with a processor executing various method steps. Some of the functions / elements described herein may be implemented as a computer program product in which the methods and / or techniques described herein may be invoked by adapting the operation of the computer as it is being processed by the computer ) Or otherwise provided. The instructions for invoking methods of the present invention may be stored on a fixed or removable medium and / or may be transmitted via a data stream in a broadcast or other signal bearing medium and / Lt; / RTI >
다양한 실시예들은 중요한 이익들을 제공한다. 구체적으로, 다양한 실시예들에 기초하는 시스템, 장치 및 방법론들은 소위 스마트폰들의 피처 세트 내에 직접적으로 통합될 수 있다. 그와 같은 통합은 원 하드웨어/소프트웨어 피처 세트 및 모바일 폰 제조사들(예를 들어, Apple, Motorola, HTC, Samsung, Research In Motion, LG, Nokia 등) 또는 운영 시스템 판매자들(예를 들어, Apple, Google, Microsoft 등)에 의해 제공되는 모바일 폰 플랫폼 내에서 발생할 수 있다.Various embodiments provide significant benefits. In particular, systems, devices and methodologies based on various embodiments may be integrated directly into feature sets of so-called smartphones. Such integration may be achieved through a combination of raw hardware / software feature sets and mobile phone manufacturers (e.g., Apple, Motorola, HTC, Samsung, Research In Motion, LG, Google, Microsoft, etc.).
다양한 실시예들에 따라 통합되는 피처들은 본원에서 기술되는 다양한 기능들을 수행하는 데 효율적인 메커니즘을 제공하고 다양한 하드웨어 및 소프트웨어 판매사들에 제품 차별화를 제공한다.The features integrated according to various embodiments provide an efficient mechanism for performing the various functions described herein and provide product differentiation to various hardware and software vendors.
본원에서 기술되는 다양한 실시예들은 (1) 멀티-호밍이 스마트 폰들 상에서 유비쿼터스한 피처가 되었고, (2) 네트워크들이 여러 서비스 공급자들에 의해 운영되는 많은 이형의 네트워크 시나리오들(Wi-Fi가 추가된 3G/4G)이 존재하고, (3) 특수한 네트워크 측 장비가 필요하지 않고 (4) 서버에 대한 업그레이드가 필요하지 않기 때문에 모바일 폰 또는 모바일 OS 판매자에 의해 용이하게 적응된다. 본 발명은 그러므로 어떠한 제 3 자 투자에 의존하지 않고 폰 또는 모바일 OS에 가치를 더한다.The various embodiments described herein may be applied to many different network scenarios where Wi-Fi is added (e.g., Wi-Fi is added), where (1) multi-homing has become a ubiquitous feature on smart phones, 3G / 4G), (3) no special network side equipment is required, and (4) no upgrade to the server is required. The present invention therefore adds value to the phone or mobile OS without relying on any third party investment.
유용하게는, 다양한 실시예들은 예시적으로 HTTP 기반 컨텐츠 검색 애플리케이션들에 대하여 네트워크들에 걸쳐 또는 액세스 제공자들에 걸쳐 이동성 또는 인터페이스 이동을 가능하게 한다. 이 애플리케이션들은 다수의 모바일 인터넷 트래픽을 나타낸다.Advantageously, the various embodiments illustratively enable mobility or interface movement across the networks or across the access providers for HTTP based content retrieval applications. These applications represent a large number of mobile Internet traffic.
다양한 실시예들은 애플리케이션들에 투명한 방식으로 이 피처들을 제공함으로써, 레거시 애플리케이션 등이 이후에 상기 피처들에 영향을 주는 것이 가능할 수 있게 된다. 다양한 실시예들은 또한 액세스 제공자들에 투명한 방식으로 이 피터들을 제공함으로써, 이동성 앵커들 등과 같은 임의의 특수한 네트워크-측 장비가 필요하지 않게 된다.Various embodiments may provide these features in a manner that is transparent to the applications, such that it may be possible for a legacy application or the like to subsequently affect the features. Various embodiments also provide these peters in a manner transparent to access providers, so that no special network-side equipment, such as mobile anchors, is required.
더욱이, 원격 컨텐츠 서버들은 애플리케이션 계층 프로토콜이 컨텐츠 요청 메시지 내에 오프셋 기술을 포함하지 않는 한 어떠한 프로토콜 업그레이드도 요구하지 않는다. 이 여건은 HTTP 및 유사한 프로토콜들에 대해 만족된다.Moreover, remote content servers do not require any protocol upgrades unless the application layer protocol includes an offset description in the content request message. This condition is satisfied for HTTP and similar protocols.
더욱이, 컨텐츠 서버는 또한 이동성/인터페이스-이동 중에 변경될 수 있고, 이는 선택되는 각각의 네트워크에 대해 최적의 서버를 사용하는 것을 가능하게 한다. 이 피처는 또한 일부 네트워크들, 예를 들어 기업 네트워크들에 존재하는 프록시들이 존재할 때 동작을 가능하게 한다. 그러므로, 다양한 실시예들에서, 기업 네트워크 및 모바일 네트워크 운영자의 네트워크 사이에서의 세션 이동들이 지원된다.Moreover, the content server may also be changed during mobility / interface-migration, which makes it possible to use an optimal server for each network selected. The feature also enables operation when there are proxies present in some networks, e.g., corporate networks. Thus, in various embodiments, session mobility between a corporate network and a mobile network operator's network is supported.
본 발명의 내용들에 통합되는 다양한 실시예들이 본원에서 상세하게 도시되고 기술되었을지라도, 당업자는 이 내용들을 여전히 통합하고 있는 많은 다른 변형된 실시예들을 용이하게 발명할 수 있다.While various embodiments incorporating the teachings of the present invention have been shown and described in detail herein, those skilled in the art will readily envision many other varied embodiments that still incorporate these teachings.
Claims (10)
상기 제 2 인터페이스를 사용하여 상기 제 2 서버와의 전송 접속을 설정하는 단계와,
상기 제 2 인터페이스를 통해 상기 제 2 서버로 컨텐츠 요청 메시지를 송신하는 단계- 상기 컨텐츠 요청 메시지는 검색될 컨텐츠와 연관되는 식별자와 상기 컨텐츠 검색 애플리케이션에 의해 수신되는 컨텐츠 부분들의 표시를 포함함 -와,
상기 컨텐츠 검색 애플리케이션에 의해 수신되는 추가적인 컨텐츠 부분들을 식별하기 위해 상기 제 2 인터페이스를 통해 수신되는 컨텐츠 함유 데이터 스트림(content bearing data stream)을 분석하는 단계와,
상기 컨텐츠 검색 애플리케이션으로, 상기 컨텐츠 검색 애플리케이션에 의해 수신되지 않은 식별된 컨텐츠 부분들을 전송하는 단계를 포함하는
방법.
A method for moving a content search session associated with a content retrieval application at a host from a first server through a first interface to a second server via a second interface,
Establishing a transfer connection with the second server using the second interface;
Transmitting a content request message to the second server via the second interface, the content request message including an identifier associated with the content to be searched and an indication of content portions received by the content search application;
Analyzing a content bearing data stream received via the second interface to identify additional content portions received by the content retrieval application;
And transmitting, to the content retrieval application, identified content portions that have not been received by the content retrieval application
Way.
상기 제 1 인터페이스를 통해 수신되는 컨텐츠의 전달을 억제하는 단계를 더 포함하는
방법.
The method according to claim 1,
Further comprising inhibiting delivery of content received via the first interface
Way.
상기 컨텐츠 검색 애플리케이션에 의해 송신되는 컨텐츠 요청 메시지들을 캐싱(cashing)하는 단계를 더 포함하고, 상기 제 2 인터페이스를 통해 상기 제 2 서버로 전송되는 상기 컨텐츠 요청 메시지 내의 상기 컨텐츠 식별자는 캐싱된 컨텐츠 요청 메시지로부터 도출되는
방법.
The method according to claim 1,
The method of claim 1, further comprising: caching content request messages transmitted by the content retrieval application, wherein the content identifier in the content request message transmitted to the second server via the second interface comprises a cached content request message Derived from
Way.
상기 컨텐츠 검색 애플리케이션으로 전달되는 컨텐츠 부분들의 표현을 캐싱하는 단계를 더 포함하고, 상기 컨텐츠 검색 애플리케이션에 의해 수신된 상기 컨텐츠 부분들의 표시는 캐싱된 컨텐츠 부분 표현으로부터 도출되는
방법.
The method of claim 3,
Further comprising: caching a representation of content portions delivered to the content retrieval application, wherein an indication of the content portions received by the content retrieval application is derived from a cached content sub-
Way.
상기 제 2 서버와의 상기 전송 접속은 상기 제 1 인터페이스를 통해 수신되는 혼잡 레벨 표시자, 상기 제 2 인터페이스를 통해 수신되는 혼잡 레벨 표시자, 선호되는 서비스 제공자가 상기 제 2 인터페이스와 연관된다는 결정, 선호되는 서버가 상기 제 2 인터페이스와 연관된다는 결정, 감소되는 비용이 상기 제 2 인터페이스와 연관된다는 결정, 성능 증가가 상기 제 2 인터페이스와 연관된다는 결정 및 선호되는 네트워크가 상기 제 2 인터페이스와 연관된다는 결정 중 하나 이상과 연관되는 제어 신호에 응답하여 설정되는
방법.
The method according to claim 1,
Wherein the transfer connection with the second server comprises a congestion level indicator received via the first interface, a congestion level indicator received via the second interface, a determination that the preferred service provider is associated with the second interface, A determination that a preferred server is associated with the second interface, a determination that a reduced cost is associated with the second interface, a determination that a performance increase is associated with the second interface, and a determination that the preferred network is associated with the second interface Lt; RTI ID = 0.0 > and / or < / RTI >
Way.
상기 컨텐츠 검색 애플리케이션에 의해 수신되는 상기 컨텐츠 부분들의 표시는 옥테트 계수(octet count)에 기초하고,
상기 컨텐츠 요청 메시지는 HTTP GET 메시지를 포함하고,
상기 컨텐츠 검색 애플리케이션에 의해 수신되는 상기 컨텐츠 부분들의 표시는 옥테트 계수에 기초하고, 상기 옥테트 계수는 상기 HTTP GET 메시지의 RANGE 엔트리로서 포함되는
방법.
The method according to claim 1,
Wherein the indication of the content portions received by the content search application is based on an octet count,
The content request message includes an HTTP GET message,
Wherein the indication of the content portions received by the content retrieval application is based on an octet count and the octet count is included as a RANGE entry in the HTTP GET message
Way.
DNS 위치 서비스는 상기 제 2 서버를 식별하는 데 사용되고, 상기 방법은 상기 제 2 서버와 연관되는 호스트 균일 자원 식별자(uniform resource indicator; URI) 또는 균일 자원 로케이터(uniform resource locator; URL)를 포함하는 DNS 요청을 상기 DNS 위치 서비스로 전송하는 단계를 더 포함하는
방법.
The method according to claim 1,
Wherein the DNS location service is used to identify the second server and the method comprises the steps of providing a DNS with a uniform resource identifier (URI) or a uniform resource locator (URL) associated with the second server Sending a request to the DNS location service
Way.
TCP는 전송 메커니즘으로서 사용되고, 상기 제 1 서버에 의한 추가 데이터 전달은 상기 제 1 인터페이스를 통해 TCP RST 메시지를 전송함으로써 억제되는
방법.
The method according to claim 1,
TCP is used as a transport mechanism and further data transfer by the first server is suppressed by sending a TCP RST message over the first interface
Way.
프로세서를 포함하고,
상기 프로세서는,
상기 제 2 인터페이스를 사용하여 상기 제 2 서버와의 전송 접속을 설정하고,
상기 제 2 인터페이스를 통해 상기 제 2 서버로 컨텐츠 요청 메시지를 송신하고 -상기 컨텐츠 요청 메시지는 검색될 컨텐츠와 연관되는 식별자와 상기 컨텐츠 검색 애플리케이션에 의해 수신되는 컨텐츠 부분들의 표시를 포함함 -
상기 컨텐츠 검색 애플리케이션에 의해 수신되는 추가적인 컨텐츠 부분들을 식별하기 위해 상기 제 2 인터페이스를 통해 수신되는 컨텐츠 함유 데이터 스트림을 분석하고,
상기 컨텐츠 검색 애플리케이션으로, 상기 컨텐츠 검색 애플리케이션에 의해 수신되지 않은 식별된 컨텐츠 부분들을 전송하도록 구성되는
장치.
An apparatus for moving a content search session associated with a content retrieval application at a host from a first server through a first interface to a second server via a second interface,
A processor,
The processor comprising:
Establishing a transfer connection with the second server using the second interface,
Transmitting a content request message to the second server via the second interface, the content request message including an identifier associated with the content to be searched and an indication of content portions received by the content search application;
Analyzing the content-containing data stream received via the second interface to identify additional content portions received by the content search application,
To the content retrieval application, to transmit identified content portions that have not been received by the content retrieval application
Device.
상기 제 2 인터페이스를 사용하여 상기 제 2 서버와의 전송 접속을 설정하는 단계와,
상기 제 2 인터페이스를 통해 상기 제 2 서버로 컨텐츠 요청 메시지를 송신하는 단계 - 상기 컨텐츠 요청 메시지는 검색될 컨텐츠와 연관되는 식별자와 상기 컨텐츠 검색 애플리케이션에 의해 수신되는 컨텐츠 부분들의 표시를 포함함 -와,
상기 컨텐츠 검색 애플리케이션에 의해 수신되는 추가적인 컨텐츠 부분들을 식별하기 위해 상기 제 2 인터페이스를 통해 수신되는 컨텐츠 함유 데이터 스트림을 분석하는 단계와,
상기 컨텐츠 검색 애플리케이션으로, 상기 컨텐츠 검색 애플리케이션에 의해 수신되지 않은 식별된 컨텐츠 부분들을 전송하는 단계를 포함하는
컴퓨터 판독 가능 매체.A computer readable storage medium storing instructions that, when executed by a processor, causes a computer readable storage medium to perform a method of moving a content search session associated with a content retrieval application at a host from a first server via a first interface to a second server via a second interface, As a possible medium,
Establishing a transfer connection with the second server using the second interface;
Transmitting a content request message to the second server via the second interface, the content request message including an identifier associated with the content to be searched and an indication of content portions received by the content search application;
Analyzing the content-containing data stream received via the second interface to identify additional content portions received by the content search application;
And transmitting, to the content retrieval application, identified content portions that have not been received by the content retrieval application
Computer readable medium.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/249,314 US9215283B2 (en) | 2011-09-30 | 2011-09-30 | System and method for mobility and multi-homing content retrieval applications |
US13/249,314 | 2011-09-30 | ||
PCT/US2012/054588 WO2013048717A1 (en) | 2011-09-30 | 2012-09-11 | System and method for mobility and multi-homing content retrieval applications |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140054382A true KR20140054382A (en) | 2014-05-08 |
KR101574453B1 KR101574453B1 (en) | 2015-12-03 |
Family
ID=46888697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147008171A KR101574453B1 (en) | 2011-09-30 | 2012-09-11 | System and method for mobility and multi-homing content retrieval applications |
Country Status (6)
Country | Link |
---|---|
US (1) | US9215283B2 (en) |
EP (1) | EP2761843B1 (en) |
JP (1) | JP5872702B2 (en) |
KR (1) | KR101574453B1 (en) |
CN (1) | CN103828328B (en) |
WO (1) | WO2013048717A1 (en) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139871B (en) * | 2011-11-25 | 2016-05-11 | 上海贝尔股份有限公司 | A kind of in ubiquitous sensor network for supporting the method in many locals |
US8817797B2 (en) * | 2012-01-31 | 2014-08-26 | Alcatel Lucent | Method and apparatus for multipath protocol packet relay |
US8824480B2 (en) * | 2012-01-31 | 2014-09-02 | Alcatel Lucent | Method and apparatus for end-host based mobility, multi-homing and multipath protocols |
US9756682B2 (en) * | 2012-02-06 | 2017-09-05 | Aruba Networks, Inc. | Method and system for partitioning wireless local area network |
US8924581B1 (en) * | 2012-03-14 | 2014-12-30 | Amazon Technologies, Inc. | Managing data transfer using streaming protocols |
WO2014107602A1 (en) * | 2013-01-03 | 2014-07-10 | Huawei Technologies Co., Ltd. | An end-user carried location hint for content in information-centric networks |
US9614918B2 (en) | 2013-03-14 | 2017-04-04 | International Business Machines Corporation | Migration of network connection under mobility |
KR102070149B1 (en) * | 2013-06-10 | 2020-01-28 | 에스케이텔레콤 주식회사 | Method for delivery of content by means of caching in communication network and apparatus thereof |
US20150012668A1 (en) * | 2013-07-04 | 2015-01-08 | Arcsoft Hangzhou Co., Ltd. | Method of Communicating Between Multiple Digital Living Network Alliance Networks |
US9635114B2 (en) * | 2014-01-24 | 2017-04-25 | Netapp, Inc. | Externally initiated application session endpoint migration |
US9350672B2 (en) * | 2014-03-13 | 2016-05-24 | Cisco Technology, Inc. | Performance enhancement and congestion control of multipath protocol packets in a heterogeneous network environment with multipath transport protocols |
US20150281367A1 (en) * | 2014-03-26 | 2015-10-01 | Akamai Technologies, Inc. | Multipath tcp techniques for distributed computing systems |
KR102154788B1 (en) | 2014-10-02 | 2020-09-11 | 삼성전자주식회사 | A DNS resolution method in a terminal of a wireless communication system, and an apparatus therefor |
US9912780B2 (en) * | 2015-05-05 | 2018-03-06 | Ford Global Technologies, Llc | Method and apparatus for module remote request handling |
EP3494686B1 (en) * | 2016-08-05 | 2020-12-30 | Telefonaktiebolaget LM Ericsson (publ) | Transport protocol server relocation |
EP3497916B1 (en) | 2016-08-05 | 2020-12-09 | Telefonaktiebolaget LM Ericsson (publ) | Supporting transport protocol server relocation |
US20180048700A1 (en) * | 2016-08-11 | 2018-02-15 | Qualcomm Incorporated | Distribution of application data between modems |
KR20180044635A (en) | 2016-10-24 | 2018-05-03 | 삼성전자주식회사 | Storage systems and methods of operating thereof |
US11088940B2 (en) | 2017-03-07 | 2021-08-10 | Akamai Technologies, Inc. | Cooperative multipath |
US11223689B1 (en) * | 2018-01-05 | 2022-01-11 | F5 Networks, Inc. | Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof |
AU2019279102A1 (en) * | 2018-05-31 | 2020-12-10 | Mobophiles, Inc., Dba Mobolize | Systems and methods for dynamic channel bonding |
JP7137208B2 (en) * | 2018-11-13 | 2022-09-14 | 株式会社国際電気通信基礎技術研究所 | COMMUNICATION METHOD, PROGRAM, COMMUNICATION TERMINAL, AND MEC SERVER |
CN110113306B (en) * | 2019-03-29 | 2022-05-24 | 华为技术有限公司 | Method and network device for distributing data |
US11824751B2 (en) * | 2020-04-21 | 2023-11-21 | Grass Valley Canada | System and method for controlling distribution of media content in a distributed system |
Family Cites Families (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6041357A (en) | 1997-02-06 | 2000-03-21 | Electric Classified, Inc. | Common session token system and protocol |
US6377996B1 (en) | 1999-02-18 | 2002-04-23 | International Business Machines Corporation | System for seamless streaming of data stored on a network of distributed primary and target servers using segmentation information exchanged among all servers during streaming |
US6549937B1 (en) * | 1999-07-21 | 2003-04-15 | Microsoft Corporation | System and method for multi-protocol communication in a computer network |
US6339785B1 (en) * | 1999-11-24 | 2002-01-15 | Idan Feigenbaum | Multi-server file download |
US7159235B2 (en) * | 2000-01-28 | 2007-01-02 | Sedna Patent Services, Llc | Method and apparatus for content distribution via non-homogeneous access networks |
EP1312193A2 (en) * | 2000-08-16 | 2003-05-21 | Filestream, Inc. | End-to-end secure file transfer method and system |
US7257386B1 (en) * | 2000-11-20 | 2007-08-14 | Hewlett-Packard Development Company, L.P. | Data transfer system and method of data transfer |
JP2002330381A (en) | 2000-12-07 | 2002-11-15 | Matsushita Electric Ind Co Ltd | Data reproduction method, data receiving terminal and data receiving method |
GB0104281D0 (en) * | 2001-02-21 | 2001-04-11 | Nokia Networks Oy | A communication system |
EP1410202B1 (en) * | 2001-03-16 | 2006-07-26 | Novell, Inc. | Client-server model for synchronization of files |
US7065051B2 (en) * | 2001-03-27 | 2006-06-20 | Intel Corporation | Management and scheduling of data that is wirelessly transmitted between a base transceiver station and subscriber units |
JP2004007327A (en) | 2001-06-29 | 2004-01-08 | Matsushita Electric Ind Co Ltd | Data reproducing device and data repeater |
US7016359B2 (en) * | 2001-08-22 | 2006-03-21 | Alcatel Wireless, Inc. | Method for providing hybrid voice and packet data services to a mobile station |
AU2002343424A1 (en) * | 2001-09-28 | 2003-04-14 | Bluesocket, Inc. | Method and system for managing data traffic in wireless networks |
US20030114158A1 (en) * | 2001-12-18 | 2003-06-19 | Lauri Soderbacka | Intersystem handover of a mobile terminal |
US6957374B1 (en) * | 2002-01-31 | 2005-10-18 | The United States Of America As Represented By The National Security Agency | Method of acknowledging receipt of data packets |
MXPA04009506A (en) * | 2002-04-03 | 2005-01-25 | Nokia Corp | Enabling a content provider initiated content delivery via a specific radio access network. |
US20040085944A1 (en) * | 2002-11-04 | 2004-05-06 | Boehm Lawrence D. | Portable wireless internet gateway |
WO2004066650A1 (en) * | 2003-01-20 | 2004-08-05 | Sk Telecom Co., Ltd | Method for controlling a media message upload through a wireless communication network |
JP2004265354A (en) | 2003-03-04 | 2004-09-24 | Ntt Docomo Inc | System and method for controlling multimedia streaming session |
US7586857B2 (en) * | 2003-04-01 | 2009-09-08 | Alcatel-Lucent Usa Inc. | Fast network SIP/SDP procedures for conference operations upon request from end user with optimization of network resources |
US20080200168A1 (en) * | 2003-08-05 | 2008-08-21 | John Yue Jun Jiang | Method and system for seamless data roaming across multiple operator bearers |
EP1523208B1 (en) * | 2003-09-11 | 2006-08-30 | Alcatel | Registration of a dual mode terminal in a cellular and a WLAN network |
US20130097302A9 (en) * | 2003-10-01 | 2013-04-18 | Robert Khedouri | Audio visual player apparatus and system and method of content distribution using the same |
US7533190B2 (en) * | 2004-04-08 | 2009-05-12 | Intel Corporation | Network storage target boot and network connectivity through a common network device |
EP1637999A1 (en) * | 2004-09-20 | 2006-03-22 | Sap Ag | Data transmission apparatus and method having resume data transmission in case of interrupted transmission |
US8005483B2 (en) * | 2004-10-27 | 2011-08-23 | Qwest Communications International Inc. | Mobile caching and data relay vectoring systems and methods |
AU2004324701A1 (en) * | 2004-11-03 | 2006-05-11 | Nokia Corporation | Inter-system hand-over of a mobile terminal operable with a first and a second radio access network |
US7761098B1 (en) * | 2007-06-05 | 2010-07-20 | Sprint Communications Company L.P. | Handset mode selection based on user preferences |
US8238326B2 (en) * | 2004-11-18 | 2012-08-07 | Ruckus Wireless, Inc. | Maintaining consistent network connections while moving through wireless networks |
US7558277B2 (en) * | 2004-12-15 | 2009-07-07 | At&T Intellectual Property I, Lp | Coordinated multi-network data services |
US20060159047A1 (en) * | 2005-01-18 | 2006-07-20 | Interdigital Technology Corporation | Method and system for context transfer across heterogeneous networks |
US7865188B2 (en) * | 2005-01-21 | 2011-01-04 | Oracle Israel Ltd. | Convergence of ancillary call services across multiple communication domains |
EP1842392B1 (en) * | 2005-01-21 | 2014-01-01 | Oracle Israel Ltd. | Service convergence across multiple communication domains |
WO2006124577A2 (en) * | 2005-05-12 | 2006-11-23 | Nortel Networks Limited | Using an access point name to select an access gateway node |
US7664501B2 (en) * | 2005-05-18 | 2010-02-16 | Ashutosh Dutta | Seamless handoff across heterogeneous access networks using a handoff controller in a service control point |
US7706796B2 (en) * | 2005-09-01 | 2010-04-27 | Qualcomm Incorporated | User terminal-initiated hard handoff from a wireless local area network to a cellular network |
EP1967031B1 (en) * | 2005-12-28 | 2010-02-17 | Panasonic Corporation | Method for verifications and fast qos establishment |
US7630711B2 (en) * | 2006-01-05 | 2009-12-08 | Qualcomm Incorporated | Method and system for mapping provisioning information of different communications networks |
US7761119B2 (en) * | 2006-07-05 | 2010-07-20 | Kyocera Corporation | Signal strength annunciators for multi-mode wireless communication devices |
US20080126831A1 (en) * | 2006-07-27 | 2008-05-29 | Downey Audra F | System and Method for Caching Client Requests to an Application Server Based on the Application Server's Reliability |
KR20090113294A (en) * | 2007-01-18 | 2009-10-29 | 인터디지탈 테크날러지 코포레이션 | Method and apparatus for media independent handover |
US7783757B2 (en) * | 2007-03-12 | 2010-08-24 | Citrix Systems, Inc. | Systems and methods of revalidating cached objects in parallel with request for object |
US7962152B2 (en) * | 2007-05-24 | 2011-06-14 | Virgin Mobile Usa, L.P. | Location determination for wireless mobile devices |
CN101068351B (en) * | 2007-05-25 | 2010-06-16 | 中兴通讯股份有限公司 | Mobile terminal digital television data transmitting method |
GB2449923B (en) * | 2007-06-09 | 2011-09-28 | King's College London | Inter-working of networks |
US8078171B2 (en) * | 2007-06-15 | 2011-12-13 | Intel Corporation | Handoff of a mobile station from a first to a second type of wireless network |
US20090052450A1 (en) * | 2007-08-22 | 2009-02-26 | Mockett Gregory P | Apparatus, system, and method for video delivery using dual multicast streams with one being delayed |
ES2371441T3 (en) * | 2007-10-19 | 2012-01-02 | Thrupoint, Inc. | CONNECTION TRANSFER MANAGEMENT. |
WO2009056932A2 (en) * | 2007-11-01 | 2009-05-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Circuit-switched services over sae/lte networks |
US8244885B2 (en) * | 2007-12-26 | 2012-08-14 | Motorola Solutions, Inc. | Using domain name service for identifying a home domain of a roaming device |
US9098833B2 (en) * | 2008-02-04 | 2015-08-04 | Toshiba America Research, Inc. | Populating and managing (PAM) contact information in the network address book (NAB) |
CN101547143B (en) * | 2008-03-28 | 2012-10-03 | 华为技术有限公司 | Method and device for switching streaming media service |
US8305980B1 (en) * | 2008-09-12 | 2012-11-06 | Nix John A | Efficient handover of media communications in heterogeneous IP networks using handover procedure rules and media handover relays |
US9066309B2 (en) * | 2008-09-23 | 2015-06-23 | Qualcomm Incorporated | Method and apparatus for reducing successive pre-registration attempts by access terminals |
US8046432B2 (en) * | 2009-04-17 | 2011-10-25 | Microsoft Corporation | Network caching for multiple contemporaneous requests |
US20100315958A1 (en) * | 2009-06-11 | 2010-12-16 | Luo Xiapu | Method for non-cooperative measurement of network data-path quality |
US8131847B2 (en) * | 2009-08-12 | 2012-03-06 | Cellco Partnership | Mechanism to detect restricted access via internet hotspot |
GB0919655D0 (en) * | 2009-11-10 | 2009-12-23 | Ciqual Ltd | Methods and apparatus for monitoring network link quality |
CN102123500B (en) * | 2010-01-08 | 2016-08-03 | 华为技术有限公司 | The resource allocation methods of multimode terminal and device |
JP2011155589A (en) * | 2010-01-28 | 2011-08-11 | Hitachi Ltd | Hybrid communication terminal, and program |
US8929284B2 (en) * | 2010-02-03 | 2015-01-06 | Qualcomm Incorporated | Method and apparatus to enable inter-system transfer of a packet switched session |
US20110225312A1 (en) * | 2010-03-10 | 2011-09-15 | Thomson Licensing | Unified cache and peer-to-peer method and apparatus for streaming media in wireless mesh networks |
US8554731B2 (en) * | 2010-03-31 | 2013-10-08 | Microsoft Corporation | Creating and propagating annotated information |
JP5418394B2 (en) * | 2010-04-28 | 2014-02-19 | ブラザー工業株式会社 | Wireless communication device |
US8644276B2 (en) * | 2010-05-13 | 2014-02-04 | Research In Motion Limited | Methods and apparatus to provide network capabilities for connecting to an access network |
US20110319073A1 (en) * | 2010-06-28 | 2011-12-29 | Research In Motion Limited | Method And System for Radio Access Technology Selection |
US10142292B2 (en) * | 2010-06-30 | 2018-11-27 | Pulse Secure Llc | Dual-mode multi-service VPN network client for mobile device |
KR20120002251A (en) * | 2010-06-30 | 2012-01-05 | 주식회사 케이티 | Method for performing handover between mobile telecommunication network and mobile internet network, and multi mode terminal apparatus |
US8464336B2 (en) * | 2010-06-30 | 2013-06-11 | Juniper Networks, Inc. | VPN network client for mobile device having fast reconnect |
US8700034B2 (en) * | 2010-08-24 | 2014-04-15 | Alcatel Lucent | Querying a subscriber server for identities of multiple serving elements of user equipment (UE) |
US20120072228A1 (en) * | 2010-09-20 | 2012-03-22 | Sprint Communications Company L.P. | Selection of supplemental content for wireless communication devices based on device status |
US8750188B2 (en) * | 2010-12-01 | 2014-06-10 | Deutsche Telekom Ag | System support for accessing and switching among multiple wireless interfaces on mobile devices |
US20120324568A1 (en) * | 2011-06-14 | 2012-12-20 | Lookout, Inc., A California Corporation | Mobile web protection |
-
2011
- 2011-09-30 US US13/249,314 patent/US9215283B2/en active Active
-
2012
- 2012-09-11 WO PCT/US2012/054588 patent/WO2013048717A1/en active Application Filing
- 2012-09-11 EP EP12762160.5A patent/EP2761843B1/en active Active
- 2012-09-11 CN CN201280047092.8A patent/CN103828328B/en active Active
- 2012-09-11 JP JP2014533564A patent/JP5872702B2/en active Active
- 2012-09-11 KR KR1020147008171A patent/KR101574453B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20130086142A1 (en) | 2013-04-04 |
KR101574453B1 (en) | 2015-12-03 |
JP5872702B2 (en) | 2016-03-01 |
CN103828328B (en) | 2018-01-16 |
EP2761843A1 (en) | 2014-08-06 |
JP2014532233A (en) | 2014-12-04 |
US9215283B2 (en) | 2015-12-15 |
EP2761843B1 (en) | 2018-06-20 |
WO2013048717A1 (en) | 2013-04-04 |
CN103828328A (en) | 2014-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101574453B1 (en) | System and method for mobility and multi-homing content retrieval applications | |
US8812623B2 (en) | Techniques to support selective mobile content optimization | |
US9883000B2 (en) | Server-push service in heterogeneous network environment | |
US20150271233A1 (en) | Method and apparatus for dash streaming using http streaming | |
US20120077483A1 (en) | Enabling interface aggregation of mobile broadband network interfaces | |
CN109088799B (en) | Client access method, device, terminal and storage medium | |
KR101378435B1 (en) | Handoff and optimization module of a network protocol stack | |
CN110620802B (en) | Load balancing method and device | |
KR101981285B1 (en) | Contents delivery service system using contents identification, apparatus therefor and contents delivery service method thereof | |
EP1244262A1 (en) | Redirection of client requests | |
US20150127837A1 (en) | Relay apparatus and data transfer method | |
EP3917083A1 (en) | Network device and method for searching for edge service implemented in network device | |
KR20140021372A (en) | Contents delivery service method and local cache apparatus using contents identification | |
JP4245986B2 (en) | NETWORK SYSTEM, DATA DOWNLOAD CONTINUING METHOD AT TERMINAL SWITCHING IN THE NETWORK SYSTEM, AND PROGRAM THEREOF | |
US10110646B2 (en) | Non-intrusive proxy system and method for applications without proxy support | |
EP3188015A1 (en) | Requesting and receiving a media stream within a networked system | |
US20230269575A1 (en) | Base station device and method for operating base station device | |
KR101319832B1 (en) | Mobile contents delivery service method and local cashing server | |
US11240338B2 (en) | Integrated content delivery of enhanced mobile gateway system | |
Qian et al. | Optimization of webpage downloading performance with content-aware mobile edge computing | |
KR102157477B1 (en) | Traffic redirection method for contents delivery service and computer readable recording medium | |
Ling et al. | Preserving HTTP sessions in vehicular environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20191029 Year of fee payment: 5 |