ES2794904T3 - Ecosistema de gestión de funciones hash superdistribuidas - Google Patents
Ecosistema de gestión de funciones hash superdistribuidas Download PDFInfo
- Publication number
- ES2794904T3 ES2794904T3 ES18157460T ES18157460T ES2794904T3 ES 2794904 T3 ES2794904 T3 ES 2794904T3 ES 18157460 T ES18157460 T ES 18157460T ES 18157460 T ES18157460 T ES 18157460T ES 2794904 T3 ES2794904 T3 ES 2794904T3
- Authority
- ES
- Spain
- Prior art keywords
- blockchain
- stack
- operational
- function
- interface
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Un método implementado por ordenador para operar una red de procesamiento de datos con una pila (200) operativa, estando configurada la pila operativa para la gestión de al menos una aplicación (100) distribuida y al menos una red de procesamiento de datos basada en cadena de bloques, que es adecuada para proporcionar al menos una función y/o propiedad, comprendiendo el método: una configuración realizada por un sistema (230) de configuración, que comprende una interfaz (201) de usuario para recibir información sobre al menos un conjunto de funciones y/o propiedades (102a-102N) predeterminadas de la aplicación distribuida con las etapas de: a) recepción en una unidad (231) de correspondencia de la información sobre al menos un conjunto de funciones y/o propiedades predeterminadas de la aplicación distribuida, b) determinación en una unidad de correspondencia de al menos una cadena de bloques de una pluralidad de cadenas de bloques (302a-302N) disponibles, que es adecuada para proporcionar al menos una función y/o propiedad según la información recibida sobre el al menos un conjunto de funciones y/o propiedades predeterminadas, c) adicción de los componentes (204a-204N) de la pila de cadena de bloques con relación a dicha al menos una cadena de bloques a una pila de software, y d) repetición de las etapas b) y c) hasta para cada función y/o propiedad de la información recibida sobre al menos un conjunto de funciones y/o propiedades predeterminadas, al menos una cadena de bloques respectiva se ha determinado y adición a la pila de software; una etapa de distribución para distribuir la pila de software a al menos una unidad de nodo de la red de procesamiento de datos; una etapa de conexión para instanciar la pila de software en la al menos una unidad de nodo, en donde la pila de software instanciada forma al menos una red de cadena de bloques según la al menos una cadena de bloques en la pila de software y forma la pila operativa; y una etapa operativa de e) proporcionando la pila operativa una interfaz (210) ascendente a la al menos una aplicación distribuida para al menos una función o propiedad de al menos un conjunto de funciones y/o propiedades predeterminadas y f) proporcionando la pila operativa una interfaz (220) descendente al menos a una función de cadena de bloques correspondiente a la al menos una función y/o propiedad.
Description
DESCRIPCIÓN
Ecosistema de gestión de funciones hash superdistribuidas
La invención se refiere al campo de la gestión de redes de procesamiento de datos. En particular, la invención se refiere a un Ecosistema de Gestión de Funciones Hash Superdistribuidas. En otras palabras, la invención se refiere a una red y a un método y sistema para la gestión del mismo.
Con un número cada vez mayor de dispositivos de red conectados y ancho de banda de redes de datos, la gestión distribuida será cada vez más importante. Por lo tanto, la cadena de bloques (blockchain) como un método y un sistema se ha vuelto muy popular. Se sabe que las Cadenas de Bloques ofrecen una pluralidad de ventajas con respecto a los métodos y sistemas de procesamiento de datos convencionales. Una primera ventaja ejemplar es que los datos se almacenan en un libro mayor distribuido en lugar de en un servidor central y, por lo tanto, se reduce el riesgo de pérdida de datos. Una ventaja ejemplar adicional es la viabilidad de transacciones a prueba de manipulación, que permite la generación de una moneda basada en cadena de bloques. Otras ventajas pueden relacionarse con: servicios de identidad, servicios de almacenamiento, contratos inteligentes, servicios IOT, procedencia de datos y otros.
El experto conoce un número de diferentes métodos y sistemas relacionados con cadena de bloques. De hecho, hay un número virtualmente explosivo de cadenas de bloques, servicios basados en cadena de bloques y/o servicios relacionados con cadena de bloques. Sin embargo, la mayoría de las cadenas de bloques disponibles actualmente se centran en una aplicación específica. Esto deja a un desarrollador de una nueva aplicación esencialmente con dos opciones, bien adoptar la nueva aplicación según una cadena de bloques existente y funciones específicas disponibles en ella; o bien desarrollar una nueva cadena de bloques para un nuevo conjunto de funciones según la nueva aplicación. Ninguna de las opciones es viable para la mayoría de las aplicaciones y/o para la mayoría de los desarrolladores. Además, cada cadena de bloques puede utilizar diferentes lenguajes de programación.
En otras palabras, actualmente el uso de una cadena de bloques se limita a las funciones directamente disponibles en una cadena de bloques específica.
“AION White Paper” por Matthew Spoke y col. se refiere a una red diseñada para soportar arquitecturas de cadena de bloques personalizadas, al tiempo que proporciona un mecanismo de confianza para la interoperabilidad entre cadenas.
El documento US 2017/353309 A1 se refiere a un método para delegar el comportamiento de un contrato inteligente asociado con una cadena de bloques al código que no es parte de la cadena de bloques.
El documento US 2010/049460 A1 se refiere a un método para cobrar por los servicios sobre una red de comunicaciones que comprende la recepción de una solicitud para realizar una función de cobro desde una aplicación mediante una interfaz ascendente de un facilitador de cobro.
El documento CN 107579931 A1 se refiere a un método de adaptación para cadenas de bloques, denominadas configuración y utilización de recursos informáticos de un proveedor de servicio en la nube y acceso a una aplicación de múltiples escenas de un usuario externo.
El documento WO 2017/167548 A1 se refiere a un método implementado por ordenador para ejecutar una aplicación de software en un entorno informático conectado a la red, siendo definida la aplicación mediante un conjunto de servicios de software requeridos para constituir la aplicación, siendo seleccionados los servicios requeridos a partir de los servicios indicados en un registro de componentes, comprendiendo el método: registrar un bloque en una estructura de datos de cadena de bloques, identificando el nuevo bloque al menos un subconjunto del conjunto de servicios requeridos; recibir al menos un bloque adicional de la estructura de datos de cadena de bloques, haciendo referencia cada uno de los bloques adicionales a un proveedor de servicios para proporcionar al menos uno de los servicios requeridos; y seleccionando al menos un proveedor de servicios identificado en la cadena de bloques y definiendo una especificación para un componente ensamblador de aplicaciones para ensamblar la aplicación de software, identificando la especificación proveedores de servicios seleccionados.
El documento WO 2017/187397 A1 se refiere a un sistema operativo genérico para coordinar, controlar y/o influir en las actividades de un dispositivo. La invención se implementa utilizando una plataforma de cadena de bloques con la que el sistema operativo está dispuesto para interactuar. La cadena de bloques puede ser la cadena de bloques de Bitcoin. En una realización preferida, el dispositivo es un dispositivo de Internet de las cosas (IoT). El documento WO 2017/187397 A1 también se refiere a un sistema de control implementado por ordenador y al método correspondiente para controlar un dispositivo, comprendiendo el sistema un dispositivo configurado para la comunicación inalámbrica con una red y que tiene una dirección IP y un par de claves criptográficas de clave pública-privada asociadas con el dispositivo; un componente de control implementado por software dispuesto para vigilar el estado de una red de cadena de bloques y/o transmitir transacciones de cadena de bloques a la red de cadena de bloques; y un conjunto de instrucciones dispuestas para su ejecución por el componente de control para controlar la funcionalidad del dispositivo. El componente de control está dispuesto para acceder al conjunto de instrucciones desde una ubicación almacenada que está separada del dispositivo. Las instrucciones pueden
almacenarse en una Tabla de Hash Distribuida (DHT) y el componente de control puede acceder a la descarga e instalación desde la DHT cuando sea necesario. La ubicación de la DHT y/o las instrucciones pueden indicarse o proporcionarse utilizando metadatos proporcionados dentro de una transacción de cadena de bloques.
El documento GB 2540 977 A se refiere a un método implementado por ordenador de un proveedor de recursos para el control de acceso en un sistema informático conectado a la red, en donde una estructura de datos de cadena de bloques accesible mediante la red almacena registros firmados digitalmente validados por componentes de software de minería conectados a la red. Un registro de proveedor está asociado con el proveedor de recursos, permitiendo el método identificar una definición de rol de control de acceso para el acceso al recurso, incluyendo el rol una especificación de permisos de acceso.
El documento US 2016/203021 A1 se refiere a técnicas, software, aparatos y sistemas configurados para gestionar una pila de navegación de una aplicación que incluye múltiples interfaces de usuario (UI) principales. En al menos una realización, un método puede incluir proporcionar datos a múltiples UI principales que hacen que cada una de las múltiples UI principales presente una vista de una pluralidad de vistas de un estado de aplicación de la aplicación de software, recibiendo datos que indican que el estado de la aplicación ha cambiado, y empujando una actividad de flujo de trabajo de la aplicación a una pila de navegación, en donde cada actividad de flujo de trabajo incluye datos correspondientes a una configuración de un módulo de modelo de vista y una lista de vistas asociadas con la configuración, el módulo del modelo de vista proporciona los datos que hacen que se presente la pluralidad de vistas en las múltiples UI principales en respuesta a la configuración que se carga en el módulo del modelo de vista.
Como se ha descrito antes, la técnica relacionada se basa en diferentes tipos de redes de cadena de bloques. Por un lado, cada cadena de bloques tiene diferentes funciones y/o propiedades, lo que resulta en un conjunto de ventajas y en un conjunto de desventajas. Por otro lado, cada cadena de bloques tiene diferentes requisitos para la red y/o para el sistema en el que opera. Además, cada cadena de bloques puede tener una interfaz de programación diferente y/o utilizar un lenguaje de programación diferente.
En consecuencia, cuando se parte de un conjunto de funciones y/o propiedades predeterminadas, por ejemplo, para lograr un cierto comportamiento de la red, no es posible utilizar simplemente una sola cadena de bloques de la técnica anterior.
Dicho conjunto de funciones predeterminadas puede comprender: almacenamiento, pago, autenticación y comunicaciones IoT. Las propiedades pueden incluir propiedades de la función y/o de la cadena de bloques como, por ejemplo, tiempo de respuesta de la función o nivel de seguridad requerido. También, la mera combinación de una pluralidad de diferentes cadenas de bloques de la técnica anterior no es posible, ya que ninguna de las cadenas de bloques conocidas tiene una interfaz adecuada para interactuar con otra cadena de bloques. Está claro que la definición de función y propiedad puede superponerse, ya que algunas propiedades de la cadena de bloques están profundamente entrelazadas con las funciones de la cadena de bloques y viceversa.
Por ejemplo, una aplicación, también conocida como caso de uso comercial, puede relacionarse con un microseguro. Dicho caso de uso puede tener un conjunto de funciones predeterminadas que comprenden pago, autenticación y contrato inteligente. Un conjunto de propiedades predeterminadas para este caso de uso puede comprender una alta seguridad de datos y una alta escalabilidad para un número adecuado de usuarios. Es obvio para el experto que no hay una cadena de bloques adecuada para este caso de uso. Incluso si hubiera una cadena de bloques para este caso de uso particular, es evidente que existe un número prácticamente infinito posible y/o requerido de modificaciones, que excederían las capacidades de cualquier cadena de bloques específica.
Los problemas anteriores se encuentran entre los resueltos por el objeto de las reivindicaciones independientes de la presente invención. Las reivindicaciones dependientes se refieren a otros aspectos de la invención.
Es un aspecto general de la invención proporcionar una red de procesamiento de datos con una pila operativa, que tiene al menos una cadena de bloques. La pila operativa tiene al menos dos interfaces. La pila operativa está conectada a la cadena de bloques mediante una primera interfaz, también denominada interfaz descendente y la pila operativa está conectada al menos a una aplicación mediante una segunda interfaz, la segunda interfaz también se conoce como interfaz ascendente. La cadena de bloques tiene al menos una función. Adicional o alternativamente, la cadena de bloques también puede tener al menos una propiedad. Dicha interfaz ascendente permite que la aplicación acceda al menos a una de las funciones y/o propiedades de la cadena de bloques a través de la pila operativa. Se prefiere que la interfaz ascendente sea una interfaz de programación de aplicaciones y/o la interfaz descendente comprenda un complemento específico de cadena de bloques. Se prefiere además que la otra aplicación sea una aplicación distribuida.
Otro aspecto general de la invención es que la pila operativa está operando por sí misma como una pila de software distribuido en la red. Así, la pila operativa se forma conectando una pluralidad de pilas de software que operan en cada nodo de la red, dichas pilas de software también se denominan pilas de nodos. Se prefiere que la pila de software que opera en cada nodo de la red comprenda al menos una cadena de bloques.
Otro aspecto general de la invención es que una pila de nodos es configurada en una etapa de configuración, se distribuida a los nodos de red de una red y, tras crear una instancia, forma una conexión a otras pilas de nodos para
formar la pila operativa. Se prefiere que se reciba un conjunto predeterminado de funciones y/o propiedades en la etapa de configuración y basándose en las funciones y/o propiedades predeterminadas, al menos una cadena de bloques adecuada que proporciona dichas funciones y/o propiedades se añade a la pila de nodos y así, se añade a la pila operativa.
Aún otro aspecto general de la invención es que la invención permite conectar verticalmente una función mediante la pila operativa a una cadena de bloques y también conectar una pluralidad de cadenas de bloques horizontalmente mediante la pila operativa.
Los aspectos particulares y preferidos de la invención se exponen en las reivindicaciones independientes adjuntas. Las combinaciones de las características a partir de las reivindicaciones dependientes y/o independientes pueden combinarse como apropiadas y no simplemente como se expone en las reivindicaciones adjuntas.
Breve descripción de los dibujos
Los objetos, ventajas y características de la presente invención descritos anteriormente, así como otros, se comprenderá más fácilmente a partir de la siguiente descripción detallada de ciertas realizaciones preferidas de la invención, cuando se consideran junto con los dibujos adjuntos en los que:
La fig. 1a muestra un estado de la red de procesamiento de datos con una cadena de bloques como servicio proporcionado a la misma;
La fig. 1b muestra una red de procesamiento de datos según una realización de la invención;
La fig. 2a muestra un diagrama de bloques de la arquitectura de alto nivel según una realización de la invención; La fig. 2b muestra un diagrama de bloques detallado de la arquitectura de alto nivel según una realización de la invención;
La fig. 3a muestra un diagrama de bloques de un sistema de configuración para una pila de nodos en la etapa de configuración según una realización de la invención;
La fig. 3b muestra un diagrama de bloques de una pila operativa según una realización de la invención;
La fig. 4 muestra un diagrama de bloques de un detalle de la pila operativa según una realización de la invención; y La fig. 5 muestra un diagrama de bloques detallado de un distribuidor y un complemento de cadena de bloques según una realización de la invención.
Descripción detallada de los dibujos
En la fig. 1a, se muestra un estado de la red de procesamiento de datos con una cadena de bloques como un servicio proporcionada a la misma. Una cadena de bloques 30 se proporciona como un servicio a la red. La cadena de bloques puede comprender nodos adicionales. El servicio se proporciona preferiblemente por un proveedor de servicios que utiliza una infraestructura técnica dedicada. Se puede acceder al servicio mediante los nodos de usuario 10a a 10e. Para acceder al servicio, cada nodo debe estar conectado con la cadena de bloques 30.
A continuación, se describirán realizaciones de la invención. Se observa que algunos aspectos de cada realización descrita también se pueden encontrar en algunas otras realizaciones a menos que se indique lo contrario o sea obvio para el experto. Sin embargo, para una mayor inteligibilidad, cada aspecto solo se describirá en detalle cuando se mencione por primera vez y se omitirá cualquier descripción repetida del mismo aspecto.
En la figura 1b, se muestra una red de procesamiento de datos según una realización de la invención. A diferencia del estado de la técnica como se muestra en la figura 1a, la cadena de bloques está completamente integrada en la red. Cada nodo 10a a 10e también es parte de al menos una red cadena de bloques. La al menos una red de cadena de bloques comprende preferiblemente una pluralidad de cadenas de bloques. Se puede utilizar cualquier combinación de funciones y/o propiedades de la pluralidad de cadenas de bloques, que se logra mediante una pila operativa 20a a 20e que opera en la red en cada nodo de la red. El nodo 10a a 10e puede ser un nodo físico o incluso puede ser una red adicional que comprende una subred de nodos.
1. Términos utilizados a lo largo de la presente invención
Se reconoce que la definición de términos relacionados con la tecnología de cadena de bloques aún no se ha estandarizado; por lo tanto, se pueden utilizar los mismos términos para describir diferentes características en el estado de la técnica y también se pueden utilizar diferentes términos para describir la misma característica. En la medida de lo posible, se utilizan los mismos términos que en el libro "Mastering Bitcoin: Unlocking digital cryptocurrencies", A. Antonopoulos, O'reilly UK Ltd., 2a edición, 2017, ISBN-1014919543388, que se incorpora en la presente.
Sin embargo, en particular, los siguientes términos se refieren a características del objeto de la invención y su definición puede diferir de las definiciones utilizadas en al menos un documento que describe la técnica relacionada. El término red se refiere preferiblemente a una red de procesamiento de datos, formada por al menos uno, preferiblemente una pluralidad, de nodos de red. Los nodos de red están conectados mediante al menos una conexión de red entre sí. Se prefiere que toda, pero al menos una subred de la red esté conectada mediante conexiones directas. En otras palabras, se prefiere una red de pares en las realizaciones de la invención, sin embargo, el alcance de la invención no se limita a las mismas y también abarca redes centralizadas y/o arquitecturas de red mixtas.
El término aplicación distribuida se refiere preferiblemente a una aplicación que se distribuye dentro de una red. En particular, la aplicación opera y/o se ejecuta en cada uno, algunos o al menos uno de los nodos de red que forman una red. El término incluye realizaciones donde una copia igual o similar de un código y/o subcódigo es operado independientemente en cada nodo de red. Sin embargo, el término también incluye realizaciones donde la aplicación en sí misma, es decir, su código se distribuye dentro de la red. En las últimas realizaciones, no se puede considerar que la aplicación esté en uno específico de los nodos de la red, sino que se debe considerar que está en cada nodo y así, en la propia red. En esas realizaciones, se puede acceder a la aplicación mediante uno específico de los nodos de la red y/o una conexión externa a la red, pero aún no se puede considerar que opere en dicho nodo específico de los nodos de la red.
El término pila de software, también conocido a menudo como pila de solución, se refiere preferiblemente a un conjunto de subsistemas de software y/o componentes necesarios para crear una plataforma completa de tal manera que no se necesite software adicional para soportar aplicaciones. Se dice que las aplicaciones "se ejecutan" o "se ejecutan encima de" la pila resultante. Esta definición de una pila de software puede superponerse con lo que se conoce como software de sistema. Los componentes de una pila de software pueden desarrollarse por diferentes desarrolladores independientemente uno del otro.
Además, la pila de términos también se refiere a un tipo específico de estructura de datos y/o método para compilar código apilando subsistemas y/o componentes uno encima del otro. La operación de introducir un nuevo subsistema y/o componente se denomina como añadir a la pila. Según la práctica común, algunos componentes/subsistemas de un sistema general se eligen juntos con la frecuencia suficiente para que se haga referencia al conjunto particular mediante un nombre que represente el conjunto, en lugar de nombrar las partes.
El término pila de nodos se refiere preferiblemente a una pila de software diseñada para operar en un nodo de una red, es decir, la acumulación de código que realmente se ejecuta en un nodo de una red.
El término pila operativa, que se utiliza para un aspecto de la invención, se refiere preferiblemente a una pila de software que se forma a partir de o por al menos una pila de nodos y se ejecuta en la red en lugar de en uno específico de los nodos de la red. Así, la pila operativa se ejecuta preferiblemente independientemente de cada uno específico de los nodos de red. Esta definición de una pila operativa puede superponerse con lo que se conoce como software de sistema.
El término cadena de bloques preferiblemente se refiere a una red de procesamiento de datos y/o a un método de procesamiento de datos basados en cadena de bloques. Una cadena de bloques puede tener una pluralidad de funciones y/o propiedades, preferiblemente funciones de procesamiento de datos. Según el principio subyacente, la definición de cadena de bloques se superpone con la de la red subyacente. Cada cadena de bloques es operada por u operada en una red de cadena de bloques. Los nodos de la red de cadena de bloques son preferiblemente idénticos a los nodos de la red física. Sin embargo, en algunas realizaciones, se puede instanciar una pluralidad de nodos de la misma cadena de bloques en un nodo específico de una red física. Adicional o alternativamente, al menos un nodo de una pluralidad de diferentes cadenas de bloques puede instanciarse en un nodo específico de una red física. El término cadena de bloques también se puede utilizar para tecnologías relacionadas, tales como tecnologías distribuidas, por ejemplo, hashgraph, IOTA tangle, torrents, etc.
Así, una red física puede comprender una pluralidad de cadenas de bloques. En otras palabras, la red física puede comprender una pluralidad de redes de cadena de bloques. Es de conocimiento común, que al menos una cadena de bloques no está interconectada, es decir, generalmente no interactúa ni interfiere entre sí utilizando los mismos recursos virtuales y/o físicos de la red.
En todas las realizaciones de la invención, se pueden utilizar diferentes métodos de conexión para conectar nodos de red de una red. Preferiblemente, se utiliza un protocolo de red basado en IP para la comunicación con y dentro de la red.
2. Etapa de configuración
En las realizaciones de la invención, se realiza una etapa de configuración. En la etapa de configuración, una pila operativa está configurada mediante la configuración de al menos una pila de nodos. La configuración de la pila de nodos se basa en una entrada de un conjunto de funciones y propiedades predeterminadas. Preferiblemente, las funciones y propiedades se definen desde la perspectiva de una aplicación distribuida.
En todas las realizaciones, se utiliza un sistema de configuración para configurar la pila de nodos. El sistema de configuración comprende una interfaz de usuario y una unidad de correspondencia. El sistema de configuración puede ser un dispositivo informático físico y/o puede ser un sistema distribuido. En otras palabras, el sistema de configuración puede distribuirse en al menos un nodo de red.
El sistema de configuración está configurado para recibir el conjunto de funciones y propiedades predeterminadas mediante la interfaz de usuario. La unidad de correspondencia está configurada para recibir datos relacionados con las funciones y propiedades predeterminadas recibidas.
Además, la unidad de correspondencia está configurada para determinar al menos una cadena de bloques de una pluralidad de cadenas de bloques disponibles analizando datos relacionados con las funciones y propiedades predeterminadas recibidas.
En una realización preferida, el sistema de configuración tiene una base de datos configurada para almacenar información sobre funciones y/o propiedades de cadenas de bloques disponibles y/o componentes de pila relacionados con dichas cadenas de bloques disponibles. La base de datos puede ser una base de datos central y/o una base de datos distribuida en el sistema de configuración. En algunas realizaciones, el sistema de configuración es una aplicación distribuida.
La unidad de correspondencia de todas las realizaciones está configurada para añadir componentes de pila relacionados con al menos una cadena de bloques determinada a la pila de nodos basándose en los datos de información relacionados con las funciones y propiedades predeterminadas recibidas. Los componentes de pila comprenden al menos uno de los siguientes: la cadena de bloques determinada, una interfaz de programación de aplicaciones para al menos una función y/o propiedad de la cadena de bloques determinada, un distribuidor y un complemento específico de la cadena de bloques.
Preferiblemente, la unidad de correspondencia está configurada además para añadir también una copia y/o una versión adaptada del propio sistema de configuración a la pila de nodos.
En un primer grupo de realizaciones preferidas, los datos relacionados con las funciones y propiedades predeterminadas recibidas se derivan del análisis de comandos proporcionados y de la extracción de las funciones y/o propiedades requeridas del código introducido, que se proporciona en al menos un lenguaje de programación estándar. En un segundo grupo de realizaciones, los datos relacionados con las funciones y propiedades predeterminadas recibidas se refieren a un conjunto de funciones y propiedades requeridas directamente introducidas a la interfaz de usuario. En un tercer grupo de realizaciones, los datos relacionados con las funciones y propiedades predeterminadas recibidas se derivan de instrucciones para añadir ciertos componentes a la pila.
Los grupos de realizaciones mencionados anteriormente se refieren a diferentes casos de uso con usuarios de diferentes habilidades.
Los complementos de cadena de bloques se definirán a continuación.
Un método de configuración correspondiente según las realizaciones de la invención, para un sistema de configuración como se ha descrito anteriormente, comprende las etapas de: recepción de una entrada sobre al menos un conjunto de funciones y propiedades predeterminadas; extracción opcionalmente las funciones y propiedades de la entrada; correspondencia de funciones y propiedades con al menos una cadena de bloques que tiene dichas funciones y/o propiedades o una pluralidad de cadenas de bloques que se combinan para tener las funciones y propiedades; y adición componentes de pila relacionados con dicha cadena de bloques y/o cadenas de bloques a la pila de nodos.
Se prefiere que se utilice una interfaz de usuario basada en web para recibir información sobre las funciones predeterminadas.
3. Etapa de distribución
En realizaciones de la invención, se realiza una etapa de distribución. En la etapa de distribución, la pila de nodos configurada se distribuye a los nodos de la red en una red. En una realización preferida, la pila de nodos se copia en un dispositivo de nodo físico utilizando un medio de almacenamiento físico que tiene almacenada una copia de la pila de nodos en el mismo. En otra realización preferida, la pila de nodos se descarga desde un servidor central y/o un almacenamiento basado en la nube al dispositivo de nodo físico. En otra realización preferida, la pila de nodos se envía desde un servidor central, en una red de pares y/o un almacenamiento basado en la nube al dispositivo de nodo físico. Alternativa o adicionalmente, la pila de nodos puede instalarse en una nube, es decir, en una red.
Para algunas realizaciones, se prefiere utilizar un esquema de distribución gestionado que tenga una interfaz de usuario para seleccionar al menos una pila de nodos que se distribuirá mediante uno de los métodos mencionados anteriormente. Es preferible que la interfaz de usuario sea la misma primera interfaz de usuario, que se ha utilizado previamente en la etapa de configuración.
Los dispositivos de nodo físico en todas las realizaciones pueden ser unidades de nodo dedicadas y/o unidades de nodo compartidas. Compartido se refiere a recursos compartidos virtuales y/o físicos.
Un método de distribución correspondiente según las realizaciones de la invención comprende la operación de distribuir la pila de nodos configurada a los nodos de una red física.
4. Etapa de conexión
En realizaciones de la invención, se realiza una etapa de conexión. En la etapa de conexión, al menos una pila de nodos se instancia en al menos un nodo. Se prefiere que se instancie una pluralidad de pilas de nodos en una pluralidad de nodos. En una realización, las pilas de nodos están configuradas para descubrir y conectarse a otras pilas de nodos en la red y así construir una red según la arquitectura de red de la red física subyacente.
Alternativa o adicionalmente, se puede formar una red entre las pilas de nodos, que tiene una arquitectura de red diferente a la red física subyacente. Una red de pares es una arquitectura preferida para la red entre las pilas de nodos.
En una realización preferida, la pila de nodos está configurada para formar una red de cadena de bloques respectiva, adecuada para que la cadena de bloques respectiva opere de manera efectiva. La arquitectura de la red de cadena de bloques respectiva está preferiblemente predeterminada por el tipo de cadena de bloques de la cadena de bloques respectiva. Preferiblemente, la red de cadena de bloques se forma en paralelo a la pila de operaciones que se está formando.
En todas las realizaciones en la etapa de conexión, se forma la pila operativa. Se prefiere que la pila operativa habilite una aplicación distribuida que se ejecuta en la red. Sin embargo, la pila operativa puede estar formada alternativa o adicionalmente por un componente de software en cada nodo.
En otras palabras, en algunas realizaciones de la invención, la pila operativa se ejecuta en cada nodo de la red. Sin embargo, se prefiere que la pila operativa se ejecute en la red formada en la etapa de conexión. Así, la pila operativa puede ser incluso idéntica a la pila de nodos distribuidos, pero la invención no está limitada a la misma, ya que la pila operativa también puede ser una aplicación distribuida y no puede limitarse a una pila específica de nodos. En una realización de la invención, al menos un nodo está configurado como nodos de gestión. Se prefiere que en la etapa de configuración la pila de nodos está configurada de manera que al menos una de las primeras pilas de nodos instanciadas se configure para ser uno de los nodos de gestión. En particular, los nodos de gestión pueden configurarse para soportar métodos de descubrimiento y establecimiento de conexión, que en general son conocidos por el experto. Además, el nodo de gestión puede tener una interfaz de usuario configurada para gestionar la etapa de conexión.
La interfaz de usuario de los nodos de gestión comprende preferiblemente la interfaz de la versión de copia y/o adaptada del sistema de configuración comprendido en la pila de nodos. Adicional o alternativamente, la interfaz de usuario comprende una interfaz de administración adecuada para gestionar la pila, preferiblemente para actualizar la pila de software.
En realizaciones, que se basan en un protocolo de red basado en IP, los nodos de gestión pueden configurarse para almacenar los números de IP de todos los nodos en la red. En una realización preferida, los números de IP se almacenan en la pila de nodos en la etapa de configuración y/o se gestionan mediante el nodo de gestión durante la etapa de conexión y operación.
Un método de conexión correspondiente según las realizaciones de la invención comprende etapas de instanciar al menos un nodo de gestión y/o el descubrimiento y conexión de pilas de nodos para formar la pila operativa.
5. Etapa de operación
En realizaciones de la invención, se realiza una etapa operativa. En la etapa operativo, la pila operativa está configurada para operar como una interfaz desde y hacia las cadenas de bloques. La pila operativa tiene una interfaz ascendente y una unidad de retransmisión con una interfaz descendente.
La interfaz ascendente está configurada para comunicarse, preferiblemente como una interfaz de programación de aplicaciones, con aplicaciones, que se basan en al menos una de las funciones y propiedades predeterminadas. Las aplicaciones son preferiblemente aplicaciones distribuidas; sin embargo, el alcance de la invención no está limitado a las mismas. En realizaciones con aplicaciones distribuidas, se prefiere que las aplicaciones se distribuyan en la misma o en una subred de la red de la pila operativa.
La unidad de retransmisión está configurada para retransmitir la comunicación desde la interfaz ascendente a la al menos una cadena de bloques en la pila operativa. La unidad de retransmisión comprende la interfaz descendente. Preferiblemente, la unidad de retransmisión comprende además al menos uno de los siguientes, una unidad de balanceador/encaminamiento, una unidad de autenticación y una unidad de distribución.
La interfaz descendente está configurada para comunicarse con al menos una cadena de bloques, en otras palabras, con la red de cadena de bloques en la pila operativa. Parte de la comunicación puede ser retransmitir información recibida mediante la interfaz ascendente, está destinada dicha información a una específica de las funciones de cadena de bloques, a una cadena de bloques respectiva que tenga dicha función y/o propiedad. Otra parte de la comunicación puede ser retransmitir información recibida de una cadena de bloques mediante la interfaz descendente a la interfaz ascendente.
La interfaz descendente comprende preferiblemente al menos un complemento específico de cadena de bloques. El complemento comprende al menos un adaptador de función según las funciones de la cadena de bloques. Cada adaptador de función está configurado para recibir información de la interfaz ascendente y convertir dicha información a una cadena de bloques específica de al menos un comando y/o al menos una transacción. Además, el adaptador de función está configurado adicionalmente para convertir una cadena de bloques específica de al menos un comando y/o al menos una transacción a información que se ha de enviar a la interfaz ascendente.
Además, en realizaciones de la invención en la etapa operativa, la pila operativa comprende una unidad de distribución. La unidad de distribución es preferiblemente la unidad de distribución de la copia y/o versión adaptada del sistema de configuración comprendido en la pila operativa. La unidad de distribución está configurada para realizar al menos una de las siguientes etapas: añadir al menos un complemento a la interfaz descendente; retirar al menos un complemento de la interfaz descendente; y reemplazar al menos una función en al menos un complemento de la interfaz descendente.
La pila operativa también se puede configurar para realizar tareas de procesamiento generales para la información recibida mediante la interfaz ascendente desde una aplicación. Preferiblemente, las tareas de procesamiento generales se relacionan con el procesamiento previo o posterior de la información para su uso con al menos una función de cadena de bloques.
6. Diagramas de la invención.
La fig. 2a muestra un diagrama de bloques de la arquitectura de alto nivel según una realización de la invención. Según la invención, la pila 200 operativa, también denominada MESH-OS, conecta funcionalmente una aplicación 100 a una red 300 tecnológica distribuida. En detalle, la aplicación 100 puede tener al menos un caso de uso 102. Un caso de uso 102 puede requerir diferentes funciones tales como pago 102a, identidad 102b, almacenamiento 102c, contratos inteligentes 102d, procedencia de datos 102f y/o cualquier número de otras funciones 102N. Sin embargo, la presente invención no está restringida a una pluralidad de funciones 102a a 102N. Hay realizaciones, donde solamente una de las funciones está presente. Las funciones mencionadas anteriormente se enumeran como funciones típicas, pero no limitan el alcance de la invención.
La aplicación 100 se comunica con la pila operativa 200 a través de la interfaz 210 ascendente. A continuación, se proporcionará una descripción más detallada de dicha comunicación. Dentro de la pila operativa 200, la funcionalidad solicitada se corresponde con al menos una cadena de bloques 302a a 302N, que está comprendida en la red 300 tecnológica distribuida. Sin embargo, la presente invención no está restringida a una pluralidad de cadenas de bloques 302a a 302N. Hay realizaciones, donde solamente está presente una cadena de bloques 302a. La pila operativa 200 se comunica con la red 300 tecnológica distribuida mediante la interfaz 220 descendente. La red 300 tecnológica distribuida solamente puede comprender cadenas de bloques y así, se puede denominar alternativamente al menos una cadena de bloques. Sin embargo, la red 300 tecnológica distribuida también puede comprender otras tecnologías 303a a 303N distribuidas, que no se basan necesariamente en una cadena de bloques. Sin embargo, la presente invención no está restringida a una pluralidad de tecnologías 303a a 303N distribuidas. Hay realizaciones, donde solamente una o ninguna tecnología distribuida está presente.
Ya que cada función y/o propiedades pueden coincidir con al menos una cadena de bloques y al menos una función y/o propiedad pueden coincidir con la misma cadena de bloques, el número de cadenas de bloques puede diferir del número de funciones. Además, mutatis mutandis, el número de tecnología 303a a 303N distribuida puede diferir del número de cadenas de bloques 302a a 302N.
La figura 2b muestra un diagrama de bloques detallado de la arquitectura de alto nivel según una realización de la invención, en particular en las interfaces 210 y 220 de la pila operativa 200.
La interfaz 210 ascendente comprende una pluralidad de interfaces 211a a 211N de programación de aplicaciones. Sin embargo, la presente invención no está restringida a una pluralidad de interfaces 211a a 211N de aplicación. Hay realizaciones, donde solamente está presente una de la interfaz 211a de aplicación. Cada función 102a a 102N está funcionalmente conectada a al menos una correspondiente de la pluralidad de interfaces 211a a 211N de programación de aplicaciones. Un ejemplo de la conexión funcional mencionada anteriormente puede ser que en el código del caso de uso 102 la funcionalidad 102a a 102N está programada contra al menos una de las interfaces de programación de aplicaciones. Se prefiere que se utilice un lenguaje de codificación unificado para las interfaces 211a a 211N de programación de aplicaciones en la interfaz 210 ascendente.
La interfaz 220 ascendente comprende al menos un adaptador 221a. Preferiblemente, la interfaz 220 descendente
comprende una pluralidad de adaptadores 221 a a 221N. Cada cadena de bloques 302a a 302N está funcionalmente conectada a al menos uno de los adaptadores 221a a 221N. Preferiblemente, los adaptadores utilizan un lenguaje de codificación unificado para la comunicación con la pila operativa. Por lo tanto, los adaptadores forman una interfaz definida para las cadenas de bloques 302a a 302N. El experto se da cuenta de que cada cadena de bloques puede requerir al menos un adaptador específico.
En la siguiente descripción, se utilizarán diferentes términos relacionados con la interfaz descendente. Los términos se refieren a ciertos aspectos de la interfaz descendente, algunos términos se centran en características funcionales, otros se centran en características estructurales. Algunas características funcionales no pueden describirse en términos de características estructurales correspondientes y viceversa. Por lo tanto, la definición puede superponerse. En términos generales, la interfaz descendente comprende adaptadores para comunicarse con al menos una cadena de bloques. En términos de código de programación, la interfaz descendente comprende al menos un complemento, que corresponde al adaptador, sin embargo, también una pluralidad de complementos puede corresponder a uno de dichos adaptadores. Además, cada complemento puede comprender al menos un adaptador de función.
La figura 3a muestra un diagrama de bloques de un sistema de configuración para una pila de nodos en la etapa de configuración según una realización de la invención. En realizaciones de la invención, un sistema 230 de configuración comprende una interfaz 201 de usuario y una unidad 231 de correspondencia. La unidad de configuración preferiblemente comprende además al menos una base de datos 232.
La interfaz 201 de usuario está configurada para recibir un conjunto de funciones y/o propiedades predeterminadas de un desarrollador 111 de aplicaciones. Adicional o alternativamente, la interfaz 201 de usuario está configurada para recibir un conjunto de funciones y/o propiedades predeterminadas del desarrollador de la pila operativa.
La unidad 231 de correspondencia está configurada para recibir datos desde la interfaz 201 de usuario, que se refiere al conjunto de funciones y/o propiedades predeterminadas. La unidad 231 de correspondencia está configurada además para determinar al menos una cadena de bloques a partir de una pluralidad de cadenas de bloques disponibles, que tiene al menos una de las funciones y/o propiedades predeterminadas. Adicional o alternativamente, la unidad 231 de correspondencia puede configurarse para determinar al menos dos cadenas de bloques a partir de una pluralidad de cadenas de bloques disponibles, que se combinan para tener al menos una de las funciones y/o propiedades predeterminadas.
Para la etapa de determinación, la unidad 231 de correspondencia utiliza preferiblemente la al menos una base de datos 232 que comprende información sobre cadenas de bloques disponibles y sus respectivas funciones y propiedades y/o componentes de pila relacionados con las cadenas de bloques disponibles. Preferiblemente, los componentes de pila comprenden la cadena de bloques.
Además, la unidad 231 de correspondencia está configurada para construir una pila 20 de nodos. La pila de nodos comprende al menos una copia y/o versión adaptada del sistema 230 de configuración, un servidor 202 de gestión y un “docker” 204 que comprende componentes de pila relacionados con al menos una cadena de bloques 302a determinada.
La figura 3b muestra un diagrama de bloques de una pila operativa según una realización de la invención. En realizaciones de la invención, la pila operativa comprende al menos un “docker” 204a a 204N, al menos una primera interfaz 201 de usuario y al menos un servidor 202 a 202N de gestión.
El término “docker” anterior y en lo sucesivo se utiliza como sinónimo de un entorno de recipiente.
El al menos un “docker” 204a a 204N es el componente principal de cada pila de nodos operado en cada nodo físico de la red y así, también es un componente principal de la pila 200 operativa según la invención. A continuación, se proporcionará una descripción detallada del funcionamiento interno del “docker” 204a a 204N.
Se considera que tres aspectos en relación con el “docker” son igualmente preferibles según la invención. En un primer aspecto, un “docker” 204a a 204N está comprendido en una pila de nodos. Por consiguiente, el “docker” comprende al menos un nodo de cadena de bloques. En un segundo aspecto, al menos un “docker” 204a a 204N está comprendido en una pila de nodos. Por consiguiente, cada uno de los al menos un “docker” comprende un solo nodo de cadena de bloques. El tercer aspecto se relaciona con una arquitectura híbrida que combina el primer y el segundo grupo. Las cadenas de bloques pueden, por ejemplo, agruparse en al menos un “docker” según funciones y/o requisitos de hardware similares o complementarios.
En todas las realizaciones, el al menos un “docker” 204a a 204N está funcionalmente conectado con el al menos un servidor 202 a 202N de gestión. Se observa que, con fines ilustrativos, un servidor 202 de gestión se representa separado de los otros servidores de gestión y conectado al mismo por una línea discontinua gruesa. Esto no limita el alcance de la invención, en particular el nodo 202 de gestión no es un nodo especial y todos los nodos 202N de gestión adicionales son iguales. Además, en algunas realizaciones, los nodos 202 y 202N de gestión pueden ser el mismo nodo, es decir, solamente un nodo de gestión está comprendido en la pila operativa.
Preferiblemente, el al menos un servidor 202 de gestión se opera en el nodo de gestión y así, forma parte de la pila operativa. Preferiblemente, el código correspondiente es parte de cada pila de nodos, sin embargo, solamente se opera en el nodo de gestión.
En la etapa de operación en las realizaciones, la pila operativa según la invención tiene la primera interfaz 201 de usuario. Preferiblemente, la primera interfaz 201 de usuario es una interfaz de usuario basada en web. La interfaz de usuario está comprendida en la copia y/o versión adaptada del sistema 230 de configuración, que se ha adición a la pila en la etapa de configuración. Al menos un usuario puede interactuar con dicha interfaz 201 de usuario. Ejemplos de la interacción son:
e1) Un administrador 111 del sistema de la pila operativa puede crear nuevas instancias de la pila operativa y/o la correspondiente del “docker” 204 a 204N. Alternativa o adicionalmente, el administrador 111 también puede gestionar cuentas de usuario en la pila operativa.
e2) Un desarrollador 112 de aplicaciones puede utilizar una interfaz de programación de aplicaciones contra la interfaz 201 de usuario para desarrollar la aplicación 100. Alternativa o adicionalmente, el administrador 111 también puede gestionar cuentas de usuario en la pila operativa.
e3) Una aplicación 100 puede almacenar datos en la al menos una cadena de bloques.
Además, la primera interfaz 201 de usuario está conectada funcionalmente al menos a un servidor de gestión 202 a 202N, preferiblemente para la gestión de la instancia o instancias de pila operativa y la entrada de redireccionamiento a la misma.
El usuario 113 puede interactuar con la aplicación 100. La aplicación 100 está conectada funcionalmente a la pila 200 operativa directamente, es decir, está conectada con la interfaz ascendente. En otras palabras, la aplicación 100 está funcionalmente conectada con al menos un “docker” 204a a 204N de la pila 200 operativa.
La fig. 4 muestra un diagrama de bloques de un detalle de la pila operativa según una realización de la invención. En particular, la interfaz 211a de programación de aplicaciones de la interfaz 210 ascendente y el “docker” 204a se muestran en detalle.
La interfaz 211a de programación de aplicaciones de la interfaz 210 ascendente comprende preferiblemente un websocket 2111 así como un Hypermedia como motor del estado de aplicación (HATEOAS) y/o una arquitectura 2112 de aplicación de transferencia de estado representacional (REST). Alternativa o adicionalmente, la interfaz 211a de programación de aplicaciones también puede comprender otros componentes 2113, que el experto consideraría necesarios.
El “docker” 204a comprende una unidad 2041 de balanceador/encaminador, una unidad 2042 de autenticación, una unidad 2043 de distribución y un complemento 2044 específico de cadena de bloques. El “docker” 204a como se muestra en la fig. 4 también comprende un nodo de una cadena de bloques 302a. Esto es solamente para ilustración y no pretende limitar el alcance de la invención. La siguiente descripción detallada también se aplica a realizaciones con múltiples “docker” y/o múltiples cadenas de bloques por “docker”.
Debe comprenderse que cada uno de los componentes descritos del complemento se refiere en el término singular para una mejor inteligibilidad, sin embargo, la invención no se limita a los mismos. En particular, el término singular también incluye el término plural. En otras palabras, se omite la redacción de al menos uno con respecto a los componentes del “docker” 204a.
La unidad 2041 de balanceador/encaminador está configurada para balancear la carga entre diferentes “docker” y/o encaminar la solicitud a otros “docker”. Así, dicha unidad 2041 está configurada para reenviar información, tal como actualizaciones, a otras pilas operativas y/o instancias 204N de “docker”.
El complemento 2044 está funcionalmente conectado a al menos una cadena de bloques 302a. Dicho complemento 2044 y las conexiones 2044a a 2044e funcionales correspondientes están en otras partes de la descripción denominada adaptador de cadena de bloques.
En otras palabras, en términos de código de programación, la interfaz descendente está integrada al “docker” 204a, en particular en el complemento 2044. El complemento 2044 se comunica así mediante la interfaz descendente dentro del “docker” con la cadena de bloques 302a. En otras palabras, en cada nodo de la red se opera una pila de nodos; la pluralidad de pilas de nodos forma al menos una pila 200 operativa; la pila 200 operativa comprende al menos un “docker” 204a; y el al menos un “docker” 204a comprende al menos un complemento 2044, que comprende la interfaz descendente hacia al menos una cadena de bloques. La al menos una cadena de bloques también está comprendida en el al menos un “docker” 204a.
Las conexiones funcionales mencionadas anteriormente entre el complemento y la cadena de bloques comprenden preferiblemente: la instalación de un nuevo nodo 2044a de cadena de bloques, la actualización del nodo 2044b de cadena de bloques, la lectura de un estado del nodo 2044c de cadena de bloques, la lectura y/o escritura de datos
en el nodo 2044d de cadena de bloques, y la ejecución de operaciones 2044e específicas de cadena de bloques. La fig. 5 muestra un diagrama de bloques detallado de un distribuidor y un complemento de cadena de bloques según una realización de la invención. El complemento 2044 está ubicado funcionalmente entre la unidad 2043 de distribución y el nodo 302a físico de cadena de bloques.
El complemento 2044 comprende al menos un adaptador 2044a a 2044N de función, cada uno correspondiente a al menos una función de la cadena de bloques. El adaptador de función está configurado para informar sobre un nombre de al menos una correspondiente de las funciones. Ejemplos de dichos nombres se pueden leer, almacenar, etc. El adaptador 2044a a 2044N de función está configurado además para recibir y/o validar solicitudes de la unidad 2043 de distribución. Aún más, el adaptador de función está configurado para enviar datos en respuesta a la solicitud a la unidad 2043 de distribución.
El al menos un adaptador 2044a a 2044N de función está funcionalmente conectado a la cadena de bloques 302a correspondiente.
En la etapa de configuración, el adaptador 2044a a 2044N de función está configurado para informar a la unidad 2043 de distribución sobre las funciones contenidas de la cadena de bloques y la unidad 2043 de distribución está configurada para publicar la información en la pila 200 operativa. Preferiblemente, la información se almacena en la al menos una base de datos de la unidad 230 de correspondencia y se utiliza para determinar la al menos una cadena de bloques.
En la fase operativa, la unidad 2043 de distribución está configurada para recibir solicitudes y distribuirlas a cada función de la cadena de bloques mediante un adaptador 2044a a 2044N de función correspondiente.
7. Aspectos adicionales de la invención.
En realizaciones, según la invención, los contratos inteligentes pueden utilizarse para actualizar al menos parte de la pila operativa.
En algunas realizaciones, la pila operativa está configurada para adaptarse dinámicamente durante la fase de operación. La adaptación se inicia mediante la segunda interfaz de usuario. La etapa de adaptación de la pila de operaciones comprende preferiblemente al menos uno de las etapas de: reemplazo de un nodo de cadena de bloques, adición de un nodo de cadena de bloques o eliminación de un nodo de cadena de bloques. La etapa de adaptación de la pila de operaciones comprende además preferiblemente al menos una de las etapas de: reemplazo de un complemento, adición de un complemento o eliminación de un complemento. La etapa de adaptación de la pila de operaciones comprende además preferiblemente al menos una de las etapas de: reemplazo de una función, adición de una función o eliminación de una función.
En algunas realizaciones, el servidor de gestión está configurado para analizar al menos una de las interfaces de la pila operativa. Preferiblemente, el servidor de gestión también está configurado para adaptar dinámicamente la pila operativa según los resultados de la etapa de análisis. La etapa de análisis puede comprender el análisis del rendimiento de al menos una cadena de bloques conectada.
En algunas realizaciones, los recursos físicos pueden no estar igualmente distribuidos dentro de la red. Por ejemplo, algunos nodos pueden tener altas capacidades de procesamiento y otros nodos pueden tener altas capacidades de almacenamiento. Según la invención, la pila operativa está configurada para distribuir la tarea de procesamiento dentro de la red según los recursos disponibles. Preferiblemente, la pila operativa también está configurada para añadir nodos adicionales si se requieren recursos adicionales según un resultado de una etapa de análisis. Adicional o alternativamente, la pila operativa está configurada para incluir nodos adicionales basándose en una instrucción recibida mediante la segunda interfaz de usuario.
En algunas realizaciones, en la etapa de configuración, el conjunto de funciones y/o propiedades predeterminadas se determina basándose en al análisis de una aplicación existente en la unidad de correspondencia. En otras palabras, la unidad de correspondencia está configurada para recomendar una cadena de bloques adecuada para proporcionar al menos una función y/o propiedad basándose en una aplicación existente introducida a la unidad de correspondencia.
Lo que se ha descrito e ilustrado en la presente memoria son realizaciones de la invención junto con algunas variaciones. Los términos, descripciones y figuras utilizados en la presente memoria se exponen solo a modo de ilustración solamente y no se consideran limitaciones. Los expertos en la técnica reconocerán que son posibles muchas variaciones dentro del alcance de la invención, que se pretende definir mediante las siguientes reivindicaciones en las que todos los términos se entienden en su sentido razonable más amplio a menos que se indique lo contrario.
Claims (9)
1. Un método implementado por ordenador para operar una red de procesamiento de datos con una pila (200) operativa, estando configurada la pila operativa para la gestión de al menos una aplicación (100) distribuida y al menos una red de procesamiento de datos basada en cadena de bloques, que es adecuada para proporcionar al menos una función y/o propiedad, comprendiendo el método:
una configuración realizada por un sistema (230) de configuración, que comprende una interfaz (201) de usuario para recibir información sobre al menos un conjunto de funciones y/o propiedades (102a-102N) predeterminadas de la aplicación distribuida con las etapas de:
a) recepción en una unidad (231) de correspondencia de la información sobre al menos un conjunto de funciones y/o propiedades predeterminadas de la aplicación distribuida,
b) determinación en una unidad de correspondencia de al menos una cadena de bloques de una pluralidad de cadenas de bloques (302a-302N) disponibles, que es adecuada para proporcionar al menos una función y/o propiedad según la información recibida sobre el al menos un conjunto de funciones y/o propiedades predeterminadas,
c) adicción de los componentes (204a-204N) de la pila de cadena de bloques con relación a dicha al menos una cadena de bloques a una pila de software, y
d) repetición de las etapas b) y c) hasta para cada función y/o propiedad de la información recibida sobre al menos un conjunto de funciones y/o propiedades predeterminadas, al menos una cadena de bloques respectiva se ha determinado y adición a la pila de software;
una etapa de distribución para distribuir la pila de software a al menos una unidad de nodo de la red de procesamiento de datos;
una etapa de conexión para instanciar la pila de software en la al menos una unidad de nodo, en donde la pila de software instanciada forma al menos una red de cadena de bloques según la al menos una cadena de bloques en la pila de software y forma la pila operativa; y
una etapa operativa de
e) proporcionando la pila operativa una interfaz (210) ascendente a la al menos una aplicación distribuida para al menos una función o propiedad de al menos un conjunto de funciones y/o propiedades predeterminadas y f) proporcionando la pila operativa una interfaz (220) descendente al menos a una función de cadena de bloques correspondiente a la al menos una función y/o propiedad.
2. El método según la reivindicación 1, en donde en la etapa operativa la interfaz ascendente realiza la etapa de comunicarse con la aplicación distribuida mediante al menos una interfaz de programación de aplicaciones utilizando un lenguaje de programación unificado (211 a-211N), en donde la interfaz ascendente tiene una interfaz de programación de aplicaciones para cada uno de los al menos una función o propiedad del conjunto de funciones y/o propiedades predeterminadas.
3. El método según la reivindicación 1 o 2, en donde la interfaz descendente tiene al menos un complemento (2044) específico de cadena de bloques, que tiene al menos un adaptador (2044a-2044N) de función para abordar cada función de la cadena de bloques, y en la etapa operativa la interfaz descendente realiza las etapas de retransmisión de información entrante, relacionada con la comunicación de la interfaz ascendente, desde la interfaz ascendente a al menos uno de los complementos específicos de cadena de bloques; y
retransmisión de información saliente, relacionada con la información entrante, desde al menos un complemento específico de cadena de bloques a la interfaz ascendente.
4. El método según la reivindicación 3, en donde la pila operativa comprende una unidad (2043) de distribución, que en la etapa de configuración realiza las etapas de
recepción de información sobre al menos una función y/o propiedad disponible de al menos un adaptador de función en el al menos un complemento específico de cadena de bloques, e
información a la unidad de correspondencia sobre la al menos una función y/o propiedad disponible; y que en la etapa operativa realiza las etapas de
distribución de información entrante desde la interfaz ascendente a una específica del al menos un complemento específico de cadena de bloques de la interfaz descendente, en donde el específico del al menos un complemento específico de cadena de bloques comprende un adaptador de función correspondiente a la al menos una función
y/o propiedad con la que se relaciona la información entrante, y
distribución de información saliente desde el específico del al menos un complemento específico de cadena de bloques a la interfaz ascendente.
5. El método según cualquiera de las reivindicaciones 1 a 4, en donde la pila operativa comprende un servidor (202) de gestión, en donde el servidor de gestión comprende al menos una interfaz (201) de usuario adecuada para la recepción de instrucciones para reconfigurar la pila operativa, y el servidor de gestión en la etapa operativo realiza una etapa de reconfiguración que comprende al menos una de las siguientes etapas:
reemplazo, adición o eliminación de una cadena de bloques desde la pila de software;
reemplazo, adición o eliminación de un complemento específico de cadena de bloques desde la pila operativa; y reemplazo, adición o eliminación de un adaptador de función de un complemento específico de cadena de bloques.
6. Una red de procesamiento de datos con una pila operativa para la gestión de al menos una aplicación distribuida adecuada para realizar el método según cualquiera de las reivindicaciones 1 a 5.
7. Un aparato de procesamiento de datos que comprende medios para llevar a cabo las etapas del método de una cualquiera de las reivindicaciones 1 a 5.
8. Un producto de programa informático que comprende instrucciones que, cuando el programa se ejecuta por un ordenador, hace que el ordenador lleve a cabo el método de cualquiera de las reivindicaciones 1 a 5.
9. Un medio de almacenamiento legible por ordenador que comprende instrucciones que, cuando se ejecutan por un ordenador, hacen que el ordenador lleve a cabo el método de cualquiera de las reivindicaciones 1 a 5.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18157460.9A EP3528112B1 (en) | 2018-02-19 | 2018-02-19 | Management ecosystem of superdistributed hashes |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2794904T3 true ES2794904T3 (es) | 2020-11-19 |
Family
ID=61282973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES18157460T Active ES2794904T3 (es) | 2018-02-19 | 2018-02-19 | Ecosistema de gestión de funciones hash superdistribuidas |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3528112B1 (es) |
ES (1) | ES2794904T3 (es) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3879782A1 (en) | 2020-03-13 | 2021-09-15 | Deutsche Telekom AG | Methods and systems for message relay in a distributed architecture |
EP3879781B1 (en) | 2020-03-13 | 2022-07-27 | Deutsche Telekom AG | Methods and systems for network service management in a distributed architecture |
EP3879402B1 (en) | 2020-03-13 | 2024-01-17 | Deutsche Telekom AG | Methods and systems for service discovery and tunnelling in a distributed architecture |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10819530B2 (en) * | 2008-08-21 | 2020-10-27 | Oracle International Corporation | Charging enabler |
US10402038B2 (en) | 2015-01-08 | 2019-09-03 | Hand Held Products, Inc. | Stack handling using multiple primary user interfaces |
GB2540977A (en) | 2015-07-31 | 2017-02-08 | British Telecomm | Expendable access control |
US11023248B2 (en) | 2016-03-30 | 2021-06-01 | British Telecommunications Public Limited Company | Assured application services |
GB201607476D0 (en) | 2016-04-29 | 2016-06-15 | Eitc Holdings Ltd | Operating system for blockchain IOT devices |
US10447478B2 (en) * | 2016-06-06 | 2019-10-15 | Microsoft Technology Licensing, Llc | Cryptographic applications for a blockchain system |
CN107579931B (zh) * | 2017-09-08 | 2019-09-10 | 杭州云象网络技术有限公司 | 一种基于Kubernetes的区块链即服务资源适配方法 |
-
2018
- 2018-02-19 ES ES18157460T patent/ES2794904T3/es active Active
- 2018-02-19 EP EP18157460.9A patent/EP3528112B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3528112B1 (en) | 2020-05-13 |
EP3528112A1 (en) | 2019-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11171867B2 (en) | System and method for supporting SMA level abstractions at router ports for inter-subnet exchange of management information in a high performance computing environment | |
CN110537182B (zh) | 为区块链云服务提供代表性状态转移代理服务的系统和方法 | |
EP3644552B1 (en) | Mobile edge computing meets blockchain | |
CN108769258B (zh) | 用于将区块链网络托管于区块链应用平台的方法和装置 | |
US20170257315A1 (en) | System and method for supporting sma level abstractions at router ports for enablement of data traffic in a high performance computing environment | |
US20150121483A1 (en) | System and method for identity management providers in a cloud platform environment | |
ES2794904T3 (es) | Ecosistema de gestión de funciones hash superdistribuidas | |
CN108141373B (zh) | 用于网络控制器的联合的通信框架 | |
US10033631B1 (en) | Route distribution for service appliances | |
US9935834B1 (en) | Automated configuration of virtual port channels | |
US20230109231A1 (en) | Customizable network virtualization devices using multiple personalities | |
US9417997B1 (en) | Automated policy based scheduling and placement of storage resources | |
Khatiri et al. | Balanced resource allocation for VNF service chain provisioning in inter-datacenter elastic optical networks | |
US20200036784A1 (en) | Peer-to-peer network for internet of things resource allocation operation | |
AU2013266420B2 (en) | Pluggable allocation in a cloud computing system | |
Drost et al. | Zorilla: a peer‐to‐peer middleware for real‐world distributed systems | |
US9841929B1 (en) | Distributed system software infrastructure | |
US20240098088A1 (en) | Resource allocation for virtual private label clouds | |
US20240195681A1 (en) | Secure bi-directional network connectivity system between private networks | |
US20240129185A1 (en) | Secure bi-directional network connectivity system between private networks | |
US20240056335A1 (en) | Multiple top-of-rack (tor) switches connected to a network virtualization device | |
US20240129285A1 (en) | Identity management in a multi-cloud infrastructure | |
WO2024138123A1 (en) | Secure bi-directional network connectivity system between private networks | |
Grandhi et al. | Automation of Blockchain Network Setup in Offering Blockchain as a Service (BaaS) | |
WO2024039522A1 (en) | Network architecture for dedicated region cloud at customer |