WO2014115264A1 - Trace method, program, and information processing apparatus - Google Patents

Trace method, program, and information processing apparatus Download PDF

Info

Publication number
WO2014115264A1
WO2014115264A1 PCT/JP2013/051295 JP2013051295W WO2014115264A1 WO 2014115264 A1 WO2014115264 A1 WO 2014115264A1 JP 2013051295 W JP2013051295 W JP 2013051295W WO 2014115264 A1 WO2014115264 A1 WO 2014115264A1
Authority
WO
WIPO (PCT)
Prior art keywords
layer
communication
port number
pdu
trace information
Prior art date
Application number
PCT/JP2013/051295
Other languages
French (fr)
Japanese (ja)
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 富士通株式会社
Priority to PCT/JP2013/051295 priority Critical patent/WO2014115264A1/en
Publication of WO2014115264A1 publication Critical patent/WO2014115264A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields

Definitions

  • This technology relates to the tracing technology of communication devices.
  • Trace information may be collected to analyze communication device failures.
  • a certain patent document discloses a technique for attaching the same related identifier to related trace information. This makes it easy to specify the correspondence between instructions in a single protocol layer.
  • Another patent document discloses a technique for collecting trace information from a plurality of protocol layers and editing it in time series.
  • the upper layer is used even if the correspondence relationship of the trace information in the same layer is specified or the time-series relationship of the trace information of a plurality of layers is specified. It is difficult to grasp the relationship between the trace information and the lower layer.
  • the purpose of this technology is, in one aspect, to make it easier to identify related trace information groups.
  • a tracing method is a tracing method executed by an apparatus that performs communication between an upper layer for communication using an upper communication protocol and a lower layer for communication using a lower communication protocol, the communication processing in the upper layer Including a process of acquiring trace information related to the execution of the process, and a process of associating a connection identifier and trace information relating to a lower layer connection when executing the communication process.
  • FIG. 1 is a diagram showing an outline of an iSCSI (Internet Small Computer Computer System Interface) environment.
  • FIG. 2 is a diagram illustrating a configuration example of the host machine.
  • FIG. 3 is a diagram illustrating an example of the converted trace information.
  • FIG. 4 is a diagram illustrating an example of a configuration related to activation of the tracer.
  • FIG. 5 is a diagram showing an overview of initial settings related to SCSI (Small Computer Interface) command reception.
  • FIG. 6 is a diagram showing an overview of initial settings related to PDU (Protocol Data Unit) transmission.
  • FIG. 7 is a diagram showing an outline of the initial setting related to PDU reception.
  • FIG. 8 is a diagram showing an outline of the initial setting related to the completion notification reply.
  • FIG. 1 is a diagram showing an outline of an iSCSI (Internet Small Computer Computer System Interface) environment.
  • FIG. 2 is a diagram illustrating a configuration example of the host machine.
  • FIG. 3 is a diagram illustrating an example
  • FIG. 9 is a diagram showing an outline of the device recognition operation.
  • FIG. 10 is a diagram showing an outline of the trace operation related to SCSI command reception.
  • FIG. 11 is a diagram illustrating an example of a SCSI command recording process flow.
  • FIG. 12 is a diagram showing an outline of the trace operation related to PDU transmission.
  • FIG. 13 is a diagram illustrating an example of a PDU transmission recording process flow.
  • FIG. 14 is a diagram showing an outline of the trace operation related to PDU reception.
  • FIG. 15 is a diagram illustrating an example of a port number securing process flow.
  • FIG. 16 is a diagram illustrating an example of a PDU reception recording process flow.
  • FIG. 17 is a diagram showing an outline of the trace operation related to the completion notification reply.
  • FIG. 18 is a diagram illustrating an example of a completion notification recording process flow.
  • FIG. 19 is a diagram illustrating an example of a conversion processing flow.
  • FIG. 20 is a functional block diagram of
  • Figure 1 shows an overview of the iSCSI environment.
  • the host machine 101 is connected to the iSCSI target device 105 via the transmission path 103.
  • the iSCSI target device 105 has a disk device 107.
  • FIG. 2 shows a configuration example of the host machine 101.
  • the host machine 101 has a multi-layer software group. Specifically, the host machine 101 includes an application software 201, a SCSI layer 203, an iSCSI layer 205, a TCP (Transmission Control Protocol) layer 207, an IP (Internet Protocol) layer 209, and a driver layer in order from the upper layer to the lower layer. 211 and NIC (Network Interface Card) 213.
  • an application software 201 includes an application software 201, a SCSI layer 203, an iSCSI layer 205, a TCP (Transmission Control Protocol) layer 207, an IP (Internet Protocol) layer 209, and a driver layer in order from the upper layer to the lower layer.
  • NIC Network Interface Card
  • the host machine 101 in this embodiment further includes a tracer 215, a trace information storage unit 217, a conversion unit 219, an output unit 221 and an analysis unit 223.
  • the tracer 215 collects trace information from the iSCSI layer 205 and the driver layer 211.
  • the trace information storage unit 217 stores the collected trace information and the converted trace information.
  • the conversion unit 219 converts the collected trace information.
  • the output unit 221 outputs the collected trace information and the converted trace information.
  • the output form may be any form such as transmission, display, and printing.
  • the analysis unit 223 analyzes the converted trace information. However, in the present embodiment, description of the analysis process is omitted.
  • the SCSI layer 203 transmits a SCSI command to the iSCSI layer 205.
  • the iSCSI layer 205 returns a SCSI command completion notification to the SCSI layer 203.
  • the tracer 215 acquires trace information related to the SCSI command and trace information related to the SCSI command completion notification.
  • the tracer 215 acquires the TCP port number together with the trace information related to the SCSI command. Further, the tracer 215 acquires the TCP port number together with the trace information related to the SCSI command completion notification.
  • the iSCSI layer 205 generates a PDU and transmits it to the TCP layer 207 during execution of the SCSI command. Further, the iSCSI layer 205 receives a PDU from the TCP layer 207 during execution of the SCSI command.
  • the tracer 215 obtains trace information regarding a PDU to be transmitted (hereinafter referred to as “transmission PDU”) and trace information regarding a received PDU (hereinafter referred to as “reception PDU”).
  • the tracer 215 acquires the TCP port number together with the trace information regarding the transmission PDU. Furthermore, the tracer 215 acquires the TCP port number together with the trace information regarding the received PDU.
  • the tracer 215 acquires trace information regarding the TCP packet from the driver layer 211.
  • the tracer 215 stores the trace information in the trace information storage unit 217.
  • the tracer 215 includes trace information and a TCP port number related to a SCSI command, trace information and a TCP port number related to a SCSI command completion notification, trace information and a TCP port number related to a transmission PDU, and trace information and a TCP port number related to a reception PDU.
  • trace information related to TCP packets are stored in the trace information storage unit 217.
  • the tracer 215 causes the trace information storage unit 217 to store the time at which the above-described information is acquired.
  • the conversion unit 219 extracts, for each TCP port number, trace information about the SCSI command, trace information about the SCSI command completion notification, trace information about the transmission PDU, trace information about the received PDU, and trace information about the TCP packet, and sorts them in time order. To do.
  • the output unit 221 outputs the trace information converted by the conversion unit 219.
  • the analysis unit 223 analyzes the trace information. For example, the analysis unit 223 analyzes the trace information converted by the conversion unit 219.
  • the output unit 221 may output the analysis result obtained by the analysis unit 223.
  • Figure 3 shows an example of converted trace information.
  • This example mainly shows an example of trace information whose TCP port number is “P01”.
  • the third column shows trace information regarding the TCP packet.
  • the fourth column shows trace information related to the transmission PDU and trace information related to the reception PDU.
  • the fifth column shows trace information related to the SCSI command and trace information related to the SCSI command completion notification.
  • the trace information is shown divided into the third column to the fifth column.
  • the trace information may not be divided into columns.
  • trace information relating to the same connection can be collected on condition that the same TCP port number is used.
  • the trace information is arranged in ascending order using the acquisition time as a key.
  • the trace information related to “SCSI command 01” acquired at time “T01” and the trace information related to “completion notification of SCSI command 01” acquired at time “T10” are acquired at time “T02”.
  • FIG. 4 shows an example of the configuration related to the activation of the tracer 215.
  • the iSCSI layer 205 includes a SCSI command reception unit 401, a PDU transmission unit 403, a PDU reception unit 405, a completion notification reply unit 407, and a control unit 409.
  • the SCSI command receiving unit 401 receives a SCSI command from the SCSI layer 203.
  • the PDU transmission unit 403 transmits the PDU to the TCP layer 207.
  • the PDU receiving unit 405 receives a PDU from the TCP layer 207.
  • the completion notification reply unit 407 returns a SCSI command completion notification to the SCSI layer 203.
  • the control unit 409 controls the operation of the iSCSI layer 205.
  • the tracer 215 includes a rewriting unit 411, a securing unit 413, a SCSI command recording unit 421, a PDU transmission recording unit 423, a PDU reception recording unit 425, a completion notification recording unit 427, and a port number securing unit 429.
  • the rewriting unit 411 rewrites a part of the program that realizes the iSCSI layer 205 and a part of the program that realizes the tracer 215. With this rewriting, the tracer 215 collects trace information in accordance with the operation of the iSCSI layer 205. The operation of the rewriting unit 411 will be described later with reference to FIGS.
  • the securing unit 413 secures a storage area to be the trace information storage unit 217.
  • the SCSI command recording unit 421 records trace information related to the SCSI command received from the SCSI layer 203.
  • the PDU transmission recording unit 423 records trace information regarding the transmission PDU.
  • the PDU reception recording unit 425 records trace information regarding the received PDU.
  • the completion notification recording unit 427 records trace information related to the completion notification of the SCSI command returned to the SCSI layer 203.
  • the port number securing unit 429 secures a TCP port number.
  • the initial setting by the rewriting unit 411 will be described. Specifically, the data collection point is set by the tracer 215.
  • FIG. 5 shows an overview of the initial settings related to SCSI command reception.
  • the program 501 shows a SCSI command reception function that implements the SCSI command reception unit 401 included in the iSCSI layer 205.
  • the program 501 is an executable program before rewriting.
  • FIG. 5 shows an example of a source format program for convenience.
  • the parameter input to the SCSI command reception function is the address of the SCSI packet structure.
  • the first programmed instruction of the SCSI command reception function is referred to as a first instruction
  • the next programmed instruction is referred to as a second instruction.
  • the program 511 indicates a SCSI command recording processing routine for realizing the SCSI command recording unit 421 included in the tracer 215.
  • the program 511 is an executable program before rewriting.
  • FIG. 5 shows an example of a source format program for convenience.
  • the SCSI command recording processing routine includes, in order, an instruction code for address acquisition processing, an instruction code for command acquisition processing, an instruction code for handle acquisition processing, an instruction code for port number acquisition processing, and an instruction code for association processing. . Furthermore, two nop codes that do not involve execution are included.
  • a part of the program 501 is rewritten by the rewriting unit 411, and the SCSI command reception function is in the state shown in the program 503. Specifically, the code of the first instruction programmed in the SCSI command reception function is rewritten to a code instructing a jump to SCSI command recording.
  • the nop code on the first line is rewritten with the code of the first instruction programmed in the SCSI command reception function.
  • the nop code on the second line is rewritten with a code for instructing a jump to the second instruction programmed in the SCSI command reception function.
  • FIG. 6 shows an overview of the initial settings related to PDU transmission.
  • a program 601 shows a PDU transmission function for realizing the PDU transmission unit 403 included in the iSCSI layer 205.
  • the program 601 is an executable program before rewriting.
  • FIG. 6 shows an example of a source format program for convenience.
  • the parameters input to the PDU transmission function are a TCP connection handle and a PDU.
  • the first programmed instruction of the PDU transmission function is referred to as a first instruction, and the next programmed instruction is referred to as a second instruction.
  • the program 611 shows a PDU transmission recording processing routine for realizing the PDU transmission recording unit 423 included in the tracer 215.
  • the program 611 is an executable program before rewriting.
  • FIG. 6 shows an example of a source format program for convenience.
  • the processing routine for PDU transmission recording includes, in order, an instruction code for handle acquisition processing, an instruction code for PDU acquisition processing, an instruction code for port number acquisition processing, and an instruction code for association processing. Furthermore, two nop codes that do not involve execution are included.
  • a part of the program 601 is rewritten by the rewriting unit 411, and the PDU transmission function is in the state shown in the program 603. Specifically, the code of the first instruction programmed in the PDU transmission function is rewritten with a code instructing a jump to the PDU transmission record.
  • the nop code on the first line is rewritten with the code of the first instruction programmed in the PDU transmission function.
  • the nop code on the second line is rewritten with a code that instructs a jump to the second instruction programmed in the PDU transmission function.
  • the process jumps to the PDU transmission record shown in the program 613, and the handle acquisition process is executed. Furthermore, a PDU acquisition process is executed, a port number acquisition process is executed, and an association process is executed.
  • processing by the first instruction is executed, and the process jumps to the second instruction. Then, processing according to the second command of the PDU transmission function shown in the program 603 is executed. Details of the processing routine for PDU transmission recording will be described later with reference to FIGS.
  • FIG. 7 shows an overview of the initial settings related to PDU reception.
  • a program 701 shows a control processing routine for realizing the control unit 409 included in the iSCSI layer 205.
  • an instruction following the call of the PDU reception function is referred to as a third instruction.
  • the program 703 shows a PDU reception function for realizing the PDU reception unit 405 included in the iSCSI layer 205.
  • the program 703 is an executable program before rewriting.
  • FIG. 7 shows an example of a source format program for convenience.
  • the parameters input to the PDU reception function are the TCP connection handle and the address of the PDU storage area.
  • the first programmed instruction of the PDU reception function is referred to as a first instruction, and the next programmed instruction is referred to as a second instruction.
  • the PDU reception function includes an instruction code for standby processing and an instruction code for reception processing. Further, the PDU reception function is programmed to return to the third instruction of the program 701 by a return code.
  • the program 711 shows a port number securing processing routine for realizing the port number securing unit 429 included in the tracer 215 and a PDU receiving recording processing routine for realizing the PDU receiving recording unit 425.
  • the program 711 is an executable program before rewriting.
  • FIG. 7 shows an example of a source format program for convenience.
  • the processing routine for securing the port number includes, in order, an instruction code for handle acquisition processing, an instruction code for port number acquisition processing, and an instruction code for holding processing. Furthermore, two nop codes that do not involve execution are included.
  • the processing routine for PDU reception recording includes, in order, an instruction code for PDU acquisition processing, an instruction code for handle acquisition processing, an instruction code for port number identification processing, and an instruction code for association processing. Furthermore, one nop code without execution is included.
  • a part of the program 703 is rewritten by the rewriting unit 411, and the PDU reception function is in the state shown in the program 707.
  • the code of the first instruction programmed in the PDU reception function is rewritten with a code instructing a jump to secure the port number.
  • the return code is rewritten to a code for instructing a jump to PDU reception recording.
  • a part of the program 711 is rewritten by the rewriting unit 411, and the port number securing processing routine and the PDU reception recording processing routine are in the state shown in the program 713.
  • the nop code on the first line is rewritten with the code of the first instruction programmed in the PDU reception function.
  • the nop code on the second line is rewritten with a code for instructing a jump to the second instruction programmed in the PDU reception function.
  • the nop code is rewritten with a code for instructing a jump to the third instruction programmed in the control processing routine.
  • standby processing and reception processing included in the PDU reception function are executed.
  • the standby process the PDU is received.
  • the reception process the PDU is actually received.
  • FIG. 8 shows an overview of the initial settings relating to the completion notification reply.
  • the program 801 shows a completion notification reply function that implements the completion notice reply unit 407 included in the iSCSI layer 205.
  • the program 801 is an executable program before rewriting.
  • FIG. 8 shows an example of a source format program for convenience.
  • the parameter input to the completion notification reply function is the address of the SCSI packet structure.
  • the first programmed instruction of the completion notification reply function is referred to as a first instruction
  • the next programmed instruction is referred to as a second instruction.
  • the program 811 shows a processing routine for completion notification recording that realizes the completion notification recording unit 427 included in the tracer 215.
  • the program 811 is an executable program before rewriting.
  • FIG. 8 shows an example of a source format program for convenience.
  • the completion notification recording processing routine includes, in order, an instruction code for address acquisition processing, an instruction code for completion notification acquisition processing, an instruction code for handle acquisition processing, an instruction code for port number identification processing, and an instruction code for association processing. Yes. Furthermore, two nop codes that do not involve execution are included.
  • a part of the program 801 is rewritten by the rewriting unit 411, and the completion notification reply function is in the state shown in the program 803. Specifically, the code of the first instruction programmed in the completion notification reply function is rewritten to a code instructing a jump to the completion notification record.
  • a part of the program 811 is rewritten by the rewriting unit 411, and the processing routine for recording the completion notification is in the state shown in the program 813.
  • the nop code on the first line is rewritten to the code of the first instruction programmed in the completion notification reply function.
  • the nop code in the second line is rewritten with a code that instructs a jump to the second instruction programmed in the completion notification reply function.
  • FIG. 9 shows an outline of the device recognition operation.
  • the iSCSI setting unit 913 instructs the iSCSI layer 205 to recognize the SCSI device
  • the iSCSI layer 205 instructs the TCP layer 207 to generate a TCP connection.
  • the TCP layer 207 generates a TCP connection structure 903 in the memory area managed by the TCP layer 207.
  • the TCP connection structure 903 includes a local TCP port number 905 and a remote TCP port number 907. A different number is assigned to the local TCP port number 905 for each connection.
  • a unique number “3260” in iSCSI is set.
  • the TCP port number is an example of a connection identifier.
  • the TCP layer 207 generates a TCP connection handle 901 for specifying a TCP connection, and links the TCP connection handle 901 and the TCP connection structure 903 in a system-specific manner.
  • the TCP connection handle 901 is information for specifying a connection in the TCP layer 207.
  • TCP connection handle 901 and the TCP connection structure 903 are linked.
  • an intermediate structure that stores the address of the TCP connection structure 903 at a predetermined offset is assumed.
  • the TCP connection handle 901 uses the leading address of the intermediate structure.
  • the address of the TCP connection structure 903 is read from the address obtained by adding a predetermined offset to the TCP connection handle 901.
  • the local TCP port number 905 is read from the TCP connection structure 903.
  • another method may be sufficient as the method of making it cooperate.
  • the TCP layer 207 passes the generated TCP connection handle to the iSCSI layer 205.
  • the iSCSI layer 205 generates an iSCSI connection structure 909 in a memory area managed by the iSCSI layer 205, and stores a TCP connection handle 911 in the generated iSCSI connection structure 909. Then, the iSCSI layer 205 notifies the SCSI layer 203 that the SCSI device has been recognized. This is the end of the description of the operation for recognizing the iSCSI target device 105 as a SCSI device.
  • FIG. 10 shows an outline of the trace operation related to SCSI command reception.
  • the SCSI layer 203 passes the SCSI command to the iSCSI layer 205 and instructs the iSCSI layer 205 to prepare for transmission.
  • the iSCSI layer 205 generates a SCSI packet structure 1001 in a memory area managed by the iSCSI layer 205, and stores the contents of the SCSI command in the SCSI packet structure 1001.
  • the iSCSI layer 205 determines an iSCSI connection structure 909 to be used for this SCSI command, and stores the head address in the SCSI packet structure 1001. That is, the iSCSI packet structure 1001 points to the iSCSI connection structure 909. Then, the iSCSI layer 205 returns the address of the SCSI packet structure 1001 to the SCSI layer 203.
  • the SCSI layer 203 instructs the iSCSI layer 205 to transmit a SCSI command using the address of the SCSI packet structure 1001. This instruction corresponds to calling the SCSI command reception function shown in FIG.
  • FIG. 11 shows an example of a SCSI command recording process flow. This process corresponds to the SCSI command recording process shown in FIG.
  • the address acquisition unit 1011 acquires the address of the SCSI packet structure 1001 from the SCSI command reception unit 401 in the address acquisition process (S1101).
  • the command acquisition unit 1013 reads the SCSI command 1003 included in the SCSI packet structure 1001 in the command acquisition process (S1103).
  • the handle acquisition unit 1015 reads the start address 1005 of the iSCSI connection structure included in the SCSI packet structure 1001, and further reads the TCP connection handle 911 included in the iSCSI connection structure 909.
  • the port number acquisition unit 1017 follows the cooperation in the TCP layer 207 based on the TCP connection handle 911 and reads the local TCP port number 905.
  • the associating unit 1019 writes the trace information related to the SCSI command and the local TCP port number together with the current time in the trace information storage unit 217.
  • the SCSI command recording unit 421 executes processing according to the first command included in the SCSI command reception function (S1111).
  • the process jumps to the second instruction included in the SCSI command reception function and returns to the normal SCSI command reception function processing. This is the end of the description of the trace operation when the iSCSI command is received by the iSCSI layer 205.
  • FIG. 12 shows an outline of the trace operation related to PDU transmission.
  • the control unit 409 generates a PDU according to the SCSI command 1003. Then, the control unit 409 passes the TCP connection handle and PDU to the PDU transmission unit 403 and instructs transmission of the PDU. This instruction corresponds to calling the PDU transmission function shown in FIG.
  • FIG. 13 shows an example of a PDU transmission recording process flow. This process corresponds to the PDU transmission recording process shown in FIG.
  • the handle acquisition unit 1015 acquires a TCP connection handle from the PDU transmission unit 403 in the handle acquisition process (S1301).
  • the PDU acquisition unit 1211 acquires the PDU to be transmitted from the PDU transmission unit 403 in the PDU acquisition process (S1303).
  • the port number acquisition unit 1017 follows the cooperation in the TCP layer 207 based on the TCP connection handle 901 and reads the local TCP port number 905 in the port number acquisition process (S1305).
  • the associating unit 1019 writes the trace information regarding the PDU to be transmitted and the local side TCP port number in association with the current time, in the trace information storage unit 217.
  • the PDU transmission recording unit 423 executes processing according to the first command included in the PDU transmission function (S1309).
  • the process jumps to the second instruction included in the PDU transmission function, and returns to the normal PDU transmission function processing. Then, the PDU transmission unit 403 transmits a TCP connection handle and PDU to the TCP layer 207. This is the end of the description of the trace operation when the iSCSI layer 205 transmits a PDU to the TCP layer 207.
  • FIG. 14 shows an outline of the trace operation related to PDU reception.
  • the control unit 409 passes the TCP connection handle and the address of the PDU storage area 1401 to the PDU reception unit 405 and instructs reception of the PDU. This instruction corresponds to calling the PDU reception function shown in FIG.
  • the port number securing unit 429 starts the port number securing process.
  • the local TCP port number 1415 corresponding to the TCP connection handle 901 is secured before actually receiving the PDU.
  • FIG. 15 shows an example of a port number securing process flow. This process corresponds to the port number securing process shown in FIG.
  • the handle acquisition unit 1015 acquires a TCP connection handle from the PDU reception unit 405 in the handle acquisition process (S1501).
  • the port number acquisition unit 1411 follows the cooperation in the TCP layer 207 based on the TCP connection handle 901 and reads the local TCP port number 905 in the port number acquisition process (S1503).
  • the port number securing unit 429 stores the TCP connection handle 1417 and the local TCP port number 1415 in the storage unit 1413 in association with each other in the holding process (S1505). A plurality of pairs of the TCP connection handle 1417 and the local side TCP port number 1415 may be held.
  • the port number securing unit 429 executes processing according to the first command included in the PDU reception function (S1507).
  • the process jumps to the second command included in the PDU reception function and returns to the normal PDU reception function processing.
  • the PDU receiving unit 405 performs standby processing.
  • the PDU reception unit 405 calls the reception function of the TCP layer 207.
  • the PDU receiving unit 405 passes the TCP connection handle to the TCP layer 207 and waits for the reception of the PDU.
  • the PDU reception unit 405 receives data from the TCP layer 207 by reception processing.
  • the PDU receiving unit 405 generates a PDU from the received data, and stores the generated PDU in the PDU storage area 1401.
  • FIG. 16 shows an example of a PDU reception recording process flow. This process corresponds to the PDU reception recording process shown in FIG.
  • the PDU acquisition unit 1211 acquires the received PDU from the PDU reception unit 405 in the PDU acquisition process (S1601).
  • the handle acquisition unit 1015 acquires a TCP connection handle from the PDU reception unit 405 in the handle acquisition process (S1603).
  • the port number specifying unit 1419 specifies the local TCP port number 1415 associated with the TCP connection handle 1417 in the storage unit 1413 in the port number specifying process (S1605).
  • the associating unit 1019 writes the received trace information about the PDU and the local TCP port number 1415 together with the current time in the trace information storage unit 217.
  • FIG. 17 shows an outline of the trace operation related to the completion notification reply.
  • the control unit 409 searches for a SCSI packet structure 1001 corresponding to the generated PDU.
  • the control unit 409 generates a SCSI command completion notification based on the content of the PDU, and stores the SCSI command completion notification in the SCSI packet structure 1001.
  • the control unit 409 passes the address of the SCSI packet structure 1001 to the completion notification reply unit 407 and instructs the SCSI command completion notification to be returned. This instruction corresponds to calling the completion notification reply function shown in FIG.
  • FIG. 18 shows an example of a completion notification recording process flow. This process corresponds to the completion notification recording process shown in FIG.
  • the address acquisition unit 1011 acquires the address of the SCSI packet structure 1001 from the completion notification reply unit 407 in the address acquisition process (S1801).
  • the completion notification acquisition unit 1711 reads the SCSI command completion notification 1701 from the SCSI packet structure 1001 in the completion notification acquisition process (S1803).
  • the handle acquisition unit 1015 reads the start address 1005 of the iSCSI connection structure included in the SCSI packet structure 1001, and further reads the TCP connection handle 911 included in the iSCSI connection structure 909.
  • the port number specifying unit 1713 specifies the local TCP port number 1415 associated with the TCP connection handle 1417 in the storage unit 1413 in the port number specifying process (S1807).
  • the associating unit 1019 writes the trace information related to the SCSI command completion notification 1701 and the local TCP port number 1415 together with the current time in association with the trace information storage unit 217.
  • the completion notification recording unit 427 executes processing according to the first command included in the completion notification reply function before rewriting (S1811).
  • the process jumps to the second command included in the completion notification reply function and returns to the normal completion notification reply function processing. This is the end of the description of the trace operation when the iSCSI layer 205 returns a SCSI command completion notification.
  • FIG. 19 shows an example of the conversion processing flow.
  • the conversion unit 219 generates trace information arranged in order of time for each TCP port number as illustrated in FIG. 3 by the conversion process.
  • the conversion unit 219 identifies one unprocessed TCP port number that has not yet been converted (S1901).
  • the identified TCP port number is a key for extracting trace information.
  • the conversion unit 219 extracts trace information related to the SCSI command including the TCP port number (S1903).
  • the conversion unit 219 extracts trace information regarding the transmission PDU including the TCP port number (S1905).
  • the conversion unit 219 extracts trace information regarding the received PDU including the TCP port number (S1907).
  • the conversion unit 219 extracts trace information regarding the SCSI command completion notification 1701 including the TCP port number (S1909).
  • the conversion unit 219 extracts trace information regarding the TCP packet including the TCP port number (S1911). Then, the conversion unit 219 sorts the extracted trace information group in descending order of time (S1913). This completes the processing related to the TCP port number.
  • the conversion unit 219 determines whether there is an unprocessed TCP port number (S1915). If it is determined that there is an unprocessed TCP port number, the process returns to S1901 to continue the conversion process. If it is determined that there is no unprocessed TCP port number, the conversion process is terminated. Above, description about the conversion process by the conversion part 219 is finished.
  • an example of a multi-layer is shown in FIG. 2, but a configuration of another communication layer may be used.
  • the example in which the iSCSI layer 205 is a trace target has been described, but the trace target is not limited to the iSCSI layer 205.
  • Other protocol layers may be traced.
  • an example in which the connection of the TCP layer 207 is specified by the TCP port number is shown, but a connection in another protocol layer may be specified by another connection identifier.
  • the connection of the TCP layer 207 can be specified for the trace information of the iSCSI layer 205. This is useful for collecting the trace information group of the iSCSI layer 205 related to the same TCP connection, for example. Further, if the TCP port number is specified from the trace information of the TCP layer 207, the relationship between the trace information of the iSCSI layer 205 and the trace information of the TCP layer 207 related to the same connection can be specified.
  • the port number is acquired before the communication process in the iSCSI layer 205 is executed, it is possible to avoid a situation in which the port number cannot be acquired by closing the connection after the communication process is executed.
  • connection identification information such as a TCP connection handle
  • a TCP port number that cannot be directly identified from trace information (such as a SCSI command, transmission PDU, reception PDU, or SCSI command completion notification) can be acquired from the TCP layer 207. Become.
  • the TCP port number for specifying the TCP connection is specified from the plurality of TCP port numbers acquired before the execution of the communication process in the iSCSI layer 205, even when the TCP connection is closed after the execution of the communication process, The TCP port number can be specified reliably.
  • the TCP port number at the time of execution can be specified based on the connection specifying information such as the TCP connection handle.
  • the present technology has been described above, but the present technology is not limited to this.
  • the functional block configuration described above may not match the actual program module configuration.
  • each storage area described above is an example, and the configuration as described above is not necessarily required. Further, in the processing flow, the processing order can be changed if the processing result does not change. Further, it may be executed in parallel.
  • the host machine 101 described above is a computer device, and as shown in FIG. 20, a memory 2501, a CPU (Central Processing Unit) 2503, a hard disk drive (HDD: Hard Disk Drive) 2505, and a display device 2509.
  • a display control unit 2507 connected to the computer, a drive device 2513 for a removable disk 2511, an input device 2515, and a communication control unit 2517 for connecting to a network are connected by a bus 2519.
  • An operating system (OS: Operating System) and an application program for performing the processing in this embodiment are stored in the HDD 2505, and are read from the HDD 2505 to the memory 2501 when executed by the CPU 2503.
  • OS Operating System
  • the CPU 2503 controls the display control unit 2507, the communication control unit 2517, and the drive device 2513 according to the processing content of the application program, and performs a predetermined operation. Further, data in the middle of processing is mainly stored in the memory 2501, but may be stored in the HDD 2505. In an embodiment of the present technology, an application program for performing the above-described processing is stored in a computer-readable removable disk 2511 and distributed, and installed from the drive device 2513 to the HDD 2505. In some cases, the HDD 2505 may be installed via a network such as the Internet and the communication control unit 2517. Such a computer apparatus realizes various functions as described above by organically cooperating hardware such as the CPU 2503 and the memory 2501 described above and programs such as the OS and application programs. .
  • the tracing method according to the present embodiment is a tracing method executed by a device that performs communication using an upper layer for communication using an upper communication protocol and a lower layer for communication using a lower communication protocol.
  • connection identifier is specified from the lower layer trace information, the relationship between the upper layer trace information and the lower layer trace information related to the same connection can be specified.
  • connection identifier may be a port number.
  • trace method may include an acquisition process for acquiring a port number before the execution of the communication process.
  • the port number may be acquired based on the connection specifying information in the lower layer.
  • connection identification information such as the connection handle in this way, the port number that cannot be identified directly from the trace information can be acquired from the lower layer.
  • connection identifier may be a port number.
  • the tracing method may include a process of acquiring a port number related to a lower layer connection and holding the acquired port number before executing the communication process.
  • the trace method may include a specifying process for specifying a port number to be associated with the trace information from among the plurality of held port numbers.
  • the port number that identifies the connection is identified from the plurality of port numbers acquired before the execution of the communication process, so even if the connection is closed after the execution of the communication process, the port number is guaranteed Can be identified.
  • the port number to be associated with the trace information may be specified based on the connection specifying information in the lower layer.
  • the port number at the time of execution can be specified based on the connection specifying information such as the connection handle.
  • the upper layer may be an iSCSI layer.
  • the lower layer may be a TCP layer.
  • the TCP port number can be associated with the iSCSI layer trace information.
  • the upper layer may be an iSCSI layer.
  • the lower layer may be a TCP layer.
  • the communication process may include at least one of a command reception process from the SCSI layer and a PDU transmission process to the TCP layer.
  • the TCP port number can be acquired even when the TCP connection is closed after the command reception process from the SCSI layer or the PDU transmission process to the TCP layer.
  • the upper layer may be an iSCSI layer.
  • the lower layer may be a TCP layer.
  • the communication process may include at least one of a PDU reception process from the TCP layer and a command completion notification return process to the SCSI layer.
  • the TCP port number can be reliably identified.
  • a program for causing a computer to carry out the processing described above such as a flexible disk, an optical disk such as a CD-ROM, a magneto-optical disk, a semiconductor memory (for example, ROM). Or a computer-readable storage medium such as a hard disk or a storage device. Note that data being processed is temporarily stored in a storage device such as a RAM.

