ES2684146T3 - Método y aparato para encaminar mensajes de notificación - Google Patents

Método y aparato para encaminar mensajes de notificación Download PDF

Info

Publication number
ES2684146T3
ES2684146T3 ES12794054.2T ES12794054T ES2684146T3 ES 2684146 T3 ES2684146 T3 ES 2684146T3 ES 12794054 T ES12794054 T ES 12794054T ES 2684146 T3 ES2684146 T3 ES 2684146T3
Authority
ES
Spain
Prior art keywords
notification
data
attributes
platform
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES12794054.2T
Other languages
English (en)
Inventor
Nikolai Grigoriev
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Application granted granted Critical
Publication of ES2684146T3 publication Critical patent/ES2684146T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/308Route determination based on user's profile, e.g. premium users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Un metodo que comprende: recibir datos que comprenden uno o mas atributos que pertenecen a un estado de red de uno o mas receptores de notificacion, determinar una o mas reglas para especificar el encaminamiento de mensajes de notificacion al uno o mas receptores de notificacion basandose en el uno o mas atributos almacenar una o mas etiquetas (109a) en asociacion con el uno o mas receptores de notificacion basandose en la una o mas reglas; y monitorizar los datos que comprenden el uno o mas atributos que pertenecen a un estado pertinente del uno o mas receptores de notificacion y actualizar etiquetas conforme a los cambios en el uno o mas atributos.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Método y aparato para encaminar mensajes de notificación Antecedentes
Los proveedores de servicio y fabricantes de dispositivos (por ejemplo, inalámbricos, celulares, etc.) se ven continuamente desafiados para entregar valor y comodidad a los clientes proporcionando, por ejemplo, servicios de red atractivos. Un área de interés es el desarrollo de servicios para transmitir mensajes de notificación dirigidos a los dispositivos de abonados del servicio. Los mensajes de notificación pueden generarse o proporcionarse como mensajes de tipo push conforme a diversos formatos para adaptar diferentes tipos de dispositivos o aplicaciones. Dada la amplia gama de diferentes tipos de dispositivos, sistemas operativos y redes de operadoras a las que están configurados los dispositivos, los mensajes de notificación deben adaptarse en consecuencia para asegurar la entrega. Desafortunadamente, actualmente no hay medios convenientes para asegurar la adaptación o generación apropiada de mensajes de notificación singulares para los requisitos y capacidades variables de los diferentes dispositivos, aplicaciones o servicios a los que se han de dirigir los mensajes.
El documento US 2011/029598 se refiere a un sistema para posibilitar que un usuario controle notificaciones que se envían con tecnología de tipo push en su dispositivo. Las reglas para manejar notificaciones pueden inferirse analizando datos de calendario electrónico.
Algunas realizaciones de ejemplo
Por lo tanto, existe una necesidad de un enfoque que facilite el procesamiento automatizado de mensajes de notificación dirigidos (push) para su integración con receptores de notificación de diferente tipo y función. De acuerdo con la invención se proporcionan métodos, aparatos y programas informáticos de acuerdo con las reivindicaciones.
Serán fácilmente evidentes otros aspectos, características y ventajas adicionales de la invención a partir de la siguiente descripción detallada, ilustrando de manera sencilla un número de realizaciones e implementaciones particulares, que incluyen el mejor modo contemplado para llevar a cabo la invención. La invención también es apta de otras realizaciones y diferentes, y sus varios detalles pueden modificarse en diversos aspectos evidentes. Por consiguiente, los dibujos y la descripción se han de considerar ilustrativos en su naturaleza y no restrictivos.
Breve descripción de los dibujos
Las realizaciones de la invención se ilustran a modo de ejemplo, y no a modo de limitación, en las figuras de los dibujos adjuntos:
La Figura 1 es un diagrama de un sistema que puede facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para su integración con receptores de notificación de diferente tipo y función, de acuerdo con una realización;
La Figura 2 es un diagrama de los componentes de la plataforma de notificación universal, de acuerdo con una realización;
Las Figuras 3A-3C son diagramas de flujo de un proceso para facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para su integración con receptores de notificación de diferente tipo y función, de acuerdo con diversas realizaciones;
La Figura 4 es un diagrama que representa un proceso de registro del sistema de la Figura 1, de acuerdo con una realización;
La Figura 5 es un diagrama que representa un proceso de encaminamiento de mensaje de notificación (push) dirigido del sistema de la Figura 1, de acuerdo con una realización;
La Figura 6 es un diagrama de hardware que puede usarse para implementar una realización de la invención;
La Figura 7 es un diagrama de un conjunto de chips que puede usarse para implementar una realización de la invención; y
La Figura 8 es un diagrama de un terminal móvil (por ejemplo, microteléfono) que puede usarse para implementar una realización de la invención.
Descripción de algunas realizaciones
Se desvelan ejemplos de un método, aparato y programa informático para facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para su integración con receptores de notificación (por ejemplo, dispositivos, aplicaciones o servicios) de diferente tipo y función. En la siguiente descripción, para los fines de explicación, se exponen numerosos detalles específicos para proporcionar un entendimiento minucioso de las realizaciones de la invención. Sin embargo, es evidente para un experto en la materia que las realizaciones de la invención pueden ponerse en práctica sin estos detalles específicos o con una disposición equivalente. En otros casos, se muestran estructuras y dispositivos bien conocidos en forma de diagrama de bloques para evitar oscurecer innecesariamente las realizaciones de la invención.
5
10
15
20
25
30
35
40
45
50
55
60
65
Aunque se describen diversas realizaciones con respecto a servicios activados para notificación, se contempla que el enfoque descrito en el presente documento puede usarse como, o en relación con, cualquier plataforma, servicio, anfitrión web o aplicación para facilitar la entrega o generación de contenido, datos, medios o similares por medio de una red de comunicación. También, los proveedores de tales servicios (proveedores de servicio) pueden incluir, por ejemplo, cualquier entidad de software que envíe notificaciones (por ejemplo, un servicio de alertas meteorológicas) a usuarios de dispositivos inalámbricos, un proveedor de servicio de comunicación (por ejemplo, operador de red celular) que soporta encaminamiento/filtración de mensajes inteligentes para su red de abonados celulares, un proveedor de servicio activado para notificación genérico que entrega mensajes a receptores en nombre de otros proveedores de servicio, o similares.
La Figura 1 es un diagrama de un sistema que puede facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para su integración con receptores de notificación de diferente tipo y función, de acuerdo con una realización. En ciertas realizaciones, el sistema posibilita que se envíen mensajes de notificación por los servicios activados para notificación para que se evalúen contra una o más expresiones lógicas. La evaluación se realiza, basándose al menos en parte, en el formato de datos especificado indicado como parte del mensaje de notificación a entregarse. Dependiendo del resultado de la evaluación, una o más etiquetas se asocian temporalmente con cada receptor de notificación (por ejemplo, aplicación de dispositivo) registrado para recibir las notificaciones, que incluyen aplicaciones de cliente de correo electrónico, aplicaciones de servicio de mensajes cortos (SMS) y otras aplicaciones de mensajería. Las etiquetas posibilitan el encaminamiento selectivo de las notificaciones basándose en los requisitos de mensajería del sistema, red, operadora, sistema operativo, aplicación y/o dispositivo asociados. Aún además, el sistema está configurado para tener en cuenta condiciones de red variables o estados de dispositivo para provocar la re-evaluación de los mensajes de notificación, y por lo tanto, la eliminación o adición de etiquetas.
Los mensajes dirigidos o de tipo push, incluyen por ejemplo comunicaciones basadas en red donde la solicitud de una transacción dada se inicia por un publicador o servidor central, es decir, un proveedor de servicio de aplicación que tiene acceso a uno o más servicios activados para notificación. Esto es en contraste a los mensajes de tipo pulí, donde la solicitud de transmisión de información se inicia por el receptor de notificación (por ejemplo, el dispositivo cliente). Los receptores de notificación reciben información mediante los diversos servicios activados para notificación, y cada vez que esté disponible nuevo contenido (un mensaje de notificación), el servicio activado para notificación envía con tecnología de tipo push la información a la lista de receptores de notificación registrados. Las arquitecturas de mensajería de tipo push, protocolos y formatos subyacentes varían, y pueden incluir por ejemplo, SMS, correo electrónico, mensajería de la nube a dispositivo (C2DM), Notificaciones Push de Apple® (APN), push de protocolo de aplicación inalámbrica (WAP) y otras.
Dada la amplia diversidad de diferentes receptores de notificación, protocolos, sistemas operativos y redes de operadora a los que pueden configurarse la lista de receptores de notificación registrados, los proveedores de servicio activados para notificación deben asegurar que sus mensajes de tipo push se entregan en consecuencia. Por ejemplo, si el proveedor de notificación desea enviar mensajes de notificación a únicamente aquellos abonados que usan dispositivos Apple® iPhone®, el proveedor debe enviar de manera separada una notificación a la lista de dispositivos que son iPhones. Sin embargo, para dispositivos basados en el sistema operativo (SO) de Google Android™, el proveedor debe enviar de manera separada una notificación separada a la lista de receptores de
notificación que presentan este SO. La lista de receptores de notificación así como sus capacidades y requisitos
deben por lo tanto mantenerse por el proveedor en todo momento incluso aunque el contenido a presentarse
mediante el mensaje sea el mismo. Además, el proveedor debe rastrear de manera persistente los cambios de
estado de dispositivo o consultar el estado de cada dispositivo antes de difundir la notificación para tener en cuenta condiciones de red, aplicación, servicio o dispositivo que pudieran afectar a la entrega de notificaciones. Desafortunadamente, esto impone una carga adicional en el proveedor de servicio, que únicamente se agrava a medida que la lista de abonados crece y/o a medida que se introducen diferentes tecnologías, protocolos y arquitecturas en el mercado. Actualmente, no hay solución para soportar la entrega unificada de notificaciones independientemente de la tecnología usada para entregar realmente el mensaje de tipo push.
Para tratar este problema, un sistema 100 de la Figura 1 introduce la capacidad de facilitar procesamiento de tipo push único de mensajes de notificación a través de receptores de notificación, tal como los dispositivos de usuario 101a-101n. El sistema 100 incluye una plataforma de notificación universal 113 que está configurada para encaminar mensajes de notificación según se generan por un servicio activado para notificación 103a-103n a respectivos dispositivos receptores 101a-101n. Los servicios activados para notificación 103, que pueden incluir mecanismos de mensajería de tipo push específicos de red o de protocolo (por ejemplo, servicio de mensajes cortos, servicio activado para notificación Apple® Push), están basados en uno o más proveedores de servicio de aplicación 111. Los proveedores de servicio de aplicación 111 facilitan la transmisión de datos específicos mediante los servicios 103 tal como alertas de tráfico, alertas meteorológicas, datos bursátiles, datos de noticias, etc.; transmitiéndose los datos a respectivos receptores/dispositivos de notificación con relación a un requisito de notificación de tipo push particular.
Los dispositivos o receptores de notificación pueden incluir, por ejemplo, cualquier hardware, software, firmware o entidad virtual en la que puedan recibirse y/o procesarse mensajes de notificación. Por ejemplo, esto puede incluir
5
10
15
20
25
30
35
40
45
50
55
60
65
un portátil, teléfono celular o asistente de datos personal; una aplicación operable por un portátil, teléfono celular o asistente de datos personal tal como un cliente de correo electrónico, aplicación de mensajería, etc.; un servicio tal como una solución de mensajería de terceros o aplicación de explorador de web (por ejemplo, miniaplicación); o cualquier combinación de los mismos para la que pueden generarse y dirigirse los diversos mensajes y/o etiquetas. Para fines de ejemplo, un dispositivo puede tomarse sinónimo a un receptor de notificación. La plataforma de notificación universal 113 facilita el encaminamiento de mensajes de notificación generados por respectivos servicios activados para notificación 103a-103n a los diversos receptores de notificación (por ejemplo, los dispositivos 101a- 101n) independientemente de la plataforma, protocolo, subyacente, etc.
El encaminamiento de mensajes se facilita especificando una o más expresiones de filtro y/o condiciones de entrega de mensaje, en el que las expresiones de filtro y/o condiciones se aplican entonces a los receptores de notificación que corresponden a (y que están etiquetados específicamente) para la ejecución de la condición. En ciertas realizaciones, la plataforma de notificación universal 113 está configurada para facilitar un proceso de “registro” en el que cada dispositivo de usuario 101a-101n, que presenta una respectiva aplicación 107a-107n para recibir los mensajes, se registra a sí mismo con la plataforma de notificación universal 113 - es decir, a diferencia de un respectivo servicio activado para notificación 103a-103n. Este proceso de registro conlleva la recepción de una solicitud de registro, que incluye la compartición de la información del dispositivo, usuario, operadora u otra con la plataforma 113. Por ejemplo, cada dispositivo envía un conjunto de testigos, identificadores u otros datos para describir diversos otros atributos del dispositivo, incluyendo una plataforma/nombre de SO, proveedor, número de versión de plataforma/SO, nombre de operadora y otra información. Además, la plataforma de notificación universal 113 puede también asociar los atributos que pertenecen al dispositivo 101a-101n con atributos que pertenecen a propiedades del proveedor de servicio de dispositivo asociado - es decir, la red móvil, operadora u operador al que está configurado el dispositivo. A modo de ejemplo, la plataforma 113 puede procesar la solicitud, en parte, asociando con la solicitud atributos para indicar el estado de itinerancia del dispositivo con relación a la red de operadora, ciudad de origen del abonado, país de origen del abonado, geo-localización actual y datos de posición, etc.
Se observa que la plataforma de notificación universal 113 sirve como un intermediario o servicio de intermediario (por ejemplo, servicio de nombres de dominio) para su uso en relación con respectivos servicios activados para notificación 103a-103n, el uno o más dispositivos 101a-101n, o una combinación de los mismos. Como un mecanismo de facilitación, la plataforma de notificación universal 113 posibilita que los mensajes de notificación de los respectivos servicios 103a-103n se encaminen a uno o más dispositivos 101a-101n en su nombre. Es de destacar, la plataforma 113 no requiere la adherencia o aplicación de un protocolo de mensajería particular, sino que en su lugar, posibilita que se restrinja/filtre la lista de receptores sin tener que especificar el método de entrega. El protocolo específico o método de transmisión se especifican de acuerdo con lo que soporta cada receptor de notificación, pero no se requiere que posibilite que se facilite el proceso de etiquetado. Para el fin de ilustración, la plataforma de notificación universal 113 se muestra como una entidad separada, aunque en ciertas realizaciones, la plataforma 113 puede implementarse como el servicio activado para notificación 103a-103n.
En el enfoque anteriormente descrito, los atributos del dispositivo y/o del proveedor de servicio asociado con el dispositivo (por ejemplo, proveedor de comunicación inalámbrica) pueden procesare por la plataforma de notificación universal 113 para fines de evaluación. Por ejemplo, cada uno de los atributos (por ejemplo, SO de dispositivo, red de operadora) puede procesarse y evaluarse contra una o más reglas (reglas de etiquetado) para determinar o especificar el encaminamiento del uno o más mensajes de notificación recibidos desde los servicios activados para notificación 103a-103n. Las reglas, que pueden incluir instrucciones para la generación de una o más etiquetas 109a o asociación de las etiquetas generadas con un receptor de notificación, pueden indicar las condiciones y/o criterios para los que los mensajes se han de dirigir al uno o más dispositivos 101a-101n. En ciertas realizaciones, las reglas pueden incluir una o más expresiones lógicas para evaluar los mensajes de notificación con respecto a estas condiciones y/o criterios; estas expresiones pueden encapsularse en una o más etiquetas 109a. Por ejemplo, los atributos para indicar que el dispositivo está en un estado de itinerancia pueden expresarse como la variable “is_roaming” de tipo booleano que tiene un valor determinativo lógico de “VERDADERO” o “FALSO”. Como otro ejemplo, el atributo para representar la versión de la plataforma puede expresarse como una variable “platform_version” con un valor de cadena (por ejemplo, “2.2” para representar la versión 2.2).
En ciertas realizaciones, se accede a los servicios activados para notificación 103a-103n registrados en la plataforma 113 para configurar la una o más reglas de etiquetado. Las reglas de etiquetado definen los diversos criterios para la generación de etiquetas para asociarse con los respectivos dispositivos registrados 101a-101n. La una o más etiquetas 109a son elementos de datos, tal como aquellos conforme a una estructura de datos específica o adecuados como metadatos, asociados temporalmente con cada dispositivo en una base automática dependiendo del proceso de resultado de la evaluación anteriormente descrito. Las reglas de etiquetado se configuran de manera global para cada uno de los respectivos servicios 103a-103n. El proceso de configuración puede incluir, por ejemplo, el envío de una o más solicitudes a la plataforma 113 que contienen la diversa expresión o expresiones lógicas y la etiqueta o etiquetas asociadas para asignarse para encapsular la expresión. Una vez asignada, puede tener lugar el proceso de evaluación de la expresión, que incluye determinar un valor de verdadero (booleano), cadena o similares.
5
10
15
20
25
30
35
40
45
50
55
60
65
Las expresiones pueden expresarse de acuerdo con diversas sintaxis o semánticas de programación, incluyendo lenguajes de marcado, tal como el lenguaje de marcas extensible (XML), como un árbol de elementos o cualesquiera otros métodos. Se muestran algunos ejemplos a continuación en forma de pseudo-lenguaje. A modo de ejemplo, el símbolo “=>”como se muestra en las expresiones de ejemplo indica que “si la expresión es 'VERDADERA', entonces asociar la siguiente etiqueta o etiquetas con un dispositivo dado”.
is_roaming == true => “roaming”
platform_vendor == “Apple” && platform_version >= “4.0” => “iphone4”, “iphone” platform_vendor == “Apple” && platform_version < “4.0 = “iphone” notification_bearer == “sms” && is_roaming == true => “sms_with_roaming”
subscriber_home_city == “New York” && subscriber_home_country == “US” && is_roaming == “true” => “nyc_promotion”
Las diversas expresiones, que se encapsulan como una o más etiquetas 109a, pueden desarrollarse por el proveedor, operador, desarrollador de servicio del dispositivo y/o mantenerse como una biblioteca de propiedades para su uso en conexión con la ejecución de un servicio activado para notificación 103a-103n por los dispositivos 101a-101n y sus aplicaciones correspondientes 107a-107n. Se observa que las reglas de etiquetado pueden configurarse en un tiempo inicial de registro por el servicio activado para notificación 103a-103n o posteriormente.
Además de las etiquetas 109a anteriormente descritas, algunas de las etiquetas documentadas 109a pueden ser aquellas que cambian automáticamente cuando cambia el estado determinado del abonado y/o receptor de la notificación. Los cambios de estado de dispositivo, por ejemplo, pueden incluir aquellos cambios que pertenecen al estado actual del dispositivo con relación a una red de datos dada a la que está configurada un respectivo dispositivo 101a-101n, un cambio en preferencias de suscripción, un cambio específico de operador de red, etc. Los cambios de datos geográficos/de localización pueden encapsularse como etiquetas 109a como “geo_latitude=<value>” o “geo_longitude=<value>”. Como otro ejemplo, pueden encapsularse datos de zona de tiempo como “current_time_zone=<value>”. Pueden capturarse preferencias de anuncio de abonado como “global_ads_opted_out.” Las etiquetas 109a que presentan tal nomenclatura, expresiones y referencias pueden evaluarse por lo tanto contra filtros de etiqueta especificados.
Como parte del proceso de registro, cuando un dispositivo 101a-101n dado se registra con la plataforma de notificación universal 113, envía información acerca de su sistema operativo/plataforma y otras capacidades (por ejemplo, como testigos). Por la ejecución anteriormente descrita, la plataforma 113 evalúa la regla o reglas configuradas para el servicio activado para notificación 103a-103n asociado para ese dispositivo 101a-101n y asigna la etiqueta o etiquetas apropiadas como parte de los datos de registro 109. Las etiquetas 109a dependen de los atributos usados en la expresión o expresiones evaluadas en el registro. Por lo tanto, si uno o más atributos implicados en esta expresión o expresiones cambian, entonces las reglas de etiquetado se re-evalúan, dando como resultado la actualización de las etiquetas según están asociadas con respectivos receptores de notificación. El proceso de re-evaluación puede realizarse automáticamente o tras solicitud, tal como por la aplicación del receptor.
Es de destacar, con respecto al proceso de registro que la plataforma de notificación universal 113 sirve como un intermediario o servicio intermedio para los dispositivos 101a-101n y/o los servicios activados para notificación 103a- 103n; que posibilita que se encaminen mensajes de notificación a uno o más dispositivos 101a-101n en consecuencia por la plataforma de notificación universal 113. Se observa también que las reglas de etiquetado, según se mantienen por la plataforma 113 para posibilitar la generación de etiquetas, pueden ser jerárquicas - es decir, algunas de las reglas se ofrecen por el operador de la operadora/red del dispositivo 101a-101n mientras que otras se prescriben por el servicio activado para notificación 103a-103n.
Una vez que se establecen las etiquetas para cada dispositivo respectivo 101a-101n, el servicio activado para notificación puede realizar uno o más de: consultar la base de datos de registro 109 para determinar la lista de etiquetas 109a asociada a un dispositivo dado; enviar una notificación a todos los abonados basándose en sus etiquetas asociadas; restringir la entrega de notificaciones basándose en el uso de expresiones de filtro contra receptores de notificación basándose en sus referencias de etiqueta asociadas, es decir, dirigir a dispositivos etiquetados únicamente con iPhone®, enviar una notificación que usa algunos elementos específicos de Blackberry®, enviar la notificación a únicamente abonados etiquetados con no itinerancia; generar mensajes de notificación condicional, es decir, si el servicio desea enviar una notificación a todos los abonados con elementos adicionales específicos para iPhone® con iOS 4.0 o superior, incluiría una parte condicional en el mensaje de notificación que usa el filtro de etiqueta; restringir la mensajería por área geográfica, es decir, aplicar un filtro de etiqueta que indica etiquetas “geo_longitude” y “geo_latitude” específicas y sus valores con la función “within_range_from” (función hipotética que toma dos geo-localizaciones y devuelve verdadero si están dentro de una cierta distancia máxima especificada).
Como se muestra en la Figura 1, el sistema 100 comprende el equipo de usuario (UE) 101 o dispositivos que tienen conectividad a la plataforma de notificación universal 113 mediante una red de comunicación 105. A modo de ejemplo, la red de comunicación 105 del sistema 100 incluye una o más redes, tal como una red de datos (no
5
10
15
20
25
30
35
40
45
50
55
60
65
mostrada), una red inalámbrica (no mostrada), una red de telefonía (no mostrada), o cualquier combinación de las mismas. Se contempla que la red de datos pueda ser cualquier red de área local (LAN), red de área metropolitana (MAN), red de área extensa (WAN), una red de datos pública (por ejemplo, la Internet), red inalámbrica de corto alcance o cualquier otra red de conmutación de paquetes adecuada, tal como una red de conmutación de paquetes propietaria de propiedad comercial, por ejemplo, una red de cable o de fibra óptica propietaria y similares, o cualquier combinación de las mismas. Además, la red inalámbrica puede ser, por ejemplo, una red celular y puede emplear diversas tecnologías que incluyen velocidades de datos mejoradas para la evolución global (EDGE), servicio general de paquetes de radio (GPRS), sistema global para comunicación móvil (GSM), subsistema multimedia del protocolo de internet (IMS), sistema universal de telecomunicaciones móviles (UMTS), etc., así como cualquier otro medio inalámbrico adecuado, por ejemplo, interoperabilidad mundial para acceso por microondas (WiMAX), redes de la evolución a largo plazo (LTE), acceso múltiple por división de código (CDMA), acceso múltiple por división de código de banda ancha (WCDMA), fidelidad inalámbrica (WiFi), LAN inalámbrica (WLAN), Bluetooth®, difusión de datos del Protocolo de Internet (IP), de satélite, red adhoc móvil (MANET), y similares o cualquier combinación de las mismas.
El UE 101 es cualquier tipo de terminal móvil, terminal fijo, o terminal portátil que incluye un microteléfono móvil, estación, unidad, dispositivo, ordenador multimedia, tableta multimedia, nodo de Internet, comunicador, ordenador de sobremesa, ordenador portátil, ordenador portable, ordenador de bolsillo, ordenador de tableta, dispositivo de sistema de comunicación personal (PCS), dispositivo de navegación personal, asistentes digitales personales (PDA), reproductor de audio/vídeo, cámara/videocámara digital, dispositivo de posicionamiento, receptor de televisión, receptor de difusión de radio, dispositivo de libro electrónico, dispositivo de juegos o cualquier combinación de los mismos, incluyendo los accesorios y periféricos de estos dispositivos, o cualquier combinación de los mismos. Se contempla también que el UE 101 pueda soportar cualquier tipo de interfaz para el usuario (tal como circuitería “llevable”, etc.).
A modo de ejemplo, el UE 101, la plataforma de notificación universal 113 y el servicio activado para notificación 103 comunican entre sí y otros componentes de la red de comunicación 105 usando protocolos bien conocidos, nuevos o aún en desarrollo. En este contexto, un protocolo incluye un conjunto de reglas que definen cómo interactúan los nodos de red en la red de comunicación 105 entre sí basándose en información enviada a través de los enlaces de comunicación. Los protocolos son eficaces en diferentes capas de operación en cada nodo, desde generación y recepción de señales físicas de diversos tipos, a selección de un enlace para transferir estas señales, al formato de información indicado por estas señales, para identificar qué aplicación de software que se ejecuta en un sistema informático envía o recibe la información. Las capas conceptualmente diferentes de protocolos para intercambiar información a través de una red se describen en el Modelo de Referencia de Interconexión de Sistemas Abiertos (OSI).
Las comunicaciones entre los nodos de red se efectúan normalmente intercambiando paquetes discretos de datos. Cada paquete normalmente comprende (1) información de encabezamiento asociada con un protocolo particular, e (2) información de carga útil que sigue la información de encabezamiento y contiene información que puede procesarse de manera independiente de la de ese protocolo particular. En algunos protocolos, el paquete incluye (3) información de final que sigue la carga útil e indica el final de la información de carga útil. El encabezamiento incluye información tal como el origen del paquete, su destino, la longitud de la carga útil, y otras propiedades usadas por el protocolo. A menudo, los datos en la carga útil para el protocolo particular incluyen un encabezamiento y carga útil para un protocolo diferente asociado con una capa superior diferente del Modelo de Referencia OSI. El encabezamiento para un protocolo particular normalmente indica un tipo para el siguiente protocolo contenido en su carga útil. El protocolo de la capa superior se dice que está encapsulado en el protocolo de capa inferior. Los encabezamientos incluidos en un paquete que atraviesa múltiples redes heterogéneas, tales como Internet, normalmente incluyen un encabezamiento físico (capa 1), un encabezamiento de enlace de datos (capa 2), un encabezamiento de interconexión de red (capa 3) y un encabezamiento de transporte (capa 4) y diversos encabezamientos de aplicación (capa 5, capa 6 y capa 7) según se define por el Modelo de Referencia OSI.
La Figura 2 es un diagrama de los componentes de la plataforma de notificación universal 113, de acuerdo con una realización. A modo de ejemplo, la plataforma 113 incluye uno o más componentes para facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para su integración con receptores de notificación de diferente tipo y función. Se contempla que las funciones de estos componentes puedan combinarse en uno o más componentes o realizarse por otros componentes de funcionalidad equivalente. En esta realización, la plataforma de notificación universal 113 incluye un módulo de autenticación 201, módulo de recuperación de mensaje 203, módulo de generación y asociación de etiquetas 205, módulo de tecnología push 207 (aunque se ilustra únicamente un módulo de tecnología push 207 en la Figura 2, en algunas realizaciones, puede haber múltiples módulos de tecnología push 207 correspondiendo cada uno a un mecanismo de tipo push subyacente soportado por la plataforma 113), monitor de condición 209, módulo de interfaz de usuario 211 e interfaz de comunicación 213. Además, la plataforma de notificación universal 113 también accede a datos de reglas de etiquetado desde una base de datos 215 así como a una base de datos de registros 109 para mantener información que pertenece a un receptor de registros de notificación (por ejemplo, dispositivo).
5
10
15
20
25
30
35
40
45
50
55
60
65
En una realización, un módulo de autenticación 201 autentica usuarios, dispositivos de usuario 101a-101n y servicios activados para notificación 103a-103n para interacción con la plataforma de notificación universal 113. En realizaciones donde los dispositivos de usuario 101a-101n no necesitan autenticarse, el módulo de autenticación 201 puede usarse para identificar (en lugar de no autenticar) los receptores de notificación apropiados para interacción con la plataforma de notificación universal 113. El proceso de registro anteriormente descrito se facilita, al menos en parte, por el módulo de autenticación 201. A modo de ejemplo, el módulo de autenticación 201 recibe una solicitud para suscribirse a la plataforma 113 para posibilitar el direccionamiento/encaminamiento de mensajes de notificación a los dispositivos 101. El proceso de suscripción, desde la perspectiva del dispositivo de usuario de suscripción 101, puede incluir enviar información (por ejemplo, testigos) para identificar el sistema operativo o plataforma del dispositivo, un número de versión que corresponde al sistema operativo o plataforma, un nombre de proveedor o identificador de proveedor asociado con el dispositivo de usuario, un número de modelo del dispositivo, un nombre o identificador de operadora u operador, etc. Esta información puede pasarse al módulo de autenticación 201 por medio de un proceso de solicitud/consulta con el dispositivo 101, una interacción de extracción, lectura de credenciales de módulo de identidad de abonado (SIM) de dispositivo, etc. La información adicional puede asociarse también con los datos de dispositivo según se indica por el operador de red o la operadora de comunicaciones, que incluye datos de estado de itinerancia, país de origen del abonado, información de estado y de ciudad, datos de localización actual, etc. La información de preferencias y ajustes puede referenciarse a un usuario específico, dispositivo de usuario 101, o combinación de los mismos y mantenerse como datos de registro 109.
Desde la perspectiva del servicio activado para notificación 101, el proceso de registro facilitado por el módulo 201 puede incluir la compartición de datos para posibilitar el encaminamiento de mensajes por la plataforma 113, que incluye: un listado de dispositivos de usuario 101a-101n a los que se han de enviar los mensajes de notificación, un estado de suscripción, una periodicidad de mensajería de tipo push, requisitos de generación de información, etc. En ciertas realizaciones, se contempla que el servicio activado para notificación 103 pueda especificar diversas preferencias de compilación de mensaje para realizarse por la plataforma 113, que incluye la localización de bases de datos específicas en las que se mantiene cierto contenido de fuentes de datos alternativas, etc. Es de destacar, que esta característica puede ser adecuada para adaptar mensajería de tipo push dinámica, en la que los mensajes de notificación que caracterizan múltiples tipos de contenido (por ejemplo, imágenes, medios, texto) pueden compilarse dinámicamente en el momento de enviarse con tecnología de tipo push en lugar como anteriormente.
El proceso de autenticación realizado por el módulo 201 puede incluir también recibir y validar un nombre de inicio de sesión y/o valor de identificación de usuario según se proporciona o establece para un usuario particular (usuario de dispositivo o desarrollador de notificación) durante un proceso de suscripción o registro con la plataforma 113. El nombre de inicio de sesión y/o valor de identificación de usuario puede recibirse como entrada proporcionada por el usuario por medio de una interfaz de usuario gráfica a la plataforma 103 (por ejemplo, según se activa por el módulo de interfaz de usuario 215). Los datos de registro 217 para respectivos abonados, que contienen datos de usuario pertinentes o de perfil de dispositivo, pueden estar referenciados de manera cruzada como parte del proceso de inicio de sesión. Como alternativa, el proceso de inicio de sesión puede realizarse a través de asociación automática de ajustes de perfil mantenidos como datos de registro 217 con una dirección de IP, una señal de detección de operadora de un dispositivo de usuario, número de directorio móvil (MDN), módulo de identidad de abonado (SIM) (por ejemplo, de una tarjeta de SIM), etiqueta de identificador de frecuencia de radio (RFID) u otro identificador. La capacidad de la plataforma 113 para asociar los dispositivos 101 con un servicio activado para notificación 103 particular puede basarse en un acuerdo de notificación predeterminado también mantenido por el módulo de autenticación (por ejemplo, como datos de registro 109).
Para el fin de ejemplo, los datos de registro 109 según se procesan/reciben por el módulo de autenticación 201 incluyen información que pertenece al receptor de notificación, un usuario del receptor de notificación, un servicio activado para notificación, un desarrollador del servicio activado para notificación, o una combinación de los mismos. Además, el módulo de autenticación 201 puede recibir también una o más reglas de etiquetado para que se asocien con abonados específicos. A modo de ejemplo, el módulo de autenticación 201 mantiene las reglas de etiquetado en la base de datos apropiada, mientras opera en relación con un módulo de asociación de etiqueta 205 para asegurar la asociación apropiada de un conjunto de reglas de etiquetado 215 con un abonado por medio de una o más etiquetas 109a.'
En una realización, un módulo de recuperación de mensaje 203 recibe mensajes de notificación desde el uno o más servicios activados para notificación 103a-103n basándose en los datos de registro 109. A modo de ejemplo, el módulo de recuperación de mensaje 203 puede operar en relación con una interfaz de comunicación 213 para establecer un canal de entrega de mensaje. El canal de entrega puede servir como un puerto o pasarela a través del cual se ha de recibir contenido específico, mensajes u otros datos. En ciertos casos, el módulo de recuperación de mensaje 203 puede configurarse para compilar mensajes desde fuentes variables a discreción del servicio activado para notificación 103.
Además, cuando un servicio particular 103a-103n envía un mensaje de notificación, el módulo de recuperación de mensaje 203 determina la carga o cargas útiles de mensaje de notificación así como analiza/determina cualesquiera expresiones de filtro asociadas con el mensaje. Las expresiones pueden aplicarse al mismo mensaje de notificación así como a porciones individuales de la carga útil. Tras la detección, las expresiones de filtro de etiqueta pueden
5
10
15
20
25
30
35
40
45
50
55
60
65
pasarse al módulo de asociación y generación de etiquetas 205 en consecuencia, para procesamiento e interpretación. Cabe señalar, por lo tanto, que el módulo de recuperación de mensaje 203 está configurado para interpretar filtros/expresiones de etiquetas especificados en asociación con un mensaje dado por un servicio de envío 103. A modo de ejemplo, el módulo de recuperación de mensaje 203 puede interpretar expresiones de filtros de etiqueta tales como:
• !iphone
o Esta expresión indica que el mensaje se ha de encaminar a cualquier dispositivo pero NO a iPhones
• iphone4
o Esta expresión indica que el mensaje se ha de encaminar únicamente a dispositivos iOS 4.0+
• iphone && !roaming && within_range (geo_longitude, geo_latitude, 45.47229, -73.519306, “3km”)
o Este filtro multidimensional indica que el mensaje se ha de encaminar a únicamente dispositivos iPhone® que NO están en itinerancia y dentro del rango geográfico especificado
• nyc_promotion && office_hours(subscriber_timezone)
o Este filtro multidimensional indica que el mensaje se ha de encaminar únicamente a aquellos dispositivos que corresponden a una promoción particular Y durante horas especificadas.
Un módulo de generación y asociación de etiquetas 207, monitor de condición 209 y módulo de tecnología de tipo push 207, en ciertas realizaciones, operan en relación con el módulo de recuperación de mensaje 203. El módulo de generación y asociación de etiquetas 203, por ejemplo, facilita la generación automatizada de etiquetas 109a para que se asocien con un dispositivo registrado/abonado 101 basándose en las reglas de etiquetado 215. Además, el módulo 203 facilita un proceso de evaluación para determinar qué dispositivos corresponden a los filtros de expresión/etiqueta particulares recibidos por el módulo de recuperación de mensaje 203. La evaluación puede incluir realizar un análisis o búsqueda de etiquetas 109a según se mantiene con respecto a datos de registro 109 para determinar qué dispositivos corresponden a la expresión. Por ejemplo, cuando se proporciona la expresión “!iphone” como se ha indicado anteriormente en relación con un mensaje de notificación, el proceso de análisis o búsqueda puede conllevar recuperar una lista de todos los dispositivos abonados que no están etiquetados con el sistema operativo iPhone®. La lista restringida se pasa a continuación a un módulo de tecnología push 207 para ejecución del mensaje de notificación de acuerdo con la planificación predeterminada - es decir, inmediatamente o un tiempo más tarde.
Se observa que hay dos tipos de expresiones y que pueden realizarse dos procesos de evaluación por módulo de generación y asociación de etiquetas 203. Un proceso es evaluar las expresiones lógicas basadas en atributos tras el registro de recepción así como durante tiempo de ejecución cuando cambia alguna condición o condiciones. La evaluación en esta etapa da como resultado que se asocien temporalmente una o más etiquetas con el registro. El segundo tipo de expresión está asociada con el mensaje de notificación en curso. Esta expresión está basada en las etiquetas previamente asociadas con los registros, en el que la expresión define de manera eficaz el “encaminamiento” para este mensaje particular. La re-evaluación de la expresión o expresiones del primer tipo no tiene que ocurrir para cada mensaje que se envíe, sino que en su lugar cuando cambia uno o más atributos se ven implicados en estas expresiones (o tras solicitud explícita desde el proveedor de servicio). Tales cambios pueden observarse por un monitor de condición 209.
El monitor de condición 209 monitoriza cambios de atributo que pueden afectar a la salida de una expresión, y por lo tanto a la generación de una etiqueta. De manera resultante, pueden eliminarse o añadirse etiquetas en consecuencia por el módulo de generación y asociación de etiquetas 205 basándose en condiciones (por ejemplo, condiciones lógicas, condiciones del entorno, condiciones de red) según se expresan. Esto corresponde también a la adaptación de la lista de receptores de notificación a los que se han de dirigir los mensajes mediante el módulo de tecnología push 207. Por ejemplo, para la expresión iphone && !roaming && within_range(geo_longitude, geo_latitude, 45.47229,-73.519306, “3km”) mostrada anteriormente; un dispositivo que estaba previamente dentro del rango especificado pero que actualmente está fuera del rango no está posibilitado para la recepción del mensaje de notificación. El monitor de condición 209 puede recuperar información de estado de dispositivo, red u otra realizando una consulta periódica. Como alternativa, los dispositivos 101a-101n o el operador de red (por ejemplo, servidor) pueden estar configurados para proporcionar datos de estado actualizados en respuesta a ocurrencias de estado/evento específicas.
En una realización el módulo de interfaz de usuario 211 posibilita la presentación de una interfaz de usuario gráfica para facilitar el dispositivo o proceso de registro de proveedor de servicio activado para notificación. A modo de ejemplo, el módulo de interfaz de usuario 215 genera la interfaz en respuesta a interfaces de programación de
5
10
15
20
25
30
35
40
45
50
55
60
65
aplicación (API) u otras llamadas de función que corresponden a la aplicación de explorador o aplicación de portal web de los dispositivos de usuario 101a-101n; posibilitando de esta manera la visualización de primitivas gráficas. Es de destacar, que el módulo de interfaz de usuario 215 puede operar en conexión con el módulo de autenticación 201 para permitir la entrada e intercambio de datos para posibilitar la agregación de atributos (por ejemplo, testigos) para que se asocien con un conjunto dado de datos de registro 109.
En una realización, una interfaz de comunicación 213 posibilita la formación de una sesión a través de una red 105 entre la plataforma de notificación universal 113 y la interfaz posibilitada por el módulo de interfaz de usuario 211. A modo de ejemplo, la interfaz de comunicación 213 ejecuta diversos protocolos y técnicas de compartición de datos para posibilitar la ejecución colaborativa entre un dispositivo de usuario del abonado 101a-101n (por ejemplo, dispositivos móviles, portátiles, teléfonos inteligentes, ordenadores de tableta, ordenadores de sobremesa) y la plataforma de notificación universal 113 a través de la red 105.
Las Figuras 3A-3C son diagramas de flujo de un proceso para facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para su integración con receptores de notificación de diferente tipo y función, de acuerdo con diversas realizaciones. En una realización, la plataforma de notificación universal 113 realiza el proceso 300 de manera independiente (por ejemplo, como una solución de anfitrión o basada en la nube) o en conexión (por ejemplo, como una solución integrada) con el servicio activado para notificación 103; y se implementa en, por ejemplo, un conjunto de chips que incluye un procesador y una memoria como se muestra en la Figura 7. Para el fin de ilustración, los procesos se describen con respecto a la Figura 1. Se observa que las etapas del proceso pueden realizarse en cualquier orden adecuado, así como combinarse o separarse de cualquier manera adecuada.
En la etapa 301 del proceso 300 (Figura 3A), la plataforma de notificación universal 103 recibe datos para identificar uno o más receptores de notificación y/o uno o más atributos del uno o más receptores de notificación. Como se ha mencionado previamente, estos datos pueden proporcionarse como testigos y los atributos del uno o más receptores de notificación pueden incluir detalles con respecto a una plataforma, una versión, un proveedor, un modelo, una operadora o una combinación de los mismos. En la etapa 303, la plataforma 103 también asocia los datos con uno o más otros atributos de uno o más proveedores de servicio asociados con uno respectivo del uno o más receptores de notificación. El uno o más otros atributos pueden incluir detalles con respecto a un estado del uno o más receptores de notificación, uno o más usuarios de los receptores de notificación (por ejemplo, basándose en datos de perfil mantenidos como parte de la base de datos de registro 109), o una combinación de los mismos con respecto al proveedor de servicio. El proveedor de servicio puede incluir la operadora del dispositivo, operador de red, proveedor de servicios de comunicaciones u otra parte asociada con un dispositivo 101 abonado para recibir unos mensajes de tipo push desde una fuente de información tal como un servicio activado para notificación 103. Mediante la relación con el dispositivo 101, el proveedor de servicio puede contribuir a atributos tales como datos de geolocalización para el dispositivo 101, datos de estado de itinerancia, estado de origen de abonado e información de ciudad, información de hora pico, información de control parental y/o de privacidad (por ejemplo, ajustes de bloque de mensaje y/o contenido), etc.
En otra etapa 305, la plataforma de notificación universal procesa los datos y/o el uno o más otros atributos para determinar una o más reglas para especificar el encaminamiento de uno o más mensajes de notificación al uno o más receptores de notificación por una o más fuentes de información. La una o más fuentes de información incluyen los servicios activados para notificación 103a-103n. Como se ha mencionado anteriormente, las reglas pueden incluir diversas expresiones lógicas (por ejemplo, valores de cadena, valores booleanos) para posibilitar el análisis de mensajes de notificación. Por la etapa 307, la plataforma 113 almacena adicionalmente una o más etiquetas 109a en asociación con el uno o más receptores de notificación basándose, al menos en parte, en la una o más reglas. Como se ha descrito anteriormente, la generación y almacenamiento de etiqueta incluye, por ejemplo asociar las etiquetas 109a con uno o más dispositivos de suscripción 101 en conexión con los datos de registro 109.
En la etapa 309 del proceso 308 (Figura 3B), la plataforma 113 recibe una solicitud de registro del uno o más receptores de notificación para entrega del uno o más mensajes de notificación. Como parte de la solicitud, el uno o más receptores de notificación o el proveedor de servicio asociado pueden proporcionar detalles con respecto al dispositivo y/o red de operador. Por la etapa 311, la plataforma 113 genera una o más etiquetas basándose en el registro y/o la una o más reglas.
En la etapa 313, habiendo generado las diversas etiquetas 109 y asociándolas con los datos de registro 109, la plataforma 113 recibe uno o más mensajes de notificación desde la una o más fuentes de información (por ejemplo, servicios 103a-103n). Por la etapa 315, la plataforma 113 encamina de manera selectiva los mensajes de notificación al uno o más receptores de notificación 101a-101n basándose en la una o más etiquetas. En ciertas realizaciones, el servicio envía un mensaje de notificación en conjunto con la carga o cargas útiles de notificación y/o las expresiones de filtro de etiqueta. La carga útil puede incluir una especificación de los diversos formatos de datos de los mensajes de notificación. Para cada receptor de notificación conectado 101a-101n, los mensajes de notificación se evalúan contra la expresión a través del conjunto de etiquetas 1109a. En caso de una coincidencia, el mensaje se envía a ese receptor de notificación específico 101a-101n, y se proporciona a continuación para procesamiento a la aplicación de recepción 107a-107n (por ejemplo, cliente de correo electrónico, cliente de SMS, cliente de servicio de mensajería multimedia (MMS)).
5
10
15
20
25
30
35
40
45
50
55
60
65
En la etapa 317 del proceso 316, la plataforma 113 determina uno o más cambios para el uno o más atributos de receptores de notificación 101a-101n, el uno o más otros atributos del proveedor de servicio asociados con los receptores de notificación, o una combinación de los mismos. Los cambios detectados por la plataforma 113 pueden incluir el estado de dispositivo o cambios de estado tales como el estado de itinerancia, estado de disponibilidad de red, estado de modo de emergencia de dispositivo, estado de conectividad de datos, etc. Se contempla, en realizaciones futuras, que los estados de uso del dispositivo puedan considerarse también para tener en cuenta cambios en requisito o uso de aplicación. A modo de ejemplo, los datos de registro 109a pueden incluir un formato de datos preferido para recibir mensajes de tipo push con relación a una hora del día determinada o actividad de usuario/dispositivo detectada. En un caso de uso a modo de ejemplo, las reglas de etiquetado 215 pueden indicar que el mensaje de tipo push se ha de recibir mediante una aplicación de cliente de correo electrónico cuando el usuario está participando en una reunión (por ejemplo, basándose en una combinación de tiempo, localización, o datos de uso de aplicación actual), mientras se recibe como un mensaje de SMS si el usuario está corriendo (por ejemplo, basándose en una combinación de datos de movimiento o de localización).
En la etapa 319, basándose en el uno o más cambios, la plataforma 113 actualiza la una o más reglas para especificar la entrega de la una o más notificaciones. La actualización puede incluir especificar nuevos requisitos de localización geográfica, condiciones de itinerancia, etc. Por la etapa 321, la plataforma almacena la una o más etiquetas actualizadas basándose en la actualización de la una o más reglas. Esto puede incluir la eliminación o adición de las etiquetas 109a, o la anexión de datos a una etiqueta existente 109a. Como tal, las etiquetas actualizadas 109a están asociadas con los datos de registro 109 para posibilitar que los respectivos receptores de notificación 101a-101n tengan en cuenta cambios dinámicos con el tiempo.
La Figura 4 es un diagrama que representa un proceso de registro del sistema de la Figura 1, de acuerdo con una realización. Para fines de ejemplo, se representa la interacción entre la plataforma de notificación universal 407 y una plataforma de notificación nativa 405 así como un servicio activado para notificación 413. Se observa que la plataforma de notificación nativa 405 puede incluir una plataforma de notificación preferida de un dispositivo móvil 401 dado, tal como una plataforma basada en empleado u otra similar para gestionar mensajería de tipo push para múltiples clientes. La plataforma de notificación universal 407 puede interactuar por lo tanto con la plataforma nativa 405 para realizar o posibilitar las mismas capacidades de mensajería de tipo push sin la necesidad de generar múltiples instancias del mensaje de tipo push para adaptar diferentes formatos de mensajería, requisitos de la aplicación 403 y diferentes redes de operador 415a-415b u operadoras y similares.
A modo de ejemplo, el proceso de registro es polifacético, e incluye etapas de registro realizadas de manera singular o en tándem como sigue:
1. El dispositivo móvil 401 que tiene operable en el mismo una aplicación de mensajería 403 se registra con la plataforma de notificación nativa 405, que corresponde a la etapa 404. Además, el proceso de suscripción/registro, por la etapa 402, incluye un registro del dispositivo móvil 401 con la plataforma de notificación universal 407. Los datos de registro 409 se mantienen, y pueden incluir información de dispositivo que incluye diversos atributos del dispositivo (por ejemplo, datos de operadora, datos de versión, datos de plataforma, etc.).
2. La plataforma de notificación universal 407 se registra con la plataforma de notificación nativa 405, por la etapa 406. Por medio de este registro, el servicio activado para notificación 413 afiliado con la plataforma de notificación nativa 405 se permite que participe con la plataforma de notificación universal 407 directamente y en lugar de la plataforma nativa 405. En consecuencia, por la ejecución descrita con respecto a los procesos de las Figuras 3A-3C, las reglas de auto-etiquetado (reglas de etiquetado) pueden presentarse a la plataforma de notificación universal 407. Esto corresponde a la etapa 408. Una vez que se especifican las reglas - es decir, como una o más expresiones - los datos de registro 409 pueden mantenerse por la plataforma de notificación universal 407 en asociación con la una o más etiquetas 411. De esta manera, puede soportarse ejecución de mensajería condicional y dinámica.
Se observa que la etapa de registro 406, representada por la línea unidireccional 406, puede reservarse en ciertos casos o ser unidireccional. En el primer caso, la plataforma de notificación nativa 405 puede iniciar un proceso de registro con la plataforma de notificación universal 407, mientras que en el último caso el registro se realiza en una base de registro entre pares o mutua.
La Figura 5 es un diagrama que representa un proceso de encaminamiento de mensaje de notificación dirigido (push) del sistema de la Figura 1, de acuerdo con una realización. Para fines de ejemplo, se representa la interacción entre la plataforma de notificación universal 509 y múltiples plataformas de notificación nativas 503 y 505 así como un servicio activado para notificación 513. Se observa que las plataformas de notificación nativas pueden configurarse para posibilitar mensajería de tipo push para una pluralidad de diferentes dispositivos móviles 501a- 501n, soportando cada uno únicamente un tipo de mensajería específico (por ejemplo, SMS frente a mensajería basada en Notificación Push de Apple). Adicionalmente, los diferentes dispositivos pueden corresponder a redes de operador variables 507a y 507b. La plataforma de notificación universal 407 puede interactuar por lo tanto con las plataformas nativas 503 y 505 en la capacidad de un intermediario, en el que los mensajes de notificación proporcionados por un servicio 513 pueden adaptarse para alojar diferentes dispositivos 501a-501n, redes de
5
10
15
20
25
30
35
40
45
50
55
60
65
operador 507a y 507b, y otras condiciones.
A modo de ejemplo, el proceso de encaminamiento de mensaje de notificación incluye etapas realizadas de manera singular o en tándem como sigue:
1. El servicio activado para notificación 513 afiliado con las plataformas de notificación nativas 503 y 507 envía un mensaje de notificación. La carga útil puede incluir el contenido del mensaje de notificación junto con diversos datos para indicar los dispositivos objetivo 501a-501n a los que deberían dirigirse, estadísticas de datos, etc. Junto con el mensaje de notificación, el servicio activado para notificación 513 especifica uno o más filtros de etiqueta - es decir, condiciones y/o expresiones para restringir o filtrar la lista de dispositivos receptores 501a- 501n basándose en dichas condiciones. Estas acciones corresponden a la etapa 502. Es de destacar, que la plataforma de notificación universal 509 recibe el mensaje de notificación a diferencia de las plataformas de notificación nativas, que carecen de la capacidad de encaminamiento de mensaje de tipo push dinámico basado en condición.
2. La plataforma de notificación universal 509 evalúa las expresiones de filtro de etiqueta para cada dispositivo/usuario mantenido en la base de datos de registro 511, por la etapa 504. La evaluación puede incluir determinar el uno o más dispositivos que tienen el uno o más atributos que corresponden al uno o más formatos de datos especificados como parte de la carga útil. Además, las expresiones de filtro de etiqueta pueden procesarse con respecto a una o más reglas de etiquetado para representar una lista de dispositivos que coinciden con estos criterios. La evaluación y proceso se realiza basándose en las etiquetas 515 mantenidas junto con los datos de registro 511.
3. Una vez que se genera la lista, el mensaje de notificación se envía a las correspondientes plataformas de notificación nativas 503 y 505, y más adelante a los dispositivos que coinciden con las expresiones de filtro de etiqueta (por ejemplo, la lista). Esto corresponde a las etapas 506 y 508.
La implementación técnica anteriormente descrita está basada en la abstracción de la conexión (por ejemplo, la conexión/registro de notificación del abonado con la plataforma de notificación), de modo que el proceso de mensajería de tipo push se realiza de manera independiente de la plataforma de notificación nativa 503 y 505. A modo de ejemplo, puede haber cinco clientes que usen los dispositivos móviles 501a-501e, donde 501a y 501b son dispositivos basados en iPhone® y por lo tanto se basan únicamente en el mecanismo de notificación de APN. 501c es un dispositivo basado en Android™ que se basa en notificaciones de C2DM, mientras que 501d y 501e son un teléfono inteligente Blackberry® y una micro edición de la plataforma Java™ genérica (J2ME), que se basa en mensajería de tipo Push de Blackberry® y notificación de tipo push de SMS respectivamente. Para posibilitar que el proveedor de servicio desarrolle una aplicación para cada uno de estos dispositivos para uso con el servicio activado para notificación 513 - es decir, notificaciones a todos los clientes o a algunos de los dispositivos - el proveedor se integra con la plataforma de notificación universal 509 tanto en el lado del dispositivo como en el del servidor para hacer esto.
Se observa que la ejecución de la plataforma de notificación universal, por este caso de uso a modo de ejemplo, se posibilita desacoplando la configuración de encaminamiento de mensaje desde el proceso de envío de mensaje. Por ejemplo, el proceso de generación y asociación de etiquetas con los diversos receptores de notificación 501a-501e se realiza independiente del proceso de encaminamiento de mensaje; en el que el encaminamiento se tiene en cuenta por la plataforma relacionada con el proceso de generación de etiqueta como una o más reglas de etiquetado.
Los mismos enfoques y metodologías como se han presentado anteriormente pueden aplicarse a otros escenarios de comunicación tales como esquemas de mensajería que requieren el protocolo de transferencia de hipertexto (HTTP). Bajo este escenario, la aplicación web una vez desplegada en un contenedor web definiría las reglas de etiquetado para las solicitudes entrantes. El servidor web aplicaría a continuación estas reglas de etiquetado a cada solicitud de HTTP entrante y las “etiquetaría” con cero o más valores. Estos valores pueden usarse por cualquiera de la misma aplicación web o por el contenedor web para permitir manejo específico del solicitante (específico de contexto) de las solicitudes.
Aún además, para el ejemplo anterior, puede establecerse una conexión de mantenimiento de la actividad (persistente) por el cliente web (explorador, aplicación de Internet rica) al servidor web. El servicio intermedio - es decir, la plataforma 113 - puede usar la conexión para realizar lo siguiente: (1) solicitar un “registro”, (2) pre-calcular etiquetas basándose en esta solicitud de registro, e (3) insertar automáticamente estas etiquetas en cada solicitud enviada mediante la conexión establecida. Esta automatización se hace posible puesto que la conexión es de manera persistente desde el mismo cliente. Como resultado, la cantidad de trabajo requerido para facilitar la interacción de cliente-servidor se reduce puesto que algunos de los cálculos/búsquedas requeridos se harán únicamente cuando viene la primera solicitud pero no para solicitudes posteriores.
Los procesos descritos en el presente documento para facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para su integración con receptores de notificación de diferente tipo y función pueden implementarse ventajosamente mediante software, hardware, firmware o una combinación de software y/o firmware
5
10
15
20
25
30
35
40
45
50
55
60
65
y/o hardware. Por ejemplo, los procesos descritos en el presente documento, pueden implementarse ventajosamente mediante procesador o procesadores, chip de Procesamiento de Señales Digitales (DSP), un Circuito Integrado Específico de la Aplicación (ASIC), Campo de Matrices de Puertas Programables (FPGA), etc. Tal hardware ilustrativo para realizar las funciones descritas se detalla a continuación.
La Figura 6 ilustra un sistema informático 600 en el que puede implementarse una realización de la invención. Aunque el sistema informático 600 se representa con respecto a un dispositivo o equipo particular, se contempla que otros dispositivos o equipo (por ejemplo, elementos de red, servidores, etc.) en la Figura 6 pueden desplegar el hardware y componentes del sistema 600 ilustrado. El sistema informático 600 está programado (por ejemplo, mediante código o instrucciones de programa informático) para facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para integración con los dispositivos de diferente tipo y función como se describe en el presente documento e incluye un mecanismo de comunicación tal como un bus 610 para pasar información entre otros componentes internos y externos del sistema informático 600. La información (también denominada datos) se representa como una expresión física de un fenómeno medible, normalmente tensiones eléctricas, pero incluyendo, en otras realizaciones, tales fenómenos como interacciones magnéticas, electromagnéticas, de presión, químicas, biológicas, moleculares, atómicas subatómicas y cuánticas. Por ejemplo, los campos magnéticos norte y sur, o una tensión eléctrica cero y no cero, representan dos estados (0, 1) de un dígito binario (bit). Otros fenómenos pueden representar dígitos de una base superior. Una superposición de múltiples estados cuánticos simultáneos antes de la medición representa un bit cuántico (qubit). Una secuencia de uno o más dígitos constituye datos digitales que se usan para representar un número o código para un carácter. En algunas realizaciones, la información denominada datos analógicos se representa por un continuo cercano de valores medibles dentro de un rango particular. El sistema informático 600, o una porción del mismo, constituyen un medio para realizar una o más etapas de facilitación de procesamiento automatizado de mensajes de notificación dirigidos (push) para integración con los dispositivos de diferente tipo y función.
Un bus 610 incluye uno o más conductores paralelos de información de modo que la información se transfiere rápidamente entre dispositivos acoplados al bus 610. Uno o más procesadores 602 para procesar información están acoplados con el bus 610.
Un procesador (o múltiples procesadores) 602 realiza un conjunto de operaciones en información como se especifica por código de programa informático relacionado para facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para integración con los dispositivos de diferente tipo y función. El código de programa informático es un conjunto de instrucciones o declaraciones que proporcionan instrucciones para la operación del procesador y/o el sistema informático para realizar funciones especificadas. El código, por ejemplo, puede escribirse en un lenguaje de programación informático que se compila en un conjunto de instrucciones nativas del procesador. El código puede escribirse también directamente usando el conjunto de instrucciones nativas (por ejemplo, lenguaje de máquina). El conjunto de operaciones incluye proporcionar información desde el bus 610 y colocar información en el bus 610. El conjunto de operaciones también incluye normalmente comparar dos o más unidades de información, desplazar posiciones de unidades de información y combinar dos o más unidades de información, tal como mediante adición o multiplicación u operaciones lógicas como OR exclusiva o (XOR) y AND. Cada operación del conjunto de operaciones que puede realizarse por el procesador se representa para el procesador por información denominada instrucciones, tal como un código de operación de uno o más dígitos. Una secuencia de operaciones a ejecutarse por el procesador 602, tal como una secuencia de códigos de operación, constituir instrucciones de procesador, también denominadas instrucciones de sistema informático o, simplemente, instrucciones informáticas. Los procesadores pueden implementarse como componentes mecánicos, eléctricos, magnéticos, ópticos, químicos o cuánticos, entre otros, en solitario o en combinación.
El sistema informático 600 también incluye una memoria 604 acoplada al bus 610. La memoria 604, tal como una memoria de acceso aleatorio (RAM) o cualquier otro dispositivo de almacenamiento dinámico, almacena información que incluye instrucciones de procesador para facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para integración con los dispositivos de diferente tipo y función. La memoria dinámica permite que se cambie información almacenada en la misma por el sistema informático 600. La RAM permite que se almacene una unidad de información en una localización denominada una dirección de memoria y que se recupere independientemente de la información en direcciones vecinas. La memoria 604 se usa también por el procesador 602 para almacenar valores temporales durante la ejecución de instrucciones de procesador. El sistema informático 600 también incluye una memoria de sólo lectura (ROM) 606 o cualquier otro dispositivo de almacenamiento estático acoplado al bus 610 para almacenar información estática, que incluye instrucciones, que no se cambian por el sistema informático 600. Alguna memoria está compuesta de almacenamiento volátil que pierde la información almacenada en la misma cuando se pierde la alimentación. También acoplado al bus 610 se encuentra un dispositivo de almacenamiento 608 no volátil (persistente), tal como un disco magnético, disco óptico o tarjeta flash, para almacenar información, incluyendo instrucciones, que persisten incluso cuando el sistema informático 600 se apaga o pierde la alimentación de otra manera.
La información, que incluye instrucciones para facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para integración con los dispositivos de diferente tipo y función, se proporciona al bus 610 para su uso por el procesador desde un dispositivo de entrada externo 612, tal como un teclado que contiene teclas
5
10
15
20
25
30
35
40
45
50
55
60
65
alfanuméricas operadas por un usuario humano o un sensor. Un sensor detecta condiciones en sus cercanías y transforma estas detecciones en la expresión física compatible con el fenómeno medible usado para representar información en el sistema informático 600. Otros dispositivos externos acoplados al bus 610, usados principalmente para interactuar con seres humanos, incluyen un dispositivo de visualización 614, tal como un tubo de rayos catódicos (CRT), una pantalla de cristal líquido (LCD), una pantalla de diodo de emisión de luz (LED), una pantalla de LED orgánico (OLED), una pantalla de plasma, o una impresora para presentar texto o imágenes, y un dispositivo apuntador 616, tal como un ratón, una bola de mando, teclas de dirección de cursor, o un sensor de movimiento, para controlar una posición de una imagen de pequeño cursor presentada en la pantalla 614 y que emite comandos asociados con elementos gráficos presentados en la pantalla 614. En algunas realizaciones, por ejemplo, en las realizaciones en las que el sistema informático 600 realiza todas las funciones automáticamente sin entrada humana, se omite uno o más del dispositivo de entrada externo 612, la pantalla de visualización 614 y el dispositivo apuntador 616.
En la realización ilustrada, el hardware de fin especial, tal como un circuito integrado específico de la aplicación (ASIC) 620, está acoplado al bus 610. El hardware de fin especial está configurado para realizar operaciones no realizadas por el procesador 602 lo suficientemente rápido para fines especiales. Ejemplos de los ASIC incluyen tarjetas aceleradoras gráficas para generar imágenes para visualización 614, placas criptográficas para encriptar y desencriptar mensajes enviados a través de una red, reconocimiento de voz e interfaces a dispositivos externos especiales, tales como brazos robóticos y equipo de exploración médica que realiza de manera repetitiva alguna secuencia de operaciones complejas que se implementan de manera más efectiva en hardware.
El sistema informático 600 también incluye uno o más casos de una interfaz de comunicaciones 670 acoplada al bus 610. La interfaz de comunicación 670 proporciona una comunicación unidireccional o bidireccional que se acopla a diversos dispositivos externos que operan con sus propios procesadores, tales como impresoras, escáneres y discos externos. En general el acoplamiento es con un enlace de red 678 que está conectado a una red local 680 a la que están conectados diversos dispositivos externos con sus propios procesadores. Por ejemplo, la interfaz de comunicación 670 puede ser un puerto paralelo o un puerto serie o un puerto de bus serie universal (USB) en un ordenador personal. En algunas realizaciones, la interfaz de comunicaciones 670 es una tarjeta de red digital de servicios integrados (ISDN) o una tarjeta de línea digital de abonado (DSL) o un módem de teléfono que proporciona conexión de comunicación de información a un tipo correspondiente de línea de teléfono. En algunas realizaciones, una interfaz de comunicación 670 es un módem de cable que convierte señales en el bus 610 en señales para una conexión de comunicación a través de un cable coaxial o en señales ópticas para una conexión de comunicación a través de un cable de fibra óptica. Como otro ejemplo, la interfaz de comunicaciones 670 puede ser una tarjeta de red de área local (LAN) para proporcionar una conexión de comunicación de datos a una LAN compatible, tal como Ethernet. También pueden implementarse enlaces inalámbricos. Para enlaces inalámbricos, la interfaz de comunicaciones 670 envía y recibe, o tanto envía como recibe, señales eléctricas, acústicas o electromagnéticas, incluyendo señales infrarrojas y ópticas, que llevan flujos de información, tal como datos digitales. Por ejemplo, en dispositivos portátiles inalámbricos, tal como teléfonos móviles como teléfonos celulares, la interfaz de comunicaciones 670 incluye un transmisor y receptor electromagnético de banda de radio denominado un transceptor de radio. En ciertas realizaciones, la interfaz de comunicaciones 670 posibilita conexión a la red de comunicación 105 para facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para integración con los dispositivos de diferente tipo y función al UE 101.
La expresión “medio legible por ordenador” como se usa en el presente documento hace referencia a cualquier medio que participa en proporcionar información al procesador 602, que incluye instrucciones para su ejecución. Un medio de este tipo puede tomar muchas formas, incluyendo, pero sin limitación, medio de almacenamiento legible por ordenador (por ejemplo, medios no volátiles, medios volátiles), y medios de transmisión. Medios no transitorios, tales como medios no volátiles, incluyen, por ejemplo, discos ópticos o magnéticos, tal como el dispositivo de almacenamiento 608. Medios volátiles incluyen, por ejemplo, memoria dinámica 604. Medios de transmisión incluyen, por ejemplo, cables de par trenzado, cables coaxiales, alambre de cobre, cables de fibra óptica, y ondas portadoras que recorren a través del espacio sin alambres o cables, tales como ondas acústicas y ondas electromagnéticas, incluyendo ondas de radio, ópticas y de infrarrojos. Las señales incluyen variaciones transitorias hechas por el hombre en amplitud, frecuencia, fase, polarización u otras propiedades físicas transmitidas a través de los medios de transmisión. Formas comunes de medio legible por ordenador incluyen, por ejemplo, un disquete, un disco flexible, disco duro, cinta magnética, cualquier otro medio magnético, un CD-ROM, CD-RW, DVD, cualquier otro medio óptico, tarjetas perforadas, cinta de papel, láminas de marcación ópticas, cualquier otro medio físico con patrones de orificios u otros indicios ópticamente reconocibles, una RAM, una PROM, una EPROM, una FLASH- EPROM, una EEPROM, una memoria flash, cualquier otro chip o cartucho de memoria, una onda portadora, o cualquier otro medio a partir del cual un ordenador pueda leer. La expresión medio de almacenamiento legible por ordenador se usa en el presente documento para hacer referencia a cualquier medio legible por ordenador excepto medios de transmisión.
Lógica codificada en uno o más medios tangibles incluye uno o ambos de instrucciones de procesador en un medio de almacenamiento legible por ordenador y hardware de fin especial, tal como el ASIC 620.
El enlace de red 678 normalmente proporciona comunicación de información usando medios de transmisión a través
5
10
15
20
25
30
35
40
45
50
55
60
65
de una o más redes a otros dispositivos que usan o procesan la información. Por ejemplo, el enlace de red 678 puede proporcionar una conexión a través de la red local 680 a un ordenador de anfitrión 682 o al equipo 684 operado por un Proveedor de Servicio de Internet (ISP). El equipo de ISP 684 a su vez proporciona servicios de comunicación de datos a través de la red de comunicación de conmutación de paquetes a nivel mundial pública de redes ahora comúnmente denominadas como la Internet 690.
Un ordenador denominado un anfitrión de servidor 692 conectado a la Internet aloja un proceso que proporciona un servicio en respuesta a información recibida a través de la Internet. Por ejemplo, el anfitrión de servidor 692 aloja un proceso que proporciona información que representa datos de vídeo para presentación en la pantalla 614. Se contempla que los componentes del sistema 600 puedan desplegarse en diversas configuraciones en otros sistemas informáticos, por ejemplo, el anfitrión 682 y el servidor 692.
Al menos algunas realizaciones de la invención están relacionadas con el uso del sistema informático 600 para implementar algunas o todas las técnicas descritas en el presente documento. De acuerdo con una realización de la invención, estas técnicas se realizan por el sistema informático 600 en respuesta a un procesador 602 que ejecuta una o más secuencias de una o más instrucciones de procesador contenidas en memoria 604. Tales instrucciones, también denominadas instrucciones informáticas, software y código de programa, pueden leerse en memoria 604 desde otro medio legible por ordenador tal como el dispositivo de almacenamiento 608 o el enlace de red 678. La ejecución de las secuencias de instrucciones contenidas en memoria 604 provoca que el procesador 602 realice una o más de la etapas de métodos descritas en el presente documento. En realizaciones alternativas, puede usarse hardware, tal como el ASIC 620, en lugar de o en combinación con software para implementar la invención. Por lo tanto, las realizaciones de la invención no están limitadas a combinación específica alguna de hardware y software, a menos que se establezca explícitamente de otra manera en el presente documento.
Las señales transmitidas a través del enlace de red 678 y otras redes a través de la interfaz de comunicaciones 670, llevar información a y desde el sistema informático 600. El sistema informático 600 puede enviar y recibir información, que incluye código de programa, a través de las redes 680, 690 entre otros, a través del enlace de red 678 y la interfaz de comunicaciones 670. En un ejemplo usando la Internet 690, un anfitrión de servidor 692 transmite código de programa para una aplicación particular, solicitado por un mensaje enviado desde el ordenador 600, a través de la Internet 690, el equipo de ISP 684, la red local 680 y la interfaz de comunicaciones 670. El código recibido puede ejecutarse por el procesador 602 según se recibe, o puede almacenarse en la memoria 604 o en el dispositivo de almacenamiento 608 o cualquier otro almacenamiento no volátil para ejecución posterior, o ambos. De esta manera, el sistema informático 600 puede obtener código de programa de aplicación en forma de señales en una onda portadora.
Diversas formas de medio legible por ordenador pueden verse implicadas en llevar una o más secuencias de instrucciones o datos o ambas al procesador 602 para su ejecución. Por ejemplo, las instrucciones y datos pueden llevarse inicialmente en un disco magnético de un ordenador remoto tal como el anfitrión 682. El ordenador remoto carga las instrucciones y datos en su memoria dinámica y envía las instrucciones y datos a través de una línea de teléfono usando un módem. Un módem local al sistema informático 600 recibe las instrucciones y datos en una línea de teléfono y usa un transmisor de infrarrojos para convertir las instrucciones y datos a una señal en una onda portadora de infrarrojos que sirve como el enlace de red 678. Un detector de infrarrojos que sirve como la interfaz de comunicaciones 670 recibe las instrucciones y datos llevados en la señal de infrarrojos y coloca información que representa las instrucciones y datos en el bus 610. El bus 610 lleva la información a la memoria 604 desde la que el procesador 602 recupera y ejecuta las instrucciones usando algunos de los datos enviados con las instrucciones. Las instrucciones y los datos recibidos en memoria 604 pueden almacenarse opcionalmente en el dispositivo de almacenamiento 608, antes o después de la ejecución por el procesador 602.
La Figura 7 ilustra un conjunto de chips o chip 700 en los que puede implementarse una realización de la invención. El conjunto de chips 700 está programado para facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para integración con los dispositivos de diferente tipo y función como se describe en el presente documento e incluye, por ejemplo, el procesador y componentes de memoria descritos con respecto a la Figura 6 incorporados en uno o más paquetes físicos (por ejemplo, chips). A modo de ejemplo, un paquete físico incluye una disposición de uno o más materiales, componentes y/o alambres en un montaje estructural (por ejemplo, una placa base) para proporcionar una o más características tal como intensidad física, conservación de tamaño y/o limitación de interacción eléctrica. Se contempla que en ciertas realizaciones el conjunto de chips 700 pueda implementarse en un único chip. Se contempla adicionalmente que en ciertas realizaciones el conjunto de chips o chip 700 pueda implementarse como un único “sistema en un chip”. Se contempla adicionalmente que en ciertas realizaciones un ASIC separado no se usaría, por ejemplo, y que todas las funciones relevantes según se desvelan en el presente documento se realizaran por un procesador o procesadores. El conjunto de chips o chip 700, o una porción de los mismos, constituye un medio para realizar una o más etapas de proporcionar información de navegación de interfaz de usuario asociada con la disponibilidad de funciones. El conjunto de chips o chip 700, o una porción de los mismos, constituye un medio para realizar una o más etapas de facilitación de procesamiento automatizado de mensajes de notificación dirigidos (push) para integración con los dispositivos de diferente tipo y función.
En una realización, el conjunto de chips o chip 700 incluye un mecanismo de comunicación tal como un bus 701
5
10
15
20
25
30
35
40
45
50
55
60
65
para pasar información entre los componentes del conjunto de chips 700. Un procesador 703 tiene conectividad al bus 701 para ejecutar instrucciones y procesar información almacenada en, por ejemplo, una memoria 705. El procesador 703 puede incluir uno o más núcleos de procesamiento con cada núcleo configurado para rendir de manera independiente. Un procesador de múltiples núcleos posibilita multiprocesamiento en un único paquete físico. Ejemplos de un procesador de múltiples núcleos incluyen dos, cuatro, ocho o mayores números de núcleos de procesamiento. Como alternativa o además, el procesador 703 puede incluir uno o más microprocesadores configurados en tándem mediante el bus 701 para posibilitar la ejecución independiente de instrucciones, ejecución en cascada y múltiples hilos. El procesador 703 puede acompañarse también con uno o más componentes especializados para realizar ciertas funciones de procesamiento y tareas tal como uno o más procesadores de señales digitales (DSP) 707, o uno o más circuitos integrados específicos de la aplicación (ASIC) 709. Un DSP 707 normalmente está configurado para procesar señales del mundo real (por ejemplo, sonido) en tiempo real de manera independiente del procesador 703. De manera similar, un ASIC 709 puede configurarse para realizar funciones especializadas no fácilmente realizadas por un procesador de fin más general. Otros componentes especializados para ayudar a realizar las funciones inventivas descritas en el presente documento pueden incluir uno o más campos de matrices de puertas programables (FPGA) (no mostrados), uno o más controladores (no mostrados), o uno o más otros chips informáticos de fin especial.
En una realización, el conjunto de chips o chip 700 incluye simplemente uno o más procesadores y algún software y/o firmware que soporta y/o está relacionado con y/o para el uno o más procesadores.
El procesador 703 y componentes adjuntos tienen conectividad a la memoria 705 mediante el bus 701. La memoria 705 incluye tanto memoria dinámica (por ejemplo, RAM, disco magnético, disco óptico escribible, etc.) como memoria estática (por ejemplo, ROM, CD-ROM, etc.) para almacenar instrucciones ejecutables que cuando se ejecutan realizan las etapas inventivas descritas en el presente documento para facilitar procesamiento automatizado de mensajes de notificación dirigidos (push) para integración con los dispositivos de diferente tipo y función. La memoria 705 también almacena los datos asociados con o generados por la ejecución de las etapas inventivas.
La Figura 8 es un diagrama de componentes a modo de ejemplo de un terminal móvil (por ejemplo, microteléfono) para comunicaciones, que pueden operar en el sistema de la Figura 1, de acuerdo con una realización. En algunas realizaciones, el terminal móvil 801, o una porción del mismo, constituye un medio para realizar una o más etapas de facilitación de procesamiento automatizado de mensajes de notificación dirigidos (push) para integración con los dispositivos de diferente tipo y función. En general, un receptor de radio a menudo se define en términos de características de extremo frontal y extremo trasero. El extremo frontal del receptor abarca toda la circuitería de Frecuencia de Radio (RF) mientras que el extremo trasero abarca toda la circuitería de procesamiento de banda base. Como se usa en esta solicitud, el término “circuitería” hace referencia a tanto: (1) implementaciones únicamente en hardware (tal como implementaciones en únicamente circuitería analógica y/o digital), y (2) a combinaciones de circuitería y software (y/o firmware) (tal como, si fuera aplicable al contexto particular, a una combinación de procesador o procesadores, incluyendo procesador o procesadores de señales digitales, software, y memoria o memorias que funcionan juntos para provocar que un aparato, tal como un teléfono móvil o servidor, realice diversas funciones). Esta definición de “circuitería” se aplica a todos los usos de este término en esta solicitud, incluyendo en cualesquiera reivindicaciones. Como un ejemplo adicional, como se usa en esta solicitud y si es aplicable al contexto particular, el término “circuitería” cubriría también una implementación de simplemente un procesador (o múltiples procesadores) y su (o sus) software/o firmware adjunto. El término “circuitería” cubriría también, si fuera aplicable al contexto particular, por ejemplo, un circuito integrado de banda base o circuito integrado de procesador de aplicaciones en un teléfono móvil o un circuito integrado similar en un dispositivo de red celular u otros dispositivos de red.
Los componentes internos pertinentes del teléfono incluyen una Unidad de Control Principal (MCU) 803, un procesador de señales digitales (DSP) 805, y una unidad de receptor/transmisor que incluye una unidad de control de ganancia de micrófono y una unidad de control de ganancia de altavoz. Una unidad de visualización principal 807 proporciona una pantalla para el usuario para soporte de diversas aplicaciones y funciones del terminal móvil que realizan o soportan las etapas de facilitar procesamiento automatizado de mensajes de notificación dirigidos (push) para integración con los dispositivos de diferente tipo y función. La pantalla 807 incluye circuitería de visualización configurada para visualizar al menos una porción de una interfaz de usuario del terminal móvil (por ejemplo, teléfono móvil). Adicionalmente, la pantalla 807 y circuitería de visualización están configuradas para facilitar el control de usuario de al menos algunas funciones del terminal móvil. Una circuitería de función de audio 809 incluye un micrófono 811 y amplificador de micrófono que amplifica la señal de voz emitida desde el micrófono 811. La señal de voz amplificada emitida desde el micrófono 811 se alimenta a un codificador/decodificador (CÓDEC) 813.
Una sección de radio 815 amplifica la potencia y convierte frecuencia para comunicar con una estación base, que está incluida en un sistema de comunicación móvil, mediante la antena 817. El amplificador de potencia (PA) 819 y la circuitería de transmisor/modulación responden operativamente a la MCU 803, con una salida desde el PA 819 acoplado al duplexor 821 o circulador o conmutador de antena, como es conocido en la técnica. El PA 819 también se acopla a una interfaz de batería y unidad de control de potencia 820.
5
10
15
20
25
30
35
40
45
50
55
60
65
En uso, un usuario de terminal móvil 801 habla en el micrófono 811 y su voz junto con cualquier ruido de fondo detectado se convierte en una tensión analógica. La tensión analógica se convierte a continuación en una señal digital a través del Convertidor de Analógico a Digital (ADC) 823. La unidad de control 803 encamina la señal digital en el DSP 805 para procesamiento en el mismo, tal como codificación de voz, codificación de canal, encriptación e intercalación. En una realización, las señales de voz procesadas se codifican, por unidades no mostradas de manera separada, usando un protocolo de transmisión celular tal como velocidades de datos mejoradas para la evolución global (EDGE), servicio general de paquetes de radio (GPRS), sistema global para comunicación móvil (GSM), subsistema multimedia del protocolo de internet (IMS), sistema universal de telecomunicaciones móviles (UMTS), etc., así como cualquier otro medio inalámbrico adecuado, por ejemplo, acceso por microondas (WiMAX), redes de evolución a largo plazo (LTE), acceso múltiple por división de código (CDMA), acceso múltiple por división de código de banda ancha (WCDMA), fidelidad inalámbrica (WiFi), satélite y similares, o cualquier combinación de las mismas.
Las señales codificadas se encaminan a continuación a un ecualizador 825 para compensación de cualquier desajuste dependiente de la frecuencia que tenga lugar durante la transmisión a través del aire tal como distorsión de fase y amplitud. Después de ecualizar el flujo de bits, el modulador 827 combina la señal con una señal de RF generada en la interfaz de RF 829. El modulador 827 genera una onda seno por medio de modulación de frecuencia o fase. Para preparar la señal para transmisión, un conversor ascendente 831 combina la onda seno emitida desde el modulador 827 con otra onda seno generada por un sintetizador 833 para conseguir la frecuencia de transmisión deseada. La señal se envía a continuación a través de un PA 819 para aumentar la señal a un nivel de potencia apropiado. En sistemas prácticos, el PA 819 actúa como un amplificador de ganancia variable cuya ganancia se controla por el DSP 805 desde información recibida de una estación base de red. La señal se filtra a continuación en el duplexor 821 y se envía opcionalmente a un acoplador de antena 835 para adaptar impedancias para proporcionar transferencia de potencia máxima. Finalmente, la señal se transmite mediante la antena 817 a una estación base local. Puede suministrarse un control de ganancia automático (AGC) para controlar la ganancia de las etapas finales del receptor. Las señales pueden reenviarse desde allí a un teléfono remoto que puede ser otro teléfono celular, cualquier otro teléfono móvil o una línea terrestre conectada a una Red Telefónica Pública Conmutada (PSTN), u otras redes de telefonía.
Las señales de voz transmitidas al terminal móvil 801 se reciben mediante la antena 817 e inmediatamente se amplifican por un amplificador de bajo ruido (LNA) 837. Un conversor descendente 839 reduce la frecuencia de portadora mientras que el demodulador 841 elimina la RF dejando únicamente un flujo de bits digital. La señal a continuación va a través del ecualizador 825 y se procesa por el DSP 805. Un Convertidor de Digital a Analógico (DAC) 843 convierte la señal y la salida resultante se transmite al usuario a través del altavoz 845, todo bajo el control de una Unidad de Control Principal (MCU) 803 que puede implementarse como una Unidad de Procesamiento Central (CPU) (no mostrada).
La MCU 803 recibe diversas señales que incluyen señales de entrada desde el teclado 847. El teclado 847 y/o la MCU 803 en combinación con otros componentes de entrada de usuario (por ejemplo, el micrófono 811) comprenden una circuitería de interfaz de usuario para gestionar la entrada de usuario. La MCU 803 ejecuta un software de interfaz de usuario para facilitar control de usuario de al menos algunas funciones del terminal móvil 801 para facilitar el procesamiento automatizado de mensajes de notificación dirigidos (push) para integración con los dispositivos de diferente tipo y función. La MCU 803 también entrega un comando de visualización y un comando de conmutación a la pantalla 807 y al controlador de conmutación de salida de voz, respectivamente. Además, la MCU 803 intercambia información con el DSP 805 y puede acceder a una tarjeta de SIM 849 incorporada opcionalmente y a una memoria 851. Además, la MCU 803 ejecuta diversas funciones de control requeridas del terminal. El DSP 805 puede, dependiendo de la implementación, realizar cualquiera de diversas funciones de procesamiento digital convencionales en las señales de voz. Adicionalmente, el DSP 805 determina el nivel de ruido de fondo del entorno local a partir de las señales detectadas por el micrófono 811 y establece la ganancia del micrófono 811 a un nivel seleccionado para compensar la tendencia natural del usuario del terminal móvil 801.
El CÓDEC 813 incluye el ADC 823 y el DAC 843. La memoria 851 almacena diversos datos que incluyen datos de tono entrante de llamada y es capaz de almacenar otros datos que incluyen datos de música recibidos mediante, por ejemplo, la Internet global. El módulo de software podría residir en memoria RAM, memoria flash, registros, o cualquier otra forma de medio de almacenamiento escribible conocido en la técnica. El dispositivo de memoria 851 puede ser, pero sin limitación, una memoria única, CD, DVD, ROM, RAM, EEPROM, almacenamiento óptico, almacenamiento de disco magnético, almacenamiento de memoria flash, o cualquier otro medio de almacenamiento no volátil que pueda almacenar datos digitales.
Una tarjeta SIM 849 incorporada opcionalmente lleva, por ejemplo, información importante, tal como el número de teléfono celular, el servicio de suministro de operadora, detalles de suscripción e información de seguridad. La tarjeta SIM 849 sirve principalmente para identificar el terminal móvil 801 en una red de radio. La tarjeta 849 también contiene una memoria para almacenar un registro de número de teléfono personal, mensajes de texto, y ajustes de terminal móvil específicos del usuario.
Aunque se ha descrito la invención en relación con un número de realizaciones e implementaciones, la invención no está de esta manera limitada sino que cubre diversas modificaciones evidentes que caen dentro del alcance de las
reivindicaciones adjuntas. Aunque las características de la invención se expresan en ciertas combinaciones entre las reivindicaciones, se contempla que estas características pueden estar dispuestas en cualquier combinación y orden.

Claims (13)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Un método que comprende:
    recibir datos que comprenden uno o más atributos que pertenecen a un estado de red de uno o más receptores de notificación,
    determinar una o más reglas para especificar el encaminamiento de mensajes de notificación al uno o más receptores de notificación basándose en el uno o más atributos
    almacenar una o más etiquetas (109a) en asociación con el uno o más receptores de notificación basándose en la una o más reglas; y
    monitorizar los datos que comprenden el uno o más atributos que pertenecen a un estado pertinente del uno o más receptores de notificación y actualizar etiquetas conforme a los cambios en el uno o más atributos.
  2. 2. Un método de la reivindicación 1, que comprende adicionalmente:
    recibir una solicitud para registro del uno o más receptores de notificación para entrega de mensajes de notificación; y
    generar la una o más etiquetas basándose en el registro, la una o más reglas o una combinación de los mismos.
  3. 3. Un método de acuerdo con cualquiera de las reivindicaciones 1 y 2, en el que la una o más reglas incluyen una o más expresiones lógicas para evaluar los mensajes de notificación.
  4. 4. Un método de acuerdo con cualquiera de las reivindicaciones 1-3, que comprende adicionalmente:
    recibir los mensajes de notificación desde las fuentes de información; y
    provocar un encaminamiento selectivo del uno o más mensajes de notificación al uno o más receptores de notificación basándose en la una o más etiquetas (109a).
  5. 5. Un método de la reivindicación 4, en el que el uno o más mensajes de notificación se reciben como una carga útil que indica formatos de datos especificados.
  6. 6. Un método de acuerdo con la reivindicación 5, en el que el encaminamiento selectivo comprende, evaluar los mensajes de notificación y, basándose en la evaluación, determinar receptores de notificación que tienen atributos que corresponden al uno o más formatos de datos especificados.
  7. 7. Un método de acuerdo con cualquiera de las reivindicaciones 1-6, en el que los datos incluyen, al menos en parte, testigos.
  8. 8. Un método de acuerdo con cualquiera de las reivindicaciones 1-7, en el que los atributos que pertenecen al estado de red comprenden datos de geolocalización para el dispositivo, datos de estado de itinerancia, estado de origen de abonado, información de ciudad, información de hora pico, información de control parental, información de control de privacidad.
  9. 9. Un método de acuerdo con cualquiera de las reivindicaciones 1-8, que comprende adicionalmente:
    determinar uno o más cambios para el uno o más atributos, el uno o más otros atributos o una combinación de los mismos;
    provocar, al menos en parte, una actualización de la una o más reglas para especificar la entrega de una o más notificaciones basándose, al menos en parte, en el uno o más cambios; y
    provocar, al menos en parte, un almacenamiento de una o más etiquetas actualizadas (109a) basándose, al menos en parte, en la actualización de la una o más reglas.
  10. 10. Un medio de almacenamiento legible por ordenador que lleva una o más secuencias de una o más instrucciones que, cuando son ejecutadas por uno o más procesadores, provocan que un aparato realice al menos un método de cualquiera de las reivindicaciones 1-9.
  11. 11. Un aparato (101) que comprende medios para realizar un método de cualquiera de las reivindicaciones 1-9.
  12. 12. Un aparato (101) de la reivindicación 11, en el que el aparato es un teléfono móvil que comprende adicionalmente:
    circuitería de interfaz de usuario y software de interfaz de usuario configurados para facilitar el control de usuario de al menos algunas funciones del teléfono móvil a través del uso de una pantalla y configurados para responder a entrada de usuario; y
    una pantalla y circuitería de pantalla configuradas para visualizar al menos una porción de una interfaz de usuario del teléfono móvil, la circuitería de pantalla y la pantalla configuradas para facilitar el control de usuario
    de al menos algunas funciones del teléfono móvil.
  13. 13. Un producto de programa informático que incluye una o más secuencias de una o más instrucciones que, cuando son ejecutadas por uno o más procesadores, provocan que un aparato al menos realice las etapas de un 5 método de cualquiera de las reivindicaciones 1-9.
ES12794054.2T 2011-05-31 2012-04-03 Método y aparato para encaminar mensajes de notificación Active ES2684146T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201113149421 2011-05-31
US13/149,421 US9088624B2 (en) 2011-05-31 2011-05-31 Method and apparatus for routing notification messages
PCT/FI2012/050334 WO2012164146A1 (en) 2011-05-31 2012-04-03 Method and apparatus for routing notification messages

Publications (1)

Publication Number Publication Date
ES2684146T3 true ES2684146T3 (es) 2018-10-01

Family

ID=47258420

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12794054.2T Active ES2684146T3 (es) 2011-05-31 2012-04-03 Método y aparato para encaminar mensajes de notificación

Country Status (4)

Country Link
US (1) US9088624B2 (es)
EP (1) EP2716014B1 (es)
ES (1) ES2684146T3 (es)
WO (1) WO2012164146A1 (es)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8731523B1 (en) * 2011-06-14 2014-05-20 Urban Airship, Inc. Push notification delivery system with feedback analysis
US8554855B1 (en) 2011-06-14 2013-10-08 Urban Airship, Inc. Push notification delivery system
US9350819B2 (en) * 2011-07-21 2016-05-24 Microsoft Technology Licensing, Llc Centralized service for distributed service deployments
US9552056B1 (en) 2011-08-27 2017-01-24 Fellow Robots, Inc. Gesture enabled telepresence robot and system
US8719261B2 (en) * 2011-12-02 2014-05-06 Verizon Patent And Licensing Inc. Dynamic catalog ranking
US9191237B1 (en) * 2012-05-24 2015-11-17 Dan Barry, Inc. Wireless communication systems and methods
US10348657B1 (en) * 2012-06-28 2019-07-09 Open Text Corporation System for delivering notification messages across different notification media
US8923823B1 (en) 2012-06-28 2014-12-30 Emc Corporation System for delivering and confirming receipt of notification messages across different notification media
US10084611B2 (en) * 2012-06-29 2018-09-25 Siemens Schweiz Ag Programmable symbol animation pre-processor for building automation graphics
CN104871184A (zh) 2012-11-12 2015-08-26 卡尔加里科学股份有限公司 用于通知并邀请用户加入协作会话的框架
US8904019B2 (en) * 2013-01-14 2014-12-02 Google Inc. Systems and methods for computing device communications
US20140298195A1 (en) * 2013-04-01 2014-10-02 Harman International Industries, Incorporated Presence-aware information system
US20140297762A1 (en) * 2013-04-02 2014-10-02 Intuit Inc. Method and system for timezone aware application programming interface
US20140337833A1 (en) * 2013-05-08 2014-11-13 Amazon Technologies, Inc. User-Influenced Placement of Virtual Machine Instances
EP3022905B1 (en) * 2013-07-17 2023-07-12 SourcePicture Inc. Systems and methods for content presentation management
US9866464B1 (en) * 2013-08-23 2018-01-09 Ca, Inc. Team notification on new support cases
US9998556B2 (en) * 2013-09-11 2018-06-12 Oath Inc. Unified end user notification platform
JP6329259B2 (ja) * 2013-11-22 2018-05-23 華為終端(東莞)有限公司 情報プッシュ先端末を選択するための方法および装置
US9667734B2 (en) * 2013-12-09 2017-05-30 Electronics And Telecommunications Research Institute Push notification-based remote control method and apparatus for the same
US9367631B2 (en) 2014-04-18 2016-06-14 Revolution Technologies, Inc. Dynamic directory and content communication
US10334066B2 (en) * 2014-07-23 2019-06-25 Varian Medical Systems, Inc. Method and system applications for push notifications
US9894009B2 (en) * 2014-08-29 2018-02-13 Microsoft Technology Licensing, Llc Client device and host device subscriptions
US9369425B2 (en) * 2014-10-03 2016-06-14 Speaktoit, Inc. Email and instant messaging agent for dialog system
US10373116B2 (en) 2014-10-24 2019-08-06 Fellow, Inc. Intelligent inventory management and related systems and methods
US10311400B2 (en) 2014-10-24 2019-06-04 Fellow, Inc. Intelligent service robot and related systems and methods
US9796093B2 (en) 2014-10-24 2017-10-24 Fellow, Inc. Customer service robot and related systems and methods
CN107408050A (zh) * 2015-04-14 2017-11-28 索尼公司 信息处理设备、信息处理方法、计算机程序以及服务器设备
US10319210B2 (en) * 2016-05-31 2019-06-11 Honeywell International Inc. Translating building automation events into mobile notifications
WO2018118029A1 (en) * 2016-12-20 2018-06-28 Hewlett-Packard Development Company, L.P. Authenticate a first device based on a push message to a second device
US10693984B2 (en) * 2017-11-17 2020-06-23 International Business Machines Corporation Automated mobile device notification routing
US10813169B2 (en) 2018-03-22 2020-10-20 GoTenna, Inc. Mesh network deployment kit
US10586082B1 (en) 2019-05-29 2020-03-10 Fellow, Inc. Advanced micro-location of RFID tags in spatial environments
TWM594842U (zh) * 2019-08-27 2020-05-01 台灣銘板股份有限公司 穿戴式裝置的推播管理系統
US11496423B2 (en) * 2019-11-20 2022-11-08 Centurylink Intellectual Property Llc Platform-agnostic message relay service for outbound messages
US11171964B1 (en) * 2020-12-23 2021-11-09 Citrix Systems, Inc. Authentication using device and user identity
US11902395B2 (en) 2021-10-07 2024-02-13 Rovi Guides, Inc. Systems and methods for dynamically routing application notifications to selected devices
US11838256B2 (en) 2021-10-07 2023-12-05 Rovi Guides, Inc. Systems and methods for dynamically routing application notifications to selected devices
US11792286B2 (en) * 2021-10-07 2023-10-17 Rovi Guides, Inc. Systems and methods for dynamically routing application notifications to selected devices

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002015603A2 (en) 2000-08-15 2002-02-21 Zonamovil.Com, Inc. Method and apparatus for a network independent short message delivery system
US7949328B2 (en) 2005-03-14 2011-05-24 Roamware, Inc. System for delivering user-generated short-text notified multimedia messages between operator networks
CA2432589C (en) 2000-12-22 2008-12-02 Research In Motion Limited Wireless router system and method
US20020178227A1 (en) 2001-05-25 2002-11-28 International Business Machines Corporation Routing instant messages using configurable, pluggable delivery managers
US20070294336A1 (en) 2004-07-02 2007-12-20 Greg Pounds Proxy-based communications architecture
US8155624B2 (en) 2005-04-29 2012-04-10 Microsoft Corporation Automatic wireless device message management responsive to end user preferences
DE602006021582D1 (de) 2005-09-14 2011-06-09 Roamware Inc System zur lieferung benutzererstellter kurztextbenachrichtigter multimediamitteilungen zwischen betreibernetzwerken
US20080065688A1 (en) 2006-09-07 2008-03-13 Research In Motion Limited Mediated plug-in registration of client applications and content providers with push content delivery system
US7991424B2 (en) 2008-02-25 2011-08-02 Alcatel-Lucent Usa Inc. Dynamic generation of group lists for a communication device using tags
US8064896B2 (en) 2009-03-09 2011-11-22 Apple Inc. Push notification service
US8301132B1 (en) * 2009-03-31 2012-10-30 Sprint Communications Company L.P. Push registry application programming interface for capturing events
US8521809B2 (en) * 2009-07-31 2013-08-27 Z2Live, Inc. Mobile device notification controls system and method
US8265669B2 (en) 2009-09-18 2012-09-11 Verizon Patent And Licensing Inc. Method and system for providing bearer tag identification-based messaging

Also Published As

Publication number Publication date
US20120311046A1 (en) 2012-12-06
EP2716014A4 (en) 2014-11-05
WO2012164146A1 (en) 2012-12-06
US9088624B2 (en) 2015-07-21
EP2716014A1 (en) 2014-04-09
EP2716014B1 (en) 2018-05-23

Similar Documents

Publication Publication Date Title
ES2684146T3 (es) Método y aparato para encaminar mensajes de notificación
US9055020B2 (en) Method and apparatus for sharing user information
ES2622407T3 (es) Método y aparato para mantener una o más sesiones de comunicación
ES2784148T3 (es) Método y aparato para proporcionar entorno virtual personalizado
ES2884172T3 (es) Procedimiento, dispositivo y sistema de difusión de audio y aparato de difusión inteligente
US9820153B2 (en) Centralized access point provisioning system and methods of operation thereof
US8880663B2 (en) Method and apparatus for sharing user information
US9237593B2 (en) Method and apparatus for improving reception availability on multi-subscriber identity module devices
TWI544774B (zh) 利用接收方識別符提供與服務進行的通訊之方法及裝置
CN104301373B (zh) 经由文件共享服务同步的推送通知
US9280708B2 (en) Method and apparatus for providing collaborative recognition using media segments
US10188950B2 (en) Method and apparatus for providing privacy policy generation based on in-game behavior data
US9716683B2 (en) Method and apparatus for token determination for people awareness and location sharing
US20120276872A1 (en) Method and apparatus for over-the-air provisioning
US20100240416A1 (en) Method and apparatus for providing an emotion-based user interface
JP2016534437A (ja) サービス層デバイス場所管理およびプライバシー制御
US10990449B2 (en) Managing application relationships in machine-to-machine systems
US20140089272A1 (en) Method and apparatus for tagged deletion of user online history
US20140040854A1 (en) Method and apparatus for providing template-based applications
US9313539B2 (en) Method and apparatus for providing embedding of local identifiers
US9378528B2 (en) Method and apparatus for improved cognitive connectivity based on group datasets
CN108028852B (zh) 服务元素
US20110219127A1 (en) Method and Apparatus for Selecting Network Services
US10206071B2 (en) MMS delivery system
US9693201B2 (en) Method and apparatus for generating location reference information