Information processing device

JP7900340B2Active Publication Date: 2026-08-04TOSHIBA TEC KK
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
TOSHIBA TEC KK
Filing Date
2023-09-15
Publication Date
2026-08-04

Smart Images

  • Figure 0007900340000001
    Figure 0007900340000001
  • Figure 0007900340000002
    Figure 0007900340000002
  • Figure 0007900340000003
    Figure 0007900340000003
Patent Text Reader

Abstract

To improve convenience of an information processing apparatus that performs processing using a plurality of boards.SOLUTION: There is provided an information processing apparatus including a plurality of boards. The boards are connected in a connection form allowing mutual communication. One of the boards includes a reception unit that accepts a processing request to be executed from an external device, an assignment unit that assigns the processing instructed in the processing request to one of the boards, and an output unit that outputs the processing result processed on the assigned board.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to an information processing apparatus.

Background Art

[0002] Conventionally, in companies that operate multiple stores, etc., data collected at each store is transmitted to a server (e.g., a cloud server) that aggregates the multiple stores, and data analysis and processing are centrally executed on the server.

[0003] In recent years, in order to achieve distributed data processing and reduction of data transmission volume, etc., an information processing apparatus (hereinafter also referred to as an edge device), such as an edge gateway or an edge server, is provided at a store, and data processing and analysis are also executed on the edge device.

[0004] By the way, among the above-mentioned edge devices, there are those that mount multiple circuit boards for the purpose of executing multiple processes in parallel, etc. In such an edge device, different processes can be executed on each circuit board.

[0005] However, in conventional edge devices, each circuit board is mounted in a slot of a main circuit board such as a motherboard and operates under the control of the main circuit board, so there are limitations to the circuit boards that can be used. For example, in conventional edge devices, it is not possible to easily add a circuit board such as a PC (Personal Computer) that was operating in an existing system, and there is room for improvement in terms of convenience.

Summary of the Invention

Problems to be Solved by the Invention

[0006] The problem to be solved by the present invention is to improve the convenience of an information processing apparatus that performs processing using multiple circuit boards.

Means for Solving the Problems

[0007] The information processing apparatus of this embodiment is an information processing apparatus comprising a plurality of circuit boards, wherein the plurality of circuit boards are connected in a manner that enables communication between them, and one of the plurality of circuit boards includes a reception unit that receives a processing request to be executed from an external device, an assignment unit that assigns the processing instructed by the processing request to one of the plurality of circuit boards, and an output unit that outputs the processing result processed by the assigned circuit board. A display control unit that displays a screen on a display device that associates an operator corresponding to each of the plurality of circuit boards with specification information indicating the specifications of the circuit board corresponding to the operator; and a setting unit that, when an operator is operated from the screen, sets the circuit board corresponding to the operator to operate as the first circuit board. Equipped with The circuit board on which the settings have been made by the setting unit operates as the first circuit board. [Brief explanation of the drawing]

[0008] [Figure 1] Figure 1 shows an example of the configuration of a store system according to an embodiment. [Figure 2] Figure 2 shows an example of the hardware configuration of an edge device according to the embodiment. [Figure 3] Figure 3 shows an example of the hardware configuration of the substrate included in the edge device of the embodiment. [Figure 4] Figure 4 shows an example of the functional configuration of the substrate included in the edge device of the embodiment. [Figure 5] Figure 5 shows an example of a selection screen according to the embodiment. [Figure 6] Figure 6 is a sequence diagram showing an example of processing performed between the master board and the slave board in the embodiment. [Figure 7] Figure 7 is a flowchart showing an example of the configuration change detection process performed by the master board of the embodiment. [Modes for carrying out the invention]

[0009] The information processing device according to this embodiment will be described in detail below with reference to the attached drawings. In the following embodiment, an edge device used in a store will be described as an example of an information processing device. However, the invention is not limited by this application example.

[0010] Figure 1 shows an example of the configuration of a store system 1 according to an embodiment. As shown in Figure 1, the store system 1 comprises a POS terminal 2, an edge device 3, and a server 4. The POS terminal 2 and the edge device 3 are communicated with each other via network Na. The edge device 3 is also communicated with the server 4 on network Nb via a communication device 5 such as a router connected to network Na.

[0011] Here, network Na is a network such as a LAN (local area network) established within a store. Network Nb is a network such as the internet, VPN (virtual private network), public communication network, or mobile communication network.

[0012] POS terminal 2 is an example of a product sales data processing device installed in a store. One or more POS terminals 2 are installed in the store and perform data processing related to commercial transactions of products purchased by customers.

[0013] Edge device 3 is an example of an information processing device. Edge device 3 receives processing requests from POS terminals 2 and other devices connected to network Na, and executes various processes (information processing) instructed by the processing requests. The processing requests include not only the data to be processed, but also processing details such as the method of processing.

[0014] Server 4 is a server device that manages multiple stores. Server 4 is located at the headquarters of the company that operates the stores and is connected to each store's edge device 3 so that it can communicate with them. Server 4 may be implemented as a single device, or it may be a cloud server (or cloud system) implemented as multiple network-connected devices.

[0015] Next, we will describe an example configuration of the edge device 3 mentioned above. First, we will describe the hardware configuration of edge device 3. Figure 2 is a diagram showing an example of the hardware configuration of edge device 3.

[0016] As shown in FIG. 2, the edge device 3 includes a plurality of substrates 31. Each of the substrates 31 has a computer configuration such as a CPU and a memory, and can operate independently. In addition, each of the substrates 31 is provided with a communication interface conforming to a general-purpose interface standard such as a USB (Universal Serial Bus) connector or a LAN connector, and is communicably connected to each other via the communication interface.

[0017] Thus, the edge device 3 of the present embodiment can be formed by connecting a plurality of substrates 31 with a general-purpose communication interface. Therefore, since the edge device 3 can be formed using various substrates 31, the versatility can be enhanced. For example, in the edge device 3, a substrate such as a PC (Personal Computer) operating in an existing system can be added, so that the convenience can be improved.

[0018] In addition, FIG. 2 shows an example in which the substrates 31 are connected in a daisy chain manner (in series), but the present invention is not limited to this, and they may be connected in a bus type or star type connection form (network topology) via a switching hub, a USB hub, or the like.

[0019] Further, at least one of the plurality of substrates 31 is connected to the network Na via a connection interface. In the present embodiment, it is assumed that the master substrate 31 described later is connected to the network Na.

[0020] Further, at least one of the plurality of substrates 31 has an interface for display such as HDMI (High-Definition Multimedia Interface, registered trademark) and an interface for input to which an input device such as a keyboard can be connected, and is connected to a display device 32 and an input device 33. In the present embodiment, it is assumed that the display device 32 and the input device 33 are connected to the master substrate 31 described later.

[0021] Next, an example of the hardware configuration of the substrate 31 will be described. FIG. 3 is a diagram showing an example of the hardware configuration of the substrate 31 included in the edge device 3. As shown in FIG. 3, the substrate 31 includes a CPU (Central Processing Unit) 311, a ROM (Read Only Memory) 312, a RAM (Random Access Memory) 313, a storage unit 314, a communication unit 315, a connection unit 316, and the like.

[0022] The CPU 311 is an example of a processor. The ROM 312 stores various programs. The RAM 313 is a workspace for developing programs and various data.

[0023] The CPU 311, the ROM 312, and the RAM 313 are connected via a bus or the like, and constitute a control unit 300 of a computer configuration. In the control unit 300, the CPU 311 operates according to a program stored in the ROM 312 or the storage unit 314 and developed in the RAM 313, thereby executing various processes.

[0024] The storage unit 314 is an auxiliary storage device such as a HDD (Hard Disk Drive) or a flash memory. The storage unit 314 stores basic software such as an OS (Operating System), as well as possible programs and setting information. For example, the storage unit 314 stores programs and setting information for cooperation with other substrates 31. In addition, the storage unit 314 stores programs and installation information related to processes executed on its own substrate 31.

[0025] The communication unit 315 controls communication via a communication interface. For example, the communication unit 315 controls communication with other substrates 31. In addition, the communication unit 315 controls communication with an external device such as a server 4.

[0026] The connection unit 316 controls the input and output of various types of information via the display interface and the input interface. For example, the connection unit 316 outputs display information to the display device 32 connected to the display interface. For example, the connection unit 316 receives operation information indicating the operation content from the input device 33 connected to the input interface.

[0027] The specifications and configurations of the multiple boards 31 may be identical or different. For example, some boards 31 may be equipped with dedicated circuits such as ASICs (Application Specific Integrated Circuits), accelerators, or other hardware configurations that are not installed on the other boards 31. Also, the OS installed on some boards 31 may be of a different type or version than the OS installed on the other boards 31.

[0028] Next, the functional configuration of the substrate 31 will be described. Figure 4 is a diagram showing an example of the functional configuration of the substrate 31 provided by the edge device 3. In Figure 4, the functional configuration of the master substrate 31 (hereinafter also referred to as the master substrate) and the functional configuration of the slave substrate 31 (hereinafter also referred to as the slave substrate) will be explained separately.

[0029] Here, the master board refers to one board 31 among several boards 31 that is set as the master unit, and manages and controls the other boards 31. The master unit can be set by the user or configured to be set automatically. In the latter case, for example, the board 31 to which the display device 32 and input device 33 are connected may be set as the master unit, or it may be configured to be set randomly. The slave board refers to any board other than the master board, and performs processing under the control of the master board. It should be noted that any board 31 can operate as both a master board and a slave board.

[0030] As shown in Figure 4, the master board functionally comprises a board management unit 301, a processing assignment unit 302, a master board setting unit 303, a communication control unit 304, and a display control unit 305.

[0031] The functional configuration of the master board is a software configuration realized by the processor of board 31 operating according to a program stored in the ROM or memory unit, but is not limited to this.

[0032] The board management unit 301 is an example of an acquisition unit. The board management unit 301 acquires specification information indicating the specifications of each slave board from each slave board, stores it in the storage unit 314, and manages it. For example, the board management unit 301 acquires specification information indicating the specifications and characteristics of hardware resources and software resources from each slave board, stores it in the storage unit 314, and manages it for each slave board. Note that the board management unit 301 may also be configured to acquire and manage specification information of its own board 31 (master board) in the same way, not limited to slave boards.

[0033] The timing at which the board management unit 301 acquires specification information is not particularly restricted. For example, the board management unit 301 may be configured to acquire specification information from each board 31 when the edge device 3 is started up, or it may be configured to acquire it at predetermined intervals (e.g., every hour). Alternatively, the board management unit 301 may be configured to acquire specification information from each board 31 when it detects that the configuration of the boards 31 has changed based on communication between the boards 31. Specifically, the board management unit 301 acquires specification information from each board 31 when boards 31 are added, removed, or replaced with other boards 31.

[0034] The processing assignment unit 302 is an example of a receiving unit, an assignment unit, and an output unit. The processing assignment unit 302 receives processing requests from external devices such as POS terminals 2 and assigns the received processing requests to each of the boards 31. Specifically, the processing assignment unit 302 assigns processing to the boards 31 based on an assignment table that associates the processing content requested in the processing request with the board 31 that will execute the processing content.

[0035] The required processing content is not particularly limited; for example, it could be aggregating sales based on a day's worth of transaction data, or demand forecasting that analyzes product purchasing trends and procurement quantities. It could also be image analysis processing from surveillance cameras capturing images inside the store, or processing related to the creation of machine learning models for image analysis. Furthermore, the allocation table may be pre-configured, or it may be set automatically or manually.

[0036] When setting the allocation table automatically, for example, the processing allocation unit 302 may allocate the processing to be executed on each board 31 based on the specification information managed by the board management unit 301. Specifically, the processing allocation unit 302 allocates processing content suitable for each board 31 based on the processing capacity of each board 31 and the presence or absence of dedicated circuits such as ASICs and additional functions such as accelerators, as indicated in the specification information.

