WO2013115153A1 - 情報処理装置および情報処理方法およびプログラム - Google Patents

情報処理装置および情報処理方法およびプログラム Download PDF

Info

Publication number
WO2013115153A1
WO2013115153A1 PCT/JP2013/051827 JP2013051827W WO2013115153A1 WO 2013115153 A1 WO2013115153 A1 WO 2013115153A1 JP 2013051827 W JP2013051827 W JP 2013051827W WO 2013115153 A1 WO2013115153 A1 WO 2013115153A1
Authority
WO
WIPO (PCT)
Prior art keywords
transmission
data
memory
unit
address
Prior art date
Application number
PCT/JP2013/051827
Other languages
English (en)
French (fr)
Inventor
飯田 博之
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Publication of WO2013115153A1 publication Critical patent/WO2013115153A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Definitions

  • the present invention relates to an information processing apparatus that stores data in a memory.
  • DMA Direct Memory Access
  • a DMA transfer start address and a DMA transfer end address, or a DMA transfer start address and a DMA transfer size are set.
  • One set of the DMA transfer start address and the DMA transfer end address, or one set of the DMA transfer start address and the DMA transfer size is referred to as “one set of DMA setting information”.
  • the DMA transfer start address is the head memory address where the data to be transferred among the memory addresses is stored
  • the DMA transfer end address is the data to be transferred among the memory addresses. Is the last memory address.
  • the DMA transfer size is the data length of data to be transferred. Then, the DMA transfer is executed by activating the DMA controller by software or an interrupt controller.
  • the DMA controller in order for the DMA controller to perform DMA transfer of data processed by a plurality of computers using a set of DMA setting information, the data processed by the plurality of computers is stored in a memory area having consecutive memory addresses. There is a need.
  • a memory array technique for storing a plurality of data to be stored in a memory area where memory addresses are continuous for example, Patent Document 1.
  • a technique of DMA transfer by a chain method is disclosed (for example, Patent Document 2).
  • the position specifying information and the transfer instruction are transmitted between the host computer (receiving device) and the network adapter (transmitting device) each time.
  • communication traffic increases.
  • processing such as calling a descriptor chain and determining termination is complicated.
  • DMA transfer by the chain method each time the DMA transfer is performed by the chain method, one set of DMA setting information is set and the DMA transfer is started. there were.
  • the main object of the present invention is to solve the above-mentioned problems.
  • the main object of the present invention is to reduce communication traffic between a receiving apparatus and a transmitting apparatus.
  • An information processing apparatus includes: An information processing device that receives transmission data repeatedly transmitted from each of a plurality of transmission devices and stores the received transmission data in a memory, A transmission amount information storage unit that stores data transmission amount information in which the data amount of transmission data to be transmitted is indicated as the data transmission amount for each transmission device; A partial area in which the memory addresses in the memory are consecutively divided according to the data transmission amount of each transmitting apparatus without any interval, and a partial area in which the memory addresses are continuous is allocated to each transmitting apparatus.
  • An allocator A memory address notifying unit for notifying each transmitting device of the first memory address of the partial area allocated by the partial area allocating unit; A head memory address information indicating a head memory address notified by the memory address notifying unit, and a data receiving unit that repeatedly receives transmission data from each transmitting device; Each time the head memory address information and the transmission data are received by the data receiving unit, the head memory address information received together with each transmission data is used as the head position of the storage destination of each transmission data received in the memory. And an address designating unit for designating the indicated top memory address.
  • the information processing apparatus receives only the top memory address information and the transmission data from each transmission apparatus after notifying each transmission apparatus of the top memory address, and the received transmission data is transmitted after the top memory address. Stored in the memory area. Accordingly, it is possible to reduce communication traffic between the information processing apparatus and the transmission apparatus.
  • FIG. 3 shows the first embodiment and shows an example of a configuration of a data transfer system.
  • FIG. 5 shows the first embodiment, and shows how data from each transmitting device is stored in the memory of the receiving device.
  • FIG. 5 shows the first embodiment and shows an example of the configuration of the receiving apparatus 100.
  • FIG. 5 shows the first embodiment and shows an example of a configuration of a transmission apparatus 110.
  • FIG. 5 shows the first embodiment, and is a flowchart showing an example of an outline of the operation of the receiving apparatus 100.
  • FIG. 9 is a diagram illustrating the first embodiment, and is a flowchart illustrating an example of an outline of operation of the transmission device 110.
  • FIG. 3 is a diagram illustrating the first embodiment and is a flowchart illustrating an example of an outline of configuration processing of the reception device.
  • FIG. 5 shows the first embodiment, and shows how data from each transmitting device is stored in the memory of the receiving device.
  • FIG. 5 shows the first embodiment and shows an example of the configuration of the receiving apparatus 100.
  • FIG. 5 shows the first embodiment, and is a flowchart showing an example of destination area base address setting processing
  • Fig. 5 shows the first embodiment, and shows a first example of a transmission destination area base address.
  • FIG. 10 is a diagram illustrating the first embodiment and is a flowchart illustrating an example of transmission destination area base address notification processing
  • FIG. 5 is a diagram illustrating the first embodiment, and is a flowchart illustrating an example of configuration processing of the transmission device.
  • FIG. 5 is a diagram illustrating the first embodiment, and is a flowchart illustrating an example of a cyclic communication process of the transmission device.
  • FIG. 5 is a diagram illustrating the first embodiment and is a flowchart illustrating an example of backup processing of the reception device.
  • FIG. 5 is a diagram illustrating the first embodiment and is a flowchart illustrating an example of a degenerate operation process of the reception device.
  • FIG. 5 is a diagram illustrating the first embodiment, and is a flowchart illustrating an example of processing when a transmission device identifier does not match.
  • FIG. 5 shows the first embodiment, and shows a second example of a transmission destination area base address.
  • FIG. 5 shows the first embodiment, and is a flowchart showing an example of a degenerate operation process of the transmission device.
  • FIG. 3 is a diagram illustrating the first embodiment, and illustrates an example of hardware resources of the reception device illustrated in the first embodiment.
  • FIG. 1 is a diagram illustrating an example of a configuration of a data transfer system.
  • the data transfer system 1000 is a system in which data processed by a plurality of transmission apparatuses 110 is stored in the memory of the reception apparatus 100 and then transferred to the backup apparatus 1003.
  • data stored in the memory of the receiving apparatus 100 is referred to as “storage target data”.
  • the transmission device 110 generates a communication packet whose storage target data is a payload (data body), and transmits the storage target data using the communication packet.
  • a communication packet in which the storage target data is a payload is referred to as a “storage target communication packet”.
  • the communication packet relay device 130 relays various communication packets transmitted from the transmission device 110 to the reception device 100.
  • the network 900 is a transmission path for various communication packets such as a LAN (Local Area Network).
  • the receiving device 100 receives storage target communication packets from the plurality of transmitting devices 110 and stores the storage target data in a memory. Then, the receiving device 100 DMA-transfers the storage target data stored in the memory to the backup device 1003. Here, the receiving device 100 corresponds to an information processing device.
  • the backup device 1003 stores the storage target data DMA-transferred from the reception device 100 in the storage area as backup data.
  • the backup device 1003 may be provided outside the receiving device 100 as illustrated in FIG. 1, or may be provided inside the receiving device 100.
  • FIG. 2 is a diagram illustrating a state in which data to be stored from each transmission device is stored in the memory of the reception device.
  • Each transmission device 110 transmits a storage target communication packet in which the storage target data of a fixed data transmission amount is a payload. That is, the data transmission amount indicates the capacity of data to be stored in the payload portion of the communication packet.
  • the transmission device 110 a transmits a storage target communication packet in which the storage target data “1 KB” is a payload.
  • the receiving apparatus 100 divides an area where the memory addresses are continuous in the memory 1002 according to the data transmission amount of each transmitting apparatus 110 without leaving an interval, and the memory addresses are consecutive in each transmitting apparatus. Allotted partial areas.
  • This partial area is called a transmission destination area.
  • the transmission destination area in which the data of the transmission apparatus 110a is stored is a memory area of “1000 to 1999” among the memory areas having memory addresses “1000 to 4999”. is there.
  • the top memory address (here, “1000”) in the transmission destination area is referred to as a transmission destination area base address.
  • the transmission destination area of the transmission apparatus 110b is a memory area “2000 to 3999”
  • the transmission destination area of the transmission apparatus 110c is a memory area “4000 to 4999”.
  • Each transmission destination area is continuous without an interval.
  • the receiving apparatus 100 stores the storage target data of each transmitting apparatus 110 in each transmission destination area.
  • the receiving apparatus 100 DMA-transfers the storage target data stored in the memory 1002 to the backup apparatus 1003 at a predetermined timing (described later).
  • the data transferred by DMA is referred to as DMA transfer target data.
  • DMA transfer target data when DMA transfer target data is stored discontinuously in the memory, it is necessary to perform DMA transfer for each piece of data stored discontinuously. Then, it is necessary to determine the number of DMA transfers performed for each piece of data stored discontinuously, and to set one set of DMA setting information for each piece of data stored discontinuously. Therefore, when the DMA transfer target data is stored discontinuously in the memory, the DMA transfer process becomes complicated, and it takes a transfer processing time until all DMA transfers of the DMA transfer target data are completed. End up. On the other hand, since receiving apparatus 100 of this embodiment stores DMA transfer target data continuously in memory 1002, only one set of DMA setting information is set, and all DMA transfer target data is set in one DMA transfer. DMA transfer is possible.
  • Each transmission device 110 performs cyclic communication. For example, in FIG. 2, the transmission device 110 a first transmits a storage target communication packet whose 1 KB storage target data is a payload, and then the transmission device 110 b transmits a storage target communication packet whose 2 KB storage target data is a payload. Then, the transmission device 110c transmits a storage target communication packet in which the storage target data of 1 KB is a payload. Then, after the transmission of the transmission device 110c is completed, the transmission device 110a transmits again the storage target communication packet in which the storage target data of 1 KB is the payload. In this way, the cycle of transmission processing by the transmission apparatuses 110a to 110c is repeated. The receiving device 100 receives the storage target communication packet repeatedly transmitted from each transmitting device 110 and stores the storage target data in the memory 1002 each time it receives the packet.
  • FIG. 3 is a diagram illustrating an example of the configuration of the receiving device 100.
  • the packet receiving unit 1001 receives the storage target communication packet transmitted by the transmission device 110.
  • the packet receiving unit 1001 corresponds to a data receiving unit and an address specifying unit.
  • the memory 1002 and the backup device 1003 are as described above.
  • the DMA transfer activation unit 1004 activates (instructs) DMA transfer processing when data in the memory 1002 is transferred to the backup device 1003.
  • the DMA transfer activation unit 1004 is, for example, a microprocessor.
  • the DMA controller 1005 performs DMA transfer of the data in the memory 1002 to the backup device 1003.
  • the DMA controller 1005 corresponds to a data output unit.
  • the calculation cycle information setting unit 1006 stores a period of one cycle of cyclic communication of each transmission device 110 (a period of one cycle of cyclic communication is referred to as a calculation cycle) and each transmission device 110 within the calculation cycle stores a communication packet to be stored.
  • the calculation cycle information indicating the timing to transmit is generated.
  • the transmission destination area base address setting unit 1008 assigns a transmission destination area for each transmission apparatus 110 in the memory 1002 and sets the transmission destination area base address of each transmission destination area for each transmission apparatus 110.
  • the transmission destination area base address setting unit 1008 corresponds to a partial area allocation unit, a transmission amount information storage unit, and a head memory address update unit.
  • the transmission destination area base address storage unit 1009 stores the transmission destination area base address for each transmission device 110.
  • the transmission destination area base address storage unit 1009 corresponds to the head memory address storage unit.
  • the transmission destination region base address selection unit 1012 selects a transmission destination region base address stored in the transmission destination region base address storage unit 1009 and transfers the selected transmission destination region base address to the packet transmission unit 1007.
  • the packet transmission unit 1007 notifies each transmission device 110 of the transmission destination region base address transferred from the transmission destination region base address selection unit 1012. Further, the packet transmission unit 1007 transmits the calculation cycle information to each transmission device 110.
  • the packet transmission unit 1007 corresponds to a memory address notification unit.
  • the degenerate transmission device detection unit 1013 receives transmission device survival information (described later).
  • the degenerate transmission device determination unit 1014 determines, among the transmission devices 110, the transmission device 110 that is not subject to storage of transmission data in the memory 1002.
  • the transmission device 110 that excludes transmission data from being stored in the memory 1002 is referred to as a degenerate transmission device.
  • the degenerate transmission device determination unit 1014 corresponds to a non-storage transmission device designation unit, and the degeneration transmission device corresponds to a non-storage transmission device.
  • the destination area base address reading unit 1010 reads the destination area base address stored in the destination area base address storage unit 1009.
  • the transmission destination area base address calculation unit 1011 extracts the transmission destination area base address of the degenerate transmission device.
  • the transmission destination area base address calculation unit 1011 updates the transmission destination area base address so that the transmission destination areas of the transmission apparatuses 110 excluding the degenerate transmission apparatus are continuous in the memory 1002.
  • the transmission destination area base address calculation unit 1011 corresponds to a non-storage address extraction unit and a non-storage partial area calculation unit. Further, the transmission destination area base address of the degenerate transmission apparatus corresponds to a non-storage address.
  • FIG. 4 is a diagram illustrating an example of the configuration of the transmission apparatus 110.
  • the transmission side packet reception unit 1101 receives the transmission destination area base address and the calculation cycle information from the reception device 100.
  • the transmission destination area base address storage unit 1105 stores the transmission destination area base address received by the transmission side packet reception unit 1101.
  • the transmission side memory 1102 updates and stores data each time a predetermined process is performed by the transmission device 110.
  • Data stored in the transmission-side memory 1102 is stored data.
  • the data amount of the storage target data stored in the transmission side memory 1102 is fixed for each transmission device 110.
  • the packet transmission timing generation unit 1103 generates the transmission timing of the storage target communication packet based on the calculation cycle information.
  • the transmission destination address generation unit 1106 generates information indicating the transmission destination region base address from the transmission destination region base address stored in the transmission destination region base address storage unit 1105.
  • the transmission side packet transmission unit 1104 stores a storage target communication packet in which the storage target data stored in the transmission side memory 1102 is a payload and the transmission destination area base address generated by the transmission destination address generation unit 1106 is indicated in the header portion. It is generated and transmitted to the receiving device 100.
  • FIG. 5 is a flowchart illustrating an example of an outline of the operation of the reception device 100.
  • FIG. 6 is a flowchart illustrating an example of an outline of the operation of the transmission apparatus 110. An outline of operations of the reception device 100 and the transmission device 110 will be described with reference to FIGS. 5 and 6.
  • the processing between the receiving device 100 and the transmitting device 110 includes configuration processing of the data transfer system 1000 and cyclic communication processing in which data communication is performed between the receiving device 100 and the transmitting device 110 using a storage target communication packet. There are two.
  • the receiving device 100 and each transmitting device 110 enter the configuration processing state ( S52 in FIG. 5 and S62 in FIG. 6).
  • the destination area base address is set and calculation cycle information is generated (details will be described later).
  • the receiving device 100 transitions to the state of the cyclic communication process (S53 in FIG. 5).
  • the reception device 100 notifies the transmission device 110 of a cyclic communication start notification by the packet transmission unit 1007.
  • the receiving device 100 notifies the cyclic communication start notification when all the transmitting devices 110 are waiting for the cyclic communication state (S63 in FIG. 6).
  • the receiving device 100 may read the status registers of all the transmitting devices 110 and determine whether the status is waiting for a cyclic communication status. Further, all the transmitting devices 110 may notify the receiving device 100 that the device is waiting for a cyclic communication state.
  • each transmission device 110 transitions to a cyclic communication state waiting state.
  • the transmission device 110 waits until a notification of cyclic communication start is received from the reception device 100 (“NO” in S63 of FIG. 6).
  • the transmission device 110 receives the notification of cyclic communication start from the reception device 100 (S63 of FIG. 6). "YES"), the state transits to the state of cyclic communication processing (S64 in FIG. 6). Then, cyclic communication is performed between the receiving device 100 and each transmitting device 110.
  • the DMA transfer activation unit 1004 instructs the DMA controller 1005 to perform DMA transfer. To do. Then, the DMA controller 1005 DMA-transfers the data stored in the memory 1002 to the backup device 1003.
  • the transmission devices 110 when any of the transmission devices 110 fails during cyclic communication, a degenerate operation is performed excluding the failed transmission device 110.
  • the failed transmission device 110 corresponds to the above-described degenerate transmission device.
  • the transmission destination area base address is updated as described above. Then, the updated transmission destination area base address is notified to each transmission device 110 excluding the degenerate transmission device, and the data received from each transmission device 110 excluding the degeneration transmission device is stored in the memory 1002 for backup.
  • FIG. 7 is a flowchart illustrating an example of an outline of configuration processing of the receiving device.
  • FIG. 8 is a flowchart illustrating an example of the transmission destination area base address setting process.
  • FIG. 9 is a diagram illustrating a first example of the transmission destination area base address.
  • FIG. 10 is a flowchart illustrating an example of the destination area base address notification process.
  • the receiving apparatus 100 first extracts the transmitting apparatus 110 that transmits the storage target communication packet and the data transmission amount for each transmitting apparatus 110 (S10A in FIG. 7). Specifically, the packet receiving unit 1001 receives data indicating the data transmission amount (data indicating the data transmission amount is referred to as data transmission amount information) from each transmission device. Here, the receiving apparatus 100 makes a transmission request for data transmission amount information to each transmitting apparatus 110 by the packet transmitting unit 1007. Alternatively, the receiving device 100 may read the data transmission amount information by accessing the transmitting device 110. In addition, the receiving device 100 stores in the storage area a transmission device 110 and a configuration program in which the data transmission amount for each transmission device 110 is designated in advance, and the calculation cycle information setting unit 1006 executes the configuration program. The transmission device 110 that transmits the storage target communication packet and the data transmission amount for each transmission device 110 may be extracted.
  • the data transmission amount information of each transmission device 110 is stored in the transmission destination area base address setting unit 1008.
  • the transmission device 110 and the data transmission amount information may be stored in advance in the transmission destination area base address setting unit 1008.
  • the data transmission amount information of each transmission device 110 may be stored in the transmission destination area base address setting unit 1008 at least until a transmission destination area base address setting process described later is completed.
  • the calculation cycle information setting unit 1006 generates calculation cycle information from the number of transmission devices 110 that transmit storage target communication packets and the respective data transmission amounts (S10B in FIG. 7). As described above, the calculation cycle information indicates the calculation cycle and the timing at which each transmitting apparatus 110 within the calculation cycle transmits the storage target communication packet.
  • the calculation cycle information setting unit 1006 sets the calculation cycle to “4 minutes”, and the transmission device 110 a transmits the storage target communication packet.
  • the timing is set as “the first one of four minutes”, and the timing at which the transmission device 110b transmits the storage target communication packet is set as “two minutes after the first one of four minutes has elapsed”.
  • the timing at which the transmission device 110c transmits the storage target communication packet is set to “the last one of four minutes”.
  • the transmission apparatus 110 can transmit 1 KB of data within one minute.
  • the calculation cycle information setting unit 1006 sets the calculation cycle as “6 minutes” regardless of the data transmission amount, and sets the timing at which each transmission device 110 transmits the communication packet to be stored as “every two minutes”. May be.
  • the calculation cycle information setting unit 1006 may generate calculation cycle information based on the number of clock pulses.
  • the transmission destination area base address setting unit 1008 sets the transmission destination area base address of each transmission device 110 (S10C in FIG. 7).
  • the transmission destination region base address setting unit 1008 stores the storage target data transmitted from each transmission device in the memory 1002 based on the data transmission amount information, so that the storage target data is stored at successive memory addresses.
  • a transmission destination area corresponding to each transmission apparatus is arranged, and a transmission destination area base address of each transmission apparatus is calculated.
  • the transmission destination area base address setting unit 1008 sets the transmission destination area base address for each transmission apparatus in the order in which the packet reception unit 1001 receives the data transmission amount information.
  • the transmission destination area base address setting unit 1008 sets a predetermined memory address in the memory 1002 to the transmission destination area base address of the transmission device 110a (S1001 in FIG. 8).
  • the predetermined memory address of the memory 1002 may be “address 0” indicating the head of the memory 1002 or an arbitrary address.
  • the transmission destination area base address of the transmission apparatus 110a is set to “1000”.
  • the transmission destination area base address setting unit 1008 sets “data transmission amount of the next transmission apparatus” to “0” (S1002 in FIG. 8).
  • the destination area base address setting unit 1008 calculates a value obtained by adding an address range corresponding to the “data transmission amount of the next transmitting apparatus” to the set destination area base address as an “added address” (FIG. 8 S1003). Since the “data transmission amount of the next transmitter” is “0” for the first time, the “address after addition” is not different from the destination area base address.
  • the destination area base address setting unit 1008 replaces the value of “address after addition” with the destination area base address (S1004 in FIG. 8). Then, the transmission destination area base address of the transmission apparatus 110a is set to “1000” (S1005 in FIG. 8).
  • the transmission destination area base address setting unit 1008 determines whether or not transmission destination area base addresses have been set for all transmission apparatuses 110 (S1006 in FIG. 8). Here, since the transmission destination area base address setting between the transmission apparatus 110b and the transmission apparatus 110c remains (“NO” in S1006 in FIG. 8), the transmission destination area base address setting unit 1008 transmits the data of the transmission apparatus 110b. The amount “2 KB” is acquired from the data transmission amount information (S1007 in FIG. 8).
  • the transmission destination area base address setting unit 1008 repeats the processing from S1003 to S1007, sets “2000” as the transmission destination area base address of the transmission apparatus 110b and “4000” as the transmission destination area base address of the transmission apparatus 110c,
  • the destination area base address setting process ends (“YES” in S1006 in FIG. 8).
  • the transmission destination area base address setting unit 1008 acquires the data transmission amount “1 KB” of the transmission apparatus 110c that finally sets the transmission destination area base address from the data transmission amount information, and transmits the transmission area 110 base address “4000” of the transmission apparatus 110c. To the address range “1000” corresponding to the data transmission amount “1 KB” is set as a dummy address (S1008 in FIG. 8). Then, the transmission destination area base address setting unit 1008 outputs the set transmission destination area base address and the dummy address to the transmission destination area base address storage unit 1009 for storage.
  • the transmission destination area base address storage unit 1009 stores the transmission destination area base address and the dummy address set by the transmission destination area base address setting unit 1008 in association with the identifier (ID) of the transmission apparatus 110 as shown in FIG. .
  • the identifier of the transmission device 110 is, for example, an IP (Internet Protocol) address.
  • the dummy address (D704 in FIG. 9) may be associated with an arbitrary identifier or may not be associated with the identifier.
  • the transmission destination area base address setting unit 1008 sets the transmission destination area base address in the transmission destination area base address selection unit 1012. Completion is notified (S1009 in FIG. 8).
  • the packet transmission unit 1007 notifies each transmission device 110 of the transmission destination area base address (S10D in FIG. 7). Details of the destination area base address notification processing will be described with reference to FIG.
  • the transmission destination area base address selection unit 1012 that has been notified of the completion of the setting of the transmission destination area base address transfers all the transmission destination area base addresses in the transmission destination area base address storage unit 1009 to the packet transmission unit 1007 (FIG. 10). (“NO” in S10091), the destination area base address is read (S10092 in FIG. 10). The destination area base address selection unit 1012 transfers the read destination area base address to the packet transmission unit 1007 in association with the IP address.
  • the packet transmission unit 1007 notifies the transmission apparatus 110 of the IP address associated with the transmission destination area base address (S10093 in FIG. 10).
  • the destination area base address selection unit 1012 ends the process when all the destination area base addresses are transferred to the packet transmission unit 1007 (S10091 in FIG. 10).
  • FIG. 11 is a flowchart illustrating an example of configuration processing of the transmission apparatus.
  • the transmission side packet reception unit 1101 stands by until a transmission request for data transmission amount information is received from the reception device 100 (“NO” in S1101 in FIG. 11).
  • the transmission side packet reception unit 1101 receives the transmission request for the data transmission amount information from the reception device 100 (“YES” in S1101 in FIG. 11)
  • the transmission side packet reception unit 1101 sends the transmission request for the data transmission amount information to the transmission side packet transmission unit 1104.
  • the transmission side packet transmission unit 1104 transmits the data transmission amount information stored in advance in the storage area of the transmission device 110 to the reception device 100 (S1102 in FIG. 11).
  • the transmission apparatus 110 enters a transmission destination area base address reception waiting state after the packet transmission unit 1007 transmits the data transmission amount information, and waits for reception of the transmission destination area base address transmitted from the reception apparatus (in step S1103 in FIG. 11). "NO").
  • the processing of S1101 and S1102 in FIG. 11 is omitted, and the configuration processing of the transmission device 110 is performed. Starts from the destination area base address reception waiting state of S1103 in FIG.
  • the transmission side packet reception unit 1101 When the transmission side packet reception unit 1101 receives the transmission destination region base address (“YES” in S1103 in FIG. 11), the transmission side packet reception unit 1101 transfers the received transmission destination region base address to the transmission destination region base address storage unit 1105. Then, the transmission destination area base address storage unit 1105 stores the transmission destination area base address of the transmission apparatus 110 (S1104 in FIG. 11).
  • the transmission side packet reception unit 1101 receives the calculation cycle information from the reception device 100 and transfers it to the packet transmission timing generation unit 1103.
  • the packet transmission timing generation unit 1103 stores the transferred calculation cycle information in, for example, the transmission side memory 1102.
  • FIG. 12 is a flowchart illustrating an example of cyclic communication processing of the transmission device.
  • Each transmission device 110 that has transitioned to the state of the cyclic communication process transmits the storage target communication packet once for each calculation cycle of the calculation cycle information generated by the reception device 100.
  • the payload portion of the storage target communication packet is storage target data
  • the header portion includes information on the destination area base address.
  • Each transmitting device 110 may simultaneously receive a cyclic communication start notification from the receiving device 100 and start the cyclic communication processing at the same time, for example, refer to a clock provided in the server device or the receiving device 100, for example.
  • the cyclic communication process may be started simultaneously with a predetermined time as a reference. The cyclic communication processing in each transmission device 110 will be described using the flowchart of FIG.
  • the packet transmission timing generation unit 1103 of the transmission device 110 that has transitioned to the state of the cyclic communication processing associates the timing at which the transmission device 110 transmits the storage target communication packet with, for example, the clock signal of the transmission device 110. Then, the transmission side packet transmission unit 1104 determines whether or not the timing at which the clock signal is generated is the timing at which the transmission apparatus 110 transmits the communication packet (S11031 in FIG. 12).
  • the transmitting-side packet transmitter 1104 waits until, for example, the next clock signal is generated (S11032 in FIG. 12).
  • the transmission-side packet transmission unit 1104 reads the storage target data from the transmission-side memory 1102 (S11041 in FIG. 12). ). The transmission side packet transmission unit 1104 instructs the transmission destination address generation unit 1106 to transfer the transmission destination area base address. Then, the transmission destination address generation unit 1106 reads out the transmission destination region base address stored in the transmission destination region base address storage unit 1105 and transfers it to the transmission side packet transmission unit 1104 (S11042 in FIG. 12).
  • the transmission side packet transmission unit 1104 generates a storage target communication packet from the storage target data and the transmission destination area base address (S11043 in FIG. 12), and transmits it to the receiving apparatus 100 (S11044 in FIG. 12).
  • the packet receiving unit 1001 receives the storage target communication packet from each transmission device 110 once in each calculation cycle.
  • the packet receiving unit 1001 stores the storage target data, which is the payload of the storage target communication packet, in the memory 1002 every time the storage target communication packet is received. At that time, the packet receiving unit 1001 designates the transmission destination area base address indicated in the header portion of the storage target communication packet as the start position of the storage destination in the memory 1002 of the main body data. Then, for each calculation cycle, the packet receiver 1001 overwrites and stores the received storage target data in the memory 1002.
  • FIG. 13 is a flowchart illustrating an example of backup processing of the receiving device.
  • the DMA transfer activation unit 1004 instructs the DMA controller 1005 to start backup processing of the data to be stored stored in the memory 1002.
  • the backup process may be performed every predetermined time set in advance, or may be performed according to a user instruction.
  • the DMA transfer activation unit 1004 extracts the destination area base address of the first destination area in the memory 1002 and the last memory address of the last destination area, and transfers them to the DMA controller 1005.
  • the DMA controller 1005 outputs (transfers) the data stored in the range of the transferred memory address in the memory 1002 to the backup device 1003. Details of the backup processing will be described with reference to the flowchart of FIG.
  • the DMA transfer activation unit 1004 sets a start address flag indicating that the DMA transfer start address has been set and an end address flag indicating that the DMA transfer end address has been set to, for example, “0” (FIG. 13). S10051). Here, “0” indicates that the DMA transfer start address has not been set (“NO”).
  • the DMA transfer activation unit 1004 repeats the processing from S10091 in FIG. 13 on all the transmission destination area base addresses stored in the transmission destination area base address storage unit 1009 (“NO” in S10091 in FIG. 13). ).
  • the example of FIG. 9 is used as the destination area base address stored in the destination area base address storage unit 1009.
  • the DMA transfer activation unit 1004 determines whether or not the start address flag is “1” (whether or not the DMA transfer start address has been set) (S10052 in FIG. 13). Here, “1” indicates that the DMA transfer start address has been set (“YES”).
  • the DMA transfer activation unit 1004 sets the start address flag to “1” (FIG. 13). 13 S10053).
  • the DMA transfer activation unit 1004 reads the first transmission destination area base address “1000” (D701 in FIG. 9) from the transmission destination area base address storage unit 1009, and sets it as the DMA transfer start address (S10055 in FIG. 13). .
  • the start address flag is “1” (“YES” in S10052 of FIG. 13), so “1000” set as the DMA transfer start address is the destination area. It is determined whether or not it is larger than the second transmission destination area base address “2000” stored in the base address storage unit 1009 (S10054 in FIG. 13).
  • the DMA transfer activation unit 1004 sets the transmission destination area base address as the DMA transfer start address (FIG. 13 S10055). If the DMA transfer start address is smaller than the destination area base address (“NO” in S10054 of FIG. 13), the DMA transfer activation unit 1004 advances the process to S10056.
  • the DMA transfer activation unit 1004 determines whether or not the end address flag is “1” (whether or not the DMA transfer end address has been set) (S10056 in FIG. 13).
  • the DMA transfer activation unit 1004 sets the end address flag to “1” (FIG. 13). 13 S10057). The DMA transfer activation unit 1004 sets a value obtained by adding the data transmission amount to the head transmission destination area base address “1000” (D701 in FIG. 9) as the DMA transfer end address (S10059 in FIG. 13).
  • the data transmission amount is obtained as a difference between the first transmission destination area base address “1000” (D701 in FIG. 9) and the second transmission destination area base address “2000” (D702 in FIG. 9). Since the data is stored from address “1000”, the DMA transfer end address is set to “1999”. 9 is obtained as a difference between the transmission destination area base address “4000” (D703 in FIG. 9) and the dummy transmission destination area base address “5000” (S704 in FIG. 9). It is done.
  • the end address flag is “1” (“YES” in S10056 of FIG. 13), so “1999” set as the DMA transfer end address is the destination area. It is determined whether or not the value is smaller than the addition value “3999” of the second transmission destination area base address “2000” stored in the base address storage unit 1009 and the data transmission amount (S10058 in FIG. 13).
  • the DMA transfer activation unit 1004 uses the added value as the DMA transfer end address. (S10059 in FIG. 13). On the other hand, if the DMA transfer end address is larger than the sum of the destination area base address and the data transmission amount (“NO” in S10058 of FIG. 13), the DMA transfer activation unit 1004 advances the process to S10091.
  • the DMA transfer activation unit 1004 may search for the smallest value among the transmission destination area base addresses stored in the transmission destination area base address storage unit 1009 and set it as the DMA transfer start address.
  • the DMA transfer activation unit 1004 searches for the largest value among the transmission destination area base addresses stored in the transmission destination area base address storage unit 1009 and subtracts “1” from the retrieved value.
  • the DMA transfer end address may be set.
  • the DMA transfer activation unit 1004 sends the DMA transfer start address and the DMA to the DMA controller 1005. Notify the transfer end address. Then, the DMA controller 1005 transfers the storage target data stored in the range of the DMA transfer start address and the DMA transfer end address in the memory 1002 to the backup device 1003 (S100512 in FIG. 13).
  • the DMA controller 1005 since the storage target data received from each transmission device 110 is continuously stored in the memory 1002, the DMA controller 1005 has a set of DMA setting information (DMA transfer start address and DMA transfer end address). By being notified, the storage target data received from each transmission device 110 is transferred to the backup device 1003 at the timing when backup processing is instructed.
  • FIG. 14 is a flowchart illustrating an example of the degenerate operation processing of the receiving device.
  • FIG. 15 is a flowchart illustrating an example of processing when a transmission device identifier does not match.
  • FIG. 16 is a diagram illustrating a second example of the transmission destination area base address.
  • FIG. 17 is a flowchart illustrating an example of the degenerate operation processing of the transmission device.
  • the degenerate transmission device detection unit 1013 receives transmission device survival information from each transmission device 110.
  • the transmission device survival information is information indicating that there is no abnormality in the transmission device, and may be a status signal constantly transmitted from each transmission device 110 or a signal transmitted at regular intervals. May be. Further, the transmission device survival information indicates an identifier of the transmission device 110. Further, the transmission device survival information may be indicated as the content of abnormality of the transmission device (for example, the main body data cannot be transmitted). Further, the transmission device survival information may be transmitted from, for example, a management center of the data transfer system 1000.
  • the degenerate transmission device detection unit 1013 detects the candidate of the degenerate operation target transmission device 110 and the identifier of the candidate based on the transmission device survival information, and notifies the degenerate transmission device determination unit 1014 of the candidate.
  • the degenerate transmission device determination unit 1014 determines whether or not transmission data from the candidate for the degeneration operation target transmission device 110 detected by the degeneration transmission device detection unit 1013 is excluded from storage in the memory 1002. That is, the degenerate transmission device determination unit 1014 determines whether or not the candidate of the degenerate operation target transmission device 110 detected by the degenerate transmission device detection unit 1013 is a degenerate transmission device.
  • the degenerate transmission device determination unit 1014 receives, for example, transmission device survival information indicating that the candidate for the degeneration operation target transmission device 110 has returned to normal even after a certain time has elapsed. If not, the candidate may be determined as a degenerate transmission device. Further, the degenerate transmission device determination unit 1014 degenerates the candidate when the degenerate transmission device detection unit 1013 does not receive the transmission device survival information from the candidate of the transmission device 110 that is the target of the degeneration operation even after a certain period of time has elapsed. You may determine with a transmitter. Further, in accordance with an instruction from a user (operator) of the receiving device 100, the degenerate transmission device determination unit 1014 may determine any one of the transmission devices 110 as a degenerate transmission device.
  • the degenerate transmission device determination unit 1014 notifies the transmission destination area base address calculation unit 1011 of the identifier of the transmission device 110 determined to be a degenerate transmission device. Further, the degenerate transmission device determination unit 1014 instructs the transmission destination region base address reading unit 1010 to read out the transmission destination region base address stored in the transmission destination region base address storage unit 1009.
  • the case where the degenerate transmission device determination unit 1014 determines that the transmission device 110b (D702 in FIG. 9) is a degenerate transmission device will be described as an example. First, a process in which the transmission destination area base address calculation unit 1011 specifies the transmission destination area base address associated with the identifier of the degenerate transmission apparatus as a holding address will be described with reference to the flowchart of FIG.
  • the transmission destination area base address calculation unit 1011 sets the difference calculation flag to “0 (OFF)” (S10101 in FIG. 14), and sets the degenerate transmission device data transmission amount to “0” (S10111 in FIG. 14).
  • the transmission destination area base address reading unit 1010 and the transmission destination area base address calculation unit 1011 perform the processes after S10102 in FIG. 14 for all the transmission destination area base addresses stored in the transmission destination area base address storage unit 1009. Is repeated (“NO” in S10102 of FIG. 14).
  • the transmission destination area base address reading unit 1010 reads the first transmission apparatus identifier “transmission apparatus 110a” and the transmission destination area base address “1000” (D701 in FIG. 9) from the transmission destination area base address storage unit 1009, and transmits them.
  • the data is transferred to the destination area base address calculation unit 1011 (S10103 in FIG. 14).
  • the transmission destination area base address calculation unit 1011 determines whether or not the transmission device identifier read by the transmission destination area base address reading unit 1010 is equal to the identifier of the degenerate transmission apparatus notified from the degeneration transmission apparatus determination unit 1014 ( S10113 in FIG. 14).
  • the transmission device identifier read by the transmission destination area base address reading unit 1010 is “transmission device 110a”
  • the identifier of the degenerate transmission device notified from the degenerate transmission device determination unit 1014 is “transmission device 110b” (FIG. 14, “NO” in S 10113)
  • the transmission destination area base address calculation unit 1011 performs a transmission device identifier mismatch process (S 130 in FIG. 14). The processing when the transmission device identifiers do not match will be described in detail later.
  • the transmission destination area base address calculation unit 1011 sets the difference calculation flag. It is set to “1 (ON)”, and the transmission destination area base address reading unit 1010 specifies the transmission destination area base address “2000” read together with the transmission device identifier as a holding address (S10114 in FIG. 14).
  • the destination area base address calculation unit 1011 determines whether or not the difference calculation flag is “0” (S10120 in FIG. 15). First, when the transmission destination area base address reading unit 1010 reads the transmission device identifier “transmission device 110a” (D701 in FIG. 9), the difference calculation flag is “0” (“YES” in S10120 in FIG. 15). Therefore, the transmission destination area base address calculation unit 1011 uses the transmission apparatus identifier “transmission apparatus 110 a” and the transmission destination area base address “1000” read by the transmission destination area base address reading unit 1010 as the transmission destination area base address setting unit 1008. (S10115 in FIG. 15). The transmission destination area base address setting unit 1008 associates the transferred transmission apparatus identifier “transmission apparatus 110a” with the transmission destination area base address “1000” and stores them in the transmission destination area base address storage unit 1009 (D1601 in FIG. 16). ).
  • the transmission destination region base address calculation unit 1011 sets the difference calculation flag to “1” as described above. ”And the holding address is specified (S10114 in FIG. 14).
  • the transmission destination area base address reading unit 1010 reads out the transmission apparatus identifier “transmission apparatus 110c” and the transmission destination area base address “4000” (D703 in FIG. 9). In this case, since the difference calculation flag is “1” (“NO” in S10120 of FIG. 15), the transmission destination area base address calculation unit 1011 determines whether or not the degenerate transmission device data transmission amount is “0”. (S10116 in FIG. 15).
  • the transmission destination area base address calculation unit 1011 reads out the transmission destination area base address read by the transmission destination area base address reading unit 1010).
  • the difference “2000” between “4000” and the holding address “2000” is calculated as the data transmission amount of the degenerate transmission device (S10117 in FIG. 15). That is, the transmission destination area base address calculation unit 1011 calculates the holding address and the next transmission destination area base address larger than the holding address among the transmission destination area base addresses stored in the transmission destination area base address storage unit 1009. The difference is calculated as a degenerate transmission device data transmission amount.
  • the transmission destination region base address calculation unit 1011 sets the holding address “2000” as the transmission destination region base address of the transmission device identifier “transmission device 110c” read by the transmission destination region base address reading unit 1010 (FIG. 15). S10118). Then, the transmission destination area base address calculation unit 1011 transfers the transmission apparatus identifier “transmission apparatus 110 c” and the transmission destination area base address “2000” to the transmission destination area base address setting unit 1008.
  • the transmission destination area base address setting unit 1008 associates the transferred transmission apparatus identifier “transmission apparatus 110c” with the transmission destination area base address “2000” and stores them in the transmission destination area base address storage unit 1009 (D1602 in FIG. 16). ).
  • the transmission destination area base address reading unit 1010 reads out the transmission apparatus identifier “dummy” and the transmission destination area base address “5000” (D704 in FIG. 9), the degenerate transmission apparatus data transmission amount is calculated as “2000”. (No in S10116 in FIG. 15). Therefore, the transmission destination area base address calculation unit 1011 obtains a value “3000” obtained by subtracting the degenerate transmission device data transmission amount “2000” from the transmission destination area base address “5000” read by the transmission destination area base address reading unit 1010. The transmission device identifier is set to the transmission destination area base address (S10119 in FIG. 15).
  • the transmission destination area base address setting unit 1008 associates the transmission device identifier “dummy” with the transmission destination area base address “3000” and stores them in the transmission destination area base address storage unit 1009 (D1603 in FIG. 16).
  • the transmission device identifier “dummy” has been described, but the same applies to the case where, for example, the transmission device identifier is the fourth transmission device 110 “transmission device 110 d”.
  • the transmission destination area base address setting unit 1008 transmits each transmission destination area base address larger than the holding address among the transmission destination area base addresses stored in the transmission destination area base address storage unit 1009 to each transmission.
  • the value is replaced with a value obtained by subtracting the data transmission amount of the degenerate transmission device from the destination area base address.
  • the transmission destination area base address selection unit 1012 transmits the transmission destination area base address from the transmission destination area base address storage unit 1009 after each of the transmission destination area base addresses larger than the holding address is replaced by the transmission destination area base address setting unit 1008.
  • the destination area base address is read and transferred to the packet transmission unit 1007.
  • the packet transmission unit 1007 notifies the transmission destination area base address of the transmission destination area base address storage unit 1009 to each transmission device 110 other than the degenerate transmission device.
  • Each transmission device 110 other than the degenerate transmission device stores a new transmission destination area base address in the transmission destination area base address storage unit 1105 as in the configuration process.
  • the transmission side packet reception unit 1101 of each transmission device 110 other than the degenerate transmission device is notified of the transmission destination area base address from the reception device 100 during the cyclic communication process (“YES” in S11050 of FIG. 17).
  • the destination area base address is overwritten in the destination area base address storage unit 1105 of the transmission device 110 (S11051 in FIG. 17).
  • the transmission side packet transmission unit 1104 of the transmission apparatus 110 generates a storage target communication packet from the newly stored transmission destination area base address and storage target data, and transmits the storage target communication packet to the reception apparatus 100.
  • the packet receiving unit 1001 of the receiving device 100 receives the storage target communication packet whose new destination area base address is indicated in the header portion from each transmitting device 110 other than the degenerate transmitting device.
  • the packet receiving unit 1001 stores the storage target data of the storage target communication packet in the memory 1002 every time the storage target communication packet is received from each transmission device 110 other than the degenerate transmission device.
  • the packet receiving unit 1001 designates a new transmission destination area base address indicated in the header portion of the storage target communication packet as the start position of the storage destination in the memory 1002 of the storage target data.
  • the base address storage unit may store the data transmission amount in association with the transmission device identifier in addition to the transmission destination area base address. Further, the base address storage unit may store the end address of the transmission destination area in association with the transmission device identifier.
  • the DMA transfer activation unit 1004 refers to the data transmission amount stored in the base address storage unit and the end address of the transmission destination area, and starts the DMA transfer in the memory 1002 of the DMA transfer target data to the DMA controller 1005.
  • the address and the DMA transfer end address may be notified.
  • the transmission destination area base address calculation unit 1011 refers to the data transmission amount stored in the base address storage unit and the end address of the transmission destination area, and transmits the transmission destination area base of each transmission device 110 during the degenerate operation.
  • the address may be updated.
  • the DMA transfer activation unit 1004 may notify the DMA controller 1005 of the DMA transfer start address and the DMA transfer size (total data transmission amount) in the memory 1002 of the DMA transfer target data.
  • receiving apparatus 100 of the present embodiment only receives storage target communication packets from transmitting apparatus 110 and does not perform other communications. Therefore, the receiving device 100 according to the present embodiment can reduce communication traffic between the receiving device 100 and the transmitting device 110.
  • the DMA transfer target data is continuously arranged on the memory 1002 in the receiving apparatus 100 according to the present embodiment, only one set of DMA setting information is set, and all DMA transfer targets are set in one DMA transfer. Data is DMA transferred. Therefore, receiving apparatus 100 of the present embodiment can eliminate the complexity of DMA transfer processing and shorten the transfer processing time.
  • the memory array technique disclosed in Patent Document 1 for example, storage target data transmitted from a plurality of transmission devices must be temporarily stored in the memory of the network adapter.
  • the memory addresses are not continuous between the data to be stored, the memory addresses are reconfigured and transferred to the memory area where the memory addresses of the host computer (receiving device) are continuous. Needed to be remembered.
  • the receiving apparatus 100 directly stores memory target data transmitted from a plurality of transmitting apparatuses without using another memory such as a network adapter disclosed in Patent Document 1, for example. It can be stored in a memory area.
  • FIG. 18 is a diagram illustrating an example of hardware resources of the reception device 100 described in the first embodiment (or “each embodiment”). Note that the configuration in FIG. 18 is merely an example of the hardware configuration of the receiving apparatus 100, and the hardware configuration of the receiving apparatus 100 is not limited to the configuration illustrated in FIG. 18 and may be other configurations. .
  • the receiving apparatus 100 includes a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, and a processor) that executes a program.
  • the CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM (Random Access Memory) 914, a communication board 915, a display device 901, a keyboard 902, a mouse 903, and a magnetic disk device 920 via a bus 912. Control hardware devices.
  • the CPU 911 may be connected to an FDD 904 (Flexible Disk Drive) or a compact disk device 905 (CDD).
  • FDD 904 Flexible Disk Drive
  • CDD compact disk device
  • a storage device such as an SSD (Solid State Drive), an optical disk device, or a memory card (registered trademark) read / write device may be used.
  • the RAM 914 is an example of a volatile memory.
  • the storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device.
  • the memory 1002 and the transmission destination area base address storage unit 1009 described in the first embodiment are realized by the RAM 914, the magnetic disk device 920, and the like.
  • the communication board 915, the keyboard 902, the mouse 903, the FDD 904, and the like are examples of input devices.
  • the communication board 915, the display device 901, and the like are examples of output devices.
  • the communication board 915 is connected to the network 900 shown in FIG.
  • the network 900 may be a wide area network (WAN), a storage area network (SAN), or the like in addition to the LAN and the Internet.
  • WAN wide area network
  • SAN storage area network
  • the magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924.
  • the programs in the program group 923 are executed by the CPU 911 using the operating system 921 and the window system 922.
  • the RAM 914 temporarily stores at least part of the operating system 921 program and application programs to be executed by the CPU 911.
  • the RAM 914 stores various data necessary for processing by the CPU 911.
  • the ROM 913 stores a BIOS (Basic Input Output System) program
  • the magnetic disk device 920 stores a boot program.
  • BIOS Basic Input Output System
  • the BIOS program in the ROM 913 and the boot program in the magnetic disk apparatus 920 are executed, and the operating system 921 is activated by the BIOS program and the boot program.
  • the program group 923 stores programs for executing functions described as “ ⁇ unit” (except for “ ⁇ storage unit” in the following) in the description of the first embodiment.
  • the program is read and executed by the CPU 911.
  • the file group 924 includes “determination of”, “calculation of”, “comparison of”, “collation of”, “reference of”, “search of”, “Extract”, “Examine”, “Generate”, “Set up”, “Register”, “Select”, “Input”, “Receive”, “To” Information, data, and signal values that indicate the results of the processes described as “Create,” “Determine”, “Define”, “Calculate”, “Update”, “Read” And variable values and parameters are stored as items of “file” and “database”.
  • the “file” and “database” are stored in a recording medium such as a disk or a memory.
  • Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit.
  • the read information, data, signal values, variable values, and parameters are extracted, searched, referenced, compared, computed, calculated, processed, edited, output, printed, displayed, controlled, determined, identified, detected, identified. Used for CPU operations such as selection / calculation / derivation / update / creation / acquisition / notification / instruction / judgment / management / instruction.
  • Data and signal values are recorded on a recording medium such as a memory of the RAM 914, a flexible disk of the FDD 904, a compact disk of the CDD 905, a magnetic disk of the magnetic disk device 920, other optical disks, a mini disk, and a DVD.
  • Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.
  • ⁇ unit in the description of the first embodiment may be “ ⁇ circuit”, “ ⁇ device”, “ ⁇ equipment”, and “ ⁇ step”, “ ⁇ ” It may be “procedure” or “processing”. That is, the service execution management method (software execution method) according to the present invention can be realized by the steps, procedures, and processes shown in the flowchart described in the first embodiment. Further, what is described as “ ⁇ unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware.
  • Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD.
  • the program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “ ⁇ unit” in the first embodiment. Alternatively, the computer executes the procedure and method of “to unit” in the first embodiment.
  • the receiving device 100 described in Embodiment 1 includes a CPU that is a processing device, a memory that is a storage device, a magnetic disk, and the like, a keyboard that is an input device, a mouse, a communication board, and a display device that is an output device, a communication board, and the like.
  • Computer As described above, the functions indicated as “ ⁇ units” are realized using these processing devices, storage devices, input devices, and output devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 受信装置が、それぞれ格納対象データがペイロードである複数の通信パケットを受信し、メモリアドレスが連続するメモリの領域に格納対象データを格納する場合に、送信装置と受信装置との間における通信トラフィックを軽減する。送信先領域ベースアドレス設定部1008は、メモリ1002のメモリアドレスが連続している領域を各送信装置の格納対象データに割り当てる。そして、パケット送信部1007は割り当てた領域のメモリアドレスを各送信装置に通知する。そして、パケット受信部1001は、各送信装置からの格納対象データがペイロードである通信パケットのみを繰り返し受信し、メモリ1002内のメモリアドレスが連続している領域に格納対象データを格納する。

Description

情報処理装置および情報処理方法およびプログラム
 この発明は、データをメモリに格納する情報処理装置に関する。
 メモリに格納されているデータを、マイクロプロセッサを介さずに直接他のメモリに転送する技術としてDMA(Direct Memory Access)転送がある。DMA転送を制御する情報として、DMA転送開始アドレスとDMA転送終了アドレス、又は、DMA転送開始アドレスとDMA転送サイズとが設定される。
 DMA転送開始アドレスとDMA転送終了アドレスとの1つの組、又は、DMA転送開始アドレスとDMA転送サイズとの1つの組を、「1組のDMA設定情報」と称する。
 ここで、DMA転送開始アドレスとは、メモリアドレスのうちの転送対象のデータが格納されている先頭メモリアドレスであり、DMA転送終了アドレスとは、メモリアドレスのうちの転送対象のデータが格納されている末尾メモリアドレスである。また、DMA転送サイズとは、転送対象のデータのデータ長である。
 そして、ソフトウェア又は割り込みコントローラによりDMAコントローラが起動されることにより、DMA転送が実行される。
 ここで、複数のコンピュータにより処理されたデータを1組のDMA設定情報により、DMAコントローラがDMA転送するためには、複数のコンピュータにより処理されたデータをメモリアドレスが連続するメモリの領域に格納する必要がある。
 そして、複数の格納対象のデータをメモリアドレスが連続するメモリの領域に格納するメモリ配列技術がある(例えば、特許文献1)。
 また、チェーン方式によるDMA転送の技術が開示されている(例えば、特許文献2)。
特開2006-302246号公報 特開2006-24134号公報
 従来のメモリ配列技術では、ホストコンピュータ(受信装置)が格納対象の送信データを受信する前に、毎回、ホストコンピュータ(受信装置)とネットワークアダプタ(送信装置)との間で位置特定情報と転送指示とが通信され、通信トラフィックが増加するという課題があった。
 また、チェーン方式によるDMA転送においては、ディスクリプタチェーンの呼び出しや終了判断などの処理が複雑であるという課題があった。更に、チェーン方式によるDMA転送においては、チェーン方式でDMA転送が行われる毎に、1組のDMA設定情報が設定され、DMA転送が起動されるので、DMA転送の処理に時間がかかるという課題があった。
 この発明は前記のような課題を解決することを主な目的とするもので、例えば、受信装置と送信装置との間における通信トラフィックを軽減することを主な目的とする。
 この発明に係る情報処理装置は、
 複数の送信装置のそれぞれから繰り返し送信される送信データを受信し、受信した各送信データをメモリに格納する情報処理装置であって、
 送信装置毎に、送信される送信データのデータ量がデータ送信量として示されるデータ送信量情報を記憶する送信量情報記憶部と、
 前記メモリ内でメモリアドレスが連続している領域を、間隔を置かずに、各送信装置のデータ送信量に合わせて区分し、各送信装置にメモリアドレスが連続している部分領域を割り当てる部分領域割当部と、
 前記部分領域割当部により割り当てられた部分領域の先頭メモリアドレスを送信装置毎に通知するメモリアドレス通知部と、
 前記メモリアドレス通知部により通知された先頭メモリアドレスが示されている先頭メモリアドレス情報と、送信データとを、各送信装置から繰り返し受信するデータ受信部と、
 前記データ受信部により先頭メモリアドレス情報と送信データとが受信される度に、受信された各送信データの前記メモリ内の格納先の先頭位置として、各送信データとともに受信された先頭メモリアドレス情報に示されている先頭メモリアドレスを指定するアドレス指定部と
を備えることを特徴とする。
 この発明に係る情報処理装置は、各送信装置に先頭メモリアドレスを通知した後は、各送信装置からの先頭メモリアドレス情報と、送信データとのみを受信し、受信した送信データを先頭メモリアドレス以降のメモリ領域に格納する。
 従って、情報処理装置と送信装置との間における通信トラフィックを軽減することが可能である。
実施の形態1を示す図で、データ転送システムの構成の例を示す図。 実施の形態1を示す図で、各送信装置からのデータが受信装置のメモリに格納される様子を示した図。 実施の形態1を示す図で、受信装置100の構成の例を示す図。 実施の形態1を示す図で、送信装置110の構成の例を示す図。 実施の形態1を示す図で、受信装置100の動作の概要の例を示すフローチャート。 実施の形態1を示す図で、送信装置110の動作の概要の例を示すフローチャート。 実施の形態1を示す図で、受信装置のコンフィグレーション処理の概要の例を示すフローチャート。 実施の形態1を示す図で、送信先領域ベースアドレス設定処理の例を示すフローチャート。 実施の形態1を示す図で、送信先領域ベースアドレスの第1の例を示す図。 実施の形態1を示す図で、送信先領域ベースアドレス通知処理の例を示すフローチャート。 実施の形態1を示す図で、送信装置のコンフィグレーション処理の例を示すフローチャート。 実施の形態1を示す図で、送信装置のサイクリック通信処理の例を示すフローチャート。 実施の形態1を示す図で、受信装置のバックアップ処理の例を示すフローチャート。 実施の形態1を示す図で、受信装置の縮退運転処理の例を示すフローチャート。 実施の形態1を示す図で、送信装置識別子不一致時処理の例を示すフローチャート。 実施の形態1を示す図で、送信先領域ベースアドレスの第2の例を示す図。 実施の形態1を示す図で、送信装置の縮退運転処理の例を示すフローチャート。 実施の形態1を示す図で、実施の形態1に示した受信装置のハードウェア資源の一例を示す図。
 実施の形態1.
(データ転送システムの構成)
 図1は、データ転送システムの構成の例を示す図である。
 データ転送システム1000は、複数の送信装置110で処理されたデータが、受信装置100のメモリに格納された後、バックアップ装置1003に転送されるシステムである。ここで、受信装置100のメモリに格納されるデータを「格納対象データ」と称する。
 送信装置110は、格納対象データがペイロード(データ本体)である通信パケットを生成し、通信パケットにより格納対象データを送信する。ここで、格納対象データがペイロードである通信パケットを「格納対象通信パケット」と称する。
 通信パケット中継装置130は、送信装置110から送信された各種通信パケットを受信装置100に中継する。
 ネットワーク900は、例えばLAN(Local Area Network)などの各種通信パケットの伝送路である。
 受信装置100は、複数の送信装置110から格納対象通信パケットを受信し、格納対象データをメモリに格納する。そして、受信装置100は、メモリに格納した格納対象データをバックアップ装置1003にDMA転送する。ここで、受信装置100は、情報処理装置に対応する。
 バックアップ装置1003は、受信装置100からDMA転送された格納対象データをバックアップデータとして記憶領域に格納する。バックアップ装置1003は、図1に示すように受信装置100の外部に備えられていてもよいし、受信装置100の内部に備えられていてもよい。
