ES2968336T3 - Hibernación selectiva de actividades en un dispositivo informático móvil - Google Patents

Hibernación selectiva de actividades en un dispositivo informático móvil Download PDF

Info

Publication number
ES2968336T3
ES2968336T3 ES21187717T ES21187717T ES2968336T3 ES 2968336 T3 ES2968336 T3 ES 2968336T3 ES 21187717 T ES21187717 T ES 21187717T ES 21187717 T ES21187717 T ES 21187717T ES 2968336 T3 ES2968336 T3 ES 2968336T3
Authority
ES
Spain
Prior art keywords
application
computing device
mobile computing
card
cards
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES21187717T
Other languages
English (en)
Inventor
Daniel Shiplacoff
Matias Duarte
Jeremy Lyon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2968336T3 publication Critical patent/ES2968336T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • 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/3243Power saving in microcontroller unit
    • 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/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • 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/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

En un dispositivo electrónico capaz de ejecutar múltiples aplicaciones de software simultáneamente, se pueden seleccionar aplicaciones, documentos, tarjetas u otras actividades para hibernación a fin de liberar recursos del sistema para otras actividades que están en uso activo. Se determina qué actividades deben hibernar, por ejemplo basándose en una determinación de qué actividades no se han utilizado recientemente o en función del uso relativo de recursos. Cuando una actividad va a hibernar, su estado se conserva en un medio de almacenamiento como un disco, de modo que la actividad pueda luego reactivarse en el mismo estado y el usuario pueda continuar con la misma tarea que estaba realizando antes de que la actividad entrara en hibernación. . (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Hibernación selectiva de actividades en un dispositivo informático móvil
Campo de la invención
En diversas realizaciones, la presente invención se refiere a la gestión de aplicaciones en dispositivos electrónicos, y más particularmente a sistemas y métodos para provocar selectivamente actividades, tales como aplicaciones, para hibernar en un entorno informático en donde pueden abrirse simultáneamente múltiples aplicaciones.
Descripción de la técnica relacionada
Muchos dispositivos informáticos disponibles actualmente ejecutan sistemas operativos que ofrecen a los usuarios la oportunidad de ejecutar varias aplicaciones de software al mismo tiempo, e incluso realizar varias actividades simultáneamente, dentro de una única aplicación de software y/o entre dos o más aplicaciones de software. Por ejemplo, un usuario puede abrir una aplicación de correo electrónico, una aplicación de procesamiento de texto, calculadora en pantalla, y un navegador web, de modo que todas las aplicaciones estén abiertas al mismo tiempo. El usuario puede abrir varios documentos dentro de la aplicación de procesamiento de texto, y puede abrir varios mensajes de correo electrónico. Tal disposición permite al usuario moverse de una tarea a otra al mantener abiertas estas diversas aplicaciones y actividades al mismo tiempo.
Diversos paradigmas visuales están disponibles para presentar múltiples aplicaciones que se ejecutan simultáneamente y otras actividades dentro de una interfaz gráfica de usuario. En algunos sistemas informáticos, se ponen a disposición múltiples ventanas superpuestas, con cada ventana representa una aplicación, documento, tarea, u otra actividad. A menudo se emplea una metáfora de escritorio, en donde el usuario puede mover y cambiar el tamaño de las ventanas en una pantalla de visualización mediante manipulación directa. En cualquier dado momento, una ventana tiene foco (habitualmente indicado como tal al estar situado sobre la parte superior de las otras ventanas). Otras ventanas pueden ser visibles, invisibles, parcialmente visibles (por ejemplo, si otras ventanas las ocultan parcial 0 completamente). Un usuario puede cambiar de una actividad a otra haciendo que una ventana diferente tenga foco; esto se logra comúnmente haciendo clic sobre una porción visible de la ventana que se está activando, o haciendo clic sobre un botón o icono que representa la ventana en una barra de tareas, área de inicio rápido, o una construcción similar. En algunos sistemas operativos, los menús emergentes y/o los accesos directos de teclado pueden estar disponibles para cambiar entre aplicaciones, documentos, y otras actividades.
En otros sistemas, se utiliza una metáfora de tarjeta, en la que cada aplicación u otra actividad se puede representar dentro de un área de la pantalla. Las tarjetas se pueden mover sobre una pantalla de visualización, por ejemplo, mediante manipulación directa a través de una interfaz de usuario de pantalla táctil. Se pueden proporcionar varios modos de visualización de tarjetas. Diversas realizaciones de una metáfora de la tarjeta se describen en la solicitud de patente relacionada de e E.UU. US 2009/0293007 A1, presentada el 23 de mayo de 2008, "Navigating Among Activities in a Computing Device" y la solicitud de patente relacionada de EE.UU. US 2010/0095240 A1, presentada el 1 de abril de 2009, “Card Metaphor for Activities in a Computing Device”.
Tales sistemas proporcionan mecanismos mediante los cuales varias aplicaciones y/u otras actividades pueden mantenerse abiertas al mismo tiempo, lo cual permite al usuario cambiar fácilmente entre actividades con una sobrecarga mínima. La capacidad de mantener abiertas varias actividades es ventajosa porque evita la necesidad de abrir y cerrar aplicaciones repetidamente. De forma adicional, muchos sistemas (incluidos los descritos anteriormente) permiten a los usuarios ver resultados de (y/o interactuar con) dos o más actividades sobre una pantalla común (o sobre múltiples pantallas) al mismo tiempo. Las tarjetas o ventanas de dos o más aplicaciones se pueden mostrar simultáneamente, lo cual permite al usuario hacer referencia a una mientras interactúa con otra, o realizar otras tareas que implican la interacción con dos o más aplicaciones. Ciertas operaciones se benefician enormemente de tal disposición, tal como, por ejemplo, cortar y pegar contenido de una aplicación a otra.
Los dispositivos móviles tales como teléfonos inteligentes, asistentes digitales personales, reproductores de música, ordenadores de mano, y similares se están volviendo cada vez más potentes. Muchos ahora pueden ejecutar varias aplicaciones al mismo tiempo, y realizar funciones sofisticadas que rivalizan con los dispositivos informáticos tradicionales. No obstante, muchos de tales dispositivos tienen recursos informáticos limitados, incluida la velocidad limitada del procesador y/o la memoria disponible. Debido a estas limitaciones, tales dispositivos a menudo pueden ejecutar un número limitado de aplicaciones simultáneamente; exceder el límite puede causar un bajo rendimiento, inestabilidad, bloqueos, u otros efectos perjudiciales.
En tales dispositivos, si un usuario intenta abrir una aplicación, abrir un documento, o iniciar otra actividad que hace que se alcance un límite de memoria o procesamiento, se le puede presentar al usuario un mensaje de error que le informa que la tarea solicitada no se puede realizar a menos que algunas aplicaciones, documentos, ventanas, tarjetas, u otras actividades se cierren primero. Alternativamente, de forma alternativa, al usuario se le puede presentar un mensaje simplemente informándole que no le queda memoria. En el peor de los casos, el sistema puede fallar y el usuario puede perder datos valiosos en los que estaba trabajando.
Ninguno de estos escenarios es satisfactorio. Lo que se necesita es un sistema y un método que maneje las limitaciones de recursos sin afectar la capacidad del usuario para realizar la tarea que desea realizar. Lo que se necesita además es un sistema y método que permita al usuario abrir una actividad incluso cuando se han abierto muchas otras actividades, e incluso ante las limitaciones de recursos en el sistema informático.
Incluso cuando no se alcanza un límite de recursos, la operación continua de una actividad puede ser un desperdicio en términos de recursos del sistema, lo cual tiene un efecto perjudicial en el rendimiento del dispositivo informático. Ejecutar una aplicación, o mantener abierto un documento, que no es necesario puede consumir recursos informáticos valiosos, incluida la memoria, el tiempo de procesamiento, el ancho de banda de la red, la energía de la batería, o cualquier combinación de los mismos. En algunas situaciones, los usuarios dejan aplicaciones y/o documentos abiertos incluso cuando no son necesarios. El usuario puede no darse cuenta de que una actividad aún se está ejecutando, o puede no comprender que la actividad está consumiendo una cantidad significativa de recursos del sistema. Lo que se necesita, por lo tanto, es un sistema y un método para detectar tales condiciones y evitar el uso derrochador de los recursos del sistema para actividades que se dejan abiertas pero que no están en uso activo. El documento US 2009/0013282 A1 divulga un sistema y un método para implementar un gestor de ventanas de un único eje en un dispositivo informático móvil para ver y acceder a múltiples aplicaciones en un área de visualización limitada utilizando capacidades de entrada limitadas. El dispositivo informático móvil inicializa un espacio de visualización virtual que tiene una primera dimensión con un tamaño fijo. Por ejemplo, el espacio de visualización virtual se inicializa para tener una dimensión horizontal igual a la dimensión horizontal de la pantalla de visualización. Se genera al menos una ventana que tiene un tamaño fijo en la primera dimensión, pero también considerable en una segunda dirección. Por ejemplo, al menos una ventana tiene una dimensión horizontal fija, pero es verticalmente considerable. A continuación, se inserta al menos una ventana en el espacio de visualización virtual y se muestra sobre un dispositivo de visualización.
El documento US 5.499.334 A proporciona un método y un sistema para gestionar configuraciones de ventana en una configuración de escritorio.
Sumario
La invención se define por las reivindicaciones.
En diversas realizaciones, el sistema y el método de la presente invención operan en un dispositivo electrónico capaz de ejecutar dos o más aplicaciones de software simultáneamente. En diversas realizaciones, cada aplicación de software puede ser capaz de abrir dos o más documentos, o habilitar dos o más actividades simultáneamente. El término "actividad" se utiliza en el presente documento para referirse a una aplicación de software, tarea, documento, mensaje, página, imagen, tarjeta, ventana, elemento de contenido, o cualquier otra construcción que represente datos y/o funcionalidad definible mediante programación, y con el cual el usuario puede interactuar a través de una interfaz de usuario sobre el dispositivo electrónico. En diversas realizaciones descritas en el presente documento, las actividades pueden representarse mediante una interfaz de usuario sobre una pantalla de visualización, y un usuario puede interactuar con actividades a través de un dispositivo de entrada. En diversas realizaciones, el dispositivo electrónico puede presentar múltiples actividades simultáneas utilizando cualquier paradigma o metáfora deseada, incluyendo, por ejemplo, una metáfora de escritorio que tiene múltiples ventanas superpuestas o una metáfora de tarjeta, como se describe en las solicitudes de patente relacionadas mencionadas anteriormente. Por ejemplo, en una metáfora de tarjeta, las actividades están representadas por "tarjetas", que es un término utilizado en el presente documento para referirse a las áreas de la pantalla que pueden ser movidas y manipuladas por el usuario. Los usuarios interactúan con las tarjetas para iniciar, finalizar y reordenar actividades, así como para navegar entre actividades y realizar otras operaciones.
En diversas realizaciones, algunas actividades pueden estar abiertas, pero no visibles sobre la pantalla de visualización; por ejemplo, se pueden mover fuera de la pantalla, minimizarse, superponerse o similares; el usuario puede mover elementos en la pantalla o realizar otras operaciones para hacer que estas actividades abiertas sean visibles. En diversas realizaciones, múltiples documentos, ventanas, o tarjetas simultáneamente para una aplicación de software dada; el término "actividad" puede referirse a la aplicación de software en sí y/o a documentos, ventanas, o tarjetas individuales asociados con la aplicación de software.
En diversas realizaciones, el sistema y el método de la presente invención provocan selectivamente que ciertas actividades hibernen, o se "congelen", para liberar recursos del sistema para otras actividades que están en uso activo. Se determina qué actividades deben hibernar, por ejemplo, basándose en una determinación de qué actividades no se han utilizado recientemente o basándose en el uso relativo de los recursos. En una realización, cuando una actividad va a hibernar, su estado se conserva sobre un medio de almacenamiento, tal como un disco, de modo que la actividad pueda revivirse posteriormente en el mismo estado y el usuario pueda continuar con la misma tarea que se estaba realizando antes la actividad entró en hibernación. En una situación en la que múltiples documentos, ventanas, o tarjetas están abiertos y activos simultáneamente para una aplicación de software determinada, la aplicación de software en sí puede hibernar, o documentos, ventanas, o tarjetas individuales asociados con la aplicación de software pueden hibernar individualmente.
Para los fines de la descripción proporcionada en el presente documento, el término "hibernar" se refiere a la operación mediante la cual una actividad (tal como una aplicación, documento, tarjeta, o ventana) queda inactiva, y su información de estado actual se almacena en algún medio de almacenamiento, para reducir el uso de ciertos recursos del sistema tal como, por ejemplo, memoria. En una realización, las actividades de hibernación permanecen visibles en la pantalla, de la misma manera que las actividades activas, o "en vivo", actividades, aunque se puede aplicar una característica visual distintiva para informar al usuario que la actividad está hibernando; por ejemplo, la actividad se puede presentar sombreada o con brillo atenuado, o con un icono superpuesto o adyacente que indica que está hibernando. En otras realizaciones, se pueden usar otros mecanismos para indicar que una actividad está hibernando. En otras realizaciones, no se proporciona un indicador visual para informar al usuario que la actividad está hibernando.
En una realización, las actividades hibernan automáticamente en respuesta a una determinación de que se necesitan recursos adicionales del sistema, o en respuesta a una determinación de que una actividad está teniendo un efecto adverso sobre el rendimiento del sistema, o en respuesta a otros eventos o factores desencadenantes. En una realización, se determina qué actividades deben hibernar, basándose en cuán recientemente se haya utilizado la actividad, la cantidad de recursos del sistema que está utilizando la actividad y/u otros factores. En otra realización, un usuario puede especificar manualmente que una o más actividades deben hibernar.
En una realización, una actividad de hibernación se revive automáticamente cuando un usuario intenta interactuar con la actividad. En otra realización, una actividad de hibernación se revive automáticamente cuando hay suficientes recursos del sistema disponibles para ejecutar la actividad sin afectar negativamente a otras actividades. En otra realización, se revive una actividad de hibernación en respuesta a un comando explícito del usuario. Cuando se revive una actividad, la información de estado se recupera del almacenamiento y, si es necesario, la actividad se vuelve a iniciar para que el usuario pueda reanudar la interacción con ella en el mismo punto en que se encontraba inicialmente en hibernación.
En una realización, la recuperación de una actividad de hibernación puede hacer que otra actividad hiberne automáticamente, particularmente si los recursos del sistema necesitan estar disponibles para revivir la primera actividad.
En una realización, una actividad de hibernación puede cerrarse o descartarse, después de un período de tiempo o en respuesta a algún evento. Tal descartación puede ser apropiada, por ejemplo, cuando hay alguna indicación de que el usuario ya no está interesado en la actividad. El descarte de una actividad hace que se descarte la información del estado, aunque se pueden guardar los archivos de datos abiertos.
En algunas realizaciones, en lugar de provocar automáticamente que las actividades hibernen y/o se descarten, el sistema puede dar al usuario una recomendación de que una o más actividades hibernen y/o se descarten (ya sea para conservar los recursos del sistema o por cualquier otro motivo). El usuario tiene la oportunidad de indicar si la acción recomendada se lleva a cabo o no.
En algunas realizaciones, el usuario puede controlar si tiene lugar la hibernación automática y/o la descartación automática, por ejemplo, a través de una pantalla de preferencias u opciones.
En algunas realizaciones, las actividades pueden hibernar por razones distintas a la gestión de recursos. Por ejemplo, puede ser deseable mantener un límite en el número total de actividades actualmente activas, o "en vivo", actividades, para reducir la confusión del usuario que puede tener lugar si hay demasiadas actividades activas simultáneamente. En tal realización, las actividades pueden hibernar automáticamente cuando se alcanza tal límite. Alternativamente, se le puede solicitar al usuario que seleccione actividades para la hibernación, mientras le permite decidir si las actividades deben o no hibernar.
En una realización, en donde la invención se implementa en un sistema que usa una metáfora de tarjeta, se establece y mantiene una relación posicional persistente entre las tarjetas. La relación posicional puede ser una secuencia unidimensional o alguna relación bidimensional más compleja. La relación posicional es persistente en el sentido de que no cambia a menos que el usuario indique que se debe cambiar, o se produce algún otro evento que indique que un cambio está justificado (tal como el no uso de una actividad, o una actividad que se bloquea o es descartada). En tal realización, las tarjetas para actividades de hibernación pueden mantener sus posiciones con respecto a las tarjetas para actividades en vivo, aunque se puede proporcionar un indicador visual para denotar el estado de hibernación. En otras realizaciones, las tarjetas se reposicionan dentro de la secuencia cuando sus actividades hibernan, por ejemplo, al agruparse entre sí, o se mueven al final de la secuencia de tarjetas, o se reposicionan de otra manera para indicar el estado de hibernación.
En una realización, las técnicas de la presente invención se aplican a cualquier actividad que pueda realizarse sobre un dispositivo informático o cualquier elemento de software que pueda aparecer en un dispositivo informático. El uso del término "actividad" está destinado a referirse a cualquiera de tal actividad o elemento, y no está limitado estrictamente a una aplicación de software autónoma. De este modo, las técnicas de hibernación y reavivación descritas en el presente documento se pueden aplicar a las aplicaciones de software en su conjunto, y/o documentos, tareas, cuadros de diálogo, ventanas, applets, paneles, banners, barras de herramientas, menús, elementos de contenido, imágenes, vídeos, paneles de control, o similares.
En una realización, las técnicas descritas en el presente documento pueden combinarse con las técnicas de reposicionamiento y/o agrupación de tarjetas descritas en la solicitud de patente estadounidense relacionada US 2010/0095240 A1, presentada el 1 de abril de 2009, “Card Metaphor for Activities in a Computing Device”.
Las diversas características descritas anteriormente y en el presente documento se pueden implementar individualmente o en cualquier combinación, como le resultará evidente a un experto en la materia. En la descripción que se proporciona a continuación, se pondrán de manifiesto características y ventajas adicionales.
Breve descripción de las figuras
Los dibujos adjuntos ilustran varias realizaciones de la invención y, junto con la descripción, sirven para explicar los principios de la invención. Un experto en la materia reconocerá que las realizaciones particulares ilustradas en los dibujos son meramente de ejemplo, y no pretenden limitar el alcance de la presente invención.
La Fig. 1A representa un ejemplo de una pantalla de visualización en modo tarjeta, que muestra una tarjeta con foco y una tarjeta parcialmente visualizada, de acuerdo con una realización de la presente invención.
La Fig. 1B representa la pantalla de visualización en modo tarjeta, en donde una actividad está hibernando. La Fig. 1C representa la pantalla de visualización en modo tarjeta, en donde la tarjeta para la actividad de hibernación está en una posición central sobre la pantalla.
La Fig. 1D representa la pantalla de visualización en modo de pantalla completa, en donde se está reviviendo la actividad de hibernación.
La Fig. 1E representa la pantalla de visualización en modo de pantalla completa, en donde se ha revivido la actividad de hibernación previa.
Las Figs. 2A a 2B son una ilustración conceptual que muestra una secuencia en donde el lanzamiento de una primera actividad provoca que una segunda actividad hiberne, de acuerdo con una realización.
Las Figs. 3A a 3D son una serie de ilustraciones conceptuales que muestran una secuencia para revivir una actividad de hibernación de acuerdo con una realización.
La Fig. 4 representa una pantalla de visualización en modo aleatorio, en donde algunas actividades están hibernando, de acuerdo con una realización.
La Fig. 5 representa una pantalla de visualización en modo rejilla, en donde algunas actividades están hibernando, de acuerdo con una realización no reivindicada.
La Fig. 6A representa una pantalla de visualización en modo tarjeta, en donde una actividad asociada con un grupo de tarjetas está hibernando, de acuerdo con una realización.
La Fig. 6B representa una pantalla de visualización en modo aleatorio, en donde una actividad asociada con un grupo de tarjetas está hibernando, de acuerdo con una realización.
La Fig. 7 es un diagrama de flujo que representa un método para provocar que una o más actividades hibernen de acuerdo con una realización.
La Fig. 8 es un diagrama de flujo que representa un método para revivir una actividad de hibernación de acuerdo con una realización.
La Fig. 9 representa un ejemplo de una pantalla de visualización que muestra una advertencia de memoria baja, de acuerdo con una realización.
La Fig. 10A representa un ejemplo de una pantalla de visualización para una realización alternativa de la invención utilizando una interfaz de usuario de escritorio que tiene ventanas superpuestas, en donde una actividad está hibernando, de acuerdo con una realización.
La Fig. 10B representa el ejemplo de la Fig. 10A, en donde se está reviviendo la actividad de hibernación, de acuerdo con una realización.
La Fig. 10C representa el ejemplo de la Fig. 10A, en donde la actividad de hibernación ha sido revivida, de acuerdo con una realización.
La Fig. 11 representa una arquitectura funcional para implementar la invención de acuerdo con una realización.
Descripción detallada de realizaciones
La solicitud de patente estadounidense relacionada US 2009/0293007 A1, presentada el 23 de mayo de2008, "Navigating Among Activities in a Computing Device" y la solicitud de patente estadounidense US 2010/0095240 A1, presentada el 1 de abril de 2009, “Card Metaphor for Activities in a Computing Device”, describen diversas realizaciones para ejecutar dos o más actividades simultáneamente sobre un dispositivo informático, y para interactuar con estas actividades utilizando varios modos y paradigmas de interfaz de usuario. En una realización, la presente invención se implementa en conjunción con las diversas técnicas descritas en estas aplicaciones relacionadas, aunque un experto en la materia reconocerá que la presente invención también puede ser implementada de otras maneras.
Arquitectura del sistema
Haciendo referencia ahora a la Fig. 11, se muestra una arquitectura funcional para implementar la invención de acuerdo con una realización. En diversas realizaciones, la presente invención puede implementarse sobre cualquier dispositivo electrónico 100, tal como un ordenador de mano, asistente digital personal (PDA), ordenador personal, cabina, teléfono móvil, y similares. El dispositivo 100 incluye un procesador 1101 para realizar las etapas de la invención y para realizar otras operaciones relacionadas con la operación del dispositivo 100, que incluyen la ejecución de programas de software y un sistema operativo, y el control de la operación de diversos componentes del dispositivo 100. El dispositivo 100 también incluye el dispositivo de entrada 1104 (tal como un teclado, bola de seguimiento, interruptor basculante, interruptor de cinco direcciones, teclado o pantalla sensible al tacto, o similares), dispositivo de salida 1105 (tal como una pantalla de visualización), y memoria 1106. En algunas realizaciones, el dispositivo de entrada 1104 y el dispositivo de salida 1105 se implementan en combinación, como por ejemplo una pantalla sensible al tacto que permite la manipulación directa de elementos de interfaz de usuario visualizados.
El dispositivo 100 también incluye el dispositivo de almacenamiento 1102, que puede ser un disco duro, memoria flash, o cualquier otro componente fijo o extraíble para el almacenamiento de datos. En una realización, como se explica con más detalle a continuación, el sistema y el método de la presente invención almacenan información de estado de actividad 1103 en el dispositivo de almacenamiento 1102 cuando las actividades entran en hibernación, y recuperan tal información de estado 1103 del dispositivo de almacenamiento 1102 cuando reviven actividades.
En diversas realizaciones, el dispositivo 100 también puede incluir componentes adicionales, tal como, opcionalmente, la interfaz de red 1107 (como Bluetooth® y/o conectividad por cable a una red tal como Internet), y/o la interfaz de red celular 1108 que proporciona funcionalidad de telefonía celular. Es bien conocido proporcionar tal funcionalidad sobre teléfonos inteligentes.
Un experto en la materia reconocerá que la arquitectura funcional representada en la Fig. 11 es meramente a modo de ejemplo, y que se pueden usar otras disposiciones y componentes para implementar la presente invención. Los componentes particulares mostrados en la Fig. 11 no son necesarios para practicar la invención como se reivindica en el presente documento; algunos componentes pueden omitirse, y otros agregarse, sin apartarse de las características esenciales de la invención como se establece en las reivindicaciones.
En una realización, la invención puede implementarse como una característica de un paradigma de gestión de aplicaciones para una aplicación de software o sistema operativo que se ejecuta sobre tal dispositivo. En consecuencia, ciertos aspectos de la presente invención pueden implementarse como parte de una interfaz gráfica de usuario para controlar el software sobre tal dispositivo.
En diversas realizaciones, la invención es particularmente adecuada para dispositivos 100 tales como teléfonos inteligentes, ordenadores de mano, y PDA, que a menudo tienen recursos limitados tales como potencia de procesamiento, memoria, ancho de banda de red, y que son capaces de ejecutar varias aplicaciones de software simultáneamente. Un experto en la materia reconocerá, sin embargo, que la invención se puede poner en práctica en muchos otros contextos, incluyendo cualquier entorno en el que pueda ser deseable proporcionar un mecanismo para hacer que las actividades hibernen, ya sea para conservar los recursos del sistema, mejorar la capacidad de respuesta del sistema, reducir la confusión del usuario, o por cualquier otra razón. En consecuencia, la siguiente descripción pretende ilustrar la invención a modo de ejemplo, en lugar de limitar el alcance de la invención reivindicada.
Haciendo referencia ahora a la Fig. 1A, se muestra un ejemplo de un ejemplo de un dispositivo 100 que incluye una pantalla de visualización 101 que muestra varias actividades simultáneamente utilizando una metáfora de tarjeta. En esta realización, las actividades están asociadas con las tarjetas 301, en donde una o más tarjetas pueden corresponder a una aplicación de software dada. Como se describe en las solicitudes de patente relacionadas mencionadas anteriormente, un usuario puede navegar entre las actividades moviendo las tarjetas dentro y fuera de la pantalla 101. En una realización, las tarjetas 301 retienen una relación posicional persistente entre sí, y están obligadas a moverse a lo largo de un único eje (tal como horizontalmente). En una realización, están disponibles diversos modos para ver e interactuar con las tarjetas 301 de diferentes maneras, como se describe en las solicitudes de patente relacionadas mencionadas anteriormente. El modo representado en la Fig. 1A, en donde una única tarjeta 301C es visible en su totalidad, con una o dos tarjetas adyacentes 301B siendo parcialmente visibles, se denomina "modo de tarjeta", aunque pueden estar disponibles otros modos.
En el ejemplo de la Fig. 1A, la pantalla de visualización 101 también incluye un área de inicio rápido 105, que incluye iconos adicionales 106 para iniciar aplicaciones de software comúnmente utilizadas y otras actividades. El área 105 de inicio rápido no es necesaria para la presente invención, pero se muestra solo con fines ilustrativos. En una realización, como se describe con más detalle a continuación, el sistema de la presente invención hace que las actividades hibernen en respuesta a ciertas condiciones que pueden surgir cuando el usuario intenta iniciar una actividad.
En una realización, la pantalla 101 es sensible al tacto, de modo que un usuario puede iniciar una aplicación de software, o abrir un documento, o iniciar cualquier otra actividad tocando un icono visualizado 106, y puede manipular las tarjetas 301 y otros objetos mostrados tocando y/o gesticulando en diversas áreas de la pantalla 101. Por ejemplo, en una realización el usuario puede descartar una aplicación u otra actividad arrastrando su tarjeta 301 hacia arriba hacia el borde superior de la pantalla 101. En una realización, el usuario puede acceder a actividades abiertas cuyas tarjetas 301 no están visibles actualmente sobre la pantalla 101, arrastrando las tarjetas sobre pantalla 301 en una dirección horizontal, haciendo que las tarjetas fuera de la pantalla 301 salgan a la vista. Los detalles de tales operaciones se describen en las solicitudes de patente relacionadas citadas anteriormente. Un experto en la materia reconocerá que la presente invención puede implementarse en otras realizaciones en donde la pantalla 101 no sea sensible al tacto, y que las técnicas descritas en el presente documento no están limitadas a su aplicabilidad con ningún mecanismo de entrada en particular.
En una realización, el dispositivo 100 también incluye un área de gestos sensible al tacto 102 para ingresar comandos basados en gestos, como se describe en las solicitudes de patente relacionadas mencionadas anteriormente. En otra realización, la pantalla 101 y/o el área de gestos 102 son sensibles al movimiento del usuario en proximidad a la superficie, para detectar gestos y comandos realizados cerca de la superficie, pero sin entrar necesariamente en contacto con la superficie.
Con fines ilustrativos, el dispositivo 100 como se muestra en la Fig. 1A es un asistente digital personal o teléfono inteligente. Tales dispositivos suelen tener capacidad de teléfono, correo electrónico, y capacidad de mensajería de texto, y pueden realizar otras funciones que incluyen, por ejemplo, reproducir música y/o vídeo, navegar por la web, ejecutar aplicaciones de productividad, y similares. La presente invención puede ser implementada, de acuerdo con diversas realizaciones, en cualquier tipo de dispositivo electrónico capaz de ejecutar múltiples aplicaciones de software simultáneamente, y no se limita a dispositivos que tienen la funcionalidad enumerada. De forma adicional, el diseño particular y la disposición de diversas características del dispositivo 100 como se muestra en las Figuras son meramente a modo de ejemplo y no pretenden ser restrictivos del alcance de la invención reivindicada.
En diversas realizaciones, la pantalla táctil 101 y el área de gestos 102 pueden implementarse usando cualquier tecnología que sea capaz de detectar una ubicación de contacto y/o movimiento del usuario próximo a la superficie. Como alternativa, tal y como se ha mencionado anteriormente, la presente invención puede implementarse con otros mecanismos de entrada del usuario, tales como un teclado, una rueda de desplazamiento, un lápiz óptico o similares.
En una realización, el dispositivo 100 como se muestra en la Fig. 1 también tiene un botón físico 103. En una realización, el botón físico 103 puede usarse para alternar entre el modo de pantalla completa y el modo de tarjeta, como se describe en las solicitudes de patente relacionadas. El botón físico 103 no es necesario para la presente invención, y se muestra solo con fines ilustrativos.
Hibernación
En una realización de la presente invención, el dispositivo 100 provoca selectivamente que las actividades hibernen. Esto se puede hacer automáticamente, por ejemplo, en respuesta a ciertos eventos o condiciones de activación, tal como la detección de una condición de poca memoria. Tal condición puede ocurrir, por ejemplo, cuando el número de actividades abiertas excede (o está cerca de exceder) las capacidades del dispositivo 100, o cuando el rendimiento, fiabilidad, y/o estabilidad del dispositivo 100 está/están en peligro de verse comprometidos debido a un exceso de actividades concurrentes. La hibernación puede tener lugar automáticamente, sin intervención del usuario. Alternativamente, se le puede solicitar al usuario que indique si debe continuar con la hibernación, de modo que la hibernación se realice solo si el usuario indica que debería llevarse a cabo. En una realización, un usuario puede iniciar manualmente la hibernación de una actividad, por ejemplo, seleccionando un botón o comando de "hibernación".
Al proporcionar una hibernación selectiva de actividades, la presente invención permite la implementación de un sistema en donde se puede abrir un mayor número de actividades, y en donde el usuario no tiene la carga de cerrar y/o abrir actividades repetidamente, y restaurar el estado manualmente, con el fin de evitar exceder los límites de los recursos del sistema. Como se describe con más detalle a continuación, las actividades de hibernación se pueden revivir fácilmente según sea necesario, con un mínimo de retraso y sin requerir que el usuario vuelva a iniciar o restaurar explícitamente el estado.
También puede ser útil hacer que una actividad hiberne por otras razones, tal como simplificar la operación del dispositivo 100, conservar la atención del usuario, y/o mejorar la seguridad (por ejemplo, para evitar mantener abierta una actividad que pueda hacer que el dispositivo 100 sea vulnerable al acceso no autorizado a través de una red informática).
En una realización, en donde una aplicación de software puede tener más de una tarjeta 301 asociada con ella, las actividades asociadas con tarjetas individuales 301 pueden colocarse en hibernación independientemente una de otra. Alternativamente, las actividades para todas las tarjetas 301 asociadas con una aplicación de software se pueden colocar en hibernación.
En una realización, como se describe con más detalle a continuación, cuando se inicia la hibernación de una actividad, el dispositivo 100 guarda el estado de la actividad en el almacenamiento 1102 para que luego pueda restaurarse. Se toma una instantánea de la interfaz de usuario de la actividad. Esta instantánea, o una porción de la misma, o una imagen derivada de la misma, se usa para reemplazar la vista en vivo presentada en la tarjeta 301 (o tarjetas 301) correspondiente a la actividad. En una realización, se aplica una característica o efecto visual distintivo a la tarjeta 301 correspondiente a la actividad, para informar al usuario que la actividad está hibernando y que la imagen mostrada en la tarjeta 301 es una instantánea estática en lugar de una presentación en vivo de la interfaz de usuario. En una realización, la característica visual distintiva es un icono o indicador de texto; en otra realización, la imagen mostrada en la tarjeta 301 está sombreada, mostrada en blanco y negro, o de otra manera modificada o transformada. En otra realización, el tamaño, orientación, u otra característica visual de la tarjeta 301 se cambia para indicar que la actividad está hibernando. En otra realización la imagen mostrada en la tarjeta 301 se oscurece o aligera, por ejemplo, aplicando una superposición de escala de grises transparente, denominada "malla", encima de la imagen mostrada en la tarjeta 301. En una realización, el sistema operativo del dispositivo 100 aplica la malla cuando se visualiza la tarjeta 301; de este modo, la pantalla 101 muestra la instantánea de la tarjeta 301 con la malla aplicada. En otra realización, la malla se aplica en el momento en que se realiza la instantánea, de modo que la imagen de la instantánea incorpore la malla, y no es necesario aplicar ningún procesamiento adicional cuando se visualiza la instantánea.
En una realización, la instantánea se toma a un nivel de resolución relativamente alto para que se pueda escalar según sea apropiado dependiendo del tamaño visualizado actual de la tarjeta asociada 301. En una realización, la instantánea ocupa la tarjeta 301 asociada con la actividad de hibernación. En otra realización, se introduce alguna animación, por ejemplo, para enfatizar el hecho de que la actividad está hibernando. En aún otra realización, las actividades de hibernación se representan de alguna otra manera, tal como una imagen genérica o un indicador textual, en lugar de representarse mediante una instantánea de la interfaz de usuario.
Haciendo referencia ahora a la Fig. 1B, se muestra la pantalla de visualización 101 en modo tarjeta, en donde la actividad representada por la tarjeta 301B está hibernando. Se ha aplicado una malla a la tarjeta 301B. La malla se representa en la Figura mediante líneas diagonales; no obstante, puede adoptar cualquier forma visual, incluido, por ejemplo, un oscurecimiento general de la imagen asociada con la tarjeta 301B.
En el ejemplo de la Fig. 1B, la imagen que se muestra en la tarjeta 301B es una instantánea estática 152 en lugar de una interfaz de usuario en vivo, ya que la actividad asociada con la tarjeta 301B no se está ejecutando actualmente. Otras actividades en vivo, tal como la representada por la tarjeta 301C, están representadas por una interfaz de usuario en vivo con la que el usuario puede interactuar.
En una realización, las tarjetas 301 para actividades de hibernación mantienen sus posiciones con respecto a las tarjetas 301 para actividades en vivo. En otras realizaciones, las tarjetas 301 se reposicionan dentro de la secuencia cuando sus actividades hibernan, por ejemplo, al agruparse entre sí, o se mueven al final de la secuencia de tarjetas 301, o se reposicionan de otra manera para indicar el estado de hibernación.
Las tarjetas 301 para actividades de hibernación se pueden mover, reposicionar, y manipular de la misma manera que las tarjetas 301 para actividades en vivo, aunque las tarjetas 301 para actividades de hibernación están ocupadas por instantáneas estáticas de sus respectivas interfaces de usuario. De este modo, en una realización, las diversas técnicas para interactuar con las tarjetas 301, como se describe en las solicitudes de patente relacionadas mencionadas anteriormente, pueden aplicarse todas a las tarjetas 301 para actividades de hibernación. Como se describirá con más detalle a continuación, ciertas acciones realizadas por el usuario pueden provocar que se reanude una actividad de hibernación.
Haciendo referencia ahora a la Fig. 1C, se muestra la pantalla de visualización 101 en modo tarjeta, en donde la tarjeta 301B para la actividad de hibernación se ha movido a la posición central sobre la pantalla 101. En una realización, la actividad permanece en el estado de hibernación independientemente de su posición sobre la pantalla 101; de este modo, la instantánea estática 152 se muestra con una malla superpuesta representada aquí por líneas diagonales. Las tarjetas 301A y 301C, ambas representando actividades en vivo, son parcialmente visibles a ambos lados de la tarjeta 301B. En algunas realizaciones, colocar una tarjeta 301 en la posición central hace que su actividad reviva. En otras realizaciones, la reavivación tiene lugar después de que la tarjeta 301 haya ocupado la posición central durante algún período de tiempo.
En una realización, las tarjetas 301 para actividades de hibernación se pueden visualizar también en otros modos. Haciendo referencia ahora a la Fig. 4, se muestra un ejemplo de pantalla 101 en un modo "aleatorio", en el que las tarjetas 301 se presentan en un tamaño reducido con respecto al modo de tarjeta, de modo que se puede presentar más de una tarjeta 301 al completo.
Como se describe en las solicitudes de patente relacionadas mencionadas anteriormente, el modo aleatorio está optimizado para reordenar y manipular tarjetas 301 que representan actividades. En una realización, en modo aleatorio, las tarjetas 301 se muestran en un tamaño reducido, permitiendo de este modo que se muestren más tarjetas 301 en la pantalla 101 simultáneamente. En una realización, cuando el dispositivo 100 está en modo aleatorio, las tarjetas 301 están dispuestas linealmente tal como están en modo de tarjeta. El usuario puede reorganizar las tarjetas 301 como se describe anteriormente para el modo de tarjeta, y sustancialmente todos los comportamientos descritos anteriormente con respecto al modo de tarjeta también se aplican al modo aleatorio. De este modo, cuando el usuario arrastra una tarjeta 301 hacia la izquierda o hacia la derecha dentro de la pantalla de visualización 100, otras tarjetas 301 se mueven en concierto con la tarjeta arrastrada 301. El modo aleatorio proporciona una forma de reorganizar las tarjetas mientras se pueden ver más tarjetas 301 simultáneamente.
Como se muestra en la Fig. 4, en una realización se muestran tres tarjetas 301C, 301D, 301E en su totalidad, y se muestran porciones de otras dos tarjetas 301B, 301F. Las tarjetas 301A y 301G se muestran en la Fig. 4 con fines ilustrativos para representar su relación posicional con las tarjetas visibles 301C, 301D, 301E, aunque las tarjetas 301A y 301G están fuera de la pantalla y actualmente no son visibles sobre la pantalla 101.
En el ejemplo de la Fig. 4, las actividades correspondientes a las tarjetas 301A, 301E, y 301G están hibernando. En consecuencia, se muestran instantáneas estáticas 152A, 152E y 152G, respectivamente, dentro de las tarjetas 301A, 301E y 301G, reemplazando la interfaz de usuario en vivo para esas tarjetas. En una realización, las tarjetas 301A, 301E, y 301G se superponen mediante mallas para indicar el estado de hibernación. Alternativamente, como se describió anteriormente, se pueden usar otros mecanismos para indicar el estado de hibernación.
Haciendo referencia ahora a la Fig. 5, se muestra un ejemplo de pantalla 101 en un modo de "cuadrícula", en el que el tamaño de la tarjeta se reduce de acuerdo con el espacio de pantalla disponible. En una realización, el modo de cuadrícula permite al usuario ver más tarjetas 301 en la pantalla 101 presentando tarjetas 301 en una cuadrícula bidimensional.
Como se describe en las solicitudes de patente relacionadas mencionadas anteriormente, en modo de cuadrícula, las tarjetas 301 se presentan en un tamaño que permite que todas las tarjetas 301 se muestren simultáneamente. De este modo, por ejemplo, en la Fig. 5, las tarjetas 301 se muestran en un tamaño que permite que las siete tarjetas abiertas 301 se muestren simultáneamente. A medida que las tarjetas 301 se descartan o se lanzan, las tarjetas 301 se pueden escalar adecuadamente para permitir que todas las tarjetas 301 se muestren simultáneamente.
Como se describe en las solicitudes de patente relacionadas mencionadas anteriormente, en una realización, en modo de cuadrícula, se aplica un tamaño mínimo de tarjeta 301 (o un número máximo de tarjetas mostradas 301), incluso si esto significa que solo puede visualizarse un subconjunto de tarjetas 301. De este modo, en efecto, una vez que las tarjetas 301 se han reducido al tamaño mínimo (o una vez que se muestra el número máximo de tarjetas visualizadas 301 en la pantalla 101), no tiene lugar un mayor escalado descendente. En cambio, se permite el desplazamiento para permitir al usuario acceder a las tarjetas 301 restantes que no se visualizan. Se puede proporcionar alguna indicación visual para informar al usuario que se puede acceder a las tarjetas adicionales 301 mediante desplazamiento, por ejemplo, mostrando los bordes de las tarjetas 301 que están fuera de la pantalla. El usuario puede desplazarse, por ejemplo, moviendo las tarjetas 301 hacia la izquierda o hacia la derecha, o realizando un gesto en el área de gestos 102, o por cualquier otro medio conocido.
En el ejemplo de la Fig. 5, en una realización, las tarjetas 301A a 301G se visualizan completas mientras el dispositivo 100 está en modo de cuadrícula. Las actividades correspondientes a las tarjetas 301A, 301E, y 301G están hibernando. En consecuencia, las instantáneas estáticas 152<a>, 152E, y 152G se muestran, respectivamente, dentro de las tarjetas 301A, 301E, y 301G, reemplazando la interfaz de usuario en vivo para esas tarjetas. En una realización, las tarjetas 301A, 301E, y 301G superpuestas mediante mallas para indicar el estado de hibernación. Alternativamente, como se describió anteriormente, se pueden usar otros mecanismos para indicar el estado de hibernación.
En una realización, como se describe en las solicitudes de patente relacionadas mencionadas anteriormente, las tarjetas 301 pueden agruparse visualmente entre sí. De este modo, las tarjetas 301 que tienen alguna relación entre sí (tal como las tarjetas 301 asociadas con una aplicación de software particular) pueden mostrarse de una manera que indique y/o refuerce la relación. Por ejemplo, se pueden agrupar las tarjetas 301 que representan diversas páginas web que se ven a través de una aplicación de navegador.
En una realización, si una aplicación de software asociada con un grupo de tarjetas 301 está hibernando, todas las tarjetas 301 en el grupo se muestran con instantáneas estáticas 152 y mallas.
Por ejemplo, un paradigma visual para indicar grupos de tarjetas 301 es representar las tarjetas 301 de una manera que se parezca a una pila o mazo, con una tarjeta frontal completamente visible 301 (o "tarjeta superior") y una o más tarjetas adicionales 301 representadas como si estuvieran detrás de la tarjeta frontal 301. Haciendo referencia ahora a la Fig. 6A, se muestra un ejemplo de tal paradigma para indicar grupos de tarjetas 301 en modo tarjeta, en donde ocho tarjetas 301A, 301B, 301C, 301C', 301C", 301C''', 301D, y 301E están abiertas, y la tarjeta 301C está actualmente en la posición de foco (centro de la pantalla 101). Las tarjetas 301C, 301C', 301C", and 301C''' forman un grupo de tarjetas, por ejemplo, debido al hecho de que todas están asociadas con una aplicación de software común; por lo tanto, se representan en una pila. En el ejemplo, la aplicación de software asociada con el grupo de tarjetas está hibernando; por lo tanto, las tarjetas 301C, 301C', 301C", y 301C'" contienen instantáneas estáticas 152 de sus respectivas interfaces de usuario, y se superponen con mallas. Para algunas de las tarjetas 301, solo una porción de la instantánea estática 152 es visible porque la tarjeta 301 se representa como detrás de otras tarjetas 301.
Otro ejemplo de un paradigma visual para indicar grupos de tarjetas 301 es representar las tarjetas agrupadas 301 en un tamaño diferente o desplazamiento vertical con respecto a otras tarjetas 301. Haciendo referencia ahora a la Fig. 6B, se muestra un ejemplo de tal paradigma para indicar grupos de tarjetas 301 en modo aleatorio, en donde ocho tarjetas 301A, 301B, 301C, 301C', 301C", 301C''', 301D, y 301E están abiertas. Las tarjetas 301C, 301C', 301C", and 301C''' forman un grupo de tarjetas, por ejemplo, debido al hecho de que todas están asociadas con una aplicación de software común; por lo tanto, se representan con un desplazamiento vertical diferente al de otras tarjetas 301A, 301B, 301D, 301E. En el ejemplo, la aplicación de software asociada con el grupo de tarjetas está hibernando; por lo tanto, las tarjetas 301C, 301C', 301C", y 301C'" contienen instantáneas estáticas 152 de sus respectivas interfaces de usuario, y se superponen con mallas.
Revivir
En una realización, una actividad de hibernación se revive cuando un usuario intenta interactuar con ella. Como se describe en las solicitudes de patente relacionadas mencionadas anteriormente, si un usuario toca o hace clic en la tarjeta 301 para una actividad, esa actividad se enfoca; en una realización, el dispositivo 100 cambia a un modo de pantalla completa en donde el usuario puede interactuar con la actividad. En una realización, si el usuario toca o hace clic en la tarjeta 301 para una actividad de hibernación, la actividad se revive automáticamente para que el usuario pueda interactuar con ella. En una realización, primero se pregunta al usuario, por ejemplo, a través de un cuadro de diálogo (no mostrado) si la actividad seleccionada debe revivirse. En otra realización, la actividad se reaviva sin preguntar primero al usuario.
La reavivación de una o más actividades puede tener lugar en cualquier modo de visualización, ya sea en modo tarjeta, modo pantalla completa, modo barajar, modo cuadrícula o cualquier otro modo. De acuerdo con varias realizaciones de la invención, diferentes tipos de eventos desencadenantes pueden hacer que una actividad sea revivida. En una realización, la conmutación de un modo a otro puede desencadenar la reavivación; en otras realizaciones, comunicaciones entrantes, alertas, intentos del usuario de realizar determinadas acciones, y/u otros eventos pueden desencadenar la reavivación de una o más actividades. En algunas realizaciones, la colocación de una tarjeta 301 en la posición central provoca la reavivación de su actividad. En otras realizaciones, la reavivación tiene lugar después de que la tarjeta 301 haya ocupado la posición central durante cierto período de tiempo.
En algunos casos, puede llevar tiempo revivir una actividad, a medida que se recuperan los datos de la información de estado de actividad 1103 y se vuelve a iniciar la actividad. Con referencia ahora a la Fig. 1D, se muestra un ejemplo de pantalla 101 en modo de pantalla completa, mientras se revive la actividad de hibernación representada por la tarjeta 301B de la Fig. 1C. Esto puede ocurrir, por ejemplo, si el usuario toca la tarjeta 301B de la Fig. 1C. En una realización, el dispositivo 100 inicia la actividad de hibernación, recupera la información de estado 1103, y restaura la actividad a su estado en el momento en que entró en hibernación. En una realización, mientras tiene lugar la reavivación, la instantánea estática 152 se amplía para llenar la pantalla 101, y se muestra el indicador de progreso 151. En el ejemplo de la Fig. 1D, el indicador de progreso 151 se muestra como una rueda giratoria; no obstante, un experto en la técnica reconocerá que puede usarse cualquier otro indicador de progreso 151, tal como una barra de estado, reloj de arena, icono de reloj, o similares. El indicador de progreso 151 puede ser estático o animado.
Una vez que la reavivación se completa, la instantánea estática 152 se sustituye por una interfaz de usuario activa para la actividad, y se descarta la malla (u otra indicación visual del estado de hibernación). En una realización, un efecto de transición visual, tal como un efecto de disolución, se realiza entre la visualización de la instantánea estática 152 y la visualización de la interfaz de usuario activa. Una vez completado el proceso de reavivación, se descarta el indicador de progreso 151.
Haciendo referencia ahora a la Fig. 1E, se muestra un ejemplo de pantalla de visualización 101 en modo de pantalla completa una vez completado el proceso de reavivación. Se ha revivido la actividad de hibernación previa, se han suprimido la malla y el indicador de progreso 151, y se presenta una interfaz de usuario activa 153 para la actividad en lugar de la instantánea estática 152.
Haciendo ahora referencia a las Figs. 3A a 3D son una serie de ilustraciones conceptuales que muestran una secuencia para revivir una actividad de hibernación de acuerdo con una realización. En la Fig. 3A, siete tarjetas 301A-301G están abiertas, con cinco de las tarjetas 301A, 301D, 301E, 301F, 301G representando actividades en vivo con las que el usuario puede interactuar, y dos tarjetas 301B, 301C representando las actividades en hibernación. Las instantáneas estáticas 152B, 152C se presentan en tarjetas 301B, 301C, respectivamente, para reemplazar las interfaces de usuario en vivo para esas tarjetas 301B, 301C. Una malla, representadas por líneas diagonales, superpone instantáneas estáticas 152B, 152C. La información de estado 1103 para las actividades de hibernación se ha almacenado en el dispositivo de almacenamiento 1102 del dispositivo 100.
Las Figs. 3A a 3D son ilustraciones conceptuales, en las que se representan las tarjetas 301 que no se muestran actualmente en la pantalla 101. Por ejemplo, en la Fig. 3A, la tarjeta 301D se muestra en su totalidad, mientras que se muestran porciones de las tarjetas 301C y 301E. Otras tarjetas 301 se muestran con fines ilustrativos para representar su relación posicional con las tarjetas visibles, a pesar de que estas otras tarjetas 301 están fuera de la pantalla y no están visibles actualmente en la pantalla 101. Como se describe en las solicitudes de patente relacionadas mencionadas anteriormente, el usuario puede interactuar con el dispositivo 100 para hacer que otras tarjetas 301A, 301B, 301F, 301G se muestren, y cambiar las posiciones de las tarjetas 301 y/o interactuar de otra manera con las tarjetas 301.
En una realización, una actividad de hibernación se reactiva cuando el usuario intenta interactuar con la tarjeta 301 asociada (que no sea para cambiar la posición o descartar la tarjeta 301). Por ejemplo, si el usuario cambia al modo de pantalla completa mientras una tarjeta 301 para una actividad de hibernación está en la posición de foco (posición central) en la pantalla 101, en una realización la actividad se reactivará automáticamente. Las Figs. 3B a 3D muestran un ejemplo de tal proceso.
En la Fig. 3B, el usuario ha cambiado las posiciones de las tarjetas 301 para que la tarjeta 301C esté ahora en la posición central (de foco) en la pantalla 101.
En la Fig. 3C, el usuario ha hecho que la pantalla 101 cambie al modo de pantalla completa, por ejemplo, tocando en la tarjeta 301C o indicando de otro modo que desea interactuar con la tarjeta 301C. En consecuencia, la instantánea estática 152C asociada a la tarjeta 301C ahora ocupa sustancialmente toda la pantalla 101 (aunque en algunas realizaciones, una porción de la pantalla 101 puede estar dedicada a indicadores de estado y otra información, no mostrado en la Fig. 3C). La instantánea estática 152C se escala verticalmente para ajustarse al área mostrada. Mientras se relanzó la actividad y se recupera la información de estado 1103 del dispositivo de almacenamiento 1102, y se muestra el indicador de progreso 151. En una realización, el indicador de progreso 151 podrá incluir animación, y puede tomar cualquier forma; la rueca que se muestra en la Fig. 3C es simplemente un ejemplo.
En la Fig. 3D, el proceso de reavivación se ha completado y la pantalla de visualización 101 está en modo de pantalla completa. Se ha revivido la actividad de hibernación previa, se han suprimido la malla y el indicador de progreso 151, y se presenta una interfaz de usuario activa 153C para la actividad en lugar de la instantánea estática 152C. Como se ha mencionado anteriormente, un efecto de transición, tal como un efecto de disolución, se puede utilizar para suavizar la transición de la Fig. 3C a la Fig. 3D.
Eventos desencadenantes
De acuerdo con diversas realizaciones de la presente invención, la hibernación de las actividades se puede iniciar en respuesta a cualquiera de una serie de eventos desencadenantes diferentes. En una realización, la hibernación se inicia cuando se detecta una condición de memoria insuficiente. En otras realizaciones, la hibernación se inicia cuando se determina que el rendimiento, fiabilidad, y/o la estabilidad del dispositivo 100 puede(n) verse comprometida(s) por el agotamiento o la sobrecarga de los recursos del sistema, tal como la memoria, velocidad del procesador, el ancho de banda de la red, o similares. Tales condiciones pueden ocurrir, por ejemplo, cuando demasiadas actividades están abiertas simultáneamente, o cuando algunas o todas las actividades abiertas consumen una fracción excesivamente grande de los recursos del sistema disponibles.
En una realización, un intento de iniciar una nueva actividad puede desencadenar la hibernación de una actividad ya abierta. Por ejemplo, si la actividad recién iniciada no puede iniciarse sin liberar algunos recursos del sistema, o si la actividad recién lanzada no puede añadirse al conjunto de actividades actualmente abiertas sin efectos perjudiciales para el rendimiento del sistema, a continuación, la hibernación de una actividad previamente abierta puede iniciarse automáticamente en respuesta al intento de lanzamiento de la nueva actividad.
Haciendo referencia ahora a las Figs. 2A y 2B, se muestra una ilustración conceptual que muestra una secuencia en donde el lanzamiento de una primera actividad provoca que una segunda actividad hiberne. En la Fig. 2A, una serie de actividades están abiertas, cada una representada por una tarjeta 301A a 301D dispuesta en una fila. Las tarjetas 301A a 301D representan vistas de la interfaz de usuario para las actividades abiertas que se pueden mover a la pantalla de visualización 101 en respuesta a los comandos del usuario. En la Fig. 2A, el usuario está lanzando una nueva actividad representada por la tarjeta 301E. La tarjeta 301E se está introduciendo en una posición en la fila a la derecha de la tarjeta 301D. Las tarjetas 301A, 301B, y 301C se muestran en las Figs. 2A y 2B con fines ilustrativos para representar su relación posicional con las tarjetas visibles 301D y 301E, aunque las tarjetas 301A, 301B, y 301C están fuera de la pantalla y actualmente no son visibles sobre la pantalla 101.
En este ejemplo, el sistema determina que el inicio de la nueva actividad dará lugar a una condición de memoria insuficiente u otra sobrecarga de recursos del sistema. En consecuencia, el dispositivo 101 hace que una de las actividades abiertas hiberna, liberando así recursos del sistema y permitiendo el lanzamiento de la nueva actividad. Como se muestra en la Fig. 2B, la tarjeta 301B está superpuesta con una malla, y la interfaz de usuario que se presenta en ella se reemplaza por una captura de pantalla estática que representa el estado de la actividad asociada. La nueva actividad se ha puesto en marcha en modo de pantalla completa, de modo que la nueva tarjeta 301E ocupe toda la pantalla 101.
Las técnicas particulares para determinar qué actividad debe seleccionarse para la hibernación se discuten con más detalle a continuación.
En algunas realizaciones, cuando una aplicación de software pueda estar asociada a dos o más tarjetas 301, las tarjetas 301 pueden hibernar y/o ser revividas independientemente unas de otras. De este modo, una tarjeta 301 asociada con una aplicación de software puede ser seleccionada para la hibernación, mientras que otra tarjeta 301 para la misma aplicación de software permanece activa. En cambio, una tarjeta en hibernación 301 asociada con una aplicación de software puede ser revivida mientras que otra tarjeta 301 para la misma aplicación de software permanece en hibernación.
En otras realizaciones, se puede seleccionar una aplicación de software para la hibernación, de modo que todas las tarjetas 301 asociadas con esa aplicación de software hibernan en concierto entre sí. En cambio, cuando se está reviviendo la aplicación de software, todas las tarjetas 301 asociadas con esa aplicación de software se reviven en concierto entre sí.
Método
Haciendo referencia ahora a la Fig. 7, se muestra un diagrama de flujo que representa un método para provocar que una o más actividades hibernen de acuerdo con una realización.
En una realización, el procesador 1101 en el dispositivo 100 detecta 701 una condición de memoria baja o una condición de memoria baja potencial. En otras realizaciones, otros eventos pueden desencadenar la hibernación, tal como la detección de que se ha alcanzado algún límite fijo en las actividades abiertas, o que algunas actividades han estado abiertas sin ser utilizadas por el usuario durante algún período de tiempo, o cualquier otro evento desencadenante. Si no se ha producido ningún tal evento o condición desencadenante de este tipo, el método termina 799.
El procesador 1101 selecciona 702 una actividad (o más de una actividad) para la hibernación. La selección 702 se puede hacer en base a cualquier factor o combinación de factores, incluido el uso de memoria, la importancia percibida de la actividad, tiempo transcurrido desde la última vez que el usuario vio o utilizó la actividad, o similares.
En una realización, se establece un orden de prioridad con el fin de determinar qué categorías de actividades deben ponerse en hibernación primero. Un ejemplo de tal orden de prioridad es el siguiente (desde el primero que se coloca en hibernación hasta el último):
navegador web;
otras actividades no directamente asociadas con la comunicación con otras partes;
aplicación de mensajería;
aplicación de correo electrónico;
aplicación telefónica.
En una realización, la aplicación telefónica no se pone en hibernación si una llamada activa está en curso.
En una realización, el procesador 1101 selecciona 702 una actividad para la hibernación de acuerdo con la lista de prioridades. Si la hibernación de la actividad seleccionada es insuficiente para resolver la condición de memoria insuficiente (o cualquier condición que desencadenó la operación de hibernación), se selecciona otra actividad. El proceso se repite hasta que se ha resuelto la condición que desencadenó la hibernación.
En una realización, donde una aplicación de software puede tener más de una tarjeta 301 asociada con ella, las tarjetas individuales 301 pueden colocarse en hibernación independientemente una de otra. De este modo, el procesador 1101 selecciona 702, para la hibernación, una tarjeta individual 301 asociada a una aplicación de software de acuerdo con la lista de prioridades. En una realización, el procesador 1101 selecciona la tarjeta 301 que ocupa más memoria, o consumir la mayoría de los recursos del sistema entre las tarjetas asociadas con la aplicación de software seleccionada. En otra realización, algún otro criterio (o más de un criterio) se puede utilizar para seleccionar una tarjeta individual 301 para la hibernación. Si la hibernación de la actividad asociada con la tarjeta 301 seleccionada es insuficiente para resolver la condición de memoria insuficiente (o cualquier condición que desencadenó la operación de hibernación), se selecciona otra tarjeta 301 para esa aplicación de software. El proceso se repite hasta que se ha resuelto la condición que desencadenó la hibernación.
De este modo, en una realización, las tarjetas sucesivas 301 para una aplicación de software dada se seleccionan para la hibernación antes de que las tarjetas 301 para una aplicación de software diferente se seleccionen para la hibernación. En otra realización, las tarjetas 301 se seleccionan en función de la cantidad de memoria u otros recursos que consumen, independientemente de la aplicación de software a la que estén asociados. De este modo, en esta segunda realización, no es necesario que todas las tarjetas 301 para una aplicación de software determinada se seleccionen para la hibernación antes de que se seleccionen las tarjetas 301 para una aplicación de software diferente.
En otras realizaciones, se pueden emplear otros criterios para seleccionar 702 actividades para la hibernación. La selección puede basarse en cualquiera de lo siguiente, solo o en cualquier combinación:
• Qué actividad está utilizando la mayor cantidad de memoria;
• Qué actividad está utilizando la mayoría de los recursos del sistema;
• Qué actividad está utilizando la mayor cantidad de memoria, pero no está actualmente en foco (uso activo);
• Qué actividad está utilizando la mayor cantidad de recursos del sistema, pero no está actualmente en foco (uso activo);
• Qué actividad está utilizando la mayor cantidad de memoria, pero no está actualmente visible en la pantalla 101;
• Qué actividad está utilizando la mayor cantidad de recursos del sistema, pero no está actualmente visible en la pantalla 101;
• Qué actividad fue utilizada o vista menos recientemente por el usuario;
• Qué actividad se lanzó menos recientemente;
• Qué actividad ha sido designada por el usuario como apropiada para la hibernación.
En una realización, podrá emplearse una heurística, incluyendo una combinación de cualquiera o todos los factores anteriores. Un experto en la materia reconocerá que la lista anterior es meramente a modo de ejemplo, y que se pueden emplear otros factores.
La Fig. 7 muestra detalles adicionales para el proceso de hibernación de acuerdo con una realización. Se toma una instantánea y se guarda 703 de la interfaz de usuario asociada con la actividad que se va a poner en hibernación. La interfaz de usuario o el contenido de la tarjeta 301 se reemplazan 704 con la instantánea. Como se discutió anteriormente, la instantánea puede ser una imagen estática o puede ser animada. Una malla se puede superponer sobre la instantánea, y/o se puede aplicar alguna otra indicación del estado de hibernación. En una realización, se puede emplear un efecto de transición mientras la malla está superpuesta.
El procesador 1101 guarda 705 la información de estado de actividad 1103 en el dispositivo de almacenamiento 1102. Si una o más tarjetas individuales 301 para una aplicación de software se están colocando en hibernación, en una realización se almacena el estado de esa(s) tarjeta(s) 301. En una realización, si no quedan actividades en curso para una aplicación de software, la aplicación de software está cerrada 706 con el fin de liberar recursos para otras actividades.
El procesador 1101 determina 707 si se ha liberado suficiente memoria (o si se ha resuelto cualquier condición desencadenada por la operación de hibernación). En caso afirmativo, el proceso termina 799. De otra manera, el procesador vuelve a la etapa 702 para seleccionar otra actividad para la hibernación.
Haciendo referencia ahora a la Fig. 8, se muestra un diagrama de flujo que representa un método para revivir una actividad de hibernación de acuerdo con una realización. El procesador 801 detecta un evento desencadenante para revivir una actividad de hibernación. En una realización, un usuario que intenta interactuar con una tarjeta 301 es tal evento desencadenante. En otras realizaciones, se pueden aplicar otros eventos desencadenantes, tal como un comando explícito del usuario para revivir una actividad, o un cambio al modo de pantalla completa mientras una tarjeta 301 está en una posición de foco. Si no se detecta ningún evento desencadenante 801, el método termina 899.
En una realización, mientras se reaviva la actividad, la pantalla de visualización 101 muestra el indicador de progreso 151. La actividad que se está reavivando se lanza 803, si aún no se ha puesto en marcha. En una realización, cuando se esté reviviendo una tarjeta individual 301, la aplicación de software asociada con la tarjeta 301 ya puede estar activa porque existen otras tarjetas 301 y están en vivo para la aplicación de software. De este modo, puede que no sea necesario iniciar la aplicación de software. El procesador 1101 recupera la información de estado de actividad 804 1103 del dispositivo de almacenamiento 1102, con el fin de restaurar el estado de la actividad. La instantánea para la tarjeta 301 se reemplaza 805 con la interfaz de usuario activa adecuada; cualquier malla u otro indicador del estado de hibernación se descarta. En una realización, se puede emplear un efecto de transición mientras se introduce la interfaz de usuario en vivo y se descarta la malla u otro indicador. Una vez que la actividad se reactiva por completo, se descarta 806 el indicador de progreso 151, y el método termina 899.
Notificación al usuario
Como se describió anteriormente, en una realización, las actividades se ponen en hibernación automáticamente en respuesta a ciertos eventos desencadenantes. En otras realizaciones, es posible que se pida al usuario que indique si las actividades deben ponerse en hibernación.
En algunas realizaciones, cuando los recursos (tal como la memoria 1106) del dispositivo 100 son bajos, y las actividades están en hibernación, puede ser conveniente prevenir o limitar el lanzamiento de nuevas actividades. De este modo, si el usuario intenta iniciar una nueva actividad en tales condiciones, se puede pedir al usuario que descarte las actividades con el fin de liberar recursos para nuevas actividades. Tal mensaje también puede ser apropiado cuando una nueva actividad se lanzaría automáticamente, tal como para mostrar un nuevo mensaje de correo electrónico entrante o por cualquier otro motivo.
Haciendo referencia ahora a la Fig. 9, se muestra un ejemplo de una pantalla de visualización que muestra una advertencia de memoria baja, de acuerdo con una realización. Como se muestra en la Fig. 9, se presenta un mensaje de memoria baja 901, pedir al usuario que deseche (descarte) las tarjetas 301 para liberar memoria para las nuevas tarjetas. El mensaje 901, por lo tanto, puede dar al usuario la oportunidad de evitar la hibernación no deseada de actividades descartando las tarjetas 301 que representan actividades innecesarias. El usuario puede activar el botón Aceptar 902 para indicar que ha terminado de descartar las tarjetas 301 que representan actividades.
En una realización, se puede proporcionar un indicador visual para indicar al usuario que una actividad está potencialmente sujeta a hibernación en caso de que surja la necesidad, o que la hibernación es inminente. Por ejemplo, se puede presentar un indicador visual para informar al usuario de que, en caso de que la hibernación se considere necesaria o aconsejable, es probable que se seleccione una actividad determinada (tal como una que es de baja prioridad o que el usuario no ha utilizado recientemente). Un ejemplo de tal indicador es una representación visual de la decadencia, por ejemplo, superpuesto sobre la interfaz de usuario para la tarjeta 301.
En una realización, en determinadas condiciones, las actividades de hibernación se pueden descartar por completo. Por ejemplo, en una realización, si el dispositivo 100 está apagado, o entra en un estado de suspensión, se descartan las actividades de hibernación, y su información de estado 1103 se descarta del dispositivo de almacenamiento 1102. En una realización, se guardan todos los documentos abiertos asociados con las actividades de hibernación. En una realización, se puede presentar una notificación para informar al usuario de que estas actividades deben ser (o han sido) descartadas.
En una realización, la hibernación se implementa como preludio del despido. De este modo, se emplea un proceso en dos etapas, en donde las actividades se ponen en hibernación para conservar los recursos del sistema; entonces, después de algún período de tiempo, si las actividades de hibernación no se reactivan, se descartan.
Metáfora de escritorio
La metáfora de la tarjeta descrita anteriormente es meramente un ejemplo de un entorno para la implementación de la presente invención. En otras realizaciones la presente invención se puede implementar en relación con otros tipos de interfaces de usuario, incluyendo, por ejemplo, una interfaz basada en escritorio que tiene ventanas superpuestas. Haciendo referencia ahora a las Figs. 10A a 10C, se muestran ejemplos de una pantalla de visualización 1000 para tal implementación de la presente invención.
La Fig. 10A muestra un ejemplo de una pantalla de visualización 100 para una realización de la invención utilizando una interfaz de usuario de escritorio con ventanas superpuestas. Cuatro ventanas 1001A, 1001B, 1001C, y 1001D están abiertas. Estas ventanas 1001A, 1001B, 1001C, y 1001D puede estar asociadas con diferentes aplicaciones de software, o dos o más ventanas 1001A, 1001B, 1001C, y 1001D pueden estar asociadas con una única aplicación de software. En el ejemplo de la Fig. 10A, una actividad asociada con la ventana 1001C está hibernando, para que la ventana 1001C incluya una instantánea estática de la actividad con una malla superpuesta. El usuario puede manipular la ventana 1001C de la misma manera que otras ventanas 1001A, 1001B, y 1001D, incluido el cambio de tamaño, mover, minimizar, maximizar y similares, como es bien sabido en la técnica de las interfaces gráficas de usuario que utilizan ventanas superpuestas de tamaño variable en un entorno que emplea una metáfora de escritorio.
En la Fig. 10B, se ha desencadenado la reavivación de la actividad asociada a la ventana 1001C. Por ejemplo, el usuario puede haber intentado interactuar con el contenido de la ventana 1001C, hacer a doble clic sobre la ventana 1001C, o puede haber activado un comando explícito para revivir la actividad. La actividad se reactiva restaurando su estado almacenado anteriormente. Si se ha cerrado la aplicación de software subyacente, re vuelve a lanzar. Como se muestra en la Fig. 10B, el indicador de progreso 1002, aquí se muestra como una barra de estado, informa al usuario que la reavivación está en curso.
En la Fig. 10C, se ha completado la operación de reavivación, y el usuario puede interactuar con una interfaz de usuario activa en la ventana 1001C. En consecuencia, se han suprimido la malla y el indicador de progreso 1002. En una realización, como se describió anteriormente, se puede emplear un efecto de transición antes de presentar la interfaz de usuario en vivo.
En diversas realizaciones, la presente invención puede ser implementada como un sistema o un método para realizar las técnicas descritas anteriormente, ya sea por separado o en cualquier combinación. En otra realización, la presente invención puede ser implementada como un producto de programa informático que comprende un medio de almacenamiento legible por ordenador y un código de programa de ordenador, codificado sobre el medio, para realizar las técnicas descritas anteriormente.
Las diversas características descritas anteriormente se pueden implementar por separado o en cualquier combinación, como será evidente para un experto en la materia.
La presente invención ha sido descrita con particular detalle con respecto a posibles realizaciones. Aquellos expertos en la materia apreciarán que la invención puede ser practicada en otras realizaciones. Primero, la denominación particular de los componentes, capitalización de términos, los atributos, estructuras de datos, o cualquier otro aspecto de programación o estructural no sea obligatorio o significativo, y los mecanismos que implementan la invención o sus características pueden tener diferentes nombres, formatos, o protocolos. Además, el sistema podrá implantarse mediante una combinación de hardware y software, como se describe, o enteramente en elementos de hardware, o completamente en elementos de software. Además, la división particular de la funcionalidad entre los diversos componentes del sistema descritos en el presente documento es meramente ejemplar, y no es obligatorio; en su lugar, las funciones realizadas por un único componente del sistema pueden ser realizadas por múltiples componentes, y las funciones realizadas por varios componentes pueden ser realizadas por un único componente.
En diversas realizaciones, la presente invención puede ser implementada como un sistema o un método para realizar las técnicas descritas anteriormente, ya sea por separado o en cualquier combinación. En otra realización, la presente invención puede ser implementada como un producto de programa informático que comprende un medio de almacenamiento legible por ordenador y un código de programa de ordenador, codificado sobre el medio, por hacer que un procesador en un dispositivo informático u otro dispositivo electrónico realice las técnicas descritas anteriormente.
La referencia en la memoria descriptiva a "una realización" o a "la realización" significa que una característica particular, estructura, o característica descrita en relación con las realizaciones se incluye en al menos una realización de la invención. Las apariencias de la frase "en una realización" en diversos lugares de la memoria descriptiva no se refieren necesariamente a la misma realización.
Algunas porciones de lo anterior se presentan en términos de algoritmos y representaciones simbólicas de operaciones en bits de datos dentro de una memoria informática. Estas descripciones y representaciones algorítmicas son los medios que los expertos en la materia de procesamiento de datos utilizan para transportar más efectivamente la sustancia de su trabajo a otros expertos en la materia. Un algoritmo está aquí, y en general, concebido para ser una secuencia autoconsistente de etapas (instrucciones) que conduce a un resultado deseado. Las etapas son las que requieren manipulaciones físicas de cantidades físicas. Usualmente, aunque no necesariamente, dichas cantidades adoptarán la forma de señales eléctricas, magnéticas u ópticas susceptibles de ser almacenadas, transferidas, combinadas, comparadas, transformadas, y de otra manera manipuladas. Es conveniente a veces, principalmente por razones de uso común, referirse a estas señales como bits, valores, elementos, símbolos, caracteres, términos, números, o similares. Asimismo, también es conveniente a veces, hacer referencia a determinadas disposiciones de etapas que requieren manipulaciones físicas de cantidades físicas como módulos o dispositivos de código, sin pérdida de generalidad.
Hay que tenerlo en cuenta, no obstante, que todos estos y otros términos similares se asocien a las cantidades físicas apropiadas y que sean meras etiquetas convenientes aplicadas a estas cantidades. A menos que se indique específicamente lo contrario, como se desprende de la siguiente discusión, se aprecia que, a lo largo de la descripción, discusiones que utilizan términos tales como "procesamiento" o "computación" o "cálculo" o "visualización" o "determinación" o similares, se refieren a la acción y procesos de un sistema informático, o módulo y/o dispositivo informático electrónica similar, que manipula y transforma los datos representados como cantidades físicas (electrónicas) dentro de las memorias o registros del sistema informático u otro tipo de almacenamiento de información, dispositivos de transmisión o visualización.
Ciertos aspectos de la presente invención incluyen las etapas del proceso y las instrucciones aquí en el presente documento en forma de algoritmo. Cabe señalar que las etapas del proceso y las instrucciones de la presente invención pueden ser incorporados en software, firmware y/o hardware, y cuando se incorpora en software, se puede descargar para residir y ser operado desde diferentes plataformas utilizadas por una variedad de sistemas operativos.
La presente invención también se refiere a un aparato para realizar las operaciones realizadas en el presente documento. Este aparato se puede construir especialmente para los fines requeridos, o puede comprender un ordenador de propósito general activado o reconfigurado selectivamente por un programa informático almacenado en el ordenador. Tal programa informático podrá almacenarse en un soporte de almacenamiento legible por ordenador, tal como, pero sin limitarse a, cualquier tipo de disco, incluidos los disquetes, discos ópticos, CD-ROM, discos magnético-ópticos, memorias de solo lectura (ROM), memorias de acceso aleatorio (RAM), EPROM, EEPROM, tarjetas magnéticas u ópticas, circuitos integrados específicos de aplicación (ASIC), o cualquier tipo de soporte adecuado para almacenar instrucciones electrónicas, y cada uno acoplado a un bus de sistema informático. Asimismo, los ordenadores y/u otros dispositivos informáticos a los que se hace referencia en la memoria descriptiva pueden incluir un único procesador o pueden ser arquitecturas que emplean múltiples diseños de procesadores para aumentar la capacidad informática.
Los algoritmos y pantallas presentados en el presente documento no están intrínsecamente relacionados con ningún ordenador en particular, sistema virtualizado, u otros aparatos. Diversos sistemas de propósito general también se pueden utilizar con programas de acuerdo con las enseñanzas contenidas en el presente documento, o puede resultar conveniente construir aparatos más especializados para realizar las etapas de método requeridos. La estructura requerida para una variedad de estos sistemas será evidente a partir de la descripción proporcionada en el presente documento. De forma adicional, la presente invención no se describe con referencia a ningún lenguaje de programación en particular. Se apreciará que una variedad de lenguajes de programación puede ser utilizada para implementar las enseñanzas de la presente invención como se describe en el presente documento, y cualquier referencia anterior a idiomas específicos se proporciona para la divulgación de la habilitación y el mejor modo de la presente invención.
En consecuencia, en diversas realizaciones, la presente invención puede ser implementada como software, hardware, y/u otros elementos para controlar un sistema informático, un dispositivo informático, u otro dispositivo electrónico o cualquier combinación o pluralidad de los mismos. Tal dispositivo electrónico puede incluir, por ejemplo, un procesador, un dispositivo de entrada (tal como un teclado, ratón, panel táctil, trackpad, joystick, bola de seguimiento, micrófono, y/o cualquier combinación de los mismos), un dispositivo de salida (tal como una pantalla, altavoz, y/o similares), memoria, almacenamiento a largo plazo (tal como almacenamiento magnético, almacenamiento óptico, y/o similares), y/o conectividad de red, de acuerdo con técnicas que son bien conocidas en la materia. Tal dispositivo electrónico puede ser portátil o no portátil. Ejemplos de dispositivos electrónicos que pueden ser utilizados para la implementación de la invención incluyen: un teléfono móvil, asistente digital personal, teléfono inteligente, cabina, ordenador de escritorio, ordenador portátil, dispositivo electrónico de consumo, televisor, decodificador o similar. Un dispositivo electrónico para implementar la presente invención puede utilizar un sistema operativo tal como, por ejemplo, Microsoft Windows Vista disponible en Microsoft Corporation de Redmond, Washington, o cualquier otro sistema operativo que esté adaptado para su uso en el dispositivo. En algunas realizaciones, el dispositivo electrónico para la implementación de la presente invención incluye funcionalidad para la comunicación a través de una o más redes, incluyendo, por ejemplo, una red de telefonía celular, red inalámbrica, y/o red informática tal como Internet.
Por último, se debe tener en cuenta que el idioma utilizado en la memoria descriptiva se ha seleccionado principalmente con fines de legibilidad e instrucción, y puede no haber sido seleccionado para delinear o circunscribir la materia objeto inventiva. En consecuencia, la divulgación de la presente invención pretende ser ilustrativa, pero sin limitarse a, el alcance de la invención, que se establece en las reivindicaciones.

Claims (27)

REIVINDICACIONES
1. Un método para operar un dispositivo informático móvil (100), comprendiendo el método:
en ejecución simultánea, sobre el dispositivo informático móvil (100), múltiples aplicaciones cada una de ellas representable en una pantalla de visualización (101) del dispositivo informático móvil (100) por una tarjeta correspondiente (301) que contiene una interfaz de usuario para la aplicación correspondiente;
colocar una primera aplicación de las múltiples aplicaciones en un estado de hibernación, en donde la tarjeta correspondiente (301) de la primera aplicación comprende una instantánea estática de la interfaz de usuario para la primera aplicación;
alternar, en respuesta a una entrada del usuario, la operación del dispositivo informático móvil (100) desde un modo de pantalla completa a un modo de tarjeta, en donde, mientras se opera en el modo de tarjeta, el método comprende, además:
mostrar, sobre la pantalla de visualización (101), las tarjetas (301) en una disposición lineal a lo largo de un eje de la pantalla de visualización (101);
mover, en respuesta a una entrada táctil direccional a lo largo del eje de la pantalla de visualización (101), las tarjetas (301) a través de la pantalla de visualización (101) en la misma dirección que la entrada táctil direccional; y
detectar una entrada táctil en la tarjeta correspondiente (301) de la primera aplicación mostrada en la pantalla de visualización (101);
alternar, en respuesta a que una entrada táctil en la tarjeta correspondiente (301) de la primera aplicación, la operación del dispositivo informático móvil desde el modo de tarjeta hasta el modo de pantalla completa; y revivir la primera aplicación en respuesta a una entrada táctil en la tarjeta correspondiente (301) de la primera aplicación.
2. El método de la reivindicación 1, en donde:
colocar la primera aplicación en el estado de hibernación comprende:
almacenar, en un dispositivo de almacenamiento del dispositivo informático móvil, información de estado de la primera aplicación en respuesta a su colocación en estado de hibernación; y
revivir la primera aplicación comprende:
recuperar la información de estado de la primera aplicación desde el dispositivo de almacenamiento; y restaurar la primera aplicación basándose en la información de estado recuperada.
3. El método de la reivindicación 2, en donde la primera aplicación se restaura en función de la información de estado recuperada al estado de la primera aplicación en el momento en que la primera aplicación se colocó en el estado de hibernación.
4. El método de cualquiera de las reivindicaciones anteriores 2 o 3, en donde el dispositivo de almacenamiento comprende memoria flash.
5. El método de cualquiera de las reivindicaciones anteriores, en donde el dispositivo informático móvil se alterna de operar en el modo de tarjeta a operar en el modo de pantalla completa en respuesta a revivir la primera aplicación de tal manera que la interfaz de usuario de la primera aplicación ocupa sustancialmente toda la pantalla de visualización.
6. El método de cualquiera de las reivindicaciones anteriores, en donde cada tarjeta para una aplicación en hibernación comprende una instantánea estática de la interfaz de usuario para la aplicación correspondiente.
7. El método de cualquiera de las reivindicaciones anteriores, además, comprende:
mantener la primera aplicación en estado de hibernación durante el movimiento de las tarjetas a través de la pantalla de visualización.
8. El método de cualquiera de las reivindicaciones anteriores, además, comprende:
descartar la primera aplicación en función de que el usuario arrastre la tarjeta correspondiente en dirección ascendente hacia la parte superior de la pantalla, para cerrar la primera aplicación.
9. El método de la reivindicación 8, que comprende, además:
descartar la información de estado para la primera aplicación descartada.
10. El método de cualquiera de las reivindicaciones anteriores, en donde la primera aplicación se coloca en el estado de hibernación después de no ser utilizada durante un primer período de tiempo.
11. El método de cualquiera de las reivindicaciones 1 a 9, en donde la primera aplicación se coloca en el estado de hibernación en respuesta al inicio de una segunda aplicación.
12. El método de cualquiera de las reivindicaciones 1 a 9, en donde la primera aplicación se coloca en el estado de hibernación en respuesta a una condición de poca memoria del dispositivo informático móvil.
13. El método de cualquiera de las reivindicaciones 1 a 9, en donde la primera aplicación se coloca en el estado de hibernación basado en al menos una de las preferencias del usuario, una cantidad de recursos de procesamiento consumidos por las aplicaciones en ejecución, o un límite en el número de aplicaciones que se ejecutan simultáneamente en el dispositivo informático móvil.
14. Un programa informático que comprende instrucciones para realizar un método de acuerdo con cualquiera de las reivindicaciones 1 a 13 cuando lo ejecuta un procesador.
15. Dispositivo informático móvil (100), que comprende:
medios para la ejecución simultánea, sobre el dispositivo informático móvil (100), de múltiples aplicaciones cada una de ellas representable sobre una pantalla de visualización (101) del dispositivo informático móvil (100) mediante una tarjeta correspondiente que contiene una interfaz de usuario para la aplicación correspondiente; medios para colocar una primera aplicación de las múltiples aplicaciones en un estado de hibernación, en donde la tarjeta correspondiente (301) de la primera aplicación comprende una instantánea estática de la interfaz de usuario para la primera aplicación;
medios para alternar, en respuesta a una entrada del usuario, la operación del dispositivo informático móvil (100) desde un modo de pantalla completa a un modo de tarjeta, en donde el dispositivo informático móvil (100) comprende además los siguientes medios, adaptados para funcionar mientras está en el modo tarjeta:
medios para mostrar, sobre la pantalla de visualización (101), las tarjetas en una disposición lineal a lo largo de un eje de la pantalla de visualización (101);
medios para mover, en respuesta a una entrada táctil direccional a lo largo del eje de la pantalla de visualización (101), las tarjetas (301) a través de la pantalla de visualización (101) en la misma dirección que la entrada táctil direccional; y
medios para detectar una entrada táctil en la tarjeta correspondiente (301) de la primera aplicación mostrada en la pantalla de visualización (101);
medios para alternar, en respuesta a una entrada táctil en la tarjeta correspondiente (301) de la primera aplicación, la operación del dispositivo informático móvil (100) desde el modo de tarjeta hasta el modo de pantalla completa; y
medios para revivir la primera aplicación en respuesta a una entrada táctil en la tarjeta correspondiente (301) de la primera aplicación.
16. El dispositivo informático móvil de la reivindicación 15, en donde:
los medios para colocar la primera aplicación en el estado de hibernación se adaptan aún más a: almacenar, en un dispositivo de almacenamiento del dispositivo informático móvil, información de estado de la primera aplicación en respuesta a su colocación en estado de hibernación; y
en donde los medios para revivir la primera aplicación se adaptan aún más a:
recuperar la información de estado de la primera aplicación desde el dispositivo de almacenamiento; y restaurar la primera aplicación basándose en la información de estado recuperada.
17. El dispositivo informático móvil de la reivindicación 16, en donde la primera aplicación se restaura en función de la información de estado recuperada al estado de la primera aplicación en el momento en que la primera aplicación se colocó en el estado de hibernación.
18. El dispositivo informático móvil de cualquiera de las reivindicaciones anteriores 16 o 17, en donde el dispositivo de almacenamiento comprende una memoria flash.
19. El dispositivo informático móvil de cualquiera de las reivindicaciones anteriores 15 a 18, en donde los medios para alternar se adaptan aún más para evitar que el dispositivo informático móvil opere en el modo de tarjeta a funcione en el modo de pantalla completa en respuesta a revivir la primera aplicación de tal manera que la interfaz de usuario de la primera aplicación ocupe sustancialmente toda la pantalla de visualización.
20. El dispositivo informático móvil de cualquiera de las reivindicaciones anteriores 15 a 19, en donde cada tarjeta para una aplicación en hibernación comprende una instantánea estática de la interfaz de usuario para la aplicación correspondiente.
21. El dispositivo informático móvil de cualquiera de las reivindicaciones anteriores 15 a 20, además, comprende: medios para mantener la primera aplicación en estado de hibernación durante el movimiento de las tarjetas a través de la pantalla de visualización.
22. El dispositivo informático móvil de cualquiera de las reivindicaciones anteriores 15 a 21, además, comprende: medios para descartar la primera aplicación en función de que el usuario arrastre la tarjeta correspondiente en dirección ascendente hacia la parte superior de la pantalla, para cerrar la primera aplicación.
23. El dispositivo informático móvil de la reivindicación 22, que, además, comprende:
descartar la información de estado para la primera aplicación descartada.
24. El dispositivo informático móvil de cualquiera de las reivindicaciones anteriores 15 a 23, en donde la primera aplicación se coloca en el estado de hibernación después de no ser utilizada durante un primer período de tiempo.
25. El dispositivo informático móvil de cualquiera de las reivindicaciones anteriores 15 a 23, en donde la primera aplicación se coloca en el estado de hibernación en respuesta al inicio de una segunda aplicación.
26. El dispositivo informático móvil de cualquiera de las reivindicaciones anteriores 15 a 23, en donde la primera aplicación se coloca en el estado de hibernación en respuesta a una condición de poca memoria del dispositivo informático móvil.
27. El dispositivo informático móvil de cualquiera de las reivindicaciones anteriores 15 a 23, en donde la primera aplicación se coloca en el estado de hibernación basado en al menos una de las preferencias del usuario, una cantidad de recursos de procesamiento consumidos por las aplicaciones en ejecución, o un límite en el número de aplicaciones que se ejecutan simultáneamente en el dispositivo informático móvil.
ES21187717T 2009-07-20 2010-06-09 Hibernación selectiva de actividades en un dispositivo informático móvil Active ES2968336T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/505,541 US9274807B2 (en) 2006-04-20 2009-07-20 Selective hibernation of activities in an electronic device

Publications (1)

Publication Number Publication Date
ES2968336T3 true ES2968336T3 (es) 2024-05-09

Family

ID=43466122

Family Applications (3)

Application Number Title Priority Date Filing Date
ES19186578T Active ES2884128T3 (es) 2009-07-20 2010-06-09 Hibernación selectiva de actividades en un dispositivo informático móvil
ES21187717T Active ES2968336T3 (es) 2009-07-20 2010-06-09 Hibernación selectiva de actividades en un dispositivo informático móvil
ES17205386T Active ES2751881T3 (es) 2009-07-20 2010-06-09 Hibernación selectiva de actividades en un dispositivo electrónico

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES19186578T Active ES2884128T3 (es) 2009-07-20 2010-06-09 Hibernación selectiva de actividades en un dispositivo informático móvil

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES17205386T Active ES2751881T3 (es) 2009-07-20 2010-06-09 Hibernación selectiva de actividades en un dispositivo electrónico

Country Status (10)

Country Link
US (6) US9274807B2 (es)
EP (4) EP3324279B1 (es)
CN (2) CN102754058B (es)
DK (2) DK3598286T3 (es)
ES (3) ES2884128T3 (es)
HU (2) HUE055854T2 (es)
PL (3) PL3324279T3 (es)
PT (2) PT3598286T (es)
SI (2) SI3598286T1 (es)
WO (1) WO2011011120A2 (es)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8698751B2 (en) * 2010-10-01 2014-04-15 Z124 Gravity drop rules and keyboard display on a multiple screen device
US9274807B2 (en) 2006-04-20 2016-03-01 Qualcomm Incorporated Selective hibernation of activities in an electronic device
US9232043B2 (en) * 2010-03-03 2016-01-05 Lg Electronics Inc. Mobile terminal and control method thereof
WO2011111120A1 (ja) 2010-03-12 2011-09-15 株式会社 東芝 通信装置
CN102934065B (zh) * 2010-04-09 2016-03-16 索尼电脑娱乐公司 信息处理装置
US9372618B2 (en) 2010-10-01 2016-06-21 Z124 Gesture based application management
JP6034297B2 (ja) * 2010-11-19 2016-11-30 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 手術器具の三次元超音波ガイダンス
US8775607B2 (en) * 2010-12-10 2014-07-08 International Business Machines Corporation Identifying stray assets in a computing enviroment and responsively taking resolution actions
US10620794B2 (en) 2010-12-23 2020-04-14 Apple Inc. Device, method, and graphical user interface for switching between two user interfaces
KR20120071670A (ko) * 2010-12-23 2012-07-03 엘지전자 주식회사 이동단말기 및 그 제어방법
US9465440B2 (en) * 2011-01-06 2016-10-11 Blackberry Limited Electronic device and method of displaying information in response to a gesture
US9471145B2 (en) 2011-01-06 2016-10-18 Blackberry Limited Electronic device and method of displaying information in response to a gesture
US9423878B2 (en) 2011-01-06 2016-08-23 Blackberry Limited Electronic device and method of displaying information in response to a gesture
US9383800B2 (en) 2011-03-22 2016-07-05 International Business Machines Corporation Managing a portal application
TW201239730A (en) * 2011-03-24 2012-10-01 Acer Inc Method for customizing user interface and electronic device thereof
US20120266100A1 (en) * 2011-04-12 2012-10-18 Caliendo Jr Neal Robert Dynamic Tile Billboard User Interface
CN102736832A (zh) * 2011-04-13 2012-10-17 宏碁股份有限公司 自订使用者接口的方法及其电子装置
US9116698B2 (en) * 2011-06-07 2015-08-25 Google Inc. Intelligent selection of operating state upon change of power state
US9324183B2 (en) * 2011-11-29 2016-04-26 Apple Inc. Dynamic graphical interface shadows
CN103975308B (zh) 2011-12-13 2019-07-19 索尼电脑娱乐公司 信息处理设备、信息处理方法、程序以及信息存储介质
US9191417B2 (en) * 2012-06-28 2015-11-17 Microsoft Technology Licensing, Llc Cross-process media handling in a voice-over-internet protocol (VOIP) application platform
US9367211B1 (en) * 2012-11-08 2016-06-14 Amazon Technologies, Inc. Interface tab generation
US9959007B2 (en) * 2012-12-05 2018-05-01 Facebook, Inc. Card-stack interface
EP2741199B1 (en) * 2012-12-06 2020-08-05 Samsung Electronics Co., Ltd Application individual lock mechanism for a touch screen device
TWI486875B (zh) * 2012-12-28 2015-06-01 Mstar Semiconductor Inc 電子裝置休眠回復設定方法以及具有休眠狀態以及休眠回復機制的電子裝置
CN103927226B (zh) * 2013-01-15 2018-05-25 晨星软件研发(深圳)有限公司 电子装置休眠回复设定方法以及电子装置
JP6016670B2 (ja) * 2013-02-26 2016-10-26 シャープ株式会社 携帯端末装置
USD851663S1 (en) * 2013-04-05 2019-06-18 Thales Avionics, Inc. Display screen or portion thereof with graphical user interface
USD738394S1 (en) 2013-06-09 2015-09-08 Apple Inc. Display screen or portion thereof with animated graphical user interface
USD741350S1 (en) 2013-06-10 2015-10-20 Apple Inc. Display screen or portion thereof with animated graphical user interface
CN109120823B (zh) * 2013-08-01 2020-07-14 核心光电有限公司 具有自动聚焦的纤薄多孔径成像系统及其使用方法
USD772278S1 (en) 2013-12-18 2016-11-22 Apple Inc. Display screen or portion thereof with animated graphical user interface
JP5979161B2 (ja) * 2014-01-15 2016-08-24 コニカミノルタ株式会社 表示装置、表示制御方法及びプログラム
USD761830S1 (en) * 2014-04-28 2016-07-19 Google Inc. Portion of a display panel with an animated computer icon
USD761829S1 (en) * 2014-04-28 2016-07-19 Google Inc. Portion of a display panel with an animated computer icon
KR102151178B1 (ko) 2014-05-19 2020-09-02 삼성전자 주식회사 직렬 통신 장치 및 그 방법
USD769892S1 (en) 2014-05-30 2016-10-25 Apple Inc. Display screen or portion thereof with graphical user interface
USD787537S1 (en) * 2014-08-05 2017-05-23 Naver Corporation Display screen with animated graphical user interface
USD765134S1 (en) * 2014-12-31 2016-08-30 Samsung Electronics Co., Ltd. Display screen or portion thereof with animated graphical user interface
USD763906S1 (en) * 2014-12-31 2016-08-16 Samsung Electronics Co., Ltd. Display screen or portion thereof with animated graphical user interface
USD782513S1 (en) * 2015-01-02 2017-03-28 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
US10318338B2 (en) 2015-01-08 2019-06-11 International Business Machines Corporation Re-launching contextually related application sets
USD768177S1 (en) * 2015-02-27 2016-10-04 Samsung Electronics Co., Ltd. Display screen or portion thereof with animated graphical user interface
USD769295S1 (en) * 2015-02-27 2016-10-18 Samsung Electronics Co., Ltd. Display screen or portion thereof with animated graphical user interface
USD765699S1 (en) 2015-06-06 2016-09-06 Apple Inc. Display screen or portion thereof with graphical user interface
US9996222B2 (en) * 2015-09-18 2018-06-12 Samsung Electronics Co., Ltd. Automatic deep view card stacking
US10802838B2 (en) * 2016-01-07 2020-10-13 Apple Inc. Dynamic graphical user interface previews
KR102459031B1 (ko) * 2016-02-15 2022-10-26 삼성전자 주식회사 전자 장치 및 그 어플리케이션 표시 방법
US10797977B2 (en) 2016-03-22 2020-10-06 Citrix Systems, Inc. Robust suspension and resumption of desktop virtualization
JP6724454B2 (ja) * 2016-03-22 2020-07-15 富士ゼロックス株式会社 表示制御装置、電子機器及びプログラム
US10216498B2 (en) * 2016-05-13 2019-02-26 Tibco Software Inc. Custom-built process engine with minimal memory and disk resource consumption
USD813263S1 (en) * 2016-06-15 2018-03-20 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
CN106201544A (zh) * 2016-07-19 2016-12-07 北京智能管家科技有限公司 在机器人系统中的动态交互展示方法及装置
US11599383B2 (en) * 2016-08-30 2023-03-07 Microsoft Technology Licensing, Llc Concurrent execution of task instances relating to a plurality of applications
US10466891B2 (en) * 2016-09-12 2019-11-05 Apple Inc. Special lock mode user interface
JP2018055210A (ja) * 2016-09-27 2018-04-05 オムロン株式会社 表示画面作成装置、表示画面作成方法、および、表示画面作成プログラム
USD800152S1 (en) * 2016-12-23 2017-10-17 Beijing Kingsoft Internet Security Software Co., Ltd. Mobile terminal display screen with a graphical user interface
USD802006S1 (en) * 2016-12-23 2017-11-07 Beijing Kingsoft Internet Security Software Co., Ltd. Mobile terminal display screen with a graphical user interface
US10228966B2 (en) * 2017-02-03 2019-03-12 Huawei Technologies Co., Ltd. Methods ad systems for hibernation of processes in computing devices
USD846587S1 (en) 2017-06-04 2019-04-23 Apple Inc. Display screen or portion thereof with animated graphical user interface
DK180639B1 (en) * 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US20190370009A1 (en) * 2018-06-03 2019-12-05 Apple Inc. Intelligent swap for fatigable storage mediums
USD877175S1 (en) 2018-06-04 2020-03-03 Apple Inc. Electronic device with graphical user interface
USD883319S1 (en) 2018-10-29 2020-05-05 Apple Inc. Electronic device with graphical user interface
US11409430B2 (en) * 2018-11-02 2022-08-09 Benjamin Firooz Ghassabian Screen stabilizer
US11150782B1 (en) 2019-03-19 2021-10-19 Facebook, Inc. Channel navigation overviews
US10868788B1 (en) 2019-03-20 2020-12-15 Facebook, Inc. Systems and methods for generating digital channel content
US11308176B1 (en) 2019-03-20 2022-04-19 Meta Platforms, Inc. Systems and methods for digital channel transitions
USD943625S1 (en) * 2019-03-20 2022-02-15 Facebook, Inc. Display screen with an animated graphical user interface
USD938482S1 (en) * 2019-03-20 2021-12-14 Facebook, Inc. Display screen with an animated graphical user interface
USD933696S1 (en) * 2019-03-22 2021-10-19 Facebook, Inc. Display screen with an animated graphical user interface
USD937889S1 (en) * 2019-03-22 2021-12-07 Facebook, Inc. Display screen with an animated graphical user interface
USD949907S1 (en) 2019-03-22 2022-04-26 Meta Platforms, Inc. Display screen with an animated graphical user interface
USD943616S1 (en) 2019-03-22 2022-02-15 Facebook, Inc. Display screen with an animated graphical user interface
USD944827S1 (en) 2019-03-26 2022-03-01 Facebook, Inc. Display device with graphical user interface
USD934287S1 (en) 2019-03-26 2021-10-26 Facebook, Inc. Display device with graphical user interface
USD944848S1 (en) 2019-03-26 2022-03-01 Facebook, Inc. Display device with graphical user interface
USD944828S1 (en) 2019-03-26 2022-03-01 Facebook, Inc. Display device with graphical user interface
CN110196674B (zh) * 2019-05-07 2020-11-20 珠海格力电器股份有限公司 一种终端交互方法、装置、介质及终端
USD987681S1 (en) * 2019-10-30 2023-05-30 Lyft, Inc. Display screen or portion thereof with graphical user interface
CN113076154B (zh) * 2020-01-03 2023-09-05 华为技术有限公司 多应用下进行分屏的方法、装置以及电子设备
USD964419S1 (en) * 2020-04-17 2022-09-20 Xokind, Inc. Display screen with transitional graphical user interface for integrated travel itinerary planning, booking and viewing
USD938447S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
US11188215B1 (en) 2020-08-31 2021-11-30 Facebook, Inc. Systems and methods for prioritizing digital user content within a graphical user interface
USD938450S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
USD938449S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
USD938448S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
USD938451S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
US11347388B1 (en) 2020-08-31 2022-05-31 Meta Platforms, Inc. Systems and methods for digital content navigation based on directional input
USD1010674S1 (en) * 2020-12-31 2024-01-09 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Display screen or portion thereof with transitional graphical user interface
USD980865S1 (en) * 2021-01-18 2023-03-14 Kwai Games Pte. Ltd. Display screen or portion thereof with graphical user interface
CN113535292A (zh) * 2021-03-31 2021-10-22 北京达佳互联信息技术有限公司 界面信息控制方法、装置、电子设备及存储介质
US20230297594A1 (en) * 2022-03-18 2023-09-21 Zoho Corporation Private Limited Entity interaction trends
US11972267B2 (en) 2022-10-04 2024-04-30 International Business Machines Corporation Hibernation of computing device with faulty batteries

Family Cites Families (206)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1043745A (en) 1910-11-28 1912-11-05 W B Worthington Mold for concrete wall construction.
US4680577A (en) * 1983-11-28 1987-07-14 Tektronix, Inc. Multipurpose cursor control keyswitch
US5610828A (en) * 1986-04-14 1997-03-11 National Instruments Corporation Graphical system for modelling a process and associated method
US5737622A (en) * 1986-04-14 1998-04-07 National Instruments Corporation Method and apparatus for more efficient function synchronization in a data flow program
US5075675A (en) 1988-06-30 1991-12-24 International Business Machines Corporation Method and apparatus for dynamic promotion of background window displays in multi-tasking computer systems
US5146556A (en) * 1988-10-11 1992-09-08 Next Computer, Inc. System and method for managing graphic images
US6782483B2 (en) * 1990-03-23 2004-08-24 Matsushita Electric Industrial Co., Ltd. Data processing apparatus
JP2613326B2 (ja) 1991-07-15 1997-05-28 財団法人ニューメディア開発協会 情報処理装置の履歴内容提示方法、及びその装置
US5349658A (en) * 1991-11-01 1994-09-20 Rourke Thomas C O Graphical user interface
US5377317A (en) 1991-12-20 1994-12-27 International Business Machines Corporation Method and apparatus for distinctively displaying windows on a computer display screen
US5499334A (en) * 1993-03-01 1996-03-12 Microsoft Corporation Method and system for displaying window configuration of inactive programs
US5499330A (en) * 1993-09-17 1996-03-12 Digital Equipment Corp. Document display system for organizing and displaying documents as screen objects organized along strand paths
DE69434717T2 (de) * 1993-12-09 2007-04-12 Canon K.K. Datenverarbeitungsgerät das als Host arbeitet und Verfahren um das Datenverarbeitungsgerät zu steuern
US5473745A (en) 1994-12-14 1995-12-05 International Business Machines Corporation Exposing and hiding a title bar behind its window using a visual cue
US5677708A (en) 1995-05-05 1997-10-14 Microsoft Corporation System for displaying a list on a display screen
US5675361A (en) 1995-08-23 1997-10-07 Santilli; Donald S. Computer keyboard pointing device
US6061050A (en) * 1995-10-27 2000-05-09 Hewlett-Packard Company User interface device
US5766708A (en) 1996-08-01 1998-06-16 Gabel S.R.L. Ski poles for skiers made of material having high resistance and inherently fragile
US6407757B1 (en) * 1997-12-18 2002-06-18 E-Book Systems Pte Ltd. Computer-based browsing method and computer program product for displaying information in an electronic book form
US5944829A (en) * 1996-09-30 1999-08-31 Intel Corporation Adjusting software characteristics by user interface based upon battery level and the amount of time the user wants the battery to last
US5892511A (en) 1996-09-30 1999-04-06 Intel Corporation Method for assisting window selection in a graphical user interface
US6011537A (en) * 1997-01-27 2000-01-04 Slotznick; Benjamin System for delivering and simultaneously displaying primary and secondary information, and for displaying only the secondary information during interstitial space
US6938254B1 (en) * 1997-05-06 2005-08-30 Microsoft Corporation Controlling memory usage in systems having limited physical memory
US5978923A (en) * 1997-08-07 1999-11-02 Toshiba America Information Systems, Inc. Method and apparatus for a computer power management function including selective sleep states
CN1126025C (zh) * 1997-08-12 2003-10-29 松下电器产业株式会社 窗口显示装置
US6166736A (en) * 1997-08-22 2000-12-26 Natrificial Llc Method and apparatus for simultaneously resizing and relocating windows within a graphical display
US5954820A (en) * 1997-09-26 1999-09-21 International Business Machines Corporation Portable computer with adaptive demand-driven power management
WO1999022314A1 (fr) 1997-10-29 1999-05-06 Sharp Kabushiki Kaisha Dispositif de commande d'affichage et dispositif de reproduction d'affichage pour livres electroniques
US6613100B2 (en) * 1997-11-26 2003-09-02 Intel Corporation Method and apparatus for displaying miniaturized graphical representations of documents for alternative viewing selection
US7800592B2 (en) 2005-03-04 2010-09-21 Apple Inc. Hand held electronic device with multiple touch sensing devices
US7844914B2 (en) * 2004-07-30 2010-11-30 Apple Inc. Activating virtual keys of a touch-screen virtual keyboard
US7614008B2 (en) 2004-07-30 2009-11-03 Apple Inc. Operation of a computer with touch screen interface
US7663607B2 (en) * 2004-05-06 2010-02-16 Apple Inc. Multipoint touchscreen
EP2256605B1 (en) 1998-01-26 2017-12-06 Apple Inc. Method and apparatus for integrating manual input
US6182231B1 (en) * 1998-03-31 2001-01-30 International Business Machines Corporation Dynamic program suspension
US7831930B2 (en) * 2001-11-20 2010-11-09 Universal Electronics Inc. System and method for displaying a user interface for a remote control application
JP2000105772A (ja) * 1998-07-28 2000-04-11 Sharp Corp 情報管理装置
JP3831538B2 (ja) * 1998-11-26 2006-10-11 インターナショナル・ビジネス・マシーンズ・コーポレーション ディスプレイの省電力方法及び装置
US7216300B2 (en) * 1998-12-30 2007-05-08 Ncr Corp. Method and apparatus for an applet to display multiple windows
DE69921956T2 (de) * 1999-02-11 2006-02-09 Sony International (Europe) Gmbh Edgerät für die drahtlose Telekommunikation und Verfahren zur Anzeige von Symbolen auf einer Anzeigevorrichtung eines solchen Endgeräts
AU3932300A (en) * 1999-04-06 2000-10-23 Microsoft Corporation Method and apparatus for providing a three-dimensional task gallery computer interface
US20030006956A1 (en) * 1999-05-24 2003-01-09 Charles Yimin Wu Data entry device recording input in two dimensions
US7151528B2 (en) 1999-06-22 2006-12-19 Cirque Corporation System for disposing a proximity sensitive touchpad behind a mobile phone keypad
US7007239B1 (en) 2000-09-21 2006-02-28 Palm, Inc. Method and apparatus for accessing a contacts database and telephone services
US6734880B2 (en) * 1999-11-24 2004-05-11 Stentor, Inc. User interface for a medical informatics systems
US7434177B1 (en) 1999-12-20 2008-10-07 Apple Inc. User interface for providing consolidation and access
US6957395B1 (en) * 2000-01-04 2005-10-18 Apple Computer, Inc. Computer interface having a single window mode of operation
US7137115B2 (en) * 2000-01-25 2006-11-14 Fujitsu Limited Method for controlling multithreading
JP2001265481A (ja) * 2000-03-21 2001-09-28 Nec Corp ページ情報表示方法及び装置並びにページ情報表示用プログラムを記憶した記憶媒体
JP4325075B2 (ja) * 2000-04-21 2009-09-02 ソニー株式会社 データオブジェクト管理装置
FI108901B (fi) * 2000-06-26 2002-04-15 Nokia Corp Kosketustuntumaltaan hyvä sähkömekaaninen tietojen syöttömekanismi
US7170500B2 (en) * 2000-08-29 2007-01-30 Palm, Inc. Flip-style user interface
JP3805180B2 (ja) * 2000-09-14 2006-08-02 株式会社東芝 表示素子
GB2367530B (en) 2000-10-03 2003-07-23 Nokia Mobile Phones Ltd User interface device
US6680677B1 (en) * 2000-10-06 2004-01-20 Logitech Europe S.A. Proximity detector to indicate function of a key
US6677932B1 (en) * 2001-01-28 2004-01-13 Finger Works, Inc. System and method for recognizing touch typing under limited tactile feedback conditions
US7030861B1 (en) * 2001-02-10 2006-04-18 Wayne Carl Westerman System and method for packing multi-touch gestures onto a hand
US6570557B1 (en) * 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
EP1253500A1 (en) 2001-04-26 2002-10-30 Nokia Corporation Method and device for authenticating a user on a remote server
US6943773B2 (en) * 2001-05-11 2005-09-13 Palmone, Inc. Page flicking mechanism for electronic display devices that paginate content
US6836870B2 (en) 2001-06-15 2004-12-28 Cubic Corporation Method and system for incorporating a dynamic situation display in a powerpoint slide show presentation
US7159176B2 (en) * 2001-08-29 2007-01-02 Digeo, Inc. System and method for focused navigation within a user interface
US7650569B1 (en) * 2001-08-29 2010-01-19 Allen Paul G System and method for focused navigation within a user interface
US7120806B1 (en) * 2001-10-31 2006-10-10 Western Digital Technologies, Inc. Method for setting a power operating mode transition interval of a disk drive in a mobile device based on application category
JP4039851B2 (ja) 2001-12-07 2008-01-30 株式会社エヌ・ティ・ティ・ドコモ 移動通信端末、アプリケーションプログラムの実行状態制御方法、アプリケーションプログラム、及びアプリケーションプログラムを記録した記録
TW563974U (en) * 2002-02-06 2003-11-21 Lite On Technology Corp Electricity saving device for user for user interface terminal device of cellular phone
GB0204652D0 (en) 2002-02-28 2002-04-10 Koninkl Philips Electronics Nv A method of providing a display gor a gui
TWI238348B (en) * 2002-05-13 2005-08-21 Kyocera Corp Portable information terminal, display control device, display control method, and recording media
TWI313835B (en) 2002-06-04 2009-08-21 Koninkl Philips Electronics Nv Method of measuring the movement of an object relative to a user's input device and related input device,mobile phone apparatus, cordless phone apparatus, laptor computer, mouse and remote control
US11275405B2 (en) 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
US7058901B1 (en) * 2002-10-29 2006-06-06 Koninklijke Philips Electronics N.V. Methods and apparatus for controlling the display of medical images
US7461352B2 (en) * 2003-02-10 2008-12-02 Ronald Mark Katsuranis Voice activated system and methods to enable a computer user working in a first graphical application window to display and control on-screen help, internet, and other information content in a second graphical application window
EP1599998B1 (en) * 2003-02-11 2011-04-06 NDS Limited Apparatus and methods for handling interactive applications in broadcast networks
US7139920B2 (en) 2003-03-13 2006-11-21 Sun Microsystems, Inc. Method and apparatus for supplying power in electronic equipment
US7665041B2 (en) 2003-03-25 2010-02-16 Microsoft Corporation Architecture for controlling a computer using hand gestures
KR20040083788A (ko) 2003-03-25 2004-10-06 삼성전자주식회사 제스쳐 커맨드를 이용하여 프로그램을 구동시킬 수 있는휴대용 단말기 및 이를 이용한 프로그램 구동 방법
US7340740B2 (en) 2003-04-22 2008-03-04 International Business Machines Corporation Cooperatively multitasking in an interrupt free computing environment
US7073052B2 (en) 2003-05-22 2006-07-04 International Business Machines Corporation Method and system for storing active files and programs in a hibernation mode
US20050003851A1 (en) * 2003-06-05 2005-01-06 Visteon Global Technologies, Inc. Radio system with touch pad interface
US7159189B2 (en) * 2003-06-13 2007-01-02 Alphabase Systems, Inc. Method and system for controlling cascaded windows on a GUI desktop on a computer
US20040261039A1 (en) * 2003-06-19 2004-12-23 International Business Machines Corporation Method and system for ordering on-screen windows for display
US7352363B2 (en) * 2003-06-27 2008-04-01 Microsoft Corporation Single finger or thumb method for text entry via a keypad
US7580033B2 (en) * 2003-07-16 2009-08-25 Honeywood Technologies, Llc Spatial-based power savings
US7583260B2 (en) * 2003-07-16 2009-09-01 Honeywood Technologies, Llc Color preservation for spatially varying power conservation
US7164410B2 (en) * 2003-07-28 2007-01-16 Sig G. Kupka Manipulating an on-screen object using zones surrounding the object
US7225448B2 (en) * 2003-08-14 2007-05-29 Lenovo (Singapore) Pte. Ltd. System and method for hibernating application state data on removable module
US7411575B2 (en) * 2003-09-16 2008-08-12 Smart Technologies Ulc Gesture recognition method and touch system incorporating the same
US7176902B2 (en) * 2003-10-10 2007-02-13 3M Innovative Properties Company Wake-on-touch for vibration sensing touch input devices
US7145552B2 (en) * 2003-10-22 2006-12-05 Solectron Corporation Electric field proximity keyboards and detection systems
US20050102638A1 (en) * 2003-11-10 2005-05-12 Jiang Zhaowei C. Navigate, click and drag images in mobile applications
US7416186B2 (en) * 2004-01-20 2008-08-26 Walker Digital, Llc Methods and system for facilitating a secondary card game
US8001479B2 (en) * 2004-02-03 2011-08-16 Ronald Mark Katsuranis System and methods to access computer files and position and control application window(s) on a graphical user interface
US7437005B2 (en) 2004-02-17 2008-10-14 Microsoft Corporation Rapid visual sorting of digital files and data
US20050190280A1 (en) 2004-02-27 2005-09-01 Haas William R. Method and apparatus for a digital camera scrolling slideshow
US20050240699A1 (en) * 2004-03-31 2005-10-27 Yoder Michael E Safe process deactivation
EP1739525A4 (en) * 2004-03-31 2011-08-10 Sharp Kk ELECTRONIC EQUIPMENT
US20050235332A1 (en) * 2004-04-16 2005-10-20 Manson Azita M Interactive icon management
TWI272539B (en) * 2004-06-03 2007-02-01 Atlab Inc Electrical touch sensor and human interface device using the same
TW200622893A (en) * 2004-07-09 2006-07-01 Nokia Corp Cute user interface
US20060015878A1 (en) * 2004-07-14 2006-01-19 Ritter Gerd M Command entry portal navigation
JP2006101041A (ja) 2004-09-28 2006-04-13 Fujitsu Ltd 携帯電話機
US7640502B2 (en) * 2004-10-01 2009-12-29 Microsoft Corporation Presentation facilitation
US7614011B2 (en) * 2004-10-21 2009-11-03 International Business Machines Corporation Apparatus and method for display power saving
US20060129948A1 (en) * 2004-12-14 2006-06-15 Hamzy Mark J Method, system and program product for a window level security screen-saver
CN100375034C (zh) 2005-01-05 2008-03-12 联想(新加坡)私人有限公司 在计算机系统中用于对进程进行休眠的方法和系统
US7266663B2 (en) * 2005-01-13 2007-09-04 International Business Machines Corporation Automatic cache activation and deactivation for power reduction
US7747965B2 (en) * 2005-01-18 2010-06-29 Microsoft Corporation System and method for controlling the opacity of multiple windows while browsing
US8341541B2 (en) * 2005-01-18 2012-12-25 Microsoft Corporation System and method for visually browsing of open windows
US7426697B2 (en) * 2005-01-18 2008-09-16 Microsoft Corporation Multi-application tabbing system
EP1688830A1 (en) 2005-02-08 2006-08-09 Research In Motion Limited Handheld electronic device having keyboard that provides two-dimensional navigation, and associated method
US7383451B2 (en) * 2005-02-18 2008-06-03 Lenovo (Singapore) Pte. Ltd. Controlling power usage of computing device components in holistic manner
JP4281700B2 (ja) 2005-03-23 2009-06-17 ヤマハ株式会社 複数のウィンドウを管理する方法
US20060227125A1 (en) * 2005-03-29 2006-10-12 Intel Corporation Dynamic backlight control
US7661069B2 (en) * 2005-03-31 2010-02-09 Microsoft Corporation System and method for visually expressing user interface elements
US7478339B2 (en) 2005-04-01 2009-01-13 Microsoft Corporation Method and apparatus for application window grouping and management
US7932895B2 (en) 2005-05-24 2011-04-26 Nokia Corporation Control of an electronic device using a gesture as an input
US20070004451A1 (en) * 2005-06-30 2007-01-04 C Anderson Eric Controlling functions of a handheld multifunction device
US7360166B1 (en) * 2005-08-17 2008-04-15 Clipmarks Llc System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
US7523323B2 (en) * 2005-09-15 2009-04-21 Intel Corporation Method and apparatus for quick resumption
US7788577B2 (en) 2005-09-23 2010-08-31 Google Inc. Displaying information on a mobile device
US7954064B2 (en) * 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
US9069877B2 (en) * 2005-12-07 2015-06-30 Ziilabs Inc., Ltd. User interface with variable sized icons
KR100799565B1 (ko) 2005-12-08 2008-01-30 한국전자통신연구원 웹 서비스 프로세스를 하이버네이션시키고 복원하는 방법및 그 장치
CN101379461A (zh) * 2005-12-30 2009-03-04 苹果公司 具有多重触摸输入的便携式电子设备
US8421755B2 (en) * 2006-01-17 2013-04-16 World Properties, Inc. Capacitive touch sensor with integral EL backlight
US8145719B2 (en) * 2006-03-03 2012-03-27 Gogroups Method and system for messaging and communication based on groups
KR100754211B1 (ko) 2006-03-15 2007-09-03 삼성전자주식회사 멀티태스킹을 위한 사용자 인터페이스 방법 및 그 방법을수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
KR100877829B1 (ko) * 2006-03-21 2009-01-12 엘지전자 주식회사 스크롤링 기능을 갖는 단말기 및 그 스크롤링 방법
US7595810B2 (en) 2006-03-22 2009-09-29 Apple Inc. Methods of manipulating a screen space of a display device
US20070245263A1 (en) 2006-03-29 2007-10-18 Alltel Communications, Inc. Graphical user interface for wireless device
US9395905B2 (en) * 2006-04-05 2016-07-19 Synaptics Incorporated Graphical scroll wheel
KR20070113025A (ko) 2006-05-24 2007-11-28 엘지전자 주식회사 터치스크린 장치 및 이의 작동방법
US20070247431A1 (en) 2006-04-20 2007-10-25 Peter Skillman Keypad and sensor combination to provide detection region that overlays keys
US8683362B2 (en) * 2008-05-23 2014-03-25 Qualcomm Incorporated Card metaphor for activities in a computing device
US20090278806A1 (en) 2008-05-06 2009-11-12 Matias Gonzalo Duarte Extended touch-sensitive control area for electronic device
US9274807B2 (en) 2006-04-20 2016-03-01 Qualcomm Incorporated Selective hibernation of activities in an electronic device
US8296684B2 (en) 2008-05-23 2012-10-23 Hewlett-Packard Development Company, L.P. Navigating among activities in a computing device
US7519808B2 (en) 2006-04-25 2009-04-14 Apple Inc. Method and apparatus for quickly reanimating devices from hibernation
US7598702B2 (en) * 2006-04-27 2009-10-06 Hewlett-Packard Development Company, L.P. Power management system and method for controlling use of power-consuming applications
TW200805131A (en) 2006-05-24 2008-01-16 Lg Electronics Inc Touch screen device and method of selecting files thereon
US8555099B2 (en) * 2006-05-30 2013-10-08 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
DE112007002544A1 (de) * 2006-06-09 2010-07-22 Apple Inc., Cupertino Flüssigkristallanzeige mit Berührungsbildschirm
US8243027B2 (en) * 2006-06-09 2012-08-14 Apple Inc. Touch screen liquid crystal display
US8068097B2 (en) 2006-06-27 2011-11-29 Cypress Semiconductor Corporation Apparatus for detecting conductive material of a pad layer of a sensing device
US10503342B2 (en) * 2006-08-04 2019-12-10 Apple Inc. User interface spaces
US7853567B2 (en) * 2006-08-04 2010-12-14 Apple Inc. Conflict resolution in recovery of electronic data
US7847790B2 (en) * 2006-08-30 2010-12-07 Elan Home Systems Interactive touchpad
US10313505B2 (en) * 2006-09-06 2019-06-04 Apple Inc. Portable multifunction device, method, and graphical user interface for configuring and displaying widgets
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
GB2480777B (en) 2006-09-11 2012-01-04 Apple Inc Media player with image-based browsing
CN104656900A (zh) * 2006-09-13 2015-05-27 意美森公司 用于游戏厅游戏触觉的系统和方法
US7978177B2 (en) * 2006-09-29 2011-07-12 Varia Holdings Llc Scrolling behavior-influenced algorithm selection to facilitate adaptive scrolling
DE602007008808D1 (de) * 2006-10-04 2010-10-14 Canon Kk Komponententräger, Druckkopf und Kopfpatrone mit dem Komponententräger
US20080084400A1 (en) 2006-10-10 2008-04-10 Outland Research, Llc Touch-gesture control of video media play on handheld media players
JP2008102830A (ja) * 2006-10-20 2008-05-01 Denso Corp マイクロコンピュータ、プログラム及び車両用電子制御装置
US7969426B2 (en) * 2006-10-31 2011-06-28 Hewlett-Packard Development Company, L.P. Light sensitive display interface for computing devices
US8756516B2 (en) * 2006-10-31 2014-06-17 Scenera Technologies, Llc Methods, systems, and computer program products for interacting simultaneously with multiple application programs
US8146006B2 (en) * 2006-12-01 2012-03-27 International Business Machines Corporation Method and apparatus for obtaining user interface information from executable program code
US8214768B2 (en) 2007-01-05 2012-07-03 Apple Inc. Method, system, and graphical user interface for viewing multiple application windows
US8063872B2 (en) * 2007-01-07 2011-11-22 Apple Inc. Portable electronic device with auto-dim timers
US8082523B2 (en) * 2007-01-07 2011-12-20 Apple Inc. Portable electronic device with graphical user interface supporting application switching
US7827358B2 (en) * 2007-01-07 2010-11-02 Apple Inc. Memory management methods and systems
KR100894146B1 (ko) * 2007-02-03 2009-04-22 엘지전자 주식회사 이동통신 단말기 및 그 동작 제어방법
US8176486B2 (en) 2007-02-15 2012-05-08 Clearcube Technology, Inc. Maintaining a pool of free virtual machines on a server computer
EP2132920A1 (en) 2007-04-10 2009-12-16 Nokia Corporation Improvements in or relating to electronic devices
US20080281689A1 (en) 2007-05-09 2008-11-13 Yahoo! Inc. Embedded video player advertisement display
KR20080104858A (ko) 2007-05-29 2008-12-03 삼성전자주식회사 터치 스크린 기반의 제스쳐 정보 제공 방법 및 장치, 그장치를 포함하는 정보 단말 기기
US8261205B2 (en) * 2007-05-30 2012-09-04 Hewlett-Packard Development Company, L.P. User interface for presenting a list of thumbnail items associated with media items
US8269728B2 (en) 2007-06-07 2012-09-18 Smart Technologies Ulc System and method for managing media data in a presentation system
US8667418B2 (en) 2007-06-08 2014-03-04 Apple Inc. Object stack
US8059101B2 (en) 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
USD615989S1 (en) 2007-06-28 2010-05-18 Apple Inc. Animated graphical user interface for a display screen or portion thereof
US9116593B2 (en) * 2007-07-06 2015-08-25 Qualcomm Incorporated Single-axis window manager
US7941429B2 (en) * 2007-07-10 2011-05-10 Yahoo! Inc. Interface for visually searching and navigating objects
US8589563B2 (en) * 2007-07-10 2013-11-19 Cisco Technology, Inc. System, method, and apparatus for maintaining call state information for real-time call sessions
JP4796017B2 (ja) * 2007-07-30 2011-10-19 京セラ株式会社 電子機器
JP5143503B2 (ja) * 2007-08-28 2013-02-13 任天堂株式会社 プログラム、情報処理装置、情報処理システムおよび情報処理方法
WO2009032151A1 (en) * 2007-09-05 2009-03-12 Wms Gaming Inc. Gaming system having dynamic player inputs
US20090070691A1 (en) * 2007-09-12 2009-03-12 Devicefidelity, Inc. Presenting web pages through mobile host devices
US20090089692A1 (en) * 2007-09-28 2009-04-02 Morris Robert P Method And System For Presenting Information Relating To A Plurality Of Applications Using A Three Dimensional Object
US8510743B2 (en) * 2007-10-31 2013-08-13 Google Inc. Terminating computer applications
KR101387527B1 (ko) * 2007-12-06 2014-04-23 엘지전자 주식회사 단말기 및 그 메뉴 아이콘 디스플레이 방법
US9767681B2 (en) 2007-12-12 2017-09-19 Apple Inc. Handheld electronic devices with remote control functionality and gesture recognition
WO2009076974A1 (en) * 2007-12-14 2009-06-25 Nokia Corporation Mode control for an electronic device with touch ui
US20090164928A1 (en) * 2007-12-21 2009-06-25 Nokia Corporation Method, apparatus and computer program product for providing an improved user interface
US8407603B2 (en) * 2008-01-06 2013-03-26 Apple Inc. Portable electronic device for instant messaging multiple recipients
US8490019B2 (en) * 2008-01-29 2013-07-16 Microsoft Corporation Displaying thumbnail copies of each running item from one or more applications
US8677285B2 (en) 2008-02-01 2014-03-18 Wimm Labs, Inc. User interface of a small touch sensitive display for an electronic data and communication device
US8250604B2 (en) * 2008-02-05 2012-08-21 Sony Corporation Near real-time multiple thumbnail guide with single tuner
US8069362B2 (en) * 2008-02-26 2011-11-29 Sap Ag Automated electrical power savings in virtualization environments
KR100977385B1 (ko) * 2008-04-10 2010-08-20 주식회사 팬택 위젯형 대기화면을 제어할 수 있는 이동 단말기 및 그를이용한 대기화면 제어 방법
US8510577B2 (en) * 2008-07-28 2013-08-13 Microsoft Corporation Reducing power consumption by offloading applications
US8156320B2 (en) * 2008-08-27 2012-04-10 Wireless Silicon Group, Llc Method and apparatus for fast booting a portable computing device allowing for immediate operation
US8341557B2 (en) * 2008-09-05 2012-12-25 Apple Inc. Portable touch screen device, method, and graphical user interface for providing workout support
US8600446B2 (en) * 2008-09-26 2013-12-03 Htc Corporation Mobile device interface with dual windows
US20100146449A1 (en) 2008-12-09 2010-06-10 Michael William Brown Method, apparatus and system for management of application switching in an electronic device
US8451236B2 (en) * 2008-12-22 2013-05-28 Hewlett-Packard Development Company L.P. Touch-sensitive display screen with absolute and relative input modes
US8547244B2 (en) * 2008-12-22 2013-10-01 Palm, Inc. Enhanced visual feedback for touch-sensitive input device
US8291348B2 (en) * 2008-12-31 2012-10-16 Hewlett-Packard Development Company, L.P. Computing device and method for selecting display regions responsive to non-discrete directional input actions and intelligent content analysis
US8365091B2 (en) * 2009-01-06 2013-01-29 Microsoft Corporation Non-uniform scrolling
US9176747B2 (en) 2009-02-17 2015-11-03 Sandisk Il Ltd. User-application interface
US20100235787A1 (en) * 2009-03-11 2010-09-16 Mitel Networks Corporation System and method for accessing internet protocol phone based applications
US8175653B2 (en) * 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
US8612883B2 (en) * 2009-06-08 2013-12-17 Apple Inc. User interface for managing the display of multiple display regions
US7873849B2 (en) 2009-09-02 2011-01-18 Apple Inc. Motion sensor data processing using various power management modes
US20190163292A1 (en) 2017-11-28 2019-05-30 Egalax_Empia Technology Inc. Electronic Board Eraser and Controlling Method Thereof

Also Published As

Publication number Publication date
EP2457148A4 (en) 2014-09-03
EP3920015A1 (en) 2021-12-08
CN107577500A (zh) 2018-01-12
PT3598286T (pt) 2021-08-30
US20210103370A1 (en) 2021-04-08
SI3324279T1 (sl) 2019-09-30
ES2751881T3 (es) 2020-04-02
CN102754058B (zh) 2017-10-24
PT3324279T (pt) 2019-10-31
WO2011011120A3 (en) 2011-03-24
US20230081380A1 (en) 2023-03-16
HUE055854T2 (hu) 2021-12-28
US10901602B2 (en) 2021-01-26
PL3920015T3 (pl) 2024-04-08
US20160154558A1 (en) 2016-06-02
US20110016417A1 (en) 2011-01-20
US11500532B2 (en) 2022-11-15
PL3598286T3 (pl) 2021-11-29
EP3598286A1 (en) 2020-01-22
CN102754058A (zh) 2012-10-24
WO2011011120A2 (en) 2011-01-27
CN107577500B (zh) 2020-11-17
US10877657B2 (en) 2020-12-29
PL3324279T3 (pl) 2020-02-28
SI3598286T1 (sl) 2021-09-30
US20190179505A1 (en) 2019-06-13
DK3324279T3 (da) 2019-10-14
EP2457148B1 (en) 2017-12-06
US9274807B2 (en) 2016-03-01
EP3920015B1 (en) 2023-12-06
EP3324279B1 (en) 2019-07-24
EP3324279A1 (en) 2018-05-23
ES2884128T3 (es) 2021-12-10
US10268358B2 (en) 2019-04-23
DK3598286T3 (da) 2021-08-23
EP3598286B1 (en) 2021-07-28
HUE045552T2 (hu) 2020-01-28
EP2457148A2 (en) 2012-05-30
US20160147543A1 (en) 2016-05-26
EP3920015C0 (en) 2023-12-06

Similar Documents

Publication Publication Date Title
ES2968336T3 (es) Hibernación selectiva de actividades en un dispositivo informático móvil
US11989409B2 (en) Device, method, and graphical user interface for displaying a plurality of settings controls
US20220283682A1 (en) Application management in a computing device
US11567644B2 (en) Cursor integration with a touch screen user interface
US10613701B2 (en) Customizable bladed applications
KR102430623B1 (ko) 소형 스크린 디스플레이를 위한 애플리케이션 명령 제어
ES2728417T3 (es) Navegación entre actividades en un dispositivo informático
US20140232671A1 (en) Device, Method, and Graphical User Interface for Managing Concurrently Open Software Applications
US20140282110A1 (en) Device, method, and graphical user interface for managing concurrently open software applications
US20140173517A1 (en) Device, Method, and Graphical User Interface for Managing Concurrently Open Software Applications
US20150177927A1 (en) Device, method, and graphical user interface for managing concurrently open software applications
US20120200503A1 (en) Sizeable virtual keyboard for portable computing devices