KR101839646B1 - 접속형 대기 상태를 프로세스의 일시 정지 및/또는 조절 기법 - Google Patents

접속형 대기 상태를 프로세스의 일시 정지 및/또는 조절 기법 Download PDF

Info

Publication number
KR101839646B1
KR101839646B1 KR1020147003432A KR20147003432A KR101839646B1 KR 101839646 B1 KR101839646 B1 KR 101839646B1 KR 1020147003432 A KR1020147003432 A KR 1020147003432A KR 20147003432 A KR20147003432 A KR 20147003432A KR 101839646 B1 KR101839646 B1 KR 101839646B1
Authority
KR
South Korea
Prior art keywords
state
standby state
pausable
connected standby
pauseable
Prior art date
Application number
KR1020147003432A
Other languages
English (en)
Other versions
KR20140061392A (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 KR20140061392A publication Critical patent/KR20140061392A/ko
Application granted granted Critical
Publication of KR101839646B1 publication Critical patent/KR101839646B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • 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/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)
  • Supply And Distribution Of Alternating Current (AREA)
  • Stored Programmes (AREA)

Abstract

전력 관리 등급을 프로세스에 할당하고, 프로세스에 할당된 전력 관리 등급에 기초하여 컴퓨팅 환경을 접속형 대기 상태로 전환하며, 컴퓨팅 환경을 접속형 대기 상태에서 실행 상태로 전환하기 위한 하나 이상의 기법 및/또는 시스템이 제공된다. 즉, 면제, 조절, 및/또는 일시 정지와 같은 전력 관리 등급이 프로세스가 원하는 기능을 제공하는지 및/또는 프로세스가 컴퓨팅 환경의 기본 동작에 대해 의존하는지와 같은 다양한 요인들에 기초하여 프로세스에 할당될 수 있다. 이런 방식으로, 컴퓨팅 환경은 다른 기능을 일시 정지 및/또는 조절함으로써 전력 소비를 감소시키면서 원하는 기능을 계속 실행할 수 있는 저 전력 접속형 대기 상태로 전환될 수 있다. 일부 기능이 여전히 실행될 수 있기 때문에, 컴퓨팅 환경은 사용자에게 최신 정보를 신속히 제공하기 위해 응답 방식으로 실행 상태로 전환될 수 있다.

Description

접속형 대기 상태를 프로세스의 일시 정지 및/또는 조절 기법{SUSPENSION AND/OR THROTTLING OF PROCESSES FOR CONNECTED STANDBY}
데스크탑, 랩탑, 스마트폰 및 태블릿과 같은 많은 컴퓨팅 장치는 전력 소비 절감 및/또는 배터리 수명 연장에 입각하여 개발된다. 예를 들어, 소정의 기간 동안 랩탑이 휴면 상태(idle)로 있으면 랩탑 스크린이 어두워질 수 있다. 전력 절감(power conservation)은 컴퓨팅 장치를 (재)충전 사이의 동작 및/또는 시간을 연장시킬 수 있으며, 이는 사용자에게 바람직하고 편리할 수 있다. 불행히도, 많은 애플리케이션이 전력 절감 기능을 포함하지 않을 수 있으며, 컴퓨팅 장치가 휴면 상태일 수 있을 때 하드웨어가 고 전력 상태를 벗어나게 하지 않음으로써 그리고/또는 자원을 이용함으로써(예컨대, 휴면 애플리케이션은 불필요하게 프로세서 사이클을 소비할 수도 있다) 전력 절감을 상당히 감소시킬 수도 있고/또는 빈약한 파워 "하이진(hygiene)"을 가질 수도 있다.
많은 전력 절감 기법들은 컴퓨팅 장치에 대한 사용자 경험을 저하시킬 수 있는데, 컴퓨팅 장치를 하이버네이션(hibernation)/슬립(sleep) 상태와 같은 저 전력 상태로부터 실행 상태로 전환하는 것은 사용자 입력을 요구하며, 비교적 긴 시간이 걸릴 수 있으며/또는 리프레시될 때까지 스테일 데이터(stale data)를 제공할 수 있다. 예를 들어, 사용자는 집에 있는 동안 주기적으로 랩탑과 상호작용할 수 있다. 랩탑의 배터리 수명을 절약하기 위해, 사용자가 소정의 기간, 예컨대 10분 동안 랩탑과 상호작용하지 않으면 랩탑이 일시 정지 상태(suspended state)로 될 수 있는 하이버네이션/슬립 정책이 존재할 수 있다. 불행히도, 컴퓨팅 시스템의 실질적인 부분이 일시 정지되었을 수 있기 때문에(예컨대, 프로세서가 실행을 중지한다거나, 운영 체제 커널이 일시 정지되거나 할 수 있다), 종래의 하이버네이션/슬립 정책은 컴퓨팅 시스템을 사용자에 의해 이용가능한 최근의 실행 상태로 다시 깨우는데 상당한 시간(예컨대, 수 분)이 걸릴 수 있다. 컴퓨팅 시스템이 완전히 다시 깨어나기를 기다리는 것은 사용자 경험을 덜 만족시킬 수 있다.
본 요약부는 이하 발명의 상세한 설명에서 보다 자세히 기술될 개념들 중 선택된 것들을 단순화된 형식으로 소개하기 위해 제공되는 것이다. 본 요약부는 청구항에 기재된 청구대상의 주된 사항 또는 핵심 사항을 밝히기 위한 것이 아니며, 청구항에 기재된 청구대상의 범위를 한정하기 위한 것은 더더욱 아니다.
무엇보다도, 전력 관리 등급을 컴퓨팅 환경과 연관된 하나 이상의 프로세스에 할당하고, 컴퓨팅 환경을 프로세스에 할당된 전력 관리 등급에 기초하여 접속형 대기 상태(connected standby state)로 전환하며, 접속형 대기 상태로부터 실행 상태로 컴퓨팅 환경을 전환하는 하나 이상의 시스템 및/또는 기법들이 본 명세서에 개시된다.
일실시예에서, 컴퓨팅 환경의 실행 상태는 컴퓨팅 환경의 일반 동작 상태에 대응할 수 있음을 알 수 있을 것이다. 실행 상태에 있는 동안, 프로세스들이 생성되어 실행될 수 있고, 컴퓨팅 환경이 사용자 입력에 응답할 수 있다(예컨대, 컴퓨팅 환경이 실행 상태에 있을 때 사용자가 워드 프로세서 및/또는 다른 애플리케이션과 상호작용할 수 있다). 일실시예에서, 접속형 대기 상태는 컴퓨팅 환경의 저 전력 소비 상태에 대응할 수 있는데, 이는 그럼에도 불구하고 항상 온 상태(always-on)/항상 접속된 상태(always-connected) 경험을 제공할 수 있다. 접속형 대기 상태에 있는 동안, 특정 프로세스들은 실행이 허용될 수 있는 반면에 다른 프로세스들은 비실행 일시 정지 상태(non-executing suspended state)로 일시 정지될 수 있고/또는 전력 소비 절감을 위해 실행 상태와 비실행 일시 정지 상태 사이에서 조절(throttle)될 수 있다. 예를 들어, 접속형 대기 상태에 있는 동안, 컴퓨팅 환경은 결정적(critical) 시스템 프로세스들(예컨대, 네트워킹 기능 프로세스, 특정 코어 커널 프로세스, 하드웨어 기능 프로세스, 메시징 기능 프로세스 등), 전력 새비 애플리케이션(power savvy application)(예컨대, 관리된 수명을 갖는 애플리케이션), 및/또는 원하는 접속을 제공할 수 있는 기타 프로세스들(예컨대 간단한 이메일 기능 프로세스)의 실행 및/또는 조절 실행을 허용할 수 있으며, 따라서, 컴퓨팅 장치가 접속형 대기 상태에서 실행 상태로 전환할 때 응답하는 최신의 경험을 사용자에게 제공할 수 있다(예를 들어, 컴퓨팅 환경이 신속하게(예컨대, 수초 내에) 깨어날 수 있고, 사용자에게 최신 이메일, 정보 및/또는 접속을 제공할 수 있다). 그러나, 전력 절감을 위해, 비결정적(non-critical) 시스템 서비스(예컨대, 프린트 스풀러, 시스템 업데이트 체커 등) 및/또는 사용자 애플리케이션(예컨대, 워드 프로세서)이 조절 및/또는 일시 정지될 수 있다.
전력 관리 등급을 프로세스에 할당하는 일례에서, 프로세스가 식별될 수 있다(예컨대, 새롭게 생성된 프로세스). 프로세스는, 다양한 요인들(예컨대, 기본 기능에 대한 프로세스가 얼마나 결정적(critical)인지, 시스템 서비스와 연관된 프로세스가 얼마나 결정적인지, 프로세스가 장애(failure) 없이 조절될 수 있는지, 프로세스가 원하는 기능을 잃지 않고/또는 장애를 일으키지 않고 일시 정지될 수 있는지)에 기초하여 면제 등급(exempt classification), 일시 정지(suspend) 등급, 또는 조절(throttling) 등급과 같은 전력 관리 등급을 할당받을 수 있다. 프로세스의 수명이 프로세스 및/또는 수명 관리 컴포넌트에 의해 관리되면, 그 프로세스는 이미 전력 절감 기능과 연관될 수 있을 것이므로 면제 등급을 할당받을 수 있다(예컨대, 그 프로세스에 대한 전력 관리 등급을 할당하고 실시하는 것이 중복적일 수도 있고/또는 프로세스의 장애를 일으킬 수도 있다). 프로세스가 컴퓨팅 시스템 장애 없이 일시 정지될 수 있고(예컨대, 사진 보기 프로세스의 일시 정지가 컴퓨팅 환경의 장애 및/또는 사진 보기 애플리케이션의 장애를 일으키지 않을 수 있다) 이 프로세스와 연관된 제한된 런타임 기능이 요구되지 않으면(예컨대, 컴퓨팅 환경이 접속형 대기 상태에 있는 동안 사진 보기 기능이 요구되지 않을 수 있다), 일시 정지 등급이 그 프로세스에 할당될 수도 있다.
프로세스가 컴퓨팅 시스템 장애 없이 조절될 수 있고 그 프로세스와 연관된 제한된 런타임 기능이 요구되면(예컨대, 컴퓨팅 환경이 접속형 대기 상태에 있는 동안 사용자가 메시지 통지를 수신하고자 할 수도 있다), 조절 등급이 그 프로세스에 할당될 수 있다. 프로세스가 컴퓨팅 시스템 장애 없이 조절될 수 없고 그 프로세스와 연관된 제한된 런타임 기능이 요구되면, 면제 등급이 그 프로세스에 할당될 수 있다. 이런 방식으로, 전력 관리 등급이 프로세스에 할당될 수 있다. 일실시예에서, 전력 관리 등급은 컴퓨팅 환경을 접속형 대기 상태로 전환할 때 이용될 수 있다. 예를 들어, 면제 프로세스는 실행하도록 허용될 수 있고, 일시 정지 가능한 프로세스는 일시 정지될 수 있고, 조절 가능한 프로세스는 조절될 수 있다.
프로세스에 할당된 전력 관리 등급에 기초하여 컴퓨팅 환경을 접속형 대기 상태로 전환하는 일례에서, 컴퓨팅 환경과 연관된 접속형 대기 상태로의 진입 요청(enter connected standby request)이 검출될 수 있다(예컨대, 사용자가 태블릿 장치의 대기 버튼을 호출할 수 있거나, 비활성 문턱 기간(threshold period of inactivity)이 경과되었을 수 있거나 할 수 있다). 컴퓨팅 환경이, 예컨대 실행 상태로부터 접속형 대기 상태로 전환될 수 있다. 예를 들어, 각각의 일시 정지 가능한 프로세스에 있어서, 일시 정지 가능한 프로세스가 비실행 일시 정지 상태로 될 수 있다(예를 들어, 일시 정지 가능한 프로세스는 실행에 대해 부적격일 수 있고 따라서 전력 소비 활동을 수행할 하드웨어 컴포넌트를 호출할 수 없을 수 있다). 각각의 조절가능한 프로세스에 있어서, 조절 스케줄이 조절가능한 프로세스에 할당되고/또는 적용될 수 있다(예컨대, 이메일 프로세스가 매 8분마다 5초 동안 새로운 메시지를 검사하기 위해 실행이 허용될 수 있으며, 그 외의 경우에는 이메일 프로세스가 비실행 일시 정지 상태로 되어 전력 소비를 줄일 수 있다). 각각의 면제 프로세스에 있어서, 면제 프로세스는 실행 상태에서 실행하도록 허용될 수 있다(예컨대, 네트워크 프로세스가 새로운 이메일의 수신과 같은 원하는 기능을 제공하도록 실행이 허용될 수 있다). 일 예에서, 일시 정지 가능한 프로세스는 조절 가능한 프로세스로부터의 기능에 의존할 수 있기 때문에 일시 정지 가능한 프로세스가 조절 가능한 프로세스 전에 일시 정지될 수 있고, 따라서 일시 정지 가능한 프로세스가 일시 정지되기 전에 조절 가능한 프로세스가 비실행 일시 정지 상태로 진입하면 일시 정지 가능한 프로세스는 실패할 수 있다(예컨대, 하부 네트워크 사진 업로드 프로세스가 이용가능하지 않으면 일시 정지 가능한 온라인 사진 애플리케이션이 실패할 수도 있다). 이런 방법으로, 컴퓨팅 환경은 원하는 기능(예컨대, 새로운 메시지의 통지)을 여전히 제공하면서 전력을 절감하기 위해 접속형 대기 상태로 전환될 수 있다.
접속형 대기 상태로부터 실행 상태로의 컴퓨팅 환경의 전환의 일 예에서, 컴퓨팅 환경과 연관된 접속형 대기 상태로부터의 이탈 요청(exit connected standby request)이 검출될 수 있다(예컨대, 사용자가 태블릿 화면 상에서의 손가락 터치 동작으로 태블릿 장치와 상호작용을 시도할 수 있다). 컴퓨팅 환경은 접속형 대기 상태로부터의 이탈 요청에 기초하여 접속형 대기 상태로부터 실행 상태로 전환될 수 있다. 예를 들어, 각각의 일시 정지된 프로세스에 있어서, 실행 기능이 일시 정지된 프로세스로 복귀될 수 있다(예를 들어, 온라인 사진 애플리케이션 프로세스가 예컨대 수 초 내에 응답하는 방식으로 이용가능할 수 있다). 각각의 조절된 프로세스에 있어서, 실행 기능이 조절된 프로세스로 복귀될 수 있다(예컨대, 조절 스케줄에 기초하여 비실행 일시 정지 상태에 있는 이메일이 응답 방식으로 실행 상태로 전환될 수 있다). 이런 방식으로, 컴퓨팅 환경은 재시작 기능 및/또는 최신 정보에 대해 사용자가 많은 시간을 대기하게 하지 않으면서 응답 방식으로 최신 실행 상태로 전환될 수 있다.
전술한 목적 및 관련 목적을 달성하기 위해, 이하의 설명 및 첨부 도면은 세시적인 특징들 및 구현예들을 설명한다. 이들은 하나 이상의 특징들에 이용될 수 있는 다양한 방식들 중 몇몇을 나타낸다. 본 개시 내용의 다른 특징들, 이점들 및 신규한 특징들은 첨부 도면을 참고하여 고려해 볼 때 하기 상세한 설명으로부터 명확해질 것이다.
도 1은 전력 관리 등급을 프로세스에 할당하는 예시적인 방법을 도시한 순서도.
도 2는 전력 관리 등급을 프로세스에 할당하기 위한 예시적인 시스템을 도시한 컴포넌트 블록도.
도 3은 프로세스에 할당된 전력 관리 등급에 기초하여 컴퓨팅 환경을 접속형 대기 상태로 전환하는 예시적인 방법을 도시한 순서도.
도 4는 프로세스에 할당된 전력 관리 등급에 기초하여 컴퓨팅 환경으로부터 접속된 대기 상태로 전환하는 예시적인 시스템을 도시한 컴포넌트 블록도.
도 5는 컴퓨팅 환경을 접속형 대기 상태로부터 실행 상태로 전환하는 예시적인 방법을 도시한 순서도.
도 6은 컴퓨팅 환경을 접속형 대기 상태로부터 실행 상태로 전환하는 예시적인 시스템을 도시한 컴포넌트 블록도.
도 7은 접속형 대기 상태로부터 실행 상태로 전환하는 태블릿 장치의 일례를 도시한 도면.
도 8은 본 명세서에 개시된 하나 이상의 실시예를 실시하도록 구성된 프로세서 실행가능한 명령어를 포함할 수 있는 예시적인 컴퓨터 판독가능 매체를 도시한 도면.
도 9는 본 명세서에 개시된 하나 이상의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경을 도시한 도면.
이제 도면을 참조하여 청구항에 기재된 청구대상을 설명하는데, 도면에서 유사한 참조번호는 일반적으로 본 명세서 전체에 걸쳐 유사한 요소들을 지칭하는데 사용된다. 이하의 설명에서는, 설명을 목적으로, 청구항에 기재된 청구대상을 철저히 이해할 수 있도록 다수의 특정한 세부사항들이 설명된다. 그러나, 청구항에 기재된 청구대상은 이들 특정한 세부사항 없이 실시될 수도 있음은 명확하다. 다른 예에서는, 청구항에 기재된 청구대상의 설명을 용이하게 하기 위해 구성 및 장치를 블록도로 설명한다.
많은 컴퓨팅 환경은 전력 소비를 줄이고/또는 배터리 수명을 절감하기 위해전력 절감 기법을 포함한다. 예를 들어, 운영 체제는 애플리케이션, 시스템 프로세스, 및/또는 프로세서 기능의 실행을 막을 수 있는 하이버네이션/슬립 정책을 제공할 수 있는데, 그렇지 않으면 이들은 컴퓨팅 자원을 호출하여 전력 소비 작업을 수행할 수도 있다. 유감스럽게도, 많은 전력 절감 기법들은 바람직한 기능을 수행하는 프로세스를 일시 정지시킬 수 있으며(예컨대, 하이버네이션 정책은 하이버네이션 상태 동안 어떤 프로세서가 실행되도록 선택적으로 허용하는 기능을 포함하지 않을 수 있다), 따라서 컴퓨팅 환경이 실행 상태로 깨어날 때 스테일 정보를 제공할 수 있다(예컨대, 메시지 기능 프로세스가 하이버네이션 상태 동안 일시 정지되었을 수도 있기 때문에 하이버네이션 상태에서 깨어나는 컴퓨팅 환경이 최신 메시지 정보를 제공하지 않을 수 있다). 또한, 하이버네이션/슬립 상태로부터 깨어나는 것은 컴퓨팅 환경이 충분히 응답하고/또는 최신 정보를 제공할 수 있기 전에 상당한 시간이 걸릴 수 있다. 따라서, 적절한 전력 절감을 제공하는 것과 사용자에게 응답성이 빠른 접속형 경험을 제공하는 것 사이의 균형이 바람직하다.
따라서, 전력 관리 등급을 컴퓨팅 환경과 연관된 프로세스에 할당하기 위한 하나 이상의 시스템 및/또는 기술, 프로세스에 할당된 전력 관리 등급에 기초하여 컴퓨팅 환경을 접속형 대기 상태로 전환하는 것, 및 컴퓨팅 환경을 접속형 대기 상태로부터 실행 상태로 전환하는 것이 본 명세서에 제시된다. 구체적으로, 프로세스들은 프로세스가 원하는 기능을 제공하는지 및/또는 결정적 시스템 기능을 제공하는지와 같은 다양한 요인에 기초하여 면제 등급(exemption classification), 일시 정지(suspend) 등급, 및/또는 조절(throttle) 등급을 갖도록 분류될 수 있다. 이런 방법으로, 컴퓨팅 환경은 항상 온(always-on)/항상 접속형(always-connected) 경험을 제공하는 저 전력 소비 상태와 같은 접속형 대기 상태로 전환될 수 있다. 구체적으로, 면제 프로세스는 실행하도록 허용될 수 있고, 일시 정지 프로세스는 실행이 일시 정지될 수 있으며, 조절 가능 프로세스는 조절 스케줄에 기초하여 실행 상태와 비실행 일시 정지 상태 사이에서 순환될 수 있다. 일시 정지 프로세스 및/또는 조절 프로세스는 전력 소비를 감소시킬 수 있는데, 이들 프로세스는 이들 프로세스가 자원들을 호출하여 전력 소비 작업을 수행하지 않도록 제한하는 비실행 일시 정지 상태로 될 수 있기 때문이다. 컴퓨팅 환경은 아주 적은 시간 동안 사용자에게 최신 경험을 제공하는 응답 방식으로(예컨대, 사용자가 수 초간 컴퓨팅 환경의 최신 데이터 상태와 상호작용할 수 있다) 접속형 대기 상태에서 실행 상태로 전환될 수 있다. 구체적으로, 일시 정지된 프로세스 및/또는 조절된 프로세스는 컴퓨팅 환경이 실행 상태로 전환되도록 실행 상태로 될 수 있다.
전력 관리 등급을 프로세스에 할당하는 일 실시예가 도 1의 예시적인 방법(100)으로 도시되어 있다. 102에서, 이 방법이 시작된다. 104에서, 전력 관리 등급이 할당되어야 하는 프로세스(예컨대, 운영 체제, 데스크탑 운영 체제, 이동 장치 운영 체제 등과 같은 컴퓨팅 환경 내의 프로세스)가 식별될 수 있다. 예를 들어, 새로 생성된 프로세스가 이 프로세스(예컨대, 계층적 작업 객체(hierarchal job object)와 같은 논리 컨테이너 내의 프로세스)로서 식별될 수 있다. 106에서, 전력 관리 등급이 이 프로세스에 할당될 수 있다. 전력 관리 등급을 할당하기 위해 다양한 요인들(예컨대, 시스템 운영에 대한 프로세스의 중요성(criticality), 프로세스에 의해 제공된 원하는 기능, 프로세스를 조절할 수 있는 능력 등)이 평가될 수 있다.
전력 관리 등급을 할당하는 일례에서, 프로세스의 논리 컨테이너가 부모 프로세스의 부모 논리 컨테이너와 연관되는 것으로 결정될 수 있다(예컨대, 맞춤법 검사기 프로세스의 논리 컨테이너가 부모 워드 프로세싱 프로세스의 부모 논리 컨테이너와 연관(예컨대, 그 하에서 내포)될 수 있다). 부모 프로세스에 할당된 부모 전력 관리 등급이 이 프로세스에 할당된 전력 관리 등급으로서 이 프로세스에 할당될 수 있다(예컨대, 부모 워드 프로세싱 프로세스에 할당된 일시 정지 등급이 또한 맞춤법 검사기 프로세스에 할당되어, 접속형 대기 상태 동안에 하나의 프로세스는 일시 정지되는 반면에 다른 프로세스(예컨대, 맞춤법 검사기)는 불필요하게 계속 실행되는 것과 달리 두 프로세스 모두가 함께 일시 정지될 수 있게 될 수 있다).
전력 관리 등급을 할당하는 것의 다른 예에서는, 프로세스의 수명이 프로세스 및/또는 수명 관리 컴포넌트에 의해 관리되면, 108에서 면제 등급이 프로세스에 할당될 수 있다. 예를 들어, 애플리케이션(예컨대, 비교적 새로 생성된 애프리케이션)이 광범위한 전력 소비 관리를 위해 제공하는 애플리케이션 하에서 개발될 수 있다. 따라서, 추가적인 전력 소비 관리가 애플리케이션의 실행과 중복될 수도 있고/또는 간섭할 수도 있기 때문에, 애플리케이션이 면제 등급을 할당받을 수 있다.
전력 관리 등급을 할당하는 것의 다른 예에서, 프로세스가 컴퓨팅 시스템 장애(예컨대, 프로세스와 연관된 컴퓨팅 환경 및/또는 애플리케이션의 장애) 없이 일시 정지될 수 있고 프로세스와 연관된 제한된 런타임 기능이 요구되지 않으면(예컨대, 컴퓨팅 환경이 저전력 접속형 대기 상태에 있는 경우에 사용자가 인쇄 기능을 원하지 않을 수 있다), 110에서 프로세스는 일시 정지 등급을 할당받을 수 있다. 예를 들어, 프로세스가 사용자 애플리케이션과 연관되면, 프로세스는 일시 정지 가능한 것으로 결정될 수 있고, 일시 정지 등급을 할당받을 수 있다(예컨대, 컴퓨팅 환경이 저 전력 접속형 대기 상태에 있는 동안 사용자 세션 내에서 초기화된 사진 공유 애플리케이션이 원하는 기능을 제공하지 않을 수도 있고(예컨대, 사용자가 자신의 태블릿이 접속형 대기 상태에 있을 때 사진을 보기/공유하기를 원하지 않는다)/또는 컴퓨팅 환경의 코어 시스템 기능에 영향을 주지 않을 수도 있다).
전력 관리 등급을 할당하는 것의 다른 예에서는, 프로세스가 컴퓨팅 시스템 장애 없이 조절될 수 있고 그 프로세스와 연관된 제한된 런타임 기능이 요구되면, 112에서 그 프로세스에 조절 등급이 할당될 수 있다. 예를 들어, 프로세스가 원하는 상태 기능을 제공하는 서비스(예컨대, 시스템 세션 내에서 초기화된 메시징 시스템 서비스)를 포함하면(예컨대, 메시지 시스템 서비스는 사용자가 최신 통신을 통지받을 수 있도록 새로운 메시지를 들을 수 있다), 이 프로세스는 조절 가능한 것으로 결정될 수 있고, 조절 등급을 할당받을 수 있다(예컨대, 안티바이러스 기능, 메시징 서비스 기능, 네트워크 서비스 기능, 및/또는 다양한 다른 요구된 기능과 연관된 프로세스가 조절 등급을 할당받을 수 있다).
전력 관리 등급을 할당하는 것의 다른 예에서, 프로세스가 컴퓨팅 시스템 장애 없이 일시 정지되거나 조절될 수 없다면, 114에서 면제 등급이 그 프로세스에 할당될 수 있다. 컴퓨팅 환경은 기본 운영 기능을 위한 다양한 프로세스에 의존할 수 있고, 따라서 그러한 프로세스의 일시 정지 및/또는 조절의 결과로 컴퓨팅 시스템 장애가 일어날 수 있다. 일 예에서, 특정 코어 커널 프로세스, 장치 드라이버, 및/또는 기본 운영 기능을 제공하는 기타 프로세스들이 면제 등급을 할당받을 수 있다. 다른 예에서는, 의존도 그래프가 참고될 수 있다. 의존도 그래프는 코어 커널 프로세스가 의존하는 기능을 제공하는 하나 이상의 지원 프로세스에 대한 코어 커널 프로세스로 구축되었을 수 있다(예컨대, 분산 소프트웨어 컴포넌트들 사이의 통신을 용이하게 하는 소프트웨어 컴포넌트 네트워크 통신 모듈이 그러한 소프트웨어 컴포넌트와 연관된 하나 이상의 코어 커널 프로세스에 의해 의존될 수 있다). 프로세스가 의존도 그래프 내에서 특정된 지원 프로세스를 포함하면, 그 프로세스는 일시 정지될 수 없는 것으로 결정될 수 있으며, 따라서 면제 등급을 할당받을 수 있다.
전력 관리 등급을 할당하는 것의 다른 예에서, 프로세스가 사용자 정의 정책과 연관된 기능을 제공하면, 사용자 정의 전력 관리 등급이 그 프로세스에 할당될 수 있다. 예를 들어, 사용자가 (예컨대, 컴퓨팅 환경이 저 전력 접속형 대기 상태 또는 실행 상태에 있는지에 관계없이) 컴퓨팅 환경이 인입 메시지에 대한 최신 상태 유지 요구를 지정할 수 있다. 따라서, 메시지 기능을 제공하는 프로세스(예컨대, 메시지 리스너(listener) 프로세스, 메시지 통지 프로세스 등)는 면제 등급과 같은 사용자 정의 전력 관리 등급을 할당받을 수 있다. 이런 방식으로, 다양한 프로세스들이 컴퓨팅 환경을 접속형 대기 상태로 전환하는데 사용될 수 있는 전력 관리 등급을 할당받을 수 있다. 116에서, 이 방법은 종료된다.
도 2는 전력 관리 등급을 프로세스에 할당하도록 구성된 시스템(200)의 일례를 도시한 것이다. 시스템(200)은 분류 컴포넌트(204)를 포함할 수 있다. 분류 컴포넌트(204)는 컴퓨팅 환경과 연관된 프로세스에 전력 관리 등급을 할당하도록 구성될 수 있다. 예를 들어, 컴퓨팅 환경은 네트워크 패킷 프로세서(208), 하드웨어 이벤트 프로세서(210), 프린트 스풀러(212), 안티바이러스(214), 워드 프로세서(216), 맞춤법 검사기(218)(예컨대, 맞춤법 검사기(218)는 워드 프로세서(216)의 자식 프로세스일 수 있다), 인스턴트 메신저(220), 및/또는 메시지 통지기(222)(예컨대, 메시지 통지기(222)는 인스턴트 메신저(220)의 자식 프로세스일 수 있다)를 포함하는 컴퓨팅 시스템 프로세스(202)와 연관될 수 있다.
일례에서, 분류 컴포넌트(204)는 프로세스가 부모 프로세스와 연관되는지 여부를 판정하도록 구성될 수 있다. 프로세스가 부모 프로세스와 연관되면, 분류 컴포넌트(204)는 부모 프로세스에 할당된 부모 전력 관리 등급을 그 프로세스에 할당된 전력 관리 등급으로서 할당할 수 있다. 예를 들어, 워드 프로세서(216)는 맞춤법 검사기(218)의 부모 프로세스일 수 있다. 워드 프로세서(216)는 일시 정지 등급을 할당받았을 수 있다(예컨대, 워드 프로세서(216)는 저 전력 접속형 대기 상태 동안 원하는 기능을 제공하지 않고/또는 결정적 시스템 기능을 제공하지 않는 워드 프로세서 애플리케이션과 연관될 수 있다). 따라서, 맞춤법 검사기(218)는 워드 프로세서(216)에 할당된 일시 정지 등급을 할당받을 수 있다. 이와 유사하게, 인스턴트 메신저(220)가 메시지 통지기(222)의 부모 프로세스이기 때문에, 메시지 통지기(222)가 인스턴트 메신저(220)에 할당된 면제의 사용자 전력 관리 등급을 할당받을 수 있다. 이런 방식으로, 관련 프로세스들이 유사하게 분류될 수 있으며, 따라서 그러한 전력 관리 등급은 효율성을 위해 그룹으로서 구현될 수 있고(예컨대, 보다 적은 분류 동작이 수행될 필요가 있고 전력 절감을 더욱 촉진할 것이다)/또는 모순된 결과를 회피할 수 있다(예컨대, 메시지 통지기(222)가 면제 등급을 할당받았으면, 인스턴트 메신저(220)가 접속형 대기 상태 동안 일시 정지되는 동안 메시지 통지기(222)가 불필요하게 실행될 수 있다).
다른 예에서, 분류 컴포넌트(204)는 프로세스의 수명이 그 프로세스 및/또는 수명 관리 컴포넌트에 의해 관리된다는 결정에 기초하여 그 프로세스에게 면제 등급을 할당할 수 있다. 즉, 전력 절감이 이미 그 프로세스 또는 다른 컴포넌트에 의해 관리될 수 있다.
다른 예에서, 분류 컴포넌트(204)는 프로세스가 컴퓨팅 시스템 장애 없이 일시 정지될 수 있고/또는 그 프로세스와 연관된 제한된 런타임 기능이 요구되지 않는다는 결정에 기초하여 그 프로세스에 일시 정지 등급을 할당할 수 있다. 예를 들어, 워드 프로세서(216)가 그 일시 정지가 컴퓨팅 시스템 장애를 일으키지 않는 사용자 애플리케이션이고/또는 사용자가 컴퓨팅 환경이 접속형 대기 상태에 있는 동안 제한된 런타임 워드 프로세싱 기능을 원하지 않을 수 있기 때문에, 워드 프로세서(216)는 일시 정지 등급을 할당받을 수 있다. 또한, 프린터 스풀러(212)의 일시 정지가 컴퓨팅 시스템 장애를 일으키지 않고/또는 사용자가 컴퓨팅 환경이 접속형 대기 상태에 있는 동안 제한된 런타임 프린팅 기능을 원하지 않을 수 있기 때문에, 프린터 스풀러(212)가 일시 정지 등급을 할당받을 수 있다.
다른 예에서, 분류 컴포넌트(204)는 프로세스가 조절될 수 있고 그 프로세스와 연관된 제한된 런타임 기능이 요구된다는 결정에 기초하여 그 프로세스에게 조절 등급을 할당할 수 있다. 예를 들어, 안티바이러스(214)가 기록될 데이터에 대한 검사를 수행할 때까지 예컨대 저장부에 대한 기록 액세스가 차단될 수 있기 때문에, 안티바이러스(214)(예컨대, 시스템 세션 내에 초기화된 안티바이러스 시스템 서비스)는 원하는 상태 기능을 제공할 수 있다(예컨대, 컴퓨팅 환경이 접속형 대기 상태에 있는 동안 사용자가 저장부에 저장될 인입 메시지를 원할 수 있다).
다른 예에서, 분류 컴포넌트(204)는 프로세스가 컴퓨팅 시스템 장애 없이 일시 정지될 수 없거나 조절될 수 없다는 판정에 기초하여 면제 등급을 프로세스에 할당할 수 있다. 일 예에서, 분류 컴포넌트(204)는 특정 코어 커널 프로세스, 장치 드라이버, 및/또는 다른 프로세스들이 컴퓨팅 시스템 장애 없이 일시 정지될 수 없다고 결정할 수 있다. 예를 들어, 네트워크 패킷 프로세서(208) 및/또는 하드웨어 이벤트 프로세서(210)는 컴퓨팅 환경에 의해 의존된 코어 기능을 제공할 수 있으며, 따라서 면제 등급을 할당받을 수 있다. 다른 예에서, 프로세스가 코어 커널 프로세스가 의존하는 지원 프로세스인지의 여부를 판정하기 위해 의존도 그래프가 참고될 수 있다.
다른 예에서, 분류 컴포넌트(204)는 프로세스가 사용자 정의 정책과 연관된 기능을 제공한다는 판정에 기초하여 그 프로세스에 사용자 정의 전력 관리 등급을 할당할 수 있다. 예를 들어, 컴퓨팅 환경이 접속형 대기 상태에 있는 경우에도 사용자가 인입 인스턴트 메시지를 수신하기를 희망할 수 있기 때문에, 인스턴트 메신저는 면제의 사용자 전력 관리 등급을 할당받을 수 있다.
이런 방식으로, 전력 관리 등급 할당(206)이 전력 관리 등급의 프로세스로의 할당을 생성할 수 있고/또는 이들에 의해 업데이트될 수 있다. 이러한 할당은 전력 소비를 감소시키고/또는 배터리 수명을 향상시킬 수 있는 저 전력 상태를 달성하기 위해 컴퓨팅 환경을 접속형 대기 상태로 전환하는데 이용될 수 있다. 이러한 할당은 실행 상태에 있는 동안 백그라운드/포어그라운드 작업 일시 정지 및/또는 프로세스의 조절과 같은 다양한 다른 시나리오에 이용될 수 있다.
프로세스에 할당된 전력 관리 등급에 기초하여 컴퓨팅 환경을 접속형 대기 상태로 전환하는 것의 일실시예가 도 3의 방법(300)에 의해 도시되어 있다. 302에서 이 방법이 시작된다. 304에서, 컴퓨팅 환경과 연관된 접속형 대기 상태로의 진입 요청이 검출될 수 있다. 접속형 대기 상태는 저 전력 소비 상태에 대응할 수 있고, 여기서 다양한 프로세스들이 일시 정지되거나, 조절되거나, 또는 계속 실행하도록 허용될 수 있다. 이런 방식으로, 전력 소비가 감소될 수 있고, 컴퓨팅 환경이 원하는 기능을 계속 실행하여 실행 상태로 (다시) 전환할 때 반응적인 최신의 경험을 제공할 수 있다. 접속형 대기 상태는 태블릿 컴퓨팅 장치, 데스크탑 컴퓨팅 장치, 랩탑, 모바일폰 등과 같은 다양한 컴퓨팅 장치 상에서 다양한 방식으로 구현될 수 있다.
306에서, 컴퓨팅 환경은 접속형 대기 상태로 전환될 수 있다. 일 예에서, 일시 정지 등급을 할당받은 각각의 일시 정지 가능한 프로세스에 있어서, 308에서 일시 정지 가능한 프로세스는 비실행 일시 정지 상태로 될 수 있다. 즉, 일시정지 가능한 프로세스가 전력 소비 작업을 수행하기 위해 자원을 호출하지 못하도록 방지될 수 있다(예컨대, 워드 프로세서가 그렇지 않으면 저 전력 휴면 상태에 있을 수 있는 하드웨어 자원에 액세스하지 않도록 워드 프로세서가 일시 정지될 수 있다). 일시 정지 등급은 프로세스가 컴퓨팅 시스템 장애 없이 일시 정지될 수 있는지 여부 및/또는 그 프로세스와 연관된 제한된 런타임 기능이 요구되지 않는지의 여부에 대응할 수 있다. 이런 방식으로, 일시 정지 가능한 프로세스가 컴퓨팅 시스템 장애를 일으키지 않고/또는 원하는 기능을 잃지 않고 비실행 일시 정지 상태로 될 수 있다.
다른 예에서, 조절 등급을 할당받은 각각의 조절 가능 프로세스에 있어서, 310에서 조절 스케줄이 조절 가능한 프로세스에 할당될 수 있다. 조절 등급은 프로세스가 컴퓨팅 시스템 장애 없이 조절될 수 있는지 여부 및/또는 프로세스와 연관된 제한된 런타임 기능이 요구되는지 여부에 대응할 수 있다. 조절 스케줄은 접속형 대기 상태에 있는 동안 조절 가능한 프로세스에 적용될 수 있다. 예를 들어, 조절 가능한 프로세스는 조절 스케줄에 기초하여 실행 상태 및 비실행 일시 정지 상태 사이를 순환할 수 있다(예컨대, 조절 스케줄은 실행 상태에 대한 실행 시간 주기 및 비실행 일시 정지 상태에 대한 일시 정지 시간 주기를 특정할 수 있다). 예를 들어, 조절 가능한 메시지 프로세스가 매 5분마다 새로운 메시지를 검사하기 위해 20초의 실행이 허용될 수 있다.
다른 예에서, 면제 등급을 할당받은 각 면제 프로세스에 있어서, 312에서 면제 프로세스가 실행 상태에서 계속 실행하도록 허용될 수 있다. 면제 등급은 프로세스가 컴퓨터 시스템 장애 없이 일시 정지될 수 없거나 또는 조절될 수 없는지 여부에 대응할 수 있다(예컨대, 코어 커널 프로세스, 장치 드라이버, 및/또는 코어 커널 프로세스에 대한 지원 프로세스 등). 이런 방식으로, 컴퓨팅 환경에 대해 코어 기능을 제공하고/또는 원하는 기능을 제공하는 면제 프로세스는, 컴퓨팅 환경이 접속형 대기 상태에 있는 동안 실행 상태에서 실행하도록 허용될 수 있다.
컴퓨팅 환경을 접속형 대기 상태로 전환하는 것의 일 예에서, 일시 정지 가능한 프로세스는 조절 가능한 프로세스가 조절되기 전에 비실행 일시 정지 상태로 될 수 있다. 일시 정지 가능한 프로세스가 조절 가능한 프로세스에 의존할 수 있다(예컨대, 일시 정지 가능한 워드 프로세서 애플리케이션은 저장된 텍스트 문서에 대한 액세스를 위한 조절가능한 저장 액세스 프로세스에 의존할 수 있다). 일시 정지 가능한 프로세스가 의존하는 조절 프로세스는 일시 정지 가능한 프로세스의 일시 정지 전에 이미 비실행 일시 정지 상태로 되었을 수 있기 때문에, 조절 전에 일시 정지하는 것은 일시 정지 가능한 프로세스가 실패할 수 있는 경우를 경감시킬 수 있다.
컴퓨팅 환경을 접속형 대기 상태로 전환하는 것의 일 예에서, 서로 연관된 일시 정지 가능한 프로세스의 그룹이 일시 정지될 수 있는데, 이는 예컨대 호환성 리스크를 경감시킨다. 일 예에서, 제1 일시 정지 가능한 프로세스는 제2 일시 정지 가능한 자원과 연관된 자원을 소비할 수 있기 때문에 제1 일시 정지 가능한 프로세스가 제2 일시 정지 가능한 프로세스와 그룹화될 수 있다(예컨대, 워드 프로세서 애플리케이션 프로세스가 맞춤법 검사기 프로세스로부터 맞춤법 검사 데이터를 소비할 수 있으며, 따라서 프로세스는 함께 그룹화될 수 있다). 다른 예에서, 제1 일시 정지 가능한 프로세스가 제2 일시 정지 가능한 프로세스의 자식 프로세스일 수 있기 때문에 제1 일시 정지 가능한 프로세스는 제2 일시 정지 가능한 프로세스와 그룹화될 수 있다(예컨대, 사진 업로딩 프로세스는 온라인 사진 공유 프로세스의 자식 프로세스일 수 있으며, 따라서 이들 프로세스는 함께 그룹화될 수 있다). 다른 예에서, 제1 일시 정지 가능한 프로세스가 제2 일시 정지 가능한 프로세스가 초기화된 제2 논리 컨테이너와 연관된 제1 논리 컨테이너 내에서 초기화되었을 수 있기 때문에, 제1 일시 정지 가능한 프로세스는 제2 일시 정지 가능한 프로세스와 그룹화될 수 있다(예컨대, 온라인 사진 공유 프로세스는 부모 작업 그룹 내에서 초기화되었을 수 있고, 사진 업로딩 프로세스는 부모 작업 그룹 내에 내포된 자식 작업 그룹 내에서 초기화되었을 수 있으며, 따라서 이들 프로세스는 함께 그룹화될 수 있다). 이런 방식으로, 서로 연관되고/또는 서로 의존할 수 있는 일시 정지 가능한 프로세스들이 일시 정지에 대해 그룹으로서 함께 그룹화될 수 있다.
접속형 대기 상태에 있는 동안, 실행 상태의 프로세스는 새로운 프로세스를 생성할 수 있다. 생성시, 새로운 프로세스는 전력 관리 등급으로 분류될 수 있다. 즉, 비록 컴퓨팅 환경이 이미 접속형 대기 상태에 있는 경우에도, 전력 관리 등급이 새로운 프로세스에 적용될 수 있다.
이런 방식으로, 컴퓨팅 환경은 전력 사용량을 감소시키기 위해 접속형 대기 상태로 변환될 수 있다. 컴퓨팅 환경과 연관된 컴퓨팅 장치의 화면을 끄는 것과 같이 불필요한 하드웨어 및/또는 자원을 끈다든가 하는 부가적인 전력 절감 기법들이 구현될 수도 있다. 314에서, 이 방법은 종료된다.
도 4는 프로세스에 할당된 전력 관리 등급 할당(404)에 기초하여 컴퓨팅 환경을 접속형 대기 상태(410)로 전환하도록 구성된 시스템(400)의 일례를 도시한 것이다. 시스템(400)은 전환 컴포넌트(406) 및/또는 조절 컴포넌트(408)를 포함할 수 있다. 전환 컴포넌트(406)는 컴퓨팅 환경과 연관된 접속형 대기 상태로의 진입 요청(402)을 검출하도록 구성될 수 있다. 전환 컴포넌트(406)는 컴퓨팅 환경을 접속형 대기 상태(410)로 전환하도록 구성될 수 있는데, 이는 컴퓨팅 환경을 호스팅하는 컴퓨팅 장치와 연관된 전력 소비를 감소시킬 수 있다(예컨대, 하나 이상의 프로세스가 일시 정지될 수 있고/또는 그러한 프로세스들과 연관된 전력 소비를 감소시킬 수 있다).
전력 관리 등급 할당(404) 내에 일시 정지 등급을 할당받은 각각의 일시 정지 가능한 프로세스에 있어서, 전환 컴포넌트(406)는 일시 정지 가능한 프로세스를 비실행 일시 정지 상태로 두도록 구성될 수 있다. 예를 들어, 컴퓨팅 환경이 접속형 대기 상태(410)에 있는 동안 프린트 스풀러 프로세스, 워드 프로세서 프로세스, 맞춤법 검사기 프로세스, 및/또는 다른 일시 정지 가능한 프로세스가 비실행 일시 정지 상태로 될 수 있다. 일 예에서, 서로 연관된 일시 정지 가능한 프로세스들의 그룹이 함께 일시 정지될 수 있다(예컨대, 제1 일시 정지 가능한 프로세스가 제2 일시 정지 가능한 프로세스의 자식 프로세스인 것, 제1 일시 정지 가능한 프로세스가 제2 일시 정지 가능한 프로세스로부터의 자원을 소비하는 것, 및/또는 제1 일시 정지 가능한 프로세스가 제2 일시 정지 가능한 프로세스에 의해 잠긴 자원을 기다리는 것에 기초하여 제1 일시 정지 가능한 프로세스가 제2 일시 정지 가능한 프로세스와 연관될 수 있다). 예를 들어, 워드 프로세서 프로세스 및 맞춤법 검사기 프로세스는 하나의 프로세스가 일시 정지되고 다른 하나가 소정 기간 동안 실행 중으로 남아있는 경우에 발생할 수 있는 호환성 문제를 완화시키기 위해 함께 일시 정지될 수 있다(예컨대, 워드 프로세서 프로세스는 맞춤법 검사기 프로세스로부터의 데이터를 소비할 수 있으며, 맞춤법 검사기 프로세스가 워드 프로세서 프로세스 이전에 일시 정지될 경우 실패할 수 있다).
전력 관리 등급 할당(404) 내에서 조절 등급을 할당받은 각각의 조절 가능한 프로세스에 있어서, 전환 컴포넌트(406)는 조절 스케줄을 조절 가능한 프로세스에 할당할 수 있다. 예를 들어, 안티바이러스 프로세스가 조절 스케줄을 할당 받을 수 있는데, 여기서 안티 바이러스 프로세스는 매 2분마다 5초 동안 실행될 수 있다. 조절 컴포넌트(408)는 조절 스케줄에 기초하여 실행 상태와 비 실행 일시 정지 상태 사이에서 조절 가능한 프로세스를 순환시킴으로써 조절 스케줄을 조절 가능한 프로세스에 적용하도록 구성될 수 있다. 일 예에서, 전환 컴포넌트(406)는 조절 스케줄을 조절 가능한 프로세스에 할당하기 전에 및/또는 조절 컴포넌트(408)가 조절 스케줄을 적용하기 전에 일시 정지 가능한 프로세스를 비실행 일시 정지 상태로 두도록 구성될 수 있다. 조절 프로세스 전의 일시 정지 프로세스는 일시 정지 가능한 프로세스가 조절 가능한 프로세스로부터의 데이터에 의존하는 충돌을 경감시킬 수 있지만, 일시 정지 가능한 프로세스가 일시 정지되기 전에 조절 가능한 프로세스가 이미 비실행 일시 정지 상태에 있다.
전력 관리 등급 할당(404) 내에서 면제 등급을 할당받은 각각의 면제 프로세스에 있어서, 전환 컴포넌트(406)는 면제 프로세스를 계속 실행하도록 허용할 수 있다. 예를 들어, 컴퓨팅 환경이 접속형 대기 상태(410)에 있는 동안 네트워크 패킷 프로세스, 하드웨어 이벤트 프로세서 프로세스, 인스턴트 메신저 프로세서 프로세스, 메시지 통지기 프로세스, 및/또는 기타 면제 프로세스들이 계속 실행하도록 허용될 수 있다(예컨대, 네트워크 패킷 프로세서 프로세스 및/또는 하드웨어 이벤트 프로세서 프로세스는 그러한 기능이 기본 기능에 대해 컴퓨팅 환경에 의해 의존될 수 있기 때문에 면제될 수 있는 반면에, 인스턴트 메신저 프로세스 및 메시지 통지기 프로세스는 그러한 기능이 사용자에게 바람직할 수 있기 때문에 면제될 수 있다). 이런 방식으로, 컴퓨팅 환경은 전환 컴포넌트(406)에 의해 접속형 대기 상태(410)로 전환될 수 있다.
컴퓨팅 환경을 접속형 대기 상태로부터 실행 상태로 전환하는 것의 일실시예가 도 5에 방법(500)으로 도시되어 있다. 502에서, 이 방법이 시작된다. 504에서, 컴퓨팅 환경과 연관된 접속형 대기 상태로부터의 이탈 요청이 수신될 수 있다. 즉, 컴퓨팅 환경은 전력 소비를 감소시키기 위해 접속형 대기 상태로 전환되었을 수 있다. 예를 들어, 접속형 대기 상태에 있는 동안, 전력 소비를 줄이기 위해 하나 이상의 프로세스가 일시 정지되고/또는 조절되었을 수 있으며, 컴퓨팅 환경이 응답 방식으로 최신 실행 상태로 끊김없이 전환할 수 있도록 컴퓨팅 환경의 기본 동작에 의존하는 프로세스 및/또는 원하는 기능을 제공하는 프로세스가 면제되도록 허용되었을 수 있다(예컨대, 수 시간 동안 접속형 대기 상태로 있었던 태블릿 장치가 수 초 내에 실행 상태로 전환될 수 있으며, 여기서 이메일 메시지 및 기타 정보가 최신으로 될 수도 있고/또는 사용자가 수 초 내에 액세스 가능하게 될 수 있다).
506에서, 컴퓨팅 환경이 접속형 대기 상태에서 실행 상태로 전환될 수 있다. 일 예에서, 일시 정지 등급을 할당받은 각각의 일시 정지된 프로세스에 있어서, 508에서 실행 기능이 일시 정지된 프로세스로 복귀될 수 있다. 일시 정지 등급은 프로세스가 컴퓨팅 시스템 장애 없이 일시 정지될 수 있는지 여부(예컨대, 컴퓨팅 환경 및/또는 그 프로세스의 장애) 및/또는 프로세스와 연관된 제한된 런타임 기능이 요구되지 않는지의 여부에 대응할 수 있다(예컨대, 컴퓨팅 환경이 접속형 대기 상태 내에 있는 동안 워드 프로세싱 사용자 애플리케이션의 기능이 요구되지 않을 수 있고/또는 그러한 기능이 컴퓨팅 환경에 의해 기본 동작에 대해 의존하지 않을 수 있기 때문에, 사용자 세션 내에서 생성된 워드 프로세싱 사용자 애플리케이션이 일시 정지되었을 수 있다).
다른 예에서, 조절 등급을 할당받은 각각의 조절된 프로세스에 있어서, 510에서 면제 기능이 조절된 프로세스로 복귀될 수 있다. 예를 들어, 조절된 프로세스에 대한 실행 기능이 조절된 프로세스에 적용된 조절 스케줄에 기초할 수 있고, 조절 스케줄이 그 프로세스로 실행 기능을 복귀시키는 것의 일부로서 조절된 프로세스에 적용되지 않을 수도 있다(예컨대, 조절된 프로세스가 비실행 일시 정지 상태에 있으면, 조절된 프로세스는 실행 상태로 전환될 수 있다). 조절 등급은 프로세스가 컴퓨팅 시스템 장애 없이 조절될 수 있는지 여부 및/또는 프로세스와 연관된 제한된 런타임 기능이 요구되는지 여부에 대응할 수 있다(예컨대, 데이터가 저장소에 기록되기 전에 안티바이러스 프로세스가 스캐닝 데이터의 원하는 상태 정보를 제공하고 안티바이러스 프로세스를 조절하는 것이 안티바이러스 프로세스 및/또는 컴퓨팅 환경의 장애를 일으키지 않을 수 있기 때문에, 안티바이러스 프로세스가 조절 등급을 할당받았을 수 있다.
접속형 대기 상태에서 실행 상태로 전환하는 것의 일 예에서, 일시 정지된 프로세스가 조절된 프로세스에 의해 제공된 데이터 및/또는 기능에 의존할 수 있기 때문에 실행 기능이 일시 정지된 프로세스로 복귀되기 전에 조절된 프로세스로 복귀될 수 있다(예컨대, 도 5는 508을 510 앞에 도시하고 있지만 510 다음에 508이 올 수도 있다). 예를 들어, 조절된 저장 액세스 프로세스가 저장부에 대한 액세스를 갖는 일시 정지된 사진 편집 프로세스를 제공하는데 이용가능하지 않으면 일시 정지된 사진 편집 프로세스가 충돌할 수 있기 때문에 일시 정지된 사진 편집 프로세스 전에 실행 기능이 조절된 저장 액세스 프로세스로 복귀될 수 있다. 다른 예에서, 자녀 실행 정지된 프로세스가 부모 실행 정지된 프로세스로부터의 자원을 소비하도록 구성될 수 있기 때문에 실행 기능이 자녀 실행 정지된 프로세스 전에 부모 실행 정지된 프로세스로 복귀될 수 있다. 이런 방식으로, 컴퓨팅 환경이 응답 방식으로 접속형 대기 상태에서 실행 상태로 전환될 수 있는데, 이는 사용자에게 과도한 지연 없이 최신 정보를 제공할 수 있다(예컨대, 사용자는 수 초 내에 접속형 대기 이탈 요청을 제출하는 것의 새로운 메시지를 볼 수 있을 수 있다). 512에서, 이 방법은 종료된다.
도 6은 컴퓨팅 환경을 접속형 대기 상태(604)에서 실행 상태(608)로 전환하도록 구성된 시스템(600)의 일례를 도시한다. 시스템(600)은 전환 컴포넌트(606)를 포함할 수 있다. 전환 컴포넌트(606)는 컴퓨팅 환경과 연관된 접속형 대기 상태로부터의 이탈 요청(602)을 검출하도록 구성될 수 있다. 전환 컴포넌트(606)는 컴퓨팅 환경을 접속형 대기 상태(604)에서 실행 상태(608)로 전환하도록 구성될 수 있다.
일시 정지 등급을 할당받은 각각의 일시 정지된 프로세스에 있어서, 전환 컴포넌트(606)는 실행 기능을 일시 정지된 프로세스로 복귀시킬 수 있다. 예를 들어, 컴퓨팅 환경이 접속형 대기 상태(604)에 있는 동안에 프린트 스풀러 프로세스, 워드 프로세서 프로세스, 맞춤법 검사기 프로세스, 및/또는 기타 프로세스들이 일시 정지되었을 수 있는데, 이는 전력 소비를 저감시켰을 수 있다. 실행 기능 복귀시, 그러한 프로세스는 컴퓨팅 환경이 실행 환경(608)에 있는 동안 정상으로 실행될 수 있다.
조절 등급을 할당받은 각각의 조절된 프로세스에 있어서, 전환 컴포넌트(606)는 실행 기능을 조절된 프로세스로 복귀시킬 수 있다. 예를 들어, 안티바이러스 프로세스는 바람직한 제한된 런타임 기능을 제공하였을 수 있기 때문에, 컴퓨팅 환경이 접속형 대기 상태(604)에 있는 동안 조절 스케줄에 기초하여 안티바이러스 프로세스가 조절되었을 수 있다(예컨대, 안티바이러스 프로세스는 컴퓨팅 환경이 실행 상태(608)로 전환할 때 인입 메시지가 저장소에 기록될 수 있고/또는 사용자에게 이용가능할 수 있도록 다양한 간격으로 저장소에 대한 기록 커맨드와 연관된 데이터를 검사했을 수 있다). 일 예에서, 조절된 프로세스에 적용된 조절 스케줄을 적용하지 않음으로써 실행 기능이 복귀될 수 있다(예컨대, 조절된 프로세스가 비실행 일시 정지 상태에 있으면, 조절된 프로세스는 실행 상태로 전환될 수 있다).
일 예에서, 일시 정지된 프로세스는 조절된 프로세스로부터의 자원을 소비할 수 있기 때문에 전환 컴포넌트(606)는 실행 기능을 일시 정지된 프로세스로 복귀시키기 전에 실행 기능을 조절된 프로세스로 복귀시키도록 구성될 수 있다. 예를 들어, 조절된 저장 액세스 프로세스가 일시 정지된 사진 편집 프로세스에게 저장소에 대한 액세스를 제공하는데 이용가능하지 않으면 일시 정지된 사진 편집 프로세스가 충돌할 수 있기 때문에 실행 기능은 일시 정지된 사진 편집 프로세스 전에 조절된 저장 액세스 프로세스로 복귀될 수 있다. 다른 예에서, 자식 일시 정지된 프로세스가 부모 일시 정지된 프로세스로부터의 자원을 소비할 수 있기 때문에, 실행 기능이 자식 일시 정지된 프로세스에 저장되기 전에 실행 기능이 부모 일시 정지된 프로세스에 저장될 수 있다.
컴퓨팅 환경이 접속형 대기 상태(604)에 있는 동안 하나 이상의 면제 프로세스가 실행 상태에서 실행되도록 허용되었을 수도 있다(예컨대, 네트워크 패킷 프로세스, 하드웨어 이벤트 프로세서 프로세스, 인스턴트 메신저 프로세스, 메시지 통지기 프로세스, 및/또는 기타 프로세스들이 실행되도록 허용되었을 수 있다). 따라서, 그러한 프로세스는 컴퓨팅 환경이 실행 상태(608)로 전환될 때 계속 처리되도록 허용될 수 있다. 컴퓨팅 환경은 응답 방식으로 전환 컴포넌트(606)에 의해 접속형 대기 상태(604)로부터 실행 상태(608)로 끊김 없이 전환될 수 있는데, 이는 과도한 지연 없이 사용자에게 최신 정보를 제공할 수 있다(예컨대, 사용자는 접속형 대기 상태로부터의 이탈 요청(602)을 제출하는 것의 새로운 메시지를 수 초 내에 볼 수 있다).
도 7은 접속형 대기 상태(704)에서 실행 상태(708)로 전환되는 태블릿 장치의 일 예를 도시한 것이다. 태블릿 장치는, 다른 프로세스들을 조절하고/또는 일시 정지하는 동안 일부 프로세스가 실행될 수 있게 함으로써 전력 소비를 줄이기 위해 접속형 대기 상태(704)로 진입했을 수 있다. 예를 들어, 기본 동작에 대해 태블릿 장치에 의존하는 코어 시스템 프로세스 및/또는 컴퓨팅 시스템 장애를 일으키지 않고 조절되거나 일시 정지될 수 없는 다른 프로세스들이 정상적인 방식으로 실행되도록 허용될 수 있다. 시스템 서비스 프로세스 및/또는 컴퓨팅 시스템 장애(예컨대, 프로세스 및/또는 태블릿 장치의 장애)를 일으키지 않고 조절될 수 있고/또는 원하는 제한된 런타임 기능을 제공하는 다른 프로세스들이 조절될 수 있다. 프로세스를 조절하는 것은 전력을 절감할 수 있는데, 이는 조절된 프로세스가 상당한 기간 동안 비실행 일시 정지 상태로 될 수 있기 때문이다. 따라서, 비실행 일시 정지 상태에 있는 조절된 프로세스는 전력 소비 기능을 수행하기 위한 자원(예컨대, 프로세서, 하드웨어 등)을 호출하지 않을 수 있다. 또한, 컴퓨팅 시스템 장애를 일으키지 않고 일시 정지될 수 있고/또는 원하는 제한된 런타임 기능을 제공하지 않는 프로세스들이 일시 정지될 수 있다. 프로세스를 일시 정지하는 것은 전력을 절감시킬 수 있는데, 이는 일시 정지된 프로세스가 비실행 일시 정지 상태로 되어 일시 정지된 프로세스가 전력 소비 기능을 수행하는 자원들을 호출하지 않을 수 있기 때문이다. 접속형 대기 상태(704)의 일 예에서, 네트워크 기능 프로세스, 메시징 서비스 프로세스, 및/또는 다른 프로세스들이 조절될 수 있고/또는 완전히 실행되도록 허용될 수 있다. 따라서, 접속형 대기 상태(704)의 태블릿 장치는 인입 메시지(702)를 계속 수신하고/또는 처리할 수 있다. 이런 방식으로, 태블릿 장치는 원하는 기능을 계속 제공하면서 저 전력 소비 상태에서 동작할 수 있다.
태블릿 장치는 실행 상태(708)로 전환될 수 있다. 예를 들어, 접속형 대기 상태로부터의 이탈 요청(706)에 대응하는 사용자 입력이 수신될 수 있다(예컨대, 태블릿 장치 상에서의 핑거 스와이프(finger swipe)가 검출될 수 있다). 태블릿 장치는 조절 및/또는 일시 정지된 프로세스를 실행 상태로 둠으로써 끊김 없이 실행 상태(708)로 전환될 수 있다. 적어도 일부 기능은 태블릿 장치가 접속형 대기 상태(704)에 있는 동안 실행하도록 허용되었기 때문에, 최신 정보가 응답 방식으로 사용자에게 제공될 수 있고/또는 이용가능해질 수 있다. 예를 들어, 접속형 대기 상태로부터의 이탈 요청(706)을 입력하는 짧은 기간(예컨대 수 초) 내에, 사용자는 태블릿 장치가 접속형 대기 상태(704)에 있는 동안 처리된 인입 메시지(702)와 연관된 최신 정보를 제공받을 수 있다. 예컨대, 새로운 메시지, RSS 피드 업데이트, 이벤트 초대, 및/또는 다양한 기타 정보가 태블릿 장치가 실행 상태로 전환할 때 사용자에게 이용가능할 수 있다. 따라서, 태블릿 장치는 접속형 대기 상태 때문에 상당히 향상된 배터리 수명을 제공할 수 있는 한편, 실행 상태에 있는 동안 사용자에게 응답 및 최신 경험을 여전히 제공할 수 있다.
또 다른 실시예는 본 명세서에서 제공된 하나 이상의 기술을 구현하도록 구성된 프로세서 실행가능한 명령어를 포함하는 컴퓨터 판독가능 매체를 포함한다. 이런 방법으로 고안될 수 있는 예시적인 컴퓨터 판독가능 매체가 도 8에 도시되어 있는데, 여기서 구현물(800)은 컴퓨터 판독가능 데이터(814)가 인코딩되어 있는 컴퓨터 판독가능 매체(816)(예컨대, CD-R, DVD-R, 또는 하드디스크 드라이브의 플래터)를 포함한다. 이 컴퓨터 판독가능 데이터(814)는 다시 본 명세서에 개시된 하나 이상의 원리에 따라 동작하도록 구성된 컴퓨터 명령어 세트(812)를 포함한다. 그러한 일실시예(800)에서, 프로세서 실행가능한 컴퓨터 명령어(812)는, 예컨대 도 1의 예시적인 방법(100), 도 3의 예시적인 방법, 및/또는 도 5의 예시적인 방법(500) 중 적어도 일부와 같은 방법(810)을 수행하도록 구성될 수 있다. 다른 그러한 실시예에서는, 프로세서 실행가능 명령어(812)가, 예컨대 도 2의 예시적인 시스템, 도 4의 예시적인 시스템, 및/또는 도 6의 예시적인 시스템 중 적어도 일부와 같은 시스템을 구현하도록 구성될 수 있다. 본 명세서에 제시된 기법들에 따라서 동작하도록 구성되는 많은 그러한 컴퓨터 판독가능 매체가 당업자에 의해 고안될 수 있다.
비록 청구 대상이 구조적 특징 및/또는 방법론적 동작에 특유한 언어로 기술되었지만, 첨부된 청구항에 정의된 청구 대상은 전술한 특정한 특징들 또는 동작들로 반드시 한정되지 않는다는 점을 이해해야 한다. 오히려, 전술한 특정한 특징들 및 동작들은 청구항을 구현하는 예시적인 형태로서 개시된다.
이 애플리케이션에 사용된 바와 같이, 용어 "컴포넌트", "모듈", "시스템", "인터페이스" 등은 일반적으로 컴퓨터 관련 개체, 즉 하드웨어 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실행중인 소프트웨어를 지칭하기 위한 것이다. 예를 들어, 컴포넌트는 프로세서 상에서 실행되는 프로세스, 프로세서, 객체, 실행 파일(executable), 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있는데, 이에 한정되지는 않는다. 예를 들면, 컨트롤러 상에서 실행되는 애플리케이션 및 컨트롤러는 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트가 프로세스 및/또는 실행 스레드 내에 존재할 수 있고, 하나의 컴포넌트가 하나의 컴퓨터 상에 배치될 수도 있고/또는 둘 이상의 컴퓨터 사이에 분산될 수도 있다.
또한, 청구항에 기재된 청구 대상은 표준 프로그래밍 및/또는 엔지니어링 기법을 이용하여 개시된 청구 대상을 구현하기 위해 컴퓨터를 제어하는 소프트웨어, 펌웨어, 하드웨어 또는 임의의 조합을 생성하는 방법, 장치, 또는 제품으로 구현될 수 있다. "제품"이란 용어는 본 명세서에서 임의의 컴퓨터 판독가능 장치, 캐리어, 또는 매체로부터 액세스 가능한 컴퓨터 프로그램을 포함하기 위한 것이다. 물론 당업자는 청구항에 기재된 청구 대상의 범주 또는 사상으로부터 벗어나지 않고 이 구성에 많은 변형들이 이루어질 수 있음을 인식할 것이다.
도 8 및 하기 논의는 본 명세서에 개시된 발명들 중 하나 이상의 실시예를 구현하기 위한 적절한 컴퓨팅 환경의 간단히 일반적으로 설명한다. 도 8의 운영 환경은 적절한 운영 환경의 일례일 뿐, 운영 환경의 사용 또는 기능의 범위에 대한 어떠한 제한을 암시하고자 하는 것이 아니다. 예시적인 컴퓨팅 장치로는 개인용 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩탑 장치, 모바일 장치(예컨대, 모바일폰, PDA, 매체 재생기 등), 멀티프로세서 시스템, 가전, 미니 컴퓨터, 메인프레임 컴퓨터, 위 시스템 또는 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등을 들 수 있는데, 이에 한정되지는 않는다.
요구되는 것은 아니지만, 실시예들은 하나 이상의 컴퓨팅 장치에 의해 실행되는 "컴퓨터 판독가능한 명령어"의 일반적인 환경에서 설명된다. 컴퓨터 판독가능한 명령어는 컴퓨터 판독가능 매체를 통해 분산될 수 있다(이에 대해서는 아래에서 논의된다). 컴퓨터 판독가능 명령어는 특정한 작업을 수행하거나 또는 특정한 추상 데이터 유형을 구현하는, 함수, 객체, API(Application Programming Interface), 데이터 구조 등과 같은 프로그램 모듈로서 구현될 수 있다. 통상적으로는, 컴퓨터 판독가능 명령어의 기능이 다양한 실시예로 기술된 바와 같이 결합되거나 또는 분산될 수 있다.
도 9는 본 명세서에서 제공되는 하나 이상의 실시예를 구현하도록 구성된 컴퓨팅 장치(912)를 포함하는 시스템(910)의 일 예를 도시한 것이다. 일 구성에서, 컴퓨팅 장치(912)는 적어도 하나의 처리 유닛(916) 및 메모리(919)를 포함한다. 컴퓨팅 장치의 정확한 구성 및 유형에 따라서, 메모리(919)는 휘발성(예컨대, RAM), 비휘발성(예컨대, ROM, 플래시 메모리 등) 또는 이 둘의 일부 조합일 수 있다. 이 구성은 도 9에 점선(914)으로 도시되어 있다.
다른 실시예에서, 장치(912)는 부가적인 특징들 및/또는 기능을 포함할 수 있다. 예를 들어, 장치(912)는 자기 저장부, 광학 저장부 등을 포함하는 추가 저장부(예컨대, 착탈식 및/또는 비착탈식)를 포함할 수 있다. 이러한 추가 저장부는 도 9에 저장부(920)로 도시되어 있다. 일실시예에서, 본 명세서에서 제공된 하나 이상의 실시예를 구현하기 위한 컴퓨터 판독가능한 명령어가 저장부(920)에 있을 수 있다. 저장부(920)는 또한 운영 체제, 애플리케이션 프로그램 등을 구현하기 위한 다른 컴퓨터 판독가능 명령어를 저장할 수도 있다. 컴퓨터 판독가능 명령어는, 예컨대 처리 유닛(916)에 의한 실행을 위해 메모리(919)에 로딩될 수 있다.
본 명세서에서 사용된 "컴퓨터 판독가능 매체"란 용어는 컴퓨터 저장 매체를 포함한다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어 또는 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체를 포함한다. 메모리(919) 및 저장부(920)는 컴퓨팅 저장 매체의 예들이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(Digital Versatile Disk) 또는 기타 광학 저장부, 자기 카세트, 자기 테이프, 자기 디스크 저장부 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 장치(912)에 의해 액세스될 수 있는 기타 매체를 포함하는데, 본 발명은 이에 한정되지는 않는다. 임의의 그러한 컴퓨터 저장 매체는 장치(912)의 일부일 수 있다.
장치(912)는 장치(912)가 다른 장치들과 통신할 수 있게 하는 통신 접속부(926)를 포함한다. 통신 접속부(926)는 모뎀, NIC(Network Interface Card), 통합 네트워크 인터페이스, 무선 주파수 송신기/수신기, 적외선 포트, USB 접속부, 또는 컴퓨팅 장치(912)를 다른 컴퓨팅 장치에 연결하는 기타 인터페이스를 포함할 수 있는데, 본 발명은 이에 한정되지는 않는다. 통신 접속부(926)는 유선 접속부 또는 무선 접속부를 포함할 수 있다. 통신 접속부(926)는 통신 매체를 송신 및/또는 수신할 수 있다.
"컴퓨터 판독가능 매체"란 용어는 통신 매체를 포함할 수 있다. 통신 매체는 통상적으로 컴퓨터 판독가능 명령어 또는 반송파 또는 다른 전송 매체와 같은 "변조된 데이터 신호" 내의 기타 데이터를 포함할 수 있고, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"란 용어는 그 특성 세트 중 하나 이상을 갖거나 신호 내에 정보를 인코딩하는 것과 같은 방식으로 변경된 신호를 포함할 수 있다.
장치(912)는 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치, 적외선 카메라, 비디오 입력 장치, 및/또는 임의의 다른 입력 장치와 같은 입력 장치(924)를 포함할 수 있다. 하나 이상의 디스플레이, 스피커, 프린터, 및/또는 임의의 기타 출력 장치와 같은 출력 장치(922)가 장치(912)에 포함될 수도 있다. 입력 장치(924) 및 출력 장치(922)는 유선 연결, 무선 연결, 또는 이들의 임의의 조합을 통해 장치(912)에 연결될 수 있다. 일실시예에서, 다른 컴퓨팅 장치로부터의 입력 장치 또는 출력 장치가 컴퓨팅 장치(912)에 대한 입력 장치(924) 또는 출력 장치(922)로서 사용될 수 있다.
컴퓨팅 장치(912)의 컴포넌트는 버스와 같은 다양한 상호접속부에 의해 연결될 수 있다. 이러한 상호접속부는 PCI 익스프레스, USB(Universal Serial Bus), PCI(Peripheral Component Interconnect), 파이어와이어(IEEE 1394), 광학 버스 구조 등을 포함할 수 있다. 다른 실시예에서, 컴퓨팅 장치(912)의 컴포넌트가 네트워크에 의해 상호접속될 수 있다. 예를 들어, 메모리(919)는 네트워크에 의해 상호접속된 상이한 물리적 위치에 있는 복수의 물리적 메모리 유닛으로 이루어질 수 있다.
당업자는 컴퓨터 판독가능 명령어를 저장하는데 이용되는 저장 장치가 네트워크에 걸쳐 분산될 수 있음을 이해할 것이다. 예를 들어, 네트워크(929)를 통해 액세스가능한 컴퓨팅 장치(930)는 본 명세서에 제공된 하나 이상의 실시예를 구현하기 위한 컴퓨터 판독가능 명령어를 저장할 수 있다. 컴퓨팅 장치(912)는 컴퓨팅 장치(930)에 액세스할 수 있고 실행할 컴퓨터 판독가능 명령어들 중 일부 또는 전부를 다운로드할 수 있다. 또는 컴퓨팅 장치(912)는 필요하다면 컴퓨터 판독가능 명령어 조각들을 다운로드할 수 있으며, 또는 일부 명령어는 컴퓨팅 장치(912)에서 실행될 수 있고 일부는 컴퓨팅 장치(930)에서 실행될 수 있다.
실시예들의 다양한 동작들이 본 명세서에 제공된다. 일실시예에서, 기재된 동작들 중 하나 이상은 하나 이상의 컴퓨터 판독가능 매체에 저장된 컴퓨터 판독가능 명령을 구성할 수 있는데, 이는 컴퓨팅 장치에 의해 실행될 경우 컴퓨팅 장치가 상술한 동작들을 수행하게 할 것이다. 동작들 중 일부 또는 전부가 기술되는 순서는 이들 동작이 반드시 순서 의존적임을 암시하는 것으로 해석되어서는 안 된다. 당업자는 본 기재의 이점을 갖는 다른 순서를 이해할 수 있을 것이다. 또한 모든 동작들이 반드시 본 명세서에서 제공된 각 실시예에 존재해야 하는 것은 아님을 이해할 것이다.
또한, "예시적인"이란 단어는 예, 실례, 또는 도해를 의미하는 것으로 사용된다. 본 명세서에 "예시적인"으로 기재된 임의의 특징 또는 디자인은 반드시 다른 특징들 또는 디자인들에 대해 이점이 있는 것으로 해석되어서는 안 된다. 오히려, 예시적이란 단어의 사용은 개념들을 구체적인 형식으로 제시하려는 것이다. 상세한 설명 및 첨부한 청구범위에 사용된 "또는"이란 용어는 배타적 "또는"이 아니라 포괄적 "또는"을 의미하기 위한 것이다. 즉, 다르게 특정하지 않았거나 문맥상 명확하지 않다면, "X가 A 또는 B를 이용한다"는 자연적인 포괄적 순열들 중 어느 하나를 의미하기 위한 것이다. 즉, X가 A를 이용하고; X가 B를 이용하거나 또는 X가 A 및 B를 모두 이용하면, 앞의 예들 중 어느 예에서도 "X는 A 또는 B를 이용한다"가 만족된다. 또한, 본 명세서 및 첨부된 청구항들에 사용된 단수형들은 다르게 특정하지 않거나 문맥상 단수형태로 지시되지 않는 한 "하나 이상"을 의미하는 것으로 일반적으로 해석될 수 있다. 또한, A 및 B 중 적어도 하나 등은 일반적으로 A 또는 B나 A 및 B 모두를 의미한다.
또한, 본 개시 내용은 하나 이상의 구현예들에 대해 도시하고 설명하였지만, 등가의 변형예들 및 수정들이 본 명세서 및 첨부 도면을 읽고 이해한 다른 당업자에 의해 이루어질 것이다. 본 개시 내용은 그러한 변형예들 및 수정들 모두를 포함하며 하기 청구항들의 범위에 의해서만 제한된다. 특히, 전술한 컴포넌트(예컨대, 구성요소, 자원 등)에 의해 수행된 다양한 기능들과 관련하여, 그러한 컴포넌트를 기술하는데 사용된 용어들은 특별히 표시하지 않은 한, 비록 구체적으로는 본 명세서에서 예시된 본 개시 내용의 예시적인 구현예들에서 기능을 수행하는 개시된 구성과 동일하지는 않을지라도, 상술한 컴포넌트의 지정된 기능을 수행하는(즉, 기능적으로 등가인) 임의의 컴포넌트에 대응시키고자 하기 위한 것이다. 또한, 본 개시 내용의 특정한 기능이 몇몇 구현예들 중 단 하나와 관련하여 기술되었을지라도, 그러한 특징은 임의의 주어진 또는 특정한 애플리케이션에 대해 바람직하고 이익이 될 수 있는 다른 구현예들의 하나 이상의 다른 특징과 결합될 수 있다. 또한, "포함한다", "가짐", "갖는다", "포함하는"이란 용어 또는 그 변형이 상세한 설명이나 청구범위에서 사용되었다면, 그러한 용어는 "포함"이란 용어와 유사한 방식으로 포괄적임을 나타내기 위한 것이다.

Claims (20)

  1. 프로세스에 할당된 전력 관리 등급에 기초하여 접속형 대기 상태(connected standby state)로 전환하는 방법으로서,
    컴퓨팅 환경과 연관된 접속형 대기 상태로의 진입 요청(enter connected standby request)을 검출하는 단계와,
    상기 컴퓨팅 환경을 접속형 대기 상태로 전환하는 단계 - 상기 전환하는 단계는
    일시 정지 등급(suspend classification)을 할당받은 각각의 일시 정지 가능한 프로세스에 대해, 일시 정지 가능한 프로세스를 비실행 일시 정지 상태(non-executing suspended state)로 두는 단계와,
    조절 등급(throttling classification)을 할당받은 각각의 조절 가능한 프로세스에 대해, 조절 스케줄을 조절 가능한 프로세스에 할당하는 단계와,
    면제 등급(exempt classification)을 할당받은 각각의 면제 프로세스에 대해, 면제 프로세스를 실행 상태에서 계속 실행할 수 있게 하는 단계를 포함함 - 와,
    상기 접속형 대기 상태에 있는 동안, 상기 실행 상태와 상기 비실행 일시 정지 상태 사이에서 상기 조절 가능한 프로세스를 순환시키는 단계 - 상기 조절 스케줄은 상기 실행 상태와 연관된 실행 기간 및 상기 비실행 일시 정지 상태와 연관된 일시 정지 기간을 지정하고, 상기 컴퓨팅 환경은 제 1 조절 가능한 프로세스, 및 제 1 일시 정지 가능한 프로세스와 제 1 면제 프로세스 중 적어도 하나를 포함함 - 와,
    상기 제 1 일시 정지 가능한 프로세스가 제 2 일시 정지 가능한 프로세스와 연관된 리소스를 소비한다는 판정 혹은 상기 제 1 일시 정지 가능한 프로세스가 상기 제 2 일시 정지 가능한 프로세스의 자식 프로세스라는 판정 중 적어도 하나에 기초해서, 상기 제 1 일시 정지 가능한 프로세스가 상기 제 2 일시 정지 가능한 프로세스와 연관되어 있다고 판정하는 단계와,
    상기 제 1 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 둘 때 상기 제 2 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 두는 단계 혹은 상기 제 2 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 둘 때 상기 제 1 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 두는 단계 중 적어도 하나의 단계
    를 포함하는
    접속형 대기 상태로 전환하는 방법.
  2. 제1항에 있어서,
    상기 조절 가능한 프로세스는, 관리된 수명을 갖는 애플리케이션과 관련된 프로세스를 포함하는
    접속형 대기 상태로 전환하는 방법.
  3. 제1항에 있어서,
    상기 제 1 일시 정지 가능한 프로세스는 사진 업로딩 프로세스를 포함하고,
    상기 제 2 일시 정지 가능한 프로세스는 온라인 사진 공유 프로세스를 포함하는
    접속형 대기 상태로 전환하는 방법.
  4. 제1항에 있어서,
    상기 조절 가능한 프로세스는, 메시징 기능 프로세스, 안티바이러스 프로세스 혹은 이메일 기능 프로세스 중 적어도 하나를 포함하는
    접속형 대기 상태로 전환하는 방법.
  5. 제1항에 있어서,
    상기 컴퓨팅 환경을 접속형 대기 상태로 전환하는 단계는
    상기 조절 스케줄을 상기 조절 가능한 프로세스에 할당하기 전에 상기 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 두는 단계를 포함하는
    접속형 대기 상태로 전환하는 방법.
  6. 제1항에 있어서,
    상기 제 1 일시 정지 가능한 프로세스 혹은 상기 제 2 일시 정지 가능한 프로세 중 적어도 하나는 워드 프로세싱 프로세스를 포함하는
    접속형 대기 상태로 전환하는 방법.
  7. 제1항에 있어서,
    상기 제 1 일시 정지 가능한 프로세스가 상기 일시 정지 가능한 프로세스와 같거나, 혹은 상기 제 2 일시 정지 가능한 프로세스가 상기 일시 정지 가능한 프로세스와 같은
    접속형 대기 상태로 전환하는 방법.
  8. 제1항에 있어서,
    상기 제 1 일시 정지 가능한 프로세스는 상기 일시 정지 가능한 프로세스와 상이하고,
    상기 제 1 일시 정지 가능한 프로세스는 상기 제 2 일시 정지 가능한 프로세스와 상이하며,
    상기 제 2 일시 정지 가능한 프로세스는 상기 일시 정지 가능한 프로세스와 상이한
    접속형 대기 상태로 전환하는 방법.
  9. 제1항에 있어서,
    상기 제 1 면제 프로세스는 상기 면제 프로세스에 대응하는
    접속형 대기 상태로 전환하는 방법.
  10. 제1항에 있어서,
    상기 접속형 대기 상태에 있는 동안에, 새로운 전력 관리 등급으로 새롭게 생성된 프로세스를 분류하고, 상기 새로운 전력 관리 등급을 실시하는 단계를 더 포함하는
    접속형 대기 상태로 전환하는 방법.
  11. 제1항에 있어서,
    상기 접속형 대기 상태에 있는 동안에, 상기 컴퓨팅 환경과 연관된 컴퓨팅 장치의 화면을 끄는 단계를 더 포함하는
    접속형 대기 상태로 전환하는 방법.
  12. 제1항에 있어서,
    상기 일시 정지 등급은, 프로세스가 컴퓨팅 시스템 장애(computing system failure) 없이 일시 정지될 수 있는지 여부 및 상기 프로세스와 연관된 제한된 런타임 기능이 요구되지 않는지의 여부에 대응하는
    접속형 대기 상태로 전환하는 방법.
  13. 제1항에 있어서,
    상기 조절 등급은, 프로세스가 컴퓨팅 시스템 장애 없이 조절될 수 있는지 여부 및 상기 프로세스와 연관된 제한된 런타임 기능이 요구되는지 여부에 대응하는
    접속형 대기 상태로 전환하는 방법.
  14. 제1항에 있어서,
    상기 면제 등급은, 프로세스가 컴퓨팅 시스템 장애 없이 일시 정지 혹은 조절될 수 있는지 여부에 대응하는
    접속형 대기 상태로 전환하는 방법.
  15. 제1항에 있어서,
    상기 면제 프로세스는 코어 커널 프로세스, 장치 드라이버, 및 코어 커널 프로세스에 대한 지원 프로세스 중 적어도 하나를 포함하는
    접속형 대기 상태로 전환하는 방법.
  16. 프로세스에 할당된 전력 관리 등급에 기초하여 접속형 대기 상태로 전환하는 시스템으로서,
    하나 이상의 처리 유닛과,
    상기 하나 이상의 처리 유닛 중 적어도 하나에 의해 실행될 때 전환 컴포넌트를 구현하는 명령어가 저장된 메모리
    를 포함하고,
    상기 전환 컴포넌트는,
    컴퓨팅 환경과 연관된 접속형 대기 상태로의 진입 요청을 검출하고,
    상기 컴퓨팅 환경을 접속형 대기 상태로 전환하며 - 상기 컴퓨팅 환경을 접속형 대기 상태로 전환하는 것은
    일시 정지 등급을 할당받은 각각의 일시 정지 가능한 프로세스에 대해, 일시 정지 가능한 프로세스를 비실행 일시 정지 상태로 되게 하는 것과,
    조절 등급을 할당받은 각각의 조절 가능한 프로세스에 대해, 조절 스케줄을 조절 가능한 프로세스에 할당하는 것과,
    면제 등급을 할당받은 각각의 면제 프로세스에 대해, 면제 프로세스를 실행 상태에서 계속 실행할 수 있게 하는 것을 포함함 - ,
    제 1 일시 정지 가능한 프로세스가 제 2 일시 정지 가능한 프로세스와 연관된 리소스를 소비한다는 판정 혹은 상기 제 1 일시 정지 가능한 프로세스가 상기 제 2 일시 정지 가능한 프로세스의 자식 프로세스라는 판정 중 적어도 하나에 기초해서, 상기 제 1 일시 정지 가능한 프로세스가 상기 제 2 일시 정지 가능한 프로세스와 연관되어 있다고 판정하고,
    상기 제 1 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 둘 때 상기 제 2 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 두는 것, 혹은 상기 제 2 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 둘 때 상기 제 1 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 두는 것 중 적어도 하나를 행하도록 구성되는
    접속형 대기 상태로 전환하는 시스템.
  17. 제16항에 있어서,
    상기 명령어는 실행될 때 조절 컴포넌트를 더 구현하고,
    상기 조절 컴포넌트는, 상기 접속형 대기 상태에 있는 동안, 상기 실행 상태와 상기 비실행 일시 정지 상태 사이에서 상기 조절 가능한 프로세스를 순환시키며,
    상기 조절 스케줄은 상기 실행 상태와 연관된 실행 기간 및 상기 비실행 일시 정지 상태와 연관된 일시 정지 기간을 지정하고, 상기 컴퓨팅 환경은 제 1 조절 가능한 프로세스, 및 제 1 일시 정지 가능한 프로세스와 제 1 면제 프로세스 중 적어도 하나를 포함하는
    접속형 대기 상태로 전환하는 시스템.
  18. 제16항에 있어서,
    상기 제 1 일시 정지 가능한 프로세스가 상기 일시 정지 가능한 프로세스와 같거나, 혹은 상기 제 2 일시 정지 가능한 프로세스가 상기 일시 정지 가능한 프로세스와 같은
    접속형 대기 상태로 전환하는 시스템.
  19. 제16항에 있어서,
    상기 전환 컴포넌트는 또한, 상기 조절 스케줄을 상기 조절 가능한 프로세스에 할당하기 전에 상기 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 두도록 구성되는
    접속형 대기 상태로 전환하는 시스템.
  20. 실행될 때, 프로세스에 할당된 전력 관리 등급에 기초하여 접속형 대기 상태로 전환하는 방법을 수행하는 명령어를 포함하는 컴퓨터 판독 가능 메모리로서,
    상기 방법은,
    컴퓨팅 환경과 연관된 접속형 대기 상태로의 진입 요청을 검출하는 단계와,
    상기 컴퓨팅 환경을 접속형 대기 상태로 전환하는 단계 - 상기 전환하는 단계는
    일시 정지 등급을 할당받은 각각의 일시 정지 가능한 프로세스에 대해, 일시 정지 가능한 프로세스를 비실행 일시 정지 상태로 두는 단계와,
    조절 등급을 할당받은 각각의 조절 가능한 프로세스에 대해, 조절 스케줄을 조절 가능한 프로세스에 할당하는 단계와,
    면제 등급을 할당받은 각각의 면제 프로세스에 대해, 면제 프로세스를 실행 상태에서 계속 실행할 수 있게 하는 단계를 포함함 - 와,
    제 1 일시 정지 가능한 프로세스가 제 2 일시 정지 가능한 프로세스와 연관된 리소스를 소비한다는 판정 혹은 상기 제 1 일시 정지 가능한 프로세스가 상기 제 2 일시 정지 가능한 프로세스의 자식 프로세스라는 판정 중 적어도 하나에 기초해서, 상기 제 1 일시 정지 가능한 프로세스가 상기 제 2 일시 정지 가능한 프로세스와 연관되어 있다고 판정하는 단계와,
    상기 제 1 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 둘 때 상기 제 2 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 두는 단계 혹은 상기 제 2 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 둘 때 상기 제 1 일시 정지 가능한 프로세스를 상기 비실행 일시 정지 상태로 두는 단계 중 적어도 하나의 단계
    를 포함하는
    컴퓨터 판독 가능 메모리.
KR1020147003432A 2011-08-10 2011-10-07 접속형 대기 상태를 프로세스의 일시 정지 및/또는 조절 기법 KR101839646B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/207,118 2011-08-10
US13/207,118 US8935697B2 (en) 2011-08-10 2011-08-10 Suspension and/or throttling of processes for connected standby
PCT/US2011/055452 WO2013022462A1 (en) 2011-08-10 2011-10-07 Suspension and/or throttling of processes for connected standby

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020187006768A Division KR101898847B1 (ko) 2011-08-10 2011-10-07 접속형 대기 상태를 프로세스의 일시 정지 및/또는 조절 기법

Publications (2)

Publication Number Publication Date
KR20140061392A KR20140061392A (ko) 2014-05-21
KR101839646B1 true KR101839646B1 (ko) 2018-03-16

Family

ID=47668753

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187006768A KR101898847B1 (ko) 2011-08-10 2011-10-07 접속형 대기 상태를 프로세스의 일시 정지 및/또는 조절 기법
KR1020147003432A KR101839646B1 (ko) 2011-08-10 2011-10-07 접속형 대기 상태를 프로세스의 일시 정지 및/또는 조절 기법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020187006768A KR101898847B1 (ko) 2011-08-10 2011-10-07 접속형 대기 상태를 프로세스의 일시 정지 및/또는 조절 기법

Country Status (11)

Country Link
US (2) US8935697B2 (ko)
EP (1) EP2742399B1 (ko)
JP (1) JP5951771B2 (ko)
KR (2) KR101898847B1 (ko)
CN (1) CN103765343B (ko)
AU (1) AU2011374894B2 (ko)
BR (1) BR112014002886B1 (ko)
CA (1) CA2844294C (ko)
ES (1) ES2660549T3 (ko)
MX (1) MX336149B (ko)
WO (1) WO2013022462A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101796532B1 (ko) * 2011-06-22 2017-11-10 삼성전자주식회사 수면 모드 제어를 통한 에너지 절감 시스템 및 시스템의 동작 방법
JP5882837B2 (ja) * 2012-06-11 2016-03-09 キヤノン株式会社 情報処理システム、画像形成装置、制御方法およびコンピュータプログラム
CN103853610B (zh) * 2012-12-07 2018-11-16 腾讯科技(深圳)有限公司 资源优化方法及装置
US9681378B2 (en) 2013-04-12 2017-06-13 Microsoft Technology Licensing, Llc Energy efficient data handling for mobile devices
US20140373027A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Application lifetime management
US9171236B1 (en) 2014-05-09 2015-10-27 Xerox Corporation Dynamic spooler load balancing
CN104503856B (zh) * 2014-12-02 2019-06-14 青岛海信宽带多媒体技术有限公司 一种嵌入式系统的控制方法及装置
US10379560B2 (en) * 2015-10-05 2019-08-13 Savant Systems, Llc Home automation system device power optimization
US10268254B2 (en) 2016-01-15 2019-04-23 Google Llc Systems and methods for extending battery life by monitoring mobile application activity
US10462745B2 (en) * 2016-01-15 2019-10-29 Google Llc Systems and methods for extending battery life by monitoring device activity
US10678925B2 (en) * 2017-06-26 2020-06-09 Microsoft Technology Licensing, Llc Data quarantine and recovery
KR20200125258A (ko) * 2019-04-26 2020-11-04 삼성전자주식회사 어플리케이션 실행을 제어하기 위한 방법, 이를 위한 전자 장치 및 저장 매체
CN113032171B (zh) * 2021-03-30 2023-12-22 联想(北京)有限公司 一种控制方法及装置
US11755360B2 (en) * 2021-07-14 2023-09-12 International Business Machines Corporation Detecting layered bottlenecks in microservices
US11874722B2 (en) * 2021-08-02 2024-01-16 Dell Products L.P. Applying modern standby configurations on a per-application basis

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526585B2 (en) * 2005-08-30 2009-04-28 Samsung Electronics Co., Ltd. Multi-tasking apparatus and method in portable terminal wherein controller switches to standby mode while playing music file as background music
US20090113444A1 (en) * 2007-10-31 2009-04-30 Google Inc. Application Management
US7702733B2 (en) * 2003-09-18 2010-04-20 Vulcan Portals Inc. Low power email functionality for an electronic device

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511203A (en) * 1994-02-02 1996-04-23 Advanced Micro Devices Power management system distinguishing between primary and secondary system activity
US5944829A (en) 1996-09-30 1999-08-31 Intel Corporation Adjusting software characteristics by user interface based upon battery level and the amount of time the user wants the battery to last
US6260150B1 (en) 1998-03-10 2001-07-10 Agere Systems Guardian Corp. Foreground and background context controller setting processor to power saving mode when all contexts are inactive
US6834386B1 (en) 1999-07-16 2004-12-21 Microsoft Corporation Method and system for regulating background tasks using performance measurements
US6851065B2 (en) 2001-09-10 2005-02-01 Dell Products L.P. System and method for executing resume tasks during a suspend routine
US7082542B2 (en) * 2001-12-21 2006-07-25 Intel Corporation Power management using processor throttling emulation
US20030214481A1 (en) 2002-05-14 2003-11-20 Yongming Xiong Finger worn and operated input device and method of use
US20050066209A1 (en) 2003-09-18 2005-03-24 Kee Martin J. Portable electronic device having high and low power processors operable in a low power mode
WO2006062270A1 (en) 2004-12-08 2006-06-15 Electronics And Telecommunications Research Institute Power management method for platform and that platform
JP4548601B2 (ja) * 2005-04-20 2010-09-22 株式会社デンソー 自動車用制御ユニット
US7721331B1 (en) * 2005-05-19 2010-05-18 Adobe Systems Inc. Methods and apparatus for performing a pre-processing activity
US7500091B2 (en) 2005-11-30 2009-03-03 Microsoft Corporation Delay start-up of applications
US20070245163A1 (en) 2006-03-03 2007-10-18 Yung-Hsiang Lu Power management in computer operating systems
US7584376B2 (en) 2006-08-23 2009-09-01 Palm, Inc. Method and apparatus for power management
KR100752135B1 (ko) 2006-09-15 2007-08-27 삼성전자주식회사 휴대용 단말기에서 절전 모드 관리를 위한 장치 및 방법
KR20080060649A (ko) 2006-12-27 2008-07-02 엘지전자 주식회사 데이터 처리 장치 및 방법
US7853812B2 (en) 2007-02-07 2010-12-14 International Business Machines Corporation Reducing power usage in a software application
JP4444310B2 (ja) * 2007-05-30 2010-03-31 株式会社東芝 携帯電話機
JP4805223B2 (ja) * 2007-07-27 2011-11-02 レノボ・シンガポール・プライベート・リミテッド 充電システムおよび充電方法
US8209701B1 (en) * 2007-09-27 2012-06-26 Emc Corporation Task management using multiple processing threads
US9516116B2 (en) * 2008-06-06 2016-12-06 Apple Inc. Managing notification service connections
US9027027B2 (en) * 2008-06-09 2015-05-05 Microsoft Technology Licensing, Llc Thread management based on device power state
US8229410B2 (en) 2008-06-30 2012-07-24 Qualcomm Incorporated Methods for supporting multitasking in a mobile device
US8305249B2 (en) 2008-07-18 2012-11-06 EchoStar Technologies, L.L.C. Systems and methods for controlling power consumption in electronic devices
US8510577B2 (en) 2008-07-28 2013-08-13 Microsoft Corporation Reducing power consumption by offloading applications
US8140876B2 (en) 2009-01-16 2012-03-20 International Business Machines Corporation Reducing power consumption of components based on criticality of running tasks independent of scheduling priority in multitask computer
KR101498225B1 (ko) 2009-02-19 2015-03-04 삼성전자주식회사 데이터 저장 장치 및 그것의 전원 관리 방법
US8291422B2 (en) * 2009-05-11 2012-10-16 Bbn Technologies Corp. Energy-aware computing environment scheduler
US8970507B2 (en) 2009-10-02 2015-03-03 Blackberry Limited Method of waking up and a portable electronic device configured to perform the same
JP4970560B2 (ja) * 2010-01-23 2012-07-11 レノボ・シンガポール・プライベート・リミテッド 特定の機能を維持しながら消費電力を低減するコンピュータ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702733B2 (en) * 2003-09-18 2010-04-20 Vulcan Portals Inc. Low power email functionality for an electronic device
US7526585B2 (en) * 2005-08-30 2009-04-28 Samsung Electronics Co., Ltd. Multi-tasking apparatus and method in portable terminal wherein controller switches to standby mode while playing music file as background music
US20090113444A1 (en) * 2007-10-31 2009-04-30 Google Inc. Application Management

Also Published As

Publication number Publication date
CN103765343A (zh) 2014-04-30
KR20180030235A (ko) 2018-03-21
CN103765343B (zh) 2016-08-17
CA2844294A1 (en) 2013-02-14
JP5951771B2 (ja) 2016-07-13
EP2742399B1 (en) 2017-11-22
BR112014002886A2 (pt) 2017-02-21
US20130042246A1 (en) 2013-02-14
EP2742399A1 (en) 2014-06-18
BR112014002886B1 (pt) 2021-06-08
KR20140061392A (ko) 2014-05-21
MX2014001630A (es) 2014-05-28
CA2844294C (en) 2019-01-15
US8935697B2 (en) 2015-01-13
KR101898847B1 (ko) 2018-10-31
AU2011374894B2 (en) 2017-04-20
US20130042131A1 (en) 2013-02-14
EP2742399A4 (en) 2015-04-22
US8930951B2 (en) 2015-01-06
RU2014104356A (ru) 2015-08-20
ES2660549T3 (es) 2018-03-22
MX336149B (es) 2016-01-06
JP2014522061A (ja) 2014-08-28
WO2013022462A1 (en) 2013-02-14
AU2011374894A1 (en) 2014-02-27

Similar Documents

Publication Publication Date Title
KR101805972B1 (ko) 연결 상태로 대기하기 위한 프로세스의 일시 정지 및/또는 조절 기법
KR101839646B1 (ko) 접속형 대기 상태를 프로세스의 일시 정지 및/또는 조절 기법
KR101850577B1 (ko) 연결 상태로 대기하기 위한 프로세스의 일시 정지 및/또는 조절 기법
US9489236B2 (en) Application prioritization
RU2575376C2 (ru) Приостановка и/или регулирование процессов для режима ожидания с подключением

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
A107 Divisional application of patent
GRNT Written decision to grant