(受信装置100のデータ格納の説明)
 図2は、各送信装置からの格納対象データが受信装置のメモリに格納される様子を示した図である。
 各送信装置110は、それぞれ固定されたデータ送信量の格納対象データがペイロードである格納対象通信パケットを送信する。すなわち、データ送信量は、通信パケットのペイロード部分の格納対象データの容量を示す。例えば図2に示すように、送信装置110aは、「1KB」の格納対象データがペイロードである格納対象通信パケットを送信する。
 そして、受信装置100は、メモリ1002内でメモリアドレスが連続している領域を、間隔を置かずに、各送信装置110のデータ送信量に合わせて区分し、各送信装置にメモリアドレスが連続している部分領域を割り当てる。この部分領域を送信先領域と称する。
 ここで、メモリ1002の1つのメモリアドレスあたり「1バイト」のデータを格納するものとする。
 例えば、図2に示すように、送信装置110aのデータが格納される送信先領域は、メモリアドレスが「1000~4999」と連続しているメモリ領域のうち、「1000~1999」のメモリ領域である。そして、送信先領域の先頭メモリアドレス(ここでは「1000」)を送信先領域ベースアドレスと称する。
 同様に、送信装置110bの送信先領域は、「2000~3999」のメモリ領域であり、送信装置110cの送信先領域は、「4000~4999」のメモリ領域である。そして、それぞれの送信先領域は間隔を置かずに連続している。
 そして、受信装置100は、各送信先領域に各送信装置110の格納対象データを格納する。そして、受信装置100は、所定のタイミング(後述)で、メモリ1002に格納された格納対象データをバックアップ装置1003にDMA転送する。なお、DMA転送されるデータをDMA転送対象データと称する。
 ここで、例えば、DMA転送対象データがメモリに不連続に格納されている場合、不連続に格納されたデータ毎にDMA転送を行う必要がある。そして、不連続に格納されたデータ毎に行われるDMA転送の回数を判断し、不連続に格納されたデータ毎に1組のDMA設定情報を設定する必要がある。その為、DMA転送対象データがメモリ上に不連続に格納されている場合、DMA転送の処理が複雑となり、かつ、DMA転送対象データの全てのDMA転送が完了するまでの転送処理時間がかかってしまう。
 一方、本実施の形態の受信装置100は、メモリ1002にDMA転送対象データを連続で格納するので、1組のDMA設定情報のみを設定し、1回のDMA転送で全てのDMA転送対象データをDMA転送することが可能である。
 また、各送信装置110は、サイクリック通信を行う。例えば図2において、最初に送信装置110aが1KBの格納対象データがペイロードである格納対象通信パケットを送信し、次に送信装置110bが2KBの格納対象データがペイロードである格納対象通信パケットを送信し、そして、送信装置110cが1KBの格納対象データがペイロードである格納対象通信パケットを送信する。そして、送信装置110cの送信が完了した後、再度送信装置110aが1KBの格納対象データがペイロードである格納対象通信パケットを送信する。このように送信装置110a~送信装置110cによる送信処理のサイクルが繰り返される。
 そして、受信装置100は、各送信装置110から繰り返し送信される格納対象通信パケットを受信し、受信する度にメモリ1002に格納対象データを格納する。
(受信装置の構成の説明)
 図3は、受信装置100の構成の例を示す図である。
 パケット受信部1001は、送信装置110が送信した格納対象通信パケットを受信する。パケット受信部1001は、データ受信部とアドレス指定部とに対応する。
 メモリ1002とバックアップ装置1003とは、前述で説明の通りである。
 DMA転送起動部1004は、メモリ1002のデータをバックアップ装置1003に転送する際のDMA転送処理を起動(指示)する。DMA転送起動部1004は、例えばマイクロプロセッサである。
 DMAコントローラ1005は、メモリ1002のデータをバックアップ装置1003にDMA転送する。DMAコントローラ1005は、データ出力部に対応する。
 演算周期情報設定部1006は、各送信装置110のサイクリック通信の1周期の期間(サイクリック通信の1周期の期間を演算周期と称する)と演算周期内の各送信装置110が格納対象通信パケットを送信するタイミングとを示す演算周期情報を生成する。
 送信先領域ベースアドレス設定部1008は、メモリ1002における送信装置110毎の送信先領域を割り当て、各送信先領域の送信先領域ベースアドレスを送信装置110毎に設定する。送信先領域ベースアドレス設定部1008は、部分領域割当部と送信量情報記憶部と先頭メモリアドレス更新部とに対応する。
 送信先領域ベースアドレス記憶部1009は、送信先領域ベースアドレスを送信装置110毎に記憶する。送信先領域ベースアドレス記憶部1009は、先頭メモリアドレス記憶部に対応する。
 送信先領域ベースアドレス選択部1012は、送信先領域ベースアドレス記憶部1009に記憶されている送信先領域ベースアドレスを選択し、パケット送信部1007に転送する。
 パケット送信部1007は、送信先領域ベースアドレス選択部1012から転送された送信先領域ベースアドレスを各送信装置110に通知する。また、パケット送信部1007は、演算周期情報を各送信装置110に送信する。パケット送信部1007は、メモリアドレス通知部に対応する。
 縮退送信装置検出部1013は、送信装置生存情報(後述)を受信する。
 縮退送信装置判定部1014は、各送信装置110のうち、送信データのメモリ1002への格納の対象外にする送信装置110を判定する。ここで、送信データのメモリ1002への格納の対象外にする送信装置110を縮退送信装置と称する。縮退送信装置判定部1014は、非格納送信装置指定部に対応し、縮退送信装置は、非格納送信装置に対応する。
 送信先領域ベースアドレス読出し部1010は、送信先領域ベースアドレス記憶部1009により記憶されている送信先領域ベースアドレスを読み出す。
 送信先領域ベースアドレス計算部1011は、縮退送信装置の送信先領域ベースアドレスを抽出する。また、送信先領域ベースアドレス計算部1011は、縮退送信装置を除いた各送信装置110の送信先領域がメモリ1002内で連続するように送信先領域ベースアドレスを更新する。送信先領域ベースアドレス計算部1011は、非格納アドレス抽出部と非格納部分領域演算部とに対応する。
 また、縮退送信装置の送信先領域ベースアドレスは、非格納アドレスに対応する。
(送信装置の構成の説明)
 図4は、送信装置110の構成の例を示す図である。
 送信側パケット受信部1101は、受信装置100から送信先領域ベースアドレスと演算周期情報とを受信する。
 送信先領域ベースアドレス記憶部1105は、送信側パケット受信部1101が受信した送信先領域ベースアドレスを記憶する。
 送信側メモリ1102は、送信装置110で所定の処理がされる度にデータを更新して記憶する。この送信側メモリ1102に記憶されているデータが格納対象データとなる。そして、送信側メモリ1102に記憶されている格納対象データのデータ量は、送信装置110毎に固定されている。
 パケット送信タイミング生成部1103は、演算周期情報に基づき、格納対象通信パケットの送信タイミングを生成する。
 送信先アドレス生成部1106は、送信先領域ベースアドレス記憶部1105が記憶している送信先領域ベースアドレスから送信先領域ベースアドレスを示す情報を生成する。
 送信側パケット送信部1104は、送信側メモリ1102が記憶している格納対象データがペイロードであり、ヘッダ部分に送信先アドレス生成部1106の生成した送信先領域ベースアドレスが示される格納対象通信パケットを生成し、受信装置100に送信する。
(動作の概要説明)
 図5は、受信装置100の動作の概要の例を示すフローチャートである。
 図6は、送信装置110の動作の概要の例を示すフローチャートである。
 図5と図6とを用いて、受信装置100と送信装置110との動作の概要を説明する。
 受信装置100と送信装置110との処理には、データ転送システム1000のコンフィグレーション処理と、受信装置100と送信装置110との間で格納対象通信パケットによるデータ通信が行われるサイクリック通信処理との2つがある。
 受信装置100と、各送信装置110とは、電源が投入され、リセット解除されると(図5のS51の「YES」、図6のS61の「YES」)、コンフィグレーション処理の状態になる(図5のS52、図6のS62)。
 コンフィグレーション処理において、送信先領域ベースアドレスの設定と演算周期情報の生成が行われる(詳細は後述)。
 受信装置100は、コンフィグレーション処理(詳細には、コンフィグレーション処理における送信先領域ベースアドレス通知処理(後述))が終了すると、サイクリック通信処理の状態に遷移する(図5のS53)。
 ここで、受信装置100は、例えば、パケット送信部1007により各送信装置110へサイクリック通信開始通知を通知する。
 ただし、受信装置100は、全ての送信装置110が,サイクリック通信状態待ち(図6のS63)である時に、サイクリック通信開始通知を通知する。例えば、受信装置100は、全ての送信装置110の状態レジスタを読み出し、その状態が、サイクリック通信状態待ちであるか否かを判断してもよい。また、全ての送信装置110が受信装置100へサイクリック通信状態待ちであることを通知してもよい。
 一方、各送信装置110は、コンフィグレーション処理(詳細には、コンフィグレーション処理における送信先領域ベースアドレス格納処理(後述))が終了すると、サイクリック通信状態待ち状態に遷移する。送信装置110は、受信装置100からサイクリック通信開始通知が通知されるまで待機し(図6のS63の「NO」)、受信装置100からサイクリック通信開始通知を受け取ると、(図6のS63の「YES」)、サイクリック通信処理の状態に遷移する(図6のS64)。
 そして、受信装置100と各送信装置110との間でサイクリック通信が行われる。
 サイクリック通信中に、例えばユーザの指示により、受信装置100がメモリ1002に格納されているデータをバックアップ装置1003へバックアップ処理を行う場合、DMA転送起動部1004は、DMAコントローラ1005にDMA転送を指示する。そして、DMAコントローラ1005は、メモリ1002に格納されているデータをバックアップ装置1003へDMA転送する。
 また、サイクリック通信中に、例えばいずれかの送信装置110が故障した場合には、故障した送信装置110を除外した縮退運転が行われる。ここで故障した送信装置110が前述の縮退送信装置に対応する。縮退運転が行われる際には、前述のように送信先領域ベースアドレスの更新が行われる。
 そして、更新した送信先領域ベースアドレスが、縮退送信装置を除く各送信装置110に通知され、縮退送信装置を除く各送信装置110から受信したデータが、メモリ1002に格納され、バックアップが行われる。
