Hardware access management method
Through the combined mechanism of device services, allocator services and runtime wrappers, the security and robustness issues of hardware resource access management in edge-based computing systems are solved, controlled access and efficient management of hardware resources are achieved, and the stability and flexibility of the system are improved.
Patent Information
- Application Number
- CN202480017570.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-03-08
- Filing Date
- 2024-02-28
- Publication Date
- 2025-10-03
Smart Images

Figure CN120752634A_ABST
Abstract
Description
[0001] The present invention relates to a computer-implemented hardware access management method for a sandboxed edge-based computing system and a hardware access management system for a sandboxed edge-based computing system.
[0002] Computer systems used for data acquisition, processing, transmission, and control, located near attached field devices such as sensors and actuators, are called edge systems. Industrial edge systems can run on a wide variety of hardware resources, integrated into controllers and HMIs, on industrial PCs of varying performance classes, and on certified edge devices.
[0003] Edge-based systems can be implemented as open systems, meaning users can install and run their own or third-party applications. A key feature of edge-based systems is that they provide the infrastructure for managing the many edge devices that may exist throughout a site, such as the shop floor. The shop floor refers to the area of a factory where production occurs. This includes installing and managing applications from a central management system, as well as remotely managing edge devices on site.
[0004] Such edge-based systems typically support multiple user roles with fine-grained access permissions. This includes user roles that provide access to hardware settings, configuring edge devices, installing applications, starting and stopping applications, accessing applications, and other permissions.
[0005] An important aspect of conventional edge-based systems is that user-defined, and therefore unverified, applications should run in a protected environment. This helps enhance system robustness in situations where user-defined applications do not work together, and further improves the system security of edge-based systems, especially in situations where malicious applications attempt to extract secret data and / or aim to gain control of the hardware.
[0006] For this reason, conventional edge applications typically cannot access peripheral hardware resources on edge devices and can only communicate with the outside world via limited means, such as IP data traffic through the IT infrastructure. One solution is to run all edge applications that require access to hardware resources as privileged processes. However, this defeats the purpose of having a protected, sandboxed system in the first place and also leads to serious shortcomings in edge-based systems with regard to system security and robustness.
[0007] However, there is a growing need to provide edge applications with controlled access to selected hardware resources, such as hardware accelerators for machine learning. Furthermore, real-time or near-real-time capable applications often require exclusive use of certain hardware, such as network interfaces or CPU cores.
[0008] Therefore, an object is to provide a method and system for providing edge applications with controlled access to hardware resources of an edge-based system without compromising the system security and / or system robustness of the edge-based system.
[0009] This object is achieved by a computer-implemented method comprising the features of claim 1 .
[0010] According to a first aspect, the present invention provides a computer-implemented hardware access management method for sandboxing an edge-based computing system, comprising the following steps: Information about hardware resources available in an edge-based computing system is provided by a device service; The allocator service maps available hardware resources to edge applications; and The runtime of an edge application that runs as a sandboxed process in the sandboxed edge system core is wrapped by a runtime wrapper.
[0011] In a possible embodiment of the computer-implemented hardware access management method according to the first aspect of the present invention, the device service is a stateless service and runs in a privileged mode outside the sandboxed edge system core.
[0012] In a possible embodiment of the computer-implemented hardware access management method according to the first aspect of the present invention, the device service comprises a stateless device plug-in that provides information of a specific hardware resource category.
[0013] In a possible embodiment of the computer-implemented hardware access management method according to the first aspect of the present invention, the allocator service is a state-based service and runs in a sandboxed edge system core.
[0014] In a possible embodiment of the computer-implemented hardware access management method according to the first aspect of the invention, a dispatcher service performs mapping between edge applications and hardware resources.
[0015] In a possible embodiment of the computer-implemented hardware access management method according to the first aspect of the present invention, the runtime wrapper is a stateless service and runs outside the sandboxed edge system core.
[0016] In a possible embodiment of the computer-implemented hardware access management method according to the first aspect of the present invention, an edge system core of an edge-based computing system comprises a user interface for a user and a communication interface for remote control.
[0017] In a possible embodiment of the computer-implemented hardware access management method according to the first aspect of the present invention, an edge system core of an edge-based computing system includes an application manager for running edge applications as sandboxed processes in a sandboxed edge system core based on a wrapped system runtime provided by a runtime wrapper.
[0018] In an advantageous aspect of the computer-implemented hardware access management method according to the invention, the hardware resource is or comprises a peripheral device, in particular a non-IP peripheral device.
[0019] In a possible embodiment of the computer-implemented hardware access management method according to the first aspect of the present invention, the edge application specifies desired hardware resources in a resource declaration.
[0020] In a possible embodiment of the computer-implemented hardware access management method according to the first aspect of the invention, the runtime wrapper sends a call to the allocator service, wherein the resource declaration indicates the hardware resources desired by the one or more edge applications.
[0021] In a possible embodiment of a computer-implemented hardware access management method according to the first aspect of the present invention, in a case where the allocator service successfully allocates the desired hardware resources specified by the edge application in the resource declaration, it returns device mapping information, which is passed to a lower-level command that starts a sandboxed process, wherein the requested hardware resources are marked as unavailable and can be used by the sandboxed process according to the device mapping information.
[0022] In a possible embodiment of the computer-implemented hardware access management method according to the first aspect of the present invention, when a sandboxed process terminates, the runtime wrapper notifies the allocator service, and the hardware resources occupied by the terminated sandboxed process are marked as available again.
[0023] According to another aspect, the present invention provides a hardware access management system for sandboxing an edge-based computing system, comprising: a device service adapted to provide information about hardware resources available in an edge-based computing system; an allocator service adapted to map available hardware resources to edge applications; and A runtime wrapper adapted to wrap a system runtime of an edge application that runs as a sandboxed process in a sandboxed edge system core of an edge-based computing system.
[0024] According to another aspect, the present invention provides an edge-based computing system comprising a sandboxed edge system core having an allocator service running in the sandboxed edge system core and adapted to map available hardware resources indicated by a device service running outside the sandboxed edge system core to an edge application in response to a resource declaration indicating hardware resources required by the edge application received by the allocator service from a runtime wrapper, the runtime wrapper running outside the sandboxed edge system core and adapted to wrap a system runtime for the edge application running as a sandboxed process in the sandboxed edge system core of the edge-based computing system.
[0025] Embodiments of methods and systems according to different aspects of the present invention are described in more detail below with reference to the accompanying drawings: Figure 1 A flow chart showing a possible embodiment of a computer-implemented method according to the present invention is shown; Figure 2 A schematic diagram is shown for illustrating an exemplary embodiment of a system according to further aspects of the present invention.
[0026] like Figure 1 As shown in the figure, according to Figure 2 The first aspect of the present invention is illustrated as a computer-implemented hardware access management method for sandboxing an edge-based computing system 10. In a possible embodiment, the computer-implemented hardware access management method may include three main steps.
[0027] In a first step S1 , the device service 7 provides information about the hardware resources available in the edge-based computing system.
[0028] In a second step S2 , the allocator service 5 maps the available hardware resources to the edge applications.
[0029] In a third step S3 , the runtime wrapper 6 wraps the system runtime of the edge application running as a sandboxed process in the sandboxed edge system core 1 .
[0030] Figure 2 The figure shows an exemplary embodiment of a hardware access management system 9 or an edge-based computing system 10 according to the second aspect of the present invention.
[0031] The edge-based computing system 10 includes the following: Figure 2The edge system core 1 is shown. In the illustrated embodiment, the edge system core 1 includes a user interface 2 for a user and a communication interface 3 for providing remote control. The edge system core 1 of the edge-based computing system 10 includes an application manager 4, which is adapted to manage edge applications running on edge devices 11 of the edge-based computing system 10. The edge system core 1 also includes a connected dispatcher service 5, which is adapted to communicate with a runtime wrapper 6. The dispatcher service 5 is also capable of communicating with a device service 7 including device plug-ins 8-1 to 8-N. The runtime wrapper 6 is adapted to wrap the runtime of the sandboxed system core 1. The dispatcher service 5 runs in the sandboxed edge system core 1 and provides state-based dispatch functionality.
[0032] The edge-based computing system 10 includes Figure 2 The edge system core 1 includes edge devices 11 connected to each other via data and control buses. Each edge device 11 contains the edge system core 1 as well as device services 7 and a runtime wrapper 6. The edge-based computing system 10 is adapted to operate on real-time data generated by sensors or user's client devices. Edge computing provides computing resources close to end users and can therefore improve the responsiveness and throughput of edge applications. The edge platform 10 does have significant advantages over conventional cloud-based systems.
[0033] Some edge applications rely on shorter response times, which makes edge computing significantly more feasible than cloud computing. Since the resources are close to the end user, complex analytical tools and artificial intelligence tools can be run on the edge computing system 10 using the hardware access management system according to the present invention. In the edge-based computing system 10, data is processed where it is generated, that is, at the production machines, machine tools, process flows and factories. Edge computing does increase the transparency of the entire production process and allows users to evaluate quality parameters in real time during the production process. Real-time evaluation is achieved in the sense that a certain prescribed processing cycle time will never be exceeded and it is robust to other workloads on the same edge device.
[0034] The industrial edge-based computing system 10 includes an open, ready-to-use edge computing platform consisting of edge devices 11, edge applications, edge connectivity, and application and device management infrastructure. The edge-based computing system 10 makes it easier to collect and analyze data from industrial resources, enables faster and more reliable rollout of applications at the shop floor, and provides centralized management with maximum scalability for edge devices 11 and edge applications without intervening in existing automation systems.
[0035] In an industrial edge-based computing system 10, data can be directly processed in real time by a processor of a single machine or a processor of a controller of an edge device 11 connected to the corresponding machine M so that the processed data remains confidential. Figure 2 The industrial edge-based computing system 10 shown reduces the burden on the IT infrastructure of the automation system because not all data must be transmitted via the IT network for further processing. The user can decide which data is processed locally on the edge device 11 and which data is optionally transmitted to the cloud for further processing.
[0036] In a possible embodiment, an edge device 11 within an edge-based computing system 10 of an industrial facility may include a processor, a data storage, a memory for local storage of edge applications, and an interface, in particular a USB interface, an Ethernet interface, or a display port. In a possible embodiment, the edge device 11 includes a local controller having at least one processor adapted to execute program code of the edge application loaded from a local program memory of the edge device 11. The program code of the edge application may be deployed in the local memory of the edge device 11 during the setup of the edge-based computing system 10 or distributed via a system bus of the edge-based computing system 10.
[0037] Edge applications executing on the processors of edge devices 11 can process data in real time. Edge devices 11 are connected to other edge devices 11 via their interfaces and the system bus of the edge-based computing system 10 for data transmission and control command transfer. A controller of an edge device 11, including at least one processor, can process data received from at least one other edge device 11 (particularly sensors) in real time to provide immediate control signals to other edge devices 11 of the edge-based computing system 10 (particularly actuators). Edge applications running on the processors of the controllers require hardware resources within the corresponding edge device 11, particularly local processing resources and local memory resources, as well as hardware resources of other edge devices 11, particularly peripheral hardware resources such as sensors.
[0038] The edge devices 11 of the edge-based computing system 10 can execute a variety of different edge applications.
[0039] For example, the Performance Insights edge application enables users to analyze and optimize the performance of equipment (specifically, Machine M) based on currently available operational data. Users can define key performance indicators and use the application to analyze the performance and availability of the equipment or equipment under investigation.
[0040] For example, an energy management edge application can be used to record the energy consumption of machines M distributed around the world. In this way, not only energy transparency can be achieved, but also energy efficiency can be optimized with the help of a comprehensive analysis of energy consumption.
[0041] Using machine monitoring edge applications, plant engineers and plant operators can monitor the instantaneous status of the machines they use around the world. Such applications allow machine maintenance services to be optimized based on current operating data to increase machine availability.
[0042] Anomaly detection edge applications can support users in detecting anomalies. Such edge applications can use artificial intelligence (AI) to gain comprehensive insights from data in manufacturing and production processes.
[0043] By using the data service edge application for the industrial edge-based computing system 10, data from the connected machines M or devices can be stored and structured. Other applications running on the edge device 11 can also use the storage function and the configured machine data structure via the API interface.
[0044] In possible implementations, the edge device 11 of the edge-based computing system 10 can include built-in security features such as encryption or boot protection. Backup and recovery services managed by industrial edge devices can prevent data loss and downtime. In possible embodiments, the edge device 11 can also include a local user interface with a front LED for efficient self-diagnostics and headless operation.
[0045] The runtime wrapper 6 of the hardware access management system 9 is adapted to wrap the runtime of an edge application running as a sandboxed process in the sandboxed edge system core. A sandbox is a security mechanism used to isolate running applications in an attempt to mitigate the spread of system failures and / or software vulnerabilities. A sandbox is provided for executing edge application program code, which may be provided by an unverified or untrusted third party, vendor, user, or website. The sandbox provides a strictly controlled set of resources, such as available memory space in a data store, for the running of edge applications.
[0046] In a possible embodiment, the sandbox system can support multiple system runtimes. The executable file makes some modifications to the configuration file and / or command line parameters and then executes the original system runtime executable file.
[0047] In another possible embodiment, the sandbox system operates in a generic manner, wherein the system runtime is renamed and replaced by a wrapper executable file. The wrapper then calls configuration files and / or command line parameters associated with the original system runtime after modification.
[0048] like Figure 2 As shown, hardware resource access management 9 for an edge-based computing system 10 including an edge device 11 allows edge applications to utilize specialized hardware accelerators, such as for artificial intelligence, when installed in the edge-based computing system 10 .
[0049] Furthermore, the hardware access management system 9 can allow edge applications to communicate with non-IP peripheral devices (e.g., via USB, CAN, ProfiNet), which cover most sensor devices used in industry, to achieve the core purpose of sensor data collection of the edge system.
[0050] The hardware access management system 9 allows edge applications to specify their resource claims to hardware resources and allows edge system administrators to override application-initiated resource claims.
[0051] The actual mapping of available hardware resources to edge applications is performed dynamically, which means that the resource declarations of the edge application and the actual hardware resources of the edge device 11 are decoupled, so that the edge application can be deployed on edge devices 11 with heterogeneous hardware resources. The mapping of hardware resources to edge applications is performed in a deterministic manner, that is, functionality is restored after the edge device 11 is restarted and all edge applications are restarted. In other words, race conditions from arbitrary application start order are avoided. Hardware resources can be requested from edge applications in a sharable manner. Even if sharing quotas cannot be enforced, cooperative sharing is possible. Statistics on hardware resource utilization and hardware resource metadata are available to the edge-based computing system 10 and users.
[0052] The mapping can be illustrated with the following example: Device Category | Device ID | Sandbox ID List | MetaInfo ------------------------------------------------------------- Category 1 | Device 1 | 1234-3456, 7890-3456 | Empty Category 2 | Device 1 | 7890-3456 | Empty This means that sandbox 7890-3456 has been assigned device "Device 1" of "Category 2" and "Device 1" of "Category 1", and sandbox 1234-3456 has only been assigned device "Device 1" of "Category 1".
[0053] The column "MetaInfo" can hold additional information that provides more context. For example, the original device declaration can be stored here (in case it is needed for future assignments or just for reference).
[0054] Edge applications require active hardware resource management 9 because edge devices 11 do not in most cases include standardized hardware and because many different technical tasks must be accomplished by edge applications running on edge devices 11 using different kinds of peripherals. Furthermore, edge devices 11 may include different input / output connections for various requirements, such as, for example, near real-time control.
[0055] Edge applications require fine-grained access rules for various user roles, such as application developers, system administrators, and device owners. Application developers specify the hardware resources they need but are unaware of the available hardware on the target edge device and which hardware device the application should use. System administrators know detailed information about the hardware on the target device, such as which hardware is available for applications, and can configure the hardware, set quotas, and set labels (for example, which network interface is connected to which logical network). Furthermore, system administrators can configure the allocator service 5 to assign certain hardware to certain applications. Device owners can restrict applications from using certain hardware. All of these user roles can work independently.
[0056] The edge system core 1 of the edge-based computing system 10 includes a dispatcher service 5 adapted to communicate with a runtime wrapper 6. The dispatcher service 5 can communicate with a device service 7 including device plug-ins 8-1 to 8-N. The runtime wrapper 6 is adapted to wrap edge applications of the core system runtime, such as Figure 2 As shown schematically, the dispatcher service 5 runs in the sandboxed edge system core 1, as shown in FIG. Figure 2 shown.
[0057] The device service 7 is stateless and runs in privileged mode. Its purpose is to provide information about the hardware resources available in the edge-based computing system 10. For modularity, in a preferred embodiment, the device service 7 supports a plug-in mechanism, that is, it aggregates information from N equally stateless plug-ins 8-1 to 8-N. The device service 7 does not run in the sandboxed edge system core 1, as Figure 2 shown.
[0058] Device Service 7 is stateless. This means that it always gives the same answer to the same request, regardless of previous requests (e.g., from Dispatcher Service 5). The only exception is if the underlying hardware or the drivers associated with the device change, or if their configuration changes, then Device Service 7 might respond differently. This is because the hardware and device drivers to which Device Service 7 provides an abstract interface are not stateless. Device Service 7 itself is stateless.
[0059] Each plugin 8-i of the device service 7 can provide information about a specific hardware resource category, specifically which resources of that category are available on the edge device 11. For each edge device 11, the device service 7 can list resource metadata, resource status information, and the device mappings, mount points, and environment variables that need to be set at the start of the sandboxed process for the edge application. Furthermore, the device service 7 allows for the preparation of specific hardware resources for use (e.g., initialization, resetting, or clearing memory). The hardware resource category specifications for each hardware resource category are completely hidden within the device plugin 8-i. For device plugins 8-i to be discovered, they register with the main device service 7, for example, via an RPC protocol over a network connection. The device plugin 8-i provides a health status flag for each hardware resource. For example, the health status flag of a USB device can indicate whether the hardware resource is plugged in. The device service 7 provides an interface (e.g., based on RPC) to be used by the dispatcher service 5. The basic functionality is the same as that of the device plugin 8-i, except that it supports multiple hardware resource categories. Additionally, the device service 7 can provide metadata and status information for each hardware resource, such as model and manufacturer name, health status, current temperature, and similar information. This information may be provided by the aforementioned device plugin 8-i.A related aspect is that the device service 7 is resource class agnostic and all resource class specific functionality is handled by the plugin 8-i.
[0060] The Allocator Service 5 is the only state-based service. It determines which hardware resources are mapped to which edge applications. The Device Service 7 provides information about available hardware resources and resource types. Furthermore, the Allocator Service 5 returns a mapping to be passed to the Runtime Wrapper 6. The Allocator Service 5 is state-based when making allocations. Its responses to requests (from the system runtime) depend on previous requests. State is information about which devices are currently occupied.
[0061] The allocator service 5 does not require privileged access to the underlying host system, so it can also run in a sandbox. On the other hand, the device service 7 abstracts access / information about the host hardware and therefore requires privileged access to the host system and therefore cannot run effectively in a sandbox environment.
[0062] If the edge application requests hardware resources from multiple edge devices 11 and the request can be satisfied, the device mappings / mounts and environment variables are merged. The allocator service 5 marks the conflicting entries as errors and indicates that allocation is not possible.
[0063] The allocator service 5 provides a method for device sharing. Sharing requests can be enabled using a fraction in the resource declaration. This indicates that only a fraction of the hardware resource is being requested, and the allocator service 5 can allocate the same hardware resource to other services requesting smaller quantities, provided that the sum of the partial requests does not exceed the total available hardware resources. Alternatively, applications can indicate their interest in using shared devices via a flag. In scenarios where only collaborative sharing is possible and resource limits cannot be enforced, a shared namespace can be specified. In this case, edge applications sharing common hardware resources must always be from the same namespace. For example, this mechanism ensures that only trusted edge applications from the same developer participate in sharing a particular hardware resource. During edge device configuration, it is possible to specify one pool of edge devices 11 for shared access and another pool for exclusive access. Hardware resource allocation can then be performed in a round-robin manner, with the target edge device pool selected based on whether the edge application requests shared or exclusive resources. Optionally, the allocator service 5 can periodically check resource usage by services and, if usage exceeds or exceeds a limit specified by the system administrator, notify the system administrator of this status or automatically terminate or restart the edge application.
[0064] After an edge application is started and hardware resource allocation is successfully implemented, the device mapping is stored as a device hint. This associates the hardware resource with the edge application. If there is no device hint for the edge application to be started, resource allocation can be performed in a two-pass process. The first pass iterates over all hardware resources that are not themselves part of a resource hint for another resource declaration made by another edge application. If no match is found, iteration occurs on the remaining hardware resources. When all resource requests of the edge application can be satisfied, the hardware resource allocation is successful, and the allocation service 5 aggregates the mapping information and passes it to the runtime wrapper 6. If a resource hint for the edge application exists at a certain allocation request, the allocation service 5 checks the availability of the hardware resource indicated by the device hint. If appropriate, the hardware resource is selected.
[0065] At the start of the allocator service 5, in a possible embodiment, a check is made to see if the list of hardware resources for each device type has changed. If so, all resources or device hints corresponding to this device type may be deleted automatically or after intervention by a system administrator. To avoid dependencies on the order in which applications are started and potential race conditions, hardware resource allocation may be performed at application installation time. During normal edge device restart cycles, each edge application is guaranteed to receive the same accelerator, which increases the robustness of the edge-based computing system 10. However, this comes at the cost of allocating hardware resources even if they are not being used, i.e., edge applications that are not always running may block hardware resources.
[0066] When the runtime wrapper 6 reports an application stop event, the corresponding hardware resources are released. In the event that the runtime wrapper 6 does not reliably perform device reallocation, the allocator service 5 checks periodically, or at least before each allocation process, whether all existing resource allocations are still actively used. If not, the reallocation of resources is implemented. This has the disadvantage that there may be a delay between the actual time when the hardware resource is no longer in use and the time when the user is informed of this via the user interface of the edge-based computing system 10. However, the overall system state does remain consistent.
[0067] The edge system operator / administrator of the edge-based computing system 10 can control edge applications' access to hardware resources. For example, an edge application might not be allowed to connect to a camera and send images from the shop floor to some other computer without the system administrator's prior permission. This implies that the system administrator has the option to override resource declarations issued by edge applications. This can be done on an opt-in or opt-out basis, where the edge system administrator must approve all resource declarations (e.g., at application installation time), or can optionally change or override resource declarations.
[0068] Runtime wrapper 6 is adapted to wrap the system runtime of the sandboxed system core 1 of edge-based computing system 10. Runtime wrapper 6 is a wrapper around the lowest system-level components required to launch a sandboxed process (e.g., running in an OCI environment). When an edge application is launched, runtime wrapper 6 not only provides the parameters describing the executable process but also the desired hardware resources, i.e., the resource claims made by the respective edge application. These are specified by the application creator and can optionally be overridden by the edge system administrator.
[0069] Runtime wrapper 6 does send a call to dispatcher service 5, with a resource declaration indicating the hardware resources desired by the edge application. The address of dispatcher service 5 can be hard-coded, as there is only one dispatcher service 5, so discovery is not required. Dispatcher service 5 can respond with a failure indication if no hardware resources are available or due to another error. In this case, the start of the sandboxed process fails.
[0070] In another case, if the allocator service 5 successfully allocates and returns the device mapping information, the device mapping information is passed to a lower level command that begins the sandboxing process with device mapping enabled.
[0071] The format and content of the device mapping information are defined by the sandboxing mechanism. The device mapping information is the required sandbox configuration so that the sandboxed process can access the hardware resources in question.
[0072] When the service terminates, that is, after the sandboxed process terminates, the runtime wrapper 6 notifies the allocator service 5 again, and the hardware resources are marked as available again. Compared to applications with privileged access to hardware resources, the hardware access management system 9 for the sandboxed edge-based computing system 10 according to the present invention is flexible when running edge applications in non-privileged mode. All hardware resources can be used, whether they are hardware accelerators for machine learning or non-IP peripherals.
[0073] Resource declarations describe the hardware resource requirements of edge applications and can be overridden by edge system administrators. This makes edge-based computing systems 10 adaptive (without having to hard-code device mappings into applications).
[0074] By combining multiple resource sharing strategies, dependencies on the order in which applications are started are minimized, if not completely prevented, enabling the edge-based computing system 10 to respond to the restart of edge applications in a deterministic manner. Hardware resource sharing is supported by various policies, allowing edge system administrators and edge applications to control and monitor hardware resource sharing. Additionally, statistics can be provided to support users and edge system administrators in controlling and monitoring application execution and edge device operations.
Claims
1. A computer-implemented hardware access management method for sandboxing an edge-based computing system (10), comprising the following steps: providing (S1) information about hardware resources available in the edge-based computing system (10) by a device service (7); Mapping (S2) the available hardware resources to edge applications by a dispatcher service (5); and A system runtime of an edge application running as a sandboxed process in a sandboxed edge system core (1) of the edge-based computing system (10) is wrapped (S3) by a runtime wrapper (6).
2. The computer-implemented hardware access management method according to claim 1, in, The device service (7) is a stateless service and runs in a privileged mode outside the sandboxed edge system core (1).
3. The computer-implemented hardware access management method according to claim 1 or 2, in, The device service (7) includes stateless device plug-ins (8) that provide information for a certain class of hardware resources.
4. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 3, in, The dispatcher service (5) is a state-based service and runs in the sandboxed edge system core (1).
5. The computer-implemented hardware access management method according to claim 4, in, The allocator service (5) performs mapping of available hardware resources to the edge application in a dynamic and deterministic manner and supplies the mapping between the edge application and the hardware resources to the runtime wrapper (6).
6. The computer-implemented hardware access management method according to any one of the preceding claims, wherein: The hardware resources are or include peripheral devices, in particular non-IP peripheral devices.
7. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 6, in, The runtime wrapper (6) is a stateless service and runs outside of the sandboxed edge system core (1).
8. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 7, in, The edge system core (1) of the edge-based computing system (10) includes a user interface (2) for a user and a communication interface (3) for remote control.
9. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 8, in, The edge system core (1) of the edge-based computing system (10) includes an application manager (4) for running edge applications as sandboxed processes in the sandboxed edge system core (1) based on a wrapped system runtime provided by the runtime wrapper (6).
10. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 9, in, The edge application running as a sandboxed process in the sandboxed edge system core (1) processes data in real time.
11. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 10, in, Edge applications specify desired hardware resources in resource declarations.
12. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 11, in, The runtime wrapper (6) sends a call to the allocator service (5) with a resource declaration indicating hardware resources desired by one or more edge applications, wherein a sharing request for device sharing is enabled by a score in the resource declaration.
13. The computer-implemented hardware access management method of claim 12, wherein: In the event that the allocator service (5) successfully allocates the desired hardware resources specified by the edge application in the resource declaration, it returns device mapping information, which is passed to the lower-level command, which starts the sandboxed process, where the requested hardware resources are marked as unavailable and enabled for use by the sandboxed process according to the device mapping information.
14. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 13, wherein: When a sandboxed process terminates, the runtime wrapper (6) notifies the allocator service (5), and the hardware resources occupied by the terminated sandboxed process are marked as available again.
15. The computer-implemented hardware access management method of any one of the preceding claims 1 to 14, wherein the edge application includes fine-grained rules for different user roles, including developers, system administrators, and device owners.
16. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 15, wherein: The device service (7) provides metadata, in particular resource metadata, and resource status information for each hardware resource, including model name, manufacturer name, health status, resource parameters, in particular temperature.
17. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 16, in, During device configuration, you specify a device pool for shared access and a device pool for exclusive access.
18. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 17, in, Hardware resource usage of edge applications is periodically checked by the allocator service (5), wherein if the hardware resource usage exceeds a specified limit, a system administrator of the edge-based computing system (10) is notified of the status and / or the edge application is automatically terminated or restarted.
19. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 18, wherein: After the edge application is started and the allocated hardware resources are successfully implemented, the device mapping is stored as a device hint.
20. The computer-implemented hardware access management method of claim 19, wherein: When the allocator service (5) starts, it checks for each device type whether the mapping list of hardware resources has changed, wherein if the mapping list has changed, all device hints corresponding to the respective device type are deleted automatically or after intervention by a system administrator of the edge-based computing system (10).
21. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 20, wherein: Hardware resource allocation is performed at the time of installation of the edge application.
22. The computer implemented hardware access management method of any preceding claim 1 to 20, wherein if the runtime wrapper (6) does not reliably perform device reallocation, the allocator service (5) checks whether an existing resource allocation is still actively used.
23. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 21, wherein: Access to hardware resources by edge applications is controlled by a system administrator of the edge-based computing system (10), particularly by overriding resource declarations issued by edge applications.
24. The computer-implemented hardware access management method according to any one of the preceding claims 1 to 22, wherein: Statistics are provided to support users and / or system administrators of the edge-based computing system (10) in controlling and monitoring application execution and edge device operations.
25. A hardware access management system for sandboxing an edge-based computing system (10), comprising: a device service (7) adapted to provide information about hardware resources available in the edge-based computing system (10); an allocator service (5) adapted to map the available hardware resources to edge applications; as well as A runtime wrapper (6) is adapted to wrap a system runtime of an edge application running as a sandboxed process in a sandboxed edge system core (1) of the edge-based computing system (10).
26. An edge-based computing system (10) comprising a sandboxed edge system core (1) having an allocator service (5) running in the sandboxed edge system core (1) and adapted to map available hardware resources indicated by a device service (7) running outside the sandboxed edge system core (1) to an edge application in response to a resource declaration indicating hardware resources required by the edge application received by the allocator service (5) from a runtime wrapper (6), the runtime wrapper (6) running outside the sandboxed edge system core (1) and adapted to wrap a system runtime for the edge application running as a sandboxed process in the sandboxed edge system core (1) of the edge-based computing system (10).