ES2624498T3 - Sistema y método para enrutamiento de mensaje - Google Patents

Sistema y método para enrutamiento de mensaje Download PDF

Info

Publication number
ES2624498T3
ES2624498T3 ES15164156.0T ES15164156T ES2624498T3 ES 2624498 T3 ES2624498 T3 ES 2624498T3 ES 15164156 T ES15164156 T ES 15164156T ES 2624498 T3 ES2624498 T3 ES 2624498T3
Authority
ES
Spain
Prior art keywords
module
message
communication
modules
precondition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES15164156.0T
Other languages
English (en)
Inventor
Christian Müller
Daniel Münch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Urban Software Inst GmbH
Urban Software Institute GmbH
Original Assignee
Urban Software Inst GmbH
Urban Software Institute GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Urban Software Inst GmbH, Urban Software Institute GmbH filed Critical Urban Software Inst GmbH
Application granted granted Critical
Publication of ES2624498T3 publication Critical patent/ES2624498T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Un sistema (100) por ordenador para enrutamiento de mensajes, que comprende: al menos un módulo (110) controlador configurado para mantener una gráfica (300), definiendo la gráfica (300) relaciones de comunicación entre una diversidad (120) de módulos (130, 140, 150, 160) de comunicación de mensajes, definiendo las relaciones de comunicación que definen que ocurra una verificación de la precondición para que cada mensaje que se intercambie entre cualquiera de los módulos del sistema en donde una precondición particular, incluya al menos 10 una regla o evento estático en relación a los mensajes que tienen un tipo de mensaje dado y que transportan los datos procedentes a partir de cada fuente de datos externa dada, cada relación de comunicación define un tipo particular de mensajes para un par particular de módulos fuera de la diversidad (120), el al menos un módulo controlador está configurado además para actualizar los módulos de comunicación del mensaje con información que es relevante para cada módulo de comunicación de mensaje particular para realizar las verificaciones de condición previa para los mensajes respectivos; la diversidad (120) de módulos de comunicación de mensajes (130, 140, 150, 160) comprende: un primer módulo (130, 330, 140, 340, 150, 350, 160, 360) configurado: para recibir un mensaje en el que el mensaje (301) recibido tiene un tipo de mensaje y está asociado con al menos una precondición (370), y, tras la verificación de una condición de aceptación de al menos una precondición de acuerdo con la gráfica (300), configurada adicionalmente para aceptar el mensaje recibido si se cumple la condición de aceptación; y tras la verificación de una condición de generación de al menos una precondición (370) de acuerdo con la gráfica (300), para generar un mensaje (302) generado, dirigida a al menos un segundo módulo (140, 340, 150, 350, 160, 360) de la diversidad(120) de módulos de comunicación de mensajes de acuerdo con la gráfica (300) o dirigido a un consumidor (220, 320) de datos externo relacionado, si se cumple la condición de generación; en donde, al recibir el mensaje (302) generado, el al menos segundo módulo (140, 340, 150, 350, 160, 360) es tratado como el primer módulo y al menos un módulo adicional es tratado como el original al menos segundo módulo de acuerdo con la gráfica (300) para repetir iterativamente los pasos anteriores para comunicación del mensaje adicional.

Description

