Information processing device, identification id setting method, and recording medium

The information processing device autonomously detects and resolves ID overlaps using a hash function, addressing ID duplication issues in ExpEther systems to ensure unique IDs and prevent system malfunctions without a dedicated server.

WO2025177745A1PCT designated stage Publication Date: 2025-08-28NEC CORP
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/001583
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-21
Filing Date
2025-01-20
Publication Date
2025-08-28

AI Technical Summary

Technical Problem

Existing systems using ExpEther technology for PCI Express bus extension over Ethernet face issues with ID duplication among EESV cards, leading to potential system malfunctions when a dedicated conflict control server is unavailable or malfunctioning.

Method used

An information processing device with an ID acquisition unit, ID duplication determination unit, and ID reset unit that autonomously detects and resolves ID overlaps using a hash function to assign unique IDs to EESV cards without relying on a dedicated server.

Benefits of technology

Prevents ID duplication and unintended system operations by ensuring unique IDs are assigned, improving system availability and preventing unauthorized configurations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025001583_28082025_PF_FP_ABST
    Figure JP2025001583_28082025_PF_FP_ABST
Patent Text Reader

Abstract

This information processing device comprises: an identification ID acquiring unit that acquires an identification ID of another information processing device via a network; an identification ID duplication determining unit that compares the identification ID of the other information processing device with the identification ID of the host information processing device to determine whether the identification ID of the host information processing device is a duplicate of the identification ID of the other information processing device; and an identification ID resetting unit that, if it is determined that the identification ID of the host information processing device is a duplicate of the identification ID of the other information processing device, generates an identification ID candidate value using a hash function, and sets the identification ID candidate value as the identification ID of the host information processing device.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing device, ID setting method, and recording medium

[0001] The present disclosure relates to an information processing device, an identification ID setting method, and a recording medium.

[0002] ExpEther (registered trademark) is a technology that enables the PCI Express bus to be extended over Ethernet (registered trademark). By connecting an interface card compliant with ExpEther (registered trademark) to a PCI Express bus, transaction layer packets (TLPs) defined in the PCI Express specifications are encapsulated and transmitted / received via an Ethernet network.

[0003] There are two types of ExpEther (registered trademark) cards: ExpEther Server (EESV) cards, which are connected to the server side of a computer, and ExpEther I / O (EEIO) cards, which are connected to I / O devices compatible with PCI Express. The type can be defined by setting the ExpEther (registered trademark) card. EESV cards and EEIO cards are assigned an identification ID, and high-speed data transfer is performed between EESV cards and EEIO cards that have the same identification ID assigned.

[0004] Because an EEIO card cannot be linked to multiple EESV cards, the ID assigned to each EESV card must be unique on the network. Therefore, if the same ID is assigned to multiple EESV cards on the network, the server may be connected to an unintended I / O device, potentially causing the system to malfunction.

[0005] For example, Patent Document 1 proposes a technology in which, in order to avoid conflicts between identification IDs, a dedicated server (conflict control server) is provided on the network to manage conflicts between identification IDs assigned to the server's EESV cards, and identification IDs are automatically assigned to the server's EESV cards so that there are no duplicates.

[0006] Japanese Patent Application Publication No. 2008-78887

[0007] However, in Patent Document 1, if for some reason the conflict control server cannot be installed or if the conflict control server is stopped, the conflicting identification ID cannot be resolved and the system may malfunction.

[0008] An object of the present disclosure is to provide an information processing device, an identification ID setting method, and a recording medium that solve the above-mentioned problems.

[0009] An information processing device according to one aspect of the present disclosure includes an ID acquisition unit that acquires an ID of another information processing device via a network, an ID duplication determination unit that compares the ID of the other information processing device with the ID of its own information processing device and determines whether the ID of its own information processing device overlaps with the ID of the other information processing device, and an ID reset unit that, when it is determined that the ID of its own information processing device overlaps with the ID of the other information processing device, generates an ID candidate value using a hash function and sets the ID candidate value as the ID of its own information processing device.

[0010] An ID setting method according to one aspect of the present disclosure includes the steps of: acquiring the ID of another information processing device via a network; comparing the ID of the other information processing device with one's own ID to determine whether one's own ID overlaps with the ID of the other information processing device; and, if it is determined that one's own ID overlaps with the ID of the other information processing device, generating an ID candidate value using a hash function and setting the ID candidate value as one's own ID.

[0011] A recording medium according to one aspect of the present disclosure stores a program for causing a computer of an information processing device to function as an ID acquisition function for acquiring an ID of another information processing device via a network, an ID duplication determination function for comparing the ID of the other information processing device with the computer's own ID and determining whether the computer's own ID overlaps with the ID of the other information processing device, and an ID resetting function for generating an ID candidate value using a hash function and setting the ID candidate value as the computer's own ID when it is determined that the computer's own ID overlaps with the ID of the other information processing device.

[0012] According to the above aspect, there is an advantage that it is possible to assign identification IDs without duplication without providing a dedicated server.

[0013] FIG. 1 is a block diagram illustrating a configuration of a communication system 1 according to the present disclosure. FIG. 2 is a block diagram illustrating an internal configuration of an information processing device according to the present disclosure. FIG. 3 is a flowchart illustrating an operation (ID duplication detection processing) of an information processing device according to the present disclosure. FIG. 4 is a conceptual diagram illustrating an example of an identification ID list collected by an information processing device according to the present disclosure. FIG. 5 is a conceptual diagram illustrating an example of an identification ID that is set or is about to be set in its own server according to the present disclosure. FIG. 6 is a flowchart illustrating an operation (ID reconfiguration processing) of an information processing device according to the present disclosure. FIG. 7 is a conceptual diagram illustrating an example of a hash function according to the present disclosure. FIG. 8 is a conceptual diagram illustrating an example of setting an identification ID newly determined in an information processing device according to the present disclosure. FIG. 9 is a flowchart illustrating another operation (ID duplication detection processing) of an information processing device according to the present disclosure. FIG. 10 is a flowchart illustrating an operation when an information processing device according to the present disclosure receives a device information request packet. FIG. 11 is a block diagram illustrating a minimum configuration of an ExpEther (registered trademark) card according to the present disclosure.