Abstract

The disclosed trace method is executed by an apparatus that communicates by means of a higher layer for communication using a higher communication protocol, and a lower layer for communication using a lower communication protocol. The trace method includes: a process for acquiring trace information pertaining to the execution of a higher-layer communication process; and a process for associating the trace information and a connection identifier for the lower-layer connection when executing the communication process. A lower-layer connection can be specified for the higher-layer trace information, thereby simplifying the specification of related trace information groups.

Description

トレース方法、プログラムおよび情報処理装置Trace method, program, and information processing apparatus
 本技術は、通信装置のトレース技術に関する。 This technology relates to the tracing technology of communication devices.
 通信装置の障害を解析するために、トレース情報を収集することがある。ある特許文献には、関連のあるトレース情報に同じ関連識別子を付ける技術が開示されている。これよって、単一のプロトコル層における命令の対応関係を特定しやすくしている。 Trace information may be collected to analyze communication device failures. A certain patent document discloses a technique for attaching the same related identifier to related trace information. This makes it easy to specify the correspondence between instructions in a single protocol layer.
 別の特許文献には、複数のプロトコル層からトレース情報を収集し、時系列に編集する技術が開示されている。 Another patent document discloses a technique for collecting trace information from a plurality of protocol layers and editing it in time series.
 上記のように、同一層内のトレース情報の対応関係を特定し、あるいは複数層のトレース情報についての時系列の関係を特定するようにしても、複雑な制御を行う通信装置においては、上位層のトレース情報について下位層との関連を把握することは難しい。 As described above, in the communication device that performs complex control, the upper layer is used even if the correspondence relationship of the trace information in the same layer is specified or the time-series relationship of the trace information of a plurality of layers is specified. It is difficult to grasp the relationship between the trace information and the lower layer.
特開平5-336203号公報JP-A-5-336203 特開平1-274545号公報JP-A-1-274545 特開平4-172044号公報Japanese Patent Laid-Open No. 4-172044
 本技術の目的は、一側面では、関連のあるトレース情報群を特定しやすくすることを目的とする。 The purpose of this technology is, in one aspect, to make it easier to identify related trace information groups.
 一態様に係るトレース方法は、上位通信プロトコルによる通信のための上位層と下位通信プロトコルによる通信のための下位層とにより通信を行う装置により実行されるトレース方法であって、上位層における通信処理の実行に関するトレース情報を取得する処理と、通信処理を実行する時の下位層のコネクションに係るコネクション識別子とトレース情報とを対応付ける処理とを含む。 A tracing method according to an aspect is a tracing method executed by an apparatus that performs communication between an upper layer for communication using an upper communication protocol and a lower layer for communication using a lower communication protocol, the communication processing in the upper layer Including a process of acquiring trace information related to the execution of the process, and a process of associating a connection identifier and trace information relating to a lower layer connection when executing the communication process.
 一側面としては、関連のあるトレース情報群を特定しやすくなる。 As one aspect, it becomes easier to identify related trace information groups.
図1は、iSCSI(Internet Small Computer System Interface)環境の概要を示す図である。FIG. 1 is a diagram showing an outline of an iSCSI (Internet Small Computer Computer System Interface) environment. 図2は、ホストマシンの構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of the host machine. 図3は、変換されたトレース情報の例を示す図である。FIG. 3 is a diagram illustrating an example of the converted trace information. 図4は、トレーサの起動に関わる構成の例を示す図である。FIG. 4 is a diagram illustrating an example of a configuration related to activation of the tracer. 図5は、SCSI(Small Computer System Interface)コマンド受付に関わる初期設定の概要を示す図である。FIG. 5 is a diagram showing an overview of initial settings related to SCSI (Small Computer Interface) command reception. 図6は、PDU(Protocol Data Unit)送信に関わる初期設定の概要を示す図である。FIG. 6 is a diagram showing an overview of initial settings related to PDU (Protocol Data Unit) transmission. 図7は、PDU受信に関わる初期設定の概要を示す図である。FIG. 7 is a diagram showing an outline of the initial setting related to PDU reception. 図8は、完了通知返信に関わる初期設定の概要を示す図である。FIG. 8 is a diagram showing an outline of the initial setting related to the completion notification reply. 図9は、デバイス認識動作の概要を示す図である。FIG. 9 is a diagram showing an outline of the device recognition operation. 図10は、SCSIコマンド受付に係るトレース動作の概要を示す図である。FIG. 10 is a diagram showing an outline of the trace operation related to SCSI command reception. 図11は、SCSIコマンド記録処理フローの例を示す図である。FIG. 11 is a diagram illustrating an example of a SCSI command recording process flow. 図12は、PDU送信に係るトレース動作の概要を示す図である。FIG. 12 is a diagram showing an outline of the trace operation related to PDU transmission. 図13は、PDU送信記録処理フローの例を示す図である。FIG. 13 is a diagram illustrating an example of a PDU transmission recording process flow. 図14は、PDU受信に係るトレース動作の概要を示す図である。FIG. 14 is a diagram showing an outline of the trace operation related to PDU reception. 図15は、ポート番号確保処理フローの例を示す図である。FIG. 15 is a diagram illustrating an example of a port number securing process flow. 図16は、PDU受信記録処理フローの例を示す図である。FIG. 16 is a diagram illustrating an example of a PDU reception recording process flow. 図17は、完了通知返信に係るトレース動作の概要を示す図である。FIG. 17 is a diagram showing an outline of the trace operation related to the completion notification reply. 図18は、完了通知記録処理フローの例を示す図である。FIG. 18 is a diagram illustrating an example of a completion notification recording process flow. 図19は、変換処理フローの例を示す図である。FIG. 19 is a diagram illustrating an example of a conversion processing flow. 図20は、コンピュータの機能ブロック図である。FIG. 20 is a functional block diagram of a computer.
 図1に、iSCSI環境の概要を示す。ホストマシン101は、伝送路103を介してiSCSIターゲット装置105に接続している。この例では、iSCSIターゲット装置105は、ディスク装置107を有している。 Figure 1 shows an overview of the iSCSI environment. The host machine 101 is connected to the iSCSI target device 105 via the transmission path 103. In this example, the iSCSI target device 105 has a disk device 107.
 図2に、ホストマシン101の構成例を示す。ホストマシン101は、マルチレイヤのソフトウエア群を有している。具体的には、ホストマシン101は、上位層から下位層の順に、アプリケーションソフトウエア201、SCSI層203、iSCSI層205、TCP(Transmission Control Protocol)層207、IP(Internet Protocol)層209、ドライバ層211及びNIC(Network Interface Card)213を有している。 FIG. 2 shows a configuration example of the host machine 101. The host machine 101 has a multi-layer software group. Specifically, the host machine 101 includes an application software 201, a SCSI layer 203, an iSCSI layer 205, a TCP (Transmission Control Protocol) layer 207, an IP (Internet Protocol) layer 209, and a driver layer in order from the upper layer to the lower layer. 211 and NIC (Network Interface Card) 213.
 本実施の形態におけるホストマシン101は、更に、トレーサ215、トレース情報格納部217、変換部219、出力部221及び解析部223を有している。 The host machine 101 in this embodiment further includes a tracer 215, a trace information storage unit 217, a conversion unit 219, an output unit 221 and an analysis unit 223.
 トレーサ215は、iSCSI層205及びドライバ層211からトレース情報を収集する。トレース情報格納部217は、収集されたトレース情報と変換されたトレース情報とを格納する。変換部219は、収集されたトレース情報を変換する。出力部221は、収集されたトレース情報と変換されたトレース情報とを出力する。出力の形態は、送信、表示や印刷などいずれの形態であってもよい。 The tracer 215 collects trace information from the iSCSI layer 205 and the driver layer 211. The trace information storage unit 217 stores the collected trace information and the converted trace information. The conversion unit 219 converts the collected trace information. The output unit 221 outputs the collected trace information and the converted trace information. The output form may be any form such as transmission, display, and printing.
 解析部223は、変換されたトレース情報を解析する。但し、本実施の形態においては、解析の処理については説明を省略する。 The analysis unit 223 analyzes the converted trace information. However, in the present embodiment, description of the analysis process is omitted.
 動作の概要について説明する。SCSI層203は、iSCSI層205へSCSIコマンドを送信する。SCSIコマンドの実行を終えると、iSCSI層205は、SCSI層203にSCSIコマンド完了通知を返信する。 Explain the outline of the operation. The SCSI layer 203 transmits a SCSI command to the iSCSI layer 205. When the execution of the SCSI command is finished, the iSCSI layer 205 returns a SCSI command completion notification to the SCSI layer 203.
 このとき、トレーサ215は、SCSIコマンドに関するトレース情報及びSCSIコマンド完了通知に関するトレース情報を取得する。トレーサ215は、SCSIコマンドに関するトレース情報とともに、TCPポート番号を取得する。更に、トレーサ215は、SCSIコマンド完了通知に関するトレース情報とともに、TCPポート番号を取得する。 At this time, the tracer 215 acquires trace information related to the SCSI command and trace information related to the SCSI command completion notification. The tracer 215 acquires the TCP port number together with the trace information related to the SCSI command. Further, the tracer 215 acquires the TCP port number together with the trace information related to the SCSI command completion notification.
 iSCSI層205は、SCSIコマンドの実行中に、PDUを生成し、TCP層207に送信する。更に、iSCSI層205は、SCSIコマンドの実行中に、TCP層207からPDUを受信する。 The iSCSI layer 205 generates a PDU and transmits it to the TCP layer 207 during execution of the SCSI command. Further, the iSCSI layer 205 receives a PDU from the TCP layer 207 during execution of the SCSI command.
 トレーサ215は、送信するPDU(以下、「送信PDU」という。)に関するトレース情報及び受信されたPDU(以下、「受信PDU」という。)に関するトレース情報を取得する。トレーサ215は、送信PDUに関するトレース情報とともに、TCPポート番号を取得する。更に、トレーサ215は、受信PDUに関するトレース情報とともに、TCPポート番号を取得する。 The tracer 215 obtains trace information regarding a PDU to be transmitted (hereinafter referred to as “transmission PDU”) and trace information regarding a received PDU (hereinafter referred to as “reception PDU”). The tracer 215 acquires the TCP port number together with the trace information regarding the transmission PDU. Furthermore, the tracer 215 acquires the TCP port number together with the trace information regarding the received PDU.
 トレーサ215は、ドライバ層211からTCPパケットに関するトレース情報を取得する。トレーサ215は、トレース情報をトレース情報格納部217に格納させる。具体的には、トレーサ215は、SCSIコマンドに関するトレース情報とTCPポート番号、SCSIコマンド完了通知に関するトレース情報とTCPポート番号、送信PDUに関するトレース情報とTCPポート番号、受信PDUに関するトレース情報とTCPポート番号、及びTCPパケットに関するトレース情報を、トレース情報格納部217に格納させる。このとき、トレーサ215は、上述の各情報を取得した時刻も併せてトレース情報格納部217に格納させる。 The tracer 215 acquires trace information regarding the TCP packet from the driver layer 211. The tracer 215 stores the trace information in the trace information storage unit 217. Specifically, the tracer 215 includes trace information and a TCP port number related to a SCSI command, trace information and a TCP port number related to a SCSI command completion notification, trace information and a TCP port number related to a transmission PDU, and trace information and a TCP port number related to a reception PDU. And trace information related to TCP packets are stored in the trace information storage unit 217. At this time, the tracer 215 causes the trace information storage unit 217 to store the time at which the above-described information is acquired.
 変換部219は、TCPポート番号毎に、SCSIコマンドに関するトレース情報、SCSIコマンド完了通知に関するトレース情報、送信PDUに関するトレース情報、受信PDUに関するトレース情報、及びTCPパケットに関するトレース情報を抽出し、時刻順にソートする。出力部221は、変換部219で変換されたトレース情報を出力する。 The conversion unit 219 extracts, for each TCP port number, trace information about the SCSI command, trace information about the SCSI command completion notification, trace information about the transmission PDU, trace information about the received PDU, and trace information about the TCP packet, and sorts them in time order. To do. The output unit 221 outputs the trace information converted by the conversion unit 219.
 解析部223は、トレース情報を解析する。解析部223は、例えば変換部219で変換されたトレース情報を解析する。出力部221は、解析部223による解析結果を出力するようにしてもよい。 The analysis unit 223 analyzes the trace information. For example, the analysis unit 223 analyzes the trace information converted by the conversion unit 219. The output unit 221 may output the analysis result obtained by the analysis unit 223.
 図3に、変換されたトレース情報の例を示す。この例では、主にTCPポート番号が「P01」であるトレース情報の例を示している。第3列には、TCPパケットに関するトレース情報が示されている。第4列には、送信PDUに関するトレース情報及び受信PDUに関するトレース情報が示されている。第5列には、SCSIコマンドに関するトレース情報及びSCSIコマンド完了通知に関するトレース情報が示されている。この例では、第3列乃至第5列に分けてトレース情報を示したが、列に分けないようにしてもよい。 Figure 3 shows an example of converted trace information. This example mainly shows an example of trace information whose TCP port number is “P01”. The third column shows trace information regarding the TCP packet. The fourth column shows trace information related to the transmission PDU and trace information related to the reception PDU. The fifth column shows trace information related to the SCSI command and trace information related to the SCSI command completion notification. In this example, the trace information is shown divided into the third column to the fifth column. However, the trace information may not be divided into columns.
 このように、同一のTCPポート番号であることを条件とすることによって、同一のコネクションに係るトレース情報を収集することができる。 In this way, trace information relating to the same connection can be collected on condition that the same TCP port number is used.
 また、トレース情報は、取得時刻をキーとして昇順に並べられている。この例では、時刻「T01」に取得した「SCSIコマンド01」に関するトレース情報と時刻「T10」に取得した「SCSIコマンド01の完了通知」に関するトレース情報との間には、時刻「T02」に取得した「送信PDU01」に関するトレース情報と、時刻「T05」に取得した「受信PDU02」に関するトレース情報と、時刻「T06」に取得した「送信PDU03」に関するトレース情報と、時刻「T09」に取得した「受信PDU04」に関するトレース情報とが含まれている。 Also, the trace information is arranged in ascending order using the acquisition time as a key. In this example, the trace information related to “SCSI command 01” acquired at time “T01” and the trace information related to “completion notification of SCSI command 01” acquired at time “T10” are acquired at time “T02”. The trace information related to “Transmission PDU01”, the trace information related to “Reception PDU02” acquired at time “T05”, the trace information related to “Transmission PDU03” acquired at time “T06”, and the “Trace information acquired at time“ T09 ”. And trace information related to “Reception PDU04”.
 更に、時刻「T02」に取得した「送信PDU01」に関するトレース情報と時刻「T05」に取得した「受信PDU02」に関するトレース情報との間には、時刻「T03」に取得した「パケット01」に関するトレース情報と、時刻「T04」に取得した「パケット02」に関するトレース情報とが含まれている。 Further, between the trace information regarding “transmission PDU01” acquired at time “T02” and the trace information regarding “reception PDU02” acquired at time “T05”, the trace regarding “packet 01” acquired at time “T03”. Information and trace information related to “packet 02” acquired at time “T04”.
 また、時刻「T06」に取得した「送信PDU03」に関するトレース情報と時刻「T09」に取得した「受信PDU04」に関するトレース情報との間には、時刻「T07」に取得した「パケット11」に関するトレース情報と、時刻「T08」に取得した「パケット12」に関するトレース情報とが含まれている。 Further, between the trace information regarding “transmission PDU03” acquired at time “T06” and the trace information regarding “reception PDU04” acquired at time “T09”, the trace regarding “packet 11” acquired at time “T07”. Information and trace information related to “packet 12” acquired at time “T08”.
 次に、トレーサ215の起動について説明する。図4に、トレーサ215の起動に関わる構成の例を示す。iSCSI層205は、SCSIコマンド受付部401、PDU送信部403、PDU受信部405、完了通知返信部407及び制御部409を含んでいる。SCSIコマンド受付部401は、SCSI層203からSCSIコマンドを受け付ける。PDU送信部403は、TCP層207へPDUを送信する。PDU受信部405は、TCP層207からPDUを受信する。完了通知返信部407は、SCSI層203へSCSIコマンドの完了通知を返信する。制御部409は、iSCSI層205の動作を制御する。 Next, activation of the tracer 215 will be described. FIG. 4 shows an example of the configuration related to the activation of the tracer 215. The iSCSI layer 205 includes a SCSI command reception unit 401, a PDU transmission unit 403, a PDU reception unit 405, a completion notification reply unit 407, and a control unit 409. The SCSI command receiving unit 401 receives a SCSI command from the SCSI layer 203. The PDU transmission unit 403 transmits the PDU to the TCP layer 207. The PDU receiving unit 405 receives a PDU from the TCP layer 207. The completion notification reply unit 407 returns a SCSI command completion notification to the SCSI layer 203. The control unit 409 controls the operation of the iSCSI layer 205.
 トレーサ215は、書き換え部411、確保部413、SCSIコマンド記録部421、PDU送信記録部423、PDU受信記録部425、完了通知記録部427及びポート番号確保部429を含んでいる。書き換え部411は、iSCSI層205を実現するプログラムの一部と、トレーサ215を実現するプログラムの一部とを書き換える。この書き換えによって、iSCSI層205の動作に応じて、トレーサ215がトレース情報を収集するようになる。書き換え部411の動作については、図5乃至図8を用いて後述する。 The tracer 215 includes a rewriting unit 411, a securing unit 413, a SCSI command recording unit 421, a PDU transmission recording unit 423, a PDU reception recording unit 425, a completion notification recording unit 427, and a port number securing unit 429. The rewriting unit 411 rewrites a part of the program that realizes the iSCSI layer 205 and a part of the program that realizes the tracer 215. With this rewriting, the tracer 215 collects trace information in accordance with the operation of the iSCSI layer 205. The operation of the rewriting unit 411 will be described later with reference to FIGS.
 確保部413は、トレース情報格納部217となる記憶領域を確保する。SCSIコマンド記録部421は、SCSI層203から受け付けたSCSIコマンドに関するトレース情報を記録する。PDU送信記録部423は、送信PDUに関するトレース情報を記録する。PDU受信記録部425は、受信PDUに関するトレース情報を記録する。完了通知記録部427は、SCSI層203へ返信するSCSIコマンドの完了通知に関するトレース情報を記録する。ポート番号確保部429は、TCPポート番号を確保する。 The securing unit 413 secures a storage area to be the trace information storage unit 217. The SCSI command recording unit 421 records trace information related to the SCSI command received from the SCSI layer 203. The PDU transmission recording unit 423 records trace information regarding the transmission PDU. The PDU reception recording unit 425 records trace information regarding the received PDU. The completion notification recording unit 427 records trace information related to the completion notification of the SCSI command returned to the SCSI layer 203. The port number securing unit 429 secures a TCP port number.
 次に、書き換え部411による初期設定について説明する。具体的には、トレーサ215によるデータ採取ポイントの設定を行う。 Next, the initial setting by the rewriting unit 411 will be described. Specifically, the data collection point is set by the tracer 215.
 まず、SCSIコマンド受付に関わる初期設定について説明する。図5に、SCSIコマンド受付に関わる初期設定の概要を示す。プログラム501に、iSCSI層205に含まれるSCSIコマンド受付部401を実現するSCSIコマンド受付関数を示す。プログラム501は、書き換え前の実行形式のプログラムである。但し、図5では便宜的にソース形式のプログラムの例を示している。 First, the initial setting related to SCSI command reception will be described. FIG. 5 shows an overview of the initial settings related to SCSI command reception. The program 501 shows a SCSI command reception function that implements the SCSI command reception unit 401 included in the iSCSI layer 205. The program 501 is an executable program before rewriting. However, FIG. 5 shows an example of a source format program for convenience.
 SCSIコマンド受付関数に入力されるパラメータは、SCSIパケット構造体のアドレスである。図5の説明において、SCSIコマンド受付関数の最初にプログラミングされている命令を第1命令といい、次にプログラミングされている命令を第2命令という。 The parameter input to the SCSI command reception function is the address of the SCSI packet structure. In the description of FIG. 5, the first programmed instruction of the SCSI command reception function is referred to as a first instruction, and the next programmed instruction is referred to as a second instruction.
 プログラム511は、トレーサ215に含まれるSCSIコマンド記録部421を実現するSCSIコマンド記録の処理ルーチンを示す。プログラム511は、書き換え前の実行形式のプログラムである。但し、図5では便宜的にソース形式のプログラムの例を示している。 The program 511 indicates a SCSI command recording processing routine for realizing the SCSI command recording unit 421 included in the tracer 215. The program 511 is an executable program before rewriting. However, FIG. 5 shows an example of a source format program for convenience.
 SCSIコマンド記録の処理ルーチンには、順にアドレス取得処理の命令コード、コマンド取得処理の命令コード、ハンドル取得処理の命令コード、ポート番号取得処理の命令コード及び対応付け処理の命令コードが含まれている。更に、実行を伴わないnopコードが、2つ含まれている。 The SCSI command recording processing routine includes, in order, an instruction code for address acquisition processing, an instruction code for command acquisition processing, an instruction code for handle acquisition processing, an instruction code for port number acquisition processing, and an instruction code for association processing. . Furthermore, two nop codes that do not involve execution are included.
 書き換え部411によってプログラム501の一部が書き換えられ、SCSIコマンド受付関数はプログラム503に示した状態となる。具体的には、SCSIコマンド受付関数にプログラミングされていた第1命令のコードが、SCSIコマンド記録へのジャンプを指示するコードに書き換えられる。 A part of the program 501 is rewritten by the rewriting unit 411, and the SCSI command reception function is in the state shown in the program 503. Specifically, the code of the first instruction programmed in the SCSI command reception function is rewritten to a code instructing a jump to SCSI command recording.
 また、書き換え部411によってプログラム511の一部が書き換えられ、SCSIコマンド記録の処理ルーチンはプログラム513に示した状態となる。 Further, a part of the program 511 is rewritten by the rewriting unit 411, and the SCSI command recording processing routine is in the state shown in the program 513.
 1行目のnopコードが、SCSIコマンド受付関数にプログラミングされていた第1命令のコードに書き換えられる。2行目のnopコードが、SCSIコマンド受付関数にプログラミングされている第2命令へのジャンプを指示するコードに書き換えられる。 The nop code on the first line is rewritten with the code of the first instruction programmed in the SCSI command reception function. The nop code on the second line is rewritten with a code for instructing a jump to the second instruction programmed in the SCSI command reception function.
 書き換え後において、プログラム503に示したSCSIコマンド受付関数が呼び出されると、プログラム513に示したSCSIコマンド記録へジャンプし、アドレス取得処理が実行される。更に、コマンド取得処理が実行され、ハンドル取得処理が実行され、ポート番号取得処理が実行され、対応付け処理が実行される。そして、第1命令による処理が実行され、第2命令へジャンプする。 After the rewriting, when the SCSI command reception function shown in the program 503 is called, jump to the SCSI command recording shown in the program 513 and the address acquisition process is executed. Further, command acquisition processing is executed, handle acquisition processing is executed, port number acquisition processing is executed, and association processing is executed. Then, processing by the first instruction is executed, and the process jumps to the second instruction.
 そして、プログラム503に示したSCSIコマンド受付関数の第2命令による処理が実行される。尚、SCSIコマンド記録の処理ルーチンにおける詳細については、図10と図11を用いて後述する。 Then, the process according to the second command of the SCSI command reception function shown in the program 503 is executed. Details of the SCSI command recording processing routine will be described later with reference to FIGS.
 次に、PDU送信に関わる初期設定について説明する。図6に、PDU送信に関わる初期設定の概要を示す。プログラム601に、iSCSI層205に含まれるPDU送信部403を実現するPDU送信関数を示す。プログラム601は、書き換え前の実行形式のプログラムである。但し、図6では便宜的にソース形式のプログラムの例を示している。 Next, initial settings related to PDU transmission will be described. FIG. 6 shows an overview of the initial settings related to PDU transmission. A program 601 shows a PDU transmission function for realizing the PDU transmission unit 403 included in the iSCSI layer 205. The program 601 is an executable program before rewriting. However, FIG. 6 shows an example of a source format program for convenience.
 PDU送信関数に入力されるパラメータは、TCPコネクションハンドルとPDUとである。図6の説明において、PDU送信関数の最初にプログラミングされている命令を第1命令といい、次にプログラミングされている命令を第2命令という。 The parameters input to the PDU transmission function are a TCP connection handle and a PDU. In the description of FIG. 6, the first programmed instruction of the PDU transmission function is referred to as a first instruction, and the next programmed instruction is referred to as a second instruction.
 プログラム611は、トレーサ215に含まれるPDU送信記録部423を実現するPDU送信記録の処理ルーチンを示している。プログラム611は、書き換え前の実行形式のプログラムである。但し、図6では便宜的にソース形式のプログラムの例を示している。 The program 611 shows a PDU transmission recording processing routine for realizing the PDU transmission recording unit 423 included in the tracer 215. The program 611 is an executable program before rewriting. However, FIG. 6 shows an example of a source format program for convenience.
 PDU送信記録の処理ルーチンには、順にハンドル取得処理の命令コード、PDU取得処理の命令コード、ポート番号取得処理の命令コード及び対応付け処理の命令コードが含まれている。更に、実行を伴わないnopコードが、2つ含まれている。 The processing routine for PDU transmission recording includes, in order, an instruction code for handle acquisition processing, an instruction code for PDU acquisition processing, an instruction code for port number acquisition processing, and an instruction code for association processing. Furthermore, two nop codes that do not involve execution are included.
 書き換え部411によってプログラム601の一部が書き換えられ、PDU送信関数はプログラム603に示した状態となる。具体的には、PDU送信関数にプログラミングされていた第1命令のコードが、PDU送信記録へのジャンプを指示するコードに書き換えられる。 A part of the program 601 is rewritten by the rewriting unit 411, and the PDU transmission function is in the state shown in the program 603. Specifically, the code of the first instruction programmed in the PDU transmission function is rewritten with a code instructing a jump to the PDU transmission record.
 また、書き換え部411によってプログラム611の一部が書き換えられ、PDU送信記録の処理ルーチンはプログラム613に示した状態となる。 Further, a part of the program 611 is rewritten by the rewriting unit 411, and the processing routine for PDU transmission recording is in the state shown in the program 613.
 1行目のnopコードが、PDU送信関数にプログラミングされていた第1命令のコードに書き換えられる。2行目のnopコードが、PDU送信関数にプログラミングされている第2命令へのジャンプを指示するコードに書き換えられる。 The nop code on the first line is rewritten with the code of the first instruction programmed in the PDU transmission function. The nop code on the second line is rewritten with a code that instructs a jump to the second instruction programmed in the PDU transmission function.
 書き換え後において、プログラム603に示したPDU送信関数が呼び出されると、まず、プログラム613に示したPDU送信記録へジャンプし、ハンドル取得処理が実行される。更に、PDU取得処理が実行され、ポート番号取得処理が実行され、対応付け処理が実行される。 After the rewriting, when the PDU transmission function shown in the program 603 is called, first, the process jumps to the PDU transmission record shown in the program 613, and the handle acquisition process is executed. Furthermore, a PDU acquisition process is executed, a port number acquisition process is executed, and an association process is executed.
 更に、第1命令による処理が実行され、第2命令へジャンプする。そして、プログラム603に示したPDU送信関数の第2命令による処理が実行される。尚、PDU送信記録の処理ルーチンにおける詳細については、図12と図13を用いて後述する。 Furthermore, processing by the first instruction is executed, and the process jumps to the second instruction. Then, processing according to the second command of the PDU transmission function shown in the program 603 is executed. Details of the processing routine for PDU transmission recording will be described later with reference to FIGS.
 次に、PDU受信に関わる初期設定について説明する。図7に、PDU受信に関わる初期設定の概要を示す。プログラム701は、iSCSI層205に含まれる制御部409を実現する制御処理ルーチンを示している。プログラム701において、PDU受信関数の呼び出しに続く命令を第3命令という。 Next, initial settings related to PDU reception will be described. FIG. 7 shows an overview of the initial settings related to PDU reception. A program 701 shows a control processing routine for realizing the control unit 409 included in the iSCSI layer 205. In the program 701, an instruction following the call of the PDU reception function is referred to as a third instruction.
 プログラム703に、iSCSI層205に含まれるPDU受信部405を実現するPDU受信関数を示す。プログラム703は、書き換え前の実行形式のプログラムである。但し、図7では便宜的にソース形式のプログラムの例を示している。 The program 703 shows a PDU reception function for realizing the PDU reception unit 405 included in the iSCSI layer 205. The program 703 is an executable program before rewriting. However, FIG. 7 shows an example of a source format program for convenience.
 PDU受信関数に入力されるパラメータは、TCPコネクションハンドルとPDU格納領域のアドレスとである。図7の説明において、PDU受信関数の最初にプログラミングされている命令を第1命令といい、次にプログラミングされている命令を第2命令という。また、PDU受信関数には、待機処理の命令コードと受信処理の命令コードとが含まれている。更に、PDU受信関数は、復帰のコードによって、プログラム701の第3命令に戻るようにプログラミングされている。 The parameters input to the PDU reception function are the TCP connection handle and the address of the PDU storage area. In the description of FIG. 7, the first programmed instruction of the PDU reception function is referred to as a first instruction, and the next programmed instruction is referred to as a second instruction. The PDU reception function includes an instruction code for standby processing and an instruction code for reception processing. Further, the PDU reception function is programmed to return to the third instruction of the program 701 by a return code.
 プログラム711に、トレーサ215に含まれるポート番号確保部429を実現するポート番号確保の処理ルーチンと、PDU受信記録部425を実現するPDU受信記録の処理ルーチンとを示す。プログラム711は、書き換え前の実行形式のプログラムである。但し、図7では便宜的にソース形式のプログラムの例を示している。ポート番号確保の処理ルーチンには、順にハンドル取得処理の命令コード、ポート番号取得処理の命令コード、保持処理の命令コードが含まれている。更に、実行を伴わないnopコードが、2つ含まれている。 The program 711 shows a port number securing processing routine for realizing the port number securing unit 429 included in the tracer 215 and a PDU receiving recording processing routine for realizing the PDU receiving recording unit 425. The program 711 is an executable program before rewriting. However, FIG. 7 shows an example of a source format program for convenience. The processing routine for securing the port number includes, in order, an instruction code for handle acquisition processing, an instruction code for port number acquisition processing, and an instruction code for holding processing. Furthermore, two nop codes that do not involve execution are included.
 PDU受信記録の処理ルーチンには、順にPDU取得処理の命令コード、ハンドル取得処理の命令コード、ポート番号特定処理の命令コード及び対応付け処理の命令コードが含まれている。更に、実行を伴わないnopコードが、1つ含まれている。 The processing routine for PDU reception recording includes, in order, an instruction code for PDU acquisition processing, an instruction code for handle acquisition processing, an instruction code for port number identification processing, and an instruction code for association processing. Furthermore, one nop code without execution is included.
 書き換え部411によってプログラム703の一部が書き換えられ、PDU受信関数はプログラム707に示した状態となる。 A part of the program 703 is rewritten by the rewriting unit 411, and the PDU reception function is in the state shown in the program 707.
 PDU受信関数にプログラミングされていた第1命令のコードが、ポート番号確保へのジャンプを指示するコードに書き換えられる。また、復帰のコードが、PDU受信記録へのジャンプを指示するコードに書き換えられる。 The code of the first instruction programmed in the PDU reception function is rewritten with a code instructing a jump to secure the port number. In addition, the return code is rewritten to a code for instructing a jump to PDU reception recording.
 また、書き換え部411によってプログラム711の一部が書き換えられ、ポート番号確保の処理ルーチン及びPDU受信記録の処理ルーチンはプログラム713に示した状態となる。 Also, a part of the program 711 is rewritten by the rewriting unit 411, and the port number securing processing routine and the PDU reception recording processing routine are in the state shown in the program 713.
 ポート番号確保の処理ルーチンにおいて、1行目のnopコードが、PDU受信関数にプログラミングされていた第1命令のコードに書き換えられる。2行目のnopコードが、PDU受信関数にプログラミングされている第2命令へのジャンプを指示するコードに書き換えられる。 In the processing routine for securing the port number, the nop code on the first line is rewritten with the code of the first instruction programmed in the PDU reception function. The nop code on the second line is rewritten with a code for instructing a jump to the second instruction programmed in the PDU reception function.
 PDU受信記録の処理ルーチンにおいて、nopコードが、制御処理ルーチンにプログラミングされている第3命令へのジャンプを指示するコードに書き換えられる。 In the processing routine for PDU reception recording, the nop code is rewritten with a code for instructing a jump to the third instruction programmed in the control processing routine.
 書き換え後において、プログラム701と同様のプログラム705から、プログラム707に示したPDU受信関数が呼び出されると、まず、プログラム713に示したポート番号確保へジャンプし、ハンドル取得処理が実行される。更に、ポート番号取得処理が実行され、保持処理が実行される。また、第1命令による処理が実行され、第2命令へジャンプする。 After the rewriting, when the PDU reception function shown in the program 707 is called from the program 705 similar to the program 701, first, the process jumps to securing the port number shown in the program 713 and the handle acquisition process is executed. Further, a port number acquisition process is executed, and a holding process is executed. Further, the processing by the first instruction is executed, and the process jumps to the second instruction.
 そして、PDU受信関数に含まれる待機処理と受信処理とが実行される。待機処理において、PDUを受信する状態になり、受信処理において、実際にPDUを受信する。 Then, standby processing and reception processing included in the PDU reception function are executed. In the standby process, the PDU is received. In the reception process, the PDU is actually received.
 PDU受信関数の最後に、プログラム713に示したPDU受信記録へジャンプし、PDU取得処理が実行される。更に、ハンドル取得処理が実行され、ポート番号特定処理が実行され、対応付け処理が実行される。そして、プログラム705に示した制御処理ルーチンの第3命令へジャンプする。尚、ポート番号確保の処理ルーチン及びPDU受信記録の処理ルーチンにおける詳細については、図14乃至図16を用いて後述する。 At the end of the PDU reception function, jump to the PDU reception record shown in the program 713, and the PDU acquisition process is executed. Furthermore, a handle acquisition process is executed, a port number specifying process is executed, and an association process is executed. Then, the process jumps to the third instruction of the control processing routine shown in the program 705. Details of the port number securing processing routine and the PDU reception recording processing routine will be described later with reference to FIGS.
 次に、完了通知返信に関わる初期設定について説明する。図8に、完了通知返信に関わる初期設定の概要を示す。プログラム801に、iSCSI層205に含まれる完了通知返信部407を実現する完了通知返信関数を示す。プログラム801は、書き換え前の実行形式のプログラムである。但し、図8では便宜的にソース形式のプログラムの例を示している。 Next, the initial settings related to the completion notification reply will be described. FIG. 8 shows an overview of the initial settings relating to the completion notification reply. The program 801 shows a completion notification reply function that implements the completion notice reply unit 407 included in the iSCSI layer 205. The program 801 is an executable program before rewriting. However, FIG. 8 shows an example of a source format program for convenience.
 完了通知返信関数に入力されるパラメータは、SCSIパケット構造体のアドレスである。図8の説明において、完了通知返信関数の最初にプログラミングされている命令を第1命令といい、次にプログラミングされている命令を第2命令という。 The parameter input to the completion notification reply function is the address of the SCSI packet structure. In the description of FIG. 8, the first programmed instruction of the completion notification reply function is referred to as a first instruction, and the next programmed instruction is referred to as a second instruction.
 プログラム811は、トレーサ215に含まれる完了通知記録部427を実現する完了通知記録の処理ルーチンを示している。プログラム811は、書き換え前の実行形式のプログラムである。但し、図8では便宜的にソース形式のプログラムの例を示している。 The program 811 shows a processing routine for completion notification recording that realizes the completion notification recording unit 427 included in the tracer 215. The program 811 is an executable program before rewriting. However, FIG. 8 shows an example of a source format program for convenience.
 完了通知記録の処理ルーチンには、順にアドレス取得処理の命令コード、完了通知取得処理の命令コード、ハンドル取得処理の命令コード、ポート番号特定処理の命令コード及び対応付け処理の命令コードが含まれている。更に、実行を伴わないnopコードが、2つ含まれている。 The completion notification recording processing routine includes, in order, an instruction code for address acquisition processing, an instruction code for completion notification acquisition processing, an instruction code for handle acquisition processing, an instruction code for port number identification processing, and an instruction code for association processing. Yes. Furthermore, two nop codes that do not involve execution are included.
 書き換え部411によってプログラム801の一部が書き換えられ、完了通知返信関数はプログラム803に示した状態となる。具体的には、完了通知返信関数にプログラミングされていた第1命令のコードが、完了通知記録へのジャンプを指示するコードに書き換えられる。 A part of the program 801 is rewritten by the rewriting unit 411, and the completion notification reply function is in the state shown in the program 803. Specifically, the code of the first instruction programmed in the completion notification reply function is rewritten to a code instructing a jump to the completion notification record.
 また、書き換え部411によってプログラム811の一部が書き換えられ、完了通知記録の処理ルーチンはプログラム813に示した状態となる。具体的には、1行目のnopコードが、完了通知返信関数にプログラミングされていた第1命令のコードに書き換えられる。2行目のnopコードが、完了通知返信関数にプログラミングされている第2命令へのジャンプを指示するコードに書き換えられる。 Further, a part of the program 811 is rewritten by the rewriting unit 411, and the processing routine for recording the completion notification is in the state shown in the program 813. Specifically, the nop code on the first line is rewritten to the code of the first instruction programmed in the completion notification reply function. The nop code in the second line is rewritten with a code that instructs a jump to the second instruction programmed in the completion notification reply function.
 書き換え後において、プログラム803に示した完了通知返信関数が呼び出されると、まず、プログラム813に示した完了通知記録へジャンプし、アドレス取得処理が実行される。更に、完了通知取得処理が実行され、ハンドル取得処理が実行され、ポート番号特定処理が実行され、対応付け処理が実行される。更に、第1命令による処理が実行され、第2命令へジャンプする。そして、プログラム803に示した完了通知返信関数の第2命令による処理が実行される。尚、完了通知記録の処理ルーチンにおける詳細については、図17と図18を用いて後述する。以上で、初期設定についての説明を終える。 After the rewriting, when the completion notification reply function shown in the program 803 is called, first, jump to the completion notification recording shown in the program 813 and the address acquisition process is executed. Further, a completion notification acquisition process is executed, a handle acquisition process is executed, a port number specifying process is executed, and an association process is executed. Further, the processing by the first instruction is executed, and the process jumps to the second instruction. Then, processing according to the second instruction of the completion notification reply function shown in the program 803 is executed. Details of the completion notification recording processing routine will be described later with reference to FIGS. 17 and 18. This completes the description of the initial setting.
 次に、iSCSIターゲット装置105をSCSIデバイスとして認識する動作について説明する。図9に、デバイス認識動作の概要を示す。iSCSI層205は、iSCSI設定部913によりSCSIデバイスを認識するように指示されると、TCP層207にTCPコネクションの生成を指示する。 Next, an operation for recognizing the iSCSI target device 105 as a SCSI device will be described. FIG. 9 shows an outline of the device recognition operation. When the iSCSI setting unit 913 instructs the iSCSI layer 205 to recognize the SCSI device, the iSCSI layer 205 instructs the TCP layer 207 to generate a TCP connection.
 TCP層207は、TCP層207が管理するメモリ領域に、TCPコネクション構造体903を生成する。TCPコネクション構造体903は、ローカル側TCPポート番号905とリモート側TCPポート番号907とを含んでいる。ローカル側TCPポート番号905には、コネクション毎に異なる番号が割り当てられる。リモート側TCPポート番号907には、iSCSIにおける固有の番号「3260」が設定される。TCPポート番号は、コネクション識別子の例である。 The TCP layer 207 generates a TCP connection structure 903 in the memory area managed by the TCP layer 207. The TCP connection structure 903 includes a local TCP port number 905 and a remote TCP port number 907. A different number is assigned to the local TCP port number 905 for each connection. In the remote TCP port number 907, a unique number “3260” in iSCSI is set. The TCP port number is an example of a connection identifier.
 TCP層207は、次にTCPコネクションを特定するためのTCPコネクションハンドル901を生成し、TCPコネクションハンドル901とTCPコネクション構造体903を、システム固有の方法で連携させる。TCPコネクションハンドル901は、TCP層207におけるコネクションを特定する情報である。 Next, the TCP layer 207 generates a TCP connection handle 901 for specifying a TCP connection, and links the TCP connection handle 901 and the TCP connection structure 903 in a system-specific manner. The TCP connection handle 901 is information for specifying a connection in the TCP layer 207.
 TCPコネクションハンドル901とTCPコネクション構造体903とを連携させる例を説明する。例えば、所定のオフセットにTCPコネクション構造体903のアドレスを格納する媒介の構造体を想定する。また、TCPコネクションハンドル901には、媒介の構造体の先頭アドレスが用いられるものとする。この場合、ローカル側TCPポート番号905を取得するには、TCPコネクションハンドル901に所定のオフセット加えたアドレスから、TCPコネクション構造体903のアドレスを読み取る。そして、TCPコネクション構造体903からローカル側TCPポート番号905を読み取る。尚、連携させる方法は、別の方法であってもよい。 An example in which the TCP connection handle 901 and the TCP connection structure 903 are linked will be described. For example, an intermediate structure that stores the address of the TCP connection structure 903 at a predetermined offset is assumed. The TCP connection handle 901 uses the leading address of the intermediate structure. In this case, in order to obtain the local TCP port number 905, the address of the TCP connection structure 903 is read from the address obtained by adding a predetermined offset to the TCP connection handle 901. The local TCP port number 905 is read from the TCP connection structure 903. In addition, another method may be sufficient as the method of making it cooperate.
 デバイス認識動作の説明に戻って、TCP層207は、iSCSI層205に、生成したTCPコネクションハンドルを渡す。iSCSI層205は、iSCSI層205が管理するメモリ領域に、iSCSIコネクション構造体909を生成し、生成したiSCSIコネクション構造体909にTCPコネクションハンドル911を格納する。そして、iSCSI層205は、SCSI層203にSCSIデバイスを認識したことを通知する。以上で、iSCSIターゲット装置105をSCSIデバイスとして認識する動作についての説明を終える。 Returning to the description of the device recognition operation, the TCP layer 207 passes the generated TCP connection handle to the iSCSI layer 205. The iSCSI layer 205 generates an iSCSI connection structure 909 in a memory area managed by the iSCSI layer 205, and stores a TCP connection handle 911 in the generated iSCSI connection structure 909. Then, the iSCSI layer 205 notifies the SCSI layer 203 that the SCSI device has been recognized. This is the end of the description of the operation for recognizing the iSCSI target device 105 as a SCSI device.
 次に、iSCSI層205でSCSIコマンドを受け付けた場合のトレース動作について説明する。図10に、SCSIコマンド受付に係るトレース動作の概要を示す。 Next, the trace operation when an iSCSI command is received by the iSCSI layer 205 will be described. FIG. 10 shows an outline of the trace operation related to SCSI command reception.
 SCSI層203は、SCSIコマンドをiSCSI層205に渡し、iSCSI層205に送信の準備を指示する。 The SCSI layer 203 passes the SCSI command to the iSCSI layer 205 and instructs the iSCSI layer 205 to prepare for transmission.
 iSCSI層205は、iSCSI層205が管理するメモリ領域にSCSIパケット構造体1001を生成し、SCSIパケット構造体1001にSCSIコマンドの内容を格納する。iSCSI層205は、このSCSIコマンドに対して使用するiSCSIコネクション構造体909を決定し、その先頭アドレスを、SCSIパケット構造体1001に格納する。つまり、SCSIパケット構造体1001からiSCSIコネクション構造体909をポイントする。そして、iSCSI層205は、SCSIパケット構造体1001のアドレスをSCSI層203に返信する。 The iSCSI layer 205 generates a SCSI packet structure 1001 in a memory area managed by the iSCSI layer 205, and stores the contents of the SCSI command in the SCSI packet structure 1001. The iSCSI layer 205 determines an iSCSI connection structure 909 to be used for this SCSI command, and stores the head address in the SCSI packet structure 1001. That is, the iSCSI packet structure 1001 points to the iSCSI connection structure 909. Then, the iSCSI layer 205 returns the address of the SCSI packet structure 1001 to the SCSI layer 203.
 SCSI層203は、iSCSI層205にSCSIパケット構造体1001のアドレスを用いて、SCSIコマンドの送信を指示する。この指示は、図5に示したSCSIコマンド受付関数の呼び出しに相当する。 The SCSI layer 203 instructs the iSCSI layer 205 to transmit a SCSI command using the address of the SCSI packet structure 1001. This instruction corresponds to calling the SCSI command reception function shown in FIG.
 この段階で、SCSIコマンド記録部421は、SCSIコマンド記録処理を開始する。図11に、SCSIコマンド記録処理フローの例を示す。尚、この処理は、図5に示したSCSIコマンド記録処理に相当する。 At this stage, the SCSI command recording unit 421 starts the SCSI command recording process. FIG. 11 shows an example of a SCSI command recording process flow. This process corresponds to the SCSI command recording process shown in FIG.
 アドレス取得部1011は、アドレス取得処理(S1101)において、SCSIコマンド受付部401からSCSIパケット構造体1001のアドレスを取得する。 The address acquisition unit 1011 acquires the address of the SCSI packet structure 1001 from the SCSI command reception unit 401 in the address acquisition process (S1101).
 コマンド取得部1013は、コマンド取得処理(S1103)において、SCSIパケット構造体1001に含まれるSCSIコマンド1003を読み取る。 The command acquisition unit 1013 reads the SCSI command 1003 included in the SCSI packet structure 1001 in the command acquisition process (S1103).
 ハンドル取得部1015は、ハンドル取得処理(S1105)において、SCSIパケット構造体1001に含まれるiSCSIコネクション構造体の先頭アドレス1005を読み取り、更にiSCSIコネクション構造体909に含まれるTCPコネクションハンドル911を読み取る。 In the handle acquisition process (S1105), the handle acquisition unit 1015 reads the start address 1005 of the iSCSI connection structure included in the SCSI packet structure 1001, and further reads the TCP connection handle 911 included in the iSCSI connection structure 909.
 ポート番号取得部1017は、ポート番号取得処理(S1107)において、TCPコネクションハンドル911に基づいてTCP層207内の連携を辿り、ローカル側TCPポート番号905を読み取る。 In the port number acquisition process (S1107), the port number acquisition unit 1017 follows the cooperation in the TCP layer 207 based on the TCP connection handle 911 and reads the local TCP port number 905.
 対応付け部1019は、対応付け処理(S1109)において、SCSIコマンドに関するトレース情報とローカル側TCPポート番号とを現在時刻とともに、トレース情報格納部217に対応付けて書き込む。 In the associating process (S1109), the associating unit 1019 writes the trace information related to the SCSI command and the local TCP port number together with the current time in the trace information storage unit 217.
 SCSIコマンド記録部421は、SCSIコマンド受付関数に含まれていた第1命令による処理を実行する(S1111)。 The SCSI command recording unit 421 executes processing according to the first command included in the SCSI command reception function (S1111).
 そして、図5のプログラム513に示したように、SCSIコマンド受付関数に含まれる第2命令にジャンプし、通常のSCSIコマンド受付関数の処理に復帰する。以上で、iSCSI層205でSCSIコマンドを受け付けた場合のトレース動作についての説明を終える。 Then, as shown in the program 513 in FIG. 5, the process jumps to the second instruction included in the SCSI command reception function and returns to the normal SCSI command reception function processing. This is the end of the description of the trace operation when the iSCSI command is received by the iSCSI layer 205.
 次に、iSCSI層205においてTCP層207へPDUを送信する場合のトレース動作について説明する。図12に、PDU送信に係るトレース動作の概要を示す。 Next, the trace operation when the PDU is transmitted to the TCP layer 207 in the iSCSI layer 205 will be described. FIG. 12 shows an outline of the trace operation related to PDU transmission.
 制御部409は、SCSIコマンド1003に従ってPDUを生成する。そして、制御部409は、PDU送信部403にTCPコネクションハンドルとPDUを渡し、PDUの送信を指示する。この指示は、図6に示したPDU送信関数の呼び出しに相当する。 The control unit 409 generates a PDU according to the SCSI command 1003. Then, the control unit 409 passes the TCP connection handle and PDU to the PDU transmission unit 403 and instructs transmission of the PDU. This instruction corresponds to calling the PDU transmission function shown in FIG.
 この段階で、PDU送信記録部423は、PDU送信記録処理を開始する。図13に、PDU送信記録処理フローの例を示す。尚、この処理は、図6に示したPDU送信記録処理に相当する。 At this stage, the PDU transmission recording unit 423 starts the PDU transmission recording process. FIG. 13 shows an example of a PDU transmission recording process flow. This process corresponds to the PDU transmission recording process shown in FIG.
 ハンドル取得部1015は、ハンドル取得処理(S1301)において、PDU送信部403からTCPコネクションハンドルを取得する。 The handle acquisition unit 1015 acquires a TCP connection handle from the PDU transmission unit 403 in the handle acquisition process (S1301).
 PDU取得部1211は、PDU取得処理(S1303)において、PDU送信部403から送信するPDUを取得する。 The PDU acquisition unit 1211 acquires the PDU to be transmitted from the PDU transmission unit 403 in the PDU acquisition process (S1303).
 ポート番号取得部1017は、ポート番号取得処理(S1305)において、TCPコネクションハンドル901に基づいてTCP層207内の連携を辿り、ローカル側TCPポート番号905を読み取る。 The port number acquisition unit 1017 follows the cooperation in the TCP layer 207 based on the TCP connection handle 901 and reads the local TCP port number 905 in the port number acquisition process (S1305).
 対応付け部1019は、対応付け処理(S1307)において、送信するPDUに関するトレース情報とローカル側TCPポート番号とを現在時刻とともに、トレース情報格納部217に対応付けて書き込む。 In the association process (S1307), the associating unit 1019 writes the trace information regarding the PDU to be transmitted and the local side TCP port number in association with the current time, in the trace information storage unit 217.
 PDU送信記録部423は、PDU送信関数に含まれていた第1命令による処理を実行する(S1309)。 The PDU transmission recording unit 423 executes processing according to the first command included in the PDU transmission function (S1309).
 最後に、図6のプログラム613に示したように、PDU送信関数に含まれる第2命令にジャンプし、通常のPDU送信関数の処理に復帰する。そして、PDU送信部403は、TCP層207にTCPコネクションハンドルとPDUを送信する。以上で、iSCSI層205においてTCP層207へPDUを送信する場合のトレース動作についての説明を終える。 Finally, as shown in the program 613 in FIG. 6, the process jumps to the second instruction included in the PDU transmission function, and returns to the normal PDU transmission function processing. Then, the PDU transmission unit 403 transmits a TCP connection handle and PDU to the TCP layer 207. This is the end of the description of the trace operation when the iSCSI layer 205 transmits a PDU to the TCP layer 207.
 次に、iSCSI層205においてTCP層207からPDUを受信する場合のトレース動作について説明する。図14に、PDU受信に係るトレース動作の概要を示す。 Next, the trace operation when the iSCSI layer 205 receives a PDU from the TCP layer 207 will be described. FIG. 14 shows an outline of the trace operation related to PDU reception.
 制御部409は、PDU受信部405にTCPコネクションハンドルとPDU格納領域1401のアドレスを渡し、PDUの受信を指示する。この指示は、図7に示したPDU受信関数の呼び出しに相当する。 The control unit 409 passes the TCP connection handle and the address of the PDU storage area 1401 to the PDU reception unit 405 and instructs reception of the PDU. This instruction corresponds to calling the PDU reception function shown in FIG.
 この段階で、ポート番号確保部429は、ポート番号確保処理を開始する。本実施の形態では、実際にPDUを受信する前に、TCPコネクションハンドル901に対応するローカル側TCPポート番号1415を確保する。図15に、ポート番号確保処理フローの例を示す。尚、この処理は、図7に示したポート番号確保処理に相当する。 At this stage, the port number securing unit 429 starts the port number securing process. In this embodiment, the local TCP port number 1415 corresponding to the TCP connection handle 901 is secured before actually receiving the PDU. FIG. 15 shows an example of a port number securing process flow. This process corresponds to the port number securing process shown in FIG.
 ハンドル取得部1015は、ハンドル取得処理(S1501)において、PDU受信部405からTCPコネクションハンドルを取得する。 The handle acquisition unit 1015 acquires a TCP connection handle from the PDU reception unit 405 in the handle acquisition process (S1501).
 ポート番号取得部1411は、ポート番号取得処理(S1503)において、TCPコネクションハンドル901に基づいてTCP層207内の連携を辿り、ローカル側TCPポート番号905を読み取る。 The port number acquisition unit 1411 follows the cooperation in the TCP layer 207 based on the TCP connection handle 901 and reads the local TCP port number 905 in the port number acquisition process (S1503).
 ポート番号確保部429は、保持処理(S1505)において、TCPコネクションハンドル1417とローカル側TCPポート番号1415とを対応付けて記憶部1413に記憶させる。TCPコネクションハンドル1417とローカル側TCPポート番号1415との組が、複数保持される状態となることもある。 The port number securing unit 429 stores the TCP connection handle 1417 and the local TCP port number 1415 in the storage unit 1413 in association with each other in the holding process (S1505). A plurality of pairs of the TCP connection handle 1417 and the local side TCP port number 1415 may be held.
 ポート番号確保部429は、PDU受信関数に含まれていた第1命令による処理を実行する(S1507)。 The port number securing unit 429 executes processing according to the first command included in the PDU reception function (S1507).
 図7のプログラム713に示したように、PDU受信関数に含まれる第2命令にジャンプし、通常のPDU受信関数の処理に復帰する。 As shown in the program 713 in FIG. 7, the process jumps to the second command included in the PDU reception function and returns to the normal PDU reception function processing.
 PDU受信部405は、待機処理を行う。PDU受信部405は、TCP層207の受信関数を呼び出す。これによって、PDU受信部405は、TCP層207にTCPコネクションハンドルを渡し、PDUの受信を待つ。この状態で、PDU受信部405は、受信処理によってTCP層207からデータを受信する。PDU受信部405は、受信したデータからPDUを生成し、生成したPDUをPDU格納領域1401に格納する。 The PDU receiving unit 405 performs standby processing. The PDU reception unit 405 calls the reception function of the TCP layer 207. As a result, the PDU receiving unit 405 passes the TCP connection handle to the TCP layer 207 and waits for the reception of the PDU. In this state, the PDU reception unit 405 receives data from the TCP layer 207 by reception processing. The PDU receiving unit 405 generates a PDU from the received data, and stores the generated PDU in the PDU storage area 1401.
 PDU受信部405による処理を終了する段階で、PDU受信記録部425は、PDU受信記録処理を開始する。図16に、PDU受信記録処理フローの例を示す。この処理は、図7に示したPDU受信記録処理に相当する。 At the stage where the processing by the PDU receiving unit 405 ends, the PDU reception recording unit 425 starts the PDU reception recording process. FIG. 16 shows an example of a PDU reception recording process flow. This process corresponds to the PDU reception recording process shown in FIG.
 PDU取得部1211は、PDU取得処理(S1601)において、受信されたPDUをPDU受信部405から取得する。 The PDU acquisition unit 1211 acquires the received PDU from the PDU reception unit 405 in the PDU acquisition process (S1601).
 ハンドル取得部1015は、ハンドル取得処理(S1603)において、PDU受信部405からTCPコネクションハンドルを取得する。 The handle acquisition unit 1015 acquires a TCP connection handle from the PDU reception unit 405 in the handle acquisition process (S1603).
 ポート番号特定部1419は、ポート番号特定処理(S1605)において、記憶部1413でTCPコネクションハンドル1417に対応付けられているローカル側TCPポート番号1415を特定する。 The port number specifying unit 1419 specifies the local TCP port number 1415 associated with the TCP connection handle 1417 in the storage unit 1413 in the port number specifying process (S1605).
 対応付け部1019は、対応付け処理(S1607)において、受信されたPDUに関するトレース情報とローカル側TCPポート番号1415とを現在時刻とともに、トレース情報格納部217に対応付けて書き込む。 In the association process (S1607), the associating unit 1019 writes the received trace information about the PDU and the local TCP port number 1415 together with the current time in the trace information storage unit 217.
 図7のプログラム713に示したように、制御処理に含まれる第3命令にジャンプし、通常の制御処理に復帰する。以上で、iSCSI層205においてTCP層207からPDUを受信する場合のトレース動作についての説明を終える。 As shown in the program 713 in FIG. 7, jump to the third instruction included in the control process and return to the normal control process. This is the end of the description of the trace operation when the iSCSI layer 205 receives a PDU from the TCP layer 207.
 次に、iSCSI層205でSCSIコマンド完了通知を返信する場合のトレース動作について説明する。図17に、完了通知返信に係るトレース動作の概要を示す。 Next, a description will be given of the trace operation when the iSCSI layer 205 returns a SCSI command completion notification. FIG. 17 shows an outline of the trace operation related to the completion notification reply.
 制御部409は、生成したPDUに対応するSCSIパケット構造体1001を探し出す。 制御部409は、PDUの内容に基づいてSCSIコマンド完了通知を生成し、SCSIコマンド完了通知をSCSIパケット構造体1001に格納する。制御部409は、完了通知返信部407にSCSIパケット構造体1001のアドレスを渡して、SCSIコマンド完了通知の返信を指示する。尚、この指示は、図8に示した完了通知返信関数の呼び出しに相当する。 The control unit 409 searches for a SCSI packet structure 1001 corresponding to the generated PDU. The control unit 409 generates a SCSI command completion notification based on the content of the PDU, and stores the SCSI command completion notification in the SCSI packet structure 1001. The control unit 409 passes the address of the SCSI packet structure 1001 to the completion notification reply unit 407 and instructs the SCSI command completion notification to be returned. This instruction corresponds to calling the completion notification reply function shown in FIG.
 この段階で、完了通知記録部427は、完了通知記録処理を開始する。図18に、完了通知記録処理フローの例を示す。尚、この処理は、図8に示した完了通知記録処理に相当する。 At this stage, the completion notification recording unit 427 starts the completion notification recording process. FIG. 18 shows an example of a completion notification recording process flow. This process corresponds to the completion notification recording process shown in FIG.
 アドレス取得部1011は、アドレス取得処理(S1801)において、完了通知返信部407からSCSIパケット構造体1001のアドレスを取得する。 The address acquisition unit 1011 acquires the address of the SCSI packet structure 1001 from the completion notification reply unit 407 in the address acquisition process (S1801).
 完了通知取得部1711は、完了通知取得処理(S1803)において、SCSIパケット構造体1001からSCSIコマンド完了通知1701を読み取る。 The completion notification acquisition unit 1711 reads the SCSI command completion notification 1701 from the SCSI packet structure 1001 in the completion notification acquisition process (S1803).
 ハンドル取得部1015は、ハンドル取得処理(S1805)において、SCSIパケット構造体1001に含まれるiSCSIコネクション構造体の先頭アドレス1005を読み取り、更に、iSCSIコネクション構造体909に含まれるTCPコネクションハンドル911を読み取る。 In the handle acquisition process (S1805), the handle acquisition unit 1015 reads the start address 1005 of the iSCSI connection structure included in the SCSI packet structure 1001, and further reads the TCP connection handle 911 included in the iSCSI connection structure 909.
 ポート番号特定部1713は、ポート番号特定処理(S1807)において、記憶部1413でTCPコネクションハンドル1417に対応付けられているローカル側TCPポート番号1415を特定する。 The port number specifying unit 1713 specifies the local TCP port number 1415 associated with the TCP connection handle 1417 in the storage unit 1413 in the port number specifying process (S1807).
 対応付け部1019は、対応付け処理(S1809)において、SCSIコマンド完了通知1701に関するトレース情報とローカル側TCPポート番号1415とを現在時刻とともに、トレース情報格納部217に対応付けて書き込む。 In the associating process (S1809), the associating unit 1019 writes the trace information related to the SCSI command completion notification 1701 and the local TCP port number 1415 together with the current time in association with the trace information storage unit 217.
 完了通知記録部427は、書き換え前の完了通知返信関数に含まれていた第1命令による処理を実行する(S1811)。 The completion notification recording unit 427 executes processing according to the first command included in the completion notification reply function before rewriting (S1811).
 図8のプログラム813に示したように、完了通知返信関数に含まれる第2命令にジャンプし、通常の完了通知返信関数の処理に復帰する。以上で、iSCSI層205でSCSIコマンド完了通知を返信する場合のトレース動作についての説明を終える。 As shown in the program 813 in FIG. 8, the process jumps to the second command included in the completion notification reply function and returns to the normal completion notification reply function processing. This is the end of the description of the trace operation when the iSCSI layer 205 returns a SCSI command completion notification.
 最後に、変換部219による変換処理について説明する。図19に、変換処理フローの例を示す。変換部219は、変換処理によって、図3に示したように、TCPポート番号毎に時刻順に並べたトレース情報を生成する。 Finally, the conversion process by the conversion unit 219 will be described. FIG. 19 shows an example of the conversion processing flow. The conversion unit 219 generates trace information arranged in order of time for each TCP port number as illustrated in FIG. 3 by the conversion process.
 変換部219は、未だ変換処理の対象となっていない未処理のTCPポート番号を1つ特定する(S1901)。特定されたTCPポート番号が、トレース情報を抽出するキーとなる。変換部219は、当該TCPポート番号を含むSCSIコマンドに関するトレース情報を抽出する(S1903)。変換部219は、当該TCPポート番号を含む送信PDUに関するトレース情報を抽出する(S1905)。変換部219は、当該TCPポート番号を含む受信PDUに関するトレース情報を抽出する(S1907)。変換部219は、当該TCPポート番号を含むSCSIコマンド完了通知1701に関するトレース情報を抽出する(S1909)。変換部219は、当該TCPポート番号を含むTCPパケットに関するトレース情報を抽出する(S1911)。そして、変換部219は、抽出したトレース情報群を時刻の降順にソートする(S1913)。以上で、当該TCPポート番号に関する処理が終わる。 The conversion unit 219 identifies one unprocessed TCP port number that has not yet been converted (S1901). The identified TCP port number is a key for extracting trace information. The conversion unit 219 extracts trace information related to the SCSI command including the TCP port number (S1903). The conversion unit 219 extracts trace information regarding the transmission PDU including the TCP port number (S1905). The conversion unit 219 extracts trace information regarding the received PDU including the TCP port number (S1907). The conversion unit 219 extracts trace information regarding the SCSI command completion notification 1701 including the TCP port number (S1909). The conversion unit 219 extracts trace information regarding the TCP packet including the TCP port number (S1911). Then, the conversion unit 219 sorts the extracted trace information group in descending order of time (S1913). This completes the processing related to the TCP port number.
 続いて、変換部219は、未処理のTCPポート番号があるか否かを判定する(S1915)。未処理のTCPポート番号があると判定した場合には、S1901に戻って変換処理を継続する。未処理のTCPポート番号がないと判定した場合には、変換処理を終了する。以上で、変換部219による変換処理についての説明を終える。 Subsequently, the conversion unit 219 determines whether there is an unprocessed TCP port number (S1915). If it is determined that there is an unprocessed TCP port number, the process returns to S1901 to continue the conversion process. If it is determined that there is no unprocessed TCP port number, the conversion process is terminated. Above, description about the conversion process by the conversion part 219 is finished.
 本実施の形態では、図2にマルチレイヤの例を示したが、他の通信レイヤの構成であってもよい。また、本実施の形態では、iSCSI層205をトレース対象とする例について説明したが、トレース対象はiSCSI層205に限られない。他のプロトコル層がトレース対象とされるようにしてもよい。更に、本実施の形態では、TCPポート番号によって、TCP層207のコネクションを特定する例を示したが、他のコネクション識別子によって、他のプロトコル層におけるコネクションを特定するようにしてもよい。 In the present embodiment, an example of a multi-layer is shown in FIG. 2, but a configuration of another communication layer may be used. In this embodiment, the example in which the iSCSI layer 205 is a trace target has been described, but the trace target is not limited to the iSCSI layer 205. Other protocol layers may be traced. Furthermore, in the present embodiment, an example in which the connection of the TCP layer 207 is specified by the TCP port number is shown, but a connection in another protocol layer may be specified by another connection identifier.
 本実施の形態によれば、iSCSI層205のトレース情報についてTCP層207のコネクションを特定できるようになる。これによって、例えば同一のTCPコネクションに係るiSCSI層205のトレース情報群を収集することに役立つ。更に、TCP層207のトレース情報からTCPポート番号を特定すれば、同一のコネクションに係るiSCSI層205のトレース情報とTCP層207のトレース情報の関係も特定できるようになる。 According to this embodiment, the connection of the TCP layer 207 can be specified for the trace information of the iSCSI layer 205. This is useful for collecting the trace information group of the iSCSI layer 205 related to the same TCP connection, for example. Further, if the TCP port number is specified from the trace information of the TCP layer 207, the relationship between the trace information of the iSCSI layer 205 and the trace information of the TCP layer 207 related to the same connection can be specified.
 また、iSCSI層205における通信処理の実行前にポート番号を取得するので、通信処理の実行後にコネクションがクローズされることによってポート番号を取得できない事態を回避できる。 Also, since the port number is acquired before the communication process in the iSCSI layer 205 is executed, it is possible to avoid a situation in which the port number cannot be acquired by closing the connection after the communication process is executed.
 また、TCPコネクションハンドルのようなコネクション特定情報に基づけば、トレース情報(SCSIコマンド、送信PDU、受信PDUあるいはSCSIコマンド完了通知など)からは直接特定できないTCPポート番号をTCP層207から取得できるようになる。 Further, based on connection identification information such as a TCP connection handle, a TCP port number that cannot be directly identified from trace information (such as a SCSI command, transmission PDU, reception PDU, or SCSI command completion notification) can be acquired from the TCP layer 207. Become.
 また、iSCSI層205における通信処理の実行前に取得した複数のTCPポート番号のうちから、TCPコネクションを特定するTCPポート番号を特定するので、通信処理の実行後にTCPコネクションがクローズされた場合でも、確実にTCPポート番号を特定できる。 In addition, since the TCP port number for specifying the TCP connection is specified from the plurality of TCP port numbers acquired before the execution of the communication process in the iSCSI layer 205, even when the TCP connection is closed after the execution of the communication process, The TCP port number can be specified reliably.
 通信処理の実行後にTCPコネクションがクローズされた場合でも、TCPコネクションハンドルのようなコネクション特定情報に基づいて実行時のTCPポート番号を特定することができる。 Even when the TCP connection is closed after execution of the communication process, the TCP port number at the time of execution can be specified based on the connection specifying information such as the TCP connection handle.
 例えばiSCSI層以上で発生した障害を解析する場合に、解析者が独自に採取情報を考え、試行錯誤を繰り返して、他のプロトコル層の情報を別々に収集するという作業の煩雑が解消されるようになる。また、障害原因の切り分けも容易になる。 For example, when analyzing a failure that has occurred in the iSCSI layer or higher, the complexity of the work of the analyst considering the collected information independently and repeating the trial and error to separately collect information of other protocol layers is eliminated. become. In addition, it becomes easy to isolate the cause of the failure.
 以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上述の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。 The embodiment of the present technology has been described above, but the present technology is not limited to this. For example, the functional block configuration described above may not match the actual program module configuration.
 また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。 Further, the configuration of each storage area described above is an example, and the configuration as described above is not necessarily required. Further, in the processing flow, the processing order can be changed if the processing result does not change. Further, it may be executed in parallel.
 なお、上で述べたホストマシン101は、コンピュータ装置であって、図20に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。 The host machine 101 described above is a computer device, and as shown in FIG. 20, a memory 2501, a CPU (Central Processing Unit) 2503, a hard disk drive (HDD: Hard Disk Drive) 2505, and a display device 2509. A display control unit 2507 connected to the computer, a drive device 2513 for a removable disk 2511, an input device 2515, and a communication control unit 2517 for connecting to a network are connected by a bus 2519. An operating system (OS: Operating System) and an application program for performing the processing in this embodiment are stored in the HDD 2505, and are read from the HDD 2505 to the memory 2501 when executed by the CPU 2503. The CPU 2503 controls the display control unit 2507, the communication control unit 2517, and the drive device 2513 according to the processing content of the application program, and performs a predetermined operation. Further, data in the middle of processing is mainly stored in the memory 2501, but may be stored in the HDD 2505. In an embodiment of the present technology, an application program for performing the above-described processing is stored in a computer-readable removable disk 2511 and distributed, and installed from the drive device 2513 to the HDD 2505. In some cases, the HDD 2505 may be installed via a network such as the Internet and the communication control unit 2517. Such a computer apparatus realizes various functions as described above by organically cooperating hardware such as the CPU 2503 and the memory 2501 described above and programs such as the OS and application programs. .
 以上述べた本実施の形態をまとめると、以下のようになる。 The above-described embodiment can be summarized as follows.
 本実施の形態に係るトレース方法は、上位通信プロトコルによる通信のための上位層と下位通信プロトコルによる通信のための下位層とにより通信を行う装置により実行されるトレース方法であって、上位層における通信処理の実行に関するトレース情報を取得する処理と、通信処理を実行する時の下位層のコネクションに係るコネクション識別子とトレース情報とを対応付ける処理とを含む。 The tracing method according to the present embodiment is a tracing method executed by a device that performs communication using an upper layer for communication using an upper communication protocol and a lower layer for communication using a lower communication protocol. A process of acquiring trace information related to the execution of the communication process, and a process of associating the connection identifier and the trace information related to the lower-layer connection at the time of executing the communication process.
 このようにすれば、関連のあるトレース情報群を特定しやすくなる。例えば同一のコネクションに係る上位層のトレース情報群を収集することに役立つ。更に、下位層のトレース情報からコネクション識別子を特定すれば、同一のコネクションに係る上位層のトレース情報と下位層のトレース情報の関係も特定できるようになる。 This makes it easy to identify related trace information groups. For example, it is useful for collecting trace information groups of upper layers related to the same connection. Furthermore, if the connection identifier is specified from the lower layer trace information, the relationship between the upper layer trace information and the lower layer trace information related to the same connection can be specified.
 更に、コネクション識別子は、ポート番号であってもよい。更に、トレース方法は、通信処理の実行前に、ポート番号を取得する取得処理を含むようにしてもよい。 Furthermore, the connection identifier may be a port number. Further, the trace method may include an acquisition process for acquiring a port number before the execution of the communication process.
 このようにすれば、通信処理の実行前にポート番号を取得するので、通信処理の実行後にコネクションがクローズされることによってポート番号を取得できない事態を回避できる。 In this way, since the port number is acquired before the execution of the communication process, it is possible to avoid the situation where the port number cannot be acquired by closing the connection after the execution of the communication process.
 更に、取得処理において、下位層におけるコネクション特定情報に基づいて、ポート番号を取得するようにしてもよい。 Further, in the acquisition process, the port number may be acquired based on the connection specifying information in the lower layer.
 このようにコネクションハンドルのようなコネクション特定情報に基づけば、トレース情報からは直接特定できないポート番号を下位層から取得できるようになる。 * Based on the connection identification information such as the connection handle in this way, the port number that cannot be identified directly from the trace information can be acquired from the lower layer.
 更に、コネクション識別子は、ポート番号であってもよい。更に、トレース方法は、通信処理の実行前に、下位層のコネクションに係るポート番号を取得し、取得された当該ポート番号を保持する処理を含むようにしてもよい。更に、トレース方法は、保持されている複数のポート番号のうちから、トレース情報と対応付けるべきポート番号を特定する特定処理を含むようにしてもよい。 Furthermore, the connection identifier may be a port number. Furthermore, the tracing method may include a process of acquiring a port number related to a lower layer connection and holding the acquired port number before executing the communication process. Furthermore, the trace method may include a specifying process for specifying a port number to be associated with the trace information from among the plurality of held port numbers.
 このようにすれば、通信処理の実行前に取得した複数のポート番号のうちから、コネクションを特定するポート番号を特定するので、通信処理の実行後にコネクションがクローズされた場合でも、確実にポート番号を特定できる。 In this way, the port number that identifies the connection is identified from the plurality of port numbers acquired before the execution of the communication process, so even if the connection is closed after the execution of the communication process, the port number is guaranteed Can be identified.
 更に、特定処理において、下位層におけるコネクション特定情報に基づいて、トレース情報と対応付けるべきポート番号を特定するようにしてもよい。 Further, in the specifying process, the port number to be associated with the trace information may be specified based on the connection specifying information in the lower layer.
 このようにすれば、通信処理の実行後にコネクションがクローズされた場合でも、コネクションハンドルのようなコネクション特定情報に基づいて実行時のポート番号を特定することができる。 In this way, even when the connection is closed after execution of the communication process, the port number at the time of execution can be specified based on the connection specifying information such as the connection handle.
 更に、上位層は、iSCSI層であってもよい。更に、下位層は、TCP層であってもよい。 Further, the upper layer may be an iSCSI layer. Further, the lower layer may be a TCP layer.
 このようにすれば、iSCSI層のトレース情報にTCPポート番号を対応付けることができる。 In this way, the TCP port number can be associated with the iSCSI layer trace information.
 更に、上位層は、iSCSI層であってもよい。更に、下位層は、TCP層であってもよい。更に、通信処理は、SCSI層からのコマンドの受付処理及びTCP層へのPDUの送信処理のうち少なくとも一方を含むようにしてもよい。 Further, the upper layer may be an iSCSI layer. Further, the lower layer may be a TCP layer. Furthermore, the communication process may include at least one of a command reception process from the SCSI layer and a PDU transmission process to the TCP layer.
 このようにすれば、SCSI層からのコマンドの受付処理又はTCP層へのPDUの送信処理の後に、TCPコネクションがクローズされた場合でも、TCPポート番号を取得することができる。 In this way, the TCP port number can be acquired even when the TCP connection is closed after the command reception process from the SCSI layer or the PDU transmission process to the TCP layer.
 更に、上位層は、iSCSI層であってもよい。更に、下位層は、TCP層であってもよい。更に、通信処理は、TCP層からのPDUの受信処理及びSCSI層へのコマンド完了通知の返信処理のうち少なくとも一方を含むようにしてもよい。 Further, the upper layer may be an iSCSI layer. Further, the lower layer may be a TCP layer. Furthermore, the communication process may include at least one of a PDU reception process from the TCP layer and a command completion notification return process to the SCSI layer.
 このようにすれば、TCP層からのPDUの受信処理又はSCSI層へのコマンド完了通知の返信処理の後に、TCPコネクションがクローズされた場合でも、TCPポート番号を確実に特定できる。 In this way, even if the TCP connection is closed after the PDU reception process from the TCP layer or the command completion notification reply process to the SCSI layer, the TCP port number can be reliably identified.
 なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD-ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。 It is possible to create a program for causing a computer to carry out the processing described above, such as a flexible disk, an optical disk such as a CD-ROM, a magneto-optical disk, a semiconductor memory (for example, ROM). Or a computer-readable storage medium such as a hard disk or a storage device. Note that data being processed is temporarily stored in a storage device such as a RAM.

Claims (10)

  1.  上位通信プロトコルによる通信のための上位層と下位通信プロトコルによる通信のための下位層とにより通信を行う装置により実行されるトレース方法であって、
     前記上位層における通信処理の実行に関するトレース情報を取得する処理と、
     前記通信処理を実行する時の前記下位層のコネクションに係るコネクション識別子と前記トレース情報とを対応付ける処理と
     を含むトレース方法。
    A trace method executed by a device that communicates with an upper layer for communication by an upper communication protocol and a lower layer for communication by a lower communication protocol,
    Processing for obtaining trace information relating to execution of communication processing in the upper layer;
    A trace method comprising: a process of associating a connection identifier related to the lower layer connection with the trace information when executing the communication process.
  2.  前記コネクション識別子は、ポート番号であり、
     更に、
     前記通信処理の実行前に、前記ポート番号を取得する取得処理
     を含む請求項1記載のトレース方法。
    The connection identifier is a port number;
    Furthermore,
    The trace method according to claim 1, further comprising an acquisition process of acquiring the port number before the execution of the communication process.
  3.  前記取得処理において、前記下位層におけるコネクション特定情報に基づいて、前記ポート番号を取得する
     請求項2記載のトレース方法。
    The tracing method according to claim 2, wherein, in the acquisition process, the port number is acquired based on connection specifying information in the lower layer.
  4.  前記コネクション識別子は、ポート番号であり、
     更に
     前記通信処理の実行前に、前記下位層のコネクションに係るポート番号を取得し、取得された当該ポート番号を保持する処理と、
     前記保持されている複数のポート番号のうちから、前記トレース情報と対応付けるべきポート番号を特定する特定処理と
     を含む請求項1記載のトレース方法。
    The connection identifier is a port number;
    Further, before the execution of the communication process, a process for acquiring a port number related to the lower layer connection and holding the acquired port number;
    The tracing method according to claim 1, further comprising: a specifying process for specifying a port number to be associated with the trace information from among the plurality of held port numbers.
  5.  前記特定処理において、前記下位層におけるコネクション特定情報に基づいて、前記トレース情報と対応付けるべきポート番号を特定する
     請求項4記載のトレース方法。
    The trace method according to claim 4, wherein, in the specifying process, a port number to be associated with the trace information is specified based on connection specifying information in the lower layer.
  6.  前記上位層は、iSCSI層であり、
     前記下位層は、TCP層である
     請求項1乃至5のいずれか1つ記載のトレース方法。
    The upper layer is an iSCSI layer;
    The trace method according to claim 1, wherein the lower layer is a TCP layer.
  7.  前記上位層は、iSCSI層であり、
     前記下位層は、TCP層であり、
     前記通信処理は、SCSI層からのコマンドの受付処理及び前記TCP層へのPDUの送信処理のうち少なくとも一方を含む
     請求項2又は3記載のトレース方法。
    The upper layer is an iSCSI layer;
    The lower layer is a TCP layer;
    The trace method according to claim 2, wherein the communication process includes at least one of a command reception process from a SCSI layer and a PDU transmission process to the TCP layer.
  8.  前記上位層は、iSCSI層であり、
     前記下位層は、TCP層であり、
     前記通信処理は、前記TCP層からのPDUの受信処理及びSCSI層へのコマンド完了通知の返信処理のうち少なくとも一方を含む
     請求項4又は5記載のトレース方法。
    The upper layer is an iSCSI layer;
    The lower layer is a TCP layer;
    The trace method according to claim 4, wherein the communication process includes at least one of a PDU reception process from the TCP layer and a command completion notification return process to the SCSI layer.
  9.  上位通信プロトコルによる通信のための上位層と下位通信プロトコルによる通信のための下位層とにより通信を行う装置に、
     前記上位層における通信処理の実行に関するトレース情報を取得する処理と、
     前記通信処理を実行する時の前記下位層のコネクションに係るコネクション識別子と前記トレース情報とを対応付ける処理と
     を実行させるためのプログラム。
    To the device that communicates with the upper layer for communication by the upper communication protocol and the lower layer for communication by the lower communication protocol,
    Processing for obtaining trace information relating to execution of communication processing in the upper layer;
    A program for executing a process of associating a connection identifier associated with the lower layer connection with the trace information when executing the communication process.
  10.  上位通信プロトコルによる通信のための上位層と下位通信プロトコルによる通信のための下位層とにより通信を行う情報処理装置であって、
     前記上位層における通信処理の実行に関するトレース情報を取得する取得部と、
     前記通信処理を実行する時の前記下位層のコネクションに係るコネクション識別子と前記トレース情報とを対応付ける対応付け部と
     を有する情報処理装置。
    An information processing apparatus that performs communication between an upper layer for communication using an upper communication protocol and a lower layer for communication using a lower communication protocol,
    An acquisition unit that acquires trace information related to execution of communication processing in the upper layer;
    An information processing apparatus comprising: an association unit that associates a connection identifier related to the lower layer connection with the trace information when executing the communication process.
