KR101577925B1 - 백그라운드 애플리케이션들에 대한 시그널링 로드 오버헤드 및 배터리 소모의 최적화 - Google Patents

백그라운드 애플리케이션들에 대한 시그널링 로드 오버헤드 및 배터리 소모의 최적화 Download PDF

Info

Publication number
KR101577925B1
KR101577925B1 KR1020147027128A KR20147027128A KR101577925B1 KR 101577925 B1 KR101577925 B1 KR 101577925B1 KR 1020147027128 A KR1020147027128 A KR 1020147027128A KR 20147027128 A KR20147027128 A KR 20147027128A KR 101577925 B1 KR101577925 B1 KR 101577925B1
Authority
KR
South Korea
Prior art keywords
mobile device
applications
network access
access requests
mode
Prior art date
Application number
KR1020147027128A
Other languages
English (en)
Other versions
KR20140144197A (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 KR20140144197A publication Critical patent/KR20140144197A/ko
Application granted granted Critical
Publication of KR101577925B1 publication Critical patent/KR101577925B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0264Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by selectively disabling software applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/02Access restriction performed under specific conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Power Sources (AREA)

Abstract

본 개시물은 모바일 디바이스 상에서의 실행을 위해 구성된 애플리케이션들을 관리하는 것에 관한 것이다. 본 개시물의 일 실시형태들은 모바일 디바이스 상에서 실행하는 하나 이상의 애플리케이션들로부터 하나 이상의 네트워크 액세스 요청들을 수신하고, 모바일 디바이스가 백그라운드 모드에서 동작하고 있다는 것을 결정하고, 이 결정에 기초하여 네트워크에 대한 하나 이상의 네트워크 액세스 요청들의 네트워크로의 송신을 억제하며, 백그라운드 모드의 전환 시에 하나 이상의 네트워크 액세스 요청들의 서브세트를 송신한다.

Description

백그라운드 애플리케이션들에 대한 시그널링 로드 오버헤드 및 배터리 소모의 최적화{OPTIMIZING SIGNALING LOAD OVERHEAD AND BATTERY CONSUMPTION FOR BACKGROUND APPLICATIONS}
본 발명의 실시형태들은 백그라운드 애플리케이션들에 대한 시그널링 로드 오버헤드 및 배터리 소모를 최적화하는 것에 관한 것이다.
무선 통신 시스템들은 제 1 세대 아날로그 무선 전화 서비스 (1G), 제 2 세대 (2G) 디지털 무선 전화 서비스 (중간 2.5G 및 2.75G 네트워크들 포함) 및 제 3 세대 (3G) 고속 데이터, 인터넷-가능 무선 서비스를 포함하는, 다양한 세대들을 거쳐 개발되고 있다. 현재 셀룰러 및 퍼스널 통신 서비스 (PCS) 시스템들을 포함하는, 많은 상이한 유형들의 무선 통신 시스템들이 사용 중에 있다. 알려진 셀룰러 시스템들의 예들은 셀룰러 아날로그 어드밴스드 모바일 전화 시스템 (Analog Advanced Mobile Phone System; AMPS) 및 코드 분할 다중 액세스 (CDMA), 주파수 분할 다중 액세스 (FDMA), 시간 분할 다중 액세스 (TDMA), TDMA 의 모바일 액세스용 글로벌 시스템 (GSM) 변형에 기초한 디지털 셀룰러 시스템들, 및 TDMA 및 CDMA 기술들 양자 모두를 사용하는 새로운 하이브리드 디지털 통신 시스템들을 포함한다.
CDMA 모바일 통신을 제공하는 방법은, 본원에서 IS-95 로서 지칭된 "Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System" 이란 제목의 TIA/EIA/IS-95-A 에서 통신 산업 협회/전자 산업 협회에 의해 미국에서 표준화되었다. 결합된 AMPS & CDMA 시스템들은 TIA/EIA 표준 IS-98 에서 설명된다. 다른 통신 시스템들은 IMT-2000/UM, 또는 국제 모바일 통신 시스템 2000/유니버셜 모바일 통신 시스템, 광대역 CDMA (W-CDMA), (예컨대, CDMA2000 lxEV-DO 표준들과 같은) CDMA2000 또는 TD-SCDMA 로서 지칭되는 것을 커버하는 표준들에서 설명된다.
모바일 디바이스들, 예컨대 "스마트폰들", 태블릿들, 랩톱들 등은 동적으로 업데이트할 필요가 있는 동시에 구동하는 여러 애플리케이션들 ("apps")(예를 들어, Twitter®, Facebook®, Yahoo! Finance® 등) 을 가질 수도 있다. 각각의 애플리케이션은 그 콘텐트를 그 자신의 구현-특정 타이밍에 기초하여 주기적으로 업데이트한다. 이들 업데이트들은, 업데이트된 콘텐트가 사용자에 의해 즉시 사용되지 않을 수도 있더라도 수행된다. 또한, 이들 업데이트들은 애플리케이션들 전체에 걸쳐 조절되지 않아서 더욱 빈번한 라디오 접속들을 초래하며, 이는 증가된 시그널링 로드 및/또는 배터리 소모를 초래한다.
본 개시물은 모바일 디바이스 상에서의 실행을 위해 구성된 애플리케이션들을 관리하는 것에 관한 것이다. 본 개시물의 일 실시형태는 모바일 디바이스 상에서 실행하는 하나 이상의 애플리케이션들로부터 하나 이상의 네트워크 액세스 요청들을 수신하고, 모바일 디바이스가 백그라운드 모드에서 동작하고 있다는 것을 결정하고, 이 결정에 기초하여 네트워크에 대한 하나 이상의 네트워크 액세스 요청들의 네트워크로의 송신을 억제하며, 백그라운드 모드의 전환 (transition out) 시에 하나 이상의 네트워크 액세스 요청들의 서브세트를 송신한다.
첨부한 도면들은 본 발명의 실시형태들의 설명을 돕기 위해 제시되고, 실시형태들의 제한이 아닌 실시형태들의 예시를 위해서만 제공된다.
도 1 은 본 발명의 적어도 하나의 실시형태에 따른 액세스 단말기들 및 액세스 네트워크들을 지원하는 무선 네트워크 아키텍처의 도면이다.
도 2 는 도 1 의 무선 통신 시스템의 예를 더 상세히 예시한다.
도 3 은 본 발명의 적어도 하나의 실시형태에 따른 사용자 장비 (UE) 를 예시한다.
도 4 는 기능적으로 수행하도록 구성된 로직을 포함하는 통신 디바이스를 예시한다.
도 5 는 본 발명의 일 실시형태에 따른 방법을 예시한다.
도 6 은 본 발명의 예시적인 실시형태를 나타낸다.
도 7 은 본 발명의 예시적인 실시형태를 나타낸다.
도 8 은 본 발명의 일 실시형태의 예시적인 타임라인을 나타낸다.
도 9 는 본 발명의 예시적인 실시형태를 나타낸다.
도 10 은 본 발명의 일 실시형태에 따른 방법을 예시한다.
도 11 은 본 발명의 예시적인 실시형태를 나타낸다.
도 12 는 본 발명의 일 실시형태의 테스트 결과들을 나타낸다.
도 13 은 본 발명의 일 실시형태의 테스트 결과들을 나타낸다.
도 14 는 본 발명의 일 실시형태의 테스트 결과들을 나타낸다.
도 15 는 본 발명의 일 실시형태의 테스트 결과들을 나타낸다.
본 발명의 양태들은 다음의 상세한 설명에서 기술되고, 본 발명의 특정 실시형태들에 지시된 도면들에 관련된다. 본 발명의 범위로부터 벗어나지 않으면서 대안의 실시형태들이 고안될 수도 있다. 부가적으로, 본 발명의 잘 알려진 엘리먼트들은 본 발명의 관련 상세들을 모호하게 하지 않도록 상세히 설명되지 않거나 생략될 것이다.
단어 "예시적인" 은 본원에서 "일 예, 경우, 또는 예시의 역할을 하는" 것을 의미하도록 사용된다. "예시적인" 으로서 본원에 설명된 임의의 실시형태는 반드시 다른 실시형태들보다 바람직하거나 유리한 것으로 해석되지는 않는다. 마찬가지로, 용어 "본 발명의 실시형태들" 은 본 발명의 모든 실시형태들이 논의된 특성, 이점, 또는 동작의 모드를 포함하는 것을 요구하지 않는다.
본원에서 사용된 전문용어는 단지 특정 실시형태만을 설명하기 위함이고, 본 발명의 실시형태들을 제한하도록 의도되지는 않는다. 본원에서 사용된 바와 같이, 단수 형태들 "a", "an", 및 "the" 는, 콘텍스트가 달리 명확히 나타내지 않는 한 복수 형태들도 포함하도록 의도된다. 용어들 "포함하다", "포함하는", "포함시키다", 및/또는 "포함시키는" 은, 본원에서 사용되는 경우에는, 언급된 특성들, 인티저 (integer) 들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 명시하지만, 하나 이상의 다른 특성들, 인티저들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 그 그룹들의 존재 또는 추가를 배제하지는 않음이 또한 이해될 것이다.
또한, 예를 들어, 컴퓨팅 디바이스의 엘리먼트들에 의해 수행될 액션들의 시퀀스들의 면에서 많은 실시형태들이 설명된다. 본원에 설명된 다양한 액션들은 특정 회로들 (예를 들어, 주문형 집적 회로 (ASIC) 들) 에 의해, 하나 이상의 프로세서들에 의해 실행되는 프로그램 명령들에 의해, 또는 양자 모두의 조합에 의해 수행될 수 있는 것으로 인식될 것이다. 또한, 본원에 설명된 액션들의 이들 시퀀스는 실행 시에 연관된 프로세서로 하여금 본원에 설명된 기능을 수행하게 하는 대응하는 컴퓨터 명령들의 세트가 저장된 임의의 유형의 컴퓨터 판독가능 저장 매체 내에 완전히 구현되는 것으로 여겨질 수 있다. 따라서, 본 발명의 다양한 양태들은 다수의 상이한 형태들로 구현될 수도 있으며, 다수의 상이한 형태들 모두는 청구된 청구물의 범위 내에 있는 것으로 고려된다. 또한, 본원에 설명된 실시형태들 각각에 대해, 임의의 이러한 실시형태들의 대응하는 형태는, 예를 들어 설명된 액션을 수행 "하도록 구성된 로직" 으로서 본원에 설명 (예를 들어, 도 4 에 대하여 이하에서 더 상세히 설명) 될 수도 있다.
본원에서 사용자 장비 (UE) 로서 지칭된, 고 데이터 레이트 (High Data Rate; HDR) 가입자 지국은 모바일 또는 정지형일 수도 있고, 노드 B들로서 지칭될 수도 있는 하나 이상의 액세스 포인트 (AP) 들과 통신할 수도 있다. UE 는 노드 B들 중 하나 이상을 통해 데이터 패킷들을 무선 네트워크 제어기 (RNC) 로 송신 및 수신한다. 노드 B들 및 RNC 는 무선 액세스 네트워크 (RAN) 로 지칭된 네트워크의 일부분들이다. 무선 액세스 네트워크는 다수의 액세스 단말기들 간에 음성 및 데이터 패킷들을 전송할 수 있다.
무선 액세스 네트워크는 또한, 무선 액세스 네트워크 외부의 추가의 네트워크들, 예컨대 특정 캐리어 관련 서버들 디바이스들 및 다른 네트워크들, 예컨대 기업 인트라넷, 인터넷, 공중 회선 전화교환망 (PSTN), 서빙 범용 패킷 무선 서비스들 (GPRS) 지원 노드 (SGSN), 게이트웨이 GPRS 지원 노드 (GGSN) 에의 접속성을 포함하는 코어 네트워크에 접속될 수도 있고, 각각의 UE 와 그러한 네트워크들 간에 음성 및 데이터 패킷들을 전송할 수도 있다. 하나 이상의 노드 B들과 활성 트래픽 채널 접속을 확립하고 있는 UE 는 활성 UE 로서 지칭될 수도 있고, 트래픽 상태에 있는 것으로서 지칭될 수 있다. 하나 이상의 노드 B들과 활성 트래픽 채널 (TCH) 접속을 확립하는 프로세스에 있는 UE 는 접속 셋업 상태에 있는 것으로서 지칭될 수 있다. UE 는 무선 채널을 통해 또는 유선 채널을 통해 통신하는 임의의 데이터 디바이스일 수도 있다. UE 는 또한, PC 카드, 컴팩트 플래시 디바이스, 외부 또는 내부 모뎀, 또는 무선 또는 유선 전화기를 포함하지만 이에 제한되지는 않는 다수의 디바이스들의 유형들 중 임의의 것일 수도 있다. UE 가 신호들을 노드 B(들)로 전송하는 통신 링크는 업링크 채널 (예를 들어, 역 트래픽 채널, 제어 채널, 액세스 채널 등) 로 지칭된다. 노드 B(들)이 신호들을 UE 로 전송하는 통신 링크는 다운링크 채널 (예를 들어, 페이징 채널, 제어 채널, 브로드캐스트 채널, 순방향 트래픽 채널 등) 로 지칭된다. 본원에 사용된 바와 같이, 용어 트래픽 채널 (TCH) 은 업링크/역방향 또는 다운링크/순방향 트래픽 채널 중 어느 하나를 지칭할 수 있다.
도 1 은 본 발명의 적어도 하나의 실시형태에 따른 무선 통신 시스템 (100) 의 하나의 예시적인 실시형태의 블록도를 예시한다. 시스템 (100) 은 패킷 교환된 데이터 네트워크 (예를 들어, 인트라넷, 인터넷, 및/또는 코어 네트워크 (126)) 와 UE 들 (102, 108, 110, 112) 간의 데이터 접속성을 제공하는 네트워크 장비에 UE (102) 를 접속시킬 수 있는 액세스 네트워크 또는 무선 액세스 네트워크 (RAN)(120) 와 무선 인터페이스 (104) 를 통해 통신하는 UE 들, 예컨대 셀룰러 전화기 (102) 를 포함할 수 있다. 여기에 도시된 바와 같이, UE 는 셀룰러 전화기 (102), 개인 휴대 정보 단말 (108), 여기에서 양-방향 텍스트 페이저로서 도시되는 페이저 (110), 또는 심지어 무선 통신 포털을 갖는 별개의 컴퓨터 플랫폼 (112) 일 수 있다. 본 발명의 실시형태들은 따라서, 제한 없이 무선 모뎀들, PCMCIA 카드들, 퍼스널 컴퓨터들, 전화기들, 또는 이들의 임의의 조합 또는 서브-조합을 포함하는 무선 통신 능력들을 갖거나 무선 통신 포털을 포함하는 UE 의 임의의 형태로 실현될 수 있다. 또한, 본원에서 사용된 바와 같이, 다른 통신 프로토콜들 (즉, W-CDMA 외에서) 용어 "UE" 는 "액세스 단말기", "AT", "무선 디바이스", "클라이언트 디바이스", "모바일 단말기", "이동국" 및 그 변형들로서 상호교환적으로 지칭될 수도 있다.
도 1 을 다시 참조하면, 무선 통신 시스템 (100) 의 컴포넌트들 및 본 발명의 예시적인 실시형태들의 엘리먼트들의 상관은 예시된 구성에 제한되지 않는다. 시스템 (100) 은 원격 UE 들, 예컨대 무선 클라이언트 컴퓨팅 디바이스들 (102, 108, 110, 112) 이, 단지 예시적이고, 제한 없이 코어 네트워크 (126), 인터넷, PSTN, SGSN, GGSN 및/또는 다른 원격 서버들을 포함하는 무선 인터페이스 (104) 및 RAN (120) 을 통해 접속된 컴포넌트들 사이 및 이들 중에서 그리고/또는 서로 간에 공중경유 (over the air) 통신하는 것을 가능하게 하는 임의의 시스템을 포함할 수 있다.
RAN (120) 은 RNC (122) 로 전송된 (통상적으로 데이터 패킷들로서 전송된) 메시지들을 제어한다. RNC (122) 는 GPRS (Serving General Packet Radio Services) 지원 노드 (SGSN) 와 UE 들 (102/108/110/112) 간의 베어러 채널들 (즉, 데이터 채널들) 의 시그널링, 확립, 및 해체 (tearing down) 를 담당한다. 링크 계층 암호화가 인에이블되면, RNC (122) 는 또한, 콘텐트를 무선 인터페이스 (104) 를 통해 포워딩하기 전에 이것을 암호화한다. RNC (122) 의 기능은 당해 기술에 잘 알려져 있고, 간략함을 위해 추가로 논의되지 않을 것이다. 코어 네트워크 (126) 는 네트워크, 인터넷 및/또는 공중 교환 전화망 (PSTN) 에 의해 RNC (122) 와 통신할 수도 있다. 대안으로, RNC (122) 는 내부 또는 외부 네트워크에 직접적으로 접속할 수도 있다. 통상적으로, 코어 네트워크 (126) 와 RNC (122) 간의 네트워크 또는 인터넷 접속은 데이터를 트랜스퍼하고, PSTN 은 음성 정보를 트랜스퍼한다. RNC (122) 는 다수의 노드 B 들 (124) 에 접속될 수 있다. 코어 네트워크 (126) 와 유사한 방식으로, RNC (122) 는 통상적으로 데이터 트랜스퍼 및/또는 음성 정보를 위해 네트워크, 인터넷 및/또는 PSTN 에 의해 노드 B들 (124) 에 접속된다. 노드 B들 (124) 은 UE 들, 예컨대 셀룰러 전화기 (102) 에 무선으로 데이터 메시지들을 브로드캐스트할 수 있다. 노드 B들 (124), RNC (122) 및 다른 컴포넌트들은 당해 기술에 알려진 바와 같이, RAN (120) 을 형성할 수도 있다. 그러나, 대안의 구성이 또한 사용될 수도 있고, 본 발명은 예시된 구성에 제한되지 않는다. 예를 들어, 다른 실시형태에서 RNC (122) 및 노드 B 들 (124) 중 하나 이상의 기능은 RNC (122) 및 노드 B들 (124) 양자 모두의 기능을 갖는 단일의 "하이브리드" 모듈로 콜랩스될 수도 있다.
도 2 는 도 1 의 무선 통신 시스템 (100) 의 예를 더 상세히 예시한다. 특히, 도 2 를 참조하면, UE 1...N 은 상이한 패킷 데이터 네트워크 엔드-포인트들에 의해 서빙된 로케이션들에서 RAN (120) 에 접속하는 것으로서 도시된다. 도 2 의 예시는 W-CDMA 시스템들 및 전문 용어에 특정되지만, 도 2 가 각종 다른 무선 통신 프로토콜들 (예를 들어, LTE, EV-DO, UMTS 등) 을 따르도록 변형될 수 있는 방법 및 각종 실시형태들이 예시된 시스템 또는 엘리먼트들에 제한되지 않는다는 것이 인식될 것이다.
UE 1 및 3 은 제 1 패킷 데이터 네트워크 엔드 포인트 (162) (예를 들어, 이것은 SGSN, GGSN, PDSN, 홈 에이전트 (home agent; HA), 외래 에이전트 (foreign agent; FA) 등에 대응할 수 있음) 에 의해 버싱된 부분에서 RAN (120) 에 접속한다. 제 1 패킷 데이터 네트워크 엔드 포인트 (162) 는 차례로, 라우팅 유닛 (188) 을 통해 인터넷 (175) 및/또는 AAA (authentication, authorization and accounting) 서버 (182), 프로비저닝 서버 (184), 인터넷 프로토콜 (IP) 멀티미디어 서브시스템 (IMS)/세션 개시 프로토콜 (SIP) 등록 서버 (186) 및/또는 애플리케이션 서버 (170) 중 하나 이상에 접속한다. UE 2 및 5...N 은 제 2 패킷 데이터 네트워크 엔드 포인트 (164)(예를 들어, 이것은 SGSN, GGSN, PDSN, FA, HA 등에 대응할 수도 있음) 에 의해 서빙된 부분에서 RAN (120) 에 접속한다. 제 1 패킷 데이터 네트워크 엔드 포인트 (162) 와 유사하게, 제 2 패킷 데이터 네트워크 엔드 포인트 (164) 는 차례로, 라우팅 유닛 (188) 을 통해, 인터넷 (175) 에 및/또는 AAA 서버 (182), 프로비저닝 서버 (184), IMS / SIP 등록 서버 (186) 및/또는 애플리케이션 서버 (170) 중 하나 이상에 접속한다. UE 4 는 인터넷 (175) 에 직접적으로 접속하고, 그 후 인터넷 (175) 을 통해 전술된 시스템 컴포넌트들 중 임의의 것에 접속할 수 있다.
도 2 를 참조하면, UE 1, 3 및 4...N 은 무선 전화기들로서 예시되고, UE 2 는 무선 태블릿 및/또는 랩톱 PC 로서 예시된다. 그러나, 다른 실시형태들에서, 무선 접속 시스템 (100) 은 UE 의 임의의 유형에 접속할 수 있고, 도 2 에 예시된 예들은 시스템 내에서 구현될 수도 있는 UE 들의 유형들을 제한하도록 의도되지 않는 것으로 인식될 것이다.
도 3 을 참조하면, UE (200)(여기서, 무선 디바이스), 예컨대 셀룰러 전화기는 코어 네트워크 (126), 인터넷 및/또는 다른 원격 서버들 및 네트워크들로부터 궁극적으로 올 수도 있는 RAN (120) 으로부터 송신된 소프트웨어 애플리케이션들, 데이터 및/또는 커맨드들을 수신 및 실행할 수 있는 플랫폼 (202) 을 갖는다. 플랫폼 (202) 은 주문형 집적 회로 ("ASIC" 208), 또는 다른 프로세서, 마이크로프로세서, 로직 회로, 또는 다른 데이터 프로세싱 디바이스에 동작 가능하게 커플링된 트랜시버 (206) 를 포함할 수 있다. ASIC (208) 또는 다른 프로세서는 무선 디바이스의 메모리 (212) 에서의 임의의 상주 프로그램들과 인터페이싱하는 애플리케이션 프로그래밍 인터페이스 ("API")(210) 계층을 실행시킨다. 메모리 (212) 는 판독 전용 또는 랜덤 액세스 메모리 (RAM 및 ROM), EEPROM, 플래시 카드들, 또는 컴퓨터 플랫폼들에 공통적인 임의의 메모리로 이루어질 수 있다. 플랫폼 (202) 은 또한, 메모리 (212) 에서 활성적으로 사용되지 않는 애플리케이션들을 홀딩할 수 있는 로컬 데이터베이스 (214) 를 포함할 수 있다. 로컬 데이터베이스 (214) 는 통상적으로, 플래시 메모리 셀이지만, 당해 기술에 알려진 바와 같은 임의의 세컨더리 저장 디바이스, 예컨대 자기 매체, EEPROM, 광학 매체, 소프트 또는 하드 디스크 등일 수 있다. 내부 플랫폼 (202) 컴포넌트들은 또한, 외부 디바이스들, 예컨대 당해 기술에 알려진 바와 같은 다른 컴포넌트들 중에서 안테나 (222), 디스플레이 (224), 푸시-투-토크 버튼 (228) 및 키패드 (226) 에 동작 가능하게 커플링될 수 있다.
따라서, 본 발명의 실시형태는 본원에 설명된 기능들을 수행하기 위한 능력을 포함하는 UE 를 포함할 수 있다. 당업자들이 인식하는 바와 같이, 각종 로직 엘리먼트들은 본원에 개시된 기능을 달성하기 위해 프로세서 또는 소프트웨어 및 하드웨어의 임의의 조합에서 실행된 별개의 엘리먼트들, 소프트웨어 모듈들에서 구현될 수 있다. 예를 들어, ASIC (208), 메모리 (212), API (210) 및 로컬 데이터베이스 (214) 는 협력하여 본원에 개시된 각종 기능들을 로딩, 저장 및 실행시키도록 사용될 수도 있고, 따라서 이들 기능들을 수행하기 위한 로직은 각종 엘리먼트들에 걸쳐 분산될 수도 있다. 대안으로, 기능성은 하나의 별개의 컴포넌트에 통합될 수 있다. 따라서, 도 3 의 UE (200) 의 특성들은 단지 예시적인 것으로 고려되고, 본 발명은 예시된 특성들 또는 어레인지먼트에 제한되지 않는다.
UE (102 또는 200) 와 RAN (120) 간의 무선 통신은 상이한 기술들, 예컨대 코드 분할 다중 액세스 (CDMA), W-CDMA, 시간 분할 다중 액세스 (TDMA), 주파수 분할 다중 액세스 (FDMA), 직교 주파수 분할 다중 멀티플렉싱 (OFDM), 이동 통신용 글로벌 시스템 (GSM), 3GPP 롱 텀 에볼루션 (LTE), 또는 무선 통신 네트워크 또는 데이터 통신 네트워크에서 사용될 수도 있는 다른 프로토콜들에 기초할 수 있다. 따라서, 본원에 제공된 예시들은 본 발명의 실시형태들을 제한하도록 의도되지 않고, 단지 본 발명의 실시형태들의 양태들의 설명을 돕기 위한 것이다.
도 4 는 기능을 수행하도록 구성된 로직을 포함하는 통신 디바이스 (400) 를 예시한다. 통신 디바이스 (400) 는 UE 들 (102, 108, 110, 112 또는 200), 노드 B들 또는 기지국들 (120), RNC 또는 기지국 제어기 (122), 패킷 데이터 네트워크 엔드-포인트 (예를 들어, SGSN (160), GGSN (165), 롱 텀 에볼루션 (LTE) 의 이동성 관리 엔티티 (MME) 등), 서버들 (170 내지 186) 중 임의의 것 등을 포함하지만 이에 제한되지는 않는, 상기 요약된 통신 디바이스들 중 임의의 것에 대응할 수 있다. 따라서, 통신 디바이스 (400) 는 네트워크를 통해 하나 이상의 다른 엔티티들과 통신하도록 (또는 이들과의 통신을 용이하게 하도록) 구성되는 임의의 전자 디바이스에 대응할 수 있다.
도 4 를 참조하면, 통신 디바이스 (400) 는 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 을 포함한다. 일 예에서, 통신 디바이스 (400) 가 무선 통신 디바이스 (예를 들어, UE (200), 노드 B (124) 등) 에 대응하면, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 무선 통신 인터페이스 (예를 들어, 블루투스, WiFi, 2G, 3G, 등), 예컨대 무선 트랜시버 및 연관된 하드웨어 (예를 들어, RF 안테나, MODEM, 변조기 및/또는 복조기 등) 를 포함할 수 있다. 다른 예에서, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 유선 통신 인터페이스 (예를 들어, 시리얼 접속, USB 또는 펌웨어 접속, 인터넷 (175) 이 액세스될 수 있는 이더넷 접속, 등) 에 대응할 수 있다. 따라서, 통신 디바이스 (400) 가 네트워크-기반 서버 (예를 들어, SGSN (160), GGSN (165), 애플리케이션 서버 (170) 등) 의 일부 유형에 대응하면, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 일 예에서 이더넷 프로토콜을 통해 다른 통신 엔티티들에 네트워크-기반 서버를 접속시키는 이더넷 카드에 대응할 수 있다. 추가의 예에서, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 센서 또는 측정 하드웨어를 포함할 수 있고, 하드웨어에 의해 통신 디바이스 (400) 는 그 로컬 환경 (예를 들어, 가속도계, 온도 센서, 광 센서, 로컬 RF 신호들을 모니터링하는 안테나 등) 을 모니터링할 수 있다. 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 또한, 실행될 때 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 의 연관된 하드웨어가 그 수신 및/또는 송신 기능(들)을 수행하는 것을 허용하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 소프트웨어에만 대응하지 않고, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 그 기능을 달성하기 위한 하드웨어에 적어도 부분적으로 의존한다.
도 4 를 참조하면, 통신 디바이스 (400) 는 정보를 프로세싱하도록 구성된 로직 (410) 을 더 포함한다. 일 예에서, 정보를 프로세싱하도록 구성된 로직 (410) 은 적어도 프로세서를 포함할 수 있다. 정보를 프로세싱하도록 구성된 로직 (410) 에 의해 수행될 수 있는 프로세싱의 유형의 예시의 구현들은 결정을 수행하는 것, 접속들을 확립하는 것, 상이한 정보 옵션들 사이에서 선택들을 하는 것, 데이터에 관련된 평가들을 수행하는 것, 측정 동작들을 수행하도록 통신 디바이스 (400) 에 커플링된 센서들과 상호작용 하는 것, (예를 들어, 상이한 프로토콜들 사이에서, 예컨대 .wmv 투 .avi, 등) 일 포맷에서 다른 포맷으로 정보를 컨버팅하는 것 등을 포함하지만 이에 한정되지는 않는다. 예를 들어, 정보를 프로세싱하도록 구성된 로직 (410) 에 포함된 프로세서는 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA) 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 그 임의의 조합에 대응할 수 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로 구현될 수도 있다. 정보를 프로세싱하도록 구성된 로직 (410) 은 또한, 실행될 때 정보를 프로세싱하도록 구성된 로직 (410) 의 연관된 하드웨어가 그 프로세싱 기능(들)을 수행하도록 허용하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 프로세싱하도록 구성된 로직 (410) 은 소프트웨어에만 대응하지 않고, 정보를 프로세싱하도록 구성된 로직 (410) 은 그 기능을 달성하기 위한 하드웨어에 적어도 부분적으로 의존한다.
도 4 를 참조하면, 통신 디바이스 (400) 는 정보를 저장하도록 구성된 로직 (415) 을 더 포함한다. 일 예에서, 정보를 저장하도록 구성된 로직 (415) 은 적어도 비-일시적 메모리 및 연관된 하드웨어 (예를 들어, 메모리 제어기 등) 를 포함할 수 있다. 예를 들어, 정보를 저장하도록 구성된 로직 (415) 에 포함된 비-일시적 메모리는 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 이 기술 분야에 알려진 저장 매체의 임의의 다른 형태에 대응할 수 있다. 정보를 프로세싱하도록 구성된 로직 (415) 은 또한, 실행될 때 정보를 저장하도록 구성된 로직 (415) 의 연관된 하드웨어가 그 저장 기능(들)을 수행하도록 허용하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 저장하도록 구성된 로직 (415) 은 소프트웨어에만 대응하지 않고, 정보를 저장하도록 구성된 로직 (415) 은 그 기능을 달성하기 위한 하드웨어에 적어도 부분적으로 의존한다.
도 4 를 참조하면, 통신 디바이스 (400) 는 정보를 제시하도록 구성된 로직 (420) 을 선택적으로 더 포함한다. 일 예에서, 정보를 디스플레이하도록 구성된 로직 (420) 은 적어도 출력 디바이스 및 연관된 하드웨어를 포함할 수 있다. 예를 들어, 출력 디바이스는 비디오 출력 디바이스 (예를 들어, 디스플레이 스크린, USB, HDMI 등과 같은 비디오 정보를 운반할 수 있는 포트), 오디오 출력 디바이스 (예를 들어, 스피커들, 마이크로폰 잭, USB, HDMI, 등과 같은 오디오 정보를 운반할 수 있는 포트), 진동 디바이스 및/또는 통신 디바이스 (400) 의 사용자 또는 오퍼레이터에 의해 출력 또는 실제로 출력되기 위해 정보가 포매팅될 수 있는 임의의 다른 디바이스를 포함할 수 있다. 예를 들어, 통신 디바이스 (400) 가 도 3 에 도시된 바와 같은 UE (200) 에 대응하면, 정보를 제시하도록 구성된 로직 (420) 은 디스플레이 (224) 를 포함할 수 있다. 추가의 예에서, 정보를 제시하도록 구성된 로직 (420) 은 로컬 사용자 (예를 들어, 네트워크 스위치들 또는 라우터들, 원격 서버들 등) 를 갖지 않는 네트워크 통신 디바이스들과 같은 소정의 통신 디바이스들에 대해 생략될 수 있다. 정보를 제시하도록 구성된 로직 (420) 은 또한, 실행될 때 정보를 제시하도록 구성된 로직 (420) 의 연관된 하드웨어가 그 제시 기능(들)을 수행하도록 허용하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 제시하도록 구성된 로직 (420) 은 소프트웨어에만 대응하지 않고, 정보를 제시하도록 구성된 로직 (420) 은 그 기능을 달성하기 위한 하드웨어에 적어도 부분적으로 의존한다.
도 4 를 참조하면, 통신 디바이스 (400) 는 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 을 선택적으로 더 포함한다. 일 예에서, 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 은 적어도 사용자 입력 디바이스 및 연관된 하드웨어를 포함할 수 있다. 예를 들어, 사용자 입력 디바이스는 버튼들, 터치-스크린 디스플레이, 키보드, 카메라, 오디오 입력 디바이스 (예를 들어, 마이크로폰 또는 마이크로폰 잭 등과 같이 오디오 정보를 운반할 수 있는 포트), 및/또는 통신 디바이스 (400) 의 사용자 또는 오퍼레이터로부터 정보가 수신될 수 있는 임의의 다른 디바이스를 포함할 수 있다. 예를 들어, 통신 디바이스 (400) 가 도 3 에 도시된 바와 같은 UE (200) 에 대응하면, 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 은 디스플레이 (224)(구현된다면, 터치-스크린), 키패드 (226) 등을 포함할 수 있다. 추가의 예에서, 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 은 로컬 사용자 (예를 들어, 네트워크 스위치들 또는 라우터들, 원격 서버들 등) 를 갖지 않는 네트워크 통신 디바이스들과 같은 소정의 통신 디바이스들에 대해 생략될 수 있다. 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 은 또한, 실행될 때 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 의 연관된 하드웨어가 그 입력 수신 기능(들)을 수행하도록 허용하는 소프트웨어를 포함할 수 있다. 그러나, 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 은 소프트웨어에만 대응하지 않고, 로컬 사용자 입력을 수신하도록 구성된 로직 (425) 은 그 기능을 달성하기 위한 하드웨어에 적어도 부분적으로 의존한다.
도 4 를 참조하면, 405 내지 425 의 구성된 로직들은 도 4 에서 별개의 또는 구별되는 블록들로 도시되었으나, 각각의 구성된 로직이 그 기능을 수행하는 하드웨어 및/또는 소프트웨어는 부분적으로는 오버랩할 수 있다는 것이 인식될 것이다. 예를 들어, 405 내지 425 의 구성된 로직들의 기능을 실시하는데 사용된 임의의 소프트웨어는 정보를 저장하도록 구성된 로직 (415) 과 연관된 비-일시적 메모리에 저장될 수 있어서, 405 내지 425 의 구성된 로직들 각각은 정보를 저장하도록 구성된 로직 (415) 에 의해 저장된 소프트웨어의 동작에 적어도 부분적으로 기초하여 그 기능을 수행 (즉, 이 경우에서, 소프트웨어를 실행) 한다. 마찬가지로, 구성된 로직들 중 하나와 직접적으로 연관되는 하드웨어는 가끔 다른 구성된 로직들에 의해 빌려지거나 사용될 수 있다. 예를 들어, 정보를 프로세싱하도록 구성된 로직 (410) 의 프로세서는 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 에 의해 송신되기 전에 적합한 포맷으로 데이터를 포맷할 수 있어서, 정보를 수신 및/또는 송신하도록 구성된 로직 (405) 은 정보를 프로세싱하도록 구성된 로직 (410) 과 연관된 하드웨어 (즉, 프로세서) 의 동작에 적어도 부분적으로 기초하여 그 기능성 (즉, 이 경우에서 데이터의 송신) 을 수행한다.
각종 블록들에서 "~하도록 구성된 로직" 또는 구성된 로직은 특정의 로직 게이트들 또는 엘리먼트들에 제한되지 않고, 일반적으로 (하드웨어 또는 하드웨어와 소프트웨어의 조합을 통해) 본원에 설명된 기능을 수행하기 위한 능력을 지칭하는 것으로 인식될 것이다. 따라서, 각종 블록들에서 예시된 바와 같은 구성된 로직 또는 "~하도록 구성된 로직" 은 단어 "로직" 을 공유함에도 불구하고 로직 게이트들 또는 로직 엘리먼트들로서 반드시 구현되지 않는다. 각종 블록들에서 로직 간의 다른 상호작용들 또는 협력은 이하에서 더 상세히 설명된 엘리먼트들의 리뷰로부터 당업자에게 더 명백해질 것이다.
모바일 디바이스는 주기적 업데이트들을 요구하는 애플리케이션들의 3 개 유형들을 가질 수도 있다. 애플리케이션의 제 1 유형은 애플리케이션-개시된 업데이트 세션, 즉 "풀 (pull)" 서비스들을 사용한다. 예들은, Facebook®, Twitter®, Yahoo!, Finance® 등을 포함한다. Finance®, etc. 애플리케이션의 제 2 유형은 네트워크-개시된 업데이트 세션들, 즉 "푸시 (push)" 서비스들을 갖는다. 일 예는 이메일 서비스일 것이다. 애플리케이션의 제 3 유형은, 네트워크가 즉, 서비스들을 "킵 얼라이브 (keep-alive)" 하도록 애플리케이션에 기대하기 때문에 주기적 인터벌들로 업데이트해야 한다. 일 예는 인스턴트 (instant) 메시징 애플리케이션일 것이다. 애플리케이션의 제 1 유형에 대한 스탠바이 시간 강화들은 디바이스-기반일 수 있는 한편, 다른 2 개 유형들의 애플리케이션들에 대한 강화들은 네트워크 지원 (network assistance) 으로부터 이익을 얻을 수도 있다.
본 발명의 일 실시형태는 모바일 디바이스에 대한 백그라운드 모드 및 넌-백그라운드 모드를 정의하고, 애플리케이션 업데이트들을 동기화함으로써 배터리 소모 및 시그널링 로드 오버헤드를 감소시키는 백그라운드 모드에서 동작하는 모바일 디바이스에 대한 새로운 거동을 정의한다.
모바일 디바이스는, 미리정의된 시간 지속기간 동안 모뎀 데이터 활동이 존재하지 않고, 미리정의된 기간 동안 사용자 상호작용이 없으며 (예를 들어, 키-프레스가 없고, 디스플레이가 오프되고, 카메라가 오프되는 등), 모바일 디바이스가 "테더 (tethered)" 모드에 있지 않은 (즉, 랩톱과 같은 외부 디바이스에 접속되지 않은) 경우, "백그라운드 모드" 로 진입한다. 모바일 디바이스는, (예를 들어, 키패드, 디스플레이, 액세서리들 등으로부터) 주변 액세스가 존재하지 않았고 소정 기간 동안 데이터 활동이 존재하지 않았다고 결정함으로써 모바일 디바이스가 백그라운드 모드에 진입할 수도 있다는 것을 결정할 수도 있다. 모바일 디바이스가 백그라운드 모드에 있지 않으면, 그것은 포어그라운드 (foreground) 모드에 있다.
모바일 디바이스가 포어그라운드 모드에 있는 경우, 애플리케이션 업데이트 요청들에 대한 변경이 존재하지 않는다. 그러나 백그라운드 모드에 있는 경우, 모바일 디바이스는 애플리케이션 업데이트들을 동기화함으로써 시그널링 로드 오버헤드 및 배터리 소모를 감소시키는 스텝들을 취할수도 있다. 예를 들어, 모바일 디바이스는 다음 "웨이크업" 주기까지 모든 소켓 생성 요청들을 홀딩할 수도 있다. 다른 예에서, 모바일 디바이스는 "라디오 게이트 오프" 주기 동안 임의의 소켓 접속들을 차단 또는 드롭할 수도 있다. 다른 예에서, 모바일 디바이스의 고-레벨 동작 시스템 ("HLOS") 은, 디바이스가 그들이 네트워크에 접속하는 것을 허용하는 "웨이크 업" (즉, 포어그라운드 모드로 진입) 하는 경우 등록된 애플리케이션들을 인보크할 수도 있다. 다른 예에서, HLOS 는, 그들이 그 자신의 업데이트 타이머를 유지하는 것을 요구하는, 소정의 업데이트 레이트로 등록된 애플리케이션들을 제공할 수도 있다.
도 5 는 본 발명의 일 실시형태에 따라 백그라운드 애플리케이션들에 대한 시그널링 로드 오버헤드 및 배터리 소모를 최적화하는 방법 (500) 을 예시한다. 본 발명의 일 예시적인 실시형태에서, QUALCOMM'S® Connectivity Engine ("CnE") 이 방법 (500) 을 구현할 수도 있다. 대안으로, 모바일 디바이스 상에서 구동하는 임의의 접속성 관리자, 또는 HLOS 가 방법 (500) 을 구현할 수도 있다.
505 에서, 모바일 디바이스는 네트워크에 액세스하도록 애플리케이션으로부터 요청 (예컨대, 업데이트 요청) 을 수신한다. 예를 들어, 요청은 도 6 에 도시된 바와 같이 소켓을 개방하기 위한 요청 (예를 들어, Connect() 메소드) 일 수도 있다. 다른 예에서, 요청은 도 7 에 도시된 바와 같이 소켓이 생성된 후의 동기화 요청 (예를 들어, SYN 패킷들) 일 수도 있다. 또 다른 예에서, 요청은 도 9 에 도시된 바와 같은 콜백 함수 (callback function) 등록일 수도 있다.
510 에서, 모바일 디바이스는 그것이 백그라운드 모드에 있는지 아닌지 여부를 결정한다. 전술된 바와 같이, 모바일 디바이스가 미리정의된 시간 지속기간 동안 모뎀 데이터 활동을 갖지 않았고, 미리정의된 기간 동안 디바이스와의 사용자 상호작용이 없으며, 모바일 디바이스가 "테더" 모드에 있지 않다고 결정하는 경우, 모바일 디바이스는 백그라운드 모드로 진입한다. "테더" 모드는, 외부 디바이스가 유선이나 무선 접속을 통해 모바일 디바이스에 접속하여 셀룰러 오퍼레이터에 대한 모바일 디바이스의 접속성을 백홀로서 사용하는 경우이다. 모바일 디바이스가 백그라운드 모드에 있다고 결정할 수도 있는 방법의 일 예로써, 모바일 디바이스는 그것이 백그라운드 모드로 진입하는 경우 "웨이크업" 타이머를 설정할 수도 있다. 웨이크업 타이머가 만료되는 경우, 디바이스는 도 9 에 도시된 바와 같이 포어그라운드 모드로 스위칭한다. 그 방식에서, 웨이크업 타이머는 모바일 디바이스가 백그라운드 모드에서 보낼 기간을 정의한다. 모바일 디바이스가 웨이크업 타이머의 만료 전에, 예를 들어 모바일 디바이스가 타이머를 정지시킬 수도 있는 사용자 입력 또는 네트워크 활동으로 인해 "웨이크업" 하면, 모바일 디바이스가 백그라운드 모드로 리턴하는 경우 그것을 리셋한다. 따라서, 모바일 디바이스가 백그라운드 모드에 있는지 아닌지 여부를 결정하기 위해, 모바일 디바이스는 단순히, 웨이크업 타이머가 여전히 작동하는지 아닌지 여부를 체크할 수도 있다. 모바일 디바이스가 웨이크 업하는 경우, 모바일 디바이스는 큐잉된 요청들을 프로세싱하고 그것들을 네트워크로 포워딩한다.
다른 예에서, 모바일 디바이스는 부가적으로 또는 대안으로 도 6 및 도 7 에 도시된 바와 같이 라디오 "게이트 온/오프" 주기를 정의할 수도 있다. 라디오 게이트는, 모바일 디바이스가 포어그라운드 모드에 있는 경우 "온" 이고, 모바일 디바이스가 백그라운드 모드에 있는 경우 "오프" 이다. 모바일 디바이스는 라디오 게이트가 오프되어야 하는 특정 기간을 정의할 수도 있다. 모바일 디바이스는, 모바일 디바이스가 백그라운드 모드에 있는지 여부를 결정하기 위해 게이트가 "온" 또는 "오프" 인지 여부를 체크할 수 있다. 모바일 디바이스가 백그라운드 모드에 있지 않으면, 525 에서 모바일 디바이스는 애플리케이션이 네트워크에 액세스하도록 허용한다.
515 에서, 모바일 디바이스가 백그라운드 모드에 있으면, 모바일 디바이스는 애플리케이션 요청을 미리정의된 웨이크업 스케줄과 동기화한다. 예를 들어, 모바일 디바이스는, 모바일 디바이스가 도 6 에 도시된 바와 같이 "게이트 온" 주기의 시작 또는 웨이크업 타이머의 만료 시에 포어그라운드 모드로 진입할 때까지 모든 소켓 개방 요청들을 홀딩할 수도 있다. 다른 예에서, 모바일 디바이스는, 이 디바이스가 백그라운드 모드에 있는 동안, 즉 도 7 에 도시된 바와 같이 "게이트 오프" 주기 동안 또는 웨이크업 타이머의 만료까지 모든 소켓 접속들을 차단 또는 드롭할 수도 있다. 다른 예에서, 모바일 디바이스는 도 9 에 도시된 바와 같이 애플리케이션으로부터 수신된 콜백 함수를 등록할 수도 있다. 이 예에서, 모바일 디바이스는 그것이 백그라운드 모드에 있다고 결정하기 전 또는 후에 콜백 함수를 등록할 수도 있다.
520 에서, 모바일 디바이스는 "웨이크 업" 하고, 포어그라운드 모드로 진입한다. 모바일 디바이스는 웨이크업 타이머의 만료로 인해 또는 사용자 또는 네트워크 활동으로 인해 웨이크 업할 수도 있다. 포어그라운드 모드로의 진입 시에, 모바일 디바이스는 웨이크업 타이머를 (만료되지 않았다면) 정지시킬 수도 있고/있거나 라디오 게이트를 "온" 으로 설정할 수도 있다.
525 에서, 모바일 디바이스는 임의의 애플리케이션이 네트워크에 액세스하도록 허용한다. 예를 들어, 모바일 디바이스는 도 6 에 도시된 바와 같이 그것이 홀딩되고 있으면 소켓 개방 요청들을 릴리즈할 수도 있다. 다른 예에서, 모바일 디바이스는 도 7 에 도시된 바와 같이 소켓 접속들을 차단 또는 드롭하는 것을 정지할 수도 있다. 다른 예에서, 모바일 디바이스는 도 9 에 도시된 바와 같이 콜백 함수들을 등록했던 애플리케이션들을 인보크할 수도 있다. 모바일 디바이스는 포어그라운드 주기 동안 모든 네트워크 액세스 요청들을 허용한다. 포어그라운드 주기의 만료 시에, 또는 무활동으로 인해, 모바일 디바이스는 백그라운드 모드로 재진입하고, 방법 (500) 은 반복될 수도 있다.
도 6 은 모바일 디바이스가 포어그라운드 모드로 진입할 때까지 모바일 디바이스가 모든 소켓 개방 요청들을 홀딩하는 본 발명의 예시적인 실시형태를 나타낸다. 도 6 은 각종 애플리케이션들 A 및 B (601a 및 601b, 각각) 로부터의 액세스 요청들을 제어하는 QUALCOMM'S® CnE 래퍼 (wrapper)(605) 를 나타내지만, 임의의 접속 관리자가 CnE 래퍼 (605) 의 기능을 수행할 수 있다는 것이 자명할 것이다.
도 6 에서, CnE 래퍼 (605) 는 먼저, "게이트 오프" 주기 (610) 를 설정한다 (CnE 래퍼 (605) 는 또한, 또는 대안으로 전술된 바와 같이 웨이크업 타이머를 시작한다). 이 "게이트 오프" 주기 (610) 는 모바일 디바이스가 백그라운드 모드에 있는 것에 대응한다. "게이트 오프" 주기 (610) 동안, CnE 래퍼 (605) 는 모든 소켓 개방 요청들, 예를 들어 Connect() 메소드들 (602a) 을 인터셉트하고, 모바일 디바이스가 "웨이크 업"(즉, 포어그라운드 모드로 진입) 하고 "게이트 온" 주기 (620) 로 트랜지셔닝할 때까지 그들을 홀딩한다 (615). "게이트 온" 주기 (620) 의 시작은 웨이크업 타이머의 만료로 인해 또는 사용자 또는 네트워크 개시된 데이터로 인한 것일 수도 있다. "게이트 온" 주기 (620) 동안, CnE 래퍼 (605) 는 그것이 홀딩하고 있는 소켓 요청들 (예를 들어, 602a) 을 포함하는, 임의의 소켓 개방 요청들 (예를 들어, 602b) 을 소켓 라이브러리 (607) 및 TCP/IP 스택으로 패스한다. TCP/IP 계층 (608) 은 그 후, CnE 드라이버 (609) 를 추가로 수반하지 않고, 요청들 (지금, 예를 들어 SYN 요청들 (603a 및 603b)) 을 네트워크 (104) 로 송신한다.
CnE 래퍼 (605) 는, 예를 들어 애플리케이션 스레드들을 동결 (freezing) 함으로써 615 에서 소켓 개방 요청들 (602a) 을 "홀딩"할 수도 있다. 그 후, 모바일 디바이스가 포어그라운드 모드로 진입하는 경우, 즉 "게이트 온" 주기 (620) 에, CnE 래퍼 (605) 는 애플리케이션 스레드 (thread) 들을 릴리즈하여 그들이 실행을 계속할 수도 있다.
도 7 은 "라디오 게이트 오프" 주기 동안 모바일 디바이스가 소켓 접속들을 드롭하는 본 발명의 예시적인 실시형태를 나타낸다. 도 7 은 각종 애플리케이션들 A 및 B (701a 및 701b, 각각) 로부터의 액세스 요청들을 제어하는 QUALCOMM'S® CnE 드라이버 (709) 를 나타내지만, 임의의 접속 관리자가 CnE 드라이버 (709) 의 기능을 수행할 수 있다는 것이 자명할 것이다.
도 7 에서, CnE 드라이버 (709) 는 먼저, "게이트 오프" 주기 (710) 를 설정한다 (CnE 래퍼 (705) 는 또한, 또는 대안으로 전술된 바와 같이 웨이크업 타이머를 시작한다). 이 "게이트 오프" 주기 (710) 는 모바일 디바이스가 백그라운드 모드에 있는 것에 대응한다. CnE 드라이버 (709) 는 아웃고잉 동기화 패킷들, 예를 들어 Connect()(702a) 으로부터의 SYN 요청들 (703a) 을 인터셉트하고, 그들을 드롭하지만 (715), 패킷의 임의의 다른 유형은 포워딩한다 (무선 접속이 확립되는 것을 초래함). 모바일 디바이스가 "웨이크 업" 하는 경우, "게이트 오프" 주기 (710) 가 만료되었고 또는 그것이 사용자 또는 네트워크 개시된 데이터에 의해 중단되었기 때문에, CnE 드라이버 (709) 는 "게이트 온" 주기 (720), 즉 포어그라운드 모드로 트랜지셔닝한다. ConnectQ (702b) 로부터의 SYN 요청 (703b) 과 같은 "게이트 온" 주기 (720) 동안 수신된 모든 패킷들은 CnE 래퍼 (705), 소켓 라이브러리 (707), TCP/IP (708) 을 통과하고, 네트워크 (104) 로 포워딩된다. 그러나, "게이트 오프 " 주기 (710) 동안 수신된 임의의 동기화 패킷들은 포워딩되지 않는다. CnE 드라이버 (709) 는 725 에서 다른 "게이트 오프" 주기를 설정한다.
도 8 에 도시된 바와 같이, 도 7 에서의 "게이트 오프" 주기 (710) 또는 웨이크업 타이머는, 매번 애플리케이션들의 시간 경과에 따른 성공적인 업데이트를 보장하기 위해 모든 웨이크업 사이클 후에 변경될 수도 있다. 즉, 애플리케이션 개시된 업데이트들의 일부 (fraction) 만이 소정의 "게이트 오프 " 주기 (710) 동안 성공적일 것이다. 예를 들어, 도 8 에 도시된 30 분의 "게이트 오프" 주기로, 애플리케이션 A (701a) 는 업데이트에 실패하지만 애플리케이션 B (701b) 는 다음 웨이크업에서 성공한다. 이 결과는 28 분의 "게이트 오프" 주기에 대해 동일하다. 그러나, 26 분의 "게이트 오프" 주기 후에, 애플리케이션 A (701a) 는 성공적으로 업데이트하는 한편, 애플리케이션 B (701b) 는 업데이트에 실패한다. 모바일 디바이스는, 최적 주기가 결정될 때까지 "게이트 오프" 주기를 계속해서 변경할 수 있다. 도 8 은 감소하는 "게이트 오프" 인터벌들을 도시하지만, 증가하는 인터벌들이 또한 가능하다는 것이 자명하다. 많은 기간이 경과함에 따라 모든 애플리케이션들이 데이터를 송신할 수 있는 그러한 방식으로 타이밍이 선택된다. 게이트-온/게이트-오프 주기의 선택은 상이한 애플리케이션들에 의해 등록된 타이밍 주기성에 기초하여 도출될 수도 있다.
도 9 는 HLOS (905) 가 등록된 애플리케이션들을 인보크하고 웨이크업 타이머의 만료 시에 그들을 네트워크에 접속하는 것을 허용하는 본 발명의 일 실시형태를 예시한다. 예시적인 애플리케이션들 A 및 B (901a 및 901b, 각각) 는 HLOS (905) 에 콜백 함수들 (912a 및 912b) 을 등록한다. 어느 시점에서, HLOS (905) 는 웨이크업 타이머가 만료 (910) 되었다고 결정하고, 포어그라운드 모드로 진입한다. 포어그라운드 모드로 진입 시에, HLOS (905) 는 등록된 콜백 함수들 (913a 및 913b) 각각에 의해 애플리케이션들 A 및 B (901a 및 901b) 를 인보크한다. 그 후, 애플리케이션들은 업데이트 동작들, 예를 들어 Connect() 함수들 (902a 및 902b) 을 HLOS (905) 로 전송하는 것을 수행하고, HLOS 는 SYN 요청들 (903a 및 903b) 을 네트워크 (104) 로 전송한다.
도 10 은 등록된 애플리케이션이 HLOS-제공된 업데이트 레이트에 따라 업데이트 타이머를 유지하고 업데이트하는 본 발명의 일 실시형태에 따른 방법 (1000) 을 예시한다. 1005 에서, 애플리케이션은 HLOS 를 등록하고 원하는 업데이트 빈도수를 요청한다. 1010 에서, HLOS 는 그 업데이트 인스턴트들 (예를 들어, 업데이트 시간 및 빈도수) 을 애플리케이션에 제공한다. 모든 애플리케이션들에는 그 원하는 업데이트 빈도수에 대해 조정된 동일한 업데이트 인스턴트들이 제공된다. 즉, 소정의 애플리케이션들이 자주 업데이트할 필요가 없다면 동일한 업데이트 시간 및 빈도수가 모든 애플리케이션들에 주어진다. 예를 들어, 소정 애플리케이션은 12 시간마다 업데이트하도록 요청할 수도 있는 한편, HLOS 는 모든 애플리케이션들이 2 시간마다 업데이트해야 한다는 것을 결정한다. 그 상황에서, 소정의 애플리케이션에는 12 시간 마다의 업데이트 인스턴트가 주어진다. 한편, 소정의 애플리케이션이 시간마다 업데이트하기를 요청하고 HLOS 가 모든 애플리케이션들이 2 시간마다 업데이트한다고 결정하였으면, 그 애플리케이션에는 2 시간마다의 업데이트 인스턴트가 주어질 것이다. 또한, 모든 애플리케이션들은 2 시간 마다 동시에 업데이트할 것이다. 예를 들어, HLOS 는 각각의 애플리케이션이 12:00pm, 2:00pm, 4:00pm 등에 업데이트한다고 결정할 수도 있다. 각각의 등록된 애플리케이션은 그 자신의 업데이트 타이머를 유지하고, 지정된 업데이트 인스턴트들에서 각각의 애플리케이션은 업데이트 요청들을 네트워크로 전송한다 (1015).
도 11 은 애플리케이션이 HLOS (1105) 에 등록하고 이 애플리케이션에 특정한 업데이트 레이트가 주어지는 본 발명의 일 예의 실시형태를 예시한다. 구체적으로, 애플리케이션들 A 및 B (1101a 및 1101b, 각각) 는 등록 요청들 (1112a 및 1112b) 을 HLOS (1105) 로 전송한다. 응답하여, HLOS (1105) 는 애플리케이션들 A 및 B 로 그 각각의 업데이트 인스턴트들 (1113a 및 1113b) 을 전송한다. 도 10 에 대하여 전술된 바와 같이, 애플리케이션들 A 및 B 에 대한 업데이트 인스턴트들은 동일할 수도 있다. 애플리케이션들 A 및 B 는 그 후, 그 자신의 웨이크업 타이머들을 제공된 업데이트 인스턴트들로 설정한다. 1110 에서 웨이크업 타이머가 만료되는 경우, 애플리케이션들 A 및 B 는 업데이트 요청들 (예를 들어, Connect() 함수들 (1102a 및 1102b)) 을 HLOS (1105) 로 전송한다. HLOS (1105) 는 업데이트 요청들을 수신하고, 이들을 (예를 들어, SYN 요청들 (1103a 및 1103b) 로서) 네트워크로 송신한다.
도 12 내지 도 15 는 본 발명의 각종 실시형태들을 테스트한 결과를 나타낸다. 본 발명의 실시형태들은 상용 EV-DO 네트워크를 액세스하는 스마트폰에 대해 테스트되었다. 테스트된 애플리케이션들은 5분 마다의 바람직한 리프레시 레이트를 갖는 SMS 블로깅 서비스 애플리케이션, 재정 애플리케이션, 및 뉴스 제공 애플리케이션, 1 시간 마다의 바람직한 리프레시 레이트를 갖는 소셜 미디어 애플리케이션 및 날씨 애플리케이션, 및 가변 리프레시 레이트들을 갖는 VoIP (voice-over-IP) 텍스트 메시징 애플리케이션 및 인스턴트 메시징 애플리케이션이었다. 테스트 지속기간은 1 시간이었다. 네트워크 휴면 타이머는 4 초였다. 추적된 메트릭들은 접속들의 총 수, 총 접속된 시간, 및 평균 접속 지속기간이었다.
아래의 표 1 은 베이스라인을 설정하기 위해 본 발명의 일 실시형태를 사용하지 않고 실행된 4 개의 테스트 케이스들을 나타낸다. 테스트 케이스 1 은 SMS 블로깅 서비스 애플리케이션, 소셜 미디어 애플리케이션, 및 VoIP 텍스트 메시징 애플리케이션을 실행하였다. 테스트 케이스 2 는 테스트 케이스 1 애플리케이션들 플러스 재정 애플리케이션 및 날씨 애플리케이션을 실행하였다. 테스트 케이스 3 은 테스트 케이스 2 애플리케이션들 플러스 뉴스 제공 애플리케이션을 실행하였다. 테스트 케이스 4 는 테스트 케이스 2 애플리케이션들 플러스 인스턴트 메시징 애플리케이션을 실행하였다.
테스트 케이스 총 접속 시간 (sec) 접속들의 수 평균 접속 시간 (sec)
1 279.2 35 7.9
2 338.8 43 7.8
3 402.8 55 7.3
4 422.8 61 6.9
전술된 바와 같이, 본 발명의 실시형태들은 백그라운드 애플리케이션들에 대한 접속들을 시간-정렬한다. 본 발명의 실시형태들을 테스트하기 위해, 관련 팩터들은 애플리케이션들의 수, 모바일 디바이스가 활성적으로 사용되었던 시간의 백분율, 활성 디바이스 사용 (즉, 포어그라운드 모드) 의 상대적 전력 소모 대 백그라운드 (즉, 백그라운드 모드) 에 있는 경우 애플리케이션들의 동일한 세트로의 업데이트들, 및 백그라운드 모드에서의 애플리케이션들에 대한 업데이트들의 시간-정렬이었다.
도 12 는 활성 디바이스 사용이 존재하지 않는 경우 디바이스 전력 소모에서의 백분율 감축을 예시한다. 도 13 은 디바이스가 시간마다 5 분 동안 활성적으로 사용된 경우 애플리케이션들 결합의 추정된 전력 감축을 예시한다.
본 발명의 실시형태들의 다른 테스트들은 포어그라운드 대 백그라운드 전력 소모율을 결정하였다. 확인될 가정은, 포어그라운드 모드 동안 전력 소모는 사용된 애플리케이션의 강한 기능이 아니었다는 것이다. 백그라운드 모드에서 SMS 블로깅 서비스 애플리케이션, 소셜 미디어 애플리케이션, 및 재정 애플리케이션을 구동 시에, 인출된 평균 전류는 데이터 활동 동안 320mA 였고 데이터 활동이 존재하지 않는 경우 대략 0mA 였다. 포어그라운드 모드 동안 웹 브라우저 애플리케이션을 실행 시에, 인출된 평균 전류는 데이터 활동 동안 780mA 였고, 데이터 활동이 존재하지 않는 경우 대략 200mA 였다. 따라서, 포어그라운드 모드 대 백그라운드 모드 전력 소모 비율은 대략 2.5 이다.
도 14 는 모바일 디바이스가 시간 당 5 분 동안 포어그라운드 모드에 있고 포어그라운드-대-백그라운드 전력 비율이 2.5 라는 가정 하에, 백그라운드 모드에서 시간 정렬 애플리케이션 업데이트들로부터 추정된 전력 감축을 예시한다. 도 15 는 다시 포어그라운드-대-백그라운드 전력 비율이 2.5 라는 가정 하에, 100% 정렬에서 결합 애플리케이션들의 추정된 전력 감축을 예시한다.
정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 사용하여 표현될 수도 있음을 당업자들은 이해할 것이다. 예를 들어, 상기 설명을 통해 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학 필드들 또는 입자들, 이들의 임의의 조합에 의해 표현될 수도 있다.
또한, 본원에 개시된 실시형태들과 연관되어 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자 모두의 조합으로서 구현될 수도 있음을 당업자들은 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 교환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들을 그들의 기능적 관점에서 일반적으로 전술되었다. 그러한 기능이 하드웨어 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 따라 달라진다. 당업자는, 설명된 기능성을 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현할 수도 있지만, 이러한 구현 결정은 본 발명의 범위를 벗어나게 하는 것으로 해석되어서는 안된다.
본원에 개시된 실시형태들과 연관되어 설명된 방법들, 시퀀스들, 및/또는 알고리즘들은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 둘의 조합에서 직접적으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체 내에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되어, 프로세가 저장 매체로부터 정보를 판독하거나 저장 매체에 정보를 기입할 수 있다. 대안으로, 저장 매체는 프로세서에 통합될 수도 있다.
따라서, 본 발명의 일 실시형태는 백그라운드 애플리케이션들에 대한 배터리 소모 및 시그널링 로드 오버헤드를 최적화하는 방법을 구현하는 컴퓨터 판독가능 매체를 포함할 수 있다. 따라서, 본 발명은 예시된 예들로 제한되지 않고, 본원에 설명된 기능성을 수행하는 임의의 수단이 본 발명의 실시형태들에 포함된다.
이러한 개시물이 본 발명의 예시적인 실시형태들을 설명하지만, 첨부된 청구항들에 의해 정의된 발명의 범위로부터 벗어나지 않으면서 다양한 변화들 및 변경들이 본원에서 이루어질 수 있음이 유의되어야 한다. 본원에 설명된 본 발명의 실시형태들에 따른 방법 청구항들의 기능들, 단계들 및/또는 액션들은 임의의 특정 순서로 수행될 필요가 없다. 또한, 본 발명의 엘리먼트들은 단수로 설명되거나 청구될 수도 있으나, 단수에 대한 제한이 명백하게 언급되지 않는 한 복수가 고려된다.

Claims (29)

  1. 모바일 디바이스 상에서 실행을 위해 구성된 애플리케이션들을 관리하는 방법으로서,
    상기 모바일 디바이스 상에서 실행하는 하나 이상의 애플리케이션들로부터 하나 이상의 네트워크 액세스 요청들을 수신하는 단계;
    상기 모바일 디바이스가 백그라운드 모드에서 동작하고 있다는 것을 결정하는 단계;
    상기 결정에 기초하여 상기 하나 이상의 네트워크 액세스 요청들의 네트워크로의 송신을 억제하는 단계로서, 상기 억제하는 단계는 상기 하나 이상의 네트워크 액세스 요청들을 드롭하는 단계, 상기 하나 이상의 애플리케이션들을 등록하고 상기 모바일 디바이스가 포어그라운드 모드로 진입하는 경우 상기 하나 이상의 애플리케이션들을 인보크하는 단계, 또는 상기 하나 이상의 네트워크 액세스 요청들에 기초하여 상기 하나 이상의 애플리케이션들 각각에 업데이트 시간 및 빈도수를 제공하는 단계를 포함하는, 상기 억제하는 단계; 및
    상기 백그라운드 모드의 전환 시에 상기 하나 이상의 네트워크 액세스 요청들의 서브세트를 송신하는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  2. 제 1 항에 있어서,
    상기 결정하는 단계는,
    상기 모바일 디바이스가 상기 백그라운드 모드로 진입하는 경우 타이머를 시작하는 단계;
    상기 타이머가 여전히 작동하고 있는지 여부를 결정하는 단계; 및
    상기 타이머가 여전히 작동하고 있다고 결정하는 것에 기초하여, 상기 모바일 디바이스가 상기 백그라운드 모드에 있다는 것을 결정하는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  3. 제 2 항에 있어서,
    상기 타이머는 상기 모바일 디바이스가 상기 백그라운드 모드에 있을 기간을 정의하는, 애플리케이션들을 관리하는 방법.
  4. 제 2 항에 있어서,
    상기 모바일 디바이스는 상기 타이머가 만료하는 경우 포어그라운드 모드로 진입하는, 애플리케이션들을 관리하는 방법.
  5. 제 1 항에 있어서,
    상기 결정하는 단계는,
    상기 모바일 디바이스가 상기 백그라운드 모드에서 동작하고 있는지 여부를 나타내는 게이트 온/오프 주기를 설정하는 단계; 및
    상기 게이트가 "오프" 로 설정되면, 상기 모바일 디바이스가 상기 백그라운드 모드에서 동작하고 있다는 것을 결정하는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  6. 제 5 항에 있어서,
    게이트 오프 주기는 상기 모바일 디바이스가 상기 백그라운드 모드에 있을 기간을 정의하는, 애플리케이션들을 관리하는 방법.
  7. 제 1 항에 있어서,
    상기 모바일 디바이스의 모뎀이 접속 모드에 있고;
    상기 모바일 디바이스의 디스플레이가 온이고;
    제 1 미리정의된 기간 내에 키-프레스가 존재하고;
    제 2 미리정의된 기간 내에 GPS-기반 로케이션 서비스가 활성적으로 업데이트되고;
    적어도 하나의 단문 메시지 서비스 (short message service; SMS) 메시지가 미리정의된 기간 내에 수신되었고;
    상기 모바일 디바이스의 스피커 및/또는 마이크로폰이 온이었고, 상기 모뎀이 제 3 미리정의된 기간 내에 접속 모드에 있었으며;
    상기 모바일 디바이스의 카메라가 온
    인 컨디션들 중 적어도 하나가 충족되는 경우, 상기 모바일 디바이스는 상기 백그라운드 모드에서 동작하고 있지 않는, 애플리케이션들을 관리하는 방법.
  8. 제 1 항에 있어서,
    상기 억제하는 단계는,
    상기 모바일 디바이스가 포어그라운드 모드로 진입할 때까지 상기 하나 이상의 네트워크 액세스 요청들을 홀딩하는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  9. 제 8 항에 있어서,
    상기 홀딩하는 단계는,
    상기 하나 이상의 애플리케이션들과 연관된 하나 이상의 실행 스레드들을 동결시키는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  10. 제 8 항에 있어서,
    상기 하나 이상의 네트워크 액세스 요청들은 하나 이상의 소켓들을 개방하기 위한 하나 이상의 요청들을 포함하는, 애플리케이션들을 관리하는 방법.
  11. 제 1 항에 있어서,
    상기 억제하는 단계는,
    상기 하나 이상의 네트워크 액세스 요청들을 드롭하는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  12. 제 11 항에 있어서,
    상기 하나 이상의 네트워크 액세스 요청들은 하나 이상의 소켓 접속들을 포함하는, 애플리케이션들을 관리하는 방법.
  13. 제 1 항에 있어서,
    상기 억제하는 단계는,
    상기 하나 이상의 애플리케이션들을 등록하는 단계; 및
    상기 모바일 디바이스가 포어그라운드 모드로 진입하는 경우 상기 하나 이상의 애플리케이션들을 인보크하는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  14. 제 13 항에 있어서,
    상기 하나 이상의 네트워크 액세스 요청들은 상기 하나 이상의 애플리케이션들로부터의 하나 이상의 콜백 함수들을 포함하는, 애플리케이션들을 관리하는 방법.
  15. 제 1 항에 있어서,
    상기 억제하는 단계는,
    상기 하나 이상의 네트워크 액세스 요청들에 기초하여 상기 하나 이상의 애플리케이션들 각각에 업데이트 시간 및 빈도수를 제공하는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  16. 제 15 항에 있어서,
    상기 하나 이상의 네트워크 액세스 요청들은 상기 하나 이상의 애플리케이션들로부터의 하나 이상의 등록 요청들을 포함하는, 애플리케이션들을 관리하는 방법.
  17. 제 16 항에 있어서,
    상기 하나 이상의 등록 요청들은 상기 하나 이상의 애플리케이션들의 바람직한 업데이트 빈도수를 포함하는, 애플리케이션들을 관리하는 방법.
  18. 제 1 항에 있어서,
    상기 하나 이상의 네트워크 액세스 요청들은 하나 이상의 동기화 요청들을 포함하는, 애플리케이션들을 관리하는 방법.
  19. 제 1 항에 있어서,
    상기 모바일 디바이스를 동작하는 포어그라운드 모드로 진입하는 단계를 더 포함하는, 애플리케이션들을 관리하는 방법.
  20. 제 19 항에 있어서,
    상기 진입하는 단계는,
    백그라운드 모드 타이머가 만료되었다는 것을 결정하는 단계; 및
    상기 백그라운드 모드 타이머 만료에 응답하여 상기 포어그라운드 모드로 진입하는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  21. 제 19 항에 있어서,
    상기 진입하는 단계는,
    상기 모바일 디바이스가 사용자 입력을 수신했다는 것을 결정하는 단계; 및
    상기 사용자 입력에 응답하여 상기 포어그라운드 모드로 진입하는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  22. 제 19 항에 있어서,
    상기 진입하는 단계는,
    상기 모바일 디바이스가 네트워크 개시된 데이터를 수신했다는 것을 결정하는 단계; 및
    상기 네트워크 개시된 데이터를 수신하는 것에 응답하여 상기 포어그라운드 모드로 진입하는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  23. 제 1 항에 있어서,
    상기 송신하는 단계는,
    상기 하나 이상의 애플리케이션들의 상기 서브세트가 하나 이상의 소켓 접속들을 행하도록 허용하는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  24. 제 1 항에 있어서,
    상기 송신하는 단계는,
    상기 하나 이상의 애플리케이션들과 연관된 하나 이상의 실행 스레드들을 동결해제시키는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  25. 제 1 항에 있어서,
    상기 송신하는 단계는,
    상기 하나 이상의 애플리케이션들을 하나 이상의 콜백 함수들을 통해 인보크하는 단계를 포함하는, 애플리케이션들을 관리하는 방법.
  26. 제 1 항에 있어서,
    제 1 미리정의된 시간 지속기간 동안 모뎀 데이터 활동을 갖지 않고;
    제 2 미리정의된 시간 지속기간 동안 사용자 상호작용을 갖지 않으며;
    상기 모바일 디바이스가 테더 (tethered) 모드에 있지 않는 경우, 상기 모바일 디바이스는 상기 백그라운드 모드로 진입하는, 애플리케이션들을 관리하는 방법.
  27. 모바일 디바이스 상에서 실행을 위해 구성된 애플리케이션들을 관리하기 위한 장치로서,
    상기 모바일 디바이스 상에서 실행하는 하나 이상의 애플리케이션들로부터 하나 이상의 네트워크 액세스 요청들을 수신하고, 상기 모바일 디바이스가 백그라운드 모드에서 동작하고 있다는 것을 결정하며, 상기 결정에 기초하여 상기 하나 이상의 네트워크 액세스 요청들의 네트워크로의 송신을 억제하도록 구성된 접속성 관리자로서, 송신을 억제하도록 구성된 상기 접속성 관리자는 상기 하나 이상의 네트워크 액세스 요청들을 드롭하거나, 상기 하나 이상의 애플리케이션들을 등록하고 상기 모바일 디바이스가 포어그라운드 모드로 진입하는 경우 상기 하나 이상의 애플리케이션들을 인보크하거나, 또는 상기 하나 이상의 네트워크 액세스 요청들에 기초하여 상기 하나 이상의 애플리케이션들 각각에 업데이트 시간 및 빈도수를 제공하도록 구성되는 것을 포함하는, 상기 접속성 관리자; 및
    상기 백그라운드 모드의 전환 시에 상기 하나 이상의 네트워크 액세스 요청들의 서브세트를 송신하도록 구성된 송신기를 포함하는, 애플리케이션들을 관리하기 위한 장치.
  28. 모바일 디바이스 상에서 실행을 위해 구성된 애플리케이션들을 관리하기 위한 장치로서,
    상기 모바일 디바이스 상에서 실행하는 하나 이상의 애플리케이션들로부터 하나 이상의 네트워크 액세스 요청들을 수신하기 위한 수단;
    상기 모바일 디바이스가 백그라운드 모드에서 동작하고 있다는 것을 결정하기 위한 수단;
    상기 결정에 기초하여 상기 하나 이상의 네트워크 액세스 요청들의 네트워크로의 송신을 억제하기 위한 수단으로서, 상기 억제하기 위한 수단은 상기 하나 이상의 네트워크 액세스 요청들을 드롭하는 수단, 상기 하나 이상의 애플리케이션들을 등록하고 상기 모바일 디바이스가 포어그라운드 모드로 진입하는 경우 상기 하나 이상의 애플리케이션들을 인보크하는 수단, 또는 상기 하나 이상의 네트워크 액세스 요청들에 기초하여 상기 하나 이상의 애플리케이션들 각각에 업데이트 시간 및 빈도수를 제공하는 수단을 포함하는, 상기 억제하기 위한 수단; 및
    상기 백그라운드 모드의 전환 시에 상기 하나 이상의 네트워크 액세스 요청들의 서브세트를 송신하기 위한 수단을 포함하는, 애플리케이션들을 관리하기 위한 장치.
  29. 모바일 디바이스 상에서 실행을 위해 구성된 애플리케이션들을 관리하기 위한 비일시적 컴퓨터 판독가능 매체로서,
    상기 모바일 디바이스 상에서 실행하는 하나 이상의 애플리케이션들로부터 하나 이상의 네트워크 액세스 요청들을 수신하기 위한 적어도 하나의 명령;
    상기 모바일 디바이스가 백그라운드 모드에서 동작하고 있다는 것을 결정하기 위한 적어도 하나의 명령;
    상기 결정에 기초하여 상기 하나 이상의 네트워크 액세스 요청들의 네트워크로의 송신을 억제하기 위한 적어도 하나의 명령으로서, 상기 억제하기 위한 적어도 하나의 명령은 상기 하나 이상의 네트워크 액세스 요청들을 드롭하기 위한 적어도 하나의 명령, 상기 하나 이상의 애플리케이션들을 등록하고 상기 모바일 디바이스가 포어그라운드 모드로 진입하는 경우 상기 하나 이상의 애플리케이션들을 인보크하기 위한 적어도 하나의 명령, 또는 상기 하나 이상의 네트워크 액세스 요청들에 기초하여 상기 하나 이상의 애플리케이션들 각각에 업데이트 시간 및 빈도수를 제공하기 위한 적어도 하나의 명령을 포함하는, 상기 억제하기 위한 적어도 하나의 명령; 및
    상기 백그라운드 모드의 전환 시에 상기 하나 이상의 네트워크 액세스 요청들의 서브세트를 송신하기 위한 적어도 하나의 명령을 포함하는, 비일시적 컴퓨터 판독가능 매체.
