CN109479053A - 用于区块链网络的节点发现和自愈的方法和*** - Google Patents
用于区块链网络的节点发现和自愈的方法和*** Download PDFInfo
- Publication number
- CN109479053A CN109479053A CN201780042699.XA CN201780042699A CN109479053A CN 109479053 A CN109479053 A CN 109479053A CN 201780042699 A CN201780042699 A CN 201780042699A CN 109479053 A CN109479053 A CN 109479053A
- Authority
- CN
- China
- Prior art keywords
- processing server
- message
- protocol
- calculating equipment
- protocol message
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0836—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability to enhance reliability, e.g. reduce downtime
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/286—Time to live
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/165—Combined use of TCP and UDP protocols; selection criteria therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/26—Route discovery packet
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
一种自动配置通信网络的方法,包括:生成请求消息,所述请求消息至少包括相关联的通信地址;使用预定义的用户数据报协议(UDP)端口将生成的请求消息作为广播消息发送到多个计算设备,其中,以预定生存时间发送所述广播消息;从计算设备接收由相应的计算设备使用预定义的UDP端口发送的协议消息;每个协议消息包括与相应计算设备相关联的通信地址和指定的传输控制协议(TCP)端口;识别所述一个或多个协议消息中的至少一个协议消息用于建立通信;以及使用特定TCP端口建立与每个识别出的协议消息相关联的计算设备的通信连接。
Description
相关申请的交叉引用
本申请要求2016年7月15日提交的美国申请No.15/211,076的权益和优先权。通过引用的方式将上述申请的全部公开内容合并于此。
技术领域
本公开涉及通信网络的自动配置,具体地,涉及包括区块链网络在内的通信网络的发现和自配置以及自愈,该通信网络通过使用多个连接时间和不同的生存时间来抗***。
背景技术
通常由于各种不同的原因建立通信网络。一些通信网络可以是用于连接家庭或企业中的设备的小型局域网,而其他通信网络可以是跨越城市、国家或世界的互连***和设备的大型网络。在某些类型的网络中(例如,区块链网络),想要连接到网络的新设备或***必须首先连接到之前识别出的几个主机***之一。这些之前识别出的***通常被硬编码到连接程序中,或者在建立连接时由操作员手动输入它们的连接信息。
在任一情况下,将设备或***连接到通信网络都需要预先知道特定的通信地址。在这种情况下,如果新设备或***想要参与到通信网络,则必须首先获得这样的信息。因此,在没有首先建立主机***,获得它们的通信信息,并对连接程序进行硬编码以利用连接信息的情况下,这种网络的自动配置是不可能的。此外,在建立通信网络之后对主机***的连接信息的任何改变都将导致在断开连接时节点不能重新连接,并且要求该节点使用改变的连接信息更新其连接程序。对于可能覆盖数千或数百万计算设备的远程通信网络来说,需要不断更新的这种详细配置,这可能是低效且不可靠的。
因此,需要一种提供不需要使用硬编码或手动输入的通信地址就能实现通信网络的有效自动配置和自愈的技术解决方案,其中,设备或***可以不需要使用之前识别出的通信地址就自动连接到网络。
发明内容
本公开提供了对一种用于自动配置通信网络和配置抗***(partition-resistant)通信网络的***和方法的描述。
一种自动配置通信网络的方法,包括:由处理服务器的生成模块生成请求消息,其中,所述请求消息至少包括与所述处理服务器相关联的通信地址;由所述处理服务器的发送设备使用预定义的用户数据报协议(UDP)端口将生成的请求消息作为广播消息电子地发送到多个计算设备,其中,以预定生存时间发送所述广播消息;由所述处理服务器的接收设备接收一个或多个协议消息,其中,每个协议消息从所述多个计算设备中的一个计算设备接收,所述每个协议消息由相应的计算设备使用所述预定义的UDP端口发送,并且所述每个协议消息至少包括与相应计算设备相关联的通信地址和指定的传输控制协议(TCP)端口;由所述处理服务器的数据识别模块识别所述一个或多个协议消息中的至少一个协议消息用户建立通信;以及由所述处理服务器的通信模块使用包括在相应的协议消息中的特定TCP端口建立与和所述至少一个识别出的协议消息中的每一个协议消息相关联的计算设备的通信连接。
一种用于配置抗***通信网络的方法,包括:由处理服务器的生成模块生成请求消息,其中,所述请求消息至少包括与所述处理服务器关联的通信地址;由所述处理服务器的发送设备以电子方式将生成的请求消息发送到多个计算设备;由所述处理服务器的接收设备接收一组协议消息,其中,每个协议消息是从所述多个计算设备中的一个计算设备接收的并且至少包括与相应的计算设备相关联的通信地址和指定的传输控制协议(TCP)端口;由所述处理服务器的数据识别模块识别所述多个计算设备中的一个远程计算设备和至少一个本地计算设备,其中,从所述多个计算设备接收了协议消息,其中,所述远程计算设备与所述处理服务器的地理距离比所述至少一个本地计算设备中的每一个本地计算设备与处理服务器的地理距离都要更远;以及由所述处理服务器的通信模块使用包括在相应的协议消息中的指定的TCP端口来建立和所述远程计算设备和所述至少一个本地计算设备中的每个本地计算设备的通信连接。
一种用于自动配置通信网络的***,包括:处理服务器的生成模块,其被配置为生成请求消息,所述请求消息至少包括与所述处理服务器相关联的通信地址;所述处理服务器的发送设备,其被配置为使用预定义的用户数据报协议(UDP)端口将生成的请求消息作为广播消息电子地发送到多个计算设备,其中,以预定生存时间发送所述广播消息;所述处理服务器的接收设备,其被配置为接收一个或多个协议消息,其中,每个协议消息从所述多个计算设备中的一个计算设备接收,所述每个协议消息由相应的计算设备使用所述预定义的UDP端口发送,并且所述每个协议消息至少包括与相应计算设备相关联的通信地址和指定的传输控制协议(TCP)端口;所述处理服务器的数据识别模块,其被配置为识别所述一个或多个协议消息中的至少一个协议消息用于建立通信;以及所述处理服务器的通信模块,被配置为使用包括在相应协议消息中的特定TCP端口建立与所述至少一个所识别的协议消息中的每一个相关联的计算设备的通信连接。
一种用于配置抗***通信网络的***,包括:处理服务器的生成模块,其被配置为生成请求消息,所述请求消息至少包括与所述处理服务器关联的通信地址;所述处理服务器的发送设备,其被配置为以电子方式将生成的请求消息发送到多个计算设备;所述处理服务器的接收设备,其被配置为接收一组协议消息,其中,每个协议消息是从所述多个计算设备中的一个计算设备接收的并且至少包括与相应的计算设备相关联的通信地址和指定的传输控制协议(TCP)端口;所述处理服务器的数据识别模块,其被配置为识别所述多个计算设备的一个远程计算设备和至少一个本地计算设备,其中,从所述多个计算设备接收到了每个协议消息,其中,所述远程计算设备与所述处理服务器的地理距离比所述至少一个本地计算设备中的每一个本地计算设备与处理服务器的地理距离都要更远;以及所述处理服务器的通信模块,其被配置为使用包括在相应的协议消息中的指定的TCP端口来建立和所述远程计算设备和所述至少一个本地计算设备中的每个本地计算设备的通信连接。
附图说明
当结合附图阅读时,从以下示例性实施例的详细描述中可以最好地理解本公开的范围。附图中包括以下各图:
图1是示出根据示例性实施例的用于自动配置抗***通信网络的高级***架构的框图;
图2是示出根据示例性实施例的用于自动配置抗***通信网络的图1的处理服务器的框图;
图3是示出根据示例性实施例的使用图1所示的***将图2的处理服务器的自动连接到通信网络中的计算设备的过程的流程图;
图4是示出根据示例性实施例的通过使用图1的***中的远程计算设备自动配置抗***通信网络的过程的流程图;
图5是示出根据示例性实施例的涉及图2的处理服务器的自动配置通信网络的过程的流程图;
图6是示出根据示例性实施例的自动配置通信网络的示例性方法的流程图;
图7是示出根据示例性实施例的配置抗***通信网络的示例性方法的流程图;
图8是示出根据示例性实施例的计算机***架构的框图。
根据下文提供的详细描述,本公开的其他应用领域将变得显而易见。应当理解,示例性实施例的详细描述仅用于举例说明目的,因此,并不旨在必然限制本公开的范围。
具体实施方式
专业术语
区块链-基于区块链的货币的所有交易的分类账。一个或多个计算设备可以构成可以被配置为将交易处理和记录为区块链中的区块的一部分的区块链网络。一旦完成了区块,就将该区块添加到区块链中并从而更新交易记录。在许多情况下,区块链可以是按照时间顺序的交易分类账,或者可以以适于区块链网络使用的任何其他顺序呈现。在一些配置中,区块链中记录的交易可以包括目的地地址和货币量,以使得区块链记录有多少货币可归属于特定地址。在某些情况下交易是金融的,而在有些情况下交易不是金融的,或者可以包括附加或不同的信息,例如,源地址、时间戳等。在一些实施例中,区块链还可以包括或者作为另一种选择包括作为交易的形式的几乎任何类型的数据,该数据被放置在或者需要放置在无需许可的分布式数据库中,该数据库维护防止被篡改和修改的不断增长的数据记录列表,即使是数据的操作员也防止其篡改和修改数据记录列表,并且可以由区块链网络通过工作量证明和/或与其相关联的任何其他合适的验证技术来对区块链进行确认和验证。在某些情况下,与给定交易有关的数据可以进一步包括附加到交易数据的不直接作为交易的一部分的附加数据。在某些情况下,在区块链中包含此类数据可以构成交易。在这种情况下,区块链可以不直接与特定的数字货币、虚拟货币、法定货币或其他类型的货币相关联。在某些情况下,可以在无需许可(例如,不受节制或不受限制)的情况下参与区块链(例如,作为提交和/或确认交易的节点)。在其他情况下,区块链可以是被许可的区块链,其中仅获得授权的计算设备可以作为节点操作,其中参与级别可以基于与其相关联的许可。
用于自动配置抗***通信网络的***
图1示出了用于通过使用经由预定义通信端口的广播请求消息来自动配置通信网络(包括自动配置抗***通信网络)的***100。
***100可以包括处理服务器102。下面更详细地讨论的处理服务器102可以被配置为自动配置其自身以参与到通信网络。在一些实施例中,由处理服务器102执行的自动配置可以增强通信网络抵抗网络***的能力,网络***可能由于通信网络中的其他节点之间的通信中断而发生。
***100还可以包括多个计算设备104,如图1所示的计算设备104a,104b,104c,104d和104e。每个计算设备104可以是使用本文所讨论的方法自动配置的通信网络中的节点。计算设备104可以是适合于执行本文所讨论的功能的任何类型的计算设备,例如,台式计算机、膝上型计算机、笔记本电脑、平板计算机、专用集成电路、蜂窝电话、智能电话、智能电视、可穿戴计算设备、可植入计算设备等。例如,可适用于使用本文所讨论的方法进行自动配置的通信网络可以包括区块链网络、局域网、无线区域网络等。
处理服务器102可以被配置为使用这里讨论的方法自动地与一个或多个计算设备104连接。处理服务器102可以生成请求消息。请求消息可以至少包括与处理服务器102相关联的通信地址。通信地址可以是因特网协议地址、媒体访问控制地址或可以用于识别处理服务器102以在通信网络中建立通信的其他类型的地址。在通信网络是区块链网络的情况下,通信地址可以是区块链网络地址,该区块链网络地址可以使用与处理服务器102相关联的密钥对的公钥来导出,该公钥可以使用与区块链网络相关联的一个或多个算法来导出。
在某些情况下,请求消息还可以包括附加信息。附加信息,例如,可以包括时间戳、网络标识符、一个或多个服务指示符和主机地址。时间戳可以表示生成请求消息的时间,其可以以任何合适的格式表示(例如,自UNIX纪元开始以来的秒数、预定义的日期时间格式等)。网络标识符可以是与处理服务器102想要加入的通信网络相关联的标识值,例如,与区块链网络相关联的标识符。服务指示符可以是指示通信网络中的处理服务器102的服务级别的标识值。例如,如果通信网络是用于许可的区块链的区块链网络,则服务指示符指示处理服务器102被配置为用作节点的节点类型(例如,客户端节点、审核节点、成员节点等)。例如,在由于处理服务器102的通信配置而导致请求消息包括不同通信地址的情况下(例如,从处理服务器102进行的通信通过包括请求消息中的不同通信地址的路由器),主机地址可以是处理服务器102的辅助通信地址。在通信网络是区块链网络的实施例中,附加信息还可以包括与对应的区块链相关联的数据,例如,区块高度、区块数、最近添加的区块的散列值等。
处理服务器102可以被配置为经由预定义的用户数据报协议(UDP)端口广播所生成的请求消息。在一些实施例中,处理服务器102可以使用多播技术来广播请求消息。UDP端口可以由通信网络预定义,使得可以使用任何合适的方法向通信网络中的任何节点(例如,计算设备104)或者希望加入通信网络的节点(例如,处理服务器102)告知UDP端口。通信网络中的每个计算设备104可以在预定义的UDP端口上侦听广播请求消息。
计算设备104可以经由预定义的UDP端口接收请求消息。然后,计算设备104可以确定他们是否想要与处理服务器102建立连接。可以使用任何合适的标准(例如,举例来说,通信网络中的计算设备104的预定义的最大连接数和现有的连接数)来做出这样的确定。例如,计算设备104可能已经连接到通信网络中的8个其他节点,并且避免建立另一个连接。如果计算设备104基于该确定决定连接到处理服务器102,则计算设备104可以生成协议消息。
该协议消息至少包括与计算设备104相关联的通信地址和传输控制协议(TCP)端口。TCP端口可以是计算设备104的端口,如果计算设备104建立了作为通信网络的一部分的与处理服务器102的双向通信,则计算设备104可以被配置为利用该端口执行与处理服务器102的双向通信。在一些实例中,例如,在计算设备104可以使用作为通信网络的一部分的多于一个TCP端口的情况下,协议消息可以包括多个TCP端口。在通信网络是区块链网络的情况下,计算设备104的通信地址可以是使用与区块链网络中的计算设备104相关联的公钥导出的区块链地址。在一些实施例中,请求消息还可以包括附加信息,例如,一个或多个服务指示符、辅助通信地址、时间戳、网络标识符、与区块链相关联的数据等。
然后,计算设备104可以使用预定义的UDP端口将协议消息电子地发送回处理服务器102。然后,处理服务器102接收协议消息。处理服务器102可以接收多个不同的协议消息,从每个计算设备104接收一个协议消息,其用于建立作为通信网络的一部分的连接。在图1所示的示例中,处理服务器102从计算设备104a,104b,104d和104e接收协议消息。一旦处理服务器102已经接收到协议消息,处理服务器102就可以使用协议消息中指示的TCP端口之一与相关联的计算设备104建立通信连接。在一些实施例中,处理服务器102广播的请求消息可以包括供处理服务器102使用的一个或多个TCP端口。在这样的实施例中,协议消息可以指示可以由处理服务器102在建立通信时使用的所提供的TCP端口中的至少一个。
在一些实施例中,通信网络可能需要预定义数量的连接来参与到通信网络中。在这样的实施例中,处理服务器102在接收到协议消息时至少建立预定数量的连接。在处理服务器102可能没有接收到足够的协议消息的情况下,处理服务器102可以重复广播请求消息,直到已经接收到至少所需数量的协议消息。在图1所示的示例中,预定数量的连接可以不高于4个,以使得处理服务器102建立的与计算设备104的连接适合于参与通信网络。
在一些实施例中,处理服务器102可以在自动配置其与通信网络的连接时利用生存时间值。在这样的实施例中,处理服务器102可以首先使用第一时间生存值经由预定义的UDP端口广播请求消息。如果,作为响应,处理服务器102没有接收到合适数量的协议消息,则处理服务器102可以使用更高的第二生存时间值来重复广播所述请求消息。更高的生存时间值可能导致请求消息到达更多数量的计算设备104,这反过来可能导致接收更多协议消息。处理服务器102可以继续以越来越高的时间生存值重新广播请求消息,直到接收到合适数量的协议消息。
在一些情况下,处理服务器102可以与计算设备104建立通信连接,该计算设备104在增加生存时间之前就返回协议消息。例如,通信网络可能需要至少4个通信设备来参与通信。处理服务器102可以使用第一生存时间来广播请求消息,这可以由计算设备104a和104e通过协议消息来回复。处理服务器102可以在以更高的生存时间重新广播请求消息之前与计算设备104a和104e建立通信连接。然后,处理服务器102可以继续重复该过程,直到建立预定数量的通信(例如,与计算设备104b和104d)。
在其他情况下,处理服务器102可以不建立通信连接,直到已经接收到针对预定数量的连接的足够的协议消息。在一些这样的情况下,处理服务器102可以基于接收来确定协议消息的优先级。例如,在上面的示例中,处理服务器102可以以接收6个不同的协议消息的足够高的生存时间重新广播请求消息。处理服务器102可以优先考虑从计算设备104a和104e接收的协议消息,因为当使用较低的生存时间时已经接收到它们。
在一些实施例中,处理服务器102可以被配置为以这样的方式连接到计算设备104,以便自动配置通信网络以抗网络***。在这样的实施例中,处理服务器102可以连接到其自身与处理服务器102之间具有大的地理距离的至少一个计算设备104。使用较大的地理距离很可能导致在这样的情况下保持通信网络中的通信,即,由于物理干预而可能断开节点之间的通信连接。
例如,在图1所示的示例中,处理服务器102可以与“本地”计算设备104a,104d和104e建立通信连接,“本地”计算设备104a,104d和104e可以是向处理服务器102返回协议消息的地理上最靠近处理器服务器102的3个计算设备104,但是处理服务器102也可以与“远程”计算设备104b建立通信连接,“远程”计算设备104b与处理服务器102的地理距离可以显著的更远。例如,处理服务器102可以位于美国,设备104a,104c,104d和104e位于相同的州,而计算设备104b可以位于英国。当通信网络中的多个计算设备104使用该配置时,其可以增加网络对抗***的能力。
可以使用任何合适的标准来确定地理距离。在一些情况下,计算设备104返回的协议消息可以包括地理信息,例如,合适地表示的地理位置(例如,纬度和经度、美国邮政编码或邮政编码、城市、州、国家、自治区等)。在其他情况下,处理服务器102可以被配置为使用通信地址识别返回协议消息的计算设备104的地理位置。例如,处理服务器102可以包括下面将更详细地讨论的位置数据库,其可以包括互联网协议地址或其中包括的数据以及相应的地理位置的查找表。因此,处理服务器102可以使用协议消息识别计算设备104的地理位置,并且可以由此确定与哪个计算设备104建立连接。
在一些实施例中,处理服务器102可以被配置为通过使用不同的生存时间来识别远程计算设备(例如,计算设备104b)。例如,处理服务器102可以在广播请求消息时使用第一生存时间,该请求消息可以由计算设备104a,104d和104e做出响应。然后,处理服务器102可以使用明显更高的第二生存时间来重新广播请求消息,该请求消息可以由计算设备104b来响应。因此,处理服务器102可以因为更高的生存时间而推断出计算设备104b的地理距离更远。在一些情况下,处理服务器102可以使用一系列增加的生存时间,以加强对更远地理距离的推断。例如,处理服务器102可以在重新广播时使用5个不同的渐增的生存时间,并且可以连接到作为仅响应于最高生存时间的计算设备的计算设备104b。
这里讨论的方法和***可以实现通信网络的自动配置,该自动配置不使用任何预定义的通信地址并且可以在不手动输入通信地址的情况下执行。这可以导致更有效地建立通信网络,即使在通信地址可能定期改变的情况下也可能成功建立通信网络。另外,因为如果连接中断,通信网络中的任何节点都能够自动重新加入网络,或者如果连接断开则自动建立新连接,所以这还可以提高通信网络自愈的效率和有效性。由于使用与处理服务器102具有更大地理距离的计算设备104(例如,计算设备104b)的通信连接,所说这里讨论的方法和***还可以提供更大的抗网络***的能力,当该方法和***与自动配置结合时,可以产生比通过传统方法提供的通信网络更快、鲁棒性更强、自动配置的通信网络。
处理服务器
图2示出了***100中的处理服务器102的实施例。对于相关领域的技术人员来说显而易见的是,图2中所示的处理服务器102的实施例仅作为举例说明而提供,并且可能不是穷举所有可能的用于执行如本文所讨论的功能的处理服务器102的配置。例如,图8所示的并且在下面更详细讨论的计算机***800可以是处理服务器102的合适配置。
处理服务器102可以包括接收设备202。接收设备202可以被配置为经由一个或多个网络协议在一个或多个网络上接收数据。接收设备202可以被配置为经由合适的通信网络和相应的网络协议从计算设备104和其他设备和***接收数据。在一些实施例中,接收设备202可以包括多个设备,例如,通过不同网络接收数据的不同的接收设备(例如,通过局域网接收数据的第一接收设备和通过区块链网络接收数据的第二接收设备)。接收设备202可以接收电子传输的数据信号,其中,数据可以叠加或以其他方式编码到数据信号上,并且通过接收设备202接收数据信号来对数据信号进行解码、解析、读取或以其他方式获得所述数据。在一些情况下,接收设备202可以包括对接收到的数据信号进行解析以获得叠加在其上的数据的解析模块。例如,接收设备202可以包括解析器程序,其被配置为接收数据信号并且将接收到的数据信号变换成处理设备执行功能可用输入以完成本文描述的方法和***。
接收设备202可以被配置为接收计算设备104电子发送的数据信号。可以经由预定义的UDP端口接收的数据信号可以叠加或编码有协议消息。协议消息可以包括至少一个或多个TCP端口和通信地址,并且还可以包括时间戳、网络标识符、区块链数据、服务指示符、附加通信地址等。接收设备202还可以被配置为使用建立的通信连接经由TCP端口从计算设备104接收数据信号。在处理服务器102可以作为计算设备104操作的实施例中,接收设备202可以被配置为接收使用预定义的UDP端口广播的请求消息,该请求消息可以由处理服务器102响应以连接到尝试加入通信网络的新节点。
处理服务器102还可以包括通信模块204。通信模块204可以被配置为在模块、引擎、数据库、存储器和处理服务器102的其他组件之间传输数据,以用于执行本文所讨论的功能。通信模块204可以由一种或多种通信类型组成,并且利用各种通信方法在计算设备内的通信。例如,通信模块204可以包括总线、触针连接器、导线等。在一些实施例中,通信模块204还可以被配置为在处理服务器102的内部组件与处理服务器102的外部组件(例如,外部连接的数据库、显示设备、输入设备等)之间进行通信。处理服务器102还可以包括处理设备。处理设备可以被配置为执行本文所讨论的处理服务器102的功能,这对于相关领域的技术人员来说是显而易见的。在一些实施例中,处理设备可以包括专门配置为执行处理设备的一个或多个功能的多个引擎和/或模块(例如,查询模块210、生成模块212、数据识别模块214),和/或处理设备可以由上述引擎和/或模块组成。如本文所使用的,术语“模块”可以是被特别编程为接收输入、使用该输入执行一个或多个处理、并提供输出的软件或硬件。基于本公开的内容,由各种模块执行的输入、输出和处理对于本领域技术人员将是显而易见的。
处理服务器102可以包括位置数据库206。位置数据库206可以被配置为使用合适的数据存储格式和模式来存储多个位置简档208。位置数据库206可以是关系数据库,其利用结构化查询语言来存储、识别、修改、更新、访问存储在其中的结构化数据集等。每个位置简档208可以是被配置为存储与地理位置和通信地址有关的数据的结构化数据集。每个位置简档208至少包括地理位置和通信地址指示符。地理位置可以是地理位置的任何合适的表示。通信地址指示符可以是包括在通信地址中或包括通信地址的值。例如,如果通信地址是因特网协议地址,则通信地址指示符可以是因特网协议版本4或版本6地址的一部分、两部分或三部分。在一些情况下,位置简档208可以包括与所包括的地理位置相关联的多个通信地址,其可以通过任何合适的方法来识别。
处理服务器102可以包括查询模块210。查询模块210可以被配置为对数据库执行查询以识别信息。查询模块210可以接收一个或多个数据值或查询字符串,并且可以基于此在指示的数据库(例如,位置数据库206)执行字符串查询以识别存储在其中的信息。然后,查询模块210可以根据需要将识别出的信息输出到处理服务器102的适当的引擎或模块。查询模块210可以例如对位置数据库206执行查询以识别与接收到的协议消息中包括的通信地址相关联的位置简档208,以确定到与其相关联的计算设备104的地理距离,以用于建立与通信网络的连接。
处理服务器102还可以包括生成模块212。生成模块212可以被配置为生成请求和协议消息,用于执行如本文所讨论的处理服务器102的功能。生成模块214可以接收请求、可以基于该请求生成消息、并且可以将生成的消息输出到处理服务器102的另一模块或引擎。例如,可以指示生成模块212生成请求消息。请求消息可以至少包括与处理服务器102相关联的通信地址,并且还可以包括附加数据,附加数据包括一个或多个TCP端口、网络标识符、时间戳、区块链数据、一个或多个服务指示符等。在通信网络是区块链网络的情况下,生成模块212还可以被配置为生成区块链地址。可以使用与处理服务器102相关联的密钥对的公钥来生成区块链地址,例如,如下所述,可以将区块链地址存储在存储器218中。在一些情况下,可以使用一个或多个特定算法来生成区块链地址,例如,区块链地址可以与区块链网络相关联。在一些情况下,例如,在处理服务器102充当计算设备104以进一步作为尝试加入通信网络的节点的情况下,生成模块212可以被配置为生成协议消息。
处理服务器102还可以包括数据识别模块214。数据识别模块214可以被配置为接收作为输入的一个或多个数据值,可以基于输入数据值识别数据,并且可以将识别的数据输出到处理服务器102的另一个模块或引擎。数据识别模块214可以例如被配置为识别与其建立连接的一个或多个计算设备104。可以基于接收到的协议消息来识别计算设备104,并且可以进一步基于优先级和/或地理距离来识别计算设备104。例如,数据识别模块214可以被配置为识别多个本地计算设备104并基于地理位置和/或在提示相应的协议消息时使用的生存时间来识别至少一个远端计算设备104。数据识别模块214还可以被配置为基于在如上面更详细讨论的不同生存时间接收的协议消息来识别要连接的优先的计算设备104。
处理服务器102还可以包括发送设备216。发送设备216可以被配置为经由一个或多个网络协议在一个或多个网络上发送数据。发送设备216可以被配置为经由合适的通信网络和相应的网络协议将数据发送到计算设备104和其他实体。在一些实施例中,发送设备216可以包括多个设备,例如,通过不同网络发送数据的不同的发送设备(例如,通过局域网发送数据的第一发送设备和用于通过区块链网络发送数据的第二发送设备)。发送设备216可以电子地发送叠加有可以由接收计算设备解析的数据的数据信号。在一些情况下,发送设备216可以包括用于对数据进行叠加、编码或以其他方式将数据格式化为适合于传输的数据信号的一个或多个模块。
发送设备216可以被配置为使用预定义的UDP端口通过广播将叠加或者编码有请求消息的数据信号电子地发送到计算设备104。发送设备216还可以被配置为使用与计算设备104建立的通信连接经由特定TCP端口将数据信号电子地发送到计算设备104。在处理服务器102可以充当计算设备104的实施例中,发送设备216还可以被配置为经由预定义的UDP端口将叠加或编码有协议消息的数据信号电子地发送到其他计算设备104。
处理服务器102还可以包括存储器218。存储器218可以被配置为存储由处理服务器102使用以执行本文所讨论的功能的数据。存储器218可以被配置为使用合适的数据格式化方法和模式来存储数据,并且可以是任何合适类型的存储器,例如,只读存储器、随机存取存储器等。存储器218可以包括,例如,加密密钥和算法、通信协议和标准、数据格式化标准和协议、处理设备的模块和应用程序的程序代码、以及可以适合于处理服务器102在执行本文公开的功能时使用的其他数据,这对于相关领域的技术人员来说是显而易见的。在一些实施例中,存储器218可以包括关系数据库或者由关系数据库组成,该关系数据库利用结构化查询语言来存储、识别、修改、更新、访问存储在其中的结构化数据集等。
自动配置网络通信的过程
图3示出了通过UDP广播请求消息,由处理服务器102自动配置到图1所示的通信网络中的计算设备104的连接的过程300。
在步骤302,处理服务器102的生成模块212生成请求消息。请求消息可以至少包括与处理服务器102相关联的通信地址。在通信网络是区块链网络的实施例中,可以由生成模块212使用与处理服务器102相关联的公钥(例如,可以存储在处理服务器102中的存储器218中)经由一个或多个预定算法生成通信地址。请求消息还可以包括时间戳、网络标识符、区块链数据、一个或多个可用TCP端口、以及一个或多个附加通信地址。在一些实例中,请求消息还可以包括一个或多个服务指示符,其可以指示由处理服务器102执行和/或由处理服务器102请求的与通信网络相关联的服务。
在步骤304,处理服务器102的发送设备216可以经由与通信网络相关联的预定义的UDP端口以电子方式广播请求消息。计算设备104可以监听使用该预定义的UDP端口广播的消息,并且因此可以接收从处理服务器102广播的请求消息。在步骤306,计算设备104可以确定处理服务器102是否适合于连接。例如,该确定可以基于由计算设备104已经建立的到通信网络的连接的数量和处理服务器102指示的服务。例如,如果处理服务器102不提供计算设备104所需的服务,或者如果处理服务器102需要不是由计算设备104提供的服务,则计算设备104可能认为该连接不适合的。
如果计算设备104确定其适合于连接,则在步骤308,计算设备104可以生成协议消息。协议消息可以至少包括与计算设备104相关联的通信地址和可用于与计算设备104通信的一个或多个TCP端口。在通信网络是区块链网络的情况下,该通信地址可以是由计算设备104使用与其相关联的公钥导出的区块链地址。在一些情况下,协议消息还可以包括时间戳、网络标识符、区块链数据和一个或多个服务指示符,服务指示符可以指示由计算设备104执行和/或由计算设备104请求的服务。在步骤310,计算设备104可以经由预定义的UDP端口将协议消息直接发送(例如,不是广播传输)到处理服务器102,以由处理服务器102的接收设备202接收。
在步骤312,处理服务器102的数据识别模块214可以确定计算设备104是否适合于连接。该合适性可以基于任何合适的标准,例如,请求消息中包括的服务指示符、计算设备104的地理位置(例如,通过查询模块210使用通信地址查询的位置简档208来识别)、处理服务器102处的协议消息中包括的TCP端口的可用性等。如果计算设备104被确定为合适,则在步骤314,处理服务器102和计算设备104可以经由协议消息中指示的TCP端口之一建立通信连接。在通信网络是区块链网络的实施例中,可以使用与各个实体相关联的密钥对中的私钥来对将来使用建立的TCP通信连接进行的传输进行签名。
自动配置抗***网络的过程
图4示出了用于自动配置图1的***的抗***网络的过程。
在步骤402,相对于距处理服务器102的地理距离而言的本地计算设备104a和远程计算设备104b可以建立TCP通信连接。可以使用这里讨论的过程(例如,图3所示的以及上文讨论的过程300)在本地计算设备104和远程计算设备104b之间建立TCP通信连接。
在步骤404,处理服务器102的发送设备216可以经由预定义的UDP端口广播请求消息,以请求用于连接到通信网络的自动配置。在步骤406,本地计算设备104a接收请求消息,该请求消息可以至少包括与处理服务器102相关联的通信地址。本地计算设备104a可以同意在通信网络中与处理服务器102建立连接,并且,在步骤408,可以使用预定义的UDP端口通过到请求消息中的通信地址的直接传输,将协议消息返回到处理服务器102。在步骤410,处理服务器102的接收设备202接收协议消息,该协议消息可以至少包括与接收设备202相关联的通信地址和一个或多个可用TCP端口。
在步骤412,处理服务器102可以验证本地计算设备104a对于与通信网络的连接的合适性,例如,基于如上文更详细讨论的服务指示符或其他标准来进行上述验证。在步骤414,处理服务器102和本地计算设备104a可以使用协议消息中指示的可用TCP端口之一来建立通信连接。在步骤416,本地计算设备104a可以将远程计算设备104b识别为与处理服务器102具有很远的地理距离。例如,该识别可以基于每个位置简档208(每个位置简档208基于其对应的通信地址)、提供的地理位置、通信中包括的消息时间戳、通信ping值(平值)等。在步骤418,本地计算设备104a可以将远程计算设备104b的通信地址以及可用的至少一个TCP端口提供给处理服务器102,其可以由处理服务器102包括的接收设备202接收。
在步骤420,处理服务器102可以使用由本地计算设备104a提供的数据与远程计算设备104b建立直接TCP通信连接。在这样的实施例中,处理服务器102自动将其自身配置为通信网络的一部分,同时可以通过使通信网络中的其他节点提供远程节点的连接信息,还增加网络的抗***能力。在其他实施例中,远程计算设备104b可以由处理服务器102直接识别,例如,基于使用如上所述的请求消息的广播中的不同生存时间来识别(例如,在图4所示的过程的步骤404中)。
自动配置足够数量的连接的过程
图5示出了用于自动配置图1所示的通信网络中的处理服务器102的过程500,其中,作为加入通信网络的一部分,处理服务器102建立最小的预定数量的通信连接。
在步骤502,处理服务器102的生成模块212可以生成请求消息。请求消息至少包括与处理服务器102相关联的通信地址。在一些实施例中,通信地址可以是使用与处理服务器102和区块链网络相关联的密钥对的公钥导出的区块链地址。在一些情况下,请求消息还可以包括以下中的至少一个:网络标识符、时间戳、一个或多个服务指示符、区块链数据、以及一个或多个附加通信地址。在步骤504,处理服务器102可以将广播消息的生存时间设置为预定值。预定值可以基于要加入的通信网络和/或可以存储在处理服务器102的存储器218中。
在步骤506,处理服务器102的发送设备216可以通过预定义的UDP端口电子地广播请求消息。因此,可以将请求消息广播到监听预定义UDP端口上的消息的任何计算设备104。在步骤508,处理服务器102的接收设备202可以从一个或多个计算设备104接收在预定义的UDP端口上使用包括在请求消息中的通信地址直接发送到处理服务器102的协议消息。每个协议消息可以至少包括通信地址和一个或多个可用TCP端口,并且还可以包括以下中的至少一个:网络标识符、时间戳、一个或多个服务指示符、区块链数据和一个或多个附加通信地址。
在步骤510,处理服务器102的数据识别模块214可以识别是否接收到了足够数量的合适的协议消息。如果协议消息中包括的服务指示符或其他数据与处理服务器102设置的任何标准相匹配,则协议消息是合适的。所述足够的数量可以是由通信网络本身、处理服务器102(例如,存储在存储器218中)、或其他实体的设置所设定的预定数量。如果数据识别模块214确定没有接收到足够数量的协议消息,则在步骤512,可以增加生存时间值。一旦增加了生存时间,则过程500可以返回到步骤506,其中可以使用更高的生存时间来重新广播请求消息。可以再次接收协议消息,并且在步骤510,重新确定接收到的协议消息的充分性。处理服务器102可以继续增加生存时间并重新广播,直到已经接收到足够数量的协议消息。
一旦接收到足够数量的协议消息,则在步骤514,数据识别模块214可以选择预定数量的协议消息。该预定数量可以是与在步骤510进行确定时使用的相同数量。数据识别模块214可以基于任何合适的标准(例如,在较低的生存时间从同一计算设备104接收协议消息、经由位置简档208识别的计算设备104的地理位置、包括在协议消息中的时间戳等)来选择协议消息。在步骤516,处理服务器102可以经由包括在相应协议消息中的TCP端口与每个选择的计算设备104建立通信连接。在通信网络是区块链网络的实施例中,可以由处理服务器102使用与区块链网络相关联的密钥对中的私钥(例如,可以存储在处理服务器102的存储器218中)对使用建立的通信连接进行的将来的通信进行签名。
用于自动配置通信网络的示例性方法
图6示出了用于自动配置具有预定数量的通信连接的通信网络的方法600。
在步骤602,可以由处理服务器(例如,处理服务器102)的生成模块(例如,生成模块212)生成请求消息,其中,请求消息至少包括与处理服务器相关联的通信地址。在步骤604,可以由处理服务器的发送设备(例如,发送设备216)使用预定义的用户数据报协议(UDP)端口将生成的请求消息作为广播消息电子地发送到多个计算设备(例如,计算设备104),其中,以预定的生存时间发送广播消息。
在步骤606,可以由处理服务器的接收设备(例如,接收设备202)接收一个或多个协议消息,其中,每个协议消息从多个计算设备中的一个计算设备接收,每个协议消息由相应的计算设备使用预定义的UDP端口发送,并且每个协议消息至少包括与相应计算设备相关联的通信地址和指定的传输控制协议(TCP)端口。在步骤608,可以由处理服务器的数据识别模块(例如,数据识别模块214)识别所述一个或多个协议消息中的至少一个协议消息用于建立通信。在步骤610,可以由处理服务器的通信模块(例如,通信模块204)使用包括在相应的协议消息中的特定TCP端口建立与这样的计算设备的通信连接,该计算设备和至少一个识别出的协议消息中的每一个协议消息相关联。
在一个实施例中,方法600还包括:如果所识别出的所述至少一个协议消息不包括至少预定数量的协议消息,则由处理服务器以第二生存时间重复发送、接收、识别和建立步骤,其中,第二生存时间的值比所述预定的生存时间更高。在另一实施例中,使用预定生存时间识别的所述至少一个协议消息和使用第二生存时间识别的所述至少一个协议消息的组合至少包括所述预定数量的协议消息。在另一个实施例中,对于使用预定生存时间接收的协议消息,不建立通信连接,并且使用第二生存时间识别的至少一个协议消息包括至少预定数量的协议消息。在更进一步的实施例中,使用第二生存时间对所述一个或多个协议消息中的至少一个协议消息的识别包括:对包括这样的通信地址的协议消息进行优先级排序,所述通信地址与使用预定生存时间识别的至少一个协议消息中包括的通信地址相对应。
在一些实施例中,请求消息和所述一个或多个协议消息中的每一个协议消息还可以包括与区块链网络相关联的网络标识符。在另一实施例中,请求消息还可包括使用与处理服务器相关联的公钥导出的区块链网络地址,并且所述一个或多个协议消息中的每一个协议消息还可以包括使用与相应的计算设备相关联的公钥导出的区块链网络地址。在更进一步的实施例中,可以使用通过使用与处理服务器相关联的公钥导出的区块链网络地址对处理服务器使用建立的通信信道进行的传输进行签名。
在一个实施例中,请求消息还可以包括一个或多个服务指示符,所述一个或多个协议消息中的每一个协议消息还可以包括至少一个服务指示符,并且识别出的至少一个协议消息中的每一个协议消息包括的至少一个服务指示符对应于请求消息中包括的所述一个或多个服务指示符中的一个服务指示符。在一些实施例中,方法600还可以包括由处理服务器的通信模块建立到计算设备的附加通信连接,该计算设备到处理服务器的地理距离大于与识别出的至少一个协议消息中的每一个协议消息相关联的计算设备的地理距离。在另一实施例中,可以通过以第二次生存时间重复发送、接收、识别和建立步骤来识别具有距处理服务器更大地理距离的计算设备,其中,所述第二生存时间是比所述预定生存时间更高的值。在另一实施例中,方法600甚至可以进一步包括在处理服务器的位置数据库(例如,位置数据库206)中存储多个位置简档(例如,位置简档208),其中,每个位置简档至少包括地理位置和相关联的通信地址指示符,其中,基于与通信地址指示符相关联的地理位置来识别具有距处理服务器更大地理距离的计算设备,该通信地址指示符对应于与所述计算设备相关联的通信地址。
用于配置抗***通信网络的示例性方法
图7示出了用于配置抗***通信网络的方法700,该通信网络采用与多个计算设备的通信连接,该多个计算设备与目标计算设备的地理距离不同。
在步骤702,由处理服务器(例如,处理服务器102)的生成模块(例如,生成模块212)生成请求消息,其中,请求消息至少包括与处理服务器相关联的通信地址。在步骤704,可以由处理服务器的发送设备(例如,发送设备216)以电子方式将生成的请求消息发送到多个计算设备(例如,计算设备104)。在步骤706,由处理服务器的接收设备(例如,接收设备202)接收一组协议消息,其中,每个协议消息是从所述多个计算设备中的一个计算设备接收的并且至少包括与相应的计算设备相关联的通信地址和指定的传输控制协议(TCP)端口。
在步骤708,由多个计算设备的数据识别模块(例如,数据识别模块214)识别一个远程计算设备和至少一个本地计算设备,其中,所述多个计算设备是从其接收了每个协议消息的多个计算设备,其中,远程计算设备与处理服务器的地理距离比所述至少一个本地计算设备中的每一个本地计算设备与处理服务器的地理距离都要更远。在步骤710,可以由处理服务器的通信模块(例如,通信模块204)使用包括在相应的协议消息中的特定的TCP端口来建立和远程计算设备和所述至少一个本地计算设备中的每个本地计算设备的通信连接。
在一个实施例中,方法700还可以包括:在处理服务器的位置数据库(例如,位置数据库206)中存储多个位置简档(例如,位置简档208),其中每个位置简档至少包括地理位置和相关联的通信地址指示符;处理服务器的查询模块(例如,查询模块210)对位置数据库执行查询以识别远程计算设备和所述至少一个本地计算设备中的每一个本地计算设备的位置简档,其中,所包括的通信地址指示符对应于与相应计算设备相关联的通信地址,其中,所述更远的地理距离基于识别出的每个位置简档中包括的地理位置和处理服务器的地理位置。在一些实施例中,可以使用预定义的用户数据报协议(UDP)端口将生成的请求消息作为广播消息电子地发送,可以以第一生存时间将广播消息发送到所述至少一个本地计算设备,可以以第二生存时间将广播消息发送到远程计算设备,并且第二生存时间可以具有比第一生存时间更高的值。
在一个实施例中,请求消息还包括使用与处理服务器相关联的公钥导出的区块链网络地址,并且所述一个或多个协议消息中的每一个协议消息还可以包括使用与相应的计算设备相关联的公钥导出的区块链网络地址。在另一实施例中,可以使用区块链网络地址对处理服务器使用建立的通信信道进行的传输进行签名,该区块链网络地址是使用与处理服务器相关联的所述公钥导出的。
计算机***架构
图8示出了计算机***800,在该***中本公开的实施例或其部分可以实现为计算机可读代码。例如,可以使用硬件、软件、固件,存储有指令的非暂时性计算机可读介质或其组合来在计算机***800中实现图1的处理服务器102,并且图1的处理服务器102可以在一个或多个计算机***或其他处理***中实现。硬件、软件或其任何组合可以体现为用于实现图3-7的方法的模块和组件。
如果使用可编程逻辑,则这种逻辑可以在由可执行软件代码配置成为专用计算机或专用设备(例如,可编程逻辑阵列、专用集成电路等)的商业上可获得的处理平台上执行。本领域普通技术人员可以理解,可以使用包括多核多处理器***、小型计算机、大型计算机、具有分布式功能的链接或聚集的计算机以及几乎可以嵌入到任何设备中的普通或微型计算机的各种计算机***配置来实践所公开的主题的实施例。例如,可以使用至少一个处理器设备和存储器来实现上述实施例。
如本文讨论的处理器单元或设备可以是单个处理器、多个处理器或其组合。处理器设备可具有一个或多个处理器“核”。如本文所讨论的术语“计算机程序介质”、“非暂时性计算机可读介质”和“计算机可用介质”通常用于指代有形介质,例如,可移动存储单元818、可移动存储单元822以及安装在硬盘驱动器812中的硬盘。
通过该示例性计算机***800描述了本公开的各种实施例。在阅读本说明书之后,如何使用其他计算机***和/或计算机体系结构来实现本公开对相关领域的技术人员来说将显而易见。尽管可以将各个操作描述为顺序过程,但是一些操作事实上可以并行地、同时地和/或在分布式环境中执行,并且程序代码可以本地存储或远程存储以供单个或多个处理器的机器访问。另外,在一些实施例中,在不脱离所公开的主题的精神的情况下,可以重新排列操作的顺序。
处理器设备804可以是被配置为执行本文公开的功能的专用或通用处理器设备。处理器设备804可以连接到通信基础设施806,例如,总线、消息队列、网络、多核消息传输方案等。网络可以是适合于执行本文公开的功能的任何网络,其可以包括局域网(LAN)、广域网(WAN)、无线网络(例如WiFi)、移动通信网络、卫星网络、因特网、光纤、同轴电缆、红外线、射频(RF)、或其任何组合。其他合适的网络类型和配置对于相关领域的技术人员来说将是显而易见的。计算机***800还可以包括主存储器808(例如,随机存取存储器、只读存储器等),并且还可以包括辅助存储器810。辅助存储器810可以包括硬盘驱动器812和可移动存储驱动器814,例如软盘驱动器、磁带驱动器、光盘驱动器、闪存等。
可移动存储驱动器814可以以公知的方式从可移动存储单元818读取和/或写入到可移动存储单元818。可移动存储单元818可以包括可由可移动存储驱动器814读取和写入的可移动存储介质。例如,如果可移动存储驱动器814是软盘驱动器或通用串行总线端口,则可移动存储单元818可以分别是软盘或便携式闪存盘。在一个实施例中,可移动存储单元818可以是非暂时性计算机可读记录介质。
在一些实施例中,辅助存储器810可以包括允许将计算机程序或其他指令加载到计算机***800的备选装置,例如可移动存储单元822和接口820。这样的装置的示例可以包括程序盒和盒式接口(例如,如视频游戏***中所见到的)、可移动存储器芯片(例如,EEPROM、PROM等)和相关的插座以及其他可移动存储单元822和接口820,这对本领域技术人员来说是显而易见的。
存储在计算机***800中(例如,存储在主存储器808和/或辅助存储器810中)的数据可以存储在任何类型的合适的计算机可读介质上,例如,光学存储器(例如,光盘、数字通用光盘、蓝光光盘等)或磁带存储器(例如,硬盘驱动器)。可以以任何类型的合适的数据库配置(例如,关系数据库、结构化查询语言(SQL)数据库、分布式数据库、对象数据库等)来配置该数据。合适的配置和存储类型对本领域的技术人员来说将是显而易见的。
计算机***800还可以包括通信接口824。通信接口824可以被配置为允许软件和数据在计算机***800和外部设备之间传输。示例性的通信接口824可以包括调制解调器、网络接口(例如,以太网卡)、通信端口、PCMCIA插槽和卡等。经由通信接口824传送的软件和数据可以是信号的形式,其可以是电子的、电磁的、光学的或其它信号,这对相关领域的技术人员来说是显而易见的。信号可以经由通信路径826行进,通信路径826可以被配置为承载信号并且可以使用电线、电缆、光纤、电话线、蜂窝电话链路、射频链路等来实现。
计算机***800还可以包括显示器接口802。显示器接口802可以被配置为允许数据在计算机***800和外部显示器830之间传输。示例性的显示器接口802可以包括高清晰度多媒体接口(HDMI)、数字视频接口(DVI)、视频图形阵列(VGA)等。显示器830可以是用于显示经由计算机***800的显示器接口802发送的数据的任何适当类型的显示器,包括阴极射线管(CRT)显示器、液晶显示器(LCD)、发光二极管(LED)显示器、电容式触摸显示器、薄膜晶体管(TFT)显示器等。
计算机程序介质和计算机可用介质可以指可以是存储器半导体(例如,DRAM等)的存储器,例如主存储器808和辅助存储器810。这些计算机程序产品是用于向计算机***800提供软件的装置。计算机程序(例如,计算机控制逻辑)可以存储在主存储器808和/或辅助存储器810中。也可以经由通信接口824来接收计算机程序。当该计算机程序被执行时,可以使计算机***800能够实现本文所讨论的本方法。特别地,当计算机程序被执行时,可以使得处理器设备804能够实现如本文所讨论的图3-7所示的方法。因此,这种计算机程序可以表示计算机***800的控制器。在使用软件实现本公开的情况下,可以将软件存储在计算机程序产品中,并使用可移动存储驱动器814、接口820、和硬盘驱动器812或通信接口824将软件加载到计算机***800中。
处理器设备804可以包括被配置为执行计算机***800的功能的一个或多个模块或引擎。每个模块或引擎可以使用硬件来实现,并且在一些例子中也可以使用软件(例如,存储在主存储器808或辅助存储器1110中的相应的程序代码和/或程序的软件)来实现。在该例子中,在由计算机***的硬件执行程序代码之前,可以由处理器设备804(例如,通过编译模块或引擎)对程序代码进行编译。例如,所述程序代码可以是以编程语言编写的源代码,编程语言被编译成诸如汇编语言或机器代码之类的较低级别的语言以供处理器设备804和/或计算机***800的任何附加硬件组件执行。编译过程可以包括使用词法分析、预处理、解析、语义分析、语法指导翻译、代码生成、代码优化、以及可适用于将程序代码翻译成适合于控制计算机***800执行本文公开的功能的较低级别语言的任何其他技术。对相关领域的技术人员显而易见的是,该过程导致计算机***800成为专门编程为执行上述功能的专门配置的计算机***800。
除了其他特性之外,与本公开一致的技术提供了一种用于自动配置通信网络和配置抗***网络的***和方法。虽然上面已经描述了所公开的***和方法的各种示例性实施例,但是应当理解,它们仅仅是为了示例的目的而提供的,而不是限制。这不是详尽的并且不将披露的内容限制在所披露的确切形式上。在不背离广度或范围的情况下,可以根据上述教导作出修改和变化或者可以从本公开的实践获得修改和变化。
Claims (34)
1.一种用于自动配置通信网络的方法,包括:
由处理服务器的生成模块生成请求消息,其中,所述请求消息至少包括与所述处理服务器相关联的通信地址;
由所述处理服务器的发送设备使用预定义的用户数据报协议(UDP)端口将生成的请求消息作为广播消息以电子方式发送到多个计算设备,其中,以预定生存时间发送所述广播消息;
由所述处理服务器的接收设备接收一个或多个协议消息,其中,每个协议消息从所述多个计算设备中的一个计算设备接收,所述每个协议消息由相应的计算设备使用所述预定义的UDP端口发送,并且所述每个协议消息至少包括与所述相应计算设备相关联的通信地址和指定的传输控制协议(TCP)端口;
由所述处理服务器的数据识别模块识别所述一个或多个协议消息中的至少一个协议消息用于建立通信;以及
由所述处理服务器的通信模块使用包括在相应的协议消息中的特定TCP端口建立与和至少一个识别出的协议消息中的每一个协议消息相关联的所述计算设备的通信连接。
2.根据权利要求1所述的方法,其中,如果识别出的所述至少一个协议消息不包括至少预定数量的协议消息,则所述方法还包括:
由所述处理服务器以第二生存时间重复所述发送、接收、识别和建立步骤,其中
所述第二生存时间的值比所述预定生存时间更高。
3.根据权利要求2所述的方法,其中,
使用所述预定生存时间识别的所述至少一个协议消息和使用所述第二生存时间识别的所述至少一个协议消息的组合至少包括所述预定数量的协议消息。
4.根据权利要求2所述的方法,其中,
对于使用所述预定生存时间接收的协议消息,不建立通信连接,以及使用所述第二生存时间识别的所述至少一个协议消息至少包括所述预定数量的协议消息。
5.根据权利要求4所述的方法,其中,使用所述第二生存时间识别所述一个或多个协议消息中的所述至少一个协议消息包括:对包括与使用所述预定生存时间识别的所述至少一个协议消息中包括的通信地址相对应的通信地址的各个协议消息进行优先级排序。
6.根据权利要求1所述的方法,其中,所述请求消息和所述一个或多个协议消息中的每一个协议消息还包括与区块链网络相关联的网络标识符。
7.根据权利要求6所述的方法,其中,
所述请求消息还包括使用与所述处理服务器相关联的公钥导出的区块链网络地址,以及
所述一个或多个协议消息中的每一个协议消息还包括使用与所述相应计算设备相关联的公钥导出的区块链网络地址。
8.根据权利要求7所述的方法,其中,使用通过使用与所述处理服务器相关联的所述公钥导出的所述区块链网络地址对所述处理服务器使用建立的通信信道进行的传输进行签名。
9.根据权利要求1所述的方法,其中,
所述请求消息还包括一个或多个服务指示符,
所述一个或多个协议消息中的每一个协议消息还包括至少一个服务指示符,以及
识别出的所述至少一个协议消息中的每一个协议消息包括的所述至少一个服务指示符对应于所述请求消息中包括的所述一个或多个服务指示符中的一个服务指示符。
10.根据权利要求1所述的方法,还包括:
由所述处理服务器的所述通信模块建立到计算设备的附加通信连接,所述计算设备到所述处理服务器的地理距离大于与识别出的所述至少一个协议消息中的每一个协议消息相关联的计算设备的地理距离。
11.根据权利要求10所述的方法,其中,通过以第二生存时间重复所述发送、接收、识别和建立步骤来识别具有距所述处理服务器更大地理距离的所述计算设备,其中,所述第二生存时间是比所述预定生存时间更高的值。
12.根据权利要求10所述的方法,还包括:
在所述处理服务器的位置数据库中存储多个位置简档,其中,每个位置简档至少包括地理位置和相关联的通信地址指示符,其中
基于与通信地址指示符相关联的所述地理位置来识别具有距所述处理服务器更大地理距离的所述计算设备,所述通信地址指示符对应于与所述计算设备相关联的通信地址。
13.一种用于配置抗***通信网络的方法,包括:
由处理服务器的生成模块生成请求消息,其中,所述请求消息至少包括与所述处理服务器关联的通信地址;
由所述处理服务器的发送设备以电子方式将生成的请求消息发送到多个计算设备;
由所述处理服务器的接收设备接收一组协议消息,其中,每个协议消息是从所述多个计算设备中的一个计算设备接收的并且至少包括与相应的计算设备相关联的通信地址和指定的传输控制协议(TCP)端口;
由所述处理服务器的数据识别模块识别所述多个计算设备的一个远程计算设备和至少一个本地计算设备,其中,从所述多个计算设备接收到了每个协议消息,其中,所述远程计算设备与所述处理服务器的地理距离比所述至少一个本地计算设备中的每一个本地计算设备与处理服务器的地理距离都要更远;以及
由所述处理服务器的通信模块使用包括在相应的协议消息中的指定的TCP端口来建立和所述远程计算设备和所述至少一个本地计算设备中的每个本地计算设备的通信连接。
14.根据权利要求13所述的方法,还包括:
在所述处理服务器的位置数据库中存储多个位置简档,其中,每个位置简档至少包括地理位置和相关联的通信地址指示符;以及
由所述处理服务器的查询模块对所述位置数据库执行查询,以识别所述远程计算设备和所述至少一个本地计算设备中的每个本地计算设备的位置简档,其中,所包括的通信地址指示符对应于与相应计算设备相关联的通信地址,其中
更远的地理距离基于识别出的每个位置简档中包括的所述地理位置和所述处理服务器的地理位置。
15.根据权利要求13所述的方法,其中,
使用预定义的用户数据报协议(UDP)端口将生成的请求消息作为广播消息以电子方式发送,
以第一生存时间将所述广播消息发送到所述至少一个本地计算设备,
以第二生存时间将所述广播消息发送到所述远程计算设备,以及
所述第二生存时间具有比所述第一生存时间更高的值。
16.根据权利要求13所述的方法,其中,
所述请求消息还包括使用与所述处理服务器相关联的公钥导出的区块链网络地址,以及
所述一个或多个协议消息中的每一个协议消息还包括使用与相应计算设备相关联的公钥导出的区块链网络地址。
17.根据权利要求16所述的方法,其中,使用通过使用与所述处理服务器相关联的所述公钥导出的所述区块链网络地址对所述处理服务器使用建立的通信信道进行的传输进行签名。
18.一种用于自动配置通信网络的***,包括:
处理服务器的生成模块,其被配置为生成请求消息,所述请求消息至少包括与所述处理服务器相关联的通信地址;
所述处理服务器的发送设备,其被配置为使用预定义的用户数据报协议(UDP)端口将生成的请求消息作为广播消息以电子方式发送到多个计算设备,其中,以预定生存时间发送所述广播消息;
所述处理服务器的接收设备,其被配置为接收一个或多个协议消息,其中,每个协议消息从所述多个计算设备中的一个计算设备接收,所述每个协议消息由相应的计算设备使用所述预定义的UDP端口发送,并且所述每个协议消息至少包括与所述相应计算设备相关联的通信地址和指定的传输控制协议(TCP)端口;
所述处理服务器的数据识别模块,其被配置为识别所述一个或多个协议消息中的至少一个协议消息用于建立通信;以及
所述处理服务器的通信模块,被配置为使用包括在相应协议消息中的特定TCP端口建立与至少一个所识别的协议消息中的每一个相关联的所述计算设备的通信连接。
19.根据权利要求18所述的***,其中,
如果识别出的所述至少一个协议消息不包括至少预定数量的协议消息,则所述处理服务器还被配置为:
以第二生存时间重复所述发送、接收、识别和建立步骤,并且
所述第二生存时间的值比所述预定生存时间更高。
20.根据权利要求19所述的***,其中,
使用所述预定生存时间识别的所述至少一个协议消息和使用所述第二生存时间识别的所述至少一个协议消息的组合至少包括所述预定数量的协议消息。
21.根据权利要求19所述的***,其中,
对于使用所述预定生存时间接收的协议消息,不建立通信连接,以及使用所述第二生存时间识别的所述至少一个协议消息包括至少所述预定数量的协议消息。
22.根据权利要求21所述的***,其中,使用所述第二生存时间识别所述一个或多个协议消息中的所述至少一个协议消息包括:对包括与使用所述预定生存时间识别的所述至少一个协议消息中包括的通信地址相对应的通信地址的各个协议消息进行优先级排序。
23.根据权利要求18所述的***,其中,所述请求消息和所述一个或多个协议消息中的每一个协议消息还包括与区块链网络相关联的网络标识符。
24.根据权利要求23所述的***,其中,
所述请求消息还包括使用与所述处理服务器相关联的公钥导出的区块链网络地址,以及
所述一个或多个协议消息中的每一个协议消息还包括使用与相应的计算设备相关联的公钥导出的区块链网络地址。
25.根据权利要求24所述的***,其中,使用通过使用与所述处理服务器相关联的所述公钥导出的所述区块链网络地址对所述处理服务器使用建立的通信信道进行的传输进行签名。
26.根据权利要求18所述的***,其中,
所述请求消息还包括一个或多个服务指示符,
所述一个或多个协议消息中的每一个协议消息还包括至少一个服务指示符,以及
识别出的所述至少一个协议消息中的每一个协议消息包括的至少一个服务指示符对应于所述请求消息中包括的所述一个或多个服务指示符中的一个服务指示符。
27.根据权利要求18所述的***,其中,所述处理服务器的所述通信模块还被配置为:建立到计算设备的附加通信连接,所述计算设备到所述处理服务器的地理距离大于与识别出的所述至少一个协议消息中的每一个协议消息相关联的所述计算设备的地理距离。
28.根据权利要求27所述的***,其中,通过以第二生存时间重复所述发送、接收、识别和建立步骤来识别具有距所述处理服务器更大地理距离的所述计算设备,其中,所述第二生存时间是比所述预定生存时间更高的值。
29.根据权利要求27所述的***,还包括:
处理服务器的位置数据库,其被配置为存储多个位置简档,其中,每个所述位置简档至少包括地理位置和相关联的通信地址指示符,其中
基于与通信地址指示符相关联的所述地理位置来识别具有距所述处理服务器更大地理距离的所述计算设备,所述通信地址指示符对应于与所述计算设备相关联的通信地址。
30.一种用于配置抗***通信网络的***,包括:
处理服务器的生成模块,其被配置为生成请求消息,所述请求消息至少包括与所述处理服务器关联的通信地址;
所述处理服务器的发送设备,其被配置为以电子方式将生成的请求消息发送到多个计算设备;
所述处理服务器的接收设备,其被配置为接收一组协议消息,其中,每个协议消息是从所述多个计算设备中的一个计算设备接收的并且至少包括与相应的计算设备相关联的通信地址和指定的传输控制协议(TCP)端口;
所述处理服务器的数据识别模块,其被配置为识别所述多个计算设备的一个远程计算设备和至少一个本地计算设备,其中,从所述多个计算设备接收到了每个协议消息,其中,所述远程计算设备与所述处理服务器的地理距离比所述至少一个本地计算设备中的每一个本地计算设备与处理服务器的地理距离都要更远;以及
所述处理服务器的通信模块,其被配置为使用包括在相应的协议消息中的指定的TCP端口来建立和所述远程计算设备和所述至少一个本地计算设备中的每个本地计算设备的通信连接。
31.根据权利要求30所述的***,还包括:
所述处理服务器的位置数据库,其被配置为存储多个位置简档,其中,每个位置简档至少包括地理位置和相关联的通信地址指示符;以及
所述处理服务器的查询模块,其被配置为对所述位置数据库执行查询,以识别所述远程计算设备和所述至少一个本地计算设备中的每一个本地计算设备的位置简档,其中,所包括的通信地址指示符对应于与相应计算设备相关联的所述通信地址,其中
更远的地理距离基于识别出的每个位置简档中包括的所述地理位置和所述处理服务器的地理位置。
32.根据权利要求30所述的***,其中,
使用预定义的用户数据报协议(UDP)端口将生成的请求消息作为广播消息以电子方式发送,
以第一生存时间将所述广播消息发送到所述至少一个本地计算设备,
以第二生存时间将所述广播消息发送到所述远程计算设备,以及
所述第二生存时间具有比所述第一生存时间更高的值。
33.根据权利要求30所述的***,其中,
所述请求消息还包括使用与所述处理服务器相关联的公钥导出的区块链网络地址,以及
所述一个或多个协议消息中的每一个协议消息还包括使用与相应计算设备相关联的公钥导出的区块链网络地址。
34.根据权利要求33所述的***,其中,使用通过使用与所述处理服务器相关联的公钥导出的所述区块链网络地址对所述处理服务器使用建立的通信信道进行的传输进行签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111404292.1A CN114124685A (zh) | 2016-07-15 | 2017-06-07 | 用于区块链网络的节点发现和自愈的方法和*** |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/211,076 US10454765B2 (en) | 2016-07-15 | 2016-07-15 | Method and system for node discovery and self-healing of blockchain networks |
US15/211,076 | 2016-07-15 | ||
PCT/US2017/036240 WO2018013260A1 (en) | 2016-07-15 | 2017-06-07 | Method and system for node discovery and self-healing of blockchain networks |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111404292.1A Division CN114124685A (zh) | 2016-07-15 | 2017-06-07 | 用于区块链网络的节点发现和自愈的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109479053A true CN109479053A (zh) | 2019-03-15 |
CN109479053B CN109479053B (zh) | 2021-11-09 |
Family
ID=59337824
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111404292.1A Pending CN114124685A (zh) | 2016-07-15 | 2017-06-07 | 用于区块链网络的节点发现和自愈的方法和*** |
CN201780042699.XA Active CN109479053B (zh) | 2016-07-15 | 2017-06-07 | 用于区块链网络的节点发现和自愈的方法和*** |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111404292.1A Pending CN114124685A (zh) | 2016-07-15 | 2017-06-07 | 用于区块链网络的节点发现和自愈的方法和*** |
Country Status (6)
Country | Link |
---|---|
US (3) | US10454765B2 (zh) |
EP (3) | EP3790251B1 (zh) |
CN (2) | CN114124685A (zh) |
ES (1) | ES2824517T3 (zh) |
SG (2) | SG10201912561TA (zh) |
WO (1) | WO2018013260A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111245910A (zh) * | 2019-12-31 | 2020-06-05 | 杭州趣链科技有限公司 | 一种区块链轻节点多副本的部署方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
WO2018112949A1 (zh) * | 2016-12-23 | 2018-06-28 | 深圳前海达闼云端智能科技有限公司 | 区块链的挖矿方法、装置和节点设备 |
CN108446976B (zh) * | 2018-02-07 | 2019-05-24 | 平安科技(深圳)有限公司 | 一种公积金转移方法、计算机可读存储介质及终端设备 |
KR102154292B1 (ko) * | 2018-08-16 | 2020-09-09 | 송상민 | 블록체인에 접속하는 클라이언트와 서비스 제공자간의 쿼리 처리 방법 |
US10608829B1 (en) * | 2018-10-08 | 2020-03-31 | International Business Machines Corporation | Blockchain timestamp agreement |
US11924360B2 (en) | 2018-10-08 | 2024-03-05 | Green Market Square Limited | Blockchain timestamp agreement |
US10805094B2 (en) | 2018-10-08 | 2020-10-13 | International Business Machines Corporation | Blockchain timestamp agreement |
CN110166323B (zh) * | 2019-06-06 | 2020-12-11 | 杭州云象网络技术有限公司 | 一种提高区块链网络可靠性的方法 |
US11563679B1 (en) * | 2019-12-12 | 2023-01-24 | Architecture Technology Corporation | Distributed ledger adjustment in response to disconnected peer |
CN114726866B (zh) * | 2022-04-07 | 2024-07-16 | 网易(杭州)网络有限公司 | 联盟链的共识节点维护方法、电子设备、存储介质 |
CN115174652B (zh) * | 2022-06-23 | 2024-04-02 | 深圳市元征科技股份有限公司 | 一种通信连接建立方法、装置、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4816702A (en) * | 1986-12-10 | 1989-03-28 | Sgs Microelettronica S.P.A. | CMOS logic circuit |
US6760309B1 (en) * | 2000-03-28 | 2004-07-06 | 3Com Corporation | Method of dynamic prioritization of time sensitive packets over a packet based network |
US20080285520A1 (en) * | 2005-11-22 | 2008-11-20 | Forte Andrea G | Methods, media, and devices for moving a connection from one point of access to another point of access |
US20090113034A1 (en) * | 2007-10-30 | 2009-04-30 | Nagendra Krishnappa | Method And System For Clustering |
US20130191434A1 (en) * | 2012-01-19 | 2013-07-25 | Todd Lyle Smith | Concurrent process execution |
CN105051726A (zh) * | 2013-01-09 | 2015-11-11 | 松下知识产权经营株式会社 | 信息显示处理***、信息显示处理装置及便携终端 |
CN105719185A (zh) * | 2016-01-22 | 2016-06-29 | 杭州复杂美科技有限公司 | 区块链的数据对比及共识方法 |
US20160203522A1 (en) * | 2014-03-22 | 2016-07-14 | Retailmenot, Inc. | Peer-to-peer geotargeting content with ad-hoc mesh networks |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4371056B2 (ja) * | 2005-01-07 | 2009-11-25 | ブラザー工業株式会社 | ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等 |
US8650259B2 (en) * | 2005-02-03 | 2014-02-11 | International Business Machines Corporation | Method and apparatus for increasing the search space or peer-to-peer networks using time-to-live boosting |
GB0621433D0 (en) | 2006-10-27 | 2006-12-06 | 3G Scene Ltd | Networking application |
US20100202346A1 (en) * | 2009-02-12 | 2010-08-12 | Sitzes Ryan Z | Wireless communication system and method |
US20110219137A1 (en) * | 2010-03-05 | 2011-09-08 | Bo Yang | Peer-to-peer live content delivery |
KR20110127907A (ko) | 2010-05-20 | 2011-11-28 | (주)블루홀스튜디오 | 온라인 게임 환경에서 서버 트랜스퍼링하여 게임을 진행하는 방법, 장치, 및 기록매체 |
US8839328B2 (en) * | 2010-07-15 | 2014-09-16 | Broadcom Corporation | Method and system for providing location aware tracking and services via an IP multimedia residential gateway |
US8650365B2 (en) * | 2011-09-02 | 2014-02-11 | Compuverde Ab | Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes |
US8588818B2 (en) * | 2011-11-08 | 2013-11-19 | Cellco Partnership | Location-based broadcast messaging to mobile devices located in or entering into a defined geographic area |
WO2014101974A1 (en) * | 2012-12-31 | 2014-07-03 | Alcatel Lucent | Ip address based udp relay |
US9571603B2 (en) * | 2013-09-17 | 2017-02-14 | Cisco Technology, Inc. | Redundancy network protocol system |
US10592985B2 (en) * | 2015-03-02 | 2020-03-17 | Dell Products L.P. | Systems and methods for a commodity contracts market using a secure distributed transaction ledger |
US10475030B2 (en) * | 2016-02-22 | 2019-11-12 | Bank Of America Corporation | System for implementing a distributed ledger across multiple network nodes |
US20170372417A1 (en) * | 2016-06-28 | 2017-12-28 | Sivanarayana Gaddam | Digital asset account management |
-
2016
- 2016-07-15 US US15/211,076 patent/US10454765B2/en active Active
-
2017
- 2017-06-07 SG SG10201912561TA patent/SG10201912561TA/en unknown
- 2017-06-07 EP EP20191630.1A patent/EP3790251B1/en active Active
- 2017-06-07 EP EP17739732.0A patent/EP3485622B1/en active Active
- 2017-06-07 ES ES17739732T patent/ES2824517T3/es active Active
- 2017-06-07 SG SG11201810851YA patent/SG11201810851YA/en unknown
- 2017-06-07 EP EP23206547.4A patent/EP4290830A3/en active Pending
- 2017-06-07 CN CN202111404292.1A patent/CN114124685A/zh active Pending
- 2017-06-07 CN CN201780042699.XA patent/CN109479053B/zh active Active
- 2017-06-07 WO PCT/US2017/036240 patent/WO2018013260A1/en unknown
-
2019
- 2019-09-11 US US16/567,112 patent/US11477084B2/en active Active
-
2022
- 2022-09-12 US US17/942,211 patent/US20230006882A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4816702A (en) * | 1986-12-10 | 1989-03-28 | Sgs Microelettronica S.P.A. | CMOS logic circuit |
US6760309B1 (en) * | 2000-03-28 | 2004-07-06 | 3Com Corporation | Method of dynamic prioritization of time sensitive packets over a packet based network |
US20080285520A1 (en) * | 2005-11-22 | 2008-11-20 | Forte Andrea G | Methods, media, and devices for moving a connection from one point of access to another point of access |
US20090113034A1 (en) * | 2007-10-30 | 2009-04-30 | Nagendra Krishnappa | Method And System For Clustering |
US20130191434A1 (en) * | 2012-01-19 | 2013-07-25 | Todd Lyle Smith | Concurrent process execution |
CN105051726A (zh) * | 2013-01-09 | 2015-11-11 | 松下知识产权经营株式会社 | 信息显示处理***、信息显示处理装置及便携终端 |
US20160203522A1 (en) * | 2014-03-22 | 2016-07-14 | Retailmenot, Inc. | Peer-to-peer geotargeting content with ad-hoc mesh networks |
CN105719185A (zh) * | 2016-01-22 | 2016-06-29 | 杭州复杂美科技有限公司 | 区块链的数据对比及共识方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111245910A (zh) * | 2019-12-31 | 2020-06-05 | 杭州趣链科技有限公司 | 一种区块链轻节点多副本的部署方法 |
Also Published As
Publication number | Publication date |
---|---|
ES2824517T3 (es) | 2021-05-12 |
EP3485622B1 (en) | 2020-08-19 |
SG10201912561TA (en) | 2020-02-27 |
EP3790251A1 (en) | 2021-03-10 |
US20230006882A1 (en) | 2023-01-05 |
EP3790251B1 (en) | 2023-12-06 |
US11477084B2 (en) | 2022-10-18 |
US20180019921A1 (en) | 2018-01-18 |
EP4290830A3 (en) | 2023-12-20 |
WO2018013260A1 (en) | 2018-01-18 |
EP3485622A1 (en) | 2019-05-22 |
US20200007393A1 (en) | 2020-01-02 |
CN109479053B (zh) | 2021-11-09 |
SG11201810851YA (en) | 2019-01-30 |
EP4290830A2 (en) | 2023-12-13 |
CN114124685A (zh) | 2022-03-01 |
US10454765B2 (en) | 2019-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109479053A (zh) | 用于区块链网络的节点发现和自愈的方法和*** | |
US11397944B2 (en) | Application framework using blockchain-based asset ownership | |
US11250466B2 (en) | Systems and methods for using secured representations of user, asset, and location distributed ledger addresses to prove user custody of assets at a location and time | |
EP3639536B1 (en) | Naming and blockchain recording for the internet of things | |
CN109313654A (zh) | 使用布隆过滤器对被许可的区块链进行去同步恢复的方法和*** | |
Sinha et al. | Building an E Ective IoT Ecosystem for Your Business | |
CN108370318A (zh) | 用于使用数字签名的区块链变型的方法和*** | |
CN110503373B (zh) | 一种基于区块链网络的物流方法及装置 | |
CN109417482A (zh) | 用于验证身份属性信息的方法和*** | |
US20220014594A1 (en) | Framework for dynamic brokerage and management of topics and data at the service layer | |
US8930482B2 (en) | Communication exchanges and methods of use thereof | |
US20220318122A1 (en) | Method and system for blockchain performance testing | |
CN109522462B (zh) | 一种基于区块链的云查询方法、装置、设备及存储介质 | |
US20200153630A1 (en) | Method and system for quantum-resistant hashing scheme | |
US20220113690A1 (en) | Method and system for providing energy audits | |
CN109525550A (zh) | 一种数据报文的处理方法、装置以及*** | |
JP7279262B2 (ja) | 複数のブロックチェーンにわたる一貫した台帳の分散のための方法およびシステム | |
CN112256785A (zh) | 情报数据的处理方法、装置、电子设备、介质和程序产品 | |
US11271920B2 (en) | Method and system for account security of recycled phone numbers | |
US11917077B2 (en) | Method and system for quantum-resistant hashing scheme | |
US11676106B2 (en) | Method and system for managing and sourcing materials and services for energy retrofit projects | |
US20220358430A1 (en) | Method and system for providing energy audits with plural auditors | |
US20240097898A1 (en) | Blockchain data processing method and apparatus, computer device, medium, and product | |
CN117749820A (zh) | 基于区块链的消息处理方法、装置、设备、介质及产品 | |
CN114667524A (zh) | 信息处理***、信息处理设备和信息处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |