Information processing systems, information processing methods, programs, and cluster systems

The system addresses cluster system instability by dynamically determining management nodes in mobile devices, ensuring continuous processing in edge devices with unstable networks.

JP7845348B2Active Publication Date: 2026-04-14SONY GROUP CORP
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
SONY GROUP CORP
Filing Date
2022-01-14
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Cluster systems face instability due to management node detachment or communication failures, particularly in edge devices like vehicles, robots, and IoT devices, which can lead to processing interruptions.

Method used

An information processing system that operates on mobile devices, forms a cluster system, and includes a management node determination unit to dynamically determine a management node, along with worker node processing units, ensuring stable operation even in unstable network conditions.

Benefits of technology

Ensures continuous processing in cluster systems by dynamically adjusting node roles, maintaining system stability despite failures or network instability in edge devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007845348000001
    Figure 0007845348000001
  • Figure 0007845348000002
    Figure 0007845348000002
  • Figure 0007845348000003
    Figure 0007845348000003
Patent Text Reader

Abstract

The present technology relates to an information processing system, an information processing method, a program, and a cluster system, which are capable of improving stability of a cluster system. This information processing system operates in a mobile object, is connected to other information processing systems via a network to form a cluster system together with the other information processing systems, and comprises: a management node determination unit that executes management node determination processing of determining a management node that manages the cluster system in cooperation with the other information processing systems; a management node processing unit that executes processing of the management node when determined to serve as the management node by the management node determination processing; and a worker node processing unit that executes processing of a worker node other than the management node when determined to serve as the worker node by the management node determination processing. The present technology can be applied to a cluster system including a system that operates in a vehicle, for example.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present technology relates to an information processing system, an information processing method, a program, and a cluster system, and particularly relates to an information processing system, an information processing method, a program, and a cluster system that improve the stability of the cluster system.

Background Art

[0002] In recent years, cluster systems in which a plurality of systems cooperate to perform distributed processing have become widespread (see, for example, Patent Documents 1 and 2).

[0003] In a cluster system, a management node is provided to manage the entire cluster system and perform recovery processing when a failure occurs.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, if the management node detaches from the cluster system due to a failure of the management node itself or a communication failure, etc., the processing of the cluster system will stop. Therefore, for example, when a part of the cluster system operates on an edge device, the processing of the cluster system is likely to stop.

[0006] Here, edge devices refer to devices at the end of a network connection, such as vehicles, robots, drones, and IoT (Internet of Things) devices. Edge devices are typically used by users and can be powered on and off. Furthermore, edge devices are not always connected to the network via high-quality communication such as wired communication, and may be connected via unstable wireless communication. In addition, some edge devices, such as vehicles, are physically movable, which can lead to unstable or interrupted communication with the network.

[0007] Therefore, for example, if the management node resides in the cloud, a communication failure between the edge device and the cloud will cause the cluster system to stop processing on the edge device. For example, if the management node resides on an edge device, the cluster system will stop processing if the edge device is powered off.

[0008] This technology was developed in light of these circumstances and aims to improve the stability of cluster systems. [Means for solving the problem]

[0009] The first aspect of this technology is an information processing system that operates on a mobile device, is connected to other information processing systems via a network, forms a cluster system with the other information processing systems, and includes a management node determination unit that performs a management node determination process to determine a management node that manages the cluster system in cooperation with the other information processing systems; a management node processing unit that performs processing for the management node when it becomes the management node as a result of the management node determination process; and a worker node processing unit that performs processing for the worker node when it becomes a worker node other than the management node as a result of the management node determination process.

[0010] The first aspect of this technology is an information processing method that operates in a mobile device and is connected to other information processing systems via a network. The information processing system, which constitutes a cluster system with the other information processing systems, works in cooperation with the other information processing systems to perform a management node determination process to determine a management node that manages the cluster system. If the information processing process determines that the information processing system becomes a management node, it performs the processing for the management node. If the information processing process determines that the information processing system becomes a worker node other than a management node, it performs the processing for the worker node.

[0011] The program of the first aspect of this technology operates on a mobile device and is connected to other information processing systems via a network. It causes a computer that constitutes a cluster system with the other information processing systems to perform a management node determination process in cooperation with the other information processing systems to determine a management node that manages the cluster system. If the computer becomes the management node as a result of the management node determination process, it performs the processing for the management node. If the computer becomes a worker node other than the management node as a result of the management node determination process, it performs the processing for the worker node.

[0012] In the first aspect of this technology, a management node is determined to manage the cluster system in cooperation with other information processing systems. When a node becomes the management node, the processing of the management node is executed. When a node becomes a worker node other than the management node, the processing of the worker node is executed.

[0013] The second aspect of this technology is a cluster system comprising a plurality of information processing systems, wherein at least one of the information processing systems operates on a mobile device, and the plurality of information processing systems cooperate to perform a management node determination process to determine a management node that manages the cluster system, and the information processing system that becomes the management node through the management node determination process constructs the cluster system with the other information processing systems as worker nodes.

[0014] In a second aspect of the present technology, at least one information processing system operates in a moving body, a plurality of the information processing systems cooperate to determine a management node that manages a cluster system, and the information processing system that becomes the management node constructs the cluster system with the other information processing systems as worker nodes.

Brief Description of the Drawings

[0015] [Figure 1] It is a block diagram showing a configuration example of a vehicle control system. [Figure 2] It is a diagram showing an example of a sensing area. [Figure 3] It is a block diagram showing an embodiment of a cluster system to which the present technology is applied. [Figure 4] It is a flowchart for explaining the processing of the entire cluster system. [Figure 5] It is a flowchart for explaining the processing of the systems constituting the cluster system. [Figure 6] It is a flowchart for explaining the processing of the systems constituting the cluster system. [Figure 7] It is a flowchart for explaining the details of the management node determination process. [Figure 8] It is a block diagram showing a specific example of a cluster system to which the present technology is applied. [Figure 9] It is a sequence diagram showing a first specific example of the processing of the cluster system. [Figure 10] It is a sequence diagram showing a second specific example of the processing of the cluster system. [Figure 11] It is a sequence diagram showing a third specific example of the processing of the cluster system. [Figure 12] It is a block diagram showing a specific example of an in-vehicle system. [Figure 13] It is a diagram showing a configuration example of a computer.

Embodiments for Carrying Out the Invention

[0016] Hereinafter, embodiments for implementing the present technology will be described. The description will be made in the following order. 1. Configuration example of vehicle control system 2. Embodiment 3. Specific example 4. Variation 5. Others

[0017] <<1. Configuration example of vehicle control system>> FIG. 1 is a block diagram showing a configuration example of a vehicle control system 11 which is an example of a mobile device control system to which the present technology is applied.

[0018] The vehicle control system 11 is provided in the vehicle 1 and performs processes related to driving support and automatic driving of the vehicle 1.

[0019] The vehicle control system 11 includes a vehicle control ECU (Electronic Control Unit) 21, a communication unit 22, a map information storage unit 23, a position information acquisition unit 24, an external recognition sensor 25, an in-vehicle sensor 26, a vehicle sensor 27, a storage unit 28, a driving support / automatic driving control unit 29, a DMS (Driver Monitoring System) 30, an HMI (Human Machine Interface) 31, and a vehicle control unit 32.

[0020] The vehicle control ECU 21, communication unit 22, map information storage unit 23, location information acquisition unit 24, external recognition sensor 25, in-vehicle sensor 26, vehicle sensor 27, memory unit 28, driving support / automatic driving control unit 29, DMS 30, HMI 31, and vehicle control unit 32 are connected to each other so as to be able to communicate with one another via a communication network 41. The communication network 41 is composed of an in-vehicle communication network or bus that conforms to digital bidirectional communication standards such as CAN (Controller Area Network), LIN (Local Interconnect Network), LAN (Local Area Network), FlexRay (registered trademark), and Ethernet (registered trademark). The communication network 41 may be used differently depending on the type of data to be transmitted. For example, CAN may be applied to data related to vehicle control, and Ethernet may be applied to large-capacity data. In addition, each part of the vehicle control system 11 may be directly connected using wireless communication intended for relatively short-range communication, such as near-field communication (NFC) or Bluetooth (registered trademark), without going through the communication network 41.

[0021] In the following, when each part of the vehicle control system 11 communicates via the communication network 41, the description of the communication network 41 will be omitted. For example, when the vehicle control ECU 21 and the communication unit 22 communicate via the communication network 41, it will simply be described as the vehicle control ECU 21 and the communication unit 22 communicating.

[0022] The vehicle control ECU 21 is composed of various processors, such as a CPU (Central Processing Unit) and an MPU (Micro Processing Unit). The vehicle control ECU 21 controls the functions of the entire vehicle control system 11 or a part of it.

[0023] The communication unit 22 communicates with various devices inside and outside the vehicle, other vehicles, servers, base stations, etc., and transmits and receives various types of data. At this time, the communication unit 22 can communicate using multiple communication methods.

[0024] A brief explanation will be given regarding the external communication capabilities of the communication unit 22. The communication unit 22 communicates with servers located on an external network (hereinafter referred to as "external servers") via a base station or access point using wireless communication methods such as 5G (fifth-generation mobile communication system), LTE (Long Term Evolution), and DSRC (Dedicated Short Range Communications). The external network with which the communication unit 22 communicates is, for example, the internet, a cloud network, or a network specific to a carrier. The communication method used by the communication unit 22 to the external network is not particularly limited, as long as it is a wireless communication method that enables digital two-way communication at a predetermined communication speed and over a predetermined distance.

[0025] Furthermore, for example, the communication unit 22 can communicate with terminals located near the vehicle using P2P (Peer To Peer) technology. Terminals located near the vehicle include, for example, terminals worn by mobile bodies moving at relatively low speeds such as pedestrians and cyclists, terminals installed in fixed locations such as stores, or MTC (Machine Type Communication) terminals. In addition, the communication unit 22 can also perform V2X communication. V2X communication refers to communication between the vehicle and other vehicles, such as vehicle-to-vehicle communication with other vehicles, vehicle-to-infrastructure communication with roadside devices, etc., vehicle-to-home communication with homes, and vehicle-to-pedestrian communication with terminals carried by pedestrians, etc.

[0026] The communication unit 22 can, for example, receive programs from an external source (over the air) to update the software that controls the operation of the vehicle control system 11. The communication unit 22 can also receive map information, traffic information, information about the vehicle 1's surroundings, etc., from an external source. Furthermore, the communication unit 22 can transmit information about the vehicle 1 and information about the vehicle 1's surroundings to an external source. Information about the vehicle 1 that the communication unit 22 transmits to an external source includes, for example, data indicating the status of the vehicle 1 and recognition results from the recognition unit 73. Furthermore, the communication unit 22 can also perform communications corresponding to vehicle emergency notification systems such as e-Call.

[0027] For example, the communication unit 22 receives electromagnetic waves transmitted by road traffic information communication systems (VICS (Vehicle Information and Communication System) (registered trademark)) such as radio beacons, optical beacons, and FM multiplex broadcasting.

[0028] A brief overview of the communication capabilities of the communication unit 22 with the vehicle interior will be provided. The communication unit 22 can communicate with various devices in the vehicle, for example, using wireless communication. The communication unit 22 can communicate wirelessly with devices in the vehicle using communication methods that enable digital bidirectional communication at a predetermined or higher communication speed via wireless communication, such as Wi-Fi, Bluetooth, NFC, and WUSB (Wireless USB). Not limited to these, the communication unit 22 can also communicate with various devices in the vehicle using wired communication. For example, the communication unit 22 can communicate with various devices in the vehicle via wired communication through a cable connected to a connection terminal (not shown). The communication unit 22 can communicate with various devices in the vehicle using communication methods that enable digital bidirectional communication at a predetermined or higher communication speed via wired communication, such as USB (Universal Serial Bus), HDMI (High-Definition Multimedia Interface) (registered trademark), and MHL (Mobile High-definition Link).

[0029] Here, "devices inside the vehicle" refers to, for example, devices inside the vehicle that are not connected to the communication network 41. Examples of devices inside the vehicle include mobile devices and wearable devices carried by passengers such as the driver, and information devices that are brought into the vehicle and temporarily installed.

[0030] The map information storage unit 23 stores either or both maps acquired from external sources and maps created by the vehicle 1. For example, the map information storage unit 23 stores three-dimensional high-precision maps, global maps with lower precision than high-precision maps but covering a wide area, and so on.

[0031] High-precision maps include, for example, dynamic maps, point cloud maps, and vector maps. A dynamic map is, for example, a map consisting of four layers: dynamic information, semi-dynamic information, semi-static information, and static information, and is provided to vehicle 1 from an external server. A point cloud map is a map composed of point clouds (point cloud data). A vector map is, for example, a map that maps traffic information such as the location of lanes and traffic lights to a point cloud map, making it suitable for ADAS (Advanced Driver Assistance System) and AD (Autonomous Driving).

[0032] The point cloud map and vector map may be provided from, for example, an external server, or they may be created in the vehicle 1 as maps for matching with the local map described later, based on sensing results from the camera 51, radar 52, LiDAR 53, etc., and stored in the map information storage unit 23. In addition, if high-precision maps are provided from an external server, in order to reduce communication capacity, map data of, for example, several hundred meters square, relating to the planned route that the vehicle 1 will travel will be acquired from the external server.

[0033] The location information acquisition unit 24 receives GNSS (Global Navigation Satellite System) signals from GNSS satellites and acquires the location information of the vehicle 1. The acquired location information is supplied to the driving support / automatic driving control unit 29. The location information acquisition unit 24 is not limited to using GNSS signals; for example, it may acquire location information using beacons.

[0034] The external recognition sensor 25 is equipped with various sensors used to recognize the external conditions of the vehicle 1, and supplies sensor data from each sensor to various parts of the vehicle control system 11. The types and number of sensors equipped with the external recognition sensor 25 are arbitrary.

[0035] For example, the external recognition sensor 25 includes a camera 51, a radar 52, a LiDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging) 53, and an ultrasonic sensor 54. However, the external recognition sensor 25 may also be configured to include one or more of the cameras 51, radar 52, LiDAR 53, and ultrasonic sensor 54. The number of cameras 51, radar 52, LiDAR 53, and ultrasonic sensor 54 is not particularly limited as long as it is a number that can be realistically installed in the vehicle 1. Furthermore, the types of sensors included in the external recognition sensor 25 are not limited to this example, and the external recognition sensor 25 may include other types of sensors. Examples of the sensing areas of each sensor included in the external recognition sensor 25 will be described later.

[0036] The shooting method of camera 51 is not particularly limited. For example, various types of cameras capable of distance measurement, such as ToF (Time Of Flight) cameras, stereo cameras, monocular cameras, and infrared cameras, can be applied to camera 51 as needed. However, camera 51 may also be used simply for acquiring images, regardless of distance measurement.

[0037] Furthermore, for example, the external recognition sensor 25 may include an environmental sensor for detecting the environment relative to the vehicle 1. The environmental sensor is a sensor for detecting the environment such as weather, climate, and brightness, and may include various sensors such as a raindrop sensor, fog sensor, sunshine sensor, snow sensor, and illuminance sensor.

[0038] Furthermore, for example, the external recognition sensor 25 includes a microphone used for detecting sounds around the vehicle 1 and the location of sound sources.

[0039] The in-vehicle sensor 26 is equipped with various sensors for detecting information inside the vehicle and supplies sensor data from each sensor to various parts of the vehicle control system 11. The types and number of sensors equipped with the in-vehicle sensor 26 are not particularly limited as long as they are types and numbers that can realistically be installed in the vehicle 1.

[0040] For example, the in-vehicle sensor 26 can be equipped with one or more sensors from among a camera, radar, seat sensor, steering wheel sensor, microphone, and biosensor. The camera equipped in the in-vehicle sensor 26 can be a camera of various imaging types capable of distance measurement, such as a ToF camera, stereo camera, monocular camera, or infrared camera. However, it is not limited to these, and the camera equipped in the in-vehicle sensor 26 may simply be for acquiring images, regardless of distance measurement. The biosensor equipped in the in-vehicle sensor 26 is installed, for example, on the seat or steering wheel, and detects various biometric information of the driver or other passengers.

[0041] The vehicle sensor 27 is equipped with various sensors for detecting the state of the vehicle 1 and supplies sensor data from each sensor to various parts of the vehicle control system 11. The types and number of sensors equipped with the vehicle sensor 27 are not particularly limited as long as they are of a type and number that can be realistically installed on the vehicle 1.

[0042] For example, the vehicle sensor 27 includes a speed sensor, an acceleration sensor, an angular velocity sensor (gyro sensor), and an inertial measurement unit (IMU) that integrates them. For example, the vehicle sensor 27 includes a steering angle sensor for detecting the steering angle of the steering wheel, a yaw rate sensor, an accelerator sensor for detecting the amount of operation of the accelerator pedal, and a brake sensor for detecting the amount of operation of the brake pedal. For example, the vehicle sensor 27 includes a rotation sensor for detecting the rotation speed of the engine or motor, an air pressure sensor for detecting the air pressure of the tires, a slip ratio sensor for detecting the slip ratio of the tires, and a wheel speed sensor for detecting the rotation speed of the wheels. For example, the vehicle sensor 27 includes a battery sensor for detecting the remaining charge and temperature of the battery, and an impact sensor for detecting external impacts.

[0043] The storage unit 28 includes at least one of a non-volatile storage medium and a volatile storage medium, and stores data and programs. The storage unit 28 can be used as, for example, an EEPROM (Electrically Erasable Programmable Read Only Memory) and a RAM (Random Access Memory), and the storage medium can be a magnetic storage device such as an HDD (Hard Disk Drive), a semiconductor storage device, an optical storage device, or a magneto-optical storage device. The storage unit 28 stores various programs and data used by each part of the vehicle control system 11. For example, the storage unit 28 includes an EDR (Event Data Recorder) and a DSSAD (Data Storage System for Automated Driving), and stores information about the vehicle 1 before and after an event such as an accident, and information acquired by the in-vehicle sensors 26.

[0044] The driving assistance / automatic driving control unit 29 controls the driving assistance and automatic driving of the vehicle 1. For example, the driving assistance / automatic driving control unit 29 includes an analysis unit 61, an action planning unit 62, and an operation control unit 63.

[0045] The analysis unit 61 performs analysis processing on the vehicle 1 and its surroundings. The analysis unit 61 comprises a self-position estimation unit 71, a sensor fusion unit 72, and a recognition unit 73.

[0046] The self-position estimation unit 71 estimates the vehicle's position based on sensor data from the external recognition sensor 25 and a high-precision map stored in the map information storage unit 23. For example, the self-position estimation unit 71 generates a local map based on sensor data from the external recognition sensor 25 and estimates the vehicle's position by matching the local map with the high-precision map. The position of the vehicle 1 is based on, for example, the center of the rear wheel relative to the axle.

[0047] Local maps are, for example, three-dimensional high-precision maps created using technologies such as SLAM (Simultaneous Localization and Mapping), or occupancy grid maps. Three-dimensional high-precision maps are, for example, the point cloud maps mentioned above. Occupancy grid maps divide the three-dimensional or two-dimensional space around vehicle 1 into grids of a predetermined size and show the occupancy status of objects on a grid-by-grid basis. The occupancy status of objects is indicated, for example, by the presence or absence of an object or the probability of its existence. Local maps are also used, for example, in the detection and recognition processing of the external conditions of vehicle 1 by the recognition unit 73.

[0048] The self-position estimation unit 71 may estimate the vehicle 1's own position based on the position information acquired by the position information acquisition unit 24 and the sensor data from the vehicle sensor 27.

[0049] The sensor fusion unit 72 performs sensor fusion processing to obtain new information by combining multiple different types of sensor data (for example, image data supplied from the camera 51 and sensor data supplied from the radar 52). Methods for combining different types of sensor data include integration, fusion, and union.

[0050] The recognition unit 73 performs a detection process to detect the external conditions of the vehicle 1, and a recognition process to recognize the external conditions of the vehicle 1.

[0051] For example, the recognition unit 73 performs detection and recognition processing of the external conditions of the vehicle 1 based on information from the external recognition sensor 25, information from the self-position estimation unit 71, information from the sensor fusion unit 72, etc.

[0052] Specifically, for example, the recognition unit 73 performs detection and recognition processing of objects around the vehicle 1. Object detection processing includes, for example, detecting the presence, size, shape, position, and movement of objects. Object recognition processing includes, for example, recognizing attributes such as the type of object or identifying a specific object. However, detection processing and recognition processing are not necessarily clearly separated and may overlap.

[0053] For example, the recognition unit 73 detects objects around the vehicle 1 by performing clustering, which classifies the point cloud based on sensor data from the radar 52 or LiDAR 53 into clusters of points. This allows the presence, size, shape, and position of objects around the vehicle 1 to be detected.

[0054] For example, the recognition unit 73 detects the movement of objects around the vehicle 1 by performing tracking that follows the movement of clusters of points classified by clustering. This allows the velocity and direction of travel (movement vector) of objects around the vehicle 1 to be detected.

[0055] For example, the recognition unit 73 detects or recognizes vehicles, people, bicycles, obstacles, structures, roads, traffic lights, traffic signs, road markings, etc., based on image data supplied from the camera 51. The recognition unit 73 may also recognize the types of objects around the vehicle 1 by performing recognition processing such as semantic segmentation.

[0056] For example, the recognition unit 73 can perform recognition processing of traffic rules around the vehicle 1 based on the map stored in the map information storage unit 23, the self-position estimation result by the self-position estimation unit 71, and the recognition result of objects around the vehicle 1 by the recognition unit 73. Through this processing, the recognition unit 73 can recognize the location and status of traffic lights, the content of traffic signs and road markings, the content of traffic regulations, and the lanes that can be driven on.

[0057] For example, the recognition unit 73 can perform recognition processing of the environment surrounding the vehicle 1. The surrounding environment that the recognition unit 73 is intended to recognize may include weather, temperature, humidity, brightness, and road surface conditions.

[0058] The action planning unit 62 creates an action plan for vehicle 1. For example, the action planning unit 62 creates an action plan by performing route planning and route following processes.

[0059] Global path planning is the process of planning the general route from the start to the finish line. This path planning also includes a process called local path planning, which involves generating a track that allows vehicle 1 to move safely and smoothly in its vicinity, taking into account the vehicle's motion characteristics along the planned route.

[0060] Route following is the process of planning actions to safely and accurately travel along the route planned by the route planner within the planned time. The action planning unit 62 can, for example, calculate the target speed and target angular velocity of vehicle 1 based on the results of this route following process.

[0061] The motion control unit 63 controls the operation of the vehicle 1 in order to realize the action plan created by the action planning unit 62.

[0062] For example, the motion control unit 63 controls the steering control unit 81, brake control unit 82, and drive control unit 83, which are included in the vehicle control unit 32 described later, to perform acceleration / deceleration control and direction control so that the vehicle 1 moves along the trajectory calculated by the trajectory plan. For example, the motion control unit 63 performs coordinated control for the purpose of realizing ADAS functions such as collision avoidance or impact mitigation, follow driving, vehicle speed maintenance driving, collision warning of the vehicle, and lane departure warning of the vehicle. For example, the motion control unit 63 performs coordinated control for the purpose of autonomous driving, such as driving autonomously without driver operation.

[0063] The DMS30 performs driver authentication and driver status recognition based on sensor data from the in-vehicle sensors 26 and input data input to the HMI31, which will be described later. The driver status to be recognized may include, for example, physical condition, level of alertness, level of concentration, level of fatigue, gaze direction, level of intoxication, driving operation, and posture.

[0064] Furthermore, the DMS30 may perform authentication processing for passengers other than the driver and recognition processing for the status of said passengers. Also, for example, the DMS30 may perform recognition processing of the conditions inside the vehicle based on sensor data from the in-vehicle sensor 26. Examples of conditions inside the vehicle to be recognized include temperature, humidity, brightness, and odor.

[0065] HMI31 handles the input of various data and instructions, and presents various data to the driver or other personnel.

[0066] A brief explanation of data input by HMI31 is provided. HMI31 is equipped with an input device for human data input. HMI31 generates input signals based on data and instructions input by the input device and supplies them to each part of the vehicle control system 11. HMI31 is equipped with operators such as a touch panel, buttons, switches, and levers as input devices. However, HMI31 may further be equipped with input devices that allow information to be input by methods other than manual operation, such as voice or gestures. Furthermore, HMI31 may use external connected devices such as a remote control device using infrared or radio waves, or a mobile device or wearable device that corresponds to the operation of the vehicle control system 11, as input devices.

[0067] This section provides a brief overview of how HMI31 presents data. HMI31 generates visual, auditory, and tactile information for the occupant or those outside the vehicle. HMI31 also performs output control, managing the output, content, timing, and method of each generated piece of information. As visual information, HMI31 generates and outputs information indicated by images and light, such as operation screens, vehicle status displays, warning displays, and monitor images showing the surroundings of vehicle 1. As auditory information, HMI31 generates and outputs information indicated by sound, such as voice guidance, warning sounds, and warning messages. Furthermore, as tactile information, HMI31 generates and outputs information that is perceived by the occupant's sense of touch through force, vibration, movement, etc.

[0068] As output devices for visual information output by HMI31, for example, a display device that presents visual information by displaying images itself, or a projector device that presents visual information by projecting images, can be applied. In addition to display devices with ordinary displays, the display device may also be a device that displays visual information within the passenger's field of view, such as a head-up display, a transparent display, or a wearable device with AR (Augmented Reality) functionality. Furthermore, HMI31 can also use display devices such as navigation devices, instrument panels, CMS (Camera Monitoring System), electronic mirrors, and lamps installed in the vehicle 1 as output devices for visual information output.

[0069] For HMI31, output devices that output auditory information can include, for example, audio speakers, headphones, and earphones.

[0070] As an output device for HMI31 to output tactile information, for example, a haptic element using haptic technology can be applied. The haptic element is installed in parts of the vehicle 1 that are in contact with by the occupant, such as the steering wheel and the seat.

[0071] The vehicle control unit 32 controls various parts of the vehicle 1. The vehicle control unit 32 includes a steering control unit 81, a brake control unit 82, a drive control unit 83, a body system control unit 84, a light control unit 85, and a horn control unit 86.

[0072] The steering control unit 81 detects and controls the state of the steering system of the vehicle 1. The steering system includes, for example, a steering mechanism with a steering wheel, an electric power steering system, etc. The steering control unit 81 includes, for example, a steering ECU that controls the steering system, an actuator that drives the steering system, etc.

[0073] The brake control unit 82 detects and controls the state of the brake system of the vehicle 1. The brake system includes, for example, a brake mechanism including a brake pedal, an ABS (Antilock Brake System), a regenerative braking mechanism, etc. The brake control unit 82 includes, for example, a brake ECU that controls the brake system, an actuator that drives the brake system, etc.

[0074] The drive control unit 83 detects and controls the state of the vehicle 1's drive system. The drive system includes, for example, an accelerator pedal, a drive force generating device for generating driving force such as an internal combustion engine or drive motor, and a drive force transmission mechanism for transmitting driving force to the wheels. The drive control unit 83 also includes, for example, a drive ECU for controlling the drive system and actuators for driving the drive system.

[0075] The body system control unit 84 detects and controls the state of the body system of the vehicle 1. The body system includes, for example, a keyless entry system, a smart key system, power window devices, power seats, an air conditioning system, airbags, seat belts, a shift lever, etc. The body system control unit 84 also includes, for example, a body system ECU that controls the body system, actuators that drive the body system, etc.

[0076] The light control unit 85 detects and controls the status of various lights on the vehicle 1. Examples of lights to be controlled include headlights, taillights, fog lights, turn signals, brake lights, projection lights, bumper displays, etc. The light control unit 85 includes a light ECU for controlling the lights, actuators for driving the lights, etc.

[0077] The horn control unit 86 detects and controls the state of the vehicle's car horn. The horn control unit 86 includes, for example, a horn ECU for controlling the car horn, an actuator for driving the car horn, and so on.

[0078] Figure 2 shows examples of sensing areas using the camera 51, radar 52, LiDAR 53, and ultrasonic sensor 54 of the external recognition sensor 25 shown in Figure 1. In Figure 2, the vehicle 1 is schematically shown as viewed from above, with the left end being the front end of the vehicle 1 and the right end being the rear end of the vehicle 1.

[0079] Sensing regions 101F and 101B show examples of sensing regions of the ultrasonic sensor 54. Sensing region 101F covers the area around the front end of the vehicle 1 by multiple ultrasonic sensors 54. Sensing region 101B covers the area around the rear end of the vehicle 1 by multiple ultrasonic sensors 54.

[0080] The sensing results in sensing area 101F and sensing area 101B are used, for example, for parking assistance of vehicle 1.

[0081] Sensing areas 102F to 102B show examples of sensing areas for short-range or medium-range radar 52. Sensing area 102F covers a position further in front of vehicle 1 than sensing area 101F. Sensing area 102B covers a position further in rear of vehicle 1 than sensing area 101B. Sensing area 102L covers the rear periphery of the left side of vehicle 1. Sensing area 102R covers the rear periphery of the right side of vehicle 1.

[0082] The sensing results in sensing region 102F are used, for example, to detect vehicles or pedestrians in front of vehicle 1. The sensing results in sensing region 102B are used, for example, to prevent collisions behind vehicle 1. The sensing results in sensing regions 102L and 102R are used, for example, to detect objects in blind spots to the sides of vehicle 1.

[0083] Sensing areas 103F to 103B show examples of sensing areas by camera 51. Sensing area 103F covers a position further in front of vehicle 1 than sensing area 102F. Sensing area 103B covers a position further in rear of vehicle 1 than sensing area 102B. Sensing area 103L covers the periphery of the left side of vehicle 1. Sensing area 103R covers the periphery of the right side of vehicle 1.

[0084] The sensing results in sensing region 103F can be used, for example, for recognition of traffic lights and traffic signs, lane departure prevention support systems, and automatic headlight control systems. The sensing results in sensing region 103B can be used, for example, for parking assistance and surround view systems. The sensing results in sensing regions 103L and 103R can be used, for example, for surround view systems.

[0085] Sensing area 104 shows an example of the sensing area of ​​LiDAR 53. Sensing area 104 covers a position further in front of vehicle 1 than sensing area 103F. On the other hand, sensing area 104 has a narrower range in the left-right direction than sensing area 103F.

[0086] The sensing results in the sensing region 104 can be used, for example, to detect objects such as surrounding vehicles.

[0087] Sensing area 105 shows an example of the sensing area of ​​the long-range radar 52. Sensing area 105 covers a position further in front of vehicle 1 than sensing area 104. On the other hand, sensing area 105 has a narrower range in the left-right direction than sensing area 104.

[0088] The sensing results in sensing area 105 are used, for example, for ACC (Adaptive Cruise Control), emergency braking, collision avoidance, etc.

[0089] Furthermore, the sensing areas of the camera 51, radar 52, LiDAR 53, and ultrasonic sensor 54 included in the external recognition sensor 25 may take various configurations other than those shown in Figure 2. Specifically, the ultrasonic sensor 54 may also sense the sides of the vehicle 1, or the LiDAR 53 may be configured to sense the rear of the vehicle 1. In addition, the installation positions of each sensor are not limited to the examples described above. Also, there may be one or more sensors.

[0090] This technology relates to a cluster system in which at least a portion of the system operates on an edge device such as a vehicle (vehicle control system 11).

[0091] <<2. Embodiments>> Next, embodiments of this technology will be described with reference to Figures 3 to 7.

[0092] <Example of cluster system configuration> Figure 3 is a block diagram showing an example configuration of cluster system 201, which is one embodiment of a cluster system to which this technology is applied.

[0093] Cluster system 201 is composed of systems 211-1 through 211-n. Systems 211-1 through 211-n are interconnected via various networks (e.g., the Internet) not shown in the diagram, and are able to communicate with each other. Cluster system 201 operates as a single system from the user's perspective, with systems 211-1 through 211-n working together to perform distributed processing.

[0094] In the following, when it is not necessary to distinguish between systems 211-1 through 211-n individually, they will simply be referred to as system 211. Also, a cluster system may be referred to simply as a cluster. For example, cluster system 201 may be referred to simply as cluster 201.

[0095] Each system 211 is an information processing system composed of either hardware or software. For example, if system 211 is composed of software, multiple systems 211 can operate on the same hardware.

[0096] Furthermore, at least a portion of the system 211 is comprised of an edge device, such as vehicle 1, or operates on an edge device.

[0097] The number n of systems 211 can be set to any number greater than or equal to 1. Furthermore, the configuration of the cluster system 201 can be dynamically changed; that is, systems 211 of the cluster system 201 can be dynamically added or removed.

[0098] System 211-i (i=1~n) each comprises a management node determination unit 221-i, a management node processing unit 222-i, a worker node processing unit 223-i, and a control unit 224-i. The management node processing unit 222-i comprises a cluster management unit 231-i and an application (APP) management unit 232-i.

[0099] Hereafter, if it is not necessary to distinguish between the management node determination units 221-1 to 221-n individually, they will simply be referred to as the management node determination unit 221. Hereafter, if it is not necessary to distinguish between the management node processing units 222-1 to 222-n individually, they will simply be referred to as the management node processing unit 222. Hereafter, if it is not necessary to distinguish between the worker node processing units 223-1 to 223-n individually, they will simply be referred to as the worker node processing unit 223. Hereafter, if it is not necessary to distinguish between the control units 224-1 to 224-n individually, they will simply be referred to as the control unit 224. Hereafter, if it is not necessary to distinguish between the cluster management units 231-1 to 231-n individually, they will simply be referred to as the cluster management unit 231. Hereafter, if it is not necessary to distinguish between the application management units 232-1 to 232-n individually, they will simply be referred to as the application management unit 232.

[0100] The management node determination unit 221 works in cooperation with the management node determination units 221 of other systems 211 to perform a management node determination process to determine one management node from among the systems 211 that make up the cluster system 201.

[0101] Here, each system 211 constitutes a node in the cluster system 201. One of the nodes in the cluster system 201 becomes the management node, and the rest become worker nodes. The management node manages the cluster system 201 and the applications that run on the cluster system 201.

[0102] The management node processing unit 222 performs various processes related to the cluster system 201 when the system 211 is operating as a management node. The management node processing unit 222 is implemented, for example, by the system 211 executing a management service 212, which is software that acts as an interface with the user. As described above, the management node processing unit 222 includes a cluster management unit 231 and an application management unit 232.

[0103] The cluster management unit 231 manages the cluster system 201. Specifically, for example, the cluster management unit 231 performs tasks such as building and updating the cluster system 201. For example, the cluster management unit 231 monitors the status of each worker node.

[0104] The application management unit 232 manages the applications executed in the cluster system 201. Specifically, for example, the application management unit 232 determines the applications necessary to realize the processing of the cluster system 201 and assigns the applications to each worker node to be executed. This assigns roles to each node. In addition, for example, the application management unit 232 controls the processing of each worker node by issuing instructions for the processing of the applications executed by each worker node. For example, the application management unit 232 executes the processing of the applications assigned to it and sends the processing results to an external source as needed.

[0105] The worker node processing unit 223 performs various processes related to the cluster system 201 when the system 211 is operating as a worker node. For example, the worker node processing unit 223 communicates with the management node via the network and requests registration with the cluster system 201. For example, the worker node processing unit 223 monitors the status of the management node. For example, the worker node processing unit 223 executes the processing of assigned applications under the direction of the management node and sends the processing results externally as needed.

[0106] The control unit 224 controls the entire system 211.

[0107] Each system 211 may run an application independently, or it may run an application in cooperation with other systems 211. Figure 3 shows an example where two systems 211 cooperate to run one application, but three or more systems 211 may cooperate to run one application. Furthermore, each system 211 can run two or more types of applications.

[0108] Furthermore, the term "network" will be omitted below when each system 211 communicates via a network.

[0109] <Overall processing flow of cluster system 201> Next, the overall processing flow of the cluster system 201 will be explained with reference to the flowchart in Figure 4. Details of the processing of each system 211 will be described later with reference to Figures 5 and 6.

[0110] This process is initiated, for example, when a user requests the start of the process and that operation signal is sent to each system 211.

[0111] In step S1, each system 211 performs a management node determination process. The details of the management node determination process will be described later, but this determines one management node from among all systems 211.

[0112] In step S2, the management node starts the management service and notifies other systems 211 that it has started the management service.

[0113] In step S3, the management node constructs the cluster system 201 and begins managing the cluster system 201.

[0114] Specifically, systems 211 other than the management node request the management node to register them with the cluster system 201.

[0115] In response, the management node registers system 211, which was requested to be registered, as a worker node in the cluster system 201. This establishes the cluster system 201, which consists of the management node and the worker nodes. The management node also starts the update process for the cluster system 201, monitors the status of the worker nodes, and adds or removes worker nodes as needed.

[0116] In step S4, the management node begins managing applications. For example, the management node determines the applications necessary to implement the processing of the cluster system 201. The management node also assigns applications to each worker node and notifies each worker node of the assigned applications. At this time, a portion of the applications may be assigned to the management node itself. The management node also begins the process of dynamically changing the application placement in response to the addition and removal of worker nodes. Furthermore, the management node instructs each worker node on the processing of the applications it will run and begins the process of controlling the processing of each worker node.

[0117] In step S5, each node starts the application and begins processing. Specifically, each worker node starts the application notified by the management node. Each worker node also starts processing to execute the tasks instructed by the management node. The management node, if it is running an application, starts the application and begins processing the application.

[0118] In step S6, each worker node checks the status of the management node. For example, the management node periodically broadcasts a signal (hereinafter referred to as a heartbeat signal) to each worker node to notify them that the management node is alive.

[0119] In response, each worker node checks the status of the management node based on whether or not it has received a heartbeat signal from the management node.

[0120] In step S7, each worker node determines whether a management node exists. If a worker node receives a heartbeat signal from the management node within a predetermined time since the last time it received a heartbeat signal from the management node, it determines that the management node exists, and the process proceeds to step S8.

[0121] In step S8, the management node determines whether or not the termination of the process has been requested. If it is determined that the termination of the process has not been requested, the process returns to step S6.

[0122] Subsequently, steps S6 through S8 are repeatedly executed until it is determined in step S7 that no management node exists, or until it is determined in step S8 that termination of processing has been requested.

[0123] On the other hand, in step S7, if any worker node does not receive a heartbeat signal within a predetermined time since the last time it received a heartbeat signal from the management node, it is determined that the management node does not exist, and the process returns to step S1.

[0124] Subsequently, the processes from step S1 onward are executed. That is, since there are no longer any management nodes, the management node determination process is executed again, one management node is selected from among the worker nodes, and the cluster system 201 is rebuilt under the selected management node.

[0125] On the other hand, in step S8, if the management node receives an operation signal from a user requesting the termination of processing, for example, it determines that the termination of processing has been requested, and the process proceeds to step S9.

[0126] In step S9, the management node instructs the application to stop and stops the management service. Specifically, the management node instructs each worker node to stop the application. The management node also stops the management service and notifies each worker node of the management service's termination.

[0127] In step S10, each worker node stops the application.

[0128] After that, the processing on cluster system 201 will be completed.

[0129] <Processing of each system 211> Next, referring to Figures 5 and 6, the processes performed by each system 211 will be described.

[0130] In the following, the system 211 whose processing is explained by this flowchart will be referred to as "our system," and other systems 211 will be referred to as "other systems."

[0131] This process is initiated, for example, when the system itself is connected to the network that connects each system 211.

[0132] In step S51, the management node determination unit 221 executes the management node determination process. The details of the management node determination process will be described later, but the management node determination unit 221 works in cooperation with other systems to determine the management node.

[0133] In step S52, the management node determination unit 221 determines whether a management node already exists based on the result of the processing in step S51. If the management node determination unit 221 determines that a management node did not exist before the management node determination process, the process proceeds to step S53.

[0134] In step S53, the management node determination unit 221 determines whether or not it is a management node. If, as a result of the management node determination process, its own system is determined to be a management node, the management node determination unit 221 determines that it is a management node, and the process proceeds to step S54.

[0135] In step S54, system 211 starts and notifies the management service. Specifically, the management node determination unit 221 starts the management service. This starts the management node processing unit 222. Next, the cluster management unit 231 notifies other systems that the management service has been started.

[0136] In step S55, the cluster management unit 231 constructs the cluster system and begins managing the cluster.

[0137] Specifically, other systems that receive notification of the management service starting up request the management node to register with cluster system 201.

[0138] In response, the cluster management unit 231 performs the same process as in step S3 of Figure 4 described above.

[0139] In step S56, the application management unit 232 starts managing the application. That is, the application management unit 232 performs the same process as in step S4 of Figure 4 described above.

[0140] In step S57, the cluster management unit 231 determines whether or not it is online. If the cluster management unit 231 determines that it is online if its system is connected to the network and can communicate with worker nodes, the process proceeds to step S58.

[0141] In step S58, the cluster management unit 231 performs the same processing as in step S8 of Figure 4 described above and determines whether or not termination of the process has been requested. If it is determined that termination of the process has not been requested, the process returns to step S57.

[0142] Subsequently, steps S57 and S58 are repeatedly executed until it is determined in step S57 that the system is not online, or until it is determined in step S58 that the system has requested to terminate processing.

[0143] On the other hand, if it is determined in step S58 that termination of processing has been requested, the process proceeds to step S59.

[0144] In step S59, system 211 instructs the application to stop and terminates the management service. Specifically, the application management unit 232 instructs each worker node to stop the application. The cluster management unit 231 also stops the management service. The management node determination unit 221 notifies each worker node of the termination of the management service.

[0145] In response, each worker node stops the application.

[0146] After that, the processing of system 211 will be terminated.

[0147] On the other hand, if it is determined in step S57 that the system is not online, the process proceeds to step S60.

[0148] In step S60, the cluster management unit 231 stops the management service.

[0149] After that, the processing of system 211 will be terminated.

[0150] On the other hand, in step S53, if the management node determination unit 221 determines that it is not the management node if another system becomes the management node as a result of the management node determination process, the process proceeds to step S61.

[0151] In step S61, the worker node processing unit 223 determines whether or not the management service has started. This process is repeated until it is determined that the management service has started.

[0152] On the other hand, in step S61, if the worker node processing unit 223 receives notification from the management node that the management service has been started, it determines that the management service has been started, and proceeds to step S62.

[0153] Furthermore, if it is determined in step S52 that a management node already exists, the process proceeds to step S62.

[0154] In step S62, the worker node processing unit 223 executes the cluster registration process. Specifically, the worker node processing unit 223 requests the management node to register its own system with the cluster system 201.

[0155] In response, the management node registers system 211 as a worker node with cluster system 201.

[0156] In step S63, the worker node processing unit 223 performs the same processing as in step S5 of Figure 4 described above, starts the application, and begins processing.

[0157] In step S64, the worker node processing unit 223 performs the same processing as in step S6 of Figure 4 described above and checks the status of the management node.

[0158] In step S65, the worker node processing unit 223 determines whether or not a management node exists. If the worker node processing unit 223 receives a heartbeat signal within a predetermined time since the last time it received a heartbeat signal from the management node, and other worker nodes have not determined that the management node does not exist, it determines that the management node exists, and the process proceeds to step S66.

[0159] In step S66, the worker node processing unit 223 determines whether or not the application has been instructed to stop. If it is determined that the application has not been instructed to stop, the process returns to step S64.

[0160] Subsequently, steps S64 through S66 are repeatedly executed until it is determined in step S65 that the management node does not exist, or until it is determined in step S66 that the application has been instructed to stop.

[0161] On the other hand, in step S65, if the worker node processing unit 223 does not receive a heartbeat signal within a predetermined time since the last time it received a heartbeat signal from the management node, or if another worker node determines that the management node does not exist, it determines that the management node does not exist, and the process proceeds to step S67.

[0162] Furthermore, if the worker node processing unit 223 does not receive a heartbeat signal within a predetermined time after the last time it received a heartbeat signal from the management node, it notifies the other worker nodes that the management node does not exist.

[0163] In step S67, the worker node processing unit 223 stops the application.

[0164] Subsequently, the process returns to step S51, and the processes from step S51 onward are executed. That is, since there is no longer a management node, the management node determination process is executed again. After the management node is determined, the cluster system 201 is rebuilt, and the process continues.

[0165] On the other hand, if in step S66 the worker node processing unit 223 determines that the management node has instructed the application to be stopped, the process proceeds to step S68.

[0166] In step S68, the worker node processing unit 223 stops the application.

[0167] After that, the processing of system 211 will be terminated.

[0168] <Management node determination process> Next, referring to the flowchart in Figure 7, we will describe the details of the management node determination process performed by each system 211.

[0169] This example describes the process of determining the management node using the Raft protocol.

[0170] In step S101, the management node determination unit 221 obtains a priority file. For example, a user inputs a priority file, and the management node determination unit 221 obtains the input priority file.

[0171] Here, the priority file is a file that indicates the priority of each system 211 becoming a management node. In other words, the higher the priority of a system 211, the higher the probability of it becoming a management node, and the lower the priority of a system 211, the lower the probability of it becoming a management node.

[0172] For example, a user pre-sets the priority of each system 211 by considering one or more of the following: the capabilities of each system 211, the processing content, the purpose, and the operating environment. The user who sets the priority might be, for example, the administrator of the cluster system 201, or an administrator adding a specific system 211 to the cluster system 201.

[0173] For example, if the capabilities of each system 211 are equivalent, each system 211 will be assigned the same priority. This is assumed to be the case, for example, when each system 211 is composed of robots with equivalent specifications. In this case, the management node is determined by a majority vote, for example. Specifically, for example, systems 211 that meet certain conditions will sequentially nominate themselves as candidates for the management node and notify other systems 211 of their nomination. In response, each system 211 will vote for itself if it nominated itself, and if it is notified of a nomination by another system 211 before it nominated itself, it will vote for the system 211 that notified it first. The system 211 with the most votes will then become the management node.

[0174] On the other hand, if there are differences in the capabilities of each system 211, the system 211 with higher capabilities will be given a higher priority. For example, a system 211 with larger hardware resources such as CPU and memory will be given a higher priority. Conversely, a system 211 with smaller hardware resources such as CPU and memory will be given a lower priority.

[0175] For example, if each system 211 operates on the cloud and the vehicle control system 11, the system 211 operating on the more stable cloud will be given a higher priority. On the other hand, the system 211 operating on the less stable vehicle control system 11 will be given a lower priority.

[0176] For example, a system 211 that does not perform real-time processing is given a high priority. On the other hand, a system 211 that performs real-time processing is given a low priority. This is because real-time processing is of high importance, and this is to prevent delays in real-time processing caused by processing on the management node.

[0177] For example, systems 211 to be excluded from the management node candidates may be registered in the priority file. This makes it possible to exclude systems 211 that perform real-time processing or systems 211 with low performance from the management node candidates.