PCT/JP2013/051295 2013-01-23 2013-01-23 Trace method, program, and information processing apparatus WO2014115264A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/051295 WO2014115264A1 (en) 2013-01-23 2013-01-23 Trace method, program, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/051295 WO2014115264A1 (en) 2013-01-23 2013-01-23 Trace method, program, and information processing apparatus

Publications (1)

Publication Number Publication Date
WO2014115264A1 true WO2014115264A1 (en) 2014-07-31

Family

ID=51227081

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/051295 WO2014115264A1 (en) 2013-01-23 2013-01-23 Trace method, program, and information processing apparatus

Country Status (1)

Country Link
WO (1) WO2014115264A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01274545A (en) * 1988-04-27 1989-11-02 Nippon Telegr & Teleph Corp <Ntt> Multi-layer tracer
JPH05314040A (en) * 1992-05-14 1993-11-26 Hitachi Ltd Tracing system
JPH0678021A (en) * 1992-05-21 1994-03-18 Nec Corp Transport protocol machine loading system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01274545A (en) * 1988-04-27 1989-11-02 Nippon Telegr & Teleph Corp <Ntt> Multi-layer tracer
JPH05314040A (en) * 1992-05-14 1993-11-26 Hitachi Ltd Tracing system
JPH0678021A (en) * 1992-05-21 1994-03-18 Nec Corp Transport protocol machine loading system

