MX2007005144A - Estructura de insercion para distribucion de contenido movil dinamico. - Google Patents

Estructura de insercion para distribucion de contenido movil dinamico.

Info

Publication number
MX2007005144A
MX2007005144A MX2007005144A MX2007005144A MX2007005144A MX 2007005144 A MX2007005144 A MX 2007005144A MX 2007005144 A MX2007005144 A MX 2007005144A MX 2007005144 A MX2007005144 A MX 2007005144A MX 2007005144 A MX2007005144 A MX 2007005144A
Authority
MX
Mexico
Prior art keywords
content
metadata
client
alternate
server
Prior art date
Application number
MX2007005144A
Other languages
English (en)
Inventor
Michael Shenfield
Original Assignee
Research In Motion Ltd
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 Research In Motion Ltd filed Critical Research In Motion Ltd
Publication of MX2007005144A publication Critical patent/MX2007005144A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Un servidor alterno de inserción y cliente de inserción para su uso en un sistema genérico de distribución de contenido dinámico, el servidor alterno de inserción tiene: una interfaz de proveedor de servicio de registro de proveedor de contenido, la interfaz de proveedor de servicio se adapta para registrar el intervalo de inserción con los proveedores de contenido y para recibir además los metadatos de canal para los proveedores de contenido; un depósito de metadatos de canal se adapta para almacenar los metadatos de canal recibidos de los proveedores de contenido; un módulo de memoria caché y extractor de metadatos de contenido se adapta para extraer metadatos para el servidor alterno de inserción de una envoltura de contenido y metadatos recibido de los proveedores de contenido, la memoria caché de extracción de metadatos de contenido se adapta además para guardar en memoria caché los metadatos en el servidor alterno de inserción; un módulo de fragmentación de contenido se adapta para descomponer una envoltura de contenido y metadatos en segmentos; un módulo de almacenamiento de mensajes de recuperación diferida se adapta para almacenar una envoltura de contenido en uno o más segmentos del módulo de fragmentación de contenido; un módulo de expiración de contenido y reemplazo se adapta para expirar el contenido almacenado en el almacén de mensajes de recuperación diferida; un módulo de dependencias de contenido se adapta para proporcionar la selección de clientes de inserción para anunciar un servicio; un programador de inserción, el programador de inserción de adapta para programar la inserción de una envoltura de contenido almacenada en el almacén de mensajes de recuperación diferida; y un módulo de suscripción y reglas se adapta para mantener una suscripción entre una aplicación y el proveedor de contenido y mantener una lista de reglas para la suscripción.

Description

ESTRUCTURA DE INSERCIÓN PARA DISTRIBUCIÓN DE CONTENIDO MÓVIL DINÁMICO DESCRIPCIÓN DE LA INVENCIÓN El presente método y sistema se refieren a distribución de contenido dinámico en un ambiente móvil, y en particular a una arquitectura genérica de distribución de contenido dinámico en la cual aplicaciones y proveedores de contenido pueden agregarse sin cambiar la arquitectura. Usuarios de dispositivos móviles o equipo de usuario móvil (UE) crecientemente están volviéndose más sofisticados en términos de la funcionalidad que requieren de sus dispositivos móviles y la forma en la que acceden a los datos de los dispositivos móviles. La distribución de contenido dinámico permite a los usuarios tener información o datos introducidos en los mismos en lugar de tener que ir y buscar los datos. Ejemplos de datos podrían incluir cotizaciones de bolsa de valores, actualizaciones climáticas, actualizaciones de tráfico, papel tapiz dinámico, anuncios, aplicaciones u otros datos deseables para un usuario. Las tecnologías actuales para dispositivos móviles tales como protocolo para aplicación inalámbrica (WAP) tienen la capacidad de introducir contenido; sin embargo, WAP requiere que los sitios web se rescriban para satisfacer el protocolo para aplicación inalámbrica y proporcionen a los usuarios con un sitio uniforme que no cambie para acomodar las capacidades de un usuario para ver un sitio. Otras alternativas incluyen inserción basada en SMS y difusión o difusión celular. En el caso de difusión, la distribución no puede ser personalizada a las necesidades de un usuario particular o las capacidades de un dispositivo particular. Estos sistemas por lo tanto no tienen inteligencia asociada con los mismos. Una mejor solución se requiere para dispositivos móviles. El presente sistema y método proporcionan de preferencia una arquitectura de distribución de contenido dinámico y sistema que permite que aplicaciones genéricas y proveedores de contenido se agreguen al sistema sin necesidad de modificar la arquitectura. Específicamente, el presente sistema y método permiten que un dispositivo móvil se vuelva una plataforma de aplicación dinámica en la cual puedan agregarse aplicaciones y pueda agregarse el contenido al dispositivo móvil, donde la arquitectura del sistema de distribución de contenido dinámico no limita el tipo de aplicación que puede instalarse en el dispositivo y el tipo de contenido que el dispositivo recibe. En un aspecto de la presente invención, los metadatos de preferencia se proporcionan y se asocian con el contenido para agregar inteligencia al contenido para varios elementos de procesamiento dentro de la arquitectura de distribución de contenido dinámico. Esta arquitectura incluye componentes lógicos que proporcionan provisión de contenido, provisión de servicio que incluye servidores alternos de inserción, una red inalámbrica, cliente de inserción y aplicaciones de cliente. En un aspecto adicional de la presente invención, los metadatos se proporcionan de preferencia en un modelo estratificado "envuelto" para los metadatos de contenido de inserción. El contenido se envuelve con metadatos que pueden utilizarse para procesamiento en cada elemento dentro de una estructura de inserción. Los metadatos para cada elemento sucesivo se estratifican, permitiendo asi que el procesamiento extraiga sólo los metadatos de ese elemento. Por ejemplo, un paquete de contenido que incluye metadatos dirigidos a un servidor alterno de inserción y una aplicación de cliente puede incluir el contenido con un primer nivel de metadatos para la aplicación de cliente, y una segunda capa de metadatos para el servidor alterno de inserción. Por consiguiente, cuando la envoltura alcanza el servidor alterno de inserción, los metadatos para el servidor alterno de inserción se extraen y se aplican al contenido, y el contenido modificado y los metadatos para la aplicación de cliente se pasan al elemento de procesamiento adicional. En otro aspecto de la presente solicitud, los metadatos pueden dividirse en metadatos estáticos (también referidos en la presente como metadatos de canal) y metadatos dinámicos (también referidos en la presente como metadatos de contenido) . Los metadatos estáticos se establecen de preferencia al momento del registro de la aplicación y el proveedor de contenido. Sin embargo, los metadatos de canal pueden establecerse en un momento posterior. Los metadatos de canal especifican las reglas de procesamiento que son especificas para el tipo de contenido que se está distribuyendo y los requerimientos de aplicación para el tipo de contenido. Los metadatos dinámicos se asocian inversamente con el contenido especifico que se pasa. En otro aspecto de la presente solicitud, un modelo de registro insertable se presenta de preferencia dentro de la estructura de inserción. Un cliente de inserción genérico y un servidor alterno de inserción se identifican, cada uno teniendo varios bloques de procesamiento o módulos que permiten que estos elementos procesen contenido y metadatos. Estos bloques pueden dirigirse para procesar ya sea el contenido que se pasa, los metadatos que se pasan o ambos el contenido y los metadatos que se pasan. El registro insertable además proporciona de preferencia el paso de manifiestos de servicio y manifiestos de aplicación para permitir el establecimiento de los metadatos de canal entre un proveedor de contenido y una aplicación. Específicamente, los manifiestos de servicio pueden utilizarse para registrar un proveedor de contenido con la estructura de inserción, y un manifiesto de aplicación puede utilizarse para registrar una aplicación con la estructura de inserción. En otro aspecto de la presente solicitud, se proporciona de preferencia un método para insertar contenido afiliado el cual permite el manejo de datos basándose en su prioridad y basándose en factores de red que incluyen el costo de enviar datos, el tipo de red conectada o las preferencias de los usuarios. Un modelo de inserción/extracción mezclado opcional para el contenido afiliado permite que un servidor alterno de inserción inserte contenido cuando las condiciones de red se vuelven favorables o que un cliente extraiga contenido cuando las condiciones de red se vuelven favorables o cuando el usuario requiere el contenido . Para poder acomodar varios dispositivos móviles, un aspecto adicional de la presente solicitud es proporcionar de preferencia fragmentación de contenido para el contenido, incluyendo fragmentación de contenido no lineal. La fragmentación de contenido no lineal incluye el aumento de contenido con metadatos que permiten que los metadatos se reformulen una vez que se han pasado al cliente. Estos y otros aspectos se identificarán en mayor detalle con respecto a los dibujos. La presente solicitud por lo tanto proporciona de preferencia un servidor alterno de inserción para su uso en un sistema genérico de distribución de contenido dinámico que comprende: una interfaz de proveedor de servicio de registro de proveedor de contenido, la interfaz del proveedor de servicio se adapta para registrar el servidor alterno de inserción con los proveedores de contenido y para recibir adicionalmente los metadatos de canal para los proveedores de contenido; un depósito de metadatos de canal; el depósito de metadatos de canal se adapta para almacenar los metadatos de canal recibidos de los proveedores de contenido; un extractor de metadatos de contenido y un módulo de memoria caché, el extractor de metadatos de contenido y el módulo de memoria caché se adaptan para extraer metadatos para el servidor alterno de inserción desde un contenido y la envoltura de metadatos recibidos de los proveedores de contenido, la memoria caché de extracción de metadatos de contenido además se adapta para guardar en memoria caché los metadatos en el servidor alterno de inserción; un módulo de fragmentación de contenido, el módulo de fragmentación de contenido se adapta para descomponer una envoltura de contenido y metadatos en segmentos; un módulo de almacenamiento de mensajes de recuperación diferida, el módulo de almacenamiento de mensajes de recuperación diferida se adapta para almacenar una envoltura de contenido o uno o más segmentos del módulo de fragmentación de contenido; un módulo de expiración contenido y reemplazo, el módulo de expiración de contenido y reemplazo se adapta para expirar el contenido almacenado en el almacén de mensajes de recuperación diferida o para reemplazar el contenido almacenado en el almacén de mensajes de recuperación diferida; un módulo de dependencias de contenido, el módulo de dependencias de contenido se adapta para proporcionar la selección de clientes de inserción para anunciar un servicio; un programador de inserción, el programador de inserción se adapta para programar la inserción de una envoltura de contenido almacenada en el almacén de mensajes de recuperación diferida; un módulo de suscripción y reglas, el módulo de suscripción y reglas se adapta para mantener una suscripción entre una aplicación y el proveedor de contenido y para mantener una lista de reglas para la suscripción. La presente solicitud además proporciona un cliente de inserción para su uso en una arquitectura de distribución de contenido dinámico, el cliente de inserción comprende: una interfaz de proveedor de aplicación de registro de aplicación adaptada para registrar aplicaciones en el cliente de inserción y además adaptada para recibir un manifiesto de aplicación para las aplicaciones, el manifiesto de aplicación contiene metadatos de canal; un depósito de metadatos de canal adaptado para almacenar los metadatos de canal recibidos de la aplicación; medios de comunicación, los medios de comunicación adaptados para recibir una envoltura de contenido y metadatos de un servidor alterno de inserción; módulo de memoria caché y extractor de metadatos de contenido, el módulo de memoria caché y extractor de metadatos de contenido se adaptan para extraer metadatos para el cliente de inserción de la envoltura de contenido y los metadatos y además se adaptan para guardar en memoria caché los metadatos en el cliente de inserción; un gestor de recuperación diferida adaptado para programar recuperación de contenido del servidor alterno de inserción aún no recibido por el cliente de inserción; un módulo de dependencias de contenido adaptado para reconstituir el contenido previamente descompuesto en segmentos; un módulo de expiración de contenido y reemplazo, el módulo de expiración de contenido y reemplazo adaptado para expirar el contenido almacenado en el cliente de inserción o para reemplazar el contenido almacenado en el cliente de inserción; un bloque de notificación de actualización, el bloque de notificación de actualización adaptado para trabajar con las aplicaciones para notificar a las aplicaciones que el nuevo contenido las está esperando; un bloque de manejo de suscripción, el bloque de manejo de suscripción adaptado para manejar suscripciones entre la aplicación y un proveedor de contenido; un intermediario de extracción adaptado para extraer contenido cuando se requiera por el cliente de inserción, el intermediario de extracción es impulsado por el gestor de recuperación diferida, cuando el cliente de inserción se adapta para registrar aplicaciones genéricas y recibir el tipo de contenido genérico del proveedor de contenido. BREVE DESCRIPCIÓN DE LOS DIBUJOS La presente solicitud se entenderá mejor con referencia a los dibujos, en los cuales: La Figura 1 es un diagrama de bloque de una arquitectura básica para un sistema de distribución de contenido dinámico; la Figura 2 es un diagrama de bloque que muestra arquitecturas alternativas del sistema de distribución de contenido dinámico de la Figura 1; la Figura 3 es un diagrama de bloque de la Figura 1 que muestra el flujo de contenido y metadatos; la Figura 4 es un diagrama de bloque que muestra un servidor alterno de inserción que puede utilizarse junto con el presente sistema y método; la Figura 5 es un diagrama de bloque que muestra un cliente de inserción que puede utilizarse junto con el presente sistema y método; la Figura 6 es un diagrama de bloque que muestra un modelo de envoltura de varias capas de contenido y metadatos; la Figura 7 es el diagrama de bloque de la Figura 6, que muestra los metadatos dinámicos de las etapas de procesamiento para cada envoltura; la Figura 8 es el diagrama de bloque de la Figura 6, que muestra el procesamiento adicional que utiliza metadatos estáticos y dinámicos; la Figura 9 es un diagrama de bloque que muestra un proceso de registro para una aplicación en un solo cliente de inserción compartida; la Figura 10 es un diagrama de bloque que muestra un proceso de registro de una aplicación en un contenedor de inserción que maneja un grupo de clientes de inserción; la Figura 11 es un diagrama de bloque que muestra una aplicación que se registra en un procesador de contenido y un oyente de conexión; la Figura 12 es un diagrama de bloque que muestra un proveedor de contenido que se registra con un solo servidor alterno de inserción compartida; la Figura 13 es un diagrama de bloque que muestra un proveedor de contenido que se registra con un contenedor de inserción que maneja un grupo de servidores alternos de inserción ; la Figura 14 es un diagrama de flujo que muestra los mensajes de registro entre un proveedor de contenido y la aplicación de cliente; la Figura 15 es un diagrama de bloque que muestra la interacción durante el registro entre un cliente de inserción y un servidor alterno de inserción; la Figura 16 es un diagrama de bloque que muestra la interacción durante el registro entre un servidor alterno de inserción y un proveedor de contenido; la Figura 17 es un diagrama de flujo que muestra el flujo de contenido y metadatos entre un proveedor de contenido y elementos de procesamiento; la Figura 18 es un diagrama de bloque que muestra una aplicación de transformación ejemplar para el contenido; la Figura 19 es un diagrama de bloque de un modelo de afiliación de contenido; la Figura 20 es un diagrama de bloque de un proceso de fragmentación lineal; la Figura 21 es un diagrama de bloque de un proceso de fragmentación no lineal; y la Figura 22 es un diagrama de bloque de un dispositivo móvil ejemplar que puede utilizarse junto con el presente método y sistema. Ahora se hace referencia a la Figura 1. Se ilustra un sistema de inserción genérico para distribuir contenido dinámico a una aplicación de cliente. Un sistema de la Figura 1 es un sistema simplificado y muestra componentes lógicos que necesitan estar en una arquitectura de distribución de contenido dinámico; sin embargo, alguien con experiencia en la técnica apreciará que otros componentes pueden existir o que varios componentes pueden agruparse juntos. La arquitectura 100 incluye un proveedor 110 de contenido. El proveedor 110 de contenido se dispone para proporcionar contenido dinámico a usuarios que se suscriben con el proveedor 110 de contenido. Ejemplos pueden incluir, por ejemplo, un sitio web que vende libros. Un usuario puede registrarse con el proveedor 110 de contenido para obtener una lista de los libros recién puestos en circulación dentro de géneros específicos. Otros ejemplos pueden incluir sitios de noticias que pueden proporcionar encabezados a usuarios en una base periódica, sitios de tráfico que proporcionar información de tráfico actualizada a usuarios durante ciertos periodos del día, sitios de mercado de valores que pueden proporcionar cotizaciones de bolsa de valores actualizadas o cambios de moneda para usuarios, entre otros. Como se describirá en mayor detalle en lo siguiente, el proveedor 110 de contenido se registra con un proveedor 120 de servicio para poder permitir que el cliente del proveedor de servicio reciba contenido del proveedor 110 de contenido. El proveedor 120 de servicio incluye un servidor alterno 122 de inserción que actúa como un servidor alterno para un cliente o una aplicación de cliente y proporciona un destino para que el proveedor 110 de contenido envíe el contenido. El proveedor 120 de servicio se comunica sobre la red 130 inalámbrica con un cliente 140 de inserción que se localiza en un dispositivo móvil. El cliente 140 de inserción se describirá en mayor detalle en lo siguiente. El cliente 140 de inserción recibe el contenido que se está distribuyendo desde el proveedor 110 de contenido y puede comunicar el contenido con una aplicación 150 de cliente, la cual al final consume el contenido. Dentro de la presente especificación, la referencia al proveedor 110 de contenido, el proveedor 120 de servicio, el servidor alterno 122 de inserción, la red 130 inalámbrica, el cliente 140 de inserción o la aplicación 150 de cliente es una referencia nuevamente de la arquitectura de la Figura 1. Con referencia a la Figura 2, se apreciará por aquellos con experiencia en la técnica que los componentes de la Figura 1 son componentes meramente lógicos y no son necesariamente componentes físicos separados. La Figura 1 ilustra una arquitectura genérica en la cual un proveedor 110 de contenido, un servidor alterno 122 de inserción, un cliente 140 de inserción y una aplicación 150 de cliente existen. Alternativas se ilustran en la Figura 2. Específicamente, una primera arquitectura 210 alternativa incluye múltiples proveedores 110 de contenido que se comunican con un servidor alterno 122 de inserción. El servidor alterno 122 de inserción, como en la arquitectura de la Figura 1, se comunica sobre la red 130 inalámbrica con un cliente 140 de inserción. Además, múltiples aplicaciones 150 de cliente existen en la arquitectura 210. Por lo tanto, éste es un sistema N-l-l-N que tiene múltiples proveedores 110 de contenido y múltiples aplicaciones 150 de cliente. La arquitectura 220 de la Figura 2 incluye un proveedor 110 de contenido que se comunica y se registra en el servidor alterno 122 de inserción. Además, el servidor alterno 122 de inserción se comunica con la red 130 inalámbrica con múltiples clientes 140 de inserción. Cada cliente 140 de inserción se comunica con una aplicación 150 de cliente. La arquitectura 220 por lo tanto agrupa los componentes lógicos de una aplicación 150 de cliente y un cliente 140 de inserción y es un sistema N(l-1)-1-1. La arquitectura 230 de la Figura 2 tiene múltiples servidores alternos 122 de inserción, cada uno comunicándose con un proveedor 110 de contenido. Cada combinación 232 de servidor alterno de inserción y proveedor de contenido se comunica sobre la red 130 inalámbrica con un cliente 140 de inserción genérico, el cual a su vez se comunica con la aplicación 150 de cliente. Éste es un sistema l-l-N(l-l). En la arquitectura 240 de la Figura 2, un grupo 232 del proveedor 110 de contenido y el servidor alterno 122 de inserción se comunican sobre la red 130 inalámbrica con una combinación genérica de cliente 140 de inserción y aplicación 150 de cliente. Éste es por lo tanto un sistema N(l-1)-N(l-1) · Como se apreciará por aquellos con experiencia en la técnica, otras alternativas son posibles. Lo anterior muestra varios componentes lógicos, los cuales pueden estar en componentes físicos separados o agrupados en conjunto. Por ejemplo, un cliente de inserción puede integrarse en una aplicación, clientes compartidos comunes pueden utilizarse por múltiples aplicaciones u otras alternativas. Ahora se hace referencia a la Figura 3. Para poder agregar inteligencia a un sistema, el contenido se asocia con metadatos . Los metadatos, en este caso, se definen como datos que pueden utilizarse por un elemento de procesamiento para manipular el contenido. Como se apreciará, un sistema de inserción genérico requiere metadatos para permitir que varios proveedores de contenido y aplicaciones existan dentro del sistema. Los metadatos pueden tener varias formas, que incluyen parámetros de procesamiento o reglas, o un administrador de procesamiento, código o referencia proporcionados directamente o un enlace a un administrador de procesamiento, código o reglas en otra ubicación. Como puede observarse en la Figura 3, el contenido pasa desde el proveedor 110 de contenido hasta la aplicación 150 de cliente y se ilustra por la flecha 310. Los metadatos, los cuales proporcionan instrucciones a varios componentes dentro de la arquitectura 100 también pueden pasar entre componentes dentro de la arquitectura 100, normalmente junto con el contenido. Por ejemplo, la flecha 320 ilustra metadatos que se originan en el proveedor de contenido y son claros para el sistema de distribución hasta que alcanza una aplicación 150 de cliente. La flecha 330 muestra los metadatos creados por el proveedor 110 de contenido que se pretenden para el cliente 140 de inserción, y de este modo sólo fluyen hacia el cliente 140 de inserción genérico. La flecha 340 ilustra metadatos generados por el proveedor 120 de servicio y pretendidos para el cliente 140 de inserción, y de este modo primero se asocian con el contenido del servidor alterno 122 de inserción y se derivan del contenido en el cliente 140 de inserción genérico. Ejemplos de donde esto puede ocurrir incluyen acuerdos entre un usuario y un proveedor de servicio con respecto a un plan de facturación y el nivel de servicio que se proporciona, donde el proveedor de servicio puede utilizar los metadatos para limitar los servicios disponibles o para proporcionar servicios mejorados. El flujo de metadatos y el papel de los metadatos se describe en mayor detalle en lo siguiente. Ahora se hace referencia a la Figura 4. La Figura 4 ilustra un servidor alterno 410 de inserción ejemplar detallado el cual puede utilizarse en asociación con el presente sistema y método. Como se apreciará por aquellos con experiencia en la técnica, el servidor alterno 410 de inserción puede ser el mismo que el servidor alterno 122 de inserción de las Figuras 1 y 2. El servidor alterno 410 de inserción de la Figura 4 incluye varios elementos que permiten al servidor alterno 410 de inserción operar en un ambiente de inserción genérico. Esto facilita la sensibilidad puesto que el servidor alterno de inserción no se limita a la interacción con proveedores de contenido específicos o clientes de inserción, sino de hecho pueden adaptarse a un ambiente dinámico. Es preferible que los elementos descritos en lo siguiente para el servidor alterno 410 de inserción estén dentro del servidor alterno 410 de inserción, pero los elementos no son exhaustivos, y otros elementos son posibles. Además, ciertos elementos pueden omitirse del servidor alterno 410 de inserción, con los elementos restantes aún siendo capaces de realizar servicios de inserción genéricos. El servidor alterno 410 de inserción incluye proveedores 412 de contenido registrados en el mismo. Los proveedores 412 de contenido se registran con una interfaz 420 del proveedor de servicio (SPI) de registro del proveedor de contenido. Como se describe en mayor detalle en lo siguiente, es deseable en este registro que el proveedor 412 de contenido incluya cierta información para el canal que se establece, referido en la presente como metadatos de canal. Los proveedores 412 de contenido pueden ser los mismos que los proveedores 110 de contenido de la Figura 1. El servidor alterno 410 de inserción además incluye un bloque 430 de administración de servicio para administrar el servicio del servidor alterno de inserción. El servidor alterno 410 de inserción incluye varios módulos para tratar con el contenido y los metadatos asociados con ese contenido. Un primer módulo es el intermediario de mensajes y la cola 440 de distribución, que es un subsistema que consume mensajes del proveedor 412 de contenido y maneja la cola de distribución de contenido. Como se apreciará por aquellos con experiencia en la técnica, no todo el contenido para todas las aplicaciones de cliente puede distribuirse a la vez y una cola de distribución necesita establecerse para poder distribuir el contenido en un curso correcto. Por ejemplo, un dispositivo puede estar fuera de cobertura y el contenido puede necesitar almacenarse . El servidor alterno 410 de inserción además incluye un bloque 442 de manejo de control de flujo. El bloque 442 de manejo de control de flujo permite el control de flujo de contenido. Por ejemplo, una estación móvil con espacio limitado sólo puede ser capaz de recibir una cierta cantidad de información. En este caso, el dispositivo móvil, a través de un cliente 140 de inserción como se ilustra en la Figura 1, puede pedir al servidor alterno 410 de inserción detener el flujo de datos para el cliente 140 de inserción. El bloque 442 de manejo de control de flujo se encarga de esto. Alternativamente, el dispositivo móvil puede estar fuera de linea. El bloque 442 de manejo de control de flujo detiene y comienza el flujo de datos para el cliente 140 de inserción cuando el contenido no puede distribuirse como recibido por el servidor alterno 410 de inserción. Un componente adicional del servidor alterno 410 de inserción es los agentes 444 de inserción. Los agentes 444 de inserción son responsables de enviar datos a los clientes. Como se apreciará por aquellos con experiencia en la técnica, los bloques 440, 442 y 444 se encargan de mensajería solamente, y no se relacionan con los metadatos. En otras palabras, los bloques manejan el contenido de los mensajes, pero no los metadatos asociados con el contenido. Un componente adicional del servidor alterno 410 de inserción es el bloque 450 de memoria caché y extractor de metadatos de contenido. El bloque 450 de memoria caché y extractor de metadatos de contenido opera en metadatos de contenido envueltos. Específicamente, en el modelo de envoltura del sistema de metadatos, el cual se describe en mayor detalle en lo siguiente, cada componente lógico dentro del sistema puede tener metadatos asociados con el procesamiento de contenido. Estos metadatos permiten que el componente lógico realice acciones sobre el contenido. Cada componente lógico de este modo necesita ser capaz de extraer los metadatos que se asocian con el mismo. El bloque 450 de memoria caché y extractor de metadatos de contenido es responsable de extraer los metadatos que se asocian con el servidor alterno 410 de inserción y de guardar en memoria caché estos metadatos. La función de guardado en memoria caché permite la optimización al eliminar la necesidad de pasar metadatos idénticos en envolturas de contenido posterior del mismo proveedor de contenido. La extracción y guardado en memoria caché de los metadatos se describe en lo siguiente. El bloque 452 de almacenamiento de mensajes de recuperación diferida se utiliza cuando no es efectivo distribuir contenido, o partes del mismo, para una aplicación de cliente. El bloque 452 de almacenamiento de mensajes de recuperación diferida puede utilizarse para almacenar el contenido que no se distribuye al cliente hasta que es efectivo para enviar el contenido, o hasta que el contenido es extraído por el cliente. El almacén de mensajes de recuperación diferida puede utilizarse también para guardar en memoria caché el contenido auxiliar que puede enviarse opcionalmente o extraerse por el cliente dependiendo de la navegación de aplicación de cliente a través del contenido ya distribuido . El propósito del bloque 452 de almacenamiento de mensajes de recuperación diferida se explica mejor en lo siguiente con referencia a la Figura 19 y 21. Por medio del ejemplo, el bloque 452 de almacenamiento de mensajes de recuperación diferida puede utilizarse en el caso donde un usuario ha solicitado información de ubicación, tal como un restaurante cerca de la ubicación del usuario. El proveedor de contenido o el proveedor de servicio pueden tener un modelo para proporcionar información donde anunciantes puedan pagar para agregar su información a las solicitudes de búsqueda. De este modo, el usuario que está solicitando información sobre restaurantes para una ubicación también puede tener información sobre almacenes, campos de golf, gimnasios u otros servicios cerca de su ubicación atendida a su solicitud. Un proveedor de contenido agrupa la información de restaurantes solicitada con la información adicional y la pasa al servidor alterno 410 de inserción. El servidor alterno 410 de inserción, basándose en los metadatos proporcionados, puede crear un paquete de contenido para enviar al cliente. El paquete de contenido podría incluir la información solicitada por el cliente, así como un compendio o resumen de la información relacionada en la que puede estar interesado el usuario. El resumen se envia al usuario, pero el bloque 452 de almacenamiento de mensajes de recuperación diferida almacena los datos actuales que se recibieron del proveedor 110 de contenido. De este modo, si en un futuro el usuario desea obtener información más detallada sobre la información dentro del compendio, esta información ya está almacenada en el servidor alterno 410 de inserción . Un uso alternativo para el bloque 452 de almacenamiento de mensajes de recuperación diferida está en el caso donde un usuario no puede aceptar todo el contenido a la vez. Por ejemplo, si no es viable o económico enviar todo el contenido al dispositivo, parte del contenido puede almacenarse hasta un momento posterior, cuando pueda extraerse por el cliente o insertarse cuando se satisfagan reglas predefinidas. Estas reglas pueden especificarse por las condiciones de red o de servicio mediante ciertas condiciones de red o de servicio que se satisfacen. Esto se describe en mayor detalle con referencia a la Figura 19 siguiente. El programador 454 de inserción programa los intervalos de distribución para los clientes. Como se describe en lo anterior, en algunas situaciones puede no ser eficiente insertar todo el contenido a la vez. El programador 452 de inserción puede determinar que insertará cierta información inmediatamente y el resto de acuerdo con un programa predefinido. También, el programador 454 de inserción puede utilizar la naturaleza del contenido para determinar cuándo debe insertarse el contenido. Específicamente, los metadatos pueden indicar que cierto contenido es de alta prioridad o tiene una expiración que tiene límite de tiempo, y este contenido puede insertarse inmediatamente, mientras que el contenido que se ha indicado que tiene una baja prioridad o sin ninguna expiración puede insertarse posteriormente cuando las condiciones para pasar los datos sean más favorables. Como se apreciará por aquellos con experiencia en la técnica, los bloques 450, 452 y 454 se encargan del contenido del mensaje y los metadatos que se asocian con el mensaje. El bloque 460 de suscripción y reglas sigue las aplicaciones que se registran para recibir un servicio y monitorea las reglas en cuanto a cómo manejar el contenido particular que se distribuye. El contenido típicamente se distribuye basándose en una suscripción por el cliente o a nombre del cliente. El usuario, por ejemplo si desea un servicio particular, puede solicitar activamente suscripciones. Las suscripciones pueden hacerse a nombre de un usuario, por ejemplo si el usuario ha firmado un acuerdo con su proveedor 120 de servicio para recibir un beneficio por un servicio. Esto podría incluir el caso donde un usuario recibe una tasa preferida siempre y cuando el usuario esté de acuerdo en recibir un cierto número de publicidades cada día. En este caso, el proveedor 120 de servicio puede hacer la suscripción en el proveedor de publicidad a nombre del cliente . Cuando se borra una aplicación en un dispositivo móvil o cuando la aplicación se desregistra de una suscripción, el bloque 460 de suscripción y reglas puede desuscribir ese usuario. El bloque 462 de dependencias de contenido se utiliza por el servidor alterno 410 de inserción para anunciar servicios que un usuario del dispositivo móvil puede utilizar. De este modo, si un usuario del dispositivo móvil no tiene una pantalla o ancho de banda o suficiente memoria para el servicio, el bloque 462 de dependencias de contenido puede bloquear el anuncio de ese servicio al usuario. El bloque 464 de fragmentación de contenido se utiliza para fragmentar el contenido. Este podría utilizarse, por ejemplo, si el dispositivo móvil es incapaz de recibir todo el contenido a la vez. El bloque 464 de fragmentación de contenido se utiliza para descomponer el contenido en varios componentes. Puede utilizarse en asociación con la recuperación diferida y el almacén 452 de mensajes para almacenar el contenido fragmentado que aún no se ha distribuido . El bloque 466 de expiración de contenido y reemplazo se utiliza para dos propósitos. Primero, este bloque puede utilizarse para monitorear suscripciones. Cada suscripción tiene un tiempo de expiración y cuando este tiempo de expiración se cumple, puede finalizarse la suscripción . También, el bloque 466 de expiración de contenido y reemplazo puede utilizarse para monitorear información. Cierto contenido tendrá limites de tiempo sobre la validez de la información. Por ejemplo, una aplicación de tráfico utilizada para monitorear el tráfico de hora pico será muy dependiente del tiempo. Si por alguna razón, el servidor alterno 410 de inserción es incapaz de distribuir el contenido inmediatamente a un dispositivo móvil, este contenido se almacena en el almacén 480 de contenido para su distribución futura. Sin embargo, si el contenido no se distribuye dentro de un cierto periodo de tiempo especifico, entonces podría expirar y no distribuirse en absoluto. Similarmente , el reemplazo de contenido trata con una situación donde la información se está actualizando. Por ejemplo, una aplicación de cliente que está recibiendo cotizaciones de bolsa de valores puede desear sólo la última cotización de bolsa de valores. De este modo, si el servidor alterno 410 de inserción es incapaz de distribuir la cotización de bolsa de valores al cliente 140 de inserción y una cotización de bolsa de valores posterior se recibe de un proveedor 110 de contenido, los metadatos dentro de la cotización de bolsa de valores posterior pueden indicar que ésta debe utilizarse para reemplazar la cotización de bolsa de valores previa. El reemplazo de la información almacenada en lugar de agregar toda la información a una cola de distribución libera espacio dentro del almacén 480 de contenido . El depósito 470 de metadatos de canal se utiliza para almacenar los metadatos de canal, los cuales se describen en mayor detalle en lo siguiente. Lo anterior describe un servidor alterno 410 de inserción ejemplar que puede utilizarse con el método y sistemas en la presente. Los bloques y elementos del servidor alterno 410 de inserción permiten que el servidor alterno 410 de inserción se utilice en un sistema genérico de distribución de contenido dinámico donde el tipo de contenido y manejo de contenido en una aplicación pueden variar y no se predeterminan. Ahora se hace referencia a la Figura 5. La Figura 5 ilustra un cliente 510 de inserción que puede utilizarse junto con el sistema y métodos en la presente. El cliente 510 de inserción puede ser el mismo que el cliente 140 de inserción de las Figuras 1 y 2.
Como se apreciará por aquellos con experiencia en la técnica, un cliente 510 de inserción que va a utilizarse en un sistema genérico en el cual el contenido y procesamiento del contenido no se predeterminan debe incluir bloques o módulos que puedan utilizarse para acomodar el contenido y los metadatos asociados con el contenido. Los bloques definidos con respecto a la Figura 5 no están hechos para ser exhaustivos, y otros bloques podrían existir también dentro de un cliente 510 de inserción. Además, los bloques dentro del cliente 510 de inserción en algunos casos, pueden omitirse sin restringir la funcionalidad de los otros bloques dentro del cliente 510 de inserción. Un cliente 510 de inserción provee servicio a aplicaciones, y una o más aplicaciones 512 pueden registrarse con el cliente 510 de inserción. El registro de aplicación utiliza una interfaz 514 de proveedor de aplicación como la interfaz para el registro y la interfaz 514 de proveedor de aplicación puede utilizarse además para extraer los metadatos de canal para la aplicación, como se describe en mayor detalle en lo siguiente. El cliente 510 de inserción incluye la administración 520 de cliente utilizada para administrar el cliente 510 de inserción. Como con el servidor 410 de inserción de la Figura 4, el cliente 510 de inserción incluye varios bloques que se encargan del mensaje, varios bloques que se encargan de los metadatos, y varios bloques que se encargan de la mensajería y los metadatos. Las colas 540 del intermediario de mensajes y de aplicación manejan los mensajes del servidor alterno 410 de inserción para la distribución de las aplicaciones 512. Una cola de aplicación es una cola de mensajes para aplicaciones 512. El bloque 542 de manejo de control de flujo se utiliza para notificar al servidor alterno 410 de inserción de la Figura 4 para detener la inserción de contenido o para retomar la inserción de contenido. Esto puede utilizarse por ejemplo, cuando el cliente 510 de inserción tiene una cantidad limitada de memoria que puede aceptar contenido insertado. En este caso, antes de que el contenido de inserción se consuma, el cliente 510 de inserción necesita detener el flujo de contenido del servidor alterno 410 de inserción. Una vez que se ha consumido el contenido, el bloque 542 de manejo de control de flujo puede utilizarse para comenzar el flujo de datos nuevamente. Los agentes 544 de inserción dentro del cliente 510 de inserción se utilizan para recibir información del servidor alterno 410 de inserción de la Figura 4. Como se apreciará por aquellos con experiencia en la técnica, las colas 540 de intermediario de mensajes y de aplicación, el bloque 542 de manejo de control de flujo y los agentes 544 de inserción se encargan exclusivamente de la mensajería y no de los metadatos. El bloque 550 de memoria caché y extractor de metadatos de contenido se utiliza para extraer metadatos dinámicos destinados para el cliente 510 de inserción. Como se indica en lo anterior con referencia al servidor alterno 410 de inserción de la Figura 4, cualquiera de los elementos de procesamiento en la arquitectura de distribución de contenido dinámico podría tener metadatos destinados para los mismos y estos metadatos necesitan extraerse. De este modo, los metadatos destinados para el cliente 510 de inserción se extraen por el bloque 550 de memoria caché y extractor de metadatos de contenido. Además, el bloque 550 de memoria caché y extractor de metadatos de contenido de preferencia se adapta para guardar en memoria caché los metadatos. Los metadatos para el cliente 510 de inserción que no cambian entre un primer paquete de contenido y un segundo paquete de contenido no necesitan pasarse, ahorrando tiempo de procesamiento del cliente 510 de inserción al no requerir la extracción de estos metadatos, y además ahorrando recursos de red al no requerir que metadatos para el cliente 510 de inserción se pasan sobre la red 130 inalámbrica. El gestor 552 de recuperación diferida se utiliza para analizar fragmentos de contenido que se reciben y organizan el contenido en forma correcta. Como se describe en mayor detalle en lo siguiente, los datos pueden ser ya sea lineales o no lineales. Si los datos son no lineales, entonces los metadatos se requieren para poder reconstituirlos, y esto se hace por el gestor 552 de recuperación diferida. El gestor 552 de recuperación diferida también se adapta para analizar un compendio de información disponible en el almacén 442 de recuperación diferida del servidor alterno 510 de inserción e impulsa el intermediario 554 de extracción de contenido (descrito en lo siguiente) para recuperar esa información cuando se requiera por el usuario. Esto incluye recuperación predictiva cuando la navegación de contenido entra a una cierta rama de la gráfica de estructura de contenido o cuando el ancho de banda o condiciones de costo se satisfacen. El intermediario 554 de extracción de contenido se utiliza en un modelo de inserción/extracción donde el cliente 510 de inserción también es capaz de extraer contenido en ciertas situaciones. Tales situaciones se describen en lo siguiente en mayor detalle con referencia a la Figura 19. Como se apreciará por aquellos con experiencia en la técnica, el bloque 550 de memoria caché y extractor de metadatos de contenido, el gestor 552 de recuperación diferida y el intermediario 554 de extracción de contenido se encargan del contenido de mensajes y de los metadatos. El bloque 560 de manejo de suscripción es el mismo que el bloque 460 de suscripción y reglas de la Figura 4. Específicamente, el bloque 560 de manejo de suscripción se utiliza para manejar suscripción. Si una aplicación se desregistra o se borra de un dispositivo móvil entonces el bloque 560 de manejo de suscripción finaliza la suscripción. El bloque 560 de manejo de suscripción también puede resuscribirse a nombre de una aplicación de cliente cuando expire el canal de suscripción. El bloque 562 de notificación de actualización funciona con las aplicaciones del cliente y se utiliza para notificar a las aplicaciones que el nuevo contenido está esperándolas. Esto puede hacerse en una de tres formas: a. Una primera forma que el bloque 562 de notificación de actualización puede notificar a una aplicación 512 es que el cliente 510 de inserción envíe el contenido a la aplicación 512 directamente . b. Una segunda forma que el bloque 562 de notificación de actualización puede notificar a las aplicaciones 512 del nuevo contenido es que almacene el contenido en el almacén 580 de contenido y que notifique opcionalmente a las aplicaciones que el contenido está esperando. La notificación en este caso es opcional. Específicamente, si una aplicación 512 sabe qué información destinada para la misma se almacena dentro de un bloque de memoria específico, una opción para que la aplicación descubra que tiene nuevos datos es consultar periódicamente la ubicación de memoria para ver si existe algo qué escribir en la misma. Alternativamente, el bloque 562 de notificación de actualización puede enviar un mensaje a la aplicación 512 indicando que tiene nuevos datos y posiblemente la ubicación en la que se almacenan los datos, c. Una tercera forma que la notificación 562 de actualización puede notificar a las aplicaciones 512 del nuevo contenido es que almacenen contenido internamente y notifiquen la aplicación. La aplicación entonces puede pedir que el cliente de inserción recupere el contenido . El bloque 564 de dependencia de contenido es el mismo que el bloque 462 de dependencia de contenido de la Figura 4, y puede determinar si anunciar el servicio al dispositivo móvil. El bloque 566 de expiración de contenido y reemplazo es el mismo que el bloque 466 de expiración de contenido y reemplazo de la Figura 4. La expiración de contenido y el reemplazo de contenido de este modo pueden manejarse en el cliente 510 de inserción además del servidor de inserción o servidor alterno de inserción. El depósito 570 de metadatos de canal se utiliza para almacenar metadatos de canal para la aplicación 512. El módulo 575 de procesamiento de actualización de antecedentes se utiliza para realizar actualizaciones cuando no está disponible una aplicación 512. La actualización de antecedentes permite, por ejemplo, el reemplazo de datos con datos más nuevos dentro del almacén de aplicaciones. Después de esto, cuando un usuario comienza la aplicación, los datos desplegados por la aplicación son corregidos y se actualizan. El módulo 575 de procesamiento de actualización de antecedentes utiliza las reglas de procesamiento para traducir el contenido en un formato aceptable para una aplicación. Puede ejecutar y procesar contenido en el almacén 580 de contenido. Por medio del ejemplo, una lista de tareas que se actualiza para un contratista durante la noche puede tener tareas insertadas en el mismo. La aplicación de tareas no se inicia durante este tiempo, y el módulo 575 de procesamiento de actualización de antecedentes puede utilizarse para actualizar el contenido para la aplicación de tareas. Esto podría hacerse con el código para manejar un archivo de lenguaje de marcación extensible (XML), y podría existir en el dispositivo en un archivo llamado "handler.exe". El bloque 575 de procesamiento de actualización de antecedentes en el cliente 510 de inserción puede ejecutar handler.exe, pasando el documento de XML teniendo un parámetro. El gestor entonces construye la tarea en el formato interno de la aplicación. Una vez que el bloque 575 de procesamiento de actualización de antecedentes del cliente 510 de inserción construye la tarea en el formato interno de la aplicación, entonces puede leer la tarea en la lista de tareas del almacén 580 de contenido y anexar la nueva tarea a la lista. Entonces puede almacenar los antecedentes modificados en el almacén 580 de contenido para cuando la siguiente aplicación de tarea se conecte al cliente 510 de inserción. La Figura 5 por lo tanto ilustra un cliente 510 de inserción que puede utilizarse en un sistema genérico de distribución de contenido dinámico, donde el contenido y procesamiento del contenido es dinámico y no predeterminado. Los bloques descritos en lo anterior con referencia al cliente 510 de inserción de la Figura 5 se utilizan para acomodar la naturaleza dinámica del sistema. Como se indica en lo anterior con referencia a la Figura 3, el contenido se asocia con los metadatos para proporcionar inteligencia para el procesamiento de contenido. De acuerdo con el presente método y sistema, los metadatos pueden dividirse en dos tipos de metadatos. Específicamente, metadatos estáticos (de canal) y metadatos dinámicos (de contenido) . Debido a las posibilidades ilimitadas de tipos de proveedores de contenido y aplicaciones, los metadatos son críticos para poder construir sistemas genéricos. La única forma de manejar el tipo específico de contenido es a través de metadatos. Los metadatos estáticos son metadatos que proporcionan reglas en cuanto a cómo procesar los tipos específicos de contenido. Los metadatos estáticos pueden descomponerse en varios niveles de abstracción e incluyen, por ejemplo, información estructural sobre el contenido mismo. Por ejemplo, un documento de Afiliación Simple en Tiempo Real (RSS) puede distribuirse con una estructura de RSS 2.0.XSD, y todo el contenido de ese proveedor de contenido se distribuirá con esta estructura. Un nivel adicional de abstracción para los metadatos estáticos incluye la provisión de reglas de procesamiento para el subtipo de contenido. Este podría ser la aplicación específica. De este modo, por ejemplo, una indicación de noticias financieras indica que los datos deben extraerse de una corriente de RSS de noticias financieras, almacenada en una ubicación predefinida, y que la aplicación debe notificarse sobre la llegada de la información. La aplicación siempre requiere que el contenido destinado para la misma sea manejado de esta forma. Los metadatos estáticos (también referidos en la presente como metadatos de canal) permanecen iguales a través de la suscripción entre la aplicación y el proveedor de contenido, y de este modo los metadatos estáticos pueden establecerse una vez para cada elemento dentro de la arquitectura y para cada canal de distribución de contenido. En una modalidad, esto se hace al momento del registro de la aplicación o el proveedor de contenido. Los metadatos dinámicos son metadatos que se asocian con una pieza particular de contenido. Por ejemplo, la información de expiración asociada con una pieza particular de datos o reglas de reemplazo e información asociada con una pieza particular de datos (es decir, el documento K reemplaza al documento L) . Como se indica en lo anterior con referencia a las Figura 4 y 5, cada entidad de procesamiento puede recibir metadatos estáticos y dinámicos que se dirigen a esa entidad de procesamiento. De este modo, el servidor alterno 410 de inserción utiliza el bloque 450 de memoria caché y extractor de metadatos de contenido para extraer los metadatos dinámicos, y el bloque 466 de expiración de contenido y reemplazo se utiliza para reemplazar el contenido no distribuido con contenido más nuevo recibido en el servidor alterno 410 de inserción. Ahora se hace referencia a la Figura 6. La Figura 6 ilustra un modelo de envoltura estratificada para metadatos de contenido. Un servidor alterno 410 de inserción recibe una envoltura 610 de inserción que incluye metadatos 612 de procesamiento de contenido para el servidor de inserción y una envoltura 614 de cliente de inserción. El servidor alterno 410 de inserción extrae los metadatos 612 de procesamiento de contenido y utiliza estos metadatos para procesar la envoltura 614 de cliente de inserción. Los metadatos 612 dictan lo que el servidor alterno de inserción hace con la envoltura 614 de cliente de inserción. La envoltura 614 de cliente de inserción se pasa al cliente 510 de inserción donde se descompone en una envoltura 620 de contenido y metadatos 622 de procesamiento de contenido. Los metadatos 622 de procesamiento de contenido se utilizan por el cliente 510 de inserción para procesar la envoltura 620 de contenido. Por ejemplo, esto puede utilizarse para instruir al cliente 510 de inserción que realice el reemplazo de la envoltura 620 de contenido previamente distribuida con la última envoltura si la aplicación 150 de cliente sólo está interesada en la última versión del contenido. La envoltura 620 de contenido se pasa a la aplicación 150 de cliente. La envoltura 620 de contenido incluye metadatos 630 de procesamiento de contenido para la aplicación y la carga útil 632 de contenido que se consumirá por la aplicación 150 de cliente. Como se apreciará por aquellos con experiencia en la técnica, la subdivisión de envolturas de acuerdo con la Figura 6 proporciona un ambiente dinámico rico en el cual puede presentarse el procesamiento en cualquier elemento de procesamiento de la arquitectura y cuál proveedor 110 de contenido puede especificar cómo será tratado el contenido especifico. En una modalidad, los metadatos dirigidos a un elemento lógico particular se opacan en otros elementos de procesamiento . Alternativamente, el proveedor 120 de servicio también puede agregar metadatos en el servidor alterno 410 de inserción para su procesamiento en el cliente 510 de inserción o aplicación 150 de cliente. Con referencia a la Figura 7, esta figura muestra el modelo de envoltura de la Figura 6 y las etapas que cada elemento de procesamiento toma con la envoltura. Como se ilustra en la Figura 7, el servidor alterno 410 de inserción primero extrae los metadatos de la envoltura 610 de inserción. Esto se hace en la etapa 710. En la etapa 712, el servidor alterno 410 de inserción utiliza los metadatos para procesar la envoltura 614 de cliente de inserción. En la etapa 714, el servidor alterno 410 de inserción distribuye la envoltura 614 de cliente de inserción al cliente 510 de inserción. Similarmente , el cliente 510 de inserción, en la etapa 720 extrae los metadatos 622 de procesamiento de contenido de la envoltura 614 de cliente de inserción. En la etapa 722, el cliente 510 de inserción utiliza los metadatos 622 de procesamiento de contenido en la envoltura 620 de contenido. En la etapa 724, el cliente 510 de inserción distribuye la envoltura 620 de contenido a la aplicación 150 de cliente. En la etapa 730, la aplicación 150 de cliente extrae los metadatos 630 de procesamiento de contenido y en la etapa 732 utiliza los metadatos 630 de procesamiento de contenido en la carga útil 632 de contenido. Con referencia a la Figura 8, esta figura muestra el método como se ilustra en la Figura 7 con la etapa adicional del uso de metadatos estáticos o de canal. Específicamente, después de que los metadatos se han extraído en la etapa 710 de la envoltura 610 de inserción, el servidor alterno 410 de inserción después utiliza los metadatos de canal estáticos para procesar la envoltura de cliente de inserción en la etapa 810. En la etapa 712, el servidor alterno 410 de inserción después procesa los metadatos 612 dinámicos de procesamiento de contenido. El servidor alterno 410 de inserción después distribuye la envoltura 614 del cliente de inserción en la etapa 714. Similarmente, el cliente 510 de inserción extrae los metadatos 622 de procesamiento de contenido en la etapa 720. El cliente 510 de inserción entonces utiliza los metadatos de canal en la etapa 820 en el contenido dentro de la envoltura 620 de contenido. El cliente 510 de inserción entonces, en la etapa 722, utiliza los metadatos de contenido dinámicos en los metadatos 622 de procesamiento de contenido antes de la distribución de la envoltura 620 de contenido a la aplicación 150 de cliente en la etapa 724. La aplicación 150 de cliente primero extrae, en la etapa 730, los metadatos 630 de procesamiento de contenido.
Después utiliza los metadatos de canal en la etapa 830 en la carga útil 632 de contenido. La aplicación 150 de cliente entonces utiliza, en la etapa 732, los metadatos 630 de procesamiento de contenido en la carga útil 632 de contenido. Como se apreciará por aquellos con experiencia en la técnica, el modelo anterior por lo tanto permite que metadatos estáticos se apliquen para el canal junto con los metadatos dinámicos que se asocian con el contenido particular que se envía. Ahora se hace referencia a la Figura 9. Como se apreciará a partir de la Figura 5, el cliente 510 de inserción puede servir a múltiples aplicaciones 512 objetivo en un dispositivo móvil. Se requiere un mecanismo de registro de tiempo de ejecución donde las aplicaciones puedan registrarse con la estructura de distribución de contenido dinámico sin interrumpir el servicio para otras aplicaciones. Con referencia a la Figura 9, el cliente 510 de inserción incluye tres aplicaciones, específicamente aplicaciones 910, 912 y 914 que ya están registradas con el cliente de inserción. Como se apreciará, el modelo insertable es importante debido a que nuevos dispositivos pueden permitir que tipos de aplicación ilimitados se instalen en el dispositivo. Además, aplicaciones pueden instalarse dinámicamente, llevando a un dispositivo móvil que se vuelve una plataforma de aplicación. Debido a que el dispositivo puede ser una plataforma de aplicación, debe ser capaz de incorporar dinámicamente nuevas aplicaciones. Como se ve en la Figura 9, la aplicación 916 desea registrarse con el cliente 510 de inserción. La aplicación 916 incluye un manifiesto 918 de aplicación que, en una modalidad preferida, proporciona los metadatos de canal para la aplicación. Específicamente, el manifiesto 918 de aplicación proporciona información al cliente 510 de inserción, y al final el servidor alterno 410 de inserción y el proveedor 110 de contenido de la Figura 1 con los metadatos estáticos para la aplicación. Esto puede incluir, pero no se limita a, qué tipo de contenido espera la aplicación, cómo el contenido se distribuirá, si la aplicación necesita notificación, u otra información de canal que puede ser evidente para aquellos con experiencia en la técnica que tienen con respecto al presente sistema y método. La aplicación 916 por lo tanto se registra con el cliente 510 de inserción, proporcionando el manifiesto 918 de aplicación para establecer un canal en un proveedor de contenido para la aplicación 916 de servicio. Con referencia a la Figura 10, un modelo alternativo puede ser el modelo descrito con respecto a la arquitectura 220 de la Figura 2. Específicamente, en el modelo de la Figura 10, una aplicación 150 de cliente se empareja con un cliente 140 de inserción. Cada uno de los pares de aplicación 150 de cliente/cliente 140 de inserción se coordinan con un contenedor 1010 de inserción. Cuando la aplicación 1020 desea registrarse con el contenedor 1010 de inserción, un cliente 140 se crea, o si ya existe se utiliza, por el contenedor 1010 de inserción. Además, en el registro, la aplicación 1020 proporciona un manifiesto 1030 de aplicación en el contenedor 1010 de inserción, proporcionando así los metadatos de canal (metadatos estáticos) para la aplicación 1020. Una ilustración alternativa de la Figura 10 se muestra en la Figura 11. Específicamente, un contenedor 1110 de inserción maneja/mantiene un grupo de clientes de inserción. Cuando una aplicación se registra con el contenedor obtiene un cliente 510 de inserción dedicado, el cual en el caso simple puede representarse por un par de oyentes 1130 de conexión y gestor de contenido. El cliente de inserción se regresa al grupo cuando la aplicación se desregistra del contenedor (y el servicio de distribución de contendor) o se borra del dispositivo. El contenedor 1110 de inserción incluye conexiones 1120 para comunicación. Además, el contenedor 1110 de inserción incluye oyentes 1130 de conexión y procesadores 1140 de contenido asignados a una conexión particular. Como se ve en la Figura 11, varios pares de procesador de contenido y oyente de conexión se utilizan por las aplicaciones 150 previamente registradas. Cuando una nueva aplicación 1150 desea registrarse con el contenedor 1110 de inserción, un nuevo procesador 1120 de contenido y oyente 1130 de conexión se asignan a la aplicación 1050 de servicio. Lo anterior por lo tanto proporciona una estructura de inserción genérica en la cual una aplicación 150 de cliente que es nueva puede incrementarse y registrarse con un cliente 510 de inserción o contenedor 1010 ó 1110 de inserción, permitiendo asi que el dispositivo se vuelva una plataforma de aplicación capaz de incorporar dinámicamente nuevas aplicaciones. El paso de un manifiesto 1030 ó 918 de aplicación de las Figuras 9 y 10 permite el establecimiento de metadatos de canal, permitiendo asi que el contenido se procese de acuerdo con los requerimientos de la aplicación. Con referencia a la Figura 12, los proveedores 110 de contenido similarmente necesitan registrarse con un servidor alterno 410 de inserción. Como se ve en la Figura 12, el servidor alterno 410 de inserción incluye tres proveedores de contenido, particularmente, 1210, 1212 y 1214, ya registrados con el servidor alterno 410 de inserción. El proveedor 1216 de contenido desea registrarse con el servidor alterno 410 de inserción. Similarmente al manifiesto 918 de aplicación ilustrado en la Figura 9 proporcionado por una aplicación 916 cuando se registra con el cliente 510 de inserción, el proveedor 1216 de contenido incluye un manifiesto 1218 de servicio que se pasa al servidor alterno 410 de inserción cuando el proveedor 1216 de contenido se registra. El manifiesto 1218 de servicio incluye información con respecto al tipo de información que proporcionará el proveedor de contenido, con qué frecuencia proporciona esta información, el formato de la información, y cualquier otra información que sea útil para el servicio o para la publicidad del servicio. Otra información es posible. El servidor alterno 410 de inserción de este modo utiliza el manifiesto 1218 de servicio para establecer los metadatos de canal (estáticos) para el proveedor 1216 de contenido . Con referencia a la Figura 13, una modalidad alternativa, representada por la arquitectura 230 de la Figura 2, es tener un contenedor de inserción con un cierto número de pares de servidores alternos 122 de inserción y proveedor 110 de contenido. Como con la Figura 12, varias aplicaciones pueden ya sea registrarse con el contenedor 1310 de inserción, y en el ejemplo de la Figura 12, aplicaciones 1312, 1314 y 1316 ya se registran con los servidores alternos 1313, 1315 y 1317 de inserción, respectivamente. Una nueva aplicación 1320 desea registrarse con el contenedor 1310 de inserción. De este modo, el contenedor 1310 de inserción crea un nuevo servidor alterno (no mostrado) o utiliza un servidor alterno (no mostrado) existente con el cual asocia el proveedor 1320 de contenido. Además, el proveedor 1320 de contenido proporciona el manifiesto 1322 de servicio para describir el contenido que el proveedor 1320 de contenido estará proporcionando, permitiendo asi el establecimiento de los metadatos de canal. Como se apreciará por aquellos con experiencia en la técnica, las modalidades de las Figuras 9 y 10 muestran dos opciones para los clientes de inserción, ya sea con aplicaciones compartidas o con clientes de inserción dedicados por aplicación. Alguien con experiencia en la técnica se dará cuenta que otras modalidades son posibles. Similarmente, con respecto a las Figuras 12 y 13, un servidor alterno de inserción con múltiples proveedores de contenido registrados con el mismo se muestra o un servidor alterno de inserción dedicado para cada proveedor de contenido, y representado en un contenedor de inserción se muestra. Con referencia a la Figura 14, se muestra la mensajería entre un proveedor 110 de contenido y una aplicación 150 de cliente. El proveedor 110 de contenido proporciona un mensaje de registro al servidor alterno 410 de inserción. Este mensaje puede incluir el manifiesto de servicio que puede utilizarse para proporcionar los metadatos de canal al servidor alterno 410 de inserción. Esto se hace en la etapa 1410. El proveedor 110 de contenido también puede o alternativamente proporciona metadatos de canal en un mensaje subsiguiente, como se ilustra por la etapa 1412. El servidor alterno 410 de inserción entonces agrega un servicio a una lista de servicios disponibles (el catálogo de servicio) en la etapa 1414. Una etapa opcional en el ejemplo de la Figura 14 es que el servidor alterno 410 de inserción notifica al cliente 510 de inserción del nuevo servicio disponible en la etapa 1416 y esta notificación puede propagarse a una aplicación 110 de cliente en la etapa 1418.
Como se apreciará por aquellos con experiencia en la técnica, las etapas 1416 y 1418 son opcionales, y otras alternativas incluyen aplicación 150 de cliente que extrae el catálogo de servicio periódicamente del servidor alterno 410 de inserción para ver nuevos servicios. Cuando un usuario o proveedor de servicio para la aplicación 150 de cliente decide que la aplicación 150 de cliente debe suscribirse a un servicio, envía un mensaje de suscripción en la etapa 1420. El mensaje de suscripción además se pasa al servidor alterno 410 de inserción en la etapa 1422. Una vez que el servidor alterno 410 de inserción recibe el mensaje de suscripción en la etapa 1422, dos opciones están disponibles. Una primera opción es enviar un mensaje 1424 al proveedor 110 de contenido para una suscripción y después recibir un sobre con mensaje que incluye los metadatos nuevamente en la etapa 1426. Los metadatos podrían ser el dispositivo o tipo de dispositivo específico . Alternativamente, el servidor alterno 410 de inserción puede recibir el mensaje de suscripción en la etapa 1422 e inmediatamente, basándose en la información ya proporcionada por el proveedor 110 de contenido y almacenada en el servidor alterno 410 de inserción, la respuesta en la etapa 1430 para el cliente 510 de inserción. Esa respuesta se propaga a la aplicación 150 de cliente en la etapa 1532. Como se apreciará, la respuesta puede incluir los metadatos de canal específicos para el proveedor 110 de contenido. La diferencia en los modelos puede ser dependiente de quién está personalizando los datos para la aplicación. Como se apreciará, el proveedor 110 de contenido proporciona la mejor personalización de contenido comparada con otros elementos de procesamiento. Sin embargo, el proveedor 120 de servicio, a través del servidor alterno 410 de inserción, también puede proporcionar personalización de contenido. Además, como se apreciará, la estructura del contenido puede ser dependiente de los datos que requiere la aplicación. Por ejemplo, en una aplicación financiera, la aplicación puede desear cotizaciones de bolsa de valores y cambio de divisas. El siguiente XML puede utilizarse: <FIN> <quotes> <quote ticker = ABO 18.54 </quote> <quote ticker = XYZ> 123.45 <quote> </quotes> <rates> <rate id = "US-CAN"> 1.15 </rate> <rate id = "US-EURO"> 0.85 </rate> </rates> </FIN> Si el usuario sólo desea cotizaciones y ningún cambio de divisa, la estructura puede cambiar a: <FIN> <quote ticker = ABO 18.54 </quote> <quote ticker = XYZ> 123.45 </quote> </FIN> Los metadatos pueden proporcionar información a la aplicación sobre la estructura de los datos que se están pasando . De este modo, existen dos modelos. Los metadatos estáticos pueden proporcionarse al servidor alterno 410 de inserción y al cliente 510 de inserción ya sea durante el registro o después. Alternativamente, los metadatos para el servidor alterno 410 de inserción y el cliente 510 de inserción pueden pre-aprovisionarse , es decir, la información se almacena en un cliente de inserción o servidor alterno de inserción hasta que una aplicación se registra con un cliente . Ahora se hace referencia a la Figura 15. La Figura muestra etapas lógicas que se presentan con el registro de una aplicación con cliente 510 de inserción. Una vez que una aplicación se registra con el cliente 510 de inserción, una primera etapa 1510 es correlacionar la aplicación registrada con el tipo de contenido requerido por la aplicación. Esto se conoce a partir del manifiesto 918 de aplicación como se ilustra en la Figura 9. Una segunda etapa 1520 es establecer el ambiente para la aplicación. Este incluye pero no se limita a opciones de almacenamiento y distribución para la aplicación. Por ejemplo, una aplicación puede limitar las transmisiones a una cantidad predeterminada de datos. El cliente 510 de inserción es un evento de control de flujo, o si la aplicación o cliente está fuera de alcance, puede requerir el guardado en memoria caché de los datos para la aplicación y opcionalmente notificar a la aplicación qué datos están esperando.
Una tercera etapa 1530, es notificar al servidor alterno 410 de inserción de los ajustes de aplicación. Esto incluye por ejemplo almacenamiento disponible para la aplicación o cliente 510 de inserción. Como se apreciará, el servidor alterno 410 de inserción no debe insertar más datos de los que puede almacenar el cliente 510 de inserción. De este modo, los ajustes de aplicación pueden incluir un limite superior de los datos que se pasan. Con referencia a las Figuras 4 y 5, esto puede invocar al bloque 464 de fragmentación de contenido para fragmentar el contenido si es mayor que la aplicación que puede procesar. También, si los datos no son lineales, se puede requerir que el bloque 462 de dependencias de contenido cree metadatos para el bloque 564 de dependencias de contenido de la Figura 5 para permitir que el bloque 564 de dependencias de contenido reconstituya los datos . Con referencia nuevamente a la Figura 15, la etapa 1530 también puede indicar preferencias sobre la distribución de los datos. Por ejemplo, la aplicación puede preferir ciertos tipos de datos sobre otros y a estos tipos de datos se les puede dar prioridad. De este modo, la etapa 1530 puede utilizarse para establecer un programa de distribución donde los datos de tipo "A" se distribuyen inmediatamente mientras los datos de tipo "B" pueden distribuirse en un momento diferido.
Ahora se hace referencia a la Figura 16. Cuando un proveedor 110 de contenido se registra con un servidor alterno 410 de inserción, se realizan varias etapas. Una primera etapa 1610 incluye analizar los ajustes de cliente requeridos para el almacenamiento y distribución de contenido. Esto puede utilizarse por ejemplo, para la publicidad de servicio para poder identificar clientes 510 de inserción sobre dispositivos capaces de consumir contenido del proveedor 110 de contenido. Una segunda etapa 1620 permite que el servidor alterno 410 de inserción establezca el ambiente, que incluye almacenamiento de servidores alternos, opciones de distribución, opciones de transformación, entre otras. En la etapa 1630, el servidor alterno 410 de inserción puede comprobar si la aplicación ya se registró para obtener contenido de un proveedor 110 de contenido. Si éste es el caso, la aplicación está lista para recibir contenido y una notificación del servidor alterno 410 de inserción para el proveedor 110 de contenido de que el canal de distribución se establece y la aplicación está lista para que el contenido pueda enviarse. La etapa 1630 puede presentarse, por ejemplo, si una aplicación se preinstala en un dispositivo antes de que el proveedor 110 de contenido entre en linea. De este modo, la aplicación está esperando que el proveedor 110 de contenido se vuelva disponible o la aplicación sea de tipo genérico (por ejemplo, navegador o Visualizador de RSS) y sea capaz de consumir información de múltiples proveedores de contenido. En un ajuste alternativo, si el proveedor 110 de contenido ya está disponible antes de que la aplicación se instale, la etapa 1530 de notificación de la Figura 15 puede utilizarse para iniciar el inicio de contenido para fluir desde el proveedor 110 de contenido hasta una aplicación 150 de cliente. Como se apreciará con referencia a la Figura 16, los ajustes de cliente pueden incluir cierta información tal como el tamaño de almacenamiento disponible utilizado para la división de contenido, el tamaño de la cola utilizado para el control de flujo, la programación de distribución que incluye un intervalo de inserción, si el cliente está recuperando información del servidor alterno, crear un modo de seudo-inserción, opciones de personalización tal como el tamaño de la pantalla de un dispositivo móvil, entre otros. Como se apreciará además, los catálogos de servicio pueden diferir para diferentes clientes. Por ejemplo, ciertos clientes pueden ser capaces de utilizar más datos, tener un tamaño de pantalla diferente u otras condiciones que hacen al cliente más adecuado para un proveedor 110 de contenido que un dispositivo que no puede manejar esta cantidad de información, y un tamaño de pantalla más pequeño, etc. De este modo, el servidor alterno 410 de inserción puede crear un catálogo de servicio para aplicaciones de cliente especificas basándose en el conocimiento de estas aplicaciones de cliente, y solamente aquellos dispositivos con esa aplicación 150 de cliente instalada pueden recibir información con respecto al proveedor de contenido. Como se apreciará adicionalmente , en algunos casos, la aplicación puede instalarse basándose en un proveedor de servicio y proveedor de contenido sin intervención del usuario. Por ejemplo, si el proveedor 110 de contenido se registra con el servidor alterno 410 de inserción, un usuario de un dispositivo móvil puede tener una obligación de contrato para aceptar una cierta aplicación. De este modo, el servidor alterno 410 de inserción puede notificar al cliente 510 de inserción que está listo para instalar una aplicación e insertar la aplicación en el cliente 510 de inserción. Esto por ejemplo, puede incluir un usuario que ha estado de acuerdo en recibir un cierto número de anuncios cada mes para poder obtener una tarifa preferida sobre su plan móvil. El proveedor 110 de contenido puede ser un proveedor de anuncios y el servidor alterno 410 de inserción puede insertar por lo tanto una aplicación de visualización de publicidad en el cliente 510 de inserción, el cual puede ser servido por un instalador de aplicación registrado con el cliente 410 de inserción, haciendo por consiguiente que el proveedor 110 de contenido y el proveedor 120 de servicio dirijan totalmente el proceso. Lo anterior por lo tanto proporciona un modelo de registro insertable en una estructura de inserción donde cada aplicación o proveedor de contenido se registra y proporciona un manifiesto de aplicación o manifiesto de servicio respectivamente. El manifiesto de aplicación o el manifiesto de servicio se utilizan para establecer los metadatos de canal en el servidor alterno 410 de inserción y el cliente 510 de inserción ya sea durante el registro o después. Después de esto, cuando una aplicación 150 se registra y un proveedor 110 de contenido se registra, el contenido puede comenzar a fluir entre la aplicación 150 y el proveedor 110 de contenido. Con referencia a las Figuras 4 y 5, los metadatos de canal se almacenan en un depósito 470 y 570 de metadatos de canal. Sin embargo, también es ventajoso almacenar metadatos dinámicos en los diversos elementos de procesamiento dentro de la arquitectura 100 si se repiten los metadatos dinámicos. Como se apreciará, esto ahorrará procesamiento sobre el servidor alterno 410 de inserción puesto que el extractor 450 de metadatos actual no necesita extraer los mismos metadatos una y otra vez. Además, el procesamiento por varios módulos, tal como el módulo 466 ó 566 de expiración de contenido y reemplazo no necesitan actualizarse por cada pieza de contenido que se pasa. Puesto que el servidor alterno 410 de inserción puede estar trabajando con un gran número de clientes 510 de inserción, este ahorro de procesamiento para cada mensaje de contenido puede ser importante. Además, el ancho de banda puede ahorrarse al no tener que pasar los metadatos sobre una linea fija entre el proveedor 110 de contenido y el servidor alterno 410 de inserción o sobre el aire entre el servidor alterno 410 de inserción y el cliente 510 de inserción. Ahora se hace referencia a la Figura 17. La Figura 17 ilustra un ejemplo de un flujo de tiempo de ejecución donde su última versión de metadatos se almacena por el elemento de procesamiento. Como se ve en la Figura 17, el proveedor 110 de contenido proporciona un sobre de contenido que incluye el contenido [Ci+M (p, c, a) i] . Esto quiere decir que una primera carga útil de contenido se está enviando junto con los metadatos que incluyen metadatos de servidor alterno, metadatos de cliente y metadatos de aplicación. Esto se envía en la etapa 1710. En la etapa 1712, el servidor alterno 410 de inserción utiliza los metadatos de servidor alterno como se ilustra por la frase "use M(p)i". Además, en la etapa 1714, el contenido más los metadatos que incluyen los metadatos de cliente y los metadatos de aplicación se pasan al cliente 510 de inserción. En la etapa 1716, el cliente 510 de inserción utiliza los metadatos de cliente y además en la etapa 1718, pasa la carga útil de contenido a la aplicación 150 de cliente. La aplicación 150 de cliente utiliza, en la etapa 1720, los metadatos de aplicación y además consume la carga útil de contenido. Como se ve en la etapa 1722, una segunda carga útil de contenido, designada por C2, tiene los mismos metadatos que la primera carga útil de contenido. Debido a que cada elemento de procesamiento, particularmente el servidor alterno 410 de inserción, el cliente 510 de inserción y la aplicación 150 de cliente, guardó en memoria caché los metadatos para el proveedor 110 de contenido, los metadatos no necesitan pasarse una vez más ya que de hecho residen ya en el elemento de procesamiento. Después de esto, en la etapa 1724, el servidor alterno 410 de inserción utiliza metadatos que se guardaron previamente en memoria caché para el servidor alterno 410 de inserción. Similarmente , en las etapas 1726 y 1728, el cliente 510 de inserción utiliza los metadatos de cliente y la aplicación 150 de cliente utiliza los metadatos de aplicación respectivamente. El contenido se pasa, sin metadatos, en las etapas 1725 y 1727. Como se ilustra en la etapa 1740, el contenido puede tener nuevos metadatos para el cliente 510 de inserción y la aplicación 150 de cliente, pero pueden mantener los metadatos antiguos para el servidor alterno 410 de inserción. En este caso, los metadatos que se pasan en la etapa 1740 incluyen sólo metadatos de cliente y metadatos de aplicación. En la etapa 1742, el servidor alterno 410 de inserción utiliza los metadatos de servidor alterno guardados en memoria caché y pasa la carga útil de contenido junto con los nuevos metadatos de cliente y los metadatos de aplicación en la etapa 1744. En la etapa 1746, el cliente 510 de inserción utiliza los nuevos metadatos de cliente que se pasaron al mismo y además pasa la carga útil de contenido y los metadatos de aplicación en la etapa 1748. En la etapa 1750, la aplicación de cliente utiliza los nuevos metadatos de aplicación y además consume la carga útil de contenido. Como se apreciará por aquellos con experiencia en la técnica, varias configuraciones pueden existir con respecto a cuáles metadatos han cambiado y cuáles metadatos siguen siendo iguales, y solamente los metadatos que han cambiado se pasan al elemento de procesamiento que los requiere. Como se apreciará por aquellos con experiencia en la técnica, el elemento de procesamiento, si no recibe nuevos metadatos, regresa los metadatos guardados en memoria caché que ha almacenado y utiliza éstos en la carga útil de contenido . En una modalidad alternativa adicional, los cambios en incremento también pueden hacerse a los metadatos. Por ejemplo, en la etapa 1760, una nueva carga útil de contenido junto con una versión de metadatos delta puede pasarse al servidor alterno 410 de servicio. La delta de los metadatos de servidor alterno puede incluir una diferencia entre los metadatos de servidor alterno previamente pasados y los metadatos actuales con los que debe procesarse el contenido. El servidor alterno 410 de inserción formula los metadatos al agregar los metadatos previos con la delta y después utilizar éstos para procesar la carga útil de contenido en la etapa 1762. Después de esto, puesto que no ha existido ningún cambio, en la etapa 1764 la carga útil de contenido se envía por sí misma y en la etapa 1766, el cliente 510 de inserción utiliza los metadatos de cliente previamente guardados en memoria caché. El cliente de inserción entonces pasa la carga útil de contenido en la etapa 1768 a la aplicación 150 de cliente, la cual utiliza los metadatos de ubicación previamente guardados en memoria caché sobre la carga útil de contenido en la etapa 1770 y después consume la carga útil de contenido . Un ejemplo de dónde los datos en incremento pueden utilizarse es una situación en la cual un proveedor de contenido dice al servidor alterno que de los campos existentes dentro de la carga útil de contenido, 30 deben extraerse para enviar a la aplicación 150 de cliente. En una transacción subsiguiente, dos campos adicionales que son importantes para esa pieza de carga útil de contenido pueden considerarse necesarios para pasarse a la aplicación 150 de cliente por el proveedor 110 de contenido. El proveedor de contenido por lo tanto, utilizando un cambio en incremento, puede decir al servidor alterno de inserción que extraiga los dos campos adicionales y los agregue a los 30 campos que se extrajeron previamente. Al hacer que sólo pase la delta, es decir, los dos campos adicionales, el tiempo de procesamiento para extraer los metadatos en el servidor alterno 410 de inserción se reduce, optimizando asi el proceso. Como se apreciará adicionalmente, los metadatos pueden venir en varias formas. Pueden compilarse como código natural o código interpretado tal como Java o C#. Los metadatos también pueden ser un archivo de datos/propiedades que indica utilizar ciertas propiedades. En otra modalidad alternativa, puede ser contenido binario, por ejemplo una transformación tal como una transformación de XSLT en un documento de XML . Lo anterior puede utilizarse para varias aplicaciones para proporcionar inteligencia para el contenido que se transfiere a una aplicación de cliente especifica. También puede proporcionar proveedores de contenido rico que pueden proporcionar contenido para varias aplicaciones basándose solamente en los metadatos que se proporcionan con sus datos. Esto puede ilustrarse por medio del ejemplo en la Figura 18. Un proveedor 110 de contenido por ejemplo, puede ser un vendedor de libros en linea. Una aplicación puede registrarse con el vendedor de libros en linea para indicar que el vendedor de libros en linea desea ser informado de nuevas puestas en circulación de un género especifico. Esto puede presentarse en una base diaria o semanal o mensual. El proveedor 110 de contenido, por ejemplo en una base semanal enviará un sobre 1810 de contenido que tiene una lista 1812 de libros, al servidor alterno 410 de inserción. También puede enviar metadatos 1814 de transformación, los cuales por ejemplo, pueden ser un enlace de URL para transformar el contenido especifico basándose en la aplicación que recibe. En una modalidad, la lista 1812 de libros puede incluir numerosos libros, descripciones de cada libro que incluyen el autor y una sinopsis del libro. El archivo por ejemplo, puede ser de 100 KB de tamaño. El servidor alterno 410 de inserción puede recibir este gran archivo y puede darse cuenta, basándose en la aplicación de cliente que es servida, que una transformación para el archivo de contenido grande necesita hacerse para poder adaptar mejor al cliente que sólo puede ser capaz de recibir, por ejemplo 10 Kilobytes de información. La transformación que se pasa como metadatos de servidor alterno puede aplicarse por lo tanto a la lista de libros para reducir la lista de libros a un documento 1820 modificado de 10 KB. Por ejemplo, esto puede hacerse al eliminar la sinopsis, clasificar los libros y solamente incluir los 50 primeros u otras transformaciones como puede ser evidente para aquellos con experiencia en la técnica. Una vez que está completa la transformación, el documento 1820 modificado entonces se envía al cliente 510 de inserción . Además, el almacén 452 de mensajes de recuperación diferida, como se ve en la Figura 4, puede utilizarse para almacenar el contenido extra que se descompuso en el proceso de transformación. La ventaja de lo anterior es que el vendedor de libros puede tener un sitio y enviar una lista a todos sus clientes. Puesto que varios clientes no serán clientes inalámbricos móviles, el archivo de 100 KB puede ser apropiado para estos clientes. También al proporcionar los metadatos de transformación, el vendedor de libros puede tener una lista que envía a cada uno. Como se apreciará por aquellos con experiencia en la técnica, tecnologías web más actuales requieren de un sitio web separado para un cliente móvil, y esto se supera por la solución anterior. Lo anterior también se presta para un modelo de afiliación y ahora se hace referencia a la Figura 19. Como se apreciará por aquellos con experiencia en la técnica, un dispositivo móvil puede no desear recibir grandes cantidades de datos cuando las condiciones de red no son óptimas para la recepción de grandes cantidades de datos. Además, los operadores de red pueden desear evitar enviar grandes cantidades de datos durante periodos pico de uso de ancho de banda para poder propagar el tráfico de red más uniformemente con el tiempo. Esto puede lograrse utilizando el modelo de inserción/extracción como se ilustra en la Figura 19. Como se describe con referencia a la Figura 4 anterior, el contenido puede proporcionarse para que incluya más información que el usuario pueda necesitar actualmente. Por ejemplo, si el usuario solicita información de ubicación sobre restaurantes dentro de su área, un proveedor de servicio puede desear agregar publicidad tal como otros servicios disponibles en el área. Sin embargo, el proveedor de servicio puede no desear insertar este contenido adicional inmediatamente al usuario, sino de hecho proporcionar una guía tal como un encabezado o una tabla de contenido que muestre el contenido adicional. En otras situaciones, el contenido puede ser demasiado grande para enviar al usuario, y el usuario puede recibir sólo la primera parte del contenido y el resto del contenido se almacena en un almacén 452 de mensajes de recuperación diferida. Después de esto, el contenido almacenado puede pasarse al cliente 510 de inserción ya sea mediante el servidor alterno 410 de inserción o cuando fuese pedido por el cliente 510 de inserción. El cliente 510 de inserción incluye un monitor 1910 de estado de red que puede monitorear el estado de la red. El cliente 510 de inserción puede desear recibir solamente datos extras en ciertas condiciones. Por ejemplo, en un dispositivo móvil híbrido que tiene una opción de iFi y celular, es más barato proporcionar datos en la conexión de WiFi, y de este modo el monitor 1910 de estado de red puede esperar hasta que el cliente 510 de inserción se conecte a una red de WiFi antes de obtener el contenido diferido. Alternativamente, el monitor de estado de red puede comprobar si el cliente está realizando itinerancia en una red foránea o conectada a la red local para poder minimizar los cargos por itinerancia. El monitor de estado de red también puede comprobar para ver si un canal de datos dedicado se establece para el dispositivo. Alguien con experiencia en la técnica se dará cuenta que el monitor 1910 de estado de red también puede comprobar otras diversas condiciones en la red antes de solicitar que los datos diferidos sean pasados al cliente 510 de inserción. Una red 130 inalámbrica también puede proporcionar información a cualquiera o ambos del cliente 510 de inserción y el servidor alterno 410 de inserción con respecto a los costos de la distribución de los datos. Como se apreciará por aquellos con experiencia en la técnica, varios periodos pico se presentan para la distribución de contenido. En el caso de información de tráfico, los periodos pico pueden estar al comienzo y final del dia de trabajo cuando las personas vienen y van del trabajo. Para cotizaciones de bolsa de valores, el periodo pico puede ser durante el momento en que se abre el mercado. Otros periodos pico existirán. Para poder promediar el tráfico de datos, puede ser deseable que la red cargue diferentes tarifas basándose en el uso de datos actuales en la red. De este modo, durante periodos pico una mayor tarifa puede cargarse que en un periodo no pico tal como a la mitad de la noche. La red 130 inalámbrica por lo tanto proporciona notificaciones de costo de distribución a un gestor 552 de recuperación diferida en un cliente 510 de inserción y al programador 454 de inserción en el servidor alterno 410 de inserción. En una modalidad, los datos del proveedor 110 de contenido y el paso al servidor alterno 410 de inserción pueden clasificarse basándose en su importancia para el cliente. Cierta información puede designarse a través de metadatos que se distribuyen inmediatamente. Otra información puede designarse para distribuirse cuando el costo de la red sea menor que un primer valor (por ejemplo 100 por megabyte) y otros datos pueden designarse para distribuirse cuando los costos de la red caigan por debajo de un segundo valor (por ejemplo, 50 por megabyte) . De este modo, el programador 454 de inserción considera los datos que se almacenan en el almacén 452 de mensajes de recuperación diferida e instruye al agente 444 de inserción que pase los datos diferidos al agente 544 de inserción en el cliente 510 de inserción. Alternativamente, el gestor 552 de recuperación diferida también puede monitorear las condiciones de red como enviadas desde la red 130 inalámbrica y si la proporción de datos es baja, pedir que el intermediario 554 de extracción de contenido traiga el contenido del almacén 452 de mensajes de recuperación diferida. Alternativamente, el gestor 552 de recuperación diferida puede ver que el estado de la red es favorable para extraer grandes cantidades de datos, tal como si el dispositivo móvil se hubiera conectado con una red de WiFi, y pide al intermediario 554 de extracción de contenido extraer los datos del almacén 452 de mensajes de recuperación diferida.
Como se apreciará adicionalmente , un usuario siempre puede solicitar que se le extraiga el contenido. De este modo, la solicitud 1940 de usuario también podría utilizarse para activar el intermediario 554 de extracción de contenido para extraer los datos del almacén 452 de mensajes de recuperación diferida. Las reglas almacenadas en el programador 454 de inserción y el gestor 552 de recuperación diferida pueden ser metadatos estáticos basados en una clasificación de contenido. Las reglas también pueden basarse en los metadatos dinámicos para los datos particulares que se han pasado. En este caso, el proveedor 110 de contenido ha clasificado los datos . Ahora se hace referencia a la Figura 20. Como se apreciará por aquellos con experiencia en la técnica, los datos pueden ser una de dos formas, lineal o no lineal. Los datos lineales por ejemplo, pueden ser series o cadenas o contenido que fluyen en una forma lineal. Los datos no lineales, inversamente, son datos que no se refieren linealmente entre sí y pueden incluir dependencias complejas, pares de contenido o enlaces. Para el contenido lineal, la fragmentación simplemente involucra la descomposición de los datos en varios componentes basados en el avance lineal. Los datos se dividen en segmentos, y los segmentos se distribuyen al cliente 410 de inserción. Como se indica en la Figura 20, el procesador 2010 de fragmentación interactúa con el contenido 2012 y decide que el contenido puede analizarse con avance lineal. El procesador 2010 de fragmentación después divide los datos en segmentos 2014, 2016 y 2018 en el ejemplo de la Figura 20, y como se ilustra en la Figura 20, pasa el primer segmento 2014 mientras difiere el paso del segundo y tercer segmentos 2016 y 2018 respectivamente. El módulo 2030 de manejo de cursor está al tanto de qué segmento se ha distribuido y distribuye el siguiente segmento en orden. Con referencia a la Figura 21, el contenido no lineal necesita dividirse en una forma más inteligente. Además, en el otro extremo, para poder reconstituir los segmentos se requieren dos metadatos. Un procesador 2110 de fragmentación analiza el contenido basándose en un análisis basado en metadatos. Éstos podrían incluir mantener ciertos segmentos o elementos de datos juntos si se requiere lógicamente. El procesador 2110 de fragmentación analiza el contenido 2112 y divide el contenido en segmentos basándose en reglas lógicas. Cada segmento incluye el contenido más los metadatos que incluyen por ejemplo, dependencias, mapas y reglas de navegación para cada segmento. Una vez dividido, un primer segmento 2114 se envía al cliente 510 de inserción y el paso del resto de los segmentos 2116 y 2118 se difiere como se ilustra en la Figura 21. El bloque 2130 de navegación de segmento se encarga de qué segmento enviará después. Como se apreciará por aquellos con experiencia en la técnica, el primer segmento 2114 incluye una porción de datos y una porción de metadatos. La porción de metadatos del segmento 2114 es una capa de metadatos que se agrega por el procesador 2110 de fragmentación para indicar al módulo 546 de dependencia de contenido cómo reconstituir el contenido. La porción de datos del primer segmento 2114 puede incluir contenido y metadatos asociados con el canal o con el contenido. El bloque 2130 de navegación de segmento se adapta para procesar cómo un usuario viaja a través de los datos. Por ejemplo, si los datos están en un formato de árbol y el usuario baja una primera rama del árbol, el bloque 2130 de navegación de segmento puede pasar al cliente 410 de inserción otras ramas en el árbol que puedan alcanzarse desde el elemento que el usuario ha navegado. Por ejemplo, un árbol que incluye una base de datos de empleados tiene nombres de empleados junto con una estructura para la corporación. Basándose en la Figura 21, si el usuario navega en un departamento especifico de la organización, el bloque 2130 de navegación de segmentación debe enviar los fragmentos de grupo para grupos con ese departamento. Si el usuario entonces navega en un grupo especifico dentro del departamento, el bloque 2130 de navegación de segmentación entonces puede pasar los fragmentos de información sobre los empleados dentro de ese grupo . Lo anterior por lo tanto requiere que los datos sean divididos en componentes lógicos. Identificadores se asignan a todos los tipos y contenido, e información estructural se crea pasando la información con la guia. Lo anterior por lo tanto proporciona una arquitectura para la distribución de contenido dinámico que puede utilizarse con sistemas genéricos donde aplicaciones y contenido pueden agregarse sin cambiar la estructura del sistema. El contenido puede diseñarse para ajustar la aplicación que recibe, y puede fragmentarse de acuerdo con lo anterior . Como se apreciará, el cliente de inserción y las aplicaciones de cliente pueden residir en cualquier dispositivo móvil. Un dispositivo móvil ejemplar se describe en lo siguiente con referencia a la Figura 22. Esto no quiere decir que sea limitante, pero se proporciona para propósitos ilustrativos . La Figura 22 es un diagrama de bloque que ilustra una estación móvil apta para utilizarse con modalidades preferidas del aparato y método de la presente solicitud. La estación 2200 móvil de preferencia es un dispositivo de comunicación inalámbrica de dos vías que tiene por lo menos capacidades de comunicación de voz y de datos. La estación 2200 móvil de preferencia tiene la capacidad de comunicarse con otros sistemas de cómputo en la Internet. Dependiendo de la funcionalidad exacta proporcionada, el dispositivo inalámbrico puede ser referido como un dispositivo de mensajes de datos, un buscador de dos vías, un dispositivo de correo electrónico inalámbrico, un teléfono celular con capacidades de mensajería de datos, un aparato de Internet inalámbrica, o un dispositivo de comunicación de datos, como ej emplos . Donde la estación 2200 móvil es habilitada para comunicación de dos vías, incorporará un subsistema 2211 de comunicación, que incluye un receptor 2212 y un transmisor 2214, así como componentes asociados tal como uno o más, elementos 2216 y 2218 de antena integrados o internos de preferencia, osciladores 2213 locales (LO) , y un módulo de procesamiento tal como un procesador 2220 digital de señales (DSP) . Como será aparente para aquellos con experiencia en el campo de las comunicaciones, el diseño particular del subsistema 2211 de comunicación será dependiente de la red de comunicación en la cual se pretende operar el dispositivo. Los requerimientos de acceso de red también pueden variar dependiendo del tipo de red 2219. En algunas redes de CDMA, el acceso de red se asocia con un suscriptor o usuario de la estación 2200 móvil. Una estación móvil de CDMA puede requerir una tarjeta de módulo de entidad de usuario removible (RUIM) o módulo de identidad de suscriptor (SIM) para poder operar en una red de CDMA. La interfaz 2244 de SIM/RUIM normalmente es similar a una ranura para tarjeta en la cual una tarjeta de SIM/RUIM puede insertase y ejecutarse como un disco o tarjeta de PCMCIA. La tarjeta de SIM/RUIM puede tener aproximadamente 64K de memoria y contener muchas configuraciones 2251 de clave, y otra información 2253 tal como identificación, e información relacionadas con el suscriptor . Cuando se han completado los procedimientos de registro o activación de red requeridos, la estación 2200 puede enviar y recibir señales de comunicación sobre la red 2219. Como se ilustra en la Figura 22, la red 2219 puede consistir de múltiples estaciones base que se comunican con el dispositivo móvil. Por ejemplo, en un sistema de CDMA lx de EVDO híbrido, una estación base de CDMA y una estación base de EVDO se comunican con la estación móvil y la estación móvil se conecta a ambas simultáneamente. Las estaciones base de EVDO y CDMA lx utilizan diferentes intervalos de búsqueda para comunicarse con el dispositivo móvil. Las señales recibidas por la antena 2216 a través de la red 2219 de comunicación se ingresan en el receptor 2212, el cual puede realizar funciones comunes del receptor como amplificación de señal, conversión descendente de frecuencia, filtración, selección de canales similares, y en el sistema ejemplar mostrado en la Figura 22, conversión de análogo a digital (A/D) . La conversión de A/D de una señal recibida permite funciones de comunicación más complejas tal como desmodulación y descodificación que se realizan en el DSP 2220. En una forma similar, las señales que se transmiten se procesan, incluyendo modulación y codificación por ejemplo, por el DSP 2220 y se ingresan al transmisor 2214 para la conversión de digital a análogo, la conversión ascendente de frecuencia, filtración, amplificación y transmisión sobre la red 2219 de comunicación mediante la antena 2218. DSP 220 no sólo procesa señales de comunicación, sino también proporciona el control del receptor y del transmisor. Por ejemplo, las ganancias aplicadas en las señales de comunicación en el receptor 2212 y el transmisor 2214 pueden controlarse en forma adaptable a través de los algoritmos de control de ganancia automáticos implementados en el DSP 2220. La estación 2200 móvil de preferencia incluye un microprocesador 2238 que controla la operación general del dispositivo. Las funciones de comunicación, que incluyen por lo menos comunicaciones de datos y de voz, se realizan a través del subsistema 2211 de comunicación. El microprocesador 2238 también interactúa con subsistemas adicionales de dispositivo tal como el visualizador 2222, memoria 2224 flash, memoria 2226 de acceso aleatorio (RAM) , subsistemas 2228 de entrada/salida auxiliares (E/S) , puerto 2230 en serie, dos o más teclados o tableros 2232, altavoz 2234, micrófono 2236, otro subsistema 2240 de comunicación tal como un subsistema de comunicación de corto alcance y cualquier otro subsistema de dispositivo generalmente designado como 2242. El puerto 2230 en serie puede incluir un puerto de USB u otro puerto conocido por aquellos con experiencia en la técnica. Algunos de los subsistemas mostrados en la Figura 22 realizan funciones relacionadas con la comunicación, mientras otros subsistemas pueden proporcionar funciones "residentes" o en el dispositivo. Notablemente, algunos subsistemas, tal como el teclado 2232 y el visualizador 2222, por ejemplo, pueden utilizarse para funciones relacionadas con la comunicación, tal como el ingreso de un mensaje de texto para la transmisión sobre una red de comunicación, y las funciones residentes en el dispositivo tales como una calculadora o lista de tareas. El software del sistema operativo utilizado por el microprocesador 2238 se almacena de preferencia en un almacén persistente tal como una memoria 2224 flash, la cual de hecho puede ser una memoria de sólo lectura (ROM) o elemento de almacenamiento similar (no mostrado) . Aquellos con experiencia en la técnica apreciarán que el sistema operativo, las aplicaciones especificas del dispositivo, o partes del mismo pueden cargarse temporalmente en una memoria volátil tal como RAM 2226. Las señales de comunicación recibidas también pueden almacenarse en la RAM 2226. Como se muestra, la memoria 2224 flash puede segregarse en diferentes áreas para los programas 2258 de cómputo y el almacén 2250, 2252, 2254 y 2256 de datos de programación. Estos diferentes tipos de almacenamiento indican que cada programa puede asignar una posición de la memoria 2224 flash para sus propios requerimientos de almacenamiento de datos. El microprocesador 2238, además de sus funciones del sistema operativo, de preferencia permite la ejecución de aplicaciones de software en la estación móvil. Un conjunto predeterminado de aplicaciones que controla las operaciones básicas, que incluye por lo menos aplicaciones de comunicación de datos y voz por ejemplo, normalmente se instalará en la estación 2200 móvil durante la fabricación. Otras aplicaciones pueden instalarse subsiguiente o dinámicamente. Una aplicación de software preferida puede ser una aplicación del administrador de información personal (PIM) que tiene la capacidad de organizar y manejar elementos de datos que se refieren al usuario de la estación móvil tal como, pero no limitados a correo electrónico, eventos de calendario, correos de voz, citas y elementos de tarea. Naturalmente, uno o más almacenes de memoria pueden estar disponibles en la estación móvil para facilitar el almacenamiento de los elementos de datos de PIM. Tal aplicación de PIM puede tener de preferencia la capacidad de enviar y recibir elementos de datos, mediante la red 2219 inalámbrica. En una modalidad preferida, los elementos de datos de PIM se integran continuamente, se sincronizan y actualizan mediante la red 2219 inalámbrica, con los elementos de datos correspondientes del usuario de la estación móvil almacenados o asociados con un sistema de cómputo central. Aplicaciones adicionales pueden cargarse también en la estación 2200 móvil a través de la red 2219, un subsistema 2228 de E/S auxiliar, el puerto 2230 en serie, el subsistema 2240 de comunicación de corto alcance, o cualquier otro subsistema 2242 adecuado e instalado por un usuario en la RAM 2226 o de preferencia en un almacén no volátil (no mostrado) para la ejecución por el microprocesador 2238. Tal flexibilidad en la instalación de aplicación incrementa la funcionalidad del dispositivo y puede proporcionar funciones mejoradas en el dispositivo, funciones relacionadas con la comunicación, o ambas. Por ejemplo, las aplicaciones de comunicación seguras pueden permitir que funciones de comercio electrónico y otras transacciones financieras se realicen utilizando la estación 2200 móvil. En un modo de comunicación de datos, una señal recibida tal como mensaje de texto o página web descargada se procesará por el subsistema 2211 de comunicación y se ingresará al microprocesador 2238, que de preferencia procesa además la señal recibida para su salida en el visualizador 2222, o alternativamente un dispositivo 2228 de E/S auxiliar. Un cliente 2260 de inserción que puede ser equivalente a los clientes 140 y 510 de inserción, también puede procesar la entrada. Un usuario de la estación 2200 móvil también puede compensar elementos de datos tal como mensajes de correo electrónico por ejemplo, utilizando el teclado 2232, el cual de preferencia es un teclado alfanumérico completo o un teclado tipo teléfono, junto con el visualizador 2222 y posiblemente un dispositivo 2228 de E/S auxiliar. Tales elementos compuestos pueden entonces transmitirse sobre una red de comunicación a través de un subsistema 2211 de comunicación . Para comunicaciones de voz, la operación general de la estación 2200 móvil es similar, excepto que las señales recibidas de preferencia pueden ser producidas en un altavoz 2234 y las señales para la transmisión pueden generarse por un micrófono 2236. Los subsistemas de E/S de voz o de audio alternativos, tal como un subsistema de grabación de mensajes de voz, también pueden implementarse en la estación 2200 móvil. Aunque la salida de señal de voz o de audio de preferencia se logra principalmente a través del altavoz 2234, el visualizador 2222 también puede utilizarse para proporcionar unificación de la entidad de una parte que llama, la duración de una llamada de voz, u otra información relacionada con la llamada de voz, por ejemplo. El puerto 2230 en serie de la Figura 22, normalmente puede implementarse en una estación móvil de tipo asistente digital personal (PDA) para cuya sincronización con una computadora de escritorio de usuario (no mostrada) puede ser deseable, pero es un componente opcional del dispositivo. Tal puerto 2230 puede ser incapaz de establecer las preferencias del usuario a través de un dispositivo externo o aplicación de software y puede extender las capacidades de la estación 2200 móvil al proporcionar información o descarga de software a la estación 2200 móvil diferente a través de una red de comunicación inalámbrica. La trayectoria de descarga alternativa por ejemplo puede utilizarse para cargar una clave de encriptación sobre el dispositivo a través de una conexión directa y de este modo fiable y confiable para permitir por consiguiente una comunicación segura del dispositivo. Como se apreciará por aquellos con experiencia en la técnica, el puerto 2230 en serie además puede utilizarse para conectar el dispositivo móvil a una computadora para actuar como un módem. Otros subsistemas 2240 de comunicación, tal como un subsistema de comunicación de corto alcance, es un componente opcional adicional que puede proporcionar comunicación entre la estación 2200 móvil y diferentes sistemas o dispositivos, que no necesariamente deben ser dispositivos similares. Por ejemplo, el subsistema 2240 puede incluir un dispositivo infrarrojo y circuitos asociados y componentes o un módulo de comunicación Bluetooth™ para proporcionar comunicación con sistemas y dispositivos habilitados similarmente . Las modalidades descritas en la presente son ejemplos de estructuras, sistemas o métodos que tienen elementos que corresponden con elementos de la técnica de esta solicitud. Esta descripción descrita puede permitir que aquellos con experiencia en la técnica hagan y utilicen las modalidades que tienen elementos alternativos que de igual forma corresponden con los elementos de las técnicas de esta solicitud. El alcance pretendido de las técnicas de esta solicitud de este modo incluyen otras estructuras, sistemas o métodos que no difieren de las técnicas de esta solicitud como se describe en la presente, y que además incluyen otras estructuras, sistemas o métodos con diferencias insustanciales de las técnicas de esta solicitud como se describe en la presente.

Claims (20)

  1. REIVINDICACIONES 1. Un servidor alterno de inserción para su uso en un sistema de distribución de contenido dinámico genérico, caracterizado porque comprende: una interfaz de proveedor de servicio de registro de proveedor de contenido, la interfaz de proveedor de servicio adaptada para registrar el servidor alterno de inserción con proveedores de contenido y para recibir adicionalmente metadatos de canal para los proveedores de contenido; un depósito de metadatos de canal, el depósito de metadatos de canal adaptado para almacenar los metadatos de canal recibidos de los proveedores de contenido; un módulo de memoria caché y extractor de metadatos de contenido, el módulo de memoria caché y extractor de metadatos de contenido se adapta para extraer metadatos para el servidor alterno de inserción de un contenedor y el sobre de metadatos recibido de los proveedores de contenido, la memoria caché de extracción de metadatos de contenido además se adapta para guardar en memoria caché los metadatos en el servidor alterno de inserción; un módulo de fragmentación de contenido, el módulo de fragmentación de contenido adaptado para descomponer una envoltura de contenido y metadatos en segmentos; un módulo de almacenamiento de mensajes de recuperación diferida, el módulo de almacenamiento de mensajes de recuperación diferida adaptado para almacenar una envoltura de contenido o uno o más segmentos del módulo de fragmentación de contenido; un módulo de expiración de contenido y reemplazo, el módulo de expiración de contenido y reemplazo adaptado para expirar contenido almacenado en el almacén de mensajes de recuperación diferida o para reemplazar contenido almacenado en el almacén de mensajes de recuperación diferida; un módulo de dependencias de contenido, el módulo de dependencias de contenido adaptado para proporcionar selección de cliente de inserción para anunciar un servicio en; un programador de inserción, el programador de inserción adaptado para programar la inserción de una envoltura de contenido almacenada en el almacén de mensajes de recuperación diferida; y un módulo de suscripción y reglas, el módulo de suscripción y reglas adaptado para mantener una suscripción entre una aplicación y el proveedor de contenido y mantener una lista de reglas para la suscripción.
  2. 2. El servidor alterno de inserción de conformidad con la reivindicación 1, caracteri ado además porque comprende agentes de inserción para insertar envolturas de contenido y metadatos en un cliente de inserción.
  3. 3. El servidor alterno de inserción de conformidad con la reivindicación 1 ó 2, caracterizado además porque comprende un módulo de manejo de control de flujo, el módulo de manejo de control flujo adaptado para recibir mensajes de control de flujo del cliente de inserción y comenzar o detener la inserción de envolturas de contenido y metadatos.
  4. 4. El servidor alterno de inserción de conformidad con cualquiera de las reivindicaciones 1 a 3, caracterizado además porque comprende intermediarios de mensajes y colas de distribución para almacenar y manejar envolturas de contenido y metadatos.
  5. 5. El servidor alterno de inserción de conformidad con cualquiera de las reivindicaciones 1 a 4, caracterizado porque el servidor alterno de inserción se adapta para registrar sólo un proveedor de contenido.
  6. 6. El servidor alterno de inserción de conformidad con cualquiera de las reivindicaciones 1 a 4, caracterizado porque el servidor alterno de inserción se adapta para registrar múltiples proveedores de contenido.
  7. 7. El servidor alterno de inserción de conformidad con cualquiera de las reivindicaciones 1 a 6, caracterizado además porque comprende un módulo de almacenamiento de contenido para almacenar contenido.
  8. 8. El servidor alterno de inserción de conformidad con cualquiera de las reivindicaciones 1 a 7, caracterizado además porque comprende un módulo de administración de servicio para administrar el servidor de inserción.
  9. 9. Un cliente de inserción para su uso en una arquitectura de distribución de contenido dinámico, el cliente de inserción caracterizado porque comprende: una interfaz de proveedor de aplicación de registro de aplicación adaptada para registrar aplicaciones en el cliente de inserción y además adaptada para recibir un manifiesto de aplicación para las aplicaciones, el manifiesto de aplicación contiene metadatos de canal; un depósito de metadatos de canal adaptado para almacenar metadatos de canal recibidos de la aplicación; medios de comunicación, tales medios de comunicación adaptados para recibir una envoltura de contenido y metadatos de un servidor alterno de inserción; módulo de memoria caché y extractor de metadatos de contenido, el módulo de memoria caché y extractor de metadatos de contenido se adapta para extraer metadatos para el cliente de inserción del sobre de contenido y metadatos y además se adapta para guardar en memoria caché los metadatos en el cliente de inserción; un gestor de recuperación diferida adaptado para programar recuperación de contenido del servidor alterno de inserción aún no recibido por el cliente de inserción; un módulo de dependencias de contenido adaptado para reconstituir contenido previamente descompuesto en segmentos ; un módulo de expiración de contenido y reemplazo, el módulo de expiración de contenido y reemplazo adaptado para expirar contenido almacenado en el cliente de inserción o para reemplazar contenido almacenado en el cliente de inserción; un bloque de notificación de actualización, el bloque de notificación de actualización adaptado para trabajar con las aplicaciones para notificar a las aplicaciones que el nuevo contenido está esperándolas; un bloque de manejo de suscripción, el bloque de manejo de suscripción adaptado para manejar suscripciones entre la aplicación y el proveedor de contenido; un intermediario de extracción adaptado para extraer contenido cuando se requiera por el cliente de inserción, el intermediario de extracción es impulsado por el gestor de recuperación diferida, donde el cliente de inserción se adapta para registrar aplicaciones genéricas y recibir el tipo de contenido genérico del proveedor de contenido.
  10. 10. El cliente de inserción de conformidad con la reivindicación 9, caracterizado además porque comprende agentes de inserción para recibir envolturas de contenido y metadatos del servidor alterno de inserción.
  11. 11. El cliente de inserción de conformidad con la reivindicación 9 ó 10, caracterizado además porque comprende un módulo de manejo de control de flujo, el módulo de manejo de control flujo adaptado para enviar mensajes de control de flujo al servidor alterno de inserción para comenzar o detener la inserción de envolturas de contenido y metadatos.
  12. 12. El cliente de inserción de conformidad con cualquiera de las reivindicaciones 9 a 11, caracterizado además porque comprende intermediarios de mensajes y colas de distribución para almacenar y manejar envolturas de contenido y metadatos .
  13. 13. El cliente de inserción de conformidad con cualquiera de las reivindicaciones 9 a 12, caracterizado porque el cliente de inserción se adapta para registrarse con sólo una aplicación.
  14. 14. El cliente de inserción de conformidad con cualquiera de las reivindicaciones 9 a 12, caracterizado porque el cliente de inserción se adapta para registrarse con múltiples proveedores de contenido.
  15. 15. El cliente de inserción de conformidad con cualquiera de las reivindicaciones 9 a 14, caracterizado además porque comprende un módulo de almacenamiento de contenido para almacenar contenido.
  16. 16. El cliente de inserción de conformidad con cualquiera de las reivindicaciones 9 a 15, caracterizado además porque comprende un módulo de administración de servicio para administrar el cliente de inserción.
  17. 17. El cliente de inserción de conformidad con cualquiera de las reivindicaciones 9 a 16, caracterizado porque el cliente de inserción además comprende un módulo de procesamiento de actualización de antecedentes adaptado para realizar actualizaciones de antecedentes para aplicaciones no conectadas con el cliente de inserción.
  18. 18. El cliente de inserción de conformidad con cualquiera de las reivindicaciones 9 a 17, caracterizado porque el módulo de notificación de actualización se adapta para almacenar contenido para las aplicaciones en ubicaciones predeterminadas .
  19. 19. El cliente de inserción de conformidad con cualquiera de las reivindicaciones 9 a 17, caracterizado porque la notificación de actualización envía un mensaje a la aplicación de cliente que los datos se han almacenado en las ubicaciones predeterminadas.
  20. 20. El cliente de inserción de conformidad con cualquiera de las reivindicaciones 9 a 17, caracterizado porque la notificación de actualización envía la envoltura de contenido y metadatos a las aplicaciones. RESUMEN Un servidor alterno de inserción y cliente de inserción para su uso en un sistema genérico de distribución de contenido dinámico, el servidor alterno de inserción tiene: una interfaz de proveedor de servicio de registro de proveedor de contenido, la interfaz de proveedor de servicio se adapta para registrar el intervalo de inserción con los proveedores de contenido y para recibir además los metadatos de canal para los proveedores de contenido; un depósito de metadatos de canal se adapta para almacenar los metadatos de canal recibidos de los proveedores de contenido; un módulo de memoria caché y extractor de metadatos de contenido se adapta para extraer metadatos para el servidor alterno de inserción de una envoltura de contenido y metadatos recibido de los proveedores de contenido, la memoria caché de extracción de metadatos de contenido se adapta además para guardar en memoria caché los metadatos en el servidor alterno de inserción; un módulo de fragmentación de contenido se adapta para descomponer una envoltura de contenido y metadatos en segmentos; un módulo de almacenamiento de mensajes de recuperación diferida se adapta para almacenar una envoltura de contenido en uno o más segmentos del módulo de fragmentación de contenido; un módulo de expiración de contenido y reemplazo se adapta para expirar el contenido almacenado en el almacén de mensajes de recuperación diferida; un módulo de dependencias de contenido se adapta para proporcionar la selección de clientes de inserción para anunciar un servicio; un programador de inserción, el programador de inserción se adapta para programar la inserción de una envoltura de contenido almacenada en el almacén de mensajes de recuperación diferida; y un módulo de suscripción y reglas se adapta para mantener una suscripción entre una aplicación y el proveedor de contenido y mantener una lista de reglas para la suscripción.
MX2007005144A 2006-05-02 2007-04-27 Estructura de insercion para distribucion de contenido movil dinamico. MX2007005144A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP06113378A EP1853044B1 (en) 2006-05-02 2006-05-02 Push framework for delivery of dynamic mobile content

Publications (1)

Publication Number Publication Date
MX2007005144A true MX2007005144A (es) 2008-12-02

Family

ID=36869856

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007005144A MX2007005144A (es) 2006-05-02 2007-04-27 Estructura de insercion para distribucion de contenido movil dinamico.

Country Status (11)

Country Link
EP (1) EP1853044B1 (es)
JP (1) JP4635025B2 (es)
KR (2) KR100879591B1 (es)
CN (1) CN101110840B (es)
AT (1) ATE421220T1 (es)
AU (1) AU2007201897B2 (es)
BR (2) BRPI0705053A2 (es)
CA (1) CA2581947C (es)
DE (1) DE602006004847D1 (es)
HK (1) HK1110455A1 (es)
MX (1) MX2007005144A (es)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335765B (zh) * 2008-07-25 2010-12-29 华中科技大学 基于移动缓存的存储服务中间件
KR101297519B1 (ko) 2008-08-08 2013-08-16 삼성전자주식회사 Dcd 서비스에서 사용자 콘텐트 제출 방법 및 시스템
CN101651866A (zh) * 2008-08-14 2010-02-17 国家图书馆 以快讯为主题的移动终端数字内容服务系统
US20100250323A1 (en) * 2009-03-31 2010-09-30 Sony Corporation And Sony Electronics Inc. System and method for dynamically updating a transport structure in an electronic network
US8621520B2 (en) * 2009-05-19 2013-12-31 Qualcomm Incorporated Delivery of selective content to client applications by mobile broadcast device with content filtering capability
CN102014309A (zh) * 2009-09-08 2011-04-13 中兴通讯股份有限公司 一种传输电子业务指南的方法及系统
JP5595503B2 (ja) * 2009-09-09 2014-09-24 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 移動ネットワークにおけるコンテンツ送信の適合化
US10462206B2 (en) 2009-10-16 2019-10-29 Real Innovations International Llc Bidirectional networked real-time data exchange using a spreadsheet application
US10498796B2 (en) 2009-10-16 2019-12-03 Real Innovations International Llc System and method for providing real-time data
BR112012008979A2 (pt) 2009-10-16 2017-12-05 Real Innovations Int Llc sistema e método para fornecimento de dados em tempo real.
CN103581312B (zh) * 2010-11-09 2017-01-18 中兴通讯股份有限公司 基于aog的移动互联网业务的实现方法、网关、代理及系统
CN102469124B (zh) * 2010-11-09 2015-08-12 中兴通讯股份有限公司 基于aog的移动互联网业务的实现方法、网关、代理及系统
KR20120058782A (ko) 2010-11-30 2012-06-08 삼성전자주식회사 컨텐츠 중심 네트워킹 환경에서의 단말, 중간 노드 및 이들의 통신 방법
JP5760716B2 (ja) * 2011-03-30 2015-08-12 富士通株式会社 アプリ提供システム、アプリ提供方法、情報処理装置及び情報処理プログラム
KR101287556B1 (ko) * 2011-09-29 2013-07-23 주식회사 엘지씨엔에스 이동 단말기의 푸시 클라이언트 및 이를 이용한 프로바이더 변경방법
GB2504673A (en) * 2012-08-03 2014-02-12 Ibm Publish and subscribe messaging system wherein transmission from broker to subscribers is phased over time
US10122812B2 (en) 2013-06-28 2018-11-06 Nec Corporation Push-type information transmission device, push-type information transmission method, and program
CN105847447B (zh) * 2016-06-01 2022-06-07 腾讯科技(深圳)有限公司 消息推送方法和装置
WO2018100435A2 (en) 2016-11-20 2018-06-07 Real Innovations International Llc Bidirectional networked real-time data exchange using a spreadsheet application
CN109428923A (zh) * 2017-08-29 2019-03-05 努比亚技术有限公司 消息推送方法、服务器、终端和计算机可读存储介质
CN109151056B (zh) * 2018-09-26 2021-11-19 携程计算机技术(上海)有限公司 基于Canal的消息推送方法和系统
KR102183828B1 (ko) * 2018-11-05 2020-11-27 옴니비스타 주식회사 광고 앱을 이용한 광고 시스템 및 이를 이용한 광고 방법
CN112702259B (zh) * 2020-12-23 2023-05-23 北京焦点新干线信息技术有限公司 延迟消息推送方法、装置及消息中间件
CN114221925B (zh) * 2021-09-30 2024-05-03 北京奇艺世纪科技有限公司 消息推送方法、装置、电子设备及存储介质
CN115150380A (zh) * 2022-06-30 2022-10-04 广发证券股份有限公司 一种适用于多路行情源的行情订阅及发布方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311206B1 (en) * 1999-01-13 2001-10-30 International Business Machines Corporation Method and apparatus for providing awareness-triggered push
EP1119135A3 (en) * 2000-01-13 2001-09-12 Agilent Technologies Inc. a Delaware Corporation Apparatus and method for a push service
CA2361861A1 (en) * 2001-11-13 2003-05-13 Ibm Canada Limited-Ibm Canada Limitee Wireless messaging services using publish/subscribe systems
US7254614B2 (en) 2001-11-20 2007-08-07 Nokia Corporation Web services push gateway
US20030171990A1 (en) * 2001-12-19 2003-09-11 Sabre Inc. Methods, systems, and articles of manufacture for managing the delivery of content
US7925717B2 (en) 2002-12-20 2011-04-12 Avaya Inc. Secure interaction between a mobile client device and an enterprise application in a communication system
US8856346B2 (en) * 2004-01-15 2014-10-07 Unwired Planet, Llc Stateful push notifications
CN100514941C (zh) * 2004-06-28 2009-07-15 华为技术有限公司 一种阻止垃圾推消息的方法

Also Published As

Publication number Publication date
CA2581947A1 (en) 2007-11-02
KR20070107592A (ko) 2007-11-07
KR20080096493A (ko) 2008-10-30
HK1110455A1 (es) 2008-07-11
JP2007299392A (ja) 2007-11-15
CN101110840B (zh) 2012-11-14
AU2007201897B2 (en) 2009-03-05
BRPI0702004A (pt) 2007-12-18
KR100879591B1 (ko) 2009-01-21
CN101110840A (zh) 2008-01-23
KR100897841B1 (ko) 2009-05-15
CA2581947C (en) 2012-10-30
EP1853044B1 (en) 2009-01-14
AU2007201897A1 (en) 2007-11-22
DE602006004847D1 (de) 2009-03-05
BRPI0705053A2 (pt) 2008-12-09
JP4635025B2 (ja) 2011-02-16
ATE421220T1 (de) 2009-01-15
EP1853044A1 (en) 2007-11-07

Similar Documents

Publication Publication Date Title
US8024452B2 (en) Dynamic syndicated content delivery system and method
CA2581947C (en) Push framework for delivery of dynamic mobile content
US7644139B2 (en) Method and system for optimizing metadata passing in a push content processing protocol
CA2582064C (en) Dynamic syndicated content delivery system and method
US20070260674A1 (en) Push framework for delivery of dynamic mobile content
US8019892B2 (en) Multi-layered enveloped method and system for push content metadata
US20120042004A1 (en) Plug in registration method and apparatus for push content delivery
MX2007010864A (es) Registro de conexion mediada de aplicaciones de cliente y proveedores de contenido con sistema de distribucion de contenido de insercion.
CA2581955C (en) Method and system for optimizing metadata passing in a push content processing protocol
AU2007201901B2 (en) Plug in registration method and apparatus for push content delivery
US20070276863A1 (en) Plug in registration method and apparatus for push content delivery
US20070260637A1 (en) System and method for fragmentation of mobile content
AU2007201895B2 (en) System and method for fragmentation of mobile content
AU2007201903B2 (en) Multi-layered enveloped method and system for push content metadata

Legal Events

Date Code Title Description
FG Grant or registration