KR102164457B1 - 다중 무선 억세스를 위한 전자 장치 및 그 방법 - Google Patents
다중 무선 억세스를 위한 전자 장치 및 그 방법 Download PDFInfo
- Publication number
- KR102164457B1 KR102164457B1 KR1020140019934A KR20140019934A KR102164457B1 KR 102164457 B1 KR102164457 B1 KR 102164457B1 KR 1020140019934 A KR1020140019934 A KR 1020140019934A KR 20140019934 A KR20140019934 A KR 20140019934A KR 102164457 B1 KR102164457 B1 KR 102164457B1
- Authority
- KR
- South Korea
- Prior art keywords
- interface
- content
- interfaces
- data
- electronic device
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
-
- 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
- H04W76/16—Involving different core network technologies, e.g. a packet-switched [PS] bearer in combination with a circuit-switched [CS] bearer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/06—Details of telephonic subscriber devices including a wireless LAN interface
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
Abstract
다중 무선 억세스 네트워크들을 통해 멀티미디어 서비스를 동시에 수신하는 전자 장치 및 방법을 제공하기 위한 것이다.본 발명의 다양한 실시예들에 따르면, 전자 장치는, 멀티미디어 서비스 제공자의 억세스를 위한 다수의 네트워크 인터페이스들; 및 상기 서비스 제공자로부터의 멀티미디어 서비스 콘텐츠가 상기 네트워크 인터페이스들 각각을 통하여 분할되어 수신되도록 처리하고, 상기 콘텐츠의 일부가 상기 네트워크 인터페이스들 중 어느 한 인터페이스를 통하여 수신 완료된 경우 상기 콘텐츠의 나머지가 상기 네트워크 인터페이스들 각각을 통하여 재분할되어 수신되도록 처리하는 다중 인터페이스 처리기를 포함할 수 있다. 또한, 본 발명의 다양한 실시 예는 상술한 실시 예와 다른 실시 예들도 포함한다.
Description
본 발명의 다양한 실시예들은 무선 억세스 기능을 가지는 전자 장치에 관한 것이다.
최근에 전자 장치들은 사용자들에게 다양한 형태의 멀티미디어 서비스를 제공하고 있다. 예를 들어, 사용자들은 전자 장치들을 통해 인터넷 IP(Internet Protocol) 기반의 네트워크에 접속한 후 서비스 제공자로부터 텍스트 및 이미지를 제공받을 수 있을 뿐만 아니라, 영상 전화 서비스, 멀티미디어 메시징 서비스, 콘텐츠 서비스, 방송 서비스, 게임 서비스, 채팅 서비스와 다양한 멀티미디어 서비스를 제공받을 수 있다.
또한 전자 장치들은 사용자들이 이동하면서도 어느 장소에서나 멀티미디어 서비스를 제공받을 수 있는 이동성을 보장하고 있다. 이동성을 보장하는 전자 장치들은 소위 모바일 기기(mobile device)라고 불리운다. 예를 들어, 스마트폰(smart phone), 개인용 데이터 단말(Personal Data Assistant, PDA), 노트북, 디지털 카메라 등과 전자 장치들은 무선으로 인터넷과 같은 IP(Internet Protocol) 기반의 네트워크에 억세스할 수 있는 기능을 가지고 있다.
한편 사용자들이 전자 장치를 통해 멀티미디어 서비스를 제공받는 경우, 접속된 어느 하나의 네트워크를 통해서만 멀티미디어 서비스를 제공받을 수 있다. 예를 들어, 전자 장치들은 3G(3rd Generation) 네트워크 또는 LTE(Long Term Evolution) 네트워크에 접속되어 멀티미디어 서비스를 제공받을 수 있다. 다른 예로, 전자 장치들은 와이파이(Wireless Fidelity, Wi-Fi)와 같은 무선 랜(wireless local area network, LAN)에 접속되어 멀티미디어 서비스를 제공받을 수 있다. 다른 예로, 전자 장치들은 와이맥스(Worldwide Interoperability for Microwave Access, WiMax)와 같은 무선 네트워크에 접속되어 멀티미디어 서비스를 제공받을 수 있다. 이와 같이 전자 장치들은 접속된 어느 하나의 무선 억세스 네트워크를 통해서만 멀티미디어 서비스를 제공받을 수 있다는 한계가 있다.
따라서 본 발명의 다양한 실시예들은 다중 무선 억세스 네트워크들을 통해 멀티미디어 서비스를 동시에 수신하는 전자 장치 및 방법을 제공하기 위한 것이다.
본 발명의 다양한 실시예들은 멀티미디어 서비스 데이터를 다수의 데이터 인터페이스들을 통해 빠르게 수신하는 장치 및 방법을 제공하기 위한 것이다.
본 발명의 다양한 실시예들은 멀티미디어 서비스 데이터를 다수의 데이터 인터페이스들을 통해 안정적으로 수신하는 장치 및 방법을 제공하기 위한 것이다.
본 발명의 다양한 실시예들은 멀티미디어 서비스 데이터를 다수의 데이터 인터페이스들 또는 단일의 데이터 인터페이스를 통해 적응적으로 수신하는 장치 및 방법을 제공하기 위한 것이다.
본 발명의 다양한 실시예들에 따르면, 전자 장치는, 멀티미디어 서비스 제공자의 억세스를 위한 다수의 네트워크 인터페이스들; 및 상기 서비스 제공자로부터의 멀티미디어 서비스 콘텐츠가 상기 네트워크 인터페이스들 각각을 통하여 분할되어 수신되도록 처리하고, 상기 콘텐츠의 일부가 상기 네트워크 인터페이스들 중 어느 한 인터페이스를 통하여 수신 완료된 경우 상기 콘텐츠의 나머지가 상기 네트워크 인터페이스들 각각을 통하여 재분할되어 수신되도록 처리하는 다중 인터페이스 처리기를 포함한다.
본 발명의 다양한 실시예들에 따르면, 전자 장치의 동작 방법은, 멀티미디어 서비스 제공자로부터의 멀티미디어 서비스 콘텐츠가 다수의 네트워크 인터페이스들 각각을 통하여 분할되어 수신되도록 처리하는 과정; 및 상기 콘텐츠의 일부가 상기 네트워크 인터페이스들 중 어느 한 인터페이스를 통하여 수신 완료된 경우 상기 콘텐츠의 나머지가 상기 네트워크 인터페이스들 각각을 통하여 재분할되어 수신되도록 처리하는 과정을 포함한다.
이와 같이 본 발명의 다양한 실시예들은 다중 무선 억세스 네트워크들을 통해 멀티미디어 서비스를 동시에 수신할 수 있도록 한다. 이러한 본 발명의 다양한 실시예들은 멀티미디어 서비스 데이터를 다수의 데이터 인터페이스들을 통해 빠르게 수신할 수 있도록 한다. 또한, 본 발명의 다양한 실시예들은 멀티미디어 서비스 데이터를 다수의 데이터 인터페이스들을 통해 안정적으로 수신할 수 있도록 한다. 또한, 본 발명의 다양한 실시예들은 멀티미디어 서비스 데이터를 다수의 데이터 인터페이스들 또는 단일의 데이터 인터페이스를 통해 적응적으로 수신할 수 있도록 한다.
본 발명 및 그의 효과에 대한 보다 완벽한 이해를 위해, 첨부되는 도면들을 참조하여 하기의 설명들이 이루어질 것이고, 여기서 동일한 참조 부호들은 동일한 부분들을 나타낸다.
도 1은 본 발명의 다양한 실시 예에 따른 전자 장치를 포함하는 네트워크 환경을 도시한 도면이다.
도 2는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스를 위한 전자 장치의 블록 다이아그램을 보여주는 도면이다.
도 3은 본 발명의 다양한 실시예들에 따른 다중 무선 억세스를 위한 전자 장치의 블록 다이아그램을 보여주는 도면이다.
도 4a는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 동작을 위한 전자 장치에서 다수의 인터페이스들이 사용 가능함을 보여주는 도면이다.
도 4b는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 동작을 위한 전자 장치에서 다수의 인터페이스들이 활성화됨을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 따라 다중 무선 억세스 동작이 활성화되는 경우 전자 장치에 디스플레이되는 화면의 예를 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 따라 활성화되는 다중 무선 억세스 동작의 처리 흐름을 보여주는 도면이다.
도 7은 본 발명의 다른 실시예들에 따라 다중 무선 억세스 동작이 활성화되는 경우 전자 장치에 디스플레이되는 화면의 예를 보여주는 도면이다.
도 8은 본 발명의 다른 실시예에 따라 활성화되는 다중 무선 억세스 동작의 처리 흐름을 보여주는 도면이다.
도 9a 및 도 9b는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 동작의 처리 절차들을 보여주는 도면들이다.
도 10a 내지 도 10c는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 동작의 처리 흐름을 보여주는 도면들이다.
도 11은 본 발명의 일 실시예에 따른 다중 무선 억세스 동작의 처리 절차를 보여주는 도면이다.
도 12는 본 발명의 일 실시예에 따른 다중 레인지 요청 동작의 처리 흐름을 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 따른 다중 레인지 요청 동작의 예를 보여주는 도면이다.
도 14는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작의 처리 절차를 보여주는 도면이다.
도 15는 본 발명의 다른 실시예에 따른 다중 레인지 요청 동작의 처리 흐름을 보여주는 도면이다.
도 16a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작을 위한 다중 인터페이스 처리기의 처리 흐름의 일 예를 보여주는 도면이다.
도 16b는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작에 의해 다운로드되는 콘텐츠들의 일 예를 보여주는 도면이다.
도 17a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작을 위한 다중 인터페이스 처리기의 처리 흐름의 다른 예를 보여주는 도면이다.
도 17b 및 도 17c는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작에 의해 다운로드되는 콘텐츠들의 다른 예들을 보여주는 도면이다.
도 18a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 수행되는 인터페이스 전환 처리 흐름의 일 예를 보여주는 도면이다.
도 18b는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 수행되는 인터페이스 전환 처리 흐름의 일 예에 따라 다운로드되는 콘텐츠의 예를 보여주는 도면이다.
도 19a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 수행되는 인터페이스 전환 처리 흐름의 다른 예를 보여주는 도면이다.
도 19b는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 수행되는 인터페이스 전환 처리 흐름의 다른 예에 따라 다운로드되는 콘텐츠의 예를 보여주는 도면이다.
도 20a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 소켓이 유실되는 경우 콘텐츠 다운로드 동작의 처리 흐름의 일 예를 보여주는 도면이다.
도 20b는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 소켓이 유실되는 경우 콘텐츠 다운로드 동작의 처리 흐름의 다른 예를 보여주는 도면이다.
도 21은 본 발명의 또 다른 실시예에 따른 전자 장치에 의한 다중 무선 억세스 동작의 처리 절차를 보여주는 도면이다.
도 22는 본 발명의 또 다른 실시예에 따른 전자 장치에 의한 다중 레인지 요청 동작의 처리 흐름을 보여주는 도면이다.
도 23은 본 발명의 또 다른 실시예에 따른 전자 장치에 의한 다중 레인지 요청 동작의 예를 보여주는 도면이다.
도 24는 본 발명의 또 다른 실시예에 따른 전자 장치에 의한 다중 레인지 요청 동작에 따른 처리율을 보여주는 도면이다.
도 25는 본 발명의 또 다른 실시예에 따른 다중 무선 억세스를 위한 전자 장치의 블록 다이아그램을 보여주는 도면이다.
도 26은 본 발명의 또 다른 실시예에 따른 다중 무선 억세스 동작이 설정되어 있는지 여부를 결정하는 처리 흐름을 보여주는 도면이다.
도 27a 및 도 27b는 본 발명의 또 다른 실시예에 따른 다중 무선 억세스 동작을 위한 애플리케이션 그룹의 설정 동작의 예들을 보여주는 도면들이다.
도 28은 본 발명의 또 다른 실시예에 따른 다중 무선 억세스 동작을 위한 앱 요청 크기 데이터베이스(DB)에 대한 구성의 일 예를 보여주는 도면이다.
도 29는 본 발명의 또 다른 실시예에 따른 다중 무선 억세스 동작의 사용 여부를 결정하는 처리 흐름을 보여주는 도면이다.
도 30은 본 발명의 또 다른 실시예에 따른 다중 무선 억세스 동작의 처리 흐름 수행 도중에 사용자에게 다중 인터페이스의 사용 여부를 문의하는 화면의 예를 보여주는 도면이다.
도 1은 본 발명의 다양한 실시 예에 따른 전자 장치를 포함하는 네트워크 환경을 도시한 도면이다.
도 2는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스를 위한 전자 장치의 블록 다이아그램을 보여주는 도면이다.
도 3은 본 발명의 다양한 실시예들에 따른 다중 무선 억세스를 위한 전자 장치의 블록 다이아그램을 보여주는 도면이다.
도 4a는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 동작을 위한 전자 장치에서 다수의 인터페이스들이 사용 가능함을 보여주는 도면이다.
도 4b는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 동작을 위한 전자 장치에서 다수의 인터페이스들이 활성화됨을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 따라 다중 무선 억세스 동작이 활성화되는 경우 전자 장치에 디스플레이되는 화면의 예를 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 따라 활성화되는 다중 무선 억세스 동작의 처리 흐름을 보여주는 도면이다.
도 7은 본 발명의 다른 실시예들에 따라 다중 무선 억세스 동작이 활성화되는 경우 전자 장치에 디스플레이되는 화면의 예를 보여주는 도면이다.
도 8은 본 발명의 다른 실시예에 따라 활성화되는 다중 무선 억세스 동작의 처리 흐름을 보여주는 도면이다.
도 9a 및 도 9b는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 동작의 처리 절차들을 보여주는 도면들이다.
도 10a 내지 도 10c는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 동작의 처리 흐름을 보여주는 도면들이다.
도 11은 본 발명의 일 실시예에 따른 다중 무선 억세스 동작의 처리 절차를 보여주는 도면이다.
도 12는 본 발명의 일 실시예에 따른 다중 레인지 요청 동작의 처리 흐름을 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 따른 다중 레인지 요청 동작의 예를 보여주는 도면이다.
도 14는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작의 처리 절차를 보여주는 도면이다.
도 15는 본 발명의 다른 실시예에 따른 다중 레인지 요청 동작의 처리 흐름을 보여주는 도면이다.
도 16a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작을 위한 다중 인터페이스 처리기의 처리 흐름의 일 예를 보여주는 도면이다.
도 16b는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작에 의해 다운로드되는 콘텐츠들의 일 예를 보여주는 도면이다.
도 17a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작을 위한 다중 인터페이스 처리기의 처리 흐름의 다른 예를 보여주는 도면이다.
도 17b 및 도 17c는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작에 의해 다운로드되는 콘텐츠들의 다른 예들을 보여주는 도면이다.
도 18a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 수행되는 인터페이스 전환 처리 흐름의 일 예를 보여주는 도면이다.
도 18b는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 수행되는 인터페이스 전환 처리 흐름의 일 예에 따라 다운로드되는 콘텐츠의 예를 보여주는 도면이다.
도 19a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 수행되는 인터페이스 전환 처리 흐름의 다른 예를 보여주는 도면이다.
도 19b는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 수행되는 인터페이스 전환 처리 흐름의 다른 예에 따라 다운로드되는 콘텐츠의 예를 보여주는 도면이다.
도 20a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 소켓이 유실되는 경우 콘텐츠 다운로드 동작의 처리 흐름의 일 예를 보여주는 도면이다.
도 20b는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 소켓이 유실되는 경우 콘텐츠 다운로드 동작의 처리 흐름의 다른 예를 보여주는 도면이다.
도 21은 본 발명의 또 다른 실시예에 따른 전자 장치에 의한 다중 무선 억세스 동작의 처리 절차를 보여주는 도면이다.
도 22는 본 발명의 또 다른 실시예에 따른 전자 장치에 의한 다중 레인지 요청 동작의 처리 흐름을 보여주는 도면이다.
도 23은 본 발명의 또 다른 실시예에 따른 전자 장치에 의한 다중 레인지 요청 동작의 예를 보여주는 도면이다.
도 24는 본 발명의 또 다른 실시예에 따른 전자 장치에 의한 다중 레인지 요청 동작에 따른 처리율을 보여주는 도면이다.
도 25는 본 발명의 또 다른 실시예에 따른 다중 무선 억세스를 위한 전자 장치의 블록 다이아그램을 보여주는 도면이다.
도 26은 본 발명의 또 다른 실시예에 따른 다중 무선 억세스 동작이 설정되어 있는지 여부를 결정하는 처리 흐름을 보여주는 도면이다.
도 27a 및 도 27b는 본 발명의 또 다른 실시예에 따른 다중 무선 억세스 동작을 위한 애플리케이션 그룹의 설정 동작의 예들을 보여주는 도면들이다.
도 28은 본 발명의 또 다른 실시예에 따른 다중 무선 억세스 동작을 위한 앱 요청 크기 데이터베이스(DB)에 대한 구성의 일 예를 보여주는 도면이다.
도 29는 본 발명의 또 다른 실시예에 따른 다중 무선 억세스 동작의 사용 여부를 결정하는 처리 흐름을 보여주는 도면이다.
도 30은 본 발명의 또 다른 실시예에 따른 다중 무선 억세스 동작의 처리 흐름 수행 도중에 사용자에게 다중 인터페이스의 사용 여부를 문의하는 화면의 예를 보여주는 도면이다.
이하 첨부된 도면을 참조하여 본 개시(present disclosure)를 설명한다. 본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 개시 가운데 사용될 수 있는“포함한다” 또는 “포함할 수 있다” 등의 표현은 개시된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 개시에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 “또는” 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, “A 또는 B”는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 개시 가운데 “제1,”“제2,”“첫째,”또는“둘째,”등의 표현들이 본 개시의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분 짓기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 개시를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 개시에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 개시에 따른 전자 장치는, 통신 기능이 포함된 장치일 수 있다. 예를 들면, 전자 장치는 스마트 폰(smart phone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 또는 스마트 와치(smartwatch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 통신 기능을 갖춘 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들자면, 전자 장치는 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 각종 의료기기(예: MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치 및 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛, 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic tellers machine) 또는 상점의 POS(point of sales) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 본 개시에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 개세에 따른 전자 장치는 플렉서블 장치일 수 있다. 또한, 본 개시에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
하기에서 설명될 본 발명의 다양한 실시예들은 모바일 기기와 같은 전자 장치에서 어느 하나의 무선 억세스 네트워크를 통해서만 멀티미디어 서비스가 제공되도록 하는 대신에, 다중 무선 억세스 네트워크들을 통해 멀티미디어 서비스가 동시에 제공될 수 있도록 한다. 본 발명의 일 실시예는 전자 장치에서 멀티미디어 서비스를 위한 어플리케이션이 실행되는 도중에 어플리케이션이 요청하는 데이터(또는 콘텐츠)가 다수의 데이터 인터페이스들을 통해 빠르게 수신될 수 있도록 한다. 본 발명의 다른 실시예는 전자 장치에서 멀티미디어 서비스를 위한 어플리케이션이 실행되는 도중에 어플리케이션이 요청하는 데이터가 안정적으로 수신될 수 있도록 한다. 본 발명의 또 다른 실시예는 전자 장치에서 멀티미디어 서비스를 위한 어플리케이션이 실행되는 도중에 어플리케이션이 요청하는 데이터가 다수의 데이터 인터페이스들 또는 단일의 데이터 인터페이스를 통해 적응적으로 수신될 수 있도록 한다.
하기에서 본 발명의 다양한 실시예들을 설명함에 있어서, 멀티미디어 서비스는 사용자가 전자 장치에서 특정 애플리케이션(Application)(또는 어플리케이션)(또는 앱(App))을 실행하는 경우, 서비스 제공자가 제공하는 서비스를 의미하며, 멀티미디어 서비스 데이터는 서비스 제공자가 제공하는 데이터를 의미한다. 멀티미디어 서비스 데이터는 콘텐츠, 콘텐트 등으로도 언급되어질 것이다. 멀티미디어 서비스는 텍스트 및 이미지 제공 서비스, 영상 전화 서비스, 멀티미디어 메시징 서비스, 콘텐츠 서비스, 방송 서비스, 게임 서비스, 채팅 서비스를 포함할 수 있지만, 언급하지 않은 다양한 서비스들을 포함할 수도 있다. 이러한 멀티미디어 서비스는 사용자가 멀티미디어 서비스와 관련된 애플리케이션을 전자 장치에서 실행하는 경우, 인터넷과 같은 IP기반의 네트워크에 접속된 서비스 제공자에 의해 제공될 수 있다. 본 발명의 다양한 실시예들은 다양한 형태의 전자 장치들에 적용될 수도 있지만, 예시적으로 스마트폰과 같은 모바일 기기에 적용되는 경우로 설명될 것이다. 본 발명의 다양한 실시 예에서 언급되는 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
셀룰라 네트워크와 스마트폰이 발전함에 따라 더 많은 콘텐츠들이 스마트폰으로 제공된다. 특히 비디오 콘텐츠의 경우 고품질의 비디오들은 수백 메가바이트(MByte, MB)들을 포함할 수 있고, 수십의 메가비피에스(Mega bit per second, Mbps)를 요구할 수도 있다. 대부분의 모바일 기기들은 다수의 무선 억세스 기술(Radio Access Technology, RAT)들을 통해 네트워크를 억세스할 수 있다. 예를 들어, 모바일 기기들은 와이파이(Wi-Fi) 인터페이스를 포함하는데, 이를 통해 무선 랜을 억세스할 수 있다. 또한, 모바일 기기들은 셀룰라 인터페이스를 포함하는데, 이를 통해 3G 또는 LTE 네크워크를 억세스할 수 있다. 일부 기기들은 와이맥스(WiMax) 등과 같은 더 많은 인터페이스를 포함할 수도 있다. 그러나 사용자들은 특정 시간에 인터넷과 같은 IP 기반의 네트워크로부터 콘텐츠를 가져오기 위해서는 단지 하나의 인터페이스만을 이용할 수 있다. 사용자들이 수백 메가바이트의 파일들을 다운로드하거나 수백 Mbps의 비트 레이트를 가지는 고품질 비디오들을 시청하고자 할 때, 단지 하나의 데이터 인터페이스는 속도 요구 조건을 만족하지 못할 수도 있다. 이러한 경우 다운로드 속도는 낮아질 수 있고, 비디오는 빈번하게 차단될 수도 있다.
따라서, 본 발명의 다양한 실시예들은 동시에 다중 무선 인터페이스들을 사용하는 모바일 기기의 플랫폼 구조를 제공하고, 다중 인터페이스들의 다운로드 속도 및 로드(load)의 밸런스(balance)를 최적화하기 위한 알고리즘들을 제공한다. 본 발명의 다양한 실시예들은 사용자가 모바일 기기에서 사용하는 애플리케이션들의 변경없이 다중 무선 데이터 인터페이스들을 동시에 사용할 수 있도록 한다. 본 발명의 다양한 실시예들은 다중 인터페이스들의 속도 및 로드 밸런스를 위한 알고리즘들을 제공하는데, 이에 따라 사용자는 사용가능한 다중 인터페이스들의 속도를 합한 결과에 따른 속도로 원하는 콘텐츠를 다운로드를 할 수 있게 된다.
후술될 본 발명의 다양한 실시예들에 따른 전자 장치는, 각각이 서로 다른 무선 억세스 기술에 따라 적어도 하나의 멀티미디어 서비스를 제공하는 서비스 제공자를 억세스하기 위한 다수의 인터페이스들; 및 적어도 하나의 애플리케이션으로부터 멀티미디어 서비스에 대한 억세스 요청이 수신될 때 억세스 요청을 다중 요청들로서 다수의 인터페이스들로 분배하는 다중 인터페이스 처리기를 포함할 수 있다.
다중 인터페이스 처리기는, 억세스 요청에 응답하여 서비스 제공자로부터의 멀티미디어 서비스에 대한 데이터가 다수의 인터페이스들을 통해 동시에 수신되도록 요청하는 다중 요청들을 생성하여 다수의 인터페이스들 각각으로 분배하는 요청 처리기를 포함할 수 있다. 다중 인터페이스 처리기는, 다중 요청들 각각에 응답하여 다수의 인터페이스들 각각을 통해 수신된 데이터를 재조립하고, 재조립된 데이터를 애플리케이션으로 제공하는 데이터 관리기를 더 포함할 수 있다.
다중 요청들 각각에 의해 지시되는 다수의 인터페이스들 각각을 통해 수신될 데이터의 부분은 서로 다를 수 있다. 다중 요청들 각각에 의해 지시되는 다수의 인터페이스들 각각을 통해 수신될 데이터의 부분의 크기는 고정적이거나 가변적일 수 있다.
다중 인터페이스 처리기는, 다수의 인터페이스들 각각을 통해 수신되는 데이터의 다운로드 속도를 검출하고, 검출 결과에 따라 다수의 인터페이스들 각각의 다운로드 비율을 조정하는 인터페이스 조정기를 더 포함할 수 있다.
요청 처리기는, 제1 시점에서 상기 멀티미디어 서비스를 위한 데이터의 초기 부분을 다수의 인터페이스들 각각을 통해 요청할 수 있다. 또한 요청 처리기는 인터페이스 조정기에 의해 검출된 다수의 인터페이스들 각각을 통해 수신되는 초기 부분의 다운로드 속도에 따라 조정된 다운로드 비율에 따라 제1 시점 이후의 제2 시점에서 다수의 인터페이스들 각각을 통해 수신될 멀티미디어 서비스를 위한 데이터의 나머지 부분을 요청할 수 있다.
인터페이스 조정기는, 다수의 인터페이스들 각각의 다운로드 비율이 변경되는지 여부를 검출하고, 다수의 인터페이스들 각각의 다운로드 비율을 재조정하는 동작을 더 수행할 수 있다.
요청 처리기는, 억세스 요청에 응답하여 다수의 인터페이스들 중에서 적어도 하나의 사용가능한 인터페이스를 확인하고, 멀티미디어 서비스를 위한 데이터가 확인된 인터페이스를 통해 동시에 수신되도록 요청하는 상기 다중 요청들을 생성하여 상기 확인된 인터페이스로 제공할 수 있다.
다중 인터페이스 처리기는, 억세스 요청이 수신될 때 멀티미디어 서비스에 대한 데이터의 크기에 따라 다중 요청들을 생성할지 여부를 제어하는 인터페이스 제어기를 더 포함할 수 있다. 인터페이스 제어기는, 억세스 요청이 수신될 때 이전에 미리 정해진 임계값보다 작은 콘텐츠 크기를 가지는 멀티미디어 서비스에 대한 데이터가 수신된 비율에 따라 다중 요청들을 생성할지 여부를 제어할 수 있다.
다중 인터페이스 처리기는, 재조립된 데이터가 애플리케이션으로 제공되는 속도가 다수의 인터페이스들 중 어느 하나의 인터페이스의 수신 속도보다 작은 경우, 하나의 인터페이스를 통해서만 서비스 제공자로부터의 멀티미디어 서비스에 대한 데이터가 수신되도록 제어하는 인터페이스 제어기를 더 포함할 수 있다.
본 발명의 다양한 실시예들에 따른 전자 장치의 동작 방법은, 적어도 하나의 애플리케이션으로부터 서비스 제공자가 제공하는 적어도 하나의 멀티미디어 서비스에 대한 억세스 요청을 수신하는 과정; 및 억세스 요청을 다중 요청들로서, 각각이 서로 다른 무선 억세스 기술에 따라 서비스 제공자를 억세스하는 다수의 인터페이스들로 분배하는 과정을 포함할 수 있다.
억세스 요청을 다중 요청들로서 분배하는 과정은, 억세스 요청에 응답하여 서비스 제공자로부터의 멀티미디어 서비스에 대한 데이터가 다수의 인터페이스들을 통해 동시에 수신되도록 요청하는 다중 요청들을 생성하는 과정; 및 생성된 다중 요청들을 다수의 인터페이스들 각각으로 분배하는 과정을 포함할 수 있다.
상기 동작 방법은, 다중 요청들 각각에 응답하여 다수의 인터페이스들 각각을 통해 수신된 데이터를 재조립하고, 재조립된 데이터를 상기 애플리케이션으로 제공하는 과정을 더 포함할 수 있다.
다중 요청들 각각에 의해 지시되는 다수의 인터페이스들 각각을 통해 수신될 데이터의 부분은 서로 다를 수 있다. 다중 요청들 각각에 의해 지시되는 다수의 인터페이스들 각각을 통해 수신될 데이터의 부분의 크기는 고정적이거나 가변적일 수 있다.
상기 동작 방법은, 다수의 인터페이스들 각각을 통해 수신되는 데이터의 다운로드 속도를 검출하고, 검출 결과에 따라 다수의 인터페이스들 각각의 다운로드 비율을 조정하는 과정을 더 포함할 수 있다.
생성된 다중 요청들을 다수의 인터페이스들 각각으로 분배하는 과정은, 제1 시점에서 멀티미디어 서비스를 위한 데이터의 초기 부분을 다수의 인터페이스들 각각을 통해 요청하는 과정; 및 다수의 인터페이스들 각각을 통해 수신되는 초기 부분의 다운로드 속도에 따라 조정된 다운로드 비율에 따라 제1 시점 이후의 제2 시점에서 다수의 인터페이스들 각각을 통해 수신될 멀티미디어 서비스를 위한 데이터의 나머지 부분을 요청하는 과정을 포함할 수 있다.
상기 동작 방법은, 다수의 인터페이스들 각각의 다운로드 비율이 변경되는지 여부를 검출하고, 다수의 인터페이스들 각각의 다운로드 비율을 재조정하는 과정을 더 포함할 수 있다.
생성된 다중 요청들을 다수의 인터페이스들 각각으로 분배하는 과정은, 억세스 요청에 응답하여 다수의 인터페이스들 중에서 적어도 하나의 사용가능한 인터페이스를 확인하고, 멀티미디어 서비스를 위한 데이터가 확인된 인터페이스를 통해 동시에 수신되도록 요청하는 다중 요청들을 생성하여 확인된 인터페이스로 제공하는 과정을 포함할 수 있다.
상기 동작 방법은, 억세스 요청이 수신될 때 멀티미디어 서비스에 대한 데이터의 크기에 따라 다중 요청들을 생성할지 여부를 제어하는 과정을 더 포함할 수 있다. 상기 제어하는 과정은, 억세스 요청이 수신될 때 이전에 미리 정해진 임계값보다 작은 크기를 가지는 멀티미디어 서비스에 대한 데이터가 수신된 비율에 따라 다중 요청들을 생성할지 여부를 제어하는 과정을 포함할 수 있다.
상기 동작 방법은, 재조립된 데이터가 애플리케이션으로 제공되는 속도가 다수의 인터페이스들 중 어느 하나의 인터페이스의 수신 속도보다 작은 경우, 하나의 인터페이스를 통해서만 서비스 제공자로부터의 멀티미디어 서비스에 대한 데이터가 수신되도록 제어하는 과정을 더 포함할 수 있다.
도 1은 본 발명의 다양한 실시 예에 따른 전자 장치 100을 포함하는 네트워크 환경 10을 도시한 도면이다.
도 1을 참조하면, 전자 장치 100은 버스 10, 프로세서 20, 메모리 30, 입출력 인터페이스 40, 디스플레이 50 및 통신 인터페이스 60을 포함한다.
상기 버스 10은 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
상기 프로세서 20은 예를 들면, 상기 버스 120를 통해 전술한 다른 구성요소들(예: 상기 메모리 30, 상기 입출력 인터페이스 40, 상기 디스플레이 50, 상기 통신 인터페이스 60 등)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.
상기 메모리 30은 상기 프로세서 20 또는 다른 구성요소들(예: 상기 입출력 인터페이스 40, 상기 디스플레이 50, 상기 통신 인터페이스 60 등)로부터 수신되거나 상기 프로세서 20 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 상기 메모리 30은 예를 들면, 커널 31, 미들웨어 32, 어플리케이션 프로그래밍 인터페이스(API: application programming interface) 33 또는 어플리케이션 34 등의 프로그래밍 모듈들을 포함할 수 있다. 또한, 상기 메모리 30은 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 동작(또는 기능)을 위한 다중 인터페이스 처리 모듈 35를 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.
상기 커널 31은 나머지 다른 프로그래밍 모듈들, 예를 들면, 상기 미들웨어 32, 상기 API 33, 상기 어플리케이션 34 또는 다중 인터페이스 처리 모듈 35에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 상기 버스 10, 상기 프로세서 20 또는 상기 메모리 30 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널 31은 상기 미들웨어 32, 상기 API 33, 상기 어플리케이션 34 또는 다중 인터페이스 처리 모듈 35에서 상기 전자 장치 100의 개별 구성요소에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어 32는 상기 API 33, 상기 어플리케이션 134 또는 다중 인터페이스 처리 모듈 35가 상기 커널 31과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어 32는 상기 어플리케이션 34로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 어플리케이션 34 중 적어도 하나의 어플리케이션에 상기 전자 장치 100의 시스템 리소스(예: 상기 버스 10, 상기 프로세서 20 또는 상기 메모리 30 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.
상기 API 33은 상기 어플리케이션 34가 상기 커널 131 또는 상기 미들웨어 32에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 어플리케이션 34는 SMS/MMS 어플리케이션, 이메일 어플리케이션, 달력 어플리케이션, 알람 어플리케이션, 건강 관리(health care) 어플리케이션(예: 운동량 또는 혈당 등을 측정하는 어플리케이션) 또는 환경 정보 어플리케이션(예: 기압, 습도 또는 온도 정보 등을 제공하는 어플리케이션) 등을 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 어플리케이션 34는 상기 전자 장치 100과 외부 전자 장치(예: 전자 장치 100A) 사이의 정보 교환과 관련된 어플리케이션일 수 있다. 상기 정보 교환과 관련된 어플리케이션은, 예를 들어, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 상기 알림 전달 어플리케이션은 상기 전자 장치 100의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션 또는 환경 정보 어플리케이션 등)에서 발생한 알림 정보를 외부 전자 장치(예: 전자 장치 100A)로 전달하는 기능을 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치(예: 전자 장치 100A)로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 상기 장치 관리 어플리케이션은, 예를 들면, 상기 전자 장치 100과 통신하는 외부 전자 장치(예: 전자 장치 100A)의 적어도 일부에 대한 기능(예: 외부 전자 장치 자체(또는 일부 구성 부품)의 턴온/턴오프 또는 디스플레이의 밝기(또는 해상도) 조절), 상기 외부 전자 장치에서 동작하는 어플리케이션 또는 상기 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리(예: 설치, 삭제 또는 업데이트)할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 어플리케이션 34는 상기 외부 전자 장치(예: 전자 장치 100A)의 속성(예: 전자 장치의 종류)에 따라 지정된 어플리케이션을 포함할 수 있다. 예를 들어, 외부 전자 장치가 MP3 플레이어인 경우, 상기 어플리케이션 34는 음악 재생과 관련된 어플리케이션을 포함할 수 있다. 유사하게, 외부 전자 장치가 모바일 의료기기인 경우, 상기 어플리케이션 34는 건강 관리와 관련된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 상기 어플리케이션 34는 전자 장치 100에 지정된 어플리케이션 또는 외부 전자 장치(예: 서버 150 또는 전자 장치 100A)로부터 수신된 어플리케이션 중 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 상기 다중 인터페이스 처리 모듈 35는 다중 무선 억세스 기능을 제공함으로써 다중 무선 억세스 네트워크들을 통해 멀티미디어 서비스를 위한 데이터를 다수의 데이터 인터페이스들을 통해 동시에 빠르게 수신할 수 있도록 한다. 또한, 상기 다중 인터페이스 처리 모듈 35는 멀티미디어 서비스 데이터를 다수의 데이터 인터페이스들을 통해 안정적으로 수신할 수 있도록 한다. 또한, 상기 다중 인터페이스 처리 모듈 35는 멀티미디어 서비스 데이터를 다수의 데이터 인터페이스들 또는 단일의 데이터 인터페이스를 통해 적응적으로 수신할 수 있도록 한다.
상기 입출력 인터페이스 40은 입출력 장치(예: 센서, 키보드 또는 터치 스크린)를 통하여 사용자로부터 입력된 명령 또는 데이터를, 예를 들면, 상기 버스 10을 통해 상기 프로세서 20, 상기 메모리 30, 상기 통신 인터페이스 60에 전달할 수 있다. 예를 들면, 상기 입출력 인터페이스 40은 터치 스크린을 통하여 입력된 사용자의 터치에 대한 데이터를 상기 프로세서 20으로 제공할 수 있다. 또한, 상기 입출력 인터페이스 40은 예를 들면, 상기 버스 10을 통해 상기 프로세서 20, 상기 메모리 30, 상기 통신 인터페이스 60으로부터 수신된 명령 또는 데이터를 상기 입출력 장치(예: 스피커 또는 디스플레이)를 통하여 출력할 수 있다. 예를 들면, 상기 입출력 인터페이스 40은 상기 프로세서 20을 통하여 처리된 음성 데이터를 스피커를 통하여 사용자에게 출력할 수 있다.
상기 디스플레이 50은 사용자에게 각종 정보(예: 멀티미디어 데이터 또는 텍스트 데이터 등)을 표시할 수 있다. 상기 통신 인터페이스 60은 상기 전자 장치 100과 외부 장치(예: 전자 장치 100A 또는 서버 150) 간의 통신을 연결할 수 있다. 예를 들면, 상기 통신 인터페이스 60은 무선 통신 또는 유선 통신을 통해서 네트워크 140에 연결되어 상기 외부 장치와 통신할 수 있다. 상기 무선 통신은, 예를 들어, Wifi(wireless fidelity), BT(Bluetooth), NFC(near field communication), GPS(global positioning system) 또는 cellular 통신(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등) 중 적어도 하나를 포함할 수 있다. 상기 유선 통신은, 예를 들어, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232) 또는 POTS(plain old telephone service) 중 적어도 하나를 포함할 수 있다.
본 발명의 한 실시 예에 따르면, 상기 네트워크 140은 통신 네트워크(telecommunications network)일 수 있다. 상기 통신 네트워크 는 컴퓨터 네트워크(computer network), 인터넷(internet), 사물 인터넷(internet of things) 또는 전화망(telephone network) 중 적어도 하나를 포함할 수 있다. 한 실시 예에 따르면, 상기 전자 장치 100과 외부 장치 간의 통신을 위한 프로토콜(예: transport layer protocol, data link layer protocol 또는 physical layer protocol))은 어플리케이션 34, 어플리케이션 프로그래밍 인터페이스 33, 미들웨어 32, 커널 31 또는 통신 인터페이스 60 중 적어도 하나에서 지원될 수 있다.
도 2는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스를 위한 전자 장치의 블록 다이아그램을 보여주는 도면이다. 전자 장치 100은 애플리케이션 110, 다중 인터페이스 처리기(Multiple Interface Handler) 120 및 다수의 인터페이스들 131-139를 포함한다.
애플리케이션 110은 서버 150으로부터 제공되어 전자 장치 100의 내부에 설치될 수 있다. 이러한 애플리케이션 110이 실행되는 경우 서버 150이 제공하는 다양한 멀티미디어 서비스들 중 해당하는 멀티미디어 서비스가 제공될 수 있다. 여기서는 하나의 애플리케이션만이 전자 장치 100의 내부에 설치된 것으로 도시되어 있으나, 다양한 애플리케이션들이 설치될 수 있다. 애플리케이션 110이 사용자에 의해 실행될 수 있으며, 실행 도중에 멀티미디어 서비스 데이터를 요청할 수 있다.
다중 인터페이스 처리기 120은 애플리케이션 110으로부터 요청이 수신될 때 이 수신된 요청을 다수의 인터페이스들 131-139 각각에 대응하는 다중 소켓들을 생성한다. 즉, 다중 인터페이스 처리기 120은 특정 멀티미디어 서비스 데이터 요청을 다수의 요청들로 분배하여 다수의 인터페이스들 131-139 각각으로 제공한다. 이는 멀티미디어 서비스 데이터가 다수의 인터페이스들 131-139를 통해 동시에 수신(또는 다운로드)될 수 있도록 하기 위한 것이다. 이때 다수의 인터페이스들 131-139에 요청되는 데이터의 범위는 서로 다르게 설정된다. 이는 멀티미디어 서비스 데이터를 다수의 인터페이스들 131-139를 통해 빠른 속도로, 또는 안정적으로 수신하기 위한 것이다. 이러한 다중 인터페이스 처리기 120은 후술되는 바와 같이 플랫폼(platform)으로 구현될 수 있다.
다수의 인터페이스들 131-139각각은 전자 장치 100이 다수의 무선 억세스 네트워크들 141-149 각각을 통해 서버 150에 연결될 수 있도록 한다. 예를 들어, 다수의 인터페이스들 131-139 중의 하나는 와이파이 인터페이스가 될 수 있다. 이러한 경우 해당 네트워크는 억세스포인트(Access Point, AP)를 포함하는 무선 랜이 될 수 있다. 다른 예로, 다수의 인터페이스들 131-139 중의 하나는 셀룰라 인터페이스가 될 수 있다. 이러한 경우 해당 네트워크는 기지국(Base Station 또는 eNB)을 포함하는 3G 네트워크, 또는 LTE 네트워크가 될 수 있다. 서버 150은 인터넷과 같은 IP 기반의 네트워크를 통해 멀티미디어 서비스를 제공하는 서비스 제공자가 될 수 있다.
도 3은 본 발명의 다양한 실시예들에 따른 다중 무선 억세스를 위한 전자 장치의 블록 다이아그램을 보여주는 도면들이다. 도 2에 도시된 다중 인터페이스 처리기 120은 요청 처리기(Request Handler) 122, 데이터 관리기(Data Manager) 124 및 인터페이스 조정기(Interface Balancer) 126을 포함한다. 다중 인터페이스 처리기 120은 플랫폼(platform)으로 구현될 수 있으며, 요청 처리기 122, 데이터 관리기 124 및 인터페이스 조정기 126는 도 1에 도시된 바와 같이 소프트웨어 모듈 형태로 구현될 수 있다.
도 4a는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 동작을 위한 전자 장치에서 다수의 인터페이스들이 사용 가능함을 보여주는 도면이다. 도 3에 도시된 모바일 기기의 플랫폼 120을 업데이트함으로써 다수의 데이터 인터페이스들을 동시에 사용가능한 상태로 할 수 있다. 여기서는 와이파이 인터페이스 및 셀룰라 인터페이스가 동시에 사용가능한 경우를 예로 하여 설명하기로 한다. 와이파이 인터페이스가 사용가능하고 관련된 억세스포인트(AP)가 있고 또한 셀룰라 인터페이스가 사용가능한 경우, 플랫폼 120은 2개의 데이터 인터페이스들을 동시에 활성화한다.
S102단계에서, 전자 장치는 부팅되고, 인터페이스들은 활성화 또는 비활성화될 수 있다. S104단계에서 와이파이 인터페이스가 활성화되었는지 여부가 확인된다. S106단계에서는 와이파이 인터페이스가 사용가능한지 여부가 확인된다. S108단계 및 S114단계에서는 셀룰라 데이터 인터페이스가 활성화되었는지 여부가 확인된다. S104단계에서 와이파이 인터페이스가 활성화되지 않았고 S108단계에서 셀룰라 데이터 인터페이스가 활성화된 것으로 확인된 경우, S110단계에서 셀룰라 데이터 인터페이스만이 사용가능한 상태인 것으로 확인된다. 또한, S104단계에서 와이파이 인터페이스가 활성화되었으나 S106단계에서 와이파이 인터페이스가 사용가능하지 않은 것으로 확인되고 S108단계에서 셀룰라 데이터 인터페이스가 활성화된 것으로 확인된 경우에도, S110단계에서 셀룰라 데이터 인터페이스만이 사용가능한 상태인 것으로 확인된다. 이와 달리 S108단계에서 셀룰라 데이터 인터페이스가 활성화되지 않은 것으로 확인된 경우, 312단계에서 사용가능한 인터페이스가 없는 것으로 확인된다.
S104단계에서 와이파이 인터페이스가 활성화되었고 S106단계에서 와이파이 인터페이스가 사용가능한 것으로 확인되었지만 S14단계에서 셀룰라 데이터 인터페이스가 활성화되지 않은 것으로 확인된 경우, S116단계에서 와이파이 인터페이스만이 사용가능한 상태인 것으로 확인된다. 이와 달리 S114단계에서 셀룰라 데이터 인터페이스가 활성화된 것으로 확인된 경우, S118단계에서 와이파이 인터페이스 및 셀룰라 데이터 인터페이스 모두가 사용가능한 상태인 것으로 확인된다.
일반적으로 단말은 하나의 인터페이스만을 사용할 수 있다. 예를 들어 사용자가 WiFi를 선택하고 억세스포인트(AP)에 접속하면 해당 단말의 셀룰러 인터페이스는 비활성화된다. 반면에 WiFi의 연결이 해지되거나 사용자가 WiFi기능을 비활성화시킨 경우, 해당 단말의 셀룰러 인터페이스가 활성화된다. 하지만 사용자가 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 기능을 기능을 활성화하면 다수의 인터페이스들을 동시에 사용할 수 있다. 예를 들어, 다수의 인터페이스들은 WiFi 인터페이스와 롱텀에볼루션(Long Term Evolution, LTE)의 셀룰라 데이터 인터페이스를 포함할 수 있다.
도 4b는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 동작을 위한 전자 장치에서 다수의 인터페이스들이 활성화됨을 보여주는 도면이다. 여기서는 2개의 인터페이스들이 동시에 활성화됨을 도시하고 있지만, 본 발명의 다양한 실시예들에 따른 범위가 이에 국한되는 것은 아니다.
도 4b를 참조하면, 전자 장치가 부팅되고(S122), 다중 무선 억세스 기능이 설정된 것으로 확인된 경우(S124 예), 기본 인터페이스(default interface)(예; WiFi 인터페이스)와 다른 인터페이스(the other interface)(예; LTE 인터페이스)가 활성화된다(S126). 다중 무선 억세스 기능이 설정되지 않은 것으로 확인된 경우(S124 아니오), 기본 인터페이스만이 활성화된다(S126).
본 발명의 다양한 실시예들에 따라 다중 인터페이스가 활성화되는 경우는 도 5 및 도 6에 도시된 경우와, 도 7 및 도 8에 도시된 두 가지의 경우를 포함한다.
다중 인터페이스 활성화의 일 실시예는 본 발명의 다중 무선 억세스 기능을 활성화시킴과 동시에 비활성화 상태였던 다른 인터페이스가 활성화되는 경우이다. 이 경우는 본 발명의 실시예에 따라 다수(예; 2개)의 인터페이스를 사용하기 전에 미리 다수의 인터페이스를 활성화 해 놓는 방안으로 인터페이스 활성화에 따른 지연을 없앨 수 있다.
도 5는 본 발명의 일 실시예에 따라 다중 무선 억세스 동작이 활성화되는 경우 전자 장치에 디스플레이되는 화면의 예를 보여주는 도면이다. 도 6은 본 발명의 일 실시예에 따라 활성화되는 다중 무선 억세스 동작의 처리 흐름을 보여주는 도면이다.
도 5를 참조하면, 본 발명의 일 실시예는 사용자가 다중 무선 억세스 기능을 비활성화 하기 전 까지는 두 인터페이스의 연결을 동시에 유지한다. 사용자가 다중 무선 억세스 기능(S20)을 활성화하면(S22), 전자 장치의 디스플레이의 상단에 다중 무선 억세스 기능의 아이콘(S24)이 활성화된다(도 5의 (a)). 이때 다수(예; 2개)의 인터페이스가 연결 가능하다면 해당 인터페이스를 나타내는 아이콘들(S21, S23) 또한 같이 활성화된다(도 5의 (b)). 다중 무선 억세스 기능을 통하여 콘텐츠를 이용할 경우 상단 아이콘들(S21, S23, S24)은 다중 무선 억세스 기능의 아이콘(S24) 만으로 대체된다(도 5의 (c)). 콘텐츠 이용을 마친 경우에는 이전 아이콘 표시 상태로 복귀한다(도 5의 (d)).
도 6은 본 발명의 일 실시예에 따라 활성화되는 다중 무선 억세스 동작의 처리 흐름을 보여주는 도면이다. 이 처리 흐름은 예를 들어, 도 2에 도시된 다중 인터페이스 처리기 120에 의해 수행될 수 있다.
도 6을 참조하면, S202단계에서 다중 무선 억세스 기능이 활성화된다(도 5의 (a)). S204단계에서 다중 무선 억세스 기능 아이콘이 생성 및 표시된다(도 5의 (b)). S206단계에서 다른 인터페이스의 연결 가능 여부가 판단된다. 다른 인터페이스의 연결이 가능한 경우, S208단계에서 다른 인터페이스가 연결되고 해당 아이콘이 활성화된다(도 5의 (b)). S210단계에서 사용자로부터의 HTTP 콘텐츠 요청이 수신된다. S212단계에서 요청된 콘텐츠가 HTTP 1.1과 콘텐츠 크기를 만족하는지 여부가 판단된다. 요청된 콘텐츠가 HTTP 1.1과 콘텐츠 크기를 만족하는 경우, S214단계에서 다중 무선 억세스 기능 아이콘만이 표시된다(도 5의 (c)). S216단계에서 요청된 콘텐츠가 다중 인터페이스를 통해 동시에 다운로드된다. S218단계에서 콘텐츠 이용이 종료되는 경우 이전 아이콘 표시 상태로의 복귀가 이루어진다(도 5의 (d)).
다중 인터페이스 활성화의 다른 실시예는 본 발명의 다중 무선 억세스 기능을 활성화시킨 후 콘텐츠 이용이 발생할 경우에 다수(예; 2개)의 인터페이스가 동시에 활성화되는 경우이다. 이 경우는 실제 다수의 인터페이스를 사용할 시에만 기본 인터페이스와 함께 다른 인터페이스를 동시에 활성화하는 방안으로, 인터페이스 활성화에 따른 전류소모를 줄일 수 있다.
도 7은 본 발명의 다른 실시예에 따라 다중 무선 억세스 동작이 활성화되는 경우 전자 장치에 디스플레이되는 화면의 예를 보여주는 도면이다. 도 8은 본 발명의 다른 실시예에 따라 활성화되는 다중 무선 억세스 동작의 처리 흐름을 보여주는 도면이다.
도 7을 참조하면, 본 발명의 다른 실시예에 따르면, 사용자가 다중 무선 억세스 기능(S20)을 활성화하여도(S22) 다른 인터페이스)는 활성화되지 않으며, 다중 무선 억세스 기능의 아이콘(S24)만 추가로 활성화된다(도 7의 (a),(b)). 다중 무선 억세스 기능을 통하여 콘텐츠를 이용할 경우 다른 인터페이스가 활성화되고, 전자 장치의 디스플레이 상단에 표시되는 아이콘은 다중 무선 억세스 기능의 아이콘(S24)으로 대체된다(도 7의 (b),(c)). 콘텐츠 이용을 마친 경우에는 이전 아이콘 표시 상태로 복귀한다(도 7의 (d)).
도 8은 본 발명의 다른 실시예에 따라 활성화되는 다중 무선 억세스 동작의 처리 흐름을 보여주는 도면이다. 이 처리 흐름은 예를 들어, 도 2에 도시된 다중 인터페이스 처리기 120에 의해 수행될 수 있다.
도 8을 참조하면, S302단계에서 다중 무선 억세스 기능이 활성화된다(도 7의 (a)). S304단계에서 다중 무선 억세스 기능 아이콘이 생성 및 표시된다(도 7의 (b)). S306단계에서 사용자로부터의 HTTP 콘텐츠 요청이 수신된다. S308단계에서 요청된 콘텐츠가 HTTP 1.1과 콘텐츠 크기를 만족하는지 여부가 판단된다. 요청된 콘텐츠가 HTTP 1.1과 콘텐츠 크기를 만족하는 경우, S310단계에서 다른 인터페이스의 연결 가능 여부가 판단된다. 다른 인터페이스의 연결이 가능한 경우, S312단계에서 다중 인터페이스가 동시에 활성화되고 다중 무선 억세스 기능 아이콘만이 표시된다(도 7의 (c)). S314단계에서 요청된 콘텐츠가 다중 인터페이스를 통해 동시에 다운로드된다. 다른 인터페이스의 연결이 가능하지 않은 경우, S316단계에서 단일 인터페이스(즉, 기본 인터페이스)를 통하여 다운로드가 이루어진다. S318단계에서 콘텐츠 이용이 종료되는 경우 이전 아이콘 표시 상태로의 복귀가 이루어진다(도 7의 (d)).
다시 도 3을 참조하면, 요청 처리기 122는 인터넷 방문 요청(Internet Visiting Request)을 가로 채고, 상기 요청을 다수의 데이터 인터페이스들 131-139로 분배한다. 이에 따라 요청된 데이터의 서로 다른 부분들이 서로 다른 데이터 인터페이스들 131-139를 통해 서로 다른 네트워크들 141-149로부터 수신된다. 예를 들어, 플랫폼 120이 애플리케이션 110으로부터 HTTP GET 요청을 수신할 때, 요청 처리기 122는 사용가능한 데이터 인터페이스들을 체크하고, 와이파이 및 셀룰라 데이터 인터페이스들이 모두 사용가능함을 확인한다. 요청 처리기 122는 인터페이스들 131-139 각각에 대한 소켓(socket)을 생성하고, HTTP GET 요청을 다수의 HTTP 레인지(range) 요청들로 분리하고, 소켓 바인드(socket bind)에 대한 레인지 요청들을 다수의 인터페이스들 131-139로 분배한다. 그러면 요청된 데이터의 부분들이 다수의 네트워크들 141-149로부터 다수의 인터페이스들 131-139에 수신된다. 예를 들어, 요청 처리기 122는 소켓 바인드(socket bind)에 대한 레인지 요청들을 와이파이 인터페이스 및 셀룰라 데이터 인터페이스로 분배한다. 그러면 요청된 데이터 부분들은 와이파이 무선 랜(LAN) 및 셀룰라 네트워크를 통해 동시에 수신된다.
데이터 관리기 124는 서로 다른 데이터 인터페이스들 131-139에 바인드된 서로 다른 소켓들로부터 수신된 데이터를 버퍼링하고 재조립한다. 데이터들은 다수의 네트워크들 141-149로부터 동시에 수신되기 때문에, 서로 다른 부분들의 데이터는 요청된 콘텐츠의 원래 시퀀스와 동일한 시퀀스로 도달되지 않을 수도 있다. 이에 따라 데이터 관리기 124는 수신된 데이터를 버퍼(도시하지 않음)에 푸시(push)하고, 버퍼링된 데이터를 요청된 콘텐츠의 원래 시퀀스와 동일한 시퀀스가 되도록 재조립한다. 애플리케이션 110이 응답한 콘텐츠를 요청할 때 데이터 관리기 124는 버퍼로부터 데이터를 폴링하고(poll), 그 데이터를 애플리케이션 110으로 리턴한다.
데이터 인터페이스들 131-139의 다운로드 속도는 다운로드 동안에 변화될 수 있다. 인터페이스 조정기 126은 각 데이터 인터페이스들 131-139의 다운로드 속도를 검출하고, 보다 나은 다운로드 속도 및 로드 밸런스(load balance)를 위해 데이터 인터페이스들 131-139 각각에 서로 다른 다운로딩 부분들을 할당한다.
도 9a 및 도 9b는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 동작의 처리 절차들을 보여주는 도면이다.
(S401)단계에서, 애플리케이션 110은 서버 150으로부터 특정 멀티미디어 서비스 데이터(또는 콘텐츠)를 다운로드하기 위한 요청을 플랫폼 120으로 송신한다. (S402)단계에서, 플랫폼 120의 요청 처리기 122는 애플리케이션 110으로부터의 요청이 수신됨에 응답하여 다중 레인지 요청들(Multiple Range Requests)(예; 3개의 레인지 요청들)을 생성하고, 이 다중 레인지 요청들을 서버 150으로 제공한다. 다중 레인지 요청들 각각은 도 9b에 도시된 바와 같이 해당하는 인터페이스 및 네트워크를 통해 서버 150으로 제공된다.
(S403)단계에서, 플랫폼 120의 데이터 관리기 124는 다중 레인지 요청들에 대응하는 다중 레인지 데이터(예; 3개의 레인지 데이터)를 서버 150으로부터 수신한다. 다중 레인지 데이터들 각각은 도 9b에 도시된 바와 같이 서버 150로부터 해당하는 네트워크 및 인터페이스를 통해 수신된다. (S404)단계에서, 플랫폼 120의 데이터 관리기 124는 수신된 데이터를 원래 시퀀스로 재조립한다. (S405)단계에서, 플랫폼 120의 데이터 관리기 124는 재조립된 데이터를 애플리케이션 110으로 제공한다.
위와 같은 다중 레인지 요청들은 멀티미디어 서비스 콘텐츠의 서로 다른 부분들이 다중 인터페이스들을 통해 수신되도록 한다. 본 발명의 다양한 실시예들에 따르면, 요청된 콘텐츠를 부분(chunk)들로 나누어서 서로 다른 데이터 인터페이스들을 통해 수신하도록 분배하는 다양한 알고리즘들이 제공된다.
제1 알고리즘(Best Effort Algorithm)은 전체의 다운로드 시간을 가장 빠르게 하기 위한 것이다. 전체 다운로드 시간은 매우 짧을 수 있지만, 다운로드 동안 속도는 일정하지 않고 변할 수 있다. 이 알고리즘은 파일의 다운로딩에 적합한데, 이는 도 11 내지 도 13에 도시된 실시예와, 도 14 내지 도 17c에 도시된 실시예에 해당한다. 도 14 내지 도 17c에 도시된 실시예는 도 11 내지 도 13에 도시된 실시예의 변형 예에 해당한다.
제2 알고리즘(Stable Speed Algorithm)은 전체의 다운로딩 구간에서 안정적인 다운로딩 속도를 달성하기 위한 것이다. 각 짧은 구간에서의 다운로딩 속도는 빈번하게 변하지 않을 수 있다. 그리고 전체 다운로드 속도는 단일의 인터페이스의 속도보다 많이 클 수 있지만, 최대의 달성가능한 속도는 아닐 수도 있다. 이 알고리즘은 안정적인 처리율을 요구하는 비디오/오디오 게임(playing) 및 다른 애플리케이션들에 적합한데, 이는 도 21 내지 도 24에 도시된 실시예에 해당한다.
도 10a 내지 도 10c는 본 발명의 다양한 실시예들에 따른 다중 무선 억세스 동작의 처리 흐름을 보여주는 도면들이다. 이 처리 흐름은 예를 들어, 도 2에 도시된 다중 인터페이스 처리기 120에 의해 수행될 수 있다.
도 10a를 참조하면, S450단계에서 다중 무선 억세스 기능이 설정되었는지 여부가 판단된다. 다중 무선 억세스 기능이 설정된 경우, S454단계에서 다중 인터페이스를 통한 콘텐츠 다운로드 동작이 수행된다. 반면에, 다중 무선 억세스 기능이 설정되지 않은 경우, S456단계에서 기본(default) 인터페이스로서의 단일 인터페이스를 통한 콘텐츠 다운로드 동작이 수행된다. 예를 들어, 다중 인터페이스는 WiFi 인터페이스와 LTE의 인터페이스의 2개 인터페이스를 포함할 수 있고, 이러한 경우 WiFi 인터페이스가 기본 인터페이스로 설정되고, LTE 인터페이스가 다른 인터페이스로 설정될 수 있다.
도 10b를 참조하면, S450단계에서 다중 무선 억세스 기능이 설정되었는지 여부가 판단된다. 다중 무선 억세스 기능이 설정된 경우, S452단계에서 다중 무선 억세스 기능의 사용이 적합한지 여부가 판단된다. 다중 무선 억세스 기능의 사용이 적합한 경우, S454단계에서 다중 인터페이스를 통한 콘텐츠 다운로드 동작이 수행된다. 반면에, 다중 무선 억세스 기능이 설정되지 않은 경우 또는 다중 무선 억세스 기능의 사용이 적합하지 않은 경우일, S456단계에서 기본 인터페이스로서의 단일 인터페이스를 통한 콘텐츠 다운로드 동작이 수행된다.
일 실시예에 따르면, 모바일 기기에서 와이파이 속도가 애플리케이션을 만족하는 경우는, 단지 와이파이 인터페이스만을 사용하여 데이터를 다운로드하여도 충분하기 때문에, 이러한 경우는 다중 무선 억세스 기능의 사용이 적합하지 않은 경우일 수 있다.
다른 실시예에 따르면, 요청된 콘텐츠가 매우 작은 경우 단지 와이파이 인터페이스만을 사용하여 데이터를 다운로드할 수 있기 때문에, 이러한 경우는 다중 무선 억세스 기능의 사용이 적합하지 않은 경우일 수 있다.
또 다른 실시예에 따르면, 다중 무선 억세스 기능의 사용이 적합하지 않은 경우는 서버가 다중 무선 억세스 기능을 지원하지 않는 경우를 포함할 수 있다. 서버가 다중 무선 억세스 기능을 지원하지 않는 경우는 HTTP 레인지 요청(Range Request)가 지원되지 않는 경우, HTTP 레인지 요청 사용시 서버의 특정 서명(signature)을 요구하는 경우, 사용자당 단 하나의 HTTP 세션만이 허용되는 경우, 서버가 특정 인터페이스로의 연결만을 지원하는 경우, 서버가 인터페이스 별로 다른 콘텐츠를를 전송하는 경우 중의 어느 하나를 포함할 수 있다.
도 10c를 참조하면, S450단계에서 다중 무선 억세스 기능이 설정되었는지 여부가 판단된다. 다중 무선 억세스 기능이 설정된 경우, S452단계에서 다중 무선 억세스 기능의 사용이 적합한지 여부가 판단된다. 다중 무선 억세스 기능의 사용이 적합한 경우, S454단계에서 다중 인터페이스를 통한 콘텐츠 다운로드 동작이 수행된다. 반면에, 다중 무선 억세스 기능이 설정되지 않은 경우 또는 다중 무선 억세스 기능의 사용이 적합하지 않은 경우일, S456단계에서 기본 인터페이스로서의 단일 인터페이스를 통한 콘텐츠 다운로드 동작이 수행된다.
한편 다중 인터페이스를 통한 콘텐츠 다운로드 동작의 수행 도중에 단일 인터페이스로의 전환이 필요한 것으로 판단되는 경우(S458)에는 S456단계로 진행하여 단일 인터페이스를 통한 콘텐츠 다운로드 동작이 수행된다. 일 실시예에서, 단일 인터페이스로의 전환이 필요한 경우는 다중 인터페이스를 통한 다운로드 중 두 인터페이스 사이의 속도 차이가 일정 비율(예: 4배 또는 5배) 이상 발생하는 경우를 포함한다.
도 11은 본 발명의 일 실시예에 따른 다중 무선 억세스 동작의 처리 절차를 보여주는 도면이다.
도 11을 참조하면, S501단계에서, 애플리케이션 110은 서버 150로부터 콘텐츠를 다운로드 하기 위한 요청(예를 들어 HTTP GET request)을 송신한다.
S502단계에서, 요청 처리기 122는 상기 요청을 가로 채고, 콘텐츠의 본문(body)이 아닌 콘텐츠의 정보만을 얻기 위한 헤더 요청(HEAD Rquest)을 송신한다. 예를 들어, HTTP의 경우, 요청 처리기 122는 HTTP HEAD 요청을 송신한다. 상기 헤드 요청은 서버 150로 송신된다.
S503단계에서, 요청 처리기 122는 서버 150으로부터의 HEAD 응답(Response)을 수신한다. 예를 들어, HTTP의 경우, 요청 처리기 122는 HTTP HEAD 응답을 수신한다.
S504단계에서, 요청 처리기 122는 HEAD 응답이 수신됨에 응답하여 애플리케이션 110으로 응답을 송신할 수도 있다. 이러한 응답은 요청한 콘텐츠가 확인되지 않거나 연결(connection)이 사용가능하지 않는 경우와 같이 적절한 HEAD 응답이 수신되지 않은 경우에 애플리케이션 110으로 제공된다. 이러한 경우 더 이상의 절차는 종료된다.
S505단계에서, 요청 처리기 122가 적절한 HEAD 응답을 수신하는 경우, 요청 처리기 122는 모든 사용가능한 데이터 인터페이스들을 확인하고, 각 데이터 인터페이스에 대한 소켓을 생성하고, 상기 생성된 소켓을 요청된 데이터를 제공하는 타겟 서버 150으로 연결한다. 예를 들어, 모바일 기기에서, 와이파이 무선 랜을 통한 서버 150으로의 연결을 위해 와이파이 인터페이스에 대한 소켓이 생성될 것이고, 3G/LTE 네트워크를 통한 서버 150로의 연결을 위해 셀룰라 데이터 인터페이스에 대한 소켓이 생성될 것이다.
S506단계에서, 소켓들이 생성된 이후에, 요청 처리기 122는 인터페이스 조정기 126에게 속도 체크를 시작하도록 통보한다.
S507단계에서, 후술되는 다운로딩 알고리즘들에 기초하여, 요청 처리기 122는 콘텐츠의 서로 다른 부분들을 얻기 위하여 각 소켓에서 레인지 요청을 송신한다. 예를 들어, HTTP의 경우, 요청 헤더의 "범위 또는 레인지(range)" 필드를 포함하는 HTTP 레인지 요청들을 서버 150으로 송신한다. 각 부분의 범위 및 크기는 후술되는 다운로딩 알고리즘에 의해 결정된다.
S508단계에서, 애플리케이션 110은 콘텐츠 데이터를 요청한다. 콘텐츠의 첫번째 부분이 수신될 때까지 이 동작은 계속된다.
S509단계에서, 레인지 요청의 응답으로서 레인지 데이터가 수신되는 경우, 데이터 관리기 124는 응답의 데이터를 읽어들이고 버퍼에 저장한다.
수신된 데이터는 서로 다른 소켓들로부터 동시에 수신되기 때문에, 데이터는 적절한 순서로 수신되지 않을 수도 있다. S510단계에서, 데이터 관리기 124는 요청된 콘텐츠의 원래 시퀀스와 동일한 시퀀스가 되도록 데이터를 재조립한다. S511단계에서, 데이터 관리기 124는 재조립된 데이터를 애플리케이션 110으로 리턴한다.
S512단계에서, 인터페이스 조정기 126은 인터페이스들의 다운로드 비율을 재계산한다. 각 데이터 인터페이스의 속도 비율이 변하는 것을 확인하였거나 또는 임의의 데이터 인터페이스가 활성화 또는 비활성화된 것으로 확인한 경우, 인터페이스 조정기 126은 후술되는 알고리즘에 따라 다운로드될 부분의 크기 및 범위를 재계산하고, 새로운 다운로드 부분의 크기 및 범위를 가지는 레인지 요청을 요청 처리기 122로 통보한다.
S513단계에서, 다운로드 부분의 크기 및 범위가 재계산되는지 여부와 관계없이, 하나의 소켓이 레인지 요청의 모든 응답한 데이터를 수신한 이후에, 요청 처리기 122는 다음의 다운로드 부분을 위해 다른 레인지 요청들을 서버 150으로 송신한다.
도 12는 본 발명의 일 실시예에 따른 다중 레인지 요청 동작의 처리 흐름을 보여주는 도면이다.
도 12를 참조하면, S601단계에서, 요청 처리기 122는 각 데이터 인터페이스들에 대한 소켓들을 생성한다. 소켓들이 생성되고 연결된 이후에, S602단계에서 요청 처리기 122는 각 소켓에 대한 레인지 요청을 송신한다. 이때 레인지 요청은 다운로드할 첫번째 부분을 나타내는 범위를 포함하며, 첫번째 부분은 작은 크기의 부분으로 설정될 수 있다.
S603단계에서 첫번째 부분의 첫번째 데이터가 다운로드된 것으로 확인되면, S604단계에서 인터페이스 조정기 126은 각 데이터 인터페이스들의 다운로드 속도를 추정하고, 다운로드 속도 비율에 따라 다운로드될 콘텐츠의 나머지 부분들을 각 데이터 인터페이스들에 대해 분할한다. 인터페이스 조정기 126은 콘텐츠의 나머지 부분들을 다음의 수학식 1과 같이 분할한다.
여기서 Pi는 데이터 인터페이스 소켓 i에 대한 다음에 다운로드될 부분의 크기이다. W는 요청한 전체 콘텐츠의 크기이고, N은 첫번째 부분의 크기이고, I는 사용가능한 데이터 인터페이스의 수이다. Si는 데이터 인터페이스 소켓 i에 대한 다운로드 속도이다. 예를 들어, 전체 콘텐츠가 100MB이고, 첫번째 부분의 크기가 5MB이고, 사용가능한 데이터 인터페이스의 수가 2인 경우, S602단계에서의 첫번째 범위의 요청에 따라 전체 100MB의 콘텐츠 중에서 2개의 인터페이스들을 통해 10MB(5MB*2)가 수신되었으므로, 콘텐츠의 나머지 부분 90MB를 추가적으로 다운로드할 필요가 있다. 이때 2개의 인터페이스들에 대한 전체 속도 SUM (Si) 대비 특정 인터페이스의 속도 Si의 비율에 따라, 다운로드될 콘텐츠의 나머지 90MB 중에 인터페이스 i를 통해 다운로드될 부분의 크기가 결정된다. 다운로드 속도 Si는 다음의 수학식 2에 의해 계산된다.
Bi는 검출 시간 T에서 데이터 인터페이스 소켓 i로부터 다운로드된 바이트들의 수를 나타낸다.
첫번째 부분의 경우, T는 모든 첫번째 부분들의 첫번째 하나의 콘텐츠를 다운로드하는 시간을 나타낸다. 다른 경우들에 있어서, T는 인터페이스 조정기 126이 속도를 검출하는 시간 간격을 나타낸다.
이후 S606 단계 내지 S610단계에서, 인터페이스 조정기 126은 각 데이터 인터페이스 소켓의 인터페이스 사용가능성을 검출하는 동작 및 다운로드 속도를 검출하는 동작을 수행한다. 다운로드 속도는 수학식 2에 의해 계산된다.
S607단계에서 하나의 인터페이스가 사용 가능하지 않은 것으로 확인된 경우, S608단계에서 인터페이스 조정기 126은 현재의 레인지 요청을 중지하고, 이 인터페이스를 통해 다운로드될 나머지 부분들을 수학식 1에 따라 분할하고, 이 부분들을 다른 동작하는 인터페이스들에 분배한다.
S607단계에서 새로운 인터페이스가 사용 가능하거나 비활성화되었던 인터페이스가 다시 사용 가능한 것으로 확인된 경우, S608단계에서 인터페이스 조정기 126은 모든 소켓들을 통한 계속된 전송을 중지하고, 나머지 콘텐츠를 다시 속도 비율에 따라 분할하고, 새로운 레인지 요청에 따라 다운로드를 시작한다.
인터페이스의 사용가능성은 데이터 처리율에 영향을 미치는 다운로드 속도, 신호 세기 및 임의의 다른 파라미터들에 의해 결정될 수 있다. 예를 들어, 만약 인터페이스의 다운로드 속도가 임계값보다 작다면, 인터페이스는 사용가능하지 않은 것으로 고려되어질 수 있다. 또는 무선 인터페이스의 수신신호세기(Received Signal Strength Indicator, RSSI)가 임계값보다 작다면, 인터페이스는 사용가능하지 않은 것으로 고려되어질 수 있다.
S610단계에서 인터페이스 조정기 126은 인터페이스들의 다운로드 속도비율이 변하는지 여부를 확인한다. 속도 비율은 다음과 수학식 3과 같이 변할 수 있다. 수학식 3은 데이터 인터페이스들의 속도비율이 많이 변화하여 현재 콘텐츠 분배가 적절하지 않음을 의미한다. 이러한 경우 인터페이스 조정기 126은 S608단계에서 소켓의 다운로딩을 중지하고, S604단계로 진행하여 나머지 콘텐츠를 수학식 1에 의해 새로운 속도 비율에 따른 비율로 분할한다.
여기서, Si0 및 Sj0은 현재의 부분 분할이 결정되었을 때 데이터 인터페이스 소켓 i,j의 다운로딩 속도이고, Sit 및 Sjt는 최근의 속도 검출에 의해 데이터 인터페이스 소켓 i,j의 다운로딩 속도이다.
도 13은 본 발명의 일 실시예에 따른 다중 레인지 요청 동작의 예를 보여주는 도면이다.
도 13을 참조하면, S701 구간에서는, 콘텐츠의 첫번째로 요청된 부분이 각 인터페이스로부터 다운로드되고, 속도 비율이 계산된다.
S702 구간에서는, 콘텐츠의 나머지 부분이 속도 비율에 따라 분할되고, 레인지 요청에 의해 각 인터페이스로부터 다운로드된다. 다운로딩 동안에, 제1 인터페이스(또는 기본 인터페이스)로부터의 데이터가 애플리케이션에 의해 읽혀지는 반면에, 제2 인터페이스(또는 다른 인터페이스)로부터의 데이터는 읽혀지지 않을 수도 있다. 왜냐하면, 제1 인터페이스를 통해 수신된 데이터의 범위와 제2 인터페이스를 통해 수신된 데이터의 범위 사이에서 존재하는 데이터가 아직 수신되지 않을 수 있기 때문이다. 이 기간 동안에, 애플리케이션이 데이터를 읽어들이는 속도는 인터페이스 0과 동일하다.
S703 구간에서는, 모든 데이터들이 다운로드되고, 애플리케이션은 메모리 버퍼로부터 데이터를 읽어들일 수 있다. 이 구간에서, 애플리케이션이 데이터를 읽어들이는 속도는 메모리 복사 속도만큼 매우 빠르다.
제1알고리즘(Best Effort Algorithm)은 도 11 내지 도 13과 관련된 실시 예처럼 데이터를 작은 조각으로 나누어 요청할 수도 있지만, 각 레인지 요청 전송 시 발생하는 초기 연결의 오버헤드를 최소화하기 위하여 전체 데이터를 인터페이스의 수만큼 분할하여 각 인터페이스별로 분배된 데이터가 수신되도록 할 수도 있다. 예를 들어, 인터페이스의 수가 기본 인터페이스와 다른 인터페이스의 2개인 경우 전체 데이터를 크게 앞부분과 뒷부분의 2개 부분으로 나누어서 수신이 이루어지도록 할 수 있다. 만약 분배된 어느 한 데이터의 부분이 다른 한 부분보다 먼저 다운로드가 완료된다면, 다른 한 부분의 나머지 데이터를 다시 한번 분할하여 동시 수신한다. 이 실시예는 도 14 내지 도 17c에 도시된 처리 절차 및 흐름과 관련이 있는데, 데이터를 순차적으로 요청하여 수신하는 다른 실시예들과 달리, 데이터를 비순차적으로 수신할 수 있다.
도 14는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작의 처리 절차를 보여주는 도면이다. 여기서는, 다중 레인지 요청 동작이 기본 인터페이스(default interface)와 다른 인터페이스(the other interface)의 2가지 인터페이스들에 의해 수행되는 예로서 설명된다.
도 14를 참조하면, S801단계에서, 애플리케이션 110은 서버 150로부터 콘텐츠를 다운로드 하기 위한 요청(예를 들어 HTTP GET request)을 송신한다.
S802단계에서, 요청 처리기 122는 상기 요청을 가로 채고, 전체 콘텐츠를 얻기 위한 요청(Full Request)을 서버 150으로 송신한다.
S803단계에서, 요청 처리기 122는 서버 150으로부터의 Full Request에 대한 응답 및 데이터(Response and Data)를 수신한다.
S804단계에서, 요청 처리기 122는 Full Request에 대한 응답 및 데이터를 애플리케이션 110으로 전달한다. 요청 처리기 122는 Full Request에 대한 응답을 수신함으로써 요청된 콘텐츠의 크기 및 레인지 요청 사용가능 여부를 확인할 수 있다. 요청하는 콘텐츠의 크기가 미리 정해진 크기 이상이고, 서버 150이 레인지 요청을 지원하는 것으로 확인된 경우, S805단계에서, 요청 처리기 122는 인터페이스 조정기(또는 Speed Watchdog) 126과의 연동을 통해, 현재 기본 인터페이스(default interface)를 통해 수신된 콘텐츠를 제외한 나머지 콘텐츠에 대해서 다른 인터페이스(the other interface)로 나눠 받을 뒷 부분의 크기(Chunk size)를 계산한다. 이러한 계산 동작은 후술될 수학식 4에 의해 수행될 수 있다.
S806단계에서, 요청 처리기 122는 다른 인터페이스를 통한, 상기 계산된 나머지 콘텐츠에 대한 뒷 부분의 크기에 해당하는 레인지 요청을 서버 150으로 전달한다.
데이터 관리기 122는 S807단계에서 레인지 요청에 대한 데이터를 서버 150으로부터 수신하고, S808단계에서 상기 수신된 데이터를 읽어 들이고 내부의 저장소(예; 버퍼)에 저장한다.
S809단계에서 요청 처리기 122는 S805단계에서 계산되어 서버 150으로 요청된 나머지 콘텐츠의 앞부분 및 뒷부분 중의 어느 한 부분에 대한 다운로드가 끝났는지 여부를 판단한다.
요청된 나머지 콘텐츠의 앞부분 및 뒷부분 중의 어느 한 부분에 대한 다운로드가 끝난 경우, S810단계에서 데이터 관리기 124는 다운로드된 데이터를 애플리케이션 110으로 전달한다.
전체 콘텐츠에 대한 다운로드가 끝나지 않은 것으로 판단되는 경우에는 S811단계 내지 S814단계에서 S805단계 내지 S808단계에서의 동작과 마찬가지의 동작이 나머지 다운로드되지 않은 콘텐츠에 대하여 반복적으로 수행된다.
전체 콘텐츠에 대한 다운로드가 끝난 것으로 판단되는 경우에는 S811단계 내지 S814단계에서의 동작이 수행되지 않을 수도 있다.
도 15는 본 발명의 다른 실시예에 따른 다중 레인지 요청 동작의 처리 흐름을 보여주는 도면이다. 여기서는, 다중 레인지 요청 동작이 기본 인터페이스(default interface)와 다른 인터페이스(the other interface)의 2가지 인터페이스들에 의해 수행되는 예로서 설명된다.
도 15를 참조하면, S901단계에서, 애플리케이션 110에서 HTTP 요청이 발생하면, 요청 처리기 122는 이 요청에 응답하여 기본 인터페이스에 대한 소켓을 생성한다. S902단계에서, 요청 처리기 122는 기본 인터페이스를 통해 서버 150으로 HTTP 요청을 전달한다. 이때 요청은 전체 콘텐츠에 대하여 요청하는 것이다.
S903 단계에서, 요청 처리기 122는 HTTP 요청에 대한 HTTP 응답을 수신함으로써 요청된 콘텐츠의 크기 및 레인지 요청 사용가능 여부를 확인한다. 요청하는 콘텐츠의 크기가 미리 정해진 크기 이상이고, 서버 150이 레인지 요청을 지원하는 경우, 요청 처리기 122는 인터페이스 조정기(또는 Speed Watchdog) 126으로 레인지 요청 범위 계산을 요청한다. 이때 기본 인터페이스는 계속 다운로드를 유지한다.
S904 단계에서, 인터페이스 조정기 126은 현재 기본 인터페이스(default interface)를 통해 수신된 콘텐츠를 제외한 나머지 콘텐츠에 대해서 다른 인터페이스(the other interface)로 나눠 받을 뒷 부분의 크기(Chunk size)를 결정한다. 이때 인터페이스 조정기 126은 다음의 수학식 4와 같이 두 인터페이스의 속도 비율(speed ratio, R)을 이용하여 다른 인터페이스로 나눠 받을 나머지 콘텐츠의 뒷 부분의 크기를 계산한다.
여기서, R = Speed of default interface / Speed of the other interface이다. 만약 측정된 속도 또는 이전 다운로드에서 얻은 속도 정보가 없다면, R=1로 결정되어 나머지 데이터의 1/2이 뒷부분의 크기로 결정된다.
S905 단계에서, 요청 처리기 122는 S904단계에서 결정된 Chunk size를 바탕으로 다른 인터페이스를 통해 HTTP 레인지 요청을 생성하여 서버 150으로 전달한다.
S906 단계에서, 나머지 콘텐츠의 앞부분 및 뒷부분 중의 어느 한 부분에 대한 다운로드가 끝난 것으로 판단되면, 데이터 관리기 124는 S907단계에서 다운로드된 콘텐츠를 애플리케이션 110에 전달하거나 내부의 저장소(예; 버퍼)에 임시로 저장한다. 예를 들어, 나머지 콘텐츠의 앞부분에 대한 다운로드가 끝난 경우, 데이터 관리기 124는 S907단계에서 다운로드된 콘텐츠의 앞부분을 애플리케이션 110에 전달한다. 다른 예로, 나머지 콘텐츠의 뒷부분에 대한 다운로드가 끝난 경우, 데이터 관리기 124는 다운로드된 나머지 콘텐츠의 뒷부분을 애플리케이션 110에 바로 전달될 수 없으므로, 전자 장치내의 저장소(예; 버퍼)에 임시로 저장한다.
만약 S908단계에서, 전체 콘텐츠에 대한 다운로드가 끝나지 않은 것으로 판단되는 경우, S904단계에서 인터페이스 조정기 126은 다운로드가 진행 중인 다른 부분을 분할하고, 이 분할된 뒷 부분이 다운로드를 마친 인터페이스에 의해 수신되도록 한다. 이때 분할 비율의 계산은 상기 수학식 4와 동일하게 수행되지만, 만약 특정 조건에 해당할 경우에는 인터페이스 조정기 126은 분할 동작을 수행하지 않는다. 예를 들어, 할당된 인터페이스를 통한 해당 콘텐츠 부분의 다운로드가 특정 시간 내에 마쳐질 것이 예정된 경우(예: 4초 이내 수신 완료 예정), 인터페이스 조정기 125은 더 이상의 분할 동작을 수행하지 않는다. 다른 예로, 남은 콘텐츠의 크기가 특정 크기(예: 1MB)보다 작은 경우, 인터페이스 조정기 125은 더 이상의 분할 동작을 수행하지 않는다.
S908단계에서, 전체 콘텐츠의 다운로드가 완료된 것으로 판단되는 경우, S909단계에서 요청된 콘텐츠에 대한 다운로드 동작은 완료된다.
앞서서 설명한 도 14에 도시된 처리 절차 및 도 15에 도시된 처리 절차에 따른 실시예는 다중 인터페이스 처리기 120이 전체 콘텐츠를 인터페이스의 수(예; 2개)만큼 분할하여 서버 150으로 요청하고, 각 인터페이스들이 자신에게 분배된 데이터를 수신함으로써 전체 콘텐츠에 대한 다운로드가 완료되는 예에 해당한다. 각 인터페이스들에 대해 다운로드될 콘텐츠를 분배하는 동작은 다운로드 진행 경과에 따라 도 16a 및 도 16b에 도시된 바와 같이 1회에 걸쳐 수행될 수도 있고, 도 17a 내지 도 17c에 도시된 바와 같이 2회에 걸쳐 수행될 수도 있다.
도 16a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작을 위한 다중 인터페이스 처리기의 처리 흐름의 일 예를 보여주는 도면이다.
도 16a를 참조하면, S1002단계에서 다중 인터페이스 처리기 120은 전체 콘텐츠에 대한 다운로드 요청 Full Request를 서버 150으로 전달한다. 이후에 도 14의 S803단계 및 S804단계와 같이 서버 150으로부터 다운로드 요청에 대한 응답이 수신되면, 다중 인터페이스 처리기 120은 다운로드될 나머지 콘텐츠를 각 인터페이스별로 분배하고, 해당하는 콘텐츠가 해당하는 인터페이스를 통해 다운로드되도록 레인지 요청을 서버 150으로 전달한다. 다중인터페이스 처리기 120은 S1012 단계에서 full request에 대한 응답을 수신하여 처리한다. 나머지 콘텐츠를 2개의 인터페이스들을 통해 다운로드되도록 분배하는 경우, S1014단계에서 인터페이스 처리기 120은 나머지 콘텐츠의 다른 부분(예; 뒷부분)이 다른 인터페이스로서 제2 인터페이스 132를 통해 다운로드되도록 레인지 요청을 서버 150으로 전달한다.
다중 인터페이스 처리기 120은 S1012단계 및 S1018단계에서 full request 및 레인징 요청에 대한 응답을 수신하여 처리한다. S1012단계에서 다중 인터페이스 처리기120은 full request 요청에 따라 수신되는 나머지 콘텐츠의 앞부분을 제1 인터페이스 131을 통해 서버 150으로부터 수신한다. S1014단계에서 요청된 나머지 콘텐츠의 다른 부분(예; 뒷부분)의 시작 전 부분까지 S1012단계에서 콘텐츠를 수신한 경우 수신을 멈춘다. S1018단계에서 다중 인터페이스 처리기120은 나머지 콘텐츠의 뒷부분에 대한 레인징 요청에 해당하는 나머지 콘텐츠의 뒷부분을 제2 인터페이스 132를 통해 서버 150으로부터 수신한다.
S1020단계에서 다중 인터페이스 처리기 120은 제1 인터페이스 131 및 제2 인터페이스 132를 통하여 다운로드된 나머지 콘텐츠를 애플리케이션 110으로 전달함으로써 모든 인터페이스들을 통한 다운로드 동작은 완료된다.
도 16b는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작에 의해 다운로드되는 콘텐츠들의 일 예를 보여주는 도면이다. 이 예는 도 16a에 도시된 처리 흐름에 따라 다운로드되는 결과적인 콘텐츠들이다.
도 16b를 참조하면, 다중 인터페이스 처리기 120은 전체 콘텐츠 중에서 초기 부분의 데이터가 S1052시간에 제1 인터페이스 131을 통해 다운로드되어 애플리케이션 110으로 전달되도록 처리하고, 나머지 콘텐츠의 앞부분 데이터가 S1054시간에 제1 인터페이스 131을 통해 다운로드되어 애플리케이션 110으로 전달되도록 처리한다. 또한, 다중 인터페이스 처리기 120은 전체 콘텐츠 중에서 나머지 콘텐츠의 뒷부분 데이터가 S1056시간에 제2 인터페이스 132를 통해 다운로드되어 내부의 저장소에 저장되도록 처리한다. 참조부호 S1050은 애플리케이션 120이 제1 인터페이스 131을 통해 다운로드된 데이터를 읽어들이는 시간으로 제 1인터페이스의 다운로드 시간과 같다. 참조부호 S1058은 애플리케이션 120이 제2 인터페이스 132를 통해 다운로드되어 저장된 데이터를 읽어들이는 시간이다.
위와 같이 다중 인터페이스를 통한 콘텐츠 다운로드 동작시 새로 맺어지는 세션의 수를 최소화하는 것이 바람직하다. 그러므로 새로 다운로드에 참여하는 인터페이스(예; 제2 인터페이스 132)는 나머지 콘텐츠의 뒷부분을 다운로드하며, 다운로드가 진행중인 인터페이스(예; 제1 인터페이스 131)는 새로운 세션을 생성하지 않고 나머지 콘텐츠의 앞부분에 대한 다운로드를 계속한다.
도 17a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작을 위한 다중 인터페이스 처리기의 처리 흐름의 다른 예를 보여주는 도면이다.
도 17a를 참조하면, S1102단계에서 다중 인터페이스 처리기 120은 전체 콘텐츠에 대한 다운로드 요청 Full Request를 서버 150으로 전달한다. 이후에 도 14의 S803단계 및 S804단계와 같이 서버 150으로부터 다운로드 요청에 대한 응답이 수신되면, 다중 인터페이스 처리기 120은 다운로드될 나머지 콘텐츠를 각 인터페이스별로 분배하고, 해당하는 콘텐츠가 해당하는 인터페이스를 통해 다운로드되도록 레인지 요청을 서버 150으로 전달한다. 다중인터페이스 처리기 120은 S1112 단계에서 full request에 대한 응답을 수신하여 처리한다. 나머지 콘텐츠를 2개의 인터페이스들을 통해 다운로드되도록 분배하는 경우, S1114단계에서 인터페이스 처리기 120은 나머지 콘텐츠의 다른 부분(예; 뒷부분)이 다른 인터페이스로서 제2 인터페이스 132를 통해 다운로드되도록 레인지 요청을 서버 150으로 전달한다.
다중 인터페이스 처리기 120은 S1112단계 및 S1118단계에서 full request 및 레인징 요청에 대한 응답을 수신하여 처리한다. S1112단계에서 다중 인터페이스 처리기120은 full request 요청에 따라 수신되는 나머지 콘텐츠의 앞부분을 제1 인터페이스 131을 통해 서버 150으로부터 수신한다. S1114단계에서 요청된 나머지 콘텐츠의 다른 부분(예; 뒷부분)의 시작 전 부분까지, S1112단계에서 콘텐츠를 수신한 경우 수신을 멈춘다. S1118단계에서 다중 인터페이스 처리기120은 나머지 콘텐츠의 뒷부분에 대한 레인징 요청에 해당하는 나머지 콘텐츠의 뒷부분을 제2 인터페이스 132를 통해 서버 150으로부터 수신한다.
S1120단계에서 다중 인터페이스 처리기 120은 제1 인터페이스 131 및 제2 인터페이스 132 중 어느 한 인터페이스를 통하여 다운로드가 완료되면, 나머지 다운로드될 콘텐츠를 각 인터페이스별로 재분배하고, 해당하는 콘텐츠가 해당하는 인터페이스를 통해 다운로드되도록 레인지 요청을 서버 150으로 전달한다. 나머지 콘텐츠를 2개의 인터페이스들을 통해 다운로드되도록 재분배하는 경우, S1122단계에서 인터페이스 처리기 120은 재분배된 나머지 콘텐츠의 다른 부분(예; 뒷부분)이 S1120단계에서 다운로드를 완료한 다른 인터페이스를 통해 다운로드되도록 레인지 요청을 서버 150으로 전달한다. 도 17a는 제 1 인터페이스 132가 먼저 다운로드를 마친 경우를 나타내는 것으로 S1122 단계에서 새로운 레인지 요청이 제 1 인터페이스 132를 통해 서버 150로 전달된다.
다중 인터페이스 처리기 120은 S1126단계에서 레인징 요청에 대한 응답을 수신하여 처리한다. S1126단계에서 다중 인터페이스 처리기120은 재분배된 나머지 콘텐츠의 뒷부분에 대한 레인징 요청에 해당하는 재분배된 나머지 콘텐츠의 뒷부분을 제1 인터페이스 131을 통해 서버 150으로부터 수신한다.
도 17b는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작에 의해 다운로드되는 콘텐츠들의 일 예를 보여주는 도면이다. 이 예는 도 17a에 도시된 처리 흐름에 따라 나머지 콘텐츠가 각 인터페이스별로 분배되어 다운될 시 제2 인터페이스에 의한 다운로드가 먼저 완료되는 경우를 나타낸다.
도 17b를 참조하면, 다운로드될 전체 콘텐츠 S1150 중에서 앞부분의 데이터 S1152 및 뒷부분의 데이터 S1154가 각각 제1 인터페이스 131 및 제2 인터페이스 132에 의해 나누어져 다운로드되도록 콘텐츠 S1150이 분배된 상태이다. 이러한 상태에서 제2 인터페이스 132에 의해 콘텐츠 S1150의 뒷부분의 데이터 S1154에 대한 다운로드가 먼저 완료되고, 제1 인터페이스 131에 의한 다운로드 동작은 계속되고 있는 상태이다. 그러면, 다중 인터페이스 처리기 120은 제1 인터페이스 131에 의해 다운로드되고 난 나머지의 콘텐츠 S1160이 각각 제1 인터페이스 131 및 제2 인터페이스 132에 의해 나누어져 다운로드되도록 콘텐츠 S1160을 재분배한다. 재분배된 콘텐츠 S1160의 앞부분 데이터 S1162는 제1 인터페이스 131에 의해 다운로드되고, 재분배된 콘텐츠 S1160의 뒷부분 데이터 S1164는 제2 인터페이스 132에 의해 다운로드된다.
도 17c는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작에 의해 다운로드되는 콘텐츠들의 일 예를 보여주는 도면이다. 이 예는 도 17a에 도시된 처리 흐름에 따라 나머지 콘텐츠가 각 인터페이스별로 분배되어 다운될 시 제1 인터페이스에 의한 다운로드가 먼저 완료되는 경우를 나타낸다.
도 17c를 참조하면, 다운로드될 전체 콘텐츠 S1150 중에서 앞부분의 데이터 S1152 및 뒷부분의 데이터 S1154가 각각 제1 인터페이스 131 및 제2 인터페이스 132에 의해 나누어져 다운로드되도록 콘텐츠 S1150이 분배된 상태이다. 이러한 상태에서 제1 인터페이스 131에 의해 콘텐츠 S1150의 앞부분의 데이터 S1152에 대한 다운로드가 먼저 완료되고, 제2 인터페이스 132에 의한 다운로드 동작은 계속되고 있는 상태이다. 그러면, 다중 인터페이스 처리기 120은 제2 인터페이스 132에 의해 다운로드되고 난 나머지의 콘텐츠 S1170이 각각 제1 인터페이스 131 및 제2 인터페이스 132에 의해 나누어져 다운로드되도록 콘텐츠 S1170을 재분배한다. 재분배된 콘텐츠 S1170의 앞부분 데이터 S1172는 제2 인터페이스 132에 의해 다운로드되고, 재분배된 콘텐츠 S1170의 뒷부분 데이터 S1174는 제2 인터페이스 132에 의해 다운로드된다.
도 18a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 수행되는 인터페이스 전환 처리 흐름의 일 예를 보여주는 도면이다. 이 처리 흐름은 예를 들어, 도 14, 도 15, 도 16a 또는 17a에 도시된 다중 인터페이스 처리기 120에 의해 수행될 수 있다.
도 18a를 참조하면, S1202단계에서 다중 인터페이스 처리기 120은 기본 인터페이스로서의 제1 인터페이스 131과 다른 인터페이스로서의 제2 인터페이스 132를 포함하는 2개의 인터페이스들을 통하여 다운로드 동작을 수행한다. S1204단계에서 다중 인터페이스 처리기 120은 다운로드 중 2개의 인터페이스들 사이의 속도 차이가 일정 비율 이상인지 여부를 판단한다. 즉, 다중 인터페이스 처리기 120은 제1 인터페이스 131의 다운로드 속도가 제2 인터페이스의 다운로드 속도보다 α배(여기서 α 는 실수) 이상인지 여부를 판단한다. 이러한 판단 동작은 다중 인터페이스 처리기 120의 인터페이스 조정기 126에 의해 수행될 수 있다. 제1 인터페이스 131의 다운로드 속도가 제2 인터페이스 132의 다운로드 속도보다 α배 이상인 경우 다중 인터페이스 처리기 120은 S1206단계에서 제2 인터페이스 132를 통한 다운로드 동작을 중지하고, S1208단계에서 속도가 빠른 제1 인터페이스 131만을 통하여 다운로드 동작이 수행되도록 전환한다. 예를 들어, 다중 인터페이스 처리기 120은 제1 인터페이스 131의 다운로드 속도가 제2 인터페이스 132의 다운로드 속도보다 4배 또는 5배 이상인 경우 속도 저하를 방지하기 위하여 제1 인터페이스 131만을 이용하도록 전환한다.
도 18b는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 수행되는 인터페이스 전환 처리 흐름의 일 예에 따라 다운로드되는 콘텐츠의 예를 보여주는 도면이다. 이 예는 도 18a에 도시된 처리 흐름에 따라 다운로드되는 콘텐츠를 나타낸다.
도 18b를 참조하면, 제1 인터페이스 131의 다운로드 속도가 제2 인터페이스 132의 다운로드 속도보다 크고, 속도 차이가 일정 비율 이상인 경우 제1 인터페이스 131로의 단일 인터페이스 전환이 이루어진다. 콘텐츠는 2부분으로 나누어져서 다운로드 되지만, 속도 차이를 확인한 시점까지 제2 인터페이스 132를 통하여 수신된 데이터는 무시되며, 제1 인터페이스 131이 데이터를 끝까지 수신하게 된다.
도 19a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 수행되는 인터페이스 전환 처리 흐름의 일 예를 보여주는 도면이다. 이 처리 흐름은 예를 들어, 도 14, 도 15, 도 16a 또는 17a에 도시된 다중 인터페이스 처리기 120에 의해 수행될 수 있다.
도 19a를 참조하면, S1302단계에서 다중 인터페이스 처리기 120은 기본 인터페이스로서의 제1 인터페이스 131과 다른 인터페이스로서의 제2 인터페이스 132를 포함하는 2개의 인터페이스들을 통하여 다운로드 동작을 수행한다. S1304단계에서 다중 인터페이스 처리기 120은 다운로드 중 2개의 인터페이스들 사이의 속도 차이가 일정 비율 이상인지 여부를 판단한다. 즉, 다중 인터페이스 처리기 120은 제1 인터페이스 131의 다운로드 속도가 제2 인터페이스의 다운로드 속도보다 β배(여기서 β는 실수) 이하인지 여부를 판단한다. 이러한 판단 동작은 다중 인터페이스 처리기 120의 인터페이스 조정기 126에 의해 수행될 수 있다. 제1 인터페이스 131의 다운로드 속도가 제2 인터페이스 132의 다운로드 속도보다 β배 이하인 경우 다중 인터페이스 처리기 120은 S1306단계에서 제1 인터페이스 132를 통한 다운로드 동작을 중지한다. 다중 인터페이스 처리기 120은 S1308단계에서 제2 인터페이스 132에서 새로운 세션을 추가 생성하고, S1310단계에서 속도가 빠른 제2 인터페이스 132만을 통하여 다운로드 동작이 수행되도록 전환한다. 예를 들어, 다중 인터페이스 처리기 120은 제1 인터페이스 131의 다운로드 속도가 제2 인터페이스 132의 다운로드 속도보다 1/4배 또는 1/5배 이하인 경우 속도 저하를 방지하기 위하여 제2 인터페이스 132만을 이용하도록 전환한다.
도 19b는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 수행되는 인터페이스 전환 처리 흐름의 일 예에 따라 다운로드되는 콘텐츠의 예를 보여주는 도면이다. 이 예는 도 19a에 도시된 처리 흐름에 따라 다운로드되는 콘텐츠를 나타낸다.
도 19b를 참조하면, 제1 인터페이스 131의 다운로드 속도가 제2 인터페이스 132의 다운로드 속도보다 작고, 속도 차이가 일정 비율 이상인 경우 제2 인터페이스 132로의 단일 인터페이스 전환이 이루어진다. 콘텐츠는 2부분으로 나누어져서 다운로드 되고 있다가, 속도 차이를 확인한 시점부터 제1 인터페이스 131을 통한 다운로드는 중지된다(S1322). 이전부터 진행되고 있던 제2 인터페이스 132의 다운로드 세션 #1은 유지되어 다운로드가 완료되고(S1324), 제2 인터페이스 132를 통해 새로운 세션 #2를 생성되어 제1 인터페이스 131이 수신하던 부분을 동시에 다운로드하게 된다(S1326).
도 20a는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 인터페이스가 끊어지는 경우 콘텐츠 다운로드 동작의 처리 흐름의 일 예를 보여주는 도면이다. 도 20b는 본 발명의 다른 실시예에 따른 다중 무선 억세스 동작시 인터페이스가 끊어지는 경우 콘텐츠 다운로드 동작의 처리 흐름의 다른 예를 보여주는 도면이다. 이 처리 흐름은 예를 들어, 도 14, 도 15, 도 16a 또는 17a에 도시된 다중 인터페이스 처리기 120에 의해 수행될 수 있다.
다중 무선 억세스 동작시 통신 가능한 영역(예; WiFi 영역)에서 벗어나는 경우와 같이 각 인터페이스가 끊어짐에 따라 각 인터페이스의 소켓의 연결이 유실될 경우 다른 인터페이스로 세션 핸드오버(session handover)를 하여 콘텐츠의 나머지 부분에 대한 다운로드 동작이 지속될 필요가 있다. 애플리케이션 110이 데이터를 직접 읽어가는 소켓은 메인 소켓(main socket)으로 명명될 수 있고, 저장소(예; 버퍼)에 데이터를 저장하는 소켓은 보조 소켓(the other socket)으로 명명될 수 있다.
도 20a를 참조하면, S1410단계에서 다중 인터페이스 처리기 120은 메인 소켓의 끊어짐을 판단한다. S1412단계에서 다중 인터페이스 처리기 120은 보조 소켓의 다운로드를 중지한다. S1414단계에서 다중 인터페이스 처리기 120은 보조 소켓이 메인 소켓이 수신중인 부분을 이어받도록 하다. S1416단계에서 다중 인터페이스 처리기 120은 보조 소켓이 이어받기를 완료한 후 자신의 다운로드를 이어받도록 한다. 메인 소켓은 데이터의 앞부분을 다운로드하는 소켓으로 해당 소켓이 유실될 경우 사용자는 다운로드가 멈췄다고 느낄 수 있다. 그러므로 메인 소켓이 유실될 경우, 보조 소켓이 자신이 다운로드하던 부분을 멈추고 메인 소켓이 수신 중이던 앞부분을 이어서 받는다.
도 20b를 참조하면, S1420단계에서 다중 인터페이스 처리기 120은 보조 소켓의 끊어짐을 판단한다. S1422단계에서 다중 인터페이스 처리기 120은 메인 소켓이 다운로드를 완료하였는지 여부를 판단한다. 메인 소켓이 다운로드를 완료한 경우, S1424단계에서 다중 인터페이스 처리기 120은 메인 소켓이 보조 소켓이 수신 중이었던 부분을 이어받도록 처리한다. 보조 소켓은 데이터의 뒷부분을 다운로드 하는 소켓으로 데이터를 저장소에 저장하고 있으므로 연결이 유실되어도 사용자가 다운로드가 멈추었다고 느끼지 않는다. 그러므로 메인 소켓이 자신의 부분의 다운로드를 완료한 후 보조 소켓이 다운로드한 데이터를 이어서 받는다.
도 21은 본 발명의 또 다른 실시예에 따른 전자 장치에 의한 다중 무선 억세스 동작의 처리 절차를 보여주는 도면이다.
도 21을 참조하면, S1501단계에서, 애플리케이션 110은 서버 150로부터 콘텐츠를 다운로드 하기 위한 요청(예를 들어 HTTP GET request)을 송신한다.
S1502단계에서, 요청 처리기 122는 상기 요청을 가로 채고, 콘텐츠의 본문(body)이 아닌 콘텐츠의 정보만을 얻기 위한 헤더 요청(HEAD Request)을 송신한다. 예를 들어, HTTP의 경우, 요청 처리기 122는 HTTP HEAD 요청을 송신한다. 상기 헤드 요청은 서버 150로 송신된다.
S1503단계에서, 요청 처리기 122는 서버 150으로부터의 HEAD 응답(Response)을 수신한다. 예를 들어, HTTP의 경우, 요청 처리기 122는 HTTP HEAD 응답을 수신한다.
S1504단계에서, 요청 처리기 122는 HEAD 응답이 수신됨에 응답하여 애플리케이션 110으로 응답을 송신할 수도 있다. 이러한 응답은 요청한 콘텐츠가 확인되지 않거나 연결(connection)이 사용가능하지 않는 경우와 같이 적절한 HEAD 응답이 수신되지 않은 경우에 애플리케이션 110으로 제공된다. 이러한 경우 더 이상의 절차는 종료된다.
S1505단계에서, 요청 처리기 122가 적절한 HEAD 응답을 수신하는 경우, 요청 처리기 122는 모든 사용가능한 데이터 인터페이스들을 확인하고, 각 데이터 인터페이스에 대한 소켓을 생성하고, 상기 생성된 소켓을 요청된 데이터를 제공하는 타겟 서버 150으로 연결한다. 예를 들어, 모바일 기기에서, 와이파이 무선 랜을 통한 서버 150으로의 연결을 위해 와이파이 인터페이스에 대한 소켓이 생성될 것이고, 3G/LTE 네트워크를 통한 서버 150로의 연결을 위해 셀룰라 데이터 인터페이스에 대한 소켓이 생성될 것이다.
S1506단계에서, 후술되는 다운로딩 알고리즘들에 기초하여, 요청 처리기 122는 콘텐츠의 서로 다른 부분들을 얻기 위하여 각 소켓에서 레인지 요청을 송신한다. 예를 들어, HTTP의 경우, 요청 헤더의 "범위 또는 레인지(range)" 필드를 포함하는 HTTP 레인지 요청들을 서버 150으로 송신한다. 각 부분의 범위 및 크기는 후술되는 다운로딩 알고리즘에 의해 결정된다.
S1507단계에서, 레인지 요청의 응답으로서 레인지 데이터가 수신되는 경우, 데이터 관리기 124는 응답의 데이터를 읽어들이고 버퍼에 저장한다.
수신된 데이터는 서로 다른 소켓들로부터 동시에 수신되기 때문에, 데이터는 적절한 순서로 수신되지 않을 수도 있다. S1508단계에서, 데이터 관리기 124는 요청된 콘텐츠의 원래 시퀀스와 동일한 시퀀스가 되도록 데이터를 재조립한다. S1509단계에서, 데이터 관리기 124는 재조립된 데이터를 애플리케이션 110으로 리턴한다.
S1510단계에서, 인터페이스 조정기 126은 인터페이스들의 사용가능성을 체크하고, 체크 결과를 요청 처리기 122로 통보한다.
S1511단계에서, 인터페이스들의 사용가능성에 따라, 요청 처리기 122는 다음의 다운로드 부분을 위해 다른 레인지 요청들을 서버 150으로 송신한다.
도 22는 본 발명의 또 다른 실시예에 따른 전자 장치에 의한 다중 레인지 요청 동작의 처리 흐름을 보여주는 도면이다.
도 22를 참조하면, S1601단계에서, 요청 처리기 122는 각 데이터 인터페이스들에 대한 소켓들을 생성한다. 소켓들이 생성되고 연결된 이후에, S1602단계에서 요청 처리기 122는 각 소켓에 대한 레인지 요청을 송신한다. 이때 소켓들에 대한 레인지 요청은 고정된 크기의 부분을 다운로드하기 위한 범위를 포함하도록 설정될 수 있다.
S1604단계에서 임의의 부분이 다운로딩이 완료된 것으로 확인되면, 요청 처리기 122는 S1605단계에서 다운로드될 다음의 부분을 계산하고, S1605단계에서 다음의 부분에 대한 레인지 요청을 송신한다. 다운로드될 다음의 부분을 계산하는 동작은 S1610단계에서 임의의 인터페이스가 사용 가능한 것으로 확인되는 경우에 수행된다. 다운로드될 다음의 부분은 다음의 수학식 5에 의해 계산된다.
여기서, N은 다운로드될 부분의 인덱스이고, PL은 고정된 부분의 크기이고, L은 다운로드될 전체 콘텐츠의 길이이다.
이후 S1603단계 및 S1607단계 - S1610단계에서, 인터페이스 조정기 126은 각 데이터 인터페이스 소켓에 대한 인터페이스 사용가능성을 검출하는 동작을 계속한다.
S1607단계에서 하나의 인터페이스가 사용가능하지 않은 것으로 확인되는 경우, S1608단계에서 인터페이스 조정기 126은 이 인터페이스에서의 다운로딩을 중지하고, 이 인터페이스를 통해 다운로드될 나머지 콘텐츠를 다운로드될 다음 부분으로 설정한다. 그러면 사용가능한 다른 인터페이스가 자신에게 요청된 부분의 다운로딩을 완료할 때마다 다운로딩이 중지된 인터페이스를 통해 다운로드될 나머지 콘텐츠도 다운로드된다.
S1610단계에서 인터페이스 조정기 126에 의해 임의의 새로운 인터페이스가 사용가능한 것으로 확인되는 경우, 요청 처리기 122는 S1605단계에서 다운로드될 다음 부분을 수학식 5에 따라 계산하고, S1606단계에서 이렇게 계산된 다음 부분에 대한 레인지 요청을 송신함으로써 사용가능한 인터페이스를 통해 다운로드한다.
인터페이스의 사용가능성은 데이터 처리율에 영향을 미치는 다운로드 속도, 신호 세기 및 임의의 다른 파라미터들에 의해 결정될 수 있다. 예를 들어, 만약 인터페이스의 다운로드 속도가 임계값보다 작은 경우, 인터페이스는 사용가능하지 않은 것으로 고려되어질 수도 있다. 또는 무선 인터페이스의 RSSI가 임계값보다 작은 경우, 인터페이스는 사용가능하지 않은 것으로 고려되어질 수도 있다.
도 23은 본 발명의 또 다른 실시예에 따른 전자 장치에 의한 다중 레인지 요청 동작의 예를 보여주는 도면이다. 이 도면은 도 23에 도시된 알고리즘에 따라 2개의 인터페이스들이 다운로드하는 예를 도시하고 있다. 예를 들어, 셀룰라(LTE) 인터페이스와 와이파이 인터페이스가 사용가능한 경우, 도 23에 도시된 알고리즘에 따라 고정된 크기의 부분들이 셀룰라(LTE) 인터페이스와 와이파이 인터페이스를 통해 다운로드된다. 콘텐츠의 [0~(PL-1)] 부분은 와이파이 인터페이스를 통해 다운로드되고, 콘텐츠의 [PL~(2PL-1)] 부분은 LTE 인터페이스를 통해 다운로드되고, 콘텐츠의 [2PL~(3PL-1)] 부분은 와이파이 인터페이스를 통해 다운로드되고, 콘텐츠의 [3PL~(4PL-1)] 부분은 LTE 인터페이스를 통해 다운로드되고, 콘텐츠의 [4PL~(5PL-1)] 부분은 와이파이 인터페이스를 통해 다운로드되고, 콘텐츠의 [5PL~(6PL-1)] 부분은 와이파이 인터페이스를 통해 다운로드되고, 콘텐츠의 [6PL~(7PL-1)] 부분은 LTE 인터페이스를 통해 다운로드되고, 콘텐츠의 [7PL~(8PL-1)] 부분은 와이파이 인터페이스를 통해 다운로드되고, 콘텐츠의 [8PL~(L-1)] 부분은 LTE 인터페이스를 통해 다운로드된다. LTE 인터페이스와 와이파이 인터페이스에서 다운로드되는 콘텐츠의 부분들은 고정된 크기 PL을 가지지만, 인터페이스의 다운로드 속도에 따라 다운로드되는 시간에 있어서는 차이가 있음을 알 수 있다.
도 24는 본 발명의 다른 실시예에 따른 전자 장치에 의한 다중 레인지 요청 동작에 따른 처리율을 보여주는 도면이다. 이 도면은 도 22에 도시된 알고리즘에 따라 콘텐츠를 다운로드하는 경우에 다운로드의 짧은 구간에서의 다운로딩 속도가 유사하며 크게 변하지 않음을 나타낸다. 이는 콘텐츠의 다운로드에 있어서 도 22에 도시된 바와 같은 알고리즘이 안정적인 처리율을 제공함을 나타낸다.
전술한 본 출원의 일 실시예 및 다른 실시예에 따르면, 전자 장치에서 애플리케이션을 실행하는 경우 해당하는 콘텐츠를 다중 데이터 인터페이스들을 통해 동시에 다운로드함으로써 고속의 다운로드를 달성할 수 있다. 예를 들어, 모바일 기기에서는 와이파이 인터페이스 및 LTE 데이터 인터페이스를 동시에 활성화하여 서버로부터의 콘텐츠를 고속으로 다운로드할 수 있다. 본 출원의 일 실시예의 경우, 다운로딩 속도는 와이파이 및 LTE 속도를 합한 결과에 도달할 수 있다. 본 출원의 다른 실시예의 경우, 다운로딩 속도는 와이파이 및 LTE 속도를 합한 결과의 85%에 도달할 수 있지만, 안정적인 처리율을 보장할 수 있다.
이와 같이 본 출원의 일 실시예 및 다른 실시예에 따르면, 높은 네트워크 처리율을 달성하기 위하여, 모바일 기기들은 모든 사용가능한 데이터 인터페이스들을 동시에 활성화할 수 있고, 그에 따라 애플리케이션들은 각 사용가능한 데이터 인터페이스를 통한 연결을 생성할 수 있다. 그러나 이러한 처리 동작이 모든 경우들에 반드시 필요하지 않을 수도 있다. 첫번째 경우는 애플리케이션이 작은 크기의 파일을 요청하는 경우이다. 예를 들어, 사용자가 웹 페이지를 브라우징할 때, 각 HTTP 요청은 단지 10~100 KB의 콘텐츠를 얻을 수 있다. 이러한 경우 사용가능한 각 인터페이스에서 소켓을 생성하기 위한 시간 오버헤드는 속도를 저하시키는 요인이다. 두번째 경우는 애플리케이션이 낮은 속도의 소켓 데이터를 읽어들이는 경우이다. 예를 들어, 사용자가 낮은 비트 레이트의 비디오를 시청하는 경우이다. 이러한 경우 하나의 데이터 인터페이스의 속도가 애플리케이션을 만족할 수도 있다. 다른 인터페이스들을 열어서 사용하는 것은 사용자에게 혜택을 주는 것이 아닐 뿐만 아니라 더 많은 전력을 소모하는 요인이며, 또한 셀룰라 네트워크를 통한 데이터 사용에 따라 더 많은 비용을 소모하는 요인이다. 이와 같이 모든 경우들에서 다중 인터페이스들을 사용한다면, 이는 에너지 측면에서 뿐만 아니라 경제적인 측면에서도 낭비일 것이다. 따라서, 전자 장치가 단지 필요할 때에만 다중 인터페이스 전송을 활성화할 수 있도록 하는 메커니즘이 제공될 필요가 있다.
본 출원의 또 다른 실시예는 전자 장치들이 다중 인터페이스들을 사용할지 여부를 스마트하게 결정할 수 있도록 한다. 이에 따라 모바일 기기는 다중 인터페이스들을 사용하지 않는 경우에는 전력 소모 및 셀룰라 네트워크를 통한 데이터 사용을 줄일 수 있으며, 다중 인터페이스들을 사용하는 경우에는 이를 통한 고속 전송을 가능하게 한다.
도 25는 본 발명의 또 다른 실시예에 따른 다중 무선 억세스를 위한 전자 장치의 블록 다이아그램을 보여주는 도면이다. 전자 장치 100은 애플리케이션 관리기 105, 다중 인터페이스 처리기 120, 다수의 인터페이스들 131-139를 포함한다.
애플리케이션 관리기 105는 전자 장치 100에 설치된 애플리케이션들을 단일 인터페이스 애플리케이션 그룹 105A와, 다중 인터페이스 애플리케이션 그룹 105B로 구분하여 관리한다. 애플리케이션이 인스톨된 경우 또는 인스톨된 후에, 애플리케이션은 그룹들 중의 하나로 설정될 수 있다. 예를 들어, Google Talk와 같은 채팅 툴(chatting tools)은 커다란 크기의 콘텐츠를 수신할 필요가 없기 때문에, 이 애플리케이션은 단일의 인터페이스 애플리케이션 그룹 105A로 설정될 수 있다.
단일 인터페이스 애플리케이션 그룹 105A에 속하는 애플리케이션이 실행되고 콘텐츠가 요청되는 경우, 애플리케이션 관리기 105는 상기 요청을 단일의 인터페이스 131로 송신한다. 상기 요청은 단일의 인터페이스 131 및 대응하는 네트워크 141을 거쳐 서버 150으로 송신되고, 이에 응답하여 서버 150은 해당하는 콘텐츠를 네트워크 141 및 인터페이스 131을 거쳐 단일 인터페이스 애플리케이션 그룹 105의 해당 애플리케이션으로 제공한다. 단일의 인터페이스 131은 단일의 인터페이스 애플리케이션 그룹 105A에 속하는 애플리케이션이 인터넷(서버 105)의 방문을 요청하는 경우, 사용되는 디폴트의 사용가능한 인터페이스이다.
다중 인터페이스 애플리케이션 그룹 105B에 속하는 애플리케이션이 실행되고 콘텐츠가 요청되는 경우, 애플리케이션 관리기 105는 상기 요청을 다중 인터페이스 처리기 120으로 송신한다. 다중 인터페이스 처리기 120은 상기 요청에 응답하여 다중 요청들을 생성한다. 각 다중 요청은 해당하는 인터페이스들 131-139 및 대응하는 네트워크들 141-149를 거쳐 서버 150으로 송신된다. 이에 응답하여 서버 150은 해당하는 콘텐츠를 네트워크들 141-149 및 인터페이스들 131-139를 거쳐 다중 인터페이스 애플리케이션 그룹 105B의 해당 애플리케이션으로 제공한다.
이와 같이 다중 인터페이스 애플리케이션 그룹 105B에 속하는 애플리케이션이 인터넷의 방문을 요청하는 경우, 이 요청은 모바일 기기의 프레임워크(framework)에 의해 다중 인터페이스 처리기 120으로 송신된다.
다중 인터페이스 처리기 120은 앱 요청 크기(APP Request Size) 데이터베이스(DB) 120A 및 인터페이스 제어기 120B를 포함한다. 앱 요청 크기 DB 120A는 각 애플리케이션이 요청한 콘텐츠의 크기의 히스토리를 기록하는 자체 학습의 데이터베이스(self-learning database)이다. 이 데이터베이스 120A는 애플리케이션이 인터넷을 통해 데이터를 송신 및 수신하기 위하여 다중 인터페이스들을 사용할 필요가 있는지 여부를 결정함에 있어서 도움을 준다.
네트워크 방문 요청이 다중 인터페이스 처리기에 의해 수신될 때, 인터페이스 제어기 120B는 앱 요청 크기 DB 120A의 기록을 기준으로 하여 다중 인터페이스의 사용 여부를 결정한다. 또한, 애플리케이션이 데이터를 수신하는 동안에, 인터페이스 제어기 120B는 인터페이스 소켓 속도와 애플리케이션의 수신 속도 사이의 비교 결과를 기준으로 하여 다중 인터페이스의 사용 여부를 결정한다.
위에서 살펴본 다중 인터페이스 처리기 120은 다중 인터페이스의 전송을 사용할지 여부를 결정한다. 콘텐츠를 요청하는 애플리케이션이 다중 인터페이스 애플리케이션 그룹 105B로 설정되어 있는 경우, 다중 인터페이스 처리기 120은 애플리케이션으로부터의 인터넷 방문 요청을 가로챈다. 이러한 경우 다중 인터페이스 애플리케이션을 사용할 가능성이 있다. 만약 앱 요청 크기 DB 120A에 기록된 요청 콘텐츠 크기의 히스토리가 큰 경우, 다중 인터페이스를 통한 전송을 시작하고, 그렇지 않은 경우 단일 인터페이스를 통한 전송을 시작한다. 전송 동안에 인터페이스 제어기 120B는 인터페이스들을 동적으로 조정한다.
도 26은 본 발명의 또 다른 실시예에 따른 다중 무선 억세스 동작이 설정되어 있는지 여부를 결정하는 처리 흐름을 보여주는 도면이다. 이러한 흐름에 따라, 설정된 애플리케이션 그룹이 확인되며 확인 결과에 따라 다중 인터페이스 전송을 사용할지 여부가 결정된다. 애플리케이션 그룹은 애플리케이션이 인스톨되는 동안에 또는 인스톨된 후에 애플리케이션 사용자, 애플리케이션 제공자 또는 모바일 기기의 프레임워크에 의해 설정될 수 있다. 애플리케이션 사용자는 도 27a 및 도 27b에 도시된 바와 같은 사용자 화면을 통해 애플리케이션들을 설정할 수 있다.
일 예로, 애플리케이션들은 도 27a에 도시된 바와 인터페이스 애플리케이션 그룹 설정 환경하에서 단일 인터페이스 애플리케이션 그룹 또는 다중 인터페이스 애플리케이션 그룹으로 설정될 수 있다. App1 및 App2는 단일 인터페이스 애플리케이션 그룹으로 설정될 수 있고, App3 및 App4는 다중 인터페이스 애플리케이션 그룹으로 설정될 수 있다. 다른 예로, 도 14b에 도시된 바와 애플리케이션 별 설정 환경에서 애플리케이션의 인터페이스가 설정될 수 있다. App XYZ에 대해서 단일의 인터페이스로서 와이파이 인터페이스 또는 셀룰라 인터페이스가 설정될 수 있다. 이와 달리, App XYZ에 대해서 다중 인터페이스로서 와이파이 인터페이스 및 셀룰라 인터페이스가 동시에 설정될 수 있다. 애플리케이션에 대한 단일 인터페이스 또는 다중 인터페이스의 설정을 사용자 화면을 통해 설정하는 예로 설명하였지만, 음성 메시지를 통해 설정할 수도 있다.
다시 도 26을 참조하면, 애플리케이션 관리기 105는 S1702단계에서 특정 애플리케이션으로부터 인터넷 방문 요청이 수신될 때, S1704단계에서 애플리케이션의 특성을 확인한다. 만약 애플리케이션이 단일 인터페이스 그룹과 관련이 있는 것으로 S1706단계에서 확인되면, 애플리케이션 관리기 105는 S1708단계에서 1번째 우선순위의 인터페이스를 사용한다. 즉, 애플리케이션 관리기 105는 수신된 요청을 1번째 우선순위의 인터페이스로 송신한다. 1번째 우선순위의 인터페이스는 모바일 기기에 의해 고정적으로 사용될 수 있다. 예를 들어, 와이파이를 통한 전송에 사용료가 없기 때문에, 1번째 우선순위의 인터페이스로 와이파이 인터페이스가 사용될 수 있다.
이와 달리 애플리케이션이 다중 인터페이스 그룹과 관련이 있는 것으로 S1706단계에서 확인되면, 애플리케이션 관리기 105는 S1710단계에서 수신된 요청을 다중 인터페이스 처리기 120으로 전달한다.
도 28은 도 25에 도시된 요청 크기 데이터베이스(DB) 120A에 대한 구성의 일 예를 보여주는 도면이다. 앱 요청 크기 DB 120A는 각 애플리케이션에 대한 테이블을 포함한다. 테이블에는 요청된 콘텐츠의 크기의 횟수가 크기의 범위(size scope) 및 시간 구간(time period)별로 기록된다. 예를 들어, 시간 구간이 하루 단위라면, 매일 요청된 콘텐츠의 크기가 [0~S1]의 범위에 있는지, [S1~S2]의 범위에 있는지 등이 기록된다. 시간 구간별 기록이 오래되면, 테이블로부터 그 기록은 제거될 수 있다. 이와 같이 기록된 정보로부터 요청된 콘텐츠의 크기가 어느 정도인지, 요청 빈도 등을 알 수 있게 된다.
도 29는 본 발명의 또 다른 실시예에 따른 다중 무선 억세스 동작의 사용 여부를 결정하는 처리 흐름을 보여주는 도면이다. 이 도면은 요청된 콘텐츠를 얻기 위하여 다중 인터페이스들을 사용할지 여부를 결정하는 도 25에 도시된 인터페이스 제어기 120에 의한 절차를 도시한다.
도 29를 참조하면, S1802단계에서, 애플리케이션으로부터 요청이 수신되는 경우, 인터페이스 제어기 120B는 S1804단계에서 앱 요청 크기 DB 120A로부터 작은 크기의 요청 비율의 히스토리(History Small Request Ratio)를 가져온다. 작은 크기의 요청 비율의 히스토리는 임계값보다 작은 크기의 콘텐츠를 가져온 요청들의 히스토리에 대한 퍼센티지이다. 이는 다음의 수학식 6에 의해 계산되어질 수 있다.
여기서, 크기의 임계값(Threshold)은 인터페이스 제어기 120B에 의해 정의될 수 있는 동적인 값이고, 그 값은 모바일 기기의 네트워크 속도에 의존한다. 예를 들어, 임계값은 모바일 기기의 와이파이 인터페이스를 통해 수백 밀리초에 다운로드될 수 있는 바이트의 수가 될 수 있다.
만약 S1806단계에서 History Small Request Ratio가 임계값보다 큰 것으로 확인되는 경우, 인터페이스 제어기 120B는 S1814단계에서 단일의 인터페이스를 사용하는 것으로 결정한다. 1번째 우선순위의 인터페이스가 사용될 수 있으며, 1번째 우선순위의 인터페이스가 사용가능하지 않은 경우에는 다른 인터페이스가 사용될 수 있다. 예를 들어, 요청된 콘텐츠 히스토리의 90%가 100KB보다 작다면, 이는 현재의 요청 콘텐츠가 또한 작은 크기의 콘텐츠일 가능성이 크다는 것을 의미하는데, 이러한 경우에는 단일의 인터페이스를 사용하여 전송을 시작한다.
만약 S1806단계에서 History Small Request Ratio가 임계값보다 크지 않은 것으로 확인되는 경우, 인터페이스 제어기 120B는 S1808단계에서 다중 인터페이스의 사용이 가능한지 여부를 확인한다. S1808단계에서 단지 하나의 인터페이스가 사용가능한 것으로 확인되면, 인터페이스 제어기 120B는 S1810단계에서 사용가능한 인터페이스만을 사용하고, 주기적으로 다른 사용가능한 인터페이스가 있는지를 확인한다.
만약 S1808단계에서 다중 인터페이스가 사용가능한 것으로 확인되면, 인터페이스 제어기 120B는 S1812단계에서 다중 인터페이스를 사용한다. 즉, 다중 인터페이스를 활성화하고, 다중 인터페이스를 통한 전송을 시작한다.
다중 인터페이스가 사용가능하더라도 특정 인터페이스를 사용함에 따라 요금이 발생할 수 있으므로, 다중 인터페이스를 사용할지 여부를 사용자에게 문의할 수도 있다. 일 예로, 도 30에 도시된 바와 같이 사용자 화면을 통해 문의할 수 있다. 다른 예로, 음성 메시지로서 다중 인터페이스의 사용 여부를 문의할 수도 있다.
다중 인터페이스를 통한 전송 도중에 S1816단계 및 S1818단계에서 인터페이스 제어기 120B는 애플리케이션 리드 속도(Application Read Speed) S1과 1번째 우선순위의 인터페이스의 소켓 수신 속도(Socket Receiving Speed) S2를 주기적으로 체크한다. 애플리케이션 리드 속도 S1은 다중 인터페이스 처리기 120의 데이터 버퍼(도시하지 않음)로부터 애플리케이션이 데이터를 읽어들이는 속도이다. 1번째 우선순위의 인터페이스의 소켓 수신 속도 S2는 1번째 우선순위의 인터페이스로부터 수신되는 데이터의 속도이다.
만약 S1818단계에서 S1이 S2보다 작은 것으로 확인될 수 있다. 이러한 경우는 애플리케이션이 버퍼로부터 느리게 데이터를 읽어들이고, 1번째 우선순위의 인터페이스가 애플리케이션을 만족시키는 것을 의미한다. 이러한 경우 인터페이스 처리기120은 S1814단계로 진행하여 다중 인터페이스 전송을 비활성화시키고, 단지 하나의 1번째 우선순위의 인터페이스를 사용하여 콘텐츠를 다운로드한다.
이와 달리 S1818단계에서 S1이 S2보다 작지 않은 것으로 확인될 수 있다. 이러한 경우는 애플리케이션이 버퍼로부터 빠르게 데이터를 읽어들이고, 1번째 우선순위의 인터페이스가 애플리케이션을 만족시킬 수 없다는 것을 의미한다. 이러한 경우 인터페이스 처리기 120은 다중 인터페이스 전송을 활성화시킨다.
전술한 본 출원의 또 다른 실시예에 따르면, 다중 인터페이스 전송은 단지 필요한 경우에만 활성화된다. 모바일 기기에서 만약 와이파이 속도가 애플리케이션을 만족한다면, 단지 와이파이 데이터 인터페이스만을 사용하여 데이터를 다운로드하여도 충분하다. 또한, 요청된 콘텐츠가 매우 작다면, 와이파이 인터페이스를 사용가능한 경우 단지 와이파이 데이터 인터페이스만을 사용하여 데이터를 다운로드할 수 있다. 이와 달리 와이파이 속도가 애플리케이션을 만족하지 못한다면, 셀룰라 데이터 인터페이스를 또한 활성화시키고, 와이파이 및 셀룰라 데이터 인터페이스를 통해 동시에 데이터를 고속으로 다운로드할 수 있다.
전술한 바와 같이 본 출원의 실시예들은 다중 무선 억세스 네트워크들을 통해 멀티미디어 서비스를 동시에 수신할 수 있도록 한다. 이러한 본 출원의 실시예들은 멀티미디어 서비스 데이터를 다수의 데이터 인터페이스들을 통해 빠르게 수신할 수 있도록 한다. 또한, 본 출원의 실시예들은 멀티미디어 서비스 데이터를 다수의 데이터 인터페이스들을 통해 안정적으로 수신할 수 있도록 한다. 또한, 본 출원의 실시예들은 멀티미디어 서비스 데이터를 다수의 데이터 인터페이스들 또는 단일의 데이터 인터페이스를 통해 적응적으로 수신할 수 있도록 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나 본 발명은 상기의 실시예에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 본 발명의 실시예에 따라 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령이 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판단 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM이나 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드 뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 본 발명에서 설명된 기지국 또는 릴레이의 전부 또는 일부가 컴퓨터 프로그램으로 구현된 경우 상기 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체도 본 발명에 포함된다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100: 전자장치
110: 애플리케이션
120: 다중 인터페이스 처리기/플랫폼
131-139: 인터페이스
141-149: 네트워크
150: 서버
122: 요청 처리기
124: 데이터 관리기
126: 인터페이스 조정기
105A: 단일 인터페이스 애플리케이션
105B: 다중 인터페이스 애플리케이션
120A: 앱 요청 크기 DB
120B: 인터페이스 제어기
110: 애플리케이션
120: 다중 인터페이스 처리기/플랫폼
131-139: 인터페이스
141-149: 네트워크
150: 서버
122: 요청 처리기
124: 데이터 관리기
126: 인터페이스 조정기
105A: 단일 인터페이스 애플리케이션
105B: 다중 인터페이스 애플리케이션
120A: 앱 요청 크기 DB
120B: 인터페이스 제어기
Claims (32)
- 전자 장치에 있어서,
명령들을 저장하도록 구성된 기억 장치;
멀티미디어 서비스 제공자에 액세스하도록 구성되고, 제1 네트워크 인터페이스 및 제2 네트워크 인터페이스를 포함하는 복수의 네트워크 인터페이스들; 및
적어도 하나의 프로세서를 포함하고,
상기 명령들의 실행 시, 상기 적어도 하나의 프로세서는,
상기 복수의 네트워크 인터페이스들을 통해 상기 서비스 제공자로부터 복수의 부분들을 포함하는 콘텐츠를 수신하고,
상기 콘텐츠의 제1 부분이 상기 제1 네트워크 인터페이스를 통해 완전히 수신된 경우, 상기 콘텐츠의 제2 부분을 상기 제1 네트워크 인터페이스 및 상기 제2 네트워크 인터페이스를 통해 수신하도록 구성되고,
상기 콘텐츠의 상기 제2 부분은 상기 제1 네트워크 인터페이스 및 상기 제2 네트워크 인터페이스의 각각의 처리량(throughput)에 기초하여 재분할되는 전자 장치.
- 청구항 1에 있어서,
상기 적어도 하나의 프로세서는,
상기 콘텐츠에 대한 요청을 상기 복수의 네트워크 인터페이스들에 분배함으로써 상기 서비스 제공자로부터 상기 콘텐츠를 요청하고,
상기 콘텐츠의 상기 제1 부분이 상기 제1 네트워크 인터페이스를 통해 완전히 수신된 경우, 상기 콘텐츠의 상기 제2 부분에 대한 요청을 상기 제1 네트워크 인터페이스 및 상기 제2 네트워크 인터페이스에 재분배함으로써 상기 서비스 제공자로부터 상기 콘텐츠의 상기 제2 부분을 요청하도록 더 구성된 전자 장치.
- 청구항 1에 있어서,
상기 적어도 하나의 프로세서는,
상기 콘텐츠의 상기 제1 부분과 상기 제1 네트워크 인터페이스 및 상기 제2 네트워크 인터페이스를 통해 수신된 상기 콘텐츠의 제2 부분을 재조합하고,
상기 재조합된 콘텐츠를 대응하는 애플리케이션으로 전송하도록 더 구성된 전자 장치.
- 청구항 1에 있어서,
상기 복수의 네트워크 인터페이스들은,
활성화된 기본 인터페이스; 및
선택적으로 활성화되는 다른 인터페이스를 포함하는 전자 장치.
- 청구항 4에 있어서,
상기 적어도 하나의 프로세서는,
상기 복수의 네트워크 인터페이스들의 속도를 결정하도록 더 구성된 전자 장치.
- 청구항 5에 있어서,
상기 적어도 하나의 프로세서는,
상기 기본 인터페이스와 상기 다른 인터페이스 사이의 속도 차이가 미리 설정된 비율을 초과하는 경우, 상기 기본 인터페이스와 상기 다른 인터페이스 중에서 높은 속도의 인터페이스를 통해서만 상기 콘텐츠를 수신하도록 더 구성된 전자 장치.
- 청구항 6에 있어서,
상기 적어도 하나의 프로세서는,
상기 기본 인터페이스의 속도가 다른 인터페이스의 속도보다 상기 미리 설정된 비율만큼 높은 경우,
상기 다른 인터페이스를 통해 이전에 수신된 콘텐츠를 무시하고,
상기 기본 인터페이스를 통해 이전에 수신된 콘텐츠를 제외한 나머지 콘텐츠를 상기 기본 인터페이스를 통해 수신하도록 더 구성된 전자 장치.
- 청구항 6에 있어서,
상기 적어도 하나의 프로세서는,
상기 다른 인터페이스의 속도가 상기 기본 인터페이스의 속도보다 상기 미리 설정된 비율만큼 높은 경우,
상기 다른 인터페이스의 제1 세션 및 상기 기본 인터페이스를 통해 이전에 수신된 콘텐츠를 제외한 나머지 콘텐츠를 상기 다른 인터페이스의 제2 세션에서 수신하도록 더 구성된 전자 장치.
- 청구항 4에 있어서,
상기 적어도 하나의 프로세서는,
상기 복수의 네트워크 인터페이스들이 디스커넥트 (disconnected) 되었는지 여부를 결정하도록 더 구성된 전자 장치.
- 청구항 6에 있어서,
상기 적어도 하나의 프로세서는, 상기 기본 인터페이스가 디스커넥트 된 경우, 상기 다른 인터페이스를 통한 상기 콘텐츠의 수신을 중단하도록 더 구성되고,
상기 다른 인터페이스는 상기 기본 인터페이스의 콘텐츠의 수신을 수행하고, 상기 수신이 완료된 후, 상기 다른 인터페이스를 통한 콘텐츠의 수신을 수행하는 전자 장치.
- 청구항 9에 있어서,
상기 적어도 하나의 프로세서는,
상기 다른 인터페이스가 디스커넥트 된 경우, 상기 기본 인터페이스를 통한 콘텐츠의 수신을 완료한 후, 상기 다른 인터페이스를 통한 콘텐츠의 수신을 수행하도록 더 구성되는 전자 장치.
- 청구항 4에 있어서,
다중 무선 액세스 기능이 설정된 경우, 상기 다른 인터페이스가 상기 기본 인터페이스와 함께 활성화되고, 상기 설정된 다중 무선 액세스 기능이 시각적으로 표시되는 전자 장치.
- 청구항 12에 있어서,
상기 다른 인터페이스는 상기 설정된 다중 무선 액세스 기능에 대응하여 활성화되는 전자 장치.
- 청구항 4에 있어서,
상기 복수의 네트워크 인터페이스들은,
상기 기본 인터페이스로서 Wi-Fi (wireless fidelity) 인터페이스; 및
상기 다른 인터페이스로서 LTE (long term evolution) 인터페이스를 포함하는 전자 장치.
- 청구항 4에 있어서,
상기 적어도 하나의 프로세서는,
상기 기본 인터페이스를 통하여 상기 콘텐츠의 일부분의 제1 청크 (chunk)를 수신하고,
상기 다른 인터페이스를 통하여 상기 콘텐츠의 일부분의 제2 청크를 수신하며,
상기 기본 인터페이스를 통하여 상기 콘텐츠의 일부분을 제외한 나머지 부분의 제3 청크를 수신하고,
상기 다른 인터페이스를 통하여 상기 콘텐츠의 일부분을 제외한 나머지 부분의 제4 청크를 수신하도록 더 구성된 전자 장치.
- 청구항 15에 있어서,
상기 제1 청크는 상기 제2 청크와 크기가 동일하고,
상기 제3 청크는 상기 제4 청크와 크기가 동일한 전자 장치.
- 전자 장치의 동작 방법에 있어서,
복수의 네트워크 인터페이스들을 통해 서비스 제공자로부터 복수의 부분들을 포함하는 콘텐츠를 수신하는 과정과, 상기 복수의 네트워크 인터페이스는 제1 네트워크 인터페이스 및 제2 네트워크 인터페이스를 포함하고,
상기 콘텐츠의 제1 부분이 상기 제1 네트워크 인터페이스를 통해 완전히 수신된 경우, 상기 콘텐츠의 제2 부분을 상기 제1 네트워크 인터페이스 및 상기 제2 네트워크 인터페이스를 통해 수신하는 과정을 포함하고,
상기 콘텐츠의 상기 제2 부분은 상기 제1 네트워크 인터페이스 및 상기 제2 네트워크 인터페이스의 각각의 처리량(throughput)에 기초하여 재분할되는 방법.
- 청구항 17에 있어서,
상기 콘텐츠에 대한 요청을 상기 복수의 네트워크 인터페이스들에 분배함으로써 상기 서비스 제공자로부터 상기 콘텐츠를 요청하는 과정과,
상기 콘텐츠의 상기 제1 부분이 상기 제1 네트워크 인터페이스를 통해 완전히 수신된 경우, 상기 콘텐츠의 상기 제2 부분에 대한 요청을 상기 제1 네트워크 인터페이스 및 상기 제2 네트워크 인터페이스에 재분배함으로써 상기 서비스 제공자로부터 상기 콘텐츠의 상기 제2 부분을 요청하는 과정을 더 포함하는 방법.
- 청구항 17에 있어서,
상기 콘텐츠의 제1 부분과 상기 제1 네트워크 인터페이스를 통해 수신된 상기 콘텐츠의 제2 부분을 재조합하는 과정과,
상기 재조합된 콘텐츠를 대응하는 애플리케이션으로 전송하는 과정을 더 포함하는 방법.
- 청구항 17에 있어서,
상기 복수의 네트워크 인터페이스들은,
활성화된 기본 인터페이스; 및
선택적으로 활성화되는 다른 인터페이스를 포함하는 방법.
- 청구항 20에 있어서,
상기 복수의 네트워크 인터페이스들이 디스커넥트 (disconnected) 되었는지 여부를 결정하는 과정을 더 포함하는 방법.
- 청구항 21에 있어서,
상기 기본 인터페이스가 디스커넥트 된 경우, 상기 다른 인터페이스를 통한 상기 콘텐츠의 수신을 중단하는 과정과,
상기 다른 인터페이스를 통하여 상기 기본 인터페이스의 콘텐츠의 수신을 수행하는 과정과,
상기 수신이 완료된 후, 상기 다른 인터페이스에서 상기 다른 인터페이스를 통한 콘텐츠의 수신을 수행하는 과정을 더 포함하는 방법.
- 청구항 21에 있어서,
상기 다른 인터페이스가 디스커넥트 된 경우, 상기 기본 인터페이스를 통한 콘텐츠의 수신을 완료한 후, 상기 다른 인터페이스를 통한 콘텐츠의 수신을 수행하는 과정을 더 포함하는 방법.
- 청구항 20에 있어서,
다중 무선 액세스 기능이 설정된 경우, 상기 다른 인터페이스를 상기 기본 인터페이스와 함께 활성화하는 과정과,
상기 설정된 다중 무선 액세스 기능을 시각적으로 표시하는 과정을 더 포함하는 방법.
- 청구항 24에 있어서,
상기 다른 인터페이스를 상기 설정된 다중 무선 액세스 기능에 대응하여 활성화하는 과정을 더 포함하는 방법.
- 청구항 20에 있어서,
상기 복수의 네트워크 인터페이스들은,
상기 기본 인터페이스로서 Wi-Fi (wireless fidelity) 인터페이스; 및
상기 다른 인터페이스로서 LTE (long term evolution) 인터페이스를 포함하는 방법.
- 청구항 20에 있어서,
상키 콘텐츠를 수신하는 과정은,
상기 기본 인터페이스를 통하여 상기 콘텐츠의 일부분의 제1 청크 (chunk)를 수신하는 과정과,
상기 다른 인터페이스를 통하여 상기 콘텐츠의 일부분의 제2 청크를 수신하는 과정과,
상기 기본 인터페이스를 통하여 상기 콘텐츠의 일부분을 제외한 나머지 부분의 제3 청크를 수신하는 과정과,
상기 다른 인터페이스를 통하여 상기 콘텐츠의 일부분을 제외한 나머지 부분의 제4 청크를 수신하는 과정을 포함하는 방법.
- 청구항 27에 있어서,
상기 제1 청크는 상기 제2 청크와 크기가 동일하고,
상기 제3 청크는 상기 제4 청크와 크기가 동일한 방법.
- 청구항 20에 있어서,
상기 복수의 네트워크 인터페이스들의 속도를 결정하는 과정을 더 포함하는 방법.
- 청구항 29에 있어서,
상기 기본 인터페이스와 상기 다른 인터페이스 사이의 속도 차이가 미리 설정된 비율을 초과하는 경우, 상기 기본 인터페이스와 상기 다른 인터페이스 중에서 높은 속도의 인터페이스를 통해서만 상기 콘텐츠를 수신하는 과정을 더 포함하는 방법.
- 청구항 30에 있어서,
상기 기본 인터페이스의 속도가 다른 인터페이스의 속도보다 상기 미리 설정된 비율만큼 높은 경우,
상기 다른 인터페이스를 통해 이전에 수신된 콘텐츠를 무시하는 과정과,
상기 기본 인터페이스를 통해 이전에 수신된 콘텐츠를 제외한 나머지 콘텐츠를 상기 기본 인터페이스를 통해 수신하는 과정을 더 포함하는 방법.
- 청구항 30에 있어서,
상기 다른 인터페이스의 속도가 상기 기본 인터페이스의 속도보다 상기 미리 설정된 비율만큼 높은 경우,
상기 다른 인터페이스의 제1 세션 및 상기 기본 인터페이스를 통해 이전에 수신된 콘텐츠를 제외한 나머지 콘텐츠를 상기 다른 인터페이스의 제2 세션에서 수신하는 과정을 더 포함하는 방법.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/261,006 US9565719B2 (en) | 2013-04-25 | 2014-04-24 | Electronic device for multiple radio access and method thereof |
CN201480036732.4A CN105340357B (zh) | 2013-04-25 | 2014-04-25 | 用于多无线电接入的电子设备及其方法 |
PCT/KR2014/003645 WO2014175694A1 (en) | 2013-04-25 | 2014-04-25 | Electronic device for multiple radio access and method thereof |
EP14788307.8A EP2989853B1 (en) | 2013-04-25 | 2014-04-25 | Electronic device for multiple radio access and method thereof |
AU2014258030A AU2014258030B2 (en) | 2013-04-25 | 2014-04-25 | Electronic device for multiple radio access and method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130046124 | 2013-04-25 | ||
KR20130046124 | 2013-04-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140127744A KR20140127744A (ko) | 2014-11-04 |
KR102164457B1 true KR102164457B1 (ko) | 2020-10-14 |
Family
ID=52451899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140019934A KR102164457B1 (ko) | 2013-04-25 | 2014-02-20 | 다중 무선 억세스를 위한 전자 장치 및 그 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9565719B2 (ko) |
EP (1) | EP2989853B1 (ko) |
KR (1) | KR102164457B1 (ko) |
CN (1) | CN105340357B (ko) |
AU (1) | AU2014258030B2 (ko) |
WO (1) | WO2014175694A1 (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9596323B2 (en) | 2014-03-18 | 2017-03-14 | Qualcomm Incorporated | Transport accelerator implementing client side transmission functionality |
US9596281B2 (en) | 2014-03-18 | 2017-03-14 | Qualcomm Incorporated | Transport accelerator implementing request manager and connection manager functionality |
US20150271225A1 (en) | 2014-03-18 | 2015-09-24 | Qualcomm Incorporated | Transport accelerator implementing extended transmission control functionality |
US9350484B2 (en) | 2014-03-18 | 2016-05-24 | Qualcomm Incorporated | Transport accelerator implementing selective utilization of redundant encoded content data functionality |
JP6323130B2 (ja) | 2014-04-08 | 2018-05-16 | 富士通株式会社 | 無線通信装置、無線通信方法および無線通信プログラム |
JP6442756B2 (ja) * | 2014-04-08 | 2018-12-26 | 富士通コネクテッドテクノロジーズ株式会社 | 無線通信装置、無線通信方法および無線通信プログラム |
US9930097B2 (en) | 2014-07-03 | 2018-03-27 | Qualcomm Incorporated | Transport accelerator systems and methods |
US9769239B2 (en) | 2014-09-30 | 2017-09-19 | Qualcomm Incorporated | Systems and methods for user agent signaling request acceleration by transport accelerator |
KR102352679B1 (ko) | 2015-03-25 | 2022-01-18 | 삼성전자주식회사 | 다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법 |
KR101943933B1 (ko) * | 2015-04-10 | 2019-01-30 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 데이터 전송 방법, 및 단말 |
US10809999B2 (en) * | 2015-07-30 | 2020-10-20 | Apple Inc. | Secure firmware upgrade for cellular IoT |
KR102425517B1 (ko) * | 2015-09-04 | 2022-07-27 | 삼성전자주식회사 | 다수 개의 무선 억세스 인터페이스들을 지원하는 이동 통신 시스템에서 데이터 업로드 장치 및 방법 |
US9882629B2 (en) | 2015-11-20 | 2018-01-30 | At&T Mobility Ii Llc | Facilitation of dual mode wireless device transmissions |
US10425458B2 (en) * | 2016-10-14 | 2019-09-24 | Cisco Technology, Inc. | Adaptive bit rate streaming with multi-interface reception |
CN115473860B (zh) * | 2022-09-05 | 2023-12-05 | 北京京东振世信息技术有限公司 | 基于线上流量多接口联合数据分配方法、装置和电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013055649A1 (en) * | 2011-10-12 | 2013-04-18 | Motorola Mobility Llc | Retrieving content by a multi-rat communication device |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7555559B2 (en) | 2003-02-28 | 2009-06-30 | Onion Networks, KK | Parallel data transfer over multiple channels with data order prioritization |
US8649386B2 (en) * | 2007-09-11 | 2014-02-11 | Prodea Systems, Inc | Multi-interface wireless adapter and network bridge |
US7944844B2 (en) | 2008-07-10 | 2011-05-17 | At&T Intellectual Property I, L.P. | Methods and apparatus to monitor network layer functionalities |
WO2010058908A2 (ko) | 2008-11-24 | 2010-05-27 | 한국과학기술원 | 다중 인터페이스를 탑재한 이동 단말 및 멀티미디어 스트리밍 수신 방법, 다중 망을 이용한 멀티미디어 스트리밍 제공 서버 및 그 방법 |
US8848585B2 (en) | 2009-03-06 | 2014-09-30 | Futurewei Technologies, Inc. | System and method of power management for a device with multiple network interfaces |
US9736769B2 (en) * | 2009-10-01 | 2017-08-15 | Qualcomm Incorporated | Energy efficient quality of service aware communication over multiple air-links |
US8964757B2 (en) | 2009-12-18 | 2015-02-24 | Qualcomm Incorporated | HTTP optimization, multi-homing, mobility and priority |
US8516147B2 (en) | 2010-02-26 | 2013-08-20 | Simula Innovation Sa | Data segmentation, request and transfer method |
US8205114B2 (en) * | 2010-04-07 | 2012-06-19 | Verizon Patent And Licensing Inc. | Method and system for partitioning data files for efficient processing |
US20130132469A1 (en) * | 2011-11-23 | 2013-05-23 | Warner Bros. Entertainment, Inc. | Electronic content delivery using diversified networks |
US9826464B2 (en) * | 2013-03-26 | 2017-11-21 | Bandwidthx Inc. | Systems and methods for establishing wireless connections based on access conditions |
-
2014
- 2014-02-20 KR KR1020140019934A patent/KR102164457B1/ko active IP Right Grant
- 2014-04-24 US US14/261,006 patent/US9565719B2/en active Active
- 2014-04-25 WO PCT/KR2014/003645 patent/WO2014175694A1/en active Application Filing
- 2014-04-25 EP EP14788307.8A patent/EP2989853B1/en active Active
- 2014-04-25 CN CN201480036732.4A patent/CN105340357B/zh active Active
- 2014-04-25 AU AU2014258030A patent/AU2014258030B2/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013055649A1 (en) * | 2011-10-12 | 2013-04-18 | Motorola Mobility Llc | Retrieving content by a multi-rat communication device |
Also Published As
Publication number | Publication date |
---|---|
CN105340357B (zh) | 2019-06-18 |
US9565719B2 (en) | 2017-02-07 |
CN105340357A (zh) | 2016-02-17 |
US20140323178A1 (en) | 2014-10-30 |
EP2989853B1 (en) | 2020-12-09 |
AU2014258030B2 (en) | 2017-09-14 |
AU2014258030A1 (en) | 2015-12-10 |
WO2014175694A1 (en) | 2014-10-30 |
KR20140127744A (ko) | 2014-11-04 |
EP2989853A1 (en) | 2016-03-02 |
EP2989853A4 (en) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102164457B1 (ko) | 다중 무선 억세스를 위한 전자 장치 및 그 방법 | |
EP2652912B1 (en) | Content sharing between a universal plug and play device and a wide area network device | |
KR102041492B1 (ko) | 디바이스들 간 애플리케이션 콘텍스트의 제로-클릭 공유 | |
WO2018171375A1 (zh) | 一种网络切片选择方法、用户设备及网络设备 | |
US11147041B2 (en) | Device contexts, operational modes, and policy driven enhancements for paging in advanced networks | |
JP2019537356A (ja) | ユーザ端末の位置エリアの更新方法、アクセスネットワークエンティティ、ユーザ端末およびコアネットワークエンティティ | |
CN110035004B (zh) | 一种用户名片分享方法、好友添加方法和相关装置 | |
WO2014101889A1 (zh) | 数据同步方法及设备 | |
US9807158B2 (en) | Method and system for optimizing CPNS enabler | |
KR20140031283A (ko) | 디바이스들 간 애플리케이션 상태 전송 | |
WO2018228517A1 (zh) | 一种接入控制的方法、网络设备以及终端设备 | |
KR102528757B1 (ko) | 이벤트 처리 방법, 장치, 및 시스템 | |
CN103532945B (zh) | 分享控制方法和相关设备及通信系统 | |
CN112087362B (zh) | 一种客户端之间的消息转发方法和装置以及终端 | |
US20140372528A1 (en) | Information processing system, information processing apparatus, and recording medium | |
US20230396484A1 (en) | Method, apparatus and computer program | |
WO2018161788A1 (zh) | 多媒体数据共享方法及装置 | |
JP6415613B2 (ja) | 情報配信装置、プッシュ通知方法、及び、コンピュータプログラム | |
CN105704106B (zh) | 一种可视化ivr实现方法及移动终端 | |
CN105376761B (zh) | 建立通话连接的方法、装置和通话系统 | |
WO2024017191A1 (zh) | 交互方法、装置、设备及存储介质 | |
CN110138887B (zh) | 一种数据处理方法、装置及存储介质 | |
CN103781039A (zh) | 一种具有压缩功能的短信系统及其实现方法 | |
WO2017107152A1 (zh) | 无线通信网络中确定网络制式的方法、接入点设备、终端设备和无线网络控制器 | |
JP2016184225A (ja) | 情報配信装置、プッシュ通知方法、及び、コンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |