A distributed system

By collaborating between the master and slave service nodes in the distributed system, the problem of sharing resources, capabilities, and computing power among devices is solved, enabling efficient task completion.

CN116016586BActive Publication Date: 2026-06-30NIO SOFTWARE TECH (SHANGHAI) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NIO SOFTWARE TECH (SHANGHAI) CO LTD
Filing Date
2022-12-12
Publication Date
2026-06-30

Smart Images

  • Figure CN116016586B_ABST
    Figure CN116016586B_ABST
Patent Text Reader

Abstract

This invention relates to the field of Internet of Things (IoT) technology, specifically providing a distributed system designed to address the problem that existing interconnection methods between different devices cannot fully realize the sharing of resources, capabilities, and computing power. To this end, the distributed system of this invention includes: a master service node and at least one slave service node; a distributed operating system is deployed on the master service node, wherein the distributed operating system includes: a virtual bus for providing a standard interface to at least one slave service node; virtual devices for receiving information from the functional layer and sending the information to the corresponding slave service node via the virtual bus; a functional layer for accepting calls from the application layer and / or slave service nodes; and an edge computing interface for providing an interface to the application layer. This system achieves effective sharing of resources, capabilities, and computing power, with the master service node at the center and slave service nodes providing resources, computing power, and other capabilities to the master service node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of Internet of Things (IoT) technology, and specifically provides a distributed system. Background Technology

[0002] With the development of network technology, existing technologies can already achieve interconnection and interoperability between different devices. However, when different devices interconnect, they are in a peer-to-peer relationship, and sharing is based on communication protocols, which is a point-to-point cooperation and does not fully realize the sharing of resources, capabilities, and computing power. Taking the interconnection between vehicles and terminal devices such as mobile phones, smartwatches, or smart glasses as an example, for instance... Figure 1 As shown, vehicles, mobile phones, smartwatches, and smart glasses are peers, and any two of them can interconnect via a network. In other examples, the vehicle can also be equipped with an application to control the smart glasses, enabling point-to-point control. However, current interconnection methods between different devices are loose, failing to fully realize the sharing of resources, capabilities, and computing power. Summary of the Invention

[0003] The present invention aims to solve the above-mentioned technical problems, namely, to solve the problem that the existing interconnection methods between different devices cannot fully realize the sharing of resources, capabilities and computing power.

[0004] In a first aspect, the present invention provides a distributed system comprising a plurality of service nodes, wherein the plurality of service nodes includes a master service node and at least one slave service node;

[0005] A distributed operating system is deployed on the main service node, wherein the distributed operating system includes:

[0006] A virtual bus is used to provide a standard interface for the at least one slave service node;

[0007] A virtual device, which is obtained by virtualizing the functions of at least one slave service node locally, is used to receive information from the functional layer and send the information to the corresponding slave service node through the virtual bus;

[0008] The functional layer includes at least one functional module, which is obtained by standardizing the capabilities and / or resources of the master service node and the at least one slave service node, and is used to accept calls from the application layer and / or the slave service node.

[0009] Edge computing interface, used to provide an interface for the application layer.

[0010] In some embodiments, the virtual device includes at least one of a central processing unit, a graphics processing unit, a neural network processor, a data processor, a sound processor, a video processor, and a direct access memory.

[0011] In some embodiments, the functional layer includes at least one of the following functional modules: a distributed computing framework module, a distributed task management module, a distributed device management module, a distributed lock module, a distributed message queue module, a distributed file system module, a message notification module, a security module, a distributed data synchronization module, a network management module, and a basic communication protocol module.

[0012] In some embodiments, the distributed computing framework module is used to decompose the received task and summarize the execution results of each subtask obtained after decomposition.

[0013] In some embodiments, the distributed task management module is used to perform at least one operation among orchestration, distribution and scheduling of tasks to be completed;

[0014] And / or,

[0015] The distributed device management module is used to virtualize the at least one slave service node according to its functions.

[0016] In some embodiments, the distributed lock module is used to provide a distributed lock mechanism;

[0017] And / or,

[0018] The distributed message queue module is used to provide a message queue for information interaction between other functional modules besides the distributed message queue module and / or for data interaction between the virtual device and the at least one slave service node.

[0019] In some embodiments, the message notification module is used to provide message notification services;

[0020] And / or,

[0021] The security module is used to provide a secure access mechanism.

[0022] In some embodiments, the distributed data synchronization module is used to perform data synchronization at a preset period;

[0023] And / or,

[0024] The network management module is used to provide network setup services.

[0025] In some embodiments, the basic communication protocol module is used to provide a communication protocol for at least one of multimedia services, file services, and messaging services.

[0026] In some embodiments, the primary service node is a vehicle.

[0027] With the above technical solution adopted, the distributed system provided by the present invention can include multiple service nodes, including a master service node and at least one slave service node. A distributed operating system is deployed on the master service node, comprising: a virtual bus for providing a standard interface to at least one slave service node; a virtual device obtained by virtualizing the functions of at least one slave service node locally, for receiving information from the functional layer and sending the information to the corresponding slave service node via the virtual bus; a functional layer, including at least one functional module, which is obtained by standardizing the capabilities and / or resources of the master service node and at least one slave service node, for accepting calls from the application layer and / or slave service nodes; and an edge computing interface for providing an interface to the application layer. This system realizes a system centered on the master service node, with slave service nodes providing resources, computing power, and other capabilities to the master service node. Effective sharing of resources, capabilities, and computing power is achieved between the master and slave service nodes, facilitating highly close collaboration between them to complete tasks. Attached Figure Description

[0028] The preferred embodiments of the present invention are described below with reference to the accompanying drawings, in which:

[0029] Figure 1 This is a schematic diagram of the structure of a communication system provided by the present invention;

[0030] Figure 2 This is a schematic diagram of the distributed system architecture provided in an embodiment of the present invention;

[0031] Figure 3 This is a schematic diagram of the task flow for navigation using a distributed system provided by the present invention;

[0032] Figure 4 This is a schematic diagram of a distributed system provided in a specific example of the present invention. Detailed Implementation

[0033] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0034] It should be noted that, in this application, the terms "exemplary" or "for example" are used to indicate that something is being described as an example, illustration, or illustration. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0035] Some embodiments of the present invention will now be described with reference to the accompanying drawings. Those skilled in the art should understand that these embodiments are merely illustrative of the technical principles of the present invention and are not intended to limit the scope of protection of the present invention.

[0036] like Figure 1 As shown, Figure 1 This is a schematic diagram of a communication system provided by the present invention. The vehicle, mobile phone, smartwatch, and smart glasses are peers. Any two of the vehicle, mobile phone, smartwatch, and smart glasses can be interconnected through a network. The connection through the network can include Ethernet connection, cellular connection, USB (universal serial bus) connection, etc. For example, it can be achieved through BT (Bluetooth), Wi-Fi, 5G (5th Generation Mobile Communication Technology) or 60GHz network, etc. However, the existing interconnection methods between different devices cannot fully realize the sharing of resources, capabilities, and computing power.

[0037] In view of this, the present invention provides a distributed system, see below. Figure 2 As shown, Figure 2 This is a schematic diagram of a distributed system architecture provided in an embodiment of the present invention, which may include:

[0038] Multiple service nodes, including a master service node and at least one slave service node 21;

[0039] A distributed operating system is deployed on the master service node, which includes:

[0040] Virtual bus 22 is used to provide a standard interface for at least one slave service node 21;

[0041] Virtual device 23 is obtained by virtualizing the functions of at least one slave service node 21 locally, and is used to receive information from the functional layer 24 and send the information to the corresponding slave service node 21 through the virtual bus 22.

[0042] Functional layer 24 includes at least one functional module, which is obtained by standardizing the capabilities and / or resources of the master service node and at least one slave service node 21, and is used to accept calls from the application layer and / or the slave service node 21.

[0043] Edge computing interface 25 is used to provide an interface for the application layer.

[0044] A distributed system is a software system that supports distributed processing; it is a system that executes tasks on a multi-service node architecture interconnected by a communication network. In a distributed system, a single computer can serve as a service node.

[0045] A distributed operating system is a part of a distributed system. It is based on multiple service nodes and is mainly responsible for managing distributed processing system resources and controlling the operation of distributed programs.

[0046] In some embodiments, a target service node may be selected from multiple service nodes as the master service node, and the service nodes other than the master service node may be selected as slave service nodes 21, depending on the strength of computing power or the needs.

[0047] In some embodiments, the virtual bus 22 serves as a communication carrier, and at least one slave node 21 may be mounted on the virtual bus 22. The slave node 21 may support various network connection methods, such as 5G network connection, USB connection, WiFi connection, BT connection and NFC (Near Field Communication) connection, etc. The virtual bus 22 can abstract and unify various network connection methods, providing a standard interface for at least one slave node 21.

[0048] In some embodiments, the functionality of the slave service node 21 can be virtualized to the local device of the master service node, resulting in a virtual device 23. Each slave service node 21 can register its functional information with the virtual device 23 so that, according to the application layer requirements, the virtual device 23 can find a target slave service node with matching capabilities based on the functional information of each slave service node 21 to complete the corresponding required tasks.

[0049] One of the service nodes 21 can register its functional information with different virtual devices 23 for its different functions.

[0050] In some embodiments, the virtual device 23 may include at least one of a central processing unit (CPU), a graphics processing unit (GPU), a neural network processing unit (NPU), a digital signal processor (DSP), an audio processing unit (APU), a video processing unit (VPU), and direct access memory.

[0051] As an example, service node 21 could be a smartphone or a smart camera. Since smartphones and smart cameras have graphics processing capabilities, these can be abstracted and virtualized onto the GPU. When receiving task information from the application layer that requires graphics processing, the GPU can find smartphones and smart cameras with graphics processing capabilities to execute the corresponding tasks.

[0052] In some embodiments, a functional layer 24 can be obtained by standardizing the capabilities and / or resources of the master service node and at least one slave service node 21. The functional layer 24 may include at least one functional module.

[0053] As an example, the capabilities of the master service node and the slave service node 21 may include the ability to provide security services and storage services, and the resources of the master service node and the slave service node may include artificial intelligence algorithms.

[0054] In some embodiments, the edge computing interface 25 is used to provide an interface for the application layer, through which the application layer can interact with the functional layer 24.

[0055] In some embodiments, the application layer may include application protocols and distributed application software.

[0056] The distributed system provided by the embodiments of the present invention can include multiple service nodes, including a master service node and at least one slave service node. A distributed operating system is deployed on the master service node, comprising: a virtual bus for providing a standard interface to at least one slave service node; a virtual device obtained by virtualizing the functions of at least one slave service node locally, for receiving information from the functional layer and sending the information to the corresponding slave service node via the virtual bus; a functional layer including at least one functional module, which is obtained by standardizing the capabilities and / or resources of the master service node and at least one slave service node, for accepting calls from the application layer and / or slave service nodes; and an edge computing interface for providing an interface to the application layer. This system realizes a system centered on the master service node, with slave service nodes providing resources, computing power, and other capabilities to the master service node. Effective sharing of resources, capabilities, and computing power is achieved between the master and slave service nodes, facilitating highly close collaboration between them to complete tasks.

[0057] In some embodiments, the functional layer 24 may include at least one of the following functional modules: a distributed computing framework module, a distributed task management module, a distributed device management module, a distributed lock module, a distributed message queue module, a distributed file system module, a message notification module, a security module, a distributed data synchronization module, a network management module, and a basic communication protocol module.

[0058] In some embodiments, the distributed computing framework module is used to decompose the received task and summarize the execution results of each subtask obtained after decomposition.