(受信装置のコンフィグレーション処理の説明)
 図7は、受信装置のコンフィグレーション処理の概要の例を示すフローチャートである。
 図8は、送信先領域ベースアドレス設定処理の例を示すフローチャートである。
 図9は、送信先領域ベースアドレスの第1の例を示す図である。
 図10は、送信先領域ベースアドレス通知処理の例を示すフローチャートである。
 コンフィグレーション処理において、受信装置100は最初に格納対象通信パケットを送信する送信装置110と送信装置110毎のデータ送信量を抽出する(図7のS10A)。
 具体的には、パケット受信部1001は、各送信装置からデータ送信量が示されるデータ(データ送信量が示されるデータをデータ送信量情報と称する)を受信する。
 ここで、受信装置100は、パケット送信部1007によりデータ送信量情報の送信要求を各送信装置110に対して行う。あるいは、受信装置100は、送信装置110にアクセスしてデータ送信量情報を読み出してもよい。
 また、受信装置100は記憶領域に送信装置110と送信装置110毎のデータ送信量が予め指定されたコンフィグレーションプログラムを記憶しており、演算周期情報設定部1006は、コンフィグレーションプログラムを実行して格納対象通信パケットを送信する送信装置110と送信装置110毎のデータ送信量とを抽出してもよい。
 そして、各送信装置110のデータ送信量情報は、送信先領域ベースアドレス設定部1008に記憶される。送信装置110とデータ送信量情報とが既知の場合は、予め送信先領域ベースアドレス設定部1008に記憶されていてもよい。
 そして、各送信装置110のデータ送信量情報は、送信先領域ベースアドレス設定部1008に少なくとも後述の送信先領域ベースアドレス設定処理が終了するまで記憶されていればよい。
 そして、演算周期情報設定部1006は、格納対象通信パケットを送信する送信装置110の台数と各データ送信量とから演算周期情報を生成する(図7のS10B)。
 演算周期情報には、前述の通り、演算周期と演算周期内の各送信装置110が格納対象通信パケットを送信するタイミングとが示される。
 送信装置110とデータ送信量とが図2に示す例である場合、例えば、演算周期情報設定部1006は、演算周期を「4分間」と設定し、送信装置110aが格納対象通信パケットを送信するタイミングを「4分間のうちの最初の1分間」と設定し、送信装置110bが格納対象通信パケットを送信するタイミングを「4分間のうちの最初の1分間が経過後の2分間」と設定し、送信装置110cが格納対象通信パケットを送信するタイミングを「4分間のうちの最後の1分間」と設定する。ここで、送信装置110は、1KBのデータを1分間以内で送信可能であるとする。
 あるいは、演算周期情報設定部1006は、データ送信量に関係無く、演算周期を「6分間」と設定し、各送信装置110が格納対象通信パケットを送信するタイミングを「2分間ずつ」と設定してもよい。
 また、演算周期情報設定部1006は、クロックパルスの回数に基づき、演算周期情報を生成してもよい。
 次に、送信先領域ベースアドレス設定部1008は、各送信装置110の送信先領域ベースアドレスを設定する(図7のS10C)。
 ここで、送信先領域ベースアドレス設定部1008は、データ送信量情報を基に、メモリ1002に各送信装置から送信される格納対象データを格納した時に、連続したメモリアドレスに格納されるように、各送信装置に対応する送信先領域を配置し、各送信装置の送信先領域ベースアドレスを計算する。
 そして、例えば、送信先領域ベースアドレス設定部1008は、パケット受信部1001がデータ送信量情報を受信した順に、送信先領域ベースアドレスを送信装置毎に設定する。
 ここで、送信装置110は、図2に示す3台であり、送信装置110a、送信装置110b、送信装置110cの順にパケット受信部1001がデータ送信量情報を受信したとして、送信先領域ベースアドレス設定処理の詳細について図8を用いて説明する。
 送信先領域ベースアドレス設定部1008は、メモリ1002の所定のメモリアドレスを、送信装置110aの送信先領域ベースアドレスに設定する(図8のS1001)。
 ここで、メモリ1002の所定のメモリアドレスは、メモリ1002の先頭を示す「0番地」であってもよいし、任意の番地であってもよい。ここでは、送信装置110aの送信先領域ベースアドレスは「1000」に設定されるものとする。
 そして、送信先領域ベースアドレス設定部1008は、「次の送信装置のデータ送信量」を「0」に設定する(図8のS1002)。
 送信先領域ベースアドレス設定部1008は、設定された送信先領域ベースアドレスに「次の送信装置のデータ送信量」に相当するアドレス範囲を加算した値を、「加算後アドレス」として演算する(図8のS1003)。初回は、「次の送信装置のデータ送信量」が「0」である為、「加算後アドレス」は、送信先領域ベースアドレスと変わらない。
 送信先領域ベースアドレス設定部1008は、「加算後アドレス」の値を送信先領域ベースアドレスに置き換える(図8のS1004)。そして、送信装置110aの送信先領域ベースアドレスは「1000」に設定される(図8のS1005)。
 送信先領域ベースアドレス設定部1008は、全ての送信装置110について送信先領域ベースアドレスを設定したか否かを判定する(図8のS1006)。
 ここで、送信装置110bと送信装置110cとの送信先領域ベースアドレス設定が残っているため(図8のS1006の「NO」)、送信先領域ベースアドレス設定部1008は、送信装置110bのデータ送信量「2KB」をデータ送信量情報から取得する(図8のS1007)。
 送信先領域ベースアドレス設定部1008は、S1003からS1007の処理を繰り返し、送信装置110bの送信先領域ベースアドレスは「2000」と送信装置110cの送信先領域ベースアドレスは「4000」とを設定し、送信先領域ベースアドレス設定処理を終了する(図8のS1006の「YES」)。
 送信先領域ベースアドレス設定部1008は、最後に送信先領域ベースアドレスを設定した送信装置110cのデータ送信量「1KB」をデータ送信量情報から取得し、送信装置110cの送信先領域ベースアドレス「4000」にデータ送信量「1KB」に相当するアドレス範囲「1000」を加算した値をダミーアドレスに設定する(図8のS1008)。
 そして、送信先領域ベースアドレス設定部1008は、設定した送信先領域ベースアドレスとダミーアドレスとを送信先領域ベースアドレス記憶部1009に出力して記憶させる。
 送信先領域ベースアドレス記憶部1009は、図9のように送信先領域ベースアドレス設定部1008が設定した送信先領域ベースアドレスとダミーアドレスとを、送信装置110の識別子(ID)と関連付けて記憶する。送信装置110の識別子は、例えば、IP(Internet Protocol)アドレスである。
 ダミーアドレス(図9のD704)は、任意の識別子に関連付けられていてもよいし、識別子が関連付けられていなくてもよい。
 送信先領域ベースアドレス設定部1008は、送信先領域ベースアドレス記憶部1009に対する送信先領域ベースアドレスとダミーアドレスとの出力が完了すると、送信先領域ベースアドレス選択部1012に送信先領域ベースアドレスの設定完了を通知する(図8のS1009)。
 そして、パケット送信部1007は、各送信装置110に送信先領域ベースアドレスを通知する(図7のS10D)。
 送信先領域ベースアドレス通知処理の詳細について図10を用いて説明する。
 送信先領域ベースアドレスの設定完了を通知された送信先領域ベースアドレス選択部1012は、送信先領域ベースアドレス記憶部1009の送信先領域ベースアドレスを全てパケット送信部1007に転送するまで(図10のS10091の「NO」)、送信先領域ベースアドレスを読み出す(図10のS10092)。
 送信先領域ベースアドレス選択部1012は、読み出した送信先領域ベースアドレスをIPアドレスと対応付けて、パケット送信部1007に転送する。
 パケット送信部1007は、送信先領域ベースアドレスを対応付けられているIPアドレスの送信装置110に通知する(図10のS10093)。
 送信先領域ベースアドレス選択部1012は、全ての送信先領域ベースアドレスをパケット送信部1007に転送すると処理を終了する(図10のS10091)。
(送信装置のコンフィグレーション処理の説明)
 図11は、送信装置のコンフィグレーション処理の例を示すフローチャートである。
 送信側パケット受信部1101は、受信装置100からデータ送信量情報の送信要求を受信するまで待機する(図11のS1101の「NO」)。
 そして、送信側パケット受信部1101は、受信装置100からデータ送信量情報の送信要求を受信すると(図11のS1101の「YES」)、データ送信量情報の送信要求を送信側パケット送信部1104に転送する。送信側パケット送信部1104は、予め送信装置110の記憶領域に記憶されているデータ送信量情報を受信装置100に送信する(図11のS1102)。
 送信装置110は、パケット送信部1007がデータ送信量情報を送信した後、送信先領域ベースアドレス受信待ち状態となり、受信装置から送信される送信先領域ベースアドレスの受信を待つ(図11のS1103の「NO」)。
 ここで、受信装置100が予め、データ送信量情報を記憶している等データ送信量情報の送信が不要な場合は、図11のS1101とS1102の処理は省略され、送信装置110のコンフィグレーション処理は、図11のS1103の送信先領域ベースアドレス受信待ち状態から始まる。
 送信側パケット受信部1101は、送信先領域ベースアドレスを受信すると(図11のS1103の「YES」)、受信した送信先領域ベースアドレスを送信先領域ベースアドレス記憶部1105に転送する。そして、送信先領域ベースアドレス記憶部1105は、当該送信装置110の送信先領域ベースアドレスを格納する(図11のS1104)。
 また、送信側パケット受信部1101は、受信装置100から演算周期情報を受信し、パケット送信タイミング生成部1103に転送する。パケット送信タイミング生成部1103は、転送された演算周期情報を例えば送信側メモリ1102に記憶する。
(送信装置のサイクリック通信処理の説明)
 図12は、送信装置のサイクリック通信処理の例を示すフローチャートである。
 サイクリック通信処理の状態に遷移した各送信装置110は、受信装置100により生成された演算周期情報の1回の演算周期につき、1回ずつ格納対象通信パケットを送信する。
 ここで、格納対象通信パケットのペイロード部分は格納対象データであり、ヘッダ部分には送信先領域ベースアドレスの情報が含まれる。
 なお、各送信装置110は、例えば受信装置100からのサイクリック通信開始通知を同時に受け取り、同時にサイクリック通信処理を開始してもよいし、例えばサーバ装置や受信装置100などが備える時計を参照し、所定の時刻を基準とし、同時にサイクリック通信処理を開始してもよい。
 各送信装置110におけるサイクリック通信処理について図12のフローチャートを用いて説明する。
 サイクリック通信処理の状態に遷移した送信装置110のパケット送信タイミング生成部1103は、当該送信装置110が格納対象通信パケットを送信するタイミングを例えば送信装置110のクロック信号に対応付ける。
 そして、送信側パケット送信部1104は、クロック信号が発生したタイミングが、当該送信装置110が通信パケットを送信するタイミングか否かを判断する(図12のS11031)。
 当該送信装置110が通信パケットを送信するタイミングでない場合(図12のS11031の「NO」)、送信側パケット送信部1104は、例えば次のクロック信号が発生するまで待機する(図12のS11032)。
 一方、当該送信装置110が通信パケットを送信するタイミングである場合(図12のS11031の「YES」)、送信側パケット送信部1104は、送信側メモリ1102から格納対象データを読み出す(図12のS11041)。
 また、送信側パケット送信部1104は、送信先アドレス生成部1106に送信先領域ベースアドレスの転送を指示する。そして、送信先アドレス生成部1106は、送信先領域ベースアドレス記憶部1105に格納された送信先領域ベースアドレスを読み出し、送信側パケット送信部1104に転送する(図12のS11042)。
 そして、送信側パケット送信部1104は、格納対象データと送信先領域ベースアドレスとから格納対象通信パケットを生成し(図12のS11043)、受信装置100に送信する(図12のS11044)。
(受信装置のサイクリック通信処理の説明)
 パケット受信部1001は、各演算周期において、各送信装置110から格納対象通信パケットを1回ずつ受信する。
 そして、パケット受信部1001は、格納対象通信パケットを受信する度に、格納対象通信パケットのペイロードである格納対象データをメモリ1002に格納する。その際に、パケット受信部1001は、格納対象通信パケットのヘッダ部分に示される送信先領域ベースアドレスを、当該本体データのメモリ1002内の格納先の先頭位置として指定する。
 そして、演算周期毎に、パケット受信部1001は、受信した格納対象データをメモリ1002に上書きして記憶する。
(受信装置のバックアップ処理の説明)
 図13は、受信装置のバックアップ処理の例を示すフローチャートである。
 DMA転送起動部1004は、メモリ1002内に格納された格納対象データのバックアップ処理の開始をDMAコントローラ1005に指示する。バックアップ処理は、予め設定された一定時間毎に行われてもよいし、ユーザの指示により行われてもよい。
 具体的には、DMA転送起動部1004は、メモリ1002内の先頭の送信先領域の送信先領域ベースアドレスと、末尾の送信先領域の末尾のメモリアドレスを抽出し、DMAコントローラ1005に転送する。そして、DMAコントローラ1005は、メモリ1002内の転送されたメモリアドレスの範囲に格納されているデータをバックアップ装置1003に出力(転送)する。
 バックアップ処理の詳細を図13のフローチャートを用いて説明する。
 DMA転送起動部1004は、DMA転送開始アドレスがセット済みであることを示す開始アドレスフラグとDMA転送終了アドレスがセット済みであることを示す終了アドレスフラグを例えば「0」に設定する(図13のS10051)。ここで「0」は、DMA転送開始アドレスがセット済みでないこと(「NO」であること)を示す。
 そして、DMA転送起動部1004は、送信先領域ベースアドレス記憶部1009に記憶されている全ての送信先領域ベースアドレスに対して図13のS10091以降の処理を繰り返す(図13のS10091の「NO」)。
 ここで、送信先領域ベースアドレス記憶部1009に記憶されている送信先領域ベースアドレスは、図9の例を用いる。
 DMA転送起動部1004は、開始アドレスフラグが「1」で有るか否か(DMA転送開始アドレスがセット済みであるか否か)を判定する(図13のS10052)。ここで「1」は、DMA転送開始アドレスがセット済みであること(「YES」であること)を示す。
 図13のS10052における判定が初回の場合は、開始アドレスフラグは「0」なので(図13のS10052の「NO」)、DMA転送起動部1004は、開始アドレスフラグを「1」に設定する(図13のS10053)。
 そして、DMA転送起動部1004は、送信先領域ベースアドレス記憶部1009から先頭の送信先領域ベースアドレス「1000」(図9のD701)を読み出し、DMA転送開始アドレスに設定する(図13のS10055)。
 一方、図13のS10052における判定が2回目の場合は、開始アドレスフラグは「1」なので(図13のS10052の「YES」)、DMA転送開始アドレスに設定された「1000」が、送信先領域ベースアドレス記憶部1009に記憶されている2番目の送信先領域ベースアドレス「2000」よりも大きいか否かを判定する(図13のS10054)。
 そして、DMA転送開始アドレスが送信先領域ベースアドレスより大きい場合は(図13のS10054の「YES」)、DMA転送起動部1004は、当該送信先領域ベースアドレスをDMA転送開始アドレスに設定する(図13のS10055)。
 また、DMA転送開始アドレスが送信先領域ベースアドレスより小さい場合は(図13のS10054の「NO」)、DMA転送起動部1004は、処理をS10056に進める。
 DMA転送起動部1004は、終了アドレスフラグが「1」で有るか否か(DMA転送終了アドレスがセット済みであるか否か)を判定する(図13のS10056)。
 図13のS10056における判定が初回の場合は、終了アドレスフラグは「0」なので(図13のS10056の「NO」)、DMA転送起動部1004は、終了アドレスフラグを「1」に設定する(図13のS10057)。
 そして、DMA転送起動部1004は、先頭の送信先領域ベースアドレス「1000」(図9のD701)にデータ送信量を加えた値をDMA転送終了アドレスに設定する(図13のS10059)。
 ここで、データ送信量は、先頭の送信先領域ベースアドレス「1000」(図9のD701)と2番目の送信先領域ベースアドレス「2000」(図9のD702)との差分として求められる。そして、データは、「1000」番地から格納されるため、DMA転送終了アドレスは「1999」に設定される。また、図9の送信装置110cのデータ送信量は、送信先領域ベースアドレス「4000」(図9のD703)とダミーの送信先領域ベースアドレス「5000」(図9のS704)との差分として求められる。
 一方、図13のS10056における判定が2回目の場合は、終了アドレスフラグは「1」なので(図13のS10056の「YES」)、DMA転送終了アドレスに設定された「1999」が、送信先領域ベースアドレス記憶部1009に記憶されている2番目の送信先領域ベースアドレス「2000」とデータ送信量との加算値「3999」よりも小さい否かを判定する(図13のS10058)。
 そして、DMA転送終了アドレスが送信先領域ベースアドレスとデータ送信量との加算値より小さい場合は(図13のS10058の「YES」)、DMA転送起動部1004は、当該加算値をDMA転送終了アドレスに設定する(図13のS10059)。一方、DMA転送終了アドレスが送信先領域ベースアドレスとデータ送信量との加算値より大きい場合は(図13のS10058の「NO」)、DMA転送起動部1004は、処理をS10091に進める。
 ここで、DMA転送起動部1004は、送信先領域ベースアドレス記憶部1009が記憶している送信先領域ベースアドレスのうち、一番小さい値を検索し、DMA転送開始アドレスに設定してもよい。また、DMA転送起動部1004は、送信先領域ベースアドレス記憶部1009が記憶している送信先領域ベースアドレスのうち、一番大きい値を検索し、検索した値から「1」を差し引いた値をDMA転送終了アドレスに設定してもよい。
 DMA転送起動部1004は、開始アドレスフラグと終了アドレスフラグとが「1」である場合(図13のS100510の「YES」かつS100511の「YES」)、DMAコントローラ1005に、DMA転送開始アドレスとDMA転送終了アドレスとを通知する。そして、DMAコントローラ1005は、メモリ1002内のDMA転送開始アドレスとDMA転送終了アドレスとの範囲に格納された格納対象データをバックアップ装置1003に転送する(図13のS100512)。
 すなわち、メモリ1002には、各送信装置110から受信した格納対象データが連続して格納されているので、DMAコントローラ1005は、1組のDMA設定情報(DMA転送開始アドレスとDMA転送終了アドレス)が通知されることによって、各送信装置110から受信した格納対象データをバックアップ処理が指示されたタイミングでバックアップ装置1003に転送する。
