ES2826565T3 - Sistema de comunicación de igual a igual y aparato de procesamiento de igual a igual - Google Patents
Sistema de comunicación de igual a igual y aparato de procesamiento de igual a igual Download PDFInfo
- Publication number
- ES2826565T3 ES2826565T3 ES16750170T ES16750170T ES2826565T3 ES 2826565 T3 ES2826565 T3 ES 2826565T3 ES 16750170 T ES16750170 T ES 16750170T ES 16750170 T ES16750170 T ES 16750170T ES 2826565 T3 ES2826565 T3 ES 2826565T3
- Authority
- ES
- Spain
- Prior art keywords
- peer
- application
- processing apparatus
- distributed
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
Abstract
Sistema de comunicación (100, 300, 500), en particular, sistema de comunicación (100, 300, 500) de igual a igual, que comprende: - como mínimo, una red (102, 302, 502) de igual a igual con una pluralidad de nodos (106.1, 106.2, 106.3, 306) que comprende, como mínimo, una aplicación (104, 304, 404) de igual a igual, - como mínimo, un aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual que puede ser conectado a los nodos (106.1, 106.2, 106.3, 306) y que comprende, como mínimo, un módulo de procesador (110, 210, 310) configurado para procesar, como mínimo, una parte de una primera tarea durante un primer fragmento de tiempo (222.1, 322.2) y, como mínimo, una parte de, como mínimo, una tarea adicional durante, como mínimo, un fragmento de tiempo adicional (222.2, 222.3, 222.4, 322.2, 322.3 , 322,4), - como mínimo, un módulo (130, 230, 330) de igual a igual asignado al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual y configurado para comunicarse con la aplicación (104, 304, 404) de igual a igual, - en el que, como mínimo, una de la primera tarea y la tarea adicional es una aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual proporcionada al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual mediante la aplicación (104, 304, 404) de igual a igual, - en el que la aplicación (104, 304, 404) de igual a igual comprende, como mínimo, un medio de control (124, 324, 424) configurado para controlar la implementación de una parte de la aplicación distribuida (112.1, 112.2 , 212.1, 212.2) de igual a igual en el aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual provocando la transmisión de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual al módulo (130, 230, 330) de igual a igual asignado al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual, y - en el que la transmisión de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual incluye la transmisión de uno o varios mensajes que comprenden, como mínimo, partes de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual y/o la provisión de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual por la aplicación (104, 304, 404) de igual a igual, de tal modo que el aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual puede descargar la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual mediante su módulo (130, 230, 330) de igual a igual.
Description
DESCRIPCIÓN
Sistema de comunicación de igual a igual y aparato de procesamiento de igual a igual
La invención se refiere a un sistema de comunicación, en particular, un sistema de comunicación de igual a igual. Además, la invención se refiere a un método para operar un sistema de comunicación, a un aparato de procesamiento de igual a igual y a una aplicación de igual a igual.
Una red de comunicación, tal como Internet o una intranet, puede comprender varios aparatos de procesamiento, tal como ordenadores, que comprenden uno o varios módulos de procesador configurados para realizar/procesar una tarea o tareas. Algunos de los aparatos de procesamiento tienen una alta potencia de procesamiento, para procesar una tarea que requiere una alta potencia de procesamiento en un período de tiempo corto. La tarea puede ser una aplicación (software) específica. Sin embargo, algunos aparatos de procesamiento comprenden simplemente una pequeña potencia de procesamiento. Estos aparatos de procesamiento solo son capaces de realizar tareas dentro de períodos de temporizador, significativamente más largos.
Se ha descubierto que algunos de los potentes aparatos de procesamiento no se utilizan completamente. La razón puede ser que la alta potencia de procesamiento solo se necesita temporalmente, lo que da como resultado períodos de tiempo no utilizados. Otra razón puede ser que el aparato de procesamiento haya sido configurado para realizar una tarea específica. Es posible que esta tarea ya esté cumplida o que el procesamiento de la tarea ya no valga la pena. Por tanto, los sistemas de comunicación actuales comprenden desequilibrios entre aparatos de procesamiento potentes y no completamente utilizados y aparatos de procesamiento (por ejemplo, con poca potencia de procesamiento) que se utilizan completamente.
De hecho, puede ser posible implementar una nueva tarea en forma de una nueva aplicación en un aparato de procesamiento, tal como un servidor, que no se utiliza completamente. Por ejemplo, un cliente puede solicitar la realización de una tarea específica a través del servidor (por ejemplo, uno o varios ordenadores). Sin embargo, debido a la estructura de los sistemas de comunicación de la técnica anterior en forma de estructuras de servidor y cliente, no existe posibilidad de utilizar los recursos disponibles, en general, de una manera eficiente y segura. En particular, la gestión y el control de la provisión, instalación y operación de una tarea en forma de aplicación es compleja y requiere normalmente interacciones manuales.
Un inconveniente adicional de las estructuras de servidor y cliente de este tipo, particularmente el servidor (o plataforma), además de los altos costes de transacción, es que la instancia central o el servidor central gestiona datos confidenciales, tales como datos de usuario, que incluyen, por ejemplo, acceder a los datos de una aplicación, datos de la aplicación, resultados de procesamiento o similares. Un problema persistente que afecta a la instancia central es el de proteger los datos confidenciales almacenados en uno o varios servidores del acceso de terceros no autorizados. En particular, se requiere un alto grado de gasto en seguridad para evitar que dichos datos sean manipulados. Esto, a su vez, conduce a mayores costes de transacción. Un inconveniente adicional es la compleja y costosa infraestructura para proporcionar la estructura de servidor y cliente descrita. Además, no es posible utilizar de una manera simple los recursos disponibles (tiempo de procesamiento gratuito de uno o varios aparatos de procesamiento) por parte de otras entidades.
Por tanto, es un objeto de la presente invención proporcionar un sistema de comunicación que permita utilizar los recursos (de procesamiento) disponibles de manera más eficiente y, al mismo tiempo, con alta seguridad.
El alcance de la invención está definido por las reivindicaciones independientes 1, 14 y 15. Otros aspectos ventajosos se exponen en las reivindicaciones dependientes.
Veena Pureswaran: “Empowering the edge Practical insights on a descentralized Internet of Things”, de 1 de abril de 2015 (01-04-2015), XP055355927, se refiere a la habilitación de soluciones de IoT por medio de mensajería de igual a igual y de la utilización compartida de archivos distribuidos.
Ben Dickson: “Decentralizing IoT networks through blockchain”, de 28 de junio de 2016 (28-06-2016), XP055355496, analiza la aplicación de Blockchain en redes de IoT.
El objeto de la presente invención se resuelve, de acuerdo con un primer aspecto de la presente invención, mediante un sistema de comunicación, en particular, un sistema de comunicación de igual a igual, de acuerdo con la reivindicación 1. El sistema de comunicación comprende, como mínimo, una red de igual a igual que comprende, como mínimo, una aplicación de igual a igual. El sistema de comunicación comprende, como mínimo, un aparato de procesamiento de igual a igual que comprende, como mínimo, un módulo de procesador configurado para procesar, como mínimo, una parte de una primera tarea durante un primer fragmento de tiempo y, como mínimo, una parte, como mínimo, de una tarea adicional durante, como mínimo, un fragmento de tiempo adicional. El sistema de comunicación comprende, como mínimo, un módulo de igual a igual asignado al aparato de procesamiento de igual a igual y configurado para comunicarse con la aplicación de igual a igual, donde, como mínimo, una de la primera tarea y la tarea adicional es una aplicación distribuida de igual a igual proporcionada al aparato de procesamiento de igual a igual por medio de la aplicación de igual a igual.
A diferencia de los sistemas de comunicación de la técnica anterior, los recursos (de procesamiento) disponibles de un sistema o red de comunicación se pueden utilizar de una manera más eficiente proporcionando, como mínimo, una parte de una aplicación distribuida de igual a igual a un aparato de procesamiento de igual a igual (disponible) por medio de una aplicación de igual a igual de una red de igual a igual. En otras palabras, la distribución, implementación y operación de una tarea o tareas en forma de aplicaciones distribuidas de igual a igual en un sistema de comunicación puede ser gestionada y controlada sin una instancia central, sino mediante una aplicación de igual a igual de una red de igual a igual.
Por lo tanto, un módulo de igual a igual asignado al, como mínimo, un aparato de procesamiento puede ser capaz de recibir, como mínimo, una parte de la aplicación distribuida de igual a igual de la aplicación de igual a igual y de la red de igual a igual, respectivamente. Por el hecho de que en lugar de un servidor central o una plataforma, una red de igual a igual (también llamada estructura) se encarga del control, en particular, a prueba de manipulaciones, de la provisión y distribución de una tarea o tareas en el sistema de comunicación, en particular, la provisión de una o varias aplicaciones distribuidas de igual a igual, por medio de una aplicación de igual a igual, se consiguen altos estándares de seguridad, en el sentido de que todos los ordenadores (nodos iguales o simplemente nodos) en la red de igual a igual, como mínimo, una parte de los ordenadores iguales (por ejemplo, nodos de validación) en la red de igual a igual, monitoriza o monitorizan, como mínimo, la provisión correcta de dicha aplicación distribuida de igual a igual al aparato de procesamiento de igual a igual mediante la aplicación de igual a igual. El aparato de procesamiento de igual a igual es capaz de procesar una o varias de las aplicaciones distribuidas de igual a igual proporcionadas durante dos o más fragmentos de tiempo.
Además, los costes de transacción se pueden reducir significativamente. No se requiere una plataforma central, superior, servidor, nube, etc. La complejidad de gestionar y controlar un sistema de comunicación se puede reducir significativamente. Los datos del usuario y otros datos confidenciales se pueden gestionar de manera segura. Los recursos se pueden utilizar de una manera más eficiente.
El aparato de procesamiento de igual a igual puede ser un dispositivo informático. El aparato de procesamiento de igual a igual puede comprender, como mínimo, un módulo de procesador, tal como, como mínimo, un procesador central. El aparato de procesamiento de igual a igual es, en particular, capaz de procesar, como mínimo, dos tareas durante una unidad de tiempo que puede ser predefinida. Preferiblemente, la unidad de tiempo se puede dividir en dos o más fragmentos de tiempo que pueden ser procesados sucesivamente (uno tras otro) por el, como mínimo, un módulo de procesador.
El sistema de comunicación puede comprender, como mínimo, un módulo de igual a igual asignado al aparato de procesamiento de igual a igual. Preferiblemente, cada módulo de igual a igual es asignado de manera única a un aparato de procesamiento de igual a igual respectivo. Por ejemplo, cada aparato de procesamiento de igual a igual puede comprender un módulo de igual a igual. Preferiblemente, el módulo de igual a igual está integrado en el aparato de procesamiento de igual a igual.
Asimismo, es posible que se proporcione una conexión de comunicación entre el aparato de procesamiento de igual a igual y el módulo de igual a igual asignado a dicho aparato de procesamiento de igual a igual. Esto significa que el módulo de igual a igual puede comunicarse y/o actuar, como mínimo, en nombre del aparato de procesamiento de igual a igual. Por ejemplo, el módulo de igual a igual puede estar formado en parte por un dispositivo de procesamiento separado, tal como un dispositivo de comunicación móvil (por ejemplo, un teléfono móvil, un ordenador móvil, etc.), o puede ser ejecutado en un dispositivo de procesamiento estacionario remoto (por ejemplo, en un centro de datos). En el caso de un dispositivo de comunicación móvil o un dispositivo de procesamiento remoto, el, como mínimo, un aparato de procesamiento de igual a igual puede tener un canal de comunicación seguro con el dispositivo de procesamiento (o el dispositivo de comunicación móvil) del centro de datos, y el propio dispositivo de procesamiento puede tener una conexión a la red de igual a igual. En una realización, el dispositivo de procesamiento remoto puede ser una puerta de enlace a la red de igual a igual. Esto significa que el aparato de procesamiento de igual a igual se puede comunicar de manera segura a través de su módulo de igual a igual y de la puerta de enlace a la red de igual a igual.
En comparación con un sistema de comunicación de cliente y servidor en el que un servidor proporciona un servicio y un cliente utiliza el servicio, estas funciones son canceladas en la red actual de igual a igual. Cada participante (por ejemplo, un nodo) de la red de igual a igual puede utilizar un servicio y similares y ofrecer dicho servicio (tal como el procesamiento temporal de una tarea). En particular, una red de igual a igual es autodeterminada y/o autoorganizada (sin unidades de nivel superior). En el presente caso, preferiblemente, cada nodo y ordenador, respectivamente, de la red de igual a igual comprende la (misma) aplicación de igual a igual.
El módulo de igual a igual está configurado para comunicarse, por ejemplo, enviar/recibir mensajes hacia/desde la aplicación de igual a igual. El módulo de igual a igual puede ser un igual y un nodo, respectivamente, de la red de igual a igual.
Se puede asignar, como mínimo, una tarea a realizar/procesar a un aparato de procesamiento de igual a igual proporcionando, como mínimo, una parte de una aplicación distribuida de igual a igual al aparato de procesamiento de igual a igual, de tal manera que, como mínimo, un módulo de procesador puede procesar la parte de la aplicación
distribuida de igual a igual durante, como mínimo, uno de la pluralidad de fragmentos de tiempo. La aplicación distribuida de igual a igual (también denominada aplicación descentralizada de igual a igual o “DAPP”- Decentral peer-to-peer APPlication, en inglés) puede ser un módulo de software que comprende un código procesable por un módulo de procesador, de tal modo que se puede realizar una tarea específica. Ejemplos de DAPP pueden ser - una DAPP configurada para calcular (por ejemplo, utilización de CPU)
- una DAPP que utiliza sensores distribuidos para crear servicios como mapa de brillo
- una DAPP que utiliza actores distribuidos (por ejemplo, una DAPP de un primer proveedor logístico permite abrir un buzón de correo para el paquete junto a una DAPP de otro proveedor de logística).
A modo de ejemplo, una aplicación distribuida de igual a igual se puede dividir en dos o más partes que pueden ser proporcionadas a un número respectivo de aparatos de procesamiento de igual a igual (diferentes) para su procesamiento. También puede ser posible que la aplicación distribuida de igual a igual (total) sea proporcionada a un único aparato de procesamiento de igual a igual.
Cabe señalar que una o varias redes físicas de comunicación estándar (de cable y/o inalámbricas) pueden ser utilizadas para la comunicación. Se comprenderá que un aparato de procesamiento de igual a igual y su módulo de igual a igual, respectivamente, pueden estar formados como un nodo de la red de igual a igual y, por lo tanto, el aparato de procesamiento de igual a igual y su módulo de igual a igual, respectivamente, pueden formar parte de la red de igual a igual que incluye, como mínimo, una parte de la aplicación de igual a igual.
De acuerdo con una primera realización del sistema de comunicación de la presente invención, la aplicación de igual a igual puede estar configurada para generar, como mínimo, un acuerdo de transacción de aplicación distribuida, como mínimo, sobre la provisión de la parte de la aplicación de igual a igual distribuida al aparato de procesamiento de igual a igual. El acuerdo de transacción de la aplicación distribuida puede ser almacenado por la aplicación de igual a igual, por ejemplo, en la aplicación de igual a igual o en una disposición de almacenamiento controlada por la aplicación de igual a igual. En particular, los detalles técnicos sobre la provisión de, como mínimo, una parte de la, como mínimo, una aplicación distribuida de igual a igual puede estar almacenada en la aplicación de igual a igual, incluyendo por ejemplo detalles de implementación y/o funcionamiento. La aplicación de igual a igual, tal como un medio de control de la aplicación de igual a igual, se puede configurar para controlar la provisión (por ejemplo, la transmisión de paquetes de datos) de la, como mínimo una, parte, de la aplicación distribuida de igual a igual al, como mínimo, un aparato de procesamiento de igual a igual de acuerdo con los detalles técnicos almacenados. Preferiblemente, dos o más entidades (por ejemplo, una entidad de solicitud y, como mínimo, un aparato de procesamiento de igual a igual), pueden iniciar de manera autosuficiente la generación de un acuerdo de transacción de aplicación distribuida por la aplicación de igual a igual.
De acuerdo con una realización preferida, el acuerdo de transacción de aplicación distribuida generado puede comprender, como mínimo, uno de:
- un criterio de transacción de la aplicación distribuida,
- una parte de la aplicación distribuida de igual a igual o un identificador de la parte de la aplicación distribuida de igual a igual,
- un identificador asignado al, como mínimo, un aparato de procesamiento de igual a igual y/o un módulo de igual a igual asignado al aparato de procesamiento de igual a igual,
- un identificador asignado a una entidad de solicitud y/o un módulo de igual a igual asignado a la entidad de solicitud
- información de prioridad asignada a la parte de la aplicación distribuida de igual a igual
- una dirección de datos de un destinatario de posibles resultados de procesamiento del procesamiento de la parte de la aplicación distribuida de igual a igual.
- detalles de la operación de la parte de la aplicación distribuida de igual a igual que incluye, como mínimo, una condición de duración de la operación, tal como una condición de inicio de operación y/o una condición de fin de operación.
El acuerdo de transacción de aplicación distribuida generado puede comprender, como mínimo, una parte de la aplicación distribuida de igual a igual a proporcionar, y/o un identificador de la, como mínimo, una parte de la aplicación distribuida de igual a igual a proporcionar. El identificador (único) de la aplicación distribuida de igual a igual se puede utilizar para acceder, como mínimo, a una parte de la aplicación distribuida de igual a igual almacenada, por ejemplo, en una disposición de almacenamiento o la aplicación de igual a igual. Por ejemplo, el medio de control puede acceder a la disposición de almacenamiento controlada por la aplicación de igual a igual y puede seleccionar la, como mínimo una, parte de la aplicación distribuida de igual a igual que se proporcionará en base al identificador de la, como mínimo una, parte de la aplicación distribuida de igual a igual.
Una información de seguridad adicional, tal como las claves (de cifrado) necesarias para acceder a la disposición de almacenamiento, se puede almacenar en el acuerdo de transacción de la aplicación distribuida para aumentar la seguridad.
Además, se pueden almacenar identificadores, preferiblemente, de todas las entidades involucradas, tales como el, como mínimo, un (primer) aparato de procesamiento de igual a igual y/o la, como mínimo una, entidad de solicitud. El identificador respectivo puede ser un identificador único (de igual a igual) asignado a la entidad respectiva, tal como el aparato de procesamiento de igual a igual y/o la entidad de solicitud, es decir, la entidad que solicita la transferencia de una tarea a uno o varios aparatos de procesamiento de igual a igual.
Por ejemplo, un identificador puede ser un número de serie, una dirección de comunicaciones, un código único, una firma, un nombre u otro identificador de una entidad, un usuario de la entidad o similar. Mediante el almacenamiento de estos detalles, la aplicación de igual a igual puede controlar la provisión de una tarea específica a uno o varios aparatos específicos de procesamiento de igual a igual.
De manera alternativa o preferible, adicionalmente, como mínimo, un criterio de transacción de aplicación distribuida puede ser almacenado en el acuerdo de transacción de aplicación distribuida. El criterio de transacción de la aplicación distribuida puede ser un valor financiero a transferir desde una cuenta, por ejemplo, de una entidad de solicitud a una cuenta del proveedor de un aparato de procesamiento de igual a igual para proporcionar potencia de procesamiento a la entidad de solicitud con el fin de realizar una tarea específica.
El acuerdo de transacción de la aplicación distribuida puede comprender más detalles, tales como la información de prioridad asignada a la parte de la aplicación distribuida de igual a igual, los datos de dirección de un destinatario de los resultados potenciales del procesamiento de la parte de la distribución de igual a igual, detalles de la aplicación y/o la operación de la parte de la aplicación distribuida de igual a igual que incluye, como mínimo, una condición de duración de la operación, tal como una condición de inicio de operación y una condición de fin de operación. Por ejemplo, un valor de prioridad se puede definir como información de prioridad. El valor de prioridad puede ser utilizado por el aparato de procesamiento de igual a igual para asignar (dinámicamente) la longitud de tiempo al fragmento de tiempo durante el cual se procesa la aplicación distribuida de igual a igual. En particular, los medios de programación del aparato de procesamiento de igual a igual pueden ser configurados para asignar la duración de los dos o más fragmentos de tiempo a dos o más tareas dependiendo de la información de prioridad (valor) asociada con una tarea. Una tarea que tiene una prioridad más alta que otra tarea puede obtener, por ejemplo, un fragmento de tiempo con una duración más larga que la otra tarea (de acuerdo con las reglas de asignación predefinidas). Además, el procesamiento de una tarea puede dar como resultado un resultado de procesamiento (por ejemplo, uno o varios conjuntos de datos de resultados (intermedios o finales)). Mediante el almacenamiento de los datos de la dirección del destinatario previsto del resultado del procesamiento (por ejemplo, la entidad de solicitud), el, como mínimo un, resultado del procesamiento se puede enviar al destinatario deseado, preferiblemente por medio de la aplicación de igual a igual.
Además, una tarea solo puede ser asignada o transferida temporalmente a un aparato de procesamiento de igual a igual. En dicho caso, las condiciones de duración de la operación, tal como una condición de inicio de la operación (por ejemplo, la hora de inicio del proceso o del proceso de implementación u otras condiciones de inicio) y la condición de finalización de la operación (hora de finalización del proceso u hora de desinstalación deseada u otra condición final) (por ejemplo, después de la generación del resultado de procesamiento deseado) se pueden definir. Dichas condiciones pueden incluir el tiempo de implementación y el tiempo de eliminación de la aplicación distribuida de igual a igual.
De acuerdo con una realización adicional de la presente invención, la aplicación de igual a igual puede comprender, como mínimo, un medio de control configurado para controlar, como mínimo, la implementación de la parte de la aplicación distribuida de igual a igual en el aparato de procesamiento de igual a igual. El medio de control puede estar configurado, en particular, para controlar la implementación de la aplicación distribuida de igual a igual de acuerdo con el acuerdo de transacción de la aplicación distribuida generado. El medio de control también puede estar configurado para controlar procesos adicionales, por ejemplo, de acuerdo con los detalles técnicos almacenados en el acuerdo de transacción de la aplicación distribuida. Por ejemplo, la provisión (por ejemplo, transmisión) del acuerdo de transacción de la aplicación distribuida (por ejemplo, los respectivos paquetes de datos), el reenvío de los resultados del procesamiento, las condiciones de operación (duración) y similares se pueden controlar y realizar de acuerdo con el acuerdo de transacción de la aplicación distribuida generado por el medio de control.
El medio de control puede estar formado, preferiblemente, por un contrato inteligente de control que comprende un código informático que puede ser capaz de controlar, como mínimo, la provisión de la, como mínimo una, parte de la aplicación distribuida de igual a igual. El medio de control puede ser ejecutado, como mínimo, por una parte de los nodos, preferiblemente todos los nodos de la red de igual a igual. Preferiblemente, el medio de control puede estar comprendido por un acuerdo de transacción de aplicación distribuida. En otras palabras, la aplicación de igual a igual puede estar configurada para generar un acuerdo de transacción de aplicación distribuida que incluye la generación del medio de control.
Preferiblemente, el medio de control puede estar configurado para controlar la implementación de la parte de la aplicación distribuida de igual a igual en el aparato de procesamiento de igual a igual haciendo que la transmisión de la parte de la aplicación distribuida de igual a igual al módulo de igual a igual asignado al aparato de procesamiento de igual a igual. En otras palabras, el despliegue de la aplicación distribuida de igual a igual se puede controlar mediante el medio de control de la aplicación de igual a igual.
La transmisión de la parte de la aplicación distribuida de igual a igual incluye, en particular, la transmisión de uno o varios mensajes que comprenden porciones, como mínimo, de una parte de la aplicación distribuida de igual a igual al aparato de procesamiento de igual a igual, y/o la provisión de la parte de la aplicación distribuida de igual a igual por la aplicación de igual a igual, de tal manera que el aparato de procesamiento de igual a igual pueda leer (por ejemplo, descargar) los datos respectivos por su módulo de par a par. Por ejemplo, en base a un identificador y/o clave transmitidos al módulo de igual a igual, el módulo de igual a igual es capaz de acceder al paquete de datos correcto para descargar la parte correcta de la aplicación distribuida de igual a igual (en particular, de acuerdo con el acuerdo de transacción de la aplicación distribuida almacenada).
Además, de acuerdo con una realización adicional de la presente solicitud, el aparato de procesamiento de igual a igual puede comprender medios de recolección de basura configurados para eliminar la parte de la aplicación distribuida de igual a igual. En particular, los medios de recolección de basura pueden ser controlados y/o monitorizados por la aplicación de igual a igual. Por ejemplo, en base a una condición de operación final, la aplicación de igual a igual, por ejemplo, el medio de control puede iniciar la eliminación de la parte previamente proporcionada de la aplicación distribuida de igual a igual, tal como se define en el acuerdo de transacción de la aplicación distribuida generado. La aplicación de igual a igual puede monitorizar si la parte de la aplicación distribuida de igual a igual es realmente eliminada por los medios de recolección de basura. Solo a modo de ejemplo, se puede utilizar el lenguaje informático GO, que proporciona medios (automáticos) de recogida de basura. Para mejorar aún más la seguridad de manipulación, de acuerdo con una realización adicional del sistema de comunicación, como mínimo uno, del primer fragmento de tiempo y el fragmento de tiempo adicional pueden estar formarse como un fragmento de tiempo encapsulado. Encapsulado significa que la parte de la aplicación distribuida de igual a igual se almacena y procesa en un entorno seguro. Preferiblemente, como mínimo, todos los fragmentos de tiempo que comprenden aplicaciones distribuidas de igual a igual pueden estar formados como fragmentos de tiempo encapsulados. Una DAPP que se ejecuta en el entorno encapsulado (fragmento de tiempo) se comunica a través del sistema operativo del aparato de procesamiento de igual a igual a, como mínimo, una interfaz (por ejemplo, para comunicarse con un sensor o sensores, un actor o actores y/o la aplicación de igual a igual). La interfaz puede estar formada por el módulo de igual a igual. El sistema operativo puede estar configurado para permitir que la DAPP solo se comunique durante el fragmento de tiempo y el fragmento, respectivamente, en el que la DAPP está activa. Fuera del fragmento de tiempo asignado a la DAPP, la DAPP no se puede comunicar, porque el sistema operativo puede no dar a la DAPP potencia de cálculo.
Además, el aparato de procesamiento de igual a igual puede comprender, como mínimo, un sensor y/o, como mínimo, un actor. Un sensor puede ser cualquier unidad de medida configurada para medir uno o varios parámetros (físicos). Un actor puede ser una unidad que puede modificar su estado en base a un parámetro de entrada, tal como una instrucción. Por ejemplo, un actor puede provocar un movimiento mecánico. La parte de la aplicación distribuida de igual a igual (temporalmente) implementada en el aparato de procesamiento de igual a igual puede estar configurada para operar, como mínimo, uno del sensor y el actor. Por ejemplo, durante el primer fragmento de tiempo asignado a una primera aplicación distribuida de igual a igual, por ejemplo, uno o varios actores pueden ser operados de acuerdo con la primera aplicación distribuida de igual a igual y durante un fragmento de tiempo adicional asignado a una aplicación distribuida de igual a igual, el uno o varios actores pueden ser operados de acuerdo con la otra aplicación distribuida de igual a igual. De manera similar, se puede operar, como mínimo, un sensor. Un aparato de procesamiento de igual a igual que comprende, como mínimo, un sensor y/o actor, puede realizar dos o más tareas diferentes casi en paralelo.
La transferencia de una tarea en forma, como mínimo, de una parte de una aplicación distribuida de igual a igual puede ser iniciada por un usuario, por ejemplo, utilizando una entidad de solicitud. De acuerdo con una realización, el sistema de comunicación puede comprender, como mínimo, otro módulo de igual a igual asignado, como mínimo, a una entidad de solicitud. El módulo de igual a igual asignado a la entidad de solicitud puede estar configurado para transmitir un mensaje de solicitud con el fin de iniciar la transferencia de la parte de la aplicación distribuida de igual a igual al aparato de procesamiento de igual a igual. Preferiblemente, un mensaje de solicitud puede ser aceptado por un aparato de procesamiento de igual a igual por medio de un mensaje de aceptación. En particular, después de aceptar un mensaje de solicitud por parte de uno o varios aparatos de procesamiento de igual a igual, el acuerdo de transacción de aplicación distribuida descrito anteriormente puede ser generado y almacenado por la aplicación de igual a igual. Por lo tanto, la generación de dicho acuerdo puede ser iniciada o provocada por, como mínimo, por un módulo de igual a igual.
Además, de acuerdo con una realización, como mínimo, una de la primera tarea y la tarea adicional puede ser, como mínimo, una del grupo que comprende:
- como mínimo, una parte de otra aplicación distribuida de igual a igual,
- como mínimo, una aplicación de comunicación de igual a igual, en particular, configurada para operar el módulo de igual a igual, y
- como mínimo, una aplicación del sistema.
Tal como se describió anteriormente, durante un primer fragmento de tiempo se puede procesar, como mínimo, una parte de una aplicación distribuida de igual a igual. Durante, como mínimo, un fragmento de tiempo adicional, como mínimo, una parte de otra aplicación distribuida de igual a igual. Puede haber uno o varios fragmentos de tiempo adicionales reservados para tareas predefinidas, tales como una o varias tareas del sistema en forma de una o varias aplicaciones del sistema y/o una o varias aplicaciones de comunicación que incluyen, como mínimo, una aplicación comunicación de igual a igual., en particular, configurada para operar el módulo de igual a igual.
Lo que es más, de acuerdo con una realización preferida, la aplicación de igual a igual puede comprender, como mínimo, un medio de registro configurado para recibir un mensaje de registro de un primer módulo de igual a igual asignado al (primer) aparato de procesamiento de igual a igual y/o para recibir un mensaje de registro de un módulo de igual a igual asignado a la entidad de solicitud. El medio de registro puede estar configurado para registrar el (primer) aparato de procesamiento de igual a igual almacenando un identificador único (de igual a igual) del (primer) aparato de procesamiento de igual a igual y/o para registrar la entidad de solicitud almacenando un identificador único (de igual a igual) de la entidad de solicitud. Por ejemplo, para realizar tareas en forma de una o varias aplicaciones distribuidas de igual a igual para otros participantes de la red de igual a igual, se debe registrar un aparato de procesamiento de igual a igual en la aplicación de igual a igual.
Una entidad, dispositivo, aparato, unidad o similar puede ser registrado en la aplicación de igual a igual como, por ejemplo, un activo inteligente. Cada entidad o aparato registrado puede ser almacenado con su identificador único (de igual a igual), por ejemplo, en una o varias listas de identificadores de aparatos de procesamiento de igual a igual y/o entidades de solicitud autorizados. En particular, las firmas respectivas del aparato de procesamiento de igual a igual y/o la entidad de solicitud registrados se pueden almacenar en la lista. A continuación, uno o varios nodos de validación pueden realizar un proceso de validación verificando la firma de un mensaje recibido antes de procesar el mensaje. Preferiblemente, la firma de un mensaje recibido puede ser comparada con las firmas almacenadas de remitentes autorizados (por ejemplo, un aparato o aparatos de procesamiento de igual a igual y/o una entidad o entidades de solicitud). En particular, una pluralidad de nodos de validación pueden realizar dicho proceso de validación. Solo si todos los nodos de validación de la red de igual a igual obtienen un resultado positivo, el mensaje se procesa aún más. La seguridad se puede aumentar aún más.
De acuerdo con una realización del sistema de comunicación de acuerdo con la presente invención, , como mínimo, un módulo de igual a igual puede estar configurado para provocar un registro de la entidad y el aparato, respectivamente, (o el módulo de igual a igual correspondiente) en la aplicación (o red) de igual a igual, mediante la transmisión de un mensaje de registro que comprende, como mínimo, un identificador asignado a la entidad (aparato) y/o al módulo de igual a igual. El identificador puede ser ya un identificador de igual a igual u otro identificador adecuado para identificar la entidad de manera única. El identificador (único, de igual a igual) puede ser un número de serie o una función hash de activo inteligente de, por ejemplo, la entidad, el nombre de usuario de la entidad, una dirección de comunicación de un aparato de procesamiento de igual a igual, una firma, etc. Si, por ejemplo, el identificador no es ya un identificador único de igual a igual, por ejemplo, si el identificador es un nombre de un aparato de procesamiento de igual a igual, la aplicación de igual a igual, en particular, el medio de registro, puede estar configurado para generar un identificador de igual a igual único para la entidad respectiva (de acuerdo con la regla o reglas preestablecidas). En particular, el medio de registro de la aplicación de igual a igual puede registrar las entidades respectivas almacenando, como mínimo, el identificador de igual a igual y/o la firma (la firma puede ser el identificador) en la aplicación de igual a igual y/o una disposición de almacenamiento controlada por la aplicación de igual a igual.
Se comprenderá que una entidad puede ser un usuario registrado en la aplicación de igual a igual. Cada usuario registrado puede estar almacenado o vinculado a su único (identificador de igual a igual) por ejemplo en una o varias listas de identificadores de entidades autorizadas. De acuerdo con una realización del sistema de comunicación según la presente invención, un usuario puede autenticarse en uno de los aparatos de procesamiento de igual a igual o en un terminal de usuario del usuario que comprende un módulo de igual a igual.
Antes del registro de un aparato de procesamiento de igual a igual, entidad de solicitud o similar, como mínimo, parte de los nodos (pares) de la red de igual a igual pueden verificar si los requisitos de registro (tal como especificaciones de una entidad/aparato específico o firmas válidas o requisitos de cumplimiento) predefinidos por la red de igual a igual son cumplidos por la entidad/dispositivo que solicita el registro. Por ejemplo, puede ser necesario que un aparato de procesamiento de igual a igual cumpla especificaciones técnicas predefinidas (por ejemplo, una potencia de procesamiento mínima predefinida, etc.). Para realizar la verificación, preferiblemente, se pueden incluir más datos en el mensaje de registro. En particular, los pares/nodos de la red de igual a igual pueden proporcionar reglas de registro o requisitos de registro que deben ser cumplidos por una entidad, aparato de procesamiento de igual a igual o similar para ser considerados como una entidad fiable. Las reglas/requisitos pueden ser definidos individualmente por los pares de una red de igual a igual. Por ejemplo, puede ser necesario que una nueva entidad deba ser recomendada por una entidad que ya es participante de la red de igual a igual. Además, puede ser
necesario que este participante tenga un factor de reputación que supere un factor de reputación mínimo predefinido. Un factor de reputación puede indicar si un aparato de procesamiento de igual a igual es capaz de realizar la tarea transferida de manera correcta y fiable.
Tal como se describió anteriormente, puede ser posible que, a cambio de la toma de control del procesamiento de una tarea en forma de una aplicación distribuida de igual a igual a través de un aparato de procesamiento de igual a igual, la entidad de solicitud tenga que cumplir, como mínimo, un criterio de transacción de aplicación distribuida generado antes de la toma de control de dicha tarea, durante el procesamiento de la tarea y/o después del procesamiento (con éxito) de la tarea. Por ejemplo, se pueden almacenar una o varias condiciones de éxito en el acuerdo de transacción de la aplicación distribuida. De acuerdo con una realización, la aplicación de igual a igual puede estar configurada para provocar la realización de una transacción de criterio de transacción de aplicación distribuida en base, como mínimo, a un criterio de transacción de aplicación distribuida del acuerdo de transacción de aplicación distribuida almacenado, preferiblemente, almacenado en la aplicación de igual a igual. Por ejemplo, el criterio de transacción de la aplicación distribuida puede ser un valor financiero, por ejemplo, dependiendo de una o varias condiciones de éxito y/o el valor de prioridad generado. Por ejemplo, cuanto mayor sea el valor de prioridad, mayor será el valor financiero.
Los valores financieros pueden ser intercambiados (instantáneamente) con una transacción a través de una criptomoneda. En una realización alternativa o adicional, se pueden utilizar canales de micropago para un flujo de pago (constante) que puede ser manejado, por ejemplo, parcialmente fuera de la cadena para reducir la cantidad de transacciones dentro de la cadena. En una realización adicional, los denominados canales de estado o redes de estado (por ejemplo, la red Raiden) se pueden utilizar para intercambiar tokens digitales fuera de la cadena de una manera segura. La apertura y/o cierre de canales estatales puede estar registrada en la aplicación de igual a igual. Esto significa que es posible que las transacciones individuales no se almacenen en la aplicación de igual a igual, para mejorar la escalabilidad y evitar el seguimiento del movimiento de seudónimos en la aplicación de igual a igual. De acuerdo con la presente invención, no es necesario un intermediario. Se pueden proporcionar procesos completamente automatizados desde la autenticación hasta la tarificación y la facturación.
De acuerdo con una realización preferida adicional, la, como mínimo, una aplicación de igual a igual puede ser un registro descentralizado o una base de datos compartida configurada para almacenar datos, por ejemplo un acuerdo o acuerdos de transacción de aplicaciones distribuidas, un identificador o identificadores (por ejemplo, firmas), una aplicación o aplicaciones distribuidas de igual a igual, un conjunto o conjuntos de datos de sensores, un conjunto o conjuntos de datos de resultados de tareas realizadas, etc. determinadas pruebas o firmas. Además de, por ejemplo, los identificadores, el registro descentralizado puede almacenar códigos informáticos que actúan como, por ejemplo, un medio de control, para controlar la transferencia de una aplicación distribuida de igual a igual a uno o varios aparatos de procesamiento de igual a igual. En particular, el código puede ser invocado mediante una transacción a la dirección del código en los llamados ‘contratos inteligentes’. Este código se puede procesar en el nodo o los nodos del registro descentralizado.
En una realización adicional, los códigos informáticos de un dispositivo pueden incluir un algoritmo o algoritmos para el análisis cognitivo descentralizado o el aprendizaje automático. La analítica y el aprendizaje se pueden compartir con otros aparatos y/o agregar y analizar aún más por medio de las aplicaciones de igual a igual.
Un registro descentralizado puede ser legible, como mínimo, por una parte de los participantes de la red de igual a igual. En particular, cada nodo informático, aparato de procesamiento de igual a igual y/o entidad, por ejemplo, que incluye, como mínimo, un módulo de igual a igual respectivo, puede comprender la aplicación de igual a igual. El registro descentralizado, como mínimo, la parte pública (es decir, puede ser sin contratos privados) puede ser leído, como mínimo, por cada participante de la red de igual a igual. En particular, todos los módulos de igual a igual y todos los demás ordenadores de la red de igual a igual pueden leer preferiblemente toda la información en la aplicación de igual a igual formada como un registro. También se prefiere que todos los módulos de igual a igual y todos los demás ordenadores de la red de igual a igual puedan enviar mensajes o escribir mensajes en la aplicación de igual a igual. Un mensaje o transacción enviado a un contrato inteligente (por ejemplo, medio de control o medio de registro) puede iniciar la ejecución de un código del contrato inteligente mientras se utilizan datos almacenados en el contrato inteligente. Por ejemplo, enviar un mensaje de registro a un medio de registro puede iniciar la ejecución del código, dando como resultado la realización del proceso de registro, tal como se ha descrito anteriormente. De manera similar, un proceso de implementación puede ser iniciado y realizado por el medio de control formado por un contrato inteligente.
La aplicación de igual a igual puede estar construida sobre los siguientes elementos: una red de igual a igual, que comprende el sistema/protocolo de consenso, la estructura de datos, los árboles Merkle, las firmas de claves públicas, la tolerancia a fallos bizantinos. Puede reproducir datos en base a un principio de consenso. Puede ser auditable y rastreable.
De manera sencilla, la información se puede poner a disposición preferentemente de todos los participantes. Esto puede permitir realizar una revisión de la información almacenada en el registro descentralizado o el código ejecutado en el registro descentralizado. De manera particularmente preferida, cada ordenador en la red de igual a igual puede estar configurado para revisar nueva información, en particular, en base a información más antigua
almacenada en la aplicación de igual a igual. Además, el, como mínimo, un medio de control puede ser supervisado por, como mínimo, una parte de los nodos de la red de igual a igual, preferiblemente, por todos los nodos. De este modo se puede evitar, como mínimo, detectar, una manipulación.
Además, preferiblemente cada ordenador (nodo) puede comprender en cada caso el contenido de datos completo de la aplicación de igual a igual, pero incluir, como mínimo, una parte del contenido de datos de la aplicación de igual a igual, en particular, del registro descentralizado. Por ejemplo, se puede proporcionar que después de una verificación/validación positiva (tal como se ha descrito anteriormente) de la información escrita (por ejemplo, un mensaje enviado a la aplicación de igual a igual) en la aplicación de igual a igual, esta información es guardada por todos los ordenadores, como mínimo, por una parte de los ordenadores. Por ejemplo, después de la generación de un acuerdo de transacción de aplicación distribuida y/o después de un registro con éxito y/o de un procesamiento con éxito de una tarea, el acuerdo y/o el identificador y/o el resultado del procesamiento pueden ser almacenados, como mínimo, por una parte, preferiblemente todos, los nodos de la red de igual a igual. En otras palabras, los datos son almacenados, por una parte, preferiblemente todos, los nodos de la red de igual a igual. De este modo, se puede mejorar aún más la resistencia a la manipulación de los datos almacenados en la aplicación de igual a igual. La transferencia, como mínimo temporalmente, de una tarea, a un aparato de procesamiento de igual a igual, la comunicación entre dos o más aparatos de procesamiento de igual a igual y/o la conducción de una transacción de criterio de transacción de aplicación distribuida puede ser controlada de manera segura.
Con el fin de almacenar nueva información a prueba de manipulaciones, la aplicación de igual a igual puede comprender medios de cifrado y/o medios de firma y/o medios de verificación/validación, donde, como mínimo, uno de los medios de cifrado y/o medios de firma y/o los medios de verificación/validación están configurados para almacenar datos, tales como un acuerdo o acuerdos de transacción de aplicaciones distribuidas, un identificador o identificadores, una aplicación o aplicaciones distribuidas de igual a igual, un resultado o resultados de procesamiento, etc. En particular, puede estar previsto que mediante la función de hash se establezca un enlace, como mínimo, con una información almacenada previamente en el registro descentralizado. Se pueden almacenar más datos, tales como mensajes de solicitud, mensajes de registro, datos ordinarios, contextuales y/o de transacciones de una entidad.
La aplicación de igual a igual puede estar formada por un gráfico acíclico dirigido (DAG - Directed Acyclic Graph, en inglés). Un gráfico acíclico dirigido, tal como IOTA o Tangle, significa que los bloques (o nodos del gráfico) están acoplados entre sí a través de bordes dirigidos. Por lo tanto, directo significa que (todos) los bordes tienen (siempre) una misma dirección similar al tiempo. En otras palabras, no es posible dar un paso atrás. Eventualmente, acíclico significa que los bucles no existen.
En una realización particularmente preferida del presente sistema, la aplicación de igual a igual puede ser una cadena de bloques o un registro descentralizado que comprende, como mínimo, dos bloques acoplados entre sí (por ejemplo, una cadena de bloques Ethereum con contratos inteligentes). La tecnología cadena de bloques o “tecnología de contabilidad descentralizada” ya se utiliza en el pago mediante una moneda criptográfica, tal como el Bitcoin. Se ha reconocido que, mediante una configuración particular de una cadena de bloques, como mínimo, la transferencia de una tarea en forma de una aplicación distribuida de igual a igual a un dispositivo de procesamiento de igual a igual se puede verificar sin la necesidad de un servidor central o similar. Por ejemplo, un medio de control se puede implementar fácilmente como un contrato inteligente en una cadena de bloques. Un sistema de comunicación y los recursos de procesamiento disponibles en el sistema de comunicación se pueden gestionar de manera sencilla.
Además, la cadena de bloques se puede utilizar para generar acciones predefinidas provocadas, como mínimo, por un módulo de igual a igual y/o un medio de control a prueba de manipulaciones. La cadena de bloques de acuerdo con la presente realización es particularmente un registro descentralizado, de igual a igual, en el que se pueden registrar todos los datos relacionados, como mínimo, con un proceso de control de acceso. Una cadena de bloques es particularmente adecuada como medio técnico para reemplazar una entidad/servidor central de una manera simple y segura.
En otras realizaciones de la aplicación de igual a igual, la cadena de bloques puede ser una cadena de bloques sin permiso o con permiso. En un caso específico, la cadena de bloques puede ser pública, de consorcio o privada. En una realización adicional, la aplicación de igual a igual puede estar formada por múltiples cadenas de bloques que están conectadas mediante mecanismos tales como cadenas laterales o contratos inteligentes. Un nodo de igual a igual puede ejecutar uno o varios clientes diferentes de la cadena de bloques.
Los datos de la aplicación de igual a igual se pueden almacenar en la “tecnología de registro descentralizado” y/o el registro descentralizado dirige el almacenamiento de datos (cifrado) accesible a través de Internet y, preferiblemente, en una disposición de almacenamiento de datos descentralizada, almacén de objetos y base de datos, respectivamente, tal como el sistema de archivos interplanetario (IPFS - Interplanetary File System, en inglés) o storj, o en una base de datos de cadena de bloques distribuida (por ejemplo, BigChainDB). El acceso a los datos cifrados a entidades de terceros se gestiona a través de los medios de permiso formados como uno o varios contratos inteligentes en la cadena de bloques.
Además, los datos, en particular, una o varias partes de una aplicación distribuida de igual a igual se pueden almacenar en un primer aparato de procesamiento de igual a igual en el que una o varias partes de la aplicación distribuida de igual a igual pueden ser transferidas a uno o varios aparatos de procesamiento de igual a igual por medio de la aplicación de igual a igual, preferiblemente, bajo el control del medio de control.
Además, la aplicación de igual a igual puede proporcionar fuentes de datos (los denominados “oráculos inteligentes”). Las alimentaciones de datos pueden proporcionar datos adicionales relacionados con una tarea y/o un aparato de procesamiento de igual a igual de, como mínimo, una fuente adicional. Por ejemplo, un proveedor de datos puede proporcionar más datos necesarios para procesar una tarea. Los datos pueden ser capturados de fuentes fiables fuera de la cadena y ser almacenados en la cadena de bloques o almacenados a través de la cadena de bloques en una entidad de almacenamiento de datos descentralizada.
Además, la información entre los nodos pares puede ser intercambiada mediante un sistema de mensajería entre pares. Esto significa que un nodo par puede enviar un mensaje a otro nodo par para enviar una información o para activar una acción. Los mensajes pueden ser de texto sin cifrar, firmados, con hash, con sello de tiempo y/o cifrados. Esto significa que no todos los datos intercambiados entre los nodos pares deben ser almacenados en la cadena de bloques.
En una realización adicional, la, como mínimo, una red de igual a igual puede estar formada por una pluralidad de nodos informáticos y, por ejemplo, un módulo de igual a igual, tal como el módulo de igual a igual de un aparato de procesamiento de igual a igual, el módulo de igual a igual de una entidad de solicitud, etc. En otras palabras, el aparato de procesamiento de igual a igual y/o la entidad de solicitud pueden ser un nodo de la red de pares. De acuerdo con una realización de un módulo de igual a igual, dicho módulo solo puede estar configurado para comunicarse con la pluralidad de nodos informáticos. En otras palabras, el módulo de igual a igual no es un nodo informático de la red de igual a igual, sino solo un participante. Dicho módulo de igual a igual no comprende la aplicación de igual a igual, sino que solo proporciona un módulo de interfaz, tal como una interfaz de programación de aplicaciones (API - Application Programming Interface, en inglés), y una aplicación descentralizada para la comunicación con los nodos informáticos de la red de igual a igual o la aplicación de igual a igual, tal como una cadena de bloques o un contrato inteligente en la cadena de bloques. Por ejemplo, dicho módulo de igual a igual puede enviar texto sin cifrar o información cifrada o generar una conexión segura (por ejemplo, un túnel) a una puerta de enlace de igual a igual (o el llamado “nodo remoto”) para comunicarse con la red de igual a igual. Esto permite reducir la potencia de procesamiento requerida del módulo de igual a igual.
En una implementación de la red de igual a igual, solo puede haber un par validado o un nodo completo, por ejemplo, solo se puede configurar un nodo para realizar un proceso de validación, por ejemplo, comprobar una firma recibida y uno o varios nodos de observación (o monitorización). Un nodo de observación puede validar transacciones para establecer un nivel de confianza, pero no valida todas las transacciones que realiza el par de validación.
En una realización alternativa de un módulo de igual a igual, el módulo de igual a igual (y la entidad o aparato asignado, respectivamente) es uno de los nodos informáticos. En este caso, el módulo de igual a igual comprende, como mínimo, una parte de la aplicación de igual a igual. En particular, el módulo de igual a igual puede comprender preferiblemente el contenido total de datos de la aplicación de igual a igual o puede acceder a la información almacenada en otro nodo. Por ejemplo, el módulo de igual a igual podría ser un “nodo ligero” o una aplicación descentralizada (DAPP) conectada a un nodo remoto.
Cabe señalar que, en el presente caso, de acuerdo con una realización, el módulo de igual a igual comprende, como mínimo, una API configurada para comunicarse con la aplicación de igual a igual, tal como la cadena de bloques. Además de la API, el módulo de igual a igual comprende una aplicación descentralizada de software que comprende algoritmos locales, como mínimo, configurados para crear y transmitir datos, tal como información de instrucciones, conjuntos de datos de resultados, a la aplicación de igual a igual a través de la API. La aplicación descentralizada denominada “DAPP” está configurada, como mínimo, para procesar y transmitir dichos datos.
Preferiblemente, tal como se ha descrito anteriormente, los datos y los mensajes pueden ser firmados o cifrados o pueden ser transmitidos a través de un túnel criptográficamente seguro o una conexión segura a Internet a un nodo de igual a igual que ejecuta la aplicación de igual a igual, tal como la cadena de bloques. En otra realización particular, también la propia aplicación de igual a igual se implementa en el módulo de igual a igual, es decir, el módulo de igual a igual es un nodo de la red de igual a igual que comprende la aplicación descentralizada, la API y la aplicación de igual a igual, como la cadena de bloques o el registro descentralizado.
Los datos y transacciones almacenados en la cadena de bloques no proporcionan “privacidad transaccional”. Las transacciones entre seudónimos pueden ser almacenadas (a menudo) en texto claro en la cadena de bloques. En algunos casos, los datos almacenados en la cadena de bloques están cifrados y las claves pueden ser manejadas a través de la cadena de bloques. Las transacciones entre seudónimos se almacenan en texto claro en la cadena de bloques. La preservación de la privacidad, las transacciones seguras o la ejecución de código informático se pueden conseguir con herramientas criptográficas tales como pruebas de conocimiento cero (zk) o argumentos no interactivos sucintos zk (zk-SNARK - zk Succint Non-Interactive Arguments, en inglés). Las transacciones o
algoritmos se dividen en dos partes: un contrato inteligente en la cadena de bloques y un contrato privado. Un protocolo de preservación de la privacidad garantiza la privacidad de los datos y la exactitud de la ejecución del código (la verificación de SNARK se realiza a través del contrato inteligente en la cadena). El cálculo del contrato privado puede ser realizado mediante, como mínimo, un aparato de procesamiento de igual a igual y/o un conjunto de nodos, ordenadores fuera de la cadena y/o realizados en un entorno de lanzamiento medido o en un enclave de hardware seguro para la certificación y el sellado que no se puede ser manipulado por otro código de software que se ejecuta en los dispositivos. En una realización alternativa, se pueden utilizar sistemas informáticos seguros de múltiples participantes (sMPC - secure Multi-Party-Computing) para la privacidad transaccional. Ejemplos de protocolos y cálculos de preservación de la privacidad son HAWK y MIT Enigma.
Con prueba de conocimiento cero (pruebas zk), las partes pueden ver que el algoritmo se ejecuta correctamente en un contrato privado, pero los datos de entrada no son revelados al participante. Además, la privacidad selectiva se puede conseguir compartiendo claves para descifrar transacciones con fines de informes y auditoría.
Para implementar de manera segura código o datos en un dispositivo, se puede integrar un entorno de ejecución fiable, tal como Intel SGX o TPM o el módulo de atestación directa anónima, con un módulo de igual a igual.
De manera similar, en una realización alternativa (no mostrada), una red de igual a igual particularmente grande puede estar dividida en dos o más agrupaciones (físicas o lógicas o dinámicamente virtuales). En una red de igual a igual correspondiente, por ejemplo, una validación (de un subconjunto de transacciones) solo puede ser realizada por los miembros de un grupo (un subconjunto de nodos; por ejemplo, fragmentación de una cadena de bloques para mejorar la escalabilidad). En una realización adicional, la aplicación de igual a igual se puede formar utilizando múltiples cadenas de bloques. Estas cadenas de bloques están conectadas a través de estructuras tales como cadenas laterales o contratos inteligentes.
Un aspecto adicional de la invención es un método de acuerdo con la reivindicación independiente 14, para operar un sistema de comunicación, en particular, un sistema de comunicación descrito previamente. El método comprende:
- proporcionar, como mínimo, una parte, como mínimo, de una aplicación distribuida de igual a igual, como mínimo, a un aparato de procesamiento de igual a igual por medio de una aplicación de igual a igual de, como mínimo, una red de igual a igual,
- procesar la parte proporcionada de la aplicación distribuida de igual a igual, como mínimo, por un módulo de procesador durante, como mínimo, uno de un primer fragmento de tiempo y, como mínimo, un fragmento de tiempo adicional.
Cabe señalar que la provisión de, como mínimo, una parte de la aplicación distribuida de igual a igual puede incluir la distribución de la aplicación distribuida de igual a igual (total). El método se puede utilizar para transferir, como mínimo temporalmente, una o varias tareas a uno o varios aparatos de procesamiento de igual a igual.
Un aspecto adicional que no forma parte de la invención es un aparato de procesamiento de igual a igual, en particular, para un sistema de comunicación descrito anteriormente. El aparato de procesamiento de igual a igual comprende, como mínimo, un módulo de procesador configurado para procesar, como mínimo, una parte de una primera tarea, durante un primer fragmento de tiempo y, como mínimo, una parte de, como mínimo, una tarea adicional, durante, como mínimo, un fragmento de tiempo adicional. El aparato de procesamiento de igual a igual comprende, como mínimo, un módulo de igual a igual. Como mínimo, una de la primera tarea y la tarea adicional es una aplicación distribuida de igual a igual proporcionada al módulo de igual a igual por medio de, como mínimo, una aplicación de igual a igual de, como mínimo, una red de igual a igual.
Otro aspecto más de la invención es una aplicación de igual a igual de una red de igual a igual de acuerdo con la reivindicación independiente 15.
La aplicación de igual a igual comprende , como mínimo, un medio de control configurado para controlar la provisión de, como mínimo, una parte de, como mínimo, una aplicación distribuida de igual a igual , como mínimo, a un aparato de procesamiento de igual a igual de tal manera que la parte proporcionada de la aplicación distribuida de igual a igual es procesable por, como mínimo, un módulo de procesador del aparato de procesamiento de igual a igual durante, como mínimo, uno de un primer fragmento de tiempo y, como mínimo, un fragmento de tiempo adicional.
El medio de control puede estar formado, en particular, como un contrato inteligente de la aplicación de igual a igual, tal como una cadena de bloques. Por ejemplo, el medio de control puede estar formado o ser un acuerdo de transacción de aplicación distribuida.
Las características de los métodos, sistemas, módulos, aplicaciones de igual a igual, aparatos de procesamiento de igual a igual y programas informáticos pueden ser combinados libremente entre sí. En particular, las características de la descripción y/o las reivindicaciones dependientes, incluso cuando las características de las reivindicaciones dependientes se evitan total o parcialmente, pueden ser independientemente inventivas de manera aislada o
combinables libremente entre sí. Estos y otros aspectos de la presente solicitud de patente resultan evidentes y se aclararán con referencia a las siguientes figuras. Se comprende que las características de la presente solicitud y de sus realizaciones a modo de ejemplo, tal como se han presentado anteriormente, también se describen en todas las combinaciones posibles entre sí.
Las figuras muestran:
Figura 1 una vista esquemática de una primera realización de un sistema de comunicación de acuerdo con la presente invención,
Figura 2 una vista esquemática de una realización de un aparato de procesamiento de igual a igual de acuerdo con la presente invención,
Figura 3 una vista esquemática de una realización adicional de un sistema de comunicación de acuerdo con la presente invención,
Figura 4 una vista esquemática de una realización de una aplicación de igual a igual de acuerdo con la presente invención,
Figura 5 una vista esquemática de otra realización de un sistema de comunicación de acuerdo con la presente invención, y
Figura 6 un diagrama de una realización de un método de acuerdo con la presente invención.
Números de referencia iguales en diferentes figuras indican elementos similares.
La Figura 1 muestra una primera realización de un sistema de comunicación 100, en particular, un sistema de comunicación 100 de igual a igual, de acuerdo con la presente invención. El sistema de comunicación 100 de igual a igual representado comprende una red 102 de igual a igual, una disposición de almacenamiento 114, un aparato de procesamiento 108 de igual a igual y una entidad de solicitud 118 en forma de un dispositivo informático 118.
A diferencia de los sistemas de la técnica anterior, de acuerdo con la presente invención, se proporciona una red 102 de igual a igual. En otras palabras, una diferencia sustancial en comparación con los sistemas de la técnica anterior es que no se proporciona una instancia central (por ejemplo, un controlador del lado del servidor, o doméstico, o similar) y/o una organización de terceros. En lugar de una instancia central, la red de igual a igual 102 comprende una pluralidad de nodos 106.1, 106.2, 106.3 y ordenadores 106.1, 106.2, 106.3, respectivamente. Preferiblemente, cada uno de los nodos 106.1, 106.2, 106.3 comprende la (misma) aplicación 104 de igual a igual. En particular, la aplicación 104 de igual a igual y su contenido es preferiblemente el mismo en cada nodo 106.1, 106.2, 106.3 dando como resultado que se pueda detectar una manipulación de una o varias aplicaciones de igual a igual de los nodos respectivos, debido a la diferencia entre los nodos no manipulados.
Una red 102 de igual a igual se caracteriza, en el presente caso, por que cada nodo 106.1, 106.2, 106.3 y/o participante 120, 130 se puede conectar preferiblemente, como mínimo, a todos los demás nodos 106.1, 106.2, 106.3 y/o participante 120, 130. Por ejemplo, se puede utilizar, como mínimo, una red física estándar (de cable y/o inalámbrica) para la conexión. Para comunicarse a través de la, como mínimo, una red física estándar, se pueden disponer módulos transceptores adecuados en las respectivas entidades/dispositivos.
Además, los ordenadores 106.1, 106.2, 106.3 tienen los mismos derechos, algo que los distingue de una estructura de servidor y cliente de los sistemas de la técnica anterior.
La aplicación 104 de igual a igual puede ser preferiblemente un registro público 104 que puede ser inspeccionado, en particular, por todos los participantes 106.1, 106.2, 106.3, 120, 130 (no solo los nodos 106.1, 106.2, 106.3) de la red 102 de igual a igual. Tal como se describió anteriormente, cada nodo 106.1, 106.2, 106.3 tiene preferiblemente el registro público 104 (completo). También se puede contemplar que solo una parte del registro puede ser proporcionada en un nodo (nodo ligero).
En una realización particularmente preferida, la aplicación 104 de igual a igual puede ser una cadena de bloques 104 que se explicará con más detalles a continuación. Se comprenderá que la red de igual a igual puede comprender otros nodos.
La aplicación 104 de igual a igual se puede configurar para gestionar y controlar la provisión de aplicaciones distribuidas de igual a igual (DAPP) a uno o varios aparatos de procesamiento 108 de igual a igual. La aplicación 104 de igual a igual puede comprender un medio de control 124. En particular, la provisión e implementación de una DAPP en uno o varios aparatos de procesamiento de igual a igual 108 y, por ejemplo, la supresión de la DAPP de uno o varios aparatos de procesamiento 108 de igual a igual puede ser controlada por el medio de control 124 de la aplicación 104 de igual a igual. El medio de control 124 puede estar formado como un contrato inteligente 124. Tal como se puede ver, el medio de control 124 puede ser ejecutado preferiblemente en todos los nodos 106.1, 106.2, 106.3 de la red 102 de igual a igual, lo que da como resultado una alta seguridad.
El aparato de procesamiento 108 de igual a igual puede ser un ordenador 108, por ejemplo, controlado por la aplicación 104 de igual a igual o un nodo de la red de igual a igual. El aparato de procesamiento 108 de igual a igual puede comprender un módulo 130 de igual a igual configurado para comunicarse con la red 102 de igual a igual y la aplicación 104 de igual a igual, respectivamente. Por ejemplo, una DAPP para ser transferida y, en particular, ser instalada en el aparato de procesamiento 108 de igual a igual puede ser recibida por medio del módulo 130 de igual a igual desde la aplicación 104 de igual a igual. Además, cualquier resultado del procesamiento puede ser enviado a la aplicación de igual a igual (y/o a una entidad adicional) por medio del módulo 130 de igual a igual.
Además, el aparato de procesamiento 108 de igual a igual comprende un módulo de procesador 110 configurado para procesar una primera tarea, tal como una primera DAPP 112.1, y una tarea adicional, tal como una DAPP 112.2 adicional. A continuación, se muestra una explicación más detallada del aparato de procesamiento 108 de igual a igual (por ejemplo, en relación con la Figura 2).
Opcionalmente, el sistema 100 de igual a igual puede comprender, como mínimo, una disposición de almacenamiento 114. Por ejemplo, una pluralidad de DAPP (diferentes) pueden estar almacenadas en una disposición de almacenamiento 114 controlada por la aplicación 104 de igual a igual. Tal como se ha descrito anteriormente, los datos pueden estar almacenados en la aplicación 104 de igual a igual y/o en una disposición de almacenamiento 114 y/o en otra entidad (por ejemplo, un aparato de procesamiento de igual a igual) controlada por la aplicación 104 de igual a igual. Preferiblemente, la disposición de almacenamiento 114 que comprende una pluralidad de unidades de almacenamiento 116 descentralizadas puede estar formada como un sistema descentralizado de archivos (tal como el IPFS) o un almacén de objetos descentralizado (tal como storj) o una base de datos distribuida descentralizada (tal como BigchainDB) controlada por la aplicación 104 de igual a igual. A modo de ejemplo, el medio de control 124 puede acceder a la disposición de almacenamiento 114 para proporcionar una o varias DAPP específicas para uno o varios aparatos de procesamiento 108 de igual a igual. Para acceder a la DAPP correcta, cada DAPP puede ser proporcionada con un solo identificador. Además, se pueden utilizar adicionalmente otros medios de seguridad, tales como una clave o claves de cifrado.
Además, opcionalmente, el sistema 100 de igual a igual puede comprender una o varias entidades de solicitud 118 (separadas). Una entidad de solicitud 118 puede comprender un módulo 120 de igual a igual configurado para comunicarse con la red 102 de igual a igual. Por ejemplo, la entidad de solicitud 118 puede enviar un mensaje de solicitud a la red 102 de igual a igual y a la aplicación 104 de igual a igual, respectivamente, por medio del módulo 120 de igual a igual para solicitar la transferencia de una tarea (de procesamiento) (por ejemplo, en forma de una DAPP) a uno o varios aparatos de procesamiento 108 de igual a igual. Se comprenderá que la entidad de solicitud puede ser también un aparato de procesamiento de igual a igual (por ejemplo, que esté sobrecargado actualmente) y/o un nodo de la red de igual a igual.
La Figura 2 muestra una vista esquemática de una realización de un aparato de procesamiento 208 de igual a igual de acuerdo con la presente invención. El aparato de procesamiento 208 de igual a igual comprende, como mínimo, un módulo de procesador 210, por ejemplo, uno o varios procesadores centrales. El módulo de procesador 210 está configurado para procesar dos o más tareas durante una unidad de tiempo (definida o predefinida). En particular, la unidad de tiempo definida se puede dividir en dos o más fragmentos de tiempo 222.1, 222.2, 222.3, 222.4. Después de procesar la tarea comprendida por el último fragmento de tiempo 222.4, la tarea asignada al primer fragmento de tiempo 222.1 se procesa de nuevo. Se comprenderá que la asignación de tareas puede ser adaptada dinámicamente, por ejemplo, en base a la carga de trabajo actual, a valores de prioridad modificados, etc.
Por ejemplo, durante el primer fragmento de tiempo 222.1, el módulo de procesador 210 puede estar configurado para procesar una primera aplicación distribuida 212.1 de igual a igual. Durante un segundo fragmento de tiempo 222.2, el módulo de procesador 210 puede estar configurado para procesar una primera aplicación distribuida 212.2 de igual a igual. Además, una tarea interna 213 del sistema (operativo) puede ser realizada durante el tercer fragmento de tiempo 222.3 (por ejemplo, los medios de programación pueden adaptar la asignación de tareas a los dos o más fragmentos de tiempo). Finalmente, durante un cuarto fragmento de tiempo 222.4, se puede procesar una tarea de comunicación 215 para comunicarse con la aplicación de igual a igual.
Preferiblemente, las diferentes tareas 212.1 y 212.2 pueden tener diferentes prioridades, dando como resultado una duración diferente del fragmento de tiempo. Por ejemplo, se pueden proporcionar medios de programación. Los medios de programación pueden estar configurados para asignar fragmentos de tiempo disponibles y/o una duración o duraciones a fragmentos de tiempo individuales de acuerdo con reglas predefinidas (por ejemplo, durante el tercer fragmento de tiempo 212.3). Por ejemplo, cada tarea puede tener un valor de prioridad. Si la primera tarea 212.1 tiene una prioridad más alta que la tarea adicional 212.2, el primer fragmento de tiempo 222.1 puede tener un período de tiempo más largo que el siguiente fragmento de tiempo 222.2. Además, la duración de un fragmento de tiempo solo puede estar configurada entre una duración mínima y una duración máxima. Además, algunos fragmentos de tiempo pueden estar reservados de manera fija para tareas obligatorias, tales como tareas del sistema y/o la comunicación.
Se comprenderá que puede haber más o menos fragmentos de tiempo por unidad de tiempo y más o menos tareas, respectivamente.
La Figura 3 muestra otra realización de un sistema de comunicación 300 de acuerdo con la presente invención. El sistema de comunicación 300 representado comprende una red 301 de igual a igual con una pluralidad de nodos 306 (en aras de la claridad, solo se representa un nodo 306), dos aparatos de procesamiento 308.1,308.2 de igual a igual y una entidad de solicitud 318.
La entidad de solicitud 318 puede comprender un módulo 320 de igual a igual. Por medio del módulo 320 de igual a igual, la entidad de solicitud 318 puede enviar un mensaje de solicitud para la transferencia de una tarea a uno o a varios aparatos de procesamiento 308.1, 308.2 de igual a igual a la aplicación de igual a igual.
Además, un primer aparato de procesamiento 308.1 de igual a igual puede comprender, como mínimo, un módulo de procesador 310.1 y, como mínimo, un sensor 326. El aparato de procesamiento 308.2 de igual a igual puede comprender, como mínimo, un módulo de procesador 310.3 y, como mínimo, un actor 328. Tal como se describió anteriormente, durante una unidad de tiempo definida (por ejemplo, la unidad de tiempo puede ser preferible entre unos pocos milisegundos hasta algunos segundos (puede depender, por ejemplo, del tiempo de conmutación de actores y/o sensores)) se pueden realizar dos o más tareas durante dos o más fragmentos de tiempo 322.1 a 322.4 respectivos.
Por ejemplo, en base a una solicitud (y de un acuerdo de transacción de aplicación distribuida generado posteriormente) de la entidad de solicitud, se puede implementar una primera tarea en forma de una primera aplicación distribuida de igual a igual en el primer aparato de procesamiento 308.1 de igual a igual y, por ejemplo, procesada durante un primer fragmento 322.1. Por ejemplo, el sensor 326 puede ser operado durante el primer fragmento de tiempo 322.1 de acuerdo con la aplicación distribuida de igual a igual. Durante un fragmento de tiempo adicional (por ejemplo, 322.4), se puede procesar una tarea de comunicación mediante la transmisión de conjuntos de datos de sensores a la aplicación de igual a igual, en donde los conjuntos de datos de sensores comprenden uno o varios valores de sensor medidos durante el primer fragmento de tiempo 322.1. En particular, el conjunto o conjuntos de datos de sensor pueden ser reenviados a la aplicación 324 de igual a igual por medio del módulo 330 de igual a igual. Preferiblemente, el módulo 330 de igual a igual puede proporcionar al, como mínimo, un conjunto de datos del sensor (y el mensaje, respectivamente) una firma única. La aplicación de igual a igual puede estar configurada para realizar un proceso de validación comprobando la firma de un mensaje recibido antes de procesar el mensaje. En particular, todos los nodos (como mínimo, una parte de los nodos, es decir, los nodos de validación) pueden realizar este proceso, por ejemplo, comparando la firma del conjunto de datos del sensor recibido (o cualquier otro mensaje) con firmas válidas almacenadas. Solo si, como mínimo, todos los nodos de validación encuentran una coincidencia, el resultado de la validación es positivo y el conjunto de datos del sensor (o cualquier otro mensaje) puede continuar siendo procesado, por ejemplo, siendo reenviado a una entidad de solicitud o a otro aparato de procesamiento de igual a igual.
Durante un segundo fragmento de tiempo 322.2, el sensor 326 puede ser operado de acuerdo con una aplicación distribuida de igual a igual adicional. De manera similar, el aparato de procesamiento 308.2 de igual a igual y su actor pueden ser operados.
La Figura 4 muestra una realización de una aplicación 404 de igual a igual de acuerdo con la presente invención. La aplicación 404 de igual a igual representada es un registro legible, en particular, por los participantes de la red de igual a igual. Por lo tanto, conjuntos de datos o información, por ejemplo, en forma de mensajes pueden ser escritos y/o leídos en/desde el registro 404 por un módulo de igual a igual de un aparato de procesamiento de igual a igual, una entidad de solicitud y/o cualquier otro participante en la red de igual a igual. En una realización preferida, la aplicación 404 de igual a igual puede ser una cadena de bloques 404.
En lo sucesivo, se supone en la siguiente descripción de la presente realización que la, como mínimo, una aplicación 404 de igual a igual es una cadena de bloques 404. Sin embargo, las siguientes observaciones se pueden transferir fácilmente a otras aplicaciones de igual a igual, tales como un gráfico acíclico dirigido (DAG). Un gráfico acíclico dirigido, tal como IOTA o Tangle, significa que los bloques (o nodos del gráfico) están acoplados entre sí a través de bordes dirigidos. Por lo tanto, directo significa que (todos) los bordes tienen (siempre) una misma dirección similar al tiempo. En otras palabras, no es posible dar un paso atrás. Eventualmente, acíclico significa que los bucles no existen.
En otras realizaciones de la aplicación de igual a igual, la cadena de bloques puede ser una cadena de bloques sin permiso o con permiso. En un caso específico, la cadena de bloques puede ser pública, de consorcio o privada. En una realización adicional, la aplicación de igual a igual puede estar formada con múltiples cadenas de bloques que están conectadas a través de mecanismos tales como cadenas laterales o contratos inteligentes. Se puede establecer la interoperabilidad entre cadenas de bloques.
La cadena de bloques 404 está formada, como mínimo, por un bloque 451, 453, 455, preferiblemente por una pluralidad de bloques 451, 453, 455 interconectados. El primer bloque 451 también se puede denominar bloque de génesis 451. Tal como se puede ver, un bloque 453, 455 (excepto para el primer bloque 451) se refiere a cada bloque anterior 451, 453. Se puede crear un nuevo bloque mediante un proceso informáticamente intensivo (por
ejemplo, el llamado “de extracción” o mediante otro proceso apropiado, tal como votación) y será proporcionado especialmente a todos los participantes de la red de igual a igual.
La presente cadena de bloques 404 está particularmente adaptada para recibir mensajes, tales como mensajes que comprenden un conjunto o conjuntos de datos de sensores, datos de solicitud, un conjunto o conjuntos de datos de resultados, una aplicación o aplicaciones distribuidas de igual a igual, registro de datos, etc., por ejemplo desde un módulo de igual a igual de un aparato de procesamiento de igual a igual, entidad de solicitud, entidad informática fuera de la cadena o desde otro dispositivo/unidad de igual a igual de otro participante de la red de igual a igual. Además, la cadena de bloques 404 está particularmente adaptada para guardar estos mensajes en la cadena de bloques 404. Además, la cadena de bloques 404 está configurada para generar mensajes, por ejemplo, en base a un mensaje de solicitud, un mensaje de instrucción, un evento, un proceso de validación, un resultado de procesamiento y/o causado por un módulo de igual a igual y/o la ejecución de código de, por ejemplo, un medio de control 424. En particular, la cadena de bloques 404 está configurada, como mínimo, para controlar y gestionar un sistema de comunicación, tal como se muestra en la Figura 1 y/o 3.
En particular, un mensaje (recién) recibido puede ser guardado y publicado en el bloque actual 455 de la cadena de bloques 404. Debido a la configuración de una cadena de bloques 404 como un registro público 404, dicho mensaje de datos, por ejemplo, de un módulo de igual a igual, puede ser leído preferiblemente por todos los participantes de la red de igual a igual. Alternativa o adicionalmente, los datos de un mensaje pueden ser almacenados en un servicio de archivos descentralizado o en una base de datos de cadena de bloques distribuida controlada por la cadena de bloques 404.
Tal como ya se ha descrito, en la presente cadena de bloques 404 se pueden procesar y/o almacenar diferentes tipos de mensajes y conjuntos de datos, respectivamente, por ejemplo, dentro de un contrato inteligente (algoritmo y/o almacenamiento en la cadena de bloques 404). En el presente ejemplo, la cadena de bloques 404 comprende un medio de control 424 en forma de un contrato inteligente 424. Tal como se describió anteriormente, el medio de control 424 puede estar configurado, como mínimo, para controlar la provisión de una aplicación distribuida de igual a igual a un aparato de procesamiento de igual a igual.
Además, en la cadena de bloques 404 se pueden almacenar uno o varios acuerdos 436 de transacciones de aplicaciones distribuidas. Se puede generar un acuerdo de transacción 436 de aplicación distribuida en el inicio de, como mínimo, una entidad, tal como un usuario y/o un aparato de procesamiento de igual a igual y/o una entidad de solicitud que desea la transferencia de, como mínimo, de una tarea a, como mínimo, a un aparato de procesamiento de igual a igual para provocar el procesamiento de la tarea por parte del aparato de procesamiento de igual a igual. A continuación, se describirá un ejemplo de una generación de dicho acuerdo de transacción 436 de aplicación distribuida:
Un acuerdo de transacción 436 de aplicación distribuida puede comprender, como mínimo, uno de los siguientes datos:
Identificador o Uno o varios identificadores de las entidades involucradas, tal como un identificador identificadores: de la entidad de solicitud, y uno o varios identificadores del uno o varios aparatos de procesamiento de igual a igual a los que se deben proporcionar una o varias tareas, un identificador de la entidad proveedora de uno o varios aparatos de procesamiento de igual a igual, etc.
Criterio de transacción de Criterio que debe cumplir, por ejemplo, una entidad de solicitud para la provisión, aplicación distribuida: implementación y/u operación de una tarea en forma de una aplicación distribuida de igual a igual a/por el, como mínimo, un aparato de procesamiento de igual a igual
Tarea: Se proporcionará, como mínimo, una parte de la aplicación distribuida de igual a igual (por ejemplo, un identificador y/o dirección de almacenamiento de la parte de la aplicación distribuida de igual a igual)
Información prioritaria Por ejemplo, un valor de prioridad que indica la urgencia de la realización de una tarea
Más detalles de la operación Por ejemplo, detalles acerca de los resultados de procesamiento deseados y la transmisión de los resultados a la entidad de solicitud (o a otra entidad), condición de inicio (por ejemplo, hora de inicio) y/o condición de finalización (por ejemplo, hora de finalización), condición o condiciones de éxito de una tarea, etc.
El criterio de transacción de la aplicación distribuida puede ser, por ejemplo, una cantidad de criptomonedas, por ejemplo, por unidad de tiempo (por ejemplo, por hora) que debe ser transferida antes, durante y/o después de la provisión y/o realización de la tarea hacia y/o a través de, como mínimo, un aparato de procesamiento de igual a igual. Preferiblemente, como mínimo, una parte de la cantidad acordada de criptomoneda puede ser bloqueada por la aplicación 404 de igual a igual antes de la acción de provisión. En una realización, el criterio de transacción de la
aplicación distribuida puede ser un canal de pago para transmitir pequeñas cantidades de tokens criptográficos por cada unidad de tiempo. Se comprenderá que se pueden incluir otros criterios de transacción e información adicional en un acuerdo de transacción 436 de aplicación distribuida. Más información/criterios pueden ser, por ejemplo, una marca de tiempo, una ID del acuerdo de transacción y similares. Además, el
Con el fin de generar un acuerdo de transacción 436 de aplicación distribuida, un módulo de igual a igual de una entidad de solicitud (por ejemplo, un aparato de procesamiento de igual a igual u otro dispositivo informático) y la aplicación de igual a igual o un módulo adicional de igual a igual de una entidad proveedora (por ejemplo, un aparato de procesamiento de igual a igual u otro dispositivo informático, por ejemplo, del proveedor/usuario de un aparato de procesamiento de igual a igual) puede intercambiar mensajes de solicitud y respuesta (aceptación) a través de la aplicación 404 de igual a igual. Un mensaje de solicitud 438 puede comprender indicaciones acerca de los datos anteriores (por ejemplo, identificadores, criterios de transacción, una tarea o tareas deseadas, marco de tiempo deseado).
Por ejemplo, una entidad de solicitud puede enviar una solicitud para la transferencia de una tarea en forma de una aplicación distribuida de igual a igual a la aplicación de igual a igual para detectar uno o varios aparatos de procesamiento de igual a igual capaces de realizar la tarea como se desee (por ejemplo, dentro del período de tiempo de procesamiento deseado (por ejemplo, hora de inicio y finalización deseadas), una prioridad deseada, un criterio de transacción de aplicación distribuida deseado, etc.). En respuesta a dicho mensaje de solicitud, un módulo de igual a igual de uno o varios aparatos de procesamiento de igual a igual puede transmitir un mensaje 440 de aceptación al módulo de igual a igual de la entidad de solicitud. Como resultado, se puede generar un acuerdo de transacción de aplicación distribuida. Por ejemplo, el mensaje de aceptación 440 puede comprender detalles de datos idénticos o, como mínimo, similares, en comparación con un mensaje de solicitud 438. Adicionalmente, el mensaje de aceptación 440 puede comprender una indicación de referencia a un mensaje anterior, tal como la ID del mensaje de solicitud 438.
Si, por ejemplo, el mensaje de aceptación 440 comprende un criterio de transacción superior o de otro tipo y/u otro período de tiempo de procesamiento deseado, el mensaje de aceptación 440 se puede denominar mensaje de contraoferta. Esto puede ser aceptado por el módulo de igual a igual de la entidad de solicitud a través de un mensaje de aceptación adicional. En base a esto, un módulo de igual a igual de una entidad de solicitud y/o entidad proveedora y/o un aparato de procesamiento de igual a igual puede causar la generación de un acuerdo de transacción 436 de aplicación distribuida sobre la transferencia de, como mínimo, una tarea al, como mínimo, un aparato de procesamiento de igual a igual y el procesamiento posterior de la tarea por el aparato de procesamiento de igual a igual.
En particular, puede haber múltiples mensajes de oferta y/o mensajes de solicitud/aceptación y/o mensajes que comprenden un aparato de procesamiento de igual a igual /aplicación distribuida de igual a igual solicitados para diferentes criterios de transacción. Cada entidad puede dar pautas, según las cuales se puede generar, como mínimo, un acuerdo de transacción 436 de aplicación distribuida u otros acuerdos. En un proceso preferiblemente automatizado, tal como un proceso iterativo, cada mensaje de solicitud/oferta se puede asociar a un mensaje de aceptación correspondiente de manera óptima. La cadena de bloques 404 puede estar configurada para generar, en base a los mensajes de un módulo de igual a igual, un acuerdo de transacción 436 de aplicación distribuida.
Además, cada aparato de procesamiento de igual a igual puede transmitir mensajes de oferta a la aplicación de igual a igual que comprenden información sobre las capacidades de un aparato de procesamiento de igual a igual, tales como la potencia de procesamiento, el tiempo de procesamiento disponible para un período de tiempo futuro, un sensor o sensores disponibles y/o un actor o actores, un factor de reputación, un criterio de transacción distribuida y similares. En base al estado actual, cada aparato de procesamiento de igual a igual puede enviar mensajes de oferta actualizados, por ejemplo, regularmente, en momentos del tiempo predefinidos y/o dependiendo de los cambios de estado detectados.
Además, el medio de control 424 puede estar configurado para controlar la provisión de la, como mínimo, una parte de una aplicación distribuida de igual a igual para ser procesada por un módulo de procesador de un aparato de procesamiento de igual a igual durante un fragmento de tiempo de una pluralidad de fragmentos de tiempo, en particular, en base a uno o varios acuerdos de transacciones 436 de aplicaciones distribuidas. El medio de control 424 puede ser ejecutado por, como mínimo, parte de los nodos de la red de igual a igual para llevar a cabo la provisión de dicha parte de una aplicación distribuida de igual a igual. Por lo tanto, el medio de control 424 puede formar parte del acuerdo o acuerdos de transacción 436 de aplicaciones distribuidas. Por ejemplo, en base a una parte almacenada de una aplicación distribuida de igual a igual o a un identificador almacenado de una parte almacenada de una aplicación distribuida de igual a igual, la aplicación de igual a igual 404, en particular, el medio de control 424 puede proporcionar la parte de una aplicación distribuida de igual a igual al, como mínimo, un aparato de procesamiento de igual a igual (definido en el acuerdo o acuerdos de transacción 436 de aplicaciones distribuidas).
También se puede generar y almacenar un acuerdo de transacción de actualización en la aplicación de igual a igual que comprende información acerca de la realización de procesos de actualización de, como mínimo, un aparato de procesamiento de igual a igual.
Además, una cadena de bloques 404 puede comprender un medio de registro 442 configurado para registrar un (nuevo) aparato de procesamiento de igual a igual y/o una entidad de solicitud en la cadena de bloques 404 como un activo inteligente. También se pueden registrar nuevos medios de evaluación y/o disposición de almacenamiento o similares.
Después de un proceso de registro positivo, la entidad respectiva puede ser registrada dentro de la cadena de bloques 404, por ejemplo, almacenando su identificador único en una lista de identificadores 444. Se pueden almacenar más detalles en la lista, tales como firmas, especificaciones técnicas de la entidad, permisos, etc.
La lista que comprende, por ejemplo, las firmas de los participantes autorizados de la red de igual a igual (y del sistema de comunicación) se pueden utilizar para un proceso de validación descrito anteriormente.
La Figura 5 muestra una vista esquemática de otra realización de un sistema de comunicación 500 de la invención. En la presente realización, solo se muestran los nodos y participantes 506.1, 506.2, 508.1, 508.2, 518.2 de la red 502 de igual a igual. En el presente ejemplo, se supone que todos los nodos 506.1, 506.2, 508.1, 508.2, 518.2 comprenden la aplicación de igual a igual (no mostrada).
Los nodos 508.1, 508.2 pueden corresponder a aparatos de procesamiento de igual a igual y, por ejemplo, estar formados por los respectivos módulos de igual a igual de los aparatos de procesamiento de igual a igual. El nodo 518.2 puede ser una entidad de solicitud realizada por un módulo de igual a igual de la entidad de solicitud. Los nodos 506.1 y 506.2 pueden ser otros nodos que no son un aparato de procesamiento de igual a igual y/o una entidad de solicitud. Se comprenderá que los nodos pueden ser nodos completos, remotos o ligeros.
Tal como se puede ver, dos tipos diferentes de pares u ordenadores de nodo 506.1, 508.1 y 506.2, 508.2. 518.2 se ilustran actualmente. Todos los pares 506.1, 506.2, 508.1, 508.2, 518.2 están comprendidos por la red de igual a igual 502. En la presente realización, sin embargo, solo una parte de los pares 506.1, 506.2, 508.1, 508.2, 518.2 en el presente caso, los pares (nodos) 506.1, 508.1, verifican la validez (por ejemplo, realizan un proceso de validación) de, por ejemplo, una firma de un mensaje recibido, un proceso de provisión (por ejemplo, que comprende el medio de control y ejecuta el medio de control según un acuerdo generado) de una tarea en forma de una aplicación distribuida de igual a igual y/o datos adicionales almacenados en la aplicación de igual a igual, tal como acuerdos, mensajes de conjuntos de datos de sensores, mensajes de resultados de procesamiento y similares.
Además, solo una parte de todos los pares se puede configurar para almacenar la aplicación de igual a igual y/o solo una parte de los pares se puede configurar para ejecutar los algoritmos de un contrato inteligente/privado (por ejemplo, solo los pares 506.1, 508.1, tal como se describió previamente). Puesto que la validación/verificación de, por ejemplo, los datos de identificación requieren un esfuerzo informático considerable, puede ser ventajoso, por razones de eficiencia, si solo una parte de los pares 506.1, 508.1, especialmente 506.1, 508.1 particularmente potentes, realizan los algoritmos de validación y/o control.
La validación, el análisis y la optimización se pueden realizar dentro o fuera de la cadena, tal como se ha descrito anteriormente. La aplicación de igual a igual puede gestionar la validación y/o la optimización fuera de la cadena, como el código en la cadena de bloques. Potente significa, en particular, una alta potencia informática. En otras palabras, en el presente caso se supone una entrada válida en la aplicación de igual a igual, tal como una cadena de bloques, si (solo) una parte de los pares 506.1,508.1 llega a un resultado positivo. Se comprenderá que solo un par, en especial, particularmente potente, puede realizar el proceso de validación, análisis y/u optimización.
De manera similar, en una realización alternativa (no mostrada), una red de igual a igual especialmente grande puede estar dividida en dos o más grupos. En una red de igual a igual correspondiente, por ejemplo, solo los miembros de un grupo realizarán una validación (por ejemplo, fragmentación de una cadena de bloques, para mejorar la escalabilidad). En una realización adicional, la aplicación de igual a igual se puede formar utilizando múltiples cadenas de bloques. Estas cadenas de bloques están conectadas a través de estructuras tales como cadenas laterales o contratos inteligentes o entre registros.
La Figura 6 muestra una realización de un método de acuerdo con la presente invención. El método está configurado, en particular, para operar un sistema de comunicación, tal como el sistema de comunicación de acuerdo con la Figura 1 y/o 3.
En una primera etapa 601, una entidad de solicitud puede enviar un mensaje de solicitud a la aplicación de igual a igual. Por ejemplo, un primer aparato de procesamiento de igual a igual puede formar la entidad de solicitud. Por ejemplo, el primer aparato de procesamiento de igual a igual está actualmente sobrecargado y, por lo tanto, desea transferir una tarea (o parte de una tarea) a otro aparato de procesamiento de igual a igual que actualmente tiene recursos libres. Antes de transmitir un mensaje de solicitud a la aplicación de igual a igual, el primer aparato de procesamiento de igual a igual puede leer los mensajes de oferta actuales de uno o varios aparatos de procesamiento de igual a igual almacenados en la aplicación de igual a igual.
Por ejemplo, uno o varios aparatos de procesamiento de igual a igual pueden transmitir (por ejemplo, mediante su módulo de igual a igual) un mensaje de oferta que comprende una o varias de las siguientes informaciones:
- Potencia de procesamiento
- Sensor o sensores disponibles
- Actor o actores disponibles
- Ubicación geográfica (por ejemplo, coordenadas GPS)
- Disponibilidad (por ejemplo, período de tiempo futuro) de potencia de procesamiento, sensor, actor, etc.
- Criterio de transacción de aplicación distribuida,
- Pot. término del acuerdo (por ejemplo, condición de inicio y/o finalización (por ejemplo, hora))
- Derecho o derechos necesarios
- Identificador del aparato de procesamiento de igual a igual
- Factor de reputación
El mensaje de solicitud del primer aparato de procesamiento de igual a igual puede hacer referencia a un mensaje de oferta específico (por ejemplo, utilizando un identificador del mensaje de oferta y/o un identificador del aparato de procesamiento de igual a igual). El mensaje de solicitud puede comprender información similar a la del mensaje de oferta. La información adicional puede ser información sobre la tarea que se desea transferir y/o información de prioridad.
La aplicación de igual a igual y/o un aparato de procesamiento de igual a igual adicional puede responder a un mensaje de solicitud, transmitiendo un mensaje de aceptación al primer aparato de procesamiento de igual a igual. Si hay desviaciones entre el contenido del mensaje de solicitud y el contenido del mensaje de aceptación, el mensaje de aceptación se puede denominar mensaje de contraoferta. Puede ser posible que se intercambien una pluralidad de mensajes entre dos o más entidades, por ejemplo, en un proceso automático e iterativo (indicado por la flecha de puntos).
Además, se observa que cada mensaje puede estar provisto de una firma del remitente. Los nodos de validación pueden realizar un proceso de validación verificando la firma de un mensaje recibido, tal como se describió anteriormente. El presente método solo puede ser procesado si (todos) los nodos de validación obtienen un resultado positivo. De lo contrario, el método se puede interrumpir y/o detener.
Después de que se acepta un mensaje de solicitud, en la etapa 603, la aplicación de igual a igual puede generar un acuerdo de transacción de aplicación distribuida. En dicho acuerdo, los detalles técnicos y adicionales sobre la transferencia, como mínimo temporalmente, de una tarea de, por ejemplo, el primer aparato de procesamiento de igual a igual al aparato de procesamiento de igual a igual adicional, se pueden almacenar, tal como se describió anteriormente.
En la etapa 604, el medio de control puede controlar la provisión (por ejemplo, la transmisión) y, por ejemplo, la implementación de una parte de una aplicación distribuida de igual a igual según el acuerdo de transacción de la aplicación distribuida generado. Por ejemplo, en base a una condición de inicio y a un identificador de la aplicación distribuida de igual a igual deseada, el medio de control puede iniciar la transmisión e implementación de la aplicación distribuida de igual a igual a/en el otro aparato de procesamiento de igual a igual.
A continuación, en la etapa 605, el, como mínimo, un módulo de procesador del aparato de procesamiento de igual a igual adicional procesa la aplicación distribuida de igual a igual proporcionada e implementada durante, como mínimo, un fragmento de tiempo de una pluralidad de fragmentos de tiempo. El procesamiento puede ser controlado y/o monitorizado por la aplicación de igual a igual y, por ejemplo, por un nodo o nodos de validación de la red de igual a igual. Por ejemplo, se puede operar un sensor y/o actor, y/o el resultado o los resultados del procesamiento pueden ser transmitidos, por ejemplo, al primer aparato de procesamiento de igual a igual, en particular, según el acuerdo de aplicación distribuida generado.
Después de un procesamiento con éxito de dicha aplicación distribuida de igual a igual por el, como mínimo, un módulo de procesador del aparato de procesamiento de igual a igual adicional, por ejemplo, mediante la detección del cumplimiento de una condición final y/o una condición de éxito almacenada en el acuerdo de transacción distribuida, la aplicación distribuida de igual a igual puede ser eliminada de manera definitiva mediante, por ejemplo, un medio de recogida de basura (etapa 606). Asimismo, esta etapa del proceso se puede realizar bajo el control de la aplicación de igual a igual y de los nodos de validación, respectivamente.
En el presente caso, en la etapa 607 se puede realizar una transacción de criterio de transacción de aplicación distribuida. Por ejemplo, un valor financiero almacenado se puede intercambiar (instantáneamente) con una transacción a través de una criptomoneda desde una cuenta asignada a la entidad de solicitud a una cuenta
asignada al aparato de procesamiento de igual a igual. Tal como se describió anteriormente, la etapa 607 se puede realizar de manera alternativa o adicional antes de transferir la tarea y/o durante la realización de la tarea.
Puede haber más etapas opcionales. Por ejemplo, la entidad de solicitud puede evaluar (automáticamente) el rendimiento del aparato de procesamiento de igual a igual adicional. Según la evaluación, se puede adaptar un factor de reputación.
Claims (15)
1. Sistema de comunicación (100, 300, 500), en particular, sistema de comunicación (100, 300, 500) de igual a igual, que comprende:
- como mínimo, una red (102, 302, 502) de igual a igual con una pluralidad de nodos (106.1, 106.2, 106.3, 306) que comprende, como mínimo, una aplicación (104, 304, 404) de igual a igual,
- como mínimo, un aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual que puede ser conectado a los nodos (106.1, 106.2, 106.3, 306) y que comprende, como mínimo, un módulo de procesador (110, 210, 310) configurado para procesar, como mínimo, una parte de una primera tarea durante un primer fragmento de tiempo (222.1, 322.2) y, como mínimo, una parte de, como mínimo, una tarea adicional durante, como mínimo, un fragmento de tiempo adicional (222.2, 222.3, 222.4, 322.2, 322.3,322,4),
- como mínimo, un módulo (130, 230, 330) de igual a igual asignado al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual y configurado para comunicarse con la aplicación (104, 304, 404) de igual a igual,
- en el que, como mínimo, una de la primera tarea y la tarea adicional es una aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual proporcionada al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual mediante la aplicación (104, 304, 404) de igual a igual,
- en el que la aplicación (104, 304, 404) de igual a igual comprende, como mínimo, un medio de control (124, 324, 424) configurado para controlar la implementación de una parte de la aplicación distribuida (112.1, 112.2 , 212.1, 212.2) de igual a igual en el aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual provocando la transmisión de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual al módulo (130, 230, 330) de igual a igual asignado al aparato de procesamiento (108, 208, 308.1,308.2, 508.1,508.2) de igual a igual, y
- en el que la transmisión de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual incluye la transmisión de uno o varios mensajes que comprenden, como mínimo, partes de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual y/o la provisión de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual por la aplicación (104, 304, 404) de igual a igual, de tal modo que el aparato de procesamiento (108, 208, 308.1.308.2, 508.1,508.2) de igual a igual puede descargar la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual mediante su módulo (130, 230, 330) de igual a igual.
2. Sistema de comunicación (100, 300, 500) de acuerdo con la reivindicación 1, caracterizado por que la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual se divide en dos o más partes, en donde las partes son transmitidas a un número respectivo de diferentes aparatos de procesamiento (108, 208, 308.1,308.2, 508.1,508.2) de igual a igual.
3. Sistema de comunicación (100, 300, 500) de acuerdo con la reivindicación 1 o 2, caracterizado por que
- el sistema de comunicación (100, 300, 500) comprende, como mínimo, una disposición de almacenamiento (114) controlada por la aplicación (104, 304, 404) de igual a igual y configurada para almacenar una pluralidad de aplicaciones distribuidas (112.1, 112.2, 212.1,212.2) de igual a igual,
- en el que el medio de control (124, 324, 424) está configurado para acceder a la disposición de almacenamiento (114) para proporcionar una o varias aplicaciones (112.1, 112.2, 212.1, 212.2) de igual a igual específicas a uno o varios aparatos de procesamiento (108, 208, 308.1,308.2, 508.1,508.2) de igual a igual.
4. Sistema de comunicación (100, 300, 500) de acuerdo con la reivindicación 1, caracterizado por que la aplicación (104, 304, 404) de igual a igual está configurada para generar un acuerdo de transacción de aplicación distribuida sobre la provisión de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual, en el que el acuerdo de transacción de aplicación distribuida comprende, como mínimo, uno de:
- criterio de transacción de la aplicación distribuida,
- parte de la aplicación distribuida de igual a igual o identificador de la parte de la aplicación distribuida de igual a igual,
- identificador asignado al, como mínimo, un aparato de procesamiento de igual a igual y/o módulo de igual a igual asignado al aparato de procesamiento de igual a igual,
- identificador asignado a una entidad de solicitud y/o módulo de igual a igual asignado a la entidad de solicitud, - información de prioridad asignada a la parte de la aplicación distribuida de igual a igual,
- datos de dirección de un destinatario de posibles resultados de procesamiento del procesamiento de la parte de la aplicación distribuida de igual a igual,
- detalles de la operación de la parte de la aplicación distribuida de igual a igual que incluye, como mínimo, una condición de duración de la operación, tal como una condición de inicio de operación y/o una condición de fin de operación.
5. Sistema de comunicación (100, 300, 500) de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que se proporciona, como mínimo, un medio de programación, en el que el medio de programación está configurado para asignar fragmentos de tiempo disponibles y/o una duración o duraciones a fragmentos de tiempo individuales de acuerdo con reglas que pueden ser predefinidas, en el que el medio de programación está configurado, en particular, para asignar la duración de los, como mínimo, dos fragmentos de tiempo (222.1, 222.2, 222.3, 222.4, 322.1, 322.2, 322.3, 322.4), a dos o más tareas dependiendo de la información de prioridad asociada con una tarea.
6. Sistema de comunicación (100, 300, 500) de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que el aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual comprende, como mínimo, un medio de recolección de basura configurado para eliminar la parte de la aplicación distribuida (112.1, 112.2, 212.1,212.2) de igual a igual.
7. Sistema de comunicación (100, 300, 500) de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que
- como mínimo, uno del primer fragmento de tiempo (222.1, 322.2) y el fragmento de tiempo adicional (222.2, 222.3, 222.4, 322.2, 322.3, 322.4) están formados como un fragmento de tiempo encapsulado (222.1, 322.2, 222.2, 222.3, 222.4, 322.2, 322.3, 322.4) y
- en el que una aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual que se ejecuta en el fragmento de tiempo encapsulado (222.1, 322.2, 222.2, 222.3, 222.4, 322.2, 322.3, 322.4) se comunica a través del sistema operativo del aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual, como mínimo, a una interfaz,
- en el que el sistema operativo está configurado para permitir que la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual solo se comunique durante el fragmento de tiempo, en el que la aplicación distribuida (112.1, 112.2, 212.1,212.2) de igual a igual está activa,
- en el que encapsulado significa que la parte de la aplicación distribuida (112.1, 112.2, 212.1,212.2) de igual a igual se almacena y procesa en un entorno seguro.
8. Sistema de comunicación (100, 300, 500) de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que
- el aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual comprende, como mínimo, un sensor (326) y/o, como mínimo, un actor (328),
- en el que la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual está configurada para operar, como mínimo, uno del sensor (326) y el actor (328).
9. Sistema de comunicación (100, 300, 500) de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que
- el sistema de comunicación (100, 300, 500) comprende, como mínimo, un módulo adicional (120, 320) de igual a igual asignado, como mínimo, a una entidad de solicitud (118, 318, 518.2),
- en el que el módulo (120, 320) de igual a igual asignado a la entidad de solicitud (118, 318, 518.2) está configurado para transmitir un mensaje de solicitud con el fin de iniciar la transferencia de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual.
10. Sistema de comunicación (100, 300, 500) de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que, como mínimo, una de la primera tarea y la tarea adicional es, como mínimo, una del grupo que comprende:
- como mínimo, una parte de otra aplicación distribuida (112.2, 212.2) de igual a igual,
- como mínimo, una aplicación de comunicación (215) de igual a igual, en particular, configurada para operar el módulo (130, 330) de igual a igual asignado al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual,
- como mínimo, una aplicación del sistema (213).
11. Sistema de comunicación (100, 300, 500) de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que
- la aplicación (104, 304, 404) de igual a igual comprende, como mínimo, un medio de registro (442) configurado para recibir un mensaje de registro de un módulo (130, 330) de igual a igual asignado al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual y/o para recibir un mensaje de registro de un módulo (120, 320) de igual a igual asignado a una entidad de solicitud (118, 318, 518.2),
- en el que el medio de registro (442) está configurado para registrar el aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual almacenando un identificador único del aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual y/o para registrar la entidad de solicitud (118, 318, 518.2) almacenando un identificador único de la entidad de solicitud (118, 318, 518.2).
12. Sistema de comunicación (100, 300, 500) de acuerdo con cualquiera de las reivindicaciones anteriores 4 a 11, caracterizado por que la aplicación (104, 304, 404) de igual a igual está configurada para provocar la generación de una transacción de criterio de aplicación distribuida basada, como mínimo, en un criterio de aplicación distribuida del acuerdo de transacción de aplicación distribuida almacenado.
13. Sistema de comunicación (100, 300, 500) de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que
- la, como mínimo, una aplicación (104, 304, 404) de igual a igual es un registro descentralizado o una base de datos compartida,
- en el que la aplicación (104, 304, 404) de igual a igual está configurada para almacenar datos con determinadas firmas,
y/o
- la, como mínimo, una aplicación (104, 304, 404) de igual a igual es una cadena de bloques o un registro descentralizado que comprende, como mínimo, dos bloques (451,453, 455) acoplados entre sí.
14. Método para operar un sistema de comunicación (100, 300, 500), comprendiendo el método:
- proporcionar, como mínimo, una parte de, como mínimo, una aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual, como mínimo, a un aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual por medio de, como mínimo, una aplicación (104, 304, 404) de igual a igual de, como mínimo, una red (102, 302, 502) de igual a igual, en donde la aplicación (104, 304, 404) de igual a igual comprende, como mínimo, un medio de control (124, 324, 424),
- en el que la red (102, 302, 502) de igual a igual comprende una pluralidad de nodos (106.1, 106.2, 106.3, 306) que pueden ser conectados al aparato de procesamiento (108, 208, 308.1,308.2, 508.1,508,2) de igual a igual, - controlar, por parte del medio de control (124, 324, 424), la implementación de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual en el aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual provocando la transmisión de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual, como mínimo, a un módulo (130, 230, 330) de igual a igual asignado al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1,508.2) de igual a igual,
- en el que la transmisión de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual incluye la transmisión de uno o varios mensajes que comprenden, como mínimo, partes de la parte de la aplicación (112.1, 112.2, 212.1, 212.2) de igual a igual distribuida al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual y/o la provisión de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual por la aplicación (104, 304, 404) de igual a igual de tal manera que el aparato de procesamiento (108, 208, 308.1, 308.2, 508.1,508.2) de igual a igual puede descargar los datos respectivos por su módulo (130, 230, 330) de igual a igual, y
- procesar la parte transmitida y/o proporcionada e implementada de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual por, como mínimo, un módulo de procesador (110, 210, 310) del aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual durante, como mínimo, uno de un primer fragmento de tiempo (222.1 322.1) y, como mínimo, un fragmento de tiempo adicional (222.2, 222.3, 222.4, 322.2, 322.3, 322.4).
15. Aplicación (104, 304, 404) de igual a igual de una red (102, 302, 502) de igual a igual con una pluralidad de nodos (106.1, 106.2, 106.3, 306) que pueden ser conectados a un aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual, en el que los medios de aplicación (104, 304, 404) de igual a igual son ejecutados por los nodos, comprendiendo la aplicación (104, 304, 404) de igual a igual:
- como mínimo, un medio de control (124, 324, 424), configurado para controlar la provisión de, como mínimo, una parte de, como mínimo, una aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual, como mínimo, a uno de un aparato de procesamiento (108, 208, 308.1,308.2, 508.1,508.2) de igual a igual,
- en el que el medio de control (124, 324, 424) está configurado para controlar la implementación de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual en el aparato de procesamiento (108 , 208, 308.1, 308.2, 508.1,508.2) de igual a igual, provocando la transmisión de la parte de la aplicación distribuida (112.1, 112.2, 212.1.212.2) de igual a igual al módulo (130, 230, 330) de igual a igual asignado al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual, en el que la parte proporcionada e implementada de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual puede ser procesada por, como mínimo, un módulo de procesador (110, 210, 310) del aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual durante, como mínimo, uno de un primer fragmento de tiempo (222.1, 322.1) y, como mínimo, un fragmento de tiempo adicional (222.2, 222.3, 222.4, 322.2, 322.3, 322.4), y
- en el que la transmisión de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual incluye la transmisión de uno o varios mensajes que comprenden, como mínimo, partes de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual al aparato de procesamiento (108, 208, 308.1, 308.2, 508.1, 508.2) de igual a igual y/o la provisión de la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual por la aplicación (104, 304, 404) de igual a igual, de tal manera que el aparato de procesamiento (108, 208, 308.1.308.2, 508.1,508.2) de igual a igual puede descargar la parte de la aplicación distribuida (112.1, 112.2, 212.1, 212.2) de igual a igual mediante, como mínimo, un módulo (130, 230, 330) de igual a igual asignado al aparato de procesamiento (108, 208, 308.1,308.2, 508.1,508.2) de igual a igual.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2016/069056 WO2018028777A1 (en) | 2016-08-10 | 2016-08-10 | Peer-to-peer communication system and peer-to-peer processing apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2826565T3 true ES2826565T3 (es) | 2021-05-18 |
Family
ID=56618167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES16750170T Active ES2826565T3 (es) | 2016-08-10 | 2016-08-10 | Sistema de comunicación de igual a igual y aparato de procesamiento de igual a igual |
Country Status (5)
Country | Link |
---|---|
US (1) | US10938896B2 (es) |
EP (1) | EP3497915B1 (es) |
ES (1) | ES2826565T3 (es) |
HU (1) | HUE051876T2 (es) |
WO (1) | WO2018028777A1 (es) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9985837B2 (en) | 2015-07-23 | 2018-05-29 | Cisco Technology, Inc. | Refresh of the binding tables between data-link-layer and network-layer addresses on mobility in a data center environment |
EP3513479B1 (en) * | 2016-09-14 | 2020-07-22 | Conjoule Gmbh | System comprising an electrical producer arrangement |
US11010736B2 (en) * | 2017-09-12 | 2021-05-18 | Northwestern University | System and method for reducing information volume in a blockchain distribution network |
US10832241B2 (en) * | 2017-10-11 | 2020-11-10 | International Business Machines Corporation | Transaction reservation for block space on a blockchain |
US10673618B2 (en) | 2018-06-08 | 2020-06-02 | Cisco Technology, Inc. | Provisioning network resources in a wireless network using a native blockchain platform |
US10505718B1 (en) | 2018-06-08 | 2019-12-10 | Cisco Technology, Inc. | Systems, devices, and techniques for registering user equipment (UE) in wireless networks using a native blockchain platform |
CN108900610A (zh) * | 2018-06-29 | 2018-11-27 | 佛山伊苏巨森科技有限公司 | 一种用于区块链的对等网络通信*** |
US10671462B2 (en) | 2018-07-24 | 2020-06-02 | Cisco Technology, Inc. | System and method for message management across a network |
US10284429B1 (en) | 2018-08-08 | 2019-05-07 | Cisco Technology, Inc. | System and method for sharing subscriber resources in a network environment |
US10721069B2 (en) | 2018-08-18 | 2020-07-21 | Eygs Llp | Methods and systems for enhancing privacy and efficiency on distributed ledger-based networks |
US10949557B2 (en) | 2018-08-20 | 2021-03-16 | Cisco Technology, Inc. | Blockchain-based auditing, instantiation and maintenance of 5G network slices |
US10374749B1 (en) | 2018-08-22 | 2019-08-06 | Cisco Technology, Inc. | Proactive interference avoidance for access points |
CN108965478A (zh) * | 2018-09-03 | 2018-12-07 | 北京许继电气有限公司 | 基于区块链技术的分布式数据采集方法和*** |
US10652152B2 (en) | 2018-09-04 | 2020-05-12 | Cisco Technology, Inc. | Mobile core dynamic tunnel end-point processing |
US10230605B1 (en) | 2018-09-04 | 2019-03-12 | Cisco Technology, Inc. | Scalable distributed end-to-end performance delay measurement for segment routing policies |
US10779188B2 (en) | 2018-09-06 | 2020-09-15 | Cisco Technology, Inc. | Uplink bandwidth estimation over broadband cellular networks |
US11558288B2 (en) | 2018-09-21 | 2023-01-17 | Cisco Technology, Inc. | Scalable and programmable mechanism for targeted in-situ OAM implementation in segment routing networks |
US10285155B1 (en) | 2018-09-24 | 2019-05-07 | Cisco Technology, Inc. | Providing user equipment location information indication on user plane |
US11146399B2 (en) | 2018-10-19 | 2021-10-12 | Eygs Llp | Methods and systems for retrieving zero-knowledge proof-cloaked data on distributed ledger-based networks |
CN109445939A (zh) * | 2018-10-19 | 2019-03-08 | 积成电子股份有限公司 | 一种基于主动出让机制的软实时调度内核的调度方法 |
US10601724B1 (en) | 2018-11-01 | 2020-03-24 | Cisco Technology, Inc. | Scalable network slice based queuing using segment routing flexible algorithm |
US11271755B2 (en) * | 2019-03-25 | 2022-03-08 | Micron Technology, Inc. | Verifying vehicular identity |
US11677563B2 (en) | 2019-04-15 | 2023-06-13 | Eygs Llp | Systems, apparatus and methods for local state storage of distributed ledger data without cloning |
US11943358B2 (en) | 2019-04-15 | 2024-03-26 | Eygs Llp | Methods and systems for identifying anonymized participants of distributed ledger-based networks using zero-knowledge proofs |
US11316691B2 (en) | 2019-04-15 | 2022-04-26 | Eygs Llp | Methods and systems for enhancing network privacy of multiple party documents on distributed ledger-based networks |
US11502838B2 (en) | 2019-04-15 | 2022-11-15 | Eygs Llp | Methods and systems for tracking and recovering assets stolen on distributed ledger-based networks |
US11206138B2 (en) | 2019-05-02 | 2021-12-21 | Ernst & Young U.S. Llp | Biosignature-based tokenization of assets in a blockchain |
US11080425B2 (en) | 2019-07-24 | 2021-08-03 | ImagineBC | Staged information exchange facilitated by content-addressable records indexed to pseudonymous identifiers by a tamper-evident data structure |
US11232439B2 (en) | 2019-08-09 | 2022-01-25 | Eygs Llp | Methods and systems for preventing transaction tracing on distributed ledger-based networks |
FR3102259B1 (fr) * | 2019-10-17 | 2023-01-20 | Amadeus Sas | Surveillance d’un environnement de serveur d’applications distribué |
CN110855761B (zh) * | 2019-10-29 | 2021-09-21 | 深圳前海微众银行股份有限公司 | 一种基于区块链***的数据处理方法及装置 |
AU2020387408A1 (en) | 2019-11-20 | 2022-05-19 | Eygs Llp | Systems, apparatus and methods for identifying and securely storing distinguishing characteristics in a distributed ledger within a distributed ledger-based network based on fungible and non-fungible tokens |
BR112022014066A2 (pt) * | 2020-01-16 | 2022-09-13 | Freeverse S L | Sistema e método para transmissão segura ponto a ponto de conteúdo em redes de registros distribuídos |
US11574308B2 (en) | 2020-04-15 | 2023-02-07 | Eygs Llp | Intelligent assertion tokens for authenticating and controlling network communications using a distributed ledger |
CN112954419B (zh) * | 2021-02-09 | 2022-08-23 | 海信视像科技股份有限公司 | 一种显示设备及显示方法 |
US11336605B1 (en) * | 2021-01-04 | 2022-05-17 | Servicenow, Inc. | Sending actionable notifications to users |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7263560B2 (en) * | 2002-08-30 | 2007-08-28 | Sun Microsystems, Inc. | Decentralized peer-to-peer advertisement |
US7680935B2 (en) * | 2004-09-30 | 2010-03-16 | Microsoft Corporation | Entity domains |
US9514477B2 (en) * | 2013-07-10 | 2016-12-06 | AVG Netherlands B.V. | Systems and methods for providing user-specific content on an electronic device |
US9967334B2 (en) * | 2015-03-02 | 2018-05-08 | Dell Products Lp | Computing device configuration and management using a secure decentralized transaction ledger |
US9529923B1 (en) * | 2015-08-28 | 2016-12-27 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
US10554746B2 (en) * | 2016-11-14 | 2020-02-04 | International Business Machines Corporation | Decentralized immutable storage blockchain configuration |
US10586210B2 (en) * | 2016-11-30 | 2020-03-10 | International Business Machines Corporation | Blockchain checkpoints and certified checkpoints |
-
2016
- 2016-08-10 WO PCT/EP2016/069056 patent/WO2018028777A1/en active Search and Examination
- 2016-08-10 ES ES16750170T patent/ES2826565T3/es active Active
- 2016-08-10 HU HUE16750170A patent/HUE051876T2/hu unknown
- 2016-08-10 EP EP16750170.9A patent/EP3497915B1/en active Active
-
2019
- 2019-02-08 US US16/271,538 patent/US10938896B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2018028777A1 (en) | 2018-02-15 |
EP3497915B1 (en) | 2020-09-30 |
HUE051876T2 (hu) | 2021-03-29 |
EP3497915A1 (en) | 2019-06-19 |
US10938896B2 (en) | 2021-03-02 |
US20190190987A1 (en) | 2019-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2826565T3 (es) | Sistema de comunicación de igual a igual y aparato de procesamiento de igual a igual | |
Shukla et al. | Identification and authentication in healthcare internet-of-things using integrated fog computing based blockchain model | |
EP4120114A1 (en) | Data processing method and apparatus, smart device and storage medium | |
US11943224B2 (en) | Blockchain-based admission processes for protected entities | |
CN112422532B (zh) | 业务通信方法、***、装置及电子设备 | |
US9794224B2 (en) | System and method for creating a trusted cloud security architecture | |
US20230037932A1 (en) | Data processing method and apparatus based on blockchain network, and computer device | |
Rizzardi et al. | Securing the access control policies to the Internet of Things resources through permissioned blockchain | |
Aruna et al. | Cloud to cloud data migration using self sovereign identity for 5G and beyond | |
ES2959557T3 (es) | Método para operar una aplicación de igual a igual | |
Panwar et al. | IoT notary: Attestable sensor data capture in IoT environments | |
Yang et al. | Protecting personal sensitive data security in the cloud with blockchain | |
KR20220134572A (ko) | 엔드포인트 인스턴스들 간의 안전한 개인 키 분산 | |
US20230244797A1 (en) | Data processing method and apparatus, electronic device, and medium | |
Alvarenga et al. | DAGSec: A hybrid distributed ledger architecture for the secure management of the Internet of Things | |
Aktypi et al. | Themis: A Secure Decentralized Framework for Microservice Interaction in Serverless Computing | |
Lu et al. | Secure and efficient firmware update for increasing IoT-enabled smart devices | |
Gagged et al. | Improved secure dynamic bit standard technique for a private cloud platform to address security challenges | |
KaradaŞ et al. | IBAM: IPFS and Blockchain based Authentication for MQTT protocol in IoT | |
CN116561820B (zh) | 可信数据处理方法及相关装置 | |
CN114338682B (zh) | 流量身份标识传递方法、装置、电子设备及存储介质 | |
US20240064023A1 (en) | Cryptographic proof of identity with independent verification and provable recovery | |
Ruggeri et al. | Improving the Key Exchange Process of the eXtended Triple Diffie-Hellman Protocol with Blockchain | |
Paul et al. | Secure decentralised storage networks | |
Alasmari | User Centered Security Service Level Agreement Enforcement Mechanisms |