System and method for data synchronization
Abstract
One embodiment includes receiving, by a customer on a customer device, a data change notification. The data change notification indicates a change to the data that relates to the customer in a customer data store. The method further includes determining, by the customer, a type of the customer-related data changed in the customer data store and determining, by the customer, a data synchronization mechanism according to the type of data that relates to the customer changed in the customer data store. Determining the data synchronization mechanism includes determining when, by the client, to attempt a data synchronization to synchronize the data on the client's device with the changed client-related data in the client's data store .

Term
11.1 yearsleft in the term
Expires 1 November 2037.
- Priority
- Filed
- Granted
- Today
- Expires
8 claims: 8 independent, 0 dependent
- 1Un método, caracterizado porque comprende:recibir, por un cliente en un dispositivo del cliente, una notificación de cambio de los datos, en donde la notificación de cambio de los datos indica un cambio en los datos que se relacionan con el cliente en un almacén de los datos del cliente;determinar, por el cliente, un tipo de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, en donde el tipo de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente son datos de la presencia en el celular (PoC) con la funcionalidad de oprimir para hablar (PTT), datos de los contactos con PTT, datos de la gestión del grupo con PTT, una notificación de mensaje de texto con la funcionalidad de oprimir para X, una notificación de servicio de mensajería multimedios con la funcionalidad de oprimir para X, una alerta personal instantánea con PTT, datos de rastreo de la ubicación con PTT, notificación de los cambios en la llamada con PTT en progreso, una notificación de una llamada con PTT terminada, o una combinación de los mismos;determinar, por el cliente, un mecanismo de sincronización de los datos de acuerdo con el tipo de los datos que se relacionan con el cliente cambiados en el almacén ιμρ4 INSTITUTO MEXICA DE LA PROPIEDAD ow INDUSTRIAL KXJ o ***. o o σι de los datos del cliente, en donde la determinación del mecanismo de sincronización de los datos comprende determinar cuándo intentar, por el cliente, una sincronización de los datos para sincronizar los datos en el dispositivo del cliente, con los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, en donde cuando el mecanismo de sincronización de los datos es un mecanismo de sincronización de los datos no en tiempo real, el mecanismo de sincronización de los datos no en tiempo real comprende: determinar, por el cliente, si el cliente está operando en un primer plano del dispositivo del cliente o está operando en un segundo plano del dispositivo del cliente;e intentar, por el cliente, sincronizar los datos en el dispositivo del cliente con los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, cuando el dispositivo del cliente está operando en el primer plano del dispositivo del cliente, en donde el mecanismo de sincronización de los datos no en tiempo real además comprende, esperar, por el cliente, hasta que el cliente esté operando en el primer plano, para intentar sincronizar los datos en el dispositivo del cliente con los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, cuando el dispositivo del cliente estág operando en el segundo plano del dispositivo del cliente.
- 2El método de conformidad con la reivindicación 1, o o caracterizado porque cuando el mecanismo de sincronización de los datos es un mecanismo de sincronización de los datos en tiempo real, el mecanismo de sincronización de los datos en tiempo real comprende:intentar, por el cliente, sincronizar los datos en el dispositivo del cliente con los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, después de que se recibe la notificación de cambio de los datos, sin importar si el cliente está operando en un primer plano del dispositivo del cliente o si está operando en un segundo plano del dispositivo del cliente.
- 3El método de conformidad con la reivindicación 1, caracterizado porque se seleccionan diferentes tipos de mecanismos de sincronización de los datos para diferentes tipos de datos, por un usuario que opera el dispositivo del cliente, un administrador del grupo, un administrador de la red, un operador del servicio, un estándar, o una combinación de los mismos.
- 4El método de conformidad con la reivindicación 1, caracterizado porque además comprende:determinar, por el dispositivo del cliente, si la notificación de cambio de los datos se recibió después de una sincronización de los datos exitosa más reciente en el dispositivo del cliente, cuando el cliente pasa de operar en imp4 INSTITUTO MEXICA DE LA PROPIEDAD ow INDUSTRIAL KXJ o ***. o o σι un segundo plano del dispositivo del cliente a operar en un primer plano del dispositivo del cliente;e intentar, por el cliente, sincronizar los datos en el dispositivo del cliente con los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, cuando la notificación de cambio de los datos se recibió después de la sincronización de los datos exitosa más reciente en el dispositivo del cliente.
- 5El método de conformidad con la reivindicación 4, caracterizado porque además comprende, no intentar, por el cliente, sincronizar los datos en el dispositivo del cliente con los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, cuando la notificación de cambio de los datos no se recibió después de la sincronización de los datos exitosa más reciente en el dispositivo del cliente, y el cliente no perdió la conectividad de la red después de la sincronización de los datos exitosa más reciente en el dispositivo del cliente.
- 6El método de conformidad con la reivindicación 1, caracterizado porque además comprende:perder, por el cliente, la conectividad de la red durante al menos un intervalo de tiempo;e intentar, por el cliente, sincronizar los datos en el dispositivo del cliente con los datos en el almacén de los datos del cliente, cuando el cliente recupera la conectividad IMPlfe INSTITUTO MEXICA DE LA PROPIEDAD ow INDUSTRIAL KXJ o ***. o o σι de la red, después de perder la conectividad de la red durante al menos el intervalo de tiempo.
- 7El método de conformidad con la reivindicación 1, caracterizado porque el cliente no sondea el almacén de los datos del cliente para los cambios en los datos que se relacionan con el cliente, y en donde el cliente no requiere mantener una conexión activa con el almacén de los datos del cliente, para recibir los cambios en los datos que se relacionan con el cliente.
- 8El método de conformidad con la reivindicación 1, caracterizado porque la notificación de cambio de los datos incluye al menos una porción de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, en donde el cliente mantiene un primer archivo de datos para el tipo de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, en donde el almacén de los datos del cliente mantiene un segundo archivo de datos para el tipo de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, y en donde el mecanismo de sincronización de los datos se utiliza, por el cliente, para sincronizar el primer archivo de datos con el segundo archivo de datos. imp4 INSTITUTO MEXICA DE LA PROPIEDAD ow INDUSTRIAL KXJ o ***. o o σι RESUMEN DE LA INVENCIÓN Una modalidad incluye recibir, por un cliente en un dispositivo del cliente, una notificación de cambio de los 5 datos. La notificación de cambio de los datos indica un cambio en los datos que se relacionan con el cliente en un almacén de los datos del cliente. El método incluye además, determinar, por el cliente, un tipo de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente y 10 determinar, por el cliente, un mecanismo de sincronización de los datos de acuerdo con el tipo de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente. La determinación del mecanismo de sincronización de los datos incluye determinar cuando intentar, por el cliente, una 15 sincronización de los datos para sincronizar los datos en el dispositivo del cliente con los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente.
Independent claims8
340 paragraphs in 22 sections, as filed
INSTITUTO MEXICANO OF LA PROPIEDAD INDUSTRIAL
IMPI
2020, Año de Leona Vicario, Benemérita Madre de la Patria
TÍTULO DE PATENTE No. 374337
<td> Titular(es):</td><td> KODIAK NETWORKS, INC</td>
<td> Domicilio:</td><td> 10th Street 1501, Suite 130, Plano, Texas, 75074, E.U.A.</td>
<td> Denominación:</td><td> SISTEMA Y MÉTODO PARA LA SINCRONIZACIÓN DE DATOS.</td>
<td> Clasificación:</td><td> CIP: H04L29/08; G06F16/00; H04L29/00; H04L29/06; H04W4/08; H04W4/10; H04W76/00 CPC: H04L67/1095; G06F16/2358; H04L51/22; H04L51/24; H04W4/08; H04L67/24</td>
<td> Inventor(es):</td><td> KRISHNAKANT M. PATEL; RAVI AYYASAMY; HARISHA MAHABALESHWARA NEGALAGULI; BRAHMANANDA R. VEMPATI; BHARAT RAM SETTI NAGASWAMY SRINIVASAN; RAMU KANDULA</td>
SOLICITUD
<td> Número: MX/a/2017/014026</td><td> Fecha de Presentación Internacional 06 de Mayo de 2016 PRIORIDAD</td>
País:
Fecha:
Número:
US de mayo de 2015
62/158,384
Vigencia: Veinte años
Fecha de Vencimiento: 6 de mayo de 2036
Fecha de Expedición: 21 de agosto de 2020
La patente de referencia se otorga con fundamento en los artículos 1<sup>o</sup>, 2<sup>o</sup> fracción V, 6<sup>o</sup> fracción III, y 59 de la Ley de la Propiedad Industrial.
De conformidad con el artículo 23 de la Ley de la Propiedad Industrial, la presente patente tiene una vigencia de veinte años improrrogables, contada a partir de la fecha de presentación de la solicitud internacional y estará sujeta al pago de la tarifa para mantener vigentes los derechos.
Quien suscribe el presente título lo hace con fundamento en lo dispuesto por los artículos 6<sup>o</sup> fracción III, 7<sup>o</sup> BIS 2 y 59 de la Ley de la Propiedad Industrial; artículos 1<sup>o</sup>, 3<sup>o</sup> fracción V inciso a), sub inciso iii), 4<sup>o</sup> y 12° fracciones I y III del Reglamento del Instituto Mexicano de la Propiedad Industrial; artículos 1<sup>o</sup>, 3<sup>o</sup>, 4<sup>o</sup>, 5<sup>o</sup> fracción V inciso a), sub inciso iii), 16 fracciones I y III y 30 del Estatuto Orgánico del Instituto Mexicano de la Propiedad Industrial; 1<sup>o</sup>, 3<sup>o</sup> y 5<sup>o</sup> inciso a) y antepenúltimo párrafo, del Acuerdo que delega facultades en los Directores Generales Adjuntos, Coordinador, Directores Divisionales, Titulares de las Oficinas Regionales, Subdirectores Divisionales, Coordinadores Departamentales y otros subalternos del Instituto Mexicano de la Propiedad Industrial.
El presente oficio se signa con firma electrónica avanzada (FIEL), con fundamento en los artículos 7 BIS 2 de la Ley de la Propiedad Industrial; 3o de su Reglamento, y 1 fracción III, 2 fracción V, 26 BIS y 26 TER del Acuerdo por el que se establecen los lineamientos para el uso del Portal de Pagos y Servicios Electrónicos (PASE) del Instituto Mexicano de la Propiedad Industrial, en los trámites que se indican.
SUBDIRECTOR DIVISIONAL DE EXAMEN DE FONDO DE PATENTES ÁREAS MECÁNICA, ELÉCTRICA Y DE DISEÑOS INDUSTRIALES Y MODELOS DE UTILIDAD
<img file="MX374337B_D0001.tif" />
PEDRO DAVID FRAGOSO LÓPEZ
Cadena Original:
PEDRO DAVID FRAGOSO LOPEZ|00001000000405457619|Servicio de Administración
Tributaria|1052||MX/2020/60603|MX/a/2017/014026|Título de patente PCT|1220|RRGO|Pág(s) wiGI6quGmPH4R0Ocekq5alN20KUSello Digital:
SB3qAHtLNTGa6W9S6gc3MKajZLc2HJnY4V2hLgeKF3/to1gDmm7cJaR5ml2l3o2YzvlYA2KPOE0UXSdJk+10LBQruU fnF5+rTcelPq2bCTiWSmtlH60IF8w5wrnRfPAVEraMHOjyD7nFlhj7so96l8BmrQ+GMvbXGeTumD08+0us4igmjUCM
YRaAuiep+QsWtDb72H2AzjkkuGOjd+ph3fJtOoAwaXtPtm7qsflulb/D9YpZgJy++6OoUKr7QXOAe8/yzmfUZ0hWbr Ogo3/PNae2JNAyWV5oNSeUHKSDa/hVDs1E7OcVZ/k+VmOAZZTQc27e+UBfYfoicQOuhSfpgg==
Arenal No. 550, Pueblo Santa María Tepepan, Ciudad de México, C.P. 16020. CDMX Creatividad para el Bienestar
MX/2020/60603 www.gob.mx/impi
<img file="MX374337B_D0002.tif" />
IMPI §
INS^^ <sup>ro</sup> MEXICANO DE ^VROPIEDAD w
INDI^*. IAL
0) ***.
O
SISTEMA Y MÉTODO PARA LA SINCRONIZACIÓN DE DATOS
O
O M
O
Esta solicitud reclama el beneficio de la Solicitud Provisional de los Estados Unidos No. 62/158,384, presentada el 07 de Mayo del 2015, solicitud la cual se incorpora de este modo como referencia en el presente documento.
CAMPO TÉCNICO
La presente invención se relaciona generalmente con comunicaciones en una red de telecomunicaciones, y en las modalidades particulares, con técnicas y mecanismos para un sistema y un método para la sincronización de los datos.
ANTECEDENTES
Las tecnologías de sincronización de bases de datos pueden utilizarse por aplicaciones móviles (por ejemplo, aplicaciones en un dispositivo del cliente) para permitir a un usuario crear y/o modificar localmente los datos en el dispositivo del cliente, incluso cuando el dispositivo del cliente no está conectado a una red. Asi, puede proporcionarse al usuario una experiencia enriquecida, que permite la manipulación de los datos sin ser afectada por el estado de conectividad de la red de un dispositivo. Los mecanismos de sincronización de bases de datos móviles se utilizan para sincronizar los datos del usuario con una base
<img file="MX374337B_D0003.tif" />
Μ O ***. O ο μ de datos de respaldo cuando esta disponible una conexión de σ> la red entre el dispositivo del cliente y la base de datos de respaldo. Los mecanismos de sincronización de bases de datos móviles también pueden utilizarse para proporcionar los datos del cliente en múltiples interfaces (por ejemplo, múltiples dispositivos del cliente), para respaldar (por ejemplo, crear copias redundantes) de los datos del cliente, y lo similar.
La facilidad de uso de los mecanismos de sincronización de bases de datos móviles está conduciendo a su adopción creciente.
Como con muchos mecanismos de sincronización asincrónicos (por ejemplo, sincronización no en tiempo real), los mecanismos de sincronización de bases de datos móviles pueden depender de un lógico basado en sondeos largos o en un lógico basado en la notificación activa. Sin embargo, estos métodos pueden no ser eficientes en términos de la utilización de los recursos de la red. Por ejemplo, los métodos de sondeos largos involucran una aplicación móvil que sondea periódicamente un servidor para detectar los cambios en los datos del cliente y provocar la sincronización. Asi, los métodos de sondeos largos pueden ser ineficientes para gestionar los datos que cambian esporádicamente. Como otro ejemplo, los métodos de sincronización basados en la notificación activa involucran la aplicación móvil que mantiene una conexión con el servidor para recibir
<img file="MX374337B_D0004.tif" />
IMPI §
INS^^ <sup>ro</sup> MEXICANO DE ^VROPIEDAD w
INDI^*. IAL
0) ***.
O notificaciones de un cambio en los datos del cliente. Además las notificaciones pueden entregarse incluso cuando la aplicación móvil no está en uso activo.
SUMARIO
Las ventajas técnicas se logran generalmente, por las modalidades de esta descripción, que describen los sistemas y métodos para proporcionar la sincronización de los datos en un entorno PTT.
De acuerdo con una modalidad, un método incluye recibir, por un cliente en un dispositivo del cliente, una notificación de cambio de los datos. La notificación de cambio de los datos indica un cambio en los datos que se relacionan con el cliente en un almacén de los datos del cliente. El método incluye además, determinar, por el cliente, un tipo de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente y determinar, por el cliente, un mecanismo de sincronización de los datos de acuerdo con el tipo de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente. La determinación del mecanismo de sincronización de los datos incluye determinar cuando intentar, por el cliente, una sincronización de los datos para sincronizar los datos en el dispositivo del cliente con los datos que se relacionan con el cliente cambiados en el
<img file="MX374337B_D0005.tif" />
IMPI §
INS^^ <sup>ro</sup> MEXICANO DE ^VROPIEDAD w
INDI^*. IAL
0) ***.
O almacén de los datos del cliente.
O
O M
O
De acuerdo con una modalidad, un método incluye recibir, mediante un servidor de notificación en una plataforma de servicios de telecomunicaciones, una notificación de cambio de los datos. La notificación de cambio de los datos indica un cambio de los datos que se relacionan con un cliente en un almacén de los datos del cliente, mediante uno o más servicios proporcionados por la plataforma de servicios de telecomunicaciones. El método incluye además, mantener, por el servidor de notificación, una cola de notificación de cambio de los datos para el cliente, determinar, por el servidor de notificación, un estado de la cola de notificación de cambio de los datos, y determinar, por el servidor de notificación, si se transmite la notificación de cambio de los datos al cliente, de acuerdo con el estado de la cola de notificación de cambio de los datos.
De acuerdo con una modalidad, una plataforma de servicios de telecomunicaciones incluye un almacén de los datos del cliente que almacena los datos que se relacionan con un cliente con funcionalidad de oprimir para hablar (PTT) en un dispositivo del cliente, uno o más procesadores y una programación de almacenamiento del medio de almacenamiento legible por computadora para la ejecución por el uno o más procesadores. La programación incluye instrucciones para
IMPI S
INS ^ ΓΟ MEXICANO <sup>F</sup> DE ^VROPIEDAD w
INDI^x. IAL *>|
0) ***. M O <sup>5</sup> ***. O o bO proporcionar uno o mas servicios de PTT al cliente con PTT y σ> proporcionar un servidor de notificación. El servidor de notificación se configura para recibir una notificación de cambio de los datos que indica un cambio en los datos que se relacionan con el cliente con PTT por el uno o más servicios de PTT, transmitir la notificación de cambio de los datos al cliente con PTT cuando el servidor de notificación determina que no se ha transmitido una notificación de cambio de los datos al cliente con PTT, desde el momento más reciente en que el cliente con PTT sincronizó los datos de manera exitosa con el almacén de los datos del cliente, y no transmitir la notificación de cambio de los datos al cliente con PTT cuando el servidor de notificación determina que se ha transmitido una notificación previa de cambio de los datos al cliente con PTT, desde un momento más reciente en que el cliente con PTT sincronizó los datos de manera exitosa con el almacén de los datos del cliente.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Para un entendimiento más completo de varias modalidades ejemplares, y las ventajas de las mismas, se hace referencia ahora a las siguientes descripciones, tomadas en conjunto con los dibujos acompañantes, en los cuales:
La Figura 1 ilustra un diagrama de una modalidad de la red de comunicaciones, de acuerdo con algunas modalidades;
<img file="MX374337B_D0006.tif" />
Μ O β ***. O ο Μ
La Figura 2Α ilustra un diagrama de bloques de los σ> canales de entrega de la notificación en una plataforma de servicios de telecomunicaciones, de acuerdo con algunas modalidades;
La Figura 2B ilustra un diagrama de flujo del proceso de la entrega de la notificación, de acuerdo con algunas modalidades;
La Figura 3 ilustra un diagrama de bloques de un mecanismo de sincronización de los datos provocado por la notificación en una plataforma de servicios de telecomunicaciones, de acuerdo con algunas modalidades;
Las Figuras 4 hasta 5 ilustran los diagramas de diagrama de flujo del lógico para las operaciones del dispositivo y el servidor, de acuerdo con algunas modalidades;
La Figura 6 ilustra un diagrama de una modalidad del sistema de procesamiento; y
La Figura 7 ilustra un diagrama de una modalidad de un transceptor.
Los números y símbolos correspondientes en las diferentes Figuras se refieren generalmente a partes correspondientes, a menos que se indique de otra manera. Las Figuras se dibujan para ilustrar claramente los aspectos relevantes de las modalidades y no están dibujadas necesariamente a escala.
IMPI §
INS ^ ΓΟ MEXICANO <sup>F</sup> DE ^VROPIEDAD w
INDI^x. IAL *>|
0) ***.
M O 7 ***. O o DESCRIPCIÓN DETALLADA DE LAS MODALIDADES ILUSTRATIVAS O
La realización y uso de las modalidades de esta descripción se discuten con detalle a continuación. Deberá apreciarse, sin embargo, que los conceptos descritos en el presente documento pueden incorporarse en una amplia variedad de contextos específicos, y que las modalidades especificas discutidas en el presente documento son meramente ilustrativas y no sirven para limitar el alcance de las reivindicaciones. Además, deberá entenderse que varios cambios, sustituciones y alteraciones pueden hacerse en el presente documento, sin apartarse del espíritu y alcance de esta descripción, como se define por las reivindicaciones anexas.
Varias modalidades se describen dentro de un contexto especifico, a saber, la sincronización de los datos en un sistema con la funcionalidad de oprimir para hablar (PTT). Sin embargo, varias modalidades pueden aplicarse a otros sistemas y redes, en donde se desea la sincronización de los datos entre un almacén de respaldo de los datos del cliente y los dispositivos del cliente.
Varias modalidades como se describen a continuación proporcionan la sincronización de los datos en tiempo real y no en tiempo real para los datos a través de uno o más dispositivos del cliente y un almacén de respaldo de los datos del cliente. Varias modalidades permiten la
Μ O flexibilidad de recibir los datos en tiempo real, asi como de σ> proporcionar ahorros en los recursos de la red cuando se utiliza un mecanismo de sincronización de los datos asincrónico.
Figura 1 ilustra un sistema de comunicaciones
100, que proporciona una arquitectura para soportar una solución para las telecomunicaciones (por ejemplo, una solución para las comunicaciones con la funcionalidad de oprimir para hablar (PTT)), de acuerdo con algunas modalidades. El sistema de comunicaciones 100 incluye los dispositivos del cliente 102, una red de comunicaciones 104 y una plataforma de servicios de telecomunicaciones 106. Como se utiliza en el presente documento, el término dispositivo del cliente se refiere a cualquier componente (o colección de componentes) capaz de establecer una conexión con una red de comunicaciones, tal como un equipo del usuario (UE) , una estación móvil (STA), un teléfono celular, una tableta, una computadora portátil (laptop) y otros dispositivos con conexión alámbrica/inalámbrica. Las aplicaciones (referidas aqui posteriormente como clientes) residen en los dispositivos del cliente 102 para acceder a varias funciones, tales como las funciones PTT, provistas por la solución para las telecomunicaciones.
Los dispositivos del cliente 102 pueden comunicarse con la plataforma de servicios de telecomunicaciones 106 en
IMPI s
INS ^ ΓΟ MEXICANO <sup>F</sup> DE ^VROPIEDAD w
INDI^x. IAL *>|
0) ***. M O <sup>9 </sup>***. O o bO la red 104, que puede accederse por los dispositivos del σ> cliente 102 a través de una red celular implementada por un portador, una red WiFi, una red de acceso de radio (RAN) , otras redes inalámbricas, una red alámbrica del protocolo de internet (IP), combinaciones de los mismos, o lo similar. La red 104 puede incluir uno o más componentes configurados para proporcionar un acceso a la red inalámbrica o alámbrica, tal como una estación de base mejorada (eNB), una macrocélula, una femtocélula, un punto de acceso Wi-Fi (AP), combinaciones de los mismos, o lo similar. Además, la red 104 puede operar de acuerdo con uno o más protocolos de comunicación inalámbrica, por ejemplo, alianza móvil abierta (OMA), evolución a largo plazo (LTE), LTE avanzado (LTE-A), Acceso al Paquete de Alta Velocidad (High Speed Packet Access) (HSPA), Wi-Fi 802.1la/b/g/n/ac, etc. En algunas modalidades, la red 104 puede comprender varios otros dispositivos, tales como relés, nodos de baja energía, etc. La red 104 puede incluir además, componentes de la red de retorno, tales como varias pasarelas, enrutadores, controladores, programadores, y lo similar.
En una modalidad en donde la plataforma de servicios de telecomunicaciones 106 es una plataforma con PTT en Celular (PoC) , los subscriptores a una solución con PTT (por ejemplo, usuarios que operan los dispositivos del cliente 102) pueden aprovisionarse en el sistema 100 via las
<img file="MX374337B_D0007.tif" />
Μ O ίο ***. o ο
interfaces a los portadores (por ejemplo, portadores σ>
celulares). Consumidores con PTT (por ejemplo, empresas) pueden administrar estos subscriptores para formar grupos cerrados para las comunicaciones con PTT. La solución con PTT puede interconectarse con el portador, por ejemplo, incluyendo la conectividad a la red central del portador, interfaces para la facturación, interfaces de aprovisionamiento, interfaces de intersección legales, interfaces de cuidado del consumidor, y lo similar. La plataforma con PTT puede proporcionar una pluralidad de funciones PTT a los dispositivos del cliente 102 a través de los clientes con PTT en los dispositivos del cliente 102, como se describe con más detalle a continuación.
En algunas modalidades, la plataforma de servicios de telecomunicaciones 106 utiliza la tecnología de contenedores para la virtualización de una arquitectura del sistema de telecomunicaciones, tal como la virtualización de los servicios de PTT proporcionados. Las tecnologías de contenedores ejemplares pueden incluir Docker, Rocket, LXD, y lo similar, aunque la arquitectura no está limitada a una tecnología de contenedor especifica. La virtualización utilizando la tecnología de contenedores puede permitir que la plataforma de servicios de telecomunicaciones 106 adopte un modelo de microservicios en el cual los grupos de servicio se consideran los bloques de construcción de la arquitectura
<img file="MX374337B_D0008.tif" />
Μ O ***. O ο μ del sistema. Por ejemplo, cada función proporcionada por la o plataforma de servicios de telecomunicaciones 106 puede virtualizarse en un grupo de servicio único, y cada grupo de servicio puede realizar una función diferente en la plataforma de servicios de telecomunicaciones 106. Los grupos de servicios están alojados en máquinas virtuales en una modalidad de una red de la nube. Una modalidad de una red de la nube puede incluir una pluralidad de sitios de instalación geográficamente diversos (por ejemplo, centros de datos), en donde se instalan físicamente varias máquinas virtuales. La descomposición del sistema en un conjunto de servicios permite que cada servicio (por ejemplo, cada función proporcionada por la plataforma de servicios de telecomunicaciones) se instale y gestione de manera independiente. Asi, la flexibilidad del sistema puede mejorarse, puesto que las fallas están localizadas a los servicios individuales. Además, también puede lograrse la instalación rápida y ágil de los servicios.
En algunas modalidades, la plataforma de servicios de telecomunicaciones 106 incorpora bases de datos distribuidas, tecnologías de agrupamiento, herramientas analíticas de los datos y soporte intermedio para la mensajería, para proporcionar una plataforma escaladle robusta. La plataforma de servicios de telecomunicaciones 106 puede utilizar componentes completamente virtualizados
IMPI §
INS ^ ΓΟ MEXICANO <sup>F</sup> DE ^VROPIEDAD w
INDI^x. IAL *>|
0) ***. M O ***. O o bO con un enfoque por niveles para la orquestación del servicio, σ> lo que permite que la plataforma de servicios de telecomunicaciones 106 se integre en varios entornos de la nube, tales como una infraestructura privada de la nube del portador, una infraestructura de la nube con PTT dedicada, combinaciones de las mismas, y lo similar. Una descripción más detallada de una modalidad de una plataforma de servicios de telecomunicaciones puede encontrarse en la Solicitud de Patente de los Estados Unidos No. 14/994,757, asignada comúnmente, presentada el 13 de Enero del 2016, titulada Sistema y Método para el Escalamiento Elástico, utilizando una Plataforma Basada en el Contenedor, que se incorpora aqui como referencia. Otras plataformas de servicios de telecomunicaciones, incluyendo otras plataformas con PTT, pueden utilizarse en otras modalidades.
Varias modalidades permiten diferentes tipos de mecanismos de sincronización de los datos para diferentes tipos de datos. Por ejemplo, algunos tipos de datos pueden sincronizarse utilizando la sincronización de los datos en tiempo real mientras que otros tipos de datos pueden sincronizarse utilizando la sincronización de los datos no en tiempo real (también referida como sincronización asincrónica de los datos). Generalmente, como se refiere en el presente documento, la sincronización en tiempo real se refiere a un mecanismo de sincronización en donde un cliente en un
<img file="MX374337B_D0009.tif" />
Μ O <sup>13 </sup>***. O ο dispositivo del cliente intenta sincronizar los datos cuando σ> se recibe una notificación de cambio de los datos, sin importar si el cliente está operando de manera pasiva en el segundo plano del dispositivo del cliente o de manera activa en el primer plano del dispositivo del cliente. Además, la sincronización no en tiempo real se refiere a cuando un cliente en un dispositivo del cliente espera volverse activo en el primer plano de un dispositivo del cliente antes de intentar sincronizar los datos, cuando se recibe una notificación de cambio de los datos. Aunque es referido completamente como un mecanismo de sincronización no en tiempo real, en la práctica, una modalidad del mecanismo de sincronización no en tiempo real puede incluir casos específicos de sincronización en tiempo real. Por ejemplo, cuando un cliente recibe una notificación de cambio de los datos mientras que el cliente está activo en el primer plano del dispositivo del cliente, el cliente puede sincronizar los datos en tiempo real, incluso para los tipos de datos que utilizan un mecanismo de sincronización no en tiempo real. Asi, el uso de los términos en tiempo real y no en tiempo real no pretende limitar de manera implícita el momento real de la sincronización. En su lugar, estos términos se utilizan para describir diferentes tipos de mecanismos de sincronización de los datos, que incluyen diferentes tipos de comportamiento del cliente tras la recepción de una
<img file="MX374337B_D0010.tif" />
IMPIS
INS^^ <sup>ro</sup> MEXICANO DE ^VROPIEOAD w
INDI^*. IAL
0) ***.
O notificación de cambio de los datos.
O
O M
O
En una modalidad, el tipo de sincronización se determina por un usuario que experimenta el deseo de un servicio particular, y el tipo de sincronización para un servicio particular puede configurarse de manera diferente para diferentes tipos de usuarios. Por ejemplo, las notificaciones de las actualizaciones de la presencia y ubicación pueden entregarse en modo en tiempo no real para los usuarios en un sitio en construcción o un plantel escolar, mientras que la misma información puede entregarse en tiempo real para los usuarios en la industria de la logística. Los tipos de mecanismos de sincronización de los datos para los tipos de datos pueden configurarse por un usuario, un administrador del grupo, un administrador de la red, un operador del servicio, un estándar, combinaciones de los mismos, o lo similar. Diferentes tipos de datos también pueden resultar en diferentes tipos de mecanismos de notificación para indicar un cambio en los datos. Por ejemplo, un mecanismo de sincronización no en tiempo real puede o no requerir las notificaciones de cambio de los datos en tiempo real, dependiendo del tipo de datos, como se explica con más detalle a continuación.
La Figura 2A ilustra diferentes tipos de mecanismos de notificación en una modalidad de la plataforma con PTT
106. Cuando un servicio 202 proporcionado por la plataforma
IMPI §
INS ^ ΓΟ MEXICANO <sup>F</sup> DE ^VROPIEDAD w
INDI^x. IAL *>|
0) ***. M O <sup>15</sup> ***. O o bO de servicios de telecomunicaciones 106 crea o modifica los σ> datos a nombre de un cliente, puede transmitirse una notificación de cambio de los datos y/o los datos, a un cliente 204 (por ejemplo, un cliente en un dispositivo del cliente 102) . La notificación de cambio de los datos indica que se hizo un cambio en los datos que se relacionan con el cliente 204, en el almacén de los datos del cliente. En una modalidad de la plataforma con PTT, los servicios 202 incluyen un servicio de llamada, un servicio de presencia, un servicio de mensajería, un servicio de gestión de los datos (XDM) de lenguaje de marcas extensible (XML), un servicio de localización, combinaciones de los mismos, o lo similar.
Otras modalidades pueden incluir otros servicios, además o en lugar de los servicios ilustrados.
Además, la plataforma con PTT 106 puede incluir diferentes canales de notificación, tales como el canal de notificación en tiempo real 206 y el canal de notificación no en tiempo real 208. El canal de notificación en tiempo real 206 puede proporcionarse a través de un servicio de notificación 210, por ejemplo, como se describe en la Solicitud de Patente de los Estados Unidos No. 15/013,718, presentada el 2 de Febrero del 2016, titulada Gestión de la Sesión y Mecanismos de Notificación con la Funcionalidad de Oprimir para Hablar (PTT), que se incorpora aqui como referencia. Otros mecanismos de notificación en tiempo real
<img file="MX374337B_D0011.tif" />
O pueden utilizarse en otras modalidades.
O o 1 1 ί K>
El canal de σ>
notificación no en tiempo real 208 puede proporcionarse a través de un servidor de sincronización de los datos 212, que puede proporcionar mecanismos de sincronización provocados por la notificación, como se describe con mayor detalle con respecto a las Figuras 3 hasta 5 siguientes. Una modalidad de un método de notificación no en tiempo real se describe a continuación con más detalle, con respecto a la Figura 2B. Otros mecanismos de notificación no en tiempo real también pueden utilizarse.
En algunas modalidades, diferentes tipos de cambios de los datos por diferentes tipos de servicios, pueden resultar en diferentes tipos de mecanismos de sincronización de los datos, como se detalla en la Tabla 1. Diferentes tipos de cambios de los datos pueden resultar además, en diferentes tipos de notificaciones y/o diferentes contenidos en la notificación correspondiente. La Tabla 1 siguiente proporciona algunos tipos ejemplares de datos y los tipos de notificaciones y los mecanismos de sincronización de los datos correspondientes en una plataforma con PTT. En otras modalidades, los tipos de cambios de los datos pueden resultar en otros tipos de notificaciones/mecanismos de sincronización de los datos, y otros tipos de cambios de los datos con los tipos de notificaciones/mecanismos de sincronización de los datos correspondientes, también pueden existir en otras modalidades. Los
<img file="MX374337B_D0012.tif" />
O
O o tipos de notificaciones σ>
que corresponden a diferentes tipos de notificaciones/mecanismos de sincronización de los datos pueden configurarse por un usuario, un administrador del grupo, un administrador de la red, un operador del servicio, un estándar, combinaciones de los mismos, o lo similar.
Tabla 1. Tipos de Cambios de los Datos y Tipos de
Notificación Correspondientes
<td> Tipo de Cambio de los Datos</td><td> ¿Se Requiere Notificación En Tiempo Real?</td><td> Contenido en la Notificación (por ejemplo, notificación de cambio de los datos)</td><td> ¿Sincronización del Cliente Inmediatamente con la Notificación?</td><td> ¿Invocación de la Sincronización Esperada en el Dispositivo del Cliente?</td>
<td> Cambios en la presencia</td><td> No es necesario</td><td> Indicación del cambio pendiente</td><td> No; el Cliente marca gue hay un cambio de los datos pendiente para la sincronización</td><td> Cuando el cliente se lleva al primer plano</td>
<td> Cambios XDM (cambios de los datos de los contactos y/o los datos de gestión del grupo)</td><td> No es necesario</td><td> Indicación del cambio pendiente</td><td> No; el Cliente marca gue hay un cambio de los datos pendiente para la sincronización</td><td> Cuando el cliente se lleva al primer plano</td>
<td> Notificación con mensaje de texto de Oprimir para Hablar</td><td> Sí</td><td> Indicación del cambio pendiente con el contenido</td><td> No; el Cliente marca gue hay un cambio de los datos pendiente par la sincronización</td><td> Cuando el cliente se lleva al primer plano</td>
<td> Notificación con servicio de mensaj ería multimedios (MMS) de Oprimir para Hablar</td><td> Sí</td><td> Con el metacontenido (sin contenido anexo)</td><td> Condicional. Si el usuario tiene habilitada la descarga automática de los anexos del mensaje, la sincronización de los datos se hace inmediatamente (por ejemplo, en tiempo real tras la recepción de la notificación). De otra manera, la sincronización de los datos se invoca cuando el usuario solicita la descarga del anexo.</td><td> El metacontenido se sincroniza cuando el cliente se lleva al primer plano. El anexo/contenido multimedios se sincroniza cuando el cliente/usuario solicita la descarga del contenido.</td>
<img file="MX374337B_D0013.tif" />
Μ O ***. O ο Μ
<td> Alerta personal instantánea (IPA) de PTT en Celular (PoC) ; datos recibidos de la llamada PoC; datos enviados de la llamada PoC (por e jemplo, para rastrear el historial de las llamadas)</td><td> Si</td><td> Indicación del cambio pendiente con el contenido</td><td> No; el Cliente marca que hay un cambio de los datos pendiente para la sincronización.</td><td> —77-------:-------:----——i Sin sincronización explícita. Sincronización cuando el cliente invoca la sincronización de los datos para otros tipos de datos.</td>
<td> Rastreo de la ubicación (por e jemplo, Verificar las ubicaciones del dispositivo de otros dispositivos del cliente, tales como, dispositivos del cliente de los contactos y/o grupos del cliente 204)</td><td> No se aplica</td><td> No se aplica</td><td> Los dispositivos que reportan la ubicación o rastrean la ubicación de manera continua se sincronizan de manera continua con un servidor de localización (por ejemplo, observador). Los dispositivos que publican las ubicaciones periódicamente sincronizan los datos de la ubicación periódicamente (o utilizando otros criterios) con otros dispositivos observadores.</td><td> Sincronización continua cuando el servicio de localización está activo en el cliente.</td>
Como se indica en la Tabla 1.0, algunas notificaciones (por ejemplo, notificaciones de cambio de los datos) pueden incluir al menos una porción del contenido de los datos cambiados (por ejemplo, contenido del mensaje de texto, metacontenido, IPA PTT, datos del estado de la llamada con PTT, y lo similar) junto con una indicación del cambio pendiente para ciertos tipos de datos. En tales modalidades, el contenido se recibe en la notificación y se sincroniza además como se describió anteriormente para propósitos de
<img file="MX374337B_D0014.tif" />
IMPI 2 INS^^ ΓΟ MEXICANO J*J de ^vbopiedad w IND^-. IAL
0) ***.
O archivado .
O
O M
O
Como un ejemplo con respecto a los mensajes de texto, la notificación de cambio de los datos puede incluir una indicación del cambio pendiente, asi como el contenido de los mensajes de texto. La notificación alerta a un usuario de la existencia y el contenido de un nuevo mensaje de texto. Sin embargo, el cliente puede almacenar también el mensaje de texto como parte del historial del mensaje de texto (por ejemplo, un archivo para permitir a un usuario acceder al historial del mensaje encadenado, para buscar mensajes de texto pasados, y lo similar). Una copia maestra del archivo puede mantenerse por un servidor (por ejemplo, un almacén de los datos del cliente) . En los casos en donde los datos del mensaje de texto se sincronizan utilizando un mecanismo de sincronización no en tiempo real, el cliente sincronizará el archivo del historial del mensaje de texto con el servidor cuando el cliente llegue al primer plano, cuando se reciba la notificación de cambio de los datos para los mensajes de texto.
Como otro ejemplo con respecto a los mensajes MMS, la notificación de cambio de los datos puede incluir una indicación del cambio pendiente, asi como el metacontenido (por ejemplo, información del remitente, información del receptor, asunto, miniaturas de un anexo MMS, y lo similar) del mensaje MMS. La notificación alerta a un usuario de la
<img file="MX374337B_D0015.tif" />
Μ O ***. O ο
existencia y metacontenido del mensaje MMS. Sin embargo, el σ>
cliente puede almacenar también el metacontenido del historial del mensaje MMS (por ejemplo, un archivo para permitir que un usuario acceda al historial del mensaje encadenado, para buscar mensajes MMS pasados, y lo similar). Una copia maestra del archivo puede mantenerse por un servidor (por ejemplo, un almacén de los datos del cliente). En los casos en donde el metacontenido MMS se sincronice utilizando un mecanismo de sincronización no en tiempo real, el cliente sincronizará el archivo del historial del mensaje de texto con el servidor, cuando el cliente llegue al primer plano, cuando se recibe la notificación de cambio de los datos para los mensajes MMS. El anexo del mensaje MMS puede sincronizarse basándose en la configuración del cliente. Por ejemplo, cuando el cliente se configura para descargar de manera automática los anexos del mensaje MMS, la sincronización de los datos se hace inmediatamente (por ejemplo, en tiempo real, tras la recepción de la notificación). De otra manera, se invoca la sincronización de los datos para el anexo, cuando el usuario solicite la descarga del anexo. Los dos ejemplos anteriores de sincronización de los datos del archivo pueden aplicarse además a otros tipos de datos, tales como, IPA, datos del historial de las llamadas (por ejemplo, datos de la llamada recibida, datos de la llamada enviada, datos de la duración
<img file="MX374337B_D0016.tif" />
Μ O ***. O ο
de la llamada, y lo similar) , combinaciones de los mismos, y σ>
lo similar.
La Figura 2B ilustra un diagrama de flujo 250 para la entrega de la notificación en una modalidad de la plataforma. Los pasos en el diagrama de flujo 250 pueden realizarse por un servicio de notificación 210 (por ejemplo, para notificaciones en tiempo real), en combinación con un servidor de sincronización de los datos 212 (por ejemplo, para el manejo de la entrega fuera de linea) . En el paso 252, se recibe un mensaje para entregarse a un cliente (por ejemplo, el cliente 204) en un dispositivo del cliente (por ejemplo, dispositivo del cliente 102) . En el paso 254, se hace una determinación con respecto a si el cliente está registrado. Si el cliente no está registrado, el mensaje se transfiere para el manejo de la entrega fuera de linea en el paso 256. En una modalidad, los datos en el manejo de la entrega fuera de linea se sincronizan con el cliente cuando el cliente está en linea. Si el cliente está registrado, se hace un intento de entregar el mensaje en una sesión del protocolo de inicio de la sesión (SIP) (u otro mecanismo de entrega en tiempo real) en el paso 258. En el paso 260, se hace una determinación de si el mensaje se entregó de manera exitosa. Si el mensaje se entregó de manera exitosa, el proceso termina en el paso 280.
Si el mensaje no se entregó de manera exitosa, se
<img file="MX374337B_D0017.tif" />
Μ O ***. O ο μ hace una determinación con respecto al tipo de notificación σ>
siendo entregada en el paso 262. Dependiendo del tipo de notificación, pueden utilizarse diferentes mecanismos de notificación cuando un mensaje no es entregado de manera exitosa. Por ejemplo, en la Figura 2B, las notificaciones del Tipo 1 requieren entrega en tiempo real. Para las notificaciones del Tipo 1, la transacción se realiza en el paso 262 y se utiliza un servicio de notificación secundario para provocar que el cliente se vuelva a conectar con el canal primario de entrega en tiempo real en el paso 266. Si el cliente se vuelve a conectar de manera exitosa en el transcurso de un periodo de espera, el mensaje se entrega al cliente en el paso 270 y el proceso termina. Si el cliente no se vuelve a conectar de manera exitosa en el transcurso del periodo de espera, el mensaje se envia al manejo de la entrega fuera de linea (paso 256) después de rastrear la falla de la entrega del mensaje para identificar los dispositivos temporalmente inaccesibles (TU) (por ejemplo, los dispositivos que están temporalmente desconectados de la red y/o el servidor) y/o los propósitos fuera de linea (paso 274) . Como otro ejemplo, las notificaciones del Tipo 2 simplemente provocan que los clientes se vuelvan a conectar. Asi, para una notificación del Tipo 2, el servidor utiliza un canal de notificación secundario para notificar al cliente de volverse a conectar con el canal de notificación primario en
IMPI §
INS ^ ΓΟ MEXICANO <sup>F</sup> DE ^VROPIEDAD w
IND^-. IAL *>|
0) ***.
M O 23 ***. O o bO tiempo real en el paso 272. Posteriormente, el mensaje se σ> envia al manejo de la entrega fuera de linea (paso 256) después de rastrear la falla de la entrega del mensaje para TU/propósitos fuera de linea (paso 274). Las notificaciones del Tipo 3 son para notificaciones no urgentes. Para la falla de la entrega de las notificaciones del Tipo 3, el mensaje se envia al manejo de la entrega fuera de linea (paso 256) después de rastrear la falla de la entrega del mensaje para TU/propósito fuera de linea (paso 274) sin utilizar el canal de notificación secundario.
Varias modalidades proporcionan mecanismos para la sincronización de los datos en tiempo real y no en tiempo real con una gestión mejorada de los recursos de la red. Por ejemplo, los recursos de la red pueden desperdiciarse en la sincronización de los datos de ciertos tipos de datos cuando un cliente está operando como un proceso en segundo plano. Como otro ejemplo, los recursos de la red pueden desperdiciarse si el cliente realiza una verificación de la sincronización de los datos (por ejemplo, verificación para los cambios de los datos) cada vez que el cliente se lleva al primer plano. Los recursos utilizados para sondear un servidor para los cambios de los datos pueden ser especialmente desperdiciados para los tipos de datos que no cambian frecuentemente. Por ejemplo, las notificaciones del cambio de la configuración, las actualizaciones de la lista
<img file="MX374337B_D0018.tif" />
Μ O ***. O ο
del grupo, las actualizaciones de la lista de contactos, los σ>
estados de presencia para algunos tipos de usuarios, y lo similar, pueden ser ejemplos de tipos de datos que no cambian frecuentemente. Otros tipos de datos también pueden cambiar esporádicamente.
En una modalidad, un servidor de notificación (por ejemplo, como parte de un servidor de sincronización de los datos 212 y/o el servicio de notificación 210) notifica al cliente cuando hay un cambio de los datos. Posteriormente, el servidor de notificación puede no enviar ninguna notificación adicional al cliente, con respecto a los datos del tipo de sincronización no en tiempo real, hasta que el cliente sincronice los datos de manera exitosa con un almacén de respaldo de los datos del cliente, incluso cuando hay cambios adicionales de los datos que se relacionan con el cliente. En tales modalidades, el servidor de notificación puede o no transmitir las notificaciones subsiguientes para los datos del tipo de sincronización en tiempo real entre una notificación inicial y cuando un cliente sincroniza los datos de manera exitosa con un almacén de respaldo de los datos del cliente. Asi, los recursos de la red pueden ahorrarse transmitiendo una sola notificación, que indica al cliente que hay cambios en los datos en el almacén de los datos del cliente y provoca que el cliente sincronice sus datos con la red.
Pueden ahorrarse los recursos de la red adicionales
<img file="MX374337B_D0019.tif" />
Μ O ***. O ο para transmitir las notificaciones adicionales (por ejemplo, σ> para los cambios adicionales de los datos) entre una notificación de cambio de los datos y la sincronización de los datos. Después de que el cliente sincroniza los datos, el servidor de notificación puede transmitir otra notificación al cliente cuando ocurra un cambio de los datos subsiguiente. Varias notificaciones del servidor de notificación (incluyendo las notificaciones de cambio de los datos) pueden regularse además, para reducir la congestión de los recursos de la red (por ejemplo, congestión del recurso RAN) , como se explica con más detalle a continuación.
Además, para los tipos de datos de sincronización no en tiempo real, un cliente puede sólo realizar la sincronización de los datos cuando el usuario lleva al cliente al primer plano (por ejemplo, cuando el usuario abre al cliente para utilizarlo) . La sincronización de los datos puede no provocarse cada vez que el cliente se lleva al primer plano. En su lugar, el cliente determina si se recibió una notificación de cambio de los datos, desde una sincronización de los datos exitosa más reciente, para provocar una sincronización de los datos subsiguiente. En algunas modalidades, el cliente puede no sondear de manera activa al servidor para los cambios y depende de las notificaciones del cambio de los datos para determinar cuando ha ocurrido un cambio en los datos. El cliente puede sincronizar además
<img file="MX374337B_D0020.tif" />
O ***.
O o
los datos con la plataforma cuando el σ>
cliente recupera la conectividad de la red con la plataforma, después de que el cliente estuviera fuera de linea. De esta manera, las notificaciones perdidas del cambio de los datos (por ejemplo, mientras el cliente estaba fuera de linea) no resultan en un retraso o pérdida en los datos de sincronización. Asi, pueden ahorrarse los recursos de la red para sondear el servidor para los cambios de los datos (particularmente para los datos que cambian esporádicamente).
La Figura 3 ilustra una porción de la plataforma de servicios de telecomunicaciones 106, que puede utilizarse para proporcionar un mecanismo de sincronización de los datos provocado por la notificación, que permite la sincronización de los datos en tiempo real y no en tiempo real para un cliente 204 en un dispositivo del cliente (por ejemplo, el dispositivo del cliente 102 en la Figura 1) . El cliente 204 puede utilizar un almacén de respaldo de los datos del cliente 306 habilitado por la sincronización de los datos (por ejemplo, una base de datos electrónica, tal como un sistema de almacenamiento en la nube, o lo similar) para gestionar los datos que pertenecen a uno o más servicios 202 proporcionados por una plataforma de servicios de telecomunicaciones 106. En una modalidad, el almacén de los datos del cliente 306 puede ser parte de un servidor de sincronización de los datos 212 o una entidad separada del
<img file="MX374337B_D0021.tif" />
Μ O ***. O ο Μ servidor de sincronización de los datos 212. Los datos σ>
almacenados en el almacén de los datos del cliente 306 pueden crearse y/o modificarse por el cliente 204 directamente.
Cualesquier cambios iniciados por un usuario (por ejemplo, un operador del dispositivo del cliente correspondiente) puede sincronizarse con el almacén de los datos del cliente 306 cuando está disponible una conexión de la red entre el cliente 204 y un almacén de los datos del cliente 306. Los servicios de respaldo 202 también pueden crear y/o modificar los datos en el almacén de los datos del cliente 306, a nombre del cliente 204. Los cambios de los datos del cliente realizados en el respaldo (por ejemplo, realizados por los servicios 202) se sincronizan al cliente a través de un mecanismo de sincronización en tiempo real y/o un mecanismo de sincronización de los datos provocado por la notificación, para la sincronización no en tiempo real, dependiendo del tipo de datos cambiados. Una pasarela datasync móvil (GW) 316 facilita el acceso al almacén de los datos del cliente 306 por el cliente 204. En una modalidad, la GW datasync móvil 316 puede ser parte del servidor de sincronización de los datos 212 o ser una entidad separada del servidor de sincronización de los datos 212. Por ejemplo, el cliente 204 puede respaldar los datos y sincronizar los cambios de los datos realizados por otros dispositivos (por ejemplo, los servicios 202 y/u otros dispositivos del cliente operados por
<img file="MX374337B_D0022.tif" />
IMPI §
INS^^ <sup>ro</sup> MEXICANO DE ^VROPIEDAD w
IND^-. IAL
0) ***. bO O el usuario) a través de la GW datasync móvil 316.
o o bO o
En una modalidad, el cliente 204 utiliza varios servicios 202, y los datos utilizados para la operación de estos servicios se almacenan en el almacén de los datos del cliente 306. En una modalidad de la plataforma con PTT, los servicios 202 pueden incluir servidores de llamadas con PTT (por ejemplo, para proporcionar llamadas con PTT), servidores de la presencia (por ejemplo, para rastrear la disponibilidad y estado de los contactos y/o grupos), servidores de mensajería (por ejemplo, para mensajes de texto, mensajes multimedios y/o lo similar), servidores XDM (por ejemplo, para los datos de los contactos y/o los datos de gestión del grupo), servicios de localización, y lo similar. Los servicios 202 pueden transmitir los cambios de los datos del cliente al almacén de los datos del cliente 306.
Cuando un servicio 202 crea o modifica los datos en el almacén de los datos del cliente 306, el servicio 202 transmite una notificación de cambio de los datos al servidor de notificación 308. En una modalidad, el servidor de notificación 308 puede ser parte del servicio de notificación 210 o ser una entidad separada (por ejemplo, parte del servidor de sincronización de los datos 212). El servidor de notificación 308 entrega las notificaciones del cambio de los datos enviada por los servicios 202 al cliente 204. Las notificaciones del cambio de los datos para los tipos de
IMPI §
INS ^ ΓΟ MEXICANO <sup>F</sup> DE ^VROPIEDAD w
INDI^x. IAL *>|
0) ***. M O ***. O o bO datos de la sincronización de los datos no en tiempo real σ> pueden o no se entregadas a un cliente, dependiendo si se entregó una notificación previa de cambio de los datos y si un cliente ha terminado la sincronización de los datos después de la notificación previa de cambio de los datos y el tipo de datos cambiados. Por ejemplo, si una notificación de cambio de los datos ya se ha transmitido al cliente 204 desde el momento más reciente en que el cliente 204 realizó la sincronización de los datos de manera exitosa, el servidor de notificación 308 no entrega la notificación de cambio de los datos subsiguiente al cliente 204. Como otro ejemplo, si una notificación de cambio de los datos no se ha transmitido al cliente 204 desde el momento más reciente en que el cliente 204 realizó sincronización de los datos de manera exitosa, el servidor de notificación 308 no entrega la notificación de cambio de los datos al cliente 204. Además, un usuario (u otro operador) puede designar ciertos tipos de datos para las notificaciones en tiempo real, y una notificación de cambio de los datos puede transmitirse para estos tipos de datos, cada vez que ocurra un cambio, sin importar si se envio una notificación previa desde una sincronización exitosa más reciente.
En algunas modalidades, el servidor de notificación 308 puede interactuar además con el servidor de localización 310 y el sistema de análisis 312 para determinar el estado de
IMPI §
INS ^ ΓΟ MEXICANO <sup>F</sup> DE ^VROPIEDAD w
IND^-. IAL *>|
0) ***. M O 30 ***. O o bO congestión de los recursos de la red (por ejemplo, recurso σ>
RAN) en la ubicación del cliente 204 (por ejemplo, la ubicación del dispositivo del cliente en el cual reside el cliente 204). El servidor de notificación 308 puede determinar si se regulan los mensajes (por ejemplo, notificaciones) cuando se entregan las notificaciones del cambio de los datos al cliente 204, de acuerdo con las interacciones con el servidor de localización 310 y el sistema de análisis 312.
El servidor de localización 310 rastrea la ubicación de la RAN para los clientes activos (por ejemplo, el cliente 204) en la plataforma de servicios de telecomunicaciones. Por ejemplo, el servidor de localización 310 puede rastrear cuales células (por ejemplo, estaciones de base, macrocélulas, femtocélulas, AP Wi-Fi, combinaciones de los mismos, y lo similar) atienden a los clientes (por ejemplo, el cliente 204) en la plataforma de servicios de telecomunicaciones. La información de la ubicación se recolecta a través de las actualizaciones de la ubicación enviadas por los clientes (por ejemplo, el cliente 204). En algunas modalidades, el cliente transmite las actualizaciones de la ubicación agregadas en otros mensajes entre el cliente y los varios componentes de la plataforma de servicios de telecomunicaciones. Por ejemplo, las actualizaciones de la ubicación pueden agregarse en las solicitudes del servicio
<img file="MX374337B_D0023.tif" />
Μ O <sup>31 </sup>***. O ο enviadas por los varios clientes cuando se accede a los σ> servicios 202.
Varios servicios 202 reportan la actividad del usuario al sistema de análisis 312. Estos datos de la actividad del usuario se utilizan por el sistema de análisis 312 para crear un mapa de la utilización de los recursos de la red en todo el sistema (por ejemplo, un mapa de la utilización de la RAN) . El mapa de la utilización de los recursos de la red puede rastrear y verificar de manera continua qué recursos de la red están siendo utilizados por diferentes células en una red.
El servidor de notificación 308 puede utilizar el mapa de la utilización de los recursos de la red y la información de la ubicación para determinar si se regula la entrega de las notificaciones del cambio de los datos a los clientes en las áreas congestionadas. Por ejemplo, el servidor de notificación 308 puede asegurar que el número de notificaciones entregado por cualquier célula en la red esté por debajo de un umbral máximo dentro de un cierto periodo de tiempo. Por ejemplo, el servidor de notificación 308 permite la entrega de las notificaciones del cambio de los datos a los clientes atendidos por una primera célula en el transcurso de un primer periodo de tiempo, hasta que se alcanza un umbral del máximo número de notificaciones. El umbral del máximo número de notificaciones y/o los periodos
C'XJ? IMPI §
INS ^ ΓΟ MEXICANO <sup>F</sup> DE ^VROPIEDAD w
IND^-. IAL *>|
0) ***. M O 32 ***. O o N) de tiempo pueden ser configuradles y establecerse por el σ> operador del sistema de telecomunicaciones, un estándar, una combinación de los mismos, o lo similar. Una vez que se alcanza el umbral del máximo número de notificaciones, el servidor de notificación 308 puede retener las notificaciones adicionales para la entrega por la primera célula hasta el siguiente periodo de tiempo. Asi, los recursos de la red no son abrumados por la entrega de la notificación.
Varias modalidades incluyen mecanismos de sincronización de los datos en tiempo real y no en tiempo real, que proporcionan de manera ventajosa la sincronización de los datos con eficiencia mejorada en la utilización de los recursos de la red. En una modalidad de una plataforma, un cliente (por ejemplo, un cliente 204 en el dispositivo del cliente 102) espera recibir una notificación de cambio de los datos desde una plataforma de servicios de telecomunicaciones para determinar cuando ha ocurrido un cambio de los datos, en lugar de sondear periódicamente un almacén de los datos del cliente para detectar los cambios de los datos. El cliente no requiere mantener una conexión activa con la plataforma de servicios de telecomunicaciones para recibir los cambios de los datos introducidos en tiempo real. En su lugar, como se describió anteriormente con respecto a la Figura 2B, los tipos de cambios de los datos configurados para las notificaciones en tiempo real, pueden introducirse al cliente
<img file="MX374337B_D0024.tif" />
Μ O <sup>33 </sup>***. O ο μ cuando esta disponible una conexión de la red, y las σ> notificaciones en tiempo real pueden ponerse en la cola para la entrega mientras el cliente está fuera de linea. Tras recibir una notificación de cambio de los datos, el cliente puede sincronizarse inmediatamente con un almacén de los datos del cliente (por ejemplo, referido algunas veces como sincronización en tiempo real) o esperar hasta que el cliente se lleve al primer plano del dispositivo del cliente por el usuario (por ejemplo, sincronización no en tiempo real). En una modalidad, la notificación de cambio de los datos indica el tipo de datos cambiados, y el cliente puede determinar si realiza una sincronización en tiempo real o no en tiempo real, de acuerdo con el tipo de datos cambiados (por ejemplo, como se configura por un usuario que opera el dispositivo del cliente) . Por ejemplo, en una modalidad del servicio con PTT, como se describió en la Tabla 1, los cambios de la presencia, los cambios de los datos de los contactos, los cambios de los datos de la gestión del grupo, las notificaciones del mensaje de texto con la funcionalidad de oprimir para X, las notificaciones del servicio de mensajería multimedios con la funcionalidad de oprimir para X, IPA PoC, notificaciones relacionadas con la llamada (por ejemplo, notificación de los cambios a una llamada con PTT en progreso, una notificación de una llamada con PTT terminada, y lo similar), combinaciones de los mismos, o lo similar,
IMPI §
INS ^ ΓΟ MEXICANO <sup>F</sup> DE ^VROPIEDAD w
IND^-. IAL *>|
0) ***. bO O <sup>34</sup> ***. o o bO pueden sincronizarse utilizando un mecanismo de σ>
sincronización no en tiempo real, mientras que los cambios de los datos del rastreo de la ubicación (por ejemplo, rastreo de la ubicación de los contactos y/o grupos de un cliente) pueden utilizar la sincronización en tiempo real. En otras modalidades, cualquiera de los tipos de datos ejemplares anteriores (por ejemplo, datos de la presencia en el almacén de los datos del cliente, datos de los contactos, datos de la gestión del grupo, una notificación de un mensaje de texto con la funcionalidad de oprimir para X, una notificación del servicio de mensajería multimedios con la funcionalidad de oprimir para X, IPA en el celular (PoC) con la funcionalidad de oprimir para hablar (PTT), datos de rastreo de la ubicación, notificaciones relacionadas con la llamada, o una combinación de los mismos) puede sincronizarse utilizando los mecanismos de sincronización de los datos en tiempo real o no en tiempo real, como se configura por un usuario, un administrador del grupo, un administrador de la red, un operador del servicio, un estándar, combinaciones de los mismos, y lo similar.
Además, cada vez que el cliente se lleva al primer plano, el cliente puede no activar automáticamente la sincronización de los datos. Por ejemplo, el cliente puede iniciar la sincronización de los datos si se recibió al menos una notificación de cambio de los datos mientras el cliente estaba en segundo plano.
<img file="MX374337B_D0025.tif" />
O <sup>35</sup> ***.
O o
Como otro ejemplo, el cliente puede o iniciar la sincronización de los datos si el cliente pierde temporalmente la conectividad de la red durante al menos un intervalo de tiempo configurable para captar las notificaciones perdidas del cambio de los datos durante la pérdida de la conectividad de la red.
La Figura 4 ilustra un diagrama de diagrama de flujo del lógico 400 de un cliente (por ejemplo, el cliente 204) en un dispositivo del cliente (por ejemplo, el dispositivo del cliente 102) que implementa una modalidad del mecanismo de sincronización de los datos no en tiempo real. La Figura 4 puede ilustrar las interacciones entre el cliente, un servidor de notificación (por ejemplo, el servidor de notificación 308), y un servidor de sincronización de los datos (por ejemplo, el servidor de sincronización de los datos 212) . El diagrama de flujo del lógico 400 puede utilizarse por el cliente en el dispositivo del cliente para determinar si se intenta la sincronización de los datos con un servidor de respaldo (por ejemplo, el servidor de sincronización de los datos 212). Un cliente que implementa el diagrama de flujo del lógico 400 puede estar en uno de los siguientes tres estados: estado inactivo 402, estado sin datos pendientes 404 o estado con datos pendientes 406.
El cliente puede entrar al estado inactivo 402 con
<img file="MX374337B_D0026.tif" />
Μ O ***. O ο el inicio del dispositivo del cliente y cuando el cliente σ> pierde la conectividad de la red/está temporalmente no disponible. En el estado inactivo 402, el cliente intenta sincronizar los datos del cliente en el dispositivo del cliente con los datos en el almacén de los datos del cliente (paso 408A) como resultado de un intento del lógico (por ejemplo, intento para volverse a conectar con el almacén de los datos del cliente) y/o cuando el cliente se lleva al primer plano (por ejemplo, cuando el cliente cambia de un proceso en segundo plano a un proceso activo). Cuando el cliente sincroniza los datos de manera exitosa entre el dispositivo del cliente y el almacén de los datos del cliente, el cliente pasa a un estado sin datos pendientes 404. Si el intento para sincronizar los datos (paso 408A) no es exitoso, el cliente determina si se vuelve a intentar la sincronización de los datos (paso 408B). Por ejemplo, el cliente puede volver a intentar sincronizar los datos hasta que se agote un número máximo de nuevos intentos (designado MaxRetry). El número máximo de nuevos intentos puede ser un número configurable establecido por la plataforma de servicios de telecomunicaciones, el usuario, un estándar, una combinación de los mismos, o lo similar. Cuando el número máximo de nuevos intentos para la sincronización de los datos se ha agotado, el cliente puede entrar al estado con datos pendientes 406.
Además <sub>r</sub> cuando el
<img file="MX374337B_D0027.tif" />
O ***.
O o bO cliente recibe una notificación σ>
de cambio de los datos (por ejemplo, de un servidor de notificación) mientras está en el estado inactivo 402, el cliente determina si está operando de manera activa en el primer plano del dispositivo del cliente o de manera pasiva en el segundo plano del dispositivo del cliente (paso 408D). Por ejemplo, el cliente determines si está operando de manera activa en el dispositivo del cliente u operando como un proceso en segundo plano del dispositivo del cliente. Cuando la aplicación del cliente está activa en el primer plano del dispositivo del cliente, el cliente intenta la sincronización de los datos (paso 408A). El éxito o la falla del procedimiento de sincronización de los datos puede resultar en el paso al estado sin datos pendientes 404, nuevos intentos del procedimiento de sincronización de los datos y/o paso al estado con datos pendientes 406, como se discutió anteriormente. Cuando la aplicación del cliente está pasiva en el segundo plano del dispositivo del cliente, el cliente pasa al estado con datos pendientes 406 tras recibir la notificación de cambio de los datos en el estado inactivo 402 .
El cliente entra al estado sin datos pendientes 404 cuando el cliente termina la sincronización de los datos de manera exitosa. Cuando el cliente recibe una notificación de cambio de los datos del servidor cuando está en el estado sin
<img file="MX374337B_D0028.tif" />
Μ O ***. O ο μ datos pendientes, el cliente determina si esta activo en el σ> primer plano del dispositivo del cliente o pasivo en el segundo plano (paso 408C). Por ejemplo, el cliente determina si está operando de manera activa en el dispositivo del cliente u operando como un proceso en segundo plano del dispositivo del cliente. Cuando la aplicación del cliente está activa en el primer plano del dispositivo del cliente, el cliente intenta la sincronización de los datos con el servidor (paso 408A). Cuando la aplicación del cliente está pasiva en el segundo plano del dispositivo del cliente, el cliente pasa al estado con datos pendientes 406 tras recibir la notificación de cambio de los datos en el estado sin datos pendientes 404.
El éxito o la falla del procedimiento de sincronización de los datos puede resultar en permanecer en el estado sin datos pendientes 404, nuevos intentos del procedimiento de sincronización de los datos y/o el paso al estado con datos pendientes 406, como se discutió anteriormente. Por ejemplo, tras sincronizar los datos de manera exitosa en el estado sin datos pendientes 404, el cliente permanece en el estado sin datos pendientes 404. Si la sincronización de los datos falla en el estado sin datos pendientes 404, el cliente vuelve a intentar la sincronización de los datos hasta que se agota un número máximo de reintentos. Cuando se agota el número máximo de
IMPI §
INS ^ ΓΟ MEXICANO <sup>F</sup> DE ^VROPIEDAD w INDI^x. IAL *>|
0) ***.
M O <sup>39</sup> ***. O o N) renitentes, el cliente entra al estado con datos pendientes σ>
406. Si el cliente pierde la conectividad de la red (por ejemplo, está temporalmente no disponible para el servidor), cuando el cliente está en el estado sin datos pendientes 404, entonces el cliente pasa al estado inactivo 402.
El cliente entra al estado con datos pendientes 406 cuando el cliente ha recibido una notificación de cambio de los datos del servidor mientras la aplicación del cliente está pasiva en el segundo plano. El cliente puede entrar además al estado con datos pendientes 406 cuando los intentos de sincronización de los datos han fallado más que el número máximo de reintentos.
En el estado con datos pendientes 406, el cliente ignora todas las notificaciones subsiguientes del cambio de los datos recibidas del servidor de notificación. Además, en el estado con datos pendientes 406, cuando el cliente pierde la conectividad de la red (por ejemplo, está temporalmente no disponible para la plataforma de servicios de telecomunicaciones), el cliente puede permanecer en el estado con datos pendientes 406.
Cuando el cliente está activo (por ejemplo, se lleva al primer plano por un usuario o el sistema de operación del dispositivo del cliente), el cliente intenta la sincronización de los datos (paso 408A) con un servidor de sincronización de los datos. El éxito o la falla del
<img file="MX374337B_D0029.tif" />
Μ O ***.
O ο μ procedimiento de sincronización de los datos puede resultar σ>
en el paso al estado sin datos pendientes 404, nuevos intentos del procedimiento de sincronización de los datos y/o permanecer en el estado con datos pendientes 406, como se discutió anteriormente. Por ejemplo, tras sincronizar los datos de manera exitosa en el estado con datos pendientes 406, el cliente pasa al estado sin datos pendientes 404. Si el intento de sincronización de los datos falla en el estado con datos pendientes 406, el cliente vuelve a intentar la sincronización de los datos hasta que se ha agotado el número máximo de reintentos. Cuando se ha agotado el número máximo de reintentos, el cliente permanece en el estado con datos pendientes 406.
La Figura 5 ilustra un diagrama de flujo del lógico 500 del lógico del servidor de notificación para la sincronización de los datos no en tiempo real. Cuando los datos se crean o actualizan en un almacén de los datos del cliente (por ejemplo, el almacén de los datos del cliente 306) , el servidor de notificación envia una notificación de cambio de los datos a un cliente en un dispositivo del cliente. El servidor de notificación puede no enviar notificaciones subsiguientes al cliente para los cambios de los datos subsiguientes, hasta que el cliente sincronice los datos de manera exitosa con el almacén de los datos del cliente. Cuando envia las notificaciones del cambio de los
IMPI §
INS ^ ΓΟ MEXICANO <sup>F</sup> DE ^VROPIEDAD w
IND^-. IAL *>|
0) ***. M O <sup>41</sup> ***. O o bO datos al cliente, el servidor puede ademas, utilizar la σ> información de la ubicación y los datos del uso del servicio en tiempo real determinan el estado de la utilización de la capacidad de los recursos de la red (por ejemplo, los recursos RAN) . El servidor de notificación puede determinar si regula las notificaciones del cambio de los datos (por ejemplo, para reducir la congestión de la RAN), de acuerdo con el estado de utilización de la capacidad de los recursos de la red, como se describió anteriormente.
En una modalidad, el servidor de notificación mantiene una cola de notificación de cambio de los datos para cada cliente móvil atendido por el servidor de notificación, de manera que cada cliente depende del servidor de notificación para entregar las notificaciones. La Figura 5 ilustra varios estados de una cola de notificación de cambio de los datos mantenida por el servidor de notificación para un dispositivo del cliente. La cola de notificación de cambio de los datos puede estar en cualquiera de los siguientes estados: estado cerrado 502, estado init 504, estado sin datos pendientes 506 y estado con datos pendientes 508 .
La cola de notificación del cambio de los datos está en el estado cerrado 502 cuando el cliente está fuera de linea. En el estado cerrado 502, el servidor de notificación ignora las notificaciones del cambio de los datos por el
<img file="MX374337B_D0030.tif" />
Μ O ***. O O Μ almacén de los datos del cliente y/o los varios servicios σ> proporcionados por la plataforma. Por ejemplo, el servidor de notificación puede descartar todas las notificaciones del cambio de los datos que se relacionan con el cliente, recibidas mientras la cola de notificación de cambio de los datos está en el estado cerrado 502. Cuando el cliente está en linea y se conecta al servidor, el servidor de notificación intenta transmitir una notificación de cambio de los datos al cliente. Esta notificación puede enviarse sin importar si algunos cambios de los datos ocurrieron mientras el cliente estaba fuera de linea. Si la notificación inicial de cambio de los datos se entrega de manera exitosa al cliente, el servidor de notificación pasa la cola de notificación de cambio de los datos al estado con datos pendientes 508. La notificación inicial de cambio de los datos provoca que el cliente intente la sincronización de los datos. Si la notificación inicial de cambio de los datos no se entrega de manera exitosa, el servidor de notificación pasa la cola de notificación de cambio de los datos al estado init 504.
Cuando una cola de notificación de cambio de los datos está en el estado init 504, el servidor de notificación puede volver a intentar enviar la notificación inicial de cambio de los datos al cliente una o más veces. La cola de notificación de cambio de los datos permanece en el estado
<img file="MX374337B_D0031.tif" />
Μ O <sup>43</sup> ***.
O ο Μ init 504 hasta que la notificación inicial de cambio de los σ>
datos se entrega al cliente de manera exitosa o el cliente termina de manera exitosa un intento de sincronización de los datos. Tras la entrega exitosa de la notificación inicial de cambio de los datos, el estado de la cola de notificación de cambio de los datos pasa al estado sin datos pendientes 506. De manera similar, cuando el cliente termina la sincronización de los datos de manera exitosa mientras la cola de notificación de cambio de los datos está en el estado init 504, el estado de la cola de notificación de cambio de los datos pasa al estado sin datos pendientes 506. Si el cliente está fuera de linea cuando la cola de notificación de cambio de los datos está en el estado init 504, el estado de la cola de notificación de cambio de los datos pasa al estado cerrado 502. El paso al estado cerrado 502 puede incluir además, despejar la cola de notificación de cambio de los datos.
La cola de notificación de cambio de los datos entra al estado con datos pendientes 508 después de que al menos una notificación de cambio de los datos se ha entregado al cliente. Esto puede ocurrir cuando la notificación inicial de cambio de los datos se entrega al cliente; al momento del registro del cliente o cuando se recibe una notificación de cambio de los datos por el servidor de notificación, mientras la cola de notificación de cambio de
<img file="MX374337B_D0032.tif" />
Μ O ***. O ο Μ los datos está en el estado sin datos pendientes 506. σ>
En el estado con datos pendientes 508, el servidor de notificación pone en la cola los eventos subsiguientes de cambio de los datos hasta que el cliente termina la sincronización de los datos de manera exitosa con un almacén de los datos del cliente. En una modalidad, los eventos subsiguientes de cambio de los datos se determinan por el servidor de notificación de las notificaciones subsiguientes del cambio de los datos transmitidas al servidor de notificación por el almacén de los datos del cliente y/o los varios servicios en la plataforma. El servidor de notificación puede determinar además, cuando un cliente termina la sincronización de los datos de manera exitosa de una notificación transmitida, por ejemplo, por un servidor de sincronización de los datos (por ejemplo, el servidor de sincronización de los datos 212). En algunas modalidades, el servidor de notificación puede transmitir opcionalmente las notificaciones del cambio de los datos mientras está en el estado con datos pendientes 508 para ciertos tipos de datos (por ejemplo, los datos en donde se desean notificaciones en tiempo real). Cuando el cliente recupera los datos pendientes al terminar la sincronización de los datos de manera exitosa, la cola de notificación de cambio de los datos pasa al estado sin datos pendientes 506 y los eventos del cambio de los datos en la cola pueden despejarse.
Si el cliente está fuera de linea cuando la cola de σ>
notificación de cambio de los datos está en el estado con datos pendientes 508, la cola de notificación de cambio de los datos se despeja y el estado de la cola de notificación de cambio de los datos pasa al estado cerrado 502.
La cola de notificación de cambio de los datos entra al estado sin datos pendientes 506 cuando el cliente sincroniza los datos de manera exitosa con el almacén de los datos del cliente. En el estado sin datos pendientes 506, el servidor de notificación espera que ocurra un evento de cambio de los datos (por ejemplo, reportado por un servicio) y envia una notificación de cambio de los datos al cliente móvil cuando ocurre el evento de cambio de los datos. Después de enviar la notificación de cambio de los datos al cliente, el estado de la cola de notificación de cambio de los datos pasa al estado con datos pendientes 508. Si el cliente está fuera de linea cuando la cola de notificación de cambio de los datos está en el estado sin datos pendientes 506, el estado de la cola de notificación de cambio de los datos pasa al estado cerrado 502. El paso al estado cerrado 502 puede incluir además, despejar la cola de notificación de cambio de los datos.
En varias modalidades, el servidor de notificación también puede regular las notificaciones del cambio de los datos basándose en la ubicación del cliente y en la
<img file="MX374337B_D0033.tif" />
Μ O ***. O ο μ utilización de los recursos de la red en la ubicación del σ> cliente. Por ejemplo, un cliente reporta su información de la ubicación a un servidor de localización como parte de sus procedimientos de registro y de actualización de la sesión de registro. La información de la ubicación también puede integrarse en las solicitudes de servicio enviadas por el cliente. Esta información de la ubicación se procesa por un sistema de análisis en tiempo real y se genera un mapa de la utilización de los recursos de la red y se mantiene por el sistema de análisis. Por ejemplo, el mapa de la utilización de los recursos de la red puede mantenerse y actualizarse de manera continua en tiempo real para rastrear la utilización de los recursos de la red y/o la capacidad en varias ubicaciones en la red. Cuando envia las notificaciones del cambio de los datos a varios clientes, el servidor de notificación puede utilizar el mapa de la utilización de los recursos de la red para regular las notificaciones y no exceder un umbral máximo configurado para el nivel de utilización de la red en cualquier ubicación dada de la red (por ejemplo, cualquier célula).
La Figura 6 ilustra un diagrama de bloques de una modalidad del sistema de procesamiento 600 para realizar los métodos descritos en el presente documento, que puede instalarse en un dispositivo central. Como se muestra, el sistema de procesamiento 600 incluye un procesador 604, una
<img file="MX374337B_D0034.tif" />
Μ O
7 ***. O ο Μ memoria 606, y las interfaces 610-614, que pueden (o no), σ> colocarse como se muestra en la Figura 6. El procesador 604 puede ser cualquier componente o colección de componentes adaptados para realizar cálculos y/u otras tareas relacionadas con el procesamiento, y la memoria 606 puede ser cualquier componente o colección de componentes adaptados para almacenar la programación y/o las instrucciones para la ejecución por el procesador 604. En una modalidad, la memoria 606 incluye un medio legible por computadora no transitorio. Las interfaces 610, 612, 614 pueden ser cualquier componente o colección de componentes que permitan que el sistema de procesamiento 600 se comunique con otros dispositivos/componentes y/o un usuario. Por ejemplo, una o más de las interfaces 610, 612, 614 pueden adaptarse para comunicar datos, controlar o gestionar los mensajes del procesador 604 a las aplicaciones instaladas en el dispositivo central y/o un dispositivo remoto. Como otro ejemplo, una o más de las interfaces 610, 612, 614 pueden adaptarse para permitir que un usuario o dispositivo del usuario (por ejemplo, computadora personal (PC), etc.) interactúe/se comunique con el sistema de procesamiento 600. El sistema de procesamiento 600 puede incluir componentes adicionales no descritos en la Figura 6, tales como un almacenamiento a largo plazo (por ejemplo, memoria no volátil, etc.).
<img file="MX374337B_D0035.tif" />
Μ O ***. O ο
En algunas modalidades, el sistema de procesamiento σ>
600 se incluye en un dispositivo de la red que está accediendo, o es parte de otra manera, de una red de telecomunicaciones. En un ejemplo, el sistema de procesamiento 600 es un dispositivo en el lado de la red en una red de telecomunicaciones inalámbrica o alámbrica, tal como una estación de base, una estación de relé, un organizador, un controlador, una pasarela, un enrutador, un servidor de las aplicaciones, o cualquier otro dispositivo en la red de telecomunicaciones. En otras modalidades, el sistema de procesamiento 600 es un dispositivo en el lado del usuario que accede a una red de telecomunicaciones inalámbrica o alámbrica, tal como una estación móvil, un equipo del usuario (UE), una computadora personal (PC), una tableta, un dispositivo de comunicaciones que se puede llevar puesto (por ejemplo, un reloj inteligente, etc.), o cualquier otro dispositivo adaptado para acceder a una red de telecomunicaciones.
En algunas modalidades, una o más de las interfaces 610, 612, 614 conectan el sistema de procesamiento 600 a un transceptor adaptado para transmitir y recibir la señalización sobre la red de telecomunicaciones. La Figura 7 ilustra un diagrama de bloques de un transceptor 700 adaptado para transmitir y recibir la señalización sobre una red de telecomunicaciones. El transceptor 700 puede instalarse en
<img file="MX374337B_D0036.tif" />
Μ O ***. O ο Μ un dispositivo central. Como se muestra, el transceptor 700 σ> comprende una interfaz en el lado de la red 702, un acoplador 704, un transmisor 706, un receptor 708, un procesador de la señal 710 y una interfaz en el lado del dispositivo 712. La interfaz en el lado de la red 702 puede incluir cualquier componente o colección de componentes adaptados para transmitir o recibir la señalización sobre una red de telecomunicaciones inalámbrica o alámbrica. El acoplador 704 puede incluir cualquier componente o colección de componentes adaptados para facilitar la comunicación bidireccional en la interfaz en el lado de la red 702. El transmisor 706 puede incluir cualquier componente o colección de componentes (por ejemplo, convertidor ascendente, amplificador de la potencia, etc.) adaptados para convertir una señal de la banda de base en una señal modulada del portador adecuada para la transmisión en la interfaz en el lado de la red 702. El receptor 708 puede incluir cualquier componente o colección de componentes (por ejemplo, convertidor descendente, amplificador del ruido bajo, etc.) adaptados para convertir una señal del portador recibida en la interfaz en el lado de la red 702 en una señal de la banda de base. El procesador de la señal 710 puede incluir cualquier componente o colección de componentes adaptados para convertir una señal de la banda de base en una señal de los datos adecuada para la comunicación en las interfaces en el lado del dispositivo
<img file="MX374337B_D0037.tif" />
bO o ***. O o bO
712, o viceversa. Las interfaces en el lado del dispositivo σ>
712 pueden incluir cualquier componente o colección de componentes adaptados para comunicar las señales de los datos entre el procesador de la señal 710 y los componentes dentro del dispositivo central (por ejemplo, el sistema de procesamiento 600, puertos de la red de área local (LAN) , etc.).
El transceptor 700 puede transmitir y recibir la señalización en cualquier tipo de medio de comunicaciones. En algunas modalidades, el transceptor 700 transmite y recibe la señalización en un medio inalámbrico. Por ejemplo, el transceptor 700 puede ser un transceptor inalámbrico adaptado para comunicarse de acuerdo con un protocolo de telecomunicaciones inalámbricas, tal como un protocolo celular (por ejemplo, evolución a largo plazo (LTE), etc.), un protocolo de una red de área local inalámbrica (WLAN) (por ejemplo, Wi-Fi, etc.), o cualquier otro tipo de protocolo inalámbrico (por ejemplo, Bluetooth, comunicación en el campo cercano (NEC), etc.). En tales modalidades, la interfaz en el lado de la red 702 comprende una o más antenas/elementos radiantes. Por ejemplo, la interfaz en el lado de la red 702 puede incluir una sola antena, múltiples antenas separadas o un arreglo con múltiples antenas configurado para la comunicación en múltiples capas, por ejemplo, entrada única salida múltiple (SIMO), entrada múltiple salida única (MISO),
<img file="MX374337B_D0038.tif" />
bO o <sup>51 </sup>***. o o bO entrada múltiple salida múltiple (MIMO), etc. En otras σ> modalidades, el transceptor 700 transmite y recibe la señalización en un medio alámbrico, por ejemplo, un cable de par trenzado, un cable coaxial, una fibra óptica, etc. Los sistemas de procesamiento y/o transceptores específicos pueden utilizar todos los componentes mostrados, o sólo un subconjunto de los componentes, y los niveles de integración pueden variar de dispositivo a dispositivo.
De acuerdo con una modalidad, un método incluye recibir, por un cliente en un dispositivo del cliente, una notificación de cambio de los datos. La notificación de cambio de los datos indica un cambio en los datos que se relacionan con el cliente en un almacén de los datos del cliente. El método incluye además, determinar, por el cliente, un tipo de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente y determinar, por el cliente, un mecanismo de sincronización de los datos de acuerdo con el tipo de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente. La determinación del mecanismo de sincronización de los datos incluye determinar cuando intentar, por el cliente, una sincronización de los datos para sincronizar los datos en el dispositivo del cliente con los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente.
<img file="MX374337B_D0039.tif" />
Μ O ***. O ο μ En una modalidad, el mecanismo de sincronización de σ>
los datos es un mecanismo de sincronización de los datos no en tiempo real. El mecanismo de sincronización de los datos no en tiempo real incluye determinar, por el cliente, si el cliente está operando en un primer plano del dispositivo del cliente u operando en un segundo plano del dispositivo del cliente e intentar, por el cliente, sincronizar los datos en el dispositivo del cliente con los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, cuando el dispositivo del cliente está operando en el primer plano del dispositivo del cliente. El mecanismo de sincronización de los datos no en tiempo real incluye además esperar, por el cliente, hasta que el cliente esté operando en el primer plano para intentar sincronizar los datos en el dispositivo del cliente con los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, cuando el dispositivo del cliente está operando en el segundo plano del dispositivo del cliente.
En una modalidad, el tipo de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente son los datos de la presencia, datos de los contactos, datos de la gestión del grupo, una notificación de mensaje de texto con la funcionalidad de oprimir para X, una notificación de servicio de mensajería multimedios con la funcionalidad de oprimir para X, una alerta personal
<img file="MX374337B_D0040.tif" />
Μ O <sup>53</sup> ***.
O ο μ instantánea en el celular (PoC) con la funcionalidad de σ>
oprimir para hablar (PTT), datos de rastreo de la ubicación.
notificación de los cambios en la llamada con PTT en progreso, una notificación de una llamada con PTT terminada, o una combinación de los mismos.
En una modalidad, el mecanismo de sincronización de los datos es un mecanismo de sincronización de los datos en tiempo real. El mecanismo de sincronización de los datos en tiempo real incluye intentar, por el cliente, sincronizar los datos en el dispositivo del cliente con los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, después de que se recibe la notificación de cambio de los datos, sin importar si el cliente está operando en un primer plano del dispositivo del cliente o está operando en un segundo plano del dispositivo del cliente.
En una modalidad, diferentes tipos de mecanismos de sincronización de los datos se seleccionan para diferentes tipos de datos por un usuario que opera el dispositivo del cliente, un administrador del grupo, un administrador de la red, un operador del servicio, un estándar, o una combinación de los mismos.
Una modalidad del método incluye además, determinar, por el dispositivo del cliente, si la notificación de cambio de los datos se recibió después de una
<img file="MX374337B_D0041.tif" />
Μ O <sup>54 </sup>***. O 4^ O bO sincronización de los datos exitosa mas reciente en el σ> dispositivo del cliente, cuando el cliente pasa de operar en un segundo plano del dispositivo del cliente a operar en un primer plano del dispositivo del cliente, e intentar, por el cliente, sincronizar los datos en el dispositivo del cliente con los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, cuando la notificación de cambio de los datos se recibe después de la sincronización de los datos exitosa más reciente en el dispositivo del cliente. El método puede incluir además, no intentar, por el cliente, sincronizar los datos en el dispositivo del cliente con los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente, cuando la notificación de cambio de los datos no se recibió después de la sincronización de los datos exitosa más reciente enel dispositivo del cliente, y el cliente no perdióla conectividad de la red después de la sincronización delos datos exitosa más reciente en el dispositivo del cliente.
Una modalidad del método incluye además, perder, por el cliente, la conectividad de la red durante al menos un intervalo de tiempo, e intentar, por el cliente, sincronizar los datos en el dispositivo del cliente con los datos en el almacén de los datos del cliente, cuando el cliente recupera la conectividad de la red, después de perder la conectividad de la red durante al menos el intervalo de tiempo.
<img file="MX374337B_D0042.tif" />
Μ O <sup>55</sup> ***.
O ο μ
En una modalidad, el cliente no sondea el almacén σ>
de los datos del cliente para los cambios en los datos que se relacionan con el cliente, y el cliente no requiere mantener una conexión activa con el almacén de los datos del cliente para recibir los cambios en los datos que se relacionan con el cliente.
En una modalidad, la notificación de cambio de los datos incluye al menos una porción de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente. El cliente mantiene un primer archivo de datos para el tipo de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente. El almacén de los datos del cliente mantiene un segundo archivo de datos para el tipo de los datos que se relacionan con el cliente cambiados en el almacén de los datos del cliente. Se utiliza el mecanismo de sincronización de los datos, por el cliente, para sincronizar el primer archivo de datos con el segundo archivo de datos.
En una modalidad, un método incluye recibir, mediante un servidor de notificación en una plataforma de servicios de telecomunicaciones, una notificación de cambio de los datos. La notificación de cambio de los datos indica un cambio de los datos que se relacionan con un cliente en un almacén de los datos del cliente, por uno o más servicios proporcionados por la plataforma de servicios de
<img file="MX374337B_D0043.tif" />
bO o ***. O o bO telecomunicaciones. El método incluye ademas, mantener, poro el servidor de notificación, una cola de notificación de cambio de los datos para el cliente, determinar, por el servidor de notificación, un estado de la cola de notificación de cambio de los datos, y determinar, por el servidor de notificación, si se transmite la notificación de cambio de los datos al cliente de acuerdo con el estado de la cola de notificación de cambio de los datos.
En una modalidad, el método incluye además, transmitir, por el servidor de notificación, la notificación de cambio de los datos al cliente cuando la cola de notificación de cambio de los datos está en un estado sin datos pendientes. La cola de notificación de cambio de los datos pasa al estado sin datos pendientes cuando el cliente sincroniza los datos de manera exitosa con el almacén de los datos del cliente. El método puede incluir además, después de transmitir la notificación de cambio de los datos, pasar la cola de notificación de cambio de los datos a un estado con datos pendientes.
En una modalidad, el método incluye además, recibir, por el servidor de notificación, una o más notificaciones adicionales del cambio de los datos, mientras la cola de notificación de cambio de los datos está en un estado con datos pendientes. La una o más notificaciones adicionales del cambio de los datos indica uno o más cambios
<img file="MX374337B_D0044.tif" />
Μ O <sup>57 </sup>***. O ο adicionales a los datos que se relacionan con el cliente, en σ> el almacén de los datos del cliente, por el uno o más servicios. El método incluye además, poner en la cola, por el servidor de notificación, la una o más notificaciones adicionales del cambio de los datos, hasta que el cliente sincroniza los datos de manera exitosa con el almacén de los datos del cliente. El método incluye además, no transmitir, por el servidor de notificación, la una o más notificaciones adicionales del cambio de los datos, mientras la cola de notificación de cambio de los datos está en el estado con datos pendientes.
En una modalidad, el método incluye además, ignorar, por el servidor de notificación, la notificación de cambio de los datos cuando la cola de notificación de cambio de los datos está en un estado cerrado. La cola de notificación de cambio de los datos está en el estado cerrado cuando el cliente pierde la conectividad de la red. El método incluye además, transmitir, por el servidor de notificación, una notificación inicial de cambio de los datos al cliente, cuando el cliente recupera la conectividad de la red.
En una modalidad, el método incluye además, regular, por el servidor de notificación, la notificación de cambio de los datos de acuerdo con una ubicación del cliente y un mapa de la utilización de los recursos de la red.
En una modalidad, la determinación
<img file="MX374337B_D0045.tif" />
O
O o η i <sup>M</sup> por el servidor σ>
de notificación, si se transmite la notificación de cambio de los datos al cliente de acuerdo con el estado de la cola de notificación de cambio de los datos, incluye transmitir la notificación de cambio de los datos al cliente, cuando el servidor de notificación determina que no se han transmitido notificaciones del cambio de los datos al cliente, desde el momento más reciente en que el cliente sincronizó los datos de manera exitosa con el almacén de los datos del cliente y no transmitir la notificación de cambio de los datos al cliente cuando el servidor de notificación determina que se ha transmitido al cliente, una notificación de cambio de los datos desde el momento más reciente en que el cliente sincronizó los datos de manera exitosa con el almacén de los datos del cliente.
De acuerdo con una modalidad, una plataforma de servicios de telecomunicaciones incluye un almacén de los datos del cliente que almacena los datos que se relacionan con un cliente con funcionalidad de oprimir para hablar (PTT) en un dispositivo del cliente, uno o más procesadores, y una programación de almacenamiento del medio de almacenamiento legible por computadora para la ejecución por el uno o más procesadores. La programación incluye instrucciones para proporcionar uno o más servicios de PTT al cliente con PTT y proporcionar un servidor de notificación. El servidor de
<img file="MX374337B_D0046.tif" />
bO o <sup>59 </sup>***. o o bO notificación se configura para recibir una notificación de σ> cambio de los datos que indica un cambio de los datos que se relacionan con el cliente con PTT, por uno o más servicios de PTT, transmitir la notificación de cambio de los datos al el cliente con PTT, cuando el servidor de notificación determina que no se han transmitido al cliente con PTT notificaciones del cambio de los datos, desde el momento más reciente en que el cliente con PTT sincronizó los datos de manera exitosa con el almacén de los datos del cliente, y no transmitir la notificación de cambio de los datos al cliente con PTT, cuando el servidor de notificación determina que se ha transmitido al cliente con PTT una notificación previa de cambio de los datos, desde el momento más reciente en que el cliente con PTT sincronizó los datos de manera exitosa con el almacén de los datos del cliente.
En una modalidad, la plataforma de servicios de telecomunicaciones incluye además, un servidor de localización que rastrea la ubicación geográfica del cliente con PTT. El servidor de notificación se configura además, para regular la notificación de cambio de los datos de acuerdo con la ubicación geográfica del cliente con PTT.
En una modalidad, la programación incluye además, instrucciones para proporcionar un sistema de análisis. El sistema de análisis se configura para recibir los reportes de la actividad del usuario del uno o más servicios de PTT y
C'XJ? IMPI §
INS ^ ΓΟ MEXICANO <sup>F</sup> DE ^VROPIEDAD w IND^-. IAL *>|
0) ***.
M O 60 ***. O o bO mantiene un mapa de la utilización de los recursos de la red σ>
de acuerdo con los reportes de actividad del usuario. El servidor de notificación se configura además, para regular la notificación de cambio de los datos de acuerdo con el mapa de la utilización de los recursos de la red.
En una modalidad, la plataforma de servicios de telecomunicaciones incluye además, una pasarela datasync móvil configurada para proporcionar acceso al almacén de los datos del cliente por el cliente con PTT.
Aunque esta invención se ha descrito con referencia a las modalidades ilustrativas, esta descripción no pretende interpretarse en un sentido limitante. Varias modificaciones y combinaciones de las modalidades ilustrativas, asi como otras modalidades de la invención, serán evidentes para las 15 personas con experiencia en la técnica tras la referencia a la descripción. Por lo tanto, se pretende que las reivindicaciones anexas abarquen cualquiera de tales modificaciones o modalidades.
Contents22
51 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35 Sheet 36 Sheet 37 Sheet 38 Sheet 39 Sheet 40 Sheet 41 Sheet 42 Sheet 43 Sheet 44 Sheet 45 Sheet 46 Sheet 47 Sheet 48 Sheet 49 Sheet 50 Sheet 51
10 members in 5 offices
Priority claims1
| Document | Office | Kind | Date |
|---|---|---|---|
| 62158384 | United States of America | – |
Members10
| Document | Office | Kind | |
|---|---|---|---|
| CA2971107A1 | Canada | A1 | |
| US2016330279A1 | United States of America | A1 | |
| WO2016179502A1 | World Intellectual Property Organization (WIPO) | A1 | |
| MX2017014026A | Mexico | A | |
| EP3292485A1 | European Patent Office (EPO) | A1 | |
| EP3292485A4 | European Patent Office (EPO) | A4 | |
| US10609138B2 | United States of America | B2 | |
| CA2971107C | Canada | C | |
| EP3292485B1 | European Patent Office (EPO) | B1 | |
| MX374337BThis record | Mexico | B |
Numbers
- Publication
- 374337
- Application
- 14026
Titles2
- Spanish
- SISTEMA Y MÉTODO PARA LA SINCRONIZACIÓN DE DATOS
- English
- SYSTEM AND METHOD FOR DATA SYNCHRONIZATION
Classification
- CPC, 6
- H04L67/1095
- H04W4/08
- G06F16/2358
- H04L51/42
- H04L51/224
- H04L67/54
- IPC, 2
- H04L29 08
- G06F16 00