[go: up one dir, main page]

ES2343567T3 - Procedimiento y aparato para la desinstalacion iniciada por red de un programa de aplicacion en una red inalambrica. - Google Patents

Procedimiento y aparato para la desinstalacion iniciada por red de un programa de aplicacion en una red inalambrica. Download PDF

Info

Publication number
ES2343567T3
ES2343567T3 ES02723733T ES02723733T ES2343567T3 ES 2343567 T3 ES2343567 T3 ES 2343567T3 ES 02723733 T ES02723733 T ES 02723733T ES 02723733 T ES02723733 T ES 02723733T ES 2343567 T3 ES2343567 T3 ES 2343567T3
Authority
ES
Spain
Prior art keywords
revocation
program
application
remote
command
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.)
Expired - Lifetime
Application number
ES02723733T
Other languages
English (en)
Inventor
Mazen Chmaytelli
Brian Minear
Jason Kenagy
Paul Jacobs
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25244389&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2343567(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2343567T3 publication Critical patent/ES2343567T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Telephonic Communication Services (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Transceivers (AREA)

Abstract

Un procedimiento para revocar remotamente uno o más programas de aplicación residentes en un módulo remoto (100), que comprende las operaciones de: identificar un programa (109) de aplicación como un programa de aplicación defectuoso, para el cual es necesaria una revocación como programa de aplicación seleccionado; identificar módulos remotos con el programa de aplicación seleccionado instalado en los mismos, buscando en una base (204) de datos que contiene un registro de identificadores (302) de aplicación que representan a cada programa de aplicación descargado en cualquier momento en cada módulo remoto en una red (200); construir un comando (216) de revocación iniciado en red que comprende un identificador de aplicación único para el programa de aplicación seleccionado, y una instrucción a los módulos remotos identificados, para desinstalar el programa de aplicación seleccionado al recibir el comando de revocación; y enviar el comando (216) de revocación a los módulos remotos identificados mediante una o más redes inalámbricas.

Description

Procedimiento y aparato para la desinstalación iniciada por red de un programa de aplicación en una red inalámbrica.
Antecedentes de la invención Campo de la invención
La invención se refiere al mantenimiento y eliminación remotos de programas utilizando una red inalámbrica. Más específicamente, la invención atañe a una "revocación" o desinstalación iniciada por red de programas de aplicación seleccionados en módulos remotos tales como teléfonos inalámbricos.
Descripción de la tecnología relacionada
Los teléfonos inalámbricos, usualmente utilizados para comunicarse por una red inalámbrica, están evolucionando hacia un aparato que brinda a sus usuarios los mismos beneficios de los ordenadores personales y las agendas electrónicas de mano ("PDA"). Esta transición desde el teléfono al ordenador está siendo lograda por la instalación, por parte del fabricante, de interfaces de programación de aplicaciones ("API") sobre los teléfonos inalámbricos. Los desarrolladores de software, utilizando equipos especiales de desarrollo de software, están escribiendo programas específicamente diseñados para ser compatibles con los teléfonos inalámbricos con una API.
Las API permiten a los usuarios de los teléfonos inalámbricos descargar y emplear diversos programas utilizando los teléfonos inalámbricos. Como resultado, se anticipa que los usuarios de teléfonos inalámbricos personalizarán sus teléfonos inalámbricos con programas que el usuario halle útiles y entretenidos. Por ejemplo, el usuario puede utilizar el teléfono inalámbrico para jugar juegos, leer libros, obtener cotizaciones de bolsa y otra información de noticias, o cualquier otro tipo de información o programa que desee el usuario del teléfono inalámbrico.
También se anticipa que los programas vendrán precargados en el momento en que se adquiere el teléfono inalámbrico, o bien el usuario podrá solicitar más adelante que se descarguen programas adicionales de manera inalámbrica, por el aire. El usuario del teléfono inalámbrico también puede borrar programas del teléfono inalámbrico según haga falta, o cuando lo desee.
Sin embargo, a diferencia de los ordenadores personales tradicionales, los teléfonos inalámbricos se comunican y funcionan por una red inalámbrica que es utilizada por muchas otras personas para comunicarse. Si la red inalámbrica se colapsa o se satura, la gente no podrá utilizar los teléfonos inalámbricos para su tradicional e importante función básica de comunicación.
Un programa defectuoso descargado en un teléfono inalámbrico puede saturar la red inalámbrica, causar que la red se colapse, o incluso plantear riesgos de seguridad al usuario del teléfono inalámbrico. Por ejemplo, un programa defectuoso puede interferir con, o incluso detener, el funcionamiento de partes enteras de la red inalámbrica, incluso las estaciones base que difunden mensajes a los teléfonos inalámbricos. Un programa defectuoso también puede causar que los teléfonos inalámbricos saturen una red e impidan el encaminamiento de llamadas de alta prioridad, tales como las llamadas al 911. También puede haber cuestiones de seguridad si un programa defectuoso causara que un teléfono inalámbrico emitiera frecuencias de radio fuera de las gamas normales y seguras.
El documento WO0244892 revela procedimientos y sistemas basados en ordenadores y redes para mantener y dar de alta aplicaciones inalámbricas. Las realizaciones ejemplares proporcionan un Sistema de Aplicación Móvil (MAS), que es una colección de componentes servidores interoperativos que funcionan individualmente y juntos, de manera segura, a fin de proporcionar aplicaciones y recursos a los dispositivos de abonados móviles, tales como los dispositivos inalámbricos. Las realizaciones también pueden utilizarse para desplegar aplicaciones y recursos para dispositivos de abonados cableados. Las aplicaciones, los recursos y otros contenidos son dados de alta y verificados por el MAS para el acceso autorizado por parte del abonado, la compatibilidad con un dispositivo abonado solicitante, y las políticas de seguridad y facturación de los administradores de portadores y sistemas del MAS. De esta manera, las aplicaciones, recursos y otros contenidos pueden descargarse en los dispositivos, tales como dispositivos inalámbricos, con mayor garantía de su capacidad para funcionar exitosamente. En una realización, el contenido es dado de alta por una o más etapas de inspección del contenido en busca de código malicioso o prohibido, de optimización del contenido para lograr un tamaño más pequeño y mayor velocidad, de instrumentación del código que implementa la seguridad, la facturación y otras políticas del portador, y el empaquetamiento de código para el dispositivo abonado en cuestión. Se proporciona seguridad adicional mediante filtros de aplicaciones que se utilizan para impedir que las aplicaciones que contienen una API indicada sean descargadas en el dispositivo de un abonado. En una realización, el MAS incluye un Gestor de Protocolo, un Gestor de Altas, memoria caché, un Gestor de Despliegue, un Gestor de Facturación, un Gestor de Conexión, un
\hbox{Administrador y un Monitor de Latido, que interactúan
para proporcionar las funciones de alta.}
El documento WO 00/67112 revela un sistema y procedimiento para gestionar la distribución de contenidos en un dispositivo, comprendiendo el sistema una base de datos para almacenar un cierto número de elementos como una estructura jerárquica, siendo los identificadores de contenido capaces de asociarse con elementos en la estructura jerárquica, y representando uno de los elementos al dispositivo, y un servidor para remitirse a la estructura jerárquica en la base de datos a fin de generar un perfil para el dispositivo, conteniendo el perfil un cierto número de identificadores de contenido que indican el contenido a proporcionar al dispositivo.
Un gestor de dispositivo se asocia al dispositivo y se dispone para recibir el perfil desde el servidor y para utilizar los identificadores de contenido en el perfil, a fin de causar que el contenido indicado por el perfil se proporcione al dispositivo, manteniéndose un registro que identifica el contenido proporcionado al dispositivo según el perfil.
El gestor de dispositivo se dispone, al recibir un perfil subsiguiente desde el servidor, para comparar los identificadores de contenido en el perfil subsiguiente con el registro, a fin de determinar un nuevo contenido no proporcionado aún en el dispositivo, y un viejo contenido que no ha de proporcionarse más en el dispositivo, estando el gestor de dispositivo dispuesto para utilizar los identificadores de contenido relevantes a fin de causar que el nuevo contenido se proporcione al dispositivo, y para causar que se quite el viejo contenido. Este enfoque facilita la gestión eficiente de la distribución de contenido a los dispositivos.
Resumen de la invención
A grandes rasgos, la presente invención, según lo estipulado en las reivindicaciones adjuntas, atañe a la desinstalación (o "revocación") iniciada por red de uno o más programas en módulos remotos, tales como teléfonos inalámbricos. La revocación se lleva a cabo por una red inalámbrica.
Surgirán circunstancias que indiquen una revocación de uno o más programas descargados en teléfonos inalámbricos. Una revocación puede ser necesaria en respuesta a la insatisfacción del cliente con las prestaciones de un programa específico, en respuesta a la detección de un patrón de problemas que afecta a la red inalámbrica enlazada a un programa, y/o de un programa que causa que el teléfono inalámbrico funcione mal o cese de funcionar.
En respuesta a estas circunstancias, una o más personas o entidades, implicadas en el desarrollo y/o emisión del programa, el fabricante del teléfono inalámbrico y/o las personas o entidades implicadas en la función de la red inalámbrica (tales como un proveedor o "portador" de red telefónica inalámbrica) (mencionados colectivamente o individualmente como una "fuente de comandos de revocación"), deciden si es necesaria una revocación. Para cada programa a revocar ("programa de aplicación seleccionado"), la fuente de comandos de revocación construye un comando de revocación.
El comando de revocación incluye, como mínimo, una identificación única de aplicación para el programa de aplicación seleccionado y una instrucción al teléfono inalámbrico para desinstalar el programa de aplicación seleccionado. Una base de datos mantenida por un gestor de programas mantiene un registro de las identificaciones de aplicación para cada programa descargado en los teléfonos inalámbricos, y también mantiene un registro de qué teléfonos inalámbricos tienen el programa de aplicación seleccionado descargado en ellos.
La fuente de comandos de revocación construye el comando de revocación y lo envía a la red inalámbrica. Las estaciones base en la red inalámbrica difunden el comando de revocación a los teléfonos inalámbricos. Al recibir el comando de revocación, los teléfonos inalámbricos comienzan automáticamente el proceso para desinstalar el programa de aplicación seleccionado.
Alternativamente, la fuente de comandos de revocación puede enviar un mensaje de revocación más limitado al teléfono inalámbrico. El mensaje de revocación instruye al teléfono inalámbrico para enviar un mensaje a la fuente de comandos de revocación o a otro componente de la red inalámbrica, a fin de obtener la información necesaria para desinstalar el programa de aplicación seleccionado.
Otro aspecto de la invención implica un proceso de revocación iniciado por el teléfono inalámbrico. En esta realización, el teléfono inalámbrico se programa para enviar periódicamente un mensaje por la red inalámbrica a la fuente de comandos de revocación. La fuente del comandos de revocación, al establecer el contacto con el teléfono inalámbrico, envía un comando de revocación al teléfono inalámbrico, para aplicaciones cualesquiera que necesiten ser desinstaladas. Alternativamente, el comando de revocación instruye al teléfono inalámbrico para ponerse en contacto con otro componente de la red inalámbrica, a fin de obtener la información necesaria para desinstalar el programa de aplicación seleccionado.
En consecuencia, una realización de la invención implica distintos procedimientos para desinstalar uno o más programas de aplicación seleccionados, residentes en un teléfono inalámbrico. Una fuente de comandos de revocación emite remotamente un comando de revocación, en respuesta al cual el teléfono inalámbrico desinstala automáticamente el programa de aplicación seleccionado. Alternativamente, el teléfono inalámbrico envía periódicamente mensajes a la fuente de comandos de revocación, en busca de comandos de revocación cualesquiera, en respuesta a los cuales el teléfono inalámbrico desinstala automáticamente el programa de aplicación seleccionado.
En otra realización, la invención implica un aparato, tal como un teléfono inalámbrico, configurado y programado para desinstalar automáticamente un programa de aplicación seleccionado en respuesta a un comando de revocación iniciado por red. Alternativamente, el teléfono inalámbrico se configura y programa para enviar periódicamente mensajes a fin de obtener comandos de revocación cualesquiera, en respuesta a los cuales el teléfono inalámbrico también está configurado y programado para desinstalar automáticamente un programa de aplicación seleccionado.
La invención ofrece un cierto número de ventajas individuales. Principalmente, la invención ofrece un mecanismo para controlar, mediante la desinstalación iniciada por red, programas de aplicación defectuosos o dañinos, descargados en teléfonos inalámbricos. De manera significativa, el proceso es iniciado y controlado por personas o entidades que hacen funcionar la red inalámbrica, o bien por el mismo teléfono inalámbrico, y no por el usuario del teléfono inalámbrico. El gestor de programas identifica qué teléfonos inalámbricos tienen el programa de aplicación seleccionado, y el proceso de revocación se orienta específicamente a esos teléfonos inalámbricos. Este aspecto garantiza un alto grado de uniformidad, velocidad y precisión en el proceso de revocación. La invención también proporciona un buen número de otras ventajas y beneficios, que deberían ser evidentes a partir de la siguiente descripción de la
invención.
Descripción de dibujos
La Figura 1 es un diagrama en bloques de los componentes de hardware y las interconexiones de un teléfono inalámbrico que incluye un programa de revocación residente en el mismo, según la invención.
La Figura 2 es un diagrama en bloques de los componentes de hardware de una red inalámbrica ejemplar que proporciona comunicación entre distintos componentes, incluyendo un gestor de programas y teléfonos inalámbricos, según la invención.
La Figura 3a muestra una tabla de datos mantenidos por el gestor de programas en una base de datos del gestor de programas, según la invención.
La Figura 3b muestra una tabla de datos mantenidos por el teléfono inalámbrico en una base de datos local de programas de aplicación, según la invención.
La Figura 4 es un diagrama de flujo de una secuencia operativa para la construcción de un teléfono inalámbrico con un programa de revocación residente en el mismo, según la invención.
La Figura 5 es un diagrama de flujo de una secuencia operativa para enviar un comando de revocación iniciado en red por la red inalámbrica, según la invención.
La Figura 6 es un diagrama de flujo de una secuencia operativa efectuada por un teléfono inalámbrico para desinstalar un programa de aplicación seleccionado en el teléfono inalámbrico, según la invención.
Descripción de la realización preferida
La naturaleza, objetivos y ventajas de la invención devendrán más evidentes para aquellos versados en la tecnología, después de considerar la siguiente descripción detallada con relación a los dibujos adjuntos. Según se ha mencionado anteriormente, la invención atañe a la desinstalación iniciada en red de uno o más programas de aplicación seleccionados en un módulo remoto, tal como un teléfono inalámbrico.
Componentes e interconexiones de hardware Teléfono Inalámbrico
Con referencia a la Figura 1, la invención se ilustra en el contexto de un teléfono inalámbrico 100. El teléfono inalámbrico 100 se utiliza como un ejemplo, sin ninguna limitación concebida. La invención, alternativamente, puede llevarse a cabo en cualquier forma de módulo remoto capaz de comunicarse a través de una red inalámbrica, incluyendo, sin limitación, las agendas digitales ("PDA"), los módems inalámbricos, las tarjetas PCMCIA, los terminales de acceso, los ordenadores personales, los teléfonos sin visor ni panel de teclas, o cualquier combinación o subcombinación de los mismos. Estos ejemplos de módulos remotos también pueden tener una interfaz de usuario, tal como un panel de teclas, un visor o un emisor sonoro.
El teléfono inalámbrico ejemplar 100 mostrado en la Figura 1 incluye un microprocesador, un circuito de lógica, un ensamblaje de elementos de circuitos discretos, un circuito integrado específico para la aplicación (ASIC), u otra entidad de procesamiento de datos. En el ejemplo de la Figura 1, esta entidad de procesamiento está implementada como un ASIC 102 instalado en el momento en que el teléfono inalámbrico 100 es fabricado. El ASIC es un componente de hardware que está gobernado por software incluido en el ASIC. Estos circuitos de procesamiento también pueden incluir una API, según lo ilustra la API 104, que se instala en el teléfono inalámbrico 100 en el momento de la fabricación. La API 104 es una capa de software configurada para interactuar con el ASIC, y se ejecuta en el hardware del ASIC. La API 104 sirve como una interfaz entre el hardware del ASIC 102 y los programas 108 de aplicación (expuestos más adelante) instalados en el teléfono inalámbrico 100. Alternativamente, el teléfono inalámbrico 100 puede contener cualquier otra forma de circuitos que permitan que los programas se hagan funcionar de una manera que sea compatible con la configuración de hardware del teléfono inalámbrico 100. El teléfono inalámbrico 100 también incluye un almacenamiento 106. El almacenamiento 106 comprende memoria RAM y ROM, pero, alternativamente, puede ser cualquier forma de memoria, tal como EPROM, EEPROM o inserciones de tarjetas de memoria
flash.
Con referencia a la Figura 1, el fabricante (no mostrado) del teléfono inalámbrico 100 descarga programas 108 de aplicación en el almacenamiento 106 del teléfono inalámbrico 100 en el momento en que el teléfono inalámbrico 100 es fabricado. Estos programas 108 de aplicación incluyen juegos, libros o cualquier otro tipo de datos o programas de software. Los programas 108 de aplicación también pueden descargarse en el teléfono inalámbrico 100 por el aire, después de que el teléfono inalámbrico 100 se haya fabricado.
El fabricante también descarga un programa 110 de revocación en el almacenamiento 106 del teléfono inalámbrico 100 en el momento en que se fabrica el teléfono inalámbrico 100. El programa 100 de revocación también puede instalarse por el aire después de que se ha fabricado el teléfono inalámbrico 100.
Según se expone en más detalle más adelante, el programa 110 de revocación, cuando es ejecutado por el teléfono inalámbrico 100, desinstala uno o más programas 109 de aplicación seleccionados, almacenados en el teléfono inalámbrico 100. El programa 109 de aplicación seleccionado es un programa 108 de aplicación que debe ser desinstalado del teléfono inalámbrico 100 por diversas razones expuestas más adelante. El programa 110 de revocación puede, adicional o alternativamente, programarse para inhabilitar el programa 109 de aplicación seleccionado, o reprogramarlo para que funcione de manera diferente.
En una realización alternativa, expuesta más adelante, el teléfono inalámbrico 100 está programado para sondear periódicamente una fuente 222 de comandos de revocación (expuesta con respecto a la Figura 2) en busca de instrucciones cualesquiera para revocar un programa 109 de aplicación seleccionado. En esta realización, un programa 111 de sondeo de revocación se descarga en el almacenamiento 106 del teléfono inalámbrico 100 en el momento en que se fabrica el teléfono inalámbrico 100. El programa 111 de sondeo de revocación es software que se autoejecuta a distintos intervalos. El programa 111 de sondeo de revocación puede ejecutarse automáticamente cada vez que el teléfono inalámbrico 100 es encendido por un usuario, y/o a intervalos temporales periódicos, mientras el teléfono inalámbrico 100 está siendo utilizado por un usuario, y/o en momentos predeterminados por el programa (tal como en fechas u horas del día predeterminadas).
El teléfono inalámbrico 100 también incluye una base local 112 de datos instalada por el fabricante. Muestras del contenido de la base local 112 de datos se ilustran en la Figura 3b. La base local 112 de datos contiene, como mínimo, un registro de la identificación 302 de aplicación única para cada programa 108 de aplicación almacenado en el teléfono inalámbrico 100. Adicionalmente, la base local 112 de datos puede contener un registro de la ubicación 314 de los programas 108 de aplicación dentro del almacenamiento 106 en el teléfono inalámbrico 100, y cualquier otra información útil para mantener un registro de qué programas 108 de aplicación están descargados en el teléfono inalámbrico 100, y dónde están situados.
Las identificaciones 302 de aplicación para los programas 108 de aplicación, mantenidas en la base local 112 de datos, corresponden a las mismas identificaciones 302 de aplicación para los programas 108 de aplicación, mantenidas en una base 204 de datos del gestor de programas (Figura 2, expuesta más adelante). Por ejemplo, la identificación 302 de aplicación para un programa 108 de aplicación mantenida en la base 204 de datos del gestor de programas para el "Coche de carreras 104Z" es idéntica a la identificación 302 de aplicación para ese programa 108 de aplicación en la base local 112 de datos en el teléfono inalámbrico 100.
El teléfono inalámbrico 100 incluye adicionalmente un cliente 114 de descarga. El cliente 114 de descarga es un programa de software dentro de la API 104, que indica dónde se almacena cada programa 108 de aplicación según se descarga por el aire en el teléfono inalámbrico 100. El cliente 114 de descarga también mantiene un registro de dónde se almacena cada programa 108 de aplicación dentro del almacenamiento 106 para el teléfono inalámbrico 100.
Red
La Figura 2 ilustra un ejemplo de una red 200 por la cual se difunde un comando 216 de revocación, iniciado en red, a teléfonos inalámbricos 100 que llevan un programa 109 de aplicación seleccionado. La red 200 incluye diversos componentes vinculados de diversas maneras. La red 200 descrita más adelante es sólo ejemplar. Para los fines de la presente invención, la red 200 incluye cualquier sistema por el cual los módulos remotos, tales como los teléfonos inalámbricos 100, se comunican por el aire entre dos o más de ellos, y/o entre dos o más componentes de una red inalámbrica, que incluye, sin limitación, portadores y/o servidores de red inalámbrica.
Con referencia a la Figura 2, la red 200 incluye en un extremo un gestor 202 de programas. El gestor 202 de programas es cualquier entidad (compañía) que ha desarrollado y proporcionado la API 104 a los fabricantes del teléfono inalámbrico 203 para su instalación en los teléfonos inalámbricos 203. El gestor 202 de programas también es la entidad que certifica los programas 108 de aplicación como compatibles con las API 104 instaladas en los teléfonos inalámbricos 203.
El gestor 202 de programas mantiene una base 204 de datos del gestor de programas. Las muestras del contenido de la base 204 de datos del gestor de programas se ilustran en la Figura 3a. La base 204 de datos del gestor de programas contiene, como mínimo, un registro de las identificaciones 302 de aplicación que representan a cada programa 108 de aplicación descargado en cualquier momento en cada teléfono inalámbrico 203 en la red 200, un Número de Servicio Electrónico ("ESN") 304 que representa al individuo que descargó el programa 108 de aplicación, y un Número de Identificación de Móvil ("MIN") 306, único para el teléfono inalámbrico 203 que lleva ese programa 108 de aplicación. Optativamente, la base 204 de datos del gestor de programas contiene registros del modelo 308 de teléfono inalámbrico, el portador 310 de red inalámbrica, la región donde se utiliza 312 el teléfono inalámbrico, y cualquier otra información útil para identificar qué teléfonos inalámbricos 203 están llevando qué programas 108 de
aplicación.
El gestor 202 de programas también incluye una fuente 222 de comandos de revocación. La fuente 222 de comandos de revocación es (son) la(s) persona(s) o entidad(es) que toma(n) la decisión de revocar uno o más programas 109 de aplicación seleccionados. La fuente 222 de comandos de revocación también es la entidad que construye un comando 216 de revocación (expuesto más adelante) que se difunde a los teléfonos inalámbricos 100 identificados que llevan el programa, o programas, 109 de aplicación seleccionado(s). Alternativamente, y sin limitación, la fuente 222 de comandos de revocación puede(n) ser una o más personas o entidades implicadas en el desarrollo y emisión del programa 109 de aplicación seleccionado, persona(s) o entidades implicadas en la fabricación de los teléfonos inalámbricos 203, persona(s) o entidades implicadas en la función de partes cualesquiera de la red 200, y/o cualquier componente de la red 200.
El gestor 202 de programas se comunica con uno o más ordenadores servidores 206 mediante una red por Internet 208 (preferiblemente dotada de seguridad). Los servidores 206 también se comunican con una red portadora 210 mediante una red por Internet 208. La red portadora 210 controla los mensajes enviados a un controlador de servicios de mensajería ("MSC") 212. La red portadora 210 se comunica con el MSC 212 tanto por Internet como por el POTS (sistema telefónico normal y corriente) (identificados colectivamente en la Figura 2 como 211). La conexión 211 por Internet entre la red portadora 210 y el MSC 212 transfiere datos, y el POTS 211 transfiere información de voz. El MSC 212, a su vez, está conectado con múltiples estaciones base ("BTS") 214. El MSC 212 está conectado con las BTS tanto por Internet 211 (para la transferencia de datos) como por el POTS 211 (para la información de voz). Las BTS 214 difunden mensajes de manera inalámbrica a los teléfonos inalámbricos 203, por el servicio de mensajes breves ("SMS"), o cualquier otro procedimiento por el aire.
Un ejemplo de un mensaje difundido por las BTS 214 en la presente invención es un comando 216 de revocación. Como se expone adicionalmente en el presente documento, el teléfono inalámbrico 100 que lleva un programa 109 de aplicación seleccionado, en respuesta a la recepción de un comando 216 de revocación, responde desinstalando el programa 109 almacenado en el teléfono inalámbrico 100. El comando 216 de revocación es construido por la fuente 222 de comandos de revocación (que puede o no ser la(s) misma(s) persona(s) o entidades que tomaron la decisión de iniciar una revocación del programa 109 de aplicación seleccionado). El comando 216 de revocación es enviado por la fuente 222 de comandos de revocación por la red 200, para ser difundido a los teléfonos inalámbricos 100 que llevan el programa 109 de aplicación seleccionado.
Otro ejemplo de un mensaje difundido por las BTS 214 es un mensaje 218 de revocación. Como se expone adicionalmente en el presente documento, un mensaje 218 de revocación es un mensaje que es enviado por la red 200, por la fuente 222 de comandos de revocación, a los teléfonos inalámbricos 100 que llevan el programa 109 de aplicación seleccionado. En respuesta al mensaje 218 de revocación, los teléfonos inalámbricos 100 se comunican automáticamente con la fuente 222 de comandos de revocación. La fuente 222 de comandos de revocación envía a los teléfonos inalámbricos 100, como mínimo, la identidad del programa 109 de aplicación seleccionado, y una instrucción para desinstalar el programa 109 de aplicación seleccionado. En respuesta a la recepción de esta información, los teléfonos inalámbricos 100 desinstalan el programa 109 de aplicación seleccionado. Alternativamente, la fuente 222 de comandos de revocación envía a los teléfonos inalámbricos 100 una instrucción para recuperar la identidad del programa 109 de aplicación seleccionado, desde otro componente de la red 200, que incluye, sin limitación, un servidor 206.
Como se muestra en la Figura 2, la red 200 incluye muchos teléfonos inalámbricos 203, cada uno de ellos capaz de comunicarse de manera inalámbrica con diversos otros componentes 200 de red mediante las BTS 214. En la presente invención, los teléfonos inalámbricos 100 identificados contienen un programa 109 de aplicación seleccionado que es revocado a través del uso de comandos 216 de revocación, o mensajes 218 de revocación, iniciados por porciones de la red 200, distintas a los mismos teléfonos inalámbricos 203. Sin embargo, en otra realización, el proceso de revocación es iniciado por los teléfonos inalámbricos 224 que llevan el programa 111 de sondeo de revocación. Este procedimiento alternativo para llevar a cabo una revocación se expone más adelante.
Funcionamiento
Además de las diversas realizaciones en hardware, anteriormente descritas, un aspecto distinto de la invención atañe a un procedimiento para construir un teléfono inalámbrico 100 que incluye un programa 110 de revocación residente en el mismo, y procedimientos para iniciar remotamente una revocación de uno o más programas 109 de aplicación seleccionados, residentes en el teléfono inalámbrico 100.
Construcción, configuración y Empleo del Teléfono Inalámbrico
La Figura 4 muestra una secuencia 400 para ilustrar un ejemplo de la construcción, configuración y empleo de un teléfono inalámbrico 100 con un programa 110 de revocación residente en el mismo. Para facilitar la explicación, pero sin ninguna limitación concebida por ello, el ejemplo de la Figura 4 se describe en el contexto del entorno de hardware descrito anteriormente.
En la etapa 402, el teléfono inalámbrico 100 es construido por un fabricante. En la etapa 404, el fabricante descarga el programa 110 de revocación en el almacenamiento 106 en el teléfono inalámbrico 100. En la etapa 404, el fabricante también descarga uno o más programas 108 de aplicación en el teléfono inalámbrico 100.
En la etapa 406, el gestor 202 de programas actualiza la base 204 de datos del gestor de programas para incluir un registro de la identificación 302 de aplicación que representa a cada programa 108 de aplicación descargado en cada teléfono inalámbrico 100 fabricado. Esta información puede provenir directamente del fabricante.
En la etapa 408, el teléfono inalámbrico 100 recibe descargas de uno o más programas 108 de aplicación por el aire. Si bien los programas 108 de aplicación están certificados por el gestor 202 de programas, los programas en sí se mantienen en la red portadora 210 (pero pueden mantenerse en cualquier ubicación en la red 200 capaz de enviar los programas 108 de aplicación a las BTS 214 para su difusión al teléfono inalámbrico 100). El usuario del teléfono inalámbrico 100 hace funcionar el teléfono inalámbrico 100 para comunicarse por la red 200 con los servidores 206, a fin de seleccionar un programa 108 de aplicación deseado. En respuesta, la red portadora 210 envía el programa 108 de aplicación al MSC 212 para que sea transferido a las BTS 214 que difunden el programa 108 de aplicación al teléfono inalámbrico 100.
En respuesta a la recepción en el teléfono inalámbrico 100 del programa 108 de aplicación, el cliente 114 de descarga en el teléfono inalámbrico 100 dirige el programa 108 de aplicación a una ubicación específica dentro del almacenamiento 106 en el teléfono inalámbrico 100, donde se almacena el programa 108 de aplicación.
También en la etapa 408, bien el servidor 206, o bien la red portadora 210, comunica la identificación 302 de aplicación, única para el programa 108 de aplicación que ha sido descargado en el teléfono inalámbrico 100, al gestor 202 de programas. El gestor 202 de programas actualiza la base 204 de datos del gestor de programas con un registro de la identificación 302 de aplicación que representa al programa 108 de aplicación adicional que ha sido descargado en el teléfono inalámbrico 100 (etapa 406).
En la etapa 409, el teléfono inalámbrico 100 actualiza su base local 112 de datos para incluir un registro de la identificación 302 de aplicación única para el programa 108 de aplicación que ha sido descargado en el teléfono inalámbrico 100. Así, los registros de las identificaciones 302 de aplicación, mantenidos en el teléfono inalámbrico 100 en la base local 112 de datos, son idénticos a los registros de las identificaciones 302 de aplicación mantenidos en el teléfono inalámbrico 100 en la base 204 de datos del gestor de programas.
En la etapa 410, el teléfono inalámbrico 100 se hace funcionar para comunicar y/o ejecutar los programas 108 de aplicación almacenados en el teléfono inalámbrico 100. Por ejemplo, el teléfono inalámbrico 100 puede hacerse funcionar para ejecutar un juego de Tetris\hat{O}, seguido por la iniciación de una llamada telefónica.
En la etapa 412, el teléfono inalámbrico 100 puede reconfigurarse a fin de almacenar programas 108 de aplicación adicionales, o un número menor de ellos. Si el teléfono inalámbrico 100 se hace funcionar para añadir programas 108 de aplicación, se repiten la etapa 408 y la actualización de las identificaciones 302 de aplicación en la etapa 406.
Por el contrario, en la etapa 414, si el teléfono inalámbrico 100 se hace funcionar para borrar uno o más programas 108 de aplicación, el teléfono inalámbrico 100 dirige al cliente 114 de descarga para localizar el programa 108 de aplicación a borrar, y desinstala el programa 108 de aplicación. Después de que el programa 108 de aplicación se ha borrado, el teléfono inalámbrico 100 actualiza automáticamente su base local 112 de datos para borrar el registro de identificación 302 de aplicación que representa al programa 108 de aplicación borrado. El teléfono inalámbrico 100 también envía automáticamente un mensaje por la red 200 al gestor 202 de programas, notificando al gestor 202 de programas sobre el programa 108 de aplicación borrado. En respuesta, el gestor 202 de programas actualiza el registro de identificaciones 302 de aplicación correspondiente a ese teléfono inalámbrico 100, mantenido en la base 204 de datos del gestor de programas (etapa 406).
En la etapa 416, a diferencia de la operación por el usuario del teléfono inalámbrico 100 para borrar un programa 108 de aplicación del teléfono inalámbrico 100, una fuente 222 de comandos de revocación decide revocar uno o más de los programas 108 de aplicación. En la etapa 418, la fuente 222 de comandos de revocación inicia el proceso de revocación, según se expone más adelante, y la secuencia 400 termina.
Comando de Revocación
La Figura 5 muestra una secuencia 500 para ilustrar un ejemplo de una fuente 222 de comandos de revocación que construye un comando 216 de revocación y que envía el comando 216 de revocación por la red 200, para ser difundido a los teléfonos inalámbricos 100 identificados como portadores del programa 109 de aplicación seleccionado, que necesita ser desinstalado o inhabilitado. Para facilitar la explicación, pero sin ninguna limitación concebida por ello, el ejemplo de la Figura 5 se describe en el contexto del entorno de hardware de las Figuras 1 a 3.
En la etapa 502, la fuente 222 de comandos de revocación determina si se satisfacen los criterios para una revocación de uno o más programas 109 de aplicación seleccionados. La fuente 222 de comandos de revocación puede comenzar una revocación en un cierto número de circunstancias, tales como: la notificación desde cualquier parte de la red 200 de que los teléfonos inalámbricos 100 en la red 200 no están funcionando correctamente, y/o que están colapsándose cuando un usuario hace funcionar el programa 109 de aplicación seleccionado; el contacto de desarrolladores del programa 109 de aplicación seleccionado con cualquier parte de la red 200 para notificarle un error en el programa 109 de aplicación seleccionado; el contacto de usuarios del teléfono inalámbrico con cualquier parte de la red 200 con quejas acerca del programa 109 de aplicación seleccionado; la recepción en cualquier parte de la red 200 de retroalimentación estadística de problemas con la interacción entre el programa 109 de aplicación seleccionado y otros programas 108 de aplicación en el teléfono inalámbrico; el descubrimiento de un virus de software en el programa 109 de aplicación seleccionado; y/o el descubrimiento de que el empleo por el usuario del programa 109 de aplicación seleccionado aumenta la magnitud de la frecuencia de radio emitida desde el teléfono inalámbrico 100, de forma tal que el funcionamiento del programa 109 de aplicación seleccionado presenta un riesgo de
seguridad.
En la etapa 502, la decisión efectiva de revocación tomada por la fuente 222 de comandos de revocación puede ser abordada por un individuo, un comité, o bien ser determinada electrónicamente, por ejemplo, a partir de la retroalimentación estadística desde los teléfonos inalámbricos 100 u otras partes de la red 200. El alcance de la revocación dependería de la naturaleza del problema, y del número de teléfonos inalámbricos 100 afectados por el problema. Por ejemplo, la revocación puede extenderse a todos los teléfonos inalámbricos 203 en la red 200, todos los teléfonos inalámbricos 100 dentro de una región geográfica específica, modelos específicos del teléfono inalámbrico 100, una gama de ESN 304, o un único teléfono inalámbrico 100.
En la etapa 504, la fuente 222 de comandos de revocación entra en contacto con el gestor 202 de programas, para obtener la identificación 302 de aplicación única que representa al programa 109 de aplicación seleccionado (suponiendo que esta información no está ya disponible para la fuente 222 de comandos de revocación). En la etapa 506, el gestor 202 de programas investiga la base 204 de datos del gestor de programas que mantiene las identificaciones 302 de aplicación que representan a cada programa 108 de aplicación almacenado en cada teléfono inalámbrico 100 en la red 200. Buscando en la base 204 de datos del gestor de programas la identificación 302 de aplicación del programa 109 de aplicación seleccionado, el gestor 202 de programas determina exactamente qué teléfonos inalámbricos 100 en la red 200 contienen el programa 109 de aplicación seleccionado, y esta información es comunicada por el gestor 202 de programas a la fuente 222 de comandos de revocación.
En la etapa 508, la fuente 222 de comandos de revocación construye un comando 216 de revocación. El comando 216 de revocación contiene, como mínimo, la identificación 302 de aplicación que representa al programa 109 de aplicación seleccionado, y una instrucción al teléfono inalámbrico 100, para desinstalar el programa 109 de aplicación seleccionado. El comando 216 de revocación está escrito como un SMS, pero puede estar en cualquier formato que pueda enviarse desde el gestor 202 de programas a las BTS 214, y difundirse por el aire a los teléfonos inalámbricos 100. Alternativamente, la fuente 222 de comandos de revocación puede enviar la información necesaria para construir el comando 216 de revocación por la red 200 a las BTS 214 que, a su vez, pueden construir el comando 216 de revocación.
En la etapa 510, después de que el comando 216 de revocación está construido y está en las BTS 214, las BTS 214 difunden el comando 216 de revocación a los teléfonos inalámbricos 100 identificados. La instrucción a difundir puede incluirse como parte del comando 216 de revocación o programarse por separado en las BTS 214. Las BTS pueden difundir el comando 216 de revocación en cualquier interfaz celular, incluyendo AMPS (Sistema Telefónico Móvil Analógico), PCS (Servicios de Comunicación Personal), GSM (Sistema Global para Comunicaciones Móviles) o CDMA (Acceso Múltiple por División de Código).
En la etapa 512, los teléfonos inalámbricos 100 reciben el comando 216 de revocación, en respuesta a lo cual, los teléfonos inalámbricos 100 desinstalan automáticamente el programa 109 de aplicación seleccionado, según lo expuesto más adelante.
Mensaje de Revocación
En lugar de construir la fuente 222 de comandos de revocación un comando 216 de revocación que contiene toda la información necesaria para que el teléfono inalámbrico 100 desinstale el programa 109 de aplicación seleccionado, alternativamente, la fuente 222 de comandos de revocación puede construir, y causar que se difunda, un mensaje 218 de revocación más limitado. El mensaje 218 de revocación es un mensaje al teléfono inalámbrico 100 que dirige al teléfono inalámbrico 100 para iniciar automáticamente comunicaciones con la fuente 222 de comandos de revocación. Estas comunicaciones son transparentes para un usuario del teléfono inalámbrico 100. La fuente 222 de comandos de revocación, a su vez, proporciona al teléfono inalámbrico 100 suficiente información para identificar el programa 109 de aplicación seleccionado a desinstalar, y una instrucción para desinstalar el programa 109 de aplicación seleccionado. La fuente 222 de comandos de revocación también puede proporcionar al teléfono inalámbrico 100 el programa 110 de revocación necesario para desinstalar el programa 109 de aplicación seleccionado. En respuesta a la recepción de la identidad del programa 109 de aplicación seleccionado (y, alternativamente, un programa 110 de revocación), el teléfono inalámbrico 100 desinstala el programa 109 de aplicación seleccionado de la manera descrita más
adelante.
Alternativamente, la fuente 222 de comandos de revocación puede enviar al teléfono inalámbrico 100 un mensaje 218 de revocación que contiene una instrucción para recuperar la información necesaria a fin de desinstalar el programa 109 de aplicación seleccionado desde otro componente de la red 200, incluyendo, sin limitación, un servidor 206. De forma transparente a un usuario del teléfono inalámbrico 100, en respuesta a este mensaje 218 de revocación, el teléfono inalámbrico 100 obtiene la identidad del programa 109 de aplicación seleccionado, una instrucción para desinstalar el programa 109 de aplicación seleccionado y, alternativamente, un programa 110 de revocación, desde otro componente de la red 200.
Sondeo para el Comando de Revocación
Como alternativa a un proceso de revocación iniciado por la fuente 222 de comandos de revocación, en otra realización, el proceso de revocación es iniciado por los mismos teléfonos inalámbricos 224. En esta realización, los teléfonos inalámbricos 224 tienen el programa 111 de sondeo de revocación descargado en los teléfonos 224. Los teléfonos inalámbricos 224 ejecutan automáticamente el programa 111 de sondeo de revocación a distintos intervalos, de forma tal que los teléfonos inalámbricos 111 estén indagando para detectar cualquier instrucción para desinstalar un programa 109 de aplicación seleccionado.
Cuando se ejecuta, el programa 111 de sondeo de revocación causa que el teléfono inalámbrico 224 envíe automáticamente un mensaje por cualquier medio aéreo a una fuente 222 de comandos de revocación. La fuente 222 de comandos de revocación es (son) la(s) persona(s), la entidad o componente de red 200 que toma la decisión de revocar uno o más programas 109 de aplicación seleccionados. Alternativamente, y sin limitación, la fuente 222 de comandos de revocación puede ser una o más personas o entidades implicadas en el desarrollo y emisión del programa 109 de aplicación seleccionado, una o más personas o entidades implicadas en la fabricación de los teléfonos inalámbricos 203, y/o la(s) persona(s) o entidades implicadas en la función de cualquier componente de la red 200, y/o cualquier componente de la red 200.
El mensaje de sondeo enviado por el teléfono inalámbrico 224 a la fuente 222 de comandos de revocación solicita que la fuente 222 de comandos de revocación envíe al teléfono inalámbrico 224 un comando 216 de revocación para desinstalar cualquier programa 109 de aplicación seleccionado. Este "sondeo" para un comando 216 de revocación puede hacerse de diversas maneras. Por ejemplo, el mensaje de sondeo enviado por el teléfono inalámbrico 224 puede incluir información de identificación acerca del teléfono inalámbrico 224, suficiente para que la fuente 222 de comandos de revocación determine qué programas 108 de aplicación están descargados en ese específico teléfono inalámbrico 224. La fuente 222 de comandos de revocación puede tomar esta determinación haciendo referencia a la base 204 de datos del gestor de programas, que contiene información acerca de cada programa 108 de aplicación descargado en cada teléfono inalámbrico 203 en la red 200. Si la fuente 222 de comandos de revocación determina que existe una coincidencia entre los programas 108 de aplicación descargados en ese específico teléfono inalámbrico 224 y el programa 109 de aplicación seleccionado, la fuente 222 de comandos de revocación puede proceder a enviar el comando 216 de revocación. Si no hay ninguna coincidencia, la fuente 222 de comandos de revocación no envía un comando 216 de revocación.
Por el contrario, la fuente 222 de comandos de revocación, en respuesta a la recepción del mensaje de sondeo desde el teléfono inalámbrico 224, puede enviar automáticamente comandos 216 de revocación existentes cualesquiera al teléfono inalámbrico 224. El teléfono inalámbrico 224, al recibir el comando 216 de revocación, determina si el programa 109 de aplicación seleccionado es residente en el teléfono inalámbrico 224. Si es así, el teléfono inalámbrico 224 procede con la desinstalación del programa 109 de aplicación seleccionado.
Igual que con las realizaciones anteriores, el comando 216 de revocación enviado en respuesta a un mensaje de sondeo contiene, como mínimo, la identificación 302 de aplicación que representa al programa 109 de aplicación seleccionado, y una instrucción al teléfono inalámbrico 224 para desinstalar ese programa. Alternativamente, el comando 216 de revocación puede instruir al teléfono inalámbrico 224 para enviar un mensaje a otro componente de la red 200 (tal como un servidor 206) a fin de obtener la información necesaria para completar la revocación. Como otra alternativa, puede implementarse una versión abreviada del comando 216 de revocación, donde el comando 216 de revocación incluye información que representa la identidad de programas 108 de aplicación cualesquiera que requieren ser desinstalados, sirviendo la mera presencia del comando de revocación en la fuente 222 de comandos de revocación como una instrucción implícita para que el teléfono ejecute el comando.
Desinstalación de un Programa de Aplicación Seleccionado
La Figura 6 muestra una secuencia 600 para ilustrar un ejemplo de la desinstalación de un programa 109 de aplicación seleccionado en el teléfono inalámbrico 100 después de que el teléfono inalámbrico 100 recibe un comando 216 de revocación, o bien recibe de otra manera la identidad de un programa 109 de aplicación seleccionado y una instrucción para desinstalar ese programa.
Para facilitar la explicación, pero sin ninguna limitación concebida por ello, el ejemplo de la Figura 6 se describe en el contexto del entorno de hardware descrito en las Figuras 1 a 3. En la etapa 602, el teléfono inalámbrico 100 recibe el comando 216 de revocación difundido desde las BTS 214 en la red 200.
En la etapa 604, en respuesta a la recepción del comando 216 de revocación (o la identidad de un programa 109 de aplicación seleccionado y una instrucción para desinstalar ese programa), el cliente 114 de descarga en el teléfono inalámbrico 100 interpreta el comando 216 de revocación para determinar la identificación 302 de aplicación que representa al programa 109 de aplicación seleccionado. El cliente 114 de descarga envía entonces el comando 216 de revocación al programa 110 de revocación instalado en el teléfono inalámbrico 100. El cliente 114 de descarga también comunica al programa 110 de revocación información que representa la ubicación del programa 109 de aplicación seleccionado en el almacenamiento 106.
En la etapa 606, el comando 216 de revocación llega al programa 110 de revocación, donde causa que el programa de revocación se ejecute y desinstale automáticamente el programa 109 de aplicación seleccionado. Alternativamente, el programa 110 de revocación puede inhabilitar el programa 109 de aplicación seleccionado, o tomar cualquier otra acción que cause que el programa 109 de aplicación seleccionado no funcione más. El programa 110 de revocación también puede programarse para borrar el comando 216 de revocación después de que la desinstalación haya sido llevada a cabo.
En la etapa 608, el teléfono inalámbrico 100 informa automáticamente de la desinstalación completada del programa 109 de aplicación seleccionado a la fuente 222 de comandos de revocación. Este informe puede ser completado por un SMS o cualquier otra forma de mensaje por el aire enviado a través de la red 200.
En la etapa 610, la fuente 222 de comandos de revocación comunica la confirmación de la desinstalación al gestor 202 de programas (esta etapa supone que la fuente 222 de comandos de revocación y el gestor 202 de programas no son la misma entidad). El gestor 202 de programas actualiza la base 204 de datos del gestor de programas para reflejar el hecho de que el teléfono inalámbrico 100 ya no contiene el programa 109 de aplicación seleccionado en forma operativa. Para hacer esto, el gestor 202 de programas borra el identificador 302 de aplicación que representa al programa 109 de aplicación seleccionado de la lista de programas 108 de aplicación descargados en ese específico teléfono inalámbrico 100.
En la etapa 612, el teléfono inalámbrico 100, optativamente, informa automáticamente al usuario del teléfono inalámbrico 100 de que el programa 109 de aplicación seleccionado ya no está operativo y/o de que ha sido desinstalado. La forma y el texto de este informe pueden incluirse en el comando 216 de revocación, y el programa 110 de revocación en el teléfono inalámbrico 100 puede programarse para causar que el teléfono inalámbrico 100 entregue el informe al usuario, en respuesta a una instrucción en el comando 216 de revocación. El informe puede contener la(s)
razón(es) detrás de la revocación. El informe también puede dirigir al usuario del teléfono inalámbrico 100 a un departamento de servicio al cliente, o a terceros cualesquiera, para obtener información con respecto a la revocación.
Medio/Circuitos Portadores de Señal
Como se ha expuesto anteriormente, la invención atañe a procedimientos que incluyen la desinstalación iniciada en red de uno o más programas 109 de aplicación seleccionados, residentes en un teléfono inalámbrico 100, y la construcción de un teléfono inalámbrico 100 que incluye un programa 110 de revocación residente en el mismo. La invención también atañe a procedimientos para que un teléfono inalámbrico 224 sondee la red 200 a fin de obtener comandos 216 de revocación, para desinstalar un programa 109 de aplicación seleccionado, y a la construcción de un teléfono inalámbrico 224 con un programa 111 de sondeo de revocación residente en el mismo.
En el contexto de las Figuras 1 a 3, estos procedimientos pueden ser implementados, por ejemplo, haciendo funcionar una o más porciones operativas de la red 200 a fin de ejecutar una secuencia de instrucciones legibles por máquina. Estas instrucciones pueden residir en diversos tipos de medios portadores de señales. Estos medios portadores de señales pueden comprender, por ejemplo, memoria RAM (no mostrada) accesible por, o residente dentro de, los componentes de la red 200. Alternativamente, las instrucciones pueden estar contenidas en otro medio portador de señales, tal como un disquete de almacenamiento de datos magnéticos (no mostrado). Ya sea contenidas en memoria RAM, en un disquete, o en otra parte, las instrucciones pueden almacenarse en una gran variedad de medios de almacenamiento de datos legibles por máquina, tal como un almacenamiento en DASD (Dispositivo de Almacenamiento de Acceso Directo) (p. ej., un "disco rígido" convencional o una formación de discos RAID), una cinta magnética, una memoria electrónica de sólo lectura (p. ej., ROM, EPROM, o EEPROM), un dispositivo de almacenamiento óptico (p. ej., CD-ROM, WORM, DVD, cinta óptica digital), tarjetas "perforadas" de papel, u otro medio adecuado portador de señal, incluyendo medios de transmisión tales como los digitales y analógicos.
En cuanto a los teléfonos inalámbricos 203, los procedimientos expuestos en el presente documento pueden implementarse con cualquier tipo de circuitos, microprocesadores u otros tipos de hardware, en el teléfono inalámbrico 203.
Otras realizaciones
Si bien la revelación precedente muestra realizaciones ilustrativas de la invención, será evidente a aquellos versados en la tecnología que pueden hacerse diversos cambios y modificaciones en el presente documento sin apartarse del alcance de la invención, según lo definido por las reivindicaciones adjuntas. Además, aunque los elementos de la invención pueden describirse o reivindicarse en singular, se contempla el plural, a menos que la limitación al singular se establezca explícitamente.

Claims (23)

1. Un procedimiento para revocar remotamente uno o más programas de aplicación residentes en un módulo remoto (100), que comprende las operaciones de:
identificar un programa (109) de aplicación como un programa de aplicación defectuoso, para el cual es necesaria una revocación como programa de aplicación seleccionado;
identificar módulos remotos con el programa de aplicación seleccionado instalado en los mismos, buscando en una base (204) de datos que contiene un registro de identificadores (302) de aplicación que representan a cada programa de aplicación descargado en cualquier momento en cada módulo remoto en una red (200);
construir un comando (216) de revocación iniciado en red que comprende un identificador de aplicación único para el programa de aplicación seleccionado, y una instrucción a los módulos remotos identificados, para desinstalar el programa de aplicación seleccionado al recibir el comando de revocación; y
enviar el comando (216) de revocación a los módulos remotos identificados mediante una o más redes inalámbricas.
2. El procedimiento de la reivindicación 1, que comprende adicionalmente:
desinstalar automáticamente por el módulo remoto (100), el programa (109) de aplicación seleccionado, en respuesta al comando (216) de revocación.
3. El procedimiento de cualquier reivindicación precedente, que comprende adicionalmente la etapa de:
Enviar por el módulo remoto (100) uno o más mensajes de sondeo a una fuente (222) de comandos de revocación, solicitando a la fuente (222) de comandos de revocación transmitir el comando (216) de revocación.
4. El procedimiento de cualquier reivindicación precedente, que comprende adicionalmente la etapa de:
remitirse a una base (112) local de datos a fin de determinar si el programa de aplicación seleccionado está almacenado en el módulo remoto; y
desinstalar, inhabilitar o enmendar los programas de aplicación determinados como almacenados en el módulo remoto.
5. Aparato para revocar remotamente uno o más programas de aplicación residentes en un módulo remoto (100), comprendiendo el aparato:
medios (222) para identificar un programa (109) de aplicación como un programa de aplicación defectuoso, para el cual es necesaria una revocación como un programa de aplicación seleccionado;
medios (202) para identificar módulos remotos, comprendiendo el programa de aplicación seleccionado instalado en los mismos medios para buscar una base (204) de datos que contenga un registro de identificadores (302) de aplicación que representan a cada programa de aplicación descargado en cualquier momento en cada módulo remoto en una red (200);
medios (222) para construir un comando (216) de revocación iniciado en red, que comprende un identificador de aplicación único para el programa de aplicación seleccionado y una instrucción a los módulos remotos identificados, para desinstalar el programa de aplicación seleccionado al recibir el comando de revocación; y
medios (222) para enviar el comando (216) de revocación a los módulos remotos identificados mediante una o más redes inalámbricas.
6. Un sistema que comprende el aparato de la reivindicación 5 y un módulo remoto (100), comprendiendo el módulo remoto:
circuitos de módulo remoto, que incluyen almacenamiento (106);
circuitos de procesamiento; y
medios para instalar un programa (110) de revocación en el almacenamiento (106), comprendiendo el programa (110) de revocación un programa de instrucciones legibles por máquina ejecutables por los circuitos de procesamiento a fin de realizar operaciones para desinstalar automáticamente uno o más programas de aplicación contenidos en el almacenamiento (106), en respuesta a la detección por el módulo remoto (100) de un comando (216) de revocación remoto,
caracterizado por:
medios para desinstalar automáticamente uno o más programas de aplicación contenidos en el almacenamiento (106), sensibles a la detección por el módulo remoto de un comando (216) de revocación remoto.
7. El sistema de la reivindicación 6, comprendiendo adicionalmente el módulo remoto:
medios para descargar uno o más programas de aplicación en el almacenamiento.
8. El sistema de la reivindicación 6 o la reivindicación 7, comprendiendo adicionalmente el módulo remoto:
medios para descargar inalámbricamente el programa (110) de revocación desde un servidor remoto (206).
9. El sistema de cualquiera de las reivindicaciones 6 a 8, en el cual:
el comando (216) de revocación identifica al menos un programa (109) de aplicación y contiene instrucciones para desinstalar el programa (109) de aplicación identificado.
10. El sistema de cualquiera de las reivindicaciones 6 a 9, comprendiendo adicionalmente el módulo remoto:
medios para recibir un mensaje (218) de revocación que contiene instrucciones para obtener el comando (216) de revocación de una fuente (222) de comandos de revocación, y medios para obtener el comando (216) de revocación de la fuente (222) de comandos de revocación.
11. El sistema de cualquiera de las reivindicaciones 6 a 10, siendo los programas de aplicación identificados residentes en el módulo remoto (100).
12. El sistema de cualquiera de las reivindicaciones 6 a 11, comprendiendo adicionalmente el módulo remoto:
medios para remitirse a una base (112) local de datos a fin de determinar si el programa de aplicación identificado reside en el almacenamiento (106).
13. El sistema de cualquiera de las reivindicaciones 6 a 12, comprendiendo los circuitos de procesamiento circuitos integrados específicos para la aplicación.
14. El sistema de cualquiera de las reivindicaciones 6 a 13, comprendiendo adicionalmente el módulo remoto:
un cliente (114) de descarga configurado para descargar uno o más programas de aplicación al almacenamiento (106).
15. El sistema de cualquiera de las reivindicaciones 6 a 14, comprendiendo adicionalmente el módulo remoto:
medios para enviar uno o más mensajes de sondeo a una fuente (222) de comandos de revocación, solicitando a la fuente (222) de comandos de revocación la transmisión del comando (216) de revocación.
16. El procedimiento de cualquiera de las reivindicaciones 1 a 4, que comprende adicionalmente:
instalar un programa (110) de revocación en un almacenamiento (106) de un módulo remoto, comprendiendo el programa (110) de revocación un programa de instrucciones legibles por máquina, ejecutable por los circuitos de procesamiento para llevar a cabo operaciones a fin de desinstalar automáticamente uno o más programas de aplicación contenidos en el almacenamiento (106), sensible a la detección por el módulo remoto (100) de un comando (216) de revocación remoto,
caracterizado por:
desinstalar automáticamente uno o más programas de aplicación contenidos en el almacenamiento (106), en respuesta a la detección por el módulo remoto de un comando (216) de revocación remoto.
17. El procedimiento de la reivindicación 16, que comprende adicionalmente la etapa de descargar uno o más programas de aplicación en el almacenamiento.
18. El procedimiento de la reivindicación 16 o la reivindicación 17, que comprende adicionalmente la etapa de descargar inalámbricamente el programa (110) de revocación desde un servidor remoto (206).
19. El procedimiento de cualquiera de las reivindicaciones 16 a 18, en el cual:
el comando (216) de revocación identifica al menos un programa (109) de aplicación y contiene instrucciones para desinstalar el programa (109) de aplicación identificado.
20. El procedimiento de cualquiera de las reivindicaciones 16 a 19, que comprende adicionalmente las etapas de:
recibir un mensaje (218) de revocación que contiene instrucciones para obtener el comando (216) de revocación de una fuente (222) de comandos de revocación, y
obtener el comando (216) de revocación desde la fuente (222) de comandos de revocación.
21. El procedimiento de cualquiera de las reivindicaciones 16 a 20, que comprende adicionalmente la etapa de:
remitirse a una base local (112) de datos a fin de determinar si el programa de aplicación identificado reside en el almacenamiento (106).
22. El procedimiento de cualquiera de las reivindicaciones 16 a 21, que comprende adicionalmente la etapa de:
enviar uno o más mensajes de sondeo a una fuente (222) de comandos de revocación, solicitando a la fuente (222) de comandos de revocación la transmisión del comando (216) de revocación.
23. Un programa de ordenador que comprende instrucciones legibles por máquina para causar que un ordenador realice el procedimiento de cualquiera de las Reivindicaciones 1 a 4 o 16 a 22.
ES02723733T 2001-04-03 2002-04-02 Procedimiento y aparato para la desinstalacion iniciada por red de un programa de aplicacion en una red inalambrica. Expired - Lifetime ES2343567T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US825588 1986-02-03
US09/825,588 US7734285B2 (en) 2001-04-03 2001-04-03 Method and apparatus for network initiated uninstallation of application program over wireless network

Publications (1)

Publication Number Publication Date
ES2343567T3 true ES2343567T3 (es) 2010-08-04

Family

ID=25244389

Family Applications (1)

Application Number Title Priority Date Filing Date
ES02723733T Expired - Lifetime ES2343567T3 (es) 2001-04-03 2002-04-02 Procedimiento y aparato para la desinstalacion iniciada por red de un programa de aplicacion en una red inalambrica.

Country Status (18)

Country Link
US (2) US7734285B2 (es)
EP (3) EP2312440A1 (es)
JP (5) JP2005505154A (es)
KR (1) KR100897234B1 (es)
CN (2) CN1578944B (es)
AR (1) AR033099A1 (es)
AT (1) ATE466333T1 (es)
BR (1) BR0208631A (es)
CA (1) CA2443047C (es)
DE (1) DE60236151D1 (es)
ES (1) ES2343567T3 (es)
IL (2) IL158191A0 (es)
MX (1) MXPA03009080A (es)
NZ (1) NZ528615A (es)
PE (1) PE20021118A1 (es)
RU (1) RU2437143C2 (es)
TW (1) TW561775B (es)
WO (1) WO2002082265A2 (es)

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734285B2 (en) * 2001-04-03 2010-06-08 Qualcomm Incorporated Method and apparatus for network initiated uninstallation of application program over wireless network
US7039033B2 (en) * 2001-05-07 2006-05-02 Ixi Mobile (Israel) Ltd. System, device and computer readable medium for providing a managed wireless network using short-range radio signals
US7027806B2 (en) * 2001-07-26 2006-04-11 Kyocera Wireless, Corp. System and method for field downloading a wireless communications device software code section
US7328007B2 (en) * 2001-07-26 2008-02-05 Kyocera Wireless Corp. System and method for organizing wireless communication device system software
US7184793B2 (en) * 2001-07-26 2007-02-27 Kyocera Wireless Corp. System and method for over the air area code update
US9554268B2 (en) 2001-07-26 2017-01-24 Kyocera Corporation System and method for updating persistent data in a wireless communications device
US7143407B2 (en) * 2001-07-26 2006-11-28 Kyocera Wireless Corp. System and method for executing wireless communications device dynamic instruction sets
US7184759B2 (en) * 2001-07-26 2007-02-27 Kyocera Wireless Corp. Modular software components for wireless communication devices
US7200389B2 (en) 2001-07-26 2007-04-03 Kyocera Wireless Corp. Dynamic interface software for wireless communication devices
US7386846B2 (en) 2001-07-26 2008-06-10 Kyocera Wireless Corp. System and method for the management of wireless communications device system software downloads in the field
US7159214B2 (en) 2001-07-26 2007-01-02 Kyocera Wireless Corp. System and method for compacting field upgradeable wireless communication device software code sections
US7197302B2 (en) * 2001-07-26 2007-03-27 Kyocera Wireless Corp. System and method for interchangeable modular hardware components for wireless communication devices
US6961537B2 (en) * 2001-08-10 2005-11-01 Kyocera Wireless Corp. System and method for peer-to-peer handset communication
US7254386B2 (en) 2001-08-10 2007-08-07 Kyocera Wireless Corp. System and method for improved security in handset reprovisioning and reprogramming
US20050030917A1 (en) * 2001-08-17 2005-02-10 Amit Haller Device, system, method and computer readable medium obtaining a network attribute, such as a DNS address, for a short distance wireless network
US7295532B2 (en) * 2001-08-17 2007-11-13 Ixi Mobile (R & D), Ltd. System, device and computer readable medium for providing networking services on a mobile device
US20040081129A1 (en) * 2001-08-17 2004-04-29 Amit Haller Device, system, method and computer readable medium for selectively attaching to a cellular data service
US7016334B2 (en) * 2001-08-17 2006-03-21 Ixi Mobile ( Israel) Ltd. Device, system, method and computer readable medium for fast recovery of IP address change
US20040125762A1 (en) * 2001-08-17 2004-07-01 Amit Haller Device, system, method and computer readable medium for attaching to a device identifited by an access point name in a wide area network providing particular services
US20030059049A1 (en) * 2001-09-24 2003-03-27 Mihm Thomas J. Method and apparatus for secure mobile transaction
US6957045B2 (en) * 2001-10-26 2005-10-18 Ixi Mobile (Israel) Ltd. Device, system, computer readable medium and method for providing status information of devices in a short distance wireless network
US6845097B2 (en) * 2001-11-21 2005-01-18 Ixi Mobile (Israel) Ltd. Device, system, method and computer readable medium for pairing of devices in a short distance wireless network
US7016648B2 (en) * 2001-12-18 2006-03-21 Ixi Mobile (Israel) Ltd. Method, system and computer readable medium for downloading a software component to a device in a short distance wireless network
US7013112B2 (en) * 2001-12-18 2006-03-14 Ixi Mobile (Israel) Ltd. Method, system and computer readable medium for making a business decision in response to information from a short distance wireless network
US7080405B2 (en) * 2002-01-16 2006-07-18 International Business Machines Corporation Limiting device function
US6909878B2 (en) * 2002-08-20 2005-06-21 Ixi Mobile (Israel) Ltd. Method, system and computer readable medium for providing an output signal having a theme to a device in a short distance wireless network
US7356571B2 (en) * 2002-10-07 2008-04-08 Ixi Mobile (R&D), Ltd. System, method and processor readable medium for downloading information within a predetermined period of time to a device in a network responsive to price selection
US7072672B1 (en) * 2002-11-01 2006-07-04 Nokia Corporation Disposable mini-applications
US7167680B2 (en) * 2003-02-05 2007-01-23 Ixi Mobile (Israel) Ltd. Method, system and computer readable medium for adjusting output signals for a plurality of devices in a short distance wireless network responsive to a selected environment
US20040259585A1 (en) * 2003-06-04 2004-12-23 Avi Yitzchak Wireless device having dual bus archeticure for interfacing with cellular signals and short-range radio signals
US7409208B1 (en) 2003-07-02 2008-08-05 Cellco Partnership Self-subscription to catalogs of mobile application software
US7366901B2 (en) * 2003-08-01 2008-04-29 Ixi Mobile (R&D), Ltd. Device, system, method and computer readable medium for identifying and authenticating a cellular device using a short-range radio address
JP5323028B2 (ja) * 2003-09-30 2013-10-23 株式会社富士通ソーシアルサイエンスラボラトリ コンピュータシステム管理のプログラム,コンピュータ及び各コンピュータにおける管理方法
WO2005115036A1 (en) * 2004-05-18 2005-12-01 Kyocera Wireless Corp. Modular data components for wireless communication devices
AU2008200175B2 (en) * 2004-05-18 2009-04-02 Kyocera Corporation System and method for interchangeable modular hardware components for wireless communication devices
US20060068765A1 (en) * 2004-09-30 2006-03-30 Motorola, Inc. Method and system of updating a function value on a subscriber unit and a network
US20070006223A1 (en) * 2005-04-18 2007-01-04 Research In Motion Limited System and method for visual design of resource management references
US8225231B2 (en) 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
US7689205B2 (en) * 2005-12-23 2010-03-30 Morgan Stanley Systems and methods for configuration of mobile computing devices
US8290433B2 (en) * 2007-11-14 2012-10-16 Blaze Mobile, Inc. Method and system for securing transactions made through a mobile communication device
US20080233918A1 (en) * 2006-09-25 2008-09-25 Sms.Ac Content owner verification and digital rights management for automated distribution and billing platforms
US20090172528A1 (en) * 2007-12-31 2009-07-02 Ramprasad S System and method for dynamically presenting a software system landscape
US9110685B2 (en) * 2008-03-25 2015-08-18 Qualcomm, Incorporated Apparatus and methods for managing widgets in a wireless communication environment
US9269059B2 (en) * 2008-03-25 2016-02-23 Qualcomm Incorporated Apparatus and methods for transport optimization for widget content delivery
US9747141B2 (en) * 2008-03-25 2017-08-29 Qualcomm Incorporated Apparatus and methods for widget intercommunication in a wireless communication environment
US9069575B2 (en) 2008-03-25 2015-06-30 Qualcomm Incorporated Apparatus and methods for widget-related memory management
US9600261B2 (en) * 2008-03-25 2017-03-21 Qualcomm Incorporated Apparatus and methods for widget update scheduling
US8775943B2 (en) * 2008-04-01 2014-07-08 Samsung Electronics Co., Ltd. System and method for remote application configuration management on multifunction peripherals
US8086275B2 (en) 2008-10-23 2011-12-27 Microsoft Corporation Alternative inputs of a mobile communications device
US8411046B2 (en) 2008-10-23 2013-04-02 Microsoft Corporation Column organization of content
US8385952B2 (en) 2008-10-23 2013-02-26 Microsoft Corporation Mobile communications device user interface
US8175653B2 (en) 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
US8355698B2 (en) 2009-03-30 2013-01-15 Microsoft Corporation Unlock screen
US8238876B2 (en) 2009-03-30 2012-08-07 Microsoft Corporation Notifications
US8433296B2 (en) 2009-05-01 2013-04-30 Ryan Hardin Exclusive delivery of content within geographic areas
US8269736B2 (en) 2009-05-22 2012-09-18 Microsoft Corporation Drop target gestures
US8836648B2 (en) 2009-05-27 2014-09-16 Microsoft Corporation Touch pull-in gesture
US8522343B2 (en) * 2009-12-21 2013-08-27 Palm, Inc. Removing an active application from a remote device
US20120159383A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Customization of an immersive environment
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US9423951B2 (en) 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
JP5632315B2 (ja) * 2011-03-17 2014-11-26 株式会社オプティム 端末のリモート操作システム、リモート操作方法
US9383917B2 (en) 2011-03-28 2016-07-05 Microsoft Technology Licensing, Llc Predictive tiling
CN102752744A (zh) * 2011-04-19 2012-10-24 腾讯科技(深圳)有限公司 用于移动终端的问题解决方法和装置
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US20120304132A1 (en) 2011-05-27 2012-11-29 Chaitanya Dev Sareen Switching back to a previously-interacted-with application
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US8687023B2 (en) 2011-08-02 2014-04-01 Microsoft Corporation Cross-slide gesture to select and rearrange
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US8701125B2 (en) * 2011-09-06 2014-04-15 The Nielsen Company (Us), Llc Methods and apparatus to detect uninstallation of an on-device meter
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US8933952B2 (en) 2011-09-10 2015-01-13 Microsoft Corporation Pre-rendering new content for an application-selectable user interface
US9244802B2 (en) 2011-09-10 2016-01-26 Microsoft Technology Licensing, Llc Resource user interface
US9223472B2 (en) 2011-12-22 2015-12-29 Microsoft Technology Licensing, Llc Closing applications
US9128605B2 (en) 2012-02-16 2015-09-08 Microsoft Technology Licensing, Llc Thumbnail-image selection of applications
US20130339937A1 (en) * 2012-06-14 2013-12-19 Avaya Inc. Dynamic application management
US9275218B1 (en) 2012-09-12 2016-03-01 Emc Corporation Methods and apparatus for verification of a user at a first device based on input received from a second device
US9280645B1 (en) 2012-11-15 2016-03-08 Emc Corporation Local and remote verification
US9294474B1 (en) 2012-11-15 2016-03-22 Emc Corporation Verification based on input comprising captured images, captured audio and tracked eye movement
US9323911B1 (en) 2012-11-15 2016-04-26 Emc Corporation Verifying requests to remove applications from a device
US9450952B2 (en) 2013-05-29 2016-09-20 Microsoft Technology Licensing, Llc Live tiles without application-code execution
JP6065791B2 (ja) * 2013-09-13 2017-01-25 富士通株式会社 制御プログラム及び情報処理端末
CN104346261B (zh) * 2014-03-27 2018-12-11 腾讯科技(深圳)有限公司 一种应用程序的卸载提示方法和装置
CN105359094A (zh) 2014-04-04 2016-02-24 微软技术许可有限责任公司 可扩展应用表示
CN105359055A (zh) 2014-04-10 2016-02-24 微软技术许可有限责任公司 计算设备的滑盖
WO2015154273A1 (en) 2014-04-10 2015-10-15 Microsoft Technology Licensing, Llc Collapsible shell cover for computing device
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10642365B2 (en) 2014-09-09 2020-05-05 Microsoft Technology Licensing, Llc Parametric inertia and APIs
US9674335B2 (en) 2014-10-30 2017-06-06 Microsoft Technology Licensing, Llc Multi-configuration input device
US10802811B2 (en) 2015-04-14 2020-10-13 Sony Corporation Information processing device, information processing method, computer program, and server device
CN106648714B (zh) * 2015-10-28 2019-12-24 北京国双科技有限公司 应用程序卸载信息的分析方法及装置
US9942691B2 (en) * 2016-06-24 2018-04-10 Paypal, Inc. System configurations to determine user data associated with mobile applications
US10698672B1 (en) 2016-10-07 2020-06-30 Wells Fargo Bank, N.A. Universal installer and uninstaller
CN107666665A (zh) * 2017-10-27 2018-02-06 维沃移动通信有限公司 一种应用程序的下载方法和装置
US10756795B2 (en) 2018-12-18 2020-08-25 XCOM Labs, Inc. User equipment with cellular link and peer-to-peer link
US11063645B2 (en) 2018-12-18 2021-07-13 XCOM Labs, Inc. Methods of wirelessly communicating with a group of devices
US11330649B2 (en) 2019-01-25 2022-05-10 XCOM Labs, Inc. Methods and systems of multi-link peer-to-peer communications
US10756767B1 (en) 2019-02-05 2020-08-25 XCOM Labs, Inc. User equipment for wirelessly communicating cellular signal with another user equipment

Family Cites Families (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
EP0463251A1 (en) * 1990-06-28 1992-01-02 International Business Machines Corporation Software installation
US5297191A (en) * 1990-09-28 1994-03-22 At&T Bell Laboratories Method and apparatus for remotely programming a wireless telephone set
CA2059845C (en) * 1991-01-30 1997-05-06 Stefan G. Littig Universal radio with adaptive memory
GB2269032B (en) * 1992-07-21 1996-03-20 Orbitel Mobile Communications Reprogramming methods and apparatus
US5805897A (en) * 1992-07-31 1998-09-08 International Business Machines Corporation System and method for remote software configuration and distribution
EP0592079A2 (en) * 1992-09-20 1994-04-13 Sun Microsystems, Inc. Automated software installation and operating environment configuration on a computer system
US5442553A (en) * 1992-11-16 1995-08-15 Motorola Wireless motor vehicle diagnostic and software upgrade system
DE59309391D1 (de) * 1993-01-18 1999-04-01 Siemens Ag Realzeit-Steuerungssystem
US5860012A (en) * 1993-09-30 1999-01-12 Intel Corporation Installation of application software through a network from a source computer system on to a target computer system
JP3187624B2 (ja) * 1993-11-19 2001-07-11 京セラミタ株式会社 通信機能を備えた機器の内蔵プログラム更新方法
US5553314A (en) * 1994-04-12 1996-09-03 Motorola, Inc. Method of configuring a communication unit using a wireless portable configuration device
JPH08106393A (ja) 1994-10-06 1996-04-23 Matsushita Electric Ind Co Ltd 携帯端末システム
US5675630A (en) * 1995-03-01 1997-10-07 International Business Machines Corporation Method for associating phone books with cellular NAMs
DE19520947C5 (de) * 1995-06-02 2012-04-05 Constin Design Gmbh Tragbarer Computer mit Telekommunikationseinrichtung
US5764992A (en) * 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement
US5689825A (en) * 1995-07-28 1997-11-18 Motorola, Inc. Method and apparatus for downloading updated software to portable wireless communication units
US5896566A (en) * 1995-07-28 1999-04-20 Motorola, Inc. Method for indicating availability of updated software to portable wireless communication units
KR100459753B1 (ko) * 1995-10-10 2005-05-16 퀄컴 인코포레이티드 Ota서비스프로그래밍용시스템및방법
US5790800A (en) * 1995-10-13 1998-08-04 Digital Equipment Corporation Client application program mobilizer
FI955188L (fi) * 1995-10-30 1997-06-24 Nokia Telecommunications Oy Matkaviestimen ohjelmiston ylläpito
KR100286008B1 (ko) * 1995-12-30 2001-04-16 윤종용 소프트웨어 프로그램 자동 갱신방법
US5794142A (en) * 1996-01-29 1998-08-11 Nokia Mobile Phones Limited Mobile terminal having network services activation through the use of point-to-point short message service
FI102869B1 (fi) 1996-02-26 1999-02-26 Nokia Mobile Phones Ltd Laite, menetelmä ja järjestelmä eri sovelluksiin liittyvien tietojen lähettämiseksi ja vastaanottamiseksi
US5768566A (en) * 1996-03-01 1998-06-16 Microsoft Corporation Method and facility for uninstalling a computer program package
US5915225A (en) * 1996-03-28 1999-06-22 Ericsson Inc. Remotely retrieving SIM stored data over a connection-less communications link
US5881236A (en) * 1996-04-26 1999-03-09 Hewlett-Packard Company System for installation of software on a remote computer system over a network using checksums and password protection
US5940074A (en) * 1996-06-03 1999-08-17 Webtv Networks, Inc. Remote upgrade of software over a network
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US6367075B1 (en) * 1996-07-24 2002-04-02 Marimba, Inc. Method and apparatus for producing instructions describing the removal of updates to a computer system
US6308061B1 (en) * 1996-08-07 2001-10-23 Telxon Corporation Wireless software upgrades with version control
US5848064A (en) * 1996-08-07 1998-12-08 Telxon Corporation Wireless software upgrades with version control
US6643506B1 (en) * 1996-08-07 2003-11-04 Telxon Corporation Wireless software upgrades with version control
US5862474A (en) * 1996-08-08 1999-01-19 Qualcomm Incorporated Programmable wireless modem
US6317593B1 (en) * 1996-08-12 2001-11-13 Gateway, Inc. Intelligent cellular telephone function
US6009274A (en) * 1996-12-13 1999-12-28 3Com Corporation Method and apparatus for automatically updating software components on end systems over a network
US5953532A (en) * 1997-01-03 1999-09-14 Ncr Corporation Installation and deinstallation of application programs
US5875327A (en) * 1997-02-18 1999-02-23 International Business Machines Corporation Hierarchy of preferences and preference groups
US6223028B1 (en) * 1997-03-17 2001-04-24 Nortel Networks Ltd Enhanced method and system for programming a mobile telephone over the air within a mobile telephone communication network
US5950130A (en) * 1997-03-18 1999-09-07 Sbc Technology Resources, Inc. Mobile station with intelligent roaming and over-the-air programming features
US5974312A (en) * 1997-07-10 1999-10-26 Ericsson Inc. System and method for updating a memory in an electronic device via wireless data transfer
US6684397B1 (en) * 1997-09-08 2004-01-27 Novell, Inc. Auto-install apparatus and method
US6496979B1 (en) * 1997-10-24 2002-12-17 Microsoft Corporation System and method for managing application installation for a mobile device
JPH11194929A (ja) 1997-12-26 1999-07-21 Nec Corp クライアント・サーバ型システムにおけるクライアント側プログラム管理方式
KR100315641B1 (ko) * 1999-03-03 2001-12-12 서평원 오티에이피에이를 위한 단말기와 시스템의 상호 인증 방법
US6148197A (en) * 1998-03-06 2000-11-14 Sbc Technology Resources, Inc. Intelligent roaming system with over the air programming
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
JPH11298959A (ja) 1998-04-09 1999-10-29 Nec Commun Syst Ltd 移動電話システム
US6339826B2 (en) * 1998-05-05 2002-01-15 International Business Machines Corp. Client-server system for maintaining a user desktop consistent with server application user access permissions
US6587684B1 (en) * 1998-07-28 2003-07-01 Bell Atlantic Nynex Mobile Digital wireless telephone system for downloading software to a digital telephone using wireless data link protocol
US6256493B1 (en) * 1998-07-31 2001-07-03 Motorola, Inc. Selective call receiver and method for programming a selective call receiver
JP2000076160A (ja) 1998-08-31 2000-03-14 Ando Electric Co Ltd 通信監視装置
US6237144B1 (en) * 1998-09-21 2001-05-22 Microsoft Corporation Use of relational databases for software installation
US6378128B1 (en) * 1998-10-08 2002-04-23 Microsoft Corporation System and method for dynamically modifying an install-set
US6289512B1 (en) * 1998-12-03 2001-09-11 International Business Machines Corporation Automatic program installation
FI990461A7 (fi) * 1999-03-03 2000-10-20 Nokia Corp Menetelmä ohjelmiston lataamiseksi palvelimelta päätelaitteeseen
US6374401B1 (en) * 1999-03-29 2002-04-16 International Business Machines Corporation System, method, and program for updating registry objects with a cross-platform installation program
GB2349044A (en) * 1999-04-16 2000-10-18 Emisis Infocom Group Plc Transfer of data to a PDA
US6886017B1 (en) * 1999-04-30 2005-04-26 Elata Limited System and method for managing distribution of content to a device
GB9910164D0 (en) * 1999-04-30 1999-06-30 Hugh Symons Group Plc The distributed management of network devices
SE516806C2 (sv) * 1999-05-26 2002-03-05 Ericsson Telefon Ab L M Sätt för inladdning av programvara i en radioterminal, såsom en mobiltelefon, och tillhörande radioterminal
ATE294480T1 (de) * 1999-06-11 2005-05-15 Microsoft Corp Allgemeines api zur gerätefernsteuerung
US6453469B1 (en) * 1999-06-18 2002-09-17 Phoenix Technologies Ltd. Method and apparatus to automatically deinstall an application module when not functioning
US6301484B1 (en) * 1999-08-31 2001-10-09 Qualcomm Incorporated Method and apparatus for remote activation of wireless device features using short message services (SMS)
JP3669619B2 (ja) * 1999-09-06 2005-07-13 富士通株式会社 無線端末装置のソフトウェア更新方法及びその装置
US6633758B1 (en) * 1999-11-16 2003-10-14 Nokia Corporation Methods and devices for operational modes in communication devices being modified with application specific parameters and operational modes automatically launching applications or commands
US6553223B1 (en) * 1999-12-30 2003-04-22 Qualcomm Incorporated Virtual device architecture for mobile telephones
US6484025B1 (en) * 2000-01-07 2002-11-19 Conexant Systems, Inc. Method and apparatus for establishing compatibility between cordless telephone applications and physical hardware of the cordless telephone
US6493549B1 (en) * 2000-02-10 2002-12-10 Lucent Technologies Inc. Over the air parameter administration for mobile telecommunications stations
BRPI0108312B1 (pt) * 2000-02-14 2016-11-16 Google Technology Holdings LLC aparelho para comunicação de mensagens de bate-papo e método para o mesmo
GB0003313D0 (en) * 2000-02-15 2000-04-05 Koninkl Philips Electronics Nv Software reconfiguration of communications apparatus
US6714992B1 (en) 2000-02-25 2004-03-30 Navic Systems, Inc. Method and system for embedded network device installation
US6622017B1 (en) * 2000-02-25 2003-09-16 Cellco Parntership Over-the-air programming of wireless terminal features
US6615038B1 (en) * 2000-04-28 2003-09-02 Samsung Electronics Co., Ltd. System and method for automatically creating and updating a mobile station configuration database in a wireless network
US6549770B1 (en) * 2000-05-26 2003-04-15 Cellco Partnership Over the air programming and/or service activation
US6687496B1 (en) * 2000-08-02 2004-02-03 Intel Corporation Memory programming method and system
JP2002049434A (ja) * 2000-08-04 2002-02-15 Sharp Corp アプリケーションの管理方法、ネットワーク管理センター、端末、アプリケーション管理システム、およびアプリケーションの管理プログラムを格納したコンピュータ読み取り可能な記録媒体
US6591098B1 (en) * 2000-11-07 2003-07-08 At&T Wireless Services, Inc. System and method for using a temporary electronic serial number for over-the-air activation of a mobile device
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
US20030182414A1 (en) * 2003-05-13 2003-09-25 O'neill Patrick J. System and method for updating and distributing information
JP2004530958A (ja) 2000-11-28 2004-10-07 フォースパス インコーポレイテッド 無線アプリケーションを保持および配信する方法およびシステム
US20020067504A1 (en) * 2000-12-06 2002-06-06 Xerox Corporation Method and apparatus for automatic upgrade of a product's printer driver
US7024187B2 (en) * 2000-12-08 2006-04-04 Samsung Electronics Co., Ltd. System and method for performing diagnostics on a mobile station using over-the-air transfer of interpreted byte-code program
US6965928B1 (en) * 2001-03-09 2005-11-15 Networks Associates Technology, Inc. System and method for remote maintenance of handheld computers
US7734285B2 (en) * 2001-04-03 2010-06-08 Qualcomm Incorporated Method and apparatus for network initiated uninstallation of application program over wireless network
US7123933B2 (en) * 2001-05-31 2006-10-17 Orative Corporation System and method for remote application management of a wireless device
US20020193101A1 (en) * 2001-06-15 2002-12-19 Mcalinden Paul Configuring a portable device
US7143407B2 (en) * 2001-07-26 2006-11-28 Kyocera Wireless Corp. System and method for executing wireless communications device dynamic instruction sets
US20030186689A1 (en) * 2001-08-06 2003-10-02 Samsung Electronics Co., Ltd System and method for IOTA software download notification for wireless communication devices
BR0211915A (pt) * 2001-08-15 2004-09-28 Qualcomm Inc Execução de aplicação habilitada para teste
US20030078036A1 (en) * 2001-10-19 2003-04-24 Yuan-Jung Chang Device and method for automatically installing software by wireless identification
US7035920B2 (en) * 2001-10-30 2006-04-25 Hewlett-Packard Development Company, L.P. Remote execution of software using windows management instrumentation
US6836657B2 (en) * 2002-11-12 2004-12-28 Innopath Software, Inc. Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade
US7587713B1 (en) * 2002-12-31 2009-09-08 Emc Corporation System and method for controlling installation of one or more components for a data storage management system
US8578363B2 (en) * 2006-05-03 2013-11-05 Microsoft Corporation Differentiated installable packages

Also Published As

Publication number Publication date
US20020142762A1 (en) 2002-10-03
TW561775B (en) 2003-11-11
CN1578944B (zh) 2011-06-01
EP1395902B1 (en) 2010-04-28
AR033099A1 (es) 2003-12-03
IL158191A (en) 2008-08-07
JP2005505154A (ja) 2005-02-17
BR0208631A (pt) 2005-12-13
ATE466333T1 (de) 2010-05-15
CA2443047A1 (en) 2002-10-17
JP2014053019A (ja) 2014-03-20
CN102209144A (zh) 2011-10-05
JP2011030233A (ja) 2011-02-10
KR100897234B1 (ko) 2009-05-14
MXPA03009080A (es) 2004-02-27
JP2016219033A (ja) 2016-12-22
US20100248709A1 (en) 2010-09-30
EP2312440A1 (en) 2011-04-20
JP5784268B2 (ja) 2015-09-24
US7734285B2 (en) 2010-06-08
WO2002082265A3 (en) 2003-12-18
PE20021118A1 (es) 2002-12-11
CA2443047C (en) 2013-01-08
DE60236151D1 (de) 2010-06-10
CN1578944A (zh) 2005-02-09
JP5155367B2 (ja) 2013-03-06
EP1395902A2 (en) 2004-03-10
RU2437143C2 (ru) 2011-12-20
KR20040023562A (ko) 2004-03-18
RU2003132072A (ru) 2005-04-27
CN102209144B (zh) 2013-11-06
WO2002082265A2 (en) 2002-10-17
NZ528615A (en) 2006-09-29
JP6046018B2 (ja) 2016-12-14
US8249577B2 (en) 2012-08-21
JP2010063109A (ja) 2010-03-18
EP2144161A1 (en) 2010-01-13
IL158191A0 (en) 2004-03-28

Similar Documents

Publication Publication Date Title
ES2343567T3 (es) Procedimiento y aparato para la desinstalacion iniciada por red de un programa de aplicacion en una red inalambrica.
US9374654B2 (en) Management of mobile applications
KR100976430B1 (ko) 모바일 무선 존재 및 상황 관리 시스템 및 방법
KR101632203B1 (ko) 휴대 단말기의 어플리케이션 실행 방법 및 장치
CN101796803B (zh) 基于便携式电子设备位于限定地理区域中而下载应用程序的便携式电子设备和方法
US20080289044A1 (en) Apparatus, system, and method for storing DRM licenses
CN101796804A (zh) 基于具有共同元素的便携式电子设备同时存在于限定区域中而下载应用程序或事件的便携式电子设备和方法
CN101124842A (zh) 控制便携式数字装置
CN102084673B (zh) 用于隐蔽网络拓扑的方法和系统
JP2012186664A (ja) 無線通信装置、通信システムおよび無線通信装置の制御方法
US9769832B2 (en) Information processing apparatus, wireless communication apparatus, and information processing method
CN101977374A (zh) 一种终端锁网升级方法和装置
US12082297B2 (en) Backlog mechanism for subscriber profiles on EUICCs
US20070249332A1 (en) Service Class Control System, Service Class Control Device, Terminal Device, Service Class Control Method, And Program
JP2000115012A (ja) 携帯型通信装置
TWI297128B (en) Portable positioning devices, contactless control equipments, and positioning systems