KR101270521B1 - 무선 통신대역폭을 타 개체와 적응적으로 공용하여 데이터를 수신하는 방법 및 장치 - Google Patents

무선 통신대역폭을 타 개체와 적응적으로 공용하여 데이터를 수신하는 방법 및 장치 Download PDF

Info

Publication number
KR101270521B1
KR101270521B1 KR1020120006712A KR20120006712A KR101270521B1 KR 101270521 B1 KR101270521 B1 KR 101270521B1 KR 1020120006712 A KR1020120006712 A KR 1020120006712A KR 20120006712 A KR20120006712 A KR 20120006712A KR 101270521 B1 KR101270521 B1 KR 101270521B1
Authority
KR
South Korea
Prior art keywords
data
bandwidth
time
piece
communication
Prior art date
Application number
KR1020120006712A
Other languages
English (en)
Inventor
이승준
김순욱
Original Assignee
주식회사에어플러그
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사에어플러그 filed Critical 주식회사에어플러그
Priority to KR1020120006712A priority Critical patent/KR101270521B1/ko
Application granted granted Critical
Publication of KR101270521B1 publication Critical patent/KR101270521B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/02Selection of wireless resources by user or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/54Allocation or scheduling criteria for wireless resources based on quality criteria
    • H04W72/541Allocation or scheduling criteria for wireless resources based on quality criteria using the level of interference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은, 무선 통신대역폭을 타(他) 개체와 적응적으로 공용하여 데이터를 수신하는 방법 및 장치에 관한 것이다. 본 발명에 따른, 원격지로부터 데이터를 수신하는 단말기는, 미디어 컨텐트와 같은 데이터 오브젝트의 임의 조각에 대한 데이터 요청이 무선 통신망으로 송신되기에 앞서 상기 무선 통신망에 의해 제공되는 통신 대역폭의 비사용 시간이 있도록 한 뒤 상기 임의 조각에 대한 데이터 요청을 상기 무선 통신망으로 송신한다. 그리고, 상기 비사용 시간을 구함에 있어서는, 상기 단말기에서 통신대역폭을 사용하고 있는 타(他) 개체의 실행모드가 전면실행 모드인지 이면실행 모드인지에 따라 그 시간길이가 서로 다르게 되는 방식으로 상기 비사용 시간을 구한다.

Description

