Management system and management method
By aggregating vehicles in the parking area of commercial facilities and using pre-set parking position tables, grid computing between multiple suspended vehicles is achieved, problems of stability and accuracy of computing resources in the prior art are solved, and the management efficiency of parking areas is optimized.
Patent Information
- Application Number
- JP2021166612
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-11
- Publication Date
- 2025-05-13
- Estimated Expiration
- 2041-10-11
AI Technical Summary
The prior art is difficult to implement effective grid computing among multiple outage vehicles, and it is not possible to use the vehicle cluster to perform distributed computing to improve the stability and accuracy of computing resources.
By gathering multiple vehicles in the parking area of commercial facilities and using a pre-set parking position table, it is ensured that the vehicles can communicate between vehicles in the relative position within the parking area, thereby performing grid computing. The management system optimizes parking locations to reduce congestion in the parking area by distributing tasks to multiple computing devices and when users make reservations for parking time.
Efficient grid computing between multiple suspended vehicles is achieved, ensuring the stability and accuracy of computing resources, and reducing congestion in the parking area by optimizing parking locations and improving the efficiency of facility management.
Smart Images

Figure 0007675332000001 
Figure 0007675332000002 
Figure 0007675332000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a management system and a management method for managing grid computing implemented in a plurality of computing devices mounted on a plurality of vehicles. [Background technology]
[0002] Conventionally, a technology for applying multiple vehicles to grid computing has been proposed (see, for example, Patent Document 1). The system described in Patent Document 1 is composed of a management server connected to a communication network and arithmetic units mounted on multiple vehicles. In this system, the management server distributes job data (arithmetic jobs) to the multiple arithmetic units via the communication network and performs arithmetic processing, thereby realizing grid computing.
[0003] The computing device can provide stable quality of computing power when the vehicle is in a non-operating state (e.g., the ignition is off or the vehicle power is off). For this reason, the management server of Patent Document 1 is configured to predict a period during which each vehicle can participate in grid computing based on the usage history of each vehicle. Then, based on this prediction, the management server selects a computing device suitable for distributing job data. In other words, the management server selects a computing device of a vehicle that is likely to be in a non-operating state throughout the computation period during which the job data is executed. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2020-160661 A Summary of the Invention [Problem to be solved by the invention]
[0005] When implementing grid computing using multiple computing devices installed in multiple non-operating vehicles, it is considered desirable for the multiple vehicles to be located in close proximity to each other for the following reasons.
[0006] If multiple vehicles equipped with computing devices are gathered in a short distance, vehicle-to-vehicle communication can be performed during grid computing, and computation data can be appropriately transferred between the multiple computing devices. In addition, if multiple vehicles are gathered in a short distance in this way, the communication environment with the management server can be uniformed among the multiple computing devices. Furthermore, if multiple vehicles are gathered in a short distance and a vehicle group is formed at a specific location by the multiple vehicles, it is effective to operate multiple computing devices simultaneously for a relatively long period of time. If multiple computing devices are operated simultaneously in this way, for example, distributed computing (a calculation method in which individual parts of a program are executed simultaneously on multiple computing devices in parallel, and each of them communicates with each other via a network while processing proceeds as a whole) can be efficiently performed.
[0007] From the above, it is believed that by gathering multiple vehicles equipped with computing devices in a short distance to perform grid computing, it is possible to effectively secure stable and highly reliable computing resources (computing capacity of the computing devices) for grid computing. Note that the system described in the above-mentioned Patent Document 1 was not able to gather multiple vehicles in a short distance to perform grid computing.
[0008] On the other hand, when gathering a plurality of vehicles in a short distance for grid computing as described above, using the parking area of a specific commercial facility (e.g., supermarket, shopping mall, stadium, theater, restaurant, accommodation facility, movie theater, store, etc.) is considered to contribute to the operation of the facility. For example, in order to gather a plurality of vehicles in a short distance in the parking area of the facility, congestion in the parking area can be alleviated by managing (controlling) the parking positions of each vehicle. In addition, prior to managing the parking positions in this way, by grasping information such as the time visitors stay at the facility and the number of visitors, this information can be used for the operation of the facility.
[0009] The present invention has been made to solve the above-mentioned problems, and aims to provide a management system and management method that can secure highly reliable computing resources and contribute to the operation of a designated commercial facility by gathering multiple vehicles equipped with computing devices in close proximity in a parking area of the designated facility and performing grid computing. [Means for solving the problem]
[0010] In order to achieve the above object, the present invention provides a management system for managing grid computing that causes multiple arithmetic devices mounted on multiple vehicles to process job data, the management system comprising: a storage device that stores information on multiple arithmetic devices and / or multiple vehicles equipped with arithmetic devices; and a control device configured to realize grid computing by distributing job data to each of the multiple arithmetic devices and having them process the job data based on the information stored in the storage device, wherein the control device is configured to receive a planned stay date and time, including a planned stay date and planned stay time period, designated in advance by a user of a vehicle equipped with the arithmetic device to book a visit to a specific commercial facility having a parking area, on which the user plans to stay at the specific facility, based on the planned stay dates and times of the multiple users, set designated parking positions at which each of the multiple vehicles should be parked in the parking area so that multiple vehicles of multiple users who have the same planned stay date and overlapping planned stay time periods are located within a range in the parking area where vehicle-to-vehicle communication is possible, and transmit the designated parking positions to each user of the multiple vehicles; and when the multiple vehicles are parked in the parking area in response to the transmission of the designated parking positions, have the arithmetic devices mounted on each of the multiple vehicles process the job data, thereby achieving grid computing.
[0011] In the present invention thus configured, the management system sets the designated parking position for each vehicle based on the planned stay date and time designated in advance by multiple users to reserve a visit to a specified facility (in other words, reserve parking of a vehicle in a parking area of the specified facility) so that multiple vehicles with overlapping planned stay times on the same day are located within a range in the parking area where vehicle-to-vehicle communication is possible (for example, within 50 meters). In this way, grid computing is realized by the computing devices mounted on the multiple vehicles with overlapping planned stay times at the specified facility, while these vehicles are parked within a range in the parking area where vehicle-to-vehicle communication is possible. As a result, vehicle-to-vehicle communication can be performed during grid computing, and computation data can be appropriately transferred between multiple computation devices. In addition, the communication environment with the management system can be standardized among the multiple computation devices, allowing job data and the like to be appropriately transferred. Furthermore, by forming a vehicle group in a parking area of a specified facility using multiple vehicles, multiple computation devices can be operated simultaneously for a relatively long period of time. This makes it possible to appropriately realize, for example, distributed computing in grid computing. As described above, according to the present invention, when performing grid computing using multiple computation devices mounted on multiple vehicles that are not in operation, stable and highly reliable computation resources can be effectively secured.
[0012] Furthermore, according to the present invention, since a user specifies a planned date and time of stay in advance to reserve a visit to a specific facility, the number of vehicles (i.e., the number of computing devices) for each time period of a day can be grasped based on the planned dates and times of stay thus specified in advance by a plurality of users. As a result, it becomes possible to easily estimate and adjust the amount of job data that can be calculated in a day in grid computing.
[0013] Furthermore, according to the present invention, by gathering a plurality of vehicles in a parking area of a specific facility in a short distance (within a range where vehicle-to-vehicle communication is possible) for grid computing, it is possible to contribute to the operation of the facility. For example, in order to gather a plurality of vehicles in a short distance in a parking area, the parking positions of each vehicle can be managed (controlled) to reduce congestion in the parking area. Furthermore, prior to managing the parking positions in this way, by grasping information such as the time visitors (users) stay at the facility and the number of visitors, this information can be utilized for the operation of the facility and management of the parking area.
[0014] In the present invention, preferably, the storage device stores a parking position table in which designated parking positions are associated with each of a plurality of stay time periods during which a user can stay at a specified facility, the designated parking positions being set so that a plurality of vehicles with overlapping stay time periods can be located within a range in a parking area where vehicle-to-vehicle communication is possible, and the control device is configured to refer to the parking position table stored in the storage device, set a designated parking position associated with a stay time period corresponding to the user's planned stay time period, and transmit this designated parking position to the user. According to the present invention configured in this manner, by using a parking position table in which multiple designated parking positions to be set for each stay time period are predefined, it is possible to assign an appropriate designated parking position to each of multiple vehicles.
[0015] In the present invention, the parking position table preferably has designated parking positions set so that multiple vehicles with overlapping stay times are located within a range in the parking area where vehicle-to-vehicle communication is possible, and each of the multiple vehicles is located adjacent to each other in the parking area. According to the present invention configured in this manner, a group of vehicles in which each vehicle is positioned close to each other can be formed in a parking area, thereby making it possible to obtain advertising effects from the group of vehicles formed for grid computing.
[0016] In the present invention, the control device is preferably configured to identify the number of vehicles that will have overlapping planned stay times on the day based on the planned stay date and time received by the day before the day the user visits a specified facility, estimate the amount of job data that can be calculated on the day in grid computing based on this number of vehicles, and distribute this amount of job data to multiple computing devices for processing. In the present invention thus configured, the number of vehicles that will overlap in the planned time period of stay on the day is identified based on the planned stay date and time specified in advance by the user to make a reservation for a visit to a specific facility. By estimating the job data amount based on the number of vehicles thus identified (i.e., the number of computing devices), it is possible to obtain an accurate job data amount.
[0017] In the present invention, the control device is preferably configured to estimate the amount of job data based on the number of vehicles obtained by subtracting from the number of identified vehicles the number of vehicles for which users are expected to cancel reservations to visit a specified facility on that day and / or the number of vehicles for which the calculation device is expected to interrupt processing of the job data while it is processing the job data. According to the present invention thus configured, even if a reservation for a facility visit is canceled or processing of job data is interrupted, the amount of job data that can be calculated reliably on that day can be found.
[0018] In the present invention, the control device is preferably configured to pre-select a reserve user from among a plurality of users who have specified the planned date and time of stay to reserve a visit to a specified facility, and when a user cancels a reservation to visit the specified facility and / or when the computing device interrupts processing of job data while it is processing the job data, thereby distributing the job data to the computing device installed in the reserve user's vehicle and having the computing device process the job data, thereby realizing grid computing. According to the present invention configured in this manner, even if a reservation for a facility visit is canceled or processing of job data is interrupted, grid computing can be reliably realized by redistributing the job data to the computing device of a pre-set spare user.
[0019] In another aspect, in order to achieve the above object, the present invention provides a management method for managing grid computing, by a computer, in which job data is processed by a plurality of computing devices mounted on a plurality of vehicles, the management method including: a storage step for storing information relating to the plurality of computing devices and / or the plurality of vehicles mounted with the computing devices; and a control step for realizing grid computing by distributing job data to each of the plurality of computing devices and causing them to process the job data based on the information stored in the storage step, the control step including: a step of determining whether or not a user of the vehicle mounted with the computing device has stayed at a predetermined commercial facility having a parking area, the step being designated in advance to reserve a visit to the predetermined facility. receiving a planned stay date and time including a planned stay date and planned stay time zone for the multiple users; setting designated parking positions at which each of the multiple vehicles should be parked in the parking area based on the planned stay dates and times of the multiple users, so that multiple vehicles of multiple users who have the same planned stay date and overlapping planned stay time zones are located within a range in the parking area where vehicle-to-vehicle communication is possible, and transmitting the designated parking positions to each user of the multiple vehicles; and realizing grid computing by having a computing device mounted on each of the multiple vehicles process job data when the multiple vehicles park in the parking area in response to the transmission of the designated parking positions. With the present invention configured in this manner, when performing grid computing using multiple computing devices installed in multiple vehicles that are not in operation, it is possible to effectively secure stable and highly reliable computational resources, and to contribute to the operation of specified facilities, etc. Effect of the Invention
[0020] According to the management system and management method of the present invention, by gathering multiple vehicles equipped with computing devices in close proximity in a parking area of a designated commercial facility and performing grid computing, it is possible to secure highly reliable computing resources and contribute to the operation of the designated facility. [Brief description of the drawings]
[0021] [Figure 1] 1 is a schematic diagram showing a configuration of a system according to an embodiment of the present invention. [Diagram 2] FIG. 1 is a conceptual diagram for explaining grid computing according to an embodiment of the present invention. [Diagram 3] 1 is a block diagram showing a configuration of a vehicle according to an embodiment of the present invention. [Figure 4] FIG. 2 is a block diagram showing a configuration of a user terminal according to an embodiment of the present invention. [Diagram 5] FIG. 2 is a block diagram showing a configuration of a client server according to an embodiment of the present invention. [Figure 6] 2 is a block diagram showing a configuration of a facility server according to an embodiment of the present invention. FIG. [Figure 7] 2 is a block diagram showing a configuration of a management server according to an embodiment of the present invention. FIG. [Figure 8] 5 is a flowchart showing a job reception process according to an embodiment of the present invention. [Figure 9] FIG. 4 is a schematic diagram showing an image of a job reception screen according to an embodiment of the present invention. [Figure 10] 4 is a flowchart showing a parking position designation process according to an embodiment of the present invention. [Figure 11] 1 shows an example of an input screen (reservation screen) for inputting planned stay dates and times according to an embodiment of the present invention. [Figure 12] 1 is a table illustrating an example of a designated parking location assignment according to an embodiment of the present invention. [Figure 13] 1 illustrates an example of a parking layout according to an embodiment of the present invention. [Figure 14] 13 shows an example of a designated parking position notification screen according to an embodiment of the present invention. [Figure 15] 4 is a flowchart illustrating a grid computing process according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0022] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a management system and a management method according to an embodiment of the present invention will be described with reference to the accompanying drawings.
[0023] [system] FIG. 1 illustrates an example of the configuration of a system 1 according to the present 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 are capable of communicating with each other via a communication network 5. Each of the plurality of vehicles 10 is equipped with a computing device 105. Note that the system 1 may be provided with a plurality of client servers 30. Similarly, the system 1 may be provided with a plurality of facility servers 40. The system 1 corresponds to an example of a "management system" in the present invention. In particular, in this embodiment, the facility server 40 and the management server 50 function as the "management system" in the present invention, and are entities that execute the "management method" in the present invention.
[0024] As shown in FIG. 2, in the system 1 of this embodiment, grid computing is configured by a plurality of computing devices 105, and grid computing processing is performed in which an available computing device 105 among the plurality of computing devices 105 processes job data.
[0025] When the computing power of the arithmetic device 105 is required in the vehicle 10, the arithmetic device 105 enters an operating state and uses the computing power of the arithmetic device 105. For example, when the vehicle 10 is traveling, the computing power of the arithmetic device 105 is required for the traveling control of the vehicle 10, and the arithmetic device 105 enters an operating state.
[0026] On the other hand, when the computing power of the arithmetic device 105 becomes unnecessary in the vehicle 10, the arithmetic device 105 is stopped and the computing power of the arithmetic device 105 is not used. For example, when the vehicle 10 is stopped and the power supply of the vehicle 10 is turned off, the computing power of the arithmetic device 105 becomes unnecessary and the arithmetic device 105 is stopped.
[0027] Here, when the computing power of the arithmetic device 105 is not required in the vehicle 10, the computing power of the arithmetic device 105 can be provided for grid computing processing, thereby making it possible to effectively utilize the computing power of the arithmetic device 105.
[0028] [vehicle] The vehicle 10 is 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). Power from the battery is supplied to on-board devices such as the computing device 105. Examples of such a vehicle 10 include an electric vehicle and a plug-in hybrid vehicle.
[0029] As shown in FIG. 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, a computing device 105, and a lighting device 110.
[0030] The actuator 11 includes a drive system actuator, a steering system actuator, a braking system actuator, etc. Examples of the drive system actuator include an engine, a transmission, and a motor. Examples of the braking system actuator include a brake. Examples of the steering system actuator include a steering wheel.
[0031] The sensor 12 acquires various types of information used for controlling the vehicle 10. Examples of the sensor 12 include an exterior camera 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, and a brake oil pressure sensor.
[0032] The input unit 101 inputs information and data. Examples of the input unit 101 include an operation unit that is operated to input information corresponding to the operation, a camera that inputs an image indicating information, and a microphone that inputs a sound indicating information. Examples of the operation unit include an operation button and a touch sensor of a car navigation device. The information and data input to the input unit 101 are sent to the arithmetic device 105. For example, in this embodiment, the input unit 101 receives an instruction from a user to provide the computing power of the arithmetic device 105 of the vehicle 10 for grid computing processing.
[0033] The output unit 102 outputs information and data. Examples of the output unit 102 include a display unit that outputs an image showing information, and a speaker that outputs sound showing information. An example of the display unit is a display of a car navigation device. An example of the speaker is a speaker of a car navigation device.
[0034] The communication unit 103 transmits and receives information and data. The information and data received by the communication unit 103 are sent to the calculation device 105. The lighting device 110 has exterior lamps (headlights, tail lights, brake lights, blinkers, etc.), room lamps, and the like.
[0035] As described above, the arithmetic device 105 provides its computing power to grid computing processing. Specifically, the arithmetic device 105 processes distributed job data so as to realize grid computing. The arithmetic device 105 is a computer having a processor, memory, and the like. Examples of the processor include a central processing unit (CPU), a media processing unit (MPU), and a graphics processing unit (GPU). The memory stores a program for operating the processor, information and data indicating the processing results of the processor, and the like.
[0036] The number of processors mounted on the arithmetic device 105 may be one or more. The processor mounted on the arithmetic device 105 may be only one of an MPU, a CPU, and a GPU, or may be two or more of an MPU, a CPU, and a GPU. In one example, the arithmetic device 105 is configured with one or more ECUs (Electronic Control Units) and controls each part of the vehicle 10. In this example, the arithmetic device 105 controls the actuator 11 and the lighting device 110 according to various information obtained by the sensor 12, in addition to processing job data for the above-mentioned grid computing. In another example, the arithmetic device 105 may be a computer different from such an ECU (i.e., separate from the ECU). In this example, the arithmetic device 105 does not control each part of the vehicle 10, but mainly processes job data for grid computing.
[0037] The storage unit 104 stores information and data. In this example, the storage unit 104 stores vehicle information D11, vehicle state information D12, driving history information D13, arithmetic device information D14, and operation history information D15.
[0038] 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, vehicle performance information indicating the performance of the vehicle, and an address registered for the vehicle 10. 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 a user.
[0039] Vehicle status information D12 indicates the status of vehicle 10. For example, vehicle status information D12 includes vehicle position information, vehicle communication information, vehicle power information, vehicle battery remaining information, vehicle charging information, etc. Vehicle position information indicates the position (latitude and longitude) of vehicle 10. For example, vehicle position information can be acquired by GPS (Global Positioning System). Vehicle communication information indicates the communication status of vehicle 10. Vehicle power information indicates the state of the power supply of vehicle 10. For example, vehicle power information indicates whether the ignition power is on or off, whether the accessory power is on or off, etc. Vehicle battery remaining information indicates the remaining charge of a battery (not shown) installed in vehicle 10. Vehicle charging information indicates whether vehicle 10 is being charged in charging equipment (not shown).
[0040] The driving history information D13 is information indicating the driving history of the vehicle 10. For example, the driving history information D13 indicates the position of the vehicle 10 in association with time. In addition, the driving history information D13 may include information such as a guide route and a destination set in the navigation (route guidance) of the vehicle 10.
[0041] The arithmetic device information D14 is information related to the arithmetic device 105. For example, the arithmetic device information D14 includes an arithmetic device ID set in the arithmetic device 105, a vehicle ID set in the vehicle 10 in which the arithmetic device 105 is mounted, arithmetic device performance information indicating the performance of the arithmetic device 105, and the like. The arithmetic device ID is an example of arithmetic device identification information for identifying the arithmetic device 105. The performance of the arithmetic device 105 indicated in the arithmetic device performance information includes a calculation capacity indicating the calculation capacity (specifically, the maximum calculation capacity) of the arithmetic device 105, a ratio of the CPU and the GPU in the arithmetic device 105, and the like. The calculation capacity of the arithmetic device 105 is the amount of data that the arithmetic device 105 can calculate per unit time.
[0042] The operation history information D15 is information indicating the operation history of the arithmetic device 105. For example, the operation history information D15 indicates the utilization rate of the computational capacity of the arithmetic device 105 in association with time.
[0043] [User device] The user terminal 20 is 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 a user terminal 20 include a smartphone, a tablet, and a notebook personal computer.
[0044] 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.
[0045] The input unit 201 inputs information and data. Examples of the input unit 201 include an operation unit that is operated to input information corresponding to the operation, a camera that inputs an image indicating information, and a microphone that inputs a sound indicating information. Examples of the operation unit include an operation button and a touch sensor. The information input to the input unit 201 is sent to the arithmetic device 105. For example, in this embodiment, the input unit 201 receives an instruction from a user to provide the computing power of the arithmetic device 105 of the vehicle 10 for grid computing processing.
[0046] The output unit 202 outputs information and data. Examples of the output unit 202 include a display unit that outputs an image indicating information, and a speaker that outputs sound indicating information. The communication unit 203 transmits and receives information and data. The information and data received by the communication unit 203 are sent to the control unit 205.
[0047] 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, and the like.
[0048] The storage unit 204 stores information and data. In this example, the storage unit 204 stores terminal information D21, terminal state information D22, and schedule information D23.
[0049] 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.
[0050] 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.
[0051] 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 stay period (or planned stay period) 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 / her own behavior history and behavior schedule into the user terminal 20 using the schedule function, and the schedule information D23 indicating the user's behavior history and behavior schedule is obtained.
[0052] [Client Server] The client server 30 is owned by a client. The client requests the calculation of job data. Examples of such clients include companies, research institutes, and educational institutions.
[0053] 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.
[0054] 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 indicating information, and a microphone that inputs a sound indicating information. Examples of the operation unit include an operation button, a touch sensor, a keyboard, and a mouse. The information and data input to the input unit 301 are sent to the control unit 305.
[0055] 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. 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.
[0056] 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.
[0057] The storage unit 304 stores information and data. In this example, the storage unit 304 stores client information D31 and job data D1.
[0058] The client information D31 is information about a client. The client information D31 includes a client ID set in the client, a client server ID set in the client server 30 owned by the client, a person in charge name, an address, a telephone number, and the like. 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.
[0059] The job data D1 is data corresponding to a job and is data to be processed for executing the job. The job data D1 can be classified by calculation type. Examples of calculation types include a CPU-based calculation type and a GPU-based calculation type. Job data D1 of the CPU-based calculation type tends to require complex calculations with many conditional branches, such as simulation calculations. Job data D1 of the GPU-based calculation type tends to require a huge amount of simple calculations, such as image processing and machine learning.
[0060] Furthermore, the job data D1 can be classified according to the processing conditions. Examples of the processing conditions include a processing condition that requires constant communication, a processing condition that does not require constant communication, and the like. Job data D1 with a processing condition that requires constant communication requires that the arithmetic device 105 is always able to communicate in the grid computing process. Job data D1 with a processing condition that does not require constant communication does not require that the arithmetic device 105 is always able to communicate in the grid computing process.
[0061] 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 related to the job data corresponding to the job, job delivery date information indicating the delivery date of the job, etc. The job data information indicates the calculation type, processing conditions, necessary calculation capacity, etc. of the job data.
[0062] [Facility Server] The facility server 40 is owned by the facility that the user visits. Examples of such facilities include supermarkets, shopping malls, stadiums, theaters, restaurants, accommodation facilities, movie theaters, retail stores, etc. The user may be allowed to make a reservation to visit the facility.
[0063] 6, facility server 40 includes an input unit 401, an output unit 402, a communication unit 403, a storage unit 404, and a control unit 405. The configurations of the input unit 401, the output unit 402, the communication unit 403, the storage unit 404, and the control unit 405 of facility server 40 are similar to the configurations of the input unit 301, the output unit 302, the communication unit 303, the storage unit 304, and the control unit 305 of client server 30.
[0064] In this example, the storage unit 404 stores facility information D41 and facility usage information D42. 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, information on the company that operates (or manages) the facility, the name of the person in charge, an address, a telephone number, 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.
[0065] In addition, in this embodiment, the facility information D41 also includes parking position information on a plurality of parking positions in a parking area provided in the facility. This parking position information includes a map (defined by latitude and longitude, for example) showing the plurality of parking positions, parking numbers assigned to each of the plurality of parking positions, and the like. Note that the plurality of parking positions are defined in a predetermined area in a parking area prepared in advance for parking the vehicle 10 that realizes grid computing, for example. Furthermore, in this embodiment, the facility information D41 also includes a parking position table in which a parking position (designated parking position) where each of the plurality of vehicles 10 should be parked in the parking area is associated with each of a plurality of candidates for a stay time period (defined by an entry time and an exit time) during which a user can stay in the facility, so that the plurality of vehicles 10 having overlapping stay time periods are located within a range in the parking area where vehicle-to-vehicle communication is possible.
[0066] The facility usage information D42 indicates the usage status (usage history and planned usage) of the facility. In this embodiment, the facility usage information D42 is information indicating a user (specifically, a user ID) visiting the facility in association with information on the user's planned stay at the facility. In this embodiment, the planned stay information is information on the planned stay date and time including the planned stay date and planned stay time period (defined by the planned entry time and planned exit time) on which the user plans to stay at the facility, which are designated in advance by the user to book a visit to the facility.
[0067] [Management Server] The management server 50 manages the operation of the system 1 in which grid computing is implemented. The management server 50 is owned by the operator who operates the system 1.
[0068] 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, the output unit 502, the communication unit 503, the storage unit 504, and the control unit 505 of the management server 50 are the same as the configurations of the input unit 301, the output unit 302, the communication unit 303, the storage unit 304, and the control unit 305 of the client server 30. In addition, the memory unit 504 of the management server 50, together with the memory unit 404 of the facility server 40 described above, functions as an example of a "memory device" in the present invention, and the control unit 505 of the management server 50, together with the control unit 405 of the facility server 40 described above, functions as an example of a "control device" in the present invention.
[0069] In this example, the storage unit 504 stores a user table D51, a processing 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.
[0070] The user table D51 is a table for managing users. For each user, the user table D51 registers a user ID set for that user, a vehicle ID set for the vehicle 10 owned by that user, a calculation device ID set for the calculation device 105 owned by that user, a user terminal ID set for the user terminal 20 owned by that user, and the like.
[0071] The arithmetic device table D52 is a table for managing the arithmetic devices 105. In the arithmetic device table D52, for each arithmetic device 105, a arithmetic device ID set in the arithmetic device 105, a user ID set for the user who owns the arithmetic device 105, a vehicle ID set in the vehicle 10 in which the arithmetic device 105 is mounted, and the like are registered.
[0072] Furthermore, in the arithmetic device table D52, the performance of the arithmetic device 105 (computational capacity, ratio of CPU to GPU, etc.), the operation status of the arithmetic device 105 (operation history and operation schedule), etc. are registered for each arithmetic device 105. In other words, the arithmetic device table D52 includes operation status information D5 indicating the operation status of each of the multiple arithmetic devices 105, and performance information D6 indicating the performance of each of the multiple arithmetic devices 105. The performance information D6 includes computational capacity information D7 indicating the computational capacity of each of the multiple arithmetic devices 105.
[0073] The client table D53 is a table for managing clients. For each client, the client ID set for that client, the 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 are registered in the client table D53.
[0074] The job table D54 is a table for managing jobs requested by clients. For each job, the reception number set for that job, the client ID set for the client who requested the job, the name and content of the job, etc. are registered in the job table D54. In addition, for each job, the job table D54 registers the calculation type and processing conditions of the job data corresponding to that job, the required calculation capacity which is the calculation capacity required for the calculation of the job data, the delivery date set for that job, etc.
[0075] The resource table D55 is a table for managing the computing power in grid computing processing. Specifically, the resource table D55 registers, for each computing device 105, the computing device ID set in that computing device 105, a predicted result of a temporal change in the computing power available in the grid computing processing of that computing device 105, and the like. The matching table D56 registers, for each job, the reception number set in that job, the job data corresponding to that job, the computing device ID set in the computing device 105 assigned to that job data, and the like.
[0076] The job data D1 stored in the storage unit 504 is job data D1 accepted by a job acceptance process described later. The calculation result data D2 stored in the storage unit 504 is job data calculated by a grid computing process described later, and indicates the result of the calculation.
[0077] Next, the update of the user table D51 will be described. The user table D51 is updated by the control unit 505 of the management server 50. For example, when a new user joins the system 1, the control unit 505 updates the user table D51 by registering information related to the new user in the user table D51. Specifically, the control unit 505 sets a new user ID for the new user, associates the "user ID" set for the new user with the "vehicle ID" set for the vehicle 10 owned by the user, the "computing device ID" set for the computing device 105 mounted on the vehicle 10, and the "user terminal ID" set for the user terminal 20 owned by the new user, and registers them in the user table D51.
[0078] It is possible to obtain a "vehicle ID" and a "computing device ID" related to the new user through communication between the vehicle 10 owned by the new user and the management server 50. It is also possible to obtain a "user terminal ID" related to the new user through communication between the user terminal 20 owned by the new user and the management server 50.
[0079] [Update Calculation Unit Table] Next, the update of the arithmetic device table D52 will be described. The arithmetic device table D52 is updated by the control unit 505 of the management server 50. For example, when a new arithmetic device 105 joins the system 1, the control unit 505 updates the arithmetic device table D52 by registering information related to the new arithmetic device 105 in the arithmetic device table D52. Specifically, the control unit 505 associates the "arithmetic device ID" set in the new arithmetic device 105, the "user ID" set in the user who owns the arithmetic device 105, the "vehicle ID" set in the vehicle 10 on which the arithmetic device 105 is mounted, and the "performance" and "operation status" of the arithmetic device 105, and registers them in the arithmetic device table D52.
[0080] It is possible to obtain the "calculation device ID", "vehicle ID", "performance", and "operation status" related to the new arithmetic device 105 by communication between the vehicle 10 equipped with the new arithmetic device 105 and the management server 50. It is also possible to obtain the "user ID" related to the new arithmetic device 105 by referring to the user table D51.
[0081] [Periodic update of calculation unit table] In addition, the “operation status” of the arithmetic device 105 registered in the arithmetic device table D52 is periodically updated. In other words, the operation status information D5 included in the arithmetic device table D52 is periodically updated. This periodic update is performed by the control unit 505 of the management server 50.
[0082] (First update process) For example, the "operation status" of the arithmetic device 105 in the arithmetic device table D52 (in other words, the operation status information D5) may be periodically updated based on the "operation history information D15" of the vehicle 10. Specifically, the control unit 505 may execute the following first update process for each arithmetic device 105 registered in the arithmetic device table D52.
[0083] In the first update process, the control unit 505 requests the vehicle 10 equipped with the arithmetic device 105 to access the "operation history information D15". In response to the request, the arithmetic device 105 of the vehicle 10 permits access to the "operation history information D15". The control unit 505 updates the "operation history", which is the past operation status, of the "operation status" of the arithmetic device 105 registered in the arithmetic device table D52, based on the operation history of the arithmetic device 105 indicated in the operation history information D15.
[0084] (Second update process) Furthermore, the "operation status" of the arithmetic device 105 in the arithmetic device table D52 (in other words, the operation status information D5) may be periodically updated based on the "travel history information D13" of the vehicle 10. Specifically, the control unit 505 may execute the following second update process for each arithmetic device 105 registered in the arithmetic device table D52.
[0085] In the second update process, the control unit 505 requests the vehicle 10 equipped with the arithmetic device 105 to access the "driving history information D13". In response to the request, the arithmetic device 105 of the vehicle 10 permits access to the "driving history information D13". The control unit 505 estimates the operation history of the arithmetic device 105 based on the driving history of the vehicle 10 indicated in the driving history information D13. Next, the control unit 505 updates the "operation history", which is the past operation status, of the "operation status" of the arithmetic device 105 registered in the arithmetic device table D52 based on the estimated operation history of the arithmetic device 105.
[0086] (Third update process) Furthermore, the "operation status" of the arithmetic device 105 in the arithmetic device table D52 (in other words, the operation status information D5) may be periodically updated based on the "schedule information D23" of the user terminal 20. Specifically, the control unit 505 may execute the following third update process for each arithmetic device 105 registered in the arithmetic device table D52.
[0087] In the third update process, the control unit 505 requests the user terminal 20 owned by the user who owns the arithmetic device 105 to access "schedule information D23". The control unit 205 of the user terminal 20 allows access to "schedule information D23" in response to the request. The control unit 505 detects a behavioral situation related to the vehicle 10 in which the arithmetic device 105 is mounted from the behavioral situation of the user (behavior history and behavior plan) shown in the schedule information D23. For example, from the behavior history, which is a past behavioral situation among the user's behavioral situations, a behavioral history in which the user boarded the vehicle 10 is detected, and from the behavior plan, which is a future behavioral situation among the user's behavioral situations, a behavior plan in which the user plans to board the vehicle 10 is detected.
[0088] Next, the control unit 505 estimates the driving status (driving history and driving schedule) of the vehicle 10 based on the detected behavioral status of the user. Next, the control unit 505 estimates the operation status (operation history and operation schedule) of the arithmetic device 105 based on the estimated driving status of the vehicle 10. Then, the control unit 505 updates the "operation status" of the arithmetic device 105 registered in the arithmetic device table D52 based on the estimated operation status of the arithmetic device 105.
[0089] (Fourth update process) Furthermore, the "operation status" of the arithmetic device 105 in the arithmetic device table D52 (in other words, operation status information D5) may be periodically updated based on the "facility usage information D42" of the facility server 40. Specifically, the control unit 505 may execute the following fourth update process for each arithmetic device 105 registered in the arithmetic device table D52.
[0090] In the fourth update process, the control unit 505 requests the facility server 40 to access the "facility usage information D42". In response to the request, the facility server 40 permits access to the "facility usage information D42". The control unit 505 detects usage related to the vehicle 10 in which the arithmetic device 105 is mounted from the usage status (usage history and usage schedule) of the facility indicated in the facility usage information D42. For example, from the usage history, which is the past usage status among the facility usage status, a usage history in which the user boarded the vehicle 10 is detected, and from the usage schedule, which is the future usage status among the facility usage status, a usage schedule in which the user plans to board the vehicle 10 is detected.
[0091] Next, the control unit 505 estimates the driving status (driving history and driving schedule) of the vehicle 10 based on the detected usage status of the facility. Next, the control unit 505 estimates the operation status (operation history and operation schedule) of the arithmetic device 105 based on the estimated driving status of the vehicle 10. Next, the control unit 505 updates the "operation status" of the arithmetic device 105 registered in the arithmetic device table D52 based on the estimated operation status of the arithmetic device 105.
[0092] [Update Client Table] Next, an explanation will be given of updating the client table D53. The client table D53 is updated by the control unit 505 of the management server 50. For example, when a new client joins the system 1, the control unit 505 updates the client table D53 by registering information related to the new client in the client table D53.
[0093] Specifically, the control unit 505 sets a new client ID for the new client, associates the "client ID" set for the new client, the "client server ID" set for the client server 30 owned by the new client, and the "person in charge," "address," and "telephone number" of the new client, and registers them in the client table D53.
[0094] By communication between the client server 30 and the management server 50, it is possible to obtain the "client server ID", "person in charge", "address" and "telephone number" of the new client.
[0095] [Processing according to this embodiment] Next, the processes performed in this embodiment will be specifically described. In this embodiment, a job reception process, a parking position designation process, and a grid computing process are mainly performed.
[0096] (Job acceptance processing) 8, a job reception process performed by the control unit 505 of the management server 50 in this embodiment will be described. In the job reception process, job data D1 for which a calculation is requested by a client is received. For example, the control unit 505 of the management server 50 performs the following process every time a calculation of the job data D1 is requested by the client.
[0097] First, in step S1, the management server 50 accepts a job request from a client. Specifically, in response to an operation by a person in charge of the client, the client server 30 transmits a job request application to the management server 50. In response to the application, the control unit 505 of the management server 50 performs the following processes.
[0098] The control unit 505 requests the client server 30 to transmit information required for accepting a job (specifically, client information related to the client requesting the job and job information related to the job). In this example, the control unit 505 transmits image data of a job acceptance screen to the client server 30. The control unit 305 of the client server 30 reproduces an image of the job acceptance screen from the image data, and causes the output unit 302 (display unit) to output (display) the image.
[0099] 9, the job reception screen is a screen for inputting information required for receiving a job. The job reception screen includes a client name input field R101 for inputting the client name, a person in charge name input field R102 for inputting the client's person in charge name, an address input field R104 for inputting the client's address, a job name input field R111 for inputting the name of the job, a job content input field R112 for inputting an explanation of the job content, a calculation type input field R113 for inputting the calculation type of job data corresponding to the job, a processing condition input field R114 for inputting the processing conditions of the job data, a required calculation capacity input field R115 for inputting the required calculation capacity of the job data, a delivery date input field R116 for inputting the delivery date of the job, and a registration button B100.
[0100] The person in charge of the client operates the input unit 301 (operation unit) of the client server 30 to input necessary information into the job reception screen. This inputs client information about the client requesting the job and job information about the job. Then, after completing input of this information, the person in charge of the client operates the input unit 301 (operation unit) of the client server 30 to press the registration button B100 on the job reception screen. When the registration button B100 is pressed, the control unit 305 of the client server 30 transmits the information (client information and job information) input into the job reception screen to the management server 50. The control unit 505 of the management server 50 receives the client information and job information.
[0101] Next, the control unit 505 requests the client server 30 to transmit job data D1 corresponding to the job. In response to the request, the control unit 305 of the client server 30 transmits the job data D1 corresponding to the job to the management server 50. The control unit 505 of the management server 50 receives the job data D1.
[0102] Next, in step S2, the control unit 505 of the management server 50 analyzes the job data D1 received in step S1. Specifically, the control unit 505 analyzes the calculation type, processing conditions, required calculation capacity, etc. of the job data D1. Then, the control unit 505 corrects the job information received in step S1 based on the result of the analysis of the job data D1. Note that if the job information received in step S1 is sufficiently reliable, the process of step S2 may be omitted.
[0103] Next, in step S3, the control unit 505 of the management server 50 associates the client information received in step S1 with the job information corrected as necessary in step S2 (or the job information received in step S1), and registers them in the job table D54. The control unit 505 also stores in the storage unit 504 the job data D1 received in step S1.
[0104] (Parking location designation process) Next, the parking position designation process according to this embodiment will be described with reference to Fig. 10 to Fig. 14. Fig. 10 is a flowchart showing the parking position designation process according to this embodiment, Fig. 11 shows an example of an input screen (reservation screen) for the planned stay date and time according to this embodiment, Fig. 12 is a table showing an example of the allocation of designated parking positions according to this embodiment, Fig. 13 shows an example of a parking layout according to this embodiment, and Fig. 14 shows an example of a notification screen of the designated parking position according to this embodiment.
[0105] The parking position designation process according to this embodiment is executed by the control unit 505 of the management server 50 and the control unit 405 of the facility server 40. To give an overview of this parking position designation process, the control unit 405 of the facility server 40 sets in advance a parking position table in which a designated parking position set so that a plurality of vehicles 10 with overlapping stay time periods are located within a range in a parking area where vehicle-to-vehicle communication is possible is associated with each of a plurality of candidates for a stay time period during which the vehicle 10 can stay in a predetermined facility in which the facility server 40 is provided, and stores this parking position table in the storage unit 404. The control unit 405 of the facility server 40 also receives a planned stay date and time including a planned stay time period, which is previously designated by a user of the vehicle 10 equipped with the arithmetic device 105 to reserve a visit to a predetermined facility (in other words, to reserve parking the vehicle 10 in a parking area of the predetermined facility), and refers to the parking position table stored in the storage unit 404 to set a designated parking position associated with a stay time period corresponding to the user's planned stay time period, and transmits this designated parking position to the user.
[0106] On the other hand, the control unit 505 of the management server 50 identifies the number of vehicles 10 whose planned stay times overlap on the day based on the planned stay dates and times received by the day before the day the user visits a specific facility, and estimates the amount of job data (meaning the amount of original job data before being allocated to each computing device 105; the same applies below) that can be calculated on the day in grid computing based on the number of vehicles 10. When a user cancels a reservation for a visit on the planned stay date and time, the control unit 505 of the management server 50 adds a reserve user, which has been set in advance among multiple users who have specified the same planned stay date and time, as a user for distributing and processing the job data D1 in place of the canceled user, thereby realizing grid computing. The control unit 505 of the management server 50 also determines whether each of the multiple vehicles 10 whose designated parking positions have been transmitted is parked at the designated parking positions, and determines whether a vehicle group is formed by the multiple vehicles 10.
[0107] Specifically, when the parking position designation process of FIG. 10 is started, first, in step S11, the control unit 405 of the facility server 40 sets in advance a parking position table in which a designated parking position is set so that a plurality of vehicles 10 having overlapping stay time periods are located within a range in the parking area where vehicle-to-vehicle communication is possible (within 50 m) for each of the candidates for a plurality of stay time periods (defined by an entry time and an exit time) during which a vehicle can stay in a specific facility (see FIG. 12), and stores this parking position table in the storage unit 404 as facility information D41. In particular, the control unit 405 sets the designated parking positions in the parking position table so that a plurality of vehicles 10 having overlapping stay time periods (typically having the same stay time period) are located within a range in the parking area where vehicle-to-vehicle communication is possible, and each of the plurality of vehicles 10 is located adjacent to each other in the parking area. Note that the conditions for setting the designated parking positions in the parking area are presented in advance from the management server 50 to the facility server 40.
[0108] Next, in step S12, the control unit 405 of the facility server 40 determines whether or not it has received a planned stay date and time including a planned stay date and a planned stay time period, which is designated in advance by the user of the vehicle 10 equipped with the arithmetic device 105 to reserve a visit to a specific facility. In one example, the facility server 40 receives the planned stay date and time input by the user using the reservation page of the reservation site, which the user accesses using the user terminal 20 to reserve a visit to a specific facility (a site managed by the facility server 40). In this example, the user refers to an input screen (reservation screen) displayed on the output unit 202 as a display unit in the user terminal 20, and inputs the planned stay date and time using the input unit 201 as a touch sensor in the user terminal 20 (see FIG. 11). In the example of the input screen shown in FIG. 11, the user is to select one planned stay time period (for example, "11:00 to 13:00") from a plurality of candidates of the planned stay time period displayed for a specific date corresponding to the planned stay date in order to reserve a visit to a movie theater (in other words, to reserve parking of the vehicle 10 in a parking area of the movie theater). On this screen, a planned stay time slot marked with "◯" indicates a time slot that can be reserved, and a planned stay time slot marked with "X" indicates a time slot that cannot be reserved. The control unit 405 associates the received planned stay date and time with a user ID (which may include a vehicle ID) and stores the same in the storage unit 404 as facility usage information D42. In another example, the facility server 40 may receive a planned stay date and time that a user inputs on a PC or vehicle 10. If the control unit 405 of the facility server 40 determines that the planned stay date and time has been received (step S12: Yes), it proceeds to step S13, and if it determines that the planned stay date and time has not been received (step S12: No), it repeats the determination of step S12.
[0109] In step S13, the control unit 405 of the facility server 40 refers to the parking position table stored in the storage unit 404 as the facility information D41 in step S11, assigns to the user a designated parking position associated with the planned stay date and the planned stay time period corresponding to the planned stay date and time included in the planned stay date and time received in step S12, and transmits the designated parking position to the user. Each time the control unit 405 receives the planned stay date and time from multiple users, the control unit 405 assigns the user to each designated parking position set in the parking position table, and stores the information of the designated parking position assigned to the user in the storage unit 404 as the facility information D41 or the facility use information D42. In one example, the facility server 40 transmits the designated parking position assigned to the user to the user terminal 20, and the user terminal 20 displays a notification screen of the designated parking position on the output unit 202 as a display unit (see FIG. 14). In the example of the notification screen shown in FIG. 14, in addition to the planned stay date and the planned stay time period, a parking number indicating the designated parking position is displayed. In another example, the facility server 40 may transmit the designated parking position to the user's PC or vehicle 10, and notify the user of the designated parking position via these.
[0110] Here, a specific example shown in Fig. 12 and Fig. 13 will be described. In this example, the control unit 405 of the facility server 40 assigns designated parking positions A1 to A7 to users a, b, d, f, g, j, and k who have the same planned stay time period (corresponding to the stay time period in the parking position table) from 11:00 to 13:00, respectively, and assigns designated parking positions B1 to B5 to users c, e, h, i, and l who have the same planned stay time period from 13:00 to 14:00, respectively (see Fig. 12). Each of these designated parking positions A1 to A7 and designated parking positions B1 to B5 is located within a range in the parking area where vehicle-to-vehicle communication is possible, and the entire positions including the designated parking positions A1 to A7 and the designated parking positions B1 to B5 are adjacent to each other (see Fig. 13).
[0111] The control unit 405 of the facility server 40 preliminarily sets a spare user from among a plurality of users for each planned stay time slot (see FIG. 12). The purpose of setting a spare user in this manner is to realize grid computing by the arithmetic device 105 mounted on the vehicle 10 of the spare user when a user cancels a reservation for a visit at the planned stay time slot or when the arithmetic device 105 interrupts the processing of the job data D1 at the time of the planned stay time slot. From this viewpoint, the control unit 405 determines the number of spare users to be set for each planned stay time slot based on the number of vehicles 10 (in other words, the number of users) for which a user is expected to cancel a reservation for a visit at the planned stay time slot and the number of vehicles 10 (in other words, the number of users) for which the arithmetic device 105 is expected to interrupt the processing of the job data D1 while the arithmetic device 105 is processing the job data D1. For example, the number of spare users for each planned stay time slot is determined based on the actual values (the number of vehicles 10 that canceled and the number of vehicles 10 that the arithmetic device 105 interrupted the processing) obtained for each day of the week and time slot for the past month. 12, the control unit 405 sets two spare users, users j and k, for the planned stay time slot from 11:00 to 13:00, and sets one spare user, user l, for the planned stay time slot from 13:00 to 14:00. Also, for example, the control unit 405 sets a user who made a reservation at the latest time (hours) among multiple users who have made reservations for the same planned stay time slot as a spare user.
[0112] 10, in step S14, the control unit 405 of the facility server 40 transmits at least the planned stay date and time and the designated parking location to the management server 50 in association with the user ID (which may include the vehicle ID) in order to share the planned stay date and time of the user acquired in step S12 and the designated parking location set in step S13 with the management server 50. As a result, the management server 50 stores the received information such as the planned stay date and time and the designated parking location in association with the user ID in the storage unit 504. The facility server 40 also transmits the user ID (which may include the vehicle ID) of the spare user set as described above to the management server 50, and the management server 50 stores the information of the spare user in association with the user ID in the storage unit 504. For example, the control unit 505 of the management server 50 stores the information received from the facility server 40 in the user table D51 of the storage unit 504.
[0113] On the other hand, in step S21, the control unit 505 of the management server 50 identifies the number of vehicles 10 whose planned stay time slots overlap on the day based on information on a plurality of planned stay dates and times received from the facility server 40 by the day before the day the user visits a specific facility, and estimates the amount of job data that can be calculated on the day in grid computing based on the number of vehicles 10. Specifically, the control unit 505 uses the average computing power (predetermined) of a general computing device 105 to calculate the amount of job data according to the number of the identified vehicles 10 (i.e., the number of computing devices 105). For example, the control unit 505 calculates the amount of job data according to the number of vehicles 10 for each of a plurality of planned stay time slots on the same day, and calculates the total amount of job data calculated for each of the plurality of planned stay time slots as the amount of job data that can be calculated on the day.
[0114] In addition, the control unit 505 estimates the job data volume based on the number of vehicles 10 obtained by subtracting, from the number of vehicles 10 identified for each planned stay time period as described above, the number of vehicles 10 for which users are expected to cancel their reservations for visits at the planned stay date and time on that day and the number of vehicles 10 for which the arithmetic device 105 is expected to interrupt the processing of the job data D1 while the arithmetic device 105 is processing the job data D1. The number of vehicles 10 to be subtracted in this manner is specified for each of a plurality of planned stay time periods, and is basically the same as the number of reserve users described above. In other words, the number of vehicles 10 to be subtracted is set based on, for example, actual values obtained for each day of the week and time period for the past month (the number of vehicles 10 that were canceled and the number of vehicles 10 for which the arithmetic device 105 interrupted the processing). In one example, when the number of vehicles 10 that have reserved a certain planned stay time period is seven and the ratio corresponding to the past actual value (specifically, the ratio of the number of vehicles 10 that have been canceled and the number of vehicles 10 for which the calculation device 105 has suspended processing to the total number of reserved vehicles) is 20%, the control unit 505 subtracts two from seven to use five vehicles, and estimates the amount of job data that can be calculated by these five calculation devices 105.
[0115] Next, in step S22, the control unit 505 of the management server 50 judges whether or not the position where the vehicle 10 was actually parked in the parking area of the specified facility on the day (hereinafter referred to as "actual parking position") has been received from the vehicle 10. In this case, when the vehicle 10 is in a non-operating state (for example, a standby state such as a state where the ignition power is off or the accessory power is off) in the parking area of the specified facility, the control unit 505 transmits the vehicle status information D12 (including the vehicle position information indicating the position (latitude and longitude) of the vehicle 10 as described above) to the management server 50, and the control unit 505 of the management server 50 uses the vehicle position information included in this vehicle status information D12 as the actual parking position. If the control unit 505 judges that the actual parking position has been received (step S22: Yes), the control unit 505 proceeds to step S23, and if the control unit 505 judges that the actual parking position has not been received (step S22: No), the control unit 505 repeats the judgment of step S22.
[0116] In step S23, the control unit 505 of the management server 50 determines whether the vehicle 10 has been parked in the designated parking position set by the facility server 40, based on the designated parking position received from the facility server 40 and the actual parking position received from the vehicle 10. Specifically, the control unit 505 determines that the vehicle 10 has been parked in the designated parking position when the actual parking position matches the designated parking position. In addition, in determining whether the vehicle 10 has been parked in the designated parking position, the control unit 505 may, in another example, perform this determination based on the result of reading a marker (which can identify the parking position) provided in advance at each parking position in the parking area, using a camera or the like of the vehicle 10. In yet another example, a sensor such as a camera may be provided in the parking area, and the control unit 405 of the facility server 40 may perform this determination by acquiring the license plate number or the like of the parked vehicle 10.
[0117] In step S24, the control unit 505 of the management server 50 judges whether or not the user has cancelled the reservation for the visit at the planned stay date and time. For example, the user accesses the above-mentioned reservation site with the user terminal 20, and performs an operation input for cancelling the reservation at the planned stay date and time using the reservation page of this reservation site. Then, the facility server 40 transmits information on the reservation cancellation thus acquired via the reservation site (including the user ID of the user who cancelled the reservation) to the management server 50, and when the management server 50 receives this information, it judges that the user has cancelled the reservation (step S24: Yes). In this case, the control unit 505 of the management server 50 proceeds to step S25 and performs a process of adding a spare user. That is, the control unit 505 sets the arithmetic device 105 of the vehicle 10 of the spare user as a target for realising grid computing by distributing and processing the job data D1 on behalf of the user who cancelled the reservation. In this case, when performing the process of step S25, the control unit 505 uses the information of the spare user (particularly the user ID of the spare user) stored in the user table D51 of the storage unit 504 as described above.
[0118] Next, in step S26, the control unit 505 determines whether or not a vehicle group has been formed by multiple vehicles 10 that have reserved the same planned stay time slot parking in their designated parking positions, based on the parking position determination result in step S23. As a result, if the control unit 505 determines that a vehicle group has been formed (step S26: Yes), it ends the processing flow in FIG. 10. On the other hand, if the control unit 505 does not determine that a vehicle group has been formed (step S26: No), it returns to step S21. In this case, the control unit 505 repeats the processing of steps S21 to S26 until a vehicle group is formed.
[0119] The order of steps S22 and S23 and steps S24 and S25 may be interchanged. In other words, in the above embodiment, the reservation cancellation is determined after the parking location is determined, but in other examples, the parking location may be determined after the reservation cancellation is determined. In still other examples, these determinations may be performed in parallel.
[0120] (Grid Computing Processing) Next, the grid computing process performed by the control unit 505 of the management server 50 in this embodiment will be described with reference to Fig. 15. In the grid computing process, the control unit 505 of the management server 50 causes the arithmetic devices 105 mounted on each of the multiple vehicles 10 that constitute the vehicle group as a result of the parking position designation process in Fig. 10 to process the job data D1. For example, the control unit 505 performs the following processes after the job reception process and the parking position designation process.
[0121] First, in step S31, the control unit 505 of the management server 50 predicts the computational capacity of the arithmetic device 105 mounted on each of the multiple vehicles 10 constituting the vehicle group. Specifically, the control unit 505 predicts the computational capacity (computation amount), computation type, and computable schedule as the computational capacity of each arithmetic device 105 of the vehicle group based on the computation device table D52 stored in the storage unit 504 of the management server 50 and the vehicle state information D12 received from the vehicle 10. The computation type is the ratio of CPU and GPU included in the computation device table D52, and the computable schedule is specified by the computational time based on the battery state according to the vehicle battery remaining capacity information and vehicle charging information included in the vehicle state information D12. Then, the control unit 505 registers the information on the computational capacity of the entire vehicle group as computing grid information based on the computational capacity of each of the multiple computation devices 105 predicted in this way.
[0122] Next, in step S32, the control unit 505 allocates the job data D1 to be subjected to grid computing processing, which was accepted in the above job acceptance process (FIG. 8), to each of the arithmetic devices 105 constituting the grid of the vehicle group, based on the computing capacity of each arithmetic device 105 predicted in step S31. The job data D1 allocated to each arithmetic device 105 in this way is job data corresponding to the same job. Then, in step S33, the control unit 505 distributes (transmits) a portion of the job data D1 to each arithmetic device 105 based on the allocation result of step S32.
[0123] After this, the arithmetic device 105 of each of the vehicles 10 constituting the vehicle group processes a part of the distributed job data D1. At this time, in a preferred example, the control unit 505 of the management server 50 may transmit a request to the vehicle 10 on which the arithmetic device 105 performing grid computing in the parking area is mounted to turn on the lighting device 110. Then, in response to this request, each of the vehicles 10 constituting the vehicle group may turn on the lighting device 110 in a predetermined manner so that it is clear that the processing related to grid computing is currently being performed. For example, each of the vehicles 10 (vehicle group) parked adjacent to each other in a certain parking area turns on the lighting device 110 as an exterior lamp. In this case, it is preferable to turn on the exterior lamp in a specific color (such as green). In another example, the room lamp may be turned on in a specific color (such as blue) instead of the exterior lamp. In this way, by turning on the lighting devices 110 of the multiple vehicles 10, an advertising effect can be obtained by the vehicle group formed for grid computing.
[0124] Next, when each of the arithmetic devices 105 completes the calculation of the data (part of the job data D1) transmitted to that arithmetic device 105, it transmits the partial calculation result data obtained by the calculation to the management server 50. In step S34, the control unit 505 of the management server 50 receives the partial calculation result data transmitted from the arithmetic devices 105 and stores the partial calculation result data in the memory unit 504.
[0125] Next, in step S35, the control unit 505 judges whether the arithmetic device 105 has interrupted the processing of a part of the distributed job data D1 in the middle of processing the part, that is, whether any user has left while the arithmetic device 105 is calculating a part of the job data D1. For example, when the vehicle 10 on which the arithmetic device 105 is mounted changes from a non-operating state to an operating state (in one example, a state in which the ignition power is turned on) while the arithmetic device 105 is calculating a part of the job data D1, the control unit 505 judges that any user has left in the middle because the arithmetic device 105 interrupts (ends) the processing. In this case, the control unit 505 makes such a judgment based on the vehicle state information D12 transmitted from the vehicle 10. If the control unit 505 judges that any user has left in the middle (step S35: Yes), the control unit 505 proceeds to step S36, and if the control unit 505 does not judge that any user has left in the middle (step S35: No), the control unit 505 proceeds to step S37.
[0126] In step S36, the control unit 505 distributes the job data D1 that was distributed to the arithmetic device 105 of the user who left midway to the arithmetic device 105 of the spare user set as described above. In this way, a part of the job data D1 is newly distributed to the arithmetic device 105 of the spare user for processing, thereby realizing grid computing. In this case, the control unit 505 refers to the information of the spare users stored in the user table D51 of the storage unit 504, and determines a spare user to which the job data D1 is to be newly distributed (specifically, a spare user who has reserved the same planned stay date and time as the user who left midway).
[0127] Next, in step S37, the control unit 505 determines whether or not all of the arithmetic devices 105 to which the job data D1 was distributed in step S33 have completed calculations. If the control unit 505 determines that all of the arithmetic devices 105 have completed calculations (step S37: Yes), the control unit 505 proceeds to step S38, and if the control unit 505 does not determine that all of the arithmetic devices 105 have completed calculations (step S37: No), the control unit 505 returns to step S34.
[0128] Next, in step S38, the control unit 505 generates calculation result data D2 (calculation result data D2 indicating the result of the calculation of the job data D1) corresponding to the job data D1 to be subjected to the grid computing process 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 the job data D1 to be subjected to the grid computing process to the client server 30 of the client that requested the calculation of the job data D1.
[0129] Next, in step S39, the control unit 505 calculates a reward to be given to the user who provided the computing capacity of the arithmetic device 105 to the grid computing process by the operator of the system 1. Examples of the reward include points, virtual currency, and product discount benefits that can be used in the system 1. Specifically, the control unit 505 calculates a reward to be given to the user according to the amount of calculation that the arithmetic device 105 provided to the grid computing process. In this case, the control unit 505 increases the reward to be given to the user as the amount of calculation provided to the grid computing process increases.
[0130] Next, in step S40, the control unit 505 performs a process for granting the reward calculated in step S39 to the user. Examples of the process for granting the reward include a process for registering in the user table D51 a "user ID" set for the user and "points" (or virtual currency) available in the system 1 in association with each other, and a process for transmitting information indicating a discount benefit for a product to the user terminal 20 owned by the user. The information indicating the reward may be registered for each job in the job table D54. A reward may be granted from the client to a user who has provided the computing capacity of the computing device 105 to the grid computing process. For example, the control unit 305 of the client server 30 may execute a process for granting a reward to a user who has provided the computing capacity of the computing device 105 to the grid computing process. In addition, when the computing device 105 of the spare user processes a part of the job data D1 because a user has left in the middle of the process (step S35: Yes → step S36), it is preferable to grant the reward for the user who has left to the spare user.
[0131] [Action and Effects] Next, the operation and effect of this embodiment will be described. In this embodiment, the control unit 405 of the facility server 40 receives a planned stay date and time including a planned stay date and a planned stay time period for staying at a facility, which is designated in advance by a user of the vehicle 10 equipped with the arithmetic device 105 to book a visit to a specific facility, and sets a designated parking position where each of the multiple vehicles 10 should be parked in the parking area based on the planned stay dates and times of the multiple users so that the multiple vehicles 10 having the same planned stay date and overlapping planned stay time periods are located within a range (for example, within 50 m) in the parking area where vehicle-to-vehicle communication is possible, and transmits the designated parking position to each user of the multiple vehicles 10. On the other hand, when the multiple vehicles 10 are parked in the parking area in response to the transmission of such a designated parking position, the control unit 505 of the management server 50 causes the arithmetic device 105 equipped in each of the multiple vehicles 10 to process job data, thereby realizing grid computing.
[0132] According to this embodiment, grid computing is realized by the arithmetic devices 105 mounted on the vehicles 10 in a state where the vehicles 10 having overlapping planned stay times are parked within a range in a parking area where vehicle-to-vehicle communication is possible. As a result, during grid computing, vehicle-to-vehicle communication can be performed and computation data can be appropriately transferred between the multiple computation devices 105. In addition, the communication environment with the management server 50 can be uniformed among the multiple computation devices 105, and job data and the like can be appropriately transferred. Furthermore, by forming a vehicle group in a parking area of a specified facility using the multiple vehicles 10, the multiple computation devices 105 can be operated simultaneously for a relatively long period of time. As a result, for example, distributed computing can be appropriately realized in grid computing. As described above, according to this embodiment, when grid computing is performed using the multiple computation devices 105 mounted on the multiple vehicles 10 in a non-operating state, stable and highly reliable computation resources can be effectively secured.
[0133] Furthermore, according to this embodiment, a user specifies the planned date and time of stay in advance to book a visit to a specific facility. Based on the planned dates and times of stay thus specified in advance by multiple users, the number of vehicles 10 for each time period of the day can be ascertained. As a result, it becomes possible to easily estimate and adjust the amount of job data that can be calculated in a day in grid computing.
[0134] Furthermore, according to this embodiment, by gathering a plurality of vehicles 10 in a parking area of a given facility in a short distance (within a range where vehicle-to-vehicle communication is possible) for grid computing, it is possible to contribute to the operation of the facility. For example, in order to gather a plurality of vehicles 10 in a short distance in the parking area, the parking positions of the vehicles 10 are managed (controlled) to reduce congestion in the parking area. Furthermore, prior to managing the parking positions in this way, by grasping information such as the time visitors stay at the facility and the number of visitors, this information can be utilized in the operation of the facility.
[0135] Furthermore, in this embodiment, the storage unit 404 of the facility server 40 stores a parking position table in which designated parking positions are associated with each of a plurality of stay time periods during which vehicles 10 can stay at a specified facility, the designated parking positions being set so that the vehicles 10 having overlapping stay time periods are located within a range in the parking area where vehicle-to-vehicle communication is possible, and the control unit 405 of the facility server 40 refers to this parking position table and sets the designated parking position associated with the stay time period corresponding to the planned stay time period designated by the user. By using the parking position table in which the designated parking positions to be set for each stay time period are thus specified in advance, it is possible to assign appropriate designated parking positions to each of the plurality of vehicles 10.
[0136] Furthermore, in this embodiment, the parking position table sets the designated parking positions so that the multiple vehicles 10 having overlapping stay times are located within a range in the parking area where vehicle-to-vehicle communication is possible, and each of the multiple vehicles 10 is located adjacent to each other in the parking area. According to such a parking position table, by positioning each of the multiple vehicles 10 adjacent to each other in the parking area, it is possible to obtain an advertising effect by the group of vehicles formed for grid computing.
[0137] Furthermore, in this embodiment, the control unit 505 of the management server 50 identifies the number of vehicles 10 whose planned stay time zones overlap on the day based on the planned stay date and time received by the day before the day the user visits the specified facility, estimates the amount of job data that can be calculated on the day in grid computing based on this number of vehicles 10, and distributes this amount of job data to multiple calculation devices 105 for processing. This makes it possible to appropriately identify the number of vehicles 10 whose planned stay time zones overlap on the day based on the planned stay date and time specified in advance by the user to reserve a visit to the specified facility, and as a result, it is possible to obtain an appropriate amount of job data according to the number of vehicles 10 (i.e., the number of calculation devices 105).
[0138] Furthermore, in this embodiment, the control unit 505 of the management server 50 estimates the job data amount based on the number of vehicles 10 obtained by subtracting from the number of identified vehicles 10 the number of vehicles 10 for which users are expected to cancel reservations for visits on the planned stay date and time on that day, and the number of vehicles 10 for which the arithmetic device 105 is expected to interrupt processing of job data while this processing is in progress. This makes it possible to determine the amount of job data that can be reliably calculated on that day, even if reservations on the planned stay date and time are canceled or processing of job data is interrupted.
[0139] Furthermore, in this embodiment, the control unit 505 of the management server 50 presets a reserve user from among a plurality of users who have specified a planned stay date and time to reserve a visit to a specific facility, and when a user cancels a reservation for a visit at the planned stay date and time, or when the computing device 105 interrupts processing of job data while processing the job data, the control unit 505 of the management server 50 distributes the job data to the computing device 105 mounted on the reserve user's vehicle 10 and causes the processing, thereby realizing grid computing. As a result, even when a reservation for the planned stay date and time is canceled or processing of job data is interrupted, grid computing can be reliably realized by redistributing the job data to the computing device 105 of the reserve user preset in advance.
[0140] [Variations] In the above embodiment, the facility server 40 sets a parking position table in advance, refers to the parking position table, sets a designated parking position corresponding to the planned stay date and time received from the user, and transmits the designated parking position to the user. In another embodiment, the management server 50 may perform at least one of these processes instead of the facility server 40. In one example, the management server 50 may set a parking position table in advance, and when it receives a planned stay date and time from the user, refers to the parking position table, sets a designated parking position corresponding to the planned stay date and time, and transmits it to the user. In this example, only the management server 50 corresponds to the "management system," "storage device," and "control device" of the present invention. In another example, the facility server 40 sets a parking position table in advance and sets a designated parking position based on the parking position table, while the management server 50 receives a planned stay date and time from the user and transmits the planned stay date and time to the facility server 40, and receives a designated parking position from the facility server 40 and transmits the designated parking position to the user. In this example, the facility server 40 and the management server 50 correspond to the "management system," "storage device," and "control device" of the present invention. [Explanation of symbols]
[0141] 1 System 10 Vehicles 20 User terminal 30 Client Server 40 Facility Server 50 Management Server 104 Storage section 105 Arithmetic equipment 404 Storage section 405 Control Unit 504 Storage section 505 Control Unit D1 Job data
Claims
1. A management system for managing grid computing that causes a plurality of computing devices mounted on a plurality of vehicles to process job data, comprising: A storage device that stores information about a plurality of computing devices and / or a plurality of vehicles equipped with the computing devices; a control device configured to distribute the job data to each of a plurality of computing devices and cause them to process the job data based on the information stored in the storage device, thereby realizing the grid computing; The control device includes: receiving a planned stay date and time, the date and time including a planned stay date and a planned stay time period, which is designated in advance by a user of a vehicle equipped with the computing device in order to reserve a visit to a commercial facility having a parking area, on which the user plans to stay at the facility; based on the planned stay dates and times of a plurality of users, set designated parking positions at which each of the plurality of vehicles should be parked in the parking area such that the vehicles of the plurality of users whose planned stay dates overlap on the same day are located within a range in the parking area where vehicle-to-vehicle communication is possible, and transmit the designated parking positions to the respective users of the plurality of vehicles; When a plurality of vehicles are parked in the parking area in response to the transmission of the designated parking positions, the job data is processed by the arithmetic device mounted on each of the plurality of vehicles, thereby realizing the grid computing. The management system is configured as follows.
2. the storage device stores a parking position table in which the designated parking positions are associated with a plurality of stay time periods during which the vehicles can stay in the specified facility, the designated parking positions being set so that a plurality of vehicles having overlapping stay time periods are positioned within a range in the parking area where vehicle-to-vehicle communication is possible; The control device is configured to refer to the parking position table stored in the storage device, set the designated parking position associated with the stay time period corresponding to the user's planned stay time period, and transmit the designated parking position to the user. The management system according to claim 1 .
3. 3. The management system according to claim 2, wherein the parking position table sets the designated parking positions so that a plurality of vehicles having overlapping stay time periods are located within a range in the parking area where vehicle-to-vehicle communication is possible, and each of the plurality of vehicles is located adjacent to each other in the parking area.
4. 4. The management system according to claim 1, wherein the control device is configured to identify the number of vehicles whose planned stay times overlap on the day based on the planned stay date and time received by the day before the user visits the specified facility, estimate the amount of job data that can be calculated on the day in the grid computing based on this number of vehicles, and distribute this amount of job data to multiple computing devices for processing.
5. 5. The management system of claim 4, wherein the control device is configured to estimate the amount of job data based on the number of vehicles obtained by subtracting from the number of identified vehicles the number of vehicles for which users are expected to cancel reservations to visit the specified facility on the day and / or the number of vehicles for which the computing device is expected to interrupt processing of the job data while it is processing the job data.
6. 6. The management system according to claim 1, wherein the control device is configured to realize the grid computing by pre-setting a reserve user from among a plurality of users who have specified the planned stay date and time to reserve a visit to the specified facility, and distributing the job data to the calculation device installed in the vehicle of the reserve user for processing when a user cancels the reservation to visit the specified facility and / or when the calculation device interrupts the processing of the job data while it is processing the job data.
7. A management method for managing grid computing, in which job data is processed by a plurality of computing devices mounted on a plurality of vehicles, by a computer, comprising the steps of: storing information about the plurality of computing devices and / or the plurality of vehicles equipped with the computing devices; and a control step of distributing the job data to each of a plurality of computing devices based on the information stored in the storage step, and causing the computing devices to process the job data, thereby achieving the grid computing, The control step includes: receiving a planned stay date and time, including a planned stay date and a planned stay time period, which is designated in advance by a user of a vehicle equipped with the computing device in order to reserve a visit to a commercial facility having a parking area, for the user to stay at the facility; a step of setting designated parking positions at which each of the plurality of vehicles should be parked in the parking area based on the planned stay dates and times of the plurality of users, such that the plurality of vehicles of the plurality of users whose planned stay dates overlap on the same day are located within a range in the parking area where vehicle-to-vehicle communication is possible, and transmitting the designated parking positions to the respective users of the plurality of vehicles; When a plurality of vehicles are parked in the parking area in response to the transmission of the designated parking positions, the computing device mounted on each of the plurality of vehicles processes the job data, thereby realizing the grid computing; The management method according to claim 1,
Citation Information
Patent Citations
Distributed processing system, on-board terminal, and base station
JP2007089021A
Vehicle distributed processing system and vehicle distributed processing method
JP2013120526A
On-vehicle calculation device, vehicle, and system
JP2019175216A
Management server and program
JP2020160661A
Vehicle arithmetic processing unit, sever computer, and program
JP2021060651A