KR101157846B1 - 백그라운드 프로세스가 브로드캐스트 데이터를 수신할 수 있게 하는 스케줄링된 다운로드 - Google Patents

백그라운드 프로세스가 브로드캐스트 데이터를 수신할 수 있게 하는 스케줄링된 다운로드 Download PDF

Info

Publication number
KR101157846B1
KR101157846B1 KR1020107010313A KR20107010313A KR101157846B1 KR 101157846 B1 KR101157846 B1 KR 101157846B1 KR 1020107010313 A KR1020107010313 A KR 1020107010313A KR 20107010313 A KR20107010313 A KR 20107010313A KR 101157846 B1 KR101157846 B1 KR 101157846B1
Authority
KR
South Korea
Prior art keywords
update
time
scheduled
sensitive
data
Prior art date
Application number
KR1020107010313A
Other languages
English (en)
Other versions
KR20100080839A (ko
Inventor
조지 앨런 로스록
조나단 폴 맥카티
니콜라스 앤드류 글래스맨
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20100080839A publication Critical patent/KR20100080839A/ko
Application granted granted Critical
Publication of KR101157846B1 publication Critical patent/KR101157846B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/189Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

크리티컬한 데이터 업데이트들과 상이한 방식으로 비-크리티컬한 데이터를 위한 스케줄링된 업데이트들을 제공할 수 있는 디지털 브로드캐스트 네트워크가 개시된다. 비-크리티컬한 정보를 포함하는 업데이트들은, 특정 시간의 기간일 수 있는 업데이트 윈도우 동안에, 디지털 브로드캐스트 네트워크를 통해 브로드캐스팅되도록 스케줄링될 수 있다. 수신 디바이스들에게 업데이트 윈도우가 통지될 수 있고, 백그라운드 기능을 이용하여, 비-크리티컬한 업데이트들이 수신 디바이스에서 수용되고 적용될 수 있다. 비-크리티컬한 업데이트들은, 수신 디바이스가 유휴 상태이거나 또는 낮은 활동의 기간에 있는 경우에 업데이트 윈도우 동안 수용 및 적용될 수도 있다. 비-크리티컬한 업데이트들은 개별적인 채널 또는 스트림을 통해 브로드캐스팅될 수 있다. 업데이트 윈도우 이외의 기간들 동안에, 다른 데이터가 개별적인 채널 또는 스트림을 통해 송신될 수 있다. 크리티컬한 업데이트들은 실시간으로 적용될 수 있다.

Description

백그라운드 프로세스가 브로드캐스트 데이터를 수신할 수 있게 하는 스케줄링된 다운로드{SCHEDULED DOWNLOADS: ENABLING BACKGROUND PROCESSES TO RECEIVE BROADCAST DATA}
다음의 설명은 일반적으로 컨텐츠 배포 시스템들에 관한 것으로, 특히 디지털 브로드캐스트 네트워크를 통한 컨텐츠 전달 및 컨텐츠 수신에 관한 것이다.
디지털 브로드캐스트 네트워크는 사용자 디바이스 상에 위치된 클라이언트-측 소프트웨어로의 단방향 전달 방법이다. 데이터캐스트 서비스들은 클라이언트-측 소프트웨어에 의해 사용되도록 디지털 브로드캐스트 네트워크를 통해 데이터를 제공한다. 데이터캐스트 서비스와 연관된 클라이언트 소프트웨어를 통한 사용자-체험을 제공하기 위해 데이터가 사용된다. 데이터의 전달 방법은 비디오 및 오디오 신호들과 같은 전통적인 리니어 (linear) 서비스들에 의해 사용되는 방법과 유사하다. 후속하여, 사용자-체험의 반응성에 크게 영향을 미치는 "퍼스트 투 라스트 (first to last)" 스트림에서 모든 정보가 제공된다. 또한, 디지털 브로드캐스트 네트워크 내에서 발견되는 대역폭 제한들은 다수의 데이터캐스트 서비스들에 의해 제공되는 사용자 체험의 깊이 및 세련성 (sophistication) 에 크게 영향을 준다.
개요
다음은, 개시되는 실시형태들의 몇몇 양태들의 기본적인 이해를 제공하기 위해 간략화된 개요를 제시한다. 이 개요는 광범위한 오버뷰가 아니고, 키 또는 크리티컬한 엘리먼트들을 식별하지 않고 그러한 실시형태들의 범위를 서술하지 않도록 의도된다. 본 개요의 목적은, 나중에 제시되는 더 상세한 설명에 대한 서두로서 간략화된 형태로 설명되는 실시형태들의 몇몇 개념들을 제시하는 것이다.
하나 이상의 실시형태들 및 이들의 대응하는 개시에 따르면, 다양한 양태들이 비-크리티컬한 (예컨대, 시간-민감형이 아닌) 데이터와 관련하여 설명된다. 모든 데이터에 대한 브로드캐스트 채널을 청취하기보다, 데이터 (예컨대, 업데이트들) 는 시간-민감도에 따라 분리되고, 디바이스가 유휴인 경우에 사용자 디바이스에 전달된다. 이 프로세스 전달은 클라이언트 디바이스에 제공되는 소정의 정보에 기초하여 스케줄링될 수 있다. 지능형 클라이언트 소프트웨어는, 브로드캐스트 접속을 오픈하고 디지털 브로드캐스트 네트워크를 통해 데이터 (예컨대, 업데이트들) 를 수신할 수 있는, 백그라운드 프로세스를 자동으로 개시하는 기능을 구비한다. 사용자가 애플리케이션을 능동적으로 사용하고 있는 동안 행해지는 데이터 전달들은 시간-민감형 데이터만을 포함한다.
일 양태는 스케줄링된 다운로드들을 송신하기 위한 방법에 관한 것이다. 방법은 근간의 (forthcoming) 업데이트를 복수의 클라이언트 디바이스들에게 통지하는 단계, 및 스케줄링된 시간에 업데이트를 송신하는 단계를 구비한다. 근간의 업데이트는 비-시간-민감형 데이터를 포함할 수 있다. 시간-민감형 업데이트는 시간-민감형 업데이트가 이용가능한 시간과 실질적으로 동시에 송신될 수 있다.
다른 양태에 따르면, 컨텐츠를 송신하기 위한 디바이스가 제시된다. 디바이스는 메모리 및 프로세서를 갖는 컴퓨터 플랫폼을 구비할 수 있으며, 메모리는 프로세서에 의해 행해진 판정들에 관련된 정보를 저장한다. 또한 디바이스에 구비되는 것은, 적어도 하나의 비-시간-민감형 업데이트를 스케줄링하는 스케줄러, 및 제안된 스케줄을 복수의 클라이언트 디바이스들에게 알리는 업데이트 통지기일 수 있다. 또한, 모니터가 디바이스에 구비될 수 있다. 모니터는 제안된 스케줄을 리뷰하고, 전송기가 적절한 시간에 적어도 하나의 비-시간-민감형 업데이트를 송신하도록 트리거링할 수 있다.
다른 양태에 따르면, 스케줄링된 다운로드를 선택적으로 송신하기 위한 장치가 제시된다. 장치는, 근간의 업데이트를 복수의 수신 디바이스들에게 통지하는 수단, 및 스케줄링된 시간에 근간의 업데이트를 송신하는 수단을 구비한다. 근간의 업데이트는 비-시간-민감형 데이터를 포함할 수 있다. 또한 구비되는 것은, 시간-민감형 업데이트가 이용가능한 시간과 실질적으로 동시에 시간-민감형 업데이트를 송신하는 수단일 수 있다.
또 다른 양태는, 적어도 하나의 비-시간-민감형 업데이트를 스케줄링하고, 제안된 스케줄을 복수의 클라이언트 디바이스들에게 알리기 위한 머신-실행가능 명령들을 저장한 머신-판독가능 매체에 관한 것이다. 또한, 머신-실행가능 명령들은 제안된 스케줄을 리뷰하는 것, 및 적절한 시간에 적어도 하나의 비-시간-민감형 업데이트를 송신하는 것을 구비할 수 있다.
무선 통신 시스템에서, 다른 양태는 프로세서를 포함하는 장치에 관한 것이다. 프로세서는, 근간의 업데이트를 복수의 클라이언트들에게 통지하고, 스케줄링된 시간에 업데이트를 송신하도록 구성될 수 있다.
관련된 양태에서, 스케줄링된 다운로드를 수신하기 위한 방법이 제시된다. 방법은, 스케줄링된 업데이트의 통지를 수신하는 단계, 및 업데이트를 수신하도록 스케줄링된 시간에서 튜닝인 (tune in) 하는 단계를 구비한다. 스케줄링된 업데이트는 비-시간-민감형 데이터를 포함할 수 있다. 업데이트는 브로드캐스트 접속에서 수신될 수 있다.
다른 양태는, 메모리 및 프로세서를 갖는 컴퓨터 플랫폼을 포함하는 무선 통신 장치에 관한 것이며, 메모리는 프로세서에 의해 행해진 판정들에 관련된 정보를 저장한다. 또한 장치에 구비되는 것은, 스케줄링된 업데이트가 무선 통신 장치에 대해 적절한지를 결정하는 업데이트 검증기, 및 현재 시간을 모니터링하고, 현재 시간과 업데이트를 위한 스케줄링된 시간을 비교하는 스케줄 핸들러일 수 있다. 장치는, 스케줄링된 업데이트를 수신하기 위해 백그라운드 프로세스를 개시하는 업데이트 수용기를 더 구비할 수 있다.
또 다른 양태는 스케줄링된 다운로드를 선택적으로 수신하기 위한 장치에 관한 것이다. 장치는, 스케줄링된 업데이트의 통지를 수신하는 수단, 및 업데이트를 수신하도록 스케줄링된 시간에서 튜닝인하는 수단을 구비한다. 스케줄링된 업데이트는 비-시간-민감형 데이터를 포함할 수 있다.
또 다른 양태는, 스케줄링된 업데이트가 적절한지를 결정하기 위한 머신-실행가능 명령들을 저장한 머신-판독가능 매체에 관한 것이다. 또한, 머신-실행가능 명령들은, 현재 시간을 모니터링하는 것, 및 현재 시간과 업데이트를 위한 스케줄링된 시간을 비교하고, 스케줄링된 업데이트를 수신하기 위해 백그라운드 프로세스를 개시하는 것을 구비한다.
무선 통신 시스템에서, 다른 양태는 프로세서를 포함하는 장치에 관한 것이다. 프로세서는, 스케줄링된 업데이트의 통지를 수신하고, 업데이트를 수신하도록 스케줄링된 시간에서 튜닝인하도록 구성될 수 있다. 또한, 프로세서는 백그라운드 기능을 자동으로 개시하고, 프라이머리 애플리케이션 외부에서 스케줄링된 업데이트를 다운로드하도록 구성될 수 있다.
전술한 및 관련된 목적들을 달성하기 위해, 하나 이상의 실시형태들은, 이하 완전히 설명되고 청구의 범위에서 특별히 지적되는 특징들을 포함한다. 다음의 설명 및 병합된 도면들은 특정 예시적인 양태들을 상세히 설명하고, 실시형태들의 원리들이 채용될 수도 있는 몇몇의 다양한 방법들만을 표시한다. 다른 장점들 및 신규한 특징들은, 도면들과 관련하여 고려되는 경우에 다음의 상세한 설명으로부터 명백하게 될 것이며, 개시되는 실시형태들은 모든 그러한 양태들 및 이들의 균등물을 포함하도록 의도된다.
도면의 간단한 설명
도 1은 스케줄링된 다운로드들을 포함할 수 있는, 컨텐츠의 선택적인 전달 및 선택적인 수용을 가능하게 하는 시스템을 예시한다.
도 2는 도 1의 컨텐츠의 양태의 개략도를 예시한다.
도 3은 도 1의 다수의 컨텐츠의 다수의 스트림들의 송신의 양태의 개략도를 예시한다.
도 4는 도 1의 시스템의, 광고주를 포함하는 컴포넌트들의 양태의 개략도를 예시한다.
도 5는 개시된 양태들에 따른 무선 디바이스를 예시한다.
도 6은 스케줄링된 다운로드들을 브로드캐스팅하기 위한 예시적인 시스템의 블록도를 예시한다.
도 7은 스케줄링된 다운로드를 선택적으로 수신하기 위한 예시적인 시스템을 예시한다.
도 8은 스케줄링된 브로드캐스트가 이용가능하지 않은 경우에 전용 업데이트를 선택적으로 송신 및 수신하는 시스템을 예시한다.
도 9는 하나 이상의 개시된 양태들을 자동화하기 위해 인공 지능을 이용하는 예시적인 시스템을 예시한다.
도 10은 스케줄링된 다운로드들을 송신하기 위한 방법을 예시한다.
도 11은 스케줄링된 다운로드를 수신하기 위한 방법을 예시한다.
도 12는 스케줄링된 다운로드를 선택적으로 송신하는 예시적인 시스템을 예시한다.
도 13은 스케줄링된 다운로드를 선택적으로 수신하는 예시적인 시스템을 예시한다.
상세한 설명
다양한 실시형태들이 도면들을 참조하여 이제 설명된다. 다음의 설명에서, 설명의 목적들을 위해, 하나 이상의 양태들의 철저한 이해를 제공하도록 다수의 특정 세부사항들이 설명된다. 그러나, 그러한 양태(들)이 그 특정 세부사항들이 없이도 실시될 수도 있다는 것이 명백할 수도 있다. 다른 경우들에서, 이들 실시형태들의 설명을 용이하게 하기 위해 공지의 스트럭쳐들 및 디바이스들이 블록도 형태로 도시된다.
본원에서 사용되는 바와 같이, "컴포넌트", "모듈", "시스템" 등의 용어들은, 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어 중 어느 하나인 컴퓨터-관련 엔티티를 지칭하도록 의도된다. 예컨대, 컴포넌트는, 프로세서 상에서 구동하는 프로세스, 프로세서, 객체, 실행가능한 것 (executable), 실행의 스레드, 프로그램, 및/또는 컴퓨터일 수도 있지만, 이에 한정되지는 않는다. 예로써, 컴퓨팅 디바이스 상에서 구동하는 애플리케이션 및 그 컴퓨팅 디바이스 양자 모두가 컴포넌트일 수 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행의 스레드 내에 상주할 수 있으며, 컴포넌트는 하나의 컴퓨터 상에 로컬화되고/되거나 2개 이상의 컴퓨터들 사이에서 분산될 수도 있다. 또한, 이들 컴포넌트들은 다양한 데이터 스트럭쳐들을 저장한 다양한 컴퓨터 판독가능 매체로부터 실행할 수 있다. 컴포넌트들은, (예컨대, 로컬 시스템에서, 분산된 시스템에서, 및/또는 신호의 방식에 의해 다른 시스템들을 이용하여 인터넷과 같은 네트워크를 통해, 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터와 같은) 예컨대 하나 이상의 데이터 패킷들을 갖는 신호에 따른 리모트 및/또는 로컬 프로세스들의 방식에 의해 통신할 수도 있다.
또한, 다양한 실시형태들이 무선 단말기와 관련하여 여기서 설명된다. 무선 단말기는, 시스템, 가입자 유닛, 가입자 스테이션, 모바일 스테이션, 모바일, 모바일 디바이스, 리모트 스테이션, 리모트 단말기, 액세스 단말기, 사용자 단말기, 단말기, 클라이언트, 클라이언트 디바이스, 무선 통신 디바이스, 사용자 에이전트, 사용자 디바이스, 또는 사용자 장비 (UE) 라고 또한 호칭될 수 있다. 무선 단말기는, 셀룰러 전화기, 코드리스 전화기, 세션 개시 프로토콜 (SIP) 전화기, 무선 로컬 로프 (WLL) 스테이션, 개인 휴대 정보 단말기 (PDA), 무선 접속 능력을 갖는 핸드헬드 (handheld) 디바이스, 컴퓨팅 디바이스, 또는 무선 모뎀에 접속된 다른 프로세싱 디바이스일 수도 있다. 또한, 다양한 실시형태들이 기지국과 관련하여 여기서 설명된다. 기지국은 무선 단말기(들)과 통신하기 위해 이용될 수도 있고, 액세스 포인트, 노드 B, 또는 몇몇 다른 용어로 또한 지칭될 수도 있다.
다양한 양태들 또는 특징들이 다수의 디바이스들, 컴포넌트들, 모듈들 등을 포함할 수도 있는 시스템들의 견지에서 제시될 것이다. 다양한 시스템들이 부가적인 디바이스들, 컴포넌트들, 또는 모듈들을 포함할 수도 있고/있거나 도면들과 관련하여 논의되는 모든 디바이스들, 컴포넌트들, 또는 모듈들을 포함하지 않을 수도 있다는 것이 이해되고 인식되어야 한다. 이들 접근법들의 조합이 또한 사용될 수도 있다.
도 1을 참조하면, 하나 이상의 무선 디바이스들 (104) 상의, 스케줄링된 다운로드들을 포함할 수 있는, 컨텐츠 (102) 의 선택적인 전달 및 선택적인 수용을 가능하게 하는 시스템 (100) 이 예시된다. 클라이언트에 전달되도록 요구되는 데이터 (예컨대, 업데이트들) 를 리뷰 (review) 할 시에, 데이터의 특정 양들이 (예컨대, 크리티컬한) 시간-민감형 (time-sensitive) 또는 (예컨대, 크리티컬하지 않은) 비-시간-민감형 (non-time-sensitive) 으로서 분류될 수 있다. 그러나, 브로드캐스트 네트워크는 개별적인 클라이언트 애플리케이션들의 현재의 상태를 결정할 수 없다. 따라서, 모든 클라이언트들이 동일한 데이터 및 데이터베이스들을 갖는 것을 보장하기 위한 유일한 방법은, 비-시간-민감형 데이터를 포함하는 정보를 반복적으로 전송하는 것이다. 그러나, 이 데이터가 브로드캐스트 (예컨대, 퍼스트 투 라스트) 환경에서 송신되고 다수의 클라이언트들이 동시에 청취 (listen) 하는 경우에는, 매우 많은 양의 대역폭이 필요하게 된다. 이는 매우 비효율적인 시스템을 생성한다. 따라서, 시스템 (100) 은 컨텐츠의 선택적인 전달 및 선택적인 수용을 제공할 수 있다.
시스템 (100) 은, 예컨대 제 1 네트워크 (110) 를 통해, 배포 시스템 (108) 에 컨텐츠 (102) 의 하나 이상의 피스들을 제공하도록 동작가능한 하나 이상의 컨텐츠 제공자들 (106) 을 포함할 수도 있다. 배포 시스템 (108) 은, 컨텐츠 (102) 의 각각의 세트와 연관된 하나 이상의 컨텐츠 메타데이터 (112) 와 함께, 컨텐츠 (102) 의 하나 이상의 세트들을 하나 이상의 무선 디바이스들 (104) 에 전달하도록 동작가능하다. 예컨대, 배포 시스템 (108) 은 송신기 (114) 및/또는 제 2 네트워크 (116) 를 포함할 수도 있으며, 송신기 (114) 는, 제 2 네트워크 (116) 를 통한 하나 이상의 무선 디바이스들 (104) 로의 전달을 위한 컨텐츠 (102) 및/또는 컨텐츠 메타데이터 (112) 의 일-대-다 (one-to-many) 송신물 (118) 을 생성하도록 동작가능하다.
컨텐츠 (102) 의 하나 이상의 세트들은 스케줄링된 다운로드에 기초하여 배포될 수 있다. 예컨대, 컨텐츠 (102) 의 세트는 하나 이상의 무선 디바이스들 (104) 을 위해 의도된 업데이트일 수 있다. 업데이트는 시간-민감형 데이터 또는 비-시간-민감형 데이터를 포함할 수 있다. 시간-민감형 데이터에 대한 접속들은 사용자가 무선 디바이스들 (104) 상의 애플리케이션을 능동적으로 사용하는 동안 행해질 수도 있다. 비-시간-민감형 데이터에 대한 접속들은 디바이스가 유휴이거나 또는 임계 레벨보다 더 적은 리소스들을 사용하고 있는 경우에 동작할 수 있는 백그라운드 기능을 통해 자동으로 오픈 (open) 될 수 있다.
예컨대, 배포 시스템 (108) 은 무선 디바이스가 마지막으로 튜닝인되었던 때를 알지 못하고 있었을 수도 있으며, 그 때는 어제이거나 또는 3주 전이었을 수도 있다. (예컨대, 주식 정보, 회사 명칭들, 스포츠 정보, 플레이어 명칭들 등과 같은) 다양한 타입의 정보를 포함하는 데이터베이스들이 업데이트되었을 수도 있다. 업데이트들을 반복적으로 전송하는 대신에, 그러한 비-크리티컬한 변경들은 무선 디바이스가 편리할 때 다운로딩하도록 스케줄링될 수 있다. 무선 디바이스가 유휴이거나 또는 낮은 활동의 기간들에 있는 경우에, 무선 디바이스는 사용자 개입 없이 자동적으로, 백그라운드 프로세스를 턴온 (turn on) 하고, 브로드캐스트되고 있는 스트림을 수용하며, 큰 데이터베이스 파일을 포함할 수도 있는 브로드캐스트 데이터를 다운로드할 수 있다. 브로드캐스트는, 1회 전송되거나, 하루에 수회 전송되거나, 수일 동안 전송되거나, 또는 무선 디바이스들이 데이터를 적절한 시간에 수신하도록 허용하는 다른 간격들로 전송될 수 있다. 무선 디바이스들은 라이브 (live) 및 변화하는 데이터 스트림들과 실질적으로 동시에 그 수신된 데이터를 사용할 수 있다. 이는, 빈번하게 변화하지 않는 데이터가 큰 스케줄링된 패키지 파일 내에 위치되도록 허용한다.
송신물 (118) 에 액세스할 시에, 각각의 무선 디바이스 (104) 는, 선택 데이터베이스 (124) 내의 하나 이상의 선택 파라미터들 (122) 에 기초하여 무선 디바이스 (104) 에 다운로드할 송신물 (118) 내의 컨텐츠 (102) 를 식별하도록 구성될 수 있는 컨텐츠 선택기 (120) 를 실행하도록 동작가능하다. 선택 파라미터들 (122) 은, (예컨대, 스케줄링된 다운로드들, 시간-민감형 업데이트들 등과 같은) 하나 이상의 컨텐츠 필터들 (126), (예컨대, 선호도들과 같은) 사용자 정보 (128) 를 표현하는 하나 이상의 데이터, 및/또는 (예컨대, 활성, 비활성, 유휴, 낮은 리소스 소비 등과 같은 디바이스의 상태와 같은) 디바이스 정보 (130) 를 표현하는 하나 이상의 데이터를 포함할 수도 있지만 이에 한정되지는 않는다. 선택 파라미터들 (122) 은 각각의 무선 디바이스 (104) 및/또는 각각의 무선 디바이스 (104) 의 각각의 사용자에 대해 고유할 수 있고/있거나 커스토마이징 (customize) 될 수 있다. 따라서, 몇몇 양태들에서, 각각의 무선 디바이스 (104) 는 동일한 송신물 (118) 내의 컨텐츠 (102) 의 상이한 세트를 다운로드할 수도 있다. 따라서, 몇몇 양태들에서, 하나 이상의 선택 파라미터들 (122) 은 컨텐츠 선택기 (120) 로 하여금, 하나 이상의 각각의 컨텐츠 메타데이터 (112) 와 하나 이상의 선택 파라미터들 (122) 사이의 매칭에 기초하여, 각각의 무선 디바이스 (104) 의 각각의 사용자가 관심을 갖는 하나 이상의 선택된 컨텐츠 (132) 를 다운로드하도록 허용한다.
또한, 예컨대, 선택된 컨텐츠 (132) 가 실시간 또는 라이브 컨텐츠를 포함하는 양태들에서, 컨텐츠 선택기 (120) 는 출력 디바이스 (136) 를 통한 프리젠테이션을 위해 매체 모듈 (134) 에 선택된 컨텐츠 (132) 를 포워딩할 수도 있다. 다른 양태들에서, 예컨대, 선택된 컨텐츠 (132) 가 비-실시간 컨텐츠를 포함하는 경우에, 컨텐츠 선택기 (120) 는 컨텐츠 스토리지 (138) 내에 캐시되거나 또는 세이브될 선택된 컨텐츠 (132) 를 포워딩할 수도 있다. 비-실시간 경우에서, 매체 모듈 (134) 은 검색 및 세이브된 컨텐츠 (132) 의 출력 디바이스 (136) 를 통한 프리젠테이션을 유발하기 위해 컨텐츠 스토리지 (138) 에 액세스하도록 동작가능하다.
출력 디바이스 (136) 는, 매체 모듈 (134) 과 함께, 무선 디바이스 (104) 의 사용자에 의한 소비를 위한 프리젠테이션 또는 프로그램으로서 선택된 컨텐츠 (132) 를 생성하도록 동작가능하다. 각각의 프로그램 또는 프리젠테이션은 (컨텐츠1 (142) 내지 컨텐츠N (144) 이라 명명된) 선택된 컨텐츠 (132) 의 하나 이상의 피스들의 조합을 포함할 수도 있다. 선택된 컨텐츠 (142, 144) 는 각각의 선택된 컨텐츠 (142, 144) 에 대응하는 하나 이상의 컨텐츠 메타데이터 (112) 와 연관될 수 있다.
관련된 양태에 따르면, 스케줄링된 다운로드일 수 있는 컨텐츠 (102) 는, 2개 이상의 채널들로 분할될 수 있는 애플리케이션과 같이, 다른 컨텐츠와 상이한 채널을 통해 전달될 수 있다. 스케줄링된 다운로드가 전송될 채널은, 다운로드 스케줄의 통지가 전송되는 시간과 실질적으로 동일한 시간에 무선 디바이스들 (104) 에 전달될 수 있다. 몇몇 양태들에 따르면, 스케줄링된 다운로드를 포함하는 채널은, 메타데이터, 또는 스케줄링된 다운로드로서 그 채널에 포함된 컨텐츠를 식별하는 다른 표시자를 포함한다. 따라서, 무선 디바이스들 (104) 은 여기서 논의된 백그라운드 기능을 이용함으로써 다운로드를 선택적으로 수용할 수 있다.
몇몇 양태들에 따르면, 제 1 네트워크 (110) 및 제 2 네트워크 (116) 는 시스템 (100) 의 다양한 컴포넌트들 및/또는 엔티티들 사이에 각각의 통신 링크들을 제공한다. 몇몇 양태들에서, 제 1 네트워크 (110) 및 제 2 네트워크 (116) 는 독립적인 네트워크들을 포함하지만, 다른 양태들에서, 이들은 서로 관련된 (inter-related) 네트워크들을 포함할 수도 있다. 일반적으로, 제 1 네트워크 (110) 및 제 2 네트워크 (116) 각각은, 하나 이상의 데이터 네트워크들 및/또는 하나 이상의 통신 네트워크들 중 임의의 하나 또는 이들의 임의의 조합을 포함할 수도 있다. 예컨대, 몇몇 양태들에서, 제 1 네트워크 (110) 는 인터넷과 같은 공중용 (public) 통신 네트워크일 수도 있고, 제 2 네트워크 (116) 는 캘리포니아, 샌디에고 소재의 퀄컴 인코포레이티드 (QUALCOMM Incorporated) 로부터 입수가능한 MediaFLOTM를 포함하는 FLO (Forward Link Only) 네트워크와 같은 멀티캐스트 네트워크와 같은 가입 기반 일-대-다 네트워크를 포함할 수도 있다. 다른 양태들에서, 제 1 네트워크 (110) 및 제 2 네트워크 (116) 는, 위성을 위한 DVB-S, 케이블을 위한 DVB-C, 지상 텔레비전을 위한 DVB-T, 헨드헬드용 지상 텔레비전을 위한 DVB-H와 같은 디지털 비디오 브로드캐스팅 (DVB) 네트워크; 지상 전화 네트워크; 위성 전화 네트워크; IrDA (Infrared Data Association)-기반 네트워크; 단거리 무선 네트워크; Bluetooth® 기술 네트워크; ZigBee® 프로토콜 네트워크, 초광대역 (UWB) 프로토콜 네트워크; HomeRF (home radio frequency) 네트워크; 공유 무선 액세스 프로토콜 (SWAP) 네트워크; WECA (wireless Ethernet compatibility alliance) 네트워크, Wi-Fi Alliance (wireless fidelity alliance) 네트워크, 및 802.11 네트워크와 같은 광대역 네트워크; 공중 전화 교환 네트워크; 인터넷과 같은 공중 이기종 통신 네트워크 (public heterogeneous communications network); 개인 통신 네트워크; 및 랜드 모바일 무선 네트워크 (land mobile radio network) 와 같은 다른 네트워크들 중 하나 또는 이들의 조합을 포함할 수도 있다.
또한, 제 1 네트워크 (110) 및/또는 제 2 네트워크 (116) 의 몇몇 양태들에 포함될 수도 있는 전화 네트워크들의 예들은, 코드 분할 다중 접속 (CDMA), 광대역 코드 분할 다중 접속 (WCDMA), UMTS (universal mobile telecommunications system), AMPS (advanced mobile phone service), 시분할 다중 접속 (TDMA), 주파수 분할 다중 접속 (FDMA), 직교 주파수 분할 다중 접속 (OFDMA), GSM (global system for mobile communications), 단일 캐리어 (1X) 무선 송신 기술 (RTT), EV-DO (evolution data only) 기술, GPRS (general packet radio service), EDGE (enhanced data GSM environment), 고속 다운링크 데이터 패킷 액세스 (HSPDA), 아날로그 및 디지털 위성 시스템들, 및 무선 통신 네트워크 및 데이터 통신 네트워크 중 적어도 하나에서 사용될 수도 있는 임의의 다른 기술들/프로토콜들과 같은 아날로그 및 디지털 네트워크들/기술들 중 하나 또는 이들의 임의의 조합을 포함한다.
도 2를 참조하면, 도 1의 컨텐츠의 양태의 개략도가 예시된다. 여기서 사용되는 바와 같이 컨텐츠 (102) 는, 비디오, 오디오, 멀티미디어 컨텐츠, 실시간 컨텐츠, "클립" 이라 또한 지칭되는 비-실시간 컨텐츠, 스크립트들, 프로그램들, 스케줄링된 다운로드들, 업데이트들 (시간-민감형 및 비-시간-민감형 양자 모두), 또는 무선 디바이스 (104) 에 배포되고 무선 디바이스 (104) 에 의해 실행되거나 또는 제시되도록 동작가능한 임의의 다른 타입의 데이터 또는 객체를 포함할 수도 있지만 이에 한정되지는 않는다. 예컨대, 컨텐츠 (102) 는, 프로그래밍을 위한 가입 (subscribed to programming), 애드혹 (ad hoc) 및/또는 온-디멘드 수신 프로그래밍 (on-demand received programming), 및/또는 다른 컨텐츠 내에 삽입되고/되거나 다른 컨텐츠와 동시에 또는 그 대신에 제시되는 광고 또는 부가되는 임의의 다른 형태의 컨텐츠 중 하나 또는 이들의 임의의 조합을 포함할 수도 있다. 또한, 예컨대, 컨텐츠 (102) 는, 텔레비전 쇼, 비디오, 영화, 노래, 월드 와이드 웹 페이지들 및 링크들과 같은 상호작용 데이터 등을 포함할 수도 있지만 이에 한정되지는 않는다. 또한, 컨텐츠 (102) 는, 컨텐츠의 각각의 피스와 연관된 문자, 숫자, 명칭, 파일 명칭, 파일 경로 등 중 하나 또는 이들의 임의의 조합과 같은 고유 컨텐츠 식별자 (ID) (202) 를 포함할 수도 있다.
또한, 다수의 컨텐츠 (102) 중 적어도 하나는 하나 이상의 컨텐츠 메타데이터 (112) 와 연관된다. 예컨대, 다수의 컨텐츠 (102) 의 각각과 연관된 하나 이상의 "컨텐츠 공급자들" 은 각각의 컨텐츠 메타데이터 (112) 를 정의하고, 각각의 컨텐츠와 컨텐츠 메타데이터 (112) 를 연관시킬 수도 있다. 여기서 사용되는 바와 같이, "컨텐츠 공급자" 라는 용어는, 컨텐츠 제공자 (106) 와 같은 컨텐츠 제공자, 컨텐츠 리테일러, 빌링 (billing) 및 고객 서비스 제공자, 및 배포 시스템 (108) 과 같은 매체 배포자 중 하나 또는 이들의 임의의 조합을 포함할 수도 있다. 컨텐츠 메타데이터 (112) 는, 컨텐츠 (102) 의 각각의 피스를 설명하고/하거나 컨텐츠 (102) 의 각각의 피스와 연관된 임의의 데이터를 포함한다. 예컨대, 컨텐츠 메타데이터 (112) 는, 컨텐츠 ID (202), 및 카테고리, 명칭, 컨텐츠 길이, 컨텐츠 타입, 연관된 스트림 표시자 (146), 코드, 식별자, 테마, 장르, 의도된 청중 (audience) 및/또는 마켓, 스크립트, 컨텐츠 필터 식별자, 큐잉 (cuing) 프로토콜 파라미터, 관련된 청중 및/또는 마켓, 및/또는 대응하는 컨텐츠에 관한 임의의 메타데이터와 같은 하나 이상의 컨텐츠 속성들 (204) 중 하나 또는 이들의 임의의 조합을 포함할 수도 있지만, 이에 한정되지는 않는다. 하나 이상의 컨텐츠 메타데이터 (112) 는 각각의 컨텐츠 (102) 로부터 분리되거나, 각각의 컨텐츠 (102) 에 부착되거나, 또는 각각의 컨텐츠 (102) 내에 임베딩될 수도 있다. 몇몇 양태들에서, 예컨대, 컨텐츠 (102) 및 컨텐츠 메타데이터 (112) 가 분리되는 경우에, 이들 각각은, 예컨대 각각의 컨텐츠 메타데이터가 각각의 컨텐츠에 관련되게 할 수 있도록, 동일한 컨텐츠 ID (202) 를 포함하거나 또는 동일한 컨텐츠 ID (202) 를 포인팅할 수도 있다.
도 3을 참조하면, 도 1의 다수의 컨텐츠의 다수의 스트림들의 송신의 양태의 개략도가 예시된다. 송신물 (118) 은, 각각의 엔드 사용자에 의한 소비를 위해 각각의 무선 디바이스 (104) (도 1) 에 컨텐츠 (102) 및 컨텐츠 메타데이터 (112) 의 하나 이상의 채널들 또는 서비스들 (302, 304, 306) 을 제공할 수도 있다. 몇몇 양태들에서, 예컨대, 각각의 송신물 (118) 은, CA, 샌디에고 소재의 퀄컴 인코포레이티드로부터 입수가능한 MediaFLOTM과 같은 FLOTM (Forward Link Only) 시스템에서의 일-대-다 송신을 포함할 수도 있다. 그러한 시스템에서, 송신물 (118) 은 소정의 지리적인 영역에서 이용가능한 플로우들의 세트인 "멀티플렉스 (multiplex)" 내에 플로우 또는 로지컬 스트림을 포함한다. 또한, 송신물 (118) 에 의해 반송되는 각각의 채널, 서비스, 및/또는 스트림 (302, 304, 306) 은 소정의 시간들에서 브로드캐스트될 수 있는 스케줄링된 다운로드 정보를 포함할 수 있다. 스케줄링된 다운로드가 브로드캐스트되고 있는 시간들 동안에, 다운로드를 브로드캐스트하는데 사용되는 특정한 채널은 무선 디바이스들 (104) 에 다른 정보를 공급하기 위해 사용될 수 있다.
도 4를 참조하면, 도 1의 시스템의, 광고주를 포함하는, 컴포넌트들의 양태의 개략도가 예시된다. 몇몇 양태들에서, 송신물 (118) 에 의해 반송되는 각각의 서비스, 채널, 및/또는 스트림 (302, 304, 306) (이하 채널이라 지칭됨) 의 프리젠테이션이 대다수의 엔드 사용자들 또는 소비자들 (402) 의 주의를 끌 수도 있기 때문에, 시스템 (100) 은 배포 시스템 (108) 과 통신하는 하나 이상의 광고주들 (404) 을 또한 포함할 수도 있다. 광고주 (404) 는, 선택된 엔드 사용자들 (402) 에게 하나 이상의 광고들의 형태로, 채널 (406) 내의 컨텐츠 (102) (도 1) 의 하나 이상의 피스들을 제시하기를 원하는 엔티티를 포함한다. 예컨대, 이 양태에서, 제 1 채널 (302) 은 광고를 포함할 수도 있지만, 이에 한정되지는 않는다.
도 5는 개시된 양태들에 따른 무선 디바이스 (500) 를 예시한다. 무선 디바이스 (500) 는 시스템 (100) (도 1) 의 무선 디바이스 (104) 를 표현하고, 송신물 (118) 을 수신하고/하거나 배포 시스템 (108) 과 통신하기 위해 제 2 네트워크 (116) 에 액세스하도록 동작가능하다. 각각의 무선 디바이스 (500) 는 데이터, 로직, 및 프로세서 (506) 에 의해 실행가능한 애플리케이션들을 저장하도록 동작가능한 메모리 (504) 를 갖는 컴퓨터 플랫폼 (502) 을 포함할 수도 있다. 사용자는 무선 디바이스 (500), 및 하나 이상의 입력 디바이스들 (510) 및 하나 이상의 출력 디바이스들 (512) 을 포함할 수도 있는 하나 이상의 사용자 인터페이스들 (508) 을 통해 무선 디바이스 (500) 의 상주 애플리케이션들과 상호작용할 수도 있다. 또한, 무선 디바이스 (500) 는 통신 모듈 (514) 을 통해 외부 디바이스들 및/또는 네트워크들과 통신을 교환할 수도 있다.
무선 디바이스들 (500) 이 셀룰러 전화기들로서 예시될 수도 있지만, 임의의 수 및 조합의 타입의 무선 디바이스들 (500) 이 도 1의 시스템 (100) 에 포함될 수도 있다. 예컨대, 무선 디바이스 (500) 는, 셀룰러 전화기, 개인 휴대 정보 단말기 (PDA), 랩톱 컴퓨터, 양방향 페이저, 휴대용 게임 디바이스, 휴대용 음악 디바이스, 또는 임의의 타입의 컴퓨터화된 무선 디바이스를 포함할 수도 있지만, 이에 한정되지는 않는다. 따라서, 개시된 양태들은, 무선 모뎀들, PCMCIA 카드들, 액세스 단말기들, 개인용 컴퓨터들, 전화기들, 또는 이들의 임의의 조합 또는 하위-조합을 한정되지 않게 포함하는 유선 또는 무선 통신 포털을 포함하는 임의의 형태의 무선 디바이스 또는 컴퓨터 모듈 상에서 수행될 수 있다.
컴퓨터 플랫폼 (502) 은 제 1 네트워크 (110) (도 1) 및/또는 제 2 네트워크 (116) (도 1) 와 같은 네트워크를 통해 데이터를 송신하도록 동작가능하며, 컴퓨터 플랫폼 (502) 은, 루틴들 및 애플리케이션들을 수신하고 실행하고, 무선 디바이스 (500) 내에서 생성되거나, 또는 네트워크에 접속되거나 또는 무선 디바이스 (500) 에 접속된 임의의 네트워크 디바이스 또는 다른 컴퓨터 디바이스로부터 수신된 데이터를 선택적으로 디스플레이하도록 동작가능하다. 예컨대, 컴퓨터 플랫폼 (502) 은 하드웨어, 펌웨어, 소프트웨어, 데이터, 및 실행가능한 명령들 중 하나 또는 이들의 임의의 조합에서 실시될 수도 있다.
메모리 (504) 는, 판독-전용 및/또는 랜덤-액세스 메모리 (RAM 및 ROM), EPROM, EEPROM, 플래시 카드들, 플래시 메모리 셀들, 전자 파일 시스템, 및 컴퓨터 플랫폼들에 대해 공통인 임의의 메모리와 같은, 휘발성 및 비휘발성 메모리 중 하나 또는 이들의 임의의 조합을 포함할 수도 있다. 또한, 메모리 (504) 는, 탈착식 메모리 메카니즘들을 포함하는, 자성 매체, 광학 매체, 테이프, 또는 소프트 또는 하드 디스크와 같은 임의의 2차 또는 3차 스토리지 디바이스 중 하나 이상을 포함할 수도 있다.
또한, 프로세서 (502) 는, 주문형 집적 회로 ("ASIC"), 칩셋, 프로세서, 로직 회로, 및 임의의 다른 데이터 프로세싱 디바이스 중 하나 이상일 수도 있다. 몇몇 양태들에서, 프로세서 (504), 또는 ASIC와 같은 다른 프로세서는, 무선 디바이스 (500) 의 메모리 (504) 에 저장된 임의의 상주 프로그램들과 인터페이스하는 애플리케이션 프로그래밍 인터페이스 (application programming interface; API) 레이어 (516) 를 실행할 수도 있다. 통상적으로, API (516) 는 각각의 무선 디바이스 상에서 실행하는 런타임 환경이다. 하나의 그러한 런타임 환경은 캘리포니아, 샌디에고 소재의 퀄컴 인코포레이티드에 의해 개발된 BREW® (Binary Runtime Environment for Wireless®) 소프트웨어이다. 예컨대 무선 컴퓨팅 디바이스들 상의 애플리케이션들의 실행을 제어하도록 동작하는 다른 런타임 환경들이 이용될 수도 있다.
또한, 프로세서 (502) 는, 무선 디바이스 (500) 의 기능 및 도 1의 네트워크 (116) 상의 무선 디바이스의 동작성 (operability) 을 가능하게 하는, 하드웨어, 펌웨어, 소프트웨어, 데이터, 실행가능 명령들, 및 이들의 조합들로 실시되는 다양한 프로세싱 서브시스템들 (518) 을 포함할 수도 있다. 예컨대, 프로세싱 서브시스템들 (518) 은, 배포 시스템 (108) 및/또는 다른 네트워크된 디바이스들과 통신을 개시 및 유지하고, 데이터를 교환하는 것을 고려한다. 무선 디바이스 (500) 가 셀룰러 전화기로서 정의되는 양태들에서, 예컨대, 프로세서 (506) 는, 사운드, 비휘발성 메모리, 파일 시스템, 송신, 수신, 탐색기, 레이어 1, 레이어 2, 레이어 3, 메인 제어, 리모트 프로시져, 핸드세트, 파워 관리, 디지털 신호 프로세서, 메시징, 호 관리자, Bluetooth® 시스템, Bluetooth® LPOS, 포지션 엔진 (position engine), 사용자 인터페이스, 슬립, 데이터 서비스들, 보안, 인증, USIM/SIM, 음성 서비스들, 보코더, 메시징, 그래픽스 (graphics), USB, 멀티미디어 등과 같은 프로세싱 서브시스템들 (518) 중 하나 또는 이들의 조합을 부가적으로 포함할 수도 있다. 개시된 양태들에 있어서, 프로세서 (506) 의 프로세싱 서브시스템들 (518) 은, 여기서 설명되는 기능을 가능하게 하는 컴퓨터 플랫폼 (502) 상에서 실행하는 애플리케이션들과 상호작용하는 임의의 서브시스템 컴포넌트들을 포함할 수도 있다. 예컨대, 프로세싱 서브시스템들 (518) 은, 컨텐츠 선택기 (520) 대신에 API (516) 로부터의 데이터 판독들 및 데이터 기록들을 수신하는 임의의 서브시스템 컴포넌트들을 포함할 수도 있다.
또한, 통신 모듈 (514) 은, 하드웨어, 펌웨어, 소프트웨어, 데이터, 실행가능 명령들, 이들의 조합들로 실시될 수도 있고, 무선 디바이스 (500) 의 다양한 컴포넌트들 사이에서, 뿐만 아니라 무선 디바이스 (104) 와 제 1 네트워크 (110) 및/또는 제 2 네트워크 (116) 사이에서의 통신들을 가능하게 하도록 동작가능하다. 예컨대, 셀룰러 전화기 양태들에서, 통신 모듈 (514) 은, 무선 통신 접속을 확립하기 위한 송신 및 수신 체인 컴포넌트들을 포함하는, 필수적인 하드웨어, 펌웨어, 소프트웨어, 데이터, 실행가능 명령들, 및 이들의 조합들을 포함할 수도 있다.
또한, 예컨대, 통신 모듈 (514) 은, 배포 시스템 (108) 으로부터, 스케줄링된 다운로드 및 존재한다면 연관된 각각의 하나 이상의 컨텐츠 메타데이터 (112) 를 포함하고, 이들을 컨텐츠 선택기 (520) 에 포워딩하거나, 또는 이들로의 액세스를 컨텐츠 선택기 (520) 에 제공할 수 있다. 유사하게, 예컨대, 통신 모듈 (514) 은, 하나 이상의 선택 파라미터들 (122) 을 수신하고, 이들을 컨텐츠 선택기 (520) 에 포워딩하거나, 또는 이들로의 액세스를 컨텐츠 선택기 (520) 에 제공하도록 동작가능하다. 후속하여, 예컨대, 통신 모듈 (514) 은 선택된 컨텐츠 (126) 를 추가 프로세싱을 위한 다른 디바이스 컴포넌트들에 각각 포워딩하도록 동작가능하다.
또한, 무선 디바이스로의 입력들을 생성하기 위한 하나 이상의 입력 디바이스들 (510), 및 무선 디바이스의 사용자에 의한 소비를 위한 정보를 생성하기 위한 하나 이상의 출력 디바이스들 (512) 이 제공된다. 예컨대, 입력 디바이스 (510) 는, 키 또는 키보드, 네비게이션 메카니즘, 마우스, 터치-스크린 디스플레이, 음성 인식 모듈과 연관된 마이크로폰 등과 같은 메카니즘을 포함할 수도 있다. 특정 양태들에서, 입력 디바이스 (510) 는, 예컨대 무선 디바이스 상의 애플리케이션 또는 모듈과 작동 또는 상호작용하기 위해 사용자 입력을 수신하기 위한 인터페이스를 제공한다. 또한, 예컨대, 출력 디바이스 (512) 는 디스플레이, 오디오 스피커, 햅틱 피드백 메카니즘 등을 포함할 수도 있다. 또한, 사용자 인터페이스 (508) 는 입력 디바이스들 (510) 및/또는 출력 디바이스들 (512) 중 하나 또는 이들의 임의의 조합을 포함할 수도 있다.
이제 도 6을 참조하면, 스케줄링된 다운로드들을 브로드캐스팅하기 위한 예시적인 시스템 (600) 의 블록도가 예시된다. 시스템 (600) 은, 클라이언트 디바이스가 유휴이거나 또는 임계 레벨보다 더 적은 리소스들을 사용하고 있는 경우에 클라이언트 디바이스에 비-크리티컬한 데이터가 전달되는 것을 허용하도록 구성될 수 있다. 클라이언트 디바이스는 백그라운드 프로세스를 개시하고, 프라이머리 애플리케이션 외부에서 데이터를 수신할 수 있다. 클라이언트가 활성이거나 또는 리소스 소비가 임계 레벨보다 더 높은 경우에 다른 브로드캐스트 채널들이 사용될 수 있으며, 이는 시간-민감형 데이터를 전달하기 위해 이용될 수 있다. 따라서, 시스템 (600) 은 더 로버스트한 클라이언트 체험을 제공할 수 있다.
더 상세히는, 시스템 (600) 은 클라이언트 디바이스 (604) 와 무선 통신하는 송신기 (602) 를 포함한다. 다수의 송신기들 및 다수의 클라이언트 디바이스들이 시스템 (600) 에 포함될 수 있지만, 간략화를 위해 각각 하나만이 도시된다. 송신기 (602) 는 이용가능한 (또는 이용가능하게 될) 스케줄링된 (비-시간-민감형) 다운로드를 클라이언트 (604) 에게 통지하도록 구성될 수 있다.
송신기 (602) 는 그러한 비-시간-민감형 다운로드들을 스케줄링하도록 구성될 수 있는 스케줄러 (606) 를 포함할 수 있다. 그러한 다운로드들은, 규칙적인 간격들 (예컨대, 3 시간마다), 랜덤한 간격들 (예컨대, 1:00 a.m., 7:00 a.m., 4:00 p.m., 및 9:00 p.m.), 또는 (예컨대, 비-피크 시간들 동안의) 낮은 비활동의 기간들에 대해 계획되거나, 또는 단일 시간 (예컨대, "금주 수요일 6:30 p.m.") 에 대해서만 스케줄링될 수 있다. 또한, 스케줄은, 클라이언트 디바이스들 (604) 이 소정의 기간 (예컨대, "일요일 5:30 p.m.과 11:45 p.m. 사이) 동안 다운로드에 액세스하는 것을 가능하게 하는 시간 윈도우 또는 업데이트 윈도우를 포함할 수 있다. 또한, 스케줄은, 연속하는 날들/주들 또는 (예컨대, 격일, 3일 마다와 같은) 불연속하는 날들/주들일 수 있는 일련의 날들 또는 주들에 걸칠 수 있다.
또한, 클라이언트 디바이스들 (604) 에게 제안된 스케줄을 통지하도록 구성될 수 있는 업데이트 통지기 (608) 가 포함된다. 그러한 정보는, 스케줄을 인지할 필요가 있는 클라이언트 디바이스들 (604) 이 스케줄링 정보를 수신하기 위한 적절한 시간을 갖도록, 예컨대 수일 동안 연속적으로 또는 상이한 간격들로 전송될 수 있다.
모니터 (610) 는, 다운로드를 위한 스케줄을 리뷰하고, 송신기 또는 송신기/수신기 페어일 수 있는 전송기 (612) 에 트리거링 신호를 적절한 시간에 전송하도록 구성될 수 있다. 모니터 (610) 는 현재 시간과 다운로드들을 위한 스케줄링된 시간을 비교할 수 있다. 현재 시간은 송신기 (602) 에 의해 레퍼런싱된 시간 (예컨대, 송신기 (602) 의 현재 시간) 일 수 있거나, 또는 클라이언트 디바이스 (604) 에 의해 레퍼런싱된 시간 (예컨대, 클라이언트 디바이스 (604) 와 연관된 현재 시간) 일 수 있다. 예컨대, 동부 시간대 (Eastern Time Zone) 에 위치된 클라이언트는 태평양 시간대 (Pacific Time Zone) 에 위치된 클라이언트보다 대략 3 시간 더 이르게 업데이트를 수신할 수 있다.
몇몇 양태들에 따르면, 다양한 시간대들이 동기화되어, 동부 시간대의 클라이언트는 브로드캐스트가 일요일 3:00 a.m.에 시작한다고 표시하는 스케줄을 수신하고, 태평양 시간대의 클라이언트는 브로드캐스트가 일요일 12:00 a.m.에 시작한다고 표시하는 스케줄링을 수신한다. 이 시나리오에서, 클라이언트 디바이스는 클라이언트의 이동을 모니터링할 수 있는 기능을 포함할 수 있다. 예컨대, 클라이언트 디바이스는 동부 시간대 내에서 동작하고 있고, 예컨대 비행기에 탑승하는 경우에 턴 "오프" 될 수도 있다. 그 후, 비행기가 착륙한 후에 클라이언트가 턴 "온" 되는 경우에, 클라이언트는 이제 태평양 시간대 내에서 동작하고 있다. 클라이언트 디바이스 (604) 는 (예컨대, 관련된 영역 또는 위치를 모니터링함으로써) 변화를 해석하고, 올바른 시간 (예컨대, 동부 시간대 대신 태평양 시간대) 에 브로드캐스트로 튜닝하도록 디바이스 타이밍을 자동으로 조정하는 기능을 포함할 수 있다.
또한, 전송기 (612) 는 전용 채널 또는 데이터 스트림을 통해 스케줄링된 다운로드를 브로드캐스팅하도록 구성될 수 있다. 이 전용 채널은 스케줄링된 다운로드 시간들 동안에 다운로드를 위해 이용될 수 있다. 다운로드가 스케줄링되지 않은 다른 시간들 동안에, 전용 채널은 다른 브로드캐스트 데이터를 전송하기 위해 이용될 수 있다.
시스템 (600) 은 송신기 (602) 에 동작가능하게 커플링된 메모리 (614) 를 포함할 수 있다. 메모리 (614) 는, 스케줄링된 다운로드, 스케줄링된 다운로드 시간들, 및 프로세서에 의해 생성된 다른 정보로서 전송되어야 하는 데이터에 관련된 정보를 저장할 수 있다. 몇몇 양태들에 따르면, 메모리 (614) 는, 스케줄링된 다운로드를 수신하였던 디바이스들에 관련된 정보, 및 통신 네트워크에서 다운로드들을 스케줄링 및 송신하는 것에 관련된 다른 적합한 정보를 저장할 수 있다. 프로세서 (616) 는 송신기 (602) (및/또는 메모리 (614)) 에 동작가능하게 접속되어, 수신 디바이스들로의 다운로드들을 스케줄링 및 송신하는 것에 관한 명령들을 실행할 수 있다.
몇몇 양태들에 따르면, 프로세서 (616) 는, 통신 네트워크에서 다운로드 데이터를 브로드캐스팅하기 위한 최상의 시간 또는 시간들을 결정하는 것에 관한 명령들을 실행할 수 있다. 프로세서 (616) 는, 다운로드 시간들 또는 업데이트 윈도우들을 권고 (recommend) 하고, 근간의 업데이트가 언제 예상되는지를 수신 디바이스들에게 통지하고, 스케줄링된 시간(들)에 업데이트를 송신하는 등을 위한 명령들을 실행할 수 있다. 몇몇 양태들에 따르면, 프로세서 (616) 는 스케줄링된 송신들 동안에 에러가 있었던 경우에 업데이트를 재송신하기 위한 명령들을 실행할 수 있다.
프로세서 (616) 는 비-시간-민감형 데이터를 스케줄링하는 것 및/또는 브로드캐스팅하는 것에 전용된 프로세서일 수 있다. 또한, 프로세서 (616) 는, 전용 요청에 기초하여 클라이언트로의 재송신을 제어하는 프로세서이고/이거나, 송신기 (602) 에 의해 수신된 정보의 분석 및 생성 양자 모두를 행하고 시스템 (600) 의 하나 이상의 컴포넌트들을 제어하는 프로세서일 수 있다.
메모리 (614) 는, 시스템 (600) 이 저장된 프로토콜들 및/또는 알고리즘들을 채용하여 여기서 설명된 바와 같이 무선 네트워크에서의 스케줄링된 다운로드들을 브로드캐스팅하는 것을 달성할 수 있도록, 송신기 (602) 와 클라이언트 디바이스 (604) 사이의 통신을 제어하는 등을 위한 액션을 취하는, 업데이트들을 위한 스케줄링된 시간들과 연관된 프로토콜들을 저장할 수 있다. 여기서 설명되는 데이터 저장 (예컨대 메모리들) 컴포넌트들은 휘발성 메모리 또는 비휘발성 메모리일 수 있거나, 또는 휘발성 및 비휘발성 메모리 양자 모두를 포함할 수 있다. 예로써 한정되지 않게, 비휘발성 메모리는, 판독 전용 메모리 (ROM), 프로그래밍 가능한 ROM (PROM), 전기적으로 프로그래밍 가능한 ROM (EPROM), 전기적으로 소거가능한 ROM (EEPROM), 또는 플래시 메모리를 포함할 수 있다. 휘발성 메모리는, 외부 캐시 메모리로서 작용하는 랜덤 액세스 메모리 (RAM) 를 포함할 수 있다. 예로써 한정되지 않게, RAM은, 동기식 RAM (DRAM), 동적 RMA (DRAM), 동기식 DRAM (SDRAM), 2배속 SDRAM (DDR SDRAM), 인핸스드 SDRAM (ESDRAM), 싱크링크 DRAM (SLDRAM), 및 다이렉트 램버스 RAM (DRRAM) 과 같은 다수의 형태들로 이용가능하다. 개시되는 실시형태들의 메모리 (414) 는 이들 및 다른 적합한 타입의 메모리를 이들에 한정되지 않게 포함하도록 의도된다.
도 7은 스케줄링된 다운로드를 선택적으로 수신하기 위한 예시적인 시스템 (700) 을 예시한다. 시스템 (700) 은, 디바이스가 유휴이거나 또는 낮은 양의 리소스들을 사용하고 있는 경우에 사용자 디바이스에 비-크리티컬한 데이터가 전달되는 것을 허용하도록 구성될 수 있다. 프라이머리 애플리케이션 외부에서 데이터를 수신하기 위해 디바이스에 의해 백그라운드 프로세스가 개시될 수 있다. 따라서, 디바이스가 활성인 경우에 다른 브로드캐스트 채널들이 이용될 수 있고 시간-민감형 데이터를 전달하기 위해 더 양호하게 의도될 수 있다.
시스템 (700) 은 위의 도면의 시스템 (600) 과 유사하고, 클라이언트 디바이스 (704) 와 무선 통신하는 송신기 (702) 를 포함한다. 송신기 (702) 는 다양한 비-크리티컬한 다운로드들을 스케줄링할 수 있다. 업데이트 검증기 (706) 는, 브로드캐스팅되도록 스케줄링된 데이터가 클라이언트 디바이스 (704) 에 대해 적절한지, 및/또는 그 데이터가 이미 수신되었는지를 검증하도록 구성될 수 있다. 예컨대, 비-크리티컬한 데이터는 수일 동안 상이한 간격들로 브로드캐스팅되었을 수도 있다. 클라이언트 디바이스 (706) 가 비지 (busy) 가 아닌 2 이상의 시간이 있었을 수도 있다. 더 이른 브로드캐스트 동안에 데이터가 수신되었던 경우에, 업데이트 검증기 (706) 는 브로드캐스트를 선택적으로 무시할 수 있다. 그러나, 더 이른 브로드캐스트 데이터가 수신되지 않았거나, 완료되지 않았거나, 또는 데이터의 수신에서 문제가 있었던 경우에, 업데이트 검증기 (706) 는 브로드캐스트 데이터를 수용할 수 있다.
몇몇 양태들에 따르면, 업데이트 검증기 (706) 는, 데이터가 전송되는 특정한 채널에 기초하여, 스케줄링된 다운로드를 선택적으로 수용하도록 구성될 수 있다. 채널은 미리 결정될 수 있고, 채널에 관한 정보는, 스케줄링된 다운로드의 통지가 수신되는 시간과 실질적으로 동시에 전송될 수 있다. 다르게는, 채널은 미리 결정되지 않을 수도 있고, 데이터와 관련하여 수신된 정보는, 채널이 스케줄링된 다운로드를 포함한다고 클라이언트 디바이스 (704) 및/또는 업데이트 검증기 (708) 에게 통지할 수 있다. 시간-민감형 데이터에 대한 접속들은 사용자가 클라이언트 (704) 상의 애플리케이션을 능동적으로 사용하고 있는 동안, 또는 임의의 다른 시간에 행해질 수 있다.
스케줄링된 브로드캐스트가 클라이언트 (704) 에 대해 적절한 경우에, 스케줄 핸들러 (708) 는, 비-크리티컬한 업데이트들이 브로드캐스트되리라 예상되는 때에 관한 업데이트 윈도우 또는 스케줄링된 시간(들)을 모니터링하도록 구성될 수 있다 (예컨대, 클라이언트 (704) 는 스케줄링된 시간들 동안을 제외하고 업데이트를 청취할 필요가 없다). 스케줄 핸들러 (708) 는 클라이언트 (704) 와 연관된 현재 시간을 모니터링하도록 구성될 수 있다. 몇몇 양태들에 따르면, 스케줄 핸들러 (708) 는 클라이언트 (704) 의 시간대에서의 변화들 (예컨대, 태평양 시간대로부터 동부 시간대로의 변화) 을 모니터링할 수 있다.
또한, 스케줄 핸들러 (708) 는 현재 시간과 스케줄링된 시간을 비교할 수 있고, 매칭이 존재하는 경우에, 업데이트 수용기 (710) 는 다운로드를 선택적으로 수용하도록 통지될 수 있다. 업데이트 수용기 (710) 는, 클라이언트 디바이스 (704) 가 유휴이거나 또는 낮은 전력 소비의 기간들 동안에 있는 경우에, 데이터를 수신하고 비-크리티컬한 데이터를 관리하기 위한 백그라운드 프로세스를 개시하도록 구성될 수 있는 백그라운드 기능 (712) 을 포함할 수 있다. 클라이언트 디바이스 (704) 가 비지인 경우에, 백그라운드 기능 (712) 은 비-크리티컬한 데이터의 현재의 브로드캐스트를 선택적으로 무시하고, 상이한 시간에서 업데이트를 수용하거나 또는 요청할 수 있다.
시스템 (700) 은 클라이언트 (704) 에 동작가능하게 커플링된 메모리 (714) 를 포함할 수 있다. 메모리 (714) 는 업데이트가 브로드캐스트될 스케줄링된 시간들의 통지에 관련된 정보를 저장할 수 있다. 스케줄링된 브로드캐스트는 비-시간-민감형 데이터를 포함할 수 있다. 몇몇 양태들에 따르면, 메모리 (714) 는 이력 (historical) 다운로드들에 관련된 정보 (예컨대, 특정한 애플리케이션에 대해 얼마나 자주 업데이트가 수신되는지, 업데이트가 수신된 최종 시간), 및 통신 네트워크에서 스케줄링된 다운로드 데이터를 수신하는 것에 관련된 다른 적합한 정보를 저장할 수 있다. 프로세서 (716) 는 클라이언트 (702) (및/또는 메모리 (714)) 에 동작가능하게 접속되어, 스케줄링된 근간의 업데이트를 수신하는 것에 관한 명령들을 실행할 수 있다.
몇몇 양태들에 따르면, 프로세서 (716) 는 스케줄링된 다운로드에 관련된 정보의 분석에 관한 명령들을 실행할 수 있다. 프로세서 (716) 는, 업데이트를 수용하기 위한 최상의 시간을 선택적으로 결정하는 것, 업데이트를 수신하기 위한 백그라운드 기능을 자동으로 개시하는 것 등을 위한 명령들을 실행할 수 있다. 몇몇 양태들에 따르면, 프로세서 (716) 는, 스케줄링된 업데이트가 수신되지 않았던 경우에 다른 통신 링크를 통해 전용 업데이트를 자동으로 요청하기 위한 명령들을 실행할 수 있다. 프로세서 (716) 는 클라이언트 디바이스 (704) 에 의해 수신된 정보 (예컨대, 다운로드 정보, 사용자 디바이스들의 위치, 사용자 디바이스들에 통신될 다운로드들 등) 를 분석 및/또는 생성하도록 전용된 프로세서일 수 있다. 또한, 프로세서 (716) 는, 시스템 (700) 의 하나 이상의 컴포넌트들을 제어하는 프로세서일 수 있고/있거나, 클라이언트 디바이스 (704) 에 의해 수신된 정보의 분석 및 생성 양자 모두를 행하고 시스템 (700) 의 하나 이상의 컴포넌트들을 제어하는 프로세서일 수 있다.
도 8은 스케줄링된 브로드캐스트가 이용가능하지 않은 경우에 전용 업데이트를 선택적으로 송신 및 수신하는 시스템 (800) 을 예시한다. 사용자 디바이스가 다양한 조건들 및 인자들로 인해 스케줄링된 브로드캐스트를 수신할 수 없는 상황들이 있을 수도 있다. 예컨대, 클라이언트 디바이스는 브로드캐스트 신호의 범위 밖 (예컨대, 국가 밖에서, 디바이스의 배터리가 적절한 충전을 갖지 않은 경우) 에 있을 수도 있다. 이들 상황들에서, 전용 업데이트가 요청 시에 디바이스에 전송될 수 있다.
더 상세히는, 시스템 (800) 은 하나 이상의 수신기들 (804) (그 중 하나만이 예시됨) 과 무선 통신하는 전송기 (802) 를 포함한다. 전송기 (802) 는, 수신기들 (804) 의 높은 퍼센트에 의해 수신된 스케줄링된 업데이트를 이미 브로드캐스팅하였을 수도 있다. 그러나, 다양한 이유들로 스케줄링된 데이터를 다운로드하기 위한 기회를 갖지 못한 다수의 수신기들 (804) 이 있었을 수도 있다.
수신기 (804) 는, 스케줄링된 다운로드가 다양한 인자들로 인해 미싱 (miss) 되었는지를 결정하도록 구성될 수 있는 최적화 컴포넌트 (806) 를 포함할 수 있다. 최적화 컴포넌트 (806) 는, (예컨대, 도 7의 스케줄 핸들러 (708) 로부터 정보를 요청함으로써) 보유된 정보에 액세스하고 스케줄링된 시간(들)이 만료되었는지를 결정함으로써 결정을 행할 수 있다. 몇몇 양태들에 따르면, 수신기 (804) 는 스케줄링된 업데이트가 있었는지를 인지하지 않을 수도 있다. 이 상황에서, 최적화 컴포넌트 (806) 는 미싱되었을 수도 있는 다운로드들에 관한 정보를 선택적으로 요청하도록 구성될 수 있다. 예컨대, 주기적으로 업데이트되는 데이터의 공통 타입들이 있었을 수도 있다. 최적화 컴포넌트 (806) 는, 업데이트를 이용하는 애플리케이션 내에 포함된 정보에 기초하거나, 이력 데이터에 기초하거나 (예컨대, 업데이트가 특정한 애플리케이션에 대해 2달 마다 일반적으로 수신되고, 2달 윈도우가 지난 경우), 또는 다른 기준에 기초하여 (예컨대, 만료일 등이 포함된, 특정한 애플리케이션의 정보가 구식 (outdate) 인 경우), 그러한 필요한 업데이트들을 결정할 수 있다.
스케줄링된 다운로드가 가능성 있게 미싱되었다고 최적화 컴포넌트 (806) 가 결정하는 경우에, 최적화 컴포넌트 (806) 는 업데이트에 관해 문의하는 전송기 (802) 로의 요청을 송신할 수 있다. 스케줄링된 다운로드가 있었는지 불명확한 경우에, 요청은 업데이트가 있었는지 여부를 포함할 수 있다. 또한, 요청은 수신된 최종 업데이트에 관한 정보 (예컨대, 데이터의 타임 스탬프 또는 다른 식별 정보) 를 포함할 수 있다. 미싱된 업데이트가 있었던 경우에, 요청에 응답하여 전용 업데이트 (808) 가 수신기 (804) 에 유니캐스팅될 수 있다. 그러한 방식으로, 시스템 (800) 은, 스케줄링된 다운로드를 미싱하였던 수신기들 (804) 이 스케줄의 만료 이후에 다운로드를 수신하도록 허용할 수 있다.
도 9는 하나 이상의 개시된 양태들을 자동화하기 위해 인공 지능을 이용하는 예시적인 시스템 (900) 을 예시한다. 시스템 (900) 은 백그라운드 기능 프로세스를 통해 더 낮은 디바이스 활동의 기간 동안의 스케줄링된 다운로드들의 자동 수용을 용이하게 할 수 있다. 디바이스의 최소의 사용 동안의 비-크리티컬한 다운로드들을 수용하는 것은, 업데이트가 활성인 애플리케이션들과, 존재하는 경우, 작은 간섭을 갖도록 허용함으로써, 더 로버스트한 사용자 체험을 제공할 수 있다. 크리티컬한 업데이트들은 임의의 시간에 전송 및 수신될 수 있다.
더 상세히는, 시스템 (900) 은, 비-크리티컬한 다운로드들을 스케줄링하고, 다운로드들의 이용가능성에 대해 하나 이상의 수신기들 (904) 에게 통지하도록 구성될 수 있는 전송기 (902) 를 포함한다. 수신기 (904) 는 인공 지능 (AI) 방법들을 채용할 수 있고, 이는 예시된 바와 같이, AI 컴포넌트 (906) 에 의해 용이하게 될 수 있다. (스케줄링된 다운로드들을 선택적으로 수신하는 것과 관련하여) 다양한 실시형태들이 그 다양한 양태들을 수행하기 위한 다양한 AI-기반 기법들 (예컨대, 머신 학습 및 추리, 룰-기반 기술들) 을 채용할 수 있다. 예컨대, 스케줄링된 다운로드가 디바이스에 대해 적절한지를 결정하고, 이용가능한 시간들 동안의 다운로드를 수용하기 위한 최상의 시간을 결정하는 등을 위한 프로세스는 자동 분류기 시스템 및 프로세스를 통해 용이하게 될 수 있다. 예컨대, 사용자 또는 디바이스 상태 AI 컴포넌트 (906) 에 기초하는 것은 스케줄링된 다운로드를 수신하기 위한 최적의 시간인 것을 추정 (infer) 할 수 있다.
분류기는, 입력 속성 벡터, x = (x1, x2, x3, x4, xn) 를 그 입력이 클래스에 속하는 컨피던스 (confidence) 로, 즉 f(x) = confidence(class), 매핑하는 기능이다. 그러한 분류는, 사용자가 자동으로 수행되기를 원하는 액션을 예측 (prognose) 또는 추정하기 위해 (분석 유틸리티들 및 코스트들로 팩터링 (factor) 하는) 확률 및/또는 통계 기반 분석을 채용할 수 있다. 스케줄링된 다운로드들을 수용하는 경우에, 예컨대, 속성들은 다운로드에 포함된 정보 (예컨대, 중요도, 사용자에 대한 적합성) 일 수 있고, 클래스들은 관심 있는 카테고리들 또는 영역들 (예컨대, 데이터의 사용자 선호도들 또는 사용, 데이터의 적합성 등) 이다.
지원 벡터 머신 (support vector machine; SVM) 은 채용될 수 있는 분류기의 일례이다. SVM은, 가능한 입력들의 스페이스 내의 하이퍼서페이스 (hypersurface) 를 발견함으로써 동작하고, 하이퍼서페이스는 비-트리거링 이벤트들로부터 트리거링 기준을 분리하려고 시도한다. 직관적으로, 이는 트레이닝 (training) 데이터 근방에 있지만 트레이닝 데이터와 동일하지 않은 테스팅 데이터에 대해 분류를 올바르게 한다. 예컨대 나이브 베이스 (naive Bayes), 베이지언 (Bayesian) 네트워크, 판정 트리 (decision tree), 신경 네트워크 (neural network), 퍼지 로직 모델, 및 독립성의 상이한 패턴들을 제공하는 확률 분류 모델들과 같은 다른 규제된 (directed) 및 비규제된 (undirected) 모델 분류 접근법들이 채용될 수 있다. 또한, 여기서 사용되는 바와 같이 분류는 우선 사항의 모델들을 개발하기 위해 이용되는 통계 회귀를 포함한다.
본 명세서로부터 용이하게 인식될 바와 같이, 하나 이상의 실시형태들은, (예컨대, 일반적인 트레이닝 데이터를 통해) 명시적으로 트레이닝될 뿐만 아니라 (사용자 행위를 관찰하고, 외적 정보를 수신함으로써) 암시적으로 트레이닝되는 분류기들을 채용할 수 있다. 예컨대, SVM들은 분류기 구축자 및 특징 선택 모듈 내의 학습 또는 트레이닝 페이즈를 통해 구성된다. 따라서, 분류기(들)은, 소정의 기준에 따라, 소정의 시간에 2 이상이 이용가능한 경우에 다운로드들을 수신하기 위한 순서를 결정하는 것, 스케줄링된 다운로드가 미싱되었는지 그리고 요청되어야 하는지를 결정하는 것 등을 포함하지만 이들에 한정되지 않는 다수의 기능들을 자동으로 학습 및 수행하기 위해 사용될 수 있다. 기준은, 각각의 다운로드에 포함된 데이터의 타입, 각각의 다운로드에 포함된 컨텐츠, 디바이스 정보, 사용자 선호도들 등을 포함할 수 있지만 이들에 한정되지는 않는다.
도시되고 상술된 예시적인 시스템들을 고려하여, 개시된 주제에 따라 구현될 수도 있는 방법들이 도 10 및 도 11의 플로우 차트들을 참조하여 더 양호하게 인식될 것이다. 설명의 간략화의 목적들을 위해, 방법들이 일련의 블록들로 도시되고 설명되지만, 여기서 도시되고 설명된 것으로부터 몇몇 블록들이 다른 블록들과 상이한 순서들 및/또는 동시에 발생할 수도 있는 것처럼, 청구되는 주제가 블록들의 수 또는 순서에 의해 한정되지 않는다는 것을 이해 및 인식해야 한다. 또한, 모든 예시된 블록들이 이하 설명되는 방법들을 구현하도록 요구되지 않을 수도 있다. 블록들과 연관된 기능이 소프트웨어, 하드웨어, 이들의 조합, 또는 임의의 다른 적합한 수단 (예컨대, 디바이스, 시스템, 프로세스, 컴포넌트) 에 의해 구현될 수도 있다는 것을 인식해야 한다. 또한, 이하 및 본 명세서 전반에 걸쳐 개시되는 방법들은, 그러한 방법들을 다양한 디바이스들로 이송 및 전달하는 것을 용이하게 하기 위해 제조품 상에 저장되는 것이 가능하다는 것을 인식해야 한다. 당업자는, 상태도에서와 같이, 일련의 상호관련된 상태들 또는 이벤트들로서 방법이 다르게 표현될 수도 있다는 것을 이해 및 인식할 것이다.
도 10은 스케줄링된 다운로드들을 송신하기 위한 방법 (1000) 을 예시한다. 업데이트들과 같은, 클라이언트 디바이스에 전달되어야 하는 정보가 있는 경우에, 정보 중 일부는 크리티컬하거나 또는 시간-민감형이면서, 다른 정보는 크리티컬하지 않거나 또는 시간-민감형이 아니다. 일반적으로, 브로드캐스트 네트워크는 임의의 개별적인 클라이언트의 현재 상태를 결정할 수 없다. 따라서, 임의의 시간에, 사용자는 하나 이상의 클라이언트 애플리케이션들과 능동적으로 상호작용하고 있을 수 있거나, 또는 사용자는 클라이언트 디바이스를 사용하지 않고 있지 않을 수도 있다 (비활성 상태). 따라서, 통상적으로 모든 클라이언트 디바이스들이 동일한 데이터 및 데이터베이스들을 갖는 것을 확실하게 하는 방법은, 모든 업데이트 정보를 시간-민감형의 여부와 무관하게 반복적으로 전송하는 것이다. 업데이트 정보의 연속적인 통신은 비효율적이다. 따라서, 방법 (1000) 은, 클라이언트 디바이스 상의 다운로드를 위한 비-시간-민감형 데이터를 스케줄링한는 것을 용이하게 하여, 시간 민감형 데이터가 양자 모두의 타입들 (민감형 및 비-민감형) 을 포함하는 송신에서보다 더 이르게 디바이스에 도달하는 것을 허용하면서, 클라이언트 디바이스가 유휴 또는 낮은 활동 기간 동안에 업데이트를 수용하는 것을 가능하게 할 수 있다.
방법 (1000) 은, 근간의 비-크리티컬한 업데이트가 하나 이상의 클라이언트들 (예컨대, 사용자 디바이스) 에게 통지되는 도면 부호 1002에서 시작한다. 통지는 업데이트가 브로드캐스팅될 스케줄 또는 시간 (예컨대, 금요일 9:00 p.m.) 을 포함할 수 있다. 스케줄은 예컨대 토요일 11:00 p.m.과 일요일 3:00 a.m. 사이의 업데이트 윈도우일 수도 있다. 몇몇 양태들에 따르면, 스케줄에 대한 대안들이 통지 내에 포함될 수 있다. 이들 대안들은 정보가 재송신될 상이한 시간들 또는 간격들을 표시할 수 있다. 예컨대, 비-크리티컬한 업데이트는 일주일 동안 하루에 3회 브로드캐스팅되도록 스케줄링될 수 있다. 이는, 클라이언트 디바이스가 업데이트를 다운로드하기 위한 시간들 중 적어도 하나를 선택적으로 선정하는 것을 허용한다. 따라서, 클라이언트가 비지이고 다운로드를 수용할 수 없거나, 범위 밖이거나 (예컨대, 상이한 국가, 양호한 수신을 할 수 없는 영역), 또는 몇몇 다른 이유로 브로드캐스트들 중 하나를 미싱한 경우에, 나중의 시간에 브로드캐스트를 수신하기 위한 기회가 있다.
도면 부호 1004에서, 업데이트는 스케줄링된 시간 또는 시간들에서 송신된다. 상술된 바와 같이, 수신 디바이스가 클라이언트 디바이스에 대한 최적의 시간에 (예컨대, 비활동의 기간 동안에) 업데이트를 수신 및 수용하기 위한 기회를 갖도록, 업데이트 정보는 상이한 시간들에서 브로드캐스팅될 수 있다. 그러나, 클라이언트 디바이스가 스케줄링된 시간들 동안에 업데이트를 수신하지 않은 상황들이 있을 수도 있다. 클라이언트가 모든 스케줄링된 시간들을 미싱하였던 경우에, 업데이트의 재송신을 요청하는 요청이 클라이언트 디바이스로부터 수신될 수 있다. 이 재송신은 브로드캐스트 스케줄링을 지났으므로, 브로드캐스트보다는 유니캐스트 접속을 통해 전송될 수 있다.
몇몇 양태들에 따르면, 비-크리티컬한 업데이트들은, 브로드캐스팅되고 있는 하나 이상의 다른 채널들로부터 분리된 채널을 통해 브로드캐스팅될 수 있다. 따라서, 스케줄링된 업데이트가 전송되는 경우에, 클라이언트 디바이스는 채널에 기초하여 업데이트를 식별할 수 있다 (예컨대, 채널 정보는 업데이트 통지와 실질적으로 동시에 전송될 수 있다). 업데이트가 전송되도록 스케줄링되지 않은 기간들 동안에, 이용가능한 리소스들의 이용을 허용하는, 채널을 통해 다른 정보가 브로드캐스팅될 수 있다. 따라서, 업데이트를 위해 이용되는 채널은 업데이트들을 위해 예약 (reserve) 된 전용 채널일 수도 있지만, 이는 필수적이지 않다 (채널이 업데이트들에 전용될 필요는 없다).
도 11은 스케줄링된 다운로드를 수신하기 위한 방법 (1100) 을 예시한다. 스케줄링된 다운로드는, 시간-민감형 업데이트들 또는 비-시간-민감형 업데이트들일 수 있는 업데이트들을 포함할 수 있다. 시간-민감형 업데이트들은 실시간 방식으로 전송 및 클라이언트 디바이스에서 수신될 수 있다 (예컨대, 수신과 실질적으로 동시에 클라이언트 디바이스 상에서 다운로드될 수 있다). 비-시간-민감형 업데이트들은, 사용자 체험의 수용가능한 깊이 및 전달을 제공할 수 있는 백그라운드 프로세스를 론칭 (launch) 함으로써 수신될 수 있다.
방법 (1100) 은, 스케줄링된 업데이트의 통지가 수신되는 도면 부호 1102에서 시작한다. 이 업데이트는, 낮은 활동의 기간 동안에 클라이언트 디바이스 상에서 업데이트될 수 있는 비-크리티컬한 업데이트들에 대해 수신될 수 있다. 통지는, 업데이트가 브로드캐스팅될 특정한 시간 또는 윈도우를 포함할 수 있거나, 또는 업데이트가 브로드캐스팅될 다수의 시간들 또는 윈도우들을 포함할 수 있다. 윈도우는, 클라이언트 디바이스에게 업데이트를 선택적으로 수신하기 위한 기회를 허용하도록, 윈도우가 충분히 길어야 하거나, 또는 다수의 브로드캐스트들이 충분히 긴 시간의 양 동안 브로드캐스팅되어야 한다.
도면 부호 1104에서, 클라이언트 디바이스는 업데이트를 수신하도록 스케줄링된 시간에 튜닝인한다. 업데이트에 튜닝하는 것은 사용자 상호작용 없이 자동으로 백그라운드 프로세스를 개시하는 것을 포함할 수 있다. 디지털 브로드캐스트 접속이 오픈되고, 디지털 브로드캐스트 네트워크를 통해 데이터가 수신된다.
따라서, 방법 (1100) 은, 클라이언트 디바이스가 낮은 활동 기간에 있는 경우에 비-크리티컬한 데이터가 클라이언트 디바이스에 전달되도록 허용한다. 백그라운드 프로세스를 개시하고 프라이머리 애플리케이션의 외부에서 데이터를 수신함으로써, 클라이언트 디바이스가 높은 활동의 기간에 있는 경우에 사용되는 다른 브로드캐스트 채널들이 시간-민감형 데이터를 전달하도록 더 양호하게 의도될 수 있으며, 이는 로버스트한 클라이언트 체험을 제공할 수 있다.
스케줄링된 다운로드가 수신되지 않고 스케줄링된 다운로드 기간(들)이 만료한 경우에, 다운로드를 이용가능하게 해달라고 문의하는 요청이 자동으로 전송될 수 있다. 적절한 경우에, 유니캐스트 접속을 통해 다운로드가 요청하는 디바이스에 송신되어, 클라이언트 디바이스가 업데이트된 정보를 수신 및 적용하는 것을 허용할 수 있다.
도 12를 참조하면, 스케줄링된 다운로드를 선택적으로 송신하는 예시적인 시스템 (1200) 이 예시된다. 예컨대, 시스템 (1200) 은 기지국 내에 적어도 부분적으로 상주할 수도 있다. 프로세서, 소프트웨어, 또는 이들의 조합 (예컨대, 펌웨어) 에 의해 구현되는 기능들을 표현하는 기능 블록들일 수도 있는 기능 블록들을 포함하는 것으로서 시스템 (1200) 이 표현되는 것을 인식해야 한다.
시스템 (1200) 은 개별적으로 또는 함께 작용할 수 있는 전기 컴포넌트들의 로지컬 그룹핑 (logical grouping) (1202) 을 포함한다. 예컨대, 로지컬 그룹핑 (1202) 은 근간의 업데이트를 다수의 클라이언트들에게 통지하기 위한 전기 컴포넌트 (1204) 를 포함할 수도 있다. 예시에 따르면, 근간의 업데이트는 비-시간 민감형 데이터를 포함할 수 있다. 또한, 로지컬 그룹핑 (1202) 은 스케줄링된 시간에서 업데이트를 송신하기 위한 전기 컴포넌트 (1206) 를 포함할 수 있다.
몇몇 양태들에 따르면, 로지컬 그룹핑 (1202) 은 시간-민감형 업데이트 또는 비-시간 민감형 업데이트로서 업데이트를 분류하기 위한 전기 컴포넌트를 포함할 수 있다. 또한 포함되는 것은, 실시간 데이터로서 업데이트를 브로드캐스팅하기 위한 전기 컴포넌트, 및 근간의 업데이트로서 비-시간 민감형 업데이트를 송신하기 위한 전기 컴포넌트일 수 있다. 브로드캐스팅되는 시간과 실질적으로 동시에 시간-민감형 업데이트를 송신하기 위한 전기 컴포넌트가 포함될 수도 있다.
부가적으로 또는 다르게, 로지컬 그룹핑 (1202) 은, 다수의 디바이스들에게 업데이트를 수신하기 위한 기회를 허용하기 위해 다수의 상이한 시간들에서 근간의 업데이트를 스케줄링하기 위한 전기 컴포넌트를 포함할 수 있다. 또한, 로지컬 그룹핑 (1202) 은, 적어도 하나의 클라이언트 디바이스와 연관된 시간을 결정하기 위한 전기 컴포넌트, 및 클라이언트 디바이스와 연관된 스케줄 시간에 기초하여 업데이트를 전송하기 위한 전기 컴포넌트를 포함할 수 있다.
몇몇 양태들에 따르면, 로지컬 그룹핑 (1202) 은, 스케줄링된 시간과 상이한 시간에 업데이트를 전송하기 위한 요청을 수신하기 위한 전기 컴포넌트, 및 요청에 응답하여 유니캐스트 전용 업데이트를 전송하기 위한 전기 컴포넌트를 포함할 수 있다.
또한, 시스템 (1200) 은, 전기 컴포넌트들 (1204 및 1206) 또는 다른 컴포넌트들과 연관된 기능들을 실행하기 위한 명령들을 보유하는 메모리 (1208) 를 포함할 수 있다. 메모리 (1208) 외부에 있는 것으로서 도시되지만, 전기 컴포넌트들 (1204 및 1206) 중 하나 이상이 메모리 (1208) 내에 존재할 수도 있다는 것을 이해해야 한다.
도 13을 참조하면, 스케줄링된 다운로드를 선택적으로 수신하는 예시적인 시스템 (1300) 이 예시된다. 예컨대, 시스템 (1300) 은 모바일 디바이스 내에 적어도 부분적으로 상주할 수도 있다. 프로세서, 소프트웨어, 또는 이들의 조합 (예컨대, 펌웨어) 에 의해 구현되는 기능들을 표현하는 기능 블록들일 수도 있는 기능 블록들을 포함하는 것으로서 시스템 (1300) 이 표현되는 것을 인식해야 한다.
시스템 (1300) 은 개별적으로 또는 함께 작용할 수 있는 전기 컴포넌트들의 로지컬 그룹핑 (1302) 을 포함한다. 예컨대, 로지컬 그룹핑 (1302) 은 스케줄링된 업데이트의 통지를 수신하기 위한 전기 컴포넌트 (1304) 를 포함할 수도 있다. 예시에 따르면, 스케줄링된 업데이트는 비-시간-민감형 데이터를 포함할 수 있다. 또한, 로지컬 그룹핑 (1302) 은 업데이트를 수신하도록 스케줄링된 시간에서 튜닝인하기 위한 전기 컴포넌트 (1306) 를 포함할 수 있다. 업데이트는 브로드캐스트 접속에서 수신될 수 있다.
몇몇 양태들에 따르면, 로지컬 그룹핑 (1302) 은, 백그라운드 기능을 자동으로 개시하기 위한 전기 컴포넌트, 및 프라이머리 애플리케이션 외부에서 스케줄링된 업데이트를 다운로드하기 위한 전기 컴포넌트를 포함할 수 있다. 부가적으로 또는 다르게, 로지컬 그룹핑 (1302) 은, 스케줄링된 업데이트를 위한 선택가능한 시간들을 수신하기 위한 전기 컴포넌트, 및 업데이트를 수신하도록 튜닝인하기 위해 선택가능한 시간들 중 적어도 하나를 선택하기 위한 전기 컴포넌트를 포함할 수 있다. 또한, 로지컬 그룹핑 (1302) 은, 낮은 활동의 기간을 결정하기 위한 전기 컴포넌트, 및 선택가능한 시간들 중에서 낮은 활동의 기간 동안에 발생하는 적어도 하나의 선택가능한 시간을 선택하기 위한 전기 컴포넌트를 포함할 수 있다.
또한, 시스템 (1300) 은 전기 컴포넌트들 (1304 및 1306) 또는 다른 컴포넌트들과 연관된 기능들을 실행하기 위한 명령들을 보유하는 메모리 (1308) 를 포함할 수 있다. 메모리 (1308) 외부에 있는 것으로서 도시되지만, 전기 컴포넌트들 (1304 및 1306) 중 하나 이상이 메모리 (1308) 내에 존재할 수도 있다는 것을 이해해야 한다.
여기서 설명된 실시형태들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 또는 이들의 임의의 조합에 의해 구현될 수도 있다. 시스템들 및/또는 방법들이 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드, 프로그램 코드, 또는 코드 세그먼트들로 구현되는 경우에, 이들은 스토리지 컴포넌트와 같은 머신-판독가능 매체에 저장될 수도 있다. 코드 세그먼트는, 프로시져, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들 데이터 구조들, 또는 프로그램 상태들의 임의의 조합을 표현할 수도 있다. 코드 세그먼트는, 정보, 데이터, 독립변수 (argument), 파라미터, 또는 메모리 컨텐츠를 전달 및/또는 수신함으로써, 하드웨어 회로 또는 다른 코드 세그먼트에 커플링될 수도 있다. 정보, 독립변수, 파라미터, 데이터 등은, 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신 등을 포함하는 임의의 적합한 수단을 사용하여 전달, 포워딩, 또는 송신될 수도 있다.
소프트웨어 구현에 있어서, 여기서 설명된 기술들은 여기서 설명된 기능들을 수행하는 모듈들 (예컨대, 프로시져들, 함수들 등) 로 구현될 수도 있다. 소프트웨어 코드들은 메모리 유닛들에 저장되고 프로세서들에 의해 실행될 수도 있다. 메모리 유닛은 프로세서 내부 또는 프로세서 외부에서 구현될 수도 있으며, 프로세서 외부에서 구현되는 경우에는, 메모리 유닛은 공지의 다양한 수단을 통해 프로세서에 통신가능하게 커플링될 수 있다.
또한, 여기서 설명된 다양한 양태들 또는 특징들은, 방법, 장치, 또는 표준 프로그램 및/또는 엔지니어링 기술들을 사용하는 제조품으로서 구현될 수도 있다. 여기서 사용되는 바와 같이 "제조품" 이라는 용어는 임의의 컴퓨터-판독가능 디바이스, 캐리어, 또는 매체로부터 액세스 가능한 컴퓨터 프로그램을 포함하도록 의도된다. 예컨대, 컴퓨터-판독가능 매체는, 자성 스토리지 디바이스 (예컨대, 하드 디스크, 플로피 디스크, 자성 스트립 등), 광학 디스크 (예컨대, 컴팩트 디스크 (CD), 디지털 다기능 디스크 (DVD) 등), 스마트 카드, 및 플래시 메모리 디바이스 (예컨대, EPROM, 카드, 스틱, 키 드라이브 등) 를 포함할 수 있지만 이들에 한정되지는 않는다. 또한, 여기서 설명되는 다양한 스토리지 매체는 정보를 저장하기 위한 하나 이상의 디바이스들 및/또는 다른 머신-판독가능 매체를 표현할 수 있다. "머신-판독가능 매체" 라는 용어는, 무선 채널들, 명령(들) 및/또는 데이터를 저장, 포함, 및/또는 운반할 수 있는 다양한 다른 매체를 포함할 수 있지만 이들에 한정되지는 않는다.
하나 이상의 실시형태들의 예들이 상술되었다. 당연히, 전술된 실시형태들을 설명하는 목적들을 위한 컴포넌트들 또는 방법들의 모든 생각할 수 있는 조합을 설명하는 것은 불가능하지만, 당업자는, 다양한 실시형태들의 다수의 추가적인 조합들 및 치환들이 가능하다는 것을 인지할 수도 있다. 따라서, 설명된 실시형태들은, 첨부된 청구의 범위 내에 속하는 모든 그러한 변경, 변형, 및 변화를 포함하도록 의도된다. 상세한 설명 또는 청구의 범위에서 "구비하는 (include)" 이라는 용어가 사용되는 경우에, 그러한 용어는 "포함하는 (comprising)" 이라는 용어가 청구항의 전이 어구로서 채용되는 경우에 해석되는 것처럼 "포함하는" 이라는 용어와 유사한 방식으로 포함하도록 의도된다. 또한, 상세한 설명 또는 청구의 범위에서 사용되는 "또는" 이라는 용어는 "비-배타적인 또한 (non-exclusive or)" 이도록 의미된다.

Claims (50)

  1. 무선 통신 시스템을 통해 스케줄링된 다운로드들을 송신하기 위한 방법으로서,
    복수의 시간들에서 근간의 (forthcoming) 업데이트를 스케줄링하는 단계;
    복수의 클라이언트 디바이스들에게 근간의 업데이트를 통지하는 단계; 및
    상기 복수의 클라이언트 디바이스들 중 적어도 하나의 클라이언트 디바이스에게 상기 근간의 업데이트를 수신하기 위한 기회를 허용하도록, 스케줄링된 시간들의 각각에서 상기 근간의 업데이트를 송신하는 단계를 포함하고,
    상기 복수의 클라이언트 디바이스들 중 상기 적어도 하나의 클라이언트 디바이스는 임계 레벨보다 더 적은 리소스를 사용하고 있는, 스케줄링된 다운로드들을 송신하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 근간의 업데이트는 비-시간-민감형 (non-time-sensitive) 데이터를 포함하는, 스케줄링된 다운로드들을 송신하기 위한 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    시간-민감형 (time-sensitive) 업데이트 또는 비-시간-민감형 업데이트로서 업데이트를 분류하는 단계;
    상기 시간-민감형 업데이트를 실시간 데이터로서 상기 복수의 클라이언트 디바이스들로 브로드캐스팅하는 단계; 및
    상기 비-시간-민감형 업데이트를 상기 근간의 업데이트로서 송신하는 단계를 더 포함하는, 스케줄링된 다운로드들을 송신하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 스케줄링된 시간들과 상이한 시간에서 상기 근간의 업데이트를 전송하기 위한 요청을 수신하는 단계; 및
    상기 요청에 응답하여 유니캐스트 전용 업데이트를 전송하는 단계를 더 포함하는, 스케줄링된 다운로드들을 송신하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 스케줄링된 시간에서 상기 근간의 업데이트를 송신하는 단계는,
    상기 복수의 클라이언트 디바이스들 중 상기 적어도 하나의 클라이언트 디바이스와 연관된 시간을 결정하는 단계; 및
    상기 적어도 하나의 클라이언트 디바이스와 연관된 스케줄링된 시간에 기초하여 상기 근간의 업데이트를 전송하는 단계를 포함하는, 스케줄링된 다운로드들을 송신하기 위한 방법.
  7. 제 1 항에 있어서,
    시간-민감형 업데이트가 이용가능한 시간과 동시에 상기 시간-민감형 업데이트를 송신하는 단계를 더 포함하는, 스케줄링된 다운로드들을 송신하기 위한 방법.
  8. 무선 통신 시스템을 통해 컨텐츠를 송신하기 위한 디바이스로서,
    프로세서, 및 상기 프로세서에 의해 행해진 판정들에 관련된 정보를 저장하는 메모리를 갖는 컴퓨터 플랫폼;
    복수의 시간들에서 적어도 하나의 비-시간-민감형 업데이트를 스케줄링하는 스케줄러;
    복수의 클라이언트 디바이스들에게 제안된 스케줄을 알리는 업데이트 통지기; 및
    상기 제안된 스케줄을 리뷰하며, 상기 적어도 하나의 비-시간-민감형 업데이트를 각각의 스케줄링된 시간들에서 송신하도록 전송기를 트리거링하는 모니터를 포함하는, 컨텐츠를 송신하기 위한 디바이스.
  9. 제 8 항에 있어서,
    상기 모니터는 또한 상기 제안된 스케줄을 현재 시간과 비교하는, 컨텐츠를 송신하기 위한 디바이스.
  10. 제 9 항에 있어서,
    상기 현재 시간은, 컨텐츠를 송신하기 위하여 상기 디바이스에 의해 레퍼런싱되는 시간이거나, 상기 복수의 클라이언트 디바이스들 중 적어도 하나의 클라이언트 디바이스에 의해 레퍼런싱되는 시간인, 컨텐츠를 송신하기 위한 디바이스.
  11. 제 8 항에 있어서,
    상기 전송기는 전용 브로드캐스트 채널을 통해 상기 적어도 하나의 비-시간-민감형 업데이트를 브로드캐스팅하는, 컨텐츠를 송신하기 위한 디바이스.
  12. 제 11 항에 있어서,
    상기 전용 브로드캐스트 채널은 제안된 스케줄링된 시간 이외의 시간들 동안에 다른 브로드캐스트 데이터를 전송하기 위해 사용되는, 컨텐츠를 송신하기 위한 디바이스.
  13. 제 8 항에 있어서,
    상기 전송기는 상기 복수의 클라이언트 디바이스들 중 적어도 하나의 클라이언트 디바이스로부터의 요청에 기초하여 유니캐스트 전용 업데이트를 전달하는, 컨텐츠를 송신하기 위한 디바이스.
  14. 제 8 항에 있어서,
    상기 전송기는 시간-민감형 업데이트가 이용가능한 시간과 동시에 상기 시간-민감형 업데이트를 송신하는, 컨텐츠를 송신하기 위한 디바이스.
  15. 무선 통신 시스템을 통해 스케줄링된 다운로드를 선택적으로 송신하기 위한 장치로서,
    복수의 시간들에서 근간의 업데이트를 스케줄링하는 수단;
    복수의 수신 디바이스들에게 근간의 업데이트를 통지하는 수단; 및
    상기 복수의 수신 디바이스들 중 적어도 하나의 수신 디바이스에게 상기 근간의 업데이트를 수신하기 위한 기회를 허용하도록, 스케줄링된 시간들의 각각에서 상기 근간의 업데이트를 송신하는 수단을 포함하고,
    상기 복수의 수신 디바이스들 중 상기 적어도 하나의 수신 디바이스는 임계 레벨보다 더 적은 리소스를 사용하고 있는, 스케줄링된 다운로드를 선택적으로 송신하기 위한 장치.
  16. 삭제
  17. 제 15 항에 있어서,
    시간-민감형 업데이트 또는 비-시간-민감형 업데이트로서 업데이트를 분류하는 수단;
    상기 시간-민감형 업데이트를 실시간 데이터로서 브로드캐스팅하는 수단; 및
    상기 비-시간-민감형 업데이트를 상기 근간의 업데이트로서 송신하는 수단을 더 포함하는, 스케줄링된 다운로드를 선택적으로 송신하기 위한 장치.
  18. 제 15 항에 있어서,
    상기 근간의 업데이트는 비-시간-민감형 데이터를 포함하는, 스케줄링된 다운로드를 선택적으로 송신하기 위한 장치.
  19. 제 15 항에 있어서,
    상기 스케줄링된 시간들과 상이한 시간에서 상기 근간의 업데이트를 전송하기 위한 요청을 수신하는 수단; 및
    상기 요청에 응답하여 유니캐스트 전용 업데이트를 전송하는 수단을 더 포함하는, 스케줄링된 다운로드를 선택적으로 송신하기 위한 장치.
  20. 제 15 항에 있어서,
    상기 복수의 수신 디바이스들 중 상기 적어도 하나의 수신 디바이스와 연관된 시간을 결정하는 수단; 및
    상기 적어도 하나의 수신 디바이스와 연관된 스케줄링된 시간에 기초하여 상기 근간의 업데이트를 전송하는 수단을 더 포함하는, 스케줄링된 다운로드를 선택적으로 송신하기 위한 장치.
  21. 제 15 항에 있어서,
    시간-민감형 업데이트가 이용가능한 시간과 동시에 상기 시간-민감형 업데이트를 송신하는 수단을 더 포함하는, 스케줄링된 다운로드를 선택적으로 송신하기 위한 장치.
  22. 복수의 시간들에서 적어도 하나의 비-시간-민감형 업데이트를 스케줄링하고;
    복수의 클라이언트 디바이스들에게 제안된 스케줄을 알리고;
    상기 제안된 스케줄을 리뷰하며;
    상기 적어도 하나의 비-시간-민감형 업데이트를 각각의 스케줄링된 시간들에서 무선 통신 시스템을 통해 송신하기 위한 머신-실행가능 명령들을 저장한, 머신-판독가능 매체.
  23. 제 22 항에 있어서,
    상기 머신-실행가능 명령들은,
    상기 제안된 스케줄을 현재 시간과 비교하는 것을 더 포함하며,
    상기 현재 시간은, 상기 머신-판독가능 매체에 의해 레퍼런싱되는 시간이거나, 상기 복수의 클라이언트 디바이스들 중 적어도 하나의 클라이언트 디바이스에 의해 레퍼런싱되는 시간인, 머신-판독가능 매체.
  24. 제 23 항에 있어서,
    상기 머신-실행가능 명령들은,
    전용 브로드캐스트 채널을 통해 상기 적어도 하나의 비-시간-민감형 업데이트를 브로드캐스팅하는 것; 및
    제안된 스케줄링된 시간 이외의 시간들 동안에 다른 브로드캐스트 데이터를 전송하는 것을 더 포함하는, 머신-판독가능 매체.
  25. 무선 통신 시스템에서, 스케줄링된 다운로드를 송신하는 장치로서,
    복수의 시간들에서 근간의 업데이트를 스케줄링하고;
    복수의 클라이언트들에게 근간의 업데이트를 통지하며;
    상기 복수의 클라이언트 디바이스들 중 적어도 하나의 클라이언트 디바이스에게 상기 근간의 업데이트를 수신하기 위한 기회를 허용하도록, 스케줄링된 시간들의 각각에서 상기 근간의 업데이트를 송신하도록 구성된 프로세서를 포함하고,
    상기 복수의 클라이언트 디바이스들 중 상기 적어도 하나의 클라이언트 디바이스는 임계 레벨보다 더 적은 리소스를 사용하고 있는, 스케줄링된 다운로드를 송신하는 장치.
  26. 무선 통신 시스템을 통해 스케줄링된 다운로드를 수신하기 위한 방법으로서,
    선택가능한 (alternative) 시간들에서 스케줄링된 업데이트의 통지를 수신하는 단계; 및
    임계 레벨보다 더 적은 리소스를 사용하고 있는 경우에, 상기 스케줄링된 업데이트를 수신하도록 스케줄링된 시간들 중 하나의 스케줄링된 시간에서 튜닝인 (tune in) 하는 단계를 포함하는, 스케줄링된 다운로드를 수신하기 위한 방법.
  27. 제 26 항에 있어서,
    백그라운드 기능을 자동으로 개시하는 단계; 및
    프라이머리 애플리케이션 외부에서 상기 스케줄링된 업데이트를 다운로드하는 단계를 더 포함하는, 스케줄링된 다운로드를 수신하기 위한 방법.
  28. 제 26 항에 있어서,
    상기 스케줄링된 업데이트는 비-시간-민감형 데이터를 포함하는, 스케줄링된 다운로드를 수신하기 위한 방법.
  29. 제 26 항에 있어서,
    상기 스케줄링된 업데이트를 위한 상기 선택가능한 시간들을 수신하는 단계; 및
    상기 스케줄링된 업데이트를 수신하도록 튜닝인하기 위해 상기 선택가능한 시간들 중 적어도 하나의 선택가능한 시간을 선택하는 단계를 더 포함하는, 스케줄링된 다운로드를 수신하기 위한 방법.
  30. 제 29 항에 있어서,
    비활동의 기간을 결정하는 단계; 및
    상기 선택가능한 시간들 중에서 상기 비활동의 기간 동안에 발생하는 적어도 하나의 선택가능한 시간을 선택하는 단계를 더 포함하는, 스케줄링된 다운로드를 수신하기 위한 방법.
  31. 제 26 항에 있어서,
    상기 스케줄링된 업데이트는 브로드캐스트 접속에서 수신되는, 스케줄링된 다운로드를 수신하기 위한 방법.
  32. 제 26 항에 있어서,
    상기 스케줄링된 업데이트가 상기 스케줄링된 시간 동안에 수신되지 않았다고 결정하는 단계; 및
    유니캐스트 환경에서 송신될 전용 업데이트를 요청하는 단계를 더 포함하는, 스케줄링된 다운로드를 수신하기 위한 방법.
  33. 제 26 항에 있어서,
    시간-민감형 업데이트가 브로드캐스팅되는 시간과 동시에 상기 시간-민감형 업데이트를 수신하는 단계를 더 포함하는, 스케줄링된 다운로드를 수신하기 위한 방법.
  34. 제 26 항에 있어서,
    연관된 시간대에서의 변화들을 모니터링하는 단계; 및
    시간대에서의 변화와 일치시키기 위해 상기 스케줄링된 시간을 조정하는 단계를 더 포함하는, 스케줄링된 다운로드를 수신하기 위한 방법.
  35. 프로세서, 및 상기 프로세서에 의해 행해진 판정들에 관련된 정보를 저장하는 메모리를 갖는 컴퓨터 플랫폼;
    스케줄링된 업데이트가 무선 통신 장치에 대해 수용될지를 결정하는 업데이트 검증기;
    현재 시간을 모니터링하고, 상기 스케줄링된 업데이트를 위한 스케줄링된 시간을 상기 현재 시간과 비교하는 스케줄 핸들러; 및
    임계 레벨보다 더 적은 리소스를 사용하고 있는 경우에, 상기 스케줄링된 업데이트를 수신하기 위해 백그라운드 프로세스를 개시하는 업데이트 수용기를 포함하는, 무선 통신 장치.
  36. 제 35 항에 있어서,
    상기 스케줄 핸들러는 상기 무선 통신 장치의 시간대에서의 변화들을 모니터링하는, 무선 통신 장치.
  37. 제 35 항에 있어서,
    상기 업데이트 수용기는 상기 무선 통신 장치가 유휴 (idle) 인 경우에 상기 스케줄링된 업데이트를 수신하는, 무선 통신 장치.
  38. 제 35 항에 있어서,
    상기 업데이트 수용기는 상기 무선 통신 장치가 비지 (busy) 인 경우에 상기 스케줄링된 다운로드를 선택적으로 무시하는, 무선 통신 장치.
  39. 제 35 항에 있어서,
    상기 스케줄링된 업데이트는 비-크리티컬한 (non-critical) 데이터를 포함하는, 무선 통신 장치.
  40. 제 35 항에 있어서,
    상기 스케줄링된 업데이트가 스케줄링된 시간들 동안에 수신되지 않았는지를 결정하고, 전용 업데이트를 위한 요청을 송신하는 최적화기를 더 포함하는, 무선 통신 장치.
  41. 제 35 항에 있어서,
    상기 업데이트 수용기는, 사용자가 애플리케이션을 사용하고 있는 동안에, 시간-민감형 데이터에 대한 접속을 행하는, 무선 통신 장치.
  42. 무선 통신 시스템을 통해 스케줄링된 다운로드를 선택적으로 수신하기 위한 장치로서,
    선택가능한 (alternative) 시간들에서 스케줄링된 업데이트의 통지를 수신하는 수단; 및
    임계 레벨보다 더 적은 리소스를 사용하고 있는 경우에, 상기 스케줄링된 업데이트를 수신하도록 스케줄링된 시간들 중 하나의 스케줄링된 시간에서 튜닝인하는 수단을 포함하는, 스케줄링된 다운로드를 선택적으로 수신하기 위한 장치.
  43. 제 42 항에 있어서,
    백그라운드 기능을 자동으로 개시하는 수단; 및
    프라이머리 애플리케이션 외부에서 상기 스케줄링된 업데이트를 다운로드하는 수단을 더 포함하는, 스케줄링된 다운로드를 선택적으로 수신하기 위한 장치.
  44. 제 42 항에 있어서,
    상기 스케줄링된 업데이트는 비-시간-민감형 데이터를 포함하는, 스케줄링된 다운로드를 선택적으로 수신하기 위한 장치.
  45. 제 42 항에 있어서,
    상기 스케줄링된 업데이트를 위한 상기 선택가능한 시간들을 수신하는 수단; 및
    상기 스케줄링된 업데이트를 수신하도록 튜닝인하기 위해 상기 선택가능한 시간들 중 적어도 하나의 선택가능한 시간을 선택하는 수단을 더 포함하는, 스케줄링된 다운로드를 선택적으로 수신하기 위한 장치.
  46. 제 42 항에 있어서,
    비활동의 기간을 결정하는 수단; 및
    상기 선택가능한 시간들 중에서 상기 비활동의 기간 동안에 발생하는 적어도 하나의 선택가능한 시간을 선택하는 수단을 더 포함하는, 스케줄링된 다운로드를 선택적으로 수신하기 위한 장치.
  47. 제 42 항에 있어서,
    상기 스케줄링된 업데이트는 브로드캐스트 접속에서 수신되는, 스케줄링된 다운로드를 선택적으로 수신하기 위한 장치.
  48. 스케줄링된 업데이트가 수용될지를 결정하고;
    현재 시간을 모니터링하고, 상기 스케줄링된 업데이트를 위한 스케줄링된 시간을 상기 현재 시간과 비교하며;
    임계 레벨보다 더 적은 리소스를 사용하고 있는 경우에, 무선 통신 시스템을 통해 상기 스케줄링된 업데이트를 수신하기 위해 백그라운드 프로세스를 개시하는, 머신-실행가능 명령들을 저장한, 머신-판독가능 매체.
  49. 제 48 항에 있어서,
    상기 머신-실행가능 명령들은 비활동의 기간 동안에 상기 스케줄링된 업데이트를 수신하는 것을 더 포함하는, 머신-판독가능 매체.
  50. 무선 통신 시스템에서, 스케줄링된 다운로드를 선택적으로 수신하는 장치로서,
    선택가능한 (alternative) 시간들에서 스케줄링된 업데이트의 통지를 수신하고;
    상기 스케줄링된 업데이트를 수신하도록 스케줄링된 시간들 중 하나의 스케줄링된 시간에서 튜닝인하고;
    백그라운드 기능을 자동으로 개시하며;
    임계 레벨보다 더 적은 리소스를 사용하고 있는 경우에, 프라이머리 애플리케이션 외부에서 상기 스케줄링된 업데이트를 다운로드하도록 구성된 프로세서를 포함하는, 스케줄링된 다운로드를 선택적으로 수신하는 장치.
KR1020107010313A 2007-10-11 2007-10-11 백그라운드 프로세스가 브로드캐스트 데이터를 수신할 수 있게 하는 스케줄링된 다운로드 KR101157846B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2007/081132 WO2009048473A1 (en) 2007-10-11 2007-10-11 Scheduled downloads: enabling background processes to receive broadcast data

Publications (2)

Publication Number Publication Date
KR20100080839A KR20100080839A (ko) 2010-07-12
KR101157846B1 true KR101157846B1 (ko) 2012-07-13

Family

ID=39284172

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107010313A KR101157846B1 (ko) 2007-10-11 2007-10-11 백그라운드 프로세스가 브로드캐스트 데이터를 수신할 수 있게 하는 스케줄링된 다운로드

Country Status (6)

Country Link
US (1) US9513893B2 (ko)
EP (1) EP2212780B1 (ko)
JP (1) JP2011504252A (ko)
KR (1) KR101157846B1 (ko)
CN (1) CN101821716B (ko)
WO (1) WO2009048473A1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8359614B2 (en) * 2008-05-16 2013-01-22 Sony Computer Entertainment America Llc Channel hopping scheme for update of data for multiple services across multiple digital broadcast channels
WO2010015072A1 (en) * 2008-08-07 2010-02-11 Research In Motion Limited System and method for providing an interactive content portal on a mobile device
JP5304358B2 (ja) * 2009-03-17 2013-10-02 株式会社リコー 機器設定管理システム、機器設定管理方法及び機器設定管理プログラム
JP4871373B2 (ja) 2009-06-19 2012-02-08 任天堂株式会社 情報処理システムおよび情報処理装置
JP5674296B2 (ja) 2009-09-09 2015-02-25 任天堂株式会社 情報処理システムおよび情報処理装置
JP2011250874A (ja) 2010-05-31 2011-12-15 Nintendo Co Ltd 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
JP2011254410A (ja) * 2010-06-04 2011-12-15 Ntt Docomo Inc 放送コンテンツ送信装置及び放送コンテンツ受信装置
JP5593566B2 (ja) 2010-06-10 2014-09-24 任天堂株式会社 情報処理システム、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
JP2012018657A (ja) 2010-06-11 2012-01-26 Nintendo Co Ltd 情報処理端末、情報処理システム、情報処理プログラム
JP5507350B2 (ja) 2010-06-11 2014-05-28 任天堂株式会社 携帯型情報端末、携帯型情報端末制御プログラム、携帯型情報システム、および、携帯型情報端末制御方法
JP5677811B2 (ja) 2010-06-11 2015-02-25 任天堂株式会社 携帯型情報端末、携帯情報システム、携帯型情報端末制御プログラム
JP4999213B2 (ja) 2010-09-17 2012-08-15 任天堂株式会社 情報処理プログラム、携帯端末装置、システム、情報処理方法及び通信システム
US9158525B1 (en) * 2010-10-04 2015-10-13 Shoretel, Inc. Image upgrade
US20120130725A1 (en) * 2010-11-22 2012-05-24 Microsoft Corporation Automatic upgrade scheduling
JP4882022B1 (ja) 2010-12-28 2012-02-22 任天堂株式会社 通信システム、情報処理プログラム、情報処理方法、情報処理装置、情報処理システム
CN102790917B (zh) * 2011-05-19 2016-02-17 上海贝尔股份有限公司 交互式多屏业务内容传输方法和设备
KR101160681B1 (ko) 2011-10-19 2012-06-28 배경덕 이동 통신 단말기의 활성화 시에 특정 동작이 수행되도록 하기 위한 방법, 이동 통신 단말기 및 컴퓨터 판독 가능 기록 매체
JP2012151874A (ja) * 2012-03-06 2012-08-09 Qualcomm Inc ブロードキャストデータを受信するための背景処理を可能とするスケジューリングされたダウンロード
US8843169B2 (en) 2012-08-06 2014-09-23 Microsoft Corporation Signal-aware data transfer in cellular networks
CN102892105B (zh) * 2012-10-31 2016-02-10 东莞宇龙通信科技有限公司 通信装置和数据通信方法
KR101538701B1 (ko) * 2013-05-28 2015-07-23 주식회사 쓰리에이치에스 실시간 데이터 업데이트 시스템
WO2014209078A1 (en) * 2013-06-28 2014-12-31 Samsung Electronics Co., Ltd. Method and apparatus for updating application
CN104090889B (zh) * 2013-12-12 2016-01-13 深圳市腾讯计算机系统有限公司 数据处理方法及系统
WO2016102022A1 (en) * 2014-12-23 2016-06-30 Fluidra, S.A. Updating software packets in water installation controlling apparatus
US11537559B2 (en) * 2014-12-30 2022-12-27 Airwatch Llc Client generated aggregated indices
US10664257B2 (en) * 2015-05-06 2020-05-26 Apple Inc. Secure element activities
KR20170033121A (ko) * 2015-09-16 2017-03-24 삼성전자주식회사 서비스 처리 방법 및 이를 구현하는 전자 장치
ES2880959T3 (es) 2016-04-06 2021-11-26 Fluidra S A Operación de dispositivos proteicos de instalación de agua
US20180063670A1 (en) * 2016-08-26 2018-03-01 Microsoft Technology Licensing, Llc Background management of mobile applications
US10360010B1 (en) * 2017-07-21 2019-07-23 Jpmorgan Chase Bank, N.A. Method and system for implementing an ATM management and software policy tool
CN110177022B (zh) * 2019-06-28 2022-05-20 武汉信科移动通信技术有限公司 树形光纤分布系统全网升级控制方法及装置
US11392365B2 (en) * 2020-12-14 2022-07-19 International Business Machines Corporation Optimizing device update scheduling
US20220407329A1 (en) * 2021-06-16 2022-12-22 Hewlett-Packard Development Company, L.P. Battery charge regulation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150892A1 (en) 2005-12-22 2007-06-28 Samsung Electronics Co., Ltd. Scheduled delivery of software download

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5935004A (en) 1995-08-28 1999-08-10 Mediaone Group, Inc. System and method for scheduled delivery of a software program over a cable network
US6308061B1 (en) * 1996-08-07 2001-10-23 Telxon Corporation Wireless software upgrades with version control
JP3567696B2 (ja) 1997-09-24 2004-09-22 松下電器産業株式会社 ソフトウェアダウンロードシステム
WO2000069163A2 (en) 1999-05-10 2000-11-16 Expanse Networks, Inc. Advertisement subgroups for digital streams
JP3395896B2 (ja) 1999-11-25 2003-04-14 株式会社ジャストシステム 情報提供システム及び方法、クライアント装置及び仲介装置
US6807178B1 (en) 2000-05-31 2004-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Session dispatcher at a wireless multiplexer interface
JP2002064801A (ja) 2000-08-21 2002-02-28 Matsushita Electric Ind Co Ltd 番組送出システム
CN1121008C (zh) * 2001-09-07 2003-09-10 清华大学 一种网络环境下的计算机远程启动方法
JP4443147B2 (ja) 2003-05-23 2010-03-31 クラリオン株式会社 広告配信システム
JP2006018359A (ja) 2004-06-30 2006-01-19 Sony Corp クライアントサーバシステム、クライアント端末、更新情報提供サーバ、更新処理プログラム、及び更新情報提供プログラム
JP2006029960A (ja) 2004-07-15 2006-02-02 Seiko Epson Corp 計時装置、携帯用電子機器、時刻情報修正方法、時刻情報修正プログラム、時刻情報修正プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2006165766A (ja) 2004-12-03 2006-06-22 Mitsubishi Electric Corp 移動体端末ダウンロード方法
KR100664955B1 (ko) 2005-10-20 2007-01-04 삼성전자주식회사 방송 수신 장치의 다운로드 속도를 제어하는 방법 및 이를위한 장치
JP5241073B2 (ja) 2006-01-27 2013-07-17 京セラ株式会社 無線通信端末及び配信コンテンツ受信方法
US8914015B2 (en) 2006-03-20 2014-12-16 Qualcomm Incorporated Grouping of users for MIMO transmission in a wireless communication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150892A1 (en) 2005-12-22 2007-06-28 Samsung Electronics Co., Ltd. Scheduled delivery of software download

Also Published As

Publication number Publication date
US20110004678A1 (en) 2011-01-06
EP2212780A1 (en) 2010-08-04
EP2212780B1 (en) 2018-05-23
CN101821716A (zh) 2010-09-01
WO2009048473A1 (en) 2009-04-16
JP2011504252A (ja) 2011-02-03
US9513893B2 (en) 2016-12-06
KR20100080839A (ko) 2010-07-12
CN101821716B (zh) 2017-07-07

Similar Documents

Publication Publication Date Title
KR101157846B1 (ko) 백그라운드 프로세스가 브로드캐스트 데이터를 수신할 수 있게 하는 스케줄링된 다운로드
US10498789B2 (en) Data repurposing
US20120047201A1 (en) Apparatus and method of acquiring or distributing content
KR101133596B1 (ko) 무선 디바이스 상에서 구성가능한 태스크 관리를 제공하기 위한 장치 및 방법들
CN101946484B (zh) 数字广播网络中的内容聚集
US20180103453A1 (en) Scheduling of Software Package Transmissions on a Multimedia Broadcast Multicast Service Channel
CN101960851A (zh) 混合式服务:数据、音频和剪辑播送
US8694016B2 (en) Methods and apparatus for use of data object popularity measurements for improved quality of service perception in wireless broadcast systems
CN103535013A (zh) 在广播网络中使用多信道单向输送文件传递(“flute”)协议传递不同类别的文件的系统及设备
US20090182886A1 (en) Delivery and display of information over a digital broadcast network
US20100179865A1 (en) Multimedia content cache
RU2370913C2 (ru) Способ и система достижения ускоренной работы устройств посредством логического разделения управляющей информации
US20120300687A1 (en) Network aware content pre-delivery over a radio access network
US11751020B2 (en) Systems and methods for multicasting to user devices
KR20120089675A (ko) 개인화된 콘텐츠를 전력 효율적으로 전달하기 위한 시스템
JP5937178B2 (ja) ブロードキャストデータを受信するための背景処理を可能とするスケジューリングされたダウンロード
JP2012151874A (ja) ブロードキャストデータを受信するための背景処理を可能とするスケジューリングされたダウンロード
FR3052318B1 (fr) Procede d’acces a un service transmis en mode telediffusion sur un reseau mobile

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 8