Vehicle computing device, vehicle participation estimation method and estimation system
The vehicle computing device stabilizes job calculation processing in grid computing by estimating participation time based on user location and movement, addressing unpredictable vehicle usage through accurate task transfer and resource management.
Patent Information
- Application Number
- JP2021129027
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-08-05
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2041-08-05
AI Technical Summary
Existing vehicle computing devices face instability in job calculation processing during grid computing due to unpredictable vehicle usage, as users may suddenly utilize vehicles, disrupting ongoing calculations.
A vehicle computing device with a communication unit and control unit estimates participation time in grid computing by considering the user's current location and movement, allowing accurate prediction of available time for job completion, and transferring tasks to other vehicles if necessary.
This approach stabilizes job calculation processing by accurately estimating available participation time, minimizing resource allocation errors and ensuring stable computational processing.
Smart Images

Figure 0007786070000001 
Figure 0007786070000002 
Figure 0007786070000003
Abstract
Description
[Technical Field]
[0001] The technology disclosed herein belongs to the technical field relating to a vehicle computing device, and a vehicle participation estimation method and estimation system. [Background technology]
[0002] Recently, vehicles are equipped with a computing device having a relatively high computing power for electronic control. (ignition off or power off) In order to address this situation, it has been studied to utilize the computing devices installed in multiple vehicles in a grid computing manner.
[0003] For example, Patent Document 1 discloses a grid computing management server that uses a communication device mounted on a vehicle. This management server includes a signal receiving unit that receives a signal indicating that the vehicle is able to participate in grid computing from the communication device, a status determining unit that determines whether the processing capacity of the processing device is insufficient, and a response transmitting unit that transmits an instruction to the communication device to participate in grid computing when the processing capacity of the processing device is insufficient.
[0004] Furthermore, Patent Document 2 discloses a method for a system that supports vehicle rental, in which a vehicle provider estimates a period of vehicle non-use when the vehicle provider will not be using the vehicle based on the vehicle provider's schedule information, and sets a period during which the vehicle can be rented out based on the period of vehicle non-use. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Publication No. 2020-160661 [Patent Document 2] Japanese Patent Application Publication No. 2019-160209 Summary of the Invention [Problem to be solved by the invention]
[0006] Incidentally, when grid computing is performed using a computing device mounted on a vehicle, it is desirable to have the vehicle participate in grid computing during periods when the vehicle is not in use, particularly while the vehicle is stopped, from the viewpoint of improving the stability of communication between the vehicle and a server and between vehicles. In Patent Document 1, periods when the vehicle is not in use are identified based on the vehicle's usage history, and schedule information is generated that sets the identified periods as periods during which the vehicle's computing device can participate in grid computing. Furthermore, by using the method of Patent Document 2, schedule information of the vehicle user can be acquired, and periods during which the vehicle's computing device can participate in grid computing can be identified based on the schedule.
[0007] However, even if a period during which the vehicle will not be used is estimated based on the vehicle usage history and the user's schedule information, the user may suddenly use the vehicle, such as to go shopping, etc. If the vehicle is currently executing a job calculation process, the calculation process will be stopped.
[0008] The technology disclosed herein has been made in consideration of the above points, and its purpose is to stabilize job calculation processing in grid computing using a vehicle's calculation device. [Means for solving the problem]
[0009] In order to solve the above problems, the technology disclosed herein provides: Multiple vehicles with ignition or power off In The aforementionedThe system is provided with a communication unit and a control unit, and is targeted at a computing device of a vehicle that can participate in grid computing that performs job computation processing using each vehicle as a computation node. The communication unit communicates with a mobile device owned by a user of the vehicle, and the control unit executes a participation time estimation process that estimates a participation available time, which is the remaining time during which the vehicle can participate in the grid computing, based on the current location of the mobile device and the current stopping position of the vehicle. In the participation time estimation process, the distance between the user and the vehicle is estimated from the current position of the portable device and the current stopping position of the vehicle, the moving speed of the user is estimated from the change over time of the estimated distance, the possible participation time is estimated based on the estimated distance and the estimated moving speed, and when the estimated distance is equal to or greater than a predetermined distance, the possible participation time is not estimated. The structure is as follows.
[0010] That is, since the portable device is owned by the user, the current location of the portable device is equal to the current location of the user. Knowing the user's current location and the vehicle's current parked location makes it possible to estimate the time it will take for the user to reach the vehicle's parked location, i.e., the time available for the user to participate in grid computing. Estimating the available time for participation in grid computing makes it possible to estimate the time available for executing the job's computational processing. This allows the computing device to estimate whether it is possible to complete the computational processing of the currently executing job within the available participation time. If the computing device cannot complete the job's computational processing within the available participation time, it can perform processing such as handing over the computational processing to another vehicle participating in the same grid computing. This results in stable job computational processing.
[0012] This configuration allows the time it takes for the user to reach the vehicle to be estimated more accurately from the estimated distance and estimated travel speed, thereby enabling the participation time to be estimated more accurately and making job calculation processing more stable.
[0014] In other words, when a user is traveling outside the prefecture or overseas without a vehicle, the possibility that the user will suddenly need to use a vehicle is significantly reduced. In such cases, job calculation processing can be performed stably without estimating the available participation time. This eliminates the need for the calculation device to allocate resources to estimating the available participation time. As a result, job calculation processing can be made more stable.
[0015] In another aspect of the technology disclosed herein, a computing device of a vehicle that can participate in grid computing that performs job computation processing with each of a plurality of vehicles as a computation node when the ignition is off or the power is off is provided with a communication unit and a control unit, the communication unit communicates with a mobile device owned by a user of the vehicle, and the control unit executes a participation time estimation process that estimates a participation available time, which is the remaining time during which the vehicle can participate in the grid computing, based on a current location of the mobile device and a current stopping position of the vehicle, Schedule information of the user is acquired via the communication unit, and a planned stopping time during which the user will not be driving the vehicle is estimated based on the schedule information. When the current time is within the estimated planned stopping time, the participation time estimation process is executed, but when the current time is not within the estimated planned stopping time, the participation time estimation process is not executed. 、 This is the configuration It was decided.
[0016] With this configuration, the available participation time is estimated only when there is a possibility that the user will unexpectedly drive the vehicle. This allows the computing device to minimize the period during which resources are allocated to estimating the available participation time. As a result, the computing process for the job can be more stable.
[0017] Another aspect of the technology disclosed herein is a method for controlling a vehicle , when the ignition is off or the power is off, Grid computing with each of the above as a computing node to In the grid computing Computer-based estimation of participation The present invention relates to a participation estimation method, which includes a vehicle position estimation step of estimating a current position of a specific vehicle among the plurality of vehicles, a user position estimation step of estimating a current position of a user of the specific vehicle, and a participation time estimation step of estimating a remaining time during which the specific vehicle can participate in the grid computing based on the estimated current positions of the user and the specific vehicle. the participation time estimation step is a step of estimating a distance between the user and the vehicle from a current position of a portable device carried by the user and a current stopping position of the vehicle, estimating a moving speed of the user from a change over time of the estimated distance, and estimating the possible participation time based on the estimated distance and the estimated moving speed, and the computer does not estimate the possible participation time when the estimated distance is equal to or greater than a predetermined distance. The structure is as follows.
[0018] Even with this configuration, the available time for a specific vehicle to participate in grid computing can be estimated, and the available time for the specific vehicle to execute job computation processing can be estimated. This allows the specific vehicle to estimate whether it can complete the computation processing of the job currently being executed within the available time for participation, and can take measures to ensure stable completion of the job computation processing. As a result, job computation processing can be stabilized.
[0019] Yet another aspect of the technology disclosed herein is a method for controlling a vehicle , when the ignition is off or the power is off, Grid computing with each of the above as a computing node to The present invention relates to a system for estimating vehicle participation in grid computing in the above-mentioned grid computing system, which includes a communication unit and an estimation unit that estimates a remaining time during which a specific vehicle among the plurality of vehicles can participate in the grid computing, the communication unit communicating with the specific vehicle and a mobile device owned by a user of the specific vehicle, and the estimation unit estimating a remaining time during which the specific vehicle can participate in the grid computing based on a current location of the mobile device and a current location of the specific vehicle. The participation time estimation process is executed, and in the participation time estimation process, a distance between the user and the vehicle is estimated from a current position of the portable device and a current stopping position of the vehicle, a moving speed of the user is estimated from a change over time in the estimated distance, the possible participation time is estimated based on the estimated distance and the estimated moving speed, and when the estimated distance is equal to or greater than a predetermined distance, the possible participation time is not estimated. The structure is as follows.
[0020] Even with this configuration, the available time for a specific vehicle to participate in grid computing can be estimated, and the available time for the specific vehicle to execute job computation processing can be estimated. This allows the specific vehicle to estimate whether it can complete the computation processing of the job currently being executed within the available time for participation, and can take measures to ensure stable completion of the job computation processing. As a result, job computation processing can be stabilized. [Effects of the Invention]
[0021] As described above, the technology disclosed herein makes it possible to estimate the time when a vehicle can participate in grid computing based on the current location of the user and the current location of the vehicle, and to take action according to the time when the vehicle can participate, thereby stabilizing the calculation processing of jobs. [Brief explanation of the drawings]
[0022] [Figure 1] FIG. 1 is a schematic diagram illustrating the configuration of a system including a vehicle having a computing device according to an exemplary embodiment. [Figure 2] FIG. 2 is a conceptual diagram for explaining grid computing. [Figure 3]FIG. 3 is a block diagram illustrating the configuration of a vehicle. [Figure 4] FIG. 4 is a block diagram illustrating the configuration of a user terminal. [Figure 5] FIG. 5 is a block diagram showing the configuration of a client server. [Figure 6] FIG. 6 is a block diagram illustrating the configuration of the facility server. [Figure 7] FIG. 7 is a block diagram showing the configuration of the management server. [Figure 8] FIG. 8 is a flowchart illustrating a grid computing process performed by the system. [Figure 9] FIG. 9 is a block diagram showing functional blocks for the control unit of the vehicle to perform the participation time estimation process. [Figure 10] FIG. 10 is a flowchart illustrating the participation time estimation process performed by the control unit. DETAILED DESCRIPTION OF THE INVENTION
[0023] Exemplary embodiments will now be described in detail with reference to the drawings.
[0024] (System configuration) 1 illustrates the configuration of a system 1 including a vehicle 10 having a computing device according to an embodiment. The system 1 includes a plurality of vehicles 10, a plurality of user terminals 20, a client server 30, a facility server 40, and a management server 50. These components can communicate with each other via a communication network 5. Each of the plurality of vehicles 10 is equipped with a computing unit 105.
[0025] (Grid Computing) 2, in the system 1 of the embodiment, grid computing is configured by the computing units 105 mounted on each vehicle 10. In grid computing, grid computing processing is performed in which job data is processed by an available computing unit 105 among the multiple computing units 105. In other words, the computing unit 105 corresponds to a computing resource of grid computing that performs job computation processing using each of the multiple vehicles 10 as a computation node.
[0026] When the computing power of the computing unit 105 is needed in the vehicle 10, the computing unit 105 enters an operating state and uses the computing power of the computing unit 105. For example, when the vehicle 10 is traveling, the computing power of the computing unit 105 is needed for traveling control of the vehicle 10, and the computing unit 105 enters an operating state.
[0027] On the other hand, when the computing power of the computing unit 105 becomes unnecessary in the vehicle 10, the computing unit 105 enters a stopped state, and the computing power of the computing unit 105 is not used. For example, when the vehicle 10 is stopped and the ignition is turned off or the power is turned off, the computing power of the computing unit 105 becomes unnecessary, and the computing unit 105 enters a stopped state.
[0028] Here, when the computing power of the computing unit 105 is not needed in the vehicle 10, the computing power of the computing unit 105 can be provided for grid computing processing, thereby making it possible to effectively utilize the computing power of the computing unit 105. Basically, the computing unit 105 is used as a computing resource for grid computing when the vehicle 10 is stopped, that is, when the computing power of the computing unit 105 is not being used for driving control.
[0029] (Vehicle configuration) The vehicle 10 is a vehicle owned by a user. The user drives the vehicle 10. In this example, the vehicle 10 is a four-wheeled automobile. The vehicle 10 is also equipped with a battery (not shown). The power of the battery is supplied to on-board devices such as the computing unit 105. Examples of such a vehicle 10 include an electric vehicle and a plug-in hybrid vehicle.
[0030] 3, the vehicle 10 includes an actuator 11, a sensor 12, an input unit 101, an output unit 102, a communication unit 103, a storage unit 104, and a computing unit 105. At least the communication unit 103 and the computing unit 105 are included in a computing device of the vehicle 10.
[0031] The actuators 11 include drive system actuators, steering system actuators, braking system actuators, etc. Examples of drive system actuators include an engine, a transmission, and a motor. Examples of braking system actuators include a brake. Examples of steering system actuators include a steering wheel.
[0032] The sensor 12 acquires various types of information used for controlling the vehicle 10. Examples of the sensor 12 include an exterior camera 121 (see FIG. 8) that captures images outside the vehicle, an interior camera that captures images inside the vehicle, a radar that detects objects outside the vehicle, a vehicle speed sensor, an acceleration sensor, a yaw rate sensor, an accelerator opening sensor, a steering sensor, a key detection sensor 122 (see FIG. 9), and a position sensor 124 (see FIG. 9).
[0033] The input unit 101 inputs information and data. Examples of the input unit 101 include a navigation system that inputs information according to an operation when operated, a camera that inputs an image showing information, and a microphone that inputs audio showing information. The information and data input to the input unit 101 are sent to the computing unit 105.
[0034] The output unit 102 outputs information and data. Examples of the output unit 102 include a display unit that outputs an image representing information, and a speaker that outputs sound representing information.
[0035] The communication unit 103 transmits and receives information and data. The information and data received by the communication unit 103 are sent to the computing unit 105. The communication unit 103 is configured by, for example, a wireless communication device.
[0036] The storage unit 104 stores information and data.
[0037] The computing unit 105 has a control unit 106 that controls each part of the vehicle 10. In this example, the control unit 106 controls the actuator 11 in accordance with various information obtained by the sensor 12.
[0038] The control unit 106 includes a processor, a memory, etc. Examples of the processor include a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). The memory stores programs for operating the processor, information and data indicating the processing results of the processor, etc. The processing of the control unit 106, which will be described later, is executed by the processor using the programs and data stored in the memory.
[0039] The number of processors constituting the control unit 106 may be one or more. The processor constituting the control unit 106 may be either a CPU or a GPU, or both a CPU and a GPU. In this example, the control unit 106 has both a CPU and a GPU. For example, the control unit 106 is composed of one or more ECUs (Electronic Control Units).
[0040] In this example, the storage unit 104 stores vehicle information D11, vehicle state information D12, driving history information D13, computing unit information D14, and driving schedule information D15.
[0041] <Vehicle Information> The vehicle information D11 is information related to the vehicle 10. For example, the vehicle information D11 includes a vehicle ID set for the vehicle 10, a user ID set for the user who owns the vehicle 10, vehicle performance information indicating the performance of the vehicle, etc. The vehicle ID is an example of vehicle identification information that identifies the vehicle 10. The user ID is an example of user identification information that identifies the user.
[0042] <Vehicle status information> Vehicle status information D12 indicates the status of vehicle 10. For example, vehicle status information D12 includes vehicle location information, vehicle communication information, vehicle power source information, vehicle battery remaining capacity information, vehicle charging information, etc. Vehicle location information indicates the location (latitude and longitude) of vehicle 10. Vehicle location information can be acquired, for example, by GPS (Global Positioning System). Vehicle communication information indicates the communication status of vehicle 10. Vehicle power source information indicates the power source status of vehicle 10. For example, vehicle power source information indicates whether the ignition power is on or off, whether the accessory power is on or off, etc. Vehicle battery remaining capacity information indicates the remaining capacity of a battery (not shown) installed in vehicle 10. Vehicle charging information indicates whether vehicle 10 is being charged at a charging facility (not shown).
[0043] <Driving history information> The driving history information D13 is information that indicates the driving history of the vehicle 10. For example, the driving history information D13 indicates the position of the vehicle 10 in association with the date and time.
[0044] <Computer unit information> The computing unit information D14 is information related to the computing unit 105. For example, the computing unit information D14 includes a computing unit ID set in the computing unit 105, a vehicle ID set in the vehicle 10 on which the computing unit 105 is mounted, computing unit performance information indicating the performance of the computing unit 105, etc. The computing unit ID is an example of computing unit identification information for identifying the computing unit 105. The performance of the computing unit 105 indicated in the computing unit performance information includes a computing capacity indicating the computing capacity (specifically, the maximum computing capacity) of the computing unit 105, a ratio of CPU to GPU in the computing unit 105, etc. The computing capacity of the computing unit 105 is the amount of data that the computing unit 105 can calculate per unit time.
[0045] <Schedule Information> The driving schedule information D15 is information indicating a usage schedule of the computing unit 105. For example, the schedule information indicates the date and time when the computing unit 105 is used for driving control. The schedule information may also indicate the date and time when the computing unit 105 is not used for driving control. The schedule information may be input from the input unit 101 or may be input from the user terminal 20. In addition, the schedule information may indicate a driving schedule estimated based on the driving history information D13.
[0046] (User terminal configuration) The user terminal 20 is a terminal device owned by a user. The user operates the user terminal 20 to use various functions. The user can also carry the user terminal 20. Examples of such user terminals 20 include smartphones, tablets, and laptop-type personal computers.
[0047] As shown in FIG. 4, the user terminal 20 includes an input unit 201, an output unit 202, a communication unit 203, a storage unit 204, and a control unit 205.
[0048] The input unit 201 inputs information and data. Examples of the input unit 201 include an operation unit that is operated to input information according to the operation, a camera that inputs an image showing information, and a microphone that inputs audio showing information. For example, a user can operate the operation unit to access the navigation system of the vehicle 10 and thereby register a reservation for a destination. The information input to the input unit 101 is sent to the calculator 105.
[0049] The output unit 202 outputs information and data. Examples of the output unit 202 include a display unit that outputs an image representing information, and a speaker that outputs sound representing information.
[0050] The communication unit 203 transmits and receives information and data. The information and data received by the communication unit 303 are sent to the control unit 205.
[0051] The storage unit 204 stores information and data.
[0052] The control unit 205 controls each unit of the user terminal 20. The control unit 205 has a processor, a memory, etc. The memory stores a program for operating the processor, information and data indicating the processing results of the processor, etc.
[0053] In this example, the storage unit 204 stores terminal information D21, terminal state information D22, and schedule information D23.
[0054] <Device Information> The terminal information D21 is information related to the user terminal 20. For example, the terminal information D21 includes a user terminal ID set in the user terminal 20, user terminal performance information indicating the performance of the user terminal 20, etc. The user terminal ID is an example of user terminal identification information that identifies the user terminal 20.
[0055] <Device status information> The terminal status information D22 is information indicating the status of the user terminal 20. The terminal status information D22 includes user terminal position information indicating the position of the user terminal 20, user terminal communication status information indicating the communication status of the user terminal 20, and the like.
[0056] <Schedule Information> The schedule information D23 indicates the behavior history and behavior schedule of the user who owns the user terminal 20. For example, the schedule information D23 indicates the user's location and the length of stay (or the planned length of stay) in association with each other. The schedule information D23 can be acquired by a schedule function installed in the user terminal 20. Specifically, the user inputs his or her own behavior history and behavior schedule into the user terminal 20 using the schedule function, thereby obtaining the schedule information D23 indicating the user's behavior history and behavior schedule. The schedule information D23 includes a schedule for driving the vehicle 10.
[0057] (Client-server configuration) The client server 30 is owned by a client, who requests the calculation of job data. Examples of such clients include companies, research institutes, and educational institutions.
[0058] As shown in FIG. 5, the client server 30 includes an input unit 301, an output unit 302, a communication unit 303, a storage unit 304, and a control unit 305.
[0059] The input unit 301 inputs information and data. Examples of the input unit 301 include an operation unit that is operated to input information corresponding to the operation, a camera that inputs an image representing information, and a microphone that inputs audio representing information. The information and data input to the input unit 301 is sent to the control unit 305.
[0060] The output unit 302 outputs information and data. Examples of the output unit 302 include a display unit that outputs an image representing information, and a speaker that outputs sound representing information.
[0061] The communication unit 303 transmits and receives information and data. The information and data received by the communication unit 303 are sent to the control unit 305.
[0062] The storage unit 304 stores information and data.
[0063] The control unit 305 controls each unit of the client server 30. The control unit 305 has a processor, a memory, etc. The memory stores a program for operating the processor, information and data indicating the processing results of the processor, etc.
[0064] In this example, the storage unit 304 stores client information D31 and job data D1.
[0065] <Client Information> The client information D31 is information about the client. The client information D31 includes a client ID set for the client, a client-server ID set for the client server 30 owned by the client, a person in charge's name, address, telephone number, etc. The client ID is an example of client identification information that identifies the client. The client-server ID is an example of client-server identification information that identifies the client server 30.
[0066] <Job Data> The job data D1 is data corresponding to a job and is processed to execute the job.
[0067] The job data D1 can be classified by calculation type. Examples of calculation types include CPU-based calculation types and GPU-based calculation types. Job data D1 of the CPU-based calculation type tend to require complex calculations with many conditional branches, such as simulation calculations. Job data D1 of the GPU-based calculation type tend to require a huge amount of simple calculations, such as image processing and machine learning.
[0068] Furthermore, the job data D1 can be classified according to the processing conditions of the job. Examples of processing conditions include processing conditions that require constant communication and processing conditions that do not require constant communication. Job data D1 with processing conditions that require constant communication requires that the computing resources (i.e., the computing unit 105) be able to communicate at all times in grid computing processing. Job data D1 with processing conditions that do not require constant communication does not require that the computing resources be able to communicate at all times in grid computing processing.
[0069] Note that job information related to a job may be stored in the storage unit 304. The job information includes job name information indicating the name of the job, job content information explaining the content of the job, job data information regarding job data corresponding to the job, job deadline information indicating the deadline for the job, etc. The job data information indicates the calculation type, processing conditions, required calculation capacity, etc. of the job data.
[0070] (Facility server configuration) The facility server 40 is owned by a facility. Examples of facilities include a user's workplace, a stadium, a theater, a movie theater, a supermarket, a restaurant, an accommodation facility, a ticket sales facility, etc. For facilities that require a reservation for a visit, the user can make a reservation for a visit to the facility via the user terminal 20.
[0071] 6, facility server 40 includes input unit 401, output unit 402, communication unit 403, storage unit 404, and control unit 405. The configurations of input unit 401, output unit 402, communication unit 403, storage unit 404, and control unit 405 of facility server 40 are the same as the configurations of input unit 301, output unit 302, communication unit 303, storage unit 304, and control unit 305 of client server 30.
[0072] In this example, the storage unit 404 stores facility information D41 and facility usage information D42.
[0073] Facility Information The facility information D41 is information related to a facility. The facility information D41 includes a facility ID set for the facility, a facility server ID set for the facility server 40 owned by the facility, facility location information indicating the location (latitude and longitude) of the facility, the name of the person in charge, the address, the telephone number, the business details of the facility, etc. The facility ID is an example of facility identification information that identifies the facility. The facility server ID is an example of facility server identification information that identifies the facility server 40.
[0074] <Facility Usage Information> The facility usage information D42 indicates the usage status (usage history and planned usage) of the facility. Specifically, the facility usage information D42 indicates users who use the facility and their stay period (or planned stay period) in association with each other.
[0075] (Administration Server Configuration) The management server 50 manages the operation of the system 1, which is configured as a grid computing system. The management server 50 is owned by the operator that operates the system 1.
[0076] 7, the management server 50 includes an input unit 501, an output unit 502, a communication unit 503, a storage unit 504, and a control unit 505. The configurations of the input unit 501, output unit 502, communication unit 503, storage unit 504, and control unit 505 of the management server 50 are the same as the configurations of the input unit 301, output unit 302, communication unit 303, storage unit 304, and control unit 305 of the client server 30.
[0077] In this example, the storage unit 504 stores a user table D51, a computing unit table D52, a client table D53, a job table D54, a resource table D55, a matching table D56, job data D1, and calculation result data D2.
[0078] <User table> The user table D51 is a table for managing users. For each user, the user table D51 registers a user ID set for the user, a vehicle ID set for the vehicle 10 owned by the user, a computing unit ID set for the computing unit 105 owned by the user, a user terminal ID set for the user terminal 20 owned by the user, and the like.
[0079] <Calculator Table> The computing unit table D52 is a table for managing the computing units 105. In the computing unit table D52, for each computing unit 105, a computing unit ID set in that computing unit 105, a user ID set for the user who owns that computing unit 105, a vehicle ID set for the vehicle 10 in which that computing unit 105 is installed, etc. are registered.
[0080] Furthermore, the computing unit table D52 registers, for each computing unit 105, the performance of that computing unit 105 (such as computing capacity and the ratio of CPU to GPU), the operating status of that computing unit 105 (operating history and operation schedule), etc. In other words, the computing unit table D52 includes operating status information D5 indicating the operating status of each of the multiple computing units 105, and performance information D6 indicating the performance of each of the multiple computing units 105. The performance information D6 includes computing capacity information D7 indicating the computing capacity of each of the multiple computing units 105.
[0081] <Client Table> The client table D53 is a table for managing clients. For each client, the client table D53 registers a client ID set for that client, a client server ID set for the client server 30 owned by the client, the name, address, and telephone number of the person in charge of that client. The client table D53 records the usage history of grid computing for each client.
[0082] <Job Table> The job table D54 is a table for managing jobs requested by clients. For each job, the job table D54 registers the reception number set for that job, the client ID set for the client that requested the job, the name and content of the job, etc. The job table D54 also registers for each job the calculation type and processing conditions of the job data corresponding to that job, the required calculation capacity that is the calculation capacity required to calculate the job data, the delivery date set for that job, etc.
[0083] <Resource Table> The resource table D55 is a table for managing the computing power in grid computing processing. Specifically, the resource table D55 is a table for managing computing power information related to the estimated computing power of the computing resources. The resource table D55 registers, for each computing unit 105, the computing unit ID set for that computing unit 105.
[0084] Matching Table The matching table D56 is a table for managing the results of a matching process that matches jobs with grid computing. For each job, the matching table D56 registers the reception number set for the job, the job data corresponding to the job, and the computing unit ID set for each computing unit 105 that constitutes the computing resource allocated to the job data by the matching process.
[0085] <Job Data> The job data D1 stored in the storage unit 504 is the accepted job data D1.
[0086] <Calculation result data> The calculation result data D2 stored in the storage unit 504 is calculation result information calculated by grid computing processing, and indicates the results of the calculation.
[0087] (Grid computing processing) Next, the grid computing process will be described with reference to Fig. 8. In the grid computing process, the job data D1 is processed by an available computing unit 105 among the plurality of computing units 105. After the matching process is completed, the control unit 505 performs the following process.
[0088] First, in step S11, the control unit 505 refers to the matching table D56 and distributes job data D1 to be subjected to grid computing processing to the computing units 105 assigned to that job data D1 in the matching processing. Specifically, the control unit 505 transmits a portion of the job data D1 to each of the computing units 105 assigned to that job data D1. As a result, the job data D1 is processed in parallel by the computing units 105 assigned to that job data D1.
[0089] Next, in step S12, when each computing unit 105 completes the calculation of the data (part of the job data D1) transmitted to that computing unit 105, it transmits the partial calculation result data obtained by the calculation to the management server 50. The control unit 505 of the management server 50 receives the partial calculation result data transmitted from the computing unit 105 and stores the partial calculation result data in the memory unit 504.
[0090] Next, in step S13, the control unit 505 determines whether or not all of the computing units 105 to which the job data D1 was distributed in step S11 have completed calculations. If all of the computing units 105 have completed calculations, the control unit 505 proceeds to step S14, and if at least some of the computing units 105 have not completed calculations, the control unit 505 performs the processing of step S12.
[0091] In step S14, the control unit 505 generates calculation result data D2 (calculation result data D2 indicating the result of calculation of job data D1) corresponding to job data D1 that is the target of grid computing processing by combining the partial calculation result data stored in the storage unit 504. Then, the control unit 505 transmits the calculation result data D2 corresponding to job data D1 that is the target of grid computing processing to the client server 30 of the client that requested the calculation of the job data D1.
[0092] Then, in step S15, a reward is granted by the operator of the system 1 to the user who provided the computing power of the computing unit 105 for the grid computing process. Examples of rewards granted to users include points that can be used in the system 1, virtual currency, and product discount benefits. For example, the control unit 505 of the management server 50 performs processing to grant a reward to the user who provided the computing power of the computing unit 105 for the grid computing process. Examples of the processing to grant a reward include processing to associate a "user ID" set for the user with "points" (or virtual currency) that can be used in the system 1 and register them in the user table D51, and processing to send information indicating a product discount benefit to the user terminal 20 owned by the user.
[0093] Furthermore, a reward may be given by the client to a user who has provided the computing power of the computing unit 105 for grid computing processing. For example, the control unit 305 of the client server 30 may execute processing for giving a reward to a user who has provided the computing power of the computing unit 105 for grid computing processing.
[0094] (Vehicle Processing on Grid Computing) To successfully complete the grid computing process described above, it is necessary that the computing unit 105 of the vehicle 10 is stably supplied as a computing resource, that is, that each vehicle 10 is able to stably execute the computational process of the job. The computing unit 105 can estimate the time that the vehicle 10 will be stopped (hereinafter referred to as the estimated stopping time) based on the travel schedule information D15 stored in the storage unit 104 and the schedule information D23 acquired from the user terminal 20. In other words, the computing unit 105 can schedule in advance the time period during which it can supply itself as a computing resource for grid computing (the time period during which it can participate in grid computing).
[0095] However, even during a time period that the computing unit 105 estimates as a time period during which the vehicle 10 can participate in grid computing, the user may suddenly start driving the vehicle 10, for example, to go shopping or to go to work. As a result, the computing unit 105 must use itself for driving control while executing the computational processing of a job given to it in grid computing. In this case, the computing unit 105 is forced to cancel the job, which may result in the grid computing processing not being completed normally.
[0096] Therefore, in this embodiment, the control unit 106 of the computing unit 105 executes a participation time estimation process to estimate the remaining time during which the vehicle 10 can participate in grid computing, based on the current location of the portable device carried by the user and the current stopping position of the vehicle 10. More specifically, in this embodiment, the control unit 106 executes the participation time estimation process while executing the calculation processing of a job in grid computing within the scheduled stopping time estimated in advance. This participation time t j corresponds to the time it takes for the user to reach the vehicle 10.
[0097] In addition, the control unit 106 can estimate the stopping time as a planned stopping time if the user's schedule involves a relatively long stopping time, such as work at the office or visiting a theme park, but can not estimate the stopping time as a planned stopping time if the stopping time is relatively short, such as shopping at a supermarket.
[0098] Then, when the control unit 106 determines that it is difficult to complete the calculation processing of the currently executing job within the estimated available participation time, it executes specific processing to continue the calculation of the job. The specific processing includes, for example, processing to package job data of the job being calculated (hereinafter referred to as partial job data D1a) and transfer it to other vehicles participating in the same grid computing, processing to request that the vehicle not be used for driving until the calculation processing of the job is completed, processing to partially restrict the functions of the vehicle while driving until the calculation processing of the job is completed, etc.
[0099] 9 shows a functional block diagram of the computing device of each vehicle 10 that executes the participation time estimation process and the specific process. This function is installed in each vehicle 10 that participates in grid computing.
[0100] The vehicle 10 determines the remaining time during which the vehicle 10 can participate in grid computing, i.e., the participation time t j The participation time estimation module 161 includes an available participation time estimation module 161 that estimates the time when the vehicle 100 is scheduled to travel. The participation time estimation module 161 receives input of information from the exterior vehicle camera 121, the key detection sensor 122, the position sensor 124, and the position detection module 162. The participation time estimation module 161 receives input of schedule information D23 from the user terminal 20. The participation time estimation module 161 receives input of driving schedule information D15 from the storage unit 14. The participation time estimation module 161 receives input of map information D16 via the communication unit 103.
[0101] A plurality of outside cameras 121 are arranged on the vehicle 10 so as to be able to capture images of the 360-degree area around the vehicle 10.
[0102] The key detection sensor 122 communicates with a keyless key or a smart key (registered trademark) owned by the user of the vehicle 10 to detect the location of the keyless key, etc. The keyless key or smart key (registered trademark) is an example of a portable device owned by the user.
[0103] The position sensor 124 detects the current position of the vehicle (vehicle position information) using a Global Positioning System (GPS).
[0104] The position detection module 162 is a module that communicates with the user terminal 20 owned by the user of the vehicle 10 and detects the position of the user terminal 20. The position detection module 162 detects the position of the user terminal 20, for example, by using a GPS sensor mounted on the user terminal 20. The user terminal 20 is an example of a portable device owned by a user.
[0105] Available time to participate j When estimating the available participation time t, first, the available participation time estimation module 161 estimates the current stopping position of the vehicle 10 based on the detection result of the position sensor 124 and the map information D16. Next, the available participation time estimation module 161 estimates the current position of the mobile device based on the detection results from the exterior camera 121, the key detection sensor 122, and the position detection module 162. Next, the available participation time estimation module 161 executes a distance estimation process to estimate the distance between the user and the vehicle 10 based on the current position of the mobile device and the current stopping position of the vehicle 10. Next, the available participation time estimation module 161 estimates the change in the estimated distance over time (i.e., the user's movement speed) from the estimated distance. Then, the available participation time estimation module 161 calculates the available participation time t from the estimated distance and the user's movement speed. j Estimate.
[0106] The participation time t estimated by the participation time estimation module 161 j is input to the process execution management module 167.
[0107] The control unit 106 has a calculation time estimation module 169 that estimates a job completion time, which is the time it takes for a vehicle (strictly speaking, a computing unit of the vehicle) to complete the calculation of a job. The calculation time estimation module 169 receives information on the partial job data D1a and information from the calculation resource management module 166.
[0108] The computational resource management module 166 is a module that manages the current computational resources, in other words, the current computational capacity, of the computing unit of the host vehicle. Information about the current computational capacity of the computing unit is input from the computational resource management module 166 to the computation time estimation module 169.
[0109] The calculation time estimation module 169 estimates the job completion time when the partial job data Da1 is processed using the current calculation capacity of the calculation unit obtained from the calculation resource management module 166. The estimated job completion time is input to the process execution management module 167.
[0110] The process execution management module 167 is a module that manages various processes in the computing unit 105. The process execution management module 167 is configured to manage the possible participation time t j and the job completion time obtained from the calculation time estimation module 169, and the available participation time t j If the job completion time is equal to or greater than the job completion time, the calculation is continued and the available time t j If the job completion time is less than the job completion time, the specific process is performed. The process execution management module 167 determines the content of the specific process to be performed based on the status of other vehicles in the vicinity, information about the facility where the user is staying, etc.
[0111] The process execution management module 167 transmits a control signal to the communication control module 168 in accordance with the content of the determined specific process. For example, when transferring partial job data D1a to another vehicle participating in the same grid computing, the process execution module 167 transmits a control signal to the communication control module 168 to request that the partial job data D1a be transferred. Furthermore, for example, when requesting the user to delay use of the vehicle or when restricting some of the vehicle's functions while driving, the process execution management module 167 transmits a control signal to the communication control module 168 to request that this be sent to the user terminal 20 of the user.
[0112] The participation time estimation module 161, the position detection module 162, the computational resource management module 166, the process execution management module 167, the communication control module 168, and the computation time estimation module 169 are examples of modules that make up the control unit .
[0113] As described above, the available participation time tj If the job calculation processing is estimated based on the user's current behavior, it can be estimated whether the job calculation processing will be completed before the user uses the vehicle for driving. As a result, when the job calculation processing is difficult to complete, the specific processing can be executed, and the job calculation processing can be stabilized.
[0114] Here, there are also situations where the user will not use the vehicle for traveling, such as when the user is outside the prefecture or even overseas. In such cases, in order to use the computation resources of the computing unit 105 as much as possible for job computation processing, the participation time t j Therefore, in this embodiment, when the estimated distance between the user and the vehicle 10 estimated by the distance estimation process is equal to or greater than a predetermined distance, the participation time estimation module 161 estimates the user's moving speed and the participation time t j The predetermined distance is a distance that is estimated to take a considerable amount of time for the user to reach the location of the vehicle 10, and is, for example, 5 km.
[0115] <Flowchart of participation time estimation process> 10 is a flowchart illustrating the participation time estimation process executed by the control unit 106. The control unit 106 estimates the planned stopping time in advance based on the traveling schedule information D15 and the schedule information D23 of the user terminal 20.
[0116] First, in step S21, the control unit 106 acquires various pieces of information via the sensors and the communication unit 103.
[0117] Next, in step S22, the control unit 106 determines whether the current time belongs to the scheduled stopping time. If the result is YES, meaning that the current time belongs to the scheduled stopping time, the control unit 106 proceeds to step S23. On the other hand, if the result is NO, meaning that the current time does not belong to the scheduled stopping time, the control unit 106 returns.
[0118] In step S23, the control unit 106 determines whether or not the arithmetic processing of the job is being executed. If the result is YES, meaning that the arithmetic processing of the job is being executed, the control unit 106 proceeds to step S24. On the other hand, if the result is NO, meaning that the arithmetic processing of the job is not being executed, the control unit 106 returns. Note that even if the vehicle 10 is participating in grid computing, the control unit 106 determines that the arithmetic processing of the job is not being executed if the job assigned to the vehicle 10 has been completed.
[0119] In step S24, the control unit 106 estimates the current parked position of the vehicle 10. When the vehicle 10 is parked in a multi-story parking garage, not only the two-dimensional position but also the vertical position, i.e., the three-dimensional position, is estimated.
[0120] In step S25, the control unit 106 estimates the current location of the user. Here, not only the two-dimensional position of the user but also the position in the height direction, that is, the three-dimensional position, is estimated.
[0121] Next, in step S26, the control unit 106 estimates the distance between the user and the vehicle 10. Here, the straight-line distance between the user and the vehicle 10 is estimated.
[0122] Next, in step S27, the control unit 106 determines whether the estimated distance estimated in step S26 is less than a predetermined distance. If the result is YES, that is, the estimated distance is less than the predetermined distance, the control unit 106 proceeds to step S28. On the other hand, if the result is NO, that is, the estimated distance is equal to or greater than the predetermined distance, the control unit 106 returns.
[0123] In step S28, the control unit 106 estimates the user's moving speed. The control unit 106 estimates the user's moving speed from the change over time in the distance between the user and the vehicle.
[0124] Then, in step S29, the control unit 106 calculates the participation time t j After step S29, the control unit 106 returns.
[0125] In this way, when there is a possibility that the user will suddenly use the vehicle 10 for traveling, the participation available time t j Then, the control unit 106 estimates the available participation time t j is shorter than the job completion time, the specific process is executed to complete the job arithmetic processing, thereby stabilizing the job arithmetic processing.
[0126] Therefore, in this embodiment, the computing device of the vehicle 10 includes a communication unit 103 and a control unit 106. The communication unit 103 communicates with a mobile device owned by the user of the vehicle 10. The control unit 106 calculates a participation time t , which is the remaining time during which the vehicle 10 can participate in grid computing, based on the current location of the mobile device and the current stopping position of the vehicle 10. j In this way, the computing device executes a participation time estimation process to estimate the available time to participate in grid computing t j By estimating the time available for execution of the job's computational processing, the computation device can estimate whether or not the computational processing of the job currently being executed can be completed within the participation time. Then, the computation device estimates the participation time t j If the job processing cannot be completed within the specified time, the specific processing described above can be performed, thereby stabilizing the job processing.
[0127] In addition, in this embodiment, in the participation time estimation process, the control unit 106 estimates the distance between the user and the vehicle 10 from the current location of the mobile device and the current stopping position of the vehicle 10, estimates the user's movement speed from the change over time of the estimated distance, and calculates the participation time t jThis makes it possible to more accurately estimate the time it will take for the user to reach the vehicle 10 from the estimated distance and estimated travel speed. As a result, the participation time t j can be estimated with higher accuracy, and the job calculation processing can be made more stable.
[0128] In particular, in this embodiment, when the estimated distance is equal to or greater than a predetermined distance, the control unit 106 sets the available participation time t j Therefore, when the user is not sure to use the vehicle for traveling, such as when the user is staying abroad, the participation available time t j By not estimating the available time, it is possible to reduce the amount of resources allocated to estimating the available time. As a result, the job calculation processing can be made more stable.
[0129] In this embodiment, the control unit 106 can further execute a stopping time estimation process to acquire schedule information of the user via the communication unit 103 and estimate a planned stopping time during which the user will not be driving the vehicle 10 based on the schedule information. Furthermore, when the current time belongs to the planned stopping time estimated by the stopping time estimation process and the estimated distance is less than a predetermined distance, the control unit 106 determines whether the participation time t j In this way, only when there is a possibility that the user will suddenly drive the vehicle 10, the participation possible time t j Since the calculation device can estimate the participation time t j This minimizes the time period during which resources are allocated to estimating the number of jobs, which results in more stable job processing.
[0130] (Other embodiments) The technology disclosed herein is not limited to the above-described embodiments, and can be substituted within the scope of the claims.
[0131] For example, in the above embodiment, the control unit 106 of the vehicle 10 estimates the stopping position of the vehicle 10 and the current position of the user, and calculates the participation available time t jHowever, the control unit 505 of the management server 50 may estimate the stopping position of the vehicle 10 and the current position of the user, and calculate the participation time t j Alternatively, the control unit 505 of the management server 50 may estimate the available time t j In this case, the control unit 505 of the management server 50 corresponds to the estimation unit.
[0132] In the above embodiment, the available participation time t j In addition to this, if it is during the scheduled stop time, even if the job calculation processing is not being executed, the available time t j In this way, the management server 50 can estimate the participation time t j By transmitting information about the available participation time t j Therefore, jobs that can be processed within a certain time can be assigned to the vehicle 10. This makes it possible to make the calculation processing of jobs in the vehicle 10 more stable.
[0133] In the above embodiment, when the estimated distance is equal to or greater than a predetermined distance, the control unit 106 determines whether the participation time t j Even if the estimated distance is greater than or equal to a predetermined distance, the participation time t j In this case, the larger the estimated distance, the shorter the participation time t j The frequency of estimating may be reduced.
[0134] Furthermore, if it is highly likely that the user will not use the vehicle 10 for traveling until a specific time based on the user's current location, the location where the vehicle 10 is parked, the user's schedule information D23, etc., the control unit 106 may determine whether the participation possible time t jFor example, when a user is staying at a baseball stadium or a concert venue, it is highly likely that the user will not suddenly use the vehicle 10 for traveling until at least the end of the game or event. j There is no particular problem even if the estimation is not performed.
[0135] The above-described embodiments are merely examples and should not be construed as limiting the scope of the present disclosure. The scope of the present disclosure is defined by the claims, and all modifications and variations that fall within the scope of the claims equivalents are within the scope of the present disclosure. [Industrial Applicability]
[0136] The technology disclosed herein is useful when a plurality of vehicles are stopped and a job is processed by grid computing in which each of the vehicles acts as a computing node. [Explanation of symbols]
[0137] 10 vehicles 103 Communications Department 106 Control Unit 503 Communications Department 505 Control unit (estimation unit) D23 Schedule Information t j Available time
Claims
1. A computing device of a plurality of vehicles that can participate in grid computing, in which each of the plurality of vehicles serves as a computing node and performs computational processing for a job when the ignition or power of the plurality of vehicles is off, comprising: The Communications Department and a control unit; the communication unit communicates with a mobile device owned by a user of the vehicle; The control unit executes a participation time estimation process for estimating a participation time, which is a remaining time during which the vehicle can participate in the grid computing, based on the current location of the portable device and the current stopping position of the vehicle; In the participation time estimation process, a distance between the user and the vehicle is estimated from a current position of the mobile device and a current stopping position of the vehicle, a moving speed of the user is estimated from a change over time of the estimated distance, and the possible participation time is estimated based on the estimated distance and the estimated moving speed; A computing device for a vehicle, wherein when the estimated distance is equal to or greater than a predetermined distance, the available participation time is not estimated.
2. A computing device of a vehicle that can participate in grid computing in which each of a plurality of vehicles serves as a computing node and performs job computation processing when the ignition is off or the power is off, comprising: The Communications Department and a control unit; the communication unit communicates with a mobile device owned by a user of the vehicle; The control unit executes a participation time estimation process for estimating a participation time, which is a remaining time during which the vehicle can participate in the grid computing, based on the current location of the portable device and the current stopping position of the vehicle; acquires schedule information of the user via the communication unit, and estimates a planned stopping time during which the user will not be driving the vehicle based on the schedule information; A vehicle calculation device characterized in that the participation time estimation process is executed when the current time belongs to the estimated scheduled stopping time, and the participation time estimation process is not executed when the current time does not belong to the estimated scheduled stopping time.
3. 1. A participation estimation method for estimating participation of a vehicle in grid computing, in which each of a plurality of vehicles serves as a computation node when the ignition or power of the plurality of vehicles is in an off state, by a computer, the method comprising: a vehicle position estimating step of estimating a current position of a specific vehicle among the plurality of vehicles; a user position estimation step of estimating a current position of a user of the specific vehicle; a participation time estimation step of estimating a remaining time during which the specific vehicle can participate in the grid computing based on the estimated current location of the user and the current location of the specific vehicle, the participation time estimation step is a step of estimating a distance between the user and the vehicle from a current location of a mobile device carried by the user and a current stopping position of the vehicle, estimating a moving speed of the user from a change over time in the estimated distance, and estimating the possible participation time based on the estimated distance and the estimated moving speed; The method for estimating participation of a vehicle, wherein the computer does not estimate the possible participation time when the estimated distance is equal to or greater than a predetermined distance.
4. A system for estimating participation of vehicles in grid computing, in which each of a plurality of vehicles serves as a calculation node when the ignition or power of the vehicles is off, comprising: The Communications Department and an estimation unit that estimates a remaining time during which a specific vehicle among the plurality of vehicles can participate in the grid computing; the communication unit communicates with the specific vehicle and a mobile device owned by a user of the specific vehicle; The estimation unit executing the participation time estimation process to estimate a remaining time during which the specific vehicle can participate in the grid computing based on the current location of the mobile device and the current location of the specific vehicle; In the participation time estimation process, a distance between the user and the vehicle is estimated from a current position of the mobile device and a current stopping position of the vehicle, a moving speed of the user is estimated from a change over time of the estimated distance, and the possible participation time is estimated based on the estimated distance and the estimated moving speed; A participation estimation system for a vehicle, wherein when the estimated distance is equal to or greater than a predetermined distance, the possible participation time is not estimated.
Citation Information
Patent Citations
Lending system
JP2019160209A
Management server and program
JP2020160661A
Vehicle parking / stopping hours prediction device, vehicle parking / stopping hours prediction method, and program
JP2020160736A
Vehicle software update system
JP2021043734A
Method for using a processor unit and vehicle
US20210094436A1