Resource allocation method and apparatus, and computer program

Through communication with the server, resource allocation is dynamically adjusted according to the changes in the number of vehicles in the driving area, the problem of diversified functions when the resources of on-board devices change is solved, and flexible allocation of resources and reduced burden is achieved.

CN119301568APending Publication Date: 2025-01-10SUMITOMO ELECTRIC INDUSTRIES LTD +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380044672.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-09
Filing Date
2023-05-08
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

The prior art is difficult to flexibly provide resource allocation for diversified functions, especially when the computing resources of on-board devices change, it is impossible to effectively deal with the diversification of functional requirements and hardware limitations.

Method used

Through communication with the server, flexible allocation of resources between the server and the vehicle is realized, and resource allocation is dynamically adjusted according to the changes in the number of vehicles in the driving area, including detecting or predicting changes in the number of vehicles, determining the types of vehicles around it, and performing according to the resource status. Resource reassignment processing.

Benefits of technology

It realizes flexible allocation of vehicle and server resources, can provide various functions, reduce the burden on vehicles and servers, and improves the diversity and efficiency of functions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119301568A_ABST
    Figure CN119301568A_ABST
Patent Text Reader

Abstract

Provided is a resource allocation method for an in-vehicle device that provides a driving assistance function by communication with a server, said resource allocation method being capable of flexibly providing a variety of functions, the resource allocation method being a resource allocation method for an in-vehicle device that provides a driving assistance function by communication with the server, an in-vehicle device is a switching-type in-vehicle device that switches between resources of a service providing device that governs a travel area of a vehicle on which the in-vehicle device is mounted and resources of a host vehicle that is the vehicle on which the in-vehicle device is mounted, and allocates the resources to each function of the in-vehicle device. A resource allocation method includes: a step in which a computer executes an allocation process for allocating resources of a server of a service providing device that governs a travel area of a host vehicle and resources of the host vehicle to each function of an in-vehicle device; and a step in which the computer re-executes the allocation processing in response to the detection or prediction of a change in the number of vehicles that cooperate with the server and are present in the travel area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a resource allocation method and apparatus, and a computer program. This application claims priority based on Japanese application No. 2022-093583 filed on June 9, 2022, and all the contents described in the Japanese application are cited by reference. Background Art

[0002] In the case of an on-board device with a driving assistance function, sometimes the computing resources available to it are changed. For example, if a part of the vehicle equipment fails, the function undertaken by the equipment becomes unavailable from the on-board device. In such a case, other computing resources need to be allocated to the lost function. Patent document 1 described later discloses a technology for reallocating computing resources in such a case.

[0003] Prior art literature

[0004] Patent Literature

[0005] Patent Document 1: Japanese Patent Application Publication No. 2021-93090 Summary of the invention

[0006] The first aspect of the present disclosure relates to a resource allocation method for a vehicle-mounted device that provides a driving assistance function by communicating with a server, wherein the vehicle-mounted device is a switching-type vehicle-mounted device that switches resources of a service providing device and resources of a vehicle equipped with the vehicle-mounted device, i.e., the vehicle itself, and allocates them to various functions of the vehicle-mounted device, and the service providing device governs a driving area of ​​the vehicle equipped with the vehicle-mounted device. The resource allocation method includes: a step in which a computer executes an allocation processing step in which resources of a server and resources of the vehicle itself are allocated to various functions of the vehicle-mounted device, and the server is a service providing device that governs the driving area of ​​the vehicle; and a step in which the computer executes an allocation processing step in response to detecting or predicting a change in the number of vehicles cooperating with the server that are present in the driving area and then executing the allocation processing step.

[0007] The second aspect of the present disclosure relates to a resource allocation device in a vehicle-mounted device that provides a driving assistance function by communicating with a server, wherein the vehicle-mounted device is a switching-type vehicle-mounted device that switches the resources of the server and the resources of the vehicle equipped with the vehicle-mounted device, i.e., the vehicle itself, and allocates them to various functions of the vehicle-mounted device. The server governs the driving area of ​​the vehicle equipped with the vehicle-mounted device. The resource allocation device includes: an allocation execution unit that executes an allocation process of allocating the resources of the server that governs the driving area of ​​the vehicle itself and the resources of the vehicle itself to various functions of the vehicle-mounted device; and an allocation re-execution unit that responds to a change in the number of vehicles that are detected or predicted to be present in the driving area and that cooperate with the server and re-executes the allocation process.

[0008] The third aspect of the present disclosure involves a computer program that enables a computer to function in a manner of allocating resources in a vehicle-mounted device that provides a driving assistance function through communication with a server, wherein the vehicle-mounted device is a switching-type vehicle-mounted device that switches resources of a server and resources of a vehicle equipped with the vehicle-mounted device, i.e., the vehicle itself, and allocates them to various functions of the vehicle-mounted device, and the server has jurisdiction over a driving area of ​​the vehicle equipped with the vehicle-mounted device. The computer program enables the computer to function as an allocation execution unit and an allocation re-execution unit, the allocation execution unit executing an allocation processing of allocating resources of a server that has jurisdiction over the driving area of ​​the vehicle itself and resources of the vehicle itself to various functions of the vehicle-mounted device, and the allocation re-execution unit re-executing the allocation processing in response to a change in the number of vehicles cooperating with the server detected or predicted to be present in the driving area.

[0009] The foregoing and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 The diagram shows the technical development stages of the vehicle-mounted edge server (hereinafter referred to as “vehicle-mounted edge”).

[0011] Figure 2 This is a block diagram showing a schematic configuration of a vehicle system of a vehicle participating in the coordination system according to the first embodiment of the present disclosure.

[0012] Figure 3 This is a diagram showing an example of the coordination system according to the first embodiment.

[0013] Figure 4 is realized Figure 2 A hardware block diagram of an onboard edge computer of a vehicle system is shown.

[0014] Figure 5 It is shown Figure 4 A block diagram of the functional structure of the in-vehicle edge is shown.

[0015] Figure 6 This is a diagram showing the types of server configurations and their characteristics in a table format.

[0016] Figure 7 This is a diagram showing in a tabular form the switching pattern of the collaboration between the vehicle-mounted edge and the server, which is associated with a combination of the types of vehicles existing around the vehicle, the change in vehicle movement, and the server resource status.

[0017] Figure 8 This is a flowchart showing the schematic structure of a program executed by the vehicle-mounted edge.

[0018] Fig. 9 The flowchart shows a control structure of a program for reallocating resources in a switching type in-vehicle edge capable of switching resources between the own vehicle and a server.

[0019] Fig.10 It is shown in Fig. 9 The flowchart shown is a flowchart of the first half of the control structure of the program executed when there is a switching type of surrounding vehicle.

[0020] Fig.11 It is shown in Fig. 9 The flowchart shown is a flowchart of the second half of the control structure of the program executed when there is a switching type of surrounding vehicle.

[0021] Fig.12 It is shown in Fig. 9 The flowchart shown is a flowchart of the first half of the control structure of the program executed when there are no switching-type surrounding vehicles.

[0022] Fig.13 It is shown in Fig. 9 The flowchart shown is a flowchart of the second half of the control structure of the program executed when there are no switching type surrounding vehicles.

[0023] Fig.14 The diagram shows in a table format the resource allocation of real-time applications and non-real-time applications in a switching-type vehicle, with respect to the configuration of a switching destination server.

[0024] Fig.15 The flowchart shows a control structure of a program for switching a resource for a certain function from the own vehicle to a server in a switching-type vehicle-mounted device.

[0025] Fig.16 The diagram shows in a table format the server resource status and resource allocation for adjusting resources with surrounding vehicles with respect to real-time applications and non-real-time applications.

[0026] Fig.17 1 is a flowchart showing a control structure of a program for performing resource adjustment with a switching type surrounding vehicle.

[0027] Fig.18 This is a flowchart showing a control structure of a program for switching resources using an edge server (hereinafter referred to as “edge”).

[0028] Fig.19 The flowchart shows a control structure of a program for priority processing with switching-type surrounding vehicles related to a real-time application.

[0029] Fig. 20The flowchart shows a control structure of a program for priority processing with switching-type surrounding vehicles related to a non-real-time application.

[0030] Fig.21 This is a flowchart showing a control structure of a program for switching resources that do not use edges. DETAILED DESCRIPTION

[0031] [Problems to be Solved by the Present Disclosure]

[0032] According to the technology disclosed in Patent Document 1, it is possible to obtain an effect that functions can be allocated to a type of computing resource different from the computing resource that has become unusable by the vehicle-mounted device.

[0033] However, it is predicted that the popularity of vehicle-mounted devices with driving assistance functions will accelerate in the future. On the other hand, it is expected that the functions required of vehicle-mounted devices will also be diversified. For example, it is also expected that there will be functions that cannot be realized by the computing resources available to the vehicle-mounted device due to the limitation of the vehicle's hardware. For such problems, the technology disclosed in Patent Document 1 cannot fully cope with them.

[0034] Therefore, an object of the present disclosure is to provide a resource allocation method and apparatus, and a computer program that can flexibly provide a variety of functions.

[0035] [Effects of the present disclosure]

[0036] As described above, according to the present disclosure, it is possible to provide a resource allocation method, an apparatus, and a computer program that can flexibly provide various functions.

[0037] [Description of Embodiments of the Present Disclosure]

[0038] In the following description and drawings, the same reference numerals are used to mark the same components. Therefore, detailed descriptions thereof will not be repeated. It should be noted that one or more of the following features may be combined.

[0039] (1) The first aspect of the present disclosure relates to a resource allocation method for a vehicle-mounted device that provides a driving assistance function by communicating with a server, wherein the vehicle-mounted device is a switching-type vehicle-mounted device that switches resources of a service providing device and resources of a vehicle equipped with the vehicle-mounted device, i.e., the vehicle itself, to allocate resources to various functions of the vehicle-mounted device, and the service providing device governs a driving area of ​​the vehicle equipped with the vehicle-mounted device. The resource allocation method includes: a step of a computer executing an allocation processing step of allocating resources of a server and resources of the vehicle itself to various functions of the vehicle-mounted device, wherein the server is a service providing device that governs the driving area of ​​the vehicle itself; and a step of the computer executing an allocation processing step again in response to detecting or predicting a change in the number of vehicles cooperating with the server that are present in the driving area.

[0040] With this configuration, resources for realizing various functions can be flexibly allocated between the server and the vehicle according to the change in the number of vehicles cooperating with the server in the travel area. As a result, various functions for the vehicle can be flexibly provided.

[0041] (2) In the above (1), the re-execution step may include: a step in which the computer determines whether each vehicle existing in a surrounding area including a driving area and an adjacent area adjacent to the driving area is a single vehicle that does not cooperate with the service providing device, a cooperative vehicle that cooperates with the service providing device using a fixed allocation of resources, and a switchable vehicle equipped with a switchable vehicle-mounted device; a first determination step in which the computer determines whether there is a vehicle other than the single vehicle in the surrounding area; and a step in which the computer responds to the determination in the first determination step that there is a vehicle other than the single vehicle in the surrounding area and executes a process of reallocating the resources of the vehicle and the resources of the server to each function of the vehicle-mounted device based on the resources available in the server.

[0042] This structure allows resources for implementing various functions to be flexibly allocated between the server and the vehicles according to the number of vehicles cooperating with the server, regardless of the number of independent vehicles in the surrounding area. As a result, various functions for vehicles can be flexibly provided.

[0043] (3) In the above (2), the step of executing the reallocation processing may include: a second determination step, in which the computer determines whether there is a switching type vehicle other than the vehicle in the surrounding area; a first reallocation execution step, in which the computer responds to the affirmative determination in the second determination step and executes the processing of reallocating the server resources and the vehicle resources to each function of the vehicle-mounted device based on the adjustment results related to the server resources between the switching type vehicles existing in the surrounding area and the status of the resources that can be used in the server; and a second reallocation execution step, in which the computer responds to the negative determination in the second determination step and executes the processing of reallocating the server resources and the vehicle resources to each function of the vehicle-mounted device based on the status of the resources that can be used in the server.

[0044] This structure allows resources for implementing various functions to be flexibly allocated between the server and the vehicle according to the number of surrounding switching vehicles, regardless of the number of independent vehicles and cooperative vehicles in the driving area. As a result, various functions for the vehicle can be flexibly provided.

[0045] (4) In the above (3), the first reallocation execution step may include: a first detection step, in which the computer detects or predicts an increase in cooperative vehicles or switching vehicles existing in the driving area in response to the affirmative determination in the second determination step; a third determination step, in which the computer determines whether the server resources are insufficient in response to the increase in cooperative vehicles or switching vehicles detected or predicted to exist in the driving area in the first detection step; and the computer responds to the affirmative determination result in the third determination step and performs adjustments related to the server resources with respect to the switching vehicles existing in the surrounding area, and based on the result of the adjustment, switches at least a part of the resources of the server allocated to the functions of the vehicle-mounted device to the resources of the vehicle itself.

[0046] With this structure, regardless of the number of independent vehicles in the driving area, the resources of the server that are predicted to be reduced can be adjusted between vehicles according to the detection or prediction of the increase of switching vehicles and cooperative vehicles in the driving area, and the resources of the own vehicle can be allocated to some functions. As a result, through cooperation with other switching vehicles, the resources for realizing each function can be flexibly allocated between the server and the own vehicle. As a result, various functions for vehicles can be flexibly provided.

[0047] (5) In the above (4), the first reallocation execution step may also include: a second detection step, in which the computer detects or predicts a reduction in the number of cooperative vehicles or switching vehicles existing in the driving area in response to the affirmative determination in the second determination step; a fourth determination step, in which the computer determines whether there is a surplus in the server's resources in response to the detection or prediction of a reduction in the number of cooperative vehicles or switching vehicles existing in the driving area in the second detection step; and the computer responds to the affirmative determination result in the fourth determination step and performs adjustments related to the server's resources with respect to the switching vehicles existing in the surrounding area, and based on the result of the adjustment, switches at least a portion of the resources of the vehicle allocated to the functions of the on-board device to the server's resources.

[0048] With this structure, regardless of the number of independent vehicles in the driving area, it is possible to adjust and allocate the resources that have been left in the server in accordance with the detection or prediction of a decrease in the number of switching vehicles and cooperative vehicles in the driving area, thereby newly allocating the server's resources to a portion of the functions to which the resources of the vehicle are allocated, regardless of the number of independent vehicles in the driving area. As a result, it is possible to flexibly allocate the resources for realizing each function between the server and the vehicle, thereby reducing the burden on the vehicle. As a result, it is possible to flexibly provide various functions for the vehicle.

[0049] (6) In the above (3), the first reallocation execution step may include: a second detection step, in which the computer detects or predicts a reduction in the number of cooperative vehicles or switching vehicles existing in the driving area in response to the determination in the second determination step being affirmative; a third determination step, in which the computer determines whether there is a surplus in the server's resources in response to the detection or prediction of a reduction in the number of cooperative vehicles or switching vehicles existing in the driving area in the second detection step; and a step in which the computer switches at least a portion of the resources of the vehicle allocated to the functions of the on-board device to the resources of the server in response to the determination result in the third determination step being affirmative.

[0050] With this structure, regardless of the number of independent vehicles in the driving area, it is possible to adjust and allocate the resources that have been left in the server in accordance with the detection or prediction of a decrease in the number of switching vehicles and cooperative vehicles in the driving area, thereby newly allocating the server's resources to a portion of the functions to which the resources of the vehicle are allocated, regardless of the number of independent vehicles in the driving area. As a result, it is possible to flexibly allocate the resources for realizing each function between the server and the vehicle, thereby reducing the burden on the vehicle. As a result, it is possible to flexibly provide various functions for the vehicle.

[0051] (7) In any one of the above (3) to (6), the second reallocation execution step includes: an area increase detection step, in which the computer detects or predicts an increase in cooperative vehicles existing in the driving area in response to a negative determination in the second determination step; a first server resource determination step, in which the computer determines whether the server resources are insufficient in response to the increase in cooperative vehicles detected or predicted in the driving area in the area increase detection step; and a step in which the computer switches at least a portion of the resources of the server allocated to the functions of the vehicle-mounted device to the resources of the vehicle in response to an affirmative determination in the first server resource determination step.

[0052] With this structure, regardless of the number of independent vehicles in the driving area, the resources of the server that are predicted to decrease in response to the detection or prediction of an increase in the number of cooperative vehicles in the driving area can be adjusted and allocated between vehicles, thereby newly allocating the resources of the own vehicle to a part of the functions to which the resources of the server are allocated. As a result, even if the number of cooperative vehicles in the driving area increases, the resources for realizing each function can be flexibly allocated between the server and the own vehicle, thereby reducing the burden on the server. As a result, various functions for vehicles can be flexibly provided.

[0053] (8) In the above (7), the second reallocation execution step may further include: an area reduction detection step, in which the computer detects or predicts a reduction in the number of cooperative vehicles existing in the driving area in response to a negative determination in the first server resource determination step; a second server resource determination step, in which the computer determines whether there is a surplus in the server's resources in response to a detection or prediction of a reduction in the number of cooperative vehicles existing in the driving area in the area reduction detection step; and a step in which the computer switches at least a portion of the resources of the vehicle allocated to the functions of the on-board device to the server's resources in response to an affirmative determination in the second server resource determination step.

[0054] With this structure, when the server resources have surplus, part of the resources of the vehicle that are allocated to the execution of functions can be released and the server functions can be allocated. As a result, the burden on the vehicle can be reduced and various functions for the vehicle can be flexibly provided.

[0055] (9) In any one of the above (3) to (6), the second reallocation execution step may include: an area reduction detection step, in which the computer detects or predicts a reduction in the number of cooperative vehicles existing in the driving area in response to a negative determination in the second determination step; a first server resource determination step, in which the computer determines whether there is a surplus in server resources in response to a reduction in the number of cooperative vehicles existing in the driving area detected or predicted in the area reduction detection step; and a step in which the computer switches at least a portion of the resources of the vehicle allocated to the functions of the on-board device to the server's resources in response to an affirmative determination in the first server resource determination step.

[0056] With this structure, when the server resources have surplus, part of the resources of the vehicle that are allocated to the execution of functions can be released and the server functions can be allocated. As a result, the burden on the vehicle can be reduced and various functions for the vehicle can be flexibly provided.

[0057] (10) In any of the above (5), (6), (8) and (9), the server in the driving area includes at least a first server, the function of the vehicle-mounted device includes a first function and a second function that requires a faster response than the first function, and the step of switching to the server resources may include: a server structure determination step, determining whether the server in the driving area also includes a second server that responds faster than the first server; and a step of allocating the resources of the vehicle to the second function and allocating the resources of the first server to the first function in response to the server being determined to not include the second server in the server structure determination step.

[0058] With this configuration, resources of the second server, not of the vehicle, can be allocated to functions that require a quick response, thereby reducing the load on the vehicle and providing various functions for the vehicle in a flexible manner.

[0059] (11) In any of the above (5), (6), (8) and (9), the step of switching to server resources may also include the following step: in response to the server being determined in the server structure determination step to include a second server, the resources of the first server are allocated to the first function and the resources of the second server are allocated to the second function.

[0060] With this structure, the resources of the second server instead of the vehicle can be allocated to functions that require a fast response, and the resources of the first server can be allocated to functions that do not require a fast response. Therefore, the load on the vehicle can be reduced, and various functions for the vehicle can be flexibly provided.

[0061] (12) In any of the above (5), (6), (8) and (9), the server in the driving area includes at least a first server, and the function of the vehicle-mounted device includes a first function and a second function that requires a faster response than the first function. The step of switching to the server resources may include: a server structure determination step, determining whether the server in the driving area also includes a second server that responds slower than the first server; and a step of allocating the resources of the first server to the first function and the second function in response to the server being determined in the server structure determination step to not include the second server.

[0062] With this structure, the resources of the vehicle can be allocated to the functions that require a quick response, and the resources of the first server can be allocated to the functions that do not require a quick response. Since the resources of the first server are allocated to the functions that do not require a quick response, the resources of the vehicle can be effectively used for the functions that require a quick response. As a result, various functions for the vehicle can be flexibly provided while reducing the load on the vehicle.

[0063] (13) In the above (12), the step of switching to server resources may further include the step of allocating resources of the second server to the first function and allocating resources of the first server to the second function in response to the determination in the server structure determination step that the server includes the second server.

[0064] This structure allows the second server's resources to be allocated to functions that require a quick response, and the first server's resources to be allocated to functions that do not require a quick response. The vehicle's resources can be further allocated to other functions, and various functions for the vehicle can be flexibly provided while reducing the vehicle's load.

[0065] (14) In the above (5) or (6), the server in the driving area includes a first server and a second server that responds faster than the first server, the function of the vehicle-mounted device may include a first function and a second function that requires a faster response than the first function, and the step of switching to server resources may include: a step of allocating as many resources of the second server as possible to the second function within the scope allowed by the second server; a step of allocating as many resources of the first server and the second server as possible to the first function within the scope allowed by the first server and the second server; and a step of allocating resources of this vehicle to functions in the second function that are not allocated resources of the second server and functions in the first function that are neither allocated resources of the first server nor resources of the second server.

[0066] With this structure, the second server's resources can be allocated as much as possible to functions that require a quick response. In addition, the first server and the second server's resources can be allocated as much as possible to functions that do not require a quick response. Therefore, the load on the vehicle is reduced, and the vehicle's resources are allocated to other functions. As a result, various functions for the vehicle can be flexibly provided.

[0067] (15) In the above (14), the step of allocating as many resources of the second server as possible to the second function within the scope allowed by the second server may include: an allocation determination step of determining whether to allocate the resources of the second server to the entire second function; a step of allocating the resources of the second server to the entire second function in response to the determination in the allocation determination step that the resources of the second server are allocated to the entire second function; a step of adjusting the allocation of the resources of the second server between other switching-type vehicles in the driving area in response to the determination in the allocation determination step that the resources of the second server are not allocated to at least a part of the second function, and allocating as many resources of the second server as possible to a part of the second function according to the result of the adjustment; and a step of allocating the resources of this vehicle to the functions of the second function that are not allocated the resources of the second server as a result of the adjustment.

[0068] As a result of this structure, if the resources of the second server can be allocated to all the second functions that require a fast response, the resources of the second server can be allocated to all the second functions without the need for adjustments with other vehicles. The resources of this vehicle are spare, and other various functions can be realized. In addition, in the case where the resources of the second server cannot be allocated to part of the second function, it is also possible to allocate the resources of the second server as much as possible to the functions of this vehicle after the resources of the second server can be effectively utilized for the vehicles in the driving area through adjustments with other switching vehicles. As a result, the resources of the second server can be effectively utilized not only for this vehicle but also for other vehicles in the driving area, and a variety of functions can be provided.

[0069] (16) In the above (14) or (15), the step of allocating as many resources of the first server and the second server as possible to the first function within the scope allowed by the first server and the second server may include: an additional determination step of determining whether to allocate the resources of the first server to the entire first function; a step of allocating the resources of the first server to the entire first function in response to the determination in the additional determination step that the resources of the first server are allocated to the entire first function; a step of adjusting the allocation of the resources of the first server between other cooperative vehicles and switching vehicles in the driving area in response to the determination in the additional determination step that the resources of the first server are not allocated to at least a part of the first function, and allocating as many resources of the first server as possible to a part of the first function according to the result of the adjustment; and a step of allocating the resources of this vehicle to the functions of the first function that are not allocated the resources of the first server as a result of the adjustment.

[0070] As a result of this structure, if the resources of the first server can be allocated to all of the first function, there is no need for adjustments with other vehicles, and the resources of the first server can be allocated to all of the first function. There is a surplus of resources in this vehicle, and other various functions can be realized. In addition, in the case where the resources of the first server cannot be allocated to part of the first function, the resources of the first server can be effectively utilized for vehicles in the driving area through adjustments with other switching vehicles. Moreover, after the vehicle can allocate as many resources of the first server as possible to the first function of the vehicle, it can allocate the resources of the vehicle to the remaining first functions. As a result, the resources of the first server can be effectively utilized not only for the vehicle itself, but also for other vehicles in the driving area, and a variety of functions including the first function can be provided.

[0071] (17) The second aspect of the present disclosure relates to a resource allocation device in a vehicle-mounted device that provides a driving assistance function by communicating with a server, wherein the vehicle-mounted device is a switching-type vehicle-mounted device that switches resources of a server and resources of a vehicle equipped with the vehicle-mounted device, i.e., the vehicle itself, and allocates them to various functions of the vehicle-mounted device. The server governs a driving area of ​​the vehicle equipped with the vehicle-mounted device. The resource allocation device includes: an allocation execution unit that executes an allocation process of allocating resources of a server that governs the driving area of ​​the vehicle itself and resources of the vehicle itself to various functions of the vehicle-mounted device; and an allocation re-execution unit that re-executes the allocation process in response to a change in the number of vehicles that are detected or predicted to be present in the driving area and that cooperate with the server.

[0072] With this configuration, resources for realizing various functions can be flexibly allocated between the server and the vehicle according to the change in the number of vehicles cooperating with the server in the travel area. As a result, various functions for the vehicle can be flexibly provided.

[0073] (18) The third aspect of the present disclosure relates to a computer program that causes a computer to function in a manner that allocates resources in a vehicle-mounted device that provides a driving assistance function through communication with a server, wherein the vehicle-mounted device is a switchable vehicle-mounted device that switches resources of a server and resources of a vehicle equipped with the vehicle-mounted device, i.e., the vehicle itself, to allocate resources to various functions of the vehicle-mounted device, and the server will have jurisdiction over the driving area of ​​the vehicle equipped with the vehicle-mounted device. The computer program causes the computer to function as an allocation execution unit and an allocation re-execution unit, the allocation execution unit executing an allocation process of allocating resources of a server that has jurisdiction over the driving area of ​​the vehicle itself and resources of the vehicle itself to various functions of the vehicle-mounted device, and the allocation re-execution unit re-executing the allocation process in response to a change in the number of vehicles cooperating with the server that is detected or predicted to be present in the driving area.

[0074] With this configuration, resources for realizing various functions can be flexibly allocated between the server and the vehicle according to the change in the number of vehicles cooperating with the server in the travel area. As a result, various functions for the vehicle can be flexibly provided.

[0075] [Details of the embodiments of the present disclosure]

[0076] Below, while referring to the attached Figure 1 The resource allocation method, device, and computer program according to the embodiment of the present disclosure will be described below. It should be noted that the present disclosure is not limited to these examples, but is intended to include all modifications within the meaning and scope equivalent to the claims.

[0077] First Embodiment

[0078] 1 Public background

[0079] As a driving assistance system, there is a system that installs sensors on the vehicle and performs all information processing of the sensor data in the vehicle-mounted device. Since the sensor data is processed at the place where the data is obtained, this method is convenient for processing that needs to be performed in real time. In this specification, the function of performing information processing for driving assistance in the vehicle-mounted device is called the vehicle-mounted edge.

[0080] exist Figure 1 The technical development stages of vehicle systems equipped with vehicle-mounted edge devices are schematically shown in FIG. Figure 1The initial vehicle system 50 includes a separate vehicle-mounted edge 60 and various sensors not shown in the figure, which are isolated from other vehicles. The separate vehicle-mounted edge 60 includes applications that process sensor data from these sensors. These applications perform both real-time applications that realize functions that are indispensable for vehicle safety and non-real-time applications that do not directly contribute to vehicle safety. In this specification, a vehicle equipped with such a separate vehicle-mounted edge 60 is referred to as a separate vehicle.

[0081] However, such a vehicle-mounted edge 60 has a problem that, for example, wide-area information cannot be used to assist driving. In addition, there is also a problem that information obtained from sensors of a vehicle equipped with the vehicle-mounted edge 60 cannot be used for driving of other vehicles.

[0082] The vehicle system 52 of the next development stage makes up for the shortcomings of the above-mentioned single-type vehicle system 50, and includes, in addition to sensors not shown, an in-vehicle edge 70 capable of communicating with a server 72 that governs a predetermined area. The in-vehicle edge 70 executes a real-time application. On the other hand, the server 72 executes a non-real-time application using sensor data sent from the in-vehicle edge 70. The server 72 sends the execution result of the non-real-time application to the in-vehicle edge 70. The in-vehicle edge 70 uses this information for driving assistance.

[0083] In this way, the vehicle-mounted edge 70 cooperates with the server 72 to perform driving assistance processing. Therefore, the vehicle-mounted edge 70 is called a collaborative vehicle-mounted edge. In addition, a vehicle equipped with a collaborative vehicle-mounted edge is called a collaborative vehicle. The collaborative vehicle-mounted edge is set inside a vehicle-mounted gateway (hereinafter referred to as "vehicle-mounted GW (Gateway)") that communicates between various parts in the vehicle and the outside.

[0084] As a vehicle system 54 at a stage further developed from the vehicle system 52, a vehicle system equipped with a switchable vehicle-mounted edge 80 capable of communicating with a server 82 and other vehicles can be considered. The vehicle-mounted edge 80 can switch whether to execute real-time applications and non-real-time applications in the vehicle-mounted edge 80 or in the server 82. For this purpose, the vehicle-mounted edge 80 includes a resource control unit for controlling whether to allocate resources of a vehicle (referred to as the own vehicle) equipped with the vehicle-mounted edge 80 or resources of the server 82 to these applications. A vehicle equipped with such a switchable vehicle-mounted edge 80 is referred to as a switchable vehicle.

[0085] In this way, there are stages of technological development for the in-vehicle edge, but the in-vehicle edge used in society is not always (simultaneously) replaced with a higher-level in-vehicle edge. It can be assumed that vehicles equipped with independent, collaborative, and switchable in-vehicle edges exist in a mixed manner on the road. In such a case, various problems may arise around server resources.

[0086] 2 Structure

[0087] 2A Hardware Structure

[0088] For example Figure 1 The schematic structure of the vehicle system 54 shown is as follows. Figure 2 The vehicle system 54 includes a sensor 100, an ECU (Electronic Control Unit) 102, an autonomous driving ECU 104, a wireless communication unit 106 for communicating with a server 82, and an on-board GW 108 for relaying and dispatching communications between various parts of the vehicle system 54 and the server 82 via the wireless communication unit 106. The on-board GW 108 includes an on-board edge 80. The on-board edge 80 is connected to the sensor 100, the ECU 102, the autonomous driving ECU 104, and the wireless communication unit 106. The on-board edge 80 processes the sensor data from the sensor 100 within the on-board edge 80, or sends and receives the execution results of the application by the server 82 to the server 82 via the wireless communication unit 106. The on-board edge 80 provides such information to the ECU 102 and the autonomous driving ECU 104, etc., so that they can contribute to driving assistance.

[0089] It should be noted that in Figure 2 In the figure, only one sensor 100 and one ECU 102 are shown. However, in reality, there are one or more sensors 100 and one or more ECUs 102 with different functions. The ECU 102 is essentially a computer that executes a specified program and outputs the result to other ECUs or controls various parts of the vehicle by executing the program.

[0090] Figure 1 The vehicle system 50 is shown in Figure 2 The vehicle system 52 does not include the wireless communication unit 106. Figure 2 Same hardware structure.

[0091] 2B Functional Structure

[0092] The following describes problems that may arise in connection with a vehicle 320 equipped with the vehicle-mounted edge 80 involved in the first embodiment. It should be noted that in the following embodiments, the area in which the vehicle 320 is traveling is referred to as a traveling area. The area adjacent to the traveling area and governed by other servers is referred to as an adjacent area. The traveling area and the adjacent area are collectively referred to as a surrounding area. Vehicles traveling in the surrounding area are referred to as surrounding vehicles. It should be noted that among servers, there are two types: cloud servers (hereinafter referred to as "clouds") and edge servers (hereinafter referred to as "edges"). The cloud often processes wider areas than the edge. The edge processes narrower areas. Therefore, the edge can process the requirements of each vehicle at a higher speed than the cloud.

[0093] Reference Figure 3 , it is assumed that the driving area of ​​the vehicle 320 is the driving area 300. The server that governs the driving area 300 is set as the cloud 304. In addition, one of the areas adjacent to the driving area 300 is set as the adjacent area 302, and it is assumed that the server that governs the adjacent area 302 is composed of a combination of the cloud 306 and the edge 308. The cloud 306 governs a wide area in the adjacent area 302, and the edge 308 governs a narrow area in the adjacent area 302. The cloud 306 processes processing requests from vehicles in the adjacent area 302 that cannot communicate with the edge 308. The cloud 306 also processes processing requests from the edge 308. Not only is the jurisdiction of the edge 308 narrower than the jurisdiction of the cloud 306, but the time required for each vehicle to communicate with the edge 308 is also shorter than the time required for each vehicle to communicate with the cloud 306. Therefore, the edge 308 is faster than the cloud 306 in responding to the processing request from each vehicle.

[0094] exist Figure 3 In the example shown, there are other vehicles 322 and 324 in the driving area 300 of the vehicle 320. In addition, there are also vehicles 326 and 328 in the adjacent area 302. In this way, as described above, vehicles different from the vehicle 320 that exist in the driving area of ​​a certain vehicle 320 and other driving areas adjacent to the driving area are peripheral vehicles for the vehicle 320. As to which type of vehicle exists in each area is the above-mentioned single type vehicle, cooperative type vehicle and switching type vehicle, at least the server that governs each area grasps and manages it together with vehicle information such as their position, moving speed and model. Such information related to vehicles is exchanged between servers that govern mutually adjacent areas. Therefore, each server at least grasps and manages the position, moving direction and speed (they are called vehicle movement status) of the vehicles that exist in the area under its jurisdiction and in the area adjacent to the area and the type of the vehicle. As a result, for example, if the vehicle 320 wants to know the type of surrounding vehicles and the vehicle movement status, etc., it can inquire the cloud 304.

[0095] exist Figure 4 The hardware structure of the MCU (Micro Controller Unit) constituting the vehicle-mounted edge 80 is shown in FIG. Figure 4 The MCU includes an MPU (Micro-Processing Unit) 402 as a processor, a high-speed bus 400 connected to the MPU 402, an SRAM (Static Random Access Memory) 404 connected to the high-speed bus 400, a flash memory 406 connected to the high-speed bus 400, and a ROM (Read-Only Memory) 408 connected to the high-speed bus 400. The SRAM 404 holds data required for program execution. The flash memory 406 stores a program 426 composed of programs for realizing the functions realized by the vehicle-mounted edge 80 (including both real-time applications and non-real-time applications), programs for resource control, etc. The ROM 408 stores a startup program for the MPU 402, etc.

[0096] The MCU also includes a low-speed bus 410 connected to the high-speed bus 400 via a bridge 412 and a serial I / F (Interface) 414, an ADC (Analog-to-Digital Converter) 416, a timer / counter 418, a clock generator 420, a power supply control unit 422 and a general I / F 424, all of which are connected to the low-speed bus 410.

[0097] It should be noted that the operation of the MCU is well known, and what is significant in the implementation is the function of the program executed by the MCU. Therefore, in the following description, the operation of the MCU itself will not be described.

[0098] exist Figure 5 In FIG. 8 , the functional structure of the vehicle-mounted edge 80 is shown in the form of a block diagram. Figure 5 The vehicle edge 80 functionally includes an initial allocation unit 452 for performing initial allocation of resources of the vehicle or a server capable of communication to each function implemented by the vehicle edge 80 when the vehicle edge 80 is started, and a Figure 2 The communication processing unit 450 of the wireless communication unit 106 is shown.

[0099] The vehicle-mounted edge 80 also includes a change detection unit 454 connected to the communication processing unit 450 and used to detect or predict changes (increase and decrease) in the number of switching vehicles and cooperative vehicles within the driving area 300, and a reallocation unit 456 that responds to the change detection unit 454 detecting or predicting the change and reallocates the resources of the vehicle and the server to the application provided by the vehicle-mounted edge 80 according to the changed situation.

[0100] The vehicle-mounted edge 80 further includes an application storage unit 462 and an application control unit 458. The application storage unit 462 is used to store real-time applications and non-real-time applications. The application control unit 458 is used to respond to the initial allocation of resources by the initial allocation unit 452 and the reallocation of resources by the reallocation unit 456 to control the execution of applications in such a manner that the allocated resources (the vehicle or the server) respectively execute the applications read from the application storage unit 462. The vehicle-mounted edge 80 further includes an application execution unit 460 for executing applications designated by the application control unit 458 to be executed by the resources of the vehicle. The application execution unit 460 includes, for example, Figure 2 The ECU 102 and the automatic driving ECU 104 shown in the figure.

[0101] The application program designated by the application program control unit 458 to be executed in the server is executed via the communication processing unit 450 and Figure 2 Alternatively, the application control unit 458 sends the application identifier to the server, and an application having the same function is executed on the server.

[0102] The allocation of resources to applications varies depending on the number of cooperative vehicles and switching vehicles in the driving area and the structure of the server. Figure 6 In the table, the server structure and the delay characteristics in each server structure, the possibility of executing the real-time application, and the size of the target area (the area under the jurisdiction of the server) are shown.

[0103] like Figure 6 As shown, in this embodiment, as the server structure, only cloud, cloud and edge, only one edge, and any combination of multiple edges and multiple clouds are considered. When only cloud is used, the delay is large, and when edge is used, the delay is small or medium. In the case of a combination of multiple clouds and multiple edges, the delay is different due to their combination. Therefore, in the case of a server structure containing only cloud, real-time applications cannot be executed.

[0104] exist Figure 7In the table, for each type of vehicle included in the surrounding vehicles, how resources should be switched according to changes and predictions of vehicle movement conditions related to the driving area and the resource conditions of the server is shown.

[0105] Reference Figure 7 For example, in the case where the surrounding vehicles are only single-type vehicles and there are no cooperative and switching vehicles, when the surrounding vehicles enter the driving area, the resource status of the server does not change. The same is true when the surrounding vehicles exit the driving area, when the vehicle moves from the driving area to any adjacent area, or when such movement is predicted. Therefore, there is no need to switch resources in the vehicle (switching vehicle).

