SYSTEM AND METHOD FOR OPTIMIZING NETWORK RESOURCES
The system optimizes network resources by selecting a management device based on task capacity and reliability, enabling efficient task outsourcing and data processing, which addresses the challenge of suboptimal resource assignment in current systems.
Patent Information
- Application Number
- DE102024107255
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-03-14
- Publication Date
- 2025-05-08
- Estimated Expiration
- 2044-03-14
AI Technical Summary
Current systems lack the ability to optimally assign outsourced calculation resources due to insufficient arithmetic and communication skills in vehicles and mobile devices, hindering efficient task outsourcing and data transfer to remote computing resources.
A system and method for optimizing network resources by selecting a management device from a matrix based on data processing task capacity, historical performance reliability, and costs, allowing for the transfer and implementation of data processing tasks, including calculation and communication tasks.
This approach enables efficient task outsourcing and data processing, optimizing network resource utilization by leveraging devices with enhanced computing and communication capabilities, thereby improving performance and reducing resource consumption.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
INTRODUCTION
[0001] This description relates to systems and methods for optimizing network resources, and more particularly to systems and methods for optimizing the offloading of computation and communication tasks to remote computing resources.
[0002] To increase occupant awareness and comfort, vehicles and / or mobile devices may be equipped with various sensors and systems, such as perception sensors (e.g., cameras, radar, ultrasonic distance sensors, and / or similar), microphones, navigation systems, advanced driver assistance systems (ADAS), automated driving systems (ADS), and / or similar. Such sensors and systems may generate data that requires the execution of further computational tasks, such as image processing, video processing, natural language processing, speech recognition, navigation routing, automatic path planning, and / or similar. Therefore, computational tasks may be offloaded to remote computing resources (e.g., a remote data center).However, some vehicles and / or mobile devices lack the necessary computing and / or communication capabilities to coordinate offloading and / or transfer tasks and associated data to remote computing resources. As a result, current offloading systems cannot optimally allocate remote computing resources.
[0003] While current calculation systems and methods serve their purpose, there is a need for a new and improved system and method to optimize network resources.
[0004] US 2022 / 0116456 A1 describes a system, method, and non-transitory computer-readable medium enabling value-based task offloading. A task manager module uses a utility function to evaluate whether a computational task is offloaded to an external system, processed in-vehicle, or discarded. The decision is based on a task identifier and a vehicle state vector to optimize the operation of an application.
[0005] DE 10 2023 110 027 A1 describes a system for computing management in vehicles. It uses electrical control units (ECUs), a battery, and a communication system to operate the vehicle as a data center. When energy consumption is low, the vehicle provides computing resources to external nodes. When energy consumption is high, it checks whether excess energy and computing capacity are available. If so, the vehicle is used as a hybrid data center, and excess capacity is provided to external nodes.
[0006] DE 10 2023 101 315 A1 comprises a computer with a processor and a memory. The memory contains instructions such that the processor is programmed to: generate a resource request, wherein the resource request comprises a request for resources to offload at least one computing process and contains at least one termination condition. The processor is further programmed to transmit the resource request to at least one remote resource provider and to initiate an offload operation to offload the at least one computing process based on a received resource request.
[0007] US 2023 / 0185614 A1 describes a system and method for decentralized vehicle computing using blockchain. A computing task that must be performed for a vehicle operation is identified. By accessing the blockchain, the ledgers are analyzed to determine suitable resource vehicles for processing the task. The computing resources of the selected vehicle are then controlled to execute the task. The transaction for the computation is processed via the blockchain. DESCRIPTION
[0008] The object of the invention is to provide an improved system and method for optimizing network resources. This object is achieved by the subject matter of claim 1. Further developments can be found in the subclaims.
[0009] According to several aspects, a method for optimizing network resources is provided. The method may include selecting a first leader device from a plurality of wireless devices in wireless communication. The first leader device is in wireless communication with at least one follower device from the plurality of wireless devices. The method may further include transmitting a follower computing task from the at least one follower device to the first leader device. The follower computing task includes at least one of the following tasks: a computing task and a communication task. The method may further include performing the follower computing task using the first leader device.
[0010] In another aspect of the present description, selecting the first routing device may further comprise determining a routing matrix. The routing matrix includes one or more candidate routing devices. Each of the one or more candidate devices is one of the plurality of wireless devices. The routing matrix is determined based at least in part on: a computing task capacity of each of the plurality of wireless devices; and a historical performance reliability of each of the plurality of wireless devices. Selecting the first routing device may further comprise selecting the first routing device from the routing matrix.
[0011] In another aspect of the present description, determining the guidance matrix may further comprise determining the computing task capacity of each of the plurality of wireless devices. The computing task capacity of each of the plurality of wireless devices is determined using a machine learning model for capacity estimation. The computing task capacity includes at least one of the following elements: a computing capacity and a communication capacity. Determining the guidance matrix may further comprise determining the historical performance reliability of each of the plurality of wireless devices.Determining the routing matrix may further comprise selecting the one or more candidate routing devices from the plurality of wireless devices based at least in part on the computing task capacity of each of the plurality of wireless devices and the historical performance reliability of each of the plurality of wireless devices. Determining the routing matrix may further comprise determining the routing matrix based at least in part on the one or more candidate routing devices.
[0012] In another aspect of the present description, determining the leadership matrix may further comprise determining the leadership matrix, wherein the leadership matrix is a ranked list including each of the one or more candidate leadership devices. A ranking of the leadership matrix is determined based at least in part on the computing task capacity and historical performance reliability of each of the one or more candidate leadership devices.
[0013] In another aspect of the present description, selecting the first leader device from the leader matrix may further comprise determining a planned data processing task capacity for each of the one or more candidate leader devices. The planned data processing task capacity of each of the one or more candidate leader devices is determined using a machine learning model for capacity prediction. Selecting the first leader device from the leader matrix may further comprise determining the ranking of the leader matrix based at least in part on the planned data processing task capacity for each of the one or more candidate leader devices.
[0014] In another aspect of the present description, determining the guidance matrix may further comprise calculating the cost for each of the one or more candidate guidance devices using a cost function: tc=(t0∗z)+P0 t0=rc,Mbcc,Mbi∗∫i(t)dt where t c is the cost, t0 is the number of interactions allowed within a given period of time without exceeding a low power limit of the device, t0 * z is the total cost of performing t0 interactions within the given period of time, P0 is the cost per unit of energy consumed within the given period of time, r c,Mb the cost of transmitting one megabyte of registration information within the given period is c c,Mbis the cost of transmitting one megabyte of payload data within the given time period, i is a set of interactions performed within the given time period, and ∫ i (t)dt is an integral of i evaluated over multiple time periods. Determining the routing matrix may further comprise determining the ranking of the routing matrix based at least in part on the cost for each of the one or more candidate routing devices.
[0015] In another aspect of the present description, transferring the follow-up computing task may further comprise transferring the computation task from the at least one follow-up device to the first leader device. The computation task comprises a computation task for offload optimization. Transferring the follow-up computing task may further comprise transferring the communication task from the at least one follow-up device to the first leader device. The communication task comprises a server uplink communication task.
[0016] In another aspect of the present description, transferring the follow-up data processing task may further comprise identifying an obstacle that impedes the transfer between a first follow-up device and the first lead device. Transferring the follow-up data processing task may further comprise forwarding the follow-up data processing task from the first follow-up device to the first lead device via a second follow-up device to avoid the obstacle.
[0017] In a further aspect of the present description, transferring the computational task may further comprise transferring the computational task for optimizing the offloading from the at least one follower device to the first lead device. The computational task for optimizing the offloading comprises executing a device-specific machine learning model for the offloading.
[0018] In another aspect of the present description, performing the follow-up data processing task may further comprise determining a data processing task capacity of the first master device. Performing the follow-up data processing task may further comprise transferring the follow-up data processing task to a second master device based at least in part on the data processing task capacity of the first master device.
[0019] According to several aspects, a system for optimizing network resources for a vehicle is provided. The system may include a first following vehicle having a communication system for the following vehicle. The system may further include a control unit for the following vehicle electrically connected to the communication system of the following vehicle. The control unit of the following vehicle is programmed to establish a first wireless connection with a lead vehicle using the communication system of the following vehicle. The control unit of the following vehicle is programmed to transmit a follow-up data processing task to the lead vehicle using the communication system of the following vehicle and the first wireless connection.
[0020] In another aspect of the present description, to establish the first wireless connection with the lead vehicle, the control unit of the follower vehicle is further programmed to determine a lead matrix. The lead matrix includes one or more candidate lead vehicles. The lead matrix is determined based at least in part on at least one of the following factors: a data processing task capacity of each vehicle of a plurality of vehicles and a historical performance reliability of each vehicle of the plurality of vehicles. To establish the first wireless connection with the lead vehicle, the control unit of the follower vehicle is further programmed to select the lead vehicle from the lead matrix.
[0021] In another aspect of the present description, to determine the lead matrix, the control unit of the following vehicle is further programmed to determine the data processing task capacity of each of a plurality of vehicles. The data processing task capacity of each of the plurality of vehicles is determined using a machine learning model for capacity estimation. The data processing task capacity includes at least one of the following elements: a computing capacity and a communication capacity. To determine the lead matrix, the control unit of the following vehicle is further programmed to determine the historical performance reliability of each of the plurality of vehicles.To determine the lead matrix, the control unit of the follower vehicle is further programmed to select the one or more candidate lead vehicles from the plurality of vehicles based at least in part on the data processing task capacity of each of the plurality of vehicles and the historical performance reliability of each of the plurality of vehicles. To determine the lead matrix, the control unit of the follower vehicle is further programmed to determine the lead matrix based at least in part on the one or more candidate lead vehicles. The lead matrix is a ranked list that includes each of the one or more candidate lead vehicles.A ranking of the command matrix is determined based at least in part on the data processing task capacity and historical performance reliability of each of the one or more candidate command vehicles.
[0022] In a further aspect of the present description, in order to select the lead vehicle from the lead matrix, the control unit of the follower vehicle is further programmed to determine a planned data processing task capacity for each of the one or more candidate lead vehicles. The planned data processing task capacity of each of the one or more candidate lead vehicles is determined using a machine learning model for capacity prediction. In order to select the lead vehicle from the lead matrix, the control unit of the follower vehicle is further programmed to calculate the cost for each of the one or more candidate lead vehicles using a cost function: tc=(t0∗z)+P0 t0=rc,Mbcc,Mbi∗∫i(t)dt where t cis the cost, t0 is the number of interactions allowed within a given period without exceeding a low power limit of the device, t0 * z is the total cost of performing t0 interactions within the given period, P0 is the cost per unit of energy consumed within the given period, r c,Mb the cost of transmitting one megabyte of registration information within the given period is c c,Mbis the cost of transmitting one megabyte of payload data within the given time period, i is a set of interactions performed within the given time period, and ∫ i (t)dt is an integral of i evaluated over multiple time periods. To select the lead vehicle from the lead matrix, the follower vehicle control unit is further programmed to determine the lead matrix ranking based at least in part on the planned data processing task capacity for each of the one or more candidate lead vehicles and the cost for each of the one or more candidate lead vehicles.
[0023] In another aspect of the present description, in order to transmit the follower data processing task to the lead vehicle, the control unit of the follower vehicle is further programmed to transmit a computational task for offloading optimization to the lead vehicle using the communication system of the follower vehicle. The computational task for offloading optimization includes executing a vehicle-specific machine learning model for offloading.
[0024] In another aspect of the present description, the system further comprises the lead vehicle having a lead vehicle communication system and a lead vehicle control unit electrically connected to the lead vehicle communication system. The lead vehicle control unit is programmed to establish a first wireless connection with the first follower vehicle using the lead vehicle communication system. The lead vehicle control unit is further programmed to receive a follower data processing task from the first follower vehicle using the lead vehicle communication system and the first wireless connection. The lead vehicle control unit is further programmed to establish a second wireless connection with a server system using the lead vehicle communication system.The control unit of the lead vehicle is further programmed to perform the follow-up data processing task using the communication system of the lead vehicle and the second wireless connection.
[0025] In another aspect of the present description, to receive the follow-up data processing task from the first follow-up vehicle, the control unit of the lead vehicle is further programmed to identify an obstacle that impedes the transmission between the first follow-up vehicle and the lead vehicle. To receive the follow-up data processing task from the first follow-up vehicle, the control unit of the lead vehicle is further programmed to terminate the first wireless connection between the lead vehicle and the first follow-up vehicle in response to identifying the obstacle.
[0026] According to several aspects, a method for optimizing network resources for a vehicle is provided. The method may include selecting a first lead vehicle from a plurality of vehicles in wireless communication. The first lead vehicle is in wireless communication with at least one follower vehicle from the plurality of vehicles. The method may further include transmitting a follower data processing task from the at least one follower vehicle to the first lead vehicle. The follower data processing task includes executing a vehicle-specific machine learning model for offloading. The method may further include performing the follower data processing task using the first lead vehicle.
[0027] In another aspect of the present description, selecting the first lead vehicle may further comprise determining a lead matrix. The lead matrix includes one or more candidate lead vehicles. Each of the one or more candidate lead vehicles is one of the plurality of vehicles. The lead matrix is determined based at least in part on: a data processing task capacity of each of the plurality of vehicles; and a historical performance reliability of each of the plurality of vehicles. Selecting the first lead vehicle may further comprise selecting the first lead vehicle from the lead matrix.
[0028] In another aspect of the present description, determining the guidance matrix may further include determining the data processing task capacity of each of the plurality of vehicles. The data processing task capacity of each of the plurality of vehicles is determined using a machine learning model for capacity estimation. The data processing task capacity includes at least one of the following elements: a computational capacity and a communication capacity. Determining the guidance matrix may further include determining the historical performance reliability of each of the plurality of vehicles.Determining the lead matrix may further comprise selecting the one or more candidate lead vehicles from the plurality of vehicles based at least in part on the data processing task capacity of each of the plurality of vehicles and the historical performance reliability of each of the plurality of vehicles. Determining the lead matrix may further comprise calculating the cost for each of the one or more candidate lead vehicles using a cost function. tc=(t0∗z)+P0 t0=rc,Mbcc,Mbi∗∫i(t)dt where t cis the cost, t0 is the number of interactions allowed within a given period of time without exceeding a low power limit of the device, t0 * z is the total cost of performing t0 interactions within the given period of time, P0 is the cost per unit of energy consumed within the given period of time, r c,Mb the cost of transmitting one megabyte of registration information within the given period is c c,Mbis the cost of transmitting one megabyte of payload data within the given time period, i is a set of interactions performed within the given time period, and ∫ i (t)dt is an integral of i evaluated over multiple time periods. Determining the leadership matrix may further comprise determining the leadership matrix based at least in part on the one or more candidate lead vehicles. The leadership matrix is a ranked list including each of the one or more candidate lead vehicles. A ranking of the leadership matrix is determined based at least in part on the data processing task capacity, the historical performance reliability of each of the one or more candidate lead vehicles, and the cost of each of the one or more candidate lead vehicles.
[0029] Further areas of applicability will become apparent from the following description. It should be understood that the description and specific examples are for purposes of illustration only and are not intended to limit the scope of the present disclosure. BRIEF DESCRIPTION OF THE CHARACTERS
[0030] The figures described here are for illustrative purposes only and are not intended to limit the scope of this description in any way. Fig. 1 is a schematic diagram of a system for optimizing network resources according to an exemplary embodiment; Fig. 2 is a flowchart of a method for optimizing network resources according to an exemplary embodiment; Fig. 3 is a flowchart of a method for mitigating obstacles according to an exemplary embodiment; and Fig. 4 is a flowchart of a method for selecting a delegation leader device according to an exemplary embodiment. DETAILED DESCRIPTION
[0031] The following description is merely exemplary and is not intended to limit the present disclosure, application, or uses.
[0032] In aspects of the present description, some devices may lack the computational and / or communication capabilities to perform certain tasks. For example, a low-power Internet of Things (IoT) device may lack the computational power to execute advanced machine learning algorithms. Furthermore, a low-power IoT device may lack the communication capability to establish connections with external servers over a cellular data connection. Therefore, the present description provides a new and improved system and method for optimizing network resources that enables the transfer of computational and / or communication tasks between devices.
[0033] In Fig. 1, a system for optimizing network resources is illustrated and generally designated by reference numeral 10. The system 10 generally includes at least one leader device and at least one follower device. For the purposes of the present description, the at least one leader device and the at least one follower device may include any computing and / or communication-capable electronic device, including, for example, a smartphone, a tablet, a personal computer, a wearable device (e.g., a smart watch), a server computer, a roadside unit (RSU), a vehicle, an Internet of Things (IoT) device, and / or the like. In the Fig. 1, the at least one leading device and the at least one following device are vehicles selected from a plurality of vehicles 12. In one non-limiting example, the at least one leading device is a first leading vehicle 12a, and the at least one following device includes a first following vehicle 12b and a second following vehicle 12c. Each of the plurality of vehicles 12 includes a vehicle system 14. While this description primarily refers to vehicles as an example, it should be understood that this description is equally applicable to any plurality of wireless devices.
[0034] The vehicle system 14 includes a control unit 20, a plurality of vehicle sensors 22, and a vehicle communication system 24.
[0035] The vehicle control unit 20 is used to implement a method 100 for optimizing network resources, as described below. The vehicle control unit 20 includes at least one processor and a non-transitory, computer-readable device or medium. The processor may be a custom or off-the-shelf processor, a central processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor among a plurality of processors connected to the vehicle control unit 20, a semiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, a combination thereof, or generally any device for executing instructions. The computer-readable devices or media may include volatile and non-volatile memory, such as read-only memory (ROM), random access memory (RAM), and keep-alive memory (KAM).KAM is a persistent or non-volatile memory that can be used to store various operating variables while the processor is powered off. The computer-readable storage device or media can be implemented using a variety of storage devices such as PROMs (programmable read-only memories), EPROMs (electrical PROMs), EEPROMs (electrically erasable PROMs), flash memory, or other electrical, magnetic, optical, or combination storage devices capable of storing data, some of which represent executable instructions used by the vehicle's control unit 20 to control various systems of the vehicle 12. The vehicle control unit 20 may also consist of multiple control units electrically connected to one another.The vehicle control unit 20 may be connected to additional systems and / or control units of the vehicle 12 so that the vehicle control unit 20 can access data such as speed, acceleration, braking, and steering angle of the vehicle 12.
[0036] In an exemplary embodiment, the capabilities of the control unit 20 may vary from vehicle to vehicle. Accordingly, the control unit 20 of the first lead vehicle 12a may be referred to as the lead vehicle control unit. The control unit 20 of the first follower vehicle 12b and the second follower vehicle 12c may be referred to as the follower vehicle control unit. In one non-limiting example, the control unit of the first lead vehicle 12a has enhanced computing capabilities, such as additional random access memory, additional processing power and / or speed, and / or the like. In one non-limiting example, the follower vehicle control units of the first follower vehicle 12b and the second follower vehicle 12c have reduced computing capabilities compared to the control unit of the first lead vehicle 12a.Therefore, in aspects of the present description, it is advantageous to transfer (i.e., "outsource") computation tasks from the first follower vehicle 12b and the second follower vehicle 12c to the first lead vehicle 12a, as will be explained in more detail below.
[0037] The vehicle control unit 20 is in electrical communication with the plurality of vehicle sensors 22 and the vehicle communication system 24. In an exemplary embodiment, the electrical communication is established, for example, via a CAN network, a FLEXRAY network, a local area network (e.g., Wi-Fi, Ethernet, and the like), a serial peripheral interface (SPI) network, or the like. It is understood that various additional wired and wireless technologies and communication protocols for communicating with the vehicle control unit 20 are within the scope of the present description.
[0038] The plurality of vehicle sensors 22 are used to collect telemetry data of the vehicle 12. For the purposes of this description, the telemetry data includes, for example, engine speed, vehicle speed, fuel level, engine temperature, mileage, battery voltage, braking system status, transmission data, tire pressure, GNSS positioning, acceleration and deceleration, steering angle, suspension data, emissions, diagnostic trouble codes (DTCs), airbag status, windshield wiper status, lights and indicators, and cruise control status. In an exemplary embodiment, the plurality of vehicle sensors 22 includes sensors for determining performance data of the vehicle 12.In one non-limiting example, the plurality of vehicle sensors 22 further includes at least one of the following sensors: an engine speed sensor, an engine torque sensor, an electric drive motor voltage and / or current sensor, an accelerator pedal position sensor, a brake position sensor, a coolant temperature sensor, a cooling fan speed sensor, a wheel speed sensor, and a transmission oil temperature sensor.
[0039] In another exemplary embodiment, the plurality of vehicle sensors 22 further includes sensors for determining information about conditions within the vehicle 12. In one non-limiting example, the plurality of vehicle sensors 22 further includes at least one seat occupancy sensor, a cabin air temperature sensor, a cabin motion detection sensor, a cabin camera, a cabin microphone, and / or the like.
[0040] In another exemplary embodiment, the plurality of vehicle sensors 22 further includes sensors for determining information about the environment of the vehicle 12. In one non-limiting example, the plurality of vehicle sensors 22 further includes at least one of an ambient air temperature sensor, a barometric pressure sensor, a global navigation satellite system (GNSS), and / or a still and / or video camera positioned to view the environment in front of the vehicle 12.
[0041] The GNSS is used to determine the geographic location of the vehicle 12. In one exemplary embodiment, the GNSS is a global positioning system (GPS). In one non-limiting example, the GPS includes a GPS receiving antenna (not shown) and a GPS controller (not shown) electrically connected to the GPS receiving antenna. The GPS receiving antenna receives signals from a plurality of satellites, and the GPS controller calculates the geographic location of the vehicle 12 based on the signals received by the GPS receiving antenna. In one exemplary embodiment, the GNSS additionally includes a map. The map includes information about infrastructure such as municipal boundaries, roads, railroads, sidewalks, buildings, and the like. Therefore, the geographic location of the vehicle 12 is contextualized using the map information.In one non-limiting example, the map is retrieved from a remote source via a wireless connection. In another non-limiting example, the map is stored in a GNSS database. It is understood that various additional types of satellite-based radio navigation systems, such as the Global Positioning System (GPS), Galileo, GLONASS, and the BeiDou Navigation Satellite System (BDS), are within the scope of the present description. It is understood that the GNSS may be integrated into the vehicle control unit 20 (e.g., on the same circuit board as the vehicle control unit 20 or otherwise as part of the vehicle control unit 20) without departing from the scope of the present description.
[0042] In another exemplary embodiment, at least one of the plurality of vehicle sensors 22 is a perception sensor capable of sensing objects and / or measuring distances in the environment of the vehicle 12. In one non-limiting example, the plurality of vehicle sensors 22 includes a stereoscopic camera with distance measurement capabilities. In one example, at least one of the plurality of vehicle sensors 22 is mounted inside the vehicle 12, e.g., in a headliner of the vehicle 12, viewing through a windshield of the vehicle 12. In another example, at least one of the plurality of vehicle sensors 22 is mounted outside the vehicle 12, e.g., on a roof of the vehicle 12, viewing the environment of the vehicle 12. It should be understood that various additional types of perception sensors, such asLiDAR sensors, ultrasonic ranging sensors, radar sensors, and / or time-of-flight sensors fall within the scope of this description. The plurality of vehicle sensors 22 are electrically connected to the vehicle's control unit 20, as described above.
[0043] The vehicle communication system 24 is used by the vehicle's control unit 20 to communicate with other systems external to the vehicle 12. For example, the vehicle communication system 24 includes capabilities for communicating with vehicles ("V2V" communication), the infrastructure ("V2I" communication), remote systems at a remote call center (e.g., ON-STAR from GENERAL MOTORS), and / or personal devices. Generally, the term vehicle-to-everything ("V2X" communication) refers to communication between the vehicle 12 and any remote system (e.g., vehicles, infrastructure, and / or remote systems). In certain embodiments, the vehicle communication system 24 is a wireless communication system configured to communicate over a wireless local area network (WLAN) using IEEE 802.11 standards or using cellular data communication (e.g.,using GSMA standards, such as SGP.02, SGP.22, SGP.32, and the like). Accordingly, the vehicle communication system 24 may further include an embedded universal integrated circuit card (eUICC) configured to store at least one cellular connectivity configuration profile, such as an embedded subscriber identity module (eSIM) profile. The vehicle communication system 24 is further configured to communicate via a personal area network (e.g., BLUETOOTH) and / or near-field communications (NFC). However, additional or alternative communication methods, such as a dedicated short-range communications (DSRC) channel and / or mobile telecommunications protocols based on the 3rd Generation Partnership Project (3GPP) standards, are also contemplated within the scope of this description.DSRC channels refer to short- to medium-range, single- or two-way wireless communication channels specifically designed for use in motor vehicles, as well as a set of protocols and standards. The 3GPP is a partnership between several standards organizations that develop protocols and standards for mobile telecommunications. The 3GPP standards are structured as "releases." Therefore, communication methods based on 3GPP versions 14, 15, 16, and / or future 3GPP versions are within the scope of this description. Accordingly, the vehicle communication system 24 may include one or more antennas and / or communication transceivers for receiving and / or transmitting signals, such as cooperative sensing messages (CSMs). The vehicle communication system 24 is configured to wirelessly communicate information between the vehicle 12 and another vehicle.Furthermore, the vehicle communication system 24 is configured to wirelessly communicate information between the vehicle 12 and the infrastructure or other vehicles. It is understood that the vehicle communication system 24 may be integrated into the vehicle's control unit 20 (e.g., on the same circuit board as the vehicle's control unit 20 or otherwise as part of the vehicle's control unit 20) without departing from the scope of the present description.
[0044] In an exemplary embodiment, the capabilities of the vehicle communication system 24 may vary from vehicle to vehicle. Accordingly, the vehicle communication system 24 of the first lead vehicle 12a may be referred to as a lead vehicle communication system. The vehicle communication system 24 of the first follower vehicle 12b and the second follower vehicle 12c may be referred to as a follower vehicle communication system. In one non-limiting example, the lead vehicle communication system of the first lead vehicle 12a includes full communication capabilities, including both local (e.g., BLUETOOTH, Wi-Fi, NFC, and / or the like) and long-range (e.g., cellular data) communication capabilities. In one non-limiting example, the communication system of the first follower vehicle 12b and the second follower vehicle 12c includes reduced communication capabilities, for example, only local communication capabilities.Therefore, in aspects of the present description, it is advantageous to transfer (i.e., "offload") communication tasks requiring long-range communication from the first follower vehicle 12b and the second follower vehicle 12c to the first lead vehicle 12a via short-range communication, as will be explained in more detail below.
[0045] With continued reference to Fig. 1, in an exemplary embodiment, the system 10 further includes a server system 30. The server system 30 includes a server control unit 32a electrically connected to a database 34 and a server communication system 36. In one non-limiting example, the server system 30 is located in a server farm, data center, or the like and is connected to the Internet via the server communication system 36. The server control unit 32a includes at least one server processor 32b and a non-transferable computer-readable device or server medium 32c. The description of the type and configuration given above for the vehicle control unit 20 also applies to the server control unit 32a.In some examples, the server controller 32a may differ from the vehicle controller 20 in that the server controller 32a is capable of higher processing speed, includes more memory, includes more inputs / outputs, and / or the like. In one non-limiting example, the server processor 32b and the server media 32c of the server controller 32a are similar in structure and / or function to the processor and media of the vehicle controller 20, as described above. The server controller 32a is used in conjunction with the vehicle controller 20 to implement the method 100 for optimizing network resources, as explained in more detail below. The database 34 is used to store telemetry data received from the multiple vehicles 12, as explained in more detail below. The server communication system 36 is used to communicate with external systems, such asthe vehicle's control unit 20 via the vehicle communication system 24. In one non-limiting example, the server communication system 36 is similar in structure and / or function to the vehicle communication system 24 of the vehicle system 14, as described above. In some examples, the server communication system 36 may differ from the vehicle communication system 24 in that the server communication system 36 is capable of transmitting higher power signals, receiving signals more sensitively, transmitting with higher bandwidth, using additional transmit / receive protocols, and / or the like.
[0046] In Fig. 2 shows a flowchart of the method 100 for optimizing network resources. The method 100 begins in block 102. After block 102, the method 100 continues with blocks 104, 106, 108, and 110. In block 104, a data processing task capacity of each of the plurality of vehicles 12 is determined. For the purposes of the present description, the data processing task capacity is a capacity of a wireless device (e.g., one of the plurality of vehicles 12) to perform computational and / or communication tasks. The data processing task capacity may include computational capacity and communication capacity. For the purposes of the present description, computational capacity is a capacity of the wireless device to perform computational tasks (e.g., storing / retrieving data in memory, mathematical calculations, executing algorithms such asMachine learning algorithms, computer vision algorithms, and / or the like). For the purposes of this description, communication capacity is the ability of the wireless device to perform communication tasks (e.g., wireless and / or wired transmission / reception of data). For the purposes of this description, capacity refers to a total set of tasks that can be processed simultaneously. For example, as a non-limiting example, computational capacity is measured in floating-point operations per second, instructions per second, and / or the like. For example, as a non-limiting example, communication capacity is measured in bits per second or the like.
[0047] In an exemplary embodiment, each of the plurality of vehicles 12 determines the computational capacity of the control unit 20 of the vehicle system 14 and the communication capacity of the vehicle communication system 24 of the vehicle system 14. In one non-limiting example, the computational capacity is determined at least in part based on the amount and / or characteristics of one or more computational tasks currently being performed by the vehicle control unit 20. In one non-limiting example, the communication capacity is determined at least in part based on the amount and / or characteristics of one or more communication tasks currently being performed by the vehicle communication system 24.
[0048] In another non-limiting example, the computing task capacity is determined using a machine learning capacity estimation model executed by the control unit 20 of each of the plurality of vehicles 12. In one non-limiting example, the machine learning capacity estimation model includes multiple layers, including an input layer and an output layer, as well as one or more hidden layers. The input layer receives physical computation capabilities of the vehicle control unit 20 (e.g., a maximum number of floating-point operations per second of the vehicle control unit 20), physical communication capabilities of the vehicle communication system 24 (e.g.,a maximum number of bits per second of the vehicle's communication system 24), features of one or more computational tasks currently being performed by the vehicle's control unit 20, and features of one or more communication tasks currently being performed by the vehicle's communication system 24 as inputs. The inputs are then passed to the hidden layers. Each hidden layer applies a transformation (e.g., a nonlinear transformation) to the data and passes the result to the next hidden layer, up to the last hidden layer. The output layer provides the data processing task capacity.
[0049] To train the capacity estimation machine learning model, a dataset with inputs and the corresponding processing capacity is used. The model is trained by adjusting the internal weights between the nodes in each hidden layer to minimize the prediction error. During training, an optimization technique (e.g., gradient descent) is used to adjust the internal weights and reduce the prediction error. The training process is repeated with the entire dataset until the prediction error is minimized, and the trained model is then used to process new input data.
[0050] After sufficient training of the capacity estimation machine learning model, the model is able to accurately and precisely determine the data processing task capacity based on the physical computing capabilities of the vehicle's control unit 20, the physical communication capabilities of the vehicle's communication system 24, the characteristics of one or more computing tasks currently being executed by the vehicle's control unit 20, and the characteristics of one or more communication tasks currently being executed by the vehicle's communication system 24. By adjusting the weights between the nodes in each hidden layer during training, the model "learns" to recognize patterns in the data that indicate data processing task capacity.
[0051] In some exemplary embodiments, each of the plurality of vehicles 12 determines the computing task capacity and transmits the computing task capacity via the vehicle communication system 24. In other exemplary embodiments, one or more of the plurality of vehicles 12 acts as a host device and remotely determines the computing task capacity of each of the plurality of vehicles 12. In another exemplary embodiment, the server system 30 remotely determines the computing task capacity of each of the plurality of vehicles 12. After block 104, the method 100 proceeds to block 112, as explained in more detail below.
[0052] In block 106, a historical performance reliability is determined for each of the plurality of vehicles 12. As used herein, the historical performance reliability quantifies a variance in the performance and / or reliability of a wireless device (e.g., one of the plurality of vehicles 12) for performing computation and / or communication tasks. In one non-limiting example, the historical performance reliability includes metrics such as an uptime and / or availability rate of the computing system, a statistical variance in computing capacity, network jitter, a network availability rate, a network packet loss rate, and / or the like. In an exemplary embodiment, the historical performance reliability includes a weighted average of one or more of the foregoing metrics.
[0053] In some example embodiments, each of the plurality of vehicles 12 determines the historical performance reliability and sends the historical performance reliability via the vehicle communication system 24. In other example embodiments, one or more of the plurality of vehicles 12 acts as a host device and remotely determines the historical performance reliability of each of the plurality of vehicles 12. In another example embodiment, the server system 30 remotely determines the historical performance reliability of each of the plurality of vehicles 12. After block 106, the method 100 proceeds to block 112, as explained in more detail below.
[0054] In block 108, a planned computing task capacity is determined for each of the plurality of vehicles 12. For the purposes of this description, the planned computing task capacity is a predicted future computing task capacity for each of the plurality of vehicles 12 based on planned or predicted usage. In one non-limiting example, known and / or planned future events such as over-the-air (OTA) updates, system backups, network downtime, and / or the like may impact the planned computing task capacity. In another non-limiting example, the characteristics of the currently executing tasks may impact the planned computing task capacity.For example, if one of the currently running tasks is downloading an OTA update, the predicted capacity of the future computing task can take into account the computational load due to installing the update after the download task is completed.
[0055] In an exemplary embodiment, the capacity of the planned data processing task is determined using a machine learning model for capacity prediction. As a non-limiting example, the machine learning model for capacity prediction comprises multiple layers, including an input layer and an output layer, and one or more hidden layers. The input layer receives the current data processing task capacity, known future events and / or tasks, characteristics of the currently executing tasks, and / or the like as inputs. The inputs are then passed to the hidden layers. Each hidden layer applies a transformation (e.g., a nonlinear transformation) to the data and passes the result to the next hidden layer, up to the last hidden layer. The output layer produces the planned data processing task capacity.
[0056] To train the capacity prediction machine learning model, a dataset with inputs and the corresponding planned data processing task capacity is used. The model is trained by adjusting the internal weights between the nodes in each hidden layer to minimize the prediction error. During training, an optimization technique (e.g., gradient descent) is used to adjust the internal weights and reduce the prediction error. The training process is repeated with the entire dataset until the prediction error is minimized, and the trained model is then used to process new input data.
[0057] After sufficient training of the capacity prediction machine learning model, the model is able to accurately and precisely determine the planned data processing task capacity based on the current data processing task capacity, known future events and / or tasks, the characteristics of the currently executing tasks, and / or similar factors. By adjusting the weights between the nodes in each hidden layer during training, the model "learns" to recognize patterns in the data that indicate the planned data processing task capacity.
[0058] In some example embodiments, each of the plurality of vehicles 12 determines the planned computing task capacity and sends the planned computing task capacity via the vehicle communication system 24. In other example embodiments, one or more of the plurality of vehicles 12 acts as a host device and remotely determines the planned computing task capacity of each of the plurality of vehicles 12. In another example embodiment, the server system 30 remotely determines the planned computing task capacity of each of the plurality of vehicles 12. After block 108, the method 100 proceeds to block 112, as explained in more detail below.
[0059] In block 110, the costs for each of the plurality of vehicles 12 are determined. For the purposes of this description, the costs represent an expected monetary outlay for establishing and transmitting data over a wireless connection.
[0060] In an exemplary embodiment, the costs are determined using a cost function: tc=(t0∗z)+P0=rc,Mbrc,total∗∑bool(ignition state)pl∗n∗τu t0=rc,Mbcc,Mbi∗∫i(t)dt
[0061] In equation (1), t c for the costs, t0 is the number of interactions allowed within a given period (e.g., one day) without exceeding a low power limit of the device, t0 * z is the total cost of performing t0 interactions within the given period, P0 is the cost per unit of energy consumed within the given period, r c,Mbthe cost of transmitting one megabyte of registration information within the given period is c,total the total cost of registration is, bool(ignition state) is defined as one (i.e. true) if the vehicle is in the ignition off state and zero (i.e. false) if the vehicle is in the ignition on state, p l is the low power consumption limit of the device (i.e. the permissible power consumption within a given period), n is the number of restarts within the given period and τ u the duty cycle of a registration process (i.e. the time required to complete the registration process as a fraction of the given time period). In equation (1), the quantity bool(ignition state)pl∗n∗τu for one or more devices in the vehicle that may consume energy to establish the connection (e.g., one or more vehicle control units). Furthermore, equation (2) c c,Mb is the cost of transmitting one megabyte of payload within a given period of time, i is the number of interactions performed in the given period of time, and ∫ i (t)dt is the integral of i calculated over several periods (e.g., fourteen days).
[0062] For the purposes of this description, establishing a wireless connection between multiple devices comprises a registration process. The registration process establishes the connection between devices and includes the transmission of registration information. In one non-limiting example, the registration information includes, for example, device identification data, handshake data, security data, connection parameters, and / or the like. After the registration process is completed, the payload may be transmitted over the wireless connection. In one non-limiting example, the payload may include, for example, the computation task described above. For the purposes of this description, an interaction is any wireless connection between two or more devices that includes at least the transmission of payload data.For the purposes of this description, a device's low power threshold is a power consumption that is allowed for a particular device within a certain period of time. As a non-limiting example, the device's low power threshold may be determined at least in part based on a power budget (i.e., a total amount of power consumption allowed within a certain period of time).
[0063] In another exemplary embodiment, the cost is determined using a machine learning model for cost determination. As a non-limiting example, the machine learning model for cost determination comprises multiple layers, including an input layer and an output layer, and one or more hidden layers. The input layer receives information about the device's power consumption, the power cost, and the data transmission cost as inputs. The inputs are then passed to the hidden layers. Each hidden layer applies a transformation (e.g., a nonlinear transformation) to the data and passes the result to the next hidden layer until the last hidden layer is reached. The output layer provides the cost.
[0064] To train the cost estimation machine learning model, a dataset with inputs and corresponding costs is used. The model is trained by adjusting the internal weights between nodes in each hidden layer to minimize the prediction error. During training, an optimization technique (e.g., gradient descent) is used to adjust the internal weights to reduce the prediction error. The training process is repeated with the entire dataset until the prediction error is minimized, and the trained model is then used to process new input data.
[0065] After sufficient training of the machine learning model for cost estimation, the model is able to accurately and precisely determine the cost based on the device's power consumption, electricity costs, and data transmission costs. By adjusting the weights between the nodes in each hidden layer during training, the model "learns" to recognize patterns in the data that indicate the cost.
[0066] In some example embodiments, each of the plurality of vehicles 12 determines the cost and sends the cost via the vehicle communication system 24. In other example embodiments, one or more of the plurality of vehicles 12 acts as a host device and remotely determines the cost for each of the plurality of vehicles 12. In another example embodiment, the server system 30 remotely determines the cost for each of the plurality of vehicles 12. After block 110, the method 100 proceeds to block 112.
[0067] In block 112, a leadership matrix is determined. For the purposes of this description, the leadership matrix is a ranked list of one or more candidate leadership vehicles (also referred to as candidate leadership devices). Each of the one or more candidate leadership vehicles is selected from the plurality of vehicles 12. The selection of the one or more candidate leadership vehicles and the determination of a ranking of the leadership matrix are based at least in part on: the data processing task capacity of each of the plurality of vehicles 12 determined in block 104, the historical performance reliability of each of the plurality of vehicles 12 determined in block 106, the planned data processing task capacity for each of the plurality of vehicles 12 determined in block 108, and the cost of each of the plurality of vehicles 12 determined in block 110.
[0068] In an exemplary embodiment, each of the one or more candidate lead vehicles is selected based on performance thresholds. In one non-limiting example, the one or more candidate lead vehicles are selected as one or more of the plurality of vehicles 12 having a computing task capacity greater than or equal to a predetermined computing task capacity threshold. In another non-limiting example, the one or more lead vehicles are selected as one or more of the plurality of vehicles 12 having a historical performance reliability greater than or equal to a predetermined historical performance reliability threshold.
[0069] In another exemplary embodiment, each of the one or more candidate lead vehicles is selected using a machine learning model. In one non-limiting example, the one or more candidate lead vehicles are selected using a candidate selection machine learning model trained to select one or more candidate lead vehicles based at least in part on at least one of the following factors: the data processing task capacity of each of the plurality of vehicles 12 determined in block 104, the historical performance reliability of each of the plurality of vehicles 12 determined in block 106, the planned data processing task capacity for each of the plurality of vehicles 12 determined in block 108, and the cost for each of the plurality of vehicles 12 determined in block 110.
[0070] In one example embodiment, the ranking of the leadership matrix is determined based on performance metrics. In one non-limiting example, the ranking of the leadership matrix is set such that candidate vehicles with higher data processing task capacity are ranked higher in the leadership matrix (i.e., closer to the first position). In another non-limiting example, the ranking of the leadership matrix is set such that candidate vehicles with higher historical performance reliability are ranked higher in the leadership matrix (i.e., closer to the first position). In another non-limiting example, the ranking of the leadership matrix is set such that candidate vehicles with higher planned data processing task capacity are ranked higher in the leadership matrix (i.e., closer to the first position).In another non-limiting example, the ranking of the leadership matrix is set such that the questionable vehicles with lower costs are ranked higher (i.e., closer to the first position) in the leadership matrix.
[0071] In another exemplary embodiment, the ranking of the leadership matrix is determined using a machine learning model. In one non-limiting example, the ranking of the leadership matrix is determined using a candidate leader vehicle ranking machine learning model that has been trained to rank the one or more candidate lead vehicles based at least in part on at least one of the following factors: the data processing task capacity of each of the plurality of vehicles 12 determined in block 104, the historical performance reliability of each of the plurality of vehicles 12 determined in block 106, the planned data processing task capacity for each of the plurality of vehicles 12 determined in block 108, and the cost of each of the plurality of vehicles 12 determined in block 110.
[0072] In some exemplary embodiments, each of the plurality of vehicles 12 determines the guidance matrix and transmits the guidance matrix via the vehicle communication system 24. In other exemplary embodiments, one or more of the plurality of vehicles 12 acts as a host device and remotely determines the guidance matrix. In another exemplary embodiment, the server system 30 remotely determines the guidance matrix. After block 112, the method 100 proceeds to block 114.
[0073] In block 114, a first lead vehicle 12a is selected from the lead matrix determined in block 112. In one exemplary embodiment, the first lead vehicle 12a is selected to be the highest-ranking candidate vehicle (i.e., the candidate vehicle in the first position) in the lead matrix. In some exemplary embodiments, each of the plurality of vehicles 12 designates the first lead vehicle 12a and broadcasts the first lead vehicle 12a via the vehicle communication system 24. In other exemplary embodiments, one or more of the plurality of vehicles 12 acts as a host device and remotely designates the first lead vehicle 12a. In another exemplary embodiment, the server system 30 remotely designates the first lead vehicle 12a. After block 114, the method 100 proceeds to block 116.
[0074] In block 116, the first lead vehicle 12a selected in block 114 establishes a first wireless connection with one or more of the first and second follower vehicles 12b, 12c. In an exemplary embodiment, the first wireless connection is a local connection, such as a BLUETOOTH connection, a near-field communication (NFC) connection, a wireless local area network (WLAN / WiFi) connection, a short-range radio connection, and / or the like. It is understood that the first wireless connection may use any connection protocol configured for peer-to-peer connections between wireless devices. After establishing the first wireless connection, one or more of the first and second follower vehicles 12b, 12c transmits a follower data processing task to the first lead vehicle 12a.In an exemplary embodiment, the subsequent data processing task comprises at least one of the following tasks: a computation task and a communication task. For example, as used herein, the computation task includes storing / retrieving data in memory, mathematical computations, executing algorithms such as machine learning algorithms, computer vision algorithms, video coding algorithms, and / or the like. In one non-limiting example, the computation task includes a computation task for offload optimization.For the purposes of the present description, the offloading optimization computational task comprises executing an algorithm configured to determine which computation and / or communication tasks should be offloaded from one or more of the first and second follower vehicles 12b, 12c to the first lead vehicle 12a in order to optimize performance, resource utilization, and / or the like. In one exemplary embodiment, the offloading optimization computational task is a deterministic, rule-based algorithm. In another exemplary embodiment, the offloading optimization computational task is a vehicle-specific machine learning model for offloading.
[0075] For example, in the context of the present description, the communication task comprises transmitting and / or receiving data. In one non-limiting example, the communication task comprises a server uplink communication task. In the context of the present description, the server uplink communication task comprises uploading and / or downloading data to / from the server system 30. For example, the server uplink communication task may comprise uploading telemetry data from one or more of the first and second follower vehicles 12b, 12c. In another example, the server uplink communication task may comprise downloading an over-the-air (OTA) update for one or more of the first and second follower vehicles 12b, 12c. After block 116, the method 100 proceeds to block 118.
[0076] In block 118, the first lead vehicle 12a executes the follow-up data processing task received in block 116. In an exemplary embodiment, to perform the communication task, the control unit 20 of the first lead vehicle 12a uses the vehicle communication system 24 to establish a second wireless connection between the first lead vehicle 12a and the server system 30. In an exemplary embodiment, the second wireless connection is a wide area connection, such as a cellular data connection or the like. It is understood that the second wireless connection may use any connection protocol configured for medium and / or long-range connections between devices. After establishing the second wireless connection, the first lead vehicle 12a performs the upload of the communication task (e.g., the server uplink communication task) as described above.After block 118, the method 100 enters a standby state in block 120.
[0077] In an exemplary embodiment, the method 100 repeatedly exits the standby state 120 and restarts the method 100 in block 102. In one non-limiting example, the method 100 is restarted with a timer, e.g., every three hundred milliseconds.
[0078] In Fig. 3 shows a flowchart of a method 300 for mitigating obstacles. The method 300 begins at block 302 and proceeds to block 304. In block 304, an obstacle that impedes the transmission between one of the first and second follower vehicles 12b, 12c and the first lead vehicle 12a is identified. For the purposes of this description, an obstacle includes any condition that impedes transmission, such as a physical obstacle (e.g., an intermediary vehicle, a building, and / or the like), an electromagnetic obstacle (e.g., network / wireless interference), a hardware obstacle (e.g., equipment malfunction / failure), and / or the like. In one exemplary embodiment, the obstacle is identified based on network transmission metrics, e.g.,an increase in dropped packets, an increase in network latency, a decrease in transmission speed, a decrease in transmission bandwidth, and / or the like. If no obstruction is detected in block 304, the method 300 transitions to a standby state in block 306. If an obstruction is detected in block 304, the method 300 transitions to block 308.
[0079] In block 308, in a first exemplary embodiment, the follower data processing task is forwarded from one of the first and second follower vehicles 12b, 12c by the other of the first and second follower vehicles 12b, 12c (i.e., from the first follower vehicle 12b by the second follower vehicle 12c or from the second follower vehicle 12c by the first follower vehicle 12b) to the first lead vehicle 12a to avoid the obstacle identified in block 304. In an exemplary embodiment, direct communication between the first follower vehicle 12b and the first lead vehicle 12a is impeded, but direct communication between the first follower vehicle 12b and the second follower vehicle 12c is not impeded. Furthermore, communication between the second follower vehicle 12c and the first lead vehicle 12a is not impeded.Therefore, the follow-up data processing task can be passed from the first follower vehicle 12b to the second follower vehicle 12c and then from the second follower vehicle 12c to the first lead vehicle 12a to avoid the obstruction.
[0080] In another exemplary embodiment, the first lead vehicle 12a terminates communication with the obstructed follower vehicle (i.e., one of the first and second follower vehicles 12b, 12c) in response to identifying the obstacle if no other follower vehicle is available to forward the follower data processing task. After block 308, the method 300 transitions to the standby state at block 306.
[0081] In an exemplary embodiment, method 300 is periodically executed by one or more of the plurality of vehicles 12 before, during, and / or after execution of method 100 described above. In one non-limiting example, method 300 repeatedly exits standby state 306 and restarts method 300 at block 302. In one non-limiting example, method 300 is restarted with a timer, for example, every three hundred milliseconds.
[0082] Fig. 4 shows a flowchart of a method 400 for selecting a delegated lead vehicle. The method 400 begins at block 402 and proceeds to block 404.
[0083] In block 404, in a first exemplary embodiment, the data processing task capacity of the first lead vehicle 12a is reassessed, as described with respect to block 104 above. In a second exemplary embodiment, the energy supply capacity of the first lead vehicle 12a is evaluated over time. As a non-limiting example, a degradation in the energy supply capacity is determined. For the purposes of this description, the degradation in the energy supply capacity is a decrease in the energy supplied by the first lead vehicle 12a over a predetermined period of time (e.g., one minute) as a percentage of the originally supplied energy. In a third exemplary embodiment, the remaining energy budget of the first lead vehicle 12a is assessed.In a non-limiting example, the energy budget is a total amount of energy consumption that is allowed within a given period of time.
[0084] In an exemplary embodiment, the method 400 transitions to a standby state in block 406 when the computing task capacity is greater than or equal to the predetermined computing task capacity threshold OR when the power supply capacity degradation is less than a predetermined power supply capacity degradation threshold OR when the remaining power budget is greater than a predetermined remaining power budget threshold.If the computing task capacity is less than the predetermined computing task capacity threshold OR the power supply capacity degradation is greater than or equal to the predetermined power supply capacity degradation threshold OR the remaining power budget is less than or equal to the predetermined remaining power budget threshold, the method 400 proceeds to block 408.
[0085] In block 408, the follow-up data processing task is transferred to a second lead vehicle. In an exemplary embodiment, the second lead vehicle is selected from the lead matrix determined in block 112. In an exemplary embodiment, the second lead vehicle is selected to be the highest-ranking candidate vehicle in the lead matrix other than the first lead vehicle 12a. In a non-limiting example, the second lead vehicle is selected as one of the first follower vehicles 12b and the second follower vehicle 12c. In an exemplary embodiment, the follow-up data processing task is transferred to the second lead vehicle using a local connection, such as a BLUETOOTH connection, a near-field communication (NFC) connection, a wireless local area network (WLAN / WiFi) connection, a short-range radio connection, and / or the like.After block 408, the method 400 enters the standby state in block 406.
[0086] In an exemplary embodiment, method 400 is periodically executed by one or more of the plurality of vehicles 12 before, during, and / or after execution of method 100 described above. In one non-limiting example, method 400 repeatedly exits standby state 406 and restarts method 400 at block 402. In one non-limiting example, method 400 is restarted with a timer, for example, every three hundred milliseconds.
[0087] The system 10 and methods 100, 300, 400 of the present description provide several advantages. For example, devices with limited communication capabilities (e.g., devices that only have short-range communication) can establish communication with the server system 30 via a master device. Furthermore, devices with limited computing power can transfer computing tasks to a master device with increased computing power. Furthermore, tasks can be transferred to a master device with a more efficient, reliable, and / or higher-performance connection to the server system 30, resulting in improved performance and reduced resource consumption.
[0088] The description of the present disclosure is merely exemplary, and variations that do not depart from the gist of the present disclosure are intended to be within the scope of the present disclosure. Such variations are not to be regarded as a departure from the spirit and scope of the present description.
Claims
[1] A method (100) for optimizing network resources, the method comprising: selecting 114 a first leader device from a plurality of wireless devices in wireless communication, the first leader device being in wireless communication with at least one follower device of the plurality of wireless devices; Transferring 116 a follow-up data processing task from the at least one follow-up device to the first lead device, the follow-up data processing task including at least one of the following elements: a computation task and a communication task; and Performing the subsequent data processing task with the aid of the first guiding device, wherein the selection 114 of the first guiding device further comprises: Determining 112 a leadership matrix, wherein the leadership matrix includes one or more candidate leadership devices, wherein each of the one or more candidate leadership devices is one of the plurality of wireless devices, and wherein the leadership matrix is determined based at least in part on: a computing task capacity of each of the plurality of wireless devices and a historical performance reliability of each of the plurality of wireless devices; and Selecting 114 the first guidance device from the guidance matrix, wherein the determination 112 of the guidance matrix further comprises: Determining 104 the computing task capacity of each of the plurality of wireless devices, wherein the computing task capacity of each of the plurality of wireless devices is determined using a machine learning model for capacity estimation, and wherein the computing task capacity comprises at least one of: a computing capacity and a communication capacity; determining 106 the historical performance reliability of each of the plurality of wireless devices; selecting the one or more candidate guide devices from the plurality of wireless devices based at least in part on the computing task capacity of each of the plurality of wireless devices and the historical performance reliability of each of the plurality of wireless devices; and Determining 112 the guidance matrix based at least in part on one or more candidate guidance devices, where the determination 112 of the management matrix further comprises: Determining 112 the leadership matrix, wherein the leadership matrix is a ranked list including each of the one or more candidate leadership devices, and wherein a ranking of the leadership matrix is determined at least in part based on the data processing task capacity and historical performance reliability of each of the one or more candidate leadership devices, wherein the determination 112 of the guidance matrix further comprises: calculating 110 the cost for each of the one or more candidate guidance devices using a cost function: tc=(t0∗z)+P0 t0=rc,Mbcc,Mbi∗∫i(t)dt where t cis the cost, t0 is a set of interactions that are allowed within a given period of time without exceeding a low power limit of the device, t0 * z is the total cost of performing t0 interactions within the given period of time, P0 is the cost per unit of power consumed within the given period of time, r c,Mb the cost of transmitting one megabyte of registration information within the given period is c c,Mb is the cost of transmitting one megabyte of payload within the given time period, i is a set of interactions performed within the given time period, and ∫ i (t)dt is an integral of i evaluated over several time periods; and Determining the ranking of the guidance matrix based at least in part on the cost of each of the one or more candidate guidance devices. [2] The method (100) of claim 1, wherein selecting the first guidance device from the guidance matrix further comprises: Determining 108 a planned data processing task capacity for each of the one or more candidate management devices, wherein the planned data processing task capacity of each of the one or more candidate management devices is determined using a capacity prediction machine learning model; and Determining the ranking of the command matrix based at least in part on the planned data processing task capacity for each of the one or more candidate command devices. [3] The method (100) of claim 1, wherein the transmission 116 of the subsequent data processing task further comprises: Transferring 116 the computation task from the at least one follower device to the first leader device, wherein the computation task includes an offloading optimization computation task; and Transferring 116 the communication task from the at least one follower device to the first leader device, wherein the communication task comprises a server uplink communication task. [4] The method (100) of claim 3, wherein the transmission 116 of the subsequent data processing task further comprises: Identifying 204 an obstacle that hinders the transmission between a first follower device and the first guide device; and Forwarding 308 the follow-up data processing task of the first follow-up device via a second follow-up device to the first lead device to avoid the obstacle. [5] The method (100) of claim 3, wherein transmitting 116 the calculation task further comprises: Transferring 116 the calculation task for optimizing the retrieval from the at least one following device to the first leading device, wherein the calculation task for optimizing the retrieval comprises the execution of a device-specific machine learning model for the retrieval. [6] The method (100) of claim 1, wherein the execution 118 of the subsequent data processing task further comprises: Determining 404 a data processing task capacity of the first management device; and Transferring 408 the subsequent data processing task to a second master device based at least in part on the data processing task capacity of the first master device.
Citation Information
Patent Citations
Identifying remote resource providers for outsourcing computing processes
DE102023101315A1
SYSTEMS AND METHODS FOR COMPUTER MANAGEMENT IN VEHICLES
DE102023110027A1
System and method for value-anticipating task offloading
US20220116456A1
System and method for providing decentralized vehicle computing using blockchain
US20230185614A1