Similar Documents

Publication Publication Date Title
US8744668B2 (en) Automotive diagnostic server
CN102438173A (en) Method and system for remotely controlling set top box (STB)
CN105978979A (en) Abnormality diagnosis system and method for linux vehicle-mounted system
CN112652089A (en) Diagnostic method, vehicle, system, and storage medium
CN110595799A (en) Method, device, equipment and storage medium for testing unmanned vehicle
CN102426548B (en) Debugging method, debugger and debugging system for embedded system
Leno et al. Robidium: automated synthesis of robotic process automation scripts from UI logs
CN104899070B (en) Implementation method, system and the device of device command row
CN113591422B (en) System for generating test case flow information in chip verification and application
CN109962823B (en) Automatic testing system and method for network application scene
CN108289038A (en) Request tracing method, apparatus, computer equipment and storage medium
CN106789205A (en) Group of planes order operation method and system
WO2014115264A1 (en) Trace method, program, and information processing apparatus
CN112235296B (en) Medical image data acquisition method and system, electronic equipment and storage medium
KR101795895B1 (en) Interconnecting test systems and interconnecting test method
WO2012139329A1 (en) Upgrade method and device based on task template, batch upgrade system
US20090119055A1 (en) Automated Test System
JP4257364B2 (en) COMMUNICATION ERROR INFORMATION OUTPUT PROGRAM, COMMUNICATION ERROR INFORMATION OUTPUT METHOD, AND COMMUNICATION ERROR INFORMATION OUTPUT DEVICE
CN107330173B (en) Integrated circuit back end design automation system
KR101982308B1 (en) Apparatus and method for protocol modeling
CN106571957B (en) MVB dynamic configuration method and device
JP6097054B2 (en) Control system and control method
CN109165513A (en) Method for inspecting, device and the server of system configuration information
CN110855456A (en) Network change method and equipment
JP2014078126A (en) Remote log collection system for equipment and remote log collection method for equipment

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: 13872517

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: 13872517

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP