ES2767876T3 - Procedimiento y aparato para programar un dispositivo móvil con múltiples cuentas de servicio - Google Patents

Procedimiento y aparato para programar un dispositivo móvil con múltiples cuentas de servicio Download PDF

Info

Publication number
ES2767876T3
ES2767876T3 ES10721894T ES10721894T ES2767876T3 ES 2767876 T3 ES2767876 T3 ES 2767876T3 ES 10721894 T ES10721894 T ES 10721894T ES 10721894 T ES10721894 T ES 10721894T ES 2767876 T3 ES2767876 T3 ES 2767876T3
Authority
ES
Spain
Prior art keywords
service provider
account
mobile device
selected service
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES10721894T
Other languages
English (en)
Inventor
Anthony Sanding
Balaji Vaidyanathan
Yogesh Tugnawat
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2767876T3 publication Critical patent/ES2767876T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/183Processing at user equipment or user record carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Abstract

Un procedimiento para programar un dispositivo móvil (10) con una compilación de software que admite una cuenta de proveedor de servicios seleccionada que comprende: recibir una selección de cuenta de proveedor de servicios; determinar si una cuenta con el proveedor de servicios seleccionado está activada; recuperar parámetros y configuraciones de la compilación de software de una memoria no volátil (25) correspondiente a la cuenta del proveedor de servicios seleccionado; e implementar la compilación de software que admite la cuenta del proveedor de servicios seleccionado usando los parámetros y configuraciones de la compilación de software recuperados para reprogramar un procesador de señales digitales programable dentro de un conjunto de chips basado en radio definida por software del dispositivo móvil (10) para generar una señal de datos compatible con un red de proveedor de servicios seleccionado; en el que la implementación de la compilación de software comprende compilar la compilación de software en el dispositivo móvil (10).

Description

DESCRIPCIÓN
Procedimiento y aparato para programar un dispositivo móvil con múltiples cuentas de servicio
CAMPO DE LA INVENCIÓN
[0001] La presente invención se refiere, en general, al aprovisionamiento y programación de un dispositivo móvil y, más particularmente, a procedimientos y aparatos para aprovisionar y programar múltiples cuentas de proveedores de servicios en un solo dispositivo móvil.
ANTECEDENTES
[0002] Típicamente, los dispositivos de comunicaciones celulares convencionales funcionan con una de las dos principales tecnologías de red concurrentes. A saber, el Sistema Global para Comunicaciones Móviles (GSM) o el Acceso Múltiple por División de Código (CDMA). Si bien hay una serie de diferencias entre las dos tecnologías concurrentes, en el núcleo GSM implementa un esquema de multiplexación por división de tiempo, mientras que CDMA (como su nombre indica) implementa un esquema de multiplexación basado en código. En una red GSM, una parte del ancho de banda total de la red se asigna como un canal a un dispositivo móvil. La estación base de la red "escucha" entonces selectivamente a cada uno de los canales asignados durante un corto período de tiempo para enviar y recibir información de voz y/o datos desde y hacia el dispositivo móvil. La estación base solo puede escuchar selectivamente el canal asignado durante un corto período de tiempo porque también debe escuchar otros canales asignados a otros dispositivos móviles que operan en la red. Si bien es efectivo, el esquema TDMA se ve obstaculizado por su ancho de banda limitado y necesita dedicar un solo canal a un solo dispositivo móvil.
[0003] Por el contrario, en una red CDMA, cada canal puede ser utilizado por múltiples dispositivos móviles. Para diferenciar la información recibida de diferentes dispositivos móviles que operan en el mismo canal asignado, a cada dispositivo móvil se le asigna un desplazamiento de codificación diferente en el que codificar su información de voz y/o datos. Al cambiar selectivamente el desplazamiento del código de descodificación, la estación base puede descodificar la información recibida de múltiples dispositivos móviles que operan en el mismo canal asignado. Esto aumenta enormemente la capacidad de dar servicio a más dispositivos móviles en la misma cantidad de ancho de banda total.
[0004] Además de los esquemas de multiplexación y codificación implementados en cada una de las tecnologías concurrentes, los proveedores de servicios individuales que operan redes de comunicación concurrentes pueden modificar otros aspectos de las señales de comunicación que se envían y reciben a través de sus respectivas redes de comunicación. Esto permite a cada proveedor de servicios diferenciar su red de otra y, en algunos casos, ofrecer características diferenciadoras a sus clientes. Estos aspectos pueden incluir formas de onda de señal de comunicación, frecuencia, amplitud, etc.
[0005] Para operar adecuadamente en una red de un proveedor de servicios en particular, un dispositivo móvil debe estar equipado con el hardware necesario para generar la forma de onda apropiada con la modulación correcta y el esquema de codificación según lo requiera la red del proveedor de servicios. Debido a las diferencias fundamentales en el tipo de forma de onda, modulación y esquemas de codificación utilizados entre las dos redes concurrentes, los dispositivos móviles equipados con el hardware necesario para operar en una red de tecnología GSM no pueden operar en una red de tecnología CDMA, y viceversa.
[0006] Además, los proveedores de servicios concurrentes que operan redes de tecnología similar (por ejemplo, GSM o CDMA) implementan típicamente datos de aprovisionamiento patentados que permiten que un dispositivo móvil opere en la red de un proveedor de servicios particular. Cada proveedor de servicios emplea típicamente una serie de parámetros de aprovisionamiento que son únicos en su uso o formato. Los dispositivos móviles convencionales almacenan los datos de aprovisionamiento para el único proveedor de servicios con el que se ha registrado el dispositivo. Si bien los dispositivos móviles convencionales pueden realizar comunicaciones a través de una red de comunicación de un proveedor de servicios diferente (siempre que sea del mismo tipo de tecnología), dicho uso solo se permitirá de acuerdo con las reglas de itinerancia y los permisos dictados por los datos de aprovisionamiento cargados en el dispositivo móvil. Si un usuario de un dispositivo móvil convencional desea utilizar una red de comunicación de un proveedor de servicios diferente para el servicio primario (es decir, no itinerante), los datos de aprovisionamiento cargados en el dispositivo móvil deben eliminarse y reemplazarse con datos de aprovisionamiento del proveedor de servicios recientemente seleccionado. Por lo general, dicho cambio solo puede realizarse activando una nueva cuenta con el proveedor de servicios recientemente seleccionado. Si el usuario desea posteriormente volver a la red de comunicación del proveedor de servicios original para el servicio primario, se debe activar una nueva cuenta en la red del proveedor de servicios original y eliminar los datos de la cuenta anterior.
[0007] En algunos entornos, una tarjeta inteligente extraíble, como una tarjeta de Módulo de identidad del abonado (SIM) o una tarjeta R-UIM análoga, puede permitir que un usuario intercambie los datos de aprovisionamiento cargados en un dispositivo móvil sin la necesidad de intervención del proveedor de servicios. Los datos de aprovisionamiento para diferentes proveedores de servicios pueden almacenarse en la tarjeta inteligente extraíble.
Debido a que cada tarjeta inteligente puede almacenar los datos de aprovisionamiento para un proveedor de servicios diferente, un usuario puede intercambiar físicamente tarjetas inteligentes en un dispositivo móvil para usar diferentes redes de proveedores de servicios para el servicio primario. Sin embargo, la necesidad de intercambiar físicamente las tarjetas inteligentes requiere que el usuario lleve varias tarjetas inteligentes. Además, el intercambio físico de tarjetas inteligentes es engorroso. Por último, el uso de tarjetas inteligentes todavía no permite que un dispositivo móvil equipado con el hardware necesario funcione en una red de tecnología GSM para operar en una red de tecnología CDMA y viceversa.
[0008] El documento US 2006/02037722 A1 divulga un sistema para gestionar el rendimiento (en términos de calidad de servicio, QoS) de un terminal. Esta técnica anterior aborda el problema de que las técnicas existentes para gestionar la QoS de un usuario móvil se basan en diferentes capas de una pila multiprotocolo y, por lo tanto, no había un rendimiento de extremo a extremo ni gestión de la QoS. Con este fin, sugiere proporcionar un denominado administrador de nivel de servicio que pueda identificar y correlacionar parámetros de gestión de QoS con los parámetros de QoS específicos de capa correspondientes para diferentes capas de una pila de protocolos de múltiples capas, en el que el administrador de nivel de servicio también puede descargar una especificación de nivel de servicio que incluya dichos parámetros. La especificación del nivel de servicio se descarga a través de un entorno inalámbrico.
[0009] El documento WO 2008/069553 A1 divulga la programación de un terminal de radio definida por software (SDR) basado en información de ubicación.
[0010] Todavía existe la necesidad de una forma más eficiente de proporcionar múltiples cuentas de proveedores de servicios en un solo dispositivo móvil.
SUMARIO
[0011] En vista de lo anterior, la presente invención proporciona mejoras de acuerdo con la materia objetivo de las reivindicaciones independientes.
[0012] Se proporcionan varios procedimientos y sistemas de modo de realización para almacenar en la memoria no volátil las compilaciones de software necesarias y los parámetros de datos de aprovisionamiento para múltiples proveedores de servicios, de modo que un dispositivo móvil equipado adecuadamente pueda operar en cualquiera de varios proveedores de servicios diferentes. Tal dispositivo móvil puede incluir un módulo de conjunto de chips de radio basada en software que le permite comunicarse con redes celulares de todo tipo de tecnología (incluyendo GSM y CDMA). Diversos modos de realización proporcionan, además, un procedimiento, sistema y dispositivo para cambiar entre las compilaciones de software y datos de aprovisionamiento de diferentes proveedores de servicios. Los modos de realización adicionales proporcionan un procedimiento para evitar el lanzamiento de múltiples administradores de conexión de proveedores de servicios que podrían dar como resultado un conflicto en la programación de un dispositivo móvil.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0013] Los dibujos adjuntos, que se incorporan al presente documento y forman parte de esta memoria descriptiva, ilustran modos de realización a modo de ejemplo de la presente invención, y junto con la descripción general dada anteriormente y la descripción detallada dada a continuación, sirven para exponer las características de la presente invención.
La figura 1 es un diagrama de bloques que representa componentes típicos de un dispositivo móvil capaz de admitir los diversos modos de realización.
La figura 2 es un diagrama de arquitectura de hardware/software de módulos de software que operan dentro de un dispositivo móvil equipado con un módulo de conjunto de chips basado en radio definida por software.
La figura 3 es una tabla de datos a modo de ejemplo de parámetros dinámicos utilizados por diferentes cuentas de proveedores de servicios.
La figura 4 es una tabla de datos a modo de ejemplo de parámetros estáticos utilizados por diferentes cuentas de proveedores de servicios.
La figura 5 es una tabla de datos a modo de ejemplo de parámetros de seguridad utilizados por diferentes cuentas de proveedores de servicios.
La figura 6 es un diagrama de flujo de proceso que ilustra etapas de ejemplo que pueden implementarse para asegurar que se haya activado una cuenta para un proveedor de servicios seleccionado.
La figura 7 es un diagrama del sistema de un sistema de comunicación que permite que un dispositivo móvil inicie un procedimiento de activación con una variedad de proveedores de servicios.
La figura 8 es un diagrama de flujo de proceso que ilustra un proceso de modo de realización para habilitar sin problemas múltiples compilaciones de software para admitir múltiples cuentas de proveedores de servicios en el mismo dispositivo móvil.
La figura 9 es un diagrama de flujo de proceso que ilustra etapas de ejemplo que pueden implementarse para cargar la compilación de software para una cuenta de proveedor de servicios previamente no activada.
La figura 10 es un diagrama de flujo de proceso que ilustra etapas de ejemplo que pueden implementarse para cargar la compilación de software para una cuenta de proveedor de servicios activada previamente.
La figura 11 es un diagrama de flujo de proceso de un procedimiento de modo de realización alternativo para confirmar una cuenta activa/válida con el proveedor de servicios seleccionado.
La figura 12 es un diagrama de flujo de proceso de otro procedimiento de modo de realización alternativo para confirmar una cuenta activa/válida con el proveedor de servicios seleccionado.
La figura 13 es un diagrama del sistema de un sistema de comunicación de modo de realización alternativo en el que una tabla de datos indexada de cuentas de proveedores de servicios se almacena en una memoria remota no volátil.
La figura 14 es un diagrama del sistema de otro sistema de comunicación de modo de realización alternativo en el que la tabla de datos indexada de las cuentas del proveedor de servicios se almacena en una memoria remota no volátil.
La figura 15 es un diagrama de flujo de proceso que ilustra un proceso que puede implementarse mediante un rastreador de administrador de conexión a modo de ejemplo.
La figura 16 es un diagrama de bloques de componentes de un servidor de ejemplo adecuado para su uso con los diversos modos de realización.
DESCRIPCIÓN DETALLADA
[0014] Los diversos modos de realización se describirán en detalle con respecto a los dibujos adjuntos. Siempre que sea posible, se utilizarán los mismos números de referencia en todos los dibujos para referirse a partes iguales o similares. Las referencias a ejemplos e implementaciones particulares se hacen con fines ilustrativos, y no pretenden limitar el alcance de la presente invención o de las reivindicaciones.
[0015] En esta descripción, la palabra "a modo de ejemplo" se usa en el presente documento en el sentido de que "sirve como ejemplo, caso o ilustración". No ha de interpretarse necesariamente que cualquier implementación, descrita en el presente documento como "a modo de ejemplo", es preferente o ventajosa con respecto a otras implementaciones.
[0016] Como se usa en el presente documento, el término "dispositivo móvil" pretende abarcar cualquier forma de ordenador programable que pueda existir o se desarrollará en el futuro que implemente un módulo de comunicación para comunicaciones inalámbricas de voz y datos, incluidos, por ejemplo, teléfonos celulares, asistentes de datos personales (PDA), ordenadores de bolsillo, ordenadores portátiles y plegables, receptores inalámbricos de correo electrónico (por ejemplo, los dispositivos Blackberry® y Treo®), teléfonos celulares multimedia habilitados para Internet (por ejemplo, iPhone®) y dispositivos electrónicos personales similares que incluyen un módulo de comunicación inalámbrica, procesador y memoria. En un modo de realización preferente, el dispositivo móvil es un ordenador portátil con un módulo de conjunto de chips basado en radio definida por software.
[0017] Los dispositivos móviles convencionales típicamente se han diseñado para operar en la red de comunicación de un solo proveedor de servicios. Más específicamente, los dispositivos móviles convencionales se han diseñado para operar con una sola tecnología de comunicación (por ejemplo, GSM v. CDMA). Por ejemplo, los teléfonos celulares típicamente se han comprado directamente de un proveedor de servicios para su uso en la red de ese proveedor de servicios. Del mismo modo, las tarjetas de módem inalámbrico para ordenadores portátiles típicamente se compran y venden directamente del proveedor de servicios. Debido a las diferencias fundamentales entre las tecnologías concurrentes, el hardware contenido en el dispositivo móvil que permite las comunicaciones en una tecnología concurrente impide que el mismo dispositivo móvil se comunique con una red de otra tecnología concurrente.
[0018] Además, incluso cuando dos proveedores de servicios separados pueden implementar la misma tecnología de comunicación, diferentes proveedores de servicios pueden proporcionar a sus clientes diferentes conjuntos de características. En consecuencia, incluso si el hardware que permite la comunicación es el mismo, el software que permite las comunicaciones en la red de comunicación de un proveedor de servicios puede variar mucho de la de un proveedor de servicios diferente. En consecuencia, se debe implementar una compilación de software diferente en un dispositivo móvil para cada proveedor de servicios.
[0019] Además, la mayoría de los dispositivos móviles convencionales se han diseñado para cargar los datos de aprovisionamiento de un solo proveedor de servicios. Debido a que los proveedores de servicios concurrentes implementan datos de aprovisionamiento patentados, los dispositivos móviles convencionales que operan en la red de comunicación de un proveedor de servicios no pueden operar en la red de comunicación de otro proveedor de servicios (como servicio primario) sin eliminar los datos de aprovisionamiento del primer proveedor de servicios y reemplazarlos con los datos de aprovisionamiento del segundo proveedor de servicios. Si bien algunos dispositivos móviles permiten a un usuario intercambiar los datos de aprovisionamiento de diferentes proveedores de servicios a través del intercambio de tarjetas inteligentes, dichos procedimientos son engorrosos y aún no permiten que un usuario utilice las redes de comunicación de tecnologías concurrentes.
[0020] A diferencia de los dispositivos móviles convencionales que utilizan hardware para generar, codificar/descodificar y modular/desmodular señales junto con una de las tecnologías concurrentes, los futuros módulos de conjunto de chips basados en radio definida por software, tales como Gobi® de Qualcomm, generan, codifican/descodifican y modulan/desmodulan señales de datos dentro de un procesador digital de señales programable (DSP). El DSP programable permite que la señal de comunicación sea definida por el software para cumplir con los requisitos de forma de onda, frecuencia y paquete de datos de cualquier tecnología de comunicación. Al reprogramar el DSP para generar señales con diferentes características, se puede hacer que el dispositivo móvil genere una señal de comunicación que sea compatible con la red de comunicaciones única de cualquier proveedor de servicios.
[0021] Para reprogramar el DSP dentro del conjunto de chips basado en radio definida por software para generar una señal de datos compatible con una red de proveedor de servicios seleccionada, el dispositivo móvil debe cargar una compilación de software adecuada para el proveedor de servicios seleccionado. La compilación de software de cada proveedor de servicios puede contener las instrucciones necesarias para generar, codificar y modular las señales de datos para que sean transportadas adecuadamente a través de la red de comunicación del proveedor de servicios, así como también contener la programación necesaria para llevar a cabo todas las características adicionales ofrecidas por el proveedor de servicios. Los diversos modos de realización proporcionan la capacidad de modificar y cambiar varios módulos de la compilación de software implementada en un dispositivo móvil. Diversos modos de realización supervisan qué proveedores de servicios han tenido una cuenta activada por el dispositivo móvil para que los parámetros generados previamente de la compilación de software de un proveedor de servicios puedan reciclarse. Otros modos de realización supervisan la compilación de software del proveedor de servicios implementada actualmente para evitar que se produzcan colisiones fatales cuando se solicita una compilación de software diferente.
[0022] La figura 1 representa componentes típicos de un dispositivo móvil 10 capaz de admitir los diversos modos de realización. Un dispositivo móvil 10 típico incluye un procesador 191 o procesadores duales (o más) 191a y 191b acoplados a la memoria interna 192 y una pantalla de interfaz de usuario 11. El dispositivo móvil 10 también puede incluir un módulo de comunicación 20 definido por software que es capaz de operar en cualquiera de una pluralidad de redes de comunicación del proveedor de servicios. El módulo de comunicación 20 definido por software puede incluir una memoria no volátil 25 y sistemas de archivos 26 que pueden almacenar una tabla indexada de parámetros y configuraciones de cuenta del proveedor de servicios para usar en la modificación del funcionamiento del software del dispositivo para un proveedor de servicios seleccionado.
[0023] El dispositivo móvil 10 puede incluir una antena 194 para enviar y recibir radiación electromagnética que se conecta al módulo de comunicación 20 definido por software acoplado al procesador 191. Además, el dispositivo móvil 10 incluye un altavoz 18 para producir un sonido audible y un micrófono 19 para detectar el sonido, como recibir la voz de un usuario. Tanto el micrófono 19 como el altavoz 18 pueden conectarse al procesador 191 a través de un vocoder (codificador de voz) 199 que transforma las señales eléctricas analógicas recibidas del micrófono 19 en códigos digitales, y transforma los códigos digitales recibidos desde el procesador 191 en señales eléctricas analógicas que el altavoz 18 puede transformar en ondas sonoras. En algunas implementaciones, el vocoder 199 puede incluirse como parte de los circuitos y la programación del procesador 191. Típicamente, los dispositivos móviles también incluyen un teclado 13 y botones o interruptores oscilantes de selección de menú 12 para recibir las entradas de usuario.
[0024] El procesador 191 puede ser cualquier microprocesador, microordenador o un chip o chips de procesador múltiple programables que pueden configurarse mediante instrucciones de software (aplicaciones) para realizar una diversidad de funciones, incluyendo las funciones de los diversos modos de realización que se han descrito anteriormente. En algunos dispositivos móviles, pueden proporcionarse múltiples procesadores 191, tales como un procesador dedicado a funciones de comunicación inalámbrica y un procesador dedicado a la ejecución de otras aplicaciones. En algunos dispositivos móviles 10, se pueden proporcionar múltiples procesadores 191a, 191b para compartir funciones y/o aplicaciones de comunicación inalámbrica entre ellos. Típicamente, las aplicaciones de software pueden almacenarse en la memoria interna 192 antes de accederse y cargarse en el procesador 191. En algunos dispositivos móviles, el procesador 191 puede incluir una memoria interna suficiente para almacenar las instrucciones del software de aplicación. En algunos dispositivos móviles, el procesador 191 está incluido dentro del módulo de comunicación 20 definido por software, como en el Gobi® de Qualcomm, que incluye dos procesadores además del generador de señales y los circuitos de módem.
[0025] La figura 2 es un diagrama de arquitectura de hardware/software de módulos de software en un dispositivo móvil equipado con módulos de conjunto de chips basados en radio definida por software. Como se muestra en la figura 2, el dispositivo móvil 10 incluye un módulo de comunicación 20 de conjunto de chips basado en radio definida por software (módulo de comunicación), tal como Gobi® de Qualcomm. El módulo de comunicación 20 puede contener opcionalmente una memoria no volátil 25 que puede almacenar una tabla indexada de diferentes configuraciones de parámetros del proveedor de servicios. En modos de realización alternativos, la tabla de datos indexada también puede almacenarse en una memoria remota no volátil (no mostrada) desde la que puede recuperarse. Un ejemplo de la tabla de datos indexada se muestra con más detalle en la figura 3, a continuación. Los diversos parámetros almacenados en la tabla de datos indexada se pueden usar al compilar la compilación de software particular para cada proveedor de servicios que admite una cuenta a la que se ha suscrito el dispositivo móvil. Como cada proveedor de servicios puede implementar una compilación de software única, los parámetros para cada cuenta de proveedor de servicios a menudo difieren de las cuentas de otros proveedores de servicios. En muchos casos, un parámetro utilizado en la compilación de software para un proveedor de servicios puede estar en un formato diferente o puede no ser utilizado en absoluto por un proveedor de servicios diferente.
[0026] Un módulo de software 30 de interfaz múltiple que funciona en un procesador 191 está en comunicación con el módulo de comunicación 20 y una interfaz de programación de aplicación común (C-API) 40. El módulo de software 30 de interfaz múltiple contiene la codificación real para varias subrutinas solicitadas por las aplicaciones a través de la C-API 40. Los desarrolladores de aplicaciones para dispositivos móviles 10 pueden utilizar la C-API 40 para acceder o interactuar con varias subrutinas almacenadas en el módulo de interfaz múltiple 30 para realizar las funciones deseadas. Las subrutinas almacenadas en el módulo de interfaz múltiple 30 pueden usarse para realizar una variedad de funciones que incluyen, de forma no limitativa, programar y recuperar información del módulo de comunicación 20. La C-API 40 puede contener varias bibliotecas de enlaces dinámicos (DLL) 45. Al contener varias bibliotecas de enlace dinámico 45, la C-API 40 puede usar los hooks hacia y desde el módulo de interfaz múltiple 30 para proporcionar el módulo de comunicación 20 para un proveedor de servicios particular. Al utilizar bibliotecas vinculadas dinámicamente de subrutinas comunes, las subrutinas apropiadas para un proveedor de servicios seleccionado pueden cargarse en un programa de aplicación en tiempo de ejecución en lugar de en tiempo de compilación.
[0027] Cuando se activa una cuenta para un proveedor de servicios en el dispositivo móvil 10, la DLL 45 que admite esa cuenta se carga en la C-API y se almacena para su recuperación futura. Cada uno de los diversos proveedores de servicios activados en un dispositivo móvil 10 puede cargar una interfaz de programación de aplicaciones específica para el proveedor de servicios particular que usa sus respectivas DLL para facilitar la carga de los datos de aprovisionamiento y compilación de software del proveedor de servicios. Cada una de las DLL 45 puede programarse para comunicarse con el módulo de software de interfaz múltiple 30. La C-API 40 está en comunicación con un rastreador de administrador de conexión 50 o directamente con el administrador de conexión de un proveedor de servicios. El rastreador del administrador de conexión 50 actúa efectivamente como un "policía de tráfico" para asegurar que solo se implemente la compilación de software de un único proveedor de servicios en el dispositivo móvil 10 a la vez. El rastreador de administrador de conexión 50 determina qué cuenta de proveedor de servicios se selecciona y asegura que solo se implemente la compilación de software correspondiente a la cuenta de proveedor de servicios seleccionada. En el caso de que se seleccione una cuenta de proveedor de servicios que no sea compatible con la compilación de software implementada actualmente, el rastreador de administrador de conexión 50 puede asegurar que la compilación de software implementada actualmente se cierre antes de que se inicie la compilación de software correspondiente a la cuenta del proveedor de servicios recientemente seleccionada. El rastreador de administrador de conexión 50 está en comunicación con cada administrador de conexión individual 61, 62, 63 que admite cada cuenta de proveedor de servicios (SP1, SP2, SP3) activada en el dispositivo móvil 10. Cada administrador de conexión 61,62, 63 es responsable de iniciar la compilación de software correspondiente cargando las subrutinas apropiadas de las DLL 45 y recuperando los parámetros apropiados almacenados en la memoria no volátil 25.
[0028] En un modo de realización alternativo, el dispositivo móvil 10 puede implementar un administrador de conexión común 60 que es una aplicación central que es capaz de configurar los enlaces de comunicación para una pluralidad de cuentas de proveedores de servicios (SP1, SP2, SP3). En tal modo de realización, el rastreador del administrador de conexión 50 puede integrarse dentro del administrador de conexión común 60 o puede continuar comunicándose con un rastreador del administrador de conexión externo 50 para asegurarse de que solo se implemente la compilación de software de un único proveedor de servicios en el dispositivo móvil 10 a la vez.
[0029] Las figuras 3, 4 y 5 ilustran tablas de datos indexadas a modo de ejemplo de parámetros dinámicos, estáticos y de seguridad utilizados por una variedad de cuentas de proveedores de servicios. Como se muestra en las figuras 3, 4 y 5, los datos asociados con las cuentas de proveedores de servicios pueden organizarse como una tabla que contiene una pluralidad de registros (es decir, columnas) asociados con los proveedores de servicios, y cada registro incluye una pluralidad de campos de datos (es decir, filas en las figuras 3, 4 y 5) que almacenan configuraciones de datos asociadas con cada proveedor de servicios. La tabla de datos a modo de ejemplo de las figuras 3, 4 y 5 ilustran solo 4 proveedores de servicios (es decir, proveedor de servicios 1, proveedor de servicios 2, proveedor de servicios 3 y proveedor de servicios 4). Sin embargo, un experto en la técnica apreciaría que se puedan incluir columnas adicionales que enumeren proveedores de servicios adicionales. De hecho, una tabla de datos puede incluir todos los proveedores de servicios que operan en el mundo. Además, pueden incluirse múltiples columnas para cada proveedor de servicios en los casos en que un dispositivo móvil 10 mantiene múltiples cuentas en la misma red de comunicación del proveedor de servicios.
[0030] Para cada proveedor de servicios, una variedad de parámetros y configuraciones que se generan durante el proceso de activación inicial de cada proveedor de servicios respectivo pueden almacenarse en campos de datos (ilustrados como filas en las figuras 3, 4 y 5). La figura 3 ilustra una tabla de datos indexada a modo de ejemplo de parámetros dinámicos utilizados por una variedad de cuentas de proveedores de servicios. Por ejemplo, cada proveedor de servicios puede especificar un modo diferente de activación. Como su nombre lo indica, el modo de activación indica el tipo de procedimiento de activación que emplea el proveedor de servicios en particular. Los diferentes tipos de procedimientos de activación pueden incluir, por ejemplo, un procedimiento de Aprovisionamiento de servicios por aire (OTASP), un procedimiento de Internet por aire (IOTA) o un procedimiento de Gestión de dispositivos de la Alianza móvil abierta (OMADM). Cada uno de estos procedimientos puede implementar diferentes etapas y/o protocolos para lograr el procedimiento de activación.
[0031] La tabla de datos también puede especificar el Identificador de acceso a la red (NAI) para cada proveedor de servicios. El NAI es el nombre de usuario asignado al dispositivo móvil 10 utilizado para autenticar el dispositivo para el servicio de datos. Cada proveedor de servicios puede asignar un formato único al nombre de usuario. Por ejemplo, el proveedor de servicios 1 usa el nombre del proveedor de servicios 1 como dominio para cada nombre de usuario. De forma alternativa, el proveedor de servicios 2 utiliza "hcm.SP2.com" como nombre de dominio. En algunos casos, un proveedor de servicios puede asignar múltiples NAI al mismo dispositivo móvil 10. Por ejemplo, como se muestra en la figura 3, el proveedor de servicios 2 y el proveedor de servicios 4 pueden asignar múltiples NAI al mismo dispositivo móvil 10. El formato del NAI puede diferir no solo entre los diferentes proveedores de servicios, sino también entre los diversos NAI asignados por el mismo proveedor de servicios. Además, como se muestra en la figura 3, otros proveedores de servicios, como el proveedor de servicios 1 y el proveedor de servicios 3, pueden solo asignar un único NAI a cada dispositivo móvil 10. Los múltiples NAI pueden distinguirse por el Perfil de usuario MIP N, donde N = {0, 1,2, 3, ...}. Por lo tanto, mientras que la figura 3 muestra que algunos proveedores de servicios asignan dos NAI (es decir, N = {0, 1}), se pueden asignar perfiles de usuario adicionales en algunos casos.
[0032] La tabla de datos puede especificar, además, el secreto compartido del agente local-nodo móvil (MN-HA), también denominado contraseña. La contraseña MN-HA se puede usar para autenticar el dispositivo móvil 10 en el Agente local de IP móvil. Cada proveedor de servicios puede asignar un formato único al nombre de usuario. Por ejemplo, el proveedor de servicios 3 usa los primeros 16 dígitos de la Clave de autenticación (Akey), mientras que el proveedor de servicios 4 usa un Pseudo ESN de 8 caracteres (pESN). Como otro ejemplo, el proveedor de servicios 2 utiliza "hcm.SP2.com" como nombre de dominio. De manera similar al NAI, los proveedores de servicios pueden asignar múltiples contraseñas MN-HA al mismo dispositivo móvil 10, como se muestra en la figura 3 para el Proveedor de servicios 2 y el Proveedor de servicios 4. Además, como se muestra en la figura 3, otros proveedores de servicios, como el proveedor de servicios 1 y el proveedor de servicios 3, solo pueden asignar una sola contraseña MH-NA a cada dispositivo móvil 10.
[0033] La tabla de datos puede especificar, además, el secreto compartido (contraseña) de autenticación, autorización y contabilización de nodos móviles (MN-AAA) que autentica el dispositivo móvil 10 en el servidor de facturación (no mostrado). Nuevamente, cada proveedor de servicios puede usar un formato específico diferente. Además, cada proveedor de servicios puede utilizar diferentes valores para cada entrada. Similar a la contraseña MN-HA y los NAI, los proveedores de servicios pueden optar por asignar múltiples contraseñas MN-AAA a cada dispositivo móvil 10.
[0034] Además, la tabla de datos puede especificar otros parámetros y configuraciones tales como el NAI de autenticación, autorización y contabilización de IP simple (SIP AAA NAI), que a veces se conoce como el nombre de usuario de IP simple. La tabla de datos puede especificar, además, la Contraseña de autenticación, autorización y contabilización de IP simple (contraseña SIP AAA), que es una contraseña de IP simple. Otros parámetros pueden incluir el Índice de parámetro simple (SPI), que no se muestra. Se observa que no todos los proveedores de servicios utilizan todos los tipos de parámetros y configuraciones. Por ejemplo, mientras que los proveedores de servicios 2 y 4 utilizan un parámetro para el secreto compartido de MN-HA - Ranura 1, los proveedores de servicios 1 y 3 no utilizan dicho parámetro. Para algunos proveedores de servicios, no se puede registrar ningún valor en la tabla de datos indexada para dicho parámetro no utilizado. En otros casos, un valor nulo puede almacenarse como un marcador de posición para dicho valor.
[0035] La figura 4 ilustra entradas de datos de ejemplo adicionales en la tabla de datos indexada a modo de ejemplo más allá de las mostradas en la figura 3. Por ejemplo, cada proveedor de servicios puede especificar un autenticador de nodo móvil diferente (Autenticador MN). En el ejemplo que se muestra en la figura 4, solo el proveedor de servicios 1 requiere un valor para este parámetro. La tabla de datos de la figura 4 también muestra varios formatos o valores especificados por los proveedores de servicios para el conjunto SPI de la dirección local del nodo móvil (conjunto MN h A SPI), el valor MN Ha SPI, el conjunto MN a Aa SPI, el valor MN AAA SPI, túnel inverso, QNC habilitado, dirección local, dirección principal de HA, dirección secundaria de HA, tiempo de intervalo de reintento de registros iniciales, número de reintento de registro, reintentos de cancelación de registro DS MIP y tiempo de reinscripción de vencimiento previo a la vida útil.
[0036] La figura 5 ilustra entradas de datos de ejemplo adicionales en la tabla de datos indexada a modo de ejemplo más allá de las mostradas en las figuras 3 y 4. La tabla de datos de la figura 5 también muestra formatos o valores de ejemplo que los proveedores de servicios pueden usar para SPC, Bloqueo de subsidio de teclado único (OTKSL), Número de intentos de código de programación de servicio incorrecto (SPC), Código de campo de servicio, Suma de comprobación de Akey, soporte de servicio de mensajes simples (SMS).
[0037] Los parámetros y configuraciones enumerados en las tablas de datos indexadas que se muestran en las figuras 3, 4 y 5 son solo ilustrativos y proporcionan ejemplos de posibles formatos y valores utilizados e implementados por diferentes proveedores de servicios. Un experto en la técnica apreciaría que los proveedores de servicios pueden emplear varios otros parámetros y configuraciones utilizados en sus diversas compilaciones de software que pueden reflejarse en la tabla de datos indexada.
[0038] Cuando un usuario elige iniciar comunicaciones en un dispositivo móvil 10, el usuario puede seleccionar una cuenta de proveedor de servicios para admitir la comunicación mediante el lanzamiento de un administrador de conexión (por ejemplo, 60, 61, 62, 63) correspondiente a la cuenta de proveedor de servicios seleccionada. En los casos en que el dispositivo móvil 10 es un teléfono celular, típicamente se ejecuta una cuenta de proveedor de servicios en todo momento. Sin embargo, en los casos en que el dispositivo móvil 10 es una tarjeta de módem inalámbrico dentro de un ordenador portátil, una cuenta de proveedor de servicios no se ejecuta típicamente a menos que se deseen capacidades de comunicación. Para iniciar las comunicaciones, el usuario puede iniciar un administrador de conexión independiente del proveedor de servicios. De forma alternativa, el usuario puede seleccionar un proveedor de servicios particular entre una selección de varios proveedores de servicios presentados en una pantalla de interfaz de usuario generada por un administrador de conexión común. Se puede proporcionar un menú similar en un teléfono celular para seleccionar una nueva cuenta de proveedor de servicios que sería análoga al lanzamiento de un administrador de conexión en un ordenador portátil. Al iniciar el administrador de conexión (60, 61,62, 63) correspondiente a la cuenta del proveedor de servicios deseada, el administrador de conexión (60, 61,62, 63) se comunica con la C-API 40, directamente o mediante un rastreador de administrador de conexión 50, para invocar cada una de las subrutinas necesarias contenidas en la DLL 45 necesarias para completar la compilación de software necesaria para las comunicaciones a través de la red del proveedor de servicios seleccionado. Además, la C-API 40 puede acceder a la DLL 45 para recuperar los parámetros necesarios almacenados en una memoria no volátil 25 y/o el Sistema de archivos 26 a través del módulo de interfaz múltiple 30. Los parámetros necesarios se almacenan en una tabla de datos indexada. Esa tabla de datos puede contener cada uno de los parámetros asignados para una cuenta de proveedor de servicio seleccionada que se ha generado previamente durante un procedimiento de activación de cuenta de proveedor de servicio inicial.
[0039] Con referencia de nuevo a la figura 2, en algunos casos un dispositivo móvil 10 puede cargarse con una variedad de administradores de conexión (61,62, 63) como parte del paquete de software de un fabricante de equipos originales (OEM). Estos administradores de conexión (61, 62, 63) pueden ser administradores de conexión individuales cargados en el dispositivo móvil o pueden ser posibles selecciones en un programa común de administrador de conexión 60. En tales casos, es probable que un usuario no haya establecido una cuenta de proveedor de servicios con ninguno/todos los proveedores de servicios correspondientes a cada uno de los administradores/selecciones de conexión. Por lo tanto, el dispositivo móvil 10 puede ser provisto con los parámetros predeterminados según lo prescrito por el proveedor de servicios seleccionado solamente. En consecuencia, cuando un usuario inicia un administrador de conexión para un proveedor de servicios que no tiene una cuenta de proveedor de servicios asociada para el dispositivo móvil 10, se producirá un error ya que los parámetros necesarios de una suscripción válida no se almacenarán en la tabla de datos indexada. En consecuencia, cada vez que se inicia un administrador/selección de conexión, se puede realizar una prueba para determinar si se ha activado una cuenta para el proveedor de servicios seleccionado.
[0040] La figura 6 ilustra un proceso que puede implementarse en un dispositivo móvil 10 cada vez que se inicia un administrador de conexión para determinar si se ha activado una cuenta en el proveedor de servicios seleccionado. Cuando un usuario intenta iniciar un administrador de conexión para un proveedor de servicios seleccionado, el procesador 191 recibe la solicitud, etapa 101. Al recibir una solicitud para iniciar un administrador de conexión para un proveedor de servicios seleccionado, el procesador 191 puede determinar si se ha activado previamente una cuenta para el proveedor de servicios seleccionado, decisión 105. Este proceso de determinación se puede lograr verificando el estado de un indicador de activación asociado con cada proveedor de servicios. De forma alternativa, esta determinación se puede lograr verificando los valores de los parámetros almacenados en la tabla de datos indexada (ver figuras 3-5) para el proveedor de servicios seleccionado. Si los valores de los parámetros almacenados en la tabla de datos indexada están ausentes o son valores predeterminados, se puede suponer que no se ha completado un procedimiento de activación. Si el procesador 191 determina que una cuenta se ha activado previamente en el dispositivo móvil 10 (es decir, decisión 105 = Sí), entonces el procesador 191 recupera los valores de los parámetros almacenados en la tabla de datos indexada e implementa estos valores mientras carga o compila la compilación de software correspondiente al proveedor de servicios seleccionado, etapa 110. Si se ha activado una cuenta, el administrador de conexión seleccionado puede solicitar a la C-API 40 que llame las subrutinas necesarias en el módulo 30 de múltiples interfaces a través de la DLL 45 y recupere los parámetros almacenados de la tabla de datos indexada en memoria no volátil 25 y/o los sistemas de archivos 26 para implementar la compilación de software apropiada.
[0041] Sin embargo, si el procesador 191 determina que no se ha activado previamente una cuenta para el proveedor de servicios seleccionado (es decir, decisión 105 = No), entonces el procesador inicia el procedimiento de activación apropiado para obtener todos los parámetros de compilación de software necesarios para el proveedor de servicios seleccionado, etapa 115. Una vez que estos valores de parámetros se han obtenido y almacenado en la tabla de datos indexada, se puede establecer opcionalmente un indicador de activación que indica que se ha activado una cuenta en el proveedor de servicios seleccionado, etapa 120.
[0042] Cuando un dispositivo móvil 10 activa inicialmente una cuenta con un proveedor de servicios seleccionado, el tipo de procedimiento de activación que se inicia dependerá del proveedor de servicios seleccionado. Por lo tanto, el tipo de procedimiento de activación requerido para cada proveedor de servicios individual también puede almacenarse en la tabla de datos indexada. Por ejemplo, algunos proveedores de servicios pueden requerir que el dispositivo móvil 10 inicie un procedimiento de Aprovisionamiento de servicios por aire (OTASP), un procedimiento de Internet por aire (IOTA) o un procedimiento de Gestión de dispositivos de la Alianza móvil abierta (OMADM).
[0043] En un procedimiento OTASP, el dispositivo móvil 10 puede ser dirigido a llamar de forma inalámbrica a un número específico (por ejemplo, *228). Si bien el dispositivo móvil 10 puede no tener suficientes datos de parámetros para realizar comunicaciones ilimitadas en la red de un proveedor de servicios, el OEM puede programar el dispositivo móvil 10 con suficientes datos de parámetros para realizar comunicaciones limitadas para contactar al servidor de activación de un proveedor de servicios seleccionado con el fin de una activación inicial. Una vez conectado al servidor de activación del proveedor de servicios, el dispositivo móvil 10 recibe varios parámetros y configuraciones del servidor de activación del proveedor de servicios que se utilizan para configurar la compilación de software apropiada en el dispositivo móvil 10. Algunos de los parámetros y configuraciones pueden incluir un número de identificación móvil (MIN), una lista de itinerancia preferente (PRL), así como un número de directorio móvil (MDN) e identificadores de estación móvil (MSID), ambos pueden denominarse número de teléfono del dispositivo móvil. Una vez que se completa el procedimiento OTASP, se puede requerir que el dispositivo móvil 10 inicie un procedimiento de generación de parámetros de autenticación que autentica el dispositivo móvil 10 con el proveedor de servicios generando nombres de usuario y/o contraseñas. De manera similar, en un procedimiento IOTA, el dispositivo móvil puede recibir parámetros y configuraciones, tales como un MIN y un MSID. Sin embargo, en lugar de realizar un proceso de autenticación por separado, el proceso IOTA también genera y asigna contraseñas y nombres de usuario al dispositivo móvil 10. Una vez que se completa cualquiera de los procesos de activación, los parámetros y configuraciones recibidos durante el procedimiento de activación pueden almacenarse en la tabla de datos indexada en una memoria no volátil 25.
[0044] La figura 7 ilustra un sistema de comunicación a modo de ejemplo que permite que un dispositivo móvil 10 inicie un procedimiento de activación con una variedad de proveedores de servicios. La figura 7 incluye dos proveedores de servicios 125, 130 con fines ilustrativos; se puede incluir una multitud de proveedores de servicios en el sistema de comunicación del modo de realización. Para iniciar un procedimiento de activación con un proveedor de servicios de forma inalámbrica, el dispositivo móvil 10 debe tener suficiente software y datos de aprovisionamiento para acceder a la red de comunicación 100, 102 del proveedor de servicios y conectarse con un servidor de activación 125a, 130a. En consecuencia, los OEM pueden cargar suficiente software y datos de aprovisionamiento para permitir que un dispositivo móvil se ponga en contacto con uno o varios servidores de activación 125a, 130a de proveedores de servicios. Se puede acceder a los servidores de activación 125a, 130a marcando números especiales (por ejemplo, *228) para iniciar un procedimiento OTASP/IOTA/OMADM.
[0045] De forma alternativa, si el OEM no carga el software mínimo necesario y los datos de aprovisionamiento en el dispositivo móvil 10, el dispositivo móvil 10 puede conectarse a través de números de teléfono específicos o URL de sitios web mantenidos por un servidor de activación 125a, 130a del proveedor de servicios a través de conexiones cableadas a través de un red de comunicación cableada 104 para iniciar los procedimientos de activación. Una vez conectado al servidor de activación 125a, 130a del proveedor de servicios, el dispositivo móvil 10 puede conectarse a través de un centro de conmutación móvil 125b, 130b al servidor de aprovisionamiento 125c, 130c del proveedor de servicios. Como parte de un proceso de activación, el número de serie único del dispositivo móvil 10 (por ejemplo, el identificador de equipo móvil (MEID) y el identificador internacional de equipo móvil (IMEI)) puede transmitirse al servidor de aprovisionamiento 125c, 130c del proveedor de servicios para asociarlo con un cuenta con el proveedor de servicios seleccionado. A cambio, el servidor de aprovisionamiento 125c, 130c del proveedor de servicios puede transmitir diversos parámetros y configuraciones necesarios para operar en la red del proveedor de servicios. De forma alternativa, el sistema de aprovisionamiento del proveedor de servicios puede comunicarse con un servidor externo para obtener los parámetros o viceversa. Dichos parámetros y configuraciones pueden almacenarse en la tabla de datos indexada en la memoria no volátil 25. Además, una DLL 45 que contiene las subrutinas necesarias para la compilación de software del proveedor de servicios seleccionado puede transmitirse al dispositivo móvil 10.
[0046] Una vez que el dispositivo móvil 10 ha recibido todos los parámetros, configuraciones y DLL 45 necesarios del servidor de aprovisionamiento 125c, 130c del proveedor de servicios, se puede iniciar un administrador de conexión para el proveedor de servicios seleccionado en el procesador 191 del dispositivo móvil. En el caso de módulos integrados en ordenadores o tarjetas adicionales, el administrador de conexión puede iniciarse en el ordenador en el que está integrado el módulo o al que está conectado el módulo. Como se analizó anteriormente, el administrador de conexión iniciado puede apuntar al archivo de compilación de software correspondiente en la memoria. El archivo de compilación de software puede contener todas las instrucciones y subrutinas necesarias para compilar la compilación de software completa. El archivo de compilación de software puede volver a llamar las subrutinas necesarias que se encuentran en la DLL 45 y los parámetros asociados con el proveedor de servicios seleccionado que se encuentra en la tabla de datos indexada que se almacena en una memoria no volátil 25 para modificar el comportamiento de la compilación de software apropiada para realizar comunicaciones a través de la red de comunicaciones del proveedor de servicios seleccionado.
[0047] La figura 8 es un diagrama de flujo de proceso de las etapas de modos de realización para reprogramar el dispositivo móvil 10 con una compilación de software diferente para cambiar las cuentas del proveedor de servicios. Cuando un usuario elige iniciar comunicaciones en un dispositivo móvil 10, el usuario puede seleccionar una cuenta de proveedor de servicios para prestar soporte a la comunicación mediante el lanzamiento de un administrador de conexión (por ejemplo, 61,62, 63) correspondiente a la cuenta de proveedor de servicios seleccionada. En los casos en los que el dispositivo móvil 10 es un teléfono inalámbrico, típicamente se ejecuta una cuenta de proveedor de servicios en todo momento. Por lo tanto, se puede presentar un menú en una pantalla de interfaz de usuario para solicitar al usuario que seleccione un nuevo proveedor de servicios. En respuesta a la visualización del menú, el procesador 191 puede recibir una solicitud del usuario para cambiar a una nueva cuenta de proveedor de servicios, etapa 101. Por ejemplo, se puede recibir una solicitud para cambiar a una nueva cuenta de proveedor de servicios cuando un usuario inicia un nuevo administrador de conexión o un usuario selecciona un proveedor de servicios diferente de un administrador de conexión común. El procesador 191 puede presentar opcionalmente una pantalla solicitando al usuario que confirme que el usuario tiene la intención de cambiar las cuentas del proveedor de servicios (SP), decisión 131. Al confirmar la intención del usuario, se pueden evitar cambios no deseados o involuntarios en la compilación de software implementado actualmente en el dispositivo móvil 10
[0048] Si el usuario responde negativamente a la consulta (es decir, decisión 131 = No), el procesador 191 cierra el administrador de conexión iniciado (61, 62, 63) o deselecciona el administrador de conexión del administrador de conexión común 60, etapa 135. Una vez que el administrador de conexión se cierra o deselecciona, el procesador 191 puede esperar la próxima solicitud de inicio del administrador de conexión o la selección de un proveedor de servicios diferente, etapa 155.
[0049] Si el usuario confirma la intención de cambiar las cuentas del proveedor de servicios (es decir, la decisión 131 = Sí), el procesador 191 determina si una cuenta con el proveedor de servicios seleccionado se ha activado previamente, decisión 140. En un modo de realización, se puede establecer un indicador en la memoria si una cuenta se ha activado previamente en un proveedor de servicios seleccionado. Este indicador puede registrarse por separado en una tabla de datos indexada de parámetros de software del proveedor de servicios. Se pueden usar otros indicadores además de un indicador para indicar si una cuenta con el proveedor de servicios seleccionado se ha activado previamente. Por ejemplo, en un modo de realización alternativo, el procesador 191 puede verificar el formato del número de identificación móvil (MIN) almacenado en la tabla de datos indexada de los parámetros de software del proveedor de servicios. El MIN es un número de 10 dígitos exclusivo de cada dispositivo móvil que utiliza un proveedor de servicios para identificar dispositivos móviles individuales. Típicamente, después de activar una cuenta con un proveedor de servicios, el formato del MIN se modificará de su formato original del fabricante de 000-000-WXYZ. Si existe el formato original del fabricante, entonces no se ha activado ninguna cuenta anterior en el dispositivo móvil 10.
[0050] Si una cuenta con el proveedor de servicios seleccionado no se ha activado previamente (es decir, decisión 140 = No), entonces el procesador 191 carga la compilación de software para el proveedor de servicios seleccionado no activado, etapa 145. Una vez que se carga la compilación de software, el dispositivo móvil 10 puede intentar la activación en la red de proveedor de servicios seleccionada pero previamente no activada. Si la activación se realizó con éxito (es decir, decisión 146 = Sí), entonces se puede establecer un indicador que indica que se ha activado una cuenta con el proveedor de servicios seleccionado, etapa 150. Después de configurar el indicador que indica que se ha activado una cuenta con el proveedor de servicios seleccionado, puede continuar una llamada y el procesador 191 puede esperar la próxima solicitud de inicio del administrador de conexión o la selección de un proveedor de servicios diferente, etapa 155. Si la activación en la etapa 145 no se realizó con éxito (es decir, decisión 146 = No), entonces el procesador 191 puede repetir la etapa 145 (ver también el diagrama de flujo del proceso ilustrado en la figura 9) en un intento de activar con éxito una cuenta para el proveedor de servicios seleccionado pero no activado previamente. En un modo de realización alternativo, el procesador 191 puede informar al usuario del intento de activación fallido y preguntar si el usuario desea repetir el intento de activación, etapa 147. Si el usuario elige continuar los intentos de activación (es decir, la decisión 147 = Sí), entonces el procesador repite la etapa 145 (ver también el diagrama de flujo del proceso ilustrado en la figura 9) en un intento de activar con éxito una cuenta para el proveedor de servicios seleccionado pero no activado previamente. Sin embargo, si el usuario elige cancelar el intento de activación (es decir, la decisión 147 = No), entonces el procesador 191 puede esperar el próximo lanzamiento del administrador de conexión, o la selección de un proveedor de servicios diferente, etapa 155.
[0051] En un modo de realización alternativo donde el procesador 191 puede verificar el formato del número de identificación móvil (MIN) almacenado en la tabla de datos indexada de los parámetros del software del proveedor de servicios para determinar si una cuenta se ha activado previamente (es decir, la decisión 140), el formato del MIN ya habrá sido modificado del formato original del fabricante durante la etapa 145 de carga de la compilación de software. En consecuencia, la etapa 150 no será necesaria.
[0052] Si el procesador 191 determina que se ha activado previamente una cuenta con el proveedor de servicios seleccionado (es decir, decisión 140 = Sí), entonces el procesador 191 puede cargar la compilación de software del proveedor de servicios seleccionado, etapa 160. Una vez que se carga la compilación de software, el procesador 191 recupera de la memoria no volátil los diversos parámetros y configuraciones previamente almacenados en la tabla de datos indexada de las cuentas del proveedor de servicios, etapa 165. En algunos casos, puede darse el caso de que mientras una cuenta se activó previamente en el dispositivo móvil 10 para el proveedor de servicios seleccionado, la cuenta del proveedor de servicios activada puede haber caducado o haberse abandonado. Esto puede ocurrir, por ejemplo, cuando se ofrecen suscripciones de prueba para el servicio o un usuario elige temporalmente no utilizar más el proveedor de servicios seleccionado para admitir llamadas. En consecuencia, puede ser necesario confirmar que una cuenta todavía está activa/es válida para el proveedor de servicios seleccionado.
[0053] En un modo de realización, el procesador 191 puede solicitar al usuario que confirme que una cuenta anterior en el proveedor de servicios seleccionado estaba previamente activa y que el usuario desea cambiar a esta cuenta previamente activada, decisión 170. Si el usuario confirma que una cuenta anterior en el proveedor de servicios seleccionado estaba previamente activa y que el usuario desea cambiar a esta cuenta previamente activada (es decir, decisión 170 = Sí), el procesador 191 implementa la cuenta del proveedor de servicios seleccionado para admitir sus llamadas de datos y espera la próxima solicitud de inicio del administrador de conexión o la selección de un proveedor de servicios diferente, etapa 155.
[0054] En algunos casos, un usuario puede haber activado previamente una cuenta con el proveedor de servicios seleccionado, pero ha abandonado intencionalmente o no la cuenta del proveedor de servicios activada anteriormente. Por lo tanto, en el caso de abandono intencional, el usuario puede indicar que una cuenta de proveedor de servicio previamente activada ya no está activa (es decir, decisión 170 = No). De forma alternativa, en el caso de abandono involuntario, el usuario puede simplemente no saber si una cuenta en la cuenta del proveedor de servicios seleccionado está activa. Por lo tanto, si el usuario no confirma un deseo de cambiar a la cuenta activada previamente (es decir, decisión 170 = No), el procesador 191 completa un proceso de carga de una compilación de software para un proveedor de servicios previamente no activado. Dado que muchos proveedores de servicios esperan que se use un dispositivo móvil 10 con un único proveedor de servicios, algunas compilaciones de software del proveedor de servicios esperan que el dispositivo móvil 10 esté establecido a sus valores de parámetros y configuración predeterminados de fábrica. Por lo tanto, el procesador 191 puede restablecer el dispositivo móvil 10 a sus valores de parámetros y configuración predeterminados de fábrica, etapa 175. Una vez que el dispositivo móvil 10 se ha restablecido a los valores de parámetros y configuración predeterminados de fábrica originales, el procesador 191 restablece el indicador utilizado en la decisión 140 que indica la activación previa con el proveedor de servicios seleccionado, etapa 176, de modo que el estado de activación para el proveedor de servicios seleccionado se borra cuando el estado activo de la cuenta es indeterminado (es decir, se ha activado una cuenta con el proveedor de servicios seleccionado (decisión 140 = Sí), pero el usuario no ha podido confirmar la activación (decisión 170 = No)). Restablecer el indicador que indica que una cuenta con el proveedor de servicios seleccionado se ha activado previamente requerirá que el usuario active una cuenta con el proveedor de servicios seleccionado la próxima vez que se seleccione el proveedor de servicios. Esto se debe a que la próxima vez que el procesador llegue a la decisión 140, el indicador de restablecimiento creará una salida No. Un experto en la técnica puede apreciar que el usuario final puede tener que ponerse en contacto con el servicio al cliente del proveedor de servicios seleccionado para la activación/reactivación, si es necesario.
[0055] En un modo de realización alternativo en el que el procesador 191 verifica el formato del número de identificación móvil (MIN) almacenado en la tabla de datos indexada de los parámetros de software del proveedor de servicios, la etapa 176 puede ser innecesaria ya que tales modos de realización no utilizan dicho indicador. Además, dado que la etapa 175 restableció previamente el dispositivo móvil a su configuración original de fábrica y la entrada MIN para el proveedor de servicios seleccionado almacenado en la tabla de datos indexada se restablecerá a su formato original de fabricante de 000-000-WXYZ. En consecuencia, en el modo de realización alternativo, el usuario deberá activar una cuenta con el proveedor de servicios seleccionado la próxima vez que se seleccione el proveedor de servicios.
[0056] Una vez que se carga la compilación de software y se restablecen los parámetros predeterminados de fábrica (etapa 175) y cualquier restablecimiento necesario de indicadores, eliminación de datos o restablecimiento de MIN (etapa 176), el procesador 191 implementa la cuenta del proveedor de servicios seleccionado para admitir sus llamadas de datos y espera la próxima solicitud de inicio del administrador de conexión o la selección de un proveedor de servicios diferente, etapa 155.
[0057] Las modos de realización alternativos para confirmar si una cuenta para el proveedor de servicios seleccionado está actualmente activa y es capaz de admitir llamadas se describe con más detalle a continuación con respecto a las figuras 11 y 12.
[0058] La figura 9 es un diagrama de flujo de proceso que ilustra etapas de ejemplo que pueden implementarse para cargar la compilación de software para una cuenta de proveedor de servicios previamente no activada (etapa 145 en la figura 8). Una vez que se selecciona un proveedor de servicios en particular (etapa 101 de la figura 8), el procesador 191 implementa las API y DLL necesarias para el proveedor de servicios seleccionado, etapa 201. A medida que un dispositivo móvil 10 realiza un procedimiento de activación con varios proveedores de servicios para configurar una cuenta, las compilaciones de software asociadas con cada proveedor de servicios pueden almacenarse en la memoria para su posterior recuperación. Las compilaciones de software pueden configurarse en directorios de modo que el procesador pueda localizar rápidamente el archivo de compilación de software apropiado para una recuperación rápida y eficiente. Por ejemplo, cada nueva compilación puede almacenarse en la memoria 192 del dispositivo móvil con un nombre de archivo que difiere de otro por el nombre del proveedor de servicios y/o el nombre de la cuenta. Debido a que las compilaciones de software almacenadas son para cuentas de proveedores de servicios previamente no activadas, todos los parámetros y configuraciones almacenados con las compilaciones de software son parámetros y configuraciones predeterminadas. Estos parámetros y configuraciones predeterminados deben estar de acuerdo con los requisitos de los proveedores de servicios. Los parámetros y configuraciones predeterminados pueden actualizarse durante el proceso de activación. Además, cuando el procesador implementa las API y DLL necesarias para el proveedor de servicios seleccionado (etapa 201), el procesador 191 también puede realizar procedimientos adicionales específicos para cada proveedor de servicios para garantizar que la compilación de software y los parámetros se carguen con éxito en el dispositivo.
[0059] Una vez que se ha localizado y recuperado la nueva compilación de software, se reinicia el servicio de descarga, etapa 202. En un modo de realización, el proceso de reinicio del servicio de descarga puede ser un reinicio del servicio de Windows®. El servicio de descarga puede detenerse y reiniciarse mediante una llamada API. El servicio de descarga puede leer un archivo de configuración. El archivo de configuración puede contener la ruta de acceso a la compilación de software para un proveedor de servicios particular, y otros archivos necesarios para que el dispositivo móvil 10 funcione en la red de ese proveedor de servicios. El servicio de descarga puede leer este archivo de configuración al reiniciar. En consecuencia, puede requerirse que el servicio de descarga se restablezca/reinicie (etapa 202) para que los nuevos cambios en el archivo de configuración puedan tener efecto.
[0060] A continuación, los archivos necesarios se pueden escribir en o eliminar del servicio de archivos extendido (EFS), etapa 204. Los archivos necesarios pueden almacenarse en el módulo de interfaz múltiple 30 durante la producción inicial del dispositivo móvil 10, incorporarse en el paquete de compilación de software, incorporarse en una aplicación de rastreo del administrador de conexión o incorporarse en un paquete de instalación del administrador de conexión común. A medida que se carga la compilación de software para cada nueva cuenta de proveedor de servicios, los archivos del EFS de la cuenta de proveedor de servicios previamente seleccionada se eliminan o reemplazan con los de la cuenta de proveedor de servicios recientemente seleccionada. Una vez que los archivos necesarios se escriben en o se eliminan del EFS, el dispositivo móvil 10 se puede reiniciar para que los nuevos cambios surtan efecto, etapa 205. Con el reinicio del dispositivo móvil 10, se inicia el proceso de activación para el proveedor de servicios seleccionado de modo que se puedan obtener los parámetros y configuraciones apropiados para completar la implementación de la compilación de software, etapa 206. Un experto en la técnica apreciaría que, en algunos casos, se pueda requerir una llamada de servicio a un técnico u operador para el proveedor de servicios seleccionado para iniciar el proceso de activación. Una vez que se completa el proceso de activación, el dispositivo móvil 10 es capaz de admitir la comunicación a través de la red del proveedor de servicios recientemente seleccionado.
[0061] La figura 10 es un diagrama de flujo del proceso que ilustra etapas de ejemplo que pueden implementarse para cargar la compilación de software para una cuenta de proveedor de servicios activada previamente (etapa 160 en la figura 8). El proceso para cargar la compilación de software adecuada para una cuenta de proveedor de servicios previamente activada es similar al proceso para cargar una compilación de software adecuada para una cuenta de proveedor de servicios previamente no activada. Una vez que se selecciona un proveedor de servicios en particular (etapa 101 de la figura 8), el procesador 191 implementa las API y DLL necesarias para el proveedor de servicios seleccionado, etapa 201. El procesador 191 también puede realizar procedimientos adicionales específicos para cada proveedor de servicios para garantizar que la compilación de software y los parámetros se carguen correctamente en el dispositivo. Una vez que se ha localizado y recuperado la nueva compilación de software, se reinicia el servicio de descarga, etapa 202. En un modo de realización, el proceso de reinicio del servicio de descarga puede ser un reinicio del servicio de Windows®. El servicio de descarga puede detenerse y reiniciarse mediante una llamada API. El servicio de descarga puede leer un archivo de configuración. El archivo de configuración puede contener la ruta de acceso a la compilación de software para un proveedor de servicios particular, y otros archivos necesarios para que el dispositivo móvil 10 funcione en la red de ese proveedor de servicios. El servicio de descarga puede leer este archivo de configuración al reiniciar. En consecuencia, puede requerirse que el servicio de descarga se restablezca/reinicie (etapa 202) para que los nuevos cambios en el archivo de configuración puedan tener efecto. Una vez que el servicio de descarga se ha reiniciado (etapa 202), el procesador 191 escribe en o elimina del EFS todos los archivos necesarios para la compilación de software señalada. Una vez que los archivos necesarios se escriben en o se eliminan del EFS, el dispositivo móvil 10 se reinicia para que los nuevos cambios surtan efecto, etapa 205. Con el reinicio del dispositivo móvil 10, el dispositivo móvil 10 puede admitir la comunicación a través de la red del proveedor de servicios recientemente seleccionado. En contraste con el flujo del proceso que se muestra en la figura 9 y se describió anteriormente, dado que el dispositivo móvil 10 ha activado previamente una cuenta con el proveedor de servicios seleccionado, no hay necesidad de iniciar el proceso de activación para el proveedor de servicios seleccionado (etapa 206).
[0062] En muchos casos, cuando se le pregunta, un usuario puede confirmar incorrectamente la activación previa de la cuenta del proveedor de servicios seleccionado (es decir, la decisión 170 = Sí). Dicho de otra manera, muchos usuarios pueden no conocer con precisión el estado de cada posible cuenta de proveedor de servicios previamente activada en su dispositivo móvil 10. Por ejemplo, un usuario puede haber activado intencionadamente o no una suscripción de prueba con un proveedor de servicios en particular. En cualquier caso, el usuario puede no saber que la suscripción de prueba ha caducado, pero los parámetros en el dispositivo móvil 10 se habrán modificado para indicar la activación previa con el proveedor de servicios seleccionado a pesar de la ausencia de una cuenta de proveedor de servicios activa/válida para admitir llamadas en la red del proveedor de servicios seleccionado. En consecuencia, cuando el dispositivo móvil 10 realiza el flujo de proceso que se muestra en la figura 8, el dispositivo móvil 10 intentará cargar la compilación de software para el proveedor de servicios activado anteriormente, pero la red del proveedor de servicios seleccionado no admitirá ninguna llamada porque no hay ninguna cuenta activa/válida para admitir la llamada. Esto puede generar una experiencia desagradable para el usuario y la frustración del usuario para iniciar o recibir una llamada a través de la red del proveedor de servicios seleccionado.
[0063] Aunque se puede implementar el uso de un indicador opcional establecido y almacenado en la memoria para indicar si una cuenta con el proveedor de servicios seleccionado se ha activado previamente, dichos indicadores pueden no ser confiables para indicar si una cuenta con el proveedor de servicios aún está activa o es válida. Este es particularmente el caso donde una cuenta activada previamente no ha sido explícitamente abandonada o ha caducado. En consecuencia, pueden ser necesarios otros modos de realización alternativos para confirmar si una cuenta con el proveedor de servicios seleccionado se ha activado y sigue activa o es válida.
[0064] La figura 11 es un diagrama de flujo de proceso de etapas que pueden implementarse para confirmar automáticamente y/o crear una cuenta activa con el proveedor de servicios seleccionado. Las etapas mostradas en el flujo del proceso de la figura 11 pueden realizarse para obtener la decisión de la decisión 170 en la figura 8. El flujo del proceso comienza inicializando un contador "Error de conexión" al establecer el contador a cero, etapa 260. El dispositivo móvil 10 puede entonces intentar realizar una llamada de datos, etapa 261, y determinar si la llamada de datos tuvo éxito o fue fallida, decisión 262, donde "fallar" es un error de autenticación. La forma más común de error puede ser un error de conexión de red de acceso telefónico de Windows (DUNC) 691. Si la llamada no falló (es decir, la decisión 262 = No), entonces la cuenta del proveedor de servicios se considera válida, etapa 263, y las llamadas pueden ser admitidas en consecuencia por la red del proveedor de servicios seleccionado utilizando la cuenta activa/válida. Por lo tanto, el procesador puede pasar a la etapa 155 para esperar la próxima solicitud de inicio del administrador de conexión o la selección de un proveedor de servicios diferente.
[0065] Sin embargo, si se considera que la llamada de datos ha fallado (es decir, decisión 262 = Sí), entonces el procesador 191 puede determinar si el dispositivo móvil 10 está actualmente dentro del alcance del sistema local del proveedor de servicios seleccionado, decisión 265. Si el dispositivo móvil 10 no está actualmente dentro del alcance del sistema local del proveedor de servicios seleccionado (es decir, decisión 265 = No), el procesador 191 puede suponer que el dispositivo móvil 10 está en estado de itinerancia y puede indicar la condición de itinerancia al usuario. Dado que muchos, si no todos los proveedores de servicios no admiten llamadas de datos en itinerancia, la condición de itinerancia del dispositivo móvil 10 puede evitar que la llamada de datos tenga éxito. Por lo tanto, explica la razón del intento fallido de llamada. El usuario puede tener que esperar hasta que el dispositivo móvil 10 se mueva dentro del alcance del sistema local del proveedor de servicios seleccionado o seleccionar un proveedor de servicios diferente para admitir la llamada. Una vez que se indica la condición de itinerancia al usuario, el procesador 191 puede pasar a la etapa 155 para esperar la próxima solicitud de inicio del administrador de conexión o la selección de un proveedor de servicios diferente.
[0066] Suponiendo una cuenta activa/válida en el proveedor de servicios seleccionado, el intento de llamada debe ser exitoso siempre que el dispositivo móvil 10 esté dentro del alcance del sistema local del proveedor de servicios seleccionado. Por lo tanto, si el procesador determina que el dispositivo móvil 10 está dentro del alcance del sistema local del proveedor de servicios seleccionado (es decir, decisión 265 = Sí), pero la llamada de datos falló (es decir, decisión 262 = Sí), el procesador 191 puede incrementar el Contador FTC, etapa 267, y determinar si el contador FTC es igual a algún valor predeterminado "X", decisión 268. El valor de X es arbitrario y puede seleccionarse de modo que el número de intentos de realizar una llamada de datos no exceda un número inadmisible. Si el contador FTC no es igual a X (es decir, decisión 268 = No), el procesador 191 puede intentar realizar otra llamada de datos, etapa 261.
[0067] Sin embargo, si el contador FTC es igual a X (es decir, decisión 268 = Sí), lo que significa que el número de intentos es igual al valor "no exceder", entonces es probable que la cuenta del proveedor de servicios correspondiente a la compilación de software cargada ya no esté activa. Por lo tanto, se debe activar una nueva cuenta de proveedor de servicios. En consecuencia, cuando el contador FTC es igual a X (es decir, decisión 268 = Sí), entonces los parámetros predeterminados de fábrica pueden restablecerse como en la etapa 175 de la figura 8. Posteriormente, el flujo del proceso mostrado en la FIG. 8 (es decir, las etapas 176 y 155) pueden implementarse para cargar y activar una compilación de software para el proveedor de servicios seleccionado.
[0068] La figura 12 es un diagrama de flujo de proceso de un procedimiento del modo de realización alternativo para confirmar una cuenta activa/válida con el proveedor de servicios seleccionado. El procedimiento ilustrado en la figura 12 es similar al procedimiento mostrado en la figura 11 y realiza las etapas 260-268 de la misma manera que la descrita anteriormente con referencia a la figura 11. Sin embargo, en la figura 12 cuando el contador FTC es igual al valor arbitrario "X" (es decir, decisión 268 = Sí), el procesador 191 cambia las credenciales (MIN, MDN, Perfil MIP, Contraseñas, etc.) almacenadas en la memoria 25 o sistema de archivos 26 a credenciales "de arranque", etapa 280. Las credenciales de arranque son valores de credenciales de trabajo conocidos para cada proveedor de servicios conocido. Las credenciales de arranque para cada proveedor de servicios conocido pueden ser cargadas en el EFS del dispositivo móvil por un OEM o durante la inicialización del dispositivo móvil. Las credenciales de arranque para el proveedor de servicios seleccionado se recuperan del EFS y se escriben en la memoria no volátil.
[0069] Además, los valores/configuraciones de credenciales (contraseña real) actualmente existentes en la memoria no volátil del dispositivo móvil se almacenan en un archivo temporal creado en el EFS. Al cambiar los valores de las credenciales almacenados en la memoria no volátil a los valores de arranque para el proveedor de servicios seleccionado, se puede asegurar que el dispositivo móvil tenga valores de credenciales de trabajo conocidos almacenados en la memoria no volátil que permitirán al dispositivo móvil completar una llamada de datos al menos a un servidor de cuentas 180 (analizado con más detalle a continuación con referencia a las figuras 13 y 14). Una vez que se contacta el servidor de cuentas 180, se puede determinar la información con respecto a todas las cuentas activas que admiten el dispositivo móvil 10.
[0070] Si bien cambiar los valores de credenciales almacenados en la memoria no volátil permitirá una llamada al menos al servidor de cuentas 180, se requerirá una rutina para reparar las configuraciones en el dispositivo móvil. En el flujo del proceso del modo de realización mostrado en la figura 12, como parte del proceso para cambiar las credenciales del dispositivo móvil, el procesador 191 puede crear una copia de todas las credenciales existentes. Una vez que el procesador 191 ha creado una copia de todas las credenciales existentes, el procesador 191 puede indicar al dispositivo móvil 10 que se conecte al servidor de cuentas 180 (véanse las figuras 13 y 14), etapa 281. El servidor de cuentas 180 puede estar conectado con el servidor de Registro de ubicación base del operador/Autenticación, Autorización y Contabilización (HLR/AAA) de cada proveedor de servicios (no se muestra). Al conectarse al servidor HLR/AAA del operador del proveedor de servicios seleccionado, el servidor de cuentas 180 puede determinar si una cuenta en el proveedor de servicios seleccionado está activa/es válida para el dispositivo móvil 10 en cuestión, decisión 282. Si una cuenta con el proveedor de servicios seleccionado está activa (es decir, decisión 282 = Sí), entonces el procesador 191 puede verificar las credenciales previamente existentes que se han copiado y almacenado en un archivo temporal en el EFS con los valores de credenciales almacenados para la cuenta del proveedor de servicios seleccionado en el HLR/AAA del proveedor del servicio seleccionado para determinar una coincidencia, decisión 283. Cualquier distinción entre las credenciales almacenadas en el archivo temporal y las almacenadas para la cuenta del proveedor de servicios seleccionado en el HLR/AAA del proveedor de servicios seleccionado puede ser la causa del intento fallido de llamada de datos. Si las credenciales almacenadas en el archivo temporal en el EFS coinciden con las almacenadas en el servidor HLR/AAA del proveedor de servicios seleccionado (es decir, la decisión 283 = Sí), entonces es probable que exista otra interferencia o causa externa temporal para el intento fallido de llamada de datos. En consecuencia, la cuenta del proveedor de servicios seleccionado probablemente podrá admitir una llamada de datos después de un paso del tiempo o movimiento del dispositivo móvil. En consecuencia, el procesador puede pasar a la etapa 155 para esperar la próxima solicitud de inicio del administrador de conexión o la selección de un proveedor de servicios diferente. Sin embargo, si existe una discrepancia entre las credenciales almacenadas en el archivo temporal en el EFS y las almacenadas en el servidor HLR/AAA del proveedor de servicios seleccionado (es decir, la decisión 283 = No), entonces las credenciales almacenadas en el servidor HLR/AAA del proveedor de servicios seleccionado pueden escribirse en la memoria no volátil del dispositivo móvil 10, etapa 284. Después de que las credenciales almacenadas en la memoria no volátil del dispositivo móvil se actualicen a esos valores de credenciales almacenados en el servidor HLR/AAA del proveedor de servicios seleccionado, el procesador 191 puede volver a la etapa 155 para esperar la próxima solicitud de inicio del administrador de conexión o la selección de un diferente proveedor de servicio.
[0071] En otros modos de realización alternativos (no mostrados), pueden implementarse otras rutinas de reparación que involucran sesiones iniciadas por la red para procedimientos de activación conocidos tales como OTAPA o IOTA iniciada por la red para corregir las credenciales del dispositivo móvil. Dichas rutinas de reparación de modos de realización alternativos también pueden implicar pedir al usuario final que realice procedimientos de activación iniciados por el usuario final conocidos para reparar problemas con el dispositivo móvil. Un experto en la técnica apreciaría que varias disposiciones en OTASP, OTAPA, IOTA y OMADM permiten escribir parámetros específicos en el dispositivo móvil que pueden reparar el dispositivo móvil y, posteriormente, permitir el uso adecuado.
[0072] Sin embargo, si una cuenta con el proveedor de servicios seleccionado no se ha activado previamente (es decir, la decisión 282 = No), entonces es probable que la cuenta del proveedor de servicios correspondiente a la compilación de software cargada ya no esté activa. Por lo tanto, se debe activar una nueva cuenta de proveedor de servicios. En consecuencia, si la cuenta del proveedor de servicios seleccionado no está activa (es decir, la decisión 282 = No), entonces los parámetros predeterminados de fábrica pueden restablecerse como en la etapa 175 de la FIG. 8. Posteriormente, el flujo del proceso mostrado en la FIG. 8 (es decir, las etapas 176 y 155) pueden implementarse para cargar y activar una compilación de software para el proveedor de servicios seleccionado.
[0073] La tabla de datos indexada de las cuentas del proveedor de servicios puede almacenarse en una memoria no volátil 25 contenida dentro del módulo de comunicación 20 para su recuperación por el procesador 191. En un modo de realización alternativo, el contenido de la memoria no volátil puede ubicarse de forma remota. La figura 13 ilustra un sistema de modo de realización en el que la tabla de datos indexada de cuentas de proveedores de servicios puede almacenarse en un servidor de datos remoto. Como se describió anteriormente con referencia a la figura 7, un dispositivo móvil 10 puede comunicarse con una pluralidad de proveedores de servicios 125, 130 para recibir los parámetros, configuraciones y datos de aprovisionamiento necesarios a través de las redes de comunicación 100, 102. De forma alternativa, si el OEM no carga el software y los datos de aprovisionamiento mínimos necesarios en el dispositivo móvil 10, el dispositivo móvil 10 puede conectarse a través de números de teléfono específicos o URL de sitios web mantenidos por el servidor de dirección local 125, 130 del proveedor de servicios a través de conexiones por cable a través de una red de comunicación cableada 104 para iniciar los procedimientos de activación.
[0074] Con referencia a la figura 13, el dispositivo móvil 10 puede transmitir los datos recibidos a un servidor de cuentas 180 para su almacenamiento en una base de datos de cuentas 185 en comunicación con un servidor de cuentas 180 o una unidad de memoria no volátil dentro del servidor de cuentas 180 a través de las redes de comunicación 100, 102 o Internet 104. Cada uno de los diversos parámetros, configuraciones y datos de aprovisionamiento recibidos del proveedor de servicios (125, 130) pueden almacenarse para cada dispositivo móvil individual 10 en comunicación con el servidor de cuentas 180. Por ejemplo, la base de datos de cuentas 185 o la unidad de memoria no volátil dentro del servidor de cuentas 180 puede almacenar una tabla de datos de cuentas que puede ser una tabla de datos de cuentas indexadas para todos los dispositivos móviles atendidos por el servidor de cuentas 180. Cada dispositivo móvil individual puede identificarse en la tabla de datos de cuentas indexadas por el número de teléfono del dispositivo móvil, el número de serie único (como el identificador de equipo móvil (MEID) o el identificador internacional de equipo móvil (IMEI)) o alguna otra designación, como un nombre de cuenta generado o un nombre de cuenta personalizado del usuario. Para cada entrada de dispositivo móvil en la tabla de datos de cuentas indexadas, un registro de tabla de datos indexada como se ilustra en las figuras 3-5 puede ser almacenado. De esta manera, el servidor de cuentas 180 mantiene un registro de los diversos parámetros, configuraciones y datos de aprovisionamiento que un dispositivo móvil particular 10 atendido por el servidor de cuentas 180 ha generado previamente. Al almacenar los parámetros, configuraciones y datos de aprovisionamiento en una base de datos remota, los requisitos de memoria local del dispositivo móvil 10 pueden reducirse drásticamente. Además, el almacenamiento remoto del parámetro, la configuración y los datos de aprovisionamiento pueden proporcionar un grado de seguridad para evitar el acceso sin restricciones a los parámetros, configuración y datos de aprovisionamiento de un usuario en caso de que el dispositivo móvil 10 sea robado o adquirido de forma inapropiada. Esto también es útil para los casos en que un usuario reemplaza voluntariamente el dispositivo móvil 10. La transferencia de datos de las cuentas del proveedor de servicios al nuevo dispositivo móvil 10 es más fácil de lograr con credenciales almacenadas de forma remota.
[0075] La figura 14 ilustra otro sistema de modo de realización alternativo en el que la tabla de datos indexada de las cuentas del proveedor de servicios se almacena en una ubicación de servidor remoto. A medida que se fabrica cada módulo de conjunto de chips basado en radio definida por software, el fabricante le asigna un número de serie único (MEID o IMEI). Típicamente, el fabricante mantiene una lista de estos números de serie en un servidor del fabricante 190 o en una base de datos adjunta (no se muestra por separado). Un servidor 180 de cuentas puede estar en comunicación con el servidor 190 del fabricante para obtener la lista de los números de serie de los conjuntos de chips de radio basada en software fabricados. Estos números de serie en el listado pueden usarse para identificar dispositivos móviles individuales en una tabla de datos de cuentas indexadas. El enlace de comunicación entre el servidor de cuentas 180 y el servidor del fabricante 190 puede ser a través de un enlace directo cableado, a través de Internet 104, o mediante un enlace de comunicación inalámbrica 100, 102. Cuando un dispositivo móvil 10 inicia un procedimiento de inicialización con un proveedor de servicios 125, 130, el número de serie único del dispositivo móvil puede enviarse al proveedor de servicios 125, 130 para que el proveedor de servicios pueda monitorizar el uso de la red de cada dispositivo móvil individual 10. A cambio, el proveedor de servicios seleccionado 125, 130 puede transmitir los parámetros, configuraciones y datos de aprovisionamiento necesarios al dispositivo móvil 10. De forma alternativa o además, los parámetros, configuraciones y datos de aprovisionamiento transmitidos al dispositivo móvil 10 pueden transmitirse al servidor de cuentas 180 para almacenamiento remoto en una tabla de datos indexada. El servidor de cuentas 180 puede almacenar los parámetros, configuraciones y datos de aprovisionamiento en un registro de tabla de datos de cuentas indexadas para cada dispositivo móvil 10 atendido por el servidor de cuentas 180. Al almacenar los parámetros, configuraciones y datos de aprovisionamiento en una base de datos remota, los requisitos de memoria local del dispositivo móvil 10 pueden reducirse drásticamente. Además, el almacenamiento remoto de los parámetros, configuraciones y datos de aprovisionamiento puede proporcionar un grado de seguridad para evitar el acceso sin restricciones a los parámetros, configuraciones y datos de aprovisionamiento de un usuario en caso de que el dispositivo móvil 10 sea robado o adquirido de manera inapropiada. Además, en modos de realización donde los parámetros, configuraciones y datos de aprovisionamiento se envían directamente al servidor de cuentas 180 y luego se descargan posteriormente al dispositivo móvil 10 según sea necesario, se puede conservar la potencia de procesamiento y la duración de la batería. Además, al almacenar cada uno de los diversos parámetros, configuraciones y datos de aprovisionamiento para cada una de las cuentas de proveedores de servicios activadas por el dispositivo móvil 10 en una ubicación central, un procesador puede realizar un seguimiento rápido y eficiente de qué proveedores de servicios se han activado en un dispositivo móvil particular 10.
[0076] Como se analizó previamente, puede ser importante para un dispositivo móvil 10 rastrear qué administrador de conexión está funcionando actualmente y asegurarse de que no se inicie un administrador de conexión posterior hasta que se cierre el administrador de conexión actualmente operativo. Esto se debe a que el lanzamiento de un administrador de conexión posterior mientras el administrador de conexión actual está funcionando actualmente puede causar colisiones fatales y un apagado del procesador del dispositivo móvil 191. En consecuencia, se puede incluir un rastreador de administrador de conexión 50 para proporcionar el proceso necesario para asegurar que dos administradores de conexión no se inicien simultáneamente en el mismo procesador 191. Por lo tanto, cada vez que se inicia un administrador de conexión, un indicador que indica que un administrador de conexión está activo se puede establecer en la memoria. Además, el nombre del administrador de conexión lanzado actualmente puede almacenarse en la memoria o en una memoria intermedia. Cada vez que el procesador 191 recibe una solicitud para iniciar un administrador de conexión, el procesador 191 puede verificar primero el indicador activo del administrador de conexión para determinar si está establecido. Si no está establecido, entonces ningún administrador de conexión está activo actualmente. Por lo tanto, el nuevo administrador de conexión puede iniciarse sin incidentes. Sin embargo, si se establece el indicador activo del administrador de conexión, el procesador 191 puede verificar qué administrador de conexión está activo actualmente. Si el administrador de conexión actualmente activo difiere del administrador de conexión seleccionado por el usuario para el inicio, entonces el procesador 191 debe desactivar el administrador de conexión actualmente activo antes de iniciar el administrador de conexión seleccionado. Tal proceso de rastreo del administrador de conexión puede usarse en modos de realización en los que existe un administrador de conexión independiente para cada cuenta de proveedor de servicios o en modos de realización en los que un administrador de conexión común 60 permite a un usuario seleccionar una cuenta de proveedor de servicios particular de una pluralidad de posibles selecciones.
[0077] Como se analizó previamente, en cualquier momento un procesador 191 puede recibir una solicitud de un usuario para iniciar un administrador de conexión que soporte una cuenta de proveedor de servicio particular. Por ejemplo, si el dispositivo móvil 10 es un teléfono celular, donde las comunicaciones típicamente siempre están activas, la solicitud de iniciar un administrador de conexión sería en respuesta a un usuario que busca cambiar la cuenta del proveedor de servicios que actualmente soporta las comunicaciones. En otros casos, como cuando el dispositivo móvil 10 es una ordenador portátil con un módem inalámbrico, las capacidades de comunicación no siempre están activas. Por lo tanto, el lanzamiento de un administrador de conexión puede indicar que el usuario desea habilitar la capacidad de comunicación inalámbrica de la ordenador portátil. Para evitar instrucciones contradictorias para el módulo 20 de conjunto de chips basado en radio definida por software, un administrador de conexión habilitado actualmente debe desactivarse antes de que se active un nuevo administrador de conexión. Si dos administradores de conexión diferentes se activan simultáneamente, las posibles compilaciones de software en conflicto (por ejemplo, una compilación de software GSM y una compilación de software CDMA) pueden causar errores en el módulo 20 de conjunto de chips basado en radio definida por software. En consecuencia, puede desearse un proceso para rastrear y controlar qué administrador de conexión está activado actualmente.
[0078] La figura 15 es un diagrama de flujo de proceso que ilustra etapas de ejemplo que pueden implementarse mediante un rastreador de administrador de conexión a modo de ejemplo. Como parte de un proceso de rastreo del administrador de conexión, un dispositivo móvil 10 puede almacenar una tabla de parámetros en la memoria o en una memoria intermedia que contiene los valores para varios parámetros relacionados con la actividad de varios administradores de conexión. Estos parámetros pueden incluir un valor para el administrador de conexión actual en uso (CM en uso), la última compilación de software implementada en el dispositivo móvil (última compilación usada) y la compilación de software implementada para el administrador de conexión actualmente seleccionado (compilación para CM actual). El OEM puede inicializar un dispositivo móvil 10 con ciertos valores para cada uno de estos parámetros. Por ejemplo, el dispositivo móvil 10 puede inicializarse para establecer los parámetros "CM en uso", "Última compilación usada" y "Compilación para CM actual" en "ninguno". En cualquier momento, un procesador 191 puede recibir una solicitud para iniciar un administrador de conexión que admita una cuenta de proveedor de servicio particular, etapa 220. Al recibir la solicitud para iniciar un administrador de conexión, el procesador 191 puede determinar si un administrador de conexión se está ejecutando actualmente, decisión 225. El procesador 191 puede realizar esta determinación comprobando el valor almacenado en la tabla de parámetros almacenada en la memoria para el valor "CM en uso". Si el valor "CM en uso" no es "ninguno", entonces el procesador 191 determinará que un administrador de conexión está actualmente en uso (es decir, decisión 225 = Sí). Si se está utilizando un administrador de conexión, entonces el procesador 191 puede mostrar un mensaje de error al usuario que indica que ya se está ejecutando un administrador de conexión, etapa 230. El mensaje de error puede indicar opcionalmente que si el usuario desea cambiar los administradores de conexión, el administrador de conexión actualmente activo debe cerrarse antes de iniciar el administrador de conexión actualmente seleccionado. Una vez que se muestra el mensaje de error al usuario, el procesador 191 puede esperar la próxima solicitud de inicio del administrador de conexión o la selección de un proveedor de servicios diferente, etapa 155.
[0079] Sin embargo, si el procesador 191 determina que actualmente no se está ejecutando ningún administrador de conexión, el procesador 191 ingresa un valor para el parámetro "CM en uso" como el nombre del proveedor de servicios de la solicitud del administrador de conexión seleccionado, etapa 235. El procesador 191 también cambia el valor del parámetro "Compilación para CM actual" en la tabla de parámetros al nombre del proveedor de servicios de la solicitud de administrador de conexión seleccionada, etapa 240. El procesador 191 puede determinar si el administrador de conexión seleccionado actualmente para su inicio es el mismo o diferente del último administrador de conexión iniciado, decisión 245. El procesador 191 puede comparar los valores de los parámetros de "Compilación para CM actual" y "Última compilación usada" almacenados en la tabla de parámetros. En los casos en los que el dispositivo móvil 10 se utiliza por primera vez para habilitar las capacidades de comunicación, el valor del parámetro "Última compilación usada" será el valor inicializado de "ninguno". Como resultado, la comparación del valor del parámetro "Compilación para CM actual" no coincidirá con el valor del parámetro "Última compilación usada" (es decir, decisión 245 = No). Además, si el usuario ha seleccionado iniciar un administrador de conexión diferente del administrador de conexión iniciado inmediatamente antes del administrador de conexión instantáneo, la comparación del parámetro "Compilación para CM actual" y "Última compilación usada" no dará lugar a una coincidencia (es decir, decisión 245 = No). Si la comparación de los parámetros "Compilación para CM actual" y "Última compilación usada" no da como resultado una coincidencia (es decir, decisión 245 = No), el procesador puede implementar el flujo del proceso para reprogramar el dispositivo móvil 10 descrito anteriormente con referencia a la figura 6, etapa 250. Una vez que el dispositivo móvil 10 se ha reprogramado con la compilación de software para la cuenta del proveedor de servicios seleccionado, el procesador 191 puede establecer el valor del parámetro "Última compilación usada" para indicar que la última compilación utilizada es la compilación de software del proveedor de servicios actualmente seleccionado, etapa 255. Una vez que el nuevo valor del parámetro "Última compilación usada" se almacena en la memoria, el procesador 191 puede esperar la próxima solicitud de inicio del administrador de conexión o la selección de un proveedor de servicios diferente, etapa 155.
[0080] Si la comparación de los parámetros "Compilación para CM actual" y "Última compilación usada" da como resultado una coincidencia (es decir, decisión 245 = Sí), entonces el procesador 191 no tiene que reprogramar el dispositivo móvil 10 con una nueva compilación de software y la compilación de software cargada previamente pueden continuar admitiendo comunicaciones. En consecuencia, el procesador 191 puede establecer el valor del parámetro "Última compilación usada" para indicar que la última compilación usada es la compilación de software del proveedor de servicios seleccionado actualmente, etapa 255. Una vez que el nuevo valor del parámetro "Última compilación usada" se almacena en la memoria, el procesador 191 puede esperar la próxima solicitud de inicio del administrador de conexión o la selección de un proveedor de servicios diferente, etapa 155. En un modo de realización opcional, el procesador 191 puede simplemente omitir la etapa 255 y esperar la próxima solicitud de inicio del administrador de conexión o la selección de un proveedor de servicios diferente.
[0081] Cuando un usuario elige deshabilitar las capacidades de comunicación del dispositivo móvil 10, el usuario puede cerrar cualquier administrador de conexión que se esté ejecutando actualmente. En tales casos, el procesador 191 cerrará el administrador de conexión que se está ejecutando actualmente y establecerá el valor del parámetro "CM en uso" en "ninguno".
[0082] Los modos de realización descritos anteriormente también pueden implementarse en cualquiera de una variedad de sistemas de servidor, como se ilustra en la figura 16. Dicho servidor 309 incluye típicamente un procesador 361 acoplado a la memoria volátil 362 y una memoria no volátil de gran capacidad, tal como un disco duro 363. El procesador 361 está acoplado a uno o más circuitos de interfaz de red, tales como módems de alta velocidad 364 acoplados a una red 365 como Internet. El ordenador 360 también puede incluir un lector de medios portátil, tal como una unidad de disco compacto (CD) 366 acoplada al procesador 361.
[0083] Los expertos en la técnica apreciarán además que los diversos bloques lógicos, módulos, circuitos y etapas de algoritmo ilustrativos descritos en relación con los modos de realización divulgados en el presente documento pueden implementarse como hardware electrónico, software informático o combinaciones de ambos. Para ilustrar claramente esta intercambiabilidad de hardware y software, anteriormente se han descrito diversos componentes, bloques, módulos, circuitos y etapas ilustrativos, en general, en lo que respecta a su funcionalidad. Que dicha funcionalidad se implemente como hardware o software depende de la aplicación particular y de las restricciones de diseño impuestas en el sistema general. Los expertos en la técnica pueden implementar la funcionalidad descrita de formas distintas para cada solicitud particular, pero no debería interpretarse que dichas decisiones de implementación suponen apartarse del alcance de la presente invención.
[0084] Las etapas de un procedimiento o algoritmo descrito en relación con los modos de realización divulgados en el presente documento se pueden realizar directamente en hardware, en un módulo de software ejecutado por un procesador o en una combinación de los dos. Un módulo de software puede residir en una memoria legible por procesador, que puede ser cualquiera de memoria RAM, memoria flash, memoria ROM, memoria EPROM, memoria EEPROM, registros, disco duro, disco extraíble, CD-ROM o cualquier otra forma de medio de almacenamiento conocido en la técnica. Un medio de almacenamiento a modo de ejemplo está acoplado al procesador de modo que el procesador pueda leer información de, y escribir información en, el medio de almacenamiento. Como alternativa, el medio de almacenamiento puede estar integrado en el procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en un terminal de usuario o dispositivo móvil. Como alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en un terminal de usuario o dispositivo móvil. Adicionalmente, en algunos aspectos, las etapas y/o acciones de un procedimiento o algoritmo pueden residir como una o cualquier combinación o conjunto de códigos y/o instrucciones en un medio legible por máquina y/o un medio legible por ordenador, que pueden estar incorporados en un producto de programa informático.
[0085] La descripción anterior de los diversos modos de realización preferentes se proporciona para permitir que cualquier experto en la técnica realice o use la presente invención. Diversas modificaciones de estos modos de realización resultarán fácilmente evidentes a los expertos en la técnica, y los principios genéricos definidos en el presente documento se pueden aplicar a otros modos de realización sin apartarse del alcance de la presente invención. Por tanto, la presente invención no está prevista para limitarse a los modos de realización mostrados en el presente documento, sino que a las reivindicaciones se le concede el alcance más amplio consecuente con los principios y las características novedosas divulgados en el presente documento.

Claims (15)

REIVINDICACIONES
1. Un procedimiento para programar un dispositivo móvil (10) con una compilación de software que admite una cuenta de proveedor de servicios seleccionada que comprende:
recibir una selección de cuenta de proveedor de servicios;
determinar si una cuenta con el proveedor de servicios seleccionado está activada;
recuperar parámetros y configuraciones de la compilación de software de una memoria no volátil (25) correspondiente a la cuenta del proveedor de servicios seleccionado; e implementar la compilación de software que admite la cuenta del proveedor de servicios seleccionado usando los parámetros y configuraciones de la compilación de software recuperados para reprogramar un procesador de señales digitales programable dentro de un conjunto de chips basado en radio definida por software del dispositivo móvil (10) para generar una señal de datos compatible con un red de proveedor de servicios seleccionado;
en el que la implementación de la compilación de software comprende compilar la compilación de software en el dispositivo móvil (10).
2. El procedimiento según la reivindicación 1, en el que la implementación de la compilación de software que admite la cuenta del proveedor de servicios seleccionado comprende, además:
recuperar una interfaz de programación de aplicaciones y una biblioteca de enlace dinámico correspondiente a la cuenta del proveedor de servicios seleccionado de la memoria;
implementar la interfaz de programación de aplicaciones y la biblioteca de enlace dinámico;
reiniciar un servicio de descarga;
eliminar todos los parámetros, configuraciones, archivos y datos de aprovisionamiento anteriores de un servicio de archivos extendido;
escribir los parámetros, datos de aprovisionamiento, archivos y configuraciones de la compilación de software recuperados en el servicio de archivos extendido;
almacenar los parámetros, archivos, datos de aprovisionamiento y configuraciones de la compilación de software recuperados en la memoria no volátil (25); y
reiniciar el dispositivo móvil (10).
3. El procedimiento según la reivindicación 1, en el que la implementación de la compilación de software que admite la cuenta del proveedor de servicios seleccionado comprende, además:
recuperar una interfaz de programación de aplicaciones y una biblioteca de enlace dinámico correspondiente a la cuenta del proveedor de servicios seleccionado de la memoria;
implementar la interfaz de programación de aplicaciones y la biblioteca de enlace dinámico;
reiniciar un servicio de descarga;
eliminar todos los parámetros, configuraciones, archivos y datos de aprovisionamiento anteriores de un servicio de archivos extendido;
escribir los parámetros, archivos, datos de aprovisionamiento y configuraciones de la compilación de software recuperados en el servicio de archivos extendido;
almacenar los parámetros, archivos, datos de aprovisionamiento y configuraciones de la compilación de software recuperados en la memoria no volátil (25);
reiniciar el dispositivo móvil (10); e
iniciar un procedimiento de activación para el proveedor de servicios seleccionado;
comprendiendo, además, el procedimiento en particular:
determinar si la compilación de software que admite la cuenta del proveedor de servicios seleccionado se implemento con éxito;
repetir las etapas para implementar la compilación de software si la compilación de software no se implementó con éxito; y
establecer un indicador de activación de cuenta para el proveedor de servicios seleccionado.
4. El procedimiento según la reivindicación 2, que comprende, además, confirmar la activación previa de la cuenta del proveedor de servicios seleccionado;
en particular, en el que dicha confirmación de activación previa de la cuenta del proveedor de servicios seleccionado comprende, además:
intentar realizar una llamada de datos;
determinar si el intento de llamada de datos se realizó con éxito;
determinar si el dispositivo móvil (10) está ubicado dentro de la red local (100, 102) para la cuenta del proveedor de servicios seleccionado si la llamada de datos no se ha realizado con éxito;
indicar una condición de itinerancia si se determina que el dispositivo móvil (10) está ubicado fuera de la red local (100, 102) para la cuenta del proveedor de servicios seleccionado; y
restablecer los parámetros predeterminados de fábrica y un indicador de activación de cuenta para el proveedor de servicios seleccionado si se determina que el dispositivo móvil (10) no está ubicado fuera de la red local (100, 102) para la cuenta del proveedor de servicios seleccionado;
comprendiendo, además, el procedimiento en particular:
restablecer un contador de error de conexión a cero;
incrementar el contador de error de conexión si la llamada de datos no se ha realizado con éxito y se determina que el dispositivo móvil (10) está dentro de la red local (100, 102) para la cuenta del proveedor de servicios seleccionado;
determinar si el contador de error de conexión es igual a un número predeterminado; y
repetir los intentos de realizar una llamada de datos si el número de intentos de conexión no es igual al número predeterminado en el que dicho restablecimiento de los parámetros predeterminados de fábrica y el indicador de activación de cuenta para el proveedor de servicios seleccionado se realiza solo si el contador de error de conexión es igual al número predeterminado de intentos de conexión.
5. El procedimiento según la reivindicación 2, que comprende, además:
confirmar la activación previa de la cuenta del proveedor de servicios seleccionado;
intentar realizar una llamada de datos;
determinar si el intento de llamada de datos se realizó con éxito;
determinar si el dispositivo móvil (10) está ubicado dentro de la red local (100, 102) para la cuenta del proveedor de servicios seleccionado si la llamada de datos no se ha realizado con éxito;
indicar una condición de itinerancia si se determina que el dispositivo móvil (10) está ubicado fuera de la red local (100, 102) para la cuenta del proveedor de servicios seleccionado;
almacenar valores de credenciales de dispositivo móvil (10) existentes en un archivo temporal en la memoria (25);
cambiar los valores de credenciales del dispositivo móvil (10) existentes a valores de credenciales de trabajo conocidos para el proveedor de servicios seleccionado si el intento de llamada de datos no tiene éxito y el dispositivo móvil (10) no está ubicado fuera de la red local (100, 102) para el proveedor de servicios seleccionado;
contactar un servidor de cuentas (180) para determinar si la cuenta del proveedor de servicios seleccionado está activa;
realizar una rutina de reparación si se determina que la cuenta del proveedor de servicios seleccionado está activa; y
restablecer los parámetros predeterminados de fábrica y un indicador de activación de cuenta para la cuenta del proveedor de servicios seleccionado si el servidor de cuentas (180) determina que la cuenta del proveedor de servicios seleccionada no está activa;
comprendiendo, además, el procedimiento en particular:
a):
restablecer un contador de error de conexión a cero;
incrementar el contador de error de conexión si la llamada de datos no se ha realizado con éxito y se determina que el dispositivo móvil (10) está dentro de la red local (100, 102) para la cuenta del proveedor de servicios seleccionado;
determinar si el contador de error de conexión es igual a un número predeterminado; y
repetir los intentos de realizar una llamada de datos si el número de intentos de conexión no es igual al número predeterminado, en el que la etapa de cambiar los valores de credenciales del dispositivo móvil existentes a valores de credenciales de trabajo conocidos para el proveedor de servicios seleccionado se realiza solo si el contador de error de conexión es igual al número predeterminado de intentos de conexión; o b):
comparar los valores de credenciales del dispositivo móvil (10) existentes con los valores de credenciales de cuenta del proveedor de servicios seleccionado almacenados en el servidor de Registro de ubicación base/Autenticación, Autorización y Contabilización, HLR/AAA del proveedor de servicios seleccionado para determinar si existe una discrepancia entre los valores si se determina que la cuenta con el proveedor de servicios seleccionado está activa; y
cambiar los valores de credenciales de trabajo conocidos a los valores de credenciales almacenados en el servidor HLR/AAA del proveedor de servicios seleccionado si existe una discrepancia.
6. Un dispositivo móvil (10) que comprende:
medios para recibir una selección de cuenta de proveedor de servicios;
medios para determinar si una cuenta con el proveedor de servicios seleccionado está activada; caracterizado por que el dispositivo móvil (10) comprende, además, medios para recuperar parámetros y configuraciones de la compilación de software de una memoria no volátil (25) correspondiente a la cuenta del proveedor de servicios seleccionado; y
medios para implementar la compilación de software que admite la cuenta del proveedor de servicios seleccionado usando los parámetros y configuraciones de la compilación de software recuperados para reprogramar un procesador de señales digitales programable dentro de un conjunto de chips basado en radio definida por software del dispositivo móvil (10) para generar una señal de datos compatible con una red de proveedores de servicios seleccionados;
en el que implementar la compilación de software comprende compilar la compilación de software.
7. El dispositivo móvil (10) según la reivindicación 6, en el que dichos medios para implementar la compilación de software que admite la cuenta del proveedor de servicios seleccionado comprenden, además:
medios para recuperar de la memoria una interfaz de programación de aplicaciones y una biblioteca de enlace dinámico correspondiente a la cuenta del proveedor de servicios seleccionado;
medios para implementar la interfaz de programación de aplicaciones y la biblioteca de enlace dinámico; medios para restablecer un servicio de descarga;
medios para eliminar todos los parámetros, configuraciones, archivos y
datos de aprovisionamiento anteriores de un servicio de archivos extendido;
medios para escribir los parámetros, datos de aprovisionamiento, archivos y configuraciones de la compilación de software recuperados en el servicio de archivos extendido;
medios para almacenar los parámetros, archivos, datos de aprovisionamiento y configuraciones de la compilación de software recuperados en la memoria no volátil (25); y
medios para reiniciar el dispositivo móvil (10).
8. El dispositivo móvil (10) según la reivindicación 6, en el que dichos medios para implementar la compilación de software que admite la cuenta del proveedor de servicios seleccionado comprenden, además:
medios para recuperar de la memoria una interfaz de programación de aplicaciones y una biblioteca de enlace dinámico correspondiente a la cuenta del proveedor de servicios seleccionado;
medios para implementar la interfaz de programación de aplicaciones y la biblioteca de enlace dinámico; medios para restablecer un servicio de descarga;
medios para eliminar todos los parámetros, configuraciones, archivos y datos de aprovisionamiento anteriores de un servicio de archivos extendido;
medios para escribir los parámetros, archivos, datos de aprovisionamiento y configuraciones de la compilación de software recuperados en el servicio de archivos extendido;
medios para almacenar los parámetros, archivos, datos de aprovisionamiento y configuraciones de compilación de software recuperados en la memoria no volátil (25);
medios para restablecer el dispositivo móvil (10); y
medios para iniciar un procedimiento de activación para el proveedor de servicios seleccionado; comprendiendo, además, el dispositivo móvil (10) en particular:
medios para determinar si la compilación de software que admite la cuenta del proveedor de servicios seleccionado se implementó con éxito;
medios para repetir las etapas para implementar la compilación de software si la compilación de software no se implementó con éxito; y
medios para configurar un indicador de activación de cuenta para el proveedor de servicios seleccionado.
9. El dispositivo móvil (10) según la reivindicación 7, que comprende, además, medios para confirmar la activación previa de la cuenta del proveedor de servicios seleccionado; en particular, en el que dicho medio para confirmar la activación previa de la cuenta del proveedor de servicios seleccionado comprende, además:
medios para intentar realizar una llamada de datos;
medios para determinar si el intento de llamada de datos se realizó con éxito;
medios para determinar si el dispositivo móvil (10) está ubicado dentro de la red local (100, 102) para la cuenta del proveedor de servicios seleccionado si la llamada de datos no se ha realizado con éxito;
medios para indicar una condición de itinerancia si se determina que el dispositivo móvil (10) está ubicado fuera de la red local (100, 102) para la cuenta del proveedor de servicios seleccionado;
medios para restablecer los parámetros predeterminados de fábrica; y
medios para restablecer los parámetros predeterminados de fábrica y un indicador de activación de cuenta para el proveedor de servicios seleccionado si se determina que el dispositivo móvil (10) no está ubicado fuera de la red local (100, 102) para la cuenta del proveedor de servicios seleccionado;
comprendiendo, además, el dispositivo móvil (10) en particular:
medios para restablecer un contador de error de conexión a cero;
medios para incrementar el contador de error de conexión si la llamada de datos no tiene éxito y se determina que el dispositivo móvil (10) está dentro de la red local (100, 102) para la cuenta del proveedor de servicios seleccionado; medios para determinar si el contador de error de conexión es igual a un número predeterminado; y
medios para repetir intentos de realizar una llamada de datos si el contador de error de conexión no es igual al número predeterminado, en el que dichos medios para restablecer los parámetros predeterminados de fábrica y medios para restablecer el indicador de activación de cuenta para el proveedor de servicios seleccionado lo hacen solo si el contador de error de conexión equivale al número predeterminado de intentos de conexión.
10. El dispositivo móvil (10) según la reivindicación 7, que comprende, además:
medios para confirmar la activación previa de la cuenta del proveedor de servicios seleccionado; medios para intentar realizar una llamada de datos;
medios para determinar si el intento de llamada de datos se realizó con éxito;
medios para determinar si el dispositivo móvil (10) está ubicado dentro de la red local (100, 102) para la cuenta del proveedor de servicios seleccionado si la llamada de datos no se ha realizado con éxito;
medios para indicar una condición de itinerancia si se determina que el dispositivo móvil (10) está ubicado fuera de la red local (100, 102) para la cuenta del proveedor de servicios seleccionado;
medios para almacenar valores de credenciales de dispositivo móvil (10) existentes en un archivo temporal en la memoria (25);
medios para cambiar los valores de credenciales del dispositivo móvil (10) existentes a valores de credenciales de trabajo conocidos para el proveedor de servicios seleccionado si el intento de llamada de datos no tiene éxito y el dispositivo móvil (10) no está ubicado fuera de la red local (100, 102) para el proveedor de servicios seleccionado;
medios para contactar un servidor de cuentas (180) para determinar si la cuenta del proveedor de servicios seleccionado está activa;
medios para realizar una rutina de reparación si se determina que la cuenta del proveedor de servicios seleccionado está activa;
medios para restablecer los parámetros predeterminados de fábrica; y
medios para restablecer un indicador de activación de cuenta para la cuenta del proveedor de servicios seleccionado si el servidor de cuentas determina que la cuenta del proveedor de servicios seleccionado no está activa;
comprendiendo, además, el dispositivo móvil (10) en particular:
a) :
medios para restablecer un contador de error de conexión a cero;
medios para incrementar el contador de error de conexión si la llamada de datos no tiene éxito y se determina que el dispositivo móvil está dentro de la red local para la cuenta del proveedor de servicios seleccionado;
medios para determinar si el contador de error de conexión es igual a un número predeterminado; y medios para repetir los intentos de realizar una llamada de datos si el número de intentos de conexión no es igual al número predeterminado, en el que dichos medios para cambiar los valores de credenciales del dispositivo móvil (10) existentes a valores de credenciales de trabajo conocidos para el proveedor de servicios seleccionado lo hacen solo si el contador de error de conexión es igual al número predeterminado de intentos de conexión;
o b):
medios para comparar los valores de credenciales del dispositivo móvil (10) existentes con los valores de credenciales de cuenta del proveedor de servicios seleccionado almacenados en el servidor de Registro de ubicación base/Autenticación, Autorización y Contabilización, HLR/AAA del proveedor de servicios seleccionado para determinar si existe una discrepancia entre valores si se determina que la cuenta con el proveedor de servicios seleccionado está activa; y
medios para cambiar los valores de credenciales de trabajo conocidos a los valores de credenciales almacenados en el servidor HLR/AAA del proveedor de servicios seleccionado si existe una discrepancia.
11. Un medio legible por ordenador que comprende instrucciones ejecutables por ordenador para realizar las etapas del procedimiento de acuerdo con una cualquiera de las reivindicaciones 1 a 5 cuando se ejecutan en un ordenador.
12. Un sistema para programar dispositivos móviles (10) con una compilación de software que admite una cuenta de proveedor de servicios seleccionada, que comprende:
al menos un dispositivo móvil (10) de acuerdo con la reivindicación 6;
un servidor de cuentas (180) configurado para almacenar todos los parámetros y configuraciones necesarios con respecto a cada compilación de software implementada en al menos un dispositivo móvil (10); y una red de comunicación (100, 102) que conecta al menos un dispositivo móvil (10) con el servidor de cuentas (180).
13. El sistema según la reivindicación 12, que comprende, además:
al menos un servidor de aprovisionamiento del proveedor de servicios seleccionado configurado para proporcionar al menos un dispositivo móvil (10) con todos los parámetros y configuraciones necesarios con respecto a la compilación de software que admite la cuenta del proveedor de servicios seleccionado a través de la red de comunicación.
14. El sistema según la reivindicación 13, además, en el que el al menos un servidor de aprovisionamiento del proveedor de servicios seleccionado está conectado al servidor de cuentas (180) a través de la red de comunicación (100, 102) y proporciona al servidor de cuentas (180) todos los parámetros y configuraciones necesarios con respecto a la compilación de software que admite la cuenta del proveedor de servicios seleccionado para al menos un dispositivo móvil (10).
15. El sistema según la reivindicación 12, que comprende, además, un servidor del fabricante (190) en comunicación con el servidor de cuentas (180) y configurado para mantener un listado de cada número de serie único asignado a cada uno de los al menos un dispositivo móvil (10) que comprende el módulo de conjunto de chips de radio definida por software y comunicar el listado al servidor de cuentas (180);
en particular, en el que el servidor de cuentas (180) mantiene una tabla de datos indexada de al menos un dispositivo móvil (10) que comprende módulos de comunicación de conjunto de chips de radio definida por software y todos los parámetros y configuraciones necesarios con respecto a cada compilación de software implementada en cada uno de los al menos un dispositivo móvil (10).
ES10721894T 2009-05-17 2010-05-17 Procedimiento y aparato para programar un dispositivo móvil con múltiples cuentas de servicio Active ES2767876T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/467,281 US8417231B2 (en) 2009-05-17 2009-05-17 Method and apparatus for programming a mobile device with multiple service accounts
PCT/US2010/035149 WO2010135257A1 (en) 2009-05-17 2010-05-17 Method and apparatus for programming a mobile device with multiple service accounts

Publications (1)

Publication Number Publication Date
ES2767876T3 true ES2767876T3 (es) 2020-06-18

Family

ID=42490883

Family Applications (1)

Application Number Title Priority Date Filing Date
ES10721894T Active ES2767876T3 (es) 2009-05-17 2010-05-17 Procedimiento y aparato para programar un dispositivo móvil con múltiples cuentas de servicio

Country Status (8)

Country Link
US (1) US8417231B2 (es)
EP (1) EP2433438B1 (es)
JP (1) JP5613762B2 (es)
KR (1) KR101417241B1 (es)
CN (1) CN102422658B (es)
ES (1) ES2767876T3 (es)
HU (1) HUE047345T2 (es)
WO (1) WO2010135257A1 (es)

Families Citing this family (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2068597A1 (en) * 2007-12-07 2009-06-10 Gemalto SA A method for loading credentials into a mobile communication device such as a mobile phone.
US9170870B1 (en) 2013-08-27 2015-10-27 Sprint Communications Company L.P. Development and testing of payload receipt by a portable electronic device
US8453140B2 (en) * 2009-04-28 2013-05-28 Qualcomm Incorporated Method for generically handling carrier specific provisioning for computer cellular wireless cards
US8417234B2 (en) 2009-05-17 2013-04-09 Qualcomm Incorporated Method and apparatus for tracking the programming of a mobile device with multiple service accounts
US8756256B2 (en) * 2010-05-26 2014-06-17 Qualcomm Incorporated Method and systems for the management of non volatile items and provisioning files for a communication device with multiple service accounts
US8249649B2 (en) * 2010-07-02 2012-08-21 Google Inc. Mobile device configured to operate on multiple different networks
US8633896B2 (en) * 2010-12-15 2014-01-21 Blackberry Limited Communication device
US8924489B2 (en) 2011-01-05 2014-12-30 Apple Inc. Message push notification client improvements for multi-user devices
US9609587B2 (en) 2011-01-31 2017-03-28 Synchronoss Technologies, Inc. System and method for host and OS agnostic management of connected devices through network controlled state alteration
US8850016B1 (en) * 2011-03-23 2014-09-30 Sprint Spectrum L.P. Provisionable-services clearinghouse for authorizing and tracking a mobile device's access to multiple types of services and multiple service providers
US8612967B1 (en) 2011-05-31 2013-12-17 Sprint Communications Company L.P. Loading branded media outside system partition
EP2560434A1 (en) 2011-08-19 2013-02-20 Gemalto SA Method for switching a subscription from a first MNO to a second MNO
KR101909260B1 (ko) * 2011-11-25 2018-10-18 주식회사 케이티 어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말
US8666383B1 (en) 2011-12-23 2014-03-04 Sprint Communications Company L.P. Automated branding of generic applications
US10455071B2 (en) 2012-05-09 2019-10-22 Sprint Communications Company L.P. Self-identification of brand and branded firmware installation in a generic electronic device
US8649788B1 (en) * 2012-08-13 2014-02-11 Sprint Communications Company L.P. Dynamic wireless transceiver selection in a wireless communication device
US9198027B2 (en) 2012-09-18 2015-11-24 Sprint Communications Company L.P. Generic mobile devices customization framework
US9615401B2 (en) * 2012-12-11 2017-04-04 Qualcomm Incorporated Methods and apparatus for updating a device configuration
ES2647088T3 (es) * 2012-12-21 2017-12-19 Giesecke+Devrient Mobile Security Gmbh Procedimientos y dispositivos para la gestión de suscripciones OTA
US8909291B1 (en) 2013-01-18 2014-12-09 Sprint Communications Company L.P. Dynamic remotely managed SIM profile
US9100819B2 (en) * 2013-02-08 2015-08-04 Sprint-Communications Company L.P. System and method of provisioning and reprovisioning a mobile device based on self-locating
US9549009B1 (en) 2013-02-08 2017-01-17 Sprint Communications Company L.P. Electronic fixed brand labeling
US9100769B2 (en) 2013-02-08 2015-08-04 Sprint Communications Company L.P. System and method of storing service brand packages on a mobile device
US9204286B1 (en) 2013-03-15 2015-12-01 Sprint Communications Company L.P. System and method of branding and labeling a mobile device
US9042877B1 (en) * 2013-05-21 2015-05-26 Sprint Communications Company L.P. System and method for retrofitting a branding framework into a mobile communication device
US9280483B1 (en) 2013-05-22 2016-03-08 Sprint Communications Company L.P. Rebranding a portable electronic device while maintaining user data
KR101523259B1 (ko) * 2013-07-08 2015-06-02 연세대학교 산학협력단 홈 네트워크 서비스 제공 방법 및 장치
US9532211B1 (en) 2013-08-15 2016-12-27 Sprint Communications Company L.P. Directing server connection based on location identifier
US9161209B1 (en) * 2013-08-21 2015-10-13 Sprint Communications Company L.P. Multi-step mobile device initiation with intermediate partial reset
US9204239B1 (en) 2013-08-27 2015-12-01 Sprint Communications Company L.P. Segmented customization package within distributed server architecture
US9143924B1 (en) 2013-08-27 2015-09-22 Sprint Communications Company L.P. Segmented customization payload delivery
US9125037B2 (en) 2013-08-27 2015-09-01 Sprint Communications Company L.P. System and methods for deferred and remote device branding
US10506398B2 (en) 2013-10-23 2019-12-10 Sprint Communications Company Lp. Implementation of remotely hosted branding content and customizations
US9743271B2 (en) 2013-10-23 2017-08-22 Sprint Communications Company L.P. Delivery of branding content and customizations to a mobile communication device
US9301081B1 (en) 2013-11-06 2016-03-29 Sprint Communications Company L.P. Delivery of oversized branding elements for customization
US9363622B1 (en) 2013-11-08 2016-06-07 Sprint Communications Company L.P. Separation of client identification composition from customization payload to original equipment manufacturer layer
US9161325B1 (en) 2013-11-20 2015-10-13 Sprint Communications Company L.P. Subscriber identity module virtualization
GB2520685A (en) * 2013-11-27 2015-06-03 Nordic Semiconductor Asa Integrated circuit radio devices
US9392395B1 (en) 2014-01-16 2016-07-12 Sprint Communications Company L.P. Background delivery of device configuration and branding
US9420496B1 (en) * 2014-01-24 2016-08-16 Sprint Communications Company L.P. Activation sequence using permission based connection to network
US9603009B1 (en) 2014-01-24 2017-03-21 Sprint Communications Company L.P. System and method of branding a device independent of device activation
US9681251B1 (en) 2014-03-31 2017-06-13 Sprint Communications Company L.P. Customization for preloaded applications
US9426641B1 (en) 2014-06-05 2016-08-23 Sprint Communications Company L.P. Multiple carrier partition dynamic access on a mobile device
US9307400B1 (en) 2014-09-02 2016-04-05 Sprint Communications Company L.P. System and method of efficient mobile device network brand customization
US9571339B2 (en) * 2014-10-30 2017-02-14 Amazon Technologies, Inc. Configuring an electronic device for wireless communications
US9992326B1 (en) 2014-10-31 2018-06-05 Sprint Communications Company L.P. Out of the box experience (OOBE) country choice using Wi-Fi layer transmission
US9357378B1 (en) 2015-03-04 2016-05-31 Sprint Communications Company L.P. Subscriber identity module (SIM) card initiation of custom application launcher installation on a mobile communication device
US9398462B1 (en) 2015-03-04 2016-07-19 Sprint Communications Company L.P. Network access tiered based on application launcher installation
US20170337390A1 (en) * 2016-05-18 2017-11-23 Qualcomm Incorporated Data protection at factory reset
US9913132B1 (en) 2016-09-14 2018-03-06 Sprint Communications Company L.P. System and method of mobile phone customization based on universal manifest
US10021240B1 (en) 2016-09-16 2018-07-10 Sprint Communications Company L.P. System and method of mobile phone customization based on universal manifest with feature override
US10306433B1 (en) 2017-05-01 2019-05-28 Sprint Communications Company L.P. Mobile phone differentiated user set-up
US10546444B2 (en) 2018-06-21 2020-01-28 Capital One Services, Llc Systems and methods for secure read-only authentication
US10489781B1 (en) 2018-10-02 2019-11-26 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10607214B1 (en) 2018-10-02 2020-03-31 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072583A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for establishing identity for order pick up
CA3115142A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10771253B2 (en) 2018-10-02 2020-09-08 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10511443B1 (en) 2018-10-02 2019-12-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10582386B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
JP2022511281A (ja) 2018-10-02 2022-01-31 キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー 非接触カードの暗号化認証のためのシステムおよび方法
WO2020072440A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10542036B1 (en) 2018-10-02 2020-01-21 Capital One Services, Llc Systems and methods for signaling an attack on contactless cards
KR20210065961A (ko) 2018-10-02 2021-06-04 캐피탈 원 서비시즈, 엘엘씨 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법
SG11202102543WA (en) 2018-10-02 2021-04-29 Capital One Services Llc Systems and methods for cryptographic authentication of contactless cards
US10565587B1 (en) 2018-10-02 2020-02-18 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10783519B2 (en) 2018-10-02 2020-09-22 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10949520B2 (en) 2018-10-02 2021-03-16 Capital One Services, Llc Systems and methods for cross coupling risk analytics and one-time-passcodes
US10579998B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
JP2022501861A (ja) 2018-10-02 2022-01-06 キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニーCapital One Services, LLC 非接触カードの暗号化認証のためのシステムおよび方法
KR20210069033A (ko) 2018-10-02 2021-06-10 캐피탈 원 서비시즈, 엘엘씨 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법
US10505738B1 (en) 2018-10-02 2019-12-10 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US11210664B2 (en) 2018-10-02 2021-12-28 Capital One Services, Llc Systems and methods for amplifying the strength of cryptographic algorithms
US10909527B2 (en) 2018-10-02 2021-02-02 Capital One Services, Llc Systems and methods for performing a reissue of a contactless card
US10630653B1 (en) 2018-10-02 2020-04-21 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072474A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
CA3115064A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10592710B1 (en) 2018-10-02 2020-03-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
CA3113101A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10771254B2 (en) 2018-10-02 2020-09-08 Capital One Services, Llc Systems and methods for email-based card activation
AU2019355436A1 (en) 2018-10-02 2021-04-15 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10554411B1 (en) 2018-10-02 2020-02-04 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10581611B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US11361302B2 (en) 2019-01-11 2022-06-14 Capital One Services, Llc Systems and methods for touch screen interface interaction using a card overlay
US11037136B2 (en) 2019-01-24 2021-06-15 Capital One Services, Llc Tap to autofill card data
US10467622B1 (en) 2019-02-01 2019-11-05 Capital One Services, Llc Using on-demand applications to generate virtual numbers for a contactless card to securely autofill forms
US11120453B2 (en) 2019-02-01 2021-09-14 Capital One Services, Llc Tap card to securely generate card data to copy to clipboard
US10510074B1 (en) 2019-02-01 2019-12-17 Capital One Services, Llc One-tap payment using a contactless card
US10425129B1 (en) 2019-02-27 2019-09-24 Capital One Services, Llc Techniques to reduce power consumption in near field communication systems
US10523708B1 (en) 2019-03-18 2019-12-31 Capital One Services, Llc System and method for second factor authentication of customer support calls
US10438437B1 (en) 2019-03-20 2019-10-08 Capital One Services, Llc Tap to copy data to clipboard via NFC
US10643420B1 (en) 2019-03-20 2020-05-05 Capital One Services, Llc Contextual tapping engine
US10535062B1 (en) 2019-03-20 2020-01-14 Capital One Services, Llc Using a contactless card to securely share personal data stored in a blockchain
US10984416B2 (en) 2019-03-20 2021-04-20 Capital One Services, Llc NFC mobile currency transfer
US10970712B2 (en) 2019-03-21 2021-04-06 Capital One Services, Llc Delegated administration of permissions using a contactless card
US10467445B1 (en) 2019-03-28 2019-11-05 Capital One Services, Llc Devices and methods for contactless card alignment with a foldable mobile device
US11521262B2 (en) 2019-05-28 2022-12-06 Capital One Services, Llc NFC enhanced augmented reality information overlays
US10516447B1 (en) 2019-06-17 2019-12-24 Capital One Services, Llc Dynamic power levels in NFC card communications
US10871958B1 (en) 2019-07-03 2020-12-22 Capital One Services, Llc Techniques to perform applet programming
US11392933B2 (en) 2019-07-03 2022-07-19 Capital One Services, Llc Systems and methods for providing online and hybridcard interactions
US11694187B2 (en) 2019-07-03 2023-07-04 Capital One Services, Llc Constraining transactional capabilities for contactless cards
US10713649B1 (en) 2019-07-09 2020-07-14 Capital One Services, Llc System and method enabling mobile near-field communication to update display on a payment card
US10498401B1 (en) 2019-07-15 2019-12-03 Capital One Services, Llc System and method for guiding card positioning using phone sensors
US10885514B1 (en) 2019-07-15 2021-01-05 Capital One Services, Llc System and method for using image data to trigger contactless card transactions
US11182771B2 (en) 2019-07-17 2021-11-23 Capital One Services, Llc System for value loading onto in-vehicle device
US10832271B1 (en) 2019-07-17 2020-11-10 Capital One Services, Llc Verified reviews using a contactless card
US10733601B1 (en) 2019-07-17 2020-08-04 Capital One Services, Llc Body area network facilitated authentication or payment authorization
US11521213B2 (en) 2019-07-18 2022-12-06 Capital One Services, Llc Continuous authentication for digital services based on contactless card positioning
US10506426B1 (en) 2019-07-19 2019-12-10 Capital One Services, Llc Techniques for call authentication
US10541995B1 (en) 2019-07-23 2020-01-21 Capital One Services, Llc First factor contactless card authentication system and method
US10701560B1 (en) 2019-10-02 2020-06-30 Capital One Services, Llc Client device authentication using contactless legacy magnetic stripe data
EP3839789B1 (en) * 2019-12-20 2023-06-28 Barclays Execution Services Limited Secure data leakage control in a third party cloud computing environment
US10862540B1 (en) 2019-12-23 2020-12-08 Capital One Services, Llc Method for mapping NFC field strength and location on mobile devices
US11113685B2 (en) 2019-12-23 2021-09-07 Capital One Services, Llc Card issuing with restricted virtual numbers
US10733283B1 (en) 2019-12-23 2020-08-04 Capital One Services, Llc Secure password generation and management using NFC and contactless smart cards
US11651361B2 (en) 2019-12-23 2023-05-16 Capital One Services, Llc Secure authentication based on passport data stored in a contactless card
US10657754B1 (en) 2019-12-23 2020-05-19 Capital One Services, Llc Contactless card and personal identification system
US10885410B1 (en) 2019-12-23 2021-01-05 Capital One Services, Llc Generating barcodes utilizing cryptographic techniques
US11615395B2 (en) 2019-12-23 2023-03-28 Capital One Services, Llc Authentication for third party digital wallet provisioning
US10853795B1 (en) 2019-12-24 2020-12-01 Capital One Services, Llc Secure authentication based on identity data stored in a contactless card
US10664941B1 (en) 2019-12-24 2020-05-26 Capital One Services, Llc Steganographic image encoding of biometric template information on a card
US11200563B2 (en) 2019-12-24 2021-12-14 Capital One Services, Llc Account registration using a contactless card
US10909544B1 (en) 2019-12-26 2021-02-02 Capital One Services, Llc Accessing and utilizing multiple loyalty point accounts
US10757574B1 (en) 2019-12-26 2020-08-25 Capital One Services, Llc Multi-factor authentication providing a credential via a contactless card for secure messaging
US11038688B1 (en) 2019-12-30 2021-06-15 Capital One Services, Llc Techniques to control applets for contactless cards
US11455620B2 (en) 2019-12-31 2022-09-27 Capital One Services, Llc Tapping a contactless card to a computing device to provision a virtual number
US10860914B1 (en) 2019-12-31 2020-12-08 Capital One Services, Llc Contactless card and method of assembly
US11210656B2 (en) 2020-04-13 2021-12-28 Capital One Services, Llc Determining specific terms for contactless card activation
US10861006B1 (en) 2020-04-30 2020-12-08 Capital One Services, Llc Systems and methods for data access control using a short-range transceiver
US11222342B2 (en) 2020-04-30 2022-01-11 Capital One Services, Llc Accurate images in graphical user interfaces to enable data transfer
US10915888B1 (en) 2020-04-30 2021-02-09 Capital One Services, Llc Contactless card with multiple rotating security keys
US11030339B1 (en) 2020-04-30 2021-06-08 Capital One Services, Llc Systems and methods for data access control of personal user data using a short-range transceiver
US11823175B2 (en) 2020-04-30 2023-11-21 Capital One Services, Llc Intelligent card unlock
US10963865B1 (en) 2020-05-12 2021-03-30 Capital One Services, Llc Augmented reality card activation experience
US11063979B1 (en) 2020-05-18 2021-07-13 Capital One Services, Llc Enabling communications between applications in a mobile operating system
US11100511B1 (en) 2020-05-18 2021-08-24 Capital One Services, Llc Application-based point of sale system in mobile operating systems
US11062098B1 (en) 2020-08-11 2021-07-13 Capital One Services, Llc Augmented reality information display and interaction via NFC based authentication
US11482312B2 (en) 2020-10-30 2022-10-25 Capital One Services, Llc Secure verification of medical status using a contactless card
US11165586B1 (en) 2020-10-30 2021-11-02 Capital One Services, Llc Call center web-based authentication using a contactless card
US11373169B2 (en) 2020-11-03 2022-06-28 Capital One Services, Llc Web-based activation of contactless cards
US11216799B1 (en) 2021-01-04 2022-01-04 Capital One Services, Llc Secure generation of one-time passcodes using a contactless card
US11682012B2 (en) 2021-01-27 2023-06-20 Capital One Services, Llc Contactless delivery systems and methods
US11687930B2 (en) 2021-01-28 2023-06-27 Capital One Services, Llc Systems and methods for authentication of access tokens
US11562358B2 (en) 2021-01-28 2023-01-24 Capital One Services, Llc Systems and methods for near field contactless card communication and cryptographic authentication
US11792001B2 (en) 2021-01-28 2023-10-17 Capital One Services, Llc Systems and methods for secure reprovisioning
US11438329B2 (en) 2021-01-29 2022-09-06 Capital One Services, Llc Systems and methods for authenticated peer-to-peer data transfer using resource locators
US11777933B2 (en) 2021-02-03 2023-10-03 Capital One Services, Llc URL-based authentication for payment cards
US11637826B2 (en) 2021-02-24 2023-04-25 Capital One Services, Llc Establishing authentication persistence
US11245438B1 (en) 2021-03-26 2022-02-08 Capital One Services, Llc Network-enabled smart apparatus and systems and methods for activating and provisioning same
US11935035B2 (en) 2021-04-20 2024-03-19 Capital One Services, Llc Techniques to utilize resource locators by a contactless card to perform a sequence of operations
US11961089B2 (en) 2021-04-20 2024-04-16 Capital One Services, Llc On-demand applications to extend web services
US11902442B2 (en) 2021-04-22 2024-02-13 Capital One Services, Llc Secure management of accounts on display devices using a contactless card
US11354555B1 (en) 2021-05-04 2022-06-07 Capital One Services, Llc Methods, mediums, and systems for applying a display to a transaction card

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI106902B (fi) 1992-02-28 2001-04-30 Nokia Networks Oy Radiopuhelin
US5564020A (en) 1994-06-30 1996-10-08 Compaq Computer Corporation Apparatus for reducing interference between a computer device and a radio transceiver utilizing separated units with an infrared link
GB2292047B (en) 1994-07-28 1998-09-16 Motorola Ltd Communications system
DE19543843C2 (de) 1995-11-24 2001-02-08 Acer Peripherals Inc Verfahren zur Aktualisierung der Software in einem mikrocomputergestützten Telefon
US5887254A (en) 1996-04-26 1999-03-23 Nokia Mobile Phones Limited Methods and apparatus for updating the software of a mobile terminal using the air interface
US6876295B1 (en) 1998-12-16 2005-04-05 Symbol Technologies, Inc. Wireless communication devices configurable via passive tags
US6975632B2 (en) 1999-03-15 2005-12-13 Cisco Technology, Inc. Multi-service architecture with any port any service (APAS) hardware platform
KR20010050212A (ko) 1999-09-13 2001-06-15 스테븐 디.피터스 메모리 카드에 기록된 파일에 대한 접근 제어 시스템
US6829222B2 (en) 2000-04-25 2004-12-07 Board Of Regents The University Of Texas System Clusterhead selection in wireless ad hoc networks
US6880086B2 (en) 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
GB0103918D0 (en) * 2001-02-16 2001-04-04 Pathfinder Tech Resources Ltd Mobile telephone operation
GB2386504B (en) 2002-03-12 2005-03-02 Toshiba Res Europ Ltd Alternative radio system monitoring
JP2004064289A (ja) * 2002-07-26 2004-02-26 Ntt Docomo Inc 複数無線通信システム対応の通信端末、ソフトウェア送信サーバ及びicカード書き込み装置
DE60336570D1 (de) 2002-10-07 2011-05-12 Panasonic Corp Kommunikationsvorrichtung und verfahren zum umkonfigurieren der kommunikationsvorrichtung
AU2003284292A1 (en) 2002-10-21 2004-05-13 Bitfone Corporation System with required enhancements to syncml dm environment to support firmware updates
US20080177994A1 (en) 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
US20040230965A1 (en) 2003-02-28 2004-11-18 Harri Okkonen Mobile handset network that facilitates interaction between a generic intelligent responsive agent and a service broker server
US7139372B2 (en) * 2003-03-07 2006-11-21 July Systems, Inc Authorized distribution of digital content over mobile networks
EP1473845A1 (en) 2003-04-29 2004-11-03 Sony Ericsson Mobile Communications AB Front end of a multi-standard two-channel direct-conversion quadrature receiver
US20040237081A1 (en) 2003-05-19 2004-11-25 Homiller Daniel P. Methods and apparatus for generating upgraded software from initial software and software upgrade packages
US20050010916A1 (en) 2003-05-24 2005-01-13 Hagen David A. System for providing software application updates to multiple clients on a network
US7359698B2 (en) * 2003-09-08 2008-04-15 Kyocera Wireless Corp. Systems and methods for enhanced over-the-air programming
US20050055689A1 (en) 2003-09-10 2005-03-10 Abfalter Scott A. Software management for software defined radio in a distributed network
US7305090B1 (en) * 2003-09-12 2007-12-04 Sprint Spectrum L.P. Method and system for use of common provisioning data to activate cellular wireless devices
US7565650B2 (en) 2003-10-23 2009-07-21 International Business Machines Corporation Method, apparatus and computer program product for deploying software via post-load images
US7461374B1 (en) * 2003-12-01 2008-12-02 Cisco Technology, Inc. Dynamic installation and activation of software packages in a distributed networking device
US7260382B1 (en) * 2004-09-21 2007-08-21 Sprint Spectrum L.P. Method and system for customizing a wireless device's user-interface based on which vendor distributed the wireless device
US7200390B1 (en) 2004-12-30 2007-04-03 Cellco Partnership Device software update transport and download
US7516206B2 (en) 2005-01-28 2009-04-07 Cassatt Corporation Management of software images for computing nodes of a distributed computing system
JP2006270910A (ja) * 2005-02-22 2006-10-05 Mitsubishi Electric Corp ソフトウェア無線携帯電話通信システム及びソフトウェア無線携帯電話端末
US7355509B2 (en) 2005-02-25 2008-04-08 Iwapi Inc. Smart modem device for vehicular and roadside applications
US20060203722A1 (en) * 2005-03-14 2006-09-14 Nokia Corporation System and method for managing performance of mobile terminals via remote diagnostics
US20060221918A1 (en) 2005-04-01 2006-10-05 Hitachi, Ltd. System, method and computer program product for providing content to a remote device
JP2006309533A (ja) * 2005-04-28 2006-11-09 Hitachi Kokusai Electric Inc 分散処理プログラム
JP2006331307A (ja) * 2005-05-30 2006-12-07 Hitachi Kokusai Electric Inc 分散システム
US7945958B2 (en) * 2005-06-07 2011-05-17 Vmware, Inc. Constraint injection system for immunizing software programs against vulnerabilities and attacks
EP1761088B1 (en) 2005-09-01 2010-01-13 France Telecom Customisation of mobile stations
US8775526B2 (en) 2006-01-16 2014-07-08 Zlango Ltd. Iconic communication
US20080266595A1 (en) 2006-09-11 2008-10-30 Christopher Wright Independently-addressable cellular wireless digital network-based fax machine
KR20080052050A (ko) * 2006-12-07 2008-06-11 한국전자통신연구원 에스디알 단말기와 이의 무선 데이터 서비스 방법
US7950045B2 (en) * 2006-12-13 2011-05-24 Cellco Partnership Techniques for managing security in next generation communication networks
US8150425B1 (en) 2007-03-16 2012-04-03 At&T Mobility Ii Llc Systems and methods for merchandising new offers to mobile telephone users based on changes to the mobile telephone's components
JP4842183B2 (ja) * 2007-03-20 2011-12-21 Kddi株式会社 ソフトウェア無線端末および端末管理装置
US8839221B2 (en) * 2007-09-10 2014-09-16 Moka5, Inc. Automatic acquisition and installation of software upgrades for collections of virtual machines
US20090075698A1 (en) 2007-09-14 2009-03-19 Zhimin Ding Removable Card And A Mobile Wireless Communication Device
US7934083B2 (en) 2007-09-14 2011-04-26 Kevin Norman Taylor Configurable access kernel
US8189549B2 (en) * 2007-10-22 2012-05-29 T-Mobile Usa, Inc. System and method for indicating a subscriber's zone within converged telecommunications networks
US20090215449A1 (en) * 2008-02-26 2009-08-27 Netanel Avner System and Method for Virtual Roaming of Mobile Communication Devices
US20110010543A1 (en) * 2009-03-06 2011-01-13 Interdigital Patent Holdings, Inc. Platform validation and management of wireless devices
US8453140B2 (en) 2009-04-28 2013-05-28 Qualcomm Incorporated Method for generically handling carrier specific provisioning for computer cellular wireless cards
US8417234B2 (en) 2009-05-17 2013-04-09 Qualcomm Incorporated Method and apparatus for tracking the programming of a mobile device with multiple service accounts
US8966101B2 (en) 2009-08-10 2015-02-24 Sling Media Pvt Ltd Systems and methods for updating firmware over a network
US8756256B2 (en) 2010-05-26 2014-06-17 Qualcomm Incorporated Method and systems for the management of non volatile items and provisioning files for a communication device with multiple service accounts

Also Published As

Publication number Publication date
US20100291898A1 (en) 2010-11-18
KR20120016285A (ko) 2012-02-23
HUE047345T2 (hu) 2020-04-28
JP5613762B2 (ja) 2014-10-29
WO2010135257A1 (en) 2010-11-25
US8417231B2 (en) 2013-04-09
CN102422658A (zh) 2012-04-18
EP2433438A1 (en) 2012-03-28
KR101417241B1 (ko) 2014-07-16
CN102422658B (zh) 2014-10-08
JP2012527206A (ja) 2012-11-01
EP2433438B1 (en) 2019-10-23

Similar Documents

Publication Publication Date Title
ES2767876T3 (es) Procedimiento y aparato para programar un dispositivo móvil con múltiples cuentas de servicio
US8417234B2 (en) Method and apparatus for tracking the programming of a mobile device with multiple service accounts
US8649789B2 (en) Method and apparatus for switching virtual SIM service contracts when roaming
US8811969B2 (en) Virtual SIM card for mobile handsets
EP2578005B1 (en) Method and apparatus for the management of non volatile items and provisioning files for a communication device with multiple service accounts
US7646737B2 (en) Multimode wireless device system provision validation and acquisition method and apparatus
KR102082854B1 (ko) 업데이트된 프로파일을 다운로드하기 위한 방법, 서버들 및 시스템
US8190198B1 (en) Enabling portability of credentials across dual mode devices
CN106105157B (zh) 通信系统
US9198026B2 (en) SIM lock for multi-SIM environment
KR20170041597A (ko) 통신 시스템에서 프로파일을 원격으로 제공하는 방법 및 장치
KR20170035242A (ko) 이동 통신 시스템에서 프로파일 다운로드 방법 및 장치
US20180013759A1 (en) Method of managing shared files and device for authenticating subscriber by using same
MX2014003351A (es) Manejo de identidades en dispositivos moviles.
EP3413600B1 (en) Communication device and method of managing profiles
JP7384920B2 (ja) 加入プロファイル、加入者idモジュール、および加入サーバを提供する方法
JP6445185B2 (ja) 少なくとも1つの設定パラメータの破損を検出する方法及びチップ
US20160286515A1 (en) Conflict detection
KR20160114877A (ko) 이동통신시스템에서 단말에 정책을 설정하는 방법 및 장치