(縮退運転処理の説明)
 図14は、受信装置の縮退運転処理の例を示すフローチャートである。
 図15は、送信装置識別子不一致時処理の例を示すフローチャートである。
 図16は、送信先領域ベースアドレスの第2の例を示す図である。
 図17は、送信装置の縮退運転処理の例を示すフローチャートである。
 縮退送信装置検出部1013(図3)は、各送信装置110から送信装置生存情報を受信する。
 ここで、送信装置生存情報は、送信装置に異常がないことを示す情報であり、各送信装置110から常時送信される状態信号であってもよいし、一定時間毎に送信される信号であってもよい。
 また、送信装置生存情報は、送信装置110の識別子が示されている。更に、送信装置生存情報は、送信装置の異常の内容(例えば、本体データ送信不可等)と示されていてもよい。
 また、送信装置生存情報は、データ転送システム1000の例えば管理センターから送信されるものでもよい。
 そして、縮退送信装置検出部1013は、送信装置生存情報に基づき、縮退運転対象の送信装置110の候補と当該候補の識別子とを検出し、縮退送信装置判定部1014に通知する。
 縮退送信装置判定部1014は、縮退送信装置検出部1013が検出した縮退運転対象の送信装置110の候補からの送信データを、メモリ1002への格納の対象外にするか否か判定する。すなわち、縮退送信装置判定部1014は、縮退送信装置検出部1013が検出した縮退運転対象の送信装置110の候補を縮退送信装置とするか否かを判定する。
 ここで、縮退送信装置判定部1014は、例えば一定時間経過しても、縮退送信装置検出部1013が、縮退運転対象の送信装置110の候補が正常に復帰したことを示す送信装置生存情報を受信しない場合に、当該候補を縮退送信装置と判定してもよい。
 また、縮退送信装置判定部1014は、縮退送信装置検出部1013が、一定時間経過しても、縮退運転対象の送信装置110の候補からの送信装置生存情報を受信しない場合に、当該候補を縮退送信装置と判定してもよい。
 また、受信装置100のユーザ(オペレータ)の指示により、縮退送信装置判定部1014は、各送信装置110のうちのいずれかの送信装置110を縮退送信装置と判定してもよい。
 縮退送信装置判定部1014は、縮退送信装置と判定した送信装置110の識別子を送信先領域ベースアドレス計算部1011に通知する。
 また、縮退送信装置判定部1014は、送信先領域ベースアドレス読出し部1010に送信先領域ベースアドレス記憶部1009に記憶されている送信先領域ベースアドレスの読み出しを指示する。
 ここで、縮退送信装置判定部1014が、送信装置110b(図9のD702)を縮退送信装置と判定した場合を例に説明を進める。
 まず、送信先領域ベースアドレス計算部1011が、縮退送信装置の識別子に対応付けられた送信先領域ベースアドレスを保持アドレスとして特定する処理を図14のフローチャートを用いて説明する。
 送信先領域ベースアドレス計算部1011は、差分計算フラグを「0(OFF)」に設定し(図14のS10101)、縮退送信装置データ送信量を「0」に設定する(図14のS10111)。
 送信先領域ベースアドレス読出し部1010と送信先領域ベースアドレス計算部1011とは、送信先領域ベースアドレス記憶部1009に記憶されている全ての送信先領域ベースアドレスに対して図14のS10102以降の処理を繰り返す(図14のS10102の「NO」)。
 送信先領域ベースアドレス読出し部1010は、まず送信先領域ベースアドレス記憶部1009から先頭の送信装置識別子「送信装置110a」と送信先領域ベースアドレス「1000」(図9のD701)とを読み出し、送信先領域ベースアドレス計算部1011に転送する(図14のS10103)。
 送信先領域ベースアドレス計算部1011は、送信先領域ベースアドレス読出し部1010が読み出した送信装置識別子が、縮退送信装置判定部1014から通知された縮退送信装置の識別子と等しいか否かを判定する(図14のS10113)。
 ここで、送信先領域ベースアドレス読出し部1010が読み出した送信装置識別子は「送信装置110a」であり、縮退送信装置判定部1014から通知された縮退送信装置の識別子は「送信装置110b」なので(図14のS10113の「NO」)、送信先領域ベースアドレス計算部1011は、送信装置識別子不一致時処理(図14のS130)を行う。
 送信装置識別子不一致時処理については、後述で詳細に説明する。
 一方、送信先領域ベースアドレス読出し部1010が読み出した送信装置識別子が「送信装置110b」である場合(図14のS10113の「YES」)、送信先領域ベースアドレス計算部1011は、差分計算フラグを「1(ON)」に設定し、送信先領域ベースアドレス読出し部1010が当該送信装置識別子と一緒に読み出した送信先領域ベースアドレス「2000」を保持アドレスとして特定する(図14のS10114)。
 図15を用いて、送信装置識別子不一致時処理(図14のS130)の詳細を説明する。
 送信先領域ベースアドレス計算部1011は、差分計算フラグが「0」であるか否かを判定する(図15のS10120)。
 まず、送信先領域ベースアドレス読出し部1010が送信装置識別子「送信装置110a」(図9のD701)を読み出した場合、差分計算フラグは「0」である(図15のS10120の「YES」)。よって、送信先領域ベースアドレス計算部1011は、送信先領域ベースアドレス読出し部1010が読み出した送信装置識別子「送信装置110a」と送信先領域ベースアドレス「1000」とを送信先領域ベースアドレス設定部1008にそのまま転送する(図15のS10115)。
 送信先領域ベースアドレス設定部1008は、転送された送信装置識別子「送信装置110a」と送信先領域ベースアドレス「1000」とを関連付けて送信先領域ベースアドレス記憶部1009に記憶する(図16のD1601)。
 一方、送信先領域ベースアドレス読出し部1010が送信装置識別子「送信装置110b」(図9のD702)を読み出した後、前述の通り、送信先領域ベースアドレス計算部1011は、差分計算フラグを「1」に設定し、保持アドレスを特定(図14のS10114)している。
 そして、送信先領域ベースアドレス読出し部1010は、次に、送信装置識別子「送信装置110c」と送信先領域ベースアドレス「4000」とを読み出す(図9のD703)。この場合、差分計算フラグは「1」なので(図15のS10120の「NO」)、送信先領域ベースアドレス計算部1011は、縮退送信装置データ送信量が「0」であるか否かを判定する(図15のS10116)。
 ここで、縮退送信装置データ送信量は「0」なので(図15のS10116の「YES」、送信先領域ベースアドレス計算部1011は、送信先領域ベースアドレス読出し部1010が読み出した送信先領域ベースアドレス「4000」と保持アドレス「2000」との差分「2000」を縮退送信装置データ送信量として算出する(図15のS10117)。
 すなわち、送信先領域ベースアドレス計算部1011は、送信先領域ベースアドレス記憶部1009に記憶されている送信先領域ベースアドレスのうち、保持アドレスと保持アドレスよりも大きい次の送信先領域ベースアドレスとの差を縮退送信装置データ送信量として算出している。
 そして、送信先領域ベースアドレス計算部1011は、保持アドレス「2000」を送信先領域ベースアドレス読出し部1010が読み出した送信装置識別子「送信装置110c」の送信先領域ベースアドレスとして設定する(図15のS10118)。
 そして、送信先領域ベースアドレス計算部1011は、送信装置識別子「送信装置110c」と送信先領域ベースアドレス「2000」とを送信先領域ベースアドレス設定部1008に転送する。
 送信先領域ベースアドレス設定部1008は、転送された送信装置識別子「送信装置110c」と送信先領域ベースアドレス「2000」とを関連付けて送信先領域ベースアドレス記憶部1009に記憶する(図16のD1602)。
 更に、送信先領域ベースアドレス読出し部1010が送信装置識別子「ダミー」と送信先領域ベースアドレス「5000」とを読み出した場合(図9のD704)、縮退送信装置データ送信量は「2000」と算出済みである(図15のS10116の「NO」)。よって、送信先領域ベースアドレス計算部1011は、送信先領域ベースアドレス読出し部1010が読み出した送信先領域ベースアドレス「5000」から縮退送信装置データ送信量「2000」を差し引いた値「3000」を、当該送信装置識別子の送信先領域ベースアドレスに設定する(図15のS10119)。
 そして、同様に送信先領域ベースアドレス設定部1008は、送信装置識別子「ダミー」と送信先領域ベースアドレス「3000」とを関連付けて送信先領域ベースアドレス記憶部1009に記憶する(図16のD1603)。
 ここで、送信装置識別子「ダミー」について説明したが、例えば送信装置識別子が4台目の送信装置110「送信装置110d」の場合であっても同様である。
 すなわち、送信先領域ベースアドレス設定部1008は、送信先領域ベースアドレス記憶部1009に記憶されている送信先領域ベースアドレスのうち、保持アドレスよりも大きい送信先領域ベースアドレスのそれぞれを、それぞれの送信先領域ベースアドレスから縮退送信装置データ送信量を差し引いた値に置き換えている。
 そして、送信先領域ベースアドレス選択部1012は、送信先領域ベースアドレス設定部1008により保持アドレスよりも大きい送信先領域ベースアドレスのそれぞれが置き換えられた後に、送信先領域ベースアドレス記憶部1009から、送信先領域ベースアドレスを読み出し、パケット送信部1007に転送する。
 パケット送信部1007は、送信先領域ベースアドレス記憶部1009の送信先領域ベースアドレスを縮退送信装置以外の各送信装置110に通知する。
 図17を用いて送信装置110の縮退運転処理の説明を行う。
 縮退送信装置以外の各送信装置110は、コンフィグレーション処理と同様に新たな送信先領域ベースアドレスを送信先領域ベースアドレス記憶部1105に格納する。
 縮退送信装置以外の各送信装置110の送信側パケット受信部1101は、サイクリック通信処理中に、受信装置100から送信先領域ベースアドレスを通知されると(図17のS11050の「YES」)、当該送信装置110の送信先領域ベースアドレス記憶部1105に上書きで送信先領域ベースアドレスを記憶する(図17のS11051)。
 そして、当該送信装置110の送信側パケット送信部1104は、新たに記憶された送信先領域ベースアドレスと格納対象データとから格納対象通信パケットを生成し、受信装置100に送信する。
 一方、受信装置100のパケット受信部1001は、新たな送信先領域ベースアドレスがヘッダ部分に示される格納対象通信パケットを縮退送信装置以外の各送信装置110から受信する。
 そして、パケット受信部1001は、縮退送信装置以外の各送信装置110から格納対象通信パケットを受信する度に、格納対象通信パケットの格納対象データをメモリ1002に格納する。その際に、パケット受信部1001は、格納対象通信パケットのヘッダ部分に示される新たな送信先領域ベースアドレスを、当該格納対象データのメモリ1002内の格納先の先頭位置として指定する。
(実施の形態1の補足説明)
 ベースアドレス記憶部は、送信先領域ベースアドレスの他に、データ送信量を送信装置識別子に関連づけて記憶していてもよい。
 また、ベースアドレス記憶部は、送信先領域の末尾アドレスを送信装置識別子に関連づけて記憶していてもよい。
 そして、DMA転送起動部1004は、ベースアドレス記憶部に記憶されているデータ送信量や、送信先領域の末尾アドレスを参照して、DMAコントローラ1005にDMA転送対象データのメモリ1002内のDMA転送開始アドレスとDMA転送終了アドレスとを通知してもよい。
 また、送信先領域ベースアドレス計算部1011は、ベースアドレス記憶部に記憶されているデータ送信量や、送信先領域の末尾アドレスを参照して、縮退運転時の各送信装置110の送信先領域ベースアドレスを更新してもよい。
 また、DMA転送起動部1004は、DMAコントローラ1005にDMA転送対象データのメモリ1002内のDMA転送開始アドレスとDMA転送サイズ(データ送信量の合計)とを通知してもよい。
(実施の形態1の効果)
 本実施の形態の受信装置100は、サイクリック通信処理において、送信装置110から格納対象通信パケットを受信するのみであり、他の通信は行わない。そのため、本実施の形態の受信装置100は、受信装置100と送信装置110との通信トラフィックを軽減することが可能である。
 また、本実施の形態の受信装置100は、メモリ1002上にDMA転送対象データが連続に配置されるので、1組のDMA設定情報のみが設定され、1回のDMA転送で全てのDMA転送対象データがDMA転送される。従って、本実施の形態の受信装置100は、DMA転送処理の複雑化を解消し、転送処理時間を短縮することが可能である。
 更に、特許文献1に示されるメモリ配列技術では、例えば複数の送信装置から送信された格納対象データを、一旦、ネットワークアダプタのメモリに記憶させる必要があった。
 そして、ネットワークアダプタのメモリにおいて、各格納対象データ間は、メモリアドレスが非連続である為に、メモリアドレスを再構成し、ホストコンピュータ(受信装置)のメモリアドレスが連続するメモリの領域に転送して記憶させる必要があった。
 一方、本実施の形態の受信装置100は、例えば特許文献1に示されるネットワークアダプタなどの他のメモリを仲介させることなく、複数の送信装置から送信された格納対象データを直接メモリアドレスが連続するメモリの領域に格納することが可能である。
 最後に、実施の形態1に示した受信装置100のハードウェア構成例について説明する。
 図18は、実施の形態1(もしくは「各実施の形態」にする)に示した受信装置100のハードウェア資源の一例を示す図である。
 なお、図18の構成は、あくまでも受信装置100のハードウェア構成の一例を示すものであり、受信装置100のハードウェア構成は図18に記載の構成に限らず、他の構成であってもよい。
 図18において、受信装置100は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
 CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
 更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)と接続していてもよい。また、磁気ディスク装置920の代わりに、SSD(Solid State Drive)、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
 RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
 実施の形態1で説明したメモリ1002、送信先領域ベースアドレス記憶部1009は、RAM914、磁気ディスク装置920等により実現される。
 通信ボード915、キーボード902、マウス903、FDD904などは、入力装置の一例である。
 また、通信ボード915、表示装置901などは、出力装置の一例である。
 通信ボード915は、図1に示すネットワーク900に接続されている。
 例えば、ネットワーク900は、LAN、インターネットの他、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などでも構わない。
 磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
 プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
 また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
 また、RAM914には、CPU911による処理に必要な各種データが格納される。
 また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
 受信装置100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
 上記プログラム群923には、実施の形態1の説明において「~部」(「~記憶部」以外、以下同様)として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
 ファイル群924には、実施の形態1の説明において、「~の判断」、「~の計算」、「~の比較」、「~の照合」、「~の参照」、「~の検索」、「~の抽出」、「~の検査」、「~の生成」、「~の設定」、「~の登録」、「~の選択」、「~の入力」、「~の受信」、「~の作成」、「~の判定」、「~の定義」、「~の算出」、「~の更新」、「~の読み出し」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶されている。
 「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。
 ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出される。
 そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示・制御・判定・識別・検知・判別・選択・算出・導出・更新・作成・取得・通知・指示・判断・管理・指示などのCPUの動作に用いられる。
 抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示・制御・判定・識別・検知・判別・選択・算出・導出・更新・作成・取得・通知・指示・判断・管理・指示などのCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
 また、実施の形態1で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
 データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。
 また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
 また、実施の形態1の説明において「~部」として説明しているものは、「~回路」、「~装置」、「~機器」であってもよく、また、「~ステップ」、「~手順」、「~処理」であってもよい。
 すなわち、実施の形態1で説明したフローチャートに示すステップ、手順、処理により、本発明に係るサービス実行管理方法(ソフトウェア実行方法)を実現することができる。
 また、「~部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。
 或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
 ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。
 プログラムはCPU911により読み出され、CPU911により実行される。
 すなわち、プログラムは、実施の形態1の「~部」としてコンピュータを機能させるものである。あるいは、実施の形態1の「~部」の手順や方法をコンピュータに実行させるものである。
 このように、実施の形態1に示す受信装置100は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
 そして、上記したように「~部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
 100 受信装置、110 送信装置、130 パケット中継装置、900 ネットワーク、901 表示装置、902 キーボード、903 マウス、904 FDD、905 コンパクトディスク装置、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群、1000 データ転送システム、1001 パケット受信部、1002 メモリ、1003 バックアップ装置、1004 DMA転送起動部、1005 DMAコントローラ、1006 演算周期情報設定部、1007 パケット送信部、1008 送信先領域ベースアドレス設定部、1009 送信先領域ベースアドレス記憶部、1010 送信先領域ベースアドレス読出し部、1011 送信先領域ベースアドレス計算部、1012 送信先領域ベースアドレス選択部、1013 縮退送信装置検出部、1014 縮退送信装置判定部、1101 送信側パケット受信部、1102 送信側メモリ、1103 パケット送信タイミング生成部、1104 送信側パケット送信部、1105 送信先領域ベースアドレス記憶部、1106 送信先アドレス生成部。

Claims (7)

  1.  複数の送信装置のそれぞれから繰り返し送信される送信データを受信し、受信した各送信データをメモリに格納する情報処理装置であって、
     送信装置毎に、送信される送信データのデータ量がデータ送信量として示されるデータ送信量情報を記憶する送信量情報記憶部と、
     前記メモリ内でメモリアドレスが連続している領域を、間隔を置かずに、各送信装置のデータ送信量に合わせて区分し、各送信装置にメモリアドレスが連続している部分領域を割り当てる部分領域割当部と、
     前記部分領域割当部により割り当てられた部分領域の先頭メモリアドレスを送信装置毎に通知するメモリアドレス通知部と、
     前記メモリアドレス通知部により通知された先頭メモリアドレスが示されている先頭メモリアドレス情報と、送信データとを、各送信装置から繰り返し受信するデータ受信部と、
     前記データ受信部により先頭メモリアドレス情報と送信データとが受信される度に、受信された各送信データの前記メモリ内の格納先の先頭位置として、各送信データとともに受信された先頭メモリアドレス情報に示されている先頭メモリアドレスを指定するアドレス指定部と
    を備えることを特徴とする情報処理装置。
  2.  前記データ受信部は、
     各送信装置が先頭メモリアドレス情報と送信データとを1ラウンドにつき1回送信する送信シーケンスに対応させて、各ラウンドにおいて、各送信装置から先頭メモリアドレス情報と送信データとを1回受信することを特徴とする請求項1記載の情報処理装置。
  3.  前記情報処理装置は、更に、
     前記部分領域割当部により割り当てられた部分領域の先頭メモリアドレスを送信装置毎に記憶する先頭メモリアドレス記憶部と、
     複数の送信装置のうち送信データの前記メモリへの格納の対象外にする送信装置を非格納送信装置として指定する非格納送信装置指定部と、
     前記先頭メモリアドレス記憶部により記憶されている先頭メモリアドレスのうち前記非格納送信装置指定部により指定された非格納送信装置の先頭メモリアドレスを非格納アドレスとして抽出する非格納アドレス抽出部と、
     前記先頭メモリアドレス記憶部により記憶されている先頭メモリアドレスのうち前記非格納アドレスよりも大きい次の先頭メモリアドレスと、前記非格納アドレスとの差を非格納部分領域値として演算する非格納部分領域値演算部と、
     前記先頭メモリアドレス記憶部により記憶されている先頭メモリアドレスのうち前記非格納アドレスよりも大きい先頭メモリアドレスのそれぞれを、それぞれの先頭メモリアドレスから前記非格納部分領域値を差し引いた値に置き換える先頭メモリアドレス更新部とを備え、
     前記メモリアドレス通知部は、
     前記先頭メモリアドレス更新部により、前記非格納アドレスよりも大きい先頭メモリアドレスのそれぞれが置き換えられた後に、前記先頭メモリアドレス記憶部により記憶されている先頭メモリアドレスを再構成メモリアドレスとして前記非格納送信装置以外の各送信装置に通知し、
     前記データ受信部は、
     前記メモリアドレス通知部により、再構成メモリアドレスが前記非格納送信装置以外の各送信装置に通知された後に、再構成メモリアドレスが示されている先頭メモリアドレス情報と、送信データとを、前記非格納送信装置以外の各送信装置から繰り返し受信し、
     前記アドレス指定部は、
     前記非格納送信装置以外の各送信装置から受信された送信データの前記メモリ内の格納先の先頭位置として、前記非格納送信装置以外の各送信装置から受信された送信データとともに受信された先頭メモリアドレス情報に示されている再構成メモリアドレスを指定することを特徴とする請求項1又は2記載の情報処理装置。
  4.  前記情報処理装置は、更に、
     前記メモリ内の先頭の部分領域の先頭メモリアドレスから末尾の部分領域の末尾のメモリアドレスの範囲に格納されている送信データを出力するデータ出力部を備えることを特徴とする請求項1~3いずれか記載の情報処理装置。
  5.  前記データ出力部は、
     DMA(Direct Memory Access)転送により前記送信データを出力することを特徴とする請求項4記載の情報処理装置。
  6.  複数の送信装置のそれぞれから繰り返し送信される送信データを受信し、受信した各送信データをコンピュータがメモリに格納する情報処理方法であって、
     送信装置毎に、送信される送信データのデータ量がデータ送信量として示されるデータ送信量情報を前記コンピュータが所定の記憶領域に記憶する送信量情報記憶ステップと、
     前記コンピュータが前記メモリ内でメモリアドレスが連続している領域を、間隔を置かずに、各送信装置のデータ送信量に合わせて区分し、各送信装置にメモリアドレスが連続している部分領域を割り当てる部分領域割当ステップと、
     前記コンピュータが前記部分領域割当ステップにより割り当てられた部分領域の先頭メモリアドレスを送信装置毎に通知するメモリアドレス通知ステップと、
     前記コンピュータが前記メモリアドレス通知ステップにより通知された先頭メモリアドレスが示されている先頭メモリアドレス情報と、送信データとを、各送信装置から繰り返し受信するデータ受信ステップと、
     前記コンピュータが前記データ受信ステップにより先頭メモリアドレス情報と送信データとが受信される度に、受信された各送信データの前記メモリ内の格納先の先頭位置として、各送信データとともに受信された先頭メモリアドレス情報に示されている先頭メモリアドレスを指定するアドレス指定ステップと
    を備えることを特徴とする情報処理方法。
  7.  複数の送信装置のそれぞれから繰り返し送信される送信データを受信し、受信した各送信データをメモリに格納するコンピュータに、
     送信装置毎に、送信される送信データのデータ量がデータ送信量として示されるデータ送信量情報を所定の記憶領域に記憶する送信量情報記憶ステップと、
     前記メモリ内でメモリアドレスが連続している領域を、間隔を置かずに、各送信装置のデータ送信量に合わせて区分し、各送信装置にメモリアドレスが連続している部分領域を割り当てる部分領域割当ステップと、
     前記部分領域割当ステップにより割り当てられた部分領域の先頭メモリアドレスを送信装置毎に通知するメモリアドレス通知ステップと、
     前記メモリアドレス通知ステップにより通知された先頭メモリアドレスが示されている先頭メモリアドレス情報と、送信データとを、各送信装置から繰り返し受信するデータ受信ステップと、
     前記データ受信ステップにより先頭メモリアドレス情報と送信データとが受信される度に、受信された各送信データの前記メモリ内の格納先の先頭位置として、各送信データとともに受信された先頭メモリアドレス情報に示されている先頭メモリアドレスを指定するアドレス指定ステップと
    を実行させることを特徴とするプログラム。
PCT/JP2013/051827 2012-02-02 2013-01-29 情報処理装置および情報処理方法およびプログラム WO2013115153A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-021019 2012-02-02
JP2012021019A JP2015079280A (ja) 2012-02-02 2012-02-02 情報処理装置および情報処理方法およびプログラム

Publications (1)

Publication Number Publication Date
WO2013115153A1 true WO2013115153A1 (ja) 2013-08-08

Family

ID=48905190

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/051827 WO2013115153A1 (ja) 2012-02-02 2013-01-29 情報処理装置および情報処理方法およびプログラム

Country Status (2)

Country Link
JP (1) JP2015079280A (ja)
WO (1) WO2013115153A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220120793A1 (en) * 2020-10-19 2022-04-21 Vega Grieshaber Kg Measuring device, arrangement and method for cyclic measured value transmission

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185669A (ja) * 1997-09-02 1999-03-30 Matsushita Electric Ind Co Ltd 転送制御装置
JP2002342264A (ja) * 2001-05-17 2002-11-29 Mitsubishi Electric Corp 多層データ収集・転送制御システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185669A (ja) * 1997-09-02 1999-03-30 Matsushita Electric Ind Co Ltd 転送制御装置
JP2002342264A (ja) * 2001-05-17 2002-11-29 Mitsubishi Electric Corp 多層データ収集・転送制御システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220120793A1 (en) * 2020-10-19 2022-04-21 Vega Grieshaber Kg Measuring device, arrangement and method for cyclic measured value transmission

Also Published As

Publication number Publication date
JP2015079280A (ja) 2015-04-23

Similar Documents

Publication Publication Date Title
CN110431542B (zh) 管理存储网络中的i/o操作
KR101196547B1 (ko) 결정론적 sas 검색 및 구성을 위한 방법
US10656874B2 (en) Storage device operation control method, and storage device
US8966130B2 (en) Tag allocation for queued commands across multiple devices
US8533300B2 (en) Storage device, controller, and address management method
JP2007219717A (ja) ストレージシステム及びストレージコントローラ
US10534541B2 (en) Asynchronous discovery of initiators and targets in a storage fabric
US20220107740A1 (en) Reconfigurable storage system
US10534563B2 (en) Method and system for handling an asynchronous event request command in a solid-state drive
WO2016000478A1 (zh) 一种存储控制器及其使用方法
EP3444722B1 (en) Installation of operating system
JP6617461B2 (ja) 制御装置、制御プログラム、及び制御方法
US10482049B2 (en) Configuring NVMe devices for redundancy and scaling
US10097658B2 (en) Traffic control of packet transfer
EP2703990A2 (en) Information processing apparatus, computer program, and area release control method
KR101137085B1 (ko) 데이터 저장 시스템의 논리 파티션에서 초기 프로그램 로드를 관리하는 방법, 이를 수행하기 위한 저장 컨트롤러, 및 컴퓨터 판독 가능 저장매체
WO2013115153A1 (ja) 情報処理装置および情報処理方法およびプログラム
WO2017209892A1 (en) Dynamically forming a failure domain in a storage system that includes a plurality of blades
US10585622B2 (en) Data writing device and method
US8918559B2 (en) Partitioning of a variable length scatter gather list
JP2014048810A (ja) ホストシステム、ストレージデバイス、および通信方法
CN103631532A (zh) 用于在数据存储系统中访问数据的方法和设备
WO2017090517A1 (ja) ソフトウェアストレージユニット、バックアップ方法、およびバックアップ制御プログラムが記録された記録媒体
JP5104320B2 (ja) コンピュータシステム、コンピュータ本体、起動方法、および初期化プログラム
JP6701846B2 (ja) 管理装置、バックアップシステム、バックアップ管理方法、プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13743424

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13743424

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP