MX2013014794A - Operaciones de dispositivo movil con optimizacion de bateria. - Google Patents

Operaciones de dispositivo movil con optimizacion de bateria.

Info

Publication number
MX2013014794A
MX2013014794A MX2013014794A MX2013014794A MX2013014794A MX 2013014794 A MX2013014794 A MX 2013014794A MX 2013014794 A MX2013014794 A MX 2013014794A MX 2013014794 A MX2013014794 A MX 2013014794A MX 2013014794 A MX2013014794 A MX 2013014794A
Authority
MX
Mexico
Prior art keywords
task
load
deferrable
mobile device
battery
Prior art date
Application number
MX2013014794A
Other languages
English (en)
Inventor
Marc Seinfeld
Chengi Jimy Kuo
Aaron Putnam
Jeff Williams
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of MX2013014794A publication Critical patent/MX2013014794A/es

Links

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
    • 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
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0264Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by selectively disabling software applications
    • 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/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

Se proporcionan técnicas para conservar energía de batería en dispositivos. Se colocan en cola una o más tareas aplazables para ejecución posterior. Se detecta un inicio de un evento de carga subsecuente para una batería del dispositivo. Se activa la tarea(s) aplazable colocada en cola para ejecutarse durante el evento de carga. Por ejemplo, puede habilitarse la tarea(s) aplazable colocada en cola para ejecutarse si se predice el evento de carga para ser un evento de carga de larga duración, tal como al referirse a un perfil de carga del dispositivo móvil. De esta forma, se conserva la energía de batería mientras el dispositivo está en uso y no se conecta a un cargador de batería.

Description

OPERACIONES DE DISPOSITIVO MOVIL CON OPTIMIZACION DE BATERIA ANTECEDENTES Los dispositivos móviles, también denominados algunas veces como dispositivos manuales, son dispositivos electrónicos que tienen el tamaño para transportarse y/o guardarse en el bolsillo por seres humanos. Los dispositivos móviles típicamente incluyen uno o más de un procesador rápido y capaz, una presentación rica pero pequeña, capacidad de comunicación inalámbrica, una pantalla táctil, un teclado de tamaño reducido, y/u otras características que permiten la movilidad del dispositivo. Tales dispositivos móviles también tienden a contener baterías recargables para proporcionar energía.
Los dispositivos móviles con baterías recargables tienen una tensión constante al proporcionar una experiencia rica mientras proporcionan una vida de batería con suficiente longevidad para permitirles entregar su valor mientras están activos (por ejemplo, mientras no están ligados a un cargador de batería). Un usuario de un dispositivo móvil típicamente desea transportar el dispositivo móvil con él, y no desea tener que dejar el dispositivo móvil para carga. Sin embargo, algunas funciones de dispositivo móvil, tales como funcionalidad de seguridad (por ejemplo, escaneo de virus, funcionalidad de respaldo, etc.), pueden utilizar ampliamente los recursos de procesamiento de dispositivos móviles, y por lo tanto pueden ser costosos en términos de uso de batería. Como un resultado, tales funciones de dispositivo pueden limitar la portabilidad de dispositivos móviles.
BREVE DESCRIPCION DE LA INVENCION Esta Breve Descripción se proporciona para introducir una selección de conceptos en una forma simplificada que además se describe a continuación en la Descripción Detallada. Esta Breve Descripción no pretende identificar características clave o características esenciales del tema reivindicado, ni pretende utilizarse para el limitar el alcance del tema reivindicado.
Se proporcionan métodos, sistemas, y productos de programa de computadora para conservar la energía de batería en dispositivos accionados por batería, incluyendo dispositivos inmóviles y móviles. La energía de batería se conserva en tales dispositivos al seleccionar tareas de aplazamiento que se determinan para ser aplazables. Las tareas se aplazan hasta que ocurre un evento de carga que puede soportar las tareas aplazadas. Cuando ocurre tal evento de carga, las tareas aplazadas se activan para realizarse. De esta forma, se reduce el uso de batería mientras los dispositivos no están conectados a un cargador de batería, permitiendo movilidad de dispositivo aumentada.
En una implementación de método ilustrativa, se ponen en cola una o más tareas aplazables para ejecución posterior. Se detecta el inicio de un evento de carga para una batería de un dispositivo móvil subsecuente a la colocación en cola. La tarea(s) aplazable puesta en cola se activa para ejecutarse durante el evento de carga. Por ejemplo, la tarea(s) aplazable en cola puede activarse para ejecutarse si se predice que el evento de carga será un evento de carga de larga duración, que puede determinarse al relacionarse con un perfil de carga del dispositivo móvil, o por otra técnica.
En una implementación de sistema ilustrativo, se proporciona un programador de tarea en un dispositivo móvil. El programador de tarea incluye un modo de puesta en cola de tarea, un monitor de carga, y un módulo habilitador de cola. El módulo de puesta en cola de tarea está configurado para poner en cola al menos una tarea aplazable para ejecución posterior. El monitor de carga está configurado para detectar un inicio de un evento de carga para una batería del dispositivo móvil subsecuente a poner en cola la tarea(s) aplazable. El módulo habilitador de cola está configurado para permitir que la tarea(s) aplazable se ejecute durante el evento de carga.
También se describen aquí productos de programa de computadora para conservar energía de batería para dispositivos móviles mientras se aplaza la ejecución de tareas hasta un tiempo de carga de batería, y para modalidades adicionales como se describe aquí.
Características y ventajas adicionales de la invención, así como la estructura y operación de varias modalidades de la invención, se describe con detalle a continuación con referencia a los dibujos anexos. Se observó que la invención no está limitada a modalidades específicas aquí descritas. Tales modalidades se presentan aquí para propósitos ilustrativos únicamente. Serán evidentes modalidades adicionales para expertos en la técnica(s) relevante basándose en las enseñanzas aquí contenidas.
BREVE DESCRIPCION DE LOS DIBUJOS/FIGURAS Los dibujos anexos, que se incorporan aquí forman una parte de la especificación, ilustran la presente invención y, junto con la descripción, además sirven para explicar los principios de la invención y para permitir a un experto en la técnica hacer y utilizar la invención.
La Figura 1 muestra un diagrama de bloques de un ambiente de dispositivo móvil, de acuerdo con una modalidad ilustrativa.
La Figura 2 muestra un cuadro de flujo que proporciona un procedimiento en un dispositivo móvil para programar tareas de dispositivo para un uso de batería más eficiente, de acuerdo con una modalidad ilustrativa.
La Figura 3 muestra un diagrama de bloques de un programador de tarea, de acuerdo con una modalidad ilustrativa.
La Figura 4 muestra un diagrama de bloques de lógica de operaciones de dispositivo, de acuerdo con una modalidad ilustrativa.
La Figura 5 muestra un proceso para predecir si un evento de carga es adecuado para que se ejecuten tareas aplazadas, de acuerdo con una modalidad ilustrativa.
La Figura 6 muestra un diagrama de bloques de un módulo habilitador de cola que incluye un analizador de evento de carga, de acuerdo con una modalidad ilustrativa.
La Figura 7 muestra un diagrama de bloques de un módulo habilitador de cola configurado para generar un perfil de carga, de acuerdo con una modalidad ilustrativa.
La Figura 8 muestra una gráfica que representa un perfil de carga de batería ilustrativo, de acuerdo con una modalidad.
La Figura 9 muestra un cuadro de flujo que proporciona un procedimiento para procesar una tarea no aplazable, de acuerdo con una modalidad ilustrativa.
La Figura 10 muestra un cuadro de flujo que proporciona un procedimiento para remover una tarea de estado aplazado, de acuerdo con una modalidad ilustrativa.
La Figura 11 muestra un diagrama de bloques de una computadora ilustrativa que puede utilizarse para implementar las modalidades de la presente invención.
Las características y ventajas de la presente invención serán evidentes a partir de la descripción detallada establecida a continuación cuando se toma en conjunto con los dibujos, en donde caracteres de referencia similares identifican elementos correspondientes en todo el documento. Los dibujos, números de referencia similares indican generalmente elementos idénticos, funcionalmente similares, y/o estructuralmente similares. El dibujo en el cual aparece primero un elemento se indica por el dígito(s) a la izquierda en el número de referencia correspondiente.
DESCRIPCION DETALLADA I. Introducción La presente especificación describe una o más modalidades que incorporan las características de la invención. La modalidad(es) descrita simplemente ejemplifica la invención. El alcance de la invención no está limitada a la modalidad(es) descrita. La invención se define por las reivindicaciones anexas a esto.
Referencias en la especificación a "una modalidad", "modalidad" o "la modalidad ilustrativa", etc., indican que la modalidad descrita puede incluir un aspecto, estructura, característica particular, pero cada modalidad puede no incluir necesariamente el aspecto, estructura, o característica particular. Además, tales frases no necesariamente están haciendo referencia a la misma modalidad. Además, cuando se describe un aspecto, estructura o característica particular en conexión con una modalidad, se afirma que está dentro del conocimiento del experto en la técnica lograr tal aspecto, estructura, o característica en conexión con otras modalidades ya sea descritas o no explícitamente.
Existen muchos tipos de dispositivos accionados por batería, incluyendo dispositivos móviles que contienen baterías y dispositivos fijos que utilizan energía de batería. Por ejemplo, los dispositivos electrónicos manuales pueden incluir una batería, pueden consumir energía de batería (descarga) durante la operación móvil, y pueden acoplarse a un dispositivo de carga para recargar la batería cuando están en descanso (no móvil). Las operaciones de estos y otros tipos de dispositivos accionados por batería que ocurre mientras se consume energía de batería (descarga) frecuentemente se realizan sin conciencia de la batería de energía que consumen, independientemente de cómo mitiga la actividad. Por ejemplo, escaneos de virus y/o actualizaciones de software frecuentemente se realizan en un momento cuando no impactarán la actividad en él primer plano, pero no están configurados para incurrir en impacto mínimo sobre la vida de la batería. Como un resultado, la batería del dispositivo puede terminarse durante uso, y por lo tanto el dispositivo puede necesitar dejarse por el usuario acoplado al cargador. En un caso, puede realizarse escaneo de virus basándose en respuesta a brote de virus, a demanda, en tiempos de programados, etc. Estas actividades son típicamente "de detección" y no necesitan ejecutarse continuamente. Tales operaciones pueden ejecutarse sin impactar la energía de batería apreciada.
En modalidades, se proporcionan técnicas para conservar la energía de batería en dispositivos accionado por batería, tales como dispositivos móviles y otros tipos de dispositivos accionados por batería. Observar que aunque las modalidades se describen aquí frecuentemente con referencia a dispositivos móviles, tales modalidades se describen de esta forma para propósitos de ilustración, y no pretende limitarse a dispositivos móviles. También son aplicables modalidades a otros tipos de dispositivos accionados por batería (por ejemplo, sistemas de seguridad, sistema de control, etc.).
En modalidades, pueden aplazarse operaciones de dispositivo hasta que la batería del dispositivo está acoplada a un cargador de batería, conservar la energía de batería mientras el dispositivo es móvil o de otra forma no está acoplado a la energía. Las modalidades pueden tomar en cuenta diferentes factores para conservar energía de batería para un dispositivo accionado por batería, incluyendo un perfil/uso AC/DC del dispositivo, y puede optimizar las funciones del dispositivo (por ejemplo, funciones de seguridad, etc.) para ocurrir tanto como sea posible cuando el dispositivo está tomando ventaja apropiada de energía de cargador contra energía de batería, sin sacrificar la funcionalidad del dispositivo.
Por ejemplo, pueden desviarse operaciones de seguridad no en tiempo real, no proactivas y/u otra operación para ocurrir durante eventos/ciclos de carga dedicados/extendidos y pueden desviarse además hacia el último extremo de tales eventos de carga de manera que si se remueve el dispositivo de un cargador antes de lo anticipado, puede obtenerse confianza de que el dispositivo ha sido cargado y "asegurado". En otro ejemplo, pueden descargarse archivos, aplicaciones (por ejemplo "apps"), y/o instaladores a un dispositivo móvil, y en el caso de aplicaciones/instaladores, pueden no ejecutarse inmediatamente. Pueden guardarse en memoria caché indicaciones de las descargas, y los archivos/aplicaciones/instaladores descargados puede escanearse durante el tiempo de cargador. De esta forma, incluso si los archivos/aplicaciones/instaladores fueron instalados mientras el dispositivo móvil se está ejecutando en la energía de batería, pueden evitarse instalaciones de escaneo en evento opcional.
En modalidades, pueden utilizarse varios factores para anticipar cuándo ocurrirá el tiempo de cargador de batería, y por cuanto es probable que ocurre la carga de batería, tomando en cuenta cuanto tiempo tardan en ocurrir las operaciones de seguridad y/u otras funciones que de otra forma agregan energía de batería. Por consiguiente, pueden anticiparse, y utilizarse tiempos para iniciar operaciones de seguridad y/u otras funciones para iniciar tal ejecución.
En Modalidades, un historial de la carga del dispositivo puede verificarse para predecir eventos de carga subsecuentes. E| historial y/u otros factores pueden utilizarse para configurar un perfil de carga para un dispositivo para ayudar a predecir si se está realizando un evento de carga suficientemente largo para permitir operaciones aplazadas. El perfil de carga puede terminarse basándose en uno o más factores, incluyendo información de perfil manualmente ingresada por un usuario, perfil estático y/o dinámico de historial de carga en curso, acceso y referencia al calendario/programación (almacenado en un dispositivo móvil y/o remotamente), acceso a una API/notificación a un cargador de dispositivo móvil, reconocimiento de capacidad de carga de batería, velocidad de carga, y un nivel de carga actual, y/o un uso de otros aspectos "sensibles/sensoriales" del dispositivo móvil.
Por ejemplo, después del uso de un día, un dispositivo móvil puede colocarse en un dispositivo móvil sobre un cargador en el lado de la cama de un usuario, en un contador de cocina, o en un cargador de un buró para dejar las llaves en la puerta de la cochera para que esté listo al día siguiente. Las operaciones de dispositivo que drenan energía pueden activarse para realizarse cuando el dispositivo móvil está recargando el dispositivo móvil (si el usuario está durmiendo). Las modalidades pueden ser adaptables a cualquier programa de usuario, incluyendo usuarios que trabajan el turno de día (que puede resultar en carga nocturna), turno nocturno (que pueden resultar en carga en el día), y/o cualquier otro programa de usuario posible.
Observar que algunos tiempos de carga no son suficientes para permitir que se activen tareas aplazadas. Por ejemplo, el tiempo que se está cargando un dispositivo móvil en un cargador de automóvil mientras maneja hacia/desde el trabajo puede no ser un tiempo adecuado para que se realicen operaciones de seguridad/mantenimiento del dispositivo intensivas. En modalidades, tales tiempos pueden distinguirse de manera que no se utilicen para realizar operaciones de dispositivo, tal como actividad de mantenimiento/seguridad.
Numerosas modalidades ilustrativas de la presente invención se describen como a continuación. Se observó que se proporcionan aquí cualquiera de los encabezados de sección/sub-sección que no pretenden ser limitantes. Se describen modalidades a través de este documento, y puede incluirse cualquier tipo de modalidad bajo cualquier sección/sub-sección.
II. Modalidades Ilustrativas Las modalidades proporcionan técnicas para conservar la energía de batería para dispositivos accionados por batería tales como dispositivos móviles. En particular, las modalidades permiten que se aplacen tareas aplazables hasta que se está cargando un dispositivo (es decir, está acoplado a un cargado de batería), y por lo tanto tiene mayor acceso a recursos de energía, en lugar de realizar las tareas durante uso regular (por ejemplo, cuando el dispositivo móvil esta acoplado a un cargador de batería, y por lo tanto se activan por movilidad). Tales modalidades permiten que se utilicen dispositivos por períodos de tiempo más prolongados entre ciclos de carga de batería. Una variedad de tareas realizadas en los dispositivos móviles pueden considerarse aplazables, durante operaciones de seguridad, operaciones de mantenimiento, descargas/instalaciones de archivo, y tipos adicionales de tareas.
Tales modalidades pueden implementarse en una variedad de ambientes. Por ejemplo, la Figura 1 muestra un diagrama de bloques de un ambiente de dispositivo móvil 100, de acuerdo con una modalidad ilustrativa. Como se muestra en la Figura 1, el ambiente 100 incluye un dispositivo móvil 102, un servidor 104, y un cargador 106. El ambiente 100 se describe a continuación.
El dispositivo móvil 102 puede ser cualquier tipo de dispositivo móvil, incluyendo una computadora móvil o dispositivo de cómputo (por ejemplo, un dispositivo Palm®, un dispositivo RIM Blackberry®, un asistente digital personal (PDA), una computadora laptop, una computadora notebook, una computadora tableta (por ejemplo, una ¡Pad™ de Apple, etc.), una netbooks, etc.), un teléfono móvil (por ejemplo con un teléfono celular como teléfono inteligente tal como un iPhone de Apple, un teléfono que incorpora la plataforma Android™ de Google, un teléfono que incorpora un sistema operativo de Microsoft tal como Windows Phone 7® de Microsoft, etc.), u otro tipo de dispositivo móvil. El dispositivo móvil 102 puede incluir uno o más procesadores y/u otra lógica de procesamiento, y una presentación que puede incluir una pantalla táctil, capacidad de comunicación inalámbrica, un teclado de tamaño reducido, y/u otras características que permiten que el dispositivo móvil 102 sea móvil (por ejemplo, transportado por un usuario humano por la mano y/o en una bolsa). El servidor 104 puede incluir uno o más servidores, que puede ser cualquier tipo de dispositivo de cómputo aquí descrito o de otra forma conocido que sirve a archivos, tal como archivos 222. Los archivos 222 pueden incluir varios tipos de archivos, incluyendo archivos de datos, páginas web, aplicaciones, etc.
El dispositivo móvil 102 y el servidor 104 están acoplados comunicativamente por la red 108. La red 108 puede incluir uno o más enlaces de comunicación y/o redes de comunicación, tales como una PAN (red de área personal), una LAN (red de área local), una WAN (red de área ancha), o una combinación de redes, tal como Internet. El dispositivo móvil 102 y el servidor 104 pueden acoplarse comunicativamente a la red 108 utilizando varios enlaces, incluyendo enlaces por cable y/o inalámbricos, tales como enlaces inalámbricos de LAN (WLAN) de IEEE 802.11, enlaces de Interoperabilidad Mundial para Acceso de Microondas (Wi-MAX), enlaces de red celular, enlaces de red de área personal inalámbrica (PAN) (por ejemplo, enlaces Bluetooth™), enlaces de Ethernet, enlaces de USB, etc.
El cargador 106 es un cargador de batería que está configurado para cargar baterías de los dispositivos móviles, tales como el dispositivo móvil 102. El cargador 106 puede ser externo al dispositivo móvil 102, como se muestra en la Figura 1, o puede ser parcial o completamente interna dispositivo móvil 102. El cargador 106 puede estar acoplado a una fuente de energía (por ejemplo, energía de corriente alterna (AC) de 60 Hz 120V, etc.) para recibir una corriente eléctrica y puede convertir la corriente eléctrica recibida a una corriente de carga a un voltaje DC (corriente directa) constante. Como se muestra en la Figura 1, el cargador 106 puede enviar la corriente de carga al dispositivo móvil 102 a través de un cable de carga 130, aunque en algunas implementaciones, el dispositivo móvil 102 puede incluir un conector que se conecta directamente al cargador 106 sin un cable de carga de intervención.
Como se muestra en la Figura 1, el dispositivo móvil 102 incluyen lógica de operaciones de dispositivo 114, un programador de tareas 116, al menos una batería 118, y un módulo de carga opcional 120. La lógica de operaciones de dispositivo 114 incluye lógica para realizar una o más operaciones en dispositivo móvil 102, incluyendo operaciones de seguridad, operaciones de mantenimiento, descargas/instalaciones de archivo, y tipos adicionales de tareas/operaciones. La lógica de operaciones de dispositivo 114 puede implementarse en varias formas para realizar las operaciones, incluyendo implementarse en hardware, software, firmware, o cualquier combinación de los mismos. Por ejemplo, la lógica de operaciones de dispositivo 114 puede implementarse como código de programa de computadora configurado para ejecutarse en uno o más procesadores. Alternativamente, la lógica de operaciones de dispositivos 114 puede implementarse como sistema de circuitos lógico/eléctrico de hardware. En una modalidad, la lógica de operaciones de dispositivos 114 puede implementarse en un sistema en chip (SoC). El SoC puede incluir un chip de circuito integrado que incluye uno o más de un procesador (por ejemplo, un microcontrolador, microprocesador, procesador de señal digital (DSP), etc.), memoria, una o más interfaces de comunicación, y/o circuitos adicionales y/o firmware incorporado que realiza sus funciones.
La batería 118 incluye una o más baterías recargables formadas de un material que permite la recarga. Por ejemplo, la batería 118 puede incluir una batería recargable a base de níquel, tal como batería de níquel-cadmio (NiCd) o de hidruro de metal de níquel (NiMH), una batería recargable basada en litio, tal como un ión de litio (ión Li) o batería de polímero de ión de litio (polímero de ión Li), u otro tipo de batería recargable. La carga en la batería 118 puede restaurarse por la aplicación de energía eléctrica. Durante la operación móvil del dispositivo móvil 102, la batería 118 puede proporcionar energía a componentes del dispositivo móvil 102 a través de un voltaje corriente directa (DC).
El módulo de carga 120 opcionalmente está presente en el dispositivo móvil 102 con el cual está presente, proporciona una interfase entre el cargador 106 y la batería 118. Alternativamente, el módulo de carga 120 puede incluir una porción o todo el cargador 106. Como se muestra en la Figura 1, el dispositivo de carga 120 puede acoplarse al cargador 106 a través de cable de carga 130 (u otra conexión) para recibir un voltaje/corriente de carga del cargador 106. El módulo de carga 120 puede incluir regulación y/o sistema de circuitos de protección (por ejemplo, protección de sobre corriente y/o sobre voltaje, protección de desviación inversa, etc.) para proteger la batería 118 y/o dispositivo móvil 102 de conectarse a la fuente energía que proporciona un voltaje/corriente que no es compatible con batería 118. Cuando está presente, el módulo de carga 120 proporciona una corriente de carga 128 a la batería 118 basándose en una corriente de carga recibida del cargador 106 a través del cable de carga 130 (u otra conexión). Cuando el módulo de carga 120 no está presente, el cargador 106 puede proporcionar corriente de carga 128 directamente a la batería 118.
Como se muestra en la Figura 1, el programador de tareas 116 puede recibir una indicación de carga 126 del módulo de carga 120. Cuando el módulo de carga 120 no está presente, el programador de tareas 116 puede recibir indicación de carga del cargador 106. La indicación de carga 126 puede ser una señal generada por el módulo de carga 120 o cargador 106 que indica si se está proporcionando corriente de carga 128 a la batería 118, indicando con ello si se está cargando la batería 118. Como tal, en una modalidad, la indicación de carga 126 puede ser una señal digital o análoga o que proporciona la indicación de carga. Una modalidad, el módulo de carga 120 puede incluir un resistor en serie con corriente de carga 128. Un valor de voltaje particular puede estar presente a través del resistor, y proporcionarse por indicación de carga 126, cuando la corriente de carga 128 está fluyendo a la batería 116 para indicar que la batería 116 está cargando. En otras modalidades, la indicación de carga 126 puede indicar si la batería 118 se está cargando por corriente de carga 128 en otras formas, como sería por expertos en la técnica en la técnica(s) relevante.
El programador de tareas 116 está configurado para programar una o más tareas/operaciones de lógica de operación de dispositivos 114 para operación durante períodos de tiempo con los que está cargando la batería 118. Por ejemplo, el programador de tareas 116 puede configurarse para permitir que se aplacen tareas aplazables hasta que se esté cargando la batería 118 del dispositivo móvil 102 por el cargador 106, y por lo tanto el dispositivo móvil 102 tiene acceso a mayores recursos de energía que sólo la batería 118, en lugar de realizar las tareas durante el uso regular (por ejemplo, cuando el dispositivo móvil 102 no está acoplado al cargador 106).
El programador de tarea 116 puede generar una señal de activación de tarea 124 que se recibe por la lógica de operaciones del dispositivo 114. La señal de activación de tareas 124 puede permitir que se realice una tarea aplazada de la lógica de operaciones de dispositivos 114. Por ejemplo, el programador de tareas 116 puede determinar a partir de la indicación de carga 126 que la batería 118 se está cargando, y como un resultado, puede generarse en la activación de tareas 124 para permitir que se realice una o más tareas aplazadas por lógica de operaciones de dispositivos 114. De esta forma, las tareas aplazables se realizan mientras se está cargando la batería 118, conservando con ello recursos de batería durante los tiempos que no se está cargando la batería 118. El programador de tareas 116 puede generar señal de activación de tareas 124 para permitir las tareas aplazadas inmediatamente cuadro se detecta un evento de carga adecuado, o puede retrasar la generación de la señal de activación de tarea 124 para permitir las tareas aplazadas hasta una porción posterior del evento de carga (por ejemplo, después que se ha cargado la batería 118 a un nivel deseado, como puede indicarse en la indicación de carga 126, o como puede terminarse de otra forma).
El programador de tareas 116 puede realizar sus funciones en varias formas, en modalidades. Por ejemplo, la Figura 2 muestra un cuadro de flujo 200 que proporciona un proceso para programar tareas para mayor eficiencia de batería en un dispositivo móvil, de acuerdo con la modalidad ilustrativa. En una modalidad, el cuadro de flujo 200 puede realizarse por el programador de tareas 116 de la Figura 1. El cuadro de flujo 200 se describe, a continuación con referencia al ambiente 100 de la Figura 1 y con referencia a las Figuras 3-8. Por ejemplo, la Figura 3 muestra un diagrama de bloques de un programador de tarea 300, de acuerdo con una modalidad ilustrativa. El programador de tarea 300 de la Figura 3 es un ejemplo del programador de tareas 116 de la Figura 1. Como se muestra en la Figura 3, el programador de tarea 300 incluye un módulo de puesta en cola de tareas 302 como un monitor de carga 304, y un módulo habilitador de cola 306. Modalidades estructurales y operativas adicionales serán evidentes para aquellos expertos en la técnica(s) basándose en la siguiente discusión con respecto al cuadro de flujo 200.
El cuadro de flujo 200 comienza, en el paso 202. En el paso 202, se pone en cola al menos una tarea aplazable para ejecución posterior. Por ejemplo, con referencia a la Figura 1, puede solicitarse lógica de operaciones de dispositivos 114 para realizar una tarea por un usuario del dispositivo móvil 102 (por ejemplo, por el usuario que interactuar con una interfase de usuario del dispositivo móvil 102) o puede configurarse para realizar una tarea por otra razón (por ejemplo, en respuesta a una tarea de archivo, en un tiempo predeterminado, etc.).
Como se describió anteriormente, la lógica de operaciones de dispositivos 114 puede configurarse para realizar una variedad de tareas que son aplazables. Por ejemplo, la Figura 4 muestra un diagrama de bloques de lógica de operaciones de dispositivos 114, de acuerdo con una modalidad ilustrativa. Como se muestra en la Figura 4, la lógica de operaciones de dispositivos 114 incluye lógica de operaciones de seguridad 402, un instalador 404, y lógica de operaciones de mantenimiento 406. La lógica de operaciones de seguridad 402, el instalador 404, y lógica de operaciones de mantenimiento 406 cada uno está configurado para realizar tareas para el dispositivo móvil 102, como se describe a continuación. Cada una de la lógica de operaciones de seguridad 402, instalador 404, y lógica de operaciones de mantenimiento 406 puede incluir tareas aplazables. Las tareas aplazables son aquellas tareas que no necesitan realizarse inmediatamente debido a que la operación del dispositivo móvil 102 no se perjudicaría por realizarlas posteriormente, y debido a que no se ha solicitado por un usuario del dispositivo móvil 102 para realizarse inmediatamente. Como tal, pueden realizarse tareas aplazables en un tiempo posterior (como se determinó por el programador de tarea 300). En modalidades, la lógica de operaciones de dispositivos 114 puede incluir una o más de estas características mostradas en la Figura 4 que pueden incluir tareas aplazables, y/o pueden incluir características adicionales o alternativas que incluyen tareas aplazables.
La lógica de operaciones de seguridad 402 incluye lógica para realizar una o más operaciones relacionadas con seguridad para el dispositivo móvil 102. Por ejemplo, como se muestra en la Figura 4, la lógica de operaciones de seguridad 402 puede incluir un módulo de escaneo 408, un módulo de respaldo 410, y/o un módulo de manejo de configuración 412. El módulo de escaneo 408 es un módulo de escaneo de virus que está configurado para realizar tareas de escaneo de virus en archivos que se descargan al dispositivo móvil 102 (por ejemplo, archivos 122 descargados del servidor 104 en la Figura 1). Ejemplos comercialmente disponibles del módulo de escaneo 408 se muestran para expertos en la técníca(s) relevante. El módulo de respaldo 410 está configurado para realizar tareas de respaldo para archivos en almacenamiento del dispositivo móvil 102 al almacenamiento remoto (no mostrado en la Figura 1). Ejemplos comercialmente disponibles de módulo de respaldo 410 se conocen por expertos en la técníca(s). El módulo de manejo de configuración 412 está configurado para realizar tareas de manejo de configuración para el dispositivo móvil 102. Ejemplos comercialmente disponibles del módulo de manejo de configuración 412 se conocen por expertos en la técnica(s). Tareas ilustrativas adicionales para lógica de operaciones de seguridad 402 se conocerán por expertos en la técnica(s).
Observar que en modalidades, el módulo de escaneo 408 puede configurarse para realizar escaneos completos de archivos y/o puede configurarse para realizar escaneos "ligeros", en donde un archivo es escaneado menos completamente para virus. Por ejemplo, el módulo de escaneo 408 puede realizar un escaneo ligero en un archivo para generar un resultado de escaneo. El resultado del escaneo puede ser un hash del archivo, u otro resultado puede ser analizado para hacer una determinación con suficiente probabilidad de si el archivo contiene un virus. El resultado del escaneo puede ser transmitido a un servidor remoto para análisis, tal como el servidor 104 mostrado en la Figura 1. El servidor puede analizar el resultado del escaneo (por ejemplo, el resultado hash, etc.), para determinar si el archivo puede tener un virus. Este análisis puede realizarse en varias formas, como se conocería por expertos en la técnica(s) relevante. Puede recibirse una indicación desde el servidor remoto si el archivo es malintencionado basándose en el análisis. Si el servidor remoto indica que el archivo es malintencionado, el archivo puede ponerse en cuarentena, eliminarse, o de otra forma desactivarse para no causar daño al dispositivo móvil 102 por el módulo de escaneo 408. Si el servidor remoto indica que el archivo no es malintencionado, puede realizarse una tarea de escaneo completo en el archivo. La tarea de escaneo completo puede aplazarse para ejecución posterior como una tarea aplazable, como se describe aquí.
El instalador 404 está configurado para realizar la instalación (y/o configuración) de aplicaciones (por ejemplo, programas de computadora), que pueden incluir la instalación y/o configuración de controladores, programas auxiliares, etc., en el dispositivo móvil 102 de manera que pueden ejecutarse las aplicaciones. El instalador 404 puede descargar aplicaciones (por ejemplo, de un servidor tal como el servidor 104 en la Figura 1) y/o instalar las aplicaciones descargadas en el dispositivo móvil 102. El instalador 404 también puede configurarse como un actualizador de aplicación que actualiza aplicaciones que ya están cargadas en el dispositivo móvil 102. Por ejemplo, el instalador 404 puede descargar las actualizaciones (por ejemplo, de un servidor tal como un servidor 104), e instala las actualizaciones a dispositivos en el dispositivo móvil. Ejemplos comercialmente disponibles del instalador 404 se conocen por expertos en la técnica(s) relevante.
La lógica de operaciones de mantenimiento 406 incluye lógica para realizar una o más operaciones relacionadas con mantenimiento para el dispositivo móvil 102. Por ejemplo, como se muestra en la Figura 4, la lógica de operaciones de mantenimiento 406 puede incluir un desfragmentador 414. El desfragmentador 414 es un módulo de desfragmentación que está configurado para realizar tareas de desfragmentación en un sistema de archivo de dispositivo móvil 102 para reducir fragmentación. Ejemplos comercialmente disponibles de desfragmentador 414 se conocen por expertos en la técnica(s) relevante. Tareas ilustrativas adicionales para lógica de operaciones de mantenimiento 406 se conocerán por un experto en la técnica(s) relevante.
En una modalidad, de acuerdo con el paso 202, una o más tareas aplazables se ponen en cola para ejecución posterior. Por ejemplo, durante la operación, la lógica de operaciones de dispositivos 114 puede determinar que una tarea (por ejemplo, una tarea de seguridad, una tarea de instalación, una tarea de mantenimiento, etc.) se va realizar. Por ejemplo, una tarea de descarga de archivo puede desear realizarse (por ejemplo, por instalador 404) para descargar uno o más archivos al dispositivo móvil 102. Alternativamente, un archivo puede ya haber sido descargado al dispositivo móvil 102 (por ejemplo, del servidor 104 én la Figura 1), y lógica de operaciones de seguridad 402 puede configurarse para realizar una operación de seguridad en el archivo, el instalador 404 puede estar configurado para instalar una aplicación asociada con el archivo, etc. Alternativamente, el módulo de respaldo 410 puede configurarse para realizar una tarea de respaldo para dispositivo móvil 102, puede configurarse lógica de operación de mantenimiento 406 para realizar una tarea de manejo de configuración, etc. Como tal, como se muestra en la Figura 3, el módulo de colocación en cola de tarea 302 puede recibir una solicitud para realizar tarea 308 de lógica de operaciones de dispositivos 114 que indica que cualquiera de una o más estas áreas, u otras tareas, desean realizarse por la lógica de operaciones de dispositivos 114.
El módulo de colocación en cola de tarea 302 está configurado para evaluar solicitud para llevar a cabo la tarea 308 para determinar si puede aplazarse la tarea indicada. Por ejemplo, en una modalidad, el módulo de colocación en cola de tarea 302 puede comparar la tarea indicada por la solicitud para realizar tarea 308 con una lista predeterminada de tareas aplazables (almacenadas en almacenamiento del positivo móvil 102), y si la tarea indicada coincide con una tarea en la lista predeterminada de tareas aplazables, el módulo de colocación en cola de tarea 302 puede determinar que puede aplazarse la tarea indicada. Por ejemplo, la solicitud para realizar tarea 308 puede incluir un identificador de tarea (ID de tarea) para la tarea indicada, y la lista predeterminada de tareas aplazables puede incluir identif icadores de tarea para cada una de las tareas aplazables enlistadas. Si el identificador de tarea para la tarea indicada coincide con un identificador para una tarea en la lista de tareas aplazables, el módulo de colocación en cola de tarea 302 puede determinar que puede aplazarse la tarea indicada. Si no ocurre una coincidencia, el módulo de colocación en cola de tarea 302 puede determinar que puede que la tarea indicada no se aplace.
Además, el módulo de colocación en cola de tarea 302 puede determinar si un usuario del dispositivo móvil 102 está solicitando que la tarea indicada sea realizada inmediatamente. En tal caso, la tarea indicada podría no ser aplazable. Por ejemplo, el usuario puede estar interactuando con una interfase de usuario (por ejemplo, un teclado, una pantalla táctil, un control activado por voz, etc.) del dispositivo móvil 102 para solicitar que la tarea sea realizada. El usuario puede estar interactuando con una interfase de herramienta de operaciones de seguridad, un navegador u otra interfase de descarga/instalador de archivo, una interfase de herramienta de mantenimiento, y/u otra interfase provista por el dispositivo móvil 102 para solicitar que una tarea sea realizada. Si la solicitud de tarea 308 es recibida por el módulo de colocación en cola de tarea 302, e indica que un usuario ha indicado que la tarea será realizada inmediatamente, el módulo de colocación en cola de tarea 302 puede determinar que la tarea indicada puede no ser aplazada. Si la solicitud de tarea 308 es recibida desde una interfase de usuario del dispositivo móvil 102, pero no indica que el usuario ha indicado que la tarea sea realizada inmediatamente, el módulo de colocación en cola de tarea 302 puede determinar que la tarea indicada sea aplazada.
En otras modalidades, el módulo de colocación en cola de tarea 302 puede determinar si se puede aplazar una tarea en otras formas. Por ejemplo, si el módulo de colocación en cola de tarea 302 determina que la tarea indicada invoca lógica de operaciones de seguridad 402 (por ejemplo, módulo de escaneo 408, el módulo de respaldo 410, módulo de manejo de configuración 412, etc.), el instalador 404, o lógica de operaciones de mantenimiento 406 (por ejemplo, desfragmentador 414) u otra operación o tarea designada, módulo de colocaciones en cola de tarea 302 pueden determinar la tarea que se puede aplazar.
Si se determina que una tarea puede ser aplazable, el módulo de colocación en cola de tarea 302 agrega la tarea a una cola de tarea aplazada (por ejemplo, almacenada en almacenamiento de dispositivo móvil 102), que puede contener un número de tareas aplazables puestas en cola. Como se mostró en la Figura 3, el módulo de colocación en cola de tarea 302 genera señal de activación de tarea 124, que puede recibirse por la lógica de operaciones de dispositivos 114 de la Figura 1. Si se determina una tarea no será aplazable, el módulo de colocación en cola de tarea 302 genera una señal de activación de tarea 124 para indicar a la lógica de operaciones de dispositivo 114 que se activa la tarea, y puede ejecutarse. Si se determina que una tarea será aplazable, el módulo de colocación en cola de tarea 302 genera señal de activación de tarea 124 para indicar a la lógica de operaciones de dispositivo 114 que no se activa la tarea, y que también se va aplazar hasta que posteriormente se activa por el módulo de colocación en cola de tareas 302.
Haciendo referencia de nuevo la Figura 2, en el paso 204 del cuadro de flujo 200, se detecta un inicio de un evento de carga para una batería del dispositivo móvil subsecuente a la tarea(s) aplazable que se coloque en cola. Por ejemplo, como se muestra en la Figura 3, el monitor de carga 304 puede recibir indicación de carga 126, que indica que se está aplicando una carga a la batería 118 (Figura 1).
En respuesta, el monitor de carga 304 puede generar una indicación de evento de carga 312, que se recibe por el módulo habilitador de cola 306. Observar que en una modalidad, el monitor de carga 304 puede enviar indicación de evento de carga 312 tan pronto como se indica una corriente de carga recibida por la indicación de carga 126. En otra modalidad, el monitor de carga 304 puede retrasar la generación de indicación de evento de carga 312 hasta que la indicación de carga 126 indica que se recibe una corriente de carga por una cantidad de tiempo predeterminada (por ejemplo, en términos de varios segundos, varios minutos, con etc.). De esta forma, se filtran eventos de carga de duración relativamente corta o intermitentes por el monitor de carga 304. Incluso en otra modalidad, puede no estar presente monitor de carga 304, y a su vez el módulo habilitador de cola 306 puede realizar el paso 204. En tal modalidad, el módulo habilitador de cola 306 puede recibir indicación de carga 126 directamente.
En el paso 206, la tarea(s) aplazable colocada en cola se activa para ejecutarse durante el evento de carga. Por ejemplo, como se muestra en la Figura 3, el módulo habilitador de cola 306 recibe indicación de evento de carga 312 (o indicación de carga 126). El módulo habilitador de cola 306 está configurado para la activar tareas aplazables que están colocadas en cola por el módulo de colocación en cola de tarea 302 para ejecutarse durante un evento de carga indicado por la indicación de evento de carga 312. Como se muestra en la Figura 3, si el módulo habilitador de cola 306 determina que está ocurriendo un evento de carga adecuado, el módulo habilitador de cola 306 genera señal de activación de tarea aplazada 314, que indica que pueden activarse tareas aplazables colocadas en cola por el módulo de colocación en cola de tarea 302. El módulo de colocación en cola de tarea 302 recibe señal de activación de tareas aplazadas 314. Como un resultado, el módulo de colocación en cola de tarea 302 genera señal de activación de tarea 124 para indicar a la lógica de operaciones de dispositivos 114 que se activan una o más tareas aplazables colocadas en cola. Si se colocan en cola múltiples tareas aplazadas, el módulo de colocación en cola de tarea 302 puede permitir las tareas aplazables colocadas en cola simultáneamente o en serie en cualquier orden, tal como en un orden en el cual se agrega las tareas a la cola (por ejemplo, primero dentro primero fuera (FIFO)), en un orden último dentro primero fuera (LIFO), en un orden en el cual se realizan las tareas de recurso más intensivas al último o se realizan primero, en un orden dedicado por las mismas tareas (por ejemplo, realizan una tarea de limpieza antes de una tarea de instalación, realizar una tarea de descarga de firmas antes y una tarea de escaneo, etc.), o en cualquier otro orden. Después de permitir que se realicen las tareas aplazables colocadas en cola, el módulo de colocación en cola de tarea 302 puede limpiar las tareas activadas de la cola de tareas aplazadas.
El módulo habilitador de cola 306 puede determinar si permite que las tareas aplazables colocadas en cola se ejecuten basándose en indicación de evento de carga 312 (o indicación de carga 126) en cualquier forma. Por ejemplo, el módulo activador de cola 306 puede activar las tareas aplazadas colocadas en cola si el módulo habilitador de cola 306 determina que un evento de carga indicado por la indicación de evento de carga 312 es un evento de carga de duración suficientemente larga de manera que las tareas aplazadas tengan suficiente tiempo para realizarse. Un evento de carga de larga duración es más prolongado que un evento de carga que está ocurriendo durante una conexión intermitente o de corto plazo de batería 118 al cargador 106. Por ejemplo, un evento de carga de larga duración puede ser un evento de carga que es lo suficientemente prolongado para que al menos se realice/ejecute una de las tareas aplazables colocadas en cola durante el evento de carga, sin batería 118 y el cargador 106 se está desacoplando durante el evento de carga.
En una modalidad, el módulo habilitador de cola 306 puede realizar un paso 502 mostrado en la Figura 5 durante el paso 206 de la Figura 2. En el paso 502, se predice el evento de carga para ser un evento de carga de duración prolongada basándose en un perfil de carga para el dispositivo móvil. Por ejemplo, la Figura 6 muestra un diagrama de bloques del módulo habilitador de cola 306 que incluye un analizador de evento de carga 602, de acuerdo con una modalidad ilustrativa. El analizador de evento de carga 602 puede configurarse para realizar el paso 502 de la Figura 5, prediciendo si un evento de carga indicado por indicación de evento de carga 312 es un evento de carga de duración prolongada de manera que puedan realizarse tareas aplazadas colocadas en cola.
El analizador de evento de carga 602 puede configurarse para realizar la predicción del paso 502 en varias formas. Por ejemplo, como se muestra en la Figura 6, el analizador del evento de carga 602 puede recibir datos de perfil de carga 604. Los datos de perfil de carga 604 incluyen datos indicativos de un perfil de carga para batería 118 del dispositivo móvil 102 (Figura 1). Por ejemplo, los datos de perfil de carga 604 puede generarse basándose en factores tal como historial de carga de batería 118, entrada manual de preferencias de carga por un usuario, y/u otros factores. El analizador del evento de carga 602 puede analizar datos de perfil de carga 604 para predecir si un evento de carga particular será un evento de carga de duración suficientemente prolongada para permitir que se ejecuten tareas aplazadas colocadas en cola durante evento de carga.
Los datos de perfil de carga 604 pueden incluir datos en cualquier forma, incluyendo estar en la forma de una estructura de datos (por ejemplo, una lista, una tabla de referencias, un orden de datos, una base de datos, etc.) que indica probabilidades de carga de batería 118 en varios momentos, incluyendo minuto por minuto, hora por hora, cada día de la semana, y/o cualquier otro periodo de tiempo.
Los datos de perfil de carga 604 pueden generarse en varias formas. Por ejemplo, la Figuras 7 muestra un diagrama de bloques del módulo habilitador de cola 306 configurado para generar un perfil de carga, de acuerdo con una modalidad ilustrativa. Como se muestra en la Figuras 7, el módulo habilitador de cola 306 incluye almacenamiento 702, un módulo de interfase de usuario opcional 704, y un generador de perfil de carga 706. El módulo habilitador de cola 306 de la Figura 7 permite que se generen datos de perfil de carga 604, que se muestran almacenados en el almacenamiento 702, basándose en uno o más de varios tipos de información, incluyendo información ingresada por un usuario, parámetros del dispositivo móvil, información con respecto a uno o más usuarios del dispositivo móvil, un historial de carga de la batería del dispositivo móvil, y/u otra información. Observar que el almacenamiento 702 puede incluir uno o más dispositivos de memoria, unidades de disco duro, y/u otros medios de almacenamiento por computadora descritos aquí en otra parte o conocidos otra forma.
El módulo de interfase de usuario se 704 puede proporcionar una interfase de usuario en la cual un usuario del dispositivo móvil puede ingresar manualmente información de perfil de carga. Por ejemplo, el usuario puede ingresar horas y/o fechas durante las cuales se prefiere carga, y horas y/o fechas durante las cuales no se prefiere o está prohibida la carga. El módulo de interfase usuario 704 puede recibir la información de perfil de carga de uno o más de cualquier tipo de elementos de interface de usuario proporcionados por el dispositivo móvil 102, incluyendo teclado, una rueda de control, un dispositivo de señalamiento, una seguibola, un puntero de barra, una pantalla sensible al tacto, cualquier número de elementos de interface visual, un sistema de reconocimiento de voz, etc. Como se muestra en la Figura 7, el módulo de interfase de usuario 704 envía información de perfil de carga 712 manualmente ingresada.
El módulo habilitador de cola 306 también puede recibir datos de dispositivo 708. Los datos de dispositivo 708 pueden almacenarse en el almacenamiento del dispositivo móvil 102 (por ejemplo, almacenamiento 702). Los datos de dispositivos 708 pueden incluir información sobre el dispositivo móvil 102 y/o batería 118 que puede para general datos de perfil de carga 604, tal como una capacidad de carga de baterías 118, una velocidad de carga de batería 118, un nivel de carga actual de batería 118, etc. Además, los datos de dispositivos 708 pueden indicar aspectos sensibles/sensoriales adicionales del dispositivo móvil 102, tal como el uso de funcionalidad GPS (sistema de posicionamiento global), un micrófono, sensibilidad a la luz, movimiento, si se está haciendo una llamada de voz, contenidos de calendario, y/o funciones de procesamiento intensivo (por ejemplo, sincronización de datos), que pueden utilizarse para generar datos de perfil de carga 604.
El módulo habilitador de cola 306 también puede recibir datos de usuario 710. Los datos de usuario 710 pueden almacenarse en almacenamiento del dispositivo móvil 102 (por ejemplo, almacenamiento 702), o pueden recibirse de un dispositivo remoto del dispositivo móvil 102 (por ejemplo, un servidor basado en "nube" como un sitio web, una cuenta de usuario, etc.). Los datos de usuario 710 pueden incluir información sobre el usuario del dispositivo móvil 102 que pueden utilizarse para generar datos de perfil de carga 604, tales como un calendario del usuario (por ejemplo, una herramienta de calendario, tal como Microsoft Office Outlook® proporcionado por Microsoft Corporation o Redmond, Washington) que indica un programa del usuario.
El módulo habilitador de cola 306 también recibe una indicación de evento de carga 312, que indica que se ha iniciado un evento de carga (por ejemplo, la batería 118 está acoplada al cargador 106) y está en curso, como se describió anteriormente. Como se muestra en la Figura 7, el generador de perfil de carga 706 puede recibir la indicación del evento de carga 312, datos de dispositivo 708, datos de usuario 710, e información de perfil de carga manualmente ingresada 712. Cualquiera de uno o más de indicación de evento de carga 312, datos de dispositivos 708, datos de usuario 710, e información de perfil de carga manualmente ingresada 712 pueden recibirse, dependiendo en la modalidad particular. El generador de perfil de carga 706 puede utilizar la indicación de evento de carga 312, datos de dispositivos 708, datos de usuario 710, y/o información de perfil de carga manualmente ingresada 712 para generar datos de perfil de carga 604.
Por ejemplo, el generador de perfil de carga 706 puede verificar indicación del evento de carga 312 con el tiempo para determinar períodos de tiempo/días en los cuales se está cargando consistentemente la batería 118. De forma similar, el generador de perfil de carga 706 puede verificar indicación del evento de carga 312 con el tiempo para determinar períodos de tiempo/días en los cuales hay bajas probabilidades que se esté cargando la batería 118. El generador de perfil de carga 706 puede generar datos de perfil de carga 604 para incluir probabilidades con base en la frecuencia de carga de batería en varios tiempos. El generador de perfil de carga 706 puede generar datos de perfil de carga 604 para indicar horas/días en los cuales puede ocurrir carga de batería 118 con una alta probabilidad (por ejemplo, sobre el 75% u otra probabilidad), y para indicar horas/días en los cuales puede ocurrir la carga de batería 118 con una baja probabilidad (por ejemplo, bajo 25% u otra probabilidad). El generador de perfil de carga 706 puede modificar datos de perfil de carga 604 basándose en uno o más de datos de dispositivos 708, datos de usuario 710, e información de perfil de carga manualmente ingresada 712. Por ejemplo, el generador de perfil de carga 706 puede modificar los datos de perfil de carga generados 604, incluyendo reemplazar completamente datos de perfil de carga 604, con información de perfil de carga manualmente ingresada 712 si un usuario del dispositivo móvil 102 desea anular datos de perfil de carga generados con datos de perfil de carga manualmente ingresados. El generador de perfil de carga 706 puede modificar datos de perfil de carga 604 basándose en las capacidades de la batería 118 y/u otros datos de dispositivo 708 mencionados anteriormente o de otra forma conocidos. Además, el generador de perfil de carga 706 puede modificar datos de perfil de carga 60.4 basándose en datos usuario 710 mencionados anteriormente o de otra forma conocidos.
Como un resultado, las probabilidades de carga para diferentes horas del día pueden determinarse para un dispositivo móvil. Por ejemplo, la Figura 8 muestra una gráfica 800 que muestra una gráfica 802 de probabilidad de carga (eje Y) contra tiempo (eje X), de acuerdo con una modalidad ilustrativa. La gráfica 800 se muestra en la Figura 8 para propósitos de ilustración, y no pretende ser limitante, la Gráfica 802 puede representar visualmente datos de perfil de carga 604 generados por el generador de perfil de carga 706 basándose en los hábitos de carga de un dispositivo móvil de un usuario. Como se muestra en la Figura 8, la gráfica 802 indica una probabilidad de carga en diferentes horas durante un día particular. Observar que los datos de perfil de carga similares pueden generarse para cada día de la semana, cada día del mes, cada día del año, etc., según se desee.
En el ejemplo de la Figura 8, la gráfica 802 indica que el usuario tiene una probabilidad de carga alta (por ejemplo, 0.9) durante las horas típicas de sueño/noche de aproximadamente 10:00 P.M. a 7:00 A. M. Esto puede ser debido a que el usuario acopla su dispositivo móvil a un cargador cuando se va a dormir en la noche durante esas horas. Otras personas que trabajan turnos nocturnos, o que tienen otros programas de sueño, pueden tener bajas probabilidades de carga en la noche.
Además, la gráfica 802 indica que el usuario tiene probabilidades de carga relativamente bajas desde aproximadamente 7:00 A.M. hasta 1:00 P.M. Las probabilidades de carga durante este periodo de tiempo están cerca de cero, excepto para una probabilidad de carga relativamente alta de aproximadamente 9:00 A.M. a 9:30 A.M. (probabilidad de 0.8), cuando el usuario puede acoplar su dispositivo a un cargador basado en automóvil cuando maneja al trabajo. La gráfica 802 indica que el usuario tiene una probabilidad de carga relativamente baja (por ejemplo, 0.15) durante la tarde de aproximadamente 1:00 P.M. a 3:00 P.M. Por ejemplo, el usuario puede acoplar ocasionalmente su dispositivo móvil a su computadora (por ejemplo, un cargador basado en USB) en la tarde. La gráfica 802 además indica que el usuario tiene probabilidades de carga relativamente bajas de aproximadamente 3:00 P.M. a 10:00 P.M. Las probabilidades de carga durante este periodo de tiempo están cerca de cero, excepto desde aproximadamente 4:00 P.M. hasta 4:30 P.M. (probabilidad de 0.15), cuando el usuario puede acoplar ocasionalmente su dispositivo móvil a un cargador basado en automóvil cuando maneja de la casa al trabajo.
De acuerdo con una modalidad, el módulo habilitador de cola 306 permite que se ejecute tarea(s) aplazable colocada en cola durante un evento de carga (paso 206 de la Figura 2), si la carga se predice que será un evento de carga de duración prolongada por el analizador de evento de carga 602 (Figura 6). Por ejemplo, haciendo referencia al ejemplo de perfil de carga representado por la gráfica 802 de la Figura 8, si ocurre un evento de carga y se indica por la indicación de evento de carga 312 durante los períodos de tiempo de las 10:00 P.M. a 7:00 A. M o 1:00 P.M. a 3:00 P.M., el analizador de evento de carga 602 puede predecir que el evento de carga es un evento de carga de duración prolongada, debido a que las probabilidades de perfil de carga durante estos períodos son relativamente altas, y la duración de tiempo típica durante la cual ocurre la carga se predice que suficientemente más prolongada que un umbral predeterminado (por ejemplo, mayor que 1 ahora, u otro umbral de tiempo predeterminado). En tal caso, el módulo habilitador de cola 306 puede generar la señal de activación de tarea aplazada 314 para indicar que las tareas aplazables colocadas en cola por el módulo de colocación en cola de tarea 302 pueden habilitarse. Si ocurre un evento de carga y se indica por la indicación de evento de carga 312 fuera de los períodos de tiempo 10:00 P.M. a 7:00 A.M. y 1:00 P.M. a 3:00 P.M., el analizador de evento de carga 602 puede predecir el evento de carga no será un evento de carga de larga duración (es decir, un evento de carga de duración relativamente corta), debido a que las probabilidades de perfil de carga durante estos períodos de tiempo son relativamente bajas, y/o debido a que las duraciones de tiempo de carga previstas son relativamente bajas. Por ejemplo, 9:00 A.M. a 9:30 A.M. tiene una alta probabilidad de carga de batería, pero la duración de tiempo prevista (30 minutos) puede ser demasiado corta para tareas colocadas en cola para completar ejecución. En tal caso, el módulo habilitador de cola 306 puede generar la señal de activación de tarea aplazada 314 para indicar que las tareas aplazables colocadas en cola por el módulo de colocación en cola de tarea 302 pueden no habilitarse.
Como tal, de acuerdo con modalidades, el programador de tarea 116 de la Figura 1 puede aplazar tareas aplazables hasta que se predice que ocurre un evento de carga de larga duración. Además, como se describió anteriormente, las tareas que no son aplazables pueden detectarse por el programador de tarea 116, y por lo tanto pueden habilitarse para realizarse en tiempo real, sin esperar un evento de carga.
Por ejemplo, la Figura 9 muestra un cuadro de flujo 900 que proporciona un procedimiento para procesar una tarea no aplazable, de acuerdo con una modalidad ilustrativa. En una modalidad, el cuadro de flujo 900 puede realizarse por programador de tarea 116 de la Figura 1, el programador de tarea 900 de la Figura 3, y/o por otra modalidad. Las modalidades estructurales y operativas adicionales serán evidentes para expertos en la técnica(s) relevante basándose en la siguiente discusión con respecto a cuadro de flujo 900.
El cuadro de flujo 900 comienza con el paso 902. En el paso 902, se puede recibir una solicitud para ejecutar una tarea particular. Por ejemplo, haciendo referencia a la Figura 3, el módulo de colocación en cola de tarea 302 puede recibir una solicitud para realizar tareas 308 de la lógica de operaciones de dispositivo 114 que indica que se desea realizar una tarea por la lógica de operaciones de dispositivo 114.
En el paso 904, se puede determinar que la tarea no será aplazable. Por ejemplo, como se describió anteriormente, el módulo de colocación en cola de tarea 302 puede analizar la tarea indicada para determinar si es aplazable. En una modalidad, el módulo de colocación en cola de tarea 302 puede comparar la tarea indicada con una lista predeterminada de tareas aplazables y/o realizar otra técnica aquí descrita para determinar si puede aplazarse la tarea indicada. Si la tarea indicada no está en la lista predeterminada o falla otra prueba de tarea aplazable, el módulo de colocación en cola de tarea 302 puede determinar que la tarea indicada no es aplazable.
En el paso 906, la tarea particular se habilita para ejecutarse antes del evento de carga. Por ejemplo, como se muestra en la Figura 3, el módulo de colocación en cola de tarea 302 puede generar la señal de activación de tarea 124, que puede recibirse por lógica de operaciones de dispositivo 114 de la Figura 1. Debido a que la tarea se determina que no será aplazable, el módulo de colocación en cola de tarea 302 genera la señal de activación de tarea 124 para indicar a la lógica de operaciones de dispositivo 114 que se habilita la tarea, y puede ejecutarse en tiempo real (sin esperar un evento de carga).
Se observó que las tareas que se aplazan pueden determinarse posteriormente para que necesiten ejecutarse de manera temprana (antes de un evento de carga). Por ejemplo, la Figura 10 muestra un cuadro de flujo 1000 que proporciona un procedimiento para remover una tarea del estado aplazado, de acuerdo con una modalidad 4Q ilustrativa. En una modalidad, el cuadro de flujo 1000 puede realizarse por el programador de tarea 116 de la Figura 1, programador de tarea 300 de la Figura 3, y/o por otra modalidad. Las modalidades estructurales y operativas adicionales serán evidentes para expertos en la técnica(s) relevante basándose en la siguiente discusión con respecto al cuadro de flujo 1000.
El cuadro de flujo 1000 comienza con el paso 1002. En el paso 1002, una tarea aplazable asociada con un archivo se coloca en cola para ejecución posterior. Por ejemplo, como se describió anteriormente con respecto a paso 202 del cuadro de flujo 200, puede colocarse en cola una tarea aplazable para ejecución posterior por el módulo de colocación en cola de tarea 302.
En el paso 1004, se recibe una solicitud relacionada con el archivo de un usuario. En una modalidad, un usuario puede hacer una solicitud con respecto a un archivo que está colocado en cola para ejecución posterior de acuerdo con el ejemplo 1002. La solicitud puede recibirse por el módulo de colocación en cola de tarea 302 de la lógica de operaciones de dispositivo 114 de la Figura 1. Por ejemplo, el archivo puede ser una parte de una aplicación (por ejemplo, una "app") previamente descargada por el usuario, pero aún no instalada, y el usuario puede estar solicitando iniciar o ejecutar la aplicación. La aplicación pudo haberse colocado en cola como una tarea aplazada para instalarse durante un evento de carga. Sin embargo, debido a que el usuario ahora desea ejecutar la aplicación, la instalación de aplicación ya no puede aplazarse. En otro ejemplo, el archivo pudo haberse descargado previamente, pero pudo haberse colocado en cola un escaneo del archivo como una tarea aplazable. El usuario ahora puede desear acceder al archivo, de manera que el escaneo del archivo ya no puede ser aplazado. Incluso en otra modalidad, la descarga del archivo pudo haberse colocado en cola como una tarea aplazable. El usuario ahora puede desear acceder al archivo, de manera que la descarga (y escaneo opcional) del archivo ya no puede aplazarse.
En el paso 1006, se remueve la tarea aplazable de la cola debido a la solicitud recibida. En una modalidad, el módulo de colocación en cola de tarea 302 puede eliminar la tarea que está asociada con el archivo relacionado con la solicitud en el paso 1004 desde la cola de tarea aplazada.
En el paso 1008, una operación con respecto al archivo se realiza como un resultado de la solicitud recibida. En una modalidad, el módulo de colocación en cola de tarea 302 puede generar señal de activación de tarea 124, que puede recibirse por la lógica de operaciones de dispositivo 114 de la Figura 1, para indicar a la lógica de operaciones de dispositivo 114 que se habilita la tarea, y puede ejecutarse en tiempo real (sin esperar un evento de carga). Como tal, la solicitud de usuario con respecto al archivo puede cumplirse inmediatamente. En una modalidad, una interfase de usuario puede generarse y solicita si deben realizarse las tareas. Si un usuario indica que la tarea debe realizarse, la señal de activación de tarea 124 puede generarse para indicar la lógica de operación de dispositivo 114 que se activa la tarea. Si el usuario indica que la tarea no debe realizarse, entonces la señal de activación de tarea 124 puede no generarse para indicar a la lógica de operaciones de dispositivos 114 que se habilita la tarea, y opcionalmente, la solicitud del usuario del paso 1004 puede negarse. En tal caso, el paso 1006 puede no realizarse (por ejemplo, la tarea aplazable puede permanecer en la cola).
Además se observó que en algunos casos, un usuario puede desear que la carga del dispositivo proceda sin ninguna de las tareas aplazadas que se realiza durante la carga. Por ejemplo, el usuario puede saber que la longitud de tiempo de la carga puede ser demasiado corta que se realice en tareas aplazadas, o puede desear que se recargue la batería del dispositivo tan rápidamente como sea posible y por lo tanto puede no desea que las tareas drenen la corriente de carga. Como tal, una interfase de usuario del dispositivo móvil 102 puede indicar al usuario cuando se van a realizar tareas aplazadas durante un evento de carga. La interface de usuario además puede proporcionar un interruptor de anulación (físico o virtual) otro elemento de interfase de usuario (por ejemplo, una consulta de "¿prevenir tareas aplazadas?" u otro elemento de interface de usuario gráfica presentado) con el que el usuario puede interactuar para prevenir que ocurra en una o más de las tareas aplazables durante la carga de la batería 118 del dispositivo móvil 102.
III. Modalidades de Dispositivo de Cómputo Ilustrativas El programador de tarea 116, módulo de carga 120, programador de tarea 300, módulo de colocación en cola de tarea 302, monitor de recarga 304, módulo habilitador de cola 306, analizador de evento de carga 602; módulo de interface de usuario 704, generador de perfil de carga 706, paso 502, y cuadros de flujo 200, 900, y 1000 pueden implementarse en hardware, software, firmware, o cualquier combinación de los mismos. Por ejemplo, el programador de tarea 116, módulo de carga 120, programador de tarea 300, módulo de colocación en cola de tarea 302, monitor de carga 304, módulo habilitador de cola 306, analizador de evento de carga 602, módulo de interfase de usuario 704, generador de perfil de carga 706, cuadro de flujo 200, paso 502, cuadro de flujo 900, y/o cuadro de flujo 1000 pueden implementarse como código de programa de computadora configurado para ejecutarse en uno o más procesadores. Alternativamente, el programador de tarea 116, módulo de carga 120, programador de tarea 300, módulo de colocación en cola de tarea 302, monitor de carga 304, módulo habilitador de cola 306, analizador de evento de carga 602, módulo de interface de usuario 704, generador de perfil de carga 706, cuadro de flujo 200, paso 502, cuadro de flujo 900, y/o cuadro de flujo 1000 pueden implementarse como sistema de circuitos lógicos/eléctrico de hardware. Por ejemplo, en una modalidad, uno o más de programador de tarea 116, módulo de carga 120, programador de tarea 300, módulo de colocación en cola de tarea 302, monitor de carga 304, módulo habilitador de cola 306, analizador de evento de carga 602, módulo de interfase de usuario 704, generador de perfil de carga 706, cuadro de flujo 200, paso 502, cuadro de flujo 900, y/o cuadro de flujo 1000 pueden implementarse en un sistema en chip (SoC). El SoC puede incluir un chip de circuito integrado que incluye uno o más de un procesador (por ejemplo, un controlador, microprocesador, procesador de señal digital DSP), etc.), memoria, una o más interfases de comunicación, y/o circuitos adicionales y/o firmware incorporado para realizar sus funciones.
La Figura 1 ilustra una implementación ilustrativa de una computadora 1100 en la cual pueden implementarse modalidades de la presente invención. Por ejemplo, el dispositivo móvil 102 puede implementarse en un sistema de computadora móvil similar a la computadora 1100, incluyendo una o más características de la computadora 1100 y/o características alternativas. Además, el servidor 104 puede implementarse en uno o más sistemas de computadora similares a computadora 1100. La computadora 1100 p,uede ser un dispositivo de cómputo de propósito general en la forma de una computadora personal convencional, una computadora móvil, una estación de trabajo, por ejemplo, una computadora 1100 puede ser un dispositivo de cómputo de propósito especial. La descripción de computadora 1100 aquí proporcionada se proporciona para propósitos de ilustración, y no pretende ser limitante. Las modalidades de la presente invención pueden implementarse en tipos adicionales de sistemas de computadora, como se conoce por aquellos expertos en la técnica(s) relevante.
Como se muestra en la Figura 11, la computadora 1100 incluye una unidad de procesamiento 1102, una memoria de sistema 1104, y un conductor común 1106 que acopla varios componentes de sistema incluyendo memoria de sistema 1104 a unidad de procesamiento 1102. El conductor común 1106 representa uno o más de cualquiera de varios tipos de estructuras de conductor común, incluyendo un conductor común de memoria o controlador de memoria, un conductor común periférico, un puerto de gráficos acelerados, y un procesador o conductor común local que utiliza cualquiera de una variedad de arquitecturas de conductor común. La memoria de sistema 1104 incluye memoria de sólo lectura (ROM) 1108 y memoria de acceso aleatorio (RAM) 1110. Un sistema de entrada/salida básico 1112 (BIOS) está almacenado en la ROM 1108.
La computadora 1100 también tiene una o más de las siguientes unidades: una unidad de disco duro 1114 para leer de y escribir a un disco duro, una unidad de disco magnético 1116 para leer de o escribir a un disco magnético removible 1118, y una unidad de disco óptico 1120 para leer de o escribir a un disco óptico removible 1122 tal como un CD ROM, DVD ROM, u otros medios ópticos. La unidad de disco duro 1114, unidad de disco magnético 1116, y unidad de disco óptico 1120 están conectadas al conductor común 1106 a través de una interfase de unidad de disco duro 1124, una interfase de unidad de disco magnético 1126, y una interfase de unidad óptica 1128, respectivamente. Las unidades y sus medios legibles por computadora asociados proporcionan almacenamiento no volátil de instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos para la computadora. Aunque un disco duro, un disco magnético removible y un disco óptico removible se describen, pueden utilizarse otros tipos de medios de almacenamiento legibles por computadora para almacenar datos, tales como tarjetas de memoria flash, discos de video digital, memorias de acceso aleatorio (RAM), y memorias de sólo lectura (ROM), y similares.
Puede almacenarse un número de módulos de programa en el disco duro, disco magnético, disco óptico ROM o RAM. Estos programas incluyen un sistema operativo 1130, uno o más programas de aplicación 1132, otros módulos de programa 1134, y datos de programa 1136. Los programas de aplicación 1132 o módulos de programa 1134 pueden incluir, por ejemplo, lógica de programa de computadora para implementar un programador de tareas 116, módulo de carga 120, programador de tarea 300, módulo de colocación en cola de tarea 302, monitor de carga 304, módulo habilitador de cola 306, analizador de evento de carga 602, módulo de interfase de usuario 704, generador de perfil de carga 706, cuadro de flujo 200, paso 502, cuadro de flujo 900, y/o cuadro de flujo 1000 (incluyendo cualquier paso de cuadros de flujo 200, 900, y 1000) y/o modalidades adicionales aquí descritas.
Un usuario puede ingresar comandos e información en la computadora 1100 a través de dispositivos de entrada tal como teclado 1138 y dispositivo de señalamiento 1140. Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono, palanca de mandos, almohadilla de juegos, antena parabólica, escáner, o similares. Estos y otros dispositivos de entrada frecuentemente están conectados a la unidad de procesamiento 1102 a través de una interfase de puerto en serie 1142 que está acoplada al conductor común 1106, pero puede conectarse por otras interfases, tal como un puerto paralelo, puerto de juegos, o un conductor común en serie universal (USB).
Un dispositivo de presentación 1144 también está conectado al conductor común 1106 a través de una interface, tal con un adaptador de video 1146. Además de monitor, la computadora 1100 puede incluir otros dispositivos de salida periféricos (no mostrados) tales como bocinas e impresoras.
La computadora 1100 está conectada a una red 1148 (por ejemplo, Internet) a través de un adaptador o interfase de red 1150, un módem 1152, u otros medios para establecer comunicaciones sobre la red. El módem 1152, que puede ser interno o externo, está conectado al conductor común 1106 a través de la interfase de puerto en serie 1142.
Como se utiliza aquí, los términos "medio de programa de computadora", "medios legibles por computadora", y "medios de almacenamiento legibles por computadora" se utilizan para referirse generalmente a medios tal como el disco duro asociado con la unidad de disco duro 1114, disco magnético removible 1118, disco óptico removible 1122, así como otros medios tales como tarjetas de memoria flash, discos de video digital, memorias de acceso aleatorio (RAM), memoria de sólo lectura (ROM), y similares. Se distinguen tales medios almacenamiento legibles por computadora de y que no se traslapan con medios de comunicación (no incluyen medios de comunicación). Los medios de comunicación típicamente representan instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada tal como una onda portadora. El término "señal de datos modulada" significa una señal que tiene una o más de sus características establecidas o cambiadas de tal forma para codificar información en la señal. A manera de ejemplo, y no de limitación, los menos de comunicación incluyen medios inalámbricos tales como acústicos, RF, infrarrojos y otros medios inalámbricos. Las modalidades también están dirigidas a tales medios de comunicación.
Como se observó anteriormente, programas y módulos de computadora (incluyendo programas de aplicación 1132 y otros módulos de programa 1134) pueden almacenarse en el disco duro, disco magnético, disco óptico, ROM, o RAM. Tales programas de computadora también pueden recibirse a través de la interfase de red 1150 o interfase de puerto en serie 1142. Tales programas de computadora, cuando se ejecutan o cargan por una aplicación, permiten que la computadora 1100 implemente características de modalidades de la presente invención aquí discutidas. Por consciente, tales programas de computadora representan controladores de la computadora 1100.
La invención también está dirigida a productos de programa de computadora que comprenden software almacenado en cualquier medio útil por computadora. Tal software, cuando se ejecuta en uno o más dispositivos de procesamiento de datos, causan que un dispositivo(s) de procesamiento de datos opere como se describe aquí. Las modalidades de la presente invención emplean cualquier medio útil por computadora o legible por computadora, conocido ahora o en el futuro. Ejemplos de medios legibles por computadora incluyen, pero no están limitados a dispositivos de almacenamiento tal como RAM, unidades duras, discos flexibles, CD ROM, DVD ROM, discos zip, cintas, dispositivos de almacenamiento magnético, dispositivos de almacenamiento óptico, MEM, dispositivos de almacenamiento basados en nanotecnología, y similares.
VI. Conclusión Aunque se han descrito anteriormente varias modalidades de la presente invención, se debe entender que se han presentado a manera de ejemplo únicamente, y no de limitación. Se entenderá por aquellos expertos en la técnica(s) relevante que pueden hacerse ahí varios cambios en forma y detalles sin apartarse del espíritu y alcance de la invención como se define en las reivindicaciones anexas. Por consiguiente, la amplitud y alcance la presente invención no debe limitarse a cualquiera de las modalidades ilustrativas descritas anteriormente, sino que deben definirse únicamente de acuerdo con las siguientes reivindicaciones equivalentes.

Claims (16)

REIVINDICACIONES
1.- Un método en un dispositivo, que comprende: colocar en cola al menos una tarea aplazabie para ejecución posterior; detectar un inicio de un evento de carga para una batería del dispositivo subsecuente a dicha colocación en cola; y permitir que se ejecute por lo menos una tarea aplazabie colocada en cola durante el evento de carga.
2.- El método de acuerdo con la reivindicación 1, en donde predecir que el evento de carga es un evento de carga de larga duración basándose en un perfil de carga para el dispositivo; y permitir dicha ejecución como resultado de dicha predicción.
3. - El método de acuerdo con la reubicación 2, en donde la predicción comprende: predecir que el evento de carga tiene una duración mayor que un umbral predeterminado.
4. - El método de acuerdo con la reivindicación 2, que además comprende: verificar una carga de la batería del dispositivo con el tiempo; y generar el perfil de carga basándose en dicha verificación.
5. - El método de acuerdo con la reivindicación 2, que además comprende: permitir a un usuario del dispositivo configurar manualmente el perfil de carga.
6. - El método de acuerdo con la reivindicación 1, que además comprende: recibir una solicitud para ejecutar una tarea particular; determinar que la tarea particular no es aplazable; y permitir que se ejecute la tarea particular antes del evento de carga.
7. - El método de acuerdo con la reivindicación 1, que además comprende: colocar en cola una tarea aplazable asociada con un archivo para ejecución posterior; recibir una solicitud de un usuario relacionada con el archivo; remover la tarea aplazable de la cola debido a la solicitud recibida; y realizar una operación con respecto al archivo como un resultado de la solicitud recibida.
8. - El método de acuerdo con la reivindicación 1, que además comprende: realizar un escaneo ligero en un archivo para generar un resultado de escaneo; transmitir el resultado de escaneo a un servidor remoto; recibir un indicación del servidor remoto si el archivo es malintencionado; y colocar en cola una tarea de escaneo completo asociada con el archivo si se indica que el archivo no es malintencionado.
9. - El método de acuerdo con la reubicación 1, en donde la por lo menos una tarea aplazable incluye al menos una de una tarea de descarga de archivo, una tarea de escaneo de virus, una tarea de respaldo, o una tarea de manejo de configuración.
10.- Un producto de programa de computadora que comprende un medio legible por computadora que tiene lógica de programa de computadora grabada en él, que comprende: un medio de lógica de programa de computadora para permitir que un procesador se desempeñe de acuerdo con cualquiera de las reivindicaciones 1-9.
11.- Un programador de tarea en un dispositivo móvil, el programador de tarea permite la conservación de energía de batería del dispositivo móvil durante la operación móvil, el programador de tarea comprende: un módulo de colocación en cola de tarea configurado para determinar que al menos una tarea es aplazable y para colocar en cola la por lo menos una tarea aplazable pare ejecución posterior; un monitor de carga configurado para detectar un inicio de un evento de carga para una batería del dispositivo móvil subsecuente a la colocación en cola de la por lo menos una tarea aplazable; y un módulo habilitador de cola configurado para permitir que la por lo menos una tarea aplazable se ejecute durante el evento de carga si se predice que el evento de carga será un evento de carga de larga duración.
12.- El programador entrada de acuerdo con la reivindicación 10, en donde el módulo habilitador de cola comprende: un analizador de evento de carga configurado para predecir que el evento de carga es un evento de carga de larga duración basándose en un perfil de carga para el dispositivo móvil; y un módulo habilitador de cola está configurado para activar al menos una tarea aplazable colocado en cola para ejecutarse durante el evento de carga como un resultado de la predicción.
13. - El programador de tarea de acuerdo con la reivindicación 11, en donde el analizador del evento de carga está configurado para determinar si el evento de carga tiene una duración mayor que un umbral predeterminado para predecir si el evento de carga es un evento de carga de larga duración.
14. - El programador de tarea de acuerdo con la reivindicación 11, en donde el modulador habilitador de cola está configurado para verificar una carga de la batería con el tiempo para generar datos de historia de carga, y para generar el perfil de carga basándose en los datos de historia de carga.
15. - El programador de tarea de acuerdo con la reivindicación 11, que además comprende: un módulo de interfase de usuario configurado para permitir a un usuario del dispositivo móvil a configurar manualmente el perfil de carga.
16. - El programador de tarea de acuerdo con la reivindicación 10, en donde el módulo de colocación en cola de tarea recibe una solicitud para ejecutar una tarea particular, y determina si la tarea particular no es aplazable, el módulo habilitador de cola permite que se ejecute la tarea particular antes de recibir la corriente de carga s se determina que la tarea particular no es aplazable.
MX2013014794A 2011-06-16 2012-06-06 Operaciones de dispositivo movil con optimizacion de bateria. MX2013014794A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/162,133 US9152202B2 (en) 2011-06-16 2011-06-16 Mobile device operations with battery optimization
PCT/US2012/041035 WO2012173843A2 (en) 2011-06-16 2012-06-06 Mobile device operations with battery optimization

Publications (1)

Publication Number Publication Date
MX2013014794A true MX2013014794A (es) 2014-01-24

Family

ID=47354883

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2013014794A MX2013014794A (es) 2011-06-16 2012-06-06 Operaciones de dispositivo movil con optimizacion de bateria.

Country Status (12)

Country Link
US (1) US9152202B2 (es)
EP (1) EP2721460B1 (es)
JP (1) JP6126085B2 (es)
KR (1) KR101933735B1 (es)
CN (1) CN103597423B (es)
AU (1) AU2012271103B2 (es)
BR (1) BR112013031986B1 (es)
CA (1) CA2838397C (es)
MX (1) MX2013014794A (es)
RU (1) RU2609136C2 (es)
TW (1) TWI553559B (es)
WO (1) WO2012173843A2 (es)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110099507A1 (en) * 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US20130103960A1 (en) * 2011-10-24 2013-04-25 Motorola Mobility, Inc. Method and device with intelligent power management
WO2013101176A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Apparatus and method for managing operation of a mobile device
EP2823373B1 (en) * 2012-03-08 2019-07-17 Hewlett-Packard Development Company, L.P. Virtualizing battery across a group of personal mobile devices
US20140082384A1 (en) * 2012-09-20 2014-03-20 Apple Inc. Inferring user intent from battery usage level and charging trends
US9781223B2 (en) * 2012-12-28 2017-10-03 Facebook, Inc. Conserving battery and data usage
US9396088B2 (en) * 2013-03-08 2016-07-19 Sap Se Computer execution progress indicator
US9460405B2 (en) * 2013-10-03 2016-10-04 Paypal, Inc. Systems and methods for cloud data loss prevention integration
TW201516635A (zh) * 2013-10-18 2015-05-01 Qisda Corp 充電方法及行動電子裝置
US20150123595A1 (en) * 2013-11-04 2015-05-07 Xiam Technologies Limited Intelligent context based battery charging
US20150192440A1 (en) * 2014-01-07 2015-07-09 InvenSense, Incorporated Systems and Methods for Initiating Calibration of a Sensor
US20150268991A1 (en) * 2014-03-19 2015-09-24 Motorola Mobility Llc Method and apparatus for managing the scheduling of unscheduled events
CN103885364B (zh) * 2014-03-24 2016-09-28 三和智控(北京)系统集成有限公司 一种通过计划队列实现控制逻辑的动态延时调用的方法
KR101720841B1 (ko) * 2014-10-24 2017-03-28 주식회사 엘지화학 배터리 관리 시스템의 태스크 스케쥴러 오작동 검출 장치 및 방법
US9696782B2 (en) 2015-02-09 2017-07-04 Microsoft Technology Licensing, Llc Battery parameter-based power management for suppressing power spikes
US10158148B2 (en) 2015-02-18 2018-12-18 Microsoft Technology Licensing, Llc Dynamically changing internal state of a battery
US9748765B2 (en) 2015-02-26 2017-08-29 Microsoft Technology Licensing, Llc Load allocation for multi-battery devices
CN106302965B (zh) * 2015-05-29 2020-03-17 北京智谷睿拓技术服务有限公司 充电机会信息确定方法和设备
US9942854B2 (en) 2015-06-05 2018-04-10 Apple Inc. Adaptive sleep delay
US9939862B2 (en) 2015-11-13 2018-04-10 Microsoft Technology Licensing, Llc Latency-based energy storage device selection
US10061366B2 (en) 2015-11-17 2018-08-28 Microsoft Technology Licensing, Llc Schedule-based energy storage device selection
US9793570B2 (en) 2015-12-04 2017-10-17 Microsoft Technology Licensing, Llc Shared electrode battery
US10705583B2 (en) 2016-02-05 2020-07-07 International Business Machines Corporation Management of finite electrical cells
US10283985B2 (en) * 2016-05-25 2019-05-07 Lenovo (Singapore) Pte. Ltd. Systems and methods to determine time at which battery is to be charged
CN109690900B (zh) 2016-06-01 2021-03-23 华为技术有限公司 一种充电的方法及终端
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10903665B2 (en) 2016-11-01 2021-01-26 Microsoft Technology Licensing, Llc Usage data based battery charge or discharge time determination
US11656666B2 (en) 2016-11-16 2023-05-23 Microsoft Technology Licensing, Llc Dynamic power source selection, charging, and discharging
US10488905B2 (en) 2016-11-16 2019-11-26 Microsoft Technology Licensing, Llc Dynamic energy storage device discharging
US10725529B2 (en) 2017-06-26 2020-07-28 Microsoft Technology Licensing, Llc Target based power management
US10882411B2 (en) * 2018-01-18 2021-01-05 Ford Global Technologies, Llc Smart charging schedules for battery systems and associated methods for electrified vehicles
US11152810B2 (en) 2018-05-21 2021-10-19 Sling Media Pvt. Ltd. Rule based smart charging
JP7110733B2 (ja) * 2018-05-30 2022-08-02 住友電気工業株式会社 スキャン処理装置
EP3618403A1 (en) * 2018-08-31 2020-03-04 Siemens Aktiengesellschaft Method and system for managing operation associated with an object on iot enabled devices
CN110941320A (zh) * 2018-09-25 2020-03-31 华为技术有限公司 一种基于用户习惯的电量控制方法及终端
US11644889B2 (en) 2019-09-13 2023-05-09 Hewlett-Packard Development Company, L.P. Power supply cut-off in standby mode
US20210336464A1 (en) * 2020-04-28 2021-10-28 Intel Corporation Inference based fast charging
US11865944B2 (en) * 2020-05-29 2024-01-09 Deltran Operations Usa, Inc. Battery management system for batteries in engine start and deep cycle applications
KR20220132190A (ko) * 2021-03-23 2022-09-30 삼성전자주식회사 배터리의 열화를 방지하는 충전 방법 및 그 방법을 적용한 전자 장치
EP4338076A1 (en) * 2021-05-11 2024-03-20 B.G. Negev Technologies and Applications Ltd., at Ben-Gurion University A computerized charging/interface device with malware detection and backup capabilities
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization
CN114030370A (zh) * 2021-11-30 2022-02-11 联想(北京)信息技术有限公司 一种充电设备、充电控制方法及装置
CN115902490B (zh) * 2022-12-13 2023-09-29 珠海智融科技股份有限公司 充电设备的检测方法、装置、电子设备和存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6363419B1 (en) 1999-04-05 2002-03-26 Openwave Systems Inc. Method and apparatus for generating idle loop screen displays on mobile wireless computing devices
US7522964B2 (en) 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7890741B2 (en) 2000-12-01 2011-02-15 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
FI20020570A0 (fi) 2002-03-25 2002-03-25 Nokia Corp Matkapuhelimessa suoritettavien tehtävien jakaminen ajan suhteen
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
US7359713B1 (en) 2003-02-28 2008-04-15 Trimble Navigation Limited Battery consumption optimization for mobile users
US8544096B2 (en) 2003-12-30 2013-09-24 Emc Corporation On-access and on-demand distributed virus scanning
US7541776B2 (en) * 2004-12-10 2009-06-02 Apple Inc. Method and system for operating a portable electronic device in a power-limited manner
US7583984B2 (en) * 2005-08-12 2009-09-01 Lg Electronics Inc. Method of providing notification for battery power conservation in a wireless system
JP4415131B2 (ja) * 2005-10-31 2010-02-17 ミツミ電機株式会社 電池保護装置及び電池保護回路
US7769416B2 (en) 2006-09-28 2010-08-03 At&T Intellectual Property Ii, L.P. Energy-efficient design of a multimedia messaging system for mobile devices
US7590472B2 (en) 2006-11-09 2009-09-15 Gridpoint, Inc. Energy arbitrage by load shifting
EP2116026B1 (en) 2007-02-01 2011-12-21 Nxp B.V. Control of awake time in mobile device
US7430675B2 (en) * 2007-02-16 2008-09-30 Apple Inc. Anticipatory power management for battery-powered electronic device
JP2008257578A (ja) * 2007-04-06 2008-10-23 Toshiba Corp 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法
EP2147359A2 (en) 2007-05-09 2010-01-27 Gridpoint, Inc. Method and system for scheduling the discharge of distributed power storage devices and for levelizing dispatch participation
US20090164810A1 (en) * 2007-12-21 2009-06-25 Nokia Corporation Methods, apparatuses, and computer program products for managing power usage in mobile devices
US20090300616A1 (en) 2008-05-30 2009-12-03 Abbott Diabetes Care, Inc. Automated task execution for an analyte monitoring system
US9830670B2 (en) * 2008-07-10 2017-11-28 Apple Inc. Intelligent power monitoring
US8224596B2 (en) 2008-09-09 2012-07-17 International Business Machines Corporation Portable device battery optimization routing system
JP2010104114A (ja) * 2008-10-22 2010-05-06 Toyota Motor Corp 車両の制御装置および車両
US20100257529A1 (en) 2009-04-06 2010-10-07 Christopher Wilkerson Efficient systems and methods for consuming and providing power
EP2466719B1 (en) * 2009-08-11 2015-09-30 Sony Corporation Electronic device, method for charging electronic device, program, charging control device, and charging control method
US20110099507A1 (en) * 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US8578384B2 (en) * 2009-10-28 2013-11-05 Freescale Semiconductor, Inc. Method and apparatus for activating system components
US8316046B2 (en) * 2010-04-07 2012-11-20 Apple Inc. Journaling on mobile devices
US9014749B2 (en) * 2010-08-12 2015-04-21 Qualcomm Incorporated System and method to initiate a housekeeping operation at a mobile device
US20120210150A1 (en) * 2011-02-10 2012-08-16 Alcatel-Lucent Usa Inc. Method And Apparatus Of Smart Power Management For Mobile Communication Terminals

Also Published As

Publication number Publication date
EP2721460A4 (en) 2015-08-12
TW201303737A (zh) 2013-01-16
KR101933735B1 (ko) 2018-12-28
CA2838397C (en) 2022-02-15
US20120324578A1 (en) 2012-12-20
KR20140045405A (ko) 2014-04-16
CA2838397A1 (en) 2012-12-20
EP2721460B1 (en) 2019-03-20
TWI553559B (zh) 2016-10-11
JP6126085B2 (ja) 2017-05-10
BR112013031986A2 (pt) 2016-12-20
WO2012173843A2 (en) 2012-12-20
AU2012271103B2 (en) 2017-01-19
BR112013031986B1 (pt) 2021-03-30
RU2609136C2 (ru) 2017-01-30
RU2013155599A (ru) 2015-06-20
CN103597423A (zh) 2014-02-19
CN103597423B (zh) 2016-09-14
BR112013031986A8 (pt) 2018-02-06
US9152202B2 (en) 2015-10-06
WO2012173843A3 (en) 2013-04-11
EP2721460A2 (en) 2014-04-23
JP2014523224A (ja) 2014-09-08

Similar Documents

Publication Publication Date Title
MX2013014794A (es) Operaciones de dispositivo movil con optimizacion de bateria.
AU2012271103A1 (en) Mobile device operations with battery optimization
EP2977854B1 (en) Method, apparatus, and user terminal for removing malicious power consuming application
KR101940389B1 (ko) 적응적 배터리 수명 연장
CN102736720B (zh) 用于预测电池用电量的方法和系统
US20150123595A1 (en) Intelligent context based battery charging
CN104662487A (zh) 根据应用程序活动来预测用户意图和未来交互
US9747111B2 (en) Task execution on a managed node based on compliance with execution policy
CN102566735A (zh) 用于提供电力管理增强的方法和装置
US20130055267A1 (en) Information processing apparatus, computer-readable recording medium, and method for controlling information
WO2019137252A1 (zh) 内存处理方法、电子设备、计算机可读存储介质
CN105388990A (zh) 终端设备的省电处理方法及装置
CN103902011A (zh) 电子设备控制方法及电子设备
CN102623738B (zh) 电池活化方法
KR102125507B1 (ko) 배터리 충전을 위한 방법 및 그 전자 장치
CN108038050B (zh) 性能调整方法、装置、存储介质及电子设备
CN106303096B (zh) 电子设备及其调整电源管理策略的方法
US20060197502A1 (en) Method and system for rejuvenation of an energy storage unit
CN110045811B (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN110007968B (zh) 信息处理方法、装置、计算机设备和计算机可读存储介质
CN111049217A (zh) 可充电智能终端、充电控制方法及存储介质
CN112542867A (zh) 移动终端供电控制方法、装置、终端设备及存储介质
US20230051221A1 (en) Automatically updating a full charge capacity of a battery of an information handling system
CN111987764B (zh) 放电控制方法、装置、存储介质及移动终端
CN108008979B (zh) 终端唤醒的管理方法及其终端、存储介质

Legal Events

Date Code Title Description
GB Transfer or rights

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC

FG Grant or registration