ES2745736T3 - Teléfono en la nube con procesamiento distribuido - Google Patents

Teléfono en la nube con procesamiento distribuido Download PDF

Info

Publication number
ES2745736T3
ES2745736T3 ES11757418T ES11757418T ES2745736T3 ES 2745736 T3 ES2745736 T3 ES 2745736T3 ES 11757418 T ES11757418 T ES 11757418T ES 11757418 T ES11757418 T ES 11757418T ES 2745736 T3 ES2745736 T3 ES 2745736T3
Authority
ES
Spain
Prior art keywords
application
mobile
mobile terminal
network
processor
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
ES11757418T
Other languages
English (en)
Inventor
Vishwamitra Nandlall
Haseeb Akhtar
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of ES2745736T3 publication Critical patent/ES2745736T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • H04W52/0258Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity controlling an operation mode according to history or models of usage information, e.g. activity schedule or time of day
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0264Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by selectively disabling software applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • H04W52/0277Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof according to available power supply, e.g. switching off when a low battery condition is detected
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

Un método de transferencia de al menos una porción de una funcionalidad específica de la aplicación desde un terminal móvil (17) hasta una red (20, 96) inalámbrica asociada al terminal móvil, comprendiendo el método las etapas de : crear una instancia virtual de una aplicación (26) móvil usando un procesador (30) basado en red que está en comunicación inalámbrica con el terminal móvil (17) a través de la red (20, 96) inalámbrica, en donde la aplicación (26) móvil reside en el terminal móvil (17) y está configurada para ser ejecutada por el mismo; usar el procesador (30) basado en red, monitorizando el uso de la aplicación móvil en el terminal móvil (17), y determinar, mediante una unidad (97) de control en comunicación con el terminal móvil (17) y con el procesador (30) basado en red a través de la red (20, 96) inalámbrica, que la ejecución de al menos la porción de la aplicación (26) móvil ha de ser transferida desde el terminal móvil (17) hasta el procesador (30) basado en red cuando la unidad (97) de control concluye que el terminal móvil (17) está lejos de una 15 fuente de energía eléctrica para cargar una batería en el terminal móvil (17).

Description

DESCRIPCIÓN
Teléfono en la nube con procesamiento distribuido.
Antecedentes
La presente invención se refiere a gestión de aplicaciones móviles. Más en particular, y sin limitación alguna, la presente invención está dirigida a un sistema y un método para distribuir procesamiento de aplicaciones móviles entre un terminal móvil y una red portadora.
Los terminales móviles o inalámbricos, conocidos popularmente como “teléfonos celulares” o “teléfonos inteligentes”, se están convirtiendo en un accesorio permanente en el entorno de la comunicación humana de hoy en día debido a la flexibilidad y a la movilidad proporcionadas por las comunicaciones inalámbricas. Con la tecnología cada vez más avanzada que proporciona cada vez más potencia y utilidad, los terminales móviles actuales empequeñecen significativamente a los de hace tan solo unos pocos años en cuanto a utilidad, funcionalidad, compacidad, y diseños ergonómicamente atractivos. Sin embargo, a pesar de la creciente sofisticación del diseño y de la potencia de procesamiento, los terminales móviles siguen siendo incapaces de satisfacer demandas de procesamiento/recursos pesados de las aplicaciones móviles avanzadas de hoy en día (por ejemplo, juegos, gráficos y aplicaciones multimedia) residentes en los terminales móviles o descargados por los usuarios de los terminales.
Parece que al menos las dos características que se mencionan a continuación están resultando ser prevalentes en el dominio de la aplicación móvil de hoy en día: (1) a efectos de suministrar una experiencia óptima de usuario, se están demandando aplicaciones con mayor capacidad de procesamiento de la CPU (Unidad Central de Proceso) en el terminal móvil para satisfacer su deseo insaciable para potenciar gráficos y para presentación multimedia. (2) Adicionalmente, las aplicaciones “chatty”, es decir, las aplicaciones que requieren comunicaciones frecuentes (a través de red portadora) con sus servidores externos incluso a través del usuario que no está usándolas de manera activa, están adoptando una fuerte posición entre la nueva generación de teléfonos inteligentes (por ejemplo, iPhone™, Android™, Blackberry™, etc.). Estos avances en cuanto a funcionalidades de la aplicación móvil tienen el indeseado efecto colateral de crear una presión indebida sobre la capacidad de la red (portadora) móvil así como sobre la vida de la batería de los terminales móviles.
Estos problemas no han pasado desapercibidos, pero las soluciones existentes parecen estar orientadas a corto plazo. Por ejemplo, los métodos que se indican a continuación están siendo probados por los operadores de redes móviles y por los vendedores de terminales móviles: (1) Los operadores están intentando restringir las aplicaciones que los usuarios puedan descargar en sus terminales. (2) Los operadores están considerando realizar un cargo monetario adicional por las aplicaciones “chatty” (tal como aplicaciones de rastreo o localización de presencia, suministros de datos de audio/video u otros contenidos, etc.). (3) Los vendedores de terminales están tratando de concentrarse en la obtención de procesadores más rápidos y mejores en sus dispositivos. Sin embargo, estas alternativas fallan en cuanto a proporcionar una solución a largo plazo debido a que puede ser difícil (y a veces no “asequibles para el usuario”) que los operadores vigilen el uso de la aplicación de sus clientes móviles y, en el caso de los vendedores de terminales, los avances en la tecnología del procesador puede que no sean capaces de mantener al día la demanda de uso del móvil. Por lo tanto, parece que la futura generación de teléfonos inteligentes puede continuar poniéndose al día en el lado de demanda de la ecuación tan pronto como los teléfonos sean actualizados con los procesadores más modernos.
KAEFER G et al., en “Adaptive power aware remote processing - a step towards power aware middleware”, PERFORMANCE, COMPUTING AND COMMUNICATIONS, 2004 IEEE INTERNATIONAL CONFERENCE ON PHOENIX, AZ, APRIL 15-17, 2004, PISCATAWAY, NJ, USA, IEEE, 15 de Abril de 2004 (15-04-2004), páginas 851­ 856, ISBN: 978-0-7803-8386-8, así como en “Architectural software power estimation support for power aware remote processing”, PARALLEL AND DISTRIBUTED COMPUTING AND SYSTEMS: PROCEEDINGS OF THE 14TH IASTED INTERNATIONAL CONFERENCE; NOVEMBER 4 - 6, 2002, ANAHEIM [U.A.]; ACTA PRESS, US, 1 de Noviembre de 2002 (01-11-2002), páginas 320-325, XP008144093, ISBN: 978-0-88986-366-8, consideran procesamiento remoto con capacidad adaptativa en el que un agente de gestión de potencia en el dispositivo móvil está adaptado para encontrar una distribución óptima de componentes de software para minimizar el consumo de energía del dispositivo móvil.
Además, el documento US 2009/282095 A1 introduce una arquitectura que proporciona una toma de decisiones sobre el procesamiento de datos respecto a un servidor que proporciona formularios web a un navegador, al servidor, o en el que el cliente puede formar parte de la decisión que tome el servidor. También, en RUDENKO et al., “The Remote processing framework for portable computer power saving”, APPLIED COMPUTING 2002: PROCEEDINGS OF THE 2002 ACM SYMPOSIUM ON APPLIED COMPUTING; UNIVERSIDAD CARLOS III DE MADRID, MADRID, SPAIN, MARCH 11 - 14, 2002, ACM ASSOCIATION FOR COMPUTING MACHINERY, US, 1 de Febrero de 1999 (01-02-1999), páginas 365-372, XP007902247, ISBN: 978-1-58113-445-2, es un ordenador portátil (cliente) el que decide si ejecutar procesadores remotamente o no. Adicionalmente, SONGQIAO HAN et al., “Energy saving of mobile devices based on component migration and replication in pervasive computing”, UBIQUITOUS INTELLIGENCE AND COMPUTING, THIRD INTERNATION CONFERENCE, UIC 2006, PROCEEDINGS (LECTURE NOTES IN COMPUTER SCIENCE VOL. 4159) SPRINGER-VERLAG BERLIN, GERMANY, 2006, páginas 637-647, XP002666070, ISBN: 3-540-38091-4, se refiere al ahorro de energía en dispositivos móviles en base a migración y replicación de componentes que proporcione una alternativa de configuración dinámica de software para minimizar el consumo de energía moviendo y/o replicando componentes apropiados de una aplicación.
Sumario
Según se ha mencionado con anterioridad, el crecimiento explosivo en aplicaciones multimedia, de juegos y de gráficos experimentado hoy en día en los terminales móviles, sitúan las grandes demandas sobre los recursos de procesamiento del procesador de un terminal y sobre la capacidad de los canales de comunicación de la red del operador. Las soluciones actuales para hacer frente a estas aplicaciones deseosas de recursos se han quedado cortas en cuanto a la provisión de una solución a largo plazo respecto a los efectos son los recursos de energía de los terminales que emplean incluso los procesadores más rápidos, y las presiones sobre la capacidad del canal radio de las redes móviles a partir de la popularidad cada vez más creciente de esas aplicaciones móviles. La dependencia de restricciones en el uso puede que no sea una solución efectiva, a largo plazo, y puede incluso resultar paradójica, especialmente cuando los vendedores de los terminales móviles actuales y los operadores de red fomentan por sí mismos el diseño de aplicaciones sofisticadas específicas del terminal y ofertan la capacidad de banda ancha inalámbrica de la red como herramientas de marketing para atraer a abonados/compradores potenciales.
Por lo tanto, resulta deseable diseñar una metodología y un solución a largo plazo que aborde la creciente demanda de potencia de procesamiento del terminal y los recursos de comunicación de la red, de aplicaciones modernas diseñadas para uso móvil, sin necesidad de disponer ninguna restricción de uso o monetaria sobre los usuarios de terminales móviles y sin sacrificar las funcionalidades avanzadas proporcionadas por las aplicaciones. También resulta deseable disponer de una solución que pueda ser implementada sin una ruptura significativa con la arquitectura o la funcionalidad existente de la red móvil, y sin necesidad de apoyarse en el hecho de que aparezca en el horizonte una mayor potencia de procesamiento a partir de aplicaciones para terminales móviles cada vez más modernas, más sofisticadas.
La presente invención proporciona una alternativa de teléfono en la nube como una solución a los problemas mencionados con anterioridad. En una realización de la presente invención, la funcionalidad específica de la aplicación se transfiere desde el terminal móvil a la red portadora. La componente de red del teléfono en la nube comunica con una copia virtual de la aplicación residente en el terminal en nombre del terminal mientras el terminal está en estado “durmiente” (es decir, cuando el terminal no está usando activamente la aplicación) y realiza cualquier ejecución de aplicación necesaria en nombre del terminal, eximiendo al terminal de que tenga que usar de forma continua sus recursos de procesador (y por tanto, energía). La componente de red del teléfono en la nube transfiere la sesión de aplicación de nuevo al terminal en cuanto el terminal empieza a usar activamente la aplicación de nuevo.
La presente invención está dirigida a un método según la reivindicación 1 y a un sistema según la reivindicación 8.
La transferencia selectiva de funcionalidad específica de la aplicación desde el terminal móvil hasta la red portadora conforme a una realización de la presente invención, permite que los operadores de red ofrezcan contenidos ricos en gráficos y basados en multimedia a sus usuarios móviles sin poner ninguna restricción sobre su uso. La presente invención reduce también la presión sobre la capacidad de una RAN (Red de Acceso de Radio) de la red portadora desplazando la ejecución de aplicaciones “chatty” (que requieren comunicaciones frecuentes con sus servidores) desde el terminal móvil hasta el componente basado en red del teléfono en la nube. Además, la presente invención ahorra vida de la batería de un terminal móvil debido a que el tráfico de fondo para una aplicación móvil basada en terminal está gestionado por la componente de red del teléfono en la nube cuando el usuario no está usando activamente la aplicación.
Breve descripción de los dibujos
En la sección siguiente, la invención va a ser descrita con referencia a los ejemplos de realización ilustrados en las Figuras, en las que:
La Figura 1 ilustra componentes constituyentes de una aplicación de teléfono en la nube conforme a un ejemplo de realización de la presente invención;
La Figura 2 representa un ejemplo de sistema para implementar la aplicación de teléfono en la nube (CP) conforme a una realización de la presente invención;
La Figura 3 muestra un ejemplo de secuencia de instrucciones entre los componentes del cliente (CPC) y los del servidor (CPS) de la aplicación de teléfono en la nube, como parte de una ejecución de transferencia de al menos una porción de una aplicación móvil al CPS conforme a una realización de la presente invención;
La Figura 4 se refiere a un ejemplo de secuencia de interacciones conforme a una realización de la presente invención, entre el CPC y el CPS cuando la ejecución de la aplicación debe ser asumida de nuevo en el terminal móvil después de la transferencia según se ha ilustrado en la Figura 3;
La Figura 5 es un ejemplo de módulos de programa que constituyen las componentes de CPC y CPS de la aplicación de teléfono en la nube, y la interacción entre ambas, conforme a una realización de la presente invención;
La Figura 6 muestra un ejemplo de secuencia general de eventos para la aplicación de teléfono en la nube conforme a una realización de la presente invención;
La Figura 7 es un ejemplo de diagrama de flujo que proporciona detalles adicionales de varias etapas de proceso para la secuencia general de eventos ilustrada en la Figura 6;
La Figura 8 ilustra un ejemplo de sistema que puede ser usado para determinar si se ha de transferir la ejecución de al menos una porción de una aplicación móvil al CPS conforme a una realización de la presente invención;
La Figura 9 es un ejemplo de representación gráfica de una toma de decisiones con relación a si se ha de transferir la ejecución de al menos una porción de una aplicación móvil al CPS conforme a una realización de la presente invención, y
La Figura 10 representa un ejemplo de sistema para implementar la aplicación de teléfono en la nube (CP) conforme a una realización de la presente invención.
Descripción detallada
En la descripción detallada que sigue, se exponen numerosos detalles específicos a efectos de proporcionar una comprensión completa de la invención. Sin embargo, los expertos en la materia podrán comprender que la presente invención puede ser puesta en práctica sin esos detalles específicos. En otros casos, métodos, procedimientos, componentes y circuitos bien conocidos, no van a ser descritos en detalle con el fin de no oscurecer la presente invención. Adicionalmente, debe entenderse que aunque la invención se describe principalmente en el contexto de un teléfono celular/red de datos, la invención puede ser implementada de igual modo en otras formas de redes inalámbricas (por ejemplo, una red corporativa amplia inalámbrica de datos, una red de comunicación por satélite, etc.).
La referencia a través de la presente descripción a “una realización” o “la realización”, significa que una particularidad, estructura o característica particular, que sea describa en relación con la realización, está incluida en al menos una realización de la presente invención. De ese modo, las apariciones de las frases “en una realización” o “en la realización” o “conforme a una realización” (u otras frases que tengan importancia similar) en diversos lugares a través de la presente descripción, no están todas referidas necesariamente a la misma realización. Además, las particularidades, estructuras o características particulares pueden ser combinadas de cualquier manera adecuada en una o más realizaciones. Además, dependiendo del contexto de la discusión en la presente memoria, un término en singular puede incluir sus formas en plural, y un término en plural puede incluir su forma en singular.
A este respecto procede indicar que los términos “acoplado”, “conectado”, “conectar”, “conectado eléctricamente”, etc., se usan de manera intercambiable en la presente memoria para referirse en general a la condición de estar eléctricamente conectado. De forma similar, se considera que una primera entidad está en “comunicación” con una segunda entidad (o segundas entidades) cuando la primera entidad envía y/o recibe eléctricamente (tanto a través de medios cableados como inalámbricos) señales de información (sobre si contienen información de voz o información de datos que no sean de voz) a la segunda entidad con independencia del tipo (analógico o digital) de señales de datos. Se aprecia además que las diversas Figuras (incluyendo los diagramas de componentes) mostradas y discutidas en la presente memoria, tienen sólo fines ilustrativos, y no están dibujadas a escala.
La Figura 1 ilustra componentes constituyentes de una aplicación 10 de teléfono en la nube (CP) conforme a un ejemplo de realización de la presente invención. La aplicación de teléfono en la nube puede ser un módulo de software que tenga varias funcionalidades de procesamiento de datos distribuidas que se van a discutir a continuación en la presente memoria con referencia a las Figuras 2-4, 6 y 7. Según se discute con mayor detalle en lo que sigue, alguna parte del procesamiento de datos o de los cálculos puede ser llevada a cabo localmente en un terminal móvil, mientras que otra parte del procesamiento de datos puede ser llevada a cabo en un servidor remoto. La aplicación 10 de CP conforme a una realización de la presente invención, puede incluir una componente 12 de cliente de CP (CPC) y una componente 14 de servidor de CP (CPS). Las componentes CPC y CPS pueden estar en comunicación bidireccional (con preferencia, inalámbrica, según se discute más adelante con referencia a la Figura 2) cada una con la otra, y pueden realizar conjuntamente la ejecución selectiva de una aplicación móvil tal y como se discute más adelante en la presente memoria. Debe apreciarse aquí que, por facilidad de la discusión, un software de ordenador, código o módulo de programa pueden estar referidos a cómo “realizar”, “lograr” o “llevar a cabo” una función o un proceso. Sin embargo, resulta evidente para un experto en la materia que tal comportamiento puede ser logrado técnicamente por medio de un procesador cuando se ejecuta un software o un código de programa mediante el procesador. La ejecución del programa podría provocar que el procesador realice las tareas o las etapas instruidas por medio del software para que se alcance la funcionalidad o el resultado deseados. Sin embargo, por cuestiones de conveniencia, en la discusión que sigue, un procesador o una componente de software pueden ser mencionados de manera intercambiable como un “actor” que realiza la tarea o la acción descrita, sin diseccionar técnicamente el mecanismo de ejecución de software subyacente.
La Figura 2 representa un ejemplo de sistema 16 para implementar la aplicación 10 de teléfono en la nube (CP) conforme a una realización de la presente invención. El sistema 16 puede incluir un terminal móvil 17 que está en comunicación inalámbrica con un servidor 18 a través de una red 20 portadora de un proveedor de servicio inalámbrico. La componente 12 de cliente de teléfono en la nube (CPC) puede residir en el terminal móvil 17, mientras que la componente 14 de servidor de teléfono en la nube (CPS) puede residir en el servidor 18 según se muestra en la Figura 2. Debe apreciarse que los términos “terminal móvil”, “terminal inalámbrico” y “equipo de usuario (UE)” pueden ser usados de forma intercambiable en lo que sigue de la presente memoria para referirse a un dispositivo de comunicación inalámbrica que esté capacitado para comunicación de voz y/o de datos a través de una red portadora inalámbrica. Algunos ejemplos de tales terminales móviles incluyen teléfonos celulares o equipos de transferencia de datos, y teléfonos inteligentes (por ejemplo, iPhone™, Android™, Blackberry™, etc.). De forma similar, los términos “red inalámbrica” o “red portadora” pueden ser usados de manera intercambiable en lo que sigue de la presente memoria para hacer referencia a una red de comunicación inalámbrica (por ejemplo, una red celular) que facilite una comunicación de voz y/o de datos entre dos equipos de usuario (UE). Se observa aquí que, por facilidad de la discusión, el servidor 18 puede ser mencionado como “servidor de teléfono en la nube” o “servidor de CP”. Sin embargo, el servidor 18 puede no tener que ser un servidor separado (a partir de hardware o de software) dedicado para llevar a cabo la funcionalidad de CP. En una realización, la funcionalidad del servidor 18 de CP puede estar implementada en una unidad de servidor física ya existente o de software (no representado) de un servidor (no físico) en el núcleo de la red 20 portadora. Una discusión similar de una implementación de ese tipo se proporciona con referencia a la Figura 8 que se discute más adelante en la presente memoria.
Según se muestra en la Figura 2, el UE 17 puede incluir, en el interior de su alojamiento (no representado), una unidad de procesamiento, o CPU 22, de potencia relativamente baja, que ejecuta un sistema operativo móvil (u OS móvil) (por ejemplo, OS Symbian™, OS Palm™, Windows Mobile™, Android™, etc.). En virtud de la naturaleza de la potencia de la batería de los terminales móviles, la CPU 22 puede estar diseñada para ahorrar energía de la batería y, por lo tanto, puede no ser tan potente como la de una CPU de ordenador o servidor completamente funcional. Según se ha mostrado mejor en la Figura 2, además del módulo 12 de CPC, el UE 17 puede tener también una o más aplicaciones 26 residentes en el mismo. Estas aplicaciones 26 móviles son módulos de software que pueden haber sido pre-empaquetados con el terminal 17 o pueden haber sido descargados por un usuario en la memoria (no representada) del UE 17. Algunas aplicaciones 26 móviles pueden ser aplicaciones más interactivas con el usuario (por ejemplo, un juego de ajedrez de móvil para ser jugado en el UE 17, un programa de reconocimiento de cara para ser ejecutado por el UE 17, etc.), mientras que algunas otras aplicaciones móviles pueden ser de naturaleza considerablemente menos interactiva con el usuario (por ejemplo, aplicaciones de rastreo de presencia o localización de UE). Las aplicaciones 26 móviles son ejecutadas por un procesador 22 durante el control del sistema operativo 24 del móvil. Según se muestra también en la Figura 2, el UE 17 puede incluir además una unidad 28 de interfaz inalámbrica para facilitar la comunicación inalámbrica del UE con el servidor 18 de CP (que se discute más adelante) a través de canales/bandas de comunicación inalámbrica proporcionada por la red 20 portadora asociada al UE 17.
En la realización de la Figura 2, el servidor 18 de CP ha sido mostrado de modo que incluye una CPU 30 de potencia relativamente alta que ejecuta un sistema operativo 32 del servidor (por ejemplo, Windows™, Max™ OSX, Linus, etc.). Adicionalmente al módulo 14 de CPS, el servidor 18 de CP puede almacenar también en su memoria (no representada) aplicaciones 34 de “copias” o “virtuales” (según se explica más adelante) correspondientes a las aplicaciones 26 móviles residentes en el Ue 17. Estas aplicaciones 34 virtuales, junto con una capa de visualización (por ejemplo, VMware* Hypervisor, Citrix® XEN Server, etc.) que se discute con referencia a la Figura 10 en lo que sigue, permiten que el servidor 18 lleve a cabo funcionalidad específica de la aplicación en nombre del UE 17 cuando se necesite, con el fin de ahorrar vida de batería del UE 17 y para reducir también el tráfico de datos en la red 20 según se va a discutir con mayor detalle más adelante en la presente memoria. El servidor 18 puede comunicar inalámbricamente con el UE 17 a través de su propia unidad 36 de interfaz inalámbrica. Las unidades 28, 36 de interfaz pueden transferir inalámbricamente datos o información entre el UE 17 y el servidor 18 de CP usando el esquema de señalización de la tecnológica inalámbrica subyacente (por ejemplo, UMTS (Sistema de Comunicaciones Móviles Universales) de 3GPP (Proyecto Partnership de 3a Generación), GPRS (Servicio General de Radio por Paquetes) de GMS (Sistema Global de Comunicaciones Móviles), 3GPP LTE (Evolución a Largo Plazo), etc.) de la red 20 portadora. De ese modo, en operación, una señal generada por un UE puede ser enviada inalámbricamente (usando la interfaz 28 inalámbrica) a la red 20 portadora, la cual, a su vez, puede transferir la señal al servidor 18 de CP para su procesamiento adicional por medio de su CPU 30. Cualquier respuesta u otra señal procedente del servidor 18 de CP puede ser proporcionada en formato inalámbrico reconocido por el UE por medio de la interfaz 36 inalámbrica del servidor, y eventualmente suministrada a la interfaz 28 inalámbrica del UE (y, por lo tanto, al procesador 22 del UE para su procesamiento adicional) a través de la red 20 portadora. El “enlace” inalámbrico resultante entre las interfaces 28 y 36 ha sido ilustrado simbólicamente mediante una flecha 38 bidireccional. Aquí se aprecia que el servidor 18 de CP puede estar acoplado a la red 20 portadora a través de una conexión cableada o inalámbrica (tanto conmutada por circuito como conmutada por paquetes).
La red 20 portadora puede ser una red de telefonía celular en la que el UE 17 puede ser una unidad de abonado. Sin embargo, según se ha mencionado con anterioridad, la presente invención es operable asimismo en otras redes inalámbricas no celulares (ya sea redes de voz, o redes de datos, o ambas). Además, porciones de la red 20 portadora pueden incluir, independientemente de o en combinación con, cualquiera de las redes de comunicación cableada o inalámbrica actuales o futuras tal como, por ejemplo, la PSTN (Red de Telefonía Pública Conmutada), o un enlace de comunicación basado en satélite. De forma similar, la red 20 portadora puede ser conectada a Internet 40 (por ejemplo, a través de una conexión conmutada por paquetes) o puede incluir una porción de Internet 40 como parte de la misma.
En la Figura 2, un servidor de aplicación (AS) 42 se ha representado conectado a Internet 40 para proporcionar funcionalidad de datos y procesamiento específica de la aplicación para las aplicaciones 26 móviles residentes en el terminal 17 inalámbrico. El AS 42 puede ser alojado y mantenido por un tercero no afiliado al operador de la red 20 portadora. El AS 42 puede ser abordado por la red 20 portadora (a través de Internet 40) cuando se reciben peticiones de ejecución o de procesamiento desde el UE 17 que ejecuta las aplicaciones 26 móviles, o cuando los datos específicos de la aplicación deben ser enviados al UE 17. Por ejemplo, cuando un usuario (no representado) está jugando a un juego interactivo móvil de ajedrez en el UE 17 con otro usuario (no representado) por Internet, la aplicación 26 móvil subyacente que ofrece la funcionalidad del juego puede necesitar con frecuencia acceder al AS 42 para recibir la información acerca del movimiento más reciente realizado por el oponente del usuario, o para transmitir acciones del usuario al AS 42 para su provisión eventual al oponente del usuario. La comunicación bidireccional resultante entre una aplicación 26 y su As 42 ha sido representada simbólicamente mediante el enlace 43. Aquí se observa que aunque se ha ilustrado un único AS 42 en la Figura 2, pueden existir más servidores de aplicación (por ejemplo, servidores específicos de la aplicación que no se han representado en la Figura 2), que pueden atender a las aplicaciones 26 móviles a través de Internet 40. Además, según se ha representado también simbólicamente mediante el enlace 44 bidireccional con línea de puntos, las aplicaciones 34 “virtuales” en el servidor 18 de CP pueden acceder de forma similar al AS 42 cuando son ejecutadas (según se discute con mayor detalle más adelante).
La Figura 3 muestra un ejemplo de secuencia de interacciones entre las componentes 12 y 14 de cliente (CPC) y de servidor (CPS), respectivamente, de la aplicación 10 de teléfono en la nube como parte de ejecución de la transferencia de al menos una porción de una aplicación móvil al CPS 14 conforme a una realización de la presente invención. Varios elementos (por ejemplo, el UE 17, la red 20 portadora, el servidor 18 de CP, etc.) del sistema 16 de la Figura 2 han sido mostrados en la parte superior de la Figura 3, simplemente para ilustrar qué elemento(s) interactúa(n) para un evento dado. Inicialmente, en el evento 45, el CPC 12 puede registrar cada aplicación 26 móvil con el CPS 14 y requerir el almacenaje apropiado de datos para cada aplicación, y el CPS 14, a su vez, puede asignar el almacenaje de datos requerido (por ejemplo, en la memoria (no representada) del servidor 18 de CP) a cada aplicación móvil registrada asociada a este UE 17 específico. En caso de aplicaciones móviles pre-cargadas en el UE 17, dicho registro puede tener lugar cuando el usuario (no representado) activa en primer lugar el terminal móvil 17 en la red 20 portadora. En caso de una aplicación móvil descargada por el usuario tras la activación del terminal 17, ese registro puede tener lugar en el momento de dicha descarga o posteriormente cuando el usuario intente usar por primera vez la aplicación. El registro puede tener lugar en algún otro momento (por ejemplo, cuando un usuario ejecuta realmente una aplicación) distinto al de los eventos descritos en la presente memoria. Como parte del registro, el CPC 12 puede proporcionar una copia de la aplicación al CPS 14 para que sea almacenada como aplicación 34 virtual en el servidor 18 de CP. En una realización, como parte del proceso de registro, el CPC 12 puede sincronizar con el CPS 14 uno o más de los siguientes: (i) cualquier cambio en el contenido del programa/software de la aplicación móvil, (ii) cualquier cambio en el estado de ejecución de la aplicación móvil, y (iii) información contextual específica de la aplicación respecto a la aplicación móvil. Sin embargo, una o más de esas tareas adicionales pueden ser realizadas con posterioridad (por ejemplo, según se ha mostrado con referencia al evento 49).
Según se ha ilustrado en el bloque 46, tras el registro, el CPS 14 puede crear una instancia virtual de cada aplicación móvil (es decir, la aplicación 34 virtual ahora residente en el servidor 18 de CP), específica para un UE dado (en este caso, el UE 17) a partir de la cual se puede transferir una ejecución de al menos una porción de una aplicación móvil al servidor 18 de CP. Esta instancia virtual puede ser accesible para el CPC 12 en un momento apropiado (por ejemplo, en el evento 53 discutido más adelante con referencia a la Figura 4) tras la presentación de “credenciales” apropiadas al CPS 14. Puesto que el CPS 14 puede estar manejando la ejecución de la aplicación en nombre de muchos terminales móviles diferentes en la red 20, puede resultar deseable asignar credenciales específicas del UE a cada CPC y credenciales específicas de la tarea a cada instancia del CPS 14 asociado a un CPC dado para facilitar la transferencia de datos sin interrupciones y la ejecución de la aplicación para cada UE. Por ejemplo, en una realización, en el momento del registro, el CPS 14 puede asignar una combinación de dos IDs al CPC 12 (un ID específico para el UE 17 y un ID específico para una aplicación 26 móvil) para cada aplicación 26 móvil manejada por el CPC 12. El CPC 12 puede presentar después esta combinación de IDs al CPS 14, cuando sea necesario, para establecer sus “credenciales” e identificarse a sí mismo con el CPS 14. De forma similar, en el momento de registro, el CPS 14 puede generar un ID único específico de la aplicación para cada aplicación 26 móvil manejada por el CPC 12, y puede informar al CPC 12 de estos IDs. En el momento de ejecución, el CPS 14 puede generar además un ID adicional específico de la ejecución para el caso de una instancia virtual de una aplicación 26 móvil, y presentarlo en combinación con el ID anterior específico de la aplicación como parte de sus “credenciales” para enlazar de forma precisa la ejecución de aplicación móvil con el CPC 12 correcto y con el UE 17 correcto.
En una realización en la que una copia de una aplicación 26 móvil no esté ya registrada con el CPS 14, el CPS 14 puede crear una copia específica del terminal de esa aplicación móvil (que está siendo ejecutada por el terminal móvil 17) como parte de la creación de la instancia virtual de la aplicación móvil. En otra realización, la creación de una instancia virtual de cada aplicación 26 móvil puede incluir la replicación de funcionalidad del terminal móvil 17 de modo que se tenga una “copia” del terminal móvil 17 en el servidor 18 de CP. También, en una realización en la que no se ha realizado asignación de datos con anterioridad, el CPS 14 puede asignar almacenaje de datos específico de la aplicación también para cada aplicación móvil como parte de la creación de la instancia virtual de esa aplicación.
Según se ha indicado con referencia al evento 45 en la Figura 3, el CPS 14 asignará suficiente almacenaje de datos para que cada aplicación 26 móvil ejecute esa aplicación específica en la red en nombre del UE 17 según se discute más adelante. Tras el registro, el c Ps 14 puede seguir monitorizando el uso de la aplicación del UE 17 según se ha ilustrado mediante el evento 47. El CPS 14 puede realizar sincronización periódica del estado de aplicación con el CPC 12 para determinar si la aplicación se usa de hecho de manera activa por parte de un usuario del UE 17.
Alternativamente, el CPC 12 puede estar configurado de modo que proporcione dicha sincronización a intervalos de tiempo predeterminados o bajo demanda por parte del CPS 14 según se muestra, por ejemplo, en la Figura 6, y se discute más adelante en la presente memoria. El usuario del UE 17 o el propio UE (por ejemplo, en caso de aplicaciones de auto-ejecución tal como el software de rastreo de ubicación) puede usar activamente unas pocas aplicaciones y a continuación dejar de usarlas (como se ha indicado en el evento 48 en la Figura 3). En la presente memoria se observa que, por facilidad de la discusión, los términos “UE” y “usuario” pueden ser usados de manera intercambiable en la presente descripción para identificar el “actor” que usa, o no usa, una aplicación 26 móvil.
Aquí se aprecia que una aplicación 26 móvil puede no ser usada “activamente” cuando un usuario no está realmente interactuando con las particularidades o las funcionalidades proporcionadas por la aplicación, o ha “cerrado” la aplicación (aunque la aplicación pueda estar aún realizando algunas tareas en segundo plano como, por ejemplo, en caso de una aplicación de rastreo de localización), o esté usando las características de la aplicación de forma irregular (o de forma intermitente). Dicho uso no activo puede ser considerado de forma intercambiable como “no uso” de la aplicación, pero puede no significar necesariamente la no ejecución de la aplicación. Por ejemplo, en el caso de una aplicación de ajedrez móvil, el usuario puede estar esperando introducir su movimiento, el cual puede disponer el uso de la aplicación en una clase de estado “ inactivo” hasta que se recibe la entrada del usuario. Sin embargo, el procesador 22 del UE puede que necesite aún continuar realizando la ejecución de diversas tareas (o cálculos de movimientos) con anterioridad al movimiento pendiente del usuario o en respuesta a un movimiento más reciente del usuario. De este modo, en una situación de ese tipo, puede resultar beneficioso transferir esas tareas de procesamiento al servidor 14 de CP para ahorrar energía en el UE 17 (dejando inactiva su CPU 22 respecto a la realización de esas tareas).
En una realización, el CPC 12 puede permitir que el procesador 22 continúe ejecutando aplicaciones 26 móviles o realizando otras funcionalidades específicas de la aplicación hasta que sea requerido de otra manera por el CPS 14. Según se ha ilustrado en el evento 49, cuando el CPS 14 determina que el UE 17 ha dejado de usar una aplicación 26 móvil específica, el CPS 14 puede informar al UE 17 (por ejemplo, el procesador 22 en el UE 17) a través del CPC 12 para que deje de comunicar con el servidor de la aplicación (es decir, el AS 42). El CPS 14 y el CPC 12 pueden entonces validar cada uno las credenciales específicas de aplicación del otro (las cuales pueden haber sido establecidas con anterioridad como se ha discutido en lo que antecede) con anterioridad a que el sea transferida la ejecución de la funcionalidad específica de la aplicación al CPS 14. Tras la validación de credenciales con éxito, el CPS 14 puede copiar (desde el CPC 12) información contextual específica de la aplicación del UE (por ejemplo, el estado de aplicación más reciente, el conjunto de datos actual que está siendo procesado por la aplicación, etc.) para permitir que el CPS 14 continúe sin problemas la ejecución de la aplicación desde el punto en que la ejecución fue interrumpida por el procesador 22 del UE. Según se indica en el evento 50, el CPS 14 puede ahora tomar de nuevo el control de la sesión de aplicación para realizar la funcionalidad específica de la aplicación. En una realización, la ejecución de la funcionalidad específica de la aplicación puede incluir ejecutar al menos una porción de una aplicación 26 móvil y/o comunicar con el AS 42 (por ejemplo, para recuperar datos para la aplicación, o para informar del estado de ejecución de la aplicación, etc.) asociado a la aplicación 26 móvil. Si la información contextual específica de la aplicación no se ha puesto a disposición para el CPS 14 con anterioridad, el CPS 14 puede copiar dicha información contextual específica de la aplicación para la aplicación 26 móvil a partir del terminal móvil 17 como parte de la realización de la funcionalidad específica de la aplicación en el evento 50. En otras palabras, en el evento 50, el CPS 14 empieza a llevar a cabo la realización de la funcionalidad específica de la aplicación en nombre del UE 17, ahorrando con ello uso del procesador 22 del UE (y, por lo tanto, consumo de energía del UE) y/o acceso de red del UE (y, por lo tanto, mitigando presión sobre la capacidad de la red 20).
La Figura 4 se refiere a un ejemplo de secuencia de interacciones conforme a una realización de la presente invención entre el CPC 12 y el CPS 14 cuando la ejecución de la aplicación ha de ser re-asumida en el UE 17 después de la transferencia según se ha ilustrado en la Figura 3. En una realización, incluso cuando el CPS 14 está realizando una funcionalidad específica de la aplicación, puede seguir monitorizando el uso de la aplicación del UE (a través del CPC 12) o puede seguir “escuchando a” cualesquiera mensajes o intimidades procedentes del CPC 12. De ese modo, en cado de una aplicación 26 móvil esté siendo manejada por el CPS 14, cuando el CPC 12 encuentra que el usuario y/o el UE 17 desean reiniciar una sesión de aplicación (por ejemplo, cuando un usuario empieza a interactuar con la aplicación 26 o proporciona una señal de entrada, o cuando la CPU 22 “despierta” de una sesión de pausa específica de la aplicación, o cuando el UE 17 desea enviar/recibir contenidos asociados a esta aplicación 26 específica, etc.), o el AS 42 desea iniciar una sesión de aplicación (por ejemplo, para interactuar con la aplicación 26 para proporcionar actualización de estado/datos específica de la aplicación, etc.) (bloque 52), el CPC 12 puede informar al CPC 14 de este cambio en el estado de aplicación. Al enterarse de que el UE 17 desea enviar/recibir contenido asociado con la aplicación 26 o de que ha ocurrido algún otro evento que requiera el restablecimiento de la sesión de aplicación en el UE 17, el CPS 14 puede restablecer la sesión de aplicación en el UE 17 según se indica en el evento 53. En una realización, el CPC 12 y el CPS 14 pueden ambos validar la credencial (descrita con anterioridad) específica de la aplicación de cada uno con respecto al otro, con anterioridad a que el CPS 14 pueda cargar la información específica de la aplicación (por ejemplo, el estado más reciente de la aplicación, el resultado de cualquier funcionalidad específica de la aplicación realizada por el CPS 14, el estado de ejecución de la aplicación, etc.) en el UE 17. Sin embargo, se observa aquí que dicha validación puede ser opcional en algunas realizaciones, en cuyo caso, cargar y/o descargar información específica de la aplicación entre el CPC 12 y el CPS 14 puede ocurrir sin validación o requisitos previos.
En una realización, el CPC 12 puede recibir información específica de la aplicación descargada por el CPS 14, y puede proporcionar esta información al procesador 22 de modo que el procesador 22 pueda integrar esta información en el estado más reciente de la aplicación 26 móvil disponible en el UE 17 (es decir, ese estado que fue transferido al CPS 14 para permitirle realizar la funcionalidad específica de la aplicación en el evento 50 en la Figura 3) y puede re-comenzar la realización de la funcionalidad específica de la aplicación (según se ha indicado en el evento 54) para la aplicación 26 móvil usando ese estado de la aplicación 26 móvil que tiene la información proporcionada por el CPS integrada en la misma. Tras la transferencia del procesamiento de aplicación al UE 17, el CPS 14 sigue monitorizando el uso de la aplicación del UE según se indica en el evento 55 de la Figura 4 (el cual es similar al evento 47 de la Figura 3). Cuando el CPS 14 encuentra el evento 48 (Figura 3) la próxima vez, el proceso indicado por los eventos 49 y 50 podría repetirse, y puede ir seguido de nuevo por las interacciones representadas en la Figura 4. De esta manera, puede tener lugar la transferencia selectiva de la funcionalidad específica de la aplicación entre el UE 17 y el servidor 18 de CP con la ayuda de las componentes de CPC 12 y de CPS 14 de la aplicación 10 de teléfono en la nube conforme a las enseñanzas de la presente invención.
Aquí se observa que el orden de los diversos eventos o tareas que se han ilustrado en las Figuras 3 y 4 (y también en las Figuras 6 y 7 que se van a discutir más adelante), es solamente un ejemplo. En diferentes realizaciones, se pueden agregar, eliminar, reordenar o improvisar algunas tareas dependiendo de los requisitos de procesamiento. De ese modo, se contempla ahora en la presente memoria el realización flexible de varios eventos o tareas que se discuten junto con la presente invención.
La Figura 5 es un ejemplo de módulos de programa que constituyen las componentes de CPC 12 y de CPS 14 de la aplicación 10 de teléfono en la nube, y la interacción entre ambas, conforme a una realización de la presente invención. En una realización, el CPC 12 puede incluir un módulo 60 replicador y un módulo 62 controlador, cada uno de ellos en comunicación interna con el otro y también en comunicación inalámbrica con un módulo 64 aumentador del CPS 14 (a través de la red 20 portadora según se ha ilustrado mediante una nube con líneas de puntos). La funcionalidad de los módulos 60, 62 y 64 puede ser descrita junto con las Figuras 6 y 7, donde la Figura 6 muestra un ejemplo de secuencia general de eventos de la aplicación 10 de teléfono en la nube, conforme a una realización la presente invención, y la Figura 7 es un ejemplo de diagrama de flujo que proporciona detalles adicionales de varias etapas de proceso para la secuencia general de eventos que se ha ilustrado en la Figura 6.
En la realización de la Figura 5, la invocación de ejecución y coordinación de cálculo aumentadas entre la entidad “primaria” basada en UE (es decir, el CPC 12) y la “copia” basada en la nube (es decir, el CPS 14), podría permitir la transferencia selectiva de ejecución de aplicación entre el UE 16 y el servidor 18 de CP. Cada uno de los módulos 60, 62 y 64 de sistema pueden estar funcionando en el interior de su sistema operativo 24 o 32 respectivo (Figura 2). Inicialmente, el módulo 60 replicador puede proporcionar una copia de todo el software en el UE 17 o sólo una aplicación 26 móvil relevante al módulo 64 aumentador en el CPS 14, según se ha indicado mediante el evento 66 en la Figura 6 y en los bloques 68 y 69 de la Figura 7. Este proceso de registro (que puede incluir también asignación de almacenaje de datos específicos de la aplicación por parte del CPS 14), ha sido ya descrito en lo que antecede con referencia al evento 45 de la Figura 3 y, por lo tanto, no se va a repetir aquí por motivos de brevedad. Se aprecia, sin embargo, que en una realización alternativa, el servidor 18 de CP puede obtener opcionalmente la(s) copia/copias de aplicaciones 26 móviles relevantes sin ninguna comunicación con el UE 17, según se ha indicado mediante el bloque 69 de línea de puntos en la Figura 7. Por ejemplo, si las aplicaciones 26 móviles en el UE 17 son precargadas por el operador de la red 20 portadora, entonces se puede crear con el servidor 18 de CP una “copia” simultánea específica del teléfono del software del teléfono. Alternativamente, si se descarga una aplicación 26 móvil a través del usuario del UE 17, entonces el CPC 12 puede identificar la aplicación y su AS 42, y el CPS 14 puede acceder al AS 42 por sí mismo para descargar una copia similar de la aplicación relevante para su propio uso. En cualquier evento, con independencia del método de recepción de una copia de la aplicación 26 móvil residente en el UE, el CPS 14 podría tratar dicha copia como una aplicación 34 “virtual” según se ha discutido anteriormente con referencia a la Figura 2.
En una realización, el módulo 60 replicador puede realizar también la sincronización de cambios en el contenido del software del teléfono (o sólo en una o en más aplicaciones 26 móviles relevantes) y en su estado con el módulo 64 aumentador en la entidad “clon”, es decir, el CPS 14. Dicha sincronización puede ser llevada a cabo periódicamente (por ejemplo, a intervalos de tiempo predeterminados) o bajo demanda (por ejemplo, cuando se recibe una petición de sincronización desde el módulo 64 aumentador) según se ha indicado por medio del evento 70 en la Figura 6. En la realización de la Figura 7, este aspecto de sincronización puede ser parte del proceso de registro indicado en el bloque 68 del mismo. Según se ha indicado con anterioridad con referencia al evento 47 en la Figura 3, el CPS 14 puede seguir monitorizando el uso de la aplicación del UE y puede solicitar hacerse cargo de la ejecución de la aplicación (o realizar cualquier otra funcionalidad específica de la aplicación) cuando detecte el “no uso” de la aplicación por parte del UE 17. Tal solicitud puede ser envida a través del módulo 64 aumentador al módulo 62 controlador, el cual, a su vez, puede invocar una ejecución aumentada (bloque 72, Figura 7) en el CPS 14 y puede también actuar para fusionar los resultados de la ejecución aumentada de nuevo en el estado de ejecución más reciente de la aplicación 26 móvil en el UE 17. En el bloque 74, en respuesta a la invocación de ejecución aumentada, el módulo 62 controlado puede especificar un bloque de computación (o código o porción de programa) (no representado) para su ejecución remota en el CPS 14. En el bloque 76, mientras se coordina el aumento, el módulo 62 controlador puede también interactuar con el módulo 60 replicador para sincronizar el estado más reciente de la aplicación 26 móvil (o cualquier otro software de teléfono relevante) con el módulo 64 aumentador y a continuación permitir que el proceso de aplicación móvil entre en un estado de “sueño”. El proceso de aplicación puede transferir su estado más reciente al CPS 14 a través del módulo 60 replicador, y a continuación entrar en el estado de sueño.
En una realización, según se ha indicado en el bloque 78, el CPS 14 puede recibir el estado más reciente del software del teléfono (a través del módulo 64 aumentador que está en comunicación con el módulo 60 replicador en el CPC 12) junto con una identificación del bloque de cálculo que ha sido especificado para ejecución remota en el bloque 74. El módulo 64 aumentador que ejecuta la copia de la aplicación móvil en el servidor 18 de CP puede gestionar la ejecución local de la aplicación virtual (correspondiente a la aplicación 26 móvil residente en el UE u otro software) en el servidor 18 de CP, y puede devolver el resultado de la ejecución local a la entidad “primaria” (es decir, el CPC 12 en el UE 17) según se ha indicado en general mediante los eventos 80, 82 en la Figura 6. En una realización, el módulo 64 aumentador puede suministrar el estado más reciente del software del teléfono a una máquina virtual (VM) que funciona en el servidor 18 de CP y que está relacionada con el sistema operativo en el UE 17. Por ejemplo, en caso de que el UE 17 use la plataforma del sistema operativo Android™ de Google, el servidor 18 de CP puede ejecutar Dalvik VM (no representada), la cual puede asignar un nuevo estado de proceso para la aplicación 34 virtual (correspondiente a la aplicación 26 móvil en cuestión), y superponer lo que recibió desde el módulo 64 aumentador (es decir, el estado más reciente de la aplicación 26 móvil) con la traducción de la descripción del hardware específico del UE. La VM (no representada) en el servidor 18 de CP puede ejecutar el bloque de cálculo desde el principio del bloque hasta que llegue al final del bloque de cálculo según se ha indicado en el bloque 84 en la Figura 7. El (Los) resultado(s) de la ejecución puede(n) ser proporcionado(s) al módulo 64 aumentador, el cual puede transferir, a su vez, el (los) resultado(s) junto con el estado de proceso final de la aplicación virtual (correspondiente a la aplicación 26 móvil en cuestión) de nuevo al modulo 62 controlador en el CPC 12 en el bloque 86.
Según se ha indicado en el bloque 68, el módulo 62 controlador (y, por lo tanto, el sistema operativo 24 en el UE 17) puede recibir el estado de proceso más actual de la aplicación 26 móvil y reintegrarlo con el estado de proceso que fue transferido con anterioridad al módulo 64 aumentador en el bloque 76. El sistema operativo 22 puede entonces “despertar” la aplicación 26 móvil de su estado de “sueño” en el bloque 86 y continuar la ejecución de la aplicación 26 móvil usando su estado de proceso reintegrado como se indica en el bloque 90. Aquí se observa que, en una realización de la presente invención, las tareas identificadas con referencia a los bloques 72, 74, 76, 78 y 84 pueden ser realizadas como parte de los eventos 48-50 mostrados en la Figura 3 y ya descritos con anterioridad. De forma similar, en otra realización de la presente invención, las tareas identificadas con referencia a los bloques 86, 88 y 90 pueden ser llevadas a cabo como parte de los eventos 52-54 mostrados en la Figura 4 y también descritos ya con anterioridad.
Según se indica mediante los eventos 47 (Figura 3) y 55 (Figura 4), después de que la ejecución de la aplicación móvil haya sido transferida de nuevo al UE 17, el CPS 14 puede volver opcionalmente a su monitorización continuada de uso de aplicación del UE según se ha indicado por medio del bloque 92 de línea punteada en la Figura 7.
La Figura 8 ilustra un ejemplo de sistema 94 que puede ser usado para determinar si transferir la ejecución de al menos una porción de la aplicación 26 móvil al CPS 14 conforme a una realización de la presente invención. El sistema 94 puede incluir el UE 17 (el cual almacena la aplicación 26 móvil cuya ejecución parcial puede necesitar ser transferida) y el servidor 18 de CP (el cual lleva a cabo la ejecución parcial de la aplicación 26 móvil cuando la ejecución es transferida al mismo). Adicionalmente, el sistema puede incluir una red 96 portadora que facilite la comunicación inalámbrica entre el terminal móvil 17 y el servidor 18 de CP. Al igual que en el caso de la configuración en la Figura 2, el servidor 18 de CP puede estar acoplado a la red 96 portadora a través de una conexión cableada o inalámbrica (ya sea con conmutación de circuito o ya sea con conmutación de paquete). La red 96 portadora puede ser sustancialmente similar a la red 20 portadora y, por lo tanto, no se proporciona una descripción más detallada de la red 96 portadora en la presente memoria por motivos de brevedad. Sin embargo, aquí se observa que, en la realización de la Figura 8, la red 96 portadora ha sido mostrada de modo que incluye también una unidad 97 de control configurada para determinar (tal y como se discute más adelante) si la ejecución de una porción de la aplicación 26 móvil (residente en el UE 17) debe ser transferida desde el terminal móvil 17 hasta el servidor 17 de CP. En una realización, la red 96 portadora puede también incluir, opcionalmente, un servidor 98 de aplicación como parte de la misma según se ha indicado mediante un bloque de líneas punteadas en la Figura 8. El servidor 98 de aplicación puede ser similar en cuanto a funcionalidad al As 42 discutido con anterioridad con respecto a la Figura 2 y, por lo tanto, no se describe aquí con mayor detalle. Sin embargo, se observa aquí que la red 96 portadora puede incluir dicho servidor 98 de aplicación como parte de la propia red cuando, por ejemplo, el operador de la red 96 proporciona o soporta una o más aplicaciones 26 móviles en el terminal 17 (por ejemplo, pre­ cargando las aplicaciones 26 en el UE 17 con anterioridad a que el UE 17 sea comprado por un abonado). De forma similar, aunque no se ha representado en la Figura 8, en una realización, el servidor 18 de CP puede ser también parte de la red 96 portadora ya sea como una entidad física separada o ya sea como parte de otra entidad o software que implemente la funcionalidad del servidor 18 de CP. En una realización, las funcionalidades de la unidad 97 de control y, opcionalmente, el servidor 98 de aplicación y/o el servido 18 de CP, pueden estar implementados o integrados (con uno o más dispositivos existentes) en el núcleo (no representado) de la red 96 portadora.
Se puede seleccionar una aplicación móvil para procesamiento distribuido usando la aplicación 10 de teléfono en la nube (Figura 1) en base a la experiencia del usuario. La experiencia del usuario (“UX”) puede estar relacionada con el producto de: (i) potencia de batería, cálculo y memoria del UE 17 (“F(límites)”), y (ii) el ancho de banda (“BW”) de sesión disponible a través de la red 20 portadora. En una realización, para mejorar la UX, la unidad 97 de control puede estar configurada para que tome una decisión política para descargar la ejecución parcial de la aplicación 26 móvil en el servidor 18 de CP en base a la estimación de la unidad de control de los ahorros netos en el consumo de energía del terminal móvil 17 que ejecuta la aplicación 26 móvil específica. La unidad 97 de control puede procesar una combinación de información específica de la aplicación, específica del UE y específica del servidor de CP, para determinar si ha de transferir la ejecución de una porción de la aplicación 26 móvil desde el UE 17 hasta el servidor 18 de CP. Por ejemplo, en una realización, la unidad 97 de control puede estar configurada para determinar que la ejecución de al menos una porción de la aplicación 26 móvil sea transferida desde el terminal móvil 17 hasta el procesador 30 remoto más potente en el servidor 18 de CP cuando la unidad 97 de control concluya que la siguiente desigualdad es cierta:
(Pm x C/M) > (Pidle x C/S) (Ptrx x D/B) (1)
donde,
C = número de instrucciones que se requiere que sean ejecutadas para la aplicación 26 móvil,
M = velocidad de ejecución de la instrucción (en número de instrucciones por segundo) del terminal móvil 17 (es decir, el procesador 22 en el terminal móvil 17),
S = velocidad de ejecución de la instrucción (en número de instrucciones por segundo) del servidor 18 de CP (es decir, el procesador 30 en el servidor 18 de CP),
D = bytes de datos relativos a la aplicación 26 móvil para ser intercambiados entre el terminal móvil 17 y el servidor 18 de CP cuando se transfiere la ejecución de al menos una porción de la aplicación 26 móvil desde el terminal móvil 17 hasta el servidor 18 de CP,
B = velocidad de transferencia inalámbrica de bytes (en número total de bytes de enlace ascendente y de enlace descendente intercambiados por segundo) durante la comunicación inalámbrica entre el servidor 18 de CP y el terminal móvil 17,
Pm = consumo de potencia en vatios/segundo mientras el terminal móvil 17 está en estado activo (el cual puede incluir procesamiento local en el terminal móvil 17, pero no puede incluir transmisión/recepción con la red 96 portadora),
Pidle = consumo de potencia en vatios/segundo mientras el terminal móvil 17 está en estado inactivo, y
Ptrx = consumo de potencia en vatios/segundo mientras el terminal móvil 17 comunica de forma inalámbrica con el servidor 18 de CP.
Se observa que en este caso los valores de algunos de los parámetros anteriores (por ejemplo, Pidle o M) pueden ser ya conocidos. Mientras tanto, los valores de algunos otros parámetros en la desigualdad (1) anterior pueden ser obtenidos por la unidad 97 de control a partir de la comunicación con otras unidades (no representadas) en la red 96 portadora (por ejemplo, el servidor 96 de aplicación para el parámetro así como a partir de su comunicación con el UE 17 y con el servidor 18 de CP cuando se necesite. Si los valores de todos los parámetros no están disponibles, la unidad 97 de control puede aún proporcionar una estimación razonable (según se discute más adelante con referencia a un par de ejemplos) de la veracidad o la falsedad de la desigualdad (1). En una realización, la unidad 97 de control puede emplear lógica informática para realizar la estimación necesaria.
La unidad 97 de control puede evaluar (o estimar) la sensibilidad energética del terminal móvil 17 en base a diferentes puntos de cuello de botella. Por ejemplo, un juego de ajedrez móvil o una aplicación de reconocimiento de cara en el terminal móvil 17, pueden ser considerados de naturaleza markoviana (es decir, un proceso estocástico que tiene la propiedad de un proceso de Markov) y, por lo tanto, pueden ser expresados completamente mediante su estado actual. En un juego de ajedrez de ese tipo, la cantidad de cálculo “C” puede ser muy grande e incluso puede ser paralelizada dependiendo del movimiento del jugador (incrementando además con ello la cantidad de cálculo “C”). Por otra parte, el valor de “D” puede ser muy pequeño para el juego de ajedrez. De ese modo, en el estado activo, puede haber un consumo considerable de energía (“Pm”) en el terminal móvil 17 debido al uso intenso del procesador 22 para realizar cálculos “C” extremadamente grandes. Por lo tanto, la desigualdad (1) puede resultar ser “cierta” en este ejemplo de juego de ajedrez móvil y, por lo tanto, la unidad 97 de control puede determinar que es beneficiosa para descargar al menos una parte de la ejecución de esta aplicación de ajedrez móvil en el servidor 18 de CP paras ahorrar energía en el terminal móvil 17.
Sin embargo, contrariamente a las aplicaciones de ajedrez móvil y/o de reconocimiento facial discutidas con anterioridad, en un segundo ejemplo de una aplicación de recuperación de imagen que recupera imágenes desde diferentes fuentes online o desde la memoria (no representada) en el UE 17, la desigualdad (1) puede que no sea cierta. El programa puede recuperar imágenes comparando representaciones digitales de las imágenes. Estas particularidades (o representaciones digitales) para la recopilación de imágenes pueden ser calculadas por anticipado, en cuyo caso el valor del parámetro “C” puede ser muy pequeño en el momento de la ejecución. Por otra parte, el valor de “D” puede ser grande debido a la considerable cantidad de datos relativos a la imagen que han de ser enviados. De ese modo, incluso aunque S>>M, el valor de la relación D/B podría ser aún demasiado grande en comparación con el valor de la relación C/M en el caso de esta aplicación de recuperación de imagen. Por lo tanto, la desigualdad (1) puede no ser cierta. Una decisión de descargar al menos la ejecución parcial de esta aplicación de recuperación de imagen en el servidor 18 de CP, puede ahorrar energía en el UE 17 solamente si el v alor de “B” es muy grande (a anchos de banda altos).
A partir de la exposición anterior, ello puede implicar que en un sistema de ancho de banda (“B”) alto donde la relación S/M calculada sea alta (es decir, S>>M), puede resultar deseable descargar procesamiento parcial de la mayor parte de las aplicaciones móviles en el servidor 18 de CP. Este requisito puede ser cumplido en el caso de un teléfono inteligente basado en red de LTE (Evolución a Largo Plazo). Sin embargo, puede que sea aún deseable reducir el valor de la relación D/B para incrementar el atractivo de la descarga. En una realización, este problema se aborda aprovechando la diferencia clave entre un modelo de cliente-servidor (en el que el servidor no contiene ya los datos, sino que por el contrario todos los datos deben ser enviados al servidor del proveedor del servicio) y un modelo de computación en la nube (en el que los datos están ya almacenados en la nube (por ejemplo, una red portadora de un dispositivo basado en la nube como el servidor 18 de CP) y un dispositivo basado en la nube (por ejemplo, el servidor 18 de CP) realiza cálculos sobre esos datos), En tal disposición basada en la nube, puede que no haya ya necesidad de enviar los datos específicos de la aplicación móvil a través de la red inalámbrica (por ejemplo, la red 96 portadora). Por el contrario, puede ser suficiente que el CPC 12 (en el UE 17) envíe solamente un puntero en los datos relevantes al CPS 14 (en el servidor 18 de CP). Un “D” muy pequeño y un “B” muy grande en dicha implementación basada en la nube (por ejemplo, el sistema 16 en la Figura 2 o el sistema 94 en la Figura 8) pueden hacer que la desigualdad (1) anterior sea “cierta”, implicando con ello que la energía pueda siempre ser ahorrada en el UE 17 a partir de la descarga en el servidor 18 de CP.
Esta eficiencia del puntero de datos puede no estar disponible para datos en tiempo real, donde “D” puede que no sea ya un puntero para los datos, pero en cambio puede referirse a los datos reales (por ejemplo, en el caso de la vigilancia del móvil o de navegación sensible al contexto). Según se ha mencionado con anterioridad, cuando el valor de “D” es grande, puede que la descarga no ahorre energía (en el UE 17). En esa situación, la división del cálculo entre el terminal móvil 17 y el servidor 18 de CP puede ser deseable para reducir el consumo de energía en el terminal móvil 17. Dicha división automática o semiautomática puede ser considerada como una “descarga fraccional”, que puede contener un subconjunto de las instrucciones “C” y que puede proporcionar aún algún valor incremental para ahorros de energía. En una realización, la presente invención puede combinar la replicación del sistema completo con puntero de verificación incremental y división (semi-)automática para explorar el espacio de diseño de diferentes arquitecturas de sistema móvil. Además, la invocación de una ejecución y una coordinación aumentadas de cálculo entre la entidad primaria (es decir, el terminal móvil 17) y la copia en la nube (en el servidor 18 de CP) para una aplicación 26 móvil puede contribuir a ahorros significativos de energía en el terminal móvil 17 y a una presión reducida sobre el tráfico de red.
En una realización, la unidad 97 de control puede mejorar su decisión política (de si debe descargar o no) considerando si el usuario del terminal móvil 17 está cerca de un domicilio o de una oficina. En otras palabras, el rastreo de localización puede estar integrado con la decisión de descarga de datos/cálculo. La unidad 97 de control puede recibir datos de rastreo de terminal desde varios controladores de la red 96 portadora. Si un usuario está cerca de un domicilio o una oficina, la unidad 97 de control puede “suponer” de forma segura que el terminal móvil 17 del usuario tiene fácil acceso a una fuente de carga (por ejemplo, una salida de red eléctrica) para su batería (no representada). Sin embargo, si el usuario no está en ninguna ubicación (o está en cualquier otra ubicación en la que se estima que no es “fácil” cargar el terminal 17 del usuario), entonces la unidad 97 de control puede determinar que la ejecución de al menos una porción de la aplicación 26 móvil que se ejecuta en el terminal 17 del usuario sea transferida desde el terminal 17 del usuario al servidor 18 de CP. En esta situación, la descarga (de procesamiento de la funcionalidad específica de la aplicación) puede ocurrir a una velocidad más alta para ahorrar energía en el UE 17.
La Figura 9 es un ejemplo de representación gráfica 100 de una toma de decisión con respecto a si se ha de transferir la ejecución de al menos una porción de la aplicación 26 móvil al CPS 14 conforme a una realización de la presente invención. Según se ha representado en el gráfico 100 y se ha discutido en lo que antecede, en caso de valores muy altos del parámetro “C” (que requieran cálculos extremadamente grandes en el UE 17) y de valores significativamente más bajos del parámetro “D”, puede ser deseable descargar siempre la ejecución de al menos una porción de la aplicación 26 móvil. Por otra parte, en el caso de valores muy altos del parámetro “D”, pero de valores significativamente más bajos del parámetro “C”, puede que no sea deseable realizar ninguna descarga. Ente esos extremos, la decisión de descarga puede depender del valor del parámetro “B” de ancho de banda según se ha discutido anteriormente de forma más detallada.
Se aprecia que en la presente, en una realización, cuando la unidad 97 de control determina que la transferencia de ejecución de al menos una porción de la aplicación 26 móvil desde el UE 17 hasta el servidor 18 de CP resulta deseable, entonces las componentes de CPC 12 y de CPS 14 de la aplicación 10 de teléfono en la nube pueden interactuar de la manera que se ha discutido con anterioridad con referencia a varias realizaciones de las Figuras 3 a 7 para llevar a cabo la transferencia selectiva de ejecución.
La Figura 10 representa un ejemplo de sistema 110 para implementar la aplicación 10 de teléfono en la nube (CP) (Figura 1) conforme a una realización de la presente invención. El sistema 110 de la Figura 10 proporciona detalles adicionales de arquitectura basada en computación en la nube para el sistema 16 mostrado en la Figura 2, mientras que omite la representación de ciertos elementos (por ejemplo, el servidor 42 de aplicación, Internet 40, etc.,) por motivos de claridad. Los elementos mostrados en la Figura 10 y discutidos con anterioridad no se discuten de nuevo por motivos de brevedad. Aquí se observa, sin embargo, que la CPU 22 móvil de baja potencia puede ser una CPU de ARM (Máquina RISC (Ordenador de Conjunto de Instrucciones Reducido) Avanzada), mientras que la CPU 30 de servidor de alta potencia puede ser una CPU basada en Intel® x86 adecuada. En la Figura 10, el uso de la virtualización permite que diferentes aplicaciones 26 de cliente se ejecuten en diferentes máquinas virtuales (no representadas). Esas máquinas virtuales pueden ser gestionadas por medio de una capa de virtualización en el servidor 18 de CP. En una realización, esta capa de virtualización puede incluir un hipervisor 116 tal como, por ejemplo, el VMware® Hypervisor, o del Citrix® XEN Server, etc. Los contextos 114, 116 de aplicación pueden proporcionar contextos de software para implementar estructuras estándar de aplicaciones 26 específicas de UE en el entorno de virtualización en el servidor 18 de CP. La Figura 10 ilustra también varias instancias de la componente 12 de CPC (correspondiente a varias aplicaciones móviles que se ejecutan en el UE 17) en comunicación con el CPS 14 (que puede ser considerado como una “nube pequeña” en la implementación basada en la nube de la aplicación 10 de teléfono en la nube). En una realización, como parte de la implementación de la arquitectura mostrada en la Figura 10, se puede preparar un HLD (Diseño de Nivel Alto) que identifique componentes de hipervisor y de componentes del cliente de virtualización. Además, también se puede definir una interfaz de envío de mensajes entre el cliente de virtualización (es decir, el CPC 12) y la nube pequeña (es decir, el CPS 14), para implementar funciones de la aplicación 10 de teléfono en la nube conforme a las enseñanzas de la presente invención.
Lo que antecede describe un sistema y un método que ofrecen una solución a largo plazo para afrontar las crecientes demandas de aplicaciones móviles modernas sobre potencia de procesamiento del terminal y recursos de comunicación de red, sin necesidad de poner ninguna restricción de uso o monetaria sobre los usuarios de terminales móviles y sin sacrificar funcionalidades avanzadas proporcionadas por las aplicaciones. La presente invención proporciona una alternativa de teléfono en la nube en la que se transfiere funcionalidad específica de la aplicación desde un terminal móvil hasta la red portadora. La componente de red del teléfono en la nube podría comunicar con una copia virtual de la aplicación residente en el terminal en nombre del terminal mientras el terminal está en un estado “durmiente” (es decir, cuando el terminal no está usando activamente la aplicación) y podría realizar cualquier ejecución de aplicación necesaria en nombre del terminal, liberando al terminal de usar continuamente recursos del procesador (y por lo tanto, energía). Sin embargo, la componente de red del teléfono en la nube podría transferir la sesión de aplicación de nuevo al terminal tan pronto como el terminal empiece a usar activamente la aplicación de nuevo. La alternativa de teléfono en la nube reduce también la presión sobre la capacidad de enlace de radio de la red al desplazar selectivamente la ejecución de aplicaciones “chatty” desde el terminal móvil hasta la componente basada en red del teléfono en la nube. La alternativa de teléfono en la nube puede ser implementada sin interrupción significativa de la arquitectura o la funcionalidad existentes de la red móvil, y sin necesidad de apoyarse en más potencia de procesamiento de terminales móviles que siempre aparezcan en aplicaciones más modernas, más sofisticadas, en el horizonte. La transferencia selectiva de funcionalidad específica de la aplicación desde el terminal móvil a la red portadora permite que los operadores de red ofrezcan contenidos gráficos ricos y basados en multimedia a sus usuarios móviles sin poner ninguna restricción sobre su uso.
Como reconocerán los expertos en la materia, los conceptos innovadores descritos en la presente solicitud pueden ser modificados y variados a través de una amplia gama de aplicaciones. En consecuencia, el alcance de la materia objeto patentada no debe considerarse limitado a ninguno de los ejemplos de enseñanza específica discutidos en lo que antecede, sino que solamente está definido por las reivindicaciones siguientes.

Claims (15)

REIVINDICACIONES
1. - Un método de transferencia de al menos una porción de una funcionalidad específica de la aplicación desde un terminal móvil (17) hasta una red (20, 96) inalámbrica asociada al terminal móvil, comprendiendo el método las etapas de :
crear una instancia virtual de una aplicación (26) móvil usando un procesador (30) basado en red que está en comunicación inalámbrica con el terminal móvil (17) a través de la red (20, 96) inalámbrica,
en donde la aplicación (26) móvil reside en el terminal móvil (17) y está configurada para ser ejecutada por el mismo;
usar el procesador (30) basado en red, monitorizando el uso de la aplicación móvil en el terminal móvil (17), y
determinar, mediante una unidad (97) de control en comunicación con el terminal móvil (17) y con el procesador (30) basado en red a través de la red (20, 96) inalámbrica, que la ejecución de al menos la porción de la aplicación (26) móvil ha de ser transferida desde el terminal móvil (17) hasta el procesador (30) basado en red cuando la unidad (97) de control concluye que el terminal móvil (17) está lejos de una fuente de energía eléctrica para cargar una batería en el terminal móvil (17).
2. - El método de la reivindicación 1, en donde crear la instancia virtual incluye uno o más de los siguientes:
crear una copia específica del terminal de la aplicación móvil que está siendo ejecutada por el terminal móvil (17),
replicar la funcionalidad del terminal móvil (17), y
asignar almacenaje de datos específico de la aplicación en la red para la aplicación móvil.
3. - El método de la reivindicación 1, en donde la realización de la funcionalidad específica de la aplicación incluye uno o más de los siguientes:
copiar información contextual específica de la aplicación para la aplicación móvil, a partir del terminal móvil (17);
ejecutar al menos una porción de la aplicación móvil, y
comunicar con un servidor de aplicación asociado a la aplicación móvil.
4. - El método de la reivindicación 1, en donde monitorizar el uso incluye determinar que un segundo uso activo de la aplicación móvil, en el terminal móvil (17), ha sido iniciado, y que comprende además;
usar el procesador (30) basado en red, interrumpiendo la ejecución de la funcionalidad específica de la aplicación para la aplicación móvil tras la determinación de que el segundo uso activo de la aplicación móvil en el terminal móvil (17), ha sido iniciado.
5. - El método de la reivindicación 1, que comprende además realizar lo siguiente usando el procesador basado en red con anterioridad a realizar la funcionalidad específica de la aplicación:
informar al terminal móvil de que detenga la comunicación con un servidor de aplicación asociado a la aplicación móvil.
6. - El método de la reivindicación 1, que comprende además:
enviar un resultado a partir de la realización de la funcionalidad específica de la aplicación para la aplicación móvil, de nuevo al terminal móvil (17) usando el procesador (30) basado en red.
7. - El método de la reivindicación 6, que comprende además:
usar el procesador (30) basado en red, validando al menos una credencial específica de la aplicación del terminal móvil (17) para la aplicación móvil con anterioridad a llevar a cabo la funcionalidad específica de la aplicación y con anterioridad a enviar el resultado.
8. - Un sistema para transferir funcionalidad específica de la aplicación desde un terminal móvil (17) hasta una red (20, 96) inalámbrica asociada al terminal móvil, comprendiendo el sistema:
un terminal móvil (17) que ejecuta una aplicación móvil residente en una memoria del terminal móvil; un procesador (30) basado en red, ubicado externamente al terminal móvil (17) y acoplado operativamente a la red inalámbrica, y
una unidad (97) de control en comunicación el terminal móvil (17) y con el procesador (30) basado en red a través de la red (30, 96) inalámbrica,
en donde la unidad (97) de control está configurada para determinar si se ha de transferir la ejecución de al menos una porción de la aplicación móvil desde el terminal móvil (17) hasta el procesador (30) basado en red, y
en donde el procesador (30) basado en red está configurado para ejecutar al menos la porción de la aplicación (26) móvil cuando se lo indique la unidad (97) de control,
caracterizado porque,
la unidad (97) de control está configurara para determinar que la ejecución de al menos la porción de la aplicación (26) móvil ha de ser transferida desde el terminal móvil (17) hasta el procesador basado en red cuando la unidad (97) de control concluye que el terminal móvil (17) está lejos de una fuente de energía eléctrica para cargar una batería del terminal móvil (17), y para transferir al menos dicha porción de la funcionalidad específica de la aplicación desde el terminal móvil (17) hasta el procesador (30) basado en red en ese caso.
9.- El sistema de la reivindicación 8, en donde la unidad (97) de control está configurada para determinar que la ejecución de al menos la porción de la aplicación (26) móvil ha de ser transferida desde el terminal móvil (17) hasta el procesador basado en red cuando la unidad (97) de control concluye que la siguiente desigualdad es cierta: (Pm x C/M) > (Pidle x C/S) (Ptrx x D/B)
donde,
C = número de instrucciones requeridas para ser ejecutadas para la aplicación 26 móvil,
M = velocidad de ejecución de la instrucción, en número de instrucciones por segundo, del terminal móvil (17),
S = velocidad de ejecución de la instrucción, en número de instrucciones por segundo, del procesador basado en red,
D = bytes de datos relativos a la aplicación (26) móvil para ser intercambiados entre el terminal móvil (17) y el procesador basado en red cuando ha de ser transferida la ejecución de al menos una porción de la aplicación 26 móvil desde el terminal móvil (17) hasta el procesador basado en red,
B = velocidad de transferencia inalámbrica de bytes, en número total de bytes de enlace ascendente y de enlace descendente intercambiados por segundo, durante la comunicación inalámbrica entre el procesador basado en red y el terminal móvil,
Pm = consumo de potencia en vatios/segundo mientras el terminal móvil (17) está en estado activo, Pidle = consumo de potencia en vatios/segundo mientras el terminal móvil (17) está en estado inactivo, y Ptrx = consumo de potencia en vatios/segundo mientras el terminal móvil (17) comunica de forma inalámbrica con el procesador basado en red.
10.- El sistema de la reivindicación 8, en donde, tras la determinación por parte de la unidad (97) de control para transferir la ejecución de al menos una porción de la aplicación (26) móvil al procesador basado en red, el terminal móvil (17) está configurado para sincronizar el estado de ejecución y la información contextual específica de la aplicación para la aplicación (26) móvil con el procesador basado en red, y
en donde el procesador (30) basado en red está configurado para:
crear una instancia virtual de la aplicación móvil,
informar al terminal móvil (17) de que deje de ejecutar la aplicación (26) móvil y detenga la comunicación con el servidor de aplicación asociado a la aplicación (26) móvil,
ejecutar la aplicación móvil usando la instancia virtual de la misma, y
enviar el resultado de la ejecución de la aplicación (26) móvil junto con información contextual actual específica de la aplicación para la aplicación móvil, de nuevo al terminal móvil (17).
11. - El sistema de la reivindicación 8, en donde el procesador basado en red y la unidad (97) de control constituyen partes de la red (96) inalámbrica.
12. - El sistema de cualquiera de las reivindicaciones 8 - 11, en donde el terminal móvil (17) comprende:
un primer procesador (22) en comunicación inalámbrica con el procesador (30) basado en red a través de dicha red inalámbrica asociada al terminal móvil (17),
dicha aplicación (26) móvil a ser ejecutada por el primer procesador, y
un código de programa (10), el cual, cuando se ejecuta por medio del primer procesador (22), provoca que el primer procesador:
registre la aplicación (26) móvil con el procesador (30) basado en red;
siga llevando a cabo la funcionalidad específica de la aplicación para la aplicación (26) móvil, e interrumpa la ejecución de la funcionalidad especifica de la aplicación y transfiera un estado más reciente de la aplicación móvil al procesador (30) basado en red cuando se requiera, con el fin de permitir con ello que el procesador (30) basado en red realice la funcionalidad específica de la aplicación en nombre del primer procesador (22) para la aplicación (26) móvil usando el estado más reciente de la misma cuando el terminal móvil (17) está lejos de una fuente de energía eléctrica para cargar la batería del terminal móvil (17).
13. - El sistema de la reivindicación 12, en donde el código de programa (10), tras su ejecución por parte del primer procesador (22), provoca que el primer procesador (22) registre la aplicación (26) móvil con el procesador (30) basado en red mediante sincronización de lo siguiente con el procesador (30) basado en red:
un cambio en el contenido del programa de la aplicación (26) móvil;
un cambio en un estado de ejecución de la aplicación (26) móvil, e
información contextual específica de la aplicación para la aplicación (26) móvil.
14. - El sistema de la reivindicación 12, en donde el código de programa (10), tras su ejecución por medio del primer procesador (22), provoca además que el primer procesador (22):
reciba desde el procesador (30') basado en red un resultado de la ejecución de la funcionalidad específica de la aplicación en nombre del primer procesador (22);
integre el resultado en el estado más reciente de la aplicación (26) móvil, generando con ello un estado integrado para la aplicación (26) móvil, y
reinicie la ejecución de la funcionalidad específica de la aplicación para la aplicación móvil usando el estado integrado de la misma.
15. - El sistema de la reivindicación 14, en donde el código de programa (10), tras su ejecución por medio del primer procesador (22), provoca además que el primer procesador (22) valide al menos una credencial específica de la aplicación del segundo procesador para la aplicación (26) móvil con anterioridad a la transferencia del estado más reciente de la aplicación (26) móvil al procesador (30) basado en red y con anterioridad a recibir el resultado desde el procesador (30) basado en red.
ES11757418T 2010-09-21 2011-08-05 Teléfono en la nube con procesamiento distribuido Active ES2745736T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US38475710P 2010-09-21 2010-09-21
US38995310P 2010-10-05 2010-10-05
US12/960,842 US8595289B2 (en) 2010-09-21 2010-12-06 Cloud phone with distributed processing
PCT/IB2011/053494 WO2012038845A1 (en) 2010-09-21 2011-08-05 Cloud phone with distributed processing

Publications (1)

Publication Number Publication Date
ES2745736T3 true ES2745736T3 (es) 2020-03-03

Family

ID=45818686

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11757418T Active ES2745736T3 (es) 2010-09-21 2011-08-05 Teléfono en la nube con procesamiento distribuido

Country Status (5)

Country Link
US (2) US8595289B2 (es)
EP (2) EP2619961B1 (es)
DK (1) DK3537690T3 (es)
ES (1) ES2745736T3 (es)
WO (1) WO2012038845A1 (es)

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8989705B1 (en) 2009-06-18 2015-03-24 Sprint Communications Company L.P. Secure placement of centralized media controller application in mobile access terminal
US8886176B2 (en) 2010-07-26 2014-11-11 Seven Networks, Inc. Mobile application traffic optimization
WO2013015835A1 (en) 2011-07-22 2013-01-31 Seven Networks, Inc. Mobile application traffic optimization
KR101824647B1 (ko) * 2010-10-12 2018-02-02 삼성전자주식회사 디바이스간 동기화 방법, 유저 디바이스, 및 컴퓨터로 읽을 수 있는 저장 매체
EP2450794B1 (en) * 2010-10-22 2018-08-29 Orange Method for allowing distributed running of an application and related device and inference engine
EP2450792B1 (en) 2010-10-22 2020-01-15 Orange Method for allowing distributed running of an application and related pre-processing unit
US9467507B2 (en) * 2011-01-03 2016-10-11 Verizon Patent And Licensing Inc. Wireless network cloud computing resource management
WO2011113383A2 (zh) * 2011-04-26 2011-09-22 华为终端有限公司 一种业务处理的方法和服务器
US9009212B2 (en) * 2011-06-29 2015-04-14 Cisco Technology, Inc. Optimized transfer of applications between computing environments
US8930940B2 (en) * 2011-08-19 2015-01-06 Yongyong Xu Online software execution platform
US10142442B2 (en) * 2011-10-26 2018-11-27 Mastercard International Incorporated Methods, systems and computer readable media for enabling a downloadable service to access components in a mobile device
US8893261B2 (en) * 2011-11-22 2014-11-18 Vmware, Inc. Method and system for VPN isolation using network namespaces
US9887894B2 (en) * 2012-01-27 2018-02-06 Microsoft Technology Licensing, Llc Recommendations for reducing data consumption based on data usage profiles
TWI470567B (zh) * 2012-02-03 2015-01-21 Univ Nat Chiao Tung 考慮耗時與耗電的卸載運算量的決策方法與運算系統
US8712407B1 (en) 2012-04-05 2014-04-29 Sprint Communications Company L.P. Multiple secure elements in mobile electronic device with near field communication capability
CN104412621B (zh) * 2012-05-02 2018-05-15 诺基亚通信公司 方法和设备
CN104521249B (zh) * 2012-05-02 2019-06-18 诺基亚通信公司 方法和设备
US9027102B2 (en) 2012-05-11 2015-05-05 Sprint Communications Company L.P. Web server bypass of backend process on near field communications and secure element chips
US8862181B1 (en) 2012-05-29 2014-10-14 Sprint Communications Company L.P. Electronic purchase transaction trust infrastructure
US9282898B2 (en) 2012-06-25 2016-03-15 Sprint Communications Company L.P. End-to-end trusted communications infrastructure
US9066230B1 (en) 2012-06-27 2015-06-23 Sprint Communications Company L.P. Trusted policy and charging enforcement function
US8649770B1 (en) 2012-07-02 2014-02-11 Sprint Communications Company, L.P. Extended trusted security zone radio modem
US8667607B2 (en) 2012-07-24 2014-03-04 Sprint Communications Company L.P. Trusted security zone access to peripheral devices
US8863252B1 (en) 2012-07-25 2014-10-14 Sprint Communications Company L.P. Trusted access to third party applications systems and methods
EP2878139B1 (en) * 2012-07-27 2017-04-19 Nokia Technologies Oy Methods and apparatuses for facilitating utilization of cloud services
EP2696608B1 (en) * 2012-08-06 2020-02-05 Deutsche Telekom AG Avatar process for mobile devices
US9183412B2 (en) 2012-08-10 2015-11-10 Sprint Communications Company L.P. Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US8954588B1 (en) 2012-08-25 2015-02-10 Sprint Communications Company L.P. Reservations in real-time brokering of digital content delivery
US9215180B1 (en) 2012-08-25 2015-12-15 Sprint Communications Company L.P. File retrieval in real-time brokering of digital content
US9015068B1 (en) 2012-08-25 2015-04-21 Sprint Communications Company L.P. Framework for real-time brokering of digital content delivery
US8752140B1 (en) 2012-09-11 2014-06-10 Sprint Communications Company L.P. System and methods for trusted internet domain networking
US9572120B2 (en) * 2012-09-24 2017-02-14 Apple Inc. Synchronization requests to reduce power consumption
US10551928B2 (en) 2012-11-20 2020-02-04 Samsung Electronics Company, Ltd. GUI transitions on wearable electronic device
US11237719B2 (en) 2012-11-20 2022-02-01 Samsung Electronics Company, Ltd. Controlling remote electronic device with wearable electronic device
US8994827B2 (en) 2012-11-20 2015-03-31 Samsung Electronics Co., Ltd Wearable electronic device
US10185416B2 (en) 2012-11-20 2019-01-22 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving movement of device
US10423214B2 (en) * 2012-11-20 2019-09-24 Samsung Electronics Company, Ltd Delegating processing from wearable electronic device
US11372536B2 (en) 2012-11-20 2022-06-28 Samsung Electronics Company, Ltd. Transition and interaction model for wearable electronic device
US11157436B2 (en) 2012-11-20 2021-10-26 Samsung Electronics Company, Ltd. Services associated with wearable electronic device
JP5949506B2 (ja) * 2012-11-30 2016-07-06 富士通株式会社 分散処理方法、情報処理装置、及びプログラム
US9578664B1 (en) 2013-02-07 2017-02-21 Sprint Communications Company L.P. Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system
US9161227B1 (en) 2013-02-07 2015-10-13 Sprint Communications Company L.P. Trusted signaling in long term evolution (LTE) 4G wireless communication
US9104840B1 (en) 2013-03-05 2015-08-11 Sprint Communications Company L.P. Trusted security zone watermark
US8881977B1 (en) 2013-03-13 2014-11-11 Sprint Communications Company L.P. Point-of-sale and automated teller machine transactions using trusted mobile access device
US9613208B1 (en) 2013-03-13 2017-04-04 Sprint Communications Company L.P. Trusted security zone enhanced with trusted hardware drivers
US9049013B2 (en) 2013-03-14 2015-06-02 Sprint Communications Company L.P. Trusted security zone containers for the protection and confidentiality of trusted service manager data
US9049186B1 (en) 2013-03-14 2015-06-02 Sprint Communications Company L.P. Trusted security zone re-provisioning and re-use capability for refurbished mobile devices
US8984592B1 (en) 2013-03-15 2015-03-17 Sprint Communications Company L.P. Enablement of a trusted security zone authentication for remote mobile device management systems and methods
US9374363B1 (en) 2013-03-15 2016-06-21 Sprint Communications Company L.P. Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device
US9191388B1 (en) 2013-03-15 2015-11-17 Sprint Communications Company L.P. Trusted security zone communication addressing on an electronic device
US9021585B1 (en) 2013-03-15 2015-04-28 Sprint Communications Company L.P. JTAG fuse vulnerability determination and protection using a trusted execution environment
US9369823B2 (en) 2013-09-24 2016-06-14 Google Technology Holdings LLC System and method for transferring software applications and data between two mobile devices with different operating systems
IL225455A0 (en) * 2013-03-24 2013-07-31 Mariana Goldhamer Running mobile applications on stations@base
US9171243B1 (en) 2013-04-04 2015-10-27 Sprint Communications Company L.P. System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device
US9324016B1 (en) 2013-04-04 2016-04-26 Sprint Communications Company L.P. Digest of biographical information for an electronic device with static and dynamic portions
US9454723B1 (en) 2013-04-04 2016-09-27 Sprint Communications Company L.P. Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device
US9838869B1 (en) 2013-04-10 2017-12-05 Sprint Communications Company L.P. Delivering digital content to a mobile device via a digital rights clearing house
US9443088B1 (en) 2013-04-15 2016-09-13 Sprint Communications Company L.P. Protection for multimedia files pre-downloaded to a mobile device
US9830191B2 (en) * 2013-04-15 2017-11-28 Seven Networks, Llc Temporary or partial offloading of mobile application functions to a cloud-based environment
US9069952B1 (en) 2013-05-20 2015-06-30 Sprint Communications Company L.P. Method for enabling hardware assisted operating system region for safe execution of untrusted code using trusted transitional memory
US9560519B1 (en) 2013-06-06 2017-01-31 Sprint Communications Company L.P. Mobile communication device profound identity brokering framework
US10380105B2 (en) 2013-06-06 2019-08-13 International Business Machines Corporation QA based on context aware, real-time information from mobile devices
US9183606B1 (en) 2013-07-10 2015-11-10 Sprint Communications Company L.P. Trusted processing location within a graphics processing unit
US9208339B1 (en) 2013-08-12 2015-12-08 Sprint Communications Company L.P. Verifying Applications in Virtual Environments Using a Trusted Security Zone
US9378063B2 (en) * 2013-10-15 2016-06-28 Qualcomm Incorporated Mobile coprocessor system and methods
US9185626B1 (en) 2013-10-29 2015-11-10 Sprint Communications Company L.P. Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning
US9191522B1 (en) 2013-11-08 2015-11-17 Sprint Communications Company L.P. Billing varied service based on tier
US9161325B1 (en) 2013-11-20 2015-10-13 Sprint Communications Company L.P. Subscriber identity module virtualization
EP3081016A1 (en) 2013-12-12 2016-10-19 Telefonaktiebolaget LM Ericsson (publ) An intermediate network node providing a service to a mobile terminal in a wireless communications network
WO2015100430A1 (en) 2013-12-24 2015-07-02 Digimarc Corporation Methods and system for cue detection from audio input, low-power data processing and related arrangements
EP2889770A1 (en) 2013-12-27 2015-07-01 Telefonica Digital España, S.L.U. Improved applications execution between electronic devices and cloud
US9118655B1 (en) 2014-01-24 2015-08-25 Sprint Communications Company L.P. Trusted display and transmission of digital ticket documentation
KR20150095029A (ko) * 2014-02-12 2015-08-20 한국전자통신연구원 응용 프로그램 가상화 시스템 및 사용자 단말의 응용 프로그램 가상화 방법
US10691332B2 (en) 2014-02-28 2020-06-23 Samsung Electronics Company, Ltd. Text input on an interactive display
US9226145B1 (en) 2014-03-28 2015-12-29 Sprint Communications Company L.P. Verification of mobile device integrity during activation
US9230085B1 (en) 2014-07-29 2016-01-05 Sprint Communications Company L.P. Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services
WO2016015299A1 (zh) 2014-07-31 2016-02-04 华为技术有限公司 一种可携带式设备的控制方法和设备
CN105634778B (zh) * 2014-11-04 2020-09-22 南京中兴软件有限责任公司 实现vnf实例化的方法、系统及nfvo和vnfm
US9779232B1 (en) 2015-01-14 2017-10-03 Sprint Communications Company L.P. Trusted code generation and verification to prevent fraud from maleficent external devices that capture data
US10275341B2 (en) * 2015-01-21 2019-04-30 Somo Innovations Ltd Mobile application usability testing
US9838868B1 (en) 2015-01-26 2017-12-05 Sprint Communications Company L.P. Mated universal serial bus (USB) wireless dongles configured with destination addresses
US9473945B1 (en) 2015-04-07 2016-10-18 Sprint Communications Company L.P. Infrastructure for secure short message transmission
US9819679B1 (en) 2015-09-14 2017-11-14 Sprint Communications Company L.P. Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers
US10282719B1 (en) 2015-11-12 2019-05-07 Sprint Communications Company L.P. Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit
US9817992B1 (en) 2015-11-20 2017-11-14 Sprint Communications Company Lp. System and method for secure USIM wireless network access
US10339317B2 (en) 2015-12-18 2019-07-02 Intel Corporation Computing devices
US11109437B2 (en) 2015-12-22 2021-08-31 Apple Inc. Method and migration manager component for transferring an application and system for managing terminal device communication connections
US11005748B2 (en) 2017-03-31 2021-05-11 Nokia Technologies Oy Optimizations for cloud storage related data flow
US10499249B1 (en) 2017-07-11 2019-12-03 Sprint Communications Company L.P. Data link layer trust signaling in communication network
CN107645561B (zh) * 2017-10-12 2020-06-02 湖南微算互联信息技术有限公司 一种云手机的图片预览方法
CN108319359B (zh) * 2017-12-29 2020-01-03 华中科技大学 一种基于微云的能耗优化方法
CN109600274B (zh) * 2018-11-26 2021-05-18 广州微算互联信息技术有限公司 控制节点的获取方法与服务器
US11399057B1 (en) * 2021-03-03 2022-07-26 T-Mobile Usa, Inc. Enabling analytics for a virtualized application
US20220405104A1 (en) * 2021-06-22 2022-12-22 Vmware, Inc. Cross platform and platform agnostic accelerator remoting service
US11875196B1 (en) * 2023-03-07 2024-01-16 Appian Corporation Systems and methods for execution in dynamic application runtime environments

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7095854B1 (en) * 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5844886A (en) * 1996-12-30 1998-12-01 Telefonaktiebolaget Lm Ericsson (Publ.) System and method for network optimization using code blocking
US6473422B2 (en) * 1998-04-27 2002-10-29 Telefonaktiebolaget Lm Ericsson Communications network and method for screening incoming circuit switched calls
US7046992B2 (en) * 2001-05-11 2006-05-16 Telefonaktiebolaget Lm Ericsson (Publ) Authentication of termination messages in telecommunications system
US20030145044A1 (en) * 2002-01-28 2003-07-31 Nokia Corporation Virtual terminal for mobile network interface between mobile terminal and software applications node
US7987491B2 (en) * 2002-05-10 2011-07-26 Richard Reisman Method and apparatus for browsing using alternative linkbases
US20060031852A1 (en) * 2004-04-30 2006-02-09 Wenjing Chu Virtualization of control software for communication devices
EP1703382A1 (en) * 2005-03-16 2006-09-20 Sun Microsystems, Inc. Method for loading applications to a mobile device
US20060291412A1 (en) * 2005-06-24 2006-12-28 Naqvi Shamim A Associated device discovery in IMS networks
CN101346696B (zh) * 2005-12-28 2013-10-02 国际商业机器公司 负荷分散型客户机服务器系统及负荷分散方法
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20070226795A1 (en) * 2006-02-09 2007-09-27 Texas Instruments Incorporated Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
US8644396B2 (en) * 2006-04-18 2014-02-04 Qualcomm Incorporated Waveform encoding for wireless applications
US9043391B2 (en) * 2007-02-15 2015-05-26 Citrix Systems, Inc. Capturing and restoring session state of a machine without using memory images
US8060074B2 (en) * 2007-07-30 2011-11-15 Mobile Iron, Inc. Virtual instance architecture for mobile device management systems
US9848058B2 (en) * 2007-08-31 2017-12-19 Cardiac Pacemakers, Inc. Medical data transport over wireless life critical network employing dynamic communication link mapping
US7962620B2 (en) * 2007-10-19 2011-06-14 Kubisys Inc. Processing requests in virtual computing environments
US9294621B2 (en) * 2008-04-21 2016-03-22 Aetherpal Inc. Virtual mobile management—remote control
US7966366B2 (en) 2008-05-12 2011-06-21 Microsoft Corporation Dynamic postback for location code execution
US9755842B2 (en) * 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
KR101633928B1 (ko) * 2009-08-11 2016-06-27 엘지전자 주식회사 소셜 네트워크 서비스 제공 방법 및 장치
EP2517085A4 (en) * 2009-12-23 2014-06-18 Nokia Corp ENERGY CONSUMPTION OPTIMIZATION FOR WEB APPLICATIONS
CA2793401C (en) * 2010-03-17 2019-05-07 Siamak Farah A cloud-based desktop and subscription application platform apparatuses, methods and systems
EP2391179B1 (en) * 2010-05-31 2014-04-02 BlackBerry Limited Management of mobile hotspot connections
US20120028657A1 (en) * 2010-07-27 2012-02-02 Tom Chin Efficient Paging for Multiple Universal Subscriber Identity Module (USIM) Equipment in TD-SCDMA Systems
EP2666316B1 (en) * 2011-01-17 2020-06-03 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for authenticating a communication device
US20120259778A1 (en) * 2011-04-08 2012-10-11 Bank Of America Corporation Virtual atm

Also Published As

Publication number Publication date
EP3537690B1 (en) 2022-05-04
WO2012038845A1 (en) 2012-03-29
DK3537690T3 (da) 2022-07-04
US9087018B2 (en) 2015-07-21
US20120072481A1 (en) 2012-03-22
EP3537690A1 (en) 2019-09-11
EP2619961A1 (en) 2013-07-31
US20140051424A1 (en) 2014-02-20
US8595289B2 (en) 2013-11-26
EP2619961B1 (en) 2019-06-26

Similar Documents

Publication Publication Date Title
ES2745736T3 (es) Teléfono en la nube con procesamiento distribuido
US20170353397A1 (en) Offloading Execution of an Application by a Network Connected Device
US20170192819A1 (en) Method and electronic device for resource allocation
US20170302990A1 (en) Method, terminal, and system for processing data of video stream
US8880049B2 (en) Wireless communication apparatus and wireless communication method
BR122017025025A2 (pt) métodos para interação entre um terminal e um dispositivo de rede, terminais e programa
KR20130138146A (ko) 적응형 프로세스 중요도
US20230054174A1 (en) Preloading of applications and in-application content in user devices
US20130124675A1 (en) Apparatus and method for software migration in mobile environment
US11112847B2 (en) Dual processor power saving architecture communications system
Lee A framework for seamless execution of mobile applications in the cloud
WO2019042172A1 (zh) 资源配置方法及相关产品
MR et al. A survey on mobile cloud computing architecture, applications and challenges
US11729277B2 (en) Apparatus and method for controlling application relocation in edge computing environment
US11593166B2 (en) User presence prediction driven device management
CN110401691B (zh) 一种资源下载控制方法、装置及终端
BR112019013676A2 (pt) método de transmissão de dados e terminal
CN116244231A (zh) 一种数据传输方法、装置、系统、电子设备及存储介质
CN114816744A (zh) 内存管控方法、装置、存储介质及电子设备
CN113438266B (zh) 可穿戴按摩仪数据的获取方法、装置、设备和存储介质
Palit et al. An architecture for enhancing capability and energy efficiency of wireless handheld devices
US9491784B2 (en) Streaming common media content to multiple devices
CN112654031A (zh) 智能手表网络管理的方法、装置、介质及计算机设备
CN110913022A (zh) 移动终端网络文件下载方法、装置、系统及存储介质
CN113542156B (zh) 报文传输方法、装置、终端设备以及存储介质