ES2567272T3 - Plataforma de encaminamiento de mensajes - Google Patents
Plataforma de encaminamiento de mensajes Download PDFInfo
- Publication number
- ES2567272T3 ES2567272T3 ES09806926.3T ES09806926T ES2567272T3 ES 2567272 T3 ES2567272 T3 ES 2567272T3 ES 09806926 T ES09806926 T ES 09806926T ES 2567272 T3 ES2567272 T3 ES 2567272T3
- Authority
- ES
- Spain
- Prior art keywords
- package
- server
- intended recipient
- servers
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 12
- 238000013467 fragmentation Methods 0.000 claims description 7
- 238000006062 fragmentation reaction Methods 0.000 claims description 7
- 230000010076 replication Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 239000012634 fragment Substances 0.000 description 24
- 238000013500 data storage Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/222—Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/043—Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Un sistema para encaminar mensajes en una red de comunicación con una pluralidad de nodos (103a, 103b, 103c, 103d), incluyendo cada nodo una pluralidad de servidores (104a, 104b, 104c) acoplados entre sí, en los que, al recibir un paquete (102) para su entrega a un destinatario previsto (108) por parte de un primer servidor (104a) dentro de la pluralidad de servidores (104a, 104b, 104c) de un primer nodo (103a) dentro de la pluralidad de nodos (103a, 103b, 103c, 103d), dicho sistema está adaptado para: determinar si el destinatario previsto (108) está conectado con el primer servidor (104a) y, si el destinatario (108) está conectado con dicho primer servidor (104a), entregar el paquete (102); estando dicho sistema adicionalmente adaptado, al determinar que el destinatario previsto (108) no está conectado con el primer servidor (104a), para determinar si el paquete (102) contiene una dirección de destino, y remitir el paquete (102) a la dirección de destino para su entrega y, en el caso en que el paquete (102) no contenga una dirección de destino, el sistema remite el paquete (102) a un registro (105), en donde el registro (105) está adaptado para: consultar al menos una base de datos (107a; 107b; 107c) para obtener el perfil de usuario que contiene la ubicación del destinatario previsto; caracterizado porque dicho sistema está adicionalmente adaptado para: determinar si el paquete (102) ya ha sido remitido a un servidor de la pluralidad de servidores (104a, 104b, 104c); remitir el paquete (102) al último servidor conocido (104a, 104b, 104c) que dio servicio por última vez al destinatario previsto, y etiquetar el paquete (102) con información que significa que el paquete fue remitido por el registro (105) que está procesando actualmente el paquete (102) cuando el paquete (102) no ha sido remitido todavía; y no remitir el paquete (102) cuando el paquete ha sido remitido.
Description
5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Plataforma de encaminamiento de mensajes CAMPO DE LA INVENClON
La solicitud de la presente invencion se refiere a sistemas y procedimientos para encaminar informacion. En particular, aunque no exclusivamente, la presente invencion se refiere a encaminar mensajes y datos en una red de comunicaciones moviles.
exposiciOn de la tecnica de trasfondo
La siempre creciente popularidad de la mensajerfa y los formatos de datos moviles, tales como SLS, MMS, VOIP, correo electronico, mensajerfa instantanea, mensajerfa por video, flujos de transmision de video en vivo, etc., imponen un esfuerzo siempre creciente sobre la capacidad de la red. El trafico aumentado afecta a la eficacia de la red. Para mejorar el caudal de datos, muchos proveedores emplean el moldeado, en el que se restringe la velocidad de datos proporcionada a diversos usuarios que superan los lfmites fijados de uso de datos.
Los efectos del trafico aumentado de datos son mucho mas evidentes en muchas de las actuales plataformas de comunicaciones moviles. En esencia, segun las tecnologfas moviles han avanzado desde un dispositivo movil de primera generacion a la segunda generacion, y a la generacion 2,5 y, mas recientemente, a la tercera generacion, el trafico de datos ha crecido exponencialmente. Esto se ha debido principalmente a la provision de ancho de banda adicional. Sin embargo, la eficacia de la transferencia de datos por redes moviles esta limitada en velocidad por los componentes de hardware de la red. No solamente limita el hardware la velocidad de datos; tambien limita la cantidad de usuarios a los que un nodo cualquiera en la red puede dar servicio en un momento especffico.
Dada la cantidad siempre creciente de datos colocados en redes de comunicaciones moviles, existe claramente la necesidad de un sistema y procedimiento de mensajerfa que no solamente sea capaz de gestionar el trafico actual de datos de red, sino que tambien sea inmediatamente ajustable a escala para atender el aumento en los datos.
El documento US 2006 / 0083241, por ejemplo, describe un procedimiento y un aparato para implementar el encaminamiento directo a un nodo movil que visita una red ajena, en donde los paquetes de IP desde un primer nodo movil a un segundo nodo movil son encaminados por un trayecto de comunicacion que no incluye un agente domestico asociado al segundo nodo movil. El procedimiento y el aparato del documento US 2006 / 0083241, sin embargo, solamente permiten simplificar el encaminamiento de mensajes a traves de diversas redes.
RESUMEN DE LA INVENClON
Divulgacion de la invencion
Por consiguiente, en un aspecto de la presente invencion se proporciona un sistema para encaminar mensajes en una red de comunicacion, incluyendo dicho sistema:
una pluralidad de nodos para recibir un paquete, para su entrega a un destinatario previsto, en donde el sistema esta adaptado para determinar si el destinatario previsto esta conectado o no con un primer nodo seleccionado dentro de la pluralidad de nodos y, si el destinatario esta conectado con el primer nodo seleccionado, entregar el paquete y, si se determina que el destinatario no esta conectado con el primer nodo seleccionado dentro de la pluralidad de nodos, el sistema esta adicionalmente adaptado para determinar con cual nodo entre la pluralidad de nodos esta conectado el destinatario previsto, y remitir el paquete al nodo con el cual esta conectado el destinatario previsto.
Preferiblemente, cada nodo entre la pluralidad de nodos incluye una pluralidad de servidores acoplados entre si. Cada nodo contiene, adecuadamente, un primer servidor entre la pluralidad de servidores, estando dicho primer servidor adaptado para determinar si el destinatario previsto esta conectado con al menos un servidor dentro de la pluralidad de servidores en el nodo. El primer servidor puede estar adaptado para determinar si el paquete contiene una direccion de destino del nodo al cual el paquete deberfa ser encaminado. Preferiblemente, el primer servidor esta adaptado para despejar la informacion de encaminamiento en el paquete al remitir el paquete al destino deseado.
Si el paquete del mensaje no contiene ninguna informacion de encaminamiento y el primer servidor determina que el destinatario previsto no esta conectado con su nodo, entonces el primer servidor esta adaptado para encaminar el paquete del mensaje a un registro. El registro puede incluir uno o mas servidores. El registro incluye, adecuadamente, un primer servidor adaptado para consultar al menos una base de datos, en busca de informacion con respecto a la ubicacion del ultimo nodo con el cual estuvo conectado el destinatario previsto. Si dicha al menos una base de datos contiene informacion sobre la ultima ubicacion conocida del destinatario previsto, el primer servidor del registro remite entonces el paquete al primer servidor del nodo identificado.
5
10
15
20
25
30
35
40
45
50
55
60
65
El registro puede consultar, adecuadamente, una pluralidad de bases de datos, ya sea simultaneamente o secuencialmente. La base de datos puede estar en una unica ubicacion o distribuido por toda la red.
Preferiblemente, la pluralidad de servidores en cada nodo y / o cada registro puede ocupar la misma ubicacion ffsica. Alternativamente, los servidores dentro de cada nodo y / o registro pueden estar distribuidos entre distintas ubicaciones dentro del nodo / registro; en tal caso, los servidores estan agrupados en racimos.
Los paquetes pueden incluir paquetes de mensajes, paquetes de informacion o paquetes de presencia. Si el paquete es un paquete de mensaje y el sistema es incapaz de determinar la ubicacion del destinatario, el sistema intenta entregar el paquete de acuerdo a un conjunto predeterminado de reglas. Las reglas de entrega pueden incluir (pero no se limitan a) la entrega de SMS, la entrega de correo electronico y / o la entrega a traves de otro medio alternativo. Si el paquete es un paquete de informacion, el sistema envfa de vuelta un paquete de error “no hallado” al originador del mensaje. Si el paquete de mensaje es un paquete de presencia, el sistema desecha el paquete.
En un aspecto adicional de la presente invencion, se proporciona un procedimiento para encaminar mensajes en un sistema de comunicacion, incluyendo dicho procedimiento:
recibir en un primer nodo, dentro de una pluralidad de nodos, un paquete para un destinatario previsto;
determinar si el destinatario previsto esta conectado con el nodo y, si el destinatario previsto esta conectado con el nodo, entregar el paquete al destinatario previsto y, si el destinatario no esta conectado con el primer nodo, determinar con cual nodo, entre la pluralidad de nodos, esta conectado el destinatario previsto y remitir el paquete al nodo con el cual esta conectado el destinatario previsto.
El procedimiento puede ademas incluir la etapa de remitir el paquete a un registro en el caso en que la etapa de determinacion no logra identificar el nodo con el cual esta conectado el destinatario previsto.
El procedimiento tambien puede incluir la etapa de consultar una o mas bases de datos para determinar el nodo con el cual estuvo conectado por ultima vez el destinatario previsto, y remitir el paquete al nodo en base a la informacion extrafda desde dichas una o mas bases de datos.
Preferiblemente, el procedimiento incluye la etapa de remitir el paquete a un destinatario en base a reglas predeterminadas.
BREVES DETALLES DE LOS DIBUJOS
A fin de que esta invencion puede ser entendida mas inmediatamente y puesta en efecto practico, se hara ahora referencia a los dibujos adjuntos, que ilustran realizaciones preferidas de la invencion, y en los que:
la FIG. 1 es un diagrama esquematico que ilustra un sistema para encaminar paquetes de acuerdo a una realizacion de la presente invencion.
La FIG. 2 es un diagrama de flujo que ilustra el proceso de encaminamiento de acuerdo a una realizacion de la presente invencion.
La FIG. 3 es un diagrama esquematico que ilustra las relaciones de conectividad entre los componentes de la red segun el proceso de encaminamiento de acuerdo a una realizacion de la presente invencion;
la FIG. 4 es un diagrama esquematico que ilustra el proceso empleado por un servidor de registro para localizar un fragmento de datos de acuerdo a una realizacion de la presente invencion.
DESCRIPCION DE REALIZACIONES DE LA INVENCION
Se entendera que, en toda la extension de la descripcion, los terminos “Conexion” y “Registro”, cuando son utilizados conjuntamente con la exposicion de la arquitectura del sistema, se refieren a componentes de servidores logicos que gestionan la conectividad de los usuarios finales, o servidores (Conexion), y el acceso a bases de datos, o a datos persistentes (Registro). De manera similar, el termino “Ubicacion” se usa para significar la “ubicacion de un usuario o dispositivo”, que ha de ser denominado como un identificador unico para una “Conexion”, segun lo anteriormente definido. Esto puede ser, por ejemplo, una direccion de IP, pero la arquitectura tambien abarca cualquier otro esquema de direccionamiento. El termino “Base de datos” tambien se usa levemente para referirse a un almacenamiento de datos, y no implica ningun procedimiento especffico de almacenamiento de datos (tal como una base de datos de SQL), o cualquier sistema o producto especffico de gestion de bases de datos.
Con referencia a la Fig. 1, se ilustra un ejemplo de un sistema 100 para encaminar un paquete 102 de acuerdo a una realizacion de la presente invencion. Los paquetes en este ejemplo especffico pueden incluir paquetes de mensaje,
5
10
15
20
25
30
35
40
45
50
55
60
65
paquetes de informacion y paquetes de presencia. Si se usa el protocolo XMPP, estos se correlacionan con las estrofas <mensaje>, <iq> y <presencia>, respectivamente.
En este ejemplo, el cliente originador 101 formatea el paquete 102 y lo remite a un primer servidor seleccionado 104a desde una pluralidad de servidores (racimo) 104a, 104b, 104c dentro del primer nodo seleccionado 103a dentro de una pluralidad de nodos 103a, 103b, 103c y 103d (red) para su entrega a un destinatario previsto 108. Una vez que el paquete 102 es entregado al primer servidor 104a dentro del nodo seleccionado 103a, el primer servidor 104a determina si el destinatario previsto 108 esta conectado o no con el primer servidor 104a. Si el destinatario esta conectado con el servidor 104a, entonces el servidor procede a entregar el paquete (entrega local) al destinatario previsto 108.
Si el destinatario 108 no esta conectado con un servidor 104a, 104b, 104c dentro del racimo, entonces el primer servidor 104a procede a comprobar si el paquete 102 contiene una direccion de destino. Por ejemplo, el paquete 102 puede especificar el servidor 104c en el nodo 103c como la direccion de destino, en cuyo caso el servidor 104a en el nodo 103a encamina el paquete 102 directamente al servidor 104c dentro del nodo 103c. Los medianamente expertos en la tecnica apreciaran que el paquete podrfa ser encaminado indirectamente al servidor 104c dentro del nodo 103c a traves de cualquier nodo 103b, 103d a 103c, y un primer servidor 104a dentro del nodo 103c podrfa luego retomar la entrega del paquete 102 antes de remitir el paquete 102 al servidor 104c para su entrega al destinatario 108.
En el caso en que el destinatario 108 no esta conectado con un servidor 104, y el paquete no contiene una direccion de destino especificada, entonces el servidor 104a dentro del nodo 103a remite el paquete a un registro 105. Para mayor claridad y facilidad de descripcion, se muestra que el presente ejemplo incluye solamente un registro 105; sin embargo, los medianamente expertos en la tecnica apreciaran que el sistema puede incluir cualquier numero de registros 105.
Segun se muestra, el registro 105 incluye una pluralidad de servidores 106a, 106b, 106c (racimo de servidores de Registro). Una vez que el paquete 102 es entregado a un primer servidor 106a desde una pluralidad de servidores (racimo) 106a, 106b, 106c, el servidor 106a consulta una o mas bases de datos 107a, 107b, 107c en busca de informacion referida a la ultima ubicacion conocida del destinatario previsto 108. Si la informacion sobre la ultima ubicacion del destinatario previsto 108 esta disponible, entonces el primer servidor 106a remite el paquete al servidor 104a, 104b, 104c dentro del nodo adecuado 103a, 103b, 103c y 103d con el cual el destinatario 108 estuvo conectado por ultima vez. En este ejemplo, la informacion obtenida de las bases de datos indicaba que el destinatario 108 estuvo conectado por ultima vez con el servidor 104a en el nodo 103d, en cuyo caso el servidor 106a remite el paquete 102 al servidor 104a en el nodo 103d para su entrega. En el caso en que el destinatario 108 ha cambiado desde entonces de ubicacion, el servidor 104a puede luego procesar el paquete segun lo expuesto anteriormente, o promover el encaminamiento. Los detalles adicionales en cuanto a la forma en que se encaminan los paquetes entre diversos nodos, etc., se exponen con relacion a la Fig. 2 mas adelante.
En una realizacion adicional de la presente invencion, el primer servidor 104a, al determinar que el destinatario previsto 108 no esta conectado con el primer servidor 104a, podrfa primero realizar una busqueda de los restantes servidores 104b, 104c dentro del racimo contenido en el nodo 103a, para determinar si el destinatario previsto 108 esta conectado o no con uno de los servidores restantes 104b, 104c. Si el destinatario previsto esta conectado con uno de los servidores restantes 104b, 104c, entonces el servidor 104a remite el paquete al servidor (en este caso, el servidor 104b) con el cual esta conectado el destinatario 108. El servidor 104b entrega luego el paquete al destinatario 108.
Como se ha mencionado anteriormente, los servidores dentro de los nodos 103a, 103b, 103c y 103d y el registro 105 estan dispuestos en racimos. Los racimos consisten normalmente en un cierto numero de servidores, que tienen al menos una conexion de red disponible entre ellos. Por tanto, los servidores pueden estar geograficamente distribuidos por toda el area del nodo, siempre que la conexion de red entre los servidores este disponible. Si bien la exposicion anterior ha trazado una diferencia entre registro y nodos, los medianamente expertos en la tecnica apreciaran que la distincion ha sido trazada solamente para una mayor claridad de descripcion; cualquier racimo de servidores dentro de un nodo dado puede ser un racimo de tipo Conexion o Registro.
Con referencia a la Fig. 2, hay un diagrama de flujo que ilustra un ejemplo de un proceso de encaminamiento que puede ser empleado en el sistema de la Fig. 1, expuesto anteriormente. Aquf el paquete 102 es formateado y entregado a un servidor de “Conexion” 104a dentro de un nodo 103a. Como hay una pluralidad de nodos 103a, 103b, 103c, 103d dentro de la red, el destinatario 108 puede estar conectado con uno cualquiera de los servidores de conexion 104a, 104b, 104c dentro de un racimo de servidores contenidos en un nodo dado. Por tanto, el servidor de Conexion 104a que gestiona el paquete realiza una comprobacion 201 para ver si el destinatario previsto esta conectado localmente con el servidor 104a que procesa el paquete. Si esta comprobacion da como resultado “sF, significa que el destinatario del paquete ha sido hallado, y esta conectado con el servidor 104a que gestiona actualmente el procesamiento. Por lo tanto, el servidor 104a procede a la entrega local 202 del paquete 102 (es decir, en caso que el destinatario 108 este conectado con el servidor 104).
5
10
15
20
25
30
35
40
45
50
55
60
65
Si se devuelve un “no” de la comprobacion 201, entonces el servidor de Conexion 104a debe iniciar un procedimiento de busqueda para determinar la ubicacion del destinatario previsto 203. Segun este procedimiento de busqueda, el servidor de Conexion 104a procede a comprobar si el paquete 102 contiene un “destino de encaminamiento” 203. La informacion de encaminamiento en este caso es un identificador unico que especifica un servidor de Conexion dado dentro de un racimo 104a, 104b, 104c (esto puede ser, por ejemplo, la direccion de IP de dicho servidor, pero tambien pueden ser aplicados otros esquemas de direccionamiento), al cual deberfa ser remitido el paquete. Por tanto, el cliente remitente puede usar el campo optativo de “destino de encaminamiento” en el paquete 102 para solicitar el encaminamiento a un servidor de Conexion especffico, donde el cliente conoce, o bien puede deducir, la ubicacion, o la ubicacion probable, del nodo 103a, 103b, 103c, 103d que contiene el servidor de Conexion 104a, 104b, 104c con el cual esta conectado el destinatario 108.
Si el paquete 102 contiene informacion de encaminamiento, el servidor de Conexion 104a que gestiona el procesamiento del paquete 102 remite entonces el paquete 102 al servidor de Conexion 104a, 104b, 104c identificado en la informacion de encaminamiento. La informacion de encaminamiento es luego “despejada”, o borrada, 204 para impedir que el paquete 102 sea encaminado infinitamente a lo largo del mismo destino, en un bucle, cuando el paquete sea procesado por el servidor de Conexion relevante dentro del nodo de destino relevante.
Si el destinatario de destino no esta conectado con el servidor de Conexion 104a que efectua el procesamiento, y si no hay ningun destino de encaminamiento especificado en el paquete 102, el servidor de Conexion 104a remite (etapa 205) el paquete 102 a un servidor de Registro 106a seleccionado dentro de un racimo de servidores de registro 106a, 106b, 106c, a fin de averiguar la ubicacion del destinatario previsto 108. Corresponde al servidor de Conexion 104a que efectua el procesamiento determinar un servidor de Registro 106a, 106b, 106c adecuado para esto, usando cualquier esquema deseado (esto podrfa ser el servidor de Registro mas cercano, o el de carga minima, o escogido sencillamente al azar a partir de los Registros disponibles conocidos, o cualquier otro procedimiento).
Una vez que el paquete 102 llega al servidor de Registro 106a, el servidor de Registro 1006a busca entonces los datos del destinatario en una o mas bases de datos 107a, 107b, 107c (p. ej., la cuenta de usuario del destinatario, etc.). Las bases de datos 107a, 107b, 107c pueden estar, como los servidores de Conexion y Registro, dispuestas en racimos distribuidos por toda la extension de la red, permitiendo por ello que los datos del destinatario sean guardados en mas de una base de datos dentro de la red. En tales casos, todos los servidores de Registro 106a, 106b, 106c estan configurados con la informacion requerida para determinar donde estan almacenados los datos de un usuario dado, y como conectarse con los mismos. Usando su informacion de configuracion, el servidor de Registro 106a que procesa el paquete 102 se conecta con la base de datos adecuada 107a, 107b, 10c (si no estaba anteriormente conectado) y consulta la base de datos 206 en busca de los datos de perfil de usuario del destinatario previsto 108.
Una vez que el servidor de registro 106a localiza los datos de perfil de usuario dentro de la base de datos 107a, 107b, 107c relevante, el servidor de Registro 106a procede entonces a comprobar si se conoce 207 la mas reciente ubicacion de la cuenta de usuario del destinatario (“ubicacion” se usa aqu segun lo determinado anteriormente; esto es un identificador unico de un servidor de Conexion en un nodo dado dentro de la red). De manera similar, la “ubicacion mas reciente” aqrn se refiere al servidor de Conexion 104a, 104b, 104c que ha servido mas recientemente al destinatario previsto 108. Antes de remitir el paquete 102, por parte del servidor de Registro 106a, al ultimo servidor de Conexion 104a, 104b, 104c conocido que dio servicio por ultima vez al destinatario previsto, se realiza 208 una comprobacion adicional para determinar si el paquete ya ha sido remitido por un servidor de Registro 106a, 106b, 106c a un servidor de Conexion 104a, 104b, 104c. Si lo ha hecho, entonces el paquete no sera remitido nuevamente.
En el caso en que el paquete 102 no haya sido remitido aun por un Registro 106a, 106b, 106c, el Registro 106a, que esta procesando actualmente el paquete, etiqueta el paquete 102 con informacion que significa que el paquete fue remitido por el servidor de Registro 106a que esta procesando actualmente el paquete. El servidor de Registro 106a remite entonces 209 el paquete 102 al servidor de Conexion 104a, 104b, 104c adecuado. El servidor de Conexion 104a, 104b, 104c relevante continua luego procesando el paquete segun lo descrito anteriormente. Etiquetar el paquete 102 de esta manera asegura que la proxima vez que el paquete 102 pase a traves del control 208 no se forme ningun bucle infinito que rebote el paquete entre un servidor de Registro y uno de Conexion.
Si la ubicacion del destinatario no puede ser determinada por el servidor de Registro 106a, entonces se concluye que el destinatario 108 del paquete no esta conectado con ningun servidor de Conexion 104a, 104b, 104c en este momento 210. En sentido figurado, el destinatario previsto 108 esta “fuera de lmea”. El protocolo luego determina a que clase pertenece 211 el paquete 102 (es decir, mensaje, informacion o presencia). Segun a que tipo pertenece el paquete, difiere la manera en que el proceso de encaminamiento gestiona el paquete.
En el caso del “Paquete de mensaje”, que se considera “el mas importante”, el sistema consultara un conjunto de reglas de encaminamiento 212, y toma la decision adecuada sobre la forma en que el paquete sea entregado luego. Las reglas de encaminamiento 212 que gobiernan la forma en que los mensajes son entregados pueden incluir (pero no se limitan a) la entrega de SMS, la entrega de correo electronico y / o la entrega mediante otro medio alternativo.
5
10
15
20
25
30
35
40
45
50
55
60
65
En el caso de “Paquetes de informacion” (que corresponden a las estrofas de IQ en el protocolo XMPP), se envfa de vuelta un paquete de error “no hallado” (tambien mencionado habitualmente como un error 404) al remitente del paquete original 213. La entrega del paquete de error tambien seguira luego el mismo algoritmo de encaminamiento de mensajes descrito aqrn. El paquete con errores no sera enviado en caso de que el paquete original ya fuera un paquete con errores (es decir, no se enviara ninguna respuesta de errores para respuestas de errores). Esto impedira nuevamente que ocurra un bucle infinito.
En el caso de “Paquetes de presencia”, estos paquetes son considerados irrelevantes en casos donde el destinatario de la informacion no esta conectado con un racimo. Estos paquetes son, por lo tanto, desechados silenciosamente sin enviar ninguna informacion de vuelta al remitente 214.
Como puede verse a partir de la exposicion precedente, el proceso de encaminamiento de acuerdo a una realizacion de la presente invencion abarca un sistema en red que consiste en los siguientes componentes principales:
* Cliente(s) 101, 108
* Conexion(es) 104a, 104b, 104c
* Registro(s) 106a, 106b, 106c
* Base(s) de datos 107a, 107b, 107c
Las relaciones de conectividad entre estos componentes estan ilustradas en la Fig. 3. El algoritmo de encaminamiento especifica las siguientes relaciones de conectividad. Los Clientes originarios 101 y los receptores 108 se conectan solamente con los servidores de Conexion 104a, 104b, 104c. Segun se muestra, uno o mas clientes 101, 108 pueden conectarse con un servidor de Conexion 104a. Cualquier numero de clientes pueden estar conectados en cualquier momento dado; sin embargo, una cuenta de cliente / usuario solamente puede estar conectada con un servidor de Conexion 104a a la vez. Cualquier numero de servidores de Conexion 104a, 104b, 104c pueden estar disponibles en cualquier momento dado. Cualquier servidor de Conexion puede conectarse con cualquier servidor de Registro 106a, 106b, 106c. Un servidor de Conexion 104a puede conectarse con multiples Registros simultaneamente, si asf se requiere. Cualquier servidor de Registro 106a, 106b, 106c puede acceder a cualquier Base de datos 107a, 107b, 107c. Un registro puede conectarse con multiples bases de datos simultaneamente, si asf se requiere. Cualquier servidor de Registro puede conectarse con cualquier servidor de Conexion (para la remision de mensajes, segun lo descrito anteriormente).
“Conexion”, “Registro” y “Base de datos” se usan en lo que antecede como componentes logicos del sistema, y pueden o no ser desplegados en un unico servidor ffsico, o pueden ser desplegados sobre una formacion de hardware. En general, los requisitos de capacidad determinaran el diseno ffsico del sistema deseado.
No se requiere ninguna dependencia de un sistema o metodologfa particular de gestion de bases de datos por parte del proceso de encaminamiento de la presente invencion. En una realizacion de la presente invencion, sin embargo, el proceso puede utilizar una combinacion de fragmentacion y replicacion de bases de datos, que se describe en mas detalle mas adelante.
Un “Fragmento” se usa aqrn para referirse a una “particion de base de datos”, que representa una manera de distribuir una gran cantidad de datos entre varias trastiendas de almacenamiento de datos, instaladas por separado. Una “trastienda de almacenamiento de datos” se usa aqrn usualmente para referirse a un servidor espedfico que ejecuta un RDBMS (Sistema de Gestion de Bases de Datos Relacionales); sin embargo, esto no es necesariamente asf, y cualquier procedimiento de almacenamiento de datos serta aceptable aqrn.
Segun se muestra en la Fig. 4, en un entorno compartido, un servidor de Registro 106a necesita siempre determinar la ubicacion correcta de almacenamiento de datos para cualquier accion dada, y realizar la operacion en un fragmento adecuado. Por ejemplo, si el fragmento requerido es el fragmento “numero 2”, entonces el servidor de Registro 106a determina que el fragmento esta almacenado dentro de la base de datos 107a. El servidor de Registro 106a extrae entonces el fragmento desde la base de datos 107a y realiza la accion necesaria. Si el fragmento requerido es el fragmento “numero 1”, y la operacion es una operacion de lectura, el servidor de Registro 106a determinara que cualquiera de las bases de datos 107b, 107c contiene el fragmento relevante; sin embargo, si el fragmento requerido es el fragmento “numero 1”, pero la operacion es una operacion de escritura (agregado o modificacion de datos), entonces el servidor de Registro 106a seleccionara luego la base de datos 107b (suponiendo que la replicacion es del tipo amo-esclavo). Si bien la seleccion de fragmentos ha sido expuesta con relacion a 3 bases de datos distintas, entre las cuales estan distribuidos los fragmentos, los medianamente expertos en la tecnica apreciaran que puede ser utilizada una unica base de datos que contenga multiples posiciones.
Como se ha mencionado anteriormente, una gran base de datos puede ser dividida en un cierto numero de fragmentos (o “particiones”); para cada registro en la base de datos, el algoritmo de fragmentacion determina cual particion posee el registro. El algoritmo de fragmentacion puede ser implementado de diversas maneras, y nuevamente el algoritmo exacto debera estar dictado por los requisitos de ajustabilidad a escala. Una directriz general para un algoritmo de fragmentacion podrta ser lo siguiente:
5
10
15
20
25
30
35
• Para datos referidos a una cuenta de usuario especffico en el sistema, determinar primero el identificador unico para la cuenta de usuario (“identificador de usuario”).
• Calcular un troceo del identificador de usuario, usando una funcion de troceo adecuada (“troceo” es un termino usado en la terminologfa informatica, que se usa a menudo para referirse a una representacion numerica de una cadena, y una “funcion de troceo” es una funcion que determina el algoritmo espedfico que proporciona esta representacion). Esto da una representacion numerica del identificador de usuario, que puede o no ser numerica en si misma.
• Usar el numero de troceo como la base de la asignacion del fragmento. Si se conoce el numero de fragmentos disponibles, entonces esto puede obtenerse sencillamente mediante la division simple, y tomando nota del resto. Por ejemplo:
1. Dado un sistema con 8 fragmentos de base de datos, y
2. El troceo (identificador de usuario) = 84529823
3. El numero de fragmento de base de datos que posee registros de este identificador de usuario podrfa ser 84529823 % 8 = 7 (la notacion “a % b” aqrn se refiere a realizar la division “a/b” y luego extraer el resto del calculo)
4. En este caso, el fragmento de base de datos sera el numero de fragmento 7
Ademas del algoritmo de fragmentacion, se requiere otro mecanismo dentro del sistema para determinar como los servidores de Registro 106a, 106b, 106c han de llegar a un fragmento dado. Pueden ser configurados distintos mecanismos para operaciones de lectura y escritura, para asimilar la replicacion de base de datos en una configuracion de amo-esclavo (donde solamente se puede escribir en un servidor ffsico, pero se puede acceder a multiples servidores para operaciones de lectura).
Este mecanismo para localizar fragmentos puede ser implementado mediante sencillas tablas de configuracion dentro de los servidores de Registro 106a, en los que cada fndice de fragmento esta configurado con las direcciones (de IP) de servidores que pueden actuar como nodos de bases de datos para el fragmento dado. Estas direcciones pueden ser etiquetadas mediante indicadores de “lectura” y / o “escritura”, de modo que un Registro sepa donde conectarse, dado el requisito de base de datos en cualquier momento dado.
Ha de entenderse que las realizaciones anteriores han sido proporcionadas solamente a modo de ejemplificacion de esta invencion, y que las modificaciones y mejoras adicionales para las mismas, como sera evidente para personas expertas en la tecnica relevante, son consideradas como incluidas dentro del amplio alcance y del ambito de la presente invencion descrita en la presente memoria.
Claims (16)
10
15
20
25
30
2.
35
3.
40
4.
45 5.
6.
50
7.
55
8.
60
9.
65 10.
REIVINDICACIONES
Un sistema para encaminar mensajes en una red de comunicacion con una pluralidad de nodos (103a, 103b, 103c, 103d), incluyendo cada nodo una pluralidad de servidores (104a, 104b, 104c) acoplados entre sf, en los que, al recibir un paquete (102) para su entrega a un destinatario previsto (108) por parte de un primer servidor (104a) dentro de la pluralidad de servidores (104a, 104b, 104c) de un primer nodo (103a) dentro de la pluralidad de nodos (103a, 103b, 103c, 103d), dicho sistema esta adaptado para:
determinar si el destinatario previsto (108) esta conectado con el primer servidor (104a) y, si el destinatario (108) esta conectado con dicho primer servidor (104a), entregar el paquete (102); estando dicho sistema adicionalmente adaptado, al determinar que el destinatario previsto (108) no esta conectado con el primer servidor (104a), para determinar si el paquete (102) contiene una direccion de destino, y remitir el paquete (102) a la direccion de destino para su entrega y, en el caso en que el paquete (102) no contenga una direccion de destino, el sistema remite el paquete (102) a un registro (105), en donde el registro (105) esta adaptado para:
consultar al menos una base de datos (107a; 107b; 107c) para obtener el perfil de usuario que contiene la ubicacion del destinatario previsto;
caracterizado porque dicho sistema esta adicionalmente adaptado para:
determinar si el paquete (102) ya ha sido remitido a un servidor de la pluralidad de servidores (104a, 104b, 104c);
remitir el paquete (102) al ultimo servidor conocido (104a, 104b, 104c) que dio servicio por ultima vez al destinatario previsto, y etiquetar el paquete (102) con informacion que significa que el paquete fue remitido por el registro (105) que esta procesando actualmente el paquete (102) cuando el paquete (102) no ha sido remitido todavfa; y
no remitir el paquete (102) cuando el paquete ha sido remitido.
El sistema de la reivindicacion 1, en el que el sistema esta adicionalmente adaptado para determinar si el destinatario previsto (108) esta conectado con un servidor dentro de la pluralidad de servidores (104a, 104b, 104c) de dicho primer nodo (103a), y para entregar el paquete (102) al servidor con el cual el destinatario previsto (108) esta conectado dentro de dicho primer nodo (103a), antes de determinar si el paquete (102) contiene una direccion de destino.
El sistema de una cualquiera de las reivindicaciones 1 a 2, en el que el primer servidor (104a) entre la pluralidad de servidores (104a, 104b, 104c) esta adaptado para despejar la informacion de encaminamiento en el paquete (102) al remitir el paquete al destino deseado.
El sistema de una cualquiera de las reivindicaciones 1 a 3, en el que el registro (105) incluye una pluralidad de servidores (106a, 106b, 106c) acoplados entre sf.
El sistema de una cualquiera de las reivindicaciones 1 a 4, en el que la pluralidad de servidores (104a, 104b, 104c) de cada nodo (103a; 103b; 103c) estan distribuidos entre un cierto numero de ubicaciones geograficas dentro del area de servicio de cada nodo.
El sistema de una cualquiera de las reivindicaciones precedentes, en el que el perfil de usuario contiene informacion en cuanto a la ultima ubicacion conocida del destinatario previsto, en base a los servidores que dieron servicio por ultima vez al destinatario previsto (108) dentro de la red de comunicaciones, y el paquete (102) es remitido a la ultima ubicacion conocida del destinatario previsto (108).
El sistema de una cualquiera de las reivindicaciones precedentes, en el que el paquete (102) es seleccionado entre al menos una de las siguientes clases de paquetes: paquetes de mensaje, paquetes de informacion o paquetes de presencia.
El sistema de la reivindicacion 7, en el que el sistema esta configurado para procesar cada paquete (102) de acuerdo a un conjunto predeterminado de reglas para cada clase, en respuesta a no lograr el registro (105) determinar la ubicacion del destinatario previsto.
El sistema de la reivindicacion 8, en el que el sistema esta configurado para remitir los paquetes de mensaje (102) al destinatario previsto mediante un medio alternativo, especificado en una regla de encaminamiento.
El sistema de la reivindicacion 9, en el que el medio alternativo es un SMS.
12.
5
13.
10 14.
15
20
25
30
35
40
15.
45 16.
50
17.
55 18.
19.
60
El sistema de la reivindicacion 8, en el que el sistema esta configurado para enviar un mensaje de error al origen del paquete, para paquetes asignados a la clase de paquetes de informacion.
El sistema de la reivindicacion 8, en el que el sistema esta configurado para desechar paquetes asignados a la clase de paquetes de presencia.
El sistema de una cualquiera de las reivindicaciones 1 a 12, en el que el registro utiliza una combinacion de fragmentacion y replicacion de base de datos.
Un procedimiento para encaminar mensajes en un sistema de comunicacion con una pluralidad de nodos (103a, 103b, 103c, 103d), incluyendo cada nodo una pluralidad de servidores (104a, 104b, 104c) acoplados entre si, incluyendo dicho procedimiento:
recibir, en un primer servidor (104a) dentro de una pluralidad de servidores (104a, 104b, 104c) de un primer nodo (103a), un paquete (102) para un destinatario previsto (108);
determinar si el destinatario previsto (108) esta conectado con el primer servidor (104a) y, si el destinatario previsto (108) esta conectado con el primer servidor (104a), entregar el paquete (102) al destinatario previsto (108);
determinar si el paquete (102) contiene una direccion de destino y remitir el paquete (102) a la direccion de destino para su entrega, al determinar que el destinatario previsto (108) no esta conectado con el primer servidor (104a);
remitir el paquete (102) a un registro (105) en respuesta a la determinacion de que el paquete (102) no contiene una direccion de destino, en donde el registro (105) esta configurado para consultar al menos una base de datos (107a, 107b, 107c) para obtener el perfil de usuario que contiene la ubicacion del destinatario previsto;
caracterizado porque dicho procedimiento comprende ademas las etapas de:
determinar si el paquete (102) ha sido ya remitido a un servidor de la pluralidad de servidores (104a, 104b, 104c),
remitir el paquete (102) al ultimo servidor (104a, 104b, 104c) conocido que dio servicio por ultima vez al destinatario previsto (108) y etiquetar el paquete (102) con informacion que significa que el paquete (102) fue remitido por el registro (105) que esta procesando actualmente el paquete (102) cuando el paquete (12) no ha sido remitido aun, y
no remitir el paquete (102) cuando el paquete ha sido remitido.
El procedimiento de la reivindicacion 14, que incluye ademas la etapa de despejar la direccion de destino en el paquete (102) al remitir el paquete (102) a la direccion de destino.
El procedimiento de la reivindicacion 14 o 15, en el que la etapa de remision del paquete (102) por el registro (105) al destinatario previsto (108) esta basada en informacion en cuanto a la ultima ubicacion conocida del destinatario previsto, en base a los servidores (104a, 104b, 104c) que dieron servicio por ultima vez al destinatario previsto (108) dentro de la red de comunicaciones contenida dentro del perfil de usuario del destinatario previsto.
El procedimiento de una cualquiera de las reivindicaciones 14 a 16, en el que el paquete (102) es seleccionado entre al menos una de las siguientes clases de paquetes: paquete de mensaje, paquete de informacion o paquete de presencia.
El procedimiento de la reivindicacion 17, que incluye ademas la etapa de procesar cada una de las clases de paquetes de acuerdo a un conjunto predeterminado de reglas para cada clase, en respuesta a no lograr el registro (105) determinar la ubicacion del destinatario previsto.
El procedimiento de la reivindicacion 18, en el que la etapa de remision de un paquete (102), asignado a la clase de paquetes de mensaje, al destinatario previsto (108) se efectua mediante un medio alternativo especificado en una regla de encaminamiento.
El procedimiento de la reivindicacion 19, en el que el medio alternativo es un Servicio de Mensajes Breves (SMS).
21. El procedimiento de la reivindicacion 19, que incluye ademas la etapa de enviar un mensaje de error al origen del paquete, para paquetes asignados a la clase de paquetes de informacion.
22. El procedimiento de la reivindicacion 19, que incluye ademas la etapa de desechar paquetes asignados a la
5 clase de paquetes de presencia.
23. El procedimiento de una cualquiera de las reivindicaciones 14 a 22, en el que el registro (105) utiliza una combinacion de fragmentacion y replicacion de base de datos.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG200805997 | 2008-08-13 | ||
SG200805997-4A SG159399A1 (en) | 2008-08-13 | 2008-08-13 | Message routing platform |
PCT/SG2009/000266 WO2010019105A1 (en) | 2008-08-13 | 2009-07-29 | Message routing platform |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2567272T3 true ES2567272T3 (es) | 2016-04-21 |
Family
ID=41669090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES09806926.3T Active ES2567272T3 (es) | 2008-08-13 | 2009-07-29 | Plataforma de encaminamiento de mensajes |
Country Status (18)
Country | Link |
---|---|
US (1) | US8798001B2 (es) |
EP (1) | EP2316205B1 (es) |
JP (1) | JP5441041B2 (es) |
KR (1) | KR101384794B1 (es) |
CN (1) | CN102124702B (es) |
AU (1) | AU2009282526B2 (es) |
CA (1) | CA2734048C (es) |
CO (1) | CO6351836A2 (es) |
ES (1) | ES2567272T3 (es) |
HK (1) | HK1157966A1 (es) |
MX (1) | MX2011001608A (es) |
MY (1) | MY161672A (es) |
RU (1) | RU2483457C2 (es) |
SG (1) | SG159399A1 (es) |
TW (1) | TWI466502B (es) |
UA (1) | UA100582C2 (es) |
WO (1) | WO2010019105A1 (es) |
ZA (1) | ZA201100748B (es) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110249667A1 (en) * | 2010-04-13 | 2011-10-13 | Rebelvox, Llc | Apparatus and method for transmitting media using either network efficient protocol or a loss tolerant transmission protocol |
US8924472B1 (en) * | 2011-08-20 | 2014-12-30 | Datastax, Inc. | Embedding application services in a distributed datastore |
US10354310B2 (en) * | 2013-05-10 | 2019-07-16 | Dell Products L.P. | Mobile application enabling product discovery and obtaining feedback from network |
US10523619B2 (en) | 2013-12-20 | 2019-12-31 | Rovio Entertainment Ltd. | Stateless message routing |
EP2887589A1 (en) * | 2013-12-20 | 2015-06-24 | Rovio Entertainment Ltd | Stateless message routing |
US9560315B1 (en) * | 2015-12-07 | 2017-01-31 | Dell Software, Inc. | Reducing videoconferencing bandwidth usage |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006272A (en) * | 1998-02-23 | 1999-12-21 | Lucent Technologies Inc. | Method for network address translation |
US6452915B1 (en) * | 1998-07-10 | 2002-09-17 | Malibu Networks, Inc. | IP-flow classification in a wireless point to multi-point (PTMP) transmission system |
US8085813B2 (en) * | 1999-10-28 | 2011-12-27 | Lightwaves Systems, Inc. | Method for routing data packets using an IP address based on geo position |
US7102996B1 (en) * | 2001-05-24 | 2006-09-05 | F5 Networks, Inc. | Method and system for scaling network traffic managers |
JP3664388B2 (ja) * | 2001-11-22 | 2005-06-22 | エヌイーシーシステムテクノロジー株式会社 | 双方向通信システムおよび方法 |
ATE384387T1 (de) * | 2001-12-28 | 2008-02-15 | Motorola Inc | Kommunikation über einen ausgewählten teil eines netzwerkes |
US7535913B2 (en) * | 2002-03-06 | 2009-05-19 | Nvidia Corporation | Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols |
US7050416B2 (en) * | 2002-05-14 | 2006-05-23 | Thomson Licensing | Technique for IP communication among wireless devices |
JP2003333178A (ja) * | 2002-05-15 | 2003-11-21 | Takeshi Aoki | 一般電話機によるインターネット電話システム |
US7313128B2 (en) * | 2003-01-09 | 2007-12-25 | Siemens Aktiengesellschaft | Method and mobile radio communication network for the transmission of packet data |
KR20040070557A (ko) * | 2003-02-04 | 2004-08-11 | 주식회사 케이티프리텔 | 이동통신 시스템에서 메시지 전송 방법 및 장치 |
JP2005080176A (ja) * | 2003-09-03 | 2005-03-24 | Uniden Corp | ゲートウェイ装置及びその制御方法 |
CN100454882C (zh) * | 2003-12-19 | 2009-01-21 | 华为技术有限公司 | 多isp局域网的出口选择方法及装置 |
US7181217B2 (en) * | 2004-08-30 | 2007-02-20 | Talara Systems, Inc. | Mobile services control platform providing a message forwarding service |
US7426389B2 (en) | 2004-10-15 | 2008-09-16 | Utstarcom, Inc. | Method and apparatus for implementing direct routing |
EP1864523B1 (en) * | 2005-03-29 | 2013-02-13 | Research In Motion Limited | System and method for personal identification number messaging |
US7496678B2 (en) * | 2005-05-11 | 2009-02-24 | Netapp, Inc. | Method and system for unified caching of media content |
US7567553B2 (en) * | 2005-06-10 | 2009-07-28 | Swift Creek Systems, Llc | Method, system, and data structure for providing a general request/response messaging protocol using a presence protocol |
KR100727069B1 (ko) * | 2005-10-27 | 2007-06-12 | 주식회사 케이티프리텔 | Sip 기반의 무선 패킷 교환망 시스템에서의 타망 연동방법 및 그 시스템 |
US7673010B2 (en) * | 2006-01-27 | 2010-03-02 | Broadcom Corporation | Multi user client terminals operable to support network communications |
US7996467B2 (en) * | 2006-08-29 | 2011-08-09 | Oracle International Corporation | Techniques for applying policies for real time collaboration |
GB0623621D0 (en) * | 2006-11-27 | 2007-01-03 | Skype Ltd | Communication system |
US8782274B2 (en) * | 2007-10-19 | 2014-07-15 | Voxer Ip Llc | Method and system for progressively transmitting a voice message from sender to recipients across a distributed services communication network |
US8594679B2 (en) * | 2008-03-07 | 2013-11-26 | Tekelec Global, Inc. | Methods, systems, and computer readable media for routing a message service message through a communications network |
US8149840B2 (en) * | 2008-06-02 | 2012-04-03 | Huawei Technologies Co., Ltd. | Method, system and processor for processing network address translation service |
-
2008
- 2008-08-13 SG SG200805997-4A patent/SG159399A1/en unknown
-
2009
- 2009-07-29 UA UAA201102783A patent/UA100582C2/uk unknown
- 2009-07-29 US US13/055,824 patent/US8798001B2/en active Active
- 2009-07-29 ES ES09806926.3T patent/ES2567272T3/es active Active
- 2009-07-29 KR KR1020117005128A patent/KR101384794B1/ko not_active IP Right Cessation
- 2009-07-29 WO PCT/SG2009/000266 patent/WO2010019105A1/en active Application Filing
- 2009-07-29 RU RU2011104073/08A patent/RU2483457C2/ru not_active IP Right Cessation
- 2009-07-29 EP EP09806926.3A patent/EP2316205B1/en not_active Not-in-force
- 2009-07-29 CA CA2734048A patent/CA2734048C/en active Active
- 2009-07-29 JP JP2011522941A patent/JP5441041B2/ja not_active Expired - Fee Related
- 2009-07-29 MY MYPI2011000488A patent/MY161672A/en unknown
- 2009-07-29 MX MX2011001608A patent/MX2011001608A/es active IP Right Grant
- 2009-07-29 CN CN200980131547.2A patent/CN102124702B/zh not_active Expired - Fee Related
- 2009-07-29 AU AU2009282526A patent/AU2009282526B2/en not_active Ceased
- 2009-08-12 TW TW098127099A patent/TWI466502B/zh not_active IP Right Cessation
-
2011
- 2011-01-28 ZA ZA2011/00748A patent/ZA201100748B/en unknown
- 2011-02-28 CO CO11024141A patent/CO6351836A2/es active IP Right Grant
- 2011-11-09 HK HK11112085.8A patent/HK1157966A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
AU2009282526A1 (en) | 2010-02-18 |
CA2734048A1 (en) | 2010-02-18 |
ZA201100748B (en) | 2012-05-01 |
MX2011001608A (es) | 2011-04-07 |
US8798001B2 (en) | 2014-08-05 |
JP5441041B2 (ja) | 2014-03-12 |
MY161672A (en) | 2017-05-15 |
SG159399A1 (en) | 2010-03-30 |
EP2316205A4 (en) | 2013-09-11 |
RU2011104073A (ru) | 2012-09-20 |
TWI466502B (zh) | 2014-12-21 |
KR101384794B1 (ko) | 2014-04-24 |
WO2010019105A1 (en) | 2010-02-18 |
CA2734048C (en) | 2015-10-13 |
EP2316205B1 (en) | 2016-01-06 |
EP2316205A1 (en) | 2011-05-04 |
AU2009282526B2 (en) | 2014-08-14 |
CN102124702A (zh) | 2011-07-13 |
TW201025943A (en) | 2010-07-01 |
KR20110044273A (ko) | 2011-04-28 |
UA100582C2 (uk) | 2013-01-10 |
RU2483457C2 (ru) | 2013-05-27 |
US20120002601A1 (en) | 2012-01-05 |
CO6351836A2 (es) | 2011-12-20 |
CN102124702B (zh) | 2014-04-09 |
JP2011530953A (ja) | 2011-12-22 |
HK1157966A1 (en) | 2012-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2567272T3 (es) | Plataforma de encaminamiento de mensajes | |
EP3148128B1 (en) | Information-centric networking with small multi-path or single-path forwarding state | |
US8898431B2 (en) | Multi-path network | |
ES2555409T3 (es) | Método para transmitir una relación de correspondencia de direcciones en un protocolo de segunda capa utilizando el enrutamiento de estado de enlace | |
US20130219038A1 (en) | Router based on core score and method for setting core score and providing and searching content information therein | |
BRPI0713910B1 (pt) | método para permitir que uma porta de acesso sem fio suporte o proxy transparente e sistema com porta de acesso sem fio que suporta o proxy transparente | |
KR20130088774A (ko) | 분할 콘텐트 전달 시스템 및 방법 | |
KR20140067881A (ko) | 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법 | |
CN102474467A (zh) | 使用父-子链路聚合组的服务器端负载均衡 | |
US9876718B2 (en) | Forwarding packets | |
EP2863614A1 (en) | Method and apparatus for a named data network within an autonomous system | |
CN102089754B (zh) | 广告转发存储和检索网络 | |
WO2020249129A1 (zh) | 一种网络路由方法及装置 | |
US20130343386A1 (en) | First hop load balancing | |
US9356861B2 (en) | Secondary lookup for scaling datapath architecture beyond integrated hardware capacity | |
CN108600099A (zh) | 一种报文转发方法、装置及Leaf设备 | |
CN106130906A (zh) | 一种ndn中基于重定向的可扩展任播方法和系统 | |
US10033642B2 (en) | System and method for making optimal routing decisions based on device-specific parameters in a content centric network | |
Jung et al. | A multiple hash routing scheme for fast data retrieval in ICN | |
CN105915450A (zh) | 一种ndn中基于重定向的任播方法和系统 | |
US7284050B1 (en) | Method and system for a voice multicast hardware accelerator | |
KR20140115155A (ko) | 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드 및 그 방법 | |
KR20040062345A (ko) | 분산형 라우터의 라우팅 엔트리 분산 방법 및 라우팅테이블 구조 |