[0059] The distributed computing framework module decomposes the received task into multiple subtasks based on the distributed computing framework model; and finally, it aggregates and links the execution results of multiple subtasks into a whole to complete the specific task.

[0060] In some embodiments, the distributed task management module is used to perform at least one of the following operations: orchestration, distribution, and scheduling of tasks to be completed.

[0061] As an example, for multiple tasks, the distributed task management module orchestrates these tasks, controlling their execution in a serial or parallel manner. The module distributes these tasks to different slave service nodes. Finally, it schedules these tasks, controlling their execution time and priority.

[0062] In some embodiments, the distributed device management module is used to virtualize at least one slave service node according to its function. For example, the slave service node is virtualized according to its function and abstracted into at least one of different types of virtual devices such as CPU, GPU, RDMA (Remote Direct Memory Access), ISP (Image Signal Processing), NPU, APU and VPU.

[0063] In some embodiments, the distributed device management module can also be used to discover service nodes and monitor at least one operation of service nodes, such as registration, deregistration, connection, disconnection, networking, resource request, and resource release.

[0064] In some embodiments, the distributed device management module can also be used to find a matching slave service node based on the functional information corresponding to the virtual device, and request the slave service node to complete the corresponding task.

[0065] In some embodiments, the distributed lock module provides a distributed lock mechanism. When multiple service nodes request the same method or the same business operation, the distributed lock mechanism ensures that the corresponding business logic can only be executed by one thread on one service node, thus avoiding concurrency issues.

[0066] In some embodiments, the distributed message queue module is used to provide a message queue for data interaction between different service nodes.

[0067] In some embodiments, the distributed file system module can provide a distributed file system that enables different service nodes to share files, and can be used to organize and allocate file storage space for multiple service nodes interconnected by a network.

[0068] In some embodiments, the message notification module is used to provide message notification services. As an example, when a service node is offline, the message notification module caches message notifications; when the message notification type is urgent, if the target message receiving end is in a dormant state, the message notification module can also provide a wake-up service to ensure reliable message delivery.

[0069] In some embodiments, the security module is used to provide a secure access mechanism. In other embodiments, the security module can also be used to provide authentication, encryption, decryption, and other services to ensure the security of information transmission.

[0070] In some embodiments, the distributed data synchronization module is used to perform data synchronization at a preset period. For example, data that does not require timely updates can be synchronized periodically.

[0071] In some embodiments, the network management module is used to provide network setup services. As an example, the network management module may be used to provide Master election and management of at least one of network members, connections, bandwidth, and QoS (Quality of Service).

[0072] In some embodiments, the basic communication protocol module is used to provide a communication protocol for at least one of multimedia services, file services, and messaging services.

[0073] As examples, communication protocols related to multimedia services may include RTSP (Real Time Streaming Protocol), HLS (HTTP Live Streaming), Quick (Quick UDP Internet Connection), WiFi Display, DLNA (Digital Living Network Alliance), WebSocket, etc.

[0074] As examples, communication protocols related to file services may include: FTP (File Transfer Protocol), NFS (Network File System), HTTP (Hypertext Transfer Protocol), HTTPS (Hypertext Transfer Protocol Secure), etc.

[0075] As examples, communication protocols related to messaging services may include: Web Socket, MQTT (Message Queuing Telemetry Transport), DDS (Data Distribution Service), and RPC (Remote Procedure Call), etc.

[0076] As an example, see Figure 3 As shown, Figure 3 This is a schematic diagram of the task flow for navigation using a distributed system provided by the present invention.

[0077] The primary service node can be a vehicle, while the secondary service nodes can include smartphones and watches.

[0078] The application layer can transmit the "navigation" task to be executed to the functional layer through the edge computing interface. The distributed computing framework module in the functional layer decomposes the "navigation" task into multiple sub-tasks: Task 1, location; Task 2, path calculation; Task 3, interface display; and Task 4, voice broadcast.

[0079] The distributed device management module can discover service nodes and abstract and virtualize slave service nodes based on their functions to obtain corresponding virtual devices. For example, CPU-type virtual devices can correspond to smartphones, watches, and vehicles; for smartphones and vehicles, location services can be implemented to virtualize them, resulting in GPU virtual devices. The distributed computing framework model determines the type of virtual device with corresponding functions based on the requirements of subtasks and can match the determined virtual devices to the corresponding service nodes and assign subtasks to the corresponding service nodes. For example, task 1 can be assigned to a smartphone, and other tasks can be assigned to vehicles. After obtaining location data, the smartphone can transmit the location data to the distributed computing framework module through the communication protocol provided by the basic communication protocol module and the encryption service provided by the security module.

[0080] It should be noted that the distributed operating system provided by this invention can be deployed on any smart device. The smart device deploying this distributed operating system can act as a provider of capabilities and / or resources, or as a demander of capabilities and / or resources, enabling effective sharing of resources and computing power with other devices interconnected via a network.

[0081] As an example, see Figure 4 As shown, Figure 4 This is a schematic diagram of a distributed system provided by a specific example of the present invention. The distributed operating system can be deployed on a vehicle, which can form a distributed system centered on the vehicle and with other devices such as augmented reality glasses, tablets, smartphones, smartwatches, and other vehicles via a virtual bus. This facilitates the sharing of resources, computing power, and capabilities among various devices and enables unified scheduling.

[0082] The technical solution of the present invention has been described above with reference to the preferred embodiments shown in the accompanying drawings. However, it will be readily understood by those skilled in the art that the scope of protection of the present invention is obviously not limited to these specific embodiments. Without departing from the principles of the present invention, those skilled in the art can make equivalent changes or substitutions to the relevant technical features, and the technical solutions after such changes or substitutions will all fall within the scope of protection of the present invention.

Claims

1. A distributed system, characterized in that, It includes multiple service nodes, among which there is a master service node and at least one slave service node; A distributed operating system is deployed on the main service node, wherein the distributed operating system includes: A virtual bus is used to provide a standard interface for the at least one slave service node; A virtual device, which is obtained by virtualizing the functions of at least one slave service node locally, is used to receive information from the functional layer and send the information to the corresponding slave service node through the virtual bus; The functional layer includes at least one functional module, which is obtained by standardizing the capabilities and / or resources of the master service node and the at least one slave service node, and is used to accept calls from the application layer and / or the slave service node. Edge computing interface, used to provide an interface for the application layer.

2. The distributed system according to claim 1, characterized in that, The virtual device includes at least one of a central processing unit, a graphics processing unit, a neural network processor, a data processor, a sound processor, a video processor, and a direct access memory.

3. The distributed system according to claim 1 or 2, characterized in that, The functional layer includes at least one of the following modules: distributed computing framework module, distributed task management module, distributed device management module, distributed lock module, distributed message queue module, distributed file system module, message notification module, security module, distributed data synchronization module, network management module, and basic communication protocol module.

4. The distributed system according to claim 3, characterized in that, The distributed computing framework module is used to decompose the received tasks and summarize the execution results of each subtask obtained after decomposition.

5. The distributed system according to claim 3, characterized in that, The distributed task management module is used to perform at least one of the following operations: orchestration, distribution, and scheduling of tasks to be completed; And / or, The distributed device management module is used to virtualize the at least one slave service node according to its functions.

6. The distributed system according to claim 3, characterized in that, The distributed lock module is used to provide a distributed lock mechanism; And / or, The distributed message queue module is used to provide a message queue for data interaction between different service nodes.

7. The distributed system according to claim 3, characterized in that, The message notification module is used to provide message notification services; And / or, The security module is used to provide a secure access mechanism.

8. The distributed system according to claim 3, characterized in that, The distributed data synchronization module is used to synchronize data at a preset period. And / or, The network management module is used to provide network setup services.

9. The distributed system according to claim 8, characterized in that, The basic communication protocol module is used to provide a communication protocol for at least one of multimedia services, file services, and messaging services.

10. The distributed system according to claim 1, characterized in that, The main service node is the vehicle.