Information processing method and management server
Patent Information
- Application Number
- PCT/JP2026/011650
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-28
- Filing Date
- 2026-03-24
- Publication Date
- 2026-10-01
Smart Images

Figure JP2026011650_01102026_PF_FP_ABST
Abstract
Description
Information processing method and management server
[0001] The present invention relates to an information processing method and a management server.
[0002] In recent years, technological development for solving excessive power consumption has been actively promoted. For example, Patent Document 1 discloses a control method for controlling, when supplied power exceeds a grid capacity, surplus power exceeding the grid capacity to be supplied to arithmetic devices constituting a predetermined distributed computing system.
[0003] Japanese Patent No. 7078183
[0004] However, the invention according to Patent Document 1 has a problem that the processors of each distributed processing node (arithmetic device) cannot be switched to different modes in accordance with predetermined power conditions.
[0005] In one aspect, an object of the present invention is to provide an information processing method or the like that enables switching processors of each distributed processing node to different modes in accordance with predetermined power conditions.
[0006] An information processing method according to one aspect includes a plurality of distributed processing nodes, a wavelength division multiplexing optical network that interconnects the respective distributed processing nodes, and a management server that controls the respective distributed processing nodes, wherein the management server switches the processor of each distributed processing node to either an inference processing mode related to automatic driving of a mobile object or a second processing mode related to a blockchain system in accordance with a predetermined power condition.
[0007] In one aspect, it becomes possible to switch the processors of the respective distributed processing nodes to different modes in accordance with predetermined power conditions.
[0008] This is an explanatory diagram illustrating the overview of a scalable edge computing system. This is a block diagram showing an example of node configuration. This is a block diagram showing an example of management server configuration. This is an explanatory diagram showing an example of record layout for the automobile DB and mining DB. This is an explanatory diagram showing an example of record layout for the electricity price DB. This is an explanatory diagram explaining the process of identifying the mode. This is an explanatory diagram explaining the process of identifying the mode. This is an explanatory diagram explaining the process of identifying the mode. This is an explanatory diagram explaining the inference calculation model. This is a flowchart showing the processing procedure when switching modes according to power conditions. This is a flowchart showing the processing procedure for the subroutine of the mode switching process. This is a block diagram showing an example of management server configuration in Embodiment 2. This is an explanatory diagram showing an example of resource management DB record layout. This is a flowchart showing the processing procedure when adjusting the number of processors on a node according to the electricity market price. This is a flowchart showing the processing procedure when reducing the number of processors on a node when congestion occurs. This is a flowchart showing the processing procedure when identifying the processing load according to the geographical location of each node. This is a flowchart showing the processing procedure when identifying the processing load according to the power supply and demand status at each location.
[0009] The present invention will be described in detail below with reference to the drawings illustrating its embodiments.
[0010] (Embodiment 1) Embodiment 1 relates to a configuration in which the processor of each distributed processing node is switched to a different mode according to predetermined power conditions.
[0011] Figure 1 is an explanatory diagram illustrating the overview of a scalable edge computing system. The system of this embodiment includes a distributed processing node 1, a mobile device 2, and a management server 3. The management server 3 interconnects each distributed processing node 1 via a wavelength division multiplexing optical network N and transmits and receives information between each distributed processing node 1.
[0012] The wavelength division multiplexing optical network N uses multiple wavelength channels to perform data transfer between distributed processing nodes 1 in a mesh topology. A mesh topology is a type of network topology in which each node (computer or device, etc.) is directly connected to all other nodes.
[0013] Mesh topology is used to enhance network redundancy and fault tolerance. Furthermore, even if a failure occurs during communication, data can be sent and received using alternative paths, thus enabling the construction of a highly reliable network. Note that data transfer between each distributed processing node 1 may be performed using other network topologies, such as star topology or tree topology, rather than just mesh topology.
[0014] The distributed processing node 1 is an information processing device equipped with a processor 110 that uses a Reconfigurable Dataflow Architecture (RDA) as shown in Figure 1 (FIG. 1) of the patent document (US11714780B2). For details on the RDA processor, please refer to US11714780B2 and SambaNova®'s WHITEPAPER (Accelerated Computing with a Reconfigurable Dataflow Architecture, Published 2020, Computer Science, Engineering, [Corpus ID:248237991]). These are incorporated herein by reference.
[0015] Conventional computing systems, such as central processing units (CPUs) or graphics processing units (GPUs), perform calculations based on instruction-based or fixed hardware structures, making optimization for specific applications or computing tasks difficult and limiting their computational efficiency and performance. In particular, maximizing the efficiency of computing resource utilization and improving training and inference processing speeds is challenging in machine learning dealing with large datasets.
[0016] In this embodiment, RDA can be used to solve the problems of conventional computing systems. RDA is a reconfigurable data flow architecture that can dynamically change its configuration to efficiently perform computational processing. RDA is an architecture that optimizes computational processing or data flow by utilizing reconfigurable hardware, and is particularly used for parallel computing or highly efficient data processing.
[0017] Furthermore, RDA provides computations optimized for machine learning and, by configuring computation flows specifically for learning models, can process even large-scale learning models efficiently, thereby improving performance in training and inference.
[0018] In this embodiment, an example of a processor using RDA has been described, but the invention is not limited to this, and high-speed computing processors such as ASICs (Application Specific Integrated Circuits) may also be used.
[0019] The distributed processing node 1 executes the corresponding process (for example, mode switching process) in response to the execution command output from the management server 3. The distributed processing node 1 is either mounted on the mobile unit 2 or permanently installed at the base station.
[0020] Mobile vehicle 2 refers to a vehicle such as an automobile, truck, motorcycle, train, ship, airplane, spacecraft, or robot that moves to a predetermined location. In this embodiment, an example is described in which mobile vehicle 2 is an automobile, but the same can be applied to other types of mobile vehicles. For simplicity, mobile vehicle 2 will be read as automobile 2 below.
[0021] Furthermore, distributed processing node 1 is a computer (node) that constitutes a blockchain system (blockchain network), which is a distributed computing system, and is an information processing device (computer) that participates in the blockchain system as a miner. Distributed processing node 1 is equipped with a processor that uses RDA, for example, and performs computational processing related to the mining of cryptocurrencies such as Bitcoin (registered trademark) and Ethereum (registered trademark), or smart contract execution processing.
[0022] Cryptocurrencies are digital assets whose transaction history is recorded on a distributed ledger called a blockchain. Each node (miner) distributed across the blockchain system verifies the transaction details, making the transaction history difficult to tamper with. The type of cryptocurrency that a distributed processing node 1 mines is not particularly limited.
[0023] In this embodiment, for the sake of brevity, distributed processing node 1 will be read as node 1 below. In this embodiment, an example of node 1 mounted on automobile 2 is described, but it is not limited to this. For example, node 1 may be a server device, a personal computer, a tablet, or a smartphone.
[0024] The management server 3 is an information processing device that performs processing, storage, and transmission / reception of various types of information. In this embodiment, the management server 3 controls each node 1. The management server 3 is, for example, a server device or a personal computer.
[0025] Due to centralized resource allocation or network latency, distributed processing may not be efficient, and it may not be able to perform adequately for real-time data processing or large-scale computing. Furthermore, the lack of flexible resource control in response to fluctuations in electricity market prices often leads to excessive power consumption during peak hours, resulting in wasted energy and increased costs or environmental burden.
[0026] To solve these problems, this embodiment provides a scalable edge computing system that can switch the processor of each node 1 to a different mode depending on predetermined power conditions.
[0027] In this embodiment, the management server 3 outputs a switching instruction to the processor of each node 1, depending on predetermined power conditions, to switch between an inference processing mode that performs inference calculations for autonomous driving when the automobile 2 is in operation, a second processing mode related to the blockchain system, or a standby mode. The processor of each node 1 switches to one of the inference processing mode, second processing mode, or standby mode in response to the switching instruction sent from the management server 3. Power conditions, inference processing mode, second processing mode, and standby mode will be described later.
[0028] Figure 2 is a block diagram showing an example configuration of node 1. Node 1 includes a control unit 11, a storage unit 12, a communication unit 13, a reading unit 14, a large-capacity storage unit 15, a display unit 16, a vehicle control system 17, and a battery management system 18. Each component is connected by bus B.
[0029] The control unit 11 includes an arithmetic processing unit such as a processor using RDA, and manages and controls the entire system of the automobile 2 by controlling the execution order or operation of instructions within the processor. The processor in this embodiment is built on RDA and performs processing such as inference, data analysis, and / or high-performance computing (HPC). The control unit 11 also performs a process to switch to one of the inference processing mode, second processing mode, or standby mode in response to a mode switching instruction sent from the management server 3.
[0030] The control unit 11 reads and executes the control program 1P (program product) stored in the storage unit 12, thereby performing various information processing or control processing related to node 1. The control program 1P described in this embodiment may be provided on a recording medium or distributed from an external computer.
[0031] The storage unit 12 includes memory elements such as RAM (Random Access Memory) and ROM (Read Only Memory), and stores control programs 1P or data necessary for the control unit 11 to execute processing. The storage unit 12 also temporarily stores data necessary for the control unit 11 to execute arithmetic processing. The communication unit 13 is a communication module for performing communication-related processing and connects to other nodes 1 via a wavelength division multiplexing optical network N.
[0032] The reading unit 14 reads a portable storage medium 1a, including a CD (Compact Disc)-ROM or a DVD (Digital Versatile Disc)-ROM. The control unit 11 may read the control program 1P from the portable storage medium 1a via the reading unit 14 and store it in the large-capacity storage unit 15. Alternatively, the control unit 11 may download the control program 1P from another computer via a wavelength division multiplexing optical network N or the internet and store it in the large-capacity storage unit 15. Furthermore, the control unit 11 may also read the control program 1P from the semiconductor memory 1b.
[0033] The large-capacity storage unit 15 includes a recording medium such as an HDD (Hard disk drive) or an SSD (Solid State Drive). The large-capacity storage unit 15 includes an inference calculation model 151. The inference calculation model 151 is a learning model for predicting and inferring operating modes based on input data, and is a trained model generated by machine learning. The large-capacity storage unit 15 also stores the operation history of the automobile 2 (e.g., environmental data and vehicle route information), or sensor data of the automobile 2.
[0034] The display unit 16 is a liquid crystal display or an organic electroluminescence (EL) display, and displays various information such as the mode of the automobile 2, vehicle status, driving information, or battery information (charge / discharge status, battery level, etc.) in accordance with the instructions of the control unit 11.
[0035] The vehicle control system 17 is a system for controlling the driving and operation of the automobile 2. Based on sensor data obtained from cameras, LIDAR (optical distance sensors), or radar mounted on the automobile 2, the vehicle control system 17 determines the position of the automobile 2, the surrounding conditions, and the driving state (for example, "driving," "stopped," or "automatic driving stopped"). The vehicle control system 17 may also determine the driving state based on the driver's driving operations, for example, the operation of the accelerator or brake, the degree of steering wheel rotation, or the position of the shift lever.
[0036] The battery management system 18 is a system for managing the power supply of the automobile 2. The battery management system 18 monitors the battery's charge state, discharge state, voltage, current, temperature, etc., and optimizes the battery's performance.
[0037] Figure 3 is a block diagram showing an example configuration of the management server 3. The management server 3 includes a control unit 31, a storage unit 32, a communication unit 33, a reading unit 34, and a large-capacity storage unit 35. Each component is connected by bus B.
[0038] The control unit 31 includes an arithmetic processing unit such as a CPU (Central Processing Unit), MPU (Micro-Processing Unit), GPU (Graphics Processing Unit), FPGA (Field Programmable Gate Array), DSP (Digital Signal Processor), or quantum processor. The control unit 31 performs various information processing or control processing related to the management server 3 by reading and executing the control program 3P (program product) stored in the storage unit 32. The control program 3P described in this embodiment may be provided on a recording medium or distributed from an external computer.
[0039] Furthermore, the control program 3P can be deployed on a single computer, at a single site, or distributed across multiple sites and run on multiple computers interconnected by a communication network.
[0040] In Figure 3, the control unit 31 is described as a single processor, but it may be a multi-processor system. The control unit 31 may perform various information processing or control processing on the same processor within the management server 3, or it may perform them on different processors within the management server 3.
[0041] The storage unit 32 includes memory elements such as RAM (Random Access Memory) and ROM (Read Only Memory), and stores control programs 3P or data necessary for the control unit 31 to execute processing. The storage unit 32 also temporarily stores data necessary for the control unit 31 to execute arithmetic processing.
[0042] The communication unit 33 is a communication module for performing communication-related processing. The communication unit 33 performs data transfer between each node 1 via the wavelength division multiplexing optical network N in a mesh topology. However, data transfer between each node 1 is not limited to a mesh topology; other network topologies such as a star topology or a tree topology may also be used.
[0043] The reading unit 34 reads a portable storage medium 3a, including a CD (Compact Disc)-ROM or a DVD (Digital Versatile Disc)-ROM. The control unit 31 may read the control program 3P from the portable storage medium 3a via the reading unit 34 and store it in the large-capacity storage unit 35. Alternatively, the control unit 31 may download the control program 3P from another computer via a network such as the Internet and store it in the large-capacity storage unit 35. Furthermore, the control unit 31 may also read the control program 3P from the semiconductor memory 3b.
[0044] The large-capacity storage unit 35 includes a recording medium such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive). The large-capacity storage unit 35 includes an automobile database 351, a mining database 352, and an electricity price database 353.
[0045] The automobile DB 351 stores information related to automobiles. The mining DB 352 stores mining information of each node 1. The power price DB 353 stores data of power prices in the power trading market (for example, wholesale power prices in the Japan Electric Power Exchange).
[0046] It should be noted that in the present embodiment, the storage unit 32 and the mass storage unit 35 may be configured as an integrated storage device. Further, the mass storage unit 35 may be configured by a plurality of storage devices. Furthermore, the mass storage unit 35 may be an external storage device connected to the management server 3.
[0047] The management server 3 may execute various information processing, control processing and the like by a single computer, or may execute the processing in a distributed manner by a plurality of computers. Further, the management server 3 may be implemented by a plurality of virtual machines provided in one server, or may be implemented using a cloud server.
[0048] FIG. 4 is an explanatory diagram showing an example of the record layout of the automobile DB 351 and the mining DB 352. The automobile DB 351 includes an automobile ID column and a node ID column. The automobile ID column stores uniquely specified IDs of the automobiles 2 for identifying each automobile 2. The node ID column stores node IDs for specifying the node 1 mounted on the automobile 2.
[0049] The mining DB 352 includes a node ID column, a power consumption column, a calculation column and a mining column. The node ID column stores node IDs for identifying each node 1. The power consumption column, the calculation column, and the mining column each store, in association with the node ID, the power consumption per unit time of the node 1, the calculation amount per unit time, and the execution history of mining. For example, in the mining column, the type of mined cryptocurrency and the mining amount are stored in association with the date when mining was performed.
[0050] Figure 5 is an explanatory diagram showing an example of the record layout of the electricity price DB 353. The electricity price DB 353 includes a time-of-day column and a price column. The time-of-day column stores the time period during which transactions took place in the electricity trading market. The price column stores the trading price of wholesale electricity, associated with the time period.
[0051] The storage configurations described above for each database are merely examples; other storage configurations are also acceptable as long as the relationships between the data are maintained.
[0052] Figures 6A, 6B, 6C, and 6D are explanatory diagrams illustrating the process of identifying the mode. Note that while Figures 6A, 6B, 6C, and 6D illustrate several examples, they are not exhaustive.
[0053] The modes include inference processing mode, second processing mode, or standby mode. The inference processing mode is a mode in which inference calculations for autonomous driving are performed when the vehicle 2 is in operation. In inference processing mode, the vehicle 2 infers actions such as driving, stopping, accelerating, and turning based on sensor data, environmental data, and driving history, and performs appropriate control.
[0054] The second processing mode is a mode for performing hash calculations and executing smart contracts in the blockchain system when the vehicle 2 is not in operation.
[0055] Standby mode is a state in which neither inference processing mode nor second processing mode is executed, and the vehicle 2 is inactive. When switched to standby mode, node 1 is controlled to minimize power consumption and perform only necessary system monitoring and minimal operations. That is, while in standby mode, node 1 maintains the minimum resources necessary to communicate with other devices in the vehicle 2 or external systems, and prepares to immediately switch to the specified mode (e.g., inference processing mode or second processing mode) when the standby state is released.
[0056] First, the management server 3 acquires the power conditions. The power conditions include the operating status, charging / discharging status, electricity market price, or a combination of these. Note that the power conditions include, but are not limited to, the operating status, charging / discharging status, and electricity market price.
[0057] Specifically, the management server 3 acquires the driving status of the vehicle 2 via the vehicle control system 17 installed in the vehicle 2. The driving status includes, for example, automatic driving (driving), automatic driving (stopped), and automatic driving stopped (OFF).
[0058] The management server 3 obtains the charge / discharge status of the vehicle 2 via the battery management system 18 installed in the vehicle 2. The charge / discharge status includes the charge state, discharge state, or non-charge state. The charge state is when the battery is receiving power from an external power source. The discharge state is when the battery is supplying the energy it had stored to equipment inside the vehicle 2, such as air conditioning equipment, motors, ECCs, or charging equipment. Charging equipment includes, for example, charging equipment connected to the vehicle 2, charging equipment capable of supplying power from renewable energy, or contactless charging equipment. The non-charge state is when the battery is not charged and no energy is being supplied.
[0059] The management server 3 retrieves the electricity market price (for example, 70 yen / kWh) corresponding to the relevant time period from the electricity price DB 353 based on the current time. The management server 3 may also obtain the electricity market price through a server or interface provided by a power exchange, power company, or distribution company.
[0060] Next, the management server 3 identifies the mode to be executed based on the acquired operating status, charge / discharge status, electricity market price, or a combination thereof.
[0061] Figure 6A is an explanatory diagram illustrating an example of the process for identifying the mode when the vehicle is charging. For example, the management server 3 determines whether the vehicle 2 is stopped and connected to a charging facility 4 capable of supplying power using renewable energy. If the management server 3 determines that the vehicle 2 is stopped and connected to a charging facility 4 capable of supplying power using renewable energy, that is, if the operating state of the vehicle 2 is "automatic driving (stopped)" or "automatic driving stopped" and the charge / discharge state is "charging state", the management server 3 identifies the "second processing mode".
[0062] Regarding the process of determining whether or not a charging facility 4 capable of supplying electricity from renewable energy is connected, for example, the management server 3 obtains power information for the target charging facility 4 through the charging facility management system, etc. The power information includes whether the supplied electricity is obtained from renewable energy (solar or wind power, etc.) or from non-renewable energy (fossil fuels, etc.). Based on the power information for the charging facility 4 obtained, the management server 3 determines whether or not a charging facility 4 capable of supplying electricity from renewable energy is connected.
[0063] If the management server 3 determines that the vehicle 2 is stopped and the power supplied by the charging equipment 4 is non-renewable energy, it may choose not to specify the "second processing mode" but instead specify, for example, the "standby mode".
[0064] Figure 6A shows an example of the process of identifying the "second processing mode" based on the result of determining whether or not the power supplied by the charging equipment 4 is renewable energy, but it is not limited to this. For example, regardless of whether or not the charging equipment 4 capable of supplying power from renewable energy is being used, the management server 3 may identify the "second processing mode" if it determines that the vehicle 2 is stopped and connected to any of the charging equipment 4.
[0065] Furthermore, the management server 3 obtains electricity market prices from the electricity price DB 353 in real time. If the electricity market price is higher than a set threshold, the management server 3 switches from "second processing mode" to "standby mode". In this case, because the electricity market price is high, appropriate power management can be performed even when the vehicle 2 is not in operation, while minimizing power consumption. Furthermore, if the management server 3 determines that the electricity market price is below the threshold, it switches from "standby mode" to "second processing mode".
[0066] Figure 6B is an explanatory diagram illustrating an example of the process for identifying the mode when the vehicle is not charging. The management server 3 identifies the "second processing mode" when the driving state of the vehicle 2 is "automatic driving (stopped)" or "automatic driving stopped" and the charge / discharge state is "not charging". The management server 3 then identifies the "inference processing mode" when charging by the charging equipment 4 is complete and the driving state of the vehicle 2 transitions to "automatic driving (driving)", that is, when the driving state of the vehicle 2 is "automatic driving (driving)" and the charge / discharge state is "not charging".
[0067] Figure 6C is an explanatory diagram illustrating an example of the process for identifying the mode when the vehicle is in a discharge state or during automatic operation. The management server 3 identifies the "inference processing mode" when the operating state of the vehicle 2 is "automatic operation (driving)" or "automatic operation (stopped)" and the charge / discharge state is "discharge state".
[0068] Figure 6D is an explanatory diagram illustrating an example of the process for identifying the mode in the case of discharge state and automatic operation stop. The management server 3 identifies the "second processing mode" when the operating state of the vehicle 2 is "automatic operation stop" and the charge / discharge state is "discharge state".
[0069] Furthermore, the management server 3 obtains electricity market prices from the electricity price DB 353 in real time. If the electricity market price is greater than a set threshold, the management server 3 switches from "second processing mode" to "standby mode". In addition, if the management server 3 determines that the electricity market price is below the threshold, it switches from "standby mode" to "second processing mode".
[0070] The management server 3 sends a switching instruction to node 1, which is installed in the vehicle 2, to switch the processor of node 1 to a different mode. The switching instruction includes power conditions and execution commands for the mode to be switched to (inference processing mode, second processing mode, or standby mode). Node 1 receives the switching instruction sent from the management server 3.
[0071] Node 1 switches the processor installed on it to the appropriate mode in response to a received switching instruction. For example, in inference processing mode, Node 1 performs inference calculations related to autonomous driving; in second processing mode, it performs processing such as mining or smart contracts related to the blockchain system; and in standby mode, it maintains a monitoring or ready state while suppressing the vehicle's power consumption.
[0072] First, the process of switching to the inference processing mode will be explained. When the mode to be switched to is the inference processing mode, node 1 uses the inference calculation model 151 to switch the processor of node 1 to the inference processing mode, which executes inference calculations for autonomous driving when the automobile 2 is in operation. The inference calculation model 151 will be described later.
[0073] Next, the process of switching to the second processing mode will be explained. If the mode to be switched to is the second processing mode, Node 1 switches to the second processing mode related to the blockchain system and executes it. The second processing mode includes computational processing related to cryptocurrency mining, or smart contract execution processing, etc.
[0074] For example, node 1 performs computational processing related to cryptocurrency mining. Specifically, node 1 performs computationally intensive hash operations to add a new block to the blockchain system. In this computational processing, for example, the Proof-of-Work (PoW) algorithm is used, and node 1 performs a massive amount of calculations to approve the new block.
[0075] For the computation process, node 1 first generates a candidate for a new block and calculates a hash value that satisfies a predetermined condition (for example, a hash value with multiple leading zeros). Through this calculation, node 1 performs a "proof" process. The "proof" process is a PoW algorithm-based process for adding a legitimate block to the blockchain system.
[0076] Specifically, node 1 performs multiple hash calculations while adjusting a variable called a "nonce" to find a hash that meets the conditions. If node 1 finds a hash that meets the conditions, it adds the generated block to the blockchain system. As a result, the blockchain system rewards node 1 with cryptocurrency.
[0077] Node 1 sends data related to the mining execution history to the management server 3. The management server 3 stores the data sent from Node 1 in the mining DB 352. Specifically, the management server 3 stores the power consumption per unit time, the amount of computation per unit time, and the mining execution history (execution date, type of cryptocurrency, or amount mined, etc.) as a single record in the mining DB 352, associated with the node ID of Node 1.
[0078] Alternatively, Node 1 performs the execution of a smart contract. A smart contract is a program that automatically executes an agreement according to pre-set conditions. Node 1 executes the smart contract on the blockchain system and verifies the transaction details and conditions related to the execution of the smart contract.
[0079] Node 1 executes actions such as sending cryptocurrency or transferring assets based on the verification results. For example, if car 2 is parked in a parking lot with its inference processing mode (autonomous driving mode) turned off, the parking fee can be paid via a smart contract. In this case, Node 1 verifies the parking fee information and contract terms within the smart contract and generates transaction details for paying the fee in cryptocurrency.
[0080] If the smart contract is executed correctly, node 1 records the execution result in the blockchain system. Furthermore, node 1 sends a notification to the parking management system when the parking fee payment is completed. Node 1 also sends data related to the executed smart contract to the management server 3, and the management server 3 may store this data as execution history data in the large-capacity storage unit 35.
[0081] Finally, the process of switching to standby mode will be explained. If the mode to be switched to is standby mode, Node 1 stops its current operation and switches to standby mode. While in standby mode, Node 1 maintains the minimum resources necessary to communicate with other devices in the vehicle 2 or external systems, and prepares to immediately switch to the specified mode (e.g., inference processing mode or second processing mode) when the standby state is released.
[0082] Figure 7 is an explanatory diagram illustrating the inference model 151. The inference model 151 is used as a program module that is part of artificial intelligence software. In deep learning, the number of parameters becomes enormous because the model usually reuses the same parameters for all inputs, leading to increased consumption of computational resources or memory.
[0083] To solve the above-mentioned problems, in this embodiment, the inference calculation model 151 is a pre-built learning model that constructs a neural network with sparsity. Sparsity refers to a state in which many elements in a learning model are zero or invalid. When sparsity is high, most of the parameters or data in the learning model are zero, and only a few important values are non-zero.
[0084] A sparsity neural network is a network in which many of the weights (parameters) within the neural network are zero, with only a few important weights being non-zero. Therefore, sparsity networks activate only the important parts of the computation, reducing the computational load and enabling efficient learning or inference.
[0085] The inference model 151 in this embodiment is a learning model constructed using, for example, a Switch Transformer. A Switch Transformer is a type of architecture that uses MoE (Mixture of Experts) and performs sparse selection in particular to improve computational efficiency. In a Switch Transformer, only one expert is selected for each input, and the other experts are deactivated. Expert selection is performed, for example, by a gate network using the softmax function, and the expert with the highest score is selected.
[0086] In the inference calculation model 151, instead of using all experts simultaneously, only one expert is selected for the input data, and inference calculation processing for autonomous driving is performed when the vehicle 2 is in operation.
[0087] As shown in the figure, the inference calculation model 151 includes an input layer 300, an attention sublayer 310, an "Add & Norm" operation 320, a switching FFN layer 330, an "Add & Norm" operation 340, and an output layer 350. Using the inference calculation model 151, inference calculations for autonomous driving can be performed when the vehicle 2 is in operation.
[0088] The inference processing mode is a mode that enables safe and efficient autonomous driving by analyzing the surrounding conditions and sensor information of the vehicle in real time. Specifically, node 1 uses the inference calculation model 151 to perform obstacle detection, route selection, vehicle control instructions, etc., based on sensor data (e.g., speed) obtained from sensors such as cameras, radar, or lidar mounted on the vehicle 2. By executing the inference processing mode, the optimal action according to the conditions of the vehicle 2 is identified, enabling the vehicle to drive autonomously.
[0089] The input layer 300 is the layer that receives input data to be input to the inference calculation model 151. The input data includes, for example, sensor data from the automobile 2, driving condition data, information about the surrounding environment, or instructions from the user. The input layer 300 encodes the input data into an appropriate format and passes it to the next processing layer. The input data is converted through the "Position embedding" layer as position-embedded, tokenized text or vectorized numerical vectors, and then converted into a format that can be processed by the inference calculation model 151.
[0090] The attention sublayer 310 extracts relevant information based on the input data and processes the attention input sequence. The attention sublayer 310 learns interdependencies in the input data by dynamically taking in information related to each input in the sequence (e.g., the speed of car 2, information on surrounding obstacles, or driving conditions) and generates information for more appropriate action execution. Subsequently, the "Add & Norm" operation 320 is applied to the output of the attention sublayer 310 to refine the processing results and pass them on to the next layer.
[0091] The switching FFN layer 330 operates individually for each element of each token and selects an expert neural network (hereinafter referred to as "expert") corresponding to each token (each sensor data or operating status, etc.). Specifically, the switching FFN layer applies a routing function 333 to each token and selects the most relevant expert. Since each expert is computed independently, these computations are processed in parallel.
[0092] Subsequently, the selected expert processes each token to generate the final expert output. The switching FFN layer 330 applies the "Add & Norm" operation 340 to the initial output to normalize the output and generate the final output sequence for the switching FFN layer.
[0093] More specifically, Figure 7 shows the operation of the switching FFN layer 330 for two tokens at two different positions in the attention input sequence. For example, one token x1 is input data corresponding to "autonomous driving (stopped)", and the other token x2 is input data corresponding to "autonomous driving (driving)". x1 represents sensor data related to the state in which the vehicle is stopped (e.g., vehicle stop signal or information about obstacles ahead). x2 represents sensor data related to the state in which the vehicle is driving (e.g., vehicle speed or information about surrounding obstacles). The switching FFN layer selects an expert for each token and performs the optimal processing.
[0094] In the above example, the attention sublayer 310 is the first attention layer in the inference model 151, and incorporates the order information of the tokens into the inference model 151 by applying position embedding to each token.
[0095] The switching FFN layer 330 includes a routing function 333 and four expert neural networks (hereinafter referred to as "experts") 344. In this embodiment, an example of four experts 344 (for example, FFN1, FFN2, FFN3, and FFN4) has been described, but the number of experts is not particularly limited. Each expert 344 is a multi-layer feedforward neural network (for example, two or three layers) with a fully connected layer structure using ReLU or GeLU as the activation function.
[0096] This section describes FFN1, FFN2, FFN3, and FFN4, which are included in the switching FFN layer. FFN1 is an expert that processes data related to autonomous driving (driving), for example, sensor data. Based on vehicle speed, surrounding obstacle information, or the engine status of vehicle 2, FFN1 outputs operation instructions when vehicle 2 is driving. For example, when vehicle speed, distance to obstacles ahead, or vehicle engine status are input to FFN1, FFN1 outputs operation instructions to be executed based on the input data.
[0097] Specifically, if vehicle 2 is traveling at a high speed (for example, 60 km / h), FFN1 will output instructions to avoid a collision with an obstacle ahead or to adjust the vehicle speed according to the surrounding conditions. For example, if there is a risk of collision with an obstacle, FFN1 will output instructions to apply the brakes or change lanes at the appropriate time.
[0098] FFN2 is an expert in processing data related to autonomous driving (stopping), such as sensor data. Based on a stop signal (e.g., a red light) or location information of an obstacle ahead, FFN2 outputs instructions corresponding to the situation while stopped. For example, when a stop signal (e.g., a red light), location information of an obstacle ahead, or brake status is input to FFN2, FFN2 outputs instructions based on the input data that correspond to the situation in which the vehicle 2 should be stopped.
[0099] For example, in the case of a red light, FFN2 outputs an instruction to extend the stopping time. Also, if there is an obstacle ahead, FFN2 outputs an instruction to check for safety depending on the distance or position of the obstacle.
[0100] FFN3 is an expert that outputs instructions to vehicle 2 in response to complex situations (e.g., abnormal traffic conditions or the appearance of unexpected obstacles). FFN3 outputs instructions to appropriately respond to situations where unexpected obstacles appear around vehicle 2 (e.g., an animal suddenly jumping out or another vehicle suddenly stopping).
[0101] For example, if a sudden obstacle appears around the vehicle, information about the obstacle is input to the FFN3, and the FFN3 outputs instructions such as performing emergency braking or evasive maneuvers (e.g., changing lanes) based on the input data.
[0102] FFN4 is, for example, an expert that predicts the future behavior or situation of vehicle 2. Based on autonomous driving data of vehicle 2 (e.g., vehicle speed, acceleration, surrounding obstacle information, road conditions, traffic signal status, weather information, or the vehicle's current location), FFN4 predicts future behavior.
[0103] For example, if the speed, direction of travel, road conditions, or weather information of vehicle 2 is input to FFN4, FFN4 will predict the direction of travel, optimal speed, or route selection for vehicle 2 based on the input data.
[0104] For each token (e.g., x1: autonomous driving (stopped), x2: autonomous driving (driving)), the switching FFN layer uses the routing function 333 to select the optimal expert (FFN1, FFN2, FFN3, and FFN4). The following describes an example of the processing for each token.
[0105] The examples of experts mentioned above are not the only ones. For example, a route planning expert who calculates the optimal route to reach a destination, an expert who predicts battery consumption, or a voice interaction expert who communicates with the driver via voice while driving and allows them to input destinations, change navigation or vehicle settings, etc., may also be included.
[0106] With respect to the first token (x1), the switching FFN layer 330 applies the routing function 333 to x1 and generates a set of expert scores. The highest score is the score (0.65) of the second expert ("FFN2"). Based on the highest score, the switching FFN layer 330 processes x1 using only FFN2 and generates the expert output of FFN2. Then, the final output of x1 is generated by calculating the product of the score of FFN2 (0.65) and the expert output generated by FFN2.
[0107] For the second token (x2), the switching FFN layer 330 similarly applies the routing function 333 to x2 to generate a set of expert scores. The highest score is the score (0.8) of the first expert ("FFN1"). Based on the highest score, the switching FFN layer 330 processes x2 using only FFN1 to generate the expert output for FFN1. Then, the final output for x2 is generated by calculating the product of the score of FFN1 (0.8) and the expert output generated by FFN1.
[0108] In this way, the routing function 333 can calculate a score based on the input data x1 corresponding to "autonomous driving (stopping)" or x2 corresponding to "autonomous driving (driving)" and select the most relevant expert.
[0109] Next, the "Add & Norm" operation 340 is applied to the output of the attention layer to normalize the output of the switching FFN layer and generate the final output sequence. The generated output sequence is transmitted to the next layer, and the final operation execution instruction is created. Based on the above processing results, the output layer 350 outputs the operation execution instruction to the control unit 11. The control unit 11 controls the automatic driving of the automobile 2 in accordance with the operation execution instruction output from the output layer 350.
[0110] Furthermore, the inference model 151 is constructed (learned) using a large amount of training data. The training data consists of combinations of autonomous driving data, which includes collected past sensor data, environmental data, and driving history of the automobile 2, and actions to be performed (e.g., driving, stopping, accelerating, or turning). The autonomous driving data includes, for example, the vehicle's speed, acceleration, information on surrounding obstacles, road conditions, traffic signal status, weather information, or the vehicle's current location.
[0111] The inference calculation model 151 may be constructed (trained) by, for example, a management server 3 or an external information processing device. For example, the management server 3 uses training data to optimize the parameters necessary to make the best predictions for the operation of the automobile 2. Specifically, the management server 3 adjusts the parameters of each layer used in the inference calculation model 151 (input layer, attention layer, switching FFN layer, output layer, etc.) by backpropagation and performs optimization to minimize errors.
[0112] The management server 3 uses a loss function to evaluate the error between the predicted result and the actual operation, and adjusts the model to minimize the error. For example, the management server 3 updates the weights and biases of the inference calculation model 151 using backpropagation and optimization algorithms (e.g., Adam or SGD), and constructs the inference calculation model 151.
[0113] Figure 8 is a flowchart showing the processing procedure when switching modes according to power conditions. The control unit 31 of the management server 3 acquires the driving status of the vehicle 2 (for example, "automatic driving (driving)", "automatic driving (stopped)", or "automatic driving stopped", etc.) via the vehicle control system 17 installed in the target vehicle 2 (step S301).
[0114] The control unit 31 obtains the charging / discharging status of the vehicle 2 (e.g., not charging, charging, or discharging) via the battery management system 18 installed in the vehicle 2 (step S302). Based on the current time, the control unit 31 obtains the electricity market price (e.g., 70 yen / kWh) corresponding to the relevant time period from the electricity price DB 353 of the large-capacity storage unit 35 (step S303).
[0115] The control unit 31 identifies the mode to be executed based on the acquired operating state, charge / discharge state, electricity market price, or a combination thereof (step S304).
[0116] As described in Figures 6A, 6B, 6C, and 6D, for example, the control unit 31 identifies the "second processing mode" when the driving state of the vehicle 2 is "automatic driving (stopped)" or "automatic driving stopped" and the charge / discharge state is "charging state". The control unit 31 obtains the electricity market price in real time from the electricity price DB 353 of the large-capacity storage unit 35. If the electricity market price is greater than a set threshold, the control unit 31 identifies the "standby mode".
[0117] Alternatively, the control unit 31 identifies an "inference processing mode" when charging by the charging equipment 4 is complete and the operating state of the vehicle 2 has transitioned to "automatic driving (driving)," that is, when the operating state of the vehicle 2 is "automatic driving (driving)" and the charge / discharge state is "non-charging state."
[0118] Based on the results obtained from the mode identification process, the control unit 31 transmits a switching instruction to the node 1, which is installed in the automobile 2, via the communication unit 33 to switch the node 1's processor to a mode (step S305). The switching instruction includes power conditions and execution commands for the mode to be switched (inference processing mode, second processing mode, or standby mode).
[0119] The control unit 11 of node 1 receives a switching instruction transmitted from the management server 3 via the communication unit 13 (step S101). The control unit 11 executes a subroutine to switch the processor installed in node 1 to the corresponding mode in response to the received switching instruction (step S102). The subroutine for mode switching will be described later. The control unit 11 then terminates its processing.
[0120] Although the above-described process uses an example of one node 1, it is not limited to this. Based on the operating status, charging / discharging status, and electricity market price of each vehicle 2, the control unit 31 sends a switching instruction to each node 1 to switch the processor of node 1 installed in each vehicle 2 to a different mode.
[0121] Figure 9 is a flowchart showing the processing procedure of the subroutine for switching modes. The control unit 11 of node 1 determines whether the mode to be switched to is the inference processing mode in response to the received mode switching instruction (step S11).
[0122] If the mode to be switched to is the inference processing mode (YES in step S11), the control unit 11 acquires input data including sensor data from the vehicle 2 (e.g., speed), driving status data, surrounding environment information (e.g., obstacle information), or user instructions from various sensors mounted on the vehicle 2 (camera, radar, or lidar, etc.), the vehicle control system 17, or the battery management system 18, etc. (step S12).
[0123] The control unit 11 inputs the acquired input data into the inference calculation model 151 (step S13) and outputs an action execution instruction such as obstacle detection, route selection, or vehicle control instruction (step S14). The control unit 11 controls the autonomous driving of the automobile 2 on which the node 1 is installed according to the output action execution instruction (step S15). The control unit 11 finishes the mode switching processing subroutine and returns.
[0124] If the mode to be switched is not the inference processing mode (NO in step S11), the control unit 11 determines whether the mode to be switched is the second processing mode (step S16). If the mode to be switched is the second processing mode (YES in step S16), the control unit 11 performs calculation processing related to cryptocurrency mining (step S17).
[0125] Specifically, the control unit 11 performs computationally intensive hash calculations to add a new block to the blockchain system. In the calculation process, the control unit 11 first generates candidate new blocks and finds hash values that satisfy predetermined conditions (for example, hash values with multiple leading zeros). The control unit 11 performs hash calculations multiple times while adjusting a variable called a "nonce" to find a hash that matches the conditions. If the control unit 11 finds a hash that matches the conditions, it adds the generated block to the blockchain system. As a result, the blockchain system rewards node 1 with cryptocurrency.
[0126] The control unit 11 transmits data relating to the mining execution history to the management server 3 via the communication unit 13 (step S18). The control unit 11 finishes the mode switching subroutine and returns. In this case, the control unit 31 of the management server 3 stores the data transmitted from node 1 in the mining DB 352 of the large-capacity storage unit 35. Specifically, the control unit 31 stores the power consumption per unit time, the amount of calculations per unit time, and the mining execution history (execution date, type of cryptocurrency, or amount mined, etc.) in the mining DB 352 as a single record, associated with the node ID of node 1.
[0127] Note that while Figure 9 illustrates a mining process as an example for the second processing mode, it is not limited to this. For example, the control unit 11 may perform smart contract execution processing, etc.
[0128] If the mode to be switched is not the second processing mode (NO in step S16), the control unit 11 determines whether the mode to be switched is the standby mode (step S19). If the mode to be switched is the standby mode (YES in step S19), the control unit 11 stops the current operation, switches to the standby mode, and executes the operation (step S20). The control unit 11 finishes the mode switching processing subroutine and returns.
[0129] If the mode to be switched is not the standby mode (NO in step S19), the control unit 11 terminates the mode switching subroutine and returns.
[0130] According to this embodiment, it is possible to switch the processor of each node 1 to either inference processing mode, second processing mode, or standby mode depending on predetermined power conditions.
[0131] According to this embodiment, it is possible to switch modes depending on the charging or discharging state of the automobile 2.
[0132] According to this embodiment, it is possible to switch modes according to the driving state of the automobile 2.
[0133] According to this embodiment, it is possible to switch modes based on electricity market prices.
[0134] (Embodiment 2) Embodiment 2 relates to a configuration in which node 1 is dynamically assigned based on information of the wavelength division multiplexing optical network N. Details that overlap with Embodiment 1 will be omitted from the explanation.
[0135] Figure 10 is a block diagram showing an example configuration of the management server 3 in Embodiment 2. Note that components that overlap with those in Figure 3 are denoted by the same reference numerals and their descriptions are omitted. The large-capacity storage unit 35 includes a resource management DB 354. The resource management DB 354 stores the nodes 1 assigned to each wavelength channel by the management server 3, and resource information associated with each node 1.
[0136] Figure 11 is an explanatory diagram showing an example of the record layout of the resource management DB 354. The resource management DB 354 includes columns for wavelength channel ID, node ID, node status, number of processors, number of cores, clock frequency, power consumption, resource load, location information, and update date and time.
[0137] The wavelength channel ID column stores the wavelength channel IDs used to identify each wavelength channel. The node ID column stores the node IDs used to identify node 1 installed in vehicle 2. The node status column stores the status of node 1. The status of node 1 includes, for example, active (node 1 is processing a task), idle (node 1 is in a standby state), or low load.
[0138] The processor sequence stores the number of processors installed in Node 1. The core sequence stores the number of cores within each processor. The clock frequency sequence stores the clock frequency of the processors. The power consumption sequence stores the power consumed by Node 1.
[0139] The Resource Load column stores an indicator of resource consumption by Node 1 (e.g., CPU usage or memory usage). The Location column stores the physical or geographical location of Node 1 (e.g., city name, region name, or longitude and latitude). The Update Date and Time column stores the date and time when the resource information was updated.
[0140] The wavelength division multiplexing optical network N uses multiple wavelength channels to perform data transfer between nodes 1 in a mesh topology. Furthermore, the bandwidth of each wavelength channel is allocated according to the electricity market price.
[0141] Specifically, the management server 3 obtains the electricity market price (for example, 70 yen / kWh) corresponding to the relevant time period from the electricity price DB 353 based on the current time. If the obtained electricity market price is below a threshold, the management server 3 sends an instruction to the relevant node 1 to increase the number of processors allocated to the bandwidth of each wavelength channel. Alternatively, if the obtained electricity market price is above a threshold, the management server 3 sends an instruction to the relevant node 1 to decrease the number of processors allocated to the bandwidth of each wavelength channel.
[0142] For example, the management server 3 identifies the group of nodes assigned to the bandwidth of each wavelength channel. Specifically, the management server 3 refers to the resource management DB 354 based on each wavelength channel ID and identifies the group of nodes assigned to the bandwidth of each wavelength channel. The identified group of nodes includes, for example, multiple nodes with node IDs "N-001" and "N-002".
[0143] The management server 3 sends instructions to increase or decrease the number of processors to the nodes 1 assigned to the bandwidth of each wavelength channel, based on the acquired electricity market price. Specifically, if the acquired electricity market price is below a threshold (i.e., the electricity market price is low), the management server 3 sends an increase instruction to the nodes 1 assigned to the bandwidth of each wavelength channel, based on the resource information of each node 1 included in the node group (node status, number of processors, number of cores, clock frequency, power consumption, resource load, or location information, etc.) of the target node 1.
[0144] For example, management server 3 sends an instruction to increase the number of processors to node 1 that has a high resource load (for example, CPU usage is 80% or more, or memory usage is 70% or more). Alternatively, management server 3 sends an instruction to increase the number of processors to node 1 that currently has a number of processors running that is less than the maximum set value percentage (for example, 80%), or that has a predetermined number of free cores (for example, 2) or more.
[0145] Each node 1 increases the number of processors in response to an instruction to increase the number of processors sent from the management server 3, for example, by increasing the clock frequency, increasing the number of cores in a multi-core system, or turning on cores.
[0146] Increasing the clock frequency is a way to improve the processor's operating speed and thus increase its processing power. Increasing the number of cores in a multi-core processor enables multiple cores to be activated and distribute the load, allowing more tasks to be processed in parallel and improving overall processing power. Turning on cores enhances processing power by enabling processor cores that are currently turned off.
[0147] Alternatively, if the acquired electricity market price is greater than a threshold (i.e., the electricity market price is high), the management server 3 sends a reduction instruction to the identified group of nodes 1, based on the resource information of each node 1 included in the group, to reduce the number of processors in the target node 1, and sends this instruction to the node 1 assigned to the bandwidth of each wavelength channel. Each node 1 responds to the processor reduction instruction sent from the management server 3 by reducing the number of processors, for example by lowering the clock frequency, reducing the number of cores in a multi-core system, using a power-saving mode, or turning off cores.
[0148] Reducing the clock frequency is a method of slowing down the processor's operating speed and reducing power consumption. Reducing the number of cores in a multi-core processor is a method of reducing power consumption by disabling or stopping unnecessary cores. Using power-saving mode is a method of switching the processor to a power-saving state and reducing power consumption by turning off unused circuits or cores. Turning off cores is a method of reducing power consumption by turning off some of the processor's cores when the load is low.
[0149] In this way, the management server 3 can optimize the power efficiency of the entire system and balance cost management and performance by increasing or decreasing the number of processors in node 1 group according to the electricity market price.
[0150] Furthermore, if congestion occurs in the wavelength division multiplexing optical network N, the number of processors in node 1 allocated to the bandwidth of each wavelength channel is reduced. Congestion refers to a state in a communication network or system where excessive traffic or resource utilization causes processing capacity or bandwidth to reach its limit, making it difficult to send, receive, or process data normally.
[0151] In a wavelength division multiplexing optical network N, if congestion occurs, it is necessary to readjust the resources (e.g., the number of processors) allocated to the bandwidth of each wavelength channel in order to maintain the efficient operation of the entire network.
[0152] Specifically, the management server 3 monitors the traffic status in each wavelength channel within the wavelength division multiplexing optical network N, and determines that congestion has occurred, for example, if the bandwidth utilization rate exceeds a predetermined threshold. For each wavelength channel where congestion has occurred, the management server 3 refers to the resource management DB 354 and identifies a node 1 that has been excessively allocated resources based on the resource allocation information of the node 1 associated with that wavelength channel. The management server 3 sends a reduction instruction to the identified node 1 to reduce the number of processors in that node 1.
[0153] Node 1, in response to an instruction from the management server 3 to reduce the number of processors, reduces the number of processors by methods such as lowering the clock frequency, reducing the number of cores in a multi-core system, using a power-saving mode, or turning off cores. This enables efficient use of bandwidth within the wavelength division multiplexing optical network N, eliminates congestion, and improves overall communication quality.
[0154] Furthermore, the processing load of each node 1 can be identified according to its geographical location. Each node 1 in the wavelength division multiplexing optical network N is located in a geographically different location. The management server 3 obtains the geographical location of each node 1 from the resource management DB 354 based on the wavelength channel ID and node ID. The management server 3 obtains the status or current processing load (e.g., CPU usage and memory usage) of each node 1 from the resource management DB 354.
[0155] The management server 3 determines whether there is a load concentration in the group of nodes located in the target region, based on the acquired status of each node 1 or the current processing load. If the management server 3 determines that there is a load concentration in the group of nodes located in the target region, it may, for example, send an instruction to reallocate processing from a region where a node 1 with a high load is located to a node 1 in another region with a low load.
[0156] Specifically, management server 3 sends an instruction to reduce the number of processors to node 1 in a region with a high load (for example, CPU usage of 90% or more, or memory usage of 80% or more). Management server 3 also sends an instruction to increase the number of processors to node 1 in other regions with a low load (for example, CPU usage of less than 50%, or memory usage of less than 40%).
[0157] This allows the processing power of each node 1 to be appropriately adjusted and the overall load to be equalized, thereby improving the overall performance of the wavelength division multiplexing optical network N.
[0158] Furthermore, the processing load of node 1 can be determined according to the power supply and demand conditions at each location. In areas where power supply is tight, the processing load is adjusted to decrease, and in areas where power supply is surplus, the processing load is adjusted to increase.
[0159] Specifically, the management server 3 obtains, for example, the power supply and demand status for each location from the power supply and demand system. The power supply and demand status includes the amount of power supplied, the power demand, or the power price for each region. Based on the wavelength channel ID and node ID, the management server 3 obtains the geographical location of each node 1 from the resource management DB 354. The management server 3 obtains the status or current processing load (e.g., CPU usage and memory usage) of each node 1 from the resource management DB 354.
[0160] Based on the acquired power supply and demand status at each location, the management server 3 identifies areas with tight power supply and areas with ample power supply. For areas with tight power supply, the management server 3 sends a reduction instruction to node 1 in that area to reduce the number of processors. Alternatively, for areas with ample power supply, the management server 3 sends an increase instruction to node 1 in that area to increase the number of processors.
[0161] Figure 12 is a flowchart showing the processing procedure for adjusting the number of processors in node 1 according to the electricity market price. The control unit 31 of the management server 3 refers to the resource management DB 354 of the large-capacity storage unit 35 based on each wavelength channel ID and identifies the group of nodes allocated to the bandwidth of each wavelength channel (step S311). Based on the current time, the control unit 31 obtains the electricity market price (for example, 70 yen / kWh) corresponding to the relevant time period from the electricity price DB 353 of the large-capacity storage unit 35 (step S312).
[0162] The control unit 31 determines whether the acquired electricity market price is below a threshold (step S313). If the electricity market price is below the threshold (YES in step S313), the control unit 31 identifies the node 1 to be allocated to the bandwidth of each wavelength channel based on the resource information of each node 1 included in the identified node group (node status, number of processors, number of cores, clock frequency, power consumption, resource load, or location information, etc.) (step S314).
[0163] The control unit 31 transmits an increase instruction to the identified node 1 via the communication unit 33 to increase the number of processors on that node 1 (step S315). The control unit 11 of node 1 receives the increase instruction transmitted from the management server 3 via the communication unit 13 (step S113). In response to the received increase instruction, the control unit 11 increases the number of processors by using methods such as increasing the clock frequency, increasing the number of cores in a multicore system, or turning on cores (step S114).
[0164] If the acquired electricity market price is greater than a threshold (NO in step S313), the control unit 31 identifies a node 1 to be allocated to the bandwidth of each wavelength channel based on the resource information of each node 1 included in the identified node group (step S316). The control unit 31 sends a reduction instruction to the identified node 1 via the communication unit 33 to reduce the number of processors of that node 1 (step S317).
[0165] The control unit 11 of node 1 receives a reduction instruction transmitted from the management server 3 via the communication unit 13 (step S111). In response to the received reduction instruction, the control unit 11 reduces the number of processors by using methods such as lowering the clock frequency, reducing the number of cores in a multi-core system, using a power-saving mode, or turning off cores (step S112).
[0166] Figure 13 is a flowchart showing the processing procedure for reducing the number of processors in node 1 when congestion occurs. The control unit 31 of the management server 3 refers to the resource management DB 354 of the large-capacity storage unit 35 based on each wavelength channel ID and identifies the group of nodes allocated to the bandwidth of each wavelength channel (step S321). The control unit 31 determines whether or not congestion has occurred in the wavelength division multiplexing optical network N (step S322). For example, the control unit 31 determines that congestion has occurred if the bandwidth utilization rate of the wavelength division multiplexing optical network N exceeds a predetermined threshold.
[0167] The control unit 31 terminates processing if no congestion occurs in the wavelength division multiplexed optical network N (NO in step S322). If congestion occurs in the wavelength division multiplexed optical network N (YES in step S322), the control unit 31 refers to the resource management DB 354 for each wavelength channel where congestion has occurred and identifies the node 1 that has been excessively allocated resources based on the resource allocation information of the node 1 associated with that wavelength channel (step S323).
[0168] The control unit 31 sends a reduction instruction to the identified node 1 via the communication unit 33 to reduce the number of processors in node 1 (step S324). The control unit 11 of node 1 receives the processor reduction instruction sent from the management server 3 via the communication unit 13 (step S121). In response to the received reduction instruction, the control unit 11 reduces the number of processors by using methods such as lowering the clock frequency, reducing the number of cores in a multi-core system, using a power-saving mode, or turning off cores (step S122). The control unit 11 then terminates the process.
[0169] Figure 14 is a flowchart showing the processing procedure for identifying the processing load according to the geographical location of each node 1. The control unit 31 of the management server 3 refers to the resource management DB 354 of the large-capacity storage unit 35 based on each wavelength channel ID and identifies the group of nodes assigned to the bandwidth of each wavelength channel (step S331). The control unit 31 obtains the geographical location of each node 1 from the resource management DB 354 of the large-capacity storage unit 35 based on the wavelength channel ID and node ID (step S332).
[0170] The control unit 31 obtains the status of each node 1 or the current processing load (e.g., CPU usage and memory usage) from the resource management DB 354 (step S333). Based on the obtained status of each node 1 or the current processing load, the control unit 31 determines whether or not there is a load concentration in the group of nodes located in the target region (step S334).
[0171] The control unit 31 transmits a reassignment instruction to each node 1 via the communication unit 33 according to the determination result (step S335). For example, if the control unit 31 determines that the load is concentrated in a group of nodes located in the target region, it transmits an instruction to reassign processing from the region where the high-load node 1 is located to a node 1 in another region with a lower load. Specifically, the control unit 31 transmits an instruction to the high-load node 1 in the target region to reduce the number of processors. The control unit 31 transmits an instruction to the low-load node 1 in another region to increase the number of processors.
[0172] Figure 15 is a flowchart showing the processing procedure for identifying the processing load according to the power supply and demand status at each location. The control unit 31 of the management server 3 refers to the resource management DB 354 of the large-capacity storage unit 35 based on each wavelength channel ID and identifies the group of nodes assigned to the bandwidth of each wavelength channel (step S341). Based on the wavelength channel ID and node ID, the control unit 31 obtains the geographical location of each node 1 from the resource management DB 354 of the large-capacity storage unit 35 (step S342).
[0173] The control unit 31 obtains, for example, the power supply and demand status at each location (power supply amount, power demand, or power price for each region) from the power supply and demand system via the communication unit 33 (step S343). The control unit 31 obtains the status of each node 1 or the current processing load (for example, CPU usage and memory usage) from the resource management DB 354 (step S344).
[0174] The control unit 31 identifies areas with tight power supply and areas with surplus power supply based on the acquired power supply and demand status at each location (step S345). The control unit 31 transmits a reallocation instruction to the corresponding node 1 via the communication unit 33 (step S346). Specifically, the control unit 31 transmits an instruction to reduce the number of processors in an area with tight power supply to node 1 in that area. Alternatively, the control unit 31 transmits an instruction to increase the number of processors in an area with surplus power supply to node 1 in that area.
[0175] Furthermore, the processing load is not limited to the specific processing described above. For example, regarding the processing load of node 1, the inference processing mode, second processing mode, and standby mode are classified as "strong," "medium," and "low," respectively. In addition, in the second processing mode, the processing load of "mining processing" and "smart contract processing" are classified as "strong" and "medium," respectively.
[0176] As a mode switching process based on electricity market prices, for example, if the electricity market price is higher than a threshold, or if a sudden price fluctuation occurs, the management server 3 sends an instruction to node 1, which is installed in the automobile 2, to switch the processor of node 1 from "inference processing mode" or "second processing mode" to "standby mode" in order to suppress power consumption. Also, if the electricity market price is below the threshold, the management server 3 sends an instruction to node 1, which switches the processor of node 1 from "standby mode" to "inference processing mode" or "second processing mode" in order to increase the processing load.
[0177] As a mode switching process based on power demand, for example, when power demand is high (peak), the management server 3 sends an instruction to node 1 to switch the processor of node 1 from "inference processing mode" or "second processing mode" to "standby mode" in order to optimize power demand. Also, when power demand is low (for example, at night), the management server 3 sends an instruction to node 1 to switch the processor of node 1 from "standby mode" to "inference processing mode" or "second processing mode".
[0178] As a mode switching process based on the combination of electricity market price and power demand, if the electricity market price is high and power demand is high, the management server 3 sends an instruction to node 1 to switch the processor of node 1 from "inference processing mode" or "second processing mode" to "standby mode" in order to reduce power consumption. Alternatively, if the electricity market price is low and power demand is low, the management server 3 sends an instruction to node 1 to switch the processor of node 1 from "standby mode" to "inference processing mode" or "second processing mode" in order to increase the processing load.
[0179] Furthermore, the system can switch between "mining processing" and "smart contract processing" in the second processing mode based on the electricity market price or power demand. For example, if the electricity market price is high or power demand is high, the management server 3 sends an instruction to node 1 to switch the processor of node 1 from "mining processing" to "smart contract processing". For example, if the electricity market price is low or power demand is low, the management server 3 sends an instruction to node 1 to switch the processor of node 1 from "smart contract processing" to "mining processing".
[0180] According to this embodiment, by allocating the bandwidth of each wavelength channel according to the electricity market price, it becomes possible to flexibly respond to fluctuations in electricity supply and demand and to achieve efficient bandwidth utilization.
[0181] According to this embodiment, when congestion occurs in the wavelength division multiplexing optical network N, it is possible to reduce the number of processors in node 1 allocated to the bandwidth of each wavelength channel.
[0182] According to this embodiment, by identifying the processing load of each distributed processing node according to its geographical location, it is possible to reduce the burden on node 1 with a high processing load and achieve more efficient resource allocation.
[0183] According to this embodiment, by identifying the processing load of distributed processing nodes according to the power supply and demand conditions at each location, it is possible to appropriately distribute the processing load in areas with high power demand, avoid load concentration during peak times, and optimize the balance between the power efficiency and performance of the entire system.
[0184] The embodiments disclosed herein should be considered in all respects to be illustrative and not restrictive. The scope of the invention is indicated by the claims, not in the sense described above, and all modifications within the sense and scope equivalent to the claims are intended.
[0185] The matters described in each embodiment can be combined with each other. Furthermore, the independent and dependent claims described in the claims can be combined with each other in any combination, regardless of the form of reference. In addition, the claims use a form in which claims referencing two or more other claims (multi-claim form), but are not limited to this. A form in which multi-claims referencing at least one multi-claim (multi-multi-claim) may also be used.
[0186] 1 Distributed Processing Node (Node) 11 Control Unit 12 Memory Unit 13 Communication Unit 14 Read Unit 15 Large Capacity Memory Unit 151 Inference Calculation Model 16 Display Unit 17 Vehicle Control System 18 Battery Management System 1a Portable Storage Medium 1b Semiconductor Memory 1P Control Program 2 Mobile Unit (Automobile) 3 Management Server 3a Portable Storage Medium 3b Semiconductor Memory 3P Control Program 31 Control Unit 32 Memory Unit 33 Communication Unit 34 Read Unit 35 Large Capacity Memory Unit 351 Automobile DB 352 Mining DB 353 Electricity Price DB 354 Resource Management DB 110 Processor 300 Input Layer 310 Attention Sublayer 320 Operation 330 Switching FFN Layer 333 Routing Function 344 Expert Neural Network (Expert) 340 Operation 350 Output Layer B Bus N Wavelength Division Multiplexing Optical Network
Claims
1. An information processing method comprising a plurality of distributed processing nodes, a wavelength division multiplexing optical network interconnecting each distributed processing node, and a management server that controls each distributed processing node, wherein the management server switches the processor of each distributed processing node to either an inference processing mode related to the autonomous driving of a mobile vehicle or a second processing mode related to a blockchain system, depending on predetermined power conditions.
2. The information processing method according to claim 1, wherein the processor of each distributed processing node is switched to either an inference processing mode, a second processing mode related to the blockchain system, or a standby mode, depending on the predetermined power conditions.
3. The information processing method according to claim 1, wherein the distributed processing node is mounted on a mobile body, and the mode is switched according to the charging or discharging state of the mobile body.
4. The information processing method according to claim 1, wherein the distributed processing node is mounted on a mobile body, and the mode is switched according to the operating state of the mobile body.
5. The information processing method according to claim 1, wherein the wavelength division multiplexing optical network uses a plurality of wavelength channels to perform data transfer between the distributed processing nodes in a mesh topology, and the bandwidth of each wavelength channel is allocated according to the electricity market price.
6. The information processing method according to claim 5, wherein when the electricity market price is below a threshold, the number of processors of the distributed processing nodes allocated to the bandwidth of each wavelength channel is increased, and when the electricity market price is greater than a threshold, the number of processors of the distributed processing nodes allocated to the bandwidth of each wavelength channel is decreased.
7. The information processing method according to claim 5, wherein when congestion occurs in the wavelength division multiplexing optical network, the number of processors of the distributed processing nodes allocated to the bandwidth of each wavelength channel is reduced.
8. The information processing method according to claim 2, wherein if the electricity market price is below a threshold, the system switches to either an inference processing mode or a second processing mode related to the blockchain system, and if the electricity market price is greater than the threshold, the system switches to a standby mode.
9. The information processing method according to claim 1, which identifies the processing load of a distributed processing node according to the geographical location of each distributed processing node.
10. The information processing method according to claim 1, which identifies the processing load of distributed processing nodes according to the power supply and demand conditions at each location.
11. The information processing method according to claim 1, wherein the processor uses a Reconfigurable Dataflow Architecture.
12. A management server that controls each distributed processing node interconnected by a wavelength division multiplexing optical network, wherein the management server comprises a control unit, and the control unit outputs to the processor of each distributed processing node, according to predetermined power conditions, an execution command in an inference processing mode related to the autonomous driving of a mobile object, or an execution command in a second processing mode related to a blockchain system.