[0014] Hereinafter, each embodiment will be described with reference to the drawings. In all drawings, the same or corresponding components are denoted by the same reference numerals, and common descriptions will be omitted.

[0015] First Embodiment An embodiment of the present disclosure will now be described with reference to the drawings. Fig. 1 is a block diagram showing the configuration of a communication system 1 according to the present disclosure. In Fig. 1, the communication system 1 applies ExpEther (registered trademark) technology and includes a management server 2, multiple servers 3-1 to 3-K, multiple I / O devices 4-1 to 4-L, 5-1 to 5-M, EEIO cards 6-1 to 6-L, 7-1 to 7-M, and a network 9.

[0016] Each of the multiple servers 3-1 to 3-K includes chipsets 31-1 to 31-K, CPUs 32-1 to 32-K, memories 33-1 to 33-K, and EESV cards 34-1 to 34-K (information processing devices). The multiple servers 3-1 to 3-K are connected to a network 9 via EESV cards 34-1 to 34-K. The EESV cards 34-1 to 34-K are ExpEther (registered trademark) cards located on the server side and operate as upstream ports of a PCIe (PCI Express) switch. The EESV cards 34-1 to 34-K are connected to chipsets 31-1 to 31-K, each of which has a PCIe root complex function.

[0017] Each of the multiple I / O devices 4-1 to 4-L and 5-1 to 5-M is composed of a GPU (Graphics Processing Unit), storage, etc., and is connected to the network 9 via EEIO cards 6-1 to 6-L and 7-1 to 7-M. The EEIO cards 6-1 to 6-L and 7-1 to 7-M are ExpEther (registered trademark) cards placed on the I / O device side, and operate as downstream ports of the PCIe switch.

[0018] An identification ID is assigned to each of the EESV cards 34-1 to 34-K and the EEIO cards 6-1 to 6-L and 7-1 to 7-M. In the illustrated example, the identification ID = x is assigned to the EESV card 34-1, the identification ID = y is assigned to the EESV card 34-K, the identification ID = x is assigned to the EEIO cards 6-1 to 6-L, and the identification ID = y is assigned to the EEIO cards 7-1 to 7-M. The range of identification IDs is between 0 and 4095. In this case, high-speed data transfer is performed via the network 9 between devices assigned the same identification ID, i.e., between the server 3-1 and the I / O devices 4-1 to 4-L, and between the server 3-K and the I / O devices 5-1 to 5-M.

[0019] In the example shown in Figure 1, the ExpEther (registered trademark) card enables TLP (Transaction Layer Packet) communication between EESV cards 34-1 to 34-K and EEIO cards 6-1 to 6-L and 7-1 to 7-M having the same ID, which are connected to network 9. EEIO cards 6-1 to 6-L and 7-1 to 7-M are linked to only one of EESV cards 34-1 to 34-K with the same ID, and cannot be linked to multiple EESV cards. In the example shown in Figure 1, EESV card 34-1 with ID = x can communicate TLP only with EEIO cards 6-1 to 6-L with ID = x, and EESV card 34-K with ID = y can communicate TLP only with EEIO cards 7-1 to 7-M with ID = y. EEIO cards 6-1 to 6-L and 7-1 to 7-M and EESV cards 34-1 to 34-K, which are assigned the same identification ID, configure a virtual PCIe switch. The area within the dashed line in Fig. 1 corresponds to the configured virtual PCIe switch, and I / O devices 4-1 to 4-L, to which EEIO cards 6-1 to 6-L are connected, can be operated from server 3-1, to which EESV card 34-1 is connected, and I / O devices 5-1 to 5-M, to which EEIO cards 7-1 to 7-M are connected, can be operated from server 3-K, to which EESV card 34-K is connected.

[0020] The EESV cards 34-1 to 34-K and the EEIO cards 6-1 to 6-L and 7-1 to 7-M transmit DEVINFO frames to the network 9 at regular intervals. The DEVINFO frames describe device information including the identification IDs of the EESV cards 34-1 to 34-K and the EEIO cards 6-1 to 6-L and 7-1 to 7-M. The DEVINFO frames are broadcast over the network 9 at predetermined time intervals. Therefore, all of the EESV cards 34-1 to 34-K and the EEIO cards 6-1 to 6-L and 7-1 to 7-M connected to the network 9 can receive DEVINFO frames from the other cards and can confirm the device information, including the identification IDs, contained in the DEVINFO frames.

[0021] The management server 2 has a function of transmitting control frames for managing the allocation and change of identification IDs to the EESV cards 34-1 to 34-K and the EEIO cards 6-1 to 6-L and 7-1 to 7-M. By using the management server 2, the user can change the identification IDs of the EESV cards 34-1 to 34-K and the EEIO cards 6-1 to 6-L and 7-1 to 7-M.

[0022] 2 is a block diagram showing the configuration of EESV cards 34-1 to 34-K according to the present disclosure. In Fig. 2, EESV cards 34-1 to 34-K each include a DEVINFO frame generation block 50, a TLP control block 51, an encapsulation block 52, an Ethernet packet transmission / reception block 53, a decapsulation block 54, an ID processing block 55, an ID duplication detection block (ID duplication detection unit) 56, an ID reset block (ID reset unit) 57, an ID storage block 58, and a user notification block (user notification unit) 59.

[0023] The DEVINFO frame generation block 50 generates a DEVINFO frame describing the ID stored in the ID storage block 58. The TLP control block 51 exchanges TLPs with CPUs 32-i (i = 1 to K). The encapsulation block 52 encapsulates the DEVINFO frame and the TLP frame into an Ethernet frame (Ethernet packet).

[0024] The Ethernet packet transmission / reception block 53 transmits and receives Ethernet packets. The decapsulation block 54 decapsulates received Ethernet packets. The ID processing block 55 identifies TLP frames addressed to itself by the ID. The ID duplication detection block 56 detects duplication between the ID of another EESV card and its own ID. The ID resetting block 57 resets the ID so that there is no duplication when ID duplication is detected. The ID storage block 58 stores the reset ID. The user notification block 59 notifies the user that ID duplication has been detected, the results of ID resetting, etc.

[0025] A unique ID must be assigned to each of the EESV cards 34-1 to 34-K in the multiple servers 3-1 to 3-K connected to the same network 9. The ID duplication detection block 56 has a function that, triggered by a predetermined event, checks whether the ID of any other EESV card other than itself present on the network 9 overlaps with its own ID in order to avoid duplication of IDs, and instructs the ID resetting block 57 to change (reset) its own ID when duplication is detected.

[0026] Here, there are two possible cases where duplicate IDs are set for multiple EESV cards 34-1 to 34-K: (1) When an EESV card 34-i (where i = 1 to K) with an ID set is connected to the network 9, another EESV card 34-j (other than i) with that ID already set exists on the network 9. (2) When a user changes the ID of an EESV card 34-i, another EESV card 34-j with that ID already exists on the network 9.

[0027] The ID duplication detection block 56 executes an ID duplication detection process to check whether the ID set for the EESV card 34-i is already in use on the network 9, i.e., whether the ID is duplicated, when a new EESV card 34-i is connected to the network 9 or when a user changes the ID of the EESV card 34-i via the management server 2 or the like, as a predetermined trigger.

[0028] When a duplicate ID of an EESV card 34-i is detected, the ID reset block 57 in the EESV card 34-i executes an ID reset process to reset a non-duplicate ID, and resets the new ID by storing it in the ID storage block 58. The user notification block 59 notifies the user that a duplicate ID has been detected and that the ID has been reset.

[0029] 3 is a flowchart for explaining the operation (ID duplication detection process) of the information processing device (EESV card) according to the present disclosure. The following explanation assumes that server A equipped with an EESV card (another information processing device) 60A and server B equipped with an EESV card (another information processing device) 60B are connected to network 9, and that server C equipped with an EESV card (own information processing device) 60C is newly connected to network 9, or the ID set in EESV card 60C of server C is changed by a user via management server 2. It is also assumed that ID=a is set in EESV card 60A of server A, ID=b is set in EESV card 60B of server B, and ID=a is set in EESV card 60B of server C. Furthermore, server A connected to network 9 broadcasts a DEVINFO frame containing identification ID=a set in EESV card 60A, and server B broadcasts a DEVINFO frame containing identification ID=b set in EESV card 60B, onto network 9 at predetermined time intervals.

[0030] 3, the EESV cards 60A, 60B, and 60C of the servers A, B, and C determine whether they have been newly connected to the network 9 or whether the set ID has been changed by the user (step S10). In the case of the servers A and B, they are already connected to the network 9 and the set ID has not been changed (NO in step S10), so the process ends without performing the following process.

[0031] On the other hand, server C determines that it has been newly connected to network 9 (YES in step S10), and this triggers its own EESV card 60C to receive, for a certain period of time, DEVINFO frames broadcast from each of the other servers A and B connected to network 9 in steps S12 to S16, extract the identification ID from the received DEVINFO frame, and store it in the identification ID list.

[0032] That is, the EESV card 60C of server C determines whether it has received a DEVINFO frame from another EESV card 60A, 60B on the network 9 (step S12). When it receives a DEVINFO frame from another EESV card 60A, 60B, it extracts the IDs a, b of the other EESV cards 60A, 60B from the received DEVINFO frame and stores them in an ID list (step S14). Next, the EESV card 60C of server C determines whether a certain time has elapsed since it started collecting the IDs of the other EESV cards 60A, 60B (step S16). If the certain time has not yet elapsed (NO in step S16), it returns to step S12 and repeats the above-described process. In this way, it creates an ID list consisting of the IDs a, b of the EESV cards 60A, 60B of all other servers A and B connected to the network 9.

[0033] 4A and 4B are conceptual diagrams showing an example of an ID list according to the present disclosure. As shown in Fig. 4A, the EESV card 60C creates an ID list 61 consisting of IDs a and b acquired from the EESV cards 60A and 60B of all other servers A and B connected to the network 9. The ID set or to be set in the server C (the EESV card 60C) is set to a, as shown in Fig. 4B.

[0034] Next, after a certain time has elapsed since the start of collection of DEVINFO frames (YES in step S16), the ID duplication detection block 56 compares the ID set for itself (or the ID to be changed) with the ID stored in the ID list 61 to check whether there are any duplicate IDs (step S18). In the example shown in Figures 4A and 4B, the ID set for itself (or the changed ID) = a is compared with the IDs a and b in the ID list 61.

[0035] If the ID list 61 does not contain the same ID as the user's own ID, i.e., if no duplication is detected (NO in step S18), the ID duplication detection block 56 either uses the original ID set in the ID storage block 58 as is (in the case of a new connection to the network 9), or writes the ID that the user is about to change (set) to the ID storage block 58 (in the case of a user changing the ID) (step S20).Then, the process ends.

[0036] On the other hand, if the ID list 61 contains an ID that is the same as the card's own ID, i.e., if a duplication is detected (YES in step S18), the ID duplication detection block 56 sends a duplication notification to the ID resetting block 57 and proceeds to the ID resetting process described below (step S22). Then, the process ends. In the example shown in Figures 4A and 4B, the ID = a set for the card itself is duplicated with the ID = a of another EESV card 60A in server A, so the process proceeds to the ID resetting process described below.

[0037] 5 is a flowchart for explaining the operation (ID reset process) of the information processing device (EESV card) according to the present disclosure. When a duplicate ID is detected in the above-described ID duplication detection process, the ID reset block 57 executes the ID reset process shown in FIG.

[0038] In its own EESV card 60C, the ID reset block 57 initializes the ID reproduction setting count to 0 (step S30), and determines an ID candidate value using a hash function (step S32). The hash function receives the MAC address (Media Access Control address) information (upper 24 bits: vendor ID and lower 24 bits: serial ID) of its own EESV card 60C and the number of times the hash function has been called (used), and outputs an ID candidate value (0 to 4095).

[0039] When resetting the ID, if multiple EESV cards perform this process at the same time, it is necessary to ensure that duplicate new IDs are not assigned. In other words, the ID determined by this process needs to be mapped to a unique ID for each card as much as possible, and this is achieved by using a hash function. The hash function is designed so that its output value changes significantly depending on the number of times it is called (used), ensuring randomness.

[0040] FIG. 6 is a conceptual diagram illustrating an example of a hash function according to the present disclosure. In this embodiment, an identification ID candidate value is determined using the hash function h(x, y, i) = ((y>>i) + x) & 0xfff shown in FIG. 6 . Here, x is MAC address information (upper 24 bits: vendor ID), y is MAC address information (lower 24 bits: serial ID), and i is the number of times the hash function has been called (used). Also, y>>i is an i-bit right shift operation on y, and ((y>>i) + x) & 0xfff represents an AND (logical product) operation on the bit strings ((y>>i) + x) and 0xfff. In the example shown in FIG. 6 , this means that the serial ID of the MAC address is bit-shifted by the number of times the hash function has been called (used). In this way, by right-shifting y (lower 24 bits: serial ID) by i bits, the output value changes significantly, making it less likely that the same identification ID candidate value will appear.

[0041] Next, the ID reset block 57 increments the number of hash function calls (step S34) and determines whether the determined ID candidate value is a save ID (step S36). The value of the save ID is set to 4095. When the save ID is set in the EESV card, all packets encapsulating TLPs are discarded. In other words, the EESV card set to the save ID cannot send or receive TLPs with the EEIO cards 6-1 to 6-L and 7-1 to 7-M on the network 9, and is no longer connected to the EEIO cards 6-1 to 6-L and 7-1 to 7-M. Note that control frames and DEVINFO frames from the management server 2 are not discarded, and it is possible to refer to and change the information on the EESV card set to the save ID.

[0042] If the determined ID candidate value is the backup ID (=4095) (YES in step S36), the ID resetting block 57 returns to step S32 and determines the ID candidate value again using the hash function. On the other hand, if the determined ID candidate value is not the backup ID (NO in step S36), the ID resetting block 57 determines whether the determined ID candidate value is included in the ID list 61 (step S38).

[0043] If the ID candidate value is included in the ID list 61, i.e., if the ID candidate value is already being used by another EESV card 60A, 60B on the network 9 (YES in step S38), the ID reset block 57 determines whether the number of ID resets has exceeded a certain number (step S40). If the number of ID resets has not exceeded the certain number (NO in step S40), the ID reset block 57 increments the number of ID resets (step S42) and returns to step S32, where it repeats the above-described process to determine the ID candidate value using the hash function. Therefore, if the ID candidate value is included in the ID list 61, the ID candidate value is repeatedly determined while changing the number of hash function calls (i) until the number of ID resets exceeds the certain number.

[0044] On the other hand, if the identification ID candidate value is not included in the identification ID list 61 (NO in step S38), that is, if the identification ID candidate value is not used by other EESV cards 60A, 60B on the network 9, the identification ID reset block 57 writes the identification ID candidate value to the identification ID memory block 58, thereby setting a new identification ID for its own EESV card 60C that does not overlap with the identification IDs of the other EESV cards 60A, 60B (step S44).

[0045] 7 is a conceptual diagram showing an example of setting a newly determined ID for an EESV card according to the present disclosure. For example, as shown in FIGS. 4A and 4B, if the ID=a of the EESV card 60C of the server C overlaps with the ID=a of the EESV card 60A of the server A, and the ID candidate value determined in step S32 is c (≠ 4095), then as shown in FIG. 7, the ID candidate value c is written into the ID of the server C (the server C's EESV card 60C), thereby setting the ID=c that does not overlap with the ID=a of the other EESV card 60A. As a result, the ID=a of the EESV card 60A of the server A becomes the ID=b, the ID=b of the EESV card 60B of the server B becomes the ID=c of the EESV card 60C of the server C becomes the ID=c, and the ID duplication is avoided.

[0046] On the other hand, if the number of ID resets exceeds a certain number (YES in step S40), the ID reset block 57 determines that a unique ID could not be determined, sets the save ID (=4095) as the ID of its own EESV card 60C (step S46), and terminates the process. Therefore, if a unique ID has not been determined even after the number of ID resets exceeds a certain number, the ID is set to the save ID (=4095). If the ID of the EESV card 60C is set to the save ID (=4095), all packets encapsulating TLPs are discarded, so no contention occurs.

[0047] In the first embodiment described above, each EESV card 34-1 to 34-K autonomously avoids duplication of IDs, thereby preventing unintended system operation due to duplication of IDs without the need to deploy a dedicated server on the network 9 to monitor duplication of IDs among the EESV cards 34-1 to 34-K. Furthermore, by entrusting the process of preventing duplication of IDs to the EESV cards 34-1 to 34-K, the availability of the entire system can be improved. Furthermore, by notifying the user when duplication of IDs is detected, the user can be informed that I / O devices may be connected in an unintended configuration. Furthermore, by verifying whether the I / O devices connected to the server are as intended by the user, the construction of an unauthorized system configuration can be prevented.

[0048] Second Embodiment An embodiment of the present disclosure will be described below with reference to the drawings. In this second embodiment, instead of collecting identification IDs from DEVINFO frames broadcast from other EESV cards 60A, 60B, a device information request packet requesting device information is transmitted via the network 9 from an EESV card 60C of server C that is newly connected to the network 9 or whose identification ID has been changed. The other EESV cards 60A, 60B that receive the device information request packet return device information including the identification ID to the server C that sent the packet. Upon receiving the device information from the other EESV cards 60A, 60B, the EESV card 60C of server C extracts the identification IDs a, c from the respective device information and adds them to the identification ID list 61. This makes it possible to collect the identification ID information a, c of the other EESV cards 60A, 60B that exist on the network 9.

[0049] 8 is a flowchart for explaining another operation (ID duplication detection process) of the information processing device (EESV card) according to the present disclosure. EESV cards 60A, 60B, and 60C of servers A, B, and C determine whether they have been newly connected to the network 9 or whether the set ID has been changed by the user (step S50). In the case of servers A and B, since they have not been newly connected to the network 9 or their set ID has not been changed (NO in step S50), the process ends without performing the following process.

[0050] On the other hand, server C determines that it has been newly connected to network 9 or that its set ID has been changed (YES in step S50), which triggers its own EESV card 60C to broadcast a device information request packet to network 9 (step S52). Next, in its own EESV card 60C, the ID duplication detection block 56 repeats, for a certain period of time, in steps S54 to S58, receiving device information from all other servers A and B connected to network 9, extracting the ID from the received device information, and storing the extracted ID in the ID list 61.

[0051] That is, in its own EESV card 60C, the ID duplication detection block 56 determines whether it has received device information from other EESV cards 60A, 60B on the network 9 (step S54). If it receives device information from the other EESV cards 60A, 60B, it extracts the IDs a, b of the other EESV cards 60A, 60B from the received device information and stores them in the ID list 61 (step S14). Next, the ID duplication detection block 56 determines whether a certain amount of time has elapsed since it started collecting the IDs of the other EESV cards 60A, 60B (step S58). If the certain amount of time has not yet elapsed (NO in step S58), it returns to step S54 and repeats the above-described process. In this way, the ID list 61 is created, which includes the IDs a, b of the EESV cards 60A, 60B of all other servers A and B connected to the network 9.

[0052] Next, after a certain period of time has elapsed since the start of collection of DEVINFO frames (YES in step S58), the ID duplication detection block 56 compares the ID that has been set to itself (or the ID that is about to be set) with the ID stored in the ID list 61 to check whether there is any duplication of the ID (step S60).

[0053] If the ID list 61 does not contain the same ID as the user's own ID, i.e., if no duplication is detected (NO in step S60), the ID duplication detection block 56 either uses the original ID set in the ID storage block 58 as is (in the case of a new connection to the network 9), or writes the ID that is about to be changed (set) by the user into the ID storage block 58 (in the case of a user changing the ID) (step S62).Then, the process ends.

[0054] On the other hand, if the ID list 61 contains an ID that is the same as the device's own ID, i.e., if a duplication is detected (YES in step S60), the ID duplication detection block 56 sends a duplication notification to the ID reset block 57 and executes the ID reset process (FIG. 3) described above (step S64). Thereafter, this process ends. Since the ID reset process described above is the same, a description thereof will be omitted.

[0055] 9 is a flowchart illustrating the behavior of an ExpEther (registered trademark) card that receives a device information request packet in an information processing device (EESV card) according to the present disclosure. The ExpEther (registered trademark) card that receives the device information request packet, i.e., the EESV cards 60A and 60B, determine whether or not the device information request packet has been received (step S70). If the device information request packet has not been received (NO in step S70), the EESV cards 60A and 60B do nothing and end the process.

[0056] On the other hand, when a device information request packet is received (YES in step S70), the EESV cards 60A and 60B check whether the ID set therein is the save ID (=4095) (step S72). If the ID is the save ID (YES in step S72), the EESV cards 60A and 60B do nothing and discard the packet, terminating the process. On the other hand, if the ID is other than the save ID (NO in step S72), the EESV cards 60A and 60B each return device information including their own ID to the sender, the EESV card 60C (step S74).

[0057] In addition to the effects of the first embodiment described above, the second embodiment allows an EESV card of a server that is newly connected to the network 9 or whose identification ID has been changed to request device information from other EESV cards, thereby making it possible to actively collect the identification IDs of other EESV cards in a shorter time.

[0058] 10 is a block diagram showing the configuration of an ExpEther (registered trademark) card according to an embodiment of the present disclosure. The ExpEther (registered trademark) card 100 according to this embodiment includes an ID acquisition unit 102 that acquires the IDs of other ExpEther (registered trademark) cards via a network 101, an ID duplication determination unit 103 that compares its own ID (the ExpEther (registered trademark) card 100) with the IDs of the other ExpEther (registered trademark) cards to determine whether its own ID is duplicated, and an ID resetter 104 that, if it is determined that its own ID is duplicated with the ID of the other ExpEther (registered trademark) card, generates an ID candidate value using a hash function and sets the ID candidate value as the ID of its own (the ExpEther (registered trademark) card 100).

[0059] Although the present disclosure has been described above with reference to the embodiments, the present disclosure is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. Furthermore, each embodiment can be combined with other embodiments as appropriate.

[0060] Some or all of the above-described embodiments can be described as, but are not limited to, the following supplementary notes.

[0061] (Supplementary Note 1) An information processing device comprising: an ID acquisition unit that acquires an ID of another information processing device via a network; an ID duplication determination unit that compares the ID of the other information processing device with the ID of its own information processing device and determines whether the ID of its own information processing device overlaps with the ID of the other information processing device; and an ID resetting unit that, when it is determined that the ID of its own information processing device overlaps with the ID of the other information processing device, generates an ID candidate value using a hash function and sets the ID candidate value as the ID of its own information processing device.

[0062] (Supplementary Note 2) The information processing device described in Supplementary Note 1 is characterized in that the ID duplication determination unit determines whether the ID candidate value generated by the ID resetting unit overlaps with the ID of the other information processing device, and when it is determined that the ID candidate value overlaps with the ID of the other information processing device, the ID resetting unit changes parameters of the hash function each time to repeatedly generate the ID candidate value until the overlap is resolved.

[0063] (Supplementary Note 3) The information processing device described in Supplementary Note 1 or 2, characterized in that the ID resetting unit sets the ID of the information processing device itself to a backup ID when the number of times the ID candidate value is generated exceeds a certain number.

[0064] (Appendix 4) The information processing device described in any one of Appendices 1 to 3, characterized in that, when the identification ID candidate value is a backup identification ID, the identification ID resetting unit changes the parameters of the hash function and generates the identification ID candidate value again.

[0065] (Supplementary Note 5) The information processing device according to any one of Supplementary Notes 1 to 4, wherein the hash function is expressed as h(x, y, i) = ((y>>i) + x) & 0xfff, where x is the most significant 24 bits (vendor ID) of MAC (Media Access Control address) address information of the information processing device itself, y is the least significant 24 bits (serial ID) of the MAC address information, i is the number of times the hash function has been used, y>>i is an i-bit right shift operation on y, and ((y>>i) + x) & 0xfff represents an AND (logical product) operation of the bit strings ((y>>i) + x) and 0xfff.

[0066] (Appendix 6) The information processing device described in any one of Appendices 1 to 5, characterized in that the identification ID acquisition unit receives device information periodically broadcast on the network from the other information processing device when the information processing device is newly connected to the network or when the identification ID of the information processing device is changed, and acquires the identification ID of the other information processing device from the device information.

[0067] (Appendix 7) The information processing device described in any one of Appendices 1 to 5, characterized in that the identification ID acquisition unit receives device information sent from the other information processing device in response to a device information request packet sent onto the network when the information processing device is newly connected to the network or when the identification ID of the information processing device is changed, and acquires the identification ID of the other information processing device from the device information.

[0068] (Appendix 8) The information processing device described in any one of Appendices 1 to 7, further comprising a user notification unit that notifies the user that at least the identification ID of the information processing device has been detected to overlap with the identification ID of the other information processing device, and / or that the identification ID candidate value has been set as the identification ID of the information processing device.

[0069] (Supplementary Note 9) The information processing device according to any one of Supplementary Notes 1 to 8, wherein the information processing device itself and the other information processing device are interface cards conforming to ExpEther (Express Ethernet).

[0070] (Supplementary Note 10) An identification ID setting method comprising the steps of: acquiring an identification ID of another information processing device via a network; comparing the identification ID of the other information processing device with the identification ID of one's own information processing device and determining whether the identification ID of one's own information processing device overlaps with the identification ID of the other information processing device; and, when it is determined that the identification ID of one's own information processing device overlaps with the identification ID of the other information processing device, generating an identification ID candidate value using a hash function and setting the identification ID candidate value as the identification ID of one's own information processing device.

[0071] (Supplementary Note 11) The identification ID setting method described in Supplementary Note 10, further comprising the steps of: determining whether the identification ID candidate value overlaps with the identification ID of the other information processing device; and, if it is determined that the identification ID candidate value overlaps with the identification ID of the other information processing device, repeatedly generating the identification ID candidate value by changing parameters of the hash function each time until the overlap is resolved.

[0072] (Appendix 12) The identification ID setting method described in Appendix 10 or 11, further comprising a step of setting the identification ID of the information processing device itself as a backup identification ID when the number of times the identification ID candidate value is generated exceeds a certain number.

[0073] (Appendix 13) The identification ID setting method described in any one of Appendices 10 to 12, further comprising a step of changing parameters of the hash function and generating the identification ID candidate value again if the identification ID candidate value is a backup identification ID.

[0074] (Supplementary Note 14) The identification ID setting method according to any one of Supplementary Notes 10 to 13, characterized in that the hash function is expressed as h(x, y, i) = ((y>>i) + x) & 0xfff, where x is the most significant 24 bits (vendor ID) of MAC (Media Access Control address) address information of the information processing device itself, y is the least significant 24 bits (serial ID) of the MAC address information, i is the number of times the hash function is used, y>>i is an i-bit right shift operation on y, and ((y>>i) + x) & 0xfff represents an AND (logical product) operation of the bit strings ((y>>i) + x) and 0xfff.

[0075] (Appendix 15) The identification ID setting method described in any one of Appendices 10 to 14, characterized in that the step of acquiring the identification ID of the other information processing device includes receiving device information periodically broadcast on the network from the other information processing device when the information processing device is newly connected to the network or when the identification ID of the information processing device is changed, and acquiring the identification ID of the other information processing device from the device information.

[0076] (Appendix 16) The identification ID setting method described in any one of Appendices 10 to 14, characterized in that the step of acquiring the identification ID of the other information processing device includes receiving device information sent from the other information processing device in response to a device information request packet sent onto the network when the information processing device is newly connected to the network or when the identification ID of the information processing device is changed, and acquiring the identification ID of the other information processing device from the device information.

[0077] (Appendix 17) The identification ID setting method described in any one of Appendices 10 to 16, further comprising at least a step of notifying a user that it has been detected that the identification ID of the information processing device itself overlaps with the identification ID of the other information processing device, and / or that the identification ID candidate value has been set as the identification ID of the information processing device itself.

[0078] (Supplementary Note 18) The identification ID setting method according to any one of Supplementary Notes 10 to 17, wherein the information processing device itself and the other information processing device are interface cards conforming to ExpEther (Express Ethernet).

[0079] (Supplementary Note 19) A program causing a computer of an information processing device to function as: an ID acquisition function that acquires the ID of another information processing device via a network; an ID duplication determination function that compares the ID of the other information processing device with the ID of the information processing device itself and determines whether the ID of the information processing device itself overlaps with the ID of the other information processing device; and an ID reset function that, when it is determined that the ID of the information processing device itself overlaps with the ID of the other information processing device, generates an ID candidate value using a hash function and sets the ID candidate value as the ID of the information processing device itself.

[0080] (Appendix 20) The program described in Appendix 19, characterized in that the ID duplication determination function determines whether the ID candidate value generated by the ID resetting unit overlaps with the ID of the other information processing device, and if the ID resetting function determines that the ID candidate value overlaps with the ID of the other information processing device, changes parameters of the hash function each time to repeatedly generate the ID candidate value until the overlap is resolved.

[0081] (Appendix 21) The program described in Appendix 19 or 20, characterized in that the ID resetting function sets the own ID to a backup ID when the number of times the ID candidate value is generated exceeds a certain number.

[0082] (Appendix 22) The program described in any one of Appendices 19 to 21, characterized in that the ID resetting function changes the parameters of the hash function and generates the ID candidate value again if the ID candidate value is a backup ID.

[0083] (Supplementary Note 23) The program according to any one of Supplementary Notes 19 to 22, characterized in that the hash function is expressed as h(x, y, i) = ((y>>i) + x) & 0xfff, where x is the most significant 24 bits (vendor ID) of MAC (Media Access Control address) address information of the information processing device itself, y is the least significant 24 bits (serial ID) of the MAC address information, i is the number of times the hash function is used, y>>i is an i-bit right shift operation on y, and ((y>>i) + x) & 0xfff represents an AND (logical product) operation of the bit strings ((y>>i) + x) and 0xfff.

[0084] (Appendix 24) The program described in any one of Appendices 19 to 23, characterized in that the identification ID acquisition function receives device information periodically broadcast on the network from the other information processing devices when the information processing device is newly connected to the network or when the identification ID of the information processing device is changed, and acquires the identification ID of the other information processing device from the device information.

[0085] (Appendix 25) The program described in any one of Appendices 19 to 23, characterized in that the identification ID acquisition function receives device information sent from the other information processing device in response to a device information request packet sent onto the network when the information processing device is newly connected to the network or when the identification ID of the information processing device is changed, and acquires the identification ID of the other information processing device from the device information.

[0086] (Appendix 26) The program described in any one of Appendices 19 to 25, characterized in that the computer of the information processing device further includes a step of notifying a user that it has been detected that the identification ID of the information processing device itself overlaps with the identification ID of the other information processing device, and / or that the identification ID candidate value has been set as the identification ID of the information processing device itself.

[0087] (Supplementary Note 27) The program according to any one of Supplementary Notes 19 to 26, wherein the information processing device itself and the other information processing device are interface cards conforming to ExpEther (Express Ethernet).

[0088] This application claims priority based on Japanese Patent Application No. 2024-024624, filed February 21, 2024, the disclosure of which is incorporated herein in its entirety by reference.

[0089] The present disclosure may be applied to an information processing device, an identification ID setting method, and a recording medium.

[0090] 1 Communication system 2 Management server 3-1 to 3-K Server 4-1 to 4-L, 5-1 to 5-L I / O device 6-1 to 6-L, 7-1 to 7-M EEIO card 9 Network 31-1 to 31-K Chip set 32-1 to 32-K CPU 33-1 to 33-K Memory 34-1 to 34-K EESV card 56 ID duplication detection block 57 ID reset block 58 ID storage block 59 User notification block 61 ID list 60A, 60B Other EESV cards 60C Own EESV card 100 ExpEther (registered trademark) card 101 Network 102 ID acquisition unit 103 ID duplication determination unit 104 ID reset unit A, B Other servers C Own server

Claims

1. An information processing device comprising: an ID acquisition unit that acquires an ID of another information processing device via a network; an ID duplication determination unit that compares the ID of the other information processing device with the ID of its own information processing device and determines whether the ID of its own information processing device overlaps with the ID of the other information processing device; and an ID reset unit that, when it is determined that the ID of its own information processing device overlaps with the ID of the other information processing device, generates an ID candidate value using a hash function and sets the ID candidate value as the ID of its own information processing device.

2. The information processing device described in claim 1, characterized in that the ID duplication determination unit determines whether the ID candidate value generated by the ID resetting unit overlaps with the ID of the other information processing device, and if the ID resetting unit determines that the ID candidate value overlaps with the ID of the other information processing device, it changes the parameters of the hash function each time and repeatedly generates the ID candidate value until the overlap is resolved.

3. The information processing device according to claim 1 or 2, characterized in that the ID resetting unit sets the ID of the information processing device itself to a backup ID when the number of times the ID candidate value is generated exceeds a certain number.

4. An information processing device according to any one of claims 1 to 3, characterized in that, when the identification ID candidate value is a backup identification ID, the identification ID resetting unit changes the parameters of the hash function and generates the identification ID candidate value again.

5. The information processing device according to any one of claims 1 to 4, characterized in that the hash function is expressed as h(x, y, i) = ((y>>i) + x) & 0xfff, where x is the most significant 24 bits (vendor ID) of the MAC (Media Access Control address) address information of the information processing device itself, y is the least significant 24 bits (serial ID) of the MAC address information, and i is the number of times the hash function has been used, y>>i is an i-bit right shift operation on y, and ((y>>i) + x) & 0xfff represents an AND (logical product) operation of the bit strings ((y>>i) + x) and 0xfff.

6. An information processing device according to any one of claims 1 to 5, characterized in that the identification ID acquisition unit receives device information periodically broadcast on the network from the other information processing device when the information processing device itself is newly connected to the network or when the identification ID of the information processing device itself is changed, and acquires the identification ID of the other information processing device from the device information.

7. An information processing device according to any one of claims 1 to 5, characterized in that the identification ID acquisition unit receives device information sent from the other information processing device in response to a device information request packet sent onto the network when the information processing device is newly connected to the network or when the identification ID of the information processing device is changed, and acquires the identification ID of the other information processing device from the device information.

8. An information processing device according to any one of claims 1 to 7, further comprising a user notification unit that notifies the user that at least the identification ID of the information processing device itself has been detected to be the same as the identification ID of the other information processing device, and / or that the identification ID candidate value has been set as the identification ID of the information processing device itself.

9. The information processing device according to any one of claims 1 to 8, characterized in that the information processing device itself and the other information processing device are interface cards that comply with ExpEther (Express Ethernet).

10. A method for setting an identification ID, comprising: a step of acquiring an identification ID of another information processing device via a network; a step of comparing the identification ID of the other information processing device with the device's own identification ID and determining whether the device's own identification ID overlaps with the identification ID of the other information processing device; and a step of generating an identification ID candidate value using a hash function and setting the identification ID candidate value as the device's own identification ID when it is determined that the device's own identification ID overlaps with the identification ID of the other information processing device.

11. The identification ID setting method according to claim 10, further comprising the steps of: determining whether the identification ID candidate value overlaps with the identification ID of the other information processing device; and, if it is determined that the identification ID candidate value overlaps with the identification ID of the other information processing device, repeatedly generating the identification ID candidate value by changing the parameters of the hash function each time until the overlap is resolved.

12. The ID setting method according to claim 10 or 11, further comprising a step of setting the ID of the information processing device itself as a backup ID when the number of times the ID candidate value is generated exceeds a certain number.

13. An identification ID setting method according to any one of claims 10 to 12, characterized in that if the identification ID candidate value is a backup identification ID, the method further comprises a step of changing the parameters of the hash function and generating the identification ID candidate value again.

14. The method for setting an identification ID according to any one of claims 10 to 13, characterized in that the hash function is expressed as h(x, y, i) = ((y>>i) + x) & 0xfff, where x is the most significant 24 bits (vendor ID) of the MAC (Media Access Control address) address information of the information processing device itself, y is the least significant 24 bits (serial ID) of the MAC address information, i is the number of times the hash function has been used, y>>i is an i-bit right shift operation on y, and ((y>>i) + x) & 0xfff represents an AND (logical product) operation of the bit strings ((y>>i) + x) and 0xfff.

15. An ID setting method according to any one of claims 10 to 14, characterized in that the step of acquiring the identification ID of the other information processing device comprises receiving device information periodically broadcast on the network from the other information processing device when the information processing device is newly connected to the network or when the identification ID of the information processing device is changed, and acquiring the identification ID of the other information processing device from the device information.

16. An ID setting method according to any one of claims 10 to 14, characterized in that the step of acquiring the identification ID of the other information processing device comprises receiving device information sent from the other information processing device in response to a device information request packet sent onto the network when the information processing device is newly connected to the network or when the identification ID of the information processing device is changed, and acquiring the identification ID of the other information processing device from the device information.

17. An ID setting method according to any one of claims 10 to 16, characterized in that it further includes a step of notifying a user that it has been detected that the ID of the information processing device itself overlaps with the ID of the other information processing device, and / or that the ID candidate value has been set as the ID of the information processing device itself.

18. An identification ID setting method according to any one of claims 10 to 17, characterized in that the information processing device itself and the other information processing device are interface cards conforming to ExpEther (Express Ethernet).

19. A recording medium storing a program that causes an information processing computer to function as: an ID acquisition function that acquires the ID of another information processing device via a network; an ID duplication determination function that compares the ID of the other information processing device with its own ID and determines whether or not its own ID is duplicated with the ID of the other information processing device; and an ID reset function that, when it is determined that its own ID is duplicated with the ID of the other information processing device, generates an ID candidate value using a hash function and sets the ID candidate value as its own ID.

20. The recording medium described in claim 19, characterized in that the ID duplication determination function determines whether the ID candidate value generated by the ID resetting unit overlaps with the ID of the other information processing device, and if the ID resetting function determines that the ID candidate value overlaps with the ID of the other information processing device, it changes the parameters of the hash function each time and repeatedly generates the ID candidate value until the overlap is resolved.

Citation Information

Patent Citations

  • System for controlling table

    JP1993081102A

  • Communication equipment

    JP1997006707A

  • Information processor and information processing method, program, data structure and computer readable recording medium

    JP2004227434A

  • Information processing apparatus with multiple communication interfaces and control method

    JP2011130205A

  • Management server, communication interruption device, information processing system, method and program

    JP2012034129A