[0037] In this case, the processing details requested by the external device include an identifier indicating the type of processing, as well as conditions related to the specifications of the substrate 31 suitable for the processing (hereinafter also referred to as specification conditions), which enables efficient automatic setting of the assignment table. For example, the substrate management unit 301 compares the specification conditions included in the processing request with the specifications of each substrate 31 shown in the specification information, and sets up an assignment table that associates the identifier of the processing request with the substrate 31 that satisfies the specification conditions of the processing request.

[0038] Furthermore, when setting the allocation table manually, the processing allocation unit 302 may, in cooperation with the display control unit 305 (described later), display a screen on the display device 32 to assist in setting the allocation table. For example, the processing allocation unit 302 may display a screen on the display device 32 showing the specifications of each board 31 and the processing content that can be executed on each board 31, based on the specification information managed by the board management unit 301. This allows the operator setting the allocation table manually to create the allocation table while viewing the screen displayed on the display device 32, thus enabling the processing allocation unit 302 to assist in creating the allocation table.

[0039] The processing assignment unit 302 may also be configured to dynamically determine the board 31 responsible for a processing request in response to a processing request from an external device, without relying on an assignment table. In this case, for example, by including specification conditions in the processing request and transmitting them, the processing assignment unit 302 assigns the processing of the processing request to the board 31 that satisfies the specification conditions.

[0040] Furthermore, the processing assignment unit 302 assigns the processing requested by the external device to the circuit board 31, and when the circuit board 31 executes the processing, it obtains the processing result from the assigned circuit board 31. The processing assignment unit 302 then returns the processing result to the requesting external device. Note that the processing result processed by the circuit board 31 is not limited to being returned to the requesting external device; it may also be sent to the higher-level server 4.

[0041] The master board setting unit 303 is a functional unit for setting the board 31 to be the master board. Specifically, the master board setting unit 303 works in cooperation with the display control unit 305 to display a screen on the display device 32 that allows the user to select the board 31 to be the master board.

[0042] For example, the master board setting unit 303 displays a selection screen listing each of the boards 31 in a selectable state. Alternatively, the master board setting unit 303 may display the specifications of each board 31 and the processing content that can be executed on each board 31 on the selection screen, based on the specification information managed by the board management unit 301.

[0043] Figure 5 shows an example of the master board selection screen. As shown in Figure 5, the selection screen G displays board images Ga representing each of the boards 31 in an identifiable state. In Figure 5, the three board images Ga of the boards 31 are labeled with identifiers "Board 1" to "Board 3", making each board 31 identifiable.

[0044] Furthermore, each board image Ga displays the specification information Gb of the corresponding board 31. In addition, the board image Ga corresponding to the main board displays information Gc indicating that it is the main board.

[0045] Here, each of the board images Ga functions as a selectable operator. The operator can select any one of the board images Ga via the input device 33, thereby setting the board 31 corresponding to the selected board image Ga as the main board.

[0046] Specifically, the master board setting unit 303 accesses the selected board 31 and performs settings (hereinafter also referred to as master settings) to enable it to function as a master board. For example, the master board setting unit 303 performs master settings on the setting information held by the storage unit 314 of the selected board 31. Also, if a board 31 other than its own board 31 is selected as the master board, the master board setting unit 303 cancels the master settings set on its own board 31.

[0047] Board 31 that has been configured as a master will function as a master board the next time the edge device 3 is started up. Conversely, board 31 that has been deconfigured as a master will function as a slave board the next time the edge device 3 is started up.

[0048] Furthermore, the timing at which the master board setting unit 303 displays the selection screen is not limited to when it receives instructions from the operator. For example, the master board setting unit 303 may display the master board selection screen when it detects that the configuration of board 31 has been changed. Specifically, when board 31 is added, removed, or replaced with another board 31, the master board setting unit 303 may display the master board selection screen along with a message notifying that the configuration has been changed. Changes in the configuration of board 31 can be detected, for example, through communication between boards 31 or based on specification information acquired by the board management unit 301.

[0049] Furthermore, if a board other than its own board 31 is selected as the master board, the master board setting unit 303 may move (or copy) the assignment table held in the storage unit 314 of its own board 31 to the storage unit 314 of the board 31 selected as the master board. This allows the contents of the existing assignment table to be transferred to the new master board, thereby improving convenience when switching master boards.

[0050] Returning to Figure 4, the communication control unit 304 is an example of a communication control unit. The communication control unit 304 controls the communication function of the slave board. Specifically, the communication control unit 304 suppresses communication other than communication between boards 31, that is, communication between the slave board and external devices, by controlling the slave board. Here, the method of controlling the slave board is not particularly limited, and various methods can be employed.

[0051] For example, the communication control unit 304 may send an access control list containing the addresses (IP addresses, MAC addresses, etc.) of each board 31 to the slave board, and block communication from addresses other than those registered in the access control list.

[0052] In this way, by restricting the communication targets of the slave board, direct access to the slave board from external devices can be prevented. This improves the security of the slave board, allowing for stable operation of edge device 3.

[0053] In the configuration shown in Figure 2, only the master board is connected to network Na, and the slave boards are physically disconnected from network Na. In this configuration, the communication control unit 304 may be unnecessary. However, if multiple boards 31 are connected in a bus configuration or the like, there is a possibility of direct access from external devices to the slave boards. Therefore, it is preferable to suppress direct access from external devices to the slave boards by controlling the communication control unit 304.

[0054] The display control unit 305 is an example of a display control unit. The display control unit 305 controls the screen displayed on the display device 32. Specifically, the display control unit 305 works in cooperation with other functional configurations to display screens on the display device 32 that support the operation of the edge device 3. For example, the display control unit 305 displays screens on the display device 32 to support the setting of the assignment table and selection screens for selecting a master board.

[0055] On the other hand, the slave board, as shown in Figure 4, includes an information processing unit 306 as part of its functional configuration. The functional configuration of the slave board is a software configuration realized by the processor of the board 31 operating according to a program stored in the ROM or storage unit, but is not limited to this.

[0056] The information processing unit 306 executes the processing assigned to its own board 31 by the processing assignment unit 302. After executing the processing assigned to its own board 31, the information processing unit 306 outputs the processing result to the processing assignment unit 302 of the master board. Then, as described above, the processing assignment unit 302 of the master board transmits the processing result obtained from the board 31 to the requesting external device or server 4.

[0057] In the functional configuration shown in Figure 4, the main board does not include the information processing unit 306. However, the configuration is not limited to this, and the main board may also include the information processing unit 306 if it is used to perform processing.

[0058] The following describes an example of the operation of edge device 3. Figure 6 is a sequence diagram showing an example of processing performed between the master board and the slave board. It is assumed that the assignment table has already been set up for this process.

[0059] First, when the processing assignment unit 302 of the master board receives a processing request from an external device (step S11), it selects a board 31 to which to assign the processing related to the processing request based on the processing content of the received processing request and the assignment table (step S12). Next, the processing assignment unit 302 outputs the data to be processed and the processing content transmitted in the processing request to the board 31 set in step S12 (step S13). Figure 6 shows an example in which processing is assigned to one of the slave boards.

[0060] Meanwhile, the information processing unit 306 of the slave board, which is the recipient of the assignment, receives the data to be processed from the master board and executes the processing instructed in the processing request (step S14). Then, when the processing is completed, the information processing unit 306 outputs the processing result of the processing to the master board (step S15).

[0061] When the processing assignment unit 302 of the master board obtains the processing result from the slave board selected in step S12, it outputs (replies to) the processing result to the requesting external device or the like that requested the processing (step S16).

[0062] Thus, in edge device 3, each time the main board receives a processing request from an external device, one of the boards 31 executes the processing instructed in the processing request, and the main board outputs the processing result to the requesting external device. As a result, the external device requesting the processing can obtain the processing result of the requested processing by sending a processing request to edge device 3 without being aware of the existence of multiple boards 31. Therefore, processing using edge device 3 can be performed simply.

[0063] Next, with reference to Figure 7, an example of the configuration change detection process performed by the master board of edge device 3 will be described. Figure 7 is a flowchart showing an example of the configuration change detection process performed by the master board.

[0064] When the configuration of the circuit boards 31 is changed, such as by adding or removing circuit boards 31 or replacing them with other circuit boards 31, the circuit board management unit 301 detects that the configuration has been changed (step S21). Next, the circuit board management unit 301 acquires specification information from each of the circuit boards 31 and stores and manages it in the storage unit 314 (step S22).

[0065] Next, the processing assignment unit 302 updates the assignment table by assigning a process to be executed on each of the boards 31 based on the specification information acquired in step S22 (step S23). The master board setting unit 303, in cooperation with the display control unit 305, displays the master board selection screen (see Figure 5) on the display device 32 (step S24) and waits for an operation from the operator (step S25).

[0066] When a master board is selected by an operator (step S25; Yes), the master board setting unit 303 determines whether the master board has been changed (step S26). If it determines that the master board has not been changed (step S26; No), the master board setting unit 303 terminates this process.

[0067] Furthermore, if it is determined in step S26 that the master board has been changed (step S26; Yes), the master board setting unit 303 performs master setting on the board 31 selected as the master board (step S27), and terminates this process.

[0068] As described above, the edge device 3 of this embodiment comprises a plurality of boards 31 connected in a manner that enables mutual communication, and one of these boards 31 functions as a master board. When the master board receives a processing request to be executed from an external device, it assigns the processing instructed in the processing request to one of the boards 31 and outputs the processing result processed by the assigned board 31.

[0069] As a result, in this embodiment, the edge device 3 can use multiple circuit boards 31 connected in a manner that allows them to communicate with each other, and execute processing requested by an external device by assigning it to each circuit board. Therefore, in this embodiment, the convenience of the edge device 3 that performs processing using multiple circuit boards 31 can be improved.

[0070] The programs executed in each of the above-described embodiments (and modifications) are provided pre-installed in ROM, storage, etc. The programs executed in each of the above-described embodiments may also be provided as files in an installable or executable format, recorded on a computer-readable recording medium such as a CD-ROM, flexible disk (FD), CD-R, or DVD (Digital Versatile Disk).

[0071] Furthermore, the programs executed by each of the above-described embodiments may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Alternatively, the programs executed by each of the above-described embodiments may be provided or distributed via a network such as the Internet.

[0072] Although embodiments of the present invention have been described above, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments and their variations can be implemented in a variety of other forms, and various omissions, substitutions, changes, and combinations can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents. [Explanation of Symbols]

[0073] 1 Store System 2 POS terminals 3 Edge devices 4 servers 300 Control Unit 301 Board Management Department 302 Processing Assignment Unit 303 Master board setting section 304 Communication Control Unit 305 Display Control Unit 306 Information Processing Department [Prior art documents] [Patent Documents]

[0074] [Patent Document 1] Patent No. 4898754

Claims

1. An information processing device comprising multiple circuit boards, The aforementioned multiple substrates are connected in a manner that allows them to communicate with each other. Of the aforementioned plurality of substrates, one substrate is A reception unit that receives processing requests to be executed from external devices, An assignment unit that assigns the processing instructed in the processing request to one of the multiple substrates, An output unit that outputs the processing results processed on the assigned board, A display control unit that displays a screen on a display device that associates an operator corresponding to each of the plurality of substrates with specification information indicating the specifications of the substrate corresponding to the operator, When one operator is operated from the screen, a setting unit performs settings to operate the circuit board corresponding to that operator as the first circuit board. Equipped with, The circuit board on which the settings have been made by the setting unit operates as the first circuit board, which is an information processing device.

2. The aforementioned first substrate is An acquisition unit that acquires specification information indicating the specifications of the substrates from the aforementioned plurality of substrates, Furthermore, The allocation unit selects a substrate to which the processing instructed in the processing request will be assigned, based on the specification information acquired by the acquisition unit. The information processing apparatus according to claim 1.

3. The aforementioned first substrate is The system further includes a communication control unit that controls the communication functions of other boards besides its own and blocks communication other than that between the boards. The information processing apparatus according to claim 1.