5
10
15
20
25
30
35
40
45
50
55
60
DESCRIPCION
Sistema y metodo para enrutamiento de mensaje Campo tecnico
La presente invencion se relaciona en general con el procesamiento de datos electronicos, y mas particularmente, se relaciona con metodos, productos de programa por ordenador y sistemas para mantener el control de datos.
Antecedentes
Un problema general en sistemas por ordenador de red es mantener el control de datos de tal forma que el creador o propietario de dichos datos pueda determinar quien puede usar los datos para cual proposito. Las soluciones de seguridad para un evento complejo de sistemas de procesamiento proporcionan confidencialidad de datos, autorizacion a los participates de la red asf como cifrado de los datos de evento. En particular, se aplican infraestructuras de clave publica a sistemas de procesamiento de evento complejos (CEP) utilizando una arquitectura de publicacion/suscripcion con el fin de proporcionar confidencialidad de datos, autorizacion de los participates de la red asf como cifrado de datos de evento.
En la solicitud de patente europea EP2736002 (A1) se divulga una aproximacion para mejorar la flexibilidad, la seguridad y facilita el uso cuando se refuerza el control de acceso a eventos y/o atributos de evento en el sistema de procesamiento de eventos complejos (CEP). Un componente procesador puede procesar uno o mas atributos de evento entrantes. El componente de procesador puede incluir una funcion de correlacion la cual realiza el procesamiento del componente procesador. La funcion de correlacion puede correlacionar uno o mas atributos de evento entrantes para producir uno o mas atributos de eventos salientes. Ademas, el componente de procesamiento incluye las etapas de determinar una grafica de dependencia y una polttica de acceso. La grafica de dependencia puede comprender una grafica que se dirige entre al menos un atributo de evento entrante y al menos un atributo de evento saliente. Los nodos de la grafica de dependencia pueden representar los atributos de evento entrantes y los atributos de evento salientes de uno o mas componentes de procesador. Por ejemplo, si se procesan los dos atributos de evento entrantes por el componente de procesador para producir y/o determinar un atributo del evento saliente particular, la grafica de independencia puede incluir dos bordes dirigidos que indican las dependencias entre los dos atributos de evento entrantes y el atributo de evento saliente. La grafica de dependencia puede comprender para cada atributo de evento saliente una trayectoria que empieza a partir del correspondiente uno o mas atributos de evento entrantes los cuales se utilizan y/o se procesan para determinar el respectivo atributo de evento saliente y terminar en el atributo de evento saliente. La grafica de dependencia puede determinarse una vez que el componente de procesador puede ejecutarse por primera vez en un anfitrion particular. La grafica de dependencia se puede recrear cuando puede cambiar la dependencia entre uno o mas de los atributos del evento entrantes y uno o mas de los atributos del evento salientes del componente de procesador. El uno o mas de los componentes de procesador pueden comprender operaciones de ordenador, por ejemplo operaciones de correlacion, en un formato predefinido el cual se puede definir por el sistema que ejecuta el componente de procesador. La solicitud de patente de los Estados Unidos US2013/0191185A1 divulga un sistema de una tecnica anterior estandar para analisis historico en tiempo real de procesos de cuidado del cliente utilizando modulos colectores, modulos CEP, una capa de almacenamiento de datos, un modulo de analisis, un modulo de configuracion y un modulo UI. El modulo colector convierte los eventos dentro de un formato de datos del evento estandar para utilizarse por el modulo CEP. Este puede extraer o enmascarar los datos sensibles a partir del evento con base en reglas de piratena en el modulo de configuracion. La interfaz de configuracion proporciona datos de configuracion (nombre de anfitrion, nombre de maquina, numero de puerto) a los modulos colectores para permitirles conectar sus respectivas fuentes del evento. El intercambio entre los colectores del evento y las fuentes de datos ocurre automaticamente (por ejemplo, dentro del grupo de disponibilidad elevada) para asegurar que las conexiones subsecuentes a esa fuente de evento de dirijan a la ubicacion adecuada.
Dichos sistemas CEP de una tecnica anterior no permiten la manipulacion de relaciones de comunicacion. Ademas, estos pueden controlar la propiedad de un evento resultante solo en escenarios donde se conozcan los eventos de entrada. En otras palabras, si el evento resultante se ha de consumir por un consumidor, el consumidor tambien tiene que conocer el(los) evento(s) de entrada.
Por ejemplo, surge un problema cuando los datos que se utilizan se reunen a partir de grandes cantidades de entidades externas y personas sin relacion con la organizacion que utilizan los datos. Por ejemplo, en las siguientes iniciativas tales como ciudades inteligentes, se reunen grandes cantidades de datos a partir de diversas fuentes tales como infraestructuras publicas y datos privados (por ejemplo, consumo de energfa y agua en los hogares, datos de ubicacion, o comportamiento de compra). La escala de dichos sistemas los hace muy diffciles de implementar un esquema donde los ciudadanos y otras partes terceras pueden determinar explfcitamente como sus datos privados se reunen a partir de sus hogares, e impedir el mal uso y el acceso de entidades involuntarias.
5
10
15
20
25
30
35
40
45
50
55
60
65
Resumen
Existe por lo tanto una necesidad para una aproximacion que proporcione mas flexibilidad para definir los mecanismos de control escalables para los datos cuando fluyen a partir de fuentes de datos a sumideros de datos de forma que se puede impedir el acceso y el mal uso a partir de entidades involuntarias, pero espedficamente se puede permitir agregar el uso de datos por terceras partes bajo circunstancias espedficas.
Los propietarios de los datos se les da la habilidad de especificar la granularidad de datos (frecuencia, precision, resolucion) y para especificar si sus datos se pueden correlacionar con otras fuentes de informacion. Ademas, los propietarios de datos se les da la posibilidad de especificar si sus datos se pueden utilizar en casos imprevistos o excepcionales o bajo condiciones espedficas.
Los datos espedficos de usuario pueden ser utiles para optimizar un proceso tecnico tal como el control de aprovisionamiento de energfa de los hogares o el control de equipo tecnico que se utiliza para gestion de trafico. Un problema es que dichos datos tfpicamente estan ligados a un individuo o un grupo de individuos (por ejemplo, una o mas personas en un hogar o en un coche). Por lo tanto, la persona individual (usuario) se puede interesar en proteger la privacidad de sus datos a la vez que el usuario se puede preparar para permitir el uso de los datos por otras partes bajo ciertas condiciones. Por lo tanto, existe un problema tecnico para proporcionar un sistema el cual le permita a un usuario individual mantener el control sobre los datos que se proporcionan a sistemas de ordenador o redes de ordenador por lo cual el sistema o la red se puede escalar con respecto al numero de usuarios y la cantidad de datos que proporcionan los usuarios.
El problema se resuelve por un sistema de ordenador el cual recibe datos a partir de una o mas fuentes de datos a traves de uno o mas modulos de interfaz de entrada. Los datos recibidos se pueden analizar por uno o mas modulos de procesamiento de evento complejos para detectar si se cumple una condicion de evento predefinida por los datos recibidos. Uno o mas modulos de controlador manejan las relaciones de comunicacion entre los modulos. La comunicacion se basa en el intercambio de mensajes. El(los) modulo(s) de controlador conoce(n) el caso de carga de cada modulo y pueden por lo tanto balancear la carga de cada modulo verificando si un caso de modulo existente podna exceder su capacidad de procesamiento al procesar un nuevo tipo de evento.
Los datos que se reciben por la interfaz del modulo de entrada pueden resultar en un mensaje que se relaciona con un conjunto de datos espedficos o que agrega multiples conjuntos de datos en un solo mensaje. El uno o mas de los modulos de controlador estan configurados para controlar si dicho mensaje permite generarse en todo el sistema verificando las condiciones predeterminadas las cuales definen bajo ciertas circunstancias dicha creacion de mensaje permitiendo las restricciones del proveedor de datos (por ejemplo, restricciones de privacidad de datos). Dicha precondicion incluye al menos una regla estatica o un evento que debe haber ocurrido antes de que se pueda generar el mensaje correspondiente. El modulo de controlador registra las consultas para verificar las precondiciones correspondientes con el modulo de procesamiento de evento complejo. Si dicha precondicion se detecta y se redirige por el modulo de interfaz entrante al modulo de procesamiento evento complejo. El modulo de procesamiento de evento complejo puede notificar al modulo de controlador si el mensaje recibido corresponde con una precondicion. El modulo controlador en respuesta puede entonces actualizar la configuracion de los otros modulos de acuerdo.
En otras palabras el modulo controlador puede agregar nuevas relaciones de comunicacion a la configuracion del sistema en la ejecucion y notificar todos los modulos afectados de acuerdo. De manera similar, el modulo controlador puede eliminar las relaciones de comunicacion a partir del sistema de comunicacion si no se necesitan mas e incluso apagar una instancia de modulo para impedir asignar mas recursos del sistema que los que se necesitan actualmente.
La configuracion de las relaciones de comunicacion se puede definir por una grafica que se almacena en una base de datos de grafica tal como ORIENTDB (disponible a partir de Tecnologfas Orient LTD, Londres, Reino Unido) o por cualquier otro tipo de base de datos que soporta el almacenamiento de sujeto, predicado y objeto (por ejemplo, a traves de las tres representaciones de columna) que se relacionan con datos de configuracion. Incluso un simple archivo (datos de texto o binarios) puede almacenar las relaciones de comunicacion. Las relaciones de comunicacion definen que ocurra una verificacion de precondicion para cada mensaje que se intercambia entre cualquiera de los modulos del sistema.
La arquitectura del sistema que se describe le permite a un usuario individual mantener el control sobre los datos que proporcionan al sistema determinando el uso respectivo de restricciones como se define por las precondiciones. Por ejemplo, un usuario puede no permitirle a un operador de medicion en una red de aprovisionamiento de energfa redirigir cualquier informacion con respecto al consumo de energfa individual de su hogar al operador de red de energfa a menos que la red entre en una condicion inestable. En dicho evento el usuario puede consentir que, por ejemplo, sus datos se utilicen por el operador de red ya sea en una base de hogar o tal vez solo en un nivel anadido agregando todos los datos de los hogares en un barrio particular. Esto es, el usuario mantiene el control de los datos
5
10
15
20
25
30
35
40
45
50
55
60
65
que se proporcionan al operador de medicion y determina bajo cuales circunstancias cuales datos de pueden utilizar por terceras partes y en cual nivel de agregacion.
En general, el sistema de ordenador para enrutamiento de mensaje de acuerdo con las realizaciones de la invencion puede describirse como parejas del modulo de comunicacion las cuales estan en cascada o dispuestas en paralelo. El sistema tiene al menos un modulo de controlador configurado para mantener una grafica de relaciones de comunicacion. La grafica define las relaciones de comunicacion entre una diversidad de modulos de comunicacion de mensaje. Cada relacion de comunicacion define un tipo de mensaje particular para una pareja particular de modulos fuera de la diversidad. En general, dicha pareja de modulos de comunicacion incluye un primer y un segundo modulo de comunicacion. Los terminos modulo de comunicacion del mensaje, modulo de comunicacion y modulo se utilizan como sinonimos en lo siguiente. El modulo de controlador no es por lo tanto un modulo de comunicacion en este sentido pero permite la comunicacion entre dichos modulos.
El primer modulo esta configurado para recibir un mensaje en donde el mensaje recibido tiene un tipo de mensaje y esta asociado con al menos una precondicion. Tras la verificacion de una condicion aceptable de al menos una precondicion de acuerdo con la grafica, el mensaje recibido se acepta si se cumple la condicion de aceptacion. Ademas, tras la verificacion de una condicion de generacion de al menos una precondicion de acuerdo con la grafica, el primer modulo genera un mensaje generado que se dirige al menos a un segundo modulo de un consumidor de datos externos de acuerdo con la grafica (300) si se cumple la condicion de generacion. El mensaje generado puede ser identico al mensaje recibido en cuyo caso el mensaje generado corresponde a un reenvfo del mensaje recibido. El mensaje generado puede tambien ser un nuevo mensaje (por ejemplo, mensaje agregado) el cual se compone utilizando los datos del mensaje recibido en conjunto con datos adicionales de mensajes recibidos adicionalmente y calculando un resultado (por ejemplo, datos promedio, suma de datos, etc.)
El al menos segundo modulo tambien implementa la funcion del primer modulo con respecto a los mensajes recibidos. Esto es, cuando el segundo modulo recibe el mensaje generado como el modulo objetivo del primer modulo (de acuerdo con la grafica), el segundo modulo trata el mensaje generado como el mensaje recibido y realiza la misma verificacion y etapas de generacion de mensaje como el primer modulo. Al menos un modulo adicional se trata como el original al menos segundo modulo de acuerdo con la grafica. Esto es, el al menos segundo modulo utiliza al menos el modulo adicional (o el consumidor de datos externos) como el objetivo para el mensaje el cual se genera ahora por el segundo modulo.
El sistema de enrutamiento del mensaje puede expandirse iterativamente adicionando dichos pares de modulos y estableciendo las relaciones de comunicacion respectiva en la grafica. Por ejemplo, las parejas de modulos que tienen una relacion de comunicacion pueden incluir el primer modulo que es un modulo de interfaz entrante y el segundo modulo que es un modulo de procesamiento de evento complejo, un modulo de persistencia, o un modulo de analisis. Ademas, el segundo modulo puede ser un modulo de interfaz saliente y el primer modulo puede ser un modulo de procesamiento del evento complejo, un modulo de persistencia, un modulo de analisis. Es tambien posible, que el primer y el segundo modulos sean los mismos. Esto es, el modulo se envfa un mensaje a sf mismo. Este puede ser el caso con modulos de procesamiento de eventos complejos o modulos de analisis en cuyo caso se permite un procesamiento multietapa de mensajes de datos por el mismo modulo.
Con el fin de permitir un flujo de mensajes a partir de fuentes de datos a los consumidores de datos al menos un modulo de comunicacion de mensaje esta configurado para recibir un mensaje a partir de una fuente de datos externa, al menos un modulo de comunicacion de mensaje esta configurado para procesar el mensaje recibido y utilizar procesamiento de eventos complejos, y al menos un modulo de comunicacion de mensaje esta configurado para redirigir el mensaje generado al consumidor de datos externos.
En una realizacion al menos un modulo de comunicacion de mensaje esta configurado para persistir (almacenar) el mensaje recibido. En esta realizacion, el sistema de ordenador puede permitir a los consumidores de datos consultar los datos historicos los cuales fueron persistentes con base en mensajes recibidos anteriormente.
En una realizacion, el al menos un modulo de controlador puede estar configurado adicionalmente para registrar una o mas consultas con al menos uno de los modulos de comunicacion del mensaje para detectar un evento particular asociado con una precondicion particular, la precondicion particular se asocia con una pareja particular de modulos de comunicacion. Por ejemplo, los modulos CEP pueden usarse en dichas tareas de deteccion de evento. El modulo controlador puede entonces recibir una notificacion a partir de al menos uno de los modulos de comunicacion del mensaje cuando el evento particular se detecta y puede activar una relacion de comunicacion particular entre la pareja particular de modulos de comunicacion de mensaje cuando se cumple la precondicion particular. Cuando la precondicion particular cesa para cumplir con el al menos un modulo controlador puede desactivar la relacion de comunicacion particular entre la pareja particular de modulos de comunicacion de mensaje nuevamente. Esto le permite al modulo de controlador crear y terminar relaciones de comunicacion entre los modulos sobre la marcha para reaccionar dinamicamente a ciertos eventos los cuales son relevantes a las precondiciones que se definen por los usuarios de las fuentes de datos. Se habilita por lo tanto un manejo granular flexible de restricciones de privacidad de datos en relacion con los datos individuales por las realizaciones de la invencion.
5
10
15
20
25
30
35
40
45
50
55
60
65
En una realizacion, el al menos un modulo controlador puede recibir un modulo identificador a partir de un modulo de comunicacion que se inicia por primera vez. El controlador puede entonces crear una representacion de modulo para el modulo de comunicacion iniciado por primera vez en la grafica de relaciones de comunicacion y enviar los datos de configuracion del modulo del controlador al patron de comunicacion iniciado por primera vez. El modulo iniciado por primera vez esta ahora consiente del modulo controlador por el cual este se maneja. El modulo controlador puede generar ademas relaciones de comunicacion para el modulo de comunicacion iniciado por primera vez de acuerdo con las mediciones de carga predefinidas y las relaciones de comunicacion del conmutador en la grafica a partir del modulo de comunicaciones existente anterior al modulo de comunicacion iniciado por primera vez para balancear la carga con base en las mediciones de carga en el caso de un evento de reescalacion. En esta realizacion, la reescalabilidad del sistema de enrutamiento del mensaje se mejora agregando modulos de comunicacion adicionales duplicando la funcion de los patrones ya existentes en la marcha en la cual estos manejan las partes del flujo del mensaje si la carga para los modulos existentes anteriormente se vuelve muy elevada de acuerdo con las mediciones de carga. Las mediciones de carga que se definen pueden incluir el numero relaciones de comunicacion de uno o mas modulos de comunicacion del mismo tipo, la frecuencia mensajes enviados o recibidos, los recursos ffsicos de un modulo de comunicacion, el tiempo de respuesta de un modulo de comunicacion, la latencia entre los diferentes patrones de comunicacion, y/o una falla de un modulo. La conmutacion de las relaciones de comunicacion puede incluir la clonacion de las relaciones de comunicacion de interfaz saliente afectadas de un modulo de comunicacion existente anteriormente para el modulo de comunicacion que se inicia por primera vez, conmutar las relaciones de comunicacion de interfaz entrante afectadas a partir del modulo de comunicacion existente anteriormente para el modulo de comunicacion que se inicia por primera vez, y eliminar las relaciones de comunicacion de interfaz saliente afectadas del modulo de comunicacion existente anteriormente.
Las funciones y las etapas del metodo que se describen del sistema de enrutamiento del mensaje, se pueden realizar por los respectivos modulos del sistema cuando el sistema ejecuta un producto de programa por ordenador correspondiente el cual incluye un conjunto de instrucciones legibles por ordenador que se almacenan en una memoria del sistema y se ejecutan por al menos un procesador del sistema.
Los aspectos adicionales de la invencion se realizaran y se alcanzaran a traves de los elementos y las combinaciones que se describen particularmente en las reivindicaciones anexas. Se debe entender que ambas, la descripcion general precedente y la siguiente descripcion detallada son solo de ejemplo y de explicacion y no restringen la invencion como se describe.
Breve descripcion de los dibujos
La figura 1 es un diagrama de bloques simplificados del sistema por ordenador para enrutamiento del mensaje de acuerdo con una realizacion de la invencion;
La figura 2 es una grafica simplificada la cual ilustra las relaciones de comunicacion entre los modulos de comunicacion del sistema de ordenador;
La figura 3 es un diagrama de flujo simplificado de un metodo que se implementa por ordenador para enrutamiento del mensaje que se ejecuta por el sistema de ordenador cuando se ejecuta un producto de programa por ordenador correspondiente de acuerdo con una realizacion de la invencion;
La figura 4 es un diagrama de lmea de corriente que ilustra el flujo del mensaje entre los modulos de comunicacion de acuerdo con realizaciones espedficas de la invencion;
La figura 5 es un diagrama de flujo simplificado de un metodo el cual permite el balance de carga en una realizacion del sistema de ordenador y mejora la escalabilidad del sistema de enrutamiento del mensaje;
La figura 6 ilustra un ejemplo de una grafica de relaciones de comunicacion simplificadas que se utiliza para balance de carga en un sistema de enrutamiento del mensaje de acuerdo con una realizacion de la invencion; y
La figura 7 es un diagrama que muestra un ejemplo de un dispositivo de ordenador generico y un dispositivo de ordenador movil generico, los cuales se pueden utilizar con las tecnicas que se describen aqrn.
Descripcion detallada
Los temas como ciudad inteligente, manejo de energfa distrital, hogar inteligente y manejo de trafico inteligente hacen uso en aumento de analisis de gestion en tiempo real de grandes cantidades de datos que se crean por un numero en aumento de sensores. Esto conlleva a problemas con respecto a la capacidad en tiempo real de los sistemas en vista de la gran cantidad de datos y con respecto la privacidad de datos personales que pertenecen a los individuos.
Por ejemplo, debido a una produccion de energfa mas distribuida y volatil, la gestion de la red de energfa necesitara mas informacion acerca de las necesidades de energfa de los individuos para asegurar y mantener la estabilidad de
5
10
15
20
25
30
35
40
45
50
55
60
65
la red. La gestion de trafico tambien requerira mas informacion de los individuos que actuan para mejorar la totalidad del sistema. ^picamente, esto lleva el precio de penetrar la privacidad personal de los individuos. En ciertas situaciones y bajo ciertas condiciones, los individuos pueden estar dispuestos a proporcionar datos personales a terceras partes para obtener beneficios. Por ejemplo, un individuo puede lograr un valor agregado para sf mismo (por ejemplo, la optimizacion del sistema propio, la reduccion de su coste, asistencia inmediata en caso de situaciones de emergencia, etc.) o el individuo puede contribuir para elevar un beneficio comun (por ejemplo, manejo mejorado de situaciones de emergencia, mejoramiento y estabilidad de la infraestructura publica como redes de energfa y calles, etc.). Los siguientes escenarios que se divulgan en este documento proporcionan ejemplos para el uso de diversas realizaciones de la presente invencion.
La figura 1 es un diagrama de bloques simplificado de un sistema 100 de ordenador para enrutamiento del mensaje de acuerdo con una realizacion de la invencion. Ademas, se hara referencia en la figura 2 que muestra una grafica 300 simplificada la cual ilustra las relaciones de comunicacion entre los modulos de comunicacion el sistema 100 de ordenador.
En el ejemplo de la figura 1, el sistema 100 de ordenador tiene uno o mas modulos 110 controlador, uno mas modulos 130 de interfaz entrante, uno o mas modulos 140 de procesamiento de evento complejo (CEP), uno o mas modulos 150 de persistencia, y uno o mas modulos 160 de interfaz saliente. Las relaciones de comunicacion entre las parejas de modulos se definen por la grafica 300 (ver la figura 2) la cual se mantiene por el uno o mas de los modulos 110 controlador. La grafica 300 tiene representaciones 330, 340, 350, 360 de los modulos 130, 140, 150, 160 respectivos. El sistema de ordenador puede tambien incluir modulos adicionales (por ejemplo, un modulo de analisis) en el mismo nivel que los modulos 140, 150 de persistencia y CEP. Esto es, modulos de procesamiento de datos adicionales se pueden conectar entre los modulos 130, 160 de interfaz entrante y saliente. El siguiente ejemplo de pares de modulos puede tener una relacion de comunicacion: un modulo 130, 330 de interfaz entrante y un modulo 140, 340 de procesamiento del evento complejo; un modulo 130, 330 de interfaz entrante y un modulo 150, 350 de persistencia; un modulo 140, 340 de procesamiento de evento complejo y un modulo 160, 360 de interfaz saliente; y un modulo 150, 350 de persistencia y un modulo 160, 360 de interfaz saliente. De este modo, el uno o mas de los modulos 130, 330 de interfaz entrante se configuran para recibir mensajes a partir de fuentes 210, 310 de datos externos. El uno o mas de los modulos 140, 340 CEP se configuran para procesar los mensajes recibidos utilizando procesamiento de eventos complejos. Los modulos CEP permiten la deteccion, filtracion, agregacion y creacion de eventos. El(los) modulo(s) CEP se pueden lograr con lo existente de motores de procesamiento de evento complejo como ESPER (disponible a partir de EsperTech Inc., Wayne, NJ Estados Unidos) o APAMA (disponible a partir de Software AG, Darmstadt, Alemania) e interfaces adicionales que realizan la comunicacion con el(los) modulo(s) de controlador. Las principales funciones son el registro de nuevos tipos de mensaje/eventos, el registro de nuevas consultas para seleccionar eventos espedficos, agregaciones de evento y eventos complejos.
El uno o mas de los modulos 150, 350 de persistencia estan configurados para persistir (almacenar) los mensajes recibidos en las respectivas porciones de memoria el sistema de ordenador y pueden proporcionar acceso a datos/eventos historicos. El uno o mas de los modulos 160, 360 de interfaz saliente estan configurados para redirigir los mensajes generados a los consumidores 220, 320 de datos externos.
De regreso nuevamente en la figura 2, la grafica 300 muestra las posibles relaciones de comunicacion entre diversos modulos de comunicacion. Cada modulo de comunicacion puede configurarse para recibir mensajes 301 (flechas rayadas) y para generar mensajes 302 y enviarlos (flechas de lmea continua) a un modulo de comunicacion adicional. Cada modulo puede aceptar un mensaje 301 recibido o ignorarlo dependiendo de una precondicion 370 que esta asociada (flechas rayadas punteadas) con un mensaje 301 recibido. La figura 3 se simplifica en que solo se muestra una precondicion 370. Sin embargo, puede existir una precondicion diferente para cada modulo y para cada decision de aceptacion o generacion de mensaje. Una persona con habilidades en la tecnica entendera la precondicion 370 como una representacion general de cualquier precondicion relevante potencial en el respectivo modulo de comunicacion para tomar una aceptacion o generacion de decision. Si se cumple la precondicion correspondiente el respectivo modulo de comunicacion acepta/genera el mensaje 301/302 recibido/generado, respectivamente. Un mensaje generado puede corresponder con una redireccion del mensaje recibido pero este tambien puede resultar en la creacion del nuevo mensaje. De este modo, cada modulo de comunicacion puede recibir la informacion necesaria para tomar dichas decisiones a partir del modulo controlador. En otras palabras, el modulo controlador puede compartir el conocimiento acerca de la grafica 300 de relaciones de comunicacion con los otros modulos de comunicacion en la medida que estos estan en posesion de toda la informacion necesaria para tomar las decisiones correctas de enrutamiento del mensaje. Las relaciones de comunicacion puede ser estaticas o dinamicas. Esto es, puede siempre existir una relacion de comunicacion o se puede activar en la ejecucion durante la operacion del sistema de ordenador dependiente cuando de repente se cumple una cierta precondicion y se puede desactivar nuevamente cuando no se cumple mas la condicion.
La realizacion de la figura 1 se describe ahora utilizando un escenario de aplicacion de ejemplo con base en el manejo de la energfa y redes energfa. Dado, hay tres hogares A, B y C, en donde cada hogar esta equipado con una tecnologfa de medicion inteligente. Una medicion inteligente es usualmente un dispositivo electronico que graba el consumo de la energfa electrica en intervalos de una hora o menos y comunica esa informacion en intervalos de
5
10
15
20
25
30
35
40
45
50
55
60
65
tiempo apropiados de regreso al servicio publico para monitorizacion y cobro. Los medidores inteligentes permiten una comunicacion de doble v^a entre el medidor y un sistema central. Los medidores inteligentes tipicamente pueden reunir datos a partir de reportes remotos (datos al proveedor de energfa). Dicha infraestructura de medicion avanzada permite comunicaciones de doble via con el medidor.
Los operadores del medidor (servicios publicos) reciben datos acerca del consumo de energfa de los hogares para el proposito de la facturacion. Un proveedor de energfa puede interesarse en los datos de consumo energfa detallados de cada hogar individual o incluso de los individuos dentro del hogar. En este ejemplo, el proveedor de energfa proporciona datos acerca de la red como fuentes 210 de datos al sistema 100 de ordenador. Ademas, el proveedor de energfa puede solicitar a partir de los consumidores (por ejemplo, los hogares A, B y C) volverse fuentes 210 de datos (por ejemplo A se vuelve la fuente 211 de datos, etc.) para el sistema 100 de ordenador y para acordar el uso adicional de sus datos de energfa recolectados por los medidores inteligentes respectivos especificando en que medida se pueden usar o consumir los datos.
Ademas de A, B y C pueden existir fuentes de datos adicionales ya sea en la forma de otros medidores inteligentes o en la forma de sensores adicionales los cuales pueden proporcionarle al sistema de ordenador informacion acerca del estado de la red de energfa. Dichos sensores adicionales pueden operarse por entidades de consumo de datos (por ejemplo, el proveedor de energfa en sf mismo) los datos que se proporcionan pueden por lo tanto no estar del todo asociados con restricciones o precondiciones.
En el escenario de ejemplo, el hogar A 211 acepta. El hogar B 21 n acepta la restriccion, para solo hacer uso de sus datos si toda la red de energfa falla (por ejemplo la red de energfa esta en una condicion inestable). Ademas, B protube que sus datos se almacenen permanentemente. El hogar C (no se muestra) acepta la restriccion, para solo hacer uso de sus datos como un agregado de los conjuntos de datos de otros hogares.
Como una consecuencia de las preferencias y restricciones de los hogares se configuran las respectivas precondiciones utilizando uno o mas modulos de controlador o el 110 del sistema. En el siguiente escenario se asume un modulo 110 controlador individual. Sin embargo, se pueden usar multiples modulos de controlador en paralelo para propositos de balance. Esto se explicara luego. Las precondiciones 370 pueden configurarse por los hogares A, B, o C por el proveedor de energfa bajo el control de los consumidores que utilizan medios de interfaz de usuario apropiados. Por ejemplo, el sistema 100 de ordenador puede proporcionar un servicio de red el cual le permite al(los) consumidor(es) o proveedor(es) de energfa, acceder remotamente al modulo 110 controlador y para soportar la creacion de las respectivas precondiciones 370 de acuerdo. De acuerdo con el escenario de ejemplo anterior las siguientes precondiciones se configuran en el uno o mas modulos 110 controlador.
Se menciona sin restricciones. Por lo tanto no se necesita una precondicion para definirse por la fuente 211 de datos. Como consecuencia, el modulo 110 controlador tiene la definicion de configuracion:
Si la fuente de datos = “A” Y el tipo de mensaje = “mensaje de datos”: permitir todas las relaciones de comunicacion.
B menciona el riesgo de la falla de red y protube el almacenamiento de sus datos. Por lo tanto, las precondiciones correspondientes de pueden definir como:
1) si la fuente de datos = “B” Y tipo de mensaje = “mensaje de datos”: si un evento o valor pronostico indica un estado cntico para la red (por ejemplo, el cambio de la produccion de energfa total y el consumo de energfa total se obtiene cerca de cero)), entonces permitir todas las relaciones de comunicacion; (en general, el estado cntico se puede determinar con base en uno o mas parametros tecnicos que indican una situacion tecnica en que el sistema de suministro de energfa del proveedor de energfa afronta una situacion cntica (por ejemplo, el consumo total se aproxima a un lfmite de porcentaje de la capacidad, etc.)
2) si la fuente de datos = “B” Y tipo de mensaje = “mensaje de datos”: no se permite la persistencia.
C menciona, que este solo acepta el uso de sus datos si sus datos se agregan con los datos de otros hogares. Por lo tanto la precondicion de puede definir como:
Si la fuente de datos = “C” Y tipo de mensaje = “mensaje de datos”: solo agregacion.
Tras la configuracion de las precondiciones, el modulo 110 controlador puede crear y/o mantener la grafica 300 la cual define las relaciones de comunicacion entre una diversidad 120 de modulos 130, 140, 150, 160 de comunicacion de mensaje del sistema 100 ordenador. Cada relacion de comunicacion define un tipo de mensaje particular (por ejemplo, mensaje de datos, mensaje de estado, etc.) para un par de modulos particular fuera de la diversidad 120. La grafica 300 se puede almacenarse en cualquier formato de estructura de datos apropiado en una porcion de memoria del sistema 100 ordenador. Una grafica de estructura de datos incluye un conjunto finito (y posiblemente mutable) de nodos o vertices, a la vez con un conjunto de pares ordenados de estos nodos (o, en algunos casos, un conjunto de pares no ordenados). Estos pares se conocen como bordes o arcos. Un borde (x, y) es dicho al punto a partir de x a y. Una grafica de estructura de datos puede tambien asociar a cada borde un valor
5
10
15
20
25
30
35
40
45
50
55
60
65
borde, tal como una etiqueta simbolica de un atributo numerico (por ejemplo, el predicado de la relacion). En el contexto de la estructura de datos de grafica de relacion de comunicacion, los bordes en la grafica representan los predicados (por ejemplo, enviar, recibir, etc.) de las respectivas relaciones.
En el escenario de ejemplo, se pueden recrear las siguientes relaciones de comunicacion en la grafica 300. Existen relaciones entre el modulo 130, 330 de interfaz entrante y cada hogar (fuentes 210, 310 de datos). Ademas, existen relaciones entre el modulo 130, 330 de interfaz entrante y el modulo 150, 350 de persistencia para los mensajes que se relacionan a partir de A y C. B tiene una precondicion 2 explfcita) impidiendo cualquier persistencia de sus datos. Por lo tanto, no se crea una relacion de comunicacion correspondiente con el modulo de persistencia para B.
Debido a la precondicion 1) de B, el modulo 110 controlador crea dos relaciones de comunicacion en la grafica 300: una primera relacion de comunicacion entre el modulo 130 de interfaz entrante y el modulo 140 CEP y a un segundo entre el modulo 140 CEP y el mismo. Ademas, el modulo 110 controlador registra una o mas consultas en el modulo 140 CEP para recibir notificaciones si se cumple o no por un mensaje la precondicion 1) del hogar B. El registro de las consultas se divulga en mas detalle en la figura 6. El CEP puede tambien recibir mensajes/eventos a partir de otras fuentes de datos que el consumidor que se relaciona como medidores inteligentes. Por ejemplo, el proveedor de la red de energfa puede continuamente enviar datos los cuales indican si la red se aproxima a un estado cntico. El modulo CEP puede entonces evaluar dichos eventos para detectar el estado cntico con base en las consultas correspondientes predefinidas.
Por ejemplo, el proveedor de energfa (consumidor de datos) quiere hacer uso de los datos que se proporcionan y configura el modulo 110 controlador para enviar una notificacion si uno de los hogares excede su consumo promedio de energfa por 10%. El modulo 110 controlador puede verificar las precondiciones respectivas y realiza las siguientes acciones:
- Rechaza la solicitud del proveedor de energfa para el hogar C dado que la consulta no se relaciona con los datos agregados de multiples hogares (como se permite por la precondicion C).
- Establece la relacion de comunicacion entre la interfaz 130, 330 entrante y el modulo 140, 340 CEP para los mensajes de A y B.
- Crea relaciones entre el modulo 140, 340 CEP y el modulo 160, 360 de interfaz saliente para dichos mensajes de notificacion los cuales se asocian con los mensajes y las precondiciones de los hogares A y B.
En operacion, los medidores inteligentes (fuentes 210, 310 de datos) de A, B y C envfan los datos de consumo de energfa que tienen un tipo de mensaje “mensaje de datos” el cual se recibe 1100 por las interfaces 130, 330 entrantes. Ademas, el proveedor de energfa envfa datos acerca del estado de la red (por ejemplo, el estado tecnico si hay red) a las interfaces 130, 330 entrantes. El modulo 130, 330 de interfaz entrante verifica 1200 si cualquier precondicion 370 configurada incluye una condicion de aceptacion la cual podna no cumplirse por cualquiera de los mensajes 301 recibidos. Como no hay precondicion configurada la cual podna impedir la aceptacion de los mensajes recibidos, todos los mensajes de datos se aceptan por el modulo 130, 330 de interfaz entrante.
El modulo de interfaz entrante verifica 1300 entonces si las precondiciones incluyen condiciones de generacion de acuerdo con la grafica 300 la cual activa la generacion de mensajes 302 generados a los modulos adicionales. Por ejemplo, las precondiciones de A y C permiten la presencia de los datos respectivos. Por lo tanto, la interfaz entrante genera 1400 los mensajes para redirigir los datos que se reciben a partir de los hogares A y C al modulo 150, 350 de persistencia. En este caso el mensaje 302 generado corresponde al mensaje 301 recibido. Esto es, el mensaje recibido se redirige simplemente al modulo de comunicacion de destino de acuerdo con la relacion de combinacion definida. No hay relacion de comunicacion entre el modulo de persistencia y la interfaz entrante para B. Como consecuencia, la condicion de generacion correspondiente no se cumple para los mensajes asociados con B. No hay relacion de comunicacion entre la interfaz entrante y el modulo CEP con respecto a los mensajes de datos que se originan a partir de C.
Ademas, debido a que A permite todas las relaciones de comunicacion para los mensajes de datos, tambien los mensajes de datos que se redirigen al modulo 140, 340 CEP se generan 1400 por la interfaz entrante. El modulo CEP tiene una relacion de comunicacion con la interfaz entrante para el hogar A y no hay una precondicion configurada para A la cual podna prohibir la generacion del respectivo mensaje. No hay una precondicion la cual podna impedir el modulo cEp de aceptar los mensajes reenviados que se asocian con A. El modulo 140, 340 CEP puede analizar los mensajes de datos aceptados que se asocian con A y tambien generar los mensajes de acuerdo con los eventos detectados de acuerdo con la solicitud del proveedor de energfa. El mensaje generado por el modulo CEP corresponde al mensaje de notificacion para el proveedor de energfa (consumidor 320 de datos) y se puede encaminar al consumidor 320 de datos a traves del modulo 160, 360 de interfaz saliente aplicando verificaciones 1200, 1300 de precondicion iterativamente 1500 a los modulos respectivos.
En general, los mensajes los cuales se generan por los modulos CEP o modulos de analisis en respuesta a un mensaje recibido no son tipicamente identicos al mensaje recibido. En lugar de esto, si se permiten por las
5
10
15
20
25
30
35
40
45
50
55
60
65
precondiciones respectivas, estos pueden incluir datos agregados los cuales se basan en el mensaje de datos recibido pero el cual agrega sus datos con los datos de mensajes de datos adicionales (por ejemplo, consumo de ene^a individual ^ agregado dentro de un consumo de energfa total de un cuarto). Por supuesto, para la generacion de datos agregados necesita cumplirse la precondicion respectiva.
En un punto en el tiempo, el modulo CEP detecta un estado de red cntica (por ejemplo, el cambio o produccion de energfa total y el consumo de energfa total esta cerca de 0) y el modulo 110 de controlador recibe una notificacion correspondiente a partir del modulo CEP. Dado que este caso se define como una precondicion (precondicion 1) de B, donde B renuncio a sus derechos de privacidad de datos a favor de restablecer la red de energfa), el modulo 110 controlador notifica al modulo 140 CEP para reenviar mensajes del hogar B a la interfaz 160 saliente (activando dinamicamente la correspondiente relacion de comunicacion). El modulo 140 CEP redirige ahora las notificaciones las cuales se relacionan con los mensajes de B al modulo 160 de interfaz saliente. Cuando el estado de la red indica un estado “normal” nuevamente (esto es, el cambio de la produccion de energfa total y el consumo de energfa total esta significativamente por encima de 0), el modulo 110 controlador deshabilita la relacion de comunicacion activada anteriormente entre el modulo CEP y la interfaz saliente para los mensajes asociados con B. Esto es, la privacidad de datos para los datos asociados con B se refuerza de nuevo automaticamente por el sistema de ordenador.
Se describiran ahora aspectos adicionales de invencion en el contexto de un escenario de gestion de trafico. El escenario incluye tres personas A*, B* y C* que viajan individualmente a traves de una ciudad en donde cada uno conduce un vehnculo. El conductor A* conduce un coche convencional, a la vez que conductor B* conduce un vehnculo electrico (EV). El conductor C* es un conductor de un camion. A*, B* y C* utilizan un sistema de navegacion con base en GPS que es capaz de enviar diversos tipos de informacion a una realizacion del sistema 100 ordenador. La informacion puede incluir informacion acerca de las rutas de los vehnculos, la velocidad de manejo y el nivel de batena en el caso del EV. Por lo tanto, los sistemas de navegacion y/o los ordenadores a bordo de los vehnculos son fuentes 210, 310 de datos al sistema 100 ordenador.
La administracion municipal de la ciudad le pregunta a A*, B* y C* si ellos desean proporcionar sus datos al sistema de gestion de trafico de la ciudad para optimizacion de trafico. El conductor A* acepta. Ademas de la administracion municipal, El proveedor de energfa local le pregunta a la conductora B* si ella desea proporcionar informacion acerca del nivel de batena y la ubicacion de su EV para el proposito de estimar la demanda de energfa. B* Acepta con la restriccion de solo hacer uso de sus datos si existe ya sea un atasco de trafico la ciudad o una ocurrencia de una situacion de emergencia o estado de red de energfa cntico. Ademas, B* prohnbe que sus datos se almacenen permanentemente. C* acepta con la restriccion de solo hacer uso esos datos como un agregado de conjuntos de datos de todos los conductores. Las siguientes precondiciones se configuran en el modulo 100 controlador bajo el control de A*, B* y C*.
A* menciona no restricciones. Por lo tanto no se necesitan que se definan precondiciones en su sistema de navegacion como una nueva fuente de datos. El modulo 100 controlador tiene la definicion de configuracion:
Si fuente de datos = A* Y tipo de mensaje = “datos de navegacion”: permitir todas las relaciones de comunicacion.
B* menciona la ocurrencia de atascos de trafico o estados de red cntico y ella profnbe el almacenamiento de sus datos. Por lo tanto las precondiciones se puede definir como:
1) si fuente de datos = B* Y tipo de mensaje = “datos de navegacion”: si se reconoce un atasco de trafico en la ciudad, entonces permitir todas las relaciones de comunicacion
2) si fuente de datos = B* Y tipo de mensaje = “datos de navegacion”: en ocurrencia de una situacion de emergencia permitir todas las relaciones de comunicacion,
3) si fuente de datos = B* Y tipo de mensaje = “datos de energfa”: en ocurrencia de un estado cntico de la red permitir todas las relaciones de comunicacion para los datos de energfa, y
4) si fuente de datos = B* Y tipo de mensaje = “*”: no se permiten persistencia de datos.
C* menciona como que solo acepta el uso de sus datos si esos datos se agregan. Por lo tanto la precondicion se puede definir como:
si fuente de datos = c* Y tipo de mensaje = “*”: solo se permite agregacion de datos.
Ahora, las siguientes relaciones de comunicacion se pueden crear en la grafica 300 por el(los) modulo(s) controlador:
- relaciones entre la(s) interfaz(ces) 130, 330 entrante(s) y cada sistema 210, 310 de navegacion del vehnculo (fuentes de datos),
5
10
15
20
25
30
35
40
45
50
55
60
65
- relaciones entre la(s) interfaz(ces) 130, 330 entrante(s) y el(los) modulo(s) 150, 350 de persistencia para mensajes que se originan a partir de A* y C*.
- una relacion entre el(los) modulo(s) CEP 140, 340 y sf mismo (modulo controlador) de acuerdo con las precondiciones 1), 2), y 3) de B*. Ademas, el modulo controlador registra consultas en el modulo CEP para recibir notificaciones si la precondicion 1), 2) o 3) se cumple o cesa de cumplirse.
Si el sistema de manejo de trafico de la ciudad desea hacer uso de los datos que se proporcionan por A*, B* y C*, por ejemplo, el modulo controlador puede configurarse para enviar una notificacion si muchos coches estan viajando en una cierta ruta. El modulo controlador puede verificar las precondiciones y realizar las siguientes acciones:
- Establece las relaciones de comunicacion apropiadas entre la interfaz 130, 330 entrante y el modulo 140, 340 CEP para los mensajes de A* y B*.
- Crea las relaciones entre el modulo 140, 340 CEP y el modulo 160, 360 de interfaz saliente para los mensajes de notificacion los cuales se asocian con los mensajes y precondiciones de los sistemas de navegacion de A* y B*.
- Como la consulta toma un agregado de datos de multiples vehnculos, este tambien establece las relaciones de comunicacion entre la interfaz entrante y el modulo CEP para los mensajes del vehnculo C*.
El proveedor de energfa local puede querer conocer cuando los EV en la ciudad tienen un nivel de batena bajo para estimar una demanda energfa y lugares de carga en un futuro cercano. Para este proposito el proveedor de energfa puede configurar el modulo controlador para enviar notificaciones que contienen la ubicacion del nivel de batena para el EV. El modulo controlador puede verificar las precondiciones que realizar las siguientes acciones:
- Establece una relacion de comunicacion adicional entre el modulo 140, 340 CEP y el modulo 160, 360 de interfaz saliente para los mensajes de notificacion los cuales se asocian tambien con los mensajes y precondiciones del sistema de navegacion de B*.
En operacion A*, B* y C* estan en la calle y sus sistemas de navegacion y/o ordenadores abordo envfen sus posiciones GPS (mensajes de navegacion) a las interfaces entrantes. Ademas, el sistema de gestion del trafico de la ciudad envfa datos acerca del estado del trafico a las interfaces 130, 330 entrantes. Los mensajes de navegacion de los conductores A* y C* se reenvfan al modulo de persistencia. Los mensajes del conductor A* se reenvfan al modulo 140, 340 CEP y los eventos detectados puede activar la creacion de la notificacion la cual se puede reenviar al modulo 160, 360 de interfaz saliente. De acuerdo con las precondiciones que se definen por B*, los mensajes del conductor B* no se reenvfan.
Cada vez que el modulo CEP detecta un atasco de trafico en la ciudad (por ejemplo, un atasco de trafico en frente de un cruce 247) el modulo controlador recibira una notificacion correspondiente. Dado que este caso se define como una precondicion, el modulo controlador notifica la interfaz entrante para reenviar los mensajes del conductor B* al modulo CEP (para activar la relacion). El modulo CEP reenvfa ahora las notificaciones que se relacionan con mensajes del conductor B* al modulo de interfaz saliente que se relaciona con el sistema de gestion de trafico de la ciudad.
Cuando se detecta un estado de red cntica, el modulo controlador recibira una notificacion. Dado que este caso se define como una precondicion, el modulo controlador notifica la interfaz entrante para reenviar mensajes del conductor B* al modulo CEP para activar la relacion de comunicacion. El modulo CEP reenvfa ahora las notificaciones las cuales se relacionan con los mensajes del conductor B* al modulo de interfaz saliente que se relaciona con el sistema de gestion de energfa del proveedor de energfa local (consumidor de datos).
En el momento cuando los datos entrantes senalan que no hay mas atascos de trafico o estado de red cntica, el modulo controlador deshabilita las relaciones de comunicacion activadas previamente.
En cualquier momento, si el sistema (el detalle del modulo CEP) detecta la ocurrencia de una situacion de emergencia (por ejemplo una operacion de brigada de bomberos necesita la mejor ruta a la ubicacion del incidente), el modulo controlador recibira una notificacion. Dado que este caso se define como una precondicion, el modulo controlador notifica la interfaz saliente para enviar mensajes del conductor B al modulo CEP (para activar la relacion), incluso si no se detectan atascos de trafico en el mismo momento. El modulo CEP reenvfa ahora las notificaciones las cuales se relacionan con los mensajes del conductor B al modulo de interfaz saliente. Cuando los datos entrantes indican que no existe mas la ocurrencia de emergencia, el modulo controlador deshabilita las relaciones de comunicacion activadas previamente.
La figura 3 ilustra un diagrama de flujo de un metodo 1000 que se implementa por ordenador para enrutamiento de mensaje que se ejecuta por el sistema de ordenador cuando se ejecuta un producto de programa por ordenador correspondiente. El metodo 1000 se ilustra como un proceso iterativo el cual describe las etapas que se realizan por un primer modulo de comunicacion. Las etapas se repiten entonces de la misma forma por un segundo modulo de
5
10
15
20
25
30
35
40
45
50
55
60
65
comunicacion y modulos de comunicacion adicionales hasta que finalmente se alcanza el Kmite del sistema y el mensaje se encamina a un consumidor de datos externo. De este modo, la etapa 1050 de mantenimiento es un tipo de etapa de inicializacion para definir la grafica de relaciones de comunicacion las cuales se usan por etapas posteriores del metodo. El mantenimiento 1050 no se repite necesariamente con cada iteracion en el metodo 1000 pero se realiza cuando ocurre una necesidad para actualizar la grafica. Por ejemplo, cuando se agregan modulos de comunicacion adicionales al sistema de enrutamiento de mensaje para propositos de balanceo (ver la figura 6), la grafica se mantiene por el modulo controlador y se hacen disponibles las correspondientes actualizaciones de configuracion a los modulos de comunicacion (ver la figura 4).
Un primer modulo (de comunicacion) recibe 1100 un mensaje en el que el mensaje recibido tiene un tipo de mensaje y esta asociado con al menos una precondicion. Cuando se realiza la etapa de recepcion por primera vez, el primer modulo corresponde tipicamente a la interfaz de entrada que recibe un mensaje de una fuente de datos externa. El tipo de mensaje puede indicar, por ejemplo, la estructura de los mensajes, los pares clave/valor o tipos de parametros, una descripcion del evento en sf, etc. Por ejemplo, los datos de energfa pueden tener una estructura diferente de los datos de navegacion que pueden resultar en diferentes tipos de mensajes respectivos. Un mensaje que esta asociado con una precondicion significa que el sistema de ordenador tiene conocimiento de condiciones que se definen anteriormente las cuales se pueden aplicar al mensaje recibido.
El primer modulo verifica 1200 entonces si la al menos una precondicion incluye una condicion de aceptacion que cumpla con el mensaje recibido. En otras palabras, el modulo puede determinar si cualquier precondicion conocida esta configurada de tal manera que se aplica al mensaje recibido. La informacion que se requiere para la verificacion 1200 se mantiene 1050 por el modulo controlador en la forma de la grafica de relaciones de comunicacion y las precondiciones. En otras palabras, el modulo controlador mantiene la configuracion y orquesta los modulos de comunicacion del sistema de ordenador. El modulo de controlador puede actualizar continuamente los modulos de comunicacion con la informacion la cual es relevante para cada modulo de comunicacion particular para realizar las verificaciones de mensajes. La configuracion del modulo controlador permite verificar si un sistema externo esta autorizado a recibir un mensaje particular o el agregado de multiples conjuntos de datos en un mensaje. Ademas, permite verificar si se permite a un usuario leer, combinar y analizar conjuntos de datos espedficos. Si la condicion de aceptacion no se cumple, el primer modulo ignora 1250 el mensaje recibido y espera a que se reciba el siguiente mensaje.
Si se cumple la condicion de aceptacion, se acepta el mensaje recibido y se realiza otra verificacion 1300 (de nuevo utilizando informacion del modulo controlador). La verificacion 1300 adicional tiene el objetivo de validar si se permite que el mensaje sea objeto de un procesamiento adicional por otros modulos de comunicacion. Por lo tanto, la comprobacion adicional se dirige a una condicion de generacion de al menos una precondicion asociada con el mensaje aceptado. Si la condicion de generacion no se cumple, el primer modulo ignora 1350 el mensaje aceptado y espera a que se reciban nuevos mensajes. En otras palabras, los mensajes que estan involucrados en el proceso de enrutamiento del mensaje necesitan cumplir una condicion previa antes de que el mensaje pueda incluso generarse. La precondicion misma incluye al menos un evento que debe haber ocurrido antes de que se pueda generar el mensaje respectivo.
Si se cumple la condicion de generacion, el primer modulo genera 1400 un mensaje generado que se dirige a al menos un segundo modulo o un consumidor de datos externo de acuerdo con la grafica que se mantiene por el modulo controlador. El segundo modulo como un objetivo para el mensaje generado se puede identificar a partir de la grafica que define las relaciones de comunicacion entre la diversidad de modulos de comunicacion de mensajes. A partir de este grafico, el primer modulo puede derivar el modulo de destino para el mensaje generado con el tipo de mensaje respectivo. La generacion de dicho mensaje puede simplemente incluir el reenvfo del mensaje recibido. Por ejemplo, cuando la interfaz de entrada recibe y acepta un mensaje de datos a partir de una fuente de datos, puede generar el mensaje generado simplemente enviando el mensaje al(los) modulo(s) de destino (por ejemplo, modulo CEP, modulo de persistencia, modulo de analisis, etc.). Si el modulo generador de mensajes es un modulo CEP o un modulo analftico, puede generarse un mensaje totalmente nuevo con base en los datos del mensaje recibido.
Una vez que el mensaje generado se recibe por el al menos un segundo modulo, los pasos precedentes pueden repetirse 1500 iterativamente para otros modulos de comunicacion de mensajes en que para cada iteracion el al menos segundo modulo es tratado como el primer modulo y al menos un modulo adicional es tratado como el al menos segundo modulo de acuerdo con la grafica. Esta iteracion continua hasta que se alcanza un ultimo modulo (tfpicamente un modulo de interfaz saliente) del sistema de ordenador en el que el ultimo modulo tiene una relacion de comunicacion con el consumidor de datos externo. En otras palabras, si el segundo modulo corresponde al modulo CEP, el modulo CEP realiza las etapas de verificacion 1200, 1300 con respecto al mensaje generado por el primer modulo y ahora se convierte en el mensaje recibido para el modulo CEP. El modulo CEP puede entonces generar un nuevo mensaje si el mensaje (por el modulo CEP) recibido y aceptado, pasa la verificacion 1300 adicional. De acuerdo con la grafica de relaciones de comunicacion, el mensaje generado se envfa entonces a otro modulo de comunicacion (por ejemplo, el modulo CEP en sf mismo o el modulo de interfaz de salida) que esta realizando entonces la funcion del primer modulo y tratando de nuevo el mensaje generado como un mensaje
5
10
15
20
25
30
35
40
45
50
55
60
65
recibido. Una persona con habilidades en la tecnica puede aplicar la iteracion a cualquier modulo de comunicacion de mensajes para cualquier tipo de mensaje dentro del sistema de ordenador para el enrutamiento de mensajes.
La figura 4 es un diagrama de lmea de corriente que ilustra el flujo de mensajes entre modulos de comunicacion de acuerdo con realizaciones espedficas de la invencion. Las barras verticales de la figura 4 representan las siguientes entidades: U: usuario; DS: fuente de datos; IIM: modulo de interfaz entrante; CM: modulo controlador; CEPM: modulo CEP; PM: modulo de persistencia; OIM: modulo de interfaz saliente; y DC: consumidor de datos. Las flechas entre las entidades representan los mensajes que se envfan a partir de una entidad a otra entidad. Para una mejor legibilidad, las barras de entidad se interrumpen (por lmeas discontinuas) cuando las flechas del mensaje pasan a traves de la entidad respectiva. En la dimension vertical el diagrama de lmea de corriente se divide en diferentes areas. El area I (NPC) se relaciona con los mensajes en el contexto de la creacion de nuevas condiciones previas. El area II (MP) se relaciona con el procesamiento de mensajes donde la subarea Ila se relaciona con la deteccion de una precondicion y la subarea IIb se relaciona con la deteccion de eventos en los casos en que existe una relacion de comunicacion con un modulo CEP para procesamiento en tiempo real. La subarea IIc se relaciona con el procesamiento de mensajes donde existe una relacion de comunicacion con un modulo de persistencia para almacenar datos/mensajes. El area QHD III se relaciona con la consulta de datos historicos.
El area I ilustra que un usuario U envfa el mensaje 1 al modulo controlador. El mensaje 1 incluye la informacion que define una precondicion para un tipo de mensaje particular para el usuario. Esto es, el usuario determina mediante esta configuracion como los datos que se generaran por la fuente de datos DS del usuario, seran manejados por los diversos modulos de comunicacion. Las precondiciones configuradas permiten al usuario mantener el control de los datos que se proporcionan por la fuente de datos y decidir sobre el posterior uso potencial de los datos por otras partes (consumidores de datos). En respuesta al mensaje 1 recibido, Cm envfa el mensaje 2 al CEPM. El mensaje 2 hace que el CEPM registre consultas para las precondiciones recibidas para que el CEPM pueda notificar al CM una vez que se cumple una precondicion registrada con los datos/eventos recibidos.
El area II ilustra que el DS asociado con el usuario U envfa el mensaje 3 el cual se recibe por el IIM. A continuacion se asume que tanto la aceptacion como las condiciones de generacion de las precondiciones registradas se cumplen por los mensajes recibidos. En el ejemplo, el IIM genera el mensaje 4 (que puede ser identico al mensaje 3) y reenvfa el mensaje 4 al CEPM como un evento. Si el CEPM detecta una condicion previa asociada con el evento recibido (mensaje 4) este envfa el mensaje de notificacion 5 de nuevo al CM. El CM informa a los otros modulos de comunicacion sobre la nueva precondicion detectada generando los mensajes 6, 7, 8, 9 actualizados de configuracion correspondientes y enviandolos a los respectivos modulos de comunicacion IIM, CEPM, PM, OIM. Esto permite que los diversos modulos de comunicacion tomen en tiempo real las decisiones de aceptacion/generacion de mensajes con base en la configuracion actual de la grafica de relaciones de comunicacion.
Si se detecta un evento registrado, el CEPM genera un mensaje de notificacion 10 el cual se envfa al OIM a partir de donde se reenvfa (mensaje 11) al DC respectivo. Si existe una relacion de comunicacion entre el IIM y el PM, el mensaje 12 se reenvfa al Pm.
En el area III se asume que un DC envfa un mensaje de consulta 13 que incluye una peticion de datos historicos que se almacenan en el PM. El OIM recibe el mensaje 13 y reenvfa el mensaje 14 generado correspondiente al PM. El PM recupera los datos solicitados y envfa el mensaje 15 de respuesta al OIM a partir de donde el mensaje 16 se genera, se reenvfa al DC satisfaciendo de este modo la solicitud de informacion de DC.
La figura 5 es un diagrama de flujo simplificado de un metodo 2000 el cual permite balancear la carga en una realizacion del sistema 100 de ordenador (ver la figura 1) y mejora la escalabilidad del sistema de encaminamiento de mensajes. El metodo 2000 puede ejecutarse antes de la etapa 1100 del metodo 1000 (ver la figura 3) o este puede ejecutarse despues de la etapa 1400. Cuando se inicia 2100 uno de los modulos de comunicacion (por ejemplo, interfaz entrante, interfaz saliente, persistencia, CEP, analisis) por primera vez este puede enviar 2200 un identificador toquen/objeto al modulo controlador (por ejemplo, a traves de un mensaje de difusion). En respuesta, el modulo de controlador crea 2300 una nueva entidad en la grafica de relaciones de comunicacion que representa el modulo de comunicacion particular y envfa 2400 informacion de configuracion, tal como por ejemplo, la URI del modulo controlador responsable, credenciales, etc. de regreso al modulo de comunicacion.
La figura 6 ilustra, a modo de ejemplo, una grafica 600 de relaciones de comunicacion simplificada (sin precondiciones) en la que un primer modulo CEP CEP1 ya estaba presente en el sistema de enrutamiento de mensajes y tiene representacion 640 con relaciones de comunicacion con los modulos de interfaz 330 entrante y de interfaz 660 saliente. Un segundo modulo CEP CEP2 se inicia por el sistema de enrutamiento de mensajes y ha enviado su identificador al modulo controlador. En respuesta, el modulo controlador crea la representacion 641 y clona las relaciones de comunicacion de CEP1. La figura 6 ilustra tambien representaciones graficas de la fuente 610 de datos (que proporciona el mensaje 601) y del consumidor 620 de datos (mensaje 602 de recepcion).
Dado que los modulos 640, 641 CEP (en general, cualquiera de los modulos del mismo tipo) son funcionalmente equivalentes, el(los) modulo(s) de control pueden definir las relaciones de comunicacion y por lo tanto el intercambio
5
10
15
20
25
30
35
40
45
50
55
60
65
de mensajes ffsicos entre los modulos de comunicacion con base en diversas mediciones con el fin de elegir un numero apropiado de modulos del mismo tipo para una ampliacion optimizada del sistema de enrutamiento de mensajes.
De regreso a la figura 5, el controlador puede elegir una o mas de las siguientes mediciones de carga para iniciar el proceso de despliegue de un modulo de comunicacion particular recien anadido generando 2500 las relaciones de comunicacion respectivas para el modulo particular:
- el numero de relaciones de comunicacion de uno o mas modulos del mismo tipo,
- la frecuencia de mensajes enviados recibidos,
- los recursos ffsicos (uso de CPU, memoria, etc.) de un modulo,
- el tiempo de respuesta de un modulo,
- la latencia entre diferentes modulos (por ejemplo, cuando se ejecutan en diferentes maquinas),
- falla de un modulo
En el caso de un evento de reescalamiento (por ejemplo, un evento de escala ascendente o descendente) que se produce en tiempo de ejecucion, las relaciones de comunicacion correspondientes se pueden conmutar 2600. Esto es, las relaciones en la grafica de relaciones de comunicacion y el intercambio de mensajes ffsicos pueden distribuirse o reunirse a los modulos disponibles. Los siguientes pasos proporcionan un ejemplo para este proceso:
De regreso a la figura 6, se despliega o se inicia un segundo modulo CEP CEP2 en el sistema de enrutamiento de mensajes. El modulo controlador crea la entidad respectiva (representacion 641) en la grafica 600. Por ejemplo, las mediciones de carga anteriores pueden indicar que el modulo CEP CEP1 corre el riesgo de convertirse en un cuello de botella para el sistema de enrutamiento de mensajes y desplegar el segundo modulo CEP CEP2 .
Si se requiere, las relaciones de comunicacion existentes del primer modulo CEP CEP1 se pueden conmutar al segundo CEP2. Esto puede incluir:
- Las relaciones salientes que se afectan son clonadas 691. La clonacion de las relaciones salientes afectadas asegura que no se pierdan mensajes y que siempre este disponible al menos una via de comunicacion de extremo a extremo en el sistema de enrutamiento de mensajes.
- Las relaciones entrantes afectadas son conmutadas 692.
- Las relaciones salientes afectadas del CEP1 ya existentes anteriormente se eliminan 693. En otras palabras, se duplica la relacion CEP1 ^ interfaz saliente (es decir, se crea una segunda relacion). La relacion interfaz entrante ^ CEP1 se conmuta a la interfaz entrante CEP2 y se elimina la relacion CEP1 ^ interfaz saliente.
El sistema de enrutamiento de mensajes puede ahora distribuir la carga del mensaje a ambos modulos CEP CEP1, CEP 2, teniendo en cuenta las mediciones de carga anteriores para equilibrar mejor la carga de mensajes de los diversos modulos de comunicacion.
En el caso de que la carga del mensaje este bajando nuevamente, el modulo controlador puede decidir, con base en las mediciones de carga, quitar un modulo CEP que ya se esta ejecutando para ahorrar recursos (por ejemplo, calculos, energfa). Con este fin, las relaciones de comunicacion existentes, por ejemplo, con CEP2, se pueden conmutar de nuevo al modulo CEP1. Esto puede incluir:
- Se clonan las relaciones salientes afectadas.
- Las relaciones entrantes afectadas se cambian de nuevo a CEP1.
- Se eliminaran las relaciones entrantes y salientes afectadas del CEP2 afectado.
A continuacion, el modulo CEP2 se puede desplegar o apagar.
La figura 7 es un diagrama que muestra un ejemplo de un dispositivo 900 de ordenador generico y un dispositivo 950 de ordenador generico movil, que puede usarse con las tecnicas que se describen aqrn. El dispositivo 900 de ordenador esta previsto a representar diversas formas de ordenadores digitales, tales como ordenadores portatiles, ordenadores de escritorio, estaciones de trabajo, asistentes digitales personales, servidores, servidores de pala, mainframes y otros ordenadores apropiados. El dispositivo 900 de ordenador generico puede corresponder al sistema 100 de ordenador de la figura 1. El dispositivo 950 de ordenador esta previsto a representar diversas formas
5
10
15
20
25
30
35
40
45
50
55
60
65
de dispositivos moviles, tales como asistentes digitales personales, telefonos moviles, telefonos inteligentes y otros dispositivos por ordenador similares. Por ejemplo, el dispositivo 950 de ordenador puede incluir las fuentes de datos o los consumidores de datos como se muestra en la figura 1. Los componentes que se muestran aqm, sus conexiones y relaciones, y sus funciones, estan previstas a ser solo de ejemplo, y no pretenden limitar las implementaciones de las invenciones que se describen y/o se reivindican en este documento.
El dispositivo 900 de ordenador incluye un procesador 902, una memoria 904, un dispositivo 906 de almacenamiento, una interfaz 908 de alta velocidad que se conecta a la memoria 904 y puertos 9l0 de expansion de alta velocidad y una interfaz 912 de baja velocidad que se conecta al bus 914 de baja velocidad y al dispositivo 906 de almacenamiento. Cada uno de los componentes 902, 904, 906, 908, 910 y 912 estan interconectados usando diversos buses y pueden montarse sobre una placa base comun o de otras formas segun sea apropiado. El procesador 902 puede procesar instrucciones para su ejecucion dentro del dispositivo 900 de ordenador, que incluyen instrucciones que se almacenan en la memoria 904 o en el dispositivo 906 de almacenamiento para mostrar informacion grafica para una GUI en un dispositivo de entrada/salida externo, tal como la pantalla 916 acoplada a una interfaz 908 de alta velocidad. En otras implementaciones, se pueden usar multiples procesadores y/o multiples buses, segun sea apropiado, junto con multiples memorias y tipos de memoria. Ademas, se pueden conectar multiples dispositivos 900 de ordenador, con cada dispositivo proporcionando porciones de las operaciones necesarias (por ejemplo, como un banco de servidores, un grupo de servidores de pala o un sistema multiprocesador).
La memoria 904 almacena informacion dentro del dispositivo 900 de ordenador. En una implementacion, la memoria 904 es una unidad o unidades de memoria volatil. En otra implementacion, la memoria 904 es una unidad o unidades de memoria no volatil. La memoria 904 puede ser tambien otra forma de medio legible por ordenador, tal como un disco magnetico u optico.
El dispositivo 906 de almacenamiento es capaz de proporcionar almacenamiento masivo para el dispositivo 900 de ordenador. En una implementacion, el dispositivo 906 de almacenamiento puede ser o contener un medio legible por ordenador, tal como un dispositivo de disquete, un dispositivo de disco duro, un dispositivo de disco optico, o un dispositivo de cinta, una memoria flash u otro dispositivo similar de memoria de estado solido, o una matriz de dispositivos, que incluyen dispositivos en una red de area de almacenamiento u otras configuraciones. Un producto de programa de ordenador puede incorporarse de forma tangible en un soporte de informacion. El producto de programa por ordenador puede tambien contener instrucciones que, cuando se ejecutan, realizan uno o mas metodos, como los que se describen anteriormente. El soporte de informacion es un medio legible por ordenador o maquina, tal como la memoria 904, el dispositivo 906 de almacenamiento o la memoria en el procesador 902.
El controlador 908 de alta velocidad gestiona las operaciones intensivas de ancho de banda para el dispositivo 900 de ordenador, a la vez que el controlador 912 de baja velocidad gestiona operaciones de menor ancho de banda intensivo. Tal asignacion de funciones es solamente de ejemplo. En una implementacion, el controlador 908 de alta velocidad esta acoplado a la memoria 904, la pantalla 916 (por ejemplo, a traves de un procesador grafico o acelerador) y a puertos 910 de expansion de alta velocidad, que pueden aceptar diversas tarjetas de expansion (no se muestran). En la implementacion, el controlador 912 de baja velocidad esta acoplado al dispositivo 906 de almacenamiento y al puerto 914 de expansion a baja velocidad. El puerto de expansion de baja velocidad, que puede incluir diversos puertos de comunicacion (por ejemplo, USB, Bluetooth, Ethernet, Ethernet inalambrica) puede estar acoplado a uno o mas dispositivos de entrada/salida, tales como un teclado, un dispositivo senalador, un escaner o un dispositivo de red, tal como un conmutador o enrutador, por ejemplo, a traves de un adaptador de red.
El dispositivo 900 de ordenador puede implementarse en una serie de formas diferentes, como se muestran en la figura. Por ejemplo, puede implementarse como un servidor 920 estandar, o diversas veces en un grupo de tales servidores. Tambien se puede implementar como parte de un sistema 924 de servidor en bastidor. Ademas, puede implementarse en un ordenador personal tal como un ordenador 922 portatil. Alternativamente, los componentes del dispositivo 900 de ordenador pueden combinarse con otros componentes en un dispositivo movil (no se muestra) como el dispositivo 950. Cada uno de dichos dispositivos puede contener uno o mas dispositivos 900, 950 de ordenador, y un sistema completo puede estar constituido por multiples dispositivos 900, 950 de ordenador que se comunican entre st
El dispositivo 950 de ordenador incluye un procesador 952, una memoria 964, un dispositivo de entrada/salida tal como una pantalla 954, una interfaz 966 de comunicacion y un transceptor 968, entre otros componentes. El dispositivo 950 tambien puede estar dispuesto con un dispositivo de almacenamiento, tal como un micro disco u otro dispositivo, para proporcionar almacenamiento adicional. Cada uno de los componentes 950, 952, 964, 954, 966 y 968 estan interconectados usando diversos buses y diversos de los componentes pueden montarse sobre una placa base comun o de otras maneras segun sea apropiado.
El procesador 952 puede ejecutar instrucciones dentro del dispositivo 950 por ordenador, que incluyen instrucciones que se almacenan en la memoria 964. El procesador puede implementarse como un conjunto de chips que incluyen procesadores analogos y digitales separados y multiples. El procesador puede proporcionar, por ejemplo, la coordinacion de los otros componentes del dispositivo 950, tales como el control de las interfaces de usuario, las
5
10
15
20
25
30
35
40
45
50
55
60
65
aplicaciones ejecutadas por el dispositivo 950 y la comunicacion inalambrica por el dispositivo 950.
El procesador 952 puede comunicarse con un usuario a traves de la interfaz 958 de control y la interfaz 956 de visualizacion acoplada a una pantalla 954. La pantalla 954 puede ser, por ejemplo, un TFT LCD (pantalla de cristal lfquido de transistor de pelfcula delgada) o un OLED (diodo emisor de luz organica) u otra tecnologfa de visualizacion apropiada. La interfaz 956 de visualizacion puede comprender circuitos apropiados para conducir la pantalla 954 para presentar informacion grafica y de otro tipo a un usuario. La interfaz 958 de control puede recibir ordenes de un usuario y convertirlas para su presentacion al procesador 952. Ademas, puede proporcionarse una interfaz 962 externa en comunicacion con el procesador 952, para permitir la comunicacion cercana al area del dispositivo 950 con otros dispositivos. La interfaz 962 externa puede proporcionar, por ejemplo, comunicacion cableada en algunas implementaciones, o para comunicacion inalambrica en otras implementaciones, y tambien se pueden usar multiples interfaces.
La memoria 964 almacena informacion dentro del dispositivo 950 de ordenador. La memoria 964 puede implementarse como uno o mas de un medio legible por ordenador, una unidad o unidades de memoria volatil o una unidad o unidades de memoria no volatil. La memoria 984 de expansion tambien puede proporcionarse y conectarse al dispositivo 950 a traves de la interfaz 982 de expansion, que puede incluir, por ejemplo, una interfaz de tarjeta SIMM (modulo de memoria individual en lmea). Dicha memoria 984 de expansion puede proporcionar espacio de almacenamiento adicional para el dispositivo 950 o tambien puede almacenar aplicaciones u otra informacion para el dispositivo 950. Espedficamente, la memoria 984 de expansion puede incluir instrucciones para llevar a cabo o complementar los procesos que se describen anteriormente y puede incluir tambien informacion segura. Asf, por ejemplo, la memoria 984 de expansion puede actuar como un modulo de seguridad para el dispositivo 950 y puede programarse con instrucciones que permitan el uso seguro del dispositivo 950. Ademas, pueden proporcionarse aplicaciones seguras a traves de las tarjetas SIMM, junto con informacion adicional, tales como la colocacion de la informacion de identificacion en la tarjeta SIMM de una manera no se pueda piratear.
La memoria puede incluir, por ejemplo, una memoria flash y/o memoria NVRAM, como se describe a continuacion. En una implementacion, un producto de programa por ordenador se incorpora tangiblemente en un soporte de informacion. El producto del programa de ordenador contiene instrucciones que, cuando se ejecutan, realizan uno o mas metodos, como los que se describen anteriormente. El soporte de informacion es un medio legible por ordenador o por maquina, tal como la memoria 964, la memoria 984 de expansion o la memoria 952 del procesador, que puede recibirse, por ejemplo, sobre el transceptor 968 o la interfaz 962 externa.
El dispositivo 950 puede comunicarse de forma inalambrica a traves de la interfaz 966 de comunicacion, que puede incluir circuitos de procesamiento de senales digitales cuando sea necesario. La interfaz 966 de comunicacion puede proporcionar comunicaciones bajo diversos modos o protocolos, tales como llamadas de voz GSM, SMS, EMS o mensajes MMS, CDMA, TDMA, PDC, WCDMA, CDMA2000 o GPRS, entre otros. Tal comunicacion puede ocurrir, por ejemplo, a traves del transceptor 968 de radiofrecuencia. Ademas, puede producirse una comunicacion de corto alcance, tal como usar un Bluetooth, WiFi u otro transceptor de este tipo (no se muestra). Ademas, el modulo 980 receptor de GPS (sistema de posicionamiento global) puede proporcionar datos inalambricos que se relacionan con la navegacion y la localizacion adicionales al dispositivo 950, que pueden utilizarse segun corresponda por aplicaciones que funcionan en el dispositivo 950.
El dispositivo 950 tambien puede comunicarse audiblemente usando el codec 960 de audio, que puede recibir informacion hablada de un usuario y convertirla en informacion digital que se puede utilizar. El codec 960 de audio tambien puede generar un sonido audible para un usuario, por ejemplo, a traves de un altavoz, por ejemplo, en un auricular del dispositivo 950. Este sonido puede incluir sonido a partir de llamadas telefonicas de voz, puede incluir sonido grabado (por ejemplo mensajes de voz, etc.) y tambien puede incluir el sonido que se genera por las aplicaciones que funcionan en el dispositivo 950.
El dispositivo 950 de ordenador puede implementarse en una serie de diferentes formas, como se muestra en la figura. Por ejemplo, puede implementarse como un telefono 980 movil. Tambien puede implementarse como parte de un telefono 982 inteligente, asistente digital personal u otro dispositivo movil similar.
Se pueden realizar diversas implementaciones de los sistemas y tecnicas que se describen en circuitos electronicos digitales, circuitos integrados, ASIC especialmente disenados (circuitos integrados espedficos de la aplicacion), hardware de ordenador, firmware, software y/o combinaciones de los mismos. Estas diversas implementaciones pueden incluir la implementacion en uno o mas programas de ordenador que se pueden ejecutar y/o interpretar en un sistema programable que incluye al menos un procesador programable, que puede ser especial o de uso general, acoplado para recibir datos e instrucciones a partir de, y para transmitir datos e instrucciones para, un sistema de almacenamiento, al menos un dispositivo de entrada, y al menos un dispositivo de salida.
Estos programas de ordenador (tambien conocidos como programas, software, aplicaciones de software o codigo) incluyen instrucciones de maquina para un procesador programable, y pueden implementarse en un lenguaje de programacion de alto nivel procedimental y/u orientado a objetos, y/o en el lenguaje de montaje/maquina. Tal como se usa en el presente documento, los terminos "medio legible por maquina" "medio legible por ordenador" se
5
10
15
20
25
30
35
40
relacionan con cualquier producto, aparato y/o dispositivo de programa por ordenador (por ejemplo, discos magneticos, discos opticos, memoria, dispositivos logicos programables (PLDs)) que se utilizan para proporcionar instrucciones de maquina y/o datos a un procesador programable, que incluyen un medio legible por maquina que recibe instrucciones de maquina como una senal legible por maquina. El termino "senal legible por maquina" se relaciona con cualquier senal que se usa para proporcionar instrucciones de maquina y/o datos a un procesador programable.
Para proporcionar la interaccion con un usuario, los sistemas y tecnicas que se describen aqrn pueden implementarse en un ordenador que tiene un dispositivo de visualizacion (por ejemplo, un tubo CRT (tubo de rayos catodicos) o un monitor LCD (pantalla de cristal lfquido)) para mostrar informacion al usuario y un teclado y un dispositivo senalador (por ejemplo, un raton o una bola de seguimiento) mediante el cual el usuario puede proporcionar informacion al ordenador. Se pueden utilizar otros tipos de dispositivos para tambien proporcionar la interaccion con un usuario; por ejemplo, la retroalimentacion que se proporciona al usuario puede ser cualquier forma de retroalimentacion sensorial (por ejemplo, retroalimentacion visual, retroalimentacion auditiva o realimentacion tactil); y la entrada del usuario se puede recibir en cualquier forma, que incluye la entrada acustica, de dictado, o tactil.
Los sistemas y tecnicas que se describen aqrn se pueden implementar en un dispositivo de ordenador que incluye un componente de extremo posterior (por ejemplo, como un servidor de datos) o que incluye un componente intermedio (por ejemplo, un servidor de aplicaciones) o que incluye un componente de extremo frontal (por ejemplo, un ordenador cliente que tiene una interfaz grafica de usuario o un navegador de red a traves del cual un usuario puede interactuar con una implementacion de los sistemas y tecnicas que se describen aqrn), o la 2015P01125EP
cualquier combinacion de tales componentes de extremo posterior, del medio o de extremo frontal. Los componentes del sistema pueden estar interconectados por cualquier forma o medio de comunicacion de datos digitales (por ejemplo, una red de comunicacion). Ejemplos de redes de comunicacion incluyen una red de area local ("LAN"), una red de area amplia ("WAN") e internet.
El dispositivo por ordenador puede incluir clientes y servidores. Un cliente y un servidor estan en general alejados entre sf y normalmente interactuan a traves de una red de comunicacion. La relacion de cliente y servidor surge en virtud de programas de ordenador que se ejecutan en los ordenadores respectivos y que tienen una relacion cliente- servidor entre sr
Se han descrito diversas realizaciones. Sin embargo, se entendera que se pueden hacer diversas modificaciones sin apartarse del alcance de la invencion.
Ademas, los flujos logicos que se representan en las figuras no requieren el orden particular que se muestra, u orden secuencial, para conseguir resultados deseables. Ademas, se pueden proporcionar otras etapas, o se pueden eliminar etapas de los flujos descritos, y se pueden anadir otros componentes o eliminarlos de los sistemas descritos. Por consiguiente, otras realizaciones estan dentro del alcance de las siguientes reivindicaciones.

Claims (15)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Un sistema (100) por ordenador para enrutamiento de mensajes, que comprende:
    al menos un modulo (110) controlador configurado para mantener una grafica (300), definiendo la grafica (300) relaciones de comunicacion entre una diversidad (120) de modulos (130, 140, 150, 160) de comunicacion de mensajes, definiendo las relaciones de comunicacion que definen que ocurra una verificacion de la precondicion para que cada mensaje que se intercambie entre cualquiera de los modulos del sistema en donde una precondicion particular, incluya al menos una regla o evento estatico en relacion a los mensajes que tienen un tipo de mensaje dado y
    que transportan los datos procedentes a partir de cada fuente de datos externa dada, cada relacion de comunicacion define un tipo particular de mensajes para un par particular de modulos fuera de la diversidad (120), el al menos un modulo controlador esta configurado ademas para actualizar los modulos de comunicacion del mensaje con informacion que es relevante para cada modulo de comunicacion de mensaje particular para realizar las verificaciones de condicion previa para los mensajes respectivos;
    la diversidad (120) de modulos de comunicacion de mensajes (130, 140, 150, 160) comprende: un primer modulo (130, 330, 140, 340, 150, 350, 160, 360) configurado:
    para recibir un mensaje en el que el mensaje (301) recibido tiene un tipo de mensaje y esta asociado con al menos una precondicion (370), y, tras la verificacion de una condicion de aceptacion de al menos una precondicion de acuerdo con la grafica (300), configurada adicionalmente para aceptar el mensaje recibido si se cumple la condicion de aceptacion; y
    tras la verificacion de una condicion de generacion de al menos una precondicion (370) de acuerdo con la grafica (300), para generar un mensaje (302) generado, dirigida a al menos un segundo modulo (140, 340, 150, 350, 160, 360) de la diversidad(120) de modulos de comunicacion de mensajes de acuerdo con la grafica (300) o dirigido a un consumidor (220, 320) de datos externo relacionado, si se cumple la condicion de generacion;
    en donde, al recibir el mensaje (302) generado, el al menos segundo modulo (140, 340, 150, 350, 160, 360) es tratado como el primer modulo y al menos un modulo adicional es tratado como el original al menos segundo modulo de acuerdo con la grafica (300) para repetir iterativamente los pasos anteriores para comunicacion del mensaje adicional.
  2. 2. El sistema de ordenador de acuerdo con la reivindicacion 1, en donde los pares de modulos que tienen una relacion de comunicacion se seleccionan a partir de: el primer modulo que es un modulo (130, 330) de interfaz de entrada y el segundo modulo que es un modulo (140, 340) de procesamiento de eventos complejos, un modulo (150, 350) de persistencia, o un modulo de analisis; el segundo modulo es un modulo (160, 360) de interfaz saliente y el primer modulo es un modulo (140, 340) de procesamiento de eventos complejos, un modulo (150, 350) de persistencia o un modulo de analisis; el primer modulo es un modulo (140, 340) de procesamiento de eventos complejos o un modulo de analisis y el segundo modulo es un modulo (140, 340) de procesamiento de eventos complejos o un modulo de analisis.
  3. 3. El sistema de ordenador de la reivindicacion 1 o 2, en el donde al menos un modulo (130) de comunicacion de mensajes esta configurado para recibir un mensaje a partir de una fuente (210) de datos externa, al menos un modulo (140) de comunicacion de mensajes esta configurado para procesar el mensaje recibido utilizando un procesamiento de eventos complejos, al menos un modulo (150) de comunicacion de mensajes esta configurado para persistir el mensaje recibido, y al menos un modulo (160) de comunicacion de mensajes esta configurado para reenviar el mensaje generado al consumidor de datos externo.
  4. 4. El sistema de ordenador de una cualquiera de las reivindicaciones anteriores, en donde al menos un modulo (110) controlador esta configurado ademas:
    para registrar una o mas consultas con al menos uno de los modulos de comunicacion de mensajes para detectar un evento particular que se asocia con una condicion previa particular, la precondicion particular esta asociada con un par particular de modulos de comunicacion,
    para recibir una notificacion de al menos uno de los modulos de comunicacion de mensaje cuando se detecta el suceso particular, y
    para activar una relacion de comunicacion particular entre el par particular de modulos de comunicacion de mensajes cuando se cumple la precondicion particular.
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
  5. 5. El sistema por ordenador de la reivindicacion 4, en donde al menos un modulo (110) controlador esta configurado ademas:
    para desactivar la relacion de comunicacion particular entre el par particular de modulos de comunicacion de mensajes cuando la precondicion particular deja de cumplirse.
  6. 6. El sistema por ordenador de una cualquiera de las reivindicaciones anteriores, en donde el primer modulo y el segundo modulo son el mismo modulo de comunicacion.
  7. 7. El sistema por ordenador de una cualquiera de las reivindicaciones anteriores, en donde al menos un modulo (110) controlador esta configurado ademas:
    para recibir un identificador de modulo a partir de un modulo de comunicacion (CEP2) que se inicia por primera vez;
    para crear una representacion (641) de modulo para el modulo (CEP2) de comunicacion que se inicia por primera vez en la grafica (300, 600) de relaciones de comunicacion;
    para enviar los datos de configuracion del modulo controlador al modulo de comunicacion que se inicia por primera vez (CEP2);
    para generar relaciones de comunicacion por el modulo de comunicacion que se inicia por primera vez (CEP2) de acuerdo con las mediciones de carga predefinidas; y
    para conmutar las relaciones de comunicacion en la grafica a partir de un modulo de comunicacion previamente existente al modulo de comunicacion que se inicia por primera vez para equilibrar la carga con base en las mediciones de carga en caso de un evento de reescalamiento.
  8. 8. El sistema por ordenador de la reivindicacion 7, en donde las mediciones de carga predefinidas se seleccionan de uno cualquiera del grupo de: numero de relaciones de comunicacion de uno o mas modulos de comunicacion del mismo tipo, frecuencia de mensajes enviados o recibidos, recursos ffsicos de un modulo de comunicacion, tiempo de respuesta de un modulo de comunicacion, latencia entre diferentes modulos de comunicacion, falla de un modulo.
  9. 9. El sistema por ordenador de la reivindicacion 7 o 8, en donde la configuracion para conmutar las relaciones de comunicacion comprende:
    clonar las relaciones de comunicacion de interfaz saliente del modulo de comunicacion previamente existente para el modulo de comunicacion que se inicia por primera vez;
    conmutar las relaciones de comunicacion de interfaz entrante afectadas a partir del modulo de comunicacion previamente existente para el modulo de comunicacion que se inicia por primera vez; y
    eliminar las relaciones de comunicacion de interfaz salientes afectadas del modulo de comunicacion existente anteriormente.
  10. 10. Un metodo (1000) implementado por ordenador para el enrutamiento de mensajes en un sistema por ordenador con una diversidad (120) de modulos de comunicacion de mensajes que se relacionan a continuacion como modulos, que comprende:
    mantener (1050), por un modulo (110) controlador, una grafica (300) que define relaciones de comunicacion entre la diversidad (120) de modulos, que definen las relaciones de comunicacion que ocurra una verificacion de una precondicion para cada mensaje que se va a intercambiar entre uno cualquiera de los modulos del sistema en el que una precondicion particular incluye al menos una regla o evento estatico con relacion en los mensajes que tienen un tipo de mensaje dado y que transportan datos procedentes de una fuente de datos externa dada,
    cada relacion de comunicacion define un tipo de mensaje particular para un par particular de modulos;
    actualizar, mediante el modulo (110) controlador, la diversidad de modulos de comunicacion de mensajes con informacion que es relevante para cada modulo de comunicacion de mensajes particular para realizar las verificaciones de condiciones previas para mensajes respectivos;
    recibir (1100), mediante un primer modulo (130, 140, 150, 160), un mensaje en el que el mensaje (301) recibido tiene un tipo de mensaje y esta asociado con al menos una precondicion (370);
    verificar (1200), de acuerdo con la grafica (300), si la al menos una precondicion (370) incluye una condicion de aceptacion que se cumple;
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    si no se cumple la condicion de aceptacion, ignorar (1250) el mensaje (301) recibido;
    si se cumple la condicion de aceptacion, comprobar (1300), de acuerdo con la grafica (300), si la al menos una precondicion (370) incluye una condicion de generacion que se cumple;
    si no se cumple la condicion de generacion, ignorar (1350), por el primer modulo, el mensaje aceptado;
    si se cumple la condicion de generacion, generar (1400), por el primer modulo, un mensaje (302) generado, que se dirige a al menos a un segundo modulo (340, 350, 360) de la diversidad (120) de modulos de comunicacion de mensajes de acuerdo con la grafica (300) o que se dirige a un consumidor (220, 320) de datos externo relacionado; y
    repetir (1500) iterativamente los pasos precedentes comenzando con la etapa (1100) de recepcion para otros modulos en que para cada iteracion el al menos un segundo modulo se trata como el primer modulo y al menos otro modulo se trata como el al menos segundo modulo de acuerdo con la grafica (300) hasta que se alcanza un ultimo modulo (360) del sistema de ordenador en el que el ultimo modulo tiene una relacion de comunicacion con el consumidor (320) de datos externo.
  11. 11. El metodo de la reivindicacion 11, en el que los pares de modulos que tienen una relacion de comunicacion se seleccionan a partir de:
    el primer modulo es un modulo (130, 330) de interfaz entrante y el segundo modulo que es un modulo (140, 340) de procesamiento de eventos complejos, un modulo (150, 350) de persistencia o un modulo de analisis; el segundo modulo es un modulo (160, 360) de interfaz saliente y el primer modulo es un modulo (140, 340) de procesamiento de eventos complejos, un modulo (150, 350) de persistencia o un modulo analftico; el primer modulo es un modulo (140, 340) de procesamiento de eventos complejos o un modulo analftico y el segundo modulo es un modulo (140, 340) de procesamiento de eventos complejos o un modulo analftico.
  12. 12. El metodo de la reivindicacion 10 o 11, en donde al menos un modulo (130) esta configurado para recibir un mensaje a partir de una fuente (210) de datos externa, al menos un modulo (140) de comunicacion esta configurado para procesar el mensaje recibido utilizando el procesamiento de eventos complejos, al menos un modulo (150) esta configurado para persistir el mensaje recibido, y al menos un modulo (160) esta configurado para reenviar el mensaje generado al consumidor de datos externo.
  13. 13. El metodo de cualquiera de las reivindicaciones 10 a 12, que comprende ademas las siguientes etapas que se ejecutan por el modulo controlador:
    registrar (2) una o mas consultas con al menos uno de los modulos para detectar un suceso particular asociado a una precondicion particular, estando asociada la precondicion particular a un par particular de modulos;
    recibir (5) una notificacion de al menos uno de los modulos cuando se detecta el suceso particular; y
    activar una relacion de comunicacion particular entre el par particular de modulos cuando se cumple la precondicion particular.
  14. 14. El metodo de una cualquiera de las reivindicaciones 10 a 13, que comprende ademas las siguientes etapas ejecutadas por el modulo controlador:
    recibir (2200) un identificador de modulo a partir de un modulo (CEP2) que se inicia por primera vez;
    crear (2300) una representacion de modulo (641) para el modulo (CEP2) que se inicia por primera vez en la grafica (300, 600) de relaciones de comunicacion;
    enviar (2400) datos de configuracion del modulo de controlador para el modulo que se inicia por primera vez (CEP2);
    generar (2500) relaciones de comunicacion para el modulo que se inicia por primera vez (CEP2) de acuerdo con mediciones de carga predefinidas; y
    conmutar (2600) las relaciones de comunicacion en la grafica a partir de un modulo previamente existente al modulo que se inicia por primera vez para equilibrar la carga con base en las mediciones de carga en caso de un evento de reescalamiento.
  15. 15. Un producto de programa por ordenador que cuando se carga en una memoria de un dispositivo de ordenador y se ejecuta por al menos un procesador del dispositivo de ordenador, ejecuta los pasos del metodo implementado por ordenador de acuerdo con una cualquiera de las reivindicaciones 10 a 14.
ES15164156.0T 2015-04-18 2015-04-18 Sistema y método para enrutamiento de mensaje Active ES2624498T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP15164156.0A EP3082315B1 (en) 2015-04-18 2015-04-18 Computer system and method for message routing

Publications (1)

Publication Number Publication Date
ES2624498T3 true ES2624498T3 (es) 2017-07-14

Family

ID=52997901

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15164156.0T Active ES2624498T3 (es) 2015-04-18 2015-04-18 Sistema y método para enrutamiento de mensaje

Country Status (4)

Country Link
US (2) US10270647B2 (es)
EP (1) EP3082315B1 (es)
AU (1) AU2016202197B2 (es)
ES (1) ES2624498T3 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11831682B2 (en) * 2015-10-28 2023-11-28 Qomplx Llc Highly scalable distributed connection interface for data capture from multiple network service and cloud-based sources
KR20210030106A (ko) * 2019-09-09 2021-03-17 엘지전자 주식회사 서버

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE320634T1 (de) * 1996-07-22 2006-04-15 Cyva Res Corp Werkzeug zur sicherheit und zum austauch von persönlichen daten
US20120284790A1 (en) * 2006-09-11 2012-11-08 Decision-Zone Inc. Live service anomaly detection system for providing cyber protection for the electric grid
US7890589B2 (en) 2007-01-04 2011-02-15 Research In Motion Limited System and method for providing information on a received communication for an electronic communication device
US10096038B2 (en) * 2007-05-10 2018-10-09 Allstate Insurance Company Road segment safety rating system
US11159909B2 (en) * 2008-02-05 2021-10-26 Victor Thomas Anderson Wireless location establishing device
US8484352B2 (en) 2009-03-30 2013-07-09 Rave Wireless, Inc. Emergency information services
US7979578B2 (en) * 2009-09-02 2011-07-12 International Business Machines Corporation Dynamic and evolutionary placement in an event-driven component-oriented network data processing system
US10027711B2 (en) * 2009-11-20 2018-07-17 Alert Enterprise, Inc. Situational intelligence
US8489722B2 (en) * 2009-11-24 2013-07-16 International Business Machines Corporation System and method for providing quality of service in wide area messaging fabric
GB2479908B (en) 2010-04-28 2013-07-10 Toshiba Res Europ Ltd Apparatus and method for privacy-driven moderation of metering data
US8924033B2 (en) * 2010-05-12 2014-12-30 Alstom Grid Inc. Generalized grid security framework
US8918430B2 (en) * 2010-08-27 2014-12-23 SCR Technologies, Inc. Sequential chain registry for event awareness
US9871769B2 (en) * 2010-08-31 2018-01-16 Orange Relationship management system and method of operation thereof
CN103339611B (zh) * 2010-10-04 2017-02-15 阿沃森特亨茨维尔有限责任公司 具有mss功能的远程访问装置
US9112710B2 (en) * 2010-10-05 2015-08-18 Cisco Technology, Inc. System and method for providing smart grid communications and management
US20120089494A1 (en) * 2010-10-08 2012-04-12 Microsoft Corporation Privacy-Preserving Metering
US9953099B2 (en) * 2010-12-17 2018-04-24 Dst Health Solutions, Llc Repackageable virtualized transparent access to heterogeneous data sources
EP2705333A1 (en) 2011-05-05 2014-03-12 Nokia Solutions and Networks Oy Method, apparatus, and system for providing metering information
KR101411266B1 (ko) * 2011-09-27 2014-06-25 주식회사 엘지씨엔에스 계층 구조를 이용한 이벤트 처리 방법 및 그를 이용한 이벤트 처리 엔진 및 그 시스템
US8712628B1 (en) * 2011-09-29 2014-04-29 Paul Hart Vehicle and communication monitoring
US20130191185A1 (en) * 2012-01-24 2013-07-25 Brian R. Galvin System and method for conducting real-time and historical analysis of complex customer care processes
US20130274955A1 (en) * 2012-04-13 2013-10-17 Walter Steven Rosenbaum Method for analyzing operation characteristics of a vehicle driver
US8983669B2 (en) * 2012-07-31 2015-03-17 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
WO2014043348A2 (en) 2012-09-12 2014-03-20 White Brandon Christian Systems and methods for dynamic analysis, sorting and active display of semantic-driven reports of communication repositories
US9934368B2 (en) * 2012-10-02 2018-04-03 Banjo, Inc. User-generated content permissions status analysis system and method
US20160034712A1 (en) * 2012-10-02 2016-02-04 Banjo, Inc. System and method for event-related content discovery, curation, and presentation
EP2909805A4 (en) * 2012-10-22 2016-06-08 Jean-Louis Fiorucci APPARATUS AND METHODS FOR PROVIDING URBAN SERVICES
EP2736002A1 (en) 2012-11-22 2014-05-28 Baden-Württemberg Stiftung gGmbH Method, system and computer program product for enforcing access to event attributes of event streams in a complex event processing system
CN105075225B (zh) * 2012-12-24 2019-04-02 瑞典爱立信有限公司 使能对本地服务器上的多个服务的外部接入
US20140189888A1 (en) * 2012-12-29 2014-07-03 Cloudcar, Inc. Secure data container for an ambient intelligent environment
US9900171B2 (en) * 2013-02-25 2018-02-20 Qualcomm Incorporated Methods to discover, configure, and leverage relationships in internet of things (IoT) networks
US9900172B2 (en) * 2013-04-25 2018-02-20 Qualcomm Incorporated Coordinated resource sharing in machine-to-machine communication using a network-based group management and floor control mechanism
JP2016534437A (ja) * 2013-07-25 2016-11-04 コンヴィーダ ワイヤレス, エルエルシー サービス層デバイス場所管理およびプライバシー制御
US9774982B2 (en) * 2013-10-30 2017-09-26 AT&T Intellectual Propetry I, L.P. Long term evolution machine to machine privacy protection
US9087215B2 (en) * 2013-11-01 2015-07-21 Anonos Inc. Dynamic de-identification and anonymity
EP3105888B1 (en) * 2014-02-14 2020-05-06 Intertrust Technologies Corporation Network security systems and methods
WO2015134311A1 (en) * 2014-03-03 2015-09-11 Inrix Inc Traffic obstruction detection
US9460308B2 (en) * 2014-05-09 2016-10-04 Facebook, Inc. Multi-level privacy evaluation
US9774577B2 (en) * 2014-06-24 2017-09-26 Tata Consultancy Services Limited Device, system and method providing data security and attribute based data access in participatory sensing
US20160050101A1 (en) * 2014-08-18 2016-02-18 Microsoft Corporation Real-Time Network Monitoring and Alerting
US10216902B2 (en) * 2014-08-31 2019-02-26 General Electric Company Methods and systems for improving connections within a healthcare ecosystem
WO2016054605A2 (en) * 2014-10-02 2016-04-07 Reylabs Inc. Systems and methods involving diagnostic monitoring, aggregation, classification, analysis and visual insights
US10068256B2 (en) * 2014-10-08 2018-09-04 Microsoft Technology Licensing, Llc User directed information collections
US20170317984A1 (en) * 2014-10-10 2017-11-02 Pcms Holdings, Inc. Systems and methods for protecting user privacy in networked data collection
US20160148507A1 (en) * 2014-11-20 2016-05-26 Blyncsy, Inc. Traffic system for monitoring, analyzing, and modulating traffic patterns
US10672075B1 (en) * 2014-12-19 2020-06-02 Data Boiler Technologies LLC Efficient use of computing resources through transformation and comparison of trade data to musical piece representation and metrical tree
US10083291B2 (en) * 2015-02-25 2018-09-25 Verisign, Inc. Automating internet of things security provisioning
US9892260B2 (en) * 2015-04-20 2018-02-13 SafeBreach Ltd. System and method for creating and executing breach scenarios utilizing virtualized elements
US10489599B2 (en) * 2015-07-02 2019-11-26 Oracle International Corporation Data encryption service and customized encryption management
US10140642B2 (en) * 2015-07-27 2018-11-27 Data Capable, Inc. Automated customer engagement and issue location, prediction, and response through utilization of public and private data sources

Also Published As

Publication number Publication date
AU2016202197B2 (en) 2018-04-05
EP3082315B1 (en) 2017-02-15
US20190199584A1 (en) 2019-06-27
EP3082315A1 (en) 2016-10-19
AU2016202197A1 (en) 2016-11-03
US10270647B2 (en) 2019-04-23
US20160308714A1 (en) 2016-10-20
US11108625B2 (en) 2021-08-31

Similar Documents

Publication Publication Date Title
US10231079B2 (en) Geo-fence management using a cluster analysis technique
US10002533B2 (en) System, method and recording medium for emergency vehicle route guidance
ES2964568T3 (es) Método y aparato para el análisis de redes
CN105408913B (zh) 在云中隐私地处理数据
CN105052078B (zh) 扩展来自外部服务的路由规则
US11445043B2 (en) Ephemeral and private beacon network
ES2925190T3 (es) Esquema de cifrado de multidifusión para plataforma de propiedad de datos
US10484282B2 (en) Interconnecting multiple separate openflow domains
US10645024B2 (en) Peer negotiation of area service preferences
ES2624498T3 (es) Sistema y método para enrutamiento de mensaje
US20230007098A1 (en) Ephemeral and private beacon network
US9036506B2 (en) Trill shortest path first implementation
JP2022145898A (ja) ネットワークシステム、デバイスおよび処理方法
WO2023057190A1 (en) Approximating population density based on device movements
US20170215211A1 (en) Dynamic generation of geographically bound manet ids
US20240305475A1 (en) Network system, device, and processing method
US11288396B2 (en) Data security through physical separation of data
US20220189642A1 (en) Social distancing optimization
BAKHEDER University ID: 43480335
TW201702906A (zh) 基於環境適應性地提供時間相關資料的方法與電子裝置