[0106] On the other hand, for example, consider a case where there are cooperative vehicles among the surrounding vehicles. Here, it is assumed that the surrounding vehicles may also include independent vehicles but not switching vehicles. In this case, the resource status of the server and the switching mode when the number of cooperative vehicles in the driving area of ​​the own vehicle increases or decreases are compared. Figure 7 The 2nd and 3rd rows are shown respectively.

[0107] The situation where the number of cooperative vehicles in the driving area of ​​the vehicle increases refers, for example, to the situation where a cooperative vehicle in an adjacent area enters the driving area or is predicted to enter. As another example, it refers to the situation where the vehicle moves or is predicted to move from the current driving area to another adjacent driving area, and there are more cooperative vehicles in the destination area than in the current driving area. In this case, the resources available in the server will generally decrease, and in some cases, the server resources will become unavailable. At this time, it is necessary to reallocate the server or vehicle resources to the application to which the server resources are allocated, that is, the application needs to be switched to processing in the vehicle.

[0108] The situation where the number of cooperative vehicles in the driving area of ​​the vehicle decreases refers, for example, to the situation where the cooperative vehicles in the driving area exit the driving area or are predicted to exit. As another example, it refers to the situation where the vehicle moves or is predicted to move from the current driving area to another adjacent driving area, and the number of cooperative vehicles existing in the moving destination area is less than the number of cooperative vehicles in the current driving area. In this case, the resources that can be used in the server generally increase. In this case, it may be possible to allocate the server's resources to non-real-time applications that are allocated the resources of the vehicle. Therefore, assuming that there is a surplus of resources in the server, the server's resources can be reallocated to the application that is allocated the resources of the vehicle, that is, the application can be switched to processing in the server.

[0109] exist Figure 7 The information recorded in the 4th, 5th and 6th lines of can also be interpreted in the same way. However, in this case, other switching type vehicles will be involved. Even for other switching type vehicles, resources must be redistributed in the same way as this vehicle. Therefore, there may be competition between switching type vehicles in the redistribution of server resources. In such a case, adjustments related to resources are required between switching type vehicles.

[0110] 2C Program Structure

[0111] Will Figure 4 The MPU402 shown is used to implement Figure 5 The control structure of the program executed by each function of the vehicle-mounted edge 80 shown in FIG. Figure 8 and shown in the following figures.

[0112] Reference Figure 8 , the program 500 includes: step 510, starting communication with the server upon startup; and step 512, following 510, performing initial allocation of resources of the vehicle and resources of the server for each application that realizes the functions used by the vehicle-mounted device. The allocation process performed in step 512 can be an allocation process based on any method. For example, it can be considered: asking the server for available resources, allocating resources within the range allowed by the server to non-real-time applications, and allocating resources of the vehicle to the remaining applications. It should be noted that it is assumed that: when the program 500 is started, the server with which the vehicle-mounted device starts communicating is Figure 3 Cloud 304 is shown.

[0113] The program further includes: step 514, downloading vehicle information of a surrounding area including the driving area from a server; and step 516, executing resource allocation processing again in response to a change in the number of cooperative vehicles or switching vehicles in the driving area detected or predicted based on the information downloaded in step 514, and returning control to step 514. When the number of cooperative vehicles or switching vehicles in the driving area does not change, control returns to step 514.

[0114] Reference Fig. 9 , Figure 8 The step 516 of re-execution allocation processing shown has the following control structure. The step 516 includes: a step 550 of observing and determining the type of edge devices of surrounding vehicles based on the vehicle information downloaded in the step 514; and a step 552 of determining whether there is a vehicle other than a single-type vehicle, that is, a switching type vehicle or a cooperative type vehicle among the surrounding vehicles based on the determination result of the step 550, and branching the control flow according to the result.

[0115] If it is determined in step 552 that there is a switching type vehicle or a cooperative type vehicle among the surrounding vehicles, control proceeds to step 554. In step 554, MPU 402 branches the control flow according to whether there is a switching type vehicle among the surrounding vehicles. If there is a switching type vehicle, control proceeds to step 556, MPU 402 performs processing when there is a switching type surrounding vehicle, and ends step 516. If there is no switching type vehicle, control proceeds to step 558, MPU 402 performs processing when there is no switching type surrounding vehicle, and ends step 516.

[0116] If it is determined in step 552 that there is no switching type vehicle or cooperative type vehicle among the surrounding vehicles, the surrounding vehicles are only single type vehicles and vehicles without vehicle-mounted edges. These surrounding vehicles will not use the resources of the server. Therefore, MPU402 does not need to reallocate resources to each function of the vehicle. Therefore, in this case, MPU402 ends the processing of step 516.

[0117] Reference Fig.10 , Fig. 9 Step 556 has the following control structure. Step 556 includes: step 580, branching the control flow based on whether the vehicle has a scheduled movement area; and step 582, when the determination in step 580 is affirmative, branching the control flow according to whether the number of switching vehicles and cooperative vehicles in the area of ​​the movement destination is above a threshold. Step 556 also includes step 584: when the determination in step 580 is negative, branching the control flow according to whether the switching vehicle or the cooperative vehicle has entered or is expected to enter the driving area.

[0118] When the determination of step 582 is positive and the determination of step 584 is positive, the control proceeds to step 586. In step 586, MPU 402 determines whether the processing resources of the server are insufficient or expected to be insufficient and branches the control flow. When the determination of step 586 is negative, step 556 ends. That is, in this case, the resources are not reallocated.

[0119] If the determination in step 586 is affirmative, control proceeds to step 588. MPU 402 adjusts resource allocation with the switching type surrounding vehicles in step 588. Furthermore, control proceeds to step 590, and MPU 402 reallocates resources of the vehicle to a part or all of the application programs to which the server resources are allocated, according to the adjustment result in step 588, and ends step 556. It should be noted that, depending on the adjustment result in step 588, there may be a case where resource reallocation is not performed in step 590.

[0120] Reference Fig.11 ,exist Fig.10 If the determination in step 584 is negative, control proceeds to Fig.11 Step 594. In step 594, MPU 402 determines whether the switching vehicle or the cooperative vehicle has exited or is expected to exit the driving area, and branches the control flow according to the result. When the determination in step 594 is negative, MPU 402 ends the processing of step 556.

[0121] The program also includes step 596, which is Fig.10 If the determination in step 582 shown is negative or Fig.11 When the judgment of step 594 is positive, it is executed to determine whether there is or is expected to be a surplus in the resources in the server, and the control flow is branched according to the result. If the judgment of step 596 is negative, MPU402 ends step 556. If the judgment of step 596 is positive, MPU402 adjusts the allocation of server resources with the switching type surrounding vehicles in step 598. MPU402 further allocates server resources to part of the application according to the adjustment result in step 598 in step 600, and ends step 556.

[0122] exist Fig.12 The implementation is shown in Fig. 9 The control structure of the program of step 558 is shown. Fig.12 , step 558 for implementing the process when there is no switching type surrounding vehicle includes: step 630, branching the control flow according to whether the vehicle is scheduled to move to another driving area; and step 632, when the determination of step 630 is affirmative, determining whether the number of cooperative vehicles existing in the moving destination area is greater than a threshold, and branching the control flow according to the result. Step 558 also includes step 634: when the determination of step 630 is negative, determining whether a cooperative type surrounding vehicle has entered or is expected to enter the driving area, and branching the control flow according to the result.

[0123] Step 558 further includes step 636: when the determination in step 632 is positive or the determination in step 634 is positive, the control flow is branched according to whether the server processing resources are insufficient or expected to be insufficient. If the determination in step 636 is negative, step 558 ends. If the determination in step 636 is positive, control proceeds to step 638, and MPU 402 switches part or all of the application programs to which the server resources are allocated to the resources of the vehicle, and step 558 ends.

[0124] Reference Fig.13 Step 558 further includes step 642: Fig.12The determination in step 634 is negative and the response is executed, and the control flow is branched according to whether the cooperative vehicle has exited the driving area or is predicted to exit.

[0125] If the determination in step 632 is negative or the determination in step 642 is positive, control proceeds to step 644. In step 644, MPU 402 determines whether there is or is expected to be a margin in the processing resources of the server and branches the control flow. If the determination in step 644 is negative, there is no margin in the processing resources of the server, so step 558 ends. If the determination in step 644 is positive, control proceeds to step 646 to execute the process of allocating the resources of the vehicle to the application. If step 646 is completed, step 558 ends. For details of step 646, refer to Fig.15 And then described.

[0126] If the determination at step 642 is negative, step 558 ends.

[0127] exist Fig.14 In the table, the resource allocation policy of the real-time application and the non-real-time application is shown in accordance with the type of server configuration of the switching destination for the switching type vehicle. Fig.14 For example, when the switching destination server includes only the cloud (line 1), the real-time application cannot be executed through the cloud. Therefore, MPU 402 allocates the resources of the vehicle to the real-time application. On the other hand, the cloud resources are basically allocated to the non-real-time application.

[0128] As shown in the second row, when the server has a dual-layer structure of edge and cloud, the edge can execute real-time applications. Therefore, the switching vehicle allocates edge resources to real-time applications. On the other hand, non-real-time applications can be processed by both edge and cloud. Therefore, edge resources or cloud resources are allocated to non-real-time applications according to the resources that can be used in each.

[0129] The 5th row shows the resource allocation policy for the case where the server is a server that is a combination of a server having both multiple edges and multiple clouds and a server that only has multiple clouds. In this case, in an environment where the server structure includes an edge, real-time applications can be executed on the server side (edge). Therefore, MPU402 allocates edge resources to real-time applications. However, in the case where the server structure only includes a cloud, real-time applications cannot be executed on the server side. Therefore, in this case, MPU402 allocates the resources of the vehicle to the real-time application. And, in either case, MPU402 allocates available server-side resources to non-real-time applications.

