Abstract:
A packet processing method executed by a system including a first apparatus and a second apparatus, the first apparatus having a first processor and a plurality of interfaces and a second apparatus having a second processor and a plurality of third processors, the packet processing method includes receiving, by the first processor, a packet via an interface in the plurality of interfaces; storing identification information of the interface into the packet; transmitting the packet to the second apparatus; receiving, by the second processor, the packet transmitted from the first apparatus; selecting a processor from the plurality of third processors based on the identification information included in the received packet; and executing processing of the packet using the selected processor.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2016-028230, filed on Feb. 17, 2016, the entire contents of which are incorporated herein by reference. 
       FIELD 
       [0002]    The embodiments discussed herein are related to a packet processing method and a packet processing system. 
       BACKGROUND 
       [0003]      FIG. 18  is a diagram illustrating an example of a configuration of a conventional network monitoring system. As illustrated in  FIG. 18 , the network monitoring system includes terminal devices  1   a  to  1   e , base stations  2   a  to  2   c , networks  5   a  to  5   d , a quality monitoring system  8 , and a management system  9 . 
         [0004]    The terminal devices  1   a  to  1   e  are terminal devices used by users, each of which represents a mobile phone, a smartphone, a notebook personal computer (PC). In the following description, the terminal devices  1   a  to  1   e  are collectively denoted by the terminal device  1  as needed. 
         [0005]    The base stations  2   a  to  2   c  are facilities that relay communication between the terminal device  1  and a network. For instance, the base station  2   a  relays communication between the terminal devices  1   a ,  1   b  and the network  5   a . The base station  2   b  relays communication between the terminal devices  1   c ,  1   d  and the network  5   b . The base station  2   c  relays communication between the terminal device  1   e  and the network  5   b.    
         [0006]    The networks  5   a ,  5   b  are networks that have an exchange, TAPs  6   a  to  6   c , and others. Here, illustration of the exchange is omitted. An exchange included in the network  5   a  relays communication between the base station  2   a  and the network  5   d . An exchange in the network  5   b  relays communication between the base stations  2   b ,  2   c  and the network  5   d.    
         [0007]    The TAPs  6   a  to  6   c  are branching units. The TAPs  6   a  to  6   c  are units that perform mirroring on a packet flowing through a network, and that output the packet, which has undergone mirroring, to the quality monitoring system  8 . For instance, the TAP  6   a  outputs a packet flowing through the network  5   a  to a passive probe  7   a  of the quality monitoring system  8 . The TAPs  6   b ,  6   c  each output a packet flowing through the network  5   b  to a passive probe  7   b  of the quality monitoring system  8 . 
         [0008]    The network  5   c  is a network that includes a service node that manages the information of members. The network  5   d  is a network that represents an internet protocol (IP) router network or the like. For instance, terminal devices  1  mutually communicate via the networks  5   a ,  5   d ,  5   b.    
         [0009]    The quality monitoring system  8  has the passive probes  7   a ,  7   b  and a manager  8   a . In the following description, the passive probes  7   a ,  7   b  are collectively denoted by the passive probe  7  as needed. The passive probe  7  is an apparatus that captures packets flowing through a network via a TAP, and generates statistical information. For instance, the statistical information includes information regarding a packet loss rate per unit time and response times of packets. There are instances where the passive probe  7  is operated on a dedicated machine and instances where driver software or application software is installed to a general to purpose server and the passive probe  7  is operated on the server. 
         [0010]    For instance, the passive probe  7   a  obtains a packet from the TAP  6   a , and generates statistical information. The passive probe  7   b  obtains a packet from the TAPs  6   b ,  6   c , and generates statistical information. The passive probe  7  transmits generated statistical information to the manager  8   a.    
         [0011]    The manager  8   a  is an apparatus that receives statistical information from each passive probe  7 , and detects deterioration of a network based on the statistical information. The manager  8   a , when detecting a deterioration of a network based on the statistical information, transmits an alarm indicating the detail and occurrence location of the deterioration to an alarm management system  9   a.    
         [0012]    The management system  9  has the alarm management system  9   a . The alarm management system  9   a , when receiving an alarm, records information on the alarm. A maintenance person of the management system  9  checks the detail of the alarm, and takes recovery measures such as switching, resetting, and route changing of the relevant apparatuses in the network. As related art, for instance, Japanese Laid-open Patent Publication No. 9-261254 is disclosed. 
         [0013]    However, the conventional technology described above has a problem in that load distribution of predetermined processing for each packet may not be performed simply and efficiently. 
       SUMMARY 
       [0014]    According to an aspect of the invention, a packet processing method executed by a system including a first apparatus and a second apparatus, the first apparatus having a first processor and a plurality of interfaces and the second apparatus having a second processor and a plurality of third processors, the packet processing method includes receiving, by the first processor, a packet via an interface in the plurality of interfaces; storing identification information of the interface into the packet; transmitting the packet to the second apparatus; receiving, by the second processor, the packet transmitted from the first apparatus; selecting a processor from the plurality of third processors based on the identification information included in the received packet; and executing processing of the packet using the selected processor. 
         [0015]    The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. 
         [0016]    It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0017]      FIG. 1  is a diagram illustrating the configuration of a system according to a first embodiment; 
           [0018]      FIG. 2  is a diagram illustrating an example network; 
           [0019]      FIG. 3  is a functional block diagram illustrating the configuration of a physical tag assignment apparatus according to the first embodiment; 
           [0020]      FIG. 4  is a table illustrating an example data structure of assignment information; 
           [0021]      FIG. 5  is a diagram illustrating an example data structure of a packet before a physical tag is assigned; 
           [0022]      FIG. 6  is a diagram illustrating an example data structure of a packet after a physical tag is assigned; 
           [0023]      FIG. 7  is a functional block diagram illustrating the configuration of a quality monitoring apparatus according to the first embodiment; 
           [0024]      FIG. 8  is a table illustrating an example data structure of a load configuration file according to the first embodiment; 
           [0025]      FIG. 9  is a diagram for illustrating the processing of a packet distribution unit according to the first embodiment; 
           [0026]      FIG. 10  is a flowchart illustrating the processing steps performed by the physical tag assignment apparatus according to the first embodiment; 
           [0027]      FIG. 11  is a flowchart illustrating the processing steps performed by the quality monitoring apparatus according to the first embodiment; 
           [0028]      FIG. 12  is a diagram illustrating the configuration of a system according to a second embodiment; 
           [0029]      FIG. 13  is a functional block diagram illustrating the configuration of a quality monitoring apparatus according to the second embodiment; 
           [0030]      FIG. 14  is a table illustrating an example data structure of a load configuration file according to the second embodiment; 
           [0031]      FIG. 15  is a flowchart illustrating the processing steps performed by the quality monitoring apparatus according to the second embodiment; 
           [0032]      FIG. 16  is a diagram illustrating an example hardware configuration of a computer representing the physical tag assignment apparatus; 
           [0033]      FIG. 17  is a diagram illustrating an example hardware configuration of a computer representing the quality monitoring apparatus; 
           [0034]      FIG. 18  is a diagram illustrating an example configuration of a conventional network monitoring system; 
           [0035]      FIG. 19  is a functional block diagram illustrating the configuration of a passive probe in related art; 
           [0036]      FIG. 20  is a diagram for illustrating distribution to cores in related art; 
           [0037]      FIG. 21  is a diagram illustrating example L1, L2, L3 caches; and 
           [0038]      FIG. 22  is a diagram illustrating an example system in related art. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0039]    Hereinafter, an embodiment of a packet processing unit, a packet processing system, and a packet processing method disclosed by the present application will be described in detail with reference to the drawings. The present disclosure is not limited by the embodiments. 
       First Embodiment 
       [0040]    First, before the embodiment is described, an example configuration of the passive probe  7   a  illustrated as related art in  FIG. 18  will be described.  FIG. 19  is a functional block diagram illustrating the configuration of a passive probe in related art. As illustrated in  FIG. 19 , the passive probe  7   a  includes a network interface card (NIC) card  10 , a NIC driver  11 , a data receiving unit  12 , a packet distribution unit  13 , a protocol analysis units  14   a  to  14   c , session management units  15   a  to  15   c , quality evaluation units  16   a  to  16   c , a statistical unit  17 , and a higher level notification unit  18 . 
         [0041]    The protocol analysis unit  14   a , the session management unit  15   a , and the quality evaluation unit  16   a  are processed by a core  20   a . The protocol analysis unit  14   b , the session management unit  15   b , and the quality evaluation unit  16   b  are processed by a core  20   b . The protocol analysis unit  14   c , the session management unit  15   c , and the quality evaluation unit  16   c  are processed by a core  20   c . The cores  20   a  to  20   c  each represent a central processing unit (CPU) or the like. The passive probe  7   a  may have a core other than the cores  20   a  to  20   c.    
         [0042]    The NIC card  10  is an apparatus that receives a packet from the TAP  6   a . The NIC driver  11  is a processing unit that controls the NIC card  10 . The NIC driver  11  outputs a packet received from the TAP  6   a  to the data receiving unit  12 . 
         [0043]    The data receiving unit  12  is a processing unit that obtains a packet from the NIC driver  11 . Each time the data receiving unit  12  obtains a packet, the data receiving unit  12  outputs the packet to the packet distribution unit  13 . 
         [0044]    The packet distribution unit  13  is a processing unit that distributes a packet to the cores  20   a  to  20   c . The specific processing of the packet distribution unit  13  will be described later. 
         [0045]    The protocol analysis units  14   a  to  14   c  are processing units that refer to the information in the header/payload of the packet distributed by the packet distribution unit  13 , and extract information which is used for determining session management and statistical information. The protocol analysis units  14   a  to  14   c  output the information extracted from a packet to the session management units  15   a  to  15   c.    
         [0046]    The session management units  15   a  to  15   c  are processing units that perform resource management for state management of each session and holding statistical information, based on the information extracted from a packet by the protocol analysis units  14   a  to  14   c . The session management units  15   a  to  15   c  output the information obtained from the protocol analysis units  14   a  to  14   c  to the quality evaluation units  16   a  to  16   c.    
         [0047]    The quality evaluation units  16   a  to  16   c  are processing units that calculate statistical information per session managed by the session management units  15   a  to  15   c , based on the information extracted from a packet by the protocol analysis units  14   a  to  14   c . The quality evaluation units  16   a  to  16   c  output the statistical information to the statistical unit  17 . 
         [0048]    The statistical unit  17  is a processing unit that obtains statistical information from the quality evaluation units  16   a  to  16   c . The statistical unit  17  summarizes the statistical information in a certain cycle, and outputs the summarized statistical information to the higher level notification unit  18 . In the following description, the statistical information summarized in a certain cycle is denoted by the quality information as needed. 
         [0049]    The higher level notification unit  18  is a processing unit that transmits quality information to an external server such as the manager  8   a.    
         [0050]    Next, a method of distributing packets performed by the packet distribution unit  13  illustrated in  FIG. 19  will be described. As an example, a first distribution method, a second distribution method performed by the packet distribution unit  13  will be described. 
         [0051]    The first distribution method will be described. The packet distribution unit  13  assigns packets to the cores  20   a  to  20   c  in a round-robin fashion in accordance with the order of arrival packets. 
         [0052]    The second distribution method will be described. The packet distribution unit  13  determines a distribution destination by performing an operation using a specific hash function on a combination of address, port number, protocol number in an object packet to be processed. As an example of the packet distribution unit  13 , when packets are distributed to two cores by a distribution method based on 5-tuple-hash algorithm, for instance, the following processing is performed. The distribution method is such that a result of hash operation is determined by using all five pieces of information: the transmission source IP address (Src IP), the destination IP address (Dst IP), the protocol number (Protocol-number), the transmission source port number (Src Port) in a TCP/UDP header, and the destination port number (Dst Port) of an object packet to be processed. Then when the number of the result is even, the packet is outputted to the first core, and when the number of the result is odd, the packet is outputted to the second core. 
         [0053]      FIG. 20  is a diagram for illustrating distribution to cores in related art. For instance, the passive probe  7   a  performs distribution processing, and outputs a packet to one of the CPU #0 to CPU #6. For instance, the CPU #0 to CPU #2 correspond to the cores  20   a  to  20   c  of  FIG. 19 . The CPUs #3 to #6 correspond to cores not illustrated in  FIG. 19 . For instance, a driver of the NIC card  10  performs distribution processing. The distribution processing of  FIG. 20  corresponds to the processing performed by the packet distribution unit  13  illustrated in  FIG. 19 . 
         [0054]    For instance, the passive probe  7   a  calculates a hash value of a packet by the 5-tuple-hash algorithm. The passive probe  7   a  then outputs a packet with the same hash value to the same CPU. Since it is often the case that the above-mentioned five pieces of information of related packets are the same, the related packets may be assigned to the same CPU. Consequently, the related packets are stored in L2 cache on the same CPU, which enables high speed processing. 
         [0055]      FIG. 21  is a diagram illustrating example L1, L2, L3 caches. As illustrated in  FIG. 21 , the CPU #0 has L1 cache  30   a  and L2 cache  31   a , and is coupled to a bypass  32 . The CPU #1 has L1 cache  30   b  and L2 cache  31   b , and is coupled to the bypass  32 . The CPU #2 has L1 cache  30   c  and L2 cache  31   c , and is coupled to the bypass  32 . The CPU #3 has L1 cache  30   d  and L2 cache  31   d , and is coupled to the bypass  32 . 
         [0056]    For instance, when it is possible to process related packets in the L1 caches  30   a  to  30   d , the CPUs #0 to #3 achieve the highest processing. When it is not possible to store some of the packets in the L1 caches  30   a  to  30   d , the CPUs #0 to #3 stores the some packets in L2 caches  31   a  to  31   d  as much as possible. The CPUs #0 to #3 then perform processing on assigned packets. 
         [0057]    On a network to be monitored, at the start of communication, a session is first established by a control signal protocol, and user data flows in the session. When the communication is completed, the session is terminated. In the following description, a packet transmitted and received at the time of session establishment is denoted by a control plane (C-Plane) packet. Also, user data is denoted by a user plane (U-Plane) packet. 
         [0058]    For instance, in a voice service provided by a communication carrier, a C-Plane packet is transmitted and received based on a session initiation protocol (SIP), and a session is established. In the voice service, after a session is established, a U-Plane packet is transmitted and received based on a real-time transport protocol (RTP)/RTP control protocol (RTCP). In a conventional voice service, processing of establishment and termination of the session is repeatedly performed. 
         [0059]    The statistical information described above is evaluated per session. Thus, assignment of a C-Plane packet and a U-Plane packet in the same session to the same core allows efficient generation of statistical information. 
         [0060]    Here, the information for associating a C-Plane packet with a U-Plane packet is only obtained by an analysis up to the L7 layer and the IP addresses of a C-Plane packet and a U-Plane packet are often different even with the same session. Therefore, when a distribution destination is determined by calculation of a hash value from an IP address as in a conventional art, it is not possible to assign a C-Plane packet and a U-Plane packet in the same session to the same core. Thus, each core shares the information on a C-Plane packet and a U-Plane packet in the same session to generate statistical information, and consequently, processing by a single core is not possible and statistical information may not be efficiently generated. 
         [0061]    Incidentally, there is a technique for associating a C-Plane packet with a U-Plane packet by an analysis up to the L7 layer.  FIG. 22  is a diagram illustrating an example system in related art. As illustrated in  FIG. 22 , the system includes a capture driver  40 , L7 analysis processes  41   a  to  41   e , and a shared memory  42 . 
         [0062]    The capture driver  40  outputs a C-Plane packet and a U-Plane packet to one of the L7 analysis processes  41   a  to  41   e  based on the 5-tuple-hash algorithm. 
         [0063]    The L7 analysis processes  41   a  to  41   e  process a C-Plane packet and a U-Plane packet in the same session by separate L7 analysis processes. The L7 analysis processes  41   a  to  41   e  then store management information obtained from the L7 layer used for the association in the shared memory  42  by which all processes may be referenced. The L7 analysis processes  41   a  to  41   e  refer to the management information while performing exclusive control between the processes. The L7 analysis processes  41   a  to  41   e  then obtain the information stored in the memory on related C-Plane packet and U-Plane packet to generate statistical information. 
         [0064]    At this point, along with an increase in the data amount of C-Plane packets and U-Plane packets flowing through a network, or the number of sessions, a waiting time due to exclusive control increases, and it is not possible to calculate statistical information efficiently. 
         [0065]    An aspect of the present disclosure provides a packet processing unit, a packet processing system, and a packet processing method capable of performing load distribution of predetermined processing for each packet simply and efficiently. 
         [0066]    Next, we proceed to description of the present embodiments.  FIG. 1  is a diagram illustrating the configuration of a system according to a first embodiment. As illustrated in  FIG. 1 , the system includes terminal devices  1   a  to  1   d , base stations  2   a  and  2   b , physical tag assignment apparatuses  100   a ,  100   b , quality monitoring apparatuses  200   a ,  200   b , and a manager apparatus  300 . The physical tag assignment apparatuses  100   a ,  100   b  each represent an identification information assignment apparatus. The quality monitoring apparatuses  200   a ,  200   b  each represent a packet processing unit. 
         [0067]    The terminal devices  1   a  to  1   d  are terminal devices used by users, each of which represents a mobile phone, a smartphone, a notebook personal computer (PC). In the following description, the terminal devices  1   a  to  1   d  are collectively denoted by the terminal device  1  as needed. Although the terminal devices  1   a  to  1   d  are illustrated here, the system according to the first embodiment may have other terminal devices. 
         [0068]    The base stations  2   a ,  2   b  are apparatuses that relay communication between the terminal device  1  and a network. For instance, the base station  2   a  relays communication between the terminal devices  1   a ,  1   b  and a network  50   a . The base station  2   b  relays communication between the terminal devices  1   c ,  1   d  and a network  50   b . Although the base stations  2   a ,  2   b  are illustrated here, the system according to the first embodiment may have other base stations. 
         [0069]    The networks  50   a ,  50   b  are networks that have a monitoring node, TAP and others. The network  50   c  is a network that represents an internet protocol (IP) router network or the like. 
         [0070]    As an example, the network  50   a  will be described.  FIG. 2  is a diagram illustrating an example network. Description of the network  50   b  is omitted because it is the same as the description of the network  50   a.    
         [0071]    As illustrated in  FIG. 2 , the network  50   a  includes monitoring nodes  60   a  to  60   f , and TAPs  70   a  to  70   c . When a session is established between terminal devices  1 , the monitoring nodes  60   a  to  60   f  relay C-Plane packets and U-Plane packets transmitted and received between the session establishment and the session termination by the same set of monitoring nodes. In the following description, the monitoring nodes  60   a  to  60   f , and the monitoring nodes included in the network  50   b  are collectively denoted by the monitoring node  60  as needed. 
         [0072]    For instance, when a session is established between the terminal device  1   a  and the terminal device  1   c , the monitoring nodes  60   a ,  60   b  relay C-Plane packets and U-Plane packets transmitted and received between the terminal device  1   a  and the terminal device  1   c  during the time between the session establishment and the session termination. When a session is established between the terminal device  1   b  and the terminal device  1   d , the monitoring nodes  60   c ,  60   d  relay C-Plane packets and U-Plane packets transmitted and received between the terminal device  1   b  and the terminal device  1   d  during the time between the session establishment and the session termination. When a session is established between a terminal device  1  and a terminal device  1 , the monitoring nodes  60   e ,  60   f  relay C-Plane packets and U-Plane packets transmitted and received between the terminal devices  1  during the time between the session establishment and the session termination. 
         [0073]    The TAPs  70   a  to  70   c  are branching units, and perform mirroring on a packet that flows through the network  50   a . The TAPs  70   a  to  70   c  then output the packet, which has undergone mirroring, to the physical tag assignment apparatus  100   a . For instance, the TAP  70   a  performs mirroring on a packet which is transmitted and received between the monitoring node  60   a  and the monitoring node  60   b . The TAP  70   a  then outputs the packet, which has undergone mirroring, to the physical tag assignment apparatus  100   a . In other words, the TAP  70   a  duplicates a packet which flows from the monitoring node  60   a  to the monitoring node  60   b . The TAP  70   a  then outputs the duplicated packet to the physical tag assignment apparatus  100   a . The TAP  70   a  duplicates a packet which flows from the monitoring node  60   b  to the monitoring node  60   a . The TAP  70   a  then outputs the duplicated packet to the physical tag assignment apparatus  100   a . The TAP  70   b  performs mirroring on a packet which is transmitted and received between the monitoring node  60   c  and the monitoring node  60   d . The TAP  70   b  then outputs the packet, which has undergone mirroring, to the physical tag assignment apparatus  100   a . The TAP  70   c  performs mirroring on a packet which is transmitted and received between the monitoring node  60   e  and the monitoring node  60   f . The TAP  70   c  then outputs the packet, which has undergone mirroring, to the physical tag assignment apparatus  100   a . In the following description, the TAPs  70   a  to  70   c , the TAPs included in the network  50   b  are collectively denoted by the TAP  70  as needed. 
         [0074]    Returning to description of  FIG. 1 , the physical tag assignment apparatuses  100   a ,  100   b  are apparatuses that, when receiving a packet from the TAP  70 , assign a physical tag as packet identification information to the packet. The physical tag assignment apparatus  100   a  outputs the packet with an assigned physical tag to the quality monitoring apparatus  200   a . The physical tag assignment apparatus  100   b  outputs the packet with an assigned physical tag to the quality monitoring apparatus  200   b . In the following description, the physical tag assignment apparatuses  100   a ,  100   b  are collectively denoted by the physical tag assignment apparatus  100  as needed. 
         [0075]    The physical tag assignment apparatus  100  has a NIC card. The physical tag assignment apparatus  100  receives a packet branched from the TAP  70  via a NIC interface of the NIC card. The physical tag assignment apparatus  100  assigns an identifier to the packet as a physical tag, the identifier uniquely identifying the NIC interface of the NIC card via which the packet is received. As an example, the NIC interface is a physical port of the NIC card, and for instance, is a physical port corresponding to each of the TAP  70   a , TAP  70   b , TAP  70   c  in  FIG. 2 . The physical tag assignment apparatus  100  then assigns the identifier uniquely identifying the NIC interface of the NIC card to the received packet. 
         [0076]    The quality monitoring apparatuses  200   a ,  200   b  are apparatuses that generate statistical information based on packets obtained from the respective physical tag assignment apparatuses  100   a ,  100   b . The quality monitoring apparatuses  200   a ,  200   b  have multiple cores, and distribute packets to the cores and cause the cores to execute processing. The quality monitoring apparatuses  200   a ,  200   b  transmit the generated statistical information to the manager apparatus  300 . In the following description, the quality monitoring apparatuses  200   a ,  200   b  are collectively denoted by the quality monitoring apparatus  200  as needed. 
         [0077]    The quality monitoring apparatus  200  refers to a load configuration file that associates the identification information of a core that processes a packet with the identifier of a physical tag. The quality monitoring apparatus  200  then determines a core which is a distribution destination of a packet based on the load configuration file and the physical tag of the packet. This embodiment describes the case where the load configuration file is provided. However, instead of providing a load configuration file, it is also possible to calculate a physical tag value by a hash function and to automatically distribute a packet to a core based on the calculation result. 
         [0078]    The manager apparatus  300  is an apparatus that receives statistical information from the quality monitoring apparatus  200  and detects a deterioration of a network based on the received statistical information. The manager apparatus  300 , when detecting a deterioration of a network based on the statistical information, transmits an alarm indicating the detail and occurrence location of the deterioration to an alarm management system which is not illustrated. 
         [0079]    Next, an example configuration of the physical tag assignment apparatus  100   a  illustrated in  FIG. 1  will be described. The configuration of the physical tag assignment apparatus  100   b  is the same as the configuration of the physical tag assignment apparatus  100   a , and thus a description is omitted.  FIG. 3  is a functional block diagram illustrating the configuration of a physical tag assignment apparatus according to the first embodiment. As illustrated in  FIG. 3 , the physical tag assignment apparatus  100   a  has a NIC card  110 , a NIC driver  110   a , and a control unit  120 . 
         [0080]    The NIC card  110  is an apparatus that receives a packet from the TAP  70 . For instance, the NIC card  110  is coupled to the TAP  70   a  via a NIC interface eth 2  (physical port eth 2 ). The NIC card  110  is coupled to the TAP  70   b  via a NIC interface eth 3 . The NIC card  110  is coupled to the TAP  70   c  via a NIC interface eth 4 . 
         [0081]    The NIC driver  110   a  is a processing unit that controls the NIC card  110 . The NIC driver  110   a  outputs a packet received from the TAP  70  to the control unit  120 . 
         [0082]    The control unit  120  includes a data receiving unit  120   a , an assignment information storage  120   b , a physical tag assignment unit  120   c , and a data transmission unit  120   d . The control unit  120  represents an integrated apparatus such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). The control unit  120  represents, for instance, an electronic circuit such as a central processing unit (CPU) or a micro processing unit (MPU). 
         [0083]    The data receiving unit  120   a  is a processing unit that obtains a packet from the NIC driver  110   a . Each time the data receiving unit  120   a  receives a packet, the data receiving unit  120   a  outputs the packet to the physical tag assignment unit  120   c.    
         [0084]    The assignment information storage  120   b  is a storage that holds assignment information. The assignment information is information that defines an identifier which is assigned to a packet as a physical tag.  FIG. 4  is a table illustrating an example data structure of the assignment information. As illustrated in  FIG. 4 , the assignment information associates interface identification information with an identifier. The interface identification information is information that uniquely identifies a NIC interface. The identifier is an identifier that is assigned to a packet as a physical tag. 
         [0085]    For instance, an identifier “ 1001 ” is assigned to a packet which is received from the NIC interface which is identified by the interface identification information “eth 2 ”. An identifier “ 1002 ” is assigned to a packet which is received from the NIC interface which is identified by the interface identification information “eth 2 ”. An identifier “ 1003 ” is assigned to a packet which is received from the NIC interface which is identified by the interface identification information “eth 3 ”. That is, a packet transmitted and received between the monitoring node  60   a  and the monitoring node  60   b  in  FIG. 2  is received by the TAP  70   a  via the NIC card  110 . The packet is received at the corresponding interface (physical port) with the identification information eth 2  of the NIC card  110 . An identifier is then assigned to a packet transmitted and received between the monitoring node  60   a  and the monitoring node  60   b.    
         [0086]    The physical tag assignment unit  120   c  is a processing unit that assigns a physical tag to a packet based on the information on the NIC interface which has received the packet and the assignment information stored in the assignment information storage  120   b . The physical tag assignment unit  120   c  represents an identification information assignment unit. 
         [0087]    Here, the physical tag assignment unit  120   c  may obtain information on the NIC interface which has received the packet, in any manner. For instance, for each packet, the physical tag assignment unit  120   c  may obtain the information, from the NIC driver  110   a , on the NIC interface which has received the packet. Alternatively, from an operating system (OS) which manages each processing unit of the physical tag assignment apparatus  100   a , the physical tag assignment unit  120   c  may obtain the information on the NIC interface which has received the packet. 
         [0088]    The physical tag assignment unit  120   c , when obtaining a packet from the data receiving unit  120   a , compares the assignment information with the information on the NIC interface which has received the packet, and determines an identifier to be assigned to the packet. The physical tag assignment unit  120   c  assigns the determined identifier to the packet as a physical tag. The physical tag assignment unit  120   c  outputs the packet with an assigned physical tag to the data transmission unit  120   d . Each time obtaining a packet, the physical tag assignment unit  120   c  repeats the processing described above. 
         [0089]    Here, the data structure of a packet before a physical tag is assigned, and the data structure of a packet after a physical tag is assigned will be described.  FIG. 5  is a diagram illustrating an example data structure of a packet before a physical tag is assigned. As illustrated in  FIG. 5 , a packet  80  includes L7 layer  80   a , L4 layer  80   b , L3 layer  80   c , and L2 layer  80   d.    
         [0090]    The L7 layer  80   a  stores information regarding a session initiation protocol (SIP) or a real-time transport protocol (RTP). The L4 layer  80   b  stores information regarding a user datagram protocol (UDP) or a transmission control protocol (TCP). 
         [0091]    The L3 layer  80   c  stores information regarding an internet protocol version 4 (IPv4) header or an internet protocol version 6 (IPv6) header. The L2 layer  80   d  stores information regarding Ether header. 
         [0092]      FIG. 6  is a diagram illustrating an example data structure of a packet after a physical tag is assigned. As illustrated in  FIG. 6 , L7 the packet  80  includes L7 layer  80   a , L4 layer  80   b , L3 layer  80   c , L2 layer  80   d , physical tag  80   e , L3 layer  80   f , L2 layer  80   g . Among these, description of L7 layer  80   a , L4 layer  80   b , L3 layer  80   c , L2 layer  80   d  is the same as the description given with reference to  FIG. 5 . 
         [0093]    As described above, the physical tag  80   e  stores information on an identifier which is determined by the physical tag assignment unit  120   c . The L3 layer  80   f  stores information regarding IPv4 header or IPv6 header. The L2 layer  80   g  stores information regarding Ether header. 
         [0094]    Here, L3 layer  80   c  and L2 layer  80   d  originally included in the packet  80  includes information which is utilized when data communication is performed between terminal devices  1 . On the other hand, L3 layer  80   c  and L2 layer  80   d  include information which is utilized when data communication is performed between the physical tag assignment apparatus  100  and the quality monitoring apparatus  200 . The information on L3 layer  80   c  and L2 layer  80   d  of the packet  80  may be assigned by the physical tag assignment apparatus  120   c  or the data transmission unit  120   d  described later. 
         [0095]    The data transmission unit  120   d  is a processing unit that, when obtaining a packet with an assigned physical tag from the physical tag assignment unit  120   c , transmits the obtained packet to the quality monitoring apparatus  200 . The data transmission unit  120   d  is an example of a transmission unit. 
         [0096]    Next, an example configuration of the quality monitoring apparatus  200   a  illustrated in  FIG. 1  will be described. The configuration of the quality monitoring apparatus  200   b  is the same as the configuration of the quality monitoring apparatus  200   a , and thus a description is omitted.  FIG. 7  is a functional block diagram illustrating the configuration of the quality monitoring apparatus according to the first embodiment. As illustrated in  FIG. 7 , the quality monitoring apparatus  200   a  includes a NIC card  210 , a NIC driver  210   a , a storage  220 , a data receiving unit  231 , a physical tag analysis unit  232 , and a packet distribution unit  233 . The quality monitoring apparatus  200   a  includes protocol analysis units  234   a  to  234   c , session management units  235   a  to  235   c , and quality evaluation units  236   a  to  236   c.    
         [0097]    For instance, the protocol analysis unit  234   a , the session management unit  235   a , and the quality evaluation unit  236   a  are processed by the core  230   a . The protocol analysis unit  234   b , the session management unit  235   b , and the quality evaluation unit  236   b  are processed by the core  230   b . The protocol analysis unit  234   c , the session management unit  235   c , and the quality evaluation unit  236   c  are processed by the core  230   c . The cores  230   a  to  230   c  each represent an integrated apparatus such as an ASIC or an FPGA. The cores  230   a  to  230   c  each represent, for instance, an electronic circuit such as a CPU or an MPU. 
         [0098]    The NIC card  210  is an apparatus that receives a packet which is assigned a physical tag from the physical tag assignment apparatus  100   a . In following description regarding the quality monitoring apparatuses  200   a , a packet, which is assigned a physical tag from the physical tag assignment apparatus  100   a , is simply referred to as a packet. 
         [0099]    The NIC driver  210   a  is a processing unit that controls the NIC card  210 . The NIC driver  210   a  outputs a packet received from the physical tag assignment apparatus  100   a  to the data receiving unit  231 . 
         [0100]    The storage  220  includes a load configuration file  220   a . The storage  220  represents a semiconductor memory element such as a random access memory (RAM), a read only memory (ROM), a flash memory or a storage apparatus such as a hard disk drive (HDD). 
         [0101]    The load configuration file  220   a  is information that defines a core which is a distribution destination of a packet.  FIG. 8  is a table illustrating an example data structure of the load configuration file according to the first embodiment. As illustrated in  FIG. 8 , the load configuration file  220   a  associates each identifier with core identification information. The identifier is included in the physical tag of a packet. The core identification information is information that uniquely identifies the cores  230   a  to  230   c . This embodiment describes the case where the load configuration file is provided. However, instead of providing a load configuration file, it is also possible to calculate a physical tag value by a hash function and to automatically distribute a packet to a core based on the calculation result. 
         [0102]    In  FIG. 8 , when the identifier assigned to a packet is “ 1001 ”, the packet is distributed to the “core  230   a ”. When the identifier assigned to a packet is “ 1002 ”, the packet is distributed to the “core  230   b ”. When the identifier assigned to a packet is “ 1003 ”, the packet is distributed to the “core  230   c”.    
         [0103]    The data receiving unit  231  is a processing unit that obtains a packet from the NIC driver  210   a . The data receiving unit  231  outputs the obtained packet to the physical tag analysis unit  232 . 
         [0104]    The physical tag analysis unit  232  is a processing unit that refers to a physical tag inserted in the header of a packet, and determines an identifier set to the physical tag. The physical tag analysis unit  232  outputs the packet and the identifier to the packet distribution unit  233 . 
         [0105]    The packet distribution unit  233  is a processing unit that compares an identifier corresponding to a packet with the load configuration file  220   a , and determines a core which is a distribution destination of the packet. The packet distribution unit  233  outputs the packet to the determined core. The packet distribution unit  233  is an example distribution unit. 
         [0106]      FIG. 9  is a diagram for illustrating the processing of a packet distribution unit according to the first embodiment. In the example illustrated in  FIG. 9 , the quality monitoring apparatus  200   a  receives packets  81 A,  81 B,  81 C from the physical tag assignment apparatus  100   a . The identifier set to the physical tag of the packet  81 A is assumed to be “ 1001 ”. The identifier set to the physical tag of the packet  81 B is assumed to be “ 1002 ”. The identifier set to the physical tag of the packet  81 C is assumed to be “ 1003 ”. The data structure of the packets  81 A to  81 C is the same as the data structure described with reference to  FIG. 6 , and thus a description is omitted. 
         [0107]    The packet distribution unit  233  compares the load configuration file  220   a  illustrated in  FIG. 8  with the identifier of a packet, and determines a distribution destination of the packet. Specifically, the packet distribution unit  233  outputs the packet  81 A to the core  230   a . The packet distribution unit  233  outputs the packet  81 B to the core  230   b . The packet distribution unit  233  outputs the packet  81 C to the core  230   c.    
         [0108]    Returning to description of  FIG. 7 , the protocol analysis units  234   a  to  234   c  are processing units that refer to the information in the header/payload of the packet distributed by the packet distribution unit  233 , and extract information which is used for determining session management and statistical information. The protocol analysis units  234   a  to  234   c  output the information extracted from a packet to the session management units  235   a  to  235   c.    
         [0109]    The session management units  235   a  to  235   c  are processing units that perform resource management for state management of each session and holding statistical information, based on the information extracted from a packet by the protocol analysis units  234   a  to  234   c . The session management units  235   a  to  235   c  output the information obtained from the protocol analysis units  234   a  to  234   c  to the quality evaluation units  236   a  to  236   c.    
         [0110]    The quality evaluation units  236   a  to  236   c  are processing units that calculate statistical information per session managed by the session management units  235   a  to  235   c , based on the information extracted from a packet by the protocol analysis units  234   a  to  234   c . The quality evaluation units  236   a  to  236   c  output the statistical information to a statistical unit  237 . 
         [0111]    The statistical unit  237  is a processing unit that obtains statistical information from the quality evaluation units  236   a  to  236   c . The statistical unit  237  summarizes the statistical information in a certain cycle, and outputs the summarized statistical information to a higher level notification unit  238 . 
         [0112]    The higher level notification unit  238  is a processing unit that transmits statistical information to the manager apparatus  300 . 
         [0113]    Next, the processing steps performed by the physical tag assignment apparatus  100   a  will be described. The processing steps performed by the physical tag assignment apparatus  100   b  are the same as the processing steps performed by the physical tag assignment apparatus  100   a , and thus a description is omitted.  FIG. 10  is a flowchart illustrating the processing steps performed by the physical tag assignment apparatus according to the first embodiment. As illustrated in  FIG. 10 , the data receiving unit  120   a  of the physical tag assignment apparatus  100   a  receives a packet from the NIC card  110  (S 101 ). 
         [0114]    The data receiving unit  120   a  of the physical tag assignment apparatus  100   a  identifies and determines an identifier based on the identification information of the NIC interface which has received a packet, and the assignment information of the assignment information storage  120   b  (S 102 ). The data receiving unit  120   a  of the physical tag assignment apparatus  100   a  assigns the physical tag included in the determined identifier to the packet (S 103 ). 
         [0115]    The data transmission unit  120   d  of the physical tag assignment apparatus  100   a  assigns L2/L3 header to the packet (S 104 ). The data transmission unit  120   d  of the physical tag assignment apparatus  100   a  transmits the packet to the quality monitoring apparatus  200   a  (S 105 ). 
         [0116]    Next, the processing steps performed by the quality monitoring apparatus  200   a  will be described. The processing steps performed by the quality monitoring apparatus  200   b  are the same as the processing steps performed by the quality monitoring apparatus  200   a .  FIG. 11  is a flowchart illustrating the processing steps performed by the quality monitoring apparatus according to the first embodiment. The NIC card  210  of the quality monitoring apparatus  200   a  receives a packet from the physical tag assignment apparatus  100  (S 201 ). 
         [0117]    The physical tag analysis unit  232  of the quality monitoring apparatus  200   a  extracts an identifier stored in the physical tag of the packet (S 202 ). The physical tag analysis unit  232  removes the physical tag and the L2/L3 header assigned to the packet (S 203 ). 
         [0118]    The packet distribution unit  233  of the quality monitoring apparatus  200   a  determines a core which is a distribution destination based on the identifier and the load configuration file  220   a  (S 204 ). The packet distribution unit  233  outputs the packet to the core as the distribution destination (S 205 ). In the following description of S 206  to S 208 , the case will be described where the packet distribution unit  233  outputs a packet to the core  230   a . The processing performed when the cores  230   b ,  230   c  obtain a packet is the same as the processing performed when the cores  230   a  obtains a packet. 
         [0119]    The protocol analysis unit  234   a  of the core  230   a  refers to the information in the header/payload of the packet. The protocol analysis unit  234   a  then extracts information which is used for determining session management and statistical information (S 206 ). The session management unit  235   a  of the core  230   a  classifies the information extracted by the protocol analysis unit  234   a  into sessions (S 207 ). 
         [0120]    The quality evaluation unit  236   a  of the core  230   a  generates statistical information for each session (S 208 ). The statistical unit  237  of the quality monitoring apparatus  200   a  generates information in which the pieces of statistical information are summarized in a certain cycle time (S 209 ). The higher level notification unit  238  of the quality monitoring apparatus  200   a  transmits the summarized statistical information to the manager apparatus  300  (S 210 ). 
         [0121]    Next, the effect of the system according to the first embodiment will be described. The physical tag assignment apparatus  100  according to the first embodiment assigns a physical tag to a packet based on the NIC interface of the NIC card which has received a packet. The physical tag assignment apparatus  100  then transmits the packet with an assigned physical tag to the quality monitoring apparatus  200 . The quality monitoring apparatus  200  determines a core which executes the processing of the packet, based on the physical tag assigned to the packet. The quality monitoring apparatus  200  outputs a packet to the determined core and causes the core to execute processing. Thus, it is possible to simply and efficiently perform load distribution of predetermined processing for each packet. 
         [0122]    For instance, C-Plane packets and U-Plane packets transmitted and received between the same terminal devices  1  during the time between session establishment and session termination have a feature to pass through the links of the same set of monitoring nodes. This corresponds to a situation that, for instance, the C-Plane packets and U-Plane packets transmitted and received between the terminal device  1   a  and the terminal device  1   c  in  FIG. 1 , are transmitted and received between the monitoring node  60   a  and the monitoring node  60   b  in  FIG. 2 . 
         [0123]    A packet between the monitoring nodes is inputted by the TAP  70  to a predetermined NIC interface of the NIC card of the physical tag assignment apparatus  100 . This corresponds to a situation that, for instance, the packets transmitted and received between the monitoring node  60   a  and the monitoring node  60   b  in  FIG. 2 , are received by the TAP  70   a  via, for instance, the interface (physical port) of the interface identification information eth 2  illustrated in  FIG. 4  of the NIC card of the physical tag assignment apparatus  100 . 
         [0124]    Thus, as described above, assignment to a packet of a physical tag according to the identification information of the NIC interface allows the same physical tag to be assigned to the C-Plane packets and U-Plane packets which are transmitted and received between the same terminal devices  1  during the time between session establishment and session termination. 
         [0125]    As described above, the quality monitoring apparatus  200  assigns a packet to a core based on the physical tag, thereby making it possible to assign related C-Plane packets and U-Plane packets to the same core. Since related C-Plane packets and U-Plane packets are processable by the core itself, it is possible to calculate statistical information without any cooperation with other cores. In other words, for instance, when a shared memory is used to cooperate with other cores, waiting for a process associated with exclusive control is avoidable. 
         [0126]    Since the quality monitoring apparatus  200  determines a distribution destination of a packet by referring to a physical tag, related packets may be assigned to the same core without associating a C-Plane packet with a U-Plane packet by conducting analysis to the L7 layer. 
       Second Embodiment 
       [0127]    Next, the configuration of a system according to a second embodiment will be described.  FIG. 12  is a diagram illustrating the configuration of a system according to the second embodiment. As illustrated in  FIG. 12 , the system includes the terminal devices  1   a  to  1   d , the base stations  2   a  and  2   b , the physical tag assignment apparatuses  100   a ,  100   b , the manager apparatus  300 , and quality monitoring apparatuses  400   a ,  400   b . The quality monitoring apparatuses  400   a ,  400   b  each represent a packet processing unit. 
         [0128]    Among these, description of the terminal devices  1   a  to  1   d , the base stations  2   a  and  2   b , the physical tag assignment apparatuses  100   a ,  100   b , and the manager apparatus  300  is the same as the description in the first embodiment. Thus, the same symbol is labeled and a description is omitted. 
         [0129]    The quality monitoring apparatuses  400   a ,  400   b  are apparatuses that generate statistical information based on packets obtained from the respective physical tag assignment apparatuses  100   a ,  100   b . The quality monitoring apparatuses  400   a ,  400   b  have multiple cores, and distribute packets to the cores and cause the cores to execute processing. The quality monitoring apparatuses  400   a ,  400   b  transmit the generated statistical information to the manager apparatus  300 . In the following description, the quality monitoring apparatuses  400   a ,  400   b  are collectively denoted by the quality monitoring apparatus  400  as needed. 
         [0130]    The quality monitoring apparatus  400  refers to a load configuration file that associates the identification information of a core that processes a packet with the identifier of a physical tag. The quality monitoring apparatus  400  then determines a core which is a distribution destination of a packet based on the load configuration file and the physical tag of the packet. The relationship between a core and an identifier of a load configuration file according to the second embodiment is set so that substantially the same amount of packets are distributed to each core based on busy hour call attempts (BHCA) between monitoring nodes. 
         [0131]    Next, an example configuration of the quality monitoring apparatus  400   a  illustrated in  FIG. 13  will be described. The configuration of the quality monitoring apparatus  400   b  is the same as the configuration of the quality monitoring apparatus  400   a , and thus a description is omitted.  FIG. 13  is a functional block diagram illustrating the configuration of a quality monitoring apparatus according to the second embodiment. As illustrated in  FIG. 13 , the quality monitoring apparatus  200   a  includes a NIC card  410 , a NIC driver  410   a , a storage  420 , a changing unit  425 , a data receiving unit  431 , a physical tag analysis unit  432 , a packet distribution unit  433 , protocol analysis units  434   a  to  434   c , session management units  435   a  to  435   c , and quality evaluation units  436   a  to  436   c.    
         [0132]    For instance, the protocol analysis unit  434   a , the session management unit  435   a , and the quality evaluation unit  436   a  are processed by the core  430   a . The protocol analysis unit  434   b , the session management unit  435   b , and the quality evaluation unit  436   b  are processed by the core  430   b . The protocol analysis unit  434   c , the session management unit  435   c , and the quality evaluation unit  436   c  are processed by the core  430   c . The cores  430   a  to  430   c  each represent an integrated apparatus such as an ASIC or an FPGA. The cores  430   a  to  430   c  each represent, for instance, an electronic circuit such as a CPU or an MPU. 
         [0133]    Description of the NIC card  410 , the NIC driver  410   a , the data receiving unit  431 , and the physical tag analysis unit  432  is the same as the description of the NIC card  210 , the NIC driver  210   a , the data receiving unit  231 , and the physical tag analysis unit  232  given with reference to  FIG. 7 . Description of the protocol analysis units  434   a  to  434   c , the session management units  435   a  to  435   c , and the quality evaluation units  436   a  to  436   c  is the same as the description of the protocol analysis units  234   a  to  234   c , the session management units  235   a  to  235   c , and the quality evaluation units  236   a  to  236   c  given with reference to  FIG. 7 . Description of the statistical unit  437  and the higher level notification unit  438  is the same as the description of the statistical unit  237  and the higher level notification unit  238  given with reference to  FIG. 7 . 
         [0134]    The storage unit  420  has a load configuration file  420   a . The storage  420  represents a semiconductor memory element such as a RAM, a ROM, a flash memory or a storage apparatus such as a HDD. 
         [0135]    The load configuration file  420   a  is information that defines a core which is a distribution destination of a packet.  FIG. 14  is a table illustrating an example data structure of a load configuration file according to the second embodiment. As illustrated in  FIG. 14 , the load configuration file  420   a  associates identifier, BHCA, with core identification information. 
         [0136]    The identifier is included in the physical tag of a packet. The BHCA indicates the total number of calls for a line between the monitoring nodes coupled to a NIC interface corresponding to an identifier via the TAP  70 . The core identification information is information that uniquely identifies the cores  430   a  to  430   c.    
         [0137]    The load configuration file  420   a  is set so that the total values of BHCA corresponding to the pieces of core identification information are uniform. For instance, in  FIG. 14 , the BHCA corresponding to the core identification information  430   a  is BHCA “ 100 ×10 4 ”, “200×10 4 ” on the first and second rows. Thus, the total value of BHCA is “300×10 4 ”. The BHCA corresponding to the core identification information  430   b  is “300×10 4 ” on the third row, which is the total value of BHCA is “300×10 4 ”. The BHCA corresponding to the core identification information  430   c  is BHCA “50×10 4 ”, “250×10 4 ” on the fourth and fifth rows. Thus, the total value of BHCA is “300×10 4 ”. 
         [0138]    For instance, the BHCA of the identifier “ 1001 ” is the BHCA between the monitoring apparatuses  60   a ,  60   b  illustrated in  FIG. 2 . The BHCA of the identifier “ 1002 ” is the BHCA between the monitoring apparatuses  60   c ,  60   d  illustrated in  FIG. 2 . The BHCA of the identifier “ 1003 ” is the BHCA between the monitoring apparatuses  60   e ,  60   f  illustrated in  FIG. 2 . The BHCA of the identifier “ 1004 ” is the BHCA between the monitoring apparatuses  60   g ,  60   h  which are not illustrated. The BHCA of the identifier “ 1005 ” is the BHCA between the monitoring apparatuses  60   i ,  60   j  which are not illustrated. 
         [0139]    The changing unit  425  is a processing unit that changes the correspondence relationship between identifier and core identification information of the load configuration file  420   a  based on the BHCA corresponding to the identifier. The changing unit  425  changes the correspondence relationship between identifier and core identification information so that the total values of BHCA corresponding to the pieces of core identification information are uniform. 
         [0140]    For instance, the changing unit  425  selects an identifier corresponding to each of the 1st to nth greatest BHCAs. The changing unit  425  then associates the selected identifier with each core identification information, where n is a natural number indicating the number of types of core. When the number of cores is three, n is 3. After the above-mentioned correspondence is established, the changing unit  425  determines a correspondence for which the total value of BHCA corresponding to each core has a minimum. The changing unit  425  establishes a correspondence between the remaining identifiers and core identification information based on a result of the determination. 
         [0141]    The changing unit  425  may perform the above-described processing in a certain cycle or may perform the processing when directions are given by an administrator or the like. 
         [0142]    The changing unit  425  may obtain the information on BHCA from an external apparatus that monitors the BHCA between the monitoring nodes, and may update the value of BHCA of a corresponding identifier of the load configuration file  420   a  based on the obtained information. 
         [0143]    The packet distribution unit  433  is a processing unit that compares the load configuration file  420   a  illustrated in  FIG. 14  with an identifier assigned to a packet, and determines a core which is a distribution destination of the packet. The packet distribution unit  433  outputs the packet to the determined core. The packet distribution unit  433  represents a distribution unit. 
         [0144]    Next, the processing steps performed by the quality monitoring apparatus  400   a  will be described. The processing steps performed by the quality monitoring apparatus  400   b  are the same as the processing steps performed by the quality monitoring apparatus  400   a .  FIG. 15  is a flowchart illustrating the processing steps performed by the quality monitoring apparatus according to the second embodiment. The NIC card  410  of the quality monitoring apparatus  400   a  receives a packet from the physical tag assignment apparatus  100   a  (S 301 ). 
         [0145]    The physical tag analysis unit  432  of the quality monitoring apparatus  400   a  extracts an identifier stored in the physical tag of the packet (S 302 ). The physical tag analysis unit  432  removes the physical tag and the L2/L3 header assigned to the packet (S 303 ). 
         [0146]    The packet distribution unit  433  of the quality monitoring apparatus  400   a  determines a core which is a distribution destination based on the load configuration file  420   a  and the identifier (S 304 ). The packet distribution unit  433  outputs the packet to the core as the distribution destination (S 305 ). In the following description of S 306  to S 308 , the case will be described where the packet distribution unit  433  outputs a packet to the core  430   a . The processing performed when the cores  430   b ,  430   c  obtain a packet is the same as the processing performed when the cores  430   a  obtains a packet. 
         [0147]    The protocol analysis unit  434   a  of the core  430   a  refers to the information in the header/payload of the packet. The protocol analysis unit  434   a  then extracts information which is used for determining session management and statistical information (S 306 ). The session management unit  435   a  of the core  430   a  classifies the information extracted by the protocol analysis unit  434   a  into sessions (S 307 ). 
         [0148]    The quality evaluation unit  436   a  of the core  430   a  generates statistical information for each session (S 308 ). The statistical unit  437  of the quality monitoring apparatus  400   a  generates information in which the pieces of statistical information are summarized in a certain cycle time (S 309 ). The higher level notification unit  438  of the quality monitoring apparatus  400   a  transmits the summarized statistical information to the manager apparatus  300  (S 310 ). 
         [0149]    Next, the effect of the system according to the second embodiment will be described. In addition to the effect achieved by the first embodiment, the system according to the second embodiment achieves the following effect. That is, the quality monitoring apparatus  400  according to the second embodiment 2 determines a core which executes the processing of a packet based on the physical tag assigned to a packet the load configuration file  420   a  which is set so that the total values of BHCA corresponding to the pieces of core identification information are uniform. Therefore, it is possible to avoid concentration of packets on part of the cores. 
         [0150]    The changing unit  425  of the quality monitoring apparatus  400  updates the BHCA of the load configuration file  420   a , and changes the relationship between identifier and core identification information based on the updated result so that the total values of BHCA corresponding to the pieces of core identification information are uniform. Consequently, even when the BHCA between the monitoring nodes changes, the correspondence relationship between identifier and core identification information is dynamically changeable, thereby making it possible to avoid concentration of packets on part of the cores. 
         [0151]    Next, an example hardware configuration of a computer that achieves the same function as that of the physical tag assignment apparatuses  100   a ,  100   b  illustrated in the first and second embodiments will be described.  FIG. 16  is a diagram illustrating an example hardware configuration of a computer representing the physical tag assignment apparatus. 
         [0152]    As illustrated in  FIG. 16 , a computer  500  includes a CPU  501  that executes various arithmetic processing, an input apparatus  502  that receives input of data from a user, and a display  503 . The computer  500  includes a reading apparatus  504  that reads a program or the like from a storage medium, and a communication apparatus  505  that transmits and receives data to and from other computers via a network. For instance, the communication apparatus  505  represents the NIC card  110 , and is coupled to the TAP  70 . The computer  500  includes a RAM  506  that temporarily stores a variety of information and a hard disk drive  507 . The apparatuses  501  to  507  are coupled to a bus  508 . 
         [0153]    For instance, the CPU  501  performs processing corresponding to the processing of the data receiving unit  120   a , the physical tag assignment unit  120   c , and the data transmission unit  120   d  illustrated in  FIG. 3 . The assignment information storage  120   b  corresponds to the RAM  506  or the hard disk drive  507 , for instance. The CPU  501  reads assignment information from the RAM  506  or the hard disk drive  507 , and determines the identifier of a physical tag assigned to a packet. The hard disk drive  507  stores programs that cause the CPU  501  to execute processing corresponding to the processing of the data receiving unit  120   a , the physical tag assignment unit  120   c , and the data transmission unit  120   d.    
         [0154]    Next, an example hardware configuration of a computer that achieves the same function as that of the quality monitoring apparatuses  200   a ,  200   b ,  400   a ,  400   b  illustrated in the first and second embodiments will be described.  FIG. 17  is a diagram illustrating an example hardware configuration of a computer representing the quality monitoring apparatus. 
         [0155]    As illustrated in  FIG. 17 , a computer  600  includes a CPU  601  that executes various arithmetic processing, an input apparatus  602  that receives input of data from a user, and a display  603 . The computer  600  includes a reading apparatus  604  that reads a program or the like from a storage medium, and a communication apparatus  605  that transmits and receives data to and from other computers via a network. For instance, the communication apparatus  605  represents the NIC cards  210   410 . The computer  600  includes a RAM  606  that temporarily stores a variety of information and a hard disk drive  607 . The computer  600  has cores  608   a ,  608   b ,  608   c . Each core represents a CPU or the like. Although the cores  608   a  to  608   c  are illustrated here, the computer  600  may have other cores. The apparatuses  601  to  607  and the cores  608   a  to  608   c  are coupled to a bus  609 . 
         [0156]    For instance, the CPU  601  performs processing corresponding to the processing of the data receiving unit  231 , the physical tag analysis unit  232 , the packet distribution unit  233 , the statistical unit  237 , the higher level notification unit  238 , and the changing unit  425  illustrated in  FIG. 7 . The core  608   a  performs processing corresponding to the processing of the protocol analysis unit  234   a , the session management unit  235   a , and the quality evaluation unit  236   a  illustrated in  FIG. 7 . The core  608   b  performs processing corresponding to the processing of the protocol analysis unit  234   b , the session management unit  235   b , and the quality evaluation unit  236   b  illustrated in  FIG. 7 . The core  608   c  performs processing corresponding to the processing of the protocol analysis unit  234   c , the session management unit  235   c , and the quality evaluation unit  236   c  illustrated in  FIG. 7 . 
         [0157]    For instance, the RAM  606  or the hard disk drive  607  corresponds to the storage  220 , and stores the load configuration file  220   a . The CPU  601  reads the load configuration file  220   a  and compares it with the physical tag of a packet. The CPU  601  then determines a core which is a distribution destination of the packet. The CPU  601  controls the communication apparatus  605  to transmit the statistical information calculated by the cores  608   a  to  608   c  to the manager apparatus  300 . 
         [0158]    The hard disk drive  607  stores programs that cause the CPU  601  to execute processing corresponding to the processing of the data receiving unit  231 , the physical tag analysis unit  232 , the packet distribution unit  233 , the statistical unit  237 , the higher level notification unit  238 , and the changing unit  425 . The hard disk drive  607  stores programs that cause the cores  608   a  to  608   c  to execute processing corresponding to the processing of the protocol analysis units  234   a  to  234   c , the session management units  235   a  to  235   c , and the quality evaluation units  236   a  to  236   c.    
         [0159]    All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.