[0178] Furthermore, even if a system 211 is registered in the priority file as a candidate for a management node, it will be excluded from the list of management node candidates if, for example, it cannot communicate with other systems 211 due to a power outage or failure.

[0179] In step S102, the management node determination unit 221 determines whether or not a management node exists. For example, if the management node determination unit 221 does not receive a heartbeat signal within a predetermined time, it determines that no management node exists, and the process proceeds to step S103.

[0180] In step S103, the management node determination unit 221 determines whether or not Raft communication (Raft consensus protocol communication) is active. If it is determined that Raft communication is not active, the process proceeds to step S104.

[0181] In step S104, the management node determination unit 221 waits for the high-priority system to start up. Specifically, the management node determination unit 221 waits for other systems with a higher priority than its own system to start up, based on the priority file.

[0182] In step S105, the management node determination unit 221 determines whether a timeout has occurred. If it is determined that a timeout has occurred, that is, if the system waited for the high-priority system to start but the high-priority system did not start within a predetermined time, the process proceeds to step S106.

[0183] On the other hand, if it is determined in step S103 that Raft communication has started, the processes in steps S104 and S105 are skipped, and the process proceeds to step S106.

[0184] In step S106, the management node determination unit 221 determines a management node according to the Raft protocol. That is, the management node determination unit 221, in cooperation with other systems, determines a management node from among the candidate management nodes, including its own system, according to the LeaderElection of the Raft protocol.

[0185] After that, the management node determination process ends.

[0186] On the other hand, if a timeout is determined in step S105, that is, if a high-priority system starts up within the predetermined time, the process in step S106 is skipped, and the management node determination process ends. In this case, the system itself does not become a candidate for the management node, and the management node is determined from among the high-priority systems.

[0187] On the other hand, in step S102, if the management node determination unit 221 receives a heartbeat signal within a predetermined time, it determines that a management node exists, and the processing in steps S103 to S106 is skipped, and the management node determination process ends.

[0188] As described above, the flexibility of cluster system 201 is improved, and as a result, the stability of cluster system 201 is also improved.

[0189] Specifically, if a management node leaves cluster system 201, a management node is automatically selected and cluster system 201 is rebuilt without user intervention. This allows cluster system 201 to continue processing.

[0190] Furthermore, a system 211 consisting of devices that may have unstable operation or communication, such as edge devices, or a system 211 operating on such devices, can be added to the cluster system 301 and used as a management node.

[0191] Furthermore, based on priority, the appropriate management node can be selected depending on the situation. For example, a system that operates stably can be selected as the management node except in the event of a failure. Also, a system with sufficient capacity can be selected as the management node even in the event of a failure.

[0192] <<3. Specific Examples>> Next, with reference to Figures 8 to 12, a specific example of applying this technology to vehicle 1 (vehicle control system 11) will be described.

[0193] <Specific examples of cluster systems> Figure 8 shows an example configuration of cluster system 301, which is a specific example of cluster system 201 described above. Note that the same reference numerals are used for parts corresponding to those in Figure 1, and their explanations are omitted as appropriate.

[0194] The cluster system 301 comprises system 321 and systems 331-1 to 331-4. System 321 is a system located on the cloud 311. Systems 331-1 to 331-4 are systems located on the in-vehicle system 312.

[0195] The cloud 311 and the in-vehicle system 312 are connected via a network 313 such as the internet.

[0196] Cloud311 is composed of servers and other components, and operates stably.

[0197] System 321 of Cloud 311 is envisioned to be, for example, an operating system instance residing on a cloud infrastructure. For example, System 321 of Cloud 311 is envisioned to be an instance residing on a cloud service and accessible via the internet, a serverless service, etc.

[0198] System 321 is given a higher priority than systems 331-1 through 331-4 of the in-vehicle system 312. Furthermore, system 321 executes applications that do not output to the user, as needed.

[0199] The in-vehicle system 312 constitutes part of the vehicle control system 11 of the vehicle 1 shown in Figure 1. The in-vehicle system 312 includes the HMI 31 and systems 331-1 to 331-4.

[0200] Systems 331-1 to 331-4 are implemented, for example, by the vehicle control ECU 21 shown in Figure 1. Specifically, for example, systems 331-1 to 331-4 consist of systems residing on a physical chip and system instances created by virtualization. Systems 331-1 to 331-4 are interconnected via a network (not shown).

[0201] Note that ECUs managed by real-time operating systems such as microcontrollers are not considered as part of systems 331-1 through 331-4. This is because management services cannot be performed if the operating system is not running.

[0202] Hereafter, when it is not necessary to distinguish between Systems 331-1 through 331-4 individually, they will simply be referred to as System 331.

[0203] <Specific example of processing in cluster system 301> Next, a specific example of the processing of the cluster system 301 will be described with reference to the sequence diagrams in Figures 9 to 11.

[0204] <First specific example> First, with reference to the sequence diagram in Figure 9, we will explain a first specific example of the processing of the cluster system 301.

[0205] First, Cloud 311 is operating normally, the engine of vehicle 1 is stopped, and the in-vehicle system 312 is stopped. Then, in step S201, system 321 of Cloud 311 becomes the management node and starts the management service.

[0206] Next, an access failure occurs to cloud 311. That is, access from the in-vehicle system 312 to cloud 311 becomes impossible. As a result, in step S202, access from the in-vehicle system 312 to the management node, system 321, becomes impossible.

[0207] Furthermore, the cause of the access failure is not particularly relevant. For example, the cause of the access failure may be on the cloud 311 side, the in-vehicle system 312 side, or the network side.

[0208] Next, the engine of vehicle 1 starts up, and the in-vehicle system 312 starts up and begins operating. Then, in step S203, the HMI 31 starts displaying the user interface.

[0209] In parallel with the processing in step S203, in step S204, a management node determination process is performed among the systems 331 of the in-vehicle system 312. As a result, one of the systems 331 becomes the management node.

[0210] In step S205, all systems 331 of the in-vehicle system 312 except the management node join the cluster system 301. That is, the systems 331 other than the management node request the management node to register them with the cluster system 301. In response, the management node registers the other systems 331 as worker nodes in the cluster system 301. As a result, the cluster system 301 is reconstructed within the in-vehicle system 312, excluding the cloud 311.

[0211] In step S206, the management node starts the management service.

[0212] In step S207, the HMI 31 instructs the cluster system 301 to start content playback in response to user operation. Here, content refers to, for example, movies, music, etc., and includes at least one of video and audio.

[0213] In response, in step S208, the cluster system 301 deploys the applications and starts processing. Specifically, the management node receives an instruction from the HMI 31 to start content playback. The management node decides on the deployment of each application necessary to realize the content playback process. The management node also instructs each worker node to start its corresponding application and execute its corresponding processing.

[0214] In response, each worker node launches the application instructed by the management node and begins executing the instructed process. Additionally, each worker node initiates the process of sending the execution results (e.g., content data) to the management node as needed.

[0215] In step S209, the in-vehicle system 312 starts outputting content. Specifically, the management node starts outputting content data to the HMI 31. The HMI 31 starts outputting content (e.g., video and audio) based on the content data.

[0216] In step S210, the HMI 31 instructs the cluster system 301 to stop content playback in response to user operation.

[0217] In response, in step S211, the cluster system 301 stops the application. Specifically, the management node receives an instruction from HMI 31 to stop content playback. The management node instructs each worker node to stop the application. In response, each worker node stops the application.

[0218] In step S212, the in-vehicle system 312 stops outputting content. Specifically, the management node stops outputting content data to the HMI 31. The HMI 31 stops outputting content.

[0219] Thus, even if an access failure occurs to the cloud 311 before the in-vehicle system 312 starts up, the cluster system 301 can be built using only the system 331 of the in-vehicle system 312, and content playback can be performed.

[0220] <Second specific example> Next, with reference to the sequence diagram in Figure 10, a second specific example of the processing of the cluster system 301 will be described.

[0221] First, Cloud 311 is operating normally, the engine of vehicle 1 is stopped, and the in-vehicle system 312 is stopped. Then, in step S251, system 321 of Cloud 311 becomes the management node and starts the management service.

[0222] Next, the engine of vehicle 1 starts up, and the in-vehicle system 312 starts up and begins operating. Then, in step S252, the HMI 31 starts displaying the user interface.

[0223] In parallel with the processing in step S252, in step S253, a management node determination process is performed between each system 331 of the in-vehicle system 312 and system 321 of the cloud 311. Then, each system 331 recognizes system 321 of the cloud 311 as the management node.

[0224] In step S254, each system 331 of the in-vehicle system 312 joins the cluster system 301. That is, each system 331 requests registration to the cluster system 301 from system 321 of the cloud 311, which is the management node. System 321 registers each system 331 as a worker node in the cluster system 301.

[0225] Next, an access failure occurs in cloud 311. As a result, in step S255, access from the in-vehicle system 312 to the management node system 321 becomes impossible.

[0226] In response to this, in step S256, each system 331 of the in-vehicle system 312 detects that the management node is down.

[0227] In step S257, a management node determination process is performed among the systems 331 of the in-vehicle system 312, similar to the process in step S204 in Figure 9. As a result, one of the systems 331 becomes the management node.

[0228] Subsequently, in steps S258 to S265, the same process as in steps S205 to S212 in Figure 9 is performed.

[0229] Thus, even if an access failure occurs to the cloud 311 after the in-vehicle system 312 has started up and the cluster system 301 has been established, the cluster system 301 can be rebuilt and content playback can be performed using only the system 331 of the in-vehicle system 312.

[0230] <Third specific example> Next, with reference to the sequence diagram in Figure 11, a third specific example of the processing of the cluster system 301 will be described.

[0231] First, Cloud 311 is operating normally, the engine of vehicle 1 is stopped, and the in-vehicle system 312 is stopped. Then, in step S301, system 321 of Cloud 311 becomes the management node and starts the management service.

[0232] Next, the engine of vehicle 1 starts up, and the in-vehicle system 312 starts up and begins operating. Then, in step S302, the HMI 31 starts displaying the user interface.

[0233] In parallel with the processing in step S302, in step S303, a management node determination process is performed between each system 331 of the in-vehicle system 312 and the system 321 of the cloud 311, similar to the processing in step S253 in Figure 10.

[0234] In step S304, similar to the process in step S254 in Figure 10, each system 331 of the in-vehicle system 312 joins the cluster system 301.

[0235] In step S305, the HMI 31 instructs the cluster system 301 to start content playback in response to user operation.

[0236] In response, in step S306, the cluster system 301 deploys the applications and starts processing. Specifically, the system 321 of the cloud 311, which is the management node, receives an instruction from the HMI 31 to start content playback. The management node (system 321) also decides on the deployment of each application necessary to realize the content playback process. The management node also instructs each worker node to start its corresponding application and execute its corresponding processing.

[0237] In response, each worker node (each system 331 of the in-vehicle system 312) starts the application instructed by the management node and begins executing the instructed process.

[0238] In step S307, the in-vehicle system 312 starts outputting content. Specifically, at least one of the systems 331 of the in-vehicle system 312, which is a worker node, starts outputting content data to the HMI 31. The HMI 31 starts outputting content based on the content data.

[0239] Next, an access failure occurs in cloud 311. As a result, in step S308, system 321, which is the management node, becomes inaccessible.

[0240] In response to this, in step S309, the in-vehicle system 312 stops outputting content. Specifically, system 331 of the in-vehicle system 312, which is a worker node, stops outputting content data to HMI 31. HMI 31 stops outputting content.

[0241] Subsequently, in steps S311 to S316, the same process as in steps S204 to S209 in Figure 9 is executed. As a result, the cluster system 301 is rebuilt using only system 331 of the in-vehicle system 312, and content playback continues.

[0242] In this way, even if an access failure occurs to the cloud 311 during content playback, the cluster system 301 can be rebuilt using only the system 331 of the in-vehicle system 312, and content playback can continue.

[0243] <Specific example of in-vehicle system 312> Figure 12 shows a specific example of the in-vehicle system 312 shown in Figure 8.

[0244] The in-vehicle system 312 includes a mission-critical real-time system 411 and an entertainment-oriented non-real-time system 412.

[0245] The mission-critical real-time system 411 is essential for the operation of vehicle 1 and is a system that needs to perform processing in real time. The mission-critical real-time system 411 comprises ECUs 421 to 423 and mission-critical hardware 424.

[0246] ECUs 421 through 423 each control the mission-critical hardware 424. While this diagram shows an example with three ECUs, the number of ECUs is not particularly limited.

[0247] Mission-critical hardware 424 includes hardware essential for the operation of vehicle 1, such as the steering wheel, accelerator, and brakes, which must be controlled in real time.

[0248] The non-real-time entertainment system 412 is a system that implements entertainment applications within the vehicle 1, such as video playback, music playback, and a navigation system. The non-real-time entertainment system 412 does not necessarily need to process in real time. The non-real-time entertainment system 412 comprises a video processing unit 431, an audio processing unit 432, a navigation processing unit 433, and entertainment hardware 434.

[0249] The video processing unit 431 is composed of, for example, a processor or software, and controls the entertainment hardware 434 to perform processing such as video playback.

[0250] The audio processing unit 432 is composed of, for example, a processor or software, and controls the entertainment hardware 434 to perform processing such as music playback.

[0251] The navigation processing unit 433 is composed of, for example, a processor or software, and controls the entertainment hardware 434 to perform processing for the navigation system.

[0252] The entertainment hardware 434 includes, for example, hardware used in entertainment applications such as displays, speakers, and microphones.

[0253] ECUs 421 to 423, video processing unit 431, audio processing unit 432, and navigation processing unit 433 are interconnected via the in-vehicle control network 413.

[0254] Here, it is assumed that non-real-time systems such as the video processing unit 431, the audio processing unit 432, and the navigation processing unit 433 will be applied to the cluster system 301 in Figure 8. That is, the non-real-time systems such as the video processing unit 431, the audio processing unit 432, and the navigation processing unit 433 constitute the cluster system 301 as system 331 in Figure 8.

[0255] On the other hand, ECU421 to ECU423 are not particularly envisioned for application to the cluster system 301. That is, ECU421 to ECU423 need to perform mission-critical processing in real time. In contrast, the cluster system 301 is expected to involve system 331 switching and degraded operation, so it does not fall under the use cases of ECU421 to ECU423.

[0256] <<4. Variation>> The following describes some modifications of the embodiments of the present technology described above.

[0257] <Variations regarding the granularity of cluster systems> For example, in automotive systems, a crucial point is determining the appropriate level of granularity for building the cluster system. Here, the granularity of the cluster system refers to the physical size of the cluster system itself.

[0258] As mentioned above, a management node is always necessary for a cluster system. Therefore, increasing the granularity of the cluster system greatly increases the impact if the management node leaves. This is undesirable from the standpoint of security and stability.

[0259] Here, the following cases are considered as the granularity of the cluster system, including the in-vehicle system (the system above).

[0260] (1) In-vehicle system: Cluster system = 1:1 (2) In-vehicle system: Cluster system = N:1 (3) In-vehicle system: Cluster system = 1:N (4) In-vehicle system: Cluster system = N:M

[0261] N and M are integers greater than or equal to 2. Also, in Case 4, N and M may be the same value or they may be different values.

[0262] Case 1 is a case where one in-vehicle system constitutes one cluster system. In other words, Case 1 is a case where a system on one in-vehicle system belongs to one cluster system. Typically, Case 1 is expected to be applied when constructing a cluster system. The example in Figure 8 above corresponds to this Case 1.

[0263] Case 2 is a scenario where a single cluster system is constructed from multiple in-vehicle systems. In other words, Case 2 is a case where systems on multiple in-vehicle systems belong to a single cluster system. For example, Case 2 is expected to be applied when it is necessary to control multiple vehicles as a group for purposes other than consumer use such as entertainment or racing.

[0264] Case 3 is a scenario where multiple cluster systems are built using a single in-vehicle system. In other words, it is a case where a system on a single in-vehicle system belongs to multiple cluster systems.

[0265] Case 4 is a case in which multiple cluster systems are constructed from multiple in-vehicle systems. In other words, it is a case in which systems on multiple in-vehicle systems belong to multiple cluster systems.

[0266] This technology can handle any of Case 1 through Case 4. However, Case 1 is preferable from the standpoint of stability and security.

[0267] <Other variations> For example, within the same network system (for instance, a network system consisting of cloud 311, in-vehicle system 312, and network 313 in Figure 8), it is possible to simultaneously build multiple cluster systems using namespaces. Furthermore, it is also possible, for example, for the same system to belong to multiple cluster systems (namespaces).

[0268] For example, application management could be handled outside of the management system. For instance, the management system could manage the cluster system, while one of the worker nodes manages the applications.

[0269] The mobile devices to which this technology can be applied are not limited to vehicles. In other words, this technology can also be applied to systems consisting of mobile devices other than vehicles, or to cluster systems that include systems operating on mobile devices. Examples of such mobile devices include robots, drones, motorcycles, trains, ships, and airplanes.

[0270] This technology can also be applied to cluster systems that include edge devices other than mobile devices or systems operating on edge devices. Examples of such edge devices include smartphones, tablet devices, and personal computers.

[0271] This technology can also be applied, for example, to cluster systems that include multiple types of edge devices or multiple systems operating on multiple types of edge devices.

[0272] This technology can also be applied to cluster systems that include, for example, edge devices or systems that operate solely on edge devices.

[0273] <<5. Others>> <Example of computer configuration> The above series of processes can be executed either by hardware or by software. When the series of processes is executed by software, the program constituting the software is installed in a computer. Here, the computer includes a computer incorporated in dedicated hardware, or a general-purpose personal computer or the like that can execute various functions by installing various programs.

[0274] FIG. 13 is a block diagram showing a configuration example of the hardware of a computer that executes the above-described series of processes by a program.

[0275] In computer 1000, a CPU (Central Processing Unit) 1001, a ROM (Read Only Memory) 1002, and a RAM (Random Access Memory) 1003 are interconnected by a bus 1004.

[0276] An input / output interface 1005 is further connected to the bus 1004. An input unit 1006, an output unit 1007, a recording unit 1008, a communication unit 1009, and a drive 1010 are connected to the input / output interface 1005.

[0277] The input unit 1006 includes an input switch, buttons, a microphone, an imaging device, etc. The output unit 1007 includes a display, a speaker, etc. The recording unit 1008 includes a hard disk, a non-volatile memory, etc. The communication unit 1009 includes a network interface, etc. The drive 1010 drives a removable medium 1011 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.

[0278] In the computer 1000 configured as described above, the CPU 1001 loads, for example, a program stored in the recording unit 1008 into the RAM 1003 via the input / output interface 1005 and the bus 1004, and executes it, thereby performing the series of processes described above.

[0279] The program executed by computer 1000 (CPU 1001) can be provided by recording it on removable media 1011, such as a packaged media. The program can also be provided via wired or wireless transmission media, such as a local area network, the internet, or digital satellite broadcasting.

[0280] In computer 1000, programs can be installed in the recording unit 1008 via the input / output interface 1005 by inserting the removable media 1011 into the drive 1010. Alternatively, programs can be received by the communication unit 1009 via a wired or wireless transmission medium and installed in the recording unit 1008. Furthermore, programs can be pre-installed in the ROM 1002 or the recording unit 1008.

[0281] The programs executed by the computer may be programs that are processed chronologically in the order described herein, or they may be programs that are processed in parallel or at necessary times, such as when a call is made.

[0282] Furthermore, in this specification, a system means a collection of multiple components (devices, modules (parts), etc.), regardless of whether all components are located in the same enclosure or not. Therefore, multiple devices housed in separate enclosures and connected via a network, and a single device in which multiple modules are housed in one enclosure, are both considered systems.

[0283] Furthermore, the embodiments of this technology are not limited to those described above, and various modifications are possible without departing from the spirit of this technology.

[0284] For example, this technology can be configured as cloud computing, where a single function is shared and processed collaboratively by multiple devices via a network.

[0285] Furthermore, each step described in the flowchart above can be performed by a single device, or it can be divided and performed by multiple devices.

[0286] Furthermore, if a single step includes multiple processes, those processes can be executed by a single device or shared among multiple devices.

[0287] <Examples of configuration combinations> This technology can also be configured as follows:

[0288] (1) It operates in a mobile device, is connected to other information processing systems via a network, and forms a cluster system with the other information processing systems. A management node determination unit that, in cooperation with the aforementioned other information processing system, executes a management node determination process to determine the management node that manages the cluster system, When a node becomes the management node through the management node determination process, the management node processing unit executes the processing of the management node, If the worker node becomes a worker node other than the management node as a result of the management node determination process, the worker node processing unit that executes the worker node's processing and An information processing system equipped with the following features. (2) The worker node processing unit monitors the status of the management node, When it is determined by the worker node processing unit or another worker node that the management node does not exist, the management node determination unit executes the management node determination process in cooperation with the other worker nodes to determine a new management node. The information processing system according to (1) above. (3) When becoming the new management node, the management node determination unit reconstructs the cluster system. The information processing system according to (2) above. (4) When another worker node becomes the new management node, the worker node processing unit requests the new management node for registration to the cluster system. The information processing system according to (2) or (3) above. (5) The management node processing unit periodically notifies the worker nodes of the existence of the management node. The information processing system according to any one of (2) to (4) above. (6) The management node determination unit determines the management node based on a preset priority. The information processing system according to any one of (1) to (5) above. (7) The priority is set based on at least one of the capabilities, processing contents, uses, and operating environments of the information processing system and the other information processing systems. The information processing system according to (6) above. (8) The management node determination unit determines the management node by a majority vote of the information processing system and the other information processing systems from among the candidates for the management node. The information processing system according to any one of (1) to (7) above. (9) The management node processing unit constructs and updates the cluster system. The information processing system according to any one of (1) to (8) above. (10) The worker node processing unit requests the management node to register with the cluster system. The information processing system described in (9) above. (11) The management node processing unit further determines the roles of the worker nodes and issues instructions to the worker nodes for processing. The information processing system described in (9) or (10) above. (12) The management node processing unit determines the application that each worker node will execute and instructs each worker node to process the application that each worker node will execute. The information processing system described in (11) above. (13) The worker node processing unit executes processing according to instructions from the management node. The information processing system described in (11) or (12) above. (14) At least one of the other information processing systems is located outside the mobile body. An information processing system as described in any of (1) to (13) above. (15) At least one of the aforementioned other information processing systems resides on the cloud. The information processing system described in (14) above. (16) An information processing system that operates in a mobile device, is connected to other information processing systems via a network, and constitutes a cluster system with the other information processing systems, In cooperation with the aforementioned other information processing system, the system executes a management node determination process to determine the management node that manages the cluster system. If the management node is determined by the management node determination process, the processing of the management node is executed. If the management node determination process results in a worker node other than the management node, the worker node's processing is executed. Information processing methods. (17) It operates in a mobile device, is connected to other information processing systems via a network, and is a computer that forms a cluster system with the other information processing systems, In cooperation with the aforementioned other information processing system, the system executes a management node determination process to determine the management node that manages the cluster system. If the management node is determined by the management node determination process, the processing of the management node is executed. If the management node determination process results in a worker node other than the management node, the worker node's processing is executed. A program to execute a process. (18) In a cluster system composed of multiple information processing systems, At least one of the information processing systems operates in a mobile device, Multiple information processing systems work together to perform a management node determination process to determine the management node that manages the cluster system. The information processing system that becomes the management node through the management node determination process constructs the cluster system with other information processing systems as worker nodes. Cluster system. (19) The worker node monitors the status of the management node, If at least one of the worker nodes determines that the management node does not exist, the multiple worker nodes cooperate to perform the management node determination process and determine a new management node. The information processing system that has become the new management node through the management node determination process reconstructs the cluster system with the other information processing systems as worker nodes. The cluster system described in (18) above.

[0289] Furthermore, the effects described herein are merely illustrative and not limiting; other effects may also occur. [Explanation of Symbols]

[0290] 1 Vehicle, 11 Vehicle control system, 21 Vehicle control ECU, 31 HMI, 201 Cluster system, 211-1 to 211-n Systems, 212 Management service, 221-1 to 221-n Management node determination unit, 222-1 to 222-n Management node processing unit, 223-1 to 223-n Worker node processing unit, 224-1 to 224-n Control unit, 231-1 to 231-n Cluster management unit, 232-1 to 232-n Application management unit, 301 Cluster system, 311 Cloud, 312 In-vehicle system, 321, 331-1 to 331-4 Systems

Claims

1. It operates in a mobile device, is connected to other information processing systems via a network, and forms a cluster system with the other information processing systems. A management node determination unit that, in cooperation with the aforementioned other information processing system, executes a management node determination process to determine the management node that manages the cluster system, When a management node is determined through the management node determination process, the management node processing unit performs the construction and updating of the cluster system, If the worker node becomes a worker node other than the management node as a result of the management node determination process, the worker node processing unit requests the management node to register the worker node with the cluster system. An information processing system equipped with the following features.

2. The worker node processing unit monitors the status of the management node, If the worker node processing unit or another worker node determines that the management node does not exist, the management node determination unit will work in cooperation with other worker nodes to execute the management node determination process and determine a new management node. The information processing system according to claim 1.

3. The management node determination unit reconstructs the cluster system when it becomes a new management node. The information processing system according to claim 2.

4. The worker node processing unit requests the new management node to register with the cluster system if another worker node becomes the new management node. The information processing system according to claim 2.

5. The management node processing unit periodically notifies the worker nodes of the presence of the management node. The information processing system according to claim 2.

6. The management node determination unit determines the management node based on a pre-set priority. The information processing system according to claim 1.

7. The management node determination unit determines the management node from among the candidate management nodes by majority vote of the information processing system and the other information processing systems. The information processing system according to claim 1.

8. The management node processing unit further determines the roles of the worker nodes and issues instructions to the worker nodes for processing. The information processing system according to claim 1.

9. The management node processing unit determines the application that each worker node will execute and instructs each worker node to process the application that each worker node will execute. The information processing system according to claim 8.

10. The worker node processing unit executes processing according to instructions from the management node. The information processing system according to claim 8.

11. At least one of the other information processing systems is located outside the mobile body. The information processing system according to claim 1.

12. At least one of the aforementioned other information processing systems resides on the cloud. The information processing system according to claim 11.

13. An information processing system that operates in a mobile device, is connected to other information processing systems via a network, and constitutes a cluster system with the other information processing systems, In cooperation with the aforementioned other information processing system, the system executes a management node determination process to determine the management node that manages the cluster system. If the node becomes the management node through the management node determination process, the cluster system is constructed and updated. If the worker node becomes a node other than the management node as a result of the management node determination process, it requests the management node to register it with the cluster system. Information processing methods.

14. It operates in a mobile device, is connected to other information processing systems via a network, and is a computer that forms a cluster system with the other information processing systems, In cooperation with the aforementioned other information processing system, the system executes a management node determination process to determine the management node that manages the cluster system. If the node becomes the management node through the management node determination process, the cluster system is constructed and updated. If the worker node becomes a node other than the management node as a result of the management node determination process, it requests the management node to register it with the cluster system. A program to execute a process.

15. In a cluster system composed of multiple information processing systems, At least one of the information processing systems operates in a mobile device, Multiple information processing systems work together to perform a management node determination process to determine the management node that manages the cluster system. The information processing system that became the management node through the management node determination process constructs and updates the cluster system with other information processing systems as worker nodes. The information processing system, which has become a worker node, requests the information processing system, which has become a management node, to register with the cluster system. Cluster system.

16. The worker node monitors the status of the management node, If at least one of the worker nodes determines that the management node does not exist, the multiple worker nodes cooperate to perform the management node determination process and determine a new management node. The information processing system that has become the new management node through the management node determination process reconstructs the cluster system with the other information processing systems as worker nodes. The cluster system according to claim 15.

Citation Information

Patent Citations

  • Software automatic replacement method

    JP2005266939A

  • Distributed processing system, method of allocating processing, and information processing apparatus

    JP2010122773A

  • Methods, distributed systems, and computer programs for disaster recovery.

    JP2013516665A

  • Systems and methods for achieving road action consensus, for example among autonomous vehicles, in a network of moving things

    US20200090505A1