KR1020147027128A 2012-02-28 2013-02-27 백그라운드 애플리케이션들에 대한 시그널링 로드 오버헤드 및 배터리 소모의 최적화 KR101577925B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/407,479 2012-02-28
US13/407,479 US8897762B2 (en) 2012-02-28 2012-02-28 Optimizing signaling load overhead and battery consumption for background applications
PCT/US2013/028061 WO2013130637A1 (en) 2012-02-28 2013-02-27 Optimizing signaling load overhead and battery consumption for background applications

Publications (2)

Publication Number Publication Date
KR20140144197A KR20140144197A (ko) 2014-12-18
KR101577925B1 true KR101577925B1 (ko) 2015-12-15

Family

ID=47901350

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147027128A KR101577925B1 (ko) 2012-02-28 2013-02-27 백그라운드 애플리케이션들에 대한 시그널링 로드 오버헤드 및 배터리 소모의 최적화

Country Status (9)

Country Link
US (1) US8897762B2 (ko)
EP (1) EP2820896B1 (ko)
JP (1) JP5872715B2 (ko)
KR (1) KR101577925B1 (ko)
CN (1) CN104137630B (ko)
BR (1) BR112014021385B1 (ko)
ES (1) ES2633610T3 (ko)
HU (1) HUE033218T2 (ko)
WO (1) WO2013130637A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286115B2 (en) 2012-06-21 2016-03-15 Microsoft Technology Licensing, Llc Performant runtime pause with no CPU utilization
US9588568B2 (en) * 2012-11-16 2017-03-07 Samsung Electronics Co., Ltd. Monitoring and managing processor activity in power save mode of portable electronic device
EP2763372B1 (en) * 2013-02-01 2017-05-10 HTC Corporation Electronic apparatus, computer-readable medium and data synchronization method
US8825814B1 (en) 2013-05-23 2014-09-02 Vonage Network Llc Method and apparatus for minimizing application delay by pushing application notifications
US8892748B1 (en) 2013-06-30 2014-11-18 Vonage Network, Llc Systems and methods for enabling data communications to a telephony device
US9203906B2 (en) * 2013-06-30 2015-12-01 Vonage Network, Llc Systems and methods for enabling data communications to a telephony device
US9203593B2 (en) 2013-06-30 2015-12-01 Vonage Network, Llc Systems and methods for enabling data communications to a telephony device
US9420480B2 (en) * 2013-07-22 2016-08-16 Apple Inc. Fast scan algorithm for higher priority service search
US9974115B2 (en) 2013-12-30 2018-05-15 Google Technology Holdings LLC Method and device for policy-based routing
JP6399794B2 (ja) * 2014-04-25 2018-10-03 キヤノン株式会社 情報処理端末、制御方法及びプログラム
CN105373419A (zh) 2014-08-26 2016-03-02 阿里巴巴集团控股有限公司 一种后台应用的操作方法及装置
US20180152893A1 (en) * 2015-04-29 2018-05-31 Huawei Technologies Co., Ltd. Terminal control method and apparatus and terminal device
CA2982393C (en) * 2015-06-30 2022-07-19 Huawei Technologies Co., Ltd. Method for interaction between terminal and network device, and terminal
US10380342B2 (en) * 2016-07-29 2019-08-13 Qualcomm Incorporated Kernel-based detection of target application functionality using virtual address mapping
CN106604361B (zh) * 2016-12-07 2020-07-21 Oppo广东移动通信有限公司 一种WiFi扫描方法及移动终端
CN106681722A (zh) * 2016-12-27 2017-05-17 努比亚技术有限公司 一种进程处理方法及电子设备
CN106681768A (zh) * 2016-12-29 2017-05-17 努比亚技术有限公司 一种进程控制方法及电子设备
US11409567B2 (en) 2017-10-13 2022-08-09 Huawei Technologies Co., Ltd. Application management method and terminal
US10904828B2 (en) * 2018-05-09 2021-01-26 Position Location and Repeaters PRB Aligning GNSS location determination with wireless wide area network paging slots
US11422616B2 (en) * 2020-03-26 2022-08-23 Intel Corporation System, apparatus and method for dynamically adjusting platform power and performance based on task characteristics
US11683760B2 (en) * 2021-05-10 2023-06-20 Qualcomm Incorporated UE assistance information (UAI) of battery power saving

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008131312A (ja) * 2006-11-20 2008-06-05 Matsushita Electric Ind Co Ltd 無線端末及びその制御方法
JP2010506270A (ja) * 2006-09-29 2010-02-25 クゥアルコム・インコーポレイテッド 無線機器におけるリソース管理のための方法及び装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7380218B2 (en) * 2003-03-27 2008-05-27 International Business Machines Corporation Method and apparatus for managing windows
US20050026654A1 (en) * 2003-07-30 2005-02-03 Motorola, Inc. Dynamic application resource management
US7577180B2 (en) * 2003-12-18 2009-08-18 Vtech Telecommunications Limited Method and system for maintaining synchronization in low-power mode over a frequency hopping radio link
EP1993273A4 (en) 2006-03-03 2011-12-21 Nec Corp MOBILE TELEPHONE AND APPLICATION PROGRAM
US8015249B2 (en) * 2006-10-10 2011-09-06 Microsoft Corporation Mitigating data usage in messaging applications
EP2051479A1 (en) 2007-10-18 2009-04-22 Nokia Siemens Networks Oy Control of push services
WO2009070415A1 (en) 2007-11-27 2009-06-04 Motorola, Inc. A wireless communication device and method op disabling an idle of one operational mode
JP2010118834A (ja) 2008-11-12 2010-05-27 Toshiba Corp 携帯端末、携帯端末の省電力制御方法および携帯端末の省電力制御プログラム
US20110153728A1 (en) 2009-12-17 2011-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Synchronization of sporadic web poll traffic
US8904206B2 (en) 2010-01-26 2014-12-02 Motorola Mobility Llc Mobile computing device and method for maintaining application continuity
WO2011093790A1 (en) * 2010-02-01 2011-08-04 Mashmobile Sweden Ab A method, device, and computer program of scheduling transferring of application messages in a mobile device
JP2011259281A (ja) * 2010-06-10 2011-12-22 Core Corp 携帯電話によるバックグラウンド転送方式及びプログラム
US9043433B2 (en) * 2010-07-26 2015-05-26 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US8843153B2 (en) * 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
CN103404193B (zh) * 2010-11-22 2018-06-05 七网络有限责任公司 调校数据传输以优化为通过无线网络的传输建立的连接
JP5662909B2 (ja) * 2011-08-30 2015-02-04 株式会社Nttドコモ ユーザ端末、及び通信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010506270A (ja) * 2006-09-29 2010-02-25 クゥアルコム・インコーポレイテッド 無線機器におけるリソース管理のための方法及び装置
JP2008131312A (ja) * 2006-11-20 2008-06-05 Matsushita Electric Ind Co Ltd 無線端末及びその制御方法

Also Published As

Publication number Publication date
CN104137630A (zh) 2014-11-05
BR112014021385A8 (pt) 2021-06-22
EP2820896A1 (en) 2015-01-07
BR112014021385B1 (pt) 2022-09-13
EP2820896B1 (en) 2017-04-19
ES2633610T3 (es) 2017-09-22
JP2015513259A (ja) 2015-04-30
US20130225145A1 (en) 2013-08-29
CN104137630B (zh) 2018-06-26
US8897762B2 (en) 2014-11-25
KR20140144197A (ko) 2014-12-18
BR112014021385A2 (pt) 2017-06-20
WO2013130637A1 (en) 2013-09-06
HUE033218T2 (hu) 2017-11-28
JP5872715B2 (ja) 2016-03-01

Similar Documents

Publication Publication Date Title
KR101577925B1 (ko) 백그라운드 애플리케이션들에 대한 시그널링 로드 오버헤드 및 배터리 소모의 최적화
US20210297996A1 (en) Method and Apparatus for User Equipment Directed Radio Resource Control in a UMTS Network
US9219758B2 (en) Renewing registrations for a plurality of client applications that are associated with the same host server via an implicit piggybacking scheme
EP2829092B1 (en) Devices and methods for modifying performance attributes based on device capabilities
TWI445370B (zh) 調節多重無線存取承載通訊的方法及其系統
US9420500B2 (en) Setting up network parameters after an idle handoff of an access terminal in a wireless communications system
JP2007312393A (ja) Umtsネットワークで解放理由指示を信号伝達する方法およびシステム
JP2009527202A (ja) 無線通信システム内でのページングサイクルの低減
US9955422B2 (en) User equipment power optimization
KR20150106906A (ko) 애플리케이션 구동 빠른 휴면
EP3499924A1 (en) User equipment, base station and related method
US20130100820A1 (en) Maintaining a user equipment in a shared channel state in a wireless communications system
US10271274B2 (en) Devices and methods for facilitating extended time periods for maintaining PPP sessions
CN111683414A (zh) 一种连接配置的实现方法、用户设备和存储介质
US9451618B2 (en) Devices and methods for facilitating H-RNTI updates in network-initiated cell redirection

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 5