[go: up one dir, main page]

ES2744814T3 - Sistema y método para permitir operaciones de radio en un dispositivo informático inalámbrico - Google Patents

Sistema y método para permitir operaciones de radio en un dispositivo informático inalámbrico Download PDF

Info

Publication number
ES2744814T3
ES2744814T3 ES06836133T ES06836133T ES2744814T3 ES 2744814 T3 ES2744814 T3 ES 2744814T3 ES 06836133 T ES06836133 T ES 06836133T ES 06836133 T ES06836133 T ES 06836133T ES 2744814 T3 ES2744814 T3 ES 2744814T3
Authority
ES
Spain
Prior art keywords
radio
wireless
computing device
applications
requests
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
ES06836133T
Other languages
English (en)
Inventor
Srikiran Prasad
Arun Mathias
Darren Ang
Thomas Schmidt
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 ES2744814T3 publication Critical patent/ES2744814T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • H04W80/12Application layer protocols, e.g. WAP [Wireless Application Protocol]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

Un dispositivo informático inalámbrico (100) que comprende: un conjunto de uno o más componentes de radio (140) para transmitir y recibir comunicaciones inalámbricas en el dispositivo informático inalámbrico (100); y recursos de procesamiento y memoria que, en combinación o individualmente, proporcionan lógica y programación, en donde la lógica y la programación comprenden: múltiples aplicaciones inalámbricas (112, 114 y 116) que pueden ser utilizadas por un usuario del dispositivo informático inalámbrico (100); un objeto de radio (130) que interconecta las múltiples aplicaciones inalámbricas (112, 114 y 116) con el conjunto de uno o más componentes de radio (140); un componente de arbitraje (120) que arbitra al menos una de las siguientes operaciones: (i) solicitudes (117) realizadas simultáneamente por dos o más de las aplicaciones inalámbricas (112, 114 y 116) al objeto de radio (130) para acceder a uno o más de los componentes de radio (140) en el conjunto; o (ii) respuestas (118) del objeto de radio a las solicitudes (117) realizadas por cada una de las aplicaciones inalámbricas (112, 114 y 116); y en el que el componente de arbitraje (130) arbitra solicitudes (117) de las aplicaciones inalámbricas (112, 114 y 116) al objeto de radio (130) mediante mensajes (125) y/o arbitra respuestas (118) del objeto de radio (130) a las aplicaciones inalámbricas (112, 114 y 116) mediante mensajes (126).

Description

DESCRIPCIÓN
Sistema y método para permitir operaciones de radio en un dispositivo informático inalámbrico
SOLICITUD RELACIONADA
[0001] Esta solicitud reivindica beneficio de prioridad con respecto a la solicitud de patente provisional de Estados Unidos de América n.° 60/719.811, que lleva por título SYSTEM AND METHOD FOR ENABLING RADIO OPERATIONS ON A WIRELESS COMPUTING DEVICE (“SISTEMA Y MÉTODO PARA PERMITIR OPERACIONES DE RADIO EN UN DISPOSITIVO INFORMÁTICO INALÁMBRICO”), presentada el 23 de septiembre de 2005; y reivindica prioridad con respecto la solicitud de patente provisional de Estados Unidos de América n.° 11/302.524, titulada SYSTEM AND METHOD FOR ENABLING RADIO OPERATIONS ON A WIRELESS COMPUTING DEVICE (“SISTEMA Y MÉTODO PARA PERMITIR OPERACIONES DE RADIO EN UN DISPOSITIVO INFORMÁTICO INALÁMBRICO”), presentada el 12 de diciembre de 2005.
CAMPO TÉCNICO
[0002] Las realizaciones descritas se refieren en general al campo de los dispositivos informáticos inalámbricos. En concreto, las realizaciones descritas se refieren en general a un sistema y método para permitir operaciones de radio en un dispositivo informático inalámbrico.
ANTECEDENTES
[0003] Los dispositivos de comunicación han evolucionado para incluir numerosos tipos de capacidades y funcionalidades de comunicación. Por ejemplo, existen dispositivos portátiles que funcionan como teléfonos móviles, terminales de mensajería, dispositivos de Internet, y a la vez incluyen software de administración de información personal (PIM, por sus siglas en inglés, Personal Information Management) y aplicaciones de administración de fotografías.
[0004] Las redes de telefonía móvil se han limitado tradicionalmente a las comunicaciones de voz, pero las nuevas tecnologías como el Sistema Global para las Comunicaciones Móviles (GSM, por sus siglas en inglés, Global System forMobile Communications) han permitido que las redes de telefonía móvil también incluyan comunicaciones de datos. Por ejemplo, la mensajería de SMS (Short Message Service, Servicio de Mensajes Cortos) proporciona un protocolo independiente del software para enviar mensajes de texto cortos que se componen de: 160 caracteres de 7 bits, 70 caracteres de 16 bits o 140 octetos de datos binarios. Por consiguiente, los mensajes SMS individuales requieren un ancho de banda de red relativamente reducido y los dispositivos pueden recibir mensajes, incluso cuando están conectados a una llamada de voz. La cantidad de mensajes SMS que recibe un usuario ha aumentado continuamente porque muchos nuevos tipos de dispositivos de red se han unido a las redes de telefonía móvil. Entre estos dispositivos figuran, por ejemplo, los asistentes digitales personales (PDA, por sus siglas en inglés, Personal Digital Assistants), los dispositivos híbridos PDA/ teléfonos móviles y otros dispositivos de mensajería de texto que utilizan redes GSM.
[0005] Debido a las demandas del mercado y a los avances tecnológicos, el software y hardware de los dispositivos informáticos inalámbricos se actualizan rápidamente. Por ejemplo, los teléfonos móviles han pasado de transmitir señales analógicas a transmitir señales digitales. Actualmente, los dispositivos están en un periodo de transición de bandas de 2.0 y 2.5 GHz a bandas de 3 GHz (redes “3G”), en las cuales será posible un mejor soporte de banda ancha para la transferencia de grandes cantidades de datos.
[0006] Con los nuevos desarrollos en aplicaciones y redes inalámbricas, han surgido numerosos fabricantes, plataformas y aplicaciones para tales dispositivos. Cada vez más, dichos dispositivos vienen acompañados del desarrollo de software y una mayor compatibilidad. En la publicación de solicitud de patente de Estados Unidos n.° 2004/4131078A1 se describe un dispositivo de comunicaciones que incluye un administrador de conexiones que establece y administra conexiones de voz y datos con varias redes compatibles con el dispositivo. En respuesta a una solicitud de conexión de una aplicación, el administrador de conexiones selecciona un tipo de conexión basándose en las preferencias de solicitud y la información sobre las diversas conexiones disponibles posibles. En la publicación de solicitud de patente de Estados Unidos n.° 2004/0199614A1 se describe un sistema y un método de creación y comunicación con aplicaciones de componentes inalámbricos. Los dispositivos de comunicación móvil se comunican con un servicio web a través de una red inalámbrica, Internet y, opcionalmente, un servicio de mapa de mensajes. Cada aplicación de componentes inalámbricos se ejecuta mediante un marco de componentes en uno de los dispositivos de comunicación móvil, y comprende componentes de datos, componentes de presentación, componentes de mensajes y componentes de flujo de trabajo. El marco de componentes ejecuta la aplicación de componentes en un contenedor de aplicaciones que proporciona acceso a los servicios del marco, los cuales incluyen un servicio de comunicación, un servicio de pantalla, un servicio de persistencia, un servicio de acceso, una superficie de aprovisionamiento y un servicio de utilidades. Los mensajes se pueden enviar desde la aplicación de componentes al servicio de mapa de mensajes, el cual convierte los mensajes mutuos a un formato requerido por los servidores web utilizando un mapa de mensajes de aplicación, y a continuación envía el mensaje al servicio web. El servidor web envía una respuesta al servicio de mapa de mensajes, que convierte la respuesta al formato requerido por la aplicación del componente inalámbrico y envía la respuesta a la aplicación del componente inalámbrico.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0007] La Figura 1 ilustra una arquitectura para un dispositivo informático inalámbrico, de acuerdo con una realización de la invención.
La Figura 2A ilustra un sistema que puede implementarse en un dispositivo informático inalámbrico, de acuerdo con una realización de la invención.
La Figura 2B ilustra un mensaje (250) que se puede comunicar entre dos componentes programáticos, como por ejemplo la aplicación inalámbrica (210) y el administrador de sesión (220).
La Figura 2C ilustra una realización en la que una aplicación inalámbrica (260) no está habilitada para mensajes, pero genera llamadas (262) cuando se realizan solicitudes.
La Figura 3 ilustra una realización en la que se implementa un objeto de radio modularizado en un dispositivo informático inalámbrico, de acuerdo con una realización de la invención.
La Figura 4 ilustra en mayor detalle componentes de un objeto de radio, como por ejemplo el que se describe en la Figura 3, de acuerdo con una realización de la invención.
La Figura 5 ilustra un dispositivo informático en el que múltiples módulos de hardware de radio están provistos de soporte, de acuerdo con una realización de la invención.
La Figura 6 ilustra una realización en la que se incluyen múltiples objetos de radio en un dispositivo, y en el que el tipo de comunicaciones de radio utilizadas para una actividad inalámbrica específica es transparente para el usuario.
DESCRIPCIÓN DETALLADA
[0008] Las realizaciones de la invención permiten operaciones de radio en un dispositivo informático inalámbrico. En concreto, las realizaciones descritas en el presente contemplan el uso de objetos de radio que facilitan y permiten que se produzca la actividad inalámbrica utilizando recursos de radio de un dispositivo que son independientes del hardware y la plataforma del dispositivo. Además, las realizaciones de la invención permiten una mejor utilización de los recursos de comunicación por radio por parte de múltiples aplicaciones a través de características como el arbitraje y las comunicaciones de mensajes.
[0009] Las realizaciones descritas en el presente permiten la modularización de la arquitectura para permitir comunicaciones inalámbricas a través de diferentes plataformas y dispositivos. En una realización, gran parte de la lógica y la programación para permitir que las aplicaciones inalámbricas utilicen hardware de comunicación por radio es independiente del dispositivo y la plataforma. De acuerdo con una realización, por ejemplo, puede proporcionarse un objeto de radio como una entidad completa y modular que puede implementarse en múltiples tipos de dispositivos y/o proporcionarse con diferentes sistemas operativos.
[0010] Las realizaciones de la invención dan a conocer un dispositivo informático inalámbrico que comprende un conjunto de uno o más componentes de radio para transmitir y recibir comunicaciones inalámbricas en el dispositivo. Además, el dispositivo informático inalámbrico incluye recursos de procesamiento y memoria que, individualmente o en combinación, proporcionan múltiples aplicaciones inalámbricas, un objeto de radio y un componente de arbitraje. Las múltiples aplicaciones inalámbricas pueden ser operadas por un usuario del dispositivo informático inalámbrico. El objeto de radio interconecta las múltiples aplicaciones con el conjunto de uno o más componentes de radio. El componente de arbitraje está configurado para arbitrar al menos uno de los siguientes: (i) las solicitudes realizadas por cada una de las aplicaciones inalámbricas al objeto de radio para acceder a uno o más de los componentes de radio en el conjunto, o (ii) las respuestas del objeto de radio a solicitudes realizadas por cada una de las aplicaciones inalámbricas.
[0011] Los ejemplos de dispositivos informáticos inalámbricos que se pueden configurar en una o varias realizaciones incluyen un dispositivo de teléfono móvil con capacidades de mensajería, incluidos dispositivos como “teléfonos inteligentes” (smartphones) que proporcionan funcionalidad que incluye mensajería (por ejemplo, correo electrónico y mensajería instantánea), telefonía móvil, conectividad WiFi y/o Bluetooth, y otras funcionalidades como fotografía digital y reproducción de archivos multimedia.
[0012] A menos que se indique lo contrario, los componentes como el objeto de radio y el componente de arbitraje pueden implementarse como software, hardware, firmware o una combinación de los mismos. En una realización, el objeto de radio y el componente de arbitraje son software de bajo nivel que funcionan por debajo del sistema operativo.
[0013] De acuerdo con una realización, el componente de arbitraje permite que las solicitudes de dos o más de las aplicaciones inalámbricas sean administradas asincrónicamente por el objeto de radio.
[0014] De acuerdo con otra realización, el componente de arbitraje reenvía solicitudes desde las aplicaciones inalámbricas al objeto de radio usando mensajes.
[0015] En una situación en la que algunas de las aplicaciones inalámbricas se comunican con el objeto de radio mediante llamadas de función, una realización permite que la programación y la lógica incluyan una interfaz que convierte cada llamada de función en un mensaje correspondiente. Un tipo de información que se puede comunicar en un mensaje es [la] versión.
[0016] En otra realización, el dispositivo informático incluye una pluralidad de módulos de radio. Cada módulo de radio incluye uno o más componentes para realizar al menos una de las siguientes operaciones: la transmisión o la recepción de datos inalámbricos en un medio de comunicación inalámbrico correspondiente y de acuerdo con un protocolo correspondiente. Además, se proporcionan recursos de procesamiento y memoria que, en combinación o individualmente, proporcionan una aplicación inalámbrica para permitir un tipo particular de comunicación inalámbrica utilizando cualquiera de la pluralidad de módulos de radio. Una pluralidad de objetos de radio están configurados para procesar cada uno una solicitud de comunicación del tipo particular usando un módulo de radio en la pluralidad de módulos de radio que corresponde a ese objeto de radio. Un administrador está configurado para seleccionar un módulo de la pluralidad de módulos de radio para administrar la comunicación.
[0017] Otra realización proporciona uno o más componentes de objeto de radio, cada uno de los cuales incluye instrucciones para administrar las solicitudes de comunicación que proceden de al menos una aplicación de comunicación inalámbrica correspondiente para su uso por parte de un módulo de radio del dispositivo informático inalámbrico. Se proporciona una abstracción del sistema operativo que incluye instrucciones para interconectar cada componente o componentes de objeto de radio con un sistema operativo del dispositivo informático inalámbrico. Además, una interfaz de hardware está configurada para interconectar cada componente o componentes de objeto de radio con hardware del dispositivo en el dispositivo informático inalámbrico. El componente o componentes del objeto de radio son independientes de la abstracción del sistema operativo y la interfaz de hardware.
[0018] Además, las realizaciones descritas más adelante dan a conocer varias características y variaciones, incluidos el arbitraje de solicitudes de recursos de radio, la arquitectura de mensajes, los componentes modularizados de recursos de radio de software (por ejemplo, objetos de radio) y el uso de múltiples tipos de recursos de radio. Se prevé que todas las realizaciones descritas puedan implementarse en un solo dispositivo. Sin embargo, también se prevé que las diversas realizaciones y características puedan implementarse individualmente, sin la presencia de otras características de otras realizaciones. Por consiguiente, por ejemplo, una realización en la que se proporciona un componente de arbitraje para comunicaciones de radio puede o no implementarse con una arquitectura de mensajes o con componentes modularizados de recursos de radio de software, como se describe con respecto a otras realizaciones.
[0019] Una o varias realizaciones descritas en el presente hacen posibles que métodos, técnicas y acciones realizados por un dispositivo informático se realicen mediante programación o como un método implementado por ordenador. “Mediante programación” significa a través del uso de código o instrucciones ejecutables por ordenador. Un paso realizado mediante programación puede ser automático o no.
[0020] Además, una o varias de las realizaciones descritas en el presente pueden implementarse mediante el uso de instrucciones que son ejecutables por uno o más procesadores. Estas instrucciones pueden transmitirse en un medio legible por ordenador. Las máquinas que se muestran en las figuras a continuación proporcionan ejemplos de recursos de procesamiento y medios legibles por ordenador en los que pueden transmitirse y/o ejecutarse instrucciones para implementar realizaciones de la invención. Un tipo específico de máquinas en las que se pueden proporcionar realizaciones descritas en el presente incluye dispositivos informáticos inalámbricos, como por ejemplo teléfonos móviles, dispositivos de mensajería inalámbrica, teléfonos híbridos o inteligentes y otros dispositivos capaces de comunicaciones inalámbricas. En particular, las numerosas máquinas mostradas en las realizaciones de la invención incluyen un procesador o procesadores y diversas formas de memoria para almacenar datos e instrucciones. Dichos dispositivos y funcionalidades pueden denominarse alternativamente recursos de procesamiento y memoria, así como lógica (por ejemplo, programación o codificación de bits). Entre los ejemplos de medios legibles por ordenador figuran dispositivos de almacenamiento de memoria permanente, como por ejemplo discos duros en ordenadores personales o servidores. Otros ejemplos de medios de almacenamiento informático incluyen unidades de almacenamiento portátiles, como unidades de CD o DVD, memoria flash (como la incluida en muchos teléfonos móviles y asistentes digitales personales (PDA)) y memoria magnética. Los ordenadores, terminales, dispositivos habilitados para la red (por ejemplo, dispositivos móviles como los teléfonos móviles) constituyen todos ejemplos de máquinas y dispositivos que utilizan procesadores, memoria e instrucciones almacenadas en medios legibles por ordenador.
ARBITRAJE DE OBJETO DE RADIO
[0021] En la Figura 1 se ilustra una arquitectura para un dispositivo informático inalámbrico, de acuerdo con una realización de la invención. En una realización, un dispositivo (100) incluye una capa de aplicación (110), una capa de sistema operativo (115), un componente de arbitraje (120), un objeto de radio (130) y un módulo de hardware de radio (140). Juntos, estos elementos permiten a un usuario del dispositivo (100) iniciar y/o llevar a cabo actividades de comunicación inalámbrica de varios tipos. Entre los ejemplos típicos de dicha actividad figuran las llamadas de voz y los mensajes inalámbricos (por ejemplo, mensajes de texto o de imágenes). Los ejemplos específicos de dicha actividad inalámbrica incluyen comunicaciones de voz (teléfono móvil o pulsar para hablar), mensajes de SMS (Servicio de Mensajes Cortos, por sus siglas en inglés Short Message Service), mensajes del Servicio de Mensajes Multimedia (MMS, por sus siglas en inglés Multimedia Messaging Service), mensajes instantáneos (por ejemplo, con conexión de socket abierta), correo electrónico y navegación web. Las actividades adicionales también pueden incluir la transferencia de archivos y medios, por ejemplo, a través de la transmisión de medios en continuo.
[0022] A tal fin, la capa de aplicación inalámbrica (110) incluye una o varias aplicaciones inalámbricas (112, 114 y 116). Las aplicaciones inalámbricas (112-116) pueden proporcionar interfaces de usuario y funcionalidad para permitir al usuario iniciar y realizar actividades específicas de comunicación inalámbrica. Estas aplicaciones (112-116) son para aplicaciones en capas, en comparación con el sistema operativo (115). Una implementación proporcionada en la Figura 1 prevé el suministro del componente de arbitraje (120) y el objeto de radio (130) como software de nivel inferior con respecto al sistema operativo (115). Se pueden usar implementaciones alternativas, como por ejemplo una implementación en la que el componente de arbitraje (120) se proporciona por encima o al nivel de la capa del sistema operativo (115). Algunas o todas las aplicaciones inalámbricas (112-116), así como el componente de arbitraje (120) y el objeto de radio (130), pueden configurarse para su uso con el sistema operativo concreto empleado en el dispositivo. La capa de aplicación (110) generalmente es independiente del dispositivo y de la radio. Sin embargo, el componente de arbitraje (120) y el objeto de radio (130) pueden tener que adaptarse al sistema operativo, al hardware del dispositivo (no mostrado) y al hardware del módulo de radio (140). Normalmente, el módulo de hardware de radio (140) puede comprender componentes para codificar, modular, amplificar e irradiar en comunicaciones salientes y para recibir (por ejemplo, mediante antena), amplificar, demodular y decodificar en comunicaciones entrantes. Entre los ejemplos de los diferentes tipos de comunicaciones inalámbricas figuran transmisiones de red de telefonía móvil, comunicaciones de radiofrecuencia de corto alcance y comunicaciones por infrarrojos. Entre los ejemplos de transmisiones de red de telefonía móvil figuran comunicaciones administradas por protocolos como CDMa (Acceso Múltiple por División de Código, del inglés Code División Múltiple Access) o TDMA (como la interfaz aérea TDMA (Acceso Múltiple por División de Tiempo, Time Division Multiple Access)), PCS (Servicio de Comunicación Personal, por sus siglas en inglés, Personal Communications Service), comunicaciones para redes GSM e híbridos duales, triples o cuádruples que pueden comunicarse a través de múltiples anchos de banda usando diferentes protocolos. Entre los ejemplos de comunicaciones de radiofrecuencia de corto alcance figuran las comunicaciones por Wireless Fidelity, 802.11b (“WiFi”) o Bluetooth.
[0023] Los ejemplos de las aplicaciones inalámbricas (112-116) incluyen una aplicación telefónica para permitir que una persona inicie, reciba y/o realice una o varias llamadas telefónicas transmitidas a través de redes de telefonía. Otros ejemplos de aplicaciones inalámbricas (112-116) incluyen aplicaciones de mensajería (por ejemplo, SMS, MMS, mensajería instantánea y correo electrónico) y aplicaciones de datos, como por ejemplo un navegador web que puede navegar por Internet a través de un canal de datos inalámbrico. Además de la aplicación telefónica, se pueden proporcionar otros tipos de aplicaciones de intercambio de voz, como por ejemplo comunicaciones de voz del tipo pulsar para hablar o walkie-talkie.
[0024] El módulo de hardware de radio (140) puede incluir un chip con un componente de transmisión y recepción inalámbrico integrado y/o externo. El módulo de hardware de radio (140) también puede incluir lógica y dispositivos relacionados con el fin de permitir el uso de un tipo y protocolo específicos de comunicaciones inalámbricas. Por ejemplo, el módulo de hardware de radio puede incluir dispositivos, componentes y programación para transmitir y recibir comunicaciones inalámbricas de un tipo y protocolo específicos, e incluso desde o sobre un medio específico (por ejemplo, un ancho de banda concreto de transmisiones de radiofrecuencia).
[0025] De acuerdo con una realización, el objeto de radio (130) incluye uno o más programas, aplicaciones y/u otro componente lógico que se conectan o establecen una conexión entre las diferentes aplicaciones (112-116) de la capa de aplicación (110) y el módulo de hardware de radio (140). El objeto de radio (130) puede estar estrechamente vinculado al módulo de hardware de radio (140) con el fin de que el objeto de radio se adapte a las especificaciones y requisitos del hardware de radio. El objeto de radio (130) está configurado para traducir solicitudes (y posiblemente otros tipos de comunicaciones) de las aplicaciones (112-116) a un formato y estructura dictados por los requisitos del módulo de hardware de radio (140). De acuerdo con una implementación común, el objeto de radio (130) tiene una relación uno a uno con el módulo de hardware de radio (140). En un gran número de casos, el objeto de radio (130) y el módulo de hardware de radio (140) están configurados para un dispositivo por una parte común, y también para operar en múltiples sistemas operativos. Por ejemplo, si una aplicación de mensajería inalámbrica genera un mensaje, el objeto de radio puede incluir un componente que produce el paquete de datos que el módulo de radio (140) convierte en una señal que transporta el mensaje desde el dispositivo. Con un enfoque típico del pasado, el objeto de radio (130) y sus componentes eran diseñados para un dispositivo y su plataforma. Por el contrario, las realizaciones que se describen a continuación (por ejemplo, con relación a la Figura 3 y la Figura 4) permiten que partes y componentes significativos del objeto de radio (130) se modularicen de manera que sean independientes del dispositivo y del sistema operativo.
[0026] En una realización, el dispositivo (100) incluye el componente de arbitraje (120) para regular y/o controlar el uso del módulo de hardware de radio (140) por parte de las aplicaciones (112-116) de la capa de aplicación (110). En una implementación, el componente de arbitraje (120) arbitra las solicitudes realizadas por las aplicaciones (112-116) al objeto de radio (130) para acceder al módulo de hardware de radio (140). Cuando múltiples aplicaciones solicitan el uso del módulo de hardware de radio (140), el componente de arbitraje (120) asigna los recursos de ese módulo para dar cabida a las múltiples solicitudes. Las solicitudes pueden ser entonces administradas secuencialmente o en grupos, dependiendo de las capacidades del módulo de hardware de radio (140).
[0027] Por lo que respecta a la Figura 1, las aplicaciones inalámbricas (112-116) pueden enviar solicitudes de objetos de radio (117). En respuesta a la recepción de cada solicitud de objeto de radio (117), el componente de arbitraje (120) proporciona una solicitud arbitrada (125) al objeto de radio (130). En una implementación, las solicitudes arbitradas (125) pueden corresponder a las solicitudes de objeto de radio (117), con secuenciación, orden, temporización u otros mecanismos para permitir la asignación de recursos proporcionados por el objeto de radio (130) o el módulo de hardware de radio (140). Se puede usar un protocolo u otro conjunto de reglas para establecer cómo se arbitrarán las solicitudes de objeto de radio (117).
[0028] Además, el componente de arbitraje (120) puede arbitrar respuestas, confirmaciones u otras formas de comunicación a las aplicaciones (112-116) desde el objeto de radio (130). En particular, las respuestas y confirmaciones pueden generarse internamente y devolverse a las aplicaciones (112-116) desde el objeto de radio (130) y el componente de arbitraje (120). Por lo tanto, si el módulo de hardware de radio (140) comunica una respuesta a una solicitud desde una de las aplicaciones inalámbricas, el componente de arbitraje (120) puede asignar recursos según se considere necesario para que la respuesta sea reenviada a esa misma aplicación inalámbrica.
[0029] Al igual que ocurre entre el objeto de radio (130) y el módulo de hardware de radio (140), las solicitudes arbitradas (125) se procesan en una comunicación saliente de objeto de radio (135) que comunica la transmisión de datos (145) necesaria desde el módulo de hardware de radio (140). Por ejemplo, como se describirá, puede designarse un componente del objeto de radio (130) para administrar solicitudes de una aplicación concreta (112-116). Este componente puede empaquetar los datos necesarios para permitir que la transmisión de datos saliente (145) sea generada por el módulo de hardware de radio (140). Por ejemplo, una solicitud que procede de una aplicación de mensajería de texto puede corresponder a un mensaje de texto al que se suministra un encabezado, y después es estructurado por el objeto de radio (130) para que tenga un cuerpo formateado (por ejemplo, con el formato, tamaño y estructura de un mensaje SMS), y a continuación se reenvía como la comunicación de objeto de radio (135) al módulo de hardware de radio (140). El módulo de hardware de radio (140) indica la transmisión de datos saliente (145), la cual, en el ejemplo mencionado, puede corresponder a una señal de radiofrecuencia que transporta el mensaje SMS específico. Como otro ejemplo, una solicitud puede proceder de una aplicación telefónica en forma de un número de teléfono marcado por el usuario, con una acción para conectar una llamada (por ejemplo, el usuario presiona “enviar”). En respuesta a la solicitud, el módulo de hardware de radio (140) puede intentar establecer una conexión de teléfono móvil usando un número de teléfono especificado en la solicitud.
[0030] El objeto de radio (120) también puede reenviar las comunicaciones entrantes a las aplicaciones inalámbricas (112-116). Dichas comunicaciones pueden adoptar la forma de respuestas o confirmaciones a las solicitudes realizadas por las aplicaciones inalámbricas. En una implementación, las confirmaciones internas pueden generarse desde el módulo de hardware de radio (140) y ser reenviadas por el objeto de radio (130) a una aplicación inalámbrica determinada (112-116) cuando una tarea determinada se realizó con éxito. Un ejemplo puede corresponder a un mensaje interno cuando se envía un mensaje de telefonía (por ejemplo, un mensaje SMS) o incluso un correo electrónico en respuesta a que la aplicación de mensajería correspondiente solicite la transmisión del mensaje. La misma confirmación puede comunicar un error, por ejemplo, cuando no se envió el correo electrónico o cuando el dispositivo no tiene cobertura de red de telefonía móvil para realizar una llamada telefónica. Las confirmaciones internas pueden proceder del módulo de hardware de radio (140), del objeto de radio (130) y/o del componente de arbitraje (120), o incluso del sistema operativo u otros componentes.
[0031] Además de las confirmaciones y notificaciones internas, el objeto de radio (130) puede reenviar comunicaciones generadas externamente (146) (mensaje entrante). Dichas comunicaciones pueden incluir confirmaciones generadas externamente que se generan automáticamente como respuesta a eventos específicos. Por ejemplo, algunos operadores inalámbricos generan confirmaciones de mensajes SMS. Otros tipos de comunicaciones generadas externamente incluyen mensajes entrantes de otros dispositivos informáticos (por ejemplo, correos electrónicos entrantes o mensajes SMS). Adicionalmente, la comunicación entrante puede corresponder a la realización de una llamada de teléfono móvil iniciada por otro dispositivo, y la comunicación entrante tiene como objetivo establecer una conexión de voz con una aplicación telefónica.
[0032] Para las comunicaciones generadas externamente, la transmisión de datos entrante (146) puede ser recibida por el módulo de hardware de radio (140) como la capa física, y después ser convertida en una comunicación de radio entrante (136) para el objeto de radio (130). Uno de los componentes del objeto de radio (130) puede determinar qué aplicación va a recibir la comunicación de radio entrante (136). El objeto de radio (130) puede generar una comunicación de objeto de radio ascendente (126), la cual es recibida por el componente de arbitraje (120) y luego arbitrada a las aplicaciones (112-116) como respuesta (118). Las confirmaciones y las respuestas generadas internamente también pueden transmitirse en dirección ascendente a las aplicaciones (112-116) desde los componentes respectivos de manera similar. Por ejemplo, una confirmación de que se ha transmitido un mensaje puede proceder del módulo de hardware de radio (140) y ser reenviada a las aplicaciones (112-116).
[0033] Uno de los resultados derivados es que el dispositivo (100) puede realizar múltiples operaciones relativas a las comunicaciones inalámbricas a la vez, en particular cuando está involucrada más de una aplicación inalámbrica (112-116). Por ejemplo, en una realización, un usuario puede iniciar un mensaje SMS mientras inicia o está realizando una llamada de voz. Por ejemplo, el componente de arbitraje (120) puede arbitrar una solicitud entrante o saliente para establecer una llamada telefónica desde o con una aplicación telefónica con una solicitud para transmitir un mensaje de texto saliente. En una implementación, la solicitud para establecer la llamada telefónica puede apilarse antes o después de la solicitud para que el módulo de hardware de radio (140) envíe el mensaje de texto. De este modo, el módulo de hardware de radio (140) necesita procesar solo una solicitud a la vez.
[0034] Además de las funciones similares a las descritas anteriormente, en una realización el componente de arbitraje (120) permite la administración asíncrona de solicitudes procedentes de las aplicaciones de comunicación inalámbrica (112-116). Esto permite que el dispositivo (100) inicie múltiples operaciones desde diferentes aplicaciones de comunicación inalámbrica al mismo tiempo. La administración asíncrona hace posible que el componente de arbitraje (120) ponga en cola múltiples solicitudes y respuestas. Por ejemplo, si un usuario desea transmitir un mensaje de texto, el componente de arbitraje (120) puede recibir la solicitud que inicia el mensaje de texto. Inmediatamente después, la aplicación que inicia la solicitud es libre de realizar otras tareas y, en términos más generales, el dispositivo puede utilizarse para otras actividades inalámbricas. Por consiguiente, el dispositivo no está totalmente ocupado con la realización de la actividad inalámbrica única iniciada por la solicitud de transmisión de mensajes de texto.
ARQUITECTURA DE MENSAJES
[0035] La arquitectura de dispositivos tradicionales para permitir el uso de recursos de hardware de radio hace posible el uso de llamadas de función y técnicas de comunicación de software similares entre diferentes componentes y capas que comprenden la arquitectura. Dichas técnicas generalmente requieren que se realicen llamadas de función a través de interfaces de programación de aplicaciones. Normalmente, el componente que genera la llamada de función se ejecuta en el mismo dispositivo y plataforma en donde reside la interfaz de programación de aplicaciones, ya que el uso de las llamadas a la función forma parte integral del dispositivo.
[0036] A diferencia de un enfoque tradicional, las realizaciones descritas en el presente dan a conocer una arquitectura de mensajes para un dispositivo informático en el que se utilizarán recursos de radio para permitir las comunicaciones inalámbricas. En una arquitectura de mensajes, al menos algunos de los componentes para permitir actividades inalámbricas se comunican entre sí con mensajes, en lugar de llamadas de funciones u otros mecanismos de programación similares. Como se describirá, las comunicaciones de mensajes entre componentes de programación tienen numerosos beneficios. Estos beneficios pueden incluir, entre otros, los siguientes: (i) se permite la compatibilidad con versiones anteriores porque los mensajes pueden contener información sobre la aplicación que realiza la solicitud; (ii) los mensajes se pueden transferir de un entorno a otro con facilidad, de modo que, por ejemplo, los mensajes se pueden comunicar entre componentes en diferentes dispositivos; y (iii) los mensajes se pueden poner en cola y procesar cuando se reciben. Con respecto a la Figura 1, por ejemplo, una realización permite que el componente de arbitraje (120) utilice mensajes en solicitudes de arbitraje de múltiples aplicaciones inalámbricas.
[0037] En la Figura 2A se ilustra un sistema que puede implementarse en un dispositivo informático inalámbrico, de acuerdo con una realización de la invención. En la Figura 2a se muestra cómo múltiples aplicaciones inalámbricas (210), así como un administrador de sesión (220) y un objeto de radio (230), residen en un dispositivo (200) (“dispositivo residente”). Como se describe en la Figura 1, el objeto de radio (230) puede proporcionar una interfaz de software que interconecta aplicaciones inalámbricas (210) a componentes de hardware de radio (no mostrados en la figura 2A). El administrador de sesión (220) administra el intercambio de comunicaciones entre las aplicaciones inalámbricas (210) y el objeto de radio (230). En una realización, una de las funciones realizadas por el administrador de sesión (220) consiste en proporcionar el componente de arbitraje, como se describe en la Figura 1. Además, como se describe en otra parte, el administrador de sesión (220) puede determinar cuál de los componentes del objeto de radio (230) debería recibir una solicitud particular de una de las aplicaciones (210).
[0038] En una arquitectura de mensajes como la que se muestra en la Figura 2A, el administrador de sesión (220) se comunica con el objeto de radio (230) mediante mensajes (250). Por ejemplo, una solicitud reenviada por el administrador de sesión (220) puede adoptar la forma de un mensaje, en vez de una llamada de función. De manera similar, las confirmaciones, respuestas y comunicaciones entrantes pueden ser reenviadas a las aplicaciones inalámbricas (210) por el administrador de sesión en 220 y/o el objeto de radio (230) usando mensajes (250). Además, las comunicaciones intercambiadas entre el administrador de sesión (220) y las aplicaciones inalámbricas (210) también pueden comunicarse como mensajes (250).
[0039] En la Figura 2B se ilustra un mensaje (250) que puede comunicarse entre dos componentes de programación, como por ejemplo la aplicación inalámbrica (210) y el administrador de sesión (220). El mensaje (250) puede incluir información sobre el componente que generó el mensaje, incluida la información de identificación (255) de la aplicación de origen. El mensaje (250) también puede incluir información (256) sobre el propósito de la comunicación. La información de identificación (255) puede incluir un identificador de versión (252) que identifica la versión de software del componente que generó el mensaje. Se pueden incluir muchos otros tipos de información en el mensaje para facilitar la administración adecuada de la solicitud por parte del componente receptor. Por ejemplo, la información incluida en el mensaje puede identificar o indicar un protocolo, formato o proceso que utiliza la aplicación de origen. Cuando se implementa la arquitectura de mensajes, los componentes de la arquitectura pueden administrar y comprender mejor las solicitudes de mensajes de componentes obsoletos, ya que el mensaje (250) proporciona información para permitir que los componentes receptores comprendan y procesen la solicitud de mensajes. De esta forma, una arquitectura de mensajes como la que se muestra y describe permite una mejor compatibilidad con versiones anteriores, ya que se actualizan los elementos de la arquitectura a lo largo del tiempo.
[0040] Por el contrario, las llamadas de funciones y los enfoques más tradicionales están intrínsecamente limitados en su capacidad de comunicar información de identificación, como por ejemplo la versión de un componente que inicia una solicitud de mensaje. Dichos enfoques tradicionales desarrollan problemas de compatibilidad a lo largo del tiempo, ya que en las aplicaciones o componentes más nuevos surgen dificultades para comprender cómo administrar las llamadas de funciones de programas obsoletos.
[0041] De acuerdo con una realización, el mensaje (250) es generado y enviado, [y] puede ser administrado por el componente receptor de forma asíncrona. Por ejemplo, el administrador de sesión (220) de la Figura 2A puede poner en cola un mensaje entrante. De esta forma, la arquitectura de mensajes promueve intrínsecamente la función del administrador de sesión en el arbitraje de solicitudes para los objetos de radio. Además, la arquitectura de mensajes facilita que las aplicaciones inalámbricas individuales (210) emitan solicitudes de mensajes y no se retrasen los procesos posteriores mientras esperan la confirmación o la respuesta a la solicitud de mensajes. Por el contrario, una arquitectura que utiliza llamadas de función puede requerir pasos adicionales para permitir que el programa solicitante continúe sus operaciones mientras el componente receptor responde a la llamada de función.
[0042] En una realización como la que se muestra en la Figura 2A, el mensaje (250) puede proceder de una ubicación que es remota al dispositivo residente (200), pero aun así puede ser administrado de manera similar a los mensajes generados desde componentes dentro de ese dispositivo. Por ejemplo, un dispositivo remoto (202) puede proporcionar una aplicación inalámbrica y el dispositivo residente (200) puede incorporar un objeto de radio y el hardware de radio correspondiente para permitir la actividad inalámbrica basada en el uso de esa aplicación. El dispositivo remoto (202) puede comunicar una solicitud enviada por mensaje desde la aplicación inalámbrica en ese dispositivo al dispositivo residente (200), mediante el uso de Bluetooth, WiFi, transmisiones por infrarrojos u otros medios de comunicación. El dispositivo residente (200) puede transmitir o realizar la actividad inalámbrica utilizando el mensaje de la solicitud. Por ejemplo, la aplicación en el dispositivo remoto (202) puede ser una aplicación de mensajes de texto (por ejemplo, correo electrónico o SMS). Una conexión por infrarrojos o Bluetooth puede transferir una solicitud de mensaje desde el dispositivo remoto (202) al dispositivo residente (200), y la solicitud de mensaje transmite el destinatario y el cuerpo del mensaje. El objeto de radio (230) en el dispositivo residente (200) puede formar el paquete o paquetes para el mensaje, incluidos el encabezado, el identificador y el cuerpo del mensaje. El hardware de radio en el dispositivo residente (200) puede generar el mensaje de texto saliente usando el formato y protocolo especificados por el objeto de radio (230).
[0043] Una arquitectura de mensajes como la que se ilustra en la Figura 2A asume que todas las aplicaciones (210) que usan el objeto de radio (230) están habilitadas para enviar mensajes cuando se comunican con el objeto de radio. Sin embargo, en la práctica, algunos o todos los componentes de la capa de aplicación (110) pueden requerir la capacidad de realizar llamadas de función u otras formas de solicitudes al objeto de radio (230) con el fin de realizar solicitudes. En la Figura 2C se ilustra una realización en la que una aplicación inalámbrica (260) no está habilitada para mensajes, pero genera llamadas (262) cuando realiza solicitudes. En una realización, se puede proporcionar una capa de interfaz (270) que convierte las llamadas (262) en mensajes (272). Los mensajes (272) pueden reenviarse después al objeto de radio a través del administrador de sesión (280).
[0044] Una realización como la que se muestra en la Figura 2C permite que un dispositivo informático ejecute aplicaciones que utilizan mensajes y aplicaciones que se sirven de llamadas de función cuando intentan comunicarse con el objeto de radio (230) (véase la Figura 2A). Como se describe en la Figura 3 y en otras partes, las realizaciones de la invención pueden permitir la modularización sustancial del objeto de radio (230), lo que significa que las construcciones programáticas que forman el objeto (230) pueden permanecer sustancialmente estáticas cuando se implementan en diferentes dispositivos y con diferentes plataformas. Por ejemplo, hay plataformas que no usan la arquitectura de mensajes. Una realización como la que se muestra en la Figura 2C permite que el objeto de radio mantenga su construcción y uso de mensajes, incluso en distintas plataformas que usan llamadas de función.
OBJETO DE RADIO MODULARIZADO
[0045] Los objetos de radio son normalmente software o elementos programados que acompañan a los módulos de hardware de radio correspondientes. En virtud de los enfoques anteriores, el objeto de radio que acompaña a un módulo de hardware de radio particular (un conjunto de chips CDMA) tenía que diseñarse por separado para acomodar el sistema operativo y el hardware del dispositivo. En virtud de dichos enfoques pasados, los dispositivos que eran diferentes en cuanto al hardware (por ejemplo, tenían diferentes fabricantes) o a los sistemas operativos (por ejemplo, POCKET PC fabricado por MICROSOFT CORP. y PALM OS fabricado por PALMSOURCE, INC.) tenían objetos de radio diseñados independientemente, a pesar de que tales dispositivos usaban el mismo hardware básico de radio.
[0046] En virtud de la práctica anterior, el uso de dichos objetos de radio diseñados independientemente significaba que las construcciones programáticas para el objeto de radio del mismo hardware de radio diferían significativamente de un dispositivo a otro y de una plataforma a otra. Como resultado, la implementación de objetos de radio en el pasado fue relativamente laboriosa y costosa para los diseñadores de software y fabricantes de productos.
[0047] A diferencia de enfoques anteriores, las realizaciones descritas en el presente dan a conocer un objeto de radio que es sustancialmente independiente de la plataforma y del dispositivo. Se dice que dicho objeto de radio está modularizado, ya que partes significativas del objeto de radio se pueden implementar sustancialmente de la misma forma en diferentes dispositivos y plataformas para acompañar al mismo módulo o módulos de hardware de radio. Cuando un objeto de radio se implementa de la misma forma en diferentes dispositivos, la instancia del objeto de radio en cada dispositivo tiene sustancialmente la misma construcción programática. Específicamente, una realización prevé que el objeto de radio pueda tener sustancialmente el mismo código. Esto significa que las instrucciones de código pueden tener una sintaxis sustancialmente similar y realizar al menos procesos casi idénticos cuando se compilan para su uso en diferentes dispositivos.
[0048] En la Figura 3 se ilustra una realización en la que se implementa un objeto de radio modularizado en un dispositivo informático inalámbrico, de acuerdo con una realización de la invención. En la Figura 3, un dispositivo informático ejecuta un sistema operativo (310) e incluye hardware de radio (330) para un tipo específico de comunicaciones inalámbricas. Un objeto de radio (320) procesa las comunicaciones hacia y desde el hardware de radio (330). El objeto de radio (320) está modularizado sustancialmente o significativamente, de modo que tiene partes que son independientes del dispositivo y la plataforma. De esta forma, una realización prevé que el objeto de radio (320) esté configurado sustancialmente para el hardware de radio (330), en lugar de depender de los requisitos del dispositivo o del sistema operativo (310).
[0049] El objeto de radio (320) incluye una abstracción de sistema operativo (SO) (322), uno o más componentes de radio (324) y una interfaz de dispositivo (326) u otra interfaz de dispositivo. El objeto de radio (320) se comunica con el hardware de radio (330) usando la interfaz de dispositivo (326). En una realización, los componentes de procesamiento primarios del objeto de radio (320) son los componentes de radio (324), los cuales se proporcionan para aplicaciones individuales en las que puede participar la actividad inalámbrica. Por ejemplo, como se describe en la Figura 4, un componente de radio individual (324) puede administrar solicitudes de una aplicación específica mediante la formulación de paquetes de datos que pueden ser utilizados por el hardware de radio para generar o iniciar una comunicación especificada por esa solicitud.
[0050] Aunque en una realización mostrada por la Figura 3 se contempla que el objeto de radio (320) incluya interfaces operativas y de dispositivos, otras realizaciones pueden eliminar las interfaces de dispositivo y/u operativas del objeto de radio por completo, de forma que el objeto de radio (320) sea un componente completo y modular capaz de ser utilizado en diferentes tipos de dispositivos y con diferentes sistemas operativos. En una realización, puede proporcionarse la abstracción del sistema operativo (322) externamente respecto del objeto de radio (320) y proporcionarse como un componente o funcionalidad independientes, o incorporarse a la interfaz del sistema operativo (312) u otro componente que no sea el objeto de radio (320). De manera similar, la interfaz del dispositivo (326) puede proporcionarse externamente respecto del objeto de radio (320) y también proporcionarse como un componente o funcionalidad independientes del objeto de radio (320). De esta manera, la construcción del objeto de radio (320) es completamente independiente del tipo de dispositivo y del tipo de sistema operativo, y la interfaz del dispositivo (326) y la abstracción del sistema operativo (322) se pueden proporcionar por separado. Además, se pueden crear objetos de radio idénticos (320) para diversos dispositivos y diversos sistemas operativos.
[0051] De acuerdo con una realización, los componentes de radio (324) están modularizados, lo que significa que comprenden código y ejecutan procesos que son independientes de la plataforma y el dispositivo. La abstracción del sistema operativo (322) puede abstraer el sistema operativo (310) para las comunicaciones intercambiadas entre el objeto de radio (320) y el sistema operativo (310). Estas comunicaciones pueden incluir solicitudes, confirmaciones, notificaciones y otras formas de comunicaciones. De manera similar, la interfaz de dispositivo (326) puede abstraer el perfil de dispositivo para el objeto de radio (320). Por lo tanto, cada vez que se implementa el objeto de radio para un dispositivo y plataforma específicos, el objeto de radio (320) puede emplear los mismos componentes de radio (324). Solo es necesario reformular la interfaz del dispositivo (326) y la abstracción del sistema operativo (322).
[0052] Además de la abstracción del sistema operativo (322), puede ser necesaria una interfaz del sistema operativo (312) para permitir la conversión de comunicaciones específicas del sistema operativo (por ejemplo, llamadas de funciones y otras solicitudes) a un formato o tipo que se ajuste a la naturaleza del objeto de radio (320). Por ejemplo, como se describe en las Figuras 2A-2C, el objeto de radio (320) puede comunicarse utilizando mensajes, mientras que los programas de capa de aplicación emiten solicitudes utilizando llamadas de función. En tales casos, la interfaz del sistema operativo (312) puede permitir las comunicaciones entre el objeto de radio (320) y los programas de capa de aplicación que son específicos del sistema operativo en sus capacidades. Por ejemplo, la interfaz del sistema operativo (312) puede traducir las llamadas de función a mensajes, como se describe en la Figura 2C.
[0053] Además, una realización hace posible que partes del objeto de radio (320) que son independientes del dispositivo y del sistema operativo se abstraigan en componentes relativamente definidos. La abstracción del sistema operativo (322) puede depender del sistema operativo (310), pero es independiente del dispositivo. La interfaz del dispositivo (326) puede depender del dispositivo, pero es independiente del sistema operativo (310). En consecuencia, la parte del objeto de radio (320) que forma la abstracción del sistema operativo (322) y los componentes de radio (324) puede ser la misma en diferentes tipos de dispositivos que tienen el mismo sistema operativo (310). De manera similar, la parte del objeto de radio (320) que forma los componentes de radio (324) y la interfaz de dispositivo (326) puede ser la misma en diferentes dispositivos, incluso cuando los diferentes dispositivos tienen diferentes sistemas operativos (310).
[0054] En la Figura 4 se ilustran en mayor detalle los componentes de un objeto de radio como el que se describe en la Figura 3, de acuerdo con una realización de la invención. En una realización mostrada en la Figura 4, un objeto de radio (420) actúa como una interfaz con el hardware de radio (450) en un dispositivo informático. El objeto de radio (420) incluye una abstracción del sistema operativo (422) y múltiples componentes de objeto de radio. En una implementación mostrada por la Figura 4, los múltiples componentes de objeto de radio incluyen un controlador de SMS (432), un controlador de llamadas (434), un controlador de datos (436) y un controlador de estado (438). Además, el objeto de radio incluye un puerto (446) que interactúa con el dispositivo para comunicarse con el hardware de radio (450).
[0055] En una realización, el puerto (446) también puede corresponder a la interfaz del dispositivo (326). De esta forma, los componentes del objeto de radio (432-428) y el puerto (446) son al menos sustancialmente independientes de la plataforma, y el puerto (446) y los componentes del objeto de radio (432-438) son al menos sustancialmente independientes del dispositivo. Esto quiere decir que una parte significativa (por ejemplo, el 80% de la construcción programática) depende solo del hardware de radio (450) en uso. En una realización, el diseño de un dispositivo informático inalámbrico puede incluir la identificación de un objeto de radio (420) que está configurado para el hardware de radio (450) en uso. Solo el puerto (446) y la abstracción del sistema operativo (422) se configuran según el modelo de dispositivo y la plataforma caso por caso. El resultado es que la cantidad de diseño del programa se reduce significativamente cuando se introducen nuevos dispositivos (o una nueva funcionalidad del dispositivo).
[0056] En una realización, el objeto de radio (420) se implementa en un dispositivo y se ejecuta en conexión con el uso de aplicaciones inalámbricas que generan y administran actividades inalámbricas. Las aplicaciones inalámbricas pueden generar solicitudes (411 y 413) para el objeto de radio (420). La abstracción del sistema operativo (422) administra las solicitudes (411 y 413) al determinar cuál de una pluralidad de componentes de objeto de radio va a recibir las solicitudes (411 y 413). Además de administrar las solicitudes, la abstracción del sistema operativo (422) realiza operaciones que son necesarias en función del tipo o versión del sistema operativo. Por ejemplo, cada sistema operativo tiene sus propios procedimientos para llevar a cabo la administración, incluida la asignación de memoria libre. En una realización, entre las operaciones realizadas por la abstracción del sistema operativo (422) figuran la realización de solicitudes al sistema operativo para obtener la cantidad adecuada de memoria. La abstracción del sistema operativo (422) también puede realizar operaciones de subprocesamiento, donde varios programas se ejecutan simultáneamente en el sistema operativo. El objeto de radio (420) puede ejecutarse en su propio subproceso. En general, los subprocesos son específicos del sistema operativo. Por ejemplo, cómo se inicia un subproceso, cómo se mantiene, cómo se realiza una comunicación con un subproceso y cómo se termina un subproceso son operaciones específicas del tipo y la versión del sistema operativo. La abstracción del sistema operativo (422) establece el subproceso con el sistema operativo. Además, si diferentes sistemas operativos usan una sintaxis diferente, la abstracción del sistema operativo (422) puede realizar funciones de traducción de sintaxis.
[0057] El controlador de SMS (432) está configurado para administrar comunicaciones que se originan en una aplicación de SMS o están destinadas a dicha aplicación. Estas comunicaciones pueden incluir mensajes salientes, que se originan como una solicitud (413) desde una aplicación de SMS que reside en el dispositivo. Además, las realizaciones descritas en el presente prevén que el objeto de radio (420) sea compartido por más de un dispositivo. De esta forma, las solicitudes pueden originarse como una solicitud (411) desde otro dispositivo con el fin de generar un mensaje saliente en el dispositivo en el que reside el objeto de radio (420). En cualquier caso, una solicitud de un mensaje saliente puede tener como resultado que el controlador de SMS (432) forme un paquete utilizando la información contenida en la solicitud. El paquete puede ajustarse al protocolo y formato del protocolo y formato de SMS. Después el controlador de SMS (432) comunica la comunicación preparada al puerto (446), el cual a continuación reenvía la comunicación al hardware de radio (450). El controlador de SMS (432) también está configurado para administrar las confirmaciones (419) del hardware de radio (450). El hardware de radio (450) puede emitir confirmaciones (419) (y otras comunicaciones internas) que corresponden a eventos tales como la transmisión con éxito del mensaje. El tiempo y la forma en que se emiten las confirmaciones dependen del hardware de radio (450). El controlador de SMS (432) puede incluir lógica para administrar hardware de radio (450) diferente. Por ejemplo, es posible que el hardware de radio (450) no proporcione confirmaciones. En cualquier caso, el controlador de SMS (432) está configurado para hacer que las prestaciones del hardware de radio (450) sean uniformes con respecto a las capas de aplicación superiores (por ejemplo, la aplicación de SMS). El controlador de SMS (432) también puede administrar comunicaciones (417) que corresponden a mensajes entrantes de otros dispositivos. Dichos mensajes pueden ser recibidos en primer lugar por el hardware de radio (450) [y a continuación] convertidos en una comunicación que el controlador de s Ms (432) puede traducir para la aplicación de SMS que los recibe.
[0058] Se usa el controlador de llamadas (434) para recibir solicitudes de aplicaciones que proporcionan una funcionalidad de llamada (una aplicación telefónica). Las solicitudes pueden especificar que el hardware de radio va a realizar una llamada de voz. La solicitud puede incluir un número de teléfono especificado por el usuario cuando utiliza una aplicación telefónica. El controlador de llamadas (434) puede formar un paquete que ordena al hardware de radio (450) realizar la llamada usando el número especificado. El hardware de radio (450) puede proporcionar varias confirmaciones (419) una vez que se realiza la solicitud. Las confirmaciones pueden corresponder a las siguientes situaciones: (i) el dispositivo se encuentra en un estado de marcado; (ii) se ha establecido la conexión de la llamada; y (iii) la llamada ha finalizado. Cada una de estas confirmaciones (419) puede reenviarse a la aplicación de capa superior con el fin de que esa aplicación actúe de acuerdo con el estado de las comunicaciones de radio. Por ejemplo, una vez que el hardware de radio (450) se encuentra en un estado de marcado, la aplicación telefónica puede comunicar el estado. Cuando se establece la llamada, la siguiente solicitud de transmisión de audio puede administrarse fuera del objeto de radio (420). Una capa de interfaz del sistema (SIL por sus siglas en inglés, System Interface Layer) (460) puede recibir una comunicación de conexión de llamada (456) (proporcionada por el sistema operativo o la aplicación de capa superior) y enrutar datos de audio hacia y desde la aplicación telefónica a través del hardware de audio. Por lo tanto, los datos de audio comunicados después de que se conecta la llamada pueden administrarse fuera del objeto de radio (420) utilizando la SIL (460), el hardware de audio del dispositivo (no mostrado) y el hardware de radio (450). De esta forma, la SIL (460) puede depender del dispositivo y del sistema operativo. En una realización, la SIL (460) puede estar reservada para realizar determinadas funciones específicas del dispositivo y/o del [sistema] operativo, además del enrutamiento de datos de audio. Por ejemplo, algunos dispositivos son capaces de proporcionar notificaciones a través de diodos emisores de luz (LED por sus siglas en inglés, Light-Emitting Diode). La SIL se usará para interactuar con componentes específicos del dispositivo que causarán la iluminación de los LED, lo que puede implicar una velocidad de parpadeo y un color ámbar dependiendo de la naturaleza de la comunicación que va a representar la iluminación de los LED. En estos y otros casos, el componente que administra las tareas específicas del dispositivo es externo al objeto de radio.
[0059] El controlador de llamadas (434) también puede realizar otras funciones. Estas otras funciones incluyen el establecimiento de una llamada cuando la solicitud para realizar la llamada es una comunicación entrante reenviada desde el hardware de radio (450). El controlador de llamadas (434) puede comunicar la solicitud entrante a la aplicación de capa superior que se ejecuta en el dispositivo. Otras funciones que puede realizar el controlador de llamadas (434) incluyen la administración de las solicitudes entrantes por parte de la aplicación de la capa superior para aceptar o realizar múltiples llamadas (por ejemplo, conferencias de llamadas), responder a una solicitud de la aplicación de la capa superior para cambiar de una llamada telefónica a otra y enviar a la aplicación de la capa superior la información de identificación de llamadas (“ID de llamada”) como respuesta a llamadas telefónicas entrantes. Dicha información puede ser presentada por la aplicación telefónica al usuario. Determinadas notificaciones, como por ejemplo la recepción de un nuevo correo de voz, también pueden comunicarse desde el controlador de llamadas (434) a las aplicaciones de la capa superior.
[0060] El controlador de datos (436) administra solicitudes para realizar conexiones de datos. Dichas solicitudes incluyen, por ejemplo, solicitudes desde componentes de navegación por Internet, como por ejemplo un navegador web o componentes multimedia habilitados para el navegador que se ejecutan en el dispositivo. El controlador de datos (436) también puede comunicar respuestas desde sitios web y otras ubicaciones de red al componente solicitante. El controlador de datos (436) también puede administrar información como el estado de la llamada de datos, la intensidad de la señal y el momento exacto de la llamada de datos.
[0061] El controlador de estado (438) mantiene información de estado relacionada con las comunicaciones y actividades inalámbricas. En una implementación, el controlador de estado (438) mantiene información como, por ejemplo: (i) si el hardware de radio (450) está encendido; (ii) si el dispositivo se encuentra en servicio; (iii) la calidad de la señal portadora; y (iv) la información de visualización del operador. Otros ejemplos de información que puede mantener el controlador de estado (438) incluyen información, como por ejemplo de si hardware del altavoz del teléfono está activado, si el silenciamiento de la aplicación telefónica está activado y si las funciones de privacidad de voz de las llamadas se encuentran en uso.
[0062] Aunque una realización como la que se muestra en la Figura 4 puede prever que el objeto de radio (420) se comunique y opere con el sistema operativo a través de la abstracción del sistema operativo (422), las aplicaciones de capa superior todavía pueden ejecutarse en el sistema operativo, pero sin ser compatibles con el objeto de radio (420). Por ejemplo, una plataforma puede integrar el sistema operativo con las aplicaciones de la capa superior, de modo que las aplicaciones de la capa superior se comuniquen solo con respecto a objetos de radio nativos que sean directamente compatibles con el sistema operativo, sin el uso de la abstracción del sistema operativo (422). Para dar cabida a tales aplicaciones de capa superior, se puede proporcionar una interfaz de sistema operativo adicional entre el objeto de radio (420) y el sistema operativo. La interfaz del sistema operativo convierte las comunicaciones que adoptan la forma de objeto de radio nativo del sistema operativo a una forma del objeto de radio modularizado descrito en la Figura 4.
[0063] En una realización mostrada por la Figura 4, la distribución de funciones y tareas entre los distintos componentes forma parte de la implementación. Por ejemplo, la división entre qué componentes realizan qué tareas puede ser borrosa, o incluso puede modificarse, basándose en la implementación y el diseño del objeto de radio (420) y el hardware de radio (450). Por ejemplo, algunos objetos de radio pueden hacer que el controlador de llamadas (434) administre las notificaciones de correo de voz entrantes, mientras que otros objetos de radio pueden contemplar el uso del controlador de mensajes (432). Adicionalmente, la distinción entre diferentes controladores puede fusionarse en otras implementaciones.
SOPORTE DE RADIO MÚLTIPLE
[0064] Las realizaciones de la invención prevén dispositivos informáticos inalámbricos que funcionan usando múltiples módulos de hardware de radio, donde cada módulo de hardware de radio permite actividades de comunicación en un tipo particular de red y/o protocolo. En dichos casos, las realizaciones hacen posible una toma de decisiones inteligente y programática sobre qué objetos de radio se deben usar en condiciones y casos específicos.
[0065] En la Figura 5 se ilustra un dispositivo informático en el que múltiples módulos de hardware de radio están provistos de soporte, en virtud de una realización de la invención. En la Figura 5 se proporciona soporte para múltiples tipos de módulos de hardware de radio (520) con los correspondientes objetos de radio (510). Cada módulo de hardware de radio (520) puede habilitar actividades de comunicación inalámbrica de un protocolo particular o en un tipo de red. En la Figura 5 se asume una implementación de diseño en la que se supone que cada objeto de radio (510) es para un módulo de hardware de radio (520) correspondiente, ubicado en otra parte.
[0066] Un administrador de sesión (505) puede proporcionar una interfaz entre las aplicaciones de capa superior y los objetos de radio (520). En una realización, el administrador de sesión (505) realiza funciones de arbitraje de solicitudes de múltiples aplicaciones en la capa de aplicación para uno o más de los objetos de radio (510), como se describe en relación con la Figura 1 y en otros lugares. El administrador de sesión (505) también puede configurarse para proporcionar la interfaz desde aplicaciones que son específicas del sistema operativo, como se describe en la Figura 3 y en otros lugares.
[0067] De acuerdo con una realización, una solicitud (518) de una de las aplicaciones en la capa de aplicación puede ser administrada por cualquiera de los objetos de radio (510). Por ejemplo, una solicitud para conectar una llamada puede ser administrada por un objeto de radio para hardware CDMA, un objeto de radio para hardware GSM o incluso por el objeto de radio para hardware WiFi (a través de VoIP (Voz sobre Protocolo de Internet, por sus siglas en inglés Voice over Internet Protocol)). En una realización mostrada, la determinación de qué módulo de hardware de radio (520) y objeto de radio (510) correspondiente deben recibir una solicitud concreta puede hacerse mediante lógica de negocios antes de que la solicitud se reenvíe a uno de los objetos de radio. De acuerdo con una realización, el administrador de sesión (505) incluye la lógica de negocios (508) para determinar qué objeto de radio (510) y módulo de hardware de radio (540) correspondiente recibirán una solicitud determinada.
[0068] La lógica de negocios (508) puede decidir qué objeto de radio (510) y módulo de hardware de radio (520) (“ruta de radio”) debe recibir una solicitud concreta para generar una comunicación saliente en función de uno o más de los siguientes factores: (i) un coste asociado con cada ruta de radio; (ii) el número de minutos que tienen las rutas individuales en virtud de un plan de operador; (iii) la disponibilidad de red para el tipo de comunicación proporcionada desde la ruta de radio; (iv) la intensidad de la señal de la red disponible para diferentes rutas; (v) las preferencias designadas por el usuario; (vi) la entrada proporcionada por el usuario en el momento en que se realiza la solicitud (por ejemplo, el usuario especifica una llamada VoIP); (vii) el momento del día en el que se realiza la solicitud; (viii) la aplicación que realiza la solicitud; y (ix) la ubicación física del usuario.
[0069] Por lo que respecta a las comunicaciones dirigidas a la capa de aplicación, las realizaciones permiten comunicaciones (522) que se generan dentro del dispositivo y comunicaciones (523) recibidas de fuentes externas. Las comunicaciones generadas desde el dispositivo pueden adoptar la forma de confirmaciones o respuestas a solicitudes generadas desde la capa de aplicación. Las comunicaciones generadas externamente (523) pueden ser recibidas por cualquier módulo de hardware de radio (520) que esté activo y pueda procesar la comunicación. Dichas comunicaciones pueden reenviarse en sentido ascendente por la cadena desde la capa de hardware de radio a la aplicación apropiada en la capa de aplicación.
[0070] Como se ha mencionado, una motivación para incluir múltiples módulos de hardware de radio (520) es que diferentes entornos o condiciones pueden favorecer el uso de un tipo de comunicaciones de radio sobre otro. Por ejemplo, las comunicaciones de Voz sobre Protocolo de Internet (VoIP) son generalmente económicas, pero requieren una conexión a Internet y se usan preferentemente en medios de banda ancha. Las redes CDMA se consideran redes de telefonía móvil ampliamente disponibles y fiables, pero a menudo resultan costosas. Como ejemplo, el dispositivo (500) puede incluir un primer módulo de hardware de radio (512) para comunicaciones CDMA y un segundo módulo de hardware de radio (512) para conexiones de Internet WiFi. El primer módulo de hardware de radio (512) puede usarse cuando se prefiere la fiabilidad y disponibilidad de CDMA, mientras que el segundo módulo de hardware de radio (514) puede usarse cuando hay disponible una buena conexión de WiFi. A través del segundo módulo de hardware de radio (514), las llamadas telefónicas VoIP pueden realizarse a tarifas mucho más económicas que la llamada CDMA correspondiente.
[0071] Una realización como la que se muestra en la Figura 5 puede ser facilitada por objetos de radio (510) que están significativamente modularizados. De esta forma, el diseño y la implementación de cada objeto de radio (510) no resultan difíciles y engorrosos con la necesidad de construcciones programáticas que sean específicas del dispositivo y del software operativo en cada objeto de radio. Además, una realización puede emplear funciones y características descritas con otras realizaciones, incluido el uso de arbitraje y la arquitectura de mensajes. El arbitraje por parte del administrador de sesión (505), por ejemplo, facilita el uso de recursos limitados del dispositivo cuando se realizan solicitudes procedentes de múltiples aplicaciones y estas son posibles a través de múltiples rutas de radio. Además, las comunicaciones de mensajería entre la capa de aplicación (no mostrada en esta figura) y el administrador de sesión (505) permiten que el administrador de sesión (505) administre mejor las solicitudes de varios tipos de aplicaciones y versiones de aplicaciones, simplificando así el proceso de selección de ruta de radio cuando están en uso múltiples objetos de radio (510).
CASOS DE USO ADICIONAL
[0072] En la Figura 6 se ilustra una realización en la que se incluyen múltiples objetos de radio en un dispositivo, y en la que el tipo de comunicaciones de radio utilizadas para una actividad inalámbrica concreta es transparente para el usuario. En la Figura 6, un dispositivo incluye un administrador de sesión (610), y múltiples objetos de radio, y el hardware de radio correspondiente para cada uno de los objetos de radio. En una implementación mostrada, el dispositivo incluye un objeto de radio Bluetooth (622), un objeto de radio de Voz sobre Protocolo de Internet (VoIP) (624) y un objeto de radio CDMA (626). En el caso en que una solicitud de una aplicación inalámbrica de capa superior sea una solicitud de conexión de llamada (602) (por ejemplo, generada por una aplicación telefónica), múltiples objetos de radio pueden responder y realizar la llamada. Aunque una realización como la descrita contempla el uso de una solicitud de actividad inalámbrica en forma de una conexión de llamada, otras realizaciones pueden implementar otros tipos de solicitudes, como por ejemplo solicitudes de mensajes.
[0073] Uno de los componentes es el objeto de radio VoIP (624) que interactúa con el hardware WiFi. El objeto de radio VoIP proporciona las funciones adicionales de traducir la solicitud (602) a una solicitud VoIP que puede ser administrada por el hardware WiFi. El hardware WiFi puede incluir una pila (640) de Protocolo de Inicio de Sesión (SIP por sus siglas en inglés, Session Initiation Protocol) que administra las solicitudes y las reenvía para generar la solicitud inalámbrica para Internet con el fin de crear una conexión de voz sobre Protocolo de Internet.
[0074] El objeto de radio CDMA (626) puede administrar la solicitud de conexión de llamada (602) de una manera descrita en otras realizaciones. Se puede usar un hardware de radio CDMA (660) para cuando la solicitud de conexión de llamada (602) tiene como resultado la realización de una llamada CDMA. El objeto de radio Bluetooth (622) puede usarse para comunicaciones de dispositivo a dispositivo.
[0075] Con las características y funcionalidades descritas en esta aplicación, las realizaciones de la invención permiten la selección y el uso de los objetos de radio para que sean transparentes desde la operación de la aplicación de capa superior. Por ejemplo, la aplicación telefónica que genera la solicitud de conexión de llamada (602) puede comportarse de la misma forma si la conexión de llamada se realiza a través de VoIP o CDMA. El administrador de sesión (610) puede administrar la solicitud (602) y, utilizando una lógica como la que se describe en la Figura 5, seleccionar uno de los objetos de radio para administrar la solicitud de conexión de llamada (602). Por ejemplo, si existe WiFi disponible, el administrador de sesión (610) puede seleccionar automáticamente el objeto de radio VoIP (624).
[0076] En una realización, los objetos de radio son significativamente independientes del dispositivo y de la plataforma. De esta forma, la configuración de la aplicación de capa superior que genera la solicitud (602) no resulta fundamental. Por ejemplo, la aplicación puede ser específica del sistema operativo, mientras que partes significativas del objeto de radio no lo son. En una realización, la solicitud (602) puede generarse a partir de un dispositivo emparejado. El dispositivo emparejado puede tener el mismo perfil o un perfil diferente de dispositivo o plataforma. La solicitud (602) puede transmitirse a través de, por ejemplo, la radio Bluetooth en el dispositivo.
[0077] De acuerdo con una realización, un dispositivo como el que se muestra en la Figura 6 puede emparejarse o comunicarse con otros dispositivos que pueden usar algunos o todos sus recursos de radio. Así, por ejemplo, se puede proporcionar una aplicación telefónica en un dispositivo que solo puede comunicarse con otro dispositivo a través de Bluetooth o infrarrojos, o por cable. Sin embargo, el funcionamiento de la aplicación telefónica tiene como resultado que la solicitud de conexión de llamada (602) establezca una llamada. Esta operación se ve facilitada por el hecho de que el objeto de radio es independiente del dispositivo. Incluso si el dispositivo solicitante tiene una plataforma diferente, puede ser admitido por las interfaces del sistema operativo y a los componentes de abstracción que configuran los componentes del objeto de radio para las plataformas alternativas. Además, la arquitectura de mensajes descrita en la Figura 2 puede implementarse en una realización como la que se describe para facilitar dichas solicitudes entre dispositivos. Como se observa en la Figura 3, las solicitudes de mensajes incluyen información de identificación y versión, y se pueden comunicar más fácilmente de forma asíncrona. Una vez que se establece la llamada, el objeto de radio administra las confirmaciones posteriores (por ejemplo, confirmación de llamada realizada) para permitir la comunicación con la capa de aplicación independientemente del perfil o la plataforma del dispositivo.
[0078] Una vez que se utiliza uno de los objetos de radio para realizar la llamada, una realización permite que los datos de audio se puedan enrutar al hardware de radio del objeto de radio seleccionado cuando se realiza la llamada. Se puede utilizar una SIL (630) para establecer las rutas de los datos de audio fuera del objeto de radio. Como se ha mencionado anteriormente, la SIL (630) depende del dispositivo y de la plataforma. Se puede usar más de una SIL (630). Por ejemplo, cada objeto de radio puede tener su propia SIL (630).
[0079] En el presente se prevén numerosas realizaciones alternativas. Entre ellas, aunque las realizaciones descritas anteriormente contemplan el uso de actividades inalámbricas que se refieren principalmente a llamadas telefónicas y mensajes, debe tenerse en cuenta que los objetos de radio pueden utilizarse para otros tipos de transferencias de datos, incluidos, por ejemplo, los de audio y vídeo (por ejemplo, la transmisión en continuo de audio).
[0080] Además, las realizaciones descritas en el presente prevén implementaciones en las que se pueden añadir objetos de radio a dispositivos para aumentar su funcionalidad en fases posteriores del proceso de fabricación. Por ejemplo, una realización prevé la capacidad de un usuario de añadir un objeto de radio (320) (véase la Figura 3), junto con cualquier abstracción del sistema operativo e interfaz del dispositivo integradas o suministradas externamente. Alternativamente, la adición del objeto de radio (320) puede ser realizada por un proveedor o compañía de telefonía móvil utilizando un producto estandarizado, de modo que la funcionalidad del objeto de radio sea determinada por el proveedor o compañía de telefonía móvil. La modularización del objeto de radio, en la que los objetos de radio tienen construcciones programáticas similares o incluso idénticas, incluso cuando se utilizan diferentes dispositivos y sistemas operativos, permite dichas configuraciones en fases posteriores.
[0081] En la medida en que las realizaciones de la invención descritas anteriormente pueden implementarse, al menos parcialmente, utilizando un sistema informático, se apreciará que se prevé, como un aspecto de la presente invención, un programa informático para implementar al menos parte de los métodos descritos y/o de los dispositivos informáticos descritos. El sistema informático puede ser cualquier aparato, sistema o dispositivo apropiados. Por ejemplo, el sistema informático puede comprender un aparato de procesamiento de datos programable, un procesador o microprocesador de señales digitales, una matriz de puertas programable, puertas lógicas y/o dispositivos y puede incluso comprender un ordenador de uso general. El programa informático puede ser incorporado como código fuente y someterse a compilación para su implementación en un ordenador, o puede ser incorporado como código objeto u otra forma de código ejecutable, por ejemplo.
[0082] Apropiadamente, el programa informático puede almacenarse en un medio portador en un formato legible o utilizable por ordenador o máquina, lo que también se prevé como un aspecto de la presente invención. Por ejemplo, el medio portador puede ser una memoria de estado sólido o memoria óptica o magneto-óptica, como por ejemplo un disco legible y/o grabable, por ejemplo, un disco compacto o un disco versátil digital, o una memoria magnética como un disco o cinta, y el sistema informático puede utilizar el programa para configurar su funcionamiento. El programa informático puede suministrarse desde una fuente remota incorporada en un medio portador como una señal electrónica, incluidas una onda portadora de radiofrecuencia u ondas ópticas.
[0083] Las realizaciones de la presente invención pueden implementarse en software, firmware o hardware o en cualquier combinación de dos o más de software, firmware o hardware.
[0084] Aunque en el presente se han descrito en detalle realizaciones ilustrativas de la invención en las que se hace referencia a los dibujos adjuntos, se entenderá que la invención no está limitada a esas realizaciones específicas. Por lo tanto, serán evidentes para los expertos en la materia un gran número de modificaciones y variaciones. Por consiguiente, se pretende que el ámbito de la invención esté definido por las siguientes reivindicaciones y sus equivalentes. Asimismo, se prevé que una característica específica descrita individualmente o como parte de una realización pueda combinarse con otras funciones descritas individualmente, o partes de otras realizaciones, incluso si las otras funciones y realizaciones no mencionan esta función específica. Por lo tanto, la ausencia de combinaciones descriptivas no impedirá al inventor reivindicar derechos sobre dichas combinaciones.

Claims (15)

REIVINDICACIONES
1. Un dispositivo informático inalámbrico (100) que comprende:
un conjunto de uno o más componentes de radio (140) para transmitir y recibir comunicaciones inalámbricas en el dispositivo informático inalámbrico (100); y recursos de procesamiento y memoria que, en combinación o individualmente, proporcionan lógica y programación, en donde la lógica y la programación comprenden:
múltiples aplicaciones inalámbricas (112, 114 y 116) que pueden ser utilizadas por un usuario del dispositivo informático inalámbrico (100);
un objeto de radio (130) que interconecta las múltiples aplicaciones inalámbricas (112, 114 y 116) con el conjunto de uno o más componentes de radio (140);
un componente de arbitraje (120) que arbitra al menos una de las siguientes operaciones: (i) solicitudes (117) realizadas simultáneamente por dos o más de las aplicaciones inalámbricas (112, 114 y 116) al objeto de radio (130) para acceder a uno o más de los componentes de radio (140) en el conjunto; o (ii) respuestas (118) del objeto de radio a las solicitudes (117) realizadas por cada una de las aplicaciones inalámbricas (112, 114 y 116); y
en el que el componente de arbitraje (130) arbitra solicitudes (117) de las aplicaciones inalámbricas (112, 114 y 116) al objeto de radio (130) mediante mensajes (125) y/o arbitra respuestas (118) del objeto de radio (130) a las aplicaciones inalámbricas (112, 114 y 116) mediante mensajes (126).
2. El dispositivo informático inalámbrico (100) de la reivindicación 1, en el que el componente de arbitraje (130) permite que las solicitudes de dos o más de las aplicaciones inalámbricas (112, 114 y 116) sean administradas de forma asíncrona por el objeto de radio (130).
3. El dispositivo informático inalámbrico (100) de cualquier reivindicación precedente, en el que al menos algunas de las aplicaciones inalámbricas (112, 114 y 116) se comunican con el objeto de radio (130) mediante mensajes.
4. El dispositivo informático inalámbrico (100) de la reivindicación 1 o la reivindicación 3, en el que al menos algunas de las aplicaciones inalámbricas (112, 114 y 116) se comunican con el objeto de radio (130) mediante llamadas de funciones, y en el que los recursos de procesamiento y memoria, en combinación o individualmente, proporcionan una interfaz que convierte cada llamada de función en un mensaje correspondiente (250).
5. El dispositivo informático inalámbrico (100) de cualquiera de las reivindicaciones 1 a 4, en el que cada mensaje (250) incluye información de versión (252) sobre la aplicación inalámbrica (112, 114 y 116de la que procede el mensaje (250).
6. El dispositivo informático inalámbrico (100) de cualquier reivindicación precedente, en el que el conjunto de uno o más componentes de radio incluye diferentes tipos de componentes de radio, en el que cada tipo de componente de radio tiene como objetivo enviar y recibir datos de forma inalámbrica usando un medio de comunicación inalámbrica particular y su protocolo correspondiente.
7. El dispositivo informático inalámbrico (100) de la reivindicación 6, en el que el medio y protocolo de comunicación inalámbrica específicos corresponden a un medio y protocolo de comunicación inalámbrica seleccionados de entre un grupo que comprende: (i) fidelidad inalámbrica (WiFi); (ii) Bluetooth; (iii) Acceso Múltiple por División de Código (CDMa ); (iv) Sistema Global para las Comunicaciones Móviles (GSM) y Acceso Múltiple por División de Tiempo (TDMA).
8. El dispositivo informático inalámbrico (100) de cualquier reivindicación anterior, en el que las múltiples aplicaciones inalámbricas (112, 114 y 116) incluyen aplicaciones seleccionadas de entre un grupo que comprende: (i) una aplicación de correo electrónico inalámbrica; (ii) una aplicación de navegación web; (iii) una aplicación de servicio de mensajes cortos (SMS); (iv) una aplicación de servicio de mensajes multimedia (MMS); y (v) una aplicación de datos de voz.
9. El dispositivo informático inalámbrico de la reivindicación 1, en el que el componente de arbitraje (120) está configurado para seleccionar uno de los componentes de radio basándose, al menos en parte, en la determinación de cuál de los componentes de radio tiene una mejor recepción de comunicación en el momento en que se realiza la solicitud.
10. El dispositivo informático inalámbrico de la reivindicación 1, en el que el componente de arbitraje (120) está configurado para seleccionar uno de los componentes de radio basándose, al menos en parte, en la determinación de cuál de los componentes de radio es capaz de proporcionar una sesión de comunicación de la forma más económica.
11. Un método para permitir comunicaciones inalámbricas en un dispositivo informático (100), comprendiendo este método:
la operación de múltiples aplicaciones inalámbricas (112, 114 y 116) en el dispositivo informático (100); la implementación de un objeto de radio (130) que interconecta las múltiples aplicaciones inalámbricas (112, 114 y 116) con una pluralidad de componentes de radio (140) del dispositivo informático (100); y el arbitraje de al menos uno de los siguientes procesos: (i) solicitudes (117) realizadas simultáneamente por dos o más de las aplicaciones inalámbricas (112, 114 y 116) al objeto de radio (130) para acceder a uno o más de los componentes de radio (140); o (ii) respuestas (118) del objeto de radio (130) a las solicitudes (117) realizadas por cada una de las múltiples aplicaciones inalámbricas (112, 114 y 116); y
en el que el arbitraje de solicitudes (117) de las aplicaciones inalámbricas (112, 114 y 116) al objeto de radio (130) incluye el envío de mensajes que contienen las solicitudes (125) y/o el arbitraje de las respuestas (118) del objeto de radio (130) a las aplicaciones inalámbricas (112, 114 y 116) incluye el envío de mensajes que contienen las respuestas (126).
12. El método de la reivindicación 11, en el que la recepción de las solicitudes (117) incluye la recepción de uno o más mensajes (250) que contienen las solicitudes.
13. El método de la reivindicación 12, en el que el método comprende además el uso de la información (252) contenida en el mensaje o mensajes (250) para identificar una versión de la aplicación inalámbrica (112, 114 y 116).
14. Un programa informático que comprende elementos de programa informático para implementar al menos una parte del dispositivo informático inalámbrico de cualquiera de las reivindicaciones 1 a 10 y/o para implementar al menos parte del método de cualquiera de las reivindicaciones 11 a 13.
15. Un medio portador legible por ordenador o por máquina que contiene un programa informático de conformidad con la reivindicación 14.
ES06836133T 2005-09-23 2006-09-22 Sistema y método para permitir operaciones de radio en un dispositivo informático inalámbrico Active ES2744814T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US71981105P 2005-09-23 2005-09-23
US11/302,524 US7675933B2 (en) 2005-09-23 2005-12-12 System and method for enabling radio operations on a wireless computing device
PCT/US2006/036980 WO2007038267A2 (en) 2005-09-23 2006-09-22 System and method for enabling radio operations on a wireless computing device

Publications (1)

Publication Number Publication Date
ES2744814T3 true ES2744814T3 (es) 2020-02-26

Family

ID=37891881

Family Applications (1)

Application Number Title Priority Date Filing Date
ES06836133T Active ES2744814T3 (es) 2005-09-23 2006-09-22 Sistema y método para permitir operaciones de radio en un dispositivo informático inalámbrico

Country Status (5)

Country Link
US (4) US7675933B2 (es)
EP (2) EP3681178A1 (es)
ES (1) ES2744814T3 (es)
HU (1) HUE044579T2 (es)
WO (1) WO2007038267A2 (es)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7675933B2 (en) 2005-09-23 2010-03-09 Palm, Inc. System and method for enabling radio operations on a wireless computing device
US7912468B2 (en) * 2006-02-24 2011-03-22 Broadcom Corporation Multi-communication pathway addressing in a mobile communication device
US20080307109A1 (en) * 2007-06-08 2008-12-11 Galloway Curtis C File protocol for transaction based communication
US8977852B2 (en) * 2007-06-18 2015-03-10 Telefonaktiebolaget L M Ericsson (Publ) Security for software defined radio terminals
US9253154B2 (en) 2008-08-12 2016-02-02 Mcafee, Inc. Configuration management for a capture/registration system
WO2010127082A1 (en) * 2009-05-01 2010-11-04 Raytheon Company Configuring radios
US8750178B2 (en) * 2009-06-01 2014-06-10 Qualcomm Incorporated Connection manager for a wireless communication device
CN102461324A (zh) * 2009-06-29 2012-05-16 诺基亚公司 资源分配
WO2012023190A1 (ja) * 2010-08-18 2012-02-23 富士通株式会社 通信端末装置、着信処理プログラム、および着信処理方法
US11405969B2 (en) 2010-09-29 2022-08-02 International Business Machines Corporation Enabling interface aggregation of mobile broadband network interfaces
US9532272B2 (en) * 2012-07-02 2016-12-27 Mediatek Inc. Methods for managing radio resources between multiple radio modules and communications apparatus utilizing the same
CN103582170B (zh) * 2012-07-23 2018-08-10 百度在线网络技术(北京)有限公司 在移动设备中为多个候选应用提供通信连接的方法与设备
US9456368B2 (en) * 2013-12-20 2016-09-27 Intel Corporation Measuring link performance using multiple radio access networks
US11811827B2 (en) * 2021-01-28 2023-11-07 Oracle International Corporation Securing endpoints for virtual meetings

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6211858B1 (en) * 1997-09-26 2001-04-03 Ericsson Inc. Method and apparatus for displaying a rotating meter icon on a portable intelligent communications device
US6721288B1 (en) * 1998-09-16 2004-04-13 Openwave Systems Inc. Wireless mobile devices having improved operation during network unavailability
GB2347240A (en) * 1999-02-22 2000-08-30 Nokia Mobile Phones Ltd Communication terminal having a predictive editor application
US6763247B1 (en) * 1999-12-01 2004-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Portable telecommunication apparatus for controlling an electronic utility device
US6799208B1 (en) * 2000-05-02 2004-09-28 Microsoft Corporation Resource manager architecture
US20030013483A1 (en) * 2001-07-06 2003-01-16 Ausems Michiel R. User interface for handheld communication device
US7117008B2 (en) * 2002-01-03 2006-10-03 Intel Corporation Mitigating interference among multiple radio device types
WO2004017592A1 (en) * 2002-08-19 2004-02-26 Research In Motion Limited System and method for secure control of resources of wireless mobile communication device
US7409674B2 (en) * 2002-12-26 2008-08-05 Research In Motion Limited System and method of creating and communicating with component based wireless applications
US20040131078A1 (en) * 2003-01-03 2004-07-08 Gupta Vivek G. Apparatus and method for supporting multiple wireless technologies within a device
US7761607B2 (en) * 2004-04-23 2010-07-20 Microsoft Corporation User based communication mode selection on a device capable of carrying out network communications
US7454164B2 (en) * 2004-12-28 2008-11-18 Lucent Technologies Inc. Providing a multimedia message with a multimedia messaging service message in a mobile environment
US7395085B1 (en) * 2005-03-11 2008-07-01 Sprint Spectrum L.P. Method and system for notifying a multi-mode mobile station of an incoming call
US7614082B2 (en) * 2005-06-29 2009-11-03 Research In Motion Limited System and method for privilege management and revocation
US7675933B2 (en) 2005-09-23 2010-03-09 Palm, Inc. System and method for enabling radio operations on a wireless computing device

Also Published As

Publication number Publication date
EP3681178A1 (en) 2020-07-15
US20140220955A1 (en) 2014-08-07
US20100124192A1 (en) 2010-05-20
US7675933B2 (en) 2010-03-09
EP1938199B1 (en) 2019-07-10
US20070073887A1 (en) 2007-03-29
US20120270508A1 (en) 2012-10-25
US8730995B2 (en) 2014-05-20
HUE044579T2 (hu) 2019-11-28
EP1938199A2 (en) 2008-07-02
WO2007038267A2 (en) 2007-04-05
US8238364B2 (en) 2012-08-07
US9277347B2 (en) 2016-03-01
WO2007038267A3 (en) 2007-05-31

Similar Documents

Publication Publication Date Title
ES2744814T3 (es) Sistema y método para permitir operaciones de radio en un dispositivo informático inalámbrico
US11856625B2 (en) Apparatuses and methods for sidelink (SL) communication in a user equipment (UE)-to-UE relaying architecture
ES2942676T3 (es) Método y terminal para admitir servicio de voz y servicio de datos simultáneamente
CN103220633B (zh) 对来自无线通信装置的经捆绑消息的选择性检视
CN103782649B (zh) 通过对接系统和通用网络设备驱动器的无线lan连接切换
US9503957B2 (en) Low cost mesh network capability
ES2774032T3 (es) Módulo de identidad del abonado integrado que comprende perfiles de comunicación
US8009619B1 (en) Server-side wireless communications link support for mobile handheld devices
ES2432052T3 (es) Procedimiento de control del establecimiento de una conexión en una red inalámbrica
US9451433B2 (en) Device and method of driving multi-PDP data communication for mobile broadband device
JP5230840B2 (ja) 呼失敗指示のための時間を低減すること
CN103368688A (zh) 数据处理装置
WO2021139696A1 (zh) 一种报告信息的发送方法、装置及系统
JP2012516117A (ja) グループ通信送信データストリームにおける2次データ送信
US20080031219A1 (en) Accessing an access network to enable grade of service in calls or flow requests for target users of access terminals
CN105813029A (zh) 群组通信数据的会话触发推送
KR101202631B1 (ko) 동적으로 향상된 미디어 전송 핸들링을 갖는 무선 통신 디바이스
JP2017531336A (ja) トランキング通信サービス処理方法、コアネットワーク装置、及びue、記憶媒体
CN103281735B (zh) 基于用户终端的增强型电路交换回馈
ES2374763T3 (es) Sistema y método para la reutilización de recursos de enlace ascendente.
US8161121B2 (en) Application design framework for MANET over a short range communication protocol
CN113872862B (zh) 通信方法、移动设备及路由设备
CN102299938A (zh) 一种多核多制式统一平台的实现方法及装置
CN103283185A (zh) 数据通信的优先级设定
CN118301557A (zh) 信息发送以及接收方法、终端设备及存储介质