TECHNICAL FIELD

Embodiments of the present invention generally relate to systems and methods for generating and operating an infrastructure of computing devices, and more specifically for creating, implementing, and operating a cloudless infrastructure to provide services to requesting devices from the infrastructure of computing devices or nodes.

BACKGROUND

Computing devices connected to or otherwise in communication with a network may receive services from and over the network. The services are many and include communication with and between devices, network computing, cloud services (such as storage services, networking services, and compute services), connection to the public Internet, and the like. To provide such services, cloud providers will often utilize the collective resources of an interconnected group of computing devices. Alternatively or additionally, an Internet Service Provider (ISP) network may provide access to the Internet to a customer device connected to the ISP. The ISP may therefore manage devices and information to provide the Internet access service, which typically involves a database of account information, a domain name system for resolving IP address requests, routers and switches for routing communications from the customer devices, and the like. To reach various services, some network communications will traverse network paths of other providers. In smaller networks, such as local enterprise networks for a business or home, all communications into and out of the network may pass through a single computing device, such as a server, which may also operate as the sole device for network applications and data storage.

Centralized networks offer ease of use and efficiency in maintaining and operating the network. Network devices may be updated regularly through or from a centralized authority, security may be maintained by limiting the accessibility of the network devices to a small number of administrators, and collection and processing of operational data may be simplified through monitoring of a few devices. However, centralized networks have some downsides. For example, centralized networks in which computing devices connect to a central device or device may be vulnerable to a failure at the central device leading to interruption of services for the connected devices. Further, it is sometimes difficult to scale network resources of a small, centralized network to meet customer demand, as scaling generally requires the addition and provisioning of new equipment within the network. Also, use of a centralized network to access the Internet may require customer devices to provide personal information of users, such as passwords, search history, banking information, and the like, during interactions with websites, all of which may be stored in devices within the centralized network. For these and many other reasons, centralized networks of a single controlling device or authority, while ubiquitous, have various drawbacks when providing network services.

It is with these observations in mind, among other, that aspects of the present disclosure were conceived.

SUMMARY

One aspect of the present disclosure relates to method for operating a cloudless infrastructure of devices. The method may include the operations of storing, in a list of verified device identifiers at a plurality of node computing devices of an interconnected network of computing devices, a fingerprint identifier of a computing device, the fingerprint identifier comprising a hashed value of a hardware component identifier and a software component identifier of the computing device and receiving, at one of the plurality of node computing devices, the hardware component identifier and the software component identifier of the computing device from the computing device upon the computing device executing a boot program while in communication with the one of the plurality of node computing devices. The method may further include the operations of generating, at the one of the plurality of node computing devices, a node identifier comprising a hashed value of the hardware component identifier and the software component identifier received from the computing device, verifying that the generated node identifier matches the fingerprint identifier included in the list of verified device identifiers, and registering the computing device as a node computing device of the interconnected network of computing devices.

Another aspect of the present disclosure relates to a cloudless infrastructure of interconnected computing devices. The infrastructure may include a plurality of node devices each comprising a communication port for exchanging communications with another of the plurality of node devices, a processor, and a memory storing a service application. The first of the plurality of node devices may include instructions that, when executed, cause the processor of the first of the plurality of node devices to generate a node identifier of a computing device, the node identifier comprising a hashed value of a hardware component identifier and a software component identifier received, from the computing device and by the communication port, during a start-up procedure of the computing device, verify that the generated node identifier matches a fingerprint identifier associated with the computing device and included in the list of verified device identifiers stored on the plurality of node devices, the fingerprint identifier comprising a hashed value of a hardware component identifier and a software component identifier of the computing device, and transmit, by the communication port and to the computing device, an access level identifier and node identifier to the computing device to register the computing device as a verified node device of the plurality of node devices.