[0130] exist Fig.15 Shown in Fig.13 The control structure of the program executed in step 646 of Fig.15 , step 646 of switching the resources allocated to the application to the server side includes: step 680, determining whether the server structure includes an edge, and branching the control flow according to the result; and step 684, responding to the negative determination of step 680, allocating the resources of the vehicle to the real-time application and allocating the resources of the cloud to the non-real-time application. In step 684, it is assumed that the server that governs the driving area of ​​the vehicle equipped with MPU 402 includes the cloud.

[0131] If the determination in step 680 is affirmative, control proceeds to step 682. In step 682, the MPU 402 determines whether or not a cloud exists in the server structure, and branches the control flow according to the result.

[0132] If the determination in step 682 is negative, control proceeds to step 686. The determination in step 682 is negative, which means that the server structure is only edge. Therefore, in step 686, MPU 402 allocates edge resources to real-time applications and also allocates edge resources to non-real-time applications, and the processing of step 646 ends.

[0133] On the other hand, when the determination in step 682 is positive, control proceeds to step 688. The determination in step 682 is positive, which means that the server includes both the cloud and the edge. Therefore, in step 688, MPU 402 allocates edge resources to real-time applications, and allocates edge or cloud resources to non-real-time applications according to the status of edge resources, and ends the processing of step 646.

[0134] exist Fig.16 In FIG. 1 , how resources are allocated to each application in a switching vehicle according to the resource status of the server at the switching destination is shown in a table format. Fig.16 For example, the first row shows that when MPU 402 makes a resource allocation request to the edge or cloud, the edge can accept all requests. In this case, the cloud does not need to accept the request. The switching vehicle allocates edge resources to real-time applications. The switching vehicle also allocates edge resources to non-real-time applications.

[0135] The second row is a case where the edge can only accept a part of the allocation request. In this case, the switching type vehicle (the own vehicle) and the switching type surrounding vehicles adjust the priority of resource allocation for the real-time application. As a result of the adjustment, the switching type vehicle allocates the edge resources for the part of the real-time application to which the edge resources can be allocated. The switching type vehicle allocates the own vehicle resources for the remaining real-time applications.

[0136] On the other hand, in the case where the edge can only accept a part of the allocation request, regarding non-real-time applications, it is further divided into three cases according to the status of the cloud. The first is the case where the cloud can accept all the allocation requests. In this case, the switching vehicle allocates the cloud resources to all non-real-time applications. The second is the case where the cloud can only accept a part of the resource allocation request. In this case, the switching vehicle and the switching surrounding vehicles adjust the priority related to the allocation of resources. And, as a result of the adjustment, the switching vehicle allocates the cloud resources to the part of the non-real-time application that the cloud can accept. The switching vehicle allocates the resources of this vehicle to the remaining non-real-time applications. The third is the case where the cloud cannot accept the resource allocation request. In this case, the switching vehicle allocates the resources of this vehicle to all non-real-time applications.

[0137] The third row shows when the edge cannot accept the resource allocation request. In this case, regardless of whether the cloud can accept all the resource allocation requests, the resources of this vehicle are allocated to all real-time applications. Regarding non-real-time applications, the allocation of resources varies depending on whether the cloud can accept all the allocation requests, only a part of them, or no allocation requests. In the case where the cloud can only accept a part of the resource allocation request, the switching type vehicle adjusts the priority with the switching type surrounding vehicles. According to the result of the adjustment, the switching type vehicle allocates the cloud resources to the part of the non-real-time application that can be allocated the cloud resources. The switching type vehicle allocates the resources of this vehicle to the remaining non-real-time applications.

[0138] exist Fig.17 In Fig.10 Step 588 and Fig.11 The control structure of the program for adjusting the priority between the switching type surrounding vehicles executed in step 598 is shown in the form of a flowchart. Fig.17 The program includes: step 710, determining whether the edge accepts all resource allocation requests, and branching the control process according to the result; and step 714, when the determination in step 710 is affirmative, allocating edge resources to real-time applications, and also allocating edge resources to non-real-time applications, and ending the processing.

[0139] The program further includes step 712: when step 710 is negative, it is determined whether the edge can only accept a part of the resource allocation request, and the control flow is branched according to the result. If the determination of step 712 is positive, the control enters step 716. In step 716, MPU402 allocates resources in a manner using the edge. If the determination of step 712 is negative, the control enters step 718. In step 718, MPU402 allocates resources in a manner not using the edge.

[0140] exist Fig.18 In the figure, the implementation is shown in Fig.17 The control structure of the program for the process of allocating resources in a manner using edges performed in step 716. Fig.18 The program includes: step 750, determining whether the cloud can accept all resource allocation requirements, and branching the control process according to the result; step 754, when the determination in step 750 is affirmative, performing allocation related to real-time applications; and step 756, following step 754, allocating cloud resources to non-real-time applications, and ending step 716.

[0141] The program further includes step 752: when the determination in step 750 is negative, the control flow is branched according to whether the cloud can only accept part of the resource allocation request. When the determination in step 752 is positive, the control proceeds to step 758. When the determination in step 752 is negative, the control proceeds to step 762.

[0142] In step 758, MPU 402 performs priority processing related to real-time applications. In the next step 760, MPU 402 performs priority processing related to non-real-time applications, and step 716 ends. On the other hand, in step 762, MPU 402 performs priority processing related to real-time applications. In the next step 764, MPU 402 allocates resources of the vehicle to non-real-time applications, and step 716 ends.

[0143] exist Fig.19 In the figure, it is shown that MPU402 Fig.18 Details of the priority processing procedures associated with real-time applications performed in steps 754, 758 and 762 are provided in FIG. Fig.19 The program includes: step 800, exchanging information required for determining priority with switching vehicles existing in the driving area; and step 802, using the information received from other switching vehicles through step 800 and information related to the vehicle to determine the priority of each vehicle.

[0144] In order to determine the priority mentioned here, various criteria can be used. For example, a method can be considered to make emergency vehicles have the highest priority, the operator's vehicles have the second highest priority, and the private vehicles have the lowest priority. Alternatively, consider charging certain fees to the owners of each vehicle for the use of the server. In this case, the higher the amount of the fee, the higher the priority. In addition to these, it is also possible to compare the resources that can be used in each vehicle and give a higher priority to the vehicle with less spare resources. Moreover, a method can also be used to give a higher priority to the vehicle that has been traveling in the area managed by the server for a longer time in the future. In addition, it is also possible to consider a method of arbitrarily combining these methods to calculate certain scores and assigning a higher priority to the vehicle with a higher value of the score.

[0145] The program also includes: step 804, following step 802, repeatedly performing the operation of allocating edge resources to real-time applications as long as the edge resources are available, starting from the switching type vehicle with the highest priority, according to the priority determined in step 802, and allocating edge resources to the real-time applications of the vehicle in the process; and step 806, following step 804, allocating the resources of the vehicle to the real-time applications of the vehicle that are not allocated edge resources, and ending the processing.

[0146] exist Fig. 20 Shown in Fig.18 Details of the priority processing associated with non-real-time applications performed in step 760 of FIG. Fig. 20 , step 760 includes: step 830, MPU402 exchanges the information used to determine the priority with other switching type vehicles in the driving area and other switching type vehicles predicted to enter the driving area; and step 832, MPU402 determines the priority of each switching type vehicle based on the information exchanged in step 830.

[0147] Step 760 also includes: step 834, allocating cloud resources to non-real-time applications as long as cloud resources are available, starting from the switching type vehicle with the highest priority according to the priority calculated in step 832; and step 836, following step 834, allocating the resources of this vehicle to the non-real-time applications of this vehicle that are not allocated cloud resources, and ending step 760.

[0148] exist Fig.21 Shown in Fig.17 For details of step 718, refer to Fig.21Step 718 includes step 860: determining whether the cloud can accept all allocation requests, and branching the control flow according to the result. When the determination of step 860 is positive, MPU 402 allocates the resources of the vehicle to the real-time application in step 864. MPU 402 also includes step 866: in step 866, cloud resources are allocated to non-real-time applications, and step 718 ends.

[0149] When the determination in step 860 is negative, MPU 402 further branches the control flow in step 862 according to whether the cloud can only accept part of the allocation request. When the determination in step 862 is positive, control proceeds to step 868. MPU 402 allocates the resources of the vehicle to the real-time application in step 868. MPU 402 further includes step 870: In step 870, priority processing related to non-real-time applications is performed, and step 718 is terminated. Step 870 is the same as Fig. 20 Step 760 is shown to be the same.

[0150] If the determination in step 862 is negative, the MPU 402 allocates the resources of the host vehicle to the real-time application in step 872. The MPU 402 further allocates the resources of the host vehicle to the non-real-time application in the next step 874 and ends step 718.

[0151] 3 Actions

[0152] The vehicle-mounted edge 80 of the structure described above (refer to Figure 5 ) The operation is performed as follows. Figure 8 , the initial allocation unit 452 of the vehicle 320 starts the operation at the time point of the vehicle-mounted edge 80 ( Figure 8 At the processing start time point), the server (eg Figure 3 The cloud 304 shown) communicates ( Figure 8Step 510). The initial allocation unit 452 performs the allocation process of resources to the real-time applications and non-real-time applications of the vehicle 320 by using certain methods based on the information obtained from the server (Step 512). The application control unit 458 reads out the applications allocated with the resources of the server or the edge from the application storage unit 462 according to the allocation result, and sends them to the server or the edge through the communication processing unit 450 for commissioning execution. In this case, the application allocated with the resources of the server is a non-real-time application. The application allocated with the resources of the edge may be a real-time application or a non-real-time application. In the case where there is no edge, the resources of this vehicle are allocated to the real-time applications. The application control unit 458 reads out the applications allocated with the resources of this vehicle from the application storage unit 462 and causes the application execution unit 460 to execute them. Until this time point, the in-vehicle edge 80 repeatedly performs the process of downloading the information related to the surrounding vehicles and the information related to the driving assistance from the servers governing each driving area (Step 514) and reallocating the resources to each application based on the communication of this information (Step 516).

[0153] Here, for example, as Figure 3 shown, it is assumed that the vehicle 320 is traveling within the driving area 300, and it is predicted in the travel plan that it will move to the adjacent area 302 after a certain time t1. The driving area 300 is governed by the cloud 304. The adjacent area 302 is governed by the cooperation of the cloud 306 and the edge 308.

[0154] In Figure 3 the situation shown, for example, it is assumed that the vehicle 324 within the driving area 300 is a single type and the vehicle 322 is a switching type. It is predicted that the vehicle 324 will exit the driving area 300 in the near future. The vehicle 322 is traveling behind the vehicle 320. Therefore, it is predicted that the vehicle 322 will not exit the driving area 300 for some time. In addition, it is assumed that there are switching type vehicles 326 and 328 within the adjacent area 302. Among them, the vehicle 326 is traveling in a direction away from the driving area 300. It is predicted by the edge 308 and the cloud 306 that the vehicle 328 will enter the driving area 300 from the adjacent area 302 after a time t2 has elapsed from the current time point. Here, it is set that t2 < t1. In addition, it is predicted by the edge 308 that the vehicle 326 will also remain within the adjacent area 302 after the time t1.

[0155] Referring to Figure 5, the change detection unit 454 of the vehicle 320 predicts that if the driving plan is followed, the switching type vehicle 328 will enter the driving area 300 after time t2. In this case, the number of switching type vehicles in the driving area 300 increases from 2 to 3. In response to the detection of the change, the change detection unit 454 notifies the reallocation unit 456 of the increase in the switching type vehicles. In response to the notification, the reallocation unit 456 performs a reallocation process of resources to the real-time application and the non-real-time application of the vehicle 320. According to the result of the reallocation, the application control unit 458 entrusts the cloud 304 to execute the application to which the resources of the cloud 304 are allocated among the non-real-time applications, and causes the resources to execute the application to which the resources of the vehicle 320 are allocated.

[0156] It should be noted that in Figure 3 The same process is also performed in the vehicles 322 and 328 and the vehicle 326 shown. If the vehicle 328 enters the driving area 300 from the adjacent area 302, the number of switching type vehicles in the driving area of ​​the vehicle 328 increases from 2 to 3. Therefore, in the vehicles 322 and 328, the same process as the vehicle 320 is performed as described above. In addition, for the vehicle 326, the number of switching type vehicles in the driving area decreases from 2 to 1. Therefore, the resource redistribution is also performed in the vehicle 326. In this case, although it depends on which application the resources of the cloud 306 and the edge 308 are allocated to by the vehicle 328, generally speaking, the vehicle 326 will allocate the resources of the cloud 306 and the edge 308 to more applications.

[0157] Furthermore, it is assumed that after vehicle 328 enters driving area 300, vehicle 320 moves to adjacent area 302. In this case, the driving area for vehicle 320 changes from driving area 300 to adjacent area 302. The number of switching type vehicles in the driving area of ​​vehicle 320 changes from 3 to 2. Therefore, vehicle 320 performs resource reallocation processing. Similarly, in vehicle 326, it is detected that the number of switching type vehicles in adjacent area 302 has increased from 1 to 2 and resource reallocation processing is performed. In this process, priority is calculated between vehicle 326 and vehicle 320, and according to the result, the redistribution of resources of cloud 306 and edge 308 is performed in both vehicle 326 and vehicle 320.

[0158] On the other hand, since the vehicle 320 moves to the adjacent area 302 , the number of switching type vehicles in the travel area 300 decreases from 3 to 2. As a result, the resource reallocation process is also executed in the vehicles 322 and 328 .

[0159] It should be noted that if the vehicle moving between areas is a single type, the resources available in the server will not change. Therefore, in this case, the resource reallocation process is not performed in the switching type vehicle. On the other hand, when the vehicle moving between areas is a cooperative vehicle, the situation is different. If the vehicle entering a certain area is a cooperative vehicle, a fixed amount of server resources are allocated to the cooperative vehicle. On the contrary, if the vehicle exiting the area is a cooperative vehicle, a fixed amount of server resources become available. Therefore, in these cases, when there is a cooperative vehicle in the area, the resource reallocation process will be performed regardless of the situation.

[0160] As described above, according to this embodiment, in the switching type vehicle, the server resources and the own vehicle resources are reallocated to the application program according to the change in the number of the cooperative type vehicle and the switching type vehicle existing in the driving area. As a result, there is the following effect: by flexibly allocating the server resources between the various applications of the vehicle, the server resources can be effectively utilized to reduce the processing burden of each vehicle, and various functions can be flexibly provided.

[0161] Second Modification

[0162] In the above-mentioned embodiment, the switching type vehicle obtains information such as the vehicle movement status of surrounding vehicles through the server. However, the present disclosure is not limited to such a method. The switching type vehicle can also directly obtain information such as the vehicle movement status of surrounding vehicles through the so-called vehicle-to-vehicle communication with other vehicles. However, in this case, for single-type vehicles and vehicles that are not originally equipped with on-board edges, at least their vehicle movement status needs to be obtained through the server or calculated based on the sensor data of the vehicle. Alternatively, the switching type vehicle can also obtain information such as the vehicle movement status of other vehicles through communication with so-called infrastructure such as roadside devices.

[0163] Each process (function) of the above-mentioned embodiment is implemented by a processing circuit (Circuitry) including one or more processors. The above-mentioned processing circuit can also be composed of an integrated circuit that combines one or more memories, various analog circuits, and various digital circuits in addition to the above-mentioned one or more processors. The above-mentioned one or more memories store programs (commands) that enable the above-mentioned one or more processors to perform the above-mentioned processes. The above-mentioned one or more processors can perform the above-mentioned processes according to the above-mentioned programs read from the above-mentioned one or more memories, or they can perform the above-mentioned processes in a logic circuit that is pre-designed to perform the above-mentioned processes. The above-mentioned processor can be a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), an ASIC (Application Specific Integrated Circuit), and other various processors suitable for computer control. It should be noted that it is also possible that the above-mentioned multiple processors separated physically cooperate with each other to perform the above-mentioned processes. For example, the processors mounted on physically separated computers may cooperate with each other to execute the above-mentioned processes via a network such as a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet. The above-mentioned program may be installed into the above-mentioned memory from an external server device or the like via the above-mentioned network, or may be circulated in a state of being stored in a recording medium such as a CD-ROM (Compact Disc Read-Only Memory), a DVD-ROM (Digital Versatile Disk Read-Only Memory), or a semiconductor memory and installed into the above-mentioned memory from the above-mentioned recording medium.

[0164] The embodiments disclosed herein are illustrative in all aspects and should not be construed as limiting. The scope of the present disclosure is not indicated by the detailed description of the disclosure, but by each claim of the claims, and is intended to include all changes within the meaning and scope equivalent to the words and phrases of the claims.

[0165] Description of Reference Numerals

[0166] 60, 70, 80 Car Edge

[0167] 72, 82 Server

[0168] 100 Sensors

[0169] 102 ECU

[0170] 104 Autonomous Driving ECU

[0171] 106 Wireless Communications Department

[0172] 108 Vehicle-mounted GW

[0173] 300 Driving Area

[0174] 302 Adjacent areas

[0175] 304, 306 Cloud

[0176] 308 Edge

[0177] 320, 322, 324, 326, 328 vehicles

[0178] 400 High Speed ​​Bus

[0179] 402 MPU

[0180] 404 SRAM

[0181] 406 Flash Memory

[0182] 408 ROM

[0183] 410 Low-speed bus

[0184] 412 Bridge

[0185] 414 Serial I / F

[0186] 416 ADC

[0187] 418 Timer and Counter

[0188] 420 Clock Generator

[0189] 422 Power supply control unit

[0190] 424 General I / F

[0191] 426, 500 Programs

[0192] 450 Communication Processing Department

[0193] 452 Initial Allocation Department

[0194] 454 Change Detection Department

[0195] 456 Redistribution Department

[0196] 458 Application Control Unit

[0197] 460 Application Execution Unit

[0198] 462 Application Storage Dept.

Claims

1. A resource allocation method is a resource allocation method in a vehicle-mounted device that provides a driving assistance function by communicating with a server, wherein: The vehicle-mounted device is a switchable vehicle-mounted device that switches resources of a service providing device and resources of a vehicle on which the vehicle-mounted device is mounted, i.e., the vehicle itself, and allocates resources to various functions of the vehicle-mounted device. The service providing device governs a driving area of ​​the vehicle on which the vehicle-mounted device is mounted. The resource allocation method comprises: a step of causing a computer to execute a distribution process of distributing resources of a server and resources of the vehicle to each function of the vehicle-mounted device, the server being a service providing device that governs a driving area of ​​the vehicle; and The computer further executes the step of the allocation process in response to detecting or predicting a change in the number of vehicles cooperating with the server that are present in the driving area.

2. The method according to claim 1, The re-execution steps include: A step of determining by a computer whether each vehicle existing in a peripheral area including the driving area and an adjacent area adjacent to the driving area is a stand-alone vehicle that does not cooperate with the service providing device, a cooperative vehicle that cooperates with the service providing device using a fixed allocation of resources, or a switching vehicle equipped with the switching vehicle-mounted device; In a first determination step, the computer determines whether there is a vehicle other than the single-type vehicle in the surrounding area; and In response to determining in the first determination step that a vehicle other than the single-type vehicle exists in the surrounding area, the computer executes a step of reallocating the resources of the vehicle and the server to the various functions of the vehicle-mounted device based on the resources available in the server.

3. The method according to claim 2, The steps of performing the reallocation process include: In a second determination step, the computer determines whether there is a switching type vehicle other than the host vehicle in the surrounding area; a first reallocation execution step in which the computer, in response to an affirmative determination in the second determination step, executes a process of reallocating the resources of the server and the resources of the own vehicle to each function of the vehicle-mounted device based on an adjustment result related to the resources of the server between the switching type vehicles existing in the surrounding area and a status of the resources available in the server; and In the second reallocation execution step, the computer responds to a negative determination in the second determination step by executing a process of reallocating the resources of the server and the resources of the vehicle to the various functions of the vehicle-mounted device based on the status of the resources available in the server.

4. The method according to claim 3, The first reallocation execution step comprises: a first detection step in which the computer detects or predicts an increase in the number of the cooperative vehicles or the switching vehicles present in the driving area in response to an affirmative determination in the second determination step; a third determination step, in which the computer determines whether the resources of the server are insufficient in response to the increase of the cooperative vehicle or the switching vehicle detected or predicted in the first detection step in the driving area; and The computer responds to the affirmative result of the determination in the third determination step by performing adjustments related to the resources of the server between the switching type vehicles existing in the surrounding area, and based on the result of the adjustment, switches at least a part of the resources of the server allocated to the functions of the vehicle-mounted device to the resources of the vehicle.

5. The method according to claim 4, The first redistribution execution step further comprises: a second detection step, in which the computer detects or predicts a decrease in the number of the cooperative vehicles or the switching vehicles present in the driving area in response to an affirmative determination in the second determination step; a fourth determination step, in which the computer determines whether a surplus is generated in resources of the server in response to a decrease in the number of the cooperative vehicles or the switching vehicles detected or predicted in the second detection step and existing in the driving area; and The computer responds to the affirmative result of the determination in the fourth determination step by performing adjustments related to the resources of the server between the switching type vehicles existing in the surrounding area, and based on the result of the adjustment, switches at least a part of the resources of the vehicle allocated to the functions of the vehicle-mounted device to the resources of the server.

6. The method according to claim 3, The first reallocation execution step comprises: a second detection step, in which the computer detects or predicts a decrease in the number of the cooperative vehicles or the switching vehicles present in the driving area in response to an affirmative determination in the second determination step; a third determination step, in which the computer determines whether a margin is generated in resources of the server in response to a decrease in the number of the cooperative vehicles or the switching vehicles detected or predicted to be present in the driving area in the second detection step; and A step of switching at least a part of the resources of the host vehicle allocated to the function of the in-vehicle device to the resources of the server in response to the affirmative result of the determination in the third determination step.

7. The method according to any one of claims 3 to 6, The second reallocation execution step comprises: an area increase detection step, in which the computer detects or predicts an increase in the cooperative vehicle present in the driving area in response to a negative determination in the second determination step; A first server resource determination step, in which a computer determines whether resources of the server are insufficient in response to an increase of the cooperative vehicles detected or predicted in the area increase detection step in the area increase detection step; and A step of switching at least a part of the resources of the server allocated to the function of the in-vehicle device to the resources of the own vehicle in response to an affirmative determination result in the first server resource determination step.

8. The method according to claim 7, The second redistribution execution step further comprises: an area reduction detection step, in which a computer detects or predicts a reduction in the cooperative vehicles present in the driving area in response to a negative determination in the first server resource determination step; a second server resource determination step, in which the computer determines whether a surplus is generated in resources of the server in response to the detection or prediction of a reduction in the number of cooperative vehicles present in the driving area in the area reduction detection step; and A step of switching at least a part of the resources of the vehicle assigned to the function of the in-vehicle device to the resources of the server in response to an affirmative determination result in the second server resource determination step.

9. The method according to any one of claims 3 to 6, The second reallocation execution step comprises: an area reduction detection step, in which the computer detects or predicts a reduction in the number of cooperative vehicles present in the driving area in response to a negative determination in the second determination step; a first server resource determination step, in which a computer determines whether a surplus is generated in resources of the server in response to a decrease in the number of the cooperative vehicles present in the driving area detected or predicted in the area decrease detection step; and A step of switching at least a part of the resources of the vehicle assigned to the function of the in-vehicle device to the resources of the server in response to an affirmative determination result in the first server resource determination step.

10. The method according to claim 5 or 6, The server in the driving area includes at least a first server, The functions of the vehicle-mounted device include a first function and a second function requiring a faster response than the first function, The step of switching to the resource of the server includes: A server structure determination step, determining whether the server in the driving area further includes a second server that responds faster than the first server; and In response to the determination in the server configuration determination step that the server does not include the second server, a step of allocating resources of the host vehicle to the second function and a step of allocating resources of the first server to the first function.

11. The method according to claim 10, The step of switching to the resources of the server further includes the step of allocating the resources of the first server to the first function and allocating the resources of the second server to the second function in response to the determination in the server configuration determination step that the servers include the second server.

12. The method according to claim 5 or 6, The server in the driving area includes at least a first server, The functions of the vehicle-mounted device include a first function and a second function requiring a faster response than the first function, The step of switching to the resource of the server includes: A server structure determination step of determining whether the server in the driving area further includes a second server that responds slower than the first server; and In response to the determination in the server configuration determination step that the servers do not include the second server, a step of allocating resources of the first server to the first function and the second function.

13. The method according to claim 12, The step of switching to the resources of the server further includes the step of allocating the resources of the second server to the first function and allocating the resources of the first server to the second function in response to the determination in the server configuration determination step that the servers include the second server.

14. The method according to claim 5 or 6, The server in the driving area includes a first server and a second server that responds faster than the first server. The functions of the vehicle-mounted device include a first function and a second function requiring a faster response than the first function, The step of switching to the resource of the server includes: A step of allocating as many resources of the second server as possible to the second function within a range allowed by the second server; a step of allocating as many resources of the first server and the second server as possible to the first function within the scope allowed by the first server and the second server; and A step of allocating the resources of the host vehicle to a function of the second function to which the resources of the second server are not allocated and a function of the first function to which neither the resources of the first server nor the resources of the second server are allocated.

15. The method according to claim 14, The step of allocating as many resources of the second server as possible to the second function within a range allowed by the second server comprises: an allocation determination step of determining whether to allocate resources of the second server to all of the second function; a step of allocating resources of the second server to all of the second function in response to the determination in the allocation determination step that the resources of the second server are allocated to all of the second function; In response to the determination in the allocation determination step that the resources of the second server are not allocated to at least a part of the second function, the allocation of the resources of the second server between other switching type vehicles in the driving area is adjusted, and the resources of the second server are allocated as much as possible to the part of the second function according to the result of the adjustment; and As a result of the adjustment, a step of allocating the resources of the host vehicle to the function of the second function to which the resources of the second server are not allocated.

16. The method according to claim 14, The step of allocating as much resources of the first server and the second server as possible to the first function within the scope allowed by the first server and the second server comprises: adding a determination step of determining whether resources of the first server are allocated to all of the first functions; a step of allocating resources of the first server to all of the first function in response to the determination in the addition determination step that the resources of the first server are allocated to all of the first function; In response to the determination in the additional determination step that the resources of the first server are not allocated to at least a part of the first function, the allocation of the resources of the first server between the other cooperative vehicles and the switching vehicles in the driving area is adjusted, and the resources of the first server are allocated as much as possible to the part of the first function according to the result of the adjustment; and As a result of the adjustment, a step of allocating resources of the host vehicle to functions among the first functions to which resources of the first server are not allocated.

17. A resource allocation device is a resource allocation device in a vehicle-mounted device that provides a driving assistance function by communicating with a server, wherein: The vehicle-mounted device is a switchable vehicle-mounted device that switches resources of a server and resources of a vehicle on which the vehicle-mounted device is mounted, i.e., the vehicle itself, to allocate resources to various functions of the vehicle-mounted device. The server governs a driving area of ​​the vehicle on which the vehicle-mounted device is mounted. The resource allocation device comprises: an allocation execution unit that executes allocation processing for allocating resources of a server that governs a travel area of ​​the host vehicle and resources of the host vehicle to each function of the vehicle-mounted device; and The allocation re-execution unit re-executes the allocation process in response to detecting or predicting a change in the number of vehicles cooperating with the server that are present in the travel area.

18. A computer program for causing a computer to function in a manner that allocates resources in a vehicle-mounted device that provides a driving assistance function by communicating with a server, wherein: The vehicle-mounted device is a switchable vehicle-mounted device that switches resources of a server and resources of a vehicle on which the vehicle-mounted device is mounted, i.e., the vehicle itself, to allocate resources to various functions of the vehicle-mounted device. The server governs a driving area of ​​the vehicle on which the vehicle-mounted device is mounted. The computer program causes the computer to function as an allocation execution unit and an allocation re-execution unit. The allocation execution unit executes allocation processing for allocating resources of a server that governs a travel area of ​​the own vehicle and resources of the own vehicle to each function of the in-vehicle device. The allocation re-execution unit re-executes the allocation process in response to detecting or predicting a change in the number of vehicles cooperating with the server that are present in the travel area.

Citation Information

Patent Citations

  • Resource allocation system, server, and computing device

    JP2021093090A

  • gaming machines

    JP2022093583A