무선 통신대역폭을 타 개체와 적응적으로 공용하여 데이터를 수신하는 방법 및 장치 {Apparatus and method for receiving data using wireless communication bandwidth adaptively together with other entity}
본 발명은, 무선 통신자원을 사용하는 어플리케이션(application)과 같은 개체(entity)와 무선 통신망이 제공하는 통신대역폭(bandwidth)을 공용하는 방법과 장치에 관한 것이다.
무선 통신망이 발전하면서, 이용자들은 휴대폰은 물론이고, 스마트폰, 태블릿 컴퓨터 등( 이하, “무선통신 단말기”로 통칭한다. )을 이용해 장소에 구애받지 않고, 자신이 필요로 하는 다양한 정보를 브라우징(browsing)을 통해 확인하거나 또는 원하는 컨텐츠를 다운로드 또는 스트리밍(streaming)방식으로 수신하여 볼 수 있게 되었다.
특히, 무선통신 인프라와 무선통신 단말기의 성능이 더욱 개선되면서, 이제는 많은 영상 컨텐츠, 예를 들어 스포츠 중계, 뉴스, 음악 프로그램 등이 무선 통신망을 통해 스트리밍 또는 다운로드 방식으로 제공되고 있으며, 이 들을 이용할 수 있는 다양한 어플리케이션( 이하, “어플”로 약칭한다. )도 어플 마켓(market)을 통해 제공되고 있다.
따라서, 무선통신 단말기의 이용자들은, 자신이 원하는 또는 자주 즐기게 되는 컨텐트를 볼 수 있게 하는 어플을 마켓으로부터 다운받아 설치하여 해당 어플을 통해 원하는 컨텐트를 획득하여 즐기게 된다. 그런데, 컨텐트의 종류가 다양해 지는 것만큼 무선통신 단말기에 설치되는 어플들의 수도 많아지고, 따라서, 무선통신 단말기에서 복수의 어플들이 실행되어 임의의 동시간에 무선 통신망이 제공하는 무선 통신대역폭을 함께 점유하기도 한다.
그런데, 이렇게 무선 통신대역폭을 공용하게 되는 어플들은, 각기 자신이 필요로 하는 컨텐트 데이터를 수신하기 위해 통신 자원의 점유를 시도하게 되는 데, 이 때, 필요 데이터의 시급성이 낮은 어플이 통신대역폭을 많이 점유하고, 필요 데이터의 시급성이 매우 높은 어플, 예를 들어 영상 컨텐트 데이터를 스트리밍방식으로 플레이하여 현재 화면상에 영상을 출력하고 있는 플레이어가 상대적으로 통신대역폭을 적게 점유하는 경우도 발생하게 된다. 즉, 어플의 불요불급한 통신자원의 과용(過用)으로 인해 현재 시청하고 있는 영상이 끊어지거나 화면 깨짐현상이 발생하게 된다.
본 발명은, 무선통신 단말기에서의 무선 통신대역폭을 사용하는 개체와 무선 통신대역폭을 효율적으로 공용하는 방법과 장치를 제공하는 데 일 목적이 있는 것이다.
본 발명의 다른 일 목적은, 무선통신 단말기의 가용할 수 있는 무선 통신대역폭을 타(他) 개체와 공용하여 최대한 사용할 수 있는 방법과 장치를 제공하는 것이다.
본 발명의 또 다른 일 목적은, 개체간의 필요 데이터의 시급성에 따라 무선 통신대역의 점유도를 조정함으로써 임의 개체에서의 불요한 통신자원의 과용이 발생하지 않도록 하는 방법과 장치를 제공하는 것이다.
본 발명의 목적은, 상기 명시적으로 서술된 목적에 국한되는 것은 아니며, 본 발명에 대한 구체적이고 예시적인 하기의 설명에서 도출될 수 있는 효과를 달성하는 것을 그 목적에 당연히 포함한다.
본 발명의 일 측면에 따른, 무선 통신망을 통해 원격지로부터 데이터를 수신할 수 있는 일 단말기는, 인가되는 데이터 요청을 상기 무선 통신망을 통해 외부 서버로 송신하고 그 요청에 따른 데이터를 상기 무선 통신망을 통해 수신하도록 구성된 송수신부와, 다운로드 요청된 데이터 오브젝트(object)에 대해 조각으로 구분하여 그 각 조각에 대한 데이터 요청을 생성하여 상기 송수신부에 인가함으로써, 그에 따른 각 조각의 데이터를 상기 송수신부로부터 수신하여 데이터 오브젝트로서 저장하도록 구성된 제어부를 포함하여 구성된다. 그리고, 상기 제어부는, 상기 데이터 오브젝트의 임의 조각에 대한 데이터 요청이 상기 송수신부에 의해 송신되기에 앞서 상기 무선 통신망에 의해 제공되는 통신 대역폭의 비사용 시간이 있도록 상기 임의 조각에 대한 데이터 요청을 상기 송수신부에 인가하며, 상기 비사용 시간을, 상기 단말기에서 통신대역폭을 사용하고 있는 타(他) 개체의 실행모드가 제 1모드인지 제 2모드인지에 따라 그 시간길이가 서로 다르게 되는 방식으로 구하도록 또한 구성된다.
본 발명에 따른 일 실시예에서는, 상기 제 1모드는 전면실행 모드이고, 상기 제 2모드는 이면실행 모드이다.
본 발명에 따른 일 실시예에서는, 상기 제어부는, 상기 타 개체 모두의 실행모드가 상기 제 2모드인지 그렇지 않은지에 따라 달리 구하는 가용 대역폭에 근거하여 결정하도록 구성된다.
본 발명에 따라 상기 가용 대역폭을 구하는 일 실시예에서는, 상기 제어부는, 상기 타 개체의 적어도 하나가 상기 제 1모드인 경우에, 상기 데이터 오브젝트의 임의 조각이 수신될 동안 상기 단말기가 사용한 제 1대역폭과 상기 데이터 오브젝트의 데이터가 수신되지 않는 임의 크기의 시간 동안 상기 단말기가 사용한 제 2대역폭과의 차로부터 상기 가용 대역폭을 구하도록 구성된다. 또한 상기 제어부는, 상기 제 1대역폭이 상기 제 2대역폭보다 일정 허용치이상 더 큰 조건이 성립하면 그 차로부터 상기 가용 대역폭을 구하고, 상기 조건이 성립하지 않으면 상기 데이터 오브젝트의 데이터가 수신되지 않는 임의 크기의 시간 동안의 상기 단말기의 사용 대역폭을 주기적으로 확인하고 그 확인된 사용 대역폭을, 기준으로 정한 대역폭과 비교하도록 구성된다. 그리고, 상기 조건이 성립되지 않는 경우, 상기 제어부는 상기 제 1대역폭 또는 상기 제 2대역폭을, 상기 기준으로 정한 대역폭으로서 사용한다.
본 발명에 따라 가용 대역폭을 구하는 일 실시예에서는, 상기 제어부는, 상기 타 개체의 모두가 상기 제 2 모드인 경우에, 상기 데이터 오브젝트의 임의 조각이 수신될 동안 상기 단말기가 사용한 제 1대역폭에서, 상기 제 1대역폭보다 작은 일정 크기의 제한 대역폭을 차감하여 상기 가용 대역폭을 구하도록 구성된다. 본 실시예에서는, 상기 제어부는, 상기 타 개체의 특성에 따라 상기 제한 대역폭의 크기를 달리 정하여 상기 가용 대역폭을 구하도록 구성되며, 특히, 상기 타 개체에 그 특성이 오디오 속성의 데이터를 스트리밍(streaming) 방식으로 수신하도록 하는 개체가 포함되어 있으면, 기 지정된 크기로써 상기 제한 대역폭을 정하고, 그런 특성의 개체가 포함되어 있지 않은 경우에는 상기 지정된 크기보다 더 낮은 크기로 상기 제한 대역폭을 정하게 된다.
전술한 실시예들에서, 상기 제어부는, 상기 데이터 오브젝트의 임의 조각이 수신될 때마다 상기 제 1대역폭을 갱신하여 상기 가용 대역폭을 구하는 데 사용하도록 구성될 수도 있다.
본 발명에 따라 상기 가용 대역폭을 구하는 일 실시예에서는, 상기 제어부는, 상기 데이터 오브젝트의 조각의 크기를 상기 구한 가용 대역폭으로 나누어서 얻은 시간으로부터 상기 비사용 시간을 결정하도록 구성된다.
본 발명에 따라 상기 가용 대역폭을 구하는 일 실시예에서는, 상기 제어부는, 데이터 요청할 상기 임의 조각의 크기를 상기 구한 가용 대역폭으로 나누어서 얻은 시간에서 상기 임의 조각에 앞서 수신한 조각의 수신 소요시간을 차감한 시간으로부터 상기 비사용 시간을 결정하도록 구성될 수도 있다. 그리고, 상기 제어부는, 상기 임의 조각의 크기와 그 조각에 앞서 수신한 조각의 크기가 다르면 그 크기의 비율로써 상기 수신 소요시간을 조정한 뒤 상기 차감에 사용하도록 구성될 수도 있다.
본 발명에 따른 다른 일 실시예에서는, 상기 제어부는, 상기 타 개체 모두의 실행모드가 상기 제 2모드이면, 그렇지 않은 경우에 비해 더 짧은 시간길이를 갖도록 상기 비사용 시간을 구하도록 구성된다.
직전의 실시예에서는, 상기 제어부는, 상기 타 개체 모두의 실행모드가 상기 제 2모드인지 그렇지 않은지에 대해 각기 설정해 둔 조정계수들에서, 상기 타 개체 모두의 실행모드가 상기 제 2모드인지 그렇지 않은지에 따라 상응하는 조건의 조정계수를 선택하고, 그 선택된 조정계수에 상기 임의 조각에 앞서 수신한 조각의 수신 소요시간을 곱하여 얻은 시간격으로부터 상기 비사용 시간을 구하도록 구성되며, 상기 타 개체 모두의 실행모드가 상기 제 2모드인 경우에 대해 설정된 상기 조정계수는, 그렇지 않은 경우에 대해 설정된 상기 조정계수보다 작은 값을 갖는다. 그리고, 본 실시예에서는, 상기 제어부는, 상기 무선 통신망이 제공하는 데이터 서비스의 속도가 기 지정된 상한치이상이면 상기 각 조정계수의 설정된 값을 더 작은 값으로 조정하고, 기 지정된 하한치이하이면 상기 각 조정계수의 설정된 값을 더 큰 값으로 조정하여 상기 비사용 시간을 구하는 데 사용하도록 구성될 수도 있다. 또한, 상기 제어부는, 상기 타 개체에 그 특성이 오디오 속성의 데이터를 스트리밍 방식으로 수신하도록 하는 개체가 포함되어 있으면, 상기 타 개체 모두의 실행모드가 상기 제 2모드인 경우에 대해 설정된 상기 조정계수의 값을 더 큰 값으로 조정하여 상기 비사용 시간을 구하는 데 사용하도록 구성될 수도 있다.
전술한 실시예들에서, 상기 제어부는, 상기 단말기에서 통신대역폭을 사용하고 있는 타 개체가 없는 경우에는, 상기 비사용 시간이 발생하지 않도록 상기 데이터 오브젝트의 임의 조각에 대한 데이터 요청을 상기 송수신부에 인가하도록 더 구성될 수도 있다.
전술한 실시예들에서, 상기 비사용 시간은, 상기 임의 조각에 앞서 데이터 요청된 조각이 수신완료된 시점부터 개시될 수 있다.
본 발명에 따른 일 실시예에서는, 상기 다운로드 요청은, 상기 단말기에서 실행되는 타 개체로부터 전달된 것이다. 본 실시예에서는, 상기 다운로드 요청은, 상기 단말기의 운영시스템이 프로세스간 통신을 위해 정의한 정보포맷에 부합하는 형태로 작성된, 상기 데이터 오브젝트의 정보를 포함하는 하나의 정보 구조체를 통해 전달된 것이거나, IP주소 기반의 통신규약에 의한 요구의 형태로 작성되어 전달된 것일 수 있다.
본 발명에 따른 다른 일 실시예에서는, 상기 단말기는, 자신의 화면상에 다운로드 항목을 등록할 메뉴를 제공하도록 구성된 입출력부를 더 포함하여 구성된다. 그리고, 상기 다운로드 요청은 상기 입출력부를 통해 수신될 수 있다.
본 발명에 따른 일 실시예에서는, 상기 제어부는, 상기 데이터 오브젝트의 상기 임의 조각의 크기를, 그에 앞서 데이터 요청되어 수신된 조각들의 수신시간의 변화에 따라 앞서 데이터 요청한 조각의 크기와 다르게 결정할 수 있도록 구성된다.
본 발명에 따른 일 실시예에서는, 상기 제어부는, 다운로드 요청된 데이터 오브젝트가 복수개인 경우, 각 오브젝트를 순차적으로 선택하면서, 해당 오브젝트의 조각에 대한 데이터 요청이 상기 비사용 시간의 간격을 두고 상기 송수신부에 의해 송신되도록 상기 송수신부에 인가되게 한다.
본 발명의 다른 일 측면에 따른, 단말기내의 타 개체와 통신대역폭을 공용하여 데이터를 수신하는 방법의 하나는, 다운로드 요청된 데이터 오브젝트(object)의 임의 구간을 구분한 제 1조각을 전송요청하는 단계와, 상기 제 1조각의 데이터가 수신되는 동안 단말기가 사용한 제 1통신대역폭을 확인하는 단계와, 상기 단말기에서 상기 무선 통신망에 의해 제공되는 통신대역폭을 사용하고 있는 타 개체의 실행모드에 따라 달리 구하는 제 2대역폭을 상기 확인된 제 1통신대역폭에서 차감한 값으로부터 가용 대역폭을 구하는 단계와, 상기 데이터 오브젝트의 상기 제 1조각 이후의 구간구분된 제 2조각의 크기와 상기 구한 가용 대역폭에 근거하여 대기시간을 산출하는 단계와, 상기 대기시간의 경과 후 상기 제 2조각의 데이터를 전송요청하는 단계를 포함하여 이루어진다.
본 발명에 따른 일 실시예에서는, 상기 가용 대역폭을 구하는 단계는, 상기 타 개체의 적어도 하나가 전면실행 모드이면, 상기 데이터 오브젝트의 데이터가 수신되지 않는 임의 크기의 시간 동안 상기 단말기가 사용한 대역폭을 상기 제 2대역폭으로 하여 상기 가용 대역폭을 구한다.
본 발명에 따른 일 실시예에서는, 상기 가용 대역폭을 구하는 단계는, 상기 타 개체가 이면(background)실행 모드이면, 상기 제 1통신대역폭보다 작은 일정 크기를 상기 제 2대역폭으로 정하여 상기 가용 대역폭을 구한다.
본 발명의 다른 일 측면에 따른, 단말기내의 타 개체와 통신대역폭을 공용하여 데이터를 수신하는 방법의 다른 하나는, 다운로드 요청된 데이터 오브젝트의 임의 구간을 구분한 제 1조각을 전송요청하는 단계와, 상기 제 1조각의 데이터가 수신되는 수신 소요시간을 확인하는 단계와, 단말기에서 상기 무선 통신망에 의해 제공되는 통신대역폭을 사용하고 있는 타(他) 개체의 실행모드를 확인하고 그 확인된 실행모드에 대해 지정된 조정치를 선정하는 단계와, 상기 확인된 수신 소요시간과 상기 선정된 조정치에 근거하여 대기시간을 산출하는 단계와, 상기 대기시간의 경과 후, 상기 데이터 오브젝트의 상기 제 1조각 이후의 구간구분된 제 2조각의 데이터를 전송요청하는 단계를 포함하여 이루어진다. 그리고, 전면실행 모드에 대해 지정된 상기 조정치는, 상기 대기시간 산출에 있어서, 이면실행 모드에 대해 지정된 상기 조정치에 비해 긴 대기시간이 산출되도록 하는 값을 갖는다.
본 발명의 또 다른 일 측면에 따른, 저장공간에 저장된 프로그램을 통신망을 통해 제공하는 프로그램 공급장치는, 통신을 통해 외부와 데이터를 송수신할 수 있는 통신수단과, 상기 통신수단을 통해 송신되는, 무선통신 단말기에서 실행되는 어플리케이션이 수록되어 있는 저장수단을 포함하여 구성된다. 그리고, 상기 어플리케이션은, 상기 무선통신 단말기에서 실행되는 경우, 인가되는 데이터 요청을 무선 통신망을 통해 외부 서버로 송신하고 그 요청에 따른 데이터를 상기 무선 통신망을 통해 수신하는 기능과, 다운로드 요청된 데이터 오브젝트에 대해 조각으로 구분하여 그 각 조각에 대한 데이터 요청을 생성하여 상기 외부 서버로 송신함으로써, 그에 따른 각 조각의 데이터를 상기 외부 서버로부터 수신하여 데이터 오브젝트로서 저장하는 기능과, 상기 데이터 오브젝트의 임의 조각에 대한 데이터 요청이 상기 무선 통신망으로 송신되기에 앞서 상기 무선 통신망에 의해 제공되는 통신 대역폭의 비사용 시간이 있게 한 후 상기 임의 조각에 대한 데이터 요청을 상기 무선 통신망으로 송신하며, 상기 비사용 시간을, 상기 무선통신 단말기에서 통신대역폭을 사용하고 있는 타(他) 개체의 실행모드가 제 1모드인지 제 2모드인지에 따라 그 시간길이가 서로 다르게 되는 방식으로 구하는 기능을 수행하기 위한 프로그램 구조를 포함한다.
전술한 본 발명 또는, 하기에서 첨부된 도면과 함께 상세히 설명되는 본 발명의 적어도 일 실시예는, 동일 단말기에서 실행되는 타 개체의 데이터 요구 시급성을 반영하여, 이용할 수 있는 현재의 통신대역폭을 그 타 개체와 공용하여 사용자가 다운로드 요청한 컨텐트 등의 데이터 오브젝트를 다운로드받을 수 있게 한다. 데이터 시급성이 높은 타 개체에 대해서는, 그 개체가 요구하는 데이터 수신속도에 장애를 주지 않는 범위내에서의 대역폭을 사용하여 사용자가 요청한 데이터 오브젝트를 다운로드함으로써 그 타 개체가 그 수신 데이터로써 표현하는 영상 등의 시청에 있어서 사용자가 불편함을 느끼지 않게 한다.
또한, 본 발명의 적어도 일 실시예는, 사용자의 관점에서 시급성이 낮은 데이터를 수신하는 타 개체에 대해서는 그 사용 대역폭을 적절히 제한함으로써, 가용의 대역폭을 최대한 사용하여 사용자가 다운로드 요청한 데이터 오브젝트를 수신할 수 있게 한다. 이에 따라, 타 개체의 데이터 요구정도가 그 시급성에 맞추어 적절히 수용됨과 동시에 사용자가 다운로드 요청한 데이터 오브젝트는 최대한 빠른 속도로 다운로드받을 수 있게 된다.
도 1a는, 본 발명에 따른, 무선 통신대역폭을 타 개체와 적응적으로 공용하여 데이터를 수신하는 방법의 실시예가 구현된 무선통신 단말기의 관련 구성요소들에 대한 프로그램적 관점의 논리적 구성과 외부 연결된 구성들을 예시한 것이
도 1b는, 본 발명의 일 실시예에 따른, 무선 통신대역폭을 타 개체와 적응적으로 공용하여 데이터를 수신하는 일 방법이 구현된 이동통신 단말기의 구성을 예시한 것이고,
도 2는, 본 발명의 일 실시예에 따라, 특정 어플리케이션에 의해 제시된, 원격 서버로부터 획득할 수 있는 영상 컨텐트의 목록과 선택된 컨텐트에 대한 처리방안을 문의하는 화면의 예를 도시한 것이고,
도 3a는, 본 발명의 일 실시예에 따라, 특정 어플리케이션에서 컨텐트의 다운로드가 요청되었을 때 그 컨텐트 정보 등을, 통신대역폭을 적응적으로 공용하는 데이터 수신 관리기에 전달하는 예를 도시한 것이고,
도 3b는, 본 발명의 다른 일 실시예에 따라, 컨텐트의 다운로드가 요청되었을 때 그 컨텐트 정보 등을 통신규약에 의한 요구방식에 의해 통신대역폭을 적응적으로 공용하는 데이터 수신 관리기에 전달하는 예를 도시한 것이고,
도 3c는, 본 발명의 일 실시예에 따라, 영상 컨텐트를 플레이하는 도중에 다운로드가 요청되었을 때도 미디어 플레이어로부터 컨텐트 정보 등이, 통신대역폭을 적응적으로 공용하는 데이터 수신 관리기에 전달될 수 있는 것을 예시한 것이고,
도 4는, 본 발명의 일 실시예에 따른, 다운로드 요청된 컨텐트에 대해 다운로드 관리를 위해 등재하는 다운로드 목록의 구조에 대한 일 예이고,
도 5는, 본 발명의 일 실시예에 따라, 선택된 컨텐트의 데이터에 대해 분할한 구간을 요구하는 통신규약에 의한 요청문서의 기재 예를 나타낸 것이고,
도 6은, 본 발명의 일 실시예에 따른, 타 개체의 통신대역폭의 사용정도를 고려하여 다운로드를 위한 통신대역폭을 적응적으로 사용하는 일 방법에 대한 예시적인 흐름도이고,
도 7a는, 본 발명의 일 실시예에 따라, 임의 컨텐트 조각의 다운로드 수신시에 사용된 통신대역폭의 측정을 설명하기 위한 도면이고,
도 7b는, 본 발명의 일 실시예에 따라 구성되는, 임의 프로세스가 사용한 통신대역폭이 각기 기재된 통신대역폭 사용현황 정보를 예시한 것이고,
도 8a 및 8b는, 본 발명의 일 실시예에 따라, 다운로드 요청된 컨텐트 조각의 수신시와 비수신시에 사용된 통신대역폭의 변화의 예를 각기 도시한 것이고,
도 9a는, 본 발명의 일 실시예에 따라, 다운로드할 컨텐트에 대해 분할한 조각을 전송요청하는 시간격을, 통신대역폭 사용현황 정보에 따라 결정하는 예를 도시한 것이고,
도 9b는, 본 발명의 다른 일 실시예에 따라, 다운로드할 컨텐트에 대해 분할한 조각을 전송요청하는 시간격을, 통신대역폭 사용현황 정보와 조각의 수신 소요시간에 따라 결정하는 예를 도시한 것이고,
도 9c는, 본 발명의 다른 일 실시예에 따라, 분할 조각을 전송요청하기 위한 시간격 산출을 위해, 이전의 임의 조각의 수신동안에 측정된 단말기의 사용 대역폭을 사용할 수 있음을 예시한 것이고,
도 10은, 본 발명의 일 실시예에 따라, 통신대역폭 사용현황 정보에 의해 파악된 타 개체( 또는 개체들 )의 사용 대역폭을 제한하는 대역폭을 설정하는 것을 예시한 것이고,
도 11은, 본 발명의 일 실시예에 따른, 통신대역폭을 사용하는 타 개체의 여부와 그 실행모드에 따라 전송요청 대기시간을 적응적으로 결정하는 일 방법에 대한 흐름도를 예시한 것이고,
도 12는, 도 11의 실시예에 따라, 다운로드할 컨텐트에 대해 분할한 조각을 전송요청하는 시간격을, 통신대역폭을 사용하는 타 개체의 실햄모드에 근거해 조각의 수신 소요시간으로부터 결정하는 예를 도시한 것이고,
도 13은, 본 발명의 일 실시예에 따라, 다운로드할 다수의 컨텐트들에 대해서, 각 컨텐트를 순차적으로 선택하면서, 적응적으로 결정되는 전송요청 대기시간 후에 해당 순서의 컨텐트의 조각의 전송을 요청하는 과정을 설명하는 도면이다.
이하, 본 발명에 따른 실시예들에 대해 첨부된 도면을 참조하여 상세히 설명한다.
도 1a는, 본 발명에 따른, 무선 통신대역폭을 타 개체와 적응적으로 공용하여 데이터를 수신하는 방법의 실시예가 구현된 무선통신 단말기의 관련 구성요소들에 대한 프로그램적 관점의 논리적 구성과 외부 연결된 구성들을 예시한 것이다.
도면에 예시된 상기 무선통신 단말기(100)의 프로그램적 관점의 논리적 구성은, 상기 무선통신 단말기(100)의 하드웨어 자원( 도 1b에 예시된 )의 구동, 해당 자원과의 적절한 신호 및/또는 정보교환을 수행하기 위한, 통상의 운영시스템( 안드로이드, IOS, Window 등 ) 또는 본 발명을 위해 특화된 운영시스템(100a)을 구비하고 있으며, 또한 상기 운영시스템(100a)하에서 실행되는 데이터 수신 관리기(110)를 포함한다. 또한, 상기 무선통신 단말기(100)는, 영상 및/또는 오디오 속성의 미디어 컨텐트를 플레이할 수 있는 미디어 플레이어(10a)를 포함하며, 기 지정된 서버상의 영상 컨텐트 등을 브라우징할 수 있게 하는 유투브(youtube) 어플과 같은 서버 미디어 뷰어(10c)(viewer)를 선택적으로 포함할 수도 있다. 상기 무선통신 단말기(100)에는 이들 외의 다양한 어플들이 구현되어 있을 수 있으나 상기 예를 든 어플들로써도 본 발명의 원리와 개념을 구체적으로 충분히 설명할 수 있으므로 더 이상의 어플들에 대해서는 예시를 생략한다.
도면에 예시된 상기 데이터 수신 관리기(110)는 상기 무선통신 단말기(100)에 구현된 프로세스(process) 또는 어플로서, 도 1a에 예시된 바와 같이, 상기 운영시스템(100a)을 기반으로 실행되는 코드들로 구성된 프로그램 구조를 갖는 소프트웨어의 형태로 제공될 수도 있다. 소프트웨어 형태로 제공되는 경우에는, 대용량 저장수단을 구비하고 또한 구비된 통신수단을 통해 통신망에 연결된 특정의 서버로부터 통상의 온라인(on-line) 구매과정 등을 거쳐 상기 대용량 저장수단에 수록된 상기 데이터 수신 관리기(110)가 상기 무선통신 단말기(100)에 다운로드되어 설치된 후에 필요에 따라 실행될 수 있다. 경우에 따라서는, 이하에서 상세히 설명하는 상기 데이터 수신 관리기(110)의 기능들의 일부 또는 전부가 상기 무선통신 단말기(100)의 미들웨어(middleware), 또는 플랫폼(platform) 형태로 미리 구현되어 있을 수도 있다. 또한 상기 데이터 수신 관리기(110)는 하드웨어(hardware)의 구성을 포함함으로써, 이하에서 상세히 설명하는 기능의 일부를 그 하드웨어가 수행할 수도 있다. 따라서, 본 발명에 따른 다양한 실시예들에서 그 구성과 동작방식이 설명되는 상기 데이터 수신 관리기(110)는 그 구현하는 자원의 형태나 방식에 의해 본 발명의 범위가 제한되는 것은 아니다.
본 발명에 따른 일 실시예에서는, 상기 데이터 수신 관리기(110)는, 다운로드 요청된 컨텐트에 대한 정보 등을 저장하고, 타 어플과 자신을 포함한 통신대역폭 사용을 파악하여 다운로드 요청된 컨텐트의 다운로드를 위한 통신대역폭을 적응적으로 조절하기 위한 수신 제어부(111)와, 상기 운영시스템(100a)이 제공하는 통신용 API( Application Program Interface )를 호출하여 통신소켓(socket)을 생성하고 그 생성된 통신소켓을 통해, 상기 수신 제어부(111)와 교환하는 데이터를 외부와 송수신하는 데이터 송수신부(112)와, 상기 운영시스템(100a)이 제공하는 사용자 UI의 API를 호출하여 사용자와의 인터페이스 화면을 구성하는 UI 처리부(113)를 서브(sub) 프로세스로서 포함한다. 상기 데이터 송수신부(112)는, 이용가능한 무선 통신망(11)( 이 무선 통신망은 셀룰러 방식의 이동전화 통신망일 수도 있고, 제한된 지역에서만 무선통신 서비스를 제공하는 Wi-Fi 방식의 무선랜망 또는 그 이외의 다양한 방식의 무선 데이터 통신망일 수도 있다. )의 유형을 상기 운영시스템(100a)을 통해 확인하고, 그 통신망으로부터 할당받은 접속 IP주소를 사용하거나 또는 다른 통신망으로부터의 접속 IP주소의 할당을 요청함으로써 조건에 따라 필요한 통신망을 통하여 원격지의 미디어 서버(200)와 데이터를 송수신한다. 상기 운영시스템(100a)이 복수의 무선 통신망을 동시에 접속하여 이용하는 것이 지원되는 경우에는 필요에 따라 복수의 무선 통신망을 통하여 미디어 데이터 또는 다양한 정보를 수신할 수도 있다.
본 발명에 따른 일 실시예에서는, 상기 수신 제어부(111), 상기 데이터 송수신부(112) 그리고 상기 UI 처리부(113)가, 상기 운영시스템(100a) 기반하에 수행되는 단일의 프로세스로서 구현될 수도 있다. 이 경우에는 상호간의 정보 또는 데이터 교환은 광역변수들, 내부변수들 또는 로컬함수의 인자 및/또는 리턴값 등을 통해서 이루어질 수 있다. 따라서, 본 발명의 개념과 주제, 그리고 목적하는 효과 등은, 상기 수신 제어부(111), 상기 데이터 송수신부(112) 그리고 상기 UI 처리부(113)가 반드시 분리되어 각기 실행되는 프로세스를 전제하거나 필요로 하는 것은 아니며, 이하에서 설명하는 각 구성요소(111,112,113)의 모든 기능들이 단일의 프로세스로써 구현되어도 당연히 달성될 수 있다.
한편, 도 1a에 예시된 논리적 구성을 갖는 상기 무선통신 단말기(100)는, 전체적으로 도 1b에 예시된 바와 같은 하드웨어적 구성요소를 포함하여 구성되며, 공중의 이동전화 통신망과 고속의 무선 데이터망 등을 액세스할 수 있는 스마트 폰, 태블릿 컴퓨터, 이동전화 기능을 갖춘 노트북 등 중 어느 하나일 수 있다. 도면에 예시된 구성을 구체적으로 살펴 보면, 공중의 이동전화 통신망, 예를 들어 2G, 3G 또는 4G의 셀룰러(cellular) 망( 이하, “셀룰러 망”으로 통칭한다. )의 지정된 방식에 따라 신호를 변조 또는 복조하여 상기 셀룰러 망과 송수신하는 셀룰러 모뎀(1a)( RF신호의 처리모듈을 포함하는 구성요소이다 )과, 상기 셀룰러 망에서 채택된 통신규약에 따라 데이터를 부호화(encoding)하거나 부호화된 데이터를 복호(decoding)하는 셀룰러 코덱(1b)과, 고속의 무선 데이터망, 예를 들어 Wi-Fi 방식의 무선랜망( 이하, “Wi-Fi 망”으로 칭한다. )의 지정된 방식에 따라 신호를 변조 또는 복조하여 상기 Wi-Fi 망과 송수신하는 Wi-Fi 모뎀(2a)( RF신호의 처리모듈을 포함하는 구성요소이다 )과, 상기 Wi-Fi 망에서 채택된 통신규약에 따라 데이터를 부호화하거나 부호화된 데이터를 복호하는 Wi-Fi 코덱(2b)과, 영상, 문자 등의 시각적 표시를 위한 디스플레이 패널(5)과, 임의 데이터가 상기 디스플레이 패널(5)상에서 시각적으로 표시되도록 상기 디스플레이 패널(5)을 구동하는 디스플레이 구동부(4)와, 입력되는 인코딩된 영상 및 오디오 데이터를 디코딩하여 영상 및 오디오신호로 출력하는 디코더(8)와, 상기 디스플레이 패널(5)의 전면에 부착된 터치 센서(6a)와, 키(key) 및/또는 버튼(button)이 구비되어 있는 키패드(6b)와, 상기 터치 센서(6a)와 키패드(6b)상의 사용자 입력 및/또는 선택을 감지하여 그에 상응하는 입력 정보를 출력하는 입력 제어부(6)와, 상기 입력 제어부(6)로부터의 입력 정보에 따른 동작이 수행되도록, 상기 구성요소들중 그에 맞는 구성요소에 적절히 데이터를 전송 또는 그로부터 수신하거나 제어하며 그에 따른 결과나 사용자의 원하는 동작의 선택을 위한 UI 화면의 표시를 위해 상기 디스플레이 구동부(4)를 제어하는 주 제어부(10)와, 상기 주 제어부(10)의 동작을 위해 필요한 데이터 저장공간을 제공하는 메모리부(7)를 포함한다.
그리고, 상기 주 제어부(10)는, 저장된 명령코드들을 실행함으로써 상기 운영시스템(100a)이 의도된 기능을 수행하도록 하며, 또한 상기 데이터 수신 관리기(110)의 명령코드들을 실행함으로써 이하에서 상세히 설명하는 상기 데이터 수신 관리기(110)의 동작들이 수행되도록 한다.
또한, 상기 주 제어부(10)는 도 1a에 예시된 다양한 어플들(10a,10b)의 명령코드들을 실행함으로써 각 어플이 의도한 기능들이 수행되도록 하며, 특히, 상기 미디어 플레이어(10a)는, 필요한 경우, 인코딩된 영상 또는 오디오의 데이터 블록들에 대해서, 상기 운영시스템(100a)이 제공하는 적절한 API를 통해, 상기 디코더(8)가 하드웨어적으로 처리하는 디코딩 동작을 이용할 수도 있다.
도 1b에 예시한 상기 무선통신 단말기(100)의 구성은, 본 발명의 개념과 주제에 대한 이해를 돕기 위한 실시예들을 구체적이고 예시적으로 설명하기 위한 단지 하나의 예일 뿐, 본 발명에 따른 개념과 주제를 구현하는 단말기들은 도 1b에 도시되지 않은 다양한 기능의 구성요소들을 더 포함하거나 또는 예시된 구성요소를 배제할 수도 있으며, 하드웨어로 구성된 요소가 소프트웨어적으로 구현될 수도 있다.
도 1a에, 상기 데이터 수신 관리기(110)를 중심으로 그 논리적 구성이 예시된 상기 무선통신 단말기(100)에 의해 이루어지는, 무선 통신대역폭을 타 개체와 적응적으로 공용하여 데이터를 수신하는 과정은 다음과 같다.
먼저, 사용자는 상기 무선통신 단말기(100)에 구비된 입출력부( 상기 디스플레이 패널(5), 터치 센서(6a), 키패드(6b) 등 )를 통해 상기 주 제어부(10)가 제공하는 적절한 UI( User Interface )를 통해 특정의 어플, 예를 들어 상기 서버 미디어 뷰어(10b)를 기동시키면, 그 어플은 지정된 특정의 서버, 예를 들어, 도면에 도시된 원격지의 미디어 서버(200)에 접속하기 위한 URL, 예를 들어 “http://m.youtube.com”과 같은 URL에 대한 통신규약에 의한 요구( 예를 들어, HTTP Request )를, 상기 운영시스템(100a)에 전달되고, 상기 운영시스템(100a)은 현재 데이터 서비스를 위해 연결된( 즉, 접속 IP주소가 할당되어 있는 ) 무선 통신망을 위한 하드웨어 자원( 셀룰러 망이 연결되어 있으면 상기 셀룰러 코덱(1b)/셀룰러 모뎀(1a), Wi-Fi 망이 연결되어 있으면 상기 Wi-Fi 코덱(2b)/Wi-Fi 모뎀(2a) )을 통해, 전달받은 상기 통신규약에 의한 요구를 전송한다. 그에 따라 상기 미디어 서버(200)로부터의 응답, 예를 들어 영상 컨텐트 목록의 웹 페이지 데이터가 접속된 무선 통신망을 통해 수신되면 이를 상기 서버 미디어 뷰어(10b)에 제공한다. 상기 서버 미디어 뷰어(10b)는 수신된 데이터를 해석하고, 전면(front) 실행상태에서는 그 해석된 내용에 따라 데이터를 제공하면서 상기 운영시스템(100a)의 적절한 API를 호출함으로써 도 2에 예시된 바와 같이 상기 디스플레이 패널(5)상에 영상 컨텐트 목록(21)을 표시한다.
영상 컨텐트의 목록(21)이 표시된 상태에서, 사용자가 하나의 항목(21a)을 선택하면 그 선택은 상기 입력 제어부(6)를 통해 상기 운영시스템(100a)에 의해 감지되어 상기 서버 미디어 뷰어(10b)에 전달되며, 그 선택에 대해 상기 서버 미디어 뷰어(10b)는 상기 운영시스템(100a)이 제공하는 사용자 UI의 API를 통해, 해당 항목을 즉시 시청할 것인 지 아니면 다운로드를 선택할 것인 지를 사용자에게 문의한다(22). 사용자가 상기 문의에 대해 “다운로드”를 요청하면, 상기 서버 미디어 뷰어(10b)는 선택된 항목을 식별키 위한 정보, 예를 들어 영상 컨텐트의 URL을 상기 데이터 수신 관리기(110)에 전달하게 된다. 실시예에 따라서는, 그 선택된 영상 컨텐트의 제목(title)( 이들 정보는, 수신하여 표시하였던 웹 페이지의 정보로부터 획득할 수 있다. ) 등을 추가적으로 상기 데이터 수신 관리기(110)에 전달할 수도 있다.
선택된 컨텐트에 대한 식별정보 등을 전달하는 방식의 하나로서는, 도 3a에 예시된 바와 같이, 하나의 정보 구조체(體)인 인텐트(intent) 오브젝트(30)를 생성하고 그 오브젝트(30)에 전달할 정보와 대상 정보를 기재하여 그 인텐트 오브젝트(30)를 매개인자(argument)로 하여 상기 운영시스템(100a)이 제공하는 API 함수를 호출하게 된다. 상기 생성하는 인텐트 오브젝트(30)는, 상기 운영시스템(100a)이 프로세스간의 정보/명령 등의 교환을 위해 정의한 정보포맷에 부합하여 구성되며, 도 3a에 예시된 바와 같이, 정보전달 대상인 상기 데이터 수신 관리기(110)에 대한 식별자, 예를 들어, 패키지(package)명과, 상기 데이터 수신 관리기(110)가 처리하는 것으로 지정된 마임유형(MIME_Type), 그리고 컨텐트 식별정보(30a)가 상기 생성된 인텐트 오브젝트(30)에 기재된다. 전술한 바와 같이, 컨텐트 타이틀과 같은 컨텐트에 대한 부가정보(30b)도 상기 인텐트 오브젝트(30)에 포함될 수도 있다.
상기와 같은 방식으로 구성된 상기 인텐트 오브젝트(30)가 수신되면, 상기 운영시스템(100a)은 해당 오브젝트의 패키지명에 의해 지정되는 상기 데이터 수신 관리기(110)를 호출하면서 상기 인텐트 오브젝트(30)를 입력인자로서 전달하게 된다. 상기 서버 미디어 뷰어(10b)가 정보전달 대상의 패키지명을 상기 인텐트 오브젝트(30)에 기재하지 않을 수도 있는 데, 이 때는 상기 운영시스템(100a)은 해당 인텐트 오브젝트내의 마임유형에 대해, 설치시에 그 마임유형을 처리하는 것으로 지정된 어플( 복수의 경우에는 사용자에게 선택하도록 제시하여 선택된 하나의 어플 )의 패키지명을 수신된 인텐트 오브젝트에 기재하고 그 패키지명의 어플을 호출하게 된다.
본 발명에 따른 다른 일 실시예에서는, 인텐트 오브젝트가 아닌 다른 유형의 정보 구조체인 IP주소 기반의 통신규약에 의한 요구를 통해 선택된 컨텐트 식별정보 등이 상기 데이터 수신 관리기(110)에 전달될 수 있다. 본 실시예에서는, 상기 데이터 수신 관리기(110)에 내부 IP주소임을 가리키도록 지정된 특정 IP주소 예를 들어 “127.0.0.1” 또는 “localhost”와 지정된 포트번호를 갖는 “내부 IP주소”를 할당하고, 상기 서버 미디어 뷰어(10b)는, 도 3b에 예시된 바와 같이, 전술한 바의 컨텐트 식별정보(31a) 등을 상기 내부 IP주소를 목적지로 하는 통신규약에 의한 요구(31), 예를 들어 HTTP Request의 바디(body)에 작성하여 상기 운영시스템(100a)이 실행하는 통신규약에 따라 상기 데이터 수신 관리기(110)에 전달한다. 이 때는, 상기 운영시스템(100a)에 의해 각 어플간의 통신을 위한 내부 통신소켓(301a,301b)이 각기 생성되고 이 통신소켓을 통해 요구와 응답이 교환된다. 본 실시예에서도 물론, 컨텐트에 대한 부가정보(31b)도 상기의 통신규약에 의한 요구(31)의 바디에 작성되어 상기 데이터 수신 관리기(110)에 전달될 수 있다.
만약, 앞서의 “즉시 시청” 또는 “다운로드”의 문의(22)에 대해 사용자가 “지금 시청”을 선택한 경우에는, 선택된 항목(21a)에 대한 액세스 정보, 예를 들어 URL에 대한 통신규약에 의한 요구를 작성하여 이를 상기 운영시스템(100a)을 통해 해당 서버( 이 서버는 상기 미디어 서버(200)일 수도 있고 다른 서버일 수도 있다. )에 송신함으로써, 해당 서버로부터 그 선택된 항목(21a)에 의한 영상 컨텐트가 전송되도록 한다. 상기 통신규약에 의한 요구에 따른 상기 해당 서버의 응답에는, 상기 영상 컨텐트 파일의 데이터외에, 그 파일에 대한 설명정보, 예를 들어 MIME (Multipurpose Internet Mail Extensions) Type, 파일의 전체 크기 등에 대한 정보가 포함되어 있다. 따라서, 상기 서버 미디어 뷰어(10b)는 수신된 응답의 MIME Type에 연결되어 있는 어플인 상기 미디어 플레이어(10a)를 기동시킨다. 상기 미디어 플레이어(10a)의 연결은 MIME Type이 아닌 파일의 확장자명에 의해서 이루어질 수도 있다. 상기 서버 미디어 뷰어(10b)는 상기 미디어 플레이어(10a)를 기동시킬 때, 수신한 응답을 초래하였던 URL 또는 그에 따라 작성된 통신규약에 의한 요구, 예를 들어 HTTP Request를 상기 기동되는 미디어 플레이어(10a)에 호출 매개인자(argument)로서 전달한다.
상기 미디어 플레이어(10a)가 기동되면, 통지된 호출 매개인자, 즉 통신규약에 의한 요구를 상기 운영시스템(100a)에 제공하여 통신소켓의 생성을 요구하고, 그 생성된 통신소켓을 통해 상기 수신한 통신규약에 의한 요구를 상기 해당 서버에 다시 전송하여, 앞서 상기 서버 미디어 뷰어(10b)가 수신하였던 응답을 상기 생성된 통신소켓을 통해 상기 미디어 플레이어(10a)가 수신한다. 상기 미디어 플레이어(10a)는 상기 수신되는 영상 컨텐트의 데이터에 포함되어 있는 인코딩 정보에 의해 디코딩 방식을 결정한 뒤, 그 결정된 디코딩 방식에 따라 컨텐트 데이터를 부분적으로 또는 완전하게 디코딩한다. 그리고, 부분적으로 디코딩하는 경우에는 그 결정된 디코딩 방식을 상기 디코더(8)에도 설정한다. 상기의 부분적 디코딩은, 예를 들어 블록단위, 픽처단위 또는 GoP (Group of Pictures) 단위의 미디어 패킷들의 추출일 수 있다. 이와 같이 부분적으로 디코딩하는 경우에는 그 디코딩된 미디어 패킷들을 상기 디코더(8)에 인가하면서 디코딩을 요청함으로써 이들에 의한 영상과 오디오 데이터가 출력되도록 한다. 이와 같이 디코딩된 영상 데이터는, 상기 디스플레이 구동부(4)에 인가됨으로써, 상기 미디어 플레이어(10a)가 지정한 플레이 화면상에 영상신호로 출력된다.
이와 같이, 수신되는 영상 컨텐트가 플레이되고 있는 중에, 현재 접속된 무선 통신망(11)의 통신상태로 인해 데이터 수신이 원활하게 이루어지지 않아 시청이 원활치 않거나 또는 이용자가 현재의 시청을 중단하고 이후 적절한 시점에 시청코자 하여, 상기 미디어 플레이어(10a)가 제공하는 메뉴 등을 통해 “다운로드”를 요청하게 되면, 상기 미디어 플레이어(10a)는, 도 3c에 예시된 바와 같이, 상기 운영시스템(100a)을 통한 인텐트 오브젝트를 매개인자로 하는 상기 데이터 수신 관리기(110)의 호출을 통해, 또는 내부 IP주소를 기반으로 한 통신규약에 따른 방식을 통해, 플레이하는 컨텐트의 식별정보(32a) 등을 상기 데이터 수신 관리기(110)에 전달한다.
지금까지, 다운로드할 컨텐트 항목이 선택되어 그 항목의 식별정보가 상기 데이터 수신 관리기(110)에 전달되는 예를 설명하였지만, 전술한 예들 외에 다양한 방식으로 다운로드할 항목이 선택되어 상기 데이터 수신 관리기(110)에 전달될 수 있다. 예를 들어, 지정한 온라인상의 상대방과 메시지 등을 주고받을 수 있는 카카오톡(kakao talk)과 같은 인스턴트 메신저 어플을 통해, 상대방이 보낸 대화내용에 있는 영상 컨텐트 소스의 URL이 터치되었을 때도, 상기 메신저 어플에 의해서 전술한 바와 같은 방식으로 그 URL이 컨텐트 식별정보로서 상기 데이터 수신 관리기(110)에 전달될 수도 있다.
한편, 전술한 바와 같이, 목록에서 선택되거나 또는 플레이 도중 중단되는 등에 의해 다운로드가 요구된 컨텐트에 대한 식별정보(30a, 31a 또는 32a) 등이 상기 데이터 수신 관리기(110)에 전달되면, 이를 상기 수신 제어부(111)가 수신하게 되고, 상기 수신 제어부(111)는, 수신된 정보에 의해 식별되는 컨텐트의 다운로드 동작을 수행하게 된다.
이를 위해, 상기 수신 제어부(111)는 수신된 컨텐트 식별정보를, 도 4에 예시된 바와 같이, 자신이 관리하는 “다운로드 목록”(40)에 하나의 항목(401)으로 등재시킨다. 이러한 방식으로 상기 다운로드 목록(40)에 등재된 각 항목에는, 다운로드할 컨텐트에 대한 식별정보 외에, 현재 다운로드 진행상태인 지와 진행이 얼마나 이루어졌는 지를 알 수 있게 하는 현황에 대한 정보가 기재되는 현황 필드들(411)이 포함된다.
상기 수신 제어부(111)는, 상기 다운로드 목록(40)에 하나의 항목을 등재한 후, 또는 주기적으로 행하는 상기 다운로드 목록(40)의 항목 등재여부의 확인시에 등재된 항목이 있으면, 해당 항목의 컨텐트 식별정보(412), 예를 들어 URL을 참조하여 해당 컨텐트의 데이터를 다음에 설명하는 방식을 통해 수신받게 된다.
상기 수신 제어부(111)는 먼저, 해당 컨텐트 식별정보(412)를 요청하는 통신규약에 의한 요구를 작성하여 상기 데이터 송수신부(112)에 전송요청하는 데, 이 요청에 앞서, 그 요청에 대한 응답으로 수신될 데이터를 저장하기 위한 파일(421k)을, 도 4에 예시된 바와 같이, 상기 운영시스템(100a)이 제공하는 파일시스템( File System )을 통해 생성하여 그 파일 정보, 예를 들어 파일명 또는 파일 포인터를 해당 다운로드 항목의 저장정보 필드(413)에 기재한다. 그리고, 해당 다운로드 항목의 액세스 정보, 예를 들어 구조 포인터(structure pointer)를, 상기 통신규약에 의한 요구를 상기 데이터 송수신부(112)에 제공할 때 함께 전달한다.
상기 통신규약에 의한 요구를 수신한 상기 데이터 송수신부(112)는, 현재의 이용가능한 통신망에 대해, 그 요구에 의해 지정된 호스트를 목적지로 하는 통신소켓을 상기 운영시스템(100a)에 생성요청하고, 그에 따라 통신소켓이 생성되면 그 통신소켓을 통해 상기 통신규약에 의한 요구, 예를 들어 HTTP Request를 송신한다. 이용가능한 통신망에 대한 확인은, 상기 운영시스템(100a)에의 문의를 통해 얻어지는 망접속 정보를 통해 이루어질 수 있다. 상기 운영시스템(100a)으로부터 리턴되는 망접속 정보에는, 통신망에 접속된 경우에 접속 IP주소와 그 통신망과의 커넥션 유형( 예를 들어, 3G 이동전화 통신망, Wi-Fi 망 ) 등이 포함되므로, 그 유형정보를 통해, 현재 이용코자 하는 통신망을 다르게 지정하거나 현재 접속되어 있는 통신망을 그대로 이용할 수 있다. 상기 생성된 통신소켓을 통해 전달된 통신규약에 의한 요구는 상기 운영시스템(100a)이 사용하는 무선자원을 통해 해당 서버( 도 1a의 미디어 서버(200) 또는 그 외의 다른 서버 )로 전송되고, 그 요구를 수신한 해당 서버는 그 요구에 대한 응답을 상기 무선통신 단말기(100)로 송신하게 된다.
상기 해당 서버가 송신하는 응답의 데이터는, 상기 무선통신 단말기(100)의 하드웨어 자원( 셀룰러 코덱(1b)/셀룰러 모뎀(1a), 또는 상기 Wi-Fi 코덱(2b)/Wi-Fi 모뎀(2a) )을 통해 수신되어 상기 운영시스템(100a)에 제공되고, 상기 운영시스템(100a)은 수신되는 데이터의 TCP 커넥션 정보에 근거하여 그와 연관된 통신소켓을 식별하고, 그 식별된 통신소켓을 통해, 상기 수신한 응답 데이터를 상기 데이터 송수신부(112)에 전달하게 된다. 상기 데이터 송수신부(112)는, 자신이 송신한 통신규약에 의한 요구에 따른 응답 데이터가 수신되면, 앞서 상기 수신 제어부(111)가 그 요구와 함께 전달한 액세스 정보, 예를 들어 구조 포인터가 지시하는 항목의 저장정보 필드(413)의 정보를 확인하고, 그 확인된 정보가 지시하는 공간, 예를 들어 파일내에 상기 수신되는 응답 데이터를 저장한다. 그리고 저장이 시작되면 그 사실을 상기 수신 제어부(111)에 통지하게 된다.
한편, 통신규약에 의한 요구에 대한 응답에는, 전술하였던 바와 같이, 요청된 영상 컨텐트 파일의 데이터외에, 그 파일에 대한 설명정보, 예를 들어 MIME (Multipurpose Internet Mail Extensions) Type, 파일의 전체 크기 등에 대한 정보가 컨텐트 데이터에 앞서 포함되어 있다. 상기 수신 제어부(111)는 응답 데이터 수신이 시작된 다운로드 항목에 대한 통지가 상기 데이터 송수신부(112)로부터 있게 되면, 해당 다운로드 항목의 저장정보 필드(413)에서 지정하는 파일에 기록된 응답 데이터에서, 선두에 저장되어진 컨텐트 파일의 설명정보를 먼저 확인하고, 파일 설명정보에서 원하는 정보, 예를 들어 컨텐트 파일의 크기 등이 확인되면, 그 크기 정보를 해당 다운로드 항목의 컨텐트 데이터 크기 필드(411a)에 기재한 후, 그 다운로드 항목에 대해 수신되는 응답 데이터의 중단을 요청하는 통신규약에 의한 요구를 작성하여 상기 데이터 송수신부(112)를 통해 해당 서버에 전송한다. 다르게는, 응답 데이터의 중단을 상기 데이터 송수신부(112)에 요청하고, 그 요청에 따라 상기 데이터 송수신부(112)가 그 응답 데이터가 수신되고 있는 통신소켓의 해제를 상기 운영시스템(100a)에 요청함으로써 해당 서버와의 응답 데이터 송수신이 중단되게 할 수도 있다.
본 발명에 따른 일 실시예에서는, 다운로드 항목에 대해 해당 컨텐트를 요청하는 요구를 전송한 후 그 응답 데이터의 중단을 요청하는 대신, 상기 수신 제어부(111)가, 도 5에 예시된 바와 같이, 그 컨텐트의 선두의 일부분만을 지정하여(51) 요청하는 문서(50)를 작성하여 상기 해당 서버로 전송할 수도 있다. 이 일부분을 요청하는 요구에 대한 응답에서도 물론 전술한 파일의 설명정보는 수신된다.
전술한 실시예들 중 어느 하나의 방식으로 수신된 파일의 설명정보에서, 앞으로 수신할 컨텐트의 파일 크기를 확인한 경우에는, 상기 수신 제어부(111)는 그 컨텐트 파일을 나누어서 수신요청할 조각(chunk)의 크기를 결정한다. 조각의 크기를 결정함에 있어서는, 그 크기의 조각이, 이용할 수 있는 무선 통신망을 통해 수신할 때 소요되는 시간이 수초 정도 걸리게 되는 크기를 정하게 된다. 조각의 크기를 정하는 예시적인 방법으로서는, 상기 확인된 컨텐트 파일의 크기가 N바이트일 때, 예를 들어, 이의 1%에 해당하는 0.01xN의 값( 이 값이 500 kByte이하이면 500 kByte )을 조각의 크기로 결정한다. 본 발명에 따른 다른 일 실시예에서는, 조각의 크기를 수신할 컨텐트의 크기와 무관하게, 기 설정된 고정된 값, 예를 들어 수백 kByte의 어느 값을 사용할 수도 있다. 또한, 기 설정된 크기를, 해당 컨텐트 파일의 데이터 전부를 수신할 때까지 지속하지 않고, 수신받는 동안의 통신망의 통신상태에 따라 그 크기를 가변시킬 수도 있다. 예를 들어, 앞서 요청한 컨텐트 조각의 수신시간이 그 이전 조각의 수신시간보다 짧으면 다음 조각은 그 크기를 좀 더 크게 하고, 반대로 수신시간이 길면 다음 조각은 그 크기를 좀 더 작게 한다.
컨텐트의 조각의 크기를 결정한 후에는, 상기 수신 제어부(111)는, 해당 다운로드 항목의 컨텐트 데이터의 첫번째 조각을 요구하는, 도 5에 예시된 바와 같은 요청문서를 작성하여 상기 데이터 송수신부(112)에 그 전송을 요청한다. 본 발명에 따른 일 실시예에서는, 앞서의, 파일의 설명정보를 받기 위한 통신규약에 의한 요구를 통해 수신된 컨텐트의 선두의 일부분을 무시하지 않고, 그 일부분에 이어서 결정된 크기의 조각을 요청하는 문서를 작성함으로써 앞서 수신되었던 데이터의 일부분을 유용할 수도 있다. 컨텐트 조각의 전송 요청을 상기 데이터 송수신부(112)에 전달할 때도 물론, 해당 다운로드 항목을 액세스할 수 있게 하는 구조 포인터도 함께 전달한다. 그리고 이 때는 상기 수신 제어부(111)가 상기 요청문서에 대하여 “통신대역폭 사용현황”의 보고를 상기 데이터 송수신부(112)에 명령한다. 이에 따라, 상기 데이터 송수신부(112)는, 상기 요청문서에서 지정한 조각의 크기를 확인한 후, 앞서 생성된 통신소켓 또는 새로이 생성한 통신소켓을 통해 상기 운영시스템(100a)을 통해 해당 서버로 상기 수신한 요청문서를 전송하고, 상기 통신대역폭 사용현황 보고의 명령에 따라 상기 해당 서버로부터의 상기 요청문서에 대한 응답이 수신되면 그 수신 데이터를 주기적으로 모니터링하게 된다.
상기 데이터 송수신부(112)가 모니터링하는 주기는 상기 요청문서를 전송한 통신망의 종류에 따라 달리 그리고 적응적으로 설정될 수 있다. 통신망의 종류는 앞서 설명한 바와 같이 통신소켓의 생성시에 확인한 커넥션 유형을 통해 알 수 있으며, 각 통신망의 종류에 대해 통상적으로 알려진 데이터 서비스 제공속도가 빠를수록 짧은 주기가 설정된다. 예를 들어, 통신망이 3G 셀룰러 망이면 Wi-Fi 망보다 설정하는 주기를 약 5~10배 더 길게 설정하게 된다. 그리고, 설정하는 주기의 시간은, 앞서 결정한 크기의 컨텐트 조각이 수신완료될 때까지 소요될 것으로 예상되는 시간의 예를 들어, 약 1/10보다 짧은 시간으로 지정된다. 이와 같이 지정된 모니터링 주기는 해당 컨텐트 파일의 데이터 전부를 수신할 때까지 고정되지 않고, 수신받는 동안의 통신망의 통신상태에 따라 적응적으로 가변될 수도 있다. 예를 들어, 통신속도가 더 빨라지면 주기는 더 짧게 가변되고, 통신속도가 더 늦어지면 주기는 더 길게 가변된다. 전술한 실시예에서와 같이, 통신망의 통신상태에 따라 컨텐트 조각의 크기를 가변시키는 경우에는 모니터링하는 주기는 가변시키지 않을 수도 있다.
컨텐트 조각에 대한 전송요청 후에 그 조각의 데이터가 수신되면, 상기 데이터 수신 관리기(110)는, 도 6에 그 흐름이 예시된 과정에 따라, 타 개체, 예를 들어 어플, 프로세스 등의 통신대역폭의 사용정도를 고려하여 적응적으로 통신대역폭을 사용하게 되는 데, 도 6의 예시적 절차를 참조하여 그 과정에 대해 이하에서 상세히 설명한다.
전술한 바와 같은 컨텐트 조각의 전송요청에 따라, 상기 해당 서버로부터 상기 송신한 요청문서에 대한 응답 데이터가 수신되어(S611) 상기 무선통신 단말기(100)의 통신 하드웨어 자원을 통해 상기 운영시스템(100a)에 전달되면, 상기 운영시스템(100a)은 그 응답 데이터를 상기 데이터 송수신부(112)에 의해 생성된 통신소켓에 넣고 이벤트를 발생시킨다. 상기 데이터 송수신부(112)가 그 발생 이벤트를 감지하면, 도 7a에 예시된 바와 같이, 상기 운영시스템(100a)에 그 이벤트 발생 시점(701)의 데이터 통신내역(721)을 요청하여 획득하고(702) 상기 모니터링 주기(Tint)를 활성화시킨다. 상기 데이터 통신내역에는, 도 7a에 예시된 바와 같이, 그 시점까지의 송수신된 데이터량과 데이터 송수신을 하고 있는 또는 있었던 개체의 식별자, 예를 들어 프로세스 ID가 각각 기록되어 있다.
그리고, 상기 활성화된 주기(Tint)의 매 타임아웃(time-out)(t71i, i=1,2,…,E)마다, 상기 데이터 송수신부(112)는, 상기 통신소켓을 확인하고, 데이터가 수신되어 있으면 그 데이터를, 상기 요청문서와 함께 수신된 구조 포인터가 지시하는 항목의 저장정보 필드(413)의 정보가 지시하는 공간, 예를 들어 파일내에 상기 수신되어 있는 데이터를 앞서 저장된 데이터에 이어서 저장한다. 그리고, 이와 같이 통신소켓에 수신된 데이터를 다른 공간, 예를 들어 파일에 이동시킨 후에는 그 이동시킨 데이터량을 앞서 이동시켰던 데이터량에 누적합산한다. 이와 같이 누적합산되는 크기가, 앞서 전송요청받은 요청문서로부터 확인한 조각의 크기이상이 되면, 이 시점은, 도 7a에 예시된 t71E 시점과 같이, 전송요청한 컨텐트 조각을 구성하는 데이터 블록들이 모두 수신된 것으로 추정할 수 있는 시점이므로, 상기 데이터 송수신부(112)는, 상기 모니터링 주기(Tint)를 비활성화시키고, 상기 운영시스템(100a)에는 그 시점(t71E)에서의 데이터 통신내역(722)을 요청하여 획득한다(703). 상기 데이터 송수신부(112)는, 전술한 바와 같이 2개의 데이터 통신내역(721,722)을 획득하게 되면, 상기 무선통신 단말기(100)의 통신대역폭 사용내역을 다음과 같은 방식으로 파악한다.
상기 데이터 송수신부(112)는, 이벤트 발생시에 획득한 데이터 통신내역(721)과 컨텐트 조각 수신완료시 또는 그 추정시에 획득한 데이터 통신내역(722)을 상호 비교하여, 데이터 송수신량의 변화가 있는 프로세스 항목을 확인한다. 송수신량의 변화가 있는 항목에는, 해당 조각의 수신동안 처음 송수신량을 발생시켜서 상기 데이터 통신내역(722)에 새로이 등재된 프로세스 항목도 물론 포함된다. 본 발명에 대한 설명의 이해를 돕기 위해, 도 7a의 예시에서, Proc. ID1의 프로세스에 의한 데이터 송수신량(722a)에 변화가 발생하였고, Proc. IDk의 프로세스는 새로이 상기 데이터 통신내역(722)에 기재(722b)된 것으로 가정한다( 이는 곧, Proc. IDk의 프로세스가, 상기 데이터 수신 관리기(110)에 의한 프로세스임을 의미한다. ). 상기 데이터 송수신부(112)는, 상기 양 데이터 통신내역(721,722)의 차이로부터 통신대역폭 사용현황 정보를 구성한다. 상기의 가정에 따라, 상기 데이터 송수신부(112)는, 도 7b에 예시된 바와 같은 구조와 값을 갖는 통신대역폭 사용현황 정보를 구성하여 이를 상기 수신 제어부(111)에 보고한다(S612). 이 때, 컨텐트 조각의 수신완료에 소요된 시간(TCCSrec)에 대해서도 상기 수신 제어부(111)에 보고할 수도 있다. 도면의 예시에서는, 상기 데이터 송수신부(112)가, 상기 무선통신 단말기(100)의 데이터 수신에 의해 사용된 대역폭(BW1,BWk)을 계산하여 상기 통신대역폭 사용현황 정보를 구성하였지만, 대역폭을 계산할 수 있는 변수의 값{ 측정구간의 시간(TCCSrec, 이 시간은 예시된 도면에서 Tint*E와 같다)과 그 구간의 시점과 종점에서 각기 확인된 누적된 데이터 수신량(NiR1,NiR2, i=1,k) }으로써 상기 통신대역폭 사용현황 정보를 구성할 수도 있다. 상기 각 변수의 값을 사용하여 사용 대역폭을 계산하는 방식은 도 7b에 예시된 바와 같다(731,732). 물론, 모니터링 주기(Tint)의 크기가 전술한 실시예에서와 같이 동적으로 변하는 경우에는, Tint*E 대신 Tint의 전체의 합이 사용된다.
도 7b에 예시된 바와 같은 구조를 갖는 통신대역폭 사용현황 정보가 수신되면, 이는 전송요청한 컨텐트 조각이 수신완료된 것임을 의미하므로, 상기 수신 제어부(111)는 이때부터 경과되는 시간을 추적하고, 현재 상기 무선통신 단말기(100)에서 전면실행 모드로 동작하고 있는 개체, 즉, 어플 또는 프로세스가 있는 지를 확인한다(S613). 이의 확인을 위해, 상기 수신 제어부(111)는 상기 운영시스템(100a)에 현재 실행 프로세스 현황정보를 요청하여 수신한다. 상기 실행 프로세스 현황정보에는, 실행되고 있는 프로세스의 ID, 패키지명, 그리고 실행모드( 전면(front)실행, 이면(background)실행 ) 등의 정보가 포함되어 있다. 상기 수신 제어부(111)는, 상기 운영시스템(100a)으로부터 리턴된 실행 프로세스 현항정보를 확인하여, 현재 전면실행 모드의 프로세스가 있으면, 그 프로세스의 패키지명과, 앞서 상기 데이터 송수신부(112)로부터 보고받은 통신대역폭 사용현황 정보에 기재된 각 프로세스 ID에 대해 상기 실행 프로세스 현황정보로부터 파악한 각 패키지명과 비교한다(S614).
비교되는 패키지명에 상호 동일한 패키지명이 있다는 것은, 상기 무선통신 단말기(100)의 상기 디스플레이 패널(5)의 전부 또는 일부를 점유하고 그 점유된 공간에 영상, 이미지, 또는 텍스트 등을 출력하고 있는 어플이 현재 데이터 수신을 수행하고 있음을 의미한다. 이 때는, 상기 수신 제어부(111)는, 전면실행 모드의 타 어플만이, 또는 그 외 다른 어플과 함께( 이 경우는, 도 7b에 예시된 통신대역폭 사용현황 정보에, 예시된 정보 항목외에 또 다른 프로세스 ID와 사용대역폭에 대한 정보가 포함되어 있는 경우이다. ) 사용하는 통신대역폭이 얼마인 지를 확인한다(S621). 이를 위해, 상기 수신 제어부(111)는, 상기 데이터 송수신부(112)에 비부하(非負荷) 대역폭 사용현황 정보의 보고를 다시 명령한다( “비부하”의 용어는 컨텐트 조각이 수신되지 않고 있는 상태의 통신자원에 대한 부하라는 의미로서 사용된다. ). 비부하 대역폭 사용현황 정보의 보고 명령이 수신되면, 상기 데이터 송수신부(112)는 비부하 측정시간(Tme)을 정한다. 상기 비부하 측정시간(Tme)은, 앞서 컨텐트 조각을 수신하는 데 소요된 시간보다 작게, 예를 들어, 1/5 ~ 1/2의 범위의 값으로써 정할 수도 있다. 상기 정한 비부하 측정시간(Tme)을 활성화시킴과 동시에, 도 7a를 참조로 하여 설명한 바와 같이, 데이터 통신내역을 상기 운영시스템(100a)에 요청하여 획득하고, 상기 비부하 측정시간(Tme)이 타임아웃되면 또한 그 시점의 데이터 통신내역을 획득한 후, 도 7b에 예시된 바와 같은 구조를 갖는 통신대역폭 사용현황 정보를 구성하여 상기 수신 제어부(111)에 보고한다. 앞서의 설명에서 제시하였던 가정에 근거할 때, 상기 데이터 송수신부(112)는, 상기 비부하 측정시간(Tme)동안에는 컨텐트 조각을 요청하지 않아서 해당 데이터를 수신하지 않았으므로 이 때 보고되는 통신대역폭 사용현황 정보에서는, 도 7b에 예시된 Proc. IDk의 항목은 배제될 것이다.
한편, 상기 운영시스템(100a)이 관리하는 송수신 데이터 현황에는, 통신 프로토콜에 따른 송수신된 관리 데이터가 더 포함될 수 있으므로, 각 어플에 속하는 프로세스가 실제 수신받는 데이터량과 다소 차이가 있을 수 있다. 이러한 차이는, 어플이 실제 수신받는 데이터량에 비해서 그 양이 적으므로, 통신대역폭의 사용에 있어서 그 영향도 미미하다. 따라서, 상기 데이터 송수신부(112)는 측정하는 시간( E*Tint 또는 Tme )의 시작과 종료점에 각기 획득한 데이터 통신내역에서, 수신량의 차이가 미미하며, 예를 들어, 전술한 바와 같은 방식으로 결정하는 컨텐트 조각의 크기의 5~10%이하이면 해당 프로세스에 대해서는 상기 통신대역폭 사용현황 정보에 기재하지 않을 수 있다.
상기 비부하 대역폭 사용현황 정보 보고 명령에 따라, 상기 데이터 송수신부(112)로부터 통신대역폭 사용현황 정보가 수신되면, 상기 수신 제어부(111)는, 그 정보를 앞서 수신하였던 통신대역폭 사용현황 정보와 비교하여, 현재 전면실행 모드의 타 어플( 또는 그 외의 다른 어플이 포함되어 )의 통신대역폭 사용에 영향을 주지 않고 가용할 수 있는 여유 대역폭이 있는 지를 다음에 설명하는 과정을 통해 확인한다(S622).
상기 수신 제어부(111)는, 컨텐트 조각의 수신후 상기 데이터 송수신부(112)로부터 수신한 통신대역폭 사용현항 정보로부터, 도 8a에 예시된 바와 같이, 상기 데이터 수신 관리기(110)( 이는, 앞서 설명한 바와 같이, 통신대역폭 사용현황 정보에 기재된 프로세스 ID와, 해당 프로세스 ID에 대해, 실행 프로세스 현황정보로부터 파악한 패키지명으로부터 알 수 있다. )가 사용한 통신대역폭(BWcon)과 나머지 개체, 예를 들어 어플( 또는 어플들 )이 사용한 통신대역폭(BWother1)의 합(BWcon+BWother1)을 파악하고, 상기 비부하 대역폭 사용현황 정보 보고 명령에 따라 수신된 통신대역폭 사용현황 정보에서 모든 프로세스들이 사용한 전체 통신대역폭(BWother2)을 확인한다. 그리고, 컨텐트 조각 수신시에 사용된 대역폭( 이하, “부하 대역폭”이라 칭한다. )(801)의 크기와 컨텐트 조각 데이터의 수신이 없는 동안에 타 어플( 또는 어플들 )이 사용한 비부하 대역폭(802)의 크기를 비교한다. 상기 비부하 대역폭(802)이 상기 부하 대역폭(801)과 거의 동일하거나( 일정 허용범위, 예를 들어 1~2%의 차이내이면 ) 그보다 크면, 상기 수신 제어부(111)는 여유 대역폭이 없는 것으로 판단하고, 그 범위를 벗어나 도 8a에 예시된 바와 같이, 상기 비부하 대역폭(802)이 상기 부하 대역폭(801)보다 작으면 여유 대역폭이 있는 것으로 판단한다.
통상, 무선신호를 통해 제공되는 데이터 서비스 속도, 즉 통신대역폭은 매우 가변적이어서, 서비스 가능한 최대 통신대역폭은 일정하게 유지되지 않는다. 그런데, 특정의 통신규약에 의한 요구, 예를 들어 HTTP Reqeuest에 의한 데이터 요구에 대해서는 데이터 제공자와 수신자간에 가용할 수 있는 통신자원의 최대치를 사용하여 응하게 된다. 따라서, 본 발명의 실시예에서와 같이, 컨텐트 조각을 요청하는 요구에 의해 해당 데이터가 수신될 때는, 타 개체( 어플, 프로세스 등 )가 통신대역폭을 포함하는 통신자원을 이용하고 있는 경우에도 그 개체와 경합하여 이용가능한 최대한의 통신대역폭을 사용하게 된다. 즉, 도 8a에 예시된 사용 통신대역폭에서 상기 부하 대역폭(801)이, 현 상태에서, 상기 무선통신 단말기(100)가 이용할 수 있는 최대 통신대역폭인 것으로 추정할 수 있다. 이와 같이 추정된 최대 가용 대역폭이 타 개체에 의해서 모두 사용되지 않게 되면, 그 차이분( 도 8a의 803 )은, 그 타 개체가 현 시점에 필요로 하는 통신대역폭을 잠식하지 않으면서 임의의 개체가 사용할 수 있는 여유 대역폭으로 볼 수 있는 것이다.
상기 수신 제어부(111)는, 여유 대역폭이 있는 것으로 판단되면, 상기 부하 대역폭(801)에서 상기 비부하 대역폭(802)을 차감하여 여유 대역폭(BWavail)(803)을 계산하고, 평균적으로 그 여유 대역폭(BWavail)을 사용하게 할 컨텐트 조각 수신을 위한, 도 9a에 예시된 바의 전송요청 대기시간(Twait)을 산출한다(S631). 상기 전송요청 대기시간(Twait)은 컨텐트 조각의 크기(CCS)를 상기 계산된 여유 대역폭(BWavail)으로 나누어서 구하게 되는 데, 이 시간은 상기 데이터 수신 관리기(110)에 의해서는 통신대역폭에 부하가 발생하지 않도록 하는, 즉 통신대역폭을 사용하지 않기 위한 시간이다.
본 발명에 따른 다른 일 실시예에서는, 도 9b에 예시된 바와 같이, 컨텐트 조각의 크기(CCS)를 상기 계산된 여유 대역폭(BWavail)으로 나누어서 얻어지는 시간(TD)에, 앞서 상기 데이터 송수신부(112)로부터 수신하였던 조각수신 소요시간(TCCSrec)을 차감하여 상기 전송요청 대기시간(Twait)을 구할 수도 있다(913). 이는, 이전 수신된 컨텐트 조각(911)에 의한 평균적인 사용 대역폭이 상기 여유 대역폭에 상당하도록 의도한 것이며, 다른 관점에서는, 동일 통신상태하에서, 전송 요청할 동일 크기의 다음 컨텐트 조각(912)의 수신시에 소요될 것으로 예상되는 시간을 고려하여 평균적으로 상기 여유 대역폭을 사용할 것을 의도한 것으로 볼 수도 있다. 본 실시예에서, 전송요청할 컨텐트 조각의 크기를 가변시키는 경우에는, 앞서 전송요청하여 수신한 조각(911)의 크기(CCS)에 대한 지금 전송요청할 조각(912)의 크기(CCS')의 비율(α=CCS'/CCS)을 구하여, 상기 수신하였던 조각수신 소요시간(TCCSrec)의 상기 비율에 해당하는 시간(TCCSrec'=α·TCCSrec)을 상기 시간(TD)에서 차감하여 상기 전송요청 대기시간(Twait)을 구할 수도 있다(914).
상기 수신 제어부(111)는, 전술한 일 실시예에 따라, 상기 전송요청 대기시간(Twait)이 구해지면, 앞서 추적하고 있는 경과시간이 그 대기시간에 해당될 때, 다운로드 항목의 컨텐트에 대해, 앞서 수신하였던 컨텐트 조각의 다음 구간을 지정하는 통신규약에 의한 요구를, 도 5에 예시된 바와 같이 작성하여 상기 데이터 송수신부(112)에 전송요청함으로써(901,921), 해당 구간의 컨텐트 조각을 수신하게 된다(S632). 물론, 이 때도 상기 수신 제어부(111)는, 앞서의 컨텐트 조각 전송요청에서와 마찬가지로, 상기 데이터 송수신부(112)에 필요 정보를 전달하고 통신대역폭 사용현황의 보고를 명령하게 된다. 본 실시예에서는, 상기 전송요청 대기시간(Twait)내에 앞서 설명한 비부하 대역폭을 측정하기 위한 시간(Tme)이 속해 있지만, 본 발명에 따른 다른 일 실시예에서는, 상기 전송요청 대기시간(Twait)을 상기 비부하 측정시간(Tme) 후부터 경과된 시간과 비교함으로써, 상기 전송요청 대기시간(Twait)내에 상기 비부하 대역폭을 측정하기 위한 시간이 속하지 않도록 할 수도 있다.
이 후에는, 다운로드 항목의 컨텐트의 마지막 조각이 수신될 때까지(S633), 도 6에 예시된 바와 같이 전술한 과정들이 반복된다. 그리고, 반복되는 과정에서는, 매 컨텐트 조각이 수신될 때마다 상기 무선통신 단말기(100)가 사용한 통신대역폭이 갱신되어(S612) 이후의 여유 대역폭 또는 점유 대역폭의 산출의 기준으로 사용된다. 이러한 과정에 의해, 상기 무선통신 단말기(100)의 현재의 무선통신 환경에 따른 데이터 서비스의 속도가 상기 전송요청 대기시간(Twait)에 반영된다.
전술한 실시예에서는, 하나의 컨텐트 조각을 전송요청하기 위한 대기시간을 구하기 위해, 그 컨텐트 조각의 직전(直前)의 조각의 수신시에 측정한 부하 대역폭을 사용하였지만, 본 발명에 따른 다른 일 실시예에서는, 그 이전의 임의 조각의 수신시에 측정한 부하 대역폭을 전송요청 대기시간을 구하기 위해 사용할 수도 있다. 즉, 도 9c에 예시된 바와 같이, 현재 전송요청할 컨텐트 조각(931)의 전송요청(941)할 대기시간(942)을 구하기 위해, 직전 컨텐트 조각(932)의 수신동안에 측정된 부하 대역폭이 아닌 그 보다 이전의 컨텐트 조각(933)의 수신동안에 측정되었던 부하 대역폭이 사용(951)될 수 있다.
각 구분된 조각마다 순차적으로 전송요청되어 컨텐트의 모든 데이터가 수신완료되면, 상기 수신 제어부(111)는 해당 컨텐트 데이터의 저장을 위해 오픈 또는 할당된 공간, 예를 들어 파일을 닫거나(close) 해제(release)시켜, 타 개체에서도 언제든지 액세스가 가능한 저장 오브젝트(object)로 만든다.
만약, 앞서 설명한 확인과정에서, 여유 대역폭이 없는 것으로 판단되면, 즉, 도 8b에 예시된 바와 같이, 비부하 대역폭(812)이 부하 대역폭(811)과 일정 허용범위내에서 동일하거나 아니면 그 이상일 때는, 전면실행 모드의 타 개체가 필요로 하는 통신대역폭이, 앞서의 컨텐트 조각 수신에 의해서 그 일부가 잠식되었던 것을 의미하므로, 상기 수신 제어부(111)는, 상기 전면실행 모드의 타 개체의 데이터 수신율에 장애를 주지 않기 위해서 컨텐트 조각의 전송요청을 진행하지 않고 여유 대역폭 확인만을 진행하게 된다(S623). 이를 위해, 상기 수신 제어부(111)는 여유 대역폭 확인을 위한 시간을 활성화시킨 후, 그 확인용 시간이 타임아웃되면 앞서 설명하였던 방식과 동일한 방식으로 타 개체가 얼마의 통신대역폭을 사용하는 지를 파악하고(S623) 그로부터 여유 대역폭이 존재하는 지를 확인하게 된다(S622). 이 때의 여유 대역폭 존재 확인을 위한 기준치는, 앞서 확인하였던 상기 부하 대역폭(811)이 아니고, 그와 거의 동일하거나 그 이상으로 확인된 상기 비부하 대역폭(812)이 사용될 수도 있다. 즉, 상기 확인용 시간이 타임아웃되었을 때 확인된 타 개체의 사용 대역폭이 상기 비부하 대역폭(812)보다 일정 허용범위이상 작으면 여유 대역폭이 있는 것으로 판단할 수 있다. 상기 확인용 시간에 대해서는, 앞서 컨텐트 조각을 수신하는 데 소요된 시간보다는 긴, 예를 들어 수~수십배의 시간을 사용할 수 있다.
한편, 전술한 확인단계들에서, 전면실행 모드 어플이 없거나(S613), 또는 전면실행 모드 어플이 있더라도 그 어플이 보고된 통신대역폭 사용현황에 포함되어 있지 않으면(S614)( 이는 현재 화면상에 정보 등을 출력하는 전면실행 모드 어플이 외부와의 데이터 통신은 행하지 않는 것임을 의미한다. ), 상기 수신 제어부(111)는, 앞서, 상기 데이터 송수신부(112)로부터 수신한 통신대역폭 사용현황 정보에, 상기 확인한 실행 프로세스 현황정보를 참조하여, 자신이 속한 상기 데이터 수신 관리기(110)가 아닌 타 개체, 즉 타 이면실행 모드 어플이 포함되어 있는 지를 확인한다(S615).
만약, 타 이면실행 모드 어플이 포함되어 있으면, 상기 수신 제어부(111)는, 도 10의 예시에서와 같이, 제한 대역폭(BWrest)의 크기를 결정하고, 상기 보고된 통신대역폭 사용현황으로부터, 앞서 설명한 바의 부하 대역폭(BWcon+BWother1)에서 그 제한 대역폭(BWrest)을 차감하여 가용할 수 있는 대역폭인 점유 대역폭(BWposs)을 산출한다. 상기 제한 대역폭(BWrest)의 크기는 기 설정된 값일 수도 있고, 상기 UI 처리부(113)가 전면실행 모드에서 상기 디스플레이 패널(5)상에 제공하는 환경설정 메뉴창을 통해 사용자가 임의적으로 설정하여 정보 공유되는 값일 수도 있다. 본 발명에 따른 다른 일 실시예에서는, 상기 제한 대역폭(BWrest)의 크기를 고정된 값이 아닌, 앞서 확인되는 부하 대역폭(BWcon+BWother1)에 대해 기 설정된 비율, 예를 들어 5% 또는 10% 등으로 결정하거나 또는 사용자가 지정하는 비율에 해당하는 값으로 결정할 수도 있다.
본 발명에 따른 일 실시예에서는, 상기 제한 대역폭(BWrest)을, 현재 이면실행 모드의 개체의 특성(property)에 따라 달리 결정할 수도 있다. 예를 들어, 해당 개체가, 특정의 데이터 속성과 수신방식, 예를 들어, 오디오 스트리밍을 전제한 데이터 통신을 요구하는 특성을 갖는다면, 이에 대해서는, 통상의 오디오 스트리밍의 속도를 보장하는 값, 예를 들어 256kbps의 제한 대역폭을 결정하고, 그렇지 않은 경우라면, 그 보다는 낮은 값, 예를 들어 128 kbps의 제한 대역폭을 결정하거나 아니면 상기 확인된 부하 대역폭에 대한 기 설정된 비율에 의해 결정할 수도 있다. 특정의 데이터 속성과 수신방식을 요구하는 개체인 가의 여부는, 상기 수신 제어부(111)에 기 지정된 패키지명의 어플인 가의 여부에 근거하여 확인하거나, 또는 사용자가, 상기 UI 처리부(113)가 제공하는, 특정 어플 등재화면을 통해 등재함으로써 정보 공유되는 어플의 패키지명에 근거하여 확인할 수도 있다. 물론, 상기 특정의 데이터 속성과 수신방식을 요구하는 개체외에 타 개체도 상기 보고받은 통신대역폭 사용현황 정보에 포함되어 있다면, 상기 수신 제어부(111)는 높은 값으로 설정된 제한 대역폭을 결정하여 점유 대역폭(BWposs)을 구하게 된다.
상기 점유 대역폭(BWposs)이 산출되면, 상기 수신 제어부(111)는, 앞서 여유 대역폭(BWavail)의 평균적인 사용을 의도한 전송요청 대기시간의 산출 방식과 동일한 방식으로, 즉, 도 9a 또는 9b에 예시된 방식과 같은 방식으로, 그 점유 대역폭(BWposs)을 평균적으로 사용하게 할 컨텐트 조각 수신을 위한 전송요청 대기시간을 산출한다(S616)( 도 9a 또는 9b의 예시에서, BWavail 대신 BWposs의 값이 사용된다. ). 이와 같이 전송요청 대기시간이 구해지면, 그 시간이 경과한 후에, 다운로드 항목의 컨텐트에 대해, 앞서 수신하였던 컨텐트 조각의 다음 구간을 지정하는 통신규약에 의한 요구를, 도 5에 예시된 바와 같이 작성하여 상기 데이터 송수신부(112)에 전송요청하여 해당 구간의 컨텐트 조각을 수신하게 된다(S632). 앞서 설명하였던 과정에서와 마찬가지로, 다음 컨텐트 조각의 전송요청 시에 상기 수신 제어부(111)는, 상기 데이터 송수신부(112)에 필요 정보를 전달하고 통신대역폭 사용현황의 보고를 명령하게 된다.
전술한 바와 같이, 점유 대역폭(BWposs)을 평균적으로 사용하게 하는 대역폭 비사용시간, 즉 전송요청 대기시간 후에 컨텐트 조각의 다운로드 요청을 하더라도, 실제적으로는 상기 데이터 수신 관리기(110)와 이면실행 모드의 타 개체간의 통신자원 점유 경합에 의해서 상기 데이터 수신 관리기(110)가 상기 계산된 점유 대역폭(BWposs)만큼 사용하지 못할 수도 있다. 하지만, 상기 데이터 수신 관리기(110)에 의한 전송요청이 우선적으로 통신자원을 점유하게 되는 경우에도 그 최대치는 상기 계산된 점유 대역폭으로서 그 나머지인 상기 결정된 제한 대역폭(BWrest)은 타 개체에 의해서 그 사용이 보장된다.
한편, 상기 보고된 통신대역폭 사용현황 정보에 타 이면실행 모드 어플이 포함되어 있지 않으면(S615), 상기 수신 제어부(111)는, 자신이 속한 상기 데이터 수신 관리기(110)만이 현재 통신자원을 사용하고 있는 것이므로, 앞서 설명한 바와 같은 전송요청을 위한 시간의 대기없이 다음 컨텐트 조각을 전송요청하는 통신규약에 의한 요구를 곧 바로 상기 데이터 송수신부(112)를 통해 전송함으로써, 해당 컨텐트 조각이 수신되도록 한다(S617). 이에 따라, 이용할 수 있는 통신대역폭의 전부의 사용을 전제 또는 의도한 데이터 수신이 이루어지게 된다.
지금까지 설명한 실시예들에서는, 다운로드 항목에 대한 각 컨텐트 조각을 전송요청하기 전에, 통신대역폭을 사용하는 타 개체가 있으면 그 개체에 대한 통신대역폭을 고려하여 가용의 대역폭( 상기의 여유 대역폭 또는 점유 대역폭 )을 구하고 그로부터 전송요청 대기시간을 구하였다. 하지만, 본 발명에 따른 다른 실시예에서는, 가용 대역폭을 구하지 않고, 타 개체에게 통신대역폭을 어느 정도 적절히 제공하게 되는 전송요청 대기시간을 바로 구할 수도 있다. 도 11은, 본 실시예에 따른, 통신대역폭을 사용하는 타 개체의 여부와 그 실행모드에 따라 전송요청 대기시간을 적응적으로 결정하는 일 방법에 대한 흐름도를 예시한 것이다.
도 11에 그 흐름이 예시된 실시예에서는, 통신대역폭을 사용한 어플에 전면실행 모드의 타 어플이 포함되어 있으면(S1114), 상기 수신 제어부(111)는, 도 12에 예시된 바와 같이, 앞서 수신한 컨텐트 조각의 수신완료에 소요된 시간(TCCSrec)에 기 설정된 제 1조정계수(kα)를 곱하여 얻은 시간(1201)으로써 전송요청 대기시간(Twait)을 결정한다(S1121). 상기 제 1조정계수(kα)는 앞서 수신된 조각의 수신속도( 즉, 무선 통신망의 현재의 데이터 서비스 속도 )에 따라 변동되어 설정될 수 있으며, 초기값으로는 예를 들어 2의 값을 가질 수도 있다. 만약, 통신대역폭을 사용하고 있는 어플이 모두 이면실행 모드의 어플이면(S1115), 상기 수신 제어부(111)는, 기 설정된 제 2조정계수(kβ)를 상기의 이전 조각 수신완료 소요시간(TCCSrec)에 곱하여 얻은 시간(1202)으로써 상기 전송요청 대기시간(Twait)을 결정하게 된다(S1116). 상기 제 2조정계수(kβ)도 현재의 데이터 서비스 속도에 따라 가변 설정될 수 있으며, 상기 제 1조정계수(kα)와는 kα > kβ 의 관계를 만족하는 값을 갖는다. 그리고 초기값으로는 1의 값을 가질 수도 있다.
상기 수신 제어부(111)는, 통신대역폭을 사용하고 있는 이면실행 모드의 어플의 특성을 더 확인하여 그 특성이, 앞서 언급한 바 있는 특성, 예를 들어 오디오 스트리밍을 전제로 하는 어플인 경우에는 또는 그런 어플이 이면실행 모드의 어플들에 포함되어 있는 경우에는, 상기 수신 제어부(111)는, 상기 제 2조정계수(kβ)의 값을 그 초기값보다 더 큰 값, 예를 들어 1.5로 하여 상기 대기시간(Twait)을 결정할 수도 있다. 바람직하게는, 이 때 조정되는 상기 제 2조정계수(kβ)의 값은 상기 제 1조정계수(kα)의 초기값보다는 크지 않다.
또한, 본 발명에 따른 일 실시예에서는, 앞서의 컨텐트 조각의 수신시간으로부터 산출한 무선 통신망의 현재의 서비스 속도( 컨텐트 조각의 크기를 수신완료된 시간으로 나눈 값 ) 또는 또는 이전 다수개의 컨텐트 조각의 수신시간들로부터 산출한 현재의 평균 서비스 속도가 기 지정된 일정 상한치, 예를 들어 4~5Mbps 범위내의 속도 이상이면, 상기 수신 제어부(111)는, 상기 제 1조정계수(kα) 또는 제 2조정계수(kβ)의 값을, 해당 계수의 초기값보다 작은 값으로 조정하여 상기 대기시간(Twait)을 구하는 데 사용한다. 이는, 현재의 데이터 서비스 속도가 양호한 편이므로, 다운로드 항목의 컨텐트를 다운로드 하는 시간격을 보다 짧게 가져가더라도 타 개체가 통상적으로 필요로 하는 사용 대역폭에 영향을 미칠 가능성이 낮기 때문이다. 만약, 현재의 데이터 서비스 속도 또는 현재의 평균 서비스 속도가 일정 하한치, 예를 들어 1~1.5Mbps범위내의 속도 이하이면, 상기 수신 제어부(111)는, 상기 제 1조정계수(kα) 또는 제 2조정계수(kβ)의 값을, 해당 계수의 초기값보다 큰 값으로 조정하여 상기 대기시간(Twait)을 구하는 데 사용한다. 이는, 현재의 데이터 서비스 속도에 여유가 없는 편이므로, 다운로드 항목의 컨텐트를 다운로드 하는 시간격을 보다 길게 함으로써 사용할 수 있는 통신대역폭을 타 개체에 보다 더 양보하기 위함이다.
전술한 바와 같은 방식으로 상기 전송요청 대기시간(Twait)이 결정되면, 상기 수신 제어부(111)는, 이전 컨텐트 조각의 수신완료 시점부터 그 결정된 대기시간(Twait)이 경과된 시점에, 다음 컨텐트 조각에 대한 구간을 지정하는 통신규약에 의한 요구를, 도 5에 예시된 바와 같이 작성하여 상기 데이터 송수신부(112)에 전송요청하여 해당 구간의 컨텐트 조각을 수신하게 된다(S1122).
도 11에 예시된 흐름도에서 설명되지 않은 단계들은, 도 6의 흐름도를 참조로 한 실시예에서 설명된 대응되는 단계들에서와 동일한 과정이 수행되는 것이므로, 본 실시예에서의 설명은 생략한다.
도 6과 11을 참조로 하여 전술한 본 발명의 실시예들에 대한 설명은, 상기 수신 제어부(111)가 단일의 다운로드 항목에 해당하는 컨텐트를 조각들로 구분하여 수신하는 방식에 대한 것이었으나, 본 발명의 원리와 개념은 복수의 다운로드 항목들에 대하여 복수의 컨텐트들을 동시에 다운로드 하는 경우에도 그대로 적용할 수 있다. 즉, 상기 수신 제어부(111)는, 도 6과 11에 예시된 과정에서, 다음 컨텐트 조각을 전송요청할 때( 도 6의 S617, S632와, 도 11의 S1117, S1122 ), 도 13에 예시된 바와 같이, 앞서 조각(1301)을 전송요청하였던 다운로드 항목(40i)의 컨텐트가 아닌, 다음 등재되어 있는 다운로드 항목(40i+1)의 컨텐트에 대한 조각(1302)을, 앞서와 같이 산출한 또는 산출 후 조정된 전송요청 대기시간(Twait) 후에 전송요청(1311)하게 된다. 이러한 방식으로 상기 다운로드 목록(40)에 등재된 각 다운로드 항목에 대해 순차적으로 선택하면서 해당 컨텐트의 조각들을 전송요청하는 동안, 임의의 컨텐트의 마지막 조각까지 전송요청하여 수신되면, 상기 수신 제어부(111)는 해당 등재된 다운로드 목록에 대해서는 “다운로드 완료” 마크를 하여 다음 전송요청시에 건너뛰도록 한다. 그리고, 모든 다운로드 항목에 대해 해당되는 컨텐트들이 다운로드 완료되면, 상기 수신 제어부(111)는 무선 통신대역폭을 타 개체와 공용하는 전술한 과정을 종료하게 된다.
한편, 상기 수신 제어부(111)는, 상기 다운로드 목록(40)에 등재된 각 다운로드 항목에 대해 순차적으로 선택하면서 해당 컨텐트의 조각들을 전송요청함으로써, 상기 데이터 송수신부(112)로부터 해당 조각의 데이터를 수신하는 동안에는, 해당 컨텐트에 대해 수신된 누적 데이터량을 계산하면서, 그 계산된 누적 데이터량을, 자신이 관리하는, 도 4에 예시된 바와 같은 구조의 다운로드 목록(40)의 해당 항목의 수신량 필드(411b)에 기재하는 동작을 수행한다.
그리고, 상기 데이터 수신 관리기(110)에 의한 전술한 바와 같은 동작이 진행되고 있는 동안에, 사용자가 상기 주 제어부(10)가 제공하는 사용자 UI를 통해 상기 데이터 수신 관리기(110)의 전면(front) 실행상태를 요청하면, 상기 데이터 수신 관리기(110)내의 상기 UI 처리부(113)는 상기 수신 제어부(111)에 상기 다운로드 목록(40)에 대한 액세스 정보, 예를 들어 구조 포인터를 요청하여 수신하고, 그 수신된 액세스 정보를 이용해 상기 다운로드 목록(40)의 각 항목의 현황 필드들(411)의 정보를 파악하여, 그 파악된 정보와 상기 운영시스템(100a)이 제공하는 API를 적절히 사용하여, 다운로드 요청한 항목들에 대해 현재 다운로드가 완료되었는 지 또는 얼마나 진행되었는 지를 각기 보여주는 다운로드 현황화면이 상기 디스플레이 패널(5)상에 표시되도록 할 수도 있다.
한편, 전술한 실시예들에서는, 다운로드 요청이 타 어플로부터 상기 데이터 수신 관리기(110)에 전달된 것을 가정하여 본 발명의 원리와 개념을 설명하였으나, 이는 본 발명에서 반드시 전제되어야 하는 것은 아니다. 상기 데이터 수신 관리기(110)의 전면실행 모드에서 상기 UI 처리부(113)가 상기 디스플레이 패널(5)상에 제공하는 다운로드 항목 등록 메뉴화면을 통해, 특정의 컨텐트의 식별정보, 예를 들어 URL을 등재하면, 상기 UI 처리부(113)는 그 등록한 식별정보를 상기 수신 제어부(111)에 전달하여 상기 다운로드 목록(40)에 등재되도록 함으로써, 해당 등재 항목에 대해 전술한 바의 적응적 통신대역폭 사용을 통한 다운로드 동작이 수행될 수 있게 된다.
또한, 본 발명의 원리와 개념에 대한 구체적이고 예시적인 설명을 위한 전술한 실시예들에서는, 영상 컨텐트와 같은 시청각용 미디어의 데이터 오브젝트(object)를 다운로드 대상으로 하여 타 개체와 통신대역폭을 적응적으로 공용하였지만, 본 발명의 원리와 개념은, 다운로드 대상이 시청각용 미디어의 속성에 국한되지 않고, 다양한 다른 속성의 데이터 오브젝트, 예를 들어 게임 데이터, 소프트웨어, 문서 등의 파일이 다운로드 대상인 경우에도 그대로 적용될 수 있다. 다시 말하면, 어떠한 속성의 데이터 오브젝트라도 상기 데이터 수신 관리기(110)에 다운로드 요청되는 경우에는, 타 개체의 통신대역폭 사용여부와 그 타 개체의 실행모드에 근거하여 적절히 그 타 개체와 통신대역폭을 공용하면서 다운로드 요청된 데이터 오브젝트를 수신하게 된다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면, 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 또 다른 다양한 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.
1a: 셀룰러 모뎀 1b: 셀룰러 코덱
2a: Wi-Fi 모뎀 2b: Wi-Fi 코덱
4: 디스플레이 구동부 5: 디스플레이 패널
6: 입력 제어부 6a: 터치 센서
6b: 키패드 7: 메모리
8: 디코더 10: 주 제어부
10a: 미디어 플레이어 10b: 서버 미디어 뷰어
11: 무선 통신망 40: 다운로드 목록
100: 무선통신 단말기 100a: 운영 시스템(O/S)
110: 데이터 수신 관리기 111: 데이터 송수신부
112: 수신 제어부 113: UI 처리부
200: 서버

Claims (28)

  1. 무선 통신망을 통해 원격지로부터 데이터를 수신할 수 있는 단말기에 있어서,
    인가되는 데이터 요청을 상기 무선 통신망을 통해 외부 서버로 송신하고 그 요청에 따른 데이터를 상기 무선 통신망을 통해 수신하도록 구성된 송수신부와,
    다운로드 요청된 데이터 오브젝트(object)에 대해 조각으로 구분하여 그 각 조각에 대한 데이터 요청을 생성하여 상기 송수신부에 인가함으로써, 그에 따른 각 조각의 데이터를 상기 송수신부로부터 수신하여 데이터 오브젝트로서 저장하도록 구성된 제어부를 포함하여 구성되되,
    상기 제어부는, 상기 데이터 오브젝트의 임의 조각에 대한 데이터 요청이 상기 송수신부에 의해 송신되기에 앞서 상기 무선 통신망에 의해 제공되는 통신 대역폭의 비사용 시간이 있도록 상기 임의 조각에 대한 데이터 요청을 상기 송수신부에 인가하며, 상기 비사용 시간을, 상기 단말기에서 통신대역폭을 사용하고 있는 타(他) 개체의 실행모드가 제 1모드인지 제 2모드인지에 따라 그 시간길이가 서로 다르게 되는 방식으로 구하도록 또한 구성된 것인 데이터 통신 단말기.
  2. 제 1항에 있어서,
    상기 제 1모드는 전면실행 모드이고, 상기 제 2모드는 이면(background)실행 모드이며,
    상기 제어부는, 상기 타 개체 모두의 실행모드가 상기 제 2모드인지 그렇지 않은지에 따라 달리 구하는 가용 대역폭에 근거하여 결정하도록 구성된 것인 데이터 통신 단말기.
  3. 제 2항에 있어서,
    상기 제어부는, 상기 타 개체의 적어도 하나가 상기 제 1모드인 경우에, 상기 데이터 오브젝트의 임의 조각이 수신될 동안 상기 단말기가 사용한 제 1대역폭과 상기 데이터 오브젝트의 데이터가 수신되지 않는 임의 크기의 시간 동안 상기 단말기가 사용한 제 2대역폭과의 차로부터 상기 가용 대역폭을 구하도록 구성된 것인 데이터 통신 단말기.
  4. 제 3항에 있어서,
    상기 제어부는, 상기 제 1대역폭이 상기 제 2대역폭보다 일정 허용치이상 더 큰 조건이 성립하면 그 차로부터 상기 가용 대역폭을 구하고, 상기 조건이 성립하지 않으면 상기 데이터 오브젝트의 데이터가 수신되지 않는 임의 크기의 시간 동안의 상기 단말기의 사용 대역폭을 주기적으로 확인하고 그 확인된 사용 대역폭을, 기준으로 정한 대역폭과 비교하도록 구성된 것인 데이터 통신 단말기.
  5. 제 4항에 있어서,
    상기 제어부는, 상기 조건이 성립되지 않는 경우, 상기 제 1대역폭 또는 상기 제 2대역폭을, 상기 기준으로 정한 대역폭으로서 사용하도록 구성된 것인 데이터 통신 단말기.
  6. 제 2항에 있어서,
    상기 제어부는, 상기 타 개체의 모두가 상기 제 2모드인 경우에, 상기 데이터 오브젝트의 임의 조각이 수신될 동안 상기 단말기가 사용한 제 1대역폭에서, 상기 제 1대역폭보다 작은 일정 크기의 제한 대역폭을 차감하여 상기 가용 대역폭을 구하도록 구성된 것인 데이터 통신 단말기.
  7. 제 6항에 있어서,
    상기 제어부는, 상기 타 개체의 특성에 따라 상기 제한 대역폭의 크기를 달리 정하여 상기 가용 대역폭을 구하도록 구성된 것인 데이터 통신 단말기.
  8. 제 7항에 있어서,
    상기 제어부는, 상기 타 개체에 그 특성이 오디오 속성의 데이터를 스트리밍(streaming) 방식으로 수신하도록 하는 개체가 포함되어 있으면, 기 지정된 크기로써 상기 제한 대역폭을 정하고, 그런 특성의 개체가 포함되어 있지 않은 경우에는 상기 지정된 크기보다 더 낮은 크기로 상기 제한 대역폭을 정하도록 구성된 것인 데이터 통신 단말기.
  9. 제 3항 또는 제 6항에 있어서,
    상기 제어부는, 상기 데이터 오브젝트의 임의 조각이 수신될 때마다 상기 제 1대역폭을 갱신하여 상기 가용 대역폭을 구하는 데 사용하도록 구성된 것인 데이터 통신 단말기.
  10. 제 2항에 있어서,
    상기 제어부는, 상기 데이터 오브젝트의 조각의 크기를 상기 구한 가용 대역폭으로 나누어서 얻은 시간으로부터 상기 비사용 시간을 결정하도록 구성된 것인 데이터 통신 단말기.
  11. 제 2항에 있어서,
    상기 제어부는, 상기 데이터 오브젝트의 조각의 크기를 상기 구한 가용 대역폭으로 나누어서 얻은 시간에서 상기 임의 조각에 앞서 수신한 조각의 수신 소요시간을 차감한 시간으로부터 상기 비사용 시간을 결정하도록 구성된 것인 데이터 통신 단말기.
  12. 제 11항에 있어서,
    상기 제어부는, 상기 임의 조각의 크기와 그 조각에 앞서 수신한 조각의 크기가 다르면 그 크기의 비율로써 상기 수신 소요시간을 조정한 뒤 상기 차감에 사용하도록 구성된 것인 데이터 통신 단말기.
  13. 제 1항에 있어서,
    상기 제 1모드는 전면실행 모드이고, 상기 제 2모드는 이면실행 모드이며,
    상기 제어부는, 상기 타 개체 모두의 실행모드가 상기 제 2모드이면, 그렇지 않은 경우에 비해 더 짧은 시간길이를 갖도록 상기 비사용 시간을 구하도록 구성된 것인 데이터 통신 단말기.
  14. 제 13항에 있어서,
    상기 제어부는, 상기 타 개체 모두의 실행모드가 상기 제 2모드인지 그렇지 않은지에 대해 각기 설정해 둔 조정계수들에서, 상기 타 개체 모두의 실행모드가 상기 제 2모드인지 그렇지 않은지에 따라 상응하는 조건의 조정계수를 선택하고, 그 선택된 조정계수에 상기 임의 조각에 앞서 수신한 조각의 수신 소요시간을 곱하여 얻은 시간격으로부터 상기 비사용 시간을 구하도록 구성되고,
    상기 타 개체 모두의 실행모드가 상기 제 2모드인 경우에 대해 설정된 상기 조정계수는, 그렇지 않은 경우에 대해 설정된 상기 조정계수보다 작은 값을 갖는 것인 데이터 통신 단말기.
  15. 제 14항에 있어서,
    상기 제어부는, 상기 무선 통신망이 제공하는 데이터 서비스의 속도가 기 지정된 상한치이상이면 상기 각 조정계수의 설정된 값을 더 작은 값으로 조정하고, 기 지정된 하한치이하이면 상기 각 조정계수의 설정된 값을 더 큰 값으로 조정하여 상기 비사용 시간을 구하는 데 사용하도록 구성된 것인 데이터 통신 단말기.
  16. 제 14항에 있어서,
    상기 제어부는, 상기 타 개체에 그 특성이 오디오 속성의 데이터를 스트리밍 방식으로 수신하도록 하는 개체가 포함되어 있으면, 상기 타 개체 모두의 실행모드가 상기 제 2모드인 경우에 대해 설정된 상기 조정계수의 값을 더 큰 값으로 조정하여 상기 비사용 시간을 구하는 데 사용하도록 구성된 것인 데이터 통신 단말기.
  17. 제 1항에 있어서,
    상기 제어부는, 상기 단말기에서 통신대역폭을 사용하고 있는 타 개체가 없는 경우에는, 상기 비사용 시간이 발생하지 않도록 상기 데이터 오브젝트의 임의 조각에 대한 데이터 요청을 상기 송수신부에 인가하도록 더 구성된 것인 데이터 통신 단말기.
  18. 제 1항에 있어서,
    상기 비사용 시간은, 상기 임의 조각에 앞서 데이터 요청된 조각이 수신완료된 시점부터 개시되는 것인 데이터 통신 단말기.
  19. 제 1항에 있어서,
    상기 다운로드 요청은, 상기 단말기에서 실행되는 타 개체로부터 전달된 것인 데이터 통신 단말기.
  20. 제 19항에 있어서,
    상기 다운로드 요청은, 상기 단말기의 운영시스템이 프로세스간 통신을 위해 정의한 정보포맷에 부합하는 형태로 작성된, 상기 데이터 오브젝트의 정보를 포함하는 하나의 정보 구조체를 통해 전달된 것이거나, IP주소 기반의 통신규약에 의한 요구의 형태로 작성되어 전달된 것인 데이터 통신 단말기.
  21. 제 1항에 있어서,
    상기 단말기의 화면상에 다운로드 항목을 등록할 메뉴를 제공하도록 구성된 입출력부를 더 포함하여 구성되되,
    상기 다운로드 요청은 상기 입출력부를 통해 수신된 것인 데이터 통신 단말기.
  22. 제 1항에 있어서,
    상기 제어부는, 상기 데이터 오브젝트의 상기 임의 조각의 크기를, 그에 앞서 데이터 요청되어 수신된 조각들의 수신시간의 변화에 따라 앞서 데이터 요청한 조각의 크기와 다르게 결정할 수 있도록 구성된 것인 데이터 통신 단말기.
  23. 제 1항에 있어서,
    상기 제어부는, 다운로드 요청된 데이터 오브젝트가 복수개인 경우, 각 오브젝트를 순차적으로 선택하면서, 해당 오브젝트의 조각에 대한 데이터 요청이 상기 비사용 시간의 간격을 두고 상기 송수신부에 의해 송신되도록 상기 송수신부에 인가되게 하는 것인 데이터 통신 단말기.
  24. 단말기에서 무선 통신망을 통해 원격지로부터 데이터를 수신하는 방법에 있어서,
    다운로드 요청된 데이터 오브젝트(object)의 임의 구간을 구분한 제 1조각을 전송요청하는 단계와,
    상기 제 1조각의 데이터가 수신되는 동안 상기 단말기가 사용한 제 1통신대역폭을 확인하는 단계와,
    상기 단말기에서 상기 무선 통신망에 의해 제공되는 통신대역폭을 사용하고 있는 타(他) 개체의 실행모드에 따라 달리 구하는 제 2대역폭을 상기 확인된 제 1통신대역폭에서 차감한 값으로부터 가용 대역폭을 구하는 단계와,
    상기 데이터 오브젝트의 상기 제 1조각 이후의 구간구분된 제 2조각의 크기와 상기 구한 가용 대역폭에 근거하여 대기시간을 산출하는 단계와,
    상기 대기시간의 경과 후 상기 제 2조각의 데이터를 전송요청하는 단계를 포함하여 이루어지는 통신대역폭을 공용하여 데이터를 수신하는 방법.
  25. 제 24항에 있어서,
    상기 가용 대역폭을 구하는 단계는, 상기 타 개체의 적어도 하나가 전면실행 모드이면, 상기 데이터 오브젝트의 데이터가 수신되지 않는 임의 크기의 시간 동안 상기 단말기가 사용한 대역폭을 상기 제 2대역폭으로 하여 상기 가용 대역폭을 구하는 것인 통신대역폭을 공용하여 데이터를 수신하는 방법.
  26. 제 24항에 있어서,
    상기 가용 대역폭을 구하는 단계는, 상기 타 개체가 이면(background)실행 모드이면, 상기 제 1통신대역폭보다 작은 일정 크기를 상기 제 2대역폭으로 정하여 상기 가용 대역폭을 구하는 것인 통신대역폭을 공용하여 데이터를 수신하는 방법.
  27. 단말기에서 무선 통신망을 통해 원격지로부터 데이터를 수신하는 방법에 있어서,
    다운로드 요청된 데이터 오브젝트의 임의 구간을 구분한 제 1조각을 전송요청하는 단계와,
    상기 제 1조각의 데이터가 수신되는 수신 소요시간을 확인하는 단계와,
    상기 단말기에서 상기 무선 통신망에 의해 제공되는 통신대역폭을 사용하고 있는 타(他) 개체의 실행모드를 확인하고 그 확인된 실행모드에 대해 지정된 조정치를 선정하는 단계와,
    상기 확인된 수신 소요시간과 상기 선정된 조정치에 근거하여 대기시간을 산출하는 단계와,
    상기 대기시간의 경과 후, 상기 데이터 오브젝트의 상기 제 1조각 이후의 구간구분된 제 2조각의 데이터를 전송요청하는 단계를 포함하여 이루어지되,
    전면실행 모드에 대해 지정된 상기 조정치는, 상기 대기시간 산출에 있어서, 이면실행 모드에 대해 지정된 상기 조정치에 비해 긴 대기시간이 산출되도록 하는 값을 갖는 것인 통신대역폭을 공용하여 데이터를 수신하는 방법.
  28. 저장공간에 저장된 프로그램을 통신망을 통해 제공하는 프로그램 공급장치에 있어서,
    통신을 통해 외부와 데이터를 송수신할 수 있는 통신수단과,
    상기 통신수단을 통해 송신되는, 무선통신 단말기에서 실행되는 어플리케이션이 수록되어 있는 저장수단을 포함하여 구성되되,
    상기 어플리케이션은, 상기 무선통신 단말기에서 실행되는 경우,
    인가되는 데이터 요청을 무선 통신망을 통해 외부 서버로 송신하고 그 요청에 따른 데이터를 상기 무선 통신망을 통해 수신하는 기능과,
    다운로드 요청된 데이터 오브젝트에 대해 조각으로 구분하여 그 각 조각에 대한 데이터 요청을 생성하여 상기 외부 서버로 송신함으로써, 그에 따른 각 조각의 데이터를 상기 외부 서버로부터 수신하여 데이터 오브젝트로서 저장하는 기능과,
    상기 데이터 오브젝트의 임의 조각에 대한 데이터 요청이 상기 무선 통신망으로 송신되기에 앞서 상기 무선 통신망에 의해 제공되는 통신 대역폭의 비사용 시간이 있게 한 후 상기 임의 조각에 대한 데이터 요청을 상기 무선 통신망으로 송신하며, 상기 비사용 시간을, 상기 무선통신 단말기에서 통신대역폭을 사용하고 있는 타(他) 개체의 실행모드가 제 1모드인지 제 2모드인지에 따라 그 시간길이가 서로 다르게 되는 방식으로 구하는 기능을 수행하기 위한 프로그램 구조를 포함하여 구성되는 것인 프로그램 공급장치.
KR1020120006712A 2012-01-20 2012-01-20 무선 통신대역폭을 타 개체와 적응적으로 공용하여 데이터를 수신하는 방법 및 장치 KR101270521B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120006712A KR101270521B1 (ko) 2012-01-20 2012-01-20 무선 통신대역폭을 타 개체와 적응적으로 공용하여 데이터를 수신하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120006712A KR101270521B1 (ko) 2012-01-20 2012-01-20 무선 통신대역폭을 타 개체와 적응적으로 공용하여 데이터를 수신하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101270521B1 true KR101270521B1 (ko) 2013-06-04

Family

ID=48866050

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120006712A KR101270521B1 (ko) 2012-01-20 2012-01-20 무선 통신대역폭을 타 개체와 적응적으로 공용하여 데이터를 수신하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101270521B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050035294A (ko) * 2002-09-06 2005-04-15 마츠시타 덴끼 산교 가부시키가이샤 무선 네트워크간의 실시간 데이터 전송의 서비스 품질을 보증하기 위하여 매체 확보를 실행하는 방법
KR100667351B1 (ko) 2005-04-14 2007-01-10 주식회사 케이티프리텔 멀티미디어 데이터 전송 방법, 장치 및 이를 위한프로그램이 기록된 기록매체 및 멀티미디어 데이터 전송제어 방법
KR20070085173A (ko) * 2006-02-22 2007-08-27 리서치 인 모션 리미티드 푸시 컨텐츠의 전달 및 프로세싱을 용이하게 하는 장치 및그 연관 방법
KR20110013994A (ko) * 2009-08-04 2011-02-10 삼성전자주식회사 무선 통신 시스템에서 서비스 송수신 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050035294A (ko) * 2002-09-06 2005-04-15 마츠시타 덴끼 산교 가부시키가이샤 무선 네트워크간의 실시간 데이터 전송의 서비스 품질을 보증하기 위하여 매체 확보를 실행하는 방법
KR100667351B1 (ko) 2005-04-14 2007-01-10 주식회사 케이티프리텔 멀티미디어 데이터 전송 방법, 장치 및 이를 위한프로그램이 기록된 기록매체 및 멀티미디어 데이터 전송제어 방법
KR20070085173A (ko) * 2006-02-22 2007-08-27 리서치 인 모션 리미티드 푸시 컨텐츠의 전달 및 프로세싱을 용이하게 하는 장치 및그 연관 방법
KR20110013994A (ko) * 2009-08-04 2011-02-10 삼성전자주식회사 무선 통신 시스템에서 서비스 송수신 방법 및 장치

Similar Documents

Publication Publication Date Title
CN111240837B (zh) 资源配置方法、装置、终端及存储介质
US20140286316A1 (en) Apparatus and method for controlling selective use of heterogeneous networks according to unprocessed state of data being streamed
US7693157B2 (en) Quality of service support for A/V streams
US9350624B2 (en) Dynamic assignment of connection priorities for applications operating on a client device
KR101332615B1 (ko) 전송 완료되지 않은 데이터량에 따라 접속 전환을 제어하는 방법과 그 방법을 위한 장치
KR101354925B1 (ko) 복수 무선 통신망의 다중접속에 의한 컨텐트 데이터의 수신을 제어하는 방법과 그 방법을 위한 장치
US9137091B2 (en) Dynamic quality of service for control of media streams using feedback from the local environment
US9722889B2 (en) Facilitating high quality network delivery of content over a network
KR101354914B1 (ko) 목록정보를 통해 구간들의 정보가 제공되는 미디어 컨텐트의 데이터를 중계하는 방법 및 장치
CN113810760B (zh) 控制投屏的方法、电子设备及计算机可读存储介质
KR101243737B1 (ko) 버퍼링된 데이터량에 따라 이종망(異種網)들간에 사용망을 선택적으로 전환하면서 스트리밍 데이터를 수신하는 방법과 그 방법을 위한 장치
KR102487000B1 (ko) 광고 표시 방법, 광고 표시 장치, 광고 표시 프로그램
WO2022262433A1 (zh) 资源分配方法、终端和计算机可读存储介质
US9544630B2 (en) Method and IPTV server for enabling playout of one or more media objects
CN114466177A (zh) 基于http传输视频流的质量评估方法及电子设备
US8819184B2 (en) Method and system for playing multimedia file and computer readable medium using the method
KR101879439B1 (ko) 적응적 비트레이트 영상 서비스 방법
KR101270521B1 (ko) 무선 통신대역폭을 타 개체와 적응적으로 공용하여 데이터를 수신하는 방법 및 장치
US9350796B2 (en) Method and device for receiving multimedia data
WO2019164873A1 (en) Network assistance functions for virtual reality dynamic streaming
KR101358806B1 (ko) 무선통신 단말기가 무선 통신망의 자원을 최소 사용하여 데이터를 수신하면서 이종망간 전환할 수 있게 하는 방법 및 장치
US20120117627A1 (en) Authority Control Systems and Methods
JP2012128856A (ja) オーディオ、ビデオ、及びコンピュータグラフィックスコンテンツの少なくとも一つをレンダリングするための方法及び入出力デバイス、及び、プリレンダリングされたオーディオ、プリレンダリングされたビデオ、及びプリレンダリングされたコンピュータグラフィックスコンテンツの少なくとも一つを配信するためのサービスを行うデバイス
KR101429891B1 (ko) 컨텐트 데이터에 대한 수신을 그 수신상태에 따라 적응시키는 방법과 그 방법을 위한 장치
KR101473363B1 (ko) 원격지 컨텐트의 데이터 수신에 있어서의 예상 사용량 정보를 표시하는 방법과 장치

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: 20160530

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170627

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190212

Year of fee payment: 6

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 7

R401 Registration of restoration