KR20140072020A - 연결 상태로 대기하기 위한 프로세스의 일시 정지 및/또는 조절 기법 - Google Patents

연결 상태로 대기하기 위한 프로세스의 일시 정지 및/또는 조절 기법 Download PDF

Info

Publication number
KR20140072020A
KR20140072020A KR1020147003433A KR20147003433A KR20140072020A KR 20140072020 A KR20140072020 A KR 20140072020A KR 1020147003433 A KR1020147003433 A KR 1020147003433A KR 20147003433 A KR20147003433 A KR 20147003433A KR 20140072020 A KR20140072020 A KR 20140072020A
Authority
KR
South Korea
Prior art keywords
computing environment
state
connected standby
function
suspended
Prior art date
Application number
KR1020147003433A
Other languages
English (en)
Other versions
KR101805972B1 (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 KR20140072020A publication Critical patent/KR20140072020A/ko
Application granted granted Critical
Publication of KR101805972B1 publication Critical patent/KR101805972B1/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
    • 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
    • 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
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (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 (15)

  1. 연결된 대기 상태(connected standby state)로부터 실행 상태로 전환하는 방법으로서,
    컴퓨팅 환경과 연관된 연결된 대기 상태로부터의 이탈 요청(exit connected standby request)을 검출하는 단계와,
    상기 컴퓨팅 환경을 연결된 대기 상태로부터 실행 상태로 전환하는 단계를 포함하되,
    상기 전환하는 단계는
    일시 정지 등급(suspend classification)을 할당받은 각각의 일시 정지된 프로세스에 대해, 실행 기능을 일시 정지된 프로세스로 복귀시키는 단계와,
    조절 등급(throttling classification)을 할당받은 각각의 조절된 프로세스에 대해, 실행 기능을 조절된 프로세스로 복귀시키는 단계를 포함하는
    방법.
  2. 제1항에 있어서,
    실행 기능을 상기 일시 정지된 프로세스로 복귀시키기 전에 실행 기능을 상기 조절된 프로세스로 복귀시키는 단계를 포함하는
    방법.
  3. 제2항에 있어서,
    상기 일시 정지된 프로세스는 상기 조절된 프로세스로부터의 자원을 소비하도록 구성된
    방법.
  4. 제1항에 있어서,
    실행 기능을 자식 일시 정지된 프로세스(child suspended process)로 복귀시키기 전에 실행 기능을 부모 일시 정지된 프로세스(parent suspended process)로 복귀시키는 단계를 포함하는
    방법.
  5. 제4항에 있어서,
    상기 자식 일시 정지된 프로세스는 상기 부모 일시 정지된 프로세스로부터의 자원을 소비하도록 구성된
    방법.
  6. 제1항에 있어서,
    상기 일시 정지 등급은 컴퓨팅 시스템 장애 없이 프로세스가 일시 정지될 수 있는지 여부 및 상기 프로세스와 연관된 제한된 런타임 기능이 요구되지 않는지 여부에 대응하는
    방법.
  7. 제1항에 있어서,
    상기 조절 등급은 컴퓨팅 시스템 장애 없이 프로세스가 조절될 수 있는지 여부 및 상기 프로세스와 연관된 제한된 런타임 기능이 요구되는지 여부에 대응하는
    방법.
  8. 제1항에 있어서,
    상기 조절된 프로세스는 원하는 상태 기능을 제공하는 시스템 세션 내에서 생성된 서비스를 포함하는
    방법.
  9. 제1항에 있어서,
    상기 일시 정지된 프로세스는 사용자 세션 내에서 생성된 사용자 애플리케이션을 포함하는
    방법.
  10. 연결된 대기 상태로부터 실행 상태로 전환하기 위한 시스템으로서,
    컴퓨팅 환경과 연관된 연결된 대기 상태로부터의 이탈 요청(exit connected standby request)을 검출하고, 상기 컴퓨팅 환경을 연결된 대기 상태로부터 실행 상태로 전환하도록 구성된 전환 컴포넌트를 포함하되,
    상기 컴퓨팅 환경을 연결된 대기 상태로부터 실행 상태로 전환하는 것은
    일시 정지 등급(suspend classification)을 할당받은 각각의 일시 정지된 프로세스에 대해, 실행 기능을 일시 정지된 프로세스로 복귀시키는 것과,
    조절 등급(throttling classification)을 할당받은 각각의 조절된 프로세스에 대해, 실행 기능을 조절된 프로세스로 복귀시키는 것을 포함하는
    시스템.
  11. 제10항에 있어서,
    상기 전환 컴포넌트는 실행 기능을 상기 일시 정지된 프로세스로 복귀시키기 전에 실행 기능을 상기 조절된 프로세스로 복귀시키도록 구성된
    시스템.
  12. 제11항에 있어서,
    상기 일시 정지된 프로세스는 상기 조절된 프로세스로부터의 자원을 소비하도록 구성된
    시스템.
  13. 제10항에 있어서,
    상기 전환 컴포넌트는 실행 기능을 자식 일시 정지된 프로세스(child suspended process)로 복귀시키기 전에 실행 기능을 부모 일시 정지된 프로세스(parent suspended process)로 복귀시키도록 구성되고,
    상기 자식 일시 정지된 프로세스는 상기 부모 일시 정지된 프로세스로부터의 자원을 소비하도록 구성된
    시스템.
  14. 제10항에 있어서,
    상기 전환 컴포넌트는 상기 조절된 프로세스에 적용된 조절 스케줄에 기초하여 실행 기능을 상기 조절된 프로세스로 복귀시키도록 구성된
    시스템.
  15. 제14항에 있어서,
    상기 전환 컴포넌트는, 상기 조절된 프로세스에 적용된 조절 스케줄을 적용해제하고(unapply), 상기 조절된 프로세스가 비실행 일시 정지된 상태에 있으면, 상기 조절된 프로세스를 실행 상태로 전환하도록 구성된
    시스템.
KR1020147003433A 2011-08-10 2011-10-07 연결 상태로 대기하기 위한 프로세스의 일시 정지 및/또는 조절 기법 KR101805972B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/207,138 US8788863B2 (en) 2011-08-10 2011-08-10 System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state
US13/207,138 2011-08-10
PCT/US2011/055464 WO2013022463A1 (en) 2011-08-10 2011-10-07 Suspension and/or throttling of processes for connected standby

Publications (2)

Publication Number Publication Date
KR20140072020A true KR20140072020A (ko) 2014-06-12
KR101805972B1 KR101805972B1 (ko) 2018-01-10

Family

ID=47668754

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147003433A KR101805972B1 (ko) 2011-08-10 2011-10-07 연결 상태로 대기하기 위한 프로세스의 일시 정지 및/또는 조절 기법

Country Status (11)

Country Link
US (3) US8788863B2 (ko)
EP (1) EP2742401B1 (ko)
JP (1) JP5960262B2 (ko)
KR (1) KR101805972B1 (ko)
CN (1) CN103765342B (ko)
AU (1) AU2011374895B2 (ko)
BR (1) BR112014002949A2 (ko)
CA (1) CA2844296A1 (ko)
MX (1) MX336965B (ko)
RU (1) RU2595577C2 (ko)
WO (1) WO2013022463A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2546744B1 (en) * 2010-03-11 2017-05-10 Fujitsu Limited Software control device, software control method, and software control program
US8788863B2 (en) 2011-08-10 2014-07-22 Microsoft Corporation System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state
EP2984810B1 (en) * 2013-04-12 2018-10-17 Microsoft Technology Licensing, LLC Energy efficient data handling for mobile devices
US9958928B2 (en) * 2013-07-09 2018-05-01 Nxp Usa, Inc. Method and apparatus for controlling an operating mode of a processing module
KR20160027757A (ko) * 2014-09-02 2016-03-10 삼성전자주식회사 전자 장치 내의 발열을 관리하기 위한 방법 및 이를 위한 전자 장치
US10733295B2 (en) 2014-12-30 2020-08-04 British Telecommunications Public Limited Company Malware detection in migrated virtual machines
EP3241142B1 (en) * 2014-12-30 2020-09-30 British Telecommunications public limited company Malware detection
US11159549B2 (en) 2016-03-30 2021-10-26 British Telecommunications Public Limited Company Network traffic threat identification
US11194901B2 (en) 2016-03-30 2021-12-07 British Telecommunications Public Limited Company Detecting computer security threats using communication characteristics of communication protocols
CN106095051B (zh) * 2016-05-31 2019-02-01 Oppo广东移动通信有限公司 一种移动终端应用程序的处理方法、装置及移动终端
WO2018033375A2 (en) 2016-08-16 2018-02-22 British Telecommunications Public Limited Company Mitigating security attacks in virtualised computing environments
WO2018033350A1 (en) 2016-08-16 2018-02-22 British Telecommunications Public Limited Company Reconfigured virtual machine to mitigate attack
JP7080604B2 (ja) * 2017-08-25 2022-06-06 キヤノン株式会社 クライアント装置、制御方法、およびプログラム
CN107608498B (zh) * 2017-09-28 2020-11-10 上海传英信息技术有限公司 应用程序管理方法及终端设备
US10949239B2 (en) 2018-12-14 2021-03-16 Hewlett Packard Enterprise Development Lp Application deployment in a container management system
CN114860392A (zh) * 2021-02-04 2022-08-05 腾讯科技(深圳)有限公司 客户端的保活方法、装置及存储介质
US11874722B2 (en) * 2021-08-02 2024-01-16 Dell Products L.P. Applying modern standby configurations on a per-application basis
DE102021130154A1 (de) * 2021-10-14 2023-04-20 Cariad Se Verfahren zum Einleiten eines Standby-Modus in einem Steuergerät eines Kraftfahrzeugs, entsprechend betreibbares Steuergerät und Kraftfahrzeug

Family Cites Families (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0479887A4 (en) * 1989-06-30 1992-08-12 Poqet Computer Corporation Computer power management system
US5511203A (en) 1994-02-02 1996-04-23 Advanced Micro Devices Power management system distinguishing between primary and secondary system activity
US5466171A (en) 1994-09-19 1995-11-14 Molex Incorporated Polarizing system for a blind mating electrical connector assembly
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
US5978366A (en) 1996-12-20 1999-11-02 Ericsson Inc. Methods and systems for reduced power operation of cellular mobile terminals
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
US6226694B1 (en) * 1998-04-29 2001-05-01 Hewlett-Packard Company Achieving consistency and synchronization among multiple data stores that cooperate within a single system in the absence of transaction monitoring
US6834386B1 (en) 1999-07-16 2004-12-21 Microsoft Corporation Method and system for regulating background tasks using performance measurements
US6912578B1 (en) 2000-02-25 2005-06-28 Sun Microsystems, Inc. Method and apparatus for improving utilization of a resource on a shared client
JP2001256066A (ja) 2000-02-29 2001-09-21 Internatl Business Mach Corp <Ibm> コンピュータシステム、オペレーティングシステムの切り替えシステム、オペレーティングシステムの実装方法、オペレーティングシステムの切り替え方法、記憶媒体及びプログラム伝送装置
JP2001318807A (ja) 2000-05-11 2001-11-16 Nec Microsystems Ltd タスク切り替え制御方法及び装置
US6883170B1 (en) 2000-08-30 2005-04-19 Aspect Communication Corporation Method and system to maintain a hierarchy of instantiated application objects and to enable recovery from an applications failure
US20020059357A1 (en) 2000-10-27 2002-05-16 Pac Interactive Technology, Inc System, method and apparatus of simplifying interpretation of suspend and wake-up functions in operating system for information appliance (IA)
US6766471B2 (en) * 2000-12-28 2004-07-20 International Business Machines Corporation User-level checkpoint and restart for groups of processes
US20040172631A1 (en) 2001-06-20 2004-09-02 Howard James E Concurrent-multitasking processor
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
US20030158609A1 (en) 2002-02-19 2003-08-21 Koninklijke Philips Electronics N.V. Power saving management for portable devices
US7564810B2 (en) 2002-05-08 2009-07-21 Microsoft Corporation Method and system for managing power consumption of a network interface module in a wireless computing device
US20030214481A1 (en) * 2002-05-14 2003-11-20 Yongming Xiong Finger worn and operated input device and method of use
TW564652B (en) 2002-09-05 2003-12-01 Ind Tech Res Inst A mobility management method and system for wireless data networks
US7506273B2 (en) 2003-03-19 2009-03-17 International Business Machines Corporation Method and system for modifying properties of graphical user interface components
CN1771693B (zh) 2003-06-30 2010-06-02 诺基亚公司 在无线短程通信终端中控制功耗的方法、设备以及短程无线通信系统
US7702733B2 (en) 2003-09-18 2010-04-20 Vulcan Portals Inc. Low power email functionality for an electronic device
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
JP2005107757A (ja) 2003-09-30 2005-04-21 Matsushita Electric Ind Co Ltd プログラムの暴走検出方法およびプログラムの暴走検出装置
WO2005033906A2 (en) 2003-09-30 2005-04-14 Mentor Graphics Corporation System verification using one or more automata
US7076637B2 (en) * 2003-10-29 2006-07-11 Qualcomm Inc. System for providing transitions between operating modes of a device
US7472389B2 (en) 2003-10-29 2008-12-30 Honeywell International Inc. Stochastically based thread budget overrun handling system and method
US7120794B2 (en) * 2003-10-29 2006-10-10 Qualcomm Inc. System for invoking a privileged function in a device
US7155726B2 (en) * 2003-10-29 2006-12-26 Qualcomm Inc. System for dynamic registration of privileged mode hooks in a device
US20050155011A1 (en) 2004-01-12 2005-07-14 Stephan Heik Method and system for restricting access in a distributed job environment
GB0411682D0 (en) 2004-05-25 2004-06-30 Chello Broadband N V Display of enhanced content
US7827558B2 (en) 2004-06-30 2010-11-02 Devicevm, Inc. Mechanism for enabling a program to be executed while the execution of an operating system is suspended
JP4622633B2 (ja) 2004-08-26 2011-02-02 セイコーエプソン株式会社 導電性材料用組成物、導電性材料、正孔輸送層、電子デバイスおよび電子機器
US7711868B2 (en) * 2004-11-23 2010-05-04 Microsoft Corporation Waking a main computer system to pre-fetch data for an auxiliary computing device
US20080141265A1 (en) 2004-12-08 2008-06-12 Electronics And Telecommunications Research Instit Power Management Method for Platform and that Platform
JP4380530B2 (ja) 2004-12-24 2009-12-09 株式会社デンソー マイクロコンピュータおよび時間計測方法
CN100375034C (zh) 2005-01-05 2008-03-12 联想(新加坡)私人有限公司 在计算机系统中用于对进程进行休眠的方法和系统
JP4157534B2 (ja) 2005-03-22 2008-10-01 三井造船株式会社 高温空気加熱器
US20060225107A1 (en) 2005-04-01 2006-10-05 Microsoft Corporation System for running applications in a resource-constrained set-top box environment
US20060236390A1 (en) 2005-04-18 2006-10-19 Research In Motion Limited Method and system for detecting malicious wireless applications
JP4548601B2 (ja) * 2005-04-20 2010-09-22 株式会社デンソー 自動車用制御ユニット
US20060248471A1 (en) 2005-04-29 2006-11-02 Microsoft Corporation System and method for providing a window management mode
US7721331B1 (en) 2005-05-19 2010-05-18 Adobe Systems Inc. Methods and apparatus for performing a pre-processing activity
US7373537B2 (en) 2005-06-28 2008-05-13 Intel Corporation Response to wake event while a system is in reduced power consumption state
US20070028052A1 (en) 2005-07-28 2007-02-01 International Business Machines Corporation Method and apparatus for maintaining cached state data for one or more shared devices in a logically partitioned computer system
KR100630204B1 (ko) 2005-08-30 2006-10-02 삼성전자주식회사 휴대단말기의 멀티태스킹 수행 장치 및 방법
US7500091B2 (en) * 2005-11-30 2009-03-03 Microsoft Corporation Delay start-up of applications
US7895309B2 (en) 2006-01-11 2011-02-22 Microsoft Corporation Network event notification and delivery
US20070245163A1 (en) 2006-03-03 2007-10-18 Yung-Hsiang Lu Power management in computer operating systems
CN102307377B (zh) 2006-03-03 2015-01-21 联想创新有限公司(香港) 移动电话及其控制方法
US7624260B2 (en) * 2006-05-04 2009-11-24 Qnx Software Systems Gmbh & Co. Kg System executing a fast boot wake-up
US7769028B2 (en) 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
JP4342576B2 (ja) 2006-07-25 2009-10-14 株式会社エヌ・ティ・ティ・ドコモ 複数オペレーティングシステム切替制御装置及びコンピュータシステム
US7584376B2 (en) 2006-08-23 2009-09-01 Palm, Inc. Method and apparatus for power management
CN100461070C (zh) * 2006-08-25 2009-02-11 佛山市顺德区顺达电脑厂有限公司 计算机系统的内存休眠唤醒方法
KR100752135B1 (ko) 2006-09-15 2007-08-27 삼성전자주식회사 휴대용 단말기에서 절전 모드 관리를 위한 장치 및 방법
KR20080060649A (ko) 2006-12-27 2008-07-02 엘지전자 주식회사 데이터 처리 장치 및 방법
US7962911B2 (en) 2007-02-02 2011-06-14 International Business Machines Corporation Method and apparatus for preventing undesired termination of a process in an information handling system
US7853812B2 (en) 2007-02-07 2010-12-14 International Business Machines Corporation Reducing power usage in a software application
KR20080086757A (ko) 2007-03-23 2008-09-26 주식회사 엘지텔레콤 이동통신단말기에서의 어플리케이션 구동방법
CN101312570B (zh) * 2007-05-21 2011-09-07 联芯科技有限公司 实现终端唤醒的方法和装置
JP4444310B2 (ja) * 2007-05-30 2010-03-31 株式会社東芝 携帯電話機
RU69691U1 (ru) 2007-06-22 2007-12-27 Федеральное государственное унитарное предприятие "Российский научно-исследовательский институт космического приборостроения" Мобильное устройство связи
JP4805223B2 (ja) 2007-07-27 2011-11-02 レノボ・シンガポール・プライベート・リミテッド 充電システムおよび充電方法
US8209701B1 (en) 2007-09-27 2012-06-26 Emc Corporation Task management using multiple processing threads
US8627327B2 (en) 2007-10-24 2014-01-07 International Business Machines Corporation Thread classification suspension
US8510743B2 (en) 2007-10-31 2013-08-13 Google Inc. Terminating computer applications
CN101470509B (zh) * 2007-12-27 2011-04-27 联想(北京)有限公司 计算机系统的控制方法、该计算机系统及笔记本电脑
US7895027B2 (en) 2008-01-17 2011-02-22 Springsoft, Inc. HDL re-simulation from checkpoints
US20090295746A1 (en) 2008-04-29 2009-12-03 Davidson Philip L Event registration and dispatch system and method for multi-point controls
GB0808576D0 (en) 2008-05-12 2008-06-18 Xmos Ltd Compiling and linking
US8776078B2 (en) 2008-05-20 2014-07-08 International Business Machines Corporation Method for dynamically freeing computer resources
CN101281480B (zh) 2008-05-21 2010-06-23 中兴通讯股份有限公司 一种嵌入式系统中实现睡眠功能的方法
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
US7861024B2 (en) 2008-09-30 2010-12-28 Intel Corporation Providing a set aside mechanism for posted interrupt transactions
US8910169B2 (en) 2008-09-30 2014-12-09 Intel Corporation Methods and systems to perform a computer task in a reduced power consumption state
US20100088495A1 (en) 2008-10-04 2010-04-08 Microsoft Corporation Mode-specific container runtime attachment
US8069345B2 (en) * 2008-10-29 2011-11-29 Netapp, Inc. Methods and systems for recovering a computer system using boot volume data from a storage area network
JP4729611B2 (ja) 2008-10-30 2011-07-20 株式会社エヌ・ティ・ティ・ドコモ イベントキュー管理装置及びイベントキュー管理方法
US8239667B2 (en) 2008-11-13 2012-08-07 Intel Corporation Switching between multiple operating systems (OSes) using sleep state management and sequestered re-baseable memory
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
US8280292B2 (en) 2009-02-11 2012-10-02 Eastman Kodak Company Method reducing image glosser artifacts
KR101498225B1 (ko) 2009-02-19 2015-03-04 삼성전자주식회사 데이터 저장 장치 및 그것의 전원 관리 방법
US8543803B2 (en) 2009-02-20 2013-09-24 Lenovo (Singapore) Pte Ltd Apparatus, system, and method for accurate automated scheduling of computer suspend and resume
US7853817B2 (en) 2009-02-26 2010-12-14 Apple Inc. Power management independent of CPU hardware support
US8352933B2 (en) 2009-03-26 2013-01-08 International Business Machines Corporation Concurrent patching of operating systems
US8291422B2 (en) * 2009-05-11 2012-10-16 Bbn Technologies Corp. Energy-aware computing environment scheduler
US8239867B2 (en) 2009-06-03 2012-08-07 Apple Inc. Method and apparatus for implementing atomic FIFO
CN101923382B (zh) 2009-06-16 2013-01-16 联想(北京)有限公司 一种计算机系统的节能方法及计算机系统
CN101944046A (zh) 2009-07-07 2011-01-12 英特尔公司 用于调度线程的技术
US8970507B2 (en) * 2009-10-02 2015-03-03 Blackberry Limited Method of waking up and a portable electronic device configured to perform the same
US8490075B2 (en) 2009-11-23 2013-07-16 Nokia Corporation Method and apparatus for optimizing an exchange of service updates
CN102087651A (zh) 2009-12-02 2011-06-08 石庆生 一种酒店客房服务控制装置
US9361165B2 (en) 2009-12-03 2016-06-07 International Business Machines Corporation Automated merger of logically associated messages in a message queue
GB2475902A (en) * 2009-12-04 2011-06-08 Invent Technology Solutions Ltd Downloading a media element as part of entering a low power state on activation of a HID device.
JP4970560B2 (ja) * 2010-01-23 2012-07-11 レノボ・シンガポール・プライベート・リミテッド 特定の機能を維持しながら消費電力を低減するコンピュータ
US8286011B2 (en) 2010-02-28 2012-10-09 Freescale Semiconductor, Inc. Method of waking processor from sleep mode
US9491690B2 (en) * 2010-07-15 2016-11-08 CSC Holdings, LLC Efficient searching for communications networks
US8688966B2 (en) 2010-08-31 2014-04-01 Apple Inc. Systems, methods, and computer-readable media for presenting visual content with a consistent orientation
CA2716646C (en) 2010-10-14 2020-04-07 Ibm Canada Limited - Ibm Canada Limitee Coordinated approach between middleware application and sub-systems
US8726063B2 (en) 2011-07-26 2014-05-13 Raytheon Company Systems and methods providing output sample frequency determinism by calculating a delay with a wall clock and using a timer to compensate for the delay
US8788863B2 (en) 2011-08-10 2014-07-22 Microsoft Corporation System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state
US8677158B2 (en) 2011-08-10 2014-03-18 Microsoft Corporation System and method for assigning a power management classification including exempt, suspend, and throttling to an process based upon various factors of the process

Also Published As

Publication number Publication date
RU2014104359A (ru) 2015-08-20
CN103765342A (zh) 2014-04-30
MX2014001631A (es) 2014-05-28
KR101805972B1 (ko) 2018-01-10
JP2014522062A (ja) 2014-08-28
AU2011374895B2 (en) 2017-02-09
WO2013022463A1 (en) 2013-02-14
US8788863B2 (en) 2014-07-22
US20170192487A1 (en) 2017-07-06
US9671816B2 (en) 2017-06-06
MX336965B (es) 2016-02-08
US20130042128A1 (en) 2013-02-14
RU2595577C2 (ru) 2016-08-27
EP2742401B1 (en) 2017-08-02
US20140351619A1 (en) 2014-11-27
BR112014002949A2 (pt) 2017-03-21
JP5960262B2 (ja) 2016-08-02
CA2844296A1 (en) 2013-02-14
US10684641B2 (en) 2020-06-16
EP2742401A4 (en) 2015-04-08
CN103765342B (zh) 2017-07-14
EP2742401A1 (en) 2014-06-18
AU2011374895A1 (en) 2014-02-27

Similar Documents

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

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination